Skip to content

Instantly share code, notes, and snippets.

@austinpray
Last active August 29, 2015 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save austinpray/a1a570c49c679744fd5b to your computer and use it in GitHub Desktop.
Save austinpray/a1a570c49c679744fd5b to your computer and use it in GitHub Desktop.
+ function(t) {
"use strict";
function e() {
var t = document.createElement("bootstrap"),
e = {
WebkitTransition: "webkitTransitionEnd",
MozTransition: "transitionend",
OTransition: "oTransitionEnd otransitionend",
transition: "transitionend"
};
for (var i in e)
if (void 0 !== t.style[i]) return {
end: e[i]
};
return !1
}
t.fn.emulateTransitionEnd = function(e) {
var i = !1,
o = this;
t(this).one("bsTransitionEnd", function() {
i = !0
});
var s = function() {
i || t(o).trigger(t.support.transition.end)
};
return setTimeout(s, e), this
}, t(function() {
t.support.transition = e(), t.support.transition && (t.event.special.bsTransitionEnd = {
bindType: t.support.transition.end,
delegateType: t.support.transition.end,
handle: function(e) {
return t(e.target).is(this) ? e.handleObj.handler.apply(this, arguments) : void 0
}
})
})
}(jQuery), + function(t) {
"use strict";
function e(e) {
return this.each(function() {
var i = t(this),
s = i.data("bs.alert");
s || i.data("bs.alert", s = new o(this)), "string" == typeof e && s[e].call(i)
})
}
var i = '[data-dismiss="alert"]',
o = function(e) {
t(e).on("click", i, this.close)
};
o.VERSION = "3.3.4", o.TRANSITION_DURATION = 150, o.prototype.close = function(e) {
function i() {
r.detach().trigger("closed.bs.alert").remove()
}
var s = t(this),
n = s.attr("data-target");
n || (n = s.attr("href"), n = n && n.replace(/.*(?=#[^\s]*$)/, ""));
var r = t(n);
e && e.preventDefault(), r.length || (r = s.closest(".alert")), r.trigger(e = t.Event("close.bs.alert")), e.isDefaultPrevented() || (r.removeClass("in"), t.support.transition && r.hasClass("fade") ? r.one("bsTransitionEnd", i).emulateTransitionEnd(o.TRANSITION_DURATION) : i())
};
var s = t.fn.alert;
t.fn.alert = e, t.fn.alert.Constructor = o, t.fn.alert.noConflict = function() {
return t.fn.alert = s, this
}, t(document).on("click.bs.alert.data-api", i, o.prototype.close)
}(jQuery), + function(t) {
"use strict";
function e(e) {
return this.each(function() {
var o = t(this),
s = o.data("bs.button"),
n = "object" == typeof e && e;
s || o.data("bs.button", s = new i(this, n)), "toggle" == e ? s.toggle() : e && s.setState(e)
})
}
var i = function(e, o) {
this.$element = t(e), this.options = t.extend({}, i.DEFAULTS, o), this.isLoading = !1
};
i.VERSION = "3.3.4", i.DEFAULTS = {
loadingText: "loading..."
}, i.prototype.setState = function(e) {
var i = "disabled",
o = this.$element,
s = o.is("input") ? "val" : "html",
n = o.data();
e += "Text", null == n.resetText && o.data("resetText", o[s]()), setTimeout(t.proxy(function() {
o[s](null == n[e] ? this.options[e] : n[e]), "loadingText" == e ? (this.isLoading = !0, o.addClass(i).attr(i, i)) : this.isLoading && (this.isLoading = !1, o.removeClass(i).removeAttr(i))
}, this), 0)
}, i.prototype.toggle = function() {
var t = !0,
e = this.$element.closest('[data-toggle="buttons"]');
if (e.length) {
var i = this.$element.find("input");
"radio" == i.prop("type") && (i.prop("checked") && this.$element.hasClass("active") ? t = !1 : e.find(".active").removeClass("active")), t && i.prop("checked", !this.$element.hasClass("active")).trigger("change")
} else this.$element.attr("aria-pressed", !this.$element.hasClass("active"));
t && this.$element.toggleClass("active")
};
var o = t.fn.button;
t.fn.button = e, t.fn.button.Constructor = i, t.fn.button.noConflict = function() {
return t.fn.button = o, this
}, t(document).on("click.bs.button.data-api", '[data-toggle^="button"]', function(i) {
var o = t(i.target);
o.hasClass("btn") || (o = o.closest(".btn")), e.call(o, "toggle"), i.preventDefault()
}).on("focus.bs.button.data-api blur.bs.button.data-api", '[data-toggle^="button"]', function(e) {
t(e.target).closest(".btn").toggleClass("focus", /^focus(in)?$/.test(e.type))
})
}(jQuery), + function(t) {
"use strict";
function e(e) {
return this.each(function() {
var o = t(this),
s = o.data("bs.carousel"),
n = t.extend({}, i.DEFAULTS, o.data(), "object" == typeof e && e),
r = "string" == typeof e ? e : n.slide;
s || o.data("bs.carousel", s = new i(this, n)), "number" == typeof e ? s.to(e) : r ? s[r]() : n.interval && s.pause().cycle()
})
}
var i = function(e, i) {
this.$element = t(e), this.$indicators = this.$element.find(".carousel-indicators"), this.options = i, this.paused = null, this.sliding = null, this.interval = null, this.$active = null, this.$items = null, this.options.keyboard && this.$element.on("keydown.bs.carousel", t.proxy(this.keydown, this)), "hover" == this.options.pause && !("ontouchstart" in document.documentElement) && this.$element.on("mouseenter.bs.carousel", t.proxy(this.pause, this)).on("mouseleave.bs.carousel", t.proxy(this.cycle, this))
};
i.VERSION = "3.3.4", i.TRANSITION_DURATION = 600, i.DEFAULTS = {
interval: 5e3,
pause: "hover",
wrap: !0,
keyboard: !0
}, i.prototype.keydown = function(t) {
if (!/input|textarea/i.test(t.target.tagName)) {
switch (t.which) {
case 37:
this.prev();
break;
case 39:
this.next();
break;
default:
return
}
t.preventDefault()
}
}, i.prototype.cycle = function(e) {
return e || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(t.proxy(this.next, this), this.options.interval)), this
}, i.prototype.getItemIndex = function(t) {
return this.$items = t.parent().children(".item"), this.$items.index(t || this.$active)
}, i.prototype.getItemForDirection = function(t, e) {
var i = this.getItemIndex(e),
o = "prev" == t && 0 === i || "next" == t && i == this.$items.length - 1;
if (o && !this.options.wrap) return e;
var s = "prev" == t ? -1 : 1,
n = (i + s) % this.$items.length;
return this.$items.eq(n)
}, i.prototype.to = function(t) {
var e = this,
i = this.getItemIndex(this.$active = this.$element.find(".item.active"));
return t > this.$items.length - 1 || 0 > t ? void 0 : this.sliding ? this.$element.one("slid.bs.carousel", function() {
e.to(t)
}) : i == t ? this.pause().cycle() : this.slide(t > i ? "next" : "prev", this.$items.eq(t))
}, i.prototype.pause = function(e) {
return e || (this.paused = !0), this.$element.find(".next, .prev").length && t.support.transition && (this.$element.trigger(t.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this
}, i.prototype.next = function() {
return this.sliding ? void 0 : this.slide("next")
}, i.prototype.prev = function() {
return this.sliding ? void 0 : this.slide("prev")
}, i.prototype.slide = function(e, o) {
var s = this.$element.find(".item.active"),
n = o || this.getItemForDirection(e, s),
r = this.interval,
a = "next" == e ? "left" : "right",
l = this;
if (n.hasClass("active")) return this.sliding = !1;
var d = n[0],
c = t.Event("slide.bs.carousel", {
relatedTarget: d,
direction: a
});
if (this.$element.trigger(c), !c.isDefaultPrevented()) {
if (this.sliding = !0, r && this.pause(), this.$indicators.length) {
this.$indicators.find(".active").removeClass("active");
var p = t(this.$indicators.children()[this.getItemIndex(n)]);
p && p.addClass("active")
}
var h = t.Event("slid.bs.carousel", {
relatedTarget: d,
direction: a
});
return t.support.transition && this.$element.hasClass("slide") ? (n.addClass(e), n[0].offsetWidth, s.addClass(a), n.addClass(a), s.one("bsTransitionEnd", function() {
n.removeClass([e, a].join(" ")).addClass("active"), s.removeClass(["active", a].join(" ")), l.sliding = !1, setTimeout(function() {
l.$element.trigger(h)
}, 0)
}).emulateTransitionEnd(i.TRANSITION_DURATION)) : (s.removeClass("active"), n.addClass("active"), this.sliding = !1, this.$element.trigger(h)), r && this.cycle(), this
}
};
var o = t.fn.carousel;
t.fn.carousel = e, t.fn.carousel.Constructor = i, t.fn.carousel.noConflict = function() {
return t.fn.carousel = o, this
};
var s = function(i) {
var o, s = t(this),
n = t(s.attr("data-target") || (o = s.attr("href")) && o.replace(/.*(?=#[^\s]+$)/, ""));
if (n.hasClass("carousel")) {
var r = t.extend({}, n.data(), s.data()),
a = s.attr("data-slide-to");
a && (r.interval = !1), e.call(n, r), a && n.data("bs.carousel").to(a), i.preventDefault()
}
};
t(document).on("click.bs.carousel.data-api", "[data-slide]", s).on("click.bs.carousel.data-api", "[data-slide-to]", s), t(window).on("load", function() {
t('[data-ride="carousel"]').each(function() {
var i = t(this);
e.call(i, i.data())
})
})
}(jQuery), + function(t) {
"use strict";
function e(e) {
var i, o = e.attr("data-target") || (i = e.attr("href")) && i.replace(/.*(?=#[^\s]+$)/, "");
return t(o)
}
function i(e) {
return this.each(function() {
var i = t(this),
s = i.data("bs.collapse"),
n = t.extend({}, o.DEFAULTS, i.data(), "object" == typeof e && e);
!s && n.toggle && /show|hide/.test(e) && (n.toggle = !1), s || i.data("bs.collapse", s = new o(this, n)), "string" == typeof e && s[e]()
})
}
var o = function(e, i) {
this.$element = t(e), this.options = t.extend({}, o.DEFAULTS, i), this.$trigger = t('[data-toggle="collapse"][href="#' + e.id + '"],[data-toggle="collapse"][data-target="#' + e.id + '"]'), this.transitioning = null, this.options.parent ? this.$parent = this.getParent() : this.addAriaAndCollapsedClass(this.$element, this.$trigger), this.options.toggle && this.toggle()
};
o.VERSION = "3.3.4", o.TRANSITION_DURATION = 350, o.DEFAULTS = {
toggle: !0
}, o.prototype.dimension = function() {
var t = this.$element.hasClass("width");
return t ? "width" : "height"
}, o.prototype.show = function() {
if (!this.transitioning && !this.$element.hasClass("in")) {
var e, s = this.$parent && this.$parent.children(".panel").children(".in, .collapsing");
if (!(s && s.length && (e = s.data("bs.collapse"), e && e.transitioning))) {
var n = t.Event("show.bs.collapse");
if (this.$element.trigger(n), !n.isDefaultPrevented()) {
s && s.length && (i.call(s, "hide"), e || s.data("bs.collapse", null));
var r = this.dimension();
this.$element.removeClass("collapse").addClass("collapsing")[r](0).attr("aria-expanded", !0), this.$trigger.removeClass("collapsed").attr("aria-expanded", !0), this.transitioning = 1;
var a = function() {
this.$element.removeClass("collapsing").addClass("collapse in")[r](""), this.transitioning = 0, this.$element.trigger("shown.bs.collapse")
};
if (!t.support.transition) return a.call(this);
var l = t.camelCase(["scroll", r].join("-"));
this.$element.one("bsTransitionEnd", t.proxy(a, this)).emulateTransitionEnd(o.TRANSITION_DURATION)[r](this.$element[0][l])
}
}
}
}, o.prototype.hide = function() {
if (!this.transitioning && this.$element.hasClass("in")) {
var e = t.Event("hide.bs.collapse");
if (this.$element.trigger(e), !e.isDefaultPrevented()) {
var i = this.dimension();
this.$element[i](this.$element[i]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded", !1), this.$trigger.addClass("collapsed").attr("aria-expanded", !1), this.transitioning = 1;
var s = function() {
this.transitioning = 0, this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")
};
return t.support.transition ? void this.$element[i](0).one("bsTransitionEnd", t.proxy(s, this)).emulateTransitionEnd(o.TRANSITION_DURATION) : s.call(this)
}
}
}, o.prototype.toggle = function() {
this[this.$element.hasClass("in") ? "hide" : "show"]()
}, o.prototype.getParent = function() {
return t(this.options.parent).find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]').each(t.proxy(function(i, o) {
var s = t(o);
this.addAriaAndCollapsedClass(e(s), s)
}, this)).end()
}, o.prototype.addAriaAndCollapsedClass = function(t, e) {
var i = t.hasClass("in");
t.attr("aria-expanded", i), e.toggleClass("collapsed", !i).attr("aria-expanded", i)
};
var s = t.fn.collapse;
t.fn.collapse = i, t.fn.collapse.Constructor = o, t.fn.collapse.noConflict = function() {
return t.fn.collapse = s, this
}, t(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', function(o) {
var s = t(this);
s.attr("data-target") || o.preventDefault();
var n = e(s),
r = n.data("bs.collapse"),
a = r ? "toggle" : s.data();
i.call(n, a)
})
}(jQuery), + function(t) {
"use strict";
function e(e) {
e && 3 === e.which || (t(s).remove(), t(n).each(function() {
var o = t(this),
s = i(o),
n = {
relatedTarget: this
};
s.hasClass("open") && (s.trigger(e = t.Event("hide.bs.dropdown", n)), e.isDefaultPrevented() || (o.attr("aria-expanded", "false"), s.removeClass("open").trigger("hidden.bs.dropdown", n)))
}))
}
function i(e) {
var i = e.attr("data-target");
i || (i = e.attr("href"), i = i && /#[A-Za-z]/.test(i) && i.replace(/.*(?=#[^\s]*$)/, ""));
var o = i && t(i);
return o && o.length ? o : e.parent()
}
function o(e) {
return this.each(function() {
var i = t(this),
o = i.data("bs.dropdown");
o || i.data("bs.dropdown", o = new r(this)), "string" == typeof e && o[e].call(i)
})
}
var s = ".dropdown-backdrop",
n = '[data-toggle="dropdown"]',
r = function(e) {
t(e).on("click.bs.dropdown", this.toggle)
};
r.VERSION = "3.3.4", r.prototype.toggle = function(o) {
var s = t(this);
if (!s.is(".disabled, :disabled")) {
var n = i(s),
r = n.hasClass("open");
if (e(), !r) {
"ontouchstart" in document.documentElement && !n.closest(".navbar-nav").length && t('<div class="dropdown-backdrop"/>').insertAfter(t(this)).on("click", e);
var a = {
relatedTarget: this
};
if (n.trigger(o = t.Event("show.bs.dropdown", a)), o.isDefaultPrevented()) return;
s.trigger("focus").attr("aria-expanded", "true"), n.toggleClass("open").trigger("shown.bs.dropdown", a)
}
return !1
}
}, r.prototype.keydown = function(e) {
if (/(38|40|27|32)/.test(e.which) && !/input|textarea/i.test(e.target.tagName)) {
var o = t(this);
if (e.preventDefault(), e.stopPropagation(), !o.is(".disabled, :disabled")) {
var s = i(o),
r = s.hasClass("open");
if (!r && 27 != e.which || r && 27 == e.which) return 27 == e.which && s.find(n).trigger("focus"), o.trigger("click");
var a = " li:not(.disabled):visible a",
l = s.find('[role="menu"]' + a + ', [role="listbox"]' + a);
if (l.length) {
var d = l.index(e.target);
38 == e.which && d > 0 && d--, 40 == e.which && d < l.length - 1 && d++, ~d || (d = 0), l.eq(d).trigger("focus")
}
}
}
};
var a = t.fn.dropdown;
t.fn.dropdown = o, t.fn.dropdown.Constructor = r, t.fn.dropdown.noConflict = function() {
return t.fn.dropdown = a, this
}, t(document).on("click.bs.dropdown.data-api", e).on("click.bs.dropdown.data-api", ".dropdown form", function(t) {
t.stopPropagation()
}).on("click.bs.dropdown.data-api", n, r.prototype.toggle).on("keydown.bs.dropdown.data-api", n, r.prototype.keydown).on("keydown.bs.dropdown.data-api", '[role="menu"]', r.prototype.keydown).on("keydown.bs.dropdown.data-api", '[role="listbox"]', r.prototype.keydown)
}(jQuery), + function(t) {
"use strict";
function e(e, o) {
return this.each(function() {
var s = t(this),
n = s.data("bs.modal"),
r = t.extend({}, i.DEFAULTS, s.data(), "object" == typeof e && e);
n || s.data("bs.modal", n = new i(this, r)), "string" == typeof e ? n[e](o) : r.show && n.show(o)
})
}
var i = function(e, i) {
this.options = i, this.$body = t(document.body), this.$element = t(e), this.$dialog = this.$element.find(".modal-dialog"), this.$backdrop = null, this.isShown = null, this.originalBodyPad = null, this.scrollbarWidth = 0, this.ignoreBackdropClick = !1, this.options.remote && this.$element.find(".modal-content").load(this.options.remote, t.proxy(function() {
this.$element.trigger("loaded.bs.modal")
}, this))
};
i.VERSION = "3.3.4", i.TRANSITION_DURATION = 300, i.BACKDROP_TRANSITION_DURATION = 150, i.DEFAULTS = {
backdrop: !0,
keyboard: !0,
show: !0
}, i.prototype.toggle = function(t) {
return this.isShown ? this.hide() : this.show(t)
}, i.prototype.show = function(e) {
var o = this,
s = t.Event("show.bs.modal", {
relatedTarget: e
});
this.$element.trigger(s), this.isShown || s.isDefaultPrevented() || (this.isShown = !0, this.checkScrollbar(), this.setScrollbar(), this.$body.addClass("modal-open"), this.escape(), this.resize(), this.$element.on("click.dismiss.bs.modal", '[data-dismiss="modal"]', t.proxy(this.hide, this)), this.$dialog.on("mousedown.dismiss.bs.modal", function() {
o.$element.one("mouseup.dismiss.bs.modal", function(e) {
t(e.target).is(o.$element) && (o.ignoreBackdropClick = !0)
})
}), this.backdrop(function() {
var s = t.support.transition && o.$element.hasClass("fade");
o.$element.parent().length || o.$element.appendTo(o.$body), o.$element.show().scrollTop(0), o.adjustDialog(), s && o.$element[0].offsetWidth, o.$element.addClass("in").attr("aria-hidden", !1), o.enforceFocus();
var n = t.Event("shown.bs.modal", {
relatedTarget: e
});
s ? o.$dialog.one("bsTransitionEnd", function() {
o.$element.trigger("focus").trigger(n)
}).emulateTransitionEnd(i.TRANSITION_DURATION) : o.$element.trigger("focus").trigger(n)
}))
}, i.prototype.hide = function(e) {
e && e.preventDefault(), e = t.Event("hide.bs.modal"), this.$element.trigger(e), this.isShown && !e.isDefaultPrevented() && (this.isShown = !1, this.escape(), this.resize(), t(document).off("focusin.bs.modal"), this.$element.removeClass("in").attr("aria-hidden", !0).off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"), this.$dialog.off("mousedown.dismiss.bs.modal"), t.support.transition && this.$element.hasClass("fade") ? this.$element.one("bsTransitionEnd", t.proxy(this.hideModal, this)).emulateTransitionEnd(i.TRANSITION_DURATION) : this.hideModal())
}, i.prototype.enforceFocus = function() {
t(document).off("focusin.bs.modal").on("focusin.bs.modal", t.proxy(function(t) {
this.$element[0] === t.target || this.$element.has(t.target).length || this.$element.trigger("focus")
}, this))
}, i.prototype.escape = function() {
this.isShown && this.options.keyboard ? this.$element.on("keydown.dismiss.bs.modal", t.proxy(function(t) {
27 == t.which && this.hide()
}, this)) : this.isShown || this.$element.off("keydown.dismiss.bs.modal")
}, i.prototype.resize = function() {
this.isShown ? t(window).on("resize.bs.modal", t.proxy(this.handleUpdate, this)) : t(window).off("resize.bs.modal")
}, i.prototype.hideModal = function() {
var t = this;
this.$element.hide(), this.backdrop(function() {
t.$body.removeClass("modal-open"), t.resetAdjustments(), t.resetScrollbar(), t.$element.trigger("hidden.bs.modal")
})
}, i.prototype.removeBackdrop = function() {
this.$backdrop && this.$backdrop.remove(), this.$backdrop = null
}, i.prototype.backdrop = function(e) {
var o = this,
s = this.$element.hasClass("fade") ? "fade" : "";
if (this.isShown && this.options.backdrop) {
var n = t.support.transition && s;
if (this.$backdrop = t('<div class="modal-backdrop ' + s + '" />').appendTo(this.$body), this.$element.on("click.dismiss.bs.modal", t.proxy(function(t) {
return this.ignoreBackdropClick ? void(this.ignoreBackdropClick = !1) : void(t.target === t.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus() : this.hide()))
}, this)), n && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !e) return;
n ? this.$backdrop.one("bsTransitionEnd", e).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION) : e()
} else if (!this.isShown && this.$backdrop) {
this.$backdrop.removeClass("in");
var r = function() {
o.removeBackdrop(), e && e()
};
t.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one("bsTransitionEnd", r).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION) : r()
} else e && e()
}, i.prototype.handleUpdate = function() {
this.adjustDialog()
}, i.prototype.adjustDialog = function() {
var t = this.$element[0].scrollHeight > document.documentElement.clientHeight;
this.$element.css({
paddingLeft: !this.bodyIsOverflowing && t ? this.scrollbarWidth : "",
paddingRight: this.bodyIsOverflowing && !t ? this.scrollbarWidth : ""
})
}, i.prototype.resetAdjustments = function() {
this.$element.css({
paddingLeft: "",
paddingRight: ""
})
}, i.prototype.checkScrollbar = function() {
var t = window.innerWidth;
if (!t) {
var e = document.documentElement.getBoundingClientRect();
t = e.right - Math.abs(e.left)
}
this.bodyIsOverflowing = document.body.clientWidth < t, this.scrollbarWidth = this.measureScrollbar()
}, i.prototype.setScrollbar = function() {
var t = parseInt(this.$body.css("padding-right") || 0, 10);
this.originalBodyPad = document.body.style.paddingRight || "", this.bodyIsOverflowing && this.$body.css("padding-right", t + this.scrollbarWidth)
}, i.prototype.resetScrollbar = function() {
this.$body.css("padding-right", this.originalBodyPad)
}, i.prototype.measureScrollbar = function() {
var t = document.createElement("div");
t.className = "modal-scrollbar-measure", this.$body.append(t);
var e = t.offsetWidth - t.clientWidth;
return this.$body[0].removeChild(t), e
};
var o = t.fn.modal;
t.fn.modal = e, t.fn.modal.Constructor = i, t.fn.modal.noConflict = function() {
return t.fn.modal = o, this
}, t(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function(i) {
var o = t(this),
s = o.attr("href"),
n = t(o.attr("data-target") || s && s.replace(/.*(?=#[^\s]+$)/, "")),
r = n.data("bs.modal") ? "toggle" : t.extend({
remote: !/#/.test(s) && s
}, n.data(), o.data());
o.is("a") && i.preventDefault(), n.one("show.bs.modal", function(t) {
t.isDefaultPrevented() || n.one("hidden.bs.modal", function() {
o.is(":visible") && o.trigger("focus")
})
}), e.call(n, r, this)
})
}(jQuery), + function(t) {
"use strict";
function e(e) {
return this.each(function() {
var o = t(this),
s = o.data("bs.tooltip"),
n = "object" == typeof e && e;
(s || !/destroy|hide/.test(e)) && (s || o.data("bs.tooltip", s = new i(this, n)), "string" == typeof e && s[e]())
})
}
var i = function(t, e) {
this.type = null, this.options = null, this.enabled = null, this.timeout = null, this.hoverState = null, this.$element = null, this.init("tooltip", t, e)
};
i.VERSION = "3.3.4", i.TRANSITION_DURATION = 150, i.DEFAULTS = {
animation: !0,
placement: "top",
selector: !1,
template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
trigger: "hover focus",
title: "",
delay: 0,
html: !1,
container: !1,
viewport: {
selector: "body",
padding: 0
}
}, i.prototype.init = function(e, i, o) {
if (this.enabled = !0, this.type = e, this.$element = t(i), this.options = this.getOptions(o), this.$viewport = this.options.viewport && t(this.options.viewport.selector || this.options.viewport), this.$element[0] instanceof document.constructor && !this.options.selector) throw new Error("`selector` option must be specified when initializing " + this.type + " on the window.document object!");
for (var s = this.options.trigger.split(" "), n = s.length; n--;) {
var r = s[n];
if ("click" == r) this.$element.on("click." + this.type, this.options.selector, t.proxy(this.toggle, this));
else if ("manual" != r) {
var a = "hover" == r ? "mouseenter" : "focusin",
l = "hover" == r ? "mouseleave" : "focusout";
this.$element.on(a + "." + this.type, this.options.selector, t.proxy(this.enter, this)), this.$element.on(l + "." + this.type, this.options.selector, t.proxy(this.leave, this))
}
}
this.options.selector ? this._options = t.extend({}, this.options, {
trigger: "manual",
selector: ""
}) : this.fixTitle()
}, i.prototype.getDefaults = function() {
return i.DEFAULTS
}, i.prototype.getOptions = function(e) {
return e = t.extend({}, this.getDefaults(), this.$element.data(), e), e.delay && "number" == typeof e.delay && (e.delay = {
show: e.delay,
hide: e.delay
}), e
}, i.prototype.getDelegateOptions = function() {
var e = {},
i = this.getDefaults();
return this._options && t.each(this._options, function(t, o) {
i[t] != o && (e[t] = o)
}), e
}, i.prototype.enter = function(e) {
var i = e instanceof this.constructor ? e : t(e.currentTarget).data("bs." + this.type);
return i && i.$tip && i.$tip.is(":visible") ? void(i.hoverState = "in") : (i || (i = new this.constructor(e.currentTarget, this.getDelegateOptions()), t(e.currentTarget).data("bs." + this.type, i)), clearTimeout(i.timeout), i.hoverState = "in", i.options.delay && i.options.delay.show ? void(i.timeout = setTimeout(function() {
"in" == i.hoverState && i.show()
}, i.options.delay.show)) : i.show())
}, i.prototype.leave = function(e) {
var i = e instanceof this.constructor ? e : t(e.currentTarget).data("bs." + this.type);
return i || (i = new this.constructor(e.currentTarget, this.getDelegateOptions()), t(e.currentTarget).data("bs." + this.type, i)), clearTimeout(i.timeout), i.hoverState = "out", i.options.delay && i.options.delay.hide ? void(i.timeout = setTimeout(function() {
"out" == i.hoverState && i.hide()
}, i.options.delay.hide)) : i.hide()
}, i.prototype.show = function() {
var e = t.Event("show.bs." + this.type);
if (this.hasContent() && this.enabled) {
this.$element.trigger(e);
var o = t.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]);
if (e.isDefaultPrevented() || !o) return;
var s = this,
n = this.tip(),
r = this.getUID(this.type);
this.setContent(), n.attr("id", r), this.$element.attr("aria-describedby", r), this.options.animation && n.addClass("fade");
var a = "function" == typeof this.options.placement ? this.options.placement.call(this, n[0], this.$element[0]) : this.options.placement,
l = /\s?auto?\s?/i,
d = l.test(a);
d && (a = a.replace(l, "") || "top"), n.detach().css({
top: 0,
left: 0,
display: "block"
}).addClass(a).data("bs." + this.type, this), this.options.container ? n.appendTo(this.options.container) : n.insertAfter(this.$element);
var c = this.getPosition(),
p = n[0].offsetWidth,
h = n[0].offsetHeight;
if (d) {
var u = a,
f = this.options.container ? t(this.options.container) : this.$element.parent(),
v = this.getPosition(f);
a = "bottom" == a && c.bottom + h > v.bottom ? "top" : "top" == a && c.top - h < v.top ? "bottom" : "right" == a && c.right + p > v.width ? "left" : "left" == a && c.left - p < v.left ? "right" : a, n.removeClass(u).addClass(a)
}
var g = this.getCalculatedOffset(a, c, p, h);
this.applyPlacement(g, a);
var m = function() {
var t = s.hoverState;
s.$element.trigger("shown.bs." + s.type), s.hoverState = null, "out" == t && s.leave(s)
};
t.support.transition && this.$tip.hasClass("fade") ? n.one("bsTransitionEnd", m).emulateTransitionEnd(i.TRANSITION_DURATION) : m()
}
}, i.prototype.applyPlacement = function(e, i) {
var o = this.tip(),
s = o[0].offsetWidth,
n = o[0].offsetHeight,
r = parseInt(o.css("margin-top"), 10),
a = parseInt(o.css("margin-left"), 10);
isNaN(r) && (r = 0), isNaN(a) && (a = 0), e.top = e.top + r, e.left = e.left + a, t.offset.setOffset(o[0], t.extend({
using: function(t) {
o.css({
top: Math.round(t.top),
left: Math.round(t.left)
})
}
}, e), 0), o.addClass("in");
var l = o[0].offsetWidth,
d = o[0].offsetHeight;
"top" == i && d != n && (e.top = e.top + n - d);
var c = this.getViewportAdjustedDelta(i, e, l, d);
c.left ? e.left += c.left : e.top += c.top;
var p = /top|bottom/.test(i),
h = p ? 2 * c.left - s + l : 2 * c.top - n + d,
u = p ? "offsetWidth" : "offsetHeight";
o.offset(e), this.replaceArrow(h, o[0][u], p)
}, i.prototype.replaceArrow = function(t, e, i) {
this.arrow().css(i ? "left" : "top", 50 * (1 - t / e) + "%").css(i ? "top" : "left", "")
}, i.prototype.setContent = function() {
var t = this.tip(),
e = this.getTitle();
t.find(".tooltip-inner")[this.options.html ? "html" : "text"](e), t.removeClass("fade in top bottom left right")
}, i.prototype.hide = function(e) {
function o() {
"in" != s.hoverState && n.detach(), s.$element.removeAttr("aria-describedby").trigger("hidden.bs." + s.type), e && e()
}
var s = this,
n = t(this.$tip),
r = t.Event("hide.bs." + this.type);
return this.$element.trigger(r), r.isDefaultPrevented() ? void 0 : (n.removeClass("in"), t.support.transition && n.hasClass("fade") ? n.one("bsTransitionEnd", o).emulateTransitionEnd(i.TRANSITION_DURATION) : o(), this.hoverState = null, this)
}, i.prototype.fixTitle = function() {
var t = this.$element;
(t.attr("title") || "string" != typeof t.attr("data-original-title")) && t.attr("data-original-title", t.attr("title") || "").attr("title", "")
}, i.prototype.hasContent = function() {
return this.getTitle()
}, i.prototype.getPosition = function(e) {
e = e || this.$element;
var i = e[0],
o = "BODY" == i.tagName,
s = i.getBoundingClientRect();
null == s.width && (s = t.extend({}, s, {
width: s.right - s.left,
height: s.bottom - s.top
}));
var n = o ? {
top: 0,
left: 0
} : e.offset(),
r = {
scroll: o ? document.documentElement.scrollTop || document.body.scrollTop : e.scrollTop()
},
a = o ? {
width: t(window).width(),
height: t(window).height()
} : null;
return t.extend({}, s, r, a, n)
}, i.prototype.getCalculatedOffset = function(t, e, i, o) {
return "bottom" == t ? {
top: e.top + e.height,
left: e.left + e.width / 2 - i / 2
} : "top" == t ? {
top: e.top - o,
left: e.left + e.width / 2 - i / 2
} : "left" == t ? {
top: e.top + e.height / 2 - o / 2,
left: e.left - i
} : {
top: e.top + e.height / 2 - o / 2,
left: e.left + e.width
}
}, i.prototype.getViewportAdjustedDelta = function(t, e, i, o) {
var s = {
top: 0,
left: 0
};
if (!this.$viewport) return s;
var n = this.options.viewport && this.options.viewport.padding || 0,
r = this.getPosition(this.$viewport);
if (/right|left/.test(t)) {
var a = e.top - n - r.scroll,
l = e.top + n - r.scroll + o;
a < r.top ? s.top = r.top - a : l > r.top + r.height && (s.top = r.top + r.height - l)
} else {
var d = e.left - n,
c = e.left + n + i;
d < r.left ? s.left = r.left - d : c > r.width && (s.left = r.left + r.width - c)
}
return s
}, i.prototype.getTitle = function() {
var t, e = this.$element,
i = this.options;
return t = e.attr("data-original-title") || ("function" == typeof i.title ? i.title.call(e[0]) : i.title)
}, i.prototype.getUID = function(t) {
do t += ~~(1e6 * Math.random()); while (document.getElementById(t));
return t
}, i.prototype.tip = function() {
return this.$tip = this.$tip || t(this.options.template)
}, i.prototype.arrow = function() {
return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
}, i.prototype.enable = function() {
this.enabled = !0
}, i.prototype.disable = function() {
this.enabled = !1
}, i.prototype.toggleEnabled = function() {
this.enabled = !this.enabled
}, i.prototype.toggle = function(e) {
var i = this;
e && (i = t(e.currentTarget).data("bs." + this.type), i || (i = new this.constructor(e.currentTarget, this.getDelegateOptions()), t(e.currentTarget).data("bs." + this.type, i))), i.tip().hasClass("in") ? i.leave(i) : i.enter(i)
}, i.prototype.destroy = function() {
var t = this;
clearTimeout(this.timeout), this.hide(function() {
t.$element.off("." + t.type).removeData("bs." + t.type)
})
};
var o = t.fn.tooltip;
t.fn.tooltip = e, t.fn.tooltip.Constructor = i, t.fn.tooltip.noConflict = function() {
return t.fn.tooltip = o, this
}
}(jQuery), + function(t) {
"use strict";
function e(e) {
return this.each(function() {
var o = t(this),
s = o.data("bs.popover"),
n = "object" == typeof e && e;
(s || !/destroy|hide/.test(e)) && (s || o.data("bs.popover", s = new i(this, n)), "string" == typeof e && s[e]())
})
}
var i = function(t, e) {
this.init("popover", t, e)
};
if (!t.fn.tooltip) throw new Error("Popover requires tooltip.js");
i.VERSION = "3.3.4", i.DEFAULTS = t.extend({}, t.fn.tooltip.Constructor.DEFAULTS, {
placement: "right",
trigger: "click",
content: "",
template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
}), i.prototype = t.extend({}, t.fn.tooltip.Constructor.prototype), i.prototype.constructor = i, i.prototype.getDefaults = function() {
return i.DEFAULTS
}, i.prototype.setContent = function() {
var t = this.tip(),
e = this.getTitle(),
i = this.getContent();
t.find(".popover-title")[this.options.html ? "html" : "text"](e), t.find(".popover-content").children().detach().end()[this.options.html ? "string" == typeof i ? "html" : "append" : "text"](i), t.removeClass("fade top bottom left right in"), t.find(".popover-title").html() || t.find(".popover-title").hide()
}, i.prototype.hasContent = function() {
return this.getTitle() || this.getContent()
}, i.prototype.getContent = function() {
var t = this.$element,
e = this.options;
return t.attr("data-content") || ("function" == typeof e.content ? e.content.call(t[0]) : e.content)
}, i.prototype.arrow = function() {
return this.$arrow = this.$arrow || this.tip().find(".arrow")
};
var o = t.fn.popover;
t.fn.popover = e, t.fn.popover.Constructor = i, t.fn.popover.noConflict = function() {
return t.fn.popover = o, this
}
}(jQuery), + function(t) {
"use strict";
function e(i, o) {
this.$body = t(document.body), this.$scrollElement = t(t(i).is(document.body) ? window : i), this.options = t.extend({}, e.DEFAULTS, o), this.selector = (this.options.target || "") + " .nav li > a", this.offsets = [], this.targets = [], this.activeTarget = null, this.scrollHeight = 0, this.$scrollElement.on("scroll.bs.scrollspy", t.proxy(this.process, this)), this.refresh(), this.process()
}
function i(i) {
return this.each(function() {
var o = t(this),
s = o.data("bs.scrollspy"),
n = "object" == typeof i && i;
s || o.data("bs.scrollspy", s = new e(this, n)), "string" == typeof i && s[i]()
})
}
e.VERSION = "3.3.4", e.DEFAULTS = {
offset: 10
}, e.prototype.getScrollHeight = function() {
return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
}, e.prototype.refresh = function() {
var e = this,
i = "offset",
o = 0;
this.offsets = [], this.targets = [], this.scrollHeight = this.getScrollHeight(), t.isWindow(this.$scrollElement[0]) || (i = "position", o = this.$scrollElement.scrollTop()), this.$body.find(this.selector).map(function() {
var e = t(this),
s = e.data("target") || e.attr("href"),
n = /^#./.test(s) && t(s);
return n && n.length && n.is(":visible") && [
[n[i]().top + o, s]
] || null
}).sort(function(t, e) {
return t[0] - e[0]
}).each(function() {
e.offsets.push(this[0]), e.targets.push(this[1])
})
}, e.prototype.process = function() {
var t, e = this.$scrollElement.scrollTop() + this.options.offset,
i = this.getScrollHeight(),
o = this.options.offset + i - this.$scrollElement.height(),
s = this.offsets,
n = this.targets,
r = this.activeTarget;
if (this.scrollHeight != i && this.refresh(), e >= o) return r != (t = n[n.length - 1]) && this.activate(t);
if (r && e < s[0]) return this.activeTarget = null, this.clear();
for (t = s.length; t--;) r != n[t] && e >= s[t] && (void 0 === s[t + 1] || e < s[t + 1]) && this.activate(n[t])
}, e.prototype.activate = function(e) {
this.activeTarget = e, this.clear();
var i = this.selector + '[data-target="' + e + '"],' + this.selector + '[href="' + e + '"]',
o = t(i).parents("li").addClass("active");
o.parent(".dropdown-menu").length && (o = o.closest("li.dropdown").addClass("active")), o.trigger("activate.bs.scrollspy")
}, e.prototype.clear = function() {
t(this.selector).parentsUntil(this.options.target, ".active").removeClass("active")
};
var o = t.fn.scrollspy;
t.fn.scrollspy = i, t.fn.scrollspy.Constructor = e, t.fn.scrollspy.noConflict = function() {
return t.fn.scrollspy = o, this
}, t(window).on("load.bs.scrollspy.data-api", function() {
t('[data-spy="scroll"]').each(function() {
var e = t(this);
i.call(e, e.data())
})
})
}(jQuery), + function(t) {
"use strict";
function e(e) {
return this.each(function() {
var o = t(this),
s = o.data("bs.tab");
s || o.data("bs.tab", s = new i(this)), "string" == typeof e && s[e]()
})
}
var i = function(e) {
this.element = t(e)
};
i.VERSION = "3.3.4", i.TRANSITION_DURATION = 150, i.prototype.show = function() {
var e = this.element,
i = e.closest("ul:not(.dropdown-menu)"),
o = e.data("target");
if (o || (o = e.attr("href"), o = o && o.replace(/.*(?=#[^\s]*$)/, "")), !e.parent("li").hasClass("active")) {
var s = i.find(".active:last a"),
n = t.Event("hide.bs.tab", {
relatedTarget: e[0]
}),
r = t.Event("show.bs.tab", {
relatedTarget: s[0]
});
if (s.trigger(n), e.trigger(r), !r.isDefaultPrevented() && !n.isDefaultPrevented()) {
var a = t(o);
this.activate(e.closest("li"), i), this.activate(a, a.parent(), function() {
s.trigger({
type: "hidden.bs.tab",
relatedTarget: e[0]
}), e.trigger({
type: "shown.bs.tab",
relatedTarget: s[0]
})
})
}
}
}, i.prototype.activate = function(e, o, s) {
function n() {
r.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !1), e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded", !0), a ? (e[0].offsetWidth, e.addClass("in")) : e.removeClass("fade"), e.parent(".dropdown-menu").length && e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !0), s && s()
}
var r = o.find("> .active"),
a = s && t.support.transition && (r.length && r.hasClass("fade") || !!o.find("> .fade").length);
r.length && a ? r.one("bsTransitionEnd", n).emulateTransitionEnd(i.TRANSITION_DURATION) : n(), r.removeClass("in")
};
var o = t.fn.tab;
t.fn.tab = e, t.fn.tab.Constructor = i, t.fn.tab.noConflict = function() {
return t.fn.tab = o, this
};
var s = function(i) {
i.preventDefault(), e.call(t(this), "show")
};
t(document).on("click.bs.tab.data-api", '[data-toggle="tab"]', s).on("click.bs.tab.data-api", '[data-toggle="pill"]', s)
}(jQuery), + function(t) {
"use strict";
function e(e) {
return this.each(function() {
var o = t(this),
s = o.data("bs.affix"),
n = "object" == typeof e && e;
s || o.data("bs.affix", s = new i(this, n)), "string" == typeof e && s[e]()
})
}
var i = function(e, o) {
this.options = t.extend({}, i.DEFAULTS, o), this.$target = t(this.options.target).on("scroll.bs.affix.data-api", t.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", t.proxy(this.checkPositionWithEventLoop, this)), this.$element = t(e), this.affixed = null, this.unpin = null, this.pinnedOffset = null, this.checkPosition()
};
i.VERSION = "3.3.4", i.RESET = "affix affix-top affix-bottom", i.DEFAULTS = {
offset: 0,
target: window
}, i.prototype.getState = function(t, e, i, o) {
var s = this.$target.scrollTop(),
n = this.$element.offset(),
r = this.$target.height();
if (null != i && "top" == this.affixed) return i > s ? "top" : !1;
if ("bottom" == this.affixed) return null != i ? s + this.unpin <= n.top ? !1 : "bottom" : t - o >= s + r ? !1 : "bottom";
var a = null == this.affixed,
l = a ? s : n.top,
d = a ? r : e;
return null != i && i >= s ? "top" : null != o && l + d >= t - o ? "bottom" : !1
}, i.prototype.getPinnedOffset = function() {
if (this.pinnedOffset) return this.pinnedOffset;
this.$element.removeClass(i.RESET).addClass("affix");
var t = this.$target.scrollTop(),
e = this.$element.offset();
return this.pinnedOffset = e.top - t
}, i.prototype.checkPositionWithEventLoop = function() {
setTimeout(t.proxy(this.checkPosition, this), 1)
}, i.prototype.checkPosition = function() {
if (this.$element.is(":visible")) {
var e = this.$element.height(),
o = this.options.offset,
s = o.top,
n = o.bottom,
r = t(document.body).height();
"object" != typeof o && (n = s = o), "function" == typeof s && (s = o.top(this.$element)), "function" == typeof n && (n = o.bottom(this.$element));
var a = this.getState(r, e, s, n);
if (this.affixed != a) {
null != this.unpin && this.$element.css("top", "");
var l = "affix" + (a ? "-" + a : ""),
d = t.Event(l + ".bs.affix");
if (this.$element.trigger(d), d.isDefaultPrevented()) return;
this.affixed = a, this.unpin = "bottom" == a ? this.getPinnedOffset() : null, this.$element.removeClass(i.RESET).addClass(l).trigger(l.replace("affix", "affixed") + ".bs.affix")
}
"bottom" == a && this.$element.offset({
top: r - e - n
})
}
};
var o = t.fn.affix;
t.fn.affix = e, t.fn.affix.Constructor = i, t.fn.affix.noConflict = function() {
return t.fn.affix = o, this
}, t(window).on("load", function() {
t('[data-spy="affix"]').each(function() {
var i = t(this),
o = i.data();
o.offset = o.offset || {}, null != o.offsetBottom && (o.offset.bottom = o.offsetBottom), null != o.offsetTop && (o.offset.top = o.offsetTop), e.call(i, o)
})
})
}(jQuery), ! function(t) {
"use strict";
"function" == typeof define && define.amd ? define(["jquery"], t) : "undefined" != typeof exports ? module.exports = t(require("jquery")) : t(jQuery)
}(function(t) {
"use strict";
var e = window.Slick || {};
e = function() {
function e(e, o) {
var s, n, r = this;
if (r.defaults = {
accessibility: !0,
adaptiveHeight: !1,
appendArrows: t(e),
appendDots: t(e),
arrows: !0,
asNavFor: null,
prevArrow: '<button type="button" data-role="none" class="slick-prev">Previous</button>',
nextArrow: '<button type="button" data-role="none" class="slick-next">Next</button>',
autoplay: !1,
autoplaySpeed: 3e3,
centerMode: !1,
centerPadding: "50px",
cssEase: "ease",
customPaging: function(t, e) {
return '<button type="button" data-role="none">' + (e + 1) + "</button>"
},
dots: !1,
dotsClass: "slick-dots",
draggable: !0,
easing: "linear",
fade: !1,
focusOnSelect: !1,
infinite: !0,
initialSlide: 0,
lazyLoad: "ondemand",
onBeforeChange: null,
onAfterChange: null,
onInit: null,
onReInit: null,
pauseOnHover: !0,
pauseOnDotsHover: !1,
responsive: null,
rtl: !1,
slide: "div",
slidesToShow: 1,
slidesToScroll: 1,
speed: 300,
swipe: !0,
swipeToSlide: !1,
touchMove: !0,
touchThreshold: 5,
useCSS: !0,
variableWidth: !1,
vertical: !1,
waitForAnimate: !0
}, r.initials = {
animating: !1,
dragging: !1,
autoPlayTimer: null,
currentDirection: 0,
currentLeft: null,
currentSlide: 0,
direction: 1,
$dots: null,
listWidth: null,
listHeight: null,
loadIndex: 0,
$nextArrow: null,
$prevArrow: null,
slideCount: null,
slideWidth: null,
$slideTrack: null,
$slides: null,
sliding: !1,
slideOffset: 0,
swipeLeft: null,
$list: null,
touchObject: {},
transformsEnabled: !1
}, t.extend(r, r.initials), r.activeBreakpoint = null, r.animType = null, r.animProp = null, r.breakpoints = [], r.breakpointSettings = [], r.cssTransitions = !1, r.paused = !1, r.positionProp = null, r.shouldClick = !0, r.$slider = t(e), r.$slidesCache = null, r.transformType = null, r.transitionType = null, r.windowWidth = 0, r.windowTimer = null, r.options = t.extend({}, r.defaults, o), r.currentSlide = r.options.initialSlide, r.originalSettings = r.options, s = r.options.responsive || null, s && s.length > -1) {
for (n in s) s.hasOwnProperty(n) && (r.breakpoints.push(s[n].breakpoint), r.breakpointSettings[s[n].breakpoint] = s[n].settings);
r.breakpoints.sort(function(t, e) {
return e - t
})
}
r.autoPlay = t.proxy(r.autoPlay, r), r.autoPlayClear = t.proxy(r.autoPlayClear, r), r.changeSlide = t.proxy(r.changeSlide, r), r.selectHandler = t.proxy(r.selectHandler, r), r.setPosition = t.proxy(r.setPosition, r), r.swipeHandler = t.proxy(r.swipeHandler, r), r.dragHandler = t.proxy(r.dragHandler, r), r.keyHandler = t.proxy(r.keyHandler, r), r.autoPlayIterator = t.proxy(r.autoPlayIterator, r), r.instanceUid = i++, r.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/, r.init()
}
var i = 0;
return e
}(), e.prototype.addSlide = function(e, i, o) {
var s = this;
if ("boolean" == typeof i) o = i, i = null;
else if (0 > i || i >= s.slideCount) return !1;
s.unload(), "number" == typeof i ? 0 === i && 0 === s.$slides.length ? t(e).appendTo(s.$slideTrack) : o ? t(e).insertBefore(s.$slides.eq(i)) : t(e).insertAfter(s.$slides.eq(i)) : o === !0 ? t(e).prependTo(s.$slideTrack) : t(e).appendTo(s.$slideTrack), s.$slides = s.$slideTrack.children(this.options.slide), s.$slideTrack.children(this.options.slide).detach(), s.$slideTrack.append(s.$slides), s.$slides.each(function(e, i) {
t(i).attr("index", e)
}), s.$slidesCache = s.$slides, s.reinit()
}, e.prototype.animateSlide = function(e, i) {
var o = {},
s = this;
if (1 === s.options.slidesToShow && s.options.adaptiveHeight === !0 && s.options.vertical === !1) {
var n = s.$slides.eq(s.currentSlide).outerHeight(!0);
s.$list.animate({
height: n
}, s.options.speed)
}
s.options.rtl === !0 && s.options.vertical === !1 && (e = -e), s.transformsEnabled === !1 ? s.options.vertical === !1 ? s.$slideTrack.animate({
left: e
}, s.options.speed, s.options.easing, i) : s.$slideTrack.animate({
top: e
}, s.options.speed, s.options.easing, i) : s.cssTransitions === !1 ? t({
animStart: s.currentLeft
}).animate({
animStart: e
}, {
duration: s.options.speed,
easing: s.options.easing,
step: function(t) {
s.options.vertical === !1 ? (o[s.animType] = "translate(" + t + "px, 0px)", s.$slideTrack.css(o)) : (o[s.animType] = "translate(0px," + t + "px)", s.$slideTrack.css(o))
},
complete: function() {
i && i.call()
}
}) : (s.applyTransition(), o[s.animType] = s.options.vertical === !1 ? "translate3d(" + e + "px, 0px, 0px)" : "translate3d(0px," + e + "px, 0px)", s.$slideTrack.css(o), i && setTimeout(function() {
s.disableTransition(), i.call()
}, s.options.speed))
}, e.prototype.asNavFor = function(e) {
var i = this,
o = null != i.options.asNavFor ? t(i.options.asNavFor).getSlick() : null;
null != o && o.slideHandler(e, !0)
}, e.prototype.applyTransition = function(t) {
var e = this,
i = {};
i[e.transitionType] = e.options.fade === !1 ? e.transformType + " " + e.options.speed + "ms " + e.options.cssEase : "opacity " + e.options.speed + "ms " + e.options.cssEase, e.options.fade === !1 ? e.$slideTrack.css(i) : e.$slides.eq(t).css(i)
}, e.prototype.autoPlay = function() {
var t = this;
t.autoPlayTimer && clearInterval(t.autoPlayTimer), t.slideCount > t.options.slidesToShow && t.paused !== !0 && (t.autoPlayTimer = setInterval(t.autoPlayIterator, t.options.autoplaySpeed))
}, e.prototype.autoPlayClear = function() {
var t = this;
t.autoPlayTimer && clearInterval(t.autoPlayTimer)
}, e.prototype.autoPlayIterator = function() {
var t = this;
t.options.infinite === !1 ? 1 === t.direction ? (t.currentSlide + 1 === t.slideCount - 1 && (t.direction = 0), t.slideHandler(t.currentSlide + t.options.slidesToScroll)) : (0 === t.currentSlide - 1 && (t.direction = 1), t.slideHandler(t.currentSlide - t.options.slidesToScroll)) : t.slideHandler(t.currentSlide + t.options.slidesToScroll)
}, e.prototype.buildArrows = function() {
var e = this;
e.options.arrows === !0 && e.slideCount > e.options.slidesToShow && (e.$prevArrow = t(e.options.prevArrow), e.$nextArrow = t(e.options.nextArrow), e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.appendTo(e.options.appendArrows), e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.appendTo(e.options.appendArrows), e.options.infinite !== !0 && e.$prevArrow.addClass("slick-disabled"))
}, e.prototype.buildDots = function() {
var e, i, o = this;
if (o.options.dots === !0 && o.slideCount > o.options.slidesToShow) {
for (i = '<ul class="' + o.options.dotsClass + '">', e = 0; e <= o.getDotCount(); e += 1) i += "<li>" + o.options.customPaging.call(this, o, e) + "</li>";
i += "</ul>", o.$dots = t(i).appendTo(o.options.appendDots), o.$dots.find("li").first().addClass("slick-active")
}
}, e.prototype.buildOut = function() {
var e = this;
e.$slides = e.$slider.children(e.options.slide + ":not(.slick-cloned)").addClass("slick-slide"), e.slideCount = e.$slides.length, e.$slides.each(function(e, i) {
t(i).attr("index", e)
}), e.$slidesCache = e.$slides, e.$slider.addClass("slick-slider"), e.$slideTrack = 0 === e.slideCount ? t('<div class="slick-track"/>').appendTo(e.$slider) : e.$slides.wrapAll('<div class="slick-track"/>').parent(), e.$list = e.$slideTrack.wrap('<div class="slick-list"/>').parent(), e.$slideTrack.css("opacity", 0), e.options.centerMode === !0 && (e.options.slidesToScroll = 1, e.options.slidesToShow = 3), t("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"), e.setupInfinite(), e.buildArrows(), e.buildDots(), e.updateDots(), e.options.accessibility === !0 && e.$list.prop("tabIndex", 0), e.setSlideClasses("number" == typeof this.currentSlide ? this.currentSlide : 0), e.options.draggable === !0 && e.$list.addClass("draggable")
}, e.prototype.checkResponsive = function() {
var e, i, o = this;
if (o.originalSettings.responsive && o.originalSettings.responsive.length > -1 && null !== o.originalSettings.responsive) {
i = null;
for (e in o.breakpoints) o.breakpoints.hasOwnProperty(e) && t(window).width() < o.breakpoints[e] && (i = o.breakpoints[e]);
null !== i ? null !== o.activeBreakpoint ? i !== o.activeBreakpoint && (o.activeBreakpoint = i, o.options = t.extend({}, o.originalSettings, o.breakpointSettings[i]), o.refresh()) : (o.activeBreakpoint = i, o.options = t.extend({}, o.originalSettings, o.breakpointSettings[i]), o.refresh()) : null !== o.activeBreakpoint && (o.activeBreakpoint = null, o.options = o.originalSettings, o.refresh())
}
}, e.prototype.changeSlide = function(e) {
var i, o, s, n = this,
r = t(e.target);
switch (r.is("a") && e.preventDefault(), s = 0 !== n.slideCount % n.options.slidesToScroll, i = s ? 0 : (n.slideCount - n.currentSlide) % n.options.slidesToScroll, e.data.message) {
case "previous":
o = 0 === i ? n.options.slidesToScroll : n.options.slidesToShow - i, n.slideCount > n.options.slidesToShow && n.slideHandler(n.currentSlide - o);
break;
case "next":
o = 0 === i ? n.options.slidesToScroll : i, n.slideCount > n.options.slidesToShow && n.slideHandler(n.currentSlide + o);
break;
case "index":
var a = 0 === e.data.index ? 0 : e.data.index || t(e.target).parent().index() * n.options.slidesToScroll;
n.slideHandler(a);
default:
return !1
}
}, e.prototype.clickHandler = function(t) {
var e = this;
e.shouldClick === !1 && (t.stopImmediatePropagation(), t.stopPropagation(), t.preventDefault())
}, e.prototype.destroy = function() {
var e = this;
e.autoPlayClear(), e.touchObject = {}, t(".slick-cloned", e.$slider).remove(), e.$dots && e.$dots.remove(), e.$prevArrow && "object" != typeof e.options.prevArrow && e.$prevArrow.remove(), e.$nextArrow && "object" != typeof e.options.nextArrow && e.$nextArrow.remove(), e.$slides.parent().hasClass("slick-track") && e.$slides.unwrap().unwrap(), e.$slides.removeClass("slick-slide slick-active slick-center slick-visible").removeAttr("index").css({
position: "",
left: "",
top: "",
zIndex: "",
opacity: "",
width: ""
}), e.$slider.removeClass("slick-slider"), e.$slider.removeClass("slick-initialized"), e.$list.off(".slick"), t(window).off(".slick-" + e.instanceUid), t(document).off(".slick-" + e.instanceUid)
}, e.prototype.disableTransition = function(t) {
var e = this,
i = {};
i[e.transitionType] = "", e.options.fade === !1 ? e.$slideTrack.css(i) : e.$slides.eq(t).css(i)
}, e.prototype.fadeSlide = function(t, e, i) {
var o = this;
o.cssTransitions === !1 ? (o.$slides.eq(e).css({
zIndex: 1e3
}), o.$slides.eq(e).animate({
opacity: 1
}, o.options.speed, o.options.easing, i), o.$slides.eq(t).animate({
opacity: 0
}, o.options.speed, o.options.easing)) : (o.applyTransition(e), o.applyTransition(t), o.$slides.eq(e).css({
opacity: 1,
zIndex: 1e3
}), o.$slides.eq(t).css({
opacity: 0
}), i && setTimeout(function() {
o.disableTransition(e), o.disableTransition(t), i.call()
}, o.options.speed))
}, e.prototype.filterSlides = function(t) {
var e = this;
null !== t && (e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(t).appendTo(e.$slideTrack), e.reinit())
}, e.prototype.getCurrent = function() {
var t = this;
return t.currentSlide
}, e.prototype.getDotCount = function() {
var t = this;
return Math.ceil(t.slideCount / t.options.slidesToScroll) - 1
}, e.prototype.getLeft = function(t) {
var e, i, o, s = this,
n = 0;
return s.slideOffset = 0, i = s.$slides.first().outerHeight(), s.options.infinite === !0 ? (s.slideCount > s.options.slidesToShow && (s.slideOffset = -1 * s.slideWidth * s.options.slidesToShow, n = -1 * i * s.options.slidesToShow), 0 !== s.slideCount % s.options.slidesToScroll && t + s.options.slidesToScroll > s.slideCount && s.slideCount > s.options.slidesToShow && (s.slideOffset = -1 * s.slideCount % s.options.slidesToShow * s.slideWidth, n = -1 * s.slideCount % s.options.slidesToShow * i)) : t + s.options.slidesToShow > s.slideCount && (s.slideOffset = (t + s.options.slidesToShow - s.slideCount) * s.slideWidth, n = (t + s.options.slidesToShow - s.slideCount) * i), s.slideCount <= s.options.slidesToShow && (s.slideOffset = 0, n = 0), s.options.centerMode === !0 && s.options.infinite === !0 ? s.slideOffset += s.slideWidth * Math.floor(s.options.slidesToShow / 2) - s.slideWidth : s.options.centerMode === !0 && (s.slideOffset = 0, s.slideOffset += s.slideWidth * Math.floor(s.options.slidesToShow / 2)), e = s.options.vertical === !1 ? -1 * t * s.slideWidth + s.slideOffset : -1 * t * i + n, s.options.variableWidth === !0 && (o = s.$slideTrack.children(".slick-slide").eq(s.slideCount <= s.options.slidesToShow || s.options.infinite === !1 ? t : t + s.options.slidesToShow), e = o[0] ? -1 * o[0].offsetLeft : 0, s.options.centerMode === !0 && (o = s.$slideTrack.children(".slick-slide").eq(s.options.infinite === !1 ? t : t + s.options.slidesToShow + 1), e = o[0] ? -1 * o[0].offsetLeft : 0, e += (s.$list.width() - o.outerWidth()) / 2)), e
}, e.prototype.getSlideCount = function() {
var e, i = this;
if (i.options.swipeToSlide === !0) {
var o = null;
return i.$slideTrack.find(".slick-slide").each(function(e, s) {
return s.offsetLeft + t(s).outerWidth() / 2 > -1 * i.swipeLeft ? (o = s, !1) : void 0
}), e = Math.abs(t(o).attr("index") - i.currentSlide)
}
return i.options.slidesToScroll
}, e.prototype.init = function() {
var e = this;
t(e.$slider).hasClass("slick-initialized") || (t(e.$slider).addClass("slick-initialized"), e.buildOut(), e.setProps(), e.startLoad(), e.loadSlider(), e.initializeEvents(), e.checkResponsive()), null !== e.options.onInit && e.options.onInit.call(this, e)
}, e.prototype.initArrowEvents = function() {
var t = this;
t.options.arrows === !0 && t.slideCount > t.options.slidesToShow && (t.$prevArrow.on("click.slick", {
message: "previous"
}, t.changeSlide), t.$nextArrow.on("click.slick", {
message: "next"
}, t.changeSlide))
}, e.prototype.initDotEvents = function() {
var e = this;
e.options.dots === !0 && e.slideCount > e.options.slidesToShow && t("li", e.$dots).on("click.slick", {
message: "index"
}, e.changeSlide), e.options.dots === !0 && e.options.pauseOnDotsHover === !0 && e.options.autoplay === !0 && t("li", e.$dots).on("mouseenter.slick", function() {
e.paused = !0, e.autoPlayClear()
}).on("mouseleave.slick", function() {
e.paused = !1, e.autoPlay()
})
}, e.prototype.initializeEvents = function() {
var e = this;
e.initArrowEvents(), e.initDotEvents(), e.$list.on("touchstart.slick mousedown.slick", {
action: "start"
}, e.swipeHandler), e.$list.on("touchmove.slick mousemove.slick", {
action: "move"
}, e.swipeHandler), e.$list.on("touchend.slick mouseup.slick", {
action: "end"
}, e.swipeHandler), e.$list.on("touchcancel.slick mouseleave.slick", {
action: "end"
}, e.swipeHandler), e.$list.on("click.slick", e.clickHandler.bind(this)), e.options.pauseOnHover === !0 && e.options.autoplay === !0 && (e.$list.on("mouseenter.slick", function() {
e.paused = !0, e.autoPlayClear()
}), e.$list.on("mouseleave.slick", function() {
e.paused = !1, e.autoPlay()
})), e.options.accessibility === !0 && e.$list.on("keydown.slick", e.keyHandler), e.options.focusOnSelect === !0 && t(e.options.slide, e.$slideTrack).on("click.slick", e.selectHandler), t(window).on("orientationchange.slick.slick-" + e.instanceUid, function() {
e.checkResponsive(), e.setPosition()
}), t(window).on("resize.slick.slick-" + e.instanceUid, function() {
t(window).width() !== e.windowWidth && (clearTimeout(e.windowDelay), e.windowDelay = window.setTimeout(function() {
e.windowWidth = t(window).width(), e.checkResponsive(), e.setPosition()
}, 50))
}), t("*[draggable!=true]", e.$slideTrack).on("dragstart", function(t) {
t.preventDefault()
}), t(window).on("load.slick.slick-" + e.instanceUid, e.setPosition), t(document).on("ready.slick.slick-" + e.instanceUid, e.setPosition)
}, e.prototype.initUI = function() {
var t = this;
t.options.arrows === !0 && t.slideCount > t.options.slidesToShow && (t.$prevArrow.show(), t.$nextArrow.show()), t.options.dots === !0 && t.slideCount > t.options.slidesToShow && t.$dots.show(), t.options.autoplay === !0 && t.autoPlay()
}, e.prototype.keyHandler = function(t) {
var e = this;
37 === t.keyCode ? e.changeSlide({
data: {
message: "previous"
}
}) : 39 === t.keyCode && e.changeSlide({
data: {
message: "next"
}
})
}, e.prototype.lazyLoad = function() {
function e(e) {
t("img[data-lazy]", e).each(function() {
var e = t(this),
i = t(this).attr("data-lazy");
e.load(function() {
e.animate({
opacity: 1
}, 200)
}).css({
opacity: 0
}).attr("src", i).removeAttr("data-lazy").removeClass("slick-loading")
})
}
var i, o, s, n, r = this;
r.options.centerMode === !0 ? r.options.infinite === !0 ? (s = r.currentSlide + (r.options.slidesToShow / 2 + 1), n = s + r.options.slidesToShow + 2) : (s = Math.max(0, r.currentSlide - (r.options.slidesToShow / 2 + 1)), n = 2 + (r.options.slidesToShow / 2 + 1) + r.currentSlide) : (s = r.options.infinite ? r.options.slidesToShow + r.currentSlide : r.currentSlide, n = s + r.options.slidesToShow, r.options.fade === !0 && (s > 0 && s--, n <= r.slideCount && n++)), i = r.$slider.find(".slick-slide").slice(s, n), e(i), r.slideCount <= r.options.slidesToShow ? (o = r.$slider.find(".slick-slide"), e(o)) : r.currentSlide >= r.slideCount - r.options.slidesToShow ? (o = r.$slider.find(".slick-cloned").slice(0, r.options.slidesToShow), e(o)) : 0 === r.currentSlide && (o = r.$slider.find(".slick-cloned").slice(-1 * r.options.slidesToShow), e(o))
}, e.prototype.loadSlider = function() {
var t = this;
t.setPosition(), t.$slideTrack.css({
opacity: 1
}), t.$slider.removeClass("slick-loading"), t.initUI(), "progressive" === t.options.lazyLoad && t.progressiveLazyLoad()
}, e.prototype.postSlide = function(t) {
var e = this;
null !== e.options.onAfterChange && e.options.onAfterChange.call(this, e, t), e.animating = !1, e.setPosition(), e.swipeLeft = null, e.options.autoplay === !0 && e.paused === !1 && e.autoPlay()
}, e.prototype.progressiveLazyLoad = function() {
var e, i, o = this;
e = t("img[data-lazy]").length, e > 0 && (i = t("img[data-lazy]", o.$slider).first(), i.attr("src", i.attr("data-lazy")).removeClass("slick-loading").load(function() {
i.removeAttr("data-lazy"), o.progressiveLazyLoad()
}).error(function() {
i.removeAttr("data-lazy"), o.progressiveLazyLoad()
}))
}, e.prototype.refresh = function() {
var e = this,
i = e.currentSlide;
e.destroy(), t.extend(e, e.initials), e.currentSlide = i, e.init()
}, e.prototype.reinit = function() {
var e = this;
e.$slides = e.$slideTrack.children(e.options.slide).addClass("slick-slide"), e.slideCount = e.$slides.length, e.currentSlide >= e.slideCount && 0 !== e.currentSlide && (e.currentSlide = e.currentSlide - e.options.slidesToScroll), e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0), e.setProps(), e.setupInfinite(), e.buildArrows(), e.updateArrows(), e.initArrowEvents(), e.buildDots(), e.updateDots(), e.initDotEvents(), e.options.focusOnSelect === !0 && t(e.options.slide, e.$slideTrack).on("click.slick", e.selectHandler), e.setSlideClasses(0), e.setPosition(), null !== e.options.onReInit && e.options.onReInit.call(this, e)
}, e.prototype.removeSlide = function(t, e) {
var i = this;
return "boolean" == typeof t ? (e = t, t = e === !0 ? 0 : i.slideCount - 1) : t = e === !0 ? --t : t, i.slideCount < 1 || 0 > t || t > i.slideCount - 1 ? !1 : (i.unload(), i.$slideTrack.children(this.options.slide).eq(t).remove(), i.$slides = i.$slideTrack.children(this.options.slide), i.$slideTrack.children(this.options.slide).detach(), i.$slideTrack.append(i.$slides), i.$slidesCache = i.$slides, void i.reinit())
}, e.prototype.setCSS = function(t) {
var e, i, o = this,
s = {};
o.options.rtl === !0 && (t = -t), e = "left" == o.positionProp ? t + "px" : "0px", i = "top" == o.positionProp ? t + "px" : "0px", s[o.positionProp] = t, o.transformsEnabled === !1 ? o.$slideTrack.css(s) : (s = {}, o.cssTransitions === !1 ? (s[o.animType] = "translate(" + e + ", " + i + ")", o.$slideTrack.css(s)) : (s[o.animType] = "translate3d(" + e + ", " + i + ", 0px)", o.$slideTrack.css(s)))
}, e.prototype.setDimensions = function() {
var e = this;
if (e.options.vertical === !1 ? e.options.centerMode === !0 && e.$list.css({
padding: "0px " + e.options.centerPadding
}) : (e.$list.height(e.$slides.first().outerHeight(!0) * e.options.slidesToShow), e.options.centerMode === !0 && e.$list.css({
padding: e.options.centerPadding + " 0px"
})), e.listWidth = e.$list.width(), e.listHeight = e.$list.height(), e.options.vertical === !1 && e.options.variableWidth === !1) e.slideWidth = Math.ceil(e.listWidth / e.options.slidesToShow), e.$slideTrack.width(Math.ceil(e.slideWidth * e.$slideTrack.children(".slick-slide").length));
else if (e.options.variableWidth === !0) {
var i = 0;
e.slideWidth = Math.ceil(e.listWidth / e.options.slidesToShow), e.$slideTrack.children(".slick-slide").each(function() {
i += Math.ceil(t(this).outerWidth(!0))
}), e.$slideTrack.width(Math.ceil(i) + 1)
} else e.slideWidth = Math.ceil(e.listWidth), e.$slideTrack.height(Math.ceil(e.$slides.first().outerHeight(!0) * e.$slideTrack.children(".slick-slide").length));
var o = e.$slides.first().outerWidth(!0) - e.$slides.first().width();
e.options.variableWidth === !1 && e.$slideTrack.children(".slick-slide").width(e.slideWidth - o)
}, e.prototype.setFade = function() {
var e, i = this;
i.$slides.each(function(o, s) {
e = -1 * i.slideWidth * o, t(s).css(i.options.rtl === !0 ? {
position: "relative",
right: e,
top: 0,
zIndex: 800,
opacity: 0
} : {
position: "relative",
left: e,
top: 0,
zIndex: 800,
opacity: 0
})
}), i.$slides.eq(i.currentSlide).css({
zIndex: 900,
opacity: 1
})
}, e.prototype.setHeight = function() {
var t = this;
if (1 === t.options.slidesToShow && t.options.adaptiveHeight === !0 && t.options.vertical === !1) {
var e = t.$slides.eq(t.currentSlide).outerHeight(!0);
t.$list.css("height", e)
}
}, e.prototype.setPosition = function() {
var t = this;
t.setDimensions(), t.setHeight(), t.options.fade === !1 ? t.setCSS(t.getLeft(t.currentSlide)) : t.setFade()
}, e.prototype.setProps = function() {
var t = this,
e = document.body.style;
t.positionProp = t.options.vertical === !0 ? "top" : "left", "top" === t.positionProp ? t.$slider.addClass("slick-vertical") : t.$slider.removeClass("slick-vertical"), (void 0 !== e.WebkitTransition || void 0 !== e.MozTransition || void 0 !== e.msTransition) && t.options.useCSS === !0 && (t.cssTransitions = !0), void 0 !== e.OTransform && (t.animType = "OTransform", t.transformType = "-o-transform", t.transitionType = "OTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (t.animType = !1)), void 0 !== e.MozTransform && (t.animType = "MozTransform", t.transformType = "-moz-transform", t.transitionType = "MozTransition", void 0 === e.perspectiveProperty && void 0 === e.MozPerspective && (t.animType = !1)), void 0 !== e.webkitTransform && (t.animType = "webkitTransform", t.transformType = "-webkit-transform", t.transitionType = "webkitTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (t.animType = !1)), void 0 !== e.msTransform && (t.animType = "msTransform", t.transformType = "-ms-transform", t.transitionType = "msTransition", void 0 === e.msTransform && (t.animType = !1)), void 0 !== e.transform && t.animType !== !1 && (t.animType = "transform", t.transformType = "transform", t.transitionType = "transition"), t.transformsEnabled = null !== t.animType && t.animType !== !1
}, e.prototype.setSlideClasses = function(t) {
var e, i, o, s, n = this;
n.$slider.find(".slick-slide").removeClass("slick-active").removeClass("slick-center"), i = n.$slider.find(".slick-slide"), n.options.centerMode === !0 ? (e = Math.floor(n.options.slidesToShow / 2), n.options.infinite === !0 && (t >= e && t <= n.slideCount - 1 - e ? n.$slides.slice(t - e, t + e + 1).addClass("slick-active") : (o = n.options.slidesToShow + t, i.slice(o - e + 1, o + e + 2).addClass("slick-active")), 0 === t ? i.eq(i.length - 1 - n.options.slidesToShow).addClass("slick-center") : t === n.slideCount - 1 && i.eq(n.options.slidesToShow).addClass("slick-center")), n.$slides.eq(t).addClass("slick-center")) : t >= 0 && t <= n.slideCount - n.options.slidesToShow ? n.$slides.slice(t, t + n.options.slidesToShow).addClass("slick-active") : i.length <= n.options.slidesToShow ? i.addClass("slick-active") : (s = n.slideCount % n.options.slidesToShow, o = n.options.infinite === !0 ? n.options.slidesToShow + t : t, n.options.slidesToShow == n.options.slidesToScroll && n.slideCount - t < n.options.slidesToShow ? i.slice(o - (n.options.slidesToShow - s), o + s).addClass("slick-active") : i.slice(o, o + n.options.slidesToShow).addClass("slick-active")), "ondemand" === n.options.lazyLoad && n.lazyLoad()
}, e.prototype.setupInfinite = function() {
var e, i, o, s = this;
if (s.options.fade === !0 && (s.options.centerMode = !1), s.options.infinite === !0 && s.options.fade === !1 && (i = null, s.slideCount > s.options.slidesToShow)) {
for (o = s.options.centerMode === !0 ? s.options.slidesToShow + 1 : s.options.slidesToShow, e = s.slideCount; e > s.slideCount - o; e -= 1) i = e - 1, t(s.$slides[i]).clone(!0).attr("id", "").attr("index", i - s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");
for (e = 0; o > e; e += 1) i = e, t(s.$slides[i]).clone(!0).attr("id", "").attr("index", i + s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");
s.$slideTrack.find(".slick-cloned").find("[id]").each(function() {
t(this).attr("id", "")
})
}
}, e.prototype.selectHandler = function(e) {
var i = this,
o = parseInt(t(e.target).parents(".slick-slide").attr("index"));
return o || (o = 0), i.slideCount <= i.options.slidesToShow ? (i.$slider.find(".slick-slide").removeClass("slick-active"), i.$slides.eq(o).addClass("slick-active"), i.options.centerMode === !0 && (i.$slider.find(".slick-slide").removeClass("slick-center"), i.$slides.eq(o).addClass("slick-center")), void i.asNavFor(o)) : void i.slideHandler(o)
}, e.prototype.slideHandler = function(t, e) {
var i, o, s, n, r, a = null,
l = this;
return e = e || !1, l.animating === !0 && l.options.waitForAnimate === !0 || l.options.fade === !0 && l.currentSlide === t || l.slideCount <= l.options.slidesToShow ? void 0 : (e === !1 && l.asNavFor(t), i = t, a = l.getLeft(i), n = l.getLeft(l.currentSlide), r = 1 === l.options.slidesToScroll ? 0 : l.options.slidesToShow - Math.round(l.slideCount / l.options.slidesToScroll), l.currentLeft = null === l.swipeLeft ? n : l.swipeLeft, l.options.infinite === !1 && l.options.centerMode === !1 && (0 > t || t > l.slideCount - l.options.slidesToShow + r) ? void(l.options.fade === !1 && (i = l.currentSlide, l.animateSlide(n, function() {
l.postSlide(i)
}))) : l.options.infinite === !1 && l.options.centerMode === !0 && (0 > t || t > l.slideCount - l.options.slidesToScroll) ? void(l.options.fade === !1 && (i = l.currentSlide, l.animateSlide(n, function() {
l.postSlide(i)
}))) : (l.options.autoplay === !0 && clearInterval(l.autoPlayTimer), o = 0 > i ? 0 !== l.slideCount % l.options.slidesToScroll ? l.slideCount - l.slideCount % l.options.slidesToScroll : l.slideCount + i : i >= l.slideCount ? 0 !== l.slideCount % l.options.slidesToScroll ? 0 : i - l.slideCount : i, l.animating = !0, null !== l.options.onBeforeChange && t !== l.currentSlide && l.options.onBeforeChange.call(this, l, l.currentSlide, o), s = l.currentSlide, l.currentSlide = o, l.setSlideClasses(l.currentSlide), l.updateDots(), l.updateArrows(), l.options.fade === !0 ? void l.fadeSlide(s, o, function() {
l.postSlide(o)
}) : void l.animateSlide(a, function() {
l.postSlide(o)
})))
}, e.prototype.startLoad = function() {
var t = this;
t.options.arrows === !0 && t.slideCount > t.options.slidesToShow && (t.$prevArrow.hide(), t.$nextArrow.hide()), t.options.dots === !0 && t.slideCount > t.options.slidesToShow && t.$dots.hide(), t.$slider.addClass("slick-loading")
}, e.prototype.swipeDirection = function() {
var t, e, i, o, s = this;
return t = s.touchObject.startX - s.touchObject.curX, e = s.touchObject.startY - s.touchObject.curY, i = Math.atan2(e, t), o = Math.round(180 * i / Math.PI), 0 > o && (o = 360 - Math.abs(o)), 45 >= o && o >= 0 ? "left" : 360 >= o && o >= 315 ? "left" : o >= 135 && 225 >= o ? "right" : "vertical"
}, e.prototype.swipeEnd = function() {
var t = this;
if (t.dragging = !1, t.shouldClick = t.touchObject.swipeLength > 10 ? !1 : !0, void 0 === t.touchObject.curX) return !1;
if (t.touchObject.swipeLength >= t.touchObject.minSwipe) switch (t.swipeDirection()) {
case "left":
t.slideHandler(t.currentSlide + t.getSlideCount()), t.currentDirection = 0, t.touchObject = {};
break;
case "right":
t.slideHandler(t.currentSlide - t.getSlideCount()), t.currentDirection = 1, t.touchObject = {}
} else t.touchObject.startX !== t.touchObject.curX && (t.slideHandler(t.currentSlide), t.touchObject = {})
}, e.prototype.swipeHandler = function(t) {
var e = this;
if (!(e.options.swipe === !1 || "ontouchend" in document && e.options.swipe === !1 || e.options.draggable === !1 && -1 !== t.type.indexOf("mouse"))) switch (e.touchObject.fingerCount = t.originalEvent && void 0 !== t.originalEvent.touches ? t.originalEvent.touches.length : 1, e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold, t.data.action) {
case "start":
e.swipeStart(t);
break;
case "move":
e.swipeMove(t);
break;
case "end":
e.swipeEnd(t)
}
}, e.prototype.swipeMove = function(t) {
var e, i, o, s, n = this;
return s = void 0 !== t.originalEvent ? t.originalEvent.touches : null, !n.dragging || s && 1 !== s.length ? !1 : (e = n.getLeft(n.currentSlide), n.touchObject.curX = void 0 !== s ? s[0].pageX : t.clientX, n.touchObject.curY = void 0 !== s ? s[0].pageY : t.clientY, n.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(n.touchObject.curX - n.touchObject.startX, 2))), i = n.swipeDirection(), "vertical" !== i ? (void 0 !== t.originalEvent && n.touchObject.swipeLength > 4 && t.preventDefault(), o = n.touchObject.curX > n.touchObject.startX ? 1 : -1, n.swipeLeft = n.options.vertical === !1 ? e + n.touchObject.swipeLength * o : e + n.touchObject.swipeLength * (n.$list.height() / n.listWidth) * o, n.options.fade === !0 || n.options.touchMove === !1 ? !1 : n.animating === !0 ? (n.swipeLeft = null, !1) : void n.setCSS(n.swipeLeft)) : void 0)
}, e.prototype.swipeStart = function(t) {
var e, i = this;
return 1 !== i.touchObject.fingerCount || i.slideCount <= i.options.slidesToShow ? (i.touchObject = {}, !1) : (void 0 !== t.originalEvent && void 0 !== t.originalEvent.touches && (e = t.originalEvent.touches[0]), i.touchObject.startX = i.touchObject.curX = void 0 !== e ? e.pageX : t.clientX, i.touchObject.startY = i.touchObject.curY = void 0 !== e ? e.pageY : t.clientY, void(i.dragging = !0))
}, e.prototype.unfilterSlides = function() {
var t = this;
null !== t.$slidesCache && (t.unload(), t.$slideTrack.children(this.options.slide).detach(), t.$slidesCache.appendTo(t.$slideTrack), t.reinit())
}, e.prototype.unload = function() {
var e = this;
t(".slick-cloned", e.$slider).remove(), e.$dots && e.$dots.remove(), e.$prevArrow && "object" != typeof e.options.prevArrow && e.$prevArrow.remove(), e.$nextArrow && "object" != typeof e.options.nextArrow && e.$nextArrow.remove(), e.$slides.removeClass("slick-slide slick-active slick-visible").css("width", "")
}, e.prototype.updateArrows = function() {
var t, e = this;
t = Math.floor(e.options.slidesToShow / 2), e.options.arrows === !0 && e.options.infinite !== !0 && e.slideCount > e.options.slidesToShow && (e.$prevArrow.removeClass("slick-disabled"), e.$nextArrow.removeClass("slick-disabled"), 0 === e.currentSlide ? (e.$prevArrow.addClass("slick-disabled"), e.$nextArrow.removeClass("slick-disabled")) : e.currentSlide >= e.slideCount - e.options.slidesToShow && e.options.centerMode === !1 ? (e.$nextArrow.addClass("slick-disabled"), e.$prevArrow.removeClass("slick-disabled")) : e.currentSlide > e.slideCount - e.options.slidesToShow + t && e.options.centerMode === !0 && (e.$nextArrow.addClass("slick-disabled"), e.$prevArrow.removeClass("slick-disabled")))
}, e.prototype.updateDots = function() {
var t = this;
null !== t.$dots && (t.$dots.find("li").removeClass("slick-active"), t.$dots.find("li").eq(Math.floor(t.currentSlide / t.options.slidesToScroll)).addClass("slick-active"))
}, t.fn.slick = function(t) {
var i = this;
return i.each(function(i, o) {
o.slick = new e(o, t)
})
}, t.fn.slickAdd = function(t, e, i) {
var o = this;
return o.each(function(o, s) {
s.slick.addSlide(t, e, i)
})
}, t.fn.slickCurrentSlide = function() {
var t = this;
return t.get(0).slick.getCurrent()
}, t.fn.slickFilter = function(t) {
var e = this;
return e.each(function(e, i) {
i.slick.filterSlides(t)
})
}, t.fn.slickGoTo = function(t) {
var e = this;
return e.each(function(e, i) {
i.slick.changeSlide({
data: {
message: "index",
index: parseInt(t)
}
})
})
}, t.fn.slickNext = function() {
var t = this;
return t.each(function(t, e) {
e.slick.changeSlide({
data: {
message: "next"
}
})
})
}, t.fn.slickPause = function() {
var t = this;
return t.each(function(t, e) {
e.slick.autoPlayClear(), e.slick.paused = !0
})
}, t.fn.slickPlay = function() {
var t = this;
return t.each(function(t, e) {
e.slick.paused = !1, e.slick.autoPlay()
})
}, t.fn.slickPrev = function() {
var t = this;
return t.each(function(t, e) {
e.slick.changeSlide({
data: {
message: "previous"
}
})
})
}, t.fn.slickRemove = function(t, e) {
var i = this;
return i.each(function(i, o) {
o.slick.removeSlide(t, e)
})
}, t.fn.slickGetOption = function(t) {
var e = this;
return e.get(0).slick.options[t]
}, t.fn.slickSetOption = function(t, e, i) {
var o = this;
return o.each(function(o, s) {
s.slick.options[t] = e, i === !0 && (s.slick.unload(), s.slick.reinit())
})
}, t.fn.slickUnfilter = function() {
var t = this;
return t.each(function(t, e) {
e.slick.unfilterSlides()
})
}, t.fn.unslick = function() {
var t = this;
return t.each(function(t, e) {
e.slick && e.slick.destroy()
})
}, t.fn.getSlick = function() {
var t = null,
e = this;
return e.each(function(e, i) {
t = i.slick
}), t
}
}),
function(t) {
var e = {
common: {
init: function() {
function e() {
t(".modal").each(function() {
t(this).hasClass("in") === !1 && t(this).show();
var e = t(window).height() - 60,
i = t(this).find(".modal-header").outerHeight() || 2,
o = t(this).find(".modal-footer").outerHeight() || 2;
t(this).find(".modal-content").css({
"max-height": function() {
return e
}
}), t(this).find(".modal-body").css({
"max-height": function() {
return e - (i + o)
}
}), t(this).find(".modal-dialog").addClass("modal-dialog-center").css({
"margin-top": function() {
return -(t(this).outerHeight() / 2)
},
"margin-left": function() {
return -(t(this).outerWidth() / 2)
}
}), t(this).hasClass("in") === !1 && t(this).hide()
})
}
wow = new WOW({
boxClass: "wow",
animateClass: "animated",
offset: 0,
mobile: !0,
live: !0
}), wow.init(), t("#hero-slider").slick({
infinite: !0,
dots: !0
}), t(".service-group").matchHeight(), t(".matchheight").matchHeight(), t(".ckd-slider").slick({
adaptiveHeight: !0,
autoplay: !1,
arrows: !0,
dots: !0
}), t(".responsive-carousel").slick({
dots: !0,
arrows: !1,
infinite: !0,
speed: 300,
slidesToShow: 3,
slidesToScroll: 3,
responsive: [{
breakpoint: 1001,
settings: {
slidesToShow: 2,
slidesToScroll: 2
}
}, {
breakpoint: 681,
settings: {
slidesToShow: 1,
slidesToScroll: 1
}
}]
}), t(window).bind("resize", function() {
var e = t(window).height(),
i = 80;
t(".hero-image").height(e - i)
}).trigger("resize"), t(window).on("scroll", function() {
scrollPos = t(this).scrollTop(), t("#hero-text").css({
"margin-top": scrollPos / 3 + "px",
opacity: 1 - scrollPos / 400
}), t("#hero-image").css({
"background-position": "center " + -scrollPos / 8 + "px"
})
}), t(".animsition").animsition({
inClass: "fade-in",
outClass: "fade-out",
inDuration: 1500,
outDuration: 800,
linkElement: 'a:not([target="_blank"]):not([href^=#])',
loading: !1,
loadingParentElement: "body",
loadingClass: "animsition-loading",
unSupportCss: ["animation-duration", "-webkit-animation-duration", "-o-animation-duration"],
overlay: !1,
overlayClass: "animsition-overlay-slide",
overlayParentElement: "body"
}), t(window).height() >= 320 && t(window).resize(e).trigger("resize")
},
finalize: function() {}
},
home: {
init: function() {},
finalize: function() {}
},
about_us: {
init: function() {}
}
},
i = {
fire: function(t, i, o) {
var s, n = e;
i = void 0 === i ? "init" : i, s = "" !== t, s = s && n[t], s = s && "function" == typeof n[t][i], s && n[t][i](o)
},
loadEvents: function() {
i.fire("common"), t.each(document.body.className.replace(/-/g, "_").split(/\s+/), function(t, e) {
i.fire(e), i.fire(e, "finalize")
}), i.fire("common", "finalize")
}
};
t(document).ready(i.loadEvents)
}(jQuery);
//# sourceMappingURL=main.js.map
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment