From 25d5bd4322d59d488a7993bcd570fb2794ebb7c9 Mon Sep 17 00:00:00 2001 From: Bruno 21 Date: Mon, 16 Nov 2020 21:22:51 +0100 Subject: [PATCH] Initial commit --- .gitignore | 1 + LICENSE | 21 + README.md | 44 + docs/albums.png | Bin 0 -> 78226 bytes docs/media.png | Bin 0 -> 84397 bytes package.json | 21 + theme/.DS_Store | Bin 0 -> 6148 bytes theme/album.hbs | 97 + theme/helpers/.gitkeep | 0 theme/helpers/aspect.js | 6 + theme/helpers/multiply.js | 6 + theme/helpers/remove_extension.js | 9 + theme/partials/content.hbs | 105 + theme/partials/thumbnail.hbs | 61 + theme/public/.DS_Store | Bin 0 -> 6148 bytes theme/public/.gitkeep | 0 theme/public/jquery.min.js | 4 + .../jquery.justifiedGallery.min.js | 8 + .../justifiedgallery/justifiedGallery.min.css | 102 + theme/public/lightgallery/.DS_Store | Bin 0 -> 6148 bytes theme/public/lightgallery/css/lg-exif.min.css | 1 + .../lightgallery/css/lg-fb-comment-box.css | 34 + .../css/lg-fb-comment-box.min.css | 1 + .../lightgallery/css/lg-transitions.css | 779 +++++ .../lightgallery/css/lg-transitions.min.css | 1 + .../public/lightgallery/css/lightgallery.css | 834 +++++ .../lightgallery/css/lightgallery.min.css | 1 + theme/public/lightgallery/fonts/lg.eot | Bin 0 -> 2760 bytes theme/public/lightgallery/fonts/lg.svg | 41 + theme/public/lightgallery/fonts/lg.ttf | Bin 0 -> 2616 bytes theme/public/lightgallery/fonts/lg.woff | Bin 0 -> 2692 bytes theme/public/lightgallery/img/loading.gif | Bin 0 -> 4178 bytes theme/public/lightgallery/img/video-play.png | Bin 0 -> 4526 bytes theme/public/lightgallery/img/vimeo-play.png | Bin 0 -> 5428 bytes .../public/lightgallery/img/youtube-play.png | Bin 0 -> 5177 bytes theme/public/lightgallery/js/lg-autoplay.js | 191 ++ .../public/lightgallery/js/lg-autoplay.min.js | 4 + theme/public/lightgallery/js/lg-exif.min.js | 3 + theme/public/lightgallery/js/lg-fullscreen.js | 97 + .../lightgallery/js/lg-fullscreen.min.js | 4 + theme/public/lightgallery/js/lg-hash.js | 67 + theme/public/lightgallery/js/lg-hash.min.js | 4 + theme/public/lightgallery/js/lg-pager.js | 85 + theme/public/lightgallery/js/lg-pager.min.js | 4 + theme/public/lightgallery/js/lg-thumbnail.js | 454 +++ .../lightgallery/js/lg-thumbnail.min.js | 4 + theme/public/lightgallery/js/lg-video.js | 277 ++ theme/public/lightgallery/js/lg-video.min.js | 4 + theme/public/lightgallery/js/lg-zoom.js | 449 +++ theme/public/lightgallery/js/lg-zoom.min.js | 4 + .../lightgallery/js/lightgallery-all.js | 2907 +++++++++++++++++ .../lightgallery/js/lightgallery-all.min.js | 5 + theme/public/lightgallery/js/lightgallery.js | 1301 ++++++++ .../lightgallery/js/lightgallery.min.js | 4 + theme/public/lightslider/.DS_Store | Bin 0 -> 6148 bytes .../lightslider/css/lightslider.min.css | 3 + theme/public/lightslider/img/controls.png | Bin 0 -> 2241 bytes .../public/lightslider/js/lightslider.min.js | 4 + theme/public/play.png | Bin 0 -> 1754 bytes theme/public/videojs/font/VideoJS.eot | Bin 0 -> 5900 bytes theme/public/videojs/font/VideoJS.svg | 102 + theme/public/videojs/font/VideoJS.ttf | Bin 0 -> 5736 bytes theme/public/videojs/font/VideoJS.woff | Bin 0 -> 3704 bytes theme/public/videojs/video-js.min.css | 1 + theme/public/videojs/video.min.js | 6 + theme/theme.less | 232 ++ 66 files changed, 8393 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100755 docs/albums.png create mode 100755 docs/media.png create mode 100644 package.json create mode 100644 theme/.DS_Store create mode 100644 theme/album.hbs create mode 100644 theme/helpers/.gitkeep create mode 100644 theme/helpers/aspect.js create mode 100644 theme/helpers/multiply.js create mode 100644 theme/helpers/remove_extension.js create mode 100644 theme/partials/content.hbs create mode 100644 theme/partials/thumbnail.hbs create mode 100644 theme/public/.DS_Store create mode 100644 theme/public/.gitkeep create mode 100644 theme/public/jquery.min.js create mode 100644 theme/public/justifiedgallery/jquery.justifiedGallery.min.js create mode 100644 theme/public/justifiedgallery/justifiedGallery.min.css create mode 100644 theme/public/lightgallery/.DS_Store create mode 100644 theme/public/lightgallery/css/lg-exif.min.css create mode 100644 theme/public/lightgallery/css/lg-fb-comment-box.css create mode 100644 theme/public/lightgallery/css/lg-fb-comment-box.min.css create mode 100644 theme/public/lightgallery/css/lg-transitions.css create mode 100644 theme/public/lightgallery/css/lg-transitions.min.css create mode 100644 theme/public/lightgallery/css/lightgallery.css create mode 100644 theme/public/lightgallery/css/lightgallery.min.css create mode 100644 theme/public/lightgallery/fonts/lg.eot create mode 100644 theme/public/lightgallery/fonts/lg.svg create mode 100644 theme/public/lightgallery/fonts/lg.ttf create mode 100644 theme/public/lightgallery/fonts/lg.woff create mode 100644 theme/public/lightgallery/img/loading.gif create mode 100644 theme/public/lightgallery/img/video-play.png create mode 100644 theme/public/lightgallery/img/vimeo-play.png create mode 100644 theme/public/lightgallery/img/youtube-play.png create mode 100644 theme/public/lightgallery/js/lg-autoplay.js create mode 100644 theme/public/lightgallery/js/lg-autoplay.min.js create mode 100644 theme/public/lightgallery/js/lg-exif.min.js create mode 100644 theme/public/lightgallery/js/lg-fullscreen.js create mode 100644 theme/public/lightgallery/js/lg-fullscreen.min.js create mode 100644 theme/public/lightgallery/js/lg-hash.js create mode 100644 theme/public/lightgallery/js/lg-hash.min.js create mode 100644 theme/public/lightgallery/js/lg-pager.js create mode 100644 theme/public/lightgallery/js/lg-pager.min.js create mode 100644 theme/public/lightgallery/js/lg-thumbnail.js create mode 100644 theme/public/lightgallery/js/lg-thumbnail.min.js create mode 100644 theme/public/lightgallery/js/lg-video.js create mode 100644 theme/public/lightgallery/js/lg-video.min.js create mode 100644 theme/public/lightgallery/js/lg-zoom.js create mode 100644 theme/public/lightgallery/js/lg-zoom.min.js create mode 100644 theme/public/lightgallery/js/lightgallery-all.js create mode 100644 theme/public/lightgallery/js/lightgallery-all.min.js create mode 100644 theme/public/lightgallery/js/lightgallery.js create mode 100644 theme/public/lightgallery/js/lightgallery.min.js create mode 100644 theme/public/lightslider/.DS_Store create mode 100644 theme/public/lightslider/css/lightslider.min.css create mode 100644 theme/public/lightslider/img/controls.png create mode 100644 theme/public/lightslider/js/lightslider.min.js create mode 100644 theme/public/play.png create mode 100644 theme/public/videojs/font/VideoJS.eot create mode 100644 theme/public/videojs/font/VideoJS.svg create mode 100644 theme/public/videojs/font/VideoJS.ttf create mode 100644 theme/public/videojs/font/VideoJS.woff create mode 100644 theme/public/videojs/video-js.min.css create mode 100644 theme/public/videojs/video.min.js create mode 100755 theme/theme.less diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a9a5aec --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +tmp diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2583a01 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 thumbsup + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..44a1f66 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# @thumbsup/theme-flow + +[![NPM](https://img.shields.io/npm/v/@thumbsup/theme-flow.svg?style=flat)](https://www.npmjs.com/package/@thumbsup/theme-flow) +[![Travis CI](https://travis-ci.org/thumbsup/theme-flow.svg?branch=master)](https://travis-ci.org/thumbsup/theme-flow) + +One of the built-in themes for https://github.com/thumbsup/thumbsup. + +--- + +## Usage + +```bash +thumbsup --theme flow +``` + +## Theme options + +- The `featuredAlbum` option will show the album with the specified name (if it exists) +as a slider at the top of the gallery homepage instead of listing it as a normal album. +This album must be top-level, and any sub-albums will be ignored. +The height of this slider defaults to 400px, but can be overridden +by setting the `@slider-height` LESS variable. +- The `sliderInterval` option is an integer representing the number of +milliseconds to wait between slides. The default is 1000 (1 second). +- The `hideExtension` option will display media filenames without the file extension. + +## Screenshots + +![albums](docs/albums.png) +![media](docs/media.png) + +## Developing + +Testing the theme + +```bash +thumbsup --input /photos --output ./tmp --theme-path ./theme +``` + +Publishing the theme: + +```bash +npm publish --access=public +``` diff --git a/docs/albums.png b/docs/albums.png new file mode 100755 index 0000000000000000000000000000000000000000..87f3a80b4702bdcf8cacdcf4da3a59b2a6b133de GIT binary patch literal 78226 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ℜCgXptieJ1jsgFrE}8byUzf<9@)-6%6}~`jva$ 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�h!)HcCkKhwj;1`mE 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 + + + + + + {{gallery.title}} - {{album.title}} + + + + + + + + + + + {{> content}} + {{> video-loader}} + + + + + + + + + + + + + + + + + + {{#if album.home}} + + {{/if}} + + {{> analytics}} + + + + diff --git a/theme/helpers/.gitkeep b/theme/helpers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/theme/helpers/aspect.js b/theme/helpers/aspect.js new file mode 100644 index 0000000..86cc7eb --- /dev/null +++ b/theme/helpers/aspect.js @@ -0,0 +1,6 @@ +module.exports = (width, height) => { + if (width <0 || !width || height < 0 || !height) { + return null; + } + return width/height; +}; diff --git a/theme/helpers/multiply.js b/theme/helpers/multiply.js new file mode 100644 index 0000000..fffe359 --- /dev/null +++ b/theme/helpers/multiply.js @@ -0,0 +1,6 @@ +module.exports = (a, b) => { + if (isNaN(a) || isNaN(b)) { + return null; + } + return a * b; +}; \ No newline at end of file diff --git a/theme/helpers/remove_extension.js b/theme/helpers/remove_extension.js new file mode 100644 index 0000000..cf16c9e --- /dev/null +++ b/theme/helpers/remove_extension.js @@ -0,0 +1,9 @@ +module.exports = (filename) => { + let dot = filename.lastIndexOf("."); + + if (dot < 0) { + return filename; + } + + return filename.substring(0, dot); +}; diff --git a/theme/partials/content.hbs b/theme/partials/content.hbs new file mode 100644 index 0000000..a0a92bf --- /dev/null +++ b/theme/partials/content.hbs @@ -0,0 +1,105 @@ + + diff --git a/theme/partials/thumbnail.hbs b/theme/partials/thumbnail.hbs new file mode 100644 index 0000000..bdcbc2d --- /dev/null +++ b/theme/partials/thumbnail.hbs @@ -0,0 +1,61 @@ +{{!-- + Image/Video thumbnails +--}} + +
+ + {{~#if isVideo~}} + + {{~else~}} + + {{~/if~}} + {{remove_extension filename}} + + + {{#compare meta.animated "||" isVideo}} +
+ +
+ {{/compare}} +
\ No newline at end of file diff --git a/theme/public/.DS_Store b/theme/public/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ed80d96385060334529405e2576f0c7c8e89b651 GIT binary patch literal 6148 zcmeHK%TB{E5S)cdR4RuYIr5 zwnwV%1z_uaa}87gmTW?kG9xn24xPF4f@nEMizl?$qQPz^(Qh6(7y;*gf=prwv@v*m8T%bl+jdiA-R1%Krzu{kI zw#c7`#8)s74E!?&Y_YlBthp(_Tfc2jcWq+3W0S~lltQ6Cc?9r7=g3taEaOQ!{c6Xt Upt8uG!-??_$b>`}4Ez8CpBMElh5!Hn literal 0 HcmV?d00001 diff --git a/theme/public/.gitkeep b/theme/public/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/theme/public/jquery.min.js b/theme/public/jquery.min.js new file mode 100644 index 0000000..e6a051d --- /dev/null +++ b/theme/public/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; +return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:k.htmlSerialize?[0,"",""]:[1,"X
","
"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("'; + + } else if (isVideo.vimeo) { + + a = '?autoplay=' + autoplay + '&api=1'; + if (this.core.s.vimeoPlayerParams) { + a = a + '&' + $.param(this.core.s.vimeoPlayerParams); + } + + video = ''; + + } else if (isVideo.dailymotion) { + + a = '?wmode=opaque&autoplay=' + autoplay + '&api=postMessage'; + if (this.core.s.dailymotionPlayerParams) { + a = a + '&' + $.param(this.core.s.dailymotionPlayerParams); + } + + video = ''; + + } else if (isVideo.html5) { + var fL = html.substring(0, 1); + if (fL === '.' || fL === '#') { + html = $(html).html(); + } + + video = html; + } + + return video; + }; + + Video.prototype.destroy = function() { + this.videoLoaded = false; + }; + + $.fn.lightGallery.modules.video = Video; + +})(jQuery, window, document); diff --git a/theme/public/lightgallery/js/lg-video.min.js b/theme/public/lightgallery/js/lg-video.min.js new file mode 100644 index 0000000..ebc2272 --- /dev/null +++ b/theme/public/lightgallery/js/lg-video.min.js @@ -0,0 +1,4 @@ +/*! lightgallery - v1.2.14 - 2016-01-18 +* http://sachinchoolur.github.io/lightGallery/ +* Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */ +!function(a,b,c,d){"use strict";var e={videoMaxWidth:"855px",youtubePlayerParams:!1,vimeoPlayerParams:!1,dailymotionPlayerParams:!1,videojs:!1},f=function(b){return this.core=a(b).data("lightGallery"),this.$el=a(b),this.core.s=a.extend({},e,this.core.s),this.videoLoaded=!1,this.init(),this};f.prototype.init=function(){var b=this;b.core.$el.on("hasVideo.lg.tm",function(a,c,d,e){if(b.core.$slide.eq(c).find(".lg-video").append(b.loadVideo(d,"lg-object",!0,c,e)),e)if(b.core.s.videojs)try{videojs(b.core.$slide.eq(c).find(".lg-html5").get(0),{},function(){b.videoLoaded||this.play()})}catch(f){console.error("Make sure you have included videojs")}else b.core.$slide.eq(c).find(".lg-html5").get(0).play()}),b.core.$el.on("onAferAppendSlide.lg.tm",function(a,c){b.core.$slide.eq(c).find(".lg-video-cont").css("max-width",b.core.s.videoMaxWidth),b.videoLoaded=!0});var c=function(a){if(a.find(".lg-object").hasClass("lg-has-poster")&&a.find(".lg-object").is(":visible"))if(a.hasClass("lg-has-video")){var c=a.find(".lg-youtube").get(0),d=a.find(".lg-vimeo").get(0),e=a.find(".lg-dailymotion").get(0),f=a.find(".lg-html5").get(0);if(c)c.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*");else if(d)try{$f(d).api("play")}catch(g){console.error("Make sure you have included froogaloop2 js")}else if(e)e.contentWindow.postMessage("play","*");else if(f)if(b.core.s.videojs)try{videojs(f).play()}catch(g){console.error("Make sure you have included videojs")}else f.play();a.addClass("lg-video-palying")}else{a.addClass("lg-video-palying lg-has-video");var h,i,j=function(c,d){if(a.find(".lg-video").append(b.loadVideo(c,"",!1,b.core.index,d)),d)if(b.core.s.videojs)try{videojs(b.core.$slide.eq(b.core.index).find(".lg-html5").get(0),{},function(){this.play()})}catch(e){console.error("Make sure you have included videojs")}else b.core.$slide.eq(b.core.index).find(".lg-html5").get(0).play()};b.core.s.dynamic?(h=b.core.s.dynamicEl[b.core.index].src,i=b.core.s.dynamicEl[b.core.index].html,j(h,i)):(h=b.core.$items.eq(b.core.index).attr("href")||b.core.$items.eq(b.core.index).attr("data-src"),i=b.core.$items.eq(b.core.index).attr("data-html"),j(h,i));var k=a.find(".lg-object");a.find(".lg-video").append(k),a.find(".lg-video-object").hasClass("lg-html5")||(a.removeClass("lg-complete"),a.find(".lg-video-object").on("load.lg error.lg",function(){a.addClass("lg-complete")}))}};b.core.doCss()&&b.core.$items.length>1&&(b.core.s.enableSwipe&&b.core.isTouch||b.core.s.enableDrag&&!b.core.isTouch)?b.core.$el.on("onSlideClick.lg.tm",function(){var a=b.core.$slide.eq(b.core.index);c(a)}):b.core.$slide.on("click.lg",function(){c(a(this))}),b.core.$el.on("onBeforeSlide.lg.tm",function(a,c,d){var e=b.core.$slide.eq(c),f=e.find(".lg-youtube").get(0),g=e.find(".lg-vimeo").get(0),h=e.find(".lg-dailymotion").get(0),i=e.find(".lg-html5").get(0);if(f)f.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*");else if(g)try{$f(g).api("pause")}catch(j){console.error("Make sure you have included froogaloop2 js")}else if(h)h.contentWindow.postMessage("pause","*");else if(i)if(b.core.s.videojs)try{videojs(i).pause()}catch(j){console.error("Make sure you have included videojs")}else i.pause();var k;k=b.core.s.dynamic?b.core.s.dynamicEl[d].src:b.core.$items.eq(d).attr("href")||b.core.$items.eq(d).attr("data-src");var l=b.core.isVideo(k,d)||{};(l.youtube||l.vimeo||l.dailymotion)&&b.core.$outer.addClass("lg-hide-download")}),b.core.$el.on("onAfterSlide.lg.tm",function(a,c){b.core.$slide.eq(c).removeClass("lg-video-palying")})},f.prototype.loadVideo=function(b,c,d,e,f){var g="",h=1,i="",j=this.core.isVideo(b,e)||{};if(d&&(h=this.videoLoaded?0:1),j.youtube)i="?wmode=opaque&autoplay="+h+"&enablejsapi=1",this.core.s.youtubePlayerParams&&(i=i+"&"+a.param(this.core.s.youtubePlayerParams)),g='';else if(j.vimeo)i="?autoplay="+h+"&api=1",this.core.s.vimeoPlayerParams&&(i=i+"&"+a.param(this.core.s.vimeoPlayerParams)),g='';else if(j.dailymotion)i="?wmode=opaque&autoplay="+h+"&api=postMessage",this.core.s.dailymotionPlayerParams&&(i=i+"&"+a.param(this.core.s.dailymotionPlayerParams)),g='';else if(j.html5){var k=f.substring(0,1);("."===k||"#"===k)&&(f=a(f).html()),g=f}return g},f.prototype.destroy=function(){this.videoLoaded=!1},a.fn.lightGallery.modules.video=f}(jQuery,window,document); \ No newline at end of file diff --git a/theme/public/lightgallery/js/lg-zoom.js b/theme/public/lightgallery/js/lg-zoom.js new file mode 100644 index 0000000..d37c7b4 --- /dev/null +++ b/theme/public/lightgallery/js/lg-zoom.js @@ -0,0 +1,449 @@ +/*! lightgallery - v1.2.14 - 2016-01-18 +* http://sachinchoolur.github.io/lightGallery/ +* Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */ +(function($, window, document, undefined) { + + 'use strict'; + + var defaults = { + scale: 1, + zoom: true, + enableZoomAfter: 300 + }; + + var Zoom = function(element) { + + this.core = $(element).data('lightGallery'); + + this.core.s = $.extend({}, defaults, this.core.s); + + if (this.core.s.zoom && this.core.doCss()) { + this.init(); + + // Store the zoomable timeout value just to clear it while closing + this.zoomabletimeout = false; + + // Set the initial value center + this.pageX = $(window).width() / 2; + this.pageY = ($(window).height() / 2) + $(window).scrollTop(); + } + + return this; + }; + + Zoom.prototype.init = function() { + + var _this = this; + var zoomIcons = ''; + + this.core.$outer.find('.lg-toolbar').append(zoomIcons); + + // Add zoomable class + _this.core.$el.on('onSlideItemLoad.lg.tm.zoom', function(event, index, delay) { + + // delay will be 0 except first time + var _speed = _this.core.s.enableZoomAfter + delay; + + // set _speed value 0 if gallery opened from direct url and if it is first slide + if ($('body').hasClass('lg-from-hash') && delay) { + + // will execute only once + _speed = 0; + } else { + + // Remove lg-from-hash to enable starting animation. + $('body').removeClass('lg-from-hash'); + } + + _this.zoomabletimeout = setTimeout(function() { + _this.core.$slide.eq(index).addClass('lg-zoomable'); + }, _speed + 30); + }); + + var scale = 1; + /** + * @desc Image zoom + * Translate the wrap and scale the image to get better user experience + * + * @param {String} scaleVal - Zoom decrement/increment value + */ + var zoom = function(scaleVal) { + + var $image = _this.core.$outer.find('.lg-current .lg-image'); + var _x; + var _y; + + // Find offset manually to avoid issue after zoom + var offsetX = ($(window).width() - $image.width()) / 2; + var offsetY = (($(window).height() - $image.height()) / 2) + $(window).scrollTop(); + + _x = _this.pageX - offsetX; + _y = _this.pageY - offsetY; + + var x = (scaleVal - 1) * (_x); + var y = (scaleVal - 1) * (_y); + + $image.css('transform', 'scale3d(' + scaleVal + ', ' + scaleVal + ', 1)').attr('data-scale', scaleVal); + + $image.parent().css('transform', 'translate3d(-' + x + 'px, -' + y + 'px, 0)').attr('data-x', x).attr('data-y', y); + }; + + var callScale = function() { + if (scale > 1) { + _this.core.$outer.addClass('lg-zoomed'); + } else { + _this.resetZoom(); + } + + if (scale < 1) { + scale = 1; + } + + zoom(scale); + }; + + var actualSize = function(event, $image, index) { + var w = $image.width(); + var nw; + if (_this.core.s.dynamic) { + nw = _this.core.s.dynamicEl[index].width || $image[0].naturalWidth || w; + } else { + nw = _this.core.$items.eq(index).attr('data-width') || $image[0].naturalWidth || w; + } + + var _scale; + + if (_this.core.$outer.hasClass('lg-zoomed')) { + scale = 1; + } else { + if (nw > w) { + _scale = nw / w; + scale = _scale || 2; + } + } + + _this.pageX = event.pageX || event.originalEvent.targetTouches[0].pageX; + _this.pageY = event.pageY || event.originalEvent.targetTouches[0].pageY; + callScale(); + setTimeout(function() { + _this.core.$outer.removeClass('lg-grabbing').addClass('lg-grab'); + }, 10); + }; + + var tapped = false; + + // event triggered after appending slide content + _this.core.$el.on('onAferAppendSlide.lg.tm.zoom', function(event, index) { + + // Get the current element + var $image = _this.core.$slide.eq(index).find('.lg-image'); + + $image.on('dblclick', function(event) { + actualSize(event, $image, index); + }); + + $image.on('touchstart', function(event) { + if (!tapped) { + tapped = setTimeout(function() { + tapped = null; + }, 300); + } else { + clearTimeout(tapped); + tapped = null; + actualSize(event, $image, index); + } + + event.preventDefault(); + }); + + }); + + // Update zoom on resize and orientationchange + $(window).on('resize.lg.zoom scroll.lg.zoom orientationchange.lg.zoom', function() { + _this.pageX = $(window).width() / 2; + _this.pageY = ($(window).height() / 2) + $(window).scrollTop(); + zoom(scale); + }); + + $('#lg-zoom-out').on('click.lg', function() { + if (_this.core.$outer.find('.lg-current .lg-image').length) { + scale -= _this.core.s.scale; + callScale(); + } + }); + + $('#lg-zoom-in').on('click.lg', function() { + if (_this.core.$outer.find('.lg-current .lg-image').length) { + scale += _this.core.s.scale; + callScale(); + } + }); + + // Reset zoom on slide change + _this.core.$el.on('onBeforeSlide.lg.tm', function() { + scale = 1; + _this.resetZoom(); + }); + + // Drag option after zoom + if (!_this.core.isTouch) { + _this.zoomDrag(); + } + + if (_this.core.isTouch) { + _this.zoomSwipe(); + } + + }; + + // Reset zoom effect + Zoom.prototype.resetZoom = function() { + this.core.$outer.removeClass('lg-zoomed'); + this.core.$slide.find('.lg-img-wrap').removeAttr('style data-x data-y'); + this.core.$slide.find('.lg-image').removeAttr('style data-scale'); + + // Reset pagx pagy values to center + this.pageX = $(window).width() / 2; + this.pageY = ($(window).height() / 2) + $(window).scrollTop(); + }; + + Zoom.prototype.zoomSwipe = function() { + var _this = this; + var startCoords = {}; + var endCoords = {}; + var isMoved = false; + + // Allow x direction drag + var allowX = false; + + // Allow Y direction drag + var allowY = false; + + _this.core.$slide.on('touchstart.lg', function(e) { + + if (_this.core.$outer.hasClass('lg-zoomed')) { + var $image = _this.core.$slide.eq(_this.core.index).find('.lg-object'); + + allowY = $image.outerHeight() * $image.attr('data-scale') > _this.core.$outer.find('.lg').height(); + allowX = $image.outerWidth() * $image.attr('data-scale') > _this.core.$outer.find('.lg').width(); + if ((allowX || allowY)) { + e.preventDefault(); + startCoords = { + x: e.originalEvent.targetTouches[0].pageX, + y: e.originalEvent.targetTouches[0].pageY + }; + } + } + + }); + + _this.core.$slide.on('touchmove.lg', function(e) { + + if (_this.core.$outer.hasClass('lg-zoomed')) { + + var _$el = _this.core.$slide.eq(_this.core.index).find('.lg-img-wrap'); + var distanceX; + var distanceY; + + e.preventDefault(); + isMoved = true; + + endCoords = { + x: e.originalEvent.targetTouches[0].pageX, + y: e.originalEvent.targetTouches[0].pageY + }; + + // reset opacity and transition duration + _this.core.$outer.addClass('lg-zoom-dragging'); + + if (allowY) { + distanceY = (-Math.abs(_$el.attr('data-y'))) + (endCoords.y - startCoords.y); + } else { + distanceY = -Math.abs(_$el.attr('data-y')); + } + + if (allowX) { + distanceX = (-Math.abs(_$el.attr('data-x'))) + (endCoords.x - startCoords.x); + } else { + distanceX = -Math.abs(_$el.attr('data-x')); + } + + if ((Math.abs(endCoords.x - startCoords.x) > 15) || (Math.abs(endCoords.y - startCoords.y) > 15)) { + _$el.css('transform', 'translate3d(' + distanceX + 'px, ' + distanceY + 'px, 0)'); + } + + } + + }); + + _this.core.$slide.on('touchend.lg', function() { + if (_this.core.$outer.hasClass('lg-zoomed')) { + if (isMoved) { + isMoved = false; + _this.core.$outer.removeClass('lg-zoom-dragging'); + _this.touchendZoom(startCoords, endCoords, allowX, allowY); + + } + } + }); + + }; + + Zoom.prototype.zoomDrag = function() { + + var _this = this; + var startCoords = {}; + var endCoords = {}; + var isDraging = false; + var isMoved = false; + + // Allow x direction drag + var allowX = false; + + // Allow Y direction drag + var allowY = false; + + _this.core.$slide.on('mousedown.lg.zoom', function(e) { + + // execute only on .lg-object + var $image = _this.core.$slide.eq(_this.core.index).find('.lg-object'); + + allowY = $image.outerHeight() * $image.attr('data-scale') > _this.core.$outer.find('.lg').height(); + allowX = $image.outerWidth() * $image.attr('data-scale') > _this.core.$outer.find('.lg').width(); + + if (_this.core.$outer.hasClass('lg-zoomed')) { + if ($(e.target).hasClass('lg-object') && (allowX || allowY)) { + e.preventDefault(); + startCoords = { + x: e.pageX, + y: e.pageY + }; + + isDraging = true; + + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + _this.core.$outer.scrollLeft += 1; + _this.core.$outer.scrollLeft -= 1; + + _this.core.$outer.removeClass('lg-grab').addClass('lg-grabbing'); + } + } + }); + + $(window).on('mousemove.lg.zoom', function(e) { + if (isDraging) { + var _$el = _this.core.$slide.eq(_this.core.index).find('.lg-img-wrap'); + var distanceX; + var distanceY; + + isMoved = true; + endCoords = { + x: e.pageX, + y: e.pageY + }; + + // reset opacity and transition duration + _this.core.$outer.addClass('lg-zoom-dragging'); + + if (allowY) { + distanceY = (-Math.abs(_$el.attr('data-y'))) + (endCoords.y - startCoords.y); + } else { + distanceY = -Math.abs(_$el.attr('data-y')); + } + + if (allowX) { + distanceX = (-Math.abs(_$el.attr('data-x'))) + (endCoords.x - startCoords.x); + } else { + distanceX = -Math.abs(_$el.attr('data-x')); + } + + _$el.css('transform', 'translate3d(' + distanceX + 'px, ' + distanceY + 'px, 0)'); + } + }); + + $(window).on('mouseup.lg.zoom', function(e) { + + if (isDraging) { + isDraging = false; + _this.core.$outer.removeClass('lg-zoom-dragging'); + + // Fix for chrome mouse move on click + if (isMoved && ((startCoords.x !== endCoords.x) || (startCoords.y !== endCoords.y))) { + endCoords = { + x: e.pageX, + y: e.pageY + }; + _this.touchendZoom(startCoords, endCoords, allowX, allowY); + + } + + isMoved = false; + } + + _this.core.$outer.removeClass('lg-grabbing').addClass('lg-grab'); + + }); + }; + + Zoom.prototype.touchendZoom = function(startCoords, endCoords, allowX, allowY) { + + var _this = this; + var _$el = _this.core.$slide.eq(_this.core.index).find('.lg-img-wrap'); + var $image = _this.core.$slide.eq(_this.core.index).find('.lg-object'); + var distanceX = (-Math.abs(_$el.attr('data-x'))) + (endCoords.x - startCoords.x); + var distanceY = (-Math.abs(_$el.attr('data-y'))) + (endCoords.y - startCoords.y); + var minY = (_this.core.$outer.find('.lg').height() - $image.outerHeight()) / 2; + var maxY = Math.abs(($image.outerHeight() * Math.abs($image.attr('data-scale'))) - _this.core.$outer.find('.lg').height() + minY); + var minX = (_this.core.$outer.find('.lg').width() - $image.outerWidth()) / 2; + var maxX = Math.abs(($image.outerWidth() * Math.abs($image.attr('data-scale'))) - _this.core.$outer.find('.lg').width() + minX); + + if ((Math.abs(endCoords.x - startCoords.x) > 15) || (Math.abs(endCoords.y - startCoords.y) > 15)) { + if (allowY) { + if (distanceY <= -maxY) { + distanceY = -maxY; + } else if (distanceY >= -minY) { + distanceY = -minY; + } + } + + if (allowX) { + if (distanceX <= -maxX) { + distanceX = -maxX; + } else if (distanceX >= -minX) { + distanceX = -minX; + } + } + + if (allowY) { + _$el.attr('data-y', Math.abs(distanceY)); + } else { + distanceY = -Math.abs(_$el.attr('data-y')); + } + + if (allowX) { + _$el.attr('data-x', Math.abs(distanceX)); + } else { + distanceX = -Math.abs(_$el.attr('data-x')); + } + + _$el.css('transform', 'translate3d(' + distanceX + 'px, ' + distanceY + 'px, 0)'); + } + }; + + Zoom.prototype.destroy = function() { + + var _this = this; + + // Unbind all events added by lightGallery zoom plugin + _this.core.$el.off('.lg.zoom'); + $(window).off('.lg.zoom'); + _this.core.$slide.off('.lg.zoom'); + _this.core.$el.off('.lg.tm.zoom'); + _this.resetZoom(); + clearTimeout(_this.zoomabletimeout); + _this.zoomabletimeout = false; + }; + + $.fn.lightGallery.modules.zoom = Zoom; + +})(jQuery, window, document); diff --git a/theme/public/lightgallery/js/lg-zoom.min.js b/theme/public/lightgallery/js/lg-zoom.min.js new file mode 100644 index 0000000..7b8bedc --- /dev/null +++ b/theme/public/lightgallery/js/lg-zoom.min.js @@ -0,0 +1,4 @@ +/*! lightgallery - v1.2.14 - 2016-01-18 +* http://sachinchoolur.github.io/lightGallery/ +* Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */ +!function(a,b,c,d){"use strict";var e={scale:1,zoom:!0,enableZoomAfter:300},f=function(c){return this.core=a(c).data("lightGallery"),this.core.s=a.extend({},e,this.core.s),this.core.s.zoom&&this.core.doCss()&&(this.init(),this.zoomabletimeout=!1,this.pageX=a(b).width()/2,this.pageY=a(b).height()/2+a(b).scrollTop()),this};f.prototype.init=function(){var c=this,d='';this.core.$outer.find(".lg-toolbar").append(d),c.core.$el.on("onSlideItemLoad.lg.tm.zoom",function(b,d,e){var f=c.core.s.enableZoomAfter+e;a("body").hasClass("lg-from-hash")&&e?f=0:a("body").removeClass("lg-from-hash"),c.zoomabletimeout=setTimeout(function(){c.core.$slide.eq(d).addClass("lg-zoomable")},f+30)});var e=1,f=function(d){var e,f,g=c.core.$outer.find(".lg-current .lg-image"),h=(a(b).width()-g.width())/2,i=(a(b).height()-g.height())/2+a(b).scrollTop();e=c.pageX-h,f=c.pageY-i;var j=(d-1)*e,k=(d-1)*f;g.css("transform","scale3d("+d+", "+d+", 1)").attr("data-scale",d),g.parent().css("transform","translate3d(-"+j+"px, -"+k+"px, 0)").attr("data-x",j).attr("data-y",k)},g=function(){e>1?c.core.$outer.addClass("lg-zoomed"):c.resetZoom(),1>e&&(e=1),f(e)},h=function(a,b,d){var f,h=b.width();f=c.core.s.dynamic?c.core.s.dynamicEl[d].width||b[0].naturalWidth||h:c.core.$items.eq(d).attr("data-width")||b[0].naturalWidth||h;var i;c.core.$outer.hasClass("lg-zoomed")?e=1:f>h&&(i=f/h,e=i||2),c.pageX=a.pageX||a.originalEvent.targetTouches[0].pageX,c.pageY=a.pageY||a.originalEvent.targetTouches[0].pageY,g(),setTimeout(function(){c.core.$outer.removeClass("lg-grabbing").addClass("lg-grab")},10)},i=!1;c.core.$el.on("onAferAppendSlide.lg.tm.zoom",function(a,b){var d=c.core.$slide.eq(b).find(".lg-image");d.on("dblclick",function(a){h(a,d,b)}),d.on("touchstart",function(a){i?(clearTimeout(i),i=null,h(a,d,b)):i=setTimeout(function(){i=null},300),a.preventDefault()})}),a(b).on("resize.lg.zoom scroll.lg.zoom orientationchange.lg.zoom",function(){c.pageX=a(b).width()/2,c.pageY=a(b).height()/2+a(b).scrollTop(),f(e)}),a("#lg-zoom-out").on("click.lg",function(){c.core.$outer.find(".lg-current .lg-image").length&&(e-=c.core.s.scale,g())}),a("#lg-zoom-in").on("click.lg",function(){c.core.$outer.find(".lg-current .lg-image").length&&(e+=c.core.s.scale,g())}),c.core.$el.on("onBeforeSlide.lg.tm",function(){e=1,c.resetZoom()}),c.core.isTouch||c.zoomDrag(),c.core.isTouch&&c.zoomSwipe()},f.prototype.resetZoom=function(){this.core.$outer.removeClass("lg-zoomed"),this.core.$slide.find(".lg-img-wrap").removeAttr("style data-x data-y"),this.core.$slide.find(".lg-image").removeAttr("style data-scale"),this.pageX=a(b).width()/2,this.pageY=a(b).height()/2+a(b).scrollTop()},f.prototype.zoomSwipe=function(){var a=this,b={},c={},d=!1,e=!1,f=!1;a.core.$slide.on("touchstart.lg",function(c){if(a.core.$outer.hasClass("lg-zoomed")){var d=a.core.$slide.eq(a.core.index).find(".lg-object");f=d.outerHeight()*d.attr("data-scale")>a.core.$outer.find(".lg").height(),e=d.outerWidth()*d.attr("data-scale")>a.core.$outer.find(".lg").width(),(e||f)&&(c.preventDefault(),b={x:c.originalEvent.targetTouches[0].pageX,y:c.originalEvent.targetTouches[0].pageY})}}),a.core.$slide.on("touchmove.lg",function(g){if(a.core.$outer.hasClass("lg-zoomed")){var h,i,j=a.core.$slide.eq(a.core.index).find(".lg-img-wrap");g.preventDefault(),d=!0,c={x:g.originalEvent.targetTouches[0].pageX,y:g.originalEvent.targetTouches[0].pageY},a.core.$outer.addClass("lg-zoom-dragging"),i=f?-Math.abs(j.attr("data-y"))+(c.y-b.y):-Math.abs(j.attr("data-y")),h=e?-Math.abs(j.attr("data-x"))+(c.x-b.x):-Math.abs(j.attr("data-x")),(Math.abs(c.x-b.x)>15||Math.abs(c.y-b.y)>15)&&j.css("transform","translate3d("+h+"px, "+i+"px, 0)")}}),a.core.$slide.on("touchend.lg",function(){a.core.$outer.hasClass("lg-zoomed")&&d&&(d=!1,a.core.$outer.removeClass("lg-zoom-dragging"),a.touchendZoom(b,c,e,f))})},f.prototype.zoomDrag=function(){var c=this,d={},e={},f=!1,g=!1,h=!1,i=!1;c.core.$slide.on("mousedown.lg.zoom",function(b){var e=c.core.$slide.eq(c.core.index).find(".lg-object");i=e.outerHeight()*e.attr("data-scale")>c.core.$outer.find(".lg").height(),h=e.outerWidth()*e.attr("data-scale")>c.core.$outer.find(".lg").width(),c.core.$outer.hasClass("lg-zoomed")&&a(b.target).hasClass("lg-object")&&(h||i)&&(b.preventDefault(),d={x:b.pageX,y:b.pageY},f=!0,c.core.$outer.scrollLeft+=1,c.core.$outer.scrollLeft-=1,c.core.$outer.removeClass("lg-grab").addClass("lg-grabbing"))}),a(b).on("mousemove.lg.zoom",function(a){if(f){var b,j,k=c.core.$slide.eq(c.core.index).find(".lg-img-wrap");g=!0,e={x:a.pageX,y:a.pageY},c.core.$outer.addClass("lg-zoom-dragging"),j=i?-Math.abs(k.attr("data-y"))+(e.y-d.y):-Math.abs(k.attr("data-y")),b=h?-Math.abs(k.attr("data-x"))+(e.x-d.x):-Math.abs(k.attr("data-x")),k.css("transform","translate3d("+b+"px, "+j+"px, 0)")}}),a(b).on("mouseup.lg.zoom",function(a){f&&(f=!1,c.core.$outer.removeClass("lg-zoom-dragging"),!g||d.x===e.x&&d.y===e.y||(e={x:a.pageX,y:a.pageY},c.touchendZoom(d,e,h,i)),g=!1),c.core.$outer.removeClass("lg-grabbing").addClass("lg-grab")})},f.prototype.touchendZoom=function(a,b,c,d){var e=this,f=e.core.$slide.eq(e.core.index).find(".lg-img-wrap"),g=e.core.$slide.eq(e.core.index).find(".lg-object"),h=-Math.abs(f.attr("data-x"))+(b.x-a.x),i=-Math.abs(f.attr("data-y"))+(b.y-a.y),j=(e.core.$outer.find(".lg").height()-g.outerHeight())/2,k=Math.abs(g.outerHeight()*Math.abs(g.attr("data-scale"))-e.core.$outer.find(".lg").height()+j),l=(e.core.$outer.find(".lg").width()-g.outerWidth())/2,m=Math.abs(g.outerWidth()*Math.abs(g.attr("data-scale"))-e.core.$outer.find(".lg").width()+l);(Math.abs(b.x-a.x)>15||Math.abs(b.y-a.y)>15)&&(d&&(-k>=i?i=-k:i>=-j&&(i=-j)),c&&(-m>=h?h=-m:h>=-l&&(h=-l)),d?f.attr("data-y",Math.abs(i)):i=-Math.abs(f.attr("data-y")),c?f.attr("data-x",Math.abs(h)):h=-Math.abs(f.attr("data-x")),f.css("transform","translate3d("+h+"px, "+i+"px, 0)"))},f.prototype.destroy=function(){var c=this;c.core.$el.off(".lg.zoom"),a(b).off(".lg.zoom"),c.core.$slide.off(".lg.zoom"),c.core.$el.off(".lg.tm.zoom"),c.resetZoom(),clearTimeout(c.zoomabletimeout),c.zoomabletimeout=!1},a.fn.lightGallery.modules.zoom=f}(jQuery,window,document); \ No newline at end of file diff --git a/theme/public/lightgallery/js/lightgallery-all.js b/theme/public/lightgallery/js/lightgallery-all.js new file mode 100644 index 0000000..052f57e --- /dev/null +++ b/theme/public/lightgallery/js/lightgallery-all.js @@ -0,0 +1,2907 @@ +/*! lightgallery - v1.2.14 - 2016-01-18 +* http://sachinchoolur.github.io/lightGallery/ +* Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */ +(function($, window, document, undefined) { + + 'use strict'; + + var defaults = { + + mode: 'lg-slide', + + // Ex : 'ease' + cssEasing: 'ease', + + //'for jquery animation' + easing: 'linear', + speed: 600, + height: '100%', + width: '100%', + addClass: '', + startClass: 'lg-start-zoom', + backdropDuration: 150, + hideBarsDelay: 6000, + + useLeft: false, + + closable: true, + loop: true, + escKey: true, + keyPress: true, + controls: true, + slideEndAnimatoin: true, + hideControlOnEnd: false, + mousewheel: true, + + // .lg-item || '.lg-sub-html' + appendSubHtmlTo: '.lg-sub-html', + + /** + * @desc number of preload slides + * will exicute only after the current slide is fully loaded. + * + * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th + * slide will be loaded in the background after the 4th slide is fully loaded.. + * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ... + * + */ + preload: 1, + showAfterLoad: true, + selector: '', + selectWithin: '', + nextHtml: '', + prevHtml: '', + + // 0, 1 + index: false, + + iframeMaxWidth: '100%', + + download: true, + counter: true, + appendCounterTo: '.lg-toolbar', + + swipeThreshold: 50, + enableSwipe: true, + enableDrag: true, + + dynamic: false, + dynamicEl: [], + galleryId: 1 + }; + + function Plugin(element, options) { + + // Current lightGallery element + this.el = element; + + // Current jquery element + this.$el = $(element); + + // lightGallery settings + this.s = $.extend({}, defaults, options); + + // When using dynamic mode, ensure dynamicEl is an array + if (this.s.dynamic && this.s.dynamicEl !== 'undefined' && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) { + throw ('When using dynamic mode, you must also define dynamicEl as an Array.'); + } + + // lightGallery modules + this.modules = {}; + + // false when lightgallery complete first slide; + this.lGalleryOn = false; + + this.lgBusy = false; + + // Timeout function for hiding controls; + this.hideBartimeout = false; + + // To determine browser supports for touch events; + this.isTouch = ('ontouchstart' in document.documentElement); + + // Disable hideControlOnEnd if sildeEndAnimation is true + if (this.s.slideEndAnimatoin) { + this.s.hideControlOnEnd = false; + } + + // Gallery items + if (this.s.dynamic) { + this.$items = this.s.dynamicEl; + } else { + if (this.s.selector === 'this') { + this.$items = this.$el; + } else if (this.s.selector !== '') { + if (this.s.selectWithin) { + this.$items = $(this.s.selectWithin).find(this.s.selector); + } else { + this.$items = this.$el.find($(this.s.selector)); + } + } else { + this.$items = this.$el.children(); + } + } + + // .lg-item + this.$slide = ''; + + // .lg-outer + this.$outer = ''; + + this.init(); + + return this; + } + + Plugin.prototype.init = function() { + + var _this = this; + + // s.preload should not be more than $item.length + if (_this.s.preload > _this.$items.length) { + _this.s.preload = _this.$items.length; + } + + // if dynamic option is enabled execute immediately + var _hash = window.location.hash; + if (_hash.indexOf('lg=' + this.s.galleryId) > 0) { + + _this.index = parseInt(_hash.split('&slide=')[1], 10); + + $('body').addClass('lg-from-hash'); + if (!$('body').hasClass('lg-on')) { + setTimeout(function() { + _this.build(_this.index); + $('body').addClass('lg-on'); + }); + } + } + + if (_this.s.dynamic) { + + _this.$el.trigger('onBeforeOpen.lg'); + + _this.index = _this.s.index || 0; + + // prevent accidental double execution + if (!$('body').hasClass('lg-on')) { + setTimeout(function() { + _this.build(_this.index); + $('body').addClass('lg-on'); + }); + } + } else { + + // Using different namespace for click because click event should not unbind if selector is same object('this') + _this.$items.on('click.lgcustom', function(event) { + + // For IE8 + try { + event.preventDefault(); + event.preventDefault(); + } catch (er) { + event.returnValue = false; + } + + _this.$el.trigger('onBeforeOpen.lg'); + + _this.index = _this.s.index || _this.$items.index(this); + + // prevent accidental double execution + if (!$('body').hasClass('lg-on')) { + _this.build(_this.index); + $('body').addClass('lg-on'); + } + }); + } + + }; + + Plugin.prototype.build = function(index) { + + var _this = this; + + _this.structure(); + + // module constructor + $.each($.fn.lightGallery.modules, function(key) { + _this.modules[key] = new $.fn.lightGallery.modules[key](_this.el); + }); + + // initiate slide function + _this.slide(index, false, false); + + if (_this.s.keyPress) { + _this.keyPress(); + } + + if (_this.$items.length > 1) { + + _this.arrow(); + + setTimeout(function() { + _this.enableDrag(); + _this.enableSwipe(); + }, 50); + + if (_this.s.mousewheel) { + _this.mousewheel(); + } + } + + _this.counter(); + + _this.closeGallery(); + + _this.$el.trigger('onAfterOpen.lg'); + + // Hide controllers if mouse doesn't move for some period + _this.$outer.on('mousemove.lg click.lg touchstart.lg', function() { + + _this.$outer.removeClass('lg-hide-items'); + + clearTimeout(_this.hideBartimeout); + + // Timeout will be cleared on each slide movement also + _this.hideBartimeout = setTimeout(function() { + _this.$outer.addClass('lg-hide-items'); + }, _this.s.hideBarsDelay); + + }); + + }; + + Plugin.prototype.structure = function() { + var list = ''; + var controls = ''; + var i = 0; + var subHtmlCont = ''; + var template; + var _this = this; + + $('body').append('
'); + $('.lg-backdrop').css('transition-duration', this.s.backdropDuration + 'ms'); + + // Create gallery items + for (i = 0; i < this.$items.length; i++) { + list += '
'; + } + + // Create controlls + if (this.s.controls && this.$items.length > 1) { + controls = '
' + + '
' + this.s.prevHtml + '
' + + '
' + this.s.nextHtml + '
' + + '
'; + } + + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + subHtmlCont = '
'; + } + + template = '
' + + '
' + + '
' + list + '
' + + '
' + + '' + + '
' + + controls + + subHtmlCont + + '
' + + '
'; + + $('body').append(template); + this.$outer = $('.lg-outer'); + this.$slide = this.$outer.find('.lg-item'); + + if (this.s.useLeft) { + this.$outer.addClass('lg-use-left'); + + // Set mode lg-slide if use left is true; + this.s.mode = 'lg-slide'; + } else { + this.$outer.addClass('lg-use-css3'); + } + + // For fixed height gallery + _this.setTop(); + $(window).on('resize.lg orientationchange.lg', function() { + setTimeout(function() { + _this.setTop(); + }, 100); + }); + + // add class lg-current to remove initial transition + this.$slide.eq(this.index).addClass('lg-current'); + + // add Class for css support and transition mode + if (this.doCss()) { + this.$outer.addClass('lg-css3'); + } else { + this.$outer.addClass('lg-css'); + + // Set speed 0 because no animation will happen if browser doesn't support css3 + this.s.speed = 0; + } + + this.$outer.addClass(this.s.mode); + + if (this.s.enableDrag && this.$items.length > 1) { + this.$outer.addClass('lg-grab'); + } + + if (this.s.showAfterLoad) { + this.$outer.addClass('lg-show-after-load'); + } + + if (this.doCss()) { + var $inner = this.$outer.find('.lg-inner'); + $inner.css('transition-timing-function', this.s.cssEasing); + $inner.css('transition-duration', this.s.speed + 'ms'); + } + + $('.lg-backdrop').addClass('in'); + + setTimeout(function() { + _this.$outer.addClass('lg-visible'); + }, this.s.backdropDuration); + + if (this.s.download) { + this.$outer.find('.lg-toolbar').append(''); + } + + // Store the current scroll top value to scroll back after closing the gallery.. + this.prevScrollTop = $(window).scrollTop(); + + }; + + // For fixed height gallery + Plugin.prototype.setTop = function() { + if (this.s.height !== '100%') { + var wH = $(window).height(); + var top = (wH - parseInt(this.s.height, 10)) / 2; + var $lGallery = this.$outer.find('.lg'); + if (wH >= parseInt(this.s.height, 10)) { + $lGallery.css('top', top + 'px'); + } else { + $lGallery.css('top', '0px'); + } + } + }; + + // Find css3 support + Plugin.prototype.doCss = function() { + // check for css animation support + var support = function() { + var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition']; + var root = document.documentElement; + var i = 0; + for (i = 0; i < transition.length; i++) { + if (transition[i] in root.style) { + return true; + } + } + }; + + if (support()) { + return true; + } + + return false; + }; + + /** + * @desc Check the given src is video + * @param {String} src + * @return {Object} video type + * Ex:{ youtube : ["//www.youtube.com/watch?v=c0asJgSyxcY", "c0asJgSyxcY"] } + */ + Plugin.prototype.isVideo = function(src, index) { + + var html; + if (this.s.dynamic) { + html = this.s.dynamicEl[index].html; + } else { + html = this.$items.eq(index).attr('data-html'); + } + + if (!src && html) { + return { + html5: true + }; + } + + var youtube = src.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i); + var vimeo = src.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i); + var dailymotion = src.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i); + + if (youtube) { + return { + youtube: youtube + }; + } else if (vimeo) { + return { + vimeo: vimeo + }; + } else if (dailymotion) { + return { + dailymotion: dailymotion + }; + } + }; + + /** + * @desc Create image counter + * Ex: 1/10 + */ + Plugin.prototype.counter = function() { + if (this.s.counter) { + $(this.s.appendCounterTo).append('
' + (parseInt(this.index, 10) + 1) + ' / ' + this.$items.length + '
'); + } + }; + + /** + * @desc add sub-html into the slide + * @param {Number} index - index of the slide + */ + Plugin.prototype.addHtml = function(index) { + var subHtml = null; + var subHtmlUrl; + if (this.s.dynamic) { + if (this.s.dynamicEl[index].subHtmlUrl) { + subHtmlUrl = this.s.dynamicEl[index].subHtmlUrl; + } else { + subHtml = this.s.dynamicEl[index].subHtml; + } + } else { + if (this.$items.eq(index).attr('data-sub-html-url')) { + subHtmlUrl = this.$items.eq(index).attr('data-sub-html-url'); + } else { + subHtml = this.$items.eq(index).attr('data-sub-html'); + } + } + + if (!subHtmlUrl) { + if (typeof subHtml !== 'undefined' && subHtml !== null) { + + // get first letter of subhtml + // if first letter starts with . or # get the html form the jQuery object + var fL = subHtml.substring(0, 1); + if (fL === '.' || fL === '#') { + subHtml = $(subHtml).html(); + } else { + subHtml = subHtml; + } + } else { + subHtml = ''; + } + } + + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + + if (subHtmlUrl) { + this.$outer.find(this.s.appendSubHtmlTo).load(subHtmlUrl); + } else { + this.$outer.find(this.s.appendSubHtmlTo).html(subHtml); + } + + } else { + + if (subHtmlUrl) { + this.$slide.eq(index).load(subHtmlUrl); + } else { + this.$slide.eq(index).append(subHtml); + } + } + + // Add lg-empty-html class if title doesn't exist + if (typeof subHtml !== 'undefined' && subHtml !== null) { + if (subHtml === '') { + this.$outer.find(this.s.appendSubHtmlTo).addClass('lg-empty-html'); + } else { + this.$outer.find(this.s.appendSubHtmlTo).removeClass('lg-empty-html'); + } + } + + this.$el.trigger('onAfterAppendSubHtml.lg', [index]); + }; + + /** + * @desc Preload slides + * @param {Number} index - index of the slide + */ + Plugin.prototype.preload = function(index) { + var i = 1; + var j = 1; + for (i = 1; i <= this.s.preload; i++) { + if (i >= this.$items.length - index) { + break; + } + + this.loadContent(index + i, false, 0); + } + + for (j = 1; j <= this.s.preload; j++) { + if (index - j < 0) { + break; + } + + this.loadContent(index - j, false, 0); + } + }; + + /** + * @desc Load slide content into slide. + * @param {Number} index - index of the slide. + * @param {Boolean} rec - if true call loadcontent() function again. + * @param {Boolean} delay - delay for adding complete class. it is 0 except first time. + */ + Plugin.prototype.loadContent = function(index, rec, delay) { + + var _this = this; + var _hasPoster = false; + var _$img; + var _src; + var _poster; + var _srcset; + var _sizes; + var _html; + var getResponsiveSrc = function(srcItms) { + var rsWidth = []; + var rsSrc = []; + for (var i = 0; i < srcItms.length; i++) { + var __src = srcItms[i].split(' '); + + // Manage empty space + if (__src[0] === '') { + __src.splice(0, 1); + } + + rsSrc.push(__src[0]); + rsWidth.push(__src[1]); + } + + var wWidth = $(window).width(); + for (var j = 0; j < rsWidth.length; j++) { + if (parseInt(rsWidth[j], 10) > wWidth) { + _src = rsSrc[j]; + break; + } + } + }; + + if (_this.s.dynamic) { + + if (_this.s.dynamicEl[index].poster) { + _hasPoster = true; + _poster = _this.s.dynamicEl[index].poster; + } + + _html = _this.s.dynamicEl[index].html; + _src = _this.s.dynamicEl[index].src; + + if (_this.s.dynamicEl[index].responsive) { + var srcDyItms = _this.s.dynamicEl[index].responsive.split(','); + getResponsiveSrc(srcDyItms); + } + + _srcset = _this.s.dynamicEl[index].srcset; + _sizes = _this.s.dynamicEl[index].sizes; + + } else { + + if (_this.$items.eq(index).attr('data-poster')) { + _hasPoster = true; + _poster = _this.$items.eq(index).attr('data-poster'); + } + + _html = _this.$items.eq(index).attr('data-html'); + _src = _this.$items.eq(index).attr('href') || _this.$items.eq(index).attr('data-src'); + + if (_this.$items.eq(index).attr('data-responsive')) { + var srcItms = _this.$items.eq(index).attr('data-responsive').split(','); + getResponsiveSrc(srcItms); + } + + _srcset = _this.$items.eq(index).attr('data-srcset'); + _sizes = _this.$items.eq(index).attr('data-sizes'); + + } + + //if (_src || _srcset || _sizes || _poster) { + + var iframe = false; + if (_this.s.dynamic) { + if (_this.s.dynamicEl[index].iframe) { + iframe = true; + } + } else { + if (_this.$items.eq(index).attr('data-iframe') === 'true') { + iframe = true; + } + } + + var _isVideo = _this.isVideo(_src, index); + if (!_this.$slide.eq(index).hasClass('lg-loaded')) { + if (iframe) { + _this.$slide.eq(index).prepend('
'); + } else if (_hasPoster) { + var videoClass = ''; + if (_isVideo && _isVideo.youtube) { + videoClass = 'lg-has-youtube'; + } else if (_isVideo && _isVideo.vimeo) { + videoClass = 'lg-has-vimeo'; + } else { + videoClass = 'lg-has-html5'; + } + + _this.$slide.eq(index).prepend('
'); + + } else if (_isVideo) { + _this.$slide.eq(index).prepend('
'); + _this.$el.trigger('hasVideo.lg', [index, _src, _html]); + } else { + _this.$slide.eq(index).prepend('
'); + } + + _this.$el.trigger('onAferAppendSlide.lg', [index]); + + _$img = _this.$slide.eq(index).find('.lg-object'); + if (_sizes) { + _$img.attr('sizes', _sizes); + } + + if (_srcset) { + _$img.attr('srcset', _srcset); + try { + picturefill({ + elements: [_$img[0]] + }); + } catch (e) { + console.error('Make sure you have included Picturefill version 2'); + } + } + + if (this.s.appendSubHtmlTo !== '.lg-sub-html') { + _this.addHtml(index); + } + + _this.$slide.eq(index).addClass('lg-loaded'); + } + + _this.$slide.eq(index).find('.lg-object').on('load.lg error.lg', function() { + + // For first time add some delay for displaying the start animation. + var _speed = 0; + + // Do not change the delay value because it is required for zoom plugin. + // If gallery opened from direct url (hash) speed value should be 0 + if (delay && !$('body').hasClass('lg-from-hash')) { + _speed = delay; + } + + setTimeout(function() { + _this.$slide.eq(index).addClass('lg-complete'); + _this.$el.trigger('onSlideItemLoad.lg', [index, delay || 0]); + }, _speed); + + }); + + // @todo check load state for html5 videos + if (_isVideo && _isVideo.html5 && !_hasPoster) { + _this.$slide.eq(index).addClass('lg-complete'); + } + + if (rec === true) { + if (!_this.$slide.eq(index).hasClass('lg-complete')) { + _this.$slide.eq(index).find('.lg-object').on('load.lg error.lg', function() { + _this.preload(index); + }); + } else { + _this.preload(index); + } + } + + //} + }; + + /** + * @desc slide function for lightgallery + ** Slide() gets call on start + ** ** Set lg.on true once slide() function gets called. + ** Call loadContent() on slide() function inside setTimeout + ** ** On first slide we do not want any animation like slide of fade + ** ** So on first slide( if lg.on if false that is first slide) loadContent() should start loading immediately + ** ** Else loadContent() should wait for the transition to complete. + ** ** So set timeout s.speed + 50 + <=> ** loadContent() will load slide content in to the particular slide + ** ** It has recursion (rec) parameter. if rec === true loadContent() will call preload() function. + ** ** preload will execute only when the previous slide is fully loaded (images iframe) + ** ** avoid simultaneous image load + <=> ** Preload() will check for s.preload value and call loadContent() again accoring to preload value + ** loadContent() <====> Preload(); + + * @param {Number} index - index of the slide + * @param {Boolean} fromTouch - true if slide function called via touch event or mouse drag + * @param {Boolean} fromThumb - true if slide function called via thumbnail click + */ + Plugin.prototype.slide = function(index, fromTouch, fromThumb) { + + var _prevIndex = this.$outer.find('.lg-current').index(); + var _this = this; + + // Prevent if multiple call + // Required for hsh plugin + if (_this.lGalleryOn && (_prevIndex === index)) { + return; + } + + var _length = this.$slide.length; + var _time = _this.lGalleryOn ? this.s.speed : 0; + var _next = false; + var _prev = false; + + if (!_this.lgBusy) { + + if (this.s.download) { + var _src; + if (_this.s.dynamic) { + _src = _this.s.dynamicEl[index].downloadUrl !== false && (_this.s.dynamicEl[index].downloadUrl || _this.s.dynamicEl[index].src); + } else { + _src = _this.$items.eq(index).attr('data-download-url') !== 'false' && (_this.$items.eq(index).attr('data-download-url') || _this.$items.eq(index).attr('href') || _this.$items.eq(index).attr('data-src')); + + } + + if (_src) { + $('#lg-download').attr('href', _src); + _this.$outer.removeClass('lg-hide-download'); + } else { + _this.$outer.addClass('lg-hide-download'); + } + } + + this.$el.trigger('onBeforeSlide.lg', [_prevIndex, index, fromTouch, fromThumb]); + + _this.lgBusy = true; + + clearTimeout(_this.hideBartimeout); + + // Add title if this.s.appendSubHtmlTo === lg-sub-html + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + + // wait for slide animation to complete + setTimeout(function() { + _this.addHtml(index); + }, _time); + } + + this.arrowDisable(index); + + if (!fromTouch) { + + // remove all transitions + _this.$outer.addClass('lg-no-trans'); + + this.$slide.removeClass('lg-prev-slide lg-next-slide'); + + if (index < _prevIndex) { + _prev = true; + if ((index === 0) && (_prevIndex === _length - 1) && !fromThumb) { + _prev = false; + _next = true; + } + } else if (index > _prevIndex) { + _next = true; + if ((index === _length - 1) && (_prevIndex === 0) && !fromThumb) { + _prev = true; + _next = false; + } + } + + if (_prev) { + + //prevslide + this.$slide.eq(index).addClass('lg-prev-slide'); + this.$slide.eq(_prevIndex).addClass('lg-next-slide'); + } else if (_next) { + + // next slide + this.$slide.eq(index).addClass('lg-next-slide'); + this.$slide.eq(_prevIndex).addClass('lg-prev-slide'); + } + + // give 50 ms for browser to add/remove class + setTimeout(function() { + _this.$slide.removeClass('lg-current'); + + //_this.$slide.eq(_prevIndex).removeClass('lg-current'); + _this.$slide.eq(index).addClass('lg-current'); + + // reset all transitions + _this.$outer.removeClass('lg-no-trans'); + }, 50); + } else { + + var touchPrev = index - 1; + var touchNext = index + 1; + + if ((index === 0) && (_prevIndex === _length - 1)) { + + // next slide + touchNext = 0; + touchPrev = _length - 1; + } else if ((index === _length - 1) && (_prevIndex === 0)) { + + // prev slide + touchNext = 0; + touchPrev = _length - 1; + } + + this.$slide.removeClass('lg-prev-slide lg-current lg-next-slide'); + _this.$slide.eq(touchPrev).addClass('lg-prev-slide'); + _this.$slide.eq(touchNext).addClass('lg-next-slide'); + _this.$slide.eq(index).addClass('lg-current'); + } + + if (_this.lGalleryOn) { + setTimeout(function() { + _this.loadContent(index, true, 0); + }, this.s.speed + 50); + + setTimeout(function() { + _this.lgBusy = false; + _this.$el.trigger('onAfterSlide.lg', [_prevIndex, index, fromTouch, fromThumb]); + }, this.s.speed); + + } else { + _this.loadContent(index, true, _this.s.backdropDuration); + + _this.lgBusy = false; + _this.$el.trigger('onAfterSlide.lg', [_prevIndex, index, fromTouch, fromThumb]); + } + + _this.lGalleryOn = true; + + if (this.s.counter) { + $('#lg-counter-current').text(index + 1); + } + + } + + }; + + /** + * @desc Go to next slide + * @param {Boolean} fromTouch - true if slide function called via touch event + */ + Plugin.prototype.goToNextSlide = function(fromTouch) { + var _this = this; + if (!_this.lgBusy) { + if ((_this.index + 1) < _this.$slide.length) { + _this.index++; + _this.$el.trigger('onBeforeNextSlide.lg', [_this.index]); + _this.slide(_this.index, fromTouch, false); + } else { + if (_this.s.loop) { + _this.index = 0; + _this.$el.trigger('onBeforeNextSlide.lg', [_this.index]); + _this.slide(_this.index, fromTouch, false); + } else if (_this.s.slideEndAnimatoin) { + _this.$outer.addClass('lg-right-end'); + setTimeout(function() { + _this.$outer.removeClass('lg-right-end'); + }, 400); + } + } + } + }; + + /** + * @desc Go to previous slide + * @param {Boolean} fromTouch - true if slide function called via touch event + */ + Plugin.prototype.goToPrevSlide = function(fromTouch) { + var _this = this; + if (!_this.lgBusy) { + if (_this.index > 0) { + _this.index--; + _this.$el.trigger('onBeforePrevSlide.lg', [_this.index, fromTouch]); + _this.slide(_this.index, fromTouch, false); + } else { + if (_this.s.loop) { + _this.index = _this.$items.length - 1; + _this.$el.trigger('onBeforePrevSlide.lg', [_this.index, fromTouch]); + _this.slide(_this.index, fromTouch, false); + } else if (_this.s.slideEndAnimatoin) { + _this.$outer.addClass('lg-left-end'); + setTimeout(function() { + _this.$outer.removeClass('lg-left-end'); + }, 400); + } + } + } + }; + + Plugin.prototype.keyPress = function() { + var _this = this; + if (this.$items.length > 1) { + $(window).on('keyup.lg', function(e) { + if (_this.$items.length > 1) { + if (e.keyCode === 37) { + e.preventDefault(); + _this.goToPrevSlide(); + } + + if (e.keyCode === 39) { + e.preventDefault(); + _this.goToNextSlide(); + } + } + }); + } + + $(window).on('keydown.lg', function(e) { + if (_this.s.escKey === true && e.keyCode === 27) { + e.preventDefault(); + if (!_this.$outer.hasClass('lg-thumb-open')) { + _this.destroy(); + } else { + _this.$outer.removeClass('lg-thumb-open'); + } + } + }); + }; + + Plugin.prototype.arrow = function() { + var _this = this; + this.$outer.find('.lg-prev').on('click.lg', function() { + _this.goToPrevSlide(); + }); + + this.$outer.find('.lg-next').on('click.lg', function() { + _this.goToNextSlide(); + }); + }; + + Plugin.prototype.arrowDisable = function(index) { + + // Disable arrows if s.hideControlOnEnd is true + if (!this.s.loop && this.s.hideControlOnEnd) { + if ((index + 1) < this.$slide.length) { + this.$outer.find('.lg-next').removeAttr('disabled').removeClass('disabled'); + } else { + this.$outer.find('.lg-next').attr('disabled', 'disabled').addClass('disabled'); + } + + if (index > 0) { + this.$outer.find('.lg-prev').removeAttr('disabled').removeClass('disabled'); + } else { + this.$outer.find('.lg-prev').attr('disabled', 'disabled').addClass('disabled'); + } + } + }; + + Plugin.prototype.setTranslate = function($el, xValue, yValue) { + // jQuery supports Automatic CSS prefixing since jQuery 1.8.0 + if (this.s.useLeft) { + $el.css('left', xValue); + } else { + $el.css({ + transform: 'translate3d(' + (xValue) + 'px, ' + yValue + 'px, 0px)' + }); + } + }; + + Plugin.prototype.touchMove = function(startCoords, endCoords) { + + var distance = endCoords - startCoords; + + if (Math.abs(distance) > 15) { + // reset opacity and transition duration + this.$outer.addClass('lg-dragging'); + + // move current slide + this.setTranslate(this.$slide.eq(this.index), distance, 0); + + // move next and prev slide with current slide + this.setTranslate($('.lg-prev-slide'), -this.$slide.eq(this.index).width() + distance, 0); + this.setTranslate($('.lg-next-slide'), this.$slide.eq(this.index).width() + distance, 0); + } + }; + + Plugin.prototype.touchEnd = function(distance) { + var _this = this; + + // keep slide animation for any mode while dragg/swipe + if (_this.s.mode !== 'lg-slide') { + _this.$outer.addClass('lg-slide'); + } + + this.$slide.not('.lg-current, .lg-prev-slide, .lg-next-slide').css('opacity', '0'); + + // set transition duration + setTimeout(function() { + _this.$outer.removeClass('lg-dragging'); + if ((distance < 0) && (Math.abs(distance) > _this.s.swipeThreshold)) { + _this.goToNextSlide(true); + } else if ((distance > 0) && (Math.abs(distance) > _this.s.swipeThreshold)) { + _this.goToPrevSlide(true); + } else if (Math.abs(distance) < 5) { + + // Trigger click if distance is less than 5 pix + _this.$el.trigger('onSlideClick.lg'); + } + + _this.$slide.removeAttr('style'); + }); + + // remove slide class once drag/swipe is completed if mode is not slide + setTimeout(function() { + if (!_this.$outer.hasClass('lg-dragging') && _this.s.mode !== 'lg-slide') { + _this.$outer.removeClass('lg-slide'); + } + }, _this.s.speed + 100); + + }; + + Plugin.prototype.enableSwipe = function() { + var _this = this; + var startCoords = 0; + var endCoords = 0; + var isMoved = false; + + if (_this.s.enableSwipe && _this.isTouch && _this.doCss()) { + + _this.$slide.on('touchstart.lg', function(e) { + if (!_this.$outer.hasClass('lg-zoomed') && !_this.lgBusy) { + e.preventDefault(); + _this.manageSwipeClass(); + startCoords = e.originalEvent.targetTouches[0].pageX; + } + }); + + _this.$slide.on('touchmove.lg', function(e) { + if (!_this.$outer.hasClass('lg-zoomed')) { + e.preventDefault(); + endCoords = e.originalEvent.targetTouches[0].pageX; + _this.touchMove(startCoords, endCoords); + isMoved = true; + } + }); + + _this.$slide.on('touchend.lg', function() { + if (!_this.$outer.hasClass('lg-zoomed')) { + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords - startCoords); + } else { + _this.$el.trigger('onSlideClick.lg'); + } + } + }); + } + + }; + + Plugin.prototype.enableDrag = function() { + var _this = this; + var startCoords = 0; + var endCoords = 0; + var isDraging = false; + var isMoved = false; + if (_this.s.enableDrag && !_this.isTouch && _this.doCss()) { + _this.$slide.on('mousedown.lg', function(e) { + // execute only on .lg-object + if (!_this.$outer.hasClass('lg-zoomed')) { + if ($(e.target).hasClass('lg-object') || $(e.target).hasClass('lg-video-play')) { + e.preventDefault(); + + if (!_this.lgBusy) { + _this.manageSwipeClass(); + startCoords = e.pageX; + isDraging = true; + + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + _this.$outer.scrollLeft += 1; + _this.$outer.scrollLeft -= 1; + + // * + + _this.$outer.removeClass('lg-grab').addClass('lg-grabbing'); + + _this.$el.trigger('onDragstart.lg'); + } + + } + } + }); + + $(window).on('mousemove.lg', function(e) { + if (isDraging) { + isMoved = true; + endCoords = e.pageX; + _this.touchMove(startCoords, endCoords); + _this.$el.trigger('onDragmove.lg'); + } + }); + + $(window).on('mouseup.lg', function(e) { + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords - startCoords); + _this.$el.trigger('onDragend.lg'); + } else if ($(e.target).hasClass('lg-object') || $(e.target).hasClass('lg-video-play')) { + _this.$el.trigger('onSlideClick.lg'); + } + + // Prevent execution on click + if (isDraging) { + isDraging = false; + _this.$outer.removeClass('lg-grabbing').addClass('lg-grab'); + } + }); + + } + }; + + Plugin.prototype.manageSwipeClass = function() { + var touchNext = this.index + 1; + var touchPrev = this.index - 1; + var length = this.$slide.length; + if (this.s.loop) { + if (this.index === 0) { + touchPrev = length - 1; + } else if (this.index === length - 1) { + touchNext = 0; + } + } + + this.$slide.removeClass('lg-next-slide lg-prev-slide'); + if (touchPrev > -1) { + this.$slide.eq(touchPrev).addClass('lg-prev-slide'); + } + + this.$slide.eq(touchNext).addClass('lg-next-slide'); + }; + + Plugin.prototype.mousewheel = function() { + var _this = this; + _this.$outer.on('mousewheel.lg', function(e) { + + if (!e.deltaY) { + return; + } + + if (e.deltaY > 0) { + _this.goToPrevSlide(); + } else { + _this.goToNextSlide(); + } + + e.preventDefault(); + }); + + }; + + Plugin.prototype.closeGallery = function() { + + var _this = this; + var mousedown = false; + this.$outer.find('.lg-close').on('click.lg', function() { + _this.destroy(); + }); + + if (_this.s.closable) { + + // If you drag the slide and release outside gallery gets close on chrome + // for preventing this check mousedown and mouseup happened on .lg-item or lg-outer + _this.$outer.on('mousedown.lg', function(e) { + + if ($(e.target).is('.lg-outer') || $(e.target).is('.lg-item ') || $(e.target).is('.lg-img-wrap')) { + mousedown = true; + } else { + mousedown = false; + } + + }); + + _this.$outer.on('mouseup.lg', function(e) { + + if ($(e.target).is('.lg-outer') || $(e.target).is('.lg-item ') || $(e.target).is('.lg-img-wrap') && mousedown) { + if (!_this.$outer.hasClass('lg-dragging')) { + _this.destroy(); + } + } + + }); + + } + + }; + + Plugin.prototype.destroy = function(d) { + + var _this = this; + + if (!d) { + _this.$el.trigger('onBeforeClose.lg'); + } + + $(window).scrollTop(_this.prevScrollTop); + + /** + * if d is false or undefined destroy will only close the gallery + * plugins instance remains with the element + * + * if d is true destroy will completely remove the plugin + */ + + if (d) { + if (!_this.s.dynamic) { + // only when not using dynamic mode is $items a jquery collection + this.$items.off('click.lg click.lgcustom'); + } + + $.removeData(_this.el, 'lightGallery'); + } + + // Unbind all events added by lightGallery + this.$el.off('.lg.tm'); + + // Distroy all lightGallery modules + $.each($.fn.lightGallery.modules, function(key) { + if (_this.modules[key]) { + _this.modules[key].destroy(); + } + }); + + this.lGalleryOn = false; + + clearTimeout(_this.hideBartimeout); + this.hideBartimeout = false; + $(window).off('.lg'); + $('body').removeClass('lg-on lg-from-hash'); + + if (_this.$outer) { + _this.$outer.removeClass('lg-visible'); + } + + $('.lg-backdrop').removeClass('in'); + + setTimeout(function() { + if (_this.$outer) { + _this.$outer.remove(); + } + + $('.lg-backdrop').remove(); + + if (!d) { + _this.$el.trigger('onCloseAfter.lg'); + } + + }, _this.s.backdropDuration + 50); + }; + + $.fn.lightGallery = function(options) { + return this.each(function() { + if (!$.data(this, 'lightGallery')) { + $.data(this, 'lightGallery', new Plugin(this, options)); + } else { + try { + $(this).data('lightGallery').init(); + } catch (err) { + console.error('lightGallery has not initiated properly'); + } + } + }); + }; + + $.fn.lightGallery.modules = {}; + +})(jQuery, window, document); + +/** + * Autoplay Plugin + * @version 1.2.0 + * @author Sachin N - @sachinchoolur + * @license MIT License (MIT) + */ + +(function($, window, document, undefined) { + + 'use strict'; + + var defaults = { + autoplay: false, + pause: 5000, + progressBar: true, + fourceAutoplay: false, + autoplayControls: true, + appendAutoplayControlsTo: '.lg-toolbar' + }; + + /** + * Creates the autoplay plugin. + * @param {object} element - lightGallery element + */ + var Autoplay = function(element) { + + this.core = $(element).data('lightGallery'); + + this.$el = $(element); + + // Execute only if items are above 1 + if (this.core.$items.length < 2) { + return false; + } + + this.core.s = $.extend({}, defaults, this.core.s); + this.interval = false; + + // Identify if slide happened from autoplay + this.fromAuto = true; + + // Identify if autoplay canceled from touch/drag + this.canceledOnTouch = false; + + // save fourceautoplay value + this.fourceAutoplayTemp = this.core.s.fourceAutoplay; + + // do not allow progress bar if browser does not support css3 transitions + if (!this.core.doCss()) { + this.core.s.progressBar = false; + } + + this.init(); + + return this; + }; + + Autoplay.prototype.init = function() { + var _this = this; + + // append autoplay controls + if (_this.core.s.autoplayControls) { + _this.controls(); + } + + // Create progress bar + if (_this.core.s.progressBar) { + _this.core.$outer.find('.lg').append('
'); + } + + // set progress + _this.progress(); + + // Start autoplay + if (_this.core.s.autoplay) { + _this.startlAuto(); + } + + // cancel interval on touchstart and dragstart + _this.$el.on('onDragstart.lg.tm touchstart.lg.tm', function() { + if (_this.interval) { + _this.cancelAuto(); + _this.canceledOnTouch = true; + } + }); + + // restore autoplay if autoplay canceled from touchstart / dragstart + _this.$el.on('onDragend.lg.tm touchend.lg.tm onSlideClick.lg.tm', function() { + if (!_this.interval && _this.canceledOnTouch) { + _this.startlAuto(); + _this.canceledOnTouch = false; + } + }); + + }; + + Autoplay.prototype.progress = function() { + + var _this = this; + var _$progressBar; + var _$progress; + + _this.$el.on('onBeforeSlide.lg.tm', function() { + + // start progress bar animation + if (_this.core.s.progressBar && _this.fromAuto) { + _$progressBar = _this.core.$outer.find('.lg-progress-bar'); + _$progress = _this.core.$outer.find('.lg-progress'); + if (_this.interval) { + _$progress.removeAttr('style'); + _$progressBar.removeClass('lg-start'); + setTimeout(function() { + _$progress.css('transition', 'width ' + (_this.core.s.speed + _this.core.s.pause) + 'ms ease 0s'); + _$progressBar.addClass('lg-start'); + }, 20); + } + } + + // Remove setinterval if slide is triggered manually and fourceautoplay is false + if (!_this.fromAuto && !_this.core.s.fourceAutoplay) { + _this.cancelAuto(); + } + + _this.fromAuto = false; + + }); + }; + + // Manage autoplay via play/stop buttons + Autoplay.prototype.controls = function() { + var _this = this; + var _html = ''; + + // Append autoplay controls + $(this.core.s.appendAutoplayControlsTo).append(_html); + + _this.core.$outer.find('.lg-autoplay-button').on('click.lg', function() { + if ($(_this.core.$outer).hasClass('lg-show-autoplay')) { + _this.cancelAuto(); + _this.core.s.fourceAutoplay = false; + } else { + if (!_this.interval) { + _this.startlAuto(); + _this.core.s.fourceAutoplay = _this.fourceAutoplayTemp; + } + } + }); + }; + + // Autostart gallery + Autoplay.prototype.startlAuto = function() { + var _this = this; + + _this.core.$outer.find('.lg-progress').css('transition', 'width ' + (_this.core.s.speed + _this.core.s.pause) + 'ms ease 0s'); + _this.core.$outer.addClass('lg-show-autoplay'); + _this.core.$outer.find('.lg-progress-bar').addClass('lg-start'); + + _this.interval = setInterval(function() { + if (_this.core.index + 1 < _this.core.$items.length) { + _this.core.index = _this.core.index; + } else { + _this.core.index = -1; + } + + _this.core.index++; + _this.fromAuto = true; + _this.core.slide(_this.core.index, false, false); + }, _this.core.s.speed + _this.core.s.pause); + }; + + // cancel Autostart + Autoplay.prototype.cancelAuto = function() { + clearInterval(this.interval); + this.interval = false; + this.core.$outer.find('.lg-progress').removeAttr('style'); + this.core.$outer.removeClass('lg-show-autoplay'); + this.core.$outer.find('.lg-progress-bar').removeClass('lg-start'); + }; + + Autoplay.prototype.destroy = function() { + + this.cancelAuto(); + this.core.$outer.find('.lg-progress-bar').remove(); + }; + + $.fn.lightGallery.modules.autoplay = Autoplay; + +})(jQuery, window, document); + +(function($, window, document, undefined) { + + 'use strict'; + + var defaults = { + fullScreen: true + }; + + var Fullscreen = function(element) { + + // get lightGallery core plugin data + this.core = $(element).data('lightGallery'); + + this.$el = $(element); + + // extend module defalut settings with lightGallery core settings + this.core.s = $.extend({}, defaults, this.core.s); + + this.init(); + + return this; + }; + + Fullscreen.prototype.init = function() { + var fullScreen = ''; + if (this.core.s.fullScreen) { + + // check for fullscreen browser support + if (!document.fullscreenEnabled && !document.webkitFullscreenEnabled && + !document.mozFullScreenEnabled && !document.msFullscreenEnabled) { + return; + } else { + fullScreen = ''; + this.core.$outer.find('.lg-toolbar').append(fullScreen); + this.fullScreen(); + } + } + }; + + Fullscreen.prototype.requestFullscreen = function() { + var el = document.documentElement; + if (el.requestFullscreen) { + el.requestFullscreen(); + } else if (el.msRequestFullscreen) { + el.msRequestFullscreen(); + } else if (el.mozRequestFullScreen) { + el.mozRequestFullScreen(); + } else if (el.webkitRequestFullscreen) { + el.webkitRequestFullscreen(); + } + }; + + Fullscreen.prototype.exitFullscreen = function() { + if (document.exitFullscreen) { + document.exitFullscreen(); + } else if (document.msExitFullscreen) { + document.msExitFullscreen(); + } else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } else if (document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } + }; + + // https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode + Fullscreen.prototype.fullScreen = function() { + var _this = this; + + $(document).on('fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg', function() { + _this.core.$outer.toggleClass('lg-fullscreen-on'); + }); + + this.core.$outer.find('.lg-fullscreen').on('click.lg', function() { + if (!document.fullscreenElement && + !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) { + _this.requestFullscreen(); + } else { + _this.exitFullscreen(); + } + }); + + }; + + Fullscreen.prototype.destroy = function() { + + // exit from fullscreen if activated + this.exitFullscreen(); + + $(document).off('fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg'); + }; + + $.fn.lightGallery.modules.fullscreen = Fullscreen; + +})(jQuery, window, document); + +(function($, window, document, undefined) { + + 'use strict'; + + var defaults = { + pager: false + }; + + var Pager = function(element) { + + this.core = $(element).data('lightGallery'); + + this.$el = $(element); + this.core.s = $.extend({}, defaults, this.core.s); + if (this.core.s.pager && this.core.$items.length > 1) { + this.init(); + } + + return this; + }; + + Pager.prototype.init = function() { + var _this = this; + var pagerList = ''; + var $pagerCont; + var $pagerOuter; + var timeout; + + _this.core.$outer.find('.lg').append('
'); + + if (_this.core.s.dynamic) { + for (var i = 0; i < _this.core.s.dynamicEl.length; i++) { + pagerList += '
'; + } + } else { + _this.core.$items.each(function() { + + if (!_this.core.s.exThumbImage) { + pagerList += '
'; + } else { + pagerList += '
'; + } + + }); + } + + $pagerOuter = _this.core.$outer.find('.lg-pager-outer'); + + $pagerOuter.html(pagerList); + + $pagerCont = _this.core.$outer.find('.lg-pager-cont'); + $pagerCont.on('click.lg touchend.lg', function() { + var _$this = $(this); + _this.core.index = _$this.index(); + _this.core.slide(_this.core.index, false, false); + }); + + $pagerOuter.on('mouseover.lg', function() { + clearTimeout(timeout); + $pagerOuter.addClass('lg-pager-hover'); + }); + + $pagerOuter.on('mouseout.lg', function() { + timeout = setTimeout(function() { + $pagerOuter.removeClass('lg-pager-hover'); + }); + }); + + _this.core.$el.on('onBeforeSlide.lg.tm', function(e, prevIndex, index) { + $pagerCont.removeClass('lg-pager-active'); + $pagerCont.eq(index).addClass('lg-pager-active'); + }); + + }; + + Pager.prototype.destroy = function() { + + }; + + $.fn.lightGallery.modules.pager = Pager; + +})(jQuery, window, document); + +(function($, window, document, undefined) { + + 'use strict'; + + var defaults = { + thumbnail: true, + + animateThumb: true, + currentPagerPosition: 'middle', + + thumbWidth: 100, + thumbContHeight: 100, + thumbMargin: 5, + + exThumbImage: false, + showThumbByDefault: true, + toogleThumb: true, + pullCaptionUp: true, + + enableThumbDrag: true, + enableThumbSwipe: true, + swipeThreshold: 50, + + loadYoutubeThumbnail: true, + youtubeThumbSize: 1, + + loadVimeoThumbnail: true, + vimeoThumbSize: 'thumbnail_small', + + loadDailymotionThumbnail: true + }; + + var Thumbnail = function(element) { + + // get lightGallery core plugin data + this.core = $(element).data('lightGallery'); + + // extend module default settings with lightGallery core settings + this.core.s = $.extend({}, defaults, this.core.s); + + this.$el = $(element); + this.$thumbOuter = null; + this.thumbOuterWidth = 0; + this.thumbTotalWidth = (this.core.$items.length * (this.core.s.thumbWidth + this.core.s.thumbMargin)); + this.thumbIndex = this.core.index; + + // Thumbnail animation value + this.left = 0; + + this.init(); + + return this; + }; + + Thumbnail.prototype.init = function() { + var _this = this; + if (this.core.s.thumbnail && this.core.$items.length > 1) { + if (this.core.s.showThumbByDefault) { + setTimeout(function(){ + _this.core.$outer.addClass('lg-thumb-open'); + }, 700); + } + + if (this.core.s.pullCaptionUp) { + this.core.$outer.addClass('lg-pull-caption-up'); + } + + this.build(); + if (this.core.s.animateThumb) { + if (this.core.s.enableThumbDrag && !this.core.isTouch && this.core.doCss()) { + this.enableThumbDrag(); + } + + if (this.core.s.enableThumbSwipe && this.core.isTouch && this.core.doCss()) { + this.enableThumbSwipe(); + } + + this.thumbClickable = false; + } else { + this.thumbClickable = true; + } + + this.toogle(); + this.thumbkeyPress(); + } + }; + + Thumbnail.prototype.build = function() { + var _this = this; + var thumbList = ''; + var vimeoErrorThumbSize = ''; + var $thumb; + var html = '
' + + '
' + + '
' + + '
'; + + switch (this.core.s.vimeoThumbSize) { + case 'thumbnail_large': + vimeoErrorThumbSize = '640'; + break; + case 'thumbnail_medium': + vimeoErrorThumbSize = '200x150'; + break; + case 'thumbnail_small': + vimeoErrorThumbSize = '100x75'; + } + + _this.core.$outer.addClass('lg-has-thumb'); + + _this.core.$outer.find('.lg').append(html); + + _this.$thumbOuter = _this.core.$outer.find('.lg-thumb-outer'); + _this.thumbOuterWidth = _this.$thumbOuter.width(); + + if (_this.core.s.animateThumb) { + _this.core.$outer.find('.lg-thumb').css({ + width: _this.thumbTotalWidth + 'px', + position: 'relative' + }); + } + + if (this.core.s.animateThumb) { + _this.$thumbOuter.css('height', _this.core.s.thumbContHeight + 'px'); + } + + function getThumb(src, thumb, index) { + var isVideo = _this.core.isVideo(src, index) || {}; + var thumbImg; + var vimeoId = ''; + + if (isVideo.youtube || isVideo.vimeo || isVideo.dailymotion) { + if (isVideo.youtube) { + if (_this.core.s.loadYoutubeThumbnail) { + thumbImg = '//img.youtube.com/vi/' + isVideo.youtube[1] + '/' + _this.core.s.youtubeThumbSize + '.jpg'; + } else { + thumbImg = thumb; + } + } else if (isVideo.vimeo) { + if (_this.core.s.loadVimeoThumbnail) { + thumbImg = '//i.vimeocdn.com/video/error_' + vimeoErrorThumbSize + '.jpg'; + vimeoId = isVideo.vimeo[1]; + } else { + thumbImg = thumb; + } + } else if (isVideo.dailymotion) { + if (_this.core.s.loadDailymotionThumbnail) { + thumbImg = '//www.dailymotion.com/thumbnail/video/' + isVideo.dailymotion[1]; + } else { + thumbImg = thumb; + } + } + } else { + thumbImg = thumb; + } + + thumbList += '
'; + vimeoId = ''; + } + + if (_this.core.s.dynamic) { + for (var i = 0; i < _this.core.s.dynamicEl.length; i++) { + getThumb(_this.core.s.dynamicEl[i].src, _this.core.s.dynamicEl[i].thumb, i); + } + } else { + _this.core.$items.each(function(i) { + + if (!_this.core.s.exThumbImage) { + getThumb($(this).attr('href') || $(this).attr('data-src'), $(this).find('img').attr('src'), i); + } else { + getThumb($(this).attr('href') || $(this).attr('data-src'), $(this).attr(_this.core.s.exThumbImage), i); + } + + }); + } + + _this.core.$outer.find('.lg-thumb').html(thumbList); + + $thumb = _this.core.$outer.find('.lg-thumb-item'); + + // Load vimeo thumbnails + $thumb.each(function() { + var $this = $(this); + var vimeoVideoId = $this.attr('data-vimeo-id'); + + if (vimeoVideoId) { + $.getJSON('http://www.vimeo.com/api/v2/video/' + vimeoVideoId + '.json?callback=?', { + format: 'json' + }, function(data) { + $this.find('img').attr('src', data[0][_this.core.s.vimeoThumbSize]); + }); + } + }); + + // manage active class for thumbnail + $thumb.eq(_this.core.index).addClass('active'); + _this.core.$el.on('onBeforeSlide.lg.tm', function() { + $thumb.removeClass('active'); + $thumb.eq(_this.core.index).addClass('active'); + }); + + $thumb.on('click.lg touchend.lg', function() { + var _$this = $(this); + setTimeout(function() { + + // In IE9 and bellow touch does not support + // Go to slide if browser does not support css transitions + if ((_this.thumbClickable && !_this.core.lgBusy) || !_this.core.doCss()) { + _this.core.index = _$this.index(); + _this.core.slide(_this.core.index, false, true); + } + }, 50); + }); + + _this.core.$el.on('onBeforeSlide.lg.tm', function() { + _this.animateThumb(_this.core.index); + }); + + $(window).on('resize.lg.thumb orientationchange.lg.thumb', function() { + setTimeout(function() { + _this.animateThumb(_this.core.index); + _this.thumbOuterWidth = _this.$thumbOuter.width(); + }, 200); + }); + + }; + + Thumbnail.prototype.setTranslate = function(value) { + // jQuery supports Automatic CSS prefixing since jQuery 1.8.0 + this.core.$outer.find('.lg-thumb').css({ + transform: 'translate3d(-' + (value) + 'px, 0px, 0px)' + }); + }; + + Thumbnail.prototype.animateThumb = function(index) { + var $thumb = this.core.$outer.find('.lg-thumb'); + if (this.core.s.animateThumb) { + var position; + switch (this.core.s.currentPagerPosition) { + case 'left': + position = 0; + break; + case 'middle': + position = (this.thumbOuterWidth / 2) - (this.core.s.thumbWidth / 2); + break; + case 'right': + position = this.thumbOuterWidth - this.core.s.thumbWidth; + } + this.left = ((this.core.s.thumbWidth + this.core.s.thumbMargin) * index - 1) - position; + if (this.left > (this.thumbTotalWidth - this.thumbOuterWidth)) { + this.left = this.thumbTotalWidth - this.thumbOuterWidth; + } + + if (this.left < 0) { + this.left = 0; + } + + if (this.core.lGalleryOn) { + if (!$thumb.hasClass('on')) { + this.core.$outer.find('.lg-thumb').css('transition-duration', this.core.s.speed + 'ms'); + } + + if (!this.core.doCss()) { + $thumb.animate({ + left: -this.left + 'px' + }, this.core.s.speed); + } + } else { + if (!this.core.doCss()) { + $thumb.css('left', -this.left + 'px'); + } + } + + this.setTranslate(this.left); + + } + }; + + // Enable thumbnail dragging and swiping + Thumbnail.prototype.enableThumbDrag = function() { + + var _this = this; + var startCoords = 0; + var endCoords = 0; + var isDraging = false; + var isMoved = false; + var tempLeft = 0; + + _this.$thumbOuter.addClass('lg-grab'); + + _this.core.$outer.find('.lg-thumb').on('mousedown.lg.thumb', function(e) { + if (_this.thumbTotalWidth > _this.thumbOuterWidth) { + // execute only on .lg-object + e.preventDefault(); + startCoords = e.pageX; + isDraging = true; + + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + _this.core.$outer.scrollLeft += 1; + _this.core.$outer.scrollLeft -= 1; + + // * + _this.thumbClickable = false; + _this.$thumbOuter.removeClass('lg-grab').addClass('lg-grabbing'); + } + }); + + $(window).on('mousemove.lg.thumb', function(e) { + if (isDraging) { + tempLeft = _this.left; + isMoved = true; + endCoords = e.pageX; + + _this.$thumbOuter.addClass('lg-dragging'); + + tempLeft = tempLeft - (endCoords - startCoords); + + if (tempLeft > (_this.thumbTotalWidth - _this.thumbOuterWidth)) { + tempLeft = _this.thumbTotalWidth - _this.thumbOuterWidth; + } + + if (tempLeft < 0) { + tempLeft = 0; + } + + // move current slide + _this.setTranslate(tempLeft); + + } + }); + + $(window).on('mouseup.lg.thumb', function() { + if (isMoved) { + isMoved = false; + _this.$thumbOuter.removeClass('lg-dragging'); + + _this.left = tempLeft; + + if (Math.abs(endCoords - startCoords) < _this.core.s.swipeThreshold) { + _this.thumbClickable = true; + } + + } else { + _this.thumbClickable = true; + } + + if (isDraging) { + isDraging = false; + _this.$thumbOuter.removeClass('lg-grabbing').addClass('lg-grab'); + } + }); + + }; + + Thumbnail.prototype.enableThumbSwipe = function() { + var _this = this; + var startCoords = 0; + var endCoords = 0; + var isMoved = false; + var tempLeft = 0; + + _this.core.$outer.find('.lg-thumb').on('touchstart.lg', function(e) { + if (_this.thumbTotalWidth > _this.thumbOuterWidth) { + e.preventDefault(); + startCoords = e.originalEvent.targetTouches[0].pageX; + _this.thumbClickable = false; + } + }); + + _this.core.$outer.find('.lg-thumb').on('touchmove.lg', function(e) { + if (_this.thumbTotalWidth > _this.thumbOuterWidth) { + e.preventDefault(); + endCoords = e.originalEvent.targetTouches[0].pageX; + isMoved = true; + + _this.$thumbOuter.addClass('lg-dragging'); + + tempLeft = _this.left; + + tempLeft = tempLeft - (endCoords - startCoords); + + if (tempLeft > (_this.thumbTotalWidth - _this.thumbOuterWidth)) { + tempLeft = _this.thumbTotalWidth - _this.thumbOuterWidth; + } + + if (tempLeft < 0) { + tempLeft = 0; + } + + // move current slide + _this.setTranslate(tempLeft); + + } + }); + + _this.core.$outer.find('.lg-thumb').on('touchend.lg', function() { + if (_this.thumbTotalWidth > _this.thumbOuterWidth) { + + if (isMoved) { + isMoved = false; + _this.$thumbOuter.removeClass('lg-dragging'); + if (Math.abs(endCoords - startCoords) < _this.core.s.swipeThreshold) { + _this.thumbClickable = true; + } + + _this.left = tempLeft; + } else { + _this.thumbClickable = true; + } + } else { + _this.thumbClickable = true; + } + }); + + }; + + Thumbnail.prototype.toogle = function() { + var _this = this; + if (_this.core.s.toogleThumb) { + _this.core.$outer.addClass('lg-can-toggle'); + _this.$thumbOuter.append(''); + _this.core.$outer.find('.lg-toogle-thumb').on('click.lg', function() { + _this.core.$outer.toggleClass('lg-thumb-open'); + }); + } + }; + + Thumbnail.prototype.thumbkeyPress = function() { + var _this = this; + $(window).on('keydown.lg.thumb', function(e) { + if (e.keyCode === 38) { + e.preventDefault(); + _this.core.$outer.addClass('lg-thumb-open'); + } else if (e.keyCode === 40) { + e.preventDefault(); + _this.core.$outer.removeClass('lg-thumb-open'); + } + }); + }; + + Thumbnail.prototype.destroy = function() { + if (this.core.s.thumbnail && this.core.$items.length > 1) { + $(window).off('resize.lg.thumb orientationchange.lg.thumb keydown.lg.thumb'); + this.$thumbOuter.remove(); + this.core.$outer.removeClass('lg-has-thumb'); + } + }; + + $.fn.lightGallery.modules.Thumbnail = Thumbnail; + +})(jQuery, window, document); + +(function($, window, document, undefined) { + + 'use strict'; + + var defaults = { + videoMaxWidth: '855px', + youtubePlayerParams: false, + vimeoPlayerParams: false, + dailymotionPlayerParams: false, + videojs: false + }; + + var Video = function(element) { + + this.core = $(element).data('lightGallery'); + + this.$el = $(element); + this.core.s = $.extend({}, defaults, this.core.s); + this.videoLoaded = false; + + this.init(); + + return this; + }; + + Video.prototype.init = function() { + var _this = this; + + // Event triggered when video url found without poster + _this.core.$el.on('hasVideo.lg.tm', function(event, index, src, html) { + _this.core.$slide.eq(index).find('.lg-video').append(_this.loadVideo(src, 'lg-object', true, index, html)); + if (html) { + if (_this.core.s.videojs) { + try { + videojs(_this.core.$slide.eq(index).find('.lg-html5').get(0), {}, function() { + if (!_this.videoLoaded) { + this.play(); + } + }); + } catch (e) { + console.error('Make sure you have included videojs'); + } + } else { + _this.core.$slide.eq(index).find('.lg-html5').get(0).play(); + } + } + }); + + // Set max width for video + _this.core.$el.on('onAferAppendSlide.lg.tm', function(event, index) { + _this.core.$slide.eq(index).find('.lg-video-cont').css('max-width', _this.core.s.videoMaxWidth); + _this.videoLoaded = true; + }); + + var loadOnClick = function($el) { + // check slide has poster + if ($el.find('.lg-object').hasClass('lg-has-poster') && $el.find('.lg-object').is(':visible')) { + + // chack already video element present + if (!$el.hasClass('lg-has-video')) { + + $el.addClass('lg-video-palying lg-has-video'); + + var _src; + var _html; + var _loadVideo = function(_src, _html) { + + $el.find('.lg-video').append(_this.loadVideo(_src, '', false, _this.core.index, _html)); + + if (_html) { + if (_this.core.s.videojs) { + try { + videojs(_this.core.$slide.eq(_this.core.index).find('.lg-html5').get(0), {}, function() { + this.play(); + }); + } catch (e) { + console.error('Make sure you have included videojs'); + } + } else { + _this.core.$slide.eq(_this.core.index).find('.lg-html5').get(0).play(); + } + } + + }; + + if (_this.core.s.dynamic) { + + _src = _this.core.s.dynamicEl[_this.core.index].src; + _html = _this.core.s.dynamicEl[_this.core.index].html; + + _loadVideo(_src, _html); + + } else { + + _src = _this.core.$items.eq(_this.core.index).attr('href') || _this.core.$items.eq(_this.core.index).attr('data-src'); + _html = _this.core.$items.eq(_this.core.index).attr('data-html'); + + _loadVideo(_src, _html); + + } + + var $tempImg = $el.find('.lg-object'); + $el.find('.lg-video').append($tempImg); + + // @todo loading icon for html5 videos also + // for showing the loading indicator while loading video + if (!$el.find('.lg-video-object').hasClass('lg-html5')) { + $el.removeClass('lg-complete'); + $el.find('.lg-video-object').on('load.lg error.lg', function() { + $el.addClass('lg-complete'); + }); + } + + } else { + + var youtubePlayer = $el.find('.lg-youtube').get(0); + var vimeoPlayer = $el.find('.lg-vimeo').get(0); + var dailymotionPlayer = $el.find('.lg-dailymotion').get(0); + var html5Player = $el.find('.lg-html5').get(0); + if (youtubePlayer) { + youtubePlayer.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*'); + } else if (vimeoPlayer) { + try { + $f(vimeoPlayer).api('play'); + } catch (e) { + console.error('Make sure you have included froogaloop2 js'); + } + } else if (dailymotionPlayer) { + dailymotionPlayer.contentWindow.postMessage('play', '*'); + + } else if (html5Player) { + if (_this.core.s.videojs) { + try { + videojs(html5Player).play(); + } catch (e) { + console.error('Make sure you have included videojs'); + } + } else { + html5Player.play(); + } + } + + $el.addClass('lg-video-palying'); + + } + } + }; + + if (_this.core.doCss() && _this.core.$items.length > 1 && ((_this.core.s.enableSwipe && _this.core.isTouch) || (_this.core.s.enableDrag && !_this.core.isTouch))) { + _this.core.$el.on('onSlideClick.lg.tm', function() { + var $el = _this.core.$slide.eq(_this.core.index); + loadOnClick($el); + }); + } else { + + // For IE 9 and bellow + _this.core.$slide.on('click.lg', function() { + loadOnClick($(this)); + }); + } + + _this.core.$el.on('onBeforeSlide.lg.tm', function(event, prevIndex, index) { + + var $videoSlide = _this.core.$slide.eq(prevIndex); + var youtubePlayer = $videoSlide.find('.lg-youtube').get(0); + var vimeoPlayer = $videoSlide.find('.lg-vimeo').get(0); + var dailymotionPlayer = $videoSlide.find('.lg-dailymotion').get(0); + var html5Player = $videoSlide.find('.lg-html5').get(0); + if (youtubePlayer) { + youtubePlayer.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*'); + } else if (vimeoPlayer) { + try { + $f(vimeoPlayer).api('pause'); + } catch (e) { + console.error('Make sure you have included froogaloop2 js'); + } + } else if (dailymotionPlayer) { + dailymotionPlayer.contentWindow.postMessage('pause', '*'); + + } else if (html5Player) { + if (_this.core.s.videojs) { + try { + videojs(html5Player).pause(); + } catch (e) { + console.error('Make sure you have included videojs'); + } + } else { + html5Player.pause(); + } + } + + var _src; + if (_this.core.s.dynamic) { + _src = _this.core.s.dynamicEl[index].src; + } else { + _src = _this.core.$items.eq(index).attr('href') || _this.core.$items.eq(index).attr('data-src'); + + } + + var _isVideo = _this.core.isVideo(_src, index) || {}; + if (_isVideo.youtube || _isVideo.vimeo || _isVideo.dailymotion) { + _this.core.$outer.addClass('lg-hide-download'); + } + + //$videoSlide.addClass('lg-complete'); + + }); + + _this.core.$el.on('onAfterSlide.lg.tm', function(event, prevIndex) { + _this.core.$slide.eq(prevIndex).removeClass('lg-video-palying'); + }); + }; + + Video.prototype.loadVideo = function(src, addClass, noposter, index, html) { + var video = ''; + var autoplay = 1; + var a = ''; + var isVideo = this.core.isVideo(src, index) || {}; + + // Enable autoplay for first video if poster doesn't exist + if (noposter) { + if (this.videoLoaded) { + autoplay = 0; + } else { + autoplay = 1; + } + } + + if (isVideo.youtube) { + + a = '?wmode=opaque&autoplay=' + autoplay + '&enablejsapi=1'; + if (this.core.s.youtubePlayerParams) { + a = a + '&' + $.param(this.core.s.youtubePlayerParams); + } + + video = ''; + + } else if (isVideo.vimeo) { + + a = '?autoplay=' + autoplay + '&api=1'; + if (this.core.s.vimeoPlayerParams) { + a = a + '&' + $.param(this.core.s.vimeoPlayerParams); + } + + video = ''; + + } else if (isVideo.dailymotion) { + + a = '?wmode=opaque&autoplay=' + autoplay + '&api=postMessage'; + if (this.core.s.dailymotionPlayerParams) { + a = a + '&' + $.param(this.core.s.dailymotionPlayerParams); + } + + video = ''; + + } else if (isVideo.html5) { + var fL = html.substring(0, 1); + if (fL === '.' || fL === '#') { + html = $(html).html(); + } + + video = html; + } + + return video; + }; + + Video.prototype.destroy = function() { + this.videoLoaded = false; + }; + + $.fn.lightGallery.modules.video = Video; + +})(jQuery, window, document); + +(function($, window, document, undefined) { + + 'use strict'; + + var defaults = { + scale: 1, + zoom: true, + enableZoomAfter: 300 + }; + + var Zoom = function(element) { + + this.core = $(element).data('lightGallery'); + + this.core.s = $.extend({}, defaults, this.core.s); + + if (this.core.s.zoom && this.core.doCss()) { + this.init(); + + // Store the zoomable timeout value just to clear it while closing + this.zoomabletimeout = false; + + // Set the initial value center + this.pageX = $(window).width() / 2; + this.pageY = ($(window).height() / 2) + $(window).scrollTop(); + } + + return this; + }; + + Zoom.prototype.init = function() { + + var _this = this; + var zoomIcons = ''; + + this.core.$outer.find('.lg-toolbar').append(zoomIcons); + + // Add zoomable class + _this.core.$el.on('onSlideItemLoad.lg.tm.zoom', function(event, index, delay) { + + // delay will be 0 except first time + var _speed = _this.core.s.enableZoomAfter + delay; + + // set _speed value 0 if gallery opened from direct url and if it is first slide + if ($('body').hasClass('lg-from-hash') && delay) { + + // will execute only once + _speed = 0; + } else { + + // Remove lg-from-hash to enable starting animation. + $('body').removeClass('lg-from-hash'); + } + + _this.zoomabletimeout = setTimeout(function() { + _this.core.$slide.eq(index).addClass('lg-zoomable'); + }, _speed + 30); + }); + + var scale = 1; + /** + * @desc Image zoom + * Translate the wrap and scale the image to get better user experience + * + * @param {String} scaleVal - Zoom decrement/increment value + */ + var zoom = function(scaleVal) { + + var $image = _this.core.$outer.find('.lg-current .lg-image'); + var _x; + var _y; + + // Find offset manually to avoid issue after zoom + var offsetX = ($(window).width() - $image.width()) / 2; + var offsetY = (($(window).height() - $image.height()) / 2) + $(window).scrollTop(); + + _x = _this.pageX - offsetX; + _y = _this.pageY - offsetY; + + var x = (scaleVal - 1) * (_x); + var y = (scaleVal - 1) * (_y); + + $image.css('transform', 'scale3d(' + scaleVal + ', ' + scaleVal + ', 1)').attr('data-scale', scaleVal); + + $image.parent().css('transform', 'translate3d(-' + x + 'px, -' + y + 'px, 0)').attr('data-x', x).attr('data-y', y); + }; + + var callScale = function() { + if (scale > 1) { + _this.core.$outer.addClass('lg-zoomed'); + } else { + _this.resetZoom(); + } + + if (scale < 1) { + scale = 1; + } + + zoom(scale); + }; + + var actualSize = function(event, $image, index) { + var w = $image.width(); + var nw; + if (_this.core.s.dynamic) { + nw = _this.core.s.dynamicEl[index].width || $image[0].naturalWidth || w; + } else { + nw = _this.core.$items.eq(index).attr('data-width') || $image[0].naturalWidth || w; + } + + var _scale; + + if (_this.core.$outer.hasClass('lg-zoomed')) { + scale = 1; + } else { + if (nw > w) { + _scale = nw / w; + scale = _scale || 2; + } + } + + _this.pageX = event.pageX || event.originalEvent.targetTouches[0].pageX; + _this.pageY = event.pageY || event.originalEvent.targetTouches[0].pageY; + callScale(); + setTimeout(function() { + _this.core.$outer.removeClass('lg-grabbing').addClass('lg-grab'); + }, 10); + }; + + var tapped = false; + + // event triggered after appending slide content + _this.core.$el.on('onAferAppendSlide.lg.tm.zoom', function(event, index) { + + // Get the current element + var $image = _this.core.$slide.eq(index).find('.lg-image'); + + $image.on('dblclick', function(event) { + actualSize(event, $image, index); + }); + + $image.on('touchstart', function(event) { + if (!tapped) { + tapped = setTimeout(function() { + tapped = null; + }, 300); + } else { + clearTimeout(tapped); + tapped = null; + actualSize(event, $image, index); + } + + event.preventDefault(); + }); + + }); + + // Update zoom on resize and orientationchange + $(window).on('resize.lg.zoom scroll.lg.zoom orientationchange.lg.zoom', function() { + _this.pageX = $(window).width() / 2; + _this.pageY = ($(window).height() / 2) + $(window).scrollTop(); + zoom(scale); + }); + + $('#lg-zoom-out').on('click.lg', function() { + if (_this.core.$outer.find('.lg-current .lg-image').length) { + scale -= _this.core.s.scale; + callScale(); + } + }); + + $('#lg-zoom-in').on('click.lg', function() { + if (_this.core.$outer.find('.lg-current .lg-image').length) { + scale += _this.core.s.scale; + callScale(); + } + }); + + // Reset zoom on slide change + _this.core.$el.on('onBeforeSlide.lg.tm', function() { + scale = 1; + _this.resetZoom(); + }); + + // Drag option after zoom + if (!_this.core.isTouch) { + _this.zoomDrag(); + } + + if (_this.core.isTouch) { + _this.zoomSwipe(); + } + + }; + + // Reset zoom effect + Zoom.prototype.resetZoom = function() { + this.core.$outer.removeClass('lg-zoomed'); + this.core.$slide.find('.lg-img-wrap').removeAttr('style data-x data-y'); + this.core.$slide.find('.lg-image').removeAttr('style data-scale'); + + // Reset pagx pagy values to center + this.pageX = $(window).width() / 2; + this.pageY = ($(window).height() / 2) + $(window).scrollTop(); + }; + + Zoom.prototype.zoomSwipe = function() { + var _this = this; + var startCoords = {}; + var endCoords = {}; + var isMoved = false; + + // Allow x direction drag + var allowX = false; + + // Allow Y direction drag + var allowY = false; + + _this.core.$slide.on('touchstart.lg', function(e) { + + if (_this.core.$outer.hasClass('lg-zoomed')) { + var $image = _this.core.$slide.eq(_this.core.index).find('.lg-object'); + + allowY = $image.outerHeight() * $image.attr('data-scale') > _this.core.$outer.find('.lg').height(); + allowX = $image.outerWidth() * $image.attr('data-scale') > _this.core.$outer.find('.lg').width(); + if ((allowX || allowY)) { + e.preventDefault(); + startCoords = { + x: e.originalEvent.targetTouches[0].pageX, + y: e.originalEvent.targetTouches[0].pageY + }; + } + } + + }); + + _this.core.$slide.on('touchmove.lg', function(e) { + + if (_this.core.$outer.hasClass('lg-zoomed')) { + + var _$el = _this.core.$slide.eq(_this.core.index).find('.lg-img-wrap'); + var distanceX; + var distanceY; + + e.preventDefault(); + isMoved = true; + + endCoords = { + x: e.originalEvent.targetTouches[0].pageX, + y: e.originalEvent.targetTouches[0].pageY + }; + + // reset opacity and transition duration + _this.core.$outer.addClass('lg-zoom-dragging'); + + if (allowY) { + distanceY = (-Math.abs(_$el.attr('data-y'))) + (endCoords.y - startCoords.y); + } else { + distanceY = -Math.abs(_$el.attr('data-y')); + } + + if (allowX) { + distanceX = (-Math.abs(_$el.attr('data-x'))) + (endCoords.x - startCoords.x); + } else { + distanceX = -Math.abs(_$el.attr('data-x')); + } + + if ((Math.abs(endCoords.x - startCoords.x) > 15) || (Math.abs(endCoords.y - startCoords.y) > 15)) { + _$el.css('transform', 'translate3d(' + distanceX + 'px, ' + distanceY + 'px, 0)'); + } + + } + + }); + + _this.core.$slide.on('touchend.lg', function() { + if (_this.core.$outer.hasClass('lg-zoomed')) { + if (isMoved) { + isMoved = false; + _this.core.$outer.removeClass('lg-zoom-dragging'); + _this.touchendZoom(startCoords, endCoords, allowX, allowY); + + } + } + }); + + }; + + Zoom.prototype.zoomDrag = function() { + + var _this = this; + var startCoords = {}; + var endCoords = {}; + var isDraging = false; + var isMoved = false; + + // Allow x direction drag + var allowX = false; + + // Allow Y direction drag + var allowY = false; + + _this.core.$slide.on('mousedown.lg.zoom', function(e) { + + // execute only on .lg-object + var $image = _this.core.$slide.eq(_this.core.index).find('.lg-object'); + + allowY = $image.outerHeight() * $image.attr('data-scale') > _this.core.$outer.find('.lg').height(); + allowX = $image.outerWidth() * $image.attr('data-scale') > _this.core.$outer.find('.lg').width(); + + if (_this.core.$outer.hasClass('lg-zoomed')) { + if ($(e.target).hasClass('lg-object') && (allowX || allowY)) { + e.preventDefault(); + startCoords = { + x: e.pageX, + y: e.pageY + }; + + isDraging = true; + + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + _this.core.$outer.scrollLeft += 1; + _this.core.$outer.scrollLeft -= 1; + + _this.core.$outer.removeClass('lg-grab').addClass('lg-grabbing'); + } + } + }); + + $(window).on('mousemove.lg.zoom', function(e) { + if (isDraging) { + var _$el = _this.core.$slide.eq(_this.core.index).find('.lg-img-wrap'); + var distanceX; + var distanceY; + + isMoved = true; + endCoords = { + x: e.pageX, + y: e.pageY + }; + + // reset opacity and transition duration + _this.core.$outer.addClass('lg-zoom-dragging'); + + if (allowY) { + distanceY = (-Math.abs(_$el.attr('data-y'))) + (endCoords.y - startCoords.y); + } else { + distanceY = -Math.abs(_$el.attr('data-y')); + } + + if (allowX) { + distanceX = (-Math.abs(_$el.attr('data-x'))) + (endCoords.x - startCoords.x); + } else { + distanceX = -Math.abs(_$el.attr('data-x')); + } + + _$el.css('transform', 'translate3d(' + distanceX + 'px, ' + distanceY + 'px, 0)'); + } + }); + + $(window).on('mouseup.lg.zoom', function(e) { + + if (isDraging) { + isDraging = false; + _this.core.$outer.removeClass('lg-zoom-dragging'); + + // Fix for chrome mouse move on click + if (isMoved && ((startCoords.x !== endCoords.x) || (startCoords.y !== endCoords.y))) { + endCoords = { + x: e.pageX, + y: e.pageY + }; + _this.touchendZoom(startCoords, endCoords, allowX, allowY); + + } + + isMoved = false; + } + + _this.core.$outer.removeClass('lg-grabbing').addClass('lg-grab'); + + }); + }; + + Zoom.prototype.touchendZoom = function(startCoords, endCoords, allowX, allowY) { + + var _this = this; + var _$el = _this.core.$slide.eq(_this.core.index).find('.lg-img-wrap'); + var $image = _this.core.$slide.eq(_this.core.index).find('.lg-object'); + var distanceX = (-Math.abs(_$el.attr('data-x'))) + (endCoords.x - startCoords.x); + var distanceY = (-Math.abs(_$el.attr('data-y'))) + (endCoords.y - startCoords.y); + var minY = (_this.core.$outer.find('.lg').height() - $image.outerHeight()) / 2; + var maxY = Math.abs(($image.outerHeight() * Math.abs($image.attr('data-scale'))) - _this.core.$outer.find('.lg').height() + minY); + var minX = (_this.core.$outer.find('.lg').width() - $image.outerWidth()) / 2; + var maxX = Math.abs(($image.outerWidth() * Math.abs($image.attr('data-scale'))) - _this.core.$outer.find('.lg').width() + minX); + + if ((Math.abs(endCoords.x - startCoords.x) > 15) || (Math.abs(endCoords.y - startCoords.y) > 15)) { + if (allowY) { + if (distanceY <= -maxY) { + distanceY = -maxY; + } else if (distanceY >= -minY) { + distanceY = -minY; + } + } + + if (allowX) { + if (distanceX <= -maxX) { + distanceX = -maxX; + } else if (distanceX >= -minX) { + distanceX = -minX; + } + } + + if (allowY) { + _$el.attr('data-y', Math.abs(distanceY)); + } else { + distanceY = -Math.abs(_$el.attr('data-y')); + } + + if (allowX) { + _$el.attr('data-x', Math.abs(distanceX)); + } else { + distanceX = -Math.abs(_$el.attr('data-x')); + } + + _$el.css('transform', 'translate3d(' + distanceX + 'px, ' + distanceY + 'px, 0)'); + } + }; + + Zoom.prototype.destroy = function() { + + var _this = this; + + // Unbind all events added by lightGallery zoom plugin + _this.core.$el.off('.lg.zoom'); + $(window).off('.lg.zoom'); + _this.core.$slide.off('.lg.zoom'); + _this.core.$el.off('.lg.tm.zoom'); + _this.resetZoom(); + clearTimeout(_this.zoomabletimeout); + _this.zoomabletimeout = false; + }; + + $.fn.lightGallery.modules.zoom = Zoom; + +})(jQuery, window, document); + +(function($, window, document, undefined) { + + 'use strict'; + + var defaults = { + hash: true + }; + + var Hash = function(element) { + + this.core = $(element).data('lightGallery'); + + this.core.s = $.extend({}, defaults, this.core.s); + + if (this.core.s.hash) { + this.oldHash = window.location.hash; + this.init(); + } + + return this; + }; + + Hash.prototype.init = function() { + var _this = this; + var _hash; + + // Change hash value on after each slide transition + _this.core.$el.on('onAfterSlide.lg.tm', function(event, prevIndex, index) { + window.location.hash = 'lg=' + _this.core.s.galleryId + '&slide=' + index; + }); + + // Listen hash change and change the slide according to slide value + $(window).on('hashchange', function() { + _hash = window.location.hash; + var _idx = parseInt(_hash.split('&slide=')[1], 10); + + // it galleryId doesn't exist in the url close the gallery + if ((_hash.indexOf('lg=' + _this.core.s.galleryId) > -1)) { + _this.core.slide(_idx); + } else if (_this.core.lGalleryOn) { + _this.core.destroy(); + } + + }); + }; + + Hash.prototype.destroy = function() { + + // Reset to old hash value + if (this.oldHash && this.oldHash.indexOf('lg=' + this.core.s.galleryId) < 0) { + window.location.hash = this.oldHash; + } else { + if (history.pushState) { + history.pushState('', document.title, window.location.pathname + window.location.search); + } else { + window.location.hash = ''; + } + } + + }; + + $.fn.lightGallery.modules.hash = Hash; + +})(jQuery, window, document); diff --git a/theme/public/lightgallery/js/lightgallery-all.min.js b/theme/public/lightgallery/js/lightgallery-all.min.js new file mode 100644 index 0000000..0a64e3a --- /dev/null +++ b/theme/public/lightgallery/js/lightgallery-all.min.js @@ -0,0 +1,5 @@ +/*! lightgallery - v1.2.14 - 2016-01-18 +* http://sachinchoolur.github.io/lightGallery/ +* Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */ +!function(a,b,c,d){"use strict";function e(b,d){if(this.el=b,this.$el=a(b),this.s=a.extend({},f,d),this.s.dynamic&&"undefined"!==this.s.dynamicEl&&this.s.dynamicEl.constructor===Array&&!this.s.dynamicEl.length)throw"When using dynamic mode, you must also define dynamicEl as an Array.";return this.modules={},this.lGalleryOn=!1,this.lgBusy=!1,this.hideBartimeout=!1,this.isTouch="ontouchstart"in c.documentElement,this.s.slideEndAnimatoin&&(this.s.hideControlOnEnd=!1),this.s.dynamic?this.$items=this.s.dynamicEl:"this"===this.s.selector?this.$items=this.$el:""!==this.s.selector?this.s.selectWithin?this.$items=a(this.s.selectWithin).find(this.s.selector):this.$items=this.$el.find(a(this.s.selector)):this.$items=this.$el.children(),this.$slide="",this.$outer="",this.init(),this}var f={mode:"lg-slide",cssEasing:"ease",easing:"linear",speed:600,height:"100%",width:"100%",addClass:"",startClass:"lg-start-zoom",backdropDuration:150,hideBarsDelay:6e3,useLeft:!1,closable:!0,loop:!0,escKey:!0,keyPress:!0,controls:!0,slideEndAnimatoin:!0,hideControlOnEnd:!1,mousewheel:!0,appendSubHtmlTo:".lg-sub-html",preload:1,showAfterLoad:!0,selector:"",selectWithin:"",nextHtml:"",prevHtml:"",index:!1,iframeMaxWidth:"100%",download:!0,counter:!0,appendCounterTo:".lg-toolbar",swipeThreshold:50,enableSwipe:!0,enableDrag:!0,dynamic:!1,dynamicEl:[],galleryId:1};e.prototype.init=function(){var c=this;c.s.preload>c.$items.length&&(c.s.preload=c.$items.length);var d=b.location.hash;d.indexOf("lg="+this.s.galleryId)>0&&(c.index=parseInt(d.split("&slide=")[1],10),a("body").addClass("lg-from-hash"),a("body").hasClass("lg-on")||setTimeout(function(){c.build(c.index),a("body").addClass("lg-on")})),c.s.dynamic?(c.$el.trigger("onBeforeOpen.lg"),c.index=c.s.index||0,a("body").hasClass("lg-on")||setTimeout(function(){c.build(c.index),a("body").addClass("lg-on")})):c.$items.on("click.lgcustom",function(b){try{b.preventDefault(),b.preventDefault()}catch(d){b.returnValue=!1}c.$el.trigger("onBeforeOpen.lg"),c.index=c.s.index||c.$items.index(this),a("body").hasClass("lg-on")||(c.build(c.index),a("body").addClass("lg-on"))})},e.prototype.build=function(b){var c=this;c.structure(),a.each(a.fn.lightGallery.modules,function(b){c.modules[b]=new a.fn.lightGallery.modules[b](c.el)}),c.slide(b,!1,!1),c.s.keyPress&&c.keyPress(),c.$items.length>1&&(c.arrow(),setTimeout(function(){c.enableDrag(),c.enableSwipe()},50),c.s.mousewheel&&c.mousewheel()),c.counter(),c.closeGallery(),c.$el.trigger("onAfterOpen.lg"),c.$outer.on("mousemove.lg click.lg touchstart.lg",function(){c.$outer.removeClass("lg-hide-items"),clearTimeout(c.hideBartimeout),c.hideBartimeout=setTimeout(function(){c.$outer.addClass("lg-hide-items")},c.s.hideBarsDelay)})},e.prototype.structure=function(){var c,d="",e="",f=0,g="",h=this;for(a("body").append('
'),a(".lg-backdrop").css("transition-duration",this.s.backdropDuration+"ms"),f=0;f';if(this.s.controls&&this.$items.length>1&&(e='
'+this.s.prevHtml+'
'+this.s.nextHtml+"
"),".lg-sub-html"===this.s.appendSubHtmlTo&&(g='
'),c='
'+d+'
'+e+g+"
",a("body").append(c),this.$outer=a(".lg-outer"),this.$slide=this.$outer.find(".lg-item"),this.s.useLeft?(this.$outer.addClass("lg-use-left"),this.s.mode="lg-slide"):this.$outer.addClass("lg-use-css3"),h.setTop(),a(b).on("resize.lg orientationchange.lg",function(){setTimeout(function(){h.setTop()},100)}),this.$slide.eq(this.index).addClass("lg-current"),this.doCss()?this.$outer.addClass("lg-css3"):(this.$outer.addClass("lg-css"),this.s.speed=0),this.$outer.addClass(this.s.mode),this.s.enableDrag&&this.$items.length>1&&this.$outer.addClass("lg-grab"),this.s.showAfterLoad&&this.$outer.addClass("lg-show-after-load"),this.doCss()){var i=this.$outer.find(".lg-inner");i.css("transition-timing-function",this.s.cssEasing),i.css("transition-duration",this.s.speed+"ms")}a(".lg-backdrop").addClass("in"),setTimeout(function(){h.$outer.addClass("lg-visible")},this.s.backdropDuration),this.s.download&&this.$outer.find(".lg-toolbar").append(''),this.prevScrollTop=a(b).scrollTop()},e.prototype.setTop=function(){if("100%"!==this.s.height){var c=a(b).height(),d=(c-parseInt(this.s.height,10))/2,e=this.$outer.find(".lg");c>=parseInt(this.s.height,10)?e.css("top",d+"px"):e.css("top","0px")}},e.prototype.doCss=function(){var a=function(){var a=["transition","MozTransition","WebkitTransition","OTransition","msTransition","KhtmlTransition"],b=c.documentElement,d=0;for(d=0;d'+(parseInt(this.index,10)+1)+' / '+this.$items.length+"")},e.prototype.addHtml=function(b){var c,d=null;if(this.s.dynamic?this.s.dynamicEl[b].subHtmlUrl?c=this.s.dynamicEl[b].subHtmlUrl:d=this.s.dynamicEl[b].subHtml:this.$items.eq(b).attr("data-sub-html-url")?c=this.$items.eq(b).attr("data-sub-html-url"):d=this.$items.eq(b).attr("data-sub-html"),!c)if("undefined"!=typeof d&&null!==d){var e=d.substring(0,1);d="."===e||"#"===e?a(d).html():d}else d="";".lg-sub-html"===this.s.appendSubHtmlTo?c?this.$outer.find(this.s.appendSubHtmlTo).load(c):this.$outer.find(this.s.appendSubHtmlTo).html(d):c?this.$slide.eq(b).load(c):this.$slide.eq(b).append(d),"undefined"!=typeof d&&null!==d&&(""===d?this.$outer.find(this.s.appendSubHtmlTo).addClass("lg-empty-html"):this.$outer.find(this.s.appendSubHtmlTo).removeClass("lg-empty-html")),this.$el.trigger("onAfterAppendSubHtml.lg",[b])},e.prototype.preload=function(a){var b=1,c=1;for(b=1;b<=this.s.preload&&!(b>=this.$items.length-a);b++)this.loadContent(a+b,!1,0);for(c=1;c<=this.s.preload&&!(0>a-c);c++)this.loadContent(a-c,!1,0)},e.prototype.loadContent=function(c,d,e){var f,g,h,i,j,k,l=this,m=!1,n=function(c){for(var d=[],e=[],f=0;fi){g=e[j];break}};if(l.s.dynamic){if(l.s.dynamicEl[c].poster&&(m=!0,h=l.s.dynamicEl[c].poster),k=l.s.dynamicEl[c].html,g=l.s.dynamicEl[c].src,l.s.dynamicEl[c].responsive){var o=l.s.dynamicEl[c].responsive.split(",");n(o)}i=l.s.dynamicEl[c].srcset,j=l.s.dynamicEl[c].sizes}else{if(l.$items.eq(c).attr("data-poster")&&(m=!0,h=l.$items.eq(c).attr("data-poster")),k=l.$items.eq(c).attr("data-html"),g=l.$items.eq(c).attr("href")||l.$items.eq(c).attr("data-src"),l.$items.eq(c).attr("data-responsive")){var p=l.$items.eq(c).attr("data-responsive").split(",");n(p)}i=l.$items.eq(c).attr("data-srcset"),j=l.$items.eq(c).attr("data-sizes")}var q=!1;l.s.dynamic?l.s.dynamicEl[c].iframe&&(q=!0):"true"===l.$items.eq(c).attr("data-iframe")&&(q=!0);var r=l.isVideo(g,c);if(!l.$slide.eq(c).hasClass("lg-loaded")){if(q)l.$slide.eq(c).prepend('
');else if(m){var s="";s=r&&r.youtube?"lg-has-youtube":r&&r.vimeo?"lg-has-vimeo":"lg-has-html5",l.$slide.eq(c).prepend('
')}else r?(l.$slide.eq(c).prepend('
'),l.$el.trigger("hasVideo.lg",[c,g,k])):l.$slide.eq(c).prepend('
');if(l.$el.trigger("onAferAppendSlide.lg",[c]),f=l.$slide.eq(c).find(".lg-object"),j&&f.attr("sizes",j),i){f.attr("srcset",i);try{picturefill({elements:[f[0]]})}catch(t){console.error("Make sure you have included Picturefill version 2")}}".lg-sub-html"!==this.s.appendSubHtmlTo&&l.addHtml(c),l.$slide.eq(c).addClass("lg-loaded")}l.$slide.eq(c).find(".lg-object").on("load.lg error.lg",function(){var b=0;e&&!a("body").hasClass("lg-from-hash")&&(b=e),setTimeout(function(){l.$slide.eq(c).addClass("lg-complete"),l.$el.trigger("onSlideItemLoad.lg",[c,e||0])},b)}),r&&r.html5&&!m&&l.$slide.eq(c).addClass("lg-complete"),d===!0&&(l.$slide.eq(c).hasClass("lg-complete")?l.preload(c):l.$slide.eq(c).find(".lg-object").on("load.lg error.lg",function(){l.preload(c)}))},e.prototype.slide=function(b,c,d){var e=this.$outer.find(".lg-current").index(),f=this;if(!f.lGalleryOn||e!==b){var g=this.$slide.length,h=f.lGalleryOn?this.s.speed:0,i=!1,j=!1;if(!f.lgBusy){if(this.s.download){var k;k=f.s.dynamic?f.s.dynamicEl[b].downloadUrl!==!1&&(f.s.dynamicEl[b].downloadUrl||f.s.dynamicEl[b].src):"false"!==f.$items.eq(b).attr("data-download-url")&&(f.$items.eq(b).attr("data-download-url")||f.$items.eq(b).attr("href")||f.$items.eq(b).attr("data-src")),k?(a("#lg-download").attr("href",k),f.$outer.removeClass("lg-hide-download")):f.$outer.addClass("lg-hide-download")}if(this.$el.trigger("onBeforeSlide.lg",[e,b,c,d]),f.lgBusy=!0,clearTimeout(f.hideBartimeout),".lg-sub-html"===this.s.appendSubHtmlTo&&setTimeout(function(){f.addHtml(b)},h),this.arrowDisable(b),c){var l=b-1,m=b+1;0===b&&e===g-1?(m=0,l=g-1):b===g-1&&0===e&&(m=0,l=g-1),this.$slide.removeClass("lg-prev-slide lg-current lg-next-slide"),f.$slide.eq(l).addClass("lg-prev-slide"),f.$slide.eq(m).addClass("lg-next-slide"),f.$slide.eq(b).addClass("lg-current")}else f.$outer.addClass("lg-no-trans"),this.$slide.removeClass("lg-prev-slide lg-next-slide"),e>b?(j=!0,0!==b||e!==g-1||d||(j=!1,i=!0)):b>e&&(i=!0,b!==g-1||0!==e||d||(j=!0,i=!1)),j?(this.$slide.eq(b).addClass("lg-prev-slide"),this.$slide.eq(e).addClass("lg-next-slide")):i&&(this.$slide.eq(b).addClass("lg-next-slide"),this.$slide.eq(e).addClass("lg-prev-slide")),setTimeout(function(){f.$slide.removeClass("lg-current"),f.$slide.eq(b).addClass("lg-current"),f.$outer.removeClass("lg-no-trans")},50);f.lGalleryOn?(setTimeout(function(){f.loadContent(b,!0,0)},this.s.speed+50),setTimeout(function(){f.lgBusy=!1,f.$el.trigger("onAfterSlide.lg",[e,b,c,d])},this.s.speed)):(f.loadContent(b,!0,f.s.backdropDuration),f.lgBusy=!1,f.$el.trigger("onAfterSlide.lg",[e,b,c,d])),f.lGalleryOn=!0,this.s.counter&&a("#lg-counter-current").text(b+1)}}},e.prototype.goToNextSlide=function(a){var b=this;b.lgBusy||(b.index+10?(b.index--,b.$el.trigger("onBeforePrevSlide.lg",[b.index,a]),b.slide(b.index,a,!1)):b.s.loop?(b.index=b.$items.length-1,b.$el.trigger("onBeforePrevSlide.lg",[b.index,a]),b.slide(b.index,a,!1)):b.s.slideEndAnimatoin&&(b.$outer.addClass("lg-left-end"),setTimeout(function(){b.$outer.removeClass("lg-left-end")},400)))},e.prototype.keyPress=function(){var c=this;this.$items.length>1&&a(b).on("keyup.lg",function(a){c.$items.length>1&&(37===a.keyCode&&(a.preventDefault(),c.goToPrevSlide()),39===a.keyCode&&(a.preventDefault(),c.goToNextSlide()))}),a(b).on("keydown.lg",function(a){c.s.escKey===!0&&27===a.keyCode&&(a.preventDefault(),c.$outer.hasClass("lg-thumb-open")?c.$outer.removeClass("lg-thumb-open"):c.destroy())})},e.prototype.arrow=function(){var a=this;this.$outer.find(".lg-prev").on("click.lg",function(){a.goToPrevSlide()}),this.$outer.find(".lg-next").on("click.lg",function(){a.goToNextSlide()})},e.prototype.arrowDisable=function(a){!this.s.loop&&this.s.hideControlOnEnd&&(a+10?this.$outer.find(".lg-prev").removeAttr("disabled").removeClass("disabled"):this.$outer.find(".lg-prev").attr("disabled","disabled").addClass("disabled"))},e.prototype.setTranslate=function(a,b,c){this.s.useLeft?a.css("left",b):a.css({transform:"translate3d("+b+"px, "+c+"px, 0px)"})},e.prototype.touchMove=function(b,c){var d=c-b;Math.abs(d)>15&&(this.$outer.addClass("lg-dragging"),this.setTranslate(this.$slide.eq(this.index),d,0),this.setTranslate(a(".lg-prev-slide"),-this.$slide.eq(this.index).width()+d,0),this.setTranslate(a(".lg-next-slide"),this.$slide.eq(this.index).width()+d,0))},e.prototype.touchEnd=function(a){var b=this;"lg-slide"!==b.s.mode&&b.$outer.addClass("lg-slide"),this.$slide.not(".lg-current, .lg-prev-slide, .lg-next-slide").css("opacity","0"),setTimeout(function(){b.$outer.removeClass("lg-dragging"),0>a&&Math.abs(a)>b.s.swipeThreshold?b.goToNextSlide(!0):a>0&&Math.abs(a)>b.s.swipeThreshold?b.goToPrevSlide(!0):Math.abs(a)<5&&b.$el.trigger("onSlideClick.lg"),b.$slide.removeAttr("style")}),setTimeout(function(){b.$outer.hasClass("lg-dragging")||"lg-slide"===b.s.mode||b.$outer.removeClass("lg-slide")},b.s.speed+100)},e.prototype.enableSwipe=function(){var a=this,b=0,c=0,d=!1;a.s.enableSwipe&&a.isTouch&&a.doCss()&&(a.$slide.on("touchstart.lg",function(c){a.$outer.hasClass("lg-zoomed")||a.lgBusy||(c.preventDefault(),a.manageSwipeClass(),b=c.originalEvent.targetTouches[0].pageX)}),a.$slide.on("touchmove.lg",function(e){a.$outer.hasClass("lg-zoomed")||(e.preventDefault(),c=e.originalEvent.targetTouches[0].pageX,a.touchMove(b,c),d=!0)}),a.$slide.on("touchend.lg",function(){a.$outer.hasClass("lg-zoomed")||(d?(d=!1,a.touchEnd(c-b)):a.$el.trigger("onSlideClick.lg"))}))},e.prototype.enableDrag=function(){var c=this,d=0,e=0,f=!1,g=!1;c.s.enableDrag&&!c.isTouch&&c.doCss()&&(c.$slide.on("mousedown.lg",function(b){c.$outer.hasClass("lg-zoomed")||(a(b.target).hasClass("lg-object")||a(b.target).hasClass("lg-video-play"))&&(b.preventDefault(),c.lgBusy||(c.manageSwipeClass(),d=b.pageX,f=!0,c.$outer.scrollLeft+=1,c.$outer.scrollLeft-=1,c.$outer.removeClass("lg-grab").addClass("lg-grabbing"),c.$el.trigger("onDragstart.lg")))}),a(b).on("mousemove.lg",function(a){f&&(g=!0,e=a.pageX,c.touchMove(d,e),c.$el.trigger("onDragmove.lg"))}),a(b).on("mouseup.lg",function(b){g?(g=!1,c.touchEnd(e-d),c.$el.trigger("onDragend.lg")):(a(b.target).hasClass("lg-object")||a(b.target).hasClass("lg-video-play"))&&c.$el.trigger("onSlideClick.lg"),f&&(f=!1,c.$outer.removeClass("lg-grabbing").addClass("lg-grab"))}))},e.prototype.manageSwipeClass=function(){var a=this.index+1,b=this.index-1,c=this.$slide.length;this.s.loop&&(0===this.index?b=c-1:this.index===c-1&&(a=0)),this.$slide.removeClass("lg-next-slide lg-prev-slide"),b>-1&&this.$slide.eq(b).addClass("lg-prev-slide"),this.$slide.eq(a).addClass("lg-next-slide")},e.prototype.mousewheel=function(){var a=this;a.$outer.on("mousewheel.lg",function(b){b.deltaY&&(b.deltaY>0?a.goToPrevSlide():a.goToNextSlide(),b.preventDefault())})},e.prototype.closeGallery=function(){var b=this,c=!1;this.$outer.find(".lg-close").on("click.lg",function(){b.destroy()}),b.s.closable&&(b.$outer.on("mousedown.lg",function(b){c=a(b.target).is(".lg-outer")||a(b.target).is(".lg-item ")||a(b.target).is(".lg-img-wrap")?!0:!1}),b.$outer.on("mouseup.lg",function(d){(a(d.target).is(".lg-outer")||a(d.target).is(".lg-item ")||a(d.target).is(".lg-img-wrap")&&c)&&(b.$outer.hasClass("lg-dragging")||b.destroy())}))},e.prototype.destroy=function(c){var d=this;c||d.$el.trigger("onBeforeClose.lg"),a(b).scrollTop(d.prevScrollTop),c&&(d.s.dynamic||this.$items.off("click.lg click.lgcustom"),a.removeData(d.el,"lightGallery")),this.$el.off(".lg.tm"),a.each(a.fn.lightGallery.modules,function(a){d.modules[a]&&d.modules[a].destroy()}),this.lGalleryOn=!1,clearTimeout(d.hideBartimeout),this.hideBartimeout=!1,a(b).off(".lg"),a("body").removeClass("lg-on lg-from-hash"),d.$outer&&d.$outer.removeClass("lg-visible"),a(".lg-backdrop").removeClass("in"),setTimeout(function(){d.$outer&&d.$outer.remove(),a(".lg-backdrop").remove(),c||d.$el.trigger("onCloseAfter.lg")},d.s.backdropDuration+50)},a.fn.lightGallery=function(b){return this.each(function(){if(a.data(this,"lightGallery"))try{a(this).data("lightGallery").init()}catch(c){console.error("lightGallery has not initiated properly")}else a.data(this,"lightGallery",new e(this,b))})},a.fn.lightGallery.modules={}}(jQuery,window,document),function(a,b,c,d){"use strict";var e={autoplay:!1,pause:5e3,progressBar:!0,fourceAutoplay:!1,autoplayControls:!0,appendAutoplayControlsTo:".lg-toolbar"},f=function(b){return this.core=a(b).data("lightGallery"),this.$el=a(b),this.core.$items.length<2?!1:(this.core.s=a.extend({},e,this.core.s),this.interval=!1,this.fromAuto=!0,this.canceledOnTouch=!1,this.fourceAutoplayTemp=this.core.s.fourceAutoplay,this.core.doCss()||(this.core.s.progressBar=!1),this.init(),this)};f.prototype.init=function(){var a=this;a.core.s.autoplayControls&&a.controls(),a.core.s.progressBar&&a.core.$outer.find(".lg").append('
'),a.progress(),a.core.s.autoplay&&a.startlAuto(),a.$el.on("onDragstart.lg.tm touchstart.lg.tm",function(){a.interval&&(a.cancelAuto(),a.canceledOnTouch=!0)}),a.$el.on("onDragend.lg.tm touchend.lg.tm onSlideClick.lg.tm",function(){!a.interval&&a.canceledOnTouch&&(a.startlAuto(),a.canceledOnTouch=!1)})},f.prototype.progress=function(){var a,b,c=this;c.$el.on("onBeforeSlide.lg.tm",function(){c.core.s.progressBar&&c.fromAuto&&(a=c.core.$outer.find(".lg-progress-bar"),b=c.core.$outer.find(".lg-progress"),c.interval&&(b.removeAttr("style"),a.removeClass("lg-start"),setTimeout(function(){b.css("transition","width "+(c.core.s.speed+c.core.s.pause)+"ms ease 0s"),a.addClass("lg-start")},20))),c.fromAuto||c.core.s.fourceAutoplay||c.cancelAuto(),c.fromAuto=!1})},f.prototype.controls=function(){var b=this,c='';a(this.core.s.appendAutoplayControlsTo).append(c),b.core.$outer.find(".lg-autoplay-button").on("click.lg",function(){a(b.core.$outer).hasClass("lg-show-autoplay")?(b.cancelAuto(),b.core.s.fourceAutoplay=!1):b.interval||(b.startlAuto(),b.core.s.fourceAutoplay=b.fourceAutoplayTemp)})},f.prototype.startlAuto=function(){var a=this;a.core.$outer.find(".lg-progress").css("transition","width "+(a.core.s.speed+a.core.s.pause)+"ms ease 0s"),a.core.$outer.addClass("lg-show-autoplay"),a.core.$outer.find(".lg-progress-bar").addClass("lg-start"),a.interval=setInterval(function(){a.core.index+11&&this.init(),this};f.prototype.init=function(){var b,c,d,e=this,f="";if(e.core.$outer.find(".lg").append('
'),e.core.s.dynamic)for(var g=0;g
';else e.core.$items.each(function(){f+=e.core.s.exThumbImage?'
':'
'});c=e.core.$outer.find(".lg-pager-outer"),c.html(f),b=e.core.$outer.find(".lg-pager-cont"),b.on("click.lg touchend.lg",function(){var b=a(this);e.core.index=b.index(),e.core.slide(e.core.index,!1,!1)}),c.on("mouseover.lg",function(){clearTimeout(d),c.addClass("lg-pager-hover")}),c.on("mouseout.lg",function(){d=setTimeout(function(){c.removeClass("lg-pager-hover")})}),e.core.$el.on("onBeforeSlide.lg.tm",function(a,c,d){b.removeClass("lg-pager-active"),b.eq(d).addClass("lg-pager-active")})},f.prototype.destroy=function(){},a.fn.lightGallery.modules.pager=f}(jQuery,window,document),function(a,b,c,d){"use strict";var e={thumbnail:!0,animateThumb:!0,currentPagerPosition:"middle",thumbWidth:100,thumbContHeight:100,thumbMargin:5,exThumbImage:!1,showThumbByDefault:!0,toogleThumb:!0,pullCaptionUp:!0,enableThumbDrag:!0,enableThumbSwipe:!0,swipeThreshold:50,loadYoutubeThumbnail:!0,youtubeThumbSize:1,loadVimeoThumbnail:!0,vimeoThumbSize:"thumbnail_small",loadDailymotionThumbnail:!0},f=function(b){return this.core=a(b).data("lightGallery"),this.core.s=a.extend({},e,this.core.s),this.$el=a(b),this.$thumbOuter=null,this.thumbOuterWidth=0,this.thumbTotalWidth=this.core.$items.length*(this.core.s.thumbWidth+this.core.s.thumbMargin),this.thumbIndex=this.core.index,this.left=0,this.init(),this};f.prototype.init=function(){var a=this;this.core.s.thumbnail&&this.core.$items.length>1&&(this.core.s.showThumbByDefault&&setTimeout(function(){a.core.$outer.addClass("lg-thumb-open")},700),this.core.s.pullCaptionUp&&this.core.$outer.addClass("lg-pull-caption-up"),this.build(),this.core.s.animateThumb?(this.core.s.enableThumbDrag&&!this.core.isTouch&&this.core.doCss()&&this.enableThumbDrag(),this.core.s.enableThumbSwipe&&this.core.isTouch&&this.core.doCss()&&this.enableThumbSwipe(),this.thumbClickable=!1):this.thumbClickable=!0,this.toogle(),this.thumbkeyPress())},f.prototype.build=function(){function c(a,b,c){var d,h=e.core.isVideo(a,c)||{},i="";h.youtube||h.vimeo||h.dailymotion?h.youtube?d=e.core.s.loadYoutubeThumbnail?"//img.youtube.com/vi/"+h.youtube[1]+"/"+e.core.s.youtubeThumbSize+".jpg":b:h.vimeo?e.core.s.loadVimeoThumbnail?(d="//i.vimeocdn.com/video/error_"+g+".jpg",i=h.vimeo[1]):d=b:h.dailymotion&&(d=e.core.s.loadDailymotionThumbnail?"//www.dailymotion.com/thumbnail/video/"+h.dailymotion[1]:b):d=b,f+='
',i=""}var d,e=this,f="",g="",h='
';switch(this.core.s.vimeoThumbSize){case"thumbnail_large":g="640";break;case"thumbnail_medium":g="200x150";break;case"thumbnail_small":g="100x75"}if(e.core.$outer.addClass("lg-has-thumb"),e.core.$outer.find(".lg").append(h),e.$thumbOuter=e.core.$outer.find(".lg-thumb-outer"),e.thumbOuterWidth=e.$thumbOuter.width(),e.core.s.animateThumb&&e.core.$outer.find(".lg-thumb").css({width:e.thumbTotalWidth+"px",position:"relative"}),this.core.s.animateThumb&&e.$thumbOuter.css("height",e.core.s.thumbContHeight+"px"),e.core.s.dynamic)for(var i=0;ithis.thumbTotalWidth-this.thumbOuterWidth&&(this.left=this.thumbTotalWidth-this.thumbOuterWidth),this.left<0&&(this.left=0),this.core.lGalleryOn?(b.hasClass("on")||this.core.$outer.find(".lg-thumb").css("transition-duration",this.core.s.speed+"ms"),this.core.doCss()||b.animate({left:-this.left+"px"},this.core.s.speed)):this.core.doCss()||b.css("left",-this.left+"px"),this.setTranslate(this.left)}},f.prototype.enableThumbDrag=function(){var c=this,d=0,e=0,f=!1,g=!1,h=0;c.$thumbOuter.addClass("lg-grab"),c.core.$outer.find(".lg-thumb").on("mousedown.lg.thumb",function(a){c.thumbTotalWidth>c.thumbOuterWidth&&(a.preventDefault(),d=a.pageX,f=!0,c.core.$outer.scrollLeft+=1,c.core.$outer.scrollLeft-=1,c.thumbClickable=!1,c.$thumbOuter.removeClass("lg-grab").addClass("lg-grabbing"))}),a(b).on("mousemove.lg.thumb",function(a){f&&(h=c.left,g=!0,e=a.pageX,c.$thumbOuter.addClass("lg-dragging"),h-=e-d,h>c.thumbTotalWidth-c.thumbOuterWidth&&(h=c.thumbTotalWidth-c.thumbOuterWidth),0>h&&(h=0),c.setTranslate(h))}),a(b).on("mouseup.lg.thumb",function(){g?(g=!1,c.$thumbOuter.removeClass("lg-dragging"),c.left=h,Math.abs(e-d)a.thumbOuterWidth&&(c.preventDefault(),b=c.originalEvent.targetTouches[0].pageX,a.thumbClickable=!1)}),a.core.$outer.find(".lg-thumb").on("touchmove.lg",function(f){a.thumbTotalWidth>a.thumbOuterWidth&&(f.preventDefault(),c=f.originalEvent.targetTouches[0].pageX,d=!0,a.$thumbOuter.addClass("lg-dragging"),e=a.left,e-=c-b,e>a.thumbTotalWidth-a.thumbOuterWidth&&(e=a.thumbTotalWidth-a.thumbOuterWidth),0>e&&(e=0),a.setTranslate(e))}),a.core.$outer.find(".lg-thumb").on("touchend.lg",function(){a.thumbTotalWidth>a.thumbOuterWidth&&d?(d=!1,a.$thumbOuter.removeClass("lg-dragging"),Math.abs(c-b)'),a.core.$outer.find(".lg-toogle-thumb").on("click.lg",function(){a.core.$outer.toggleClass("lg-thumb-open")}))},f.prototype.thumbkeyPress=function(){var c=this;a(b).on("keydown.lg.thumb",function(a){38===a.keyCode?(a.preventDefault(),c.core.$outer.addClass("lg-thumb-open")):40===a.keyCode&&(a.preventDefault(),c.core.$outer.removeClass("lg-thumb-open"))})},f.prototype.destroy=function(){this.core.s.thumbnail&&this.core.$items.length>1&&(a(b).off("resize.lg.thumb orientationchange.lg.thumb keydown.lg.thumb"),this.$thumbOuter.remove(),this.core.$outer.removeClass("lg-has-thumb"))},a.fn.lightGallery.modules.Thumbnail=f}(jQuery,window,document),function(a,b,c,d){"use strict";var e={videoMaxWidth:"855px",youtubePlayerParams:!1,vimeoPlayerParams:!1,dailymotionPlayerParams:!1,videojs:!1},f=function(b){return this.core=a(b).data("lightGallery"),this.$el=a(b),this.core.s=a.extend({},e,this.core.s),this.videoLoaded=!1,this.init(),this};f.prototype.init=function(){var b=this;b.core.$el.on("hasVideo.lg.tm",function(a,c,d,e){if(b.core.$slide.eq(c).find(".lg-video").append(b.loadVideo(d,"lg-object",!0,c,e)),e)if(b.core.s.videojs)try{videojs(b.core.$slide.eq(c).find(".lg-html5").get(0),{},function(){b.videoLoaded||this.play()})}catch(f){console.error("Make sure you have included videojs")}else b.core.$slide.eq(c).find(".lg-html5").get(0).play()}),b.core.$el.on("onAferAppendSlide.lg.tm",function(a,c){b.core.$slide.eq(c).find(".lg-video-cont").css("max-width",b.core.s.videoMaxWidth),b.videoLoaded=!0});var c=function(a){if(a.find(".lg-object").hasClass("lg-has-poster")&&a.find(".lg-object").is(":visible"))if(a.hasClass("lg-has-video")){var c=a.find(".lg-youtube").get(0),d=a.find(".lg-vimeo").get(0),e=a.find(".lg-dailymotion").get(0),f=a.find(".lg-html5").get(0);if(c)c.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*");else if(d)try{$f(d).api("play")}catch(g){console.error("Make sure you have included froogaloop2 js")}else if(e)e.contentWindow.postMessage("play","*");else if(f)if(b.core.s.videojs)try{videojs(f).play()}catch(g){console.error("Make sure you have included videojs")}else f.play();a.addClass("lg-video-palying")}else{a.addClass("lg-video-palying lg-has-video");var h,i,j=function(c,d){if(a.find(".lg-video").append(b.loadVideo(c,"",!1,b.core.index,d)),d)if(b.core.s.videojs)try{videojs(b.core.$slide.eq(b.core.index).find(".lg-html5").get(0),{},function(){this.play()})}catch(e){console.error("Make sure you have included videojs"); +}else b.core.$slide.eq(b.core.index).find(".lg-html5").get(0).play()};b.core.s.dynamic?(h=b.core.s.dynamicEl[b.core.index].src,i=b.core.s.dynamicEl[b.core.index].html,j(h,i)):(h=b.core.$items.eq(b.core.index).attr("href")||b.core.$items.eq(b.core.index).attr("data-src"),i=b.core.$items.eq(b.core.index).attr("data-html"),j(h,i));var k=a.find(".lg-object");a.find(".lg-video").append(k),a.find(".lg-video-object").hasClass("lg-html5")||(a.removeClass("lg-complete"),a.find(".lg-video-object").on("load.lg error.lg",function(){a.addClass("lg-complete")}))}};b.core.doCss()&&b.core.$items.length>1&&(b.core.s.enableSwipe&&b.core.isTouch||b.core.s.enableDrag&&!b.core.isTouch)?b.core.$el.on("onSlideClick.lg.tm",function(){var a=b.core.$slide.eq(b.core.index);c(a)}):b.core.$slide.on("click.lg",function(){c(a(this))}),b.core.$el.on("onBeforeSlide.lg.tm",function(a,c,d){var e=b.core.$slide.eq(c),f=e.find(".lg-youtube").get(0),g=e.find(".lg-vimeo").get(0),h=e.find(".lg-dailymotion").get(0),i=e.find(".lg-html5").get(0);if(f)f.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*");else if(g)try{$f(g).api("pause")}catch(j){console.error("Make sure you have included froogaloop2 js")}else if(h)h.contentWindow.postMessage("pause","*");else if(i)if(b.core.s.videojs)try{videojs(i).pause()}catch(j){console.error("Make sure you have included videojs")}else i.pause();var k;k=b.core.s.dynamic?b.core.s.dynamicEl[d].src:b.core.$items.eq(d).attr("href")||b.core.$items.eq(d).attr("data-src");var l=b.core.isVideo(k,d)||{};(l.youtube||l.vimeo||l.dailymotion)&&b.core.$outer.addClass("lg-hide-download")}),b.core.$el.on("onAfterSlide.lg.tm",function(a,c){b.core.$slide.eq(c).removeClass("lg-video-palying")})},f.prototype.loadVideo=function(b,c,d,e,f){var g="",h=1,i="",j=this.core.isVideo(b,e)||{};if(d&&(h=this.videoLoaded?0:1),j.youtube)i="?wmode=opaque&autoplay="+h+"&enablejsapi=1",this.core.s.youtubePlayerParams&&(i=i+"&"+a.param(this.core.s.youtubePlayerParams)),g='';else if(j.vimeo)i="?autoplay="+h+"&api=1",this.core.s.vimeoPlayerParams&&(i=i+"&"+a.param(this.core.s.vimeoPlayerParams)),g='';else if(j.dailymotion)i="?wmode=opaque&autoplay="+h+"&api=postMessage",this.core.s.dailymotionPlayerParams&&(i=i+"&"+a.param(this.core.s.dailymotionPlayerParams)),g='';else if(j.html5){var k=f.substring(0,1);("."===k||"#"===k)&&(f=a(f).html()),g=f}return g},f.prototype.destroy=function(){this.videoLoaded=!1},a.fn.lightGallery.modules.video=f}(jQuery,window,document),function(a,b,c,d){"use strict";var e={scale:1,zoom:!0,enableZoomAfter:300},f=function(c){return this.core=a(c).data("lightGallery"),this.core.s=a.extend({},e,this.core.s),this.core.s.zoom&&this.core.doCss()&&(this.init(),this.zoomabletimeout=!1,this.pageX=a(b).width()/2,this.pageY=a(b).height()/2+a(b).scrollTop()),this};f.prototype.init=function(){var c=this,d='';this.core.$outer.find(".lg-toolbar").append(d),c.core.$el.on("onSlideItemLoad.lg.tm.zoom",function(b,d,e){var f=c.core.s.enableZoomAfter+e;a("body").hasClass("lg-from-hash")&&e?f=0:a("body").removeClass("lg-from-hash"),c.zoomabletimeout=setTimeout(function(){c.core.$slide.eq(d).addClass("lg-zoomable")},f+30)});var e=1,f=function(d){var e,f,g=c.core.$outer.find(".lg-current .lg-image"),h=(a(b).width()-g.width())/2,i=(a(b).height()-g.height())/2+a(b).scrollTop();e=c.pageX-h,f=c.pageY-i;var j=(d-1)*e,k=(d-1)*f;g.css("transform","scale3d("+d+", "+d+", 1)").attr("data-scale",d),g.parent().css("transform","translate3d(-"+j+"px, -"+k+"px, 0)").attr("data-x",j).attr("data-y",k)},g=function(){e>1?c.core.$outer.addClass("lg-zoomed"):c.resetZoom(),1>e&&(e=1),f(e)},h=function(a,b,d){var f,h=b.width();f=c.core.s.dynamic?c.core.s.dynamicEl[d].width||b[0].naturalWidth||h:c.core.$items.eq(d).attr("data-width")||b[0].naturalWidth||h;var i;c.core.$outer.hasClass("lg-zoomed")?e=1:f>h&&(i=f/h,e=i||2),c.pageX=a.pageX||a.originalEvent.targetTouches[0].pageX,c.pageY=a.pageY||a.originalEvent.targetTouches[0].pageY,g(),setTimeout(function(){c.core.$outer.removeClass("lg-grabbing").addClass("lg-grab")},10)},i=!1;c.core.$el.on("onAferAppendSlide.lg.tm.zoom",function(a,b){var d=c.core.$slide.eq(b).find(".lg-image");d.on("dblclick",function(a){h(a,d,b)}),d.on("touchstart",function(a){i?(clearTimeout(i),i=null,h(a,d,b)):i=setTimeout(function(){i=null},300),a.preventDefault()})}),a(b).on("resize.lg.zoom scroll.lg.zoom orientationchange.lg.zoom",function(){c.pageX=a(b).width()/2,c.pageY=a(b).height()/2+a(b).scrollTop(),f(e)}),a("#lg-zoom-out").on("click.lg",function(){c.core.$outer.find(".lg-current .lg-image").length&&(e-=c.core.s.scale,g())}),a("#lg-zoom-in").on("click.lg",function(){c.core.$outer.find(".lg-current .lg-image").length&&(e+=c.core.s.scale,g())}),c.core.$el.on("onBeforeSlide.lg.tm",function(){e=1,c.resetZoom()}),c.core.isTouch||c.zoomDrag(),c.core.isTouch&&c.zoomSwipe()},f.prototype.resetZoom=function(){this.core.$outer.removeClass("lg-zoomed"),this.core.$slide.find(".lg-img-wrap").removeAttr("style data-x data-y"),this.core.$slide.find(".lg-image").removeAttr("style data-scale"),this.pageX=a(b).width()/2,this.pageY=a(b).height()/2+a(b).scrollTop()},f.prototype.zoomSwipe=function(){var a=this,b={},c={},d=!1,e=!1,f=!1;a.core.$slide.on("touchstart.lg",function(c){if(a.core.$outer.hasClass("lg-zoomed")){var d=a.core.$slide.eq(a.core.index).find(".lg-object");f=d.outerHeight()*d.attr("data-scale")>a.core.$outer.find(".lg").height(),e=d.outerWidth()*d.attr("data-scale")>a.core.$outer.find(".lg").width(),(e||f)&&(c.preventDefault(),b={x:c.originalEvent.targetTouches[0].pageX,y:c.originalEvent.targetTouches[0].pageY})}}),a.core.$slide.on("touchmove.lg",function(g){if(a.core.$outer.hasClass("lg-zoomed")){var h,i,j=a.core.$slide.eq(a.core.index).find(".lg-img-wrap");g.preventDefault(),d=!0,c={x:g.originalEvent.targetTouches[0].pageX,y:g.originalEvent.targetTouches[0].pageY},a.core.$outer.addClass("lg-zoom-dragging"),i=f?-Math.abs(j.attr("data-y"))+(c.y-b.y):-Math.abs(j.attr("data-y")),h=e?-Math.abs(j.attr("data-x"))+(c.x-b.x):-Math.abs(j.attr("data-x")),(Math.abs(c.x-b.x)>15||Math.abs(c.y-b.y)>15)&&j.css("transform","translate3d("+h+"px, "+i+"px, 0)")}}),a.core.$slide.on("touchend.lg",function(){a.core.$outer.hasClass("lg-zoomed")&&d&&(d=!1,a.core.$outer.removeClass("lg-zoom-dragging"),a.touchendZoom(b,c,e,f))})},f.prototype.zoomDrag=function(){var c=this,d={},e={},f=!1,g=!1,h=!1,i=!1;c.core.$slide.on("mousedown.lg.zoom",function(b){var e=c.core.$slide.eq(c.core.index).find(".lg-object");i=e.outerHeight()*e.attr("data-scale")>c.core.$outer.find(".lg").height(),h=e.outerWidth()*e.attr("data-scale")>c.core.$outer.find(".lg").width(),c.core.$outer.hasClass("lg-zoomed")&&a(b.target).hasClass("lg-object")&&(h||i)&&(b.preventDefault(),d={x:b.pageX,y:b.pageY},f=!0,c.core.$outer.scrollLeft+=1,c.core.$outer.scrollLeft-=1,c.core.$outer.removeClass("lg-grab").addClass("lg-grabbing"))}),a(b).on("mousemove.lg.zoom",function(a){if(f){var b,j,k=c.core.$slide.eq(c.core.index).find(".lg-img-wrap");g=!0,e={x:a.pageX,y:a.pageY},c.core.$outer.addClass("lg-zoom-dragging"),j=i?-Math.abs(k.attr("data-y"))+(e.y-d.y):-Math.abs(k.attr("data-y")),b=h?-Math.abs(k.attr("data-x"))+(e.x-d.x):-Math.abs(k.attr("data-x")),k.css("transform","translate3d("+b+"px, "+j+"px, 0)")}}),a(b).on("mouseup.lg.zoom",function(a){f&&(f=!1,c.core.$outer.removeClass("lg-zoom-dragging"),!g||d.x===e.x&&d.y===e.y||(e={x:a.pageX,y:a.pageY},c.touchendZoom(d,e,h,i)),g=!1),c.core.$outer.removeClass("lg-grabbing").addClass("lg-grab")})},f.prototype.touchendZoom=function(a,b,c,d){var e=this,f=e.core.$slide.eq(e.core.index).find(".lg-img-wrap"),g=e.core.$slide.eq(e.core.index).find(".lg-object"),h=-Math.abs(f.attr("data-x"))+(b.x-a.x),i=-Math.abs(f.attr("data-y"))+(b.y-a.y),j=(e.core.$outer.find(".lg").height()-g.outerHeight())/2,k=Math.abs(g.outerHeight()*Math.abs(g.attr("data-scale"))-e.core.$outer.find(".lg").height()+j),l=(e.core.$outer.find(".lg").width()-g.outerWidth())/2,m=Math.abs(g.outerWidth()*Math.abs(g.attr("data-scale"))-e.core.$outer.find(".lg").width()+l);(Math.abs(b.x-a.x)>15||Math.abs(b.y-a.y)>15)&&(d&&(-k>=i?i=-k:i>=-j&&(i=-j)),c&&(-m>=h?h=-m:h>=-l&&(h=-l)),d?f.attr("data-y",Math.abs(i)):i=-Math.abs(f.attr("data-y")),c?f.attr("data-x",Math.abs(h)):h=-Math.abs(f.attr("data-x")),f.css("transform","translate3d("+h+"px, "+i+"px, 0)"))},f.prototype.destroy=function(){var c=this;c.core.$el.off(".lg.zoom"),a(b).off(".lg.zoom"),c.core.$slide.off(".lg.zoom"),c.core.$el.off(".lg.tm.zoom"),c.resetZoom(),clearTimeout(c.zoomabletimeout),c.zoomabletimeout=!1},a.fn.lightGallery.modules.zoom=f}(jQuery,window,document),function(a,b,c,d){"use strict";var e={hash:!0},f=function(c){return this.core=a(c).data("lightGallery"),this.core.s=a.extend({},e,this.core.s),this.core.s.hash&&(this.oldHash=b.location.hash,this.init()),this};f.prototype.init=function(){var c,d=this;d.core.$el.on("onAfterSlide.lg.tm",function(a,c,e){b.location.hash="lg="+d.core.s.galleryId+"&slide="+e}),a(b).on("hashchange",function(){c=b.location.hash;var a=parseInt(c.split("&slide=")[1],10);c.indexOf("lg="+d.core.s.galleryId)>-1?d.core.slide(a):d.core.lGalleryOn&&d.core.destroy()})},f.prototype.destroy=function(){this.oldHash&&this.oldHash.indexOf("lg="+this.core.s.galleryId)<0?b.location.hash=this.oldHash:history.pushState?history.pushState("",c.title,b.location.pathname+b.location.search):b.location.hash=""},a.fn.lightGallery.modules.hash=f}(jQuery,window,document); \ No newline at end of file diff --git a/theme/public/lightgallery/js/lightgallery.js b/theme/public/lightgallery/js/lightgallery.js new file mode 100644 index 0000000..b93317d --- /dev/null +++ b/theme/public/lightgallery/js/lightgallery.js @@ -0,0 +1,1301 @@ +/*! lightgallery - v1.2.14 - 2016-01-18 +* http://sachinchoolur.github.io/lightGallery/ +* Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */ +(function($, window, document, undefined) { + + 'use strict'; + + var defaults = { + + mode: 'lg-slide', + + // Ex : 'ease' + cssEasing: 'ease', + + //'for jquery animation' + easing: 'linear', + speed: 600, + height: '100%', + width: '100%', + addClass: '', + startClass: 'lg-start-zoom', + backdropDuration: 150, + hideBarsDelay: 6000, + + useLeft: false, + + closable: true, + loop: true, + escKey: true, + keyPress: true, + controls: true, + slideEndAnimatoin: true, + hideControlOnEnd: false, + mousewheel: true, + + // .lg-item || '.lg-sub-html' + appendSubHtmlTo: '.lg-sub-html', + + /** + * @desc number of preload slides + * will exicute only after the current slide is fully loaded. + * + * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th + * slide will be loaded in the background after the 4th slide is fully loaded.. + * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ... + * + */ + preload: 1, + showAfterLoad: true, + selector: '', + selectWithin: '', + nextHtml: '', + prevHtml: '', + + // 0, 1 + index: false, + + iframeMaxWidth: '100%', + + download: true, + counter: true, + appendCounterTo: '.lg-toolbar', + + swipeThreshold: 50, + enableSwipe: true, + enableDrag: true, + + dynamic: false, + dynamicEl: [], + galleryId: 1 + }; + + function Plugin(element, options) { + + // Current lightGallery element + this.el = element; + + // Current jquery element + this.$el = $(element); + + // lightGallery settings + this.s = $.extend({}, defaults, options); + + // When using dynamic mode, ensure dynamicEl is an array + if (this.s.dynamic && this.s.dynamicEl !== 'undefined' && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) { + throw ('When using dynamic mode, you must also define dynamicEl as an Array.'); + } + + // lightGallery modules + this.modules = {}; + + // false when lightgallery complete first slide; + this.lGalleryOn = false; + + this.lgBusy = false; + + // Timeout function for hiding controls; + this.hideBartimeout = false; + + // To determine browser supports for touch events; + this.isTouch = ('ontouchstart' in document.documentElement); + + // Disable hideControlOnEnd if sildeEndAnimation is true + if (this.s.slideEndAnimatoin) { + this.s.hideControlOnEnd = false; + } + + // Gallery items + if (this.s.dynamic) { + this.$items = this.s.dynamicEl; + } else { + if (this.s.selector === 'this') { + this.$items = this.$el; + } else if (this.s.selector !== '') { + if (this.s.selectWithin) { + this.$items = $(this.s.selectWithin).find(this.s.selector); + } else { + this.$items = this.$el.find($(this.s.selector)); + } + } else { + this.$items = this.$el.children(); + } + } + + // .lg-item + this.$slide = ''; + + // .lg-outer + this.$outer = ''; + + this.init(); + + return this; + } + + Plugin.prototype.init = function() { + + var _this = this; + + // s.preload should not be more than $item.length + if (_this.s.preload > _this.$items.length) { + _this.s.preload = _this.$items.length; + } + + // if dynamic option is enabled execute immediately + var _hash = window.location.hash; + if (_hash.indexOf('lg=' + this.s.galleryId) > 0) { + + _this.index = parseInt(_hash.split('&slide=')[1], 10); + + $('body').addClass('lg-from-hash'); + if (!$('body').hasClass('lg-on')) { + setTimeout(function() { + _this.build(_this.index); + $('body').addClass('lg-on'); + }); + } + } + + if (_this.s.dynamic) { + + _this.$el.trigger('onBeforeOpen.lg'); + + _this.index = _this.s.index || 0; + + // prevent accidental double execution + if (!$('body').hasClass('lg-on')) { + setTimeout(function() { + _this.build(_this.index); + $('body').addClass('lg-on'); + }); + } + } else { + + // Using different namespace for click because click event should not unbind if selector is same object('this') + _this.$items.on('click.lgcustom', function(event) { + + // For IE8 + try { + event.preventDefault(); + event.preventDefault(); + } catch (er) { + event.returnValue = false; + } + + _this.$el.trigger('onBeforeOpen.lg'); + + _this.index = _this.s.index || _this.$items.index(this); + + // prevent accidental double execution + if (!$('body').hasClass('lg-on')) { + _this.build(_this.index); + $('body').addClass('lg-on'); + } + }); + } + + }; + + Plugin.prototype.build = function(index) { + + var _this = this; + + _this.structure(); + + // module constructor + $.each($.fn.lightGallery.modules, function(key) { + _this.modules[key] = new $.fn.lightGallery.modules[key](_this.el); + }); + + // initiate slide function + _this.slide(index, false, false); + + if (_this.s.keyPress) { + _this.keyPress(); + } + + if (_this.$items.length > 1) { + + _this.arrow(); + + setTimeout(function() { + _this.enableDrag(); + _this.enableSwipe(); + }, 50); + + if (_this.s.mousewheel) { + _this.mousewheel(); + } + } + + _this.counter(); + + _this.closeGallery(); + + _this.$el.trigger('onAfterOpen.lg'); + + // Hide controllers if mouse doesn't move for some period + _this.$outer.on('mousemove.lg click.lg touchstart.lg', function() { + + _this.$outer.removeClass('lg-hide-items'); + + clearTimeout(_this.hideBartimeout); + + // Timeout will be cleared on each slide movement also + _this.hideBartimeout = setTimeout(function() { + _this.$outer.addClass('lg-hide-items'); + }, _this.s.hideBarsDelay); + + }); + + }; + + Plugin.prototype.structure = function() { + var list = ''; + var controls = ''; + var i = 0; + var subHtmlCont = ''; + var template; + var _this = this; + + $('body').append('
'); + $('.lg-backdrop').css('transition-duration', this.s.backdropDuration + 'ms'); + + // Create gallery items + for (i = 0; i < this.$items.length; i++) { + list += '
'; + } + + // Create controlls + if (this.s.controls && this.$items.length > 1) { + controls = '
' + + '
' + this.s.prevHtml + '
' + + '
' + this.s.nextHtml + '
' + + '
'; + } + + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + subHtmlCont = '
'; + } + + template = '
' + + '
' + + '
' + list + '
' + + '
' + + '' + + '
' + + controls + + subHtmlCont + + '
' + + '
'; + + $('body').append(template); + this.$outer = $('.lg-outer'); + this.$slide = this.$outer.find('.lg-item'); + + if (this.s.useLeft) { + this.$outer.addClass('lg-use-left'); + + // Set mode lg-slide if use left is true; + this.s.mode = 'lg-slide'; + } else { + this.$outer.addClass('lg-use-css3'); + } + + // For fixed height gallery + _this.setTop(); + $(window).on('resize.lg orientationchange.lg', function() { + setTimeout(function() { + _this.setTop(); + }, 100); + }); + + // add class lg-current to remove initial transition + this.$slide.eq(this.index).addClass('lg-current'); + + // add Class for css support and transition mode + if (this.doCss()) { + this.$outer.addClass('lg-css3'); + } else { + this.$outer.addClass('lg-css'); + + // Set speed 0 because no animation will happen if browser doesn't support css3 + this.s.speed = 0; + } + + this.$outer.addClass(this.s.mode); + + if (this.s.enableDrag && this.$items.length > 1) { + this.$outer.addClass('lg-grab'); + } + + if (this.s.showAfterLoad) { + this.$outer.addClass('lg-show-after-load'); + } + + if (this.doCss()) { + var $inner = this.$outer.find('.lg-inner'); + $inner.css('transition-timing-function', this.s.cssEasing); + $inner.css('transition-duration', this.s.speed + 'ms'); + } + + $('.lg-backdrop').addClass('in'); + + setTimeout(function() { + _this.$outer.addClass('lg-visible'); + }, this.s.backdropDuration); + + if (this.s.download) { + this.$outer.find('.lg-toolbar').append(''); + } + + // Store the current scroll top value to scroll back after closing the gallery.. + this.prevScrollTop = $(window).scrollTop(); + + }; + + // For fixed height gallery + Plugin.prototype.setTop = function() { + if (this.s.height !== '100%') { + var wH = $(window).height(); + var top = (wH - parseInt(this.s.height, 10)) / 2; + var $lGallery = this.$outer.find('.lg'); + if (wH >= parseInt(this.s.height, 10)) { + $lGallery.css('top', top + 'px'); + } else { + $lGallery.css('top', '0px'); + } + } + }; + + // Find css3 support + Plugin.prototype.doCss = function() { + // check for css animation support + var support = function() { + var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition']; + var root = document.documentElement; + var i = 0; + for (i = 0; i < transition.length; i++) { + if (transition[i] in root.style) { + return true; + } + } + }; + + if (support()) { + return true; + } + + return false; + }; + + /** + * @desc Check the given src is video + * @param {String} src + * @return {Object} video type + * Ex:{ youtube : ["//www.youtube.com/watch?v=c0asJgSyxcY", "c0asJgSyxcY"] } + */ + Plugin.prototype.isVideo = function(src, index) { + + var html; + if (this.s.dynamic) { + html = this.s.dynamicEl[index].html; + } else { + html = this.$items.eq(index).attr('data-html'); + } + + if (!src && html) { + return { + html5: true + }; + } + + var youtube = src.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i); + var vimeo = src.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i); + var dailymotion = src.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i); + + if (youtube) { + return { + youtube: youtube + }; + } else if (vimeo) { + return { + vimeo: vimeo + }; + } else if (dailymotion) { + return { + dailymotion: dailymotion + }; + } + }; + + /** + * @desc Create image counter + * Ex: 1/10 + */ + Plugin.prototype.counter = function() { + if (this.s.counter) { + $(this.s.appendCounterTo).append('
' + (parseInt(this.index, 10) + 1) + ' / ' + this.$items.length + '
'); + } + }; + + /** + * @desc add sub-html into the slide + * @param {Number} index - index of the slide + */ + Plugin.prototype.addHtml = function(index) { + var subHtml = null; + var subHtmlUrl; + if (this.s.dynamic) { + if (this.s.dynamicEl[index].subHtmlUrl) { + subHtmlUrl = this.s.dynamicEl[index].subHtmlUrl; + } else { + subHtml = this.s.dynamicEl[index].subHtml; + } + } else { + if (this.$items.eq(index).attr('data-sub-html-url')) { + subHtmlUrl = this.$items.eq(index).attr('data-sub-html-url'); + } else { + subHtml = this.$items.eq(index).attr('data-sub-html'); + } + } + + if (!subHtmlUrl) { + if (typeof subHtml !== 'undefined' && subHtml !== null) { + + // get first letter of subhtml + // if first letter starts with . or # get the html form the jQuery object + var fL = subHtml.substring(0, 1); + if (fL === '.' || fL === '#') { + subHtml = $(subHtml).html(); + } else { + subHtml = subHtml; + } + } else { + subHtml = ''; + } + } + + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + + if (subHtmlUrl) { + this.$outer.find(this.s.appendSubHtmlTo).load(subHtmlUrl); + } else { + this.$outer.find(this.s.appendSubHtmlTo).html(subHtml); + } + + } else { + + if (subHtmlUrl) { + this.$slide.eq(index).load(subHtmlUrl); + } else { + this.$slide.eq(index).append(subHtml); + } + } + + // Add lg-empty-html class if title doesn't exist + if (typeof subHtml !== 'undefined' && subHtml !== null) { + if (subHtml === '') { + this.$outer.find(this.s.appendSubHtmlTo).addClass('lg-empty-html'); + } else { + this.$outer.find(this.s.appendSubHtmlTo).removeClass('lg-empty-html'); + } + } + + this.$el.trigger('onAfterAppendSubHtml.lg', [index]); + }; + + /** + * @desc Preload slides + * @param {Number} index - index of the slide + */ + Plugin.prototype.preload = function(index) { + var i = 1; + var j = 1; + for (i = 1; i <= this.s.preload; i++) { + if (i >= this.$items.length - index) { + break; + } + + this.loadContent(index + i, false, 0); + } + + for (j = 1; j <= this.s.preload; j++) { + if (index - j < 0) { + break; + } + + this.loadContent(index - j, false, 0); + } + }; + + /** + * @desc Load slide content into slide. + * @param {Number} index - index of the slide. + * @param {Boolean} rec - if true call loadcontent() function again. + * @param {Boolean} delay - delay for adding complete class. it is 0 except first time. + */ + Plugin.prototype.loadContent = function(index, rec, delay) { + + var _this = this; + var _hasPoster = false; + var _$img; + var _src; + var _poster; + var _srcset; + var _sizes; + var _html; + var getResponsiveSrc = function(srcItms) { + var rsWidth = []; + var rsSrc = []; + for (var i = 0; i < srcItms.length; i++) { + var __src = srcItms[i].split(' '); + + // Manage empty space + if (__src[0] === '') { + __src.splice(0, 1); + } + + rsSrc.push(__src[0]); + rsWidth.push(__src[1]); + } + + var wWidth = $(window).width(); + for (var j = 0; j < rsWidth.length; j++) { + if (parseInt(rsWidth[j], 10) > wWidth) { + _src = rsSrc[j]; + break; + } + } + }; + + if (_this.s.dynamic) { + + if (_this.s.dynamicEl[index].poster) { + _hasPoster = true; + _poster = _this.s.dynamicEl[index].poster; + } + + _html = _this.s.dynamicEl[index].html; + _src = _this.s.dynamicEl[index].src; + + if (_this.s.dynamicEl[index].responsive) { + var srcDyItms = _this.s.dynamicEl[index].responsive.split(','); + getResponsiveSrc(srcDyItms); + } + + _srcset = _this.s.dynamicEl[index].srcset; + _sizes = _this.s.dynamicEl[index].sizes; + + } else { + + if (_this.$items.eq(index).attr('data-poster')) { + _hasPoster = true; + _poster = _this.$items.eq(index).attr('data-poster'); + } + + _html = _this.$items.eq(index).attr('data-html'); + _src = _this.$items.eq(index).attr('href') || _this.$items.eq(index).attr('data-src'); + + if (_this.$items.eq(index).attr('data-responsive')) { + var srcItms = _this.$items.eq(index).attr('data-responsive').split(','); + getResponsiveSrc(srcItms); + } + + _srcset = _this.$items.eq(index).attr('data-srcset'); + _sizes = _this.$items.eq(index).attr('data-sizes'); + + } + + //if (_src || _srcset || _sizes || _poster) { + + var iframe = false; + if (_this.s.dynamic) { + if (_this.s.dynamicEl[index].iframe) { + iframe = true; + } + } else { + if (_this.$items.eq(index).attr('data-iframe') === 'true') { + iframe = true; + } + } + + var _isVideo = _this.isVideo(_src, index); + if (!_this.$slide.eq(index).hasClass('lg-loaded')) { + if (iframe) { + _this.$slide.eq(index).prepend('
'); + } else if (_hasPoster) { + var videoClass = ''; + if (_isVideo && _isVideo.youtube) { + videoClass = 'lg-has-youtube'; + } else if (_isVideo && _isVideo.vimeo) { + videoClass = 'lg-has-vimeo'; + } else { + videoClass = 'lg-has-html5'; + } + + _this.$slide.eq(index).prepend('
'); + + } else if (_isVideo) { + _this.$slide.eq(index).prepend('
'); + _this.$el.trigger('hasVideo.lg', [index, _src, _html]); + } else { + _this.$slide.eq(index).prepend('
'); + } + + _this.$el.trigger('onAferAppendSlide.lg', [index]); + + _$img = _this.$slide.eq(index).find('.lg-object'); + if (_sizes) { + _$img.attr('sizes', _sizes); + } + + if (_srcset) { + _$img.attr('srcset', _srcset); + try { + picturefill({ + elements: [_$img[0]] + }); + } catch (e) { + console.error('Make sure you have included Picturefill version 2'); + } + } + + if (this.s.appendSubHtmlTo !== '.lg-sub-html') { + _this.addHtml(index); + } + + _this.$slide.eq(index).addClass('lg-loaded'); + } + + _this.$slide.eq(index).find('.lg-object').on('load.lg error.lg', function() { + + // For first time add some delay for displaying the start animation. + var _speed = 0; + + // Do not change the delay value because it is required for zoom plugin. + // If gallery opened from direct url (hash) speed value should be 0 + if (delay && !$('body').hasClass('lg-from-hash')) { + _speed = delay; + } + + setTimeout(function() { + _this.$slide.eq(index).addClass('lg-complete'); + _this.$el.trigger('onSlideItemLoad.lg', [index, delay || 0]); + }, _speed); + + }); + + // @todo check load state for html5 videos + if (_isVideo && _isVideo.html5 && !_hasPoster) { + _this.$slide.eq(index).addClass('lg-complete'); + } + + if (rec === true) { + if (!_this.$slide.eq(index).hasClass('lg-complete')) { + _this.$slide.eq(index).find('.lg-object').on('load.lg error.lg', function() { + _this.preload(index); + }); + } else { + _this.preload(index); + } + } + + //} + }; + + /** + * @desc slide function for lightgallery + ** Slide() gets call on start + ** ** Set lg.on true once slide() function gets called. + ** Call loadContent() on slide() function inside setTimeout + ** ** On first slide we do not want any animation like slide of fade + ** ** So on first slide( if lg.on if false that is first slide) loadContent() should start loading immediately + ** ** Else loadContent() should wait for the transition to complete. + ** ** So set timeout s.speed + 50 + <=> ** loadContent() will load slide content in to the particular slide + ** ** It has recursion (rec) parameter. if rec === true loadContent() will call preload() function. + ** ** preload will execute only when the previous slide is fully loaded (images iframe) + ** ** avoid simultaneous image load + <=> ** Preload() will check for s.preload value and call loadContent() again accoring to preload value + ** loadContent() <====> Preload(); + + * @param {Number} index - index of the slide + * @param {Boolean} fromTouch - true if slide function called via touch event or mouse drag + * @param {Boolean} fromThumb - true if slide function called via thumbnail click + */ + Plugin.prototype.slide = function(index, fromTouch, fromThumb) { + + var _prevIndex = this.$outer.find('.lg-current').index(); + var _this = this; + + // Prevent if multiple call + // Required for hsh plugin + if (_this.lGalleryOn && (_prevIndex === index)) { + return; + } + + var _length = this.$slide.length; + var _time = _this.lGalleryOn ? this.s.speed : 0; + var _next = false; + var _prev = false; + + if (!_this.lgBusy) { + + if (this.s.download) { + var _src; + if (_this.s.dynamic) { + _src = _this.s.dynamicEl[index].downloadUrl !== false && (_this.s.dynamicEl[index].downloadUrl || _this.s.dynamicEl[index].src); + } else { + _src = _this.$items.eq(index).attr('data-download-url') !== 'false' && (_this.$items.eq(index).attr('data-download-url') || _this.$items.eq(index).attr('href') || _this.$items.eq(index).attr('data-src')); + + } + + if (_src) { + $('#lg-download').attr('href', _src); + _this.$outer.removeClass('lg-hide-download'); + } else { + _this.$outer.addClass('lg-hide-download'); + } + } + + this.$el.trigger('onBeforeSlide.lg', [_prevIndex, index, fromTouch, fromThumb]); + + _this.lgBusy = true; + + clearTimeout(_this.hideBartimeout); + + // Add title if this.s.appendSubHtmlTo === lg-sub-html + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + + // wait for slide animation to complete + setTimeout(function() { + _this.addHtml(index); + }, _time); + } + + this.arrowDisable(index); + + if (!fromTouch) { + + // remove all transitions + _this.$outer.addClass('lg-no-trans'); + + this.$slide.removeClass('lg-prev-slide lg-next-slide'); + + if (index < _prevIndex) { + _prev = true; + if ((index === 0) && (_prevIndex === _length - 1) && !fromThumb) { + _prev = false; + _next = true; + } + } else if (index > _prevIndex) { + _next = true; + if ((index === _length - 1) && (_prevIndex === 0) && !fromThumb) { + _prev = true; + _next = false; + } + } + + if (_prev) { + + //prevslide + this.$slide.eq(index).addClass('lg-prev-slide'); + this.$slide.eq(_prevIndex).addClass('lg-next-slide'); + } else if (_next) { + + // next slide + this.$slide.eq(index).addClass('lg-next-slide'); + this.$slide.eq(_prevIndex).addClass('lg-prev-slide'); + } + + // give 50 ms for browser to add/remove class + setTimeout(function() { + _this.$slide.removeClass('lg-current'); + + //_this.$slide.eq(_prevIndex).removeClass('lg-current'); + _this.$slide.eq(index).addClass('lg-current'); + + // reset all transitions + _this.$outer.removeClass('lg-no-trans'); + }, 50); + } else { + + var touchPrev = index - 1; + var touchNext = index + 1; + + if ((index === 0) && (_prevIndex === _length - 1)) { + + // next slide + touchNext = 0; + touchPrev = _length - 1; + } else if ((index === _length - 1) && (_prevIndex === 0)) { + + // prev slide + touchNext = 0; + touchPrev = _length - 1; + } + + this.$slide.removeClass('lg-prev-slide lg-current lg-next-slide'); + _this.$slide.eq(touchPrev).addClass('lg-prev-slide'); + _this.$slide.eq(touchNext).addClass('lg-next-slide'); + _this.$slide.eq(index).addClass('lg-current'); + } + + if (_this.lGalleryOn) { + setTimeout(function() { + _this.loadContent(index, true, 0); + }, this.s.speed + 50); + + setTimeout(function() { + _this.lgBusy = false; + _this.$el.trigger('onAfterSlide.lg', [_prevIndex, index, fromTouch, fromThumb]); + }, this.s.speed); + + } else { + _this.loadContent(index, true, _this.s.backdropDuration); + + _this.lgBusy = false; + _this.$el.trigger('onAfterSlide.lg', [_prevIndex, index, fromTouch, fromThumb]); + } + + _this.lGalleryOn = true; + + if (this.s.counter) { + $('#lg-counter-current').text(index + 1); + } + + } + + }; + + /** + * @desc Go to next slide + * @param {Boolean} fromTouch - true if slide function called via touch event + */ + Plugin.prototype.goToNextSlide = function(fromTouch) { + var _this = this; + if (!_this.lgBusy) { + if ((_this.index + 1) < _this.$slide.length) { + _this.index++; + _this.$el.trigger('onBeforeNextSlide.lg', [_this.index]); + _this.slide(_this.index, fromTouch, false); + } else { + if (_this.s.loop) { + _this.index = 0; + _this.$el.trigger('onBeforeNextSlide.lg', [_this.index]); + _this.slide(_this.index, fromTouch, false); + } else if (_this.s.slideEndAnimatoin) { + _this.$outer.addClass('lg-right-end'); + setTimeout(function() { + _this.$outer.removeClass('lg-right-end'); + }, 400); + } + } + } + }; + + /** + * @desc Go to previous slide + * @param {Boolean} fromTouch - true if slide function called via touch event + */ + Plugin.prototype.goToPrevSlide = function(fromTouch) { + var _this = this; + if (!_this.lgBusy) { + if (_this.index > 0) { + _this.index--; + _this.$el.trigger('onBeforePrevSlide.lg', [_this.index, fromTouch]); + _this.slide(_this.index, fromTouch, false); + } else { + if (_this.s.loop) { + _this.index = _this.$items.length - 1; + _this.$el.trigger('onBeforePrevSlide.lg', [_this.index, fromTouch]); + _this.slide(_this.index, fromTouch, false); + } else if (_this.s.slideEndAnimatoin) { + _this.$outer.addClass('lg-left-end'); + setTimeout(function() { + _this.$outer.removeClass('lg-left-end'); + }, 400); + } + } + } + }; + + Plugin.prototype.keyPress = function() { + var _this = this; + if (this.$items.length > 1) { + $(window).on('keyup.lg', function(e) { + if (_this.$items.length > 1) { + if (e.keyCode === 37) { + e.preventDefault(); + _this.goToPrevSlide(); + } + + if (e.keyCode === 39) { + e.preventDefault(); + _this.goToNextSlide(); + } + } + }); + } + + $(window).on('keydown.lg', function(e) { + if (_this.s.escKey === true && e.keyCode === 27) { + e.preventDefault(); + if (!_this.$outer.hasClass('lg-thumb-open')) { + _this.destroy(); + } else { + _this.$outer.removeClass('lg-thumb-open'); + } + } + }); + }; + + Plugin.prototype.arrow = function() { + var _this = this; + this.$outer.find('.lg-prev').on('click.lg', function() { + _this.goToPrevSlide(); + }); + + this.$outer.find('.lg-next').on('click.lg', function() { + _this.goToNextSlide(); + }); + }; + + Plugin.prototype.arrowDisable = function(index) { + + // Disable arrows if s.hideControlOnEnd is true + if (!this.s.loop && this.s.hideControlOnEnd) { + if ((index + 1) < this.$slide.length) { + this.$outer.find('.lg-next').removeAttr('disabled').removeClass('disabled'); + } else { + this.$outer.find('.lg-next').attr('disabled', 'disabled').addClass('disabled'); + } + + if (index > 0) { + this.$outer.find('.lg-prev').removeAttr('disabled').removeClass('disabled'); + } else { + this.$outer.find('.lg-prev').attr('disabled', 'disabled').addClass('disabled'); + } + } + }; + + Plugin.prototype.setTranslate = function($el, xValue, yValue) { + // jQuery supports Automatic CSS prefixing since jQuery 1.8.0 + if (this.s.useLeft) { + $el.css('left', xValue); + } else { + $el.css({ + transform: 'translate3d(' + (xValue) + 'px, ' + yValue + 'px, 0px)' + }); + } + }; + + Plugin.prototype.touchMove = function(startCoords, endCoords) { + + var distance = endCoords - startCoords; + + if (Math.abs(distance) > 15) { + // reset opacity and transition duration + this.$outer.addClass('lg-dragging'); + + // move current slide + this.setTranslate(this.$slide.eq(this.index), distance, 0); + + // move next and prev slide with current slide + this.setTranslate($('.lg-prev-slide'), -this.$slide.eq(this.index).width() + distance, 0); + this.setTranslate($('.lg-next-slide'), this.$slide.eq(this.index).width() + distance, 0); + } + }; + + Plugin.prototype.touchEnd = function(distance) { + var _this = this; + + // keep slide animation for any mode while dragg/swipe + if (_this.s.mode !== 'lg-slide') { + _this.$outer.addClass('lg-slide'); + } + + this.$slide.not('.lg-current, .lg-prev-slide, .lg-next-slide').css('opacity', '0'); + + // set transition duration + setTimeout(function() { + _this.$outer.removeClass('lg-dragging'); + if ((distance < 0) && (Math.abs(distance) > _this.s.swipeThreshold)) { + _this.goToNextSlide(true); + } else if ((distance > 0) && (Math.abs(distance) > _this.s.swipeThreshold)) { + _this.goToPrevSlide(true); + } else if (Math.abs(distance) < 5) { + + // Trigger click if distance is less than 5 pix + _this.$el.trigger('onSlideClick.lg'); + } + + _this.$slide.removeAttr('style'); + }); + + // remove slide class once drag/swipe is completed if mode is not slide + setTimeout(function() { + if (!_this.$outer.hasClass('lg-dragging') && _this.s.mode !== 'lg-slide') { + _this.$outer.removeClass('lg-slide'); + } + }, _this.s.speed + 100); + + }; + + Plugin.prototype.enableSwipe = function() { + var _this = this; + var startCoords = 0; + var endCoords = 0; + var isMoved = false; + + if (_this.s.enableSwipe && _this.isTouch && _this.doCss()) { + + _this.$slide.on('touchstart.lg', function(e) { + if (!_this.$outer.hasClass('lg-zoomed') && !_this.lgBusy) { + e.preventDefault(); + _this.manageSwipeClass(); + startCoords = e.originalEvent.targetTouches[0].pageX; + } + }); + + _this.$slide.on('touchmove.lg', function(e) { + if (!_this.$outer.hasClass('lg-zoomed')) { + e.preventDefault(); + endCoords = e.originalEvent.targetTouches[0].pageX; + _this.touchMove(startCoords, endCoords); + isMoved = true; + } + }); + + _this.$slide.on('touchend.lg', function() { + if (!_this.$outer.hasClass('lg-zoomed')) { + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords - startCoords); + } else { + _this.$el.trigger('onSlideClick.lg'); + } + } + }); + } + + }; + + Plugin.prototype.enableDrag = function() { + var _this = this; + var startCoords = 0; + var endCoords = 0; + var isDraging = false; + var isMoved = false; + if (_this.s.enableDrag && !_this.isTouch && _this.doCss()) { + _this.$slide.on('mousedown.lg', function(e) { + // execute only on .lg-object + if (!_this.$outer.hasClass('lg-zoomed')) { + if ($(e.target).hasClass('lg-object') || $(e.target).hasClass('lg-video-play')) { + e.preventDefault(); + + if (!_this.lgBusy) { + _this.manageSwipeClass(); + startCoords = e.pageX; + isDraging = true; + + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + _this.$outer.scrollLeft += 1; + _this.$outer.scrollLeft -= 1; + + // * + + _this.$outer.removeClass('lg-grab').addClass('lg-grabbing'); + + _this.$el.trigger('onDragstart.lg'); + } + + } + } + }); + + $(window).on('mousemove.lg', function(e) { + if (isDraging) { + isMoved = true; + endCoords = e.pageX; + _this.touchMove(startCoords, endCoords); + _this.$el.trigger('onDragmove.lg'); + } + }); + + $(window).on('mouseup.lg', function(e) { + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords - startCoords); + _this.$el.trigger('onDragend.lg'); + } else if ($(e.target).hasClass('lg-object') || $(e.target).hasClass('lg-video-play')) { + _this.$el.trigger('onSlideClick.lg'); + } + + // Prevent execution on click + if (isDraging) { + isDraging = false; + _this.$outer.removeClass('lg-grabbing').addClass('lg-grab'); + } + }); + + } + }; + + Plugin.prototype.manageSwipeClass = function() { + var touchNext = this.index + 1; + var touchPrev = this.index - 1; + var length = this.$slide.length; + if (this.s.loop) { + if (this.index === 0) { + touchPrev = length - 1; + } else if (this.index === length - 1) { + touchNext = 0; + } + } + + this.$slide.removeClass('lg-next-slide lg-prev-slide'); + if (touchPrev > -1) { + this.$slide.eq(touchPrev).addClass('lg-prev-slide'); + } + + this.$slide.eq(touchNext).addClass('lg-next-slide'); + }; + + Plugin.prototype.mousewheel = function() { + var _this = this; + _this.$outer.on('mousewheel.lg', function(e) { + + if (!e.deltaY) { + return; + } + + if (e.deltaY > 0) { + _this.goToPrevSlide(); + } else { + _this.goToNextSlide(); + } + + e.preventDefault(); + }); + + }; + + Plugin.prototype.closeGallery = function() { + + var _this = this; + var mousedown = false; + this.$outer.find('.lg-close').on('click.lg', function() { + _this.destroy(); + }); + + if (_this.s.closable) { + + // If you drag the slide and release outside gallery gets close on chrome + // for preventing this check mousedown and mouseup happened on .lg-item or lg-outer + _this.$outer.on('mousedown.lg', function(e) { + + if ($(e.target).is('.lg-outer') || $(e.target).is('.lg-item ') || $(e.target).is('.lg-img-wrap')) { + mousedown = true; + } else { + mousedown = false; + } + + }); + + _this.$outer.on('mouseup.lg', function(e) { + + if ($(e.target).is('.lg-outer') || $(e.target).is('.lg-item ') || $(e.target).is('.lg-img-wrap') && mousedown) { + if (!_this.$outer.hasClass('lg-dragging')) { + _this.destroy(); + } + } + + }); + + } + + }; + + Plugin.prototype.destroy = function(d) { + + var _this = this; + + if (!d) { + _this.$el.trigger('onBeforeClose.lg'); + } + + $(window).scrollTop(_this.prevScrollTop); + + /** + * if d is false or undefined destroy will only close the gallery + * plugins instance remains with the element + * + * if d is true destroy will completely remove the plugin + */ + + if (d) { + if (!_this.s.dynamic) { + // only when not using dynamic mode is $items a jquery collection + this.$items.off('click.lg click.lgcustom'); + } + + $.removeData(_this.el, 'lightGallery'); + } + + // Unbind all events added by lightGallery + this.$el.off('.lg.tm'); + + // Distroy all lightGallery modules + $.each($.fn.lightGallery.modules, function(key) { + if (_this.modules[key]) { + _this.modules[key].destroy(); + } + }); + + this.lGalleryOn = false; + + clearTimeout(_this.hideBartimeout); + this.hideBartimeout = false; + $(window).off('.lg'); + $('body').removeClass('lg-on lg-from-hash'); + + if (_this.$outer) { + _this.$outer.removeClass('lg-visible'); + } + + $('.lg-backdrop').removeClass('in'); + + setTimeout(function() { + if (_this.$outer) { + _this.$outer.remove(); + } + + $('.lg-backdrop').remove(); + + if (!d) { + _this.$el.trigger('onCloseAfter.lg'); + } + + }, _this.s.backdropDuration + 50); + }; + + $.fn.lightGallery = function(options) { + return this.each(function() { + if (!$.data(this, 'lightGallery')) { + $.data(this, 'lightGallery', new Plugin(this, options)); + } else { + try { + $(this).data('lightGallery').init(); + } catch (err) { + console.error('lightGallery has not initiated properly'); + } + } + }); + }; + + $.fn.lightGallery.modules = {}; + +})(jQuery, window, document); diff --git a/theme/public/lightgallery/js/lightgallery.min.js b/theme/public/lightgallery/js/lightgallery.min.js new file mode 100644 index 0000000..38578d7 --- /dev/null +++ b/theme/public/lightgallery/js/lightgallery.min.js @@ -0,0 +1,4 @@ +/*! lightgallery - v1.2.14 - 2016-01-18 +* http://sachinchoolur.github.io/lightGallery/ +* Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */ +!function(a,b,c,d){"use strict";function e(b,d){if(this.el=b,this.$el=a(b),this.s=a.extend({},f,d),this.s.dynamic&&"undefined"!==this.s.dynamicEl&&this.s.dynamicEl.constructor===Array&&!this.s.dynamicEl.length)throw"When using dynamic mode, you must also define dynamicEl as an Array.";return this.modules={},this.lGalleryOn=!1,this.lgBusy=!1,this.hideBartimeout=!1,this.isTouch="ontouchstart"in c.documentElement,this.s.slideEndAnimatoin&&(this.s.hideControlOnEnd=!1),this.s.dynamic?this.$items=this.s.dynamicEl:"this"===this.s.selector?this.$items=this.$el:""!==this.s.selector?this.s.selectWithin?this.$items=a(this.s.selectWithin).find(this.s.selector):this.$items=this.$el.find(a(this.s.selector)):this.$items=this.$el.children(),this.$slide="",this.$outer="",this.init(),this}var f={mode:"lg-slide",cssEasing:"ease",easing:"linear",speed:600,height:"100%",width:"100%",addClass:"",startClass:"lg-start-zoom",backdropDuration:150,hideBarsDelay:6e3,useLeft:!1,closable:!0,loop:!0,escKey:!0,keyPress:!0,controls:!0,slideEndAnimatoin:!0,hideControlOnEnd:!1,mousewheel:!0,appendSubHtmlTo:".lg-sub-html",preload:1,showAfterLoad:!0,selector:"",selectWithin:"",nextHtml:"",prevHtml:"",index:!1,iframeMaxWidth:"100%",download:!0,counter:!0,appendCounterTo:".lg-toolbar",swipeThreshold:50,enableSwipe:!0,enableDrag:!0,dynamic:!1,dynamicEl:[],galleryId:1};e.prototype.init=function(){var c=this;c.s.preload>c.$items.length&&(c.s.preload=c.$items.length);var d=b.location.hash;d.indexOf("lg="+this.s.galleryId)>0&&(c.index=parseInt(d.split("&slide=")[1],10),a("body").addClass("lg-from-hash"),a("body").hasClass("lg-on")||setTimeout(function(){c.build(c.index),a("body").addClass("lg-on")})),c.s.dynamic?(c.$el.trigger("onBeforeOpen.lg"),c.index=c.s.index||0,a("body").hasClass("lg-on")||setTimeout(function(){c.build(c.index),a("body").addClass("lg-on")})):c.$items.on("click.lgcustom",function(b){try{b.preventDefault(),b.preventDefault()}catch(d){b.returnValue=!1}c.$el.trigger("onBeforeOpen.lg"),c.index=c.s.index||c.$items.index(this),a("body").hasClass("lg-on")||(c.build(c.index),a("body").addClass("lg-on"))})},e.prototype.build=function(b){var c=this;c.structure(),a.each(a.fn.lightGallery.modules,function(b){c.modules[b]=new a.fn.lightGallery.modules[b](c.el)}),c.slide(b,!1,!1),c.s.keyPress&&c.keyPress(),c.$items.length>1&&(c.arrow(),setTimeout(function(){c.enableDrag(),c.enableSwipe()},50),c.s.mousewheel&&c.mousewheel()),c.counter(),c.closeGallery(),c.$el.trigger("onAfterOpen.lg"),c.$outer.on("mousemove.lg click.lg touchstart.lg",function(){c.$outer.removeClass("lg-hide-items"),clearTimeout(c.hideBartimeout),c.hideBartimeout=setTimeout(function(){c.$outer.addClass("lg-hide-items")},c.s.hideBarsDelay)})},e.prototype.structure=function(){var c,d="",e="",f=0,g="",h=this;for(a("body").append('
'),a(".lg-backdrop").css("transition-duration",this.s.backdropDuration+"ms"),f=0;f';if(this.s.controls&&this.$items.length>1&&(e='
'+this.s.prevHtml+'
'+this.s.nextHtml+"
"),".lg-sub-html"===this.s.appendSubHtmlTo&&(g='
'),c='
'+d+'
'+e+g+"
",a("body").append(c),this.$outer=a(".lg-outer"),this.$slide=this.$outer.find(".lg-item"),this.s.useLeft?(this.$outer.addClass("lg-use-left"),this.s.mode="lg-slide"):this.$outer.addClass("lg-use-css3"),h.setTop(),a(b).on("resize.lg orientationchange.lg",function(){setTimeout(function(){h.setTop()},100)}),this.$slide.eq(this.index).addClass("lg-current"),this.doCss()?this.$outer.addClass("lg-css3"):(this.$outer.addClass("lg-css"),this.s.speed=0),this.$outer.addClass(this.s.mode),this.s.enableDrag&&this.$items.length>1&&this.$outer.addClass("lg-grab"),this.s.showAfterLoad&&this.$outer.addClass("lg-show-after-load"),this.doCss()){var i=this.$outer.find(".lg-inner");i.css("transition-timing-function",this.s.cssEasing),i.css("transition-duration",this.s.speed+"ms")}a(".lg-backdrop").addClass("in"),setTimeout(function(){h.$outer.addClass("lg-visible")},this.s.backdropDuration),this.s.download&&this.$outer.find(".lg-toolbar").append(''),this.prevScrollTop=a(b).scrollTop()},e.prototype.setTop=function(){if("100%"!==this.s.height){var c=a(b).height(),d=(c-parseInt(this.s.height,10))/2,e=this.$outer.find(".lg");c>=parseInt(this.s.height,10)?e.css("top",d+"px"):e.css("top","0px")}},e.prototype.doCss=function(){var a=function(){var a=["transition","MozTransition","WebkitTransition","OTransition","msTransition","KhtmlTransition"],b=c.documentElement,d=0;for(d=0;d'+(parseInt(this.index,10)+1)+' / '+this.$items.length+"")},e.prototype.addHtml=function(b){var c,d=null;if(this.s.dynamic?this.s.dynamicEl[b].subHtmlUrl?c=this.s.dynamicEl[b].subHtmlUrl:d=this.s.dynamicEl[b].subHtml:this.$items.eq(b).attr("data-sub-html-url")?c=this.$items.eq(b).attr("data-sub-html-url"):d=this.$items.eq(b).attr("data-sub-html"),!c)if("undefined"!=typeof d&&null!==d){var e=d.substring(0,1);d="."===e||"#"===e?a(d).html():d}else d="";".lg-sub-html"===this.s.appendSubHtmlTo?c?this.$outer.find(this.s.appendSubHtmlTo).load(c):this.$outer.find(this.s.appendSubHtmlTo).html(d):c?this.$slide.eq(b).load(c):this.$slide.eq(b).append(d),"undefined"!=typeof d&&null!==d&&(""===d?this.$outer.find(this.s.appendSubHtmlTo).addClass("lg-empty-html"):this.$outer.find(this.s.appendSubHtmlTo).removeClass("lg-empty-html")),this.$el.trigger("onAfterAppendSubHtml.lg",[b])},e.prototype.preload=function(a){var b=1,c=1;for(b=1;b<=this.s.preload&&!(b>=this.$items.length-a);b++)this.loadContent(a+b,!1,0);for(c=1;c<=this.s.preload&&!(0>a-c);c++)this.loadContent(a-c,!1,0)},e.prototype.loadContent=function(c,d,e){var f,g,h,i,j,k,l=this,m=!1,n=function(c){for(var d=[],e=[],f=0;fi){g=e[j];break}};if(l.s.dynamic){if(l.s.dynamicEl[c].poster&&(m=!0,h=l.s.dynamicEl[c].poster),k=l.s.dynamicEl[c].html,g=l.s.dynamicEl[c].src,l.s.dynamicEl[c].responsive){var o=l.s.dynamicEl[c].responsive.split(",");n(o)}i=l.s.dynamicEl[c].srcset,j=l.s.dynamicEl[c].sizes}else{if(l.$items.eq(c).attr("data-poster")&&(m=!0,h=l.$items.eq(c).attr("data-poster")),k=l.$items.eq(c).attr("data-html"),g=l.$items.eq(c).attr("href")||l.$items.eq(c).attr("data-src"),l.$items.eq(c).attr("data-responsive")){var p=l.$items.eq(c).attr("data-responsive").split(",");n(p)}i=l.$items.eq(c).attr("data-srcset"),j=l.$items.eq(c).attr("data-sizes")}var q=!1;l.s.dynamic?l.s.dynamicEl[c].iframe&&(q=!0):"true"===l.$items.eq(c).attr("data-iframe")&&(q=!0);var r=l.isVideo(g,c);if(!l.$slide.eq(c).hasClass("lg-loaded")){if(q)l.$slide.eq(c).prepend('
');else if(m){var s="";s=r&&r.youtube?"lg-has-youtube":r&&r.vimeo?"lg-has-vimeo":"lg-has-html5",l.$slide.eq(c).prepend('
')}else r?(l.$slide.eq(c).prepend('
'),l.$el.trigger("hasVideo.lg",[c,g,k])):l.$slide.eq(c).prepend('
');if(l.$el.trigger("onAferAppendSlide.lg",[c]),f=l.$slide.eq(c).find(".lg-object"),j&&f.attr("sizes",j),i){f.attr("srcset",i);try{picturefill({elements:[f[0]]})}catch(t){console.error("Make sure you have included Picturefill version 2")}}".lg-sub-html"!==this.s.appendSubHtmlTo&&l.addHtml(c),l.$slide.eq(c).addClass("lg-loaded")}l.$slide.eq(c).find(".lg-object").on("load.lg error.lg",function(){var b=0;e&&!a("body").hasClass("lg-from-hash")&&(b=e),setTimeout(function(){l.$slide.eq(c).addClass("lg-complete"),l.$el.trigger("onSlideItemLoad.lg",[c,e||0])},b)}),r&&r.html5&&!m&&l.$slide.eq(c).addClass("lg-complete"),d===!0&&(l.$slide.eq(c).hasClass("lg-complete")?l.preload(c):l.$slide.eq(c).find(".lg-object").on("load.lg error.lg",function(){l.preload(c)}))},e.prototype.slide=function(b,c,d){var e=this.$outer.find(".lg-current").index(),f=this;if(!f.lGalleryOn||e!==b){var g=this.$slide.length,h=f.lGalleryOn?this.s.speed:0,i=!1,j=!1;if(!f.lgBusy){if(this.s.download){var k;k=f.s.dynamic?f.s.dynamicEl[b].downloadUrl!==!1&&(f.s.dynamicEl[b].downloadUrl||f.s.dynamicEl[b].src):"false"!==f.$items.eq(b).attr("data-download-url")&&(f.$items.eq(b).attr("data-download-url")||f.$items.eq(b).attr("href")||f.$items.eq(b).attr("data-src")),k?(a("#lg-download").attr("href",k),f.$outer.removeClass("lg-hide-download")):f.$outer.addClass("lg-hide-download")}if(this.$el.trigger("onBeforeSlide.lg",[e,b,c,d]),f.lgBusy=!0,clearTimeout(f.hideBartimeout),".lg-sub-html"===this.s.appendSubHtmlTo&&setTimeout(function(){f.addHtml(b)},h),this.arrowDisable(b),c){var l=b-1,m=b+1;0===b&&e===g-1?(m=0,l=g-1):b===g-1&&0===e&&(m=0,l=g-1),this.$slide.removeClass("lg-prev-slide lg-current lg-next-slide"),f.$slide.eq(l).addClass("lg-prev-slide"),f.$slide.eq(m).addClass("lg-next-slide"),f.$slide.eq(b).addClass("lg-current")}else f.$outer.addClass("lg-no-trans"),this.$slide.removeClass("lg-prev-slide lg-next-slide"),e>b?(j=!0,0!==b||e!==g-1||d||(j=!1,i=!0)):b>e&&(i=!0,b!==g-1||0!==e||d||(j=!0,i=!1)),j?(this.$slide.eq(b).addClass("lg-prev-slide"),this.$slide.eq(e).addClass("lg-next-slide")):i&&(this.$slide.eq(b).addClass("lg-next-slide"),this.$slide.eq(e).addClass("lg-prev-slide")),setTimeout(function(){f.$slide.removeClass("lg-current"),f.$slide.eq(b).addClass("lg-current"),f.$outer.removeClass("lg-no-trans")},50);f.lGalleryOn?(setTimeout(function(){f.loadContent(b,!0,0)},this.s.speed+50),setTimeout(function(){f.lgBusy=!1,f.$el.trigger("onAfterSlide.lg",[e,b,c,d])},this.s.speed)):(f.loadContent(b,!0,f.s.backdropDuration),f.lgBusy=!1,f.$el.trigger("onAfterSlide.lg",[e,b,c,d])),f.lGalleryOn=!0,this.s.counter&&a("#lg-counter-current").text(b+1)}}},e.prototype.goToNextSlide=function(a){var b=this;b.lgBusy||(b.index+10?(b.index--,b.$el.trigger("onBeforePrevSlide.lg",[b.index,a]),b.slide(b.index,a,!1)):b.s.loop?(b.index=b.$items.length-1,b.$el.trigger("onBeforePrevSlide.lg",[b.index,a]),b.slide(b.index,a,!1)):b.s.slideEndAnimatoin&&(b.$outer.addClass("lg-left-end"),setTimeout(function(){b.$outer.removeClass("lg-left-end")},400)))},e.prototype.keyPress=function(){var c=this;this.$items.length>1&&a(b).on("keyup.lg",function(a){c.$items.length>1&&(37===a.keyCode&&(a.preventDefault(),c.goToPrevSlide()),39===a.keyCode&&(a.preventDefault(),c.goToNextSlide()))}),a(b).on("keydown.lg",function(a){c.s.escKey===!0&&27===a.keyCode&&(a.preventDefault(),c.$outer.hasClass("lg-thumb-open")?c.$outer.removeClass("lg-thumb-open"):c.destroy())})},e.prototype.arrow=function(){var a=this;this.$outer.find(".lg-prev").on("click.lg",function(){a.goToPrevSlide()}),this.$outer.find(".lg-next").on("click.lg",function(){a.goToNextSlide()})},e.prototype.arrowDisable=function(a){!this.s.loop&&this.s.hideControlOnEnd&&(a+10?this.$outer.find(".lg-prev").removeAttr("disabled").removeClass("disabled"):this.$outer.find(".lg-prev").attr("disabled","disabled").addClass("disabled"))},e.prototype.setTranslate=function(a,b,c){this.s.useLeft?a.css("left",b):a.css({transform:"translate3d("+b+"px, "+c+"px, 0px)"})},e.prototype.touchMove=function(b,c){var d=c-b;Math.abs(d)>15&&(this.$outer.addClass("lg-dragging"),this.setTranslate(this.$slide.eq(this.index),d,0),this.setTranslate(a(".lg-prev-slide"),-this.$slide.eq(this.index).width()+d,0),this.setTranslate(a(".lg-next-slide"),this.$slide.eq(this.index).width()+d,0))},e.prototype.touchEnd=function(a){var b=this;"lg-slide"!==b.s.mode&&b.$outer.addClass("lg-slide"),this.$slide.not(".lg-current, .lg-prev-slide, .lg-next-slide").css("opacity","0"),setTimeout(function(){b.$outer.removeClass("lg-dragging"),0>a&&Math.abs(a)>b.s.swipeThreshold?b.goToNextSlide(!0):a>0&&Math.abs(a)>b.s.swipeThreshold?b.goToPrevSlide(!0):Math.abs(a)<5&&b.$el.trigger("onSlideClick.lg"),b.$slide.removeAttr("style")}),setTimeout(function(){b.$outer.hasClass("lg-dragging")||"lg-slide"===b.s.mode||b.$outer.removeClass("lg-slide")},b.s.speed+100)},e.prototype.enableSwipe=function(){var a=this,b=0,c=0,d=!1;a.s.enableSwipe&&a.isTouch&&a.doCss()&&(a.$slide.on("touchstart.lg",function(c){a.$outer.hasClass("lg-zoomed")||a.lgBusy||(c.preventDefault(),a.manageSwipeClass(),b=c.originalEvent.targetTouches[0].pageX)}),a.$slide.on("touchmove.lg",function(e){a.$outer.hasClass("lg-zoomed")||(e.preventDefault(),c=e.originalEvent.targetTouches[0].pageX,a.touchMove(b,c),d=!0)}),a.$slide.on("touchend.lg",function(){a.$outer.hasClass("lg-zoomed")||(d?(d=!1,a.touchEnd(c-b)):a.$el.trigger("onSlideClick.lg"))}))},e.prototype.enableDrag=function(){var c=this,d=0,e=0,f=!1,g=!1;c.s.enableDrag&&!c.isTouch&&c.doCss()&&(c.$slide.on("mousedown.lg",function(b){c.$outer.hasClass("lg-zoomed")||(a(b.target).hasClass("lg-object")||a(b.target).hasClass("lg-video-play"))&&(b.preventDefault(),c.lgBusy||(c.manageSwipeClass(),d=b.pageX,f=!0,c.$outer.scrollLeft+=1,c.$outer.scrollLeft-=1,c.$outer.removeClass("lg-grab").addClass("lg-grabbing"),c.$el.trigger("onDragstart.lg")))}),a(b).on("mousemove.lg",function(a){f&&(g=!0,e=a.pageX,c.touchMove(d,e),c.$el.trigger("onDragmove.lg"))}),a(b).on("mouseup.lg",function(b){g?(g=!1,c.touchEnd(e-d),c.$el.trigger("onDragend.lg")):(a(b.target).hasClass("lg-object")||a(b.target).hasClass("lg-video-play"))&&c.$el.trigger("onSlideClick.lg"),f&&(f=!1,c.$outer.removeClass("lg-grabbing").addClass("lg-grab"))}))},e.prototype.manageSwipeClass=function(){var a=this.index+1,b=this.index-1,c=this.$slide.length;this.s.loop&&(0===this.index?b=c-1:this.index===c-1&&(a=0)),this.$slide.removeClass("lg-next-slide lg-prev-slide"),b>-1&&this.$slide.eq(b).addClass("lg-prev-slide"),this.$slide.eq(a).addClass("lg-next-slide")},e.prototype.mousewheel=function(){var a=this;a.$outer.on("mousewheel.lg",function(b){b.deltaY&&(b.deltaY>0?a.goToPrevSlide():a.goToNextSlide(),b.preventDefault())})},e.prototype.closeGallery=function(){var b=this,c=!1;this.$outer.find(".lg-close").on("click.lg",function(){b.destroy()}),b.s.closable&&(b.$outer.on("mousedown.lg",function(b){c=a(b.target).is(".lg-outer")||a(b.target).is(".lg-item ")||a(b.target).is(".lg-img-wrap")?!0:!1}),b.$outer.on("mouseup.lg",function(d){(a(d.target).is(".lg-outer")||a(d.target).is(".lg-item ")||a(d.target).is(".lg-img-wrap")&&c)&&(b.$outer.hasClass("lg-dragging")||b.destroy())}))},e.prototype.destroy=function(c){var d=this;c||d.$el.trigger("onBeforeClose.lg"),a(b).scrollTop(d.prevScrollTop),c&&(d.s.dynamic||this.$items.off("click.lg click.lgcustom"),a.removeData(d.el,"lightGallery")),this.$el.off(".lg.tm"),a.each(a.fn.lightGallery.modules,function(a){d.modules[a]&&d.modules[a].destroy()}),this.lGalleryOn=!1,clearTimeout(d.hideBartimeout),this.hideBartimeout=!1,a(b).off(".lg"),a("body").removeClass("lg-on lg-from-hash"),d.$outer&&d.$outer.removeClass("lg-visible"),a(".lg-backdrop").removeClass("in"),setTimeout(function(){d.$outer&&d.$outer.remove(),a(".lg-backdrop").remove(),c||d.$el.trigger("onCloseAfter.lg")},d.s.backdropDuration+50)},a.fn.lightGallery=function(b){return this.each(function(){if(a.data(this,"lightGallery"))try{a(this).data("lightGallery").init()}catch(c){console.error("lightGallery has not initiated properly")}else a.data(this,"lightGallery",new e(this,b))})},a.fn.lightGallery.modules={}}(jQuery,window,document); \ No newline at end of file diff --git a/theme/public/lightslider/.DS_Store b/theme/public/lightslider/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b8292040162f40b7bc95fa3363650e56f257095f GIT binary patch literal 6148 zcmeH~F=_)r3`Hf|g&~bgmve>OU@*=Ja)A&VLV|;fCH+=8SB~cYB@w(V1~+NK7ij*h zR+?pBv09m#@4k+YW*akG!>RVoWp2DrpV^`!OQ`dV!|C;WJ~7JBUB<+v9c-}SI9%7i z+o!!NR3`mLuLOua}OgS#Dm#hu4$6CKQjS!b z2#COxKn>{|_WvjNjro6Cq$?2+fqzB7SNrGv4zE*{-webkit-transition-timing-function:inherit!important;transition-timing-function:inherit!important;-webkit-transition-duration:inherit!important;transition-duration:inherit!important}.lSSlideOuter,.lSSlideOuter .lSPager.lSGallery{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-webkit-user-select:none}.lSSlideOuter .lSPager.lSGallery:after,.lSSlideWrapper>.lightSlider:after{clear:both}.lSSlideOuter{overflow:hidden;user-select:none}.lightSlider:after,.lightSlider:before{content:" ";display:table}.lightSlider{overflow:hidden;margin:0}.lSSlideWrapper{max-width:100%;overflow:hidden}.lSSlideWrapper .lSSlide{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);-webkit-transition:all 1s;-webkit-transition-property:-webkit-transform,height;-moz-transition-property:-moz-transform,height;transition-property:transform,height}.lSSlideWrapper .lSFade>*{position:absolute!important;top:0;left:0;z-index:9;margin-right:0;width:100%}.lSSlideWrapper.usingCss .lSFade>*{opacity:0;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-property:opacity;transition-property:opacity}.lSSlideWrapper .lSFade>.active{z-index:10}.lSSlideWrapper.usingCss .lSFade>.active{opacity:1}.lSSlideOuter .lSPager.lSpg{margin:10px 0 0;padding:0;text-align:center}.lSSlideOuter .lSPager.lSpg>li{cursor:pointer;display:inline-block;padding:0 5px}.lSSlideOuter .lSPager.lSpg>li a{background-color:#222;border-radius:30px;display:inline-block;height:8px;overflow:hidden;text-indent:-999em;width:8px;position:relative;z-index:99;-webkit-transition:all .5s linear 0s;transition:all .5s linear 0s}.lSSlideOuter .lSPager.lSpg>li.active a,.lSSlideOuter .lSPager.lSpg>li:hover a{background-color:#428bca}.lSSlideOuter .media{opacity:.8}.lSSlideOuter .media.active{opacity:1}.lSSlideOuter .lSPager.lSGallery{list-style:none;padding-left:0;margin:0;overflow:hidden;transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;user-select:none}.lSSlideOuter .lSPager.lSGallery li{overflow:hidden;-webkit-transition:border-radius .12s linear 0s .35s linear 0s;transition:border-radius .12s linear 0s .35s linear 0s}.lSSlideOuter .lSPager.lSGallery li.active,.lSSlideOuter .lSPager.lSGallery li:hover{border-radius:5px}.lSSlideOuter .lSPager.lSGallery img{display:block;height:auto;max-width:100%}.lSSlideOuter .lSPager.lSGallery:after,.lSSlideOuter .lSPager.lSGallery:before{content:" ";display:table}.lSAction>a{width:32px;display:block;top:50%;height:32px;background-image:url(../img/controls.png);cursor:pointer;position:absolute;z-index:99;margin-top:-16px;opacity:.5;-webkit-transition:opacity .35s linear 0s;transition:opacity .35s linear 0s}.lSAction>a:hover{opacity:1}.lSAction>.lSPrev{background-position:0 0;left:10px}.lSAction>.lSNext{background-position:-32px 0;right:10px}.lSAction>a.disabled{pointer-events:none}.cS-hidden{height:1px;opacity:0;filter:alpha(opacity=0);overflow:hidden}.lSSlideOuter.vertical{position:relative}.lSSlideOuter.vertical.noPager{padding-right:0!important}.lSSlideOuter.vertical .lSGallery{position:absolute!important;right:0;top:0}.lSSlideOuter.vertical .lightSlider>*{width:100%!important;max-width:none!important}.lSSlideOuter.vertical .lSAction>a{left:50%;margin-left:-14px;margin-top:0}.lSSlideOuter.vertical .lSAction>.lSNext{background-position:31px -31px;bottom:10px;top:auto}.lSSlideOuter.vertical .lSAction>.lSPrev{background-position:0 -31px;bottom:auto;top:10px}.lSSlideOuter.lSrtl{direction:rtl}.lSSlideOuter .lSPager,.lSSlideOuter .lightSlider{padding-left:0;list-style:none}.lSSlideOuter.lSrtl .lSPager,.lSSlideOuter.lSrtl .lightSlider{padding-right:0}.lSSlideOuter .lSGallery li,.lSSlideOuter .lightSlider>*{float:left}.lSSlideOuter.lSrtl .lSGallery li,.lSSlideOuter.lSrtl .lightSlider>*{float:right!important}@-webkit-keyframes rightEnd{0%,100%{left:0}50%{left:-15px}}@keyframes rightEnd{0%,100%{left:0}50%{left:-15px}}@-webkit-keyframes topEnd{0%,100%{top:0}50%{top:-15px}}@keyframes topEnd{0%,100%{top:0}50%{top:-15px}}@-webkit-keyframes leftEnd{0%,100%{left:0}50%{left:15px}}@keyframes leftEnd{0%,100%{left:0}50%{left:15px}}@-webkit-keyframes bottomEnd{0%,100%{bottom:0}50%{bottom:-15px}}@keyframes bottomEnd{0%,100%{bottom:0}50%{bottom:-15px}}.lSSlideOuter .rightEnd{-webkit-animation:rightEnd .3s;animation:rightEnd .3s;position:relative}.lSSlideOuter .leftEnd{-webkit-animation:leftEnd .3s;animation:leftEnd .3s;position:relative}.lSSlideOuter.vertical .rightEnd{-webkit-animation:topEnd .3s;animation:topEnd .3s;position:relative}.lSSlideOuter.vertical .leftEnd{-webkit-animation:bottomEnd .3s;animation:bottomEnd .3s;position:relative}.lSSlideOuter.lSrtl .rightEnd{-webkit-animation:leftEnd .3s;animation:leftEnd .3s;position:relative}.lSSlideOuter.lSrtl .leftEnd{-webkit-animation:rightEnd .3s;animation:rightEnd .3s;position:relative}.lightSlider.lsGrab>*{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lightSlider.lsGrabbing>*{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing} \ No newline at end of file diff --git a/theme/public/lightslider/img/controls.png b/theme/public/lightslider/img/controls.png new file mode 100644 index 0000000000000000000000000000000000000000..03dc4cf27848b4c4a4eb2e98829fa592d85eea27 GIT binary patch literal 2241 zcmaJ@X;c$w7Ok)fiXbSf9b;I8j%1T0BoMYFNPr-l&0U*-;i1bt<;l^JADgRrM|B-uvGB-u?0YB|L1S znW?=g003s}AZ8>y`suzUM)3cPFr^e8X6@O(9tm@ z4xS@nfXTw33@I3u5f;tQ*u|#`(7rw>ZzT;D5P@L7Buj=QC`J?+ zIZw<7*-SbbR=^5{0va{IlMqOx5Sjig0)fEt2=HJqnN${; zK%(GTOagg<%Y^u;B2X+};0pfaZdjD7vw}zhM`nUjVHzk1ltLoZ=aOl{#dEH3P;n7h1jEl}uflX*e|~u_0&|HwR)1rgXBoFQzuOgWd*eAJVQaUu zjdr(v>8;#7TXPUadx#Q)a{Y{4^IV17YpV(8@*GVM;MD5e6=!oHKKoxE4To}bZ7UE7 z2d6f_Qm_nB%Yw18VC-vqEUybOu~KQW9x%K$kQzSjJZdm)gvtxaUsoEix-@>D<%He? z<3NWvF0(4_=C)1>Q1@)d(rJY8%B*X4nA!)Y==FUyW`3AU$6CBEAj)rsS>?1NMhiY< zae??>TbFUQJ5tn|g!7SOMx)!K46YXzmM~V@SWR+HE^ExRJ(AR@$BpS|(tLFJz%pzp zESz)6KVm#iQ3bUdI1-0>g7T$ZNPO+Rvg#`KM!+RowI7mNV7173vr?0{^&M+|3x4iK zdu;fQUY@48b=ncw#!bFh#m&VccFy7*~sp9MevFhR9fsO~#il)pCj%TmyAk=-e`|L@p2Zbw;EuhJqzOA}H z<6rmW880;F#e#5*?Z1q_Ho%ed8}SI0^7!%P2!%@Yrwp(@81ZFelt+U zpSJ^FWfv{f5%tRG^~j^~$dn?#$`?Sx6G~ZCxyrjK z?6A{$EYZBQ$uO(M>TepCex+^E_Btyk>c+Y2C-NN$ziUhCy9RkBLP2pB1?;-_@Z^Ce zqr>)+YkiL9 z2iBZt`&Hg;`tCgFz0)w}5`+}}5Vber5qJ8w(9V2I!tuhk0ILf7^|xml1DdM6M_PMs1WoDdpkQ{tlTN(C{I*eIMB`3lAMF-!f6kN1 zfqJp89&7CI3(NWOTX#0zS<6@UWIp(2ZR6ByGAv*mGpOg@$!^$<_cHGY%WK%sG7|0i zYie!=hH)T9a6HOxrz)VjZu!#O6c@WAqgVeu^X|u_w^yb&xvV*2_WhHa4(8g)6?hJ^ y;q36>v3o|8PDZowoWI%;Q1)return this.each(function(){a(this).lightSlider(b)}),this;var d={},e=a.extend(!0,{},c,b),f={},g=this;d.$el=this,"fade"===e.mode&&(e.vertical=!1);var h=g.children(),i=a(window).width(),j=null,k=null,l=0,m=0,n=!1,o=0,p="",q=0,r=e.vertical===!0?"height":"width",s=e.vertical===!0?"margin-bottom":"margin-right",t=0,u=0,v=0,w=0,x=null,y="ontouchstart"in document.documentElement,z={};return z.chbreakpoint=function(){if(i=a(window).width(),e.responsive.length){var b;if(e.autoWidth===!1&&(b=e.item),ie.responsive[0].breakpoint)for(var g in f)f.hasOwnProperty(g)&&(e[g]=f[g]);e.autoWidth===!1&&t>0&&v>0&&b!==e.item&&(q=Math.round(t/((v+e.slideMargin)*e.slideMove)))}},z.calSW=function(){e.autoWidth===!1&&(v=(o-(e.item*e.slideMargin-e.slideMargin))/e.item)},z.calWidth=function(a){var b=a===!0?p.find(".lslide").length:h.length;if(e.autoWidth===!1)m=b*(v+e.slideMargin);else{m=0;for(var c=0;b>c;c++)m+=parseInt(h.eq(c).width())+e.slideMargin}return m},d={doCss:function(){var a=function(){for(var a=["transition","MozTransition","WebkitTransition","OTransition","msTransition","KhtmlTransition"],b=document.documentElement,c=0;c'+e.prevHtml+''+e.nextHtml+""),e.autoWidth?z.calWidth(!1)
'),p=g.parent(".lSSlideWrapper"),e.rtl===!0&&p.parent().addClass("lSrtl"),e.vertical?(p.parent().addClass("vertical"),o=e.verticalHeight,p.css("height",o+"px")):o=g.outerWidth(),h.addClass("lslide"),e.loop===!0&&"slide"===e.mode&&(z.calSW(),z.clone=function(){if(z.calWidth(!0)>o){for(var b=0,c=0,d=0;d=o+e.slideMargin));d++);var f=e.autoWidth===!0?c:e.item;if(fh.length-1-g.find(".clone.right").length;j--)q--,h.eq(j).remove();for(var k=g.find(".clone.right").length;f>k;k++)g.find(".lslide").eq(k).clone().removeClass("lslide").addClass("clone right").appendTo(g),q++;for(var l=g.find(".lslide").length-g.find(".clone.left").length;l>g.find(".lslide").length-f;l--)g.find(".lslide").eq(l-1).clone().removeClass("lslide").addClass("clone left").prependTo(g);h=g.children()}else h.hasClass("clone")&&(g.find(".clone").remove(),a.move(g,0))},z.clone()),z.sSW=function(){l=h.length,e.rtl===!0&&e.vertical===!1&&(s="margin-left"),e.autoWidth===!1&&h.css(r,v+"px"),h.css(s,e.slideMargin+"px"),m=z.calWidth(!1),g.css(r,m+"px"),e.loop===!0&&"slide"===e.mode&&n===!1&&(q=g.find(".clone.left").length)},z.calL=function(){h=g.children(),l=h.length},this.doCss()&&p.addClass("usingCss"),z.calL(),"slide"===e.mode?(z.calSW(),z.sSW(),e.loop===!0&&(t=a.slideValue(),this.move(g,t)),e.vertical===!1&&this.setHeight(g,!1)):(this.setHeight(g,!0),g.addClass("lSFade"),this.doCss()||(h.fadeOut(0),h.eq(q).fadeIn(0))),e.loop===!0&&"slide"===e.mode?h.eq(q).addClass("active"):h.first().addClass("active")},pager:function(){var a=this;if(z.createPager=function(){w=(o-(e.thumbItem*e.thumbMargin-e.thumbMargin))/e.thumbItem;var b=p.find(".lslide"),c=p.find(".lslide").length,d=0,f="",h=0;for(d=0;c>d;d++){"slide"===e.mode&&(e.autoWidth?h+=(parseInt(b.eq(d).width())+e.slideMargin)*e.slideMove:h=d*(v+e.slideMargin)*e.slideMove);var i=b.eq(d*e.slideMove).attr("data-thumb");if(f+=e.gallery===!0?'
  • ':'
  • '+(d+1)+"
  • ","slide"===e.mode&&h>=m-o-e.slideMargin){d+=1;var j=2;e.autoWidth&&(f+='
  • '+(d+1)+"
  • ",j=1),j>d?(f=null,p.parent().addClass("noPager")):p.parent().removeClass("noPager");break}}var k=p.parent();k.find(".lSPager").html(f),e.gallery===!0&&(e.vertical===!0&&k.find(".lSPager").css("width",e.vThumbWidth+"px"),u=d*(e.thumbMargin+w)+.5,k.find(".lSPager").css({property:u+"px","transition-duration":e.speed+"ms"}),e.vertical===!0&&p.parent().css("padding-right",e.vThumbWidth+e.galleryMargin+"px"),k.find(".lSPager").css(r,u+"px"));var l=k.find(".lSPager").find("li");l.first().addClass("active"),l.on("click",function(){return e.loop===!0&&"slide"===e.mode?q+=l.index(this)-k.find(".lSPager").find("li.active").index():q=l.index(this),g.mode(!1),e.gallery===!0&&a.slideThumb(),!1})},e.pager){var b="lSpg";e.gallery&&(b="lSGallery"),p.after('
      ');var c=e.vertical?"margin-left":"margin-top";p.parent().find(".lSPager").css(c,e.galleryMargin+"px"),z.createPager()}setTimeout(function(){z.init()},0)},setHeight:function(a,b){var c=null,d=this;c=e.loop?a.children(".lslide ").first():a.children().first();var f=function(){var d=c.outerHeight(),e=0,f=d;b&&(d=0,e=100*f/o),a.css({height:d+"px","padding-bottom":e+"%"})};f(),c.find("img").length?c.find("img")[0].complete?(f(),x||d.auto()):c.find("img").on("load",function(){setTimeout(function(){f(),x||d.auto()},100)}):x||d.auto()},active:function(a,b){this.doCss()&&"fade"===e.mode&&p.addClass("on");var c=0;if(q*e.slideMove=d&&(c=f)),e.loop===!0&&"slide"===e.mode&&(c=b===!0?q-g.find(".clone.left").length:q*e.slideMove,b===!0&&(d=a.length,f=d-1,c+1===d?c=f:c+1>d&&(c=0))),this.doCss()||"fade"!==e.mode||b!==!1||a.eq(c).fadeIn(e.speed),a.eq(c).addClass("active")}else a.removeClass("active"),a.eq(a.length-1).addClass("active"),this.doCss()||"fade"!==e.mode||b!==!1||(a.fadeOut(e.speed),a.eq(c).fadeIn(e.speed))},move:function(a,b){e.rtl===!0&&(b=-b),this.doCss()?a.css(e.vertical===!0?{transform:"translate3d(0px, "+-b+"px, 0px)","-webkit-transform":"translate3d(0px, "+-b+"px, 0px)"}:{transform:"translate3d("+-b+"px, 0px, 0px)","-webkit-transform":"translate3d("+-b+"px, 0px, 0px)"}):e.vertical===!0?a.css("position","relative").animate({top:-b+"px"},e.speed,e.easing):a.css("position","relative").animate({left:-b+"px"},e.speed,e.easing);var c=p.parent().find(".lSPager").find("li");this.active(c,!0)},fade:function(){this.active(h,!1);var a=p.parent().find(".lSPager").find("li");this.active(a,!0)},slide:function(){var a=this;z.calSlide=function(){m>o&&(t=a.slideValue(),a.active(h,!1),t>m-o-e.slideMargin?t=m-o-e.slideMargin:0>t&&(t=0),a.move(g,t),e.loop===!0&&"slide"===e.mode&&(q>=l-g.find(".clone.left").length/e.slideMove&&a.resetSlide(g.find(".clone.left").length),0===q&&a.resetSlide(p.find(".lslide").length)))},z.calSlide()},resetSlide:function(a){var b=this;p.find(".lSAction a").addClass("disabled"),setTimeout(function(){q=a,p.css("transition-duration","0ms"),t=b.slideValue(),b.active(h,!1),d.move(g,t),setTimeout(function(){p.css("transition-duration",e.speed+"ms"),p.find(".lSAction a").removeClass("disabled")},50)},e.speed+100)},slideValue:function(){var a=0;if(e.autoWidth===!1)a=q*(v+e.slideMargin)*e.slideMove;else{a=0;for(var b=0;q>b;b++)a+=parseInt(h.eq(b).width())+e.slideMargin}return a},slideThumb:function(){var a;switch(e.currentPagerPosition){case"left":a=0;break;case"middle":a=o/2-w/2;break;case"right":a=o-w}var b=q-g.find(".clone.left").length,c=p.parent().find(".lSPager");"slide"===e.mode&&e.loop===!0&&(b>=c.children().length?b=0:0>b&&(b=c.children().length));var d=b*(w+e.thumbMargin)-a;d+o>u&&(d=u-o-e.thumbMargin),0>d&&(d=0),this.move(c,d)},auto:function(){e.auto&&(clearInterval(x),x=setInterval(function(){g.goToNextSlide()},e.pause))},pauseOnHover:function(){var b=this;e.auto&&e.pauseOnHover&&(p.on("mouseenter",function(){a(this).addClass("ls-hover"),g.pause(),e.auto=!0}),p.on("mouseleave",function(){a(this).removeClass("ls-hover"),p.find(".lightSlider").hasClass("lsGrabbing")||b.auto()}))},touchMove:function(a,b){if(p.css("transition-duration","0ms"),"slide"===e.mode){var c=a-b,d=t-c;if(d>=m-o-e.slideMargin)if(e.freeMove===!1)d=m-o-e.slideMargin;else{var f=m-o-e.slideMargin;d=f+(d-f)/5}else 0>d&&(e.freeMove===!1?d=0:d/=5);this.move(g,d)}},touchEnd:function(a){if(p.css("transition-duration",e.speed+"ms"),"slide"===e.mode){var b=!1,c=!0;t-=a,t>m-o-e.slideMargin?(t=m-o-e.slideMargin,e.autoWidth===!1&&(b=!0)):0>t&&(t=0);var d=function(a){var c=0;if(b||a&&(c=1),e.autoWidth)for(var d=0,f=0;f=t));f++);else{var g=t/((v+e.slideMargin)*e.slideMove);q=parseInt(g)+c,t>=m-o-e.slideMargin&&g%1!==0&&q++}};a>=e.swipeThreshold?(d(!1),c=!1):a<=-e.swipeThreshold&&(d(!0),c=!1),g.mode(c),this.slideThumb()}else a>=e.swipeThreshold?g.goToPrevSlide():a<=-e.swipeThreshold&&g.goToNextSlide()},enableDrag:function(){var b=this;if(!y){var c=0,d=0,f=!1;p.find(".lightSlider").addClass("lsGrab"),p.on("mousedown",function(b){return o>m&&0!==m?!1:void("lSPrev"!==a(b.target).attr("class")&&"lSNext"!==a(b.target).attr("class")&&(c=e.vertical===!0?b.pageY:b.pageX,f=!0,b.preventDefault?b.preventDefault():b.returnValue=!1,p.scrollLeft+=1,p.scrollLeft-=1,p.find(".lightSlider").removeClass("lsGrab").addClass("lsGrabbing"),clearInterval(x)))}),a(window).on("mousemove",function(a){f&&(d=e.vertical===!0?a.pageY:a.pageX,b.touchMove(d,c))}),a(window).on("mouseup",function(g){if(f){p.find(".lightSlider").removeClass("lsGrabbing").addClass("lsGrab"),f=!1,d=e.vertical===!0?g.pageY:g.pageX;var h=d-c;Math.abs(h)>=e.swipeThreshold&&a(window).on("click.ls",function(b){b.preventDefault?b.preventDefault():b.returnValue=!1,b.stopImmediatePropagation(),b.stopPropagation(),a(window).off("click.ls")}),b.touchEnd(h)}})}},enableTouch:function(){var a=this;if(y){var b={},c={};p.on("touchstart",function(a){c=a.originalEvent.targetTouches[0],b.pageX=a.originalEvent.targetTouches[0].pageX,b.pageY=a.originalEvent.targetTouches[0].pageY,clearInterval(x)}),p.on("touchmove",function(d){if(o>m&&0!==m)return!1;var f=d.originalEvent;c=f.targetTouches[0];var g=Math.abs(c.pageX-b.pageX),h=Math.abs(c.pageY-b.pageY);e.vertical===!0?(3*h>g&&d.preventDefault(),a.touchMove(c.pageY,b.pageY)):(3*g>h&&d.preventDefault(),a.touchMove(c.pageX,b.pageX))}),p.on("touchend",function(){if(o>m&&0!==m)return!1;var d;d=e.vertical===!0?c.pageY-b.pageY:c.pageX-b.pageX,a.touchEnd(d)})}},build:function(){var b=this;b.initialStyle(),this.doCss()&&(e.enableTouch===!0&&b.enableTouch(),e.enableDrag===!0&&b.enableDrag()),a(window).on("focus",function(){b.auto()}),a(window).on("blur",function(){clearInterval(x)}),b.pager(),b.pauseOnHover(),b.controls(),b.keyPress()}},d.build(),z.init=function(){z.chbreakpoint(),e.vertical===!0?(o=e.item>1?e.verticalHeight:h.outerHeight(),p.css("height",o+"px")):o=p.outerWidth(),e.loop===!0&&"slide"===e.mode&&z.clone(),z.calL(),"slide"===e.mode&&g.removeClass("lSSlide"),"slide"===e.mode&&(z.calSW(),z.sSW()),setTimeout(function(){"slide"===e.mode&&g.addClass("lSSlide")},1e3),e.pager&&z.createPager(),e.adaptiveHeight===!0&&e.vertical===!1&&g.css("height",h.eq(q).outerHeight(!0)),e.adaptiveHeight===!1&&("slide"===e.mode?e.vertical===!1?d.setHeight(g,!1):d.auto():d.setHeight(g,!0)),e.gallery===!0&&d.slideThumb(),"slide"===e.mode&&d.slide(),e.autoWidth===!1?h.length<=e.item?p.find(".lSAction").hide():p.find(".lSAction").show():z.calWidth(!1)0)e.onBeforePrevSlide.call(this,g,q),q--,g.mode(!1),e.gallery===!0&&d.slideThumb();else if(e.loop===!0){if(e.onBeforePrevSlide.call(this,g,q),"fade"===e.mode){var a=l-1;q=parseInt(a/e.slideMove)}g.mode(!1),e.gallery===!0&&d.slideThumb()}else e.slideEndAnimation===!0&&(g.addClass("leftEnd"),setTimeout(function(){g.removeClass("leftEnd")},400))},g.goToNextSlide=function(){var a=!0;if("slide"===e.mode){var b=d.slideValue();a=b=q?b+(q-c):q>=b+c?q-b-c:q-c}return a+1},g.getTotalSlideCount=function(){return p.find(".lslide").length},g.goToSlide=function(a){q=e.loop?a+g.find(".clone.left").length-1:a,g.mode(!1),e.gallery===!0&&d.slideThumb()},g.destroy=function(){g.lightSlider&&(g.goToPrevSlide=function(){},g.goToNextSlide=function(){},g.mode=function(){},g.play=function(){},g.pause=function(){},g.refresh=function(){},g.getCurrentSlideCount=function(){},g.getTotalSlideCount=function(){},g.goToSlide=function(){},g.lightSlider=null,z={init:function(){}},g.parent().parent().find(".lSAction, .lSPager").remove(),g.removeClass("lightSlider lSFade lSSlide lsGrab lsGrabbing leftEnd right").removeAttr("style").unwrap().unwrap(),g.children().removeAttr("style"),h.removeClass("lslide active"),g.find(".clone").remove(),h=null,x=null,n=!1,q=0)},setTimeout(function(){e.onSliderLoad.call(this,g)},10),a(window).on("resize orientationchange",function(a){setTimeout(function(){a.preventDefault?a.preventDefault():a.returnValue=!1,z.init()},200)}),this}}(jQuery); \ No newline at end of file diff --git a/theme/public/play.png b/theme/public/play.png new file mode 100644 index 0000000000000000000000000000000000000000..30fe6485b7bdc219f7218f2fb2ed3046a56f5b9d GIT binary patch literal 1754 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 CycAmi literal 0 HcmV?d00001 diff --git a/theme/public/videojs/font/VideoJS.svg b/theme/public/videojs/font/VideoJS.svg new file mode 100644 index 0000000..49af73a --- /dev/null +++ b/theme/public/videojs/font/VideoJS.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/theme/public/videojs/font/VideoJS.ttf b/theme/public/videojs/font/VideoJS.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e23d02a49df665819a9546b58e5bcf8ba2717532 GIT binary patch literal 5736 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 literal 0 HcmV?d00001 diff --git a/theme/public/videojs/font/VideoJS.woff b/theme/public/videojs/font/VideoJS.woff new file mode 100644 index 0000000000000000000000000000000000000000..dc9d850472d8c707d00c01df7af4d624664e27db GIT binary patch literal 3704 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.vjs-icon-placeholder:before,.vjs-modal-dialog .vjs-modal-dialog-content{position:absolute;top:0;left:0;width:100%;height:100%}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.vjs-button>.vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;src:url(font/VideoJS.eot?#iefix) format("eot")}@font-face{font-family:VideoJS;src:url(data:application/font-woff;charset=utf-8;base64,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) format("woff"),url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMlGRXgUAAAEoAAAAVmNtYXDiMBC2AAAB/AAAAUpnbHlmW/HoBwAAA4gAAA9QaGVhZAyD6V8AAADQAAAANmhoZWEOogcgAAAArAAAACRobXR42QAAAAAAAYAAAAB8bG9jYTDINOoAAANIAAAAQG1heHABMAB5AAABCAAAACBuYW1l1cf1oAAAEtgAAAIKcG9zdGZEjeMAABTkAAABgQABAAAHAAAAAKEHAAAAAAAHAAABAAAAAAAAAAAAAAAAAAAAHwABAAAAAQAAwdxheF8PPPUACwcAAAAAANMyzzEAAAAA0zLPMQAAAAAHAAcAAAAACAACAAAAAAAAAAEAAAAfAG0ABwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQcAAZAABQAIBHEE5gAAAPoEcQTmAAADXABXAc4AAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA8QHxHgcAAAAAoQcAAAAAAAABAAAAAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAAAAAMAAAADAAAAHAABAAAAAABEAAMAAQAAABwABAAoAAAABgAEAAEAAgAA8R7//wAAAADxAf//AAAPAAABAAAAAAAAAAABBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAFAAZgCyAMYA5gEeAUgBdAGcAfICLgKOAroDCgOOA7AD6gQ4BHwEuAToBQwFogXoBjYGbAbaB3IHqAABAAAAAAWLBYsAAgAAAREBAlUDNgWL++oCCwAAAwAAAAAGawZrAAIADgAaAAAJAhMEAAMSAAUkABMCAAEmACc2ADcWABcGAALrAcD+QJX+w/5aCAgBpgE9AT0BpggI/lr+w/3+rgYGAVL9/QFSBgb+rgIwAVABUAGbCP5a/sP+w/5aCAgBpgE9AT0BpvrIBgFS/f0BUgYG/q79/f6uAAAAAgAAAAAFQAWLAAMABwAAASERKQERIREBwAEr/tUCVQErAXUEFvvqBBYAAAAEAAAAAAYgBiAABgATACQAJwAAAS4BJxUXNjcGBxc+ATUmACcVFhIBBwEhESEBEQEGBxU+ATcXNwEHFwTQAWVVuAO7AidxJSgF/t/lpc77t18BYf6fASsBdQE+TF1OijuZX/1gnJwDgGSeK6W4GBhqW3FGnFT0AWM4mjT+9AHrX/6f/kD+iwH2/sI7HZoSRDGYXwSWnJwAAAEAAAAABKsF1gAFAAABESEBEQECCwEqAXb+igRg/kD+iwSq/osAAAACAAAAAAVmBdYABgAMAAABLgEnET4BAREhAREBBWUBZVRUZfwRASsBdf6LA4Bkniv9piueAUT+QP6LBKr+iwAAAwAAAAAGIAYPAAUADAAaAAATESEBEQEFLgEnET4BAxUWEhcGAgcVNgA3JgDgASsBdf6LAsUBZVVVZbqlzgMDzqXlASEFBf7fBGD+QP6LBKr+i+Bkniv9piueAvOaNP70tbX+9DSaOAFi9fUBYgAAAAQAAAAABYsFiwAFAAsAEQAXAAABIxEhNSMDMzUzNSEBIxUhESMDFTMVMxECC5YBduCWluD+igOA4AF2luDglgLr/oqWAgrglvyAlgF2AqCW4AF2AAQAAAAABYsFiwAFAAsAEQAXAAABMxUzESETIxUhESMBMzUzNSETNSMRITUBdeCW/org4AF2lgHAluD+ipaWAXYCVeABdgHAlgF2++rglgHA4P6KlgAAAAACAAAAAAXWBdYADwATAAABIQ4BBxEeARchPgE3ES4BAyERIQVA/IA/VQEBVT8DgD9VAQFVP/yAA4AF1QFVP/yAP1UBAVU/A4A/VfvsA4AAAAYAAAAABmsGawAHAAwAEwAbACAAKAAACQEmJw4BBwElLgEnAQUhATYSNyYFAQYCBxYXIQUeARcBMwEWFz4BNwECvgFkTlSH8GEBEgOONemh/u4C5f3QAXpcaAEB/BP+3VxoAQEOAjD95DXpoQESeP7dTlSH8GH+7gPwAmgSAQFYUP4nd6X2Pv4nS/1zZAEBk01NAfhk/v+TTUhLpfY+Adn+CBIBAVhQAdkAAAAFAAAAAAZrBdYADwATABcAGwAfAAABIQ4BBxEeARchPgE3ES4BASEVIQEhNSEFITUhNSE1IQXV+1ZAVAICVEAEqkBUAgJU+xYBKv7WAur9FgLqAcD+1gEq/RYC6gXVAVU//IA/VQEBVT8DgD9V/ayV/tWVlZWWlQADAAAAAAYgBdYADwAnAD8AAAEhDgEHER4BFyE+ATcRLgEBIzUjFTM1MxUUBgcjLgEnET4BNzMeARUFIzUjFTM1MxUOAQcjLgE1ETQ2NzMeARcFi/vqP1QCAlQ/BBY/VAICVP1rcJWVcCog4CAqAQEqIOAgKgILcJWVcAEqIOAgKiog4CAqAQXVAVU//IA/VQEBVT8DgD9V/fcl4CVKICoBASogASogKgEBKiBKJeAlSiAqAQEqIAEqICoBASogAAAGAAAAAAYgBPYAAwAHAAsADwATABcAABMzNSMRMzUjETM1IwEhNSERITUhERUhNeCVlZWVlZUBKwQV++sEFfvrBBUDNZb+QJUBwJX+QJb+QJUCVZWVAAAAAQAAAAAGIAZsAC4AAAEiBgcBNjQnAR4BMz4BNy4BJw4BBxQXAS4BIw4BBx4BFzI2NwEGBx4BFz4BNy4BBUArSh797AcHAg8eTixffwICf19ffwIH/fEeTixffwICf18sTh4CFAUBA3tcXHsDA3sCTx8bATcZNhkBNB0gAn9fX38CAn9fGxn+zRwgAn9fX38CIBz+yhcaXHsCAntcXXsAAAIAAAAABlkGawBDAE8AAAE2NCc3PgEnAy4BDwEmLwEuASchDgEPAQYHJyYGBwMGFh8BBhQXBw4BFxMeAT8BFh8BHgEXIT4BPwE2NxcWNjcTNiYnBS4BJz4BNx4BFw4BBasFBZ4KBgeWBxkNujpEHAMUD/7WDxQCHEU5ug0aB5UHBQudBQWdCwUHlQcaDbo5RRwCFA8BKg8UAhxFOboNGgeVBwUL/ThvlAIClG9vlAIClAM3JEokewkaDQEDDAkFSy0cxg4RAQERDsYcLUsFCQz+/QwbCXskSiR7CRoN/v0MCQVLLRzGDhEBAREOxhwtSwUJDAEDDBsJQQKUb2+UAgKUb2+UAAAAAAEAAAAABmsGawALAAATEgAFJAATAgAlBACVCAGmAT0BPQGmCAj+Wv7D/sP+WgOA/sP+WggIAaYBPQE9AaYICP5aAAAAAgAAAAAGawZrAAsAFwAAAQQAAxIABSQAEwIAASYAJzYANxYAFwYAA4D+w/5aCAgBpgE9AT0BpggI/lr+w/3+rgYGAVL9/QFSBgb+rgZrCP5a/sP+w/5aCAgBpgE9AT0BpvrIBgFS/f0BUgYG/q79/f6uAAADAAAAAAZrBmsACwAXACMAAAEEAAMSAAUkABMCAAEmACc2ADcWABcGAAMOAQcuASc+ATceAQOA/sP+WggIAaYBPQE9AaYICP5a/sP9/q4GBgFS/f0BUgYG/q4dAn9fX38CAn9fX38Gawj+Wv7D/sP+WggIAaYBPQE9Aab6yAYBUv39AVIGBv6u/f3+rgJPX38CAn9fX38CAn8AAAAEAAAAAAYgBiAADwAbACUAKQAAASEOAQcRHgEXIT4BNxEuAQEjNSMVIxEzFTM1OwEhHgEXEQ4BByE3MzUjBYv76j9UAgJUPwQWP1QCAlT9a3CVcHCVcJYBKiAqAQEqIP7WcJWVBiACVD/76j9UAgJUPwQWP1T8gpWVAcC7uwEqIP7WICoBcOAAAgAAAAAGawZrAAsAFwAAAQQAAxIABSQAEwIAEwcJAScJATcJARcBA4D+w/5aCAgBpgE9AT0BpggI/lo4af70/vRpAQv+9WkBDAEMaf71BmsI/lr+w/7D/loICAGmAT0BPQGm/BFpAQv+9WkBDAEMaf71AQtp/vQAAQAAAAAF1ga2ABYAAAERCQERHgEXDgEHLgEnIxYAFzYANyYAA4D+iwF1vv0FBf2+vv0FlQYBUf7+AVEGBv6vBYsBKv6L/osBKgT9v779BQX9vv7+rwYGAVH+/gFRAAAAAQAAAAAFPwcAABQAAAERIyIGHQEhAyMRIREjETM1NDYzMgU/nVY8ASUn/v7O///QrZMG9P74SEi9/tj9CQL3ASjaus0AAAAABAAAAAAGjgcAADAARQBgAGwAAAEUHgMVFAcGBCMiJicmNTQ2NzYlLgE1NDcGIyImNTQ2Nz4BMyEHIx4BFRQOAycyNjc2NTQuAiMiBgcGFRQeAxMyPgI1NC4BLwEmLwImIyIOAxUUHgIBMxUjFSM1IzUzNTMDH0BbWkAwSP7qn4TlOSVZSoMBESAfFS4WlMtIP03TcAGiioNKTDFFRjGSJlAaNSI/akAqURkvFCs9WTY6a1s3Dg8THgocJU4QIDVob1M2RnF9A2vV1WnU1GkD5CRFQ1CATlpTenNTYDxHUYouUhIqQCkkMQTBlFKaNkJAWD+MWkhzRztAPiEbOWY6hn1SJyE7ZS5nZ1I0/JcaNF4+GTAkGCMLFx04Ag4kOF07Rms7HQNsbNvbbNkAAwAAAAAGgAZsAAMADgAqAAABESERARYGKwEiJjQ2MhYBESERNCYjIgYHBhURIRIQLwEhFSM+AzMyFgHd/rYBXwFnVAJSZGemZASP/rdRVj9VFQv+twIBAQFJAhQqR2c/q9AEj/whA98BMkliYpNhYfzd/cgCEml3RTMeM/3XAY8B8DAwkCAwOB/jAAABAAAAAAaUBgAAMQAAAQYHFhUUAg4BBCMgJxYzMjcuAScWMzI3LgE9ARYXLgE1NDcWBBcmNTQ2MzIXNjcGBzYGlENfAUyb1v7SrP7x4SMr4bBpph8hHCsqcJNETkJOLHkBW8YIvYaMYG1gJWldBWhiRQ4cgv797rdtkQSKAn1hBQsXsXUEJgMsjlNYS5WzCiYkhr1mFTlzPwoAAAABAAAAAAWABwAAIgAAARcOAQcGLgM1ESM1PgQ3PgE7AREhFSERFB4CNzYFMFAXsFlorXBOIahIckQwFAUBBwT0AU3+sg0gQzBOAc/tIz4BAjhceHg6AiDXGlddb1ctBQf+WPz9+h40NR4BAgABAAAAAAaABoAASgAAARQCBCMiJzY/AR4BMzI+ATU0LgEjIg4DFRQWFxY/ATY3NicmNTQ2MzIWFRQGIyImNz4CNTQmIyIGFRQXAwYXJgI1NBIkIAQSBoDO/p/Rb2s7EzYUaj15vmh34o5ptn9bK1BNHggIBgIGETPRqZepiWs9Sg4IJRc2Mj5WGWMRBM7+zgFhAaIBYc4DgNH+n84gXUfTJzmJ8JZyyH46YH2GQ2ieIAwgHxgGFxQ9WpfZpIOq7lc9I3VZHzJCclVJMf5eRmtbAXzp0QFhzs7+nwAABwAAAAAHAATPAA4AFwAqAD0AUABaAF0AAAERNh4CBw4BBwYmIycmNxY2NzYmBxEUBRY2Nz4BNy4BJyMGHwEeARcOARcWNjc+ATcuAScjBh8BHgEXFAYXFjY3PgE3LgEnIwYfAR4BFw4BBTM/ARUzESMGAyUVJwMchM2UWwgNq4JHrQgBAapUaAoJcWMBfiIhDiMrAQJLMB0BBAokNAIBPmMiIQ4iLAECSzAeAQUKJDQBP2MiIQ4iLAECSzAeAQUKJDQBAT75g+5B4arNLNIBJ44ByQL9BQ9mvYCKwA8FBQMDwwJVTGdzBf6VB8IHNR08lld9uT4LCRA/qGNxvUwHNR08lld9uT4LCRA/qGNxvUwHNR08lld9uT4LCRA/qGNxvVJkAWUDDEf+tYP5AQAAAAEAAAAABiAGtgAbAAABBAADER4BFzMRITU2ADcWABcVIREzPgE3EQIAA4D+4v6FBwJ/X+D+1QYBJ97eAScG/tXgX38CB/6FBrUH/oX+4v32X38CAlWV3gEnBgb+2d6V/asCf18CCgEeAXsAAAAAEADGAAEAAAAAAAEABwAAAAEAAAAAAAIABwAHAAEAAAAAAAMABwAOAAEAAAAAAAQABwAVAAEAAAAAAAUACwAcAAEAAAAAAAYABwAnAAEAAAAAAAoAKwAuAAEAAAAAAAsAEwBZAAMAAQQJAAEADgBsAAMAAQQJAAIADgB6AAMAAQQJAAMADgCIAAMAAQQJAAQADgCWAAMAAQQJAAUAFgCkAAMAAQQJAAYADgC6AAMAAQQJAAoAVgDIAAMAAQQJAAsAJgEeVmlkZW9KU1JlZ3VsYXJWaWRlb0pTVmlkZW9KU1ZlcnNpb24gMS4wVmlkZW9KU0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAFYAaQBkAGUAbwBKAFMAUgBlAGcAdQBsAGEAcgBWAGkAZABlAG8ASgBTAFYAaQBkAGUAbwBKAFMAVgBlAHIAcwBpAG8AbgAgADEALgAwAFYAaQBkAGUAbwBKAFMARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAABAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8EcGxheQtwbGF5LWNpcmNsZQVwYXVzZQt2b2x1bWUtbXV0ZQp2b2x1bWUtbG93CnZvbHVtZS1taWQLdm9sdW1lLWhpZ2gQZnVsbHNjcmVlbi1lbnRlcg9mdWxsc2NyZWVuLWV4aXQGc3F1YXJlB3NwaW5uZXIJc3VidGl0bGVzCGNhcHRpb25zCGNoYXB0ZXJzBXNoYXJlA2NvZwZjaXJjbGUOY2lyY2xlLW91dGxpbmUTY2lyY2xlLWlubmVyLWNpcmNsZQJoZAZjYW5jZWwGcmVwbGF5CGZhY2Vib29rBWdwbHVzCGxpbmtlZGluB3R3aXR0ZXIGdHVtYmxyCXBpbnRlcmVzdBFhdWRpby1kZXNjcmlwdGlvbgVhdWRpbwAAAAAA) format("truetype");font-weight:400;font-style:normal}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-play-control .vjs-icon-placeholder,.vjs-icon-play{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.vjs-icon-play:before{content:"\f101"}.vjs-icon-play-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-play-circle:before{content:"\f102"}.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder,.vjs-icon-pause{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before,.vjs-icon-pause:before{content:"\f103"}.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder,.vjs-icon-volume-mute{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before,.vjs-icon-volume-mute:before{content:"\f104"}.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder,.vjs-icon-volume-low{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before,.vjs-icon-volume-low:before{content:"\f105"}.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder,.vjs-icon-volume-mid{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before,.vjs-icon-volume-mid:before{content:"\f106"}.video-js .vjs-mute-control .vjs-icon-placeholder,.vjs-icon-volume-high{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-mute-control .vjs-icon-placeholder:before,.vjs-icon-volume-high:before{content:"\f107"}.video-js .vjs-fullscreen-control .vjs-icon-placeholder,.vjs-icon-fullscreen-enter{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before,.vjs-icon-fullscreen-enter:before{content:"\f108"}.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder,.vjs-icon-fullscreen-exit{font-family:VideoJS;font-weight:400;font-style:normal}.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before,.vjs-icon-fullscreen-exit:before{content:"\f109"}.vjs-icon-square{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-square:before{content:"\f10a"}.vjs-icon-spinner{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-spinner:before{content:"\f10b"}.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.vjs-icon-subtitles{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.vjs-icon-subtitles:before{content:"\f10c"}.video-js .vjs-captions-button .vjs-icon-placeholder,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.vjs-icon-captions{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-captions-button .vjs-icon-placeholder:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.vjs-icon-captions:before{content:"\f10d"}.video-js .vjs-chapters-button .vjs-icon-placeholder,.vjs-icon-chapters{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-chapters-button .vjs-icon-placeholder:before,.vjs-icon-chapters:before{content:"\f10e"}.vjs-icon-share{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-share:before{content:"\f10f"}.vjs-icon-cog{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cog:before{content:"\f110"}.video-js .vjs-play-progress,.video-js .vjs-volume-level,.vjs-icon-circle{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-play-progress:before,.video-js .vjs-volume-level:before,.vjs-icon-circle:before{content:"\f111"}.vjs-icon-circle-outline{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-outline:before{content:"\f112"}.vjs-icon-circle-inner-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-inner-circle:before{content:"\f113"}.vjs-icon-hd{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-hd:before{content:"\f114"}.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder,.vjs-icon-cancel{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before,.vjs-icon-cancel:before{content:"\f115"}.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder,.vjs-icon-replay{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before,.vjs-icon-replay:before{content:"\f116"}.vjs-icon-facebook{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-facebook:before{content:"\f117"}.vjs-icon-gplus{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-gplus:before{content:"\f118"}.vjs-icon-linkedin{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-linkedin:before{content:"\f119"}.vjs-icon-twitter{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-twitter:before{content:"\f11a"}.vjs-icon-tumblr{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-tumblr:before{content:"\f11b"}.vjs-icon-pinterest{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-pinterest:before{content:"\f11c"}.video-js .vjs-descriptions-button .vjs-icon-placeholder,.vjs-icon-audio-description{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-descriptions-button .vjs-icon-placeholder:before,.vjs-icon-audio-description:before{content:"\f11d"}.video-js .vjs-audio-button .vjs-icon-placeholder,.vjs-icon-audio{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-audio-button .vjs-icon-placeholder:before,.vjs-icon-audio:before{content:"\f11e"}.video-js{display:block;vertical-align:top;box-sizing:border-box;color:#fff;background-color:#000;position:relative;padding:0;font-size:10px;line-height:1;font-weight:400;font-style:normal;font-family:Arial,Helvetica,sans-serif}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js[tabindex="-1"]{outline:0}.video-js *,.video-js :after,.video-js :before{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;list-style-position:outside;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-fluid{width:100%;max-width:100%;height:0}.video-js.vjs-16-9{padding-top:56.25%}.video-js.vjs-4-3{padding-top:75%}.video-js.vjs-fill{width:100%;height:100%}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%}body.vjs-full-window{padding:0;margin:0;height:100%;overflow-y:auto}.vjs-full-window .video-js.vjs-fullscreen{position:fixed;overflow:hidden;z-index:1000;left:0;top:0;bottom:0;right:0}.video-js.vjs-fullscreen{width:100%!important;height:100%!important;padding-top:0!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-hidden{display:none!important}.vjs-disabled{opacity:.5;cursor:default}.video-js .vjs-offscreen{height:1px;left:-9999px;position:absolute;top:0;width:1px}.vjs-lock-showing{display:block!important;opacity:1;visibility:visible}.vjs-no-js{padding:20px;color:#fff;background-color:#000;font-size:18px;font-family:Arial,Helvetica,sans-serif;text-align:center;width:300px;height:150px;margin:0 auto}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{font-size:3em;line-height:1.5em;height:1.5em;width:3em;display:block;position:absolute;top:10px;left:10px;padding:0;cursor:pointer;opacity:1;border:.06666em solid #fff;background-color:#2b333f;background-color:rgba(43,51,63,.7);-webkit-border-radius:.3em;-moz-border-radius:.3em;border-radius:.3em;-webkit-transition:all .4s;-moz-transition:all .4s;-ms-transition:all .4s;-o-transition:all .4s;transition:all .4s}.vjs-big-play-centered .vjs-big-play-button{top:50%;left:50%;margin-top:-.75em;margin-left:-1.5em}.video-js .vjs-big-play-button:focus,.video-js:hover .vjs-big-play-button{border-color:#fff;background-color:#73859f;background-color:rgba(115,133,159,.5);-webkit-transition:all 0s;-moz-transition:all 0s;-ms-transition:all 0s;-o-transition:all 0s;transition:all 0s}.vjs-controls-disabled .vjs-big-play-button,.vjs-error .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-controls .vjs-big-play-button{display:none}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button{display:block}.video-js button{background:0 0;border:none;color:inherit;display:inline-block;overflow:visible;font-size:inherit;line-height:inherit;text-transform:none;text-decoration:none;transition:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vjs-control .vjs-button{width:100%;height:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;height:3em;position:absolute;right:0;top:.5em;z-index:2}.video-js .vjs-modal-dialog{background:rgba(0,0,0,.8);background:-webkit-linear-gradient(-90deg,rgba(0,0,0,.8),rgba(255,255,255,0));background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(255,255,255,0));overflow:auto;box-sizing:content-box}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{font-size:1.2em;line-height:1.5;padding:20px 24px;z-index:1}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{display:block;padding:0;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:auto;box-sizing:content-box}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{list-style:none;margin:0;padding:.2em 0;line-height:1.4em;font-size:1.2em;text-align:center;text-transform:lowercase}.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover{background-color:#73859f;background-color:rgba(115,133,159,.5)}.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover{background-color:#fff;color:#2b333f}.vjs-menu li.vjs-menu-title{text-align:center;text-transform:uppercase;font-size:1em;line-height:2em;padding:0;margin:0 0 .3em 0;font-weight:700;cursor:default}.vjs-menu-button-popup .vjs-menu{display:none;position:absolute;bottom:0;width:10em;left:-3em;height:0;margin-bottom:1.5em;border-top-color:rgba(43,51,63,.7)}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333f;background-color:rgba(43,51,63,.7);position:absolute;width:100%;bottom:1.5em;max-height:15em}.vjs-menu-button-popup .vjs-menu.vjs-lock-showing,.vjs-workinghover .vjs-menu-button-popup:hover .vjs-menu{display:block}.video-js .vjs-menu-button-inline{-webkit-transition:all .4s;-moz-transition:all .4s;-ms-transition:all .4s;-o-transition:all .4s;transition:all .4s;overflow:hidden}.video-js .vjs-menu-button-inline:before{width:2.222222222em}.video-js .vjs-menu-button-inline.vjs-slider-active,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline:hover,.video-js.vjs-no-flex .vjs-menu-button-inline{width:12em}.vjs-menu-button-inline .vjs-menu{opacity:0;height:100%;width:auto;position:absolute;left:4em;top:0;padding:0;margin:0;-webkit-transition:all .4s;-moz-transition:all .4s;-ms-transition:all .4s;-o-transition:all .4s;transition:all .4s}.vjs-menu-button-inline.vjs-slider-active .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline:hover .vjs-menu{display:block;opacity:1}.vjs-no-flex .vjs-menu-button-inline .vjs-menu{display:block;opacity:1;position:relative;width:auto}.vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu,.vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu,.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu{width:auto}.vjs-menu-button-inline .vjs-menu-content{width:auto;height:100%;margin:0;overflow:hidden}.video-js .vjs-control-bar{display:none;width:100%;position:absolute;bottom:0;left:0;right:0;height:3em;background-color:#2b333f;background-color:rgba(43,51,63,.7)}.vjs-has-started .vjs-control-bar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;visibility:visible;opacity:1;-webkit-transition:visibility .1s,opacity .1s;-moz-transition:visibility .1s,opacity .1s;-ms-transition:visibility .1s,opacity .1s;-o-transition:visibility .1s,opacity .1s;transition:visibility .1s,opacity .1s}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:visible;opacity:0;-webkit-transition:visibility 1s,opacity 1s;-moz-transition:visibility 1s,opacity 1s;-ms-transition:visibility 1s,opacity 1s;-o-transition:visibility 1s,opacity 1s;transition:visibility 1s,opacity 1s}.vjs-controls-disabled .vjs-control-bar,.vjs-error .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar{display:none!important}.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible}.vjs-has-started.vjs-no-flex .vjs-control-bar{display:table}.video-js .vjs-control{position:relative;text-align:center;margin:0;padding:0;height:100%;width:4em;-webkit-box-flex:none;-moz-box-flex:none;-webkit-flex:none;-ms-flex:none;flex:none}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.video-js .vjs-control:focus,.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before{text-shadow:0 0 1em #fff}.video-js .vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.vjs-no-flex .vjs-control{display:table-cell;vertical-align:middle}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{cursor:pointer;-webkit-box-flex:auto;-moz-box-flex:auto;-webkit-flex:auto;-ms-flex:auto;flex:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;min-width:4em}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-no-flex .vjs-progress-control{width:auto}.video-js .vjs-progress-holder{-webkit-box-flex:auto;-moz-box-flex:auto;-webkit-flex:auto;-ms-flex:auto;flex:auto;-webkit-transition:all .2s;-moz-transition:all .2s;-ms-transition:all .2s;-o-transition:all .2s;transition:all .2s;height:.3em}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder{font-size:1.666666666666666666em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div,.video-js .vjs-progress-holder .vjs-play-progress{position:absolute;display:block;height:100%;margin:0;padding:0;width:0;left:0;top:0}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{font-size:.9em;position:absolute;right:-.5em;top:-.333333333333333em;z-index:1}.video-js .vjs-load-progress{background:#bfc7d3;background:rgba(115,133,159,.5)}.video-js .vjs-load-progress div{background:#fff;background:rgba(115,133,159,.75)}.video-js .vjs-time-tooltip{background-color:#fff;background-color:rgba(255,255,255,.8);-webkit-border-radius:.3em;-moz-border-radius:.3em;border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px 8px;pointer-events:none;position:relative;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-time-tooltip{display:block;font-size:.6em;visibility:visible}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{display:none;position:absolute;width:1px;height:100%;background-color:#000;z-index:1}.vjs-no-flex .vjs-progress-control .vjs-mouse-display{z-index:0}.video-js .vjs-progress-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display{visibility:hidden;opacity:0;-webkit-transition:visibility 1s,opacity 1s;-moz-transition:visibility 1s,opacity 1s;-ms-transition:visibility 1s,opacity 1s;-o-transition:visibility 1s,opacity 1s;transition:visibility 1s,opacity 1s}.video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display{display:none}.vjs-mouse-display .vjs-time-tooltip{color:#fff;background-color:#000;background-color:rgba(0,0,0,.8)}.video-js .vjs-slider{position:relative;cursor:pointer;padding:0;margin:0 .45em 0 .45em;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#73859f;background-color:rgba(115,133,159,.5)}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{text-shadow:0 0 1em #fff;-webkit-box-shadow:0 0 1em #fff;-moz-box-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.video-js .vjs-mute-control{cursor:pointer;-webkit-box-flex:none;-moz-box-flex:none;-webkit-flex:none;-ms-flex:none;flex:none;padding-left:2em;padding-right:2em;padding-bottom:3em}.video-js .vjs-volume-control{cursor:pointer;margin-right:1em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{visibility:visible;opacity:0;width:1px;height:1px;margin-left:-1px}.video-js .vjs-volume-panel{-webkit-transition:width 1s;-moz-transition:width 1s;-ms-transition:width 1s;-o-transition:width 1s;transition:width 1s}.video-js .vjs-volume-panel .vjs-mute-control:active~.vjs-volume-control,.video-js .vjs-volume-panel .vjs-mute-control:focus~.vjs-volume-control,.video-js .vjs-volume-panel .vjs-mute-control:hover~.vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel .vjs-volume-control:focus,.video-js .vjs-volume-panel .vjs-volume-control:hover,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control,.video-js .vjs-volume-panel:hover .vjs-volume-control{visibility:visible;opacity:1;position:relative;-webkit-transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s;-moz-transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s;-ms-transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s;-o-transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s;transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s}.video-js .vjs-volume-panel .vjs-mute-control:active~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-mute-control:focus~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-mute-control:hover~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:focus.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:hover.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-horizontal{width:5em;height:3em}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:focus,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:hover{width:9em;-webkit-transition:width .1s;-moz-transition:width .1s;-ms-transition:width .1s;-o-transition:width .1s;transition:width .1s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{height:8em;width:3em;left:-3.5em;-webkit-transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s;-moz-transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s;-ms-transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s;-o-transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{-webkit-transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s;-moz-transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s;-ms-transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s;-o-transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{width:5em;height:3em;visibility:visible;opacity:1;position:relative;-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}.video-js.vjs-no-flex .vjs-volume-control.vjs-volume-vertical,.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{position:absolute;bottom:3em;left:.5em}.video-js .vjs-volume-panel{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{width:5em;height:.3em}.vjs-volume-bar.vjs-slider-vertical{width:.3em;height:5em;margin:1.35em auto}.video-js .vjs-volume-level{position:absolute;bottom:0;left:0;background-color:#fff}.video-js .vjs-volume-level:before{position:absolute;font-size:.9em}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{top:-.5em;left:-.3em}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{top:-.3em;right:-.5em}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{height:100%}.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{width:100%}.video-js .vjs-volume-vertical{width:3em;height:8em;bottom:8em;background-color:#2b333f;background-color:rgba(43,51,63,.7)}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.vjs-poster{display:inline-block;vertical-align:middle;background-repeat:no-repeat;background-position:50% 50%;background-size:contain;background-color:#000;cursor:pointer;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.vjs-poster img{display:block;vertical-align:middle;margin:0 auto;max-height:100%;padding:0;width:100%}.vjs-has-started .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster{display:block}.vjs-using-native-controls .vjs-poster{display:none}.video-js .vjs-live-control{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-flex:auto;-moz-box-flex:auto;-webkit-flex:auto;-ms-flex:auto;flex:auto;font-size:1em;line-height:3em}.vjs-no-flex .vjs-live-control{display:table-cell;width:auto;text-align:left}.video-js .vjs-time-control{-webkit-box-flex:none;-moz-box-flex:none;-webkit-flex:none;-ms-flex:none;flex:none;font-size:1em;line-height:3em;min-width:2em;width:auto;padding-left:1em;padding-right:1em}.vjs-live .vjs-time-control{display:none}.video-js .vjs-current-time,.vjs-no-flex .vjs-current-time{display:none}.vjs-no-flex .vjs-remaining-time.vjs-time-control.vjs-control{width:0!important;white-space:nowrap}.video-js .vjs-duration,.vjs-no-flex .vjs-duration{display:none}.vjs-time-divider{display:none;line-height:3em}.vjs-live .vjs-time-divider{display:none}.video-js .vjs-play-control .vjs-icon-placeholder{cursor:pointer;-webkit-box-flex:none;-moz-box-flex:none;-webkit-flex:none;-ms-flex:none;flex:none}.vjs-text-track-display{position:absolute;bottom:3em;left:0;right:0;top:0;pointer-events:none}.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{font-size:1.4em;text-align:center;margin-bottom:.1em;background-color:#000;background-color:rgba(0,0,0,.5)}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{-moz-transform:translateY(-3em);-ms-transform:translateY(-3em);-o-transform:translateY(-3em);-webkit-transform:translateY(-3em);transform:translateY(-3em)}.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{-moz-transform:translateY(-1.5em);-ms-transform:translateY(-1.5em);-o-transform:translateY(-1.5em);-webkit-transform:translateY(-1.5em);transform:translateY(-1.5em)}.video-js .vjs-fullscreen-control{cursor:pointer;-webkit-box-flex:none;-moz-box-flex:none;-webkit-flex:none;-ms-flex:none;flex:none}.vjs-playback-rate .vjs-playback-rate-value,.vjs-playback-rate>.vjs-menu-button{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-playback-rate .vjs-playback-rate-value{pointer-events:none;font-size:1.5em;line-height:2;text-align:center}.vjs-playback-rate .vjs-menu{width:4em;left:0}.vjs-error .vjs-error-display .vjs-modal-dialog-content{font-size:1.4em;text-align:center}.vjs-error .vjs-error-display:before{color:#fff;content:'X';font-family:Arial,Helvetica,sans-serif;font-size:4em;left:0;line-height:1;margin-top:-.5em;position:absolute;text-shadow:.05em .05em .1em #000;text-align:center;top:50%;vertical-align:middle;width:100%}.vjs-loading-spinner{display:none;position:absolute;top:50%;left:50%;margin:-25px 0 0 -25px;opacity:.85;text-align:left;border:6px solid rgba(43,51,63,.7);box-sizing:border-box;background-clip:padding-box;width:50px;height:50px;border-radius:25px}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{display:block}.vjs-loading-spinner:after,.vjs-loading-spinner:before{content:"";position:absolute;margin:-6px;box-sizing:inherit;width:inherit;height:inherit;border-radius:inherit;opacity:1;border:inherit;border-color:transparent;border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before{-webkit-animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite;animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{border-top-color:#fff;-webkit-animation-delay:.44s;animation-delay:.44s}@keyframes vjs-spinner-spin{100%{transform:rotate(360deg)}}@-webkit-keyframes vjs-spinner-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}100%{border-top-color:#73859f}}@-webkit-keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}100%{border-top-color:#73859f}}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{position:absolute}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:"\f10d";font-size:1.5em;line-height:inherit}.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-custom-control-spacer{-webkit-box-flex:auto;-moz-box-flex:auto;-webkit-flex:auto;-ms-flex:auto;flex:auto}.video-js.vjs-layout-tiny:not(.vjs-fullscreen).vjs-no-flex .vjs-custom-control-spacer{width:auto}.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-audio-button,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-captions-button,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-chapters-button,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-current-time,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-descriptions-button,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-duration,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-mute-control,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-playback-rate,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-progress-control,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-remaining-time,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-subtitles-button,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-time-divider,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-volume-control{display:none}.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-audio-button,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-captions-button,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-chapters-button,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-current-time,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-descriptions-button,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-duration,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-mute-control,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-playback-rate,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-remaining-time,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-subtitles-button,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-time-divider,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-volume-control{display:none}.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-captions-button,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-chapters-button,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-current-time,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-descriptions-button,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-duration,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-mute-control,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-playback-rate,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-remaining-time,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-subtitles-button .vjs-audio-button,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-time-divider,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-volume-control{display:none}.vjs-modal-dialog.vjs-text-track-settings{background-color:#2b333f;background-color:rgba(43,51,63,.75);color:#fff;height:70%}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-controls,.vjs-text-track-settings .vjs-track-settings-font{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}.vjs-text-track-settings fieldset{margin:5px;padding:3px;border:none}.vjs-text-track-settings fieldset span{display:inline-block;margin-left:5px}.vjs-text-track-settings legend{color:#fff;margin:0 0 5px 0}.vjs-text-track-settings .vjs-label{position:absolute;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);display:block;margin:0 0 5px 0;padding:0;border:0;height:1px;width:1px;overflow:hidden}.vjs-track-settings-controls button:active,.vjs-track-settings-controls button:focus{outline-style:solid;outline-width:medium;background-image:linear-gradient(0deg,#fff 88%,#73859f 100%)}.vjs-track-settings-controls button:hover{color:rgba(43,51,63,.75)}.vjs-track-settings-controls button{background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,#73859f 100%);color:#2b333f;cursor:pointer;border-radius:2px}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}@media print{.video-js>:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}@media \0screen{.vjs-user-inactive.vjs-playing .vjs-control-bar :before{content:""}}@media \0screen{.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:hidden}} \ No newline at end of file diff --git a/theme/public/videojs/video.min.js b/theme/public/videojs/video.min.js new file mode 100644 index 0000000..e5ccb38 --- /dev/null +++ b/theme/public/videojs/video.min.js @@ -0,0 +1,6 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.videojs=e()}(this,function(){function t(t,e){return e={exports:{}},t(e,e.exports),e.exports}function e(t,e){Ve(t).forEach(function(n){return e(t[n],n)})}function n(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Ve(t).reduce(function(n,r){return e(n,t[r],r)},n)}function r(t){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:"div",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments[3],i=ue.createElement(t);return Object.getOwnPropertyNames(e).forEach(function(t){var n=e[t];-1!==t.indexOf("aria-")||"role"===t||"type"===t?(Xe.warn(qe(Ke,t,n)),i.setAttribute(t,n)):"textContent"===t?y(i,n):i[t]=n}),Object.getOwnPropertyNames(n).forEach(function(t){i.setAttribute(t,n[t])}),r&&D(i,r),i}function y(t,e){return void 0===t.textContent?t.innerText=e:t.textContent=e,t}function g(t,e){e.firstChild?e.insertBefore(t,e.firstChild):e.appendChild(t)}function m(t,e){return c(e),t.classList?t.classList.contains(e):u(e).test(t.className)}function _(t,e){return t.classList?t.classList.add(e):m(t,e)||(t.className=(t.className+" "+e).trim()),t}function b(t,e){return t.classList?t.classList.remove(e):(c(e),t.className=t.className.split(/\s+/).filter(function(t){return t!==e}).join(" ")),t}function T(t,e,n){var r=m(t,e);if("function"==typeof n&&(n=n(t,e)),"boolean"!=typeof n&&(n=!r),n!==r)return n?_(t,e):b(t,e),t}function C(t,e){Object.getOwnPropertyNames(e).forEach(function(n){var r=e[n];null===r||void 0===r||!1===r?t.removeAttribute(n):t.setAttribute(n,!0===r?"":r)})}function k(t){var e={};if(t&&t.attributes&&t.attributes.length>0)for(var n=t.attributes,r=n.length-1;r>=0;r--){var i=n[r].name,o=n[r].value;"boolean"!=typeof t[i]&&-1===",autoplay,controls,playsinline,loop,muted,default,defaultMuted,".indexOf(","+i+",")||(o=null!==o),e[i]=o}return e}function w(t,e){return t.getAttribute(e)}function E(t,e,n){t.setAttribute(e,n)}function S(t,e){t.removeAttribute(e)}function x(){ue.body.focus(),ue.onselectstart=function(){return!1}}function j(){ue.onselectstart=function(){return!0}}function A(t){if(t&&t.getBoundingClientRect&&t.parentNode){var e=t.getBoundingClientRect(),n={};return["bottom","height","left","right","top","width"].forEach(function(t){void 0!==e[t]&&(n[t]=e[t])}),n.height||(n.height=parseFloat(a(t,"height"))),n.width||(n.width=parseFloat(a(t,"width"))),n}}function P(t){var e=void 0;if(t.getBoundingClientRect&&t.parentNode&&(e=t.getBoundingClientRect()),!e)return{left:0,top:0};var n=ue.documentElement,r=ue.body,i=n.clientLeft||r.clientLeft||0,o=oe.pageXOffset||r.scrollLeft,s=e.left+o-i,a=n.clientTop||r.clientTop||0,l=oe.pageYOffset||r.scrollTop,c=e.top+l-a;return{left:Math.round(s),top:Math.round(c)}}function M(t,e){var n={},r=P(t),i=t.offsetWidth,o=t.offsetHeight,s=r.top,a=r.left,l=e.pageY,c=e.pageX;return e.changedTouches&&(c=e.changedTouches[0].pageX,l=e.changedTouches[0].pageY),n.y=Math.max(0,Math.min(1,(s-l+o)/o)),n.x=Math.max(0,Math.min(1,(c-a)/i)),n}function O(t){return i(t)&&3===t.nodeType}function N(t){for(;t.firstChild;)t.removeChild(t.firstChild);return t}function I(t){return"function"==typeof t&&(t=t()),(Array.isArray(t)?t:[t]).map(function(t){return"function"==typeof t&&(t=t()),p(t)||O(t)?t:"string"==typeof t&&/\S/.test(t)?ue.createTextNode(t):void 0}).filter(function(t){return t})}function D(t,e){return I(e).forEach(function(e){return t.appendChild(e)}),t}function L(t,e){return D(N(t),e)}function R(){return Je++}function B(t){var e=t[Ze];return e||(e=t[Ze]=R()),Qe[e]||(Qe[e]={}),Qe[e]}function F(t){var e=t[Ze];return!!e&&!!Object.getOwnPropertyNames(Qe[e]).length}function V(t){var e=t[Ze];if(e){delete Qe[e];try{delete t[Ze]}catch(e){t.removeAttribute?t.removeAttribute(Ze):t[Ze]=null}}}function H(t,e){var n=B(t);0===n.handlers[e].length&&(delete n.handlers[e],t.removeEventListener?t.removeEventListener(e,n.dispatcher,!1):t.detachEvent&&t.detachEvent("on"+e,n.dispatcher)),Object.getOwnPropertyNames(n.handlers).length<=0&&(delete n.handlers,delete n.dispatcher,delete n.disabled),0===Object.getOwnPropertyNames(n).length&&V(t)}function U(t,e,n,r){n.forEach(function(n){t(e,n,r)})}function W(t){function e(){return!0}function n(){return!1}if(!t||!t.isPropagationStopped){var r=t||oe.event;t={};for(var i in r)"layerX"!==i&&"layerY"!==i&&"keyLocation"!==i&&"webkitMovementX"!==i&&"webkitMovementY"!==i&&("returnValue"===i&&r.preventDefault||(t[i]=r[i]));if(t.target||(t.target=t.srcElement||ue),t.relatedTarget||(t.relatedTarget=t.fromElement===t.target?t.toElement:t.fromElement),t.preventDefault=function(){r.preventDefault&&r.preventDefault(),t.returnValue=!1,r.returnValue=!1,t.defaultPrevented=!0},t.defaultPrevented=!1,t.stopPropagation=function(){r.stopPropagation&&r.stopPropagation(),t.cancelBubble=!0,r.cancelBubble=!0,t.isPropagationStopped=e},t.isPropagationStopped=n,t.stopImmediatePropagation=function(){r.stopImmediatePropagation&&r.stopImmediatePropagation(),t.isImmediatePropagationStopped=e,t.stopPropagation()},t.isImmediatePropagationStopped=n,null!==t.clientX&&void 0!==t.clientX){var o=ue.documentElement,s=ue.body;t.pageX=t.clientX+(o&&o.scrollLeft||s&&s.scrollLeft||0)-(o&&o.clientLeft||s&&s.clientLeft||0),t.pageY=t.clientY+(o&&o.scrollTop||s&&s.scrollTop||0)-(o&&o.clientTop||s&&s.clientTop||0)}t.which=t.charCode||t.keyCode,null!==t.button&&void 0!==t.button&&(t.button=1&t.button?0:4&t.button?1:2&t.button?2:0)}return t}function z(t,e,n){if(Array.isArray(e))return U(z,t,e,n);var r=B(t);if(r.handlers||(r.handlers={}),r.handlers[e]||(r.handlers[e]=[]),n.guid||(n.guid=R()),r.handlers[e].push(n),r.dispatcher||(r.disabled=!1,r.dispatcher=function(e,n){if(!r.disabled){e=W(e);var i=r.handlers[e.type];if(i)for(var o=i.slice(0),s=0,a=o.length;s-1&&(i={passive:!0}),t.addEventListener(e,r.dispatcher,i)}else t.attachEvent&&t.attachEvent("on"+e,r.dispatcher)}function X(t,e,n){if(F(t)){var r=B(t);if(r.handlers){if(Array.isArray(e))return U(X,t,e,n);var i=function(e){r.handlers[e]=[],H(t,e)};if(void 0!==e){var o=r.handlers[e];if(o){if(!n)return void i(e);if(n.guid)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:{},n=e.eventBusKey;if(n){if(!t[n].nodeName)throw new Error('The eventBusKey "'+n+'" does not refer to an element.');t.eventBusEl_=t[n]}else t.eventBusEl_=v("span",{className:"vjs-event-bus"});return r(t,_n),t.on("dispose",function(){return t.off()}),t}function $(t,e){return r(t,bn),t.state=r({},t.state,e),"function"==typeof t.handleStateChanged&&pn(t)&&t.on("statechanged",t.handleStateChanged),t}function J(t){return"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function Q(t,e){return J(t)===J(e)}function Z(){for(var t={},n=arguments.length,r=Array(n),i=0;in)throw new Error("Failed to execute '"+t+"' on 'TimeRanges': The index provided ("+e+") is non-numeric or out of bounds (0-"+n+").")}function et(t,e,n,r){return tt(t,r,n.length-1),n[r][e]}function nt(t){return void 0===t||0===t.length?{length:0,start:function(){throw new Error("This TimeRanges object is empty")},end:function(){throw new Error("This TimeRanges object is empty")}}:{length:t.length,start:et.bind(null,"start",0,t),end:et.bind(null,"end",1,t)}}function rt(t,e){return Array.isArray(t)?nt(t):void 0===t||void 0===e?nt():nt([[t,e]])}function it(t,e){var n=0,r=void 0,i=void 0;if(!e)return 0;t&&t.length||(t=rt(0,0));for(var o=0;oe&&(i=e),n+=i-r;return n/e}function ot(t){if(t instanceof ot)return t;"number"==typeof t?this.code=t:"string"==typeof t?this.message=t:i(t)&&("number"==typeof t.code&&(this.code=t.code),r(this,t)),this.message||(this.message=ot.defaultMessages[this.code]||"")}function st(t,e){var n,r=null;try{n=JSON.parse(t,e)}catch(t){r=t}return[r,n]}function at(t){var e=nr.call(t);return"[object Function]"===e||"function"==typeof t&&"[object RegExp]"!==e||"undefined"!=typeof window&&(t===window.setTimeout||t===window.alert||t===window.confirm||t===window.prompt)}function lt(t,e,n){if(!er(e))throw new TypeError("iterator must be a function");arguments.length<3&&(n=this),"[object Array]"===or.call(t)?ct(t,e,n):"string"==typeof t?ut(t,e,n):ht(t,e,n)}function ct(t,e,n){for(var r=0,i=t.length;r0&&(u=setTimeout(function(){if(!c){c=!0,a.abort("timeout");var t=new Error("XMLHttpRequest timeout");t.code="ETIMEDOUT",r(t)}},t.timeout)),a.setRequestHeader)for(l in f)f.hasOwnProperty(l)&&a.setRequestHeader(l,f[l]);else if(t.headers&&!dt(t.headers))throw new Error("Headers cannot be set on an XDomainRequest object");return"responseType"in t&&(a.responseType=t.responseType),"beforeSend"in t&&"function"==typeof t.beforeSend&&t.beforeSend(a),a.send(d||null),a}function gt(t){if("document"===t.responseType)return t.responseXML;var e=t.responseXML&&"parsererror"===t.responseXML.documentElement.nodeName;return""!==t.responseType||e?null:t.responseXML}function mt(){}function _t(t,e){this.name="ParsingError",this.code=t.code,this.message=e||t.message}function bt(t){function e(t,e,n,r){return 3600*(0|t)+60*(0|e)+(0|n)+(0|r)/1e3}var n=t.match(/^(\d+):(\d{2})(:\d{2})?\.(\d{3})/);return n?n[3]?e(n[1],n[2],n[3].replace(":",""),n[4]):n[1]>59?e(n[1],n[2],0,n[4]):e(0,n[1],n[2],n[4]):null}function Tt(){this.values=kr(null)}function Ct(t,e,n,r){var i=r?t.split(r):[t];for(var o in i)if("string"==typeof i[o]){var s=i[o].split(n);if(2===s.length){var a=s[0],l=s[1];e(a,l)}}}function kt(t,e,n){function r(){var e=bt(t);if(null===e)throw new _t(_t.Errors.BadTimeStamp,"Malformed timestamp: "+o);return t=t.replace(/^[^\sa-zA-Z-]+/,""),e}function i(){t=t.replace(/^\s+/,"")}var o=t;if(i(),e.startTime=r(),i(),"--\x3e"!==t.substr(0,3))throw new _t(_t.Errors.BadTimeStamp,"Malformed time stamp (time stamps must be separated by '--\x3e'): "+o);t=t.substr(3),i(),e.endTime=r(),i(),function(t,e){var r=new Tt;Ct(t,function(t,e){switch(t){case"region":for(var i=n.length-1;i>=0;i--)if(n[i].id===e){r.set(t,n[i].region);break}break;case"vertical":r.alt(t,e,["rl","lr"]);break;case"line":var o=e.split(","),s=o[0];r.integer(t,s),r.percent(t,s)&&r.set("snapToLines",!1),r.alt(t,s,["auto"]),2===o.length&&r.alt("lineAlign",o[1],["start","middle","end"]);break;case"position":o=e.split(","),r.percent(t,o[0]),2===o.length&&r.alt("positionAlign",o[1],["start","middle","end"]);break;case"size":r.percent(t,e);break;case"align":r.alt(t,e,["start","middle","end","left","right"])}},/:/,/\s/),e.region=r.get("region",null),e.vertical=r.get("vertical",""),e.line=r.get("line","auto"),e.lineAlign=r.get("lineAlign","start"),e.snapToLines=r.get("snapToLines",!0),e.size=r.get("size",100),e.align=r.get("align","middle"),e.position=r.get("position",{start:0,left:0,middle:50,end:100,right:100},e.align),e.positionAlign=r.get("positionAlign",{start:"start",left:"start",middle:"middle",end:"end",right:"end"},e.align)}(t,e)}function wt(t,e){function n(t){return wr[t]}for(var r,i=t.document.createElement("div"),o=i,s=[];null!==(r=function(){if(!e)return null;var t=e.match(/^([^<]*)(<[^>]+>?)?/);return function(t){return e=e.substr(t.length),t}(t[1]?t[1]:t[2])}());)if("<"!==r[0])o.appendChild(t.document.createTextNode(function(t){for(;c=t.match(/&(amp|lt|gt|lrm|rlm|nbsp);/);)t=t.replace(c[0],n);return t}(r)));else{if("/"===r[1]){s.length&&s[s.length-1]===r.substr(2).replace(">","")&&(s.pop(),o=o.parentNode);continue}var a,l=bt(r.substr(1,r.length-2));if(l){a=t.document.createProcessingInstruction("timestamp",l),o.appendChild(a);continue}var c=r.match(/^<([^.\s\/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/);if(!c)continue;if(!(a=function(e,n){var r=Er[e];if(!r)return null;var i=t.document.createElement(r);i.localName=r;var o=Sr[e];return o&&n&&(i[o]=n.trim()),i}(c[1],c[3])))continue;if(!function(t,e){return!xr[e.localName]||xr[e.localName]===t.localName}(o,a))continue;c[2]&&(a.className=c[2].substr(1).replace("."," ")),s.push(c[1]),o.appendChild(a),o=a}return i}function Et(t){for(var e=0;e=n[0]&&t<=n[1])return!0}return!1}function St(t){function e(t,e){for(var n=e.childNodes.length-1;n>=0;n--)t.push(e.childNodes[n])}function n(t){if(!t||!t.length)return null;var r=t.pop(),i=r.textContent||r.innerText;if(i){var o=i.match(/^.*(\n|\r)/);return o?(t.length=0,o[0]):i}return"ruby"===r.tagName?n(t):r.childNodes?(e(t,r),n(t)):void 0}var r,i=[],o="";if(!t||!t.childNodes)return"ltr";for(e(i,t);o=n(i);)for(var s=0;s=0&&t.line<=100))return t.line;if(!t.track||!t.track.textTrackList||!t.track.textTrackList.mediaElement)return-1;for(var e=t.track,n=e.textTrackList,r=0,i=0;ih&&(u=u<0?-1:1,u*=Math.ceil(h/c)*c),s<0&&(u+=""===o.vertical?n.height:n.width,a=a.reverse()),i.move(p,u)}else{var d=i.lineHeight/n.height*100;switch(o.lineAlign){case"middle":s-=d/2;break;case"end":s-=d}switch(o.vertical){case"":e.applyStyles({top:e.formatStyle(s,"%")});break;case"rl":e.applyStyles({left:e.formatStyle(s,"%")});break;case"lr":e.applyStyles({right:e.formatStyle(s,"%")})}a=["+y","-x","+x","-y"],i=new Pt(e)}var f=function(t,e){for(var i,o=new Pt(t),s=1,a=0;al&&(i=new Pt(t),s=l),t=new Pt(o)}return i||o}(i,a);e.move(f.toCSSCompatValues(n))}function Ot(){}function Nt(t){return"string"==typeof t&&(!!Mr[t.toLowerCase()]&&t.toLowerCase())}function It(t){return"string"==typeof t&&(!!Or[t.toLowerCase()]&&t.toLowerCase())}function Dt(t){for(var e=1;e100)throw new Error("Position must be between 0 and 100.");y=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"positionAlign",Dt({},o,{get:function(){return g},set:function(t){var e=It(t);if(!e)throw new SyntaxError("An invalid or illegal string was specified.");g=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"size",Dt({},o,{get:function(){return m},set:function(t){if(t<0||t>100)throw new Error("Size must be between 0 and 100.");m=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"align",Dt({},o,{get:function(){return _},set:function(t){var e=It(t);if(!e)throw new SyntaxError("An invalid or illegal string was specified.");_=e,this.hasBeenReset=!0}})),r.displayState=void 0,i)return r}function Rt(t){return"string"==typeof t&&(!!Ir[t.toLowerCase()]&&t.toLowerCase())}function Bt(t){return"number"==typeof t&&t>=0&&t<=100}function Ft(){var t=100,e=3,n=0,r=100,i=0,o=100,s="";Object.defineProperties(this,{width:{enumerable:!0,get:function(){return t},set:function(e){if(!Bt(e))throw new Error("Width must be between 0 and 100.");t=e}},lines:{enumerable:!0,get:function(){return e},set:function(t){if("number"!=typeof t)throw new TypeError("Lines must be set to a number.");e=t}},regionAnchorY:{enumerable:!0,get:function(){return r},set:function(t){if(!Bt(t))throw new Error("RegionAnchorX must be between 0 and 100.");r=t}},regionAnchorX:{enumerable:!0,get:function(){return n},set:function(t){if(!Bt(t))throw new Error("RegionAnchorY must be between 0 and 100.");n=t}},viewportAnchorY:{enumerable:!0,get:function(){return o},set:function(t){if(!Bt(t))throw new Error("ViewportAnchorY must be between 0 and 100.");o=t}},viewportAnchorX:{enumerable:!0,get:function(){return i},set:function(t){if(!Bt(t))throw new Error("ViewportAnchorX must be between 0 and 100.");i=t}},scroll:{enumerable:!0,get:function(){return s},set:function(t){var e=Rt(t);if(!1===e)throw new SyntaxError("An invalid or illegal string was specified.");s=e}}})}function Vt(t,e,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=t.textTracks();i.kind=e,n&&(i.label=n),r&&(i.language=r),i.tech=t;var s=new Cr.text.TrackClass(i);return o.addTrack(s),s}function Ht(t,e){Br[t]=Br[t]||[],Br[t].push(e)}function Ut(t,e,n){t.setTimeout(function(){return Kt(e,Br[e.type],n,t)},1)}function Wt(t,e){t.forEach(function(t){return t.setTech&&t.setTech(e)})}function zt(t,e,n){return t.reduceRight(qt(n),e[n]())}function Xt(t,e,n,r){return e[n](t.reduce(qt(n),r))}function qt(t){return function(e,n){return n[t]?n[t](e):e}}function Kt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments[2],i=arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],s=arguments.length>5&&void 0!==arguments[5]&&arguments[5],a=e[0],l=e.slice(1);if("string"==typeof a)Kt(t,Br[a],n,i,o,s);else if(a){var c=a(i);c.setSource(r({},t),function(e,r){if(e)return Kt(t,l,n,i,o,s);o.push(c),Kt(r,t.type===r.type?l:Br[r.type],n,i,o,s)})}else l.length?Kt(t,l,n,i,o,s):s?n(t,o):Kt(t,Br["*"],n,i,o,!0)}function Yt(t,e){return"rgba("+parseInt(t[1]+t[1],16)+","+parseInt(t[2]+t[2],16)+","+parseInt(t[3]+t[3],16)+","+e+")"}function Gt(t,e,n){try{t.style[e]=n}catch(t){return}}function $t(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;t=t<0?0:t;var n=Math.floor(t%60),r=Math.floor(t/60%60),i=Math.floor(t/3600),o=Math.floor(e/60%60),s=Math.floor(e/3600);return(isNaN(t)||t===1/0)&&(i=r=n="-"),i=i>0||s>0?i+":":"",r=((i||o>=10)&&r<10?"0"+r:r)+":",n=n<10?"0"+n:n,i+r+n}function Jt(t,e){if(e&&(t=e(t)),t&&"none"!==t)return t}function Qt(t,e){return Jt(t.options[t.options.selectedIndex].value,e)}function Zt(t,e,n){if(e)for(var r=0;r2&&void 0!==arguments[2]?arguments[2]:!!je&&je<11,r=He.levels[Ue],o=new RegExp("^("+r+")$");"log"!==t&&e.unshift(t.toUpperCase()+":"),We&&We.push([].concat(e)),e.unshift("VIDEOJS:");var s=oe.console&&oe.console[t];s&&r&&o.test(t)&&(n&&(e=e.map(function(t){if(i(t)||Array.isArray(t))try{return JSON.stringify(t)}catch(e){return String(t)}return String(t)}).join(" ")),s.apply?s[Array.isArray(e)?"apply":"call"](oe.console,e):s(e))};He=function(){for(var t=arguments.length,e=Array(t),n=0;n0)for(var r=0,i=t.length;r0)for(var o=0,s=e.length;o0)for(var a=0,l=n.length;a=e&&(t.apply(void 0,arguments),n=r)}},hn=function(){};hn.prototype.allowedEvents_={},hn.prototype.on=function(t,e){var n=this.addEventListener;this.addEventListener=function(){},z(this,t,e),this.addEventListener=n},hn.prototype.addEventListener=hn.prototype.on,hn.prototype.off=function(t,e){X(this,t,e)},hn.prototype.removeEventListener=hn.prototype.off,hn.prototype.one=function(t,e){var n=this.addEventListener;this.addEventListener=function(){},K(this,t,e),this.addEventListener=n},hn.prototype.trigger=function(t){var e=t.type||t;"string"==typeof t&&(t={type:e}),t=W(t),this.allowedEvents_[e]&&this["on"+e]&&this["on"+e](t),q(this,t)},hn.prototype.dispatchEvent=hn.prototype.trigger;var pn=function(t){return t instanceof hn||!!t.eventBusEl_&&["on","one","off","trigger"].every(function(e){return"function"==typeof t[e]})},dn=function(t){return"string"==typeof t&&/\S/.test(t)||Array.isArray(t)&&!!t.length},fn=function(t){if(!t.nodeName&&!pn(t))throw new Error("Invalid target; must be a DOM node or evented object.")},vn=function(t){if(!dn(t))throw new Error("Invalid event type; must be a non-empty string or array.")},yn=function(t){if("function"!=typeof t)throw new Error("Invalid listener; must be a function.")},gn=function(t,e){var n=e.length<3||e[0]===t||e[0]===t.eventBusEl_,r=void 0,i=void 0,o=void 0;return n?(r=t.eventBusEl_,e.length>=3&&e.shift(),i=e[0],o=e[1]):(r=e[0],i=e[1],o=e[2]),fn(r),vn(i),yn(o),o=cn(t,o),{isTargetingSelf:n,target:r,type:i,listener:o}},mn=function(t,e,n,r){fn(t),t.nodeName?nn[e](t,n,r):t[e](n,r)},_n={on:function(){for(var t=this,e=arguments.length,n=Array(e),r=0;r=0;t--)this.children_[t].dispose&&this.children_[t].dispose();this.children_=null,this.childIndex_=null,this.childNameIndex_=null,this.el_&&(this.el_.parentNode&&this.el_.parentNode.removeChild(this.el_),V(this.el_),this.el_=null)},t.prototype.player=function(){return this.player_},t.prototype.options=function(t){return Xe.warn("this.options() has been deprecated and will be moved to the constructor in 6.0"),t?(this.options_=Z(this.options_,t),this.options_):this.options_},t.prototype.el=function(){return this.el_},t.prototype.createEl=function(t,e,n){return v(t,e,n)},t.prototype.localize=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,r=this.player_.language&&this.player_.language(),i=this.player_.languages&&this.player_.languages(),o=i&&i[r],s=r&&r.split("-")[0],a=i&&i[s],l=n;return o&&o[t]?l=o[t]:a&&a[t]&&(l=a[t]),e&&(l=l.replace(/\{(\d+)\}/g,function(t,n){var r=e[n-1],i=r;return void 0===r&&(i=t),i})),l},t.prototype.contentEl=function(){return this.contentEl_||this.el_},t.prototype.id=function(){return this.id_},t.prototype.name=function(){return this.name_},t.prototype.children=function(){return this.children_},t.prototype.getChildById=function(t){return this.childIndex_[t]},t.prototype.getChild=function(t){if(t)return t=J(t),this.childNameIndex_[t]},t.prototype.addChild=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.children_.length,i=void 0,o=void 0;if("string"==typeof e){o=J(e);var s=n.componentClass||o;n.name=o;var a=t.getComponent(s);if(!a)throw new Error("Component "+s+" does not exist");if("function"!=typeof a)return null;i=new a(this.player_||this,n)}else i=e;if(this.children_.splice(r,0,i),"function"==typeof i.id&&(this.childIndex_[i.id()]=i),o=o||i.name&&J(i.name()),o&&(this.childNameIndex_[o]=i),"function"==typeof i.el&&i.el()){var l=this.contentEl().children,c=l[r]||null;this.contentEl().insertBefore(i.el(),c)}return i},t.prototype.removeChild=function(t){if("string"==typeof t&&(t=this.getChild(t)),t&&this.children_){for(var e=!1,n=this.children_.length-1;n>=0;n--)if(this.children_[n]===t){e=!0,this.children_.splice(n,1);break}if(e){this.childIndex_[t.id()]=null,this.childNameIndex_[t.name()]=null;var r=t.el();r&&r.parentNode===this.contentEl()&&this.contentEl().removeChild(t.el())}}},t.prototype.initChildren=function(){var e=this,n=this.options_.children;if(n){var r=this.options_,i=function(t){var n=t.name,i=t.opts;if(void 0!==r[n]&&(i=r[n]),!1!==i){!0===i&&(i={}),i.playerOptions=e.options_.playerOptions;var o=e.addChild(n,i);o&&(e[n]=o)}},o=void 0,s=t.getComponent("Tech");o=Array.isArray(n)?n:Object.keys(n),o.concat(Object.keys(this.options_).filter(function(t){return!o.some(function(e){return"string"==typeof e?t===e:t===e.name})})).map(function(t){var r=void 0,i=void 0;return"string"==typeof t?(r=t,i=n[r]||e.options_[r]||{}):(r=t.name,i=t),{name:r,opts:i}}).filter(function(e){var n=t.getComponent(e.opts.componentClass||J(e.name));return n&&!s.isTech(n)}).forEach(i)}},t.prototype.buildCSSClass=function(){return""},t.prototype.ready=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t)return this.isReady_?void(e?t.call(this):this.setTimeout(t,1)):(this.readyQueue_=this.readyQueue_||[],void this.readyQueue_.push(t))},t.prototype.triggerReady=function(){this.isReady_=!0,this.setTimeout(function(){var t=this.readyQueue_;this.readyQueue_=[],t&&t.length>0&&t.forEach(function(t){t.call(this)},this),this.trigger("ready")},1)},t.prototype.$=function(t,e){return Ye(t,e||this.contentEl())},t.prototype.$$=function(t,e){return Ge(t,e||this.contentEl())},t.prototype.hasClass=function(t){return m(this.el_,t)},t.prototype.addClass=function(t){_(this.el_,t)},t.prototype.removeClass=function(t){b(this.el_,t)},t.prototype.toggleClass=function(t,e){T(this.el_,t,e)},t.prototype.show=function(){this.removeClass("vjs-hidden")},t.prototype.hide=function(){this.addClass("vjs-hidden")},t.prototype.lockShowing=function(){this.addClass("vjs-lock-showing")},t.prototype.unlockShowing=function(){this.removeClass("vjs-lock-showing")},t.prototype.getAttribute=function(t){return w(this.el_,t)},t.prototype.setAttribute=function(t,e){E(this.el_,t,e)},t.prototype.removeAttribute=function(t){S(this.el_,t)},t.prototype.width=function(t,e){return this.dimension("width",t,e)},t.prototype.height=function(t,e){return this.dimension("height",t,e)},t.prototype.dimensions=function(t,e){this.width(t,!0),this.height(e)},t.prototype.dimension=function(t,e,n){if(void 0!==e)return null!==e&&e===e||(e=0),-1!==(""+e).indexOf("%")||-1!==(""+e).indexOf("px")?this.el_.style[t]=e:this.el_.style[t]="auto"===e?"":e+"px",void(n||this.trigger("componentresize"));if(!this.el_)return 0;var r=this.el_.style[t],i=r.indexOf("px");return-1!==i?parseInt(r.slice(0,i),10):parseInt(this.el_["offset"+J(t)],10)},t.prototype.currentDimension=function(t){var e=0;if("width"!==t&&"height"!==t)throw new Error("currentDimension only accepts width or height value");if("function"==typeof oe.getComputedStyle){var n=oe.getComputedStyle(this.el_);e=n.getPropertyValue(t)||n[t]}if(0===(e=parseFloat(e))){var r="offset"+J(t);e=this.el_[r]}return e},t.prototype.currentDimensions=function(){return{width:this.currentDimension("width"),height:this.currentDimension("height")}},t.prototype.currentWidth=function(){return this.currentDimension("width")},t.prototype.currentHeight=function(){return this.currentDimension("height")},t.prototype.focus=function(){this.el_.focus()},t.prototype.blur=function(){this.el_.blur()},t.prototype.emitTapEvents=function(){var t=0,e=null,n=void 0;this.on("touchstart",function(r){1===r.touches.length&&(e={pageX:r.touches[0].pageX,pageY:r.touches[0].pageY},t=(new Date).getTime(),n=!0)}),this.on("touchmove",function(t){if(t.touches.length>1)n=!1;else if(e){var r=t.touches[0].pageX-e.pageX,i=t.touches[0].pageY-e.pageY,o=Math.sqrt(r*r+i*i);o>10&&(n=!1)}});var r=function(){n=!1};this.on("touchleave",r),this.on("touchcancel",r),this.on("touchend",function(r){if(e=null,!0===n){(new Date).getTime()-t<200&&(r.preventDefault(),this.trigger("tap"))}})},t.prototype.enableTouchActivity=function(){if(this.player()&&this.player().reportUserActivity){var t=cn(this.player(),this.player().reportUserActivity),e=void 0;this.on("touchstart",function(){t(),this.clearInterval(e),e=this.setInterval(t,250)});var n=function(n){t(),this.clearInterval(e)};this.on("touchmove",t),this.on("touchend",n),this.on("touchcancel",n)}},t.prototype.setTimeout=function(t,e){var n=this;t=cn(this,t);var r=oe.setTimeout(t,e),i=function(){return n.clearTimeout(r)};return i.guid="vjs-timeout-"+r,this.on("dispose",i),r},t.prototype.clearTimeout=function(t){oe.clearTimeout(t);var e=function(){};return e.guid="vjs-timeout-"+t,this.off("dispose",e),t},t.prototype.setInterval=function(t,e){var n=this;t=cn(this,t);var r=oe.setInterval(t,e),i=function(){return n.clearInterval(r)};return i.guid="vjs-interval-"+r,this.on("dispose",i),r},t.prototype.clearInterval=function(t){oe.clearInterval(t);var e=function(){};return e.guid="vjs-interval-"+t,this.off("dispose",e),t},t.prototype.requestAnimationFrame=function(t){var e=this;if(this.supportsRaf_){t=cn(this,t);var n=oe.requestAnimationFrame(t),r=function(){return e.cancelAnimationFrame(n)};return r.guid="vjs-raf-"+n,this.on("dispose",r),n}return this.setTimeout(t,1e3/60)},t.prototype.cancelAnimationFrame=function(t){if(this.supportsRaf_){oe.cancelAnimationFrame(t);var e=function(){};return e.guid="vjs-raf-"+t,this.off("dispose",e),t}return this.clearTimeout(t)},t.registerComponent=function(e,n){if("string"!=typeof e||!e)throw new Error('Illegal component name, "'+e+'"; must be a non-empty string.');var r=t.getComponent("Tech"),i=r&&r.isTech(n),o=t===n||t.prototype.isPrototypeOf(n.prototype);if(i||!o){var s=void 0;throw s=i?"techs must be registered using Tech.registerTech()":"must be a Component subclass",new Error('Illegal component, "'+e+'"; '+s+".")}e=J(e),t.components_||(t.components_={});var a=t.getComponent("Player");if("Player"===e&&a&&a.players){var l=a.players,c=Object.keys(l);if(l&&c.length>0&&c.map(function(t){return l[t]}).every(Boolean))throw new Error("Can not register Player component after player has been created.")}return t.components_[e]=n,n},t.getComponent=function(e){if(e)return e=J(e),t.components_&&t.components_[e]?t.components_[e]:void 0},t}();Tn.prototype.supportsRaf_="function"==typeof oe.requestAnimationFrame&&"function"==typeof oe.cancelAnimationFrame,Tn.registerComponent("Component",Tn);for(var Cn={},kn=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],wn=kn[0],En=void 0,Sn=0;Sn0&&void 0!==arguments[0]?arguments[0]:[],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;De(this,e);var o=Re(this,t.call(this));if(!i&&(i=o,xe)){i=ue.createElement("custom");for(var s in e.prototype)"constructor"!==s&&(i[s]=e.prototype[s])}i.tracks_=[],Object.defineProperty(i,"length",{get:function(){return this.tracks_.length}});for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:[];De(this,e);for(var o=void 0,s=i.length-1;s>=0;s--)if(i[s].enabled){Bn(i,i[s]);break}if(xe){o=ue.createElement("custom");for(var a in Ln.prototype)"constructor"!==a&&(o[a]=Ln.prototype[a]);for(var l in e.prototype)"constructor"!==l&&(o[l]=e.prototype[l])}return o=n=Re(this,t.call(this,i,o)),o.changing_=!1,r=o,Re(n,r)}return Le(e,t),e.prototype.addTrack=function(e){var n=this;e.enabled&&Bn(this,e),t.prototype.addTrack.call(this,e),e.addEventListener&&e.addEventListener("enabledchange",function(){n.changing_||(n.changing_=!0,Bn(n,e),n.changing_=!1,n.trigger("change"))})},e}(Ln),Vn=function(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[];De(this,e);for(var o=void 0,s=i.length-1;s>=0;s--)if(i[s].selected){Vn(i,i[s]);break}if(xe){o=ue.createElement("custom");for(var a in Ln.prototype)"constructor"!==a&&(o[a]=Ln.prototype[a]);for(var l in e.prototype)"constructor"!==l&&(o[l]=e.prototype[l])}return o=n=Re(this,t.call(this,i,o)),o.changing_=!1,Object.defineProperty(o,"selectedIndex",{get:function(){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:[];De(this,e);var o=void 0;if(xe){o=ue.createElement("custom");for(var s in Ln.prototype)"constructor"!==s&&(o[s]=Ln.prototype[s]);for(var a in e.prototype)"constructor"!==a&&(o[a]=e.prototype[a])}return o=n=Re(this,t.call(this,i,o)),r=o,Re(n,r)}return Le(e,t),e.prototype.addTrack=function(e){t.prototype.addTrack.call(this,e),e.addEventListener("modechange",cn(this,function(){this.trigger("change")})),-1===["metadata","chapters"].indexOf(e.kind)&&e.addEventListener("modechange",cn(this,function(){this.trigger("selectedlanguagechange")}))},e}(Ln),Wn=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];De(this,t);var n=this;if(xe){n=ue.createElement("custom");for(var r in t.prototype)"constructor"!==r&&(n[r]=t.prototype[r])}n.trackElements_=[],Object.defineProperty(n,"length",{get:function(){return this.trackElements_.length}});for(var i=0,o=e.length;i0&&void 0!==arguments[0]?arguments[0]:{};De(this,e);var i=Re(this,t.call(this)),o=i;if(xe){o=ue.createElement("custom");for(var s in e.prototype)"constructor"!==s&&(o[s]=e.prototype[s])}var a={id:r.id||"vjs_track_"+R(),kind:r.kind||"",label:r.label||"",language:r.language||""};for(var l in a)!function(t){Object.defineProperty(o,t,{get:function(){return a[t]},set:function(){}})}(l);return n=o,Re(i,n)}return Le(e,t),e}(hn),$n=function(t){var e=["protocol","hostname","port","pathname","search","hash","host"],n=ue.createElement("a");n.href=t;var r=""===n.host&&"file:"!==n.protocol,i=void 0;r&&(i=ue.createElement("div"),i.innerHTML='',n=i.firstChild,i.setAttribute("style","display:none; position:absolute;"),ue.body.appendChild(i));for(var o={},s=0;sx',t=e.firstChild.href}return t},Qn=function(t){if("string"==typeof t){var e=/^(\/?)([\s\S]*?)((?:\.{1,2}|[^\/]+?)(\.([^\.\/\?]+)))(?:[\/]*|[\?].*)$/i,n=e.exec(t);if(n)return n.pop().toLowerCase()}return""},Zn=function(t){var e=oe.location,n=$n(t);return(":"===n.protocol?e.protocol:n.protocol)+n.host!==e.protocol+e.host},tr=(Object.freeze||Object)({parseUrl:$n,getAbsoluteURL:Jn,getFileExtension:Qn,isCrossOrigin:Zn}),er=at,nr=Object.prototype.toString,rr=t(function(t,e){function n(t){return t.replace(/^\s*|\s*$/g,"")}e=t.exports=n,e.left=function(t){return t.replace(/^\s*/,"")},e.right=function(t){return t.replace(/\s*$/,"")}}),ir=lt,or=Object.prototype.toString,sr=Object.prototype.hasOwnProperty,ar=function(t){return"[object Array]"===Object.prototype.toString.call(t)},lr=function(t){if(!t)return{};var e={};return ir(rr(t).split("\n"),function(t){var n=t.indexOf(":"),r=rr(t.slice(0,n)).toLowerCase(),i=rr(t.slice(n+1));void 0===e[r]?e[r]=i:ar(e[r])?e[r].push(i):e[r]=[e[r],i]}),e},cr=pt,ur=Object.prototype.hasOwnProperty,hr=vt;vt.XMLHttpRequest=oe.XMLHttpRequest||mt,vt.XDomainRequest="withCredentials"in new vt.XMLHttpRequest?vt.XMLHttpRequest:oe.XDomainRequest,function(t,e){for(var n=0;n0&&(oe.console&&oe.console.groupCollapsed&&oe.console.groupCollapsed("Text Track parsing errors for "+e.src),r.forEach(function(t){return Xe.error(t)}),oe.console&&oe.console.groupEnd&&oe.console.groupEnd()),n.flush()},dr=function(t,e){var n={uri:t},r=Zn(t);r&&(n.cors=r),hr(n,cn(this,function(t,n,r){if(t)return Xe.error(t,n);if(e.loaded_=!0,"function"!=typeof oe.WebVTT){if(e.tech_){var i=function(){return pr(r,e)};e.tech_.on("vttjsloaded",i),e.tech_.on("vttjserror",function(){Xe.error("vttjs failed to load, stopping trying to process "+e.src),e.tech_.off("vttjsloaded",i)})}}else pr(r,e)}))},fr=function(t){function e(){var n,r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(De(this,e),!i.tech)throw new Error("A tech was not provided.");var o=Z(i,{kind:Kn[i.kind]||"subtitles",language:i.language||i.srclang||""}),s=Yn[o.mode]||"disabled",a=o.default;"metadata"!==o.kind&&"chapters"!==o.kind||(s="hidden");var l=n=Re(this,t.call(this,o));if(l.tech_=o.tech,xe)for(var c in e.prototype)"constructor"!==c&&(l[c]=e.prototype[c]);l.cues_=[],l.activeCues_=[];var u=new zn(l.cues_),h=new zn(l.activeCues_),p=!1,d=cn(l,function(){this.activeCues,p&&(this.trigger("cuechange"),p=!1)});return"disabled"!==s&&l.tech_.ready(function(){l.tech_.on("timeupdate",d)},!0),Object.defineProperty(l,"default",{get:function(){return a},set:function(){}}),Object.defineProperty(l,"mode",{get:function(){return s},set:function(t){var e=this;Yn[t]&&(s=t,"showing"===s&&this.tech_.ready(function(){e.tech_.on("timeupdate",d)},!0),this.trigger("modechange"))}}),Object.defineProperty(l,"cues",{get:function(){return this.loaded_?u:null},set:function(){}}),Object.defineProperty(l,"activeCues",{get:function(){if(!this.loaded_)return null;if(0===this.cues.length)return h;for(var t=this.tech_.currentTime(),e=[],n=0,r=this.cues.length;n=t?e.push(i):i.startTime===i.endTime&&i.startTime<=t&&i.startTime+.5>=t&&e.push(i)}if(p=!1,e.length!==this.activeCues_.length)p=!0;else for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:{};De(this,e);var o=Z(i,{kind:qn[i.kind]||""}),s=n=Re(this,t.call(this,o)),a=!1;if(xe)for(var l in e.prototype)"constructor"!==l&&(s[l]=e.prototype[l]);return Object.defineProperty(s,"enabled",{get:function(){return a},set:function(t){"boolean"==typeof t&&t!==a&&(a=t,this.trigger("enabledchange"))}}),o.enabled&&(s.enabled=o.enabled),s.loaded_=!0,r=s,Re(n,r)}return Le(e,t),e}(Gn),yr=function(t){function e(){var n,r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};De(this,e);var o=Z(i,{kind:Xn[i.kind]||""}),s=n=Re(this,t.call(this,o)),a=!1;if(xe)for(var l in e.prototype)"constructor"!==l&&(s[l]=e.prototype[l]);return Object.defineProperty(s,"selected",{get:function(){ +return a},set:function(t){"boolean"==typeof t&&t!==a&&(a=t,this.trigger("selectedchange"))}}),o.selected&&(s.selected=o.selected),r=s,Re(n,r)}return Le(e,t),e}(Gn),gr=0,mr=2,_r=function(t){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};De(this,e);var r=Re(this,t.call(this)),i=void 0,o=r;if(xe){o=ue.createElement("custom");for(var s in e.prototype)"constructor"!==s&&(o[s]=e.prototype[s])}var a=new fr(n);if(o.kind=a.kind,o.src=a.src,o.srclang=a.language,o.label=a.label,o.default=a.default,Object.defineProperty(o,"readyState",{get:function(){return i}}),Object.defineProperty(o,"track",{get:function(){return a}}),i=gr,a.addEventListener("loadeddata",function(){i=mr,o.trigger({type:"load",target:o})}),xe){var l;return l=o,Re(r,l)}return r}return Le(e,t),e}(hn);_r.prototype.allowedEvents_={load:"load"},_r.NONE=gr,_r.LOADING=1,_r.LOADED=mr,_r.ERROR=3;var br={audio:{ListClass:Fn,TrackClass:vr,capitalName:"Audio"},video:{ListClass:Hn,TrackClass:yr,capitalName:"Video"},text:{ListClass:Un,TrackClass:fr,capitalName:"Text"}};Object.keys(br).forEach(function(t){br[t].getterName=t+"Tracks",br[t].privateName=t+"Tracks_"});var Tr={remoteText:{ListClass:Un,TrackClass:fr,capitalName:"RemoteText",getterName:"remoteTextTracks",privateName:"remoteTextTracks_"},remoteTextEl:{ListClass:Wn,TrackClass:_r,capitalName:"RemoteTextTrackEls",getterName:"remoteTextTrackEls",privateName:"remoteTextTrackEls_"}},Cr=Z(br,Tr);Tr.names=Object.keys(Tr),br.names=Object.keys(br),Cr.names=[].concat(Tr.names).concat(br.names);var kr=Object.create||function(){function t(){}return function(e){if(1!==arguments.length)throw new Error("Object.create shim only accepts one parameter.");return t.prototype=e,new t}}();_t.prototype=kr(Error.prototype),_t.prototype.constructor=_t,_t.Errors={BadSignature:{code:0,message:"Malformed WebVTT signature."},BadTimeStamp:{code:1,message:"Malformed time stamp."}},Tt.prototype={set:function(t,e){this.get(t)||""===e||(this.values[t]=e)},get:function(t,e,n){return n?this.has(t)?this.values[t]:e[n]:this.has(t)?this.values[t]:e},has:function(t){return t in this.values},alt:function(t,e,n){for(var r=0;r=0&&e<=100)&&(this.set(t,e),!0)}};var wr={"&":"&","<":"<",">":">","‎":"‎","‏":"‏"," ":" "},Er={c:"span",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"span",lang:"span"},Sr={v:"title",lang:"lang"},xr={rt:"ruby"},jr=[[1470,1470],[1472,1472],[1475,1475],[1478,1478],[1488,1514],[1520,1524],[1544,1544],[1547,1547],[1549,1549],[1563,1563],[1566,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],[1969,1969],[1984,2026],[2036,2037],[2042,2042],[2048,2069],[2074,2074],[2084,2084],[2088,2088],[2096,2110],[2112,2136],[2142,2142],[2208,2208],[2210,2220],[8207,8207],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64449],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[67584,67589],[67592,67592],[67594,67637],[67639,67640],[67644,67644],[67647,67669],[67671,67679],[67840,67867],[67872,67897],[67903,67903],[67968,68023],[68030,68031],[68096,68096],[68112,68115],[68117,68119],[68121,68147],[68160,68167],[68176,68184],[68192,68223],[68352,68405],[68416,68437],[68440,68466],[68472,68479],[68608,68680],[126464,126467],[126469,126495],[126497,126498],[126500,126500],[126503,126503],[126505,126514],[126516,126519],[126521,126521],[126523,126523],[126530,126530],[126535,126535],[126537,126537],[126539,126539],[126541,126543],[126545,126546],[126548,126548],[126551,126551],[126553,126553],[126555,126555],[126557,126557],[126559,126559],[126561,126562],[126564,126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590,126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[1114109,1114109]];jt.prototype.applyStyles=function(t,e){e=e||this.div;for(var n in t)t.hasOwnProperty(n)&&(e.style[n]=t[n])},jt.prototype.formatStyle=function(t,e){return 0===t?0:t+e},At.prototype=kr(jt.prototype),At.prototype.constructor=At,Pt.prototype.move=function(t,e){switch(e=void 0!==e?e:this.lineHeight,t){case"+x":this.left+=e,this.right+=e;break;case"-x":this.left-=e,this.right-=e;break;case"+y":this.top+=e,this.bottom+=e;break;case"-y":this.top-=e,this.bottom-=e}},Pt.prototype.overlaps=function(t){return this.leftt.left&&this.topt.top},Pt.prototype.overlapsAny=function(t){for(var e=0;e=t.top&&this.bottom<=t.bottom&&this.left>=t.left&&this.right<=t.right},Pt.prototype.overlapsOppositeAxis=function(t,e){switch(e){case"+x":return this.leftt.right;case"+y":return this.topt.bottom}},Pt.prototype.intersectPercentage=function(t){return Math.max(0,Math.min(this.right,t.right)-Math.max(this.left,t.left))*Math.max(0,Math.min(this.bottom,t.bottom)-Math.max(this.top,t.top))/(this.height*this.width)},Pt.prototype.toCSSCompatValues=function(t){return{top:this.top-t.top,bottom:t.bottom-this.bottom,left:this.left-t.left,right:t.right-this.right,height:this.height,width:this.width}},Pt.getSimpleBoxPosition=function(t){var e=t.div?t.div.offsetHeight:t.tagName?t.offsetHeight:0,n=t.div?t.div.offsetWidth:t.tagName?t.offsetWidth:0,r=t.div?t.div.offsetTop:t.tagName?t.offsetTop:0;return t=t.div?t.div.getBoundingClientRect():t.tagName?t.getBoundingClientRect():t,{left:t.left,right:t.right,top:t.top||r,height:t.height||e,bottom:t.bottom||r+(t.height||e),width:t.width||n}},Ot.StringDecoder=function(){return{decode:function(t){if(!t)return"";if("string"!=typeof t)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(t))}}},Ot.convertCueToDOMTree=function(t,e){return t&&e?wt(t,e):null};Ot.processCues=function(t,e,n){if(!t||!e||!n)return null;for(;n.firstChild;)n.removeChild(n.firstChild);var r=t.document.createElement("div");if(r.style.position="absolute",r.style.left="0",r.style.right="0",r.style.top="0",r.style.bottom="0",r.style.margin="1.5%",n.appendChild(r),function(t){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){};De(this,e),n.reportTouchActivity=!1;var i=Re(this,t.call(this,null,n,r));return i.hasStarted_=!1,i.on("playing",function(){this.hasStarted_=!0}),i.on("loadstart",function(){this.hasStarted_=!1}),Cr.names.forEach(function(t){var e=Cr[t];n&&n[e.getterName]&&(i[e.privateName]=n[e.getterName])}),i.featuresProgressEvents||i.manualProgressOn(),i.featuresTimeupdateEvents||i.manualTimeUpdatesOn(),["Text","Audio","Video"].forEach(function(t){!1===n["native"+t+"Tracks"]&&(i["featuresNative"+t+"Tracks"]=!1)}),!1===n.nativeCaptions||!1===n.nativeTextTracks?i.featuresNativeTextTracks=!1:!0!==n.nativeCaptions&&!0!==n.nativeTextTracks||(i.featuresNativeTextTracks=!0),i.featuresNativeTextTracks||i.emulateTextTracks(),i.autoRemoteTextTracks_=new Cr.text.ListClass,i.initTrackListeners(),n.nativeControlsForTouch||i.emitTapEvents(),i.constructor&&(i.name_=i.constructor.name||"Unknown Tech"),i}return Le(e,t),e.prototype.manualProgressOn=function(){this.on("durationchange",this.onDurationChange),this.manualProgress=!0,this.one("ready",this.trackProgress)},e.prototype.manualProgressOff=function(){this.manualProgress=!1,this.stopTrackingProgress(),this.off("durationchange",this.onDurationChange)},e.prototype.trackProgress=function(t){this.stopTrackingProgress(),this.progressInterval=this.setInterval(cn(this,function(){var t=this.bufferedPercent();this.bufferedPercent_!==t&&this.trigger("progress"),this.bufferedPercent_=t,1===t&&this.stopTrackingProgress()}),500)},e.prototype.onDurationChange=function(t){this.duration_=this.duration()},e.prototype.buffered=function(){return rt(0,0)},e.prototype.bufferedPercent=function(){return it(this.buffered(),this.duration_)},e.prototype.stopTrackingProgress=function(){this.clearInterval(this.progressInterval)},e.prototype.manualTimeUpdatesOn=function(){this.manualTimeUpdates=!0,this.on("play",this.trackCurrentTime),this.on("pause",this.stopTrackingCurrentTime)},e.prototype.manualTimeUpdatesOff=function(){this.manualTimeUpdates=!1,this.stopTrackingCurrentTime(),this.off("play",this.trackCurrentTime),this.off("pause",this.stopTrackingCurrentTime)},e.prototype.trackCurrentTime=function(){this.currentTimeInterval&&this.stopTrackingCurrentTime(),this.currentTimeInterval=this.setInterval(function(){this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0})},250)},e.prototype.stopTrackingCurrentTime=function(){this.clearInterval(this.currentTimeInterval),this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0})},e.prototype.dispose=function(){this.clearTracks(br.names),this.manualProgress&&this.manualProgressOff(),this.manualTimeUpdates&&this.manualTimeUpdatesOff(),t.prototype.dispose.call(this)},e.prototype.clearTracks=function(t){var e=this;t=[].concat(t),t.forEach(function(t){for(var n=e[t+"Tracks"]()||[],r=n.length;r--;){var i=n[r];"text"===t&&e.removeRemoteTextTrack(i),n.removeTrack(i)}})},e.prototype.cleanupAutoTextTracks=function(){for(var t=this.autoRemoteTextTracks_||[],e=t.length;e--;){var n=t[e];this.removeRemoteTextTrack(n)}},e.prototype.reset=function(){},e.prototype.error=function(t){return void 0!==t&&(this.error_=new ot(t),this.trigger("error")),this.error_},e.prototype.played=function(){return this.hasStarted_?rt(0,0):rt()},e.prototype.setCurrentTime=function(){this.manualTimeUpdates&&this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0})},e.prototype.initTrackListeners=function(){var t=this;br.names.forEach(function(e){var n=br[e],r=function(){t.trigger(e+"trackchange")},i=t[n.getterName]();i.addEventListener("removetrack",r),i.addEventListener("addtrack",r),t.on("dispose",function(){i.removeEventListener("removetrack",r),i.removeEventListener("addtrack",r)})})},e.prototype.addWebVttScript_=function(){var t=this;if(!oe.WebVTT)if(ue.body.contains(this.el())){if(!this.options_["vtt.js"]&&o(Lr)&&Object.keys(Lr).length>0)return void this.trigger("vttjsloaded");var e=ue.createElement("script");e.src=this.options_["vtt.js"]||"https://vjs.zencdn.net/vttjs/0.12.4/vtt.min.js",e.onload=function(){t.trigger("vttjsloaded")},e.onerror=function(){t.trigger("vttjserror")},this.on("dispose",function(){e.onload=null,e.onerror=null}),oe.WebVTT=!0,this.el().parentNode.appendChild(e)}else this.ready(this.addWebVttScript_)},e.prototype.emulateTextTracks=function(){var t=this,e=this.textTracks(),n=this.remoteTextTracks(),r=function(t){return e.addTrack(t.track)},i=function(t){return e.removeTrack(t.track)};n.on("addtrack",r),n.on("removetrack",i),this.addWebVttScript_();var o=function(){return t.trigger("texttrackchange")},s=function(){o();for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1],r=this.createRemoteTextTrack(e);return!0!==n&&!1!==n&&(Xe.warn('Calling addRemoteTextTrack without explicitly setting the "manualCleanup" parameter to `true` is deprecated and default to `false` in future version of video.js'),n=!0),this.remoteTextTrackEls().addTrackElement_(r),this.remoteTextTracks().addTrack(r.track),!0!==n&&this.ready(function(){return t.autoRemoteTextTracks_.addTrack(r.track)}),r},e.prototype.removeRemoteTextTrack=function(t){var e=this.remoteTextTrackEls().getTrackElementByTrack_(t);this.remoteTextTrackEls().removeTrackElement_(e),this.remoteTextTracks().removeTrack(t),this.autoRemoteTextTracks_.removeTrack(t)},e.prototype.getVideoPlaybackQuality=function(){return{}},e.prototype.setPoster=function(){},e.prototype.playsinline=function(){},e.prototype.setPlaysinline=function(){},e.prototype.canPlayType=function(){return""},e.canPlayType=function(){return""},e.canPlaySource=function(t,n){return e.canPlayType(t.type)},e.isTech=function(t){return t.prototype instanceof e||t instanceof e||t===e},e.registerTech=function(t,n){if(e.techs_||(e.techs_={}),!e.isTech(n))throw new Error("Tech "+t+" must be a Tech");if(!e.canPlayType)throw new Error("Techs must have a static canPlayType method on them");if(!e.canPlaySource)throw new Error("Techs must have a static canPlaySource method on them");return t=J(t),e.techs_[t]=n,"Tech"!==t&&e.defaultTechOrder_.push(t),n},e.getTech=function(t){if(t)return t=J(t),e.techs_&&e.techs_[t]?e.techs_[t]:oe&&oe.videojs&&oe.videojs[t]?(Xe.warn("The "+t+" tech was added to the videojs object when it should be registered using videojs.registerTech(name, tech)"),oe.videojs[t]):void 0},e}(Tn);Cr.names.forEach(function(t){var e=Cr[t];Rr.prototype[e.getterName]=function(){return this[e.privateName]=this[e.privateName]||new e.ListClass,this[e.privateName]}}),Rr.prototype.featuresVolumeControl=!0,Rr.prototype.featuresFullscreenResize=!1,Rr.prototype.featuresPlaybackRate=!1,Rr.prototype.featuresProgressEvents=!1,Rr.prototype.featuresTimeupdateEvents=!1,Rr.prototype.featuresNativeTextTracks=!1,Rr.withSourceHandlers=function(t){t.registerSourceHandler=function(e,n){var r=t.sourceHandlers;r||(r=t.sourceHandlers=[]),void 0===n&&(n=r.length),r.splice(n,0,e)},t.canPlayType=function(e){for(var n=t.sourceHandlers||[],r=void 0,i=0;i0&&void 0!==arguments[0]?arguments[0]:"div",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n=r({innerHTML:'',className:this.buildCSSClass(),tabIndex:0},n),"button"===e&&Xe.error("Creating a ClickableComponent with an HTML element of "+e+" is not supported; use a Button instead."),i=r({role:"button","aria-live":"polite"},i),this.tabIndex_=n.tabIndex;var o=t.prototype.createEl.call(this,e,n,i);return this.createControlTextEl(o),o},e.prototype.createControlTextEl=function(t){return this.controlTextEl_=v("span",{className:"vjs-control-text"}),t&&t.appendChild(this.controlTextEl_),this.controlText(this.controlText_,t),this.controlTextEl_},e.prototype.controlText=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.el();if(!t)return this.controlText_||"Need Text";var n=this.localize(t);this.controlText_=t,y(this.controlTextEl_,n),this.nonIconControl||e.setAttribute("title",n)},e.prototype.buildCSSClass=function(){return"vjs-control vjs-button "+t.prototype.buildCSSClass.call(this)},e.prototype.enable=function(){this.enabled_||(this.enabled_=!0,this.removeClass("vjs-disabled"),this.el_.setAttribute("aria-disabled","false"),void 0!==this.tabIndex_&&this.el_.setAttribute("tabIndex",this.tabIndex_),this.on(["tap","click"],this.handleClick),this.on("focus",this.handleFocus),this.on("blur",this.handleBlur))},e.prototype.disable=function(){this.enabled_=!1,this.addClass("vjs-disabled"),this.el_.setAttribute("aria-disabled","true"),void 0!==this.tabIndex_&&this.el_.removeAttribute("tabIndex"),this.off(["tap","click"],this.handleClick),this.off("focus",this.handleFocus),this.off("blur",this.handleBlur)},e.prototype.handleClick=function(t){},e.prototype.handleFocus=function(t){z(ue,"keydown",cn(this,this.handleKeyPress))},e.prototype.handleKeyPress=function(e){32===e.which||13===e.which?(e.preventDefault(),this.trigger("click")):t.prototype.handleKeyPress&&t.prototype.handleKeyPress.call(this,e)},e.prototype.handleBlur=function(t){X(ue,"keydown",cn(this,this.handleKeyPress))},e}(Tn);Tn.registerComponent("ClickableComponent",Wr);var zr=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.update(),n.on("posterchange",cn(i,i.update)),i}return Le(e,t),e.prototype.dispose=function(){this.player().off("posterchange",this.update),t.prototype.dispose.call(this)},e.prototype.createEl=function(){var t=v("div",{className:"vjs-poster",tabIndex:-1});return Oe||(this.fallbackImg_=v("img"),t.appendChild(this.fallbackImg_)),t},e.prototype.update=function(t){var e=this.player().poster();this.setSrc(e),e?this.show():this.hide()},e.prototype.setSrc=function(t){if(this.fallbackImg_)this.fallbackImg_.src=t;else{var e="";t&&(e='url("'+t+'")'),this.el_.style.backgroundImage=e}},e.prototype.handleClick=function(t){this.player_.controls()&&(this.player_.paused()?this.player_.play():this.player_.pause())},e}(Wr);Tn.registerComponent("PosterImage",zr);var Xr={monospace:"monospace",sansSerif:"sans-serif",serif:"serif",monospaceSansSerif:'"Andale Mono", "Lucida Console", monospace',monospaceSerif:'"Courier New", monospace',proportionalSansSerif:"sans-serif",proportionalSerif:"serif",casual:'"Comic Sans MS", Impact, fantasy',script:'"Monotype Corsiva", cursive',smallcaps:'"Andale Mono", "Lucida Console", monospace, sans-serif'},qr=function(t){function e(n,r,i){De(this,e);var o=Re(this,t.call(this,n,r,i));return n.on("loadstart",cn(o,o.toggleDisplay)),n.on("texttrackchange",cn(o,o.updateDisplay)),n.on("loadstart",cn(o,o.preselectTrack)),n.ready(cn(o,function(){if(n.tech_&&n.tech_.featuresNativeTextTracks)return void this.hide();n.on("fullscreenchange",cn(this,this.updateDisplay));for(var t=this.options_.playerOptions.tracks||[],e=0;e1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t="button",e=r({innerHTML:'',className:this.buildCSSClass()},e),n=r({type:"button","aria-live":"polite"},n);var i=Tn.prototype.createEl.call(this,t,e,n);return this.createControlTextEl(i),i},e.prototype.addChild=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.constructor.name;return Xe.warn("Adding an actionable (user controllable) child to a Button ("+n+") is not supported; use a ClickableComponent instead."),Tn.prototype.addChild.call(this,t,e)},e.prototype.enable=function(){t.prototype.enable.call(this),this.el_.removeAttribute("disabled")},e.prototype.disable=function(){t.prototype.disable.call(this),this.el_.setAttribute("disabled","disabled")},e.prototype.handleKeyPress=function(e){32!==e.which&&13!==e.which&&t.prototype.handleKeyPress.call(this,e)},e}(Wr);Tn.registerComponent("Button",Yr);var Gr=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.mouseused_=!1,i.on("mousedown",i.handleMouseDown),i}return Le(e,t),e.prototype.buildCSSClass=function(){return"vjs-big-play-button"},e.prototype.handleClick=function(t){var e=this.player_.play();if(!(this.mouseused_&&t.clientX&&t.clientY)){var n=this.player_.getChild("controlBar"),r=n&&n.getChild("playToggle");if(!r)return void this.player_.focus();var i=function(){return r.focus()};if(e&&e.then){var o=function(){};e.then(i,o)}else this.setTimeout(i,1)}},e.prototype.handleKeyPress=function(e){this.mouseused_=!1,t.prototype.handleKeyPress.call(this,e)},e.prototype.handleMouseDown=function(t){this.mouseused_=!0},e}(Yr);Gr.prototype.controlText_="Play Video",Tn.registerComponent("BigPlayButton",Gr);var $r=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.controlText(r&&r.controlText||i.localize("Close")),i}return Le(e,t),e.prototype.buildCSSClass=function(){return"vjs-close-button "+t.prototype.buildCSSClass.call(this)},e.prototype.handleClick=function(t){this.trigger({type:"close",bubbles:!1})},e}(Yr);Tn.registerComponent("CloseButton",$r);var Jr=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.on(n,"play",i.handlePlay),i.on(n,"pause",i.handlePause),i.on(n,"ended",i.handleEnded),i}return Le(e,t),e.prototype.buildCSSClass=function(){return"vjs-play-control "+t.prototype.buildCSSClass.call(this)},e.prototype.handleClick=function(t){this.player_.paused()?this.player_.play():this.player_.pause()},e.prototype.handleSeeked=function(t){this.removeClass("vjs-ended"),this.player_.paused()?this.handlePause(t):this.handlePlay(t)},e.prototype.handlePlay=function(t){this.removeClass("vjs-ended"),this.removeClass("vjs-paused"),this.addClass("vjs-playing"),this.controlText("Pause")},e.prototype.handlePause=function(t){this.removeClass("vjs-playing"),this.addClass("vjs-paused"),this.controlText("Play")},e.prototype.handleEnded=function(t){this.removeClass("vjs-playing"),this.addClass("vjs-ended"),this.controlText("Replay"),this.one(this.player_,"seeked",this.handleSeeked)},e}(Yr);Jr.prototype.controlText_="Play",Tn.registerComponent("PlayToggle",Jr);var Qr=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.throttledUpdateContent=un(cn(i,i.updateContent),25),i.on(n,"timeupdate",i.throttledUpdateContent),i}return Le(e,t),e.prototype.createEl=function(e){var n=this.buildCSSClass(),r=t.prototype.createEl.call(this,"div",{className:n+" vjs-time-control vjs-control"});return this.contentEl_=v("div",{className:n+"-display"},{"aria-live":"off"},v("span",{className:"vjs-control-text",textContent:this.localize(this.controlText_)})),this.updateTextNode_(),r.appendChild(this.contentEl_),r},e.prototype.updateTextNode_=function(){if(this.contentEl_){for(;this.contentEl_.firstChild;)this.contentEl_.removeChild(this.contentEl_.firstChild);this.textNode_=ue.createTextNode(this.formattedTime_||"0:00"),this.contentEl_.appendChild(this.textNode_)}},e.prototype.formatTime_=function(t){return $t(t)},e.prototype.updateFormattedTime_=function(t){var e=this.formatTime_(t);e!==this.formattedTime_&&(this.formattedTime_=e,this.requestAnimationFrame(this.updateTextNode_))},e.prototype.updateContent=function(t){},e}(Tn);Qr.prototype.controlText_="Time", +Tn.registerComponent("TimeDisplay",Qr);var Zr=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.on(n,"ended",i.handleEnded),i}return Le(e,t),e.prototype.buildCSSClass=function(){return"vjs-current-time"},e.prototype.updateContent=function(t){var e=this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime();this.updateFormattedTime_(e)},e.prototype.handleEnded=function(t){this.player_.duration()&&this.updateFormattedTime_(this.player_.duration())},e}(Qr);Zr.prototype.controlText_="Current Time",Tn.registerComponent("CurrentTimeDisplay",Zr);var ti=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.on(n,"durationchange",i.updateContent),i.on(n,"loadedmetadata",i.throttledUpdateContent),i}return Le(e,t),e.prototype.buildCSSClass=function(){return"vjs-duration"},e.prototype.updateContent=function(t){var e=this.player_.duration();e&&this.duration_!==e&&(this.duration_=e,this.updateFormattedTime_(e))},e}(Qr);ti.prototype.controlText_="Duration Time",Tn.registerComponent("DurationDisplay",ti);var ei=function(t){function e(){return De(this,e),Re(this,t.apply(this,arguments))}return Le(e,t),e.prototype.createEl=function(){return t.prototype.createEl.call(this,"div",{className:"vjs-time-control vjs-time-divider",innerHTML:"
      /
      "})},e}(Tn);Tn.registerComponent("TimeDivider",ei);var ni=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.on(n,"durationchange",i.throttledUpdateContent),i.on(n,"ended",i.handleEnded),i}return Le(e,t),e.prototype.buildCSSClass=function(){return"vjs-remaining-time"},e.prototype.formatTime_=function(e){return"-"+t.prototype.formatTime_.call(this,e)},e.prototype.updateContent=function(t){this.player_.duration()&&(this.player_.remainingTimeDisplay?this.updateFormattedTime_(this.player_.remainingTimeDisplay()):this.updateFormattedTime_(this.player_.remainingTime()))},e.prototype.handleEnded=function(t){this.player_.duration()&&this.updateFormattedTime_(0)},e}(Qr);ni.prototype.controlText_="Remaining Time",Tn.registerComponent("RemainingTimeDisplay",ni);var ri=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.updateShowing(),i.on(i.player(),"durationchange",i.updateShowing),i}return Le(e,t),e.prototype.createEl=function(){var e=t.prototype.createEl.call(this,"div",{className:"vjs-live-control vjs-control"});return this.contentEl_=v("div",{className:"vjs-live-display",innerHTML:''+this.localize("Stream Type")+""+this.localize("LIVE")},{"aria-live":"off"}),e.appendChild(this.contentEl_),e},e.prototype.updateShowing=function(t){this.player().duration()===1/0?this.show():this.hide()},e}(Tn);Tn.registerComponent("LiveDisplay",ri);var ii=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.bar=i.getChild(i.options_.barName),i.vertical(!!i.options_.vertical),i.enable(),i}return Le(e,t),e.prototype.enabled=function(){return this.enabled_},e.prototype.enable=function(){this.enabled()||(this.on("mousedown",this.handleMouseDown),this.on("touchstart",this.handleMouseDown),this.on("focus",this.handleFocus),this.on("blur",this.handleBlur),this.on("click",this.handleClick),this.on(this.player_,"controlsvisible",this.update),this.playerEvent&&this.on(this.player_,this.playerEvent,this.update),this.removeClass("disabled"),this.setAttribute("tabindex",0),this.enabled_=!0)},e.prototype.disable=function(){if(this.enabled()){var t=this.bar.el_.ownerDocument;this.off("mousedown",this.handleMouseDown),this.off("touchstart",this.handleMouseDown),this.off("focus",this.handleFocus),this.off("blur",this.handleBlur),this.off("click",this.handleClick),this.off(this.player_,"controlsvisible",this.update),this.off(t,"mousemove",this.handleMouseMove),this.off(t,"mouseup",this.handleMouseUp),this.off(t,"touchmove",this.handleMouseMove),this.off(t,"touchend",this.handleMouseUp),this.removeAttribute("tabindex"),this.addClass("disabled"),this.playerEvent&&this.off(this.player_,this.playerEvent,this.update),this.enabled_=!1}},e.prototype.createEl=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.className=n.className+" vjs-slider",n=r({tabIndex:0},n),i=r({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},i),t.prototype.createEl.call(this,e,n,i)},e.prototype.handleMouseDown=function(t){var e=this.bar.el_.ownerDocument;t.preventDefault(),x(),this.addClass("vjs-sliding"),this.trigger("slideractive"),this.on(e,"mousemove",this.handleMouseMove),this.on(e,"mouseup",this.handleMouseUp),this.on(e,"touchmove",this.handleMouseMove),this.on(e,"touchend",this.handleMouseUp),this.handleMouseMove(t)},e.prototype.handleMouseMove=function(t){},e.prototype.handleMouseUp=function(){var t=this.bar.el_.ownerDocument;j(),this.removeClass("vjs-sliding"),this.trigger("sliderinactive"),this.off(t,"mousemove",this.handleMouseMove),this.off(t,"mouseup",this.handleMouseUp),this.off(t,"touchmove",this.handleMouseMove),this.off(t,"touchend",this.handleMouseUp),this.update()},e.prototype.update=function(){if(this.el_){var t=this.getPercent(),e=this.bar;if(e){("number"!=typeof t||t!==t||t<0||t===1/0)&&(t=0);var n=(100*t).toFixed(2)+"%",r=e.el().style;return this.vertical()?r.height=n:r.width=n,t}}},e.prototype.calculateDistance=function(t){var e=M(this.el_,t);return this.vertical()?e.y:e.x},e.prototype.handleFocus=function(){this.on(this.bar.el_.ownerDocument,"keydown",this.handleKeyPress)},e.prototype.handleKeyPress=function(t){37===t.which||40===t.which?(t.preventDefault(),this.stepBack()):38!==t.which&&39!==t.which||(t.preventDefault(),this.stepForward())},e.prototype.handleBlur=function(){this.off(this.bar.el_.ownerDocument,"keydown",this.handleKeyPress)},e.prototype.handleClick=function(t){t.stopImmediatePropagation(),t.preventDefault()},e.prototype.vertical=function(t){if(void 0===t)return this.vertical_||!1;this.vertical_=!!t,this.vertical_?this.addClass("vjs-slider-vertical"):this.addClass("vjs-slider-horizontal")},e}(Tn);Tn.registerComponent("Slider",ii);var oi=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.partEls_=[],i.on(n,"progress",i.update),i}return Le(e,t),e.prototype.createEl=function(){return t.prototype.createEl.call(this,"div",{className:"vjs-load-progress",innerHTML:''+this.localize("Loaded")+": 0%"})},e.prototype.update=function(t){var e=this.player_.buffered(),n=this.player_.duration(),r=this.player_.bufferedEnd(),i=this.partEls_,o=function(t,e){var n=t/e||0;return 100*(n>=1?1:n)+"%"};this.el_.style.width=o(r,n);for(var s=0;se.length;u--)this.el_.removeChild(i[u-1]);i.length=e.length},e}(Tn);Tn.registerComponent("LoadProgressBar",oi);var si=function(t){function e(){return De(this,e),Re(this,t.apply(this,arguments))}return Le(e,t),e.prototype.createEl=function(){return t.prototype.createEl.call(this,"div",{className:"vjs-time-tooltip"})},e.prototype.update=function(t,e,n){var r=A(this.el_),i=A(this.player_.el()),o=t.width*e;if(i&&r){var s=t.left-i.left+o,a=t.width-o+(i.right-t.right),l=r.width/2;sr.width&&(l=r.width),this.el_.style.right="-"+l+"px",y(this.el_,n)}},e}(Tn);Tn.registerComponent("TimeTooltip",si);var ai=function(t){function e(){return De(this,e),Re(this,t.apply(this,arguments))}return Le(e,t),e.prototype.createEl=function(){return t.prototype.createEl.call(this,"div",{className:"vjs-play-progress vjs-slider-bar",innerHTML:''+this.localize("Progress")+": 0%"})},e.prototype.update=function(t,e){var n=this;this.rafId_&&this.cancelAnimationFrame(this.rafId_),this.rafId_=this.requestAnimationFrame(function(){var r=n.player_.scrubbing()?n.player_.getCache().currentTime:n.player_.currentTime(),i=$t(r,n.player_.duration()),o=n.getChild("timeTooltip");o&&o.update(t,e,i)})},e}(Tn);ai.prototype.options_={children:[]},je&&!(je>8)||ge||_e||ai.prototype.options_.children.push("timeTooltip"),Tn.registerComponent("PlayProgressBar",ai);var li=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.update=un(cn(i,i.update),25),i}return Le(e,t),e.prototype.createEl=function(){return t.prototype.createEl.call(this,"div",{className:"vjs-mouse-display"})},e.prototype.update=function(t,e){var n=this;this.rafId_&&this.cancelAnimationFrame(this.rafId_),this.rafId_=this.requestAnimationFrame(function(){var r=n.player_.duration(),i=$t(e*r,r);n.el_.style.left=t.width*e+"px",n.getChild("timeTooltip").update(t,e,i)})},e}(Tn);li.prototype.options_={children:["timeTooltip"]},Tn.registerComponent("MouseTimeDisplay",li);var ci=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.update=un(cn(i,i.update),50),i.on(n,"timeupdate",i.update),i.on(n,"ended",i.handleEnded),i}return Le(e,t),e.prototype.createEl=function(){return t.prototype.createEl.call(this,"div",{className:"vjs-progress-holder"},{"aria-label":this.localize("Progress Bar")})},e.prototype.update_=function(t,e){var n=this.player_.duration();this.el_.setAttribute("aria-valuenow",(100*e).toFixed(2)),this.el_.setAttribute("aria-valuetext",this.localize("progress bar timing: currentTime={1} duration={2}",[$t(t,n),$t(n,n)],"{1} of {2}")),this.bar.update(A(this.el_),e)},e.prototype.update=function(e){var n=t.prototype.update.call(this);return this.update_(this.getCurrentTime_(),n),n},e.prototype.getCurrentTime_=function(){return this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime()},e.prototype.handleEnded=function(t){this.update_(this.player_.duration(),1)},e.prototype.getPercent=function(){var t=this.getCurrentTime_()/this.player_.duration();return t>=1?1:t},e.prototype.handleMouseDown=function(e){this.player_.scrubbing(!0),this.videoWasPlaying=!this.player_.paused(),this.player_.pause(),t.prototype.handleMouseDown.call(this,e)},e.prototype.handleMouseMove=function(t){var e=this.calculateDistance(t)*this.player_.duration();e===this.player_.duration()&&(e-=.1),this.player_.currentTime(e)},e.prototype.enable=function(){t.prototype.enable.call(this);var e=this.getChild("mouseTimeDisplay");e&&e.show()},e.prototype.disable=function(){t.prototype.disable.call(this);var e=this.getChild("mouseTimeDisplay");e&&e.hide()},e.prototype.handleMouseUp=function(e){t.prototype.handleMouseUp.call(this,e),this.player_.scrubbing(!1),this.videoWasPlaying&&this.player_.play()},e.prototype.stepForward=function(){this.player_.currentTime(this.player_.currentTime()+5)},e.prototype.stepBack=function(){this.player_.currentTime(this.player_.currentTime()-5)},e.prototype.handleAction=function(t){this.player_.paused()?this.player_.play():this.player_.pause()},e.prototype.handleKeyPress=function(e){32===e.which||13===e.which?(e.preventDefault(),this.handleAction(e)):t.prototype.handleKeyPress&&t.prototype.handleKeyPress.call(this,e)},e}(ii);ci.prototype.options_={children:["loadProgressBar","playProgressBar"],barName:"playProgressBar"},je&&!(je>8)||ge||_e||ci.prototype.options_.children.splice(1,0,"mouseTimeDisplay"),ci.prototype.playerEvent="timeupdate",Tn.registerComponent("SeekBar",ci);var ui=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.handleMouseMove=un(cn(i,i.handleMouseMove),25),i.throttledHandleMouseSeek=un(cn(i,i.handleMouseSeek),25),i.enable(),i}return Le(e,t),e.prototype.createEl=function(){return t.prototype.createEl.call(this,"div",{className:"vjs-progress-control vjs-control"})},e.prototype.handleMouseMove=function(t){var e=this.getChild("seekBar"),n=e.getChild("mouseTimeDisplay"),r=e.el(),i=A(r),o=M(r,t).x;o>1?o=1:o<0&&(o=0),n&&n.update(i,o)},e.prototype.handleMouseSeek=function(t){this.getChild("seekBar").handleMouseMove(t)},e.prototype.enabled=function(){return this.enabled_},e.prototype.disable=function(){this.children().forEach(function(t){return t.disable&&t.disable()}),this.enabled()&&(this.off(["mousedown","touchstart"],this.handleMouseDown),this.off(this.el_,"mousemove",this.handleMouseMove),this.handleMouseUp(),this.addClass("disabled"),this.enabled_=!1)},e.prototype.enable=function(){this.children().forEach(function(t){return t.enable&&t.enable()}),this.enabled()||(this.on(["mousedown","touchstart"],this.handleMouseDown),this.on(this.el_,"mousemove",this.handleMouseMove),this.removeClass("disabled"),this.enabled_=!0)},e.prototype.handleMouseDown=function(t){var e=this.el_.ownerDocument;this.on(e,"mousemove",this.throttledHandleMouseSeek),this.on(e,"touchmove",this.throttledHandleMouseSeek),this.on(e,"mouseup",this.handleMouseUp),this.on(e,"touchend",this.handleMouseUp)},e.prototype.handleMouseUp=function(t){var e=this.el_.ownerDocument;this.off(e,"mousemove",this.throttledHandleMouseSeek),this.off(e,"touchmove",this.throttledHandleMouseSeek),this.off(e,"mouseup",this.handleMouseUp),this.off(e,"touchend",this.handleMouseUp)},e}(Tn);ui.prototype.options_={children:["seekBar"]},Tn.registerComponent("ProgressControl",ui);var hi=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.on(n,"fullscreenchange",i.handleFullscreenChange),i}return Le(e,t),e.prototype.buildCSSClass=function(){return"vjs-fullscreen-control "+t.prototype.buildCSSClass.call(this)},e.prototype.handleFullscreenChange=function(t){this.player_.isFullscreen()?this.controlText("Non-Fullscreen"):this.controlText("Fullscreen")},e.prototype.handleClick=function(t){this.player_.isFullscreen()?this.player_.exitFullscreen():this.player_.requestFullscreen()},e}(Yr);hi.prototype.controlText_="Fullscreen",Tn.registerComponent("FullscreenToggle",hi);var pi=function(t,e){e.tech_&&!e.tech_.featuresVolumeControl&&t.addClass("vjs-hidden"),t.on(e,"loadstart",function(){e.tech_.featuresVolumeControl?t.removeClass("vjs-hidden"):t.addClass("vjs-hidden")})},di=function(t){function e(){return De(this,e),Re(this,t.apply(this,arguments))}return Le(e,t),e.prototype.createEl=function(){return t.prototype.createEl.call(this,"div",{className:"vjs-volume-level",innerHTML:''})},e}(Tn);Tn.registerComponent("VolumeLevel",di);var fi=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.on("slideractive",i.updateLastVolume_),i.on(n,"volumechange",i.updateARIAAttributes),n.ready(function(){return i.updateARIAAttributes()}),i}return Le(e,t),e.prototype.createEl=function(){return t.prototype.createEl.call(this,"div",{className:"vjs-volume-bar vjs-slider-bar"},{"aria-label":this.localize("Volume Level"),"aria-live":"polite"})},e.prototype.handleMouseMove=function(t){this.checkMuted(),this.player_.volume(this.calculateDistance(t))},e.prototype.checkMuted=function(){this.player_.muted()&&this.player_.muted(!1)},e.prototype.getPercent=function(){return this.player_.muted()?0:this.player_.volume()},e.prototype.stepForward=function(){this.checkMuted(),this.player_.volume(this.player_.volume()+.1)},e.prototype.stepBack=function(){this.checkMuted(),this.player_.volume(this.player_.volume()-.1)},e.prototype.updateARIAAttributes=function(t){var e=this.player_.muted()?0:this.volumeAsPercentage_();this.el_.setAttribute("aria-valuenow",e),this.el_.setAttribute("aria-valuetext",e+"%")},e.prototype.volumeAsPercentage_=function(){return Math.round(100*this.player_.volume())},e.prototype.updateLastVolume_=function(){var t=this,e=this.player_.volume();this.one("sliderinactive",function(){0===t.player_.volume()&&t.player_.lastVolume_(e)})},e}(ii);fi.prototype.options_={children:["volumeLevel"],barName:"volumeLevel"},fi.prototype.playerEvent="volumechange",Tn.registerComponent("VolumeBar",fi);var vi=function(t){function e(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};De(this,e),r.vertical=r.vertical||!1,(void 0===r.volumeBar||o(r.volumeBar))&&(r.volumeBar=r.volumeBar||{},r.volumeBar.vertical=r.vertical);var i=Re(this,t.call(this,n,r));return pi(i,n),i.throttledHandleMouseMove=un(cn(i,i.handleMouseMove),25),i.on("mousedown",i.handleMouseDown),i.on("touchstart",i.handleMouseDown),i.on(i.volumeBar,["focus","slideractive"],function(){i.volumeBar.addClass("vjs-slider-active"),i.addClass("vjs-slider-active"),i.trigger("slideractive")}),i.on(i.volumeBar,["blur","sliderinactive"],function(){i.volumeBar.removeClass("vjs-slider-active"),i.removeClass("vjs-slider-active"),i.trigger("sliderinactive")}),i}return Le(e,t),e.prototype.createEl=function(){var e="vjs-volume-horizontal";return this.options_.vertical&&(e="vjs-volume-vertical"),t.prototype.createEl.call(this,"div",{className:"vjs-volume-control vjs-control "+e})},e.prototype.handleMouseDown=function(t){var e=this.el_.ownerDocument;this.on(e,"mousemove",this.throttledHandleMouseMove),this.on(e,"touchmove",this.throttledHandleMouseMove),this.on(e,"mouseup",this.handleMouseUp),this.on(e,"touchend",this.handleMouseUp)},e.prototype.handleMouseUp=function(t){var e=this.el_.ownerDocument;this.off(e,"mousemove",this.throttledHandleMouseMove),this.off(e,"touchmove",this.throttledHandleMouseMove),this.off(e,"mouseup",this.handleMouseUp),this.off(e,"touchend",this.handleMouseUp)},e.prototype.handleMouseMove=function(t){this.volumeBar.handleMouseMove(t)},e}(Tn);vi.prototype.options_={children:["volumeBar"]},Tn.registerComponent("VolumeControl",vi);var yi=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return pi(i,n),i.on(n,["loadstart","volumechange"],i.update),i}return Le(e,t),e.prototype.buildCSSClass=function(){return"vjs-mute-control "+t.prototype.buildCSSClass.call(this)},e.prototype.handleClick=function(t){var e=this.player_.volume(),n=this.player_.lastVolume_();if(0===e){var r=n<.1?.1:n;this.player_.volume(r),this.player_.muted(!1)}else this.player_.muted(!this.player_.muted())},e.prototype.update=function(t){this.updateIcon_(),this.updateControlText_()},e.prototype.updateIcon_=function(){var t=this.player_.volume(),e=3;0===t||this.player_.muted()?e=0:t<.33?e=1:t<.67&&(e=2);for(var n=0;n<4;n++)b(this.el_,"vjs-vol-"+n);_(this.el_,"vjs-vol-"+e)},e.prototype.updateControlText_=function(){var t=this.player_.muted()||0===this.player_.volume(),e=t?"Unmute":"Mute";this.controlText()!==e&&this.controlText(e)},e}(Yr);yi.prototype.controlText_="Mute",Tn.registerComponent("MuteToggle",yi);var gi=function(t){function e(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};De(this,e),void 0!==r.inline?r.inline=r.inline:r.inline=!0,(void 0===r.volumeControl||o(r.volumeControl))&&(r.volumeControl=r.volumeControl||{},r.volumeControl.vertical=!r.inline);var i=Re(this,t.call(this,n,r));return pi(i,n),i.on(i.volumeControl,["slideractive"],i.sliderActive_),i.on(i.muteToggle,"focus",i.sliderActive_),i.on(i.volumeControl,["sliderinactive"],i.sliderInactive_),i.on(i.muteToggle,"blur",i.sliderInactive_),i}return Le(e,t),e.prototype.sliderActive_=function(){this.addClass("vjs-slider-active")},e.prototype.sliderInactive_=function(){this.removeClass("vjs-slider-active")},e.prototype.createEl=function(){var e="vjs-volume-panel-horizontal";return this.options_.inline||(e="vjs-volume-panel-vertical"),t.prototype.createEl.call(this,"div",{className:"vjs-volume-panel vjs-control "+e})},e}(Tn);gi.prototype.options_={children:["muteToggle","volumeControl"]},Tn.registerComponent("VolumePanel",gi);var mi=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return r&&(i.menuButton_=r.menuButton),i.focusedChild_=-1,i.on("keydown",i.handleKeyPress),i}return Le(e,t),e.prototype.addItem=function(t){this.addChild(t),t.on("click",cn(this,function(e){this.menuButton_&&(this.menuButton_.unpressButton(),"CaptionSettingsMenuItem"!==t.name()&&this.menuButton_.focus())}))},e.prototype.createEl=function(){var e=this.options_.contentElType||"ul";this.contentEl_=v(e,{className:"vjs-menu-content"}),this.contentEl_.setAttribute("role","menu");var n=t.prototype.createEl.call(this,"div",{append:this.contentEl_,className:"vjs-menu"});return n.appendChild(this.contentEl_),z(n,"click",function(t){t.preventDefault(),t.stopImmediatePropagation()}),n},e.prototype.handleKeyPress=function(t){37===t.which||40===t.which?(t.preventDefault(),this.stepForward()):38!==t.which&&39!==t.which||(t.preventDefault(),this.stepBack())},e.prototype.stepForward=function(){var t=0;void 0!==this.focusedChild_&&(t=this.focusedChild_+1),this.focus(t)},e.prototype.stepBack=function(){var t=0;void 0!==this.focusedChild_&&(t=this.focusedChild_-1),this.focus(t)},e.prototype.focus=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=this.children().slice();e.length&&e[0].className&&/vjs-menu-title/.test(e[0].className)&&e.shift(),e.length>0&&(t<0?t=0:t>=e.length&&(t=e.length-1),this.focusedChild_=t,e[t].el_.focus())},e}(Tn);Tn.registerComponent("Menu",mi);var _i=function(t){function e(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};De(this,e);var i=Re(this,t.call(this,n,r));i.menuButton_=new Yr(n,r),i.menuButton_.controlText(i.controlText_),i.menuButton_.el_.setAttribute("aria-haspopup","true");var o=Yr.prototype.buildCSSClass();return i.menuButton_.el_.className=i.buildCSSClass()+" "+o,i.menuButton_.removeClass("vjs-control"),i.addChild(i.menuButton_),i.update(),i.enabled_=!0,i.on(i.menuButton_,"tap",i.handleClick),i.on(i.menuButton_,"click",i.handleClick),i.on(i.menuButton_,"focus",i.handleFocus),i.on(i.menuButton_,"blur",i.handleBlur),i.on("keydown",i.handleSubmenuKeyPress),i}return Le(e,t),e.prototype.update=function(){var t=this.createMenu();this.menu&&this.removeChild(this.menu),this.menu=t,this.addChild(t),this.buttonPressed_=!1,this.menuButton_.el_.setAttribute("aria-expanded","false"),this.items&&this.items.length<=this.hideThreshold_?this.hide():this.show()},e.prototype.createMenu=function(){var t=new mi(this.player_,{menuButton:this});if(this.hideThreshold_=0,this.options_.title){var e=v("li",{className:"vjs-menu-title",innerHTML:J(this.options_.title),tabIndex:-1});this.hideThreshold_+=1,t.children_.unshift(e),g(e,t.contentEl())}if(this.items=this.createItems(),this.items)for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:this.menuButton_.el();return this.menuButton_.controlText(t,e)},e.prototype.handleClick=function(t){this.one(this.menu.contentEl(),"mouseleave",cn(this,function(t){this.unpressButton(),this.el_.blur()})),this.buttonPressed_?this.unpressButton():this.pressButton()},e.prototype.focus=function(){this.menuButton_.focus()},e.prototype.blur=function(){this.menuButton_.blur()},e.prototype.handleFocus=function(){z(ue,"keydown",cn(this,this.handleKeyPress))},e.prototype.handleBlur=function(){X(ue,"keydown",cn(this,this.handleKeyPress))},e.prototype.handleKeyPress=function(t){27===t.which||9===t.which?(this.buttonPressed_&&this.unpressButton(),9!==t.which&&(t.preventDefault(),this.menuButton_.el_.focus())):38!==t.which&&40!==t.which||this.buttonPressed_||(this.pressButton(),t.preventDefault())},e.prototype.handleSubmenuKeyPress=function(t){27!==t.which&&9!==t.which||(this.buttonPressed_&&this.unpressButton(),9!==t.which&&(t.preventDefault(),this.menuButton_.el_.focus()))},e.prototype.pressButton=function(){this.enabled_&&(this.buttonPressed_=!0,this.menu.lockShowing(),this.menuButton_.el_.setAttribute("aria-expanded","true"),ge||d()||this.menu.focus())},e.prototype.unpressButton=function(){this.enabled_&&(this.buttonPressed_=!1,this.menu.unlockShowing(),this.menuButton_.el_.setAttribute("aria-expanded","false"))},e.prototype.disable=function(){this.unpressButton(),this.enabled_=!1,this.addClass("vjs-disabled"),this.menuButton_.disable()},e.prototype.enable=function(){this.enabled_=!0,this.removeClass("vjs-disabled"),this.menuButton_.enable()},e}(Tn);Tn.registerComponent("MenuButton",_i);var bi=function(t){function e(n,r){De(this,e);var i=r.tracks,o=Re(this,t.call(this,n,r));if(o.items.length<=1&&o.hide(),!i)return Re(o);var s=cn(o,o.update);return i.addEventListener("removetrack",s),i.addEventListener("addtrack",s),o.player_.on("ready",s),o.player_.on("dispose",function(){i.removeEventListener("removetrack",s),i.removeEventListener("addtrack",s)}),o}return Le(e,t),e}(_i);Tn.registerComponent("TrackButton",bi);var Ti=function(t){function e(n,r){De(this,e);var i=Re(this,t.call(this,n,r));return i.selectable=r.selectable,i.selected(r.selected),i.selectable?i.el_.setAttribute("role","menuitemcheckbox"):i.el_.setAttribute("role","menuitem"),i}return Le(e,t),e.prototype.createEl=function(e,n,i){return this.nonIconControl=!0,t.prototype.createEl.call(this,"li",r({className:"vjs-menu-item",innerHTML:''+this.localize(this.options_.label)+"",tabIndex:-1},n),i)},e.prototype.handleClick=function(t){this.selected(!0)},e.prototype.selected=function(t){this.selectable&&(t?(this.addClass("vjs-selected"),this.el_.setAttribute("aria-checked","true"),this.controlText(", selected")):(this.removeClass("vjs-selected"),this.el_.setAttribute("aria-checked","false"),this.controlText(" ")))},e}(Wr);Tn.registerComponent("MenuItem",Ti);var Ci=function(t){function e(n,r){De(this,e);var i=r.track,o=n.textTracks();r.label=i.label||i.language||"Unknown",r.selected="showing"===i.mode;var s=Re(this,t.call(this,n,r));s.track=i;var a=cn(s,s.handleTracksChange),l=cn(s,s.handleSelectedLanguageChange);if(n.on(["loadstart","texttrackchange"],a),o.addEventListener("change",a),o.addEventListener("selectedlanguagechange",l),s.on("dispose",function(){o.removeEventListener("change",a),o.removeEventListener("selectedlanguagechange",l)}),void 0===o.onchange){var c=void 0;s.on(["tap","click"],function(){if("object"!==Ie(oe.Event))try{c=new oe.Event("change")}catch(t){}c||(c=ue.createEvent("Event"),c.initEvent("change",!0,!0)),o.dispatchEvent(c)})}return s}return Le(e,t),e.prototype.handleClick=function(e){var n=this.track.kind,r=this.track.kinds,i=this.player_.textTracks();if(r||(r=[n]),t.prototype.handleClick.call(this,e),i)for(var o=0;o-1?"showing"!==s.mode&&(s.mode="showing"):"disabled"!==s.mode&&(s.mode="disabled")}},e.prototype.handleTracksChange=function(t){this.selected("showing"===this.track.mode)},e.prototype.handleSelectedLanguageChange=function(t){if("showing"===this.track.mode){var e=this.player_.cache_.selectedLanguage;if(e&&e.enabled&&e.language===this.track.language&&e.kind!==this.track.kind)return;this.player_.cache_.selectedLanguage={enabled:!0,language:this.track.language,kind:this.track.kind}}},e}(Ti);Tn.registerComponent("TextTrackMenuItem",Ci);var ki=function(t){function e(n,r){De(this,e),r.track={player:n,kind:r.kind,kinds:r.kinds,default:!1,mode:"disabled"},r.kinds||(r.kinds=[r.kind]),r.label?r.track.label=r.label:r.track.label=r.kinds.join(" and ")+" off",r.selectable=!0;var i=Re(this,t.call(this,n,r));return i.selected(!0),i}return Le(e,t),e.prototype.handleTracksChange=function(t){for(var e=this.player().textTracks(),n=!0,r=0,i=e.length;r-1&&"showing"===o.mode){n=!1;break}}this.selected(n)},e.prototype.handleSelectedLanguageChange=function(t){for(var e=this.player().textTracks(),n=!0,r=0,i=e.length;r-1&&"showing"===o.mode){n=!1;break}}n&&(this.player_.cache_.selectedLanguage={enabled:!1})},e}(Ci);Tn.registerComponent("OffTextTrackMenuItem",ki);var wi=function(t){function e(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return De(this,e),r.tracks=n.textTracks(),Re(this,t.call(this,n,r))}return Le(e,t),e.prototype.createItems=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ci,n=void 0;this.label_&&(n=this.label_+" off"),t.push(new ki(this.player_,{kinds:this.kinds_,kind:this.kind_,label:n})),this.hideThreshold_+=1;var r=this.player_.textTracks();Array.isArray(this.kinds_)||(this.kinds_=[this.kind_]);for(var i=0;i-1){var s=new e(this.player_,{track:o,selectable:!0});s.addClass("vjs-"+o.kind+"-menu-item"),t.push(s)}}return t},e}(bi);Tn.registerComponent("TextTrackButton",wi);var Ei=function(t){function e(n,r){De(this,e);var i=r.track,o=r.cue,s=n.currentTime();r.selectable=!0,r.label=o.text,r.selected=o.startTime<=s&&s=0;e--){var n=t[e];if(n.kind===this.kind_)return n}},e.prototype.getMenuCaption=function(){return this.track_&&this.track_.label?this.track_.label:this.localize(J(this.kind_))},e.prototype.createMenu=function(){return this.options_.title=this.getMenuCaption(),t.prototype.createMenu.call(this)},e.prototype.createItems=function(){var t=[];if(!this.track_)return t;var e=this.track_.cues;if(!e)return t;for(var n=0,r=e.length;n
      + + +
      +

      {{gallery.title}}

      +
      + + + + + {{#if settings.featuredAlbum}} + {{#if album.home}} + +
        + {{! Find the featured album, if any !}} + {{#each album.albums~}} + {{#compare title '==' @root.settings.featuredAlbum}} + {{! Display its image files in the slider !}} + {{#each files~}} + {{#unless isVideo}} +
      • + {{filename}} +
      • + {{/unless}} + {{~/each}} + {{/compare}} + {{~/each}} +
      + {{/if}} + {{/if}} + + + + + + + + + {{#compare pagination.length '>' 1}} + + {{/compare}} + + + {{#if album.zip}} +
      + Download album as a zip file. +
      + {{/if}} + + + {{#if gallery.footer}} + + {{/if}} + +