From 8ad81aa1a5fc99f6f70d30e1a7396492e4ff3335 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Sat, 10 Aug 2013 13:10:48 -0400 Subject: [PATCH] delay client capability test until initialization phase --- js/reveal.js | 47 ++++++++++++++++++++++++++++++++--------------- js/reveal.min.js | 4 ++-- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/js/reveal.js b/js/reveal.js index d86c22c0..1503c060 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -14,8 +14,6 @@ var Reveal = (function(){ VERTICAL_SLIDES_SELECTOR = '.reveal .slides>section.present>section', HOME_SLIDE_SELECTOR = '.reveal .slides>section:first-child', - IS_MOBILE = navigator.userAgent.match( /(iphone|ipod|android)/gi ), - // Configurations defaults, can be overridden at initialization time config = { @@ -113,19 +111,14 @@ var Reveal = (function(){ // Cached references to DOM elements dom = {}, - // Detect support for CSS 3D transforms - supports3DTransforms = '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, + // Client support for CSS 3D transforms, see #checkCapabilities() + supports3DTransforms, - // Detect support for CSS 2D transforms - supports2DTransforms = '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, + // Client support for CSS 2D transforms, see #checkCapabilities() + supports2DTransforms, + + // Client is a mobile device, see #checkCapabilities() + isMobileDevice, // Throttles mouse wheel navigation lastMouseWheelStep = 0, @@ -160,6 +153,8 @@ var Reveal = (function(){ */ function initialize( options ) { + checkCapabilities(); + if( !supports2DTransforms && !supports3DTransforms ) { document.body.setAttribute( 'class', 'no-transforms' ); @@ -182,6 +177,28 @@ var Reveal = (function(){ } + /** + * Inspect the client to see what it's capable of, this + * should only happens once per runtime. + */ + function checkCapabilities() { + + supports3DTransforms = '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; + + supports2DTransforms = '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; + + isMobileDevice = navigator.userAgent.match( /(iphone|ipod|android)/gi ); + + } + /** * Finds and stores references to DOM elements which are * required by the presentation. If a required element is @@ -1569,7 +1586,7 @@ var Reveal = (function(){ var threshold = 3; // Heavily limited on weaker devices - if( IS_MOBILE ) { + if( isMobileDevice ) { threshold = 1; } diff --git a/js/reveal.min.js b/js/reveal.min.js index 8752c355..4b3956b9 100644 --- a/js/reveal.min.js +++ b/js/reveal.min.js @@ -1,8 +1,8 @@ /*! - * reveal.js 2.5.0 (2013-08-10, 12:49) + * reveal.js 2.5.0 (2013-08-10, 13:10) * http://lab.hakim.se/reveal-js * MIT licensed * * Copyright (C) 2013 Hakim El Hattab, http://hakim.se */ -var Reveal=function(){"use strict";function e(e){return Xt||Ht?(window.addEventListener("load",k,!1),l(Rt,e),r(),o(),void 0):(document.body.setAttribute("class","no-transforms"),void 0)}function t(){if(zt.theme=document.querySelector("#theme"),zt.wrapper=document.querySelector(".reveal"),zt.slides=document.querySelector(".reveal .slides"),document.querySelector(".reveal .backgrounds")||(zt.background=document.createElement("div"),zt.background.classList.add("backgrounds"),zt.wrapper.appendChild(zt.background)),!zt.wrapper.querySelector(".progress")){var e=document.createElement("div");e.classList.add("progress"),e.innerHTML="",zt.wrapper.appendChild(e)}if(!zt.wrapper.querySelector(".controls")){var t=document.createElement("aside");t.classList.add("controls"),t.innerHTML='',zt.wrapper.appendChild(t)}if(!zt.wrapper.querySelector(".state-background")){var n=document.createElement("div");n.classList.add("state-background"),zt.wrapper.appendChild(n)}if(!zt.wrapper.querySelector(".pause-overlay")){var r=document.createElement("div");r.classList.add("pause-overlay"),zt.wrapper.appendChild(r)}zt.progress=document.querySelector(".reveal .progress"),zt.progressbar=document.querySelector(".reveal .progress span"),Rt.controls&&(zt.controls=document.querySelector(".reveal .controls"),zt.controlsLeft=d(document.querySelectorAll(".navigate-left")),zt.controlsRight=d(document.querySelectorAll(".navigate-right")),zt.controlsUp=d(document.querySelectorAll(".navigate-up")),zt.controlsDown=d(document.querySelectorAll(".navigate-down")),zt.controlsPrev=d(document.querySelectorAll(".navigate-prev")),zt.controlsNext=d(document.querySelectorAll(".navigate-next")))}function n(){function e(e,t){var n={background:e.getAttribute("data-background"),backgroundSize:e.getAttribute("data-background-size"),backgroundImage:e.getAttribute("data-background-image"),backgroundColor:e.getAttribute("data-background-color"),backgroundRepeat:e.getAttribute("data-background-repeat"),backgroundPosition:e.getAttribute("data-background-position"),backgroundTransition:e.getAttribute("data-background-transition")},r=document.createElement("div");return r.className="slide-background",n.background&&(/^(http|file|\/\/)/gi.test(n.background)||/\.(png|jpg|jpeg|gif|bmp)$/gi.test(n.background)?r.style.backgroundImage="url("+n.background+")":r.style.background=n.background),n.backgroundSize&&(r.style.backgroundSize=n.backgroundSize),n.backgroundImage&&(r.style.backgroundImage='url("'+n.backgroundImage+'")'),n.backgroundColor&&(r.style.backgroundColor=n.backgroundColor),n.backgroundRepeat&&(r.style.backgroundRepeat=n.backgroundRepeat),n.backgroundPosition&&(r.style.backgroundPosition=n.backgroundPosition),n.backgroundTransition&&r.setAttribute("data-background-transition",n.backgroundTransition),t.appendChild(r),r}v()&&document.body.classList.add("print-pdf"),zt.background.innerHTML="",zt.background.classList.add("no-transition"),d(document.querySelectorAll(Pt)).forEach(function(t){var n;n=v()?e(t,t):e(t,zt.background),d(t.querySelectorAll("section")).forEach(function(t){v()?e(t,t):e(t,n)})})}function r(){/iphone|ipod|android/gi.test(navigator.userAgent)&&!/crios/gi.test(navigator.userAgent)&&(window.addEventListener("load",p,!1),window.addEventListener("orientationchange",p,!1))}function o(){function e(){n.length&&head.js.apply(null,n),a()}for(var t=[],n=[],r=0,o=Rt.dependencies.length;o>r;r++){var i=Rt.dependencies[r];(!i.condition||i.condition())&&(i.async?n.push(i.src):t.push(i.src),"function"==typeof i.callback&&head.ready(i.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],i.callback))}t.length?(head.ready(e),head.js.apply(null,t)):e()}function a(){t(),i(),$(),setTimeout(function(){m("ready",{indexh:At,indexv:qt,currentSlide:Tt})},1)}function i(e){if(zt.wrapper.classList.remove(Rt.transition),"object"==typeof e&&l(Rt,e),Ht===!1&&(Rt.transition="linear"),zt.wrapper.classList.add(Rt.transition),zt.wrapper.setAttribute("data-transition-speed",Rt.transitionSpeed),zt.wrapper.setAttribute("data-background-transition",Rt.backgroundTransition),zt.controls&&(zt.controls.style.display=Rt.controls&&zt.controls?"block":"none"),zt.progress&&(zt.progress.style.display=Rt.progress&&zt.progress?"block":"none"),Rt.rtl?zt.wrapper.classList.add("rtl"):zt.wrapper.classList.remove("rtl"),Rt.center?zt.wrapper.classList.add("center"):zt.wrapper.classList.remove("center"),Rt.mouseWheel?(document.addEventListener("DOMMouseScroll",vt,!1),document.addEventListener("mousewheel",vt,!1)):(document.removeEventListener("DOMMouseScroll",vt,!1),document.removeEventListener("mousewheel",vt,!1)),Rt.rollingLinks?g():h(),Rt.previewLinks?y():(b(),y("[data-preview-link]")),Rt.theme&&zt.theme){var t=zt.theme.getAttribute("href"),n=/[^\/]*?(?=\.css)/,r=t.match(n)[0];Rt.theme!==r&&(t=t.replace(n,Rt.theme),zt.theme.setAttribute("href",t))}Y()}function s(){Kt=!0,window.addEventListener("hashchange",Lt,!1),window.addEventListener("resize",Et,!1),Rt.touch&&(zt.wrapper.addEventListener("touchstart",st,!1),zt.wrapper.addEventListener("touchmove",ct,!1),zt.wrapper.addEventListener("touchend",lt,!1),window.navigator.msPointerEnabled&&(zt.wrapper.addEventListener("MSPointerDown",dt,!1),zt.wrapper.addEventListener("MSPointerMove",ut,!1),zt.wrapper.addEventListener("MSPointerUp",ft,!1))),Rt.keyboard&&document.addEventListener("keydown",it,!1),Rt.progress&&zt.progress&&zt.progress.addEventListener("click",pt,!1),Rt.controls&&zt.controls&&["touchstart","click"].forEach(function(e){zt.controlsLeft.forEach(function(t){t.addEventListener(e,mt,!1)}),zt.controlsRight.forEach(function(t){t.addEventListener(e,gt,!1)}),zt.controlsUp.forEach(function(t){t.addEventListener(e,ht,!1)}),zt.controlsDown.forEach(function(t){t.addEventListener(e,yt,!1)}),zt.controlsPrev.forEach(function(t){t.addEventListener(e,bt,!1)}),zt.controlsNext.forEach(function(t){t.addEventListener(e,wt,!1)})})}function c(){Kt=!1,document.removeEventListener("keydown",it,!1),window.removeEventListener("hashchange",Lt,!1),window.removeEventListener("resize",Et,!1),zt.wrapper.removeEventListener("touchstart",st,!1),zt.wrapper.removeEventListener("touchmove",ct,!1),zt.wrapper.removeEventListener("touchend",lt,!1),window.navigator.msPointerEnabled&&(zt.wrapper.removeEventListener("MSPointerDown",dt,!1),zt.wrapper.removeEventListener("MSPointerMove",ut,!1),zt.wrapper.removeEventListener("MSPointerUp",ft,!1)),Rt.progress&&zt.progress&&zt.progress.removeEventListener("click",pt,!1),Rt.controls&&zt.controls&&["touchstart","click"].forEach(function(e){zt.controlsLeft.forEach(function(t){t.removeEventListener(e,mt,!1)}),zt.controlsRight.forEach(function(t){t.removeEventListener(e,gt,!1)}),zt.controlsUp.forEach(function(t){t.removeEventListener(e,ht,!1)}),zt.controlsDown.forEach(function(t){t.removeEventListener(e,yt,!1)}),zt.controlsPrev.forEach(function(t){t.removeEventListener(e,bt,!1)}),zt.controlsNext.forEach(function(t){t.removeEventListener(e,wt,!1)})})}function l(e,t){for(var n in t)e[n]=t[n]}function d(e){return Array.prototype.slice.call(e)}function u(e,t){var n=e.x-t.x,r=e.y-t.y;return Math.sqrt(n*n+r*r)}function f(e){var t=0;if(e){var n=0;d(e.childNodes).forEach(function(e){"number"==typeof e.offsetTop&&e.style&&("absolute"===e.style.position&&(n+=1),t=Math.max(t,e.offsetTop+e.offsetHeight))}),0===n&&(t=e.offsetHeight)}return t}function v(){return/print-pdf/gi.test(window.location.search)}function p(){0===window.orientation?(document.documentElement.style.overflow="scroll",document.body.style.height="120%"):(document.documentElement.style.overflow="",document.body.style.height="100%"),setTimeout(function(){window.scrollTo(0,1)},10)}function m(e,t){var n=document.createEvent("HTMLEvents",1,2);n.initEvent(e,!0,!0),l(n,t),zt.wrapper.dispatchEvent(n)}function g(){if(Ht&&!("msPerspective"in document.body.style))for(var e=document.querySelectorAll(Mt+" a:not(.image)"),t=0,n=e.length;n>t;t++){var r=e[t];if(!(!r.textContent||r.querySelector("*")||r.className&&r.classList.contains(r,"roll"))){var o=document.createElement("span");o.setAttribute("data-title",r.text),o.innerHTML=r.innerHTML,r.classList.add("roll"),r.innerHTML="",r.appendChild(o)}}}function h(){for(var e=document.querySelectorAll(Mt+" a.roll"),t=0,n=e.length;n>t;t++){var r=e[t],o=r.querySelector("span");o&&(r.classList.remove("roll"),r.innerHTML=o.innerHTML)}}function y(e){var t=d(document.querySelectorAll(e?e:"a"));t.forEach(function(e){/^(http|www)/gi.test(e.getAttribute("href"))&&e.addEventListener("click",St,!1)})}function b(){var e=d(document.querySelectorAll("a"));e.forEach(function(e){/^(http|www)/gi.test(e.getAttribute("href"))&&e.removeEventListener("click",St,!1)})}function w(e){L(),zt.preview=document.createElement("div"),zt.preview.classList.add("preview-link-overlay"),zt.wrapper.appendChild(zt.preview),zt.preview.innerHTML=["
",'','',"
",'
','
','',"
"].join(""),zt.preview.querySelector("iframe").addEventListener("load",function(){zt.preview.classList.add("loaded")},!1),zt.preview.querySelector(".close").addEventListener("click",function(e){L(),e.preventDefault()},!1),zt.preview.querySelector(".external").addEventListener("click",function(){L()},!1),setTimeout(function(){zt.preview.classList.add("visible")},1)}function L(){zt.preview&&(zt.preview.setAttribute("src",""),zt.preview.parentNode.removeChild(zt.preview),zt.preview=null)}function E(e){var t=d(e);return t.forEach(function(e,t){e.hasAttribute("data-fragment-index")||e.setAttribute("data-fragment-index",t)}),t.sort(function(e,t){return e.getAttribute("data-fragment-index")-t.getAttribute("data-fragment-index")}),t}function k(){if(zt.wrapper&&!v()){var e=zt.wrapper.offsetWidth,t=zt.wrapper.offsetHeight;e-=t*Rt.margin,t-=t*Rt.margin;var n=Rt.width,r=Rt.height;if("string"==typeof n&&/%$/.test(n)&&(n=parseInt(n,10)/100*e),"string"==typeof r&&/%$/.test(r)&&(r=parseInt(r,10)/100*t),zt.slides.style.width=n+"px",zt.slides.style.height=r+"px",Yt=Math.min(e/n,t/r),Yt=Math.max(Yt,Rt.minScale),Yt=Math.min(Yt,Rt.maxScale),void 0===zt.slides.style.zoom||navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi)){var o="translate(-50%, -50%) scale("+Yt+") translate(50%, 50%)";zt.slides.style.WebkitTransform=o,zt.slides.style.MozTransform=o,zt.slides.style.msTransform=o,zt.slides.style.OTransform=o,zt.slides.style.transform=o}else zt.slides.style.zoom=Yt;for(var a=d(document.querySelectorAll(Mt)),i=0,s=a.length;s>i;i++){var c=a[i];"none"!==c.style.display&&(c.style.top=Rt.center?c.classList.contains("stack")?0:Math.max(-(f(c)/2)-20,-r/2)+"px":"")}X()}}function S(e,t){"object"==typeof e&&"function"==typeof e.setAttribute&&e.setAttribute("data-previous-indexv",t||0)}function A(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 q(){if(Rt.overview){J();var e=zt.wrapper.classList.contains("overview");zt.wrapper.classList.add("overview"),zt.wrapper.classList.remove("exit-overview"),clearTimeout(Ft),clearTimeout(_t),Ft=setTimeout(function(){for(var t=document.querySelectorAll(Pt),n=0,r=t.length;r>n;n++){var o=t[n],a=Rt.rtl?-105:105,i="translateZ(-2500px) translate("+(n-At)*a+"%, 0%)";if(o.setAttribute("data-index-h",n),o.style.WebkitTransform=i,o.style.MozTransform=i,o.style.msTransform=i,o.style.OTransform=i,o.style.transform=i,o.classList.contains("stack"))for(var s=o.querySelectorAll("section"),c=0,l=s.length;l>c;c++){var d=n===At?qt:A(o),u=s[c],f="translate(0%, "+105*(c-d)+"%)";u.setAttribute("data-index-h",n),u.setAttribute("data-index-v",c),u.style.WebkitTransform=f,u.style.MozTransform=f,u.style.msTransform=f,u.style.OTransform=f,u.style.transform=f,u.addEventListener("click",kt,!0)}else o.addEventListener("click",kt,!0)}H(),k(),e||m("overviewshown",{indexh:At,indexv:qt,currentSlide:Tt})},10)}}function x(){if(Rt.overview){clearTimeout(Ft),clearTimeout(_t),zt.wrapper.classList.remove("overview"),zt.wrapper.classList.add("exit-overview"),_t=setTimeout(function(){zt.wrapper.classList.remove("exit-overview")},10);for(var e=d(document.querySelectorAll(Mt)),t=0,n=e.length;n>t;t++){var r=e[t];r.style.display="",r.style.WebkitTransform="",r.style.MozTransform="",r.style.msTransform="",r.style.OTransform="",r.style.transform="",r.removeEventListener("click",kt,!0)}O(At,qt),G(),m("overviewhidden",{indexh:At,indexv:qt,currentSlide:Tt})}}function T(e){"boolean"==typeof e?e?q():x():M()?x():q()}function M(){return zt.wrapper.classList.contains("overview")}function P(e){return e=e?e:Tt,e&&!!e.parentNode.nodeName.match(/section/i)}function N(){var e=document.body,t=e.requestFullScreen||e.webkitRequestFullscreen||e.webkitRequestFullScreen||e.mozRequestFullScreen||e.msRequestFullScreen;t&&t.apply(e)}function C(){var e=zt.wrapper.classList.contains("paused");J(),zt.wrapper.classList.add("paused"),e===!1&&m("paused")}function D(){var e=zt.wrapper.classList.contains("paused");zt.wrapper.classList.remove("paused"),G(),e&&m("resumed")}function R(){I()?D():C()}function I(){return zt.wrapper.classList.contains("paused")}function O(e,t,n,r){xt=Tt;var o=document.querySelectorAll(Pt);void 0===t&&(t=A(o[e])),xt&&xt.parentNode&&xt.parentNode.classList.contains("stack")&&S(xt.parentNode,qt);var a=Ot.concat();Ot.length=0;var i=At,s=qt;At=z(Pt,void 0===e?At:e),qt=z(Nt,void 0===t?qt:t),H(),k();e:for(var c=0,l=Ot.length;l>c;c++){for(var u=0;a.length>u;u++)if(a[u]===Ot[c]){a.splice(u,1);continue e}document.documentElement.classList.add(Ot[c]),m(Ot[c])}for(;a.length;)document.documentElement.classList.remove(a.pop());M()&&q();var f=o[At],v=f.querySelectorAll("section");if(Tt=v[qt]||f,n!==void 0){var p=E(Tt.querySelectorAll(".fragment"));d(p).forEach(function(e,t){n>t?e.classList.add("visible"):e.classList.remove("visible")})}var g=At!==i||qt!==s;g?m("slidechanged",{indexh:At,indexv:qt,previousSlide:xt,currentSlide:Tt,origin:r}):xt=null,xt&&(xt.classList.remove("present"),document.querySelector(Ct).classList.contains("present")&&setTimeout(function(){var e,t=d(document.querySelectorAll(Pt+".stack"));for(e in t)t[e]&&S(t[e],0)},0)),g&&(K(xt),_(Tt)),W(),X(),U(),V()}function Y(){c(),s(),k(),It=Rt.autoSlide,G(),n(),W(),X(),U()}function z(e,t){var n=d(document.querySelectorAll(e)),r=n.length;if(r){Rt.loop&&(t%=r,0>t&&(t=r+t)),t=Math.max(Math.min(t,r-1),0);for(var o=0;r>o;o++){var a=n[o],i=Rt.rtl&&!P(a);if(a.classList.remove("past"),a.classList.remove("present"),a.classList.remove("future"),a.setAttribute("hidden",""),t>o)a.classList.add(i?"future":"past");else if(o>t){a.classList.add(i?"past":"future");for(var s=d(a.querySelectorAll(".fragment.visible"));s.length;)s.pop().classList.remove("visible")}a.querySelector("section")&&a.classList.add("stack")}n[t].classList.add("present"),n[t].removeAttribute("hidden");var c=n[t].getAttribute("data-state");c&&(Ot=Ot.concat(c.split(" ")));var l=n[t].getAttribute("data-autoslide");It=l?parseInt(l,10):Rt.autoSlide,G()}else t=0;return t}function H(){var e,t=d(document.querySelectorAll(Pt)),n=t.length;if(n){var r=3;Dt&&(r=1),M()&&(r=6);for(var o=0;n>o;o++){var a=t[o],i=d(a.querySelectorAll("section")),s=i.length;if(s){a.style.display="block";for(var c=0;s>c;c++){var l=i[c],u=o-At,f=c-qt;e=Math.sqrt(u*u+f*f),l.style.display=e>r?"none":"block"}}else e=Math.abs((At-o)%(n-r))||0,a.style.display=e>r?"none":"block"}}}function X(){if(Rt.progress&&zt.progress){var e=d(document.querySelectorAll(Pt)),t=document.querySelectorAll(Mt+":not(.stack)").length,n=0;e:for(var r=0;e.length>r;r++){for(var o=e[r],a=d(o.querySelectorAll("section")),i=0;a.length>i;i++){if(a[i].classList.contains("present"))break e;n++}if(o.classList.contains("present"))break;o.classList.contains("stack")===!1&&n++}zt.progressbar.style.width=n/(t-1)*window.innerWidth+"px"}}function W(){if(Rt.controls&&zt.controls){var e=j(),t=F();zt.controlsLeft.concat(zt.controlsRight).concat(zt.controlsUp).concat(zt.controlsDown).concat(zt.controlsPrev).concat(zt.controlsNext).forEach(function(e){e.classList.remove("enabled"),e.classList.remove("fragmented")}),e.left&&zt.controlsLeft.forEach(function(e){e.classList.add("enabled")}),e.right&&zt.controlsRight.forEach(function(e){e.classList.add("enabled")}),e.up&&zt.controlsUp.forEach(function(e){e.classList.add("enabled")}),e.down&&zt.controlsDown.forEach(function(e){e.classList.add("enabled")}),(e.left||e.up)&&zt.controlsPrev.forEach(function(e){e.classList.add("enabled")}),(e.right||e.down)&&zt.controlsNext.forEach(function(e){e.classList.add("enabled")}),Tt&&(t.prev&&zt.controlsPrev.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&zt.controlsNext.forEach(function(e){e.classList.add("fragmented","enabled")}),P(Tt)?(t.prev&&zt.controlsUp.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&zt.controlsDown.forEach(function(e){e.classList.add("fragmented","enabled")})):(t.prev&&zt.controlsLeft.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&zt.controlsRight.forEach(function(e){e.classList.add("fragmented","enabled")})))}}function U(){d(zt.background.childNodes).forEach(function(e,t){var n=Rt.rtl?"future":"past",r=Rt.rtl?"past":"future";e.className="slide-background "+(At>t?n:t>At?r:"present"),d(e.childNodes).forEach(function(e,t){e.className="slide-background "+(qt>t?"past":t>qt?"future":"present")})}),setTimeout(function(){zt.background.classList.remove("no-transition")},1)}function j(){var e=document.querySelectorAll(Pt),t=document.querySelectorAll(Nt),n={left:At>0||Rt.loop,right:e.length-1>At||Rt.loop,up:qt>0,down:t.length-1>qt};if(Rt.rtl){var r=n.left;n.left=n.right,n.right=r}return n}function F(){if(Tt&&Rt.fragments){var e=Tt.querySelectorAll(".fragment"),t=Tt.querySelectorAll(".fragment:not(.visible)");return{prev:e.length-t.length>0,next:!!t.length}}return{prev:!1,next:!1}}function _(e){e&&(d(e.querySelectorAll("video, audio")).forEach(function(e){e.hasAttribute("data-autoplay")&&e.play()}),d(e.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(e){e.hasAttribute("data-autoplay")&&e.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}))}function K(e){e&&(d(e.querySelectorAll("video, audio")).forEach(function(e){e.hasAttribute("data-ignore")||e.pause()}),d(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":""}',"*")}))}function $(){var e=window.location.hash,t=e.slice(2).split("/"),n=e.replace(/#|\//gi,"");if(isNaN(parseInt(t[0],10))&&n.length){var r=document.querySelector("#"+n);if(r){var o=Reveal.getIndices(r);O(o.h,o.v)}else O(At,qt)}else{var a=parseInt(t[0],10)||0,i=parseInt(t[1],10)||0;(a!==At||i!==qt)&&O(a,i)}}function V(e){if(Rt.history)if(clearTimeout(jt),"number"==typeof e)jt=setTimeout(V,e);else{var t="/";Tt&&"string"==typeof Tt.getAttribute("id")?t="/"+Tt.getAttribute("id"):((At>0||qt>0)&&(t+=At),qt>0&&(t+="/"+qt)),window.location.hash=t}}function Z(e){var t,n=At,r=qt;if(e){var o=P(e),a=o?e.parentNode:e,i=d(document.querySelectorAll(Pt));n=Math.max(i.indexOf(a),0),o&&(r=Math.max(d(e.parentNode.querySelectorAll("section")).indexOf(e),0))}if(!e&&Tt){var s=Tt.querySelectorAll(".fragment").length>0;if(s){var c=Tt.querySelectorAll(".fragment.visible");t=c.length}}return{h:n,v:r,f:t}}function Q(){if(Tt&&Rt.fragments){var e=E(Tt.querySelectorAll(".fragment:not(.visible)"));if(e.length){var t=e[0].getAttribute("data-fragment-index");return e=Tt.querySelectorAll('.fragment[data-fragment-index="'+t+'"]'),d(e).forEach(function(e){e.classList.add("visible")}),m("fragmentshown",{fragment:e[0],fragments:e}),W(),!0}}return!1}function B(){if(Tt&&Rt.fragments){var e=E(Tt.querySelectorAll(".fragment.visible"));if(e.length){var t=e[e.length-1].getAttribute("data-fragment-index");return e=Tt.querySelectorAll('.fragment[data-fragment-index="'+t+'"]'),d(e).forEach(function(e){e.classList.remove("visible")}),m("fragmenthidden",{fragment:e[0],fragments:e}),W(),!0}}return!1}function G(){clearTimeout(Ut),!It||I()||M()||(Ut=setTimeout(at,It))}function J(){clearTimeout(Ut)}function et(){Rt.rtl?(M()||Q()===!1)&&j().left&&O(At+1):(M()||B()===!1)&&j().left&&O(At-1)}function tt(){Rt.rtl?(M()||B()===!1)&&j().right&&O(At-1):(M()||Q()===!1)&&j().right&&O(At+1)}function nt(){(M()||B()===!1)&&j().up&&O(At,qt-1)}function rt(){(M()||Q()===!1)&&j().down&&O(At,qt+1)}function ot(){if(B()===!1)if(j().up)nt();else{var e=document.querySelector(Pt+".past:nth-child("+At+")");if(e){var t=e.querySelectorAll("section").length-1||void 0,n=At-1;O(n,t)}}}function at(){Q()===!1&&(j().down?rt():tt()),G()}function it(e){document.activeElement;var t=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&"inherit"===document.activeElement.contentEditable);if(!(t||e.shiftKey&&32!==e.keyCode||e.altKey||e.ctrlKey||e.metaKey)){if(I()&&-1===[66,190,191].indexOf(e.keyCode))return!1;var n=!1;if("object"==typeof Rt.keyboard)for(var r in Rt.keyboard)if(parseInt(r,10)===e.keyCode){var o=Rt.keyboard[r];"function"==typeof o?o.apply(null,[e]):"string"==typeof o&&"function"==typeof Reveal[o]&&Reveal[o].call(),n=!0}if(n===!1)switch(n=!0,e.keyCode){case 80:case 33:ot();break;case 78:case 34:at();break;case 72:case 37:et();break;case 76:case 39:tt();break;case 75:case 38:nt();break;case 74:case 40:rt();break;case 36:O(0);break;case 35:O(Number.MAX_VALUE);break;case 32:M()?x():e.shiftKey?ot():at();break;case 13:M()?x():n=!1;break;case 66:case 190:case 191:R();break;case 70:N();break;default:n=!1}n?e.preventDefault():27!==e.keyCode&&79!==e.keyCode||!Ht||(T(),e.preventDefault()),G()}}function st(e){$t.startX=e.touches[0].clientX,$t.startY=e.touches[0].clientY,$t.startCount=e.touches.length,2===e.touches.length&&Rt.overview&&($t.startSpan=u({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:$t.startX,y:$t.startY}))}function ct(e){if($t.handled)navigator.userAgent.match(/android/gi)&&e.preventDefault();else{var t=e.touches[0].clientX,n=e.touches[0].clientY;if(2===e.touches.length&&2===$t.startCount&&Rt.overview){var r=u({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:$t.startX,y:$t.startY});Math.abs($t.startSpan-r)>$t.threshold&&($t.handled=!0,$t.startSpan>r?q():x()),e.preventDefault()}else if(1===e.touches.length&&2!==$t.startCount){var o=t-$t.startX,a=n-$t.startY;o>$t.threshold&&Math.abs(o)>Math.abs(a)?($t.handled=!0,et()):-$t.threshold>o&&Math.abs(o)>Math.abs(a)?($t.handled=!0,tt()):a>$t.threshold?($t.handled=!0,nt()):-$t.threshold>a&&($t.handled=!0,rt()),e.preventDefault()}}}function lt(){$t.handled=!1}function dt(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],st(e))}function ut(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],ct(e))}function ft(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],lt(e))}function vt(e){if(Date.now()-Wt>600){Wt=Date.now();var t=e.detail||-e.wheelDelta;t>0?at():ot()}}function pt(e){e.preventDefault();var t=d(document.querySelectorAll(Pt)).length,n=Math.floor(e.clientX/zt.wrapper.offsetWidth*t);O(n)}function mt(e){e.preventDefault(),et()}function gt(e){e.preventDefault(),tt()}function ht(e){e.preventDefault(),nt()}function yt(e){e.preventDefault(),rt()}function bt(e){e.preventDefault(),ot()}function wt(e){e.preventDefault(),at()}function Lt(){$()}function Et(){k()}function kt(e){if(Kt&&M()){e.preventDefault();for(var t=e.target;t&&!t.nodeName.match(/section/gi);)t=t.parentNode;if(t&&!t.classList.contains("disabled")&&(x(),t.nodeName.match(/section/gi))){var n=parseInt(t.getAttribute("data-index-h"),10),r=parseInt(t.getAttribute("data-index-v"),10);O(n,r)}}}function St(e){var t=e.target.getAttribute("href");t&&(w(t),e.preventDefault())}var At,qt,xt,Tt,Mt=".reveal .slides section",Pt=".reveal .slides>section",Nt=".reveal .slides>section.present>section",Ct=".reveal .slides>section:first-child",Dt=navigator.userAgent.match(/(iphone|ipod|android)/gi),Rt={width:960,height:700,margin:.1,minScale:.2,maxScale:1,controls:!0,progress:!0,history:!1,keyboard:!0,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,fragments:!0,autoSlide:0,mouseWheel:!1,rollingLinks:!1,previewLinks:!1,theme:null,transition:"default",transitionSpeed:"default",backgroundTransition:"default",dependencies:[]},It=0,Ot=[],Yt=1,zt={},Ht="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,Xt="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,Wt=0,Ut=0,jt=0,Ft=0,_t=0,Kt=!1,$t={startX:0,startY:0,startSpan:0,startCount:0,handled:!1,threshold:80};return{initialize:e,configure:i,sync:Y,slide:O,left:et,right:tt,up:nt,down:rt,prev:ot,next:at,prevFragment:B,nextFragment:Q,navigateTo:O,navigateLeft:et,navigateRight:tt,navigateUp:nt,navigateDown:rt,navigatePrev:ot,navigateNext:at,layout:k,availableRoutes:j,availableFragments:F,toggleOverview:T,togglePause:R,isOverview:M,isPaused:I,addEventListeners:s,removeEventListeners:c,getIndices:Z,getSlide:function(e,t){var n=document.querySelectorAll(Pt)[e],r=n&&n.querySelectorAll("section");return t!==void 0?r?r[t]:void 0:n},getPreviousSlide:function(){return xt},getCurrentSlide:function(){return Tt},getScale:function(){return Yt},getConfig:function(){return Rt},getQueryHash:function(){var e={};return location.search.replace(/[A-Z0-9]+?=(\w*)/gi,function(t){e[t.split("=").shift()]=t.split("=").pop()}),e},isFirstSlide:function(){return null==document.querySelector(Mt+".past")?!0:!1},isLastSlide:function(){return Tt&&Tt.classList.contains(".stack")?null==Tt.querySelector(Mt+".future")?!0:!1:null==document.querySelector(Mt+".future")?!0:!1},addEventListener:function(e,t,n){"addEventListener"in window&&(zt.wrapper||document.querySelector(".reveal")).addEventListener(e,t,n)},removeEventListener:function(e,t,n){"addEventListener"in window&&(zt.wrapper||document.querySelector(".reveal")).removeEventListener(e,t,n)}}}(); \ No newline at end of file +var Reveal=function(){"use strict";function e(e){return t(),Nt||Pt?(window.addEventListener("load",S,!1),d(Yt,e),o(),a(),void 0):(document.body.setAttribute("class","no-transforms"),void 0)}function t(){Pt="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,Nt="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,Ct=navigator.userAgent.match(/(iphone|ipod|android)/gi)}function n(){if(Wt.theme=document.querySelector("#theme"),Wt.wrapper=document.querySelector(".reveal"),Wt.slides=document.querySelector(".reveal .slides"),document.querySelector(".reveal .backgrounds")||(Wt.background=document.createElement("div"),Wt.background.classList.add("backgrounds"),Wt.wrapper.appendChild(Wt.background)),!Wt.wrapper.querySelector(".progress")){var e=document.createElement("div");e.classList.add("progress"),e.innerHTML="",Wt.wrapper.appendChild(e)}if(!Wt.wrapper.querySelector(".controls")){var t=document.createElement("aside");t.classList.add("controls"),t.innerHTML='',Wt.wrapper.appendChild(t)}if(!Wt.wrapper.querySelector(".state-background")){var n=document.createElement("div");n.classList.add("state-background"),Wt.wrapper.appendChild(n)}if(!Wt.wrapper.querySelector(".pause-overlay")){var r=document.createElement("div");r.classList.add("pause-overlay"),Wt.wrapper.appendChild(r)}Wt.progress=document.querySelector(".reveal .progress"),Wt.progressbar=document.querySelector(".reveal .progress span"),Yt.controls&&(Wt.controls=document.querySelector(".reveal .controls"),Wt.controlsLeft=u(document.querySelectorAll(".navigate-left")),Wt.controlsRight=u(document.querySelectorAll(".navigate-right")),Wt.controlsUp=u(document.querySelectorAll(".navigate-up")),Wt.controlsDown=u(document.querySelectorAll(".navigate-down")),Wt.controlsPrev=u(document.querySelectorAll(".navigate-prev")),Wt.controlsNext=u(document.querySelectorAll(".navigate-next")))}function r(){function e(e,t){var n={background:e.getAttribute("data-background"),backgroundSize:e.getAttribute("data-background-size"),backgroundImage:e.getAttribute("data-background-image"),backgroundColor:e.getAttribute("data-background-color"),backgroundRepeat:e.getAttribute("data-background-repeat"),backgroundPosition:e.getAttribute("data-background-position"),backgroundTransition:e.getAttribute("data-background-transition")},r=document.createElement("div");return r.className="slide-background",n.background&&(/^(http|file|\/\/)/gi.test(n.background)||/\.(png|jpg|jpeg|gif|bmp)$/gi.test(n.background)?r.style.backgroundImage="url("+n.background+")":r.style.background=n.background),n.backgroundSize&&(r.style.backgroundSize=n.backgroundSize),n.backgroundImage&&(r.style.backgroundImage='url("'+n.backgroundImage+'")'),n.backgroundColor&&(r.style.backgroundColor=n.backgroundColor),n.backgroundRepeat&&(r.style.backgroundRepeat=n.backgroundRepeat),n.backgroundPosition&&(r.style.backgroundPosition=n.backgroundPosition),n.backgroundTransition&&r.setAttribute("data-background-transition",n.backgroundTransition),t.appendChild(r),r}p()&&document.body.classList.add("print-pdf"),Wt.background.innerHTML="",Wt.background.classList.add("no-transition"),u(document.querySelectorAll(Rt)).forEach(function(t){var n;n=p()?e(t,t):e(t,Wt.background),u(t.querySelectorAll("section")).forEach(function(t){p()?e(t,t):e(t,n)})})}function o(){/iphone|ipod|android/gi.test(navigator.userAgent)&&!/crios/gi.test(navigator.userAgent)&&(window.addEventListener("load",m,!1),window.addEventListener("orientationchange",m,!1))}function a(){function e(){n.length&&head.js.apply(null,n),i()}for(var t=[],n=[],r=0,o=Yt.dependencies.length;o>r;r++){var a=Yt.dependencies[r];(!a.condition||a.condition())&&(a.async?n.push(a.src):t.push(a.src),"function"==typeof a.callback&&head.ready(a.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],a.callback))}t.length?(head.ready(e),head.js.apply(null,t)):e()}function i(){n(),s(),V(),setTimeout(function(){g("ready",{indexh:qt,indexv:xt,currentSlide:Mt})},1)}function s(e){if(Wt.wrapper.classList.remove(Yt.transition),"object"==typeof e&&d(Yt,e),Pt===!1&&(Yt.transition="linear"),Wt.wrapper.classList.add(Yt.transition),Wt.wrapper.setAttribute("data-transition-speed",Yt.transitionSpeed),Wt.wrapper.setAttribute("data-background-transition",Yt.backgroundTransition),Wt.controls&&(Wt.controls.style.display=Yt.controls&&Wt.controls?"block":"none"),Wt.progress&&(Wt.progress.style.display=Yt.progress&&Wt.progress?"block":"none"),Yt.rtl?Wt.wrapper.classList.add("rtl"):Wt.wrapper.classList.remove("rtl"),Yt.center?Wt.wrapper.classList.add("center"):Wt.wrapper.classList.remove("center"),Yt.mouseWheel?(document.addEventListener("DOMMouseScroll",pt,!1),document.addEventListener("mousewheel",pt,!1)):(document.removeEventListener("DOMMouseScroll",pt,!1),document.removeEventListener("mousewheel",pt,!1)),Yt.rollingLinks?h():y(),Yt.previewLinks?b():(w(),b("[data-preview-link]")),Yt.theme&&Wt.theme){var t=Wt.theme.getAttribute("href"),n=/[^\/]*?(?=\.css)/,r=t.match(n)[0];Yt.theme!==r&&(t=t.replace(n,Yt.theme),Wt.theme.setAttribute("href",t))}z()}function c(){$t=!0,window.addEventListener("hashchange",Et,!1),window.addEventListener("resize",kt,!1),Yt.touch&&(Wt.wrapper.addEventListener("touchstart",ct,!1),Wt.wrapper.addEventListener("touchmove",lt,!1),Wt.wrapper.addEventListener("touchend",dt,!1),window.navigator.msPointerEnabled&&(Wt.wrapper.addEventListener("MSPointerDown",ut,!1),Wt.wrapper.addEventListener("MSPointerMove",ft,!1),Wt.wrapper.addEventListener("MSPointerUp",vt,!1))),Yt.keyboard&&document.addEventListener("keydown",st,!1),Yt.progress&&Wt.progress&&Wt.progress.addEventListener("click",mt,!1),Yt.controls&&Wt.controls&&["touchstart","click"].forEach(function(e){Wt.controlsLeft.forEach(function(t){t.addEventListener(e,gt,!1)}),Wt.controlsRight.forEach(function(t){t.addEventListener(e,ht,!1)}),Wt.controlsUp.forEach(function(t){t.addEventListener(e,yt,!1)}),Wt.controlsDown.forEach(function(t){t.addEventListener(e,bt,!1)}),Wt.controlsPrev.forEach(function(t){t.addEventListener(e,wt,!1)}),Wt.controlsNext.forEach(function(t){t.addEventListener(e,Lt,!1)})})}function l(){$t=!1,document.removeEventListener("keydown",st,!1),window.removeEventListener("hashchange",Et,!1),window.removeEventListener("resize",kt,!1),Wt.wrapper.removeEventListener("touchstart",ct,!1),Wt.wrapper.removeEventListener("touchmove",lt,!1),Wt.wrapper.removeEventListener("touchend",dt,!1),window.navigator.msPointerEnabled&&(Wt.wrapper.removeEventListener("MSPointerDown",ut,!1),Wt.wrapper.removeEventListener("MSPointerMove",ft,!1),Wt.wrapper.removeEventListener("MSPointerUp",vt,!1)),Yt.progress&&Wt.progress&&Wt.progress.removeEventListener("click",mt,!1),Yt.controls&&Wt.controls&&["touchstart","click"].forEach(function(e){Wt.controlsLeft.forEach(function(t){t.removeEventListener(e,gt,!1)}),Wt.controlsRight.forEach(function(t){t.removeEventListener(e,ht,!1)}),Wt.controlsUp.forEach(function(t){t.removeEventListener(e,yt,!1)}),Wt.controlsDown.forEach(function(t){t.removeEventListener(e,bt,!1)}),Wt.controlsPrev.forEach(function(t){t.removeEventListener(e,wt,!1)}),Wt.controlsNext.forEach(function(t){t.removeEventListener(e,Lt,!1)})})}function d(e,t){for(var n in t)e[n]=t[n]}function u(e){return Array.prototype.slice.call(e)}function f(e,t){var n=e.x-t.x,r=e.y-t.y;return Math.sqrt(n*n+r*r)}function v(e){var t=0;if(e){var n=0;u(e.childNodes).forEach(function(e){"number"==typeof e.offsetTop&&e.style&&("absolute"===e.style.position&&(n+=1),t=Math.max(t,e.offsetTop+e.offsetHeight))}),0===n&&(t=e.offsetHeight)}return t}function p(){return/print-pdf/gi.test(window.location.search)}function m(){0===window.orientation?(document.documentElement.style.overflow="scroll",document.body.style.height="120%"):(document.documentElement.style.overflow="",document.body.style.height="100%"),setTimeout(function(){window.scrollTo(0,1)},10)}function g(e,t){var n=document.createEvent("HTMLEvents",1,2);n.initEvent(e,!0,!0),d(n,t),Wt.wrapper.dispatchEvent(n)}function h(){if(Pt&&!("msPerspective"in document.body.style))for(var e=document.querySelectorAll(Dt+" a:not(.image)"),t=0,n=e.length;n>t;t++){var r=e[t];if(!(!r.textContent||r.querySelector("*")||r.className&&r.classList.contains(r,"roll"))){var o=document.createElement("span");o.setAttribute("data-title",r.text),o.innerHTML=r.innerHTML,r.classList.add("roll"),r.innerHTML="",r.appendChild(o)}}}function y(){for(var e=document.querySelectorAll(Dt+" a.roll"),t=0,n=e.length;n>t;t++){var r=e[t],o=r.querySelector("span");o&&(r.classList.remove("roll"),r.innerHTML=o.innerHTML)}}function b(e){var t=u(document.querySelectorAll(e?e:"a"));t.forEach(function(e){/^(http|www)/gi.test(e.getAttribute("href"))&&e.addEventListener("click",At,!1)})}function w(){var e=u(document.querySelectorAll("a"));e.forEach(function(e){/^(http|www)/gi.test(e.getAttribute("href"))&&e.removeEventListener("click",At,!1)})}function L(e){E(),Wt.preview=document.createElement("div"),Wt.preview.classList.add("preview-link-overlay"),Wt.wrapper.appendChild(Wt.preview),Wt.preview.innerHTML=["
",'','',"
",'
','
','',"
"].join(""),Wt.preview.querySelector("iframe").addEventListener("load",function(){Wt.preview.classList.add("loaded")},!1),Wt.preview.querySelector(".close").addEventListener("click",function(e){E(),e.preventDefault()},!1),Wt.preview.querySelector(".external").addEventListener("click",function(){E()},!1),setTimeout(function(){Wt.preview.classList.add("visible")},1)}function E(){Wt.preview&&(Wt.preview.setAttribute("src",""),Wt.preview.parentNode.removeChild(Wt.preview),Wt.preview=null)}function k(e){var t=u(e);return t.forEach(function(e,t){e.hasAttribute("data-fragment-index")||e.setAttribute("data-fragment-index",t)}),t.sort(function(e,t){return e.getAttribute("data-fragment-index")-t.getAttribute("data-fragment-index")}),t}function S(){if(Wt.wrapper&&!p()){var e=Wt.wrapper.offsetWidth,t=Wt.wrapper.offsetHeight;e-=t*Yt.margin,t-=t*Yt.margin;var n=Yt.width,r=Yt.height;if("string"==typeof n&&/%$/.test(n)&&(n=parseInt(n,10)/100*e),"string"==typeof r&&/%$/.test(r)&&(r=parseInt(r,10)/100*t),Wt.slides.style.width=n+"px",Wt.slides.style.height=r+"px",Xt=Math.min(e/n,t/r),Xt=Math.max(Xt,Yt.minScale),Xt=Math.min(Xt,Yt.maxScale),void 0===Wt.slides.style.zoom||navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi)){var o="translate(-50%, -50%) scale("+Xt+") translate(50%, 50%)";Wt.slides.style.WebkitTransform=o,Wt.slides.style.MozTransform=o,Wt.slides.style.msTransform=o,Wt.slides.style.OTransform=o,Wt.slides.style.transform=o}else Wt.slides.style.zoom=Xt;for(var a=u(document.querySelectorAll(Dt)),i=0,s=a.length;s>i;i++){var c=a[i];"none"!==c.style.display&&(c.style.top=Yt.center?c.classList.contains("stack")?0:Math.max(-(v(c)/2)-20,-r/2)+"px":"")}W()}}function A(e,t){"object"==typeof e&&"function"==typeof e.setAttribute&&e.setAttribute("data-previous-indexv",t||0)}function q(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(){if(Yt.overview){et();var e=Wt.wrapper.classList.contains("overview");Wt.wrapper.classList.add("overview"),Wt.wrapper.classList.remove("exit-overview"),clearTimeout(_t),clearTimeout(Kt),_t=setTimeout(function(){for(var t=document.querySelectorAll(Rt),n=0,r=t.length;r>n;n++){var o=t[n],a=Yt.rtl?-105:105,i="translateZ(-2500px) translate("+(n-qt)*a+"%, 0%)";if(o.setAttribute("data-index-h",n),o.style.WebkitTransform=i,o.style.MozTransform=i,o.style.msTransform=i,o.style.OTransform=i,o.style.transform=i,o.classList.contains("stack"))for(var s=o.querySelectorAll("section"),c=0,l=s.length;l>c;c++){var d=n===qt?xt:q(o),u=s[c],f="translate(0%, "+105*(c-d)+"%)";u.setAttribute("data-index-h",n),u.setAttribute("data-index-v",c),u.style.WebkitTransform=f,u.style.MozTransform=f,u.style.msTransform=f,u.style.OTransform=f,u.style.transform=f,u.addEventListener("click",St,!0)}else o.addEventListener("click",St,!0)}X(),S(),e||g("overviewshown",{indexh:qt,indexv:xt,currentSlide:Mt})},10)}}function T(){if(Yt.overview){clearTimeout(_t),clearTimeout(Kt),Wt.wrapper.classList.remove("overview"),Wt.wrapper.classList.add("exit-overview"),Kt=setTimeout(function(){Wt.wrapper.classList.remove("exit-overview")},10);for(var e=u(document.querySelectorAll(Dt)),t=0,n=e.length;n>t;t++){var r=e[t];r.style.display="",r.style.WebkitTransform="",r.style.MozTransform="",r.style.msTransform="",r.style.OTransform="",r.style.transform="",r.removeEventListener("click",St,!0)}Y(qt,xt),J(),g("overviewhidden",{indexh:qt,indexv:xt,currentSlide:Mt})}}function M(e){"boolean"==typeof e?e?x():T():P()?T():x()}function P(){return Wt.wrapper.classList.contains("overview")}function N(e){return e=e?e:Mt,e&&!!e.parentNode.nodeName.match(/section/i)}function C(){var e=document.body,t=e.requestFullScreen||e.webkitRequestFullscreen||e.webkitRequestFullScreen||e.mozRequestFullScreen||e.msRequestFullScreen;t&&t.apply(e)}function D(){var e=Wt.wrapper.classList.contains("paused");et(),Wt.wrapper.classList.add("paused"),e===!1&&g("paused")}function R(){var e=Wt.wrapper.classList.contains("paused");Wt.wrapper.classList.remove("paused"),J(),e&&g("resumed")}function I(){O()?R():D()}function O(){return Wt.wrapper.classList.contains("paused")}function Y(e,t,n,r){Tt=Mt;var o=document.querySelectorAll(Rt);void 0===t&&(t=q(o[e])),Tt&&Tt.parentNode&&Tt.parentNode.classList.contains("stack")&&A(Tt.parentNode,xt);var a=Ht.concat();Ht.length=0;var i=qt,s=xt;qt=H(Rt,void 0===e?qt:e),xt=H(It,void 0===t?xt:t),X(),S();e:for(var c=0,l=Ht.length;l>c;c++){for(var d=0;a.length>d;d++)if(a[d]===Ht[c]){a.splice(d,1);continue e}document.documentElement.classList.add(Ht[c]),g(Ht[c])}for(;a.length;)document.documentElement.classList.remove(a.pop());P()&&x();var f=o[qt],v=f.querySelectorAll("section");if(Mt=v[xt]||f,n!==void 0){var p=k(Mt.querySelectorAll(".fragment"));u(p).forEach(function(e,t){n>t?e.classList.add("visible"):e.classList.remove("visible")})}var m=qt!==i||xt!==s;m?g("slidechanged",{indexh:qt,indexv:xt,previousSlide:Tt,currentSlide:Mt,origin:r}):Tt=null,Tt&&(Tt.classList.remove("present"),document.querySelector(Ot).classList.contains("present")&&setTimeout(function(){var e,t=u(document.querySelectorAll(Rt+".stack"));for(e in t)t[e]&&A(t[e],0)},0)),m&&($(Tt),K(Mt)),U(),W(),j(),Z()}function z(){l(),c(),S(),zt=Yt.autoSlide,J(),r(),U(),W(),j()}function H(e,t){var n=u(document.querySelectorAll(e)),r=n.length;if(r){Yt.loop&&(t%=r,0>t&&(t=r+t)),t=Math.max(Math.min(t,r-1),0);for(var o=0;r>o;o++){var a=n[o],i=Yt.rtl&&!N(a);if(a.classList.remove("past"),a.classList.remove("present"),a.classList.remove("future"),a.setAttribute("hidden",""),t>o)a.classList.add(i?"future":"past");else if(o>t){a.classList.add(i?"past":"future");for(var s=u(a.querySelectorAll(".fragment.visible"));s.length;)s.pop().classList.remove("visible")}a.querySelector("section")&&a.classList.add("stack")}n[t].classList.add("present"),n[t].removeAttribute("hidden");var c=n[t].getAttribute("data-state");c&&(Ht=Ht.concat(c.split(" ")));var l=n[t].getAttribute("data-autoslide");zt=l?parseInt(l,10):Yt.autoSlide,J()}else t=0;return t}function X(){var e,t=u(document.querySelectorAll(Rt)),n=t.length;if(n){var r=3;Ct&&(r=1),P()&&(r=6);for(var o=0;n>o;o++){var a=t[o],i=u(a.querySelectorAll("section")),s=i.length;if(s){a.style.display="block";for(var c=0;s>c;c++){var l=i[c],d=o-qt,f=c-xt;e=Math.sqrt(d*d+f*f),l.style.display=e>r?"none":"block"}}else e=Math.abs((qt-o)%(n-r))||0,a.style.display=e>r?"none":"block"}}}function W(){if(Yt.progress&&Wt.progress){var e=u(document.querySelectorAll(Rt)),t=document.querySelectorAll(Dt+":not(.stack)").length,n=0;e:for(var r=0;e.length>r;r++){for(var o=e[r],a=u(o.querySelectorAll("section")),i=0;a.length>i;i++){if(a[i].classList.contains("present"))break e;n++}if(o.classList.contains("present"))break;o.classList.contains("stack")===!1&&n++}Wt.progressbar.style.width=n/(t-1)*window.innerWidth+"px"}}function U(){if(Yt.controls&&Wt.controls){var e=F(),t=_();Wt.controlsLeft.concat(Wt.controlsRight).concat(Wt.controlsUp).concat(Wt.controlsDown).concat(Wt.controlsPrev).concat(Wt.controlsNext).forEach(function(e){e.classList.remove("enabled"),e.classList.remove("fragmented")}),e.left&&Wt.controlsLeft.forEach(function(e){e.classList.add("enabled")}),e.right&&Wt.controlsRight.forEach(function(e){e.classList.add("enabled")}),e.up&&Wt.controlsUp.forEach(function(e){e.classList.add("enabled")}),e.down&&Wt.controlsDown.forEach(function(e){e.classList.add("enabled")}),(e.left||e.up)&&Wt.controlsPrev.forEach(function(e){e.classList.add("enabled")}),(e.right||e.down)&&Wt.controlsNext.forEach(function(e){e.classList.add("enabled")}),Mt&&(t.prev&&Wt.controlsPrev.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&Wt.controlsNext.forEach(function(e){e.classList.add("fragmented","enabled")}),N(Mt)?(t.prev&&Wt.controlsUp.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&Wt.controlsDown.forEach(function(e){e.classList.add("fragmented","enabled")})):(t.prev&&Wt.controlsLeft.forEach(function(e){e.classList.add("fragmented","enabled")}),t.next&&Wt.controlsRight.forEach(function(e){e.classList.add("fragmented","enabled")})))}}function j(){u(Wt.background.childNodes).forEach(function(e,t){var n=Yt.rtl?"future":"past",r=Yt.rtl?"past":"future";e.className="slide-background "+(qt>t?n:t>qt?r:"present"),u(e.childNodes).forEach(function(e,t){e.className="slide-background "+(xt>t?"past":t>xt?"future":"present")})}),setTimeout(function(){Wt.background.classList.remove("no-transition")},1)}function F(){var e=document.querySelectorAll(Rt),t=document.querySelectorAll(It),n={left:qt>0||Yt.loop,right:e.length-1>qt||Yt.loop,up:xt>0,down:t.length-1>xt};if(Yt.rtl){var r=n.left;n.left=n.right,n.right=r}return n}function _(){if(Mt&&Yt.fragments){var e=Mt.querySelectorAll(".fragment"),t=Mt.querySelectorAll(".fragment:not(.visible)");return{prev:e.length-t.length>0,next:!!t.length}}return{prev:!1,next:!1}}function K(e){e&&(u(e.querySelectorAll("video, audio")).forEach(function(e){e.hasAttribute("data-autoplay")&&e.play()}),u(e.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(e){e.hasAttribute("data-autoplay")&&e.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}))}function $(e){e&&(u(e.querySelectorAll("video, audio")).forEach(function(e){e.hasAttribute("data-ignore")||e.pause()}),u(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":""}',"*")}))}function V(){var e=window.location.hash,t=e.slice(2).split("/"),n=e.replace(/#|\//gi,"");if(isNaN(parseInt(t[0],10))&&n.length){var r=document.querySelector("#"+n);if(r){var o=Reveal.getIndices(r);Y(o.h,o.v)}else Y(qt,xt)}else{var a=parseInt(t[0],10)||0,i=parseInt(t[1],10)||0;(a!==qt||i!==xt)&&Y(a,i)}}function Z(e){if(Yt.history)if(clearTimeout(Ft),"number"==typeof e)Ft=setTimeout(Z,e);else{var t="/";Mt&&"string"==typeof Mt.getAttribute("id")?t="/"+Mt.getAttribute("id"):((qt>0||xt>0)&&(t+=qt),xt>0&&(t+="/"+xt)),window.location.hash=t}}function Q(e){var t,n=qt,r=xt;if(e){var o=N(e),a=o?e.parentNode:e,i=u(document.querySelectorAll(Rt));n=Math.max(i.indexOf(a),0),o&&(r=Math.max(u(e.parentNode.querySelectorAll("section")).indexOf(e),0))}if(!e&&Mt){var s=Mt.querySelectorAll(".fragment").length>0;if(s){var c=Mt.querySelectorAll(".fragment.visible");t=c.length}}return{h:n,v:r,f:t}}function B(){if(Mt&&Yt.fragments){var e=k(Mt.querySelectorAll(".fragment:not(.visible)"));if(e.length){var t=e[0].getAttribute("data-fragment-index");return e=Mt.querySelectorAll('.fragment[data-fragment-index="'+t+'"]'),u(e).forEach(function(e){e.classList.add("visible")}),g("fragmentshown",{fragment:e[0],fragments:e}),U(),!0}}return!1}function G(){if(Mt&&Yt.fragments){var e=k(Mt.querySelectorAll(".fragment.visible"));if(e.length){var t=e[e.length-1].getAttribute("data-fragment-index");return e=Mt.querySelectorAll('.fragment[data-fragment-index="'+t+'"]'),u(e).forEach(function(e){e.classList.remove("visible")}),g("fragmenthidden",{fragment:e[0],fragments:e}),U(),!0}}return!1}function J(){clearTimeout(jt),!zt||O()||P()||(jt=setTimeout(it,zt))}function et(){clearTimeout(jt)}function tt(){Yt.rtl?(P()||B()===!1)&&F().left&&Y(qt+1):(P()||G()===!1)&&F().left&&Y(qt-1)}function nt(){Yt.rtl?(P()||G()===!1)&&F().right&&Y(qt-1):(P()||B()===!1)&&F().right&&Y(qt+1)}function rt(){(P()||G()===!1)&&F().up&&Y(qt,xt-1)}function ot(){(P()||B()===!1)&&F().down&&Y(qt,xt+1)}function at(){if(G()===!1)if(F().up)rt();else{var e=document.querySelector(Rt+".past:nth-child("+qt+")");if(e){var t=e.querySelectorAll("section").length-1||void 0,n=qt-1;Y(n,t)}}}function it(){B()===!1&&(F().down?ot():nt()),J()}function st(e){document.activeElement;var t=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&"inherit"===document.activeElement.contentEditable);if(!(t||e.shiftKey&&32!==e.keyCode||e.altKey||e.ctrlKey||e.metaKey)){if(O()&&-1===[66,190,191].indexOf(e.keyCode))return!1;var n=!1;if("object"==typeof Yt.keyboard)for(var r in Yt.keyboard)if(parseInt(r,10)===e.keyCode){var o=Yt.keyboard[r];"function"==typeof o?o.apply(null,[e]):"string"==typeof o&&"function"==typeof Reveal[o]&&Reveal[o].call(),n=!0}if(n===!1)switch(n=!0,e.keyCode){case 80:case 33:at();break;case 78:case 34:it();break;case 72:case 37:tt();break;case 76:case 39:nt();break;case 75:case 38:rt();break;case 74:case 40:ot();break;case 36:Y(0);break;case 35:Y(Number.MAX_VALUE);break;case 32:P()?T():e.shiftKey?at():it();break;case 13:P()?T():n=!1;break;case 66:case 190:case 191:I();break;case 70:C();break;default:n=!1}n?e.preventDefault():27!==e.keyCode&&79!==e.keyCode||!Pt||(M(),e.preventDefault()),J()}}function ct(e){Vt.startX=e.touches[0].clientX,Vt.startY=e.touches[0].clientY,Vt.startCount=e.touches.length,2===e.touches.length&&Yt.overview&&(Vt.startSpan=f({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:Vt.startX,y:Vt.startY}))}function lt(e){if(Vt.handled)navigator.userAgent.match(/android/gi)&&e.preventDefault();else{var t=e.touches[0].clientX,n=e.touches[0].clientY;if(2===e.touches.length&&2===Vt.startCount&&Yt.overview){var r=f({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:Vt.startX,y:Vt.startY});Math.abs(Vt.startSpan-r)>Vt.threshold&&(Vt.handled=!0,Vt.startSpan>r?x():T()),e.preventDefault()}else if(1===e.touches.length&&2!==Vt.startCount){var o=t-Vt.startX,a=n-Vt.startY;o>Vt.threshold&&Math.abs(o)>Math.abs(a)?(Vt.handled=!0,tt()):-Vt.threshold>o&&Math.abs(o)>Math.abs(a)?(Vt.handled=!0,nt()):a>Vt.threshold?(Vt.handled=!0,rt()):-Vt.threshold>a&&(Vt.handled=!0,ot()),e.preventDefault()}}}function dt(){Vt.handled=!1}function ut(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],ct(e))}function ft(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],lt(e))}function vt(e){e.pointerType===e.MSPOINTER_TYPE_TOUCH&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],dt(e))}function pt(e){if(Date.now()-Ut>600){Ut=Date.now();var t=e.detail||-e.wheelDelta;t>0?it():at()}}function mt(e){e.preventDefault();var t=u(document.querySelectorAll(Rt)).length,n=Math.floor(e.clientX/Wt.wrapper.offsetWidth*t);Y(n)}function gt(e){e.preventDefault(),tt()}function ht(e){e.preventDefault(),nt()}function yt(e){e.preventDefault(),rt()}function bt(e){e.preventDefault(),ot()}function wt(e){e.preventDefault(),at()}function Lt(e){e.preventDefault(),it()}function Et(){V()}function kt(){S()}function St(e){if($t&&P()){e.preventDefault();for(var t=e.target;t&&!t.nodeName.match(/section/gi);)t=t.parentNode;if(t&&!t.classList.contains("disabled")&&(T(),t.nodeName.match(/section/gi))){var n=parseInt(t.getAttribute("data-index-h"),10),r=parseInt(t.getAttribute("data-index-v"),10);Y(n,r)}}}function At(e){var t=e.target.getAttribute("href");t&&(L(t),e.preventDefault())}var qt,xt,Tt,Mt,Pt,Nt,Ct,Dt=".reveal .slides section",Rt=".reveal .slides>section",It=".reveal .slides>section.present>section",Ot=".reveal .slides>section:first-child",Yt={width:960,height:700,margin:.1,minScale:.2,maxScale:1,controls:!0,progress:!0,history:!1,keyboard:!0,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,fragments:!0,autoSlide:0,mouseWheel:!1,rollingLinks:!1,previewLinks:!1,theme:null,transition:"default",transitionSpeed:"default",backgroundTransition:"default",dependencies:[]},zt=0,Ht=[],Xt=1,Wt={},Ut=0,jt=0,Ft=0,_t=0,Kt=0,$t=!1,Vt={startX:0,startY:0,startSpan:0,startCount:0,handled:!1,threshold:80};return{initialize:e,configure:s,sync:z,slide:Y,left:tt,right:nt,up:rt,down:ot,prev:at,next:it,prevFragment:G,nextFragment:B,navigateTo:Y,navigateLeft:tt,navigateRight:nt,navigateUp:rt,navigateDown:ot,navigatePrev:at,navigateNext:it,layout:S,availableRoutes:F,availableFragments:_,toggleOverview:M,togglePause:I,isOverview:P,isPaused:O,addEventListeners:c,removeEventListeners:l,getIndices:Q,getSlide:function(e,t){var n=document.querySelectorAll(Rt)[e],r=n&&n.querySelectorAll("section");return t!==void 0?r?r[t]:void 0:n},getPreviousSlide:function(){return Tt},getCurrentSlide:function(){return Mt},getScale:function(){return Xt},getConfig:function(){return Yt},getQueryHash:function(){var e={};return location.search.replace(/[A-Z0-9]+?=(\w*)/gi,function(t){e[t.split("=").shift()]=t.split("=").pop()}),e},isFirstSlide:function(){return null==document.querySelector(Dt+".past")?!0:!1},isLastSlide:function(){return Mt&&Mt.classList.contains(".stack")?null==Mt.querySelector(Dt+".future")?!0:!1:null==document.querySelector(Dt+".future")?!0:!1},addEventListener:function(e,t,n){"addEventListener"in window&&(Wt.wrapper||document.querySelector(".reveal")).addEventListener(e,t,n)},removeEventListener:function(e,t,n){"addEventListener"in window&&(Wt.wrapper||document.querySelector(".reveal")).removeEventListener(e,t,n)}}}(); \ No newline at end of file