!function (e, t) {
"function" == typeof define && define.amd ? define(function () {
return e.Reveal = t(), e.Reveal
}) : "object" == typeof exports ? module.exports = t() : e.Reveal = t()
}(this, function () {
"use strict";
function e(e) {
if (t(), Pr.transforms2d || Pr.transforms3d) {
Cr.wrapper = document.querySelector(".reveal"), Cr.slides = document.querySelector(".reveal .slides"), window.addEventListener("load", W, !1);
var n = vr.getQueryHash();
"undefined" != typeof n.dependencies && delete n.dependencies, h(xr, e), h(xr, n), q(), r()
} else {
document.body.setAttribute("class", "no-transforms");
for (var a = document.getElementsByTagName("img"), i = 0, o = a.length; o > i; i++) {
var s = a[i];
s.getAttribute("data-src") && (s.setAttribute("src", s.getAttribute("data-src")), s.removeAttribute("data-src"))
}
}
}
function t() {
Pr.transforms3d = "WebkitPerspective"in document.body.style || "MozPerspective"in document.body.style || "msPerspective"in document.body.style || "OPerspective"in document.body.style || "perspective"in document.body.style, Pr.transforms2d = "WebkitTransform"in document.body.style || "MozTransform"in document.body.style || "msTransform"in document.body.style || "OTransform"in document.body.style || "transform"in document.body.style, Pr.requestAnimationFrameMethod = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame, Pr.requestAnimationFrame = "function" == typeof Pr.requestAnimationFrameMethod, Pr.canvas = !!document.createElement("canvas").getContext, Pr.touch = !!("ontouchstart"in window), Pr.overviewTransitions = !/Version\/[\d\.]+.*Safari/.test(navigator.userAgent), wr = /(iphone|ipod|ipad|android)/gi.test(navigator.userAgent)
}
function r() {
function e() {
a.length && head.js.apply(null, a), n()
}
function t(t) {
head.ready(t.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0], function () {
"function" == typeof t.callback && t.callback.apply(this), 0 === --i && e()
})
}
for (var r = [], a = [], i = 0, o = 0, s = xr.dependencies.length; s > o; o++) {
var c = xr.dependencies[o];
(!c.condition || c.condition()) && (c.async ? a.push(c.src) : r.push(c.src), t(c))
}
r.length ? (i = r.length, head.js.apply(null, r)) : e()
}
function n() {
a(), u(), s(), at(), p(), kt(), ut(!0), setTimeout(function () {
Cr.slides.classList.remove("no-transition"), qr = !0, T("ready", {indexh: hr, indexv: gr, currentSlide: yr})
}, 1), x() && (v(), "complete" === document.readyState ? o() : window.addEventListener("load", o))
}
function a() {
Cr.slides.classList.add("no-transition"), Cr.background = c(Cr.wrapper, "div", "backgrounds", null), Cr.progress = c(Cr.wrapper, "div", "progress", ""), Cr.progressbar = Cr.progress.querySelector("span"), c(Cr.wrapper, "aside", "controls", '
'), Cr.slideNumber = c(Cr.wrapper, "div", "slide-number", ""), c(Cr.wrapper, "div", "pause-overlay", null), Cr.controls = document.querySelector(".reveal .controls"), Cr.theme = document.querySelector("#theme"), Cr.wrapper.setAttribute("role", "application"), Cr.controlsLeft = g(document.querySelectorAll(".navigate-left")), Cr.controlsRight = g(document.querySelectorAll(".navigate-right")), Cr.controlsUp = g(document.querySelectorAll(".navigate-up")), Cr.controlsDown = g(document.querySelectorAll(".navigate-down")), Cr.controlsPrev = g(document.querySelectorAll(".navigate-prev")), Cr.controlsNext = g(document.querySelectorAll(".navigate-next")), Cr.statusDiv = i()
}
function i() {
var e = document.getElementById("aria-status-div");
return e || (e = document.createElement("div"), e.style.position = "absolute", e.style.height = "1px", e.style.width = "1px", e.style.overflow = "hidden", e.style.clip = "rect( 1px, 1px, 1px, 1px )", e.setAttribute("id", "aria-status-div"), e.setAttribute("aria-live", "polite"), e.setAttribute("aria-atomic", "true"), Cr.wrapper.appendChild(e)), e
}
function o() {
var e = z(window.innerWidth, window.innerHeight), t = Math.floor(e.width * (1 + xr.margin)), r = Math.floor(e.height * (1 + xr.margin)), n = e.width, a = e.height;
L("@page{size:" + t + "px " + r + "px; margin: 0;}"), L(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: " + n + "px; max-height:" + a + "px}"), document.body.classList.add("print-pdf"), document.body.style.width = t + "px", document.body.style.height = r + "px", g(Cr.wrapper.querySelectorAll(kr)).forEach(function (e) {
if (e.classList.contains("stack") === !1) {
var i = (t - n) / 2, o = (r - a) / 2, s = E(e), c = Math.max(Math.ceil(s / r), 1);
(1 === c && xr.center || e.classList.contains("center")) && (o = Math.max((r - s) / 2, 0)), e.style.left = i + "px", e.style.top = o + "px", e.style.width = n + "px";
var l = e.querySelector(".slide-background");
l && (l.style.width = t + "px", l.style.height = r * c + "px", l.style.top = -o + "px", l.style.left = -i + "px")
}
}), g(Cr.wrapper.querySelectorAll(kr + " .fragment")).forEach(function (e) {
e.classList.add("visible")
})
}
function s() {
Cr.slides.querySelector("iframe") && setInterval(function () {
(0 !== Cr.wrapper.scrollTop || 0 !== Cr.wrapper.scrollLeft) && (Cr.wrapper.scrollTop = 0, Cr.wrapper.scrollLeft = 0)
}, 500)
}
function c(e, t, r, n) {
for (var a = e.querySelectorAll("." + r), i = 0; i < a.length; i++) {
var o = a[i];
if (o.parentNode === e)return o
}
var s = document.createElement(t);
return s.classList.add(r), "string" == typeof n && (s.innerHTML = n), e.appendChild(s), s
}
function l() {
var e = x();
Cr.background.innerHTML = "", Cr.background.classList.add("no-transition"), g(Cr.wrapper.querySelectorAll(Ar)).forEach(function (t) {
var r;
r = e ? d(t, t) : d(t, Cr.background), g(t.querySelectorAll("section")).forEach(function (t) {
e ? d(t, t) : d(t, r), r.classList.add("stack")
})
}), xr.parallaxBackgroundImage ? (Cr.background.style.backgroundImage = 'url("' + xr.parallaxBackgroundImage + '")', Cr.background.style.backgroundSize = xr.parallaxBackgroundSize, setTimeout(function () {
Cr.wrapper.classList.add("has-parallax-background")
}, 1)) : (Cr.background.style.backgroundImage = "", Cr.wrapper.classList.remove("has-parallax-background"))
}
function d(e, t) {
var r = {
background: e.getAttribute("data-background"),
backgroundSize: e.getAttribute("data-background-size"),
backgroundImage: e.getAttribute("data-background-image"),
backgroundVideo: e.getAttribute("data-background-video"),
backgroundIframe: e.getAttribute("data-background-iframe"),
backgroundColor: e.getAttribute("data-background-color"),
backgroundRepeat: e.getAttribute("data-background-repeat"),
backgroundPosition: e.getAttribute("data-background-position"),
backgroundTransition: e.getAttribute("data-background-transition")
}, n = document.createElement("div");
n.className = "slide-background " + e.className.replace(/present|past|future/, ""), r.background && (/^(http|file|\/\/)/gi.test(r.background) || /\.(svg|png|jpg|jpeg|gif|bmp)$/gi.test(r.background) ? e.setAttribute("data-background-image", r.background) : n.style.background = r.background), (r.background || r.backgroundColor || r.backgroundImage || r.backgroundVideo || r.backgroundIframe) && n.setAttribute("data-background-hash", r.background + r.backgroundSize + r.backgroundImage + r.backgroundVideo + r.backgroundIframe + r.backgroundColor + r.backgroundRepeat + r.backgroundPosition + r.backgroundTransition), r.backgroundSize && (n.style.backgroundSize = r.backgroundSize), r.backgroundColor && (n.style.backgroundColor = r.backgroundColor), r.backgroundRepeat && (n.style.backgroundRepeat = r.backgroundRepeat), r.backgroundPosition && (n.style.backgroundPosition = r.backgroundPosition), r.backgroundTransition && n.setAttribute("data-background-transition", r.backgroundTransition), t.appendChild(n), e.classList.remove("has-dark-background"), e.classList.remove("has-light-background");
var a = window.getComputedStyle(n).backgroundColor;
if (a) {
var i = k(a);
i && 0 !== i.a && e.classList.add(A(a) < 128 ? "has-dark-background" : "has-light-background")
}
return n
}
function u() {
xr.postMessage && window.addEventListener("message", function (e) {
var t = e.data;
"{" === t.charAt(0) && "}" === t.charAt(t.length - 1) && (t = JSON.parse(t), t.method && "function" == typeof vr[t.method] && vr[t.method].apply(vr, t.args))
}, !1)
}
function p(e) {
var t = Cr.wrapper.querySelectorAll(kr).length;
Cr.wrapper.classList.remove(xr.transition), "object" == typeof e && h(xr, e), Pr.transforms3d === !1 && (xr.transition = "linear"), Cr.wrapper.classList.add(xr.transition), Cr.wrapper.setAttribute("data-transition-speed", xr.transitionSpeed), Cr.wrapper.setAttribute("data-background-transition", xr.backgroundTransition), Cr.controls.style.display = xr.controls ? "block" : "none", Cr.progress.style.display = xr.progress ? "block" : "none", xr.rtl ? Cr.wrapper.classList.add("rtl") : Cr.wrapper.classList.remove("rtl"), xr.center ? Cr.wrapper.classList.add("center") : Cr.wrapper.classList.remove("center"), xr.pause === !1 && J(), xr.mouseWheel ? (document.addEventListener("DOMMouseScroll", Gt, !1), document.addEventListener("mousewheel", Gt, !1)) : (document.removeEventListener("DOMMouseScroll", Gt, !1), document.removeEventListener("mousewheel", Gt, !1)), xr.rollingLinks ? N() : I(), xr.previewLinks ? C() : (P(), C("[data-preview-link]")), Lr && (Lr.destroy(), Lr = null), t > 1 && xr.autoSlide && xr.autoSlideStoppable && Pr.canvas && Pr.requestAnimationFrame && (Lr = new fr(Cr.wrapper, function () {
return Math.min(Math.max((Date.now() - zr) / Wr, 0), 1)
}), Lr.on("click", pr), Fr = !1), xr.fragments === !1 && g(Cr.slides.querySelectorAll(".fragment")).forEach(function (e) {
e.classList.add("visible"), e.classList.remove("current-fragment")
}), nt()
}
function f() {
if (Rr = !0, window.addEventListener("hashchange", sr, !1), window.addEventListener("resize", cr, !1), xr.touch && (Cr.wrapper.addEventListener("touchstart", _t, !1), Cr.wrapper.addEventListener("touchmove", Kt, !1), Cr.wrapper.addEventListener("touchend", Vt, !1), window.navigator.pointerEnabled ? (Cr.wrapper.addEventListener("pointerdown", Zt, !1), Cr.wrapper.addEventListener("pointermove", Jt, !1), Cr.wrapper.addEventListener("pointerup", Qt, !1)) : window.navigator.msPointerEnabled && (Cr.wrapper.addEventListener("MSPointerDown", Zt, !1), Cr.wrapper.addEventListener("MSPointerMove", Jt, !1), Cr.wrapper.addEventListener("MSPointerUp", Qt, !1))), xr.keyboard && (document.addEventListener("keydown", $t, !1), document.addEventListener("keypress", Ut, !1)), xr.progress && Cr.progress && Cr.progress.addEventListener("click", er, !1), xr.focusBodyOnPageVisibilityChange) {
var e;
"hidden"in document ? e = "visibilitychange" : "msHidden"in document ? e = "msvisibilitychange" : "webkitHidden"in document && (e = "webkitvisibilitychange"), e && document.addEventListener(e, lr, !1)
}
var t = ["touchstart", "click"];
navigator.userAgent.match(/android/gi) && (t = ["touchstart"]), t.forEach(function (e) {
Cr.controlsLeft.forEach(function (t) {
t.addEventListener(e, tr, !1)
}), Cr.controlsRight.forEach(function (t) {
t.addEventListener(e, rr, !1)
}), Cr.controlsUp.forEach(function (t) {
t.addEventListener(e, nr, !1)
}), Cr.controlsDown.forEach(function (t) {
t.addEventListener(e, ar, !1)
}), Cr.controlsPrev.forEach(function (t) {
t.addEventListener(e, ir, !1)
}), Cr.controlsNext.forEach(function (t) {
t.addEventListener(e, or, !1)
})
})
}
function v() {
Rr = !1, document.removeEventListener("keydown", $t, !1), document.removeEventListener("keypress", Ut, !1), window.removeEventListener("hashchange", sr, !1), window.removeEventListener("resize", cr, !1), Cr.wrapper.removeEventListener("touchstart", _t, !1), Cr.wrapper.removeEventListener("touchmove", Kt, !1), Cr.wrapper.removeEventListener("touchend", Vt, !1), window.navigator.pointerEnabled ? (Cr.wrapper.removeEventListener("pointerdown", Zt, !1), Cr.wrapper.removeEventListener("pointermove", Jt, !1), Cr.wrapper.removeEventListener("pointerup", Qt, !1)) : window.navigator.msPointerEnabled && (Cr.wrapper.removeEventListener("MSPointerDown", Zt, !1), Cr.wrapper.removeEventListener("MSPointerMove", Jt, !1), Cr.wrapper.removeEventListener("MSPointerUp", Qt, !1)), xr.progress && Cr.progress && Cr.progress.removeEventListener("click", er, !1), ["touchstart", "click"].forEach(function (e) {
Cr.controlsLeft.forEach(function (t) {
t.removeEventListener(e, tr, !1)
}), Cr.controlsRight.forEach(function (t) {
t.removeEventListener(e, rr, !1)
}), Cr.controlsUp.forEach(function (t) {
t.removeEventListener(e, nr, !1)
}), Cr.controlsDown.forEach(function (t) {
t.removeEventListener(e, ar, !1)
}), Cr.controlsPrev.forEach(function (t) {
t.removeEventListener(e, ir, !1)
}), Cr.controlsNext.forEach(function (t) {
t.removeEventListener(e, or, !1)
})
})
}
function h(e, t) {
for (var r in t)e[r] = t[r]
}
function g(e) {
return Array.prototype.slice.call(e)
}
function m(e) {
if ("string" == typeof e) {
if ("null" === e)return null;
if ("true" === e)return !0;
if ("false" === e)return !1;
if (e.match(/^\d+$/))return parseFloat(e)
}
return e
}
function y(e, t) {
var r = e.x - t.x, n = e.y - t.y;
return Math.sqrt(r * r + n * n)
}
function b(e, t) {
e.style.WebkitTransform = t, e.style.MozTransform = t, e.style.msTransform = t, e.style.transform = t
}
function w(e) {
"string" == typeof e.layout && (Ir.layout = e.layout), "string" == typeof e.overview && (Ir.overview = e.overview), Ir.layout ? b(Cr.slides, Ir.layout + " " + Ir.overview) : b(Cr.slides, Ir.overview)
}
function L(e) {
var t = document.createElement("style");
t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = e : t.appendChild(document.createTextNode(e)), document.getElementsByTagName("head")[0].appendChild(t)
}
function k(e) {
var t = e.match(/^#([0-9a-f]{3})$/i);
if (t && t[1])return t = t[1], {
r: 17 * parseInt(t.charAt(0), 16),
g: 17 * parseInt(t.charAt(1), 16),
b: 17 * parseInt(t.charAt(2), 16)
};
var r = e.match(/^#([0-9a-f]{6})$/i);
if (r && r[1])return r = r[1], {
r: parseInt(r.substr(0, 2), 16),
g: parseInt(r.substr(2, 2), 16),
b: parseInt(r.substr(4, 2), 16)
};
var n = e.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);
if (n)return {r: parseInt(n[1], 10), g: parseInt(n[2], 10), b: parseInt(n[3], 10)};
var a = e.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i);
return a ? {r: parseInt(a[1], 10), g: parseInt(a[2], 10), b: parseInt(a[3], 10), a: parseFloat(a[4])} : null
}
function A(e) {
return "string" == typeof e && (e = k(e)), e ? (299 * e.r + 587 * e.g + 114 * e.b) / 1e3 : null
}
function E(e) {
var t = 0;
if (e) {
var r = 0;
g(e.childNodes).forEach(function (e) {
"number" == typeof e.offsetTop && e.style && ("absolute" === window.getComputedStyle(e).position && (r += 1), t = Math.max(t, e.offsetTop + e.offsetHeight))
}), 0 === r && (t = e.offsetHeight)
}
return t
}
function S(e, t) {
if (t = t || 0, e) {
var r, n = e.style.height;
return e.style.height = "0px", r = t - e.parentNode.offsetHeight, e.style.height = n + "px", r
}
return t
}
function x() {
return /print-pdf/gi.test(window.location.search)
}
function q() {
xr.hideAddressBar && wr && (window.addEventListener("load", M, !1), window.addEventListener("orientationchange", M, !1))
}
function M() {
setTimeout(function () {
window.scrollTo(0, 1)
}, 10)
}
function T(e, t) {
var r = document.createEvent("HTMLEvents", 1, 2);
r.initEvent(e, !0, !0), h(r, t), Cr.wrapper.dispatchEvent(r), xr.postMessageEvents && window.parent !== window.self && window.parent.postMessage(JSON.stringify({
namespace: "reveal",
eventName: e,
state: Mt()
}), "*")
}
function N() {
if (Pr.transforms3d && !("msPerspective"in document.body.style))for (var e = Cr.wrapper.querySelectorAll(kr + " a"), t = 0, r = e.length; r > t; t++) {
var n = e[t];
if (!(!n.textContent || n.querySelector("*") || n.className && n.classList.contains(n, "roll"))) {
var a = document.createElement("span");
a.setAttribute("data-title", n.text), a.innerHTML = n.innerHTML, n.classList.add("roll"), n.innerHTML = "", n.appendChild(a)
}
}
}
function I() {
for (var e = Cr.wrapper.querySelectorAll(kr + " a.roll"), t = 0, r = e.length; r > t; t++) {
var n = e[t], a = n.querySelector("span");
a && (n.classList.remove("roll"), n.innerHTML = a.innerHTML)
}
}
function C(e) {
var t = g(document.querySelectorAll(e ? e : "a"));
t.forEach(function (e) {
/^(http|www)/gi.test(e.getAttribute("href")) && e.addEventListener("click", ur, !1)
})
}
function P() {
var e = g(document.querySelectorAll("a"));
e.forEach(function (e) {
/^(http|www)/gi.test(e.getAttribute("href")) && e.removeEventListener("click", ur, !1)
})
}
function D(e) {
R(), Cr.overlay = document.createElement("div"), Cr.overlay.classList.add("overlay"), Cr.overlay.classList.add("overlay-preview"), Cr.wrapper.appendChild(Cr.overlay), Cr.overlay.innerHTML = ["", '', '', '', "
"].join(""), Cr.overlay.querySelector("iframe").addEventListener("load", function () {
Cr.overlay.classList.add("loaded")
}, !1), Cr.overlay.querySelector(".close").addEventListener("click", function (e) {
R(), e.preventDefault()
}, !1), Cr.overlay.querySelector(".external").addEventListener("click", function () {
R()
}, !1), setTimeout(function () {
Cr.overlay.classList.add("visible")
}, 1)
}
function H() {
if (xr.help) {
R(), Cr.overlay = document.createElement("div"), Cr.overlay.classList.add("overlay"), Cr.overlay.classList.add("overlay-help"), Cr.wrapper.appendChild(Cr.overlay);
var e = 'Keyboard Shortcuts
';
e += "KEY | ACTION | ";
for (var t in Xr)e += "" + t + " | " + Xr[t] + " |
";
e += "
", Cr.overlay.innerHTML = ["", '"].join(""), Cr.overlay.querySelector(".close").addEventListener("click", function (e) {
R(), e.preventDefault()
}, !1), setTimeout(function () {
Cr.overlay.classList.add("visible")
}, 1)
}
}
function R() {
Cr.overlay && (Cr.overlay.parentNode.removeChild(Cr.overlay), Cr.overlay = null)
}
function W() {
if (Cr.wrapper && !x()) {
var e = z(), t = 20;
O(xr.width, xr.height, t), Cr.slides.style.width = e.width + "px", Cr.slides.style.height = e.height + "px", Nr = Math.min(e.presentationWidth / e.width, e.presentationHeight / e.height), Nr = Math.max(Nr, xr.minScale), Nr = Math.min(Nr, xr.maxScale), 1 === Nr ? (Cr.slides.style.zoom = "", Cr.slides.style.left = "", Cr.slides.style.top = "", Cr.slides.style.bottom = "", Cr.slides.style.right = "", w({layout: ""})) : !wr && /chrome/i.test(navigator.userAgent) && "undefined" != typeof Cr.slides.style.zoom ? (Cr.slides.style.zoom = Nr, w({layout: ""})) : (Cr.slides.style.left = "50%", Cr.slides.style.top = "50%", Cr.slides.style.bottom = "auto", Cr.slides.style.right = "auto", w({layout: "translate(-50%, -50%) scale(" + Nr + ")"}));
for (var r = g(Cr.wrapper.querySelectorAll(kr)), n = 0, a = r.length; a > n; n++) {
var i = r[n];
"none" !== i.style.display && (i.style.top = xr.center || i.classList.contains("center") ? i.classList.contains("stack") ? 0 : Math.max((e.height - E(i)) / 2 - t, 0) + "px" : "")
}
ct(), pt()
}
}
function O(e, t) {
g(Cr.slides.querySelectorAll("section > .stretch")).forEach(function (r) {
var n = S(r, t);
if (/(img|video)/gi.test(r.nodeName)) {
var a = r.naturalWidth || r.videoWidth, i = r.naturalHeight || r.videoHeight, o = Math.min(e / a, n / i);
r.style.width = a * o + "px", r.style.height = i * o + "px"
} else r.style.width = e + "px", r.style.height = n + "px"
})
}
function z(e, t) {
var r = {
width: xr.width,
height: xr.height,
presentationWidth: e || Cr.wrapper.offsetWidth,
presentationHeight: t || Cr.wrapper.offsetHeight
};
return r.presentationWidth -= r.presentationHeight * xr.margin, r.presentationHeight -= r.presentationHeight * xr.margin, "string" == typeof r.width && /%$/.test(r.width) && (r.width = parseInt(r.width, 10) / 100 * r.presentationWidth), "string" == typeof r.height && /%$/.test(r.height) && (r.height = parseInt(r.height, 10) / 100 * r.presentationHeight), r
}
function F(e, t) {
"object" == typeof e && "function" == typeof e.setAttribute && e.setAttribute("data-previous-indexv", t || 0)
}
function Y(e) {
if ("object" == typeof e && "function" == typeof e.setAttribute && e.classList.contains("stack")) {
var t = e.hasAttribute("data-start-indexv") ? "data-start-indexv" : "data-previous-indexv";
return parseInt(e.getAttribute(t) || 0, 10)
}
return 0
}
function X() {
xr.overview && !_() && (Mr = !0, Cr.wrapper.classList.add("overview"), Cr.wrapper.classList.remove("overview-deactivating"), Pr.overviewTransitions && setTimeout(function () {
Cr.wrapper.classList.add("overview-animated")
}, 1), Ht(), Cr.slides.appendChild(Cr.background), g(Cr.wrapper.querySelectorAll(kr)).forEach(function (e) {
e.classList.contains("stack") || e.addEventListener("click", dr, !0)
}), st(), j(), B(), W(), T("overviewshown", {indexh: hr, indexv: gr, currentSlide: yr}))
}
function j() {
var e = 70, t = xr.width + e, r = xr.height + e;
xr.rtl && (t = -t), g(Cr.wrapper.querySelectorAll(Ar)).forEach(function (e, n) {
e.setAttribute("data-index-h", n), b(e, "translate3d(" + n * t + "px, 0, 0)"), e.classList.contains("stack") && g(e.querySelectorAll("section")).forEach(function (e, t) {
e.setAttribute("data-index-h", n), e.setAttribute("data-index-v", t), b(e, "translate3d(0, " + t * r + "px, 0)")
})
}), g(Cr.background.childNodes).forEach(function (e, n) {
b(e, "translate3d(" + n * t + "px, 0, 0)"), g(e.querySelectorAll(".slide-background")).forEach(function (e, t) {
b(e, "translate3d(0, " + t * r + "px, 0)")
})
})
}
function B() {
var e = 70, t = xr.width + e, r = xr.height + e;
xr.rtl && (t = -t), w({overview: ["translateX(" + -hr * t + "px)", "translateY(" + -gr * r + "px)", "translateZ(" + (window.innerWidth < 400 ? -1e3 : -2500) + "px)"].join(" ")})
}
function U() {
xr.overview && (Mr = !1, Cr.wrapper.classList.remove("overview"), Cr.wrapper.classList.remove("overview-animated"), Cr.wrapper.classList.add("overview-deactivating"), setTimeout(function () {
Cr.wrapper.classList.remove("overview-deactivating")
}, 1), Cr.wrapper.appendChild(Cr.background), g(Cr.wrapper.querySelectorAll(kr)).forEach(function (e) {
b(e, ""), e.removeEventListener("click", dr, !0)
}), g(Cr.background.querySelectorAll(".slide-background")).forEach(function (e) {
b(e, "")
}), w({overview: ""}), rt(hr, gr), W(), Dt(), T("overviewhidden", {indexh: hr, indexv: gr, currentSlide: yr}))
}
function $(e) {
"boolean" == typeof e ? e ? X() : U() : _() ? U() : X()
}
function _() {
return Mr
}
function K(e) {
return e = e ? e : yr, e && e.parentNode && !!e.parentNode.nodeName.match(/section/i)
}
function V() {
var e = document.body, t = e.requestFullScreen || e.webkitRequestFullscreen || e.webkitRequestFullScreen || e.mozRequestFullScreen || e.msRequestFullscreen;
t && t.apply(e)
}
function Z() {
if (xr.pause) {
var e = Cr.wrapper.classList.contains("paused");
Ht(), Cr.wrapper.classList.add("paused"), e === !1 && T("paused")
}
}
function J() {
var e = Cr.wrapper.classList.contains("paused");
Cr.wrapper.classList.remove("paused"), Dt(), e && T("resumed")
}
function Q(e) {
"boolean" == typeof e ? e ? Z() : J() : G() ? J() : Z()
}
function G() {
return Cr.wrapper.classList.contains("paused")
}
function et(e) {
"boolean" == typeof e ? e ? Wt() : Rt() : Fr ? Wt() : Rt()
}
function tt() {
return !(!Wr || Fr)
}
function rt(e, t, r, n) {
mr = yr;
var a = Cr.wrapper.querySelectorAll(Ar);
void 0 !== t || _() || (t = Y(a[e])), mr && mr.parentNode && mr.parentNode.classList.contains("stack") && F(mr.parentNode, gr);
var i = Tr.concat();
Tr.length = 0;
var o = hr || 0, s = gr || 0;
hr = ot(Ar, void 0 === e ? hr : e), gr = ot(Er, void 0 === t ? gr : t), st(), W();
e:for (var c = 0, l = Tr.length; l > c; c++) {
for (var d = 0; d < i.length; d++)if (i[d] === Tr[c]) {
i.splice(d, 1);
continue e
}
document.documentElement.classList.add(Tr[c]), T(Tr[c])
}
for (; i.length;)document.documentElement.classList.remove(i.pop());
_() && B();
var u = a[hr], p = u.querySelectorAll("section");
yr = p[gr] || u, "undefined" != typeof r && It(r);
var f = hr !== o || gr !== s;
f ? T("slidechanged", {
indexh: hr,
indexv: gr,
previousSlide: mr,
currentSlide: yr,
origin: n
}) : mr = null, mr && (mr.classList.remove("present"), mr.setAttribute("aria-hidden", "true"), Cr.wrapper.querySelector(Sr).classList.contains("present") && setTimeout(function () {
var e, t = g(Cr.wrapper.querySelectorAll(Ar + ".stack"));
for (e in t)t[e] && F(t[e], 0)
}, 0)), (f || !mr) && (bt(mr), yt(yr)), Cr.statusDiv.textContent = yr.textContent, dt(), ct(), ut(), pt(), lt(), At(), Dt()
}
function nt() {
v(), f(), W(), Wr = xr.autoSlide, Dt(), l(), At(), it(), dt(), ct(), ut(!0), lt(), st(), mt(), _() && j()
}
function at() {
var e = g(Cr.wrapper.querySelectorAll(Ar));
e.forEach(function (e) {
var t = g(e.querySelectorAll("section"));
t.forEach(function (e, t) {
t > 0 && (e.classList.remove("present"), e.classList.remove("past"), e.classList.add("future"), e.setAttribute("aria-hidden", "true"))
})
})
}
function it() {
var e = g(Cr.wrapper.querySelectorAll(Ar));
e.forEach(function (e) {
var t = g(e.querySelectorAll("section"));
t.forEach(function (e) {
Nt(e.querySelectorAll(".fragment"))
}), 0 === t.length && Nt(e.querySelectorAll(".fragment"))
})
}
function ot(e, t) {
var r = g(Cr.wrapper.querySelectorAll(e)), n = r.length, a = x();
if (n) {
xr.loop && (t %= n, 0 > t && (t = n + t)), t = Math.max(Math.min(t, n - 1), 0);
for (var i = 0; n > i; i++) {
var o = r[i], s = xr.rtl && !K(o);
if (o.classList.remove("past"), o.classList.remove("present"), o.classList.remove("future"), o.setAttribute("hidden", ""), o.setAttribute("aria-hidden", "true"), o.querySelector("section") && o.classList.add("stack"), a)o.classList.add("present"); else if (t > i) {
if (o.classList.add(s ? "future" : "past"), xr.fragments)for (var c = g(o.querySelectorAll(".fragment")); c.length;) {
var l = c.pop();
l.classList.add("visible"), l.classList.remove("current-fragment")
}
} else if (i > t && (o.classList.add(s ? "past" : "future"), xr.fragments))for (var d = g(o.querySelectorAll(".fragment.visible")); d.length;) {
var u = d.pop();
u.classList.remove("visible"), u.classList.remove("current-fragment")
}
}
r[t].classList.add("present"), r[t].removeAttribute("hidden"), r[t].removeAttribute("aria-hidden");
var p = r[t].getAttribute("data-state");
p && (Tr = Tr.concat(p.split(" ")))
} else t = 0;
return t
}
function st() {
var e, t, r = g(Cr.wrapper.querySelectorAll(Ar)), n = r.length;
if (n && "undefined" != typeof hr) {
var a = _() ? 10 : xr.viewDistance;
wr && (a = _() ? 6 : 2), x() && (a = Number.MAX_VALUE);
for (var i = 0; n > i; i++) {
var o = r[i], s = g(o.querySelectorAll("section")), c = s.length;
if (e = Math.abs((hr || 0) - i) || 0, xr.loop && (e = Math.abs(((hr || 0) - i) % (n - a)) || 0), a > e ? ft(o) : vt(o), c)for (var l = Y(o), d = 0; c > d; d++) {
var u = s[d];
t = Math.abs(i === (hr || 0) ? (gr || 0) - d : d - l), a > e + t ? ft(u) : vt(u)
}
}
}
}
function ct() {
xr.progress && Cr.progressbar && (Cr.progressbar.style.width = wt() * Cr.wrapper.offsetWidth + "px")
}
function lt() {
if (xr.slideNumber && Cr.slideNumber) {
var e = "c";
"string" == typeof xr.slideNumber && (e = xr.slideNumber);
var t = St();
Cr.slideNumber.innerHTML = e.replace(/h/g, hr).replace(/v/g, gr).replace(/c/g, Math.round(wt() * t) + 1).replace(/t/g, t + 1)
}
}
function dt() {
var e = ht(), t = gt();
Cr.controlsLeft.concat(Cr.controlsRight).concat(Cr.controlsUp).concat(Cr.controlsDown).concat(Cr.controlsPrev).concat(Cr.controlsNext).forEach(function (e) {
e.classList.remove("enabled"), e.classList.remove("fragmented")
}), e.left && Cr.controlsLeft.forEach(function (e) {
e.classList.add("enabled")
}), e.right && Cr.controlsRight.forEach(function (e) {
e.classList.add("enabled")
}), e.up && Cr.controlsUp.forEach(function (e) {
e.classList.add("enabled")
}), e.down && Cr.controlsDown.forEach(function (e) {
e.classList.add("enabled")
}), (e.left || e.up) && Cr.controlsPrev.forEach(function (e) {
e.classList.add("enabled")
}), (e.right || e.down) && Cr.controlsNext.forEach(function (e) {
e.classList.add("enabled")
}), yr && (t.prev && Cr.controlsPrev.forEach(function (e) {
e.classList.add("fragmented", "enabled")
}), t.next && Cr.controlsNext.forEach(function (e) {
e.classList.add("fragmented", "enabled")
}), K(yr) ? (t.prev && Cr.controlsUp.forEach(function (e) {
e.classList.add("fragmented", "enabled")
}), t.next && Cr.controlsDown.forEach(function (e) {
e.classList.add("fragmented", "enabled")
})) : (t.prev && Cr.controlsLeft.forEach(function (e) {
e.classList.add("fragmented", "enabled")
}), t.next && Cr.controlsRight.forEach(function (e) {
e.classList.add("fragmented", "enabled")
})))
}
function ut(e) {
var t = null, r = xr.rtl ? "future" : "past", n = xr.rtl ? "past" : "future";
if (g(Cr.background.childNodes).forEach(function (a, i) {
a.classList.remove("past"), a.classList.remove("present"), a.classList.remove("future"), hr > i ? a.classList.add(r) : i > hr ? a.classList.add(n) : (a.classList.add("present"), t = a), (e || i === hr) && g(a.querySelectorAll(".slide-background")).forEach(function (e, r) {
e.classList.remove("past"), e.classList.remove("present"), e.classList.remove("future"), gr > r ? e.classList.add("past") : r > gr ? e.classList.add("future") : (e.classList.add("present"), i === hr && (t = e))
})
}), br) {
var a = br.querySelector("video");
a && a.pause()
}
if (t) {
var i = t.querySelector("video");
i && (i.currentTime = 0, i.play());
var o = t.style.backgroundImage || "";
/\.gif/i.test(o) && (t.style.backgroundImage = "", window.getComputedStyle(t).opacity, t.style.backgroundImage = o);
var s = br ? br.getAttribute("data-background-hash") : null, c = t.getAttribute("data-background-hash");
c && c === s && t !== br && Cr.background.classList.add("no-transition"), br = t
}
yr && ["has-light-background", "has-dark-background"].forEach(function (e) {
yr.classList.contains(e) ? Cr.wrapper.classList.add(e) : Cr.wrapper.classList.remove(e)
}), setTimeout(function () {
Cr.background.classList.remove("no-transition")
}, 1)
}
function pt() {
if (xr.parallaxBackgroundImage) {
var e, t, r = Cr.wrapper.querySelectorAll(Ar), n = Cr.wrapper.querySelectorAll(Er), a = Cr.background.style.backgroundSize.split(" ");
1 === a.length ? e = t = parseInt(a[0], 10) : (e = parseInt(a[0], 10), t = parseInt(a[1], 10));
var i = Cr.background.offsetWidth, o = r.length, s = -(e - i) / (o - 1) * hr, c = Cr.background.offsetHeight, l = n.length, d = l > 1 ? -(t - c) / (l - 1) * gr : 0;
Cr.background.style.backgroundPosition = s + "px " + d + "px"
}
}
function ft(e) {
e.style.display = "block", g(e.querySelectorAll("img[data-src], video[data-src], audio[data-src], iframe[data-src]")).forEach(function (e) {
e.setAttribute("src", e.getAttribute("data-src")), e.removeAttribute("data-src")
}), g(e.querySelectorAll("video, audio")).forEach(function (e) {
var t = 0;
g(e.querySelectorAll("source[data-src]")).forEach(function (e) {
e.setAttribute("src", e.getAttribute("data-src")), e.removeAttribute("data-src"), t += 1
}), t > 0 && e.load()
});
var t = Et(e), r = qt(t.h, t.v);
if (r && (r.style.display = "block", r.hasAttribute("data-loaded") === !1)) {
r.setAttribute("data-loaded", "true");
var n = e.getAttribute("data-background-image"), a = e.getAttribute("data-background-video"), i = e.getAttribute("data-background-iframe");
if (n)r.style.backgroundImage = "url(" + n + ")"; else if (a && !Lt()) {
var o = document.createElement("video");
a.split(",").forEach(function (e) {
o.innerHTML += ''
}), r.appendChild(o)
} else if (i) {
var s = document.createElement("iframe");
s.setAttribute("src", i), s.style.width = "100%", s.style.height = "100%", s.style.maxHeight = "100%", s.style.maxWidth = "100%", r.appendChild(s)
}
}
}
function vt(e) {
e.style.display = "none";
var t = Et(e), r = qt(t.h, t.v);
r && (r.style.display = "none")
}
function ht() {
var e = Cr.wrapper.querySelectorAll(Ar), t = Cr.wrapper.querySelectorAll(Er), r = {
left: hr > 0 || xr.loop,
right: hr < e.length - 1 || xr.loop,
up: gr > 0,
down: gr < t.length - 1
};
if (xr.rtl) {
var n = r.left;
r.left = r.right, r.right = n
}
return r
}
function gt() {
if (yr && xr.fragments) {
var e = yr.querySelectorAll(".fragment"), t = yr.querySelectorAll(".fragment:not(.visible)");
return {prev: e.length - t.length > 0, next: !!t.length}
}
return {prev: !1, next: !1}
}
function mt() {
g(Cr.slides.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function (e) {
var t = e.getAttribute("src");
/enablejsapi\=1/gi.test(t) || e.setAttribute("src", t + (/\?/.test(t) ? "&" : "?") + "enablejsapi=1")
}), g(Cr.slides.querySelectorAll('iframe[src*="player.vimeo.com/"]')).forEach(function (e) {
var t = e.getAttribute("src");
/api\=1/gi.test(t) || e.setAttribute("src", t + (/\?/.test(t) ? "&" : "?") + "api=1")
})
}
function yt(e) {
e && !Lt() && (g(e.querySelectorAll('img[src$=".gif"]')).forEach(function (e) {
e.setAttribute("src", e.getAttribute("src"))
}), g(e.querySelectorAll("video, audio")).forEach(function (e) {
e.hasAttribute("data-autoplay") && e.play()
}), g(e.querySelectorAll("iframe")).forEach(function (e) {
e.contentWindow.postMessage("slide:start", "*")
}), g(e.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function (e) {
e.hasAttribute("data-autoplay") && e.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', "*")
}), g(e.querySelectorAll('iframe[src*="player.vimeo.com/"]')).forEach(function (e) {
e.hasAttribute("data-autoplay") && e.contentWindow.postMessage('{"method":"play"}', "*")
}))
}
function bt(e) {
e && e.parentNode && (g(e.querySelectorAll("video, audio")).forEach(function (e) {
e.hasAttribute("data-ignore") || e.pause()
}), g(e.querySelectorAll("iframe")).forEach(function (e) {
e.contentWindow.postMessage("slide:stop", "*")
}), g(e.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function (e) {
e.hasAttribute("data-ignore") || "function" != typeof e.contentWindow.postMessage || e.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', "*")
}), g(e.querySelectorAll('iframe[src*="player.vimeo.com/"]')).forEach(function (e) {
e.hasAttribute("data-ignore") || "function" != typeof e.contentWindow.postMessage || e.contentWindow.postMessage('{"method":"pause"}', "*")
}))
}
function wt() {
var e = g(Cr.wrapper.querySelectorAll(Ar)), t = St(), r = 0;
e:for (var n = 0; n < e.length; n++) {
for (var a = e[n], i = g(a.querySelectorAll("section")), o = 0; o < i.length; o++) {
if (i[o].classList.contains("present"))break e;
r++
}
if (a.classList.contains("present"))break;
a.classList.contains("stack") === !1 && r++
}
if (yr) {
var s = yr.querySelectorAll(".fragment");
if (s.length > 0) {
var c = yr.querySelectorAll(".fragment.visible"), l = .9;
r += c.length / s.length * l
}
}
return r / (t - 1)
}
function Lt() {
return !!window.location.search.match(/receiver/gi)
}
function kt() {
var e = window.location.hash, t = e.slice(2).split("/"), r = e.replace(/#|\//gi, "");
if (isNaN(parseInt(t[0], 10)) && r.length) {
var n;
if (/^[a-zA-Z][\w:.-]*$/.test(r) && (n = document.getElementById(r)), n) {
var a = vr.getIndices(n);
rt(a.h, a.v)
} else rt(hr || 0, gr || 0)
} else {
var i = parseInt(t[0], 10) || 0, o = parseInt(t[1], 10) || 0;
(i !== hr || o !== gr) && rt(i, o)
}
}
function At(e) {
if (xr.history)if (clearTimeout(Hr), "number" == typeof e)Hr = setTimeout(At, e);
else if (yr) {
var t = "/", r = yr.getAttribute("id");
r && (r = r.toLowerCase(), r = r.replace(/[^a-zA-Z0-9\-\_\:\.]/g, "")), "string" == typeof r && r.length ? t = "/" + r : ((hr > 0 || gr > 0) && (t += hr), gr > 0 && (t += "/" + gr)), window.location.hash = t
}
}
function Et(e) {
var t, r = hr, n = gr;
if (e) {
var a = K(e), i = a ? e.parentNode : e, o = g(Cr.wrapper.querySelectorAll(Ar));
r = Math.max(o.indexOf(i), 0), n = void 0, a && (n = Math.max(g(e.parentNode.querySelectorAll("section")).indexOf(e), 0))
}
if (!e && yr) {
var s = yr.querySelectorAll(".fragment").length > 0;
if (s) {
var c = yr.querySelector(".current-fragment");
t = c && c.hasAttribute("data-fragment-index") ? parseInt(c.getAttribute("data-fragment-index"), 10) : yr.querySelectorAll(".fragment.visible").length - 1
}
}
return {h: r, v: n, f: t}
}
function St() {
return Cr.wrapper.querySelectorAll(kr + ":not(.stack)").length
}
function xt(e, t) {
var r = Cr.wrapper.querySelectorAll(Ar)[e], n = r && r.querySelectorAll("section");
return n && n.length && "number" == typeof t ? n ? n[t] : void 0 : r
}
function qt(e, t) {
if (x()) {
var r = xt(e, t);
if (r) {
var n = r.querySelector(".slide-background");
if (n && n.parentNode === r)return n
}
return void 0
}
var a = Cr.wrapper.querySelectorAll(".backgrounds>.slide-background")[e], i = a && a.querySelectorAll(".slide-background");
return i && i.length && "number" == typeof t ? i ? i[t] : void 0 : a
}
function Mt() {
var e = Et();
return {indexh: e.h, indexv: e.v, indexf: e.f, paused: G(), overview: _()}
}
function Tt(e) {
if ("object" == typeof e) {
rt(m(e.indexh), m(e.indexv), m(e.indexf));
var t = m(e.paused), r = m(e.overview);
"boolean" == typeof t && t !== G() && Q(t), "boolean" == typeof r && r !== _() && $(r)
}
}
function Nt(e) {
e = g(e);
var t = [], r = [], n = [];
e.forEach(function (e) {
if (e.hasAttribute("data-fragment-index")) {
var n = parseInt(e.getAttribute("data-fragment-index"), 10);
t[n] || (t[n] = []), t[n].push(e)
} else r.push([e])
}), t = t.concat(r);
var a = 0;
return t.forEach(function (e) {
e.forEach(function (e) {
n.push(e), e.setAttribute("data-fragment-index", a)
}), a++
}), n
}
function It(e, t) {
if (yr && xr.fragments) {
var r = Nt(yr.querySelectorAll(".fragment"));
if (r.length) {
if ("number" != typeof e) {
var n = Nt(yr.querySelectorAll(".fragment.visible")).pop();
e = n ? parseInt(n.getAttribute("data-fragment-index") || 0, 10) : -1
}
"number" == typeof t && (e += t);
var a = [], i = [];
return g(r).forEach(function (t, r) {
t.hasAttribute("data-fragment-index") && (r = parseInt(t.getAttribute("data-fragment-index"), 10)), e >= r ? (t.classList.contains("visible") || a.push(t), t.classList.add("visible"), t.classList.remove("current-fragment"), Cr.statusDiv.textContent = t.textContent, r === e && t.classList.add("current-fragment")) : (t.classList.contains("visible") && i.push(t), t.classList.remove("visible"), t.classList.remove("current-fragment"))
}), i.length && T("fragmenthidden", {
fragment: i[0],
fragments: i
}), a.length && T("fragmentshown", {
fragment: a[0],
fragments: a
}), dt(), ct(), !(!a.length && !i.length)
}
}
return !1
}
function Ct() {
return It(null, 1)
}
function Pt() {
return It(null, -1)
}
function Dt() {
if (Ht(), yr) {
var e = yr.querySelector(".current-fragment"), t = e ? e.getAttribute("data-autoslide") : null, r = yr.parentNode ? yr.parentNode.getAttribute("data-autoslide") : null, n = yr.getAttribute("data-autoslide");
Wr = t ? parseInt(t, 10) : n ? parseInt(n, 10) : r ? parseInt(r, 10) : xr.autoSlide, g(yr.querySelectorAll("video, audio")).forEach(function (e) {
e.hasAttribute("data-autoplay") && Wr && 1e3 * e.duration > Wr && (Wr = 1e3 * e.duration + 1e3)
}), !Wr || Fr || G() || _() || vr.isLastSlide() && !gt().next && xr.loop !== !0 || (Or = setTimeout(jt, Wr), zr = Date.now()), Lr && Lr.setPlaying(-1 !== Or)
}
}
function Ht() {
clearTimeout(Or), Or = -1
}
function Rt() {
Wr && !Fr && (Fr = !0, T("autoslidepaused"), clearTimeout(Or), Lr && Lr.setPlaying(!1))
}
function Wt() {
Wr && Fr && (Fr = !1, T("autoslideresumed"), Dt())
}
function Ot() {
xr.rtl ? (_() || Ct() === !1) && ht().left && rt(hr + 1) : (_() || Pt() === !1) && ht().left && rt(hr - 1)
}
function zt() {
xr.rtl ? (_() || Pt() === !1) && ht().right && rt(hr - 1) : (_() || Ct() === !1) && ht().right && rt(hr + 1)
}
function Ft() {
(_() || Pt() === !1) && ht().up && rt(hr, gr - 1)
}
function Yt() {
(_() || Ct() === !1) && ht().down && rt(hr, gr + 1)
}
function Xt() {
if (Pt() === !1)if (ht().up)Ft(); else {
var e;
if (e = xr.rtl ? g(Cr.wrapper.querySelectorAll(Ar + ".future")).pop() : g(Cr.wrapper.querySelectorAll(Ar + ".past")).pop()) {
var t = e.querySelectorAll("section").length - 1 || void 0, r = hr - 1;
rt(r, t)
}
}
}
function jt() {
Ct() === !1 && (ht().down ? Yt() : xr.rtl ? Ot() : zt()), Dt()
}
function Bt() {
xr.autoSlideStoppable && Rt()
}
function Ut(e) {
e.shiftKey && 63 === e.charCode && (Cr.overlay ? R() : H(!0))
}
function $t(e) {
if ("function" == typeof xr.keyboardCondition && xr.keyboardCondition() === !1)return !0;
var t = Fr;
Bt(e);
var r = document.activeElement && "inherit" !== document.activeElement.contentEditable, n = document.activeElement && document.activeElement.tagName && /input|textarea/i.test(document.activeElement.tagName);
if (!(r || n || e.shiftKey && 32 !== e.keyCode || e.altKey || e.ctrlKey || e.metaKey)) {
if (G() && -1 === [66, 190, 191].indexOf(e.keyCode))return !1;
var a = !1;
if ("object" == typeof xr.keyboard)for (var i in xr.keyboard)if (parseInt(i, 10) === e.keyCode) {
var o = xr.keyboard[i];
"function" == typeof o ? o.apply(null, [e]) : "string" == typeof o && "function" == typeof vr[o] && vr[o].call(), a = !0
}
if (a === !1)switch (a = !0, e.keyCode) {
case 80:
case 33:
Xt();
break;
case 78:
case 34:
jt();
break;
case 72:
case 37:
Ot();
break;
case 76:
case 39:
zt();
break;
case 75:
case 38:
Ft();
break;
case 74:
case 40:
Yt();
break;
case 36:
rt(0);
break;
case 35:
rt(Number.MAX_VALUE);
break;
case 32:
_() ? U() : e.shiftKey ? Xt() : jt();
break;
case 13:
_() ? U() : a = !1;
break;
case 58:
case 59:
case 66:
case 190:
case 191:
Q();
break;
case 70:
V();
break;
case 65:
xr.autoSlideStoppable && et(t);
break;
default:
a = !1
}
a ? e.preventDefault && e.preventDefault() : 27 !== e.keyCode && 79 !== e.keyCode || !Pr.transforms3d || (Cr.overlay ? R() : $(), e.preventDefault && e.preventDefault()), Dt()
}
}
function _t(e) {
Yr.startX = e.touches[0].clientX, Yr.startY = e.touches[0].clientY, Yr.startCount = e.touches.length, 2 === e.touches.length && xr.overview && (Yr.startSpan = y({
x: e.touches[1].clientX,
y: e.touches[1].clientY
}, {x: Yr.startX, y: Yr.startY}))
}
function Kt(e) {
if (Yr.captured)navigator.userAgent.match(/android/gi) && e.preventDefault(); else {
Bt(e);
var t = e.touches[0].clientX, r = e.touches[0].clientY;
if (2 === e.touches.length && 2 === Yr.startCount && xr.overview) {
var n = y({x: e.touches[1].clientX, y: e.touches[1].clientY}, {x: Yr.startX, y: Yr.startY});
Math.abs(Yr.startSpan - n) > Yr.threshold && (Yr.captured = !0, n < Yr.startSpan ? X() : U()), e.preventDefault()
} else if (1 === e.touches.length && 2 !== Yr.startCount) {
var a = t - Yr.startX, i = r - Yr.startY;
a > Yr.threshold && Math.abs(a) > Math.abs(i) ? (Yr.captured = !0, Ot()) : a < -Yr.threshold && Math.abs(a) > Math.abs(i) ? (Yr.captured = !0, zt()) : i > Yr.threshold ? (Yr.captured = !0, Ft()) : i < -Yr.threshold && (Yr.captured = !0, Yt()), xr.embedded ? (Yr.captured || K(yr)) && e.preventDefault() : e.preventDefault()
}
}
}
function Vt() {
Yr.captured = !1
}
function Zt(e) {
(e.pointerType === e.MSPOINTER_TYPE_TOUCH || "touch" === e.pointerType) && (e.touches = [{
clientX: e.clientX,
clientY: e.clientY
}], _t(e))
}
function Jt(e) {
(e.pointerType === e.MSPOINTER_TYPE_TOUCH || "touch" === e.pointerType) && (e.touches = [{
clientX: e.clientX,
clientY: e.clientY
}], Kt(e))
}
function Qt(e) {
(e.pointerType === e.MSPOINTER_TYPE_TOUCH || "touch" === e.pointerType) && (e.touches = [{
clientX: e.clientX,
clientY: e.clientY
}], Vt(e))
}
function Gt(e) {
if (Date.now() - Dr > 600) {
Dr = Date.now();
var t = e.detail || -e.wheelDelta;
t > 0 ? jt() : Xt()
}
}
function er(e) {
Bt(e), e.preventDefault();
var t = g(Cr.wrapper.querySelectorAll(Ar)).length, r = Math.floor(e.clientX / Cr.wrapper.offsetWidth * t);
rt(r)
}
function tr(e) {
e.preventDefault(), Bt(), Ot()
}
function rr(e) {
e.preventDefault(), Bt(), zt()
}
function nr(e) {
e.preventDefault(), Bt(), Ft()
}
function ar(e) {
e.preventDefault(), Bt(), Yt()
}
function ir(e) {
e.preventDefault(), Bt(), Xt()
}
function or(e) {
e.preventDefault(), Bt(), jt()
}
function sr() {
kt()
}
function cr() {
W()
}
function lr() {
var e = document.webkitHidden || document.msHidden || document.hidden;
e === !1 && document.activeElement !== document.body && (document.activeElement.blur(), document.body.focus())
}
function dr(e) {
if (Rr && _()) {
e.preventDefault();
for (var t = e.target; t && !t.nodeName.match(/section/gi);)t = t.parentNode;
if (t && !t.classList.contains("disabled") && (U(), t.nodeName.match(/section/gi))) {
var r = parseInt(t.getAttribute("data-index-h"), 10), n = parseInt(t.getAttribute("data-index-v"), 10);
rt(r, n)
}
}
}
function ur(e) {
if (e.currentTarget && e.currentTarget.hasAttribute("href")) {
var t = e.currentTarget.getAttribute("href");
t && (D(t), e.preventDefault())
}
}
function pr() {
vr.isLastSlide() && xr.loop === !1 ? (rt(0, 0), Wt()) : Fr ? Wt() : Rt()
}
function fr(e, t) {
this.diameter = 50, this.thickness = 3, this.playing = !1, this.progress = 0, this.progressOffset = 1, this.container = e, this.progressCheck = t, this.canvas = document.createElement("canvas"), this.canvas.className = "playback", this.canvas.width = this.diameter, this.canvas.height = this.diameter, this.context = this.canvas.getContext("2d"), this.container.appendChild(this.canvas), this.render()
}
var vr, hr, gr, mr, yr, br, wr, Lr, kr = ".slides section", Ar = ".slides>section", Er = ".slides>section.present>section", Sr = ".slides>section:first-of-type", xr = {
width: 960,
height: 700,
margin: .1,
minScale: .2,
maxScale: 1,
controls: !0,
progress: !0,
slideNumber: !1,
history: !1,
keyboard: !0,
keyboardCondition: null,
overview: !0,
center: !0,
touch: !0,
loop: !1,
rtl: !1,
fragments: !0,
embedded: !1,
help: !0,
pause: !0,
autoSlide: 0,
autoSlideStoppable: !0,
mouseWheel: !1,
rollingLinks: !1,
hideAddressBar: !0,
previewLinks: !1,
postMessage: !0,
postMessageEvents: !1,
focusBodyOnPageVisibilityChange: !0,
transition: "default",
transitionSpeed: "default",
backgroundTransition: "default",
parallaxBackgroundImage: "",
parallaxBackgroundSize: "",
viewDistance: 3,
dependencies: []
}, qr = !1, Mr = !1, Tr = [], Nr = 1, Ir = {
layout: "",
overview: ""
}, Cr = {}, Pr = {}, Dr = 0, Hr = 0, Rr = !1, Wr = 0, Or = 0, zr = -1, Fr = !1, Yr = {
startX: 0,
startY: 0,
startSpan: 0,
startCount: 0,
captured: !1,
threshold: 40
}, Xr = {
"N , SPACE": "Next slide",
P: "Previous slide",
"← , H": "Navigate left",
"→ , L": "Navigate right",
"↑ , K": "Navigate up",
"↓ , J": "Navigate down",
Home: "First slide",
End: "Last slide",
"B , .": "Pause",
F: "Fullscreen",
"ESC, O": "Slide overview"
};
return fr.prototype.setPlaying = function (e) {
var t = this.playing;
this.playing = e, !t && this.playing ? this.animate() : this.render()
}, fr.prototype.animate = function () {
var e = this.progress;
this.progress = this.progressCheck(), e > .8 && this.progress < .2 && (this.progressOffset = this.progress), this.render(), this.playing && Pr.requestAnimationFrameMethod.call(window, this.animate.bind(this))
}, fr.prototype.render = function () {
var e = this.playing ? this.progress : 0, t = this.diameter / 2 - this.thickness, r = this.diameter / 2, n = this.diameter / 2, a = 14;
this.progressOffset += .1 * (1 - this.progressOffset);
var i = -Math.PI / 2 + 2 * e * Math.PI, o = -Math.PI / 2 + 2 * this.progressOffset * Math.PI;
this.context.save(), this.context.clearRect(0, 0, this.diameter, this.diameter), this.context.beginPath(), this.context.arc(r, n, t + 2, 0, 2 * Math.PI, !1), this.context.fillStyle = "rgba( 0, 0, 0, 0.4 )", this.context.fill(), this.context.beginPath(), this.context.arc(r, n, t, 0, 2 * Math.PI, !1), this.context.lineWidth = this.thickness, this.context.strokeStyle = "#666", this.context.stroke(), this.playing && (this.context.beginPath(), this.context.arc(r, n, t, o, i, !1), this.context.lineWidth = this.thickness, this.context.strokeStyle = "#fff", this.context.stroke()), this.context.translate(r - a / 2, n - a / 2), this.playing ? (this.context.fillStyle = "#fff", this.context.fillRect(0, 0, a / 2 - 2, a), this.context.fillRect(a / 2 + 2, 0, a / 2 - 2, a)) : (this.context.beginPath(), this.context.translate(2, 0), this.context.moveTo(0, 0), this.context.lineTo(a - 2, a / 2), this.context.lineTo(0, a), this.context.fillStyle = "#fff", this.context.fill()), this.context.restore()
}, fr.prototype.on = function (e, t) {
this.canvas.addEventListener(e, t, !1)
}, fr.prototype.off = function (e, t) {
this.canvas.removeEventListener(e, t, !1)
}, fr.prototype.destroy = function () {
this.playing = !1, this.canvas.parentNode && this.container.removeChild(this.canvas)
}, vr = {
initialize: e,
configure: p,
sync: nt,
slide: rt,
left: Ot,
right: zt,
up: Ft,
down: Yt,
prev: Xt,
next: jt,
navigateFragment: It,
prevFragment: Pt,
nextFragment: Ct,
navigateTo: rt,
navigateLeft: Ot,
navigateRight: zt,
navigateUp: Ft,
navigateDown: Yt,
navigatePrev: Xt,
navigateNext: jt,
layout: W,
availableRoutes: ht,
availableFragments: gt,
toggleOverview: $,
togglePause: Q,
toggleAutoSlide: et,
isOverview: _,
isPaused: G,
isAutoSliding: tt,
addEventListeners: f,
removeEventListeners: v,
getState: Mt,
setState: Tt,
getProgress: wt,
getIndices: Et,
getTotalSlides: St,
getSlide: xt,
getSlideBackground: qt,
getPreviousSlide: function () {
return mr
},
getCurrentSlide: function () {
return yr
},
getScale: function () {
return Nr
},
getConfig: function () {
return xr
},
getQueryHash: function () {
var e = {};
location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi, function (t) {
e[t.split("=").shift()] = t.split("=").pop()
});
for (var t in e) {
var r = e[t];
e[t] = m(unescape(r))
}
return e
},
isFirstSlide: function () {
return 0 === hr && 0 === gr
},
isLastSlide: function () {
return yr ? yr.nextElementSibling ? !1 : K(yr) && yr.parentNode.nextElementSibling ? !1 : !0 : !1
},
isReady: function () {
return qr
},
addEventListener: function (e, t, r) {
"addEventListener"in window && (Cr.wrapper || document.querySelector(".reveal")).addEventListener(e, t, r)
},
removeEventListener: function (e, t, r) {
"addEventListener"in window && (Cr.wrapper || document.querySelector(".reveal")).removeEventListener(e, t, r)
},
triggerKey: function (e) {
$t({keyCode: e})
}
}
});