PageSourceSearch

https://brita.in/sites/default/files/advagg_js/js___t-oTksswrublqs…5qBcYrHiwr7xnctwMkxRtg-fe1Sv22DGy_6iyrrk.js

js brita.in collected 2026-10-06 13:05:27 UTC 193,876 bytes, 4,338 lines download raw bytes

vendor: 28,675 bytes, lines 1-715
1function toggleMobileNav() {
2    $(".js_toggle-mobile-nav").on("click", function() {
3        $(".js_main-nav").toggleClass("state_open")
4    })
5}! function(e, t) {
6    "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function(e) {
7        if (!e.document) throw new Error("jQuery requires a window with a document");
8        return t(e)
9    } : t(e)
10}("undefined" != typeof window ? window : this, function(e, t) {
11    function n(e) {
12        var t = !!e && "length" in e && e.length,
13            n = oe.type(e);
14        return "function" !== n && !oe.isWindow(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e)
15    }
16
17    function r(e, t, n) {
18        if (oe.isFunction(t)) return oe.grep(e, function(e, r) {
19            return !!t.call(e, r, e) !== n
20        });
21        if (t.nodeType) return oe.grep(e, function(e) {
22            return e === t !== n
23        });
24        if ("string" == typeof t) {
25            if (ge.test(t)) return oe.filter(t, e, n);
26            t = oe.filter(t, e)
27        }
28        return oe.grep(e, function(e) {
29            return Z.call(t, e) > -1 !== n
30        })
31    }
32
33    function i(e, t) {
34        for (;
35            (e = e[t]) && 1 !== e.nodeType;);
36        return e
37    }
38
39    function o(e) {
40        var t = {};
41        return oe.each(e.match(we) || [], function(e, n) {
42            t[n] = !0
43        }), t
44    }
45
46    function s() {
47        V.removeEventListener("DOMContentLoaded", s), e.removeEventListener("load", s), oe.ready()
48    }
49
50    function a() {
51        this.expando = oe.expando + a.uid++
52    }
53
54    function u(e, t, n) {
55        var r;
56        if (void 0 === n && 1 === e.nodeType)
57            if (r = "data-" + t.replace(Ne, "-$&").toLowerCase(), n = e.getAttribute(r), "string" == typeof n) {
58                try {
59                    n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : ke.test(n) ? oe.parseJSON(n) : n)
60                } catch (i) {}
61                Ee.set(e, t, n)
62            } else n = void 0;
63        return n
64    }
65
66    function c(e, t, n, r) {
67        var i, o = 1,
68            s = 20,
69            a = r ? function() {
70                return r.cur()
71            } : function() {
72                return oe.css(e, t, "")
73            },
74            u = a(),
75            c = n && n[3] || (oe.cssNumber[t] ? "" : "px"),
76            l = (oe.cssNumber[t] || "px" !== c && +u) && De.exec(oe.css(e, t));
77        if (l && l[3] !== c) {
78            c = c || l[3], n = n || [], l = +u || 1;
79            do o = o || ".5", l /= o, oe.style(e, t, l + c); while (o !== (o = a() / u) && 1 !== o && --s)
80        }
81        return n && (l = +l || +u || 0, i = n[1] ? l + (n[1] + 1) * n[2] : +n[2], r && (r.unit = c, r.start = l, r.end = i)), i
82    }
83
84    function l(e, t) {
85        var n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : [];
86        return void 0 === t || t && oe.nodeName(e, t) ? oe.merge([e], n) : n
87    }
88
89    function f(e, t) {
90        for (var n = 0, r = e.length; n < r; n++) Se.set(e[n], "globalEval", !t || Se.get(t[n], "globalEval"))
91    }
92
93    function d(e, t, n, r, i) {
94        for (var o, s, a, u, c, d, p = t.createDocumentFragment(), h = [], g = 0, m = e.length; g < m; g++)
95            if (o = e[g], o || 0 === o)
96                if ("object" === oe.type(o)) oe.merge(h, o.nodeType ? [o] : o);
97                else if (He.test(o)) {
98            for (s = s || p.appendChild(t.createElement("div")), a = (qe.exec(o) || ["", ""])[1].toLowerCase(), u = Oe[a] || Oe._default, s.innerHTML = u[1] + oe.htmlPrefilter(o) + u[2], d = u[0]; d--;) s = s.lastChild;
99            oe.merge(h, s.childNodes), s = p.firstChild, s.textContent = ""
100        } else h.push(t.createTextNode(o));
101        for (p.textContent = "", g = 0; o = h[g++];)
102            if (r && oe.inArray(o, r) > -1) i && i.push(o);
103            else if (c = oe.contains(o.ownerDocument, o), s = l(p.appendChild(o), "script"), c && f(s), n)
104            for (d = 0; o = s[d++];) Me.test(o.type || "") && n.push(o);
105        return p
106    }
107
108    function p() {
109        return !0
110    }
111
112    function h() {
113        return !1
114    }
115
116    function g() {
117        try {
118            return V.activeElement
119        } catch (e) {}
120    }
121
122    function m(e, t, n, r, i, o) {
123        var s, a;
124        if ("object" == typeof t) {
125            "string" != typeof n && (r = r || n, n = void 0);
126            for (a in t) m(e, a, n, r, t[a], o);
127            return e
128        }
129        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)), i === !1) i = h;
130        else if (!i) return e;
131        return 1 === o && (s = i, i = function(e) {
132            return oe().off(e), s.apply(this, arguments)
133        }, i.guid = s.guid || (s.guid = oe.guid++)), e.each(function() {
134            oe.event.add(this, t, i, r, n)
135        })
136    }
137
138    function v(e, t) {
139        return oe.nodeName(e, "table") && oe.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e
140    }
141
142    function y(e) {
143        return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e
144    }
145
146    function x(e) {
147        var t = We.exec(e.type);
148        return t ? e.type = t[1] : e.removeAttribute("type"), e
149    }
150
151    function b(e, t) {
152        var n, r, i, o, s, a, u, c;
153        if (1 === t.nodeType) {
154            if (Se.hasData(e) && (o = Se.access(e), s = Se.set(t, o), c = o.events)) {
155                delete s.handle, s.events = {};
156                for (i in c)
157                    for (n = 0, r = c[i].length; n < r; n++) oe.event.add(t, i, c[i][n])
158            }
159            Ee.hasData(e) && (a = Ee.access(e), u = oe.extend({}, a), Ee.set(t, u))
160        }
161    }
162
163    function w(e, t) {
164        var n = t.nodeName.toLowerCase();
165        "input" === n && Re.test(e.type) ? t.checked = e.checked : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue)
166    }
167
168    function T(e, t, n, r) {
169        t = J.apply([], t);
170        var i, o, s, a, u, c, f = 0,
171            p = e.length,
172            h = p - 1,
173            g = t[0],
174            m = oe.isFunction(g);
175        if (m || p > 1 && "string" == typeof g && !re.checkClone && Be.test(g)) return e.each(function(i) {
176            var o = e.eq(i);
177            m && (t[0] = g.call(this, i, o.html())), T(o, t, n, r)
178        });
179        if (p && (i = d(t, e[0].ownerDocument, !1, e, r), o = i.firstChild, 1 === i.childNodes.length && (i = o), o || r)) {
180            for (s = oe.map(l(i, "script"), y), a = s.length; f < p; f++) u = i, f !== h && (u = oe.clone(u, !0, !0), a && oe.merge(s, l(u, "script"))), n.call(e[f], u, f);
181            if (a)
182                for (c = s[s.length - 1].ownerDocument, oe.map(s, x), f = 0; f < a; f++) u = s[f], Me.test(u.type || "") && !Se.access(u, "globalEval") && oe.contains(c, u) && (u.src ? oe._evalUrl && oe._evalUrl(u.src) : oe.globalEval(u.textContent.replace(Ue, "")))
183        }
184        return e
185    }
186
187    function C(e, t, n) {
188        for (var r, i = t ? oe.filter(t, e) : e, o = 0; null != (r = i[o]); o++) n || 1 !== r.nodeType || oe.cleanData(l(r)), r.parentNode && (n && oe.contains(r.ownerDocument, r) && f(l(r, "script")), r.parentNode.removeChild(r));
189        return e
190    }
191
192    function A(e, t) {
193        var n = oe(t.createElement(e)).appendTo(t.body),
194            r = oe.css(n[0], "display");
195        return n.detach(), r
196    }
197
198    function S(e) {
199        var t = V,
200            n = Ge[e];
201        return n || (n = A(e, t), "none" !== n && n || (Xe = (Xe || oe("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement), t = Xe[0].contentDocument, t.write(), t.close(), n = A(e, t), Xe.detach()), Ge[e] = n), n
202    }
203
204    function E(e, t, n) {
205        var r, i, o, s, a = e.style;
206        return n = n || Ye(e), s = n ? n.getPropertyValue(t) || n[t] : void 0, "" !== s && void 0 !== s || oe.contains(e.ownerDocument, e) || (s = oe.style(e, t)), n && !re.pixelMarginRight() && Ve.test(s) && Qe.test(t) && (r = a.width, i = a.minWidth, o = a.maxWidth, a.minWidth = a.maxWidth = a.width = s, s = n.width, a.width = r, a.minWidth = i, a.maxWidth = o), void 0 !== s ? s + "" : s
207    }
208
209    function k(e, t) {
210        return {
211            get: function() {
212                return e() ? void delete this.get : (this.get = t).apply(this, arguments)
213            }
214        }
215    }
216
217    function N(e) {
218        if (e in rt) return e;
219        for (var t = e[0].toUpperCase() + e.slice(1), n = nt.length; n--;)
220            if (e = nt[n] + t, e in rt) return e
221    }
222
223    function j(e, t, n) {
224        var r = De.exec(t);
225        return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t
226    }
227
228    function D(e, t, n, r, i) {
229        for (var o = n === (r ? "border" : "content") ? 4 : "width" === t ? 1 : 0, s = 0; o < 4; o += 2) "margin" === n && (s += oe.css(e, n + Le[o], !0, i)), r ? ("content" === n && (s -= oe.css(e, "padding" + Le[o], !0, i)), "margin" !== n && (s -= oe.css(e, "border" + Le[o] + "Width", !0, i))) : (s += oe.css(e, "padding" + Le[o], !0, i), "padding" !== n && (s += oe.css(e, "border" + Le[o] + "Width", !0, i)));
230        return s
231    }
232
233    function L(e, t, n) {
234        var r = !0,
235            i = "width" === t ? e.offsetWidth : e.offsetHeight,
236            o = Ye(e),
237            s = "border-box" === oe.css(e, "boxSizing", !1, o);
238        if (i <= 0 || null == i) {
239            if (i = E(e, t, o), (i < 0 || null == i) && (i = e.style[t]), Ve.test(i)) return i;
240            r = s && (re.boxSizingReliable() || i === e.style[t]), i = parseFloat(i) || 0
241        }
242        return i + D(e, t, n || (s ? "border" : "content"), r, o) + "px"
243    }
244
245    function $(e, t) {
246        for (var n, r, i, o = [], s = 0, a = e.length; s < a; s++) r = e[s], r.style && (o[s] = Se.get(r, "olddisplay"), n = r.style.display, t ? (o[s] || "none" !== n || (r.style.display = ""), "" === r.style.display && $e(r) && (o[s] = Se.access(r, "olddisplay", S(r.nodeName)))) : (i = $e(r), "none" === n && i || Se.set(r, "olddisplay", i ? n : oe.css(r, "display"))));
247        for (s = 0; s < a; s++) r = e[s], r.style && (t && "none" !== r.style.display && "" !== r.style.display || (r.style.display = t ? o[s] || "" : "none"));
248        return e
249    }
250
251    function R(e, t, n, r, i) {
252        return new R.prototype.init(e, t, n, r, i)
253    }
254
255    function q() {
256        return e.setTimeout(function() {
257            it = void 0
258        }), it = oe.now()
259    }
260
261    function M(e, t) {
262        var n, r = 0,
263            i = {
264                height: e
265            };
266        for (t = t ? 1 : 0; r < 4; r += 2 - t) n = Le[r], i["margin" + n] = i["padding" + n] = e;
267        return t && (i.opacity = i.width = e), i
268    }
269
270    function O(e, t, n) {
271        for (var r, i = (I.tweeners[t] || []).concat(I.tweeners["*"]), o = 0, s = i.length; o < s; o++)
272            if (r = i[o].call(n, t, e)) return r
273    }
274
275    function H(e, t, n) {
276        var r, i, o, s, a, u, c, l, f = this,
277            d = {},
278            p = e.style,
279            h = e.nodeType && $e(e),
280            g = Se.get(e, "fxshow");
281        n.queue || (a = oe._queueHooks(e, "fx"), null == a.unqueued && (a.unqueued = 0, u = a.empty.fire, a.empty.fire = function() {
282            a.unqueued || u()
283        }), a.unqueued++, f.always(function() {
284            f.always(function() {
285                a.unqueued--, oe.queue(e, "fx").length || a.empty.fire()
286            })
287        })), 1 === e.nodeType && ("height" in t || "width" in t) && (n.overflow = [p.overflow, p.overflowX, p.overflowY], c = oe.css(e, "display"), l = "none" === c ? Se.get(e, "olddisplay") || S(e.nodeName) : c, "inline" === l && "none" === oe.css(e, "float") && (p.display = "inline-block")), n.overflow && (p.overflow = "hidden", f.always(function() {
288            p.overflow = n.overflow[0], p.overflowX = n.overflow[1], p.overflowY = n.overflow[2]
289        }));
290        for (r in t)
291            if (i = t[r], st.exec(i)) {
292                if (delete t[r], o = o || "toggle" === i, i === (h ? "hide" : "show")) {
293                    if ("show" !== i || !g || void 0 === g[r]) continue;
294                    h = !0
295                }
296                d[r] = g && g[r] || oe.style(e, r)
297            } else c = void 0;
298        if (oe.isEmptyObject(d)) "inline" === ("none" === c ? S(e.nodeName) : c) && (p.display = c);
299        else {
300            g ? "hidden" in g && (h = g.hidden) : g = Se.access(e, "fxshow", {}), o && (g.hidden = !h), h ? oe(e).show() : f.done(function() {
301                oe(e).hide()
302            }), f.done(function() {
303                var t;
304                Se.remove(e, "fxshow");
305                for (t in d) oe.style(e, t, d[t])
306            });
307            for (r in d) s = O(h ? g[r] : 0, r, f), r in g || (g[r] = s.start, h && (s.end = s.start, s.start = "width" === r || "height" === r ? 1 : 0))
308        }
309    }
310
311    function P(e, t) {
312        var n, r, i, o, s;
313        for (n in e)
314            if (r = oe.camelCase(n), i = t[r], o = e[n], oe.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), s = oe.cssHooks[r], s && "expand" in s) {
315                o = s.expand(o), delete e[r];
316                for (n in o) n in e || (e[n] = o[n], t[n] = i)
317            } else t[r] = i
318    }
319
320    function I(e, t, n) {
321        var r, i, o = 0,
322            s = I.prefilters.length,
323            a = oe.Deferred().always(function() {
324                delete u.elem
325            }),
326            u = function() {
327                if (i) return !1;
328                for (var t = it || q(), n = Math.max(0, c.startTime + c.duration - t), r = n / c.duration || 0, o = 1 - r, s = 0, u = c.tweens.length; s < u; s++) c.tweens[s].run(o);
329                return a.notifyWith(e, [c, o, n]), o < 1 && u ? n : (a.resolveWith(e, [c]), !1)
330            },
331            c = a.promise({
332                elem: e,
333                props: oe.extend({}, t),
334                opts: oe.extend(!0, {
335                    specialEasing: {},
336                    easing: oe.easing._default
337                }, n),
338                originalProperties: t,
339                originalOptions: n,
340                startTime: it || q(),
341                duration: n.duration,
342                tweens: [],
343                createTween: function(t, n) {
344                    var r = oe.Tween(e, c.opts, t, n, c.opts.specialEasing[t] || c.opts.easing);
345                    return c.tweens.push(r), r
346                },
347                stop: function(t) {
348                    var n = 0,
349                        r = t ? c.tweens.length : 0;
350                    if (i) return this;
351                    for (i = !0; n < r; n++) c.tweens[n].run(1);
352                    return t ? (a.notifyWith(e, [c, 1, 0]), a.resolveWith(e, [c, t])) : a.rejectWith(e, [c, t]), this
353                }
354            }),
355            l = c.props;
356        for (P(l, c.opts.specialEasing); o < s; o++)
357            if (r = I.prefilters[o].call(c, e, l, c.opts)) return oe.isFunction(r.stop) && (oe._queueHooks(c.elem, c.opts.queue).stop = oe.proxy(r.stop, r)), r;
358        return oe.map(l, O, c), oe.isFunction(c.opts.start) && c.opts.start.call(e, c), oe.fx.timer(oe.extend(u, {
359            elem: e,
360            anim: c,
361            queue: c.opts.queue
362        })), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always)
363    }
364
365    function F(e) {
366        return e.getAttribute && e.getAttribute("class") || ""
367    }
368
369    function _(e) {
370        return function(t, n) {
371            "string" != typeof t && (n = t, t = "*");
372            var r, i = 0,
373                o = t.toLowerCase().match(we) || [];
374            if (oe.isFunction(n))
375                for (; r = o[i++];) "+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
376        }
377    }
378
379    function z(e, t, n, r) {
380        function i(a) {
381            var u;
382            return o[a] = !0, oe.each(e[a] || [], function(e, a) {
383                var c = a(t, n, r);
384                return "string" != typeof c || s || o[c] ? s ? !(u = c) : void 0 : (t.dataTypes.unshift(c), i(c), !1)
385            }), u
386        }
387        var o = {},
388            s = e === Et;
389        return i(t.dataTypes[0]) || !o["*"] && i("*")
390    }
391
392    function B(e, t) {
393        var n, r, i = oe.ajaxSettings.flatOptions || {};
394        for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]);
395        return r && oe.extend(!0, e, r), e
396    }
397
398    function W(e, t, n) {
399        for (var r, i, o, s, a = e.contents, u = e.dataTypes;
400            "*" === u[0];) u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type"));
401        if (r)
402            for (i in a)
403                if (a[i] && a[i].test(r)) {
404                    u.unshift(i);
405                    break
406                }
407        if (u[0] in n) o = u[0];
408        else {
409            for (i in n) {
410                if (!u[0] || e.converters[i + " " + u[0]]) {
411                    o = i;
412                    break
413                }
414                s || (s = i)
415            }
416            o = o || s
417        }
418        if (o) return o !== u[0] && u.unshift(o), n[o]
419    }
420
421    function U(e, t, n, r) {
422        var i, o, s, a, u, c = {},
423            l = e.dataTypes.slice();
424        if (l[1])
425            for (s in e.converters) c[s.toLowerCase()] = e.converters[s];
426        for (o = l.shift(); o;)
427            if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = l.shift())
428                if ("*" === o) o = u;
429                else if ("*" !== u && u !== o) {
430            if (s = c[u + " " + o] || c["* " + o], !s)
431                for (i in c)
432                    if (a = i.split(" "), a[1] === o && (s = c[u + " " + a[0]] || c["* " + a[0]])) {
433                        s === !0 ? s = c[i] : c[i] !== !0 && (o = a[0], l.unshift(a[1]));
434                        break
435                    }
436            if (s !== !0)
437                if (s && e["throws"]) t = s(t);
438                else try {
439                    t = s(t)
440                } catch (f) {
441                    return {
442                        state: "parsererror",
443                        error: s ? f : "No conversion from " + u + " to " + o
444                    }
445                }
446        }
447        return {
448            state: "success",
449            data: t
450        }
451    }
452
453    function X(e, t, n, r) {
454        var i;
455        if (oe.isArray(t)) oe.each(t, function(t, i) {
456            n || Dt.test(e) ? r(e, i) : X(e + "[" + ("object" == typeof i && null != i ? t : "") + "]", i, n, r)
457        });
458        else if (n || "object" !== oe.type(t)) r(e, t);
459        else
460            for (i in t) X(e + "[" + i + "]", t[i], n, r)
461    }
462
463    function G(e) {
464        return oe.isWindow(e) ? e : 9 === e.nodeType && e.defaultView
465    }
466    var Q = [],
467        V = e.document,
468        Y = Q.slice,
469        J = Q.concat,
470        K = Q.push,
471        Z = Q.indexOf,
472        ee = {},
473        te = ee.toString,
474        ne = ee.hasOwnProperty,
475        re = {},
476        ie = "2.2.4",
477        oe = function(e, t) {
478            return new oe.fn.init(e, t)
479        },
480        se = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
481        ae = /^-ms-/,
482        ue = /-([\da-z])/gi,
483        ce = function(e, t) {
484            return t.toUpperCase()
485        };
486    oe.fn = oe.prototype = {
487        jquery: ie,
488        constructor: oe,
489        selector: "",
490        length: 0,
491        toArray: function() {
492            return Y.call(this)
493        },
494        get: function(e) {
495            return null != e ? e < 0 ? this[e + this.length] : this[e] : Y.call(this)
496        },
497        pushStack: function(e) {
498            var t = oe.merge(this.constructor(), e);
499            return t.prevObject = this, t.context = this.context, t
500        },
501        each: function(e) {
502            return oe.each(this, e)
503        },
504        map: function(e) {
505            return this.pushStack(oe.map(this, function(t, n) {
506                return e.call(t, n, t)
507            }))
508        },
509        slice: function() {
510            return this.pushStack(Y.apply(this, arguments))
511        },
512        first: function() {
513            return this.eq(0)
514        },
515        last: function() {
516            return this.eq(-1)
517        },
518        eq: function(e) {
519            var t = this.length,
520                n = +e + (e < 0 ? t : 0);
521            return this.pushStack(n >= 0 && n < t ? [this[n]] : [])
522        },
523        end: function() {
524            return this.prevObject || this.constructor()
525        },
526        push: K,
527        sort: Q.sort,
528        splice: Q.splice
529    }, oe.extend = oe.fn.extend = function() {
530        var e, t, n, r, i, o, s = arguments[0] || {},
531            a = 1,
532            u = arguments.length,
533            c = !1;
534        for ("boolean" == typeof s && (c = s, s = arguments[a] || {}, a++), "object" == typeof s || oe.isFunction(s) || (s = {}), a === u && (s = this, a--); a < u; a++)
535            if (null != (e = arguments[a]))
536                for (t in e) n = s[t], r = e[t], s !== r && (c && r && (oe.isPlainObject(r) || (i = oe.isArray(r))) ? (i ? (i = !1, o = n && oe.isArray(n) ? n : []) : o = n && oe.isPlainObject(n) ? n : {}, s[t] = oe.extend(c, o, r)) : void 0 !== r && (s[t] = r));
537        return s
538    }, oe.extend({
539        expando: "jQuery" + (ie + Math.random()).replace(/\D/g, ""),
540        isReady: !0,
541        error: function(e) {
542            throw new Error(e)
543        },
544        noop: function() {},
545        isFunction: function(e) {
546            return "function" === oe.type(e)
547        },
548        isArray: Array.isArray,
549        isWindow: function(e) {
550            return null != e && e === e.window
551        },
552        isNumeric: function(e) {
553            var t = e && e.toString();
554            return !oe.isArray(e) && t - parseFloat(t) + 1 >= 0
555        },
556        isPlainObject: function(e) {
557            var t;
558            if ("object" !== oe.type(e) || e.nodeType || oe.isWindow(e)) return !1;
559            if (e.constructor && !ne.call(e, "constructor") && !ne.call(e.constructor.prototype || {}, "isPrototypeOf")) return !1;
560            for (t in e);
561            return void 0 === t || ne.call(e, t)
562        },
563        isEmptyObject: function(e) {
564            var t;
565            for (t in e) return !1;
566            return !0
567        },
568        type: function(e) {
569            return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? ee[te.call(e)] || "object" : typeof e
570        },
571        globalEval: function(e) {
572            var t, n = eval;
573            e = oe.trim(e), e && (1 === e.indexOf("use strict") ? (t = V.createElement("script"), t.text = e, V.head.appendChild(t).parentNode.removeChild(t)) : n(e))
574        },
575        camelCase: function(e) {
576            return e.replace(ae, "ms-").replace(ue, ce)
577        },
578        nodeName: function(e, t) {
579            return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
580        },
581        each: function(e, t) {
582            var r, i = 0;
583            if (n(e))
584                for (r = e.length; i < r && t.call(e[i], i, e[i]) !== !1; i++);
585            else
586                for (i in e)
587                    if (t.call(e[i], i, e[i]) === !1) break;
588            return e
589        },
590        trim: function(e) {
591            return null == e ? "" : (e + "").replace(se, "")
592        },
593        makeArray: function(e, t) {
594            var r = t || [];
595            return null != e && (n(Object(e)) ? oe.merge(r, "string" == typeof e ? [e] : e) : K.call(r, e)), r
596        },
597        inArray: function(e, t, n) {
598            return null == t ? -1 : Z.call(t, e, n)
599        },
600        merge: function(e, t) {
601            for (var n = +t.length, r = 0, i = e.length; r < n; r++) e[i++] = t[r];
602            return e.length = i, e
603        },
604        grep: function(e, t, n) {
605            for (var r, i = [], o = 0, s = e.length, a = !n; o < s; o++) r = !t(e[o], o), r !== a && i.push(e[o]);
606            return i
607        },
608        map: function(e, t, r) {
609            var i, o, s = 0,
610                a = [];
611            if (n(e))
612                for (i = e.length; s < i; s++) o = t(e[s], s, r), null != o && a.push(o);
613            else
614                for (s in e) o = t(e[s], s, r), null != o && a.push(o);
615            return J.apply([], a)
616        },
617        guid: 1,
618        proxy: function(e, t) {
619            var n, r, i;
620            if ("string" == typeof t && (n = e[t], t = e, e = n), oe.isFunction(e)) return r = Y.call(arguments, 2), i = function() {
621                return e.apply(t || this, r.concat(Y.call(arguments)))
622            }, i.guid = e.guid = e.guid || oe.guid++, i
623        },
624        now: Date.now,
625        support: re
626    }), "function" == typeof Symbol && (oe.fn[Symbol.iterator] = Q[Symbol.iterator]), oe.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(e, t) {
627        ee["[object " + t + "]"] = t.toLowerCase()
628    });
629    var le = function(e) {
630        function t(e, t, n, r) {
631            var i, o, s, a, u, c, f, p, h = t && t.ownerDocument,
632                g = t ? t.nodeType : 9;
633            if (n = n || [], "string" != typeof e || !e || 1 !== g && 9 !== g && 11 !== g) return n;
634            if (!r && ((t ? t.ownerDocument || t : F) !== $ && L(t), t = t || $, q)) {
635                if (11 !== g && (c = ve.exec(e)))
636                    if (i = c[1]) {
637                        if (9 === g) {
638                            if (!(s = t.getElementById(i))) return n;
639                            if (s.id === i) return n.push(s), n
640                        } else if (h && (s = h.getElementById(i)) && P(t, s) && s.id === i) return n.push(s), n
641                    } else {
642                        if (c[2]) return K.apply(n, t.getElementsByTagName(e)), n;
643                        if ((i = c[3]) && w.getElementsByClassName && t.getElementsByClassName) return K.apply(n, t.getElementsByClassName(i)), n
644                    }
645                if (w.qsa && !U[e + " "] && (!M || !M.test(e))) {
646                    if (1 !== g) h = t, p = e;
647                    else if ("object" !== t.nodeName.toLowerCase()) {
648                        for ((a = t.getAttribute("id")) ? a = a.replace(xe, "\\$&") : t.setAttribute("id", a = I), f = S(e), o = f.length, u = de.test(a) ? "#" + a : "[id='" + a + "']"; o--;) f[o] = u + " " + d(f[o]);
649                        p = f.join(","), h = ye.test(e) && l(t.parentNode) || t
650                    }
651                    if (p) try {
652                        return K.apply(n, h.querySelectorAll(p)), n
653                    } catch (m) {} finally {
654                        a === I && t.removeAttribute("id")
655                    }
656                }
657            }
658            return k(e.replace(ae, "$1"), t, n, r)
659        }
660
661        function n() {
662            function e(n, r) {
663                return t.push(n + " ") > T.cacheLength && delete e[t.shift()], e[n + " "] = r
664            }
665            var t = [];
666            return e
667        }
668
669        function r(e) {
670            return e[I] = !0, e
671        }
672
673        function i(e) {
674            var t = $.createElement("div");
675            try {
676                return !!e(t)
677            } catch (n) {
678                return !1
679            } finally {
680                t.parentNode && t.parentNode.removeChild(t), t = null
681            }
682        }
683
684        function o(e, t) {
685            for (var n = e.split("|"), r = n.length; r--;) T.attrHandle[n[r]] = t
686        }
687
688        function s(e, t) {
689            var n = t && e,
690                r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || G) - (~e.sourceIndex || G);
691            if (r) return r;
692            if (n)
693                for (; n = n.nextSibling;)
694                    if (n === t) return -1;
695            return e ? 1 : -1
696        }
697
698        function a(e) {
699            return function(t) {
700                var n = t.nodeName.toLowerCase();
701                return "input" === n && t.type === e
702            }
703        }
704
705        function u(e) {
706            return function(t) {
707                var n = t.nodeName.toLowerCase();
708                return ("input" === n || "button" === n) && t.type === e
709            }
710        }
711
712        function c(e) {
713            return r(function(t) {
714                return t = +t, r(function(n, r) {
715                    for (var i, o = e([], n.length, t), s = o.length; s--;
vendor: 18,246 bytes, lines 715-1071
715) n[i = o[s]] && (n[i] = !(r[i] = n[i]))
716                })
717            })
718        }
719
720        function l(e) {
721            return e && "undefined" != typeof e.getElementsByTagName && e
722        }
723
724        function f() {}
725
726        function d(e) {
727            for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value;
728            return r
729        }
730
731        function p(e, t, n) {
732            var r = t.dir,
733                i = n && "parentNode" === r,
734                o = z++;
735            return t.first ? function(t, n, o) {
736                for (; t = t[r];)
737                    if (1 === t.nodeType || i) return e(t, n, o)
738            } : function(t, n, s) {
739                var a, u, c, l = [_, o];
740                if (s) {
741                    for (; t = t[r];)
742                        if ((1 === t.nodeType || i) && e(t, n, s)) return !0
743                } else
744                    for (; t = t[r];)
745                        if (1 === t.nodeType || i) {
746                            if (c = t[I] || (t[I] = {}), u = c[t.uniqueID] || (c[t.uniqueID] = {}), (a = u[r]) && a[0] === _ && a[1] === o) return l[2] = a[2];
747                            if (u[r] = l, l[2] = e(t, n, s)) return !0
748                        }
749            }
750        }
751
752        function h(e) {
753            return e.length > 1 ? function(t, n, r) {
754                for (var i = e.length; i--;)
755                    if (!e[i](t, n, r)) return !1;
756                return !0
757            } : e[0]
758        }
759
760        function g(e, n, r) {
761            for (var i = 0, o = n.length; i < o; i++) t(e, n[i], r);
762            return r
763        }
764
765        function m(e, t, n, r, i) {
766            for (var o, s = [], a = 0, u = e.length, c = null != t; a < u; a++)(o = e[a]) && (n && !n(o, r, i) || (s.push(o), c && t.push(a)));
767            return s
768        }
769
770        function v(e, t, n, i, o, s) {
771            return i && !i[I] && (i = v(i)), o && !o[I] && (o = v(o, s)), r(function(r, s, a, u) {
772                var c, l, f, d = [],
773                    p = [],
774                    h = s.length,
775                    v = r || g(t || "*", a.nodeType ? [a] : a, []),
776                    y = !e || !r && t ? v : m(v, d, e, a, u),
777                    x = n ? o || (r ? e : h || i) ? [] : s : y;
778                if (n && n(y, x, a, u), i)
779                    for (c = m(x, p), i(c, [], a, u), l = c.length; l--;)(f = c[l]) && (x[p[l]] = !(y[p[l]] = f));
780                if (r) {
781                    if (o || e) {
782                        if (o) {
783                            for (c = [], l = x.length; l--;)(f = x[l]) && c.push(y[l] = f);
784                            o(null, x = [], c, u)
785                        }
786                        for (l = x.length; l--;)(f = x[l]) && (c = o ? ee(r, f) : d[l]) > -1 && (r[c] = !(s[c] = f))
787                    }
788                } else x = m(x === s ? x.splice(h, x.length) : x), o ? o(null, s, x, u) : K.apply(s, x)
789            })
790        }
791
792        function y(e) {
793            for (var t, n, r, i = e.length, o = T.relative[e[0].type], s = o || T.relative[" "], a = o ? 1 : 0, u = p(function(e) {
794                    return e === t
795                }, s, !0), c = p(function(e) {
796                    return ee(t, e) > -1
797                }, s, !0), l = [function(e, n, r) {
798                    var i = !o && (r || n !== N) || ((t = n).nodeType ? u(e, n, r) : c(e, n, r));
799                    return t = null, i
800                }]; a < i; a++)
801                if (n = T.relative[e[a].type]) l = [p(h(l), n)];
802                else {
803                    if (n = T.filter[e[a].type].apply(null, e[a].matches), n[I]) {
804                        for (r = ++a; r < i && !T.relative[e[r].type]; r++);
805                        return v(a > 1 && h(l), a > 1 && d(e.slice(0, a - 1).concat({
806                            value: " " === e[a - 2].type ? "*" : ""
807                        })).replace(ae, "$1"), n, a < r && y(e.slice(a, r)), r < i && y(e = e.slice(r)), r < i && d(e))
808                    }
809                    l.push(n)
810                }
811            return h(l)
812        }
813
814        function x(e, n) {
815            var i = n.length > 0,
816                o = e.length > 0,
817                s = function(r, s, a, u, c) {
818                    var l, f, d, p = 0,
819                        h = "0",
820                        g = r && [],
821                        v = [],
822                        y = N,
823                        x = r || o && T.find.TAG("*", c),
824                        b = _ += null == y ? 1 : Math.random() || .1,
825                        w = x.length;
826                    for (c && (N = s === $ || s || c); h !== w && null != (l = x[h]); h++) {
827                        if (o && l) {
828                            for (f = 0, s || l.ownerDocument === $ || (L(l), a = !q); d = e[f++];)
829                                if (d(l, s || $, a)) {
830                                    u.push(l);
831                                    break
832                                }
833                            c && (_ = b)
834                        }
835                        i && ((l = !d && l) && p--, r && g.push(l))
836                    }
837                    if (p += h, i && h !== p) {
838                        for (f = 0; d = n[f++];) d(g, v, s, a);
839                        if (r) {
840                            if (p > 0)
841                                for (; h--;) g[h] || v[h] || (v[h] = Y.call(u));
842                            v = m(v)
843                        }
844                        K.apply(u, v), c && !r && v.length > 0 && p + n.length > 1 && t.uniqueSort(u)
845                    }
846                    return c && (_ = b, N = y), g
847                };
848            return i ? r(s) : s
849        }
850        var b, w, T, C, A, S, E, k, N, j, D, L, $, R, q, M, O, H, P, I = "sizzle" + 1 * new Date,
851            F = e.document,
852            _ = 0,
853            z = 0,
854            B = n(),
855            W = n(),
856            U = n(),
857            X = function(e, t) {
858                return e === t && (D = !0), 0
859            },
860            G = 1 << 31,
861            Q = {}.hasOwnProperty,
862            V = [],
863            Y = V.pop,
864            J = V.push,
865            K = V.push,
866            Z = V.slice,
867            ee = function(e, t) {
868                for (var n = 0, r = e.length; n < r; n++)
869                    if (e[n] === t) return n;
870                return -1
871            },
872            te = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
873            ne = "[\\x20\\t\\r\\n\\f]",
874            re = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
875            ie = "\\[" + ne + "*(" + re + ")(?:" + ne + "*([*^$|!~]?=)" + ne + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + re + "))|)" + ne + "*\\]",
876            oe = ":(" + re + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + ie + ")*)|.*)\\)|)",
877            se = new RegExp(ne + "+", "g"),
878            ae = new RegExp("^" + ne + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ne + "+$", "g"),
879            ue = new RegExp("^" + ne + "*," + ne + "*"),
880            ce = new RegExp("^" + ne + "*([>+~]|" + ne + ")" + ne + "*"),
881            le = new RegExp("=" + ne + "*([^\\]'\"]*?)" + ne + "*\\]", "g"),
882            fe = new RegExp(oe),
883            de = new RegExp("^" + re + "$"),
884            pe = {
885                ID: new RegExp("^#(" + re + ")"),
886                CLASS: new RegExp("^\\.(" + re + ")"),
887                TAG: new RegExp("^(" + re + "|[*])"),
888                ATTR: new RegExp("^" + ie),
889                PSEUDO: new RegExp("^" + oe),
890                CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ne + "*(even|odd|(([+-]|)(\\d*)n|)" + ne + "*(?:([+-]|)" + ne + "*(\\d+)|))" + ne + "*\\)|)", "i"),
891                bool: new RegExp("^(?:" + te + ")$", "i"),
892                needsContext: new RegExp("^" + ne + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ne + "*((?:-\\d)?\\d*)" + ne + "*\\)|)(?=[^-]|$)", "i")
893            },
894            he = /^(?:input|select|textarea|button)$/i,
895            ge = /^h\d$/i,
896            me = /^[^{]+\{\s*\[native \w/,
897            ve = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
898            ye = /[+~]/,
899            xe = /'|\\/g,
900            be = new RegExp("\\\\([\\da-f]{1,6}" + ne + "?|(" + ne + ")|.)", "ig"),
901            we = function(e, t, n) {
902                var r = "0x" + t - 65536;
903                return r !== r || n ? t : r < 0 ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320)
904            },
905            Te = function() {
906                L()
907            };
908        try {
909            K.apply(V = Z.call(F.childNodes), F.childNodes), V[F.childNodes.length].nodeType
910        } catch (Ce) {
911            K = {
912                apply: V.length ? function(e, t) {
913                    J.apply(e, Z.call(t))
914                } : function(e, t) {
915                    for (var n = e.length, r = 0; e[n++] = t[r++];);
916                    e.length = n - 1
917                }
918            }
919        }
920        w = t.support = {}, A = t.isXML = function(e) {
921            var t = e && (e.ownerDocument || e).documentElement;
922            return !!t && "HTML" !== t.nodeName
923        }, L = t.setDocument = function(e) {
924            var t, n, r = e ? e.ownerDocument || e : F;
925            return r !== $ && 9 === r.nodeType && r.documentElement ? ($ = r, R = $.documentElement, q = !A($), (n = $.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", Te, !1) : n.attachEvent && n.attachEvent("onunload", Te)), w.attributes = i(function(e) {
926                return e.className = "i", !e.getAttribute("className")
927            }), w.getElementsByTagName = i(function(e) {
928                return e.appendChild($.createComment("")), !e.getElementsByTagName("*").length
929            }), w.getElementsByClassName = me.test($.getElementsByClassName), w.getById = i(function(e) {
930                return R.appendChild(e).id = I, !$.getElementsByName || !$.getElementsByName(I).length
931            }), w.getById ? (T.find.ID = function(e, t) {
932                if ("undefined" != typeof t.getElementById && q) {
933                    var n = t.getElementById(e);
934                    return n ? [n] : []
935                }
936            }, T.filter.ID = function(e) {
937                var t = e.replace(be, we);
938                return function(e) {
939                    return e.getAttribute("id") === t
940                }
941            }) : (delete T.find.ID, T.filter.ID = function(e) {
942                var t = e.replace(be, we);
943                return function(e) {
944                    var n = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id");
945                    return n && n.value === t
946                }
947            }), T.find.TAG = w.getElementsByTagName ? function(e, t) {
948                return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : w.qsa ? t.querySelectorAll(e) : void 0
949            } : function(e, t) {
950                var n, r = [],
951                    i = 0,
952                    o = t.getElementsByTagName(e);
953                if ("*" === e) {
954                    for (; n = o[i++];) 1 === n.nodeType && r.push(n);
955                    return r
956                }
957                return o
958            }, T.find.CLASS = w.getElementsByClassName && function(e, t) {
959                if ("undefined" != typeof t.getElementsByClassName && q) return t.getElementsByClassName(e)
960            }, O = [], M = [], (w.qsa = me.test($.querySelectorAll)) && (i(function(e) {
961                R.appendChild(e).innerHTML = "<a id='" + I + "'></a><select id='" + I + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && M.push("[*^$]=" + ne + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || M.push("\\[" + ne + "*(?:value|" + te + ")"), e.querySelectorAll("[id~=" + I + "-]").length || M.push("~="), e.querySelectorAll(":checked").length || M.push(":checked"), e.querySelectorAll("a#" + I + "+*").length || M.push(".#.+[+~]")
962            }), i(function(e) {
963                var t = $.createElement("input");
964                t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && M.push("name" + ne + "*[*^$|!~]?="), e.querySelectorAll(":enabled").length || M.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), M.push(",.*:")
965            })), (w.matchesSelector = me.test(H = R.matches || R.webkitMatchesSelector || R.mozMatchesSelector || R.oMatchesSelector || R.msMatchesSelector)) && i(function(e) {
966                w.disconnectedMatch = H.call(e, "div"), H.call(e, "[s!='']:x"), O.push("!=", oe)
967            }), M = M.length && new RegExp(M.join("|")), O = O.length && new RegExp(O.join("|")), t = me.test(R.compareDocumentPosition), P = t || me.test(R.contains) ? function(e, t) {
968                var n = 9 === e.nodeType ? e.documentElement : e,
969                    r = t && t.parentNode;
970                return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)))
971            } : function(e, t) {
972                if (t)
973                    for (; t = t.parentNode;)
974                        if (t === e) return !0;
975                return !1
976            }, X = t ? function(e, t) {
977                if (e === t) return D = !0, 0;
978                var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
979                return n ? n : (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1, 1 & n || !w.sortDetached && t.compareDocumentPosition(e) === n ? e === $ || e.ownerDocument === F && P(F, e) ? -1 : t === $ || t.ownerDocument === F && P(F, t) ? 1 : j ? ee(j, e) - ee(j, t) : 0 : 4 & n ? -1 : 1)
980            } : function(e, t) {
981                if (e === t) return D = !0, 0;
982                var n, r = 0,
983                    i = e.parentNode,
984                    o = t.parentNode,
985                    a = [e],
986                    u = [t];
987                if (!i || !o) return e === $ ? -1 : t === $ ? 1 : i ? -1 : o ? 1 : j ? ee(j, e) - ee(j, t) : 0;
988                if (i === o) return s(e, t);
989                for (n = e; n = n.parentNode;) a.unshift(n);
990                for (n = t; n = n.parentNode;) u.unshift(n);
991                for (; a[r] === u[r];) r++;
992                return r ? s(a[r], u[r]) : a[r] === F ? -1 : u[r] === F ? 1 : 0
993            }, $) : $
994        }, t.matches = function(e, n) {
995            return t(e, null, null, n)
996        }, t.matchesSelector = function(e, n) {
997            if ((e.ownerDocument || e) !== $ && L(e), n = n.replace(le, "='$1']"), w.matchesSelector && q && !U[n + " "] && (!O || !O.test(n)) && (!M || !M.test(n))) try {
998                var r = H.call(e, n);
999                if (r || w.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r
1000            } catch (i) {}
1001            return t(n, $, null, [e]).length > 0
1002        }, t.contains = function(e, t) {
1003            return (e.ownerDocument || e) !== $ && L(e), P(e, t)
1004        }, t.attr = function(e, t) {
1005            (e.ownerDocument || e) !== $ && L(e);
1006            var n = T.attrHandle[t.toLowerCase()],
1007                r = n && Q.call(T.attrHandle, t.toLowerCase()) ? n(e, t, !q) : void 0;
1008            return void 0 !== r ? r : w.attributes || !q ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
1009        }, t.error = function(e) {
1010            throw new Error("Syntax error, unrecognized expression: " + e)
1011        }, t.uniqueSort = function(e) {
1012            var t, n = [],
1013                r = 0,
1014                i = 0;
1015            if (D = !w.detectDuplicates, j = !w.sortStable && e.slice(0), e.sort(X), D) {
1016                for (; t = e[i++];) t === e[i] && (r = n.push(i));
1017                for (; r--;) e.splice(n[r], 1)
1018            }
1019            return j = null, e
1020        }, C = t.getText = function(e) {
1021            var t, n = "",
1022                r = 0,
1023                i = e.nodeType;
1024            if (i) {
1025                if (1 === i || 9 === i || 11 === i) {
1026                    if ("string" == typeof e.textContent) return e.textContent;
1027                    for (e = e.firstChild; e; e = e.nextSibling) n += C(e)
1028                } else if (3 === i || 4 === i) return e.nodeValue
1029            } else
1030                for (; t = e[r++];) n += C(t);
1031            return n
1032        }, T = t.selectors = {
1033            cacheLength: 50,
1034            createPseudo: r,
1035            match: pe,
1036            attrHandle: {},
1037            find: {},
1038            relative: {
1039                ">": {
1040                    dir: "parentNode",
1041                    first: !0
1042                },
1043                " ": {
1044                    dir: "parentNode"
1045                },
1046                "+": {
1047                    dir: "previousSibling",
1048                    first: !0
1049                },
1050                "~": {
1051                    dir: "previousSibling"
1052                }
1053            },
1054            preFilter: {
1055                ATTR: function(e) {
1056                    return e[1] = e[1].replace(be, we), e[3] = (e[3] || e[4] || e[5] || "").replace(be, we), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
1057                },
1058                CHILD: function(e) {
1059                    return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || t.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] && t.error(e[0]), e
1060                },
1061                PSEUDO: function(e) {
1062                    var t, n = !e[6] && e[2];
1063                    return pe.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && fe.test(n) && (t = S(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))
1064                }
1065            },
1066            filter: {
1067                TAG: function(e) {
1068                    var t = e.replace(be, we).toLowerCase();
1069                    return "*" === e ? function() {
1070                        return !0
1071                    } : function(e) {
vendor: 42,361 bytes, lines 1072-1943
1072                        return e.nodeName && e.nodeName.toLowerCase() === t
1073                    }
1074                },
1075                CLASS: function(e) {
1076                    var t = B[e + " "];
1077                    return t || (t = new RegExp("(^|" + ne + ")" + e + "(" + ne + "|$)")) && B(e, function(e) {
1078                        return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || "")
1079                    })
1080                },
1081                ATTR: function(e, n, r) {
1082                    return function(i) {
1083                        var o = t.attr(i, e);
1084                        return null == o ? "!=" === n : !n || (o += "", "=" === n ? o === r : "!=" === n ? o !== r : "^=" === n ? r && 0 === o.indexOf(r) : "*=" === n ? r && o.indexOf(r) > -1 : "$=" === n ? r && o.slice(-r.length) === r : "~=" === n ? (" " + o.replace(se, " ") + " ").indexOf(r) > -1 : "|=" === n && (o === r || o.slice(0, r.length + 1) === r + "-"))
1085                    }
1086                },
1087                CHILD: function(e, t, n, r, i) {
1088                    var o = "nth" !== e.slice(0, 3),
1089                        s = "last" !== e.slice(-4),
1090                        a = "of-type" === t;
1091                    return 1 === r && 0 === i ? function(e) {
1092                        return !!e.parentNode
1093                    } : function(t, n, u) {
1094                        var c, l, f, d, p, h, g = o !== s ? "nextSibling" : "previousSibling",
1095                            m = t.parentNode,
1096                            v = a && t.nodeName.toLowerCase(),
1097                            y = !u && !a,
1098                            x = !1;
1099                        if (m) {
1100                            if (o) {
1101                                for (; g;) {
1102                                    for (d = t; d = d[g];)
1103                                        if (a ? d.nodeName.toLowerCase() === v : 1 === d.nodeType) return !1;
1104                                    h = g = "only" === e && !h && "nextSibling"
1105                                }
1106                                return !0
1107                            }
1108                            if (h = [s ? m.firstChild : m.lastChild], s && y) {
1109                                for (d = m, f = d[I] || (d[I] = {}), l = f[d.uniqueID] || (f[d.uniqueID] = {}), c = l[e] || [], p = c[0] === _ && c[1], x = p && c[2], d = p && m.childNodes[p]; d = ++p && d && d[g] || (x = p = 0) || h.pop();)
1110                                    if (1 === d.nodeType && ++x && d === t) {
1111                                        l[e] = [_, p, x];
1112                                        break
1113                                    }
1114                            } else if (y && (d = t, f = d[I] || (d[I] = {}), l = f[d.uniqueID] || (f[d.uniqueID] = {}), c = l[e] || [], p = c[0] === _ && c[1], x = p), x === !1)
1115                                for (;
1116                                    (d = ++p && d && d[g] || (x = p = 0) || h.pop()) && ((a ? d.nodeName.toLowerCase() !== v : 1 !== d.nodeType) || !++x || (y && (f = d[I] || (d[I] = {}), l = f[d.uniqueID] || (f[d.uniqueID] = {}), l[e] = [_, x]), d !== t)););
1117                            return x -= i, x === r || x % r === 0 && x / r >= 0
1118                        }
1119                    }
1120                },
1121                PSEUDO: function(e, n) {
1122                    var i, o = T.pseudos[e] || T.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e);
1123                    return o[I] ? o(n) : o.length > 1 ? (i = [e, e, "", n], T.setFilters.hasOwnProperty(e.toLowerCase()) ? r(function(e, t) {
1124                        for (var r, i = o(e, n), s = i.length; s--;) r = ee(e, i[s]), e[r] = !(t[r] = i[s])
1125                    }) : function(e) {
1126                        return o(e, 0, i)
1127                    }) : o
1128                }
1129            },
1130            pseudos: {
1131                not: r(function(e) {
1132                    var t = [],
1133                        n = [],
1134                        i = E(e.replace(ae, "$1"));
1135                    return i[I] ? r(function(e, t, n, r) {
1136                        for (var o, s = i(e, null, r, []), a = e.length; a--;)(o = s[a]) && (e[a] = !(t[a] = o))
1137                    }) : function(e, r, o) {
1138                        return t[0] = e, i(t, null, o, n), t[0] = null, !n.pop()
1139                    }
1140                }),
1141                has: r(function(e) {
1142                    return function(n) {
1143                        return t(e, n).length > 0
1144                    }
1145                }),
1146                contains: r(function(e) {
1147                    return e = e.replace(be, we),
1148                        function(t) {
1149                            return (t.textContent || t.innerText || C(t)).indexOf(e) > -1
1150                        }
1151                }),
1152                lang: r(function(e) {
1153                    return de.test(e || "") || t.error("unsupported lang: " + e), e = e.replace(be, we).toLowerCase(),
1154                        function(t) {
1155                            var n;
1156                            do
1157                                if (n = q ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return n = n.toLowerCase(), n === e || 0 === n.indexOf(e + "-");
1158                            while ((t = t.parentNode) && 1 === t.nodeType);
1159                            return !1
1160                        }
1161                }),
1162                target: function(t) {
1163                    var n = e.location && e.location.hash;
1164                    return n && n.slice(1) === t.id
1165                },
1166                root: function(e) {
1167                    return e === R
1168                },
1169                focus: function(e) {
1170                    return e === $.activeElement && (!$.hasFocus || $.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
1171                },
1172                enabled: function(e) {
1173                    return e.disabled === !1
1174                },
1175                disabled: function(e) {
1176                    return e.disabled === !0
1177                },
1178                checked: function(e) {
1179                    var t = e.nodeName.toLowerCase();
1180                    return "input" === t && !!e.checked || "option" === t && !!e.selected
1181                },
1182                selected: function(e) {
1183                    return e.parentNode && e.parentNode.selectedIndex, e.selected === !0
1184                },
1185                empty: function(e) {
1186                    for (e = e.firstChild; e; e = e.nextSibling)
1187                        if (e.nodeType < 6) return !1;
1188                    return !0
1189                },
1190                parent: function(e) {
1191                    return !T.pseudos.empty(e)
1192                },
1193                header: function(e) {
1194                    return ge.test(e.nodeName)
1195                },
1196                input: function(e) {
1197                    return he.test(e.nodeName)
1198                },
1199                button: function(e) {
1200                    var t = e.nodeName.toLowerCase();
1201                    return "input" === t && "button" === e.type || "button" === t
1202                },
1203                text: function(e) {
1204                    var t;
1205                    return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
1206                },
1207                first: c(function() {
1208                    return [0]
1209                }),
1210                last: c(function(e, t) {
1211                    return [t - 1]
1212                }),
1213                eq: c(function(e, t, n) {
1214                    return [n < 0 ? n + t : n]
1215                }),
1216                even: c(function(e, t) {
1217                    for (var n = 0; n < t; n += 2) e.push(n);
1218                    return e
1219                }),
1220                odd: c(function(e, t) {
1221                    for (var n = 1; n < t; n += 2) e.push(n);
1222                    return e
1223                }),
1224                lt: c(function(e, t, n) {
1225                    for (var r = n < 0 ? n + t : n; --r >= 0;) e.push(r);
1226                    return e
1227                }),
1228                gt: c(function(e, t, n) {
1229                    for (var r = n < 0 ? n + t : n; ++r < t;) e.push(r);
1230                    return e
1231                })
1232            }
1233        }, T.pseudos.nth = T.pseudos.eq;
1234        for (b in {
1235                radio: !0,
1236                checkbox: !0,
1237                file: !0,
1238                password: !0,
1239                image: !0
1240            }) T.pseudos[b] = a(b);
1241        for (b in {
1242                submit: !0,
1243                reset: !0
1244            }) T.pseudos[b] = u(b);
1245        return f.prototype = T.filters = T.pseudos, T.setFilters = new f, S = t.tokenize = function(e, n) {
1246            var r, i, o, s, a, u, c, l = W[e + " "];
1247            if (l) return n ? 0 : l.slice(0);
1248            for (a = e, u = [], c = T.preFilter; a;) {
1249                r && !(i = ue.exec(a)) || (i && (a = a.slice(i[0].length) || a), u.push(o = [])), r = !1, (i = ce.exec(a)) && (r = i.shift(), o.push({
1250                    value: r,
1251                    type: i[0].replace(ae, " ")
1252                }), a = a.slice(r.length));
1253                for (s in T.filter) !(i = pe[s].exec(a)) || c[s] && !(i = c[s](i)) || (r = i.shift(), o.push({
1254                    value: r,
1255                    type: s,
1256                    matches: i
1257                }), a = a.slice(r.length));
1258                if (!r) break
1259            }
1260            return n ? a.length : a ? t.error(e) : W(e, u).slice(0)
1261        }, E = t.compile = function(e, t) {
1262            var n, r = [],
1263                i = [],
1264                o = U[e + " "];
1265            if (!o) {
1266                for (t || (t = S(e)), n = t.length; n--;) o = y(t[n]), o[I] ? r.push(o) : i.push(o);
1267                o = U(e, x(i, r)), o.selector = e
1268            }
1269            return o
1270        }, k = t.select = function(e, t, n, r) {
1271            var i, o, s, a, u, c = "function" == typeof e && e,
1272                f = !r && S(e = c.selector || e);
1273            if (n = n || [], 1 === f.length) {
1274                if (o = f[0] = f[0].slice(0), o.length > 2 && "ID" === (s = o[0]).type && w.getById && 9 === t.nodeType && q && T.relative[o[1].type]) {
1275                    if (t = (T.find.ID(s.matches[0].replace(be, we), t) || [])[0], !t) return n;
1276                    c && (t = t.parentNode), e = e.slice(o.shift().value.length)
1277                }
1278                for (i = pe.needsContext.test(e) ? 0 : o.length; i-- && (s = o[i], !T.relative[a = s.type]);)
1279                    if ((u = T.find[a]) && (r = u(s.matches[0].replace(be, we), ye.test(o[0].type) && l(t.parentNode) || t))) {
1280                        if (o.splice(i, 1), e = r.length && d(o), !e) return K.apply(n, r), n;
1281                        break
1282                    }
1283            }
1284            return (c || E(e, f))(r, t, !q, n, !t || ye.test(e) && l(t.parentNode) || t), n
1285        }, w.sortStable = I.split("").sort(X).join("") === I, w.detectDuplicates = !!D, L(), w.sortDetached = i(function(e) {
1286            return 1 & e.compareDocumentPosition($.createElement("div"))
1287        }), i(function(e) {
1288            return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href")
1289        }) || o("type|href|height|width", function(e, t, n) {
1290            if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
1291        }), w.attributes && i(function(e) {
1292            return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
1293        }) || o("value", function(e, t, n) {
1294            if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue
1295        }), i(function(e) {
1296            return null == e.getAttribute("disabled")
1297        }) || o(te, function(e, t, n) {
1298            var r;
1299            if (!n) return e[t] === !0 ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
1300        }), t
1301    }(e);
1302    oe.find = le, oe.expr = le.selectors, oe.expr[":"] = oe.expr.pseudos, oe.uniqueSort = oe.unique = le.uniqueSort, oe.text = le.getText, oe.isXMLDoc = le.isXML, oe.contains = le.contains;
1303    var fe = function(e, t, n) {
1304            for (var r = [], i = void 0 !== n;
1305                (e = e[t]) && 9 !== e.nodeType;)
1306                if (1 === e.nodeType) {
1307                    if (i && oe(e).is(n)) break;
1308                    r.push(e)
1309                }
1310            return r
1311        },
1312        de = function(e, t) {
1313            for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
1314            return n
1315        },
1316        pe = oe.expr.match.needsContext,
1317        he = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,
1318        ge = /^.[^:#\[\.,]*$/;
1319    oe.filter = function(e, t, n) {
1320        var r = t[0];
1321        return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? oe.find.matchesSelector(r, e) ? [r] : [] : oe.find.matches(e, oe.grep(t, function(e) {
1322            return 1 === e.nodeType
1323        }))
1324    }, oe.fn.extend({
1325        find: function(e) {
1326            var t, n = this.length,
1327                r = [],
1328                i = this;
1329            if ("string" != typeof e) return this.pushStack(oe(e).filter(function() {
1330                for (t = 0; t < n; t++)
1331                    if (oe.contains(i[t], this)) return !0
1332            }));
1333            for (t = 0; t < n; t++) oe.find(e, i[t], r);
1334            return r = this.pushStack(n > 1 ? oe.unique(r) : r), r.selector = this.selector ? this.selector + " " + e : e, r
1335        },
1336        filter: function(e) {
1337            return this.pushStack(r(this, e || [], !1))
1338        },
1339        not: function(e) {
1340            return this.pushStack(r(this, e || [], !0))
1341        },
1342        is: function(e) {
1343            return !!r(this, "string" == typeof e && pe.test(e) ? oe(e) : e || [], !1).length
1344        }
1345    });
1346    var me, ve = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
1347        ye = oe.fn.init = function(e, t, n) {
1348            var r, i;
1349            if (!e) return this;
1350            if (n = n || me, "string" == typeof e) {
1351                if (r = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : ve.exec(e), !r || !r[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
1352                if (r[1]) {
1353                    if (t = t instanceof oe ? t[0] : t, oe.merge(this, oe.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : V, !0)), he.test(r[1]) && oe.isPlainObject(t))
1354                        for (r in t) oe.isFunction(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
1355                    return this
1356                }
1357                return i = V.getElementById(r[2]), i && i.parentNode && (this.length = 1, this[0] = i), this.context = V, this.selector = e, this
1358            }
1359            return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : oe.isFunction(e) ? void 0 !== n.ready ? n.ready(e) : e(oe) : (void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), oe.makeArray(e, this))
1360        };
1361    ye.prototype = oe.fn, me = oe(V);
1362    var xe = /^(?:parents|prev(?:Until|All))/,
1363        be = {
1364            children: !0,
1365            contents: !0,
1366            next: !0,
1367            prev: !0
1368        };
1369    oe.fn.extend({
1370        has: function(e) {
1371            var t = oe(e, this),
1372                n = t.length;
1373            return this.filter(function() {
1374                for (var e = 0; e < n; e++)
1375                    if (oe.contains(this, t[e])) return !0
1376            })
1377        },
1378        closest: function(e, t) {
1379            for (var n, r = 0, i = this.length, o = [], s = pe.test(e) || "string" != typeof e ? oe(e, t || this.context) : 0; r < i; r++)
1380                for (n = this[r]; n && n !== t; n = n.parentNode)
1381                    if (n.nodeType < 11 && (s ? s.index(n) > -1 : 1 === n.nodeType && oe.find.matchesSelector(n, e))) {
1382                        o.push(n);
1383                        break
1384                    }
1385            return this.pushStack(o.length > 1 ? oe.uniqueSort(o) : o)
1386        },
1387        index: function(e) {
1388            return e ? "string" == typeof e ? Z.call(oe(e), this[0]) : Z.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
1389        },
1390        add: function(e, t) {
1391            return this.pushStack(oe.uniqueSort(oe.merge(this.get(), oe(e, t))))
1392        },
1393        addBack: function(e) {
1394            return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
1395        }
1396    }), oe.each({
1397        parent: function(e) {
1398            var t = e.parentNode;
1399            return t && 11 !== t.nodeType ? t : null
1400        },
1401        parents: function(e) {
1402            return fe(e, "parentNode")
1403        },
1404        parentsUntil: function(e, t, n) {
1405            return fe(e, "parentNode", n)
1406        },
1407        next: function(e) {
1408            return i(e, "nextSibling")
1409        },
1410        prev: function(e) {
1411            return i(e, "previousSibling")
1412        },
1413        nextAll: function(e) {
1414            return fe(e, "nextSibling")
1415        },
1416        prevAll: function(e) {
1417            return fe(e, "previousSibling")
1418        },
1419        nextUntil: function(e, t, n) {
1420            return fe(e, "nextSibling", n)
1421        },
1422        prevUntil: function(e, t, n) {
1423            return fe(e, "previousSibling", n)
1424        },
1425        siblings: function(e) {
1426            return de((e.parentNode || {}).firstChild, e)
1427        },
1428        children: function(e) {
1429            return de(e.firstChild)
1430        },
1431        contents: function(e) {
1432            return e.contentDocument || oe.merge([], e.childNodes)
1433        }
1434    }, function(e, t) {
1435        oe.fn[e] = function(n, r) {
1436            var i = oe.map(this, t, n);
1437            return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = oe.filter(r, i)), this.length > 1 && (be[e] || oe.uniqueSort(i), xe.test(e) && i.reverse()), this.pushStack(i)
1438        }
1439    });
1440    var we = /\S+/g;
1441    oe.Callbacks = function(e) {
1442        e = "string" == typeof e ? o(e) : oe.extend({}, e);
1443        var t, n, r, i, s = [],
1444            a = [],
1445            u = -1,
1446            c = function() {
1447                for (i = e.once, r = t = !0; a.length; u = -1)
1448                    for (n = a.shift(); ++u < s.length;) s[u].apply(n[0], n[1]) === !1 && e.stopOnFalse && (u = s.length, n = !1);
1449                e.memory || (n = !1), t = !1, i && (s = n ? [] : "")
1450            },
1451            l = {
1452                add: function() {
1453                    return s && (n && !t && (u = s.length - 1, a.push(n)), function r(t) {
1454                        oe.each(t, function(t, n) {
1455                            oe.isFunction(n) ? e.unique && l.has(n) || s.push(n) : n && n.length && "string" !== oe.type(n) && r(n)
1456                        })
1457                    }(arguments), n && !t && c()), this
1458                },
1459                remove: function() {
1460                    return oe.each(arguments, function(e, t) {
1461                        for (var n;
1462                            (n = oe.inArray(t, s, n)) > -1;) s.splice(n, 1), n <= u && u--
1463                    }), this
1464                },
1465                has: function(e) {
1466                    return e ? oe.inArray(e, s) > -1 : s.length > 0
1467                },
1468                empty: function() {
1469                    return s && (s = []), this
1470                },
1471                disable: function() {
1472                    return i = a = [], s = n = "", this
1473                },
1474                disabled: function() {
1475                    return !s
1476                },
1477                lock: function() {
1478                    return i = a = [], n || (s = n = ""), this
1479                },
1480                locked: function() {
1481                    return !!i
1482                },
1483                fireWith: function(e, n) {
1484                    return i || (n = n || [], n = [e, n.slice ? n.slice() : n], a.push(n), t || c()), this
1485                },
1486                fire: function() {
1487                    return l.fireWith(this, arguments), this
1488                },
1489                fired: function() {
1490                    return !!r
1491                }
1492            };
1493        return l
1494    }, oe.extend({
1495        Deferred: function(e) {
1496            var t = [
1497                    ["resolve", "done", oe.Callbacks("once memory"), "resolved"],
1498                    ["reject", "fail", oe.Callbacks("once memory"), "rejected"],
1499                    ["notify", "progress", oe.Callbacks("memory")]
1500                ],
1501                n = "pending",
1502                r = {
1503                    state: function() {
1504                        return n
1505                    },
1506                    always: function() {
1507                        return i.done(arguments).fail(arguments), this
1508                    },
1509                    then: function() {
1510                        var e = arguments;
1511                        return oe.Deferred(function(n) {
1512                            oe.each(t, function(t, o) {
1513                                var s = oe.isFunction(e[t]) && e[t];
1514                                i[o[1]](function() {
1515                                    var e = s && s.apply(this, arguments);
1516                                    e && oe.isFunction(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[o[0] + "With"](this === r ? n.promise() : this, s ? [e] : arguments)
1517                                })
1518                            }), e = null
1519                        }).promise()
1520                    },
1521                    promise: function(e) {
1522                        return null != e ? oe.extend(e, r) : r
1523                    }
1524                },
1525                i = {};
1526            return r.pipe = r.then, oe.each(t, function(e, o) {
1527                var s = o[2],
1528                    a = o[3];
1529                r[o[1]] = s.add, a && s.add(function() {
1530                    n = a
1531                }, t[1 ^ e][2].disable, t[2][2].lock), i[o[0]] = function() {
1532                    return i[o[0] + "With"](this === i ? r : this, arguments), this
1533                }, i[o[0] + "With"] = s.fireWith
1534            }), r.promise(i), e && e.call(i, i), i
1535        },
1536        when: function(e) {
1537            var t, n, r, i = 0,
1538                o = Y.call(arguments),
1539                s = o.length,
1540                a = 1 !== s || e && oe.isFunction(e.promise) ? s : 0,
1541                u = 1 === a ? e : oe.Deferred(),
1542                c = function(e, n, r) {
1543                    return function(i) {
1544                        n[e] = this, r[e] = arguments.length > 1 ? Y.call(arguments) : i, r === t ? u.notifyWith(n, r) : --a || u.resolveWith(n, r)
1545                    }
1546                };
1547            if (s > 1)
1548                for (t = new Array(s), n = new Array(s), r = new Array(s); i < s; i++) o[i] && oe.isFunction(o[i].promise) ? o[i].promise().progress(c(i, n, t)).done(c(i, r, o)).fail(u.reject) : --a;
1549            return a || u.resolveWith(r, o), u.promise()
1550        }
1551    });
1552    var Te;
1553    oe.fn.ready = function(e) {
1554        return oe.ready.promise().done(e), this
1555    }, oe.extend({
1556        isReady: !1,
1557        readyWait: 1,
1558        holdReady: function(e) {
1559            e ? oe.readyWait++ : oe.ready(!0)
1560        },
1561        ready: function(e) {
1562            (e === !0 ? --oe.readyWait : oe.isReady) || (oe.isReady = !0, e !== !0 && --oe.readyWait > 0 || (Te.resolveWith(V, [oe]), oe.fn.triggerHandler && (oe(V).triggerHandler("ready"), oe(V).off("ready"))))
1563        }
1564    }), oe.ready.promise = function(t) {
1565        return Te || (Te = oe.Deferred(), "complete" === V.readyState || "loading" !== V.readyState && !V.documentElement.doScroll ? e.setTimeout(oe.ready) : (V.addEventListener("DOMContentLoaded", s), e.addEventListener("load", s))), Te.promise(t)
1566    }, oe.ready.promise();
1567    var Ce = function(e, t, n, r, i, o, s) {
1568            var a = 0,
1569                u = e.length,
1570                c = null == n;
1571            if ("object" === oe.type(n)) {
1572                i = !0;
1573                for (a in n) Ce(e, t, a, n[a], !0, o, s)
1574            } else if (void 0 !== r && (i = !0, oe.isFunction(r) || (s = !0), c && (s ? (t.call(e, r), t = null) : (c = t, t = function(e, t, n) {
1575                    return c.call(oe(e), n)
1576                })), t))
1577                for (; a < u; a++) t(e[a], n, s ? r : r.call(e[a], a, t(e[a], n)));
1578            return i ? e : c ? t.call(e) : u ? t(e[0], n) : o
1579        },
1580        Ae = function(e) {
1581            return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType
1582        };
1583    a.uid = 1, a.prototype = {
1584        register: function(e, t) {
1585            var n = t || {};
1586            return e.nodeType ? e[this.expando] = n : Object.defineProperty(e, this.expando, {
1587                value: n,
1588                writable: !0,
1589                configurable: !0
1590            }), e[this.expando]
1591        },
1592        cache: function(e) {
1593            if (!Ae(e)) return {};
1594            var t = e[this.expando];
1595            return t || (t = {}, Ae(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, {
1596                value: t,
1597                configurable: !0
1598            }))), t
1599        },
1600        set: function(e, t, n) {
1601            var r, i = this.cache(e);
1602            if ("string" == typeof t) i[t] = n;
1603            else
1604                for (r in t) i[r] = t[r];
1605            return i
1606        },
1607        get: function(e, t) {
1608            return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][t]
1609        },
1610        access: function(e, t, n) {
1611            var r;
1612            return void 0 === t || t && "string" == typeof t && void 0 === n ? (r = this.get(e, t), void 0 !== r ? r : this.get(e, oe.camelCase(t))) : (this.set(e, t, n), void 0 !== n ? n : t)
1613        },
1614        remove: function(e, t) {
1615            var n, r, i, o = e[this.expando];
1616            if (void 0 !== o) {
1617                if (void 0 === t) this.register(e);
1618                else {
1619                    oe.isArray(t) ? r = t.concat(t.map(oe.camelCase)) : (i = oe.camelCase(t), t in o ? r = [t, i] : (r = i, r = r in o ? [r] : r.match(we) || [])), n = r.length;
1620                    for (; n--;) delete o[r[n]]
1621                }(void 0 === t || oe.isEmptyObject(o)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando])
1622            }
1623        },
1624        hasData: function(e) {
1625            var t = e[this.expando];
1626            return void 0 !== t && !oe.isEmptyObject(t)
1627        }
1628    };
1629    var Se = new a,
1630        Ee = new a,
1631        ke = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
1632        Ne = /[A-Z]/g;
1633    oe.extend({
1634        hasData: function(e) {
1635            return Ee.hasData(e) || Se.hasData(e)
1636        },
1637        data: function(e, t, n) {
1638            return Ee.access(e, t, n)
1639        },
1640        removeData: function(e, t) {
1641            Ee.remove(e, t)
1642        },
1643        _data: function(e, t, n) {
1644            return Se.access(e, t, n)
1645        },
1646        _removeData: function(e, t) {
1647            Se.remove(e, t)
1648        }
1649    }), oe.fn.extend({
1650        data: function(e, t) {
1651            var n, r, i, o = this[0],
1652                s = o && o.attributes;
1653            if (void 0 === e) {
1654                if (this.length && (i = Ee.get(o), 1 === o.nodeType && !Se.get(o, "hasDataAttrs"))) {
1655                    for (n = s.length; n--;) s[n] && (r = s[n].name, 0 === r.indexOf("data-") && (r = oe.camelCase(r.slice(5)), u(o, r, i[r])));
1656                    Se.set(o, "hasDataAttrs", !0)
1657                }
1658                return i
1659            }
1660            return "object" == typeof e ? this.each(function() {
1661                Ee.set(this, e)
1662            }) : Ce(this, function(t) {
1663                var n, r;
1664                if (o && void 0 === t) {
1665                    if (n = Ee.get(o, e) || Ee.get(o, e.replace(Ne, "-$&").toLowerCase()), void 0 !== n) return n;
1666                    if (r = oe.camelCase(e), n = Ee.get(o, r), void 0 !== n) return n;
1667                    if (n = u(o, r, void 0), void 0 !== n) return n
1668                } else r = oe.camelCase(e), this.each(function() {
1669                    var n = Ee.get(this, r);
1670                    Ee.set(this, r, t), e.indexOf("-") > -1 && void 0 !== n && Ee.set(this, e, t)
1671                })
1672            }, null, t, arguments.length > 1, null, !0)
1673        },
1674        removeData: function(e) {
1675            return this.each(function() {
1676                Ee.remove(this, e)
1677            })
1678        }
1679    }), oe.extend({
1680        queue: function(e, t, n) {
1681            var r;
1682            if (e) return t = (t || "fx") + "queue", r = Se.get(e, t), n && (!r || oe.isArray(n) ? r = Se.access(e, t, oe.makeArray(n)) : r.push(n)), r || []
1683        },
1684        dequeue: function(e, t) {
1685            t = t || "fx";
1686            var n = oe.queue(e, t),
1687                r = n.length,
1688                i = n.shift(),
1689                o = oe._queueHooks(e, t),
1690                s = function() {
1691                    oe.dequeue(e, t)
1692                };
1693            "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, s, o)), !r && o && o.empty.fire()
1694        },
1695        _queueHooks: function(e, t) {
1696            var n = t + "queueHooks";
1697            return Se.get(e, n) || Se.access(e, n, {
1698                empty: oe.Callbacks("once memory").add(function() {
1699                    Se.remove(e, [t + "queue", n])
1700                })
1701            })
1702        }
1703    }), oe.fn.extend({
1704        queue: function(e, t) {
1705            var n = 2;
1706            return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? oe.queue(this[0], e) : void 0 === t ? this : this.each(function() {
1707                var n = oe.queue(this, e, t);
1708                oe._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && oe.dequeue(this, e)
1709            })
1710        },
1711        dequeue: function(e) {
1712            return this.each(function() {
1713                oe.dequeue(this, e)
1714            })
1715        },
1716        clearQueue: function(e) {
1717            return this.queue(e || "fx", [])
1718        },
1719        promise: function(e, t) {
1720            var n, r = 1,
1721                i = oe.Deferred(),
1722                o = this,
1723                s = this.length,
1724                a = function() {
1725                    --r || i.resolveWith(o, [o])
1726                };
1727            for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; s--;) n = Se.get(o[s], e + "queueHooks"), n && n.empty && (r++, n.empty.add(a));
1728            return a(), i.promise(t)
1729        }
1730    });
1731    var je = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
1732        De = new RegExp("^(?:([+-])=|)(" + je + ")([a-z%]*)$", "i"),
1733        Le = ["Top", "Right", "Bottom", "Left"],
1734        $e = function(e, t) {
1735            return e = t || e, "none" === oe.css(e, "display") || !oe.contains(e.ownerDocument, e)
1736        },
1737        Re = /^(?:checkbox|radio)$/i,
1738        qe = /<([\w:-]+)/,
1739        Me = /^$|\/(?:java|ecma)script/i,
1740        Oe = {
1741            option: [1, "<select multiple='multiple'>", "</select>"],
1742            thead: [1, "<table>", "</table>"],
1743            col: [2, "<table><colgroup>", "</colgroup></table>"],
1744            tr: [2, "<table><tbody>", "</tbody></table>"],
1745            td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
1746            _default: [0, "", ""]
1747        };
1748    Oe.optgroup = Oe.option, Oe.tbody = Oe.tfoot = Oe.colgroup = Oe.caption = Oe.thead, Oe.th = Oe.td;
1749    var He = /<|&#?\w+;/;
1750    ! function() {
1751        var e = V.createDocumentFragment(),
1752            t = e.appendChild(V.createElement("div")),
1753            n = V.createElement("input");
1754        n.setAttribute("type", "radio"), n.setAttribute("checked", "checked"), n.setAttribute("name", "t"), t.appendChild(n), re.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked, t.innerHTML = "<textarea>x</textarea>", re.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue
1755    }();
1756    var Pe = /^key/,
1757        Ie = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
1758        Fe = /^([^.]*)(?:\.(.+)|)/;
1759    oe.event = {
1760        global: {},
1761        add: function(e, t, n, r, i) {
1762            var o, s, a, u, c, l, f, d, p, h, g, m = Se.get(e);
1763            if (m)
1764                for (n.handler && (o = n, n = o.handler, i = o.selector), n.guid || (n.guid = oe.guid++), (u = m.events) || (u = m.events = {}), (s = m.handle) || (s = m.handle = function(t) {
1765                        return "undefined" != typeof oe && oe.event.triggered !== t.type ? oe.event.dispatch.apply(e, arguments) : void 0
1766                    }), t = (t || "").match(we) || [""], c = t.length; c--;) a = Fe.exec(t[c]) || [], p = g = a[1], h = (a[2] || "").split(".").sort(), p && (f = oe.event.special[p] || {}, p = (i ? f.delegateType : f.bindType) || p, f = oe.event.special[p] || {}, l = oe.extend({
1767                    type: p,
1768                    origType: g,
1769                    data: r,
1770                    handler: n,
1771                    guid: n.guid,
1772                    selector: i,
1773                    needsContext: i && oe.expr.match.needsContext.test(i),
1774                    namespace: h.join(".")
1775                }, o), (d = u[p]) || (d = u[p] = [], d.delegateCount = 0, f.setup && f.setup.call(e, r, h, s) !== !1 || e.addEventListener && e.addEventListener(p, s)), f.add && (f.add.call(e, l), l.handler.guid || (l.handler.guid = n.guid)), i ? d.splice(d.delegateCount++, 0, l) : d.push(l), oe.event.global[p] = !0)
1776        },
1777        remove: function(e, t, n, r, i) {
1778            var o, s, a, u, c, l, f, d, p, h, g, m = Se.hasData(e) && Se.get(e);
1779            if (m && (u = m.events)) {
1780                for (t = (t || "").match(we) || [""], c = t.length; c--;)
1781                    if (a = Fe.exec(t[c]) || [], p = g = a[1], h = (a[2] || "").split(".").sort(), p) {
1782                        for (f = oe.event.special[p] || {}, p = (r ? f.delegateType : f.bindType) || p, d = u[p] || [], a = a[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), s = o = d.length; o--;) l = d[o], !i && g !== l.origType || n && n.guid !== l.guid || a && !a.test(l.namespace) || r && r !== l.selector && ("**" !== r || !l.selector) || (d.splice(o, 1), l.selector && d.delegateCount--, f.remove && f.remove.call(e, l));
1783                        s && !d.length && (f.teardown && f.teardown.call(e, h, m.handle) !== !1 || oe.removeEvent(e, p, m.handle), delete u[p])
1784                    } else
1785                        for (p in u) oe.event.remove(e, p + t[c], n, r, !0);
1786                oe.isEmptyObject(u) && Se.remove(e, "handle events")
1787            }
1788        },
1789        dispatch: function(e) {
1790            e = oe.event.fix(e);
1791            var t, n, r, i, o, s = [],
1792                a = Y.call(arguments),
1793                u = (Se.get(this, "events") || {})[e.type] || [],
1794                c = oe.event.special[e.type] || {};
1795            if (a[0] = e, e.delegateTarget = this, !c.preDispatch || c.preDispatch.call(this, e) !== !1) {
1796                for (s = oe.event.handlers.call(this, e, u), t = 0;
1797                    (i = s[t++]) && !e.isPropagationStopped();)
1798                    for (e.currentTarget = i.elem, n = 0;
1799                        (o = i.handlers[n++]) && !e.isImmediatePropagationStopped();) e.rnamespace && !e.rnamespace.test(o.namespace) || (e.handleObj = o, e.data = o.data, r = ((oe.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, a), void 0 !== r && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation()));
1800                return c.postDispatch && c.postDispatch.call(this, e), e.result
1801            }
1802        },
1803        handlers: function(e, t) {
1804            var n, r, i, o, s = [],
1805                a = t.delegateCount,
1806                u = e.target;
1807            if (a && u.nodeType && ("click" !== e.type || isNaN(e.button) || e.button < 1))
1808                for (; u !== this; u = u.parentNode || this)
1809                    if (1 === u.nodeType && (u.disabled !== !0 || "click" !== e.type)) {
1810                        for (r = [], n = 0; n < a; n++) o = t[n], i = o.selector + " ", void 0 === r[i] && (r[i] = o.needsContext ? oe(i, this).index(u) > -1 : oe.find(i, this, null, [u]).length), r[i] && r.push(o);
1811                        r.length && s.push({
1812                            elem: u,
1813                            handlers: r
1814                        })
1815                    }
1816            return a < t.length && s.push({
1817                elem: this,
1818                handlers: t.slice(a)
1819            }), s
1820        },
1821        props: "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
1822        fixHooks: {},
1823        keyHooks: {
1824            props: "char charCode key keyCode".split(" "),
1825            filter: function(e, t) {
1826                return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e
1827            }
1828        },
1829        mouseHooks: {
1830            props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
1831            filter: function(e, t) {
1832                var n, r, i, o = t.button;
1833                return null == e.pageX && null != t.clientX && (n = e.target.ownerDocument || V, r = n.documentElement, i = n.body, e.pageX = t.clientX + (r && r.scrollLeft || i && i.scrollLeft || 0) - (r && r.clientLeft || i && i.clientLeft || 0), e.pageY = t.clientY + (r && r.scrollTop || i && i.scrollTop || 0) - (r && r.clientTop || i && i.clientTop || 0)), e.which || void 0 === o || (e.which = 1 & o ? 1 : 2 & o ? 3 : 4 & o ? 2 : 0), e
1834            }
1835        },
1836        fix: function(e) {
1837            if (e[oe.expando]) return e;
1838            var t, n, r, i = e.type,
1839                o = e,
1840                s = this.fixHooks[i];
1841            for (s || (this.fixHooks[i] = s = Ie.test(i) ? this.mouseHooks : Pe.test(i) ? this.keyHooks : {}), r = s.props ? this.props.concat(s.props) : this.props, e = new oe.Event(o), t = r.length; t--;) n = r[t], e[n] = o[n];
1842            return e.target || (e.target = V), 3 === e.target.nodeType && (e.target = e.target.parentNode), s.filter ? s.filter(e, o) : e
1843        },
1844        special: {
1845            load: {
1846                noBubble: !0
1847            },
1848            focus: {
1849                trigger: function() {
1850                    if (this !== g() && this.focus) return this.focus(), !1
1851                },
1852                delegateType: "focusin"
1853            },
1854            blur: {
1855                trigger: function() {
1856                    if (this === g() && this.blur) return this.blur(), !1
1857                },
1858                delegateType: "focusout"
1859            },
1860            click: {
1861                trigger: function() {
1862                    if ("checkbox" === this.type && this.click && oe.nodeName(this, "input")) return this.click(), !1
1863                },
1864                _default: function(e) {
1865                    return oe.nodeName(e.target, "a")
1866                }
1867            },
1868            beforeunload: {
1869                postDispatch: function(e) {
1870                    void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
1871                }
1872            }
1873        }
1874    }, oe.removeEvent = function(e, t, n) {
1875        e.removeEventListener && e.removeEventListener(t, n)
1876    }, oe.Event = function(e, t) {
1877        return this instanceof oe.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && e.returnValue === !1 ? p : h) : this.type = e, t && oe.extend(this, t), this.timeStamp = e && e.timeStamp || oe.now(), void(this[oe.expando] = !0)) : new oe.Event(e, t)
1878    }, oe.Event.prototype = {
1879        constructor: oe.Event,
1880        isDefaultPrevented: h,
1881        isPropagationStopped: h,
1882        isImmediatePropagationStopped: h,
1883        isSimulated: !1,
1884        preventDefault: function() {
1885            var e = this.originalEvent;
1886            this.isDefaultPrevented = p, e && !this.isSimulated && e.preventDefault()
1887        },
1888        stopPropagation: function() {
1889            var e = this.originalEvent;
1890            this.isPropagationStopped = p, e && !this.isSimulated && e.stopPropagation()
1891        },
1892        stopImmediatePropagation: function() {
1893            var e = this.originalEvent;
1894            this.isImmediatePropagationStopped = p, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation()
1895        }
1896    }, oe.each({
1897        mouseenter: "mouseover",
1898        mouseleave: "mouseout",
1899        pointerenter: "pointerover",
1900        pointerleave: "pointerout"
1901    }, function(e, t) {
1902        oe.event.special[e] = {
1903            delegateType: t,
1904            bindType: t,
1905            handle: function(e) {
1906                var n, r = this,
1907                    i = e.relatedTarget,
1908                    o = e.handleObj;
1909                return i && (i === r || oe.contains(r, i)) || (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n
1910            }
1911        }
1912    }), oe.fn.extend({
1913        on: function(e, t, n, r) {
1914            return m(this, e, t, n, r)
1915        },
1916        one: function(e, t, n, r) {
1917            return m(this, e, t, n, r, 1)
1918        },
1919        off: function(e, t, n) {
1920            var r, i;
1921            if (e && e.preventDefault && e.handleObj) return r = e.handleObj, oe(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this;
1922            if ("object" == typeof e) {
1923                for (i in e) this.off(i, t, e[i]);
1924                return this
1925            }
1926            return t !== !1 && "function" != typeof t || (n = t, t = void 0), n === !1 && (n = h), this.each(function() {
1927                oe.event.remove(this, e, n, t)
1928            })
1929        }
1930    });
1931    var _e = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
1932        ze = /<script|<style|<link/i,
1933        Be = /checked\s*(?:[^=]|=\s*.checked.)/i,
1934        We = /^true\/(.*)/,
1935        Ue = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
1936    oe.extend({
1937        htmlPrefilter: function(e) {
1938            return e.replace(_e, "<$1></$2>")
1939        },
1940        clone: function(e, t, n) {
1941            var r, i, o, s, a = e.cloneNode(!0),
1942                u = oe.contains(e.ownerDocument, e);
1943            if (!(re.noCloneChecked || 1 !== e.nodeType && 11 !== e.
vendor: 4,078 bytes, lines 1943-2043
1943nodeType || oe.isXMLDoc(e)))
1944                for (s = l(a), o = l(e), r = 0, i = o.length; r < i; r++) w(o[r], s[r]);
1945            if (t)
1946                if (n)
1947                    for (o = o || l(e), s = s || l(a), r = 0, i = o.length; r < i; r++) b(o[r], s[r]);
1948                else b(e, a);
1949            return s = l(a, "script"), s.length > 0 && f(s, !u && l(e, "script")), a
1950        },
1951        cleanData: function(e) {
1952            for (var t, n, r, i = oe.event.special, o = 0; void 0 !== (n = e[o]); o++)
1953                if (Ae(n)) {
1954                    if (t = n[Se.expando]) {
1955                        if (t.events)
1956                            for (r in t.events) i[r] ? oe.event.remove(n, r) : oe.removeEvent(n, r, t.handle);
1957                        n[Se.expando] = void 0
1958                    }
1959                    n[Ee.expando] && (n[Ee.expando] = void 0)
1960                }
1961        }
1962    }), oe.fn.extend({
1963        domManip: T,
1964        detach: function(e) {
1965            return C(this, e, !0)
1966        },
1967        remove: function(e) {
1968            return C(this, e)
1969        },
1970        text: function(e) {
1971            return Ce(this, function(e) {
1972                return void 0 === e ? oe.text(this) : this.empty().each(function() {
1973                    1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e)
1974                })
1975            }, null, e, arguments.length)
1976        },
1977        append: function() {
1978            return T(this, arguments, function(e) {
1979                if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
1980                    var t = v(this, e);
1981                    t.appendChild(e)
1982                }
1983            })
1984        },
1985        prepend: function() {
1986            return T(this, arguments, function(e) {
1987                if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
1988                    var t = v(this, e);
1989                    t.insertBefore(e, t.firstChild)
1990                }
1991            })
1992        },
1993        before: function() {
1994            return T(this, arguments, function(e) {
1995                this.parentNode && this.parentNode.insertBefore(e, this)
1996            })
1997        },
1998        after: function() {
1999            return T(this, arguments, function(e) {
2000                this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
2001            })
2002        },
2003        empty: function() {
2004            for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (oe.cleanData(l(e, !1)), e.textContent = "");
2005            return this
2006        },
2007        clone: function(e, t) {
2008            return e = null != e && e, t = null == t ? e : t, this.map(function() {
2009                return oe.clone(this, e, t)
2010            })
2011        },
2012        html: function(e) {
2013            return Ce(this, function(e) {
2014                var t = this[0] || {},
2015                    n = 0,
2016                    r = this.length;
2017                if (void 0 === e && 1 === t.nodeType) return t.innerHTML;
2018                if ("string" == typeof e && !ze.test(e) && !Oe[(qe.exec(e) || ["", ""])[1].toLowerCase()]) {
2019                    e = oe.htmlPrefilter(e);
2020                    try {
2021                        for (; n < r; n++) t = this[n] || {}, 1 === t.nodeType && (oe.cleanData(l(t, !1)), t.innerHTML = e);
2022                        t = 0
2023                    } catch (i) {}
2024                }
2025                t && this.empty().append(e)
2026            }, null, e, arguments.length)
2027        },
2028        replaceWith: function() {
2029            var e = [];
2030            return T(this, arguments, function(t) {
2031                var n = this.parentNode;
2032                oe.inArray(this, e) < 0 && (oe.cleanData(l(this)), n && n.replaceChild(t, this))
2033            }, e)
2034        }
2035    }), oe.each({
2036        appendTo: "append",
2037        prependTo: "prepend",
2038        insertBefore: "before",
2039        insertAfter: "after",
2040        replaceAll: "replaceWith"
2041    }, function(e, t) {
2042        oe.fn[e] = function(e) {
2043            for (var n, r = [], i = oe(e), o = i.length - 1, s = 0; s <= o;
vendor: 44,538 bytes, lines 2043-2975
2043 s++) n = s === o ? this : this.clone(!0), oe(i[s])[t](n), K.apply(r, n.get());
2044            return this.pushStack(r)
2045        }
2046    });
2047    var Xe, Ge = {
2048            HTML: "block",
2049            BODY: "block"
2050        },
2051        Qe = /^margin/,
2052        Ve = new RegExp("^(" + je + ")(?!px)[a-z%]+$", "i"),
2053        Ye = function(t) {
2054            var n = t.ownerDocument.defaultView;
2055            return n && n.opener || (n = e), n.getComputedStyle(t)
2056        },
2057        Je = function(e, t, n, r) {
2058            var i, o, s = {};
2059            for (o in t) s[o] = e.style[o], e.style[o] = t[o];
2060            i = n.apply(e, r || []);
2061            for (o in t) e.style[o] = s[o];
2062            return i
2063        },
2064        Ke = V.documentElement;
2065    ! function() {
2066        function t() {
2067            a.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%", a.innerHTML = "", Ke.appendChild(s);
2068            var t = e.getComputedStyle(a);
2069            n = "1%" !== t.top, o = "2px" === t.marginLeft, r = "4px" === t.width, a.style.marginRight = "50%", i = "4px" === t.marginRight, Ke.removeChild(s)
2070        }
2071        var n, r, i, o, s = V.createElement("div"),
2072            a = V.createElement("div");
2073        a.style && (a.style.backgroundClip = "content-box", a.cloneNode(!0).style.backgroundClip = "", re.clearCloneStyle = "content-box" === a.style.backgroundClip, s.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute", s.appendChild(a), oe.extend(re, {
2074            pixelPosition: function() {
2075                return t(), n
2076            },
2077            boxSizingReliable: function() {
2078                return null == r && t(), r
2079            },
2080            pixelMarginRight: function() {
2081                return null == r && t(), i
2082            },
2083            reliableMarginLeft: function() {
2084                return null == r && t(), o
2085            },
2086            reliableMarginRight: function() {
2087                var t, n = a.appendChild(V.createElement("div"));
2088                return n.style.cssText = a.style.cssText = "-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", n.style.marginRight = n.style.width = "0", a.style.width = "1px", Ke.appendChild(s), t = !parseFloat(e.getComputedStyle(n).marginRight), Ke.removeChild(s), a.removeChild(n), t
2089            }
2090        }))
2091    }();
2092    var Ze = /^(none|table(?!-c[ea]).+)/,
2093        et = {
2094            position: "absolute",
2095            visibility: "hidden",
2096            display: "block"
2097        },
2098        tt = {
2099            letterSpacing: "0",
2100            fontWeight: "400"
2101        },
2102        nt = ["Webkit", "O", "Moz", "ms"],
2103        rt = V.createElement("div").style;
2104    oe.extend({
2105        cssHooks: {
2106            opacity: {
2107                get: function(e, t) {
2108                    if (t) {
2109                        var n = E(e, "opacity");
2110                        return "" === n ? "1" : n
2111                    }
2112                }
2113            }
2114        },
2115        cssNumber: {
2116            animationIterationCount: !0,
2117            columnCount: !0,
2118            fillOpacity: !0,
2119            flexGrow: !0,
2120            flexShrink: !0,
2121            fontWeight: !0,
2122            lineHeight: !0,
2123            opacity: !0,
2124            order: !0,
2125            orphans: !0,
2126            widows: !0,
2127            zIndex: !0,
2128            zoom: !0
2129        },
2130        cssProps: {
2131            "float": "cssFloat"
2132        },
2133        style: function(e, t, n, r) {
2134            if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
2135                var i, o, s, a = oe.camelCase(t),
2136                    u = e.style;
2137                return t = oe.cssProps[a] || (oe.cssProps[a] = N(a) || a), s = oe.cssHooks[t] || oe.cssHooks[a], void 0 === n ? s && "get" in s && void 0 !== (i = s.get(e, !1, r)) ? i : u[t] : (o = typeof n, "string" === o && (i = De.exec(n)) && i[1] && (n = c(e, t, i), o = "number"), null != n && n === n && ("number" === o && (n += i && i[3] || (oe.cssNumber[a] ? "" : "px")), re.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (u[t] = "inherit"), s && "set" in s && void 0 === (n = s.set(e, n, r)) || (u[t] = n)), void 0)
2138            }
2139        },
2140        css: function(e, t, n, r) {
2141            var i, o, s, a = oe.camelCase(t);
2142            return t = oe.cssProps[a] || (oe.cssProps[a] = N(a) || a), s = oe.cssHooks[t] || oe.cssHooks[a], s && "get" in s && (i = s.get(e, !0, n)), void 0 === i && (i = E(e, t, r)), "normal" === i && t in tt && (i = tt[t]), "" === n || n ? (o = parseFloat(i), n === !0 || isFinite(o) ? o || 0 : i) : i
2143        }
2144    }), oe.each(["height", "width"], function(e, t) {
2145        oe.cssHooks[t] = {
2146            get: function(e, n, r) {
2147                if (n) return Ze.test(oe.css(e, "display")) && 0 === e.offsetWidth ? Je(e, et, function() {
2148                    return L(e, t, r)
2149                }) : L(e, t, r)
2150            },
2151            set: function(e, n, r) {
2152                var i, o = r && Ye(e),
2153                    s = r && D(e, t, r, "border-box" === oe.css(e, "boxSizing", !1, o), o);
2154                return s && (i = De.exec(n)) && "px" !== (i[3] || "px") && (e.style[t] = n, n = oe.css(e, t)), j(e, n, s)
2155            }
2156        }
2157    }), oe.cssHooks.marginLeft = k(re.reliableMarginLeft, function(e, t) {
2158        if (t) return (parseFloat(E(e, "marginLeft")) || e.getBoundingClientRect().left - Je(e, {
2159            marginLeft: 0
2160        }, function() {
2161            return e.getBoundingClientRect().left
2162        })) + "px"
2163    }), oe.cssHooks.marginRight = k(re.reliableMarginRight, function(e, t) {
2164        if (t) return Je(e, {
2165            display: "inline-block"
2166        }, E, [e, "marginRight"])
2167    }), oe.each({
2168        margin: "",
2169        padding: "",
2170        border: "Width"
2171    }, function(e, t) {
2172        oe.cssHooks[e + t] = {
2173            expand: function(n) {
2174                for (var r = 0, i = {}, o = "string" == typeof n ? n.split(" ") : [n]; r < 4; r++) i[e + Le[r] + t] = o[r] || o[r - 2] || o[0];
2175                return i
2176            }
2177        }, Qe.test(e) || (oe.cssHooks[e + t].set = j)
2178    }), oe.fn.extend({
2179        css: function(e, t) {
2180            return Ce(this, function(e, t, n) {
2181                var r, i, o = {},
2182                    s = 0;
2183                if (oe.isArray(t)) {
2184                    for (r = Ye(e), i = t.length; s < i; s++) o[t[s]] = oe.css(e, t[s], !1, r);
2185                    return o
2186                }
2187                return void 0 !== n ? oe.style(e, t, n) : oe.css(e, t)
2188            }, e, t, arguments.length > 1)
2189        },
2190        show: function() {
2191            return $(this, !0)
2192        },
2193        hide: function() {
2194            return $(this)
2195        },
2196        toggle: function(e) {
2197            return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function() {
2198                $e(this) ? oe(this).show() : oe(this).hide()
2199            })
2200        }
2201    }), oe.Tween = R, R.prototype = {
2202        constructor: R,
2203        init: function(e, t, n, r, i, o) {
2204            this.elem = e, this.prop = n, this.easing = i || oe.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (oe.cssNumber[n] ? "" : "px")
2205        },
2206        cur: function() {
2207            var e = R.propHooks[this.prop];
2208            return e && e.get ? e.get(this) : R.propHooks._default.get(this)
2209        },
2210        run: function(e) {
2211            var t, n = R.propHooks[this.prop];
2212            return this.options.duration ? this.pos = t = oe.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) : R.propHooks._default.set(this), this
2213        }
2214    }, R.prototype.init.prototype = R.prototype, R.propHooks = {
2215        _default: {
2216            get: function(e) {
2217                var t;
2218                return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = oe.css(e.elem, e.prop, ""), t && "auto" !== t ? t : 0)
2219            },
2220            set: function(e) {
2221                oe.fx.step[e.prop] ? oe.fx.step[e.prop](e) : 1 !== e.elem.nodeType || null == e.elem.style[oe.cssProps[e.prop]] && !oe.cssHooks[e.prop] ? e.elem[e.prop] = e.now : oe.style(e.elem, e.prop, e.now + e.unit)
2222            }
2223        }
2224    }, R.propHooks.scrollTop = R.propHooks.scrollLeft = {
2225        set: function(e) {
2226            e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
2227        }
2228    }, oe.easing = {
2229        linear: function(e) {
2230            return e
2231        },
2232        swing: function(e) {
2233            return .5 - Math.cos(e * Math.PI) / 2
2234        },
2235        _default: "swing"
2236    }, oe.fx = R.prototype.init, oe.fx.step = {};
2237    var it, ot, st = /^(?:toggle|show|hide)$/,
2238        at = /queueHooks$/;
2239    oe.Animation = oe.extend(I, {
2240            tweeners: {
2241                "*": [function(e, t) {
2242                    var n = this.createTween(e, t);
2243                    return c(n.elem, e, De.exec(t), n), n
2244                }]
2245            },
2246            tweener: function(e, t) {
2247                oe.isFunction(e) ? (t = e, e = ["*"]) : e = e.match(we);
2248                for (var n, r = 0, i = e.length; r < i; r++) n = e[r], I.tweeners[n] = I.tweeners[n] || [], I.tweeners[n].unshift(t)
2249            },
2250            prefilters: [H],
2251            prefilter: function(e, t) {
2252                t ? I.prefilters.unshift(e) : I.prefilters.push(e)
2253            }
2254        }), oe.speed = function(e, t, n) {
2255            var r = e && "object" == typeof e ? oe.extend({}, e) : {
2256                complete: n || !n && t || oe.isFunction(e) && e,
2257                duration: e,
2258                easing: n && t || t && !oe.isFunction(t) && t
2259            };
2260            return r.duration = oe.fx.off ? 0 : "number" == typeof r.duration ? r.duration : r.duration in oe.fx.speeds ? oe.fx.speeds[r.duration] : oe.fx.speeds._default, null != r.queue && r.queue !== !0 || (r.queue = "fx"), r.old = r.complete, r.complete = function() {
2261                oe.isFunction(r.old) && r.old.call(this), r.queue && oe.dequeue(this, r.queue)
2262            }, r
2263        }, oe.fn.extend({
2264            fadeTo: function(e, t, n, r) {
2265                return this.filter($e).css("opacity", 0).show().end().animate({
2266                    opacity: t
2267                }, e, n, r)
2268            },
2269            animate: function(e, t, n, r) {
2270                var i = oe.isEmptyObject(e),
2271                    o = oe.speed(t, n, r),
2272                    s = function() {
2273                        var t = I(this, oe.extend({}, e), o);
2274                        (i || Se.get(this, "finish")) && t.stop(!0)
2275                    };
2276                return s.finish = s, i || o.queue === !1 ? this.each(s) : this.queue(o.queue, s)
2277            },
2278            stop: function(e, t, n) {
2279                var r = function(e) {
2280                    var t = e.stop;
2281                    delete e.stop, t(n)
2282                };
2283                return "string" != typeof e && (n = t, t = e, e = void 0), t && e !== !1 && this.queue(e || "fx", []), this.each(function() {
2284                    var t = !0,
2285                        i = null != e && e + "queueHooks",
2286                        o = oe.timers,
2287                        s = Se.get(this);
2288                    if (i) s[i] && s[i].stop && r(s[i]);
2289                    else
2290                        for (i in s) s[i] && s[i].stop && at.test(i) && r(s[i]);
2291                    for (i = o.length; i--;) o[i].elem !== this || null != e && o[i].queue !== e || (o[i].anim.stop(n), t = !1, o.splice(i, 1));
2292                    !t && n || oe.dequeue(this, e)
2293                })
2294            },
2295            finish: function(e) {
2296                return e !== !1 && (e = e || "fx"), this.each(function() {
2297                    var t, n = Se.get(this),
2298                        r = n[e + "queue"],
2299                        i = n[e + "queueHooks"],
2300                        o = oe.timers,
2301                        s = r ? r.length : 0;
2302                    for (n.finish = !0, oe.queue(this, e, []), i && i.stop && i.stop.call(this, !0), t = o.length; t--;) o[t].elem === this && o[t].queue === e && (o[t].anim.stop(!0), o.splice(t, 1));
2303                    for (t = 0; t < s; t++) r[t] && r[t].finish && r[t].finish.call(this);
2304                    delete n.finish
2305                })
2306            }
2307        }), oe.each(["toggle", "show", "hide"], function(e, t) {
2308            var n = oe.fn[t];
2309            oe.fn[t] = function(e, r, i) {
2310                return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(M(t, !0), e, r, i)
2311            }
2312        }), oe.each({
2313            slideDown: M("show"),
2314            slideUp: M("hide"),
2315            slideToggle: M("toggle"),
2316            fadeIn: {
2317                opacity: "show"
2318            },
2319            fadeOut: {
2320                opacity: "hide"
2321            },
2322            fadeToggle: {
2323                opacity: "toggle"
2324            }
2325        }, function(e, t) {
2326            oe.fn[e] = function(e, n, r) {
2327                return this.animate(t, e, n, r)
2328            }
2329        }), oe.timers = [], oe.fx.tick = function() {
2330            var e, t = 0,
2331                n = oe.timers;
2332            for (it = oe.now(); t < n.length; t++) e = n[t], e() || n[t] !== e || n.splice(t--, 1);
2333            n.length || oe.fx.stop(), it = void 0
2334        }, oe.fx.timer = function(e) {
2335            oe.timers.push(e), e() ? oe.fx.start() : oe.timers.pop()
2336        }, oe.fx.interval = 13, oe.fx.start = function() {
2337            ot || (ot = e.setInterval(oe.fx.tick, oe.fx.interval))
2338        }, oe.fx.stop = function() {
2339            e.clearInterval(ot), ot = null
2340        }, oe.fx.speeds = {
2341            slow: 600,
2342            fast: 200,
2343            _default: 400
2344        }, oe.fn.delay = function(t, n) {
2345            return t = oe.fx ? oe.fx.speeds[t] || t : t, n = n || "fx", this.queue(n, function(n, r) {
2346                var i = e.setTimeout(n, t);
2347                r.stop = function() {
2348                    e.clearTimeout(i)
2349                }
2350            })
2351        },
2352        function() {
2353            var e = V.createElement("input"),
2354                t = V.createElement("select"),
2355                n = t.appendChild(V.createElement("option"));
2356            e.type = "checkbox", re.checkOn = "" !== e.value, re.optSelected = n.selected, t.disabled = !0, re.optDisabled = !n.disabled, e = V.createElement("input"), e.value = "t", e.type = "radio", re.radioValue = "t" === e.value
2357        }();
2358    var ut, ct = oe.expr.attrHandle;
2359    oe.fn.extend({
2360        attr: function(e, t) {
2361            return Ce(this, oe.attr, e, t, arguments.length > 1)
2362        },
2363        removeAttr: function(e) {
2364            return this.each(function() {
2365                oe.removeAttr(this, e)
2366            })
2367        }
2368    }), oe.extend({
2369        attr: function(e, t, n) {
2370            var r, i, o = e.nodeType;
2371            if (3 !== o && 8 !== o && 2 !== o) return "undefined" == typeof e.getAttribute ? oe.prop(e, t, n) : (1 === o && oe.isXMLDoc(e) || (t = t.toLowerCase(), i = oe.attrHooks[t] || (oe.expr.match.bool.test(t) ? ut : void 0)), void 0 !== n ? null === n ? void oe.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 : (r = oe.find.attr(e, t), null == r ? void 0 : r))
2372        },
2373        attrHooks: {
2374            type: {
2375                set: function(e, t) {
2376                    if (!re.radioValue && "radio" === t && oe.nodeName(e, "input")) {
2377                        var n = e.value;
2378                        return e.setAttribute("type", t), n && (e.value = n), t
2379                    }
2380                }
2381            }
2382        },
2383        removeAttr: function(e, t) {
2384            var n, r, i = 0,
2385                o = t && t.match(we);
2386            if (o && 1 === e.nodeType)
2387                for (; n = o[i++];) r = oe.propFix[n] || n, oe.expr.match.bool.test(n) && (e[r] = !1), e.removeAttribute(n)
2388        }
2389    }), ut = {
2390        set: function(e, t, n) {
2391            return t === !1 ? oe.removeAttr(e, n) : e.setAttribute(n, n), n
2392        }
2393    }, oe.each(oe.expr.match.bool.source.match(/\w+/g), function(e, t) {
2394        var n = ct[t] || oe.find.attr;
2395        ct[t] = function(e, t, r) {
2396            var i, o;
2397            return r || (o = ct[t], ct[t] = i, i = null != n(e, t, r) ? t.toLowerCase() : null, ct[t] = o), i
2398        }
2399    });
2400    var lt = /^(?:input|select|textarea|button)$/i,
2401        ft = /^(?:a|area)$/i;
2402    oe.fn.extend({
2403        prop: function(e, t) {
2404            return Ce(this, oe.prop, e, t, arguments.length > 1)
2405        },
2406        removeProp: function(e) {
2407            return this.each(function() {
2408                delete this[oe.propFix[e] || e]
2409            })
2410        }
2411    }), oe.extend({
2412        prop: function(e, t, n) {
2413            var r, i, o = e.nodeType;
2414            if (3 !== o && 8 !== o && 2 !== o) return 1 === o && oe.isXMLDoc(e) || (t = oe.propFix[t] || t, i = oe.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]
2415        },
2416        propHooks: {
2417            tabIndex: {
2418                get: function(e) {
2419                    var t = oe.find.attr(e, "tabindex");
2420                    return t ? parseInt(t, 10) : lt.test(e.nodeName) || ft.test(e.nodeName) && e.href ? 0 : -1
2421                }
2422            }
2423        },
2424        propFix: {
2425            "for": "htmlFor",
2426            "class": "className"
2427        }
2428    }), re.optSelected || (oe.propHooks.selected = {
2429        get: function(e) {
2430            var t = e.parentNode;
2431            return t && t.parentNode && t.parentNode.selectedIndex, null
2432        },
2433        set: function(e) {
2434            var t = e.parentNode;
2435            t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex)
2436        }
2437    }), oe.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() {
2438        oe.propFix[this.toLowerCase()] = this
2439    });
2440    var dt = /[\t\r\n\f]/g;
2441    oe.fn.extend({
2442        addClass: function(e) {
2443            var t, n, r, i, o, s, a, u = 0;
2444            if (oe.isFunction(e)) return this.each(function(t) {
2445                oe(this).addClass(e.call(this, t, F(this)))
2446            });
2447            if ("string" == typeof e && e)
2448                for (t = e.match(we) || []; n = this[u++];)
2449                    if (i = F(n), r = 1 === n.nodeType && (" " + i + " ").replace(dt, " ")) {
2450                        for (s = 0; o = t[s++];) r.indexOf(" " + o + " ") < 0 && (r += o + " ");
2451                        a = oe.trim(r), i !== a && n.setAttribute("class", a)
2452                    }
2453            return this
2454        },
2455        removeClass: function(e) {
2456            var t, n, r, i, o, s, a, u = 0;
2457            if (oe.isFunction(e)) return this.each(function(t) {
2458                oe(this).removeClass(e.call(this, t, F(this)))
2459            });
2460            if (!arguments.length) return this.attr("class", "");
2461            if ("string" == typeof e && e)
2462                for (t = e.match(we) || []; n = this[u++];)
2463                    if (i = F(n), r = 1 === n.nodeType && (" " + i + " ").replace(dt, " ")) {
2464                        for (s = 0; o = t[s++];)
2465                            for (; r.indexOf(" " + o + " ") > -1;) r = r.replace(" " + o + " ", " ");
2466                        a = oe.trim(r), i !== a && n.setAttribute("class", a)
2467                    }
2468            return this
2469        },
2470        toggleClass: function(e, t) {
2471            var n = typeof e;
2472            return "boolean" == typeof t && "string" === n ? t ? this.addClass(e) : this.removeClass(e) : oe.isFunction(e) ? this.each(function(n) {
2473                oe(this).toggleClass(e.call(this, n, F(this), t), t)
2474            }) : this.each(function() {
2475                var t, r, i, o;
2476                if ("string" === n)
2477                    for (r = 0, i = oe(this), o = e.match(we) || []; t = o[r++];) i.hasClass(t) ? i.removeClass(t) : i.addClass(t);
2478                else void 0 !== e && "boolean" !== n || (t = F(this), t && Se.set(this, "__className__", t), this.setAttribute && this.setAttribute("class", t || e === !1 ? "" : Se.get(this, "__className__") || ""))
2479            })
2480        },
2481        hasClass: function(e) {
2482            var t, n, r = 0;
2483            for (t = " " + e + " "; n = this[r++];)
2484                if (1 === n.nodeType && (" " + F(n) + " ").replace(dt, " ").indexOf(t) > -1) return !0;
2485            return !1
2486        }
2487    });
2488    var pt = /\r/g,
2489        ht = /[\x20\t\r\n\f]+/g;
2490    oe.fn.extend({
2491        val: function(e) {
2492            var t, n, r, i = this[0]; {
2493                if (arguments.length) return r = oe.isFunction(e), this.each(function(n) {
2494                    var i;
2495                    1 === this.nodeType && (i = r ? e.call(this, n, oe(this).val()) : e, null == i ? i = "" : "number" == typeof i ? i += "" : oe.isArray(i) && (i = oe.map(i, function(e) {
2496                        return null == e ? "" : e + ""
2497                    })), t = oe.valHooks[this.type] || oe.valHooks[this.nodeName.toLowerCase()], t && "set" in t && void 0 !== t.set(this, i, "value") || (this.value = i))
2498                });
2499                if (i) return t = oe.valHooks[i.type] || oe.valHooks[i.nodeName.toLowerCase()], t && "get" in t && void 0 !== (n = t.get(i, "value")) ? n : (n = i.value, "string" == typeof n ? n.replace(pt, "") : null == n ? "" : n)
2500            }
2501        }
2502    }), oe.extend({
2503        valHooks: {
2504            option: {
2505                get: function(e) {
2506                    var t = oe.find.attr(e, "value");
2507                    return null != t ? t : oe.trim(oe.text(e)).replace(ht, " ")
2508                }
2509            },
2510            select: {
2511                get: function(e) {
2512                    for (var t, n, r = e.options, i = e.selectedIndex, o = "select-one" === e.type || i < 0, s = o ? null : [], a = o ? i + 1 : r.length, u = i < 0 ? a : o ? i : 0; u < a; u++)
2513                        if (n = r[u], (n.selected || u === i) && (re.optDisabled ? !n.disabled : null === n.getAttribute("disabled")) && (!n.parentNode.disabled || !oe.nodeName(n.parentNode, "optgroup"))) {
2514                            if (t = oe(n).val(), o) return t;
2515                            s.push(t)
2516                        }
2517                    return s
2518                },
2519                set: function(e, t) {
2520                    for (var n, r, i = e.options, o = oe.makeArray(t), s = i.length; s--;) r = i[s], (r.selected = oe.inArray(oe.valHooks.option.get(r), o) > -1) && (n = !0);
2521                    return n || (e.selectedIndex = -1), o
2522                }
2523            }
2524        }
2525    }), oe.each(["radio", "checkbox"], function() {
2526        oe.valHooks[this] = {
2527            set: function(e, t) {
2528                if (oe.isArray(t)) return e.checked = oe.inArray(oe(e).val(), t) > -1
2529            }
2530        }, re.checkOn || (oe.valHooks[this].get = function(e) {
2531            return null === e.getAttribute("value") ? "on" : e.value
2532        })
2533    });
2534    var gt = /^(?:focusinfocus|focusoutblur)$/;
2535    oe.extend(oe.event, {
2536        trigger: function(t, n, r, i) {
2537            var o, s, a, u, c, l, f, d = [r || V],
2538                p = ne.call(t, "type") ? t.type : t,
2539                h = ne.call(t, "namespace") ? t.namespace.split(".") : [];
2540            if (s = a = r = r || V, 3 !== r.nodeType && 8 !== r.nodeType && !gt.test(p + oe.event.triggered) && (p.indexOf(".") > -1 && (h = p.split("."), p = h.shift(), h.sort()), c = p.indexOf(":") < 0 && "on" + p, t = t[oe.expando] ? t : new oe.Event(p, "object" == typeof t && t), t.isTrigger = i ? 2 : 3, t.namespace = h.join("."), t.rnamespace = t.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, t.result = void 0, t.target || (t.target = r), n = null == n ? [t] : oe.makeArray(n, [t]), f = oe.event.special[p] || {}, i || !f.trigger || f.trigger.apply(r, n) !== !1)) {
2541                if (!i && !f.noBubble && !oe.isWindow(r)) {
2542                    for (u = f.delegateType || p, gt.test(u + p) || (s = s.parentNode); s; s = s.parentNode) d.push(s), a = s;
2543                    a === (r.ownerDocument || V) && d.push(a.defaultView || a.parentWindow || e)
2544                }
2545                for (o = 0;
2546                    (s = d[o++]) && !t.isPropagationStopped();) t.type = o > 1 ? u : f.bindType || p, l = (Se.get(s, "events") || {})[t.type] && Se.get(s, "handle"), l && l.apply(s, n), l = c && s[c], l && l.apply && Ae(s) && (t.result = l.apply(s, n), t.result === !1 && t.preventDefault());
2547                return t.type = p, i || t.isDefaultPrevented() || f._default && f._default.apply(d.pop(), n) !== !1 || !Ae(r) || c && oe.isFunction(r[p]) && !oe.isWindow(r) && (a = r[c], a && (r[c] = null), oe.event.triggered = p, r[p](), oe.event.triggered = void 0, a && (r[c] = a)), t.result
2548            }
2549        },
2550        simulate: function(e, t, n) {
2551            var r = oe.extend(new oe.Event, n, {
2552                type: e,
2553                isSimulated: !0
2554            });
2555            oe.event.trigger(r, null, t)
2556        }
2557    }), oe.fn.extend({
2558        trigger: function(e, t) {
2559            return this.each(function() {
2560                oe.event.trigger(e, t, this)
2561            })
2562        },
2563        triggerHandler: function(e, t) {
2564            var n = this[0];
2565            if (n) return oe.event.trigger(e, t, n, !0)
2566        }
2567    }), oe.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(e, t) {
2568        oe.fn[t] = function(e, n) {
2569            return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
2570        }
2571    }), oe.fn.extend({
2572        hover: function(e, t) {
2573            return this.mouseenter(e).mouseleave(t || e)
2574        }
2575    }), re.focusin = "onfocusin" in e, re.focusin || oe.each({
2576        focus: "focusin",
2577        blur: "focusout"
2578    }, function(e, t) {
2579        var n = function(e) {
2580            oe.event.simulate(t, e.target, oe.event.fix(e))
2581        };
2582        oe.event.special[t] = {
2583            setup: function() {
2584                var r = this.ownerDocument || this,
2585                    i = Se.access(r, t);
2586                i || r.addEventListener(e, n, !0), Se.access(r, t, (i || 0) + 1)
2587            },
2588            teardown: function() {
2589                var r = this.ownerDocument || this,
2590                    i = Se.access(r, t) - 1;
2591                i ? Se.access(r, t, i) : (r.removeEventListener(e, n, !0), Se.remove(r, t))
2592            }
2593        }
2594    });
2595    var mt = e.location,
2596        vt = oe.now(),
2597        yt = /\?/;
2598    oe.parseJSON = function(e) {
2599        return JSON.parse(e + "")
2600    }, oe.parseXML = function(t) {
2601        var n;
2602        if (!t || "string" != typeof t) return null;
2603        try {
2604            n = (new e.DOMParser).parseFromString(t, "text/xml")
2605        } catch (r) {
2606            n = void 0
2607        }
2608        return n && !n.getElementsByTagName("parsererror").length || oe.error("Invalid XML: " + t), n
2609    };
2610    var xt = /#.*$/,
2611        bt = /([?&])_=[^&]*/,
2612        wt = /^(.*?):[ \t]*([^\r\n]*)$/gm,
2613        Tt = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
2614        Ct = /^(?:GET|HEAD)$/,
2615        At = /^\/\//,
2616        St = {},
2617        Et = {},
2618        kt = "*/".concat("*"),
2619        Nt = V.createElement("a");
2620    Nt.href = mt.href, oe.extend({
2621        active: 0,
2622        lastModified: {},
2623        etag: {},
2624        ajaxSettings: {
2625            url: mt.href,
2626            type: "GET",
2627            isLocal: Tt.test(mt.protocol),
2628            global: !0,
2629            processData: !0,
2630            async: !0,
2631            contentType: "application/x-www-form-urlencoded; charset=UTF-8",
2632            accepts: {
2633                "*": kt,
2634                text: "text/plain",
2635                html: "text/html",
2636                xml: "application/xml, text/xml",
2637                json: "application/json, text/javascript"
2638            },
2639            contents: {
2640                xml: /\bxml\b/,
2641                html: /\bhtml/,
2642                json: /\bjson\b/
2643            },
2644            responseFields: {
2645                xml: "responseXML",
2646                text: "responseText",
2647                json: "responseJSON"
2648            },
2649            converters: {
2650                "* text": String,
2651                "text html": !0,
2652                "text json": oe.parseJSON,
2653                "text xml": oe.parseXML
2654            },
2655            flatOptions: {
2656                url: !0,
2657                context: !0
2658            }
2659        },
2660        ajaxSetup: function(e, t) {
2661            return t ? B(B(e, oe.ajaxSettings), t) : B(oe.ajaxSettings, e)
2662        },
2663        ajaxPrefilter: _(St),
2664        ajaxTransport: _(Et),
2665        ajax: function(t, n) {
2666            function r(t, n, r, a) {
2667                var c, f, y, x, w, C = n;
2668                2 !== b && (b = 2, u && e.clearTimeout(u), i = void 0, s = a || "", T.readyState = t > 0 ? 4 : 0, c = t >= 200 && t < 300 || 304 === t, r && (x = W(d, T, r)), x = U(d, x, T, c), c ? (d.ifModified && (w = T.getResponseHeader("Last-Modified"), w && (oe.lastModified[o] = w), w = T.getResponseHeader("etag"), w && (oe.etag[o] = w)), 204 === t || "HEAD" === d.type ? C = "nocontent" : 304 === t ? C = "notmodified" : (C = x.state, f = x.data, y = x.error, c = !y)) : (y = C, !t && C || (C = "error", t < 0 && (t = 0))), T.status = t, T.statusText = (n || C) + "", c ? g.resolveWith(p, [f, C, T]) : g.rejectWith(p, [T, C, y]), T.statusCode(v), v = void 0, l && h.trigger(c ? "ajaxSuccess" : "ajaxError", [T, d, c ? f : y]), m.fireWith(p, [T, C]), l && (h.trigger("ajaxComplete", [T, d]), --oe.active || oe.event.trigger("ajaxStop")))
2669            }
2670            "object" == typeof t && (n = t, t = void 0), n = n || {};
2671            var i, o, s, a, u, c, l, f, d = oe.ajaxSetup({}, n),
2672                p = d.context || d,
2673                h = d.context && (p.nodeType || p.jquery) ? oe(p) : oe.event,
2674                g = oe.Deferred(),
2675                m = oe.Callbacks("once memory"),
2676                v = d.statusCode || {},
2677                y = {},
2678                x = {},
2679                b = 0,
2680                w = "canceled",
2681                T = {
2682                    readyState: 0,
2683                    getResponseHeader: function(e) {
2684                        var t;
2685                        if (2 === b) {
2686                            if (!a)
2687                                for (a = {}; t = wt.exec(s);) a[t[1].toLowerCase()] = t[2];
2688                            t = a[e.toLowerCase()]
2689                        }
2690                        return null == t ? null : t
2691                    },
2692                    getAllResponseHeaders: function() {
2693                        return 2 === b ? s : null
2694                    },
2695                    setRequestHeader: function(e, t) {
2696                        var n = e.toLowerCase();
2697                        return b || (e = x[n] = x[n] || e, y[e] = t), this
2698                    },
2699                    overrideMimeType: function(e) {
2700                        return b || (d.mimeType = e), this
2701                    },
2702                    statusCode: function(e) {
2703                        var t;
2704                        if (e)
2705                            if (b < 2)
2706                                for (t in e) v[t] = [v[t], e[t]];
2707                            else T.always(e[T.status]);
2708                        return this
2709                    },
2710                    abort: function(e) {
2711                        var t = e || w;
2712                        return i && i.abort(t), r(0, t), this
2713                    }
2714                };
2715            if (g.promise(T).complete = m.add, T.success = T.done, T.error = T.fail, d.url = ((t || d.url || mt.href) + "").replace(xt, "").replace(At, mt.protocol + "//"), d.type = n.method || n.type || d.method || d.type, d.dataTypes = oe.trim(d.dataType || "*").toLowerCase().match(we) || [""], null == d.crossDomain) {
2716                c = V.createElement("a");
2717                try {
2718                    c.href = d.url, c.href = c.href, d.crossDomain = Nt.protocol + "//" + Nt.host != c.protocol + "//" + c.host
2719                } catch (C) {
2720                    d.crossDomain = !0
2721                }
2722            }
2723            if (d.data && d.processData && "string" != typeof d.data && (d.data = oe.param(d.data, d.traditional)), z(St, d, n, T), 2 === b) return T;
2724            l = oe.event && d.global, l && 0 === oe.active++ && oe.event.trigger("ajaxStart"), d.type = d.type.toUpperCase(), d.hasContent = !Ct.test(d.type), o = d.url, d.hasContent || (d.data && (o = d.url += (yt.test(o) ? "&" : "?") + d.data, delete d.data), d.cache === !1 && (d.url = bt.test(o) ? o.replace(bt, "$1_=" + vt++) : o + (yt.test(o) ? "&" : "?") + "_=" + vt++)), d.ifModified && (oe.lastModified[o] && T.setRequestHeader("If-Modified-Since", oe.lastModified[o]), oe.etag[o] && T.setRequestHeader("If-None-Match", oe.etag[o])), (d.data && d.hasContent && d.contentType !== !1 || n.contentType) && T.setRequestHeader("Content-Type", d.contentType), T.setRequestHeader("Accept", d.dataTypes[0] && d.accepts[d.dataTypes[0]] ? d.accepts[d.dataTypes[0]] + ("*" !== d.dataTypes[0] ? ", " + kt + "; q=0.01" : "") : d.accepts["*"]);
2725            for (f in d.headers) T.setRequestHeader(f, d.headers[f]);
2726            if (d.beforeSend && (d.beforeSend.call(p, T, d) === !1 || 2 === b)) return T.abort();
2727            w = "abort";
2728            for (f in {
2729                    success: 1,
2730                    error: 1,
2731                    complete: 1
2732                }) T[f](d[f]);
2733            if (i = z(Et, d, n, T)) {
2734                if (T.readyState = 1, l && h.trigger("ajaxSend", [T, d]), 2 === b) return T;
2735                d.async && d.timeout > 0 && (u = e.setTimeout(function() {
2736                    T.abort("timeout")
2737                }, d.timeout));
2738                try {
2739                    b = 1, i.send(y, r)
2740                } catch (C) {
2741                    if (!(b < 2)) throw C;
2742                    r(-1, C)
2743                }
2744            } else r(-1, "No Transport");
2745            return T
2746        },
2747        getJSON: function(e, t, n) {
2748            return oe.get(e, t, n, "json")
2749        },
2750        getScript: function(e, t) {
2751            return oe.get(e, void 0, t, "script")
2752        }
2753    }), oe.each(["get", "post"], function(e, t) {
2754        oe[t] = function(e, n, r, i) {
2755            return oe.isFunction(n) && (i = i || r, r = n, n = void 0), oe.ajax(oe.extend({
2756                url: e,
2757                type: t,
2758                dataType: i,
2759                data: n,
2760                success: r
2761            }, oe.isPlainObject(e) && e))
2762        }
2763    }), oe._evalUrl = function(e) {
2764        return oe.ajax({
2765            url: e,
2766            type: "GET",
2767            dataType: "script",
2768            async: !1,
2769            global: !1,
2770            "throws": !0
2771        })
2772    }, oe.fn.extend({
2773        wrapAll: function(e) {
2774            var t;
2775            return oe.isFunction(e) ? this.each(function(t) {
2776                oe(this).wrapAll(e.call(this, t))
2777            }) : (this[0] && (t = oe(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function() {
2778                for (var e = this; e.firstElementChild;) e = e.firstElementChild;
2779                return e
2780            }).append(this)), this)
2781        },
2782        wrapInner: function(e) {
2783            return oe.isFunction(e) ? this.each(function(t) {
2784                oe(this).wrapInner(e.call(this, t))
2785            }) : this.each(function() {
2786                var t = oe(this),
2787                    n = t.contents();
2788                n.length ? n.wrapAll(e) : t.append(e)
2789            })
2790        },
2791        wrap: function(e) {
2792            var t = oe.isFunction(e);
2793            return this.each(function(n) {
2794                oe(this).wrapAll(t ? e.call(this, n) : e)
2795            })
2796        },
2797        unwrap: function() {
2798            return this.parent().each(function() {
2799                oe.nodeName(this, "body") || oe(this).replaceWith(this.childNodes)
2800            }).end()
2801        }
2802    }), oe.expr.filters.hidden = function(e) {
2803        return !oe.expr.filters.visible(e)
2804    }, oe.expr.filters.visible = function(e) {
2805        return e.offsetWidth > 0 || e.offsetHeight > 0 || e.getClientRects().length > 0
2806    };
2807    var jt = /%20/g,
2808        Dt = /\[\]$/,
2809        Lt = /\r?\n/g,
2810        $t = /^(?:submit|button|image|reset|file)$/i,
2811        Rt = /^(?:input|select|textarea|keygen)/i;
2812    oe.param = function(e, t) {
2813        var n, r = [],
2814            i = function(e, t) {
2815                t = oe.isFunction(t) ? t() : null == t ? "" : t, r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
2816            };
2817        if (void 0 === t && (t = oe.ajaxSettings && oe.ajaxSettings.traditional), oe.isArray(e) || e.jquery && !oe.isPlainObject(e)) oe.each(e, function() {
2818            i(this.name, this.value)
2819        });
2820        else
2821            for (n in e) X(n, e[n], t, i);
2822        return r.join("&").replace(jt, "+")
2823    }, oe.fn.extend({
2824        serialize: function() {
2825            return oe.param(this.serializeArray())
2826        },
2827        serializeArray: function() {
2828            return this.map(function() {
2829                var e = oe.prop(this, "elements");
2830                return e ? oe.makeArray(e) : this
2831            }).filter(function() {
2832                var e = this.type;
2833                return this.name && !oe(this).is(":disabled") && Rt.test(this.nodeName) && !$t.test(e) && (this.checked || !Re.test(e))
2834            }).map(function(e, t) {
2835                var n = oe(this).val();
2836                return null == n ? null : oe.isArray(n) ? oe.map(n, function(e) {
2837                    return {
2838                        name: t.name,
2839                        value: e.replace(Lt, "\r\n")
2840                    }
2841                }) : {
2842                    name: t.name,
2843                    value: n.replace(Lt, "\r\n")
2844                }
2845            }).get()
2846        }
2847    }), oe.ajaxSettings.xhr = function() {
2848        try {
2849            return new e.XMLHttpRequest
2850        } catch (t) {}
2851    };
2852    var qt = {
2853            0: 200,
2854            1223: 204
2855        },
2856        Mt = oe.ajaxSettings.xhr();
2857    re.cors = !!Mt && "withCredentials" in Mt, re.ajax = Mt = !!Mt, oe.ajaxTransport(function(t) {
2858        var n, r;
2859        if (re.cors || Mt && !t.crossDomain) return {
2860            send: function(i, o) {
2861                var s, a = t.xhr();
2862                if (a.open(t.type, t.url, t.async, t.username, t.password), t.xhrFields)
2863                    for (s in t.xhrFields) a[s] = t.xhrFields[s];
2864                t.mimeType && a.overrideMimeType && a.overrideMimeType(t.mimeType), t.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest");
2865                for (s in i) a.setRequestHeader(s, i[s]);
2866                n = function(e) {
2867                    return function() {
2868                        n && (n = r = a.onload = a.onerror = a.onabort = a.onreadystatechange = null, "abort" === e ? a.abort() : "error" === e ? "number" != typeof a.status ? o(0, "error") : o(a.status, a.statusText) : o(qt[a.status] || a.status, a.statusText, "text" !== (a.responseType || "text") || "string" != typeof a.responseText ? {
2869                            binary: a.response
2870                        } : {
2871                            text: a.responseText
2872                        }, a.getAllResponseHeaders()))
2873                    }
2874                }, a.onload = n(), r = a.onerror = n("error"), void 0 !== a.onabort ? a.onabort = r : a.onreadystatechange = function() {
2875                    4 === a.readyState && e.setTimeout(function() {
2876                        n && r()
2877                    })
2878                }, n = n("abort");
2879                try {
2880                    a.send(t.hasContent && t.data || null)
2881                } catch (u) {
2882                    if (n) throw u
2883                }
2884            },
2885            abort: function() {
2886                n && n()
2887            }
2888        }
2889    }), oe.ajaxSetup({
2890        accepts: {
2891            script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
2892        },
2893        contents: {
2894            script: /\b(?:java|ecma)script\b/
2895        },
2896        converters: {
2897            "text script": function(e) {
2898                return oe.globalEval(e), e
2899            }
2900        }
2901    }), oe.ajaxPrefilter("script", function(e) {
2902        void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET")
2903    }), oe.ajaxTransport("script", function(e) {
2904        if (e.crossDomain) {
2905            var t, n;
2906            return {
2907                send: function(r, i) {
2908                    t = oe("<script>").prop({
2909                        charset: e.scriptCharset,
2910                        src: e.url
2911                    }).on("load error", n = function(e) {
2912                        t.remove(), n = null, e && i("error" === e.type ? 404 : 200, e.type)
2913                    }), V.head.appendChild(t[0])
2914                },
2915                abort: function() {
2916                    n && n()
2917                }
2918            }
2919        }
2920    });
2921    var Ot = [],
2922        Ht = /(=)\?(?=&|$)|\?\?/;
2923    oe.ajaxSetup({
2924        jsonp: "callback",
2925        jsonpCallback: function() {
2926            var e = Ot.pop() || oe.expando + "_" + vt++;
2927            return this[e] = !0, e
2928        }
2929    }), oe.ajaxPrefilter("json jsonp", function(t, n, r) {
2930        var i, o, s, a = t.jsonp !== !1 && (Ht.test(t.url) ? "url" : "string" == typeof t.data && 0 === (t.contentType || "").indexOf("application/x-www-form-urlencoded") && Ht.test(t.data) && "data");
2931        if (a || "jsonp" === t.dataTypes[0]) return i = t.jsonpCallback = oe.isFunction(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, a ? t[a] = t[a].replace(Ht, "$1" + i) : t.jsonp !== !1 && (t.url += (yt.test(t.url) ? "&" : "?") + t.jsonp + "=" + i), t.converters["script json"] = function() {
2932            return s || oe.error(i + " was not called"), s[0]
2933        }, t.dataTypes[0] = "json", o = e[i], e[i] = function() {
2934            s = arguments
2935        }, r.always(function() {
2936            void 0 === o ? oe(e).removeProp(i) : e[i] = o, t[i] && (t.jsonpCallback = n.jsonpCallback, Ot.push(i)), s && oe.isFunction(o) && o(s[0]), s = o = void 0
2937        }), "script"
2938    }), oe.parseHTML = function(e, t, n) {
2939        if (!e || "string" != typeof e) return null;
2940        "boolean" == typeof t && (n = t, t = !1), t = t || V;
2941        var r = he.exec(e),
2942            i = !n && [];
2943        return r ? [t.createElement(r[1])] : (r = d([e], t, i), i && i.length && oe(i).remove(), oe.merge([], r.childNodes))
2944    };
2945    var Pt = oe.fn.load;
2946    oe.fn.load = function(e, t, n) {
2947        if ("string" != typeof e && Pt) return Pt.apply(this, arguments);
2948        var r, i, o, s = this,
2949            a = e.indexOf(" ");
2950        return a > -1 && (r = oe.trim(e.slice(a)), e = e.slice(0, a)), oe.isFunction(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), s.length > 0 && oe.ajax({
2951            url: e,
2952            type: i || "GET",
2953            dataType: "html",
2954            data: t
2955        }).done(function(e) {
2956            o = arguments, s.html(r ? oe("<div>").append(oe.parseHTML(e)).find(r) : e)
2957        }).always(n && function(e, t) {
2958            s.each(function() {
2959                n.apply(this, o || [e.responseText, t, e])
2960            })
2961        }), this
2962    }, oe.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(e, t) {
2963        oe.fn[t] = function(e) {
2964            return this.on(t, e)
2965        }
2966    }), oe.expr.filters.animated = function(e) {
2967        return oe.grep(oe.timers, function(t) {
2968            return e === t.elem
2969        }).length
2970    }, oe.offset = {
2971        setOffset: function(e, t, n) {
2972            var r, i, o, s, a, u, c, l = oe.css(e, "position"),
2973                f = oe(e),
2974                d = {};
2975            "static" === l && (e.style.position = "relative"), a = f.offset(), o = oe.css(e, "top"), u = oe.css(e, "left"), c = ("absolute" === l || "fixed" === l) && (
2975o + u).indexOf("auto") > -1, c ? (r = f.position(), s = r.top, i = r.left) : (s = parseFloat(o) || 0, i = parseFloat(u) || 0), oe.isFunction(t) && (t = t.call(e, n, oe.extend({}, a))), null != t.top && (d.top = t.top - a.top + s), null != t.left && (d.left = t.left - a.left + i), "using" in t ? t.using.call(e, d) : f.css(d)
2976        }
2977    }, oe.fn.extend({
2978        offset: function(e) {
2979            if (arguments.length) return void 0 === e ? this : this.each(function(t) {
2980                oe.offset.setOffset(this, e, t)
2981            });
2982            var t, n, r = this[0],
2983                i = {
2984                    top: 0,
2985                    left: 0
2986                },
2987                o = r && r.ownerDocument;
2988            if (o) return t = o.documentElement, oe.contains(t, r) ? (i = r.getBoundingClientRect(), n = G(o), {
2989                top: i.top + n.pageYOffset - t.clientTop,
2990                left: i.left + n.pageXOffset - t.clientLeft
2991            }) : i
2992        },
2993        position: function() {
2994            if (this[0]) {
2995                var e, t, n = this[0],
2996                    r = {
2997                        top: 0,
2998                        left: 0
2999                    };
3000                return "fixed" === oe.css(n, "position") ? t = n.getBoundingClientRect() : (e = this.offsetParent(), t = this.offset(), oe.nodeName(e[0], "html") || (r = e.offset()), r.top += oe.css(e[0], "borderTopWidth", !0), r.left += oe.css(e[0], "borderLeftWidth", !0)), {
3001                    top: t.top - r.top - oe.css(n, "marginTop", !0),
3002                    left: t.left - r.left - oe.css(n, "marginLeft", !0)
3003                }
3004            }
3005        },
3006        offsetParent: function() {
3007            return this.map(function() {
3008                for (var e = this.offsetParent; e && "static" === oe.css(e, "position");) e = e.offsetParent;
3009                return e || Ke
3010            })
3011        }
3012    }), oe.each({
3013        scrollLeft: "pageXOffset",
3014        scrollTop: "pageYOffset"
3015    }, function(e, t) {
3016        var n = "pageYOffset" === t;
3017        oe.fn[e] = function(r) {
3018            return Ce(this, function(e, r, i) {
3019                var o = G(e);
3020                return void 0 === i ? o ? o[t] : e[r] : void(o ? o.scrollTo(n ? o.pageXOffset : i, n ? i : o.pageYOffset) : e[r] = i)
3021            }, e, r, arguments.length)
3022        }
3023    }), oe.each(["top", "left"], function(e, t) {
3024        oe.cssHooks[t] = k(re.pixelPosition, function(e, n) {
3025            if (n) return n = E(e, t), Ve.test(n) ? oe(e).position()[t] + "px" : n
3026        })
3027    }), oe.each({
3028        Height: "height",
3029        Width: "width"
3030    }, function(e, t) {
3031        oe.each({
3032            padding: "inner" + e,
3033            content: t,
3034            "": "outer" + e
3035        }, function(n, r) {
3036            oe.fn[r] = function(r, i) {
3037                var o = arguments.length && (n || "boolean" != typeof r),
3038                    s = n || (r === !0 || i === !0 ? "margin" : "border");
3039                return Ce(this, function(t, n, r) {
3040                    var i;
3041                    return oe.isWindow(t) ? t.document.documentElement["client" + e] : 9 === t.nodeType ? (i = t.documentElement, Math.max(t.body["scroll" + e], i["scroll" + e], t.body["offset" + e], i["offset" + e], i["client" + e])) : void 0 === r ? oe.css(t, n, s) : oe.style(t, n, r, s)
3042                }, t, o ? r : void 0, o, null)
3043            }
3044        })
3045    }), oe.fn.extend({
3046        bind: function(e, t, n) {
3047            return this.on(e, null, t, n)
3048        },
3049        unbind: function(e, t) {
3050            return this.off(e, null, t)
3051        },
3052        delegate: function(e, t, n, r) {
3053            return this.on(t, e, n, r)
3054        },
3055        undelegate: function(e, t, n) {
3056            return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
3057        },
3058        size: function() {
3059            return this.length
3060        }
3061    }), oe.fn.andSelf = oe.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function() {
3062        return oe
3063    });
3064    var It = e.jQuery,
3065        Ft = e.$;
3066    return oe.noConflict = function(t) {
3067        return e.$ === oe && (e.$ = Ft), t && e.jQuery === oe && (e.jQuery = It), oe
3068    }, t || (e.jQuery = e.$ = oe), oe
3069}),
3070function(e) {
3071    "function" == typeof define && define.amd ? define(["jquery"], e) : e("object" == typeof exports ? require("jquery") : jQuery)
3072}(function(e) {
3073    function t(e) {
3074        return a.raw ? e : encodeURIComponent(e)
3075    }
3076
3077    function n(e) {
3078        return a.raw ? e : decodeURIComponent(e)
3079    }
3080
3081    function r(e) {
3082        return t(a.json ? JSON.stringify(e) : String(e))
3083    }
3084
3085    function i(e) {
3086        0 === e.indexOf('"') && (e = e.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\"));
3087        try {
3088            return e = decodeURIComponent(e.replace(s, " ")), a.json ? JSON.parse(e) : e
3089        } catch (t) {}
3090    }
3091
3092    function o(t, n) {
3093        var r = a.raw ? t : i(t);
3094        return e.isFunction(n) ? n(r) : r
3095    }
3096    var s = /\+/g,
3097        a = e.cookie = function(i, s, u) {
3098            if (void 0 !== s && !e.isFunction(s)) {
3099                if (u = e.extend({}, a.defaults, u), "number" == typeof u.expires) {
3100                    var c = u.expires,
3101                        l = u.expires = new Date;
3102                    l.setTime(+l + 864e5 * c)
3103                }
3104                return document.cookie = [t(i), "=", r(s), u.expires ? "; expires=" + u.expires.toUTCString() : "", u.path ? "; path=" + u.path : "", u.domain ? "; domain=" + u.domain : "", u.secure ? "; secure" : ""].join("")
3105            }
3106            for (var f = i ? void 0 : {}, d = document.cookie ? document.cookie.split(";
3106 ") : [], p = 0, h = d.length; p < h; p++) {
3107                var g = d[p].split("="),
3108                    m = n(g.shift()),
3109                    v = g.join("=");
3110                if (i && i === m) {
3111                    f = o(v, s);
3112                    break
3113                }
3114                i || void 0 === (v = o(v)) || (f[m] = v)
3115            }
3116            return f
3117        };
3118    a.defaults = {}, e.removeCookie = function(t, n) {
3119        return void 0 !== e.cookie(t) && (e.cookie(t, "", e.extend({}, n, {
3120            expires: -1
3121        })), !e.cookie(t))
3122    }
3123}),
3124function(e) {
3125    function t(t, n) {
3126        this.$element = e(t), this.$navContainer = this.$element.next(".js_sub-navigation"), this.settings = e.extend({}, r, n), this.init()
3127    }
3128    var n = "navigation",
3129        r = {
3130            toggleClass: "state_touch-focus"
3131        };
3132    e.extend(t.prototype, {
3133        init: function() {
3134            var t = this;
3135            t.$element.on("click", function(n) {
3136                n.preventDefault(), n.stopPropagation(), t.$element.toggleClass("state_open"), Modernizr.mq("(max-width: 1023px)") ? t.$navContainer.slideToggle() : (e(".js_toggle-sub-nav").not(this).removeClass("state_open"), e(".js_sub-navigation").not(t.$navContainer).fadeOut(), t.$navContainer[t.$element.hasClass("state_open") ? "fadeIn" : "fadeOut"](), e(this).hasClass("js_search_toggle") && e(this).hasClass("state_open") && e("#searchterm_value").focus())
3137            })
3138        }
3139    }), e.fn[n] = function(r) {
3140        return this.each(function() {
3141            e.data(this, "plugin_" + n) || e.data(this, "plugin_" + n, new t(this, r))
3142        })
3143    }
3144}(jQuery), $(function() {
3145        $(".js_toggle-sub-nav").navigation(), toggleMobileNav()
3146    }), $(function() {
3147        var e = $("body");
3148        e.on("click", 'a[href^="#"]:not([data-toggle="modal"]):not(.js_ng-link)', function(e) {
3149            if (e.preventDefault(), e.stopPropagation(), !($(this).closest(".cmpbox").length > 0 || $(this).closest(".cmpboxrecall").length > 0)) {
3150                var t = $(this).attr("href"),
3151                    n = void 0;
3152                n = 0 === $(t).length ? $("[name='" + t.replace("#", "") + "']") : $(t);
3153                var r = "#top" === t || 0 === n.length ? 0 : n.offset().top,
3154                    i = Service.getOffset(),
3155                    o = r - i;
3156                o = o < 0 ? o * -.2 : .5 * o, o < 500 && (o = 500), Modernizr.touch ? $("html, body").scrollTop(r) : $("html, body").animate({
3157                    scrollTop: r
3158                }, o), Modernizr.history ? history.pushState({}, "", t) : window.location.hash = t
3159            }
3160        })
3161    }),
3162    function(e) {
3163        function t(t, n) {
3164            Modernizr.touch && (this.$element = e(t), this.settings = e.extend({}, r, n), this.init())
3165        }
3166        var n = "touchFocus",
3167            r = {
3168                toggleClass: "state_touch-focus"
3169            };
3170        e.extend(t.prototype, {
3171            init: function() {
3172                var t = this;
3173                t.$element.on("click", function(n) {
3174                    n.stopPropagation(), e(this).blur(), e(this).toggleClass(t.settings.toggleClass), e("." + t.settings.toggleClass).not(this).removeClass(t.settings.toggleClass)
3175                })
3176            }
3177        }), e.fn[n] = function(r) {
3178            return this.each(function() {
3179                e.data(this, "plugin_" + n) || e.data(this, "plugin_" + n, new t(this, r))
3180            })
3181        }
3182    }(jQuery), $(function() {
3183        $(".js_touch-focus").touchFocus({
3184            toggleClass: "state_touch-focus"
3185        }), $("body").on("click", function() {
3186            $(".state_touch-focus").removeClass("state_touch-focus")
3187        })
3188    }),
3189    function() {
3190        "use strict";
3191
3192        function e() {
3193            var e = 0;
3194            try {
3195                e.toLocaleString("i")
3196            } catch (t) {
3197                return "RangeError" === t.name
3198            }
3199            return !1
3200        }
3201        if (!e()) {
3202            var t = void 0,
3203                n = function(e) {
3204                    var n = Math.abs(Number(e)).toFixed(2).toString().split(".");
3205                    return t && t.thousands && (n[0] = n[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1" + t.thousands)), e = t && t.decimal ? n.join(t.decimal) : n[0]
3206                },
3207                r = function(e, t) {
3208                    for (var n in t) t.hasOwnProperty(n) && (e = e.replace("{{" + n + "}}", t[n]));
3209                    return e
3210                },
3211                i = function(e, t) {
3212                    var n = t,
3213                        r = t && t.toLowerCase().match(/^\w+/);
3214                    return e.hasOwnProperty(t) || (n = e.hasOwnProperty(r) ? r : "en"), e[n]
3215                },
3216                o = function(e) {
3217                    return t = {
3218                        decimal: ",",
3219                        thousands: "."
3220                    }, n(e)
3221                },
3222                s = function(e) {
3223                    return t = {
3224                        thousands: "."
3225                    }, n(e)
3226                },
3227                a = function(e) {
3228                    return t = {
3229                        decimal: ".",
3230                        thousands: ","
3231                    }, n(e)
3232                },
3233                u = function(e) {
3234                    return t = {
3235                        decimal: ",",
3236                        thousands: " "
3237                    }, n(e)
3238                },
3239                c = function(e) {
3240                    return t = {
3241                        decimal: ".",
3242                        thousands: "'"
3243                    }, n(e)
3244                },
3245                l = {
3246                    cn: o,
3247                    "cn-CN": o,
3248                    da: o,
3249                    "da-DK": o,
3250                    de: o,
3251                    "de-AT": o,
3252                    "de-BE": o,
3253                    "de-CH": c,
3254                    "de-DE": o,
3255                    "de-LI": c,
3256                    en: a,
3257                    "en-US": a,
3258                    "en-GB": a,
3259                    es: a,
3260                    "es-ES": a,
3261                    fr: u,
3262                    "fr-FR": u,
3263                    hu: u,
3264                    "hu-HU": u,
3265                    it: o,
3266                    "it-IT": o,
3267                    jp: s,
3268                    "jp-JP": s,
3269                    pl: u,
3270                    "pl-PL": u,
3271                    pt: o,
3272                    "pt-PT": o,
3273                    nb: u,
3274                    "nb-NO": u,
3275                    nl: a,
3276                    "nl-NL": a,
3277                    ro: o,
3278                    "ro-RO": o,
3279                    ru: u,
3280                    "ru-RU": u
3281                },
3282                f = {
3283                    cn: "post",
3284                    "cn-CN": "post",
3285                    da: "post",
3286                    "da-DK": "post",
3287                    de: "post",
3288                    "de-AT": "prespace",
3289                    "de-BE": "post",
3290                    "de-CH": "prespace",
3291                    "de-DE": "post",
3292                    "de-LI": "post",
3293                    en: "pre",
3294                    "en-US": "pre",
3295                    "en-GB": "pre",
3296                    es: "post",
3297                    "es-ES": "post",
3298                    fr: "post",
3299                    "fr-FR": "post",
3300                    hu: "post",
3301                    "hu-HU": "post",
3302                    it: "post",
3303                    "it-IT": "post",
3304                    jp: "post",
3305                    "jp-JP": "post",
3306                    pl: "post",
3307                    "pl-PL": "post",
3308                    pt: "pre",
3309                    "pt-PT": "pre",
3310                    nb: "post",
3311                    "nb-NO": "post",
3312                    nl: "prespace",
3313                    "nl-NL": "prespace",
3314                    ro: "post",
3315                    "ro-RO": "post",
3316                    ru: "post",
3317                    "ru-RU": "post",
3318                    tr: "post",
3319                    "tr-TR": "post"
3320                },
3321                d = {
3322                    afn: "؋",
3323                    ars: "$",
3324                    awg: "ƒ",
3325                    aud: "$",
3326                    azn: "₼",
3327                    bsd: "$",
3328                    bbd: "$",
3329                    byr: "p.",
3330                    bzd: "BZ$",
3331                    bmd: "$",
3332                    bob: "Bs.",
3333                    bam: "KM",
3334                    bwp: "P",
3335                    bgn: "лв",
3336                    brl: "R$",
3337                    bnd: "$",
3338                    khr: "៛",
3339                    cad: "$",
3340                    kyd: "$",
3341                    clp: "$",
3342                    cny: "Â¥",
3343                    cop: "$",
3344                    crc: "₡",
3345                    hrk: "kn",
3346                    cup: "₱",
3347                    czk: "Kč",
3348                    dkk: "kr",
3349                    dop: "RD$",
3350                    xcd: "$",
3351                    egp: "£",
3352                    svc: "$",
3353                    eek: "kr",
3354                    eur: "€",
3355                    fkp: "£",
3356                    fjd: "$",
3357                    ghc: "¢",
3358                    gip: "£",
3359                    gtq: "Q",
3360                    ggp: "£",
3361                    gyd: "$",
3362                    hnl: "L",
3363                    hkd: "$",
3364                    huf: "Ft",
3365                    isk: "kr",
3366                    inr: "₹",
3367                    idr: "Rp",
3368                    irr: "ï·¼",
3369                    imp: "£",
3370                    ils: "₪",
3371                    jmd: "J$",
3372                    jpy: "Â¥",
3373                    jep: "£",
3374                    kes: "KSh",
3375                    kzt: "лв",
3376                    kpw: "₩",
3377                    krw: "₩",
3378                    kgs: "лв",
3379                    lak: "₭",
3380                    lvl: "Ls",
3381                    lbp: "£",
3382                    lrd: "$",
3383                    ltl: "Lt",
3384                    mkd: "ден",
3385                    myr: "RM",
3386                    mur: "₨",
3387                    mxn: "$",
3388                    mnt: "₮",
3389                    mzn: "MT",
3390                    nad: "$",
3391                    npr: "₨",
3392                    ang: "ƒ",
3393                    nzd: "$",
3394                    nio: "C$",
3395                    ngn: "₦",
3396                    nok: "kr",
3397                    omr: "ï·¼",
3398                    pkr: "₨",
3399                    pab: "B/.",
3400                    pyg: "Gs",
3401                    pen: "S/.",
3402                    php: "₱",
3403                    pln: "zł",
3404                    qar: "ï·¼",
3405                    ron: "lei",
3406                    rub: "₽",
3407                    shp: "£",
3408                    sar: "ï·¼",
3409                    rsd: "Дин.",
3410                    scr: "₨",
3411                    sgd: "$",
3412                    sbd: "$",
3413                    sos: "S",
3414                    zar: "R",
3415                    lkr: "₨",
3416                    sek: "kr",
3417                    chf: "CHF",
3418                    srd: "$",
3419                    syp: "£",
3420                    tzs: "TSh",
3421                    twd: "NT$",
3422                    thb: "฿",
3423                    ttd: "TT$",
3424                    "try": "",
3425                    trl: "₤",
3426                    tvd: "$",
3427                    ugx: "USh",
3428                    uah: "₴",
3429                    gbp: "£",
3430                    usd: "$",
3431                    uyu: "$U",
3432                    uzs: "лв",
3433                    vef: "Bs",
3434                    vnd: "₫",
3435                    yer: "ï·¼",
3436                    zwd: "Z$"
3437                },
3438                p = {
3439                    pre: "{{code}}{{num}}",
3440                    post: "{{num}} {{code}}",
3441                    prespace: "{{code}} {{num}}"
3442                };
3443            Number.prototype.toLocaleString = function(e, t) {
3444                if (e && e.length < 2) throw new RangeError("Invalid language tag: " + e);
3445                var n = void 0;
3446                if (n = t && t.minimumFractionDigits ? this.toFixed(t.minimumFractionDigits) : this.toString(), n = i(l, e)(n, t), t && t.currency && "currency" === t.style) {
3447                    var o = p[i(f, e)];
3448                    n = "code" === t.currencyDisplay ? r(o, {
3449                        num: n,
3450                        code: t.currency.toUpperCase()
3451                    }) : r(o, {
3452                        num: n,
3453                        code: d[t.currency.toLowerCase()]
3454                    })
3455                }
3456                return n
3457            }
3458        }
3459    }();
3460var Service = function() {
3461    var e = !1,
3462        t = function() {
3463            var e = ["cookiePreferencesV2", "JSESSIONID", "basketId"],
3464                t = $.cookie();
3465            for (var n in t) $.inArray(n, e) === -1 && $.removeCookie(n, {
3466                path: "/"
3467            })
3468        },
3469        n = function() {
3470            $("#js_loading-container").show()
3471        },
3472        r = function() {
3473            $("#js_loading-container").hide()
3474        },
3475        i = function(e) {
3476            $(e).modal("show")
3477        },
3478        o = function(e) {
3479            var t = window.location.search.substring(1),
3480                n = t.split("&"),
3481                r = void 0,
3482                i = void 0;
3483            for (i = 0; i < n.length; i++)
3484                if (r = n[i].split("="), r[0] === e) return void 0 === r[1] || decodeURIComponent(r[1])
3485        },
3486        s = function() {
3487            var e = (new Date).getTime();
3488            return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(t) {
3489                var n = (e + 16 * Math.random()) % 16 | 0;
3490                return e = Math.floor(e / 16), ("x" === t ? n : 3 & n | 8).toString(16)
3491            })
3492        },
3493        a = function(e) {
3494            if (e instanceof jQuery && (e = e[0]), !e) return !1;
3495            var t = e.getBoundingClientRect();
3496            return t.top < (window.innerHeight || document.documentElement.clientHeight) && t.bottom > 0
3497        },
3498        u = function() {
3499            return window.pageYOffset ? window.pageYOffset : document.documentElement ? document.documentElement.scrollTop || 0 : document.body ? document.body.scrollTop || 0 : 0
3500        },
3501        c = function(e) {
3502            return e = e.replace(/\.html$/, ""), e = e.replace(/\/$/, ""), e + "/"
3503        },
3504        l = function() {
3505            $(".js_success-message").stop(!0, !0).fadeIn(200).delay(3500).fadeOut(666)
3506        },
3507        f = function() {
3508            $(".js_error-message").stop(!0, !0).fadeIn(200).delay(3500).fadeOut(666)
3509        },
3510        d = function(e) {
3511            var t = 0;
3512            t = e ? $("#" + e + " .js_error-message .content-navigation-anchor").offset().top : $(".js_error-message .content-navigation-anchor").offset().top;
3513            var n = Service.getOffset();
3514            if (t < n) {
3515                var r = t - n;
3516                r = r < 0 ? r * -.2 : .5 * r, r < 500 && (r = 500), Modernizr.touch ? $("html, body").scrollTop(t) : $("html, body").animate({
3517                    scrollTop: t
3518                }, r)
3519            }
3520        };
3521    return {
3522        getUrlParam: function(e) {
3523            return o(e)
3524        },
3525        clearUrlParamCache: function() {
3526            e = !1
3527        },
3528        showLoading: function() {
3529            return n()
3530        },
3531        hideLoading: function() {
3532            return r()
3533        },
3534        showLB: function(e) {
3535            return i(e)
3536        },
3537        deleteCookies: function() {
3538            return t()
3539        },
3540        generateUuid: function() {
3541            return s()
3542        },
3543        isElementInViewport: function(e) {
3544            return a(e)
3545        },
3546        getOffset: function() {
3547            return u()
3548        },
3549        getPagePathAsFolder: function(e) {
3550            return c(e)
3551        },
3552        showSuccess: function() {
3553            return l()
3554        },
3555        showError: function() {
3556            return f()
3557        },
3558        scrollToError: function(e) {
3559            return d(e)
3560        },
3561        isCMP: window.isCMP
3562    }
3563}();
3564! function(e) {
3565    var t = navigator.userAgent;
3566    e.HTMLPictureElement && /ecko/.test(t) && t.match(/rv\:(\d+)/) && RegExp.$1 < 45 && addEventListener("resize", function() {
3567        var t, n = document.createElement("source"),
3568            r = function(e) {
3569                var t, r, i = e.parentNode;
3570                "PICTURE" === i.nodeName.toUpperCase() ? (t = n.cloneNode(), i.insertBefore(t, i.firstElementChild), setTimeout(function() {
3571                    i.removeChild(t)
3572                })) : (!e._pfLastSize || e.offsetWidth > e._pfLastSize) && (e._pfLastSize = e.offsetWidth, r = e.sizes, e.sizes += ",100vw", setTimeout(function() {
3573                    e.sizes = r
3574                }))
3575            },
3576            i = function() {
3577                var e, t = document.querySelectorAll("picture > img, img[srcset][sizes]");
3578                for (e = 0; e < t.length; e++) r(t[e])
3579            },
3580            o = function() {
3581                clearTimeout(t), t = setTimeout(i, 99)
3582            },
3583            s = e.matchMedia && matchMedia("(orientation: landscape)"),
3584            a = function() {
3585                o(), s && s.addListener && s.addListener(o)
3586            };
3587        return n.srcset = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", /^[c|i]|d$/.test(document.readyState || "") ? a() : document.addEventListener("DOMContentLoaded", a), o
3588    }())
3589}(window),
3590function(e, t, n) {
3591    "use strict";
3592
3593    function r(e) {
3594        return " " === e || "\t" === e || "\n" === e || "\f" === e || "\r" === e
3595    }
3596
3597    function i(t, n) {
3598        var r = new e.Image;
3599        return r.onerror = function() {
3600            E[t] = !1, te()
3601        }, r.onload = function() {
3602            E[t] = 1 === r.width, te()
3603        }, r.src = n, "pending"
3604    }
3605
3606    function o() {
3607        P = !1, _ = e.devicePixelRatio,
3608            I = {}, F = {}, y.DPR = _ || 1, z.width = Math.max(e.innerWidth || 0, S.clientWidth), z.height = Math.max(e.innerHe
vendor: 11,816 bytes, lines 3608-3881
3608ight || 0, S.clientHeight), z.vw = z.width / 100, z.vh = z.height / 100, v = [z.height, z.width, _].join("-"), z.em = y.getEmValue(), z.rem = z.em
3609    }
3610
3611    function s(e, t, n, r) {
3612        var i, o, s, a;
3613        return "saveData" === k.algorithm ? e > 2.7 ? a = n + 1 : (o = t - n, i = Math.pow(e - .6, 1.5), s = o * i, r && (s += .1 * i), a = e + s) : a = n > 1 ? Math.sqrt(e * t) : e, a > n
3614    }
3615
3616    function a(e) {
3617        var t, n = y.getSet(e),
3618            r = !1;
3619        "pending" !== n && (r = v, n && (t = y.setRes(n), y.applySetCandidate(t, e))), e[y.ns].evaled = r
3620    }
3621
3622    function u(e, t) {
3623        return e.res - t.res
3624    }
3625
3626    function c(e, t, n) {
3627        var r;
3628        return !n && t && (n = e[y.ns].sets, n = n && n[n.length - 1]), r = l(t, n), r && (t = y.makeUrl(t), e[y.ns].curSrc = t, e[y.ns].curCan = r, r.res || ee(r, r.set.sizes)), r
3629    }
3630
3631    function l(e, t) {
3632        var n, r, i;
3633        if (e && t)
3634            for (i = y.parseSet(t), e = y.makeUrl(e), n = 0; n < i.length; n++)
3635                if (e === y.makeUrl(i[n].url)) {
3636                    r = i[n];
3637                    break
3638                }
3639        return r
3640    }
3641
3642    function f(e, t) {
3643        var n, r, i, o, s = e.getElementsByTagName("source");
3644        for (n = 0, r = s.length; n < r; n++) i = s[n], i[y.ns] = !0, o = i.getAttribute("srcset"), o && t.push({
3645            srcset: o,
3646            media: i.getAttribute("media"),
3647            type: i.getAttribute("type"),
3648            sizes: i.getAttribute("sizes")
3649        })
3650    }
3651
3652    function d(e, t) {
3653        function n(t) {
3654            var n, r = t.exec(e.substring(d));
3655            if (r) return n = r[0], d += n.length, n
3656        }
3657
3658        function i() {
3659            var e, n, r, i, o, u, c, l, f, d = !1,
3660                h = {};
3661            for (i = 0; i < a.length; i++) o = a[i], u = o[o.length - 1], c = o.substring(0, o.length - 1), l = parseInt(c, 10), f = parseFloat(c), V.test(c) && "w" === u ? ((e || n) && (d = !0), 0 === l ? d = !0 : e = l) : Y.test(c) && "x" === u ? ((e || n || r) && (d = !0), f < 0 ? d = !0 : n = f) : V.test(c) && "h" === u ? ((r || n) && (d = !0), 0 === l ? d = !0 : r = l) : d = !0;
3662            d || (h.url = s, e && (h.w = e), n && (h.d = n), r && (h.h = r), r || n || e || (h.d = 1), 1 === h.d && (t.has1x = !0), h.set = t, p.push(h))
3663        }
3664
3665        function o() {
3666            for (n(U), u = "", c = "in descriptor";;) {
3667                if (l = e.charAt(d), "in descriptor" === c)
3668                    if (r(l)) u && (a.push(u), u = "", c = "after descriptor");
3669                    else {
3670                        if ("," === l) return d += 1, u && a.push(u), void i();
3671                        if ("(" === l) u += l, c = "in parens";
3672                        else {
3673                            if ("" === l) return u && a.push(u), void i();
3674                            u += l
3675                        }
3676                    }
3677                else if ("in parens" === c)
3678                    if (")" === l) u += l, c = "in descriptor";
3679                    else {
3680                        if ("" === l) return a.push(u), void i();
3681                        u += l
3682                    }
3683                else if ("after descriptor" === c)
3684                    if (r(l));
3685                    else {
3686                        if ("" === l) return void i();
3687                        c = "in descriptor", d -= 1
3688                    }
3689                d += 1
3690            }
3691        }
3692        for (var s, a, u, c, l, f = e.length, d = 0, p = [];;) {
3693            if (n(X), d >= f) return p;
3694            s = n(G), a = [], "," === s.slice(-1) ? (s = s.replace(Q, ""), i()) : o()
3695        }
3696    }
3697
3698    function p(e) {
3699        function t(e) {
3700            function t() {
3701                o && (s.push(o), o = "")
3702            }
3703
3704            function n() {
3705                s[0] && (a.push(s), s = [])
3706            }
3707            for (var i, o = "", s = [], a = [], u = 0, c = 0, l = !1;;) {
3708                if (i = e.charAt(c), "" === i) return t(), n(), a;
3709                if (l) {
3710                    if ("*" === i && "/" === e[c + 1]) {
3711                        l = !1, c += 2, t();
3712                        continue
3713                    }
3714                    c += 1
3715                } else {
3716                    if (r(i)) {
3717                        if (e.charAt(c - 1) && r(e.charAt(c - 1)) || !o) {
3718                            c += 1;
3719                            continue
3720                        }
3721                        if (0 === u) {
3722                            t(), c += 1;
3723                            continue
3724                        }
3725                        i = " "
3726                    } else if ("(" === i) u += 1;
3727                    else if (")" === i) u -= 1;
3728                    else {
3729                        if ("," === i) {
3730                            t(), n(), c += 1;
3731                            continue
3732                        }
3733                        if ("/" === i && "*" === e.charAt(c + 1)) {
3734                            l = !0, c += 2;
3735                            continue
3736                        }
3737                    }
3738                    o += i, c += 1
3739                }
3740            }
3741        }
3742
3743        function n(e) {
3744            return !!(l.test(e) && parseFloat(e) >= 0) || (!!f.test(e) || ("0" === e || "-0" === e || "+0" === e))
3745        }
3746        var i, o, s, a, u, c, l = /^(?:[+-]?[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?(?:ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmin|vmax|vw)$/i,
3747            f = /^calc\((?:[0-9a-z \.\+\-\*\/\(\)]+)\)$/i;
3748        for (o = t(e), s = o.length, i = 0; i < s; i++)
3749            if (a = o[i], u = a[a.length - 1], n(u)) {
3750                if (c = u, a.pop(), 0 === a.length) return c;
3751                if (a = a.join(" "), y.matchesMedia(a)) return c
3752            }
3753        return "100vw"
3754    }
3755    t.createElement("picture");
3756    var h, g, m, v, y = {},
3757        x = !1,
3758        b = function() {},
3759        w = t.createElement("img"),
3760        T = w.getAttribute,
3761        C = w.setAttribute,
3762        A = w.removeAttribute,
3763        S = t.documentElement,
3764        E = {},
3765        k = {
3766            algorithm: ""
3767        },
3768        N = "data-pfsrc",
3769        j = N + "set",
3770        D = navigator.userAgent,
3771        L = /rident/.test(D) || /ecko/.test(D) && D.match(/rv\:(\d+)/) && RegExp.$1 > 35,
3772        $ = "currentSrc",
3773        R = /\s+\+?\d+(e\d+)?w/,
3774        q = /(\([^)]+\))?\s*(.+)/,
3775        M = e.picturefillCFG,
3776        O = "position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;overflow:hidden;clip:rect(0px, 0px, 0px, 0px)",
3777        H = "font-size:100%!important;",
3778        P = !0,
3779        I = {},
3780        F = {},
3781        _ = e.devicePixelRatio,
3782        z = {
3783            px: 1,
3784            "in": 96
3785        },
3786        B = t.createElement("a"),
3787        W = !1,
3788        U = /^[ \t\n\r\u000c]+/,
3789        X = /^[, \t\n\r\u000c]+/,
3790        G = /^[^ \t\n\r\u000c]+/,
3791        Q = /[,]+$/,
3792        V = /^\d+$/,
3793        Y = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,
3794        J = function(e, t, n, r) {
3795            e.addEventListener ? e.addEventListener(t, n, r || !1) : e.attachEvent && e.attachEvent("on" + t, n)
3796        },
3797        K = function(e) {
3798            var t = {};
3799            return function(n) {
3800                return n in t || (t[n] = e(n)), t[n]
3801            }
3802        },
3803        Z = function() {
3804            var e = /^([\d\.]+)(em|vw|px)$/,
3805                t = function() {
3806                    for (var e = arguments, t = 0, n = e[0]; ++t in e;) n = n.replace(e[t], e[++t]);
3807                    return n
3808                },
3809                n = K(function(e) {
3810                    return "return " + t((e || "").toLowerCase(), /\band\b/g, "&&", /,/g, "||", /min-([a-z-\s]+):/g, "e.$1>=", /max-([a-z-\s]+):/g, "e.$1<=", /calc([^)]+)/g, "($1)", /(\d+[\.]*[\d]*)([a-z]+)/g, "($1 * e.$2)", /^(?!(e.[a-z]|[0-9\.&=|><\+\-\*\(\)\/])).*/gi, "") + ";"
3811                });
3812            return function(t, r) {
3813                var i;
3814                if (!(t in I))
3815                    if (I[t] = !1, r && (i = t.match(e))) I[t] = i[1] * z[i[2]];
3816                    else try {
3817                        I[t] = new Function("e", n(t))(z)
3818                    } catch (o) {}
3819                return I[t]
3820            }
3821        }(),
3822        ee = function(e, t) {
3823            return e.w ? (e.cWidth = y.calcListLength(t || "100vw"), e.res = e.w / e.cWidth) : e.res = e.d, e
3824        },
3825        te = function(e) {
3826            if (x) {
3827                var n, r, i, o = e || {};
3828                if (o.elements && 1 === o.elements.nodeType && ("IMG" === o.elements.nodeName.toUpperCase() ? o.elements = [o.elements] : (o.context = o.elements, o.elements = null)), n = o.elements || y.qsa(o.context || t, o.reevaluate || o.reselect ? y.sel : y.selShort), i = n.length) {
3829                    for (y.setupRun(o), W = !0, r = 0; r < i; r++) y.fillImg(n[r], o);
3830                    y.teardownRun(o)
3831                }
3832            }
3833        };
3834    h = e.console && console.warn ? function(e) {
3835        console.warn(e)
3836    } : b, $ in w || ($ = "src"), E["image/jpeg"] = !0, E["image/gif"] = !0, E["image/png"] = !0, E["image/svg+xml"] = t.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image", "1.1"), y.ns = ("pf" + (new Date).getTime()).substr(0, 9), y.supSrcset = "srcset" in w, y.supSizes = "sizes" in w, y.supPicture = !!e.HTMLPictureElement, y.supSrcset && y.supPicture && !y.supSizes && ! function(e) {
3837        w.srcset = "data:,a", e.src = "data:,a", y.supSrcset = w.complete === e.complete, y.supPicture = y.supSrcset && y.supPicture
3838    }(t.createElement("img")), y.supSrcset && !y.supSizes ? ! function() {
3839        var e = "data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw==",
3840            n = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",
3841            r = t.createElement("img"),
3842            i = function() {
3843                var e = r.width;
3844                2 === e && (y.supSizes = !0), m = y.supSrcset && !y.supSizes, x = !0, setTimeout(te)
3845            };
3846        r.onload = i, r.onerror = i, r.setAttribute("sizes", "9px"), r.srcset = n + " 1w," + e + " 9w", r.src = n
3847    }() : x = !0, y.selShort = "picture>img,img[srcset]", y.sel = y.selShort, y.cfg = k, y.DPR = _ || 1, y.u = z, y.types = E, y.setSize = b, y.makeUrl = K(function(e) {
3848        return B.href = e, B.href
3849    }), y.qsa = function(e, t) {
3850        return "querySelector" in e ? e.querySelectorAll(t) : []
3851    }, y.matchesMedia = function() {
3852        return e.matchMedia && (matchMedia("(min-width: 0.1em)") || {}).matches ? y.matchesMedia = function(e) {
3853            return !e || matchMedia(e).matches
3854        } : y.matchesMedia = y.mMQ, y.matchesMedia.apply(this, arguments)
3855    }, y.mMQ = function(e) {
3856        return !e || Z(e)
3857    }, y.calcLength = function(e) {
3858        var t = Z(e, !0) || !1;
3859        return t < 0 && (t = !1), t
3860    }, y.supportsType = function(e) {
3861        return !e || E[e]
3862    }, y.parseSize = K(function(e) {
3863        var t = (e || "").match(q);
3864        return {
3865            media: t && t[1],
3866            length: t && t[2]
3867        }
3868    }), y.parseSet = function(e) {
3869        return e.cands || (e.cands = d(e.srcset, e)), e.cands
3870    }, y.getEmValue = function() {
3871        var e;
3872        if (!g && (e = t.body)) {
3873            var n = t.createElement("div"),
3874                r = S.style.cssText,
3875                i = e.style.cssText;
3876            n.style.cssText = O, S.style.cssText = H, e.style.cssText = H, e.appendChild(n), g = n.offsetWidth, e.removeChild(n), g = parseFloat(g, 10), S.style.cssText = r, e.style.cssText = i
3877        }
3878        return g || 16
3879    }, y.calcListLength = function(e) {
3880        if (!(e in F) || k.uT) {
3881            var t = y.calcLength(p(e));
3882            F[e] = t ? t : z.width
3883        }
3884        return F[e]
3885    }, y.setRes = function(e) {
3886        var t;
3887        if (e) {
3888            t = y.parseSet(e);
3889            for (var n = 0, r = t.length; n < r; n++) ee(t[n], e.sizes)
3890        }
3891        return t
3892    }, y.setRes.res = ee, y.applySetCandidate = function(e, t) {
3893        if (e.length) {
3894            var n, r, i, o, a, l, f, d, p, h = t[y.ns],
3895                g = y.DPR;
3896            if (l = h.curSrc || t[$], f = h.curCan || c(t, l, e[0].set), f && f.set === e[0].set && (p = L && !t.complete && f.res - .1 > g, p || (f.cached = !0, f.res >= g && (a = f))), !a)
3897                for (e.sort(u), o = e.length, a = e[o - 1], r = 0; r < o; r++)
3898                    if (n = e[r], n.res >= g) {
3899                        i = r - 1, a = e[i] && (p || l !== y.makeUrl(n.url)) && s(e[i].res, n.res, g, e[i].cached) ? e[i] : n;
3900                        break
3901                    }
3902            a && (d = y.makeUrl(a.url), h.curSrc = d, h.curCan = a, d !== l && y.setSrc(t, a), y.setSize(t))
3903        }
3904    }, y.setSrc = function(e, t) {
3905        var n;
3906        e.src = t.url, "image/svg+xml" === t.set.type && (n = e.style.width, e.style.width = e.offsetWidth + 1 + "px", e.offsetWidth + 1 && (e.style.width = n))
3907    }, y.getSet = function(e) {
3908        var t, n, r, i = !1,
3909            o = e[y.ns].sets;
3910        for (t = 0; t < o.length && !i; t++)
3911            if (n = o[t], n.srcset && y.matchesMedia(n.media) && (r = y.supportsType(n.type))) {
3912                "pending" === r && (n = r), i = n;
3913                break
3914            }
3915        return i
3916    }, y.parseSets = function(e, t, r) {
3917        var i, o, s, a, u = t && "PICTURE" === t.nodeName.toUpperCase(),
3918            c = e[y.ns];
3919        (c.src === n || r.src) && (c.src = T.call(e, "src"), c.src ? C.call(e, N, c.src) : A.call(e, N)), (c.srcset === n || r.srcset || !y.supSrcset || e.srcset) && (i = T.call(e, "srcset"), c.srcset = i, a = !0), c.sets = [], u && (c.pic = !0, f(t, c.sets)), c.srcset ? (o = {
3920            srcset: c.srcset,
3921            sizes: T.call(e, "sizes")
3922        }, c.sets.push(o), s = (m || c.src) && R.test(c.srcset || ""), s || !c.src || l(c.src, o) || o.has1x || (o.srcset += ", " + c.src, o.cands.push({
3923            url: c.src,
3924            d: 1,
3925            set: o
3926        }))) : c.src && c.sets.push({
3927            srcset: c.src,
3928            sizes: null
3929        }), c.curCan = null, c.curSrc = n, c.supported = !(u || o && !y.supSrcset || s && !y.supSizes), a && y.supSrcset && !c.supported && (i ? (C.call(e, j, i), e.srcset = "") : A.call(e, j)), c.supported && !c.srcset && (!c.src && e.src || e.src !== y.makeUrl(c.src)) && (null === c.src ? e.removeAttribute("src") : e.src = c.src), c.parsed = !0
3930    }, y.fillImg = function(e, t) {
3931        var n, r = t.reselect || t.reevaluate;
3932        e[y.ns] || (e[y.ns] = {}), n = e[y.ns], (r || n.evaled !== v) && (n.parsed && !t.reevaluate || y.parseSets(e, e.parentNode, t), n.supported ? n.evaled = v : a(e))
3933    }, y.setupRun = function() {
3934        W && !P && _ === e.devicePixelRatio || o()
3935    }, y.supPicture ? (te = b, y.fillImg = b) : ! function() {
3936        var n, r = e.attachEvent ? /d$|^c/ : /d$|^c|^i/,
3937            i = function() {
3938                var e = t.readyState || "";
3939                o = setTimeout(i, "loading" === e ? 200 : 999), t.body && (y.fillImgs(), n = n || r.test(e), n && clearTimeout(o))
3940            },
3941            o = setTimeout(i, t.body ? 9 : 99),
3942            s = function(e, t) {
3943                var n, r, i = function() {
3944                    var o = new Date - r;
3945                    o < t ? n = setTimeout(i, t - o) : (n = null, e())
3946                };
3947                return function() {
3948                    r = new Date, n || (n = setTimeout(i, t))
3949                }
3950            },
3951            a = S.clientHeight,
3952            u = function() {
3953                P = Math.max(e.innerWidth || 0, S.clientWidth) !== z.width || S.clientHeight !== a, a = S.clientHeight, P && y.fillImgs()
3954            };
3955        J(e, "resize", s(u, 99)), J(t, "readystatechange", i)
3956    }(), y.picturefill = te, y.fillImgs = te, y.teardownRun = b, te._ = y, e.picturefillCFG = {
3957        pf: y,
3958        push: function(e) {
3959            var t = e.shift();
3960            "function" == typeof y[t] ? y[t].apply(y, e) : (k[t] = e[0], W && y.fillImgs({
3961                reselect: !0
3962            }))
3963        }
3964    };
3965    for (; M && M.length;) e.picturefillCFG.push(M.shift());
3966    e.picturefill = te, "object" == typeof module && "object" == typeof module.exports ? module.exports = te : "function" == typeof define && define.amd && define("picturefill", function() {
3967        return te
3968    }), y.supPicture || (E["image/webp"] = i("image/webp", "data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA=="))
3969}(window, document), ! function(e) {
3970    "use strict";
3971    var t, n = 0,
3972        r = function() {
3973            window.picturefill && e(window.picturefill), (window.picturefill || n > 9999) && clearInterval(t), n++
3974        };
3975    t = setInterval(r, 8), r()
3976}(function(e) {
3977    "use strict";
3978    var t = window.document,
3979        n = window.Element,
3980        r = window.MutationObserver,
3981        i = function() {},
3982        o = {
3983            disconnect: i,
3984            take: i,
3985            observe: i,
3986            start: i,
3987            stop: i,
3988            connected: !1
3989        },
3990        s = /^loade|^c|^i/.test(t.readyState || ""),
3991        a = e._;
3992    if (a.mutationSupport = !1, a.observer = o, Object.keys && window.HTMLSourceElement && t.addEventListener) {
3993        var u, c, l, f, d = {
3994                src: 1,
3995                srcset: 1,
3996                sizes: 1,
3997                media: 1
3998            },
3999            p = Object.keys(d),
4000            h = {
4001                attributes: !0,
4002                childList: !0,
4003                subtree: !0,
4004                attributeFilter: p
4005            },
4006            g = n && n.prototype,
4007            m = {},
4008            v = function(e, t) {
4009                m[e] = a[e], a[e] = t
4010            };
4011        g && !g.matches && (g.matches = g.matchesSelector || g.mozMatchesSelector || g.webkitMatchesSelector || g.msMatchesSelector), g && g.matches && (u = function(e, t) {
4012            return e.matches(t)
4013        }, a.mutationSupport = !(!Object.create || !Object.defineProperties)), a.mutationSupport && (o.observe = function() {
4014            l && (o.connected = !0, c && c.observe(t.documentElement, h))
4015        }, o.disconnect = function() {
4016            o.connected = !1, c && c.disconnect()
4017        }, o.take = function() {
4018            c ? a.onMutations(c.takeRecords()) : f && f.take()
4019        }, o.start = function() {
4020            l = !0, o.observe()
4021        }, o.stop = function() {
4022            l = !1, o.disconnect()
4023        }, v("setupRun", function() {
4024            return o.disconnect(), m.setupRun.apply(this, arguments)
4025        }), v("teardownRun", function() {
4026            var e = m.setupRun.apply(this, arguments);
4027            return o.observe(), e
4028        }), v("setSrc", function() {
4029            var e, t = o.connected;
4030            return o.disconnect(), e = m.setSrc.apply(this, arguments), t && o.observe(), e
4031        }), a.onMutations = function(e) {
4032            var t, n, r = [];
4033            for (t = 0, n = e.length; n > t; t++) s && "childList" === e[t].type ? a.onSubtreeChange(e[t], r) : "attributes" === e[t].type && a.onAttrChange(e[t], r);
4034            r.length && a.fillImgs({
4035                elements: r,
4036                reevaluate: !0
4037            })
4038        }, a.onSubtreeChange = function(e, t) {
4039            a.findAddedMutations(e.addedNodes, t), a.findRemovedMutations(e.removedNodes, e.target, t)
4040        }, a.findAddedMutations = function(e, t) {
4041            var n, r, i, o;
4042            for (n = 0, r = e.length; r > n; n++) i = e[n], 1 === i.nodeType && (o = i.nodeName.toUpperCase(), "PICTURE" === o ? a.addToElements(i.getElementsByTagName("img")[0], t) : "IMG" === o && u(i, a.selShort) ? a.addToElements(i, t) : "SOURCE" === o ? a.addImgForSource(i, i.parentNode, t) : a.addToElements(a.qsa(i, a.selShort), t))
4043        }, a.findRemovedMutations = function(e, t, n) {
4044            var r, i, o;
4045            for (r = 0, i = e.length; i > r;
vendor: 2,363 bytes, lines 4045-4085
4045 r++) o = e[r], 1 === o.nodeType && "SOURCE" === o.nodeName.toUpperCase() && a.addImgForSource(o, t, n)
4046        }, a.addImgForSource = function(e, t, n) {
4047            t && "PICTURE" !== (t.nodeName || "").toUpperCase() && (t = t.parentNode, t && "PICTURE" === (t.nodeName || "").toUpperCase() || (t = null)), t && a.addToElements(t.getElementsByTagName("img")[0], n)
4048        }, a.addToElements = function(e, t) {
4049            var n, r;
4050            if (e)
4051                if ("length" in e && !e.nodeType)
4052                    for (n = 0, r = e.length; r > n; n++) a.addToElements(e[n], t);
4053                else e.parentNode && -1 === t.indexOf(e) && t.push(e)
4054        }, a.onAttrChange = function(e, t) {
4055            var n, r = e.target[a.ns];
4056            r || "srcset" !== e.attributeName || "IMG" !== (n = e.target.nodeName.toUpperCase()) ? r && (n || (n = e.target.nodeName.toUpperCase()), "IMG" === n ? (e.attributeName in r && (r[e.attributeName] = void 0), a.addToElements(e.target, t)) : "SOURCE" === n && a.addImgForSource(e.target, e.target.parentNode, t)) : a.addToElements(e.target, t)
4057        }, a.supPicture || (r && !a.testMutationEvents ? c = new r(a.onMutations) : (f = function() {
4058            var e = !1,
4059                t = [],
4060                n = window.setImmediate || window.setTimeout;
4061            return function(r) {
4062                e || (e = !0, f.take || (f.take = function() {
4063                    t.length && (a.onMutations(t), t = []), e = !1
4064                }), n(f.take)), t.push(r)
4065            }
4066        }(), t.documentElement.addEventListener("DOMNodeInserted", function(e) {
4067            o.connected && s && f({
4068                type: "childList",
4069                addedNodes: [e.target],
4070                removedNodes: []
4071            })
4072        }, !0), t.documentElement.addEventListener("DOMNodeRemoved", function(e) {
4073            o.connected && s && "SOURCE" === (e.target || {}).nodeName && f({
4074                type: "childList",
4075                addedNodes: [],
4076                removedNodes: [e.target],
4077                target: e.target.parentNode
4078            })
4079        }, !0), t.documentElement.addEventListener("DOMAttrModified", function(e) {
4080            o.connected && d[e.attrName] && f({
4081                type: "attributes",
4082                target: e.target,
4083                attributeName: e.attrName
4084            })
4085        }
4085, !0)), window.HTMLImageElement && Object.defineProperties && ! function() {
4086            var e = t.createElement("img"),
4087                n = [],
4088                r = e.getAttribute,
4089                i = e.setAttribute,
4090                o = {
4091                    src: 1
4092                };
4093            a.supSrcset && !a.supSizes && (o.srcset = 1), Object.defineProperties(HTMLImageElement.prototype, {
4094                getAttribute: {
4095                    value: function(e) {
4096                        var t;
4097                        return o[e] && (t = this[a.ns]) && void 0 !== t[e] ? t[e] : r.apply(this, arguments)
4098                    },
4099                    writeable: !0,
4100                    enumerable: !0,
4101                    configurable: !0
4102                }
4103            }), a.supSrcset || n.push("srcset"), a.supSizes || n.push("sizes"), n.forEach(function(e) {
4104                Object.defineProperty(HTMLImageElement.prototype, e, {
4105                    set: function(t) {
4106                        i.call(this, e, t)
4107                    },
4108                    get: function() {
4109                        return r.call(this, e) || ""
4110                    },
4111                    enumerable: !0,
4112                    configurable: !0
4113                })
4114            }), "currentSrc" in e || ! function() {
4115                var e, n = function(e, t) {
4116                        null == t && (t = e.src || ""), Object.defineProperty(e, "pfCurrentSrc", {
4117                            value: t,
4118                            writable: !0
4119                        })
4120                    },
4121                    r = n;
4122                a.supSrcset && window.devicePixelRatio && (e = function(e, t) {
4123                    var n = e.d || e.w || e.res,
4124                        r = t.d || t.w || t.res;
4125                    return n - r
4126                }, n = function i(t) {
4127                    var i, n, o, s, u = t[a.ns];
4128                    if (u && u.supported && u.srcset && u.sets && (n = a.parseSet(u.sets[0])) && n.sort) {
4129                        for (n.sort(e), o = n.length, s = n[o - 1], i = 0; o > i; i++)
4130                            if (n[i].d >= window.devicePixelRatio) {
4131                                s = n[i];
4132                                break
4133                            }
4134                        s && (s = a.makeUrl(s.url))
4135                    }
4136                    r(t, s)
4137                }), t.addEventListener("load", function(e) {
4138                    "IMG" === e.target.nodeName.toUpperCase() && n(e.target)
4139                }, !0), Object.defineProperty(HTMLImageElement.prototype, "currentSrc", {
4140                    set: function() {
4141                        window.console && console.warn && console.warn("currentSrc can't be set on img element")
4142                    },
4143                    get: function() {
4144                        return this.complete && n(this), this.src || this.srcset ? this.pfCurrentSrc || "" : ""
4145                    },
4146                    enumerable: !0,
4147                    configurable: !0
4148                })
4149            }(), !window.HTMLSourceElement || "srcset" in t.createElement("source") || ["srcset", "sizes"].forEach(function(e) {
4150                Object.defineProperty(window.HTMLSourceElement.prototype, e, {
4151                    set: function(t) {
4152                        this.setAttribute(e, t)
4153                    },
4154                    get: function() {
4155                        return this.getAttribute(e) || ""
4156                    },
4157                    enumerable: !0,
4158                    configurable: !0
4159                })
4160            })
4161        }(), o.start()), s || t.addEventListener("DOMContentLoaded", function() {
4162            s = !0
4163        }))
4164    }
4165}),
4166function(e) {
4167    function t() {
4168        o = !1;
4169        for (var t = 0, n = r.length; t < n; t++) {
4170            var i = e(r[t]).filter(function() {
4171                return e(this).is(":appeared")
4172            });
4173            if (i.trigger("appear", [i]), u[t]) {
4174                var s = u[t].not(i);
4175                s.trigger("disappear", [s])
4176            }
4177            u[t] = i
4178        }
4179    }
4180
4181    function n(e) {
4182        r.push(e), u.push()
4183    }
4184    var r = [],
4185        i = !1,
4186        o = !1,
4187        s = {
4188            interval: 250,
4189            force_process: !1
4190        },
4191        a = e(window),
4192        u = [];
4193    e.expr[":"].appeared = function(t) {
4194        var n = e(t);
4195        if (!n.is(":visible")) return !1;
4196        var r = a.scrollLeft(),
4197            i = a.scrollTop(),
4198            o = n.offset(),
4199            s = o.left,
4200            u = o.top;
4201        return u + n.height() >= i && u - (n.data("appear-top-offset") || 0) <= i + a.height() && s + n.width() >
4201= r && s - (n.data("appear-left-offset") || 0) <= r + a.width()
4202    }, e.fn.extend({
4203        appear: function(r) {
4204            var a = e.extend({}, s, r || {}),
4205                u = this.selector || this;
4206            if (!i) {
4207                var c = function() {
4208                    o || (o = !0, setTimeout(t, a.interval))
4209                };
4210                e(window).scroll(c).resize(c), i = !0
4211            }
4212            return a.force_process && setTimeout(t, a.interval), n(u), e(u)
4213        }
4214    }), e.extend({
4215        force_appear: function() {
4216            return !!i && (t(), !0)
4217        }
4218    })
4219}(function() {
4220    return "undefined" != typeof module ? require("jquery") : jQuery
4221}()),
4222function(e) {
4223    function t(t, r) {
4224        this.$element = e(t), this.settings = e.extend({}, n, r), this.init()
4225    }
4226    var n = {
4227        delay: 600,
4228        method: "",
4229        methodDelay: 200,
4230        itemsSelector: ".js_animate",
4231        onClass: "state_animation",
4232        offClass: "state_before-animation",
4233        singleAnimation: !0
4234    };
4235    e.extend(t.prototype, {
4236        init: function() {
4237            var t = this;
4238            t.disappear(), t.eventHandler(), t.$element.appear(), e.force_appear()
4239        },
4240        eventHandler: function() {
4241            var e = this;
4242            e.initAppear(), e.initDisappear()
4243        },
4244        initAppear: function() {
4245            var e = this;
4246            e.$element.on("appear", function() {
4247                e.$element.off("appear"), e.$element.off("disappear"), e.settings.singleAnimation || e.initDisappear(), e.appear()
4248            })
4249        },
4250        appear: function() {
4251            var t = this;
4252            setTimeout(function() {
4253                var n = e(t.settings.itemsSelector, t.$element);
4254                switch (t.settings.method) {
4255                    case "sequence":
4256                        t.iterateItems(n, t.settings.onClass, t.settings.offClass);
4257                        break;
4258                    case "random":
4259                        t.shuffleItems(n, t.settings.onClass, t.settings.offClass);
4260                        break;
4261                    default:
4262                        t.setClasses(n, t.settings.onClass, t.settings.offClass)
4263                }
4264            }, t.settings.delay)
4265        },
4266        initDisappear: function() {
4267            var e = this;
4268            e.$element.on("disappear", function() {
4269                e.$element.off("appear"), e.$element.off("disappear"), e.initAppear(), e.disappear()
4270            })
4271        },
4272        disappear: function() {
4273            var t = this;
4274            t.setClasses(e(t.settings.itemsSelector, t.$element), t.settings.offClass, t.settings.onClass)
4275        },
4276        setClasses: function(e, t, n) {
4277            e.addClass(t).removeClass(n)
4278        },
4279        iterateItems: function(t, n, r) {
4280            var i = this;
4281            t.each(function(t, o) {
4282                setTimeout(function() {
4283                    i.setClasses(e(o), n, r)
4284                }, i.settings.methodDelay * t)
4285            })
4286        },
4287        shuffleItems: function(e, t, n) {
4288            var r = this;
4289            e = e.sort(function() {
4290                return .5 - Math.random()
4291            }), r.iterateItems(e, t, n)
4292        }
4293    }), e.fn.triggeredAnimation = function(n) {
4294        return this.each(function() {
4295            e.data(this, "plugin_triggeredAnimation") || e.data(this, "plugin_triggeredAnimation", new t(this, n))
4296        })
4297    }
4298}(jQuery), $(function() {
4299    $(window).load(function() {
4300        setTimeout(function() {
4301            $(".js_triggered-animation-slider").find(".js_animate").not(".slick-active").removeClass("js_animate state_before-animation"), setTimeout(function() {
4302                $(".js_triggered-animation-slider").triggeredAnimation({
4303                    method: "sequence"
4304                })
4305            }, 150)
4306        }, 150), $(".js_triggered-animation-related-product-slider").triggeredAnimation({
4307            method: "sequence",
4308            itemsSelector: ".slick-active"
4309        })
4310    }), $(".js_triggered-animation-testimonial").triggeredAnimation(), $(".js_triggered-animation-page-teaser").triggeredAnimation({
4311        method: "random",
4312        delay: 600,
4313        methodDelay: 500
4314    }), $(".js_triggered-animation-corporate-text").triggeredAnimation({
4315        delay: 300
4316    }), $(".js_triggered-animation-info-box").triggeredAnimation({
4317        delay: 300
4318    }), $(".js_image-text-slider").triggeredAnimation({
4319        itemsSelector: ".slick-active",
4320        delay: 300
4321    }), $(".js_lightgallery").triggeredAnimation({
4322        method: "random",
4323        itemsSelector: ".js_animate:visible",
4324        delay: 300,
4325        methodDelay: 300
4326    })
4327});
4328
4329// for lightbox
4330$(".js_lightbox-trigger").click(function() {
4331
4332    $(this).closest(".corporate-text ").find(".js_lightbox").fadeIn();
4333});
4334$(".lightbox-close").click(function() {
4335
4336    $(this).closest(".corporate-text ").find(".js_lightbox").fadeOut();
4337});
4338;/*})'"*/

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.