product.sale.js 227 KB
!function(e) { function t(i) { if (n[i]) return n[i].exports; var r = n[i] = {exports: {}, id: i, loaded: !1}; return e[i].call(r.exports, r, r.exports, t), r.loaded = !0, r.exports;} var n = {}; return t.m = e, t.c = n, t.p='', t(0);}([function(e, t, n) { var i = n(2), r = n(3); n(8), n(30), i('.swiper-container .swiper-slide').length > 1 && new r('.swiper-container', {lazyLoading: !0, lazyLoadingInPrevNext: !0, loop: !0, autoplay: 3e3, autoplayDisableOnInteraction: !0, paginationClickable: !0, pagination:'.banner-top .pagination-inner'}) },, function(e, t, n) { var i, r;/* !
	 * jQuery JavaScript Library v2.2.4
	 * http://jquery.com/
	 *
	 * Includes Sizzle.js
	 * http://sizzlejs.com/
	 *
	 * Copyright jQuery Foundation and other contributors
	 * Released under the MIT license
	 * http://jquery.org/license
	 *
	 * Date: 2016-05-20T17:23Z
	 */
    !function(t, n) { "object" == typeof e && "object" == typeof e.exports ? e.exports = t.document ? n(t, !0):function(e) { if (!e.document) throw new Error('jQuery requires a window with a document'); return n(e) }:n(t) }("undefined" != typeof window ? window:this, function(n, a) { function s(e) { var t = !!e&&'length'in e && e.length, n = ue.type(e); return "function" === n || ue.isWindow(e) ? !1:"array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e } function o(e, t, n) { if (ue.isFunction(t)) return ue.grep(e, function(e, i) { return !!t.call(e, i, e) !== n;}); if (t.nodeType) return ue.grep(e, function(e) { return e === t !== n }); if ("string" == typeof t) { if (we.test(t)) return ue.filter(t, e, n); t = ue.filter(t, e) } return ue.grep(e, function(e) { return ie.call(t, e) > -1 !== n });} function l(e, t) { for (;(e = e[t]) && 1 !== e.nodeType;);return e } function u(e) { var t = {}; return ue.each(e.match(Ee) || [], function(e, n) { t[n] = !0;}), t } function p() { J.removeEventListener('DOMContentLoaded', p), n.removeEventListener('load', p), ue.ready() } function c() { this.expando = ue.expando + c.uid++ } function d(e, t, n) { var i; if (void 0 === n && 1 === e.nodeType) if (i = "data-" + t.replace(Ne,'-$&').toLowerCase(), n = e.getAttribute(i), "string" == typeof n) { try { n = "true" === n ? !0:"false" === n ? !1:"null" === n ? null:+n + "" === n ? +n:ze.test(n) ? ue.parseJSON(n):n;} catch (r) {}De.set(e, t, n) } else n = void 0; return n } function f(e, t, n, i) { var r, a = 1, s = 20, o = i ? function() { return i.cur();}:function() { return ue.css(e, t,'') }, l = o(), u = n && n[3] || (ue.cssNumber[t]?'':'px'), p = (ue.cssNumber[t] || "px" !== u && +l) && Le.exec(ue.css(e, t)); if (p && p[3] !== u) { u = u || p[3], n = n || [], p = +l || 1; do a = a||'.5', p /= a, ue.style(e, t, p + u); while (a !== (a = o() / l) && 1 !== a && --s) } return n && (p = +p || +l || 0, r = n[1] ? p + (n[1] + 1) * n[2]:+n[2], i && (i.unit = u, i.start = p, i.end = r)), r } function h(e, t) { var n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t||'*'):"undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t||'*'):[]; return void 0 === t || t && ue.nodeName(e, t) ? ue.merge([e], n):n;} function m(e, t) { for (var n = 0, i = e.length; i > n; n++)Me.set(e[n],'globalEval', !t || Me.get(t[n],'globalEval'));} function g(e, t, n, i, r) { for (var a, s, o, l, u, p, c = t.createDocumentFragment(), d = [], f = 0, g = e.length; g > f; f++) if (a = e[f], a || 0 === a) if ("object" === ue.type(a))ue.merge(d, a.nodeType ? [a]:a); else if (Fe.test(a)) { for (s = s || c.appendChild(t.createElement('div')), o = (Re.exec(a) || ['',''])[1].toLowerCase(), l = je[o] || je._default, s.innerHTML = l[1] + ue.htmlPrefilter(a) + l[2], p = l[0]; p--;)s = s.lastChild; ue.merge(d, s.childNodes), s = c.firstChild, s.textContent = "";} else d.push(t.createTextNode(a)); for (c.textContent='', f = 0; a = d[f++];) if (i && ue.inArray(a, i) > -1)r && r.push(a); else if (u = ue.contains(a.ownerDocument, a), s = h(c.appendChild(a),'script'), u && m(s), n) for (p = 0; a = s[p++];)qe.test(a.type||'') && n.push(a); return c;} function v() { return !0;} function y() { return !1 } function w() { try { return J.activeElement } catch (e) {} } function x(e, t, n, i, r, a) { var s, o; if ("object" == typeof t) { "string" != typeof n && (i = i || n, n = void 0); for (o in t)x(e, o, n, i, t[o], a); return e } if (null == i && null == r ? (r = n, i = n = void 0):null == r && ("string" == typeof n ? (r = i, i = void 0):(r = i, i = n, n = void 0)), r === !1)r = y; else if (!r) return e; return 1 === a && (s = r, r = function(e) { return ue().off(e), s.apply(this, arguments);}, r.guid = s.guid || (s.guid = ue.guid++)), e.each(function() { ue.event.add(this, t, r, i, n);}) } function b(e, t) { return ue.nodeName(e,'table') && ue.nodeName(11 !== t.nodeType ? t:t.firstChild,'tr') ? e.getElementsByTagName('tbody')[0] || e.appendChild(e.ownerDocument.createElement('tbody')):e;} function T(e) { return e.type = (null !== e.getAttribute('type')) + "/" + e.type, e;} function C(e) { var t = $e.exec(e.type); return t ? e.type = t[1]:e.removeAttribute('type'), e } function S(e, t) { var n, i, r, a, s, o, l, u; if (1 === t.nodeType) { if (Me.hasData(e) && (a = Me.access(e), s = Me.set(t, a), u = a.events)) { delete s.handle, s.events = {}; for (r in u) for (n = 0, i = u[r].length; i > n; n++)ue.event.add(t, r, u[r][n]) }De.hasData(e) && (o = De.access(e), l = ue.extend({}, o), De.set(t, l));} } function E(e, t) { var n = t.nodeName.toLowerCase(); "input" === n && Be.test(e.type) ? t.checked = e.checked:"input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue) } function A(e, t, n, i) { t = te.apply([], t); var r, a, s, o, l, u, p = 0, c = e.length, d = c - 1, f = t[0], m = ue.isFunction(f); if (m || c > 1 && "string" == typeof f && !oe.checkClone && Ve.test(f)) return e.each(function(r) { var a = e.eq(r); m && (t[0] = f.call(this, r, a.html())), A(a, t, n, i) }); if (c && (r = g(t, e[0].ownerDocument, !1, e, i), a = r.firstChild, 1 === r.childNodes.length && (r = a), a || i)) { for (s = ue.map(h(r,'script'), T), o = s.length; c > p; p++)l = r, p !== d && (l = ue.clone(l, !0, !0), o && ue.merge(s, h(l,'script'))), n.call(e[p], l, p); if (o) for (u = s[s.length - 1].ownerDocument, ue.map(s, C), p = 0; o > p; p++)l = s[p], qe.test(l.type||'') && !Me.access(l,'globalEval') && ue.contains(u, l) && (l.src ? ue._evalUrl && ue._evalUrl(l.src):ue.globalEval(l.textContent.replace(Ue,'')));} return e } function k(e, t, n) { for (var i, r = t ? ue.filter(t, e):e, a = 0; null != (i = r[a]); a++)n || 1 !== i.nodeType || ue.cleanData(h(i)), i.parentNode && (n && ue.contains(i.ownerDocument, i) && m(h(i,'script')), i.parentNode.removeChild(i)); return e;} function P(e, t) { var n = ue(t.createElement(e)).appendTo(t.body), i = ue.css(n[0],'display'); return n.detach(), i } function M(e) { var t = J, n = Qe[e]; return n || (n = P(e, t), "none" !== n && n || (Ke = (Ke || ue('<iframe frameborder=\'0\' width=\'0\' height=\'0\'/>')).appendTo(t.documentElement), t = Ke[0].contentDocument, t.write(), t.close(), n = P(e, t), Ke.detach()), Qe[e] = n), n;} function D(e, t, n) { var i, r, a, s, o = e.style; return n = n || et(e), s = n ? n.getPropertyValue(t) || n[t]:void 0, "" !== s && void 0 !== s || ue.contains(e.ownerDocument, e) || (s = ue.style(e, t)), n && !oe.pixelMarginRight() && Je.test(s) && Ze.test(t) && (i = o.width, r = o.minWidth, a = o.maxWidth, o.minWidth = o.maxWidth = o.width = s, s = n.width, o.width = i, o.minWidth = r, o.maxWidth = a), void 0 !== s ? s+'':s;} function z(e, t) { return {get: function() { return e() ? void delete this.get:(this.get = t).apply(this, arguments) }};} function N(e) { if (e in ot) return e; for (var t = e[0].toUpperCase() + e.slice(1), n = st.length; n--;) if (e = st[n] + t, e in ot) return e } function I(e, t, n) { var i = Le.exec(t); return i ? Math.max(0, i[2] - (n || 0)) + (i[3]||'px'):t } function L(e, t, n, i, r) { for (var a = n === (i?'border':'content') ? 4:"width" === t ? 1:0, s = 0; 4 > a; a += 2)"margin" === n && (s += ue.css(e, n + He[a], !0, r)), i ? ("content" === n && (s -= ue.css(e, "padding" + He[a], !0, r)), "margin" !== n && (s -= ue.css(e, "border" + He[a]+'Width', !0, r))):(s += ue.css(e, "padding" + He[a], !0, r), "padding" !== n && (s += ue.css(e, "border" + He[a]+'Width', !0, r))); return s } function H(e, t, n) { var i = !0, r = "width" === t ? e.offsetWidth:e.offsetHeight, a = et(e), s = "border-box" === ue.css(e,'boxSizing', !1, a); if (0 >= r || null == r) { if (r = D(e, t, a), (0 > r || null == r) && (r = e.style[t]), Je.test(r)) return r; i = s && (oe.boxSizingReliable() || r === e.style[t]), r = parseFloat(r) || 0 } return r + L(e, t, n || (s?'border':'content'), i, a) + "px" } function O(e, t) { for (var n, i, r, a = [], s = 0, o = e.length; o > s; s++)i = e[s], i.style && (a[s] = Me.get(i,'olddisplay'), n = i.style.display, t ? (a[s] || "none" !== n || (i.style.display=''), "" === i.style.display && Oe(i) && (a[s] = Me.access(i,'olddisplay', M(i.nodeName)))):(r = Oe(i), "none" === n && r || Me.set(i,'olddisplay', r ? n:ue.css(i,'display')))); for (s = 0; o > s; s++)i = e[s], i.style && (t && "none" !== i.style.display && "" !== i.style.display || (i.style.display = t ? a[s]||'':'none')); return e;} function B(e, t, n, i, r) { return new B.prototype.init(e, t, n, i, r) } function R() { return n.setTimeout(function() { lt = void 0 }), lt = ue.now() } function q(e, t) { var n, i = 0, r = {height: e}; for (t = t ? 1:0; 4 > i; i += 2 - t)n = He[i], r["margin" + n] = r["padding" + n] = e; return t && (r.opacity = r.width = e), r } function j(e, t, n) { for (var i, r = (_.tweeners[t] || []).concat(_.tweeners['*']), a = 0, s = r.length; s > a; a++) if (i = r[a].call(n, t, e)) return i;} function F(e, t, n) { var i, r, a, s, o, l, u, p, c = this, d = {}, f = e.style, h = e.nodeType && Oe(e), m = Me.get(e,'fxshow'); n.queue || (o = ue._queueHooks(e,'fx'), null == o.unqueued && (o.unqueued = 0, l = o.empty.fire, o.empty.fire = function() { o.unqueued || l();}), o.unqueued++, c.always(function() { c.always(function() { o.unqueued--, ue.queue(e,'fx').length || o.empty.fire() }) })), 1 === e.nodeType && ('height'in t||'width'in t) && (n.overflow = [f.overflow, f.overflowX, f.overflowY], u = ue.css(e,'display'), p = "none" === u ? Me.get(e,'olddisplay') || M(e.nodeName):u, "inline" === p && "none" === ue.css(e,'float') && (f.display='inline-block')), n.overflow && (f.overflow='hidden', c.always(function() { f.overflow = n.overflow[0], f.overflowX = n.overflow[1], f.overflowY = n.overflow[2] })); for (i in t) if (r = t[i], pt.exec(r)) { if (delete t[i], a = a || "toggle" === r, r === (h?'hide':'show')) { if ("show" !== r || !m || void 0 === m[i]) continue; h = !0;}d[i] = m && m[i] || ue.style(e, i) } else u = void 0; if (ue.isEmptyObject(d))"inline" === ("none" === u ? M(e.nodeName):u) && (f.display = u); else { m?'hidden'in m && (h = m.hidden):m = Me.access(e,'fxshow', {}), a && (m.hidden = !h), h ? ue(e).show():c.done(function() { ue(e).hide();}), c.done(function() { var t; Me.remove(e,'fxshow'); for (t in d)ue.style(e, t, d[t]);}); for (i in d)s = j(h ? m[i]:0, i, c), i in m || (m[i] = s.start, h && (s.end = s.start, s.start = "width" === i || "height" === i ? 1:0)) } } function W(e, t) { var n, i, r, a, s; for (n in e) if (i = ue.camelCase(n), r = t[i], a = e[n], ue.isArray(a) && (r = a[1], a = e[n] = a[0]), n !== i && (e[i] = a, delete e[n]), s = ue.cssHooks[i], s&&'expand'in s) { a = s.expand(a), delete e[i]; for (n in a)n in e || (e[n] = a[n], t[n] = r) } else t[i] = r;} function _(e, t, n) { var i, r, a = 0, s = _.prefilters.length, o = ue.Deferred().always(function() { delete l.elem;}), l = function() { if (r) return !1; for (var t = lt || R(), n = Math.max(0, u.startTime + u.duration - t), i = n / u.duration || 0, a = 1 - i, s = 0, l = u.tweens.length; l > s; s++)u.tweens[s].run(a); return o.notifyWith(e, [u, a, n]), 1 > a && l ? n:(o.resolveWith(e, [u]), !1) }, u = o.promise({elem: e, props: ue.extend({}, t), opts: ue.extend(!0, {specialEasing: {}, easing: ue.easing._default}, n), originalProperties: t, originalOptions: n, startTime: lt || R(), duration: n.duration, tweens: [], createTween: function(t, n) { var i = ue.Tween(e, u.opts, t, n, u.opts.specialEasing[t] || u.opts.easing); return u.tweens.push(i), i;}, stop: function(t) { var n = 0, i = t ? u.tweens.length:0; if (r) return this; for (r = !0; i > n; n++)u.tweens[n].run(1); return t ? (o.notifyWith(e, [u, 1, 0]), o.resolveWith(e, [u, t])):o.rejectWith(e, [u, t]), this }}), p = u.props; for (W(p, u.opts.specialEasing); s > a; a++) if (i = _.prefilters[a].call(u, e, p, u.opts)) return ue.isFunction(i.stop) && (ue._queueHooks(u.elem, u.opts.queue).stop = ue.proxy(i.stop, i)), i; return ue.map(p, j, u), ue.isFunction(u.opts.start) && u.opts.start.call(e, u), ue.fx.timer(ue.extend(l, {elem: e, anim: u, queue: u.opts.queue})), u.progress(u.opts.progress).done(u.opts.done, u.opts.complete).fail(u.opts.fail).always(u.opts.always) } function G(e) { return e.getAttribute && e.getAttribute('class') || "" } function X(e) { return function(t, n) { "string" != typeof t && (n = t, t='*'); var i, r = 0, a = t.toLowerCase().match(Ee) || []; if (ue.isFunction(n)) for (;i = a[r++];)"+" === i[0] ? (i = i.slice(1)||'*', (e[i] = e[i] || []).unshift(n)):(e[i] = e[i] || []).push(n);} } function Y(e, t, n, i) { function r(o) { var l; return a[o] = !0, ue.each(e[o] || [], function(e, o) { var u = o(t, n, i); return "string" != typeof u || s || a[u] ? s ? !(l = u):void 0:(t.dataTypes.unshift(u), r(u), !1) }), l;} var a = {}, s = e === Dt; return r(t.dataTypes[0]) || !a['*'] && r('*');} function V(e, t) { var n, i, r = ue.ajaxSettings.flatOptions || {}; for (n in t) void 0 !== t[n] && ((r[n] ? e:i || (i = {}))[n] = t[n]); return i && ue.extend(!0, e, i), e;} function $(e, t, n) { for (var i, r, a, s, o = e.contents, l = e.dataTypes; "*" === l[0];)l.shift(), void 0 === i && (i = e.mimeType || t.getResponseHeader('Content-Type')); if (i) for (r in o) if (o[r] && o[r].test(i)) { l.unshift(r); break } if (l[0]in n)a = l[0]; else { for (r in n) { if (!l[0] || e.converters[r + " " + l[0]]) { a = r; break }s || (s = r);}a = a || s } return a ? (a !== l[0] && l.unshift(a), n[a]):void 0;} function U(e, t, n, i) { var r, a, s, o, l, u = {}, p = e.dataTypes.slice(); if (p[1]) for (s in e.converters)u[s.toLowerCase()] = e.converters[s]; for (a = p.shift(); a;) if (e.responseFields[a] && (n[e.responseFields[a]] = t), !l && i && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = a, a = p.shift()) if ("*" === a)a = l; else if ("*" !== l && l !== a) { if (s = u[l + " " + a] || u["* " + a], !s) for (r in u) if (o = r.split(' '), o[1] === a && (s = u[l + " " + o[0]] || u["* " + o[0]])) { s === !0 ? s = u[r]:u[r] !== !0 && (a = o[0], p.unshift(o[1])); break;} if (s !== !0) if (s && e['throws'])t = s(t); else try { t = s(t) } catch (c) { return {state:'parsererror', error: s ? c:"No conversion from " + l + " to " + a};} } return {state:'success', data: t};} function K(e, t, n, i) { var r; if (ue.isArray(t))ue.each(t, function(t, r) { n || Lt.test(e) ? i(e, r):K(e + "[" + ("object" == typeof r && null != r ? t:'')+']', r, n, i);}); else if (n || "object" !== ue.type(t))i(e, t); else for (r in t)K(e + "[" + r+']', t[r], n, i);} function Q(e) { return ue.isWindow(e) ? e:9 === e.nodeType && e.defaultView } var Z = [], J = n.document, ee = Z.slice, te = Z.concat, ne = Z.push, ie = Z.indexOf, re = {}, ae = re.toString, se = re.hasOwnProperty, oe = {}, le='2.2.4', ue = function(e, t) { return new ue.fn.init(e, t) }, pe = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ce = /^-ms-/, de = /-([\da-z])/gi, fe = function(e, t) { return t.toUpperCase();}; ue.fn = ue.prototype = {jquery: le, constructor: ue, selector:'', length: 0, toArray: function() { return ee.call(this);}, get: function(e) { return null != e ? 0 > e ? this[e + this.length]:this[e]:ee.call(this) }, pushStack: function(e) { var t = ue.merge(this.constructor(), e); return t.prevObject = this, t.context = this.context, t;}, each: function(e) { return ue.each(this, e) }, map: function(e) { return this.pushStack(ue.map(this, function(t, n) { return e.call(t, n, t);}));}, slice: function() { return this.pushStack(ee.apply(this, arguments));}, first: function() { return this.eq(0) }, last: function() { return this.eq(-1) }, eq: function(e) { var t = this.length, n = +e + (0 > e ? t:0); return this.pushStack(n >= 0 && t > n ? [this[n]]:[]);}, end: function() { return this.prevObject || this.constructor() }, push: ne, sort: Z.sort, splice: Z.splice}, ue.extend = ue.fn.extend = function() { var e, t, n, i, r, a, s = arguments[0] || {}, o = 1, l = arguments.length, u = !1; for ("boolean" == typeof s && (u = s, s = arguments[o] || {}, o++), "object" == typeof s || ue.isFunction(s) || (s = {}), o === l && (s = this, o--); l > o; o++) if (null != (e = arguments[o])) for (t in e)n = s[t], i = e[t], s !== i && (u && i && (ue.isPlainObject(i) || (r = ue.isArray(i))) ? (r ? (r = !1, a = n && ue.isArray(n) ? n:[]):a = n && ue.isPlainObject(n) ? n:{}, s[t] = ue.extend(u, a, i)):void 0 !== i && (s[t] = i)); return s;}, ue.extend({expando: "jQuery" + (le + Math.random()).replace(/\D/g,''), isReady: !0, error: function(e) { throw new Error(e) }, noop: function() {}, isFunction: function(e) { return "function" === ue.type(e) }, isArray: Array.isArray, isWindow: function(e) { return null != e && e === e.window }, isNumeric: function(e) { var t = e && e.toString(); return !ue.isArray(e) && t - parseFloat(t) + 1 >= 0 }, isPlainObject: function(e) { var t; if ("object" !== ue.type(e) || e.nodeType || ue.isWindow(e)) return !1; if (e.constructor && !se.call(e,'constructor') && !se.call(e.constructor.prototype || {},'isPrototypeOf')) return !1; for (t in e);return void 0 === t || se.call(e, t);}, isEmptyObject: function(e) { var t; for (t in e) return !1; return !0 }, type: function(e) { return null == e ? e+'':"object" == typeof e || "function" == typeof e ? re[ae.call(e)]||'object':typeof e;}, globalEval: function(e) { var t, n = eval; e = ue.trim(e), e && (1 === e.indexOf('use strict') ? (t = J.createElement('script'), t.text = e, J.head.appendChild(t).parentNode.removeChild(t)):n(e)) }, camelCase: function(e) { return e.replace(ce,'ms-').replace(de, fe) }, nodeName: function(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase();}, each: function(e, t) { var n, i = 0; if (s(e)) for (n = e.length; n > i && t.call(e[i], i, e[i]) !== !1; i++);else for (i in e) if (t.call(e[i], i, e[i]) === !1) break; return e }, trim: function(e) { return null == e?'':(e+'').replace(pe,'') }, makeArray: function(e, t) { var n = t || []; return null != e && (s(Object(e)) ? ue.merge(n, "string" == typeof e ? [e]:e):ne.call(n, e)), n;}, inArray: function(e, t, n) { return null == t ? -1:ie.call(t, e, n);}, merge: function(e, t) { for (var n = +t.length, i = 0, r = e.length; n > i; i++)e[r++] = t[i]; return e.length = r, e }, grep: function(e, t, n) { for (var i, r = [], a = 0, s = e.length, o = !n; s > a; a++)i = !t(e[a], a), i !== o && r.push(e[a]); return r;}, map: function(e, t, n) { var i, r, a = 0, o = []; if (s(e)) for (i = e.length; i > a; a++)r = t(e[a], a, n), null != r && o.push(r); else for (a in e)r = t(e[a], a, n), null != r && o.push(r); return te.apply([], o);}, guid: 1, proxy: function(e, t) { var n, i, r; return "string" == typeof t && (n = e[t], t = e, e = n), ue.isFunction(e) ? (i = ee.call(arguments, 2), r = function() { return e.apply(t || this, i.concat(ee.call(arguments))) }, r.guid = e.guid = e.guid || ue.guid++, r):void 0;}, now: Date.now, support: oe}), "function" == typeof Symbol && (ue.fn[Symbol.iterator] = Z[Symbol.iterator]), ue.each('Boolean Number String Function Array Date RegExp Object Error Symbol'.split(' '), function(e, t) { re["[object " + t+']'] = t.toLowerCase() }); var he =/* !
	 * Sizzle CSS Selector Engine v2.2.1
	 * http://sizzlejs.com/
	 *
	 * Copyright jQuery Foundation and other contributors
	 * Released under the MIT license
	 * http://jquery.org/license
	 *
	 * Date: 2015-10-17
	 */
function(e) { function t(e, t, n, i) { var r, a, s, o, l, u, c, f, h = t && t.ownerDocument, m = t ? t.nodeType:9; if (n = n || [], "string" != typeof e || !e || 1 !== m && 9 !== m && 11 !== m) return n; if (!i && ((t ? t.ownerDocument || t:j) !== N && z(t), t = t || N, L)) { if (11 !== m && (u = ve.exec(e))) if (r = u[1]) { if (9 === m) { if (!(s = t.getElementById(r))) return n; if (s.id === r) return n.push(s), n;} else if (h && (s = h.getElementById(r)) && R(t, s) && s.id === r) return n.push(s), n } else { if (u[2]) return Z.apply(n, t.getElementsByTagName(e)), n; if ((r = u[3]) && b.getElementsByClassName && t.getElementsByClassName) return Z.apply(n, t.getElementsByClassName(r)), n } if (b.qsa && !X[e+' '] && (!H || !H.test(e))) { if (1 !== m)h = t, f = e; else if ("object" !== t.nodeName.toLowerCase()) { for ((o = t.getAttribute('id')) ? o = o.replace(we,'\\$&'):t.setAttribute('id', o = q), c = E(e), a = c.length, l = de.test(o) ? "#" + o:"[id='" + o+'\']'; a--;)c[a] = l + " " + d(c[a]); f = c.join(','), h = ye.test(e) && p(t.parentNode) || t } if (f) try { return Z.apply(n, h.querySelectorAll(f)), n } catch (g) {} finally { o === q && t.removeAttribute('id');} } } return k(e.replace(oe,'$1'), t, n, i) } function n() { function e(n, i) { return t.push(n+' ') > T.cacheLength && delete e[t.shift()], e[n+' '] = i } var t = []; return e;} function i(e) { return e[q] = !0, e } function r(e) { var t = N.createElement('div'); try { return !!e(t);} catch (n) { return !1;} finally { t.parentNode && t.parentNode.removeChild(t), t = null;} } function a(e, t) { for (var n = e.split('|'), i = n.length; i--;)T.attrHandle[n[i]] = t } function s(e, t) { var n = t && e, i = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || V) - (~e.sourceIndex || V); if (i) return i; if (n) for (;n = n.nextSibling;) if (n === t) return -1; return e ? 1:-1 } function o(e) { return function(t) { var n = t.nodeName.toLowerCase(); return "input" === n && t.type === e };} function l(e) { return function(t) { var n = t.nodeName.toLowerCase(); return ("input" === n || "button" === n) && t.type === e;} } function u(e) { return i(function(t) { return t = +t, i(function(n, i) { for (var r, a = e([], n.length, t), s = a.length; s--;)n[r = a[s]] && (n[r] = !(i[r] = n[r]));}) }) } function p(e) { return e && "undefined" != typeof e.getElementsByTagName && e;} function c() {} function d(e) { for (var t = 0, n = e.length, i=''; n > t; t++)i += e[t].value; return i } function f(e, t, n) { var i = t.dir, r = n && "parentNode" === i, a = W++; return t.first ? function(t, n, a) { for (;t = t[i];) if (1 === t.nodeType || r) return e(t, n, a) }:function(t, n, s) { var o, l, u, p = [F, a]; if (s) { for (;t = t[i];) if ((1 === t.nodeType || r) && e(t, n, s)) return !0 } else for (;t = t[i];) if (1 === t.nodeType || r) { if (u = t[q] || (t[q] = {}), l = u[t.uniqueID] || (u[t.uniqueID] = {}), (o = l[i]) && o[0] === F && o[1] === a) return p[2] = o[2]; if (l[i] = p, p[2] = e(t, n, s)) return !0 } };} function h(e) { return e.length > 1 ? function(t, n, i) { for (var r = e.length; r--;) if (!e[r](t, n, i)) return !1; return !0 }:e[0];} function m(e, n, i) { for (var r = 0, a = n.length; a > r; r++)t(e, n[r], i); return i;} function g(e, t, n, i, r) { for (var a, s = [], o = 0, l = e.length, u = null != t; l > o; o++)(a = e[o]) && (n && !n(a, i, r) || (s.push(a), u && t.push(o))); return s } function v(e, t, n, r, a, s) { return r && !r[q] && (r = v(r)), a && !a[q] && (a = v(a, s)), i(function(i, s, o, l) { var u, p, c, d = [], f = [], h = s.length, v = i || m(t||'*', o.nodeType ? [o]:o, []), y = !e || !i && t ? v:g(v, d, e, o, l), w = n ? a || (i ? e:h || r) ? []:s:y; if (n && n(y, w, o, l), r) for (u = g(w, f), r(u, [], o, l), p = u.length; p--;)(c = u[p]) && (w[f[p]] = !(y[f[p]] = c)); if (i) { if (a || e) { if (a) { for (u = [], p = w.length; p--;)(c = w[p]) && u.push(y[p] = c); a(null, w = [], u, l) } for (p = w.length; p--;)(c = w[p]) && (u = a ? ee(i, c):d[p]) > -1 && (i[u] = !(s[u] = c));} } else w = g(w === s ? w.splice(h, w.length):w), a ? a(null, s, w, l):Z.apply(s, w);});} function y(e) { for (var t, n, i, r = e.length, a = T.relative[e[0].type], s = a || T.relative[' '], o = a ? 1:0, l = f(function(e) { return e === t }, s, !0), u = f(function(e) { return ee(t, e) > -1;}, s, !0), p = [function(e, n, i) { var r = !a && (i || n !== P) || ((t = n).nodeType ? l(e, n, i):u(e, n, i)); return t = null, r }]; r > o; o++) if (n = T.relative[e[o].type])p = [f(h(p), n)]; else { if (n = T.filter[e[o].type].apply(null, e[o].matches), n[q]) { for (i = ++o; r > i && !T.relative[e[i].type]; i++);return v(o > 1 && h(p), o > 1 && d(e.slice(0, o - 1).concat({value: " " === e[o - 2].type?'*':''})).replace(oe,'$1'), n, i > o && y(e.slice(o, i)), r > i && y(e = e.slice(i)), r > i && d(e));}p.push(n);} return h(p) } function w(e, n) { var r = n.length > 0, a = e.length > 0, s = function(i, s, o, l, u) { var p, c, d, f = 0, h='0', m = i && [], v = [], y = P, w = i || a && T.find.TAG('*', u), x = F += null == y ? 1:Math.random() || .1, b = w.length; for (u && (P = s === N || s || u); h !== b && null != (p = w[h]); h++) { if (a && p) { for (c = 0, s || p.ownerDocument === N || (z(p), o = !L); d = e[c++];) if (d(p, s || N, o)) { l.push(p); break }u && (F = x);}r && ((p = !d && p) && f--, i && m.push(p));} if (f += h, r && h !== f) { for (c = 0; d = n[c++];)d(m, v, s, o); if (i) { if (f > 0) for (;h--;)m[h] || v[h] || (v[h] = K.call(l)); v = g(v);}Z.apply(l, v), u && !i && v.length > 0 && f + n.length > 1 && t.uniqueSort(l) } return u && (F = x, P = y), m }; return r ? i(s):s } var x, b, T, C, S, E, A, k, P, M, D, z, N, I, L, H, O, B, R, q = "sizzle" + 1 * new Date, j = e.document, F = 0, W = 0, _ = n(), G = n(), X = n(), Y = function(e, t) { return e === t && (D = !0), 0;}, V = 1 << 31, $ = {}.hasOwnProperty, U = [], K = U.pop, Q = U.push, Z = U.push, J = U.slice, ee = function(e, t) { for (var n = 0, i = e.length; i > n; n++) if (e[n] === t) return n; return -1;}, te='checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped', ne='[\\x20\\t\\r\\n\\f]', ie='(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+', re = "\\[" + ne + "*(" + ie + ")(?:" + ne + "*([*^$|!~]?=)" + ne + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + ie + "))|)" + ne+'*\\]', ae = ":(" + ie + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + re+')*)|.*)\\)|)', se = new RegExp(ne+'+','g'), oe = new RegExp("^" + ne + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ne+'+$','g'), le = new RegExp("^" + ne + "*," + ne+'*'), ue = new RegExp("^" + ne + "*([>+~]|" + ne + ")" + ne+'*'), pe = new RegExp("=" + ne + "*([^\\]'\"]*?)" + ne+'*\\]','g'), ce = new RegExp(ae), de = new RegExp("^" + ie+'$'), fe = {ID: new RegExp("^#(" + ie+')'), CLASS: new RegExp("^\\.(" + ie+')'), TAG: new RegExp("^(" + ie+'|[*])'), ATTR: new RegExp("^" + re), PSEUDO: new RegExp("^" + ae), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ne + "*(even|odd|(([+-]|)(\\d*)n|)" + ne + "*(?:([+-]|)" + ne + "*(\\d+)|))" + ne+'*\\)|)','i'), bool: new RegExp("^(?:" + te+')$','i'), needsContext: new RegExp("^" + ne + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ne + "*((?:-\\d)?\\d*)" + ne+'*\\)|)(?=[^-]|$)','i')}, he = /^(?:input|select|textarea|button)$/i, me = /^h\d$/i, ge = /^[^{]+\{\s*\[native \w/, ve = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, ye = /[+~]/, we = /'|\\/g, xe = new RegExp("\\\\([\\da-f]{1,6}" + ne + "?|(" + ne+')|.)','ig'), be = function(e, t, n) { var i = "0x" + t - 65536; return i !== i || n ? t:0 > i ? String.fromCharCode(i + 65536):String.fromCharCode(i >> 10 | 55296, 1023 & i | 56320) }, Te = function() { z();}; try { Z.apply(U = J.call(j.childNodes), j.childNodes), U[j.childNodes.length].nodeType;} catch (Ce) { Z = {apply: U.length ? function(e, t) { Q.apply(e, J.call(t)) }:function(e, t) { for (var n = e.length, i = 0; e[n++] = t[i++];);e.length = n - 1;}};}b = t.support = {}, S = t.isXML = function(e) { var t = e && (e.ownerDocument || e).documentElement; return t ? "HTML" !== t.nodeName:!1 }, z = t.setDocument = function(e) { var t, n, i = e ? e.ownerDocument || e:j; return i !== N && 9 === i.nodeType && i.documentElement ? (N = i, I = N.documentElement, L = !S(N), (n = N.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener('unload', Te, !1):n.attachEvent && n.attachEvent('onunload', Te)), b.attributes = r(function(e) { return e.className='i', !e.getAttribute('className') }), b.getElementsByTagName = r(function(e) { return e.appendChild(N.createComment('')), !e.getElementsByTagName('*').length }), b.getElementsByClassName = ge.test(N.getElementsByClassName), b.getById = r(function(e) { return I.appendChild(e).id = q, !N.getElementsByName || !N.getElementsByName(q).length }), b.getById ? (T.find.ID = function(e, t) { if ("undefined" != typeof t.getElementById && L) { var n = t.getElementById(e); return n ? [n]:[];} }, T.filter.ID = function(e) { var t = e.replace(xe, be); return function(e) { return e.getAttribute('id') === t } }):(delete T.find.ID, T.filter.ID = function(e) { var t = e.replace(xe, be); return function(e) { var n = "undefined" != typeof e.getAttributeNode && e.getAttributeNode('id'); return n && n.value === t;};}), T.find.TAG = b.getElementsByTagName ? function(e, t) { return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e):b.qsa ? t.querySelectorAll(e):void 0 }:function(e, t) { var n, i = [], r = 0, a = t.getElementsByTagName(e); if ("*" === e) { for (;n = a[r++];)1 === n.nodeType && i.push(n); return i;} return a }, T.find.CLASS = b.getElementsByClassName && function(e, t) { return "undefined" != typeof t.getElementsByClassName && L ? t.getElementsByClassName(e):void 0;}, O = [], H = [], (b.qsa = ge.test(N.querySelectorAll)) && (r(function(e) { I.appendChild(e).innerHTML = "<a id='" + q + "'></a><select id='" + q+'-\r\\\' msallowcapture=\'\'><option selected=\'\'></option></select>', e.querySelectorAll('[msallowcapture^=\'\']').length && H.push("[*^$]=" + ne+'*(?:\'\'|"")'), e.querySelectorAll('[selected]').length || H.push("\\[" + ne + "*(?:value|" + te+')'), e.querySelectorAll("[id~=" + q+'-]').length || H.push('~='), e.querySelectorAll(':checked').length || H.push(':checked'), e.querySelectorAll("a#" + q+'+*').length || H.push('.#.+[+~]');}), r(function(e) { var t = N.createElement('input'); t.setAttribute('type','hidden'), e.appendChild(t).setAttribute('name','D'), e.querySelectorAll('[name=d]').length && H.push("name" + ne+'*[*^$|!~]?='), e.querySelectorAll(':enabled').length || H.push(':enabled',':disabled'), e.querySelectorAll('*,:x'), H.push(',.*:');})), (b.matchesSelector = ge.test(B = I.matches || I.webkitMatchesSelector || I.mozMatchesSelector || I.oMatchesSelector || I.msMatchesSelector)) && r(function(e) { b.disconnectedMatch = B.call(e,'div'), B.call(e,'[s!=\'\']:x'), O.push('!=', ae) }), H = H.length && new RegExp(H.join('|')), O = O.length && new RegExp(O.join('|')), t = ge.test(I.compareDocumentPosition), R = t || ge.test(I.contains) ? function(e, t) { var n = 9 === e.nodeType ? e.documentElement:e, i = t && t.parentNode; return e === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i):e.compareDocumentPosition && 16 & e.compareDocumentPosition(i)));}:function(e, t) { if (t) for (;t = t.parentNode;) if (t === e) return !0; return !1 }, Y = t ? function(e, t) { if (e === t) return D = !0, 0; var n = !e.compareDocumentPosition - !t.compareDocumentPosition; return n ? n:(n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t):1, 1 & n || !b.sortDetached && t.compareDocumentPosition(e) === n ? e === N || e.ownerDocument === j && R(j, e) ? -1:t === N || t.ownerDocument === j && R(j, t) ? 1:M ? ee(M, e) - ee(M, t):0:4 & n ? -1:1);}:function(e, t) { if (e === t) return D = !0, 0; var n, i = 0, r = e.parentNode, a = t.parentNode, o = [e], l = [t]; if (!r || !a) return e === N ? -1:t === N ? 1:r ? -1:a ? 1:M ? ee(M, e) - ee(M, t):0; if (r === a) return s(e, t); for (n = e; n = n.parentNode;)o.unshift(n); for (n = t; n = n.parentNode;)l.unshift(n); for (;o[i] === l[i];)i++; return i ? s(o[i], l[i]):o[i] === j ? -1:l[i] === j ? 1:0;}, N):N;}, t.matches = function(e, n) { return t(e, null, null, n);}, t.matchesSelector = function(e, n) { if ((e.ownerDocument || e) !== N && z(e), n = n.replace(pe,'=\'$1\']'), b.matchesSelector && L && !X[n+' '] && (!O || !O.test(n)) && (!H || !H.test(n))) try { var i = B.call(e, n); if (i || b.disconnectedMatch || e.document && 11 !== e.document.nodeType) return i } catch (r) {} return t(n, N, null, [e]).length > 0 }, t.contains = function(e, t) { return (e.ownerDocument || e) !== N && z(e), R(e, t) }, t.attr = function(e, t) { (e.ownerDocument || e) !== N && z(e); var n = T.attrHandle[t.toLowerCase()], i = n && $.call(T.attrHandle, t.toLowerCase()) ? n(e, t, !L):void 0; return void 0 !== i ? i:b.attributes || !L ? e.getAttribute(t):(i = e.getAttributeNode(t)) && i.specified ? i.value:null;}, t.error = function(e) { throw new Error("Syntax error, unrecognized expression: " + e) }, t.uniqueSort = function(e) { var t, n = [], i = 0, r = 0; if (D = !b.detectDuplicates, M = !b.sortStable && e.slice(0), e.sort(Y), D) { for (;t = e[r++];)t === e[r] && (i = n.push(r)); for (;i--;)e.splice(n[i], 1);} return M = null, e }, C = t.getText = function(e) { var t, n='', i = 0, r = e.nodeType; if (r) { if (1 === r || 9 === r || 11 === r) { if ("string" == typeof e.textContent) return e.textContent; for (e = e.firstChild; e; e = e.nextSibling)n += C(e) } else if (3 === r || 4 === r) return e.nodeValue;} else for (;t = e[i++];)n += C(t); return n }, T = t.selectors = {cacheLength: 50, createPseudo: i, match: fe, attrHandle: {}, find: {}, relative: {'>': {dir:'parentNode', first: !0},' ': {dir:'parentNode'},'+': {dir:'previousSibling', first: !0},'~': {dir:'previousSibling'}}, preFilter: {ATTR: function(e) { return e[1] = e[1].replace(xe, be), e[3] = (e[3] || e[4] || e[5]||'').replace(xe, be), "~=" === e[2] && (e[3] = " " + e[3]+' '), e.slice(0, 4) }, CHILD: function(e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || 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;}, PSEUDO: function(e) { var t, n = !e[6] && e[2]; return fe.CHILD.test(e[0]) ? null:(e[3] ? e[2] = e[4] || e[5]||'':n && ce.test(n) && (t = E(n, !0)) && (t = n.indexOf(')', n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3));}}, filter: {TAG: function(e) { var t = e.replace(xe, be).toLowerCase(); return "*" === e ? function() { return !0 }:function(e) { return e.nodeName && e.nodeName.toLowerCase() === t;};}, CLASS: function(e) { var t = _[e+' ']; return t || (t = new RegExp("(^|" + ne + ")" + e + "(" + ne+'|$)')) && _(e, function(e) { return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute('class')||'') });}, ATTR: function(e, n, i) { return function(r) { var a = t.attr(r, e); return null == a ? "!=" === n:n ? (a+='', "=" === n ? a === i:"!=" === n ? a !== i:"^=" === n ? i && 0 === a.indexOf(i):"*=" === n ? i && a.indexOf(i) > -1:"$=" === n ? i && a.slice(-i.length) === i:"~=" === n ? (" " + a.replace(se,' ')+' ').indexOf(i) > -1:"|=" === n ? a === i || a.slice(0, i.length + 1) === i+'-':!1):!0;};}, CHILD: function(e, t, n, i, r) { var a = "nth" !== e.slice(0, 3), s = "last" !== e.slice(-4), o = "of-type" === t; return 1 === i && 0 === r ? function(e) { return !!e.parentNode;}:function(t, n, l) { var u, p, c, d, f, h, m = a !== s?'nextSibling':'previousSibling', g = t.parentNode, v = o && t.nodeName.toLowerCase(), y = !l && !o, w = !1; if (g) { if (a) { for (;m;) { for (d = t; d = d[m];) if (o ? d.nodeName.toLowerCase() === v:1 === d.nodeType) return !1; h = m = "only" === e && !h && "nextSibling";} return !0 } if (h = [s ? g.firstChild:g.lastChild], s && y) { for (d = g, c = d[q] || (d[q] = {}), p = c[d.uniqueID] || (c[d.uniqueID] = {}), u = p[e] || [], f = u[0] === F && u[1], w = f && u[2], d = f && g.childNodes[f]; d = ++f && d && d[m] || (w = f = 0) || h.pop();) if (1 === d.nodeType && ++w && d === t) { p[e] = [F, f, w]; break } } else if (y && (d = t, c = d[q] || (d[q] = {}), p = c[d.uniqueID] || (c[d.uniqueID] = {}), u = p[e] || [], f = u[0] === F && u[1], w = f), w === !1) for (;(d = ++f && d && d[m] || (w = f = 0) || h.pop()) && ((o ? d.nodeName.toLowerCase() !== v:1 !== d.nodeType) || !++w || (y && (c = d[q] || (d[q] = {}), p = c[d.uniqueID] || (c[d.uniqueID] = {}), p[e] = [F, w]), d !== t)););return w -= r, w === i || w % i === 0 && w / i >= 0;} };}, PSEUDO: function(e, n) { var r, a = T.pseudos[e] || T.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e); return a[q] ? a(n):a.length > 1 ? (r = [e, e,'', n], T.setFilters.hasOwnProperty(e.toLowerCase()) ? i(function(e, t) { for (var i, r = a(e, n), s = r.length; s--;)i = ee(e, r[s]), e[i] = !(t[i] = r[s]) }):function(e) { return a(e, 0, r) }):a;}}, pseudos: {not: i(function(e) { var t = [], n = [], r = A(e.replace(oe,'$1')); return r[q] ? i(function(e, t, n, i) { for (var a, s = r(e, null, i, []), o = e.length; o--;)(a = s[o]) && (e[o] = !(t[o] = a));}):function(e, i, a) { return t[0] = e, r(t, null, a, n), t[0] = null, !n.pop();};}), has: i(function(e) { return function(n) { return t(e, n).length > 0 } }), contains: i(function(e) { return e = e.replace(xe, be), function(t) { return (t.textContent || t.innerText || C(t)).indexOf(e) > -1 };}), lang: i(function(e) { return de.test(e||'') || t.error("unsupported lang: " + e), e = e.replace(xe, be).toLowerCase(), function(t) { var n; do if (n = L ? t.lang:t.getAttribute('xml:lang') || t.getAttribute('lang')) return n = n.toLowerCase(), n === e || 0 === n.indexOf(e+'-'); while ((t = t.parentNode) && 1 === t.nodeType);return !1 };}), target: function(t) { var n = e.location && e.location.hash; return n && n.slice(1) === t.id;}, root: function(e) { return e === I }, focus: function(e) { return e === N.activeElement && (!N.hasFocus || N.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) }, enabled: function(e) { return e.disabled === !1;}, disabled: function(e) { return e.disabled === !0 }, checked: function(e) { var t = e.nodeName.toLowerCase(); return "input" === t && !!e.checked || "option" === t && !!e.selected }, selected: function(e) { return e.parentNode && e.parentNode.selectedIndex, e.selected === !0 }, empty: function(e) { for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeType < 6) return !1; return !0 }, parent: function(e) { return !T.pseudos.empty(e);}, header: function(e) { return me.test(e.nodeName) }, input: function(e) { return he.test(e.nodeName) }, button: function(e) { var t = e.nodeName.toLowerCase(); return "input" === t && "button" === e.type || "button" === t }, text: function(e) { var t; return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute('type')) || "text" === t.toLowerCase()) }, first: u(function() { return [0];}), last: u(function(e, t) { return [t - 1] }), eq: u(function(e, t, n) { return [0 > n ? n + t:n] }), even: u(function(e, t) { for (var n = 0; t > n; n += 2)e.push(n); return e;}), odd: u(function(e, t) { for (var n = 1; t > n; n += 2)e.push(n); return e }), lt: u(function(e, t, n) { for (var i = 0 > n ? n + t:n; --i >= 0;)e.push(i); return e;}), gt: u(function(e, t, n) { for (var i = 0 > n ? n + t:n; ++i < t;)e.push(i); return e })}}, T.pseudos.nth = T.pseudos.eq; for (x in {radio: !0, checkbox: !0, file: !0, password: !0, image: !0})T.pseudos[x] = o(x); for (x in {submit: !0, reset: !0})T.pseudos[x] = l(x); return c.prototype = T.filters = T.pseudos, T.setFilters = new c, E = t.tokenize = function(e, n) { var i, r, a, s, o, l, u, p = G[e+' ']; if (p) return n ? 0:p.slice(0); for (o = e, l = [], u = T.preFilter; o;) { i && !(r = le.exec(o)) || (r && (o = o.slice(r[0].length) || o), l.push(a = [])), i = !1, (r = ue.exec(o)) && (i = r.shift(), a.push({value: i, type: r[0].replace(oe,' ')}), o = o.slice(i.length)); for (s in T.filter)!(r = fe[s].exec(o)) || u[s] && !(r = u[s](r)) || (i = r.shift(), a.push({value: i, type: s, matches: r}), o = o.slice(i.length)); if (!i) break;} return n ? o.length:o ? t.error(e):G(e, l).slice(0);}, A = t.compile = function(e, t) { var n, i = [], r = [], a = X[e+' ']; if (!a) { for (t || (t = E(e)), n = t.length; n--;)a = y(t[n]), a[q] ? i.push(a):r.push(a); a = X(e, w(r, i)), a.selector = e;} return a;}, k = t.select = function(e, t, n, i) { var r, a, s, o, l, u = "function" == typeof e && e, c = !i && E(e = u.selector || e); if (n = n || [], 1 === c.length) { if (a = c[0] = c[0].slice(0), a.length > 2 && "ID" === (s = a[0]).type && b.getById && 9 === t.nodeType && L && T.relative[a[1].type]) { if (t = (T.find.ID(s.matches[0].replace(xe, be), t) || [])[0], !t) return n; u && (t = t.parentNode), e = e.slice(a.shift().value.length) } for (r = fe.needsContext.test(e) ? 0:a.length; r-- && (s = a[r], !T.relative[o = s.type]);) if ((l = T.find[o]) && (i = l(s.matches[0].replace(xe, be), ye.test(a[0].type) && p(t.parentNode) || t))) { if (a.splice(r, 1), e = i.length && d(a), !e) return Z.apply(n, i), n; break } } return (u || A(e, c))(i, t, !L, n, !t || ye.test(e) && p(t.parentNode) || t), n;}, b.sortStable = q.split('').sort(Y).join('') === q, b.detectDuplicates = !!D, z(), b.sortDetached = r(function(e) { return 1 & e.compareDocumentPosition(N.createElement('div')) }), r(function(e) { return e.innerHTML='<a href=\'#\'></a>', "#" === e.firstChild.getAttribute('href');}) || a('type|href|height|width', function(e, t, n) { return n ? void 0:e.getAttribute(t, "type" === t.toLowerCase() ? 1:2) }), b.attributes && r(function(e) { return e.innerHTML='<input/>', e.firstChild.setAttribute('value',''), "" === e.firstChild.getAttribute('value') }) || a('value', function(e, t, n) { return n || "input" !== e.nodeName.toLowerCase() ? void 0:e.defaultValue;}), r(function(e) { return null == e.getAttribute('disabled');}) || a(te, function(e, t, n) { var i; return n ? void 0:e[t] === !0 ? t.toLowerCase():(i = e.getAttributeNode(t)) && i.specified ? i.value:null;}), t;}(n); ue.find = he, ue.expr = he.selectors, ue.expr[':'] = ue.expr.pseudos, ue.uniqueSort = ue.unique = he.uniqueSort, ue.text = he.getText, ue.isXMLDoc = he.isXML, ue.contains = he.contains; var me = function(e, t, n) { for (var i = [], r = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;) if (1 === e.nodeType) { if (r && ue(e).is(n)) break; i.push(e);} return i;}, ge = function(e, t) { for (var n = []; e; e = e.nextSibling)1 === e.nodeType && e !== t && n.push(e); return n }, ve = ue.expr.match.needsContext, ye = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/, we = /^.[^:#\[\.,]*$/; ue.filter = function(e, t, n) { var i = t[0]; return n && (e = ":not(" + e+')'), 1 === t.length && 1 === i.nodeType ? ue.find.matchesSelector(i, e) ? [i]:[]:ue.find.matches(e, ue.grep(t, function(e) { return 1 === e.nodeType })) }, ue.fn.extend({find: function(e) { var t, n = this.length, i = [], r = this; if ("string" != typeof e) return this.pushStack(ue(e).filter(function() { for (t = 0; n > t; t++) if (ue.contains(r[t], this)) return !0 })); for (t = 0; n > t; t++)ue.find(e, r[t], i); return i = this.pushStack(n > 1 ? ue.unique(i):i), i.selector = this.selector ? this.selector + " " + e:e, i }, filter: function(e) { return this.pushStack(o(this, e || [], !1)) }, not: function(e) { return this.pushStack(o(this, e || [], !0));}, is: function(e) { return !!o(this, "string" == typeof e && ve.test(e) ? ue(e):e || [], !1).length;}}); var xe, be = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, Te = ue.fn.init = function(e, t, n) { var i, r; if (!e) return this; if (n = n || xe, "string" == typeof e) { if (i = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null]:be.exec(e), !i || !i[1] && t) return !t || t.jquery ? (t || n).find(e):this.constructor(t).find(e); if (i[1]) { if (t = t instanceof ue ? t[0]:t, ue.merge(this, ue.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t:J, !0)), ye.test(i[1]) && ue.isPlainObject(t)) for (i in t)ue.isFunction(this[i]) ? this[i](t[i]):this.attr(i, t[i]); return this } return r = J.getElementById(i[2]), r && r.parentNode && (this.length = 1, this[0] = r), this.context = J, this.selector = e, this } return e.nodeType ? (this.context = this[0] = e, this.length = 1, this):ue.isFunction(e) ? void 0 !== n.ready ? n.ready(e):e(ue):(void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), ue.makeArray(e, this));}; Te.prototype = ue.fn, xe = ue(J); var Ce = /^(?:parents|prev(?:Until|All))/, Se = {children: !0, contents: !0, next: !0, prev: !0}; ue.fn.extend({has: function(e) { var t = ue(e, this), n = t.length; return this.filter(function() { for (var e = 0; n > e; e++) if (ue.contains(this, t[e])) return !0;}) }, closest: function(e, t) { for (var n, i = 0, r = this.length, a = [], s = ve.test(e) || "string" != typeof e ? ue(e, t || this.context):0; r > i; i++) for (n = this[i]; n && n !== t; n = n.parentNode) if (n.nodeType < 11 && (s ? s.index(n) > -1:1 === n.nodeType && ue.find.matchesSelector(n, e))) { a.push(n); break;} return this.pushStack(a.length > 1 ? ue.uniqueSort(a):a) }, index: function(e) { return e ? "string" == typeof e ? ie.call(ue(e), this[0]):ie.call(this, e.jquery ? e[0]:e):this[0] && this[0].parentNode ? this.first().prevAll().length:-1;}, add: function(e, t) { return this.pushStack(ue.uniqueSort(ue.merge(this.get(), ue(e, t))));}, addBack: function(e) { return this.add(null == e ? this.prevObject:this.prevObject.filter(e)) }}), ue.each({parent: function(e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t:null }, parents: function(e) { return me(e,'parentNode');}, parentsUntil: function(e, t, n) { return me(e,'parentNode', n) }, next: function(e) { return l(e,'nextSibling');}, prev: function(e) { return l(e,'previousSibling') }, nextAll: function(e) { return me(e,'nextSibling') }, prevAll: function(e) { return me(e,'previousSibling') }, nextUntil: function(e, t, n) { return me(e,'nextSibling', n) }, prevUntil: function(e, t, n) { return me(e,'previousSibling', n) }, siblings: function(e) { return ge((e.parentNode || {}).firstChild, e) }, children: function(e) { return ge(e.firstChild);}, contents: function(e) { return e.contentDocument || ue.merge([], e.childNodes) }}, function(e, t) { ue.fn[e] = function(n, i) { var r = ue.map(this, t, n); return "Until" !== e.slice(-5) && (i = n), i && "string" == typeof i && (r = ue.filter(i, r)), this.length > 1 && (Se[e] || ue.uniqueSort(r), Ce.test(e) && r.reverse()), this.pushStack(r);} }); var Ee = /\S+/g; ue.Callbacks = function(e) { e = "string" == typeof e ? u(e):ue.extend({}, e); var t, n, i, r, a = [], s = [], o = -1, l = function() { for (r = e.once, i = t = !0; s.length; o = -1) for (n = s.shift(); ++o < a.length;)a[o].apply(n[0], n[1]) === !1 && e.stopOnFalse && (o = a.length, n = !1); e.memory || (n = !1), t = !1, r && (a = n ? []:'');}, p = {add: function() { return a && (n && !t && (o = a.length - 1, s.push(n)), function i(t) { ue.each(t, function(t, n) { ue.isFunction(n) ? e.unique && p.has(n) || a.push(n):n && n.length && "string" !== ue.type(n) && i(n) });}(arguments), n && !t && l()), this;}, remove: function() { return ue.each(arguments, function(e, t) { for (var n; (n = ue.inArray(t, a, n)) > -1;)a.splice(n, 1), o >= n && o-- }), this;}, has: function(e) { return e ? ue.inArray(e, a) > -1:a.length > 0 }, empty: function() { return a && (a = []), this }, disable: function() { return r = s = [], a = n='', this }, disabled: function() { return !a;}, lock: function() { return r = s = [], n || (a = n=''), this;}, locked: function() { return !!r;}, fireWith: function(e, n) { return r || (n = n || [], n = [e, n.slice ? n.slice():n], s.push(n), t || l()), this }, fire: function() { return p.fireWith(this, arguments), this;}, fired: function() { return !!i;}}; return p;}, ue.extend({Deferred: function(e) { var t = [['resolve','done', ue.Callbacks('once memory'),'resolved'], ['reject','fail', ue.Callbacks('once memory'),'rejected'], ['notify','progress', ue.Callbacks('memory')]], n='pending', i = {state: function() { return n }, always: function() { return r.done(arguments).fail(arguments), this;}, then: function() { var e = arguments; return ue.Deferred(function(n) { ue.each(t, function(t, a) { var s = ue.isFunction(e[t]) && e[t]; r[a[1]](function() { var e = s && s.apply(this, arguments); e && ue.isFunction(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[a[0]+'With'](this === i ? n.promise():this, s ? [e]:arguments);}) }), e = null;}).promise();}, promise: function(e) { return null != e ? ue.extend(e, i):i;}}, r = {}; return i.pipe = i.then, ue.each(t, function(e, a) { var s = a[2], o = a[3]; i[a[1]] = s.add, o && s.add(function() { n = o;}, t[1 ^ e][2].disable, t[2][2].lock), r[a[0]] = function() { return r[a[0]+'With'](this === r ? i:this, arguments), this }, r[a[0]+'With'] = s.fireWith;}), i.promise(r), e && e.call(r, r), r;}, when: function(e) { var t, n, i, r = 0, a = ee.call(arguments), s = a.length, o = 1 !== s || e && ue.isFunction(e.promise) ? s:0, l = 1 === o ? e:ue.Deferred(), u = function(e, n, i) { return function(r) { n[e] = this, i[e] = arguments.length > 1 ? ee.call(arguments):r, i === t ? l.notifyWith(n, i):--o || l.resolveWith(n, i) } }; if (s > 1) for (t = new Array(s), n = new Array(s), i = new Array(s); s > r; r++)a[r] && ue.isFunction(a[r].promise) ? a[r].promise().progress(u(r, n, t)).done(u(r, i, a)).fail(l.reject):--o; return o || l.resolveWith(i, a), l.promise() }}); var Ae; ue.fn.ready = function(e) { return ue.ready.promise().done(e), this }, ue.extend({isReady: !1, readyWait: 1, holdReady: function(e) { e ? ue.readyWait++:ue.ready(!0);}, ready: function(e) { (e === !0 ? --ue.readyWait:ue.isReady) || (ue.isReady = !0, e !== !0 && --ue.readyWait > 0 || (Ae.resolveWith(J, [ue]), ue.fn.triggerHandler && (ue(J).triggerHandler('ready'), ue(J).off('ready'))));}}), ue.ready.promise = function(e) { return Ae || (Ae = ue.Deferred(), "complete" === J.readyState || "loading" !== J.readyState && !J.documentElement.doScroll ? n.setTimeout(ue.ready):(J.addEventListener('DOMContentLoaded', p), n.addEventListener('load', p))), Ae.promise(e) }, ue.ready.promise(); var ke = function(e, t, n, i, r, a, s) { var o = 0, l = e.length, u = null == n; if ("object" === ue.type(n)) { r = !0; for (o in n)ke(e, t, o, n[o], !0, a, s);} else if (void 0 !== i && (r = !0, ue.isFunction(i) || (s = !0), u && (s ? (t.call(e, i), t = null):(u = t, t = function(e, t, n) { return u.call(ue(e), n);})), t)) for (;l > o; o++)t(e[o], n, s ? i:i.call(e[o], o, t(e[o], n))); return r ? e:u ? t.call(e):l ? t(e[0], n):a;}, Pe = function(e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType;}; c.uid = 1, c.prototype = {register: function(e, t) { var n = t || {}; return e.nodeType ? e[this.expando] = n:Object.defineProperty(e, this.expando, {value: n, writable: !0, configurable: !0}), e[this.expando];}, cache: function(e) { if (!Pe(e)) return {}; var t = e[this.expando]; return t || (t = {}, Pe(e) && (e.nodeType ? e[this.expando] = t:Object.defineProperty(e, this.expando, {value: t, configurable: !0}))), t;}, set: function(e, t, n) { var i, r = this.cache(e); if ("string" == typeof t)r[t] = n; else for (i in t)r[i] = t[i]; return r }, get: function(e, t) { return void 0 === t ? this.cache(e):e[this.expando] && e[this.expando][t];}, access: function(e, t, n) { var i; return void 0 === t || t && "string" == typeof t && void 0 === n ? (i = this.get(e, t), void 0 !== i ? i:this.get(e, ue.camelCase(t))):(this.set(e, t, n), void 0 !== n ? n:t);}, remove: function(e, t) { var n, i, r, a = e[this.expando]; if (void 0 !== a) { if (void 0 === t) this.register(e); else { ue.isArray(t) ? i = t.concat(t.map(ue.camelCase)):(r = ue.camelCase(t), t in a ? i = [t, r]:(i = r, i = i in a ? [i]:i.match(Ee) || [])), n = i.length; for (;n--;) delete a[i[n]];}(void 0 === t || ue.isEmptyObject(a)) && (e.nodeType ? e[this.expando] = void 0:delete e[this.expando]);} }, hasData: function(e) { var t = e[this.expando]; return void 0 !== t && !ue.isEmptyObject(t);}}; var Me = new c, De = new c, ze = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, Ne = /[A-Z]/g; ue.extend({hasData: function(e) { return De.hasData(e) || Me.hasData(e) }, data: function(e, t, n) { return De.access(e, t, n) }, removeData: function(e, t) { De.remove(e, t);}, _data: function(e, t, n) { return Me.access(e, t, n) }, _removeData: function(e, t) { Me.remove(e, t);}}), ue.fn.extend({data: function(e, t) { var n, i, r, a = this[0], s = a && a.attributes; if (void 0 === e) { if (this.length && (r = De.get(a), 1 === a.nodeType && !Me.get(a,'hasDataAttrs'))) { for (n = s.length; n--;)s[n] && (i = s[n].name, 0 === i.indexOf('data-') && (i = ue.camelCase(i.slice(5)), d(a, i, r[i]))); Me.set(a,'hasDataAttrs', !0);} return r } return "object" == typeof e ? this.each(function() { De.set(this, e);}):ke(this, function(t) { var n, i; if (a && void 0 === t) { if (n = De.get(a, e) || De.get(a, e.replace(Ne,'-$&').toLowerCase()), void 0 !== n) return n; if (i = ue.camelCase(e), n = De.get(a, i), void 0 !== n) return n; if (n = d(a, i, void 0), void 0 !== n) return n;} else i = ue.camelCase(e), this.each(function() { var n = De.get(this, i); De.set(this, i, t), e.indexOf('-') > -1 && void 0 !== n && De.set(this, e, t) }) }, null, t, arguments.length > 1, null, !0);}, removeData: function(e) { return this.each(function() { De.remove(this, e) });}}), ue.extend({queue: function(e, t, n) { var i; return e ? (t = (t||'fx')+'queue', i = Me.get(e, t), n && (!i || ue.isArray(n) ? i = Me.access(e, t, ue.makeArray(n)):i.push(n)), i || []):void 0 }, dequeue: function(e, t) { t = t||'fx'; var n = ue.queue(e, t), i = n.length, r = n.shift(), a = ue._queueHooks(e, t), s = function() { ue.dequeue(e, t) }; "inprogress" === r && (r = n.shift(), i--), r && ("fx" === t && n.unshift('inprogress'), delete a.stop, r.call(e, s, a)), !i && a && a.empty.fire();}, _queueHooks: function(e, t) { var n = t+'queueHooks'; return Me.get(e, n) || Me.access(e, n, {empty: ue.Callbacks('once memory').add(function() { Me.remove(e, [t+'queue', n]) })}) }}), ue.fn.extend({queue: function(e, t) { var n = 2; return "string" != typeof e && (t = e, e='fx', n--), arguments.length < n ? ue.queue(this[0], e):void 0 === t ? this:this.each(function() { var n = ue.queue(this, e, t); ue._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && ue.dequeue(this, e);}) }, dequeue: function(e) { return this.each(function() { ue.dequeue(this, e);});}, clearQueue: function(e) { return this.queue(e||'fx', []) }, promise: function(e, t) { var n, i = 1, r = ue.Deferred(), a = this, s = this.length, o = function() { --i || r.resolveWith(a, [a]) }; for ("string" != typeof e && (t = e, e = void 0), e = e||'fx'; s--;)n = Me.get(a[s], e+'queueHooks'), n && n.empty && (i++, n.empty.add(o)); return o(), r.promise(t);}}); var Ie = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, Le = new RegExp("^(?:([+-])=|)(" + Ie+')([a-z%]*)$','i'), He = ['Top','Right','Bottom','Left'], Oe = function(e, t) { return e = t || e, "none" === ue.css(e,'display') || !ue.contains(e.ownerDocument, e) }, Be = /^(?:checkbox|radio)$/i, Re = /<([\w:-]+)/, qe = /^$|\/(?:java|ecma)script/i, je = {option: [1,'<select multiple=\'multiple\'>','</select>'], thead: [1,'<table>','</table>'], col: [2,'<table><colgroup>','</colgroup></table>'], tr: [2,'<table><tbody>','</tbody></table>'], td: [3,'<table><tbody><tr>','</tr></tbody></table>'], _default: [0,'','']}; je.optgroup = je.option, je.tbody = je.tfoot = je.colgroup = je.caption = je.thead, je.th = je.td; var Fe = /<|&#?\w+;/; !function() { var e = J.createDocumentFragment(), t = e.appendChild(J.createElement('div')), n = J.createElement('input'); n.setAttribute('type','radio'), n.setAttribute('checked','checked'), n.setAttribute('name','t'), t.appendChild(n), oe.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked, t.innerHTML='<textarea>x</textarea>', oe.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue;}(); var We = /^key/, _e = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, Ge = /^([^.]*)(?:\.(.+)|)/; ue.event = {global: {}, add: function(e, t, n, i, r) { var a, s, o, l, u, p, c, d, f, h, m, g = Me.get(e); if (g) for (n.handler && (a = n, n = a.handler, r = a.selector), n.guid || (n.guid = ue.guid++), (l = g.events) || (l = g.events = {}), (s = g.handle) || (s = g.handle = function(t) { return "undefined" != typeof ue && ue.event.triggered !== t.type ? ue.event.dispatch.apply(e, arguments):void 0 }), t = (t||'').match(Ee) || [''], u = t.length; u--;)o = Ge.exec(t[u]) || [], f = m = o[1], h = (o[2]||'').split('.').sort(), f && (c = ue.event.special[f] || {}, f = (r ? c.delegateType:c.bindType) || f, c = ue.event.special[f] || {}, p = ue.extend({type: f, origType: m, data: i, handler: n, guid: n.guid, selector: r, needsContext: r && ue.expr.match.needsContext.test(r), namespace: h.join('.')}, a), (d = l[f]) || (d = l[f] = [], d.delegateCount = 0, c.setup && c.setup.call(e, i, h, s) !== !1 || e.addEventListener && e.addEventListener(f, s)), c.add && (c.add.call(e, p), p.handler.guid || (p.handler.guid = n.guid)), r ? d.splice(d.delegateCount++, 0, p):d.push(p), ue.event.global[f] = !0) }, remove: function(e, t, n, i, r) { var a, s, o, l, u, p, c, d, f, h, m, g = Me.hasData(e) && Me.get(e); if (g && (l = g.events)) { for (t = (t||'').match(Ee) || [''], u = t.length; u--;) if (o = Ge.exec(t[u]) || [], f = m = o[1], h = (o[2]||'').split('.').sort(), f) { for (c = ue.event.special[f] || {}, f = (i ? c.delegateType:c.bindType) || f, d = l[f] || [], o = o[2] && new RegExp("(^|\\.)" + h.join('\\.(?:.*\\.|)')+'(\\.|$)'), s = a = d.length; a--;)p = d[a], !r && m !== p.origType || n && n.guid !== p.guid || o && !o.test(p.namespace) || i && i !== p.selector && ("**" !== i || !p.selector) || (d.splice(a, 1),
p.selector && d.delegateCount--, c.remove && c.remove.call(e, p)); s && !d.length && (c.teardown && c.teardown.call(e, h, g.handle) !== !1 || ue.removeEvent(e, f, g.handle), delete l[f]) } else for (f in l)ue.event.remove(e, f + t[u], n, i, !0); ue.isEmptyObject(l) && Me.remove(e,'handle events');} }, dispatch: function(e) { e = ue.event.fix(e); var t, n, i, r, a, s = [], o = ee.call(arguments), l = (Me.get(this,'events') || {})[e.type] || [], u = ue.event.special[e.type] || {}; if (o[0] = e, e.delegateTarget = this, !u.preDispatch || u.preDispatch.call(this, e) !== !1) { for (s = ue.event.handlers.call(this, e, l), t = 0; (r = s[t++]) && !e.isPropagationStopped();) for (e.currentTarget = r.elem, n = 0; (a = r.handlers[n++]) && !e.isImmediatePropagationStopped();)e.rnamespace && !e.rnamespace.test(a.namespace) || (e.handleObj = a, e.data = a.data, i = ((ue.event.special[a.origType] || {}).handle || a.handler).apply(r.elem, o), void 0 !== i && (e.result = i) === !1 && (e.preventDefault(), e.stopPropagation())); return u.postDispatch && u.postDispatch.call(this, e), e.result } }, handlers: function(e, t) { var n, i, r, a, s = [], o = t.delegateCount, l = e.target; if (o && l.nodeType && ("click" !== e.type || isNaN(e.button) || e.button < 1)) for (;l !== this; l = l.parentNode || this) if (1 === l.nodeType && (l.disabled !== !0 || "click" !== e.type)) { for (i = [], n = 0; o > n; n++)a = t[n], r = a.selector+' ', void 0 === i[r] && (i[r] = a.needsContext ? ue(r, this).index(l) > -1:ue.find(r, this, null, [l]).length), i[r] && i.push(a); i.length && s.push({elem: l, handlers: i});} return o < t.length && s.push({elem: this, handlers: t.slice(o)}), s }, props:'altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which'.split(' '), fixHooks: {}, keyHooks: {props:'char charCode key keyCode'.split(' '), filter: function(e, t) { return null == e.which && (e.which = null != t.charCode ? t.charCode:t.keyCode), e;}}, mouseHooks: {props:'button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement'.split(' '), filter: function(e, t) { var n, i, r, a = t.button; return null == e.pageX && null != t.clientX && (n = e.target.ownerDocument || J, i = n.documentElement, r = n.body, e.pageX = t.clientX + (i && i.scrollLeft || r && r.scrollLeft || 0) - (i && i.clientLeft || r && r.clientLeft || 0), e.pageY = t.clientY + (i && i.scrollTop || r && r.scrollTop || 0) - (i && i.clientTop || r && r.clientTop || 0)), e.which || void 0 === a || (e.which = 1 & a ? 1:2 & a ? 3:4 & a ? 2:0), e }}, fix: function(e) { if (e[ue.expando]) return e; var t, n, i, r = e.type, a = e, s = this.fixHooks[r]; for (s || (this.fixHooks[r] = s = _e.test(r) ? this.mouseHooks:We.test(r) ? this.keyHooks:{}), i = s.props ? this.props.concat(s.props):this.props, e = new ue.Event(a), t = i.length; t--;)n = i[t], e[n] = a[n]; return e.target || (e.target = J), 3 === e.target.nodeType && (e.target = e.target.parentNode), s.filter ? s.filter(e, a):e;}, special: {load: {noBubble: !0}, focus: {trigger: function() { return this !== w() && this.focus ? (this.focus(), !1):void 0 }, delegateType:'focusin'}, blur: {trigger: function() { return this === w() && this.blur ? (this.blur(), !1):void 0 }, delegateType:'focusout'}, click: {trigger: function() { return "checkbox" === this.type && this.click && ue.nodeName(this,'input') ? (this.click(), !1):void 0 }, _default: function(e) { return ue.nodeName(e.target,'a');}}, beforeunload: {postDispatch: function(e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) }}}}, ue.removeEvent = function(e, t, n) { e.removeEventListener && e.removeEventListener(t, n) }, ue.Event = function(e, t) { return this instanceof ue.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && e.returnValue === !1 ? v:y):this.type = e, t && ue.extend(this, t), this.timeStamp = e && e.timeStamp || ue.now(), void(this[ue.expando] = !0)):new ue.Event(e, t);}, ue.Event.prototype = {constructor: ue.Event, isDefaultPrevented: y, isPropagationStopped: y, isImmediatePropagationStopped: y, isSimulated: !1, preventDefault: function() { var e = this.originalEvent; this.isDefaultPrevented = v, e && !this.isSimulated && e.preventDefault() }, stopPropagation: function() { var e = this.originalEvent; this.isPropagationStopped = v, e && !this.isSimulated && e.stopPropagation() }, stopImmediatePropagation: function() { var e = this.originalEvent; this.isImmediatePropagationStopped = v, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation();}}, ue.each({mouseenter:'mouseover', mouseleave:'mouseout', pointerenter:'pointerover', pointerleave:'pointerout'}, function(e, t) { ue.event.special[e] = {delegateType: t, bindType: t, handle: function(e) { var n, i = this, r = e.relatedTarget, a = e.handleObj; return r && (r === i || ue.contains(i, r)) || (e.type = a.origType, n = a.handler.apply(this, arguments), e.type = t), n;}};}), ue.fn.extend({on: function(e, t, n, i) { return x(this, e, t, n, i);}, one: function(e, t, n, i) { return x(this, e, t, n, i, 1);}, off: function(e, t, n) { var i, r; if (e && e.preventDefault && e.handleObj) return i = e.handleObj, ue(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace:i.origType, i.selector, i.handler), this; if ("object" == typeof e) { for (r in e) this.off(r, t, e[r]); return this;} return t !== !1 && "function" != typeof t || (n = t, t = void 0), n === !1 && (n = y), this.each(function() { ue.event.remove(this, e, n, t) }) }}); var Xe = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, Ye = /<script|<style|<link/i, Ve = /checked\s*(?:[^=]|=\s*.checked.)/i, $e = /^true\/(.*)/, Ue = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; ue.extend({htmlPrefilter: function(e) { return e.replace(Xe,'<$1></$2>') }, clone: function(e, t, n) { var i, r, a, s, o = e.cloneNode(!0), l = ue.contains(e.ownerDocument, e); if (!(oe.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || ue.isXMLDoc(e))) for (s = h(o), a = h(e), i = 0, r = a.length; r > i; i++)E(a[i], s[i]); if (t) if (n) for (a = a || h(e), s = s || h(o), i = 0, r = a.length; r > i; i++)S(a[i], s[i]); else S(e, o); return s = h(o,'script'), s.length > 0 && m(s, !l && h(e,'script')), o }, cleanData: function(e) { for (var t, n, i, r = ue.event.special, a = 0; void 0 !== (n = e[a]); a++) if (Pe(n)) { if (t = n[Me.expando]) { if (t.events) for (i in t.events)r[i] ? ue.event.remove(n, i):ue.removeEvent(n, i, t.handle); n[Me.expando] = void 0;}n[De.expando] && (n[De.expando] = void 0);} }}), ue.fn.extend({domManip: A, detach: function(e) { return k(this, e, !0);}, remove: function(e) { return k(this, e);}, text: function(e) { return ke(this, function(e) { return void 0 === e ? ue.text(this):this.empty().each(function() { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e) }) }, null, e, arguments.length) }, append: function() { return A(this, arguments, function(e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = b(this, e); t.appendChild(e) } });}, prepend: function() { return A(this, arguments, function(e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = b(this, e); t.insertBefore(e, t.firstChild) } }) }, before: function() { return A(this, arguments, function(e) { this.parentNode && this.parentNode.insertBefore(e, this);});}, after: function() { return A(this, arguments, function(e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling);}) }, empty: function() { for (var e, t = 0; null != (e = this[t]); t++)1 === e.nodeType && (ue.cleanData(h(e, !1)), e.textContent=''); return this;}, clone: function(e, t) { return e = null == e ? !1:e, t = null == t ? e:t, this.map(function() { return ue.clone(this, e, t) });}, html: function(e) { return ke(this, function(e) { var t = this[0] || {}, n = 0, i = this.length; if (void 0 === e && 1 === t.nodeType) return t.innerHTML; if ("string" == typeof e && !Ye.test(e) && !je[(Re.exec(e) || ['',''])[1].toLowerCase()]) { e = ue.htmlPrefilter(e); try { for (;i > n; n++)t = this[n] || {}, 1 === t.nodeType && (ue.cleanData(h(t, !1)), t.innerHTML = e); t = 0;} catch (r) {} }t && this.empty().append(e);}, null, e, arguments.length);}, replaceWith: function() { var e = []; return A(this, arguments, function(t) { var n = this.parentNode; ue.inArray(this, e) < 0 && (ue.cleanData(h(this)), n && n.replaceChild(t, this));}, e);}}), ue.each({appendTo:'append', prependTo:'prepend', insertBefore:'before', insertAfter:'after', replaceAll:'replaceWith'}, function(e, t) { ue.fn[e] = function(e) { for (var n, i = [], r = ue(e), a = r.length - 1, s = 0; a >= s; s++)n = s === a ? this:this.clone(!0), ue(r[s])[t](n), ne.apply(i, n.get()); return this.pushStack(i);};}); var Ke, Qe = {HTML:'block', BODY:'block'}, Ze = /^margin/, Je = new RegExp("^(" + Ie+')(?!px)[a-z%]+$','i'), et = function(e) { var t = e.ownerDocument.defaultView; return t && t.opener || (t = n), t.getComputedStyle(e) }, tt = function(e, t, n, i) { var r, a, s = {}; for (a in t)s[a] = e.style[a], e.style[a] = t[a]; r = n.apply(e, i || []); for (a in t)e.style[a] = s[a]; return r }, nt = J.documentElement; !function() { function e() { o.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%', o.innerHTML='', nt.appendChild(s); var e = n.getComputedStyle(o); t = "1%" !== e.top, a = "2px" === e.marginLeft, i = "4px" === e.width, o.style.marginRight='50%', r = "4px" === e.marginRight, nt.removeChild(s) } var t, i, r, a, s = J.createElement('div'), o = J.createElement('div'); o.style && (o.style.backgroundClip='content-box', o.cloneNode(!0).style.backgroundClip='', oe.clearCloneStyle = "content-box" === o.style.backgroundClip, s.style.cssText='border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute', s.appendChild(o), ue.extend(oe, {pixelPosition: function() { return e(), t;}, boxSizingReliable: function() { return null == i && e(), i }, pixelMarginRight: function() { return null == i && e(), r;}, reliableMarginLeft: function() { return null == i && e(), a }, reliableMarginRight: function() { var e, t = o.appendChild(J.createElement('div')); return t.style.cssText = o.style.cssText='-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0', t.style.marginRight = t.style.width='0', o.style.width='1px', nt.appendChild(s), e = !parseFloat(n.getComputedStyle(t).marginRight), nt.removeChild(s), o.removeChild(t), e;}})) }(); var it = /^(none|table(?!-c[ea]).+)/, rt = {position:'absolute', visibility:'hidden', display:'block'}, at = {letterSpacing:'0', fontWeight:'400'}, st = ['Webkit','O','Moz','ms'], ot = J.createElement('div').style; ue.extend({cssHooks: {opacity: {get: function(e, t) { if (t) { var n = D(e,'opacity'); return "" === n?'1':n } }}}, cssNumber: {animationIterationCount: !0, columnCount: !0, fillOpacity: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0}, cssProps: {'float':'cssFloat'}, style: function(e, t, n, i) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var r, a, s, o = ue.camelCase(t), l = e.style; return t = ue.cssProps[o] || (ue.cssProps[o] = N(o) || o), s = ue.cssHooks[t] || ue.cssHooks[o], void 0 === n ? s&&'get'in s && void 0 !== (r = s.get(e, !1, i)) ? r:l[t]:(a = typeof n, "string" === a && (r = Le.exec(n)) && r[1] && (n = f(e, t, r), a='number'), null != n && n === n && ("number" === a && (n += r && r[3] || (ue.cssNumber[o]?'':'px')), oe.clearCloneStyle || "" !== n || 0 !== t.indexOf('background') || (l[t]='inherit'), s&&'set'in s && void 0 === (n = s.set(e, n, i)) || (l[t] = n)), void 0);} }, css: function(e, t, n, i) { var r, a, s, o = ue.camelCase(t); return t = ue.cssProps[o] || (ue.cssProps[o] = N(o) || o), s = ue.cssHooks[t] || ue.cssHooks[o], s&&'get'in s && (r = s.get(e, !0, n)), void 0 === r && (r = D(e, t, i)), "normal" === r && t in at && (r = at[t]), "" === n || n ? (a = parseFloat(r), n === !0 || isFinite(a) ? a || 0:r):r }}), ue.each(['height','width'], function(e, t) { ue.cssHooks[t] = {get: function(e, n, i) { return n ? it.test(ue.css(e,'display')) && 0 === e.offsetWidth ? tt(e, rt, function() { return H(e, t, i) }):H(e, t, i):void 0 }, set: function(e, n, i) { var r, a = i && et(e), s = i && L(e, t, i, "border-box" === ue.css(e,'boxSizing', !1, a), a); return s && (r = Le.exec(n)) && "px" !== (r[3]||'px') && (e.style[t] = n, n = ue.css(e, t)), I(e, n, s) }};}), ue.cssHooks.marginLeft = z(oe.reliableMarginLeft, function(e, t) { return t ? (parseFloat(D(e,'marginLeft')) || e.getBoundingClientRect().left - tt(e, {marginLeft: 0}, function() { return e.getBoundingClientRect().left;}))+'px':void 0 }), ue.cssHooks.marginRight = z(oe.reliableMarginRight, function(e, t) { return t ? tt(e, {display:'inline-block'}, D, [e,'marginRight']):void 0;}), ue.each({margin:'', padding:'', border:'Width'}, function(e, t) { ue.cssHooks[e + t] = {expand: function(n) { for (var i = 0, r = {}, a = "string" == typeof n ? n.split(' '):[n]; 4 > i; i++)r[e + He[i] + t] = a[i] || a[i - 2] || a[0]; return r;}}, Ze.test(e) || (ue.cssHooks[e + t].set = I) }), ue.fn.extend({css: function(e, t) { return ke(this, function(e, t, n) { var i, r, a = {}, s = 0; if (ue.isArray(t)) { for (i = et(e), r = t.length; r > s; s++)a[t[s]] = ue.css(e, t[s], !1, i); return a;} return void 0 !== n ? ue.style(e, t, n):ue.css(e, t) }, e, t, arguments.length > 1);}, show: function() { return O(this, !0) }, hide: function() { return O(this) }, toggle: function(e) { return "boolean" == typeof e ? e ? this.show():this.hide():this.each(function() { Oe(this) ? ue(this).show():ue(this).hide() });}}), ue.Tween = B, B.prototype = {constructor: B, init: function(e, t, n, i, r, a) { this.elem = e, this.prop = n, this.easing = r || ue.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = i, this.unit = a || (ue.cssNumber[n]?'':'px');}, cur: function() { var e = B.propHooks[this.prop]; return e && e.get ? e.get(this):B.propHooks._default.get(this) }, run: function(e) { var t, n = B.propHooks[this.prop]; return this.options.duration ? this.pos = t = ue.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):B.propHooks._default.set(this), this;}}, B.prototype.init.prototype = B.prototype, B.propHooks = {_default: {get: function(e) { var t; return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop]:(t = ue.css(e.elem, e.prop,''), t && "auto" !== t ? t:0);}, set: function(e) { ue.fx.step[e.prop] ? ue.fx.step[e.prop](e):1 !== e.elem.nodeType || null == e.elem.style[ue.cssProps[e.prop]] && !ue.cssHooks[e.prop] ? e.elem[e.prop] = e.now:ue.style(e.elem, e.prop, e.now + e.unit) }}}, B.propHooks.scrollTop = B.propHooks.scrollLeft = {set: function(e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now);}}, ue.easing = {linear: function(e) { return e;}, swing: function(e) { return.5 - Math.cos(e * Math.PI) / 2;}, _default:'swing'}, ue.fx = B.prototype.init, ue.fx.step = {}; var lt, ut, pt = /^(?:toggle|show|hide)$/, ct = /queueHooks$/; ue.Animation = ue.extend(_, {tweeners: {'*': [function(e, t) { var n = this.createTween(e, t); return f(n.elem, e, Le.exec(t), n), n }]}, tweener: function(e, t) { ue.isFunction(e) ? (t = e, e = ['*']):e = e.match(Ee); for (var n, i = 0, r = e.length; r > i; i++)n = e[i], _.tweeners[n] = _.tweeners[n] || [], _.tweeners[n].unshift(t);}, prefilters: [F], prefilter: function(e, t) { t ? _.prefilters.unshift(e):_.prefilters.push(e);}}), ue.speed = function(e, t, n) { var i = e && "object" == typeof e ? ue.extend({}, e):{complete: n || !n && t || ue.isFunction(e) && e, duration: e, easing: n && t || t && !ue.isFunction(t) && t}; return i.duration = ue.fx.off ? 0:"number" == typeof i.duration ? i.duration:i.duration in ue.fx.speeds ? ue.fx.speeds[i.duration]:ue.fx.speeds._default, null != i.queue && i.queue !== !0 || (i.queue='fx'), i.old = i.complete, i.complete = function() { ue.isFunction(i.old) && i.old.call(this), i.queue && ue.dequeue(this, i.queue);}, i }, ue.fn.extend({fadeTo: function(e, t, n, i) { return this.filter(Oe).css('opacity', 0).show().end().animate({opacity: t}, e, n, i) }, animate: function(e, t, n, i) { var r = ue.isEmptyObject(e), a = ue.speed(t, n, i), s = function() { var t = _(this, ue.extend({}, e), a); (r || Me.get(this,'finish')) && t.stop(!0) }; return s.finish = s, r || a.queue === !1 ? this.each(s):this.queue(a.queue, s);}, stop: function(e, t, n) { var i = function(e) { var t = e.stop; delete e.stop, t(n) }; return "string" != typeof e && (n = t, t = e, e = void 0), t && e !== !1 && this.queue(e||'fx', []), this.each(function() { var t = !0, r = null != e && e+'queueHooks', a = ue.timers, s = Me.get(this); if (r)s[r] && s[r].stop && i(s[r]); else for (r in s)s[r] && s[r].stop && ct.test(r) && i(s[r]); for (r = a.length; r--;)a[r].elem !== this || null != e && a[r].queue !== e || (a[r].anim.stop(n), t = !1, a.splice(r, 1)); !t && n || ue.dequeue(this, e);});}, finish: function(e) { return e !== !1 && (e = e||'fx'), this.each(function() { var t, n = Me.get(this), i = n[e+'queue'], r = n[e+'queueHooks'], a = ue.timers, s = i ? i.length:0; for (n.finish = !0, ue.queue(this, e, []), r && r.stop && r.stop.call(this, !0), t = a.length; t--;)a[t].elem === this && a[t].queue === e && (a[t].anim.stop(!0), a.splice(t, 1)); for (t = 0; s > t; t++)i[t] && i[t].finish && i[t].finish.call(this); delete n.finish;});}}), ue.each(['toggle','show','hide'], function(e, t) { var n = ue.fn[t]; ue.fn[t] = function(e, i, r) { return null == e || "boolean" == typeof e ? n.apply(this, arguments):this.animate(q(t, !0), e, i, r);} }), ue.each({slideDown: q('show'), slideUp: q('hide'), slideToggle: q('toggle'), fadeIn: {opacity:'show'}, fadeOut: {opacity:'hide'}, fadeToggle: {opacity:'toggle'}}, function(e, t) { ue.fn[e] = function(e, n, i) { return this.animate(t, e, n, i);} }), ue.timers = [], ue.fx.tick = function() { var e, t = 0, n = ue.timers; for (lt = ue.now(); t < n.length; t++)e = n[t], e() || n[t] !== e || n.splice(t--, 1); n.length || ue.fx.stop(), lt = void 0;}, ue.fx.timer = function(e) { ue.timers.push(e), e() ? ue.fx.start():ue.timers.pop();}, ue.fx.interval = 13, ue.fx.start = function() { ut || (ut = n.setInterval(ue.fx.tick, ue.fx.interval)) }, ue.fx.stop = function() { n.clearInterval(ut), ut = null }, ue.fx.speeds = {slow: 600, fast: 200, _default: 400}, ue.fn.delay = function(e, t) { return e = ue.fx ? ue.fx.speeds[e] || e:e, t = t||'fx', this.queue(t, function(t, i) { var r = n.setTimeout(t, e); i.stop = function() { n.clearTimeout(r) };});}, function() { var e = J.createElement('input'), t = J.createElement('select'), n = t.appendChild(J.createElement('option')); e.type='checkbox', oe.checkOn = "" !== e.value, oe.optSelected = n.selected, t.disabled = !0, oe.optDisabled = !n.disabled, e = J.createElement('input'), e.value='t', e.type='radio', oe.radioValue = "t" === e.value;}(); var dt, ft = ue.expr.attrHandle; ue.fn.extend({attr: function(e, t) { return ke(this, ue.attr, e, t, arguments.length > 1);}, removeAttr: function(e) { return this.each(function() { ue.removeAttr(this, e) }) }}), ue.extend({attr: function(e, t, n) { var i, r, a = e.nodeType; if (3 !== a && 8 !== a && 2 !== a) return "undefined" == typeof e.getAttribute ? ue.prop(e, t, n):(1 === a && ue.isXMLDoc(e) || (t = t.toLowerCase(), r = ue.attrHooks[t] || (ue.expr.match.bool.test(t) ? dt:void 0)), void 0 !== n ? null === n ? void ue.removeAttr(e, t):r&&'set'in r && void 0 !== (i = r.set(e, n, t)) ? i:(e.setAttribute(t, n+''), n):r&&'get'in r && null !== (i = r.get(e, t)) ? i:(i = ue.find.attr(e, t), null == i ? void 0:i)) }, attrHooks: {type: {set: function(e, t) { if (!oe.radioValue && "radio" === t && ue.nodeName(e,'input')) { var n = e.value; return e.setAttribute('type', t), n && (e.value = n), t } }}}, removeAttr: function(e, t) { var n, i, r = 0, a = t && t.match(Ee); if (a && 1 === e.nodeType) for (;n = a[r++];)i = ue.propFix[n] || n, ue.expr.match.bool.test(n) && (e[i] = !1), e.removeAttribute(n) }}), dt = {set: function(e, t, n) { return t === !1 ? ue.removeAttr(e, n):e.setAttribute(n, n), n }}, ue.each(ue.expr.match.bool.source.match(/\w+/g), function(e, t) { var n = ft[t] || ue.find.attr; ft[t] = function(e, t, i) { var r, a; return i || (a = ft[t], ft[t] = r, r = null != n(e, t, i) ? t.toLowerCase():null, ft[t] = a), r;};}); var ht = /^(?:input|select|textarea|button)$/i, mt = /^(?:a|area)$/i; ue.fn.extend({prop: function(e, t) { return ke(this, ue.prop, e, t, arguments.length > 1);}, removeProp: function(e) { return this.each(function() { delete this[ue.propFix[e] || e];});}}), ue.extend({prop: function(e, t, n) { var i, r, a = e.nodeType; if (3 !== a && 8 !== a && 2 !== a) return 1 === a && ue.isXMLDoc(e) || (t = ue.propFix[t] || t, r = ue.propHooks[t]), void 0 !== n ? r&&'set'in r && void 0 !== (i = r.set(e, n, t)) ? i:e[t] = n:r&&'get'in r && null !== (i = r.get(e, t)) ? i:e[t];}, propHooks: {tabIndex: {get: function(e) { var t = ue.find.attr(e,'tabindex'); return t ? parseInt(t, 10):ht.test(e.nodeName) || mt.test(e.nodeName) && e.href ? 0:-1 }}}, propFix: {'for':'htmlFor','class':'className'}}), oe.optSelected || (ue.propHooks.selected = {get: function(e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null;}, set: function(e) { var t = e.parentNode; t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex);}}), ue.each(['tabIndex','readOnly','maxLength','cellSpacing','cellPadding','rowSpan','colSpan','useMap','frameBorder','contentEditable'], function() { ue.propFix[this.toLowerCase()] = this;}); var gt = /[\t\r\n\f]/g; ue.fn.extend({addClass: function(e) { var t, n, i, r, a, s, o, l = 0; if (ue.isFunction(e)) return this.each(function(t) { ue(this).addClass(e.call(this, t, G(this))) }); if ("string" == typeof e && e) for (t = e.match(Ee) || []; n = this[l++];) if (r = G(n), i = 1 === n.nodeType && (" " + r+' ').replace(gt,' ')) { for (s = 0; a = t[s++];)i.indexOf(" " + a+' ') < 0 && (i += a+' '); o = ue.trim(i), r !== o && n.setAttribute('class', o);} return this;}, removeClass: function(e) { var t, n, i, r, a, s, o, l = 0; if (ue.isFunction(e)) return this.each(function(t) { ue(this).removeClass(e.call(this, t, G(this))) }); if (!arguments.length) return this.attr('class',''); if ("string" == typeof e && e) for (t = e.match(Ee) || []; n = this[l++];) if (r = G(n), i = 1 === n.nodeType && (" " + r+' ').replace(gt,' ')) { for (s = 0; a = t[s++];) for (;i.indexOf(" " + a+' ') > -1;)i = i.replace(" " + a+' ',' '); o = ue.trim(i), r !== o && n.setAttribute('class', o);} return this;}, toggleClass: function(e, t) { var n = typeof e; return "boolean" == typeof t && "string" === n ? t ? this.addClass(e):this.removeClass(e):ue.isFunction(e) ? this.each(function(n) { ue(this).toggleClass(e.call(this, n, G(this), t), t);}):this.each(function() { var t, i, r, a; if ("string" === n) for (i = 0, r = ue(this), a = e.match(Ee) || []; t = a[i++];)r.hasClass(t) ? r.removeClass(t):r.addClass(t); else void 0 !== e && "boolean" !== n || (t = G(this), t && Me.set(this,'__className__', t), this.setAttribute && this.setAttribute('class', t || e === !1?'':Me.get(this,'__className__')||'')) });}, hasClass: function(e) { var t, n, i = 0; for (t = " " + e+' '; n = this[i++];) if (1 === n.nodeType && (" " + G(n)+' ').replace(gt,' ').indexOf(t) > -1) return !0; return !1 }}); var vt = /\r/g, yt = /[\x20\t\r\n\f]+/g; ue.fn.extend({val: function(e) { var t, n, i, r = this[0]; { if (arguments.length) return i = ue.isFunction(e), this.each(function(n) { var r; 1 === this.nodeType && (r = i ? e.call(this, n, ue(this).val()):e, null == r ? r='':"number" == typeof r ? r+='':ue.isArray(r) && (r = ue.map(r, function(e) { return null == e?'':e + "";})), t = ue.valHooks[this.type] || ue.valHooks[this.nodeName.toLowerCase()], t&&'set'in t && void 0 !== t.set(this, r,'value') || (this.value = r)) }); if (r) return t = ue.valHooks[r.type] || ue.valHooks[r.nodeName.toLowerCase()], t&&'get'in t && void 0 !== (n = t.get(r,'value')) ? n:(n = r.value, "string" == typeof n ? n.replace(vt,''):null == n?'':n);} }}), ue.extend({valHooks: {option: {get: function(e) { var t = ue.find.attr(e,'value'); return null != t ? t:ue.trim(ue.text(e)).replace(yt,' ') }}, select: {get: function(e) { for (var t, n, i = e.options, r = e.selectedIndex, a = "select-one" === e.type || 0 > r, s = a ? null:[], o = a ? r + 1:i.length, l = 0 > r ? o:a ? r:0; o > l; l++) if (n = i[l], (n.selected || l === r) && (oe.optDisabled ? !n.disabled:null === n.getAttribute('disabled')) && (!n.parentNode.disabled || !ue.nodeName(n.parentNode,'optgroup'))) { if (t = ue(n).val(), a) return t; s.push(t) } return s }, set: function(e, t) { for (var n, i, r = e.options, a = ue.makeArray(t), s = r.length; s--;)i = r[s], (i.selected = ue.inArray(ue.valHooks.option.get(i), a) > -1) && (n = !0); return n || (e.selectedIndex = -1), a;}}}}), ue.each(['radio','checkbox'], function() { ue.valHooks[this] = {set: function(e, t) { return ue.isArray(t) ? e.checked = ue.inArray(ue(e).val(), t) > -1:void 0 }}, oe.checkOn || (ue.valHooks[this].get = function(e) { return null === e.getAttribute('value')?'on':e.value }) }); var wt = /^(?:focusinfocus|focusoutblur)$/; ue.extend(ue.event, {trigger: function(e, t, i, r) { var a, s, o, l, u, p, c, d = [i || J], f = se.call(e,'type') ? e.type:e, h = se.call(e,'namespace') ? e.namespace.split('.'):[]; if (s = o = i = i || J, 3 !== i.nodeType && 8 !== i.nodeType && !wt.test(f + ue.event.triggered) && (f.indexOf('.') > -1 && (h = f.split('.'), f = h.shift(), h.sort()), u = f.indexOf(':') < 0 && "on" + f, e = e[ue.expando] ? e:new ue.Event(f, "object" == typeof e && e), e.isTrigger = r ? 2:3, e.namespace = h.join('.'), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + h.join('\\.(?:.*\\.|)')+'(\\.|$)'):null, e.result = void 0, e.target || (e.target = i), t = null == t ? [e]:ue.makeArray(t, [e]), c = ue.event.special[f] || {}, r || !c.trigger || c.trigger.apply(i, t) !== !1)) { if (!r && !c.noBubble && !ue.isWindow(i)) { for (l = c.delegateType || f, wt.test(l + f) || (s = s.parentNode); s; s = s.parentNode)d.push(s), o = s; o === (i.ownerDocument || J) && d.push(o.defaultView || o.parentWindow || n) } for (a = 0; (s = d[a++]) && !e.isPropagationStopped();)e.type = a > 1 ? l:c.bindType || f, p = (Me.get(s,'events') || {})[e.type] && Me.get(s,'handle'), p && p.apply(s, t), p = u && s[u], p && p.apply && Pe(s) && (e.result = p.apply(s, t), e.result === !1 && e.preventDefault()); return e.type = f, r || e.isDefaultPrevented() || c._default && c._default.apply(d.pop(), t) !== !1 || !Pe(i) || u && ue.isFunction(i[f]) && !ue.isWindow(i) && (o = i[u], o && (i[u] = null), ue.event.triggered = f, i[f](), ue.event.triggered = void 0, o && (i[u] = o)), e.result } }, simulate: function(e, t, n) { var i = ue.extend(new ue.Event, n, {type: e, isSimulated: !0}); ue.event.trigger(i, null, t);}}), ue.fn.extend({trigger: function(e, t) { return this.each(function() { ue.event.trigger(e, t, this) });}, triggerHandler: function(e, t) { var n = this[0]; return n ? ue.event.trigger(e, t, n, !0):void 0 }}), ue.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) { ue.fn[t] = function(e, n) { return arguments.length > 0 ? this.on(t, null, e, n):this.trigger(t);};}), ue.fn.extend({hover: function(e, t) { return this.mouseenter(e).mouseleave(t || e);}}), oe.focusin='onfocusin'in n, oe.focusin || ue.each({focus:'focusin', blur:'focusout'}, function(e, t) { var n = function(e) { ue.event.simulate(t, e.target, ue.event.fix(e)) }; ue.event.special[t] = {setup: function() { var i = this.ownerDocument || this, r = Me.access(i, t); r || i.addEventListener(e, n, !0), Me.access(i, t, (r || 0) + 1);}, teardown: function() { var i = this.ownerDocument || this, r = Me.access(i, t) - 1; r ? Me.access(i, t, r):(i.removeEventListener(e, n, !0), Me.remove(i, t));}};}); var xt = n.location, bt = ue.now(), Tt = /\?/; ue.parseJSON = function(e) { return JSON.parse(e+'');}, ue.parseXML = function(e) { var t; if (!e || "string" != typeof e) return null; try { t = (new n.DOMParser).parseFromString(e,'text/xml');} catch (i) { t = void 0 } return t && !t.getElementsByTagName('parsererror').length || ue.error("Invalid XML: " + e), t }; var Ct = /#.*$/, St = /([?&])_=[^&]*/, Et = /^(.*?):[ \t]*([^\r\n]*)$/gm, At = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, kt = /^(?:GET|HEAD)$/, Pt = /^\/\//, Mt = {}, Dt = {}, zt='*/'.concat('*'), Nt = J.createElement('a'); Nt.href = xt.href, ue.extend({active: 0, lastModified: {}, etag: {}, ajaxSettings: {url: xt.href, type:'GET', isLocal: At.test(xt.protocol), global: !0, processData: !0, async: !0, contentType:'application/x-www-form-urlencoded; charset=UTF-8', accepts: {'*': zt, text:'text/plain', html:'text/html', xml:'application/xml, text/xml', json:'application/json, text/javascript'}, contents: {xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/}, responseFields: {xml:'responseXML', text:'responseText', json:'responseJSON'}, converters: {'* text': String,'text html': !0,'text json': ue.parseJSON,'text xml': ue.parseXML}, flatOptions: {url: !0, context: !0}}, ajaxSetup: function(e, t) { return t ? V(V(e, ue.ajaxSettings), t):V(ue.ajaxSettings, e) }, ajaxPrefilter: X(Mt), ajaxTransport: X(Dt), ajax: function(e, t) { function i(e, t, i, o) { var u, c, y, w, b, C = t; 2 !== x && (x = 2, l && n.clearTimeout(l), r = void 0, s = o||'', T.readyState = e > 0 ? 4:0, u = e >= 200 && 300 > e || 304 === e, i && (w = $(d, T, i)), w = U(d, w, T, u), u ? (d.ifModified && (b = T.getResponseHeader('Last-Modified'), b && (ue.lastModified[a] = b), b = T.getResponseHeader('etag'), b && (ue.etag[a] = b)), 204 === e || "HEAD" === d.type ? C='nocontent':304 === e ? C='notmodified':(C = w.state, c = w.data, y = w.error, u = !y)):(y = C, !e && C || (C='error', 0 > e && (e = 0))), T.status = e, T.statusText = (t || C)+'', u ? m.resolveWith(f, [c, C, T]):m.rejectWith(f, [T, C, y]), T.statusCode(v), v = void 0, p && h.trigger(u?'ajaxSuccess':'ajaxError', [T, d, u ? c:y]), g.fireWith(f, [T, C]), p && (h.trigger('ajaxComplete', [T, d]), --ue.active || ue.event.trigger('ajaxStop'))) }"object" == typeof e && (t = e, e = void 0), t = t || {}; var r, a, s, o, l, u, p, c, d = ue.ajaxSetup({}, t), f = d.context || d, h = d.context && (f.nodeType || f.jquery) ? ue(f):ue.event, m = ue.Deferred(), g = ue.Callbacks('once memory'), v = d.statusCode || {}, y = {}, w = {}, x = 0, b='canceled', T = {readyState: 0, getResponseHeader: function(e) { var t; if (2 === x) { if (!o) for (o = {}; t = Et.exec(s);)o[t[1].toLowerCase()] = t[2]; t = o[e.toLowerCase()] } return null == t ? null:t }, getAllResponseHeaders: function() { return 2 === x ? s:null;}, setRequestHeader: function(e, t) { var n = e.toLowerCase(); return x || (e = w[n] = w[n] || e, y[e] = t), this }, overrideMimeType: function(e) { return x || (d.mimeType = e), this }, statusCode: function(e) { var t; if (e) if (2 > x) for (t in e)v[t] = [v[t], e[t]]; else T.always(e[T.status]); return this;}, abort: function(e) { var t = e || b; return r && r.abort(t), i(0, t), this;}}; if (m.promise(T).complete = g.add, T.success = T.done, T.error = T.fail, d.url = ((e || d.url || xt.href)+'').replace(Ct,'').replace(Pt, xt.protocol+'//'), d.type = t.method || t.type || d.method || d.type, d.dataTypes = ue.trim(d.dataType||'*').toLowerCase().match(Ee) || [''], null == d.crossDomain) { u = J.createElement('a'); try { u.href = d.url, u.href = u.href, d.crossDomain = Nt.protocol + "//" + Nt.host != u.protocol + "//" + u.host } catch (C) { d.crossDomain = !0 } } if (d.data && d.processData && "string" != typeof d.data && (d.data = ue.param(d.data, d.traditional)), Y(Mt, d, t, T), 2 === x) return T; p = ue.event && d.global, p && 0 === ue.active++ && ue.event.trigger('ajaxStart'), d.type = d.type.toUpperCase(), d.hasContent = !kt.test(d.type), a = d.url, d.hasContent || (d.data && (a = d.url += (Tt.test(a)?'&':'?') + d.data, delete d.data), d.cache === !1 && (d.url = St.test(a) ? a.replace(St, "$1_=" + bt++):a + (Tt.test(a)?'&':'?') + "_=" + bt++)), d.ifModified && (ue.lastModified[a] && T.setRequestHeader('If-Modified-Since', ue.lastModified[a]), ue.etag[a] && T.setRequestHeader('If-None-Match', ue.etag[a])), (d.data && d.hasContent && d.contentType !== !1 || t.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] ? ", " + zt+'; q=0.01':''):d.accepts['*']); for (c in d.headers)T.setRequestHeader(c, d.headers[c]); if (d.beforeSend && (d.beforeSend.call(f, T, d) === !1 || 2 === x)) return T.abort(); b='abort'; for (c in {success: 1, error: 1, complete: 1})T[c](d[c]); if (r = Y(Dt, d, t, T)) { if (T.readyState = 1, p && h.trigger('ajaxSend', [T, d]), 2 === x) return T; d.async && d.timeout > 0 && (l = n.setTimeout(function() { T.abort('timeout') }, d.timeout)); try { x = 1, r.send(y, i);} catch (C) { if (!(2 > x)) throw C; i(-1, C) } } else i(-1,'No Transport'); return T;}, getJSON: function(e, t, n) { return ue.get(e, t, n,'json') }, getScript: function(e, t) { return ue.get(e, void 0, t,'script') }}), ue.each(['get','post'], function(e, t) { ue[t] = function(e, n, i, r) { return ue.isFunction(n) && (r = r || i, i = n, n = void 0), ue.ajax(ue.extend({url: e, type: t, dataType: r, data: n, success: i}, ue.isPlainObject(e) && e));};}), ue._evalUrl = function(e) { return ue.ajax({url: e, type:'GET', dataType:'script', async: !1, global: !1,'throws': !0}) }, ue.fn.extend({wrapAll: function(e) { var t; return ue.isFunction(e) ? this.each(function(t) { ue(this).wrapAll(e.call(this, t)) }):(this[0] && (t = ue(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function() { for (var e = this; e.firstElementChild;)e = e.firstElementChild; return e }).append(this)), this) }, wrapInner: function(e) { return ue.isFunction(e) ? this.each(function(t) { ue(this).wrapInner(e.call(this, t));}):this.each(function() { var t = ue(this), n = t.contents(); n.length ? n.wrapAll(e):t.append(e);});}, wrap: function(e) { var t = ue.isFunction(e); return this.each(function(n) { ue(this).wrapAll(t ? e.call(this, n):e);}) }, unwrap: function() { return this.parent().each(function() { ue.nodeName(this,'body') || ue(this).replaceWith(this.childNodes);}).end() }}), ue.expr.filters.hidden = function(e) { return !ue.expr.filters.visible(e);}, ue.expr.filters.visible = function(e) { return e.offsetWidth > 0 || e.offsetHeight > 0 || e.getClientRects().length > 0 }; var It = /%20/g, Lt = /\[\]$/, Ht = /\r?\n/g, Ot = /^(?:submit|button|image|reset|file)$/i, Bt = /^(?:input|select|textarea|keygen)/i; ue.param = function(e, t) { var n, i = [], r = function(e, t) { t = ue.isFunction(t) ? t():null == t?'':t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t) }; if (void 0 === t && (t = ue.ajaxSettings && ue.ajaxSettings.traditional), ue.isArray(e) || e.jquery && !ue.isPlainObject(e))ue.each(e, function() { r(this.name, this.value);}); else for (n in e)K(n, e[n], t, r); return i.join('&').replace(It,'+');}, ue.fn.extend({serialize: function() { return ue.param(this.serializeArray()) }, serializeArray: function() { return this.map(function() { var e = ue.prop(this,'elements'); return e ? ue.makeArray(e):this }).filter(function() { var e = this.type; return this.name && !ue(this).is(':disabled') && Bt.test(this.nodeName) && !Ot.test(e) && (this.checked || !Be.test(e));}).map(function(e, t) { var n = ue(this).val(); return null == n ? null:ue.isArray(n) ? ue.map(n, function(e) { return {name: t.name, value: e.replace(Ht,'\r\n')} }):{name: t.name, value: n.replace(Ht,'\r\n')};}).get();}}), ue.ajaxSettings.xhr = function() { try { return new n.XMLHttpRequest } catch (e) {} }; var Rt = {0: 200, 1223: 204}, qt = ue.ajaxSettings.xhr(); oe.cors = !!qt&&'withCredentials'in qt, oe.ajax = qt = !!qt, ue.ajaxTransport(function(e) { var t, i; return oe.cors || qt && !e.crossDomain ? {send: function(r, a) { var s, o = e.xhr(); if (o.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields) for (s in e.xhrFields)o[s] = e.xhrFields[s]; e.mimeType && o.overrideMimeType && o.overrideMimeType(e.mimeType),
e.crossDomain || r['X-Requested-With'] || (r['X-Requested-With']='XMLHttpRequest'); for (s in r)o.setRequestHeader(s, r[s]); t = function(e) { return function() { t && (t = i = o.onload = o.onerror = o.onabort = o.onreadystatechange = null, "abort" === e ? o.abort():"error" === e ? "number" != typeof o.status ? a(0,'error'):a(o.status, o.statusText):a(Rt[o.status] || o.status, o.statusText, "text" !== (o.responseType||'text') || "string" != typeof o.responseText ? {binary: o.response}:{text: o.responseText}, o.getAllResponseHeaders()));};}, o.onload = t(), i = o.onerror = t('error'), void 0 !== o.onabort ? o.onabort = i:o.onreadystatechange = function() { 4 === o.readyState && n.setTimeout(function() { t && i();});}, t = t('abort'); try { o.send(e.hasContent && e.data || null);} catch (l) { if (t) throw l;} }, abort: function() { t && t() }}:void 0;}), ue.ajaxSetup({accepts: {script:'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'}, contents: {script: /\b(?:java|ecma)script\b/}, converters: {'text script': function(e) { return ue.globalEval(e), e }}}), ue.ajaxPrefilter('script', function(e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type='GET') }), ue.ajaxTransport('script', function(e) { if (e.crossDomain) { var t, n; return {send: function(i, r) { t = ue('<script>').prop({charset: e.scriptCharset, src: e.url}).on('load error', n = function(e) { t.remove(), n = null, e && r("error" === e.type ? 404:200, e.type);}), J.head.appendChild(t[0]) }, abort: function() { n && n() }};} }); var jt = [], Ft = /(=)\?(?=&|$)|\?\?/; ue.ajaxSetup({jsonp:'callback', jsonpCallback: function() { var e = jt.pop() || ue.expando + "_" + bt++; return this[e] = !0, e }}), ue.ajaxPrefilter('json jsonp', function(e, t, i) { var r, a, s, o = e.jsonp !== !1 && (Ft.test(e.url)?'url':"string" == typeof e.data && 0 === (e.contentType||'').indexOf('application/x-www-form-urlencoded') && Ft.test(e.data)&&'data'); return o || "jsonp" === e.dataTypes[0] ? (r = e.jsonpCallback = ue.isFunction(e.jsonpCallback) ? e.jsonpCallback():e.jsonpCallback, o ? e[o] = e[o].replace(Ft, "$1" + r):e.jsonp !== !1 && (e.url += (Tt.test(e.url)?'&':'?') + e.jsonp + "=" + r), e.converters['script json'] = function() { return s || ue.error(r+' was not called'), s[0];}, e.dataTypes[0]='json', a = n[r], n[r] = function() { s = arguments }, i.always(function() { void 0 === a ? ue(n).removeProp(r):n[r] = a, e[r] && (e.jsonpCallback = t.jsonpCallback, jt.push(r)), s && ue.isFunction(a) && a(s[0]), s = a = void 0;}),'script'):void 0 }), ue.parseHTML = function(e, t, n) { if (!e || "string" != typeof e) return null; "boolean" == typeof t && (n = t, t = !1), t = t || J; var i = ye.exec(e), r = !n && []; return i ? [t.createElement(i[1])]:(i = g([e], t, r), r && r.length && ue(r).remove(), ue.merge([], i.childNodes)) }; var Wt = ue.fn.load; ue.fn.load = function(e, t, n) { if ("string" != typeof e && Wt) return Wt.apply(this, arguments); var i, r, a, s = this, o = e.indexOf(' '); return o > -1 && (i = ue.trim(e.slice(o)), e = e.slice(0, o)), ue.isFunction(t) ? (n = t, t = void 0):t && "object" == typeof t && (r='POST'), s.length > 0 && ue.ajax({url: e, type: r||'GET', dataType:'html', data: t}).done(function(e) { a = arguments, s.html(i ? ue('<div>').append(ue.parseHTML(e)).find(i):e) }).always(n && function(e, t) { s.each(function() { n.apply(this, a || [e.responseText, t, e]) }) }), this }, ue.each(['ajaxStart','ajaxStop','ajaxComplete','ajaxError','ajaxSuccess','ajaxSend'], function(e, t) { ue.fn[t] = function(e) { return this.on(t, e);};}), ue.expr.filters.animated = function(e) { return ue.grep(ue.timers, function(t) { return e === t.elem }).length }, ue.offset = {setOffset: function(e, t, n) { var i, r, a, s, o, l, u, p = ue.css(e,'position'), c = ue(e), d = {}; "static" === p && (e.style.position='relative'), o = c.offset(), a = ue.css(e,'top'), l = ue.css(e,'left'), u = ("absolute" === p || "fixed" === p) && (a + l).indexOf('auto') > -1, u ? (i = c.position(), s = i.top, r = i.left):(s = parseFloat(a) || 0, r = parseFloat(l) || 0), ue.isFunction(t) && (t = t.call(e, n, ue.extend({}, o))), null != t.top && (d.top = t.top - o.top + s), null != t.left && (d.left = t.left - o.left + r),'using'in t ? t.using.call(e, d):c.css(d) }}, ue.fn.extend({offset: function(e) { if (arguments.length) return void 0 === e ? this:this.each(function(t) { ue.offset.setOffset(this, e, t);}); var t, n, i = this[0], r = {top: 0, left: 0}, a = i && i.ownerDocument; if (a) return t = a.documentElement, ue.contains(t, i) ? (r = i.getBoundingClientRect(), n = Q(a), {top: r.top + n.pageYOffset - t.clientTop, left: r.left + n.pageXOffset - t.clientLeft}):r }, position: function() { if (this[0]) { var e, t, n = this[0], i = {top: 0, left: 0}; return "fixed" === ue.css(n,'position') ? t = n.getBoundingClientRect():(e = this.offsetParent(), t = this.offset(), ue.nodeName(e[0],'html') || (i = e.offset()), i.top += ue.css(e[0],'borderTopWidth', !0), i.left += ue.css(e[0],'borderLeftWidth', !0)), {top: t.top - i.top - ue.css(n,'marginTop', !0), left: t.left - i.left - ue.css(n,'marginLeft', !0)};} }, offsetParent: function() { return this.map(function() { for (var e = this.offsetParent; e && "static" === ue.css(e,'position');)e = e.offsetParent; return e || nt });}}), ue.each({scrollLeft:'pageXOffset', scrollTop:'pageYOffset'}, function(e, t) { var n = "pageYOffset" === t; ue.fn[e] = function(i) { return ke(this, function(e, i, r) { var a = Q(e); return void 0 === r ? a ? a[t]:e[i]:void(a ? a.scrollTo(n ? a.pageXOffset:r, n ? r:a.pageYOffset):e[i] = r) }, e, i, arguments.length) } }), ue.each(['top','left'], function(e, t) { ue.cssHooks[t] = z(oe.pixelPosition, function(e, n) { return n ? (n = D(e, t), Je.test(n) ? ue(e).position()[t]+'px':n):void 0 });}), ue.each({Height:'height', Width:'width'}, function(e, t) { ue.each({padding: "inner" + e, content: t,'': "outer" + e}, function(n, i) { ue.fn[i] = function(i, r) { var a = arguments.length && (n || "boolean" != typeof i), s = n || (i === !0 || r === !0?'margin':'border'); return ke(this, function(t, n, i) { var r; return ue.isWindow(t) ? t.document.documentElement["client" + e]:9 === t.nodeType ? (r = t.documentElement, Math.max(t.body["scroll" + e], r["scroll" + e], t.body["offset" + e], r["offset" + e], r["client" + e])):void 0 === i ? ue.css(t, n, s):ue.style(t, n, i, s);}, t, a ? i:void 0, a, null);} });}), ue.fn.extend({bind: function(e, t, n) { return this.on(e, null, t, n);}, unbind: function(e, t) { return this.off(e, null, t) }, delegate: function(e, t, n, i) { return this.on(t, e, n, i) }, undelegate: function(e, t, n) { return 1 === arguments.length ? this.off(e,'**'):this.off(t, e||'**', n);}, size: function() { return this.length }}), ue.fn.andSelf = ue.fn.addBack, i = [], r = function() { return ue;}.apply(t, i), !(void 0 !== r && (e.exports = r)); var _t = n.jQuery, Gt = n.$; return ue.noConflict = function(e) { return n.$ === ue && (n.$ = Gt), e && n.jQuery === ue && (n.jQuery = _t), ue;}, a || (n.jQuery = n.$ = ue), ue });}, function(e, t, n) { !function() {'use strict'; function e(e) { e.fn.swiper = function(t) { var i; return e(this).each(function() { var e = new n(this, t); i || (i = e) }), i } } var t, n = function(e, r) { function a(e) { return Math.floor(e) } function s() { x.autoplayTimeoutId = setTimeout(function() { x.params.loop ? (x.fixLoop(), x._slideNext(), x.emit('onAutoplay', x)):x.isEnd ? r.autoplayStopOnLast ? x.stopAutoplay():(x._slideTo(0), x.emit('onAutoplay', x)):(x._slideNext(), x.emit('onAutoplay', x)) }, x.params.autoplay) } function o(e, n) { var i = t(e.target); if (!i.is(n)) if ("string" == typeof n)i = i.parents(n); else if (n.nodeType) { var r; return i.parents().each(function(e, t) { t === n && (r = n);}), r ? n:void 0 } if (0 !== i.length) return i[0] } function l(e, t) { t = t || {}; var n = window.MutationObserver || window.WebkitMutationObserver, i = new n(function(e) { e.forEach(function(e) { x.onResize(!0), x.emit('onObserverUpdate', x, e);});}); i.observe(e, {attributes: "undefined" == typeof t.attributes ? !0:t.attributes, childList: "undefined" == typeof t.childList ? !0:t.childList, characterData: "undefined" == typeof t.characterData ? !0:t.characterData}), x.observers.push(i) } function u(e) { e.originalEvent && (e = e.originalEvent); var t = e.keyCode || e.charCode; if (!x.params.allowSwipeToNext && (x.isHorizontal() && 39 === t || !x.isHorizontal() && 40 === t)) return !1; if (!x.params.allowSwipeToPrev && (x.isHorizontal() && 37 === t || !x.isHorizontal() && 38 === t)) return !1; if (!(e.shiftKey || e.altKey || e.ctrlKey || e.metaKey || document.activeElement && document.activeElement.nodeName && ("input" === document.activeElement.nodeName.toLowerCase() || "textarea" === document.activeElement.nodeName.toLowerCase()))) { if (37 === t || 39 === t || 38 === t || 40 === t) { var n = !1; if (x.container.parents('.swiper-slide').length > 0 && 0 === x.container.parents('.swiper-slide-active').length) return; var i = {left: window.pageXOffset, top: window.pageYOffset}, r = window.innerWidth, a = window.innerHeight, s = x.container.offset(); x.rtl && (s.left = s.left - x.container[0].scrollLeft); for (var o = [[s.left, s.top], [s.left + x.width, s.top], [s.left, s.top + x.height], [s.left + x.width, s.top + x.height]], l = 0; l < o.length; l++) { var u = o[l]; u[0] >= i.left && u[0] <= i.left + r && u[1] >= i.top && u[1] <= i.top + a && (n = !0);} if (!n) return }x.isHorizontal() ? (37 !== t && 39 !== t || (e.preventDefault ? e.preventDefault():e.returnValue = !1), (39 === t && !x.rtl || 37 === t && x.rtl) && x.slideNext(), (37 === t && !x.rtl || 39 === t && x.rtl) && x.slidePrev()):(38 !== t && 40 !== t || (e.preventDefault ? e.preventDefault():e.returnValue = !1), 40 === t && x.slideNext(), 38 === t && x.slidePrev());} } function p(e) { e.originalEvent && (e = e.originalEvent); var t = x.mousewheel.event, n = 0, i = x.rtl ? -1:1; if ("mousewheel" === t) if (x.params.mousewheelForceToAxis) if (x.isHorizontal()) { if (!(Math.abs(e.wheelDeltaX) > Math.abs(e.wheelDeltaY))) return; n = e.wheelDeltaX * i;} else { if (!(Math.abs(e.wheelDeltaY) > Math.abs(e.wheelDeltaX))) return; n = e.wheelDeltaY } else n = Math.abs(e.wheelDeltaX) > Math.abs(e.wheelDeltaY) ? -e.wheelDeltaX * i:-e.wheelDeltaY; else if ("DOMMouseScroll" === t)n = -e.detail; else if ("wheel" === t) if (x.params.mousewheelForceToAxis) if (x.isHorizontal()) { if (!(Math.abs(e.deltaX) > Math.abs(e.deltaY))) return; n = -e.deltaX * i;} else { if (!(Math.abs(e.deltaY) > Math.abs(e.deltaX))) return; n = -e.deltaY } else n = Math.abs(e.deltaX) > Math.abs(e.deltaY) ? -e.deltaX * i:-e.deltaY; if (0 !== n) { if (x.params.mousewheelInvert && (n = -n), x.params.freeMode) { var r = x.getWrapperTranslate() + n * x.params.mousewheelSensitivity, a = x.isBeginning, s = x.isEnd; if (r >= x.minTranslate() && (r = x.minTranslate()), r <= x.maxTranslate() && (r = x.maxTranslate()), x.setWrapperTransition(0), x.setWrapperTranslate(r), x.updateProgress(), x.updateActiveIndex(), (!a && x.isBeginning || !s && x.isEnd) && x.updateClasses(), x.params.freeModeSticky ? (clearTimeout(x.mousewheel.timeout), x.mousewheel.timeout = setTimeout(function() { x.slideReset();}, 300)):x.params.lazyLoading && x.lazy && x.lazy.load(), 0 === r || r === x.maxTranslate()) return } else { if ((new window.Date).getTime() - x.mousewheel.lastScrollTime > 60) if (0 > n) if (x.isEnd && !x.params.loop || x.animating) { if (x.params.mousewheelReleaseOnEdges) return !0;} else x.slideNext(); else if (x.isBeginning && !x.params.loop || x.animating) { if (x.params.mousewheelReleaseOnEdges) return !0 } else x.slidePrev(); x.mousewheel.lastScrollTime = (new window.Date).getTime() } return x.params.autoplay && x.stopAutoplay(), e.preventDefault ? e.preventDefault():e.returnValue = !1, !1 } } function c(e, n) { e = t(e); var i, r, a, s = x.rtl ? -1:1; i = e.attr('data-swiper-parallax')||'0', r = e.attr('data-swiper-parallax-x'), a = e.attr('data-swiper-parallax-y'), r || a ? (r = r||'0', a = a||'0'):x.isHorizontal() ? (r = i, a='0'):(a = i, r='0'), r = r.indexOf('%') >= 0 ? parseInt(r, 10) * n * s+'%':r * n * s+'px', a = a.indexOf('%') >= 0 ? parseInt(a, 10) * n+'%':a * n+'px', e.transform("translate3d(" + r + ", " + a+',0px)');} function d(e) { return 0 !== e.indexOf('on') && (e = e[0] !== e[0].toUpperCase() ? "on" + e[0].toUpperCase() + e.substring(1):"on" + e), e;} if (!(this instanceof n)) return new n(e, r); var f = {direction:'horizontal', touchEventsTarget:'container', initialSlide: 0, speed: 300, autoplay: !1, autoplayDisableOnInteraction: !0, autoplayStopOnLast: !1, iOSEdgeSwipeDetection: !1, iOSEdgeSwipeThreshold: 20, freeMode: !1, freeModeMomentum: !0, freeModeMomentumRatio: 1, freeModeMomentumBounce: !0, freeModeMomentumBounceRatio: 1, freeModeSticky: !1, freeModeMinimumVelocity: .02, autoHeight: !1, setWrapperSize: !1, virtualTranslate: !1, effect:'slide', coverflow: {rotate: 50, stretch: 0, depth: 100, modifier: 1, slideShadows: !0}, flip: {slideShadows: !0, limitRotation: !0}, cube: {slideShadows: !0, shadow: !0, shadowOffset: 20, shadowScale: .94}, fade: {crossFade: !1}, parallax: !1, scrollbar: null, scrollbarHide: !0, scrollbarDraggable: !1, scrollbarSnapOnRelease: !1, keyboardControl: !1, mousewheelControl: !1, mousewheelReleaseOnEdges: !1, mousewheelInvert: !1, mousewheelForceToAxis: !1, mousewheelSensitivity: 1, hashnav: !1, breakpoints: void 0, spaceBetween: 0, slidesPerView: 1, slidesPerColumn: 1, slidesPerColumnFill:'column', slidesPerGroup: 1, centeredSlides: !1, slidesOffsetBefore: 0, slidesOffsetAfter: 0, roundLengths: !1, touchRatio: 1, touchAngle: 45, simulateTouch: !0, shortSwipes: !0, longSwipes: !0, longSwipesRatio: .5, longSwipesMs: 300, followFinger: !0, onlyExternal: !1, threshold: 0, touchMoveStopPropagation: !0, uniqueNavElements: !0, pagination: null, paginationElement:'span', paginationClickable: !1, paginationHide: !1, paginationBulletRender: null, paginationProgressRender: null, paginationFractionRender: null, paginationCustomRender: null, paginationType:'bullets', resistance: !0, resistanceRatio: .85, nextButton: null, prevButton: null, watchSlidesProgress: !1, watchSlidesVisibility: !1, grabCursor: !1, preventClicks: !0, preventClicksPropagation: !0, slideToClickedSlide: !1, lazyLoading: !1, lazyLoadingInPrevNext: !1, lazyLoadingInPrevNextAmount: 1, lazyLoadingOnTransitionStart: !1, preloadImages: !0, updateOnImagesReady: !0, loop: !1, loopAdditionalSlides: 0, loopedSlides: null, control: void 0, controlInverse: !1, controlBy:'slide', allowSwipeToPrev: !0, allowSwipeToNext: !0, swipeHandler: null, noSwiping: !0, noSwipingClass:'swiper-no-swiping', slideClass:'swiper-slide', slideActiveClass:'swiper-slide-active', slideVisibleClass:'swiper-slide-visible', slideDuplicateClass:'swiper-slide-duplicate', slideNextClass:'swiper-slide-next', slidePrevClass:'swiper-slide-prev', wrapperClass:'swiper-wrapper', bulletClass:'swiper-pagination-bullet', bulletActiveClass:'swiper-pagination-bullet-active', buttonDisabledClass:'swiper-button-disabled', paginationCurrentClass:'swiper-pagination-current', paginationTotalClass:'swiper-pagination-total', paginationHiddenClass:'swiper-pagination-hidden', paginationProgressbarClass:'swiper-pagination-progressbar', observer: !1, observeParents: !1, a11y: !1, prevSlideMessage:'Previous slide', nextSlideMessage:'Next slide', firstSlideMessage:'This is the first slide', lastSlideMessage:'This is the last slide', paginationBulletMessage:'Go to slide {{index}}', runCallbacksOnInit: !0}, h = r && r.virtualTranslate; r = r || {}; var m = {}; for (var g in r) if ("object" != typeof r[g] || null === r[g] || (r[g].nodeType || r[g] === window || r[g] === document || "undefined" != typeof i && r[g]instanceof i || "undefined" != typeof jQuery && r[g]instanceof jQuery))m[g] = r[g]; else { m[g] = {}; for (var v in r[g])m[g][v] = r[g][v] } for (var y in f) if ("undefined" == typeof r[y])r[y] = f[y]; else if ("object" == typeof r[y]) for (var w in f[y])"undefined" == typeof r[y][w] && (r[y][w] = f[y][w]); var x = this; if (x.params = r, x.originalParams = m, x.classNames = [], "undefined" != typeof t && "undefined" != typeof i && (t = i), ("undefined" != typeof t || (t = "undefined" == typeof i ? window.Dom7 || window.Zepto || window.jQuery:i)) && (x.$ = t, x.currentBreakpoint = void 0, x.getActiveBreakpoint = function() { if (!x.params.breakpoints) return !1; var e, t = !1, n = []; for (e in x.params.breakpoints)x.params.breakpoints.hasOwnProperty(e) && n.push(e); n.sort(function(e, t) { return parseInt(e, 10) > parseInt(t, 10) }); for (var i = 0; i < n.length; i++)e = n[i], e >= window.innerWidth && !t && (t = e); return t || "max" }, x.setBreakpoint = function() { var e = x.getActiveBreakpoint(); if (e && x.currentBreakpoint !== e) { var t = e in x.params.breakpoints ? x.params.breakpoints[e]:x.originalParams, n = x.params.loop && t.slidesPerView !== x.params.slidesPerView; for (var i in t)x.params[i] = t[i]; x.currentBreakpoint = e, n && x.destroyLoop && x.reLoop(!0);} }, x.params.breakpoints && x.setBreakpoint(), x.container = t(e), 0 !== x.container.length)) { if (x.container.length > 1) { var b = []; return x.container.each(function() { b.push(new n(this, r));}), b }x.container[0].swiper = x, x.container.data('swiper', x), x.classNames.push("swiper-container-" + x.params.direction), x.params.freeMode && x.classNames.push('swiper-container-free-mode'), x.support.flexbox || (x.classNames.push('swiper-container-no-flexbox'), x.params.slidesPerColumn = 1), x.params.autoHeight && x.classNames.push('swiper-container-autoheight'), (x.params.parallax || x.params.watchSlidesVisibility) && (x.params.watchSlidesProgress = !0), ['cube','coverflow','flip'].indexOf(x.params.effect) >= 0 && (x.support.transforms3d ? (x.params.watchSlidesProgress = !0, x.classNames.push('swiper-container-3d')):x.params.effect='slide'), "slide" !== x.params.effect && x.classNames.push("swiper-container-" + x.params.effect), "cube" === x.params.effect && (x.params.resistanceRatio = 0, x.params.slidesPerView = 1, x.params.slidesPerColumn = 1, x.params.slidesPerGroup = 1, x.params.centeredSlides = !1, x.params.spaceBetween = 0, x.params.virtualTranslate = !0, x.params.setWrapperSize = !1), "fade" !== x.params.effect && "flip" !== x.params.effect || (x.params.slidesPerView = 1, x.params.slidesPerColumn = 1, x.params.slidesPerGroup = 1, x.params.watchSlidesProgress = !0, x.params.spaceBetween = 0, x.params.setWrapperSize = !1, "undefined" == typeof h && (x.params.virtualTranslate = !0)), x.params.grabCursor && x.support.touch && (x.params.grabCursor = !1), x.wrapper = x.container.children("." + x.params.wrapperClass), x.params.pagination && (x.paginationContainer = t(x.params.pagination), x.params.uniqueNavElements && "string" == typeof x.params.pagination && x.paginationContainer.length > 1 && 1 === x.container.find(x.params.pagination).length && (x.paginationContainer = x.container.find(x.params.pagination)), "bullets" === x.params.paginationType && x.params.paginationClickable ? x.paginationContainer.addClass('swiper-pagination-clickable'):x.params.paginationClickable = !1, x.paginationContainer.addClass("swiper-pagination-" + x.params.paginationType)), (x.params.nextButton || x.params.prevButton) && (x.params.nextButton && (x.nextButton = t(x.params.nextButton), x.params.uniqueNavElements && "string" == typeof x.params.nextButton && x.nextButton.length > 1 && 1 === x.container.find(x.params.nextButton).length && (x.nextButton = x.container.find(x.params.nextButton))), x.params.prevButton && (x.prevButton = t(x.params.prevButton), x.params.uniqueNavElements && "string" == typeof x.params.prevButton && x.prevButton.length > 1 && 1 === x.container.find(x.params.prevButton).length && (x.prevButton = x.container.find(x.params.prevButton)))), x.isHorizontal = function() { return "horizontal" === x.params.direction }, x.rtl = x.isHorizontal() && ("rtl" === x.container[0].dir.toLowerCase() || "rtl" === x.container.css('direction')), x.rtl && x.classNames.push('swiper-container-rtl'), x.rtl && (x.wrongRTL = "-webkit-box" === x.wrapper.css('display')), x.params.slidesPerColumn > 1 && x.classNames.push('swiper-container-multirow'), x.device.android && x.classNames.push('swiper-container-android'), x.container.addClass(x.classNames.join(' ')), x.translate = 0, x.progress = 0, x.velocity = 0, x.lockSwipeToNext = function() { x.params.allowSwipeToNext = !1;}, x.lockSwipeToPrev = function() { x.params.allowSwipeToPrev = !1 }, x.lockSwipes = function() { x.params.allowSwipeToNext = x.params.allowSwipeToPrev = !1 }, x.unlockSwipeToNext = function() { x.params.allowSwipeToNext = !0;}, x.unlockSwipeToPrev = function() { x.params.allowSwipeToPrev = !0 }, x.unlockSwipes = function() { x.params.allowSwipeToNext = x.params.allowSwipeToPrev = !0;}, x.params.grabCursor && (x.container[0].style.cursor='move', x.container[0].style.cursor='-webkit-grab', x.container[0].style.cursor='-moz-grab', x.container[0].style.cursor='grab'), x.imagesToLoad = [], x.imagesLoaded = 0, x.loadImage = function(e, t, n, i, r) { function a() { r && r() } var s; e.complete && i ? a():t ? (s = new window.Image, s.onload = a, s.onerror = a, n && (s.srcset = n), t && (s.src = t)):a();}, x.preloadImages = function() { function e() { "undefined" != typeof x && null !== x && (void 0 !== x.imagesLoaded && x.imagesLoaded++, x.imagesLoaded === x.imagesToLoad.length && (x.params.updateOnImagesReady && x.update(), x.emit('onImagesReady', x)));}x.imagesToLoad = x.container.find('img'); for (var t = 0; t < x.imagesToLoad.length; t++)x.loadImage(x.imagesToLoad[t], x.imagesToLoad[t].currentSrc || x.imagesToLoad[t].getAttribute('src'), x.imagesToLoad[t].srcset || x.imagesToLoad[t].getAttribute('srcset'), !0, e);}, x.autoplayTimeoutId = void 0, x.autoplaying = !1, x.autoplayPaused = !1, x.startAutoplay = function() { return "undefined" != typeof x.autoplayTimeoutId ? !1:x.params.autoplay ? x.autoplaying ? !1:(x.autoplaying = !0, x.emit('onAutoplayStart', x), void s()):!1;}, x.stopAutoplay = function(e) { x.autoplayTimeoutId && (x.autoplayTimeoutId && clearTimeout(x.autoplayTimeoutId), x.autoplaying = !1, x.autoplayTimeoutId = void 0, x.emit('onAutoplayStop', x)) }, x.pauseAutoplay = function(e) { x.autoplayPaused || (x.autoplayTimeoutId && clearTimeout(x.autoplayTimeoutId), x.autoplayPaused = !0, 0 === e ? (x.autoplayPaused = !1, s()):x.wrapper.transitionEnd(function() { x && (x.autoplayPaused = !1, x.autoplaying ? s():x.stopAutoplay()) }));}, x.minTranslate = function() { return -x.snapGrid[0];}, x.maxTranslate = function() { return -x.snapGrid[x.snapGrid.length - 1];}, x.updateAutoHeight = function() { var e = x.slides.eq(x.activeIndex)[0]; if ("undefined" != typeof e) { var t = e.offsetHeight; t && x.wrapper.css('height', t+'px');} }, x.updateContainerSize = function() { var e, t; e = "undefined" != typeof x.params.width ? x.params.width:x.container[0].clientWidth, t = "undefined" != typeof x.params.height ? x.params.height:x.container[0].clientHeight, 0 === e && x.isHorizontal() || 0 === t && !x.isHorizontal() || (e = e - parseInt(x.container.css('padding-left'), 10) - parseInt(x.container.css('padding-right'), 10), t = t - parseInt(x.container.css('padding-top'), 10) - parseInt(x.container.css('padding-bottom'), 10), x.width = e, x.height = t, x.size = x.isHorizontal() ? x.width:x.height);}, x.updateSlidesSize = function() { x.slides = x.wrapper.children("." + x.params.slideClass), x.snapGrid = [], x.slidesGrid = [], x.slidesSizesGrid = []; var e, t = x.params.spaceBetween, n = -x.params.slidesOffsetBefore, i = 0, r = 0; if ("undefined" != typeof x.size) { "string" == typeof t && t.indexOf('%') >= 0 && (t = parseFloat(t.replace('%','')) / 100 * x.size), x.virtualSize = -t, x.rtl ? x.slides.css({marginLeft:'', marginTop:''}):x.slides.css({marginRight:'', marginBottom:''}); var s; x.params.slidesPerColumn > 1 && (s = Math.floor(x.slides.length / x.params.slidesPerColumn) === x.slides.length / x.params.slidesPerColumn ? x.slides.length:Math.ceil(x.slides.length / x.params.slidesPerColumn) * x.params.slidesPerColumn, "auto" !== x.params.slidesPerView && "row" === x.params.slidesPerColumnFill && (s = Math.max(s, x.params.slidesPerView * x.params.slidesPerColumn))); var o, l = x.params.slidesPerColumn, u = s / l, p = u - (x.params.slidesPerColumn * u - x.slides.length); for (e = 0; e < x.slides.length; e++) { o = 0; var c = x.slides.eq(e); if (x.params.slidesPerColumn > 1) { var d, f, h; "column" === x.params.slidesPerColumnFill ? (f = Math.floor(e / l), h = e - f * l, (f > p || f === p && h === l - 1) && ++h >= l && (h = 0, f++), d = f + h * s / l, c.css({'-webkit-box-ordinal-group': d,'-moz-box-ordinal-group': d,'-ms-flex-order': d,'-webkit-order': d, order: d})):(h = Math.floor(e / u), f = e - h * u), c.css({'margin-top': 0 !== h && x.params.spaceBetween && x.params.spaceBetween+'px'}).attr('data-swiper-column', f).attr('data-swiper-row', h);}"none" !== c.css('display') && ("auto" === x.params.slidesPerView ? (o = x.isHorizontal() ? c.outerWidth(!0):c.outerHeight(!0), x.params.roundLengths && (o = a(o))):(o = (x.size - (x.params.slidesPerView - 1) * t) / x.params.slidesPerView, x.params.roundLengths && (o = a(o)), x.isHorizontal() ? x.slides[e].style.width = o+'px':x.slides[e].style.height = o+'px'), x.slides[e].swiperSlideSize = o, x.slidesSizesGrid.push(o), x.params.centeredSlides ? (n = n + o / 2 + i / 2 + t, 0 === e && (n = n - x.size / 2 - t), Math.abs(n) < .001 && (n = 0), r % x.params.slidesPerGroup === 0 && x.snapGrid.push(n), x.slidesGrid.push(n)):(r % x.params.slidesPerGroup === 0 && x.snapGrid.push(n), x.slidesGrid.push(n), n = n + o + t), x.virtualSize += o + t, i = o, r++) }x.virtualSize = Math.max(x.virtualSize, x.size) + x.params.slidesOffsetAfter; var m; if (x.rtl && x.wrongRTL && ("slide" === x.params.effect || "coverflow" === x.params.effect) && x.wrapper.css({width: x.virtualSize + x.params.spaceBetween+'px'}), x.support.flexbox && !x.params.setWrapperSize || (x.isHorizontal() ? x.wrapper.css({width: x.virtualSize + x.params.spaceBetween+'px'}):x.wrapper.css({height: x.virtualSize + x.params.spaceBetween+'px'})), x.params.slidesPerColumn > 1 && (x.virtualSize = (o + x.params.spaceBetween) * s, x.virtualSize = Math.ceil(x.virtualSize / x.params.slidesPerColumn) - x.params.spaceBetween, x.wrapper.css({width: x.virtualSize + x.params.spaceBetween+'px'}), x.params.centeredSlides)) { for (m = [], e = 0; e < x.snapGrid.length; e++)x.snapGrid[e] < x.virtualSize + x.snapGrid[0] && m.push(x.snapGrid[e]); x.snapGrid = m } if (!x.params.centeredSlides) { for (m = [], e = 0; e < x.snapGrid.length; e++)x.snapGrid[e] <= x.virtualSize - x.size && m.push(x.snapGrid[e]); x.snapGrid = m, Math.floor(x.virtualSize - x.size) - Math.floor(x.snapGrid[x.snapGrid.length - 1]) > 1 && x.snapGrid.push(x.virtualSize - x.size) }0 === x.snapGrid.length && (x.snapGrid = [0]), 0 !== x.params.spaceBetween && (x.isHorizontal() ? x.rtl ? x.slides.css({marginLeft: t+'px'}):x.slides.css({marginRight: t+'px'}):x.slides.css({marginBottom: t+'px'})), x.params.watchSlidesProgress && x.updateSlidesOffset();} }, x.updateSlidesOffset = function() { for (var e = 0; e < x.slides.length; e++)x.slides[e].swiperSlideOffset = x.isHorizontal() ? x.slides[e].offsetLeft:x.slides[e].offsetTop;}, x.updateSlidesProgress = function(e) { if ("undefined" == typeof e && (e = x.translate || 0), 0 !== x.slides.length) { "undefined" == typeof x.slides[0].swiperSlideOffset && x.updateSlidesOffset(); var t = -e; x.rtl && (t = e), x.slides.removeClass(x.params.slideVisibleClass); for (var n = 0; n < x.slides.length; n++) { var i = x.slides[n], r = (t - i.swiperSlideOffset) / (i.swiperSlideSize + x.params.spaceBetween); if (x.params.watchSlidesVisibility) { var a = -(t - i.swiperSlideOffset), s = a + x.slidesSizesGrid[n], o = a >= 0 && a < x.size || s > 0 && s <= x.size || 0 >= a && s >= x.size; o && x.slides.eq(n).addClass(x.params.slideVisibleClass) }i.progress = x.rtl ? -r:r } } }, x.updateProgress = function(e) { "undefined" == typeof e && (e = x.translate || 0); var t = x.maxTranslate() - x.minTranslate(), n = x.isBeginning, i = x.isEnd; 0 === t ? (x.progress = 0, x.isBeginning = x.isEnd = !0):(x.progress = (e - x.minTranslate()) / t, x.isBeginning = x.progress <= 0, x.isEnd = x.progress >= 1), x.isBeginning && !n && x.emit('onReachBeginning', x), x.isEnd && !i && x.emit('onReachEnd', x), x.params.watchSlidesProgress && x.updateSlidesProgress(e), x.emit('onProgress', x, x.progress);}, x.updateActiveIndex = function() { var e, t, n, i = x.rtl ? x.translate:-x.translate; for (t = 0; t < x.slidesGrid.length; t++)"undefined" != typeof x.slidesGrid[t + 1] ? i >= x.slidesGrid[t] && i < x.slidesGrid[t + 1] - (x.slidesGrid[t + 1] - x.slidesGrid[t]) / 2 ? e = t:i >= x.slidesGrid[t] && i < x.slidesGrid[t + 1] && (e = t + 1):i >= x.slidesGrid[t] && (e = t); (0 > e || "undefined" == typeof e) && (e = 0), n = Math.floor(e / x.params.slidesPerGroup), n >= x.snapGrid.length && (n = x.snapGrid.length - 1), e !== x.activeIndex && (x.snapIndex = n, x.previousIndex = x.activeIndex, x.activeIndex = e, x.updateClasses()) }, x.updateClasses = function() { x.slides.removeClass(x.params.slideActiveClass + " " + x.params.slideNextClass + " " + x.params.slidePrevClass); var e = x.slides.eq(x.activeIndex); e.addClass(x.params.slideActiveClass); var n = e.next("." + x.params.slideClass).addClass(x.params.slideNextClass); x.params.loop && 0 === n.length && x.slides.eq(0).addClass(x.params.slideNextClass); var i = e.prev("." + x.params.slideClass).addClass(x.params.slidePrevClass); if (x.params.loop && 0 === i.length && x.slides.eq(-1).addClass(x.params.slidePrevClass), x.paginationContainer && x.paginationContainer.length > 0) { var r, a = x.params.loop ? Math.ceil((x.slides.length - 2 * x.loopedSlides) / x.params.slidesPerGroup):x.snapGrid.length; if (x.params.loop ? (r = Math.ceil((x.activeIndex - x.loopedSlides) / x.params.slidesPerGroup), r > x.slides.length - 1 - 2 * x.loopedSlides && (r -= x.slides.length - 2 * x.loopedSlides), r > a - 1 && (r -= a), 0 > r && "bullets" !== x.params.paginationType && (r = a + r)):r = "undefined" != typeof x.snapIndex ? x.snapIndex:x.activeIndex || 0, "bullets" === x.params.paginationType && x.bullets && x.bullets.length > 0 && (x.bullets.removeClass(x.params.bulletActiveClass), x.paginationContainer.length > 1 ? x.bullets.each(function() { t(this).index() === r && t(this).addClass(x.params.bulletActiveClass) }):x.bullets.eq(r).addClass(x.params.bulletActiveClass)), "fraction" === x.params.paginationType && (x.paginationContainer.find("." + x.params.paginationCurrentClass).text(r + 1), x.paginationContainer.find("." + x.params.paginationTotalClass).text(a)), "progress" === x.params.paginationType) { var s = (r + 1) / a, o = s, l = 1; x.isHorizontal() || (l = s, o = 1), x.paginationContainer.find("." + x.params.paginationProgressbarClass).transform("translate3d(0,0,0) scaleX(" + o + ") scaleY(" + l+')').transition(x.params.speed);}"custom" === x.params.paginationType && x.params.paginationCustomRender && (x.paginationContainer.html(x.params.paginationCustomRender(x, r + 1, a)), x.emit('onPaginationRendered', x, x.paginationContainer[0]));}x.params.loop || (x.params.prevButton && x.prevButton && x.prevButton.length > 0 && (x.isBeginning ? (x.prevButton.addClass(x.params.buttonDisabledClass), x.params.a11y && x.a11y && x.a11y.disable(x.prevButton)):(x.prevButton.removeClass(x.params.buttonDisabledClass), x.params.a11y && x.a11y && x.a11y.enable(x.prevButton))), x.params.nextButton && x.nextButton && x.nextButton.length > 0 && (x.isEnd ? (x.nextButton.addClass(x.params.buttonDisabledClass), x.params.a11y && x.a11y && x.a11y.disable(x.nextButton)):(x.nextButton.removeClass(x.params.buttonDisabledClass), x.params.a11y && x.a11y && x.a11y.enable(x.nextButton))));}, x.updatePagination = function() { if (x.params.pagination && x.paginationContainer && x.paginationContainer.length > 0) { var e=''; if ("bullets" === x.params.paginationType) { for (var t = x.params.loop ? Math.ceil((x.slides.length - 2 * x.loopedSlides) / x.params.slidesPerGroup):x.snapGrid.length, n = 0; t > n; n++)e += x.params.paginationBulletRender ? x.params.paginationBulletRender(n, x.params.bulletClass):"<" + x.params.paginationElement + ' class="' + x.params.bulletClass + '"></' + x.params.paginationElement+'>'; x.paginationContainer.html(e), x.bullets = x.paginationContainer.find("." + x.params.bulletClass), x.params.paginationClickable && x.params.a11y && x.a11y && x.a11y.initPagination();}"fraction" === x.params.paginationType && (e = x.params.paginationFractionRender ? x.params.paginationFractionRender(x, x.params.paginationCurrentClass, x.params.paginationTotalClass):'<span class="' + x.params.paginationCurrentClass + '"></span> / <span class="' + x.params.paginationTotalClass + '"></span>', x.paginationContainer.html(e)), "progress" === x.params.paginationType && (e = x.params.paginationProgressRender ? x.params.paginationProgressRender(x, x.params.paginationProgressbarClass):'<span class="' + x.params.paginationProgressbarClass + '"></span>', x.paginationContainer.html(e)), "custom" !== x.params.paginationType && x.emit('onPaginationRendered', x, x.paginationContainer[0]) } }, x.update = function(e) { function t() { i = Math.min(Math.max(x.translate, x.maxTranslate()), x.minTranslate()), x.setWrapperTranslate(i), x.updateActiveIndex(), x.updateClasses();} if (x.updateContainerSize(), x.updateSlidesSize(), x.updateProgress(), x.updatePagination(), x.updateClasses(), x.params.scrollbar && x.scrollbar && x.scrollbar.set(), e) { var n, i; x.controller && x.controller.spline && (x.controller.spline = void 0), x.params.freeMode ? (t(), x.params.autoHeight && x.updateAutoHeight()):(n = ("auto" === x.params.slidesPerView || x.params.slidesPerView > 1) && x.isEnd && !x.params.centeredSlides ? x.slideTo(x.slides.length - 1, 0, !1, !0):x.slideTo(x.activeIndex, 0, !1, !0), n || t());} else x.params.autoHeight && x.updateAutoHeight() }, x.onResize = function(e) { x.params.breakpoints && x.setBreakpoint(); var t = x.params.allowSwipeToPrev, n = x.params.allowSwipeToNext; x.params.allowSwipeToPrev = x.params.allowSwipeToNext = !0, x.updateContainerSize(), x.updateSlidesSize(), ("auto" === x.params.slidesPerView || x.params.freeMode || e) && x.updatePagination(), x.params.scrollbar && x.scrollbar && x.scrollbar.set(), x.controller && x.controller.spline && (x.controller.spline = void 0); var i = !1; if (x.params.freeMode) { var r = Math.min(Math.max(x.translate, x.maxTranslate()), x.minTranslate()); x.setWrapperTranslate(r), x.updateActiveIndex(), x.updateClasses(), x.params.autoHeight && x.updateAutoHeight();} else x.updateClasses(), i = ("auto" === x.params.slidesPerView || x.params.slidesPerView > 1) && x.isEnd && !x.params.centeredSlides ? x.slideTo(x.slides.length - 1, 0, !1, !0):x.slideTo(x.activeIndex, 0, !1, !0); x.params.lazyLoading && !i && x.lazy && x.lazy.load(), x.params.allowSwipeToPrev = t, x.params.allowSwipeToNext = n }; var T = ['mousedown','mousemove','mouseup']; window.navigator.pointerEnabled ? T = ['pointerdown','pointermove','pointerup']:window.navigator.msPointerEnabled && (T = ['MSPointerDown','MSPointerMove','MSPointerUp']), x.touchEvents = {start: x.support.touch || !x.params.simulateTouch?'touchstart':T[0], move: x.support.touch || !x.params.simulateTouch?'touchmove':T[1], end: x.support.touch || !x.params.simulateTouch?'touchend':T[2]}, (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) && ("container" === x.params.touchEventsTarget ? x.container:x.wrapper).addClass("swiper-wp8-" + x.params.direction), x.initEvents = function(e) { var t = e?'off':'on', n = e?'removeEventListener':'addEventListener', i = "container" === x.params.touchEventsTarget ? x.container[0]:x.wrapper[0], a = x.support.touch ? i:document, s = !!x.params.nested; x.browser.ie ? (i[n](x.touchEvents.start, x.onTouchStart, !1),
a[n](x.touchEvents.move, x.onTouchMove, s), a[n](x.touchEvents.end, x.onTouchEnd, !1)):(x.support.touch && (i[n](x.touchEvents.start, x.onTouchStart, !1), i[n](x.touchEvents.move, x.onTouchMove, s), i[n](x.touchEvents.end, x.onTouchEnd, !1)), !r.simulateTouch || x.device.ios || x.device.android || (i[n]('mousedown', x.onTouchStart, !1), document[n]('mousemove', x.onTouchMove, s), document[n]('mouseup', x.onTouchEnd, !1))), window[n]('resize', x.onResize), x.params.nextButton && x.nextButton && x.nextButton.length > 0 && (x.nextButton[t]('click', x.onClickNext), x.params.a11y && x.a11y && x.nextButton[t]('keydown', x.a11y.onEnterKey)), x.params.prevButton && x.prevButton && x.prevButton.length > 0 && (x.prevButton[t]('click', x.onClickPrev), x.params.a11y && x.a11y && x.prevButton[t]('keydown', x.a11y.onEnterKey)), x.params.pagination && x.params.paginationClickable && (x.paginationContainer[t]('click', "." + x.params.bulletClass, x.onClickIndex), x.params.a11y && x.a11y && x.paginationContainer[t]('keydown', "." + x.params.bulletClass, x.a11y.onEnterKey)), (x.params.preventClicks || x.params.preventClicksPropagation) && i[n]('click', x.preventClicks, !0);}, x.attachEvents = function() { x.initEvents() }, x.detachEvents = function() { x.initEvents(!0) }, x.allowClick = !0, x.preventClicks = function(e) { x.allowClick || (x.params.preventClicks && e.preventDefault(), x.params.preventClicksPropagation && x.animating && (e.stopPropagation(), e.stopImmediatePropagation())) }, x.onClickNext = function(e) { e.preventDefault(), x.isEnd && !x.params.loop || x.slideNext() }, x.onClickPrev = function(e) { e.preventDefault(), x.isBeginning && !x.params.loop || x.slidePrev() }, x.onClickIndex = function(e) { e.preventDefault(); var n = t(this).index() * x.params.slidesPerGroup; x.params.loop && (n += x.loopedSlides), x.slideTo(n) }, x.updateClickedSlide = function(e) { var n = o(e, "." + x.params.slideClass), i = !1; if (n) for (var r = 0; r < x.slides.length; r++)x.slides[r] === n && (i = !0); if (!n || !i) return x.clickedSlide = void 0, void(x.clickedIndex = void 0); if (x.clickedSlide = n, x.clickedIndex = t(n).index(), x.params.slideToClickedSlide && void 0 !== x.clickedIndex && x.clickedIndex !== x.activeIndex) { var a, s = x.clickedIndex; if (x.params.loop) { if (x.animating) return; a = t(x.clickedSlide).attr('data-swiper-slide-index'), x.params.centeredSlides ? s < x.loopedSlides - x.params.slidesPerView / 2 || s > x.slides.length - x.loopedSlides + x.params.slidesPerView / 2 ? (x.fixLoop(), s = x.wrapper.children("." + x.params.slideClass + '[data-swiper-slide-index="' + a + '"]:not(.swiper-slide-duplicate)').eq(0).index(), setTimeout(function() { x.slideTo(s);}, 0)):x.slideTo(s):s > x.slides.length - x.params.slidesPerView ? (x.fixLoop(), s = x.wrapper.children("." + x.params.slideClass + '[data-swiper-slide-index="' + a + '"]:not(.swiper-slide-duplicate)').eq(0).index(), setTimeout(function() { x.slideTo(s) }, 0)):x.slideTo(s);} else x.slideTo(s);} }; var C, S, E, A, k, P, M, D, z, N, I='input, select, textarea, button', L = Date.now(), H = []; x.animating = !1, x.touches = {startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0}; var O, B; if (x.onTouchStart = function(e) { if (e.originalEvent && (e = e.originalEvent), O = "touchstart" === e.type, O || !('which'in e) || 3 !== e.which) { if (x.params.noSwiping && o(e, "." + x.params.noSwipingClass)) return void(x.allowClick = !0); if (!x.params.swipeHandler || o(e, x.params.swipeHandler)) { var n = x.touches.currentX = "touchstart" === e.type ? e.targetTouches[0].pageX:e.pageX, i = x.touches.currentY = "touchstart" === e.type ? e.targetTouches[0].pageY:e.pageY; if (!(x.device.ios && x.params.iOSEdgeSwipeDetection && n <= x.params.iOSEdgeSwipeThreshold)) { if (C = !0, S = !1, E = !0, k = void 0, B = void 0, x.touches.startX = n, x.touches.startY = i, A = Date.now(), x.allowClick = !0, x.updateContainerSize(), x.swipeDirection = void 0, x.params.threshold > 0 && (D = !1), "touchstart" !== e.type) { var r = !0; t(e.target).is(I) && (r = !1), document.activeElement && t(document.activeElement).is(I) && document.activeElement.blur(), r && e.preventDefault() }x.emit('onTouchStart', x, e);} } } }, x.onTouchMove = function(e) { if (e.originalEvent && (e = e.originalEvent), !O || "mousemove" !== e.type) { if (e.preventedByNestedSwiper) return x.touches.startX = "touchmove" === e.type ? e.targetTouches[0].pageX:e.pageX, void(x.touches.startY = "touchmove" === e.type ? e.targetTouches[0].pageY:e.pageY); if (x.params.onlyExternal) return x.allowClick = !1, void(C && (x.touches.startX = x.touches.currentX = "touchmove" === e.type ? e.targetTouches[0].pageX:e.pageX, x.touches.startY = x.touches.currentY = "touchmove" === e.type ? e.targetTouches[0].pageY:e.pageY, A = Date.now())); if (O && document.activeElement && e.target === document.activeElement && t(e.target).is(I)) return S = !0, void(x.allowClick = !1); if (E && x.emit('onTouchMove', x, e), !(e.targetTouches && e.targetTouches.length > 1)) { if (x.touches.currentX = "touchmove" === e.type ? e.targetTouches[0].pageX:e.pageX, x.touches.currentY = "touchmove" === e.type ? e.targetTouches[0].pageY:e.pageY, "undefined" == typeof k) { var n = 180 * Math.atan2(Math.abs(x.touches.currentY - x.touches.startY), Math.abs(x.touches.currentX - x.touches.startX)) / Math.PI; k = x.isHorizontal() ? n > x.params.touchAngle:90 - n > x.params.touchAngle;} if (k && x.emit('onTouchMoveOpposite', x, e), "undefined" == typeof B && x.browser.ieTouch && (x.touches.currentX === x.touches.startX && x.touches.currentY === x.touches.startY || (B = !0)), C) { if (k) return void(C = !1); if (B || !x.browser.ieTouch) { x.allowClick = !1, x.emit('onSliderMove', x, e), e.preventDefault(), x.params.touchMoveStopPropagation && !x.params.nested && e.stopPropagation(), S || (r.loop && x.fixLoop(), M = x.getWrapperTranslate(), x.setWrapperTransition(0), x.animating && x.wrapper.trigger('webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd'), x.params.autoplay && x.autoplaying && (x.params.autoplayDisableOnInteraction ? x.stopAutoplay():x.pauseAutoplay()), N = !1, x.params.grabCursor && (x.container[0].style.cursor='move', x.container[0].style.cursor='-webkit-grabbing', x.container[0].style.cursor='-moz-grabbin', x.container[0].style.cursor='grabbing')), S = !0; var i = x.touches.diff = x.isHorizontal() ? x.touches.currentX - x.touches.startX:x.touches.currentY - x.touches.startY; i *= x.params.touchRatio, x.rtl && (i = -i), x.swipeDirection = i > 0?'prev':'next', P = i + M; var a = !0; if (i > 0 && P > x.minTranslate() ? (a = !1, x.params.resistance && (P = x.minTranslate() - 1 + Math.pow(-x.minTranslate() + M + i, x.params.resistanceRatio))):0 > i && P < x.maxTranslate() && (a = !1, x.params.resistance && (P = x.maxTranslate() + 1 - Math.pow(x.maxTranslate() - M - i, x.params.resistanceRatio))), a && (e.preventedByNestedSwiper = !0), !x.params.allowSwipeToNext && "next" === x.swipeDirection && M > P && (P = M), !x.params.allowSwipeToPrev && "prev" === x.swipeDirection && P > M && (P = M), x.params.followFinger) { if (x.params.threshold > 0) { if (!(Math.abs(i) > x.params.threshold || D)) return void(P = M); if (!D) return D = !0, x.touches.startX = x.touches.currentX, x.touches.startY = x.touches.currentY, P = M, void(x.touches.diff = x.isHorizontal() ? x.touches.currentX - x.touches.startX:x.touches.currentY - x.touches.startY);}(x.params.freeMode || x.params.watchSlidesProgress) && x.updateActiveIndex(), x.params.freeMode && (0 === H.length && H.push({position: x.touches[x.isHorizontal()?'startX':'startY'], time: A}), H.push({position: x.touches[x.isHorizontal()?'currentX':'currentY'], time: (new window.Date).getTime()})), x.updateProgress(P), x.setWrapperTranslate(P);} } } } } }, x.onTouchEnd = function(e) { if (e.originalEvent && (e = e.originalEvent), E && x.emit('onTouchEnd', x, e), E = !1, C) { x.params.grabCursor && S && C && (x.container[0].style.cursor='move', x.container[0].style.cursor='-webkit-grab', x.container[0].style.cursor='-moz-grab', x.container[0].style.cursor='grab'); var n = Date.now(), i = n - A; if (x.allowClick && (x.updateClickedSlide(e), x.emit('onTap', x, e), 300 > i && n - L > 300 && (z && clearTimeout(z), z = setTimeout(function() { x && (x.params.paginationHide && x.paginationContainer.length > 0 && !t(e.target).hasClass(x.params.bulletClass) && x.paginationContainer.toggleClass(x.params.paginationHiddenClass), x.emit('onClick', x, e)) }, 300)), 300 > i && 300 > n - L && (z && clearTimeout(z), x.emit('onDoubleTap', x, e))), L = Date.now(), setTimeout(function() { x && (x.allowClick = !0);}, 0), !C || !S || !x.swipeDirection || 0 === x.touches.diff || P === M) return void(C = S = !1); C = S = !1; var r; if (r = x.params.followFinger ? x.rtl ? x.translate:-x.translate:-P, x.params.freeMode) { if (r < -x.minTranslate()) return void x.slideTo(x.activeIndex); if (r > -x.maxTranslate()) return void(x.slides.length < x.snapGrid.length ? x.slideTo(x.snapGrid.length - 1):x.slideTo(x.slides.length - 1)); if (x.params.freeModeMomentum) { if (H.length > 1) { var a = H.pop(), s = H.pop(), o = a.position - s.position, l = a.time - s.time; x.velocity = o / l, x.velocity = x.velocity / 2, Math.abs(x.velocity) < x.params.freeModeMinimumVelocity && (x.velocity = 0), (l > 150 || (new window.Date).getTime() - a.time > 300) && (x.velocity = 0) } else x.velocity = 0; H.length = 0; var u = 1e3 * x.params.freeModeMomentumRatio, p = x.velocity * u, c = x.translate + p; x.rtl && (c = -c); var d, f = !1, h = 20 * Math.abs(x.velocity) * x.params.freeModeMomentumBounceRatio; if (c < x.maxTranslate())x.params.freeModeMomentumBounce ? (c + x.maxTranslate() < -h && (c = x.maxTranslate() - h), d = x.maxTranslate(), f = !0, N = !0):c = x.maxTranslate(); else if (c > x.minTranslate())x.params.freeModeMomentumBounce ? (c - x.minTranslate() > h && (c = x.minTranslate() + h), d = x.minTranslate(), f = !0, N = !0):c = x.minTranslate(); else if (x.params.freeModeSticky) { var m, g = 0; for (g = 0; g < x.snapGrid.length; g += 1) if (x.snapGrid[g] > -c) { m = g; break }c = Math.abs(x.snapGrid[m] - c) < Math.abs(x.snapGrid[m - 1] - c) || "next" === x.swipeDirection ? x.snapGrid[m]:x.snapGrid[m - 1], x.rtl || (c = -c);} if (0 !== x.velocity)u = x.rtl ? Math.abs((-c - x.translate) / x.velocity):Math.abs((c - x.translate) / x.velocity); else if (x.params.freeModeSticky) return void x.slideReset(); x.params.freeModeMomentumBounce && f ? (x.updateProgress(d), x.setWrapperTransition(u), x.setWrapperTranslate(c), x.onTransitionStart(), x.animating = !0, x.wrapper.transitionEnd(function() { x && N && (x.emit('onMomentumBounce', x), x.setWrapperTransition(x.params.speed), x.setWrapperTranslate(d), x.wrapper.transitionEnd(function() { x && x.onTransitionEnd();})) })):x.velocity ? (x.updateProgress(c), x.setWrapperTransition(u), x.setWrapperTranslate(c), x.onTransitionStart(), x.animating || (x.animating = !0, x.wrapper.transitionEnd(function() { x && x.onTransitionEnd();}))):x.updateProgress(c), x.updateActiveIndex();} return void((!x.params.freeModeMomentum || i >= x.params.longSwipesMs) && (x.updateProgress(), x.updateActiveIndex()));} var v, y = 0, w = x.slidesSizesGrid[0]; for (v = 0; v < x.slidesGrid.length; v += x.params.slidesPerGroup)"undefined" != typeof x.slidesGrid[v + x.params.slidesPerGroup] ? r >= x.slidesGrid[v] && r < x.slidesGrid[v + x.params.slidesPerGroup] && (y = v, w = x.slidesGrid[v + x.params.slidesPerGroup] - x.slidesGrid[v]):r >= x.slidesGrid[v] && (y = v, w = x.slidesGrid[x.slidesGrid.length - 1] - x.slidesGrid[x.slidesGrid.length - 2]); var b = (r - x.slidesGrid[y]) / w; if (i > x.params.longSwipesMs) { if (!x.params.longSwipes) return void x.slideTo(x.activeIndex); "next" === x.swipeDirection && (b >= x.params.longSwipesRatio ? x.slideTo(y + x.params.slidesPerGroup):x.slideTo(y)), "prev" === x.swipeDirection && (b > 1 - x.params.longSwipesRatio ? x.slideTo(y + x.params.slidesPerGroup):x.slideTo(y));} else { if (!x.params.shortSwipes) return void x.slideTo(x.activeIndex); "next" === x.swipeDirection && x.slideTo(y + x.params.slidesPerGroup), "prev" === x.swipeDirection && x.slideTo(y) } } }, x._slideTo = function(e, t) { return x.slideTo(e, t, !0, !0);}, x.slideTo = function(e, t, n, i) { "undefined" == typeof n && (n = !0), "undefined" == typeof e && (e = 0), 0 > e && (e = 0), x.snapIndex = Math.floor(e / x.params.slidesPerGroup), x.snapIndex >= x.snapGrid.length && (x.snapIndex = x.snapGrid.length - 1); var r = -x.snapGrid[x.snapIndex]; x.params.autoplay && x.autoplaying && (i || !x.params.autoplayDisableOnInteraction ? x.pauseAutoplay(t):x.stopAutoplay()), x.updateProgress(r); for (var a = 0; a < x.slidesGrid.length; a++)-Math.floor(100 * r) >= Math.floor(100 * x.slidesGrid[a]) && (e = a); return !x.params.allowSwipeToNext && r < x.translate && r < x.minTranslate() ? !1:!x.params.allowSwipeToPrev && r > x.translate && r > x.maxTranslate() && (x.activeIndex || 0) !== e ? !1:("undefined" == typeof t && (t = x.params.speed), x.previousIndex = x.activeIndex || 0, x.activeIndex = e, x.rtl && -r === x.translate || !x.rtl && r === x.translate ? (x.params.autoHeight && x.updateAutoHeight(), x.updateClasses(), "slide" !== x.params.effect && x.setWrapperTranslate(r), !1):(x.updateClasses(), x.onTransitionStart(n), 0 === t ? (x.setWrapperTranslate(r), x.setWrapperTransition(0), x.onTransitionEnd(n)):(x.setWrapperTranslate(r), x.setWrapperTransition(t), x.animating || (x.animating = !0, x.wrapper.transitionEnd(function() { x && x.onTransitionEnd(n);}))), !0));}, x.onTransitionStart = function(e) { "undefined" == typeof e && (e = !0), x.params.autoHeight && x.updateAutoHeight(), x.lazy && x.lazy.onTransitionStart(), e && (x.emit('onTransitionStart', x), x.activeIndex !== x.previousIndex && (x.emit('onSlideChangeStart', x), x.activeIndex > x.previousIndex ? x.emit('onSlideNextStart', x):x.emit('onSlidePrevStart', x)));}, x.onTransitionEnd = function(e) { x.animating = !1, x.setWrapperTransition(0), "undefined" == typeof e && (e = !0), x.lazy && x.lazy.onTransitionEnd(), e && (x.emit('onTransitionEnd', x), x.activeIndex !== x.previousIndex && (x.emit('onSlideChangeEnd', x), x.activeIndex > x.previousIndex ? x.emit('onSlideNextEnd', x):x.emit('onSlidePrevEnd', x))), x.params.hashnav && x.hashnav && x.hashnav.setHash();}, x.slideNext = function(e, t, n) { if (x.params.loop) { if (x.animating) return !1; x.fixLoop(); x.container[0].clientLeft; return x.slideTo(x.activeIndex + x.params.slidesPerGroup, t, e, n);} return x.slideTo(x.activeIndex + x.params.slidesPerGroup, t, e, n) }, x._slideNext = function(e) { return x.slideNext(!0, e, !0) }, x.slidePrev = function(e, t, n) { if (x.params.loop) { if (x.animating) return !1; x.fixLoop(); x.container[0].clientLeft; return x.slideTo(x.activeIndex - 1, t, e, n);} return x.slideTo(x.activeIndex - 1, t, e, n) }, x._slidePrev = function(e) { return x.slidePrev(!0, e, !0);}, x.slideReset = function(e, t, n) { return x.slideTo(x.activeIndex, t, e) }, x.setWrapperTransition = function(e, t) { x.wrapper.transition(e), "slide" !== x.params.effect && x.effects[x.params.effect] && x.effects[x.params.effect].setTransition(e), x.params.parallax && x.parallax && x.parallax.setTransition(e), x.params.scrollbar && x.scrollbar && x.scrollbar.setTransition(e), x.params.control && x.controller && x.controller.setTransition(e, t), x.emit('onSetTransition', x, e);}, x.setWrapperTranslate = function(e, t, n) { var i = 0, r = 0, s = 0; x.isHorizontal() ? i = x.rtl ? -e:e:r = e, x.params.roundLengths && (i = a(i), r = a(r)), x.params.virtualTranslate || (x.support.transforms3d ? x.wrapper.transform("translate3d(" + i + "px, " + r + "px, " + s+'px)'):x.wrapper.transform("translate(" + i + "px, " + r+'px)')), x.translate = x.isHorizontal() ? i:r; var o, l = x.maxTranslate() - x.minTranslate(); o = 0 === l ? 0:(e - x.minTranslate()) / l, o !== x.progress && x.updateProgress(e), t && x.updateActiveIndex(), "slide" !== x.params.effect && x.effects[x.params.effect] && x.effects[x.params.effect].setTranslate(x.translate), x.params.parallax && x.parallax && x.parallax.setTranslate(x.translate), x.params.scrollbar && x.scrollbar && x.scrollbar.setTranslate(x.translate), x.params.control && x.controller && x.controller.setTranslate(x.translate, n), x.emit('onSetTranslate', x, x.translate);}, x.getTranslate = function(e, t) { var n, i, r, a; return "undefined" == typeof t && (t='x'), x.params.virtualTranslate ? x.rtl ? -x.translate:x.translate:(r = window.getComputedStyle(e, null), window.WebKitCSSMatrix ? (i = r.transform || r.webkitTransform, i.split(',').length > 6 && (i = i.split(', ').map(function(e) { return e.replace(',','.') }).join(', ')), a = new window.WebKitCSSMatrix("none" === i?'':i)):(a = r.MozTransform || r.OTransform || r.MsTransform || r.msTransform || r.transform || r.getPropertyValue('transform').replace('translate(','matrix(1, 0, 0, 1,'), n = a.toString().split(',')), "x" === t && (i = window.WebKitCSSMatrix ? a.m41:16 === n.length ? parseFloat(n[12]):parseFloat(n[4])), "y" === t && (i = window.WebKitCSSMatrix ? a.m42:16 === n.length ? parseFloat(n[13]):parseFloat(n[5])), x.rtl && i && (i = -i), i || 0) }, x.getWrapperTranslate = function(e) { return "undefined" == typeof e && (e = x.isHorizontal()?'x':'y'), x.getTranslate(x.wrapper[0], e) }, x.observers = [], x.initObservers = function() { if (x.params.observeParents) for (var e = x.container.parents(), t = 0; t < e.length; t++)l(e[t]); l(x.container[0], {childList: !1}), l(x.wrapper[0], {attributes: !1});}, x.disconnectObservers = function() { for (var e = 0; e < x.observers.length; e++)x.observers[e].disconnect(); x.observers = [] }, x.createLoop = function() { x.wrapper.children("." + x.params.slideClass + "." + x.params.slideDuplicateClass).remove(); var e = x.wrapper.children("." + x.params.slideClass); "auto" !== x.params.slidesPerView || x.params.loopedSlides || (x.params.loopedSlides = e.length), x.loopedSlides = parseInt(x.params.loopedSlides || x.params.slidesPerView, 10), x.loopedSlides = x.loopedSlides + x.params.loopAdditionalSlides, x.loopedSlides > e.length && (x.loopedSlides = e.length); var n, i = [], r = []; for (e.each(function(n, a) { var s = t(this); n < x.loopedSlides && r.push(a), n < e.length && n >= e.length - x.loopedSlides && i.push(a), s.attr('data-swiper-slide-index', n) }), n = 0; n < r.length; n++)x.wrapper.append(t(r[n].cloneNode(!0)).addClass(x.params.slideDuplicateClass)); for (n = i.length - 1; n >= 0; n--)x.wrapper.prepend(t(i[n].cloneNode(!0)).addClass(x.params.slideDuplicateClass)) }, x.destroyLoop = function() { x.wrapper.children("." + x.params.slideClass + "." + x.params.slideDuplicateClass).remove(), x.slides.removeAttr('data-swiper-slide-index');}, x.reLoop = function(e) { var t = x.activeIndex - x.loopedSlides; x.destroyLoop(), x.createLoop(), x.updateSlidesSize(), e && x.slideTo(t + x.loopedSlides, 0, !1);}, x.fixLoop = function() { var e; x.activeIndex < x.loopedSlides ? (e = x.slides.length - 3 * x.loopedSlides + x.activeIndex, e += x.loopedSlides, x.slideTo(e, 0, !1, !0)):("auto" === x.params.slidesPerView && x.activeIndex >= 2 * x.loopedSlides || x.activeIndex > x.slides.length - 2 * x.params.slidesPerView) && (e = -x.slides.length + x.activeIndex + x.loopedSlides, e += x.loopedSlides, x.slideTo(e, 0, !1, !0));}, x.appendSlide = function(e) { if (x.params.loop && x.destroyLoop(), "object" == typeof e && e.length) for (var t = 0; t < e.length; t++)e[t] && x.wrapper.append(e[t]); else x.wrapper.append(e); x.params.loop && x.createLoop(), x.params.observer && x.support.observer || x.update(!0);}, x.prependSlide = function(e) { x.params.loop && x.destroyLoop(); var t = x.activeIndex + 1; if ("object" == typeof e && e.length) { for (var n = 0; n < e.length; n++)e[n] && x.wrapper.prepend(e[n]); t = x.activeIndex + e.length } else x.wrapper.prepend(e); x.params.loop && x.createLoop(), x.params.observer && x.support.observer || x.update(!0), x.slideTo(t, 0, !1);}, x.removeSlide = function(e) { x.params.loop && (x.destroyLoop(), x.slides = x.wrapper.children("." + x.params.slideClass)); var t, n = x.activeIndex; if ("object" == typeof e && e.length) { for (var i = 0; i < e.length; i++)t = e[i], x.slides[t] && x.slides.eq(t).remove(), n > t && n--; n = Math.max(n, 0) } else t = e, x.slides[t] && x.slides.eq(t).remove(), n > t && n--, n = Math.max(n, 0); x.params.loop && x.createLoop(), x.params.observer && x.support.observer || x.update(!0), x.params.loop ? x.slideTo(n + x.loopedSlides, 0, !1):x.slideTo(n, 0, !1);}, x.removeAllSlides = function() { for (var e = [], t = 0; t < x.slides.length; t++)e.push(t); x.removeSlide(e);}, x.effects = {fade: {setTranslate: function() { for (var e = 0; e < x.slides.length; e++) { var t = x.slides.eq(e), n = t[0].swiperSlideOffset, i = -n; x.params.virtualTranslate || (i -= x.translate); var r = 0; x.isHorizontal() || (r = i, i = 0); var a = x.params.fade.crossFade ? Math.max(1 - Math.abs(t[0].progress), 0):1 + Math.min(Math.max(t[0].progress, -1), 0); t.css({opacity: a}).transform("translate3d(" + i + "px, " + r+'px, 0px)');} }, setTransition: function(e) { if (x.slides.transition(e), x.params.virtualTranslate && 0 !== e) { var t = !1; x.slides.transitionEnd(function() { if (!t && x) { t = !0, x.animating = !1; for (var e = ['webkitTransitionEnd','transitionend','oTransitionEnd','MSTransitionEnd','msTransitionEnd'], n = 0; n < e.length; n++)x.wrapper.trigger(e[n]);} }) } }}, flip: {setTranslate: function() { for (var e = 0; e < x.slides.length; e++) { var n = x.slides.eq(e), i = n[0].progress; x.params.flip.limitRotation && (i = Math.max(Math.min(n[0].progress, 1), -1)); var r = n[0].swiperSlideOffset, a = -180 * i, s = a, o = 0, l = -r, u = 0; if (x.isHorizontal() ? x.rtl && (s = -s):(u = l, l = 0, o = -s, s = 0), n[0].style.zIndex = -Math.abs(Math.round(i)) + x.slides.length, x.params.flip.slideShadows) { var p = x.isHorizontal() ? n.find('.swiper-slide-shadow-left'):n.find('.swiper-slide-shadow-top'), c = x.isHorizontal() ? n.find('.swiper-slide-shadow-right'):n.find('.swiper-slide-shadow-bottom'); 0 === p.length && (p = t('<div class="swiper-slide-shadow-' + (x.isHorizontal()?'left':'top') + '"></div>'), n.append(p)), 0 === c.length && (c = t('<div class="swiper-slide-shadow-' + (x.isHorizontal()?'right':'bottom') + '"></div>'), n.append(c)), p.length && (p[0].style.opacity = Math.max(-i, 0)), c.length && (c[0].style.opacity = Math.max(i, 0));}n.transform("translate3d(" + l + "px, " + u + "px, 0px) rotateX(" + o + "deg) rotateY(" + s+'deg)');} }, setTransition: function(e) { if (x.slides.transition(e).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(e), x.params.virtualTranslate && 0 !== e) { var n = !1; x.slides.eq(x.activeIndex).transitionEnd(function() { if (!n && x && t(this).hasClass(x.params.slideActiveClass)) { n = !0, x.animating = !1; for (var e = ['webkitTransitionEnd','transitionend','oTransitionEnd','MSTransitionEnd','msTransitionEnd'], i = 0; i < e.length; i++)x.wrapper.trigger(e[i]);} });} }}, cube: {setTranslate: function() { var e, n = 0; x.params.cube.shadow && (x.isHorizontal() ? (e = x.wrapper.find('.swiper-cube-shadow'), 0 === e.length && (e = t('<div class="swiper-cube-shadow"></div>'), x.wrapper.append(e)), e.css({height: x.width+'px'})):(e = x.container.find('.swiper-cube-shadow'), 0 === e.length && (e = t('<div class="swiper-cube-shadow"></div>'), x.container.append(e)))); for (var i = 0; i < x.slides.length; i++) { var r = x.slides.eq(i), a = 90 * i, s = Math.floor(a / 360); x.rtl && (a = -a, s = Math.floor(-a / 360)); var o = Math.max(Math.min(r[0].progress, 1), -1), l = 0, u = 0, p = 0; i % 4 === 0 ? (l = 4 * -s * x.size, p = 0):(i - 1) % 4 === 0 ? (l = 0, p = 4 * -s * x.size):(i - 2) % 4 === 0 ? (l = x.size + 4 * s * x.size, p = x.size):(i - 3) % 4 === 0 && (l = -x.size, p = 3 * x.size + 4 * x.size * s), x.rtl && (l = -l), x.isHorizontal() || (u = l, l = 0); var c = "rotateX(" + (x.isHorizontal() ? 0:-a) + "deg) rotateY(" + (x.isHorizontal() ? a:0) + "deg) translate3d(" + l + "px, " + u + "px, " + p+'px)'; if (1 >= o && o > -1 && (n = 90 * i + 90 * o, x.rtl && (n = 90 * -i - 90 * o)), r.transform(c), x.params.cube.slideShadows) { var d = x.isHorizontal() ? r.find('.swiper-slide-shadow-left'):r.find('.swiper-slide-shadow-top'), f = x.isHorizontal() ? r.find('.swiper-slide-shadow-right'):r.find('.swiper-slide-shadow-bottom'); 0 === d.length && (d = t('<div class="swiper-slide-shadow-' + (x.isHorizontal()?'left':'top') + '"></div>'), r.append(d)), 0 === f.length && (f = t('<div class="swiper-slide-shadow-' + (x.isHorizontal()?'right':'bottom') + '"></div>'), r.append(f)), d.length && (d[0].style.opacity = Math.max(-o, 0)), f.length && (f[0].style.opacity = Math.max(o, 0));} } if (x.wrapper.css({'-webkit-transform-origin': "50% 50% -" + x.size / 2+'px','-moz-transform-origin': "50% 50% -" + x.size / 2+'px','-ms-transform-origin': "50% 50% -" + x.size / 2+'px','transform-origin': "50% 50% -" + x.size / 2+'px'}), x.params.cube.shadow) if (x.isHorizontal())e.transform("translate3d(0px, " + (x.width / 2 + x.params.cube.shadowOffset) + "px, " + -x.width / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + x.params.cube.shadowScale+')'); else { var h = Math.abs(n) - 90 * Math.floor(Math.abs(n) / 90), m = 1.5 - (Math.sin(2 * h * Math.PI / 360) / 2 + Math.cos(2 * h * Math.PI / 360) / 2), g = x.params.cube.shadowScale, v = x.params.cube.shadowScale / m, y = x.params.cube.shadowOffset; e.transform("scale3d(" + g + ", 1, " + v + ") translate3d(0px, " + (x.height / 2 + y) + "px, " + -x.height / 2 / v+'px) rotateX(-90deg)') } var w = x.isSafari || x.isUiWebView ? -x.size / 2:0; x.wrapper.transform("translate3d(0px,0," + w + "px) rotateX(" + (x.isHorizontal() ? 0:n) + "deg) rotateY(" + (x.isHorizontal() ? -n:0)+'deg)') }, setTransition: function(e) { x.slides.transition(e).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(e), x.params.cube.shadow && !x.isHorizontal() && x.container.find('.swiper-cube-shadow').transition(e) }}, coverflow: {setTranslate: function() { for (var e = x.translate, n = x.isHorizontal() ? -e + x.width / 2:-e + x.height / 2, i = x.isHorizontal() ? x.params.coverflow.rotate:-x.params.coverflow.rotate, r = x.params.coverflow.depth, a = 0, s = x.slides.length; s > a; a++) { var o = x.slides.eq(a), l = x.slidesSizesGrid[a], u = o[0].swiperSlideOffset, p = (n - u - l / 2) / l * x.params.coverflow.modifier, c = x.isHorizontal() ? i * p:0, d = x.isHorizontal() ? 0:i * p, f = -r * Math.abs(p), h = x.isHorizontal() ? 0:x.params.coverflow.stretch * p, m = x.isHorizontal() ? x.params.coverflow.stretch * p:0; Math.abs(m) < .001 && (m = 0), Math.abs(h) < .001 && (h = 0), Math.abs(f) < .001 && (f = 0), Math.abs(c) < .001 && (c = 0), Math.abs(d) < .001 && (d = 0); var g = "translate3d(" + m + "px," + h + "px," + f + "px)  rotateX(" + d + "deg) rotateY(" + c+'deg)'; if (o.transform(g), o[0].style.zIndex = -Math.abs(Math.round(p)) + 1, x.params.coverflow.slideShadows) { var v = x.isHorizontal() ? o.find('.swiper-slide-shadow-left'):o.find('.swiper-slide-shadow-top'), y = x.isHorizontal() ? o.find('.swiper-slide-shadow-right'):o.find('.swiper-slide-shadow-bottom'); 0 === v.length && (v = t('<div class="swiper-slide-shadow-' + (x.isHorizontal()?'left':'top') + '"></div>'), o.append(v)), 0 === y.length && (y = t('<div class="swiper-slide-shadow-' + (x.isHorizontal()?'right':'bottom') + '"></div>'), o.append(y)), v.length && (v[0].style.opacity = p > 0 ? p:0), y.length && (y[0].style.opacity = -p > 0 ? -p:0);} } if (x.browser.ie) { var w = x.wrapper[0].style; w.perspectiveOrigin = n + "px 50%";} }, setTransition: function(e) { x.slides.transition(e).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(e);}}}, x.lazy = {initialImageLoaded: !1, loadImageInSlide: function(e, n) { if ("undefined" != typeof e && ("undefined" == typeof n && (n = !0), 0 !== x.slides.length)) { var i = x.slides.eq(e), r = i.find('.swiper-lazy:not(.swiper-lazy-loaded):not(.swiper-lazy-loading)'); !i.hasClass('swiper-lazy') || i.hasClass('swiper-lazy-loaded') || i.hasClass('swiper-lazy-loading') || (r = r.add(i[0])), 0 !== r.length && r.each(function() { var e = t(this); e.addClass('swiper-lazy-loading'); var r = e.attr('data-background'), a = e.attr('data-src'), s = e.attr('data-srcset'); x.loadImage(e[0], a || r, s, !1, function() { if (r ? (e.css('background-image', 'url("' + r + '")'), e.removeAttr('data-background')):(s && (e.attr('srcset', s), e.removeAttr('data-srcset')), a && (e.attr('src', a), e.removeAttr('data-src'))), e.addClass('swiper-lazy-loaded').removeClass('swiper-lazy-loading'), i.find('.swiper-lazy-preloader, .preloader').remove(), x.params.loop && n) { var t = i.attr('data-swiper-slide-index'); if (i.hasClass(x.params.slideDuplicateClass)) { var o = x.wrapper.children('[data-swiper-slide-index="' + t + '"]:not(.' + x.params.slideDuplicateClass+')'); x.lazy.loadImageInSlide(o.index(), !1) } else { var l = x.wrapper.children("." + x.params.slideDuplicateClass + '[data-swiper-slide-index="' + t + '"]'); x.lazy.loadImageInSlide(l.index(), !1);} }x.emit('onLazyImageReady', x, i[0], e[0]) }), x.emit('onLazyImageLoad', x, i[0], e[0]) });} }, load: function() { var e; if (x.params.watchSlidesVisibility)x.wrapper.children("." + x.params.slideVisibleClass).each(function() { x.lazy.loadImageInSlide(t(this).index()) }); else if (x.params.slidesPerView > 1) for (e = x.activeIndex; e < x.activeIndex + x.params.slidesPerView; e++)x.slides[e] && x.lazy.loadImageInSlide(e); else x.lazy.loadImageInSlide(x.activeIndex); if (x.params.lazyLoadingInPrevNext) if (x.params.slidesPerView > 1 || x.params.lazyLoadingInPrevNextAmount && x.params.lazyLoadingInPrevNextAmount > 1) { var n = x.params.lazyLoadingInPrevNextAmount, i = x.params.slidesPerView, r = Math.min(x.activeIndex + i + Math.max(n, i), x.slides.length), a = Math.max(x.activeIndex - Math.max(i, n), 0); for (e = x.activeIndex + x.params.slidesPerView; r > e; e++)x.slides[e] && x.lazy.loadImageInSlide(e); for (e = a; e < x.activeIndex; e++)x.slides[e] && x.lazy.loadImageInSlide(e);} else { var s = x.wrapper.children("." + x.params.slideNextClass); s.length > 0 && x.lazy.loadImageInSlide(s.index()); var o = x.wrapper.children("." + x.params.slidePrevClass); o.length > 0 && x.lazy.loadImageInSlide(o.index()) } }, onTransitionStart: function() { x.params.lazyLoading && (x.params.lazyLoadingOnTransitionStart || !x.params.lazyLoadingOnTransitionStart && !x.lazy.initialImageLoaded) && x.lazy.load() }, onTransitionEnd: function() { x.params.lazyLoading && !x.params.lazyLoadingOnTransitionStart && x.lazy.load() }}, x.scrollbar = {isTouched: !1, setDragPosition: function(e) { var t = x.scrollbar, n = x.isHorizontal() ? "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageX:e.pageX || e.clientX:"touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageY:e.pageY || e.clientY, i = n - t.track.offset()[x.isHorizontal()?'left':'top'] - t.dragSize / 2, r = -x.minTranslate() * t.moveDivider, a = -x.maxTranslate() * t.moveDivider; r > i ? i = r:i > a && (i = a), i = -i / t.moveDivider, x.updateProgress(i), x.setWrapperTranslate(i, !0) }, dragStart: function(e) { var t = x.scrollbar; t.isTouched = !0, e.preventDefault(), e.stopPropagation(), t.setDragPosition(e), clearTimeout(t.dragTimeout), t.track.transition(0), x.params.scrollbarHide && t.track.css('opacity', 1), x.wrapper.transition(100), t.drag.transition(100), x.emit('onScrollbarDragStart', x) }, dragMove: function(e) { var t = x.scrollbar; t.isTouched && (e.preventDefault ? e.preventDefault():e.returnValue = !1, t.setDragPosition(e), x.wrapper.transition(0), t.track.transition(0), t.drag.transition(0), x.emit('onScrollbarDragMove', x));}, dragEnd: function(e) { var t = x.scrollbar; t.isTouched && (t.isTouched = !1, x.params.scrollbarHide && (clearTimeout(t.dragTimeout), t.dragTimeout = setTimeout(function() { t.track.css('opacity', 0), t.track.transition(400);}, 1e3)), x.emit('onScrollbarDragEnd', x), x.params.scrollbarSnapOnRelease && x.slideReset()) }, enableDraggable: function() { var e = x.scrollbar, n = x.support.touch ? e.track:document; t(e.track).on(x.touchEvents.start, e.dragStart), t(n).on(x.touchEvents.move, e.dragMove), t(n).on(x.touchEvents.end, e.dragEnd);}, disableDraggable: function() { var e = x.scrollbar, n = x.support.touch ? e.track:document; t(e.track).off(x.touchEvents.start, e.dragStart), t(n).off(x.touchEvents.move, e.dragMove), t(n).off(x.touchEvents.end, e.dragEnd) }, set: function() { if (x.params.scrollbar) { var e = x.scrollbar; e.track = t(x.params.scrollbar), x.params.uniqueNavElements && "string" == typeof x.params.scrollbar && e.track.length > 1 && 1 === x.container.find(x.params.scrollbar).length && (e.track = x.container.find(x.params.scrollbar)), e.drag = e.track.find('.swiper-scrollbar-drag'), 0 === e.drag.length && (e.drag = t('<div class="swiper-scrollbar-drag"></div>'), e.track.append(e.drag)), e.drag[0].style.width='', e.drag[0].style.height='', e.trackSize = x.isHorizontal() ? e.track[0].offsetWidth:e.track[0].offsetHeight, e.divider = x.size / x.virtualSize, e.moveDivider = e.divider * (e.trackSize / x.size), e.dragSize = e.trackSize * e.divider, x.isHorizontal() ? e.drag[0].style.width = e.dragSize+'px':e.drag[0].style.height = e.dragSize+'px', e.divider >= 1 ? e.track[0].style.display='none':e.track[0].style.display='', x.params.scrollbarHide && (e.track[0].style.opacity = 0) } }, setTranslate: function() { if (x.params.scrollbar) { var e, t = x.scrollbar, n = (x.translate || 0, t.dragSize); e = (t.trackSize - t.dragSize) * x.progress, x.rtl && x.isHorizontal() ? (e = -e, e > 0 ? (n = t.dragSize - e, e = 0):-e + t.dragSize > t.trackSize && (n = t.trackSize + e)):0 > e ? (n = t.dragSize + e, e = 0):e + t.dragSize > t.trackSize && (n = t.trackSize - e), x.isHorizontal() ? (x.support.transforms3d ? t.drag.transform("translate3d(" + e+'px, 0, 0)'):t.drag.transform("translateX(" + e+'px)'), t.drag[0].style.width = n+'px'):(x.support.transforms3d ? t.drag.transform("translate3d(0px, " + e+'px, 0)'):t.drag.transform("translateY(" + e+'px)'), t.drag[0].style.height = n+'px'), x.params.scrollbarHide && (clearTimeout(t.timeout), t.track[0].style.opacity = 1, t.timeout = setTimeout(function() { t.track[0].style.opacity = 0, t.track.transition(400);}, 1e3));} }, setTransition: function(e) { x.params.scrollbar && x.scrollbar.drag.transition(e);}}, x.controller = {LinearSpline: function(e, t) { this.x = e, this.y = t, this.lastIndex = e.length - 1; var n, i; this.x.length; this.interpolate = function(e) { return e ? (i = r(this.x, e), n = i - 1, (e - this.x[n]) * (this.y[i] - this.y[n]) / (this.x[i] - this.x[n]) + this.y[n]):0 }; var r = function() { var e, t, n; return function(i, r) { for (t = -1, e = i.length; e - t > 1;)i[n = e + t >> 1] <= r ? t = n:e = n; return e;} }() }, getInterpolateFunction: function(e) { x.controller.spline || (x.controller.spline = x.params.loop ? new x.controller.LinearSpline(x.slidesGrid, e.slidesGrid):new x.controller.LinearSpline(x.snapGrid, e.snapGrid));}, setTranslate: function(e, t) { function i(t) { e = t.rtl && "horizontal" === t.params.direction ? -x.translate:x.translate, "slide" === x.params.controlBy && (x.controller.getInterpolateFunction(t), a = -x.controller.spline.interpolate(-e)), a && "container" !== x.params.controlBy || (r = (t.maxTranslate() - t.minTranslate()) / (x.maxTranslate() - x.minTranslate()), a = (e - x.minTranslate()) * r + t.minTranslate()), x.params.controlInverse && (a = t.maxTranslate() - a), t.updateProgress(a), t.setWrapperTranslate(a, !1, x), t.updateActiveIndex();} var r, a, s = x.params.control; if (x.isArray(s)) for (var o = 0; o < s.length; o++)s[o] !== t && s[o]instanceof n && i(s[o]); else s instanceof n && t !== s && i(s);}, setTransition: function(e, t) { function i(t) { t.setWrapperTransition(e, x),
0 !== e && (t.onTransitionStart(), t.wrapper.transitionEnd(function() { a && (t.params.loop && "slide" === x.params.controlBy && t.fixLoop(), t.onTransitionEnd()) }));} var r, a = x.params.control; if (x.isArray(a)) for (r = 0; r < a.length; r++)a[r] !== t && a[r]instanceof n && i(a[r]); else a instanceof n && t !== a && i(a);}}, x.hashnav = {init: function() { if (x.params.hashnav) { x.hashnav.initialized = !0; var e = document.location.hash.replace('#',''); if (e) for (var t = 0, n = 0, i = x.slides.length; i > n; n++) { var r = x.slides.eq(n), a = r.attr('data-hash'); if (a === e && !r.hasClass(x.params.slideDuplicateClass)) { var s = r.index(); x.slideTo(s, t, x.params.runCallbacksOnInit, !0);} } } }, setHash: function() { x.hashnav.initialized && x.params.hashnav && (document.location.hash = x.slides.eq(x.activeIndex).attr('data-hash')||'') }}, x.disableKeyboardControl = function() { x.params.keyboardControl = !1, t(document).off('keydown', u) }, x.enableKeyboardControl = function() { x.params.keyboardControl = !0, t(document).on('keydown', u) }, x.mousewheel = {event: !1, lastScrollTime: (new window.Date).getTime()}, x.params.mousewheelControl) { try { new window.WheelEvent('wheel'), x.mousewheel.event = "wheel";} catch (R) { (window.WheelEvent || x.container[0]&&'wheel'in x.container[0]) && (x.mousewheel.event='wheel') }!x.mousewheel.event && window.WheelEvent, x.mousewheel.event || void 0 === document.onmousewheel || (x.mousewheel.event='mousewheel'), x.mousewheel.event || (x.mousewheel.event='DOMMouseScroll') }x.disableMousewheelControl = function() { return x.mousewheel.event ? (x.container.off(x.mousewheel.event, p), !0):!1 }, x.enableMousewheelControl = function() { return x.mousewheel.event ? (x.container.on(x.mousewheel.event, p), !0):!1 }, x.parallax = {setTranslate: function() { x.container.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function() { c(this, x.progress) }), x.slides.each(function() { var e = t(this); e.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function() { var t = Math.min(Math.max(e[0].progress, -1), 1); c(this, t);}) });}, setTransition: function(e) { "undefined" == typeof e && (e = x.params.speed), x.container.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function() { var n = t(this), i = parseInt(n.attr('data-swiper-parallax-duration'), 10) || e; 0 === e && (i = 0), n.transition(i) }) }}, x._plugins = []; for (var q in x.plugins) { var j = x.plugins[q](x, x.params[q]); j && x._plugins.push(j) } return x.callPlugins = function(e) { for (var t = 0; t < x._plugins.length; t++)e in x._plugins[t] && x._plugins[t][e](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]) }, x.emitterEventListeners = {}, x.emit = function(e) { x.params[e] && x.params[e](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); var t; if (x.emitterEventListeners[e]) for (t = 0; t < x.emitterEventListeners[e].length; t++)x.emitterEventListeners[e][t](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); x.callPlugins && x.callPlugins(e, arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);}, x.on = function(e, t) { return e = d(e), x.emitterEventListeners[e] || (x.emitterEventListeners[e] = []), x.emitterEventListeners[e].push(t), x;}, x.off = function(e, t) { var n; if (e = d(e), "undefined" == typeof t) return x.emitterEventListeners[e] = [], x; if (x.emitterEventListeners[e] && 0 !== x.emitterEventListeners[e].length) { for (n = 0; n < x.emitterEventListeners[e].length; n++)x.emitterEventListeners[e][n] === t && x.emitterEventListeners[e].splice(n, 1); return x } }, x.once = function(e, t) { e = d(e); var n = function() { t(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]), x.off(e, n);}; return x.on(e, n), x;}, x.a11y = {makeFocusable: function(e) { return e.attr('tabIndex','0'), e }, addRole: function(e, t) { return e.attr('role', t), e }, addLabel: function(e, t) { return e.attr('aria-label', t), e;}, disable: function(e) { return e.attr('aria-disabled', !0), e;}, enable: function(e) { return e.attr('aria-disabled', !1), e;}, onEnterKey: function(e) { 13 === e.keyCode && (t(e.target).is(x.params.nextButton) ? (x.onClickNext(e), x.isEnd ? x.a11y.notify(x.params.lastSlideMessage):x.a11y.notify(x.params.nextSlideMessage)):t(e.target).is(x.params.prevButton) && (x.onClickPrev(e), x.isBeginning ? x.a11y.notify(x.params.firstSlideMessage):x.a11y.notify(x.params.prevSlideMessage)), t(e.target).is("." + x.params.bulletClass) && t(e.target)[0].click());}, liveRegion: t('<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>'), notify: function(e) { var t = x.a11y.liveRegion; 0 !== t.length && (t.html(''), t.html(e)) }, init: function() { x.params.nextButton && x.nextButton && x.nextButton.length > 0 && (x.a11y.makeFocusable(x.nextButton), x.a11y.addRole(x.nextButton,'button'), x.a11y.addLabel(x.nextButton, x.params.nextSlideMessage)), x.params.prevButton && x.prevButton && x.prevButton.length > 0 && (x.a11y.makeFocusable(x.prevButton), x.a11y.addRole(x.prevButton,'button'), x.a11y.addLabel(x.prevButton, x.params.prevSlideMessage)), t(x.container).append(x.a11y.liveRegion) }, initPagination: function() { x.params.pagination && x.params.paginationClickable && x.bullets && x.bullets.length && x.bullets.each(function() { var e = t(this); x.a11y.makeFocusable(e), x.a11y.addRole(e,'button'), x.a11y.addLabel(e, x.params.paginationBulletMessage.replace(/{{index}}/, e.index() + 1));});}, destroy: function() { x.a11y.liveRegion && x.a11y.liveRegion.length > 0 && x.a11y.liveRegion.remove() }}, x.init = function() { x.params.loop && x.createLoop(), x.updateContainerSize(), x.updateSlidesSize(), x.updatePagination(), x.params.scrollbar && x.scrollbar && (x.scrollbar.set(), x.params.scrollbarDraggable && x.scrollbar.enableDraggable()), "slide" !== x.params.effect && x.effects[x.params.effect] && (x.params.loop || x.updateProgress(), x.effects[x.params.effect].setTranslate()), x.params.loop ? x.slideTo(x.params.initialSlide + x.loopedSlides, 0, x.params.runCallbacksOnInit):(x.slideTo(x.params.initialSlide, 0, x.params.runCallbacksOnInit), 0 === x.params.initialSlide && (x.parallax && x.params.parallax && x.parallax.setTranslate(), x.lazy && x.params.lazyLoading && (x.lazy.load(), x.lazy.initialImageLoaded = !0))), x.attachEvents(), x.params.observer && x.support.observer && x.initObservers(), x.params.preloadImages && !x.params.lazyLoading && x.preloadImages(), x.params.autoplay && x.startAutoplay(), x.params.keyboardControl && x.enableKeyboardControl && x.enableKeyboardControl(), x.params.mousewheelControl && x.enableMousewheelControl && x.enableMousewheelControl(), x.params.hashnav && x.hashnav && x.hashnav.init(), x.params.a11y && x.a11y && x.a11y.init(), x.emit('onInit', x) }, x.cleanupStyles = function() { x.container.removeClass(x.classNames.join(' ')).removeAttr('style'), x.wrapper.removeAttr('style'), x.slides && x.slides.length && x.slides.removeClass([x.params.slideVisibleClass, x.params.slideActiveClass, x.params.slideNextClass, x.params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-column').removeAttr('data-swiper-row'), x.paginationContainer && x.paginationContainer.length && x.paginationContainer.removeClass(x.params.paginationHiddenClass), x.bullets && x.bullets.length && x.bullets.removeClass(x.params.bulletActiveClass), x.params.prevButton && t(x.params.prevButton).removeClass(x.params.buttonDisabledClass), x.params.nextButton && t(x.params.nextButton).removeClass(x.params.buttonDisabledClass), x.params.scrollbar && x.scrollbar && (x.scrollbar.track && x.scrollbar.track.length && x.scrollbar.track.removeAttr('style'), x.scrollbar.drag && x.scrollbar.drag.length && x.scrollbar.drag.removeAttr('style'));}, x.destroy = function(e, t) { x.detachEvents(), x.stopAutoplay(), x.params.scrollbar && x.scrollbar && x.params.scrollbarDraggable && x.scrollbar.disableDraggable(), x.params.loop && x.destroyLoop(), t && x.cleanupStyles(), x.disconnectObservers(), x.params.keyboardControl && x.disableKeyboardControl && x.disableKeyboardControl(), x.params.mousewheelControl && x.disableMousewheelControl && x.disableMousewheelControl(), x.params.a11y && x.a11y && x.a11y.destroy(), x.emit('onDestroy'), e !== !1 && (x = null);}, x.init(), x;} }; n.prototype = {isSafari: function() { var e = navigator.userAgent.toLowerCase(); return e.indexOf('safari') >= 0 && e.indexOf('chrome') < 0 && e.indexOf('android') < 0;}(), isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent), isArray: function(e) { return "[object Array]" === Object.prototype.toString.apply(e) }, browser: {ie: window.navigator.pointerEnabled || window.navigator.msPointerEnabled, ieTouch: window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 1 || window.navigator.pointerEnabled && window.navigator.maxTouchPoints > 1}, device: function() { var e = navigator.userAgent, t = e.match(/(Android);?[\s\/]+([\d.]+)?/), n = e.match(/(iPad).*OS\s([\d_]+)/), i = e.match(/(iPod)(.*OS\s([\d_]+))?/), r = !n && e.match(/(iPhone\sOS)\s([\d_]+)/); return {ios: n || r || i, android: t} }(), support: {touch: window.Modernizr && Modernizr.touch === !0 || function() { return !!('ontouchstart'in window || window.DocumentTouch && document instanceof DocumentTouch) }(), transforms3d: window.Modernizr && Modernizr.csstransforms3d === !0 || function() { var e = document.createElement('div').style; return'webkitPerspective'in e||'MozPerspective'in e||'OPerspective'in e||'MsPerspective'in e||'perspective'in e;}(), flexbox: function() { for (var e = document.createElement('div').style, t='alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient'.split(' '), n = 0; n < t.length; n++) if (t[n]in e) return !0;}(), observer: function() { return'MutationObserver'in window||'WebkitMutationObserver'in window }()}, plugins: {}}; for (var i = (function() { var e = function(e) { var t = this, n = 0; for (n = 0; n < e.length; n++)t[n] = e[n]; return t.length = e.length, this;}, t = function(t, n) { var i = [], r = 0; if (t && !n && t instanceof e) return t; if (t) if ("string" == typeof t) { var a, s, o = t.trim(); if (o.indexOf('<') >= 0 && o.indexOf('>') >= 0) { var l='div'; for (0 === o.indexOf('<li') && (l='ul'), 0 === o.indexOf('<tr') && (l='tbody'), 0 !== o.indexOf('<td') && 0 !== o.indexOf('<th') || (l='tr'), 0 === o.indexOf('<tbody') && (l='table'), 0 === o.indexOf('<option') && (l='select'), s = document.createElement(l), s.innerHTML = t, r = 0; r < s.childNodes.length; r++)i.push(s.childNodes[r]);} else for (a = n || "#" !== t[0] || t.match(/[ .<>:~]/) ? (n || document).querySelectorAll(t):[document.getElementById(t.split('#')[1])], r = 0; r < a.length; r++)a[r] && i.push(a[r]);} else if (t.nodeType || t === window || t === document)i.push(t); else if (t.length > 0 && t[0].nodeType) for (r = 0; r < t.length; r++)i.push(t[r]); return new e(i) }; return e.prototype = {addClass: function(e) { if ("undefined" == typeof e) return this; for (var t = e.split(' '), n = 0; n < t.length; n++) for (var i = 0; i < this.length; i++) this[i].classList.add(t[n]); return this }, removeClass: function(e) { for (var t = e.split(' '), n = 0; n < t.length; n++) for (var i = 0; i < this.length; i++) this[i].classList.remove(t[n]); return this }, hasClass: function(e) { return this[0] ? this[0].classList.contains(e):!1;}, toggleClass: function(e) { for (var t = e.split(' '), n = 0; n < t.length; n++) for (var i = 0; i < this.length; i++) this[i].classList.toggle(t[n]); return this }, attr: function(e, t) { if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e):void 0; for (var n = 0; n < this.length; n++) if (2 === arguments.length) this[n].setAttribute(e, t); else for (var i in e) this[n][i] = e[i], this[n].setAttribute(i, e[i]); return this }, removeAttr: function(e) { for (var t = 0; t < this.length; t++) this[t].removeAttribute(e); return this;}, data: function(e, t) { if ("undefined" != typeof t) { for (var n = 0; n < this.length; n++) { var i = this[n]; i.dom7ElementDataStorage || (i.dom7ElementDataStorage = {}), i.dom7ElementDataStorage[e] = t } return this } if (this[0]) { var r = this[0].getAttribute("data-" + e); return r ? r:this[0].dom7ElementDataStorage && e in this[0].dom7ElementDataStorage ? this[0].dom7ElementDataStorage[e]:void 0 } }, transform: function(e) { for (var t = 0; t < this.length; t++) { var n = this[t].style; n.webkitTransform = n.MsTransform = n.msTransform = n.MozTransform = n.OTransform = n.transform = e;} return this;}, transition: function(e) { "string" != typeof e && (e+='ms'); for (var t = 0; t < this.length; t++) { var n = this[t].style; n.webkitTransitionDuration = n.MsTransitionDuration = n.msTransitionDuration = n.MozTransitionDuration = n.OTransitionDuration = n.transitionDuration = e;} return this }, on: function(e, n, i, r) { function a(e) { var r = e.target; if (t(r).is(n))i.call(r, e); else for (var a = t(r).parents(), s = 0; s < a.length; s++)t(a[s]).is(n) && i.call(a[s], e);} var s, o, l = e.split(' '); for (s = 0; s < this.length; s++) if ("function" == typeof n || n === !1) for ("function" == typeof n && (i = arguments[1], r = arguments[2] || !1), o = 0; o < l.length; o++) this[s].addEventListener(l[o], i, r); else for (o = 0; o < l.length; o++) this[s].dom7LiveListeners || (this[s].dom7LiveListeners = []), this[s].dom7LiveListeners.push({listener: i, liveListener: a}), this[s].addEventListener(l[o], a, r); return this }, off: function(e, t, n, i) { for (var r = e.split(' '), a = 0; a < r.length; a++) for (var s = 0; s < this.length; s++) if ("function" == typeof t || t === !1)"function" == typeof t && (n = arguments[1], i = arguments[2] || !1), this[s].removeEventListener(r[a], n, i); else if (this[s].dom7LiveListeners) for (var o = 0; o < this[s].dom7LiveListeners.length; o++) this[s].dom7LiveListeners[o].listener === n && this[s].removeEventListener(r[a], this[s].dom7LiveListeners[o].liveListener, i); return this;}, once: function(e, t, n, i) { function r(s) { n(s), a.off(e, t, r, i) } var a = this; "function" == typeof t && (t = !1, n = arguments[1], i = arguments[2]), a.on(e, t, r, i);}, trigger: function(e, t) { for (var n = 0; n < this.length; n++) { var i; try { i = new window.CustomEvent(e, {detail: t, bubbles: !0, cancelable: !0});} catch (r) { i = document.createEvent('Event'), i.initEvent(e, !0, !0), i.detail = t } this[n].dispatchEvent(i);} return this }, transitionEnd: function(e) { function t(a) { if (a.target === this) for (e.call(this, a), n = 0; n < i.length; n++)r.off(i[n], t);} var n, i = ['webkitTransitionEnd','transitionend','oTransitionEnd','MSTransitionEnd','msTransitionEnd'], r = this; if (e) for (n = 0; n < i.length; n++)r.on(i[n], t); return this;}, width: function() { return this[0] === window ? window.innerWidth:this.length > 0 ? parseFloat(this.css('width')):null }, outerWidth: function(e) { return this.length > 0 ? e ? this[0].offsetWidth + parseFloat(this.css('margin-right')) + parseFloat(this.css('margin-left')):this[0].offsetWidth:null;}, height: function() { return this[0] === window ? window.innerHeight:this.length > 0 ? parseFloat(this.css('height')):null;}, outerHeight: function(e) { return this.length > 0 ? e ? this[0].offsetHeight + parseFloat(this.css('margin-top')) + parseFloat(this.css('margin-bottom')):this[0].offsetHeight:null;}, offset: function() { if (this.length > 0) { var e = this[0], t = e.getBoundingClientRect(), n = document.body, i = e.clientTop || n.clientTop || 0, r = e.clientLeft || n.clientLeft || 0, a = window.pageYOffset || e.scrollTop, s = window.pageXOffset || e.scrollLeft; return {top: t.top + a - i, left: t.left + s - r};} return null;}, css: function(e, t) { var n; if (1 === arguments.length) { if ("string" != typeof e) { for (n = 0; n < this.length; n++) for (var i in e) this[n].style[i] = e[i]; return this } if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(e);} if (2 === arguments.length && "string" == typeof e) { for (n = 0; n < this.length; n++) this[n].style[e] = t; return this;} return this }, each: function(e) { for (var t = 0; t < this.length; t++)e.call(this[t], t, this[t]); return this;}, html: function(e) { if ("undefined" == typeof e) return this[0] ? this[0].innerHTML:void 0; for (var t = 0; t < this.length; t++) this[t].innerHTML = e; return this }, text: function(e) { if ("undefined" == typeof e) return this[0] ? this[0].textContent.trim():null; for (var t = 0; t < this.length; t++) this[t].textContent = e; return this;}, is: function(n) { if (!this[0]) return !1; var i, r; if ("string" == typeof n) { var a = this[0]; if (a === document) return n === document; if (a === window) return n === window; if (a.matches) return a.matches(n); if (a.webkitMatchesSelector) return a.webkitMatchesSelector(n); if (a.mozMatchesSelector) return a.mozMatchesSelector(n); if (a.msMatchesSelector) return a.msMatchesSelector(n); for (i = t(n), r = 0; r < i.length; r++) if (i[r] === this[0]) return !0; return !1;} if (n === document) return this[0] === document; if (n === window) return this[0] === window; if (n.nodeType || n instanceof e) { for (i = n.nodeType ? [n]:n, r = 0; r < i.length; r++) if (i[r] === this[0]) return !0; return !1 } return !1;}, index: function() { if (this[0]) { for (var e = this[0], t = 0; null !== (e = e.previousSibling);)1 === e.nodeType && t++; return t } }, eq: function(t) { if ("undefined" == typeof t) return this; var n, i = this.length; return t > i - 1 ? new e([]):0 > t ? (n = i + t, new e(0 > n ? []:[this[n]])):new e([this[t]]);}, append: function(t) { var n, i; for (n = 0; n < this.length; n++) if ("string" == typeof t) { var r = document.createElement('div'); for (r.innerHTML = t; r.firstChild;) this[n].appendChild(r.firstChild);} else if (t instanceof e) for (i = 0; i < t.length; i++) this[n].appendChild(t[i]); else this[n].appendChild(t); return this;}, prepend: function(t) { var n, i; for (n = 0; n < this.length; n++) if ("string" == typeof t) { var r = document.createElement('div'); for (r.innerHTML = t, i = r.childNodes.length - 1; i >= 0; i--) this[n].insertBefore(r.childNodes[i], this[n].childNodes[0]) } else if (t instanceof e) for (i = 0; i < t.length; i++) this[n].insertBefore(t[i], this[n].childNodes[0]); else this[n].insertBefore(t, this[n].childNodes[0]); return this;}, insertBefore: function(e) { for (var n = t(e), i = 0; i < this.length; i++) if (1 === n.length)n[0].parentNode.insertBefore(this[i], n[0]); else if (n.length > 1) for (var r = 0; r < n.length; r++)n[r].parentNode.insertBefore(this[i].cloneNode(!0), n[r]) }, insertAfter: function(e) { for (var n = t(e), i = 0; i < this.length; i++) if (1 === n.length)n[0].parentNode.insertBefore(this[i], n[0].nextSibling); else if (n.length > 1) for (var r = 0; r < n.length; r++)n[r].parentNode.insertBefore(this[i].cloneNode(!0), n[r].nextSibling);}, next: function(n) { return new e(this.length > 0 ? n ? this[0].nextElementSibling && t(this[0].nextElementSibling).is(n) ? [this[0].nextElementSibling]:[]:this[0].nextElementSibling ? [this[0].nextElementSibling]:[]:[]);}, nextAll: function(n) { var i = [], r = this[0]; if (!r) return new e([]); for (;r.nextElementSibling;) { var a = r.nextElementSibling; n ? t(a).is(n) && i.push(a):i.push(a), r = a;} return new e(i);}, prev: function(n) { return new e(this.length > 0 ? n ? this[0].previousElementSibling && t(this[0].previousElementSibling).is(n) ? [this[0].previousElementSibling]:[]:this[0].previousElementSibling ? [this[0].previousElementSibling]:[]:[]);}, prevAll: function(n) { var i = [], r = this[0]; if (!r) return new e([]); for (;r.previousElementSibling;) { var a = r.previousElementSibling; n ? t(a).is(n) && i.push(a):i.push(a), r = a } return new e(i) }, parent: function(e) { for (var n = [], i = 0; i < this.length; i++)e ? t(this[i].parentNode).is(e) && n.push(this[i].parentNode):n.push(this[i].parentNode); return t(t.unique(n));}, parents: function(e) { for (var n = [], i = 0; i < this.length; i++) for (var r = this[i].parentNode; r;)e ? t(r).is(e) && n.push(r):n.push(r), r = r.parentNode; return t(t.unique(n));}, find: function(t) { for (var n = [], i = 0; i < this.length; i++) for (var r = this[i].querySelectorAll(t), a = 0; a < r.length; a++)n.push(r[a]); return new e(n);}, children: function(n) { for (var i = [], r = 0; r < this.length; r++) for (var a = this[r].childNodes, s = 0; s < a.length; s++)n ? 1 === a[s].nodeType && t(a[s]).is(n) && i.push(a[s]):1 === a[s].nodeType && i.push(a[s]); return new e(t.unique(i)) }, remove: function() { for (var e = 0; e < this.length; e++) this[e].parentNode && this[e].parentNode.removeChild(this[e]); return this }, add: function() { var e, n, i = this; for (e = 0; e < arguments.length; e++) { var r = t(arguments[e]); for (n = 0; n < r.length; n++)i[i.length] = r[n], i.length++;} return i }}, t.fn = e.prototype, t.unique = function(e) { for (var t = [], n = 0; n < e.length; n++)-1 === t.indexOf(e[n]) && t.push(e[n]); return t }, t;}()), r = ['jQuery','Zepto','Dom7'], a = 0; a < r.length; a++)window[r[a]] && e(window[r[a]]); var s; s = "undefined" == typeof i ? window.Dom7 || window.Zepto || window.jQuery:i, s && ('transitionEnd'in s.fn || (s.fn.transitionEnd = function(e) { function t(a) { if (a.target === this) for (e.call(this, a), n = 0; n < i.length; n++)r.off(i[n], t) } var n, i = ['webkitTransitionEnd','transitionend','oTransitionEnd','MSTransitionEnd','msTransitionEnd'], r = this; if (e) for (n = 0; n < i.length; n++)r.on(i[n], t); return this;}),'transform'in s.fn || (s.fn.transform = function(e) { for (var t = 0; t < this.length; t++) { var n = this[t].style; n.webkitTransform = n.MsTransform = n.msTransform = n.MozTransform = n.OTransform = n.transform = e;} return this }),'transition'in s.fn || (s.fn.transition = function(e) { "string" != typeof e && (e+='ms'); for (var t = 0; t < this.length; t++) { var n = this[t].style; n.webkitTransitionDuration = n.MsTransitionDuration = n.msTransitionDuration = n.MozTransitionDuration = n.OTransitionDuration = n.transitionDuration = e } return this })), window.Swiper = n;}(), e.exports = window.Swiper;}, function(e, t, n) { var i = n(2); n(5), e.exports = function(e, t) { var n, r = {effect:'fadeIn', effect_speed: 10, placeholder:'data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///93d3f///yH5BAEAAAMALAAAAAABAAEAAAICVAEAOw==', skip_invisible: !1}, a = arguments.length; !function() { switch (a) { case 0:n = i('img.lazy'); break; case 1:e instanceof i ? n = e:(n = i('img.lazy'), i.extend(r, e)); break; case 2:n = e, r = i.extend(r, t);} }(), n.lazyload(r);};}, function(e, t, n) { var i = n(2); !function(e, t, n, i) { var r = e(t); e.fn.lazyload = function(a) { function s() { var t = 0; l.each(function() { var n = e(this); if (!u.skip_invisible || n.is(':visible')) if (e.abovethetop(this, u) || e.leftofbegin(this, u))else if (e.belowthefold(this, u) || e.rightoffold(this, u)) { if (++t > u.failure_limit) return !1;} else n.trigger('appear'), t = 0;});} var o, l = this, u = {threshold: 0, failure_limit: 0, event:'scroll', effect:'show', container: t, data_attribute:'original', skip_invisible: !0, appear: null, load: null, yasPath:'/web/', yasImgDomain:'http://analytics.yhurl.com/yas.gif', placeholder:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC', try_again_css: null}; return a && (i !== a.failurelimit && (a.failure_limit = a.failurelimit, delete a.failurelimit), i !== a.effectspeed && (a.effect_speed = a.effectspeed, delete a.effectspeed), e.extend(u, a)), o = u.container === i || u.container === t ? r:e(u.container), 0 === u.event.indexOf('scroll') && o.bind(u.event, function() { return s();}), this.each(function() { var t = this, n = e(t); t.loaded = !1, n.attr('src') !== i && n.attr('src') !== !1 && "" !== n.attr('src') || n.is('img') && n.attr('src', u.placeholder), n.one('appear', function() { if (n.timerid && clearTimeout(n.timerid), !this.loaded) { if (u.appear) { var i = l.length; u.appear.call(t, i, u);}e('<img />').bind('error abort', function() { n.attr('src', u.placeholder), a({info:'error'});}).bind('load', function() { if (!n.loadtimeout) { clearTimeout(n.timerid), n.attr('pfmrpt'); var i = n.attr("data-" + u.data_attribute); n.hide(), n.is('img') ? n.attr('src', i):n.css('background-image', "url('" + i+'\')'), n[u.effect](u.effect_speed), t.loaded = !0; var r = e.grep(l, function(e) { return !e.loaded;}); if (l = e(r), u.load) { var a = l.length; u.load.call(t, a, u);} } }).attr('src', n.attr("data-" + u.data_attribute)), n.src = n.attr("data-" + u.data_attribute), n.attr('pfmrpt') && _yas && _yas.add; var r = function(e) { n.loadtimeout = !0, n.attr('pfmrpt') && _yas && _yas.add && e.info, n.attr('src',''), setTimeout(function() { n.attr('src', n.src);}, 50);}, a = function(t) { n.loadtimeout = !0, n.attr('pfmrpt') && _yas && _yas.add && t.info; var i = n.width(), a = n.height(); if (u.try_again_css) var s = e("<div class=" + u.try_again_css + " style='width:" + i + "px;height:" + a+'px;\'></div>'); else var s = e("<div style='background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC) ;text-align: center;position:relative;width:" + i + "px;height:" + a+'px;background-size:100%;\'>加载失败</div>'); s.addClass(n.attr('class')), n.replaceWith(s), n.timerid = setTimeout(r, 5e3) } } }), 0 !== u.event.indexOf('scroll') && n.bind(u.event, function() { t.loaded || n.trigger('appear') }) }), r.bind('resize', function() { s();}), /(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion) && r.bind('pageshow', function(t) { t.originalEvent && t.originalEvent.persisted && l.each(function() { e(this).trigger('appear') }) }), e(n).ready(function() { s();}), this;}, e.belowthefold = function(n, a) { var s; return s = a.container === i || a.container === t ? (t.innerHeight ? t.innerHeight:r.height()) + r.scrollTop():e(a.container).offset().top + e(a.container).height(), s <= e(n).offset().top - a.threshold }, e.rightoffold = function(n, a) { var s; return s = a.container === i || a.container === t ? r.width() + r.scrollLeft():e(a.container).offset().left + e(a.container).width(), s <= e(n).offset().left - a.threshold;}, e.abovethetop = function(n, a) { var s; return s = a.container === i || a.container === t ? r.scrollTop():e(a.container).offset().top, s >= e(n).offset().top + a.threshold + e(n).height() }, e.leftofbegin = function(n, a) { var s; return s = a.container === i || a.container === t ? r.scrollLeft():e(a.container).offset().left, s >= e(n).offset().left + a.threshold + e(n).width() }, e.inviewport = function(t, n) { return !(e.rightoffold(t, n) || e.leftofbegin(t, n) || e.belowthefold(t, n) || e.abovethetop(t, n)) } }(i, window, document);},,, function(e, t, n) { function i(e) { var t, n, i = document.cookie; return document.cookie && "" !== document.cookie && (n = i.indexOf(e+'='), n > -1 && (n += e.length + 1, t = decodeURIComponent(f.trim(i.substring(n, i.indexOf(';', n)))))), t } function r(e, t, n) { var i, r, a, s, o=''; "undefined" != typeof t && (n = n || {}, null === t && (t='', n.expires = -1), n.expires && ("number" == typeof n.expires || n.expires.toUTCString) && ("number" == typeof n.expires ? (s = new Date, s.setTime(s.getTime() + 24 * n.expires * 60 * 60 * 1e3)):s = n.expires, o = "; expires=" + s.toUTCString()), i = n.path ? "; path=" + n.path:'', r = n.domain ? "; domain=" + n.domain:'', a = n.secure?'; secure':'', document.cookie = [e,'=', encodeURIComponent(t), o, i, r, a].join('')) } function a() { var e = !!navigator.cookieEnabled; return "undefined" != typeof navigator.cookieEnabled || e || (document.cookie='testcookie', e = -1 !== document.cookie.indexOf('testcookie')), e } function s() { var e, t = i('_UID'); return "undefined" == typeof t ? 0:(e = t.split('::'), "undefined" == typeof e || e.length < 4 ? 0:e);} function o() { var e = s(); return 0 === e ? 0:e[1];} function l() { var e = i('_g'); return "undefined" == typeof e?'':JSON.parse(e).k } function u() { var e; 0 !== m.length && (e = Math.min(f(window).height(), window.screen.availHeight), f('body').height() <= e - parseInt(m.css('height'), 0) ? m.addClass('bottom'):m.removeClass('bottom'));} function p(e) { var t = f(e).outerHeight(); e && m.css('margin-bottom', t+'px') } function c() { var e, t, n = [], i = window.location.search.slice(1).split('&'); for (t = 0; t < i.length; t++)e = i[t].split('='), n.push(e[0]), n[e[0]] = e[1]; return n;} function d(e) { return e.replace(/(\d{3})\d{4}(\d{4})/,'$1****$2') } var f = n(2), h = n(9), m = f('#yoho-footer'), g = f('.yoho-page'), v = f('.yoho-header'); !function() { var e, t = m.children('.op-row'), n = f('.back-to-top'), i = s(); u(), 0 === i ? t.prepend('<a href="http://m.yohobuy.com/signin.html?refer=' + location.href + '">登录</a><span class="sep-line">|</span><a href="http://m.yohobuy.com/reg.html">注册</a>'):t.prepend('<span>Hi,</span><a class="user-name" href="http://m.yohobuy.com/home?tmp=' + Math.random() + '">' + i[0] + '</a><a href="http://m.yohobuy.com/passport/signout/index">退出</a>'), n.length > 0 && (e = new h(n[0]), e.on('tap', function(e) { return f(window).scrollTop(0), e.srcEvent.preventDefault(), !1;})), m.removeClass('hide') }(), function(e, t, n, i, r) { var a = t.createElement(n), s = t.getElementsByTagName(n)[0]; e.YohoAcquisitionObject = r, e[r] = function() { e[r].p = arguments }, a.async = 1, a.src = i, s.parentNode.insertBefore(a, s) }(window, document,'script','http://cdn.yoho.cn/yas-jssdk/1.0.14/yas.js','_yas'), function() { var e = o(); e = 0 === e?'':e, window._ozuid = e, window._yas && window._yas(1 * new Date,'1.0.14','yohobuy_m', e,'','');}(), v.on('touchstart','a', function() { v.find('a').removeClass('highlight'), f(this).addClass('highlight');}).on('touchend touchcancel','a', function() { f(this).removeClass('highlight') }), g.on('touchstart','.tap-hightlight', function() { f(this).siblings('.tap-hightlight').removeClass('highlight'), f(this).addClass('highlight') }).on('touchend touchcancel','.tap-hightlight', function() { f(this).removeClass('highlight');}), f('.nav-home').on('touchstart', function() { f('.homebuttom').toggleClass('hide') }), function() { var e, t, n = 0, i='webkit moz ms o'.split(' '), r = window.requestAnimationFrame, a = window.cancelAnimationFrame; for (t = 0; t < i.length && (!r || !a); t++)e = i[t], r = r || window[e+'RequestAnimationFrame'], a = a || window[e+'CancelAnimationFrame'] || window[e+'CancelRequestAnimationFrame']; r && a || (r = function(e) { var t = (new Date).getTime(), i = Math.max(0, 16 - (t - n)), r = window.setTimeout(function() { e(t + i);}, i); return n = t + i, r }, a = function(e) { window.clearTimeout(e) }), window.requestAnimationFrame = r, window.cancelAnimationFrame = a;}(), f.extend({queryString: c}), 11 === m.find('.user-name').text().length && m.find('.user-name').html(d(m.find('.user-name').text())), window.cookie = i, window.setCookie = r, window.isCookiesEnabled = a, window.getUser = s, window.getUid = o, window.getShoppingKey = l, window.rePosFooter = u, window.reMarginFooter = p, window.queryString = c();}, function(e, t, n) { var i;/* ! Hammer.JS - v2.0.7 - 2016-04-22
	 * http://hammerjs.github.io/
	 *
	 * Copyright (c) 2016 Jorik Tangelder;
	 * Licensed under the MIT license */
    !function(r, a, s, o) {'use strict'; function l(e, t, n) { return setTimeout(f(e, n), t);} function u(e, t, n) { return Array.isArray(e) ? (p(e, n[t], n), !0):!1;} function p(e, t, n) { var i; if (e) if (e.forEach)e.forEach(t, n); else if (e.length !== o) for (i = 0; i < e.length;)t.call(n, e[i], i, e), i++; else for (i in e)e.hasOwnProperty(i) && t.call(n, e[i], i, e) } function c(e, t, n) { var i = "DEPRECATED METHOD: " + t + "\n" + n+' AT \n'; return function() { var t = new Error('get-stack-trace'), n = t && t.stack ? t.stack.replace(/^[^\(]+?[\n$]/gm,'').replace(/^\s+at\s+/gm,'').replace(/^Object.<anonymous>\s*\(/gm,'{anonymous}()@'):'Unknown Stack Trace', a = r.console && (r.console.warn || r.console.log); return a && a.call(r.console, i, n), e.apply(this, arguments);} } function d(e, t, n) { var i, r = t.prototype; i = e.prototype = Object.create(r), i.constructor = e, i._super = r, n && me(i, n);} function f(e, t) { return function() { return e.apply(t, arguments) };} function h(e, t) { return typeof e == ye ? e.apply(t ? t[0] || o:o, t):e } function m(e, t) { return e === o ? t:e;} function g(e, t, n) { p(x(t), function(t) { e.addEventListener(t, n, !1);}) } function v(e, t, n) { p(x(t), function(t) { e.removeEventListener(t, n, !1) });} function y(e, t) { for (;e;) { if (e == t) return !0; e = e.parentNode } return !1;} function w(e, t) { return e.indexOf(t) > -1;} function x(e) { return e.trim().split(/\s+/g) } function b(e, t, n) { if (e.indexOf && !n) return e.indexOf(t); for (var i = 0; i < e.length;) { if (n && e[i][n] == t || !n && e[i] === t) return i; i++;} return -1;} function T(e) { return Array.prototype.slice.call(e, 0) } function C(e, t, n) { for (var i = [], r = [], a = 0; a < e.length;) { var s = t ? e[a][t]:e[a]; b(r, s) < 0 && i.push(e[a]), r[a] = s, a++;} return n && (i = t ? i.sort(function(e, n) { return e[t] > n[t];}):i.sort()), i;} function S(e, t) { for (var n, i, r = t[0].toUpperCase() + t.slice(1), a = 0; a < ge.length;) { if (n = ge[a], i = n ? n + r:t, i in e) return i; a++;} return o;} function E() { return Se++;} function A(e) { var t = e.ownerDocument || e; return t.defaultView || t.parentWindow || r;} function k(e, t) { var n = this; this.manager = e, this.callback = t, this.element = e.element, this.target = e.options.inputTarget, this.domHandler = function(t) { h(e.options.enable, [e]) && n.handler(t) }, this.init();} function P(e) { var t, n = e.options.inputClass; return new(t = n ? n:ke ? W:Pe ? X:Ae ? V:F)(e, M) } function M(e, t, n) { var i = n.pointers.length, r = n.changedPointers.length, a = t & Le && i - r === 0, s = t & (Oe | Be) && i - r === 0; n.isFirst = !!a, n.isFinal = !!s, a && (e.session = {}), n.eventType = t, D(e, n), e.emit('hammer.input', n), e.recognize(n), e.session.prevInput = n;} function D(e, t) { var n = e.session, i = t.pointers, r = i.length; n.firstInput || (n.firstInput = I(t)), r > 1 && !n.firstMultiple ? n.firstMultiple = I(t):1 === r && (n.firstMultiple = !1); var a = n.firstInput, s = n.firstMultiple, o = s ? s.center:a.center, l = t.center = L(i); t.timeStamp = be(), t.deltaTime = t.timeStamp - a.timeStamp, t.angle = R(o, l), t.distance = B(o, l), z(n, t), t.offsetDirection = O(t.deltaX, t.deltaY); var u = H(t.deltaTime, t.deltaX, t.deltaY); t.overallVelocityX = u.x, t.overallVelocityY = u.y, t.overallVelocity = xe(u.x) > xe(u.y) ? u.x:u.y, t.scale = s ? j(s.pointers, i):1, t.rotation = s ? q(s.pointers, i):0, t.maxPointers = n.prevInput ? t.pointers.length > n.prevInput.maxPointers ? t.pointers.length:n.prevInput.maxPointers:t.pointers.length, N(n, t); var p = e.element; y(t.srcEvent.target, p) && (p = t.srcEvent.target), t.target = p } function z(e, t) { var n = t.center, i = e.offsetDelta || {}, r = e.prevDelta || {}, a = e.prevInput || {}; t.eventType !== Le && a.eventType !== Oe || (r = e.prevDelta = {x: a.deltaX || 0, y: a.deltaY || 0}, i = e.offsetDelta = {x: n.x, y: n.y}), t.deltaX = r.x + (n.x - i.x), t.deltaY = r.y + (n.y - i.y);} function N(e, t) { var n, i, r, a, s = e.lastInterval || t, l = t.timeStamp - s.timeStamp; if (t.eventType != Be && (l > Ie || s.velocity === o)) { var u = t.deltaX - s.deltaX, p = t.deltaY - s.deltaY, c = H(l, u, p); i = c.x, r = c.y, n = xe(c.x) > xe(c.y) ? c.x:c.y, a = O(u, p), e.lastInterval = t;} else n = s.velocity, i = s.velocityX, r = s.velocityY, a = s.direction; t.velocity = n, t.velocityX = i, t.velocityY = r, t.direction = a;} function I(e) { for (var t = [], n = 0; n < e.pointers.length;)t[n] = {clientX: we(e.pointers[n].clientX), clientY: we(e.pointers[n].clientY)}, n++; return {timeStamp: be(), pointers: t, center: L(t), deltaX: e.deltaX, deltaY: e.deltaY} } function L(e) { var t = e.length; if (1 === t) return {x: we(e[0].clientX), y: we(e[0].clientY)}; for (var n = 0, i = 0, r = 0; t > r;)n += e[r].clientX, i += e[r].clientY, r++; return {x: we(n / t), y: we(i / t)};} function H(e, t, n) { return {x: t / e || 0, y: n / e || 0} } function O(e, t) { return e === t ? Re:xe(e) >= xe(t) ? 0 > e ? qe:je:0 > t ? Fe:We;} function B(e, t, n) { n || (n = Ye); var i = t[n[0]] - e[n[0]], r = t[n[1]] - e[n[1]]; return Math.sqrt(i * i + r * r) } function R(e, t, n) { n || (n = Ye); var i = t[n[0]] - e[n[0]], r = t[n[1]] - e[n[1]]; return 180 * Math.atan2(r, i) / Math.PI;} function q(e, t) { return R(t[1], t[0], Ve) + R(e[1], e[0], Ve) } function j(e, t) { return B(t[0], t[1], Ve) / B(e[0], e[1], Ve) } function F() { this.evEl = Ue, this.evWin = Ke, this.pressed = !1, k.apply(this, arguments);} function W() { this.evEl = Je, this.evWin = et, k.apply(this, arguments), this.store = this.manager.session.pointerEvents = [] } function _() { this.evTarget = nt, this.evWin = it, this.started = !1, k.apply(this, arguments) } function G(e, t) { var n = T(e.touches), i = T(e.changedTouches); return t & (Oe | Be) && (n = C(n.concat(i),'identifier', !0)), [n, i] } function X() { this.evTarget = at, this.targetIds = {}, k.apply(this, arguments) } function Y(e, t) { var n = T(e.touches), i = this.targetIds; if (t & (Le | He) && 1 === n.length) return i[n[0].identifier] = !0, [n, n]; var r, a, s = T(e.changedTouches), o = [], l = this.target; if (a = n.filter(function(e) { return y(e.target, l);}), t === Le) for (r = 0; r < a.length;)i[a[r].identifier] = !0, r++; for (r = 0; r < s.length;)i[s[r].identifier] && o.push(s[r]), t & (Oe | Be) && delete i[s[r].identifier], r++; return o.length ? [C(a.concat(o),'identifier', !0), o]:void 0 } function V() { k.apply(this, arguments); var e = f(this.handler, this); this.touch = new X(this.manager, e), this.mouse = new F(this.manager, e), this.primaryTouch = null, this.lastTouches = [];} function $(e, t) { e & Le ? (this.primaryTouch = t.changedPointers[0].identifier, U.call(this, t)):e & (Oe | Be) && U.call(this, t) } function U(e) { var t = e.changedPointers[0]; if (t.identifier === this.primaryTouch) { var n = {x: t.clientX, y: t.clientY}; this.lastTouches.push(n); var i = this.lastTouches, r = function() { var e = i.indexOf(n); e > -1 && i.splice(e, 1);}; setTimeout(r, st) } } function K(e) { for (var t = e.srcEvent.clientX, n = e.srcEvent.clientY, i = 0; i < this.lastTouches.length; i++) { var r = this.lastTouches[i], a = Math.abs(t - r.x), s = Math.abs(n - r.y); if (ot >= a && ot >= s) return !0;} return !1;} function Q(e, t) { this.manager = e, this.set(t) } function Z(e) { if (w(e, ft)) return ft; var t = w(e, ht), n = w(e, mt); return t && n ? ft:t || n ? t ? ht:mt:w(e, dt) ? dt:ct } function J() { if (!ut) return !1; var e = {}, t = r.CSS && r.CSS.supports; return ['auto','manipulation','pan-y','pan-x','pan-x pan-y','none'].forEach(function(n) { e[n] = t ? r.CSS.supports('touch-action', n):!0 }), e } function ee(e) { this.options = me({}, this.defaults, e || {}), this.id = E(), this.manager = null, this.options.enable = m(this.options.enable, !0), this.state = vt, this.simultaneous = {}, this.requireFail = [];} function te(e) { return e & Tt?'cancel':e & xt?'end':e & wt?'move':e & yt?'start':"";} function ne(e) { return e == We?'down':e == Fe?'up':e == qe?'left':e == je?'right':"";} function ie(e, t) { var n = t.manager; return n ? n.get(e):e;} function re() { ee.apply(this, arguments) } function ae() { re.apply(this, arguments), this.pX = null, this.pY = null } function se() { re.apply(this, arguments);} function oe() { ee.apply(this, arguments), this._timer = null, this._input = null;} function le() { re.apply(this, arguments) } function ue() { re.apply(this, arguments);} function pe() { ee.apply(this, arguments), this.pTime = !1, this.pCenter = !1, this._timer = null, this._input = null, this.count = 0 } function ce(e, t) { return t = t || {}, t.recognizers = m(t.recognizers, ce.defaults.preset), new de(e, t) } function de(e, t) { this.options = me({}, ce.defaults, t || {}), this.options.inputTarget = this.options.inputTarget || e, this.handlers = {}, this.session = {}, this.recognizers = [], this.oldCssProps = {}, this.element = e, this.input = P(this), this.touchAction = new Q(this, this.options.touchAction), fe(this, !0), p(this.options.recognizers, function(e) { var t = this.add(new e[0](e[1])); e[2] && t.recognizeWith(e[2]), e[3] && t.requireFailure(e[3]) }, this);} function fe(e, t) { var n = e.element; if (n.style) { var i; p(e.options.cssProps, function(r, a) { i = S(n.style, a), t ? (e.oldCssProps[i] = n.style[i], n.style[i] = r):n.style[i] = e.oldCssProps[i] || "";}), t || (e.oldCssProps = {}) } } function he(e, t) { var n = a.createEvent('Event'); n.initEvent(e, !0, !0), n.gesture = t, t.target.dispatchEvent(n);} var me, ge = ['','webkit','Moz','MS','ms','o'], ve = a.createElement('div'), ye='function', we = Math.round, xe = Math.abs, be = Date.now; me = "function" != typeof Object.assign ? function(e) { if (e === o || null === e) throw new TypeError('Cannot convert undefined or null to object'); for (var t = Object(e), n = 1; n < arguments.length; n++) { var i = arguments[n]; if (i !== o && null !== i) for (var r in i)i.hasOwnProperty(r) && (t[r] = i[r]);} return t;}:Object.assign; var Te = c(function(e, t, n) { for (var i = Object.keys(t), r = 0; r < i.length;)(!n || n && e[i[r]] === o) && (e[i[r]] = t[i[r]]), r++; return e },'extend','Use `assign`.'), Ce = c(function(e, t) { return Te(e, t, !0) },'merge','Use `assign`.'), Se = 1, Ee = /mobile|tablet|ip(ad|hone|od)|android/i, Ae='ontouchstart'in r, ke = S(r,'PointerEvent') !== o, Pe = Ae && Ee.test(navigator.userAgent), Me='touch', De='pen', ze='mouse', Ne='kinect', Ie = 25, Le = 1, He = 2, Oe = 4, Be = 8, Re = 1, qe = 2, je = 4, Fe = 8, We = 16, _e = qe | je, Ge = Fe | We, Xe = _e | Ge, Ye = ['x','y'], Ve = ['clientX','clientY']; k.prototype = {handler: function() {}, init: function() { this.evEl && g(this.element, this.evEl, this.domHandler), this.evTarget && g(this.target, this.evTarget, this.domHandler), this.evWin && g(A(this.element), this.evWin, this.domHandler);}, destroy: function() { this.evEl && v(this.element, this.evEl, this.domHandler), this.evTarget && v(this.target, this.evTarget, this.domHandler), this.evWin && v(A(this.element), this.evWin, this.domHandler);}}; var $e = {mousedown: Le, mousemove: He, mouseup: Oe}, Ue='mousedown', Ke='mousemove mouseup'; d(F, k, {handler: function(e) { var t = $e[e.type]; t & Le && 0 === e.button && (this.pressed = !0), t & He && 1 !== e.which && (t = Oe), this.pressed && (t & Oe && (this.pressed = !1), this.callback(this.manager, t, {pointers: [e], changedPointers: [e], pointerType: ze, srcEvent: e})) }}); var Qe = {pointerdown: Le, pointermove: He, pointerup: Oe, pointercancel: Be, pointerout: Be}, Ze = {2: Me, 3: De, 4: ze, 5: Ne}, Je='pointerdown', et='pointermove pointerup pointercancel'; r.MSPointerEvent && !r.PointerEvent && (Je='MSPointerDown', et='MSPointerMove MSPointerUp MSPointerCancel'), d(W, k, {handler: function(e) { var t = this.store, n = !1, i = e.type.toLowerCase().replace('ms',''), r = Qe[i], a = Ze[e.pointerType] || e.pointerType, s = a == Me, o = b(t, e.pointerId,'pointerId'); r & Le && (0 === e.button || s) ? 0 > o && (t.push(e), o = t.length - 1):r & (Oe | Be) && (n = !0), 0 > o || (t[o] = e, this.callback(this.manager, r, {pointers: t, changedPointers: [e], pointerType: a, srcEvent: e}), n && t.splice(o, 1)) }}); var tt = {touchstart: Le, touchmove: He, touchend: Oe, touchcancel: Be}, nt='touchstart', it='touchstart touchmove touchend touchcancel'; d(_, k, {handler: function(e) { var t = tt[e.type]; if (t === Le && (this.started = !0), this.started) { var n = G.call(this, e, t); t & (Oe | Be) && n[0].length - n[1].length === 0 && (this.started = !1), this.callback(this.manager, t, {pointers: n[0], changedPointers: n[1], pointerType: Me, srcEvent: e});} }}); var rt = {touchstart: Le, touchmove: He, touchend: Oe, touchcancel: Be}, at='touchstart touchmove touchend touchcancel'; d(X, k, {handler: function(e) { var t = rt[e.type], n = Y.call(this, e, t); n && this.callback(this.manager, t, {pointers: n[0], changedPointers: n[1], pointerType: Me, srcEvent: e});}}); var st = 2500, ot = 25; d(V, k, {handler: function(e, t, n) { var i = n.pointerType == Me, r = n.pointerType == ze; if (!(r && n.sourceCapabilities && n.sourceCapabilities.firesTouchEvents)) { if (i)$.call(this, t, n); else if (r && K.call(this, n)) return; this.callback(e, t, n);} }, destroy: function() { this.touch.destroy(), this.mouse.destroy();}}); var lt = S(ve.style,'touchAction'), ut = lt !== o, pt='compute', ct='auto', dt='manipulation', ft='none', ht='pan-x', mt='pan-y', gt = J(); Q.prototype = {set: function(e) { e == pt && (e = this.compute()), ut && this.manager.element.style && gt[e] && (this.manager.element.style[lt] = e), this.actions = e.toLowerCase().trim();}, update: function() { this.set(this.manager.options.touchAction);}, compute: function() { var e = []; return p(this.manager.recognizers, function(t) { h(t.options.enable, [t]) && (e = e.concat(t.getTouchAction())) }), Z(e.join(' '));}, preventDefaults: function(e) { var t = e.srcEvent, n = e.offsetDirection; if (this.manager.session.prevented) return void t.preventDefault(); var i = this.actions, r = w(i, ft) && !gt[ft], a = w(i, mt) && !gt[mt], s = w(i, ht) && !gt[ht]; if (r) { var o = 1 === e.pointers.length, l = e.distance < 2, u = e.deltaTime < 250; if (o && l && u) return;} return s && a ? void 0:r || a && n & _e || s && n & Ge ? this.preventSrc(t):void 0;}, preventSrc: function(e) { this.manager.session.prevented = !0, e.preventDefault();}}; var vt = 1, yt = 2, wt = 4, xt = 8, bt = xt, Tt = 16, Ct = 32; ee.prototype = {defaults: {}, set: function(e) { return me(this.options, e), this.manager && this.manager.touchAction.update(), this;}, recognizeWith: function(e) { if (u(e,'recognizeWith', this)) return this; var t = this.simultaneous; return e = ie(e, this), t[e.id] || (t[e.id] = e, e.recognizeWith(this)), this;}, dropRecognizeWith: function(e) { return u(e,'dropRecognizeWith', this) ? this:(e = ie(e, this), delete this.simultaneous[e.id], this);}, requireFailure: function(e) { if (u(e,'requireFailure', this)) return this; var t = this.requireFail; return e = ie(e, this), -1 === b(t, e) && (t.push(e), e.requireFailure(this)), this }, dropRequireFailure: function(e) { if (u(e,'dropRequireFailure', this)) return this; e = ie(e, this); var t = b(this.requireFail, e); return t > -1 && this.requireFail.splice(t, 1), this }, hasRequireFailures: function() { return this.requireFail.length > 0;}, canRecognizeWith: function(e) { return !!this.simultaneous[e.id];}, emit: function(e) { function t(t) { n.manager.emit(t, e) } var n = this, i = this.state; xt > i && t(n.options.event + te(i)), t(n.options.event), e.additionalEvent && t(e.additionalEvent), i >= xt && t(n.options.event + te(i));}, tryEmit: function(e) { return this.canEmit() ? this.emit(e):void(this.state = Ct);}, canEmit: function() { for (var e = 0; e < this.requireFail.length;) { if (!(this.requireFail[e].state & (Ct | vt))) return !1; e++ } return !0 }, recognize: function(e) { var t = me({}, e); return h(this.options.enable, [this, t]) ? (this.state & (bt | Tt | Ct) && (this.state = vt), this.state = this.process(t), void(this.state & (yt | wt | xt | Tt) && this.tryEmit(t))):(this.reset(), void(this.state = Ct));}, process: function(e) {}, getTouchAction: function() {}, reset: function() {}}, d(re, ee, {defaults: {pointers: 1}, attrTest: function(e) { var t = this.options.pointers; return 0 === t || e.pointers.length === t;}, process: function(e) { var t = this.state, n = e.eventType, i = t & (yt | wt), r = this.attrTest(e); return i && (n & Be || !r) ? t | Tt:i || r ? n & Oe ? t | xt:t & yt ? t | wt:yt:Ct;}}), d(ae, re, {defaults: {event:'pan', threshold: 10, pointers: 1, direction: Xe}, getTouchAction: function() { var e = this.options.direction, t = []; return e & _e && t.push(mt), e & Ge && t.push(ht), t }, directionTest: function(e) { var t = this.options, n = !0, i = e.distance, r = e.direction, a = e.deltaX, s = e.deltaY; return r & t.direction || (t.direction & _e ? (r = 0 === a ? Re:0 > a ? qe:je, n = a != this.pX, i = Math.abs(e.deltaX)):(r = 0 === s ? Re:0 > s ? Fe:We, n = s != this.pY, i = Math.abs(e.deltaY))), e.direction = r, n && i > t.threshold && r & t.direction }, attrTest: function(e) { return re.prototype.attrTest.call(this, e) && (this.state & yt || !(this.state & yt) && this.directionTest(e));}, emit: function(e) { this.pX = e.deltaX, this.pY = e.deltaY; var t = ne(e.direction); t && (e.additionalEvent = this.options.event + t), this._super.emit.call(this, e);}}), d(se, re, {defaults: {event:'pinch', threshold: 0, pointers: 2}, getTouchAction: function() { return [ft] }, attrTest: function(e) { return this._super.attrTest.call(this, e) && (Math.abs(e.scale - 1)> this.options.threshold || this.state & yt);}, emit: function(e) { if (1 !== e.scale) { var t = e.scale < 1?'in':'out'; e.additionalEvent = this.options.event + t } this._super.emit.call(this, e) }}), d(oe, ee, {defaults: {event:'press', pointers: 1, time: 251, threshold: 9}, getTouchAction: function() { return [ct] }, process: function(e) { var t = this.options, n = e.pointers.length === t.pointers, i = e.distance < t.threshold, r = e.deltaTime > t.time; if (this._input = e, !i || !n || e.eventType & (Oe | Be) && !r) this.reset(); else if (e.eventType & Le) this.reset(), this._timer = l(function() { this.state = bt, this.tryEmit();}, t.time, this); else if (e.eventType & Oe) return bt; return Ct }, reset: function() { clearTimeout(this._timer);}, emit: function(e) { this.state === bt && (e && e.eventType & Oe ? this.manager.emit(this.options.event+'up', e):(this._input.timeStamp = be(), this.manager.emit(this.options.event, this._input))) }}), d(le, re, {defaults: {event:'rotate', threshold: 0, pointers: 2}, getTouchAction: function() { return [ft];}, attrTest: function(e) { return this._super.attrTest.call(this, e) && (Math.abs(e.rotation)> this.options.threshold || this.state & yt) }}), d(ue, re, {defaults: {event:'swipe', threshold: 10, velocity: .3, direction: _e | Ge, pointers: 1}, getTouchAction: function() { return ae.prototype.getTouchAction.call(this) }, attrTest: function(e) { var t, n = this.options.direction; return n & (_e | Ge) ? t = e.overallVelocity:n & _e ? t = e.overallVelocityX:n & Ge && (t = e.overallVelocityY), this._super.attrTest.call(this, e) && n & e.offsetDirection && e.distance> this.options.threshold && e.maxPointers == this.options.pointers && xe(t)> this.options.velocity && e.eventType & Oe }, emit: function(e) { var t = ne(e.offsetDirection); t && this.manager.emit(this.options.event + t, e), this.manager.emit(this.options.event, e);}}), d(pe, ee, {defaults: {event:'tap', pointers: 1, taps: 1, interval: 300, time: 250, threshold: 9, posThreshold: 10}, getTouchAction: function() { return [dt];}, process: function(e) { var t = this.options, n = e.pointers.length === t.pointers, i = e.distance < t.threshold, r = e.deltaTime < t.time; if (this.reset(), e.eventType & Le && 0 === this.count) return this.failTimeout(); if (i && r && n) { if (e.eventType != Oe) return this.failTimeout(); var a = this.pTime ? e.timeStamp - this.pTime < t.interval:!0, s = !this.pCenter || B(this.pCenter, e.center) < t.posThreshold; this.pTime = e.timeStamp, this.pCenter = e.center, s && a ? this.count += 1:this.count = 1, this._input = e; var o = this.count % t.taps; if (0 === o) return this.hasRequireFailures() ? (this._timer = l(function() { this.state = bt, this.tryEmit() }, t.interval, this), yt):bt;} return Ct }, failTimeout: function() { return this._timer = l(function() { this.state = Ct }, this.options.interval, this), Ct }, reset: function() { clearTimeout(this._timer) }, emit: function() { this.state == bt && (this._input.tapCount = this.count, this.manager.emit(this.options.event, this._input)) }}), ce.VERSION='2.0.7', ce.defaults = {domEvents: !1, touchAction: pt, enable: !0, inputTarget: null, inputClass: null, preset: [[le, {enable: !1}], [se, {enable: !1}, ['rotate']], [ue, {direction: _e}], [ae, {direction: _e}, ['swipe']], [pe], [pe, {event:'doubletap', taps: 2}, ['tap']], [oe]], cssProps: {userSelect:'none', touchSelect:'none', touchCallout:'none', contentZooming:'none', userDrag:'none', tapHighlightColor:'rgba(0,0,0,0)'}}; var St = 1, Et = 2; de.prototype = {set: function(e) { return me(this.options, e), e.touchAction && this.touchAction.update(), e.inputTarget && (this.input.destroy(), this.input.target = e.inputTarget, this.input.init()), this }, stop: function(e) { this.session.stopped = e ? Et:St;}, recognize: function(e) { var t = this.session; if (!t.stopped) { this.touchAction.preventDefaults(e); var n, i = this.recognizers, r = t.curRecognizer; (!r || r && r.state & bt) && (r = t.curRecognizer = null); for (var a = 0; a < i.length;)n = i[a], t.stopped === Et || r && n != r && !n.canRecognizeWith(r) ? n.reset():n.recognize(e), !r && n.state & (yt | wt | xt) && (r = t.curRecognizer = n), a++ } }, get: function(e) { if (e instanceof ee) return e; for (var t = this.recognizers, n = 0; n < t.length; n++) if (t[n].options.event == e) return t[n]; return null }, add: function(e) { if (u(e,'add', this)) return this; var t = this.get(e.options.event); return t && this.remove(t), this.recognizers.push(e), e.manager = this, this.touchAction.update(), e;}, remove: function(e) { if (u(e,'remove', this)) return this; if (e = this.get(e)) { var t = this.recognizers, n = b(t, e); -1 !== n && (t.splice(n, 1), this.touchAction.update()) } return this }, on: function(e, t) { if (e !== o && t !== o) { var n = this.handlers; return p(x(e), function(e) { n[e] = n[e] || [], n[e].push(t);}), this } }, off: function(e, t) { if (e !== o) { var n = this.handlers; return p(x(e), function(e) { t ? n[e] && n[e].splice(b(n[e], t), 1):delete n[e] }), this } }, emit: function(e, t) { this.options.domEvents && he(e, t); var n = this.handlers[e] && this.handlers[e].slice(); if (n && n.length) { t.type = e, t.preventDefault = function() { t.srcEvent.preventDefault();}; for (var i = 0; i < n.length;)n[i](t), i++ } }, destroy: function() { this.element && fe(this, !1), this.handlers = {}, this.session = {}, this.input.destroy(), this.element = null }}, me(ce, {INPUT_START: Le, INPUT_MOVE: He, INPUT_END: Oe, INPUT_CANCEL: Be, STATE_POSSIBLE: vt, STATE_BEGAN: yt, STATE_CHANGED: wt, STATE_ENDED: xt, STATE_RECOGNIZED: bt, STATE_CANCELLED: Tt, STATE_FAILED: Ct, DIRECTION_NONE: Re, DIRECTION_LEFT: qe, DIRECTION_RIGHT: je, DIRECTION_UP: Fe, DIRECTION_DOWN: We, DIRECTION_HORIZONTAL: _e, DIRECTION_VERTICAL: Ge, DIRECTION_ALL: Xe, Manager: de, Input: k, TouchAction: Q, TouchInput: X, MouseInput: F, PointerEventInput: W, TouchMouseInput: V, SingleTouchInput: _, Recognizer: ee, AttrRecognizer: re, Tap: pe, Pan: ae, Swipe: ue, Pinch: se, Rotate: le, Press: oe, on: g, off: v, each: p, merge: Ce, extend: Te, assign: me, inherit: d, bindFn: f, prefixed: S}); var At = "undefined" != typeof r ? r:"undefined" != typeof self ? self:{}; At.Hammer = ce, i = function() { return ce }.call(t, n, t, e), !(i !== o && (e.exports = i));}(window, document,'Hammer') },, function(e, t, n) { function i(e, t) { var n, i; "undefined" != typeof e && (n = e.toString(), i = t && t > 0 ? t:2e3, r.text(n).show(), a = setTimeout(function() { "block" === r.css('display') && r.hide() }, i));} var r, a, s = n(2); !function() { var e = '<div id="yoho-tip" class="yoho-tip"></div>'; s('.yoho-page').append(e), r = s('#yoho-tip'), r.on('touchend', function() { r.hide(), clearTimeout(a);}) }(), t.show = i }, function(e, t, n) { function i(e) { var t = '<div class="loading-mask hide"><div class="loading"><div></div><div></div><div></div></div></div>'; u = !0, e || (e = l), e.append(t), s = e.children('.loading-mask') } function r() { u || (i(), u = !0), s.removeClass('hide') } function a() { s.addClass('hide') } var s, o = n(2), l = o('.yoho-page'), u = !1; t.init = i, t.showLoadingMask = r, t.hideLoadingMask = a, t.show = r, t.hide = a;},, function(e, t) { t.init = function() { Element.prototype.getText = function() { return void 0 == this.innerText ? this.textContent:this.innerText;}, Element.prototype.setText = function(e) { void 0 == this.innerText ? this.textContent = e||'':this.innerText = e || "" }, Element.prototype.getFinalStyle = function(e, t) { var n; return n = window.getComputedStyle ? window.getComputedStyle(this, null)[e]:this.currentStyle[e], void 0 != t && (n = n * t+'px'), n.substring(0, n.toString().length - 2);}, Element.prototype.mlellipsis = function(e) { var t = this.getText(), n = this.getAttribute('title'); null == n ? this.setAttribute('title', t):this.setText(n); var i = this.getFinalStyle('fontSize'); if (/msie/i.test(navigator.userAgent)) var r = this.getFinalStyle('lineHeight', i); else var r = this.getFinalStyle('lineHeight'); var a = Math.floor(this.clientHeight); "norm" == r ? (r = Number(1.5 * i), this.setAttribute('style', "line-height:" + r+'px')):r = Number(r); var s = e * r; if (a >= s) { for (t = this.getText(); 3 * s < this.clientHeight;) this.setText(t.substring(0, t.length / 2)), t = this.getText(); for (;this.clientHeight - s > r - 1 && (t = this.getText(), !(t.length < 3));) this.setText(t.replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/,'...'));} }, Element.prototype.getTextLineNumber = function(e) { var t = this.getText(), n = this.getAttribute('title'); null == n ? this.setAttribute('title', t):this.setText(n); var i = this.getFinalStyle('fontSize'); if (/msie/i.test(navigator.userAgent)) var r = this.getFinalStyle('lineHeight', i); else var r = this.getFinalStyle('lineHeight'); var a = this.clientHeight; return "norm" == r ? (r = Number(1.5 * i), this.setAttribute('style', "line-height:" + r+'px')):r = Number(r), a / r } } },,,, function(e, t, n) { function i() { d.addClass('hide');} function r() { d.removeClass('hide') } function a() { var e = m('.filter-body .classify'); e.on('touchstart','.shower', function() { e.removeClass('highlight'), m(this).addClass('highlight');}).on('touchend touchcancel','.shower', function() { m(this).removeClass('highlight') }) } function s() { var e = m('.filter-body .sub-item'); e.on('touchstart', function() { e.removeClass('highlight'), m(this).addClass('highlight') }).on('touchend touchcancel', function() { m(this).removeClass('highlight') }) } function o(e) { e.hasClass('active') || (e.siblings('.active').removeClass('active'), e.addClass('active')) } function l(e) { var t, n, i = e.closest('.sub-classify'), r = i.siblings('.shower'); return e.hasClass('chosed') ? i:(i.children('.chosed').removeClass('chosed'), e.addClass('chosed'), t = m.trim(e.html()), n = m.trim(r.html()), r.html(n.substring(0, n.indexOf('</span>') + 7) + t.substring(0, t.indexOf('<i'))), 0 === e.index() ? r.addClass('default'):r.removeClass('default'), i);} function u(e) { var t, n = e.data('id'); t = l(e), f && f({type: t.data('type'), id: n}), h && h(), i() } function p(e) { var t; f = e.fCbFn, h = e.hCbFn, window.missStatus = e.missStatus, a(), s(), d = m('.filter-mask'), t = new g(d[0]), t.on('tap', function(e) { var t, n = m(e.target); e.preventDefault(), n.closest('.filter-body').length > 0 ? (t = n.closest('.sub-item'), t.length > 0 ? (t = n.closest('li'), u(t)):(t = n.closest('.classify-item'), e.srcEvent.stopPropagation(), o(t))):(i(), h && h()) }) } function c() { "undefined" != typeof d && (m('.sub-classify').each(function() { l(m(this).children(':first-child'));}), o(m('.classify > :first-child')));} var d, f, h, m = n(2), g = n(9); t.initFilter = p, t.showFilter = r, t.hideFilter = i, t.resetFilter = c }, function(e, t, n) { var i = n(2), r = {}; i('.query-param').each(function() { var e = i(this); r[e.data('attr')] = e.val() }), e.exports = r }, function(e, t, n) { var i = n(2), r = i('#suspend-cart'); i.ajax({type:'GET', url:'/cart/index/count', success: function(e) { var t; 200 === e.code && (t = e.data.cart_goods_count, t > 99 && (t='99+'), 0 === t && i('.cart-count').remove(), r.find('.cart-count').html(t).removeClass('hide')) }});},,,,,,,,,, function(e, t, n) { function i(e) { var t = new RegExp("(^|&)" + e+'=([^&]*)(&|$)'), n = window.location.search.substr(1).match(t); return null !== n ? n[2]:null } function r(e) { var t; return e.hasClass('new') ? t='newest':e.hasClass('price') ? t='price':e.hasClass('discount') ? t='discount':e.hasClass('sale') ? t='sale':e.hasClass('all') && (t='all'), t } function a(e) { var t, n, i, a, s, u = {}; if (!o) { if (e) { for (n in S)S.hasOwnProperty(n) && (S[n].reload = !0); switch (C.children('.active').removeClass('active'), E.addClass('active'), e.type) { case'gender':t = {gender: e.id}; break; case'brand':t = {brand: e.id}; break; case'sort':t = {sort: e.id}; break; case'color':t = {color: e.id}; break; case'size':t = {size: e.id}; break; case'price':t = {price: e.id}; break; case'discount':t = {discount: e.id}; break; case'p_d':t = {p_d: e.id};}l.extend(T, t) } if (a = r(E), i = S[a], s = i.page + 1, i.reload)s = 1; else if (i.end) return; l('.sale-vip-page').length > 0 ? T.saleType = 2:l('.sale-channel-page').length > 0 && (T.saleType = 3), l.extend(u, T, {type: a, order: i.order, page: s}), o = !0, f.showLoadingMask(), l.ajax({type:'GET', url:'/product/sale/search', data: u, success: function(e) { var t, n; switch (a) { case'newest':t = m; break; case'price':t = v; break; case'discount':t = g; break; case'sale':t = w; break; case'all':t = y;}t.hasClass('hide') && (t.siblings().addClass('hide'), t.removeClass('hide')), "" === e ? (i.end = !0, i.reload && t.html(b)):i.reload ? (t.html(e), p(t.find('.lazy'))):(n = t.find('.good-info').length, t.append(e), p(t.find(".good-info:gt(" + (n - 1)+') .lazy'))), i.reload = !1, i.page = s, o = !1, f.hideLoadingMask(), window.rePosFooter(), l('.good-detail-text .name').each(function() { var e = l(this), t = e.find('a'); t[0].mlellipsis(2) });}, error: function() { c.show('网络断开连接了~'), o = !1, f.hideLoadingMask() }});} } function s() { l(window).scrollTop() + x > l(document).height() - .25 * h.height() - 50 && "undefined" != typeof E && a();} var o, l = n(2), u = n(14), p = n(4), c = n(11), d = n(18), f = n(12), h = l('#goods-container'), m = h.find('.new-goods'), g = h.find('.discount-goods'), v = h.find('.price-goods'), y = h.find('.all-goods'), w = h.find('.sale-goods'), x = l(window).height(), b = '<p class="no-result">未找到相关搜索结果</p>', T = n(19), C = l('#list-nav'), S = {all: {order: 1, reload: !0, page: 0, end: !1}, newest: {order: 1, reload: !0, page: 0, end: !1}, price: {order: 1, reload: !0, page: 0, end: !1}, discount: {order: 1, reload: !0, page: 0, end: !1}, sale: {order: 0, reload: !0, page: 0, end: !1}}, E = C.find('.active'); n(20), n(8), u.init(), p(l('img.lazy')), l.extend(T, {yhChannel: i('channel')}), l.ajax({type:'GET', url:'/product/sale/filter', data: T, success: function(e) { h.append(e), d.initFilter({fCbFn: a, hCbFn: function() { E.addClass('active'), E.siblings('.filter').removeClass('active');}, missStatus: !0});}}), p(l('.lazy')), C.bind('contextmenu', function() { return !1 }), C.on('touchend touchcancel', function(e) { var t, n, i, s = l(e.target).closest('li'); if (e.preventDefault(), "undefined" != typeof s && 0 !== s.length) { if (s.hasClass('filter'))s.hasClass('active') ? (d.hideFilter(), E.addClass('active'), s.removeClass('active')):(E = s.siblings('.active'), E.removeClass('active'), s.addClass('active'), d.showFilter()); else { if (n = r(s), t = S[n], s.hasClass('active')) { if (s.hasClass('new') || s.hasClass('sale') || s.hasClass('all')) return; (s.hasClass('price') || s.hasClass('discount')) && (s.find('.icon > .iconfont').toggleClass('cur'), E = s, t.reload = !0, t.order = 0 === t.order ? 1:0) } else { if (i = s.siblings('.active'), E = s, i.hasClass('filter'))d.hideFilter(); else switch (h.children('.container:not(.hide)').addClass('hide'), n) { case'newest':m.removeClass('hide'); break; case'price':v.removeClass('hide'); break; case'discount':g.removeClass('hide'); break; case'sale':w.removeClass('hide'); break; case'all':y.removeClass('hide') }i.removeClass('active'), s.addClass('active') }t.reload && a();}e.stopPropagation() } }), l(window).scroll(function() { window.requestAnimationFrame(s) }), a(), C.on('touchstart','li', function() { l(this).addClass('bytouch');}).on('touchend touchcancel', function() { C.find('li').removeClass('bytouch') });}]);