hyla 1.0.7.pre.2 → 1.0.7.pre.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +8 -8
  2. data/.gitignore +2 -0
  3. data/README.adoc +2 -2
  4. data/Rakefile +93 -24
  5. data/config.yaml +49 -0
  6. data/documentation/developer.adoc +6 -6
  7. data/documentation/imgkit.adoc +44 -0
  8. data/documentation/index.txt +3 -0
  9. data/documentation/introduction.adoc +8 -335
  10. data/documentation/prerequisites.adoc +1 -1
  11. data/documentation/scenario.adoc +320 -0
  12. data/lib/hyla/commands/generate.rb +11 -2
  13. data/lib/hyla/configuration.rb +10 -1
  14. data/lib/hyla/project.rb +1 -1
  15. data/lib/resources/assets/cover/cover.html +62 -0
  16. data/lib/resources/assets/cover/cover.png +0 -0
  17. data/lib/resources/{cover.slim → assets/cover/cover.slim} +0 -0
  18. data/lib/resources/assets/cover/image/1153872-redhat-backroung.png +0 -0
  19. data/lib/resources/assets/cover/image/1156515-Logo_RH_RGB_Reverse.png +0 -0
  20. data/lib/resources/assets/cover/image/1156524-bg_redhat.png +0 -0
  21. data/lib/resources/assets/cover/new_cover.slim +95 -0
  22. data/lib/resources/assets/revealjs-redhat/image/1156515-Logo_RH_RGB_Reverse.png +0 -0
  23. data/lib/resources/assets/revealjs-redhat/image/1156524-bg_redhat.png +0 -0
  24. data/lib/resources/assets/revealjs-redhat/lib/css/font-awesome-4.3.0.css +2893 -0
  25. data/lib/resources/assets/revealjs-redhat/lib/css/gpe.css +705 -0
  26. data/lib/resources/assets/revealjs-redhat/lib/css/offline-v2.css +3646 -0
  27. data/lib/resources/assets/revealjs-redhat/lib/css/print/paper.css +176 -0
  28. data/lib/resources/assets/revealjs-redhat/lib/css/print/pdf.css +190 -0
  29. data/lib/resources/assets/revealjs-redhat/lib/css/theme-output.css +1358 -0
  30. data/lib/resources/assets/revealjs-redhat/lib/font/font-awesome/FontAwesome.otf +0 -0
  31. data/lib/resources/assets/revealjs-redhat/lib/font/font-awesome/fontawesome-webfont.eot +0 -0
  32. data/lib/resources/assets/revealjs-redhat/lib/font/font-awesome/fontawesome-webfont.svg +565 -0
  33. data/lib/resources/assets/revealjs-redhat/lib/font/font-awesome/fontawesome-webfont.ttf +0 -0
  34. data/lib/resources/assets/revealjs-redhat/lib/font/font-awesome/fontawesome-webfont.woff +0 -0
  35. data/lib/resources/assets/revealjs-redhat/lib/font/font-awesome/fontawesome-webfont.woff2 +0 -0
  36. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass-bold.eot +0 -0
  37. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass-bold.svg +637 -0
  38. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass-bold.ttf +0 -0
  39. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass-bold.woff +0 -0
  40. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass-light.eot +0 -0
  41. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass-light.svg +2121 -0
  42. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass-light.ttf +0 -0
  43. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass-light.woff +0 -0
  44. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass-regular.eot +0 -0
  45. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass-regular.svg +637 -0
  46. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass-regular.ttf +0 -0
  47. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass-regular.woff +0 -0
  48. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass.css +32 -0
  49. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass.css-TODO +12 -0
  50. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass_bold-web.eot +0 -0
  51. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass_bold-web.svg +454 -0
  52. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass_bold-web.ttf +0 -0
  53. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass_bold-web.woff +0 -0
  54. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass_regular-web.eot +0 -0
  55. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass_regular-web.svg +454 -0
  56. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass_regular-web.ttf +0 -0
  57. data/lib/resources/assets/revealjs-redhat/lib/font/overpass/overpass_regular-web.woff +0 -0
  58. data/lib/resources/assets/revealjs-redhat/lib/js/head.min.js +131 -0
  59. data/lib/resources/assets/revealjs-redhat/lib/js/reveal.min.js +1279 -0
  60. data/lib/resources/assets/revealjs-redhat/lib/plugin/highlight/highlight.js +25 -0
  61. data/lib/resources/assets/revealjs-redhat/lib/plugin/markdown/markdown.js +320 -0
  62. data/lib/resources/assets/revealjs-redhat/lib/plugin/markdown/marked.js +37 -0
  63. data/lib/resources/assets/revealjs-redhat/lib/plugin/notes/notes.html +387 -0
  64. data/lib/resources/assets/revealjs-redhat/lib/plugin/notes/notes.js +117 -0
  65. data/lib/resources/assets/revealjs-redhat/lib/plugin/zoom-js/zoom.js +258 -0
  66. data/lib/resources/assets/revealjs/css/theme/default.css +121 -0
  67. data/lib/resources/assets/revealjs/css/theme/gpe.css +85 -86
  68. data/lib/resources/assets/sass/gpe.scss +15 -14
  69. data/lib/resources/assets/sass/gpe2.scss +598 -0
  70. data/lib/resources/assets/sass/{_overpass.scss → overpass.scss} +0 -0
  71. data/lib/resources/backends/slim/revealjs-redhat/block_admonition.html.slim +13 -0
  72. data/lib/resources/backends/slim/revealjs-redhat/block_audio.html.slim +6 -0
  73. data/lib/resources/backends/slim/revealjs-redhat/block_colist.html.slim +20 -0
  74. data/lib/resources/backends/slim/revealjs-redhat/block_dlist.html.slim +53 -0
  75. data/lib/resources/backends/slim/revealjs-redhat/block_example.html.slim +4 -0
  76. data/lib/resources/backends/slim/revealjs-redhat/block_floating_title.html.slim +1 -0
  77. data/lib/resources/backends/slim/revealjs-redhat/block_image.html.slim +15 -0
  78. data/lib/resources/backends/slim/revealjs-redhat/block_listing.html.slim +31 -0
  79. data/lib/resources/backends/slim/revealjs-redhat/block_literal.html.slim +4 -0
  80. data/lib/resources/backends/slim/revealjs-redhat/block_math.html.slim +10 -0
  81. data/lib/resources/backends/slim/revealjs-redhat/block_olist.html.slim +9 -0
  82. data/lib/resources/backends/slim/revealjs-redhat/block_open.html.slim +15 -0
  83. data/lib/resources/backends/slim/revealjs-redhat/block_page_break.html.slim +1 -0
  84. data/lib/resources/backends/slim/revealjs-redhat/block_paragraph.html.slim +16 -0
  85. data/lib/resources/backends/slim/revealjs-redhat/block_pass.html.slim +1 -0
  86. data/lib/resources/backends/slim/revealjs-redhat/block_preamble.html.slim +6 -0
  87. data/lib/resources/backends/slim/revealjs-redhat/block_quote.html.slim +14 -0
  88. data/lib/resources/backends/slim/revealjs-redhat/block_ruler.html.slim +1 -0
  89. data/lib/resources/backends/slim/revealjs-redhat/block_sidebar.html.slim +5 -0
  90. data/lib/resources/backends/slim/revealjs-redhat/block_table.html.slim +45 -0
  91. data/lib/resources/backends/slim/revealjs-redhat/block_toc.html.slim +12 -0
  92. data/lib/resources/backends/slim/revealjs-redhat/block_ulist.html.slim +25 -0
  93. data/lib/resources/backends/slim/revealjs-redhat/block_verse.html.slim +14 -0
  94. data/lib/resources/backends/slim/revealjs-redhat/block_video.html.slim +27 -0
  95. data/lib/resources/backends/slim/revealjs-redhat/document.html.slim +162 -0
  96. data/lib/resources/backends/slim/revealjs-redhat/embedded.html.slim +9 -0
  97. data/lib/resources/backends/slim/revealjs-redhat/helpers.rb +8 -0
  98. data/lib/resources/backends/slim/revealjs-redhat/inline_anchor.html.slim +11 -0
  99. data/lib/resources/backends/slim/revealjs-redhat/inline_break.html.slim +2 -0
  100. data/lib/resources/backends/slim/revealjs-redhat/inline_button.html.slim +1 -0
  101. data/lib/resources/backends/slim/revealjs-redhat/inline_callout.html.slim +7 -0
  102. data/lib/resources/backends/slim/revealjs-redhat/inline_footnote.html.slim +6 -0
  103. data/lib/resources/backends/slim/revealjs-redhat/inline_image.html.slim +24 -0
  104. data/lib/resources/backends/slim/revealjs-redhat/inline_indexterm.html.slim +2 -0
  105. data/lib/resources/backends/slim/revealjs-redhat/inline_kbd.html.slim +8 -0
  106. data/lib/resources/backends/slim/revealjs-redhat/inline_menu.html.slim +15 -0
  107. data/lib/resources/backends/slim/revealjs-redhat/inline_quoted.html.slim +22 -0
  108. data/lib/resources/backends/slim/revealjs-redhat/section.html.slim +23 -0
  109. data/lib/resources/backends/slim/revealjs/section.html.slim +2 -2
  110. data/lib/templates/_config.yaml +28 -8
  111. data/lib/templates/sample/slideshow_revealjs.adoc +21 -0
  112. metadata +97 -6
  113. data/.rakeTasks +0 -7
  114. data/.travis.yml +0 -10
@@ -0,0 +1,131 @@
1
+ !function (n) {
2
+ function t() {
3
+ p || (p = !0, u(y, function (n) {
4
+ f(n)
5
+ }))
6
+ }
7
+
8
+ function e(t, e) {
9
+ var a = n.createElement("script");
10
+ a.type = "text/" + (t.type || "javascript"), a.src = t.src || t, a.async = !1, a.onreadystatechange = a.onload = function () {
11
+ var n = a.readyState;
12
+ !e.done && (!n || /loaded|complete/.test(n)) && (e.done = !0, e())
13
+ }, (n.body || v).appendChild(a)
14
+ }
15
+
16
+ function a(n, t) {
17
+ return n.state == O ? t && t() : n.state == b ? E.ready(n.name, t) : n.state == S ? n.onpreload.push(function () {
18
+ a(n, t)
19
+ }) : (n.state = b, void e(n.url, function () {
20
+ n.state = O, t && t(), u(h[n.name], function (n) {
21
+ f(n)
22
+ }), c() && p && u(h.ALL, function (n) {
23
+ f(n)
24
+ })
25
+ }))
26
+ }
27
+
28
+ function o(n) {
29
+ void 0 === n.state && (n.state = S, n.onpreload = [], e({src: n.url, type: "cache"}, function () {
30
+ r(n)
31
+ }))
32
+ }
33
+
34
+ function r(n) {
35
+ n.state = j, u(n.onpreload, function (n) {
36
+ n.call()
37
+ })
38
+ }
39
+
40
+ function c(n) {
41
+ n = n || w;
42
+ var t;
43
+ for (var e in n) {
44
+ if (n.hasOwnProperty(e) && n[e].state != O)return !1;
45
+ t = !0
46
+ }
47
+ return t
48
+ }
49
+
50
+ function i(n) {
51
+ return "[object Function]" == Object.prototype.toString.call(n)
52
+ }
53
+
54
+ function u(n, t) {
55
+ if (n) {
56
+ "object" == typeof n && (n = [].slice.call(n));
57
+ for (var e = 0; e < n.length; e++)t.call(n, n[e], e)
58
+ }
59
+ }
60
+
61
+ function d(n) {
62
+ var t;
63
+ if ("object" == typeof n)for (var e in n)n[e] && (t = {name: e, url: n[e]}); else t = {name: l(n), url: n};
64
+ var a = w[t.name];
65
+ return a && a.url === t.url ? a : (w[t.name] = t, t)
66
+ }
67
+
68
+ function l(n) {
69
+ var t = n.split("/"), e = t[t.length - 1], a = e.indexOf("?");
70
+ return -1 != a ? e.substring(0, a) : e
71
+ }
72
+
73
+ function f(n) {
74
+ n._done || (n(), n._done = 1)
75
+ }
76
+
77
+ var s, p, v = n.documentElement, y = [], m = [], h = {}, w = {}, L = n.createElement("script").async === !0 || "MozAppearance"in n.documentElement.style || window.opera, g = window.head_conf && head_conf.head || "head", E = window[g] = window[g] || function () {
78
+ E.ready.apply(null, arguments)
79
+ }, j = 1, S = 2, b = 3, O = 4;
80
+ if (E.js = L ? function () {
81
+ var n = arguments, t = n[n.length - 1], e = {};
82
+ return i(t) || (t = null), u(n, function (o, r) {
83
+ o != t && (o = d(o), e[o.name] = o, a(o, t && r == n.length - 2 ? function () {
84
+ c(e) && f(t)
85
+ } : null))
86
+ }), E
87
+ } : function () {
88
+ var n = arguments, t = [].slice.call(n, 1), e = t[0];
89
+ return s ? (e ? (u(t, function (n) {
90
+ i(n) || o(d(n))
91
+ }), a(d(n[0]), i(e) ? e : function () {
92
+ E.js.apply(null, t)
93
+ })) : a(d(n[0])), E) : (m.push(function () {
94
+ E.js.apply(null, n)
95
+ }), E)
96
+ }, E.ready = function (t, e) {
97
+ if (t == n)return p ? f(e) : y.push(e), E;
98
+ if (i(t) && (e = t, t = "ALL"), "string" != typeof t || !i(e))return E;
99
+ var a = w[t];
100
+ if (a && a.state == O || "ALL" == t && c() && p)return f(e), E;
101
+ var o = h[t];
102
+ return o ? o.push(e) : o = h[t] = [e], E
103
+ }, E.ready(n, function () {
104
+ c() && u(h.ALL, function (n) {
105
+ f(n)
106
+ }), E.feature && E.feature("domloaded", !0)
107
+ }), window.addEventListener)n.addEventListener("DOMContentLoaded", t, !1), window.addEventListener("load", t, !1); else if (window.attachEvent) {
108
+ n.attachEvent("onreadystatechange", function () {
109
+ "complete" === n.readyState && t()
110
+ });
111
+ var A = 1;
112
+ try {
113
+ A = window.frameElement
114
+ } catch (C) {
115
+ }
116
+ !A && v.doScroll && function () {
117
+ try {
118
+ v.doScroll("left"), t()
119
+ } catch (n) {
120
+ return void setTimeout(arguments.callee, 1)
121
+ }
122
+ }(), window.attachEvent("onload", t)
123
+ }
124
+ !n.readyState && n.addEventListener && (n.readyState = "loading", n.addEventListener("DOMContentLoaded", handler = function () {
125
+ n.removeEventListener("DOMContentLoaded", handler, !1), n.readyState = "complete"
126
+ }, !1)), setTimeout(function () {
127
+ s = !0, u(m, function (n) {
128
+ n()
129
+ })
130
+ }, 300)
131
+ }(document);
@@ -0,0 +1,1279 @@
1
+ !function (e, t) {
2
+ "function" == typeof define && define.amd ? define(function () {
3
+ return e.Reveal = t(), e.Reveal
4
+ }) : "object" == typeof exports ? module.exports = t() : e.Reveal = t()
5
+ }(this, function () {
6
+ "use strict";
7
+ function e(e) {
8
+ if (t(), Pr.transforms2d || Pr.transforms3d) {
9
+ Cr.wrapper = document.querySelector(".reveal"), Cr.slides = document.querySelector(".reveal .slides"), window.addEventListener("load", W, !1);
10
+ var n = vr.getQueryHash();
11
+ "undefined" != typeof n.dependencies && delete n.dependencies, h(xr, e), h(xr, n), q(), r()
12
+ } else {
13
+ document.body.setAttribute("class", "no-transforms");
14
+ for (var a = document.getElementsByTagName("img"), i = 0, o = a.length; o > i; i++) {
15
+ var s = a[i];
16
+ s.getAttribute("data-src") && (s.setAttribute("src", s.getAttribute("data-src")), s.removeAttribute("data-src"))
17
+ }
18
+ }
19
+ }
20
+
21
+ function t() {
22
+ 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)
23
+ }
24
+
25
+ function r() {
26
+ function e() {
27
+ a.length && head.js.apply(null, a), n()
28
+ }
29
+
30
+ function t(t) {
31
+ head.ready(t.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0], function () {
32
+ "function" == typeof t.callback && t.callback.apply(this), 0 === --i && e()
33
+ })
34
+ }
35
+
36
+ for (var r = [], a = [], i = 0, o = 0, s = xr.dependencies.length; s > o; o++) {
37
+ var c = xr.dependencies[o];
38
+ (!c.condition || c.condition()) && (c.async ? a.push(c.src) : r.push(c.src), t(c))
39
+ }
40
+ r.length ? (i = r.length, head.js.apply(null, r)) : e()
41
+ }
42
+
43
+ function n() {
44
+ a(), u(), s(), at(), p(), kt(), ut(!0), setTimeout(function () {
45
+ Cr.slides.classList.remove("no-transition"), qr = !0, T("ready", {indexh: hr, indexv: gr, currentSlide: yr})
46
+ }, 1), x() && (v(), "complete" === document.readyState ? o() : window.addEventListener("load", o))
47
+ }
48
+
49
+ function a() {
50
+ Cr.slides.classList.add("no-transition"), Cr.background = c(Cr.wrapper, "div", "backgrounds", null), Cr.progress = c(Cr.wrapper, "div", "progress", "<span></span>"), Cr.progressbar = Cr.progress.querySelector("span"), c(Cr.wrapper, "aside", "controls", '<div class="navigate-left"></div><div class="navigate-right"></div><div class="navigate-up"></div><div class="navigate-down"></div>'), 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()
51
+ }
52
+
53
+ function i() {
54
+ var e = document.getElementById("aria-status-div");
55
+ 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
56
+ }
57
+
58
+ function o() {
59
+ 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;
60
+ 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) {
61
+ if (e.classList.contains("stack") === !1) {
62
+ var i = (t - n) / 2, o = (r - a) / 2, s = E(e), c = Math.max(Math.ceil(s / r), 1);
63
+ (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";
64
+ var l = e.querySelector(".slide-background");
65
+ l && (l.style.width = t + "px", l.style.height = r * c + "px", l.style.top = -o + "px", l.style.left = -i + "px")
66
+ }
67
+ }), g(Cr.wrapper.querySelectorAll(kr + " .fragment")).forEach(function (e) {
68
+ e.classList.add("visible")
69
+ })
70
+ }
71
+
72
+ function s() {
73
+ Cr.slides.querySelector("iframe") && setInterval(function () {
74
+ (0 !== Cr.wrapper.scrollTop || 0 !== Cr.wrapper.scrollLeft) && (Cr.wrapper.scrollTop = 0, Cr.wrapper.scrollLeft = 0)
75
+ }, 500)
76
+ }
77
+
78
+ function c(e, t, r, n) {
79
+ for (var a = e.querySelectorAll("." + r), i = 0; i < a.length; i++) {
80
+ var o = a[i];
81
+ if (o.parentNode === e)return o
82
+ }
83
+ var s = document.createElement(t);
84
+ return s.classList.add(r), "string" == typeof n && (s.innerHTML = n), e.appendChild(s), s
85
+ }
86
+
87
+ function l() {
88
+ var e = x();
89
+ Cr.background.innerHTML = "", Cr.background.classList.add("no-transition"), g(Cr.wrapper.querySelectorAll(Ar)).forEach(function (t) {
90
+ var r;
91
+ r = e ? d(t, t) : d(t, Cr.background), g(t.querySelectorAll("section")).forEach(function (t) {
92
+ e ? d(t, t) : d(t, r), r.classList.add("stack")
93
+ })
94
+ }), xr.parallaxBackgroundImage ? (Cr.background.style.backgroundImage = 'url("' + xr.parallaxBackgroundImage + '")', Cr.background.style.backgroundSize = xr.parallaxBackgroundSize, setTimeout(function () {
95
+ Cr.wrapper.classList.add("has-parallax-background")
96
+ }, 1)) : (Cr.background.style.backgroundImage = "", Cr.wrapper.classList.remove("has-parallax-background"))
97
+ }
98
+
99
+ function d(e, t) {
100
+ var r = {
101
+ background: e.getAttribute("data-background"),
102
+ backgroundSize: e.getAttribute("data-background-size"),
103
+ backgroundImage: e.getAttribute("data-background-image"),
104
+ backgroundVideo: e.getAttribute("data-background-video"),
105
+ backgroundIframe: e.getAttribute("data-background-iframe"),
106
+ backgroundColor: e.getAttribute("data-background-color"),
107
+ backgroundRepeat: e.getAttribute("data-background-repeat"),
108
+ backgroundPosition: e.getAttribute("data-background-position"),
109
+ backgroundTransition: e.getAttribute("data-background-transition")
110
+ }, n = document.createElement("div");
111
+ 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");
112
+ var a = window.getComputedStyle(n).backgroundColor;
113
+ if (a) {
114
+ var i = k(a);
115
+ i && 0 !== i.a && e.classList.add(A(a) < 128 ? "has-dark-background" : "has-light-background")
116
+ }
117
+ return n
118
+ }
119
+
120
+ function u() {
121
+ xr.postMessage && window.addEventListener("message", function (e) {
122
+ var t = e.data;
123
+ "{" === 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))
124
+ }, !1)
125
+ }
126
+
127
+ function p(e) {
128
+ var t = Cr.wrapper.querySelectorAll(kr).length;
129
+ 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 () {
130
+ return Math.min(Math.max((Date.now() - zr) / Wr, 0), 1)
131
+ }), Lr.on("click", pr), Fr = !1), xr.fragments === !1 && g(Cr.slides.querySelectorAll(".fragment")).forEach(function (e) {
132
+ e.classList.add("visible"), e.classList.remove("current-fragment")
133
+ }), nt()
134
+ }
135
+
136
+ function f() {
137
+ 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) {
138
+ var e;
139
+ "hidden"in document ? e = "visibilitychange" : "msHidden"in document ? e = "msvisibilitychange" : "webkitHidden"in document && (e = "webkitvisibilitychange"), e && document.addEventListener(e, lr, !1)
140
+ }
141
+ var t = ["touchstart", "click"];
142
+ navigator.userAgent.match(/android/gi) && (t = ["touchstart"]), t.forEach(function (e) {
143
+ Cr.controlsLeft.forEach(function (t) {
144
+ t.addEventListener(e, tr, !1)
145
+ }), Cr.controlsRight.forEach(function (t) {
146
+ t.addEventListener(e, rr, !1)
147
+ }), Cr.controlsUp.forEach(function (t) {
148
+ t.addEventListener(e, nr, !1)
149
+ }), Cr.controlsDown.forEach(function (t) {
150
+ t.addEventListener(e, ar, !1)
151
+ }), Cr.controlsPrev.forEach(function (t) {
152
+ t.addEventListener(e, ir, !1)
153
+ }), Cr.controlsNext.forEach(function (t) {
154
+ t.addEventListener(e, or, !1)
155
+ })
156
+ })
157
+ }
158
+
159
+ function v() {
160
+ 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) {
161
+ Cr.controlsLeft.forEach(function (t) {
162
+ t.removeEventListener(e, tr, !1)
163
+ }), Cr.controlsRight.forEach(function (t) {
164
+ t.removeEventListener(e, rr, !1)
165
+ }), Cr.controlsUp.forEach(function (t) {
166
+ t.removeEventListener(e, nr, !1)
167
+ }), Cr.controlsDown.forEach(function (t) {
168
+ t.removeEventListener(e, ar, !1)
169
+ }), Cr.controlsPrev.forEach(function (t) {
170
+ t.removeEventListener(e, ir, !1)
171
+ }), Cr.controlsNext.forEach(function (t) {
172
+ t.removeEventListener(e, or, !1)
173
+ })
174
+ })
175
+ }
176
+
177
+ function h(e, t) {
178
+ for (var r in t)e[r] = t[r]
179
+ }
180
+
181
+ function g(e) {
182
+ return Array.prototype.slice.call(e)
183
+ }
184
+
185
+ function m(e) {
186
+ if ("string" == typeof e) {
187
+ if ("null" === e)return null;
188
+ if ("true" === e)return !0;
189
+ if ("false" === e)return !1;
190
+ if (e.match(/^\d+$/))return parseFloat(e)
191
+ }
192
+ return e
193
+ }
194
+
195
+ function y(e, t) {
196
+ var r = e.x - t.x, n = e.y - t.y;
197
+ return Math.sqrt(r * r + n * n)
198
+ }
199
+
200
+ function b(e, t) {
201
+ e.style.WebkitTransform = t, e.style.MozTransform = t, e.style.msTransform = t, e.style.transform = t
202
+ }
203
+
204
+ function w(e) {
205
+ "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)
206
+ }
207
+
208
+ function L(e) {
209
+ var t = document.createElement("style");
210
+ t.type = "text/css", t.styleSheet ? t.styleSheet.cssText = e : t.appendChild(document.createTextNode(e)), document.getElementsByTagName("head")[0].appendChild(t)
211
+ }
212
+
213
+ function k(e) {
214
+ var t = e.match(/^#([0-9a-f]{3})$/i);
215
+ if (t && t[1])return t = t[1], {
216
+ r: 17 * parseInt(t.charAt(0), 16),
217
+ g: 17 * parseInt(t.charAt(1), 16),
218
+ b: 17 * parseInt(t.charAt(2), 16)
219
+ };
220
+ var r = e.match(/^#([0-9a-f]{6})$/i);
221
+ if (r && r[1])return r = r[1], {
222
+ r: parseInt(r.substr(0, 2), 16),
223
+ g: parseInt(r.substr(2, 2), 16),
224
+ b: parseInt(r.substr(4, 2), 16)
225
+ };
226
+ var n = e.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);
227
+ if (n)return {r: parseInt(n[1], 10), g: parseInt(n[2], 10), b: parseInt(n[3], 10)};
228
+ var a = e.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i);
229
+ return a ? {r: parseInt(a[1], 10), g: parseInt(a[2], 10), b: parseInt(a[3], 10), a: parseFloat(a[4])} : null
230
+ }
231
+
232
+ function A(e) {
233
+ return "string" == typeof e && (e = k(e)), e ? (299 * e.r + 587 * e.g + 114 * e.b) / 1e3 : null
234
+ }
235
+
236
+ function E(e) {
237
+ var t = 0;
238
+ if (e) {
239
+ var r = 0;
240
+ g(e.childNodes).forEach(function (e) {
241
+ "number" == typeof e.offsetTop && e.style && ("absolute" === window.getComputedStyle(e).position && (r += 1), t = Math.max(t, e.offsetTop + e.offsetHeight))
242
+ }), 0 === r && (t = e.offsetHeight)
243
+ }
244
+ return t
245
+ }
246
+
247
+ function S(e, t) {
248
+ if (t = t || 0, e) {
249
+ var r, n = e.style.height;
250
+ return e.style.height = "0px", r = t - e.parentNode.offsetHeight, e.style.height = n + "px", r
251
+ }
252
+ return t
253
+ }
254
+
255
+ function x() {
256
+ return /print-pdf/gi.test(window.location.search)
257
+ }
258
+
259
+ function q() {
260
+ xr.hideAddressBar && wr && (window.addEventListener("load", M, !1), window.addEventListener("orientationchange", M, !1))
261
+ }
262
+
263
+ function M() {
264
+ setTimeout(function () {
265
+ window.scrollTo(0, 1)
266
+ }, 10)
267
+ }
268
+
269
+ function T(e, t) {
270
+ var r = document.createEvent("HTMLEvents", 1, 2);
271
+ r.initEvent(e, !0, !0), h(r, t), Cr.wrapper.dispatchEvent(r), xr.postMessageEvents && window.parent !== window.self && window.parent.postMessage(JSON.stringify({
272
+ namespace: "reveal",
273
+ eventName: e,
274
+ state: Mt()
275
+ }), "*")
276
+ }
277
+
278
+ function N() {
279
+ if (Pr.transforms3d && !("msPerspective"in document.body.style))for (var e = Cr.wrapper.querySelectorAll(kr + " a"), t = 0, r = e.length; r > t; t++) {
280
+ var n = e[t];
281
+ if (!(!n.textContent || n.querySelector("*") || n.className && n.classList.contains(n, "roll"))) {
282
+ var a = document.createElement("span");
283
+ a.setAttribute("data-title", n.text), a.innerHTML = n.innerHTML, n.classList.add("roll"), n.innerHTML = "", n.appendChild(a)
284
+ }
285
+ }
286
+ }
287
+
288
+ function I() {
289
+ for (var e = Cr.wrapper.querySelectorAll(kr + " a.roll"), t = 0, r = e.length; r > t; t++) {
290
+ var n = e[t], a = n.querySelector("span");
291
+ a && (n.classList.remove("roll"), n.innerHTML = a.innerHTML)
292
+ }
293
+ }
294
+
295
+ function C(e) {
296
+ var t = g(document.querySelectorAll(e ? e : "a"));
297
+ t.forEach(function (e) {
298
+ /^(http|www)/gi.test(e.getAttribute("href")) && e.addEventListener("click", ur, !1)
299
+ })
300
+ }
301
+
302
+ function P() {
303
+ var e = g(document.querySelectorAll("a"));
304
+ e.forEach(function (e) {
305
+ /^(http|www)/gi.test(e.getAttribute("href")) && e.removeEventListener("click", ur, !1)
306
+ })
307
+ }
308
+
309
+ function D(e) {
310
+ 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 = ["<header>", '<a class="close" href="#"><span class="icon"></span></a>', '<a class="external" href="' + e + '" target="_blank"><span class="icon"></span></a>', "</header>", '<div class="spinner"></div>', '<div class="viewport">', '<iframe src="' + e + '"></iframe>', "</div>"].join(""), Cr.overlay.querySelector("iframe").addEventListener("load", function () {
311
+ Cr.overlay.classList.add("loaded")
312
+ }, !1), Cr.overlay.querySelector(".close").addEventListener("click", function (e) {
313
+ R(), e.preventDefault()
314
+ }, !1), Cr.overlay.querySelector(".external").addEventListener("click", function () {
315
+ R()
316
+ }, !1), setTimeout(function () {
317
+ Cr.overlay.classList.add("visible")
318
+ }, 1)
319
+ }
320
+
321
+ function H() {
322
+ if (xr.help) {
323
+ R(), Cr.overlay = document.createElement("div"), Cr.overlay.classList.add("overlay"), Cr.overlay.classList.add("overlay-help"), Cr.wrapper.appendChild(Cr.overlay);
324
+ var e = '<p class="title">Keyboard Shortcuts</p><br/>';
325
+ e += "<table><th>KEY</th><th>ACTION</th>";
326
+ for (var t in Xr)e += "<tr><td>" + t + "</td><td>" + Xr[t] + "</td></tr>";
327
+ e += "</table>", Cr.overlay.innerHTML = ["<header>", '<a class="close" href="#"><span class="icon"></span></a>', "</header>", '<div class="viewport">', '<div class="viewport-inner">' + e + "</div>", "</div>"].join(""), Cr.overlay.querySelector(".close").addEventListener("click", function (e) {
328
+ R(), e.preventDefault()
329
+ }, !1), setTimeout(function () {
330
+ Cr.overlay.classList.add("visible")
331
+ }, 1)
332
+ }
333
+ }
334
+
335
+ function R() {
336
+ Cr.overlay && (Cr.overlay.parentNode.removeChild(Cr.overlay), Cr.overlay = null)
337
+ }
338
+
339
+ function W() {
340
+ if (Cr.wrapper && !x()) {
341
+ var e = z(), t = 20;
342
+ 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 + ")"}));
343
+ for (var r = g(Cr.wrapper.querySelectorAll(kr)), n = 0, a = r.length; a > n; n++) {
344
+ var i = r[n];
345
+ "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" : "")
346
+ }
347
+ ct(), pt()
348
+ }
349
+ }
350
+
351
+ function O(e, t) {
352
+ g(Cr.slides.querySelectorAll("section > .stretch")).forEach(function (r) {
353
+ var n = S(r, t);
354
+ if (/(img|video)/gi.test(r.nodeName)) {
355
+ var a = r.naturalWidth || r.videoWidth, i = r.naturalHeight || r.videoHeight, o = Math.min(e / a, n / i);
356
+ r.style.width = a * o + "px", r.style.height = i * o + "px"
357
+ } else r.style.width = e + "px", r.style.height = n + "px"
358
+ })
359
+ }
360
+
361
+ function z(e, t) {
362
+ var r = {
363
+ width: xr.width,
364
+ height: xr.height,
365
+ presentationWidth: e || Cr.wrapper.offsetWidth,
366
+ presentationHeight: t || Cr.wrapper.offsetHeight
367
+ };
368
+ 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
369
+ }
370
+
371
+ function F(e, t) {
372
+ "object" == typeof e && "function" == typeof e.setAttribute && e.setAttribute("data-previous-indexv", t || 0)
373
+ }
374
+
375
+ function Y(e) {
376
+ if ("object" == typeof e && "function" == typeof e.setAttribute && e.classList.contains("stack")) {
377
+ var t = e.hasAttribute("data-start-indexv") ? "data-start-indexv" : "data-previous-indexv";
378
+ return parseInt(e.getAttribute(t) || 0, 10)
379
+ }
380
+ return 0
381
+ }
382
+
383
+ function X() {
384
+ xr.overview && !_() && (Mr = !0, Cr.wrapper.classList.add("overview"), Cr.wrapper.classList.remove("overview-deactivating"), Pr.overviewTransitions && setTimeout(function () {
385
+ Cr.wrapper.classList.add("overview-animated")
386
+ }, 1), Ht(), Cr.slides.appendChild(Cr.background), g(Cr.wrapper.querySelectorAll(kr)).forEach(function (e) {
387
+ e.classList.contains("stack") || e.addEventListener("click", dr, !0)
388
+ }), st(), j(), B(), W(), T("overviewshown", {indexh: hr, indexv: gr, currentSlide: yr}))
389
+ }
390
+
391
+ function j() {
392
+ var e = 70, t = xr.width + e, r = xr.height + e;
393
+ xr.rtl && (t = -t), g(Cr.wrapper.querySelectorAll(Ar)).forEach(function (e, n) {
394
+ 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) {
395
+ e.setAttribute("data-index-h", n), e.setAttribute("data-index-v", t), b(e, "translate3d(0, " + t * r + "px, 0)")
396
+ })
397
+ }), g(Cr.background.childNodes).forEach(function (e, n) {
398
+ b(e, "translate3d(" + n * t + "px, 0, 0)"), g(e.querySelectorAll(".slide-background")).forEach(function (e, t) {
399
+ b(e, "translate3d(0, " + t * r + "px, 0)")
400
+ })
401
+ })
402
+ }
403
+
404
+ function B() {
405
+ var e = 70, t = xr.width + e, r = xr.height + e;
406
+ xr.rtl && (t = -t), w({overview: ["translateX(" + -hr * t + "px)", "translateY(" + -gr * r + "px)", "translateZ(" + (window.innerWidth < 400 ? -1e3 : -2500) + "px)"].join(" ")})
407
+ }
408
+
409
+ function U() {
410
+ xr.overview && (Mr = !1, Cr.wrapper.classList.remove("overview"), Cr.wrapper.classList.remove("overview-animated"), Cr.wrapper.classList.add("overview-deactivating"), setTimeout(function () {
411
+ Cr.wrapper.classList.remove("overview-deactivating")
412
+ }, 1), Cr.wrapper.appendChild(Cr.background), g(Cr.wrapper.querySelectorAll(kr)).forEach(function (e) {
413
+ b(e, ""), e.removeEventListener("click", dr, !0)
414
+ }), g(Cr.background.querySelectorAll(".slide-background")).forEach(function (e) {
415
+ b(e, "")
416
+ }), w({overview: ""}), rt(hr, gr), W(), Dt(), T("overviewhidden", {indexh: hr, indexv: gr, currentSlide: yr}))
417
+ }
418
+
419
+ function $(e) {
420
+ "boolean" == typeof e ? e ? X() : U() : _() ? U() : X()
421
+ }
422
+
423
+ function _() {
424
+ return Mr
425
+ }
426
+
427
+ function K(e) {
428
+ return e = e ? e : yr, e && e.parentNode && !!e.parentNode.nodeName.match(/section/i)
429
+ }
430
+
431
+ function V() {
432
+ var e = document.body, t = e.requestFullScreen || e.webkitRequestFullscreen || e.webkitRequestFullScreen || e.mozRequestFullScreen || e.msRequestFullscreen;
433
+ t && t.apply(e)
434
+ }
435
+
436
+ function Z() {
437
+ if (xr.pause) {
438
+ var e = Cr.wrapper.classList.contains("paused");
439
+ Ht(), Cr.wrapper.classList.add("paused"), e === !1 && T("paused")
440
+ }
441
+ }
442
+
443
+ function J() {
444
+ var e = Cr.wrapper.classList.contains("paused");
445
+ Cr.wrapper.classList.remove("paused"), Dt(), e && T("resumed")
446
+ }
447
+
448
+ function Q(e) {
449
+ "boolean" == typeof e ? e ? Z() : J() : G() ? J() : Z()
450
+ }
451
+
452
+ function G() {
453
+ return Cr.wrapper.classList.contains("paused")
454
+ }
455
+
456
+ function et(e) {
457
+ "boolean" == typeof e ? e ? Wt() : Rt() : Fr ? Wt() : Rt()
458
+ }
459
+
460
+ function tt() {
461
+ return !(!Wr || Fr)
462
+ }
463
+
464
+ function rt(e, t, r, n) {
465
+ mr = yr;
466
+ var a = Cr.wrapper.querySelectorAll(Ar);
467
+ void 0 !== t || _() || (t = Y(a[e])), mr && mr.parentNode && mr.parentNode.classList.contains("stack") && F(mr.parentNode, gr);
468
+ var i = Tr.concat();
469
+ Tr.length = 0;
470
+ var o = hr || 0, s = gr || 0;
471
+ hr = ot(Ar, void 0 === e ? hr : e), gr = ot(Er, void 0 === t ? gr : t), st(), W();
472
+ e:for (var c = 0, l = Tr.length; l > c; c++) {
473
+ for (var d = 0; d < i.length; d++)if (i[d] === Tr[c]) {
474
+ i.splice(d, 1);
475
+ continue e
476
+ }
477
+ document.documentElement.classList.add(Tr[c]), T(Tr[c])
478
+ }
479
+ for (; i.length;)document.documentElement.classList.remove(i.pop());
480
+ _() && B();
481
+ var u = a[hr], p = u.querySelectorAll("section");
482
+ yr = p[gr] || u, "undefined" != typeof r && It(r);
483
+ var f = hr !== o || gr !== s;
484
+ f ? T("slidechanged", {
485
+ indexh: hr,
486
+ indexv: gr,
487
+ previousSlide: mr,
488
+ currentSlide: yr,
489
+ origin: n
490
+ }) : mr = null, mr && (mr.classList.remove("present"), mr.setAttribute("aria-hidden", "true"), Cr.wrapper.querySelector(Sr).classList.contains("present") && setTimeout(function () {
491
+ var e, t = g(Cr.wrapper.querySelectorAll(Ar + ".stack"));
492
+ for (e in t)t[e] && F(t[e], 0)
493
+ }, 0)), (f || !mr) && (bt(mr), yt(yr)), Cr.statusDiv.textContent = yr.textContent, dt(), ct(), ut(), pt(), lt(), At(), Dt()
494
+ }
495
+
496
+ function nt() {
497
+ v(), f(), W(), Wr = xr.autoSlide, Dt(), l(), At(), it(), dt(), ct(), ut(!0), lt(), st(), mt(), _() && j()
498
+ }
499
+
500
+ function at() {
501
+ var e = g(Cr.wrapper.querySelectorAll(Ar));
502
+ e.forEach(function (e) {
503
+ var t = g(e.querySelectorAll("section"));
504
+ t.forEach(function (e, t) {
505
+ t > 0 && (e.classList.remove("present"), e.classList.remove("past"), e.classList.add("future"), e.setAttribute("aria-hidden", "true"))
506
+ })
507
+ })
508
+ }
509
+
510
+ function it() {
511
+ var e = g(Cr.wrapper.querySelectorAll(Ar));
512
+ e.forEach(function (e) {
513
+ var t = g(e.querySelectorAll("section"));
514
+ t.forEach(function (e) {
515
+ Nt(e.querySelectorAll(".fragment"))
516
+ }), 0 === t.length && Nt(e.querySelectorAll(".fragment"))
517
+ })
518
+ }
519
+
520
+ function ot(e, t) {
521
+ var r = g(Cr.wrapper.querySelectorAll(e)), n = r.length, a = x();
522
+ if (n) {
523
+ xr.loop && (t %= n, 0 > t && (t = n + t)), t = Math.max(Math.min(t, n - 1), 0);
524
+ for (var i = 0; n > i; i++) {
525
+ var o = r[i], s = xr.rtl && !K(o);
526
+ 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) {
527
+ if (o.classList.add(s ? "future" : "past"), xr.fragments)for (var c = g(o.querySelectorAll(".fragment")); c.length;) {
528
+ var l = c.pop();
529
+ l.classList.add("visible"), l.classList.remove("current-fragment")
530
+ }
531
+ } else if (i > t && (o.classList.add(s ? "past" : "future"), xr.fragments))for (var d = g(o.querySelectorAll(".fragment.visible")); d.length;) {
532
+ var u = d.pop();
533
+ u.classList.remove("visible"), u.classList.remove("current-fragment")
534
+ }
535
+ }
536
+ r[t].classList.add("present"), r[t].removeAttribute("hidden"), r[t].removeAttribute("aria-hidden");
537
+ var p = r[t].getAttribute("data-state");
538
+ p && (Tr = Tr.concat(p.split(" ")))
539
+ } else t = 0;
540
+ return t
541
+ }
542
+
543
+ function st() {
544
+ var e, t, r = g(Cr.wrapper.querySelectorAll(Ar)), n = r.length;
545
+ if (n && "undefined" != typeof hr) {
546
+ var a = _() ? 10 : xr.viewDistance;
547
+ wr && (a = _() ? 6 : 2), x() && (a = Number.MAX_VALUE);
548
+ for (var i = 0; n > i; i++) {
549
+ var o = r[i], s = g(o.querySelectorAll("section")), c = s.length;
550
+ 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++) {
551
+ var u = s[d];
552
+ t = Math.abs(i === (hr || 0) ? (gr || 0) - d : d - l), a > e + t ? ft(u) : vt(u)
553
+ }
554
+ }
555
+ }
556
+ }
557
+
558
+ function ct() {
559
+ xr.progress && Cr.progressbar && (Cr.progressbar.style.width = wt() * Cr.wrapper.offsetWidth + "px")
560
+ }
561
+
562
+ function lt() {
563
+ if (xr.slideNumber && Cr.slideNumber) {
564
+ var e = "c";
565
+ "string" == typeof xr.slideNumber && (e = xr.slideNumber);
566
+ var t = St();
567
+ 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)
568
+ }
569
+ }
570
+
571
+ function dt() {
572
+ var e = ht(), t = gt();
573
+ Cr.controlsLeft.concat(Cr.controlsRight).concat(Cr.controlsUp).concat(Cr.controlsDown).concat(Cr.controlsPrev).concat(Cr.controlsNext).forEach(function (e) {
574
+ e.classList.remove("enabled"), e.classList.remove("fragmented")
575
+ }), e.left && Cr.controlsLeft.forEach(function (e) {
576
+ e.classList.add("enabled")
577
+ }), e.right && Cr.controlsRight.forEach(function (e) {
578
+ e.classList.add("enabled")
579
+ }), e.up && Cr.controlsUp.forEach(function (e) {
580
+ e.classList.add("enabled")
581
+ }), e.down && Cr.controlsDown.forEach(function (e) {
582
+ e.classList.add("enabled")
583
+ }), (e.left || e.up) && Cr.controlsPrev.forEach(function (e) {
584
+ e.classList.add("enabled")
585
+ }), (e.right || e.down) && Cr.controlsNext.forEach(function (e) {
586
+ e.classList.add("enabled")
587
+ }), yr && (t.prev && Cr.controlsPrev.forEach(function (e) {
588
+ e.classList.add("fragmented", "enabled")
589
+ }), t.next && Cr.controlsNext.forEach(function (e) {
590
+ e.classList.add("fragmented", "enabled")
591
+ }), K(yr) ? (t.prev && Cr.controlsUp.forEach(function (e) {
592
+ e.classList.add("fragmented", "enabled")
593
+ }), t.next && Cr.controlsDown.forEach(function (e) {
594
+ e.classList.add("fragmented", "enabled")
595
+ })) : (t.prev && Cr.controlsLeft.forEach(function (e) {
596
+ e.classList.add("fragmented", "enabled")
597
+ }), t.next && Cr.controlsRight.forEach(function (e) {
598
+ e.classList.add("fragmented", "enabled")
599
+ })))
600
+ }
601
+
602
+ function ut(e) {
603
+ var t = null, r = xr.rtl ? "future" : "past", n = xr.rtl ? "past" : "future";
604
+ if (g(Cr.background.childNodes).forEach(function (a, i) {
605
+ 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) {
606
+ 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))
607
+ })
608
+ }), br) {
609
+ var a = br.querySelector("video");
610
+ a && a.pause()
611
+ }
612
+ if (t) {
613
+ var i = t.querySelector("video");
614
+ i && (i.currentTime = 0, i.play());
615
+ var o = t.style.backgroundImage || "";
616
+ /\.gif/i.test(o) && (t.style.backgroundImage = "", window.getComputedStyle(t).opacity, t.style.backgroundImage = o);
617
+ var s = br ? br.getAttribute("data-background-hash") : null, c = t.getAttribute("data-background-hash");
618
+ c && c === s && t !== br && Cr.background.classList.add("no-transition"), br = t
619
+ }
620
+ yr && ["has-light-background", "has-dark-background"].forEach(function (e) {
621
+ yr.classList.contains(e) ? Cr.wrapper.classList.add(e) : Cr.wrapper.classList.remove(e)
622
+ }), setTimeout(function () {
623
+ Cr.background.classList.remove("no-transition")
624
+ }, 1)
625
+ }
626
+
627
+ function pt() {
628
+ if (xr.parallaxBackgroundImage) {
629
+ var e, t, r = Cr.wrapper.querySelectorAll(Ar), n = Cr.wrapper.querySelectorAll(Er), a = Cr.background.style.backgroundSize.split(" ");
630
+ 1 === a.length ? e = t = parseInt(a[0], 10) : (e = parseInt(a[0], 10), t = parseInt(a[1], 10));
631
+ 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;
632
+ Cr.background.style.backgroundPosition = s + "px " + d + "px"
633
+ }
634
+ }
635
+
636
+ function ft(e) {
637
+ e.style.display = "block", g(e.querySelectorAll("img[data-src], video[data-src], audio[data-src], iframe[data-src]")).forEach(function (e) {
638
+ e.setAttribute("src", e.getAttribute("data-src")), e.removeAttribute("data-src")
639
+ }), g(e.querySelectorAll("video, audio")).forEach(function (e) {
640
+ var t = 0;
641
+ g(e.querySelectorAll("source[data-src]")).forEach(function (e) {
642
+ e.setAttribute("src", e.getAttribute("data-src")), e.removeAttribute("data-src"), t += 1
643
+ }), t > 0 && e.load()
644
+ });
645
+ var t = Et(e), r = qt(t.h, t.v);
646
+ if (r && (r.style.display = "block", r.hasAttribute("data-loaded") === !1)) {
647
+ r.setAttribute("data-loaded", "true");
648
+ var n = e.getAttribute("data-background-image"), a = e.getAttribute("data-background-video"), i = e.getAttribute("data-background-iframe");
649
+ if (n)r.style.backgroundImage = "url(" + n + ")"; else if (a && !Lt()) {
650
+ var o = document.createElement("video");
651
+ a.split(",").forEach(function (e) {
652
+ o.innerHTML += '<source src="' + e + '">'
653
+ }), r.appendChild(o)
654
+ } else if (i) {
655
+ var s = document.createElement("iframe");
656
+ s.setAttribute("src", i), s.style.width = "100%", s.style.height = "100%", s.style.maxHeight = "100%", s.style.maxWidth = "100%", r.appendChild(s)
657
+ }
658
+ }
659
+ }
660
+
661
+ function vt(e) {
662
+ e.style.display = "none";
663
+ var t = Et(e), r = qt(t.h, t.v);
664
+ r && (r.style.display = "none")
665
+ }
666
+
667
+ function ht() {
668
+ var e = Cr.wrapper.querySelectorAll(Ar), t = Cr.wrapper.querySelectorAll(Er), r = {
669
+ left: hr > 0 || xr.loop,
670
+ right: hr < e.length - 1 || xr.loop,
671
+ up: gr > 0,
672
+ down: gr < t.length - 1
673
+ };
674
+ if (xr.rtl) {
675
+ var n = r.left;
676
+ r.left = r.right, r.right = n
677
+ }
678
+ return r
679
+ }
680
+
681
+ function gt() {
682
+ if (yr && xr.fragments) {
683
+ var e = yr.querySelectorAll(".fragment"), t = yr.querySelectorAll(".fragment:not(.visible)");
684
+ return {prev: e.length - t.length > 0, next: !!t.length}
685
+ }
686
+ return {prev: !1, next: !1}
687
+ }
688
+
689
+ function mt() {
690
+ g(Cr.slides.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function (e) {
691
+ var t = e.getAttribute("src");
692
+ /enablejsapi\=1/gi.test(t) || e.setAttribute("src", t + (/\?/.test(t) ? "&" : "?") + "enablejsapi=1")
693
+ }), g(Cr.slides.querySelectorAll('iframe[src*="player.vimeo.com/"]')).forEach(function (e) {
694
+ var t = e.getAttribute("src");
695
+ /api\=1/gi.test(t) || e.setAttribute("src", t + (/\?/.test(t) ? "&" : "?") + "api=1")
696
+ })
697
+ }
698
+
699
+ function yt(e) {
700
+ e && !Lt() && (g(e.querySelectorAll('img[src$=".gif"]')).forEach(function (e) {
701
+ e.setAttribute("src", e.getAttribute("src"))
702
+ }), g(e.querySelectorAll("video, audio")).forEach(function (e) {
703
+ e.hasAttribute("data-autoplay") && e.play()
704
+ }), g(e.querySelectorAll("iframe")).forEach(function (e) {
705
+ e.contentWindow.postMessage("slide:start", "*")
706
+ }), g(e.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function (e) {
707
+ e.hasAttribute("data-autoplay") && e.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', "*")
708
+ }), g(e.querySelectorAll('iframe[src*="player.vimeo.com/"]')).forEach(function (e) {
709
+ e.hasAttribute("data-autoplay") && e.contentWindow.postMessage('{"method":"play"}', "*")
710
+ }))
711
+ }
712
+
713
+ function bt(e) {
714
+ e && e.parentNode && (g(e.querySelectorAll("video, audio")).forEach(function (e) {
715
+ e.hasAttribute("data-ignore") || e.pause()
716
+ }), g(e.querySelectorAll("iframe")).forEach(function (e) {
717
+ e.contentWindow.postMessage("slide:stop", "*")
718
+ }), g(e.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function (e) {
719
+ e.hasAttribute("data-ignore") || "function" != typeof e.contentWindow.postMessage || e.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', "*")
720
+ }), g(e.querySelectorAll('iframe[src*="player.vimeo.com/"]')).forEach(function (e) {
721
+ e.hasAttribute("data-ignore") || "function" != typeof e.contentWindow.postMessage || e.contentWindow.postMessage('{"method":"pause"}', "*")
722
+ }))
723
+ }
724
+
725
+ function wt() {
726
+ var e = g(Cr.wrapper.querySelectorAll(Ar)), t = St(), r = 0;
727
+ e:for (var n = 0; n < e.length; n++) {
728
+ for (var a = e[n], i = g(a.querySelectorAll("section")), o = 0; o < i.length; o++) {
729
+ if (i[o].classList.contains("present"))break e;
730
+ r++
731
+ }
732
+ if (a.classList.contains("present"))break;
733
+ a.classList.contains("stack") === !1 && r++
734
+ }
735
+ if (yr) {
736
+ var s = yr.querySelectorAll(".fragment");
737
+ if (s.length > 0) {
738
+ var c = yr.querySelectorAll(".fragment.visible"), l = .9;
739
+ r += c.length / s.length * l
740
+ }
741
+ }
742
+ return r / (t - 1)
743
+ }
744
+
745
+ function Lt() {
746
+ return !!window.location.search.match(/receiver/gi)
747
+ }
748
+
749
+ function kt() {
750
+ var e = window.location.hash, t = e.slice(2).split("/"), r = e.replace(/#|\//gi, "");
751
+ if (isNaN(parseInt(t[0], 10)) && r.length) {
752
+ var n;
753
+ if (/^[a-zA-Z][\w:.-]*$/.test(r) && (n = document.getElementById(r)), n) {
754
+ var a = vr.getIndices(n);
755
+ rt(a.h, a.v)
756
+ } else rt(hr || 0, gr || 0)
757
+ } else {
758
+ var i = parseInt(t[0], 10) || 0, o = parseInt(t[1], 10) || 0;
759
+ (i !== hr || o !== gr) && rt(i, o)
760
+ }
761
+ }
762
+
763
+ function At(e) {
764
+ if (xr.history)if (clearTimeout(Hr), "number" == typeof e)Hr = setTimeout(At, e); else if (yr) {
765
+ var t = "/", r = yr.getAttribute("id");
766
+ 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
767
+ }
768
+ }
769
+
770
+ function Et(e) {
771
+ var t, r = hr, n = gr;
772
+ if (e) {
773
+ var a = K(e), i = a ? e.parentNode : e, o = g(Cr.wrapper.querySelectorAll(Ar));
774
+ r = Math.max(o.indexOf(i), 0), n = void 0, a && (n = Math.max(g(e.parentNode.querySelectorAll("section")).indexOf(e), 0))
775
+ }
776
+ if (!e && yr) {
777
+ var s = yr.querySelectorAll(".fragment").length > 0;
778
+ if (s) {
779
+ var c = yr.querySelector(".current-fragment");
780
+ t = c && c.hasAttribute("data-fragment-index") ? parseInt(c.getAttribute("data-fragment-index"), 10) : yr.querySelectorAll(".fragment.visible").length - 1
781
+ }
782
+ }
783
+ return {h: r, v: n, f: t}
784
+ }
785
+
786
+ function St() {
787
+ return Cr.wrapper.querySelectorAll(kr + ":not(.stack)").length
788
+ }
789
+
790
+ function xt(e, t) {
791
+ var r = Cr.wrapper.querySelectorAll(Ar)[e], n = r && r.querySelectorAll("section");
792
+ return n && n.length && "number" == typeof t ? n ? n[t] : void 0 : r
793
+ }
794
+
795
+ function qt(e, t) {
796
+ if (x()) {
797
+ var r = xt(e, t);
798
+ if (r) {
799
+ var n = r.querySelector(".slide-background");
800
+ if (n && n.parentNode === r)return n
801
+ }
802
+ return void 0
803
+ }
804
+ var a = Cr.wrapper.querySelectorAll(".backgrounds>.slide-background")[e], i = a && a.querySelectorAll(".slide-background");
805
+ return i && i.length && "number" == typeof t ? i ? i[t] : void 0 : a
806
+ }
807
+
808
+ function Mt() {
809
+ var e = Et();
810
+ return {indexh: e.h, indexv: e.v, indexf: e.f, paused: G(), overview: _()}
811
+ }
812
+
813
+ function Tt(e) {
814
+ if ("object" == typeof e) {
815
+ rt(m(e.indexh), m(e.indexv), m(e.indexf));
816
+ var t = m(e.paused), r = m(e.overview);
817
+ "boolean" == typeof t && t !== G() && Q(t), "boolean" == typeof r && r !== _() && $(r)
818
+ }
819
+ }
820
+
821
+ function Nt(e) {
822
+ e = g(e);
823
+ var t = [], r = [], n = [];
824
+ e.forEach(function (e) {
825
+ if (e.hasAttribute("data-fragment-index")) {
826
+ var n = parseInt(e.getAttribute("data-fragment-index"), 10);
827
+ t[n] || (t[n] = []), t[n].push(e)
828
+ } else r.push([e])
829
+ }), t = t.concat(r);
830
+ var a = 0;
831
+ return t.forEach(function (e) {
832
+ e.forEach(function (e) {
833
+ n.push(e), e.setAttribute("data-fragment-index", a)
834
+ }), a++
835
+ }), n
836
+ }
837
+
838
+ function It(e, t) {
839
+ if (yr && xr.fragments) {
840
+ var r = Nt(yr.querySelectorAll(".fragment"));
841
+ if (r.length) {
842
+ if ("number" != typeof e) {
843
+ var n = Nt(yr.querySelectorAll(".fragment.visible")).pop();
844
+ e = n ? parseInt(n.getAttribute("data-fragment-index") || 0, 10) : -1
845
+ }
846
+ "number" == typeof t && (e += t);
847
+ var a = [], i = [];
848
+ return g(r).forEach(function (t, r) {
849
+ 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"))
850
+ }), i.length && T("fragmenthidden", {
851
+ fragment: i[0],
852
+ fragments: i
853
+ }), a.length && T("fragmentshown", {
854
+ fragment: a[0],
855
+ fragments: a
856
+ }), dt(), ct(), !(!a.length && !i.length)
857
+ }
858
+ }
859
+ return !1
860
+ }
861
+
862
+ function Ct() {
863
+ return It(null, 1)
864
+ }
865
+
866
+ function Pt() {
867
+ return It(null, -1)
868
+ }
869
+
870
+ function Dt() {
871
+ if (Ht(), yr) {
872
+ 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");
873
+ Wr = t ? parseInt(t, 10) : n ? parseInt(n, 10) : r ? parseInt(r, 10) : xr.autoSlide, g(yr.querySelectorAll("video, audio")).forEach(function (e) {
874
+ e.hasAttribute("data-autoplay") && Wr && 1e3 * e.duration > Wr && (Wr = 1e3 * e.duration + 1e3)
875
+ }), !Wr || Fr || G() || _() || vr.isLastSlide() && !gt().next && xr.loop !== !0 || (Or = setTimeout(jt, Wr), zr = Date.now()), Lr && Lr.setPlaying(-1 !== Or)
876
+ }
877
+ }
878
+
879
+ function Ht() {
880
+ clearTimeout(Or), Or = -1
881
+ }
882
+
883
+ function Rt() {
884
+ Wr && !Fr && (Fr = !0, T("autoslidepaused"), clearTimeout(Or), Lr && Lr.setPlaying(!1))
885
+ }
886
+
887
+ function Wt() {
888
+ Wr && Fr && (Fr = !1, T("autoslideresumed"), Dt())
889
+ }
890
+
891
+ function Ot() {
892
+ xr.rtl ? (_() || Ct() === !1) && ht().left && rt(hr + 1) : (_() || Pt() === !1) && ht().left && rt(hr - 1)
893
+ }
894
+
895
+ function zt() {
896
+ xr.rtl ? (_() || Pt() === !1) && ht().right && rt(hr - 1) : (_() || Ct() === !1) && ht().right && rt(hr + 1)
897
+ }
898
+
899
+ function Ft() {
900
+ (_() || Pt() === !1) && ht().up && rt(hr, gr - 1)
901
+ }
902
+
903
+ function Yt() {
904
+ (_() || Ct() === !1) && ht().down && rt(hr, gr + 1)
905
+ }
906
+
907
+ function Xt() {
908
+ if (Pt() === !1)if (ht().up)Ft(); else {
909
+ var e;
910
+ if (e = xr.rtl ? g(Cr.wrapper.querySelectorAll(Ar + ".future")).pop() : g(Cr.wrapper.querySelectorAll(Ar + ".past")).pop()) {
911
+ var t = e.querySelectorAll("section").length - 1 || void 0, r = hr - 1;
912
+ rt(r, t)
913
+ }
914
+ }
915
+ }
916
+
917
+ function jt() {
918
+ Ct() === !1 && (ht().down ? Yt() : xr.rtl ? Ot() : zt()), Dt()
919
+ }
920
+
921
+ function Bt() {
922
+ xr.autoSlideStoppable && Rt()
923
+ }
924
+
925
+ function Ut(e) {
926
+ e.shiftKey && 63 === e.charCode && (Cr.overlay ? R() : H(!0))
927
+ }
928
+
929
+ function $t(e) {
930
+ if ("function" == typeof xr.keyboardCondition && xr.keyboardCondition() === !1)return !0;
931
+ var t = Fr;
932
+ Bt(e);
933
+ var r = document.activeElement && "inherit" !== document.activeElement.contentEditable, n = document.activeElement && document.activeElement.tagName && /input|textarea/i.test(document.activeElement.tagName);
934
+ if (!(r || n || e.shiftKey && 32 !== e.keyCode || e.altKey || e.ctrlKey || e.metaKey)) {
935
+ if (G() && -1 === [66, 190, 191].indexOf(e.keyCode))return !1;
936
+ var a = !1;
937
+ if ("object" == typeof xr.keyboard)for (var i in xr.keyboard)if (parseInt(i, 10) === e.keyCode) {
938
+ var o = xr.keyboard[i];
939
+ "function" == typeof o ? o.apply(null, [e]) : "string" == typeof o && "function" == typeof vr[o] && vr[o].call(), a = !0
940
+ }
941
+ if (a === !1)switch (a = !0, e.keyCode) {
942
+ case 80:
943
+ case 33:
944
+ Xt();
945
+ break;
946
+ case 78:
947
+ case 34:
948
+ jt();
949
+ break;
950
+ case 72:
951
+ case 37:
952
+ Ot();
953
+ break;
954
+ case 76:
955
+ case 39:
956
+ zt();
957
+ break;
958
+ case 75:
959
+ case 38:
960
+ Ft();
961
+ break;
962
+ case 74:
963
+ case 40:
964
+ Yt();
965
+ break;
966
+ case 36:
967
+ rt(0);
968
+ break;
969
+ case 35:
970
+ rt(Number.MAX_VALUE);
971
+ break;
972
+ case 32:
973
+ _() ? U() : e.shiftKey ? Xt() : jt();
974
+ break;
975
+ case 13:
976
+ _() ? U() : a = !1;
977
+ break;
978
+ case 58:
979
+ case 59:
980
+ case 66:
981
+ case 190:
982
+ case 191:
983
+ Q();
984
+ break;
985
+ case 70:
986
+ V();
987
+ break;
988
+ case 65:
989
+ xr.autoSlideStoppable && et(t);
990
+ break;
991
+ default:
992
+ a = !1
993
+ }
994
+ a ? e.preventDefault && e.preventDefault() : 27 !== e.keyCode && 79 !== e.keyCode || !Pr.transforms3d || (Cr.overlay ? R() : $(), e.preventDefault && e.preventDefault()), Dt()
995
+ }
996
+ }
997
+
998
+ function _t(e) {
999
+ 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({
1000
+ x: e.touches[1].clientX,
1001
+ y: e.touches[1].clientY
1002
+ }, {x: Yr.startX, y: Yr.startY}))
1003
+ }
1004
+
1005
+ function Kt(e) {
1006
+ if (Yr.captured)navigator.userAgent.match(/android/gi) && e.preventDefault(); else {
1007
+ Bt(e);
1008
+ var t = e.touches[0].clientX, r = e.touches[0].clientY;
1009
+ if (2 === e.touches.length && 2 === Yr.startCount && xr.overview) {
1010
+ var n = y({x: e.touches[1].clientX, y: e.touches[1].clientY}, {x: Yr.startX, y: Yr.startY});
1011
+ Math.abs(Yr.startSpan - n) > Yr.threshold && (Yr.captured = !0, n < Yr.startSpan ? X() : U()), e.preventDefault()
1012
+ } else if (1 === e.touches.length && 2 !== Yr.startCount) {
1013
+ var a = t - Yr.startX, i = r - Yr.startY;
1014
+ 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()
1015
+ }
1016
+ }
1017
+ }
1018
+
1019
+ function Vt() {
1020
+ Yr.captured = !1
1021
+ }
1022
+
1023
+ function Zt(e) {
1024
+ (e.pointerType === e.MSPOINTER_TYPE_TOUCH || "touch" === e.pointerType) && (e.touches = [{
1025
+ clientX: e.clientX,
1026
+ clientY: e.clientY
1027
+ }], _t(e))
1028
+ }
1029
+
1030
+ function Jt(e) {
1031
+ (e.pointerType === e.MSPOINTER_TYPE_TOUCH || "touch" === e.pointerType) && (e.touches = [{
1032
+ clientX: e.clientX,
1033
+ clientY: e.clientY
1034
+ }], Kt(e))
1035
+ }
1036
+
1037
+ function Qt(e) {
1038
+ (e.pointerType === e.MSPOINTER_TYPE_TOUCH || "touch" === e.pointerType) && (e.touches = [{
1039
+ clientX: e.clientX,
1040
+ clientY: e.clientY
1041
+ }], Vt(e))
1042
+ }
1043
+
1044
+ function Gt(e) {
1045
+ if (Date.now() - Dr > 600) {
1046
+ Dr = Date.now();
1047
+ var t = e.detail || -e.wheelDelta;
1048
+ t > 0 ? jt() : Xt()
1049
+ }
1050
+ }
1051
+
1052
+ function er(e) {
1053
+ Bt(e), e.preventDefault();
1054
+ var t = g(Cr.wrapper.querySelectorAll(Ar)).length, r = Math.floor(e.clientX / Cr.wrapper.offsetWidth * t);
1055
+ rt(r)
1056
+ }
1057
+
1058
+ function tr(e) {
1059
+ e.preventDefault(), Bt(), Ot()
1060
+ }
1061
+
1062
+ function rr(e) {
1063
+ e.preventDefault(), Bt(), zt()
1064
+ }
1065
+
1066
+ function nr(e) {
1067
+ e.preventDefault(), Bt(), Ft()
1068
+ }
1069
+
1070
+ function ar(e) {
1071
+ e.preventDefault(), Bt(), Yt()
1072
+ }
1073
+
1074
+ function ir(e) {
1075
+ e.preventDefault(), Bt(), Xt()
1076
+ }
1077
+
1078
+ function or(e) {
1079
+ e.preventDefault(), Bt(), jt()
1080
+ }
1081
+
1082
+ function sr() {
1083
+ kt()
1084
+ }
1085
+
1086
+ function cr() {
1087
+ W()
1088
+ }
1089
+
1090
+ function lr() {
1091
+ var e = document.webkitHidden || document.msHidden || document.hidden;
1092
+ e === !1 && document.activeElement !== document.body && (document.activeElement.blur(), document.body.focus())
1093
+ }
1094
+
1095
+ function dr(e) {
1096
+ if (Rr && _()) {
1097
+ e.preventDefault();
1098
+ for (var t = e.target; t && !t.nodeName.match(/section/gi);)t = t.parentNode;
1099
+ if (t && !t.classList.contains("disabled") && (U(), t.nodeName.match(/section/gi))) {
1100
+ var r = parseInt(t.getAttribute("data-index-h"), 10), n = parseInt(t.getAttribute("data-index-v"), 10);
1101
+ rt(r, n)
1102
+ }
1103
+ }
1104
+ }
1105
+
1106
+ function ur(e) {
1107
+ if (e.currentTarget && e.currentTarget.hasAttribute("href")) {
1108
+ var t = e.currentTarget.getAttribute("href");
1109
+ t && (D(t), e.preventDefault())
1110
+ }
1111
+ }
1112
+
1113
+ function pr() {
1114
+ vr.isLastSlide() && xr.loop === !1 ? (rt(0, 0), Wt()) : Fr ? Wt() : Rt()
1115
+ }
1116
+
1117
+ function fr(e, t) {
1118
+ 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()
1119
+ }
1120
+
1121
+ 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 = {
1122
+ width: 960,
1123
+ height: 700,
1124
+ margin: .1,
1125
+ minScale: .2,
1126
+ maxScale: 1,
1127
+ controls: !0,
1128
+ progress: !0,
1129
+ slideNumber: !1,
1130
+ history: !1,
1131
+ keyboard: !0,
1132
+ keyboardCondition: null,
1133
+ overview: !0,
1134
+ center: !0,
1135
+ touch: !0,
1136
+ loop: !1,
1137
+ rtl: !1,
1138
+ fragments: !0,
1139
+ embedded: !1,
1140
+ help: !0,
1141
+ pause: !0,
1142
+ autoSlide: 0,
1143
+ autoSlideStoppable: !0,
1144
+ mouseWheel: !1,
1145
+ rollingLinks: !1,
1146
+ hideAddressBar: !0,
1147
+ previewLinks: !1,
1148
+ postMessage: !0,
1149
+ postMessageEvents: !1,
1150
+ focusBodyOnPageVisibilityChange: !0,
1151
+ transition: "default",
1152
+ transitionSpeed: "default",
1153
+ backgroundTransition: "default",
1154
+ parallaxBackgroundImage: "",
1155
+ parallaxBackgroundSize: "",
1156
+ viewDistance: 3,
1157
+ dependencies: []
1158
+ }, qr = !1, Mr = !1, Tr = [], Nr = 1, Ir = {
1159
+ layout: "",
1160
+ overview: ""
1161
+ }, Cr = {}, Pr = {}, Dr = 0, Hr = 0, Rr = !1, Wr = 0, Or = 0, zr = -1, Fr = !1, Yr = {
1162
+ startX: 0,
1163
+ startY: 0,
1164
+ startSpan: 0,
1165
+ startCount: 0,
1166
+ captured: !1,
1167
+ threshold: 40
1168
+ }, Xr = {
1169
+ "N , SPACE": "Next slide",
1170
+ P: "Previous slide",
1171
+ "&#8592; , H": "Navigate left",
1172
+ "&#8594; , L": "Navigate right",
1173
+ "&#8593; , K": "Navigate up",
1174
+ "&#8595; , J": "Navigate down",
1175
+ Home: "First slide",
1176
+ End: "Last slide",
1177
+ "B , .": "Pause",
1178
+ F: "Fullscreen",
1179
+ "ESC, O": "Slide overview"
1180
+ };
1181
+ return fr.prototype.setPlaying = function (e) {
1182
+ var t = this.playing;
1183
+ this.playing = e, !t && this.playing ? this.animate() : this.render()
1184
+ }, fr.prototype.animate = function () {
1185
+ var e = this.progress;
1186
+ 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))
1187
+ }, fr.prototype.render = function () {
1188
+ var e = this.playing ? this.progress : 0, t = this.diameter / 2 - this.thickness, r = this.diameter / 2, n = this.diameter / 2, a = 14;
1189
+ this.progressOffset += .1 * (1 - this.progressOffset);
1190
+ var i = -Math.PI / 2 + 2 * e * Math.PI, o = -Math.PI / 2 + 2 * this.progressOffset * Math.PI;
1191
+ 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()
1192
+ }, fr.prototype.on = function (e, t) {
1193
+ this.canvas.addEventListener(e, t, !1)
1194
+ }, fr.prototype.off = function (e, t) {
1195
+ this.canvas.removeEventListener(e, t, !1)
1196
+ }, fr.prototype.destroy = function () {
1197
+ this.playing = !1, this.canvas.parentNode && this.container.removeChild(this.canvas)
1198
+ }, vr = {
1199
+ initialize: e,
1200
+ configure: p,
1201
+ sync: nt,
1202
+ slide: rt,
1203
+ left: Ot,
1204
+ right: zt,
1205
+ up: Ft,
1206
+ down: Yt,
1207
+ prev: Xt,
1208
+ next: jt,
1209
+ navigateFragment: It,
1210
+ prevFragment: Pt,
1211
+ nextFragment: Ct,
1212
+ navigateTo: rt,
1213
+ navigateLeft: Ot,
1214
+ navigateRight: zt,
1215
+ navigateUp: Ft,
1216
+ navigateDown: Yt,
1217
+ navigatePrev: Xt,
1218
+ navigateNext: jt,
1219
+ layout: W,
1220
+ availableRoutes: ht,
1221
+ availableFragments: gt,
1222
+ toggleOverview: $,
1223
+ togglePause: Q,
1224
+ toggleAutoSlide: et,
1225
+ isOverview: _,
1226
+ isPaused: G,
1227
+ isAutoSliding: tt,
1228
+ addEventListeners: f,
1229
+ removeEventListeners: v,
1230
+ getState: Mt,
1231
+ setState: Tt,
1232
+ getProgress: wt,
1233
+ getIndices: Et,
1234
+ getTotalSlides: St,
1235
+ getSlide: xt,
1236
+ getSlideBackground: qt,
1237
+ getPreviousSlide: function () {
1238
+ return mr
1239
+ },
1240
+ getCurrentSlide: function () {
1241
+ return yr
1242
+ },
1243
+ getScale: function () {
1244
+ return Nr
1245
+ },
1246
+ getConfig: function () {
1247
+ return xr
1248
+ },
1249
+ getQueryHash: function () {
1250
+ var e = {};
1251
+ location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi, function (t) {
1252
+ e[t.split("=").shift()] = t.split("=").pop()
1253
+ });
1254
+ for (var t in e) {
1255
+ var r = e[t];
1256
+ e[t] = m(unescape(r))
1257
+ }
1258
+ return e
1259
+ },
1260
+ isFirstSlide: function () {
1261
+ return 0 === hr && 0 === gr
1262
+ },
1263
+ isLastSlide: function () {
1264
+ return yr ? yr.nextElementSibling ? !1 : K(yr) && yr.parentNode.nextElementSibling ? !1 : !0 : !1
1265
+ },
1266
+ isReady: function () {
1267
+ return qr
1268
+ },
1269
+ addEventListener: function (e, t, r) {
1270
+ "addEventListener"in window && (Cr.wrapper || document.querySelector(".reveal")).addEventListener(e, t, r)
1271
+ },
1272
+ removeEventListener: function (e, t, r) {
1273
+ "addEventListener"in window && (Cr.wrapper || document.querySelector(".reveal")).removeEventListener(e, t, r)
1274
+ },
1275
+ triggerKey: function (e) {
1276
+ $t({keyCode: e})
1277
+ }
1278
+ }
1279
+ });