From 50062df1dbffa185287d21309acc9286ba73d44d Mon Sep 17 00:00:00 2001 From: Lukas Ruge <lukeslog@googlemail.com> Date: Wed, 4 Oct 2017 00:28:59 +0200 Subject: [PATCH] adding a galery --- _config.yml | 2 +- _imagemeta/feinstaub1.markdown | 2 +- _imagemeta/feinstaub2.markdown | 4 +- _imagemeta/feinstaub3.markdown | 7 + _includes/galery.html | 303 +- _includes/nav-header.html | 16 +- _posts/blog/2016-12-14-smashing.markdown | 2 +- ...9-12-feinstaubsensor-selbstgebaut.markdown | 4 +- .../2017-10-03-35-softwerkskammer.markdown | 2 +- _projects/arm-hacking.markdown | 27 + _projects/esp8266-projekte.md | 5 +- assets/.DS_Store | Bin 8196 -> 8196 bytes assets/3dprint.jpg | Bin 0 -> 179171 bytes assets/geloet.jpg | Bin 0 -> 308866 bytes assets/scripts/default-skin/default-skin.css | 482 ++ assets/scripts/default-skin/default-skin.png | Bin 0 -> 547 bytes assets/scripts/default-skin/default-skin.svg | 1 + assets/scripts/default-skin/preloader.gif | Bin 0 -> 866 bytes assets/scripts/galleria/.DS_Store | Bin 8196 -> 0 bytes assets/scripts/galleria/galleria-1.5.7.js | 6930 ----------------- assets/scripts/galleria/galleria-1.5.7.min.js | 13 - .../galleria/plugins/flickr/flickr-demo.html | 63 - .../galleria/plugins/flickr/flickr-loader.gif | Bin 2129 -> 0 bytes .../plugins/flickr/galleria.flickr.js | 384 - ...flict me@a1b0n.com 2017-02-12-23-35-56).js | 11 - ...t me@a1b0n.com 2017-02-12-23-35-56).min.js | 1 - .../plugins/flickr/galleria.flickr.min.js | 1 - .../galleria/plugins/flickr/loader.gif | Bin 1849 -> 0 bytes .../plugins/history/galleria.history.js | 147 - ...flict me@a1b0n.com 2017-02-12-23-35-56).js | 11 - ...t me@a1b0n.com 2017-02-12-23-35-56).min.js | 1 - .../plugins/history/galleria.history.min.js | 1 - .../plugins/history/history-demo.html | 100 - .../plugins/picasa/galleria.picasa.js | 321 - ...flict me@a1b0n.com 2017-02-12-23-35-56).js | 11 - ...t me@a1b0n.com 2017-02-12-23-35-56).min.js | 1 - .../plugins/picasa/galleria.picasa.min.js | 1 - .../galleria/plugins/picasa/loader.gif | Bin 1849 -> 0 bytes .../galleria/plugins/picasa/picasa-demo.html | 55 - ...ict me@a1b0n.com 2017-02-12-23-35-56).html | 125 - .../themes/classic/classic-demo-cdn.html | 125 - .../galleria/themes/classic/classic-demo.html | 131 - .../themes/classic/classic-loader.gif | Bin 1849 -> 0 bytes .../galleria/themes/classic/classic-map.png | Bin 1840 -> 0 bytes .../themes/classic/galleria.classic.css | 227 - .../themes/classic/galleria.classic.js | 102 - ...flict me@a1b0n.com 2017-02-12-23-35-56).js | 11 - ...t me@a1b0n.com 2017-02-12-23-35-56).min.js | 1 - .../themes/classic/galleria.classic.min.css | 1 - .../themes/classic/galleria.classic.min.js | 1 - .../scripts/galleria/themes/fullscreen/b.png | Bin 1093 -> 0 bytes .../galleria/themes/fullscreen/down-neg.gif | Bin 1106 -> 0 bytes .../galleria/themes/fullscreen/down.gif | Bin 54 -> 0 bytes .../galleria/themes/fullscreen/fix.gif | Bin 43 -> 0 bytes .../fullscreen/fullscreen-demo-cdn.html | 101 - .../themes/fullscreen/fullscreen-demo.html | 105 - .../themes/fullscreen/galleria.fullscreen.css | 217 - .../themes/fullscreen/galleria.fullscreen.js | 182 - .../fullscreen/galleria.fullscreen.min.css | 1 - .../fullscreen/galleria.fullscreen.min.js | 1 - .../scripts/galleria/themes/fullscreen/i.png | Bin 179 -> 0 bytes .../galleria/themes/fullscreen/index.html | 0 .../galleria/themes/fullscreen/l-neg.png | Bin 1062 -> 0 bytes .../scripts/galleria/themes/fullscreen/l.gif | Bin 82 -> 0 bytes .../galleria/themes/fullscreen/loader.gif | Bin 1586 -> 0 bytes .../galleria/themes/fullscreen/n-neg.png | Bin 984 -> 0 bytes .../scripts/galleria/themes/fullscreen/n.gif | Bin 59 -> 0 bytes .../galleria/themes/fullscreen/p-neg.png | Bin 980 -> 0 bytes .../scripts/galleria/themes/fullscreen/p.gif | Bin 60 -> 0 bytes .../galleria/themes/fullscreen/r-neg.png | Bin 1102 -> 0 bytes .../scripts/galleria/themes/fullscreen/r.gif | Bin 82 -> 0 bytes .../galleria/themes/fullscreen/up-neg.gif | Bin 1106 -> 0 bytes .../scripts/galleria/themes/fullscreen/up.gif | Bin 54 -> 0 bytes assets/scripts/photoswipe-ui-default.js | 861 ++ assets/scripts/photoswipe-ui-default.min.js | 4 + assets/scripts/photoswipe.css | 179 + assets/scripts/photoswipe.js | 3734 +++++++++ assets/scripts/photoswipe.min.js | 4 + 78 files changed, 5621 insertions(+), 9401 deletions(-) create mode 100644 _imagemeta/feinstaub3.markdown create mode 100644 _projects/arm-hacking.markdown create mode 100644 assets/3dprint.jpg create mode 100644 assets/geloet.jpg create mode 100755 assets/scripts/default-skin/default-skin.css create mode 100755 assets/scripts/default-skin/default-skin.png create mode 100755 assets/scripts/default-skin/default-skin.svg create mode 100755 assets/scripts/default-skin/preloader.gif delete mode 100644 assets/scripts/galleria/.DS_Store delete mode 100644 assets/scripts/galleria/galleria-1.5.7.js delete mode 100644 assets/scripts/galleria/galleria-1.5.7.min.js delete mode 100644 assets/scripts/galleria/plugins/flickr/flickr-demo.html delete mode 100644 assets/scripts/galleria/plugins/flickr/flickr-loader.gif delete mode 100644 assets/scripts/galleria/plugins/flickr/galleria.flickr.js delete mode 100644 assets/scripts/galleria/plugins/flickr/galleria.flickr.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js delete mode 100644 assets/scripts/galleria/plugins/flickr/galleria.flickr.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js delete mode 100644 assets/scripts/galleria/plugins/flickr/galleria.flickr.min.js delete mode 100644 assets/scripts/galleria/plugins/flickr/loader.gif delete mode 100644 assets/scripts/galleria/plugins/history/galleria.history.js delete mode 100644 assets/scripts/galleria/plugins/history/galleria.history.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js delete mode 100644 assets/scripts/galleria/plugins/history/galleria.history.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js delete mode 100644 assets/scripts/galleria/plugins/history/galleria.history.min.js delete mode 100644 assets/scripts/galleria/plugins/history/history-demo.html delete mode 100644 assets/scripts/galleria/plugins/picasa/galleria.picasa.js delete mode 100644 assets/scripts/galleria/plugins/picasa/galleria.picasa.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js delete mode 100644 assets/scripts/galleria/plugins/picasa/galleria.picasa.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js delete mode 100644 assets/scripts/galleria/plugins/picasa/galleria.picasa.min.js delete mode 100644 assets/scripts/galleria/plugins/picasa/loader.gif delete mode 100644 assets/scripts/galleria/plugins/picasa/picasa-demo.html delete mode 100644 assets/scripts/galleria/themes/classic/classic-demo-cdn (SFConflict me@a1b0n.com 2017-02-12-23-35-56).html delete mode 100644 assets/scripts/galleria/themes/classic/classic-demo-cdn.html delete mode 100644 assets/scripts/galleria/themes/classic/classic-demo.html delete mode 100644 assets/scripts/galleria/themes/classic/classic-loader.gif delete mode 100644 assets/scripts/galleria/themes/classic/classic-map.png delete mode 100644 assets/scripts/galleria/themes/classic/galleria.classic.css delete mode 100644 assets/scripts/galleria/themes/classic/galleria.classic.js delete mode 100644 assets/scripts/galleria/themes/classic/galleria.classic.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js delete mode 100644 assets/scripts/galleria/themes/classic/galleria.classic.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js delete mode 100644 assets/scripts/galleria/themes/classic/galleria.classic.min.css delete mode 100644 assets/scripts/galleria/themes/classic/galleria.classic.min.js delete mode 100644 assets/scripts/galleria/themes/fullscreen/b.png delete mode 100644 assets/scripts/galleria/themes/fullscreen/down-neg.gif delete mode 100644 assets/scripts/galleria/themes/fullscreen/down.gif delete mode 100644 assets/scripts/galleria/themes/fullscreen/fix.gif delete mode 100644 assets/scripts/galleria/themes/fullscreen/fullscreen-demo-cdn.html delete mode 100644 assets/scripts/galleria/themes/fullscreen/fullscreen-demo.html delete mode 100644 assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.css delete mode 100644 assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.js delete mode 100644 assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.min.css delete mode 100644 assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.min.js delete mode 100644 assets/scripts/galleria/themes/fullscreen/i.png delete mode 100644 assets/scripts/galleria/themes/fullscreen/index.html delete mode 100644 assets/scripts/galleria/themes/fullscreen/l-neg.png delete mode 100644 assets/scripts/galleria/themes/fullscreen/l.gif delete mode 100644 assets/scripts/galleria/themes/fullscreen/loader.gif delete mode 100644 assets/scripts/galleria/themes/fullscreen/n-neg.png delete mode 100644 assets/scripts/galleria/themes/fullscreen/n.gif delete mode 100644 assets/scripts/galleria/themes/fullscreen/p-neg.png delete mode 100644 assets/scripts/galleria/themes/fullscreen/p.gif delete mode 100644 assets/scripts/galleria/themes/fullscreen/r-neg.png delete mode 100644 assets/scripts/galleria/themes/fullscreen/r.gif delete mode 100644 assets/scripts/galleria/themes/fullscreen/up-neg.gif delete mode 100644 assets/scripts/galleria/themes/fullscreen/up.gif create mode 100755 assets/scripts/photoswipe-ui-default.js create mode 100755 assets/scripts/photoswipe-ui-default.min.js create mode 100755 assets/scripts/photoswipe.css create mode 100755 assets/scripts/photoswipe.js create mode 100755 assets/scripts/photoswipe.min.js diff --git a/_config.yml b/_config.yml index 7688f0aa..4a99fc21 100644 --- a/_config.yml +++ b/_config.yml @@ -63,7 +63,7 @@ collections: projects: title: Projekte # Needed for Siteleaf output: true - feature_image: "/assets/projekte.jpg" + feature_image: "/assets/3dprint.jpg" permalink: project/:path/ imagemeta: output: false diff --git a/_imagemeta/feinstaub1.markdown b/_imagemeta/feinstaub1.markdown index 70b148b4..e8cd6b27 100644 --- a/_imagemeta/feinstaub1.markdown +++ b/_imagemeta/feinstaub1.markdown @@ -1,6 +1,6 @@ --- title: Feinstaubsensor -url: https://chaotikum.org/_media/undefined:20170910-img_4773.jpg +picurl: https://chaotikum.org/_media/undefined:20170910-img_4773.jpg description: Feinstaubssensor-Set mit NODE MCU, weiteren Sensoren und Kabeln tags: - feinstaub diff --git a/_imagemeta/feinstaub2.markdown b/_imagemeta/feinstaub2.markdown index 7e7d15fb..4d0477cb 100644 --- a/_imagemeta/feinstaub2.markdown +++ b/_imagemeta/feinstaub2.markdown @@ -1,7 +1,7 @@ --- title: Feinstaubsensor -url: https://chaotikum.org/_media/undefined:20170910-img_4773.jpg -description: Blablabla +picurl: https://chaotikum.org/_media/projekte:vortraege:feinstaub2.jpg +description: Feinstaubsensor auf einem Balkon tags: - feinstaub --- diff --git a/_imagemeta/feinstaub3.markdown b/_imagemeta/feinstaub3.markdown new file mode 100644 index 00000000..565d5962 --- /dev/null +++ b/_imagemeta/feinstaub3.markdown @@ -0,0 +1,7 @@ +--- +title: Feinstaubsensor +picurl: https://chaotikum.org/_media/projekte:vortraege:feinstaub3.jpg +description: Feinstaub Sensor an einer Wand +tags: + - feinstaub +--- diff --git a/_includes/galery.html b/_includes/galery.html index ca8c146a..5111c8d1 100644 --- a/_includes/galery.html +++ b/_includes/galery.html @@ -1,14 +1,303 @@ -<div class="galleria"> +<style> +.my-gallery { + width: 100%; + float: left; +} +.my-gallery img { + width: 100%; + height: auto; +} +.my-gallery figure { + display: block; + float: left; + margin: 0 5px 5px 0; + width: 150px; +} +.my-gallery figcaption { + display: none; +} +</style> +<div class="my-gallery" itemscope itemtype="http://schema.org/ImageGallery"> {% for image in site.imagemeta %} {% if image.tags contains {{include.topic}} %} - <p>bla</p> - <img src="{{include.url}}" data-title="My title" data-description="My description"> + <figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject"> + <a href="{{image.picurl}}" itemprop="contentUrl" data-size="600x400"> + <img src="{{image.picurl}}" itemprop="thumbnail" alt="{{image.description}}" /> + </a> + <figcaption itemprop="{{image.description}}">{{image.description}}</figcaption> + </figure> {% endif %} {% endfor %} +</div> +<!-- Root element of PhotoSwipe. Must have class pswp. --> +<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> + + <!-- Background of PhotoSwipe. + It's a separate element, as animating opacity is faster than rgba(). --> + <div class="pswp__bg"></div> + + <!-- Slides wrapper with overflow:hidden. --> + <div class="pswp__scroll-wrap"> + + <!-- Container that holds slides. PhotoSwipe keeps only 3 slides in DOM to save memory. --> + <!-- don't modify these 3 pswp__item elements, data is added later on. --> + <div class="pswp__container"> + <div class="pswp__item"></div> + <div class="pswp__item"></div> + <div class="pswp__item"></div> + </div> + + <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --> + <div class="pswp__ui pswp__ui--hidden"> + + <div class="pswp__top-bar"> + + <!-- Controls are self-explanatory. Order can be changed. --> + + <div class="pswp__counter"></div> + + <button class="pswp__button pswp__button--close" title="Close (Esc)"></button> + + <button class="pswp__button pswp__button--share" title="Share"></button> + + <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> + + <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> + + <!-- Preloader demo https://codepen.io/dimsemenov/pen/yyBWoR --> + <!-- element will get class pswp__preloader--active when preloader is running --> + <div class="pswp__preloader"> + <div class="pswp__preloader__icn"> + <div class="pswp__preloader__cut"> + <div class="pswp__preloader__donut"></div> + </div> + </div> + </div> + </div> + + <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> + <div class="pswp__share-tooltip"></div> + </div> + + <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"> + </button> + + <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"> + </button> + + <div class="pswp__caption"> + <div class="pswp__caption__center"></div> + </div> + + </div> + + </div> + </div> <script> - (function() { - Galleria.loadTheme('{{site.baseurl}}/assets/scripts/galleria/themes/classic/galleria.classic.min.js'); - Galleria.run('.galleria'); - }()); +var initPhotoSwipeFromDOM = function(gallerySelector) { + + // parse slide data (url, title, size ...) from DOM elements + // (children of gallerySelector) + var parseThumbnailElements = function(el) { + var thumbElements = el.childNodes, + numNodes = thumbElements.length, + items = [], + figureEl, + linkEl, + size, + item; + + for(var i = 0; i < numNodes; i++) { + + figureEl = thumbElements[i]; // <figure> element + + // include only element nodes + if(figureEl.nodeType !== 1) { + continue; + } + + linkEl = figureEl.children[0]; // <a> element + + size = linkEl.getAttribute('data-size').split('x'); + + // create slide object + item = { + src: linkEl.getAttribute('href'), + w: parseInt(size[0], 10), + h: parseInt(size[1], 10) + }; + + + + if(figureEl.children.length > 1) { + // <figcaption> content + item.title = figureEl.children[1].innerHTML; + } + + if(linkEl.children.length > 0) { + // <img> thumbnail element, retrieving thumbnail url + item.msrc = linkEl.children[0].getAttribute('src'); + } + + item.el = figureEl; // save link to element for getThumbBoundsFn + items.push(item); + } + + return items; + }; + + // find nearest parent element + var closest = function closest(el, fn) { + return el && ( fn(el) ? el : closest(el.parentNode, fn) ); + }; + + // triggers when user clicks on thumbnail + var onThumbnailsClick = function(e) { + e = e || window.event; + e.preventDefault ? e.preventDefault() : e.returnValue = false; + + var eTarget = e.target || e.srcElement; + + // find root element of slide + var clickedListItem = closest(eTarget, function(el) { + return (el.tagName && el.tagName.toUpperCase() === 'FIGURE'); + }); + + if(!clickedListItem) { + return; + } + + // find index of clicked item by looping through all child nodes + // alternatively, you may define index via data- attribute + var clickedGallery = clickedListItem.parentNode, + childNodes = clickedListItem.parentNode.childNodes, + numChildNodes = childNodes.length, + nodeIndex = 0, + index; + + for (var i = 0; i < numChildNodes; i++) { + if(childNodes[i].nodeType !== 1) { + continue; + } + + if(childNodes[i] === clickedListItem) { + index = nodeIndex; + break; + } + nodeIndex++; + } + + + + if(index >= 0) { + // open PhotoSwipe if valid index found + openPhotoSwipe( index, clickedGallery ); + } + return false; + }; + + // parse picture index and gallery index from URL (#&pid=1&gid=2) + var photoswipeParseHash = function() { + var hash = window.location.hash.substring(1), + params = {}; + + if(hash.length < 5) { + return params; + } + + var vars = hash.split('&'); + for (var i = 0; i < vars.length; i++) { + if(!vars[i]) { + continue; + } + var pair = vars[i].split('='); + if(pair.length < 2) { + continue; + } + params[pair[0]] = pair[1]; + } + + if(params.gid) { + params.gid = parseInt(params.gid, 10); + } + + return params; + }; + + var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) { + var pswpElement = document.querySelectorAll('.pswp')[0], + gallery, + options, + items; + + items = parseThumbnailElements(galleryElement); + + // define options (if needed) + options = { + + // define gallery index (for URL) + galleryUID: galleryElement.getAttribute('data-pswp-uid'), + + getThumbBoundsFn: function(index) { + // See Options -> getThumbBoundsFn section of documentation for more info + var thumbnail = items[index].el.getElementsByTagName('img')[0], // find thumbnail + pageYScroll = window.pageYOffset || document.documentElement.scrollTop, + rect = thumbnail.getBoundingClientRect(); + + return {x:rect.left, y:rect.top + pageYScroll, w:rect.width}; + } + + }; + + // PhotoSwipe opened from URL + if(fromURL) { + if(options.galleryPIDs) { + // parse real index when custom PIDs are used + // http://photoswipe.com/documentation/faq.html#custom-pid-in-url + for(var j = 0; j < items.length; j++) { + if(items[j].pid == index) { + options.index = j; + break; + } + } + } else { + // in URL indexes start from 1 + options.index = parseInt(index, 10) - 1; + } + } else { + options.index = parseInt(index, 10); + } + + // exit if index not found + if( isNaN(options.index) ) { + return; + } + + if(disableAnimation) { + options.showAnimationDuration = 0; + } + + // Pass data to PhotoSwipe and initialize it + gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options); + gallery.init(); + }; + + // loop through all gallery elements and bind events + var galleryElements = document.querySelectorAll( gallerySelector ); + + for(var i = 0, l = galleryElements.length; i < l; i++) { + galleryElements[i].setAttribute('data-pswp-uid', i+1); + galleryElements[i].onclick = onThumbnailsClick; + } + + // Parse URL and open gallery if it contains #&pid=3&gid=1 + var hashData = photoswipeParseHash(); + if(hashData.pid && hashData.gid) { + openPhotoSwipe( hashData.pid , galleryElements[ hashData.gid - 1 ], true, true ); + } +}; + +// execute above function +initPhotoSwipeFromDOM('.my-gallery'); </script> diff --git a/_includes/nav-header.html b/_includes/nav-header.html index 32818a09..659b78a9 100644 --- a/_includes/nav-header.html +++ b/_includes/nav-header.html @@ -43,5 +43,17 @@ const applyToggle = (list, button, breakpoint) => { applyToggle('.list--nav', '.button', 640) </script> -<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/galleria/1.5.7/galleria.min.js"></script> +<!-- Core CSS file --> +<link rel="stylesheet" href="{{site.baseurl}}/assets/scripts/photoswipe.css"> + +<!-- Skin CSS file (styling of UI - buttons, caption, etc.) + In the folder of skin CSS file there are also: + - .png and .svg icons sprite, + - preloader.gif (for browsers that do not support CSS animations) --> +<link rel="stylesheet" href="{{site.baseurl}}/assets/scripts/default-skin/default-skin.css"> + +<!-- Core JS file --> +<script src="{{site.baseurl}}/assets/scripts/photoswipe.min.js"></script> + +<!-- UI JS file --> +<script src="{{site.baseurl}}/assets/scripts/photoswipe-ui-default.min.js"></script> diff --git a/_posts/blog/2016-12-14-smashing.markdown b/_posts/blog/2016-12-14-smashing.markdown index d048aa05..81d82d01 100644 --- a/_posts/blog/2016-12-14-smashing.markdown +++ b/_posts/blog/2016-12-14-smashing.markdown @@ -9,7 +9,7 @@ categories: tags: - dashboard --- -Auf der ARM-fARM steht seit einiger Zeit ein Bildschirm. Aber warum? Dies ist unser neues Dashboard. Das Dashboard soll es ermöglichen Informationen im Nobreakspace]({{site.baseurl}}/nobreakspace) auf Widgets darzustellen. Aktuell sieht der Betrachter darauf Widgets welche Uhrzeit, Getränkebestand und Traffic im nbsp-Netz anzeigen. Aber so ein Dashboard macht natürlich erst Spaß, wenn wir alle Widgets draufschmeißen können. +Auf der ARM-fARM steht seit einiger Zeit ein Bildschirm. Aber warum? Dies ist unser neues Dashboard. Das Dashboard soll es ermöglichen Informationen im [Nobreakspace]({{site.baseurl}}/nobreakspace) auf Widgets darzustellen. Aktuell sieht der Betrachter darauf Widgets welche Uhrzeit, Getränkebestand und Traffic im nbsp-Netz anzeigen. Aber so ein Dashboard macht natürlich erst Spaß, wenn wir alle Widgets draufschmeißen können. <!--more--> {% include {{site.image}} base=site.wikiimage url="hackerspace:dashsamsh.jpg" caption="Das neue Dashboard im Nobreakspace" copyr=site.ccbync %} diff --git a/_posts/blog/2017-09-12-feinstaubsensor-selbstgebaut.markdown b/_posts/blog/2017-09-12-feinstaubsensor-selbstgebaut.markdown index aebf2433..f6286cfe 100644 --- a/_posts/blog/2017-09-12-feinstaubsensor-selbstgebaut.markdown +++ b/_posts/blog/2017-09-12-feinstaubsensor-selbstgebaut.markdown @@ -1,6 +1,6 @@ --- layout: post -title: "Feinstaubsensor selbstgebaut" +title: "Freitalk N8: Feinstaubsensor selbstgebaut" date: 2017-09-12 10:00:00 +0200 image: feinstaub.jpg comments: true @@ -8,7 +8,7 @@ categories: - blog tags: - Freitalk -- Feinstaub +- feinstaub - event eventdate: 2017-10-20 18:00:00 +0200 frontpage: true diff --git a/_posts/blog/2017-10-03-35-softwerkskammer.markdown b/_posts/blog/2017-10-03-35-softwerkskammer.markdown index 5b061d8b..1b9d7c4a 100644 --- a/_posts/blog/2017-10-03-35-softwerkskammer.markdown +++ b/_posts/blog/2017-10-03-35-softwerkskammer.markdown @@ -9,7 +9,7 @@ categories: tags: - swk --- -Letztes Mal wurden kurze Talks gehalten, diesmal soll es, laut Einladung zur 35. Softwerkskammer in Lübeck, kurze Videos geben. +Letztes Mal wurden kurze Talks gehalten, diesmal soll es, [laut Einladung zur 35. Softwerkskammer](https://www.softwerkskammer.org/activities/35_swk_luebeck) in Lübeck, kurze Videos geben. >Die Idee: Jeder kennt die kurzen Videos von die uns zu neuen Ideen inspirieren oder und zum Lachen bringen. Wir möchten Euch einladen, diese mit allen zu teilen. Das Thema ist egal, Hauptsache es hat etwas mit Softwareentwicklung zu tun und ist max. 15 Minuten lang. diff --git a/_projects/arm-hacking.markdown b/_projects/arm-hacking.markdown new file mode 100644 index 00000000..1d4ea9cd --- /dev/null +++ b/_projects/arm-hacking.markdown @@ -0,0 +1,27 @@ +--- +layout: project +name: "Arm Hacking" +date: 2015-12-27 00:00:00 +0200 +tag: armhacking +contact: +- "T_X" +status: unbekannt +categories: +- project +tags: +- armhacking +--- + +ARM ist eine Prozessor-Architektur, die im Vergleich zu Intel oder AMD Prozessoren (x86) zwar nicht so schnell, aber dafür sehr stromsparend (i.d.R. je nach Modell ~1-8 Watt) und klein sind. Sie finden zur Zeit große Anwendung in z.B. leistungsfähigen Handys, sind aber auch als „Entwickler-Boards“ sehr günstig für Bastler zu haben. + +Somit ist es möglich für ~20-50€ (ohne Peripherie wie Tastatur, Maus, Bildschirm) einen funktionierenden, Web- und Office-tauglichen Desktop PC oder Mini-Heimserver zu bekommen. + +Der günstige Preis, kleine Formfaktor und geringe Stromverbrauch laden zu einer Vielzahl an Bastelprojekten ein. Server-Anwendung und Heimautomatisierung lassen sich in den eigenen vier Wänden selber austesten und betreiben, ohne einer ominösen Cloud oder einer Blackbox vertrauen zu müssen. Dank freier Betriebssysteme und Anwendungen bleiben all deine Daten auch unter deiner Kontrolle! + +Zur Zeit wird an drei Projekten gebastelt: + +fARM – ein Cluster aus und Hosting für ARM-Geräte +[ARMee](http://chaotikum.org/projekte:arm-hacking:armee): Fittmachen von ARM-Geräte-Reihen für diverse, aktuelle, freie Linuxe +swwARM+AT – Solar, Wind und Wetter-Monitoring mit ARM+ATMega +{h,b}ackpack – Mobiler, kleiner ARM-Core-Rechner mit erweiterter IO + externem, ARM-basiertem Terminal +Vom Klassiker Raspberry Pi über den Banana Pi, diverse Odroids bis hin zu umfunktionierten TV-Sticks haben wir Erfahrungen mit verschiedenen ARM-Geräten sammeln können. Wenn du noch unschlüssig bist, welches der vielen ARM-Geräte für dein Bastelprojekt das richtige sein könnte, dann schau doch einfach mal bei uns vorbei :). diff --git a/_projects/esp8266-projekte.md b/_projects/esp8266-projekte.md index f0e508eb..abdee0ad 100644 --- a/_projects/esp8266-projekte.md +++ b/_projects/esp8266-projekte.md @@ -7,6 +7,9 @@ tag: esp8266 short: er ESP8266 ist ein 32-Bit-Mikrocontroller der chinesischen Firma espressif. Da er sehr günstig zu erwerben ist und sich leicht mit der vielen bereits bekannten Arduino IDE programmieren lässt ist er für kleine IoT Projekte und gut geeignet. categories: - project +contact: +- "@TVLuke" +status: produktiv tags: - esp8266 wiki: http://chaotikum.org/projekte:esp8266 @@ -14,6 +17,6 @@ wiki: http://chaotikum.org/projekte:esp8266 Der ESP8266 ist ein 32-Bit-Mikrocontroller der chinesischen Firma espressif. Da er sehr günstig zu erwerben ist und sich leicht mit der vielen bereits bekannten Arduino IDE programmieren lässt ist er für kleine IoT Projekte und gut geeignet. Mit dem ESP8266 sind unterschiedliche Projekte einfach möglich, darunter - - Feinstaubsmessungen + - [Feinstaubsmessungen]({{site.baseurl}}/project/feinstaubsensoren/) - Gewichtsmessungen - Bewässerungssensoren für Pflanzen diff --git a/assets/.DS_Store b/assets/.DS_Store index f57ac2d18b404f682f0b69e9f7a4dde73da361ae..eb0b55725eecd4a95b45438af6233906f265cc51 100644 GIT binary patch literal 8196 zcmeHMPfQ$D82`Qn%KRy1Xv@D=WR=oT3uGx&uq|;}C@ua;(FGPLb(z_jmWjg*-I-lV zDb2<|jV5Z1n%ILLj8PA5Pew1s=*^nw#gJ&@!HZE3UNm~~<oD*y63Ui?7q#iU<h}3B z_j}*G`F`)W^YUf^024XA3!ni21ggv`GBvj;3}>~ZL;_C*S)_P?1@OSt7TpESDj6L* zLIy$xLIy$xLIy$x{tpb$p3RD|$-d9gunidq8MrGMVDE=0Rc7OXEpY3<I;ioF0A$O_ z?HB6PIlzyJ1~wkp0=IrB-IJdlFbKuqh=Dwu@F*KjHXhglw>%t>hXV#PV{k%2e|CzC z`ojU^+=gw)K*&HT1MKWx2`*$H3+DRsyQ2~Eg|=Xst{01ai;=SOiY=9bC<<bgcq%#P zEG9kG%ee_Pd(yu$bwdmKV~%63^;K=cG#1m!&OyiaRMR%H>xR#yOj~yr6Hd<7UH?9# zsy9cm{zPe|Zh1M@9_{U3X^$><_4H7`FV?fNA`11bUHv1o^GoNKFRWaAljnuOy8)^< z<awnuN!`s@8a*Z(xgmec%@1l8%RiDW=KtMV{*t_Pxb~QoR<`FUtrH8L>Dcask#)(Y zm1>uW8Ob>IXx3nOTB*sXRwieuo-trqN%OqnrZSF|o44Ib&p78X&$R1gy+PkOX;Lin zr4=RT8c!M&Xy%O}3U?J0g{xI{yQ6#db$0jlCswyrD>c#%sWz22T~o7+@kLYj=B89P zW7xWBpP8m5u|4y&X=KHkvQcr&R_Be?nrdZReS<7d<}~wc&h(a)7D3?mYLc5p<s)H6 zr|BMdbQY=mh}<O8pp(o$m^G;7ZfURFCMv2h=F$`MTkMxQM8y@yo~Cu>p)u)zpy=Yb zrD}%7T?eIJL3vb6<vDHKc}O}U)L^?fnQ`Xl>A79*epnt5lpDfRZ0^TY*E_Lb*fc%M zVz5b;r<i|0*9~0|TH<Yd;alP{-Vte6X@pMNL&jhR4AS=!yacbnWq1|dg7@G$d<dVy z4fqnig0JBl_#S?QpWtWs1%89y;Scx|BPiomtindTA6u{$_u_u+!GqX~eb|q~cnnAI z5gf%SoW>bEg$CN_U>04xfY0M4d;wp?EBFpx#cOySKgQ4agGGu`9pTr-7C)z6sUGQj zny<&yZS{DxcKE;2<IO52!tFbD*48!eX>0F#@Nj%>{WdJwEvi~CC0{*U9=>dfvfy&9 zZ)n`L`yNRiCqWtKHcGrGeWj8~M_6T}qxZ?O!ZgD##a3A&QHwsdua&S!fOK>cQbzja z*nw_IRw_uUJg&D-l9Y1NGDnZ}6S{>|%h7=Zp}>As;y;t!yKoIYA<3=6P56Q2_A5#4 zF9h6z3O3*_Y{Gl78QbsyY{w4lB%wWohwv~C`C>bcPhb+qaRO5~iyG=AxYH!Kvm`hV zb9fO8_zXUa&*95>8DGQK@eO<%-{<mL6W#Hm+_=RLN=27XW^K!{&k$0S>a9WH)g8}3 z8PA}Bo&S$+{{8=s&ofLQWFTZ<a|W<{C^?iMe6u%wgs>>pS*onCaRqMu5Ng;E=J$`| iWY_*Mq<%EO;(;x2O9+*J{X;;w|3kR{`_j9so4*069?xI^ literal 8196 zcmeHMO>7la6h2>n==@kZ1*9z+c~GbV4ZNnURt)m`UW*nXR9a|(+IHTXfliptlsEHQ zpcK1sqfw(Kibh@e8)0V*D-+`eqed6j02*DmFedI?8CRY=ciKQpT^S`|ZZh}Wdw%Y{ z=eysVn>&w)kS$p)MD;|Z@FS$5b9IX%?BZEc%3@6=OK?2V1cemjr-F&RyTm(DBnTu3 zBnTu3BnTu3+ztrvnJtR4%(*YENu3~&AaF+_Al?rteuT`#a#qUd)xlMC1z=gh>Zov= z?*UOvDwdg8&Po}D@|g1WfH)NK6$3Jy?J42TG84;LDP=f8h7;nM5#LY{&CYSD$eoap zGN}^;5(JhaAnxu}6i|VR<lK0F_w#JIlAmy$AWWyPqO824az&M*s)|~zKGiqoPxXan zSPHUc@mSPzEIS{!`+eVCXq)-Njy*MEtjYOaXgZ!<yup2F!0{}9D(ja#D~QJFHN!EE zjV2l~)=p2Sn^O<9&NQc{TiV*V-H~panNgLx%`LlnM#s;bojx~n{({U4@w<U)7UlW+ z(j={*;O2Rm!gEpnZZMh4yCVOx3-kG3TgYG2@9NpB?HhCozSrlRwMUGafWheDZg0_^ zj8d&Fm~NrunxWn4y22?KDEMw^+zSRn`*bKYM+3hY<|5^YVUz;<pw0fyq}|0)!HBU+ zjC5ckbbK#3Y!?HTjhVE}OI0pbuf4DF{^phkAIWsjt*kL>SFP5xqr3xN=p1+K;-M+W z3dfF^LBaMc$2&1F=>$&RwfjAD+^#L}Rn@tbb@dJF?$Pz-Tn9^e=TylF&lru0GFMw; ztkhEaM%DO48M1hZ`+ZByWJMM|r8g<cF`>^DZLXzS+oEq%4O8h4IAJ-&b}g+Mf!cqP zw_S#|YVC?)sfS!MZ@W^}q3u+RC)9ySnYUE#(snDgXjTUc{`ffO8Ax?j?^28}lwmRV zJ~IdpOxPYzFS6T{()A-k-)UL4r6`S=2PA$G3aTNFoCexRZS*+x(h;&~ik_!e={34Q z@6aW>OrO#f`j+PCDqW-N^b7q)f6!kjM<rIE3I=Mi8f<Td@tz=s+j3=t4L4q7VHz zi~$V6#&L|nfsfNTgK3<@Gk5_n;$^&oH}Njs!w2{fm+=|C#8>zl-{S}TDA!pw&*%NJ zKVRb~ZY?D(e{_pTJA6yh?s-hh{lBEWUM-or=I*uYH*MM8+OaFUu$hbY??x&`?2+_{ zXfscXXcuqhVnpeCHT@8?%RapvvyCdjBV|r_r#9%iAqXV9o13^>#vGU3t=n|XC}#$% zk@JqUrW=(^R%vZ(*EFMo*(|LO?_}!==B+ZfuD+p8+pTq~;-_X%6r5|~v7o4nSojYd z{D?lL&*>Zbj=A?U{Yt;np8)f&8g*FDtlNamXu=M(pcQRs$D_zF|8mU0{WyRpagbR! zgkg-rL>?zG&K#V;DV${vp2yRe#j|)W;^IqqgSq$?-p2d5xQKf_^Q@B+mzHvGvajg5 zzITEx^NhVYDCymn2$aiJ)r<Ro_wwKWZ_BkOi%Jkk5cqcxKt)$ySC+?G?(Hq^+9`fU x`4L6<%}N=Ca3x%XKDv&xT=>I~+o{-=iRG-6Y~k{se+aOX^FKNNBkJAJ)!+3b>T3W1 diff --git a/assets/3dprint.jpg b/assets/3dprint.jpg new file mode 100644 index 0000000000000000000000000000000000000000..55b98546bbdfe8b4460cdd0821ef70e0c1aa293a GIT binary patch literal 179171 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	olY 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 Lkgg}<-_-vB{)yf> literal 0 HcmV?d00001 diff --git a/assets/geloet.jpg b/assets/geloet.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3d75a56d0346cbb905dd4c67e638f67378f15730 GIT binary patch literal 308866 zcmeFXcQl+|*DySKln?~bMUCFOA>yYDVWM}UM=zt-gplZ>MjJ#Yh~5d&Yr-%(QAY1Z zFYhG3a^K(gJm2$v>;3Ot>ppAEIr}<i_q|>AIoG+Hx?2J~P*wmb0MO6?XeMYT0KnZ( z3>tZFTWbJ7RTaPi008a*@X!bW=qQK*^$SBI`VC{D-~zM<zhMFt{27e|fPorOY)~B) z;MY0|0yLme{{w$Td-4|!iW?gLZ(0%*P9K`UZ}=e!o_S{r!2FAL4>bZ9{^thJ1gq%- z0Dox8ack)D^YN(){~|`&@mr7I<G-yjcna|F@c{(*_(di7#3lIo83Y6*1cf97`2YaM z;IzLrMUM*3{0B~a&-gFP-n0D)qs0LL@A>{^&3l2rwML6WE#aW#WAX_I^2cHPZ5et- z9Oggpmk(%v;-H~p06w7qBdaSO1AzCZ?&w4DnE$}Ac&vYL=HhYwl8f?j{Jp<m6j40x zUoa60#`_0<HT!RUQ0~b_`wIsZn{4#Ib;f>?jqx{(Zj}2cKH9Hv=KiTCDmwsxynmz3 zL;n|_JdD5KUpScm$lb}q`fFYRHIMyoIRB<|-rqX^qQ(0+9D(0_P?>;!f?E33eyQ*T z_4}P2{~kep2?0I{e&PQ|RR5ks;s459w7a`=S-@|WsHZ=9nW9Dp6!?qpUq1gWgA4VH z^6WqJxPLwa2!D-tKk;Q>xx2ea@bWrAc+4!F&8>JWoE>?+&0Ki-dH8q%QZn8yW)}8V z?hNKuHnvVc#{K4YMh06;Afv9ZDxa#0oYgB^C0{oyO<y%F3txK+aZ5%SX$C2832#Ri zM=N(T25(0PCy0bMknuNj2^9QmnwOE`H;TJGkWo+d1%sTkn-zmFj}Q+ZBZ}J1(po~} z4~4&IQBOd|zm)Xy^5XFl<Z*Vh;pG<>7w6>@;1v+yMqzM6e4O0Pyt$nqOn-Cu!wO>I zX6xc^>+Hnvi=&yjvxhs75heLgl^k9EVf)|O{x_nf#Xop19&Qf5g<D$iS~*xbS~<Bx zP=4b7WzKJ=W*#U@|2v0Tp<Y41J&MBk2ixV9v%53omGl3HBL6J^Cj2GBMMBlt($?DN z4>NZwAmgv3;pP+P=I7V?`_KMQBsn)LGk0e<EoWy3Ame{|UHlu4)qiF5SEeyCpcIvO zZsi04GHN<I`7j6waf|XfIx;Bm^N4W^@QD41px|Hzc_ruU=z>Bt`{ijMBex(gKO@6G zx=Z{L@mnD)RMPyr%705j1>Dj?!t!6y`YQuu9o+wd9BhBNSHi)}$p*;i&24FAZRX+N zj*9dD+@yGah26mx#pO5jCqv%<BJB6#zh%qc_^1^81^$!E|2ujAvo`-({f`I!<AMKp z;6EPtj|cwaf&V)_@ULpv$_Z7?c%f=tz}+q&<Hg^F9D^VaA3*FGNEP!}Sq}hM(4ZLr zFsNA+X;5W5IslypT?T+Hz>g|}glW*F0r!5@Lww@={50rN|C$&5_jzvs{r|>Sf68O| zE$;zOBq&7SXvHBnQ;|{0(N^{DD}eYOx)JsZ47A4pbYe6NVzj$106l6yfQ9zE{U$?o zsGS=o7B<d3Ts(XfLM>`1jD~@Mj){SV^~)5rfL}X1OkymO$NaL`r0QlkjIIv_-h9Zp z$MmeSgG}Sc0kfdFTQDvjImIJNDi&6@C+r+T!Xlz#;u3Oy$SWu+fs{41v~_g#^bIUf z<(thbTRVumho_gfk8jA^(6D#!!z1Do5|ffsKBlI9%FW9!C@d;2sj9B2t*dWnZ0h{h z)!ozE*FP{e4x5;SPfgGKTwYmSL#%IXZXF&SpCC`q&Mz*1*@fED{b?4e|I@PnmtDjt zyU;N)F)(p{*@cGg^~-Q#OsvQJ*d(&*IA*S-i~?`&J$&{dr?LZ=Nl@c}%-rn<9yznn zPnN@9rv0|;|DR#O|3{YnW7xm!ngz(Awr{^0`ri!`1N~RLFflMtJ<62d0}eLU?+{{R zVPW69hl7I(<~>wA@$d);2=7o#{v!WHij9H#5ny9tViOP%;9%hp5D^jG$Hl#m8i<Gp zfA{}QcQ=pPty<m900=P9P|1Wr43GibiY3X?M;k=F^o0*FT`r_euIV>y_Lo$A9q}2x z=+^S$D}@cFP#=#PRFmT&5w%BB8$rZrdSZw?Enq2I<CeTkD)WaAkDPqi$nb*o0$#C~ z3Jg5Z3s5y=KvU=G)s_@m)bOr^+94Y>><BMKnj|=J@Slk7n`(LsIE$*%eJk@n^{!C3 zwb{9)RGYf!ob9@ioZzOseq1mltxaAeAYt<gLpTYa7=1Ox@gw(ktm~#}>cVbYz04mv ziRtzxHjsY*z%ZqZBWca3ER%MFtHM*yh#B5cDye8nu{x=%J>glfo;-c#`8T%PikFj% zEs{V#jrz2Gyu1g#mubb$%lOofKK6x1dh9FP7hlh04sF&-a(@026$OPZ8bscb;H!wt zph+V`Cbk65W*wc$nDKCh#|-RGzurp~oE6*D<bJ(f6XK9S!JoX}TbS=#7s8!6K)i;< z<(sCiYfWZYJJKmRnEr4o7tiMoAdSqSg&nb~LDCk7mVKL3C=8k~8D3-`8uHH*2Wtsx zu<RED+lpQGbYIfllqgOhsmY`@!no8Bz#`H)cY~h%z<Yt%cD5dl8gM*u%8r~x1mj^- zJ6CxFm*PWs`$XH1;|xD7;8)iG*$)0JH#>a&T18F7@v%oP3?Ff(8TF=yY}C~Gu$afP zv9qdTL;<3d;<x1@(QJQKkM<Pfs!JEG=nmkdU(Lnd7=AHziY$WmeCN<Nwi|Z3`nuhZ z{G4g3bI3hpE_PHI(vOi~G>o*7{bBoH)CLd4Nzw($GBuh=C|w-%m1Pe3A<s?8a|dA5 zx}6Adjj99nvo_CD+4t5Gtfq__q%`stPxnGfmHJb*uS<i5S|gqpET3P^+v_#wLUr2m zJl|;~gZvT9gm#Kl@3j4&Y^T-iSUYg%4<&DSWn>+vje4{MZ(y(o%-aI0`rV3Vadq|r zN(F{1^50b9*LllKzIJX<POBChBs=ML=yZN5RYy$&Jpr7PA44kLz8=|2>=+HSbFSEK zPJPE(tegu-mg2Vw%+pFfHOK|m49ttOjU{*@@wbb)(u6O<N7J+w{gIzj-TQC9#jQos z<sB=QFS&}Q5$4byk;fgmO|3@^wN$~_Qojxq(bU(HOcm`}Zq7Kax=QwSSFN&_G^Nbs zdUp<<r6-YP)IFKF0?uNDQ-Vyu$DaoSq_0TGJ<YO?>;Pd$GrJZ9Mp1MWlb;{e5@0lh zF@*_De&&UUf`546@~lCalzZW|hOJ}5p;3Y=$2I`ZQuH5V!l-vJq?z8gXv%gba!$EN z*Id%$A)X;Q!+5Q&R!e+;wd>bmFP%7}*`AM!$$PIDX2-Kz1losI<ANk&>?xfDTPo2S z3(HqU%L|$|iF?uGl*HD_-ZsgVjn^&D{RkN3nBR<sycPf1SXSh&XZ8mH=quubz?@ZE z7Rk^mT9!ctPnIKl2c`JxcaX=9L#pc(p@Q9g$#16?{-MDU*wA_lUZH4y7wt2?Ey%Wd zKUuM)UP!Mp_9DLqH-}L8$j{(~nzbJ%>+aOmA)~??8$J7uN<0pZ^Qm$Kgkr#wJOdhj zgM?NeXA?Um77+<Q=|>fm{Y8dq<9gD1B8CSghDN?s;yGj4;aXx`VDMoH-|RF~qb*<_ zdSlD|t=Ns57v#>{2<q<`mAP$-Fa%1qQE5B1c$ISI9PRH49}a#qMVCVJaf@fNtA2_Y zV^rMhk(vC09L1ANyN<7gWyhYrNzj2Q8>=p5g&u5EsqG|FB^Ti~w6Zn7me!CUvEOpz zl1h?j2yKo|kct}kga{R_-5U)pIR8;@FT&CDv%s&I3b8vCKc>pgGt>)b!}zXS;!V*b zs*01Q|9Va^Bu=q@#blBV|K50&!CZuP#tdAAUblNCed_uNT)my2VD*T9@i6b)_7DL# zg!$)i+Rl7dea}YEp%N3Zvd|W=G`FIm;(g0zT2qsBnN_rieapSMNX!+Txi@I6vv_04 z@Y72D+I1aCwsl6O+AOKW_t0a#%$v-tU%hKLDkJGKb@63wLjy(;?N)i^&tXxm%CyNB z6%Pli{ty$#DSPf5Xr7XKJ$?u1P`Cq_+qZ{N4J|zR@oBMOu1^(aJJK1nmfgGB+0HQW zku+X`kn<Eu(;MK&RmdJhlGV&~bbWU3pz-bQ0eB&H=;q!{c#uO7u|M{qacwkmDE<`% zDOQ?@_=ENHlpg`|LE3Hi4n@Omna`bQ6;)e6WqXVSl+<E<qhdFl%ig`*mu=kUn-%jD zi~U*PZ+iRAVcrI@XNjjL5@y-6^0@bT+<e4Kf~F?<hvP07d=YKJl9ySklQ-aD@GRTu z(1BM+B<Q4-$9oTn&>*B{cZTl9e3n>lPnU_Lr@q!)xiRod-)^*t*X3G^aRXm$nijew ztM6<ExK*94A6zi4h(!v*w_ppimr!;a3%}2EmI*aksj*Kb;o17L`kNe>41#BImsh&8 z+DSJH@6RuZ;WNNt!`;AT_;W}z!fcqgQ?I-h7@))Av$tnCi%#g)(^xX|kVDOv)3~}! zb(C0*^U`Kk?iRQEO4VP%)wk|@o<LM@vri}VhO@8z6?jTz8NRdrvk0kbG3aMQ>G?uo zE`zYuzN6z%$JCI5fQ<PfZx;gVc0ou#<gnlnepPPWl=Yw<eg`O1r?F`b@ZIzOoZgU1 zb5_R9sogxr)AfU&Kq6)cc%S{5U}RLC)mSly2bt1dY>^cH%43&O3H}~eMw`7Xxtsd| zK}*AG<3=?{lwUpj6<OO9`E&Z&rHiio37KX(1p?HMOm|5SMpPv(Rdwb8u6F?XzT7aJ zyp;>lbyLP_(yTJSMl0vfX6B3Cw3NsCtvHHgtaZsnZ$8%hBhngZvN~G@`yE@m?vIwy zN*=v>(7lf=d;w4zT>;OB38A@3hIj5RTm=ZYUg(~%-2pH|swx`}bPAb=gPo{xfYqkF z-DkIb>9<GH389PE?B9N5ReGrw)GgtCnLh`}l>MRm+-l|?a}+UDK2RhuE5Je9@IH@N zBsmjeX+46ecC5oq&!#audGC)V>o_(Yo2>wE;fKlOqJ-V7+#$h`Zmh(`=k+9C^l|%; zg>xH|;WR<gYQ8q@lfksJjV3^PwNT^K5y&xQ;r)(Khse$JN@4cp<m-Bld41ay0)bV6 zQ=s5v8~;tUPUqm)xJMt8ub$HS#w!|Zci2Z3-ZI*&oC&s_%J5$syI7rTdK0?Y(5op` z#9`_?tmg+Nq+F9ArDX(enSq#3^qY>;aHj};FA=Tevr-)qb5~Hrhe*q;H6<L@J&@S2 zL3HrxXsc-b+3N(aeX;A}JAjxuxQu~@f+o$|M7;ktk*I81jKJ>>kX6Q?$k)%t7`)IN zkCDV+`GfRlb-fU&qyM{~Dy|JQV@X^xGkbP)Yd|l~st+9uRLG#WcK|%(==;kmE*HtC z(Z>VXD|6PBUGQi;l2TEthsJnrWjaDD%{CjM6+0W;WfswKZ)(t8XSa1%ZZh4A0(~f- zj>z1293~9guuF2*!!A8SK%A{Hyvw}b7SX)fI?oJ3XXUHzO=YYkL|mJ|Z@Wvk#_Wg- zrq&wGU%T)TJ*p`BIg?b<lW&kk*mp5^70;6?R^jLA)nt6)OtK>0%M4dw{_t7~0w>#s znVc48g62tjYiPT?wlxM>4Rbp7^=ga97Iio!>&58}p7UQ+LAK>ukt`->I9$47bSD#H zOiY+a#?Vq&PF@`$BsfSWADhK$K3Ks==Em2L4_-_;h5Lw$$XB!Soo}}9o)q?M99S4L z#?23ki1v*;V=+ThGg`0JdOWaREZ&jrI2Y-jsU)NnXtcuiCHuoeB?VA76Nn0G$R!vH zdHNtl1DE-1R3`sfFWcd^0Ws@d(B1c2u~b8;i9CAVR{w%`$QDwBrAA1|sBiYqH@7t_ zhmYWmseI;l0E0$~!F>afs|^>8Tjq3yu$8Pb@FO>S8R^18{Q8`YTb_f`S8Wdtc8?zf z)qY<4h&IJMN-w?cWIv(?pjWF=Fd9HqpF`h<kD5ShUlG8-3eL(S(pHHY@<wmbCwLnd z<?ULAn{~bwN!Om-0lw88b1C?~3^BoWEvIc4MDE`=z2-bRiz(b@`Rp8UFsS11#BD{% zmJJ{};*1Dysa?%j3HH0;JjOZ%c|5-n$uO-eY6j)@w>W)1P?}rG2(Uk~Idw9Yx+eP} z_vM&sD#JBSlm;FEO!;uJ7<C#;v=qNMV{ivxs)0EORTl9(Hp{f8t$1((>1->h**h-U zziJI<4fA_>;rki$zhqR<9tCS^S&!9(qs_?K6w9pWdBCcWQB-P~l#-GBQbfw_HuhK( zeJpNy>%t@s%$L<O?oWhj<p~$X={bU;y{P<kz9^}=5ZO)Qmx^r-?99cmH1%mVtk(;V z>GwL?;2uldCgn~c60Z8+io}b#s1XGz`@<*IiFn1`e33;AF_aeJsdI50Rxn4WH(Hn( zNTG-I&CIGAoGf2sT}NdMnrY`W<q*XEKz300o^kDDQXZPQlxxEsK)L#~=h#3YcE~*F z@%9Twz1o1T!lZhjs{WOa-f137|7v|cK-qW|?W4t}mXmPg*Yl$W8Vu#jsr0KJ?S&kc zMq50a7%ZQ>1*X=PW{)HEa`5o=mL2fEnO~|zSVLXitPXeA5!fykJfW)|CMEyXKkKwK z`T6u>F=2g$aZ6t$KwX=$y{)ooagD;Qg>cb;)Y&b!vLb)`G6{BsYXPu`(t%$yj~hJE zQY%E<7Ub`#%wF~8ZCuvCIjKcNEkaMoew0@PIt4EQdW&{-alWr--T`)(VQEQo%0HR< zoys(1J-oOp3Hcy>Wdt`$6~c}R!1omR-~C_(e%*02R+Zi8^!CEn`QOSpmF=(6{TRaO zuzk#6w?Y6pAI`Tv4-UTvMeC``=Qp6`Y|mZ3SbV{*Qe2xF_jXS2<g_IDOvA`9`BmTg zo9(AmDy4j>d~ZFmYxXM2aYjDgugCn(ZnE*U9#+dazh(F)<7$$%*sElwyMgA35J6x3 z9Y7<ND5H@kLGRPH4%GUX2-A&S#r%`amT%Gtc?Yo~PTHprb8kUWRv+CUQ<EA`N<56M z_g_qZc_N+Uxwm&aaZfJAsa@IN3kTTM+wtLt#^Vv0o(vx3tNdr%XU%?^Dh&_r0Je5p zNAFW?_ku=!D+!ur_1`6M$==w#u03tFaJwk$00Ob(m{SgzK8~o+1=x8Y*gQ?E+S~14 z8X}maJj;V;_Dvfyai5l`iu%Rd8*kOuDQjaJ#i+6*?NxA>#^=TR6g;nQ#BG9GCuzR{ zK$Dz6!uTxa+112gPsvR;$%hkpwE`9h@e#Ywoy*3LY%Hycvhu0i^K%8Kw+x9Q^cao8 zb~BP!ej;8jrffJ1aS<Q-OPwBxbHi@zW)(jty<}kmh626NdR3cZ0K@DH-^y%)Y)pWY za^#Oz$JkBIgxJQN;xVpzFrk?x;GJTTr~xm!LZR7)`O622*#j)*<NS~M#S7-AbDxz| zi7tqD<UOU8W`0W9?E3>d)sc#yO9^MP%t5$O*;snyXiZ_~C30Blk~S)yk4Fs$M<^>W z7w*=6D)i!+awDxDJnb5EsPpEaxwBrP`y_W&gE3NSkX1~5k+y$_W1~}><4KvJ=fnK` z>FaNSlUX&^xrdylEe#EgJfYL-XcvL6ebK&Fh*jTYTen5Z!Yw~o9$!E4f4r<?F7Syo z9lzj2BiGhx4!$)VXxjg_ki4v*un+O58J^s17wCN+yl*^?4F9e+Fqx1juNj5*z4)vm z_x9ekJ)8wzcCxEsG&4uUP4nhxz+0DX?m*Q~Z;n=?0c5-1ZA{0CL93I@ZK7MqW=o&9 z@UXe@cC_(JVl}S0S^YwrNkhD&#Cf@ixQ2-_Xaq+tOVgA(3^bt9c<NzNoMm}Ueg4x& zK;Ao^Y{I=*OD*r1yDjh#xe`_}O9a?{;V*j-T2N{)V%`|bg*F1G5y*N@b<whNf2ZVF z(LS@mAjTCADQy@ps0nd_WO$5TAR1?>B~um*o~i8#1o*;ZX=CauN3Q=kSN-I#e9+pH zQe>`IZvF(r?I9F-op3w7SWRAiC2_6X@WwphiU*-!5AqFN|JZ*@6Ki+nMA$nJBcKP8 znV--#DI9X;A=ByPdS=>EfDBaZ+3NNofS4AVe$m}+FS#Z;d}zQ^>2~zW%jtn2&3oM4 zgdgBdQ&;GcOpU;0P5jwdO8_`_;4l^|rcigsWb8zyh!=0$KsQQA$patMl{}v9Vdbzy zuW6dnUZ1kN{pp&us_|ew)M+fh>U(cMU>;u`PDu`}<*oLGntC#<2f_cX=E8hmhB+`g zwny&%+a$j&cvFxN9shaAXYX9C<Sm4)O}sunh$$Y#R>9hw_1d&LtIK&tvd6Yy!!wov zQ+RD<Ro0o_E9uIQu%O+lR3}+CI7xp~EyHs!(BjeLF#kZJ2gEP)-7d~SY9NmHgb-QN zmF73Rn&T&(DQt1A2f*#V7g0e5Q9MlB-rnXU^%AYom0IM~q!PqlFFYGFE84gkD{|V+ zN>%Ld05hbrVJ~T=PMPVAT<jpc7v#(ICJHuh;e6TcEwQ`2iuLth#>#S|T}tsn=|clw zpmtO*sRR#rp=&aN3>Do~+>p<Lw-=XzuNF@Of(`^P^isl{jbNtTqXst@4uRrqo<01t z$h}uM(3@9e$j0y9UM3CSk!TFeJ#){YrMJ>ar}VE|bWiPzC@on<BtNvZAy*KI&U8*! z&|CHQUhcCKl39l5xeB$16(Lx2uHkt~sn&AW%8EmU@QCZI!?V!E&a~?<uNUMpPj`YE z{OCQTsFwOlg*Ea?n}PYG&&VbZ#pICvKvhL3B<&Kis*tn}^x0NPfUXMx2yeh;qL{Hg zujwAHFC=+6U4CEG!AiueH!Ta2Yd-+p<6=996ooT$vNr_c6nIx8FP}Ml3R+eiJLqh) zAyNqJ?9JQM`My@LFfEMfIb)i($d5ylux%P63cC@uYZ-L5&1=Ckz5_%~mWZT&8cZUI z18dx8-rvI4b+!ENKubYFx>x~ZkJ~UX;^V(k!GOB?rO`ytVkekA428OR?|B#Po!m%o z>2;*9;RF-WjFab6mja(y5j0Xaif@CMsh;brKVGkpig0#S8YWNEKueW?f`kt#b_;FH zrKr)ur$?c<w1MV+y4Kh_-Kb44F&U|QL38dgQ%}j}!6)+pS^GCpP{;>U=J!XCzW$1F zfvYA+(1Nt0kWMMlK{UsDLO-%#cf^MQ?z6VlckuH<d|2#t84U5ddd{2X_~KG)DcJY; zX?P-?C<I!|Zx(wTfm2FD9|CPeq)=)=WL30_zHTYHNgit?d}T_b-s%xoCR`UsBq`zf zd?OuJ@m(y!Z4HA!ZP%tL5X|eXM8;2NzPsCc%o|YqleQj!Kb=)f5(Urnyg3+r9<w0n zJ(c0?CVqx!q1heCe=-(Xi?k_A%BO4^GXX(|%l*x&n}X&(y$(D?75>Lp`|r)p1p9Ja z;{-2mg^vz8`z2dPtvxPMFSxJF`~#Z~)jqpRvMbdobgh92f|~5t^*&E7e)F`5TVc*B z3rtEj)1lzar?2Jp$-?=#Y{JHuzDeXkE%8Tm&$0xvd?>Fn^rAX#to)24rtAHxM_;iE zjSVv$>V-V(7m-Ieop&>B5w$*+pbN|YvTi+tQ=G4Dy1WWa<hfBG;lo**@0B_eW`knt zb+Ei+O{_;RJfv~qgWLh&c{Fry*BeTF_gIm~4{mni=Yy!UBS390T>KDkM7@f>krp#V zy@91gUpbn;Von%JC1TD%7CiXamwoSJ(TLB89ZAVIW}28pKs*)~E_$}4nl~F;g6?pT zhE?O;k6ZCD&kQ88*bF!-U3=6D-hMASR4(9DxIJ0i2I$Y-wVxX(-%TB>AHA`Ab-VA6 zsIkeSxay|@_3iiirbz`$LXnYENcQ=f0LjC!g&vu=K}5-v#G|KwlyQ`jR_UZh7UP7n z75A3;4{aYu9V;hY2=Cdlc+N88tY6#B+$@^-d<r5SSFu*hWm=s4+|_9J4&gawkn1_R zzjPE}ztJ8B3Ea1pvPnA>bYGw|QQT^y8%z<)UjP*%0>64=EA0n9*c@72-*Kd0&Wjys zS(|^e4@K=SuFKC#We(}fG-9u`U$q9T4EtLo*gsjNH)#(I_;Dp8%XBUHeFQvgKMqHT zmrsf0k{-uW=H3Aw-QEY@6mIzOH0K0-l3E1>Y)8j_Q<uyjw-^Blf$ByP@AtGD#>{kq zqP#|vNd@6p!|hxT6OM@tMoh#1aPxN6QEQ~!^Db}u2999N<*cX4I$o$ufTeQg!rZwz zI&HN>9w-`R9S{2oNj#)b`9=r4@BYmqEPv0@Hrcbuyl#gC%$lG2vbAqSz!&kkM{TEp zd|-fv0`tRIx}%L5*VPD)f7-i7mgd-<3*4vEqXx+Xjy%Ige6;sQ^XWhC^(S13EEBvL z2}ByJ=NLXA?8-PsB~DTDGBeasDz3j1tshxvxYY#Ve}PZ>9ri{nxsRNS&~H2*iAPKo z2iANF^x_I=yJs=8>U23a>SO&ZVYC%I^O&<$%}afPi-p<oY7Xz%ue6j?A!*7>OlB<c zR3vPjqbWLbOk$TBY%p!V%Q!InRD;NqY*<jEd2R~#!<^Ip9bmhR+A&DcC*os_nrj+p z5$0v)Tx{zJ;_TzoZ$2%lJDy$41%=dzpq=K;1b&j7rG3`(XhJ>EqC>{u<UZTZCZErn z9>IMzUgPHlG4VY|ogNA1BuYTvh%&B2z3%AH{<UalQi?{>Im3A&hrVaUt6qf#mDXoh zIwI?Dps@6Y$Y-ZdBIDmyyZ73a(OxYCKO$3C!l#hPPinxxJYD{r-`yZNMchp^gm-9c zFtne<n&iB*68VS=(w|Lz)%*E}aZ_d?e!sB7z77$8wCr|&w&7M!{*H*}Zm8rODRgD> z%SaIq%t^;;6n>a(g+FXZ?D@vbu@yTg({j<iQa?o+WaB)(sccAICtg_uT*Vq71KhIa z7@HjI;!`_};4(!FsO?ynng)bVU&kLMt;|%GAsX9!Xgf^P(x$Ll;8@vOdR}O-@xqBU zmCz5%%t;&K-F!k09^QMz9q)5SnPDlHb1t(Se?);H8-8PId!0#rw{!Z*ictwsE44y) zx}pMnM_+1sWSs-NNU`)(+#tpoUTG<P!<0BxKj1?{uxk6%J;UKx%GHVV-B;6HWK1{+ zAv{B}0$6#T>Q;k;%l#KMjylVp0+2LMzlgK%^*(+@a@bwKI{;OAr5(0Z$T3~sk5Y<a zU~5=GM}2>m-RQ*Q_6QcdrQ`1qxw&WEHl-~uSFr)>sG~a7+8S7g+lU$=|Mliz!{iEc z9ZZW;g%xrw9Ws{6Twf$D3okC_vcxS(vi9T-(fEcn-}SXRE_?O+^Hi4IvbEVSpt_Qq ztsyGyW%<n2DCDs8r{jA<k;xg7%F0WJX)){I<^}?b#1*OW<e#3;(>Ocs&5Ibvn%=gm zlM5&ukuuR62%GaE9iP!st3Z#oAot6fDA_*5qA4PQSV1!F^*FnRK`UiWhMcxTo-fej zdWh!1L8s}Z^qp-X?+#*#qa*DO!wPw%OLCuSYz02PmOHecH)^I}w%o;NESKy|i^-*- z;P1nbbr%^W4H)0da-D*2AH21YH<deXLK+*Xz+uIHId<V<Zez+7M|rsfUwuJ~F~jQm zqmX>?adfv~u$asXdmY${(^ZC1Ihn`2AQHZ$8@1R&_h8I}l4!rm(J5VOKQ=1MjW395 zO}LCZHr9EUA`{O2+DGb$|6I32S-O`(Cw+$N20at(7+R=~RAj4|-Il?>R&jP0$bLOW zH>R-Y1MDEXqP;@*SBW)IRg|M(?m4`v>K2^MivV81u{~6^JN;gjZa9Y|m5NoL7^qOE zH@YG+yb#5pd|=%YD@%xOH|O=Jf!fM~<i};qMlQd!>-n2z)|>Qev!%f@-Y(y@&%O=s zKR%8;OW^cmbMlPyL9`m>o6|`r9&9#t&#m@I$mnFalB^X9TL%fwyz4w)hFKd1=nN=z zy;U%ZQ(g}aAgYB>WD#9!zw91+?3R7-UF7-}BkcwXWe4%vQ&3D~rRa2uitbnzZUn3y zT%CSD|8XF>6x#Fptj(zYmBx6WYM024I1Z5L3~X?{a3~Wk3?|tU1iNw$a*dJ4D=^1{ zHNa(%wP{bfFvdEb42LbrT!%rv@`IBvNi1Gi)&Ue(PXha)GB-t1=5=*^EmTGX)EW~; z^c)ZO9-au$eGL@80bV~jCtBK{Mpd@`pI$w{_kL?RZ|sq_{2anu220qSX#+<=z_$8U zCt1z3HrrE|PGp1g5*oeQCMPHFa;{eb=hUA|OBg%5t(HU1p`2@4aXjMNrn-sS$v^J^ zo&F0p1!kx^(C6djb^5LZqAl$v_)WrT?04T|PWpa(|G``NhDg+rlK2;=i)fsi)gU`6 zBiWiO7d5?SEw}U|?TmMTrAn3RC0{S|zQC*&vhzCma*wb(0Evv+u<13MZqS^~QQK-p zf_gA6TWjETAdt<+C~B27%cLfegq;~)>Msnhgq(^$itbAHWXtt3?X86@=Zq>FPZnC^ z6;^k3pZE%%ge=)a67Q*ob_|R(gC|=wPd}bpIoqGMU?5&Q2_5B1#sv8gUzRJKp|^qW z%akJQYhu52b(`~%#_aX3C%#F!gc;60s;H5^zp!&M`YsFKU;U8haQRCVS@dfky`Qp7 zQE4ZO=hmiFvs*;YQj;G9vRd?(V%2+<k1F+B350Fcy^{1wYhrW09_&fdzKh`z3B_$@ z7c8p1Npbu%17BdMd;_|8Z`F5=TcP_S$l7#zPt<gmp7L?uDpzS%V1#{7_xkyjDOQ+U z!1Rfj3F)92CqitaaE7hLTk-Ve%{yKe`Nl&-rJ*Sfo0quPfC~S{o7nc3en9TE0KF9X zQBo2mB+Y8t1(yx6s}=`yu^Vdu4|SNBhD&1OO@6(XwAG>FSNf?Q{DPQXgGQav0bEFy z*{JZP?bUsMv2*<cRDj3Z(u=Bl1xaMZnAhu(<<GYzM>wqJK2DYESNpd!^sPid24}Sy znzFo%y+b-Q3WwdX$47|Bpto!X>XLzDz7`DdZ#Qmv_2DP<)2?k*R)$%m=h6#{x6=54 z0H1C*-7Jz8dVA0J1*+vPLw=-l<1ws`TXFfxvYg#@m*F0VB>kd~jy7YHZc3rfk7kWY zx>LRAR(0aLglbF<`3EiM7rHQdJr4#3c|W@Fx6jnzbnRl#5Pz#CEL^Dej)>LHX&SV> zDSM882Z%^}NH9|R*jy0x8MDJ~k^0l?WF;f|W#)*5#FF8y;lLbO-gi3Q>*1(VB;d0d z$I4DcN&=$ea=&lVqRvsBh(+}%DHky-pv%OL!rM)a%g(?P4@Fu7p~NH}<1;DI(~^Uc z^q)b1r^ze$++RlvvD-yy>cE;=23HGo#T===#iBkUd;atfo(Ub!eK^-rC&bTM2gf<k zoB{pdP2N}mEteU$Njz@i^wF5L6L@8#kJgWiztfQTUVi5Wp_#$5Dq0DivWbgl%fCNR z0GG-5#@rh{e_=3Xv9ldx2jigh9-U0Aqunn;U7CQlHRQd-U7~^EE-bSrdWes%YxG_F z#z0T@^TT`<ze)Dh+^83LQYX@&>QnN=p~6Q_k{L(#gFWh}NzUA#eZ_n;YIf?mX3ozB zx2B~F8fD(oliUHSTExACoaEkr#MqBmD-3okBO60ZxJo6iu{9~K1vIoC(zP8c=`ZNJ z8CGbT{H%E9D0C$@s!lloy{M=yv&_M&QtbYLNXP^^v&!XtAhDq|a+B$7D#`~v1wb<; z5e+4DNfc)(01wj^H9y$TsbDoXiOKs&8->qtj!dQO!+NjuqQ50vE9BIjv6~iaIWw<9 zHf$gEsVUNimlzV6<Q2LY38E9ZzIdtFvl1^cj`m!oe+~o$ALqWh54*wfRq^bf=zFDM z$;RyGG0gr!YaPKh87?A<I*?tDyB_ipYIo0YQx&*3g6La?EF!b73z;E{W3L%35)%3g zD_`>I5kGxE#6S{gF=}8N{}dOnbXHJnIdBHM8@m;Mwq7A#oD0CaFl9cGDQBo{SC3Cz zpDb=zI*uU!JWy6=;3ddLFT+|Wk0t;y81#Z2e`@#MdzH&ahqS^aAo8E&nM48&ROfwY z7bArIn&)|+znQA>Je`WNc`Pf=bX?99=G1y$$XQdr8A%hud<T$d2yp=h4BN1II?CH_ z>6;|EJ)Uh<2^f8r=yW2otA_)CH~Rw{v=e#kyN4-6=yY}h)4$e|NiBq)wZ_ie0fHYG zZUteT9DU6!6Cep%7+sGzQdJ<YZ;N|*T}4(gAcJ81w99lVCDCRU-mc)262)H!KD#HA z;(JxUgx62e>3F}&D<A=576G)c6dfczuAof0X837(BXvWhk+!JS`Z0dBz=!OENJ2SD zx0U7d<IPxK=BunB(a9CA6Z=n;se`CI<9zXD!ocD2lg8Ca$D6fGtgs{qZNssZd4M16 zG+9^17Q>H>dvvTSp&4Vkg+DK6squxP5xm%zKhNo>IN+db@?_Oz(qOLI#|+{zw?wD3 zugfi@NfnhaYI?kFDC(@44og<$5bzQKvDRRvd>{m@Ucp4?{t)q%Q*lLZ4}&2&PnhE+ z4u>hWu*zhVV;<dlZTVVP%-hz<3%us%9?NNNeqA*^y@WoPaO<iX0;&gvKNZ_o!Z&&L zgoz2bWiP39Z)iwd?4c+OGYb^9j+wPQVmCCS{Q*zZ1-M1p+(2`48*O{~IppZgwvk%? z&l_nQ&v<#Jgg28BvCmfgK0bJ5Af&Um8fva4V9#*}P^)VQcX2^mf-`4M*K2^dUPk4a z!74Gtw+)h^^p&FWnG@*cDmE40VIl46M^hWRvMDZZg~&_T>2}_9SCJk;o2%;C29ujO z7uk=Lg1y?A*=^Kk(g&6a-Ne2LK(*w7SKLWcF+|U`ST~FbETWL*Z!a^B4CWe`$IbB6 z+`vq=uevU!h!BELm|eF)ZJ()N!9Y{xc?KK^%^1sMinD!+3x1Y~ozK-CrwDiZsb*6n zL)3a&wU<|3OFA)J`t_L8j{j#%;>{oLxO{*c@AW=XJ4-gDm0PkkS})&rF3jQ|WxPz# zV`s^8OQp|J_G*YI3&0xaM@_CyK5WX&%xrk^_OcdWX=2Bol$7!s645Oh9ppA0`&xj5 zbr^45GvZ#vg(@uAZvM2=f#Lnzuf4MRi^fj}>)^S~&78qFQfZAm`BsIUYcb2y>t)iG zn4T#T?gw1?VYsW4d1(vbv|~lo{Y$>;LzuX()&`3140K6U>Fl2{pD+n=8&8q5O*qVG zfq5S-SN9ZsnNvb1r!9HA3!5CT1z0Rt-10zRa8tr6cna=SS+;w2h}@Oxl9#lan;;Z9 zQue)RZYR$y_Te3X-_|v{M1^^PT!cwV8-B<%!}R1$<eUDJLcg4(ojo4jY=J6hD|?Co zw8-k{2O-c-$uAXgrXM{ExSAOB;pJh{jq~q1+*ECDe&5P9lg{@dh*;adRXqgDA;@n5 zT4q{AP9VDNKqr?ar(f*h`6!H%=2&?r?`jWyMI%nsa+K+s19bowBUKU))>Jawf}H9a zl(wYmbO8MVg@x*=V0~nK*gj6}sGTu=s@aY(J#Py0((09#j;BGQOS9x5^a+u4zGMn) zL0elKr?}*d*bX2%;_DW`k<-Aru)Z3*+j^xHse*egQ#en=%F2k)c4GP9hcPd^6zFli zd;R>dwI>H6*wP%yKR3O7QZeqWi`6f$9e=j!KN%EJ<3l=i(c;t8y8m%?cXSZi*(}T5 zmSjE#>dgM>7avp>(5lj`X;{5dbkj7pS={+;*;oU=C(|gZkt0*fPxq5u7I`gqkWzJZ z%JZ?@D;jIDy_~m-QW0vdlI-8&d`ZN}N<X#2tHZw`8|zt`l5Z7ff~r*aN@YT7h2tsX zr-dK-=^y;@{2bjfIu<KsjSH=>Z`9yYLseiQDC&DS8oS$}AkCTC_({c^p|lta<K9b~ zMXM1oZ~ka&WKa!7n58s9y{9Qu>isdQ6nb>S8FCYG%MM-&ilS1U1Ft=Enw*}>K%?ok z#@#^^PJE1vs;e<*uCDwsymKhD=Epj^>CMtzW#LK?cy<RUFPpaY(&!u+O@N9I2m0}b zXFZ!h+N{g${<s3!$=vhjl}<01e*&{otyU^Tyyd%U8<GzagvuPMRhJtN`}qicJ{C70 z>g54z^fp$Ed8^>uQ@`v=+2;^k5sM{d*E$8w@F~6<Ei&?X8`1%^pS#9gxdOjic!>HC zQy;Oe(PTv~(C9eX;oDRs#?s{f6+Syrur>a|z<A3)hN>!8cV^H;YjNmerR(+ytVN|5 z1ni1t>g!5oE7L#d3HFf8J|_7RGDvsZ*|cV-<wzGP7cOqjd91q4<~a(J2@9&L2oJ>d zW?Ym%xXDk-|17uu((R~mYfn+bZlUlFfJJ}a@4+dW3Ao>Lk1b|Jydt{zo1VX_&oT#S zAa8yenKgSJ@o+^UDfb>HFSCEy$|A-5wPkbTgtGx}T_{V$S+5wzl<q*iM5(;H7F7ES zDq(oABXU763^?riF0MUnG(MHj&l~HPmK#2DSaD?>h<9f=gw`S{c8C~zuawS%fNQRo zIzFh+qSgEqI%kg#>{A4?D}sFNf-K-!53a?37G=jEj6@R!M`_UFK|7N0HPdUdZLO+_ zHcVNm=akHr>*MQW=RJxzH<e*2YVLtq>B<*Qk3C*^$t0i2@FPAduM1yIpYP-s<3A8T z+g9blX#)#k?H3(~?5D-gtd;SQ|G{Fc_uyOQLy)mPl7@L)!!UOT{7zaRZoy!o^twB- zO(yisYJmNI1^tHlwc@!W?KQ?wQ!w9(Gj{`F?O|#ZErF^;`jcjnfFA6?nGnNyqigT; z=%0;3_kF=h$(+HKu|RC_Q2POCw`-bJiOClKA7fnRig;t9@;Jr9$eI$!_h|Xj$|JD| z|Au1CX;a9F>9<RGSm1+mLNP~?+M6-|W5u}-A&<pJT*q3PUrg2*``6TqidyT4TeKXT za;rt#P83IE9kTGW5}$cg3Nbwk!{a>@TCp$x{4MC-Ij>gu>*j{&QPrU!smWL8a&~Sn z8}xyMZmOQ2RSoRMBG&eNvb1t_j9{z#(`mk5o%h`wKBg*HaIK5cYi^qs2B8Pidh@LR zOe@GEN1(0_q3f+U7t`K^`qz`JEKa0+8T;g0y(4CWHuyeq`|7*>AHIgyOy_}h_79tk zbIHXqqrT7;F0^uXG!dr$q^3>AU+qy-u8=d$G_RbB`U9A$->7g_d3JJeV%z2|s}S&G zLN#z)B3?~!n7@2p@4AcXxKX0otF1Y0Myp<T;3-R<6c$cA*i2(Ie_^(MUp*1pSX|8r z-shU_5Gcif1{pZ?F-Fzx2pmAVMbf8qCwH<}N7MwsMj=@})lMr={$$OVf)ryF9UBUN zYpyOQ&ZrE}OL&@nHEmhKS-Zi>!N87&?}j%~`14QJ77Y=|tm!)O`!}a<g4e@-wX|O} zPo$dqC4L0?q+Z!IMt17pts`uYGmZk2E~17TV@+z2bAqT_xqbDm(-&tXL4Ey~kMnjl zT(b;p-LB)6*jU@%Ui@HIN?d&zFL-h~%m;lc^&K-^OS2A|dzg)@?t;6eDkZXaBk^5s zE)HEMUwj^3;fuE+<ixz5aaM}<k(aIP`P=+CZAsbQWm}8qF%9A?3wb$LkUg+(bjag9 z2u#!P^?mh|=&_79i&>L}A<HbeH2ajJ6`P<jj{wEpB+-2mdRm3i4{YK~A^L6HlR@=D zIN{V>E9F7TE;$??Ol(!=#qUGyAnLv~n&+T{AYGW#H6rT5KH1`=Jg67`1-!h;{Yf%; z%E4U1(xW`zbavSa>y*5ZpvaF#$ch_r!frq^XZZ#iRObF=r|;`VAd(}>eYl~!ZM@ml z|G-XtP0~WFV_mv75)P@7MB^Y5>+uohV|IJ=0V*#yXX$Odo{as5+^`KS{%MD<`9t~e zT#RIzPlt)jXe*)WWmvmFHDv0;Vw!J>2#DEYynaPTdC|BZ&Xrw!xn8CNNm*KjwofJm z`GAdkDm6SmWckLZHcOlU<s}z21^9;RWxUrzl!$ObPK3~iqZh@P7IK~0#X7j5cIi#W zXbQ%DV@WBns|cosw8p#fTL}rMs&Xdh8u>bM&Wkb0yCfX~Eu2i7>&){w64<jqyFiu_ z^U_R4FR*1kn)w|4q?h&*R)S9xJ5uTQ%GYIcZlYNiou}c|wm5~LrpBJTWPc$-&uF6N zVq4s9R>HPCQw6V(%#-*$Eu~s=qfEWl4&S0(c*o?PXUw6WbxTIC0jY`NMh4v+M1u78 z2zK-3CY8sk^<3(EvlG85|1+Pj(n&qul~S4JRt&3cZm5muYPC)`O!rE0H<8I<oOtF; z%BJTiF+xq8a}@R8tgYu9f0;7p+$L8p>J2V+tIMjc)lD}~y^QoB^!~vqG4eDk=fwYv z;zcJVnvL`Euyy`vspoSC0IdLr^@&W1^bgcc&Ruc5BsS)Z(`!3PzuELIE?IL4S3PC< zhife`6-RCVb(+bINX;1G&UoeZh~YtX(X;d>c|_gVTX76zh25A{vyuXaWlU`z>mEc~ z7l^MM;j?Uwx`7DS<#psG7ND<KH)fw(P5F3bFWDI9zb>{qLH!Y_R|u$dPA@dj@Uq-P zifT~z{Yb~se<xH&K1OaKD2T4gS(Vl>xba8CGx9kcoK|uXT@%wGy;#kKoVsbA8~Frz z(&xC=bB6GfVaJ<~2Eq85U62S}vn{J`3!&LrFM0!nhrTnn?tTV4GGAP;h_f<oJ0;Q% z`xdNev^rClcLpd;X4y_1)eO|J>-Un1(gD36)lBQH|6-UPPCX)tqX9;p^Ab8nrWm#k zP$kC#JFhE_-t+?HrQy#k>s3elHl$l2`u#U+GF|zi@AREs?2EIB58KVzuGs3tk$kH} z#QSc4>2oh58Jjmw?OEvoZEMbL){UWiVT8ahf3Ue(I?Zm@vD28XVxr0ssx7X^wJ|$@ zuZ(WPAfS^998xR+O?>~gY8{7GT-dt*GgiT-rM3Xgiqy(NEn?4d@@8n*U|;RAj>sdn zebkkvy2vNkFTK~(oODUR3TFa8q1eef0-=DHHmzFmVu)u5)m3-OQDKa_dLcw}=*y0{ zVvNaxAC9@A!HNk?n8%<&V?|3Ze(t>Yi_*(oh<e8a)v8LCX|2k2;j;bWsQSiq_cSY5 z@o0Z@g3iDOH#;THxUk&~=*g%^w1x9yb7^z$lX8QjeNao?i;o>ndgIOwNGs~}Of*U+ zX8t`@tFp-?nsE?Q$>T?+cK~B6b~}BH`*cS`7fzq`kTjE4t4#u68f$rT946pR2_VU_ zroo!W1&!7(E#{Gwr0?jlle1dQMAMrx*39g0uihK+tn?K-o&+!~IM0ZbBtYk%_`S*U zE3$<X9(GayRy>~Ce5tR~rV%})ddhFAW?vzEMF_O*eKAg%!NyD&P%_@Ow5UF5F#JV> z`f5(s!-7kxpZzDeV!T#z8zJY#8*MPTTE#Hp&6;DMDLn&s>Ky6X6DyeSx7%AK^0C5v zKU9eG<x-2-m}TcP)BEFX`Kf`K<kC}44_V6l(0PtWwf2!_?E_rB+1-p*jiCW6W%%;J zAYtlKNhxTxa(L`e#BuZJ4E|3#D0=&Qp<5zJy)V}=;<TBEoLZCo4)2)jedFY><ovl> z+f}?<G_w_@-r*9!)w`KUzhlLPBuwd+>d)JihfZPZQ0i#L$!^GQDCTP`3m4^Wb@W`B z7Cp;jy_rlmjBRY4u++LA-MHjCQ43XCVJ_E;SQqkY{c1A6FtXq`q1y^$b;%Ja-hT>= z<dr)0EXVXQm&h_0tZ&Kco3BUg%W}_wkkp&`9gkkf2x_gj!iJl%Fps0YYo9)@kJNG} zP#m#eHk~;;jkp7Zf`68l3E(GDg?2Hk4Sf9=7u&egTYN$``#Sqj?4!oULY{UOGfgZ) za(TULyVXmhA$8T7XE+%A2ne2R<C<`G5^g@l>*}Gty%fGO(SIiNs++~0={RGNn4{L9 zZD(<OSLdEv7nX^BY|+_Cxv0^Ep=QHO;hB;*T^n*^%xJ<0`a`Pad8U*^u<sy*x`ML8 z^#<C8?LB__?mWN1TlZO1>t3!1b4IX5ZM}(g)5p_4Oaex5G<Bo8<nD(Rzc1RQa&^q` zRwn6MW*>{~X0y1|yZID|;cd92`;`}a!<Y6;@ZhuNwCRGc$2=@hUID|@SRdwB_4IwZ z9U{88euwX#y*HaNWx5{&;tj67kftV<GGcq5-m*GtvsKHk5M`#!@go96cL%t7vFYgi z>3Q_m@KyW`zbM_6r||NV$n@05NfU$48bsGMCNFMeH%%5mS3^LRGHR*M{&OtYL8iC& z4oz}bz*rk;<&!<Rd4@(AmxCmYqiw2grgXQWw(V%rq;_qLFrz2cp>3m-GD6iKjudhm zS=$K3d~}A$sp#!IO?^%vCB;9DeH<Sh3tki-ws+mPU!nLWbcmfJXk@Y_%^J55wQjwn z%y5F&@Pc!dm*y2Jmy0A6-YU=ouJCS5dEdI!=bygZ@yC|d=w{KjLnPSHx-LaV^MaC3 zcPGU@UA<{)z5{qDmicHSiXr}Y07(+G6=3Pc!BMoSk3&u4vDioD#6+u>q#06h6-7Oh zr_yj>oIlSw=%;f`5J1>oRbc+*p-iamu3%TI(@y%WVMV}(xAa7R8a(rn!e`I72`M@7 zWQ}OhK)Nm@I$>vYv`kqQtk{w~Y2LByRw(_cGF>wRs+VQ3UjX}*S7*1LrJE+;n!GvX zYj+k`Jj+!6GbH3vSKMVxGG0xE&R#FSUB^sh%|e5i(QqkVJ|O)HM+`h8_pPw_c<~M( zTOlKM2lx=kc1>{NHhbe6dIw0QhuL(uk}t1l)u*wAPrRJjTHTwORdIMhRA_Mi?iMf4 zOs4ud?H?7)KC|EbS7cV<%hPPvF?{nkpJa50({G2mOq~>h_@xa?X@?hracMyn^P@d< zD@x3k36rk{1hdM}tdUgwTR!_wN7bLQ6>kO+BD1PYgsUs@`G#zM^s1jn+!)+sNNF|o zq==-tbce7K+as#CM578P>;jw=bq-%_)!6iA)%3pE6UtORnqt7mEQ4SW_se}_gtkP{ z`00LY))NtD6W+8E1{M%fc-f?9Xs&hFH9@m}7BrA|Nnfw$puV8P&C7{Uw<KyaL3-QY z<~3qPR))&x<zR5xLOY1zhuYbg=_NR~(!8BVr=zqb%4K5SLAT_d1(#aKQnp@kdxZo5 zTG=fk;Y+Waz+nm9ⅈz7+UOWaonn}M?klSY|QYr4DF92VXS)hN_$L>ZMKXg!=j&a z@y9#QunaoAGy6&ZuJSxZ_r5EFnK+@@rDtUW*s7{?_~D@Ko!jK(TTt!$5$_YmHVJ`D z(6mEx;rRTM#o~4BLombH3N*>uumcKaD|1@DH5(34@w|+jCHI~sXjxyVYEe1F*YSIH z#K)Bhz>raX42FWdSaW^bdNUXN^$vN=J>GID1$qL(ZMMQP)Uglj>iSaXO!npAFx_IL zQU|--LKW<I-beW`t7-Q8Ni?-~{0uUY|AWYzjI;967l$}A+#(GoIHm^29Hk@c0m7C( zr=`Uu`eIL;`}^23f}j&CY4tOUp3+W`bGS9JAKaoS9d;=5(60VNFr}i2{X~$Bv8H9p z@a^}Cz@|1lN4h^&Z@(ngi?`3RX;IwLebHg56s4bR7sscGx8D|XG~|9)DvcjbdrW=@ zXbKr}_J=(mYTWLx@V?kL{_1qS`IK_~I2)%zb8#V`vv*;A@-^Yd{{CSVs*HrF52$+= ztQv(y(qVa$N;0Ak(I_P)S1-rw*(pbX8@_ug3#*%~6mZx$TudAYMz4MX;h&9i-&g0d zYMgTe+X2q@!`kj2#1!WC^Avq@7G+>RDLpf-uJ72MPF=P&U-0F0;T$Q8>iSX2YjaTj zJ&csdBr)LAS@Xy7+rc{kA%a1!$XEfKYjb&M6cl-j?k)3mMsfjMp&E7l-lzY%)IcA~ zn6EUJ_%NT%f@<1??tzEaoR;=<r~Kiz$@dmYU`%qQDr1gz2GIg$@3yJrxq5l6csWnG zaa2{KHCs7oU3kyz0Jfo!Z+hV)TJhnhIls0mNuerAFsIyiM_P*nwhz$SA95Vzd$OBp z1Agh6!Vkh6*8dj(_&^80pXXKxjJ9xorm#BVJUS3ZIjbtnW5-e6rdyOElB#}epF`A8 zBmnnQ-_oQAq*7ZuxTdoSI`VVQJJVXQBLT}{K@HxX19^vW#&{?EYW;T=^|2!kzc9!( z303ZJY98YukSaDwB-BMCV0VlhaaK!RM=^~?4t}(qS0tZPK_oA<WaM?I7C6IlNo@ZB zo@w8>4l$_73~E0qcKpPGbImmRGGyJ)|J43DyY=f<P~-Ejlv|(IRNl8^ZadWj#T`tm zd`5M_CAysY)X>R+>Q8#n?WyO+R;tY?hF6nQsoS2tYdfB#G)eU|F3gQ07dav|$EGn% zvqLrPU;&cg4AOhEee~+suB;?rdV+IPDySWKsC%6>*H^h|Ulno{1m>bze9uCTttZgh zw#XyDHR_%cl&#`q<C^mG4|<G~-pAhXtei3QTY4!iPufq}4UO-^O-3+I=x#{|KDadx zk6@8CiFf_&+>zeDB&z=a+p4cK_exLx6>E1qAIGZSXJL-9;2-N>TYLh0C_WhIuP;@J zw;%W!uDL(m{Lg~%m;OoIC;fc=4}H4v&xY-GqRbi3TpZ$?YvV5s!y^`y7Gu(}sZn>- z{$2Jndh}!4#u_d5SIk`W6=KW9o*uD}X5}nT%+=27MfDV^O>`|w;;jzg21Zgpi0AaH z_WnB3g9K8n*~bQ>p6_!v2{d%py0xmw=6t8W80u@Z(>!HtWGbO}>U-6~cXu+W2Wy?Z zmyE4qKopFV>s=+5y0_Wn5`Fmm>#a$5)Zm<5^)#o~l`x0^Z(~-Ld4nvh0}wdPHtzM@ z%_n_GCDw0cAO*%xCao>a>}p$XN$W|wdX!nVdx`fJ81<&zO{lg)1CLsQTGV`Y_vo96 zB$`hy`bkw-oD<Kr0luPYaa~6N5jj#%C)&KqNVPkICizPMO=nTr7YOQb+JsuNvD)lc zJXX|ET&1D{STG!s?_9EXXIDX%mX}84?sg#ZL96!~E%c`m$+R9=W|j511hzJJ{zHIE zVEm`~)HgP|fE&x>90j4a_X7Lb-Tjt45@aLqdR04L4&O_D36PQoN&a+zmr&8JUn(4& z6T206Ptji9#Ft`NpVEOhZ&8zJ@_nHO_avWQ1#Qh5z_@21p13^FPOPt|>FseWjLgRX z<0tj1_ZD|9{JRm`pX)%HyVrAKT?Sb#quU|ec_Ooihb{%+8_OQ&wO2C&`S9G55+suV zXN=X&H$mH{yn)W$*vUMfr7mal6WGs}Ns{vE5HnzryYR0;web1K0kOw=L_LjdBg5?T zNX+MIbu{bSU$r4pPhKl%yO~Q}NhZ^t3w6oHMNzfV;};ohmg*|gu&sSe%}&|}+!*dT z{Hm0e_LlY|ETFOLQswuSlV=}wZ3Aiu+0Q?nI^#u({g|@?r}#nbP~TQkUwJ*gg=K4} z5Ew_6#_ss_6$JVwiyZMYfWRJ3c{H1QlJ429_FW$1B(mU+6WW^|k)_yMG@Fz&o+*W| zsgl-Km{xb+xb)9zxqo|Yjf*0Kj&NuZO2BEh=<daGPg6?q*xrQNSCfK&od9f2rs=!D z+zVqJd)9uNq1&68r5yhNDtFf6mc_{IbokSAY{@+1(zNvrPQWyAhXi9CXuh{6UCMFm zT7H|njC9U>)$2`G4Mc9}IVP<;`iSUGtD@v70hsUy*1Z1!#h(~{8~i!8o9+6Iyb}SR zAU5f~n-?eZtA#n$mn;?85|WOr_+#P^?d7FgGmRp~GqmJg-JRI~0BA&~`M2R;8u-ul z)A6r~ON-5R<~SG}#RCWvXzHO;87H95Yv?eUQ*Ajb$m6MrPpR_;tNTRS+}w}fe9}G{ z*@@aSjFNdh3H$|cJ}>>J>~!x3-P}PplX7BTFQ4^6^1%C*Ko9%P?O#QN%4*82BI9V^ zQ_RI<;ZBs~o#kWmZvOzq-x>UH^4{54w9rcB&mL^9zOrW|XWJF~PyYY}ll{4TbEbIm zFNQuU`&^dVpk&b^y3d(mc!*>WM$hwonso#!AG+XUgI>;kfWg<xYQmdeSfshU^gKML z7mSWN5~~;NDmz^MizL)iavDhR6|;}6SCaW|<th-MugFinE=_p^5C9{~6N69<MIt+j z9Fs$RSQOh<dz^x&lh%uiud~|^-R^Alpoh5>I)Pl4gs~u+m33&%yB{cw6TzURc6evU zpN}?w2|OV+)S(vgSeRMHdgmYO7<wuE&3`T*w1>v+OUB+JyOw$0R+2)~I~?SmasD;- zd@X`?D!TGobUduv5$ve7eOdX%;{N~=ORHYAQL!bP2Ogf3npTzebO3Vg_mB5~`sTk< zU%H}~Q}f2&BNE%%=1+<BR1Nl6PCy^LVe9GsHOB_R<nx;9qZ>gtyVaan%9pOv+Bzcc zn_+dR-XsvC%QVgvBT>1TiNH`gl24_7Ucc~7@7V?q*=ON;>YAOX{{V!)#E>kSle+xY zcE{$9#SdaW^rUreJ6Fc>zCF;()*3F;uJ!as(eR!R+T!PllJ{vXJx^u*w%zp~fs;1O zHNLNHAb(B8qd50F@n4E|F!^5@JS`~BGZ&fI?(=!Cjme$x)A^rgj8~Fp*?+dXM`-sd zyrGw$ZQbkecg2u@XX;ZU96sV1JpmnS>9~1+v&lW%x%2s>e9?Um>i70X@h#@N`!M(} z=w*-gGQ`c)pD38e<OP0C{{X>eekSVCuZ6rg9ixI@Hu7}O4$Fm1fO}^=*MpMLjZP&| ze`Zbn$ETasaLHvQyNXBVSM0~H>3a2!wc$J26(`iATfGsO;2Y>ZZznyBiZ+jW`pe*V z!K+V-pAsx|*^iL~%<p>VtZ~E%k$sqB9M{<9?xq^0SwnWO6X&v}3{4tQmiM#rJ{SG1 z{Bz;`f8u@aouNW)^gSNo?X4F%G8ApCGoIy-O8F_+5^?LzeKuK6RPZ#FM|zyMlk+}P zGpMTLs>(kKm6xII{u20a;sN1g*JObGf?3QdC^^J~oG|J#IvV;n_H6i(ckpB5K9j2k z-Dxa_*HVY7%WFT$BDn92<b5lHFsU3wD$`w>`JRpnoT$1}dOaEUZ-qZ(Uxi;5zB2g7 zPP>e&*vywUj+}<KpOqNTY}cVn{{RH#_%~rRfTOkn!T0y(z9PR6<~T~L4+(p*O2^pJ z$uj&*eYHqla&GMWi}=Oxi^JX!_>*;|T9+^(%DL~!2dC1VW&1Ge`mLf*Z4*e1&qL4S zUwsV9H1ITW7>|mg-^}=@lvKoK74X<qr8lRc<o^H=`~iF5OM?Z(Z4{ls&*_@?PuM{i z{?dLN@0*6t{qkxv3em5W*Q*D0C^lz@qdY!mN|j9~8KlqZr{hh&y<>l+O93&h!HrC+ z=%6VBB<=*}z8(Jnf~eaVKV|E7f4s>Xmd@;w<DA#yxi9>UaK3dB`i^P;03z&9_!<1V z7gjxc(t&~fYxi^UcXrN)!+sL+AB=DQ%cfaeUd};gjwLO%M^<yuSJa*>y_4Y_mNvxS z>v}DW<E^B!H<&$+7ax{uo~|Y|<?PaPsnsrrp+^T&tUaunr%z<xQ;yZV6RPQP8IZ$w zZVo=tZo)+W01^1tC%0xta%*T*RTcJqj%u`>IW+b2T}dr&X0^FVS38k`2i#ZPUjsaF z+HSjLbc{ku!+$+9)Ee`%SbItj(#Nfn)#b0t-&5-E+K0m_uXt+HSBVR(Nr?wvk%v6j z=NG}B16lZo<2A0IGM9;_ETI1Ycc>=3Y_kyQ<+ZtAzX-F|$52(V)D)MwDJ0LOe`=os zXdVRdt-ZC3UQ)b2yvI2p3i+5W54o+f+SM!Isnw|ODJ@yHV@4D)l_^qIjCMmR^k-qn zHQO!DIPQLre!=tG$KrL9tbm?=q*v{(tKtnF${{7pD={m;;}!Uq7~SV{@<;4kHU9u2 zdQZ9F9y|ECs$WLd_EE=c4l%h0%txkc=h<bM+`Np;$C7Ky!%|R(o80zf+m+iED~AD& zd+}EzxX9#^-nG1tEA%EunRgtV6W+PqLfT7^Rhx!9AFU|eO66MW%;7bgo2y$FwU-B+ zEBcTB097(w9>w&C#6bD+;g!cwM{L)osyM+*?7h!Er8QD+FXD=|&q?sV+djmmO!=f> zpIYkgP>9O6Qaaa{Qqr4iYn`<2l23l8C4Qx1=dX6{To$b_lBbYK&2{0{w<>Q#!2Dly zOE-L<{{UTjFTgfcw!A&dV2?`r3g7Mw@+Yn(H@U@r)^ioo>_$ljLtg}$GEaK?z90Vp zk##=zXXo5T-}aRK5T-yu&VIFB!1W{Ey|d>@6oJlidsM-(*BLYvrQ8DdJ!x<;K~DE4 zP`z_fXXegxKn_;N;%WFe>p%;^2R&#RbA#)QiU6F)<@6`(Oc`U>l6f_l7aO7P>s5jB z&f<E|Q|QjuOV=j0wF;!;uUg%Q#Pch1%n#PN=LFsDsk~=pV@lt}*9n8Yun(<#>H9-? z#`gXTXg9Z)oR#<WHMRzXUMdo{sK+qGN;o=^zWN_Icy{vXFH>tA?&sWkSF_w(TUjV{ z1q8!((dv5FyNJ>HpE-wZ-u(r&c6IBLO?5CSWdk2k?_3i-8czC}*2C10bIo4+%)_TV z_pWB$(b}~_s<B>A)rVYFf+GvT`MrC8`sqpCjXQ{g%+7I=d(&NT$0xl=$ja>*&g}Q4 zRma^QjZ$_2U0p^A<kE8I2OnA_?(Rd}j!=2r21i0F1t$cK{b)-5qvqF98CyBdNj%cz z75V*o)eXD)jVO!{&60Xj0fI(zK?4}^$=q|us95#j<d4dLeq>~X9)$isT0p?$XE{9P zn$_w{O|$>i{yI7yYRqeo!oE{m`JdO6(zy(|arpC8*oC3Ktj4zYGcIwvIqTM+4g#9j zq2_<f=FM1}cU<DF0gA=Dd7iaBQtEVC-HY1`cJkR4TU2qL`5E2xJ!%gPp_5#-TxWH{ zkIc~B&Ze50(5rS&+U3t*Fz55BV^#kE8i%>HEncJRLfJD>EssKiyv^HOj;6f_!;S^Q zoc9^8Ga0NTea{a*TvaQ*Zhpsp#8>9x!&<Z-F)@h{eMUcAS84GoFuImWJBS;HZ+iTT z60Mlk?Q{34O4+pS_M)HQeDC8pRjkSCaB_XIUj6Xb#eN^~@4%Z&iQjd~!y?3hjF}6z zKQ6V~81up_t<Qw<kvVYo751z8GlcL4p>e5OOEiqk&nd}0vtF4syX`D7yRfe}6{Tq< z(Vxw+k1SDU)to>{`@rJ0VvQtUn4IGz=D6i9qbW-!11hs%9CfOYtk&)%6FB+4=svVv zlH!}awKv;a){Kg)Jc%0~N#}~Tn$E7bCvD7t`sS@k{LE!dJ<+ocyRE|8zSALWdhjcA zO7X708<jV5dY*Xv=yfODpJ7Sw9Zt5-$J*?qnC@g}4T9OuE3wmlAo#jSjxLy-;OEo5 zA6TlkW)BNSPvJM>_>HeAUDAR_T;SH%{48%1%AX{P7rjT;s;7J0iD0QUq8n-POU0@3 zg$>W%?~2lk;`fN+lnEjX0p#b3Ya2egvnQ9vPe)^`UyYiL$O>Xnj^morUyD~!sedI& z#{!S9%IfhY<;$eCGB189++N55AZPD-)<x%yo*2mlFmFmv8_xAs52!fn&30v<h<5ux zWX2E7f2~>n0ELTdE<Q{zbI0dP>oDt}{;5*hG|Ow_?IBxokY1`s<HJ4MF=Y{+^nGTM z-I4W5uUl$tA06652~;QMIckz$5k+%h_lEM>Bift9Q`6oh;j3S3mLTyfk1sBvLBo62 ztN5K_+|fvz&rWKiRuAnW9SW)I7DJ?JlFuudBpD}xp1G@fwcChB*_317)~}s6xs;(R z>a`?^WP4=&@^3tr{{RY!EZMICmg9G*&+@8osVz0S)Rt(j5I)HdJ;AHmP?2n1<YLD> zRNb}>b?RqJb*q{8Zy`%zK=iKCC@u=A5`Ob%QhU>G-lQ2&&vW*<B58L8A2IbcM($lk z8&U+ALDSxtn!l-f*)N1Kw(?zvQQEp~D$8Ax>zSCZfBwA!mdAAkz3f&pW^8)<{c4?^ zl%fsZVPa1w(zc1t?%9>BO?@TGe(;bu0<tfgS1f$FN}OShIWet{cET&rWiKIeI-h#S zy|tZ}b32{Q(?80ieN9a`w8oKFaVl{|j+Jn;Io!cO?s%z};ss4+3B|s5oR;8HTj>{f zTQ^8XM^j4u#NEA1*4`Zpcu$zjaoeRO<%|&m(lb6!Oz~Dt-S5<?HJeWiY6jKqS<B&d z7oA+TGERHYBEooKt`XUoh285~_MRAPdu4L_LFXj%kMW=iBTC<VKYBpVEKh2eQAG0E zG`YvHJd;5UyOnLUgtxK`^S0)0d8lTxvX1!}NLUP#dlOA7jp?^i?2~AK5ODG_;AWN$ zOHZ@3AU+tAp5yVWx86zl`TI<M**ZsrXMG>Tw^6m&J1_M#IT117#cq0U{`2<eIj_hs z9Q=KIyO|H#9m_~euFsZoNXxN3P7Z7Aa(u3Gij$7A)t**26&POcW93g0{B6FtLJXvq z`{W)E-Q)TGb>o`H#N9&fHU>rveGk*G<=VdI4S<C>rzNTLc#Lf2CZg<cllaE{n{!CV zXgD67Ym(J<$u$UANW`hZ#(NGhe-10trv#;Sq2t%7DXU4`{RaJ-z9rlEUqXr`bc@a$ zI0JTb!ndgU*Vg_P__d-#@pHra?ysj?%{GUu!+B+W5{Tv|CeGGj&@jj&kzXB|P^mmc zX+gNkS4jHI1fd!fZnUxe9e7jXABDVi;ma*gOqFM~yo@?9!64)2NAzVp5nD@r2cNj9 z>A<heszy+oguW=dGwBn$y6PmC(9YNay7e_}wL2w~V**YpADG5{vrDrM<Pyf3m-dq< zn85oFN(A;JI;;}0+MdMqu4~2KKF~Z3;j5iS`)WgO3CTRWc186jt}t_`qPK3rwygeZ zzigk{cUJg=;v1QypYM{e#HZzr2LLGa1NG*=9K3tt>1Ah(J2Sp_oae8te#67qB}WfU zTg{&lpW>f1quWE2(Dbh=5j23AB>w<b4`Kb|S~~8mx<#OlGnu6v9^ij?*U-P-)lges zQ|IY^>km4z_?po3bO(~hEKXSannc=PIXw2R^T>CUuJ=EEf8dc{v1PxAHB|VY;%fsg zo2E`jhb?7amg?|zy20xlKf~((0PffHX?Li#+vFw(uk;o8mlormGd7%4yeRvzKUT;v ziwl=iy0uD+nn%rlwOU1c@DE;7874NilXs@ugyz2sTp;+3;id$aEQDn7pEtEUmA68E zSNx8wZM3=dx9z8Dh3^O~$TqPV=Qz$sr_#R)z9Puq@RMIZBzc(w*w@x@`@J`P&z#Mj zt?GYEU+_)e6`fP|M$lp^Wcw}E%ps4a{rLPhSLfIK7K_2x+Kj##*JF*mn?;h^>3}3C zlLZ-$Fa}04PkQmP$tpZoccOD>^m7VszYn`^pr!X8fi`-r?vbfQb#E&}JQ9f^l};I5 zPC*CM8vP~xpFe8rJu}8u+T`&c?I_fysb;OQZo@9uxQDQigO^_YYxEr71@*i$<^Cd8 z`5z0EWB#j%wEh<F^Ev+jkG}wi#qS+k>R%6RqPe%#;%A!OWmLt&<=8lK0y!LGI3#h_ zzFzn}@HY3x9}#V|{a~97J{gN@Q#VwNKJw?LPfEiFn5tQGg-8C^N;Ye|I&oQK>t<1@ z1ir0WS5jLfecaM`S-d0SJtD{t?9pWA(42LNvmBrAdYbv0!@d-|)TW9;j1Wi;{{W{s z&3U+blTfJYKYC8=^=m>hoD>$3(Oa?lrTZJ}dak|kd&N4;B(=O+eZ8y54ndJ{G5J^A zUMbeE;euxg^BB%CUlW_J_V&DzXVhid;Z&bi+CQFuj#pD&{ARp)2GUyt>CIqx{{Z8^ zh`b@E+eM^Zg=JtJPdo(x@%69L=wTs>%kY%yE5R*KgPuC312D!_r7l{n*?s4a{7CWM zv*Z0b8_V`qoD32@#d`1TCfNO>yf%3x+_yjQ6IYF;8aYjRQC{p~(m83@o+mV;TBpY; zCfWT^{AraQdpM-Hl_4>PAz4?Fqvv*RLdVyR{cGYs_$o8SFYLJj2lD_(z&Qt_uc!2{ z$g*qy0BYf%PIP{mnY-oKp8SmdUZb=xFjQ7{b^%pJSd-B}>Pa>B$HK4J_gdAh(^T<f z&!cJEe8kiE7t^m_m>wZh>e+8WU$SOdj4(7D-nC_<5&3>qmd_uET`5CZNcwN%RsMnS z<HJ_o1Ms|dx&uvZ9p8yB;UB$@*_V89Nh$e^jJPaG>z+8TkhI^2J|NeSTxgn3oduky zHrINV=`SyF{{Ssg70U!;_gT92uO|an*<roDCQV9jnoq0pJ-lrfTEDTO6x1||=@s1e zEerNr@h^$2R^s+;CqlW{b8&2wCid*o!g8n3fsdwZlkqR?N#o~(&(k$c15%u4&Vngg zB7F)86bzo=p0zZ%f`n`GN-x>%&P`l`wMty-X;inv=6tE+kA(jK5q=&`jbli?u?K{i z*D$yHlCDta*w;bu(_3gz!bt`P-oHYBp|5VOYFNB8sY*&w-sg=%jcgV*LbP0EvHI`e zYui7G9|xtjf1Xr;sqfA>uZTViXcFmvv}J-g<~d$6Po{D+{Hx?BNz#Tkli4PHT}Y~x zaJ4_Yk5B!##{U3{ks_13%VIu<(!MmAe3Q31IONx(le=Z~eGIc#e0^DYmB3;%>UlLf z44!kG^{+~Lo^*G)`bql>+W!E=$IKj^=Rci(u=v91MXuHzM_=b(i}7x`<oyrXxOIQR zJs(5oeOf#@V8^c&&&dw<KAlImy?M006W5lyl)l@h+r-(GPduFe04mdn!7vOPuQ|`H zY~uH5l=UM1(XmT|8%mqA&QJN~tldQniWwOQ^w0U`rN&97){m(9;@el%9EQ0*ml6iL zDiC8W=~C%4X(ddNvK7X69@WwB`#<iHB?Ufjw)Z=oJ5jNb7DbXW4^DqN%+z&@6}b_a zfMyvPJQ90n*V?&NIl0=-<K|o3=QUkY#E^nzW9go?<T}TQEJX4teEitmo}Rg{OAAU) zS8Bvos-m~l@sAZut_udroRD)~h5JA2wtr!~ZP_MIm{-4Al%57o+gj&~I=}5PyVabZ z?OUh|iyHtkL2fbAr}M9eI_H}DY>8Vgr|Qpy;wIi@QTZSw<F9^cB<)_!n?8Jq7Qy~? zDEWshO%HG;LPuUrJsh0#NUmmC1Y<v~ChmLl-hgtsGP2;4&%GIpwm~_^KmBR}HaxNe z>xz72xyT%z)Skr_+GDqz`c!Pdo&l%<RhR;K&w6aCz;4ghf!&Ud@2Ee8SzGPA9G`k6 z9^uUHSQmSN!TQ&T{9m<en|Ni(J6i|wuAC>kUM-yX-+qMGk-&H(M|-_NM_iirpA}nu zhFfT{$cW~<u@k*SypJyr58b(Sxs7BDg#Bx%wOy)4PJ7oR&e}d^yacE@&V6d+TU$BY z3F>|8o$Bs&r(wyogN*WdCV&T-laSe{dyYGkw!(Sq(ww^_VYr{IB8D_-J7oI%Q{ajg zVhJI+pbDiBee9ebl<|Vy4?Rs&*#lSHjn!8@e;S3=NXXoNlqq*1?nSgVNyr<6@N0 zVafHyP;Q&*NF-C(XEfY=#~_eR0oPIj3hp?;rnbV{N#=lV?&Ar=4xM>4<%%$w<%yt2 z|JMFGGF#rKjI#BwlXv-_*HqiTFp>s!&1bd;S`6!VeN4NYZ^6%6k{oRJ_3K+{W6M_d z((Y+Q$0DzGtfkcTX+L!7we40tNo@kLK1G~yAF7O2R+DrrHAp6Ik;<%3(B`J@{_)u< zUP^1A*<=$=@BQ~D^Q#HK{<SRLmb#V|w^jRbgHbnVo|PYsGj`c>eQUSTPnRn5j%&@u zd<{Ow+T@<?cuUW7^-uO4)b{xPNDCEPojtNM*92G59~9I6CeBK*+U0V2$nJfs@?3i5 z%xBW)@09-l<Y!IV+|-j^XUx7aRyunhT!Zag{H-E<Jkx@)`K4lgKJntau+Hnu_@5XZ zxPJ`N{{WY|{mk^gg$y4~n{nhx*RVD1w(Bm<=MT>&yqsdSd7sU4*s%<5JqgduM{2r} z$GHChjw^-hxto{XP?iYQ$;rw4-t~zx6EP_v;QYh-)g{$}ch#D9?L5o|;kfkl$E{zw zh2lHU-p}A^>h4AFsi76wST`P6)mt%jbuj~{Lf*BUt_NA9A=9P6kmg1e=qs$jr;HpH zBN!a@?^!n6CSBI$1F1)Gc1{lLezm)4dvwl5MlqacBvgZ4OYrIwM;RSSJet*w#l$#f z!#7ZB9^{f*TP$+!IUe=X#9(O7?pX2ksFvX0ayfK_X+tSKhOFFa@%aZKj};_0c5v5L zWU(Cq=BU}jnRd2FC%py5n$p_B7w+@wDtPU|Kmf*j)=pn}qkT&P2Tl(oHLNWoXu(oO zM_#o8O})yEWhr1XNIgz}m0LP<<0|9<-!u<iq_CTtd2(6LZaP#Fe`sAX-6VlWLQh(r zX?G>1yH_?5H7H}^cMXj7t5(zNK52H8;C?jKTB`Pzj82s~YbdLi8v9Z5*ffOass8}$ z)p;+qd0@iNv}3hstJYs>lIT)y{H8>@_lhi;aQnj4E#r?7mOGrO_2#W(D&JOTEENg# z)Ul;_t68*}nn&Iw<eJ*J@h-7_8tfq9vco*pynRIOk&D37Nv^%lrrXCimeCE#xyMR; zpA_}GD9n*TmSf-gRYxB0??l3Q1lEsI#h=A(R{jSQCzeV1z5f6j-H*rmfwRD1zu{Xf z#q)eR7)vj9zc;*N-F!@2e3oxAMd$}l<ymR*VhLQCoJOSbbNSa&#d}1wv5c^`>QdCc zE@-wf5gf=%l20QwMjwj0M6s%w5u`oI7!{{JmnG4c%;{`AO+KSKvQC9hTpHDzS-&pI zk|+nOALUs6W)138u(ejbNLy3g0g`Ko{zKgGJ?a>B`#EG*`)ao1)Ec!`5_&T!QmDQp zbPcUXxa_z=$0s$A`m&@F6EeFK$KzI}pHdtpeYG;D)GuApg~IYiMtH?<%{|k&5lp0z za=_-TNj{?FmsO}~sj0V^UgIDRFmugCeI51EA{&CtTYwE!?nf&wY8rD}MI3%%GO+oN zrfV|SNo#o|V&&X)V?eFcf$TL4zr63Xw@TZS!<P<F2imy#o4@}6u9|w2X7w<k@U+t0 z$tLzbocFKGpW5&Cv9j=yyU=uNpWcROuI|;jBpfovM{dOTuU{&{JYFs_=(T28nu?V- zC%uot-xz#Zxx3V6%(-K`aVMOXQhy#Rz_m{o+}yd#vHt)+{c8Pl3x<s-MJ1|7!s9Vg zt0`-x&Ms@|WzI=Hp4CyMXXhlG@@vpM$xXH|m%E%3>r$?g*T1_|W_K6?d2IUu-ib{? zb4l4QqEMYyqZN5R$JZYLzh=+c3&lPc)GzeU4(pd1eT)*_HSxD(wpgKE&*e<`4*32B z$vvyJ@Xon)s@s7v%+~T@$MyVc=P_8EJ|eA8VI?OIiro*Q!_dTG=s{OjZ)5f+{t5f> zu3rrNK>q-QH&m1T3tWfJ(w)!9mnyrqDgOYbi;?vLziA-5(%MNl1(&XC^PJ|7vc@?j zWi3yp!qoPZS9PN!j%x_vXJOTjF-^9cPnzJf;~u}#yms~TI!G>Nu$o5*2c}O-tkUS# z(FJG8JmWOm>cG1Wqodf{OLIFaLlPH~L(x=qCcg?lZm-(TKN0FP*;vTYX|`mn2&esH z9<JZ*AJA8`l3{+ejg9`!r!Fq9vZUK*;6KElAJ2U}v%BTpj?wA=0P3#?(=BAx?@aR& z${U~d+xw!wYQjNLp?0mI`JO(r#A4KMeRVs_o0xQ~N0v+zju+JS1KPZ<;^tjKcA8R4 zIqB#<D{M4dlc@LD!!W7K7}1YSSxw&!j=b|<Z2rR^vTuk#YVV7%Y2hS;L(|B(*R>E1 zA+`rTS|9oACN`k@p4FCXjD`mRUlS*+Bd4jBSBH4Kbt)Ykz31eAW!@Rn^gjuBV#h|( zETgm2G|N=BvbI5mjwBcZ>)f8_lU)j5KqNrR^J9}=&($hAwI?}0dQR;9g(VcCv`Fz^ z+G^s>z5w{4a0{C_%Kj4}ujknPrf-U#7D&c_dYiom?|c0{E9o*n;Z$$W@;v-^MtzI> zTWSw|r)qrear{7f3}U|td~Qs-#lt&cih^_AzPpE4?&Q4BoXy?RZ2hnOg?>Nj-wA(X zHB^XQYSQ?Q>N^W&Jb$Z<`H%j{HG$#}7)kNM+gH(if2axUwdh(4OO1hJ)2<u+Op$?( z74gd&@v704EYh|nEBC5*kI43L^Hp$k=*j-=!q4W9=kwx!fVIztJ~z~KO-T%QdUe}G z{{Y=}2jr0tb#aDLI~w!bJL`)pkt}Xi)Z`Igt5KS*LKQcR)z8YYP?ZYvhgdrvyWu~K zz9jJN#`rECJ^V^Dm2v*i=xfzx_<?V%JZ&xVM3)0}vBJP-)IK=}*w>wkz{lEqT5!DD z)b#LqjJZ9HS=tHcdTxvH55cxp62x9d^AxMDMj3qx%}1$t`&jWT*1C3)YNAWY1U8W; zS9aigpHgecmKLNW>Q>SVQ`?R*oRWnNXDtuhZ`s@7uAA^P;eDQ)FYmP*oLp+R9p2%G z%%j<Q3g~=S;%j@KG$L>T75TO%v#*V*SG=yh54NLE*-@uWd`VfKf<G7qz1PMIvU9>? zKK%8sjJ#cIJiZ~FGDueA=xg?Du3zjFf5MN+vt4r<{{Z7=wxXEu<Y4x1>0e5I!dPG0 zPs3U7bl-={YaGr00K#r3{0yuc{{U~p{{V>})R)I?Kkb*c4-LD`Dn;`~v4`B7L3Lu> z0R1pJ*UO)`-+{GHiC+S2bgM}%tuC$#`I1~PjU&SXNdqL{54xb5{9h}t?6V9#S!)<d z?#Jr*%5Jt6tt9N{8(p87zYo3={4n?#Y%W5krL3s^=BqdbkoOj`oQQ|}T)()kSI55@ zE$&|}G4d8c=9T2_1a8NxV?Ar{FIzRmI@LZNi?QIwG;+);qaFIb?BTvO_`||JHu%@$ zT}B=M0NJ<NtPc`7`HiT?&`&{-2**xwR6H^9lFHvxlIWkDzSJP&YK{V~IsiIXtvn@3 z(Nx~?jgKZ6s&TI8{L;DZI)BF7JwPh8#DD?!Sm!@p`L3eZS<-ck%exJnhm7HXJ^kzF zs^IF-daXO2<S`JdW}dx{gm{-#wzFspL#W!yHpyvl1FHkrgZ*pge~BIf_)MA}p{&86 z+~}8<@e$`+zxo@yaH}F722Vh^HNFn5dUaH3%F1rik4AIi;YOu5I<dT?s+VJ?{gpgN zE}gDEnQ$6Ev_=^Na7ZH{<J@%3C&Z0D-{Gh21EgxK3R_ElhDRI)S0FxqfabQX9$a-u zbg33|Q+(8E&#WYlWA@3^Z72A!#aWz~N#EFlc)_ocWFB*~6UjB{Wr@cFNj=gr%pW!~ ztM15lft=LwuI_znz3aKcwm(mQVGA``S@Y5IbKfSvP5f$rL%5!+_#bNgSBhJfcUQ>$ zpNI6x=pQ~_%o=i}o;%hI@;O!tPI(!w8h>Q<o~MRfcq_!sJo{$clD_N`eqKqy{VQ6} z!JaIR-YEXu!FKI#<bSpGuU+COxa$kE&-N9Ro9D1<zYTSZ%edtij2%~=ag22QMO}-) z9ww3%MAVrXP60fg<C9bMs&-0L?_oSWM<*px(tS>v_rWvYXg_7Rm&})NJG&jH^Q_x{ zh3x|shVA1UFjIG2{qJAGvW_J|S*xb+V``L~<rbxBY~OMieih!>#!zZ9pe|X4?BhA( zKaFE*zYVTj=k4y&<oRq#>srGc+?1RZ%%y`?_}z{-PViQ}VW^odE?tB~>|%H$-}+Wg zz2QZ<`%4LN=HTb4U#H_;@UEp%Nh>2SVEvnnpS|4ioo`FIwEfwTvJggk{<Z2q0sJ`) zuA6jPOqQ6Re0mD?t5r`0G?&DAij(@xT;IZT{{XcVNd=vPDcl)}2hifaEXWLb=QZ?M zANz$q`kxh_f5^tA`yp5X&pmlH2t1tTy=a~kyNiR?oTP!t&petXy~!Lt@I2(2uyPL= zsR87Idgh!rC?xaGS_<q+v1cbHr2$`z9OpUz015`X^%u(>`S+<pl~6|`Jo{AZ*I|;9 zNcGQCNJ^s(&B@}V29kPqC;9r+k`hy%DcP_xFJ<!7vgeM!O3rOfRYyI4O4Tcn-nV1M zuBCeOjB)*I3t5b77Htb)mLDPXHKZ3Tl#FXWbk}mX!^=B+O;jYOYX<?d^{$`d69@4S z3UaF#-um~gB;2ZVKE@G>RC#*b=d|P@$ON8xe_HBciAOx-)^!=BBx@kZ9ZgCUD9(DC z#lEcSvtq_#&U4RtxgiAP4Dr^X?of(jDaat_lT0ldkWP6#(gDS!Z}FxU!6&XeiU5VT zAD=v$l~{rEADE6YPWRKO5VN-b0GJ=GI0!k(U}~(1TD?daV_}|2_NJ@k;N<;jgoSg4 z;AHirXPDzGLjM4s^j}{xMv$!8CvnG0h~RF>=RIfwGQMHPdUy4yBViLM+{d1@0sq(j zIswH!U5~wdnf-GX)3OPiu&PW>DfKg~+h$e38}dy{7X;%yYh8~qe-*yBG@%5K=4#@Q zKN`vIdX&Bt*(w!2{`7!mlUGMaMQzDYes!RLsQha)vWl|0B}T_u)U{6Io@+V$C#8k= zswI6<&_FVM>#EYqq@%w)*PV#>qR+O<w5<s~=jeCri>;kE;&zV3upP`~dhQ1U^RK&p zFTp4F#lblWPDXor*X4P#<;;Ci`_%`0Rt}@uRFeCTm3&zfe`Yy3`ubN5B*i=dWO>>p zU=MG+YpVyVJ~zempATW%dizh&o|W)=^&Kvk1mupV`B%_7bWbR3u>&~&02=bM1pcuz z`JZ%eTtx+?w&2{c<c@12Y1pl};GC1`Tv6D>ita|<dJs=q%(`H##|NGX^`-`<nD*+5 z#1h%$=hmO9Jn|uB&H(8^o42V#3+bg`Fx-DS>TTy(Mp%Kn(xyV@W~^=IuwZ@a!^d<c z^FH^dJ*yVA^Cjx;Nfgs0``@XpJvQt~e9gIw5y|xRscWe3rH;1FMib*Zf%UG6DG_EZ z&QDKor9;=$mhI|vOZ(K%ZYyThQBY^~tmK{i$!_mb@GcOr>IX_<UCgna>&fbVwK}mJ z&E!H!Nx?Za&)<EhM#c~_4^!HQrsb`T1dzvUzGvR=TK3Bvn8C*!`&Kg7Qm)52ImjgB z^{WPdDm)TM{b~lDq>x;Br-7bpNL(T?1Cn}*0k?7C$5mc)%|!defS#GnLflR2Z^o+1 z7>-EK_|w%8{{RmMy$^7^Bb>sS1cC3LTBq`uPScF_G=l6;Ar?Hj$@T630PC#VyEUA2 zIXyr6^(yz&YEJr)$70Y7pO|L`wPO%Qq~Iy;Xl<1B+;l_cEs%4@DYp`c2hO1L(uIA= zYwseM28SufIX&t{mC_Ij^Vj_Q)y2D`8JxzYa8QsFJHLv#o4es8B}!+ud;M$Crp`&L zm<goYT!L9iB%V)UOBRc6gbWdrTFzPuF;}_hI!sFpE4O&(l07QkqSD3pS+GYZJxy{s zUF*5Mk<46K&v;rVE>XVl$>~~Fx;2alsuT};#&eR{*w!&k-R^BBmXWR%n2)VA+azF& zxFg@aM?CwK;TG=Jr7$EcN1W#aJQ~cq)b4bt3pLb=AB<-?`qt2#@3}IkP45(9$>Sdo zL2y<nWeCHU`qo|6x#H;Oj!3T`<vHh^S6ph%JKpT&l?roBTE$!c0Es>;vy*(6dzkT( zF^^i$v-q{*i6kg4)v|ixyCG6?SL$<0g*5DTHlGuGRU89!s!8`e)lEa=7mZoAhtE9o z#Whw})e}4<9?bP0hMqgT*E|8^j}TnW8r#BpEz5|I=grgv4I)NQq+kYN?ko8Y_^0s~ zQP%b89pq+`OtUdLB%Y@=`Zow+z3P=_z4PKToKyCdDM8*bc0O~}FQ%U5o2ev{f1PKH zvl4om{Sj<@eB|34k+b@bde+i3eM4H*p|Y^HxW2r(aFANUrR9;2WKoh&(wye0##5W+ zgmrE76d^jb6*w+w$=M`+xPHx_@Jvh368RdR#9c~VF391=fn|ew<NLQWkWwE)6f=D* z_Uqxd!|&Ov;C_`FcyGcwHkmAGhQBc^*Nu<jdx>{QTi-SLFA#AwvGtxG3pX4zU9|g0 z==o+x^*TJ#jq6EXPq&fn8gIrQ3C$)9p}5B0Hh_C$rai0qv;DHX18MMA_J-7smmim+ zYuUci!25~j9K0j`xxU~BrYUgFBmK5iB>w=3AH<B-gH%1DTE*^bSnFD(UIoy+OQ*XH zM?<?=k;h%pkl6YkO8%3682m`^ufz`kX<GHWsE<>yj&@Vk9f!{u_g2c0?N`K5<xr~h zw47Tp%OxpuLwzoFlIvPTg<}#Z2diefBX{AL;sDI2)Pr9o&ljp^ttd%uo~2c~@a$1L znUpWqtJ}ARZm`~Bk(`sBC{E&O+U)%0{kVT={VT&-WWFEK<{nr~-(4x;i2neVVE+Jh zd-|IGYJM(!NqutiS>%ztpibU-WBudqO@5cccm|@YHLQ=A&oOEclx}=`buG@lsIwA6 z4p^Rwz5f6j?Q9~7)(zxrL{p6R9naL)=ykM$g5P7|aMzW2R+h_Cg4T6;b!(#Bh?L<M z+t=!ACV9fH2VR-3h)0qsb?R`}s_NBqeOcN3Gx&YtkBUAv({vpo)=S+_RlG}kOLQ46 zBb*PQ9ax@&lV96c?2-F3cr*4(_&a6ct2d70R=81f;w?xHZf{vYV5hH@AKi?4bJW+s zaqd0Sp-Tf7tlu>K53=D5BXX&XlF@syXVh^vnG{T1fJb_)ZgjCBB!kU<S$n@T?$4jU zX=kvL;CG42Hh<96{XcrO_%+}N6H@rk;kA)>hLu0yIdk*p*!Hif$v@qyzSsPZI~{&# z`JYby)Jm{u8k-!SoPhmueXH=Z#~-}aW+ah_`q$TR=ffw~=gj9n3O=O$oi%rZz~VCG ztTVY(&jFbH$Ld9TUx_u#3&8QnUuhU8Kd&9@JY6f}YBk*N!PNf%WT$?|jeKzMm%^VP z{3f!R(^S;2ynkaeMROF<kqov#{_ZrFqez2*3C(_HYMMTwrCc<35y=yS%CNy6+}GA* z)tjO0s@YVF_gD8%j^YXtSdVW>HwiC&`I(5P2i}|+f#Bf!iuRA4yELt@FImDXI~F+O zl1cQh-tYJ(-|UpW8`FQ`J@Hk$3+Y!H9i+qNiZ<&z1JRFfL0>V&IMsy9Wd!Y3x4OML zpHIVBM~ciNQcCpcYW;d2sT$qpj2%H?xSo6Byidk=x<$3Ltf5EliTAI`>FYb6rc0^# zL-8cXb@6iL)a6OR&#yVJGx)vm;_k&Fzp}TMZ#lqlpp%j^bM&v-u+>!@789FAHD=Gt zu@pYDjm9{p>Ou1)k0aOY?rk(g6C=j?$x=DbdioRg7jz%AZ-<@OD#t6cH(&ysl4#6* z{I?L-ShJf9r5wi&q_yT(Kc^p!pS6F1JUOPVri~ODj;9s6tKPr-d&0mD2lv=|bg#%? ziyt3uHGN83o7>4Q?wp(){oM5ky%lTo9G@zjr_Uwtz5J2-W-}ESM^~c!Pl`Ne@iJSa zXP!`txcs2@{<ZSgiad2Tq~&1Tsh^p<pL+c-0fJQEw6s^^d^Ts9IZ4HQPw+aktWPbf zUa>74_M+bCj>UP2jy(?q*O<Psb!#&X<w$O8(5D4=bH}e*S~a8I=JuWA8`vK{VJE$M z{(<pFP_k9Tr-NMBtRyN%%^i3=eMq~>v()t8jgHKMMlFNM&2hgJz9#sq<307Zhha0p zrb8fhjNl}fEHd**Ml*xLso)CpsAbThh*jpj*lY7WJWgXO^gWF~j(T6n+4x;PwcuYG zSvAojOL@^}ZkvJXN7tyYzCUU|2gTyQhfwNK6q-n)S2D(OFhI{f-RsKCCH~z)w0;)s zdKfsrtInLaN9WhXj}%Gc0i@l^OI!^#A-Qi^BPB~8asWS#dHR(LoM%6sdi0^m4qnG4 zS#wRuZa3uQ)UY#il3PE@v>|SOseZyXj_bRE3uE)I(GQ68t);#j<zhe1EAdVx*E_B1 ze$9}7$exFx^TXaLIXtn>Yc~E_VzHHw6CqQyb>_J#TI%Pj-(IJNT=?I_=@t#Vf=$F0 z9X~p;Vd9?}%%y}U1bnBS53YSH*K{!Pk29KQn>zL8?4f42HEy*}8bPK@CdMqsh2)X- z%}Sb&jo)C|)MPm8^u=dvGflUso5UxlQJ-n}iuZ#f<^Co)<oZ+Xhr~lG5?j!)&ssm( zEdKy8zpULoi+Y8>kDmot9pjKe;Qs*i>z9hp;sW2tB(j33A>G00>rOQ=mUj4o!xbqj zyF{a}+W59<m@KTRoG%$T^(L_F?X{a2B>PKl5B_+r$}^_pWWDa<l{((jno{>yL(M!+ z#K>?D-8Jcd2dpkGbjckK2bs_3UX535D{SGOxP+GH1N%{1$qZHs$0whqd}P=MuQl~K z9=Hl`)c7p@HJHx(hT_US=^NKP_pe>uv&5FVjLPSn^GLrdVDvQJyO2zwNa}M>0FJ$T z)IGqmfMYzLdU*Bc-jRExPK2I@o(nEdJf5@+csU)(2a``nah!DTL)UO0kPdKidYV>c zk$O}uSQY+mndwS*G0DwX7359oLFfGSt}_16M<FSaGtFrOIhkuB1CqnvH9NRG?)*h+ zw>jRs?riDe(@~jNFiVu^-`^kOTD~JU5#L0NySKy%W7eim-qaGh*ow~B08TcsIj)+| z_eUgy#~}CmR&^w6PCdyV0!)F|tvN`~J#*HuHvnT9ILWDz_~Sm}fF2`u%LB%FsN@*V zPI7spUb}$_1myBYc@&*G5;N4$1&x3zobK$$>s1~_-H<YKO>QT!26A@*N$;MYg%2J; zE;4ggKQR(L$L|dKQ6y}uh8uzI59yi-ZtDF;#$t(v<!lqp7k*N(+8C)F>1)k#Yq?bI zBfjj?2;NXmF^&#>DTrdDD8U&W{{Y6AUnib1K&7$&(Ed5sYjvqp7_XB*u48N5SsOj8 zIrC4coo^&&&PMKPXoBLjeUav^YCG;;hwk_5SCgmXQ1?ALKM5c_8bk6N)JtQdUHcXx zTyt6>h^Ts<v~-9T$*pT%0r#xtz0=Ub-`ZcPy>1)5bvl0KVUD%uR@OE?(<@C*FRAs< zz>QtB-xg^zmcfepGxQsUezW{%iC+0z=Kb^l=dsAmeqWw0T){r)?-)mT<+J-v4Kw5) z7p80_B<F*Xo_`wgtzz>1ejZxJ7vxFX2h{I5t@7>lK10Rrcyfz>5~{x=(moV4i+3PX zjmR=Rb6-hW$udKLdbjKEUUp)yiIM!#d&cIawCO9D<^(Vst4=t7a!5JJ=Dhd0k&ktc zG~}O`^89KLkV*Hmp8V1SLfRCM<{i)10=1M0Lmr}r`jaPiQyO>8kT^YY&sx0}n;o=; zq#=PlI@C9P$vPyr{nk}T1l8CV%ZP_L$0UDB&AYpRq9`P}3`TMee;RyN@LJATWR`A& zwrXU+=q;p<35Mn%9x`jQhBTHiRf*3zse6#`eNEeF*^mHwn%T3mc?VEVdgrxgEj1Cb z3@sQtkF{24{L<My4_{xUL`ZJ#=2Ujgyza^VLakfbqdEC={Y^yPwl#~nPV&`ckd3$l zsTEonqlGvG=dMjbMuNbldK{khJXTRm*gg7#P~E_>_63Qsyl1^vxCvzucI<xkJJK3@ zlr8m3Ne1G~PI=;{xYzXbkwMN+Q;J<i`<)Grrv=m;ekT=q<xmGap1=Kim#ZPYbu(`x z^CRz^{&kNUUBSrbnnQ1?tsJiFk_{W2j=A-q6TYR`KxOCi_o!uzHbLhmhxm;>MqAtb z;|HPUuE}c?Dcmwipd~K7Mk+$8Kpks3NmXHBMo&03q!Yc&B_`gZtn}zLD9-SHUey%d z9Mj<>Z7fOa*0)WjL)Bc)Z5{}7g~#(XK-t=*!0tiCXyn=@Zf-+u5KZ8WALmWHXf5C} zJ~;1K>dJB~Tfu2O0zgULI@E^J-EuqDQ`MTq^(r(TTAUM{)^x8RKQY{M{&P^ZWw)iu zsT(sAG7WOt#+4oG{`H9}*&NqQcQSIg+}n$CfB;57HP1`uyI}A+{A+#LE!$I;@h+Vl z)@6nc2S4Z5yc+Up?Wf9<g>G<qSA7L_smoRCey3q$;x;z>*s|^G&3xPYKz`FUo(R$A zv#^vk{IQjiU~}Yy!2tgNfB9Ffm1VNWV_{GJU8i^Gabq!y4~LY#-LyUX{t4;vXG!sw z?4RO&F6MpGUigOk4M;Hsid;b&hCaV1OxN>!@pHj?$AbKIsOfiMmVGw%NF1Ny2-pt3 z%rL{)*XbD|jSRyRhP9e^N9H)W%5t4Ys*}0pGepXB??ROTm(F`v)~9pHmiIevhaV37 zUGZ<lkm&j)vrly~`K2ci!yoZYJ7eWV?tcNze)@jPAG05We`nn(<zFjO*X|enH&|ul z5BcM44=EV$-MXJj_>MEpoeV$reHZ)Mn$&Be?0t_4<=pjNVO41zBE0*bXj*HM!kF$) zBD4HO;#*I!lI`1{YW$ioa+&%JrK4w-Xxfw?Y%V0~)$_;g@!`8)9efzK)Sy*5hlj5O z`^Vlk(qScB`UADU17AUuNzu%(^Zxaj<>TS)aFwHNTDm@4_zqy#z8~G$NJDQ{Wdx46 z=mmYd{{RI1_@?jS&k=Y=`a;uqdr%h^IX!HyGnHRtkx%{fE9kh6hqu9ETKK88BzPG$ zUuBG@p3_Y;?)kh~Y+1IGxHoU<PqOiHU0nrdY-71K`Ll~rKGoV!R8jGtinQ$uN}BfO z<>R-3NnxHz?20>+&{xL3D*dOg?ezIjT{Hqfe7ktgTW_N<=RUow+{rK##ZTHw{HfU< zUT0o3l7v#`dbWNze0KQ5b>dxC;55u*-h9W-LwgTl`q$_8h_#!Ib5JQ6Vx_R7*WSNy z$?&R$6{g7ir#;0wl@t@*>RQt*;vgb&h;uBT-+ymm+OhTRW9=X4@e{RM_l^DI>GT!r zD7n_xXr42dvcopMDIC|z6P}~JI?~=t$?!SnlU*(Hrr$%)igJ>VR)0+2@Jm10GT-3$ zhDVR}+d%#x)-Ca(K_L08Y?yN~Q_^WiPT@Ya`u7ir3A!#<EOYw$SM%2tXHv)K73U3U z!Sct^AGzdtL@=3U8ggH}YnooH)0<lRVr}Gl{{V$S_Vpks2afgg>m0AFPf6fg*`6Ew zM%~8`!0!^{a__Z4pRCE6{B!szYS*6~v@8P43M)Q4jFvU_Sru<>f~?kx?C~>74vgTN zz0vef?Ou_u!@GwWQqne0ufNv62Rvt)HA{ea0XZk|ueRa0dUJ2N@wv_4Dd_(I2s~3` zquUKWSuocn-UbH&h-?v)-n-8lc#bV1)tH~&$(@5dk5gWSd^?si%39obY(iKo^@6iJ zA^dl#X>dxg$fM0|#fSu}e|cM|KT7DlGvmJmYWlQ)@R#XhQn7Qkd2PTG<NMeo0)4?1 z-7GY@T}ls@x7lZyv5Cvs;v>(8e-b?-#UB8_WS<#WeXqivD7w?`T>RQ)-c^A;fRGIT z0Kiz+kZJz_vi65GlPU2Xi@G=f1G5ADqTPQC(uQx1qfeI;OPZ?PuB1yPz~XAD;j3~| zmq*b38U2XAVy}kwn)7&%S=p?^WW-sC7xxb@W>9|i-(HpbCR;>;$+5K&R|<>KeE=2t z=MZLfa~yZSq+z06kG9IP`Z;bJ+0xch)yui%dZ+eN$>x*7_B~B}`QtrjOP*<$3~;9; zdSbk~3i3?voV)IRG5kP|7``c76yy<;N$~^Yt=EI}*dT@rYqA&uAFl(N{dzcci@;#u z?`vw&`MhzG!DblR(X*FC`kWJKn%Bp<?U^BqPgWy)DBR7SyA*Or_rUcv_Q!#ICGhj$ zUx%@63}4y?6rE*2lWiM@QBgz@M5I$eMt2PcQ&buz-5}lF1BQZvAe~YhN;zuMT~dx3 zJ-WMV<lz1G{okM6i|4-LJPwelIq-@5N*Q6vrVTtvV5~RwRxK&pj2XMM2As<}H&Q&p z<!9(eMI-(aVk^KERCMKnSft~c&Z_9fC)wgPH>#kwwbg<(3UJ#&4X-d<SySbme~Got zXX)V%Kk|L&5jK7x8NCU&>hGZ^K;Wimm-S^&ndlB;!(5f_xR{k$IuR)e41##&4OL%y z-wdH6UnIR44kz^HAK9XEHS$zRMc(0m9>l$dGU>U^B10+$sC*obZ|Z*3B$x!W(M`s~ zoR7?Hf+%ldVbZt5P`zBg#XXwsD_Id%k+tkpsr1U*f_b|a)<1BQym742KST3&uqnvW z!KT*7#?<;#qxwmB3d*Cn&vI;dfg|FKkZ)qys!Gj~HO<Xq>Qu2)cRu|)XJV*cVm8_I zoBz1e{3A}Y8!SDblOOqW&mOIjHL<yq!Z2wfA7dcZD~LRuC`TGyG`2Uu@}0q>{A*5u zbIt9SKhq97xMk~5Sk|eICEK(k-X-Q}2HaShuv%2D-b5ZLjc6=!EJeR!&_{+#zIBbS zbgFxQjaUso$5m&#IVftMAkIoIC<(a!uv@YEs&dt;@{{i~0jPB)cGuUoZNyiL<W4Jb zT-@zDv)JOa<yYp9HA>DC$CkQAbaqr8TPr`w!an(Ga)K_VWw4p6aP2-Y(Kk-`^6`8d zR({(y(Oz|YaasNkJlHaIQS6!chuH(ab7c0?Wg`WVel4I#NaSUKe=d0z0ZCYeKnc^I z{5D46)qS*Mr|?F?<Fhv2g^SK_1<{R~G45ih?afIVl-5<zf9FF&He8X#vT7COtwQqQ z4oiyU#Nxr2!Dq!;cLgV<x$cK;JF~;wKFlbj(fX2#q{;dp*HEqv_$988)DckMy?yKk z1HL4r({=O-E%Ad}4>LH6Q7%s$atX$n)Mv+=x&pi+(6S%BzGa9<uJ(I6O?659f%$>H zFFZqNqrr~r)(z!aFw-x$DMz4hqVSuY9Z$*sh)BoM4?%ALH-&o3PwD(HP)M3vb08ox zFd>mK3^%~&?x|t_VqY~hfZ6L}tT++oHb_89f2)Yr|2YU9E4oLnEEYqOB}g#*z+*5b zfmcJc`zl539M6DxHq3EQB4{{s51{mA8X8Sa>+tFP4izBLk(=oryuL_dQ72XXpN3QU zg=(RZV=JZDPQdcB9*zrZP`LS9!)4AT`MlI^zLC(4PAx5c4V8`g>4P>*IP^=NMAB1^ zliJJEvIpjbwDrvzHkB=v=5`YUF}i3lT$fIpSvRwr((M(w!pw($4~{ZY+>JTB@Sm6_ zb#(<LE;fX--F{(_t6oAdfL<&ukY8kM56<;Hrl00ol{HoLLZh4n2af2rw?*}$^zGt) z*w8t@qSeX_8o&{}N-jk*`^CfZ5R%yHee@jst{(BX%8kT3>v<N{^(z^fJL|&v8Y5l{ zC+7tLKY%iyIX^oEE3;=0w*yd`D%R07QUJU?UAUGNW=E4u!c&q7N7#$~EVHllN_drL zV{FVRJSdC8{I>cYbYJ`r$M!5@5E0==SobfLn3>Hs#(EYkCDki$)RuDbLHCQXzv0Ur z>uGdA^Z_23$oIRGMFTn{v$f7GKR3p*mw{??&D&^oBqe=_{s+Vr-0b@fQJ7)~W+^F8 z<zh;^=AfT9E+oEu(Z(l5@2KVz#N7asgY~vgwA%df0i{qT(pKk#dMF>I5p`CrED!j} z-;9A;ypzPfi;IAHB%1nH&K(uwo$}40px#}L($i9zXR0SVhB_CnP&)IK_obQAb+qhJ zbLDe&tk4rD!>-xup!;JhedPxTaugY@(q((>d*|~->>f#{Q||8zHx<OIroQJcEA@|f zPh#2P1O%S#!<N$If@q92gOqy#XfxiMwXD{8o{$@#HQE`9j^f~6#%Jiy2aVXvu|-Bt zIpeMYDbFOr5`XcrbZgj2-t>g(Q!-h?*|s1;NfOmoqW>dGGBG5)z!4U4!cr!=?JMn@ zmG=HSkun{|OCykUZ>E3%5_2LDOgzWd1TE`Cl436&6kYZ)-nR(V@VapzoBMSC+nvFH z0kC^5B>5O(HE0hdq$gX6>QaDK30P`ZrEHxC01n*#6D!Vrc0$J2z{22OEect5_Dj?4 zB$ZF<309oV(Qq2*BjB;^WJF0OV#gRse?~1b`<P_+_#bmD1md{)(e35TLw7GU(hVuH z?|r55b6sBbu1XDWWra@$^PCKoA$q}6)glr=p#3@ORxnC>iomLAZEYC;k-Z~_Aop}B zZO9*DI4d$Y9cT<+eUA?SH0vJsp2S8ZY5UePPx;P<W9ZrQO=!C0TyF-HR@KT$WIxHO z8(%-y;w8Crb7wvLDp5;apiS^9k7crmc3L8JC$*MLX&ao+xUDZa?`EH2np4feNmN># zX>7$J5q%XEzK?cmS@%nz*`*$o87sALrIp&jf<~wk68MDQt$s54X|R&SF{-lCjC&9x zZ|xO5OsUrn+Q2V|mxv1#q%=1W%(+K|f!8mCJgd)bxI*SGZb_uUjAy{=gwE0Bn_9AK zy+5<v5Yu-<;)18O3MTg!@Ta9yf(piKXv`C1qup2+vg<!1L=cONjaRxNlFXMywZZ7d z=DyyNL&~<5QV4UhpYWHUn*I8%52vl31Ig7<^G~V$w|X4Wb)gWk1cX+|6)tRcf-edE zgl0Ff1E0}ZkLFn1sLykRufBYz_R)Gm<JV*#CAQgx*|dMH9;3`iY-@J2ll4QUoNt!w z$oTzS`oC4&fbJKvpPocO)JtXlveg7Ne(e3PP#wV&AWySvQ1#Kw%0&7iBWcwRH|<_* zo-!BPrAhGcE%q4I!}^Vt688jpr4V3vF3gdXb>oDKrRkIX%37jh-h@ORHog7fg&z4n zY!BVo4Y*brIJD|cqp7U~L0RfF-59}qqGj*A5YEhH!N5IpAK1u3<!K1ZFNT({1gQP; zU*Z_V>|9Uuuk;6sKS<`>G@dwQc-f>^32(vHe^te0=Dsq^EIh;X65tqkwu{n5nVK-| zA#nq1;+T2W2FZqo(7fO$_Cdg#Y#1+IXJRFG0a8~{E@J5-zee_<QzoJD{*MqJPp8>b zyRU^`{Rh1lQ?TjTOs`B7IHl|bgB!u@XMsz8?FbV5^TWD7BhTqq@1Uw5u(meDQ#9>O zDIVr55{8S={Jo~P<WT$+I3K2*ZfO_W38B<CRG+<3Bvp`75z2+Uzi;&$Li?>n>#Y#e zHI}{fqUG_p%|~|%6rF5wU!mfBqx71-svrAk$;&$3M4)e?X8^8bfyzG3jBVsV?DB+z zw&sBB)3MM_9Hy?U!R2q&s|kU1FO$>N#$wjAkbC0BsJlT5nQt2{6W<2EYWf|llW=u* zhO$3AYX-N6O#kg&eU@s3SGV&B`^pOzrrNLge2HCH;pQ1D>hLj2!6J{UY&Vy=F(m+7 zScyXeGLgB9(L;7e6Q^n{#jtE^U=^c^W@mX$;Ba5*uL)!(U(!^#_H2UC?+12MrY^r9 zou8$c(_JJRP4^FP)fn1a41y*=!N1H2$Pm54TJgh>Xc%Btm1CVTobjX)03a!&aC5vd zf6*Hp&XUDZJ$Hq;m$_~-?x^lF%u44!+VyN<aHzX;72k8E4{*9y9H88P98&6me|$5% zABf$2zKqmTJpjv~v<$M;@w@gr`omi^zb2^C>0!S6Bo|n6p$A^*Z6_7spr(<Fd}OSM z112R%NROS*+L=6Hx%C5hF}t<GDaiV$!fCpR_`>aNy?&h@EC1Ti8vp10D0gdoBQ~Kk zJ>tw4@~zWs9O%NT2Q`uWbUQrod&Kb&l417kHlt+!=X)L9hu?l`(tgTuCt?XJ;C=s! z@dC8ono$Vg27)6IEuJ%$tCEkKR#&fe#}d9%Wek-4a)1M_Kd96!-0?YEh#7uYc$Ch2 z+;c{F&Ng10kW<iHx#F*w3&AnLSaS1giOOJ1I)-^?)YKW;v*+RALDBK=JgZoEW>XpU z7ee>Xx~0yw@N<uA$`#2I)NHSrU5A~PU*!8!yD<>EoqK*x#{6Et{_7RGb}m@+dmStu z;#VXUuqGnH_1bG|z6H*$;}_V2TpC02XjbnQB$daXNu2w>%6Qv+*(S@I^i{BQ|L(iN zOIQ2^+BFuavcHkz;1@dnR)Vs9V~iD59jt$tv{aLS<kl&zk>EV~eNV;n+;e5Ew%n|u ze4Cz7&s6dheI*@F9oCmMX&`UbRk=nCp}vCdFD;O4>SgG{C--)j9s;jB$xY*spt0$~ zGi#5EfT%VWCGe7Y!eA~^b1bb3;0ueS<LY|voUm-hKJMMgDF&Ne#76CCU-*s;+WOwF zVSy%f`7U9b8Y`vaj1kF3EuVj1%&ZVk80l7Fv3|rHG)LTazOtW~32q!y)iZ-5vRnRC zS(WuWYm!&0p@wW0=gVv>-o-;J(O1~*_<n~aAu$Ix{WRB}jfy_U6%SltwSbGc*YwLV zJnLcMdx>ew2MAZr2JjAt+(yOK9dogZnPulRPc%nGc419OipS!nPN%L<ks#Fk^R|`8 z^FLKqDgwiya-P^Ghk)PZO6YfhBe1rKv1(mnXC=c`kyr{BS1DmXDiXzmGgWpO{TF>N zk&qcsOKQXI7-bFa4%O6%2ocfnUuNLI6#ky;!3jbEX4>EOk`k4-5YW{w-59BQ^z?M? z<f*%uonAp?3%qcrXP3ZnBpznr5prsg300NlOW=_HNNC(Ceqg=+77XF=Ms2b#1s{Yp zG3L!&guET)Kg|~D7D}C{*`%b!as;o-s<J?!c+p6y@^$)%akiO`H&X#E8#@8!6g?zi zXQi*cIUW=AV7$u;X$0HU@~e^>xfjD?bGCD&<~+yGlLe7l9X!G94_cpw*b`=rdY_kB zpZ6j0;4%KHZyUC@LxPf*TnlqmKU`msZpMvXPnH~O@TY1=ekcuC;@HKyiRLoL_lR`V zZ5F>b69EIfsg@!4{KK?{1!<fJ>^*zey_s;sm(J2cSJ*v@UB;tFGBctUyiYYlb1>9b z62WwOZ8w(i@{~M8!m*)OHqT%TB#LEgh5-I~Eyo<=^tarx{8wdnqm8@B<eqs%f??;^ z4EJ80c+t5xJ*>UuOIKz7lC(|qhRH6vstqqQb#!E`OsrSH6ZxS5YCpfzJULIs)^m8g z*+E{NTvHj`#Hk6?16fB};xFQ)2Yy$a;80znwL#mJfwMPB+$um*inr+eOX1i;RP#Gh z06P#P{&^aO_59drl?2C+mD8ek!X`qU4?GN2DHD|odmjIrYQJ9C5POcpaZc(&d<VVM z!`8bOJqQL*Zf9b@<8bDqe^R$TpS_twD<uN;;%8YJv*5)srD*&W7U5V+x_Yb;FaY)U z31Gr`>x0<4L>1TNL`a}ll8YuPAOIZ04Zy2ICmU}x&Ffb?ZdOc3KqO~1cDL9HqSfc( zM?-WL=yUNiAOQdU_Z2IAqwF%p?L+*>>-8MA1Po_$;OvoErVqncPp^eiFq_W-fscxM z!?9UMk6wpIHf_jCXY@lW+@*lq5Tp2yaQu)VFH$xDS12$<Pz?}o&rL4U`E1M=@-zkj z<f>?W<t361GP2)Udj=p=&nY>getONqtJS*K{BZ>3DTV33yqIr$2WEwbJfnmxP(gNQ zf`IZ_iAQM(zy8gH+n1Oloo3Ced^-kZSg)Zn+ai2?=Az@QVA%EG^!m<HA7t+#-^9fB zI_RG8J-3WDt{yt(D<9M#yXy3Uv3Mz_841vE)N82$wfvn_Uny3W4hZvLfsbGI9qrtz zxE4GF(7IjPHV?A8EZf{t^<%_4On0YN?|fz>(ktL=O6(*QQ7E}LyxS03we{R-vbs4q zj$ekbwq&RYg8Kuvx!$cDz=F5G1*Y_(qq9Dq7D`LU8ZZzW7$mpX)pDGk7KMw?YG^>1 zK5#p$6GPb8o+<C)3P84;YZ@UKvAcdR6T(=O>9*7ZtWzo!*?gF92E@u<m3)iK5be=c z`ehB-(MR>Wn49Ig>mGZGVwq#e{_VmpWw$sE{OXC{x^aZFoaQCY`9^(wr<0U8r_N=w z@AaCMpuHljx{+Ove;XXeW?YJ1%`?s#8a_Iis61cH8r@cR;26E`mE==iMm(IZXUZ7; z+3vd|Ib$WycNu(J?V+Go8SDxbE8E)?)~CQB&(`X3C9&U1`PWS&MF;GEW9}x&@(5R) zSSExSNjQoC4-C~C4Nir6acKz?Mpgu@)?3TsI{h?b<hdbKy$y%C_mAd;(W?tK?64+| z2!k?DC%w3q=mzf-7L+{9;YSRP&5|S6h{`ojLIfj=QDvfN{8n)QCiI;~dzCU)NS3z) zC#y0~L8M3}^vXJo$Sb-AR-J0JkI6XlX~kKlRKvy{U4!Tn>?TUzuy4qNRjy&ZtURU& z6v2WwWlZHa&e|{O;#5DmHPOyNh<0k<@M@fm8{M}d0pj+|OmQb7sT+VIhg}8S4%}m; z{yIk7y)e;1@;pM)b1=oVJu>MtqSQ3?FA0K2;|?L#67zbxzS51MtJmvu>eYB~pM>f& z7_9oq+$`isjGc`AF}k?LaFPN*Ent*r6doj9PR|mKGMSU7dXy*3l(4mxk-EQs&-vvu zri8)3^RnJ?_K$BpgL#2+Ik?#^el40B?oi-*Losmz`!s1c_(#csA2OZ4Fum^3y%b&c zMMcG92<9!@KeKN)t1`k8@+@!yie>}g#Gmb(7=nyrA;fST@yIXofZJA;f%$WK@p8+0 zI`o0j*Ou25{}Gwxxy*j<V7K#qBQD&0Y#geH%uxs)tYsn*fB=XlqV*|fe*=mixq0}U zitpwLg^IR|+Z5cnl-+p=-BxH*V&pg(bSO|-(IbYFT;lC16%@53z0e!;zlA@{ZlJ_9 zXHgZh@~Ob0bL>-NgFcCoZsGV`Bzx^dseqjYz>1`;1<-KxzNwUt^B&U|BL9_%#)|)Y zvjDXhBN?knsybi$r?m(J^5gcVrxeWUZ+xhmJ|T`B7jflT)xbb|Kga%}Ne;b(DF$+7 zJ}*<!n{_R$medMGW4~40mM&-QAO7yW{s3SR)RE&#IGm1J;>lDGXI0e!!0kmOX30=_ zL2I<U)cyI}1jF4m1tkosuEeIfFZ$bv&gmdTT*ZR)N!#i<QsTP^oKEN20|UfKRDaXE zWUnFLE(hANS7psA+|~j)7Fk&OVh42wYI<frNt1~o=<J|kKZ4;F;Qw~<;ESuctmW#< z?$*X=R=C3Ea|$hgB2RUg@Ag7<?RQtaxKGg8(H5mysMwC@Ta#}Pd`;HMLxbRPdNxn> z;ByM=5R+f!DWj{NRkU8~qRyDfaepXeLFFVkZlLuWT&@v|vhhpE&PIc9oJ|tTOJ%QK z#TnhWJ$|oM@GGSR<`L5=UCoq9&k8iF-*(z``--Th?ZSk9_~t$L#+A<tvAa{gE>CgI z6b`u{?b47WQDjyhDnqf{#PawQDwvIskH{@u2w%Uu9bv61s5tXw@J-2g7!s0(H_#Xo zzeS}zs&o+*x-Rl0(KdIH$eQ*`yDL-Eej<}qS?g;lMYw67z}XCf`0dv&9Dts@1D9uV zI}t*OXIecI=1s+iSB&w~18a7^3W{I?eJRpx9u%Dj#rC6Fwfhf{KHe+LjlF)NR-8@6 z+D#ezwu3tNE;hC_C^<dtaxY->R)sJ0*`t}x2fRz|kV?vf%iuvLQi;5&5(zMOtNjh< z%F@Ojzzylb%~F<NdJoU3`&TJMI0=U`zbO)9-Gkh9FgnZX+0%=v<j76Tvq;{U`U(q^ zN6C^=8{$Rc2-6R0TC(@nwOS2wHy0j9f*MDDp{Ln8AQf?DIr?rTBAMR;5t~!g$8LL& zYx(?TiLl&1DSj#0!*v;N##JdUtym2yU@6ByS3~Lg&Yx1($$2yNr<46b7HLR8fR5rS zDkjM6BAegZLHE_m<wFE+l(k9m&nAh5IneQzvo!^A9+Nb-ajCy+z`&HCF^x!B_mAKl zGmAqGyu-NBW_gbMgCxsR_+CxydKE_O25kZBlJ-M`12aw?11IA2Fr0Dq1G+aU7g<gN zuf_)02_FV$u__xAg_*kdd+%L$4Gk@qeViRC=+TApG9(84Ol<C+n*8W|FKDVfx%QJ6 z-*F%p9z%U&i+^<}`Bm=e#bb@b{kVs*7>zFi2g|8%`!Fx|_op~A@Tkt9AjJ6brmP$R z7jpytB%~}~Bj+@qwDz6g>W$hJwd2^BZ;<gU`Lw_7bj<yJq5p<oZUqh?ieHhvMCOj2 zJt=sHQCrpAU7hH6)iiE~JiaNwJv@+m<e0h#a<oo-3A0F~?yzG08pL?bHbdC7p~e-5 zDhoN3=UB~f@9bn;2Zaj&b)AX>7gmD`e8<Xlrh}if&NwRP9P0j(nr0Bjw0I>Qn17k) zx3sR~SUo_4<1X|!nIvzw7t#;wN6&LNZ5JFXrY<~3h&`Xl@2`ODq&DW8icQ9>6GeV2 z1CXbvvRsY98)G>;D#KpvW=S+7znfM$U|m4^sZ+&JH8<)`dYT)E33sK3V{3U;-=~t7 zxt6dCdvNGN*a;n3(Tpb^^*&<>WKpYNZ6t=3XgrYJxgty_{v)!hlVkEHa*~eXacWpD zsk}2Wzrfm9YpzD#g2%Rdm`Ns4?6To9E9F)q+)D@aQ_-d{#qoxiD!tzw12W}1gH8ju zCp<RQDNTQs&(~XJ!&?fmgy!svlC9KurDJt2H6Om$tdZi~+ptGN6JxWE*qwsO#!n;V zeSg^56ta~qMw#@B6{tM*^z8@~D#D>>H7Onmw$0xy&lvrC<qiFiD(_ltOSG*YGS`oQ z3Q@3e6TYiXM`pev2=Qd#t5}#V0LgJKi$;~VSrqCb$AbEggmsq`1k)6PGM5h`X=(Y| zBu)^?c7#78y>qRG*5syGWxyfz*@c>PF7fm@g7k;w{L5VB>+eURgQ6LM)`3Z;im7v5 z22%|u@bRIo4C=W{VluMhjhx>|@rNg(j$-+GDwJ~wef)!)tQI!B%@N259PV9@dyIx0 z*gd|k({B7XN2!Puzj<^^NPQh@u#({^s|bgzAN9np^R=tPq-$-hT*AHai1St+d|~WK zznaj&oluvF;=I)c#qz6=$2LEpp0R>Yt0Mj)^k=WHPC6vJ@2{lZi*x+`7tYi?Qmx>i zQz4p2ae-acIi$X+;z7#*kmo)g$!i)O8hh!t>?5d^aqH>)T;FZr&UBrrcH8;672DIU z@ApOtx|^0q&B|4|`KK0&v>F*&ZpMzV7lgt?Nsbl|K8)yQzGol`Vt`lXqdAN19>t8P zlCy`eq1o;Lcy0#!&ryh08x*tYg=F`k(nyKB>`3I?jI%vr!B^@I0SS55RIS%}xW?c! zzRl%Xw%^lkm9GJJ)5<f=<u<)!^|~E4Km2eo^%*Z5kTau>yolOcn#SsBa#tyP{G(Fp ztE12*hB6S0ZAZQl%lvwVrJeDSv%4`zJ%#MiSeSaU<sY$pZOX!`am6A~ldnT~=eW-A z9j<1ZA!Ba~ZrcY{W|j$erIWBI>TR9LZ?dkK>5$1($)vx(6zF?#S9i>MR+f>)N<;^6 zrz5ht1!>eOW?F<$aoJiNOrHE$iXcuxbmw^Asl*ul+i@$VSwHSj)#TW#1u**;MWP%k z%V>1&VF~nv(L{(&nWBg}RV5n>=Wt&Aafa?f7H)MMaiLoEE*X{880$5f0qYLwMW6j? zK3Juh2aMoI|MC@?)-&PGO1*eP-AS2y^56Yh-g|{K**5xBa=~7YzTqWT_UvSWw|<ay z{5cdfo#k38#j}@4x(V)XTG4y_(%q9#G5v6{_L@l3{@bK<tFzIf*dHwGw6zfGANN-n zUJnbQGOH1n3{^YUCbZa3%1`|E^m$a5oxE2Q=uwGudmL17Xw(%Rq1F)h^K#w)KcXdt z$`i73Owjpn1_csd-ig?r#IyS{nc#FJk?ncG8w+;|j&(#gggwbHwGqdmK$tQeefswX zgUcawig)G<qEkW9*CT;Mc#jz*x{x~l*jTPAwU*nD@iP_)&KEaSIRoHttBi}OX7wzp zqTz+`F_(|^r=b6cV#IEbo@}<odQCLCMVJ9<5B;L|+}30Alz!~%o*x)me%u~Hs=J9> zL8+;E4vYDJ?PE$A&%zH&@tvsYmmD~@RhUn6Zjknc|9Pupz?ezGi458Q5tc!^&M0b? zEdjT;yGUDq=|PcoKU0j_;X!BX14lXj>a=V5Df#H2f!JWDlj0SL=ECh(YMfrUO^VUh zH*X*bSmjiNj~{A)Y>0R8+z*&q=ZR4hanEr1x2kCsAL<#rt#{n*Ns3;)(jSw>q_t}H zmPJvx8F?wBZ=gJR%r=LjMS2Dybp_8w?uBLf$|VzwJIgN>8#xly`ReorM;2o4^b2^B z&;BmDHFR6%z;RrCP<6SANPCG+@f4lZiQpjH=STcV8n|mrJ-Dn)Prs=y+(Cm`m)-uQ zIx9~;U-Cr!@e2$9?ocql(zp#uRNhF09T2X@Km5YrKMIr*Wu%Wo$QQEp9Ug*K2#z+h zB{<t7vO5#MzPlRxlJ-FF5xO=6VHnWBs&E7H{@*GVjhNUnGkeR(e=BbIX$PA@w(Y1@ z&p!VR(l=kd>0W!i?jV0p5d&?J$n(i+fM+v$B7OcuX#{L!AgI&FA6Fw`<cf0D!4Dod z8g30w-@Ika6fd@ZEN-Q(gL(U~71}g4HhnJ^idD3X@P!ZtPvW+54SklEIZ(eZacM9T z@oVA3P`5qvPc>XU4z(iOU=62}!B-bKc+8|{7hy4D3~{UrGVk_{^}cj3nX)>iK9MN> zMG6usQAQ^mU7nwpR1^~44{*5;63*=d8;7Y4UzizTjLM1jJUGc^W#y{R$20mocyKGo zy-Tc|7v8_6l(pY;XMQ8ZF`-IolZ3uB|C+Cy4MV>(-}E-aO;f;mFPiVUD|+X^q<TE} z2l<C<#G%+sV?FoW_J``~_Tb5XdukHV%r)?cQb5^y)?dEbr+<j-JTBv^jY%2EK4T9U z`dM0XpG-ouJgz1NzWnkJ*n>N$TB;j-G<^NH9BedSJ({TW+2h}~%!KDhQ&U;0b&^CG zZQ6e2_@wqh0?@|>;4WRvy<%oyMN;Z>6+COE@urVT>)mzcQ)^eb){Tsc@1Ldyx5=W> zT9O=0xDxb_yh$y0D10GCZOUWvz35$qWku8kQtgYJVdMwsJ<SICN(YgE`z;o`jvbJC z1>nGIqB?Z<hzAz$=o`fiJ;x&pOWUH<<wz%8KeRF3ivMz<d=xJ|4DgU;9^mz_A><Z| zMLJP}tl8EAPFL|=KjMJS8P<{XmH}*|bBS8X@Q1QncS(gblrctmB{CI~Caokph8g*d zbmdLI`7w0|I@w<!g^EuS6T=Qz+`**|m+8z<con?tz(e_ydS2FsY{=i@xhGlsi@3Am z*j1*V^^xM=X4p}hrk%BV6~ZR*fgv%@@B%l}LEnHm#(Q2&NBX6^*8cczIzqk!+4qK{ zca%*}wvVOipFmI~BZtSWm!YIj*^1=P`q+0{*>ezFUOMrotc@%^&)K?No#PshB=qX2 zT&FdF9pr-)=Tdjz;a(~AqRo##9dKZNx2kH#tqT@(JPL_!r8))Q+1wxfhw}WV=6+W) zq-j31nT&?Pze$Z-u^2nF-Z`P;pi<JnI(WXPd!!P=jDK5oJCb3TGdj+xq<k}K3P~kX ze7pAUxd4<#{CFd}DbS}_sjdE_Khr5oXlqFCVM6Ygj!~82FWz84zi<-#WmV>c=h(4> zAj1-xV*@nK{YvX%Py>psNvQ=fB(2Anf|F$puw&+xg1g8S@U&p3OMj{~b#54PyT4wS z4l}iP(lOXk`<^M|<OCE9Y9!I8)!yZ&_4Qf%0koy-^|yBc9LW8<i9Xs0wY^|Gl-Or| z*j+>E@GvnxOprsR17qu2plGu1HQ>K1-O^fQ7O?Ysmd{I}qAUF0^osZ;oMdVRiJ><2 z(nm_HPF+0!PcLrEf2CP^uQ04MAG=|0QRS!~Mshs|t1c1r5mRfv>HGLGXmVpLW78kX zzeDW7r}5%ILbrY*=#As^o}xK`r=%;%3|!ch;wxUeu=($s-&taXw{nVevw@O7&$mo2 zvN&widy`!>eYd?W%9C_;oKy~juUHkQrzZ`Ke@9}^zbAx^K|h;#vr>az6zpIMl>Kf~ z;@<v|Jood)RQpqQjF)mBms*x#e0{ctHN8TpD&#b8YMa2cQ7tTnJBRNEIK%vjPq@JR z&Fzm*g#IIP=Ay?HwUUe9IZ{3IZ>X|bH<@}pjPm-s3bSnKA==<8h?6+Y3!1m;J*p;P zWaP{*ypG&74{JNF=V-hm7)-|^iF-I#tb05aS)Di7ppOpY==_U6G&Cm8s#Y8?gHP)t z=BjJ=9ufF<@I36Og?qU{q^|0+A4vKF8EpE#S*scYuP!ydem~IM+UMjf+;sgP5hcM_ zfJMZ}=GV{kS)Z7zD@!SwULk}HuMID~rT;mXtf=qjT(XA-QXHYg#!%K{Zg2&TGWYM3 zcZ@Wf^472HExuPv3l}moj;Ams6Q38gib_2248$5u?;dBiY)pgitQ_?aXaf<_JyEB; z=n`>*Rm!*SpPmu&R;l0ry-W?65j;ynBrO-Otz`csx$QHT{MIM3i=ox3;mOE0kTbqy z)sE;tA!~iC63asHF7#yd)io&Y#a$~oKtnZxw11oMNT`WC)ohNVo;C~exv7w2Z#_$i zIf%UNpPF_~g|LHn<AqJeJ(<2!yfQ1L>y~jUZxSszry`M0F&qq>a}6k{J@Ps$squ6Z z$I!j=I-v<j!t;KqzgRdLA$^Np4x!`?>)uI!gAXWc0J^G*Ul%=J+YG>+kZnI}b{v0+ z$GF}g<hX(qjzZ#GbH}TjAs-^H1?>FyIUSxR{`*-|OHaQT`ySSE+f5U$?$vn?oH_n= zZ<n?ZJJRC!jZ3rR<nNc~FM6vKN3BzKEQN~l1L`s9+dZ)P#P7i@y?5z|!osiwCCo$6 zM-E!5XY@L~ubr7#^L^a0*97<v=;(T<eq*|M*U64tS%&&E%PRbS0KVc`7rI^iOb4sI z%G0MM<Kxu#>60B`U3^A9Uf%LkLuc7`>5I*rEE=#zwJu}j{(JF*;w>*6>zU^f$?mwt zN-^UTH<QpA`NLgRkcUXBbZQ<xom}b#h1xl1tF{khhJ7(Zv8LO2CWi!FA^TfFiYNo$ zDA#v%k!9o=lasQ4U3uD6Nd4t2qgI+&Qe~}m0Dhr5?u)?2{F&c1MMyGY!_4i7;_R3D zJN}3W{(|dw$aL4jB@4`-0~|^uTw7dIy29jpAORWXP)gerBv^K#-P3R$IjTL5e`i-q zRgAG{kxzP=b*Yi_b<!hLme*?;+%1!Bbh!aHm-yJo-rnh<@PJ0D=QYtO3aNv{rbuZ; z@HrH-fJ}Y|s#M!yfQ<+Sf9x_+M7icI`zn5FF_?El)~>4|9Qk5)*Ha_-#N7PTU!D(I ziRX>Ja*|^Guk>7>!Z!40S6TFI`-C~hjO#XJq54HBIJ>U^_j%*b^C;tP(NT^u^o$;* zKFrSJm%m5Z!^AhAXZ3e5yH<qB(%41J_3PkF{qYfViVMh#mKhOB5AT*#50;$&h%gG5 zu<8@wz6;@RUYGHFKEZSf7a(E2=U9A&zGNMt{d`LvBuOal7%+wYs;W`#FTzAj?ldf~ zzZqXoDi%K7+T`upy9Mtws8=l?qi6GeiE%wnwFS8@x=8I2CW4+_<Jm?P&B`)0nAVYG zD>^|R{#e_PX`7}a?|8N0N}|3$i4SHM1F?QTgPfAOCDIbw$;#CkgiXpw?nz;gXNA&F zH6ec#s`B<+%ol^E@`3^{2tr2MD)?}}htlOzXjYbjWH3;C-ieh~+`#CT_!+%#%ilZQ z`a^JGUBUtCjf*3NOSu7qr5u<}%uIQc;tGVuzJ;?{nc8mje$opjMGlUCMBu$*s%YGU zR*)Rq+;-yT#KeT0-_%;14?evoQy^qKo<caMoqk)x=@cKXv-ag@a1Mb^wP#W!h5#j; zVs{B{K<*3UWyOxb0r`DphCO!6pMgvsT|ogMOM%&sJ4KA55dyyE1r*Rzu9Y>jW~kQi zo6Ue$t(b>eMJ+(V064PJuOCQE=p*ys(hZ0L=B~z6eWAjB<=5HQPmP`*%9jK7vu;zi zSf6t0PP}3a_qw>HzOc2Q88{NW?%50QtTBx^u<BR3ulg|#TK;^7UG|)%np?t+J^9EN z@u1k+GI>dP5u4@ELQ$!IS&;m7moe69C|66fU>HL{OmfVxUmj{iuDkUS(jBJ-#utq5 zqvYF7%2&_v+^SSs10;V67R0NKvY#Nno_;q>wO<YqhRl~$navU}F@j^f20b$yXX`jn zRy-S886#kccQ%X-ixaZgZyz(go)of!O~yyRr{*S?xYJHg&p!JeF5pky>7;Giy|D@e z=b-eyi0cD+)O+__{X?SUrkZEs>8?G@HG-%cQ-T1`sFIqJZg|IgI1W9^*G7{JBE4LP zPvZ7~Qf{<8h^80oEhaLNc&F{-Y#}lI1Om{w%)+?2Td9|k<fK4igm=vJ3a;H;P5A+L z<0voTapN$*n)EpVx1%mkAM<v$u`yM_V-z&@DIs2i+=1)?Bxw8xdS+&J2scYYJ1wOJ zfhIh!mDdQ=0hIO<?tIG6xinU?#$~^pze<o;y!D|{qRZOI_zV_dPhkoR8^VsY-oL%? zIL})x9n&immOyE7-u%RK<w*5$M2d2dv7mM?se(b4e8l_WQ(1!RBsk>(DBjOq3RebO zStM&b93l$t$qyP6{d$J8s|P*F^cZFlJz`waOIf^mwtTkKl=x|dgg9w5<HC24%cVLZ zP2e%y(<}NKJ8q+UTQ0B5ZxhHWlcBBS`1i@YapkB>VZRj|qEb%Z!IT(+G1|=V6Ap7R zsf+EG*l6ZX*U2I{otfRn=31Ldm?@Azq}e;0>q54Zoi}p9O6}=X1W9#rx{{OyHsc;r z;9bHha|bBi5h%%&buYHcY$ZP7nX#<!d`h;VGVfr3*faT(0lc}|S;5!jTJ!GgDUsRd zgK|eC85Th2jjZ8dSIMFi&QwsW0_ks#j#w}FdP%mSsc%*^<-uE$$CF`WL*zH__<OL` zV(+_GdP?tt3Cc9-2gVcdC<QNb&JdHlnbtSaVX}~Bed``E`a#(m(fyQ2(CX-~=!65K z1!PC>oW7R^F`Mq1))Na(Xfka>#Qk=puekEquiXJ&YYy*Xd2Si<=53B$X!6HdZB;Gn z?;9K9D7(iG1}r3Ptj7LoyE-*Mv-umqEAtJRbcTOC&?teX)WSI%?=^0IaoNVU+h=2C zGZ=dV0hrmtm5Ej}IqFS)Jp{>K_gxxt4{QJseRhf(yojoD9E-L*=*5BUetw0MaC8LP z^l4QcSPg=Vt@s$8CpKCI#>;jEb(H{;7T1$FDllyLJA0bRjp)l}Nc53m;oqv&Dnj*E zNO3r^?K|$0?-h3TIqN1+e=9gTaBszV=^OpMEls%KeETJ9zr+0b?5<cJVbB&(LDB5Z zU0Am0H7I(a|78t{k?lj$rsi2COsAen-44!t0`A<39e4%}s>n(Ur~L!&=nAkYC50tI zhZZ~!f>pHMuPwbs?+1<-R=uy`SbZ9JUeeZ{N;|llT@QkeWxSthdCQV@XMv?EzwDRi z*um*u4ma^J7-F>WMa-oRfjuqBuj`w)e;iK=z^`ZNae{>yn?v#~A2dCo*Gxj}n94>Q z(m$e*EwaYdi;go4{~Mn5f+JEKIilUYLLpE_KVdF&ZV@|dsZDQAD?NHg8{n;@lp-O? zcZah~(S>{$@nhrgccY*wn)$QI$441bD@?}_3nhgwsXuin(V&d7*D*(ffg{b6&mv!I zDFZRoj<oZh%7X!UbLga&f_R-7ESq+E^A!%s5o<zV?G&ZnIwbD{nYSm}UT*bsCMtN& z#Pzm>;T`)4`xjDZv8+rYq3lk0-bC=>!}OW@qNJ7_+gI(8$~!$fxZ;}0`si{{Qbtu{ zl+m`KRk=UC^91#3;=dBfV8>t8qHYI3Qp(hA2_D5kAnHSPd8`t?`<@5=dNn*FsgWZb zt-8Mm$2sgx<$_j75;D+@+cHkbgpkMYB=3qSa@O@2viQ368`OX)-l_(_De$Gaqa|cq z1}y&m@(&xix>_w)!P<C*68iK%A_C9FAn#*2y{yMX3Vcm@E*&e<1DL3H+6huleW9q; zL)X*nKs-}n6sF9Hd3rH?)cTk85lC*}`H`8U*9)47&Gr-s{xpr5NVXBXOxul#k(_5s z+%~ieC@W(;PfQwx&xg%a!y^Bt>!5H^MI))$&A1ed2U^gE#D^M{2?oN1ok{~e+`MBk z>ksFh&*A~8ukp`eKFcGHGPeYZf0Fs1C5KkK`%?z^M#gW|hG(wpPL4yVZ9w#n9t=xF zy!y<k=!26n3$!HjL~i^h8Em~k8RU!Y8dylT`)MSddHq+;lHw(uBL383=#<&%98N)Q z-})HDYE!V8T0XUP*2eciK?ppZfYI~a?hoK><y=u4Ul!Kv+iIQDnt*wNHI~$xhdP>k z-aA%{#U;v~ES+~W3NrZ1T?MPKitx@TyX-BwMi1tzeert)wQGg}FSH)dF={aQpm`;d z0zC@U47?iV<%=;$6NXi^Ro~Z)?YW+eWm7dbz*JQE)*rTcW53=~0uv}Su!`LC9_2aV zzOmUnC}&w!D!!U?O1BuOpXI-!KQ4e;Jly{=BmQ_?#MI0RY+20&sv}T+V$Q8dkQ>!b z3fzMy7gohDbAwXjdiW{#&DdP*mcXA%-S%B=6VHz4oKI(LovS{uZQqtbE1}p_y!fGO z<q>0-&=i~#u8t9nzElZtU}Q?#GSt#p(#ZFDj=E&j%~tMxp3k{=iSUArUB!L5Wr1P9 zhp1g=tGY4J8@q}tyLCu%xM3z}e>T?zW(VuY$ZcsxZXTE4?E2edd`-f-yg#CDGR-r6 zFB8P~x7+b?L>D(pfrxO{=RU+yvIo4vH6%HF{vP`|8JAR@MxDJ3gR~;*ytEAnAm7|^ zFp1+eU(LAvC=%bNy+&|sYGujDQh*v-AAfrZCZq>%kM?`6bmwFY%WGvwZ9P2*ckaIL zPU@Iv)H-$n&N7`0;ru~$=sq~4+T&3aiMY4r3S;vWT%ZW4ubx<bNBhOT6Y{Vy!VUkX z=&h3*W$N<s>jbXV)$=Rzf-0nd5>VB;Y|zMiP9^HG-dx=H9!XoO9P@?6O}H`Jv`GJd zL<<QK{ULHGhq4>(ag-W+XWYB4Gamh<BA0!!UB-ky=VeeUy<@eF*sKljoVQ#f<7Xd- z;TT@-b|Vb3$BC7q$t|ataX{pXO&YzHh&Uhmhbj!QbDJ*iLXfEWYKdY#mWJ7Hto2+2 zH=P=VJBIt+6Z7&i=K@6I?wGY0M#m_3mBsbngdBpqS|boNAhD}tLFZx?IV{spRfPdO zAH}Ali`7zL`@uJcpafIH&GUyV>tx>;Z|`<wVb`?{X7Bq^b92Ahj~im=;}l6G=$GkB zU4z010=cQiHZTb)q*_cTl@iKu@3F+1E+1VA06xdNyD;fHDG^yV*p?uWyS6VY_1G+y zm)@8$>}-5)Tb5BOH#|Qqt@2mt<M|%Z|A_9>`ddYH=@+7gye{>Z0MYrWh8ZHq&W7aA z%h>^mI)T_>_l4_<R<8}O?m0-plF>l7tAzEUHKKEZII*(kxph)kaF$r)(Wpyb|C!)} zAb}&>(no#NSwA^e``bRj;MJ1@hbm{wD>s~{@^hmOB)Bejy`ItN%a3DgW2g3O<Bp0M z`HPVe?H2hJP5M*rA?ANuHg2+8i1AhzxgON{1({;ysSgEv5nSYJaep?VjzpbZxIe5H z)mzt`$l{Ahv|^0qO@;&Edq>wDtYn0V-4S_&_|AgUs5~l=&7$I2&$k=`T~$w(cTHyD zn_hfp&{rj@0+M;T-N1}vA#dJgwxR(;Rh_`<^5<LV?%Pv8yCnbb%VqpiX0{wuU(E6X zu>)p27hwTG{gO|=9Ja2Q>!&U1@B{hd5(h*9G9zKwVo=oa@$y=q3{}#OjwBNS+mO4q z!8!j+H2U1qfhw>TSmfHdJrMXrWclnhr7{3jxa>6Qji4}|;<D>NN2h{)6esG1sbRef z$hq)*zr9x#at$}p&UnBwVp{agpT_D4t*_P&^sg9y&SxPX5B~{iPS`V_ZcgNowrO}- z;*t00nK%(oG&vE|ohW=`w2k=pd<}?(@#OV9i$^MpmvOCA{CpSlK)E4Me<>MD;kD>S z*8A0L&X~Urp@+M|c5@rf*$30?ZrEO!FLux@RB#h0&$Z4`#%>S%-IRilUf=r|eFGi! zc?BruL3;}c1hFm^2j)so_pH;-8ZXTM!9hs;oj%l`<W<My?a$Zax{Q*XJbdJYZyMyt z>|2CyGOMu_Rqw~d#MM>Ca#p{4U9V{#P(p8=aHen7s#J|7(WwO7sn0^(0js4yYN$>x zuV@JX*?Tj4xw}1-#iMFl0*i-rU^U;nAsq%6cAg)N9SeUxMa9d3{pA)qz*N=mA6J_x zcwZ%D?EVBWjZ~RW>jQZeF1S=n3>PP$k=1o<iT@V-_14zmN%vDl<NHONCXl~cz2IT% z4nB(e=DXfOaS@Br(Lc!oy-XFO=4{6DZ8`9B!A^&>eI}TvS0{*?#j3tdzcr~AW;#}A zK7;BSJm7Svi*j}*e`?SlJ|EcUj^ylN2c6=b5-LV;s_G@K9~MIuJk@<i^}`!~sP|<C zvJbP5m#+Q&LN>YaplYdsM=E+1?gV!-^%K)-xlT(wTMX#~*%gvJNBQ~s3)Q^F5Gco{ zHMA2w?91O#)edpb|LNL*m|*oNR%uuYxiIJpi;%S4k@%)XW_gU0WZ8P4zrmZx6^BPj z^#KHi0YlIDN{hFhrB}u&Qsr15xW=NhH%8d<q+(39MRSB<K>DMtBsvsiGhrQ615l~; z79^t|=(ks}#q4G7SsMLOfy|}(Dt17I5dh$9spS2S$Rl?%h{p9GuH-+WCUzGNssVXR zCO8y_Qrv}`)UZ%rd%;h~<x4a4EoaQ~KPPGsET~24pjCKF@@L7wxJROi0Z1a^jRUVY z?`EXXD-(GHm)9jpT@GW-O61D6<IqQ|jWQ?U!m%#}<WQ=KZ=<ay+OCV|9P!<X+riuX z(Xazx9{W_w;~?pz?pv-eYI)P|*+f>EC^sSbu)$5Ekcd-tmdF0omf_Fa%+3El?Me+X z(k^|(eI2h4D;!!AOXlv)y~z8I=pI3ses{-#{B!*Ij)_}zlk%_0wqpt|K1WsbBs2>< z`1e`%y9RjPY9g32#DOB_S&+t2#ug2kdQ8(oiw%%W@f3x4OI2i2*RC6kNP!inEwvPf z=0o<34#x23tdaiFHYx}k8TRtgGLvpn*`1$J>X*QcW~$lg?+tuNHS5(RtXMimJJtzM zU(dty8JqNmOR=A#h1=X*h~b4@h*9}d5_UU4^AnsEL~HunPctQY(3q&P!qz%(P$3W* zyOzTK{!RlNI+7KeeU<Ucre06yQBT(5F;}0<tSByL&^W574g-+g^hjlLhh~rj7US4` zEPK|aFqhB!Et*MpG<G#-A3g11-Xga4GzdS~(t9@h{#)5H1dvZQa({yuesgHgLC~U^ zuH3+@Z<^+et>Iz5;1nas)TkNB6CYR6-SJD4I(XQGkn?{;YFih~SrYX}-bt5<{}FWn z9rpuT!VdM2X=hHYZq2atgJa>6wXUbeS}x4-hpf!tW!tA_k*N{8Z5-_`YIb#$C;t)s z)U9i^*<|1O4X!6NcyT*G52M;frQO`q;KBinzG&rf9G=PyJe7!kN)-$Sl(k2V)ZV0f z7uY-rmLh}hGV`XIXzOkxbEonbH4N_`tW%{layS?6qVm$yZUmMp7amFBi`7GHFci6D zs(~-MHH6~|Rn`&ImYEfyiY^onq<o)M8{urQziyro-(-RW>44X+ik5RBDt{1_3t!th zI6A{_Rxqo)q#i5+Mw@YNPnN)sM%5*Of)e&KFbs@_qntpL_jl=xb^2L*1ILTB`VMNr zN^iycw7+@81>`}W9`1Y*8qq8CZLBn6{bXbS6Psd$=Lz3d&uy~awIL2*u)0eD=mX;E zqOtdb)~iM}%HWFCZ(l7rqt3_d+m(Hw@S7#XCl=l&xR6Vya5;V7M}h!G!fC6ky8du5 zx<*7~@2hV($r>LNPPnt+)qPBhWtyi})-T~yLZy%=5!i%<e}`_7`X4CBklKkQUI#r} z=FI+~XR8<X?}{V>FiG3W8^<U&E{I<<2GgV&7W4{|xvZ;U)$R$Byz^tRq;2B}HF7{! zVd^j>BP^54WE*|rFIRZ-SY1V5mZ7(O^p5hY%uB4ckJGCvN6~QhBy$<T&W)s|sE{Tu zgG413oX}l^+m9NGU?Z5DhpHFd>(rm$?OfF@=3OB_tl+Qn0e>dC{Sz|O5Y2E$heCUV z18`vmWp0#^oS(>@{FN<H!{fty>wWt18evd~5$lhP#`@tYnQnr(R8bDsdVe;NiRn6{ z*Eo8jJncMB4mv&)Nwcg~-_E>4TUR@qfjzMDXgk<370>R=3-QM-|1yr=+|3j5=@Vsb za>_OKjiX<+i%Oz*RSY2R(vXI)*B2_&%6bM8x;##nQWp2W3j+bid9=#U^Ps14)#+}g zeF9ydc_f7i#8QS-l91+qzzs3U*(6uercQd-8+COq1t6%__jlvMZ)!bIIkDf4(TBfb zp#d19cgCuzO}~}E;E6o>FIGrS#QIC2AD)tSoT*C5%7}^Ye^|f1Nt%aOa1s0A@?>$M z`Lq2>yU?-s6Ytn?II;cqeLGbqK97TmyxK24Nm=)dkba!TR0@QjIL8DFve4vjHz6N4 ziYtAIt4~G+YX}<D!R<f2_Pd9cg{5pUh|V)UKM_p~<AA4lO|sV$H~e}l{9#4*5UST! zulJ?gD-LBesH*;`8ON)^UKhc$APmB?av1|Bk2}wi8n-zbC$peeNrgEjq_=Ec`46bN zr<mK&c;rl`ys^XVu^=mKXrAiOG+AE~YX*UH_zy+5raYbFYlQB;InT@~B?OnOMuL2Z zB^iRp^e56D(F?o`?h6|&d~5clVpq+*kCsdPJx(N6Ah}rjk@C1vmFiK%N?|yR%wBlb zOnM;LS824wD?IsgUu~Y#?CsrFP}BSC*G{*B0Rq)B*yPnJJ<7z?Bl0QD=#>Qy?2t83 zzbYTsP(GnCbh;mKnJPW%{p*%G0E&1JWO&iYKiBn_uRi`LVJM{1ocbc7D~)P@;f3WC zA<O1m`4FiUgKffKPMEZ_W?H@-o0=QO-u_kfbvK5sYWbtL!GHg-U1%Qh8Xsn#)!zRS zlkafSLp_JKF-=rWjMB;Oj2CU&GFO-XkW0PCT(%pR*x6n1(q&{k-#5Uf3!ZBY^Y+0& zXAk#tsk0B^%YvY8FDCx%l7&6Qo3W_<lzc|G3CD`8A2|O%q6@${JX^5M9#Gr-U8`Y2 zoE|XF@jbsJ>gTiJh{GR4_hPfK3&%k+asd0ix6W}en~?oNJ@$o>*6foh6~i-55xt<Z z^6PG+6;;k$vHje~vsYFc6*Z%!7PX%x-amiC{$_}a4!?7#y?nC}?gF-FWt!g7k2n1* zusjAyZchMMR4mI$%|7f4cG~o;lUPsf1^m<by<s?()Rf6q16R&@#_P&{V3lugG~F0Z zXT#??uyuiTZW>6cYlvAZNTHHRG`wT$8b;(b;Dx9R3EyvmAQ$|@w>-|a)Q97bY34|c z?JGjQ5Sg<SgkK7c1I9NU?qiH7_mEyIdd-qCAVXKOucalwX6RTVkUgzNR~u(ahsbaP z9~-sIbaM;Px>PvD`gn}~?xBaVjDg=qXYG2>_%$TxO%!X4bk+H@<v@SmZc^e{p@+<W zc$Zl}!Fg&9H+p28#*&`S4XVO3YqKaXv8d3Wg1^UH0xM$S*7_M|@ygd|IAP>>pJWJb z`W7<&LaUU&p0Nif{y&P&!ma7IjpCT7lz<>e=??^HDQOU;MosBPX&50JoeBz)6Gli4 zk(|JgX4Isc5u>{{=^P^lzI*?JUEk~36ZbjibIu+LnYh`jo~?%w4s#k>IwnW$C2;-A zp&4AFS)EM=bw=QcbeE!yU8;_>$8~#D<Ywbt${!^eSJ354RaVJ<<48wVdvPb1UGAG; zrJ8Mi%#8Kbo}oYCJ(mN>x(G6qd7-|r6#aIM`=k7ok<HFNlWkvXRh)^rANI(>t3qcq zXI^~>_}&_}bUZF8kExAbi*&e%Wqbeecuw|wrLYc7ZoNNt#9G8*Cz8zP&V!cHI)V2= z==%%ZZ&9hH9y`<TzI;zHVUI`cY8Y5Xb%wmqz0ob5h%|ugSq4hWmgmH?yy<HAVEj2R zh)es?QTb;h0r^3BOS~i|T1jgE+!kZh^x02$E%!tKtgJN`77w=OmC9yRnNVSId0J<R zQwIDu1=+I_rMw4)OMlV(i$5oriU4K`ln|LS%CW~Gf;M9{G`tHIR8;F?mQzjfJny^T z>D{$Frj$BnCx0jc2*iZ)Or&VrmItm|JBr@A2aEd!Qq0`-dtXr*<ND~ecO#oM=P4B7 z-wjNXk1q15OHrs!>=&_+75wX8jzv$o{6{9D*g>8PgpMG303@$VLEMq6R{X;|JE2j- z??H0IaRmpG{(htfz&F=}G@&<(22}PEKnD*ywQ@j^&2HFM%*m;b1r;UEUv_-nIMz7q zmbZL)6kms2VeznbU?q*nsMO6W^-gl_^h?us*9JrQFP?^Wo~Ol2QMtc1s5|2M78yQ| z(wtNPJl+kt6==G>VEDYIdOhXr-33u*KiyEk*17hq8key%b!mLi9i_y1g}HjfjB()D zEf-&ze=gqfkD_Y$n$7n`#_F)ITnq{?AF0;XsM!%Iu01%hmCHEOsjS;`h(<0na&J^r z7YJy@^VAX3kGZznFBF3LhLO8XZ&&BdS*nFuTOIt^koc};YL~1;5}BfXj80JAf77_5 zez!X3i?7Z8*V7QC*U0+2;Egz@Pl2@J64*)AV(h>{UxAUEu%a+&0FO_&9Z^IXcsPHe zv4;NI^5kjfV840uP(cVcbJKW{?V*^W9&Y25yhHfo_9N+@@ck~YY+HU{(v0@#9$1Ck zzMKj2@kDgmfYPMF?6m--D^6WFtygOE)r(_=M=9)?p5WN~WS{ZZ+Mp|`VaUSXK+Sal z!dk|rWHt@*tM9EhIVD^LcIHI_XoJFdWf#$b<6QE{>*79<>+fbeKbM(3IdC16u~Y+P z&@Og(NPK>y1BAUm?Sc}r*w=TS9?Bgs1^kE5(7V!@UfkDnFeAJ9gdadUzziD8HnVQj zZ8J}D&K%KwXz5kYGZwPf@9s&kF!Hu%b<y#)IcAuFgCf43-$r(JP1Wnx&f_>H%d- z&$7g1b3NYnZ5oumm9O~o62NnUG?KCi`mPhR%8JiekhZm0MD&3kHt79)`n#T=$M1KO zc$emryl+en+;a>xVVsNX!IZ!JsaDnN@-R%DO*7UNJj}hKqHEkM%#`)^tv5eFY&=`X z4Fydi0_zvLqdFeU?e8a<tL=tFUvQp&BLjEn-+fw)9vba9Rw``Ro3(521|FE(JpYsO zTyxL5#>P)3t`@J6!@T~{<q~$(wjy5X1aAhF?2oUMZcs;w_5KGflG?^j(6mG`KhibQ zB?RWQC|54PQ@QBWWsT#qE`jFIPN#>J*TGbf<CF3>uO#q5$v=v?OU#|Jh`jX&V7N7X zLKvd-Bqj0=4?{pnLf33w@_}^@#Q%O-yD9`uE3QZb_BChzMZEjp0`ucTR1bHHx?oGz zXwffJx3M?`Eup!weGKaHp_kK|VwsELVYI^f`KgN?a?H=Nl1ei2Q90?Q5B1M2H!XwH zmG!WlDC|@4tNVfM&@EHmU8@>YkALA`HIG}P9}~QCHZl&0RU?imMw(B*FMW7<!b$l1 zrWt9cKV<BSs!=Q$c(MF|qa~edsA;U@zN@nA{NZH)k|a;u9Vk(&hu>IXDR1iP$7eC- ztlOB7_zZ1mW{!H<a{`YKPR<+ZAe{w+JF{taIJy~~e)7^lD4IBLO_>Z1_AbTYTIvMR zSm(ux{Q&Z}`Eqaa>iriziOGqdUWwKTTLVYxk*x|@=l>|QKG*{AviW;heS7>3Sw1-W zs=+pLDDbNKtMIc`p5p?m&v-7IgC8UEn}DRCoH9UG+$!H>^UWT^RoIqs#><zh<$;-? zHL2gDt(6cAM2BWb9ViK3Wmi#HmEGDpHR^XZH)DDYwm{??`Zz5tQtx?}-*z7U%#TY< zXG3A^tUJ&T9vw0?{$cG>**GqTb`EE2jb){#p^m);z+-W~z8p>~UsCQasPMsTZeLBH zt92K$Z~T2^iO0ZVqYV##B)sen-00mGWP}zCl;61+l{vBmwJ+fXuMW*c4c36y{Jl3? zxEjViAn5l`GGQ>wg=isIUeEMEr5I^2WKmfXKO@rJ1(s2NxS+MYyWOi}PY<s_gPxIV zwNV1Qfe+x3Uw!og$7^pE%Wx7t*U7<JO24g}C{_)*<nLPR{i8T2P7D2^d0XyU0^x?v zpL002FVG$9T`BaL5e9ELCi<^_rS(0|D?5+bMrPW3)N?Q7(|+cZ#V7WVoSF6zHa}!p z`C42WyPiW}Mk7RC)y;f6_}$(IT8XzV7GDG~Jvq_(f$+2>Ck`Zw&6I5Q<WGu97y=Un zSQF&^iYEiyl0te*ZWGvBt9s7aPYRdtvK-Fz|0YgjM5kx}cp;B|&F?%8e^F#}G+JQu zk@L3M^~;vcmjR+FWOE%aIu%_l*t`-}1^w!k<ma7okqTRS*!~UOgl;6R`zu=-)tu7p zBj-FWd}af~x6YRgwYg%#s5P#BI~rH>KLyKN(Fe09*qR5WD#73N5I4+6$QWf&MuyiY zf;iWPSwCZJ8jNnIbh8lg?5_pz28sD=;#vg8fdBaX&;=OTLTAx3UiAsPDvTqaq)IhP zlg#t8w&zzt20PW_TY9Hz&gjOfkE=!G!FD~aQCMJc*|~y&O^~{dTTlz!p=jafC=-+3 zK~~l+F+nsi^Ha+x8YjnBbu239<1Y?8+eT3OZ9Qb<Yz0`EUH`;1eQRLA?#p1|*vY7- zX(;#Uquy6#HI)fJD8$b1)%>HN@@!`dHGSXxn|&3nmHxh@&JT=FUUfVxGS<7)qC2qD zP!|8%ZTU?MI$B~GY&*6RyRPa6*WkMPRS;R?6B3)CD+}P4_E>*=P-Dmuqq4CVv+9!* zExvhCm*htquzEx&<No3@->lcbs-~cDwif_5TBQkgee~e#kB_u|PO{~Eqj7;nA4Spr z3Oyn^ZPM&a?DylhcC2yMS&yup+D=iNdQ5Q^Xkpde0B9sKLs$Kk|Fut43ur*oBNk`h z%5c+4Xqpl{xoVI};>@bCZV|DULG8xm;Q4(O@t3Z~&00?4Mk5b_d;*yaYC~=}Z>8*f z)>&hgRT%$7nF<M4caaA3%n$77z8(8<Lm8j3>hsLvSsyrmX>8u6cx9kG-Chuyo&eYu zd;zd3XutkJ$u;#N*;!z=E&bk0^6Rncf#4l+>fd~2+JT>>BA64ue|wm#IOu&}mvsj4 z*a>lr2;99*K3FXLJk48#>i{T=h?xp<T{Vmi&sV%=cv2#MU)$d4sC0dfwi}o&(<@8U zi@{svvv~IeXAuzpX$H61v5E0q5RpC^uksH8KfbgyCNG#7OSGQT5}+R{`&8Dl4k<m& zbuF7i9p|HVS8X*yQ$jo*Jh=siym_J@5}hQLF#l`4xldUcFGcr3nEMy{@zFvlzlj?@ z<CW{$pU`6?*rSReJz&9g5aNc$?<7E%9*v|Jw_?cPHP5CmyIo$JfjBr)3(r?B`QX*j z5@b>#qab@Xp!awOXi{A8`x8a-?L8CvJCr%(Q2W-n@YlfIHz|GJx?veJ&NGL@PNa<b zItXv3!pUK;Ey{L2L4`AC)%sI`W}WZSwV|0&{gzc3?Mo>)YZrC1bQDvNcGhBNg1QXX zrEB3H8-dS-qZ66^NL>z=0D_GRaX+Ml2Tk1Fv@Xq8^`a053rd(?bykh;dP?1nl-D*j zw@6?6W4iJ-6&yq%==vdf^A-JgoxRTNTX2xD8EKsK`jjlLvM4(@mT7F0XQsCE)7H)n zx>-X9?MzuCm8C<55jf_{y<8c}n5gBwuUFi`j0eVFgP(fI14^u(Hn)7Y2{zHgRDrsO zuVH_8QSzeQ{RP7Gi#`^Y>yA}712GQKC4^qv4fF!U<*!rda9H(8?t%OYt_Y$1*jX6& zq9NE7kRb1`H?n>q+kb&;!p*Lv3|w)f5K~<2A7>qXlyj;p3zX6M#S$#_?CEZ&Fs+WU z<EBaRdE;jA*@`E9^{9MRs%=P+$u;KeU#H>HS>hIEdGx|0yqn<WwauNYzO_m8D}@UE zFmAjULyAdHv&FVuZAq?6!Ri=yP%J#kAYC0Y*Ov8}^YeOhr;3ALiN(wyOH=*z^*X&9 z9LR-IImTU388Nl|P$oO0T2i|la>GdD8;pCm`+DVe+3Ha}bU;y7YJ|1L+A*N!{YAe> z5#cr2YPNDJ8?@hl;yA|n*LKgU9%hgt*2nYb4(#gmP1vJLj(uF#Ofa>@rCo*a@wVW; zQ1BJ1!}QnI65j1HdhzbJ_kYpRt=uLZY0}KrOxU7WCASxh3ZaeR3}UB~hw}R%<4JGw zeTHa!J}frB`K@Oxk3DOM3h4z0?AX{Psx#!qpbvzLau0n9WG3>jItfmbfuYSJnU8pi zlwXWsJOhtQgw3hGCzpPX=)X31{z%|;S;CZjmPV)c#^e2j{61}fFe099Bxn6n!g@HZ zc9BNu?rb;x;lkz<E=ziL*M~PYK>~1sj7C#JjP3<MyBf%V-8Ho7*<N}U$9UXre);n< zK|$EgYu{6=;l>AxhYsKVQPg%MfvCF<a@pLbisdK#7P^l*FYMb_bVXNfzOJDX2f&+2 z|7l88Bd^_|(@Qye_*n{Nm&6*oVgbtHcKY_&0do8fwEg_Kk@(c?nUBJNu6o5B6med6 zq2nCCik?2w9-pLE`=!}kPup~*F@a`~y1!z;$#kFn%iE8DO(23OS$S8v1RHe-$b(8l z_ws~y<K&}ma4%+b1X#XMc?ZFojC5O>9i`+mEDj1>5g9J(Z2k~_m3sfwmO}NCy|^oN zv9)+=g5RT=oaFjQsaPyQ3YDiT*v&1U1T;|XD?-&R&AYna=$>)dOrkbHz^-~_xDU%q zlwIN_<jUYb^K+^-YA|k}60P+F=etJI%y^-YTYN$s&gjZ9CEZ5Yy6oV4AXr=luedcF zz8Ns?gqU-#yX|>TT48#jG~#b}#z|u)%HxSn#pB{XTa%;p75p|M+4TV~p=F%eOEjwh z)IBPBOA4`G8A@om)P>0f+eQ@Nl;3goo<dSp!#T5U0I@t4WA$?~o$#IVqTa9KkdO4> z`o-YnV|`6|S<1SyP`T4w^k^?7pK$NqOf#J89|fck!}r3kOaxyR%rWc{DsY;nI#LUB z$nUa#n`D%|CLGCSU^5&QPT~xG;Qxg1P_+&UtUWTV1+R(tg;464q;wdW)JC#;kDpi7 zJ&pA)Fe8kuL5GxC{0}d>;oS8TqPq{~U7t36?7md1JW(0rG5P49xe|g*=boK;f=c%% zqb}))`5xhMoJ?4+__AA#@?KKo&rpgEBYsXp)}jYzsk-OcnAxKF@6~^&&YsOz$|qXu zmY*hFytO({?z*FK-pDd^m*Z2nijBpW_Gdh!v&%M!!}>XctPI>Z33yE2RXvFM(B3+u zx*D5hc2UwDqExT8i+n0~;(Vh?iQWtC1E*+XJ&y}kak2OW+3vssq0cZF%nD$+0&5f` z4H}p2IHdpnk>r}cjZ`&Ah8pZgee&V(*rM;oJzrl}-dyFF{(fN9QeNWk)cSXLs$uit z)>Y+JshD(_=tW1U5e}PGVr;ltd79(NJzK=GyuVv|#g}gqCebBIpla6I!NE0BHIya9 zuB>yusIh)s`v%#va<Nbi(D%^o-Nm58mNE}IMR#83lhMFEWYPKr!N65nr2I!YCDf#A z2KQmFFEpwRy~`M~_7<gN4S|EcV||*X^<Fuo-zVZ)_yzMeCc5uJ4!GKSWp6JzZ3=49 z-FK1uxf|o-*;PK>3wjT?I|%Fa4Sl%pKpK^~<(`FCxR#JV*>7{(XWnl`<I7r8!jb}m zr5J!JxG|9ChYtya%$6TXF|O8|lz?cJx-1$a0~R}G$sFCVmC!U7=3IK0Hut!775Pdq zWWze(!q7#T%4d(x63XnH%DB02UjKW%XV!<lyGP%l^&Op>8`SmqHyEK;b9dN7ipwMa zm*9iV(X^)2t=g#7hi$?hKswT^-`~I8n|}rdT7S?DjlG&Y=iz*M8UiZ*wfih)puPOR zmUcEi>d;4dBh9Qw-c0+1+$mDjERK|av}IE5{}KD1BP_HjRBBiE0y?}@Kr%hg8J^sp zqBwQA4LJM3e#L}2g&WBw{|b<Y{-gMXrtE0MF)dm<hHj`>P-&2!t-myiqdwZ2f&YF2 z<%5%vwS+CT3YSYf_lgW@!pN+a9fDCVu>b3P?*7NKhPkzC!7FAfeqPz&ZsX7;{Q^~g zY(yfnALkv!sIJNb(r1|EVKYH8p<`qaA+lPXq@jfVqT;25Nc^GzgYB8kFTTx^j?Xs} zdh5~tt`4mHddu2_dpK7<W$L#q`y?W&F)HzkwVwApYTMCuL0DTGD%1ywBmbhofFaaM zzMmVaoffsytRuzN`=U;!f@wPgXoSLL4Cwb$iNPLc;b&UvPpuQXmm75m-Fze>vZ?)Y zLGYqGTYb06v*J*6htW?8lTZ-1{{S4;*2F9i!P$LiRV1S+J5ukZg&HhLXat8il6$=> z0^Ed6Ic6iM*FtOH-C!TQ)MBH;p@N8#9o)r;cAM}E#;dpO#ZFv1E;@*a2?yBqvXi}+ z&$vm>lAIKKJ%pkU^2Du|_v*R%WCyi0xMf$%bmu#2c}%Cs#o*fOzt<aZu<^JL?-##? zWdo>7ZsxYiM>v%|DJmN}7yYXHhar3Z?jXqA|8gWkD91Vg>9TAH@3!=!@sV3T04!I+ z7}jgqLv4mySVl=wr6ldsFOo@=$^BsPTo(1Dx{a0$(A`*TVWTs>&$LcG+3GAmh_bt& zdf)hq`_Dgr`c983HvWQoONEz1lx{=i`{<r?ew_5>)Ll+7X__Bm*MHm50J^d&;dom7 z<ik9q7a7yb%1%!hbb32ClRapOm)Xk7_<p7q_*-g-D5pV#jMLM0OaxO>K*P2)eMi@3 zf9EOS5x;WHOyPMM_d@qK9CrJU3!GdYfN9CM9I27FDtmL}bfoNqCHTkTCuJ;e^k{=J zkot<<xV5oHUW=p`&t+S8gT}1<f(V08Y_#w1P1WCfuIFOsJ}t{brk_kPFVTNe4B3cJ z9Wp%{{jS(mV!sdgFQqC;53HeeGwk0a>33`w=M!b|9ujAOl#7B{d1Zx*<3=mx1Ue%m zUT_<FGBVt5y&+;Jx7A5r=d7u(F*?|={coVdh{)__&EC~!m+c=Z+liH5SW2d!+`4KA zJpv{L!LA_s!b8O$#l+W#o&!i5V8Qd)xt3_N6khbWfwE-8Bs_V_$0dT|=)PDFA6J<) z4V%{X!hzPNbf|_y;goA&>KH@+e|4{9Z(fF`3@>b)7s86tzE^8Tq}qMLpv%CGTD})n zQ1L>M%#!U{V&>HHu8(F6^!RH}_kc9@60sB(Mg?oYk!v9~3=2Y#f%jd^4&y-=PbQXG zPTb(PbTZ)Ck4VIqfpD*c?gGQ&!J5K?z9MfKkh!tfN%P`M%_2*Gm=5!W>W^=b>>^)9 z0ZvZ$lK%oSYsTZI6|@Wf<i_`34?X<M^N%8@z+;LWvn77Iu`rZh_gD=s5C56`yC&#f zenynI_CQTBsO3g|HJlmC{(Kpn?XN`Q(yPHu1b#MFy4iGC_jSF&(S80E{C3d0Ne_m2 zO#nZ#h+I49_$`2P-0~-$zc9(^n{(PvE3=E+TzutB=h6EUQZ4&s$w=V+xP*B*W3%lr zKRqjh3KDsOX||gR`SpjMt^AB^wtVr71y)bSrkok??rM+EB`FS*(_cL#U1v4%=kpN} zqlua0>BLXkFLtky-*W5a%WMa!OKV2L>HLkmPECT(hQQNn!y~WW>;n{Cc?MPemBzoY z-XP)Nwo29`lL|rDYwWcq&OhSf@Jizd&j<1MQYjZ;zJwck@{W!-*)Ij(SXO%yArWRZ zANaI$l>n=hT;`eL)bC(}PQo8YYZz6}=065VVa*mSbNS#+hIdP{smFkd4LRSBj*Qr% z^&j;6{kq__aW2DkKc++iC9mDbxM5{oT^fWmM6erKV>gze3a~f4>F@JDiz?s=2)Ar? z--P2kQ)doW)z9hq!pgMGKaPVt2nt6gD?Ce#i)DQE(sOWC9r`2)cEYOtYd7Bw_E846 ze8(8oA-aok5B`@gRfZHdcNRaOLwY><=9$%j<w)0plImi;=h_gR)L9{!(E474U77-? z#LIB!@h)*c$C}baQX!@6jtU(lXS{m&P2DRX-`RMXz>bi6&y`3zfhlj&i<O8JDcU%! zI4jZWo1n5~p^rOy?a@A;P38JVqerTHabCkq*5flABw7P5BPMf-%Kq5|{GZ4Zsz6TM zlOGPC)Bi3!+pQ={TU-VFBMddT-9AM~eSYV&WNVP)dX9WR9^+L@Xv&7sLdjQMXqIhD z`RBAFL*m=hai%^OzY~L`>#ZS-Rh)h79+>5<$;PYknY8HO8!I3d?^x*eda~qOOMw;5 zpY{3<nzO&Ea%U5V?y@_g?bkk6RNFoEuf||pvB}Q~e3UN8qE?fJ<kZR?5uma(66E)4 zVvnF1pVH7PiCpVuIP6x+!A>?TC3{SK-9MYlZ>-WVfwe2q-Ku$L1$=Ww#WG8zue*HV zMT8c!hk*JC&0&@Y-YeQDt(Q5Q@7~r*+U#~kd=%JtePykEHE$JH!DJW)p}CsfWuEAX z`1EP^|BNn^f@N_%u|bBEH75>kU#~}BF8ZHPz=i}j>83$TWQIa#&es_$XzCy}@oOdH zFcLg{PMs0gRoUi1C~20pgTSaBMt6@DrdFmvx18D^spsZ*Iyv1t^Q|2b(n7a!t5HzM zc{A<MKQ~CllhN>h_+-bCM3}PiP*Gp;@Ww6haWoUwlkKCvp}o)cYifF%Aq@FG@P3bz zBzZ8I(B#R@cj6c==_ki4D-!v}evWScCxhUYc%1$7%96V!eZST<1|}j(`cBsUoU%`$ zFEX~<LydJb<7a7a(6r2r4?gS|ot?YI_TdsTZ1Q_~kS&dMM#E;+S+8i>?`d+eH&22; z_1){gLdO;aGBr<q@-*0-25TWX#&dVC|NbHhvQ9R?FwbT{Y;PDMLfk%_1deW9amD!i zX}9$HRjz&X1>Yr<Puff~u9io7D^G_`?#!eVWKEnLzFcuJmiRsw_rAi+F_}-mGBGwe zxy)Wc%J~S<JFO+%sLVvpLWV_Cu7pKfxqBQhd$R9twyCi?D)e+CY;Oy$c+!~uqj1<n zM!l)44_K9d7t6B?%=F^BQ3%=sH;Ct^cEMtC+6J9n#zs|lFxh7Eq7p>uWy@OheYAb= z&RkSb5a7wXfXBssYheN;-UF#j^Er9EK$U{(TFAO=mr_*BO0Orox<KZJU<UbK(O#fb zt8jwTS;Ln(%7@DxEwmsxFiB;Cl@;W+K^&t0zqs>>5)_8qx*`NwgjpdY>AuaK6evdN z&W-J#B>EsvTiQnNo0}nr={y3Yh~)C|AC0FshT>8|ifHL!3SIyDv)PA{Rt8w&@B5yV zUz5zGa?h}$)CUd?6PA^6aG*J11<C+H&G|FD1rt+IxRtpSt{qY3>>%sJXZ52yi>XSc zGz4}NW)afB@pI(96~=bIk<IEJN1UIfRexjFyZ;JlLkrQN$_|a*)u-A8uX(AY>b_gF z02PBK+nmT6){)c9J1&$*52^nWEoz_EwfzI{N~=_JCbnWs<+ZrW8TRO$I@;of*5%t} z$I(j?W|Z!fw>+ZM2hDj_S$HHo`h&7%XfeHfM)dSqXvzEi@)MtLl&0%VNis6ZFD5nx zaaCyo({udC?%XqdNkwV=gc=O4vC~={YC?92y8FNX@@kus+JK{3ajUaNl+k*j?SL#R z<yjm)McMV!fdhD3#;8<YiRqe&cASxX`B9PuzGN#|_WlBNg^n2%UFZ*P!y9Aqe6%rE zms7rPcR`cYWJ@m9N>^hs&%Fu1nd(xF6CH45{o<qxCt7Qx9NNB=pZ9j5a7VN<K~C0} zkK>^}JbA3rb4LQd_*IGKV6h#;pqmexaUV+Yahpn=ad@UtkFl|{G)%i&k!Y2$Iz$s_ z=yY#CUduCs!9?e9>y@{wR*F%-OrxZ2534fcpwVH!kHVyW8YITNay=pYDYo@?z$R$2 z>FJNZiF0|@XZ@7lnPNn=D|X=H{V|BA4|@+RUf12yVkpj5+qJQIU42@&B76MXyID*P z{+-*JTP7fyJstW+Wz{{H3<H_|ibp7d6olN>#RGe{_~tWkQtTD9@~`C7d{qP1h`29{ zm!l9XN_c1#c>@<;b|LF?91_q*kAD;hrpsc)>?1sq^02(me|%9g>J&I4WBrff4Q!9Q zCzLl>rFy?6@7d!%4V8X-vhH)JHkcNx0P=P~!L^+;6R%&c&=KQ<3uI;&f^u|Qa-tIy z=$5BN&F6*|{FhtYYD2c9-wZdsT`FBL1@ipP?dJv8?<HFCH^T=q3uj}ejznXW8Ojta z_UlYRC-jvas>MJd%6+>246+X(-2e3RDRe2kht^Btz9NO~bHT=`nl$5#8F3AsU!ptr z-flfZ51(z3$8@vK$~Aspmc@6VLtzqQchYf9IVZKJInpswvhNaJ4tF!3C<a24!^{c4 zWi*f8ZAvwHhRNr=Zm%}}59y%)v<Jw4T&ci9G>{0kXt3*}1yV?~!oPuQ?Q~UDhgg zM_eb#v?;szyKRO7VM5R^Z8ZWZx#Kx;a^WJ`#Y1tl#;+8+Ys~jgw&Km_h%S@+xaMg2 zQO^d2bLo>_U#DZ0{p-B3%h;P)p-XmGXXJtNYR$ym5JC3T`N{LiWu}}L^7qN+&Co62 z<xD(rT{cCxotrNUYB`pjet-X^qN4Jp&o4iEeCV?=+a{FGfNi2W;3i!0!1RN^f8V;= zY?8(T9%_Efuk6KJqamfa;9iHC`g^|WydS_IoA_xNQ$$WoSty!=&RFf*>9KL|!U$XU zhW&6>y4-@!L@DkNU>L;`yZuV!!|gTrkJVzNM$jB~HQ37S(bEe}YE%!NB-m5Ka-3<z zqfU!cSeq>R;+bXuFDv&$L*#U6+YM_O+$rPu@kK>a?fwz%zHeT&|KBxusZwr1^A_=R zc)eU#W)ZP^K1X+-3Kxu8GMQPV{_pMb*2^VW)n4GF_4~3rL=^5Vx;CUVSo`3zF8F1G z;<Y~t=O&-381D3LZQ0nQ{-Z$YllLNJ<$=Wucauw;W_ik5PTBJcN6yQw8dr>Le{n7g zJ`1KVa1ai5>GzWMRb~qTuIhKZN&-G6ASgrg4&VHv5PEZ49muCxECfby*{lr8xbG@I zq6qcEXl0RsoL9-xSimAS^}lO3lR{hpYeL;DN;PyQUf&{mi(~9i?089GQ~BNZ^HYr6 z&u!ThK{@qFoBceRz#7k65dPj>r?57I5M~vjc2v3LK3!KBwLhI&cHY?M3|PgqvKxGD z+_*i+RWHj%RAO>CMy5dh7eeN!zDyAaC+Q+L7hW7ZNUJLy)#k=e(WzLSz--luhg8be zQslgfIDVFbUx7=Ejra}#^O^hR>`SX<pw35KA?G+0&#rGP^N2cRv02BKf-wtbT8Eud zz=*Pgf#z=pMQ>g@b4*Kmt+p&d60ewUgvY4^Ig0t^&*T4mQ0A=uTKEdUP8UcyaR~tE zqXl5lu8b$*kVaO8;n#D}XP?9MTzO}L-ssd|oiPSUy0Xze?DUt;k0GQ|azRvqYDEe0 z7f?Ty$kN(<U~h28&6}0-=vQ-_#hj|i(C+8aUGRr)%EmXZ-Tn=eWXO=oMr(yk1l=mM z>w62|q|KEzo>h5)tYn;0<<iC)T-F-d?l>3Vo^NGzL}f<z@?CT@J)V&Ic=k~GR)hWj zt$m6~+XlrAG3N<|8iNXCFJnEfq-OVriC;D!Pn-uY)V`6%_<}q5B5gfC^b(`h*YGWJ zYnFtA<)gGq-WCUNCUQmBln4v-K52qWa5SX6S#xLoD`t8nbRbd(VJ8bF1;$n#60j`z zO0sjOb#O_#&-0RJD*W{#e%Rh>EG|PxjPJ%?h`iCBV#6K}ys&z$irw`HmS1{@EH*=r zwp5cO<MaS{($Q=4P1@i_4<J1&Pex)vf<{*Wfk`1B0<cOa*6W*+%U3rtPLwHvd9b3# z6(z2kCnry}Endzk{!wHh(w~O~ZD<AZlF{5Nd=E6D4h0gj%HlhMlG6;&(TNML=IY;t zo+qjn`LP*#U4;ntlMD)DwQuuBCKyCBR?&G8a7A=Jf{O-c%q`;0eu3lcYZvfaw<^s+ zOEe|PGH-1Pm2dMT;ah!Cij0(-GDu6}>3vUB7RN05_1|o^Z5$UNI3jLhaA5B+>BqIK zduP1jvZk8<FFlA?(EifS&Q4wtZa;d89>dQ{qwT1Hzt0bhYo7#bD6INDn_Jsu@})q8 z_a^}dLIikSv-`y;;v2D7hU*`DSU;V8DkW@+Z<ryOR9sWscmM10i2MnB!@)gB9pO2g zk)gloM@!0hso|D+IE|O81F<o}GKSuH%!(sg*~ymk{2DdW@9^ekkeFgZ(s(*n<eDO; z%m`cB)B_;mC$gvEb*PUg62gt|zRjaCWojVmHk+&o^;kR2uBEt~uEabw`A@x)q)uJ~ z2|;PubL{Xy!O*CN<U}3MT#efr17x8rnnFh5NM9)z1=d`h$Uez`{AspXCwp4hGFi*l zNpVZyz#aul@>+bLQ4i1bVR%4K?lB=RW<~?CYmjrJyNh0yYQp6qoxifHGub}|NZx6v zBy~@6;SX{@uqgr*pKXQyaGq8FQYRgTH|Z~R{}xF6F%V94n-~B?W;2#|2`pt^a6PY> zaly!DEonak@!fbR{>?NfE%ZG=Tys?_xXy%X3kM2wQ&&2oCgM^&{>#KsLaoO$BkIpG z$&`?C^00r)^P>&TQ)X~Ei6^iL$efgSE0=?FC+eruI>xvhC*6@Y>DO><0?``NRUB(N zL_JN<;uz>4@+E-?@H>AlsM#wdtS?RS4mG;GnEd2M3gO>KJwB!_V}%1h7-ngQW&3?E zL4Ubs6!Q=0TKA|y-=ch(#n}2I*P?58++d3eP7^JCHhVGwim1}y+NaV{zmgi)QTx`h z%WP!NOwr74{sl*P&Vm(yWc^cY{QH$r;6=woppd?~b0W*z$Z1bH2>=}B@#i0fw+Wi0 z(SKrm<@AYf8-YNtXnXQ_@!J=h2Zh^1V3;!Ij`=>oUpd;gYFM?0*O*6vVFN)96y%+D z)5~%)+B5j09VM)_6cIGe;N&4V_j7j9?qU16&iO<h`?G@Bp4*gs8J8xff-C-EPBxsU zv;zSyJ|&x8HD~XSG@QF#*G|M`Nm0!KXC!NGDg}XsH=g?vJ?q;QSTDN#Q4(-tUG>$S zzNP5<GD<%Z1h7x^WVdV*-o5Wt@e8avW?w0<?!;Je|CH3QJ|iHxS3JMCH#zLj+Khg` zE=42YpAfj7Og5G4=^DmvrmxwcNHYtp1tZ?mxSKk{x=nq+|1?>;{!t{Tfp^zltPQF3 z9-o`cyf)o@x3&ktR?}#)mC0$FWfH-NyMNh+Lx5UGo-+||n>{1tgerfzMXs1WK=j+k z#V^cx0ja1~UCw@Y0xy&DHWT;PxHv)|J7+Msq}G+wRJ$4qWZ84#IdlWyMXPA~&1+3t z2pb-v41TsCB!!)plLouitiC&|^r}Uf{;hzAZ=6vnc+54ej#X5!iW4POu}lLf4c2uM zvx8PYgKRJIU()yvJuG_a5hZmGI@@M4E<tQRVH>xf2!2}b!sfSQBjM>@dXH?yA;q3H z7SuvlLagV=2G6NaJN3m<2PjLFgo2@5qr|pE$cO5g4eWk2k5b{UcfWgwLO@%_-95Ss zs&0+IGRL7m3=-xVR@4sIGBzX`sWa)6-_QO*Lae))DJUTmdqKHG8Ll1|kDRBr>=Sch zqeHQ7l8DNE%@>`MX>xm!qIm*w3O`>ZejB(=?tD2koq<oX4UUTRTu}2UrqZSD0IYJp zUvXm>F5dV$zxx#7?(oI8P=gX`zV7giK4+rkS5l>QRIf>z<U*?Zu^ip)1>y3qJC^?_ z9%KSeJOuyl(Uqo7RB5z2Bh7sMD2{pS4`MCOIO-{VoEn^v8_!NwhHkgz2xwp$f3sW) zo(r4`7b!y9<NtfHoH{6Nw=uh4jya9k4y@W0KhClV;)=Ja<3th{={=&~e`Z-dpTq&9 z*;y+ALig>@*N)2zd-L3wnAU<%T=)czfT;7=7uQJY!%YuYvXy*!l|^u`!E|<Tx^)|J zpH%B>Wpet1+8?izsaYE?{ED~E{>z$znnYN?Zv9%h>p=x;h?{y4t83mvKklh^+l}{! z-HIG3rI@w=pB<^>bfb0qi?6`GklBe}7N%P*BHxmNV^x)#lMf!zd4_3Sm=@d$@SZx| zz|0y}`vp}k26G>jw4*7Hi)!{sdTA0OA~m9C0Vx&XH|*ARj+vJC4*a^9IiKm8&zx`0 zoXC=<iel8wjE=@F*&{5E!34Q+!Ig)Sn<dJx%NaAIv{LSIZu7fM8thovoRp3zyM$3{ z<dM{>V*XJWgg@a(i_KNjRTrWbSP)p!i@2DRo@ik_$Z2oZXfyE`)=W$N3}fnW`rxn~ zqH>}z^07#$rSx~D-_QBw%f%;l`4z``G4aj6jB|3*aa}&Perueo=uz060E~h4$dXjq zP`4)ek?fYv5tTvOJ7yX=1z7|TG^KBYv|T<Y6y?Xs-CO&Wi36W;#`90NYJ?VuvTnNn zn(vq3r{PZJ9#g#K<*WTY8jmP*5mXWBX=mh<Ljrw!W*_H3^wmTb{$w<}uR*x-(fiu9 z5?5H}Cm;V&KsE3O=2yKwL8r%MB7m&@L;|rh^leuLF7f~OTlM82ayGK=5*I9u1FixY zb$y<QYp|~iV~>U57W?Hs`->6WO|ikHZTCNDE*Ef@E2g%X>#r*%1`w1&_AOgjn@(pD z8{rGmhP0;AJdAOnGDvcHfJQ_@^v^jf)5bgDIWKO@f7B1mRk&2MTw8rsRHgdLa?-`D zaO8~j!d3n1{;82ym?vLyTHM(iuaOTD<~jRXq7Q{JZJ-jxrJ5!rYY;S3xn~lqo})~Q zMNDRMDw=1Z2rP<otoy*7iv#+_6IfL$KdRQZm9lW<+LcjFky%}QupnZSkzwdboS;*S zEdH<Hd=YTUp<W<9Xs#AT2<DFtPw>qorlLRXFMmjj0lyTNbDCqH+`?}cA<DmAJ+Lxs z+;tv@xez%@@?^A3$=Q0RKTCMgGVK9U>uE`@5_Gj>%lDSn&?&KX>+Pw?!n996neq1B z2bn%}s`0e(OK-czWu^3$-8sjpnnx{~W@j3Jn{yhY@Ga+`cxooH=26O)K@xZGXCjXk z{4cu%iIS7f-@Dh6Q?2Qmd4^D}y}heUO@4gF0ZuWJv!F5!T>8&opKa&SV{L6I23EM9 zEMG3BAn-YCO>-^zVGVfmO^(h8IhUf>T9vhCA9Q3@7wLWD9o$}AGF(puQ+I?Yorx-5 zeSr6AklS{(Kb#`DASYK(TY2^Y8+(?_evNW^q8*iU>SSM}OsKRy;XLLjXe*ZA@sQdM zdE;pDY%=fFUwrZ94j`;@;?5n0FZzMBY5^^1=R9Bg`Ku7n=#NFI^YqD>njAxaW0Xfc zuOFBzk!-e9z!E@Kk7m7vwyL69an0=J&36`q;6hx&W@c8Vr<1FCKW3uHn`v?+U8IeU zN#ZkV+CX^CiHz{`WON%8<F(VzYSeu8ef0i^yZD1b_f~wFk5!iV!fM+8tE4zS1n|Pf z=Kz+kyA3AGH1n@R;LhxIPmKfuIL--0POyaI2YW}?x^0H?DH4igHvo-+A0cqUaA)E4 zi+Fr=)C_}e`Q0upc%1yDs{>!riVV-*z_!D!KgwlyS}j;Mz0|7f%_@eryOoaH`s)-! zT#AZkY70YJsp;x*C=Qc;2c?=)>F34OGL2t}u*ovV?~ttHJ*xvhjU35c*Ns}WLIVuV zVBmQEQ+Ev_G!S1dc%JztI+Uey+`$mfcZ4)(5JU)+*smh?v~iVOnK|Zzn_WU50Y@HP zuAq?m$A>`~6t3GEyApc_a<zbq_K7c{jj7qkf}9X6^%#Bh&FjE3+{eKGtp3<jsByb< zKpN2nH|am?FzA8(^95evkAB>o`@xKtTv_tLjE#nyZ}O$G*gNt5Y!5=<V{SJRxTmD= zhcW6s)iBy3838t>kt;pYV2P~Inzwn^06Z0~^M>}j<jOS?t;qD+(H4-dGn8p`n>@6^ z)>L8PtQGKSc5FB#Dda4-q%j#ezu2akM(&1yXya1Js@m=3-TdrM7iphe5bsV;Xb8Wy z;k0SA5^!Kcl;!I?&eRQ9j)yBW*0R*MgJZGY20IoPD$*r04bV3ioa(8{-lvo~Mn=ki zzEBFxzJ$ym${2Z*_gET1bJe1h9*R}Q{SJQYAH!^1(~!6%aD%5GIz1cWAIL9DS^O(} zJxU+Y1<9~P2N<LYiHc+ci<KS2K2PK@lq01qx)@D2CZ8}2AM$>unI^k!K7{$9wmL%s z4j6S&^)YIERFB?0{wwphe#y2FnV9C2OY&KX46~71NniH78jK*?Hl0_k&)dChiewIx z{WSAIQLtY@!zno9Z979}C16{zL_wZdqja0NXn-RyXsrB&ztTI@s0AJOFA2qqM*MVy zu{k(&*ZP-A{9UAD^>xJBXNH{TXm5P-TMcN%%a+N8h4Io?Mc6!YB?RuOV`PGz5+cjA z7R(9wW@%LBcv7dt^T&({;guc?nou1W_QEK!Y}ZIGFj`z9NfuW^|6k-a6lUV5`CoI7 zHQpuZzPm#KW!f$`<J8r|Vo7TDW}#CbyM+LQ7U_Lm05?3kz)>1m@GL*ow}+MT6y261 z_6-mYP`oUrx1A2BzV$SE?R;V}`!R+4&dkqu0N2r`j@3_#=O#ecBl&lnbOvVE0z5o^ zzz|dkH8mW=^(y_GxFq*lojPW~{e9Q#^s`BjH!|De4lG+|6W}x_a{0n20tCJ%Ez)`! zuqjC6!B^9G#XIL3V_wxTLYmv<StD?!jDAa^YfQyUC4Yyn3Ep_d6G;JgDRWDLU*U3F zRvt|p(w+^fp19?Rxvkd7Gy}*Mlk`9D;f0yJ#O;7h*FFJMiUU=+iegaM`KI)1>c(i9 z$5-C>iR@4jDm%p1TcOOSbE8fiRiw?-hDx5H@S$ZMmbnl$IX8woc2INQiM5Q0zRC`b z1s<RC$y>+`t|q<`A10SgN}e={^4{u%0P_Dvbtoh(+mrKiFF{5zaAgPF|Aa?bVLThu zEvNCZi7KFMbL@;+E(De2$cM94+IHF8_J6x&W%yT);4&KCw6+}=^0SC_$Ws*=CZ}92 z+Qr34#&D|_A+1pADdzIzn#$T?k>GmR#yAu*7+fp4qc{6<%)ZevfYqoU?iZIbN0-Z8 z7P_7~Qt+kqH64?Snkk9+9HC$PbR69<zKE!`oPBvH!E`SlT4tKIN+y<*1iyN7sJQP6 zl~D;d-3kz}3AOhqg;?$XEU8~yiEVJov_@CN;>O94SvX;l(bbwKM;xX3;QfEr_vzGb zd@`&3fH<o-OwbK_L$)G#E7{N+VKdVpjBgu2v)NxmEe}DCGb}4Fn;}@NQ6P^otu!q2 zuXWO{Ae*D&)*#XWbdfZOt>ewU(}-$re_nh!19G1}$=ROWpSgzHsvG%7@zV@>6)1-3 zi<pOAhpnXGP%B*QF6W=0<fAjLcxvJU!`biH0(1W`t*r<M)c2x-#Vm`|88W}z!R##H z3H?i_Ql<+01scH`Gh@16JSv7Y@89P7glrQ{j(|njq+qoqlI<#|&S$Dp%;b_z3rZyO zJ`A27nbVhAd|eB_<C&XZ9^&_0InyTY{3e|B026Z@pQ)a>(ip+%-WSg3g0f@yhR zU5_0h)7tH6ei0|pEYsg0n?FBN@IJKmj9b7fg>Q1E@`^_bE_SN@Yih>{Rr?=~Hc%Y= zht6lvTR%!T&__9?P}fCTJwG@@SyXf?VsCM3f(?)qP+lL|-G=r29_1^6SvB5yDmG9K zH~NGbMQR<`MO2S%V-_%{e8xWwx-;_Kx*1(Ir#QO65@(a`T(!uUmWSl=yG-6=s6xY% zuOo&~9^LAaV-&jytsBTb>=~MwJLT|k@NAw`7@yiJn__He=}+r9jgoI9{Fik2g3I67 zaulHmF-+5c`XAF-rlM|8d0Y8yvWz+}ytAb2@Z~Tu45LmwVTu$fs><UJDKX>lmkXVw ze{eFN^I@jpGW}H?|3<`cpux`Gy~tO0X!E(&0?NN75%;j?YnQWJS)ua3b94`kj^Eq3 z4o%6d-kfB^G0;u4bS0w@t%Qn$`p>Jz03uIKRx3E+ZeKn3mW|PAsHeP{-8Z!X{ue=v z3#f{I)uE<Zn<nRTE`x-&)s6=C=W1(JrtKVkdm`4pDbZ=)u1D(EztIz$K<Aa;&T|R9 zU#s%yg)jvTtp0t#N%@ffr;FpJ-H<Cv7p{+7wY>Rt%JiaNS&T!kYR)c86Cv{Z0NRM7 z^3pz&3ntOmI0<1dCPh8;a$2;fg48c-RgT2f<bx}sdFKJPa<lHR7WZ_j7C_jt4*zUt zg}u-<U56y^_vNS#QEBa;ej1#}{knr)H_S=L{Df{9l7OoL1eO+z$4@H5Wp2Ii1iQIO zx3C~7zWt6PJf9Y=vWLYPHzs%mcr#T|*Enr`DZ3+MOS?qj?0LA$b`H2v@J1`s!iKeM z<JVgaY~u|%HedmPQ6t5@>W0j><pLgyWS8UAhRwZTUH1=@b;L&@J#jUt1W|Em*hLcf zUc{yZRO^ThLuKCm<ZxXix8AicTMJQ-HP&{T`&*(HhjP+g0QyYTy<ZLx;kqZy5P(0M z98tPPcJ36dX!qLja6VKJU7nj%5-82Ge1E`UDko;dEr-57ccdI^Ea!mC$6*ob3g5tj zJ*8)H31JulGK1E-i#Cj@My8?(zTlD58ggfLQPEj5-y?8h(uwt)yz|^FtFyb%vyiy% z<>+<#d&_3RsjJNF7){xy4mPO^rZXoM#rX`{E^6i-hqC;mNDLt>516~BK}B3uFMqtx zeh~I2Um*u6xas6CBxLG-uR`^MA_dc-krfV_7h9#w-f}Bg%^i3$eW07CX=WGB5&PG| zH>@D^yMJrOKZ@54dKTUqF*^e;zl>Z&_I1|(V11tG1M_D{Ks^5BV$$RNsexBfV^)3# zLJ98pT=^dUAH`BKqm@Wb`SKL61$W(DY|!N7aD2UW$(}r%#&MBhq-B#2FS_Fp00}!F znuyE4=>J#@$+~x8vCPy#*7|M{#OHbpA{KWa5xrc(9F`fjp`b79sH39LxYNggn~=S4 z5(0XxSayb@h=@}hS`%#xrH=^ma~{xiIMX=W)0Tw3xbEo-{odMti3orTUYPymnzmu! zO))Ia#Bt_)@#p(=BpU7ZZCA*F5<6jNzn)qY)S^2?u3GGAlQTckIDWsx9OM}}a;^Q2 zKM7U-pz(tzM<#MLgQQ37Fe1;vF6^$@74I2Trt~FT)#yo!_xCQ*){L=*8xs`vI!=tG z{kjK3;v|lY93udAm3Md?*@LH<{<c~_TZ1RLH|roIb!mNEZkE2HZ{#84CW}XFF04f6 z8Tj=^{;*Z*3Lts|86V!<`{}lut36vxJd41yZbFU=K!O_&*$z%~ChFbJni5hfI{e`Q zWxT52JUOVSvz)M#aMvmoDv!g~dD2V!hz;v_sw{$EBX$*!MP})|RDL!jgVX{ghTJSv zcX&VfkD|=FmP2q6(QTd==)D`@SjJS@;z#hbS-0^bDMp*9)ZD}q?J^dhhcy%};F)eV zmp1$j4I_Ca|D$N@!m7v)WCxy<bG>?qw!zzgK9TLZ1y^JY*?08G4CZ1$_sU7(0vn2w zMZ!Kcrp~W;Ti&MRl9Hs5NE`|relyW~em<7Gc9c_gJ+%Q!$(@mMdsNRaXjrU+9NUsy zt`EF)wddX0R0z)FlalLgl;u+%N}6M=pPG+ev&Z(ZhPt{Rt68PmCb9H;uti@AlrRlx z1X`)o62<Y<>Jpao$12JDK&fhJargi(zowV3#r1~c^pHfxroPNNTa};gSYK^GxoXYF zfS0hoV`Lz5dm&5v9#eyllz8|<WC-Z{rrw|a-wb55N*n5FLdajvZJ2W_-+rf56}=4M zhr6>z69c4|P$ZeuB_o^^z)}2EQ3GKc>JgPSs@ykyL+J|jqYz1LN$su}Ko&T3BD!r{ z?*=74xCa@l(JIsk%lsCYag+O3xYwY`&A6p3e9rz4pslH&rXEny6>x`-CkYsM%}r%J zJb<vZrIY;F_8Q*}m|;_w++6NAdwZuuqXJc)gaAdl({V;&%)e0*m0imJE2J--haQI0 zgtE+&_qZKNhp@n_!+EhjJ+H-yoccp$n?SWLpb^NM{jMXEbb3PJ&&$BfP6B5V<DQub zvawP_kso0FU%AvaVVr|z)>aZjI<#3g3nY~us2thfNxmKwWRS4q!_C37VdLaZJ*)49 zDY70fXS?;4$a7^B;y#6;zQpb!ggjJw2hD<T4u52sXh7cHQj1sY1>Co+I*3SZ^9lQV zw((FMi7*v&{a6^<9V7ap<3dPY8=!f~eHl&QuU`B@yruG=#TiT8h@pwkDwN5Up>eek za2~T>I=|M0S%C|91ZyW`UXeKxId9SEn#4suuhn6b7}CoLPxl>aK+fx!EV-s}%)K3X zf|B?3O<~s=0N|nnHpyB(LN~pzvo^9G7vAc`b1&{7ta5SSZ#xOtsMI}LAl?~Y-@8VT zDJuclYX}bk15XQgJw-bbHhk+0V3RXH`I}K(23Jy{Av*mz4q}CVw`7)#Rns0)@hJ=o zg1|kC+}Gt2dk~L$60{B%gEFG(&&f2*&A_fi&@U=78nRgt-BsRRE6e<*n_5{paL7uR zwvZ+7eWSu^ftjgahYDA`y>$K81>+aR=Mx;`*c=yj0w3RKM&O)!LCO;KG&?yEqeK{; zUS8>4N?fS={>b+){WZH@g^3@@s<&^eNPT0hU{D8t0GZFI&NSJ359)5u_oji5y7*YT zS2d#(e&A6Ers-@*V^)%&oXIRb>)JmGfyR&(eo1|yPqEjPYUJp|mz>zg1WpKYna=4z zLK(<;*D&iSqwAH&?slcMH9pC;?G_~;T9%xV;ytfW=-|Qg=GEUj<7Urk3+Kd(`X-f5 z-zWew^#|B5C6W1+Vfy7o>36;h(vs_sh1&z5!?x+SlIaD$`71S}@8v?=sSpAm09%Ie ze8s+#qzA!_!$wDf^7qO30kXJ}{_O5V9@Z^lz~X~!KJq)e9>SfYNoc1^06cYN)Qbso zJ_scH>AY3yK#9r{@up8gUJFT!fK@J9)+SercIqxv2M@SAX_lJ>+??f9JG9=A>ik}k zMuUEaU@;Rd=*Z_eW&=!slC~H!tVP|$%%Ht~aRHvgeZ-}nX6O#FV3d%gs{WI|CPF#* z39!oX3Zz~3g86aoa2ZcL<WJ8+7&|QE(l1pc6gQ!C-N*4q77-WbGXT8r+E=^&+8(Z1 zPJ>0#%n$eWV9bx7|E?`Pln|&J@%e8S)fTssQ@ki#2JciByI821Z&bM3Z>9Cf?a7;- zc|h6M^?L&ri8H?uC5i&faStIW6E)l)X0OR$q$YzU_Cva371TVhBOF{pLrH#R`IqsO zd<`ZF=Vg<f7J0r(my<QK!Y|m|DfMQAh15NGtdr)#9_r=F(G4~KkD~Jqg!=#ExT2(t zQbINtMMn0Plo_%&g)+{(!`X^T*<8rsuCg-D*_*5EdG^`!IL@YX*4_7azyJK<&(D3{ z@6YS?d_EpU$2uogz6UDDvBPa6>{-B{LxE!Nw9QX7{P;>!qOPA@xUT6iS(Zi~8D32P z`xgALL2G-ClK8ApN1PC4>{)+{<{Tn-dTu*+EE43N2R@l-$p3=@xo<`0^L_k}ratI{ zEXxd^y%;C0!#)wY|9ZIJ=Y`J`A}wcU_)QXRe^12Xj@9fMDdS%Dp^~WHVx?gq*T=8X zntzri-;h2>whM1)y&L(OtNe)`8EW!z#*5lP8b1NAFvpVPk-FxQE4VDdWBS?<XqQzE zc5*mVO|idJr`K7i-_mMV3t>hqzSX$ZJlS-QFd!ruW_BEV%!r*?TwzLK`HzMVW_nc( z)5AbDvb8?N9Aw+h=hXgORo`F+u1NLGX(~*1&$|>1rt9D$?UXM%@Wq9==nz!B{#o_X z`l8gpS`*Y#Fy5cw4lKE^{x$&Sn2YxTkAxyNsn_YJz7?A<|LP4b=(L7}d}#dPD>L2i z(l4Sgb?mKT2@JEKfx`cz87)-)9K@YFO^r2ZJRpP-A}|^1!ax}MQ;VU<*AYF&)sQ4} zD^p{~JPl-sI%>s1#j-{;VAfrNfjT<=tY@<K6=yZN{Hira^m%O{D(lF)@6aswVW*x* z9wEsfQaJ}Z!b>+EJ~29-O#0z+@zL@z*vxn!f$kJ2PpTxMKGc*VjaQP=<Ylz66}zvb z8#riFJEQdP`dw=g<MN{ma?LpevDddox^zgBiT81l@iB&G&4efgzM3`sY<Sc!*WIf@ z)cy0Sn%)O1HUFlyD1H^}^jgW3r(TdcPzr+5czFP*@^F;=6rl8pBBhY@k@{lW%FIw! z1^R=|cQ0S0L|LMqcV~4Xr}0XlqhhbD)tRBnlCAPF^__PI$xV5~R-#V;IBWzUt#WPh zYfdA4+b#R!DHu9F5hX+4=(13!grgivSu2FEBfD=a_2Si73RnhATK~!OzaK8f<8gep zXP}2ID$59(*1^s)R>Op+)~*>s1%4}y1wB8vaTvSHD>-<%K#oPTjuwX3fh*$Ss%gp{ zeBh;JZDUO*gQ(X6=__d_yh_||end8E{;Jo^a3yI#T)`62dYrYS!CGdN3$hBPB5@Tt zP|{W18S`7i1rnhq)cd0tJByp8-vS17mCp5OGAC)Z5ee_XX_#s(K~uA$JS+gvI?Vps z$0+kCzNHLf`kp64mxffxVuz8EQTwPvosA30|7ZkvqO#zD`-jUK!*)VU6*#ikj5+|A zasvJnnz*`(tMj@&e3u8fmSbO1Fj2k1HBx<=M9x%~w?^+Qm(0nmi<{#6bod}75qdsH zKj4{J%iY3}e31ve)QLvIkt3e<WjdoaPphOJueRRj<9}PHhKQle3$`1E@S%Q8!Y#U! z#SI0$bUsHh1qy@xNc-|mr0EkyXwH8$l}=hu50_PtduQ+n<I{(mR2{=V4Vfs9hl!Z( z2q3-4&J;B?mj4fP%ii6IX+d$w(mFB{q<qWixg|pV1_S#vFX}q>C1u*zMqfPAt*_#e zjC38CU#uH#JlR%7hRXd%v%SbWBXD2!cvb*oe>U2!ePUaDtnNl#BF_B0!2Cq}urQ~m z_3d9~NQhos-E(5OcvK5q<evIPPj(Y-$&sb%phQ6tf*8lgR5XC7K}#z6)=8+0+df6g zNH_L0sjx+moK>Ff$Dgs|lxP+{K@DuSL}J8#br1hMdd}so=6MUMG^H&w7>G>R#Yi4# zjunkt_nic;3egth*&HzjBa-Z(9y|}|Z|ehv9)ww1LCzv5XsqU%R$@1EsGBMo_+#XP zr@&LHwCi%Znw|#I%@U-)njjRpy)&!d5KU9E<h}F?7PAd`5{2aC$1=^P4?*8g?1~t~ zGApDgDh@^2E)l&A2Of0spDGH`o?7K;{lJ*C4j72_hvly5_IVSou?+x&CLhuzH*;<} zB01FqKoiyR-Zpt1a)`>)&)?G^L{w7?E&7~y*!AG15D%DGUe;}EzSoLTphC$)6vi*M zPx_^@SA>5~KMFq->+idjL(Qp1l+%+(GfzxTyIzYt^0xesCM)H!*pRW><|aE;JsiLt zR`uj^<)2mAm1$Kx%J#+`9JP}#ygU>l0;8L6)$!@3#wH%pfxBfHdaEor2!;kNtK|`! z2Cp);shD*tn9Ett(!TPva`d}D*8jU;bjWG(qKu?S&al}W?8?k)l-3_PBZu>BKFFCF z!C<QBK_3yX3LDJ0^2&h97lBWdgr*SZ`oiq@we4gNT<OtBj{)j{zSx6Cd=n$r^y!K6 z>Y^G@Nu}EQ=agSbD@Yk(3ssqK!V#4&wr*<*F}j|9OWm3*yoQ9ki>mcRzJ?Rk*TV5A zRO^+Ses>Ot#nF2SE@-obPiIvMuFXL|R@Fb17Fwyg;^h>=s=7a=Pz~i{*IuXTm|<#V zXXgy<UCNb&)F^Eeg8R}e%P%q;{=SSh(&CM+m6i<(zkBCes`<msBe!Uk@x;DWPLWm` zi%0!A|9HS#h5-0AdNtz$l`TI&jiO6KQY;K9EeJgV*<Bnx4V_P!pZ;&`f|l<g9so<Z z%xtXX^s&E@GV(_*Z`wyAj24z6wWYW1&8f0Q_^9qoHdHcrTMcRa+18mSAau17b;DOA zhq(|j?c7nfe42azkA{R%R8ZqZDXr~q-NTR>X^+lYCFx4)Mi}c;01TpYTSJ;ZQhs$l zp>o810@*Dr)7855ve}Chu-YmHbomKdOO^@JW}-Ihzv*hdA5H<Lq0a}5RRhaQ{HxG2 zgzzMn&&RtCsb`hvLUdzo*L4Iw*Jt}b#u(*T?0^nX!e2k&b0UC)C3_DwWKQY76byDK zp0}#yskWOmHq}-7SKwk0MFqiDU&?&|F$1X}1y_rglX}(NamH4aOSVK@nrFpbS|)y4 zwzFI3^7gZzC1SWM#NMg6)oO=9qJ0N83!>boj{`q$-+asgz`m#lR&etgv+eJa4WJNV zb(_;~jQCd5G(c{@z|a_`z!X9Rc$FQ1j5Ilf<h}%|xCKpaQ4B51Zpf!GytbmJR~qz* zC>8OiNmDjA@KaJjv25OU;>wICEiS4PgH)_-qThFkDcuu^G9CB3mcw{tc`qc-k~??K zt)eXVEOA#|%8c>EIYN|E966Bvxt*{3&IgC;+9bIi9CR>1zEXh0Wr$io`sk)G%taWK ztNR!-WIeI=C75SRO1#&-Q0B;GGQTRJDw>(<<6a613hEn4NQD}oOYX50g*v=&ogYZl z9~qKjnQTD5RBKTZHHUUuk2QYe!R2#js7Kd(TkFU3_x{0+LOI8$=Wa#oXbu9q!>{kE zVW^A>hbN6U7_RF5`Hx1`yx>Lx4i{-b*GgpL(S5zxn4fUDTO*Oh;SUh4`KC(GJm(O| z>wfp9<`$gkRz$bYd6vxcwLZQ_+9CNF0rsm<IPgt5uC;e1S9s}+SQ=?h$E>?rAdznX zR(5wzMf29aUNLT+tg)@q-A3K7Z@Q*@d;FL>lY&EhMMTzJ#wN2Jp5+dincW?;=|QGF zQ9?0{*V-9`@LV-k+&YWf$m2>?054Nt?4;w*d@QPx!tV=>>#Zk#{zs#mWsGt2oHq*7 z<6jPYKN!gwoZ;Z?duP*|E=iDG{P;bbQ+IFAscb)k;q`voObMxE>u@9dZOG?z{g$tb zzeg_uC1<~3?V4g}WJi2N{;6WKfTXLN|9;v@0&m#pt0X`CY#I@_%64oW;Yw!7>})3E zZ>#_}1#(w=dsGZT4?ci<gHX0<HO92;>K<Fe8?q66CX;doc4E43np)c$ti{FiuH<KU zFpnqF;Hr6P%5QY+6O<)dA#XzNq|DFQw<t&{ws(v2lqaZ2r$&qYWKsexF4S&^)aJ>t znJ(<?L_N+3ZCA9Ig>H!bf{h-O!5lumWVRj=^+oi|DE^<V8zM9$oJuV#wNTwY*A6Dr zmyEAv$G_q;YySFFf%&x-3Fp-QF2d8_d|p4i)L?G|{JJpR(XDBUG$=7+*O-?Jxg{7Y zj@<)eC(#~JOF0zUdyrT;)J^?&dVzj*b=x}Xwv25o&G$~c4vU0Y{kKG1w*CBDpPlm+ zdV*?;?yg7&qhi%KckQ)(DXj+UK9m~HM$bsYs6Q_PVt^|MI-r(l{o@4>aKqlZ$hUVC zF{f1hlee@0=F>eV@2~ZbcoZhw{it3iJ(A2Wx9T^u-H<)&rn2|Wid#vIdyWHa)4diO z(@XG2Rff+O9x_8BCN=&pOdL`2+|&^PJxfcxT$LBV4XHFzh%vlNGNh+B6*SGWc_-%p z+ZxK=q)KT*lp!is=8RV{%zf_~?F8jxD7_|Uanx2#^al@;B_BHq09})r*8c5QNf)Jj z(&Sw(P!Cnd-!6ZVe=c;0M3Vz1x4MxLKc`OglMd-#D#OqmG&qpq!^+=#0d`=a=X|BU znVVBqZ60a5LtGrc$zr{ogj%(hyWROV3$nT@XJpR@yFEDv<4cHr)cwu{d|5u`#>uKz zvRv6xS`eGuQE3iqNbjDLW(?#9@0J!`hUu|%y~A@IJd9{eOOWKLr(ciW1ek0G%LRW7 z^&vA>RFTi>@KmbQ?;c+{zQi;0OE@X=4?vn~?#Hh=k9ia>Ee>P<NrnY^w{Qi3YfXDk zk2@o6I+#yNfK?hsf1ReC1}JaU)r}-t{DY^5+<c<$od$(*A>B;kW@v0Zc5PgE%e04O zh^X4%9-j&qbrE8TK7s2QJK4OC(POGig?5{x23PZnXC?PUj9flq_8;!{j|sL|Vt04} zXh_31Vm~VgINAQ^@Z9RS)}TtY#o{?;I}I(77BM|4>pa9>FUo0sk^di!@=7gI*v_#0 zD$Zy1)N(kz;4Nq(adkZ@u$Puc^kxx+9%TmGRD^kF%inuGv46^z4X@pXbDU@tpM09y znJc{jryh!ojbkN5Sbvp!1gQ8m=zojt=W97aYCUZj4kXov(EViRZ^|jA9W6RAjw?F2 zZfC255MF#oAEbt9HPtV=?>G|=H_zD&43!UyY9G8J+fQf70n^IB*cvBPFWAiF&A#Xv zdB<Qjq$W0CXnZ#(eax*=Z0xVPmB;<YBO;|Jti)rvC^g@IZt_k1EzUD+S(<+Tv*gR5 zuZyy|Q@wXSiNM`&W+)9>=JS=J_w~45|3|}gZ-Cj_R+2y@yM=3y*g5Xk4p?9Ln<n!Q z)f-GzKmKiw_?bK!45U0Soj~xMaG9iW+^+;#u6I49QPamqtEVqsI3HM)m+tFW*;tGB z&EDJy+Yhll-2hs$43LD$y^zX_!pLrc`(z~Y2K?@E5cQJ!-iqkG%6Dg0tMK%3&-IX3 z1`jq9A|})e+Ys^T2i8&hy!6z5OtWP~2<A8DM3gVirD1q`dwgvz%hC6kEs_vrd(n5I zajtcOSei_SFvF}AF2#tsrL}XX&a~yl?wfSrUgnuCLmQXff~S{d>K(I5d0avr7X~Z2 z2A%5s2-BulK0a?G1$bn39H{qwbpfE&J@AzN@(-cwVR2{rQ=XAsQU>~Ayg@eE&J_(M z)iD%h&nW4`=1%^|e0c4a6QkVQkrr<^Wkh<B<;76&SpZ7D#aG)u!XjBaJ91JIi5d5u ziT)joSY~8@tx(19P4>Hn8Zv$_s?(7zu{yx{A5B}V?P-E4GJQpml!(cTj+zN}TQE4% z`0m%s{%+OhLl+g9=<DO+3<6U(dOg299@aOzZJSL<teX{k^eXz|M-lhD0EgG`1YoV_ zfUzXjdBiu6Ugj|?ZGs!OiEESiSNgX>a0U@1q-ZyP$TCwVLhl)jmajQeoIu6CZ}C;n z#@yhy<RyNLNEB)W8HBjfOPB9OB8I-pd)~bJ%{8fk64-|VyOrZ}f|Imf4ZZaBA6`|3 zl!=SJK|htaWXi?AWL2PlQLnUiV7K?i@F~_vZ_1ZI#e>TpNKXM66{vq1-xyeL{$^!j z0vXf#U8_+k|DA^Z{%_2xQ}_ulAX)oe)EFa~>KhsuC8PsLUWZauMrAY8eA#HWEWkn6 zcViQ!UX;>h?Nucb5miS$_M6B4pB_`}nqMKH_oUh5U0&tD|K$Nmc)8)dW+h)_w|~+F zNlq|H8LXSXD=|MGrTkPa<llEwz%~8<Xl%g}A&O_ix8`#1Ab#u_s=_tyUFT&_;3XT{ zS@aO}%DU=rjeI_>(hf6w$M2@J{w^#roHrIgyzrEcr58b777KB$R64td0@%OGIiLKX z)<gFsB5W*!)wp=id<|sVR`~TXO=w{0=Wm24<lDt(rgL9cl{Dn^Z;RTY{Y@85yG28C zL60Z%6CTh>Y1n3|z^-<P`a_|ea?tCc=dhH}U51;_wtDk><JU3N(6>CK`5vfSC0VVQ zS(EWnFQwM7nW>c_hE+MjIMlVWa-$;-X!wc$=o;<-_Ql+%mx!Z=*S|jNZ-{}1$lYXR z%t<o5%q9E}fIGiu{xzKjim+wyUNjZr0w1}_cG_s3&kZwMacc>0!)tE|oiq|<S)=|N zzqm5n7&bPZ0HGFjyd&`EIy^jQvJ&gB$7Gi-;X+Bp3*<qISuBOy0gpzln$qYM*RFwe z>;4h!Z}##N>04hpDY35d5OM;lWIByA?#|~vpS)9F&zBB9n^pLlh0#1Ui!-b`Vz7-5 zn!mGiIh~**SMNiy;p-e!na`OD+;t~C|H28m>+*h~G1uTF>*dt_*4h7WWvs3Qf#1rV zJ}fZ_B|ZjI2TQi?Z7xUnivzok)9`1o_zUAH)O1wGJ?8jx4UZJ#7+E-2J~VB}A3IaK zM@(kw28u1yl^L;fQyb!;hlE}SQsc!JL~*}*x1QKS9(FyPyu$MwSM%-tA0M&57ZxGz zu(y91s6{a+6w;FC9P4&{R9ptX<FlY7fpikt%YmIY9|Id}4Yu;%(#U#hs{cMPP->|# zRd#Ql@WIbnUQh1rV$q_ojnn&zv-2m;k;Rs08q4a18)4$H0DtpGeZ499IHH`I9;dQ$ z&fOuP#9`n5&fB2boSPcCrjX0m20LB|Szub-XHVl3aCn$$!(H4L*C*g!MgFnL`>~}L z+o9LLcrg$k6!fMo?NYyQts5YZm_dea;)zTg&X=VIdwmwtMSnx}ui@T>l<gtk)ztaK ze3~ajkW03uWCU>3PahGvoZOCMNxNc`=*U{x9a+~U;;ykAO>Vy~HqwM22al<}pOCqw zsAH+5Br^K7cHEn&qIe&4RT+N)8~1Rv!~l3}ulhRl!rlh_ruSDo!zv+d$|@s|Dsg8K zqGOF>VQNE0x~nmKA~fI~VyVd>>r*uuEi1?auO?XD<s!e=4on}%Wgal<2^Z=zHN2T3 zA5T^d`t*TQz+GY@QQy=c9D`mmM~~H8OB&NPdsKPJ8<(xu8JR=W5-l5J2JK^d_VgS{ zm+PlrvV4Q<$fb+tRyb>eZM&$?ee%7Ite4sz2bW!X37!k(>!7(G;Lystg(7096hdA# z2RG3TGE%T;ZmIg#^rmsgp)EZEBA%v#2S7;3`;F{wl4VYFb`ES0Q%+A?fvbB-=-UBK z9~|$sOzig6WXD<0-u?tzZX;aUP_En-8|`;jH4@C_*b{L<+_o?)5KZ1LMPM-0^O5x= zrrX35_OY|Q_ZNXxrB^;wCV+PM(r=!Rep^=t?l!%EzA5}-HW;-hKX;objP`5SzEd$= zz~-T2oO-$|Xd&Wg=5yeAeAF0u5|P<ap{|s!U#X79Vbf3G9RK!M(SZDIKAsOT$&<}~ zyQ4%MMEoRE>zESXJ)7*zxQi=?)6c*kDV%p+$*>%M1o?$``*Z$7Ip$;vx(%+}4s?PS zwT6q18@KOqoP>3xg~w_i@FZSP!TEs#4LZKRC4ltD7<FDW`PW4lB!AF1uz<k(ps9Im z_m#lUv>UO~r2;%{UJ<}Yatn_q&Q<Hs11;e$jBLtLJ{Oo>^@ve#(}mYU5=$+qTMqPJ zRP8hC{$5)?91p}Rq4c(d{;qq-#Eq2|v^DT%H_B}soCMak?rQ<uCpXHrahEXMmKM3t zbd-y}=uveL+A?BoAF^WHzDOG!$Zi>olAOGCPbbBNX$(L@ZHz4me}eO!80KkLeuk}# z+xNvu(e@wls((VuuiOj#abFbn6hyL0B?Vs}CzzSU82$;v3>^0)mxq-0XmUg0>ur{H zx#IKCkaMdHO6|=iJSwv0OGfu^zI{`qloJILGy@-YdUn88FtocOA0>WzrXY7>0+F01 zauv|54k_|Z95?bTTpv8|(?K}Q<cS*i-z)CJJzk<-6!E^ZUS2FJpDv+-ZkVOzHL12+ zem?Zm^TK9t-Mzf5-$4Bz_JYvy`#@f`;Q8voy??-LLEZksV72baioZLNq3f-Rm@HoV zpX14sPE+auwFhtCKLpVFETvM87%lM^cfQP=uLKy^?|Hn$QH0y%nf{|G(`zlm)OBp7 zmQxA3mtJz@xWPRVe#6s`dpCo^0qOIdiM&?7_a^IhkR3jX{kMOU%J33}DOPSp!9D}e zrlYcEi&3w}^t)toT#8X5H}}MieXk?gA_jZPd&9YNNNldnkNJ5ukbVt>Q0{q*%1HxK zBUZ?VBagg$B6rw+I|okOc@-6Nq{`iIOWJyU>Ce_6<Ubl_^SP5xT+T)k_5v5@VOVV; zTTn!5|3~yBf7@7kGPMBjW^9K^JpTAK^`1|77&G}CyDOQnt5HqiS!_btNi&>bagDR< z-I^hM#mkxEJfVC8PF-9_3h@%j$o8Wh*lFSU%Z4h}L9VLad(}d;(OlImq30KLRu%aO zm(|Ckk(0hi%-xo8yhnef#4HtVgg|;CacNZ;hMCp9Unp=oXgiqM+Z+oX3+MGxbt$!- z>Q$aq>*&9gbz<FrQ=yTvK`<_exN@+197;WS+)!+WKRmH#+SRx10F$BR+0t{igWRQ! zLAv?NvD#)mYR~;FN`5%r$vw?4&)OI%60Ny!x7|5oFn)4mTJ>I--z^4HU{W{sERD8- zIfQL0|1^Avo(t1M<YV+i{m9W;+Xa6CykV*dbNf-g>Uc8v%Xaf{+U9F}g6wY>f=;X7 zM0?4ES^9RZTd^^_=pER{Mp)%iy-eSRePhU)sv8xc0o!ilIT2mivp6c(+5N7vsL>H- zWnohiFtg>&EP6BDcBHL$9=<4F@^`!GT|qE!`rt{`JW);A64VW%dKDy?Cj=KrYM$7y zfR<#0&&%hu54SyYzmca2A=I^~{;_X_F(PBtbqn73E9P>DDs+%eWu6a--q%&^CI588 zQ~OI)d4?4cFF$=V8l?M&w+k(_s$?gh8EGB~ZFf3+lzftPfbL9=ohghh<*_ql>{d#p zkMcYPt|oUx+@jp^{1T`z<&*ybl|kmL>~#t~@beEWHLI&?>#nz$$(gIG!yiG<#kXME z>E~Lr_Vbu3Auzv{8h7Sylr05Xi{fN*<QVPjoRxkDWfssRuplFR@0w;#y6d4J8Qnws zozFHbty&r}JyfXuLsYbHfCh`T<D8O*NS3tT`7}mo2F*6zD1rz*TVVIJu~1mYz*geB zWz)9$K2KK?%MpLi;UqxL+t#zi8>*@@kqf*<#o9f1cu0BPi}bSHS6|&8^5Zwaj%tQx z>ac7opu$xMO1Ygpy<HMMBz{Q|&%uqwYy4qSes+SQQ#?(>pTf}}!#_9)v+%IDn5qB# zh)@30H(L`)1qP1V1v3MN474A|IH`Zt<H9TbLG}IuLgo<_2LAomSH=1v`Kcd(m<1)= zae2?Ki*U%*YKae6qqp<}^y_%ev&oD^-yej*wJt^Ve2Uy+jl@t`kyu1tsnfNor_@&z zysPO><<0L-a(>E}#y0Jt&}_Llf}FPtvtG862F_gO4-J>CV}v3b%n~BrR+O<dx;V3V z^J9JjyzL!4CT^|P!QiEyRHYJ~s|)%U$~5_JYQL#zbI|zT36aKz>eO_*0kLlEXp66n zw}lr@#lBv>CGOZS{LA?w+Yq;tN<0wAt2#Q*V=M5$D~nzA9J`quGxiqB?B5}T_}e5C z4>G9-5B_%OD<Ek|MFJY4xI7J`WdatL?G-`vk+sLczNFBoWgUD&7p0oohaTvv?0-{@ zg<ZZ2I0ORcxm|8O*}_ssI2Wx-7~AL1QZ=s|<4swzs-Mg>l<3kyC#miqz3;ct#fo^P zLA4bcVlS~kSo*KvHkBIS!C;Q(9%u4-RGpGv3HWzs<4N!z%=oZ?CMSP@Dolrl7Zl<D zgstu6;~rAU(07Q);+bV;TYi5-MaM@f>}Jq<MggxzaP1YpLgT^>#kLv=orXAv;HSo6 z%(r@0l`sXyTvDdjdNCpkvE^%ky&$8J5(ySFLkmBKT~D5~ulgnOkB7Ka?|m*m-teCr zy`;y(B-;>tysEKmUOQ)cbT9FcZ1^Dj_TgdJn9pBZ<g-K24PF_uZ`gk765@1_VR8It zHPe8R${4%IuZyUzEEa#eHTy%5KU6b8!8G*vyMprr?$vcX?72f67+WDrJNMkMAJI%K zYU|W&0B`MRiaX5ZTS{NxNWFWOLZ4Z|31=_GR1p77TrkciUAxc;O?8firbU$QPs@<u zUtzYusNZFn@qcvx3asW7%Ul=bW1ro3&1<gY2h@pLxTKz%@P6v8`kjR>QYz!TYmlff zN7Hu77L)|i+qmKpkUl+_V4OKm)w%8v3+Z1XsEiYe1`-6D`YX(!!H>TX<=+z?N^k}; zy(Q}AdFq-B5r!9jMUr?1-Lb9fL;9v`KXd;%gnbK5$^)D}cYaA;-LiR}q-N|nEhZ_0 zKd_kh9P;uc>ypaEbyHZB086k@H5<IM)2^L{NgKPzBQ!&em%PFg>&Qn@_rfRRFQvl_ zyXjJ~a?2L!1P!xO8I??V@3_p+<Rhi6Z~PIeH6N({pkvgngTU7JF%NpCz2wD;SQ^(0 zAmH}!H{3TrO9ic>#!09`^-FUday_IBU->y2%}oN(erS(Y0q3h1c{a~7l6ZYV@Ae)m zJ*pt^V79~!kV0>J!l?ib5kpHC3gq?x(v%^^;xLtPJlggViD3Ltc0toV8she^&`=;a z8W#qgNuRQri=Je#0WmLQ2DeP-DxS?)Nw8?>L%azF=z;wDH=LTQ;z!)a$o2Cp<DWs` zg|AItoPH%2bO}pe_M_MDYmnBFq|KRpUbt&><i;<v_ATd<on@yob%rij5%$&Nk#1h` z1>xTf>WmDj<+F6rDWA;UJdPJ4{wj|b8Nh1{o4-r(6nxfK#~gxewsCkz-9i8ST6fzp z_j%p8A601sOp!?)C;sC1g7_D62gqh7NMIHJaAI0jwgQ-lO2F|1iBWV|F(okNpsRf& zq;&D+q8a}cn`|M7YMAAE#)b@Z$UOr~Tg2GRU<Qq|vr4aWQYEs*SYBRw-YtUAciEv` zQz{Olsf-y4J)0=ds>xY}y}H3F%^M0U9M($X!lpf3wENN=n(ia6$M+C(ViEj3<8}g$ zmU>j9Y_+Wfwi->{g*-I7c0<&OeyZUQmL|Ut-d+rW2!jhJv~!V{>ztVr*mGF)N9ssy zsr@H=rq#nW4~aL5O&2DI?q;mGDVis0>j|S_$umyJAIH^|FLdCpVCHn!LEcOtyfV2} zhGh?Jwjm|9+aN=~Q+c~nFRW%Fvv|p^A^DA-nehS~-`m8Kk%uE}`9FM<wgY3#Nw?(D zIGaEfs~9YQ&Sx~}<^YgRjg?5KF#@O$^6B%*Hzkl`Xe|iwMbgC}%<i3@Ybt0ylu8PW zN?H%gID%$sHCP$lQ$LInO6JlC?DPfZtfwLYJ?GfLIL$iu<Wqu*m6Lq(PfyZ4->I>F z0S*Tm5YPKlJDwzEO5nVLC<HR%6JoMfwtBY}U+J_WT<u$A6Xn+Z={Il4-Zt9IQBh*& zP0yR_VPTdh?zLA$T56Rlk1WI*{(bt?`DOp$bNqXCz4MWZ&BbU9q;V8``?VG4#L||A zQ%J~bNZ4wQmHyYpWa)sVOqn@c+v1HE&-0B+jIShX6ub?7zxS_LHAaZRo<6&dVFR5G z<O|i4$*|JLf2Uv~S=&yssddVGH$C{y4Q%V<G}EFWEi#C6+&#*|Hgc(=E^gr_UC_ZJ zca<w9@93AEu5>}k$Gn-Y(?ok^L{+K!VPzQ?h$6e5&IV313<uP!zbEvuI-Zj~p`MCf zui&9$2E{UsN4`5@1?U7cb-2i3jT-omW@^lUg8=DJC|CQ#cCotP$-2;@a3jaqD=qTA zwh{HTvANpd(Or_d?(9&Anz$M91K0hEMYvRd=uc7@_q{W=FaoGP%IxEKYSOw00&nlV zhW^&Aio;U{G~U8~7RfEH_EQ4AG)MMtcE2ztKnf=*hyT&YI1FdCD?{8i*tbDDE-Q=7 z9SmYkPw;4oj_W&7OFtIE5qF>}byRkfR?KW8>RUW@opw?`AwvKbkrRCZkuTKKK|J3` zE(`D7e=#59hpncL+{0hw?Wtr4J~a}e;%b7inngB0dAc*ytf|+vA&_igtxB$>C{>wN zzB{us7kGA#r7ErGi0*Z*hNYINrx@OOpdE&m#;?10&mN@mb2mw=t1^C&+4|^R-u>hv zWccPU_jn*ZEc2#O?r}xWSyJuhQqk_rj1#!0yX$DZt!`@l3;iP8FjVqy!;BN}<~vs1 z#yMlhJ9m{XN}HO<1G5yf*c+0^C62$yrQ|Q(hNRBZ{6DYRDwRk8#t7iC@#?cxqZ8wj zMhEmpgGTB)T3~Sg=s^)KvY2IQj$#`Lcp=g9T&5D&(@{@E!OJDemZiDUC2!eF4Y3S_ z#yI_4zHMGy(3<?Evp38}p_Zt~<o4u~?u$uW1%^+5We49pR(^@@lUa{y@(<M8oW?w# zU;AR6e<5}<u1;S>Y<>zeyr*MR{6oCjl%*QBqS9gB3I`Tw9adL*MFte<OM4oI^}l@~ zHXi41_^WjUAyEqq?fi@*maOki+lig7LzBT4YCfIb`X18kBC4+-zsh+HIIm^trbPA2 z{NY_MkZidxA|A#C=c{Iio{r*U5MH5HBfPw6G7O^fpUhw@oxSMP%~$C^XXn4JzZ4Oo z_K(V=xvbhMT$N_b6Ubp$+Voliq+l>lJ>&rXQ6m-~jKll)AxyUH9kK*v_7+;3Opm{= z-k;!Q3RVt$L*Mku8j3{==ickmHnyMO;6pj>>t4$+PPX!DoU0oF|3`CKj_h^ym6C|u zDLtnO{<cGi$(b?rbFrsRW5rErMNP+GETA+#e(>i4K=^6stqrxUQ)(<C8X7qUll**P zCGq8Ze{{n0F&&bN*#%AViW*ro*o<D)@eM;%e^cbY#Oe#T38~xFBtlrF2EVwZgqOr< zaBiCQVyL2OjMFbTb)X&nUT^t7nwVj0RmQUkShAR(3LwRg%FIQ9#Qr6$irRdASUUaJ z7A>?~l`yhaRWj4`tA?m*b(~2q2atbI_^4%m{}9OWP~j_O*UQXm)uU}p?f_Q_wmSTk zX16VeEK8=fDT~<FQSTxgX#E>zhf!xz{Ot;q$m#0_4(iZO6rdGPY9Gg1En5R@a6N0G zWMESbiUCqN_%S|k3G@8jt8=PLCHkpLYG?{A?LQ52=%HKVKY!a01j?xjUP^A=|GR<} zd|I*eLkV9Hp0`gjihoKj{9fm^VwY(Y>Vr#ObK-M2Bu65wu3~=uK`$;XJ_kfj2ltem zILqPrFD199I*HF~WDF3bWKOSNAXw@L$f2fK(@tc2+xiyb2<G~$OC$&b{>L`WH8;4` zh-1gv3iSfgx?6VffTI&D<K?fTJ^*1h>l3Qsjaa_vG(B56csJcxrX@l$QX^E#*s+#n z>IdC!_Bv)6v1u<ZzZ;N{DBceiP*VF$2{?T<W^tN+sDm_}V-dr;jhmTuXu_oz!vF{H z94onE&5{>oE?2BWag^H4;c4#lJGncJJfBU9_TVxtcy&r`XYl))jh(q2hrwZPs~=By zf7anFJWQMCeS#gjGDIeYUUTsG<x>Jl*iV=3Hu{ti{Qq`31K)ytWSvPb4yBMv6KT_k z4D?M7y%n<VAwyF*C9wN@J4g?Jo%{a-!SXE9J05~Ep)P@wpenJdW4G))l$3;PmCCy% z&uuVBU3n-~O?fAGKK6FZkdb?r21=F@>cM~!QH@L0W$KO`zr?RN<Ujbr!rYZR2CG(V zFu-8$YZQzxcyXtKAjKj_Yg;W%&4RfVfi1=Fe84O2nb(c;;@-bk4J8&ef1-uA5}wJt z-EFHik7<ajJ&ChpvEUebZ0bV?XE+;g?X|6%@exuncJw!U_Z^3a*JST{ls@WM1;oU~ zug@8Qz?v>ow<o@kic@4H2gf0M`nCj`d1eMVxjI$MH&=+<mHXqsj$hU(c5pTIbXviT zT_s{kJcEzi>pv>hSfoL8NeHHR?->=j0%4Uwi$T*uuI9GzpK9VjYJ?{otgV-*gV}qZ zwe#`iDrU{6F<Ad{?$kqg*myPvZ=_3dU+!*8M@GHNiXNbclMY^k^wR7-Z6$9yByKg@ z>XNvn6fvt*n?cd3oqw7&Zwy+_=xG(-S~uT<=@h}!-TP;1SLa*6KE3_8euV3G^vv9U zlNZmU=$}n9MY&%i{BGnVoqBv(Dz&1<ViKt&KhMV1L$(vyQoWtq<kC;9tw_`B7|d&z z{m2~dFGQLcM6RHO%-#{pP>!l(-gnM%&iAW=5{vQXN4?FnW<NRfio98O1@<ZLJ{!;M z@>ElE8oy}|=FKFsmxDQOi;ukm>7zuB<Rrk`iLYaz-c50j@83MJ>VKVGt~P#)iU=9= z#_vxiW+BD#VJ*2(qvZ){CDHd!<~NM|wZLhly08xwQbG9Aq0F_ZHHrHn`2eCz4s`;J zzxC<gO8w6raI6gJSKp?M^jB#*-WWDSNYEQa(;$+1En3nHf1rqP(@CXH_63s;VxU7F zWj1YSe1UsyC|m^!HPi?&?@=XfS%-d6QuDJuA_Jd+SJphGx6crzjvQlquTQ`~v=hvu z-gb4vBVWS?>c$Fl@4uZRgSX=LMapJ1pfWa2k2?%nW-p92u(I<{SJdLRe}pF69x(yi zL4S&rAWCn0m4?I$KW(hUn|ct{y$`B5a<3lZ>Xa$zM1|isCJb$dSHU5Q>N!@HZ&B|v zbzD4+Ni&G3>EO5>-CGBCr7Io_JVnLau#<<+w$jcAKT9r5UF`xXPxQ)pZ!mDGw-FyY zSw86@iab2>#uV9hPRRZ7{7(I)RTvj~=mGtF8>@XwjVcNmPLodu4Vm+JI@?v`sTT(g z{jX&P6Lrc?60fItrmvO@?ifyU#oB&RnS<unLn9h`RY}wbvq)LMyB*p?EOQ`INj=(E zSyb;$*VMBJ>uoJmXOLuD2W5N=T!=r#-mtm=j%@nF(r`|<9{A*koliQ<vA)Q)gVzcS z&UMG=H!*jp2XER<nmGKR1+%J*X8akP+kKT`&bj=BEu#E`M}~bWmd6v~9NL_!df+u@ zL=U!NHGk};L>E|yHBo~+mdG<)eH5Y=A!D6w@+K-<q}CMsN_uT^Jtq)jD=z%CN9tNT z$fH+E*}(1-#0PCVV{;5w>RqqQ_|4kCehI6zp1oc-hZm8fvA+CbSM@xom~lI<yD)5+ zR(zyD_(@lR{F>7qtKRxMVbP6m1icH<%OBs<qisD1+TR6w_*uX<Ae%;zj?17s!W3Z9 z93{pQtxuG#BVE?hy7{{j32hX?MP1yPU0s{_xb1kQqT%qBT|g7ol_^F@SB9-pV~%!R zs8JAo4MpXp$0LQcRc=`;@?7)Dx&R)xv9>>ww_;E{pJ10cMO^A&bMUhGTDG)vsCKtc z=D4(BDo37!<=1+pw*eDtur(sh$_djN)_Ww=7sd_G3rIVOa1qZic^9Fpw)G*+L+(Kg zZ(gjE(Zq&{gRuykN}JWx@_Jq7i?*-bg4?eQiq%-^Tis8DI##tOT{BFrLnMB+Rq-{S zVGBefN0|cM4+LyX$_ptR)ljV5+i{d@YPSE|`^lxeE$0DcY`yoZa}c%*k84b~!A7OI zIttAYIq?7zTy0=Y$MY{bxv%B%)p^XLhwWfxWKGuA;&oN=tBorUGQxLW+L&=l^hvW{ zc%nO4=m?o4667=beuKCY6{!@_WL<7mrJeSD?E_x_(Cb`<!XUCwqOelKQ-w_W&m>u5 zYo^Pmn?9y@XY#G~c1D@^gedl`qt#ch=bXYmQmzSYN?$u%y3^EWn5o*q&`SVHgbill zVW;ekJAr63L_@1{=n>iTLuP^99>`d@SfeEiDS=@i|D*_R@G(U)2FF;A*Xwyb;$?Xd zn4$Oe=XVkSd*u6lQ8;h8`RWj-NuJ|{z|w6eV0#U&f+&jqWYlwTkfc5;hK#?elUM;x zAQl!3n}XqBOlt)5HV!n7mwULJs@ui9jo7kJA9x36u_Y9O#vzc0DcSo*!CN*Y`FP<F z9Q4$3lZ;o*D4KDqQp>Xse==;*a0z$u$9J;Tm~vguHG`rww$3py^TMY4T!i}^JM=K> z?>~*dn1T+;6WvpxL(!E{%M>VFkL)R1P4^FgPXlg^HzU~O_U@Tz)&$^HCkskk+6<p% z<qH)L&&ZGDVD;R$tpkUEX>Q@nqn-LL36+E}D}yW1hS77k&#V|{8yDGrV1ly^Mf7q+ zGz93d-3p@4S$~GKZaEfSS`ZIx#J%+>*8ErLM3+MnZiOu6meup!6py>AZg1M0IvvE; zdtoG2&AJo&YtaQt3yIIa7&%Wrzv?k!u-a<6ekc9)B@5aVYqxS;nm}%s+Q{_C@zAEJ z3%>EIe%#*FXgGHS;caPYlMdlAh3O)B{dTvR>`cc%14YR32E+?nhrNZ!=8uR7MveM4 zX{(LwH*}HnFQ&Vu9ql)vvY_aZe`gkkz6MFwqbu^J0A~*7ye-EZo`Ohxs)>@0!^l95 zQ4Gu?^=k@qL>N}H*9{c>CFPL5)#mdj3bV287u)sJ#_?dt%j{<p$lcKgg}@N4GSkG7 zN_xfDb0#ZHj-*b?{ibo$(??k8jK@Eh?*v)!yeqqBzc5N6B3(*kBKxOpY?|xG36F+0 zqJLd)+@Z*A+RBY}dnX{MymzaK)7&YDi|Mt5w2O|Mb8OMnwB)hL27}rAg%(0)<E9zJ ztsl*bqRfVC@xdO~km=dhGh%K*p|Ioqt&9Zr)Mc0ZgN~+0H*@e*uepfYpeKm0+G$_g zI>R^#7Ng+)6H{d7G|Al!Kn$VzSLvz22qGWJ<V=TIft<}Jk4e|?x^bQ>v*d#Wu*!n2 zC2>bE15XuB;`im9ZvFulKRxVK+xge;x06KYS=NCtgKaOX8c&#))aC_6e!x%pmOnRZ zEno|<8b-SUPycB}fCaUgn&wy!OT4tbL`&cfLozj15v$45z~>V#b<uxKc$OO7i=3D0 zp3q$}-d$Ba!%mJ5;kG1n&r?HB;dej}M2%!J_W(5!S@?TJ+kajcbwK3?n4Rm7-qa^O z-Rt+h@!<E&{K2M)d(`!Cm9i5Z6L&_L*36tA&VZN)iZsy8Az)zEL@94T*-xT0r8n<s zcp4-JTDk5-AAn#<bTj$1ts@xnh4+xbtRZLTc#v9JV%HoA<YX$<W-Omdyu?AX3V?0q z+M;er;?ktsP4g?LVZ{C(h2nwPhyIAj+Q`YL)jOC))1rerYvn~xAw&&oT;z2`uqx@U z*J6k+ZL2?mQ=A&WrzPjhmJ+Yr^sH#xeV3=mXuM<?UM_fJ>jdVz^9P~z5qcaPvbzeP z!t;(rx`voz?@CKwqB=sGCpu<z1QH{4^lWO!$?w~MQuP)uwJ#t183YvM)k9Si3!7da z@P~N@x4`OP)#@j=!!!m{B0trQnN(DCR0`(Znu-kEl-(&F97Jy4Sk>cpq2{Tnx0>Z# zBOW6?)yX&f`%)pi6Cd?Gbh3;6f6b-U4{Sd#%mHV5O#u51HRzcK58-$u`1yRc!rY-) z@=k*!$F=!Y$tiexX4&lGTwaLNL-qg1BZwZG#l0rI&GKNa7ub7qS2=reXIMmVjM2Eb zgwPSqjFFnA+~%?fyM;s%uLPS~eERX6?3RUsKNK5`LjF_i+eCFm`Gs7FR&$1plZ{ob z)XZu;4EK>)DLpi{E22&&jNeLwq3~K#L)5a?@Wm?Yo^8>|H&%TjelmsKLd_^je|()z zghv^ct~XEo{%hAp;5~5%_KH@OO4iW_cZI=!esnHU)7#UOp8G}<ii<J5$@C(wl?X`o zL;=>3cDku`b}6Cb$;DR&Ok`LuQKyI|tUG&)Fvy&@${hGroky9`_90j|HOmYN2OCax z=S~Zk*87F-Dm_hu&|*R}6w|NjsUi+N)Y=ECV%=9;4N0*mRoD}L9dQgdu{bq|F%WaK zr~hIY+IPgoeKdYPhUuYx7|fa1O|b~rr4GX*fWFU0?aWfg6$b9qFNxY!HOt2N8Wp}M z7F^Tpp`!#0=fBhK6@fw8^7jM{KSbTtQ;m6+D#n<igJdExT&pX|i8e-|WXCSekK^F( ztwdHU_U-TTI|CX>k#y#5JPjq}M_U>1dLiPcr*izq`ufI(pp8l)rT=KUHRZO{xyjiS z^^=k(0sqm^2dCk5gI~KnFxzW<$BmV<f6JSE;0ZAOu)cF=Ry}1Ob#a^Pc<R8N#d|4x ziWbhhqPu$G-+&mf8m3S~GSL9a^w}TH5MY5vWhGaBnq^Az?+1Ly5Q~$TD|+Y1!Bd{p z-_F8N|23j|$-dPE7jZQ#Q%`P>OY@pWsEWJQ!CDqt)oQYh+R2E%965B%OjYhA+mADx z_f<V|`HzO%LIW9ml61er-1}u*Y!;TWib2E_5~(x6OFi$Sl_J|6Z;B2slg6`*APy?J zT;!$B_o!bNoac8V``Rx11z_mhUrJFl1Y}O%iS;0}T*Tz@7PFODW2UDt(rfD8jB3yj zpo|VJ=?N4IPPC+Gx;Vw$hk(ho8Ny<g{{Y_3N-T>SW_yMaCelVLSHoaF%qyQHpoWW% zW$fmL=&)Z@O*>`yGf|`5gIcypPbZd$Ild`B7L3roJ%P4;Pvm-i5dcyc$uj2Bb37c6 zcCeh)2<CGJ@>0&kwU?i~`Yv%Jhy%I#yix5@GW+8$({zm>tB9s=X7;>KMCK-Zr2;XW zWME;>X;XFJ{qpvBe#cX_&A9U~lz^V5)~Q{)S&dxRdAEUt+x@y4yq+0@IStemYjtm{ ztcFPqS<CXCQLfLW4$E7@8cVctL3Z;`hvp{~#dEv)Cfg#NZc{%%*as6(l6&ZZRrL{n zfOP*um-pR2Pyz>*rGfrlBj0}yF$D~xrQKM4e;kqG{;ekgoTW9z5$j^(k=F=Du-flT z(L+>AQ7y#9N}d_A?X7cC7lw%PnE9GIM^oDJDtaDRp8QfTM~JCN6?VeO`+nr_pkP!P zpJb?a*P2OfRVWk|&AYlXD;xHOKY<d6xSuaAIb<Mn`y)~Iws@dQHq-qfSoR@L<UYpp zy|;i(uV{NtjEw>*ZI<Bm{B6SfKLC934&mY9tg3zGP^fbiw3*4K(yivHl89=god2+Z zDtMMn(#h13q?D`8`C&GO8~ziyLCVyReC5YtW&&`}9cmgS3WLB@<tozswM~8C;A?Sf znD<=cz0&pkLyJ{a+<Hb?YD#y`+1W(D`%Ug@H`o*JymyLpEVkeNrb$sZGcW_Rsq3x* z;AKy<E+@t|rR(112N{2xrBK_PJ+Hds*2{Oa6d3!A3vPuH9L}=X6Xk09WKy)n90mCk ztq(h>rO<vqIq|9J0VZpMVp3|77z6MZ`-h?1BE?&J$FW|KN^;7TXUXSa8c=t^YeQsq z?BjQS$_T0!#6yL^6R0evH$TR|$^$eA@d<_9Z&+)jhyTXm`Bw_gUka@gw@kJ6#+z?5 zMi=b`6iL5tKy(!wG}3E?-6b+AyA_zlU)Q>w#&v-FPQ1TWd@(|8!)SZ?5Tj;Tx*m+y zIR-y{OkuMg<2bv10wRcvNo?0w@>kLOzLWw1Nf$6kpWnz<A6n>$aY%A&LR29y=)#C{ z=npLGYAsAS+P&frQTW8Lmr}v~={XT&yH{9F+y+}_ilX0!j5)Nx!|AzfNO>d@8^%Fb zcB{sp|LNcnl;poCM=(v?4yOp`O;pDm(DjqQFTb(T#E1S{Z``hNQNpVM$D+ea&f#o& zVSDAxsiF*e+=n5uBe(e<G4Kbfr@K1YWh;v({V27+min2II>4K%!F*_Py=ka6*xz^1 zVJ-OXl29EGdh3h1ZJbq3vH^Yc*`h3N=Nd&g`FEwjK?VYlb?q!R9b<^>405We%M4jc zr2aewxu!YIgSuP&!HY5<xaN7F`K#$hL6eWjGSnB3*vZ4P7P(c)Te=^(nm<2!1tov` z1DT1;e~SjY_~h3+68G&5%x2u!77sT<PoITIpE-K2g_OTDOY?`}%XdkSIX4&Ojxb^H zw25!k_QiB*Mq+BaV7TF}IndOJ9pyUD>%cO~kd=Pc;nKK3#?sNdINiAjswwMcFzYE_ zyNaGyr{9$C+x52dSSNL-2ULD{GOg6ut-EJ=6-SoOIMl)>IAeRhSI#3^#O4h46me%c z<bTZNM%yuyjdrcgpNDjpurF?(=F|eLQZoel152EpIdXE&CVTD1JN4|(F~_PYET7xB zz4l);f8Oh7uHB%fo%$>NR}DqwhO7+jDdLlDucLY>>apWkNMD=oMNx)qF9#0pd5f8a zia^IcbPo@htiK~N06v}g1$9#!6yDu^&@AJ;NaK2jH7ihSs(9<8xf=mwD9tO+DH|%E zIm1Rt6u}!QfxlqH?<vKpI>qHmf32qe3CVf)VPS(=@5g)8{kNP1w*0?Ni2V7FCZnjR zHI(BHR>u9Xn)4wDSec=42@VRyHeOscZIft#o;L-&%Q>r}MCosKsk|nHa=am(tw~&T z?=4>3&U?-}?a5A;Tj<@~7DHVGI+;*r&XSLv{_06RIkG|DyGUwl{7a4HX&9$Za-w$; zgM9J3FR&zf5&m1SWm$jb(}Bcyx?G8onL5ilzp;>PG+4;AqAItS4g{pxnB4zCUSA2l zz7y|8Hwt;YK6(clhw;Au1rs{2M^q|c(oPglPtwt{T&bCoiP5Y3quqIu@?ax^K!}fI za14VD)-4o{9LWi^#i?JPB%?ofn9$q_EECn<-Y622o^zB+lNWh41T3#Q`L=KS(Y2Q> z1`7@pY0aA8Hi$LI>u9n273Ja7D>2_Z1k9>Fj}<{h9iX)DJ(uXtw6z}t5vF3V&xajZ z-u#)Qqh4!Be5~QEu@s-NrO-*XsgP#nBWG)*N121)m4zNTB^^XvB#DL!{Y&DdLU01q zY^Wx&M7OBo3zmu3b#Z$5;HgI*q;ET_R!0R(NQ3UEH%T+3_RRM`Ga%Z*z0Z%nN@`vJ z6OtxuxPK5mbH+>%a@Z`Y3;QLKzGscsP9;EY*Owyd87iCccmt}l_WYifzv^W}ij7G4 zE4+tN=gY>}m2&`l#fE}m#Fh4ezP>v>)~_!AM>D?{cbsQ-9f7uRD#rJ<2^zy>?SjU} ze@}+X9E@4C);CfHn_fAa!)N=Sb&XyNdZq5Hc7|m|UyqdYkajFc%Hsb-cET{qC-i`H zyS3?ml=lU1GqT2)Ajj8>b+~Mfw4wO6%nkp$i`D2ZHT9kK7~{YYfK_BeU(#bDO7egz zGtuA*R$h517tAY82ufpCQZH<Mq3#xgvUr+nFdoL8Oq)<}m+*9aa{DMhvv0|5%cx%c z&EHB9mC{jZ^&WC+xR!AG0jpv{c6b**-`E+pC2}tG&g5Bo(sxAXO)>s$9gW=Z1qt~< zmxux`-ecCN?My<}nF6^*)nvc@$@oZ{9a)rNmiurddNH*JCDvj%Naaji#Q6st$nldB zU>eTtgXTYsfaWV%4hlCRRLNMJU9!ZaHh(3}!Il-%pd(fldhTW<&B;4|m0`##2NBvx z{^9!})!Cs;afy1(ns7|&bpogBDf}4O5O?|IBTW;lF;C;N6}Kh+dQ3>E_xG*_#&fMy zteNY1pd?347w)czBEjEcjnZ!<rPpn0q(KghZqCf|9XO0X@eQAS_l+OlkB8GwHuM8| zZ25>E?lSeex@|hP$bRXSa1%o&5#<cT!d~9L#;mf^@;{2sGN7rykK!mQq6h-gB~sEI zqYYY^fOIJ-9TSiNLkyH|5Ez?COH7*4N_R85VX^@mj4}HE?0LU8ySuyh_dVZpJ}0(k zK0d!MQh{tEgNYVXGh+qa;!-R_5PVs`U#xVek_sr!K@L{#UEKu(s|;Gr5X;KAP|^-b zHS7_|jqlK*$Aq73aP$d5dL{NCBbwBU+MniKJU-(i*gk6wX~#)dOH=Z5rVfj|ro>va zUO7$csht+nA_0PtT@ga1s*@dm`q6R^H2iwVHNfA>!O2hVEoGQXr>6E7mkOg&7biTn zQWP_20sV!l{-20@CZubMDYpUqu(yjyip^{-L0ri$2<HDxSxSjqpFkbV{)@^4QpfSe zNarEUy@8xnVNg>H@P}rHUL(8adXkvOZv*;y&~+ND_MmJkS0ew*0ykCi*G?neyiIl? zJ6k=L^jU~R%jJ{eTNufQ3T~$KHj?SEyY;YqlX}nH<fu3QJUEb^ucMYK3%lMFxbFT) z3HQ4RR{w<eTt`JOSs37FkYU4P-JYV9M=Ji7ue!zy5GL;6gyB}Eh27AVFYT}C7U+5e zAcL!R_G;*Bl?qR(E{{7<6IWd1cbYt8QTcdMFy6`ab6|=|7f<-Fh}@8L!Y-5K7eYJV z+c(loF8IUB-806&5qM3q*rsS@<_)x+l)JcGO|F55F}qxu9c6yjSY7d!SvI~zZWthS z4hpE*Av&}X)`!>w+2B|13&Xi-hbTmCN$R0`6JF@z{^apf{PAQ-u7SA=z*pIVHxcqh zhkV9W>1fBlXrImebIls{NBKpHghq&%bTdz>i(re#X`2dt=#)S3r?S)MJfH=)d$8NY zJa89>7yVn(K6k}DA%6UBfgz5rgVwX<>l6I(_wNmpyKCt9<j0r(_ReU42G}rHWc<X$ zK5D7C`Z^Wm*t<(nAv@QU>j6e0HceG}%~0i`!vTtZz;^wH!Kb)e1-4ng#L+2Y&^VGj zKiI6pt_#Y2`D+r%IrQJym9J49q&Ji5pL=4d-F<a8HWH%8OvK%~_iR#ZkVVZ!@sL## z!FfrJFHZf$Y&A6}c1>=6^`=e`r5E2OVpR4(usywFBn4UyY3$2rygy3_xa=?KiVKB0 zRj7pA_|@Q9uc~g7Cs<K8zVP9ufk1yl*(Bi+Mwy6BsLi4z*GuZw?v?#}A$>Wi$;tTf zvE+KDtL~>ysa63(S%F>}(UlZzB=TI6Gq%~=UoLNOq=PZRjPKxi`9R;9G>`s9cDqFQ z460N!Q3h~FjDqos>7$!Np4(kh;UQT)80EAB?E{gF4I%FIZE(wkV8)>?w8kH!hW!=4 zpP;aWZ01ovX@A*-)aDD4(xf^?`Qm-H9FcV)D!~3@`Gr`+HNmFY<@haQy`8)>#h<a} zclqCZN8SjmY_n5F53a;<5^)Yx##pB@pXH*@%!DS20O~7|85`z@DP3fB9&2^q(3d$t zHU)S(Y%{*=(m0j7!1{HIoXpiL6cn~SdK}9aMqXAln*~Jy5^O3xZ=F@&HS}ihUh)em zeA}{1_dVef!@a6^|Nbg@)n(rv?^Rcua&JHuR=hBu*D%EJV)Q+Od*fz;tZ_v_Rcgm} zw3NkZV#2c4;(#B}7-uaNUdmLnc<IToa6Tx#IFiCd0SzuQC$In<wRG&BX?s>oX>ulk z$mES$J^lqJ0MX-l>qy=$V-VSYRK+MO{D+PEh^?8(e8YS7_tJ==hj8=?RS^V#^{Vi9 zOtqL0-_0_KP!8<?pya6i&$M8!xsfGH&8`gW>{+-lf`<MtwJI%93-su+Tv}g>BPE1X zkyrGP;!_Iv%-pvG*_>hBeJ3CUXJ)b}Qm?z7r>4E>xcqHemyI9lZ#a4MBQmR32pUw@ z*7iDg<m3FT)I&Gye-x<FAUTr=SyNuUR0Hml{t;a@wKDFogpkqG?O4SU!C?-$02xId ze1)*n<s6$TQO(__FI843?lw@3e3qtO7on!g>z6MNzBhhymrRutz@v{XdIw{x;eura zol0sAj~}lLv@6wB@UP6;3>5P#Ly4Q5?3W7<%a=`~Qo)B6z>%7_<nCxQqS#5>KO41z z3x@J*N1N|1u!Di2$99(bt<=H~)#I02&*<A)fp^(7LJ(Pl*niothNGDVpkKMvbg$Ao zv1GR3awcbgVAEQ`BVCoq%Uu-WsibyhDdBr*v0zSJ##g4=2L4GlMPUGLqB&7`U+ETg z|Jih)d!@iEQYAqe^EP~TdZEGe-^$$+uq2Hof2I(N%<A_<%Rf8t<M?1-nU?3UXS5OQ z_$r1#4`gc-kHe>8b~!WogG+>|#L$z%r3FLw&z2G?np8E;sMf2wY<_V2Cvo}5X-Q5o zcFRMJ{1!YK5*qh}mQj-Qv|jCucRfAf6+HMCJTyX|$(|iMu9$T@^AH3-I<>XWBx3bZ zyO#BC*XO`d(<>(YY1d_uTXYUqA<zYzNv*H;GfuQ@2xj=23^H@11ueG}?FVbwu`$@; zsQ5!sWOEX^M8X3eMP?b6+b-MQ&FN68i#w#t=boPa)cLB%BA#8Jkjlqs{y<p2Lg#JQ zMZrl0`9~9+QGfUroDj3jQ4=n5CHo*}Q{A=m!r;%fW)yn5IC}3U!DjY3zS|E&&+q@m z=W`8|76`sn5$h)l3Z+T_g0Kh5H7rO}HbJ=T=|t@KDOcjRf&-0DMe!0hYlrzm|3o>b zYpQ)OeaPdnDRj_N0Vj%%dZFIA3zZIGrwofdvoh^vr*C)-vwxtnMX9R3QT;Z-+Q9{a zwd-TPFtwXz6bTy6eMf9q4f15FlH};v7j>n#;=nUk-C;w_k1WP6c`u`jbIcBkzp`$+ zT7eSC5g7z|`TQ|iOU~iG7=IFDyMCO`E+r>=Mg9OpB0E~-vPiNm)o%w8A}WTGSJb8< zrS8WhhLgV!6cr8zUfQHK482^?6RP*O_9kD&g6f7B?Q!1;BMXrB7uh2I{CPr5+Q(z3 zE2RXFZO0|@bSx7FaOH@I^?@FD-8~^y@|j<LR244Rgwxxr|22T@X;Nad4ZeBmk+ZP8 zy_9ajvg;ag>i6-Ioyg6Pqh?JlSw>P%BjF{8?<-_kOT`6Z7;a8KNUtsLp_4vn!wnI! zAISeK5E>}<3^DY(F}cu9ja5O~a5B)Kw6cnSFY)Ot)q?!YYDLxPp7XqSyUZSb+TPs7 z{SIS?`QlAbjgG{&WOH!9+nD-D6C)#>xfvPufOdFxaif9etnN>5zt1;nqGQD0s$K_7 zjhnd%wCV^qzIYWIu?lB*uQ~DO?@d$)cGN-fOjJhv(F`>8#A60jp~Kv|8hfDA^>#tM zQDri*YIFkA{KjP^?JD@<8Lx~H<Upu+3YCHZXU}%XLi_o6x&p5P&!V^$$1X^WDhhL- zgrap`%D#;F`?MQ^lV8kRB;?vO$8+;%j<LTzco3()XCca$OJ9$azQJQ(JG$roO_eru ze4rC<@_eeeSKh@}5SyLRyzj|oo2I)(fPu|ExDd-%vdVp|ZYIzgg-$KZUf0_(J&xy? zH2vPx?3vPA?_U3bwVy0+KZ^k_JHB?FDs67Jehx=E;GZA)o>+rBx!arAF4)^ksZWK- zqU*sjnJiRgI?hvoCtbw4pVdSigpYi6FVvm?Kt~BxhQ3B+pG0&z+>sv?MAlB0!=wsQ zKfLEM4C}I8uguXsvwVXVfz0(TwpIoxG$H=RUIrfh^YT(XI`0tK1X=Oi4|{@N=rG?! zG0%vsh7Fi$@|ecVh~%dvv<zXad>&bTdo!gGVr&QI(QxPCQD;2)^y-|SXYR_~>&;U% zzS3e{vRCr@d%l<VM~~$ssBJ$`_gZ5tZJ(EE=K!;H>|T83pn2gp`N`A+9ou>S;ys7u zv}1jOf$gZ^G=&=*_5}48-hhieYV}#};Rt?4pgi1wAumLi`|)+9u4&;vYZeb1KZ$j{ zmI?%*46ROMZaY3vov2(5Pzym!&<zI%tL3aNmz*hf-PNNOd9jMdIuu9LWh7s=<6-mo zu#w2{lQ*zB0y1Z-cMU!LFVvD{I4b*J!haOUt_ROfa*iFxqIUa>`qg4DA0?&p*p-VS znqIOt1iY6&4RSY}9QKzA7aW~A`~{no>>O+{rg8apisbs$df_3q)FI{vB*!$7k9J43 zu#7|EIN28Y>I^C<!uBkC%(JZYzKD&&wJS8w*Sa8NA=ij`?vXW7CHz*mgf~H^(FZ#z zUo!9g3(1)Tjze*71%rMHFAV*jVIJ>MH+g~`HqM?|@LYp<-KVp!lg?=1%GwI%W}W^* zP#_-mE3G=a=Ewd$OX(Z2@^6f^|A=7D1Th%}H}5|yJu$ag&@6hI2+J=XL&d&t(9Rw> z6rZT^e&|#QN&mMhYX2)1Abqq_m4>MJG9fliWCaMl`^1Ow#43JX_-DaAQ<1vU?VXU0 zH31^G->~dsWDf{k<u<lW<Y`Nd-0BOm{0t@`#)ZilDDJP@@{@rD7v21OeQMzBZ+;;o zdYdy*;+9E(k!S2_++-p?qR|@-xNzSP2@l!+_!Y10re3>R0E<wj8B}`cmTE%dgiza2 zbTTBea0Xw!BT96wre=TO){G0dtu_pJ@EWuNFQiZzF`?BJB6o{%n>|_7>&I#?csbqM z5IQK@e;Epm37S|J=eNXwpkohGG_iVZ<#$!)2(X{f$ZwmQXrY}ao{mq+Yjo^PVLbb@ zPbdVrRz0sd4t%J~M;>32?LXnsYwfXZ!Y9>}&&SBIy(wSk1x|e>2Mf@gCdN}a<>lvJ zdUFCnDge2R@~dQWAEUzwFYpV8PTf@7LyYN?-9Y3D@N?Q1*^x!M?__EvdZJxNRgwH` zF1m~fQ|>@~Dc^Sa=d1<MiGT;o<5?F8EY`KHai_u+Oo=}`U8YL^C|_MHBdXPt@e#Z6 z=Q1aN%w2o>2}kEusVJ!k`Ri>TCc^HmdOwczE^t4fc>hQ$0_NG1>rp2V(qI2B;3@4` zj1I_`tHp#OS&MZP|Cnc>f!+NMeQIym1aE8L;@>O<-4NC6j+UfoH9dK{fS)!EGOK=` z`8BMzu%c{ms$#QbYcUkL1f2<K7}{hU3oIZBsK<>rG?07$pwk9er56&wRrl7Ub>b93 z)XIFpVlOgxZpUs>(a(TqKn7T-7Z5yEBjM_7v`N^rW6fSx@qN4+->BYhdp2Dh0Q_(K z$|G1bxLYM44lN|u&V{_HP*L+Osd#8Q;*NcMJ<(K44qmiD%HTvJPPgGLPI5VNCQS>* z!3?3CX!(aqZ2iN0TJHAeDSQk_^zsK?%7oS(`3RHLaWI{xU&uD>75N^@L>kzU_+Qe2 zX5gud|52psqC(vf{&Y*Kn`e`?WyXOB_r4Iiun(8idCkILPC!ALpBZ989R7<%AzL{8 z<<=(lB&LiDmUX?h`omBF1>&0hmD{1YFu^>hewPq$f)UTWd!Ma`jPspoY3{PFh|hr6 zKWTd^qj^<_dS=BZATE#1Bed0(RBS%q{hLJ_{^eaetwf%;z4(d@|4uSde#bFl$+aam zj~^rIL+%YjG5=JG6CpD~t~d3xq<sjcgozURSF-BCK)ap@kL8dUX0^`XA>fmvig(Z^ z=q8W;CmA`<zVD3-pQcD<GiP~KneXo*6Gzm3Idl0=?NqdAIUjBj8WV~eCYmfI#K_PN z+W=59&Pq?lJ6x-YP02Jn5T3==u>^Zx{uwv5$h@}bvnst^E0FvskecvV$bawUaswj@ zBw)vf6i?6_1k+u$8lgTbvHpd(MEp%f`8^E%mM3=lFXY1Gy-!>;6c5~aNxFU{+f{r6 zy<F}(7uf?^oH7WFSJS@x)+)p&7{Uaef4s&<rAp-L)?L6(Ej2Wz=+Wx1b(9%*Jxb0= z(!)NvXFJx=824C=PSvC#W9SZ);jJ(7`uy{11_QTt>;5#=;Li;rV0MGoj~$*@53xdD z!+YhnCx*so^|=0}{$`&E(w1BEUkC&w@bgAvtr|#?1$@3j{`_Y%Vf)`?`?%{UUR8ep zN*s^cU%RUFc+GZ6RcKzZSXcEUX5d4@2BE~qF+D%LpoTjQ7hEdoKa<q-a0N;t$(_Dg zUQ)Ncl7m*VxMo0;aa2(lT93U&T|GX4Jj+bipi@qxo=h-zQI&uRXy4PaEnnkd#A>NM zgZDDij6!OwTTSxUdM?lzYU7uj|J#WYEJr<6G5E6hiz~+Y$iiELakZxL(8-N&v<^#} zdKU-~)8*C4yVV%loZeC++i=!ptKYT}hnj!+CA|sG6<e|p5IVc&G9wqdq_D4&83?6W zNbVC~<U!~YN~W#a9K*45`D|J$7m3+jhDLhD2;;rD&{W+I33XMU8+bDed)crv?au#E zyw;e#+2V~ybZI;Yvw7R8^?O1hr&EE!&u8B_Vq>rOeG(qNta`+>dLa0=y1d@Z*Q3t* zvzpZrr(y=Ve{TD3mVG)a!C-6bV(lPoJ^{Y|ctS6%r>Su{JX2LXcw8lfQa!EEO*<`P zk2_x7#k$s|B8v;dCdM-*{0HaYbMhaBcI-NEcf829>qnm){P8vNOT&q%-eQpxU$SHL z#iG`&6vcY3YyQ>h`KA9QtoGZ*U3|{pdFzr}3tEw!+{3?_d2CZ1G+VJ!0Dg-uCzm~G z#?p)7YJBBbT&O5(gW@ML=ONXSB{+l%2C}6C)e8;4YcqRuB)`}*H_{K4f$<q3pdn$5 z#)8@d3&N)Z(RGD}1CB0PdpiR@UeK1do)Q~oxjZ!clJfI!>Zg`-752&M4&S7G4m!0? z`v_K?ZYhSE6R*K%sKxp7{jgGTSWPfZT-GV;;XT8^ie8`HJ1LuiCGYCQU%7L3UsVKy z^YrHPf8$;iHfLBe8A%~8Aa!H;PT3~ji^F9}B~&vNdzI@J0UEXuukXIRlE5z{(a!E$ z(uK8&Hj$@*B#)hljdRxOyMnL}iKOo^x;jXN`QbXtX4V-;P=D#lsqwi}!NBjgWIn;8 z0p8Px<=#3kz2n<I!PG>ze?`!@%MJjahqyMEtQk=QuzL>Bh&qd2T~*#<12<oxvuAk> zQmS#}THhU)Mt4W)m&KDIU^cU|ek%3iP1>^c1s?h()l7ViO4TI>ntZ~(K{N=LQMfg4 z`q1YGUJH_{o%7{q+k;wlNco0F$VIrW<HY{5h8%A)u-KyrzY6_G>#0qYt*PtP3J!jI zo}WB*&MmSuQWqRdZ*dzK+^dnR;$W;WmpK9uBBvNJiIGx0FpeqbKPz&Wtp6ySX%0@Z zH-~a8twL(1`uW1b82@Em3Sado+${`asTaE=7v0FX5@bl$Nyzgb+YF6@f_c_y2GeN$ zO^E3i5}`0+8+pbo-niy+#fT5KNw$2kNlcBwk1{DhMr0t)ZWkjOg^=Pe(`9g&<8nMS zD#DtIs*;TTKIHH+PV7mOesFW{As<<M-a_(Ec;bW=mJ5%BKH<#QIEmXe8BMwL;RgQz z!?rJ}`N=gq!ajkT+0w|;OfCJrep2}c(sVrJJL>+ou}QJ0H%^P$%Ora@n!4aejvZHO z9*aJpnWV%e+{vR?_P$+)?un$IJSRJd9gLY>FO=XAe*mfnkq_^M&OC<_U(3`@FDvXV z)fw$|;|2yf(qH@OFde$>Mjse-&a-rKe3L-C=JLK?$U%-!$#0GqVO}p~{L;Z%8Qrq1 zWGyM}Au_#suhAKC-+K65+f#A8&tBkz%!dFOQJyY7v&$cC@=NXk<bnHj&6{m)>g#&c zxZRsUjpxd3(-m*-UW^u1Xe+5c>(y7kVvlJk?SxEf)a*J?In_?pk`Ct;X}FYj$kIy% zoc@H;-~ji>d8X2qqu`sup-gYUCc*A53t%Geo9D`Q4MZo$M)rM+1f!Jy<!0f)+!lG} zw)nfm(yeURJ@kn*F876p0{T(2w@q}_cm8ju$;8FG8G`TJ{p*}Z3oA_fE@rtemW?yU zt$A3wXM4?~Wa8@M%SY2t!KPRf-bc@%M681cL^X5yUA8!GHV|v2_mH93?^x+7{oJZT zhc1pBTYtH)NdNXWUuv@bt-!Zad8Xwqp0GCC({x?g&UVKY`bK<v^gBWStJqSqW&NLk zU3_Bq&2T4?`%)o*4f)ds`X`+Vh)b+S$EE34^k}+q!<_kTC}mXt2HOL)wuvb}x_HB0 zZ9la6r*7@ZPw#FEAwb7f;16c5Pj>*=7y+S0+aK5Sp~RA{c-@UkPX!$ExsBBWH`QtP z<mcWvU<qrcbdruOEZu(FFm@lDFx})E;OMmYf?XpACBJH~oRn*5q=F{<kOFWUoFO0E zxLq9Rs_QF!=t8LEiRQ&fRh9QZjeivvWe8TBeI}^qZ^W%K4KDd!29HcCWLC`yjF|Mx zV!2(f@Ind9lVx!w)~en1z>Nz$9i$|*Qej1=nM_aaRqQu>bu6GuJD&z<(sUgDAU>da z@}&3l>fNt79NhYrZi_;Mbt<1w#f`y$SEp5}6Gf}=(n9eV0SfOvA{NL=+zpLT{=hvD zblqqlJX!GPrRE>5@NP;1ujQ0N2mq_EDHL<#QNA}nA^V$zQE2K+X)8s}Eh7-Ywb-_d zs}q1V77x6(8aB5H0*dL_>-{{lt*cUYN=0EUjB^t-M}5N8e%-OI-Zg&c`~8jHCJ}*I zxuT{z=OZg_bZwjqCkwCYtOC6QpJx<ysJ~FNa6bd}g7GJx?*DsT-X`44o#0>yyq_~K zg2u(&<u#n9%GCJoC*w(|S@GHWQlHJ3dBd&M!%DwGri{}^js(u?&ke7ruIS-_iN2}G zr%q8mDwE3C(ko{g@rNdOj?`JT<lt}VQe}Td`UNZOx*2?s3I*A*|MJ4YjwXCf+>ikZ z4x$MCL4gM85ksNI%z)bL%;b+iKp6}BXA5Rp5Lu6e#u%6m3Vg03NZ*J%u+#qjMa|t~ zFr(LnhT9qk5CfmTV(9aSUcQ~aqeh1JU%6AOM-`g!yHRo1ot)dWq0h<-Lj=aad>UG+ zQ{xNG+)#90X^lcm^Ef+ok)hCmr1}vVsXIfNK}E)xZOJul*DPvRbpVpw+W(`d{64e5 z5_Ka6U=TaA>zMd`Gmccu1T=;dmJ5r#nV5<HbZJ$tYRRW;v<Z=@pcmfti63+_4ut_q zd=4cBGwo&xUqqA%!|&`VYtJL%Yd5i1Y2`Zh*M>zBrnWB<S-v^%Y}Ku3QJwPqs5gF* z885u}exv<VKDLyta&vB5k!_V5u8*HVn4TKk#|fS-ZVA>U^b9!KB^;26`UExe`L4NP zVaJhPo+r!AZ+)BsL+gSPA00f~sjt_1dA+xE&rF@i_I72ggx;ct6d09n26~wiZu~C2 zjE~6j_pa)^vzY#242a0ING@g>0iHi2B1Sz$_1a}8Q^jq5{bWXeT3N2tkxGJrN#(k7 zNxclK7qi5ozJtn*xD*Y^!t24U169gPyj>AeoM(>pVp*@7;$Qt13$Z0$hzOm03|8Zw z6}iuPvHTy!KrK_S5^)$bSSks!?6E@P=6@|E)+9h-bxASq5+uGvkahAxZvzT-;ojQu zrJ|zmb;y$0#Eh{F@ebWE&RD!-=2fJT?k3Do{qeemY7+JKPn&D`_i7oqSr0v5T4`6* zg)mXr*#t#vlhw%-@m-^h46c8^jfj<i^)zWGgms1J_3uX*4-PN$_EOirKi(|-t3)R4 z4N`T=j}5u0=ICOO@`0UHXNi3Nt)GR`kuzxxNP9Batj?UP=94*O^6qurtwf;;=OxlD z1V*1t|8PpxU22db1ouST(#g6~X#-)D7EQ&YD5U0oM7Udx<(1COS0~z!sC?D{jJQ*` z6`oeHj`G1PUa<w?_TRS7rXquSRHYvh%Np43=#92Y<Oz~whYTL2P92x`KT=W!Wfu^+ z&fu^Jyh#MDLe;rS?3Qg?a#^>i;!nLaU$n!B_;%h^Cg{GGXz};9)AJ6C-7q>y_w<ER z=W#q#FEAR|ghUU&doalPb<?SdZ$+)!kNHYEQER%0z^4<nE*RrCm_pxF4OS#;@f`Pn zu*==BTQco6DZXamK<R1rej>oI?LP{>5b1qv?XiabFDw7i4f|iM=_Cw!H_~5McXa!3 z51XCxv`>T6HH+#W*#nq!%s$iZ=^I@ZT&g9;eQ(^=O1^CQ<65t%6ZQV+g>(2cN&eFL z!hF0o;@;Kh{8d)*LbrSI+<TAr;^IGFmU6n&--)5p6g{w48&R)=tsP<lT2;wqBgm{X zvIB8z<<)?QBSzG`%MO7*(uix-d0IVP_t?kvMvG|V%7MIWqU1y3p2N?lCh1DuN7g(l zCU@io1X^<ED8n#M$o`-`hq)E=aGO;~v150(A)m3pga0T-0f37dTdV9gromHdrynbI z4d&&L$}qJ9$>ZYBwap3JOH9p&E$qiD^(>#c<~C4uVMfBCJ>Nr@^}aVK8eIY*p0NkO z=n7T&pSH_GD*`PpZN<MY3<LPdPmWgFnNuf7FQNI|I_!1ZL2sO34Z&(!K*mlXBJOhb zDn@ieJA6n_{#?*B$};R8s{qb=_X5phh3c9rMLU+4PaBc(AOM_w-XHOS6g@J3uKYAw zJaxol0z;Bb4Hl`Qnn|T73*;vLywLMSGWf%;iYlJXq(wF8>=y4*dNN?<Wo0h@_Sh9q zf&lywrXI*r1FkI0mtJ_FE9qGxWW9}Qee~C0wc83RXrKha580DPr#jvKXCh!rJIlJ= znCtXvsadFGW2VgqJlrlj*uES_Iso<twb9|XhBwP)lHp?D29K+7h|~$;<w0?Dr9j5h z)jmCbG+h6zjU#VZIlXZ5x!(rH`VN=P)Irf}HNs2epH0+US=i`<X7^GDOK2~jWC=z? zWcq5wAUXCM!wZ<LpS#l1l8<$cK{_T*rIa_t(dp(Z*fp%#ABq5Qb`A6XKBekm2%<`z z+DZ;W|LyR_*(XKyS)PfO-5K-08VaFvG$9A2$2!Do=PLjH4z3wxGT$aVic?TwjO>QI zi}<4_@BbeKb>uhB&o|gF8bpjjntV^QNJ_^u4Eb26gJ6qfNZ;w7LGFk<2O7*8XU+zf zv)U01hLF;zng0VrPOS#^G2w>7uc<0MTMo7NX~63RoN%lr9hEzlSX@Ro+DZwush;v3 z)rj}hn%uD(!jSX!wm^Trn<EbhF}rd>RVf47nE^voeQH2(PiRPvsc(*nv%Q{ru1C|{ zqHdJtUD|>KEoWF!Iu}U>agClp?rN{{T~YvL|Ff<z0{E7)ohE>%zmRQP6ZGeEWYz1r z$ua;%2aweoy|{roS_^=}kZPU>FtVLIdDtQO%=HO5k~RP-KQ%Z;zTG%6c;B@_^1Ub{ zSgh*ocEB0K?g<v7^-}MuQ>Ig~?cNJHdGRbSDy<@Ppm)z!Hme2kRm4#o;t}mZzGOEq zI5fUOBt4bQtu|w3uY;kfDc6pR!z2#O5<7Y3g<i2oA5Mhk4(#=4gFb{~oALv<%*3~D zjD||XkK?Ld?MOljnfTi_>Mnm@J$7%upI1LoJ0Xy<t))8_Hr&4neb*g0pBYtvNA3O_ z*S+0kdGxOsY9Z>Az(c3+z>z+hSY~9&d5enLLcazstBN>QY`C{(kio|nni3B2xFB7& z*4gnHAM8Rj&5|u~y+z89z`f1IiP6Q3eib-N_u_t~gdJmz`ZcrD1ViA1M=uChp{Rc* zZricuHrbLA{OQ2q2aUe@?=HSwdLAbp`?hdPobZ5d#BmJP^Z8CWT_;zgK-L+tY}}RB zd*%jB<l6XLi2^*l_tL`9sZRc`um#&{KO>d#sSjdIQf`pf93#5={-?$szVzZ~QbT{u zeMKTIBE_3g%t_TBYn1l;A-US1&B^>?wAg5?%FoJAk5p)ejp4#oZg5uq3K;>K8vEQJ z0W?OEn5~#j%Lk#=P}+!RhCa89(929;(XSBKmVpk|^UD7WiH9;0Ng)871K?zB7IQZR z1k+F^9`1RH;+ztteKCheTx$_<n+DF!KJ}k%rKnB+H5&p<t1LW(X*yw&Nh^>%5Wk;w zST%FourFF8Qs>M(OP*{srD1Q^E5_@LU5wORZmwj}qY?7#>OK8zYM3DbqzF?8H5+BC zTF|~K;R&CP5CCU_Xy16^zA}|eE311aeUr2uX%HdvN{9`cT}OX|klRHp6pza7myJ?I zPc9dl`Lv4MQeBmx<7YQ98iKe+F2($6RK0ZPVr1JSpyX(uJ44C%<$_ltWC8M{_UC@m zrN=9k5Wx>(eExm;NPxU##efA;%zxDf@DNrPDDXE9Je92jGQZ^@9!({*e+hh({U3$q z=p5Breg2xpTxv&jz%u}TuZC&AFo`>z!1?k&in&sWmfo_AK@wu@tZja(*OT|ng&@*E z4SXx<P1LI-9Y4=Cn`!QWX<OV}Ui*aE*A*`8O>sd12iQF`A~H5KH!we=XBW-o>B6ol zW#lmg+k(sK&<o|^><!BK)HW2AMsF3_WKxyvN%Gc^yG)zkyWG?v6u^GM)(ut27&BvG znymg|I&+!aE@^d8zv?s}_Y`gzpi)&aG+EqJow=w97=FjjmF?v!KDNpDbblayE;V%B z;9J;>`lm845jdVkvR)JlMm<F_Z|Mqc%L~Xm{Wp2#sXCnwo*EZ6Un2E_rYtt?<TR$0 ziY9{pqxkSvi{Fwm4`+Rc>9oU((>1Ty$pNAq%g-?IbudDlyf}E3?S0ZO!~6%GoeR#^ zQ<!Wkd{>p+D<%v3Je6;h3Jc*r3TWHvp>DPR$pN4SkXcxIT-AV1b@f`PWZU)tbL&~= zNQS~@|I~5G)lez?J3Thrh&|_7ip(PGwSKuV^5>s7zf&|4wJ5tk++NZRMs%p$m{u3E zE<-!}H}@Y=UKncGJs!AB{JuVq0SHP&+}(8h=Tq!n7(d7;^BcE_qVsh9Z6KO*mvc{k zT|99sYrulkpcHRDvb;^nO=v_bRmz&<m(r~H%MTfVPp~+<SHaIkG0Pb`qgR3x4{iJj z3`3g`9_!f7`h&R_X8w%<o|8F{{%m9Kk=;uv{DY{C=k;N!P50mLb%R~Xt9A7+w}dX% z+tm?}5HPHua(A$@<`K=~Kf4|iPb=c$7?kgHBv<1o;s~!?n;vVb_U(N(p33IH+#|X@ zE7-|gAPo(&zWJbna&Y_k$6Gj1U{i=}q21!O;^=2H=cu-%*@o4WK#CKJYQW7&)^_@8 zovFk!Lw*aJfW_3Ay#4EU0~7h*5lh$l*@&!iAI9p;Oyk@Vj&`1*i%m@>R$sw~jdKgO zkfr%Lf#{E+GXbspH_va(cKVZ14CBJD7n<Q)CW4jw);3Y12^|EZ$n>nU%eUZtqXvRd z3bR?CD*I3-_+y0ZOWaiOTNu?XDUJ$ZKiOI|%#gR(Ka(~-aw>J$BB4vv8BEaHr!#z# z_N$(HSl(s+laPA*2AMF>loDREC-e9PEaa+gVnNzJ(E)8DoGr`{hfZ<Nd8Sc<dy@59 zl4>T8o@-7pQqkA=kk>1iuTY1v)KP_00<@{p@%Q=^n{YC0-6GHkzz&-PQ#0N0Dc#qR zztc+qS6xBUdX}^IL+E<pQR87|C-Upzx8vIK3I~4k=%oj1Lz+JzHX6F>Et(|C#AM3~ zr{jk2bs0|U=T;W~(}Ez@_5wwi{%J((>7Kwui`I8${!J%7K8Pxq3FVg3*LZlwXdkl9 zrDHUev9$5!XSyjP6pyarnQ6D{e5NIO2G4NvST^}&(KcE&BK@j=CwnyXgPuBZi5s0M zXjuy%3Q+STD>HMk$Ib`sd(RHkM?2?Vc}4U2wzu<1&)X!niyn_C884z}-Q$ZhUza(F zv<Id6Vnz)_|BOoYO#JN(85lm+Ic~)(t~NxryTQLSxqS)Kxc=wOo7)U8C>U&wbZ`=a ze5rgez2Y#>1(rYU4>r-tOd}e&PY#0<-LHDK+iiZ~Oe&1rNbq*;&weLBCqwH88!rDM z*i2HMsL@rpvRy~3qANYmm}5y6d8ZkC>&{{wGzrM<w#3U!c@RqsF<z>T(Rgw$iSbV| zU}L$ar#I)W3eGdjIH(*kb@}LodL6)zU#vH&x1ZSj5S|ENBDQ6fh|M?&DRG{mx}2D@ zT5nwzOzuBXTSb#=!NZ=NzX>z``q!QzMGZ~=+zsl6<Bn!K%Z66RA`%L3AcEZEOLu?Q z3C;8pw#q#wu;BFW%@5HMh3=egO5&DtE8URMn}avG2YR<BQq!QYy~TJa%^^_Uu%8WU zF*Rb7W>aimXJVRxJ(<o@>$Cbg^PxbvILKi7?0y{jY`Tx}9`<?efK5J0<CtR1t!3Iv zXZR}iXIb(r?xkOZG9EbZvvTfsT%IuaBgd}pGbLu?F&_~TS%8B&@{p{~XqB-N`G*&Y z3x=NN=IJB5w3?4vM$M-psl>?|x`t;zN!9eQ=6LMnHy*w_>+r3|fvSu<{nSz*``9OL zWG{j2;_O^*f71W<m(uOw%L=PaCua<56I*pW1jhq4<|A7uJ=Y(rYRGpNPC*=dzRG;& zQ!U+4A|VpPOxNfbPBctH)yxOB|L)L@()=^-ZKETU4b}{`%a$oCc|=ba?QTqAhGbrJ zihmYa7p~L)*_8P#LzSpH;nQoHeGFu3)y|;8!fKsiH?Iq58bm_L%`-T>r=gJ6*iU;J zL`%YEvqds=VAcW?&O<ABkP@DJsS_qqWg|(o;}@XKC#3#iGqKNNU1RUEvcB{{@PM2P zy%ByB;-6gUHJCFEch73G<!l)pGz>hR4<enRzMT|3_jY~3xo75Z@y?BinDT4bZcjel zmOgKDlQ$Ai9<2Z~>!gdu7nicB9~Ca<VExxR$T|KbY3`ze>LDSa%SvJm6#^iiMpAZP z%9heDOQGT?;H;$ufip<7Xs%zP39&pY$l*K9>qs(c7D1!aG_oZS*W`W5GY0#SK#bd* zXgAdr9kol8MDfuZJfw_AGktZXN&}}D2L3s3+V?lJC$PNXzx0@JX+vV4P~pB_&@(Ii zNAY>kM!n{T2I&uCCnHF>pWIZ(NoKC|Ww-Mk4Sl-OO1pCVa^a6xTj}z>1uX7OayDn< z3gIe?Ik}1ddA^nzNt-EgajK=LAUkT>9d=eZO=ZxGBs~CW83<%h?tuv0Z`Km$ntW-) zELu>9xZ`>@fyiq*_M(&<!Mk7A{-gLdpYQNg;RS>sJiiiIVXj`NTvgJb-y5d%tAaCJ z%vs(z=5x!0DrpV9>tFEx*{gGx5tn46=Lx~Txnu3I8;I+(C$XKr#cSq|8eeGya{<cB zHqhTH*sGUSxV3%ZW<&mC-Qo|_dH8xDTwwxLC+=_LYx%vBEjhte{qiT?=is-}|Nf(3 zf_|jSndJUX1&4V4JF%}VbG?{YHugGQByp)~-I*3>)vgTVYt0V;&%}w{-aG`Ob`Ga) zPfD7r_X=wU4s||;_4OHFjcq~zOlP6zw4S)|pG%he{P%+h_SztBuLp3;W>~__1$rJe zI<^yX<2=5+-Q7UtFsLgNiw1|7TvX~E-$3o~WE6|feYHN35RCQvYk|9~k$lE;XPV^y zfM+iK>d<76VShbOCX<5rs7+5O6z*LAC~~Ru76xcKgV5rWw5P@y+0Z0ijD!PQ1xKEc z^I6#+m<A~V{G@wN%p~PRQlZ)Y|87!iuUo=AC3I$K{YOo$yRv*hq{D9(q3!+uXCtA8 zV2=-&vr4h{wx)d5sizjr>62*~Kw*J-G5q^f++%qm*CTt^-cOxy`UQrFM2hXU9|vCX z|54nA{RH*bJDr)&w)(#U3ek|C`M+uoMql=|W%8$P)5Ec5A9_MjI}eB--L?ZGzV)=< zUH(Bi<WVCmdX~@`r4E~Z#KdFzgmUDTzit*5`$V6F6lp|PC@BQ!o{b41rM%wBzq$P~ zbh}7P{A&Uksr`bj?+TAIk;bMdI^+F~j5GRhnre3a`X3-gc|ND);?u?F^8tF>P%iS) zSMzI6>_?zrd5C@~tXQt#3eWf2Ncv<7Q<nHNbnI9}vF-B~hu`LAAY1A2Z!bdklb=Q; z6*$$7!-DcL+%xgyv^|P<1=q-QmE=J8E^r*e@s`;cex$}eFQuLwb1LyTeN8K*W@Zoq zXscJA3#yAHZh=uF7Bh@C7}=&O9(6x8&-KFAQCBYDD?H@4{qWD^YRwH)HpUTpMk;G^ zcL1@K>E+&#D0sJBSurx%zd0W6<2;G<IT*9_Vd@>cqyP0GgCTF(&lnr8elERD^D0NO z43yK1ydBV+4OOo6AFa6NQy$;o(~mRTSF$}Pn2GOm=|9i1eB3WsXQ6=Y*jY}WbFrEh zO4HROQ1Au&(RuvB0K`DLjo7^Zrmo!TlVR@*JCB`CQJY4WiW<{5;7{K)(ppY-F7lpl z(j1j|7`S>NE6Au$WYZ1EK@B!L8R4sAWg`cd9}X$>Tyc~Z=;X}Muuk1$u{z&8o0zH_ z&G&uj8T}m&g@qI{xRp6ic-Rd;AkJ9Rx~@!J)kb~{o!H7WL8hNJrIcr3LM||G2VfxR zl*+z0wGirMwpnjss7?pR)_C3ELcPff@-V$skrTdU<>>RTp9j#LCKTI$@W4IHM`(`S zbhyHfN-sFh<tw=OS8r(RxZa;pN<{1XhG2~>|Mwo>!IkNjbxQkw;%@H-g~Z;g<fw_p z%=~Qf)Zv(2^&bv2_CfO{DmK@R3Zvfb?Ck|NzvKS|^Gw1|qcS0LDlOf7YA5m->mzvH zyZv9H@O-jy$gK%TGsk4^^7g|3A=SR9X7uhY-l^0+#D{K;<^Dh<RxRP19q<t)DYEQ$ z--J`p6Z>|c$M(a7vp`wDCnR}~zCT>MCRJ=~Jn-UHhFLC>aw8!?mkI@)+0NbWValoo zq11HVWN&4x`o<F!ONm9$@@D;m#i=BcsI5)(BNg3SCDt#FH+=y7WEjyMn|eN%I>Boe zr5=;Nqg#fD=I)u0Zk^@ce{TE-yPRR`&4z`#7Vfe%PJCi@!eu8<-Mm3FrE<~nK0eBb zqtJ6c!}&CU4m?EF$$hA&gho}^a=*|u+Slu*ATB2E-Du=!vwj2Bouz<VXHl0W$ndUy zpsTq3wH?5v^{o9#%4OzlOTwsiiXa~w20XPCV?&cprBUH>3DX3ih1kv}18!E8x;Q5N zP$dH}DyB8dl40%EvDi0yiy1P*s7jB4k2htWvOS{#p(^wq<-Z&8a9-*U#yoX7Ol8~t zB{6pTe>Q7fPrXEElavGU>Xkw89s0(@UP|n9Z5%<!?^|9pKYRDNafWs;;#LXJBET|R zi$4Q<QFb~-9>xo<2Ee@^0~ZinCy?>2i8?(4PkL?Sx!CNsc`sfAG)r)B|HDfBJmNl4 zvS-w^<vW^3SOk8_;1h-ZK$yT=${}39b;o(<nd-mQ)auw&0xyxNOC}ZTFgE2h0C$CO z+531aHep;B+1v(xC{f**&dXaa*9|ClQGKkMSn-a)ms~_tY5xkNK^{mZh{*+Z+Ig@X z%s>5rmKpf-0OHzSGdjn2Y>MyQt-!CnJ6B4v^B|fVI{rsN8LF4yXo_+?=81<Gulu-| zC$L9dryZzA4D%h0(&43`WgE_j$L>6Q*je>)eh*qug6FrBagR}aL|4~;6l4GIF4xMw z0NujH6khQ|(j89B)aW+MH@OO&l$6S;KYk^{2rfCEt=WIwN}mXDrV>iF)A<mH#%CrT zm0fmeH|VD(EZabN(AH+QN5xdroT%D-iBfps6~(ks^a1nwqi%0p(y3ehe*Qssc<NfX zgYY9+=a>_yvmL_Qc-(M-5i>lP)B2-Ek%9r}6^dF%?3JyH>vS_)1k-0I^jz?A)$^We zM_6Ol`Vf1pMh-5sgDPolC96%C(V<>dBA^I24?s+t_jWKr$t83}d(i1X-sa|X%hkZq zidR0M(G7EFoho<CSI>aA*Kcx?kFnQyOrOn`V3pwGEW2#Zax>GF)V;|?Hk#C2QjM4X z4z!+4P45?uN2<~?Tzr{(EOt1vuqT0t51mB>PH&xKM@Z!Nfm!zZ`;Zn7<sXZ4KA`^5 z9ea!Qc82c4onRK43oQ;=xA~U$TFAo117B3>2_qSlP2v_g@a~G+T__X_h~PanXZf@9 zt^^`{0ybER8V`&G`8V(H5pD&Ob%lSGv~2J4?oDyEdWAgTFHR^Hf#1z;K15y~z8CRU zApErs%c$U)9fm^erE7dv2C)u<LKn=z-4L1?vM#|PYA9xtwd?iWK~<BcnZ8y*1#buu z?U2KcMlZ~eF*X{nH}umslJpEL6w>H=KI&{3_H)9mFYy;@`@B1&s*@l1RLQop>6FrW zI@JdKOVtyWqL4O0{L+sb>ALq52j$n$6ZI@3LuU}qMBMf{e}o~JM#E{+n?-5v?U0Ph zFAGBQxuYjt$;FE)xN7t_^;L@wKg@P7AW-)Vy4Fq>oIlnP(rknOiT;)ECDgeusGb(^ zbjDn2++8V5{Lr&JSe1Hu=`K2^imF_FoQFl;lcJg^G67l-HLsX#Dp3$pz%xsY8wfQl zAXlzIe$6C;(ZTL&xV@&R>L9_h`EQE&7pQlZ=GxX3=2En4_~7Vpk^jKVE}x4fN6kw> z($_?8c@z|R@)e)+5-;?v@==Zw;hXl(iG_fBiS3-V>YFD^$&JJZzfVdwq>iw?X7T}O zy@}GtttivjnRj#COW)A|^chOXjd|<MBKy(K$bl*bU)vk<TyewXGoZpZ+$g9VLN)^Z zxgVpm-Wn21b6F@w_Lw`i7ltB#xYOF{AjqO{rMSh2$3^0#4BaWy#OZf}2ROXyv^b7& z<x!2`0c}jyQXqv8VhDivt_FG(!F=Km%IVX<<yk7il<;W}aqXY*@@eb1pVIKGznFH$ zi+dD~zH3U@Pxij0VRrcI`~Oh@zY#_OrST%wV6A!(pj#u__OR7=BeOG<SpboWP>s1@ zxNHdXEI2`}f1MXAwBo%T@PrB`x~l}dYtNQg3uXTpYoR2|K2;dyXJTZy8)oUmTFPXl z1HP1RrGqAPV?B{;xomng9G@KgAl*$1?%aS-cOLiTfpl~+sSP&$Crbx@(@ed$@MFZ@ zeH<wNvi^uUw%gC{_0^elib_L8xC`E`JAOklie2kGWkT&o0tgm1d!>V3j6-#zr%n&U z<n4c_XOTE%O*3V?Oe5TFmk&^}Iv-nv)GlHhb^2LHy$BAx_E$3>ss7sN_3vtAc=inh z1b_cC9k3O@8_w+peI^cl^BAeGk5&vnxAFAPmou-CCM}FkR)kmKo4aLCR{jKmzx=H> zP<@g`XAHMSDfRPat~puh69THDOmhdNyGCNa<g+fL^O`P0)ZBIdY(md2J-2q}j+_JZ z`Gfupn`iJpJbbSqucERjiO5QngG--AGi8dtmcGGV*TUG^pW3XX@ql{&C}bQsbdXfM zQUr2<k?lGT-;R9Qhs8G&A7y$m7)b%SJa=W-r%H{xo_dl}t$AeOV`b)+;NOrfKxpsu z@*OkoM-5I>3Xt?8w|JkV6BX0>j^A}Yu*S+4)@?G;Ft+wzGh}*yUu>W4Fdt)zZT3$k zA?O+EU(yNvX`KbGo|oo{N@A-8m1ofC>3YdWbCuLFl3a&WK)_pBA=<o<LP~d4!s3{T z&wBjq2&4%5nKBgyl%vM<1F7O*9z)KnFkpqSXQ{!P0E1A*nesM@)lE_fD{-Dm4QOf- zKAyZ%L7^Dpr>CKKI!wdXj0cZh|Kj}_3hVj8rV1r!GKOgB*lr$rXaPor$YIR=t-|S) zZ-i7>xQE$Xf-Zlcyrh51y7<a_wESD=cWU4X-%<;2OgMS-_TEQ>^=ce)XVPJR>3za1 zJ%*{1{><V`QeQ47{1L0EdYFFIxfjKqlQyB$z{kD)HPeHcy?k`9ToXFdl>k`#r?K35 z{A*S1s&Mcrn@^}z_{~Yjl<EE(=cqUCkOh?5Ff~Rb8x!=~;Jn=goSkc;N5_SUqlq`M ziS>F+ZdLC@Y#G}uvEYb5ATCpU0*R`VTe(J%+UwKlj&>9D%{%7K9}V2dMW}s0$b7Mn zdcRu&!aWrX;(w$->I{#b+70EE=D2_U1XbjlZ@L!FG~xR!9k&~fF%%ECY)+tFO<hJx zvYbRMbXwmVJ{pdsars*6(-At6T8;F#NYVLk`pV^^CyZdE<ATe+NX;ZWm`pYlR^+>7 z065KHa?+FCJd`M!+g8vVjn&@3n#?qWW(%wM7Mncb#bv(@;u;oU3Xcb@1ZX9Z<knXS zCL8EH53p6#w$oIib($=#A#-SgjQ1(SEivf{ILCuikg-7c_&BvkcF;d%z3ZD*XBPPv zY6lWoMI8sK>%sy_smV#<fIVaLwBlPSQ|m*i6<QOqBv|p7vUyd6XY`}S8}JPi?Q4jq zzYju{jFmG}Z|Erm=&2pV9Q@Mqo#x5*r=oi%ohLl`RYHP8{Yp!8$!W0OFE(Y#Fl1={ zGs&EQe0n{hZMu*P*jL30ZuF=wG?$Q#+JON!JkQHwy=cDlY9v<ptFy6Cmvurvm{mjS zu#&3-mkDoI=DSbf#TvH)Ti&bB@rx{5iQ<R|FP51UGT4M8Ppyow=rZ%DxD<<fFl;03 z)yMI08l3>R6-*IcmLV~eddrTjl3#4ZAIQ#21=)VB<`LP3w#$nsmu3Lf1ciH6MBe#G zz0+Ume(|(PZg*cWDy)9J{5`26+F3S%%BOweM<y}}!I`o<Vi}HUlv|MzM^kNYkgKa+ zl2~krLSGHvANGo`!2ComG+$p^$mVD(C)cJ@E3!5U!ak9lN`+bt_xph+iyYd)!5i6i ztVy3DC-Vx$_l@rj58l|wkmqXc$~sNtCzjh_Zcg&{7&sO-BpHE|WM6KQxM17x*(vBz zKYF>~@VQPLl$2Lb5~!EXS9i5^TAVJ)<zpigj0(d^!nP{|HB5IbrLm^Z?M8r9t*(ld zn^jIi{Ag6G4TIM9>q9CB0v0$FwQn2p$e;WtHf$-^B+ApR)8{Z@Yj;^WDgRXPD%_@o z5`SI0eH*As&QoV8VL*!$8BH-Z_XieOg85TlGQvP{uv$dmwp@<n-6ZX6!%q*yhRRP? zH$zQr?yZy-br`UqW~#WU^k`Kk>5bQ$On_=0QKfnAZI34Q-(70Yi#Cfk#sxDU-s{6G z-hWadJe@1tQ_fY)@~-=FX?Ksu0azAKdE7%jg+IeMUSS<hyarVns!|;2kazlk{5B26 zKmVf;xp;p7-|anUSX<1KCwrza%KEZ<in2ocI&2zBeLFaZF;&U#lNY1ZMp2JE*gl(O zUpXDLJzRqt(Xoikz6ZS##04G$c~M$l8Z9fdoj&i%1SdBm&tU1XkCE9AznB>XIA}<d zZLmETrGt>-Ub8K9ZII52L)F(^-*f#i;K9tNb%%R9?)Rc{e`$fZ>w>#~NHscka67PW zaAD8Ys<jXE36`qO6v^kzy+Q}_C%|Z{qPtv)`Oof2cr-e17#{(v&RK4}mbO%F0(I$R z$iwAWY-|GlBv#7Kv@C4!G2$b-DN)am{d-sCB*f_N2%H?8luQiF-Fby`IvH)`__+`0 zKbxV!!V%!B#5_FW+2Msw7q0Q#GVexh{AVpO^lVV2CD#1x^Q5<Jh+9CyYQl>3PMmG3 zlBoX7{%E_Z{Q646TV?Lw$i-hVSIwwvH4Z^1PPSG;31(i=sSnRS$~y2S77vbckMvro zVNEmNWwjsBb;bUCFLAY5f9LO0o*?o~k8pT!H4eWm@s6y|APifwRc$f%<rkn4l!saB z<Tk+sGf5}ww0cmsmea;w=~V2wwAY1pQi#_8gcN~&DH{O7I+W`;5&C`3liF7BzpDL* z?TE-^vz}0bF%u3}=jv=G6H(?tQKbHVs_Tz=`TZ(yW@?$mM^2a9*Nc3{GxI8#z*Y8c zNABl>?h`vJH1g-`*Y`(edJSWA(d~lm@>h2>=iz%#T=)VUk&TT3;15;Jl*HjM+B**I zy{~-EctW!0jDKdG#g<^2qc>BtPeI4A2QhEkZhjYCLwh4}F`Iu)j=yJnwj|yun0g}| zq_YmI1EbF3s;l~4<>3$FiXSF{{*a5o&z?K&&z<q8qumMOqsR+J@^b#cWl0Ow>XS9B zxR-o(Z#7%t&Ek0QYX!ge`%e(@VaDsZp*`TGp8Qff!;sKG-jIEMm8|b)*@x8^vDY#j zJst7Cx6166fftDmT)7(rPBl&i!LX^43nAqvy+T-n(Mr$%QFNAJP4;aVN5zK+MR_Eo zLy0LVNDX0#NQ|0vGrD`^C>v=30m;!gU`(WIh?L|cM>mYFF&HrL-TQeTw&U1+-~ao% z&hz}8lL}5*HgXE9qvOhomxDKEjKQvKEn~KE4*MB~JjkwyuB(AerI`qc&DgjK5hdlG zZ78raxsGvAFdRx(={lC4seUY6u5}{HzSMtj)pbCbI7D+a82N;!#_O9mIpmuJaBwEV z3>~-hb%9aeD(M(FTE{Vt5OU{LoE3ujW}fXGL1nho71I15%kIYmf`ddQrEXcjs?GVY z6lV3T&+X<Lxiu_Qf3$))>CtfbXZbNj$_TC;caBqa$x8@#f1G1zHMKwz|CL!E*8+Af zp6ni(gIbE{y_r!oy|~tk-n3tWzV`Qi{g>)?#c^u%jSi~N#*ea6?;T@J)<AsA03lY7 zn}B^?%MlPl?3WRe&CafM5@T?5x*{;Z!+;SxqfL(y+4okn|8w!ibY7D5EYCGCf1L1U zNY(pYkI~QJ_Qk(cjpec*9_b8@%~Qxkkp~yrjdac3tV9}=zj^5n)+J0(yk>L4>^XHe z1fb}?v67{m5+!-czeE0XHSqDVPPaALXk;%eV_BSTOI~5;$BVx9Ptw0V8?QFEq3W7N z&fE_Bu=VYcFM=xqPKgB=s)!NjJtgOGV|NrQAKQ?%tkdmg);mW>zEC}i@vdDz(&b`c z_kx`vcwGgHxBkbrgCr6mXqt&a_J?wpumHPlAC)no`sy0{DGT)WmrAa4W}jH<s_>PQ zlZb&@hyDwvtI_(iITX|C<rwQF%n}{tS7v?$RFa(c&M*oJ5cw3fD|?~l_WCUMLDTBd zJrlC97-0q4v;8?}`@DqS#z#rnQ~@pWzP144BrP%7i;gG<#v(qov3UOwz)45p^8&9@ z6VBT@`&<4}m2T~UugH`>%)`R;5t1!yb~4J`oX}e><H@rO%6qafUG25q(1^vGrpuVr zIp#Moh{SdX6KUp~HYPfHYgH>9o75(~f&}rQXBkUu>Y!SCFG_#KL{N{NqvdD#XZOwh zk1Rh(&z3LW<udI3>!>ep`x?6nvkdMT)O~g3Qa$pktA1C$t8fP~!=cKa_}<g|%ic^4 z!bTnC_m`?lttlOIZ`>crf&bn{u(w_Y;^ZiWtEuHHhuhN!MC;1z%5WzgkoFNmH@GGo zvI3=djQ|YuS2zBpGUDY;Xhi2SE-rM$hWz#y>CL9fGwHW^N~g=6RSKRKokRG>{#>du zh}S$^&-T}ziT$Z`d$G>Z9n2Q>4ch4=JbWDPu61yg!E}F^Ia*F{bLUZ)orGL*zj;{i zvq}F)OFl<lUzi-mvqTXb*5Jo8H2sLyD<+lYJH~tAxn{gb{KBa8&y8=bL&e7Wp>*uI zZJd5G*o@G-a^%nn>gm!L2M-@vo-Dw*QFk_XMTTzi@yoy@Qo^#a-OTGP*cEd|cq!?P z>{=Ecz*Th?DL*14q~hginIL@ou(YpQb^tCNw({*)`LfBthYVPQ2|7*dG{ssyCj%L7 zF4~$gLsF$bSp}31;$~Vy6JzU2-v!8sXvhp=$GAbYwf^%$ITu%@>EM~$Ce6C|HN|a> zdhuipkzlf0g@;P6JZ|F^N$+eB68~8fny=`Z<wK8@R+F@QPp3%0N<U!bA`DW;yn$hX zrLvS<PMO7<hvbz;Vj(YOgO{8cn(~%vbu^YiDd&2#h%?_|DUGpR$azd!ZNpjfo+iKk z)3+`HkZ*!n3HgCjwnl;Y>=bRwMdEs1{x&OLO0VK$t3VkDsPya)bqVCj-6xUqpFMlR z@R>A$&pxv9uP14U8J-irg{BT7^YZ0*gUTg%^lA+I?b0ePxhby{<|KA+u85hd8?{D# z9p4lO;v$<F7?VhuR|jIK0TT~eykhyXT&78<L83#b8T?d0ToO~W=Am@AcG+0}clrqD z={iPl5B_~B2h7tXqAr->`4si*qCOJGB-*8zv19B5_{_ltpU4(^$<gE&DKvb#0h8JD zh4((VDnXj}v2w5KOPd$CR+4M>v4o1~eKrUUp!LS%Xz%xLpX-i$q-<NQ=SSY`yvMcp zIWOgTQI-?e;Esb&MD3u}(C+Mtl<fGI)B&W`Cvr&140Nzmmv*RIN&e(K5&oVivS-_n zpwaPo7By?q7g;k`ALG4S;psV^+~=wk4nw5=yIOrAL~%!#!)wD+nx#rB$k@LVS9YiP zV%<0mN*x)NcvlklTYsx`p;f_o0d1ZWZ_xZ>L&Jd&6H=0r35_mHSJq<GHGcKz%L_>> zRRYUMYB5%O1kAiE<$1@wDxsv%;xohml6;;dqTZ6)&mBTkbW{CI9Mp<#ajQF>92^f| zuB{P)C|d?1%A0%Jd@K8yymbw#2xlesy$QvtT85Qa{{xd)^loXQWOY|FJsUoOgf8-w z?!W#1rr8;gjZFbJxX#olREKdM8!6Pf_u=D13Cj`lEMNB%zo>Zd+~o>|24gUm7p3*! zAG4@|$nM7Pg9`=}{1by@!z+|J*Ui4IQnvHL?ts$3?@oL`ib}n@TdBEKw?h37zjJ*9 z+VR<F&`tz|E#i<T@(SDJ!H$WR2;r21eP#+omx(Hf-%yF~0hG8Cb|~GSwPV)K-!Y7K zxDF&8belGO?%X)FGL6-5@pA}sM??|JQ2YbxC@Q?t>PUaFb(52fzA}FE)#_spe{-3{ zo4F1d^_m@QJ2a$;*{bQTG`(bX>8zk2-l$!@mwDM<fHh|R>A1Jo_FS(G^?$p~fqrUh zFBl}->fa>zqyFDrvFBJO#h}NPC7tyLI=me|p~Ez(>pWS=Z|(-Np>tXJqT@capvJ2& z1QET;=lgHnWgF5~U)bmd0~FoBUZ+Uz7Dm;X*=ofb|AF`5BSjfX!T45Z#mNzm78SZQ z4}7i1=CIn7{qzs`o>}D!N@r$jAkgre04(8{wcoF<J2ked_xJ=^r(QpnbpA)I#L}iE zN`V=WuwI!91htIR&KG|M3uO~Xql=&TyhOmKB`ULZg8$y7;-`?3gjT)SMVcwd9tk#- zJos_92A7-4Gw*Yv6umLH;byO3ky+ro1+ESF-h&eS!0PF?(G-G}CT0F@@>UPC<>giA zL{4?c&$pCcQq&_FAjL<={3B#v+mKDn@A)nyTzjVZd#{5NO`HQkC-PAq5i6IEDe&BQ z`QTaud7H3*bt`^R=|9rx$;+|bn*L{lDtfW{b;;AWZJS=mF2CqNzG@s2o>|)Zlb>U= zZJaJDH>Rs|te%rKn&VM_PnWhSL6pB4(Q_ID;vtQ;6NI*!Jg;)CK0#~Le$#TjNTXtS zw%mGg0=rDW$X<=fzeg@*{gXL8{VF{(uGF!G`ou|57x;6%tw^E~Lw_^9UlJ*GFl;V8 zMwX>bwU@|v@AKqce9$4ZU=O<^equ;cU#5SJpbAr3;!-;oeL(=%N$B{pzmH1>-^vS^ zmcvHW9;@aHKcE2uGOuh04)1l_Z!hPe*sJ}ZPfus10a3q33Kpc0U8<P%#_78{A&K4p zo{%3L0=IJ*@Ms9pImv8Es#BkGPuyyHQFx>jcjjaN8>{G^(e&F7MnrE+^U#IU_aE{w z#hBFbOrJ=$w-(MLg1Lk7F-M4hLPp%`8++q4UaYsuOImjqL^>mvmkTaifdEWAj~Dsw z#Pq&0W`rO3M8hdc@j2gT;a%~Mxq_i{_Z8Z(ZtF6N2b7AeqsI7WV~DKA4flRst3Y{3 zJU1_6u+z|#g>PfFH_r~`AT9v`Rc#L$PXcQVjYK_5_#db%JX{PH?u=|qWBW@5-`R#@ zj3)NedX7ey;}tgHyR&rvN(^-nD?PHaaob;t2X(ZX8qWqb8U{<70(m3u!pHO-h-7!i z*{(e!FEWE0gCr1u(#x7n<bo5ojqO;Y<FAzqMW$FM9TW_TU-7yoeHVxrZpD1M9jS@E zC#?7F;^lU`n1|6L%*Is;hONh$Vq}asGCtFu4jZjfq<!QYL(ad<(0_)Fn?`Nmcc%Tb z&)K+462qL@K>aiRht=U$iM2zX{hErkpxv<mg|{l)ZFuPemR*D8+p(qhk!eTEy?R@r zI9(I!L!U30q0%8cjuRcxsk7+`6YZYWFnp4}VCpx<PRJSi#RqBk*~3PQpt|BoGO$9Y zubnS~tz6|7JLL(NPDvwmsi1U}DD_(!!ze{V4$-bfC_~?@d4I}|yAFsoxJix5T<eT| z$h7a?_?X&oyItvDDzPco2!`OUwzUaugxj)$a-mhQAB=9rqj3N676@~^vHT5(5CvMH zx}dbt9qqbBA@)`FOS_G&hb7rLLDmnHp2IGMPqt40BP@obZUKcemq}36o33C^2*~mo z#ngQ~E5YMexV0KFMpkPHS88vnK)w0V`3P{hzaMjDaV2gYUfq?_$e-5W1UN*0U2>Sy ztUlw$!2eRgm?!YBw+&b;SM9Osj1uH)(u8VGJmOcI#;=_PgGJv$KV4V2Gaz$E&i?yI z!})0u`ErA)o~M~WL^4sTJBvjFsEJ}Ky{nfx0Wun$aGat+SyX4@6qW?w+1U>p2=fg0 znsrhXHFXC4pg%-cMY_>PBM#zR&~7pOEe+3%)J2BikFK2BIETtA`afC9egJqkTv~`0 zd~Z~66xi>Dh2yc2|3o@p+L&Tc;T*MH9c;8)LG^M_+mW2Z8%s1Xwf|b#o0;C<Q~LG2 zJTb0{j5Qq{X1q)v{9rs%Q4i8M1pI_X->YWb6|`^o+@BlCj`v@<L8j1KzQ@e(eqQ|w z6@ZLj5<c3$LEbe_wsszz__=a09<mbP_3hA`V>%dPv2vMTqQkh?Zim96{I57kl(upQ zKpHKdL9ac>6LOE+sgRTZlVF#z_oHz&>KSs4ILrgT`o<~KFs5NKG2^FeHOVs9zqJF; zacEb{d-LV)Je$;J2ITN{5$EY|>6PW+0w(=b&FuQgz2cAk#mzxS^3S{}rmm05IUsF3 z>C;u}oa;iB>?icfY}zd<1%_ZWcN@EHVMQ4is6#9vMofFx-+R)%>m>cwf?cfZ_B-qm zx~S#xg^>01uL8VIV9zT?AMz*k*TLZCJJB&G0iII8(T-=2l=;IY7WXF!Kc_1kD{GGL z;4ZB@i0e(wh{=nk^=vf}K78d1T)UlIDQkIy5UQuK5BW!D{?YG-%N!8*B%f2?ti3|E z31Q*F+9lKY-C@Gs^q{faYyJ<Ly-G{akfkeEC|9PgwBQ;uN5YTdo&B4xGGXQXd_np! zU6*kh=?lr(b}#vdZ&lg0Cef7`fUC|DmZV(!sa?<4&NgrtBTFF(<<*8vPEEJ|>z{*L z3~dYmg~<rH2UAWp#=ZSdfvzh`uV477$WC3O4!uP}pMb{gM=&B#)8_xgkGuKiH8}5) z7BkN_yZVKC^mi)Z4QxkFlk$n>Rp-JLHL)K5>Vv&}XQo?*miKJ^dv?xvvz1U`H*dm@ zn-VmqEvKVjrY)<#q4XZX*Q+wTKXi|-g*Y506x17IO8nM6nt{2@%P*-9D2)KtH8n61 zx0&_0MxF=1w|Doqb<MZxA6uV#d^`f*pU}tAgz(7Rfu)Nw1-dq^wR9W&+$W91<Gz)a zxBfnE4Uh^JpmX?)u-4$QCW;}JHv-Dr9u<D$+~XbZ6P<T_;jYo@FzD&#CnE5O_CYY9 zH7x!~+Dhl>Ghv$qdhfqfR`3vL*JDu6eUHCXKIs{on0pi#Pu;_xb6AKb#bUs@m-sU? z_Q`bEyOix7&5iO($<&KnBc)SKbT1+;C^jof;d0q6uCk0`TW~-AH|!C4zVLLl@9tD@ zZ?B>&bD}kTBG$=f?o{x0uj1wA7Cz~XK6M$rzJ#`Nvm%_J)BHwWLOTvG7{}c*B4)lN zM8pG;TK~~QQPlU1<W{IN;nyJqWJ<FT&f2cd@M67WCi{GJ{do$e@DF%YZao{uVMEw* zyB!*D#3x7G*6HQP12U<V=verqNblY*bWuFTH&c>&`|vUTTDf`IK^6V=*2Sc{{9dee zYRL7cZ%s$ix<s**&@->nTf0N`-3lDx&Yulyo?Iuz@zr1GBk9Wz+yBr?n`wvEd9O$x zSgH%JBwv~4u3JSq3SN8#@qP|ZWZShC^@u--{<rt6k-WX0i$~r`XqsQLdhXS*tq1<l z2swRo%5*-HhsfBLVcf4?Jl>9(4!S;j4aXTXx|985b~S+YMm?e85+t587Lz<yBZHQj z%;cRMg5w?sISezXKg^o_hQTW#v!XpM)`hNZ2;Ut!IkeMj`OeBlWEQ&A(Jhd5*3OL4 z9~?!NEWCOw^(+cmmg0(oRhj^DYm&GAS%0fk4fQ}sdB6jv!&L+1uillAQq&rLG{tFo z!q~tp<EF3}Z>z3BSHR?7+?9<^AF=3Zq6#$C@9Cx7$wo+%!Pw}B<u?;4v5q1y4O)9* zyOg?yTv7fshX$*TEt+npthm?o)^2>^Z*WX!Jcf=U=8({kq#O-#gA__cz;*G!ZAEnl zhUKPE+FyD{Hn&NwVt$rvPPxSyOA?wKi`x_j!Iwpa=MxdVjpjWLzQcOW&a}&(P;C4c z_MQ>1f0eQ3#C%9vd=r8;w)-M%X;6_t(Yr&oX!hoo`!Q~*cK=P=67A^p(FB{LgD~HJ zvW&T<ZB^(vY`zpuFut0oP#56K_Tof$B(B1M^p5`hsEYIVT8%7c$-BkvS4JzD9%)T! zQA65qBJ6jq1Ml>!i#m>x_U~;BnQ^nD)I)w1XA#vOEIZZdNPVCt5ZI6YQUULbBfDvn zTl?VcljM8lhE~`=kg4K%_uH*;EdALO!`}(T{Vw-Y;SC`aho35_lPN{+sMa&h<5f!K zJv*{vMq+m`fr}D7=7eaehqtUg@lo5HM+A7<PAmPYW}H<2^d>GP<@fQoImgcdyFGB) z@h^h0`M}@6LG5c<w=`BVZ&;jtn7w7_fCSa3uotQN(V%X4T@|JMVO_nL<%U`K%<*Z5 z^xqiNM(9b;&c!(O0`jFD_S0wYUY2v53IuJvJSw5DbWQ4Bw*ymhV*gk@3*=0}x(znj zUQgpo(E|h_^&HYpU4@*p-(e@}E1nwx0Q?iGEHns!+Dc=&wa0g~H93>cu@UJJ_Pc#3 zTt{)dTS8gT-CR>p{4ID(xm<|Sh$zKwz2-_w_#R=S>t=Vs@70p2@8tN+fv#wUMh-M? z+sns_RooP{&U5}ZQvqQBQMK#H^&PysAW>>(SCIh#D(Xliorba}A%g_&CBuHN7kv5P z4TVGeCr2A|y{aCw@~7a)rzlY|6O(7%FtXu%bKK^5XKCV4((EH(-ar{^bHIwCtC2~v zWXSgOrgH{{|F~UypRSa^#<*3VH7_7(2w2L7cYdrehOo4k!{qxi(K9^YiRvx0(}&kP z?*<P>e2i=t3gamu*`IJ96dk@y!dCS9289U4NhORvvBG1RsGdSg*GIDzKtIKt_p$SY zSyBtNA*q>7wuLvDO#kOcK2I{t;CZ(!e}YbgH6<EZhI=tgpx~d(36Zf##0L;RmVcvO z>0D%j1dgoH_dZL?ald$cT19r7MaCx3D`eu=k7kmeX0PIo!?|o(RwJMmE9po?8Wek6 z_Qz~$8sDe-qDMp>c~$!-Yo<`n;Y;pxVex@(t@uZ>yEkb0VfNSJ;|@4(`s(@wiw-WA z^J;Hr&7v;ceQ@CMyr$Jep*0a?a$@Gb!t*J<!bfK3OgQc$Wg0U>Qd!m#XAI-cordHp z-;cbmR2*!29`@zY*jAChjU(2$h{rHeDY6C{Wzn&~u-`p`<gYLxY(tf*Z7HherMNh9 z*XK)_^=Zr)N!!CpM91({pZ7Ci`&AnNZCyLX_^ATIGf`-tGP^qd-zi5!(ojULl>0>* zX#KTrmvlEg^923IxSyh3U^P68!Y-2P&v77$+K*)m_RXTPX`o~)?EFG((>diY(eTN8 z=WEMp%JuI1%F#b<a*>YlRZ!B~ZNQzihgIj*_sHc-ers19(J8}y#-M6oRsgc6Aety} zQpskzih$;!-(du|en3edw`_vGFBzWS+U;Mu=#`y3DA~ioeo3`Ovpas+v}k7iQK7=s zNU84H{}=%vi!|M;ws;u_ng6-m8fMJ$-^!q-&W68D)ubax^H39<J5{oEb-jh{jpy0! z8>0a1eUflTR@lah9l4T*6@62`a|q4Xl%8>{kNo&vv7r9pj^hkj{{S|i1Y<`YGtVk7 zdp_KwPL}JS+3?jw-TFdA=r4ULHZk>z6K5o?_q-h56El1DZ=ry$e0?6eAIs!kZ_PKc zCsyoH^Mmo2d4JX4qg3yl4=?wzIla1=;Ou(f*0YNN)%>L@0rSU`L?ezO+ZB$-8xI}V zX6_ovQLe&<AJCm6s}K*Y`bXZ&*znbel&j&UYFDLO(qI)ai&X&b_VzYKOaRGeRFYo| zfjz4D@vXtxqAdN!5zc|(fc}4Td6t23J`43lHzW5eg?}Yz^a9btPs(Q-55D38Wn#AE z7{4=aYc&uDuQTT2rG={O$&{tQ%?lgZBN)^!;y0oi9ZfkF+T!5eA8RJ9CQJz8YdnF% zj!I7%Cv)GnwBVRI1#i^}Ss27RqtjjmXB!D|IScblq<7Na4dy$sAVKcDKC->InWwP~ zeI>sbr1&AijI4CvRdrasY_Sc04>@u8oMpPO*IjhEe>xdqM2cW<8FOD}20h+n*^1~e z&bBCipYX>dy+Fyb<=%m?9!`W$qu^-y*7es)siA4n7Z1bpZb(vc%^l^@uA7Ge&L(1| zA)Xh!Bu@i|neGmZss&HgX~&3!z!wfo>cAnhcYrW;K3f?0DT~47d(dt7uvt^(B;4yr zg_u<Zm5bY9T%%I1#uF2)*$HeQgL6F-j+ksF&IKX4DqzI@rqf0AEZK^*d%#VZv?UoU zbSH)fCsY|8v2AIz_n^X64@{QRJDzbpevmr~{>^IdjUb1ZCg1VJzv^0f!nCFd$$U0> zMrUnea@$;2zRNA+RQKI7rM=TcUMbhE%D9J2(ATkX|4YRMVhOg_N;5T{iU~Bdj3KYt z63mIIqUK&biTap_3_s$hRwC|QR+E|0ZaR#ezhiu8DTPOHoO4;kL?pe(shz4~$nTXy z^ovq@r|%V;H47Q>nho`Z@x_xAL(<92f$D31t^e?G-!I)e$vPL|!HTcmNZ0Lfa*+`e zts*=$>tCY*eLJv*<x;WIevr&%YsFfEGUwsZU8-%0&seq#!KSmaz;5Lxb`e+l4qEM_ ze#fX!7{X{~t{-13o3GpAFlSPr@JG$^R4TdWO>gg>`|(hz9a$saav-<4M=3rcIn3=~ z#rmo@f_wb!S`ErhI*{vy<paw5G`F5Lx3|gE@`3Dykx00jvJUokqH(j~UO3Hx-w_XM z7+o+}tpA#J;O0b|B8GiIiy|vc(`Y)MG1scq!8Qc?{341>xa5E;T*`aPz3<N?ST)Oc zdU+~N^UY=XcR50oa50C0^#)I?nmwBn=u7LF&sy)F73ZJVstz)vqK9p$Xd3N%ykNQ# zW+JEz2OA*qJaYjxl@{&oH#RYGr!<}0y-t!TQV3tjF>Ed8AX(_Z>2NWwI?Givaw=}V z01gUc+(8p$vDuM`p;mzw+0wq4?kB#u!wO-Yt_`AeNn^d5)qK1?n^L1bcr~*<5nNM) z5N1aLzFiqfAOX$NKH&N349tTs<}+3N2cX)cWXK7cVV3!`<XhM_78N>W9+cgZC@h`2 z(JecHN0XJ<4yo+{pCb_Q@SZL?iGvG$&&kX7pQk;VO^H`bj{$Ss4w17$ZGsVc3UOUn zB?$nbqBp`0wtZ$oF)Qhv6|2oS*lLBIXX}dtxiq%i_6DLQ5-65A(Aa)UkJRh*b>E4v z*ItF@Qfj$$_NbFM-{m$U{V2IxwX7{*;Q3e$qiAm|<Lv6#u-xhq1w5@?|L9d<_Uci% zn_U9vkT+18Zwr`>T;)MM77N){)}M5t>=la=K$jsvrvJot0)8X;?sgvj+|T50PDILA z|3@>A-#0AdbVdsn2AZzT)9%s3%w?9+l>dzN+Z8rmKBnk!E$kw(hfjN&zSEqt>$F_! zvD*PNU#gRjbQ-hxvvK$qW#M(P%ZG_URHzr177|3_Y!MunSb=a(HW<<}!M0*GIYLrI zM?K~cgiUjql-Q1%`T-!eRcfw%FW_8yC#{+{HG%D*W1`h`2iT)v9DVF8{c<0c*{atD zK$d;>1cUcN$KH(0sPVsc&McIUd(gO{W8fJr3(K6S`I<IYm*4}lHe(M_e!b(ywGRt! zMg_?$N(Llp*7H+xx^?0n=YPig*y%J|LrQ06ckJjD{?swm@dM~_aT7y`va)-(kL{0S z^N&lEDVTH!1tKdcKN|JP=nXXvkG(U|b531dl#^Zm(EGnQzo}Cu#6c3TG69y^R<5{< zOu;_P{c)Cx=;XT?=LkmFER{{LVWRj6<M*eNZU<+dy1geQfiK3jZe6fyDaFpi<02V& zS8Jt6B@}ugk8Um0*xR~9a`~2?r=|sEfP7!TvJ#*}AFYBJ2VylLcV-`S{+D8jHpwrT zo>6NQkw93x3$&>CO5@V#`yfzFpN`^+Iw^F{;J05{6S@QS-&})EWpW)XoVhft3lGZJ z;Z`r67>%8>N@=Bb6%n=ZUxY`y)rxS<kLJJuis~IKbYd*L6qf0QcRR~n|J#1xp8!g5 zY7_b(M}0x#68%A7*KbN}2p_Oq-XW7zO~a*3Ty8|usC!{pzE*K$su|-I!ri;_i<@T; z6~HBJ;|*G6WoQZ%VuG)R-62lb6f=y~JiK)2a8}@vkr1Sq_;>Y87Lep6W9y@IPi#}9 z<F4AHk~VdG1a=J?WGaA}n_4|*C;z3AH}26sc~HS9lSf-~LPb0-f5yDZ>Lonb+IcFq za%R7ZfSI2hJ$MdlM<z+)^eWov_5DJmrW_sFIJ05LNZt}qWJd2lg%Y35b>raN4SC*e zFG4{6y};gWqhwlhN3RftM7LZg>Co9N)wf^|i`U_<o)t^+r?S@T1rW@V=%9sjLI_*% zwa|&Euelati&Xn&wLyNm5$;*Rj?bcj(ym{9D4?U4Ul~<|7t`egbNo+m|9uz5)+&P) zrz~{pyOk-^zhIN8y+7Yub#$xB_$-nrRrvc^^Lk0z^PhWruB?;_*)G59gzWQiL=7*6 zV1AQ2YWgm{+$^wcq$!o_EU)NXva!J^MLawArYYmIcSL09Y=Oob8?YPz$y^p?%SL@T zk#42k3$@Rs5iF!V!=rdxi30I#Su~WvtS3@Y{*Rca`uli7cJiGU(TuAr3a5GE3w|<n z&*!eupi$<ghd()A$(*NXU|w<Ns%lr${s%vmk{uKG3wYHR-jrF%;<DeHmqvW}`G*gz z7s=}vuB&t1YY$JLV25rl#_=$d6(g;<kDWJ#Otzq8Mu}8Pksu^$H9N_k_dMc^gdT;( z2j8H;A9&6XZ0UcgdQB+E-CLLR_2S%eSGGfN*ejK1ixO;D73kM~`<>As+5GFzVMFTD z_%_zS{)58KcRWvqy?lvBgZ`AWW&W`&`S(!U!4{mS+iE0YBYO{zCRV!HXRi>@8(Tco zl)Zfw{k)T5@_BA)W}F6kq0M}=e%_~%ZMx`vM=HN$onfNhXy&=fFOX!omP&1tX!PzE z8otW4Z3N0OI!cPEspJu4K6x(|%0Y&D`xcq?@%PPY=h=_ZB|#k{`ndU%FLY&Qa?%`b z+(@R-I0$Z{j$6i4u_6`oAYXX7TbS%cNH8c|yc_D~lKI5)T@n^ldp3>Fg(z-sO9BaN zV_~U@nL~CH@~HD4)lb-n-^{@H%oF3D&o3b>gHH~zNQzQ)J)1b>=6Dgm{oL(U58w<p zO2MfKMv0-8v)&u^epbI5P8Xl6w4b>=P~88v95BqCt4m>Gw?d{6GYmuGcO$SqGarA( zFGn*WS^~Kt7+v>8o~g5cau#Qhy2=e04}_5sRpe7BTUxyc^;*3`Ww;>4HZX11{F0cp z`%2yQ=~ITX(%jU8mrYw+xw4t_YG;)DXTH^gj;rLnC^*^Gs03kRZ(wzh_~E6S*vcd{ zQ7VA!{;7ooyg31dv>0QBDtz4k6viUyV@=tYeWbR*N1?Uw?DtKOPH~z64Z;EaE5AE# z=4Aa=I>uM^jGim7yQ+bjshpblk12b;Y8U{GxU-q;-2o!>E?MP3byDX*E#Vo@wslV_ z39TM*osYX?1MbvfX??#!AjF+{?3|NZ=7Xu2@t5;LJUYQz#-dmUMDq{m$7lG3$p9cb z7iN6|)ta&`$gIh&IBOZHuj}fa-;(EBz)($>yPx7{5PT4iaMPHpw@QoI=ltabP^;8- z=b4lZs;k-~OAB#7DBpIlW8{x6%+C3ZlfH?F_JbJzxxvoCq+B9-Wjk?w>!?0|_4J<x zIopV3@0R$d_>lHM^-rX-fUCY{{?(SgH*L^OYlTpv0&c_9@G|3IvL}QVj2LRVd(S2B zdJM;wqW8MXbW!uq4u&4e)vIzv3q5?QbD2ZtD&O*TeQFgPYv#+z5aQ7EOODn4)DV{F zrxTXW3hsZLBOqp?S9D2Vz7#6bYvk+aYoax95!;>V-6@{H-Y~B4vU`32=&}n-B7#uo zw@%RS;s0b6&Z#B+y3abp3(sA>z^%x|lqcy?h#H4VM)|sKM4@ecc$+xivG*^Gn7m^_ zg`1qUaC6kMQ&HjDa9u_B?#yO_w7Y&bMKKFV^9usew>q_TDjH2DV|yyy%tL=@#;?qo z^*);+cEQ-O@zPPzKX!lPGe1_+bS$vf)E_d}6d2JbhbT?736UL_9v^e*8%Ozv*r(~M zD}4wxb07a@-c?z`8si3*scg#5B;mV_@2~TZiM_Wc1x1>#5|x;P(+<rXF%1D;<qgZN zO>%TR^52jG&*t&z3f$aea_rZok}>axcKRVqZ^$C*6OE!O`eXd|O(CX1{p=?j!=;a{ z+F?NwNKKaJm`40`&A`;`;GQ2mGCqWOK?7I^Fz?zfF}w383bp9N`93#?aW@hx!+>`~ zan%|}TYEw&9Izg#Gp5wvc<HLlM4#{PdqWwr$s^a!al0S(-?Mb_RCzVJ<W;K{p=P1` zGvCt*Klu*PNy{;nIUdx_M%owF45e5t&ZY*_!~Mx>s0Ee|;?S9VZ3S&Te%R9!>YjKr z%q%(hsLdGz#&N~S*+gpY<{?fJ9&!N~yDN5evn;w$kO^>rR%q)(j!)gk&2Jpkc2wvR zQ6YUQ?vH#t9p;ilxWe5D0(-{D`@8(ui9#_qsWtaG23MO|Y?a5P&5^IkO4S5t>S2~q zkE$=0`*=;Rw4AGG*U@hETo=Rls}s06dN}x83c?^bOU26Vqy8`%MP1)4oaP7L@YtBX zNsPxKfCkOH38k5vVqy#nYk>dD*zUPSXLx_le~(Z>63#hh(O7HZ2a&^yHd&y;J(HVb zp0mqju#lzlBahu4KqESnL#MVHCy*q08xNSqM2UF9#Nv)%as>V6c@ZKcN`$4;C1eeP zx6VIIO$D(->z~CCuTqVq2VBm2x$Pql5Js(IW@koEKRSWPNoKln1G*H`WTDEEl2m%9 zJdn=!J0Fl(_L@5E4W)u8E_by(fp$Chc$GTk{Lh1xDgX)T(?S?jl1w{Kq|VJ-4MM(i zAS|FB)Y|}i6rWBMKY&!iCf>+~GODrA0Hq(6-B?Hgm!E$z=e7V4N;u!Od%+3%`(rd= z4MVUL;}wY?hbdU87)T-Oj2Z+sHhTY62PQO=M)W;!AEy|;^`h7$IYeRk?M<~s7_Qbl zE{GlrH=bB4^>gS4zXh+?K5)D%kt;-5AX-K;o)1!{%pkIWM+94#@;Dp0KFi=OGu9^> zK?%qCKd0dX0=J>r&gd)&<eW<=iRaXx+z0<qmF--q6LLBK>B^o;B5laMqZ(7{@8Agf zIE)kt`Ael>aNLmpF=8#c+bw5LwsL*Fpr4`ewO=I={k&%E(=F3n`EjcZtjRh!R9+*< zsha$|7od116}{$ETin}2LoCO*)oF3NJScBY^(rK+*xc2+t8^JryK*|A)_q*Q>II;w zWzfk|-m@6ZH&$zJpEDN}w4~50Z%a79IHUeaem3Bn5c-GSYVZaxo$Ow(qT4`H$HV_P z09D6%sdIag6co5L!k~!;c|NA~Z7yXDH{f^1GtSUs$B6;>sbLzh3reYa?%Sw^@TO5c z&1p8HE|aSuzoOGq1Y!70DaXhndh%!&0iU2iGy=3$Lv%;J?O1@<hRov4)%i$GW11J$ z1z%?7wlsUTahZnP*{fqyTr8evX|~(uw<h%#n6qa0@^+%tcIUuI&vu4fH^<6S&u4_5 zv3>tL=2~WB6iiv$L@Qp^WzP_3Xw#8>9)!Lv;a9ldgZw|=O$hiNgtiva<$zXA*T35l zD<F9ONoQ4{AFwfLBPnT11j`K6sj#im5SB3(Pdb~*grE%0n_sm#B}uxe(k{KIyYD*p zc_x?nZ$1RQ%RdFJw_vq$RfolxgXrh$RkpV+gTu`mkF5C&U`r-|!nn~k*e9H|VfETq zSn^YAgGz|#Zl@gfF700`BCc846?XQq1|ciFfIJ24EQB(dw<M)0wbWZ)sw0W$KZER$ z&tX#{@)w~dKb<4@M;rG>uh`{_>FfFN3PueiOXqC=J@+n1A>(W^vj-;y)M4Cf)lItv zkpj>Eg70bX<+|J8xwgg&z=*G_>>sZVg^679kB9yV*?xs;0C2gi?>CBFg7u|tMpI`W zmuLY}>Tj&~DqXt0nVYPsuCBbsH&JYMTfP6@7G>u8rs43kuW?#8+|6E~<6RmMkfM=v zI3sh3?d|eVe=x016O-X3UH-tHzpyl-_GW8Lm&E5}Egv_IdSu!D<i>}lyrDgaW$46P z873S2M5(beAP|E0+(y{yDEtOvN0L&4g19YHdXbXlr)~0qBP$lO&e_diENS$9_y859 zF-`FNi&0C$`im#;32)U~-KHPBY^Nl5y!Ljy>!)Q`;w7*V$3O0kQpgp2_vboa+~&-V zX&Uylyu#EFZB96o3l6hKL^6h8y@g1zOO0QcBVPpEMRnHCCG^AOsZh)lzh{{al)mXu zf<_>w=;O;9G(fC*<!U9E49s)8)Ow=xK>@GmW*fCTHda2%KlQA$IEWhpkKt8crpS0E ze%#FnY(1GJLHzhHRTP6gswD4y;%TAuImN<HU60s>eouTG0_eB+@_V-~2t875yl~BN zFcOO;fMmrZ57X>Tg2n$_P&`|<)vqihk`CY>(F4<a;RU#eC<D41lz2S$N=%$=LC?Tr zbszu#B<tp{zf>*y(0MiK$PY>?q|TiB&bbi##H&_6mZP5A-{;bLq%S!>>U4vm)+RID z1&7StyC}G6tQ(~6kpfT887@-Xy7bGIyYD$N3Q`-tYMY_9i+ML+5zJ#9ddF%}BrK~k z`!Ex!l9|=`zRbK}e{AgVDg(KoQ!*3v`1;U*gCdpmx#Gp+;0~<=f!&(4T@LNS41TMh zoB=cQEtc!VC$}Ulyas>#zTo_2B+xubgiMS7I#=&%5c3j$H3#-hH@U_1`1qCZ;q4Wg z4g~3Wz}rvY50g9CSBiH)_q!pM{8wDV>GzhF#7{nvBV7*d)F{(SnSs3*K(T!9eg)|$ z|8!fYOb|Dwhf_kC#s|GP!%NA|x?1?9bsOx@V@@wWitsfaj_3O}$dpvfzgK0GBTu)q zY}Te5yN7ZQskJSsaho`AD3O^UP}Kual2fa5Q-}uVK^ax=F?#5?f=U_5e#t9$qLU9S z+$-|lUw>iDWYFPw|MlB+Gj0q_me>eFG6dT%yORo^kHtDm^u(P2#!PyGnkpvd`9f0x ze*M`OaFb!14SBC3fo4!(tJ50o&P3^i?~G}f%7O024C7hYU#cG~3-cKB@KEc6i9&v{ zJ$67l)AwkgVWCot$gu?Bi@g@3&J>vID)tbrs#AYsKp)PnCS2)hv4o8&=sekEDouRi zOBy%qFfJB%Ro?yc*#40n-_9W|v@tsLz(jkjJw>NgA2O$=RN{^$D*Y3D`b%4jwxxJ$ z%TK~Yi-jFMHDR2Q#wUhU4Gnv`UP>w)tfgsbY;^tt^jbZwIF37|0ityjr6v!Hg8<=J zB<T8NjXXEn=O?|4#<G6+4-KBL=uPpHYX_t%lIAI0%fQgomC@NL3%H>-q$nb~V|eYC z^31#&KKE*Vy4sAyJu<`RU%?d>cKZLv-J(~)peV6}4xgQgVU7PDHfNdOaiTM!^+Q3u z>tX>C9f>d6=~=kJGtsg*&6pcedur&o$G3cFKD3+#IvaA4Da7Rx>z@KuFC_045sNPr z?2~mk2dGq8!q&6z^FqQ-i)KRKRC^-(|C!)`v7PBe#77K55A+mG7JsOEmTeeMchv-6 zf8{HL{;t4&Ko}^zu)nnd^D{K>%01D_>VJ&h4Kdv82lE|Yw6`7TCr+I%`y;vL2AV_$ zds2OxUxjm&ZbJ(eZnan}DlwaP$)qEv=DII$$pO*b)gG}tsl8<fUI+pz<2?5Uu-(a5 zKVNA+Aa;(25>a^=7j(+pBF3kv6E<q%T=Ej9cTQATF7H+F=)_B9ZV951x)vLJLpm_? zv~rLClBb43N9N+U8y9n*w$$ZtI`iW?co_X>gyUCjssNeCPtpw_--;SjGmidgF8x~U z1KLzrZaLYTjUy}^qs#MA8SVNU*{E5MqFnmpO5-zoJnY(~JFbwWaLd=woIA2?$Aq^5 zSjj->qbC1ESmLUp%(;ypgbu8Eb&8a(_f~p5VBkT)zhJrRJ1rbU8jrVJlVm3F2=lSd z@v7J0Z|(KSFOl+BF_;@JdTwq1Ty;DGS?zs2(4Yr0beo*x+I_p!Zw0H5>*5!D9K1#J z!|k0Sj3a)_{s@j-R$Na7Iwk|>1*sQ5s`0MpUDno!SCLx1UjNSV8{D35?eo53ejxCd zN}Mn9=h=XMM0XMVmvLkWQT-?S6T2Ytz`2894Png{Ht-bNYhDykdUXx0m9ot8HV?Z$ zwwS#bh#n%)-F@IBz49-}NY*JLKYbagaEEqCE2E3;3EB1lFjH6u#tr416dc@UoNqOs zs;4`AM==!q1E7b}t?U*$3-|{Pqt*Xg+bJqq-r4=5mGRoEh%iGYmQ`DRy!l#zyR;Ps z2p@VUZ)Wy|J48{Ko8YupI$smxkv2E*7(5*gGu)j3s)2ztF`F@V%?i&}N*W_6<epoz z5Er&JuIt1V%HE9(I0SsEz0}`C*VEBe!l14xOB?;7$WQ5q20uXR@?9ngw(9geOJHkt z9EGT%yBq9qvTgn5@P}znhs7U=-bBlkI7z=?fxzdgMA9iEXPnszk>~ut+qx1jzkBu0 zW#1#BhmCvIlY>(G{8ZxzpH-j3nz>vvC>yCeeL$>~pfZ4xb5-Vx^(5j^LR_UtJWAin z^!{x|jaPR=1~q0Hg${IKnJH*R7xo~cpb6_H7Os~}n~$l;Z@;8HEoNXO?zw7NJ^#Xp z<0bSWAHuj{3rJ+>>$3Lh1_Vlu?ncTGd_-t>)@%7GrPK90TOc<WOC9=0Fn1^V6=MS@ z;m>&daGg&?O|eh2Nd6>z^;8<^!ulORwO+iiZXOOtOsbRrgF@0~PMmO+FA&FV3?PfD zTdyPKFL!H3GYZ7uyV7SRelr7Z3yu3r0$~bwBl=%`+}hKC(6bGNtLl_n+?frS=|%Hz zLkyBy>YU;bYnFYy35$Npa}z1e(z+L!@`dlH_OZ-Al7IXv3Nq)oXfIDpSX$SYgh*ZP z#16U6pMU;uu1RZbMS66)m-GEc03bh4-(+kwfp^#*xuXN)78su2>dm%k2}|^y&#qNw z+2_>Fy?{F>^_CwEXeLKuM+$Z`GwhUPgTiuMe_{Fk-~>Z}c*|7%o2qvyJ?7c2!>@zS z5`lSHt^db`KZ#|;m7*SoZ=KaQ?M3QX^_GrhDHs{^D4F}t3VFn&90@T2u@flKA=+l` z>ig@`dBxASHMR?DCzpN?D$04B6Qwgox#Q|-&&rh}cAXW6&Uxs+?smxSZyP+1a2wnS zG)Tu}w0U*;D5DD$?)aX>N>j5RR=do9IOiim>9>y7W3tA<JT74m;*Xneqrjgr*FI7` z7cz~j0v@9^$M%jdnjeLI(q~rl{M`~Z;Ma4A#vV%gRm`3Ixy-u9v0Ry(G@Q-yNq1W> zJNrgYJqee&X>xC7#xfn?oe9g$d1}S#G+PK;RnX8mNVV80LY-#QMA!1vs%eL1XTwdt zxJlL)MK|-}MM6!6UzwX;K~UoJP~?gC4&Imc(5NlrBNzn%UDcjL3N5?5S&caF-i!!G z2-_p_j|~L|RiBn?jWlv4Mi6biK5K12pzwoRuJdc8y`VS*^jBqj@DtzO{pY#MB1_e| z^eD@ZYxVb1^yfM)EIzd3Kf5}n1*%Z)`g7-rqV&qb2eS7lboJHM^NaCrh=e3~r47!p z)fL%d_})uN0t>GbH3TTdYv)YL`uI<`1Q1J9#jPbnYc*oG`TFneXaz9ye6{uP1MeG% z_C*7xtNt)9NJjuEJ!v7***R0*I{gRDzp18S^R-Jy7v}_Z$Wu010*64StC;$Lj%H=@ z^{IZlqPMRblV4Z>fW>KM*U3M#$6I3)x`I=%Sh@D{dtJOK`MiEQj-rF2r#W;Yo%U=< zyH8%dSgDGso3(zNHkYoWNPe!_dQE93ZxcUSfun!G`@JaXFJFCNI^N$DgZSeOAJ{w{ ze7VQ8dN^oQOL(xSB8?p=HhX?0=9+A6&X|_@gx;XRE+sB&=2Z{{+v0YvQ*B$h$Tk$= zYsk`N%@Lmva9fXpUtunC8B6)`&LeDCbGOK-<?!^a$gEUmPTBd}<tp)rCuHe5Hc#u( zT*v?|>i%u!XMUp&3aU&y>y?m_Fl$nXe-MhSe{Dl~5ZXlQU)16k@uGSK^zcoz9IvQn z8LSW)z{eDlai9QF?L}n75M?|Q+qIdH1~6K`9C`66?#xII!1o$v#S^9E!SnG-<Uln2 zQ_XL*m;a!umW9rDLTyZT!t6WiiUxPd(hnaciws@H0%P}lI^^2NJNxhG>Kf&t1t!Uw zl#EO#+2zlb7~oAr2UAt}8}FCJ-A~(`A$^#B%4g2x2t)_;hj`TS8=Ipnt^QiZ``0v{ z-lu})5>LPGGzG}<(SG!+$$z%64>F*Msb^j;do-tcpPbkv9_gZJ67q0J>i5v?yQzKi zSEJSf-)HTstGeMWlnt8@$<!e!wXx(%9oOPtAE$5a92KTU`Mx)#w)PJuJ9TjbaMg5H zvM@f8g`&W{h!6~(`IVVd;cMQ(HCWyuxMmaB^jUNDgn55a&YeEk<V#jfWk^HCL`4Yl zsJtdZ$i05onJ(X_3-<O-u+@I_dV<r!XYhI(w0-#0Bf|5m9naIY7Y!4gh2P43w>T1l z{3|JCXCY8iKa(w({9bwBDVytUFW#G2<qhGY?@dW`evcpgd8>45M9=b5A2a{fT=mwj zkgzv9$&80BS$g%9P99fCelWgTg?kXA{7du3I>wu+5jkEe7F93YT`V*_t-h(&ir(aL z)T7hv>7zdP14^GsT$pY!%ue-&yuPK?eB+`N6~cB0;+&9}RaFUNQQ#+2uzz^MH%|O4 zZZp<?u{*&6fXi&NEwOeJuj6<2D&;&hcswO@tmWG+T9by#VF+gIe0nc71gPk4tVFf# z`+Qxa?~t;<9TYJVUdVV_Z0lYhbU!`NN7h(!M*H{TTl$A>U?m$AYwxla04u71em6>e z6L4I~c@)_1ro=b;n-aOMF*+9vMU$D73=Aq<Wq!t2nMvHhtSc=FuQk;4yYEv?Tg-|P zWy&B`d_XjZNLa%y9e9peCps<_D=|`2?tM4dLQmrJ4GIUYF9?EJSJ~>xJlE!1Ur(7s zJcDZSjbAYZkGDvpD)gH<Txae+{fUJid&fuIuEo?^8FxOG8)%0ZDQ@4YFHHCVtu|1D zHw0F(d2A{=>&)>yPQn^w6H5gKI~6`|xlbtQdIre10=nUt<i#R%`)2MPxG17)4&n;7 z7%<*K{g&>rpuLrhpH|OTe}d9fNN=HKH2Whx88hh3P^A=1$L%hO|9MjXGRu`l;f)z` z=-nE;bHb-I#&WpEDHPiwddrjLm$hM;EcP2Ck?Pu|@VW2h7b)nD_*=M#s%D1g*v01# z<SF{ya!mFFAqccBP_nsX%hD8mU_xesS?i%xTu@23Y)qEJ2?No-$+UEE*cmr*%V)Xn zI(>8Fs<Rg<t(mVo%r3CDjPvmRk)kXoj?Q-<Yknbg_duI;zQ14}LZM|mwcobjMEgnZ zxR&Bj*EtZ@#~*%5U31iZpnw-Fqew$ccXu+>AQYE((2`QLHRynAd3IwOlV7S?`i{Dy z@Q|&`(fWgks;p)U(~{_@OrbgIR!lLQ++cwEMo{}-Dv~hGuI$04-P^0>8ECC;!6I`y z*Hyq(L7RHm4T|)YLkdNACT(Xrt|vY7IeJ8}#llkYJRc%_a}K23G>wjW`o+FG&pTQ| z1^U&Wm~0NU8El|ruWoT15IVn?yPm&itcY4Wt4rE}jUHA`i%+X`vsc*edStpxIy#t8 z%Y=7DM8@<<n96!+TXOfz4tLugJ~4Wvl`CE*>4lLEd({-4w7K8dYI<mv4g!$|gEQ_s zgf3>To5Hos`VF8i^D&^(T=%A^?$DhS>PFy3Y5umg3fhH-MJzSbbiI8)F7mwm$J-7A z*E-H|@q=7}%3w%OnQ4n3e(Pq4Q~471{`Hym9v^7t>38D6z7uRvXTPy$J~+tAtD^Nu zggpuOIAp2S@Mxse+Be0zmHm5QRlBjIGaHf=aV#+~#Wf@x-#Wba5O5mT(MYk_zi^#t zTs4Vp22LF(zh9d?XCF9vZs!M)-ZBVM$lRn<Y_`wEQMM((B}1NgH+!#(%z3u=bHN{n z6`eS*q%Q$v+BX#~G!CUC8;(Te^)}!N-p$n8;Fz1%eA#iLm*?~Jtjbc`ZWJnygD*?} z;wA6#l+us{DU;|uqoQ&(c7Q@1RjylW-3{&v{URi5a?NU2o??B!0%gTpI)ciyNw_7! z)MW^#3&E8=jG#7=&g1T&ucohDo5&salqkJ>pCZ8RC+umZXWGw2d$mPNIhlQAxfz`* z^!aoib)K7Rl)fTC(hRT_Ru+RcwB=t7)Hiv@_+M%+ul}Vfn57YJuz$A;&Fion<$ZnQ z$t(*`x*KVS@Fc-uQ%-HTq$1o&FI`L2D5RLuw6g#E+x&y?_tF=VX8%%Y=7kv)H}E^Z zA@N+b2D^R9Ev+8Py~y}M`Z2ijj43;!c3^PjUoU?9szfe#mySlsv=XlR=)KCho-fL5 z#Pa*{sILB{mFYYpUV6AM?R~dSYlSZe6koaH@S=IVJMbdW{H*ZTbjXi!FPXf!y&mRc zpyhPoBdBgqV)l!p4_a<Djr-O&!6rrmu+xwpQ~(b<H3hGU+RHeyP=HbV$g9qpm&5pR z?+Y1JTPh;6=yL}UxaBrJpQRAkFXM+A3t~RM1xI8*tF!l-rc~Z~`H`;#zge_NSTOi+ zwYt8>-=f{t*;ASIneSZ1=eoTFO<`4xANq5y5)2%8P%5+3i@7biB^6y4jm(V-BV1EX zdoR=M`lzVa3le>LyTdnv&f;a}^JY|F+xxoIk5}Iv7dMR+%m~?V+ACge$?|6V>AG1j zE*OKJ909S~<E4o=6jdLl%zc)y8y9L&{Gm$ysZH|e$rOIm;HEH7ExlEDtwRQoRq+h9 zEl2)I%aKJsG!VPgQo_)a1k``^Lq8y@Xx=|`X(>k;&+MLpir3E?&rLRSifn$ta)Z(R zu*ad=jwY8Y8!naRQWMkMTHXvQm2);JHAziPKj>nLh<urZp{Pb<3)5;!a4p5xzVz;k zw=iXJHQ<#N^wArv0()6<X?om+p)BlG0`#HwyLL(uF4XxZ2IbW!(Z&-mR}Gwdmff|g zKRM9%^DPHCv&uaTHI|)lydU_?6=oG+th;(KzJY$1_!aM4qEp-0X=%ox_(JuHb4_W^ zEjph8BXK?gp5GZchaw|{1!g4>D9eP=J6ODtbK{-MwMi71cs|i-oaDUFDqUGr_dklx z!mr8qZNq-03_?XpQYq<<Q4^Ie=?0Z%bmy=L=@5__5~IhY8ze_ha&*IJ1~?cS@O$_E z2is?#J<oOD*LfZXk_c}XslBhT12wq{2kmT^7Tkz2REDdyShxEc%Y@AXlzz-K?aRT9 z=U`qsCZ_!souy=IE}5Ke5ZAM6HHGQA>ZEo+;N6Hk?aH<^{l9w&7Y;vjs7yCGV#i$< z^8T@+exBq6Ht5mdC-p+Uy9F5F(g``3^-NeOymu&$&&o6{TVTC-9`8w_l_^)))ET|& z+54k0bDgV~y@O#~i~aa?val)B@4r`e=T4kw@NxbKdT{A+7z|a0=dlOvJ|pLNG6(!r zE%FKjj8U*FvS}zF8UA^dMSAvXK+IY;xNKNF1EnP2*Xh)qzAzg$yc)dC#*4Gu9Fyj` zt4_XZL$eRsMl#OfHnp<iCsh}N1{DPkMa7E@{ZAxtn@py(_pL34@;z_I<cci!EhKBV zvx@jv4MZa>Zr)9v*zt9-h6eusr4^b*GaDf@k?-&&uvfWbK`u@{Nm_hV%%rbeL^;h? z#t|#WHt@~K{=IKDs?q3d2(7p$JuhOS7B6<p2etJ+K!)Ub{ESxP<jOs>?C_&M9&G;- zPV`N+5pj>HK-AStOR)+E3APx!q~rhQeVDrPxQ<Kk;QetxS!gPt*p!iVzu46}sim0g zsFKAVoic<sQJ;RYp<Ak`SmDr89GYV?tGNZ>T|I>v8O{YBm@D?n1h_0B>g_4<`FmOd zkEkhZ{�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�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 literal 0 HcmV?d00001 diff --git a/assets/scripts/default-skin/default-skin.css b/assets/scripts/default-skin/default-skin.css new file mode 100755 index 00000000..c9616326 --- /dev/null +++ b/assets/scripts/default-skin/default-skin.css @@ -0,0 +1,482 @@ +/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */ +/* + + Contents: + + 1. Buttons + 2. Share modal and links + 3. Index indicator ("1 of X" counter) + 4. Caption + 5. Loading indicator + 6. Additional styles (root element, top bar, idle state, hidden state, etc.) + +*/ +/* + + 1. Buttons + + */ +/* <button> css reset */ +.pswp__button { + width: 44px; + height: 44px; + position: relative; + background: none; + cursor: pointer; + overflow: visible; + -webkit-appearance: none; + display: block; + border: 0; + padding: 0; + margin: 0; + float: right; + opacity: 0.75; + -webkit-transition: opacity 0.2s; + transition: opacity 0.2s; + -webkit-box-shadow: none; + box-shadow: none; } + .pswp__button:focus, .pswp__button:hover { + opacity: 1; } + .pswp__button:active { + outline: none; + opacity: 0.9; } + .pswp__button::-moz-focus-inner { + padding: 0; + border: 0; } + +/* pswp__ui--over-close class it added when mouse is over element that should close gallery */ +.pswp__ui--over-close .pswp__button--close { + opacity: 1; } + +.pswp__button, +.pswp__button--arrow--left:before, +.pswp__button--arrow--right:before { + background: url(default-skin.png) 0 0 no-repeat; + background-size: 264px 88px; + width: 44px; + height: 44px; } + +@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) { + /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */ + .pswp--svg .pswp__button, + .pswp--svg .pswp__button--arrow--left:before, + .pswp--svg .pswp__button--arrow--right:before { + background-image: url(default-skin.svg); } + .pswp--svg .pswp__button--arrow--left, + .pswp--svg .pswp__button--arrow--right { + background: none; } } + +.pswp__button--close { + background-position: 0 -44px; } + +.pswp__button--share { + background-position: -44px -44px; } + +.pswp__button--fs { + display: none; } + +.pswp--supports-fs .pswp__button--fs { + display: block; } + +.pswp--fs .pswp__button--fs { + background-position: -44px 0; } + +.pswp__button--zoom { + display: none; + background-position: -88px 0; } + +.pswp--zoom-allowed .pswp__button--zoom { + display: block; } + +.pswp--zoomed-in .pswp__button--zoom { + background-position: -132px 0; } + +/* no arrows on touch screens */ +.pswp--touch .pswp__button--arrow--left, +.pswp--touch .pswp__button--arrow--right { + visibility: hidden; } + +/* + Arrow buttons hit area + (icon is added to :before pseudo-element) +*/ +.pswp__button--arrow--left, +.pswp__button--arrow--right { + background: none; + top: 50%; + margin-top: -50px; + width: 70px; + height: 100px; + position: absolute; } + +.pswp__button--arrow--left { + left: 0; } + +.pswp__button--arrow--right { + right: 0; } + +.pswp__button--arrow--left:before, +.pswp__button--arrow--right:before { + content: ''; + top: 35px; + background-color: rgba(0, 0, 0, 0.3); + height: 30px; + width: 32px; + position: absolute; } + +.pswp__button--arrow--left:before { + left: 6px; + background-position: -138px -44px; } + +.pswp__button--arrow--right:before { + right: 6px; + background-position: -94px -44px; } + +/* + + 2. Share modal/popup and links + + */ +.pswp__counter, +.pswp__share-modal { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + +.pswp__share-modal { + display: block; + background: rgba(0, 0, 0, 0.5); + width: 100%; + height: 100%; + top: 0; + left: 0; + padding: 10px; + position: absolute; + z-index: 1600; + opacity: 0; + -webkit-transition: opacity 0.25s ease-out; + transition: opacity 0.25s ease-out; + -webkit-backface-visibility: hidden; + will-change: opacity; } + +.pswp__share-modal--hidden { + display: none; } + +.pswp__share-tooltip { + z-index: 1620; + position: absolute; + background: #FFF; + top: 56px; + border-radius: 2px; + display: block; + width: auto; + right: 44px; + -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25); + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25); + -webkit-transform: translateY(6px); + -ms-transform: translateY(6px); + transform: translateY(6px); + -webkit-transition: -webkit-transform 0.25s; + transition: transform 0.25s; + -webkit-backface-visibility: hidden; + will-change: transform; } + .pswp__share-tooltip a { + display: block; + padding: 8px 12px; + color: #000; + text-decoration: none; + font-size: 14px; + line-height: 18px; } + .pswp__share-tooltip a:hover { + text-decoration: none; + color: #000; } + .pswp__share-tooltip a:first-child { + /* round corners on the first/last list item */ + border-radius: 2px 2px 0 0; } + .pswp__share-tooltip a:last-child { + border-radius: 0 0 2px 2px; } + +.pswp__share-modal--fade-in { + opacity: 1; } + .pswp__share-modal--fade-in .pswp__share-tooltip { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); } + +/* increase size of share links on touch devices */ +.pswp--touch .pswp__share-tooltip a { + padding: 16px 12px; } + +a.pswp__share--facebook:before { + content: ''; + display: block; + width: 0; + height: 0; + position: absolute; + top: -12px; + right: 15px; + border: 6px solid transparent; + border-bottom-color: #FFF; + -webkit-pointer-events: none; + -moz-pointer-events: none; + pointer-events: none; } + +a.pswp__share--facebook:hover { + background: #3E5C9A; + color: #FFF; } + a.pswp__share--facebook:hover:before { + border-bottom-color: #3E5C9A; } + +a.pswp__share--twitter:hover { + background: #55ACEE; + color: #FFF; } + +a.pswp__share--pinterest:hover { + background: #CCC; + color: #CE272D; } + +a.pswp__share--download:hover { + background: #DDD; } + +/* + + 3. Index indicator ("1 of X" counter) + + */ +.pswp__counter { + position: absolute; + left: 0; + top: 0; + height: 44px; + font-size: 13px; + line-height: 44px; + color: #FFF; + opacity: 0.75; + padding: 0 10px; } + +/* + + 4. Caption + + */ +.pswp__caption { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + min-height: 44px; } + .pswp__caption small { + font-size: 11px; + color: #BBB; } + +.pswp__caption__center { + text-align: left; + max-width: 420px; + margin: 0 auto; + font-size: 13px; + padding: 10px; + line-height: 20px; + color: #CCC; } + +.pswp__caption--empty { + display: none; } + +/* Fake caption element, used to calculate height of next/prev image */ +.pswp__caption--fake { + visibility: hidden; } + +/* + + 5. Loading indicator (preloader) + + You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR + + */ +.pswp__preloader { + width: 44px; + height: 44px; + position: absolute; + top: 0; + left: 50%; + margin-left: -22px; + opacity: 0; + -webkit-transition: opacity 0.25s ease-out; + transition: opacity 0.25s ease-out; + will-change: opacity; + direction: ltr; } + +.pswp__preloader__icn { + width: 20px; + height: 20px; + margin: 12px; } + +.pswp__preloader--active { + opacity: 1; } + .pswp__preloader--active .pswp__preloader__icn { + /* We use .gif in browsers that don't support CSS animation */ + background: url(preloader.gif) 0 0 no-repeat; } + +.pswp--css_animation .pswp__preloader--active { + opacity: 1; } + .pswp--css_animation .pswp__preloader--active .pswp__preloader__icn { + -webkit-animation: clockwise 500ms linear infinite; + animation: clockwise 500ms linear infinite; } + .pswp--css_animation .pswp__preloader--active .pswp__preloader__donut { + -webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite; + animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite; } + +.pswp--css_animation .pswp__preloader__icn { + background: none; + opacity: 0.75; + width: 14px; + height: 14px; + position: absolute; + left: 15px; + top: 15px; + margin: 0; } + +.pswp--css_animation .pswp__preloader__cut { + /* + The idea of animating inner circle is based on Polymer ("material") loading indicator + by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html + */ + position: relative; + width: 7px; + height: 14px; + overflow: hidden; } + +.pswp--css_animation .pswp__preloader__donut { + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 14px; + height: 14px; + border: 2px solid #FFF; + border-radius: 50%; + border-left-color: transparent; + border-bottom-color: transparent; + position: absolute; + top: 0; + left: 0; + background: none; + margin: 0; } + +@media screen and (max-width: 1024px) { + .pswp__preloader { + position: relative; + left: auto; + top: auto; + margin: 0; + float: right; } } + +@-webkit-keyframes clockwise { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes clockwise { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@-webkit-keyframes donut-rotate { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); } + 50% { + -webkit-transform: rotate(-140deg); + transform: rotate(-140deg); } + 100% { + -webkit-transform: rotate(0); + transform: rotate(0); } } + +@keyframes donut-rotate { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); } + 50% { + -webkit-transform: rotate(-140deg); + transform: rotate(-140deg); } + 100% { + -webkit-transform: rotate(0); + transform: rotate(0); } } + +/* + + 6. Additional styles + + */ +/* root element of UI */ +.pswp__ui { + -webkit-font-smoothing: auto; + visibility: visible; + opacity: 1; + z-index: 1550; } + +/* top black bar with buttons and "1 of X" indicator */ +.pswp__top-bar { + position: absolute; + left: 0; + top: 0; + height: 44px; + width: 100%; } + +.pswp__caption, +.pswp__top-bar, +.pswp--has_mouse .pswp__button--arrow--left, +.pswp--has_mouse .pswp__button--arrow--right { + -webkit-backface-visibility: hidden; + will-change: opacity; + -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); + transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); } + +/* pswp--has_mouse class is added only when two subsequent mousemove events occur */ +.pswp--has_mouse .pswp__button--arrow--left, +.pswp--has_mouse .pswp__button--arrow--right { + visibility: visible; } + +.pswp__top-bar, +.pswp__caption { + background-color: rgba(0, 0, 0, 0.5); } + +/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */ +.pswp__ui--fit .pswp__top-bar, +.pswp__ui--fit .pswp__caption { + background-color: rgba(0, 0, 0, 0.3); } + +/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */ +.pswp__ui--idle .pswp__top-bar { + opacity: 0; } + +.pswp__ui--idle .pswp__button--arrow--left, +.pswp__ui--idle .pswp__button--arrow--right { + opacity: 0; } + +/* + pswp__ui--hidden class is added when controls are hidden + e.g. when user taps to toggle visibility of controls +*/ +.pswp__ui--hidden .pswp__top-bar, +.pswp__ui--hidden .pswp__caption, +.pswp__ui--hidden .pswp__button--arrow--left, +.pswp__ui--hidden .pswp__button--arrow--right { + /* Force paint & create composition layer for controls. */ + opacity: 0.001; } + +/* pswp__ui--one-slide class is added when there is just one item in gallery */ +.pswp__ui--one-slide .pswp__button--arrow--left, +.pswp__ui--one-slide .pswp__button--arrow--right, +.pswp__ui--one-slide .pswp__counter { + display: none; } + +.pswp__element--disabled { + display: none !important; } + +.pswp--minimal--dark .pswp__top-bar { + background: none; } diff --git a/assets/scripts/default-skin/default-skin.png b/assets/scripts/default-skin/default-skin.png new file mode 100755 index 0000000000000000000000000000000000000000..441c502c92fe66534f0ca07b1c639a02a9bfc6e8 GIT binary patch literal 547 zcmeAS@N?(olHy`uVBq!ia0y~yVB`R@BRE)q<YKmk=0Jg0o-U3d6^w6hZ_EmD6gl>> zQzfg0DSPAQu<jh?A1qD&i4UW9oK(6o<CsFutULFjKBR6c;CA%c-tk*}nZ<&(?2Xk4 z$Ntn`J*!va`lG1qnU3Zp6;BxYd!0l0ea=+7kGI5T7#5tI<;|9+YBGKHd8ZBMH4QdB znW3s&aLSQ$?b9;W1wI*@1k!UN3L>=lA~!r-)AA>V`{IQs4>>BL>kcznXerunmlb=| zWcaU3Q?y({((8tixy!m+M^9AR2>U-@Q#M^%Df}$cvwDB2dmHkM!%s>?s`+*-6<*}b z<C)%Z(AZ^u`>C6z+Z%-w!koN!M(Vgcu$6vxWM6}@S%6da&YLklvPaws&rO=B5mA?S z`j1}n(OIHjt=UhUKbx#56!7%<D(MS#>kz(zdN0WP!2crw3%tChOzkj<<b0i=y2knc zj0;J5)!$CrAGmk#%Icy!%X<7jC@<y?`MF<;fq!c30<XDz+bf-(Zr#is;<<WWd(D%s z2T7~A9d5i#sW{I6@4>5G+?=I5j*G7gE&0rKP}eS!-QI|4{hH?XQwM7IF@KnRe$O+> z{=5>|J!M5a2Uz(xeHVC@V0bikU*S=2|Myc@XUBb*dfe5v>F)hwKM!2~;rOU>BEr>~ b?RAXa8OAS+-W5gzBcH+3)z4*}Q$iB}<;L|a literal 0 HcmV?d00001 diff --git a/assets/scripts/default-skin/default-skin.svg b/assets/scripts/default-skin/default-skin.svg new file mode 100755 index 00000000..9d5f0c6a --- /dev/null +++ b/assets/scripts/default-skin/default-skin.svg @@ -0,0 +1 @@ +<svg width="264" height="88" viewBox="0 0 264 88" xmlns="http://www.w3.org/2000/svg"><title>default-skin 2</title><g fill="none" fill-rule="evenodd"><g><path d="M67.002 59.5v3.768c-6.307.84-9.184 5.75-10.002 9.732 2.22-2.83 5.564-5.098 10.002-5.098V71.5L73 65.585 67.002 59.5z" id="Shape" fill="#fff"/><g fill="#fff"><path d="M13 29v-5h2v3h3v2h-5zM13 15h5v2h-3v3h-2v-5zM31 15v5h-2v-3h-3v-2h5zM31 29h-5v-2h3v-3h2v5z" id="Shape"/></g><g fill="#fff"><path d="M62 24v5h-2v-3h-3v-2h5zM62 20h-5v-2h3v-3h2v5zM70 20v-5h2v3h3v2h-5zM70 24h5v2h-3v3h-2v-5z"/></g><path d="M20.586 66l-5.656-5.656 1.414-1.414L22 64.586l5.656-5.656 1.414 1.414L23.414 66l5.656 5.656-1.414 1.414L22 67.414l-5.656 5.656-1.414-1.414L20.586 66z" fill="#fff"/><path d="M111.785 65.03L110 63.5l3-3.5h-10v-2h10l-3-3.5 1.785-1.468L117 59l-5.215 6.03z" fill="#fff"/><path d="M152.215 65.03L154 63.5l-3-3.5h10v-2h-10l3-3.5-1.785-1.468L147 59l5.215 6.03z" fill="#fff"/><g><path id="Rectangle-11" fill="#fff" d="M160.957 28.543l-3.25-3.25-1.413 1.414 3.25 3.25z"/><path d="M152.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z" id="Oval-1" stroke="#fff" stroke-width="1.5"/><path fill="#fff" d="M150 21h5v1h-5z"/></g><g><path d="M116.957 28.543l-1.414 1.414-3.25-3.25 1.414-1.414 3.25 3.25z" fill="#fff"/><path d="M108.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z" stroke="#fff" stroke-width="1.5"/><path fill="#fff" d="M106 21h5v1h-5z"/><path fill="#fff" d="M109.043 19.008l-.085 5-1-.017.085-5z"/></g></g></g></svg> \ No newline at end of file diff --git a/assets/scripts/default-skin/preloader.gif b/assets/scripts/default-skin/preloader.gif new file mode 100755 index 0000000000000000000000000000000000000000..b8faa697c58d574f24ad1295e75f0d5acd807f5e GIT binary patch literal 866 zcmZ?wbhEHb6k!ly_{_o3-rjC+Zyz2WuCA_r{`~pv+qci3KR-V||NsC04A_9;e{Mh5 zkYH!W09PYD17=2`8pWS1tn3UN3_2k7AY&a^f(1@`u68|kN2-anp`@o>g(G~Sn2@7~ zvrSHk@6L6-E23jkXGSe|W^B}1J~?m6<|idKEbm%BM24;D%DJ|N(R9l~ccCqU+Q+*; zC5ucI@C@nw^6r%q!X8EjMg}1uWMJ_VIH~Eq&?0*FO2eyaf-K)^A9_r?%$cNpd!OXZ zyRr-qE*mIV$)11C{jT81{0Z$J3}?0<))hG5vRG1UYSC0B7N*W^r@l5FO#1Xzrq1ia zTn=1T^n$F=WVos(%8F{m-NFaLj%Zde9n3X=TfxLgq!o+{fL6S;ys9S2hHAxJg$Kcb zXjU{H=yiZw!NyFa73aYLC2&=Zkpb0;Sb+zV6Va?_KDagjZUqMmkyf;Ve38j<RZW&1 z)rz|Y4}=-etYA5GHUVx07b}rgID-R9;;I@a6RH)mjt?#uqFK>;h?fCw1rHl`E7%!y z;3<mPsbZJaVFN31NyXe%0uT1yJXU(T-BCGmo?!Ui(7*%T3No8~ZkO2|-ZQ(eY=dAY c+u_2AK6?DVPZ=2;yjEUO-?r+hn-GIF0L{!s`~Uy| literal 0 HcmV?d00001 diff --git a/assets/scripts/galleria/.DS_Store b/assets/scripts/galleria/.DS_Store deleted file mode 100644 index 205a45f17ae7720b643f07bc5b0f62a9b3d3fb38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMO>7la6h2@7m>)~0P-%-s9u%rT1Fvb(ia}oAD`*iyrG*x#E%Q19oiJ~vyqVVm zrPzfVjTkjiH0sLV2s>j~nHV=1HM+0{(CEU2F>&Y0xbob&(*_>YxKasolY7s-=bm%# zoNvCF`_4QfLbhbJ6EzW$!c|B^=jIkg%!_(csfaaIEW!RnHU;^qU?T7O`J1d0MS?(r zK!QMmK!QMm!2baOKC?wp7CHCjY|<tOBnaG*2#EJXimQ;BSk6iry*jvwQUI1B1&9jw zIS+_@QnAd$a#qU7mDiNn17cUiDF&oF&!>br%S<e1rIhXj=}w4uMx3D_+MWGUkvSnF zWzr@HBnaG$fOvdrD5P=D-3w*;`{n$E>jYsseFYVjRn;|16jfE!TJ@>^aet~mG{aJm zHH(L%kz?8UxIf_g?n2+pA8_ocQKKQ}d!gxgcJVs%;X%i<{Hd&8@~j|Qr_T(>**Dr~ z)L1b+oo-7#)G^bRnr`px<bGGWb7n?W8rQXN>pfC9b$a^D%-QoYD#ULFsw<1~wek?% zU@|8^QB<6t5Ao_kh?;&^?=EfkkTd3c{myB7)Tj$M-d-N|7469=n))%*9V@wJXm`7= zFbW38e798af}zkp84Aszz%PcmNI7a4rNG{2v%NEE_pnzmYAh2g?VSi6-wO`d#eii? zCM_>rRW8)7xUc2@w)O`f$?TY0T4&TRTdrw`7-TPWjyiU6|CD2e;|I-P%=RqDJ2p7! z1Ww+y2RyT2*H`wb>fF-CrskFR==x%&L#4cPqU409j21<itFJSbYAJn<YJ98=TYQOo zd`s+PMKgLzZ&j4TLZ2(z+)A~!Uf-x1rZNz4z;cOAT3R&%b>KMPS?SuLZBYzM-S3)t z+m)&=ZL4BDp$<;UxTSKNwq2=5n>sY+7YZC_Ak|sDM=?HEM#SE`%^=)6VSBv2h;C;} z*AEJPw`JLuqO@clkoZL?sD?OGnrRJn(&N-e2g#x-dY)dPSLr;xO&94BeL|P%8=9jl zbd|2r&-5$(PJf~j)u_P|7^uf`G+;G0U?bYlg>GcggB{p~ehlCM1~Cj9M==fuK2G8k zrf~+(;2d7SOL!S?;2pe+_wfNP;ZuBpFYy(=!}s_>UT4KTW%tPOe2X8scf(W3l#Rct zRgBz{vO6Esa{n!5uhmMPHr%~p)!Ox&I=Z%H7j9+Q-MgMh5qBgxBGSy0BD#k+GBG0b zy_&wCxn-YRjMv5z!6Ic&Sf^I&x*_NzhwEB-SiuaJ!wnmC&8TGls*&;Lw5A)?OjSAC zxkb~AD(14BeRwO+)-Y?8xs^@LjoNmtTNMwQL6LK=mDhrzmT~ZJ82BN5M4!>u^er>* zC;Ekcqdx#<T`d~1iaECy>(GkLXh#P+u?3GJ!|cm3|Mp-np2R-p;4nsT1Sax0jsi1q z0w-{q8F&^?V;0Zixrm7`;&o=?n|KTF;X)bndgnPOB`%gTZ?eDWxxROd_491K(Ipw( zt_W1h3vUwn|Bl7K|KG0RCD)xGkRb365I|K=e@~VT7kj~rTsy_}2v<>r-K><63pY_Z s&N52JSuXrx$o&+X3ZG0YXQgBfmw)|3Kyv;w>I=U-lk-1f;hop~1tg~2%m4rY diff --git a/assets/scripts/galleria/galleria-1.5.7.js b/assets/scripts/galleria/galleria-1.5.7.js deleted file mode 100644 index 6e3a27f4..00000000 --- a/assets/scripts/galleria/galleria-1.5.7.js +++ /dev/null @@ -1,6930 +0,0 @@ -/** - * Galleria v1.5.7 2017-05-10 - * http://galleria.io - * - * Copyright (c) 2010 - 2016 worse is better UG - * Licensed under the MIT license - * https://raw.github.com/worseisbetter/galleria/master/LICENSE - * - */ - -(function( $, window, Galleria, undef ) { - -/*global jQuery, navigator, Image, module, define */ - -// some references -var doc = window.document, - $doc = $( doc ), - $win = $( window ), - -// native prototypes - protoArray = Array.prototype, - -// internal constants - VERSION = 1.57, - DEBUG = true, - TIMEOUT = 30000, - DUMMY = false, - NAV = navigator.userAgent.toLowerCase(), - HASH = window.location.hash.replace(/#\//, ''), - PROT = window.location.protocol == "file:" ? "http:" : window.location.protocol, - M = Math, - F = function(){}, - FALSE = function() { return false; }, - MOBILE = !( - ( window.screen.width > 1279 && window.devicePixelRatio == 1 ) || // there are not so many mobile devices with more than 1280px and pixelRatio equal to 1 (i.e. retina displays are equal to 2...) - ( window.screen.width > 1000 && window.innerWidth < (window.screen.width * .9) ) // this checks in the end if a user is using a resized browser window which is not common on mobile devices - ), - IE = (function() { - - var v = 3, - div = doc.createElement( 'div' ), - all = div.getElementsByTagName( 'i' ); - - do { - div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->'; - } while ( all[0] ); - - return v > 4 ? v : doc.documentMode || undef; - - }() ), - DOM = function() { - return { - html: doc.documentElement, - body: doc.body, - head: doc.getElementsByTagName('head')[0], - title: doc.title - }; - }, - IFRAME = window.parent !== window.self, - - // list of Galleria events - _eventlist = 'data ready thumbnail loadstart loadfinish image play pause progress ' + - 'fullscreen_enter fullscreen_exit idle_enter idle_exit rescale ' + - 'lightbox_open lightbox_close lightbox_image', - - _events = (function() { - - var evs = []; - - $.each( _eventlist.split(' '), function( i, ev ) { - evs.push( ev ); - - // legacy events - if ( /_/.test( ev ) ) { - evs.push( ev.replace( /_/g, '' ) ); - } - }); - - return evs; - - }()), - - // legacy options - // allows the old my_setting syntax and converts it to camel case - - _legacyOptions = function( options ) { - - var n; - - if ( typeof options !== 'object' ) { - - // return whatever it was... - return options; - } - - $.each( options, function( key, value ) { - if ( /^[a-z]+_/.test( key ) ) { - n = ''; - $.each( key.split('_'), function( i, k ) { - n += i > 0 ? k.substr( 0, 1 ).toUpperCase() + k.substr( 1 ) : k; - }); - options[ n ] = value; - delete options[ key ]; - } - }); - - return options; - }, - - _patchEvent = function( type ) { - - // allow 'image' instead of Galleria.IMAGE - if ( $.inArray( type, _events ) > -1 ) { - return Galleria[ type.toUpperCase() ]; - } - - return type; - }, - - // video providers - _video = { - youtube: { - reg: /https?:\/\/(?:[a-zA_Z]{2,3}.)?(?:youtube\.com\/watch\?)((?:[\w\d\-\_\=]+&(?:amp;)?)*v(?:<[A-Z]+>)?=([0-9a-zA-Z\-\_]+))/i, - embed: function() { - return PROT + '//www.youtube.com/embed/' + this.id; - }, - get_thumb: function( data ) { - return PROT + '//img.youtube.com/vi/'+this.id+'/default.jpg'; - }, - get_image: function( data ) { - return PROT + '//img.youtube.com/vi/'+this.id+'/hqdefault.jpg'; } - }, - vimeo: { - reg: /https?:\/\/(?:www\.)?(vimeo\.com)\/(?:hd#)?([0-9]+)/i, - embed: function() { - return PROT + '//player.vimeo.com/video/' + this.id; - }, - getUrl: function() { - return PROT + '//vimeo.com/api/v2/video/' + this.id + '.json?callback=?'; - }, - get_thumb: function( data ) { - return data[0].thumbnail_medium; - }, - get_image: function( data ) { - return data[0].thumbnail_large; - } - }, - dailymotion: { - reg: /https?:\/\/(?:www\.)?(dailymotion\.com)\/video\/([^_]+)/, - embed: function() { - return PROT + '//www.dailymotion.com/embed/video/' + this.id; - }, - getUrl: function() { - return 'https://api.dailymotion.com/video/' + this.id + '?fields=thumbnail_240_url,thumbnail_720_url&callback=?'; - }, - get_thumb: function( data ) { - return data.thumbnail_240_url; - }, - get_image: function( data ) { - return data.thumbnail_720_url; - } - }, - _inst: [] - }, - Video = function( type, id ) { - - for( var i=0; i<_video._inst.length; i++ ) { - if ( _video._inst[i].id === id && _video._inst[i].type == type ) { - return _video._inst[i]; - } - } - - this.type = type; - this.id = id; - this.readys = []; - - _video._inst.push(this); - - var self = this; - - $.extend( this, _video[type] ); - - _videoThumbs = function(data) { - self.data = data; - $.each( self.readys, function( i, fn ) { - fn( self.data ); - }); - self.readys = []; - }; - - if ( this.hasOwnProperty('getUrl') ) { - $.getJSON( this.getUrl(), _videoThumbs); - } else { - window.setTimeout(_videoThumbs, 400); - } - - this.getMedia = function( type, callback, fail ) { - fail = fail || F; - var self = this; - var success = function( data ) { - callback( self['get_'+type]( data ) ); - }; - try { - if ( self.data ) { - success( self.data ); - } else { - self.readys.push( success ); - } - } catch(e) { - fail(); - } - }; - }, - - // utility for testing the video URL and getting the video ID - _videoTest = function( url ) { - var match; - for ( var v in _video ) { - match = url && _video[v].reg && url.match( _video[v].reg ); - if( match && match.length ) { - return { - id: match[2], - provider: v - }; - } - } - return false; - }, - - // native fullscreen handler - _nativeFullscreen = { - - support: (function() { - var html = DOM().html; - return !IFRAME && ( html.requestFullscreen || html.msRequestFullscreen || html.mozRequestFullScreen || html.webkitRequestFullScreen ); - }()), - - callback: F, - - enter: function( instance, callback, elem ) { - - this.instance = instance; - - this.callback = callback || F; - - elem = elem || DOM().html; - if ( elem.requestFullscreen ) { - elem.requestFullscreen(); - } - else if ( elem.msRequestFullscreen ) { - elem.msRequestFullscreen(); - } - else if ( elem.mozRequestFullScreen ) { - elem.mozRequestFullScreen(); - } - else if ( elem.webkitRequestFullScreen ) { - elem.webkitRequestFullScreen(); - } - }, - - exit: function( callback ) { - - this.callback = callback || F; - - if ( doc.exitFullscreen ) { - doc.exitFullscreen(); - } - else if ( doc.msExitFullscreen ) { - doc.msExitFullscreen(); - } - else if ( doc.mozCancelFullScreen ) { - doc.mozCancelFullScreen(); - } - else if ( doc.webkitCancelFullScreen ) { - doc.webkitCancelFullScreen(); - } - }, - - instance: null, - - listen: function() { - - if ( !this.support ) { - return; - } - - var handler = function() { - - if ( !_nativeFullscreen.instance ) { - return; - } - var fs = _nativeFullscreen.instance._fullscreen; - - if ( doc.fullscreen || doc.mozFullScreen || doc.webkitIsFullScreen || ( doc.msFullscreenElement && doc.msFullscreenElement !== null ) ) { - fs._enter( _nativeFullscreen.callback ); - } else { - fs._exit( _nativeFullscreen.callback ); - } - }; - doc.addEventListener( 'fullscreenchange', handler, false ); - doc.addEventListener( 'MSFullscreenChange', handler, false ); - doc.addEventListener( 'mozfullscreenchange', handler, false ); - doc.addEventListener( 'webkitfullscreenchange', handler, false ); - } - }, - - // the internal gallery holder - _galleries = [], - - // the internal instance holder - _instances = [], - - // flag for errors - _hasError = false, - - // canvas holder - _canvas = false, - - // instance pool, holds the galleries until themeLoad is triggered - _pool = [], - - // Run galleries from theme trigger - _loadedThemes = [], - _themeLoad = function( theme ) { - - _loadedThemes.push(theme); - - // run the instances we have in the pool - // and apply the last theme if not specified - $.each( _pool, function( i, instance ) { - if ( instance._options.theme == theme.name || (!instance._initialized && !instance._options.theme) ) { - instance.theme = theme; - instance._init.call( instance ); - } - }); - }, - - // the Utils singleton - Utils = (function() { - - return { - - // legacy support for clearTimer - clearTimer: function( id ) { - $.each( Galleria.get(), function() { - this.clearTimer( id ); - }); - }, - - // legacy support for addTimer - addTimer: function( id ) { - $.each( Galleria.get(), function() { - this.addTimer( id ); - }); - }, - - array : function( obj ) { - return protoArray.slice.call(obj, 0); - }, - - create : function( className, nodeName ) { - nodeName = nodeName || 'div'; - var elem = doc.createElement( nodeName ); - elem.className = className; - return elem; - }, - - removeFromArray : function( arr, elem ) { - $.each(arr, function(i, el) { - if ( el == elem ) { - arr.splice(i, 1); - return false; - } - }); - return arr; - }, - - getScriptPath : function( src ) { - - // the currently executing script is always the last - src = src || $('script:last').attr('src'); - var slices = src.split('/'); - - if (slices.length == 1) { - return ''; - } - - slices.pop(); - - return slices.join('/') + '/'; - }, - - // CSS3 transitions, added in 1.2.4 - animate : (function() { - - // detect transition - var transition = (function( style ) { - var props = 'transition WebkitTransition MozTransition OTransition'.split(' '), - i; - - // disable css3 animations in opera until stable - if ( window.opera ) { - return false; - } - - for ( i = 0; props[i]; i++ ) { - if ( typeof style[ props[ i ] ] !== 'undefined' ) { - return props[ i ]; - } - } - return false; - }(( doc.body || doc.documentElement).style )); - - // map transitionend event - var endEvent = { - MozTransition: 'transitionend', - OTransition: 'oTransitionEnd', - WebkitTransition: 'webkitTransitionEnd', - transition: 'transitionend' - }[ transition ]; - - // map bezier easing conversions - var easings = { - _default: [0.25, 0.1, 0.25, 1], - galleria: [0.645, 0.045, 0.355, 1], - galleriaIn: [0.55, 0.085, 0.68, 0.53], - galleriaOut: [0.25, 0.46, 0.45, 0.94], - ease: [0.25, 0, 0.25, 1], - linear: [0.25, 0.25, 0.75, 0.75], - 'ease-in': [0.42, 0, 1, 1], - 'ease-out': [0, 0, 0.58, 1], - 'ease-in-out': [0.42, 0, 0.58, 1] - }; - - // function for setting transition css for all browsers - var setStyle = function( elem, value, suffix ) { - var css = {}; - suffix = suffix || 'transition'; - $.each( 'webkit moz ms o'.split(' '), function() { - css[ '-' + this + '-' + suffix ] = value; - }); - elem.css( css ); - }; - - // clear styles - var clearStyle = function( elem ) { - setStyle( elem, 'none', 'transition' ); - if ( Galleria.WEBKIT && Galleria.TOUCH ) { - setStyle( elem, 'translate3d(0,0,0)', 'transform' ); - if ( elem.data('revert') ) { - elem.css( elem.data('revert') ); - elem.data('revert', null); - } - } - }; - - // various variables - var change, strings, easing, syntax, revert, form, css; - - // the actual animation method - return function( elem, to, options ) { - - // extend defaults - options = $.extend({ - duration: 400, - complete: F, - stop: false - }, options); - - // cache jQuery instance - elem = $( elem ); - - if ( !options.duration ) { - elem.css( to ); - options.complete.call( elem[0] ); - return; - } - - // fallback to jQuery's animate if transition is not supported - if ( !transition ) { - elem.animate(to, options); - return; - } - - // stop - if ( options.stop ) { - // clear the animation - elem.off( endEvent ); - clearStyle( elem ); - } - - // see if there is a change - change = false; - $.each( to, function( key, val ) { - css = elem.css( key ); - if ( Utils.parseValue( css ) != Utils.parseValue( val ) ) { - change = true; - } - // also add computed styles for FF - elem.css( key, css ); - }); - if ( !change ) { - window.setTimeout( function() { - options.complete.call( elem[0] ); - }, options.duration ); - return; - } - - // the css strings to be applied - strings = []; - - // the easing bezier - easing = options.easing in easings ? easings[ options.easing ] : easings._default; - - // the syntax - syntax = ' ' + options.duration + 'ms' + ' cubic-bezier(' + easing.join(',') + ')'; - - // add a tiny timeout so that the browsers catches any css changes before animating - window.setTimeout( (function(elem, endEvent, to, syntax) { - return function() { - - // attach the end event - elem.one(endEvent, (function( elem ) { - return function() { - - // clear the animation - clearStyle(elem); - - // run the complete method - options.complete.call(elem[0]); - }; - }( elem ))); - - // do the webkit translate3d for better performance on iOS - if( Galleria.WEBKIT && Galleria.TOUCH ) { - - revert = {}; - form = [0,0,0]; - - $.each( ['left', 'top'], function(i, m) { - if ( m in to ) { - form[ i ] = ( Utils.parseValue( to[ m ] ) - Utils.parseValue(elem.css( m )) ) + 'px'; - revert[ m ] = to[ m ]; - delete to[ m ]; - } - }); - - if ( form[0] || form[1]) { - - elem.data('revert', revert); - - strings.push('-webkit-transform' + syntax); - - // 3d animate - setStyle( elem, 'translate3d(' + form.join(',') + ')', 'transform'); - } - } - - // push the animation props - $.each(to, function( p, val ) { - strings.push(p + syntax); - }); - - // set the animation styles - setStyle( elem, strings.join(',') ); - - // animate - elem.css( to ); - - }; - }(elem, endEvent, to, syntax)), 2); - }; - }()), - - removeAlpha : function( elem ) { - if ( elem instanceof jQuery ) { - elem = elem[0]; - } - if ( IE < 9 && elem ) { - - var style = elem.style, - currentStyle = elem.currentStyle, - filter = currentStyle && currentStyle.filter || style.filter || ""; - - if ( /alpha/.test( filter ) ) { - style.filter = filter.replace( /alpha\([^)]*\)/i, '' ); - } - } - }, - - forceStyles : function( elem, styles ) { - elem = $(elem); - if ( elem.attr( 'style' ) ) { - elem.data( 'styles', elem.attr( 'style' ) ).removeAttr( 'style' ); - } - elem.css( styles ); - }, - - revertStyles : function() { - $.each( Utils.array( arguments ), function( i, elem ) { - - elem = $( elem ); - elem.removeAttr( 'style' ); - - elem.attr('style',''); // "fixes" webkit bug - - if ( elem.data( 'styles' ) ) { - elem.attr( 'style', elem.data('styles') ).data( 'styles', null ); - } - }); - }, - - moveOut : function( elem ) { - Utils.forceStyles( elem, { - position: 'absolute', - left: -10000 - }); - }, - - moveIn : function() { - Utils.revertStyles.apply( Utils, Utils.array( arguments ) ); - }, - - hide : function( elem, speed, callback ) { - - callback = callback || F; - - var $elem = $(elem); - elem = $elem[0]; - - // save the value if not exist - if (! $elem.data('opacity') ) { - $elem.data('opacity', $elem.css('opacity') ); - } - - // always hide - var style = { opacity: 0 }; - - if (speed) { - - var complete = IE < 9 && elem ? function() { - Utils.removeAlpha( elem ); - elem.style.visibility = 'hidden'; - callback.call( elem ); - } : callback; - - Utils.animate( elem, style, { - duration: speed, - complete: complete, - stop: true - }); - } else { - if ( IE < 9 && elem ) { - Utils.removeAlpha( elem ); - elem.style.visibility = 'hidden'; - } else { - $elem.css( style ); - } - } - }, - - show : function( elem, speed, callback ) { - - callback = callback || F; - - var $elem = $(elem); - elem = $elem[0]; - - // bring back saved opacity - var saved = parseFloat( $elem.data('opacity') ) || 1, - style = { opacity: saved }; - - // animate or toggle - if (speed) { - - if ( IE < 9 ) { - $elem.css('opacity', 0); - elem.style.visibility = 'visible'; - } - - var complete = IE < 9 && elem ? function() { - if ( style.opacity == 1 ) { - Utils.removeAlpha( elem ); - } - callback.call( elem ); - } : callback; - - Utils.animate( elem, style, { - duration: speed, - complete: complete, - stop: true - }); - } else { - if ( IE < 9 && style.opacity == 1 && elem ) { - Utils.removeAlpha( elem ); - elem.style.visibility = 'visible'; - } else { - $elem.css( style ); - } - } - }, - - wait : function(options) { - - Galleria._waiters = Galleria._waiters || []; - - options = $.extend({ - until : FALSE, - success : F, - error : function() { Galleria.raise('Could not complete wait function.'); }, - timeout: 3000 - }, options); - - var start = Utils.timestamp(), - elapsed, - now, - tid, - fn = function() { - now = Utils.timestamp(); - elapsed = now - start; - Utils.removeFromArray( Galleria._waiters, tid ); - if ( options.until( elapsed ) ) { - options.success(); - return false; - } - if (typeof options.timeout == 'number' && now >= start + options.timeout) { - options.error(); - return false; - } - Galleria._waiters.push( tid = window.setTimeout(fn, 10) ); - }; - Galleria._waiters.push( tid = window.setTimeout(fn, 10) ); - }, - - toggleQuality : function( img, force ) { - - if ( ( IE !== 7 && IE !== 8 ) || !img || img.nodeName.toUpperCase() != 'IMG' ) { - return; - } - - if ( typeof force === 'undefined' ) { - force = img.style.msInterpolationMode === 'nearest-neighbor'; - } - - img.style.msInterpolationMode = force ? 'bicubic' : 'nearest-neighbor'; - }, - - insertStyleTag : function( styles, id ) { - - if ( id && $( '#'+id ).length ) { - return; - } - - var style = doc.createElement( 'style' ); - if ( id ) { - style.id = id; - } - - DOM().head.appendChild( style ); - - if ( style.styleSheet ) { // IE - style.styleSheet.cssText = styles; - } else { - var cssText = doc.createTextNode( styles ); - style.appendChild( cssText ); - } - }, - - // a loadscript method that works for local scripts - loadScript: function( url, callback ) { - - var done = false, - script = $('<scr'+'ipt>').attr({ - src: url, - async: true - }).get(0); - - // Attach handlers for all browsers - script.onload = script.onreadystatechange = function() { - if ( !done && (!this.readyState || - this.readyState === 'loaded' || this.readyState === 'complete') ) { - - done = true; - - // Handle memory leak in IE - script.onload = script.onreadystatechange = null; - - if (typeof callback === 'function') { - callback.call( this, this ); - } - } - }; - - DOM().head.appendChild( script ); - }, - - // parse anything into a number - parseValue: function( val ) { - if (typeof val === 'number') { - return val; - } else if (typeof val === 'string') { - var arr = val.match(/\-?\d|\./g); - return arr && arr.constructor === Array ? arr.join('')*1 : 0; - } else { - return 0; - } - }, - - // timestamp abstraction - timestamp: function() { - return new Date().getTime(); - }, - - loadCSS : function( href, id, callback ) { - - var link, - length; - - // look for manual css - $('link[rel=stylesheet]').each(function() { - if ( new RegExp( href ).test( this.href ) ) { - link = this; - return false; - } - }); - - if ( typeof id === 'function' ) { - callback = id; - id = undef; - } - - callback = callback || F; // dirty - - // if already present, return - if ( link ) { - callback.call( link, link ); - return link; - } - - // save the length of stylesheets to check against - length = doc.styleSheets.length; - - // check for existing id - if( $( '#' + id ).length ) { - - $( '#' + id ).attr( 'href', href ); - length--; - - } else { - link = $( '<link>' ).attr({ - rel: 'stylesheet', - href: href, - id: id - }).get(0); - - var styles = $('link[rel="stylesheet"], style'); - if ( styles.length ) { - styles.get(0).parentNode.insertBefore( link, styles[0] ); - } else { - DOM().head.appendChild( link ); - } - - if ( IE && length >= 31 ) { - Galleria.raise( 'You have reached the browser stylesheet limit (31)', true ); - return; - } - } - - if ( typeof callback === 'function' ) { - - // First check for dummy element (new in 1.2.8) - var $loader = $('<s>').attr( 'id', 'galleria-loader' ).hide().appendTo( DOM().body ); - - Utils.wait({ - until: function() { - return $loader.height() > 0; - }, - success: function() { - $loader.remove(); - callback.call( link, link ); - }, - error: function() { - $loader.remove(); - - // If failed, tell the dev to download the latest theme - Galleria.raise( 'Theme CSS could not load after 20 sec. ' + ( Galleria.QUIRK ? - 'Your browser is in Quirks Mode, please add a correct doctype.' : - 'Please download the latest theme at http://galleria.io/customer/.' ), true ); - }, - timeout: 5000 - }); - } - return link; - } - }; - }()), - - // play icon - _playIcon = function( container ) { - - var css = '.galleria-videoicon{width:60px;height:60px;position:absolute;top:50%;left:50%;z-index:1;' + - 'margin:-30px 0 0 -30px;cursor:pointer;background:#000;background:rgba(0,0,0,.8);border-radius:3px;-webkit-transition:all 150ms}' + - '.galleria-videoicon i{width:0px;height:0px;border-style:solid;border-width:10px 0 10px 16px;display:block;' + - 'border-color:transparent transparent transparent #ffffff;margin:20px 0 0 22px}.galleria-image:hover .galleria-videoicon{background:#000}'; - - Utils.insertStyleTag( css, 'galleria-videoicon' ); - - return $( Utils.create( 'galleria-videoicon' ) ).html( '<i></i>' ).appendTo( container ) - .click( function() { $( this ).siblings( 'img' ).mouseup(); }); - }, - - // the transitions holder - _transitions = (function() { - - var _slide = function(params, complete, fade, door) { - - var easing = this.getOptions('easing'), - distance = this.getStageWidth(), - from = { left: distance * ( params.rewind ? -1 : 1 ) }, - to = { left: 0 }; - - if ( fade ) { - from.opacity = 0; - to.opacity = 1; - } else { - from.opacity = 1; - } - - $(params.next).css(from); - - Utils.animate(params.next, to, { - duration: params.speed, - complete: (function( elems ) { - return function() { - complete(); - elems.css({ - left: 0 - }); - }; - }( $( params.next ).add( params.prev ) )), - queue: false, - easing: easing - }); - - if (door) { - params.rewind = !params.rewind; - } - - if (params.prev) { - - from = { left: 0 }; - to = { left: distance * ( params.rewind ? 1 : -1 ) }; - - if ( fade ) { - from.opacity = 1; - to.opacity = 0; - } - - $(params.prev).css(from); - Utils.animate(params.prev, to, { - duration: params.speed, - queue: false, - easing: easing, - complete: function() { - $(this).css('opacity', 0); - } - }); - } - }; - - return { - - active: false, - - init: function( effect, params, complete ) { - if ( _transitions.effects.hasOwnProperty( effect ) ) { - _transitions.effects[ effect ].call( this, params, complete ); - } - }, - - effects: { - - fade: function(params, complete) { - $(params.next).css({ - opacity: 0, - left: 0 - }); - Utils.animate(params.next, { - opacity: 1 - },{ - duration: params.speed, - complete: complete - }); - if (params.prev) { - $(params.prev).css('opacity',1).show(); - Utils.animate(params.prev, { - opacity: 0 - },{ - duration: params.speed - }); - } - }, - - flash: function(params, complete) { - $(params.next).css({ - opacity: 0, - left: 0 - }); - if (params.prev) { - Utils.animate( params.prev, { - opacity: 0 - },{ - duration: params.speed/2, - complete: function() { - Utils.animate( params.next, { - opacity:1 - },{ - duration: params.speed, - complete: complete - }); - } - }); - } else { - Utils.animate( params.next, { - opacity: 1 - },{ - duration: params.speed, - complete: complete - }); - } - }, - - pulse: function(params, complete) { - if (params.prev) { - $(params.prev).hide(); - } - $(params.next).css({ - opacity: 0, - left: 0 - }).show(); - Utils.animate(params.next, { - opacity:1 - },{ - duration: params.speed, - complete: complete - }); - }, - - slide: function(params, complete) { - _slide.apply( this, Utils.array( arguments ) ); - }, - - fadeslide: function(params, complete) { - _slide.apply( this, Utils.array( arguments ).concat( [true] ) ); - }, - - doorslide: function(params, complete) { - _slide.apply( this, Utils.array( arguments ).concat( [false, true] ) ); - } - } - }; - }()); - -// listen to fullscreen -_nativeFullscreen.listen(); - -// create special click:fast event for fast touch interaction -$.event.special['click:fast'] = { - propagate: true, - add: function(handleObj) { - - var getCoords = function(e) { - if ( e.touches && e.touches.length ) { - var touch = e.touches[0]; - return { - x: touch.pageX, - y: touch.pageY - }; - } - }; - - var def = { - touched: false, - touchdown: false, - coords: { x:0, y:0 }, - evObj: {} - }; - - $(this).data({ - clickstate: def, - timer: 0 - }).on('touchstart.fast', function(e) { - window.clearTimeout($(this).data('timer')); - $(this).data('clickstate', { - touched: true, - touchdown: true, - coords: getCoords(e.originalEvent), - evObj: e - }); - }).on('touchmove.fast', function(e) { - var coords = getCoords(e.originalEvent), - state = $(this).data('clickstate'), - distance = Math.max( - Math.abs(state.coords.x - coords.x), - Math.abs(state.coords.y - coords.y) - ); - if ( distance > 6 ) { - $(this).data('clickstate', $.extend(state, { - touchdown: false - })); - } - }).on('touchend.fast', function(e) { - var $this = $(this), - state = $this.data('clickstate'); - if(state.touchdown) { - handleObj.handler.call(this, e); - } - $this.data('timer', window.setTimeout(function() { - $this.data('clickstate', def); - }, 400)); - }).on('click.fast', function(e) { - var state = $(this).data('clickstate'); - if ( state.touched ) { - return false; - } - $(this).data('clickstate', def); - handleObj.handler.call(this, e); - }); - }, - remove: function() { - $(this).off('touchstart.fast touchmove.fast touchend.fast click.fast'); - } -}; - -// trigger resize on orientationchange (IOS7) -$win.on( 'orientationchange', function() { - $(this).resize(); -}); - -/** - The main Galleria class - - @class - @constructor - - @example var gallery = new Galleria(); - - @author http://wib.io - - @requires jQuery - -*/ - -Galleria = function() { - - var self = this; - - // internal options - this._options = {}; - - // flag for controlling play/pause - this._playing = false; - - // internal interval for slideshow - this._playtime = 5000; - - // internal variable for the currently active image - this._active = null; - - // the internal queue, arrayified - this._queue = { length: 0 }; - - // the internal data array - this._data = []; - - // the internal dom collection - this._dom = {}; - - // the internal thumbnails array - this._thumbnails = []; - - // the internal layers array - this._layers = []; - - // internal init flag - this._initialized = false; - - // internal firstrun flag - this._firstrun = false; - - // global stagewidth/height - this._stageWidth = 0; - this._stageHeight = 0; - - // target holder - this._target = undef; - - // bind hashes - this._binds = []; - - // instance id - this._id = parseInt(M.random()*10000, 10); - - // add some elements - var divs = 'container stage images image-nav image-nav-left image-nav-right ' + - 'info info-text info-title info-description ' + - 'thumbnails thumbnails-list thumbnails-container thumb-nav-left thumb-nav-right ' + - 'loader counter tooltip', - spans = 'current total'; - - $.each( divs.split(' '), function( i, elemId ) { - self._dom[ elemId ] = Utils.create( 'galleria-' + elemId ); - }); - - $.each( spans.split(' '), function( i, elemId ) { - self._dom[ elemId ] = Utils.create( 'galleria-' + elemId, 'span' ); - }); - - // the internal keyboard object - // keeps reference of the keybinds and provides helper methods for binding keys - var keyboard = this._keyboard = { - - keys : { - 'UP': 38, - 'DOWN': 40, - 'LEFT': 37, - 'RIGHT': 39, - 'RETURN': 13, - 'ESCAPE': 27, - 'BACKSPACE': 8, - 'SPACE': 32 - }, - - map : {}, - - bound: false, - - press: function(e) { - var key = e.keyCode || e.which; - if ( key in keyboard.map && typeof keyboard.map[key] === 'function' ) { - keyboard.map[key].call(self, e); - } - }, - - attach: function(map) { - - var key, up; - - for( key in map ) { - if ( map.hasOwnProperty( key ) ) { - up = key.toUpperCase(); - if ( up in keyboard.keys ) { - keyboard.map[ keyboard.keys[up] ] = map[key]; - } else { - keyboard.map[ up ] = map[key]; - } - } - } - if ( !keyboard.bound ) { - keyboard.bound = true; - $doc.on('keydown', keyboard.press); - } - }, - - detach: function() { - keyboard.bound = false; - keyboard.map = {}; - $doc.off('keydown', keyboard.press); - } - }; - - // internal controls for keeping track of active / inactive images - var controls = this._controls = { - - 0: undef, - - 1: undef, - - active : 0, - - swap : function() { - controls.active = controls.active ? 0 : 1; - }, - - getActive : function() { - return self._options.swipe ? controls.slides[ self._active ] : controls[ controls.active ]; - }, - - getNext : function() { - return self._options.swipe ? controls.slides[ self.getNext( self._active ) ] : controls[ 1 - controls.active ]; - }, - - slides : [], - - frames: [], - - layers: [] - }; - - // internal carousel object - var carousel = this._carousel = { - - // shortcuts - next: self.$('thumb-nav-right'), - prev: self.$('thumb-nav-left'), - - // cache the width - width: 0, - - // track the current position - current: 0, - - // cache max value - max: 0, - - // save all hooks for each width in an array - hooks: [], - - // update the carousel - // you can run this method anytime, f.ex on window.resize - update: function() { - var w = 0, - h = 0, - hooks = [0]; - - $.each( self._thumbnails, function( i, thumb ) { - if ( thumb.ready ) { - w += thumb.outerWidth || $( thumb.container ).outerWidth( true ); - // Due to a bug in jquery, outerwidth() returns the floor of the actual outerwidth, - // if the browser is zoom to a value other than 100%. height() returns the floating point value. - var containerWidth = $( thumb.container).width(); - w += containerWidth - M.floor(containerWidth); - - hooks[ i+1 ] = w; - h = M.max( h, thumb.outerHeight || $( thumb.container).outerHeight( true ) ); - } - }); - - self.$( 'thumbnails' ).css({ - width: w, - height: h - }); - - carousel.max = w; - carousel.hooks = hooks; - carousel.width = self.$( 'thumbnails-list' ).width(); - carousel.setClasses(); - - self.$( 'thumbnails-container' ).toggleClass( 'galleria-carousel', w > carousel.width ); - - // one extra calculation - carousel.width = self.$( 'thumbnails-list' ).width(); - - // todo: fix so the carousel moves to the left - }, - - bindControls: function() { - - var i; - - carousel.next.on( 'click:fast', function(e) { - e.preventDefault(); - - if ( self._options.carouselSteps === 'auto' ) { - - for ( i = carousel.current; i < carousel.hooks.length; i++ ) { - if ( carousel.hooks[i] - carousel.hooks[ carousel.current ] > carousel.width ) { - carousel.set(i - 2); - break; - } - } - - } else { - carousel.set( carousel.current + self._options.carouselSteps); - } - }); - - carousel.prev.on( 'click:fast', function(e) { - e.preventDefault(); - - if ( self._options.carouselSteps === 'auto' ) { - - for ( i = carousel.current; i >= 0; i-- ) { - if ( carousel.hooks[ carousel.current ] - carousel.hooks[i] > carousel.width ) { - carousel.set( i + 2 ); - break; - } else if ( i === 0 ) { - carousel.set( 0 ); - break; - } - } - } else { - carousel.set( carousel.current - self._options.carouselSteps ); - } - }); - }, - - // calculate and set positions - set: function( i ) { - i = M.max( i, 0 ); - while ( carousel.hooks[i - 1] + carousel.width >= carousel.max && i >= 0 ) { - i--; - } - carousel.current = i; - carousel.animate(); - }, - - // get the last position - getLast: function(i) { - return ( i || carousel.current ) - 1; - }, - - // follow the active image - follow: function(i) { - - //don't follow if position fits - if ( i === 0 || i === carousel.hooks.length - 2 ) { - carousel.set( i ); - return; - } - - // calculate last position - var last = carousel.current; - while( carousel.hooks[last] - carousel.hooks[ carousel.current ] < - carousel.width && last <= carousel.hooks.length ) { - last ++; - } - - // set position - if ( i - 1 < carousel.current ) { - carousel.set( i - 1 ); - } else if ( i + 2 > last) { - carousel.set( i - last + carousel.current + 2 ); - } - }, - - // helper for setting disabled classes - setClasses: function() { - carousel.prev.toggleClass( 'disabled', !carousel.current ); - carousel.next.toggleClass( 'disabled', carousel.hooks[ carousel.current ] + carousel.width >= carousel.max ); - }, - - // the animation method - animate: function(to) { - carousel.setClasses(); - var num = carousel.hooks[ carousel.current ] * -1; - - if ( isNaN( num ) ) { - return; - } - - // FF 24 bug - self.$( 'thumbnails' ).css('left', function() { - return $(this).css('left'); - }); - - Utils.animate(self.get( 'thumbnails' ), { - left: num - },{ - duration: self._options.carouselSpeed, - easing: self._options.easing, - queue: false - }); - } - }; - - // tooltip control - // added in 1.2 - var tooltip = this._tooltip = { - - initialized : false, - - open: false, - - timer: 'tooltip' + self._id, - - swapTimer: 'swap' + self._id, - - init: function() { - - tooltip.initialized = true; - - var css = '.galleria-tooltip{padding:3px 8px;max-width:50%;background:#ffe;color:#000;z-index:3;position:absolute;font-size:11px;line-height:1.3;' + - 'opacity:0;box-shadow:0 0 2px rgba(0,0,0,.4);-moz-box-shadow:0 0 2px rgba(0,0,0,.4);-webkit-box-shadow:0 0 2px rgba(0,0,0,.4);}'; - - Utils.insertStyleTag( css, 'galleria-tooltip' ); - - self.$( 'tooltip' ).css({ - opacity: 0.8, - visibility: 'visible', - display: 'none' - }); - - }, - - // move handler - move: function( e ) { - var mouseX = self.getMousePosition(e).x, - mouseY = self.getMousePosition(e).y, - $elem = self.$( 'tooltip' ), - x = mouseX, - y = mouseY, - height = $elem.outerHeight( true ) + 1, - width = $elem.outerWidth( true ), - limitY = height + 15; - - var maxX = self.$( 'container' ).width() - width - 2, - maxY = self.$( 'container' ).height() - height - 2; - - if ( !isNaN(x) && !isNaN(y) ) { - - x += 10; - y -= ( height+8 ); - - x = M.max( 0, M.min( maxX, x ) ); - y = M.max( 0, M.min( maxY, y ) ); - - if( mouseY < limitY ) { - y = limitY; - } - - $elem.css({ left: x, top: y }); - } - }, - - // bind elements to the tooltip - // you can bind multiple elementIDs using { elemID : function } or { elemID : string } - // you can also bind single DOM elements using bind(elem, string) - bind: function( elem, value ) { - - // todo: revise if alternative tooltip is needed for mobile devices - if (Galleria.TOUCH) { - return; - } - - if (! tooltip.initialized ) { - tooltip.init(); - } - - var mouseout = function() { - self.$( 'container' ).off( 'mousemove', tooltip.move ); - self.clearTimer( tooltip.timer ); - - self.$( 'tooltip' ).stop().animate({ - opacity: 0 - }, 200, function() { - - self.$( 'tooltip' ).hide(); - - self.addTimer( tooltip.swapTimer, function() { - tooltip.open = false; - }, 1000); - }); - }; - - var hover = function( elem, value) { - - tooltip.define( elem, value ); - - $( elem ).hover(function() { - - self.clearTimer( tooltip.swapTimer ); - self.$('container').off( 'mousemove', tooltip.move ).on( 'mousemove', tooltip.move ).trigger( 'mousemove' ); - tooltip.show( elem ); - - self.addTimer( tooltip.timer, function() { - self.$( 'tooltip' ).stop().show().animate({ - opacity: 1 - }); - tooltip.open = true; - - }, tooltip.open ? 0 : 500); - - }, mouseout).click(mouseout); - }; - - if ( typeof value === 'string' ) { - hover( ( elem in self._dom ? self.get( elem ) : elem ), value ); - } else { - // asume elemID here - $.each( elem, function( elemID, val ) { - hover( self.get(elemID), val ); - }); - } - }, - - show: function( elem ) { - - elem = $( elem in self._dom ? self.get(elem) : elem ); - - var text = elem.data( 'tt' ), - mouseup = function( e ) { - - // attach a tiny settimeout to make sure the new tooltip is filled - window.setTimeout( (function( ev ) { - return function() { - tooltip.move( ev ); - }; - }( e )), 10); - - elem.off( 'mouseup', mouseup ); - - }; - - text = typeof text === 'function' ? text() : text; - - if ( ! text ) { - return; - } - - self.$( 'tooltip' ).html( text.replace(/\s/, ' ') ); - - // trigger mousemove on mouseup in case of click - elem.on( 'mouseup', mouseup ); - }, - - define: function( elem, value ) { - - // we store functions, not strings - if (typeof value !== 'function') { - var s = value; - value = function() { - return s; - }; - } - - elem = $( elem in self._dom ? self.get(elem) : elem ).data('tt', value); - - tooltip.show( elem ); - - } - }; - - // internal fullscreen control - var fullscreen = this._fullscreen = { - - scrolled: 0, - - crop: undef, - - active: false, - - prev: $(), - - beforeEnter: function(fn){ fn(); }, - beforeExit: function(fn){ fn(); }, - - keymap: self._keyboard.map, - - parseCallback: function( callback, enter ) { - - return _transitions.active ? function() { - if ( typeof callback == 'function' ) { - callback.call(self); - } - var active = self._controls.getActive(), - next = self._controls.getNext(); - - self._scaleImage( next ); - self._scaleImage( active ); - - if ( enter && self._options.trueFullscreen ) { - // Firefox bug, revise later - $( active.container ).add( next.container ).trigger( 'transitionend' ); - } - - } : callback; - - }, - - enter: function( callback ) { - - fullscreen.beforeEnter(function() { - - callback = fullscreen.parseCallback( callback, true ); - - if ( self._options.trueFullscreen && _nativeFullscreen.support ) { - - // do some stuff prior animation for wmoother transitions - - fullscreen.active = true; - - Utils.forceStyles( self.get('container'), { - width: '100%', - height: '100%' - }); - - self.rescale(); - - if ( Galleria.MAC ) { - if ( !( Galleria.SAFARI && /version\/[1-5]/.test(NAV)) ) { - self.$('container').css('opacity', 0).addClass('fullscreen'); - window.setTimeout(function() { - fullscreen.scale(); - self.$('container').css('opacity', 1); - }, 50); - } else { - self.$('stage').css('opacity', 0); - window.setTimeout(function() { - fullscreen.scale(); - self.$('stage').css('opacity', 1); - },4); - } - } else { - self.$('container').addClass('fullscreen'); - } - - $win.resize( fullscreen.scale ); - - _nativeFullscreen.enter( self, callback, self.get('container') ); - - } else { - - fullscreen.scrolled = $win.scrollTop(); - if( !Galleria.TOUCH ) { - window.scrollTo(0, 0); - } - - fullscreen._enter( callback ); - } - }); - - }, - - _enter: function( callback ) { - - fullscreen.active = true; - - if ( IFRAME ) { - - fullscreen.iframe = (function() { - - var elem, - refer = doc.referrer, - test = doc.createElement('a'), - loc = window.location; - - test.href = refer; - - if( test.protocol != loc.protocol || - test.hostname != loc.hostname || - test.port != loc.port ) { - Galleria.raise('Parent fullscreen not available. Iframe protocol, domains and ports must match.'); - return false; - } - - fullscreen.pd = window.parent.document; - - $( fullscreen.pd ).find('iframe').each(function() { - var idoc = this.contentDocument || this.contentWindow.document; - if ( idoc === doc ) { - elem = this; - return false; - } - }); - - return elem; - }()); - - } - - // hide the image until rescale is complete - Utils.hide( self.getActiveImage() ); - - if ( IFRAME && fullscreen.iframe ) { - fullscreen.iframe.scrolled = $( window.parent ).scrollTop(); - window.parent.scrollTo(0, 0); - } - - var data = self.getData(), - options = self._options, - inBrowser = !self._options.trueFullscreen || !_nativeFullscreen.support, - htmlbody = { - height: '100%', - overflow: 'hidden', - margin:0, - padding:0 - }; - - if (inBrowser) { - - self.$('container').addClass('fullscreen'); - fullscreen.prev = self.$('container').prev(); - - if ( !fullscreen.prev.length ) { - fullscreen.parent = self.$( 'container' ).parent(); - } - - // move - self.$( 'container' ).appendTo( 'body' ); - - // begin styleforce - - Utils.forceStyles(self.get('container'), { - position: Galleria.TOUCH ? 'absolute' : 'fixed', - top: 0, - left: 0, - width: '100%', - height: '100%', - zIndex: 10000 - }); - Utils.forceStyles( DOM().html, htmlbody ); - Utils.forceStyles( DOM().body, htmlbody ); - } - - if ( IFRAME && fullscreen.iframe ) { - Utils.forceStyles( fullscreen.pd.documentElement, htmlbody ); - Utils.forceStyles( fullscreen.pd.body, htmlbody ); - Utils.forceStyles( fullscreen.iframe, $.extend( htmlbody, { - width: '100%', - height: '100%', - top: 0, - left: 0, - position: 'fixed', - zIndex: 10000, - border: 'none' - })); - } - - // temporarily attach some keys - // save the old ones first in a cloned object - fullscreen.keymap = $.extend({}, self._keyboard.map); - - self.attachKeyboard({ - escape: self.exitFullscreen, - right: self.next, - left: self.prev - }); - - // temporarily save the crop - fullscreen.crop = options.imageCrop; - - // set fullscreen options - if ( options.fullscreenCrop != undef ) { - options.imageCrop = options.fullscreenCrop; - } - - // swap to big image if it's different from the display image - if ( data && data.big && data.image !== data.big ) { - var big = new Galleria.Picture(), - cached = big.isCached( data.big ), - index = self.getIndex(), - thumb = self._thumbnails[ index ]; - - self.trigger( { - type: Galleria.LOADSTART, - cached: cached, - rewind: false, - index: index, - imageTarget: self.getActiveImage(), - thumbTarget: thumb, - galleriaData: data - }); - - big.load( data.big, function( big ) { - self._scaleImage( big, { - complete: function( big ) { - self.trigger({ - type: Galleria.LOADFINISH, - cached: cached, - index: index, - rewind: false, - imageTarget: big.image, - thumbTarget: thumb - }); - var image = self._controls.getActive().image; - if ( image ) { - $( image ).width( big.image.width ).height( big.image.height ) - .attr( 'style', $( big.image ).attr('style') ) - .attr( 'src', big.image.src ); - } - } - }); - }); - - var n = self.getNext(index), - p = new Galleria.Picture(), - ndata = self.getData( n ); - p.preload( self.isFullscreen() && ndata.big ? ndata.big : ndata.image ); - } - - // init the first rescale and attach callbacks - - self.rescale(function() { - - self.addTimer(false, function() { - // show the image after 50 ms - if ( inBrowser ) { - Utils.show( self.getActiveImage() ); - } - - if (typeof callback === 'function') { - callback.call( self ); - } - self.rescale(); - - }, 100); - - self.trigger( Galleria.FULLSCREEN_ENTER ); - }); - - if ( !inBrowser ) { - Utils.show( self.getActiveImage() ); - } else { - $win.resize( fullscreen.scale ); - } - - }, - - scale : function() { - self.rescale(); - }, - - exit: function( callback ) { - - fullscreen.beforeExit(function() { - - callback = fullscreen.parseCallback( callback ); - - if ( self._options.trueFullscreen && _nativeFullscreen.support ) { - _nativeFullscreen.exit( callback ); - } else { - fullscreen._exit( callback ); - } - }); - }, - - _exit: function( callback ) { - - fullscreen.active = false; - - var inBrowser = !self._options.trueFullscreen || !_nativeFullscreen.support, - $container = self.$( 'container' ).removeClass( 'fullscreen' ); - - // move back - if ( fullscreen.parent ) { - fullscreen.parent.prepend( $container ); - } else { - $container.insertAfter( fullscreen.prev ); - } - - if ( inBrowser ) { - Utils.hide( self.getActiveImage() ); - - // revert all styles - Utils.revertStyles( self.get('container'), DOM().html, DOM().body ); - - // scroll back - if( !Galleria.TOUCH ) { - window.scrollTo(0, fullscreen.scrolled); - } - - // reload iframe src manually - var frame = self._controls.frames[ self._controls.active ]; - if ( frame && frame.image ) { - frame.image.src = frame.image.src; - } - } - - if ( IFRAME && fullscreen.iframe ) { - Utils.revertStyles( fullscreen.pd.documentElement, fullscreen.pd.body, fullscreen.iframe ); - if ( fullscreen.iframe.scrolled ) { - window.parent.scrollTo(0, fullscreen.iframe.scrolled ); - } - } - - // detach all keyboard events and apply the old keymap - self.detachKeyboard(); - self.attachKeyboard( fullscreen.keymap ); - - // bring back cached options - self._options.imageCrop = fullscreen.crop; - - // return to original image - var big = self.getData().big, - image = self._controls.getActive().image; - - if ( !self.getData().iframe && image && big && big == image.src ) { - - window.setTimeout(function(src) { - return function() { - image.src = src; - }; - }( self.getData().image ), 1 ); - - } - - self.rescale(function() { - self.addTimer(false, function() { - - // show the image after 50 ms - if ( inBrowser ) { - Utils.show( self.getActiveImage() ); - } - - if ( typeof callback === 'function' ) { - callback.call( self ); - } - - $win.trigger( 'resize' ); - - }, 50); - self.trigger( Galleria.FULLSCREEN_EXIT ); - }); - - $win.off('resize', fullscreen.scale); - } - }; - - // the internal idle object for controlling idle states - var idle = this._idle = { - - trunk: [], - - bound: false, - - active: false, - - add: function(elem, to, from, hide) { - if ( !elem || Galleria.TOUCH ) { - return; - } - if (!idle.bound) { - idle.addEvent(); - } - elem = $(elem); - - if ( typeof from == 'boolean' ) { - hide = from; - from = {}; - } - - from = from || {}; - - var extract = {}, - style; - - for ( style in to ) { - if ( to.hasOwnProperty( style ) ) { - extract[ style ] = elem.css( style ); - } - } - - elem.data('idle', { - from: $.extend( extract, from ), - to: to, - complete: true, - busy: false - }); - - if ( !hide ) { - idle.addTimer(); - } else { - elem.css( to ); - } - idle.trunk.push(elem); - }, - - remove: function(elem) { - - elem = $(elem); - - $.each(idle.trunk, function(i, el) { - if ( el && el.length && !el.not(elem).length ) { - elem.css( elem.data( 'idle' ).from ); - idle.trunk.splice(i, 1); - } - }); - - if (!idle.trunk.length) { - idle.removeEvent(); - self.clearTimer( idle.timer ); - } - }, - - addEvent : function() { - idle.bound = true; - self.$('container').on( 'mousemove click', idle.showAll ); - if ( self._options.idleMode == 'hover' ) { - self.$('container').on( 'mouseleave', idle.hide ); - } - }, - - removeEvent : function() { - idle.bound = false; - self.$('container').on( 'mousemove click', idle.showAll ); - if ( self._options.idleMode == 'hover' ) { - self.$('container').off( 'mouseleave', idle.hide ); - } - }, - - addTimer : function() { - if( self._options.idleMode == 'hover' ) { - return; - } - self.addTimer( 'idle', function() { - idle.hide(); - }, self._options.idleTime ); - }, - - hide : function() { - - if ( !self._options.idleMode || self.getIndex() === false ) { - return; - } - - self.trigger( Galleria.IDLE_ENTER ); - - var len = idle.trunk.length; - - $.each( idle.trunk, function(i, elem) { - - var data = elem.data('idle'); - - if (! data) { - return; - } - - elem.data('idle').complete = false; - - Utils.animate( elem, data.to, { - duration: self._options.idleSpeed, - complete: function() { - if ( i == len-1 ) { - idle.active = false; - } - } - }); - }); - }, - - showAll : function() { - - self.clearTimer( 'idle' ); - - $.each( idle.trunk, function( i, elem ) { - idle.show( elem ); - }); - }, - - show: function(elem) { - - var data = elem.data('idle'); - - if ( !idle.active || ( !data.busy && !data.complete ) ) { - - data.busy = true; - - self.trigger( Galleria.IDLE_EXIT ); - - self.clearTimer( 'idle' ); - - Utils.animate( elem, data.from, { - duration: self._options.idleSpeed/2, - complete: function() { - idle.active = true; - $(elem).data('idle').busy = false; - $(elem).data('idle').complete = true; - } - }); - - } - idle.addTimer(); - } - }; - - // internal lightbox object - // creates a predesigned lightbox for simple popups of images in galleria - var lightbox = this._lightbox = { - - width : 0, - - height : 0, - - initialized : false, - - active : null, - - image : null, - - elems : {}, - - keymap: false, - - init : function() { - - if ( lightbox.initialized ) { - return; - } - lightbox.initialized = true; - - // create some elements to work with - var elems = 'overlay box content shadow title info close prevholder prev nextholder next counter image', - el = {}, - op = self._options, - css = '', - abs = 'position:absolute;', - prefix = 'lightbox-', - cssMap = { - overlay: 'position:fixed;display:none;opacity:'+op.overlayOpacity+';filter:alpha(opacity='+(op.overlayOpacity*100)+ - ');top:0;left:0;width:100%;height:100%;background:'+op.overlayBackground+';z-index:99990', - box: 'position:fixed;display:none;width:400px;height:400px;top:50%;left:50%;margin-top:-200px;margin-left:-200px;z-index:99991', - shadow: abs+'background:#000;width:100%;height:100%;', - content: abs+'background-color:#fff;top:10px;left:10px;right:10px;bottom:10px;overflow:hidden', - info: abs+'bottom:10px;left:10px;right:10px;color:#444;font:11px/13px arial,sans-serif;height:13px', - close: abs+'top:10px;right:10px;height:20px;width:20px;background:#fff;text-align:center;cursor:pointer;color:#444;font:16px/22px arial,sans-serif;z-index:99999', - image: abs+'top:10px;left:10px;right:10px;bottom:30px;overflow:hidden;display:block;', - prevholder: abs+'width:50%;top:0;bottom:40px;cursor:pointer;', - nextholder: abs+'width:50%;top:0;bottom:40px;right:-1px;cursor:pointer;', - prev: abs+'top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;left:20px;display:none;text-align:center;color:#000;font:bold 16px/36px arial,sans-serif', - next: abs+'top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;right:20px;left:auto;display:none;font:bold 16px/36px arial,sans-serif;text-align:center;color:#000', - title: 'float:left', - counter: 'float:right;margin-left:8px;' - }, - hover = function(elem) { - return elem.hover( - function() { $(this).css( 'color', '#bbb' ); }, - function() { $(this).css( 'color', '#444' ); } - ); - }, - appends = {}; - - // fix for navigation hovers transparent background event "feature" - var exs = ''; - if ( IE > 7 ) { - exs = IE < 9 ? 'background:#000;filter:alpha(opacity=0);' : 'background:rgba(0,0,0,0);'; - } else { - exs = 'z-index:99999'; - } - - cssMap.nextholder += exs; - cssMap.prevholder += exs; - - // create and insert CSS - $.each(cssMap, function( key, value ) { - css += '.galleria-'+prefix+key+'{'+value+'}'; - }); - - css += '.galleria-'+prefix+'box.iframe .galleria-'+prefix+'prevholder,'+ - '.galleria-'+prefix+'box.iframe .galleria-'+prefix+'nextholder{'+ - 'width:100px;height:100px;top:50%;margin-top:-70px}'; - - Utils.insertStyleTag( css, 'galleria-lightbox' ); - - // create the elements - $.each(elems.split(' '), function( i, elemId ) { - self.addElement( 'lightbox-' + elemId ); - el[ elemId ] = lightbox.elems[ elemId ] = self.get( 'lightbox-' + elemId ); - }); - - // initiate the image - lightbox.image = new Galleria.Picture(); - - // append the elements - $.each({ - box: 'shadow content close prevholder nextholder', - info: 'title counter', - content: 'info image', - prevholder: 'prev', - nextholder: 'next' - }, function( key, val ) { - var arr = []; - $.each( val.split(' '), function( i, prop ) { - arr.push( prefix + prop ); - }); - appends[ prefix+key ] = arr; - }); - - self.append( appends ); - - $( el.image ).append( lightbox.image.container ); - - $( DOM().body ).append( el.overlay, el.box ); - - // add the prev/next nav and bind some controls - - hover( $( el.close ).on( 'click:fast', lightbox.hide ).html('×') ); - - $.each( ['Prev','Next'], function(i, dir) { - - var $d = $( el[ dir.toLowerCase() ] ).html( /v/.test( dir ) ? '‹ ' : ' ›' ), - $e = $( el[ dir.toLowerCase()+'holder'] ); - - $e.on( 'click:fast', function() { - lightbox[ 'show' + dir ](); - }); - - // IE7 and touch devices will simply show the nav - if ( IE < 8 || Galleria.TOUCH ) { - $d.show(); - return; - } - - $e.hover( function() { - $d.show(); - }, function(e) { - $d.stop().fadeOut( 200 ); - }); - - }); - $( el.overlay ).on( 'click:fast', lightbox.hide ); - - // the lightbox animation is slow on ipad - if ( Galleria.IPAD ) { - self._options.lightboxTransitionSpeed = 0; - } - - }, - - rescale: function(event) { - - // calculate - var width = M.min( $win.width()-40, lightbox.width ), - height = M.min( $win.height()-60, lightbox.height ), - ratio = M.min( width / lightbox.width, height / lightbox.height ), - destWidth = M.round( lightbox.width * ratio ) + 40, - destHeight = M.round( lightbox.height * ratio ) + 60, - to = { - width: destWidth, - height: destHeight, - 'margin-top': M.ceil( destHeight / 2 ) *- 1, - 'margin-left': M.ceil( destWidth / 2 ) *- 1 - }; - - // if rescale event, don't animate - if ( event ) { - $( lightbox.elems.box ).css( to ); - } else { - $( lightbox.elems.box ).animate( to, { - duration: self._options.lightboxTransitionSpeed, - easing: self._options.easing, - complete: function() { - var image = lightbox.image, - speed = self._options.lightboxFadeSpeed; - - self.trigger({ - type: Galleria.LIGHTBOX_IMAGE, - imageTarget: image.image - }); - - $( image.container ).show(); - - $( image.image ).animate({ opacity: 1 }, speed); - Utils.show( lightbox.elems.info, speed ); - } - }); - } - }, - - hide: function() { - - // remove the image - lightbox.image.image = null; - - $win.off('resize', lightbox.rescale); - - $( lightbox.elems.box ).hide().find( 'iframe' ).remove(); - - Utils.hide( lightbox.elems.info ); - - self.detachKeyboard(); - self.attachKeyboard( lightbox.keymap ); - - lightbox.keymap = false; - - Utils.hide( lightbox.elems.overlay, 200, function() { - $( this ).hide().css( 'opacity', self._options.overlayOpacity ); - self.trigger( Galleria.LIGHTBOX_CLOSE ); - }); - }, - - showNext: function() { - lightbox.show( self.getNext( lightbox.active ) ); - }, - - showPrev: function() { - lightbox.show( self.getPrev( lightbox.active ) ); - }, - - show: function(index) { - - lightbox.active = index = typeof index === 'number' ? index : self.getIndex() || 0; - - if ( !lightbox.initialized ) { - lightbox.init(); - } - - // trigger the event - self.trigger( Galleria.LIGHTBOX_OPEN ); - - // temporarily attach some keys - // save the old ones first in a cloned object - if ( !lightbox.keymap ) { - - lightbox.keymap = $.extend({}, self._keyboard.map); - - self.attachKeyboard({ - escape: lightbox.hide, - right: lightbox.showNext, - left: lightbox.showPrev - }); - } - - $win.off('resize', lightbox.rescale ); - - var data = self.getData(index), - total = self.getDataLength(), - n = self.getNext( index ), - ndata, p, i; - - Utils.hide( lightbox.elems.info ); - - try { - for ( i = self._options.preload; i > 0; i-- ) { - p = new Galleria.Picture(); - ndata = self.getData( n ); - p.preload( ndata.big ? ndata.big : ndata.image ); - n = self.getNext( n ); - } - } catch(e) {} - - lightbox.image.isIframe = ( data.iframe && !data.image ); - - $( lightbox.elems.box ).toggleClass( 'iframe', lightbox.image.isIframe ); - - $( lightbox.image.container ).find( '.galleria-videoicon' ).remove(); - - lightbox.image.load( data.big || data.image || data.iframe, function( image ) { - - if ( image.isIframe ) { - - var cw = $(window).width(), - ch = $(window).height(); - - if ( image.video && self._options.maxVideoSize ) { - var r = M.min( self._options.maxVideoSize/cw, self._options.maxVideoSize/ch ); - if ( r < 1 ) { - cw *= r; - ch *= r; - } - } - lightbox.width = cw; - lightbox.height = ch; - - } else { - lightbox.width = image.original.width; - lightbox.height = image.original.height; - } - - $( image.image ).css({ - width: image.isIframe ? '100%' : '100.1%', - height: image.isIframe ? '100%' : '100.1%', - top: 0, - bottom: 0, - zIndex: 99998, - opacity: 0, - visibility: 'visible' - }).parent().height('100%'); - - lightbox.elems.title.innerHTML = data.title || ''; - lightbox.elems.counter.innerHTML = (index + 1) + ' / ' + total; - $win.resize( lightbox.rescale ); - lightbox.rescale(); - - if( data.image && data.iframe ) { - - $( lightbox.elems.box ).addClass('iframe'); - - if ( data.video ) { - var $icon = _playIcon( image.container ).hide(); - window.setTimeout(function() { - $icon.fadeIn(200); - }, 200); - } - - $( image.image ).css( 'cursor', 'pointer' ).mouseup((function(data, image) { - return function(e) { - $( lightbox.image.container ).find( '.galleria-videoicon' ).remove(); - e.preventDefault(); - image.isIframe = true; - image.load( data.iframe + ( data.video ? '&autoplay=1' : '' ), { - width: '100%', - height: IE < 8 ? $( lightbox.image.container ).height() : '100%' - }); - }; - }(data, image))); - } - }); - - $( lightbox.elems.overlay ).show().css( 'visibility', 'visible' ); - $( lightbox.elems.box ).show(); - } - }; - - // the internal timeouts object - // provides helper methods for controlling timeouts - - var _timer = this._timer = { - - trunk: {}, - - add: function( id, fn, delay, loop ) { - id = id || new Date().getTime(); - loop = loop || false; - this.clear( id ); - if ( loop ) { - var old = fn; - fn = function() { - old(); - _timer.add( id, fn, delay ); - }; - } - this.trunk[ id ] = window.setTimeout( fn, delay ); - }, - - clear: function( id ) { - - var del = function( i ) { - window.clearTimeout( this.trunk[ i ] ); - delete this.trunk[ i ]; - }, i; - - if ( !!id && id in this.trunk ) { - del.call( this, id ); - - } else if ( typeof id === 'undefined' ) { - for ( i in this.trunk ) { - if ( this.trunk.hasOwnProperty( i ) ) { - del.call( this, i ); - } - } - } - } - }; - - return this; -}; - -// end Galleria constructor - -Galleria.prototype = { - - // bring back the constructor reference - - constructor: Galleria, - - /** - Use this function to initialize the gallery and start loading. - Should only be called once per instance. - - @param {HTMLElement} target The target element - @param {Object} options The gallery options - - @returns Instance - */ - - init: function( target, options ) { - - options = _legacyOptions( options ); - - // save the original ingredients - this._original = { - target: target, - options: options, - data: null - }; - - // save the target here - this._target = this._dom.target = target.nodeName ? target : $( target ).get(0); - - // save the original content for destruction - this._original.html = this._target.innerHTML; - - // push the instance - _instances.push( this ); - - // raise error if no target is detected - if ( !this._target ) { - Galleria.raise('Target not found', true); - return; - } - - // apply options - this._options = { - autoplay: false, - carousel: true, - carouselFollow: true, // legacy, deprecate at 1.3 - carouselSpeed: 400, - carouselSteps: 'auto', - clicknext: false, - dailymotion: { - foreground: '%23EEEEEE', - highlight: '%235BCEC5', - background: '%23222222', - logo: 0, - hideInfos: 1 - }, - dataConfig : function( elem ) { return {}; }, - dataSelector: 'img', - dataSort: false, - dataSource: this._target, - debug: undef, - dummy: undef, // 1.2.5 - easing: 'galleria', - extend: function(options) {}, - fullscreenCrop: undef, // 1.2.5 - fullscreenDoubleTap: true, // 1.2.4 toggles fullscreen on double-tap for touch devices - fullscreenTransition: undef, // 1.2.6 - height: 0, - idleMode: true, // 1.2.4 toggles idleMode - idleTime: 3000, - idleSpeed: 200, - imageCrop: false, - imageMargin: 0, - imagePan: false, - imagePanSmoothness: 12, - imagePosition: '50%', - imageTimeout: undef, // 1.2.5 - initialTransition: undef, // 1.2.4, replaces transitionInitial - keepSource: false, - layerFollow: true, // 1.2.5 - lightbox: false, // 1.2.3 - lightboxFadeSpeed: 200, - lightboxTransitionSpeed: 200, - linkSourceImages: true, - maxScaleRatio: undef, - maxVideoSize: undef, // 1.2.9 - minScaleRatio: undef, // deprecated in 1.2.9 - overlayOpacity: 0.85, - overlayBackground: '#0b0b0b', - pauseOnInteraction: true, - popupLinks: false, - preload: 2, - queue: true, - responsive: true, - show: 0, - showInfo: true, - showCounter: true, - showImagenav: true, - swipe: 'auto', // 1.2.4 -> revised in 1.3 -> changed type in 1.3.5 - theme: null, - thumbCrop: true, - thumbEventType: 'click:fast', - thumbMargin: 0, - thumbQuality: 'auto', - thumbDisplayOrder: true, // 1.2.8 - thumbPosition: '50%', // 1.3 - thumbnails: true, - touchTransition: undef, // 1.2.6 - transition: 'fade', - transitionInitial: undef, // legacy, deprecate in 1.3. Use initialTransition instead. - transitionSpeed: 400, - trueFullscreen: true, // 1.2.7 - useCanvas: false, // 1.2.4 - variation: '', // 1.3.2 - videoPoster: true, // 1.3 - vimeo: { - title: 0, - byline: 0, - portrait: 0, - color: 'aaaaaa' - }, - wait: 5000, // 1.2.7 - width: 'auto', - youtube: { - modestbranding: 1, - autohide: 1, - color: 'white', - hd: 1, - rel: 0, - showinfo: 0 - } - }; - - // legacy support for transitionInitial - this._options.initialTransition = this._options.initialTransition || this._options.transitionInitial; - - if ( options ) { - - // turn off debug - if ( options.debug === false ) { - DEBUG = false; - } - - // set timeout - if ( typeof options.imageTimeout === 'number' ) { - TIMEOUT = options.imageTimeout; - } - - // set dummy - if ( typeof options.dummy === 'string' ) { - DUMMY = options.dummy; - } - - // set theme - if ( typeof options.theme == 'string' ) { - this._options.theme = options.theme; - } - } - - // hide all content - $( this._target ).children().hide(); - - // Warn for quirks mode - if ( Galleria.QUIRK ) { - Galleria.raise('Your page is in Quirks mode, Galleria may not render correctly. Please validate your HTML and add a correct doctype.'); - } - - // now we just have to wait for the theme... - // first check if it has already loaded - if ( _loadedThemes.length ) { - if ( this._options.theme ) { - for ( var i=0; i<_loadedThemes.length; i++ ) { - if( this._options.theme === _loadedThemes[i].name ) { - this.theme = _loadedThemes[i]; - break; - } - } - } else { - // if no theme sepcified, apply the first loaded theme - this.theme = _loadedThemes[0]; - } - } - - if ( typeof this.theme == 'object' ) { - this._init(); - } else { - // if no theme is loaded yet, push the instance into a pool and run it when the theme is ready - _pool.push( this ); - } - - return this; - }, - - // this method should only be called once per instance - // for manipulation of data, use the .load method - - _init: function() { - - var self = this, - options = this._options; - - if ( this._initialized ) { - Galleria.raise( 'Init failed: Gallery instance already initialized.' ); - return this; - } - - this._initialized = true; - - if ( !this.theme ) { - Galleria.raise( 'Init failed: No theme found.', true ); - return this; - } - - // merge the theme & caller options - $.extend( true, options, this.theme.defaults, this._original.options, Galleria.configure.options ); - - // internally we use boolean for swipe - options.swipe = (function(s) { - - if ( s == 'enforced' ) { return true; } - - // legacy patch - if( s === false || s == 'disabled' ) { return false; } - - return !!Galleria.TOUCH; - - }( options.swipe )); - - // disable options that arent compatible with swipe - if ( options.swipe ) { - options.clicknext = false; - options.imagePan = false; - } - - // check for canvas support - (function( can ) { - if ( !( 'getContext' in can ) ) { - can = null; - return; - } - _canvas = _canvas || { - elem: can, - context: can.getContext( '2d' ), - cache: {}, - length: 0 - }; - }( doc.createElement( 'canvas' ) ) ); - - // bind the gallery to run when data is ready - this.bind( Galleria.DATA, function() { - - // remove big if total pixels are less than 1024 (most phones) - if ( window.screen && window.screen.width && Array.prototype.forEach ) { - - this._data.forEach(function(data) { - - var density = 'devicePixelRatio' in window ? window.devicePixelRatio : 1, - m = M.max( window.screen.width, window.screen.height ); - - if ( m*density < 1024 ) { - data.big = data.image; - } - }); - } - - // save the new data - this._original.data = this._data; - - // lets show the counter here - this.get('total').innerHTML = this.getDataLength(); - - // cache the container - var $container = this.$( 'container' ); - - // set ratio if height is < 2 - if ( self._options.height < 2 ) { - self._userRatio = self._ratio = self._options.height; - } - - // the gallery is ready, let's just wait for the css - var num = { width: 0, height: 0 }; - var testHeight = function() { - return self.$( 'stage' ).height(); - }; - - // check container and thumbnail height - Utils.wait({ - until: function() { - - // keep trying to get the value - num = self._getWH(); - $container.width( num.width ).height( num.height ); - return testHeight() && num.width && num.height > 50; - - }, - success: function() { - - self._width = num.width; - self._height = num.height; - self._ratio = self._ratio || num.height/num.width; - - // for some strange reason, webkit needs a single setTimeout to play ball - if ( Galleria.WEBKIT ) { - window.setTimeout( function() { - self._run(); - }, 1); - } else { - self._run(); - } - }, - error: function() { - - // Height was probably not set, raise hard errors - - if ( testHeight() ) { - Galleria.raise('Could not extract sufficient width/height of the gallery container. Traced measures: width:' + num.width + 'px, height: ' + num.height + 'px.', true); - } else { - Galleria.raise('Could not extract a stage height from the CSS. Traced height: ' + testHeight() + 'px.', true); - } - }, - timeout: typeof this._options.wait == 'number' ? this._options.wait : false - }); - }); - - // build the gallery frame - this.append({ - 'info-text' : - ['info-title', 'info-description'], - 'info' : - ['info-text'], - 'image-nav' : - ['image-nav-right', 'image-nav-left'], - 'stage' : - ['images', 'loader', 'counter', 'image-nav'], - 'thumbnails-list' : - ['thumbnails'], - 'thumbnails-container' : - ['thumb-nav-left', 'thumbnails-list', 'thumb-nav-right'], - 'container' : - ['stage', 'thumbnails-container', 'info', 'tooltip'] - }); - - Utils.hide( this.$( 'counter' ).append( - this.get( 'current' ), - doc.createTextNode(' / '), - this.get( 'total' ) - ) ); - - this.setCounter('–'); - - Utils.hide( self.get('tooltip') ); - - // add a notouch class on the container to prevent unwanted :hovers on touch devices - this.$( 'container' ).addClass([ - ( Galleria.TOUCH ? 'touch' : 'notouch' ), - this._options.variation, - 'galleria-theme-'+this.theme.name - ].join(' ')); - - // add images to the controls - if ( !this._options.swipe ) { - $.each( new Array(2), function( i ) { - - // create a new Picture instance - var image = new Galleria.Picture(); - - // apply some styles, create & prepend overlay - $( image.container ).css({ - position: 'absolute', - top: 0, - left: 0 - }).prepend( self._layers[i] = $( Utils.create('galleria-layer') ).css({ - position: 'absolute', - top:0, left:0, right:0, bottom:0, - zIndex:2 - })[0] ); - - // append the image - self.$( 'images' ).append( image.container ); - - // reload the controls - self._controls[i] = image; - - // build a frame - var frame = new Galleria.Picture(); - frame.isIframe = true; - - $( frame.container ).attr('class', 'galleria-frame').css({ - position: 'absolute', - top: 0, - left: 0, - zIndex: 4, - background: '#000', - display: 'none' - }).appendTo( image.container ); - - self._controls.frames[i] = frame; - - }); - } - - // some forced generic styling - this.$( 'images' ).css({ - position: 'relative', - top: 0, - left: 0, - width: '100%', - height: '100%' - }); - - if ( options.swipe ) { - this.$( 'images' ).css({ - position: 'absolute', - top: 0, - left: 0, - width: 0, - height: '100%' - }); - this.finger = new Galleria.Finger(this.get('stage'), { - onchange: function(page) { - self.pause().show(page); - }, - oncomplete: function(page) { - - var index = M.max( 0, M.min( parseInt( page, 10 ), self.getDataLength() - 1 ) ), - data = self.getData(index); - - $( self._thumbnails[ index ].container ) - .addClass( 'active' ) - .siblings( '.active' ) - .removeClass( 'active' ); - - if ( !data ) { - return; - } - - // remove video iframes - self.$( 'images' ).find( '.galleria-frame' ).css('opacity', 0).hide().find( 'iframe' ).remove(); - - if ( self._options.carousel && self._options.carouselFollow ) { - self._carousel.follow( index ); - } - } - }); - this.bind( Galleria.RESCALE, function() { - this.finger.setup(); - }); - this.$('stage').on('click', function(e) { - var data = self.getData(); - if ( !data ) { - return; - } - if ( data.iframe ) { - - if ( self.isPlaying() ) { - self.pause(); - } - var frame = self._controls.frames[ self._active ], - w = self._stageWidth, - h = self._stageHeight; - - if ( $( frame.container ).find( 'iframe' ).length ) { - return; - } - - $( frame.container ).css({ - width: w, - height: h, - opacity: 0 - }).show().animate({ - opacity: 1 - }, 200); - - window.setTimeout(function() { - frame.load( data.iframe + ( data.video ? '&autoplay=1' : '' ), { - width: w, - height: h - }, function( frame ) { - self.$( 'container' ).addClass( 'videoplay' ); - frame.scale({ - width: self._stageWidth, - height: self._stageHeight, - iframelimit: data.video ? self._options.maxVideoSize : undef - }); - }); - }, 100); - - return; - } - - if ( data.link ) { - if ( self._options.popupLinks ) { - var win = window.open( data.link, '_blank' ); - } else { - window.location.href = data.link; - } - return; - } - }); - this.bind( Galleria.IMAGE, function(e) { - - self.setCounter( e.index ); - self.setInfo( e.index ); - - var next = this.getNext(), - prev = this.getPrev(); - - var preloads = [prev,next]; - preloads.push(this.getNext(next), this.getPrev(prev), self._controls.slides.length-1); - - var filtered = []; - - $.each(preloads, function(i, val) { - if ( $.inArray(val, filtered) == -1 ) { - filtered.push(val); - } - }); - - $.each(filtered, function(i, loadme) { - var d = self.getData(loadme), - img = self._controls.slides[loadme], - src = self.isFullscreen() && d.big ? d.big : ( d.image || d.iframe ); - - if ( d.iframe && !d.image ) { - img.isIframe = true; - } - - if ( !img.ready ) { - self._controls.slides[loadme].load(src, function(img) { - if ( !img.isIframe ) { - $(img.image).css('visibility', 'hidden'); - } - self._scaleImage(img, { - complete: function(img) { - if ( !img.isIframe ) { - $(img.image).css({ - opacity: 0, - visibility: 'visible' - }).animate({ - opacity: 1 - }, 200); - } - } - }); - }); - } - }); - }); - } - - this.$( 'thumbnails, thumbnails-list' ).css({ - overflow: 'hidden', - position: 'relative' - }); - - // bind image navigation arrows - this.$( 'image-nav-right, image-nav-left' ).on( 'click:fast', function(e) { - - // pause if options is set - if ( options.pauseOnInteraction ) { - self.pause(); - } - - // navigate - var fn = /right/.test( this.className ) ? 'next' : 'prev'; - self[ fn ](); - - }).on('click', function(e) { - - e.preventDefault(); - - // tune the clicknext option - if ( options.clicknext || options.swipe ) { - e.stopPropagation(); - } - }); - - // hide controls if chosen to - $.each( ['info','counter','image-nav'], function( i, el ) { - if ( options[ 'show' + el.substr(0,1).toUpperCase() + el.substr(1).replace(/-/,'') ] === false ) { - Utils.moveOut( self.get( el.toLowerCase() ) ); - } - }); - - // load up target content - this.load(); - - // now it's usually safe to remove the content - // IE will never stop loading if we remove it, so let's keep it hidden for IE (it's usually fast enough anyway) - if ( !options.keepSource && !IE ) { - this._target.innerHTML = ''; - } - - // re-append the errors, if they happened before clearing - if ( this.get( 'errors' ) ) { - this.appendChild( 'target', 'errors' ); - } - - // append the gallery frame - this.appendChild( 'target', 'container' ); - - // parse the carousel on each thumb load - if ( options.carousel ) { - var count = 0, - show = options.show; - this.bind( Galleria.THUMBNAIL, function() { - this.updateCarousel(); - if ( ++count == this.getDataLength() && typeof show == 'number' && show > 0 ) { - this._carousel.follow( show ); - } - }); - } - - // bind window resize for responsiveness - if ( options.responsive ) { - $win.on( 'resize', function() { - if ( !self.isFullscreen() ) { - self.resize(); - } - }); - } - - // double-tap/click fullscreen toggle - - if ( options.fullscreenDoubleTap ) { - - this.$( 'stage' ).on( 'touchstart', (function() { - var last, cx, cy, lx, ly, now, - getData = function(e) { - return e.originalEvent.touches ? e.originalEvent.touches[0] : e; - }; - self.$( 'stage' ).on('touchmove', function() { - last = 0; - }); - return function(e) { - if( /(-left|-right)/.test(e.target.className) ) { - return; - } - now = Utils.timestamp(); - cx = getData(e).pageX; - cy = getData(e).pageY; - if ( e.originalEvent.touches.length < 2 && ( now - last < 300 ) && ( cx - lx < 20) && ( cy - ly < 20) ) { - self.toggleFullscreen(); - e.preventDefault(); - return; - } - last = now; - lx = cx; - ly = cy; - }; - }())); - } - - // bind the ons - $.each( Galleria.on.binds, function(i, bind) { - // check if already bound - if ( $.inArray( bind.hash, self._binds ) == -1 ) { - self.bind( bind.type, bind.callback ); - } - }); - - return this; - }, - - addTimer : function() { - this._timer.add.apply( this._timer, Utils.array( arguments ) ); - return this; - }, - - clearTimer : function() { - this._timer.clear.apply( this._timer, Utils.array( arguments ) ); - return this; - }, - - // parse width & height from CSS or options - - _getWH : function() { - - var $container = this.$( 'container' ), - $target = this.$( 'target' ), - self = this, - num = {}, - arr; - - $.each(['width', 'height'], function( i, m ) { - - // first check if options is set - if ( self._options[ m ] && typeof self._options[ m ] === 'number') { - num[ m ] = self._options[ m ]; - } else { - - arr = [ - Utils.parseValue( $container.css( m ) ), // the container css height - Utils.parseValue( $target.css( m ) ), // the target css height - $container[ m ](), // the container jQuery method - $target[ m ]() // the target jQuery method - ]; - - // if first time, include the min-width & min-height - if ( !self[ '_'+m ] ) { - arr.splice(arr.length, - Utils.parseValue( $container.css( 'min-'+m ) ), - Utils.parseValue( $target.css( 'min-'+m ) ) - ); - } - - // else extract the measures from different sources and grab the highest value - num[ m ] = M.max.apply( M, arr ); - } - }); - - // allow setting a height ratio instead of exact value - // useful when doing responsive galleries - - if ( self._userRatio ) { - num.height = num.width * self._userRatio; - } - - return num; - }, - - // Creates the thumbnails and carousel - // can be used at any time, f.ex when the data object is manipulated - // push is an optional argument with pushed images - - _createThumbnails : function( push ) { - - this.get( 'total' ).innerHTML = this.getDataLength(); - - var src, - thumb, - data, - - $container, - - self = this, - o = this._options, - - i = push ? this._data.length - push.length : 0, - chunk = i, - - thumbchunk = [], - loadindex = 0, - - gif = IE < 8 ? 'http://upload.wikimedia.org/wikipedia/commons/c/c0/Blank.gif' : - 'data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw%3D%3D', - - // get previously active thumbnail, if exists - active = (function() { - var a = self.$('thumbnails').find('.active'); - if ( !a.length ) { - return false; - } - return a.find('img').attr('src'); - }()), - - // cache the thumbnail option - optval = typeof o.thumbnails === 'string' ? o.thumbnails.toLowerCase() : null, - - // move some data into the instance - // for some reason, jQuery cant handle css(property) when zooming in FF, breaking the gallery - // so we resort to getComputedStyle for browsers who support it - getStyle = function( prop ) { - return doc.defaultView && doc.defaultView.getComputedStyle ? - doc.defaultView.getComputedStyle( thumb.container, null )[ prop ] : - $container.css( prop ); - }, - - fake = function(image, index, container) { - return function() { - $( container ).append( image ); - self.trigger({ - type: Galleria.THUMBNAIL, - thumbTarget: image, - index: index, - galleriaData: self.getData( index ) - }); - }; - }, - - onThumbEvent = function( e ) { - - // pause if option is set - if ( o.pauseOnInteraction ) { - self.pause(); - } - - // extract the index from the data - var index = $( e.currentTarget ).data( 'index' ); - if ( self.getIndex() !== index ) { - self.show( index ); - } - - e.preventDefault(); - }, - - thumbComplete = function( thumb, callback ) { - - $( thumb.container ).css( 'visibility', 'visible' ); - self.trigger({ - type: Galleria.THUMBNAIL, - thumbTarget: thumb.image, - index: thumb.data.order, - galleriaData: self.getData( thumb.data.order ) - }); - - if ( typeof callback == 'function' ) { - callback.call( self, thumb ); - } - }, - - onThumbLoad = function( thumb, callback ) { - - // scale when ready - thumb.scale({ - width: thumb.data.width, - height: thumb.data.height, - crop: o.thumbCrop, - margin: o.thumbMargin, - canvas: o.useCanvas, - position: o.thumbPosition, - complete: function( thumb ) { - - // shrink thumbnails to fit - var top = ['left', 'top'], - arr = ['Width', 'Height'], - m, - css, - data = self.getData( thumb.index ); - - // calculate shrinked positions - $.each(arr, function( i, measure ) { - m = measure.toLowerCase(); - if ( (o.thumbCrop !== true || o.thumbCrop === m ) ) { - css = {}; - css[ m ] = thumb[ m ]; - $( thumb.container ).css( css ); - css = {}; - css[ top[ i ] ] = 0; - $( thumb.image ).css( css ); - } - - // cache outer measures - thumb[ 'outer' + measure ] = $( thumb.container )[ 'outer' + measure ]( true ); - }); - - // set high quality if downscale is moderate - Utils.toggleQuality( thumb.image, - o.thumbQuality === true || - ( o.thumbQuality === 'auto' && thumb.original.width < thumb.width * 3 ) - ); - - if ( o.thumbDisplayOrder && !thumb.lazy ) { - - $.each( thumbchunk, function( i, th ) { - if ( i === loadindex && th.ready && !th.displayed ) { - - loadindex++; - th.displayed = true; - - thumbComplete( th, callback ); - - return; - } - }); - } else { - thumbComplete( thumb, callback ); - } - } - }); - }; - - if ( !push ) { - this._thumbnails = []; - this.$( 'thumbnails' ).empty(); - } - - // loop through data and create thumbnails - for( ; this._data[ i ]; i++ ) { - - data = this._data[ i ]; - - // get source from thumb or image - src = data.thumb || data.image; - - if ( ( o.thumbnails === true || optval == 'lazy' ) && ( data.thumb || data.image ) ) { - - // add a new Picture instance - thumb = new Galleria.Picture(i); - - // save the index - thumb.index = i; - - // flag displayed - thumb.displayed = false; - - // flag lazy - thumb.lazy = false; - - // flag video - thumb.video = false; - - // append the thumbnail - this.$( 'thumbnails' ).append( thumb.container ); - - // cache the container - $container = $( thumb.container ); - - // hide it - $container.css( 'visibility', 'hidden' ); - - thumb.data = { - width : Utils.parseValue( getStyle( 'width' ) ), - height : Utils.parseValue( getStyle( 'height' ) ), - order : i, - src : src - }; - - // grab & reset size for smoother thumbnail loads - if ( o.thumbCrop !== true ) { - $container.css( { width: 'auto', height: 'auto' } ); - } else { - $container.css( { width: thumb.data.width, height: thumb.data.height } ); - } - - // load the thumbnail - if ( optval == 'lazy' ) { - - $container.addClass( 'lazy' ); - - thumb.lazy = true; - - thumb.load( gif, { - height: thumb.data.height, - width: thumb.data.width - }); - - } else { - thumb.load( src, onThumbLoad ); - } - - // preload all images here - if ( o.preload === 'all' ) { - thumb.preload( data.image ); - } - - // create empty spans if thumbnails is set to 'empty' - } else if ( ( data.iframe && optval !== null ) || optval === 'empty' || optval === 'numbers' ) { - thumb = { - container: Utils.create( 'galleria-image' ), - image: Utils.create( 'img', 'span' ), - ready: true, - data: { - order: i - } - }; - - // create numbered thumbnails - if ( optval === 'numbers' ) { - $( thumb.image ).text( i + 1 ); - } - - if ( data.iframe ) { - $( thumb.image ).addClass( 'iframe' ); - } - - this.$( 'thumbnails' ).append( thumb.container ); - - // we need to "fake" a loading delay before we append and trigger - // 50+ should be enough - - window.setTimeout( ( fake )( thumb.image, i, thumb.container ), 50 + ( i*20 ) ); - - // create null object to silent errors - } else { - thumb = { - container: null, - image: null - }; - } - - // add events for thumbnails - // you can control the event type using thumb_event_type - // we'll add the same event to the source if it's kept - - $( thumb.container ).add( o.keepSource && o.linkSourceImages ? data.original : null ) - .data('index', i).on( o.thumbEventType, onThumbEvent ) - .data('thumbload', onThumbLoad); - - if (active === src) { - $( thumb.container ).addClass( 'active' ); - } - - this._thumbnails.push( thumb ); - } - - thumbchunk = this._thumbnails.slice( chunk ); - - return this; - }, - - /** - Lazy-loads thumbnails. - You can call this method to load lazy thumbnails at run time - - @param {Array|Number} index Index or array of indexes of thumbnails to be loaded - @param {Function} complete Callback that is called when all lazy thumbnails have been loaded - - @returns Instance - */ - - lazyLoad: function( index, complete ) { - - var arr = index.constructor == Array ? index : [ index ], - self = this, - loaded = 0; - - $.each( arr, function(i, ind) { - - if ( ind > self._thumbnails.length - 1 ) { - return; - } - - var thumb = self._thumbnails[ ind ], - data = thumb.data, - callback = function() { - if ( ++loaded == arr.length && typeof complete == 'function' ) { - complete.call( self ); - } - }, - thumbload = $( thumb.container ).data( 'thumbload' ); - if (thumbload) { - if ( thumb.video ) { - thumbload.call( self, thumb, callback ); - } else { - thumb.load( data.src , function( thumb ) { - thumbload.call( self, thumb, callback ); - }); - } - } - }); - - return this; - - }, - - /** - Lazy-loads thumbnails in chunks. - This method automatcally chops up the loading process of many thumbnails into chunks - - @param {Number} size Size of each chunk to be loaded - @param {Number} [delay] Delay between each loads - - @returns Instance - */ - - lazyLoadChunks: function( size, delay ) { - - var len = this.getDataLength(), - i = 0, - n = 0, - arr = [], - temp = [], - self = this; - - delay = delay || 0; - - for( ; i<len; i++ ) { - temp.push(i); - if ( ++n == size || i == len-1 ) { - arr.push( temp ); - n = 0; - temp = []; - } - } - - var init = function( wait ) { - var a = arr.shift(); - if ( a ) { - window.setTimeout(function() { - self.lazyLoad(a, function() { - init( true ); - }); - }, ( delay && wait ) ? delay : 0 ); - } - }; - - init( false ); - - return this; - - }, - - // the internal _run method should be called after loading data into galleria - // makes sure the gallery has proper measurements before postrun & ready - _run : function() { - - var self = this; - - self._createThumbnails(); - - // make sure we have a stageHeight && stageWidth - - Utils.wait({ - - timeout: 10000, - - until: function() { - - // Opera crap - if ( Galleria.OPERA ) { - self.$( 'stage' ).css( 'display', 'inline-block' ); - } - - self._stageWidth = self.$( 'stage' ).width(); - self._stageHeight = self.$( 'stage' ).height(); - - return( self._stageWidth && - self._stageHeight > 50 ); // what is an acceptable height? - }, - - success: function() { - - // save the instance - _galleries.push( self ); - - // postrun some stuff after the gallery is ready - - // create the touch slider - if ( self._options.swipe ) { - - var $images = self.$( 'images' ).width( self.getDataLength() * self._stageWidth ); - $.each( new Array( self.getDataLength() ), function(i) { - - var image = new Galleria.Picture(), - data = self.getData(i); - - $( image.container ).css({ - position: 'absolute', - top: 0, - left: self._stageWidth*i - }).prepend( self._layers[i] = $( Utils.create('galleria-layer') ).css({ - position: 'absolute', - top:0, left:0, right:0, bottom:0, - zIndex:2 - })[0] ).appendTo( $images ); - - if( data.video ) { - _playIcon( image.container ); - } - - self._controls.slides.push(image); - - var frame = new Galleria.Picture(); - frame.isIframe = true; - - $( frame.container ).attr('class', 'galleria-frame').css({ - position: 'absolute', - top: 0, - left: 0, - zIndex: 4, - background: '#000', - display: 'none' - }).appendTo( image.container ); - - self._controls.frames.push(frame); - }); - - self.finger.setup(); - } - - // show counter - Utils.show( self.get('counter') ); - - // bind carousel nav - if ( self._options.carousel ) { - self._carousel.bindControls(); - } - - // start autoplay - if ( self._options.autoplay ) { - - self.pause(); - - if ( typeof self._options.autoplay === 'number' ) { - self._playtime = self._options.autoplay; - } - - self._playing = true; - } - // if second load, just do the show and return - if ( self._firstrun ) { - - if ( self._options.autoplay ) { - self.trigger( Galleria.PLAY ); - } - - if ( typeof self._options.show === 'number' ) { - self.show( self._options.show ); - } - return; - } - - self._firstrun = true; - - // initialize the History plugin - if ( Galleria.History ) { - - // bind the show method - Galleria.History.change(function( value ) { - - // if ID is NaN, the user pressed back from the first image - // return to previous address - if ( isNaN( value ) ) { - window.history.go(-1); - - // else show the image - } else { - self.show( value, undef, true ); - } - }); - } - - self.trigger( Galleria.READY ); - - // call the theme init method - self.theme.init.call( self, self._options ); - - // Trigger Galleria.ready - $.each( Galleria.ready.callbacks, function(i ,fn) { - if ( typeof fn == 'function' ) { - fn.call( self, self._options ); - } - }); - - // call the extend option - self._options.extend.call( self, self._options ); - - // show the initial image - // first test for permalinks in history - if ( /^[0-9]{1,4}$/.test( HASH ) && Galleria.History ) { - self.show( HASH, undef, true ); - - } else if( self._data[ self._options.show ] ) { - self.show( self._options.show ); - } - - // play trigger - if ( self._options.autoplay ) { - self.trigger( Galleria.PLAY ); - } - }, - - error: function() { - Galleria.raise('Stage width or height is too small to show the gallery. Traced measures: width:' + self._stageWidth + 'px, height: ' + self._stageHeight + 'px.', true); - } - - }); - }, - - /** - Loads data into the gallery. - You can call this method on an existing gallery to reload the gallery with new data. - - @param {Array|string} [source] Optional JSON array of data or selector of where to find data in the document. - Defaults to the Galleria target or dataSource option. - - @param {string} [selector] Optional element selector of what elements to parse. - Defaults to 'img'. - - @param {Function} [config] Optional function to modify the data extraction proceedure from the selector. - See the dataConfig option for more information. - - @returns Instance - */ - - load : function( source, selector, config ) { - - var self = this, - o = this._options; - - // empty the data array - this._data = []; - - // empty the thumbnails - this._thumbnails = []; - this.$('thumbnails').empty(); - - // shorten the arguments - if ( typeof selector === 'function' ) { - config = selector; - selector = null; - } - - // use the source set by target - source = source || o.dataSource; - - // use selector set by option - selector = selector || o.dataSelector; - - // use the dataConfig set by option - config = config || o.dataConfig; - - // if source is a true object, make it into an array - if( $.isPlainObject( source ) ) { - source = [source]; - } - - // check if the data is an array already - if ( $.isArray( source ) ) { - if ( this.validate( source ) ) { - this._data = source; - } else { - Galleria.raise( 'Load failed: JSON Array not valid.' ); - } - } else { - - // add .video and .iframe to the selector (1.2.7) - selector += ',.video,.iframe'; - - // loop through images and set data - $( source ).find( selector ).each( function( i, elem ) { - - elem = $( elem ); - var data = {}, - parent = elem.parent(), - href = parent.attr( 'href' ), - rel = parent.attr( 'rel' ); - - if( href && ( elem[0].nodeName == 'IMG' || elem.hasClass('video') ) && _videoTest( href ) ) { - data.video = href; - } else if( href && elem.hasClass('iframe') ) { - data.iframe = href; - } else { - data.image = data.big = href; - } - - if ( rel ) { - data.big = rel; - } - - // alternative extraction from HTML5 data attribute, added in 1.2.7 - $.each( 'big title description link layer image'.split(' '), function( i, val ) { - if ( elem.data(val) ) { - data[ val ] = elem.data(val).toString(); - } - }); - - if ( !data.big ) { - data.big = data.image; - } - - // mix default extractions with the hrefs and config - // and push it into the data array - self._data.push( $.extend({ - - title: elem.attr('title') || '', - thumb: elem.attr('src'), - image: elem.attr('src'), - big: elem.attr('src'), - description: elem.attr('alt') || '', - link: elem.attr('longdesc'), - original: elem.get(0) // saved as a reference - - }, data, config( elem ) ) ); - - }); - } - - if ( typeof o.dataSort == 'function' ) { - protoArray.sort.call( this._data, o.dataSort ); - } else if ( o.dataSort == 'random' ) { - this._data.sort( function() { - return M.round(M.random())-0.5; - }); - } - - // trigger the DATA event and return - if ( this.getDataLength() ) { - this._parseData( function() { - this.trigger( Galleria.DATA ); - } ); - } - return this; - - }, - - // make sure the data works properly - _parseData : function( callback ) { - - var self = this, - current, - ready = false, - onload = function() { - var complete = true; - $.each( self._data, function( i, data ) { - if ( data.loading ) { - complete = false; - return false; - } - }); - if ( complete && !ready ) { - ready = true; - callback.call( self ); - } - }; - - $.each( this._data, function( i, data ) { - - current = self._data[ i ]; - - // copy image as thumb if no thumb exists - if ( 'thumb' in data === false ) { - current.thumb = data.image; - } - // copy image as big image if no biggie exists - if ( !data.big ) { - current.big = data.image; - } - // parse video - if ( 'video' in data ) { - var result = _videoTest( data.video ); - - if ( result ) { - current.iframe = new Video(result.provider, result.id ).embed() + (function() { - - // add options - if ( typeof self._options[ result.provider ] == 'object' ) { - var str = '?', arr = []; - $.each( self._options[ result.provider ], function( key, val ) { - arr.push( key + '=' + val ); - }); - - // small youtube specifics, perhaps move to _video later - if ( result.provider == 'youtube' ) { - arr = ['wmode=opaque'].concat(arr); - } - return str + arr.join('&'); - } - return ''; - }()); - - // pre-fetch video providers media - - if( !current.thumb || !current.image ) { - $.each( ['thumb', 'image'], function( i, type ) { - if ( type == 'image' && !self._options.videoPoster ) { - current.image = undef; - return; - } - var video = new Video( result.provider, result.id ); - if ( !current[ type ] ) { - current.loading = true; - video.getMedia( type, (function(current, type) { - return function(src) { - current[ type ] = src; - if ( type == 'image' && !current.big ) { - current.big = current.image; - } - delete current.loading; - onload(); - }; - }( current, type ))); - } - }); - } - } - } - }); - - onload(); - - return this; - }, - - /** - Destroy the Galleria instance and recover the original content - - @example this.destroy(); - - @returns Instance - */ - - destroy : function() { - this.$( 'target' ).data( 'galleria', null ); - this.$( 'container' ).off( 'galleria' ); - this.get( 'target' ).innerHTML = this._original.html; - this.clearTimer(); - Utils.removeFromArray( _instances, this ); - Utils.removeFromArray( _galleries, this ); - if ( Galleria._waiters !== undefined && Galleria._waiters.length ) { - $.each( Galleria._waiters, function( i, w ) { - if ( w ) window.clearTimeout( w ); - }); - } - return this; - }, - - /** - Adds and/or removes images from the gallery - Works just like Array.splice - https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice - - @example this.splice( 2, 4 ); // removes 4 images after the second image - - @returns Instance - */ - - splice : function() { - var self = this, - args = Utils.array( arguments ); - window.setTimeout(function() { - protoArray.splice.apply( self._data, args ); - self._parseData( function() { - self._createThumbnails(); - }); - },2); - return self; - }, - - /** - Append images to the gallery - Works just like Array.push - https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/push - - @example this.push({ image: 'image1.jpg' }); // appends the image to the gallery - - @returns Instance - */ - - push : function() { - var self = this, - args = Utils.array( arguments ); - - if ( args.length == 1 && args[0].constructor == Array ) { - args = args[0]; - } - - window.setTimeout(function() { - protoArray.push.apply( self._data, args ); - self._parseData( function() { - self._createThumbnails( args ); - }); - }, 2); - return self; - }, - - _getActive : function() { - return this._controls.getActive(); - }, - - validate : function( data ) { - // todo: validate a custom data array - return true; - }, - - /** - Bind any event to Galleria - - @param {string} type The Event type to listen for - @param {Function} fn The function to execute when the event is triggered - - @example this.bind( 'image', function() { Galleria.log('image shown') }); - - @returns Instance - */ - - bind : function(type, fn) { - - // allow 'image' instead of Galleria.IMAGE - type = _patchEvent( type ); - - this.$( 'container' ).on( type, this.proxy(fn) ); - return this; - }, - - /** - Unbind any event to Galleria - - @param {string} type The Event type to forget - - @returns Instance - */ - - unbind : function(type) { - - type = _patchEvent( type ); - - this.$( 'container' ).off( type ); - return this; - }, - - /** - Manually trigger a Galleria event - - @param {string} type The Event to trigger - - @returns Instance - */ - - trigger : function( type ) { - - type = typeof type === 'object' ? - $.extend( type, { scope: this } ) : - { type: _patchEvent( type ), scope: this }; - - this.$( 'container' ).trigger( type ); - - return this; - }, - - /** - Assign an "idle state" to any element. - The idle state will be applied after a certain amount of idle time - Useful to hide f.ex navigation when the gallery is inactive - - @param {HTMLElement|string} elem The Dom node or selector to apply the idle state to - @param {Object} styles the CSS styles to apply when in idle mode - @param {Object} [from] the CSS styles to apply when in normal - @param {Boolean} [hide] set to true if you want to hide it first - - @example addIdleState( this.get('image-nav'), { opacity: 0 }); - @example addIdleState( '.galleria-image-nav', { top: -200 }, true); - - @returns Instance - */ - - addIdleState: function( elem, styles, from, hide ) { - this._idle.add.apply( this._idle, Utils.array( arguments ) ); - return this; - }, - - /** - Removes any idle state previously set using addIdleState() - - @param {HTMLElement|string} elem The Dom node or selector to remove the idle state from. - - @returns Instance - */ - - removeIdleState: function( elem ) { - this._idle.remove.apply( this._idle, Utils.array( arguments ) ); - return this; - }, - - /** - Force Galleria to enter idle mode. - - @returns Instance - */ - - enterIdleMode: function() { - this._idle.hide(); - return this; - }, - - /** - Force Galleria to exit idle mode. - - @returns Instance - */ - - exitIdleMode: function() { - this._idle.showAll(); - return this; - }, - - /** - Enter FullScreen mode - - @param {Function} callback the function to be executed when the fullscreen mode is fully applied. - - @returns Instance - */ - - enterFullscreen: function( callback ) { - this._fullscreen.enter.apply( this, Utils.array( arguments ) ); - return this; - }, - - /** - Exits FullScreen mode - - @param {Function} callback the function to be executed when the fullscreen mode is fully applied. - - @returns Instance - */ - - exitFullscreen: function( callback ) { - this._fullscreen.exit.apply( this, Utils.array( arguments ) ); - return this; - }, - - /** - Toggle FullScreen mode - - @param {Function} callback the function to be executed when the fullscreen mode is fully applied or removed. - - @returns Instance - */ - - toggleFullscreen: function( callback ) { - this._fullscreen[ this.isFullscreen() ? 'exit' : 'enter'].apply( this, Utils.array( arguments ) ); - return this; - }, - - /** - Adds a tooltip to any element. - You can also call this method with an object as argument with elemID:value pairs to apply tooltips to (see examples) - - @param {HTMLElement} elem The DOM Node to attach the event to - @param {string|Function} value The tooltip message. Can also be a function that returns a string. - - @example this.bindTooltip( this.get('thumbnails'), 'My thumbnails'); - @example this.bindTooltip( this.get('thumbnails'), function() { return 'My thumbs' }); - @example this.bindTooltip( { image_nav: 'Navigation' }); - - @returns Instance - */ - - bindTooltip: function( elem, value ) { - this._tooltip.bind.apply( this._tooltip, Utils.array(arguments) ); - return this; - }, - - /** - Note: this method is deprecated. Use refreshTooltip() instead. - - Redefine a tooltip. - Use this if you want to re-apply a tooltip value to an already bound tooltip element. - - @param {HTMLElement} elem The DOM Node to attach the event to - @param {string|Function} value The tooltip message. Can also be a function that returns a string. - - @returns Instance - */ - - defineTooltip: function( elem, value ) { - this._tooltip.define.apply( this._tooltip, Utils.array(arguments) ); - return this; - }, - - /** - Refresh a tooltip value. - Use this if you want to change the tooltip value at runtime, f.ex if you have a play/pause toggle. - - @param {HTMLElement} elem The DOM Node that has a tooltip that should be refreshed - - @returns Instance - */ - - refreshTooltip: function( elem ) { - this._tooltip.show.apply( this._tooltip, Utils.array(arguments) ); - return this; - }, - - /** - Open a pre-designed lightbox with the currently active image. - You can control some visuals using gallery options. - - @returns Instance - */ - - openLightbox: function() { - this._lightbox.show.apply( this._lightbox, Utils.array( arguments ) ); - return this; - }, - - /** - Close the lightbox. - - @returns Instance - */ - - closeLightbox: function() { - this._lightbox.hide.apply( this._lightbox, Utils.array( arguments ) ); - return this; - }, - - /** - Check if a variation exists - - @returns {Boolean} If the variation has been applied - */ - - hasVariation: function( variation ) { - return $.inArray( variation, this._options.variation.split(/\s+/) ) > -1; - }, - - /** - Get the currently active image element. - - @returns {HTMLElement} The image element - */ - - getActiveImage: function() { - var active = this._getActive(); - return active ? active.image : undef; - }, - - /** - Get the currently active thumbnail element. - - @returns {HTMLElement} The thumbnail element - */ - - getActiveThumb: function() { - return this._thumbnails[ this._active ].image || undef; - }, - - /** - Get the mouse position relative to the gallery container - - @param e The mouse event - - @example - -var gallery = this; -$(document).mousemove(function(e) { - console.log( gallery.getMousePosition(e).x ); -}); - - @returns {Object} Object with x & y of the relative mouse postion - */ - - getMousePosition : function(e) { - return { - x: e.pageX - this.$( 'container' ).offset().left, - y: e.pageY - this.$( 'container' ).offset().top - }; - }, - - /** - Adds a panning effect to the image - - @param [img] The optional image element. If not specified it takes the currently active image - - @returns Instance - */ - - addPan : function( img ) { - - if ( this._options.imageCrop === false ) { - return; - } - - img = $( img || this.getActiveImage() ); - - // define some variables and methods - var self = this, - x = img.width() / 2, - y = img.height() / 2, - destX = parseInt( img.css( 'left' ), 10 ), - destY = parseInt( img.css( 'top' ), 10 ), - curX = destX || 0, - curY = destY || 0, - distX = 0, - distY = 0, - active = false, - ts = Utils.timestamp(), - cache = 0, - move = 0, - - // positions the image - position = function( dist, cur, pos ) { - if ( dist > 0 ) { - move = M.round( M.max( dist * -1, M.min( 0, cur ) ) ); - if ( cache !== move ) { - - cache = move; - - if ( IE === 8 ) { // scroll is faster for IE - img.parent()[ 'scroll' + pos ]( move * -1 ); - } else { - var css = {}; - css[ pos.toLowerCase() ] = move; - img.css(css); - } - } - } - }, - - // calculates mouse position after 50ms - calculate = function(e) { - if (Utils.timestamp() - ts < 50) { - return; - } - active = true; - x = self.getMousePosition(e).x; - y = self.getMousePosition(e).y; - }, - - // the main loop to check - loop = function(e) { - - if (!active) { - return; - } - - distX = img.width() - self._stageWidth; - distY = img.height() - self._stageHeight; - destX = x / self._stageWidth * distX * -1; - destY = y / self._stageHeight * distY * -1; - curX += ( destX - curX ) / self._options.imagePanSmoothness; - curY += ( destY - curY ) / self._options.imagePanSmoothness; - - position( distY, curY, 'Top' ); - position( distX, curX, 'Left' ); - - }; - - // we need to use scroll in IE8 to speed things up - if ( IE === 8 ) { - - img.parent().scrollTop( curY * -1 ).scrollLeft( curX * -1 ); - img.css({ - top: 0, - left: 0 - }); - - } - - // unbind and bind event - this.$( 'stage' ).off( 'mousemove', calculate ).on( 'mousemove', calculate ); - - // loop the loop - this.addTimer( 'pan' + self._id, loop, 50, true); - - return this; - }, - - /** - Brings the scope into any callback - - @param fn The callback to bring the scope into - @param [scope] Optional scope to bring - - @example $('#fullscreen').click( this.proxy(function() { this.enterFullscreen(); }) ) - - @returns {Function} Return the callback with the gallery scope - */ - - proxy : function( fn, scope ) { - if ( typeof fn !== 'function' ) { - return F; - } - scope = scope || this; - return function() { - return fn.apply( scope, Utils.array( arguments ) ); - }; - }, - - /** - Tells you the theme name of the gallery - - @returns {String} theme name - */ - - getThemeName : function() { - return this.theme.name; - }, - - /** - Removes the panning effect set by addPan() - - @returns Instance - */ - - removePan: function() { - - // todo: doublecheck IE8 - - this.$( 'stage' ).off( 'mousemove' ); - - this.clearTimer( 'pan' + this._id ); - - return this; - }, - - /** - Adds an element to the Galleria DOM array. - When you add an element here, you can access it using element ID in many API calls - - @param {string} id The element ID you wish to use. You can add many elements by adding more arguments. - - @example addElement('mybutton'); - @example addElement('mybutton','mylink'); - - @returns Instance - */ - - addElement : function( id ) { - - var dom = this._dom; - - $.each( Utils.array(arguments), function( i, blueprint ) { - dom[ blueprint ] = Utils.create( 'galleria-' + blueprint ); - }); - - return this; - }, - - /** - Attach keyboard events to Galleria - - @param {Object} map The map object of events. - Possible keys are 'UP', 'DOWN', 'LEFT', 'RIGHT', 'RETURN', 'ESCAPE', 'BACKSPACE', and 'SPACE'. - - @example - -this.attachKeyboard({ - right: this.next, - left: this.prev, - up: function() { - console.log( 'up key pressed' ) - } -}); - - @returns Instance - */ - - attachKeyboard : function( map ) { - this._keyboard.attach.apply( this._keyboard, Utils.array( arguments ) ); - return this; - }, - - /** - Detach all keyboard events to Galleria - - @returns Instance - */ - - detachKeyboard : function() { - this._keyboard.detach.apply( this._keyboard, Utils.array( arguments ) ); - return this; - }, - - /** - Fast helper for appending galleria elements that you added using addElement() - - @param {string} parentID The parent element ID where the element will be appended - @param {string} childID the element ID that should be appended - - @example this.addElement('myElement'); - this.appendChild( 'info', 'myElement' ); - - @returns Instance - */ - - appendChild : function( parentID, childID ) { - this.$( parentID ).append( this.get( childID ) || childID ); - return this; - }, - - /** - Fast helper for prepending galleria elements that you added using addElement() - - @param {string} parentID The parent element ID where the element will be prepended - @param {string} childID the element ID that should be prepended - - @example - -this.addElement('myElement'); -this.prependChild( 'info', 'myElement' ); - - @returns Instance - */ - - prependChild : function( parentID, childID ) { - this.$( parentID ).prepend( this.get( childID ) || childID ); - return this; - }, - - /** - Remove an element by blueprint - - @param {string} elemID The element to be removed. - You can remove multiple elements by adding arguments. - - @returns Instance - */ - - remove : function( elemID ) { - this.$( Utils.array( arguments ).join(',') ).remove(); - return this; - }, - - // a fast helper for building dom structures - // leave this out of the API for now - - append : function( data ) { - var i, j; - for( i in data ) { - if ( data.hasOwnProperty( i ) ) { - if ( data[i].constructor === Array ) { - for( j = 0; data[i][j]; j++ ) { - this.appendChild( i, data[i][j] ); - } - } else { - this.appendChild( i, data[i] ); - } - } - } - return this; - }, - - // an internal helper for scaling according to options - _scaleImage : function( image, options ) { - - image = image || this._controls.getActive(); - - // janpub (JH) fix: - // image might be unselected yet - // e.g. when external logics rescales the gallery on window resize events - if( !image ) { - return; - } - - var complete, - - scaleLayer = function( img ) { - $( img.container ).children(':first').css({ - top: M.max(0, Utils.parseValue( img.image.style.top )), - left: M.max(0, Utils.parseValue( img.image.style.left )), - width: Utils.parseValue( img.image.width ), - height: Utils.parseValue( img.image.height ) - }); - }; - - options = $.extend({ - width: this._stageWidth, - height: this._stageHeight, - crop: this._options.imageCrop, - max: this._options.maxScaleRatio, - min: this._options.minScaleRatio, - margin: this._options.imageMargin, - position: this._options.imagePosition, - iframelimit: this._options.maxVideoSize - }, options ); - - if ( this._options.layerFollow && this._options.imageCrop !== true ) { - - if ( typeof options.complete == 'function' ) { - complete = options.complete; - options.complete = function() { - complete.call( image, image ); - scaleLayer( image ); - }; - } else { - options.complete = scaleLayer; - } - - } else { - $( image.container ).children(':first').css({ top: 0, left: 0 }); - } - - image.scale( options ); - return this; - }, - - /** - Updates the carousel, - useful if you resize the gallery and want to re-check if the carousel nav is needed. - - @returns Instance - */ - - updateCarousel : function() { - this._carousel.update(); - return this; - }, - - /** - Resize the entire gallery container - - @param {Object} [measures] Optional object with width/height specified - @param {Function} [complete] The callback to be called when the scaling is complete - - @returns Instance - */ - - resize : function( measures, complete ) { - - if ( typeof measures == 'function' ) { - complete = measures; - measures = undef; - } - - measures = $.extend( { width:0, height:0 }, measures ); - - var self = this, - $container = this.$( 'container' ); - - $.each( measures, function( m, val ) { - if ( !val ) { - $container[ m ]( 'auto' ); - measures[ m ] = self._getWH()[ m ]; - } - }); - - $.each( measures, function( m, val ) { - $container[ m ]( val ); - }); - - return this.rescale( complete ); - - }, - - /** - Rescales the gallery - - @param {number} width The target width - @param {number} height The target height - @param {Function} complete The callback to be called when the scaling is complete - - @returns Instance - */ - - rescale : function( width, height, complete ) { - - var self = this; - - // allow rescale(fn) - if ( typeof width === 'function' ) { - complete = width; - width = undef; - } - - var scale = function() { - - // set stagewidth - self._stageWidth = width || self.$( 'stage' ).width(); - self._stageHeight = height || self.$( 'stage' ).height(); - - if ( self._options.swipe ) { - $.each( self._controls.slides, function(i, img) { - self._scaleImage( img ); - $( img.container ).css('left', self._stageWidth * i); - }); - self.$('images').css('width', self._stageWidth * self.getDataLength()); - } else { - // scale the active image - self._scaleImage(); - } - - if ( self._options.carousel ) { - self.updateCarousel(); - } - - var frame = self._controls.frames[ self._controls.active ]; - - if (frame) { - self._controls.frames[ self._controls.active ].scale({ - width: self._stageWidth, - height: self._stageHeight, - iframelimit: self._options.maxVideoSize - }); - } - - self.trigger( Galleria.RESCALE ); - - if ( typeof complete === 'function' ) { - complete.call( self ); - } - }; - - scale.call( self ); - - return this; - }, - - /** - Refreshes the gallery. - Useful if you change image options at runtime and want to apply the changes to the active image. - - @returns Instance - */ - - refreshImage : function() { - this._scaleImage(); - if ( this._options.imagePan ) { - this.addPan(); - } - return this; - }, - - _preload: function() { - if ( this._options.preload ) { - var p, i, - n = this.getNext(), - ndata; - try { - for ( i = this._options.preload; i > 0; i-- ) { - p = new Galleria.Picture(); - ndata = this.getData( n ); - p.preload( this.isFullscreen() && ndata.big ? ndata.big : ndata.image ); - n = this.getNext( n ); - } - } catch(e) {} - } - }, - - /** - Shows an image by index - - @param {number|boolean} index The index to show - @param {Boolean} rewind A boolean that should be true if you want the transition to go back - - @returns Instance - */ - - show : function( index, rewind, _history ) { - - var swipe = this._options.swipe; - - // do nothing queue is long || index is false || queue is false and transition is in progress - if ( !swipe && - ( this._queue.length > 3 || index === false || ( !this._options.queue && this._queue.stalled ) ) ) { - return; - } - - index = M.max( 0, M.min( parseInt( index, 10 ), this.getDataLength() - 1 ) ); - - rewind = typeof rewind !== 'undefined' ? !!rewind : index < this.getIndex(); - - _history = _history || false; - - // do the history thing and return - if ( !_history && Galleria.History ) { - Galleria.History.set( index.toString() ); - return; - } - - if ( this.finger && index !== this._active ) { - this.finger.to = -( index*this.finger.width ); - this.finger.index = index; - } - this._active = index; - - // we do things a bit simpler in swipe: - if ( swipe ) { - - var data = this.getData(index), - self = this; - if ( !data ) { - return; - } - - var src = this.isFullscreen() && data.big ? data.big : ( data.image || data.iframe ), - image = this._controls.slides[index], - cached = image.isCached( src ), - thumb = this._thumbnails[ index ]; - - var evObj = { - cached: cached, - index: index, - rewind: rewind, - imageTarget: image.image, - thumbTarget: thumb.image, - galleriaData: data - }; - - this.trigger($.extend(evObj, { - type: Galleria.LOADSTART - })); - - self.$('container').removeClass( 'videoplay' ); - - var complete = function() { - - self._layers[index].innerHTML = self.getData().layer || ''; - - self.trigger($.extend(evObj, { - type: Galleria.LOADFINISH - })); - self._playCheck(); - }; - - self._preload(); - - window.setTimeout(function() { - - // load if not ready - if ( !image.ready || $(image.image).attr('src') != src ) { - if ( data.iframe && !data.image ) { - image.isIframe = true; - } - image.load(src, function(image) { - evObj.imageTarget = image.image; - self._scaleImage(image, complete).trigger($.extend(evObj, { - type: Galleria.IMAGE - })); - complete(); - }); - } else { - self.trigger($.extend(evObj, { - type: Galleria.IMAGE - })); - complete(); - } - }, 100); - - } else { - protoArray.push.call( this._queue, { - index : index, - rewind : rewind - }); - if ( !this._queue.stalled ) { - this._show(); - } - } - - return this; - }, - - // the internal _show method does the actual showing - _show : function() { - - // shortcuts - var self = this, - queue = this._queue[ 0 ], - data = this.getData( queue.index ); - - if ( !data ) { - return; - } - - var src = this.isFullscreen() && data.big ? data.big : ( data.image || data.iframe ), - active = this._controls.getActive(), - next = this._controls.getNext(), - cached = next.isCached( src ), - thumb = this._thumbnails[ queue.index ], - mousetrigger = function() { - $( next.image ).trigger( 'mouseup' ); - }; - - self.$('container').toggleClass('iframe', !!data.isIframe).removeClass( 'videoplay' ); - - // to be fired when loading & transition is complete: - var complete = (function( data, next, active, queue, thumb ) { - - return function() { - - var win; - - _transitions.active = false; - - // optimize quality - Utils.toggleQuality( next.image, self._options.imageQuality ); - - // remove old layer - self._layers[ self._controls.active ].innerHTML = ''; - - // swap - $( active.container ).css({ - zIndex: 0, - opacity: 0 - }).show(); - - $( active.container ).find( 'iframe, .galleria-videoicon' ).remove(); - $( self._controls.frames[ self._controls.active ].container ).hide(); - - $( next.container ).css({ - zIndex: 1, - left: 0, - top: 0 - }).show(); - - self._controls.swap(); - - // add pan according to option - if ( self._options.imagePan ) { - self.addPan( next.image ); - } - - // make the image clickable - // order of precedence: iframe, link, lightbox, clicknext - if ( ( data.iframe && data.image ) || data.link || self._options.lightbox || self._options.clicknext ) { - - $( next.image ).css({ - cursor: 'pointer' - }).on( 'mouseup', function( e ) { - - // non-left click - if ( typeof e.which == 'number' && e.which > 1 ) { - return; - } - - // iframe / video - if ( data.iframe ) { - - if ( self.isPlaying() ) { - self.pause(); - } - var frame = self._controls.frames[ self._controls.active ], - w = self._stageWidth, - h = self._stageHeight; - - $( frame.container ).css({ - width: w, - height: h, - opacity: 0 - }).show().animate({ - opacity: 1 - }, 200); - - window.setTimeout(function() { - frame.load( data.iframe + ( data.video ? '&autoplay=1' : '' ), { - width: w, - height: h - }, function( frame ) { - self.$( 'container' ).addClass( 'videoplay' ); - frame.scale({ - width: self._stageWidth, - height: self._stageHeight, - iframelimit: data.video ? self._options.maxVideoSize : undef - }); - }); - }, 100); - - return; - } - - // clicknext - if ( self._options.clicknext && !Galleria.TOUCH ) { - if ( self._options.pauseOnInteraction ) { - self.pause(); - } - self.next(); - return; - } - - // popup link - if ( data.link ) { - if ( self._options.popupLinks ) { - win = window.open( data.link, '_blank' ); - } else { - window.location.href = data.link; - } - return; - } - - if ( self._options.lightbox ) { - self.openLightbox(); - } - - }); - } - - // check if we are playing - self._playCheck(); - - // trigger IMAGE event - self.trigger({ - type: Galleria.IMAGE, - index: queue.index, - imageTarget: next.image, - thumbTarget: thumb.image, - galleriaData: data - }); - - // remove the queued image - protoArray.shift.call( self._queue ); - - // remove stalled - self._queue.stalled = false; - - // if we still have images in the queue, show it - if ( self._queue.length ) { - self._show(); - } - - }; - }( data, next, active, queue, thumb )); - - // let the carousel follow - if ( this._options.carousel && this._options.carouselFollow ) { - this._carousel.follow( queue.index ); - } - - // preload images - self._preload(); - - // show the next image, just in case - Utils.show( next.container ); - - next.isIframe = data.iframe && !data.image; - - // add active classes - $( self._thumbnails[ queue.index ].container ) - .addClass( 'active' ) - .siblings( '.active' ) - .removeClass( 'active' ); - - // trigger the LOADSTART event - self.trigger( { - type: Galleria.LOADSTART, - cached: cached, - index: queue.index, - rewind: queue.rewind, - imageTarget: next.image, - thumbTarget: thumb.image, - galleriaData: data - }); - - // stall the queue - self._queue.stalled = true; - - // begin loading the next image - next.load( src, function( next ) { - - // add layer HTML - var layer = $( self._layers[ 1-self._controls.active ] ).html( data.layer || '' ).hide(); - - self._scaleImage( next, { - - complete: function( next ) { - - // toggle low quality for IE - if ( 'image' in active ) { - Utils.toggleQuality( active.image, false ); - } - Utils.toggleQuality( next.image, false ); - - // remove the image panning, if applied - // TODO: rethink if this is necessary - self.removePan(); - - // set the captions and counter - self.setInfo( queue.index ); - self.setCounter( queue.index ); - - // show the layer now - if ( data.layer ) { - layer.show(); - // inherit click events set on image - if ( ( data.iframe && data.image ) || data.link || self._options.lightbox || self._options.clicknext ) { - layer.css( 'cursor', 'pointer' ).off( 'mouseup' ).mouseup( mousetrigger ); - } - } - - // add play icon - if( data.video && data.image ) { - _playIcon( next.container ); - } - - var transition = self._options.transition; - - // can JavaScript loop through objects in order? yes. - $.each({ - initial: active.image === null, - touch: Galleria.TOUCH, - fullscreen: self.isFullscreen() - }, function( type, arg ) { - if ( arg && self._options[ type + 'Transition' ] !== undef ) { - transition = self._options[ type + 'Transition' ]; - return false; - } - }); - - // validate the transition - if ( transition in _transitions.effects === false ) { - complete(); - } else { - var params = { - prev: active.container, - next: next.container, - rewind: queue.rewind, - speed: self._options.transitionSpeed || 400 - }; - - _transitions.active = true; - - // call the transition function and send some stuff - _transitions.init.call( self, transition, params, complete ); - - } - - // trigger the LOADFINISH event - self.trigger({ - type: Galleria.LOADFINISH, - cached: cached, - index: queue.index, - rewind: queue.rewind, - imageTarget: next.image, - thumbTarget: self._thumbnails[ queue.index ].image, - galleriaData: self.getData( queue.index ) - }); - } - }); - }); - }, - - /** - Gets the next index - - @param {number} [base] Optional starting point - - @returns {number} the next index, or the first if you are at the first (looping) - */ - - getNext : function( base ) { - base = typeof base === 'number' ? base : this.getIndex(); - return base === this.getDataLength() - 1 ? 0 : base + 1; - }, - - /** - Gets the previous index - - @param {number} [base] Optional starting point - - @returns {number} the previous index, or the last if you are at the first (looping) - */ - - getPrev : function( base ) { - base = typeof base === 'number' ? base : this.getIndex(); - return base === 0 ? this.getDataLength() - 1 : base - 1; - }, - - /** - Shows the next image in line - - @returns Instance - */ - - next : function() { - if ( this.getDataLength() > 1 ) { - this.show( this.getNext(), false ); - } - return this; - }, - - /** - Shows the previous image in line - - @returns Instance - */ - - prev : function() { - if ( this.getDataLength() > 1 ) { - this.show( this.getPrev(), true ); - } - return this; - }, - - /** - Retrieve a DOM element by element ID - - @param {string} elemId The delement ID to fetch - - @returns {HTMLElement} The elements DOM node or null if not found. - */ - - get : function( elemId ) { - return elemId in this._dom ? this._dom[ elemId ] : null; - }, - - /** - Retrieve a data object - - @param {number} index The data index to retrieve. - If no index specified it will take the currently active image - - @returns {Object} The data object - */ - - getData : function( index ) { - return index in this._data ? - this._data[ index ] : this._data[ this._active ]; - }, - - /** - Retrieve the number of data items - - @returns {number} The data length - */ - getDataLength : function() { - return this._data.length; - }, - - /** - Retrieve the currently active index - - @returns {number|boolean} The active index or false if none found - */ - - getIndex : function() { - return typeof this._active === 'number' ? this._active : false; - }, - - /** - Retrieve the stage height - - @returns {number} The stage height - */ - - getStageHeight : function() { - return this._stageHeight; - }, - - /** - Retrieve the stage width - - @returns {number} The stage width - */ - - getStageWidth : function() { - return this._stageWidth; - }, - - /** - Retrieve the option - - @param {string} key The option key to retrieve. If no key specified it will return all options in an object. - - @returns option or options - */ - - getOptions : function( key ) { - return typeof key === 'undefined' ? this._options : this._options[ key ]; - }, - - /** - Set options to the instance. - You can set options using a key & value argument or a single object argument (see examples) - - @param {string} key The option key - @param {string} value the the options value - - @example setOptions( 'autoplay', true ) - @example setOptions({ autoplay: true }); - - @returns Instance - */ - - setOptions : function( key, value ) { - if ( typeof key === 'object' ) { - $.extend( this._options, key ); - } else { - this._options[ key ] = value; - } - return this; - }, - - /** - Starts playing the slideshow - - @param {number} delay Sets the slideshow interval in milliseconds. - If you set it once, you can just call play() and get the same interval the next time. - - @returns Instance - */ - - play : function( delay ) { - - this._playing = true; - - this._playtime = delay || this._playtime; - - this._playCheck(); - - this.trigger( Galleria.PLAY ); - - return this; - }, - - /** - Stops the slideshow if currently playing - - @returns Instance - */ - - pause : function() { - - this._playing = false; - - this.trigger( Galleria.PAUSE ); - - return this; - }, - - /** - Toggle between play and pause events. - - @param {number} delay Sets the slideshow interval in milliseconds. - - @returns Instance - */ - - playToggle : function( delay ) { - return ( this._playing ) ? this.pause() : this.play( delay ); - }, - - /** - Checks if the gallery is currently playing - - @returns {Boolean} - */ - - isPlaying : function() { - return this._playing; - }, - - /** - Checks if the gallery is currently in fullscreen mode - - @returns {Boolean} - */ - - isFullscreen : function() { - return this._fullscreen.active; - }, - - _playCheck : function() { - var self = this, - played = 0, - interval = 20, - now = Utils.timestamp(), - timer_id = 'play' + this._id; - - if ( this._playing ) { - - this.clearTimer( timer_id ); - - var fn = function() { - - played = Utils.timestamp() - now; - if ( played >= self._playtime && self._playing ) { - self.clearTimer( timer_id ); - self.next(); - return; - } - if ( self._playing ) { - - // trigger the PROGRESS event - self.trigger({ - type: Galleria.PROGRESS, - percent: M.ceil( played / self._playtime * 100 ), - seconds: M.floor( played / 1000 ), - milliseconds: played - }); - - self.addTimer( timer_id, fn, interval ); - } - }; - self.addTimer( timer_id, fn, interval ); - } - }, - - /** - Modify the slideshow delay - - @param {number} delay the number of milliseconds between slides, - - @returns Instance - */ - - setPlaytime: function( delay ) { - this._playtime = delay; - return this; - }, - - setIndex: function( val ) { - this._active = val; - return this; - }, - - /** - Manually modify the counter - - @param {number} [index] Optional data index to fectch, - if no index found it assumes the currently active index - - @returns Instance - */ - - setCounter: function( index ) { - - if ( typeof index === 'number' ) { - index++; - } else if ( typeof index === 'undefined' ) { - index = this.getIndex()+1; - } - - this.get( 'current' ).innerHTML = index; - - if ( IE ) { // weird IE bug - - var count = this.$( 'counter' ), - opacity = count.css( 'opacity' ); - - if ( parseInt( opacity, 10 ) === 1) { - Utils.removeAlpha( count[0] ); - } else { - this.$( 'counter' ).css( 'opacity', opacity ); - } - - } - - return this; - }, - - /** - Manually set captions - - @param {number} [index] Optional data index to fectch and apply as caption, - if no index found it assumes the currently active index - - @returns Instance - */ - - setInfo : function( index ) { - - var self = this, - data = this.getData( index ); - - $.each( ['title','description'], function( i, type ) { - - var elem = self.$( 'info-' + type ); - - if ( !!data[type] ) { - elem[ data[ type ].length ? 'show' : 'hide' ]().html( data[ type ] ); - } else { - elem.empty().hide(); - } - }); - - return this; - }, - - /** - Checks if the data contains any captions - - @param {number} [index] Optional data index to fectch, - if no index found it assumes the currently active index. - - @returns {boolean} - */ - - hasInfo : function( index ) { - - var check = 'title description'.split(' '), - i; - - for ( i = 0; check[i]; i++ ) { - if ( !!this.getData( index )[ check[i] ] ) { - return true; - } - } - return false; - - }, - - jQuery : function( str ) { - - var self = this, - ret = []; - - $.each( str.split(','), function( i, elemId ) { - elemId = $.trim( elemId ); - - if ( self.get( elemId ) ) { - ret.push( elemId ); - } - }); - - var jQ = $( self.get( ret.shift() ) ); - - $.each( ret, function( i, elemId ) { - jQ = jQ.add( self.get( elemId ) ); - }); - - return jQ; - - }, - - /** - Converts element IDs into a jQuery collection - You can call for multiple IDs separated with commas. - - @param {string} str One or more element IDs (comma-separated) - - @returns jQuery - - @example this.$('info,container').hide(); - */ - - $ : function( str ) { - return this.jQuery.apply( this, Utils.array( arguments ) ); - } - -}; - -// End of Galleria prototype - -// Add events as static variables -$.each( _events, function( i, ev ) { - - // legacy events - var type = /_/.test( ev ) ? ev.replace( /_/g, '' ) : ev; - - Galleria[ ev.toUpperCase() ] = 'galleria.'+type; - -} ); - -$.extend( Galleria, { - - // Browser helpers - IE9: IE === 9, - IE8: IE === 8, - IE7: IE === 7, - IE6: IE === 6, - IE: IE, - WEBKIT: /webkit/.test( NAV ), - CHROME: /chrome/.test( NAV ), - SAFARI: /safari/.test( NAV ) && !(/chrome/.test( NAV )), - QUIRK: ( IE && doc.compatMode && doc.compatMode === "BackCompat" ), - MAC: /mac/.test( navigator.platform.toLowerCase() ), - OPERA: !!window.opera, - IPHONE: /iphone/.test( NAV ), - IPAD: /ipad/.test( NAV ), - ANDROID: /android/.test( NAV ), - TOUCH: ( 'ontouchstart' in doc ) && MOBILE // rule out false positives on Win10 - -}); - -// Galleria static methods - -/** - Adds a theme that you can use for your Gallery - - @param {Object} theme Object that should contain all your theme settings. - <ul> - <li>name - name of the theme</li> - <li>author - name of the author</li> - <li>css - css file name (not path)</li> - <li>defaults - default options to apply, including theme-specific options</li> - <li>init - the init function</li> - </ul> - - @returns {Object} theme -*/ - -Galleria.addTheme = function( theme ) { - - // make sure we have a name - if ( !theme.name ) { - Galleria.raise('No theme name specified'); - } - - // make sure it's compatible - if ( !theme.version || parseInt(Galleria.version*10) > parseInt(theme.version*10) ) { - Galleria.raise('This version of Galleria requires '+theme.name+' theme version '+parseInt(Galleria.version*10)/10+' or later', true); - } - - if ( typeof theme.defaults !== 'object' ) { - theme.defaults = {}; - } else { - theme.defaults = _legacyOptions( theme.defaults ); - } - - var css = false, - reg, reg2; - - if ( typeof theme.css === 'string' ) { - - // look for manually added CSS - $('link').each(function( i, link ) { - reg = new RegExp( theme.css ); - if ( reg.test( link.href ) ) { - - // we found the css - css = true; - - // the themeload trigger - _themeLoad( theme ); - - return false; - } - }); - - // else look for the absolute path and load the CSS dynamic - if ( !css ) { - - - $(function() { - // Try to determine the css-path from the theme script. - // In IE8/9, the script-dom-element seems to be not present - // at once, if galleria itself is inserted into the dom - // dynamically. We therefore try multiple times before raising - // an error. - var retryCount = 0; - var tryLoadCss = function() { - $('script').each(function (i, script) { - // look for the theme script - reg = new RegExp('galleria\\.' + theme.name.toLowerCase() + '\\.'); - reg2 = new RegExp('galleria\\.io\\/theme\\/' + theme.name.toLowerCase() + '\\/(\\d*\\.*)?(\\d*\\.*)?(\\d*\\/)?js'); - if (reg.test(script.src) || reg2.test(script.src)) { - // we have a match - css = script.src.replace(/[^\/]*$/, '') + theme.css; - - window.setTimeout(function () { - Utils.loadCSS(css, 'galleria-theme-'+theme.name, function () { - - // run galleries with this theme - _themeLoad(theme); - - }); - }, 1); - } - }); - if (!css) { - if (retryCount++ > 5) { - Galleria.raise('No theme CSS loaded'); - } else { - window.setTimeout(tryLoadCss, 500); - } - } - }; - tryLoadCss(); - }); - } - - } else { - - // pass - _themeLoad( theme ); - } - return theme; -}; - -/** - loadTheme loads a theme js file and attaches a load event to Galleria - - @param {string} src The relative path to the theme source file - - @param {Object} [options] Optional options you want to apply - - @returns Galleria -*/ - -Galleria.loadTheme = function( src, options ) { - - // Don't load if theme is already loaded - if( $('script').filter(function() { return $(this).attr('src') == src; }).length ) { - return; - } - - var loaded = false, - err; - - // start listening for the timeout onload - $( window ).on('load', function() { - if ( !loaded ) { - // give it another 20 seconds - err = window.setTimeout(function() { - if ( !loaded ) { - Galleria.raise( "Galleria had problems loading theme at " + src + ". Please check theme path or load manually.", true ); - } - }, 20000); - } - }); - - // load the theme - Utils.loadScript( src, function() { - loaded = true; - window.clearTimeout( err ); - }); - - return Galleria; -}; - -/** - Retrieves a Galleria instance. - - @param {number} [index] Optional index to retrieve. - If no index is supplied, the method will return all instances in an array. - - @returns Instance or Array of instances -*/ - -Galleria.get = function( index ) { - if ( !!_instances[ index ] ) { - return _instances[ index ]; - } else if ( typeof index !== 'number' ) { - return _instances; - } else { - Galleria.raise('Gallery index ' + index + ' not found'); - } -}; - -/** - - Configure Galleria options via a static function. - The options will be applied to all instances - - @param {string|object} key The options to apply or a key - - @param [value] If key is a string, this is the value - - @returns Galleria - -*/ - -Galleria.configure = function( key, value ) { - - var opts = {}; - - if( typeof key == 'string' && value ) { - opts[key] = value; - key = opts; - } else { - $.extend( opts, key ); - } - - Galleria.configure.options = opts; - - $.each( Galleria.get(), function(i, instance) { - instance.setOptions( opts ); - }); - - return Galleria; -}; - -Galleria.configure.options = {}; - -/** - - Bind a Galleria event to the gallery - - @param {string} type A string representing the galleria event - - @param {function} callback The function that should run when the event is triggered - - @returns Galleria - -*/ - -Galleria.on = function( type, callback ) { - if ( !type ) { - return; - } - - callback = callback || F; - - // hash the bind - var hash = type + callback.toString().replace(/\s/g,'') + Utils.timestamp(); - - // for existing instances - $.each( Galleria.get(), function(i, instance) { - instance._binds.push( hash ); - instance.bind( type, callback ); - }); - - // for future instances - Galleria.on.binds.push({ - type: type, - callback: callback, - hash: hash - }); - - return Galleria; -}; - -Galleria.on.binds = []; - -/** - - Run Galleria - Alias for $(selector).galleria(options) - - @param {string} selector A selector of element(s) to intialize galleria to - - @param {object} options The options to apply - - @returns Galleria - -*/ - -Galleria.run = function( selector, options ) { - if ( $.isFunction( options ) ) { - options = { extend: options }; - } - $( selector || '#galleria' ).galleria( options ); - return Galleria; -}; - -/** - Creates a transition to be used in your gallery - - @param {string} name The name of the transition that you will use as an option - - @param {Function} fn The function to be executed in the transition. - The function contains two arguments, params and complete. - Use the params Object to integrate the transition, and then call complete when you are done. - - @returns Galleria - -*/ - -Galleria.addTransition = function( name, fn ) { - _transitions.effects[name] = fn; - return Galleria; -}; - -/** - The Galleria utilites -*/ - -Galleria.utils = Utils; - -/** - A helper metod for cross-browser logging. - It uses the console log if available otherwise it falls back to alert - - @example Galleria.log("hello", document.body, [1,2,3]); -*/ - -Galleria.log = function() { - var args = Utils.array( arguments ); - if( 'console' in window && 'log' in window.console ) { - try { - return window.console.log.apply( window.console, args ); - } catch( e ) { - $.each( args, function() { - window.console.log(this); - }); - } - } else { - return window.alert( args.join('<br>') ); - } -}; - -/** - A ready method for adding callbacks when a gallery is ready - Each method is call before the extend option for every instance - - @param {function} callback The function to call - - @returns Galleria -*/ - -Galleria.ready = function( fn ) { - if ( typeof fn != 'function' ) { - return Galleria; - } - $.each( _galleries, function( i, gallery ) { - fn.call( gallery, gallery._options ); - }); - Galleria.ready.callbacks.push( fn ); - return Galleria; -}; - -Galleria.ready.callbacks = []; - -/** - Method for raising errors - - @param {string} msg The message to throw - - @param {boolean} [fatal] Set this to true to override debug settings and display a fatal error -*/ - -Galleria.raise = function( msg, fatal ) { - - var type = fatal ? 'Fatal error' : 'Error', - - css = { - color: '#fff', - position: 'absolute', - top: 0, - left: 0, - zIndex: 100000 - }, - - echo = function( msg ) { - - var html = '<div style="padding:4px;margin:0 0 2px;background:#' + - ( fatal ? '811' : '222' ) + ';">' + - ( fatal ? '<strong>' + type + ': </strong>' : '' ) + - msg + '</div>'; - - $.each( _instances, function() { - - var cont = this.$( 'errors' ), - target = this.$( 'target' ); - - if ( !cont.length ) { - - target.css( 'position', 'relative' ); - - cont = this.addElement( 'errors' ).appendChild( 'target', 'errors' ).$( 'errors' ).css(css); - } - cont.append( html ); - - }); - - if ( !_instances.length ) { - $('<div>').css( $.extend( css, { position: 'fixed' } ) ).append( html ).appendTo( DOM().body ); - } - }; - - // if debug is on, display errors and throw exception if fatal - if ( DEBUG ) { - echo( msg ); - if ( fatal ) { - throw new Error(type + ': ' + msg); - } - - // else just echo a silent generic error if fatal - } else if ( fatal ) { - if ( _hasError ) { - return; - } - _hasError = true; - fatal = false; - echo( 'Gallery could not load.' ); - } -}; - -// Add the version -Galleria.version = VERSION; - -Galleria.getLoadedThemes = function() { - return $.map(_loadedThemes, function(theme) { - return theme.name; - }); -}; - -/** - A method for checking what version of Galleria the user has installed and throws a readable error if the user needs to upgrade. - Useful when building plugins that requires a certain version to function. - - @param {number} version The minimum version required - - @param {string} [msg] Optional message to display. If not specified, Galleria will throw a generic error. - - @returns Galleria -*/ - -Galleria.requires = function( version, msg ) { - msg = msg || 'You need to upgrade Galleria to version ' + version + ' to use one or more components.'; - if ( Galleria.version < version ) { - Galleria.raise(msg, true); - } - return Galleria; -}; - -/** - Adds preload, cache, scale and crop functionality - - @constructor - - @requires jQuery - - @param {number} [id] Optional id to keep track of instances -*/ - -Galleria.Picture = function( id ) { - - // save the id - this.id = id || null; - - // the image should be null until loaded - this.image = null; - - // Create a new container - this.container = Utils.create('galleria-image'); - - // add container styles - $( this.container ).css({ - overflow: 'hidden', - position: 'relative' // for IE Standards mode - }); - - // saves the original measurements - this.original = { - width: 0, - height: 0 - }; - - // flag when the image is ready - this.ready = false; - - // flag for iframe Picture - this.isIframe = false; - -}; - -Galleria.Picture.prototype = { - - // the inherited cache object - cache: {}, - - // show the image on stage - show: function() { - Utils.show( this.image ); - }, - - // hide the image - hide: function() { - Utils.moveOut( this.image ); - }, - - clear: function() { - this.image = null; - }, - - /** - Checks if an image is in cache - - @param {string} src The image source path, ex '/path/to/img.jpg' - - @returns {boolean} - */ - - isCached: function( src ) { - return !!this.cache[src]; - }, - - /** - Preloads an image into the cache - - @param {string} src The image source path, ex '/path/to/img.jpg' - - @returns Galleria.Picture - */ - - preload: function( src ) { - $( new Image() ).on( 'load', (function(src, cache) { - return function() { - cache[ src ] = src; - }; - }( src, this.cache ))).attr( 'src', src ); - }, - - /** - Loads an image and call the callback when ready. - Will also add the image to cache. - - @param {string} src The image source path, ex '/path/to/img.jpg' - @param {Object} [size] The forced size of the image, defined as an object { width: xx, height:xx } - @param {Function} callback The function to be executed when the image is loaded & scaled - - @returns The image container (jQuery object) - */ - - load: function(src, size, callback) { - - if ( typeof size == 'function' ) { - callback = size; - size = null; - } - - if( this.isIframe ) { - var id = 'if'+new Date().getTime(); - - var iframe = this.image = $('<iframe>', { - src: src, - frameborder: 0, - id: id, - allowfullscreen: true, - css: { visibility: 'hidden' } - })[0]; - - if ( size ) { - $( iframe ).css( size ); - } - - $( this.container ).find( 'iframe,img' ).remove(); - - this.container.appendChild( this.image ); - - $('#'+id).on( 'load', (function( self, callback ) { - return function() { - window.setTimeout(function() { - $( self.image ).css( 'visibility', 'visible' ); - if( typeof callback == 'function' ) { - callback.call( self, self ); - } - }, 10); - }; - }( this, callback ))); - - return this.container; - } - - this.image = new Image(); - - // IE8 opacity inherit bug - if ( Galleria.IE8 ) { - $( this.image ).css( 'filter', 'inherit' ); - } - - // FF shaking images bug: - // http://support.galleria.io/discussions/problems/12245-shaking-photos - if ( !Galleria.IE && !Galleria.CHROME && !Galleria.SAFARI ) { - $( this.image ).css( 'image-rendering', 'optimizequality' ); - } - - var reload = false, - resort = false, - - // some jquery cache - $container = $( this.container ), - $image = $( this.image ), - - onerror = function() { - if ( !reload ) { - reload = true; - // reload the image with a timestamp - window.setTimeout((function(image, src) { - return function() { - image.attr('src', src + (src.indexOf('?') > -1 ? '&' : '?') + Utils.timestamp() ); - }; - }( $(this), src )), 50); - } else { - // apply the dummy image if it exists - if ( DUMMY ) { - $( this ).attr( 'src', DUMMY ); - } else { - Galleria.raise('Image not found: ' + src); - } - } - }, - - // the onload method - onload = (function( self, callback, src ) { - - return function() { - - var complete = function() { - - $( this ).off( 'load' ); - - // save the original size - self.original = size || { - height: this.height, - width: this.width - }; - - // translate3d if needed - if ( Galleria.HAS3D ) { - this.style.MozTransform = this.style.webkitTransform = 'translate3d(0,0,0)'; - } - - $container.append( this ); - - self.cache[ src ] = src; // will override old cache - - if (typeof callback == 'function' ) { - window.setTimeout(function() { - callback.call( self, self ); - },1); - } - }; - - // Delay the callback to "fix" the Adblock Bug - // http://code.google.com/p/adblockforchrome/issues/detail?id=3701 - if ( ( !this.width || !this.height ) ) { - (function( img ) { - Utils.wait({ - until: function() { - return img.width && img.height; - }, - success: function() { - complete.call( img ); - }, - error: function() { - if ( !resort ) { - $(new Image()).on( 'load', onload ).attr( 'src', img.src ); - resort = true; - } else { - Galleria.raise('Could not extract width/height from image: ' + img.src + - '. Traced measures: width:' + img.width + 'px, height: ' + img.height + 'px.'); - } - }, - timeout: 100 - }); - }( this )); - } else { - complete.call( this ); - } - }; - }( this, callback, src )); - - // remove any previous images - $container.find( 'iframe,img' ).remove(); - - // append the image - $image.css( 'display', 'block'); - - // hide it for now - Utils.hide( this.image ); - - // remove any max/min scaling - $.each('minWidth minHeight maxWidth maxHeight'.split(' '), function(i, prop) { - $image.css(prop, (/min/.test(prop) ? '0' : 'none')); - }); - - // begin load and insert in cache when done - $image.on( 'load', onload ).on( 'error', onerror ).attr( 'src', src ); - - // return the container - return this.container; - }, - - /** - Scales and crops the image - - @param {Object} options The method takes an object with a number of options: - - <ul> - <li>width - width of the container</li> - <li>height - height of the container</li> - <li>min - minimum scale ratio</li> - <li>max - maximum scale ratio</li> - <li>margin - distance in pixels from the image border to the container</li> - <li>complete - a callback that fires when scaling is complete</li> - <li>position - positions the image, works like the css background-image property.</li> - <li>crop - defines how to crop. Can be true, false, 'width' or 'height'</li> - <li>canvas - set to true to try a canvas-based rescale</li> - </ul> - - @returns The image container object (jQuery) - */ - - scale: function( options ) { - - var self = this; - - // extend some defaults - options = $.extend({ - width: 0, - height: 0, - min: undef, - max: undef, - margin: 0, - complete: F, - position: 'center', - crop: false, - canvas: false, - iframelimit: undef - }, options); - - if( this.isIframe ) { - - var cw = options.width, - ch = options.height, - nw, nh; - if ( options.iframelimit ) { - var r = M.min( options.iframelimit/cw, options.iframelimit/ch ); - if ( r < 1 ) { - nw = cw * r; - nh = ch * r; - - $( this.image ).css({ - top: ch/2-nh/2, - left: cw/2-nw/2, - position: 'absolute' - }); - } else { - $( this.image ).css({ - top: 0, - left: 0 - }); - } - } - $( this.image ).width( nw || cw ).height( nh || ch ).removeAttr( 'width' ).removeAttr( 'height' ); - $( this.container ).width( cw ).height( ch ); - options.complete.call(self, self); - try { - if( this.image.contentWindow ) { - $( this.image.contentWindow ).trigger('resize'); - } - } catch(e) {} - return this.container; - - } - - // return the element if no image found - if (!this.image) { - return this.container; - } - - // store locale variables - var width, - height, - $container = $( self.container ), - data; - - // wait for the width/height - Utils.wait({ - until: function() { - width = options.width || - $container.width() || - Utils.parseValue( $container.css('width') ); - - height = options.height || - $container.height() || - Utils.parseValue( $container.css('height') ); - - return width && height; - }, - success: function() { - - // calculate some cropping - var newWidth = ( width - options.margin * 2 ) / self.original.width, - newHeight = ( height - options.margin * 2 ) / self.original.height, - min = M.min( newWidth, newHeight ), - max = M.max( newWidth, newHeight ), - cropMap = { - 'true' : max, - 'width' : newWidth, - 'height': newHeight, - 'false' : min, - 'landscape': self.original.width > self.original.height ? max : min, - 'portrait': self.original.width < self.original.height ? max : min - }, - ratio = cropMap[ options.crop.toString() ], - canvasKey = ''; - - // allow maxScaleRatio - if ( options.max ) { - ratio = M.min( options.max, ratio ); - } - - // allow minScaleRatio - if ( options.min ) { - ratio = M.max( options.min, ratio ); - } - - $.each( ['width','height'], function( i, m ) { - $( self.image )[ m ]( self[ m ] = self.image[ m ] = M.round( self.original[ m ] * ratio ) ); - }); - - $( self.container ).width( width ).height( height ); - - if ( options.canvas && _canvas ) { - - _canvas.elem.width = self.width; - _canvas.elem.height = self.height; - - canvasKey = self.image.src + ':' + self.width + 'x' + self.height; - - self.image.src = _canvas.cache[ canvasKey ] || (function( key ) { - - _canvas.context.drawImage(self.image, 0, 0, self.original.width*ratio, self.original.height*ratio); - - try { - - data = _canvas.elem.toDataURL(); - _canvas.length += data.length; - _canvas.cache[ key ] = data; - return data; - - } catch( e ) { - return self.image.src; - } - - }( canvasKey ) ); - - } - - // calculate image_position - var pos = {}, - mix = {}, - getPosition = function(value, measure, margin) { - var result = 0; - if (/\%/.test(value)) { - var flt = parseInt( value, 10 ) / 100, - m = self.image[ measure ] || $( self.image )[ measure ](); - - result = M.ceil( m * -1 * flt + margin * flt ); - } else { - result = Utils.parseValue( value ); - } - return result; - }, - positionMap = { - 'top': { top: 0 }, - 'left': { left: 0 }, - 'right': { left: '100%' }, - 'bottom': { top: '100%' } - }; - - $.each( options.position.toLowerCase().split(' '), function( i, value ) { - if ( value === 'center' ) { - value = '50%'; - } - pos[i ? 'top' : 'left'] = value; - }); - - $.each( pos, function( i, value ) { - if ( positionMap.hasOwnProperty( value ) ) { - $.extend( mix, positionMap[ value ] ); - } - }); - - pos = pos.top ? $.extend( pos, mix ) : mix; - - pos = $.extend({ - top: '50%', - left: '50%' - }, pos); - - // apply position - $( self.image ).css({ - position : 'absolute', - top : getPosition(pos.top, 'height', height), - left : getPosition(pos.left, 'width', width) - }); - - // show the image - self.show(); - - // flag ready and call the callback - self.ready = true; - options.complete.call( self, self ); - - }, - error: function() { - Galleria.raise('Could not scale image: '+self.image.src); - }, - timeout: 1000 - }); - return this; - } -}; - -// our own easings -$.extend( $.easing, { - - galleria: function (_, t, b, c, d) { - if ((t/=d/2) < 1) { - return c/2*t*t*t + b; - } - return c/2*((t-=2)*t*t + 2) + b; - }, - - galleriaIn: function (_, t, b, c, d) { - return c*(t/=d)*t + b; - }, - - galleriaOut: function (_, t, b, c, d) { - return -c *(t/=d)*(t-2) + b; - } - -}); - - -// Forked version of Ainos Finger.js for native-style touch - -Galleria.Finger = (function() { - - var abs = M.abs; - - // test for translate3d support - var has3d = Galleria.HAS3D = (function() { - - var el = doc.createElement('p'), - has3d, - t = ['webkit','O','ms','Moz',''], - s, - i=0, - a = 'transform'; - - DOM().html.insertBefore(el, null); - - for (; t[i]; i++) { - s = t[i] ? t[i]+'Transform' : a; - if (el.style[s] !== undefined) { - el.style[s] = "translate3d(1px,1px,1px)"; - has3d = $(el).css(t[i] ? '-'+t[i].toLowerCase()+'-'+a : a); - } - } - - DOM().html.removeChild(el); - return (has3d !== undefined && has3d.length > 0 && has3d !== "none"); - }()); - - // request animation shim - var requestFrame = (function(){ - var r = 'RequestAnimationFrame'; - return window.requestAnimationFrame || - window['webkit'+r] || - window['moz'+r] || - window['o'+r] || - window['ms'+r] || - function( callback ) { - window.setTimeout(callback, 1000 / 60); - }; - }()); - - var Finger = function(elem, options) { - - // default options - this.config = { - start: 0, - duration: 500, - onchange: function() {}, - oncomplete: function() {}, - easing: function(x,t,b,c,d) { - return -c * ((t=t/d-1)*t*t*t - 1) + b; // easeOutQuart - } - }; - - this.easeout = function (x, t, b, c, d) { - return c*((t=t/d-1)*t*t*t*t + 1) + b; - }; - - if ( !elem.children.length ) { - return; - } - - var self = this; - - // extend options - $.extend(this.config, options); - - this.elem = elem; - this.child = elem.children[0]; - this.to = this.pos = 0; - this.touching = false; - this.start = {}; - this.index = this.config.start; - this.anim = 0; - this.easing = this.config.easing; - - if ( !has3d ) { - this.child.style.position = 'absolute'; - this.elem.style.position = 'relative'; - } - - // Bind event handlers to context - $.each(['ontouchstart','ontouchmove','ontouchend','setup'], function(i, fn) { - self[fn] = (function(caller) { - return function() { - caller.apply( self, arguments ); - }; - }(self[fn])); - }); - - // the physical animator - this.setX = function() { - - var style = self.child.style; - - if (!has3d) { - // this is actually faster than CSS3 translate - style.left = self.pos+'px'; - return; - } - style.MozTransform = style.webkitTransform = style.transform = 'translate3d(' + self.pos + 'px,0,0)'; - return; - }; - - // bind events - $(elem).on('touchstart', this.ontouchstart); - $(window).on('resize', this.setup); - $(window).on('orientationchange', this.setup); - - // set up width - this.setup(); - - // start the animations - (function animloop(){ - requestFrame(animloop); - self.loop.call( self ); - }()); - - }; - - Finger.prototype = { - - constructor: Finger, - - setup: function() { - this.width = $( this.elem ).width(); - this.length = M.ceil( $(this.child).width() / this.width ); - if ( this.index !== 0 ) { - this.index = M.max(0, M.min( this.index, this.length-1 ) ); - this.pos = this.to = -this.width*this.index; - } - }, - - setPosition: function(pos) { - this.pos = pos; - this.to = pos; - }, - - ontouchstart: function(e) { - - var touch = e.originalEvent.touches; - - this.start = { - pageX: touch[0].pageX, - pageY: touch[0].pageY, - time: +new Date() - }; - - this.isScrolling = null; - this.touching = true; - this.deltaX = 0; - - $doc.on('touchmove', this.ontouchmove); - $doc.on('touchend', this.ontouchend); - }, - - ontouchmove: function(e) { - - var touch = e.originalEvent.touches; - - // ensure swiping with one touch and not pinching - if( touch && touch.length > 1 || e.scale && e.scale !== 1 ) { - return; - } - - this.deltaX = touch[0].pageX - this.start.pageX; - - // determine if scrolling test has run - one time test - if ( this.isScrolling === null ) { - this.isScrolling = !!( - this.isScrolling || - M.abs(this.deltaX) < M.abs(touch[0].pageY - this.start.pageY) - ); - } - - // if user is not trying to scroll vertically - if (!this.isScrolling) { - - // prevent native scrolling - e.preventDefault(); - - // increase resistance if first or last slide - this.deltaX /= ( (!this.index && this.deltaX > 0 || this.index == this.length - 1 && this.deltaX < 0 ) ? - ( M.abs(this.deltaX) / this.width + 1.8 ) : 1 ); - this.to = this.deltaX - this.index * this.width; - } - e.stopPropagation(); - }, - - ontouchend: function(e) { - - this.touching = false; - - // determine if slide attempt triggers next/prev slide - var isValidSlide = +new Date() - this.start.time < 250 && - M.abs(this.deltaX) > 40 || - M.abs(this.deltaX) > this.width/2, - - isPastBounds = !this.index && this.deltaX > 0 || - this.index == this.length - 1 && this.deltaX < 0; - - // if not scrolling vertically - if ( !this.isScrolling ) { - this.show( this.index + ( isValidSlide && !isPastBounds ? (this.deltaX < 0 ? 1 : -1) : 0 ) ); - } - - $doc.off('touchmove', this.ontouchmove); - $doc.off('touchend', this.ontouchend); - }, - - show: function( index ) { - if ( index != this.index ) { - this.config.onchange.call(this, index); - } else { - this.to = -( index*this.width ); - } - }, - - moveTo: function( index ) { - if ( index != this.index ) { - this.pos = this.to = -( index*this.width ); - this.index = index; - } - }, - - loop: function() { - - var distance = this.to - this.pos, - factor = 1; - - if ( this.width && distance ) { - factor = M.max(0.5, M.min(1.5, M.abs(distance / this.width) ) ); - } - - // if distance is short or the user is touching, do a 1-1 animation - if ( this.touching || M.abs(distance) <= 1 ) { - this.pos = this.to; - distance = 0; - if ( this.anim && !this.touching ) { - this.config.oncomplete( this.index ); - } - this.anim = 0; - this.easing = this.config.easing; - } else { - if ( !this.anim ) { - // save animation parameters - this.anim = { start: this.pos, time: +new Date(), distance: distance, factor: factor, destination: this.to }; - } - // check if to has changed or time has run out - var elapsed = +new Date() - this.anim.time; - var duration = this.config.duration*this.anim.factor; - - if ( elapsed > duration || this.anim.destination != this.to ) { - this.anim = 0; - this.easing = this.easeout; - return; - } - // apply easing - this.pos = this.easing( - null, - elapsed, - this.anim.start, - this.anim.distance, - duration - ); - } - this.setX(); - } - }; - - return Finger; - -}()); - -// the plugin initializer -$.fn.galleria = function( options ) { - - var selector = this.selector; - - // try domReady if element not found - if ( !$(this).length ) { - - $(function() { - if ( $( selector ).length ) { - - // if found on domReady, go ahead - $( selector ).galleria( options ); - - } else { - - // if not, try fetching the element for 5 secs, then raise a warning. - Galleria.utils.wait({ - until: function() { - return $( selector ).length; - }, - success: function() { - $( selector ).galleria( options ); - }, - error: function() { - Galleria.raise('Init failed: Galleria could not find the element "'+selector+'".'); - }, - timeout: 5000 - }); - - } - }); - return this; - } - - return this.each(function() { - - // destroy previous instance and prepare for new load - if ( $.data(this, 'galleria') ) { - $.data( this, 'galleria' ).destroy(); - $( this ).find( '*' ).hide(); - } - - // load the new gallery - $.data( this, 'galleria', new Galleria().init( this, options ) ); - }); - -}; - -// export as AMD or CommonJS -if ( typeof module === "object" && module && typeof module.exports === "object" ) { - module.exports = Galleria; -} else { - window.Galleria = Galleria; - if ( typeof define === "function" && define.amd ) { - define( "galleria", ['jquery'], function() { return Galleria; } ); - } -} - -// phew - -}( jQuery, this ) ); diff --git a/assets/scripts/galleria/galleria-1.5.7.min.js b/assets/scripts/galleria/galleria-1.5.7.min.js deleted file mode 100644 index cfda735c..00000000 --- a/assets/scripts/galleria/galleria-1.5.7.min.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Galleria - v1.5.7 2017-05-10 - * https://galleria.io - * - * Copyright (c) 2010 - 2017 worse is better UG - * Licensed under the MIT License. - * https://raw.github.com/worseisbetter/galleria/master/LICENSE - * - */ - -!function(a,b,c,d){var e=b.document,f=a(e),g=a(b),h=Array.prototype,i=1.57,j=!0,k=3e4,l=!1,m=navigator.userAgent.toLowerCase(),n=b.location.hash.replace(/#\//,""),o="file:"==b.location.protocol?"http:":b.location.protocol,p=Math,q=function(){},r=function(){return!1},s=!(b.screen.width>1279&&1==b.devicePixelRatio||b.screen.width>1e3&&b.innerWidth<.9*b.screen.width),t=function(){var a=3,b=e.createElement("div"),c=b.getElementsByTagName("i");do b.innerHTML="<!--[if gt IE "+ ++a+"]><i></i><![endif]-->";while(c[0]);return a>4?a:e.documentMode||d}(),u=function(){return{html:e.documentElement,body:e.body,head:e.getElementsByTagName("head")[0],title:e.title}},v=b.parent!==b.self,w="data ready thumbnail loadstart loadfinish image play pause progress fullscreen_enter fullscreen_exit idle_enter idle_exit rescale lightbox_open lightbox_close lightbox_image",x=function(){var b=[];return a.each(w.split(" "),function(a,c){b.push(c),/_/.test(c)&&b.push(c.replace(/_/g,""))}),b}(),y=function(b){var c;return"object"!=typeof b?b:(a.each(b,function(d,e){/^[a-z]+_/.test(d)&&(c="",a.each(d.split("_"),function(a,b){c+=a>0?b.substr(0,1).toUpperCase()+b.substr(1):b}),b[c]=e,delete b[d])}),b)},z=function(b){return a.inArray(b,x)>-1?c[b.toUpperCase()]:b},A={youtube:{reg:/https?:\/\/(?:[a-zA_Z]{2,3}.)?(?:youtube\.com\/watch\?)((?:[\w\d\-\_\=]+&(?:amp;)?)*v(?:<[A-Z]+>)?=([0-9a-zA-Z\-\_]+))/i,embed:function(){return o+"//www.youtube.com/embed/"+this.id},get_thumb:function(a){return o+"//img.youtube.com/vi/"+this.id+"/default.jpg"},get_image:function(a){return o+"//img.youtube.com/vi/"+this.id+"/hqdefault.jpg"}},vimeo:{reg:/https?:\/\/(?:www\.)?(vimeo\.com)\/(?:hd#)?([0-9]+)/i,embed:function(){return o+"//player.vimeo.com/video/"+this.id},getUrl:function(){return o+"//vimeo.com/api/v2/video/"+this.id+".json?callback=?"},get_thumb:function(a){return a[0].thumbnail_medium},get_image:function(a){return a[0].thumbnail_large}},dailymotion:{reg:/https?:\/\/(?:www\.)?(dailymotion\.com)\/video\/([^_]+)/,embed:function(){return o+"//www.dailymotion.com/embed/video/"+this.id},getUrl:function(){return"https://api.dailymotion.com/video/"+this.id+"?fields=thumbnail_240_url,thumbnail_720_url&callback=?"},get_thumb:function(a){return a.thumbnail_240_url},get_image:function(a){return a.thumbnail_720_url}},_inst:[]},B=function(c,d){for(var e=0;e<A._inst.length;e++)if(A._inst[e].id===d&&A._inst[e].type==c)return A._inst[e];this.type=c,this.id=d,this.readys=[],A._inst.push(this);var f=this;a.extend(this,A[c]),_videoThumbs=function(b){f.data=b,a.each(f.readys,function(a,b){b(f.data)}),f.readys=[]},this.hasOwnProperty("getUrl")?a.getJSON(this.getUrl(),_videoThumbs):b.setTimeout(_videoThumbs,400),this.getMedia=function(a,b,c){c=c||q;var d=this,e=function(c){b(d["get_"+a](c))};try{d.data?e(d.data):d.readys.push(e)}catch(a){c()}}},C=function(a){var b;for(var c in A)if(b=a&&A[c].reg&&a.match(A[c].reg),b&&b.length)return{id:b[2],provider:c};return!1},D={support:function(){var a=u().html;return!v&&(a.requestFullscreen||a.msRequestFullscreen||a.mozRequestFullScreen||a.webkitRequestFullScreen)}(),callback:q,enter:function(a,b,c){this.instance=a,this.callback=b||q,c=c||u().html,c.requestFullscreen?c.requestFullscreen():c.msRequestFullscreen?c.msRequestFullscreen():c.mozRequestFullScreen?c.mozRequestFullScreen():c.webkitRequestFullScreen&&c.webkitRequestFullScreen()},exit:function(a){this.callback=a||q,e.exitFullscreen?e.exitFullscreen():e.msExitFullscreen?e.msExitFullscreen():e.mozCancelFullScreen?e.mozCancelFullScreen():e.webkitCancelFullScreen&&e.webkitCancelFullScreen()},instance:null,listen:function(){if(this.support){var a=function(){if(D.instance){var a=D.instance._fullscreen;e.fullscreen||e.mozFullScreen||e.webkitIsFullScreen||e.msFullscreenElement&&null!==e.msFullscreenElement?a._enter(D.callback):a._exit(D.callback)}};e.addEventListener("fullscreenchange",a,!1),e.addEventListener("MSFullscreenChange",a,!1),e.addEventListener("mozfullscreenchange",a,!1),e.addEventListener("webkitfullscreenchange",a,!1)}}},E=[],F=[],G=!1,H=!1,I=[],J=[],K=function(b){J.push(b),a.each(I,function(a,c){c._options.theme!=b.name&&(c._initialized||c._options.theme)||(c.theme=b,c._init.call(c))})},L=function(){return{clearTimer:function(b){a.each(c.get(),function(){this.clearTimer(b)})},addTimer:function(b){a.each(c.get(),function(){this.addTimer(b)})},array:function(a){return h.slice.call(a,0)},create:function(a,b){b=b||"div";var c=e.createElement(b);return c.className=a,c},removeFromArray:function(b,c){return a.each(b,function(a,d){if(d==c)return b.splice(a,1),!1}),b},getScriptPath:function(b){b=b||a("script:last").attr("src");var c=b.split("/");return 1==c.length?"":(c.pop(),c.join("/")+"/")},animate:function(){var d,f,g,h,i,j,k,l=function(a){var c,d="transition WebkitTransition MozTransition OTransition".split(" ");if(b.opera)return!1;for(c=0;d[c];c++)if("undefined"!=typeof a[d[c]])return d[c];return!1}((e.body||e.documentElement).style),m={MozTransition:"transitionend",OTransition:"oTransitionEnd",WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[l],n={_default:[.25,.1,.25,1],galleria:[.645,.045,.355,1],galleriaIn:[.55,.085,.68,.53],galleriaOut:[.25,.46,.45,.94],ease:[.25,0,.25,1],linear:[.25,.25,.75,.75],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]},o=function(b,c,d){var e={};d=d||"transition",a.each("webkit moz ms o".split(" "),function(){e["-"+this+"-"+d]=c}),b.css(e)},p=function(a){o(a,"none","transition"),c.WEBKIT&&c.TOUCH&&(o(a,"translate3d(0,0,0)","transform"),a.data("revert")&&(a.css(a.data("revert")),a.data("revert",null)))};return function(e,r,s){return s=a.extend({duration:400,complete:q,stop:!1},s),e=a(e),s.duration?l?(s.stop&&(e.off(m),p(e)),d=!1,a.each(r,function(a,b){k=e.css(a),L.parseValue(k)!=L.parseValue(b)&&(d=!0),e.css(a,k)}),d?(f=[],g=s.easing in n?n[s.easing]:n._default,h=" "+s.duration+"ms cubic-bezier("+g.join(",")+")",void b.setTimeout(function(b,d,e,g){return function(){b.one(d,function(a){return function(){p(a),s.complete.call(a[0])}}(b)),c.WEBKIT&&c.TOUCH&&(i={},j=[0,0,0],a.each(["left","top"],function(a,c){c in e&&(j[a]=L.parseValue(e[c])-L.parseValue(b.css(c))+"px",i[c]=e[c],delete e[c])}),(j[0]||j[1])&&(b.data("revert",i),f.push("-webkit-transform"+g),o(b,"translate3d("+j.join(",")+")","transform"))),a.each(e,function(a,b){f.push(a+g)}),o(b,f.join(",")),b.css(e)}}(e,m,r,h),2)):void b.setTimeout(function(){s.complete.call(e[0])},s.duration)):void e.animate(r,s):(e.css(r),void s.complete.call(e[0]))}}(),removeAlpha:function(a){if(a instanceof jQuery&&(a=a[0]),t<9&&a){var b=a.style,c=a.currentStyle,d=c&&c.filter||b.filter||"";/alpha/.test(d)&&(b.filter=d.replace(/alpha\([^)]*\)/i,""))}},forceStyles:function(b,c){b=a(b),b.attr("style")&&b.data("styles",b.attr("style")).removeAttr("style"),b.css(c)},revertStyles:function(){a.each(L.array(arguments),function(b,c){c=a(c),c.removeAttr("style"),c.attr("style",""),c.data("styles")&&c.attr("style",c.data("styles")).data("styles",null)})},moveOut:function(a){L.forceStyles(a,{position:"absolute",left:-1e4})},moveIn:function(){L.revertStyles.apply(L,L.array(arguments))},hide:function(b,c,d){d=d||q;var e=a(b);b=e[0],e.data("opacity")||e.data("opacity",e.css("opacity"));var f={opacity:0};if(c){var g=t<9&&b?function(){L.removeAlpha(b),b.style.visibility="hidden",d.call(b)}:d;L.animate(b,f,{duration:c,complete:g,stop:!0})}else t<9&&b?(L.removeAlpha(b),b.style.visibility="hidden"):e.css(f)},show:function(b,c,d){d=d||q;var e=a(b);b=e[0];var f=parseFloat(e.data("opacity"))||1,g={opacity:f};if(c){t<9&&(e.css("opacity",0),b.style.visibility="visible");var h=t<9&&b?function(){1==g.opacity&&L.removeAlpha(b),d.call(b)}:d;L.animate(b,g,{duration:c,complete:h,stop:!0})}else t<9&&1==g.opacity&&b?(L.removeAlpha(b),b.style.visibility="visible"):e.css(g)},wait:function(d){c._waiters=c._waiters||[],d=a.extend({until:r,success:q,error:function(){c.raise("Could not complete wait function.")},timeout:3e3},d);var e,f,g,h=L.timestamp(),i=function(){return f=L.timestamp(),e=f-h,L.removeFromArray(c._waiters,g),d.until(e)?(d.success(),!1):"number"==typeof d.timeout&&f>=h+d.timeout?(d.error(),!1):void c._waiters.push(g=b.setTimeout(i,10))};c._waiters.push(g=b.setTimeout(i,10))},toggleQuality:function(a,b){7!==t&&8!==t||!a||"IMG"!=a.nodeName.toUpperCase()||("undefined"==typeof b&&(b="nearest-neighbor"===a.style.msInterpolationMode),a.style.msInterpolationMode=b?"bicubic":"nearest-neighbor")},insertStyleTag:function(b,c){if(!c||!a("#"+c).length){var d=e.createElement("style");if(c&&(d.id=c),u().head.appendChild(d),d.styleSheet)d.styleSheet.cssText=b;else{var f=e.createTextNode(b);d.appendChild(f)}}},loadScript:function(b,c){var d=!1,e=a("<script>").attr({src:b,async:!0}).get(0);e.onload=e.onreadystatechange=function(){d||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState||(d=!0,e.onload=e.onreadystatechange=null,"function"==typeof c&&c.call(this,this))},u().head.appendChild(e)},parseValue:function(a){if("number"==typeof a)return a;if("string"==typeof a){var b=a.match(/\-?\d|\./g);return b&&b.constructor===Array?1*b.join(""):0}return 0},timestamp:function(){return(new Date).getTime()},loadCSS:function(b,f,g){var h,i;if(a("link[rel=stylesheet]").each(function(){if(new RegExp(b).test(this.href))return h=this,!1}),"function"==typeof f&&(g=f,f=d),g=g||q,h)return g.call(h,h),h;if(i=e.styleSheets.length,a("#"+f).length)a("#"+f).attr("href",b),i--;else{h=a("<link>").attr({rel:"stylesheet",href:b,id:f}).get(0);var j=a('link[rel="stylesheet"], style');if(j.length?j.get(0).parentNode.insertBefore(h,j[0]):u().head.appendChild(h),t&&i>=31)return void c.raise("You have reached the browser stylesheet limit (31)",!0)}if("function"==typeof g){var k=a("<s>").attr("id","galleria-loader").hide().appendTo(u().body);L.wait({until:function(){return k.height()>0},success:function(){k.remove(),g.call(h,h)},error:function(){k.remove(),c.raise("Theme CSS could not load after 20 sec. "+(c.QUIRK?"Your browser is in Quirks Mode, please add a correct doctype.":"Please download the latest theme at http://galleria.io/customer/."),!0)},timeout:5e3})}return h}}}(),M=function(b){var c=".galleria-videoicon{width:60px;height:60px;position:absolute;top:50%;left:50%;z-index:1;margin:-30px 0 0 -30px;cursor:pointer;background:#000;background:rgba(0,0,0,.8);border-radius:3px;-webkit-transition:all 150ms}.galleria-videoicon i{width:0px;height:0px;border-style:solid;border-width:10px 0 10px 16px;display:block;border-color:transparent transparent transparent #ffffff;margin:20px 0 0 22px}.galleria-image:hover .galleria-videoicon{background:#000}";return L.insertStyleTag(c,"galleria-videoicon"),a(L.create("galleria-videoicon")).html("<i></i>").appendTo(b).click(function(){a(this).siblings("img").mouseup()})},N=function(){var b=function(b,c,d,e){var f=this.getOptions("easing"),g=this.getStageWidth(),h={left:g*(b.rewind?-1:1)},i={left:0};d?(h.opacity=0,i.opacity=1):h.opacity=1,a(b.next).css(h),L.animate(b.next,i,{duration:b.speed,complete:function(a){return function(){c(),a.css({left:0})}}(a(b.next).add(b.prev)),queue:!1,easing:f}),e&&(b.rewind=!b.rewind),b.prev&&(h={left:0},i={left:g*(b.rewind?1:-1)},d&&(h.opacity=1,i.opacity=0),a(b.prev).css(h),L.animate(b.prev,i,{duration:b.speed,queue:!1,easing:f,complete:function(){a(this).css("opacity",0)}}))};return{active:!1,init:function(a,b,c){N.effects.hasOwnProperty(a)&&N.effects[a].call(this,b,c)},effects:{fade:function(b,c){a(b.next).css({opacity:0,left:0}),L.animate(b.next,{opacity:1},{duration:b.speed,complete:c}),b.prev&&(a(b.prev).css("opacity",1).show(),L.animate(b.prev,{opacity:0},{duration:b.speed}))},flash:function(b,c){a(b.next).css({opacity:0,left:0}),b.prev?L.animate(b.prev,{opacity:0},{duration:b.speed/2,complete:function(){L.animate(b.next,{opacity:1},{duration:b.speed,complete:c})}}):L.animate(b.next,{opacity:1},{duration:b.speed,complete:c})},pulse:function(b,c){b.prev&&a(b.prev).hide(),a(b.next).css({opacity:0,left:0}).show(),L.animate(b.next,{opacity:1},{duration:b.speed,complete:c})},slide:function(a,c){b.apply(this,L.array(arguments))},fadeslide:function(a,c){b.apply(this,L.array(arguments).concat([!0]))},doorslide:function(a,c){b.apply(this,L.array(arguments).concat([!1,!0]))}}}}();D.listen(),a.event.special["click:fast"]={propagate:!0,add:function(c){var d=function(a){if(a.touches&&a.touches.length){var b=a.touches[0];return{x:b.pageX,y:b.pageY}}},e={touched:!1,touchdown:!1,coords:{x:0,y:0},evObj:{}};a(this).data({clickstate:e,timer:0}).on("touchstart.fast",function(c){b.clearTimeout(a(this).data("timer")),a(this).data("clickstate",{touched:!0,touchdown:!0,coords:d(c.originalEvent),evObj:c})}).on("touchmove.fast",function(b){var c=d(b.originalEvent),e=a(this).data("clickstate"),f=Math.max(Math.abs(e.coords.x-c.x),Math.abs(e.coords.y-c.y));f>6&&a(this).data("clickstate",a.extend(e,{touchdown:!1}))}).on("touchend.fast",function(d){var f=a(this),g=f.data("clickstate");g.touchdown&&c.handler.call(this,d),f.data("timer",b.setTimeout(function(){f.data("clickstate",e)},400))}).on("click.fast",function(b){var d=a(this).data("clickstate");return!d.touched&&(a(this).data("clickstate",e),void c.handler.call(this,b))})},remove:function(){a(this).off("touchstart.fast touchmove.fast touchend.fast click.fast")}},g.on("orientationchange",function(){a(this).resize()}),c=function(){var h=this;this._options={},this._playing=!1,this._playtime=5e3,this._active=null,this._queue={length:0},this._data=[],this._dom={},this._thumbnails=[],this._layers=[],this._initialized=!1,this._firstrun=!1,this._stageWidth=0,this._stageHeight=0,this._target=d,this._binds=[],this._id=parseInt(1e4*p.random(),10);var i="container stage images image-nav image-nav-left image-nav-right info info-text info-title info-description thumbnails thumbnails-list thumbnails-container thumb-nav-left thumb-nav-right loader counter tooltip",j="current total";a.each(i.split(" "),function(a,b){h._dom[b]=L.create("galleria-"+b)}),a.each(j.split(" "),function(a,b){h._dom[b]=L.create("galleria-"+b,"span")});var k=this._keyboard={keys:{UP:38,DOWN:40,LEFT:37,RIGHT:39,RETURN:13,ESCAPE:27,BACKSPACE:8,SPACE:32},map:{},bound:!1,press:function(a){var b=a.keyCode||a.which;b in k.map&&"function"==typeof k.map[b]&&k.map[b].call(h,a)},attach:function(a){var b,c;for(b in a)a.hasOwnProperty(b)&&(c=b.toUpperCase(),c in k.keys?k.map[k.keys[c]]=a[b]:k.map[c]=a[b]);k.bound||(k.bound=!0,f.on("keydown",k.press))},detach:function(){k.bound=!1,k.map={},f.off("keydown",k.press)}},l=this._controls={0:d,1:d,active:0,swap:function(){l.active=l.active?0:1},getActive:function(){return h._options.swipe?l.slides[h._active]:l[l.active]},getNext:function(){return h._options.swipe?l.slides[h.getNext(h._active)]:l[1-l.active]},slides:[],frames:[],layers:[]},n=this._carousel={next:h.$("thumb-nav-right"),prev:h.$("thumb-nav-left"),width:0,current:0,max:0,hooks:[],update:function(){var b=0,c=0,d=[0];a.each(h._thumbnails,function(e,f){if(f.ready){b+=f.outerWidth||a(f.container).outerWidth(!0);var g=a(f.container).width();b+=g-p.floor(g),d[e+1]=b,c=p.max(c,f.outerHeight||a(f.container).outerHeight(!0))}}),h.$("thumbnails").css({width:b,height:c}),n.max=b,n.hooks=d,n.width=h.$("thumbnails-list").width(),n.setClasses(),h.$("thumbnails-container").toggleClass("galleria-carousel",b>n.width),n.width=h.$("thumbnails-list").width()},bindControls:function(){var a;n.next.on("click:fast",function(b){if(b.preventDefault(),"auto"===h._options.carouselSteps){for(a=n.current;a<n.hooks.length;a++)if(n.hooks[a]-n.hooks[n.current]>n.width){n.set(a-2);break}}else n.set(n.current+h._options.carouselSteps)}),n.prev.on("click:fast",function(b){if(b.preventDefault(),"auto"===h._options.carouselSteps)for(a=n.current;a>=0;a--){if(n.hooks[n.current]-n.hooks[a]>n.width){n.set(a+2);break}if(0===a){n.set(0);break}}else n.set(n.current-h._options.carouselSteps)})},set:function(a){for(a=p.max(a,0);n.hooks[a-1]+n.width>=n.max&&a>=0;)a--;n.current=a,n.animate()},getLast:function(a){return(a||n.current)-1},follow:function(a){if(0===a||a===n.hooks.length-2)return void n.set(a);for(var b=n.current;n.hooks[b]-n.hooks[n.current]<n.width&&b<=n.hooks.length;)b++;a-1<n.current?n.set(a-1):a+2>b&&n.set(a-b+n.current+2)},setClasses:function(){n.prev.toggleClass("disabled",!n.current),n.next.toggleClass("disabled",n.hooks[n.current]+n.width>=n.max)},animate:function(b){n.setClasses();var c=n.hooks[n.current]*-1;isNaN(c)||(h.$("thumbnails").css("left",function(){return a(this).css("left")}),L.animate(h.get("thumbnails"),{left:c},{duration:h._options.carouselSpeed,easing:h._options.easing,queue:!1}))}},o=this._tooltip={initialized:!1,open:!1,timer:"tooltip"+h._id,swapTimer:"swap"+h._id,init:function(){o.initialized=!0;var a=".galleria-tooltip{padding:3px 8px;max-width:50%;background:#ffe;color:#000;z-index:3;position:absolute;font-size:11px;line-height:1.3;opacity:0;box-shadow:0 0 2px rgba(0,0,0,.4);-moz-box-shadow:0 0 2px rgba(0,0,0,.4);-webkit-box-shadow:0 0 2px rgba(0,0,0,.4);}";L.insertStyleTag(a,"galleria-tooltip"),h.$("tooltip").css({opacity:.8,visibility:"visible",display:"none"})},move:function(a){var b=h.getMousePosition(a).x,c=h.getMousePosition(a).y,d=h.$("tooltip"),e=b,f=c,g=d.outerHeight(!0)+1,i=d.outerWidth(!0),j=g+15,k=h.$("container").width()-i-2,l=h.$("container").height()-g-2;isNaN(e)||isNaN(f)||(e+=10,f-=g+8,e=p.max(0,p.min(k,e)),f=p.max(0,p.min(l,f)),c<j&&(f=j),d.css({left:e,top:f}))},bind:function(b,d){if(!c.TOUCH){o.initialized||o.init();var e=function(){h.$("container").off("mousemove",o.move),h.clearTimer(o.timer),h.$("tooltip").stop().animate({opacity:0},200,function(){h.$("tooltip").hide(),h.addTimer(o.swapTimer,function(){o.open=!1},1e3)})},f=function(b,c){o.define(b,c),a(b).hover(function(){h.clearTimer(o.swapTimer),h.$("container").off("mousemove",o.move).on("mousemove",o.move).trigger("mousemove"),o.show(b),h.addTimer(o.timer,function(){h.$("tooltip").stop().show().animate({opacity:1}),o.open=!0},o.open?0:500)},e).click(e)};"string"==typeof d?f(b in h._dom?h.get(b):b,d):a.each(b,function(a,b){f(h.get(a),b)})}},show:function(c){c=a(c in h._dom?h.get(c):c);var d=c.data("tt"),e=function(a){b.setTimeout(function(a){return function(){o.move(a)}}(a),10),c.off("mouseup",e)};d="function"==typeof d?d():d,d&&(h.$("tooltip").html(d.replace(/\s/," ")),c.on("mouseup",e))},define:function(b,c){if("function"!=typeof c){var d=c;c=function(){return d}}b=a(b in h._dom?h.get(b):b).data("tt",c),o.show(b)}},q=this._fullscreen={scrolled:0,crop:d,active:!1,prev:a(),beforeEnter:function(a){a()},beforeExit:function(a){a()},keymap:h._keyboard.map,parseCallback:function(b,c){return N.active?function(){"function"==typeof b&&b.call(h);var d=h._controls.getActive(),e=h._controls.getNext();h._scaleImage(e),h._scaleImage(d),c&&h._options.trueFullscreen&&a(d.container).add(e.container).trigger("transitionend")}:b},enter:function(a){q.beforeEnter(function(){a=q.parseCallback(a,!0),h._options.trueFullscreen&&D.support?(q.active=!0,L.forceStyles(h.get("container"),{width:"100%",height:"100%"}),h.rescale(),c.MAC?c.SAFARI&&/version\/[1-5]/.test(m)?(h.$("stage").css("opacity",0),b.setTimeout(function(){q.scale(),h.$("stage").css("opacity",1)},4)):(h.$("container").css("opacity",0).addClass("fullscreen"),b.setTimeout(function(){q.scale(),h.$("container").css("opacity",1)},50)):h.$("container").addClass("fullscreen"),g.resize(q.scale),D.enter(h,a,h.get("container"))):(q.scrolled=g.scrollTop(),c.TOUCH||b.scrollTo(0,0),q._enter(a))})},_enter:function(f){q.active=!0,v&&(q.iframe=function(){var d,f=e.referrer,g=e.createElement("a"),h=b.location;return g.href=f,g.protocol!=h.protocol||g.hostname!=h.hostname||g.port!=h.port?(c.raise("Parent fullscreen not available. Iframe protocol, domains and ports must match."),!1):(q.pd=b.parent.document,a(q.pd).find("iframe").each(function(){var a=this.contentDocument||this.contentWindow.document;if(a===e)return d=this,!1}),d)}()),L.hide(h.getActiveImage()),v&&q.iframe&&(q.iframe.scrolled=a(b.parent).scrollTop(),b.parent.scrollTo(0,0));var i=h.getData(),j=h._options,k=!h._options.trueFullscreen||!D.support,l={height:"100%",overflow:"hidden",margin:0,padding:0};if(k&&(h.$("container").addClass("fullscreen"),q.prev=h.$("container").prev(),q.prev.length||(q.parent=h.$("container").parent()),h.$("container").appendTo("body"),L.forceStyles(h.get("container"),{position:c.TOUCH?"absolute":"fixed",top:0,left:0,width:"100%",height:"100%",zIndex:1e4}),L.forceStyles(u().html,l),L.forceStyles(u().body,l)),v&&q.iframe&&(L.forceStyles(q.pd.documentElement,l),L.forceStyles(q.pd.body,l),L.forceStyles(q.iframe,a.extend(l,{width:"100%",height:"100%",top:0,left:0,position:"fixed",zIndex:1e4,border:"none"}))),q.keymap=a.extend({},h._keyboard.map),h.attachKeyboard({escape:h.exitFullscreen,right:h.next,left:h.prev}),q.crop=j.imageCrop,j.fullscreenCrop!=d&&(j.imageCrop=j.fullscreenCrop),i&&i.big&&i.image!==i.big){var m=new c.Picture,n=m.isCached(i.big),o=h.getIndex(),p=h._thumbnails[o];h.trigger({type:c.LOADSTART,cached:n,rewind:!1,index:o,imageTarget:h.getActiveImage(),thumbTarget:p,galleriaData:i}),m.load(i.big,function(b){h._scaleImage(b,{complete:function(b){h.trigger({type:c.LOADFINISH,cached:n,index:o,rewind:!1,imageTarget:b.image,thumbTarget:p});var d=h._controls.getActive().image;d&&a(d).width(b.image.width).height(b.image.height).attr("style",a(b.image).attr("style")).attr("src",b.image.src)}})});var r=h.getNext(o),s=new c.Picture,t=h.getData(r);s.preload(h.isFullscreen()&&t.big?t.big:t.image)}h.rescale(function(){h.addTimer(!1,function(){k&&L.show(h.getActiveImage()),"function"==typeof f&&f.call(h),h.rescale()},100),h.trigger(c.FULLSCREEN_ENTER)}),k?g.resize(q.scale):L.show(h.getActiveImage())},scale:function(){h.rescale()},exit:function(a){q.beforeExit(function(){a=q.parseCallback(a),h._options.trueFullscreen&&D.support?D.exit(a):q._exit(a)})},_exit:function(a){q.active=!1;var d=!h._options.trueFullscreen||!D.support,e=h.$("container").removeClass("fullscreen");if(q.parent?q.parent.prepend(e):e.insertAfter(q.prev),d){L.hide(h.getActiveImage()),L.revertStyles(h.get("container"),u().html,u().body),c.TOUCH||b.scrollTo(0,q.scrolled);var f=h._controls.frames[h._controls.active];f&&f.image&&(f.image.src=f.image.src)}v&&q.iframe&&(L.revertStyles(q.pd.documentElement,q.pd.body,q.iframe),q.iframe.scrolled&&b.parent.scrollTo(0,q.iframe.scrolled)),h.detachKeyboard(),h.attachKeyboard(q.keymap),h._options.imageCrop=q.crop;var i=h.getData().big,j=h._controls.getActive().image;!h.getData().iframe&&j&&i&&i==j.src&&b.setTimeout(function(a){return function(){j.src=a}}(h.getData().image),1),h.rescale(function(){h.addTimer(!1,function(){d&&L.show(h.getActiveImage()),"function"==typeof a&&a.call(h),g.trigger("resize")},50),h.trigger(c.FULLSCREEN_EXIT)}),g.off("resize",q.scale)}},r=this._idle={trunk:[],bound:!1,active:!1,add:function(b,d,e,f){if(b&&!c.TOUCH){r.bound||r.addEvent(),b=a(b),"boolean"==typeof e&&(f=e,e={}),e=e||{};var g,h={};for(g in d)d.hasOwnProperty(g)&&(h[g]=b.css(g));b.data("idle",{from:a.extend(h,e),to:d,complete:!0,busy:!1}),f?b.css(d):r.addTimer(),r.trunk.push(b)}},remove:function(b){b=a(b),a.each(r.trunk,function(a,c){c&&c.length&&!c.not(b).length&&(b.css(b.data("idle").from),r.trunk.splice(a,1))}),r.trunk.length||(r.removeEvent(),h.clearTimer(r.timer))},addEvent:function(){r.bound=!0,h.$("container").on("mousemove click",r.showAll),"hover"==h._options.idleMode&&h.$("container").on("mouseleave",r.hide)},removeEvent:function(){r.bound=!1,h.$("container").on("mousemove click",r.showAll),"hover"==h._options.idleMode&&h.$("container").off("mouseleave",r.hide)},addTimer:function(){"hover"!=h._options.idleMode&&h.addTimer("idle",function(){r.hide()},h._options.idleTime)},hide:function(){if(h._options.idleMode&&h.getIndex()!==!1){h.trigger(c.IDLE_ENTER);var b=r.trunk.length;a.each(r.trunk,function(a,c){var d=c.data("idle");d&&(c.data("idle").complete=!1,L.animate(c,d.to,{duration:h._options.idleSpeed,complete:function(){a==b-1&&(r.active=!1)}}))})}},showAll:function(){h.clearTimer("idle"),a.each(r.trunk,function(a,b){r.show(b)})},show:function(b){var d=b.data("idle");r.active&&(d.busy||d.complete)||(d.busy=!0,h.trigger(c.IDLE_EXIT),h.clearTimer("idle"),L.animate(b,d.from,{duration:h._options.idleSpeed/2,complete:function(){r.active=!0,a(b).data("idle").busy=!1,a(b).data("idle").complete=!0}})),r.addTimer()}},s=this._lightbox={width:0,height:0,initialized:!1,active:null,image:null,elems:{},keymap:!1,init:function(){if(!s.initialized){s.initialized=!0;var b="overlay box content shadow title info close prevholder prev nextholder next counter image",d={},e=h._options,f="",g="position:absolute;",i="lightbox-",j={overlay:"position:fixed;display:none;opacity:"+e.overlayOpacity+";filter:alpha(opacity="+100*e.overlayOpacity+");top:0;left:0;width:100%;height:100%;background:"+e.overlayBackground+";z-index:99990",box:"position:fixed;display:none;width:400px;height:400px;top:50%;left:50%;margin-top:-200px;margin-left:-200px;z-index:99991",shadow:g+"background:#000;width:100%;height:100%;",content:g+"background-color:#fff;top:10px;left:10px;right:10px;bottom:10px;overflow:hidden",info:g+"bottom:10px;left:10px;right:10px;color:#444;font:11px/13px arial,sans-serif;height:13px",close:g+"top:10px;right:10px;height:20px;width:20px;background:#fff;text-align:center;cursor:pointer;color:#444;font:16px/22px arial,sans-serif;z-index:99999",image:g+"top:10px;left:10px;right:10px;bottom:30px;overflow:hidden;display:block;",prevholder:g+"width:50%;top:0;bottom:40px;cursor:pointer;",nextholder:g+"width:50%;top:0;bottom:40px;right:-1px;cursor:pointer;",prev:g+"top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;left:20px;display:none;text-align:center;color:#000;font:bold 16px/36px arial,sans-serif",next:g+"top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;right:20px;left:auto;display:none;font:bold 16px/36px arial,sans-serif;text-align:center;color:#000",title:"float:left",counter:"float:right;margin-left:8px;"},k=function(b){return b.hover(function(){a(this).css("color","#bbb")},function(){a(this).css("color","#444")})},l={},m="";m=t>7?t<9?"background:#000;filter:alpha(opacity=0);":"background:rgba(0,0,0,0);":"z-index:99999",j.nextholder+=m,j.prevholder+=m,a.each(j,function(a,b){f+=".galleria-"+i+a+"{"+b+"}"}),f+=".galleria-"+i+"box.iframe .galleria-"+i+"prevholder,.galleria-"+i+"box.iframe .galleria-"+i+"nextholder{width:100px;height:100px;top:50%;margin-top:-70px}",L.insertStyleTag(f,"galleria-lightbox"),a.each(b.split(" "),function(a,b){h.addElement("lightbox-"+b),d[b]=s.elems[b]=h.get("lightbox-"+b)}),s.image=new c.Picture,a.each({box:"shadow content close prevholder nextholder",info:"title counter",content:"info image",prevholder:"prev",nextholder:"next"},function(b,c){var d=[];a.each(c.split(" "),function(a,b){d.push(i+b)}),l[i+b]=d}),h.append(l),a(d.image).append(s.image.container),a(u().body).append(d.overlay,d.box),k(a(d.close).on("click:fast",s.hide).html("×")),a.each(["Prev","Next"],function(b,e){var f=a(d[e.toLowerCase()]).html(/v/.test(e)?"‹ ":" ›"),g=a(d[e.toLowerCase()+"holder"]);return g.on("click:fast",function(){s["show"+e]()}),t<8||c.TOUCH?void f.show():void g.hover(function(){f.show()},function(a){f.stop().fadeOut(200)})}),a(d.overlay).on("click:fast",s.hide),c.IPAD&&(h._options.lightboxTransitionSpeed=0)}},rescale:function(b){var d=p.min(g.width()-40,s.width),e=p.min(g.height()-60,s.height),f=p.min(d/s.width,e/s.height),i=p.round(s.width*f)+40,j=p.round(s.height*f)+60,k={width:i,height:j,"margin-top":p.ceil(j/2)*-1,"margin-left":p.ceil(i/2)*-1};b?a(s.elems.box).css(k):a(s.elems.box).animate(k,{duration:h._options.lightboxTransitionSpeed,easing:h._options.easing,complete:function(){var b=s.image,d=h._options.lightboxFadeSpeed;h.trigger({type:c.LIGHTBOX_IMAGE,imageTarget:b.image}),a(b.container).show(),a(b.image).animate({opacity:1},d),L.show(s.elems.info,d)}})},hide:function(){s.image.image=null,g.off("resize",s.rescale),a(s.elems.box).hide().find("iframe").remove(),L.hide(s.elems.info),h.detachKeyboard(),h.attachKeyboard(s.keymap),s.keymap=!1,L.hide(s.elems.overlay,200,function(){a(this).hide().css("opacity",h._options.overlayOpacity),h.trigger(c.LIGHTBOX_CLOSE)})},showNext:function(){s.show(h.getNext(s.active))},showPrev:function(){s.show(h.getPrev(s.active))},show:function(d){s.active=d="number"==typeof d?d:h.getIndex()||0,s.initialized||s.init(),h.trigger(c.LIGHTBOX_OPEN),s.keymap||(s.keymap=a.extend({},h._keyboard.map),h.attachKeyboard({escape:s.hide,right:s.showNext,left:s.showPrev})),g.off("resize",s.rescale);var e,f,i,j=h.getData(d),k=h.getDataLength(),l=h.getNext(d);L.hide(s.elems.info);try{for(i=h._options.preload;i>0;i--)f=new c.Picture,e=h.getData(l),f.preload(e.big?e.big:e.image),l=h.getNext(l)}catch(a){}s.image.isIframe=j.iframe&&!j.image,a(s.elems.box).toggleClass("iframe",s.image.isIframe),a(s.image.container).find(".galleria-videoicon").remove(),s.image.load(j.big||j.image||j.iframe,function(c){if(c.isIframe){var e=a(b).width(),f=a(b).height();if(c.video&&h._options.maxVideoSize){var i=p.min(h._options.maxVideoSize/e,h._options.maxVideoSize/f);i<1&&(e*=i,f*=i)}s.width=e,s.height=f}else s.width=c.original.width,s.height=c.original.height;if(a(c.image).css({width:c.isIframe?"100%":"100.1%",height:c.isIframe?"100%":"100.1%",top:0,bottom:0,zIndex:99998,opacity:0,visibility:"visible"}).parent().height("100%"),s.elems.title.innerHTML=j.title||"",s.elems.counter.innerHTML=d+1+" / "+k,g.resize(s.rescale),s.rescale(),j.image&&j.iframe){if(a(s.elems.box).addClass("iframe"),j.video){var l=M(c.container).hide();b.setTimeout(function(){l.fadeIn(200)},200)}a(c.image).css("cursor","pointer").mouseup(function(b,c){return function(d){a(s.image.container).find(".galleria-videoicon").remove(),d.preventDefault(),c.isIframe=!0,c.load(b.iframe+(b.video?"&autoplay=1":""),{width:"100%",height:t<8?a(s.image.container).height():"100%"})}}(j,c))}}),a(s.elems.overlay).show().css("visibility","visible"),a(s.elems.box).show()}},w=this._timer={trunk:{},add:function(a,c,d,e){if(a=a||(new Date).getTime(),e=e||!1,this.clear(a),e){var f=c;c=function(){f(),w.add(a,c,d)}}this.trunk[a]=b.setTimeout(c,d)},clear:function(a){var c,d=function(a){b.clearTimeout(this.trunk[a]),delete this.trunk[a]};if(a&&a in this.trunk)d.call(this,a);else if("undefined"==typeof a)for(c in this.trunk)this.trunk.hasOwnProperty(c)&&d.call(this,c)}};return this},c.prototype={constructor:c,init:function(b,e){if(e=y(e),this._original={target:b,options:e,data:null},this._target=this._dom.target=b.nodeName?b:a(b).get(0),this._original.html=this._target.innerHTML,F.push(this),!this._target)return void c.raise("Target not found",!0);if(this._options={autoplay:!1,carousel:!0,carouselFollow:!0,carouselSpeed:400,carouselSteps:"auto",clicknext:!1,dailymotion:{foreground:"%23EEEEEE",highlight:"%235BCEC5",background:"%23222222",logo:0,hideInfos:1},dataConfig:function(a){return{}},dataSelector:"img",dataSort:!1,dataSource:this._target,debug:d,dummy:d,easing:"galleria",extend:function(a){},fullscreenCrop:d,fullscreenDoubleTap:!0,fullscreenTransition:d,height:0,idleMode:!0,idleTime:3e3,idleSpeed:200,imageCrop:!1,imageMargin:0,imagePan:!1,imagePanSmoothness:12,imagePosition:"50%",imageTimeout:d,initialTransition:d,keepSource:!1,layerFollow:!0,lightbox:!1,lightboxFadeSpeed:200,lightboxTransitionSpeed:200,linkSourceImages:!0,maxScaleRatio:d,maxVideoSize:d,minScaleRatio:d,overlayOpacity:.85,overlayBackground:"#0b0b0b",pauseOnInteraction:!0,popupLinks:!1,preload:2,queue:!0,responsive:!0,show:0,showInfo:!0,showCounter:!0,showImagenav:!0,swipe:"auto",theme:null,thumbCrop:!0,thumbEventType:"click:fast",thumbMargin:0,thumbQuality:"auto",thumbDisplayOrder:!0,thumbPosition:"50%",thumbnails:!0,touchTransition:d,transition:"fade",transitionInitial:d,transitionSpeed:400,trueFullscreen:!0,useCanvas:!1,variation:"",videoPoster:!0,vimeo:{title:0,byline:0,portrait:0,color:"aaaaaa"},wait:5e3, -width:"auto",youtube:{modestbranding:1,autohide:1,color:"white",hd:1,rel:0,showinfo:0}},this._options.initialTransition=this._options.initialTransition||this._options.transitionInitial,e&&(e.debug===!1&&(j=!1),"number"==typeof e.imageTimeout&&(k=e.imageTimeout),"string"==typeof e.dummy&&(l=e.dummy),"string"==typeof e.theme&&(this._options.theme=e.theme)),a(this._target).children().hide(),c.QUIRK&&c.raise("Your page is in Quirks mode, Galleria may not render correctly. Please validate your HTML and add a correct doctype."),J.length)if(this._options.theme){for(var f=0;f<J.length;f++)if(this._options.theme===J[f].name){this.theme=J[f];break}}else this.theme=J[0];return"object"==typeof this.theme?this._init():I.push(this),this},_init:function(){var f=this,h=this._options;if(this._initialized)return c.raise("Init failed: Gallery instance already initialized."),this;if(this._initialized=!0,!this.theme)return c.raise("Init failed: No theme found.",!0),this;if(a.extend(!0,h,this.theme.defaults,this._original.options,c.configure.options),h.swipe=function(a){return"enforced"==a||a!==!1&&"disabled"!=a&&!!c.TOUCH}(h.swipe),h.swipe&&(h.clicknext=!1,h.imagePan=!1),function(a){return"getContext"in a?void(H=H||{elem:a,context:a.getContext("2d"),cache:{},length:0}):void(a=null)}(e.createElement("canvas")),this.bind(c.DATA,function(){b.screen&&b.screen.width&&Array.prototype.forEach&&this._data.forEach(function(a){var c="devicePixelRatio"in b?b.devicePixelRatio:1,d=p.max(b.screen.width,b.screen.height);d*c<1024&&(a.big=a.image)}),this._original.data=this._data,this.get("total").innerHTML=this.getDataLength();var a=this.$("container");f._options.height<2&&(f._userRatio=f._ratio=f._options.height);var d={width:0,height:0},e=function(){return f.$("stage").height()};L.wait({until:function(){return d=f._getWH(),a.width(d.width).height(d.height),e()&&d.width&&d.height>50},success:function(){f._width=d.width,f._height=d.height,f._ratio=f._ratio||d.height/d.width,c.WEBKIT?b.setTimeout(function(){f._run()},1):f._run()},error:function(){e()?c.raise("Could not extract sufficient width/height of the gallery container. Traced measures: width:"+d.width+"px, height: "+d.height+"px.",!0):c.raise("Could not extract a stage height from the CSS. Traced height: "+e()+"px.",!0)},timeout:"number"==typeof this._options.wait&&this._options.wait})}),this.append({"info-text":["info-title","info-description"],info:["info-text"],"image-nav":["image-nav-right","image-nav-left"],stage:["images","loader","counter","image-nav"],"thumbnails-list":["thumbnails"],"thumbnails-container":["thumb-nav-left","thumbnails-list","thumb-nav-right"],container:["stage","thumbnails-container","info","tooltip"]}),L.hide(this.$("counter").append(this.get("current"),e.createTextNode(" / "),this.get("total"))),this.setCounter("–"),L.hide(f.get("tooltip")),this.$("container").addClass([c.TOUCH?"touch":"notouch",this._options.variation,"galleria-theme-"+this.theme.name].join(" ")),this._options.swipe||a.each(new Array(2),function(b){var d=new c.Picture;a(d.container).css({position:"absolute",top:0,left:0}).prepend(f._layers[b]=a(L.create("galleria-layer")).css({position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:2})[0]),f.$("images").append(d.container),f._controls[b]=d;var e=new c.Picture;e.isIframe=!0,a(e.container).attr("class","galleria-frame").css({position:"absolute",top:0,left:0,zIndex:4,background:"#000",display:"none"}).appendTo(d.container),f._controls.frames[b]=e}),this.$("images").css({position:"relative",top:0,left:0,width:"100%",height:"100%"}),h.swipe&&(this.$("images").css({position:"absolute",top:0,left:0,width:0,height:"100%"}),this.finger=new c.Finger(this.get("stage"),{onchange:function(a){f.pause().show(a)},oncomplete:function(b){var c=p.max(0,p.min(parseInt(b,10),f.getDataLength()-1)),d=f.getData(c);a(f._thumbnails[c].container).addClass("active").siblings(".active").removeClass("active"),d&&(f.$("images").find(".galleria-frame").css("opacity",0).hide().find("iframe").remove(),f._options.carousel&&f._options.carouselFollow&&f._carousel.follow(c))}}),this.bind(c.RESCALE,function(){this.finger.setup()}),this.$("stage").on("click",function(c){var e=f.getData();if(e){if(e.iframe){f.isPlaying()&&f.pause();var g=f._controls.frames[f._active],h=f._stageWidth,i=f._stageHeight;if(a(g.container).find("iframe").length)return;return a(g.container).css({width:h,height:i,opacity:0}).show().animate({opacity:1},200),void b.setTimeout(function(){g.load(e.iframe+(e.video?"&autoplay=1":""),{width:h,height:i},function(a){f.$("container").addClass("videoplay"),a.scale({width:f._stageWidth,height:f._stageHeight,iframelimit:e.video?f._options.maxVideoSize:d})})},100)}if(e.link)if(f._options.popupLinks){b.open(e.link,"_blank")}else b.location.href=e.link;else;}}),this.bind(c.IMAGE,function(b){f.setCounter(b.index),f.setInfo(b.index);var c=this.getNext(),d=this.getPrev(),e=[d,c];e.push(this.getNext(c),this.getPrev(d),f._controls.slides.length-1);var g=[];a.each(e,function(b,c){a.inArray(c,g)==-1&&g.push(c)}),a.each(g,function(b,c){var d=f.getData(c),e=f._controls.slides[c],g=f.isFullscreen()&&d.big?d.big:d.image||d.iframe;d.iframe&&!d.image&&(e.isIframe=!0),e.ready||f._controls.slides[c].load(g,function(b){b.isIframe||a(b.image).css("visibility","hidden"),f._scaleImage(b,{complete:function(b){b.isIframe||a(b.image).css({opacity:0,visibility:"visible"}).animate({opacity:1},200)}})})})})),this.$("thumbnails, thumbnails-list").css({overflow:"hidden",position:"relative"}),this.$("image-nav-right, image-nav-left").on("click:fast",function(a){h.pauseOnInteraction&&f.pause();var b=/right/.test(this.className)?"next":"prev";f[b]()}).on("click",function(a){a.preventDefault(),(h.clicknext||h.swipe)&&a.stopPropagation()}),a.each(["info","counter","image-nav"],function(a,b){h["show"+b.substr(0,1).toUpperCase()+b.substr(1).replace(/-/,"")]===!1&&L.moveOut(f.get(b.toLowerCase()))}),this.load(),h.keepSource||t||(this._target.innerHTML=""),this.get("errors")&&this.appendChild("target","errors"),this.appendChild("target","container"),h.carousel){var i=0,j=h.show;this.bind(c.THUMBNAIL,function(){this.updateCarousel(),++i==this.getDataLength()&&"number"==typeof j&&j>0&&this._carousel.follow(j)})}return h.responsive&&g.on("resize",function(){f.isFullscreen()||f.resize()}),h.fullscreenDoubleTap&&this.$("stage").on("touchstart",function(){var a,b,c,d,e,g,h=function(a){return a.originalEvent.touches?a.originalEvent.touches[0]:a};return f.$("stage").on("touchmove",function(){a=0}),function(i){if(!/(-left|-right)/.test(i.target.className)){if(g=L.timestamp(),b=h(i).pageX,c=h(i).pageY,i.originalEvent.touches.length<2&&g-a<300&&b-d<20&&c-e<20)return f.toggleFullscreen(),void i.preventDefault();a=g,d=b,e=c}}}()),a.each(c.on.binds,function(b,c){a.inArray(c.hash,f._binds)==-1&&f.bind(c.type,c.callback)}),this},addTimer:function(){return this._timer.add.apply(this._timer,L.array(arguments)),this},clearTimer:function(){return this._timer.clear.apply(this._timer,L.array(arguments)),this},_getWH:function(){var b,c=this.$("container"),d=this.$("target"),e=this,f={};return a.each(["width","height"],function(a,g){e._options[g]&&"number"==typeof e._options[g]?f[g]=e._options[g]:(b=[L.parseValue(c.css(g)),L.parseValue(d.css(g)),c[g](),d[g]()],e["_"+g]||b.splice(b.length,L.parseValue(c.css("min-"+g)),L.parseValue(d.css("min-"+g))),f[g]=p.max.apply(p,b))}),e._userRatio&&(f.height=f.width*e._userRatio),f},_createThumbnails:function(d){this.get("total").innerHTML=this.getDataLength();var f,g,h,i,j=this,k=this._options,l=d?this._data.length-d.length:0,m=l,n=[],o=0,p=t<8?"http://upload.wikimedia.org/wikipedia/commons/c/c0/Blank.gif":"data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw%3D%3D",q=function(){var a=j.$("thumbnails").find(".active");return!!a.length&&a.find("img").attr("src")}(),r="string"==typeof k.thumbnails?k.thumbnails.toLowerCase():null,s=function(a){return e.defaultView&&e.defaultView.getComputedStyle?e.defaultView.getComputedStyle(g.container,null)[a]:i.css(a)},u=function(b,d,e){return function(){a(e).append(b),j.trigger({type:c.THUMBNAIL,thumbTarget:b,index:d,galleriaData:j.getData(d)})}},v=function(b){k.pauseOnInteraction&&j.pause();var c=a(b.currentTarget).data("index");j.getIndex()!==c&&j.show(c),b.preventDefault()},w=function(b,d){a(b.container).css("visibility","visible"),j.trigger({type:c.THUMBNAIL,thumbTarget:b.image,index:b.data.order,galleriaData:j.getData(b.data.order)}),"function"==typeof d&&d.call(j,b)},x=function(b,c){b.scale({width:b.data.width,height:b.data.height,crop:k.thumbCrop,margin:k.thumbMargin,canvas:k.useCanvas,position:k.thumbPosition,complete:function(b){var d,e,f=["left","top"],g=["Width","Height"];j.getData(b.index);a.each(g,function(c,g){d=g.toLowerCase(),k.thumbCrop===!0&&k.thumbCrop!==d||(e={},e[d]=b[d],a(b.container).css(e),e={},e[f[c]]=0,a(b.image).css(e)),b["outer"+g]=a(b.container)["outer"+g](!0)}),L.toggleQuality(b.image,k.thumbQuality===!0||"auto"===k.thumbQuality&&b.original.width<3*b.width),k.thumbDisplayOrder&&!b.lazy?a.each(n,function(a,b){if(a===o&&b.ready&&!b.displayed)return o++,b.displayed=!0,void w(b,c)}):w(b,c)}})};for(d||(this._thumbnails=[],this.$("thumbnails").empty());this._data[l];l++)h=this._data[l],f=h.thumb||h.image,k.thumbnails!==!0&&"lazy"!=r||!h.thumb&&!h.image?h.iframe&&null!==r||"empty"===r||"numbers"===r?(g={container:L.create("galleria-image"),image:L.create("img","span"),ready:!0,data:{order:l}},"numbers"===r&&a(g.image).text(l+1),h.iframe&&a(g.image).addClass("iframe"),this.$("thumbnails").append(g.container),b.setTimeout(u(g.image,l,g.container),50+20*l)):g={container:null,image:null}:(g=new c.Picture(l),g.index=l,g.displayed=!1,g.lazy=!1,g.video=!1,this.$("thumbnails").append(g.container),i=a(g.container),i.css("visibility","hidden"),g.data={width:L.parseValue(s("width")),height:L.parseValue(s("height")),order:l,src:f},k.thumbCrop!==!0?i.css({width:"auto",height:"auto"}):i.css({width:g.data.width,height:g.data.height}),"lazy"==r?(i.addClass("lazy"),g.lazy=!0,g.load(p,{height:g.data.height,width:g.data.width})):g.load(f,x),"all"===k.preload&&g.preload(h.image)),a(g.container).add(k.keepSource&&k.linkSourceImages?h.original:null).data("index",l).on(k.thumbEventType,v).data("thumbload",x),q===f&&a(g.container).addClass("active"),this._thumbnails.push(g);return n=this._thumbnails.slice(m),this},lazyLoad:function(b,c){var d=b.constructor==Array?b:[b],e=this,f=0;return a.each(d,function(b,g){if(!(g>e._thumbnails.length-1)){var h=e._thumbnails[g],i=h.data,j=function(){++f==d.length&&"function"==typeof c&&c.call(e)},k=a(h.container).data("thumbload");k&&(h.video?k.call(e,h,j):h.load(i.src,function(a){k.call(e,a,j)}))}}),this},lazyLoadChunks:function(a,c){var d=this.getDataLength(),e=0,f=0,g=[],h=[],i=this;for(c=c||0;e<d;e++)h.push(e),++f!=a&&e!=d-1||(g.push(h),f=0,h=[]);var j=function(a){var d=g.shift();d&&b.setTimeout(function(){i.lazyLoad(d,function(){j(!0)})},c&&a?c:0)};return j(!1),this},_run:function(){var e=this;e._createThumbnails(),L.wait({timeout:1e4,until:function(){return c.OPERA&&e.$("stage").css("display","inline-block"),e._stageWidth=e.$("stage").width(),e._stageHeight=e.$("stage").height(),e._stageWidth&&e._stageHeight>50},success:function(){if(E.push(e),e._options.swipe){var f=e.$("images").width(e.getDataLength()*e._stageWidth);a.each(new Array(e.getDataLength()),function(b){var d=new c.Picture,g=e.getData(b);a(d.container).css({position:"absolute",top:0,left:e._stageWidth*b}).prepend(e._layers[b]=a(L.create("galleria-layer")).css({position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:2})[0]).appendTo(f),g.video&&M(d.container),e._controls.slides.push(d);var h=new c.Picture;h.isIframe=!0,a(h.container).attr("class","galleria-frame").css({position:"absolute",top:0,left:0,zIndex:4,background:"#000",display:"none"}).appendTo(d.container),e._controls.frames.push(h)}),e.finger.setup()}return L.show(e.get("counter")),e._options.carousel&&e._carousel.bindControls(),e._options.autoplay&&(e.pause(),"number"==typeof e._options.autoplay&&(e._playtime=e._options.autoplay),e._playing=!0),e._firstrun?(e._options.autoplay&&e.trigger(c.PLAY),void("number"==typeof e._options.show&&e.show(e._options.show))):(e._firstrun=!0,c.History&&c.History.change(function(a){isNaN(a)?b.history.go(-1):e.show(a,d,!0)}),e.trigger(c.READY),e.theme.init.call(e,e._options),a.each(c.ready.callbacks,function(a,b){"function"==typeof b&&b.call(e,e._options)}),e._options.extend.call(e,e._options),/^[0-9]{1,4}$/.test(n)&&c.History?e.show(n,d,!0):e._data[e._options.show]&&e.show(e._options.show),void(e._options.autoplay&&e.trigger(c.PLAY)))},error:function(){c.raise("Stage width or height is too small to show the gallery. Traced measures: width:"+e._stageWidth+"px, height: "+e._stageHeight+"px.",!0)}})},load:function(b,d,e){var f=this,g=this._options;return this._data=[],this._thumbnails=[],this.$("thumbnails").empty(),"function"==typeof d&&(e=d,d=null),b=b||g.dataSource,d=d||g.dataSelector,e=e||g.dataConfig,a.isPlainObject(b)&&(b=[b]),a.isArray(b)?this.validate(b)?this._data=b:c.raise("Load failed: JSON Array not valid."):(d+=",.video,.iframe",a(b).find(d).each(function(b,c){c=a(c);var d={},g=c.parent(),h=g.attr("href"),i=g.attr("rel");h&&("IMG"==c[0].nodeName||c.hasClass("video"))&&C(h)?d.video=h:h&&c.hasClass("iframe")?d.iframe=h:d.image=d.big=h,i&&(d.big=i),a.each("big title description link layer image".split(" "),function(a,b){c.data(b)&&(d[b]=c.data(b).toString())}),d.big||(d.big=d.image),f._data.push(a.extend({title:c.attr("title")||"",thumb:c.attr("src"),image:c.attr("src"),big:c.attr("src"),description:c.attr("alt")||"",link:c.attr("longdesc"),original:c.get(0)},d,e(c)))})),"function"==typeof g.dataSort?h.sort.call(this._data,g.dataSort):"random"==g.dataSort&&this._data.sort(function(){return p.round(p.random())-.5}),this.getDataLength()&&this._parseData(function(){this.trigger(c.DATA)}),this},_parseData:function(b){var c,e=this,f=!1,g=function(){var c=!0;a.each(e._data,function(a,b){if(b.loading)return c=!1,!1}),c&&!f&&(f=!0,b.call(e))};return a.each(this._data,function(b,f){if(c=e._data[b],"thumb"in f==!1&&(c.thumb=f.image),f.big||(c.big=f.image),"video"in f){var h=C(f.video);h&&(c.iframe=new B(h.provider,h.id).embed()+function(){if("object"==typeof e._options[h.provider]){var b="?",c=[];return a.each(e._options[h.provider],function(a,b){c.push(a+"="+b)}),"youtube"==h.provider&&(c=["wmode=opaque"].concat(c)),b+c.join("&")}return""}(),c.thumb&&c.image||a.each(["thumb","image"],function(a,b){if("image"==b&&!e._options.videoPoster)return void(c.image=d);var f=new B(h.provider,h.id);c[b]||(c.loading=!0,f.getMedia(b,function(a,b){return function(c){a[b]=c,"image"!=b||a.big||(a.big=a.image),delete a.loading,g()}}(c,b)))}))}}),g(),this},destroy:function(){return this.$("target").data("galleria",null),this.$("container").off("galleria"),this.get("target").innerHTML=this._original.html,this.clearTimer(),L.removeFromArray(F,this),L.removeFromArray(E,this),void 0!==c._waiters&&c._waiters.length&&a.each(c._waiters,function(a,c){c&&b.clearTimeout(c)}),this},splice:function(){var a=this,c=L.array(arguments);return b.setTimeout(function(){h.splice.apply(a._data,c),a._parseData(function(){a._createThumbnails()})},2),a},push:function(){var a=this,c=L.array(arguments);return 1==c.length&&c[0].constructor==Array&&(c=c[0]),b.setTimeout(function(){h.push.apply(a._data,c),a._parseData(function(){a._createThumbnails(c)})},2),a},_getActive:function(){return this._controls.getActive()},validate:function(a){return!0},bind:function(a,b){return a=z(a),this.$("container").on(a,this.proxy(b)),this},unbind:function(a){return a=z(a),this.$("container").off(a),this},trigger:function(b){return b="object"==typeof b?a.extend(b,{scope:this}):{type:z(b),scope:this},this.$("container").trigger(b),this},addIdleState:function(a,b,c,d){return this._idle.add.apply(this._idle,L.array(arguments)),this},removeIdleState:function(a){return this._idle.remove.apply(this._idle,L.array(arguments)),this},enterIdleMode:function(){return this._idle.hide(),this},exitIdleMode:function(){return this._idle.showAll(),this},enterFullscreen:function(a){return this._fullscreen.enter.apply(this,L.array(arguments)),this},exitFullscreen:function(a){return this._fullscreen.exit.apply(this,L.array(arguments)),this},toggleFullscreen:function(a){return this._fullscreen[this.isFullscreen()?"exit":"enter"].apply(this,L.array(arguments)),this},bindTooltip:function(a,b){return this._tooltip.bind.apply(this._tooltip,L.array(arguments)),this},defineTooltip:function(a,b){return this._tooltip.define.apply(this._tooltip,L.array(arguments)),this},refreshTooltip:function(a){return this._tooltip.show.apply(this._tooltip,L.array(arguments)),this},openLightbox:function(){return this._lightbox.show.apply(this._lightbox,L.array(arguments)),this},closeLightbox:function(){return this._lightbox.hide.apply(this._lightbox,L.array(arguments)),this},hasVariation:function(b){return a.inArray(b,this._options.variation.split(/\s+/))>-1},getActiveImage:function(){var a=this._getActive();return a?a.image:d},getActiveThumb:function(){return this._thumbnails[this._active].image||d},getMousePosition:function(a){return{x:a.pageX-this.$("container").offset().left,y:a.pageY-this.$("container").offset().top}},addPan:function(b){if(this._options.imageCrop!==!1){b=a(b||this.getActiveImage());var c=this,d=b.width()/2,e=b.height()/2,f=parseInt(b.css("left"),10),g=parseInt(b.css("top"),10),h=f||0,i=g||0,j=0,k=0,l=!1,m=L.timestamp(),n=0,o=0,q=function(a,c,d){if(a>0&&(o=p.round(p.max(a*-1,p.min(0,c))),n!==o))if(n=o,8===t)b.parent()["scroll"+d](o*-1);else{var e={};e[d.toLowerCase()]=o,b.css(e)}},r=function(a){L.timestamp()-m<50||(l=!0,d=c.getMousePosition(a).x,e=c.getMousePosition(a).y)},s=function(a){l&&(j=b.width()-c._stageWidth,k=b.height()-c._stageHeight,f=d/c._stageWidth*j*-1,g=e/c._stageHeight*k*-1,h+=(f-h)/c._options.imagePanSmoothness,i+=(g-i)/c._options.imagePanSmoothness,q(k,i,"Top"),q(j,h,"Left"))};return 8===t&&(b.parent().scrollTop(i*-1).scrollLeft(h*-1),b.css({top:0,left:0})),this.$("stage").off("mousemove",r).on("mousemove",r),this.addTimer("pan"+c._id,s,50,!0),this}},proxy:function(a,b){return"function"!=typeof a?q:(b=b||this,function(){return a.apply(b,L.array(arguments))})},getThemeName:function(){return this.theme.name},removePan:function(){return this.$("stage").off("mousemove"),this.clearTimer("pan"+this._id),this},addElement:function(b){var c=this._dom;return a.each(L.array(arguments),function(a,b){c[b]=L.create("galleria-"+b)}),this},attachKeyboard:function(a){return this._keyboard.attach.apply(this._keyboard,L.array(arguments)),this},detachKeyboard:function(){return this._keyboard.detach.apply(this._keyboard,L.array(arguments)),this},appendChild:function(a,b){return this.$(a).append(this.get(b)||b),this},prependChild:function(a,b){return this.$(a).prepend(this.get(b)||b),this},remove:function(a){return this.$(L.array(arguments).join(",")).remove(),this},append:function(a){var b,c;for(b in a)if(a.hasOwnProperty(b))if(a[b].constructor===Array)for(c=0;a[b][c];c++)this.appendChild(b,a[b][c]);else this.appendChild(b,a[b]);return this},_scaleImage:function(b,c){if(b=b||this._controls.getActive()){var d,e=function(b){a(b.container).children(":first").css({top:p.max(0,L.parseValue(b.image.style.top)),left:p.max(0,L.parseValue(b.image.style.left)),width:L.parseValue(b.image.width),height:L.parseValue(b.image.height)})};return c=a.extend({width:this._stageWidth,height:this._stageHeight,crop:this._options.imageCrop,max:this._options.maxScaleRatio,min:this._options.minScaleRatio,margin:this._options.imageMargin,position:this._options.imagePosition,iframelimit:this._options.maxVideoSize},c),this._options.layerFollow&&this._options.imageCrop!==!0?"function"==typeof c.complete?(d=c.complete,c.complete=function(){d.call(b,b),e(b)}):c.complete=e:a(b.container).children(":first").css({top:0,left:0}),b.scale(c),this}},updateCarousel:function(){return this._carousel.update(),this},resize:function(b,c){"function"==typeof b&&(c=b,b=d),b=a.extend({width:0,height:0},b);var e=this,f=this.$("container");return a.each(b,function(a,c){c||(f[a]("auto"),b[a]=e._getWH()[a])}),a.each(b,function(a,b){f[a](b)}),this.rescale(c)},rescale:function(b,e,f){var g=this;"function"==typeof b&&(f=b,b=d);var h=function(){g._stageWidth=b||g.$("stage").width(),g._stageHeight=e||g.$("stage").height(),g._options.swipe?(a.each(g._controls.slides,function(b,c){g._scaleImage(c),a(c.container).css("left",g._stageWidth*b)}),g.$("images").css("width",g._stageWidth*g.getDataLength())):g._scaleImage(),g._options.carousel&&g.updateCarousel();var d=g._controls.frames[g._controls.active];d&&g._controls.frames[g._controls.active].scale({width:g._stageWidth,height:g._stageHeight,iframelimit:g._options.maxVideoSize}),g.trigger(c.RESCALE),"function"==typeof f&&f.call(g)};return h.call(g),this},refreshImage:function(){return this._scaleImage(),this._options.imagePan&&this.addPan(),this},_preload:function(){if(this._options.preload){var a,b,d,e=this.getNext();try{for(b=this._options.preload;b>0;b--)a=new c.Picture,d=this.getData(e),a.preload(this.isFullscreen()&&d.big?d.big:d.image),e=this.getNext(e)}catch(a){}}},show:function(d,e,f){var g=this._options.swipe;if(g||!(this._queue.length>3||d===!1||!this._options.queue&&this._queue.stalled)){if(d=p.max(0,p.min(parseInt(d,10),this.getDataLength()-1)),e="undefined"!=typeof e?!!e:d<this.getIndex(),f=f||!1,!f&&c.History)return void c.History.set(d.toString());if(this.finger&&d!==this._active&&(this.finger.to=-(d*this.finger.width),this.finger.index=d),this._active=d,g){var i=this.getData(d),j=this;if(!i)return;var k=this.isFullscreen()&&i.big?i.big:i.image||i.iframe,l=this._controls.slides[d],m=l.isCached(k),n=this._thumbnails[d],o={cached:m,index:d,rewind:e,imageTarget:l.image,thumbTarget:n.image,galleriaData:i};this.trigger(a.extend(o,{type:c.LOADSTART})),j.$("container").removeClass("videoplay");var q=function(){j._layers[d].innerHTML=j.getData().layer||"",j.trigger(a.extend(o,{type:c.LOADFINISH})),j._playCheck()};j._preload(),b.setTimeout(function(){l.ready&&a(l.image).attr("src")==k?(j.trigger(a.extend(o,{type:c.IMAGE})),q()):(i.iframe&&!i.image&&(l.isIframe=!0),l.load(k,function(b){o.imageTarget=b.image,j._scaleImage(b,q).trigger(a.extend(o,{type:c.IMAGE})),q()}))},100)}else h.push.call(this._queue,{index:d,rewind:e}),this._queue.stalled||this._show();return this}},_show:function(){var e=this,f=this._queue[0],g=this.getData(f.index);if(g){var i=this.isFullscreen()&&g.big?g.big:g.image||g.iframe,j=this._controls.getActive(),k=this._controls.getNext(),l=k.isCached(i),m=this._thumbnails[f.index],n=function(){a(k.image).trigger("mouseup")};e.$("container").toggleClass("iframe",!!g.isIframe).removeClass("videoplay");var o=function(f,g,i,j,k){return function(){var l;N.active=!1,L.toggleQuality(g.image,e._options.imageQuality),e._layers[e._controls.active].innerHTML="",a(i.container).css({zIndex:0,opacity:0}).show(),a(i.container).find("iframe, .galleria-videoicon").remove(),a(e._controls.frames[e._controls.active].container).hide(),a(g.container).css({zIndex:1,left:0,top:0}).show(),e._controls.swap(),e._options.imagePan&&e.addPan(g.image),(f.iframe&&f.image||f.link||e._options.lightbox||e._options.clicknext)&&a(g.image).css({cursor:"pointer"}).on("mouseup",function(g){if(!("number"==typeof g.which&&g.which>1)){if(f.iframe){e.isPlaying()&&e.pause();var h=e._controls.frames[e._controls.active],i=e._stageWidth,j=e._stageHeight;return a(h.container).css({width:i,height:j,opacity:0}).show().animate({opacity:1},200),void b.setTimeout(function(){h.load(f.iframe+(f.video?"&autoplay=1":""),{width:i,height:j},function(a){e.$("container").addClass("videoplay"),a.scale({width:e._stageWidth,height:e._stageHeight,iframelimit:f.video?e._options.maxVideoSize:d})})},100)}return e._options.clicknext&&!c.TOUCH?(e._options.pauseOnInteraction&&e.pause(),void e.next()):f.link?void(e._options.popupLinks?l=b.open(f.link,"_blank"):b.location.href=f.link):void(e._options.lightbox&&e.openLightbox())}}),e._playCheck(),e.trigger({type:c.IMAGE,index:j.index,imageTarget:g.image,thumbTarget:k.image,galleriaData:f}),h.shift.call(e._queue),e._queue.stalled=!1,e._queue.length&&e._show()}}(g,k,j,f,m);this._options.carousel&&this._options.carouselFollow&&this._carousel.follow(f.index),e._preload(),L.show(k.container),k.isIframe=g.iframe&&!g.image,a(e._thumbnails[f.index].container).addClass("active").siblings(".active").removeClass("active"),e.trigger({type:c.LOADSTART,cached:l,index:f.index,rewind:f.rewind,imageTarget:k.image,thumbTarget:m.image,galleriaData:g}),e._queue.stalled=!0,k.load(i,function(b){var h=a(e._layers[1-e._controls.active]).html(g.layer||"").hide();e._scaleImage(b,{complete:function(b){"image"in j&&L.toggleQuality(j.image,!1),L.toggleQuality(b.image,!1),e.removePan(),e.setInfo(f.index),e.setCounter(f.index),g.layer&&(h.show(),(g.iframe&&g.image||g.link||e._options.lightbox||e._options.clicknext)&&h.css("cursor","pointer").off("mouseup").mouseup(n)),g.video&&g.image&&M(b.container);var i=e._options.transition;if(a.each({initial:null===j.image,touch:c.TOUCH,fullscreen:e.isFullscreen()},function(a,b){if(b&&e._options[a+"Transition"]!==d)return i=e._options[a+"Transition"],!1}),i in N.effects==!1)o();else{var k={prev:j.container,next:b.container,rewind:f.rewind,speed:e._options.transitionSpeed||400};N.active=!0,N.init.call(e,i,k,o)}e.trigger({type:c.LOADFINISH,cached:l,index:f.index,rewind:f.rewind,imageTarget:b.image,thumbTarget:e._thumbnails[f.index].image,galleriaData:e.getData(f.index)})}})})}},getNext:function(a){return a="number"==typeof a?a:this.getIndex(),a===this.getDataLength()-1?0:a+1},getPrev:function(a){return a="number"==typeof a?a:this.getIndex(),0===a?this.getDataLength()-1:a-1},next:function(){return this.getDataLength()>1&&this.show(this.getNext(),!1),this},prev:function(){return this.getDataLength()>1&&this.show(this.getPrev(),!0),this},get:function(a){return a in this._dom?this._dom[a]:null},getData:function(a){return a in this._data?this._data[a]:this._data[this._active]},getDataLength:function(){return this._data.length},getIndex:function(){return"number"==typeof this._active&&this._active},getStageHeight:function(){return this._stageHeight},getStageWidth:function(){return this._stageWidth},getOptions:function(a){return"undefined"==typeof a?this._options:this._options[a]},setOptions:function(b,c){return"object"==typeof b?a.extend(this._options,b):this._options[b]=c,this},play:function(a){return this._playing=!0,this._playtime=a||this._playtime,this._playCheck(),this.trigger(c.PLAY),this},pause:function(){return this._playing=!1,this.trigger(c.PAUSE),this},playToggle:function(a){return this._playing?this.pause():this.play(a)},isPlaying:function(){return this._playing},isFullscreen:function(){return this._fullscreen.active},_playCheck:function(){var a=this,b=0,d=20,e=L.timestamp(),f="play"+this._id;if(this._playing){this.clearTimer(f);var g=function(){return b=L.timestamp()-e,b>=a._playtime&&a._playing?(a.clearTimer(f),void a.next()):void(a._playing&&(a.trigger({type:c.PROGRESS,percent:p.ceil(b/a._playtime*100),seconds:p.floor(b/1e3),milliseconds:b}),a.addTimer(f,g,d)))};a.addTimer(f,g,d)}},setPlaytime:function(a){return this._playtime=a,this},setIndex:function(a){return this._active=a,this},setCounter:function(a){if("number"==typeof a?a++:"undefined"==typeof a&&(a=this.getIndex()+1),this.get("current").innerHTML=a,t){var b=this.$("counter"),c=b.css("opacity");1===parseInt(c,10)?L.removeAlpha(b[0]):this.$("counter").css("opacity",c)}return this},setInfo:function(b){var c=this,d=this.getData(b);return a.each(["title","description"],function(a,b){var e=c.$("info-"+b);d[b]?e[d[b].length?"show":"hide"]().html(d[b]):e.empty().hide()}),this},hasInfo:function(a){var b,c="title description".split(" ");for(b=0;c[b];b++)if(this.getData(a)[c[b]])return!0;return!1},jQuery:function(b){var c=this,d=[];a.each(b.split(","),function(b,e){e=a.trim(e),c.get(e)&&d.push(e)});var e=a(c.get(d.shift()));return a.each(d,function(a,b){e=e.add(c.get(b))}),e},$:function(a){return this.jQuery.apply(this,L.array(arguments))}},a.each(x,function(a,b){var d=/_/.test(b)?b.replace(/_/g,""):b;c[b.toUpperCase()]="galleria."+d}),a.extend(c,{IE9:9===t,IE8:8===t,IE7:7===t,IE6:6===t,IE:t,WEBKIT:/webkit/.test(m),CHROME:/chrome/.test(m),SAFARI:/safari/.test(m)&&!/chrome/.test(m),QUIRK:t&&e.compatMode&&"BackCompat"===e.compatMode,MAC:/mac/.test(navigator.platform.toLowerCase()),OPERA:!!b.opera,IPHONE:/iphone/.test(m),IPAD:/ipad/.test(m),ANDROID:/android/.test(m),TOUCH:"ontouchstart"in e&&s}),c.addTheme=function(d){d.name||c.raise("No theme name specified"),(!d.version||parseInt(10*c.version)>parseInt(10*d.version))&&c.raise("This version of Galleria requires "+d.name+" theme version "+parseInt(10*c.version)/10+" or later",!0),"object"!=typeof d.defaults?d.defaults={}:d.defaults=y(d.defaults);var e,f,g=!1;return"string"==typeof d.css?(a("link").each(function(a,b){if(e=new RegExp(d.css),e.test(b.href))return g=!0,K(d),!1}),g||a(function(){var h=0,i=function(){a("script").each(function(a,c){e=new RegExp("galleria\\."+d.name.toLowerCase()+"\\."),f=new RegExp("galleria\\.io\\/theme\\/"+d.name.toLowerCase()+"\\/(\\d*\\.*)?(\\d*\\.*)?(\\d*\\/)?js"),(e.test(c.src)||f.test(c.src))&&(g=c.src.replace(/[^\/]*$/,"")+d.css,b.setTimeout(function(){L.loadCSS(g,"galleria-theme-"+d.name,function(){K(d)})},1))}),g||(h++>5?c.raise("No theme CSS loaded"):b.setTimeout(i,500))};i()})):K(d),d},c.loadTheme=function(d,e){if(!a("script").filter(function(){return a(this).attr("src")==d}).length){var f,g=!1;return a(b).on("load",function(){g||(f=b.setTimeout(function(){g||c.raise("Galleria had problems loading theme at "+d+". Please check theme path or load manually.",!0)},2e4))}),L.loadScript(d,function(){g=!0,b.clearTimeout(f)}),c}},c.get=function(a){return F[a]?F[a]:"number"!=typeof a?F:void c.raise("Gallery index "+a+" not found")},c.configure=function(b,d){var e={};return"string"==typeof b&&d?(e[b]=d,b=e):a.extend(e,b),c.configure.options=e,a.each(c.get(),function(a,b){b.setOptions(e)}),c},c.configure.options={},c.on=function(b,d){if(b){d=d||q;var e=b+d.toString().replace(/\s/g,"")+L.timestamp();return a.each(c.get(),function(a,c){c._binds.push(e),c.bind(b,d)}),c.on.binds.push({type:b,callback:d,hash:e}),c}},c.on.binds=[],c.run=function(b,d){return a.isFunction(d)&&(d={extend:d}),a(b||"#galleria").galleria(d),c},c.addTransition=function(a,b){return N.effects[a]=b,c},c.utils=L,c.log=function(){var c=L.array(arguments);if(!("console"in b&&"log"in b.console))return b.alert(c.join("<br>"));try{return b.console.log.apply(b.console,c)}catch(d){a.each(c,function(){b.console.log(this)})}},c.ready=function(b){return"function"!=typeof b?c:(a.each(E,function(a,c){b.call(c,c._options)}),c.ready.callbacks.push(b),c)},c.ready.callbacks=[],c.raise=function(b,c){var d=c?"Fatal error":"Error",e={color:"#fff",position:"absolute",top:0,left:0,zIndex:1e5},f=function(b){var f='<div style="padding:4px;margin:0 0 2px;background:#'+(c?"811":"222")+';">'+(c?"<strong>"+d+": </strong>":"")+b+"</div>";a.each(F,function(){var a=this.$("errors"),b=this.$("target");a.length||(b.css("position","relative"),a=this.addElement("errors").appendChild("target","errors").$("errors").css(e)),a.append(f)}),F.length||a("<div>").css(a.extend(e,{position:"fixed"})).append(f).appendTo(u().body)};if(j){if(f(b),c)throw new Error(d+": "+b)}else if(c){if(G)return;G=!0,c=!1,f("Gallery could not load.")}},c.version=i,c.getLoadedThemes=function(){return a.map(J,function(a){return a.name})},c.requires=function(a,b){return b=b||"You need to upgrade Galleria to version "+a+" to use one or more components.",c.version<a&&c.raise(b,!0),c},c.Picture=function(b){this.id=b||null,this.image=null,this.container=L.create("galleria-image"),a(this.container).css({overflow:"hidden",position:"relative"}),this.original={width:0,height:0 -},this.ready=!1,this.isIframe=!1},c.Picture.prototype={cache:{},show:function(){L.show(this.image)},hide:function(){L.moveOut(this.image)},clear:function(){this.image=null},isCached:function(a){return!!this.cache[a]},preload:function(b){a(new Image).on("load",function(a,b){return function(){b[a]=a}}(b,this.cache)).attr("src",b)},load:function(d,e,f){if("function"==typeof e&&(f=e,e=null),this.isIframe){var g="if"+(new Date).getTime(),h=this.image=a("<iframe>",{src:d,frameborder:0,id:g,allowfullscreen:!0,css:{visibility:"hidden"}})[0];return e&&a(h).css(e),a(this.container).find("iframe,img").remove(),this.container.appendChild(this.image),a("#"+g).on("load",function(c,d){return function(){b.setTimeout(function(){a(c.image).css("visibility","visible"),"function"==typeof d&&d.call(c,c)},10)}}(this,f)),this.container}this.image=new Image,c.IE8&&a(this.image).css("filter","inherit"),c.IE||c.CHROME||c.SAFARI||a(this.image).css("image-rendering","optimizequality");var i=!1,j=!1,k=a(this.container),m=a(this.image),n=function(){i?l?a(this).attr("src",l):c.raise("Image not found: "+d):(i=!0,b.setTimeout(function(a,b){return function(){a.attr("src",b+(b.indexOf("?")>-1?"&":"?")+L.timestamp())}}(a(this),d),50))},o=function(d,f,g){return function(){var h=function(){a(this).off("load"),d.original=e||{height:this.height,width:this.width},c.HAS3D&&(this.style.MozTransform=this.style.webkitTransform="translate3d(0,0,0)"),k.append(this),d.cache[g]=g,"function"==typeof f&&b.setTimeout(function(){f.call(d,d)},1)};this.width&&this.height?h.call(this):!function(b){L.wait({until:function(){return b.width&&b.height},success:function(){h.call(b)},error:function(){j?c.raise("Could not extract width/height from image: "+b.src+". Traced measures: width:"+b.width+"px, height: "+b.height+"px."):(a(new Image).on("load",o).attr("src",b.src),j=!0)},timeout:100})}(this)}}(this,f,d);return k.find("iframe,img").remove(),m.css("display","block"),L.hide(this.image),a.each("minWidth minHeight maxWidth maxHeight".split(" "),function(a,b){m.css(b,/min/.test(b)?"0":"none")}),m.on("load",o).on("error",n).attr("src",d),this.container},scale:function(b){var e=this;if(b=a.extend({width:0,height:0,min:d,max:d,margin:0,complete:q,position:"center",crop:!1,canvas:!1,iframelimit:d},b),this.isIframe){var f,g,h=b.width,i=b.height;if(b.iframelimit){var j=p.min(b.iframelimit/h,b.iframelimit/i);j<1?(f=h*j,g=i*j,a(this.image).css({top:i/2-g/2,left:h/2-f/2,position:"absolute"})):a(this.image).css({top:0,left:0})}a(this.image).width(f||h).height(g||i).removeAttr("width").removeAttr("height"),a(this.container).width(h).height(i),b.complete.call(e,e);try{this.image.contentWindow&&a(this.image.contentWindow).trigger("resize")}catch(a){}return this.container}if(!this.image)return this.container;var k,l,m,n=a(e.container);return L.wait({until:function(){return k=b.width||n.width()||L.parseValue(n.css("width")),l=b.height||n.height()||L.parseValue(n.css("height")),k&&l},success:function(){var c=(k-2*b.margin)/e.original.width,d=(l-2*b.margin)/e.original.height,f=p.min(c,d),g=p.max(c,d),h={true:g,width:c,height:d,false:f,landscape:e.original.width>e.original.height?g:f,portrait:e.original.width<e.original.height?g:f},i=h[b.crop.toString()],j="";b.max&&(i=p.min(b.max,i)),b.min&&(i=p.max(b.min,i)),a.each(["width","height"],function(b,c){a(e.image)[c](e[c]=e.image[c]=p.round(e.original[c]*i))}),a(e.container).width(k).height(l),b.canvas&&H&&(H.elem.width=e.width,H.elem.height=e.height,j=e.image.src+":"+e.width+"x"+e.height,e.image.src=H.cache[j]||function(a){H.context.drawImage(e.image,0,0,e.original.width*i,e.original.height*i);try{return m=H.elem.toDataURL(),H.length+=m.length,H.cache[a]=m,m}catch(a){return e.image.src}}(j));var n={},o={},q=function(b,c,d){var f=0;if(/\%/.test(b)){var g=parseInt(b,10)/100,h=e.image[c]||a(e.image)[c]();f=p.ceil(h*-1*g+d*g)}else f=L.parseValue(b);return f},r={top:{top:0},left:{left:0},right:{left:"100%"},bottom:{top:"100%"}};a.each(b.position.toLowerCase().split(" "),function(a,b){"center"===b&&(b="50%"),n[a?"top":"left"]=b}),a.each(n,function(b,c){r.hasOwnProperty(c)&&a.extend(o,r[c])}),n=n.top?a.extend(n,o):o,n=a.extend({top:"50%",left:"50%"},n),a(e.image).css({position:"absolute",top:q(n.top,"height",l),left:q(n.left,"width",k)}),e.show(),e.ready=!0,b.complete.call(e,e)},error:function(){c.raise("Could not scale image: "+e.image.src)},timeout:1e3}),this}},a.extend(a.easing,{galleria:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b+c:d/2*((b-=2)*b*b+2)+c},galleriaIn:function(a,b,c,d,e){return d*(b/=e)*b+c},galleriaOut:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c}}),c.Finger=function(){var d=(p.abs,c.HAS3D=function(){var b,c,d=e.createElement("p"),f=["webkit","O","ms","Moz",""],g=0,h="transform";for(u().html.insertBefore(d,null);f[g];g++)c=f[g]?f[g]+"Transform":h,void 0!==d.style[c]&&(d.style[c]="translate3d(1px,1px,1px)",b=a(d).css(f[g]?"-"+f[g].toLowerCase()+"-"+h:h));return u().html.removeChild(d),void 0!==b&&b.length>0&&"none"!==b}()),g=function(){var a="RequestAnimationFrame";return b.requestAnimationFrame||b["webkit"+a]||b["moz"+a]||b["o"+a]||b["ms"+a]||function(a){b.setTimeout(a,1e3/60)}}(),h=function(c,e){if(this.config={start:0,duration:500,onchange:function(){},oncomplete:function(){},easing:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c}},this.easeout=function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},c.children.length){var f=this;a.extend(this.config,e),this.elem=c,this.child=c.children[0],this.to=this.pos=0,this.touching=!1,this.start={},this.index=this.config.start,this.anim=0,this.easing=this.config.easing,d||(this.child.style.position="absolute",this.elem.style.position="relative"),a.each(["ontouchstart","ontouchmove","ontouchend","setup"],function(a,b){f[b]=function(a){return function(){a.apply(f,arguments)}}(f[b])}),this.setX=function(){var a=f.child.style;return d?void(a.MozTransform=a.webkitTransform=a.transform="translate3d("+f.pos+"px,0,0)"):void(a.left=f.pos+"px")},a(c).on("touchstart",this.ontouchstart),a(b).on("resize",this.setup),a(b).on("orientationchange",this.setup),this.setup(),function a(){g(a),f.loop.call(f)}()}};return h.prototype={constructor:h,setup:function(){this.width=a(this.elem).width(),this.length=p.ceil(a(this.child).width()/this.width),0!==this.index&&(this.index=p.max(0,p.min(this.index,this.length-1)),this.pos=this.to=-this.width*this.index)},setPosition:function(a){this.pos=a,this.to=a},ontouchstart:function(a){var b=a.originalEvent.touches;this.start={pageX:b[0].pageX,pageY:b[0].pageY,time:+new Date},this.isScrolling=null,this.touching=!0,this.deltaX=0,f.on("touchmove",this.ontouchmove),f.on("touchend",this.ontouchend)},ontouchmove:function(a){var b=a.originalEvent.touches;b&&b.length>1||a.scale&&1!==a.scale||(this.deltaX=b[0].pageX-this.start.pageX,null===this.isScrolling&&(this.isScrolling=!!(this.isScrolling||p.abs(this.deltaX)<p.abs(b[0].pageY-this.start.pageY))),this.isScrolling||(a.preventDefault(),this.deltaX/=!this.index&&this.deltaX>0||this.index==this.length-1&&this.deltaX<0?p.abs(this.deltaX)/this.width+1.8:1,this.to=this.deltaX-this.index*this.width),a.stopPropagation())},ontouchend:function(a){this.touching=!1;var b=+new Date-this.start.time<250&&p.abs(this.deltaX)>40||p.abs(this.deltaX)>this.width/2,c=!this.index&&this.deltaX>0||this.index==this.length-1&&this.deltaX<0;this.isScrolling||this.show(this.index+(b&&!c?this.deltaX<0?1:-1:0)),f.off("touchmove",this.ontouchmove),f.off("touchend",this.ontouchend)},show:function(a){a!=this.index?this.config.onchange.call(this,a):this.to=-(a*this.width)},moveTo:function(a){a!=this.index&&(this.pos=this.to=-(a*this.width),this.index=a)},loop:function(){var a=this.to-this.pos,b=1;if(this.width&&a&&(b=p.max(.5,p.min(1.5,p.abs(a/this.width)))),this.touching||p.abs(a)<=1)this.pos=this.to,a=0,this.anim&&!this.touching&&this.config.oncomplete(this.index),this.anim=0,this.easing=this.config.easing;else{this.anim||(this.anim={start:this.pos,time:+new Date,distance:a,factor:b,destination:this.to});var c=+new Date-this.anim.time,d=this.config.duration*this.anim.factor;if(c>d||this.anim.destination!=this.to)return this.anim=0,void(this.easing=this.easeout);this.pos=this.easing(null,c,this.anim.start,this.anim.distance,d)}this.setX()}},h}(),a.fn.galleria=function(b){var d=this.selector;return a(this).length?this.each(function(){a.data(this,"galleria")&&(a.data(this,"galleria").destroy(),a(this).find("*").hide()),a.data(this,"galleria",(new c).init(this,b))}):(a(function(){a(d).length?a(d).galleria(b):c.utils.wait({until:function(){return a(d).length},success:function(){a(d).galleria(b)},error:function(){c.raise('Init failed: Galleria could not find the element "'+d+'".')},timeout:5e3})}),this)},"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=c:(b.Galleria=c,"function"==typeof define&&define.amd&&define("galleria",["jquery"],function(){return c}))}(jQuery,this); \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/flickr/flickr-demo.html b/assets/scripts/galleria/plugins/flickr/flickr-demo.html deleted file mode 100644 index 1b3ccb20..00000000 --- a/assets/scripts/galleria/plugins/flickr/flickr-demo.html +++ /dev/null @@ -1,63 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Galleria Flickr Plugin</title> - <style> - - /* Demo styles */ - html,body{background:#222;margin:0;} - body{border-top:4px solid #000;} - .content{color:#777;font:12px/1.4 "helvetica neue",arial,sans-serif;width:620px;margin:20px auto;} - h1{font-size:12px;font-weight:normal;color:#ddd;margin:0;} - p{margin:0 0 20px} - a {color:#22BCB9;text-decoration:none;} - .cred{margin-top:20px;font-size:11px;} - - /* This rule is read by Galleria to define the gallery height: */ - #galleria{height:320px;} - - </style> - - <!-- load jQuery --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> - - <!-- load Galleria --> - <script src="../../galleria-1.5.7.min.js"></script> - - <!-- load flickr plugin --> - <script src="galleria.flickr.min.js"></script> - - </head> -<body> - <div class="content"> - <h1>Galleria Flickr Plugin Demo</h1> - <p>Demonstrating a basic gallery example with a Flickr search.</p> - - <!-- Adding gallery images. This is just a container for the dynamic flickr images --> - - <div id="galleria"></div> - - <p class="cred">Made by <a href="http://galleria.io">Galleria</a>.</p> - <a href="#" id="close">cloase</a> - </div> - <script> - $(function() { - // Load the classic theme - Galleria.loadTheme('../../themes/classic/galleria.classic.min.js'); - - // Initialize Galleria - Galleria.run('#galleria', { - - // search flickr for "galleria" - flickr: 'search:galleria', - - flickrOptions: { - // sort by interestingness - sort: 'interestingness-desc' - } - }); - }); - </script> - </body> -</html> \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/flickr/flickr-loader.gif b/assets/scripts/galleria/plugins/flickr/flickr-loader.gif deleted file mode 100644 index beaacacc93292a68ac6f21016d8affad0f9cca16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2129 zcmbW1ZA=q)9LN8Cq}L*JD2R+=!KbdY=Z3IZH?vZZA|jSqx^e|P3i4184#d)y0)2); zz-{S(OhxBrVzjtAaK(rT55^durUVzvIzx=hnl4LROcwTL?5;((DVc$LaqsT;@cn&0 zC*7U3T~rzi!oh>BzzYswU<U_8dVmTfmj-|yu-1Xh0U#X&s+%C@9T7<ItUtLgbHW>c z0^5EmTRL?#`FynML4eWynALkdW<a#}21hv^pqe99)2CU7yp#%da<xP{4ynG!=-CYE zX>8kh52cK=`Cx$VIL^{=K0H>&%C#nc&H11Y$~^9k8(07~Q04;wEG#VG?`1uS3#`0d z^8Fd<vRx_g+Y}Q1apIp;2!O3XKola@1oYkFevG$<3hZPqm%HO+H>oCvBN$YgT{k(Y z7q5Zl+f0)aq^!jfVrFI}s(HuolV>9*cCP*L&S3;AIV{O9SJ*SMvU76L^rfmJcy)gY zJNL_IXc%I2%1%E<OFb86Cz6<H@vy?Jd-{Y44Rz@5FbC|NeO4iTtl0U3tyk!K)?yU2 z)i)frXzQyqmb&^9)L7mO?=PrDToR&NUeS{6%EkS%DlRt)y5^_w)&SB3#+Sz<vwil7 zfFX><|NV=r*j2yTm2*SA-oHJWn>DJ65XEuxd|M19wAOZWu~n|E(>si{&6uM}PA^wh zm^ErxQKxD|k7Wki%4#x}Y<x)Ee@`sl7{#!p^B90h6N|ZSe#DUbk5kHU<=j&=KMlR) zckymltU3#m4S!X6DUxgPzj=m95~u}P-BwC7TMO+DK__hJYV9#KbP132=-`SjjiX*s zSyfb`Ei1^_CEdLT-n%b<e?e#h=6~<lAnw2Qe1gSuqM-@cFx~CZd1BR<{MK|3b0v&S zHatqA`g97AF5Lk1bpUEbAevcCv)P3m&QhAOr~MNFXzbDUk?568np!6Ye|)MKKA<np z4W<C+$v%=xR-8js!CQ+tJn9;GNJ_NyI($<=0vVC0c9dqZ6*@Yca7%Yvhq<BqNQXcV zSJ*Tip&Xi*$l)cPUm!sJh59c9YQLHcd`l+~5WdHI^o=WrcSZGSDvrR|Ew)H}e6(^? zBhA>RG*w&VTARMQrPhWu5(v~+R#R%^ivFS!R2@74egXNCt1qH19?T6p6GHvoIpodH z3DjjnbM%7*>T^xWlQ`;(wAe}VSTS_DV3O~9W)K>2)Xhye>gHM;b%UBfU8DSe)Pvrp zve{0m1;xGX%BacN$s1H!T{m~8Ud$vn`;tsfM#|cTgv~QEnYg#!<$D`NO+A};ostyW zDSNDzRgYYlwI(s6!+8q#JiZLY-KqO2X}}I*Y{IOuVp^ZAcQ4_saE0Cmy%~2}vp2G- zQy9M}T&Yx?xgRh@GV!CG!M(M*;%=xn_;uY}`e-3r6qgA5HW^BwSG*-J&s!NAtYMl= z;^2RSI>B}0y12C-Sv)fLG(A5W_x3aX?K;lc3&4<2?S&-c@vANlzagQuAW?0lP|#c9 z3vUH0@pjMR1iZy_qM-@cxW1nGQ-rtXaopQT2Qb`avVHS0B(apj*4Hs;tq2V=t09|R zfO`uO-U=Cnw^Z`-y?t#CRr$|zxN8`BNKG{LYJF1-3C)PCZbzY)y%ny&+Ykbkwto<q z6--SBzKb9b5N?BUZ{v7Z3XeA72#no|5J`$gE4MU4uX;-+ybW81w^7u0W2gD$A=Jmu oA?x}G)MZ2H^`8mU=Td*YPoSPQdtZX1e)-6B4(_eswcft}H=AX&%>V!Z diff --git a/assets/scripts/galleria/plugins/flickr/galleria.flickr.js b/assets/scripts/galleria/plugins/flickr/galleria.flickr.js deleted file mode 100644 index 9487b738..00000000 --- a/assets/scripts/galleria/plugins/flickr/galleria.flickr.js +++ /dev/null @@ -1,384 +0,0 @@ -/** - * Galleria Flickr Plugin 2016-09-03 - * http://galleria.io - * - * Copyright (c) 2010 - 2017 worse is better UG - * Licensed under the MIT license - * https://raw.github.com/worseisbetter/galleria/master/LICENSE - * - */ - -(function($) { - -/*global jQuery, Galleria, window */ - -Galleria.requires(1.25, 'The Flickr Plugin requires Galleria version 1.2.5 or later.'); - -// The script path -var PATH = Galleria.utils.getScriptPath(); - -/** - - @class - @constructor - - @example var flickr = new Galleria.Flickr(); - - @author http://galleria.io - - @requires jQuery - @requires Galleria - - @param {String} [api_key] Flickr API key to be used, defaults to the Galleria key - - @returns Instance -*/ - -Galleria.Flickr = function( api_key ) { - - this.api_key = api_key || '2a2ce06c15780ebeb0b706650fc890b2'; - - this.options = { - max: 30, // photos to return - imageSize: 'medium', // photo size ( thumb,small,medium,big,original ) - thumbSize: 'thumb', // thumbnail size ( thumb,small,medium,big,original ) - sort: 'interestingness-desc', // sort option ( date-posted-asc, date-posted-desc, date-taken-asc, date-taken-desc, interestingness-desc, interestingness-asc, relevance ) - description: false, // set this to true to get description as caption - complete: function(){}, // callback to be called inside the Galleria.prototype.load - backlink: false // set this to true if you want to pass a link back to the original image - }; -}; - -Galleria.Flickr.prototype = { - - // bring back the constructor reference - - constructor: Galleria.Flickr, - - /** - Search for anything at Flickr - - @param {String} phrase The string to search for - @param {Function} [callback] The callback to be called when the data is ready - - @returns Instance - */ - - search: function( phrase, callback ) { - return this._find({ - text: phrase - }, callback ); - }, - - /** - Search for anything at Flickr by tag - - @param {String} tag The tag(s) to search for - @param {Function} [callback] The callback to be called when the data is ready - - @returns Instance - */ - - tags: function( tag, callback ) { - return this._find({ - tags: tag - }, callback); - }, - - /** - Get a user's public photos - - @param {String} username The username as shown in the URL to fetch - @param {Function} [callback] The callback to be called when the data is ready - - @returns Instance - */ - - user: function( username, callback ) { - return this._call({ - method: 'flickr.urls.lookupUser', - url: 'flickr.com/photos/' + username - }, function( data ) { - this._find({ - user_id: data.user.id, - method: 'flickr.people.getPublicPhotos' - }, callback); - }); - }, - - /** - Get photos from a photoset by ID - - @param {String|Number} photoset_id The photoset id to fetch - @param {Function} [callback] The callback to be called when the data is ready - - @returns Instance - */ - - set: function( photoset_id, callback ) { - return this._find({ - photoset_id: photoset_id, - method: 'flickr.photosets.getPhotos' - }, callback); - }, - - /** - Get photos from a gallery by ID - - @param {String|Number} gallery_id The gallery id to fetch - @param {Function} [callback] The callback to be called when the data is ready - - @returns Instance - */ - - gallery: function( gallery_id, callback ) { - return this._find({ - gallery_id: gallery_id, - method: 'flickr.galleries.getPhotos' - }, callback); - }, - - /** - Search groups and fetch photos from the first group found - Useful if you know the exact name of a group and want to show the groups photos. - - @param {String} group The group name to search for - @param {Function} [callback] The callback to be called when the data is ready - - @returns Instance - */ - - groupsearch: function( group, callback ) { - return this._call({ - text: group, - method: 'flickr.groups.search' - }, function( data ) { - this.group( data.groups.group[0].nsid, callback ); - }); - }, - - /** - Get photos from a group by ID - - @param {String} group_id The group id to fetch - @param {Function} [callback] The callback to be called when the data is ready - - @returns Instance - */ - - group: function ( group_id, callback ) { - return this._find({ - group_id: group_id, - method: 'flickr.groups.pools.getPhotos' - }, callback ); - }, - - /** - Set flickr options - - @param {Object} options The options object to blend - - @returns Instance - */ - - setOptions: function( options ) { - $.extend(this.options, options); - return this; - }, - - - // call Flickr and raise errors - - _call: function( params, callback ) { - - var url = 'https://api.flickr.com/services/rest/?'; - - var scope = this; - - params = $.extend({ - format : 'json', - jsoncallback : '?', - api_key: this.api_key - }, params ); - - $.each(params, function( key, value ) { - url += '&' + key + '=' + value; - }); - - $.getJSON(url, function(data) { - if ( data.stat === 'ok' ) { - callback.call(scope, data); - } else { - Galleria.raise( data.code.toString() + ' ' + data.stat + ': ' + data.message, true ); - } - }); - return scope; - }, - - - // "hidden" way of getting a big image (~1024) from flickr - - _getBig: function( photo ) { - - if ( photo.url_l ) { - return photo.url_l; - } else if ( parseInt( photo.width_o, 10 ) > 1280 ) { - - return 'https://farm'+photo.farm + '.static.flickr.com/'+photo.server + - '/' + photo.id + '_' + photo.secret + '_b.jpg'; - } - - return photo.url_o || photo.url_z || photo.url_m; - - }, - - - // get image size by option name - - _getSize: function( photo, size ) { - - var img; - - switch(size) { - - case 'thumb': - img = photo.url_t; - break; - - case 'small': - img = photo.url_s; - break; - - case 'big': - img = this._getBig( photo ); - break; - - case 'original': - img = photo.url_o ? photo.url_o : this._getBig( photo ); - break; - - default: - img = photo.url_z || photo.url_m; - break; - } - return img; - }, - - - // ask flickr for photos, parse the result and call the callback with the galleria-ready data array - - _find: function( params, callback ) { - - params = $.extend({ - method: 'flickr.photos.search', - extras: 'url_t,url_m,url_o,url_s,url_l,url_z,description', - sort: this.options.sort, - per_page: Math.min( this.options.max, 500 ) - }, params ); - - return this._call( params, function(data) { - - var gallery = [], - photos = data.photos ? data.photos.photo : data.photoset.photo, - len = photos.length, - photo, - i; - - for ( i=0; i<len; i++ ) { - - photo = photos[i]; - - gallery.push({ - thumb: this._getSize( photo, this.options.thumbSize ), - image: this._getSize( photo, this.options.imageSize ), - big: this._getBig( photo ), - title: photos[i].title, - description: this.options.description && photos[i].description ? photos[i].description._content : '', - link: this.options.backlink ? 'https://flickr.com/photos/' + photo.owner + '/' + photo.id : '' - }); - } - callback.call( this, gallery ); - }); - } -}; - - -/** - Galleria modifications - We fake-extend the load prototype to make Flickr integration as simple as possible -*/ - - -// save the old prototype in a local variable - -var load = Galleria.prototype.load; - - -// fake-extend the load prototype using the flickr data - -Galleria.prototype.load = function() { - - // pass if no data is provided or flickr option not found - if ( arguments.length || typeof this._options.flickr !== 'string' ) { - load.apply( this, Galleria.utils.array( arguments ) ); - return; - } - - // define some local vars - var self = this, - args = Galleria.utils.array( arguments ), - flickr = this._options.flickr.split(':'), - f, - opts = $.extend({}, self._options.flickrOptions), - loader = typeof opts.loader !== 'undefined' ? - opts.loader : $('<div>').css({ - width: 48, - height: 48, - opacity: 0.7, - background:'#000 url('+PATH+'loader.gif) no-repeat 50% 50%' - }); - - if ( flickr.length ) { - - // validate the method - if ( typeof Galleria.Flickr.prototype[ flickr[0] ] !== 'function' ) { - Galleria.raise( flickr[0] + ' method not found in Flickr plugin' ); - return load.apply( this, args ); - } - - // validate the argument - if ( !flickr[1] ) { - Galleria.raise( 'No flickr argument found' ); - return load.apply( this, args ); - } - - // apply the preloader - window.setTimeout(function() { - self.$( 'target' ).append( loader ); - },100); - - // create the instance - f = new Galleria.Flickr(); - - // apply Flickr options - if ( typeof self._options.flickrOptions === 'object' ) { - f.setOptions( self._options.flickrOptions ); - } - - // call the flickr method and trigger the DATA event - f[ flickr[0] ]( flickr[1], function( data ) { - - self._data = data; - loader.remove(); - self.trigger( Galleria.DATA ); - f.options.complete.call(f, data); - - }); - } else { - - // if flickr array not found, pass - load.apply( this, args ); - } -}; - -}( jQuery ) ); \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/flickr/galleria.flickr.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js b/assets/scripts/galleria/plugins/flickr/galleria.flickr.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js deleted file mode 100644 index 2eb9b363..00000000 --- a/assets/scripts/galleria/plugins/flickr/galleria.flickr.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Galleria - v1.5.3 2017-02-13 - * https://galleria.io - * - * Copyright (c) 2010 - 2017 worse is better UG - * Licensed under the MIT License. - * https://raw.github.com/worseisbetter/galleria/master/LICENSE - * - */ - -!function(a){Galleria.requires(1.25,"The Flickr Plugin requires Galleria version 1.2.5 or later.");var b=Galleria.utils.getScriptPath();Galleria.Flickr=function(a){this.api_key=a||"2a2ce06c15780ebeb0b706650fc890b2",this.options={max:30,imageSize:"medium",thumbSize:"thumb",sort:"interestingness-desc",description:!1,complete:function(){},backlink:!1}},Galleria.Flickr.prototype={constructor:Galleria.Flickr,search:function(a,b){return this._find({text:a},b)},tags:function(a,b){return this._find({tags:a},b)},user:function(a,b){return this._call({method:"flickr.urls.lookupUser",url:"flickr.com/photos/"+a},function(a){this._find({user_id:a.user.id,method:"flickr.people.getPublicPhotos"},b)})},set:function(a,b){return this._find({photoset_id:a,method:"flickr.photosets.getPhotos"},b)},gallery:function(a,b){return this._find({gallery_id:a,method:"flickr.galleries.getPhotos"},b)},groupsearch:function(a,b){return this._call({text:a,method:"flickr.groups.search"},function(a){this.group(a.groups.group[0].nsid,b)})},group:function(a,b){return this._find({group_id:a,method:"flickr.groups.pools.getPhotos"},b)},setOptions:function(b){return a.extend(this.options,b),this},_call:function(b,c){var d="https://api.flickr.com/services/rest/?",e=this;return b=a.extend({format:"json",jsoncallback:"?",api_key:this.api_key},b),a.each(b,function(a,b){d+="&"+a+"="+b}),a.getJSON(d,function(a){"ok"===a.stat?c.call(e,a):Galleria.raise(a.code.toString()+" "+a.stat+": "+a.message,!0)}),e},_getBig:function(a){return a.url_l?a.url_l:parseInt(a.width_o,10)>1280?"https://farm"+a.farm+".static.flickr.com/"+a.server+"/"+a.id+"_"+a.secret+"_b.jpg":a.url_o||a.url_z||a.url_m},_getSize:function(a,b){var c;switch(b){case"thumb":c=a.url_t;break;case"small":c=a.url_s;break;case"big":c=this._getBig(a);break;case"original":c=a.url_o?a.url_o:this._getBig(a);break;default:c=a.url_z||a.url_m}return c},_find:function(b,c){return b=a.extend({method:"flickr.photos.search",extras:"url_t,url_m,url_o,url_s,url_l,url_z,description",sort:this.options.sort,per_page:Math.min(this.options.max,500)},b),this._call(b,function(a){var b,d,e=[],f=a.photos?a.photos.photo:a.photoset.photo,g=f.length;for(d=0;d<g;d++)b=f[d],e.push({thumb:this._getSize(b,this.options.thumbSize),image:this._getSize(b,this.options.imageSize),big:this._getBig(b),title:f[d].title,description:this.options.description&&f[d].description?f[d].description._content:"",link:this.options.backlink?"https://flickr.com/photos/"+b.owner+"/"+b.id:""});c.call(this,e)})}};var c=Galleria.prototype.load;Galleria.prototype.load=function(){if(arguments.length||"string"!=typeof this._options.flickr)return void c.apply(this,Galleria.utils.array(arguments));var d,e=this,f=Galleria.utils.array(arguments),g=this._options.flickr.split(":"),h=a.extend({},e._options.flickrOptions),i="undefined"!=typeof h.loader?h.loader:a("<div>").css({width:48,height:48,opacity:.7,background:"#000 url("+b+"loader.gif) no-repeat 50% 50%"});if(g.length){if("function"!=typeof Galleria.Flickr.prototype[g[0]])return Galleria.raise(g[0]+" method not found in Flickr plugin"),c.apply(this,f);if(!g[1])return Galleria.raise("No flickr argument found"),c.apply(this,f);window.setTimeout(function(){e.$("target").append(i)},100),d=new Galleria.Flickr,"object"==typeof e._options.flickrOptions&&d.setOptions(e._options.flickrOptions),d[g[0]](g[1],function(a){e._data=a,i.remove(),e.trigger(Galleria.DATA),d.options.complete.call(d,a)})}else c.apply(this,f)}}(jQuery); \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/flickr/galleria.flickr.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js b/assets/scripts/galleria/plugins/flickr/galleria.flickr.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js deleted file mode 100644 index 2413313d..00000000 --- a/assets/scripts/galleria/plugins/flickr/galleria.flickr.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){Galleria.requires(1.25,"The Flickr Plugin requires Galleria version 1.2.5 or later.");var b=Galleria.utils.getScriptPath();Galleria.Flickr=function(a){this.api_key=a||"2a2ce06c15780ebeb0b706650fc890b2",this.options={max:30,imageSize:"medium",thumbSize:"thumb",sort:"interestingness-desc",description:!1,complete:function(){},backlink:!1}},Galleria.Flickr.prototype={constructor:Galleria.Flickr,search:function(a,b){return this._find({text:a},b)},tags:function(a,b){return this._find({tags:a},b)},user:function(a,b){return this._call({method:"flickr.urls.lookupUser",url:"flickr.com/photos/"+a},function(a){this._find({user_id:a.user.id,method:"flickr.people.getPublicPhotos"},b)})},set:function(a,b){return this._find({photoset_id:a,method:"flickr.photosets.getPhotos"},b)},gallery:function(a,b){return this._find({gallery_id:a,method:"flickr.galleries.getPhotos"},b)},groupsearch:function(a,b){return this._call({text:a,method:"flickr.groups.search"},function(a){this.group(a.groups.group[0].nsid,b)})},group:function(a,b){return this._find({group_id:a,method:"flickr.groups.pools.getPhotos"},b)},setOptions:function(b){return a.extend(this.options,b),this},_call:function(b,c){var d="https://api.flickr.com/services/rest/?",e=this;return b=a.extend({format:"json",jsoncallback:"?",api_key:this.api_key},b),a.each(b,function(a,b){d+="&"+a+"="+b}),a.getJSON(d,function(a){"ok"===a.stat?c.call(e,a):Galleria.raise(a.code.toString()+" "+a.stat+": "+a.message,!0)}),e},_getBig:function(a){return a.url_l?a.url_l:parseInt(a.width_o,10)>1280?"https://farm"+a.farm+".static.flickr.com/"+a.server+"/"+a.id+"_"+a.secret+"_b.jpg":a.url_o||a.url_z||a.url_m},_getSize:function(a,b){var c;switch(b){case"thumb":c=a.url_t;break;case"small":c=a.url_s;break;case"big":c=this._getBig(a);break;case"original":c=a.url_o?a.url_o:this._getBig(a);break;default:c=a.url_z||a.url_m}return c},_find:function(b,c){return b=a.extend({method:"flickr.photos.search",extras:"url_t,url_m,url_o,url_s,url_l,url_z,description",sort:this.options.sort,per_page:Math.min(this.options.max,500)},b),this._call(b,function(a){var b,d,e=[],f=a.photos?a.photos.photo:a.photoset.photo,g=f.length;for(d=0;d<g;d++)b=f[d],e.push({thumb:this._getSize(b,this.options.thumbSize),image:this._getSize(b,this.options.imageSize),big:this._getBig(b),title:f[d].title,description:this.options.description&&f[d].description?f[d].description._content:"",link:this.options.backlink?"https://flickr.com/photos/"+b.owner+"/"+b.id:""});c.call(this,e)})}};var c=Galleria.prototype.load;Galleria.prototype.load=function(){if(arguments.length||"string"!=typeof this._options.flickr)return void c.apply(this,Galleria.utils.array(arguments));var d,e=this,f=Galleria.utils.array(arguments),g=this._options.flickr.split(":"),h=a.extend({},e._options.flickrOptions),i="undefined"!=typeof h.loader?h.loader:a("<div>").css({width:48,height:48,opacity:.7,background:"#000 url("+b+"loader.gif) no-repeat 50% 50%"});if(g.length){if("function"!=typeof Galleria.Flickr.prototype[g[0]])return Galleria.raise(g[0]+" method not found in Flickr plugin"),c.apply(this,f);if(!g[1])return Galleria.raise("No flickr argument found"),c.apply(this,f);window.setTimeout(function(){e.$("target").append(i)},100),d=new Galleria.Flickr,"object"==typeof e._options.flickrOptions&&d.setOptions(e._options.flickrOptions),d[g[0]](g[1],function(a){e._data=a,i.remove(),e.trigger(Galleria.DATA),d.options.complete.call(d,a)})}else c.apply(this,f)}}(jQuery); \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/flickr/galleria.flickr.min.js b/assets/scripts/galleria/plugins/flickr/galleria.flickr.min.js deleted file mode 100644 index 4b79ca35..00000000 --- a/assets/scripts/galleria/plugins/flickr/galleria.flickr.min.js +++ /dev/null @@ -1 +0,0 @@ -(function($){Galleria.requires(1.25,"The Flickr Plugin requires Galleria version 1.2.5 or later.");var PATH=Galleria.utils.getScriptPath();Galleria.Flickr=function(api_key){this.api_key=api_key||"2a2ce06c15780ebeb0b706650fc890b2";this.options={max:30,imageSize:"medium",thumbSize:"thumb",sort:"interestingness-desc",description:false,complete:function(){},backlink:false}};Galleria.Flickr.prototype={constructor:Galleria.Flickr,search:function(phrase,callback){return this._find({text:phrase},callback)},tags:function(tag,callback){return this._find({tags:tag},callback)},user:function(username,callback){return this._call({method:"flickr.urls.lookupUser",url:"flickr.com/photos/"+username},function(data){this._find({user_id:data.user.id,method:"flickr.people.getPublicPhotos"},callback)})},set:function(photoset_id,callback){return this._find({photoset_id:photoset_id,method:"flickr.photosets.getPhotos"},callback)},gallery:function(gallery_id,callback){return this._find({gallery_id:gallery_id,method:"flickr.galleries.getPhotos"},callback)},groupsearch:function(group,callback){return this._call({text:group,method:"flickr.groups.search"},function(data){this.group(data.groups.group[0].nsid,callback)})},group:function(group_id,callback){return this._find({group_id:group_id,method:"flickr.groups.pools.getPhotos"},callback)},setOptions:function(options){$.extend(this.options,options);return this},_call:function(params,callback){var url="https://api.flickr.com/services/rest/?";var scope=this;params=$.extend({format:"json",jsoncallback:"?",api_key:this.api_key},params);$.each(params,function(key,value){url+="&"+key+"="+value});$.getJSON(url,function(data){if(data.stat==="ok"){callback.call(scope,data)}else{Galleria.raise(data.code.toString()+" "+data.stat+": "+data.message,true)}});return scope},_getBig:function(photo){if(photo.url_l){return photo.url_l}else if(parseInt(photo.width_o,10)>1280){return"https://farm"+photo.farm+".static.flickr.com/"+photo.server+"/"+photo.id+"_"+photo.secret+"_b.jpg"}return photo.url_o||photo.url_z||photo.url_m},_getSize:function(photo,size){var img;switch(size){case"thumb":img=photo.url_t;break;case"small":img=photo.url_s;break;case"big":img=this._getBig(photo);break;case"original":img=photo.url_o?photo.url_o:this._getBig(photo);break;default:img=photo.url_z||photo.url_m;break}return img},_find:function(params,callback){params=$.extend({method:"flickr.photos.search",extras:"url_t,url_m,url_o,url_s,url_l,url_z,description",sort:this.options.sort,per_page:Math.min(this.options.max,500)},params);return this._call(params,function(data){var gallery=[],photos=data.photos?data.photos.photo:data.photoset.photo,len=photos.length,photo,i;for(i=0;i<len;i++){photo=photos[i];gallery.push({thumb:this._getSize(photo,this.options.thumbSize),image:this._getSize(photo,this.options.imageSize),big:this._getBig(photo),title:photos[i].title,description:this.options.description&&photos[i].description?photos[i].description._content:"",link:this.options.backlink?"https://flickr.com/photos/"+photo.owner+"/"+photo.id:""})}callback.call(this,gallery)})}};var load=Galleria.prototype.load;Galleria.prototype.load=function(){if(arguments.length||typeof this._options.flickr!=="string"){load.apply(this,Galleria.utils.array(arguments));return}var self=this,args=Galleria.utils.array(arguments),flickr=this._options.flickr.split(":"),f,opts=$.extend({},self._options.flickrOptions),loader=typeof opts.loader!=="undefined"?opts.loader:$("<div>").css({width:48,height:48,opacity:.7,background:"#000 url("+PATH+"loader.gif) no-repeat 50% 50%"});if(flickr.length){if(typeof Galleria.Flickr.prototype[flickr[0]]!=="function"){Galleria.raise(flickr[0]+" method not found in Flickr plugin");return load.apply(this,args)}if(!flickr[1]){Galleria.raise("No flickr argument found");return load.apply(this,args)}window.setTimeout(function(){self.$("target").append(loader)},100);f=new Galleria.Flickr;if(typeof self._options.flickrOptions==="object"){f.setOptions(self._options.flickrOptions)}f[flickr[0]](flickr[1],function(data){self._data=data;loader.remove();self.trigger(Galleria.DATA);f.options.complete.call(f,data)})}else{load.apply(this,args)}}})(jQuery); \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/flickr/loader.gif b/assets/scripts/galleria/plugins/flickr/loader.gif deleted file mode 100644 index 27df81f46d9fe7398b9daf3d0f5fc97337d93750..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1849 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 diff --git a/assets/scripts/galleria/plugins/history/galleria.history.js b/assets/scripts/galleria/plugins/history/galleria.history.js deleted file mode 100644 index 45688c82..00000000 --- a/assets/scripts/galleria/plugins/history/galleria.history.js +++ /dev/null @@ -1,147 +0,0 @@ -/** - * Galleria History Plugin 2016-09-03 - * http://galleria.io - * - * Copyright (c) 2010 - 2017 worse is better UG - * Licensed under the MIT license - * https://raw.github.com/worseisbetter/galleria/master/LICENSE - * - */ - -(function( $, window ) { - -/*global jQuery, Galleria, window */ - -Galleria.requires(1.25, 'The History Plugin requires Galleria version 1.2.5 or later.'); - -Galleria.History = (function() { - - var onloads = [], - - init = false, - - loc = window.location, - - doc = window.document, - - ie = Galleria.IE, - - support = 'onhashchange' in window && ( doc.mode === undefined || doc.mode > 7 ), - - iframe, - - get = function( winloc ) { - if( iframe && !support && Galleria.IE ) { - winloc = winloc || iframe.location; - } else { - winloc = loc; - } - return parseInt( winloc.hash.substr(2), 10 ); - }, - - saved = get( loc ), - - callbacks = [], - - onchange = function() { - $.each( callbacks, function( i, fn ) { - fn.call( window, get() ); - }); - }, - - ready = function() { - $.each( onloads, function(i, fn) { - fn(); - }); - - init = true; - }, - - setHash = function( val ) { - return '/' + val; - }; - - // always remove support if IE < 8 - if ( support && ie < 8 ) { - support = false; - } - - if ( !support ) { - - $(function() { - - var interval = window.setInterval(function() { - - var hash = get(); - - if ( !isNaN( hash ) && hash != saved ) { - saved = hash; - loc.hash = setHash( hash ); - onchange(); - } - - }, 50); - - if ( ie ) { - - $('<iframe tabindex="-1" title="empty">').hide().attr( 'src', 'about:blank' ).one('load', function() { - - iframe = this.contentWindow; - - ready(); - - }).insertAfter(doc.body); - - } else { - ready(); - } - }); - } else { - ready(); - } - - return { - - change: function( fn ) { - - callbacks.push( fn ); - - if( support ) { - window.onhashchange = onchange; - } - }, - - set: function( val ) { - - if ( isNaN( val ) ) { - return; - } - - if ( !support && ie ) { - - this.ready(function() { - - var idoc = iframe.document; - idoc.open(); - idoc.close(); - - iframe.location.hash = setHash( val ); - - }); - } - - loc.hash = setHash( val ); - }, - - ready: function(fn) { - if (!init) { - onloads.push(fn); - } else { - fn(); - } - } - }; -}()); - -}( jQuery, this )); - diff --git a/assets/scripts/galleria/plugins/history/galleria.history.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js b/assets/scripts/galleria/plugins/history/galleria.history.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js deleted file mode 100644 index 58c5ac07..00000000 --- a/assets/scripts/galleria/plugins/history/galleria.history.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Galleria - v1.5.3 2017-02-13 - * https://galleria.io - * - * Copyright (c) 2010 - 2017 worse is better UG - * Licensed under the MIT License. - * https://raw.github.com/worseisbetter/galleria/master/LICENSE - * - */ - -!function(a,b){Galleria.requires(1.25,"The History Plugin requires Galleria version 1.2.5 or later."),Galleria.History=function(){var c,d=[],e=!1,f=b.location,g=b.document,h=Galleria.IE,i="onhashchange"in b&&(void 0===g.mode||g.mode>7),j=function(a){return a=c&&!i&&Galleria.IE?a||c.location:f,parseInt(a.hash.substr(2),10)},k=j(f),l=[],m=function(){a.each(l,function(a,c){c.call(b,j())})},n=function(){a.each(d,function(a,b){b()}),e=!0},o=function(a){return"/"+a};return i&&h<8&&(i=!1),i?n():a(function(){b.setInterval(function(){var a=j();isNaN(a)||a==k||(k=a,f.hash=o(a),m())},50);h?a('<iframe tabindex="-1" title="empty">').hide().attr("src","about:blank").one("load",function(){c=this.contentWindow,n()}).insertAfter(g.body):n()}),{change:function(a){l.push(a),i&&(b.onhashchange=m)},set:function(a){isNaN(a)||(!i&&h&&this.ready(function(){var b=c.document;b.open(),b.close(),c.location.hash=o(a)}),f.hash=o(a))},ready:function(a){e?a():d.push(a)}}}()}(jQuery,this); \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/history/galleria.history.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js b/assets/scripts/galleria/plugins/history/galleria.history.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js deleted file mode 100644 index e727328b..00000000 --- a/assets/scripts/galleria/plugins/history/galleria.history.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a,b){Galleria.requires(1.25,"The History Plugin requires Galleria version 1.2.5 or later."),Galleria.History=function(){var c,d=[],e=!1,f=b.location,g=b.document,h=Galleria.IE,i="onhashchange"in b&&(void 0===g.mode||g.mode>7),j=function(a){return a=c&&!i&&Galleria.IE?a||c.location:f,parseInt(a.hash.substr(2),10)},k=j(f),l=[],m=function(){a.each(l,function(a,c){c.call(b,j())})},n=function(){a.each(d,function(a,b){b()}),e=!0},o=function(a){return"/"+a};return i&&h<8&&(i=!1),i?n():a(function(){b.setInterval(function(){var a=j();isNaN(a)||a==k||(k=a,f.hash=o(a),m())},50);h?a('<iframe tabindex="-1" title="empty">').hide().attr("src","about:blank").one("load",function(){c=this.contentWindow,n()}).insertAfter(g.body):n()}),{change:function(a){l.push(a),i&&(b.onhashchange=m)},set:function(a){isNaN(a)||(!i&&h&&this.ready(function(){var b=c.document;b.open(),b.close(),c.location.hash=o(a)}),f.hash=o(a))},ready:function(a){e?a():d.push(a)}}}()}(jQuery,this); \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/history/galleria.history.min.js b/assets/scripts/galleria/plugins/history/galleria.history.min.js deleted file mode 100644 index 13e87be5..00000000 --- a/assets/scripts/galleria/plugins/history/galleria.history.min.js +++ /dev/null @@ -1 +0,0 @@ -(function($,window){Galleria.requires(1.25,"The History Plugin requires Galleria version 1.2.5 or later.");Galleria.History=function(){var onloads=[],init=false,loc=window.location,doc=window.document,ie=Galleria.IE,support="onhashchange"in window&&(doc.mode===undefined||doc.mode>7),iframe,get=function(winloc){if(iframe&&!support&&Galleria.IE){winloc=winloc||iframe.location}else{winloc=loc}return parseInt(winloc.hash.substr(2),10)},saved=get(loc),callbacks=[],onchange=function(){$.each(callbacks,function(i,fn){fn.call(window,get())})},ready=function(){$.each(onloads,function(i,fn){fn()});init=true},setHash=function(val){return"/"+val};if(support&&ie<8){support=false}if(!support){$(function(){var interval=window.setInterval(function(){var hash=get();if(!isNaN(hash)&&hash!=saved){saved=hash;loc.hash=setHash(hash);onchange()}},50);if(ie){$('<iframe tabindex="-1" title="empty">').hide().attr("src","about:blank").one("load",function(){iframe=this.contentWindow;ready()}).insertAfter(doc.body)}else{ready()}})}else{ready()}return{change:function(fn){callbacks.push(fn);if(support){window.onhashchange=onchange}},set:function(val){if(isNaN(val)){return}if(!support&&ie){this.ready(function(){var idoc=iframe.document;idoc.open();idoc.close();iframe.location.hash=setHash(val)})}loc.hash=setHash(val)},ready:function(fn){if(!init){onloads.push(fn)}else{fn()}}}}()})(jQuery,this); \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/history/history-demo.html b/assets/scripts/galleria/plugins/history/history-demo.html deleted file mode 100644 index 5819b8e7..00000000 --- a/assets/scripts/galleria/plugins/history/history-demo.html +++ /dev/null @@ -1,100 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Galleria History Plugin</title> - <style> - - /* Demo styles */ - html,body{background:#222;margin:0;} - body{border-top:4px solid #000;} - .content{color:#777;font:12px/1.4 "helvetica neue",arial,sans-serif;width:620px;margin:20px auto;} - h1{font-size:12px;font-weight:normal;color:#ddd;margin:0;} - p{margin:0 0 20px} - a {color:#22BCB9;text-decoration:none;} - .cred{margin-top:20px;font-size:11px;} - - /* This rule is read by Galleria to define the gallery height: */ - #galleria{height:320px} - - </style> - - <!-- load jQuery --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> - - <!-- load Galleria --> - <script src="../../galleria-1.5.7.min.js"></script> - - <!-- load the History plugin, no need for further scripting --> - <script src="galleria.history.min.js"></script> - - </head> -<body> - <div class="content"> - <h1>Galleria History Plugin</h1> - <p>Demonstrating a basic history example. Supports most browsers, including FF 3.0+ and IE 7+</p> - - <!-- Adding gallery images. We use resized thumbnails here for better performance, but it’s not necessary --> - - <div id="galleria"> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/34/Locomotives-Roundhouse2.jpg/800px-Locomotives-Roundhouse2.jpg"> - <img title="Locomotives Roundhouse" - alt="Steam locomotives of the Chicago & North Western Railway." - src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/34/Locomotives-Roundhouse2.jpg/100px-Locomotives-Roundhouse2.jpg"> - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Icebergs_in_the_High_Arctic_-_20050907.jpg/1000px-Icebergs_in_the_High_Arctic_-_20050907.jpg"> - <img title="Icebergs in the High Arctic" - alt="â€The debris loading isn't particularly extensive, but the color is usual.â€" - src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Icebergs_in_the_High_Arctic_-_20050907.jpg/100px-Icebergs_in_the_High_Arctic_-_20050907.jpg"> - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Ara%C3%B1a._A_Estrada%2C_Galiza._02.jpg/1000px-Ara%C3%B1a._A_Estrada%2C_Galiza._02.jpg"> - <img title="Araña" - alt="Xysticus cristatus, A Estrada, Galicia, Spain" - src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Ara%C3%B1a._A_Estrada%2C_Galiza._02.jpg/100px-Ara%C3%B1a._A_Estrada%2C_Galiza._02.jpg"> - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/9104_-_Milano_-_Museo_storia_naturale_-_Fluorite_-_Foto_Giovanni_Dall%27Orto_22-Apr-2007.jpg/1000px-9104_-_Milano_-_Museo_storia_naturale_-_Fluorite_-_Foto_Giovanni_Dall%27Orto_22-Apr-2007.jpg"> - <img title="Museo storia naturale" - src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/9104_-_Milano_-_Museo_storia_naturale_-_Fluorite_-_Foto_Giovanni_Dall%27Orto_22-Apr-2007.jpg/100px-9104_-_Milano_-_Museo_storia_naturale_-_Fluorite_-_Foto_Giovanni_Dall%27Orto_22-Apr-2007.jpg"> - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/1/15/Grj%C3%B3tagj%C3%A1_caves_in_summer_2009_%282%29.jpg/1000px-Grj%C3%B3tagj%C3%A1_caves_in_summer_2009_%282%29.jpg"> - <img title="Grjótagjá caves in summer 2009" - src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/15/Grj%C3%B3tagj%C3%A1_caves_in_summer_2009_%282%29.jpg/100px-Grj%C3%B3tagj%C3%A1_caves_in_summer_2009_%282%29.jpg"> - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/9/90/20091128_Loutra_Thermes_Xanthi_Thrace_Greece_2.jpg/1000px-20091128_Loutra_Thermes_Xanthi_Thrace_Greece_2.jpg"> - <img title="Thermes" - alt="Xanthi hot-spa springs, Xanthi Prefecture, Greece" - src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/90/20091128_Loutra_Thermes_Xanthi_Thrace_Greece_2.jpg/100px-20091128_Loutra_Thermes_Xanthi_Thrace_Greece_2.jpg"> - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Polish_Army_Ko%C5%82obrzeg_077.JPG/1024px-Polish_Army_Ko%C5%82obrzeg_077.JPG"> - <img title="Polish Army KoÅ‚obrzeg" - alt="A display of the Polish Army. Both the soldier, and the vehicle belong to the 7th Pomeranian Coastal Defence Brigade, a part of the Szczecin-based 12th Mechanized Division â€BolesÅ‚aw Krzywoustyâ€" - src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Polish_Army_Ko%C5%82obrzeg_077.JPG/100px-Polish_Army_Ko%C5%82obrzeg_077.JPG"> - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/20100213_Zlatograd_Bulgaria_3.jpg/1024px-20100213_Zlatograd_Bulgaria_3.jpg"> - <img title="Zlatograd Bulgaria" - src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/20100213_Zlatograd_Bulgaria_3.jpg/100px-20100213_Zlatograd_Bulgaria_3.jpg"> - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/FEMA_-_5399_-_Photograph_by_Andrea_Booher_taken_on_09-28-2001_in_New_York.jpg/1024px-FEMA_-_5399_-_Photograph_by_Andrea_Booher_taken_on_09-28-2001_in_New_York.jpg"> - <img title="09-28-2001 in New York City" - alt="New York, NY, September 28, 2001 -- Debris on surrounding roofs at the site of the World Trade Center. Photo by Andrea Booher/ FEMA News Photo" - src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/FEMA_-_5399_-_Photograph_by_Andrea_Booher_taken_on_09-28-2001_in_New_York.jpg/100px-FEMA_-_5399_-_Photograph_by_Andrea_Booher_taken_on_09-28-2001_in_New_York.jpg"> - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/Antennae%2C_Hubble_images.jpg/1024px-Antennae%2C_Hubble_images.jpg"> - <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/Antennae%2C_Hubble_images.jpg/100px-Antennae%2C_Hubble_images.jpg"> - </a> - </div> - - <p class="cred">Made by <a href="http://galleria.io">Galleria</a>.</p> - </div> - - <script> - $(function() { - // Load the classic theme - Galleria.loadTheme('../../themes/classic/galleria.classic.min.js'); - - // Initialize Galleria - Galleria.run('#galleria'); - }); - </script> - </body> -</html> \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/picasa/galleria.picasa.js b/assets/scripts/galleria/plugins/picasa/galleria.picasa.js deleted file mode 100644 index 8cf1ead1..00000000 --- a/assets/scripts/galleria/plugins/picasa/galleria.picasa.js +++ /dev/null @@ -1,321 +0,0 @@ -/** - * Galleria Picasa Plugin 2016-09-03 - * http://galleria.io - * - * Copyright (c) 2010 - 2017 worse is better UG - * Licensed under the MIT license - * https://raw.github.com/worseisbetter/galleria/master/LICENSE - * - */ - -(function($) { - -/*global jQuery, Galleria, window */ - -Galleria.requires(1.25, 'The Picasa Plugin requires Galleria version 1.2.5 or later.'); - -// The script path -var PATH = Galleria.utils.getScriptPath(); - -/** - - @class - @constructor - - @example var picasa = new Galleria.Picasa(); - - @author http://wib.io - - @requires jQuery - @requires Galleria - - @returns Instance -*/ - -Galleria.Picasa = function() { - - this.options = { - max: 30, // photos to return - imageSize: 'medium', // photo size ( thumb,small,medium,big,original ) or a number - thumbSize: 'thumb', // thumbnail size ( thumb,small,medium,big,original ) or a number - complete: function(){} // callback to be called inside the Galleria.prototype.load - }; - -}; - -Galleria.Picasa.prototype = { - - // bring back the constructor reference - - constructor: Galleria.Picasa, - - /** - Search for anything at Picasa - - @param {String} phrase The string to search for - @param {Function} [callback] The callback to be called when the data is ready - - @returns Instance - */ - - search: function( phrase, callback ) { - return this._call( 'search', 'all', { - q: phrase - }, callback ); - }, - - /** - Get a user's public photos - - @param {String} username The username to fetch photos from - @param {Function} [callback] The callback to be called when the data is ready - - @returns Instance - */ - - user: function( username, callback ) { - return this._call( 'user', 'user/' + username, callback ); - }, - - /** - Get photos from an album - - @param {String} username The username that owns the album - @param {String} album The album ID - @param {Function} [callback] The callback to be called when the data is ready - - @returns Instance - */ - - useralbum: function( username, album, callback ) { - return this._call( 'useralbum', 'user/' + username + '/album/' + album, callback ); - }, - - /** - Set picasa options - - @param {Object} options The options object to blend - - @returns Instance - */ - - setOptions: function( options ) { - $.extend(this.options, options); - return this; - }, - - - // call Picasa - - _call: function( type, url, params, callback ) { - - url = 'https://picasaweb.google.com/data/feed/api/' + url + '?'; - - if (typeof params == 'function') { - callback = params; - params = {}; - } - - var self = this; - - params = $.extend({ - 'kind': 'photo', - 'access': 'public', - 'max-results': this.options.max, - 'thumbsize': this._getSizes().join(','), - 'alt': 'json-in-script', - 'callback': '?' - }, params ); - - $.each(params, function( key, value ) { - url += '&' + key + '=' + value; - }); - - // since Picasa throws 404 when the call is malformed, we must set a timeout here: - - var data = false; - - Galleria.utils.wait({ - until: function() { - return data; - }, - success: function() { - self._parse.call( self, data.feed.entry, callback ); - }, - error: function() { - var msg = ''; - if ( type == 'user' ) { - msg = 'user not found.'; - } else if ( type == 'useralbum' ) { - msg = 'album or user not found.'; - } - Galleria.raise('Picasa request failed' + (msg ? ': ' + msg : '.')); - }, - timeout: 5000 - }); - - $.getJSON( url, function( result ) { - data = result; - }); - - return self; - }, - - - // parse image sizes and return an array of three - - _getSizes: function() { - - var self = this, - norm = { - small: '72c', - thumb: '104u', - medium: '640u', - big: '1024u', - original: '1600u' - }, - op = self.options, - t = {}, - n, - sz = [32,48,64,72,94,104,110,128,144,150,160,200,220,288,320,400,512,576,640,720,800,912,1024,1152,1280,1440,1600]; - - $(['thumbSize', 'imageSize']).each(function() { - if( op[this] in norm ) { - t[this] = norm[ op[this] ]; - } else { - n = Galleria.utils.parseValue( op[this] ); - if (n > 1600) { - n = 1600; - } else { - $.each( sz, function(i) { - if ( n < this ) { - n = sz[i-1]; - return false; - } - }); - } - t[this] = n; - } - }); - - return [ t.thumbSize, t.imageSize, '1280u']; - - }, - - - // parse the result and call the callback with the galleria-ready data array - - _parse: function( data, callback ) { - - var self = this, - gallery = [], - img; - - $.each( data, function() { - - img = this.media$group.media$thumbnail; - - gallery.push({ - thumb: img[0].url, - image: img[1].url, - big: img[2].url, - title: this.summary.$t - }); - }); - - callback.call( this, gallery ); - } -}; - - -/** - Galleria modifications - We fake-extend the load prototype to make Picasa integration as simple as possible -*/ - - -// save the old prototype in a local variable - -var load = Galleria.prototype.load; - - -// fake-extend the load prototype using the picasa data - -Galleria.prototype.load = function() { - - // pass if no data is provided or picasa option not found - if ( arguments.length || typeof this._options.picasa !== 'string' ) { - load.apply( this, Galleria.utils.array( arguments ) ); - return; - } - - // define some local vars - var self = this, - args = Galleria.utils.array( arguments ), - picasa = this._options.picasa.split(':'), - p, - opts = $.extend({}, self._options.picasaOptions), - loader = typeof opts.loader !== 'undefined' ? - opts.loader : $('<div>').css({ - width: 48, - height: 48, - opacity: 0.7, - background:'#000 url('+PATH+'loader.gif) no-repeat 50% 50%' - }); - - if ( picasa.length ) { - - // validate the method - if ( typeof Galleria.Picasa.prototype[ picasa[0] ] !== 'function' ) { - Galleria.raise( picasa[0] + ' method not found in Picasa plugin' ); - return load.apply( this, args ); - } - - // validate the argument - if ( !picasa[1] ) { - Galleria.raise( 'No picasa argument found' ); - return load.apply( this, args ); - } - - // apply the preloader - window.setTimeout(function() { - self.$( 'target' ).append( loader ); - },100); - - // create the instance - p = new Galleria.Picasa(); - - // apply Flickr options - if ( typeof self._options.picasaOptions === 'object' ) { - p.setOptions( self._options.picasaOptions ); - } - - // call the picasa method and trigger the DATA event - var arg = []; - if ( picasa[0] == 'useralbum' ) { - arg = picasa[1].split('/'); - if (arg.length != 2) { - Galleria.raise( 'Picasa useralbum not correctly formatted (should be [user]/[album])'); - return; - } - } else { - arg.push( picasa[1] ); - } - - arg.push(function(data) { - self._data = data; - loader.remove(); - self.trigger( Galleria.DATA ); - p.options.complete.call(p, data); - }); - - p[ picasa[0] ].apply( p, arg ); - - } else { - - // if flickr array not found, pass - load.apply( this, args ); - } -}; - -}( jQuery ) ); \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/picasa/galleria.picasa.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js b/assets/scripts/galleria/plugins/picasa/galleria.picasa.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js deleted file mode 100644 index 2480a025..00000000 --- a/assets/scripts/galleria/plugins/picasa/galleria.picasa.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Galleria - v1.5.3 2017-02-13 - * https://galleria.io - * - * Copyright (c) 2010 - 2017 worse is better UG - * Licensed under the MIT License. - * https://raw.github.com/worseisbetter/galleria/master/LICENSE - * - */ - -!function(a){Galleria.requires(1.25,"The Picasa Plugin requires Galleria version 1.2.5 or later.");var b=Galleria.utils.getScriptPath();Galleria.Picasa=function(){this.options={max:30,imageSize:"medium",thumbSize:"thumb",complete:function(){}}},Galleria.Picasa.prototype={constructor:Galleria.Picasa,search:function(a,b){return this._call("search","all",{q:a},b)},user:function(a,b){return this._call("user","user/"+a,b)},useralbum:function(a,b,c){return this._call("useralbum","user/"+a+"/album/"+b,c)},setOptions:function(b){return a.extend(this.options,b),this},_call:function(b,c,d,e){c="https://picasaweb.google.com/data/feed/api/"+c+"?","function"==typeof d&&(e=d,d={});var f=this;d=a.extend({kind:"photo",access:"public","max-results":this.options.max,thumbsize:this._getSizes().join(","),alt:"json-in-script",callback:"?"},d),a.each(d,function(a,b){c+="&"+a+"="+b});var g=!1;return Galleria.utils.wait({until:function(){return g},success:function(){f._parse.call(f,g.feed.entry,e)},error:function(){var a="";"user"==b?a="user not found.":"useralbum"==b&&(a="album or user not found."),Galleria.raise("Picasa request failed"+(a?": "+a:"."))},timeout:5e3}),a.getJSON(c,function(a){g=a}),f},_getSizes:function(){var b,c=this,d={small:"72c",thumb:"104u",medium:"640u",big:"1024u",original:"1600u"},e=c.options,f={},g=[32,48,64,72,94,104,110,128,144,150,160,200,220,288,320,400,512,576,640,720,800,912,1024,1152,1280,1440,1600];return a(["thumbSize","imageSize"]).each(function(){e[this]in d?f[this]=d[e[this]]:(b=Galleria.utils.parseValue(e[this]),b>1600?b=1600:a.each(g,function(a){if(b<this)return b=g[a-1],!1}),f[this]=b)}),[f.thumbSize,f.imageSize,"1280u"]},_parse:function(b,c){var d,e=[];a.each(b,function(){d=this.media$group.media$thumbnail,e.push({thumb:d[0].url,image:d[1].url,big:d[2].url,title:this.summary.$t})}),c.call(this,e)}};var c=Galleria.prototype.load;Galleria.prototype.load=function(){if(arguments.length||"string"!=typeof this._options.picasa)return void c.apply(this,Galleria.utils.array(arguments));var d,e=this,f=Galleria.utils.array(arguments),g=this._options.picasa.split(":"),h=a.extend({},e._options.picasaOptions),i="undefined"!=typeof h.loader?h.loader:a("<div>").css({width:48,height:48,opacity:.7,background:"#000 url("+b+"loader.gif) no-repeat 50% 50%"});if(g.length){if("function"!=typeof Galleria.Picasa.prototype[g[0]])return Galleria.raise(g[0]+" method not found in Picasa plugin"),c.apply(this,f);if(!g[1])return Galleria.raise("No picasa argument found"),c.apply(this,f);window.setTimeout(function(){e.$("target").append(i)},100),d=new Galleria.Picasa,"object"==typeof e._options.picasaOptions&&d.setOptions(e._options.picasaOptions);var j=[];if("useralbum"==g[0]){if(j=g[1].split("/"),2!=j.length)return void Galleria.raise("Picasa useralbum not correctly formatted (should be [user]/[album])")}else j.push(g[1]);j.push(function(a){e._data=a,i.remove(),e.trigger(Galleria.DATA),d.options.complete.call(d,a)}),d[g[0]].apply(d,j)}else c.apply(this,f)}}(jQuery); \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/picasa/galleria.picasa.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js b/assets/scripts/galleria/plugins/picasa/galleria.picasa.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js deleted file mode 100644 index 991ac244..00000000 --- a/assets/scripts/galleria/plugins/picasa/galleria.picasa.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){Galleria.requires(1.25,"The Picasa Plugin requires Galleria version 1.2.5 or later.");var b=Galleria.utils.getScriptPath();Galleria.Picasa=function(){this.options={max:30,imageSize:"medium",thumbSize:"thumb",complete:function(){}}},Galleria.Picasa.prototype={constructor:Galleria.Picasa,search:function(a,b){return this._call("search","all",{q:a},b)},user:function(a,b){return this._call("user","user/"+a,b)},useralbum:function(a,b,c){return this._call("useralbum","user/"+a+"/album/"+b,c)},setOptions:function(b){return a.extend(this.options,b),this},_call:function(b,c,d,e){c="https://picasaweb.google.com/data/feed/api/"+c+"?","function"==typeof d&&(e=d,d={});var f=this;d=a.extend({kind:"photo",access:"public","max-results":this.options.max,thumbsize:this._getSizes().join(","),alt:"json-in-script",callback:"?"},d),a.each(d,function(a,b){c+="&"+a+"="+b});var g=!1;return Galleria.utils.wait({until:function(){return g},success:function(){f._parse.call(f,g.feed.entry,e)},error:function(){var a="";"user"==b?a="user not found.":"useralbum"==b&&(a="album or user not found."),Galleria.raise("Picasa request failed"+(a?": "+a:"."))},timeout:5e3}),a.getJSON(c,function(a){g=a}),f},_getSizes:function(){var b,c=this,d={small:"72c",thumb:"104u",medium:"640u",big:"1024u",original:"1600u"},e=c.options,f={},g=[32,48,64,72,94,104,110,128,144,150,160,200,220,288,320,400,512,576,640,720,800,912,1024,1152,1280,1440,1600];return a(["thumbSize","imageSize"]).each(function(){e[this]in d?f[this]=d[e[this]]:(b=Galleria.utils.parseValue(e[this]),b>1600?b=1600:a.each(g,function(a){if(b<this)return b=g[a-1],!1}),f[this]=b)}),[f.thumbSize,f.imageSize,"1280u"]},_parse:function(b,c){var d,e=[];a.each(b,function(){d=this.media$group.media$thumbnail,e.push({thumb:d[0].url,image:d[1].url,big:d[2].url,title:this.summary.$t})}),c.call(this,e)}};var c=Galleria.prototype.load;Galleria.prototype.load=function(){if(arguments.length||"string"!=typeof this._options.picasa)return void c.apply(this,Galleria.utils.array(arguments));var d,e=this,f=Galleria.utils.array(arguments),g=this._options.picasa.split(":"),h=a.extend({},e._options.picasaOptions),i="undefined"!=typeof h.loader?h.loader:a("<div>").css({width:48,height:48,opacity:.7,background:"#000 url("+b+"loader.gif) no-repeat 50% 50%"});if(g.length){if("function"!=typeof Galleria.Picasa.prototype[g[0]])return Galleria.raise(g[0]+" method not found in Picasa plugin"),c.apply(this,f);if(!g[1])return Galleria.raise("No picasa argument found"),c.apply(this,f);window.setTimeout(function(){e.$("target").append(i)},100),d=new Galleria.Picasa,"object"==typeof e._options.picasaOptions&&d.setOptions(e._options.picasaOptions);var j=[];if("useralbum"==g[0]){if(j=g[1].split("/"),2!=j.length)return void Galleria.raise("Picasa useralbum not correctly formatted (should be [user]/[album])")}else j.push(g[1]);j.push(function(a){e._data=a,i.remove(),e.trigger(Galleria.DATA),d.options.complete.call(d,a)}),d[g[0]].apply(d,j)}else c.apply(this,f)}}(jQuery); \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/picasa/galleria.picasa.min.js b/assets/scripts/galleria/plugins/picasa/galleria.picasa.min.js deleted file mode 100644 index fb377ad1..00000000 --- a/assets/scripts/galleria/plugins/picasa/galleria.picasa.min.js +++ /dev/null @@ -1 +0,0 @@ -(function($){Galleria.requires(1.25,"The Picasa Plugin requires Galleria version 1.2.5 or later.");var PATH=Galleria.utils.getScriptPath();Galleria.Picasa=function(){this.options={max:30,imageSize:"medium",thumbSize:"thumb",complete:function(){}}};Galleria.Picasa.prototype={constructor:Galleria.Picasa,search:function(phrase,callback){return this._call("search","all",{q:phrase},callback)},user:function(username,callback){return this._call("user","user/"+username,callback)},useralbum:function(username,album,callback){return this._call("useralbum","user/"+username+"/album/"+album,callback)},setOptions:function(options){$.extend(this.options,options);return this},_call:function(type,url,params,callback){url="https://picasaweb.google.com/data/feed/api/"+url+"?";if(typeof params=="function"){callback=params;params={}}var self=this;params=$.extend({kind:"photo",access:"public","max-results":this.options.max,thumbsize:this._getSizes().join(","),alt:"json-in-script",callback:"?"},params);$.each(params,function(key,value){url+="&"+key+"="+value});var data=false;Galleria.utils.wait({until:function(){return data},success:function(){self._parse.call(self,data.feed.entry,callback)},error:function(){var msg="";if(type=="user"){msg="user not found."}else if(type=="useralbum"){msg="album or user not found."}Galleria.raise("Picasa request failed"+(msg?": "+msg:"."))},timeout:5e3});$.getJSON(url,function(result){data=result});return self},_getSizes:function(){var self=this,norm={small:"72c",thumb:"104u",medium:"640u",big:"1024u",original:"1600u"},op=self.options,t={},n,sz=[32,48,64,72,94,104,110,128,144,150,160,200,220,288,320,400,512,576,640,720,800,912,1024,1152,1280,1440,1600];$(["thumbSize","imageSize"]).each(function(){if(op[this]in norm){t[this]=norm[op[this]]}else{n=Galleria.utils.parseValue(op[this]);if(n>1600){n=1600}else{$.each(sz,function(i){if(n<this){n=sz[i-1];return false}})}t[this]=n}});return[t.thumbSize,t.imageSize,"1280u"]},_parse:function(data,callback){var self=this,gallery=[],img;$.each(data,function(){img=this.media$group.media$thumbnail;gallery.push({thumb:img[0].url,image:img[1].url,big:img[2].url,title:this.summary.$t})});callback.call(this,gallery)}};var load=Galleria.prototype.load;Galleria.prototype.load=function(){if(arguments.length||typeof this._options.picasa!=="string"){load.apply(this,Galleria.utils.array(arguments));return}var self=this,args=Galleria.utils.array(arguments),picasa=this._options.picasa.split(":"),p,opts=$.extend({},self._options.picasaOptions),loader=typeof opts.loader!=="undefined"?opts.loader:$("<div>").css({width:48,height:48,opacity:.7,background:"#000 url("+PATH+"loader.gif) no-repeat 50% 50%"});if(picasa.length){if(typeof Galleria.Picasa.prototype[picasa[0]]!=="function"){Galleria.raise(picasa[0]+" method not found in Picasa plugin");return load.apply(this,args)}if(!picasa[1]){Galleria.raise("No picasa argument found");return load.apply(this,args)}window.setTimeout(function(){self.$("target").append(loader)},100);p=new Galleria.Picasa;if(typeof self._options.picasaOptions==="object"){p.setOptions(self._options.picasaOptions)}var arg=[];if(picasa[0]=="useralbum"){arg=picasa[1].split("/");if(arg.length!=2){Galleria.raise("Picasa useralbum not correctly formatted (should be [user]/[album])");return}}else{arg.push(picasa[1])}arg.push(function(data){self._data=data;loader.remove();self.trigger(Galleria.DATA);p.options.complete.call(p,data)});p[picasa[0]].apply(p,arg)}else{load.apply(this,args)}}})(jQuery); \ No newline at end of file diff --git a/assets/scripts/galleria/plugins/picasa/loader.gif b/assets/scripts/galleria/plugins/picasa/loader.gif deleted file mode 100644 index 27df81f46d9fe7398b9daf3d0f5fc97337d93750..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1849 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 diff --git a/assets/scripts/galleria/plugins/picasa/picasa-demo.html b/assets/scripts/galleria/plugins/picasa/picasa-demo.html deleted file mode 100644 index 2e8ba253..00000000 --- a/assets/scripts/galleria/plugins/picasa/picasa-demo.html +++ /dev/null @@ -1,55 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Galleria Picasa Plugin</title> - <style> - - /* Demo styles */ - html,body{background:#222;margin:0;} - body{border-top:4px solid #000;} - .content{color:#777;font:12px/1.4 "helvetica neue",arial,sans-serif;width:620px;margin:20px auto;} - h1{font-size:12px;font-weight:normal;color:#ddd;margin:0;} - p{margin:0 0 20px} - a {color:#22BCB9;text-decoration:none;} - .cred{margin-top:20px;font-size:11px;} - - /* This rule is read by Galleria to define the gallery height: */ - #galleria{height:320px;} - - </style> - - <!-- load jQuery --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> - - <!-- load Galleria --> - <script src="../../galleria-1.5.7.min.js"></script> - - <!-- load picasa plugin --> - <script src="galleria.picasa.min.js"></script> - - </head> -<body> - <div class="content"> - <h1>Galleria Picasa Plugin Demo</h1> - <p>Demonstrating a basic gallery example with photos from a Picasa album.</p> - - <!-- Adding gallery images. This is just a container for the dynamic picasa images --> - - <div id="galleria"></div> - - <p class="cred">Made by <a href="http://galleria.io">Galleria</a>.</p> - </div> - <script> - $(function() { - // Load the classic theme - Galleria.loadTheme('../../themes/classic/galleria.classic.min.js'); - - Galleria.run('#galleria', { - // The user & album. This example fetches the album "Demo" from the user "galleriajs" - picasa: 'useralbum:galleriajs/Demo' - }); - }); - </script> - </body> -</html> \ No newline at end of file diff --git a/assets/scripts/galleria/themes/classic/classic-demo-cdn (SFConflict me@a1b0n.com 2017-02-12-23-35-56).html b/assets/scripts/galleria/themes/classic/classic-demo-cdn (SFConflict me@a1b0n.com 2017-02-12-23-35-56).html deleted file mode 100644 index e7189e3f..00000000 --- a/assets/scripts/galleria/themes/classic/classic-demo-cdn (SFConflict me@a1b0n.com 2017-02-12-23-35-56).html +++ /dev/null @@ -1,125 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Galleria Classic Theme</title> - <style> - - /* Demo styles */ - html,body{background:#222;margin:0;} - body{border-top:4px solid #000;} - .content{color:#777;font:12px/1.4 "helvetica neue",arial,sans-serif;width:620px;margin:20px auto;} - h1{font-size:12px;font-weight:normal;color:#ddd;margin:0;} - p{margin:0 0 20px} - a {color:#22BCB9;text-decoration:none;} - .cred{margin-top:20px;font-size:11px;} - - /* This rule is read by Galleria to define the gallery height: */ - #galleria{height:320px} - - </style> - </head> -<body> - <div class="content"> - <h1>Galleria Classic Theme</h1> - <p>Demonstrating a basic gallery example.</p> - - <!-- Adding gallery images. We use resized thumbnails here for better performance, but it’s not necessary --> - - <div id="galleria"> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/800px-Biandintz_eta_zaldiak_-_modified2.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/100px-Biandintz_eta_zaldiak_-_modified2.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/1280px-Biandintz_eta_zaldiak_-_modified2.jpg" - data-title="Biandintz eta zaldiak" - data-description="Horses on Bianditz mountain, in Navarre, Spain." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/800px-Athabasca_Rail_at_Brule_Lake.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/100px-Athabasca_Rail_at_Brule_Lake.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/1280px-Athabasca_Rail_at_Brule_Lake.jpg" - data-title="Athabasca Rail" - data-description="The Athabasca River railroad track at the mouth of Brulé Lake in Alberta, Canada." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/1280px-Back-scattering_crepuscular_rays_panorama_1.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/100px-Back-scattering_crepuscular_rays_panorama_1.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/1400px-Back-scattering_crepuscular_rays_panorama_1.jpg" - data-title="Back-scattering crepuscular rays" - data-description="Picture of the day on Wikimedia Commons 26 September 2010." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/800px-Interior_convento_3.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/120px-Interior_convento_3.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/1400px-Interior_convento_3.jpg" - data-title="Interior convento" - data-description="Interior view of Yuriria Convent, founded in 1550." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/800px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/100px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/1280px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg" - data-title="Oxbow Bend outlook" - data-description="View over the Snake River to the Mount Moran with the Skillet Glacier." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/800px-Hazy_blue_hour_in_Grand_Canyon.JPG"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/100px-Hazy_blue_hour_in_Grand_Canyon.JPG", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/1280px-Hazy_blue_hour_in_Grand_Canyon.JPG" - data-title="Hazy blue hour" - data-description="Hazy blue hour in Grand Canyon. View from the South Rim." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/800px-2909_vallon_moy_res.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/100px-2909_vallon_moy_res.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/1280px-2909_vallon_moy_res.jpg" - data-title="Haute Severaisse valley" - data-description="View of Haute Severaisse valley and surrounding summits from the slopes of Les Vernets." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/800px-Bohinjsko_jezero_2.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/100px-Bohinjsko_jezero_2.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/1280px-Bohinjsko_jezero_2.jpg" - data-title="Bohinj lake" - data-description="Bohinj lake (Triglav National Park, Slovenia) in the morning." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/800px-Bowling_Balls_Beach_2_edit.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/100px-Bowling_Balls_Beach_2_edit.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/1280px-Bowling_Balls_Beach_2_edit.jpg" - data-title="Bowling Balls" - data-description="Mendocino county, California, USA." - > - </a> - <a href="https://vimeo.com/25750735"> - <span class="video">Works for vimeo too.</span> - </a> - <a href="https://www.youtube.com/watch?v=GOD-RyVB-3Q"> - <span class="video">Works for youtube too.</span> - </a> - - </div> - <p class="cred">Made by <a href="http://galleria.io">Galleria</a>.</p> - </div> - - <!-- load jQuery --> - <!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.js"></script> --> - <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.js"></script> - <!-- load Galleria --> - <script src="https://cdnjs.cloudflare.com/ajax/libs/galleria/1.5.3/galleria.min.js"></script> - <script src="https://cdnjs.cloudflare.com/ajax/libs/galleria/1.5.3/themes/classic/galleria.classic.min.js"></script> - <script> - $(function() { - Galleria.run('#galleria'); - }); - </script> - </body> -</html> \ No newline at end of file diff --git a/assets/scripts/galleria/themes/classic/classic-demo-cdn.html b/assets/scripts/galleria/themes/classic/classic-demo-cdn.html deleted file mode 100644 index a6df2c46..00000000 --- a/assets/scripts/galleria/themes/classic/classic-demo-cdn.html +++ /dev/null @@ -1,125 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Galleria Classic Theme</title> - <style> - - /* Demo styles */ - html,body{background:#222;margin:0;} - body{border-top:4px solid #000;} - .content{color:#777;font:12px/1.4 "helvetica neue",arial,sans-serif;width:620px;margin:20px auto;} - h1{font-size:12px;font-weight:normal;color:#ddd;margin:0;} - p{margin:0 0 20px} - a {color:#22BCB9;text-decoration:none;} - .cred{margin-top:20px;font-size:11px;} - - /* This rule is read by Galleria to define the gallery height: */ - #galleria{height:320px} - - </style> - </head> -<body> - <div class="content"> - <h1>Galleria Classic Theme</h1> - <p>Demonstrating a basic gallery example.</p> - - <!-- Adding gallery images. We use resized thumbnails here for better performance, but it’s not necessary --> - - <div id="galleria"> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/800px-Biandintz_eta_zaldiak_-_modified2.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/100px-Biandintz_eta_zaldiak_-_modified2.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/1280px-Biandintz_eta_zaldiak_-_modified2.jpg" - data-title="Biandintz eta zaldiak" - data-description="Horses on Bianditz mountain, in Navarre, Spain." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/800px-Athabasca_Rail_at_Brule_Lake.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/100px-Athabasca_Rail_at_Brule_Lake.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/1280px-Athabasca_Rail_at_Brule_Lake.jpg" - data-title="Athabasca Rail" - data-description="The Athabasca River railroad track at the mouth of Brulé Lake in Alberta, Canada." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/1280px-Back-scattering_crepuscular_rays_panorama_1.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/100px-Back-scattering_crepuscular_rays_panorama_1.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/1400px-Back-scattering_crepuscular_rays_panorama_1.jpg" - data-title="Back-scattering crepuscular rays" - data-description="Picture of the day on Wikimedia Commons 26 September 2010." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/800px-Interior_convento_3.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/120px-Interior_convento_3.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/1400px-Interior_convento_3.jpg" - data-title="Interior convento" - data-description="Interior view of Yuriria Convent, founded in 1550." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/800px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/100px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/1280px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg" - data-title="Oxbow Bend outlook" - data-description="View over the Snake River to the Mount Moran with the Skillet Glacier." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/800px-Hazy_blue_hour_in_Grand_Canyon.JPG"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/100px-Hazy_blue_hour_in_Grand_Canyon.JPG", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/1280px-Hazy_blue_hour_in_Grand_Canyon.JPG" - data-title="Hazy blue hour" - data-description="Hazy blue hour in Grand Canyon. View from the South Rim." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/800px-2909_vallon_moy_res.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/100px-2909_vallon_moy_res.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/1280px-2909_vallon_moy_res.jpg" - data-title="Haute Severaisse valley" - data-description="View of Haute Severaisse valley and surrounding summits from the slopes of Les Vernets." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/800px-Bohinjsko_jezero_2.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/100px-Bohinjsko_jezero_2.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/1280px-Bohinjsko_jezero_2.jpg" - data-title="Bohinj lake" - data-description="Bohinj lake (Triglav National Park, Slovenia) in the morning." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/800px-Bowling_Balls_Beach_2_edit.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/100px-Bowling_Balls_Beach_2_edit.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/1280px-Bowling_Balls_Beach_2_edit.jpg" - data-title="Bowling Balls" - data-description="Mendocino county, California, USA." - > - </a> - <a href="https://vimeo.com/25750735"> - <span class="video">Works for vimeo too.</span> - </a> - <a href="https://www.youtube.com/watch?v=GOD-RyVB-3Q"> - <span class="video">Works for youtube too.</span> - </a> - - </div> - <p class="cred">Made by <a href="http://galleria.io">Galleria</a>.</p> - </div> - - <!-- load jQuery --> - <!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.js"></script> --> - <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.js"></script> - <!-- load Galleria --> - <script src="https://cdnjs.cloudflare.com/ajax/libs/galleria/1.5.7/galleria.min.js"></script> - <script src="https://cdnjs.cloudflare.com/ajax/libs/galleria/1.5.7/themes/classic/galleria.classic.min.js"></script> - <script> - $(function() { - Galleria.run('#galleria'); - }); - </script> - </body> -</html> \ No newline at end of file diff --git a/assets/scripts/galleria/themes/classic/classic-demo.html b/assets/scripts/galleria/themes/classic/classic-demo.html deleted file mode 100644 index b55c93cf..00000000 --- a/assets/scripts/galleria/themes/classic/classic-demo.html +++ /dev/null @@ -1,131 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Galleria Classic Theme</title> - <style> - - /* Demo styles */ - html,body{background:#222;margin:0;} - body{border-top:4px solid #000;} - .content{color:#777;font:12px/1.4 "helvetica neue",arial,sans-serif;width:620px;margin:20px auto;} - h1{font-size:12px;font-weight:normal;color:#ddd;margin:0;} - p{margin:0 0 20px} - a {color:#22BCB9;text-decoration:none;} - .cred{margin-top:20px;font-size:11px;} - - /* This rule is read by Galleria to define the gallery height: */ - #galleria{height:320px} - - </style> - - <!-- load jQuery --> - <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.js"></script> --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.js"></script> - - <!-- load Galleria --> - <script src="../../galleria-1.5.7.min.js"></script> - - </head> -<body> - <div class="content"> - <h1>Galleria Classic Theme</h1> - <p>Demonstrating a basic gallery example.</p> - - <!-- Adding gallery images. We use resized thumbnails here for better performance, but it’s not necessary --> - - <div id="galleria"> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/800px-Biandintz_eta_zaldiak_-_modified2.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/100px-Biandintz_eta_zaldiak_-_modified2.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/1280px-Biandintz_eta_zaldiak_-_modified2.jpg" - data-title="Biandintz eta zaldiak" - data-description="Horses on Bianditz mountain, in Navarre, Spain." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/800px-Athabasca_Rail_at_Brule_Lake.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/100px-Athabasca_Rail_at_Brule_Lake.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/1280px-Athabasca_Rail_at_Brule_Lake.jpg" - data-title="Athabasca Rail" - data-description="The Athabasca River railroad track at the mouth of Brulé Lake in Alberta, Canada." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/1280px-Back-scattering_crepuscular_rays_panorama_1.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/100px-Back-scattering_crepuscular_rays_panorama_1.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/1400px-Back-scattering_crepuscular_rays_panorama_1.jpg" - data-title="Back-scattering crepuscular rays" - data-description="Picture of the day on Wikimedia Commons 26 September 2010." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/800px-Interior_convento_3.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/120px-Interior_convento_3.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/1400px-Interior_convento_3.jpg" - data-title="Interior convento" - data-description="Interior view of Yuriria Convent, founded in 1550." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/800px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/100px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/1280px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg" - data-title="Oxbow Bend outlook" - data-description="View over the Snake River to the Mount Moran with the Skillet Glacier." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/800px-Hazy_blue_hour_in_Grand_Canyon.JPG"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/100px-Hazy_blue_hour_in_Grand_Canyon.JPG", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/1280px-Hazy_blue_hour_in_Grand_Canyon.JPG" - data-title="Hazy blue hour" - data-description="Hazy blue hour in Grand Canyon. View from the South Rim." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/800px-2909_vallon_moy_res.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/100px-2909_vallon_moy_res.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/1280px-2909_vallon_moy_res.jpg" - data-title="Haute Severaisse valley" - data-description="View of Haute Severaisse valley and surrounding summits from the slopes of Les Vernets." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/800px-Bohinjsko_jezero_2.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/100px-Bohinjsko_jezero_2.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/1280px-Bohinjsko_jezero_2.jpg" - data-title="Bohinj lake" - data-description="Bohinj lake (Triglav National Park, Slovenia) in the morning." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/800px-Bowling_Balls_Beach_2_edit.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/100px-Bowling_Balls_Beach_2_edit.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/1280px-Bowling_Balls_Beach_2_edit.jpg" - data-title="Bowling Balls" - data-description="Mendocino county, California, USA." - > - </a> - <a href="https://vimeo.com/25750735"> - <span class="video">Works for vimeo too.</span> - </a> - <a href="https://www.youtube.com/watch?v=GOD-RyVB-3Q"> - <span class="video">Works for youtube too.</span> - </a> - - </div> - <p class="cred">Made by <a href="http://galleria.io">Galleria</a>.</p> - </div> - - <script> - $(function() { - // Load the classic theme - Galleria.loadTheme('galleria.classic.min.js'); - - // Initialize Galleria - Galleria.run('#galleria'); - }); - </script> - </body> -</html> \ No newline at end of file diff --git a/assets/scripts/galleria/themes/classic/classic-loader.gif b/assets/scripts/galleria/themes/classic/classic-loader.gif deleted file mode 100644 index 27df81f46d9fe7398b9daf3d0f5fc97337d93750..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1849 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 diff --git a/assets/scripts/galleria/themes/classic/classic-map.png b/assets/scripts/galleria/themes/classic/classic-map.png deleted file mode 100644 index 8d3c8c45cf3ccffe1df58634063d61bd6c009125..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1840 zcmaJ?Yfuwc7`+w{jb#|MDuT++rc41LF9{(_V!(tblpvF!pg2NE7Rbb8!|nnJDu}Pa z3O+!s&(=}!i3DG@hz6{~2qI!_6-5-QJjTcHQi~}Nx&hJt(C&}j``ta?`ObImxpTKf zM=f-rxzhjuF5!zLasV9OQ)ABw<Egg-Pi9e{nPgZTslbxSOeKzjP&Jl>Lg6}P3MxmH zYExPrDxk7pO-vjaCyPW>n2w>eV;DxAfyxFzATk=1DlJMvNoa~jFNC`*t6)f@7Q(Sy z8B1mmqp6xjSvac5ii%NXX;pkRESe7qj0i=bLrEoM)UDDJh*1cS@FLXMKFx%o5eTUj z!lR<%WYLfq!%>LKVEL<9fh;JH&0x<9;PH5V5QoKPF<BfYo8!;sA@ev0iv@jnV5%Cf zPDbPs>4#cWB!p8*(tt3TnVFf4%y|q9Phqn8e7>E7!||sO{)9<SDvkbnf<DF|K?xPE zF_0Qe57`-&Nmx25gej$?E$9p%Y4ya1Wug|0X;d1RYzE8T(il)C`+ulT_YqBya`cnl z&k_?cCIiZpqXd?YtEi1jrrS#y5HXG_Neqv{uvKHL7@dld7?Fw@AhCiA$&@OM-X4$O zWiljOPmoHz3JsSCVTysF(WntNix(8IAdoBJN_lLyL>d&t6-)U6Vcbw|0Gq=L8q1Yn zs&pNyC&zNtpK=4gm}|F!&OlX`ptvRjRZDS92aU9hXg;HbKabC62XTWaKKAFejOMDp ztR>)!T9}j=rhQ}ov(aNylzZ&MkG7?PkH$y!l-qI2)+Z*u-9w$0;&4f5jIsIk<A$v= z<t*o(l&;@?xU%b<x*ZkE&R#7kp5QTgIM-#sr?9kl#sj!-%Fe>G2ai0+a|w*_@i~8P z@2mcx&W>M`JGSjhJH+pNa}wKp&g%cuYRelzXNBtON~Ztam$l?qZvI+V0B#*QUpsus zr%!<2pO8Bl@!aRz1Obq^#YrTJ6Kz>laBxwL-o3hNPt$(Y&e`qm#cd9tdI~MOs-@HU zb<<8g9y8so;04}bI&J@Pmu5?>X!WqFH&#zr>-)V;>*Wc+^w^%=s}Dzc<(LbpdN~PH z6jJ95*6sK3=;N9^=tVb$(TekrC-psy10eP2Hr%x|aYL}RsJ+<<0Gb7N^|pe+g(>jD z{Bcja8!{w0<t>>-baTiMzs&V|yXz2J#WK6sYy1DO5vS6=zKAr~cHbk0g6|k+x6et< zyJo&~ATpy*Szel?Pw(g8-{B9vH&bm!<gDaW2KO=W+PuSSPX)ifDZJx&pR>2BxOp0v zx72b)JS;fJ9kL-hM*nuYmd>LuETA=)C`?esg=wkl8|$Lx-&!JP-$3fSpL9OA{+OS1 z;ze%b<-u81W_ee4Sd{zJ3yYszYjm|(jg8YO9Xnn|*#>IoXgwk{y$><Jj#zOl{ncG_ z{kuNmg|lkrsjT5!k-mZ5ctvAye`|qr^Rk{dl~KX;1o)8vIJnHUVz38nhAZ<OotA`h ztD5U-Eb+E|TWw9XS*m5_SBT+qzy4PE5#6)Eso96=I78m+Q8fqz%5Ot9MDEf)imbRF z`pEleN5z!31wS+I2d}UVZQJShz}O}&X)%Y_u-BT8g>Ic>J5!q*GwV73P|I>!!1Z=q zHn6fR?NYvD$u~slMO*J+iuCMLyfvrOmf@Sx^;qOUvn}2(?~PY@d8RI}5UnUnJA5!H z``x`Wg9qzh@ag+vEny<h`o`mb_UWuQ6ls1{@jlk3{E5x+J-gS0R5*K0BL)&IOS5lx z|JBMZG_}XST^v?+{Mj#qwoO?>SYh39=(gL`3q9h~O#{zudxzSOT=vClo&oQEkYC-w zDUyyWU*nWe=e%n*0C7r$7_5B$&pMnkn2Y!Oi1~+G96*SeW+`-~@Zipl_2xE*n?e8r zil5H4j>3G#U<D2DxTZHJvo}4tR_ma0l(vPmQKkc+UePn)l_S7^r_RNJyerXN<3OT` hHlMn&qUj<>H(+6n58mkT_c8k&79JKQDO-@Z{$Cn;<9`4E diff --git a/assets/scripts/galleria/themes/classic/galleria.classic.css b/assets/scripts/galleria/themes/classic/galleria.classic.css deleted file mode 100644 index bf312d4a..00000000 --- a/assets/scripts/galleria/themes/classic/galleria.classic.css +++ /dev/null @@ -1,227 +0,0 @@ -/** - * Galleria Classic Theme 2017-02-13 - * http://galleria.io - * - * Copyright (c) 2010 - 2017 worse is better UG - * Licensed under the MIT license - * https://raw.github.com/worseisbetter/galleria/master/LICENSE - * - */ - -#galleria-loader{height:1px!important} - -.galleria-theme-classic { - position: relative; - overflow: hidden; - background: #000; -} -.galleria-theme-classic img { - -moz-user-select: none; - -webkit-user-select: none; - -o-user-select: none; -} -.galleria-theme-classic .galleria-stage { - position: absolute; - top: 10px; - bottom: 60px; - left: 10px; - right: 10px; - overflow:hidden; -} -.galleria-theme-classic .galleria-thumbnails-container { - height: 50px; - bottom: 0; - position: absolute; - left: 10px; - right: 10px; - z-index: 2; -} -.galleria-theme-classic .galleria-carousel .galleria-thumbnails-list { - margin-left: 30px; - margin-right: 30px; -} -.galleria-theme-classic .galleria-thumbnails .galleria-image { - height: 40px; - width: 60px; - background: #000; - margin: 0 5px 0 0; - border: 1px solid #000; - float: left; - cursor: pointer; -} -.galleria-theme-classic .galleria-counter { - position: absolute; - bottom: 10px; - left: 10px; - text-align: right; - color: #fff; - font: normal 11px/1 arial,sans-serif; - z-index: 1; -} -.galleria-theme-classic .galleria-loader { - background: #000; - width: 20px; - height: 20px; - position: absolute; - top: 10px; - right: 10px; - z-index: 2; - display: none; - background: url(classic-loader.gif) no-repeat 2px 2px; -} -.galleria-theme-classic .galleria-info { - width: 50%; - top: 15px; - left: 15px; - z-index: 2; - position: absolute; -} -.galleria-theme-classic .galleria-info-text { - background-color: #000; - padding: 12px; - display: none; - /* IE7 */ zoom:1; -} -.galleria-theme-classic .galleria-info-title { - font: bold 12px/1.1 arial,sans-serif; - margin: 0; - color: #fff; - margin-bottom: 7px; -} -.galleria-theme-classic .galleria-info-description { - font: italic 12px/1.4 georgia,serif; - margin: 0; - color: #bbb; -} -.galleria-theme-classic .galleria-info-close { - width: 9px; - height: 9px; - position: absolute; - top: 5px; - right: 5px; - background-position: -753px -11px; - opacity: .5; - filter: alpha(opacity=50); - cursor: pointer; - display: none; -} -.galleria-theme-classic .notouch .galleria-info-close:hover{ - opacity:1; - filter: alpha(opacity=100); -} -.galleria-theme-classic .touch .galleria-info-close:active{ - opacity:1; - filter: alpha(opacity=100); -} -.galleria-theme-classic .galleria-info-link { - background-position: -669px -5px; - opacity: .7; - filter: alpha(opacity=70); - position: absolute; - width: 20px; - height: 20px; - cursor: pointer; - background-color: #000; -} -.galleria-theme-classic.notouch .galleria-info-link:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.galleria-theme-classic.touch .galleria-info-link:active { - opacity: 1; - filter: alpha(opacity=100); -} -.galleria-theme-classic .galleria-image-nav { - position: absolute; - top: 50%; - margin-top: -62px; - width: 100%; - height: 62px; - left: 0; -} -.galleria-theme-classic .galleria-image-nav-left, -.galleria-theme-classic .galleria-image-nav-right { - opacity: .3; - filter: alpha(opacity=30); - cursor: pointer; - width: 62px; - height: 124px; - position: absolute; - left: 10px; - z-index: 2; - background-position: 0 46px; -} -.galleria-theme-classic .galleria-image-nav-right { - left: auto; - right: 10px; - background-position: -254px 46px; - z-index: 2; -} -.galleria-theme-classic.notouch .galleria-image-nav-left:hover, -.galleria-theme-classic.notouch .galleria-image-nav-right:hover { - opacity: 1; - filter: alpha(opacity=100); -} -.galleria-theme-classic.touch .galleria-image-nav-left:active, -.galleria-theme-classic.touch .galleria-image-nav-right:active { - opacity: 1; - filter: alpha(opacity=100); -} -.galleria-theme-classic .galleria-thumb-nav-left, -.galleria-theme-classic .galleria-thumb-nav-right { - cursor: pointer; - display: none; - background-position: -495px 5px; - position: absolute; - left: 0; - top: 0; - height: 40px; - width: 23px; - z-index: 3; - opacity: .8; - filter: alpha(opacity=80); -} -.galleria-theme-classic .galleria-thumb-nav-right { - background-position: -578px 5px; - border-right: none; - right: 0; - left: auto; -} -.galleria-theme-classic .galleria-thumbnails-container .disabled { - opacity: .2; - filter: alpha(opacity=20); - cursor: default; -} -.galleria-theme-classic.notouch .galleria-thumb-nav-left:hover, -.galleria-theme-classic.notouch .galleria-thumb-nav-right:hover { - opacity: 1; - filter: alpha(opacity=100); - background-color: #111; -} -.galleria-theme-classic.touch .galleria-thumb-nav-left:active, -.galleria-theme-classic.touch .galleria-thumb-nav-right:active { - opacity: 1; - filter: alpha(opacity=100); - background-color: #111; -} -.galleria-theme-classic.notouch .galleria-thumbnails-container .disabled:hover { - opacity: .2; - filter: alpha(opacity=20); - background-color: transparent; -} - -.galleria-theme-classic .galleria-carousel .galleria-thumb-nav-left, -.galleria-theme-classic .galleria-carousel .galleria-thumb-nav-right { - display: block; -} -.galleria-theme-classic .galleria-thumb-nav-left, -.galleria-theme-classic .galleria-thumb-nav-right, -.galleria-theme-classic .galleria-info-link, -.galleria-theme-classic .galleria-info-close, -.galleria-theme-classic .galleria-image-nav-left, -.galleria-theme-classic .galleria-image-nav-right { - background-image: url(classic-map.png); - background-repeat: no-repeat; -} -.galleria-theme-classic.galleria-container.videoplay .galleria-info, -.galleria-theme-classic.galleria-container.videoplay .galleria-counter{ display:none!important; } diff --git a/assets/scripts/galleria/themes/classic/galleria.classic.js b/assets/scripts/galleria/themes/classic/galleria.classic.js deleted file mode 100644 index 20560d87..00000000 --- a/assets/scripts/galleria/themes/classic/galleria.classic.js +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Galleria Classic Theme 2017-02-13 - * http://galleria.io - * - * Copyright (c) 2010 - 2017 worse is better UG - * Licensed under the MIT license - * https://raw.github.com/worseisbetter/galleria/master/LICENSE - * - */ - -(function($) { - -/*global window, jQuery, Galleria */ - -Galleria.addTheme({ - name: 'classic', - version: 1.5, - author: 'Galleria', - css: 'galleria.classic.css', - defaults: { - transition: 'slide', - thumbCrop: 'height', - - // set this to false if you want to show the caption all the time: - _toggleInfo: true - }, - init: function(options) { - - Galleria.requires(1.4, 'This version of Classic theme requires Galleria 1.4 or later'); - - // add some elements - this.addElement('info-link','info-close'); - this.append({ - 'info' : ['info-link','info-close'] - }); - - // cache some stuff - var info = this.$('info-link,info-close,info-text'), - touch = Galleria.TOUCH; - - // show loader & counter with opacity - this.$('loader,counter').show().css('opacity', 0.4); - - // some stuff for non-touch browsers - if (! touch ) { - this.addIdleState( this.get('image-nav-left'), { left:-50 }); - this.addIdleState( this.get('image-nav-right'), { right:-50 }); - this.addIdleState( this.get('counter'), { opacity:0 }); - } - - // toggle info - if ( options._toggleInfo === true ) { - info.bind( 'click:fast', function() { - info.toggle(); - }); - } else { - info.show(); - this.$('info-link, info-close').hide(); - } - - // bind some stuff - this.bind('thumbnail', function(e) { - - if (! touch ) { - // fade thumbnails - $(e.thumbTarget).css('opacity', 0.6).parent().hover(function() { - $(this).not('.active').children().stop().fadeTo(100, 1); - }, function() { - $(this).not('.active').children().stop().fadeTo(400, 0.6); - }); - - if ( e.index === this.getIndex() ) { - $(e.thumbTarget).css('opacity',1); - } - } else { - $(e.thumbTarget).css('opacity', this.getIndex() ? 1 : 0.6).bind('click:fast', function() { - $(this).css( 'opacity', 1 ).parent().siblings().children().css('opacity', 0.6); - }); - } - }); - - var activate = function(e) { - $(e.thumbTarget).css('opacity',1).parent().siblings().children().css('opacity', 0.6); - }; - - this.bind('loadstart', function(e) { - if (!e.cached) { - this.$('loader').show().fadeTo(200, 0.4); - } - window.setTimeout(function() { - activate(e); - }, touch ? 300 : 0); - this.$('info').toggle( this.hasInfo() ); - }); - - this.bind('loadfinish', function(e) { - this.$('loader').fadeOut(200); - }); - } -}); - -}(jQuery)); diff --git a/assets/scripts/galleria/themes/classic/galleria.classic.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js b/assets/scripts/galleria/themes/classic/galleria.classic.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js deleted file mode 100644 index 37e5a3a0..00000000 --- a/assets/scripts/galleria/themes/classic/galleria.classic.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).js +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Galleria - v1.5.3 2017-02-13 - * https://galleria.io - * - * Copyright (c) 2010 - 2017 worse is better UG - * Licensed under the MIT License. - * https://raw.github.com/worseisbetter/galleria/master/LICENSE - * - */ - -!function(a){Galleria.addTheme({name:"classic",version:1.5,author:"Galleria",css:"galleria.classic.css",defaults:{transition:"slide",thumbCrop:"height",_toggleInfo:!0},init:function(b){Galleria.requires(1.4,"This version of Classic theme requires Galleria 1.4 or later"),this.addElement("info-link","info-close"),this.append({info:["info-link","info-close"]});var c=this.$("info-link,info-close,info-text"),d=Galleria.TOUCH;this.$("loader,counter").show().css("opacity",.4),d||(this.addIdleState(this.get("image-nav-left"),{left:-50}),this.addIdleState(this.get("image-nav-right"),{right:-50}),this.addIdleState(this.get("counter"),{opacity:0})),b._toggleInfo===!0?c.bind("click:fast",function(){c.toggle()}):(c.show(),this.$("info-link, info-close").hide()),this.bind("thumbnail",function(b){d?a(b.thumbTarget).css("opacity",this.getIndex()?1:.6).bind("click:fast",function(){a(this).css("opacity",1).parent().siblings().children().css("opacity",.6)}):(a(b.thumbTarget).css("opacity",.6).parent().hover(function(){a(this).not(".active").children().stop().fadeTo(100,1)},function(){a(this).not(".active").children().stop().fadeTo(400,.6)}),b.index===this.getIndex()&&a(b.thumbTarget).css("opacity",1))});var e=function(b){a(b.thumbTarget).css("opacity",1).parent().siblings().children().css("opacity",.6)};this.bind("loadstart",function(a){a.cached||this.$("loader").show().fadeTo(200,.4),window.setTimeout(function(){e(a)},d?300:0),this.$("info").toggle(this.hasInfo())}),this.bind("loadfinish",function(a){this.$("loader").fadeOut(200)})}})}(jQuery); \ No newline at end of file diff --git a/assets/scripts/galleria/themes/classic/galleria.classic.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js b/assets/scripts/galleria/themes/classic/galleria.classic.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js deleted file mode 100644 index 85352ccb..00000000 --- a/assets/scripts/galleria/themes/classic/galleria.classic.min (SFConflict me@a1b0n.com 2017-02-12-23-35-56).min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){Galleria.addTheme({name:"classic",version:1.5,author:"Galleria",css:"galleria.classic.css",defaults:{transition:"slide",thumbCrop:"height",_toggleInfo:!0},init:function(b){Galleria.requires(1.4,"This version of Classic theme requires Galleria 1.4 or later"),this.addElement("info-link","info-close"),this.append({info:["info-link","info-close"]});var c=this.$("info-link,info-close,info-text"),d=Galleria.TOUCH;this.$("loader,counter").show().css("opacity",.4),d||(this.addIdleState(this.get("image-nav-left"),{left:-50}),this.addIdleState(this.get("image-nav-right"),{right:-50}),this.addIdleState(this.get("counter"),{opacity:0})),b._toggleInfo===!0?c.bind("click:fast",function(){c.toggle()}):(c.show(),this.$("info-link, info-close").hide()),this.bind("thumbnail",function(b){d?a(b.thumbTarget).css("opacity",this.getIndex()?1:.6).bind("click:fast",function(){a(this).css("opacity",1).parent().siblings().children().css("opacity",.6)}):(a(b.thumbTarget).css("opacity",.6).parent().hover(function(){a(this).not(".active").children().stop().fadeTo(100,1)},function(){a(this).not(".active").children().stop().fadeTo(400,.6)}),b.index===this.getIndex()&&a(b.thumbTarget).css("opacity",1))});var e=function(b){a(b.thumbTarget).css("opacity",1).parent().siblings().children().css("opacity",.6)};this.bind("loadstart",function(a){a.cached||this.$("loader").show().fadeTo(200,.4),window.setTimeout(function(){e(a)},d?300:0),this.$("info").toggle(this.hasInfo())}),this.bind("loadfinish",function(a){this.$("loader").fadeOut(200)})}})}(jQuery); \ No newline at end of file diff --git a/assets/scripts/galleria/themes/classic/galleria.classic.min.css b/assets/scripts/galleria/themes/classic/galleria.classic.min.css deleted file mode 100644 index 0291f827..00000000 --- a/assets/scripts/galleria/themes/classic/galleria.classic.min.css +++ /dev/null @@ -1 +0,0 @@ -#galleria-loader{height:1px!important}.galleria-theme-classic{position:relative;overflow:hidden;background:#000}.galleria-theme-classic img{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none}.galleria-theme-classic .galleria-stage{position:absolute;top:10px;bottom:60px;left:10px;right:10px;overflow:hidden}.galleria-theme-classic .galleria-thumbnails-container{height:50px;bottom:0;position:absolute;left:10px;right:10px;z-index:2}.galleria-theme-classic .galleria-carousel .galleria-thumbnails-list{margin-left:30px;margin-right:30px}.galleria-theme-classic .galleria-thumbnails .galleria-image{height:40px;width:60px;background:#000;margin:0 5px 0 0;border:1px solid #000;float:left;cursor:pointer}.galleria-theme-classic .galleria-counter{position:absolute;bottom:10px;left:10px;text-align:right;color:#fff;font:400 11px/1 arial,sans-serif;z-index:1}.galleria-theme-classic .galleria-loader{width:20px;height:20px;position:absolute;top:10px;right:10px;z-index:2;display:none;background:url(classic-loader.gif) 2px 2px no-repeat}.galleria-theme-classic .galleria-info{width:50%;top:15px;left:15px;z-index:2;position:absolute}.galleria-theme-classic .galleria-info-text{background-color:#000;padding:12px;display:none;zoom:1}.galleria-theme-classic .galleria-info-title{font:700 12px/1.1 arial,sans-serif;margin:0 0 7px;color:#fff}.galleria-theme-classic .galleria-info-description{font:italic 12px/1.4 georgia,serif;margin:0;color:#bbb}.galleria-theme-classic .galleria-info-close{width:9px;height:9px;position:absolute;top:5px;right:5px;background-position:-753px -11px;opacity:.5;filter:alpha(opacity=50);cursor:pointer;display:none}.galleria-theme-classic .notouch .galleria-info-close:hover,.galleria-theme-classic .touch .galleria-info-close:active{opacity:1;filter:alpha(opacity=100)}.galleria-theme-classic .galleria-info-link{background-position:-669px -5px;opacity:.7;filter:alpha(opacity=70);position:absolute;width:20px;height:20px;cursor:pointer;background-color:#000}.galleria-theme-classic.notouch .galleria-info-link:hover,.galleria-theme-classic.touch .galleria-info-link:active{opacity:1;filter:alpha(opacity=100)}.galleria-theme-classic .galleria-image-nav{position:absolute;top:50%;margin-top:-62px;width:100%;height:62px;left:0}.galleria-theme-classic .galleria-image-nav-left,.galleria-theme-classic .galleria-image-nav-right{opacity:.3;filter:alpha(opacity=30);cursor:pointer;width:62px;height:124px;position:absolute;left:10px;z-index:2;background-position:0 46px}.galleria-theme-classic .galleria-image-nav-right{left:auto;right:10px;background-position:-254px 46px;z-index:2}.galleria-theme-classic.notouch .galleria-image-nav-left:hover,.galleria-theme-classic.notouch .galleria-image-nav-right:hover,.galleria-theme-classic.touch .galleria-image-nav-left:active,.galleria-theme-classic.touch .galleria-image-nav-right:active{opacity:1;filter:alpha(opacity=100)}.galleria-theme-classic .galleria-thumb-nav-left,.galleria-theme-classic .galleria-thumb-nav-right{cursor:pointer;display:none;background-position:-495px 5px;position:absolute;left:0;top:0;height:40px;width:23px;z-index:3;opacity:.8;filter:alpha(opacity=80)}.galleria-theme-classic .galleria-thumb-nav-right{background-position:-578px 5px;border-right:none;right:0;left:auto}.galleria-theme-classic .galleria-thumbnails-container .disabled{opacity:.2;filter:alpha(opacity=20);cursor:default}.galleria-theme-classic.notouch .galleria-thumb-nav-left:hover,.galleria-theme-classic.notouch .galleria-thumb-nav-right:hover,.galleria-theme-classic.touch .galleria-thumb-nav-left:active,.galleria-theme-classic.touch .galleria-thumb-nav-right:active{opacity:1;filter:alpha(opacity=100);background-color:#111}.galleria-theme-classic.notouch .galleria-thumbnails-container .disabled:hover{opacity:.2;filter:alpha(opacity=20);background-color:transparent}.galleria-theme-classic .galleria-carousel .galleria-thumb-nav-left,.galleria-theme-classic .galleria-carousel .galleria-thumb-nav-right{display:block}.galleria-theme-classic .galleria-image-nav-left,.galleria-theme-classic .galleria-image-nav-right,.galleria-theme-classic .galleria-info-close,.galleria-theme-classic .galleria-info-link,.galleria-theme-classic .galleria-thumb-nav-left,.galleria-theme-classic .galleria-thumb-nav-right{background-image:url(classic-map.png);background-repeat:no-repeat}.galleria-theme-classic.galleria-container.videoplay .galleria-counter,.galleria-theme-classic.galleria-container.videoplay .galleria-info{display:none!important} \ No newline at end of file diff --git a/assets/scripts/galleria/themes/classic/galleria.classic.min.js b/assets/scripts/galleria/themes/classic/galleria.classic.min.js deleted file mode 100644 index 4f9987c2..00000000 --- a/assets/scripts/galleria/themes/classic/galleria.classic.min.js +++ /dev/null @@ -1 +0,0 @@ -(function($){Galleria.addTheme({name:"classic",version:1.5,author:"Galleria",css:"galleria.classic.css",defaults:{transition:"slide",thumbCrop:"height",_toggleInfo:true},init:function(options){Galleria.requires(1.4,"This version of Classic theme requires Galleria 1.4 or later");this.addElement("info-link","info-close");this.append({info:["info-link","info-close"]});var info=this.$("info-link,info-close,info-text"),touch=Galleria.TOUCH;this.$("loader,counter").show().css("opacity",.4);if(!touch){this.addIdleState(this.get("image-nav-left"),{left:-50});this.addIdleState(this.get("image-nav-right"),{right:-50});this.addIdleState(this.get("counter"),{opacity:0})}if(options._toggleInfo===true){info.bind("click:fast",function(){info.toggle()})}else{info.show();this.$("info-link, info-close").hide()}this.bind("thumbnail",function(e){if(!touch){$(e.thumbTarget).css("opacity",.6).parent().hover(function(){$(this).not(".active").children().stop().fadeTo(100,1)},function(){$(this).not(".active").children().stop().fadeTo(400,.6)});if(e.index===this.getIndex()){$(e.thumbTarget).css("opacity",1)}}else{$(e.thumbTarget).css("opacity",this.getIndex()?1:.6).bind("click:fast",function(){$(this).css("opacity",1).parent().siblings().children().css("opacity",.6)})}});var activate=function(e){$(e.thumbTarget).css("opacity",1).parent().siblings().children().css("opacity",.6)};this.bind("loadstart",function(e){if(!e.cached){this.$("loader").show().fadeTo(200,.4)}window.setTimeout(function(){activate(e)},touch?300:0);this.$("info").toggle(this.hasInfo())});this.bind("loadfinish",function(e){this.$("loader").fadeOut(200)})}})})(jQuery); \ No newline at end of file diff --git a/assets/scripts/galleria/themes/fullscreen/b.png b/assets/scripts/galleria/themes/fullscreen/b.png deleted file mode 100644 index 42ee9a0e6b8bb73a0742f74866ca31664dd59704..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1093 zcmV-L1iJf)P)<h;3K|Lk000e1NJLTq001@s001@!1^@s6j74hQ0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#=Sf6CRCwCtT0Ku2K@eRp=4=jQ91_w{ zASwz3J)LWi5J+^P;HOcLjv_*WnvNbskqV`t!3o&LHnuT1v&mcQxa<yxv3<+sNw2_r zx|_$$&dh$Ky4|iAAS5wM%n&`|I5ABe!<fPo@sZdeJ`mf)7O{!3fgm*iVani1qEDQF zpnjkP-V+<d`ddZ5MVRtN4xA8!g%Vf;A4Vlic_<HN#c-j*vkE>9Q<w_3Y2uU^E$)aF zgz3PA6+lnK12qTB;6Q|_jP`*z6VZS<;wo{8xImnRhcg&&!2>1YCGmoIO1z5r{u|;g zGHc($(hyXL@WBmYk+@9kB5WEE(nfmM@AM$l2UEmz;tBCE!nev0*y%@@^3=x&qBe=^ z#Cgnv3MTz)kj30p{6Rb-ev2UPm(6pWuum_9-y(6BxPq*815drF{NS4^<DL=sh~Hlb z%b%|iro8l-dEpvy2jNuWLZVNkF*j8h?-P%iXRl2O#U#v!C|maXLfl4oP#$t7ETF47 zAbw@C<#o6eqz%P)`UO#2$Vv?{e3W7M7XCJg^I-F{UQ>o1$}`1x4W6owNR&nc-`s`` zCQQM0VG=eT9t<Ul9faQ~MFqvxVZ);3nLIT7BP_@Ce!EB%Wf33Buwj=e8M&}98T`>u zr&f^t;zkL!Y+A;1T9Xzw$t*qA5#t>Pgmqxcx@CL<T6)5KrcIhhA#?>duxW!?f&39B z8E+NQB6S@S)`d+)#%ogVQFxXveHkxt4HeinXQ^vh8CXt)v5Nmr(?MZP*tTjJ&q$`r zSc<7;y{5J;S;jmWENUSvyaQniwv8rf=od9~ckL=#u+g|WkXTUK`meUb!rDw<J0=Z{ zaBl)SQk1!3ZA*MoiiAQ6`$lAonSU-I&E$Y5$!ufYiTL&qqriiWCOk@J9+j9Fb^#e? z#nDm1Y@7a<Ompl4eAsBhgJe?r#XAsoVJiianSg5BIVFaFqS6ntu<g{A_#_%ilh@Q< z`Z;!hT*EYMyRsDSrcU?wmKU7hB`JqQrC`&EW&B>Jd%-lj>VQD)rO!AdYz8(RGR<+X zovJflQwIcjM~ZbCwj43ust1LsaI9G#R;M0kOeZ}`%)%DiNlZ<5QZn?TZMD3I>{*CW zQ~@^ZF{|oYuvhFAHSu?A%LH|lqfR|0W2$XFzP&H($4b>;vmp(Gw*E^U<s2Z!{Sk}G z<J-qfUt0}N#%EnIc7QUL23VhVY-8M&W28!WmGWO5{Ances8)ysAFk_=NZfUZpyv{I zfhC+!5_RP$TvHNvNi0~@6L+mIh{RpQG<h&lS7&V^ow)4$TYv!oj<sd?v>kcb00000 LNkvXXu0mjfp~CJq diff --git a/assets/scripts/galleria/themes/fullscreen/down-neg.gif b/assets/scripts/galleria/themes/fullscreen/down-neg.gif deleted file mode 100644 index 629f78fbee79ec1d491faa7b5916155aebcd4d58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1106 zcmZ?wbhEHbWM|-DXkcUjg8%>jEB@z>@C{IKNi0bO(l+)L1&PVosU-?Ysp*+{wo31J z?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&Psj#ZZEyztRNmQuF&B-ga zs<2f`Ovz75wF0t1!um=IU?nBlwn~m52?day&iO^D3Z{Any2%D+1`1||dWOa(=H})) z3PuKo2Koj@`i4fjhUQkrMpgy}3Q(W~w5=#5%__*n4QdyVXRDM^Qc_^0uU}qXu2*iX zmtT~wZ)j<02{OaTNEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0?5R~r2NtnTP2`N zAzsKWfE$}vtOxdvUUGh}ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;Np<Vf>iyW z)Z+ZoqU2Pda%GTJ1y;^Qsfi`|MIrh5Ij~R+$jC3rFV4s>P;d@5Rq#zr&ddYx!Rmc| ztvvIJOA_;vQ$1a5m4GJbWoD*WIhmSRnwq$o89N!e85+78TbLW0Il4I;8yi{}TACZ0 z!}Pl3Czs}?=9R$orXcj1<J1dE3b_S9n_W_iGRsm^+=}vZ6~JD$%Eav!6P)Hj^`_u< ziz!aM`as9%gCZ6wqG3Y7)B|F|lP!<~Pxz^Mz|>v@OxBG5|NZ^*``6DO-@kqR^7+%p z5AWZ-ee?R&%NNg|J$>@{(ZdJ#@7=v~`_|1H*RNf@a{1E53+K<BJ#+fh$rHzq9X)dR z(7^-y_wC)Yd)Lk#+qZ4qvU$_S4eQsfU9)=C$`#9(EnTvB(ZU7u=gplnd)CYu)2B_H zGI`R(3H^P&J>6ZM9qnzcEzM1h4fS=kHPuy>73F26CB;RB1^IcoIoVm68R==MDalER z3Gs2UG0{<x5#eE>A;Cd`0selzKHgrQ9`0_gF3wJl4)%7oHr7^_7UpKACdNj<ETyNb zqphW>p{}N?qO7E-ATK8?BP}H<Auc8=A}k~*z|Y6a!_CFX!Oq6Y!psCLAQXSH07*s$ d9Z*>TDm56Gczg007B25rn6*~*wI3scH2^gCf|CFM diff --git a/assets/scripts/galleria/themes/fullscreen/down.gif b/assets/scripts/galleria/themes/fullscreen/down.gif deleted file mode 100644 index 006dcc254439119209fd9df8b05d61a86ff0956d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54 zcmZ?wbhEHbWM|-DXkcXc4+e@qSr{1@7#VaJfB+=Jz{J~=&#-WLx5BKos;~VR8LR=d CoDXaO diff --git a/assets/scripts/galleria/themes/fullscreen/fix.gif b/assets/scripts/galleria/themes/fullscreen/fix.gif deleted file mode 100644 index 35d42e808f0a8017b8d52a06be2f8fec0b466a66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 scmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE7Dgb&paUX6G7L;iE{qJ;0LZEa`2YX_ diff --git a/assets/scripts/galleria/themes/fullscreen/fullscreen-demo-cdn.html b/assets/scripts/galleria/themes/fullscreen/fullscreen-demo-cdn.html deleted file mode 100644 index 094df19e..00000000 --- a/assets/scripts/galleria/themes/fullscreen/fullscreen-demo-cdn.html +++ /dev/null @@ -1,101 +0,0 @@ -<!DOCTYPE html> -<html lang="sv"> - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width,initial-scale=0.5,user-scalable=no"> - <title>Galleria Fullscreen Theme Demo</title> - - <style> - body{background:#000;} - </style> - - </head> -<body> - <div class="galleria"> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/800px-Biandintz_eta_zaldiak_-_modified2.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/100px-Biandintz_eta_zaldiak_-_modified2.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/1280px-Biandintz_eta_zaldiak_-_modified2.jpg" - data-title="Biandintz eta zaldiak" - data-description="Horses on Bianditz mountain, in Navarre, Spain." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/800px-Athabasca_Rail_at_Brule_Lake.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/100px-Athabasca_Rail_at_Brule_Lake.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/1280px-Athabasca_Rail_at_Brule_Lake.jpg" - data-title="Athabasca Rail" - data-description="The Athabasca River railroad track at the mouth of Brulé Lake in Alberta, Canada." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/1280px-Back-scattering_crepuscular_rays_panorama_1.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/100px-Back-scattering_crepuscular_rays_panorama_1.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/1400px-Back-scattering_crepuscular_rays_panorama_1.jpg" - data-title="Back-scattering crepuscular rays" - data-description="Picture of the day on Wikimedia Commons 26 September 2010." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/800px-Interior_convento_3.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/120px-Interior_convento_3.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/1400px-Interior_convento_3.jpg" - data-title="Interior convento" - data-description="Interior view of Yuriria Convent, founded in 1550." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/800px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/100px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/1280px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg" - data-title="Oxbow Bend outlook" - data-description="View over the Snake River to the Mount Moran with the Skillet Glacier." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/800px-Hazy_blue_hour_in_Grand_Canyon.JPG"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/100px-Hazy_blue_hour_in_Grand_Canyon.JPG", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/1280px-Hazy_blue_hour_in_Grand_Canyon.JPG" - data-title="Hazy blue hour" - data-description="Hazy blue hour in Grand Canyon. View from the South Rim." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/800px-2909_vallon_moy_res.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/100px-2909_vallon_moy_res.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/1280px-2909_vallon_moy_res.jpg" - data-title="Haute Severaisse valley" - data-description="View of Haute Severaisse valley and surrounding summits from the slopes of Les Vernets." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/800px-Bohinjsko_jezero_2.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/100px-Bohinjsko_jezero_2.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/1280px-Bohinjsko_jezero_2.jpg" - data-title="Bohinj lake" - data-description="Bohinj lake (Triglav National Park, Slovenia) in the morning." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/800px-Bowling_Balls_Beach_2_edit.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/100px-Bowling_Balls_Beach_2_edit.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/1280px-Bowling_Balls_Beach_2_edit.jpg" - data-title="Bowling Balls" - data-description="Mendocino county, California, USA." - > - </a> - </div> - - <!-- load jQuery --> - <!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.js"></script> --> - <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.js"></script> - <!-- load Galleria --> - <script src="https://cdnjs.cloudflare.com/ajax/libs/galleria/1.5.4/galleria.min.js"></script> - <script src="https://cdnjs.cloudflare.com/ajax/libs/galleria/1.5.4/themes/fullscreen/galleria.fullscreen.min.js"></script> - <script> - $(function() { - Galleria.run('.galleria'); - }); - </script> - </body> -</html> diff --git a/assets/scripts/galleria/themes/fullscreen/fullscreen-demo.html b/assets/scripts/galleria/themes/fullscreen/fullscreen-demo.html deleted file mode 100644 index 3c0bfef1..00000000 --- a/assets/scripts/galleria/themes/fullscreen/fullscreen-demo.html +++ /dev/null @@ -1,105 +0,0 @@ -<!DOCTYPE html> -<html lang="sv"> - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width,initial-scale=0.5,user-scalable=no"> - <title>Galleria Fullscreen Theme Demo</title> - - <!-- load jQuery --> - <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.js"></script> --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.js"></script> - - <!-- load Galleria --> - <script src="../../galleria-1.5.7.min.js"></script> - - <style> - body{background:#000;} - </style> - - </head> -<body> - <div class="galleria"> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/800px-Biandintz_eta_zaldiak_-_modified2.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/100px-Biandintz_eta_zaldiak_-_modified2.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Biandintz_eta_zaldiak_-_modified2.jpg/1280px-Biandintz_eta_zaldiak_-_modified2.jpg" - data-title="Biandintz eta zaldiak" - data-description="Horses on Bianditz mountain, in Navarre, Spain." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/800px-Athabasca_Rail_at_Brule_Lake.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/100px-Athabasca_Rail_at_Brule_Lake.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Athabasca_Rail_at_Brule_Lake.jpg/1280px-Athabasca_Rail_at_Brule_Lake.jpg" - data-title="Athabasca Rail" - data-description="The Athabasca River railroad track at the mouth of Brulé Lake in Alberta, Canada." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/1280px-Back-scattering_crepuscular_rays_panorama_1.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/100px-Back-scattering_crepuscular_rays_panorama_1.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Back-scattering_crepuscular_rays_panorama_1.jpg/1400px-Back-scattering_crepuscular_rays_panorama_1.jpg" - data-title="Back-scattering crepuscular rays" - data-description="Picture of the day on Wikimedia Commons 26 September 2010." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/800px-Interior_convento_3.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/120px-Interior_convento_3.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Interior_convento_3.jpg/1400px-Interior_convento_3.jpg" - data-title="Interior convento" - data-description="Interior view of Yuriria Convent, founded in 1550." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/800px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/100px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg/1280px-Oxbow_Bend_outlook_in_the_Grand_Teton_National_Park.jpg" - data-title="Oxbow Bend outlook" - data-description="View over the Snake River to the Mount Moran with the Skillet Glacier." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/800px-Hazy_blue_hour_in_Grand_Canyon.JPG"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/100px-Hazy_blue_hour_in_Grand_Canyon.JPG", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Hazy_blue_hour_in_Grand_Canyon.JPG/1280px-Hazy_blue_hour_in_Grand_Canyon.JPG" - data-title="Hazy blue hour" - data-description="Hazy blue hour in Grand Canyon. View from the South Rim." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/800px-2909_vallon_moy_res.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/100px-2909_vallon_moy_res.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/2909_vallon_moy_res.jpg/1280px-2909_vallon_moy_res.jpg" - data-title="Haute Severaisse valley" - data-description="View of Haute Severaisse valley and surrounding summits from the slopes of Les Vernets." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/800px-Bohinjsko_jezero_2.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/100px-Bohinjsko_jezero_2.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/1280px-Bohinjsko_jezero_2.jpg" - data-title="Bohinj lake" - data-description="Bohinj lake (Triglav National Park, Slovenia) in the morning." - > - </a> - <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/800px-Bowling_Balls_Beach_2_edit.jpg"> - <img - src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/100px-Bowling_Balls_Beach_2_edit.jpg", - data-big="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Bowling_Balls_Beach_2_edit.jpg/1280px-Bowling_Balls_Beach_2_edit.jpg" - data-title="Bowling Balls" - data-description="Mendocino county, California, USA." - > - </a> - </div> - <script> - $(function() { - // Load the Fullscreen theme - Galleria.loadTheme('galleria.fullscreen.min.js'); - - // Initialize Galleria - Galleria.run('.galleria'); - }); - </script> - </body> -</html> diff --git a/assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.css b/assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.css deleted file mode 100644 index 205be229..00000000 --- a/assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.css +++ /dev/null @@ -1,217 +0,0 @@ -/** - * Galleria Classic Theme 2017-02-27 - * http://galleria.io - * - * Copyright (c) 2010 - 2017 worse is better UG - * Licensed 2017-02-27 under the MIT license - * https://raw.github.com/worseisbetter/galleria/master/LICENSE - * - */ - -#galleria-loader{height:1px!important} - -html, -body { background: #000 } -.galleria-theme-fullscreen { - height: 100%; - overflow: hidden; - position: fixed; - top: 0; - left: 0; - width: 100%; - background: #000; - -webkit-font-smoothing: antialiased; -} -.galleria-theme-fullscreen img { - -moz-user-select: none; - -webkit-user-select: none; - -o-user-select: none; -} -.galleria-theme-fullscreen .galleria-stage { - width: 100%; - height: 100%; - position: absolute; -} -.galleria-theme-fullscreen .galleria-thumbnails-container { - position: absolute; - bottom: 0; - z-index: 2; - padding-top: 16px; - width: 100%; -} -.galleria-theme-fullscreen.videoplay .galleria-thumbnails-container { display:none!important; } -.galleria-theme-fullscreen.videoplay .galleria-image-nav { top:80px; bottom:80px; height:auto; } - -.galleria-theme-fullscreen .galleria-thumbnails-tab { - opacity: .7; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; - filter: alpha(opacity=70); - position: absolute; - left: 50%; - margin-left: -50px; - top: 0; - height: 16px; - width: 100px; - background: #000 url(up.gif) no-repeat 50% 5px; - cursor: pointer; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-right-radius: 4px; - -webkit-border-top-left-radius: 4px; -} -.galleria-theme-fullscreen.light .galleria-thumbnails-tab { - background:#fff url(up-neg.gif) no-repeat 50% 50%; - opacity: 1; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - filter: alpha(opacity=100); -} -.galleria-theme-fullscreen .galleria-thumbnails-tab:hover { - opacity: 1; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - filter: alpha(opacity=100); -} -.galleria-theme-fullscreen .galleria-thumbnails-tab.open, -.galleria-theme-fullscreen .galleria-thumbnails-tab.open:hover { - background-image: url(down.gif); - opacity: 1; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - filter: alpha(opacity=100); -} -.galleria-theme-fullscreen.light .galleria-thumbnails-tab.open, -.galleria-theme-fullscreen.light .galleria-thumbnails-tab.open:hover { - background-image: url(down-neg.gif); -} -.galleria-theme-fullscreen .galleria-thumbnails { - background: #000; - overflow: hidden; -} -.galleria-theme-fullscreen .galleria-thumbnails-list { - background: #000; - padding-top: 5px; - padding-bottom: 5px; - overflow: hidden; -} -.galleria-theme-fullscreen.light .galleria-thumbnails, -.galleria-theme-fullscreen.light .galleria-thumbnails-list { - background:#fff; -} -.galleria-theme-fullscreen .galleria-thumbnails .galleria-image { - width: 80px; - height: 50px; - float: left; - cursor: pointer; - margin-right: 5px; -} -.galleria-theme-fullscreen .galleria-thumbnails .galleria-image img { background: #000 } -.galleria-theme-fullscreen .galleria-thumbnails .active { cursor: default } -.galleria-theme-fullscreen .galleria-carousel .galleria-thumbnails-list { - border-left: 30px solid #000; - border-right: 30px solid #000; -} -.galleria-theme-fullscreen.light .galleria-carousel .galleria-thumbnails-list { - border-color: #fff; -} -.galleria-theme-fullscreen .galleria-image-nav { - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; -} -.galleria-theme-fullscreen .galleria-image-nav-right, -.galleria-theme-fullscreen .galleria-image-nav-left { - width: 100px; - right: 0; - top: 0; - bottom: 0; - background: url(r.gif) no-repeat 50% 50%; - position: absolute; - cursor: pointer; - z-index: 2; - display: none; -} -.galleria-theme-fullscreen.smallarrows .galleria-image-nav-right { - background-image: url(r-neg.png); -} -.galleria-theme-fullscreen .galleria-image-nav-left { - left: 0; - right: auto; - background-image: url(l.gif); -} -.galleria-theme-fullscreen.smallarrows .galleria-image-nav-left { - background-image: url(l-neg.png); -} -.galleria-theme-fullscreen .galleria-loader { - width: 30px; - height: 30px; - background: #fff url(loader.gif) no-repeat 50% 50%; - position: absolute; - top: 50%; - left: 50%; - margin-top: -15px; - margin-left: -15px; - z-index: 3; -} -.galleria-theme-fullscreen .galleria-info { - z-index: 4; - font: 13px/1.4 helvetica,arial,sans-serif; - color: #fff; - position: absolute; - top: 0; - width: 100%; - border-top: 2px solid #000; - display: none; - text-align: center; - padding: 10px 0; - background: rgba(0,0,0,.5); - border-bottom:1px solid rgba(0,0,0,.1); -} -.galleria-theme-fullscreen.light .galleria-info{background:rgba(255,255,255,.5);color:#000;} -.galleria-theme-fullscreen .galleria-info-text { - width: 50%; - margin: 0 auto; -} -.galleria-theme-fullscreen .galleria-info-title { font-weight: bold; display: inline-block; margin-right:10px; } -.galleria-theme-fullscreen .galleria-info-description { display:inline-block; } -.galleria-theme-fullscreen .galleria-thumb-nav-left, -.galleria-theme-fullscreen .galleria-thumb-nav-right { - cursor: pointer; - display: none; - background: url(p.gif) no-repeat 50% 50%; - position: absolute; - left: 5px; - top: 21px; - bottom: 5px; - width: 20px; - z-index: 3; - opacity: .8; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; - filter: alpha(opacity=80); -} -.galleria-theme-fullscreen.light .galleria-thumb-nav-left{ - background-image: url(p-neg.png); -} -.galleria-theme-fullscreen .galleria-thumb-nav-right { - background-image: url(n.gif); - left: auto; - right: 5px; -} -.galleria-theme-fullscreen.light .galleria-thumb-nav-right{ - background-image: url(n-neg.png); -} -.galleria-theme-fullscreen .galleria-carousel .galleria-thumb-nav-left, -.galleria-theme-fullscreen .galleria-carousel .galleria-thumb-nav-right { display: block } -.galleria-theme-fullscreen .galleria-carousel .galleria-thumb-nav-left:hover, -.galleria-theme-fullscreen .galleria-carousel .galleria-thumb-nav-right:hover { background-color: #222 } -.galleria-theme-fullscreen .galleria-thumb-nav-left.disabled, -.galleria-theme-fullscreen .galleria-thumb-nav-right.disabled, -.galleria-theme-fullscreen .galleria-thumb-nav-left.disabled:hover, -.galleria-theme-fullscreen .galleria-thumb-nav-right.disabled:hover { - opacity: .2; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"; - filter: alpha(opacity=20); - cursor: default; -} -.galleria-theme-fullscreen.light .galleria-carousel .galleria-thumb-nav-left:hover, -.galleria-theme-fullscreen.light .galleria-carousel .galleria-thumb-nav-right:hover { background-color: #ddd } - diff --git a/assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.js b/assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.js deleted file mode 100644 index 4bb6608f..00000000 --- a/assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.js +++ /dev/null @@ -1,182 +0,0 @@ -/** - * Galleria Classic Theme 2017-02-27 - * http://galleria.io - * - * Copyright (c) 2010 - 2017 worse is better UG - * Licensed 2017-02-27 under the MIT license - * https://raw.github.com/worseisbetter/galleria/master/LICENSE - * - */ - -(function($) { - -/*global jQuery, Galleria, window */ - -Galleria.addTheme({ - name: 'fullscreen', - version: '1.5.4', - author: 'Galleria', - css: 'galleria.fullscreen.css', - // begin site script - defaults: { - transition: 'none', - imageCrop: true, - thumbCrop: 'height', - easing: 'galleriaOut', - trueFullscreen: false, - - // set this to false if you want to keep the thumbnails: - _hideDock: Galleria.TOUCH ? false : true, - - // set this to true if you want to shrink the carousel when clicking a thumbnail: - _closeOnClick: false - }, - init: function(options) { - - Galleria.requires( 1.5, 'This version of Fullscreen theme requires Galleria version 1.5 or later'); - - this.addElement('thumbnails-tab'); - this.appendChild('thumbnails-container', 'thumbnails-tab'); - - var tab = this.$('thumbnails-tab'), - loader = this.$('loader'), - thumbs = this.$('thumbnails-container'), - list = this.$('thumbnails-list'), - infotext = this.$('info-text'), - info = this.$('info'), - OPEN = !options._hideDock, - POS = 0; - - if (Galleria.IE) { - this.addElement('iefix'); - this.appendChild('container', 'iefix'); - this.$('iefix').css({ - zIndex: 3, - position: 'absolute', - backgroundColor: this.hasVariation('light') ? '#fff' : '#000', - opacity: 0.4, - top: 0 - }); - } - - if ( options.thumbnails === false ) { - thumbs.hide(); - } - - var fixCaption = this.proxy(function(img) { - - var w = img.width || $(img).width(); - - if (!(img || w)) { - return; - } - w = Math.min(w, $(window).width()); - infotext.width(w - 40); - if (Galleria.IE && this.getOptions('showInfo')) { - this.$('iefix').width(info.outerWidth()).height(info.outerHeight()); - } - }); - - this.bind('rescale', function() { - POS = this.getStageHeight() - tab.height() - 2; - thumbs.css('top', OPEN ? POS - list.outerHeight() + 2 : POS); - var img = this.getActiveImage(); - if (img) { - fixCaption(img); - } - }); - - this.bind('loadstart', function(e) { - if (!e.cached) { - loader.show().fadeTo(100, 1); - } - $(e.thumbTarget).css('opacity', 1).parent().siblings().children().css('opacity', 0.6); - }); - - this.bind('loadfinish', function(e) { - loader.fadeOut(300); - this.$('info, iefix').toggle(this.hasInfo()); - }); - - this.bind('image', function(e) { - e.imageTarget && fixCaption(e.imageTarget); - }); - - this.bind('thumbnail', function(e) { - $(e.thumbTarget).parent(':not(.active)').children().css('opacity', 0.6); - $(e.thumbTarget).on('click:fast', function() { - if (OPEN && options._closeOnClick) { - tab.trigger('click:fast'); - } - }); - }); - - this.trigger('rescale'); - - if ( !Galleria.TOUCH ) { - - this.addIdleState(thumbs, { opacity: 0 }); - this.addIdleState(this.get('info'), { opacity: 0 }); - - this.$('image-nav-left, image-nav-right').css('opacity', 0.01).hover(function() { - $(this).animate({opacity: 1}, 100); - }, function() { - $(this).animate({opacity: 0}); - }).show(); - - } - - if (Galleria.IE) { - this.addIdleState(this.get('iefix'), { opacity: 0 }); - } - - if (options._hideDock) { - tab.on('click:fast', this.proxy(function() { - tab.toggleClass('open', !OPEN); - if (!OPEN) { - thumbs.animate({ - top: POS - list.outerHeight() + 2 - }, 400, options.easing); - } else { - thumbs.animate({ - top: POS - }, 400, options.easing); - } - OPEN = !OPEN; - })); - } else { - this.bind('thumbnail', function() { - thumbs.css('top', POS - list.outerHeight() + 2); - }); - tab.css('visibility', 'hidden'); - } - - this.$('thumbnails').children().hover(function() { - $(this).not('.active').children().stop().fadeTo(100, 1); - }, function() { - $(this).not('.active').children().stop().fadeTo(400, 0.6); - }); - - this.enterFullscreen(); - this.attachKeyboard({ - escape: function(e) { - return false; - }, - up: function(e) { - if (!OPEN) { - tab.trigger('click:fast'); - } - e.preventDefault(); - }, - down: function(e) { - if (OPEN) { - tab.trigger('click:fast'); - } - e.preventDefault(); - } - }); - } - // end site script -}); - -}(jQuery)); diff --git a/assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.min.css b/assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.min.css deleted file mode 100644 index 6e5e1606..00000000 --- a/assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.min.css +++ /dev/null @@ -1 +0,0 @@ -#galleria-loader{height:1px!important}body,html{background:#000}.galleria-theme-fullscreen{height:100%;overflow:hidden;position:fixed;top:0;left:0;width:100%;background:#000;-webkit-font-smoothing:antialiased}.galleria-theme-fullscreen img{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none}.galleria-theme-fullscreen .galleria-stage{width:100%;height:100%;position:absolute}.galleria-theme-fullscreen .galleria-thumbnails-container{position:absolute;bottom:0;z-index:2;padding-top:16px;width:100%}.galleria-theme-fullscreen.videoplay .galleria-thumbnails-container{display:none!important}.galleria-theme-fullscreen.videoplay .galleria-image-nav{top:80px;bottom:80px;height:auto}.galleria-theme-fullscreen .galleria-thumbnails-tab{opacity:.7;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";filter:alpha(opacity=70);position:absolute;left:50%;margin-left:-50px;top:0;height:16px;width:100px;background:url(up.gif) 50% 5px no-repeat #000;cursor:pointer;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-webkit-border-top-left-radius:4px}.galleria-theme-fullscreen.light .galleria-thumbnails-tab{background:url(up-neg.gif) 50% 50% no-repeat #fff;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:alpha(opacity=100)}.galleria-theme-fullscreen .galleria-thumbnails-tab:hover{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:alpha(opacity=100)}.galleria-theme-fullscreen .galleria-thumbnails-tab.open,.galleria-theme-fullscreen .galleria-thumbnails-tab.open:hover{background-image:url(down.gif);opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:alpha(opacity=100)}.galleria-theme-fullscreen.light .galleria-thumbnails-tab.open,.galleria-theme-fullscreen.light .galleria-thumbnails-tab.open:hover{background-image:url(down-neg.gif)}.galleria-theme-fullscreen .galleria-thumbnails{background:#000;overflow:hidden}.galleria-theme-fullscreen .galleria-thumbnails-list{background:#000;padding-top:5px;padding-bottom:5px;overflow:hidden}.galleria-theme-fullscreen.light .galleria-thumbnails,.galleria-theme-fullscreen.light .galleria-thumbnails-list{background:#fff}.galleria-theme-fullscreen .galleria-thumbnails .galleria-image{width:80px;height:50px;float:left;cursor:pointer;margin-right:5px}.galleria-theme-fullscreen .galleria-thumbnails .galleria-image img{background:#000}.galleria-theme-fullscreen .galleria-thumbnails .active{cursor:default}.galleria-theme-fullscreen .galleria-carousel .galleria-thumbnails-list{border-left:30px solid #000;border-right:30px solid #000}.galleria-theme-fullscreen.light .galleria-carousel .galleria-thumbnails-list{border-color:#fff}.galleria-theme-fullscreen .galleria-image-nav{width:100%;height:100%;position:absolute;top:0;left:0}.galleria-theme-fullscreen .galleria-image-nav-left,.galleria-theme-fullscreen .galleria-image-nav-right{width:100px;right:0;top:0;bottom:0;background:url(r.gif) 50% 50% no-repeat;position:absolute;cursor:pointer;z-index:2;display:none}.galleria-theme-fullscreen.smallarrows .galleria-image-nav-right{background-image:url(r-neg.png)}.galleria-theme-fullscreen .galleria-image-nav-left{left:0;right:auto;background-image:url(l.gif)}.galleria-theme-fullscreen.smallarrows .galleria-image-nav-left{background-image:url(l-neg.png)}.galleria-theme-fullscreen .galleria-loader{width:30px;height:30px;background:url(loader.gif) 50% 50% no-repeat #fff;position:absolute;top:50%;left:50%;margin-top:-15px;margin-left:-15px;z-index:3}.galleria-theme-fullscreen .galleria-info{z-index:4;font:13px/1.4 helvetica,arial,sans-serif;color:#fff;position:absolute;top:0;width:100%;border-top:2px solid #000;display:none;text-align:center;padding:10px 0;background:rgba(0,0,0,.5);border-bottom:1px solid rgba(0,0,0,.1)}.galleria-theme-fullscreen.light .galleria-info{background:rgba(255,255,255,.5);color:#000}.galleria-theme-fullscreen .galleria-info-text{width:50%;margin:0 auto}.galleria-theme-fullscreen .galleria-info-title{font-weight:700;display:inline-block;margin-right:10px}.galleria-theme-fullscreen .galleria-info-description{display:inline-block}.galleria-theme-fullscreen .galleria-thumb-nav-left,.galleria-theme-fullscreen .galleria-thumb-nav-right{cursor:pointer;display:none;background:url(p.gif) 50% 50% no-repeat;position:absolute;left:5px;top:21px;bottom:5px;width:20px;z-index:3;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";filter:alpha(opacity=80)}.galleria-theme-fullscreen.light .galleria-thumb-nav-left{background-image:url(p-neg.png)}.galleria-theme-fullscreen .galleria-thumb-nav-right{background-image:url(n.gif);left:auto;right:5px}.galleria-theme-fullscreen.light .galleria-thumb-nav-right{background-image:url(n-neg.png)}.galleria-theme-fullscreen .galleria-carousel .galleria-thumb-nav-left,.galleria-theme-fullscreen .galleria-carousel .galleria-thumb-nav-right{display:block}.galleria-theme-fullscreen .galleria-carousel .galleria-thumb-nav-left:hover,.galleria-theme-fullscreen .galleria-carousel .galleria-thumb-nav-right:hover{background-color:#222}.galleria-theme-fullscreen .galleria-thumb-nav-left.disabled,.galleria-theme-fullscreen .galleria-thumb-nav-left.disabled:hover,.galleria-theme-fullscreen .galleria-thumb-nav-right.disabled,.galleria-theme-fullscreen .galleria-thumb-nav-right.disabled:hover{opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";filter:alpha(opacity=20);cursor:default}.galleria-theme-fullscreen.light .galleria-carousel .galleria-thumb-nav-left:hover,.galleria-theme-fullscreen.light .galleria-carousel .galleria-thumb-nav-right:hover{background-color:#ddd} \ No newline at end of file diff --git a/assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.min.js b/assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.min.js deleted file mode 100644 index 6c8118cd..00000000 --- a/assets/scripts/galleria/themes/fullscreen/galleria.fullscreen.min.js +++ /dev/null @@ -1 +0,0 @@ -(function($){Galleria.addTheme({name:"fullscreen",version:"1.5.4",author:"Galleria",css:"galleria.fullscreen.css",defaults:{transition:"none",imageCrop:true,thumbCrop:"height",easing:"galleriaOut",trueFullscreen:false,_hideDock:Galleria.TOUCH?false:true,_closeOnClick:false},init:function(options){Galleria.requires(1.5,"This version of Fullscreen theme requires Galleria version 1.5 or later");this.addElement("thumbnails-tab");this.appendChild("thumbnails-container","thumbnails-tab");var tab=this.$("thumbnails-tab"),loader=this.$("loader"),thumbs=this.$("thumbnails-container"),list=this.$("thumbnails-list"),infotext=this.$("info-text"),info=this.$("info"),OPEN=!options._hideDock,POS=0;if(Galleria.IE){this.addElement("iefix");this.appendChild("container","iefix");this.$("iefix").css({zIndex:3,position:"absolute",backgroundColor:this.hasVariation("light")?"#fff":"#000",opacity:.4,top:0})}if(options.thumbnails===false){thumbs.hide()}var fixCaption=this.proxy(function(img){var w=img.width||$(img).width();if(!(img||w)){return}w=Math.min(w,$(window).width());infotext.width(w-40);if(Galleria.IE&&this.getOptions("showInfo")){this.$("iefix").width(info.outerWidth()).height(info.outerHeight())}});this.bind("rescale",function(){POS=this.getStageHeight()-tab.height()-2;thumbs.css("top",OPEN?POS-list.outerHeight()+2:POS);var img=this.getActiveImage();if(img){fixCaption(img)}});this.bind("loadstart",function(e){if(!e.cached){loader.show().fadeTo(100,1)}$(e.thumbTarget).css("opacity",1).parent().siblings().children().css("opacity",.6)});this.bind("loadfinish",function(e){loader.fadeOut(300);this.$("info, iefix").toggle(this.hasInfo())});this.bind("image",function(e){e.imageTarget&&fixCaption(e.imageTarget)});this.bind("thumbnail",function(e){$(e.thumbTarget).parent(":not(.active)").children().css("opacity",.6);$(e.thumbTarget).on("click:fast",function(){if(OPEN&&options._closeOnClick){tab.trigger("click:fast")}})});this.trigger("rescale");if(!Galleria.TOUCH){this.addIdleState(thumbs,{opacity:0});this.addIdleState(this.get("info"),{opacity:0});this.$("image-nav-left, image-nav-right").css("opacity",.01).hover(function(){$(this).animate({opacity:1},100)},function(){$(this).animate({opacity:0})}).show()}if(Galleria.IE){this.addIdleState(this.get("iefix"),{opacity:0})}if(options._hideDock){tab.on("click:fast",this.proxy(function(){tab.toggleClass("open",!OPEN);if(!OPEN){thumbs.animate({top:POS-list.outerHeight()+2},400,options.easing)}else{thumbs.animate({top:POS},400,options.easing)}OPEN=!OPEN}))}else{this.bind("thumbnail",function(){thumbs.css("top",POS-list.outerHeight()+2)});tab.css("visibility","hidden")}this.$("thumbnails").children().hover(function(){$(this).not(".active").children().stop().fadeTo(100,1)},function(){$(this).not(".active").children().stop().fadeTo(400,.6)});this.enterFullscreen();this.attachKeyboard({escape:function(e){return false},up:function(e){if(!OPEN){tab.trigger("click:fast")}e.preventDefault()},down:function(e){if(OPEN){tab.trigger("click:fast")}e.preventDefault()}})}})})(jQuery); \ No newline at end of file diff --git a/assets/scripts/galleria/themes/fullscreen/i.png b/assets/scripts/galleria/themes/fullscreen/i.png deleted file mode 100644 index 2e61d85cf5c3d76932e0ddb3bf988d9a56faec7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XLOop^Ln>}1{o!ZfVP=>i!N$=OWs~)B#Zl$kNtzmJ+#3QC z3T;&F(qytyzX~ddwIuC|%3(h8b@9#28_{=IkH|Mx9O^jXw^*znqKi4*(4m2mAtYEJ Uf7^D;CZGijp00i_>zopr0JS7J;{X5v diff --git a/assets/scripts/galleria/themes/fullscreen/index.html b/assets/scripts/galleria/themes/fullscreen/index.html deleted file mode 100644 index e69de29b..00000000 diff --git a/assets/scripts/galleria/themes/fullscreen/l-neg.png b/assets/scripts/galleria/themes/fullscreen/l-neg.png deleted file mode 100644 index 9c47490397a25816e3e193da19b094b8a0afb24d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1062 zcmaJ=Pe>F|7@rVjwG^s@X(rQXR_N~R?C#7uqwBi6v*to0wk~LwY@B(z(>i~edA8#g zBqc;phoXZJ9nwRmj6kIFARU5&PW>?pf}lY1kR7Ch5%fk~?XWh?%zN+S`~AM(_vc;j z?mAIkR$Yc+Sb3t8PolNf`CKLF-{PH~L`xNn_rV^05N1UaU=dj#0C++bhd>gD^62?j zpcTW4>XlR<>=RCMlCFA0$H!x<20~+4YuGkKDFYxr0EQGTM6Ars6SyLWh+bOo3Pud1 zmCl?AdU9PUDVLF0nFzPxtu}`UQ~*WXR);l<vqQu>FNgMynI!Oa7nlhV8>0GzZak)& z0H-~Ex8$WLoMAjvfMyt~3HNy^AL&Ie<E8=}&2YXTzWER+nkf%*Nxow<7CME9G=v66 zlG$w5ll6OabBLr^mUTFMJ~#4kTca8jZMSCC<r#QjNv2{zMb~hLQ5?`mV2D6UH&RfI zEn3amEE6giX^RF)dAv?ac}GF`zpJWld0Q|Ew)GYywo;=8Ad|q-M@$JdZm`Y?WpFVQ zh)_3Ex;~t*Vs~1Hx|P-qJl4bD#{^MQG{<m!9U%x@LbIT#Ng%<82*lx06q)OwBMeJ5 z$Nf<zKv8jjBud93&4Eaeq1j+GNawM<E{&)_gL$mHjqTVG>kNZxpvXKhl?y=bFm)AQ zPnuH-Xkl4D&+>E-@%amD*}%#Lv}|IVcf^uN4C%D?pH}BhXnvgS*5IPU*60Hb&AW*P z`{uLpCUhw#5_}|Oe|r7lX~h`6XH0CFc=Gah_(4-c#o~+c;&16cM-JB%^}Bj+-FXwO ze>@hK-wwRL^xa-M`t#~?^R<OoV_Wf3dZBXW(C07vmbtH|p=-8%PHddnJ<Hz}Gc%>X z+WSRvrtIQmeDUDJ=W|Eb=BuR4jUVS$Yo>ygx!$Qq``2ox_PVOA`==VJd#A#st1E%q b+O87p<C*BY_5+viIX5>E@8YMUXRrJPcBonV diff --git a/assets/scripts/galleria/themes/fullscreen/l.gif b/assets/scripts/galleria/themes/fullscreen/l.gif deleted file mode 100644 index 36b43faf7eb2c02e76ed30359dc95375324977db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82 zcmZ?wbhEHblw*)%XkcXc4+e@qSr{1@7#VaJfB+=Jz@*vIzw-23{>5{)-0I$ZPnV^x gVu50xYDJOeuili`>$Gw%z3YAc>)iLcI0go50Je@HQ2+n{ diff --git a/assets/scripts/galleria/themes/fullscreen/loader.gif b/assets/scripts/galleria/themes/fullscreen/loader.gif deleted file mode 100644 index e0057080d42b2b892e0c5c4ebd59cde3fc420afd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1586 zcmc(eYfn=L7=T+uWW$D@QfNV1dO1L8OF2D-ws54BLhsO)a&?f!D&^ut1&No9kkKO0 z(m0UIknlml1q2l}3?~x?<&vVvMO?sWW)RIXL>$+MAI9iD^L_6xc%JutUb#{xj5J_T zSkx8@m7JWMnwn}f8cRz{Efz~tQ&USzOLuqoz`(%Z;NbZ9_}tvw{QUgV($ezs^6Kj9 z#>U3Z&W>KMPfJTXa^y%}US3gAQAtTjO-)U6b8~xpdq+pdg9i`#`uc{4hsVao91h3i z<mBw^?DOZ(U%h(u`t|F@#l?5;-o1bSer084ZEbC9YioOZJ2NvgD=RBEH#a{&zqq)# ztgNiOyxeB9)z;RwwzhV5cHX{y+itgyjEp>a@?>giYI=HlVPWCp$B&zvn_8__r_<%+ z<aBj)-Me?Mx3{;yzyHOH7au-+SYKcN{P}Z6M#h;lXWH7@K7IO>o}OM<SU5U5Ix#Wv z=FJ<_|2@<l4~;Y>IWATwg*nhZ^ezwepU^}@wvlq|B1K(fIGbOPUu2+Yj3<ug8P6Fg zjPvKub55Q%WappCIn6m`EDk|Yw_Q<RqIOVhr;PKisQsl!!OOL+HF>V2#CUAdS@B<V zJSWTD^NY<Y)Z(Z+h35IyTZ;IwTSdGbx<GL~kkp1Evi)fXj-wbovV;3ByoDf{l|ZeP zI1-DZn1%8#Wx;8BCi?4dj_pI|&=NE{eM(veEe42<bCt@KAYT{;Akhp~=rvdsLJR7o z?t$diHCUx{SZ@hCt{2UZ$0y)tcn@tQK{uY=sP8;k-+?({94co7+rDRpr@B%{j6JIf zl3Uu`CVPUIDG3R1_rdwH8MMG)a)^paAc7KqyqA|>DlNdqVg&_K^=iK+yuSn_63R-* z!GW~nzBnKEfFES(#6Ex&z@~bU{pbXDs*88fQ5Rw`o<j7o98(?g4hhN(#08`RjHfiO zV8Hjg1qs8S1xQt~d+;B4_&s1UF~oofF<Z?{ZWO@hvVjU~OdZSv;BWwenPxT|A&v|M zA)$y9QD;U%2_C#?KEfqbTnFkzkf56>@Q8%Dj9<cqhZ{_6o);X+7V+UQel-vcz67IR z^21=hh#duc@w!b+L>SIJ%;3&?2p+Ko+&}C9lQS}JFjw046S6>DYTG4Gf5@lDfxb~; zI~S7;wo>VK+huksyLp6G(d*B>P~g=wEDyt1yP)^7x#F}@DohIHu8ka0sUUf^35*0l zwBq1ZAQH4jO5#~iydaJxl{8vAr2?5uAdQupm2$;RH?>LaCS`&0OAtCv&~H|^qoE3w z;%?o2g~~KDTmAc-V$AV);OUf72LAf^w;@nwG2OX)zo++_WXK_aZgyE4e!Qv>UTnq> zRnZk!+;K1-J<}@Q3-f0urWO$aT86p0%EZ+GQCy}Ch=CCx90qtT+L&r>1V<!<zyvZj z0@j-9v4liK6U_q&30DCI7bbfM>Z=4$Ww-XfwVJWcwLSvC=mrf0YeXUq99CnC2F(aJ zT!@U6Pry;*fCv(rnF271z`YJ2O<5FfTV)+7kt4plamUToGeI%GzR)_x%jnLYsG^wN z#J($kN33Fpl(vfv-}bK=3UrjcOq}_cF}r!G%~k-D0?_cg#gVE_hrE?3IuOL`8*R=s z5n_@WbLa{{(yNnoWIq~#l<eYtS?!BUA|Xl>3(*mW&AXX1tx9q*NW-w6A@oK+yiP|V z;TQZG=?ECi!qERDkDHudGDXzsCjliwO2YYCQe54!GYj@A4Efq}2JI(Y8wS%DKLiEh k+|U?_vUb|yVgbGR<x4eGNeBRRWFKtElU6oZck@C11=dUs;s5{u diff --git a/assets/scripts/galleria/themes/fullscreen/n-neg.png b/assets/scripts/galleria/themes/fullscreen/n-neg.png deleted file mode 100644 index 61c9b3f94052bc80411a0873e03f751f333ac1ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 984 zcmaJ=&ui0A9Dg|6##o2oFI3P+=3xVyG;NcbusGUga}hI3Td)Te)8uuHZSrFBx~4-A zhX;2N_2@2MM7;P9Oi?_DUi9h)p1cZr_A+0(w)0>ON#1*3KA+F`=i4YOUyMzhoB#mC zv?aAj*D?A{jgQj*_v@pl=yHNAR7eTeNZarc$Xd9Hpyn7WsE7=!bNdsT17PH=U9OOd zepxoL!x|BW4IPiN0hpT)J;Q7u0;_1nb`|F5)>{VJmcm>W^n~u^QQclz^HFJSxooaA zOvz&AFTlA_rUDKk1`M618_1!;baiFAkIWncyAaY)n7yDXdI9FKkD$P&;%0*9p(wI^ zS`bD4984zoB$uGC80XWnAj-)M>^%(i=36zns4n(=(UZc|3Grl(Yq#5MJH=vuh2tej ziZqhRI7P&Rj!TR%?grC+1r-IRZ+pbXE{qh7DsB;lp^@&T;CKUBH|Uj#7K{rGkK@@y zlu{q4>;H#3&Hx>dBHEAlpTa@8;~}ny0^IUV+PK<u<jRxtJ~9aQ%NRHNRV>so!9g8+ zFkcekjBc2=8yRN13|*HsHz0;<B285os=?Z}B`*qDQQ{>rl@rrEzmUr2gnagVI-3y% zDU-_xeXfelmV;c<=UV&R%usGL430-VtH`%kk+tY!2X>Q|?cuSchwAmX*6>(_p<Ipz z!$qzAtJQrIou6ns7+iW7j6QPdy!&*pYwJgT(MxejQ?uo8hdk1zKw|vBz1`jI8#^Bk zzNx>T8GSMd?$3TZz4<W~ZXPQ<9ecL=5+v{5dAITPbM4Bl!@q0kFOLsxy*PR;_xvFk Y0nOKwXO3_Dco5w+ZDCn`mAkqA2P`Wx*Z=?k diff --git a/assets/scripts/galleria/themes/fullscreen/n.gif b/assets/scripts/galleria/themes/fullscreen/n.gif deleted file mode 100644 index df1d4ed9e08d32abb0517b55471e3e56a2078aac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59 zcmZ?wbhEHbWM|-GXkcXc4+e@qSr{1@7#VaJfB+=Jz$E0-mr!wP?~LkTw~XRlrX~Mb HSQ)GV7Y`B) diff --git a/assets/scripts/galleria/themes/fullscreen/p-neg.png b/assets/scripts/galleria/themes/fullscreen/p-neg.png deleted file mode 100644 index aeee4121d16b2950aabba0d8f6a0ed85f2de6327..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 980 zcmaJ=O>5LZ7>+1)S*#!)iWOu?6%^fk?IzoVjWr)#8*G+kyU@J|%_g(m&?Xa;sY!cN zJm^{Q;8p0+lb|4?J&Cs-Jb9`pcvF9Yb+X&tdT0$vX6EI6p7(h_=1H@0d$KrPq$q0A zS}<E=Jx#u|g$eTic6Z_;SuWuD4qie%oH{Y2G!JzlumWclwxHu}-unb=6m{~l-|pa! zy{Nb-V4U2C$%2TWDXKP?MUJ}$G3dfoKUC>oZ{O3v_f&dWv^hI6VBcTZis8~$qwQ|3 zxw1#k-2}BvAp`-$4#<M_Fi|p<9`Gt;pPN}43|#P<N)JVK>?SZ!41vg$OD@OrK#~}~ zB1#f}0|*>1upD`%5?@h7NfD~x;Gs#h*y|}RvwjeZoK(7xaip+pnx;%zW>CD!^0F-F z9D-0H9;IY6#7<TUlbI2N2@^N=BkZFP<cv-iZD5rqN{1-~(U>+&4$4Fd#%4~$@(h=! zG;*}<|GNgk*gL^3c&PVC;-tM9LAC`Gv=O_calM&5RHPU&bTEqB2(6E**z6;Wl0J%n zu_S@3w&VI?Zn!o;*tTMY33fskTBb@94#xLAWme!tlQZ?QE{QxpU)FTd&}J)IRTAZ@ zUKK}J6S*4!4Dkr-9b%1RvH36r5s7TV*uM|GdW-@vNLula&{7vQN#^BQ!dE$3%Mj}w zuSGjn3robXd29b^^~gl#C*O_-mmJ2U4?{BVF&XT|>)&_CrKnq`*3P~>+O>)lS2(rv zYJWeG3U9n!gAu3Ctvr6dy;s{_nc4>F#P81D*Qw9?3G2n3AJx5&&u;yB`cucR-#xhU Xfimi6E}buAjr^Wj^9}Q*zVh%drcE-0 diff --git a/assets/scripts/galleria/themes/fullscreen/p.gif b/assets/scripts/galleria/themes/fullscreen/p.gif deleted file mode 100644 index 9626e4ecdda1b24eb8092850a3d59213ccf52c70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmZ?wbhEHbWM|-GXkcXc4+e@qSr{1@7#VaJfB+=Jz$DzmpFZKnZ>HeOnvxHX?!I&; J)`5}18UQb)6IK8K diff --git a/assets/scripts/galleria/themes/fullscreen/r-neg.png b/assets/scripts/galleria/themes/fullscreen/r-neg.png deleted file mode 100644 index dc909aa59507e3f164d8558191a3fa51e76aa850..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1102 zcmaJ=OK8+U7!JN!TM*y&AVcaQYB$;JX0vYWs=J$3SDIRPS6thRX)^7GnoLY)-L$CS zqxeAd;6X+7U~j$<3SLBfReT^QdQj>?MJ&aOUKI6Uoz!mi;2M(5%+L3I|8tJCwXUxX z)CDMts?BVWvt(WBf3s$g|LV}y3uIY>n+iCGx^P)_AeGcnCj=Q&?S@&X>b*N3!A6Rj zy3EKIa6xI2G-R@>k6}I2CTxmoT<h7Y)&nu<gx!Xfpg-NXMFT@m&|9NQNU_tfXl&?n zV6Lw<ul4n4ah+bf1~hsS5ilWEfoJZpT**t&<GK>r`(};?;}G1FpnnHdP})EmIS@qI zNKgy$JP<{e7owubH-K=64|5^%ia}nGqM{Uzfr*DE-W<J4%F4|XzQ`#-7csUajw_eT zY&pUrr<>#B@wl%M4hIP$==NGz^@5gLUr~^ut2u^^4P*gdQSC$}oS;dhzf&;nNm<LC zC=)3d=czWwvmrmF3Q$r04>iq6w2QOwPrUyWcJsY9<g(C3B}XHT>#Fx%*;3kpDn?Eo zp&gYfwiOXZZV}laof840sG4E<hUMc7MUgU=i&aa5896}{4c0JpsX3Yy<9s|ENr?i_ zH${@EXgaw{NXEoyJeG<@D_j|AB@<e>!qxw9BUQQnFqk&+EJMfG1@&eJnP5C=$*3Mn zsH)xsSFaumUzN*|U^u_Ef3><|BJ<;KCkK}tCPyDyWZoSz*hlxe47n7yGjcNT4G+D% z6Bq(D)1K9}zk2a=to$|qd3$|<nSJBzlVkZgn-8Aqd_DBMz2khb2W!hee7HAqv+vr> z*&Q=V_NVu!pB_S^7w!(&rO`dgd~ep$?iKe3HZ?p54sJWrA!Zj?55F^Z`pw3Lv5^kl z*2dN`t@jvq-`Km{yA!f=<qP;Id|UJ**grgvsU2XZN0^#HX4=YU!sS%%+T5l~Ep`1D yTc!uLoCyfKPmUfw5Ee@POBUBY9?V@oH>HL;er!Z&dt3hQ-|$RRt9&)Jeg7|x3~ast diff --git a/assets/scripts/galleria/themes/fullscreen/r.gif b/assets/scripts/galleria/themes/fullscreen/r.gif deleted file mode 100644 index 2d6a6ead72fd83cf98b13f92af559ac4fe0bf517..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82 zcmZ?wbhEHblw*)%XkcXc4+e@qSr{1@7#VaJfB+=Jz@*vIzw-23{>5{)-0I$ZPn%_4 hg@RI_Tjrw0yEe|6eQ-w2#b>?Gf1UfjFOq@58UVp3A~^s6 diff --git a/assets/scripts/galleria/themes/fullscreen/up-neg.gif b/assets/scripts/galleria/themes/fullscreen/up-neg.gif deleted file mode 100644 index d9556e7fc6a844cec4dd0b415223af7d33934977..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1106 zcmZ?wbhEHbWM|-DXkcUjg8%>jEB@z>@C{IKNi0bO(l+)L1&PVosU-?Ysp*+{wo31J z?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&Psj#ZZEyztRNmQuF&B-ga zs<2f`Ovz75wF0t1!um=IU?nBlwn~m52?day&iO^D3Z{Any2%D+1`1||dWOa(=H})) z3PuKo2Koj@`i4fjhUQkrMpgy}3Q(W~w5=#5%__*n4QdyVXRDM^Qc_^0uU}qXu2*iX zmtT~wZ)j<02{OaTNEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0?5R~r2NtnTP2`N zAzsKWfE$}vtOxdvUUGh}ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;Np<Vf>iyW z)Z+ZoqU2Pda%GTJ1y;^Qsfi`|MIrh5Ij~R+$jC3rFV4s>P;d@5Rq#zr&ddYx!Rmc| ztvvIJOA_;vQ$1a5m4GJbWoD*WIhmSRnwq#d8ao-f85+78TbLW0Il4I;8yi{}TACZ0 z!}Pl3Czs}?=9R$orXch>;nWLC3b_S9n_W_iGRsm^+=}vZ6~JD$%Eav!3!LUb^`_u< zizQCI`as9%gCZ6wqG3Y7)B|F|lP!<~Pxz^Mz|>v@OxBG5|NZ^*``6DO-@kqR^7+%p z5AWZ-ee?R&%NNg|J$>@{(ZdJ#@7=v~`_|1H*RNf@a{1E53+K<BJ#+fh$rHzq9X)dR z(7^-y_wC)Yd)Lk#+qZ4qvU$_S4eQsfU9)=C$`#9(EnTvB(ZU7u=gplnd)CYu)2B_H zGI`R(3H^P&J>6ZM9qnzcEzM1h4fS=kHPuy>73F26CB;RB1^IcoIoVm68R==MDalER z3Gs2UG0{<x5#eE>A;Cd`0selzKHgrQ9`0_gF3wJl4)%7oHr7^_7UpKACdNj<ETyNb zqphW>p{}N?qO7E-ATK8?BP}H<Auc8=A}k~*z|Y6a!_CFX!Oq6Y!psCLAQXSH07*s$ d9Z*>TDm56GczY5#SD)Yvjd`&{%9)YD8USv-f<6EM diff --git a/assets/scripts/galleria/themes/fullscreen/up.gif b/assets/scripts/galleria/themes/fullscreen/up.gif deleted file mode 100644 index fc00d14fffcec4330eaf8b5afe7360a7c9fd786e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54 zcmZ?wbhEHbWM|-DXkcXc4+e@qSr{1@7#VaJfB+=Jz{J~=$hrCiXK2ie9a7GW4Aua$ C*ADpr diff --git a/assets/scripts/photoswipe-ui-default.js b/assets/scripts/photoswipe-ui-default.js new file mode 100755 index 00000000..9799dd45 --- /dev/null +++ b/assets/scripts/photoswipe-ui-default.js @@ -0,0 +1,861 @@ +/*! PhotoSwipe Default UI - 4.1.2 - 2017-04-05 +* http://photoswipe.com +* Copyright (c) 2017 Dmitry Semenov; */ +/** +* +* UI on top of main sliding area (caption, arrows, close button, etc.). +* Built just using public methods/properties of PhotoSwipe. +* +*/ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + define(factory); + } else if (typeof exports === 'object') { + module.exports = factory(); + } else { + root.PhotoSwipeUI_Default = factory(); + } +})(this, function () { + + 'use strict'; + + + +var PhotoSwipeUI_Default = + function(pswp, framework) { + + var ui = this; + var _overlayUIUpdated = false, + _controlsVisible = true, + _fullscrenAPI, + _controls, + _captionContainer, + _fakeCaptionContainer, + _indexIndicator, + _shareButton, + _shareModal, + _shareModalHidden = true, + _initalCloseOnScrollValue, + _isIdle, + _listen, + + _loadingIndicator, + _loadingIndicatorHidden, + _loadingIndicatorTimeout, + + _galleryHasOneSlide, + + _options, + _defaultUIOptions = { + barsSize: {top:44, bottom:'auto'}, + closeElClasses: ['item', 'caption', 'zoom-wrap', 'ui', 'top-bar'], + timeToIdle: 4000, + timeToIdleOutside: 1000, + loadingIndicatorDelay: 1000, // 2s + + addCaptionHTMLFn: function(item, captionEl /*, isFake */) { + if(!item.title) { + captionEl.children[0].innerHTML = ''; + return false; + } + captionEl.children[0].innerHTML = item.title; + return true; + }, + + closeEl:true, + captionEl: true, + fullscreenEl: true, + zoomEl: true, + shareEl: true, + counterEl: true, + arrowEl: true, + preloaderEl: true, + + tapToClose: false, + tapToToggleControls: true, + + clickToCloseNonZoomable: true, + + shareButtons: [ + {id:'facebook', label:'Share on Facebook', url:'https://www.facebook.com/sharer/sharer.php?u={{url}}'}, + {id:'twitter', label:'Tweet', url:'https://twitter.com/intent/tweet?text={{text}}&url={{url}}'}, + {id:'pinterest', label:'Pin it', url:'http://www.pinterest.com/pin/create/button/'+ + '?url={{url}}&media={{image_url}}&description={{text}}'}, + {id:'download', label:'Download image', url:'{{raw_image_url}}', download:true} + ], + getImageURLForShare: function( /* shareButtonData */ ) { + return pswp.currItem.src || ''; + }, + getPageURLForShare: function( /* shareButtonData */ ) { + return window.location.href; + }, + getTextForShare: function( /* shareButtonData */ ) { + return pswp.currItem.title || ''; + }, + + indexIndicatorSep: ' / ', + fitControlsWidth: 1200 + + }, + _blockControlsTap, + _blockControlsTapTimeout; + + + + var _onControlsTap = function(e) { + if(_blockControlsTap) { + return true; + } + + + e = e || window.event; + + if(_options.timeToIdle && _options.mouseUsed && !_isIdle) { + // reset idle timer + _onIdleMouseMove(); + } + + + var target = e.target || e.srcElement, + uiElement, + clickedClass = target.getAttribute('class') || '', + found; + + for(var i = 0; i < _uiElements.length; i++) { + uiElement = _uiElements[i]; + if(uiElement.onTap && clickedClass.indexOf('pswp__' + uiElement.name ) > -1 ) { + uiElement.onTap(); + found = true; + + } + } + + if(found) { + if(e.stopPropagation) { + e.stopPropagation(); + } + _blockControlsTap = true; + + // Some versions of Android don't prevent ghost click event + // when preventDefault() was called on touchstart and/or touchend. + // + // This happens on v4.3, 4.2, 4.1, + // older versions strangely work correctly, + // but just in case we add delay on all of them) + var tapDelay = framework.features.isOldAndroid ? 600 : 30; + _blockControlsTapTimeout = setTimeout(function() { + _blockControlsTap = false; + }, tapDelay); + } + + }, + _fitControlsInViewport = function() { + return !pswp.likelyTouchDevice || _options.mouseUsed || screen.width > _options.fitControlsWidth; + }, + _togglePswpClass = function(el, cName, add) { + framework[ (add ? 'add' : 'remove') + 'Class' ](el, 'pswp__' + cName); + }, + + // add class when there is just one item in the gallery + // (by default it hides left/right arrows and 1ofX counter) + _countNumItems = function() { + var hasOneSlide = (_options.getNumItemsFn() === 1); + + if(hasOneSlide !== _galleryHasOneSlide) { + _togglePswpClass(_controls, 'ui--one-slide', hasOneSlide); + _galleryHasOneSlide = hasOneSlide; + } + }, + _toggleShareModalClass = function() { + _togglePswpClass(_shareModal, 'share-modal--hidden', _shareModalHidden); + }, + _toggleShareModal = function() { + + _shareModalHidden = !_shareModalHidden; + + + if(!_shareModalHidden) { + _toggleShareModalClass(); + setTimeout(function() { + if(!_shareModalHidden) { + framework.addClass(_shareModal, 'pswp__share-modal--fade-in'); + } + }, 30); + } else { + framework.removeClass(_shareModal, 'pswp__share-modal--fade-in'); + setTimeout(function() { + if(_shareModalHidden) { + _toggleShareModalClass(); + } + }, 300); + } + + if(!_shareModalHidden) { + _updateShareURLs(); + } + return false; + }, + + _openWindowPopup = function(e) { + e = e || window.event; + var target = e.target || e.srcElement; + + pswp.shout('shareLinkClick', e, target); + + if(!target.href) { + return false; + } + + if( target.hasAttribute('download') ) { + return true; + } + + window.open(target.href, 'pswp_share', 'scrollbars=yes,resizable=yes,toolbar=no,'+ + 'location=yes,width=550,height=420,top=100,left=' + + (window.screen ? Math.round(screen.width / 2 - 275) : 100) ); + + if(!_shareModalHidden) { + _toggleShareModal(); + } + + return false; + }, + _updateShareURLs = function() { + var shareButtonOut = '', + shareButtonData, + shareURL, + image_url, + page_url, + share_text; + + for(var i = 0; i < _options.shareButtons.length; i++) { + shareButtonData = _options.shareButtons[i]; + + image_url = _options.getImageURLForShare(shareButtonData); + page_url = _options.getPageURLForShare(shareButtonData); + share_text = _options.getTextForShare(shareButtonData); + + shareURL = shareButtonData.url.replace('{{url}}', encodeURIComponent(page_url) ) + .replace('{{image_url}}', encodeURIComponent(image_url) ) + .replace('{{raw_image_url}}', image_url ) + .replace('{{text}}', encodeURIComponent(share_text) ); + + shareButtonOut += '<a href="' + shareURL + '" target="_blank" '+ + 'class="pswp__share--' + shareButtonData.id + '"' + + (shareButtonData.download ? 'download' : '') + '>' + + shareButtonData.label + '</a>'; + + if(_options.parseShareButtonOut) { + shareButtonOut = _options.parseShareButtonOut(shareButtonData, shareButtonOut); + } + } + _shareModal.children[0].innerHTML = shareButtonOut; + _shareModal.children[0].onclick = _openWindowPopup; + + }, + _hasCloseClass = function(target) { + for(var i = 0; i < _options.closeElClasses.length; i++) { + if( framework.hasClass(target, 'pswp__' + _options.closeElClasses[i]) ) { + return true; + } + } + }, + _idleInterval, + _idleTimer, + _idleIncrement = 0, + _onIdleMouseMove = function() { + clearTimeout(_idleTimer); + _idleIncrement = 0; + if(_isIdle) { + ui.setIdle(false); + } + }, + _onMouseLeaveWindow = function(e) { + e = e ? e : window.event; + var from = e.relatedTarget || e.toElement; + if (!from || from.nodeName === 'HTML') { + clearTimeout(_idleTimer); + _idleTimer = setTimeout(function() { + ui.setIdle(true); + }, _options.timeToIdleOutside); + } + }, + _setupFullscreenAPI = function() { + if(_options.fullscreenEl && !framework.features.isOldAndroid) { + if(!_fullscrenAPI) { + _fullscrenAPI = ui.getFullscreenAPI(); + } + if(_fullscrenAPI) { + framework.bind(document, _fullscrenAPI.eventK, ui.updateFullscreen); + ui.updateFullscreen(); + framework.addClass(pswp.template, 'pswp--supports-fs'); + } else { + framework.removeClass(pswp.template, 'pswp--supports-fs'); + } + } + }, + _setupLoadingIndicator = function() { + // Setup loading indicator + if(_options.preloaderEl) { + + _toggleLoadingIndicator(true); + + _listen('beforeChange', function() { + + clearTimeout(_loadingIndicatorTimeout); + + // display loading indicator with delay + _loadingIndicatorTimeout = setTimeout(function() { + + if(pswp.currItem && pswp.currItem.loading) { + + if( !pswp.allowProgressiveImg() || (pswp.currItem.img && !pswp.currItem.img.naturalWidth) ) { + // show preloader if progressive loading is not enabled, + // or image width is not defined yet (because of slow connection) + _toggleLoadingIndicator(false); + // items-controller.js function allowProgressiveImg + } + + } else { + _toggleLoadingIndicator(true); // hide preloader + } + + }, _options.loadingIndicatorDelay); + + }); + _listen('imageLoadComplete', function(index, item) { + if(pswp.currItem === item) { + _toggleLoadingIndicator(true); + } + }); + + } + }, + _toggleLoadingIndicator = function(hide) { + if( _loadingIndicatorHidden !== hide ) { + _togglePswpClass(_loadingIndicator, 'preloader--active', !hide); + _loadingIndicatorHidden = hide; + } + }, + _applyNavBarGaps = function(item) { + var gap = item.vGap; + + if( _fitControlsInViewport() ) { + + var bars = _options.barsSize; + if(_options.captionEl && bars.bottom === 'auto') { + if(!_fakeCaptionContainer) { + _fakeCaptionContainer = framework.createEl('pswp__caption pswp__caption--fake'); + _fakeCaptionContainer.appendChild( framework.createEl('pswp__caption__center') ); + _controls.insertBefore(_fakeCaptionContainer, _captionContainer); + framework.addClass(_controls, 'pswp__ui--fit'); + } + if( _options.addCaptionHTMLFn(item, _fakeCaptionContainer, true) ) { + + var captionSize = _fakeCaptionContainer.clientHeight; + gap.bottom = parseInt(captionSize,10) || 44; + } else { + gap.bottom = bars.top; // if no caption, set size of bottom gap to size of top + } + } else { + gap.bottom = bars.bottom === 'auto' ? 0 : bars.bottom; + } + + // height of top bar is static, no need to calculate it + gap.top = bars.top; + } else { + gap.top = gap.bottom = 0; + } + }, + _setupIdle = function() { + // Hide controls when mouse is used + if(_options.timeToIdle) { + _listen('mouseUsed', function() { + + framework.bind(document, 'mousemove', _onIdleMouseMove); + framework.bind(document, 'mouseout', _onMouseLeaveWindow); + + _idleInterval = setInterval(function() { + _idleIncrement++; + if(_idleIncrement === 2) { + ui.setIdle(true); + } + }, _options.timeToIdle / 2); + }); + } + }, + _setupHidingControlsDuringGestures = function() { + + // Hide controls on vertical drag + _listen('onVerticalDrag', function(now) { + if(_controlsVisible && now < 0.95) { + ui.hideControls(); + } else if(!_controlsVisible && now >= 0.95) { + ui.showControls(); + } + }); + + // Hide controls when pinching to close + var pinchControlsHidden; + _listen('onPinchClose' , function(now) { + if(_controlsVisible && now < 0.9) { + ui.hideControls(); + pinchControlsHidden = true; + } else if(pinchControlsHidden && !_controlsVisible && now > 0.9) { + ui.showControls(); + } + }); + + _listen('zoomGestureEnded', function() { + pinchControlsHidden = false; + if(pinchControlsHidden && !_controlsVisible) { + ui.showControls(); + } + }); + + }; + + + + var _uiElements = [ + { + name: 'caption', + option: 'captionEl', + onInit: function(el) { + _captionContainer = el; + } + }, + { + name: 'share-modal', + option: 'shareEl', + onInit: function(el) { + _shareModal = el; + }, + onTap: function() { + _toggleShareModal(); + } + }, + { + name: 'button--share', + option: 'shareEl', + onInit: function(el) { + _shareButton = el; + }, + onTap: function() { + _toggleShareModal(); + } + }, + { + name: 'button--zoom', + option: 'zoomEl', + onTap: pswp.toggleDesktopZoom + }, + { + name: 'counter', + option: 'counterEl', + onInit: function(el) { + _indexIndicator = el; + } + }, + { + name: 'button--close', + option: 'closeEl', + onTap: pswp.close + }, + { + name: 'button--arrow--left', + option: 'arrowEl', + onTap: pswp.prev + }, + { + name: 'button--arrow--right', + option: 'arrowEl', + onTap: pswp.next + }, + { + name: 'button--fs', + option: 'fullscreenEl', + onTap: function() { + if(_fullscrenAPI.isFullscreen()) { + _fullscrenAPI.exit(); + } else { + _fullscrenAPI.enter(); + } + } + }, + { + name: 'preloader', + option: 'preloaderEl', + onInit: function(el) { + _loadingIndicator = el; + } + } + + ]; + + var _setupUIElements = function() { + var item, + classAttr, + uiElement; + + var loopThroughChildElements = function(sChildren) { + if(!sChildren) { + return; + } + + var l = sChildren.length; + for(var i = 0; i < l; i++) { + item = sChildren[i]; + classAttr = item.className; + + for(var a = 0; a < _uiElements.length; a++) { + uiElement = _uiElements[a]; + + if(classAttr.indexOf('pswp__' + uiElement.name) > -1 ) { + + if( _options[uiElement.option] ) { // if element is not disabled from options + + framework.removeClass(item, 'pswp__element--disabled'); + if(uiElement.onInit) { + uiElement.onInit(item); + } + + //item.style.display = 'block'; + } else { + framework.addClass(item, 'pswp__element--disabled'); + //item.style.display = 'none'; + } + } + } + } + }; + loopThroughChildElements(_controls.children); + + var topBar = framework.getChildByClass(_controls, 'pswp__top-bar'); + if(topBar) { + loopThroughChildElements( topBar.children ); + } + }; + + + + + ui.init = function() { + + // extend options + framework.extend(pswp.options, _defaultUIOptions, true); + + // create local link for fast access + _options = pswp.options; + + // find pswp__ui element + _controls = framework.getChildByClass(pswp.scrollWrap, 'pswp__ui'); + + // create local link + _listen = pswp.listen; + + + _setupHidingControlsDuringGestures(); + + // update controls when slides change + _listen('beforeChange', ui.update); + + // toggle zoom on double-tap + _listen('doubleTap', function(point) { + var initialZoomLevel = pswp.currItem.initialZoomLevel; + if(pswp.getZoomLevel() !== initialZoomLevel) { + pswp.zoomTo(initialZoomLevel, point, 333); + } else { + pswp.zoomTo(_options.getDoubleTapZoom(false, pswp.currItem), point, 333); + } + }); + + // Allow text selection in caption + _listen('preventDragEvent', function(e, isDown, preventObj) { + var t = e.target || e.srcElement; + if( + t && + t.getAttribute('class') && e.type.indexOf('mouse') > -1 && + ( t.getAttribute('class').indexOf('__caption') > 0 || (/(SMALL|STRONG|EM)/i).test(t.tagName) ) + ) { + preventObj.prevent = false; + } + }); + + // bind events for UI + _listen('bindEvents', function() { + framework.bind(_controls, 'pswpTap click', _onControlsTap); + framework.bind(pswp.scrollWrap, 'pswpTap', ui.onGlobalTap); + + if(!pswp.likelyTouchDevice) { + framework.bind(pswp.scrollWrap, 'mouseover', ui.onMouseOver); + } + }); + + // unbind events for UI + _listen('unbindEvents', function() { + if(!_shareModalHidden) { + _toggleShareModal(); + } + + if(_idleInterval) { + clearInterval(_idleInterval); + } + framework.unbind(document, 'mouseout', _onMouseLeaveWindow); + framework.unbind(document, 'mousemove', _onIdleMouseMove); + framework.unbind(_controls, 'pswpTap click', _onControlsTap); + framework.unbind(pswp.scrollWrap, 'pswpTap', ui.onGlobalTap); + framework.unbind(pswp.scrollWrap, 'mouseover', ui.onMouseOver); + + if(_fullscrenAPI) { + framework.unbind(document, _fullscrenAPI.eventK, ui.updateFullscreen); + if(_fullscrenAPI.isFullscreen()) { + _options.hideAnimationDuration = 0; + _fullscrenAPI.exit(); + } + _fullscrenAPI = null; + } + }); + + + // clean up things when gallery is destroyed + _listen('destroy', function() { + if(_options.captionEl) { + if(_fakeCaptionContainer) { + _controls.removeChild(_fakeCaptionContainer); + } + framework.removeClass(_captionContainer, 'pswp__caption--empty'); + } + + if(_shareModal) { + _shareModal.children[0].onclick = null; + } + framework.removeClass(_controls, 'pswp__ui--over-close'); + framework.addClass( _controls, 'pswp__ui--hidden'); + ui.setIdle(false); + }); + + + if(!_options.showAnimationDuration) { + framework.removeClass( _controls, 'pswp__ui--hidden'); + } + _listen('initialZoomIn', function() { + if(_options.showAnimationDuration) { + framework.removeClass( _controls, 'pswp__ui--hidden'); + } + }); + _listen('initialZoomOut', function() { + framework.addClass( _controls, 'pswp__ui--hidden'); + }); + + _listen('parseVerticalMargin', _applyNavBarGaps); + + _setupUIElements(); + + if(_options.shareEl && _shareButton && _shareModal) { + _shareModalHidden = true; + } + + _countNumItems(); + + _setupIdle(); + + _setupFullscreenAPI(); + + _setupLoadingIndicator(); + }; + + ui.setIdle = function(isIdle) { + _isIdle = isIdle; + _togglePswpClass(_controls, 'ui--idle', isIdle); + }; + + ui.update = function() { + // Don't update UI if it's hidden + if(_controlsVisible && pswp.currItem) { + + ui.updateIndexIndicator(); + + if(_options.captionEl) { + _options.addCaptionHTMLFn(pswp.currItem, _captionContainer); + + _togglePswpClass(_captionContainer, 'caption--empty', !pswp.currItem.title); + } + + _overlayUIUpdated = true; + + } else { + _overlayUIUpdated = false; + } + + if(!_shareModalHidden) { + _toggleShareModal(); + } + + _countNumItems(); + }; + + ui.updateFullscreen = function(e) { + + if(e) { + // some browsers change window scroll position during the fullscreen + // so PhotoSwipe updates it just in case + setTimeout(function() { + pswp.setScrollOffset( 0, framework.getScrollY() ); + }, 50); + } + + // toogle pswp--fs class on root element + framework[ (_fullscrenAPI.isFullscreen() ? 'add' : 'remove') + 'Class' ](pswp.template, 'pswp--fs'); + }; + + ui.updateIndexIndicator = function() { + if(_options.counterEl) { + _indexIndicator.innerHTML = (pswp.getCurrentIndex()+1) + + _options.indexIndicatorSep + + _options.getNumItemsFn(); + } + }; + + ui.onGlobalTap = function(e) { + e = e || window.event; + var target = e.target || e.srcElement; + + if(_blockControlsTap) { + return; + } + + if(e.detail && e.detail.pointerType === 'mouse') { + + // close gallery if clicked outside of the image + if(_hasCloseClass(target)) { + pswp.close(); + return; + } + + if(framework.hasClass(target, 'pswp__img')) { + if(pswp.getZoomLevel() === 1 && pswp.getZoomLevel() <= pswp.currItem.fitRatio) { + if(_options.clickToCloseNonZoomable) { + pswp.close(); + } + } else { + pswp.toggleDesktopZoom(e.detail.releasePoint); + } + } + + } else { + + // tap anywhere (except buttons) to toggle visibility of controls + if(_options.tapToToggleControls) { + if(_controlsVisible) { + ui.hideControls(); + } else { + ui.showControls(); + } + } + + // tap to close gallery + if(_options.tapToClose && (framework.hasClass(target, 'pswp__img') || _hasCloseClass(target)) ) { + pswp.close(); + return; + } + + } + }; + ui.onMouseOver = function(e) { + e = e || window.event; + var target = e.target || e.srcElement; + + // add class when mouse is over an element that should close the gallery + _togglePswpClass(_controls, 'ui--over-close', _hasCloseClass(target)); + }; + + ui.hideControls = function() { + framework.addClass(_controls,'pswp__ui--hidden'); + _controlsVisible = false; + }; + + ui.showControls = function() { + _controlsVisible = true; + if(!_overlayUIUpdated) { + ui.update(); + } + framework.removeClass(_controls,'pswp__ui--hidden'); + }; + + ui.supportsFullscreen = function() { + var d = document; + return !!(d.exitFullscreen || d.mozCancelFullScreen || d.webkitExitFullscreen || d.msExitFullscreen); + }; + + ui.getFullscreenAPI = function() { + var dE = document.documentElement, + api, + tF = 'fullscreenchange'; + + if (dE.requestFullscreen) { + api = { + enterK: 'requestFullscreen', + exitK: 'exitFullscreen', + elementK: 'fullscreenElement', + eventK: tF + }; + + } else if(dE.mozRequestFullScreen ) { + api = { + enterK: 'mozRequestFullScreen', + exitK: 'mozCancelFullScreen', + elementK: 'mozFullScreenElement', + eventK: 'moz' + tF + }; + + + + } else if(dE.webkitRequestFullscreen) { + api = { + enterK: 'webkitRequestFullscreen', + exitK: 'webkitExitFullscreen', + elementK: 'webkitFullscreenElement', + eventK: 'webkit' + tF + }; + + } else if(dE.msRequestFullscreen) { + api = { + enterK: 'msRequestFullscreen', + exitK: 'msExitFullscreen', + elementK: 'msFullscreenElement', + eventK: 'MSFullscreenChange' + }; + } + + if(api) { + api.enter = function() { + // disable close-on-scroll in fullscreen + _initalCloseOnScrollValue = _options.closeOnScroll; + _options.closeOnScroll = false; + + if(this.enterK === 'webkitRequestFullscreen') { + pswp.template[this.enterK]( Element.ALLOW_KEYBOARD_INPUT ); + } else { + return pswp.template[this.enterK](); + } + }; + api.exit = function() { + _options.closeOnScroll = _initalCloseOnScrollValue; + + return document[this.exitK](); + + }; + api.isFullscreen = function() { return document[this.elementK]; }; + } + + return api; + }; + + + +}; +return PhotoSwipeUI_Default; + + +}); diff --git a/assets/scripts/photoswipe-ui-default.min.js b/assets/scripts/photoswipe-ui-default.min.js new file mode 100755 index 00000000..79115c5f --- /dev/null +++ b/assets/scripts/photoswipe-ui-default.min.js @@ -0,0 +1,4 @@ +/*! PhotoSwipe Default UI - 4.1.2 - 2017-04-05 +* http://photoswipe.com +* Copyright (c) 2017 Dmitry Semenov; */ +!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b():a.PhotoSwipeUI_Default=b()}(this,function(){"use strict";var a=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=this,w=!1,x=!0,y=!0,z={barsSize:{top:44,bottom:"auto"},closeElClasses:["item","caption","zoom-wrap","ui","top-bar"],timeToIdle:4e3,timeToIdleOutside:1e3,loadingIndicatorDelay:1e3,addCaptionHTMLFn:function(a,b){return a.title?(b.children[0].innerHTML=a.title,!0):(b.children[0].innerHTML="",!1)},closeEl:!0,captionEl:!0,fullscreenEl:!0,zoomEl:!0,shareEl:!0,counterEl:!0,arrowEl:!0,preloaderEl:!0,tapToClose:!1,tapToToggleControls:!0,clickToCloseNonZoomable:!0,shareButtons:[{id:"facebook",label:"Share on Facebook",url:"https://www.facebook.com/sharer/sharer.php?u={{url}}"},{id:"twitter",label:"Tweet",url:"https://twitter.com/intent/tweet?text={{text}}&url={{url}}"},{id:"pinterest",label:"Pin it",url:"http://www.pinterest.com/pin/create/button/?url={{url}}&media={{image_url}}&description={{text}}"},{id:"download",label:"Download image",url:"{{raw_image_url}}",download:!0}],getImageURLForShare:function(){return a.currItem.src||""},getPageURLForShare:function(){return window.location.href},getTextForShare:function(){return a.currItem.title||""},indexIndicatorSep:" / ",fitControlsWidth:1200},A=function(a){if(r)return!0;a=a||window.event,q.timeToIdle&&q.mouseUsed&&!k&&K();for(var c,d,e=a.target||a.srcElement,f=e.getAttribute("class")||"",g=0;g<S.length;g++)c=S[g],c.onTap&&f.indexOf("pswp__"+c.name)>-1&&(c.onTap(),d=!0);if(d){a.stopPropagation&&a.stopPropagation(),r=!0;var h=b.features.isOldAndroid?600:30;s=setTimeout(function(){r=!1},h)}},B=function(){return!a.likelyTouchDevice||q.mouseUsed||screen.width>q.fitControlsWidth},C=function(a,c,d){b[(d?"add":"remove")+"Class"](a,"pswp__"+c)},D=function(){var a=1===q.getNumItemsFn();a!==p&&(C(d,"ui--one-slide",a),p=a)},E=function(){C(i,"share-modal--hidden",y)},F=function(){return y=!y,y?(b.removeClass(i,"pswp__share-modal--fade-in"),setTimeout(function(){y&&E()},300)):(E(),setTimeout(function(){y||b.addClass(i,"pswp__share-modal--fade-in")},30)),y||H(),!1},G=function(b){b=b||window.event;var c=b.target||b.srcElement;return a.shout("shareLinkClick",b,c),!!c.href&&(!!c.hasAttribute("download")||(window.open(c.href,"pswp_share","scrollbars=yes,resizable=yes,toolbar=no,location=yes,width=550,height=420,top=100,left="+(window.screen?Math.round(screen.width/2-275):100)),y||F(),!1))},H=function(){for(var a,b,c,d,e,f="",g=0;g<q.shareButtons.length;g++)a=q.shareButtons[g],c=q.getImageURLForShare(a),d=q.getPageURLForShare(a),e=q.getTextForShare(a),b=a.url.replace("{{url}}",encodeURIComponent(d)).replace("{{image_url}}",encodeURIComponent(c)).replace("{{raw_image_url}}",c).replace("{{text}}",encodeURIComponent(e)),f+='<a href="'+b+'" target="_blank" class="pswp__share--'+a.id+'"'+(a.download?"download":"")+">"+a.label+"</a>",q.parseShareButtonOut&&(f=q.parseShareButtonOut(a,f));i.children[0].innerHTML=f,i.children[0].onclick=G},I=function(a){for(var c=0;c<q.closeElClasses.length;c++)if(b.hasClass(a,"pswp__"+q.closeElClasses[c]))return!0},J=0,K=function(){clearTimeout(u),J=0,k&&v.setIdle(!1)},L=function(a){a=a?a:window.event;var b=a.relatedTarget||a.toElement;b&&"HTML"!==b.nodeName||(clearTimeout(u),u=setTimeout(function(){v.setIdle(!0)},q.timeToIdleOutside))},M=function(){q.fullscreenEl&&!b.features.isOldAndroid&&(c||(c=v.getFullscreenAPI()),c?(b.bind(document,c.eventK,v.updateFullscreen),v.updateFullscreen(),b.addClass(a.template,"pswp--supports-fs")):b.removeClass(a.template,"pswp--supports-fs"))},N=function(){q.preloaderEl&&(O(!0),l("beforeChange",function(){clearTimeout(o),o=setTimeout(function(){a.currItem&&a.currItem.loading?(!a.allowProgressiveImg()||a.currItem.img&&!a.currItem.img.naturalWidth)&&O(!1):O(!0)},q.loadingIndicatorDelay)}),l("imageLoadComplete",function(b,c){a.currItem===c&&O(!0)}))},O=function(a){n!==a&&(C(m,"preloader--active",!a),n=a)},P=function(a){var c=a.vGap;if(B()){var g=q.barsSize;if(q.captionEl&&"auto"===g.bottom)if(f||(f=b.createEl("pswp__caption pswp__caption--fake"),f.appendChild(b.createEl("pswp__caption__center")),d.insertBefore(f,e),b.addClass(d,"pswp__ui--fit")),q.addCaptionHTMLFn(a,f,!0)){var h=f.clientHeight;c.bottom=parseInt(h,10)||44}else c.bottom=g.top;else c.bottom="auto"===g.bottom?0:g.bottom;c.top=g.top}else c.top=c.bottom=0},Q=function(){q.timeToIdle&&l("mouseUsed",function(){b.bind(document,"mousemove",K),b.bind(document,"mouseout",L),t=setInterval(function(){J++,2===J&&v.setIdle(!0)},q.timeToIdle/2)})},R=function(){l("onVerticalDrag",function(a){x&&a<.95?v.hideControls():!x&&a>=.95&&v.showControls()});var a;l("onPinchClose",function(b){x&&b<.9?(v.hideControls(),a=!0):a&&!x&&b>.9&&v.showControls()}),l("zoomGestureEnded",function(){a=!1,a&&!x&&v.showControls()})},S=[{name:"caption",option:"captionEl",onInit:function(a){e=a}},{name:"share-modal",option:"shareEl",onInit:function(a){i=a},onTap:function(){F()}},{name:"button--share",option:"shareEl",onInit:function(a){h=a},onTap:function(){F()}},{name:"button--zoom",option:"zoomEl",onTap:a.toggleDesktopZoom},{name:"counter",option:"counterEl",onInit:function(a){g=a}},{name:"button--close",option:"closeEl",onTap:a.close},{name:"button--arrow--left",option:"arrowEl",onTap:a.prev},{name:"button--arrow--right",option:"arrowEl",onTap:a.next},{name:"button--fs",option:"fullscreenEl",onTap:function(){c.isFullscreen()?c.exit():c.enter()}},{name:"preloader",option:"preloaderEl",onInit:function(a){m=a}}],T=function(){var a,c,e,f=function(d){if(d)for(var f=d.length,g=0;g<f;g++){a=d[g],c=a.className;for(var h=0;h<S.length;h++)e=S[h],c.indexOf("pswp__"+e.name)>-1&&(q[e.option]?(b.removeClass(a,"pswp__element--disabled"),e.onInit&&e.onInit(a)):b.addClass(a,"pswp__element--disabled"))}};f(d.children);var g=b.getChildByClass(d,"pswp__top-bar");g&&f(g.children)};v.init=function(){b.extend(a.options,z,!0),q=a.options,d=b.getChildByClass(a.scrollWrap,"pswp__ui"),l=a.listen,R(),l("beforeChange",v.update),l("doubleTap",function(b){var c=a.currItem.initialZoomLevel;a.getZoomLevel()!==c?a.zoomTo(c,b,333):a.zoomTo(q.getDoubleTapZoom(!1,a.currItem),b,333)}),l("preventDragEvent",function(a,b,c){var d=a.target||a.srcElement;d&&d.getAttribute("class")&&a.type.indexOf("mouse")>-1&&(d.getAttribute("class").indexOf("__caption")>0||/(SMALL|STRONG|EM)/i.test(d.tagName))&&(c.prevent=!1)}),l("bindEvents",function(){b.bind(d,"pswpTap click",A),b.bind(a.scrollWrap,"pswpTap",v.onGlobalTap),a.likelyTouchDevice||b.bind(a.scrollWrap,"mouseover",v.onMouseOver)}),l("unbindEvents",function(){y||F(),t&&clearInterval(t),b.unbind(document,"mouseout",L),b.unbind(document,"mousemove",K),b.unbind(d,"pswpTap click",A),b.unbind(a.scrollWrap,"pswpTap",v.onGlobalTap),b.unbind(a.scrollWrap,"mouseover",v.onMouseOver),c&&(b.unbind(document,c.eventK,v.updateFullscreen),c.isFullscreen()&&(q.hideAnimationDuration=0,c.exit()),c=null)}),l("destroy",function(){q.captionEl&&(f&&d.removeChild(f),b.removeClass(e,"pswp__caption--empty")),i&&(i.children[0].onclick=null),b.removeClass(d,"pswp__ui--over-close"),b.addClass(d,"pswp__ui--hidden"),v.setIdle(!1)}),q.showAnimationDuration||b.removeClass(d,"pswp__ui--hidden"),l("initialZoomIn",function(){q.showAnimationDuration&&b.removeClass(d,"pswp__ui--hidden")}),l("initialZoomOut",function(){b.addClass(d,"pswp__ui--hidden")}),l("parseVerticalMargin",P),T(),q.shareEl&&h&&i&&(y=!0),D(),Q(),M(),N()},v.setIdle=function(a){k=a,C(d,"ui--idle",a)},v.update=function(){x&&a.currItem?(v.updateIndexIndicator(),q.captionEl&&(q.addCaptionHTMLFn(a.currItem,e),C(e,"caption--empty",!a.currItem.title)),w=!0):w=!1,y||F(),D()},v.updateFullscreen=function(d){d&&setTimeout(function(){a.setScrollOffset(0,b.getScrollY())},50),b[(c.isFullscreen()?"add":"remove")+"Class"](a.template,"pswp--fs")},v.updateIndexIndicator=function(){q.counterEl&&(g.innerHTML=a.getCurrentIndex()+1+q.indexIndicatorSep+q.getNumItemsFn())},v.onGlobalTap=function(c){c=c||window.event;var d=c.target||c.srcElement;if(!r)if(c.detail&&"mouse"===c.detail.pointerType){if(I(d))return void a.close();b.hasClass(d,"pswp__img")&&(1===a.getZoomLevel()&&a.getZoomLevel()<=a.currItem.fitRatio?q.clickToCloseNonZoomable&&a.close():a.toggleDesktopZoom(c.detail.releasePoint))}else if(q.tapToToggleControls&&(x?v.hideControls():v.showControls()),q.tapToClose&&(b.hasClass(d,"pswp__img")||I(d)))return void a.close()},v.onMouseOver=function(a){a=a||window.event;var b=a.target||a.srcElement;C(d,"ui--over-close",I(b))},v.hideControls=function(){b.addClass(d,"pswp__ui--hidden"),x=!1},v.showControls=function(){x=!0,w||v.update(),b.removeClass(d,"pswp__ui--hidden")},v.supportsFullscreen=function(){var a=document;return!!(a.exitFullscreen||a.mozCancelFullScreen||a.webkitExitFullscreen||a.msExitFullscreen)},v.getFullscreenAPI=function(){var b,c=document.documentElement,d="fullscreenchange";return c.requestFullscreen?b={enterK:"requestFullscreen",exitK:"exitFullscreen",elementK:"fullscreenElement",eventK:d}:c.mozRequestFullScreen?b={enterK:"mozRequestFullScreen",exitK:"mozCancelFullScreen",elementK:"mozFullScreenElement",eventK:"moz"+d}:c.webkitRequestFullscreen?b={enterK:"webkitRequestFullscreen",exitK:"webkitExitFullscreen",elementK:"webkitFullscreenElement",eventK:"webkit"+d}:c.msRequestFullscreen&&(b={enterK:"msRequestFullscreen",exitK:"msExitFullscreen",elementK:"msFullscreenElement",eventK:"MSFullscreenChange"}),b&&(b.enter=function(){return j=q.closeOnScroll,q.closeOnScroll=!1,"webkitRequestFullscreen"!==this.enterK?a.template[this.enterK]():void a.template[this.enterK](Element.ALLOW_KEYBOARD_INPUT)},b.exit=function(){return q.closeOnScroll=j,document[this.exitK]()},b.isFullscreen=function(){return document[this.elementK]}),b}};return a}); \ No newline at end of file diff --git a/assets/scripts/photoswipe.css b/assets/scripts/photoswipe.css new file mode 100755 index 00000000..0ca0f802 --- /dev/null +++ b/assets/scripts/photoswipe.css @@ -0,0 +1,179 @@ +/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */ +/* + Styles for basic PhotoSwipe functionality (sliding area, open/close transitions) +*/ +/* pswp = photoswipe */ +.pswp { + display: none; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + overflow: hidden; + -ms-touch-action: none; + touch-action: none; + z-index: 1500; + -webkit-text-size-adjust: 100%; + /* create separate layer, to avoid paint on window.onscroll in webkit/blink */ + -webkit-backface-visibility: hidden; + outline: none; } + .pswp * { + -webkit-box-sizing: border-box; + box-sizing: border-box; } + .pswp img { + max-width: none; } + +/* style is added when JS option showHideOpacity is set to true */ +.pswp--animate_opacity { + /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */ + opacity: 0.001; + will-change: opacity; + /* for open/close transition */ + -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); + transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); } + +.pswp--open { + display: block; } + +.pswp--zoom-allowed .pswp__img { + /* autoprefixer: off */ + cursor: -webkit-zoom-in; + cursor: -moz-zoom-in; + cursor: zoom-in; } + +.pswp--zoomed-in .pswp__img { + /* autoprefixer: off */ + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: grab; } + +.pswp--dragging .pswp__img { + /* autoprefixer: off */ + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: grabbing; } + +/* + Background is added as a separate element. + As animating opacity is much faster than animating rgba() background-color. +*/ +.pswp__bg { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #000; + opacity: 0; + -webkit-transform: translateZ(0); + transform: translateZ(0); + -webkit-backface-visibility: hidden; + will-change: opacity; } + +.pswp__scroll-wrap { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: hidden; } + +.pswp__container, +.pswp__zoom-wrap { + -ms-touch-action: none; + touch-action: none; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; } + +/* Prevent selection and tap highlights */ +.pswp__container, +.pswp__img { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-tap-highlight-color: transparent; + -webkit-touch-callout: none; } + +.pswp__zoom-wrap { + position: absolute; + width: 100%; + -webkit-transform-origin: left top; + -ms-transform-origin: left top; + transform-origin: left top; + /* for open/close transition */ + -webkit-transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1); + transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1); } + +.pswp__bg { + will-change: opacity; + /* for open/close transition */ + -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); + transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); } + +.pswp--animated-in .pswp__bg, +.pswp--animated-in .pswp__zoom-wrap { + -webkit-transition: none; + transition: none; } + +.pswp__container, +.pswp__zoom-wrap { + -webkit-backface-visibility: hidden; } + +.pswp__item { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + overflow: hidden; } + +.pswp__img { + position: absolute; + width: auto; + height: auto; + top: 0; + left: 0; } + +/* + stretched thumbnail or div placeholder element (see below) + style is added to avoid flickering in webkit/blink when layers overlap +*/ +.pswp__img--placeholder { + -webkit-backface-visibility: hidden; } + +/* + div element that matches size of large image + large image loads on top of it +*/ +.pswp__img--placeholder--blank { + background: #222; } + +.pswp--ie .pswp__img { + width: 100% !important; + height: auto !important; + left: 0; + top: 0; } + +/* + Error message appears when image is not loaded + (JS option errorMsg controls markup) +*/ +.pswp__error-msg { + position: absolute; + left: 0; + top: 50%; + width: 100%; + text-align: center; + font-size: 14px; + line-height: 16px; + margin-top: -8px; + color: #CCC; } + +.pswp__error-msg a { + color: #CCC; + text-decoration: underline; } diff --git a/assets/scripts/photoswipe.js b/assets/scripts/photoswipe.js new file mode 100755 index 00000000..837859f8 --- /dev/null +++ b/assets/scripts/photoswipe.js @@ -0,0 +1,3734 @@ +/*! PhotoSwipe - v4.1.2 - 2017-04-05 +* http://photoswipe.com +* Copyright (c) 2017 Dmitry Semenov; */ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + define(factory); + } else if (typeof exports === 'object') { + module.exports = factory(); + } else { + root.PhotoSwipe = factory(); + } +})(this, function () { + + 'use strict'; + var PhotoSwipe = function(template, UiClass, items, options){ + +/*>>framework-bridge*/ +/** + * + * Set of generic functions used by gallery. + * + * You're free to modify anything here as long as functionality is kept. + * + */ +var framework = { + features: null, + bind: function(target, type, listener, unbind) { + var methodName = (unbind ? 'remove' : 'add') + 'EventListener'; + type = type.split(' '); + for(var i = 0; i < type.length; i++) { + if(type[i]) { + target[methodName]( type[i], listener, false); + } + } + }, + isArray: function(obj) { + return (obj instanceof Array); + }, + createEl: function(classes, tag) { + var el = document.createElement(tag || 'div'); + if(classes) { + el.className = classes; + } + return el; + }, + getScrollY: function() { + var yOffset = window.pageYOffset; + return yOffset !== undefined ? yOffset : document.documentElement.scrollTop; + }, + unbind: function(target, type, listener) { + framework.bind(target,type,listener,true); + }, + removeClass: function(el, className) { + var reg = new RegExp('(\\s|^)' + className + '(\\s|$)'); + el.className = el.className.replace(reg, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, ''); + }, + addClass: function(el, className) { + if( !framework.hasClass(el,className) ) { + el.className += (el.className ? ' ' : '') + className; + } + }, + hasClass: function(el, className) { + return el.className && new RegExp('(^|\\s)' + className + '(\\s|$)').test(el.className); + }, + getChildByClass: function(parentEl, childClassName) { + var node = parentEl.firstChild; + while(node) { + if( framework.hasClass(node, childClassName) ) { + return node; + } + node = node.nextSibling; + } + }, + arraySearch: function(array, value, key) { + var i = array.length; + while(i--) { + if(array[i][key] === value) { + return i; + } + } + return -1; + }, + extend: function(o1, o2, preventOverwrite) { + for (var prop in o2) { + if (o2.hasOwnProperty(prop)) { + if(preventOverwrite && o1.hasOwnProperty(prop)) { + continue; + } + o1[prop] = o2[prop]; + } + } + }, + easing: { + sine: { + out: function(k) { + return Math.sin(k * (Math.PI / 2)); + }, + inOut: function(k) { + return - (Math.cos(Math.PI * k) - 1) / 2; + } + }, + cubic: { + out: function(k) { + return --k * k * k + 1; + } + } + /* + elastic: { + out: function ( k ) { + + var s, a = 0.1, p = 0.4; + if ( k === 0 ) return 0; + if ( k === 1 ) return 1; + if ( !a || a < 1 ) { a = 1; s = p / 4; } + else s = p * Math.asin( 1 / a ) / ( 2 * Math.PI ); + return ( a * Math.pow( 2, - 10 * k) * Math.sin( ( k - s ) * ( 2 * Math.PI ) / p ) + 1 ); + + }, + }, + back: { + out: function ( k ) { + var s = 1.70158; + return --k * k * ( ( s + 1 ) * k + s ) + 1; + } + } + */ + }, + + /** + * + * @return {object} + * + * { + * raf : request animation frame function + * caf : cancel animation frame function + * transfrom : transform property key (with vendor), or null if not supported + * oldIE : IE8 or below + * } + * + */ + detectFeatures: function() { + if(framework.features) { + return framework.features; + } + var helperEl = framework.createEl(), + helperStyle = helperEl.style, + vendor = '', + features = {}; + + // IE8 and below + features.oldIE = document.all && !document.addEventListener; + + features.touch = 'ontouchstart' in window; + + if(window.requestAnimationFrame) { + features.raf = window.requestAnimationFrame; + features.caf = window.cancelAnimationFrame; + } + + features.pointerEvent = navigator.pointerEnabled || navigator.msPointerEnabled; + + // fix false-positive detection of old Android in new IE + // (IE11 ua string contains "Android 4.0") + + if(!features.pointerEvent) { + + var ua = navigator.userAgent; + + // Detect if device is iPhone or iPod and if it's older than iOS 8 + // http://stackoverflow.com/a/14223920 + // + // This detection is made because of buggy top/bottom toolbars + // that don't trigger window.resize event. + // For more info refer to _isFixedPosition variable in core.js + + if (/iP(hone|od)/.test(navigator.platform)) { + var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/); + if(v && v.length > 0) { + v = parseInt(v[1], 10); + if(v >= 1 && v < 8 ) { + features.isOldIOSPhone = true; + } + } + } + + // Detect old Android (before KitKat) + // due to bugs related to position:fixed + // http://stackoverflow.com/questions/7184573/pick-up-the-android-version-in-the-browser-by-javascript + + var match = ua.match(/Android\s([0-9\.]*)/); + var androidversion = match ? match[1] : 0; + androidversion = parseFloat(androidversion); + if(androidversion >= 1 ) { + if(androidversion < 4.4) { + features.isOldAndroid = true; // for fixed position bug & performance + } + features.androidVersion = androidversion; // for touchend bug + } + features.isMobileOpera = /opera mini|opera mobi/i.test(ua); + + // p.s. yes, yes, UA sniffing is bad, propose your solution for above bugs. + } + + var styleChecks = ['transform', 'perspective', 'animationName'], + vendors = ['', 'webkit','Moz','ms','O'], + styleCheckItem, + styleName; + + for(var i = 0; i < 4; i++) { + vendor = vendors[i]; + + for(var a = 0; a < 3; a++) { + styleCheckItem = styleChecks[a]; + + // uppercase first letter of property name, if vendor is present + styleName = vendor + (vendor ? + styleCheckItem.charAt(0).toUpperCase() + styleCheckItem.slice(1) : + styleCheckItem); + + if(!features[styleCheckItem] && styleName in helperStyle ) { + features[styleCheckItem] = styleName; + } + } + + if(vendor && !features.raf) { + vendor = vendor.toLowerCase(); + features.raf = window[vendor+'RequestAnimationFrame']; + if(features.raf) { + features.caf = window[vendor+'CancelAnimationFrame'] || + window[vendor+'CancelRequestAnimationFrame']; + } + } + } + + if(!features.raf) { + var lastTime = 0; + features.raf = function(fn) { + var currTime = new Date().getTime(); + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); + var id = window.setTimeout(function() { fn(currTime + timeToCall); }, timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + features.caf = function(id) { clearTimeout(id); }; + } + + // Detect SVG support + features.svg = !!document.createElementNS && + !!document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect; + + framework.features = features; + + return features; + } +}; + +framework.detectFeatures(); + +// Override addEventListener for old versions of IE +if(framework.features.oldIE) { + + framework.bind = function(target, type, listener, unbind) { + + type = type.split(' '); + + var methodName = (unbind ? 'detach' : 'attach') + 'Event', + evName, + _handleEv = function() { + listener.handleEvent.call(listener); + }; + + for(var i = 0; i < type.length; i++) { + evName = type[i]; + if(evName) { + + if(typeof listener === 'object' && listener.handleEvent) { + if(!unbind) { + listener['oldIE' + evName] = _handleEv; + } else { + if(!listener['oldIE' + evName]) { + return false; + } + } + + target[methodName]( 'on' + evName, listener['oldIE' + evName]); + } else { + target[methodName]( 'on' + evName, listener); + } + + } + } + }; + +} + +/*>>framework-bridge*/ + +/*>>core*/ +//function(template, UiClass, items, options) + +var self = this; + +/** + * Static vars, don't change unless you know what you're doing. + */ +var DOUBLE_TAP_RADIUS = 25, + NUM_HOLDERS = 3; + +/** + * Options + */ +var _options = { + allowPanToNext:true, + spacing: 0.12, + bgOpacity: 1, + mouseUsed: false, + loop: true, + pinchToClose: true, + closeOnScroll: true, + closeOnVerticalDrag: true, + verticalDragRange: 0.75, + hideAnimationDuration: 333, + showAnimationDuration: 333, + showHideOpacity: false, + focus: true, + escKey: true, + arrowKeys: true, + mainScrollEndFriction: 0.35, + panEndFriction: 0.35, + isClickableElement: function(el) { + return el.tagName === 'A'; + }, + getDoubleTapZoom: function(isMouseClick, item) { + if(isMouseClick) { + return 1; + } else { + return item.initialZoomLevel < 0.7 ? 1 : 1.33; + } + }, + maxSpreadZoom: 1.33, + modal: true, + + // not fully implemented yet + scaleMode: 'fit' // TODO +}; +framework.extend(_options, options); + + +/** + * Private helper variables & functions + */ + +var _getEmptyPoint = function() { + return {x:0,y:0}; + }; + +var _isOpen, + _isDestroying, + _closedByScroll, + _currentItemIndex, + _containerStyle, + _containerShiftIndex, + _currPanDist = _getEmptyPoint(), + _startPanOffset = _getEmptyPoint(), + _panOffset = _getEmptyPoint(), + _upMoveEvents, // drag move, drag end & drag cancel events array + _downEvents, // drag start events array + _globalEventHandlers, + _viewportSize = {}, + _currZoomLevel, + _startZoomLevel, + _translatePrefix, + _translateSufix, + _updateSizeInterval, + _itemsNeedUpdate, + _currPositionIndex = 0, + _offset = {}, + _slideSize = _getEmptyPoint(), // size of slide area, including spacing + _itemHolders, + _prevItemIndex, + _indexDiff = 0, // difference of indexes since last content update + _dragStartEvent, + _dragMoveEvent, + _dragEndEvent, + _dragCancelEvent, + _transformKey, + _pointerEventEnabled, + _isFixedPosition = true, + _likelyTouchDevice, + _modules = [], + _requestAF, + _cancelAF, + _initalClassName, + _initalWindowScrollY, + _oldIE, + _currentWindowScrollY, + _features, + _windowVisibleSize = {}, + _renderMaxResolution = false, + _orientationChangeTimeout, + + + // Registers PhotoSWipe module (History, Controller ...) + _registerModule = function(name, module) { + framework.extend(self, module.publicMethods); + _modules.push(name); + }, + + _getLoopedId = function(index) { + var numSlides = _getNumItems(); + if(index > numSlides - 1) { + return index - numSlides; + } else if(index < 0) { + return numSlides + index; + } + return index; + }, + + // Micro bind/trigger + _listeners = {}, + _listen = function(name, fn) { + if(!_listeners[name]) { + _listeners[name] = []; + } + return _listeners[name].push(fn); + }, + _shout = function(name) { + var listeners = _listeners[name]; + + if(listeners) { + var args = Array.prototype.slice.call(arguments); + args.shift(); + + for(var i = 0; i < listeners.length; i++) { + listeners[i].apply(self, args); + } + } + }, + + _getCurrentTime = function() { + return new Date().getTime(); + }, + _applyBgOpacity = function(opacity) { + _bgOpacity = opacity; + self.bg.style.opacity = opacity * _options.bgOpacity; + }, + + _applyZoomTransform = function(styleObj,x,y,zoom,item) { + if(!_renderMaxResolution || (item && item !== self.currItem) ) { + zoom = zoom / (item ? item.fitRatio : self.currItem.fitRatio); + } + + styleObj[_transformKey] = _translatePrefix + x + 'px, ' + y + 'px' + _translateSufix + ' scale(' + zoom + ')'; + }, + _applyCurrentZoomPan = function( allowRenderResolution ) { + if(_currZoomElementStyle) { + + if(allowRenderResolution) { + if(_currZoomLevel > self.currItem.fitRatio) { + if(!_renderMaxResolution) { + _setImageSize(self.currItem, false, true); + _renderMaxResolution = true; + } + } else { + if(_renderMaxResolution) { + _setImageSize(self.currItem); + _renderMaxResolution = false; + } + } + } + + + _applyZoomTransform(_currZoomElementStyle, _panOffset.x, _panOffset.y, _currZoomLevel); + } + }, + _applyZoomPanToItem = function(item) { + if(item.container) { + + _applyZoomTransform(item.container.style, + item.initialPosition.x, + item.initialPosition.y, + item.initialZoomLevel, + item); + } + }, + _setTranslateX = function(x, elStyle) { + elStyle[_transformKey] = _translatePrefix + x + 'px, 0px' + _translateSufix; + }, + _moveMainScroll = function(x, dragging) { + + if(!_options.loop && dragging) { + var newSlideIndexOffset = _currentItemIndex + (_slideSize.x * _currPositionIndex - x) / _slideSize.x, + delta = Math.round(x - _mainScrollPos.x); + + if( (newSlideIndexOffset < 0 && delta > 0) || + (newSlideIndexOffset >= _getNumItems() - 1 && delta < 0) ) { + x = _mainScrollPos.x + delta * _options.mainScrollEndFriction; + } + } + + _mainScrollPos.x = x; + _setTranslateX(x, _containerStyle); + }, + _calculatePanOffset = function(axis, zoomLevel) { + var m = _midZoomPoint[axis] - _offset[axis]; + return _startPanOffset[axis] + _currPanDist[axis] + m - m * ( zoomLevel / _startZoomLevel ); + }, + + _equalizePoints = function(p1, p2) { + p1.x = p2.x; + p1.y = p2.y; + if(p2.id) { + p1.id = p2.id; + } + }, + _roundPoint = function(p) { + p.x = Math.round(p.x); + p.y = Math.round(p.y); + }, + + _mouseMoveTimeout = null, + _onFirstMouseMove = function() { + // Wait until mouse move event is fired at least twice during 100ms + // We do this, because some mobile browsers trigger it on touchstart + if(_mouseMoveTimeout ) { + framework.unbind(document, 'mousemove', _onFirstMouseMove); + framework.addClass(template, 'pswp--has_mouse'); + _options.mouseUsed = true; + _shout('mouseUsed'); + } + _mouseMoveTimeout = setTimeout(function() { + _mouseMoveTimeout = null; + }, 100); + }, + + _bindEvents = function() { + framework.bind(document, 'keydown', self); + + if(_features.transform) { + // don't bind click event in browsers that don't support transform (mostly IE8) + framework.bind(self.scrollWrap, 'click', self); + } + + + if(!_options.mouseUsed) { + framework.bind(document, 'mousemove', _onFirstMouseMove); + } + + framework.bind(window, 'resize scroll orientationchange', self); + + _shout('bindEvents'); + }, + + _unbindEvents = function() { + framework.unbind(window, 'resize scroll orientationchange', self); + framework.unbind(window, 'scroll', _globalEventHandlers.scroll); + framework.unbind(document, 'keydown', self); + framework.unbind(document, 'mousemove', _onFirstMouseMove); + + if(_features.transform) { + framework.unbind(self.scrollWrap, 'click', self); + } + + if(_isDragging) { + framework.unbind(window, _upMoveEvents, self); + } + + clearTimeout(_orientationChangeTimeout); + + _shout('unbindEvents'); + }, + + _calculatePanBounds = function(zoomLevel, update) { + var bounds = _calculateItemSize( self.currItem, _viewportSize, zoomLevel ); + if(update) { + _currPanBounds = bounds; + } + return bounds; + }, + + _getMinZoomLevel = function(item) { + if(!item) { + item = self.currItem; + } + return item.initialZoomLevel; + }, + _getMaxZoomLevel = function(item) { + if(!item) { + item = self.currItem; + } + return item.w > 0 ? _options.maxSpreadZoom : 1; + }, + + // Return true if offset is out of the bounds + _modifyDestPanOffset = function(axis, destPanBounds, destPanOffset, destZoomLevel) { + if(destZoomLevel === self.currItem.initialZoomLevel) { + destPanOffset[axis] = self.currItem.initialPosition[axis]; + return true; + } else { + destPanOffset[axis] = _calculatePanOffset(axis, destZoomLevel); + + if(destPanOffset[axis] > destPanBounds.min[axis]) { + destPanOffset[axis] = destPanBounds.min[axis]; + return true; + } else if(destPanOffset[axis] < destPanBounds.max[axis] ) { + destPanOffset[axis] = destPanBounds.max[axis]; + return true; + } + } + return false; + }, + + _setupTransforms = function() { + + if(_transformKey) { + // setup 3d transforms + var allow3dTransform = _features.perspective && !_likelyTouchDevice; + _translatePrefix = 'translate' + (allow3dTransform ? '3d(' : '('); + _translateSufix = _features.perspective ? ', 0px)' : ')'; + return; + } + + // Override zoom/pan/move functions in case old browser is used (most likely IE) + // (so they use left/top/width/height, instead of CSS transform) + + _transformKey = 'left'; + framework.addClass(template, 'pswp--ie'); + + _setTranslateX = function(x, elStyle) { + elStyle.left = x + 'px'; + }; + _applyZoomPanToItem = function(item) { + + var zoomRatio = item.fitRatio > 1 ? 1 : item.fitRatio, + s = item.container.style, + w = zoomRatio * item.w, + h = zoomRatio * item.h; + + s.width = w + 'px'; + s.height = h + 'px'; + s.left = item.initialPosition.x + 'px'; + s.top = item.initialPosition.y + 'px'; + + }; + _applyCurrentZoomPan = function() { + if(_currZoomElementStyle) { + + var s = _currZoomElementStyle, + item = self.currItem, + zoomRatio = item.fitRatio > 1 ? 1 : item.fitRatio, + w = zoomRatio * item.w, + h = zoomRatio * item.h; + + s.width = w + 'px'; + s.height = h + 'px'; + + + s.left = _panOffset.x + 'px'; + s.top = _panOffset.y + 'px'; + } + + }; + }, + + _onKeyDown = function(e) { + var keydownAction = ''; + if(_options.escKey && e.keyCode === 27) { + keydownAction = 'close'; + } else if(_options.arrowKeys) { + if(e.keyCode === 37) { + keydownAction = 'prev'; + } else if(e.keyCode === 39) { + keydownAction = 'next'; + } + } + + if(keydownAction) { + // don't do anything if special key pressed to prevent from overriding default browser actions + // e.g. in Chrome on Mac cmd+arrow-left returns to previous page + if( !e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey ) { + if(e.preventDefault) { + e.preventDefault(); + } else { + e.returnValue = false; + } + self[keydownAction](); + } + } + }, + + _onGlobalClick = function(e) { + if(!e) { + return; + } + + // don't allow click event to pass through when triggering after drag or some other gesture + if(_moved || _zoomStarted || _mainScrollAnimating || _verticalDragInitiated) { + e.preventDefault(); + e.stopPropagation(); + } + }, + + _updatePageScrollOffset = function() { + self.setScrollOffset(0, framework.getScrollY()); + }; + + + + + + + +// Micro animation engine +var _animations = {}, + _numAnimations = 0, + _stopAnimation = function(name) { + if(_animations[name]) { + if(_animations[name].raf) { + _cancelAF( _animations[name].raf ); + } + _numAnimations--; + delete _animations[name]; + } + }, + _registerStartAnimation = function(name) { + if(_animations[name]) { + _stopAnimation(name); + } + if(!_animations[name]) { + _numAnimations++; + _animations[name] = {}; + } + }, + _stopAllAnimations = function() { + for (var prop in _animations) { + + if( _animations.hasOwnProperty( prop ) ) { + _stopAnimation(prop); + } + + } + }, + _animateProp = function(name, b, endProp, d, easingFn, onUpdate, onComplete) { + var startAnimTime = _getCurrentTime(), t; + _registerStartAnimation(name); + + var animloop = function(){ + if ( _animations[name] ) { + + t = _getCurrentTime() - startAnimTime; // time diff + //b - beginning (start prop) + //d - anim duration + + if ( t >= d ) { + _stopAnimation(name); + onUpdate(endProp); + if(onComplete) { + onComplete(); + } + return; + } + onUpdate( (endProp - b) * easingFn(t/d) + b ); + + _animations[name].raf = _requestAF(animloop); + } + }; + animloop(); + }; + + + +var publicMethods = { + + // make a few local variables and functions public + shout: _shout, + listen: _listen, + viewportSize: _viewportSize, + options: _options, + + isMainScrollAnimating: function() { + return _mainScrollAnimating; + }, + getZoomLevel: function() { + return _currZoomLevel; + }, + getCurrentIndex: function() { + return _currentItemIndex; + }, + isDragging: function() { + return _isDragging; + }, + isZooming: function() { + return _isZooming; + }, + setScrollOffset: function(x,y) { + _offset.x = x; + _currentWindowScrollY = _offset.y = y; + _shout('updateScrollOffset', _offset); + }, + applyZoomPan: function(zoomLevel,panX,panY,allowRenderResolution) { + _panOffset.x = panX; + _panOffset.y = panY; + _currZoomLevel = zoomLevel; + _applyCurrentZoomPan( allowRenderResolution ); + }, + + init: function() { + + if(_isOpen || _isDestroying) { + return; + } + + var i; + + self.framework = framework; // basic functionality + self.template = template; // root DOM element of PhotoSwipe + self.bg = framework.getChildByClass(template, 'pswp__bg'); + + _initalClassName = template.className; + _isOpen = true; + + _features = framework.detectFeatures(); + _requestAF = _features.raf; + _cancelAF = _features.caf; + _transformKey = _features.transform; + _oldIE = _features.oldIE; + + self.scrollWrap = framework.getChildByClass(template, 'pswp__scroll-wrap'); + self.container = framework.getChildByClass(self.scrollWrap, 'pswp__container'); + + _containerStyle = self.container.style; // for fast access + + // Objects that hold slides (there are only 3 in DOM) + self.itemHolders = _itemHolders = [ + {el:self.container.children[0] , wrap:0, index: -1}, + {el:self.container.children[1] , wrap:0, index: -1}, + {el:self.container.children[2] , wrap:0, index: -1} + ]; + + // hide nearby item holders until initial zoom animation finishes (to avoid extra Paints) + _itemHolders[0].el.style.display = _itemHolders[2].el.style.display = 'none'; + + _setupTransforms(); + + // Setup global events + _globalEventHandlers = { + resize: self.updateSize, + + // Fixes: iOS 10.3 resize event + // does not update scrollWrap.clientWidth instantly after resize + // https://github.com/dimsemenov/PhotoSwipe/issues/1315 + orientationchange: function() { + clearTimeout(_orientationChangeTimeout); + _orientationChangeTimeout = setTimeout(function() { + if(_viewportSize.x !== self.scrollWrap.clientWidth) { + self.updateSize(); + } + }, 500); + }, + scroll: _updatePageScrollOffset, + keydown: _onKeyDown, + click: _onGlobalClick + }; + + // disable show/hide effects on old browsers that don't support CSS animations or transforms, + // old IOS, Android and Opera mobile. Blackberry seems to work fine, even older models. + var oldPhone = _features.isOldIOSPhone || _features.isOldAndroid || _features.isMobileOpera; + if(!_features.animationName || !_features.transform || oldPhone) { + _options.showAnimationDuration = _options.hideAnimationDuration = 0; + } + + // init modules + for(i = 0; i < _modules.length; i++) { + self['init' + _modules[i]](); + } + + // init + if(UiClass) { + var ui = self.ui = new UiClass(self, framework); + ui.init(); + } + + _shout('firstUpdate'); + _currentItemIndex = _currentItemIndex || _options.index || 0; + // validate index + if( isNaN(_currentItemIndex) || _currentItemIndex < 0 || _currentItemIndex >= _getNumItems() ) { + _currentItemIndex = 0; + } + self.currItem = _getItemAt( _currentItemIndex ); + + + if(_features.isOldIOSPhone || _features.isOldAndroid) { + _isFixedPosition = false; + } + + template.setAttribute('aria-hidden', 'false'); + if(_options.modal) { + if(!_isFixedPosition) { + template.style.position = 'absolute'; + template.style.top = framework.getScrollY() + 'px'; + } else { + template.style.position = 'fixed'; + } + } + + if(_currentWindowScrollY === undefined) { + _shout('initialLayout'); + _currentWindowScrollY = _initalWindowScrollY = framework.getScrollY(); + } + + // add classes to root element of PhotoSwipe + var rootClasses = 'pswp--open '; + if(_options.mainClass) { + rootClasses += _options.mainClass + ' '; + } + if(_options.showHideOpacity) { + rootClasses += 'pswp--animate_opacity '; + } + rootClasses += _likelyTouchDevice ? 'pswp--touch' : 'pswp--notouch'; + rootClasses += _features.animationName ? ' pswp--css_animation' : ''; + rootClasses += _features.svg ? ' pswp--svg' : ''; + framework.addClass(template, rootClasses); + + self.updateSize(); + + // initial update + _containerShiftIndex = -1; + _indexDiff = null; + for(i = 0; i < NUM_HOLDERS; i++) { + _setTranslateX( (i+_containerShiftIndex) * _slideSize.x, _itemHolders[i].el.style); + } + + if(!_oldIE) { + framework.bind(self.scrollWrap, _downEvents, self); // no dragging for old IE + } + + _listen('initialZoomInEnd', function() { + self.setContent(_itemHolders[0], _currentItemIndex-1); + self.setContent(_itemHolders[2], _currentItemIndex+1); + + _itemHolders[0].el.style.display = _itemHolders[2].el.style.display = 'block'; + + if(_options.focus) { + // focus causes layout, + // which causes lag during the animation, + // that's why we delay it untill the initial zoom transition ends + template.focus(); + } + + + _bindEvents(); + }); + + // set content for center slide (first time) + self.setContent(_itemHolders[1], _currentItemIndex); + + self.updateCurrItem(); + + _shout('afterInit'); + + if(!_isFixedPosition) { + + // On all versions of iOS lower than 8.0, we check size of viewport every second. + // + // This is done to detect when Safari top & bottom bars appear, + // as this action doesn't trigger any events (like resize). + // + // On iOS8 they fixed this. + // + // 10 Nov 2014: iOS 7 usage ~40%. iOS 8 usage 56%. + + _updateSizeInterval = setInterval(function() { + if(!_numAnimations && !_isDragging && !_isZooming && (_currZoomLevel === self.currItem.initialZoomLevel) ) { + self.updateSize(); + } + }, 1000); + } + + framework.addClass(template, 'pswp--visible'); + }, + + // Close the gallery, then destroy it + close: function() { + if(!_isOpen) { + return; + } + + _isOpen = false; + _isDestroying = true; + _shout('close'); + _unbindEvents(); + + _showOrHide(self.currItem, null, true, self.destroy); + }, + + // destroys the gallery (unbinds events, cleans up intervals and timeouts to avoid memory leaks) + destroy: function() { + _shout('destroy'); + + if(_showOrHideTimeout) { + clearTimeout(_showOrHideTimeout); + } + + template.setAttribute('aria-hidden', 'true'); + template.className = _initalClassName; + + if(_updateSizeInterval) { + clearInterval(_updateSizeInterval); + } + + framework.unbind(self.scrollWrap, _downEvents, self); + + // we unbind scroll event at the end, as closing animation may depend on it + framework.unbind(window, 'scroll', self); + + _stopDragUpdateLoop(); + + _stopAllAnimations(); + + _listeners = null; + }, + + /** + * Pan image to position + * @param {Number} x + * @param {Number} y + * @param {Boolean} force Will ignore bounds if set to true. + */ + panTo: function(x,y,force) { + if(!force) { + if(x > _currPanBounds.min.x) { + x = _currPanBounds.min.x; + } else if(x < _currPanBounds.max.x) { + x = _currPanBounds.max.x; + } + + if(y > _currPanBounds.min.y) { + y = _currPanBounds.min.y; + } else if(y < _currPanBounds.max.y) { + y = _currPanBounds.max.y; + } + } + + _panOffset.x = x; + _panOffset.y = y; + _applyCurrentZoomPan(); + }, + + handleEvent: function (e) { + e = e || window.event; + if(_globalEventHandlers[e.type]) { + _globalEventHandlers[e.type](e); + } + }, + + + goTo: function(index) { + + index = _getLoopedId(index); + + var diff = index - _currentItemIndex; + _indexDiff = diff; + + _currentItemIndex = index; + self.currItem = _getItemAt( _currentItemIndex ); + _currPositionIndex -= diff; + + _moveMainScroll(_slideSize.x * _currPositionIndex); + + + _stopAllAnimations(); + _mainScrollAnimating = false; + + self.updateCurrItem(); + }, + next: function() { + self.goTo( _currentItemIndex + 1); + }, + prev: function() { + self.goTo( _currentItemIndex - 1); + }, + + // update current zoom/pan objects + updateCurrZoomItem: function(emulateSetContent) { + if(emulateSetContent) { + _shout('beforeChange', 0); + } + + // itemHolder[1] is middle (current) item + if(_itemHolders[1].el.children.length) { + var zoomElement = _itemHolders[1].el.children[0]; + if( framework.hasClass(zoomElement, 'pswp__zoom-wrap') ) { + _currZoomElementStyle = zoomElement.style; + } else { + _currZoomElementStyle = null; + } + } else { + _currZoomElementStyle = null; + } + + _currPanBounds = self.currItem.bounds; + _startZoomLevel = _currZoomLevel = self.currItem.initialZoomLevel; + + _panOffset.x = _currPanBounds.center.x; + _panOffset.y = _currPanBounds.center.y; + + if(emulateSetContent) { + _shout('afterChange'); + } + }, + + + invalidateCurrItems: function() { + _itemsNeedUpdate = true; + for(var i = 0; i < NUM_HOLDERS; i++) { + if( _itemHolders[i].item ) { + _itemHolders[i].item.needsUpdate = true; + } + } + }, + + updateCurrItem: function(beforeAnimation) { + + if(_indexDiff === 0) { + return; + } + + var diffAbs = Math.abs(_indexDiff), + tempHolder; + + if(beforeAnimation && diffAbs < 2) { + return; + } + + + self.currItem = _getItemAt( _currentItemIndex ); + _renderMaxResolution = false; + + _shout('beforeChange', _indexDiff); + + if(diffAbs >= NUM_HOLDERS) { + _containerShiftIndex += _indexDiff + (_indexDiff > 0 ? -NUM_HOLDERS : NUM_HOLDERS); + diffAbs = NUM_HOLDERS; + } + for(var i = 0; i < diffAbs; i++) { + if(_indexDiff > 0) { + tempHolder = _itemHolders.shift(); + _itemHolders[NUM_HOLDERS-1] = tempHolder; // move first to last + + _containerShiftIndex++; + _setTranslateX( (_containerShiftIndex+2) * _slideSize.x, tempHolder.el.style); + self.setContent(tempHolder, _currentItemIndex - diffAbs + i + 1 + 1); + } else { + tempHolder = _itemHolders.pop(); + _itemHolders.unshift( tempHolder ); // move last to first + + _containerShiftIndex--; + _setTranslateX( _containerShiftIndex * _slideSize.x, tempHolder.el.style); + self.setContent(tempHolder, _currentItemIndex + diffAbs - i - 1 - 1); + } + + } + + // reset zoom/pan on previous item + if(_currZoomElementStyle && Math.abs(_indexDiff) === 1) { + + var prevItem = _getItemAt(_prevItemIndex); + if(prevItem.initialZoomLevel !== _currZoomLevel) { + _calculateItemSize(prevItem , _viewportSize ); + _setImageSize(prevItem); + _applyZoomPanToItem( prevItem ); + } + + } + + // reset diff after update + _indexDiff = 0; + + self.updateCurrZoomItem(); + + _prevItemIndex = _currentItemIndex; + + _shout('afterChange'); + + }, + + + + updateSize: function(force) { + + if(!_isFixedPosition && _options.modal) { + var windowScrollY = framework.getScrollY(); + if(_currentWindowScrollY !== windowScrollY) { + template.style.top = windowScrollY + 'px'; + _currentWindowScrollY = windowScrollY; + } + if(!force && _windowVisibleSize.x === window.innerWidth && _windowVisibleSize.y === window.innerHeight) { + return; + } + _windowVisibleSize.x = window.innerWidth; + _windowVisibleSize.y = window.innerHeight; + + //template.style.width = _windowVisibleSize.x + 'px'; + template.style.height = _windowVisibleSize.y + 'px'; + } + + + + _viewportSize.x = self.scrollWrap.clientWidth; + _viewportSize.y = self.scrollWrap.clientHeight; + + _updatePageScrollOffset(); + + _slideSize.x = _viewportSize.x + Math.round(_viewportSize.x * _options.spacing); + _slideSize.y = _viewportSize.y; + + _moveMainScroll(_slideSize.x * _currPositionIndex); + + _shout('beforeResize'); // even may be used for example to switch image sources + + + // don't re-calculate size on inital size update + if(_containerShiftIndex !== undefined) { + + var holder, + item, + hIndex; + + for(var i = 0; i < NUM_HOLDERS; i++) { + holder = _itemHolders[i]; + _setTranslateX( (i+_containerShiftIndex) * _slideSize.x, holder.el.style); + + hIndex = _currentItemIndex+i-1; + + if(_options.loop && _getNumItems() > 2) { + hIndex = _getLoopedId(hIndex); + } + + // update zoom level on items and refresh source (if needsUpdate) + item = _getItemAt( hIndex ); + + // re-render gallery item if `needsUpdate`, + // or doesn't have `bounds` (entirely new slide object) + if( item && (_itemsNeedUpdate || item.needsUpdate || !item.bounds) ) { + + self.cleanSlide( item ); + + self.setContent( holder, hIndex ); + + // if "center" slide + if(i === 1) { + self.currItem = item; + self.updateCurrZoomItem(true); + } + + item.needsUpdate = false; + + } else if(holder.index === -1 && hIndex >= 0) { + // add content first time + self.setContent( holder, hIndex ); + } + if(item && item.container) { + _calculateItemSize(item, _viewportSize); + _setImageSize(item); + _applyZoomPanToItem( item ); + } + + } + _itemsNeedUpdate = false; + } + + _startZoomLevel = _currZoomLevel = self.currItem.initialZoomLevel; + _currPanBounds = self.currItem.bounds; + + if(_currPanBounds) { + _panOffset.x = _currPanBounds.center.x; + _panOffset.y = _currPanBounds.center.y; + _applyCurrentZoomPan( true ); + } + + _shout('resize'); + }, + + // Zoom current item to + zoomTo: function(destZoomLevel, centerPoint, speed, easingFn, updateFn) { + /* + if(destZoomLevel === 'fit') { + destZoomLevel = self.currItem.fitRatio; + } else if(destZoomLevel === 'fill') { + destZoomLevel = self.currItem.fillRatio; + } + */ + + if(centerPoint) { + _startZoomLevel = _currZoomLevel; + _midZoomPoint.x = Math.abs(centerPoint.x) - _panOffset.x ; + _midZoomPoint.y = Math.abs(centerPoint.y) - _panOffset.y ; + _equalizePoints(_startPanOffset, _panOffset); + } + + var destPanBounds = _calculatePanBounds(destZoomLevel, false), + destPanOffset = {}; + + _modifyDestPanOffset('x', destPanBounds, destPanOffset, destZoomLevel); + _modifyDestPanOffset('y', destPanBounds, destPanOffset, destZoomLevel); + + var initialZoomLevel = _currZoomLevel; + var initialPanOffset = { + x: _panOffset.x, + y: _panOffset.y + }; + + _roundPoint(destPanOffset); + + var onUpdate = function(now) { + if(now === 1) { + _currZoomLevel = destZoomLevel; + _panOffset.x = destPanOffset.x; + _panOffset.y = destPanOffset.y; + } else { + _currZoomLevel = (destZoomLevel - initialZoomLevel) * now + initialZoomLevel; + _panOffset.x = (destPanOffset.x - initialPanOffset.x) * now + initialPanOffset.x; + _panOffset.y = (destPanOffset.y - initialPanOffset.y) * now + initialPanOffset.y; + } + + if(updateFn) { + updateFn(now); + } + + _applyCurrentZoomPan( now === 1 ); + }; + + if(speed) { + _animateProp('customZoomTo', 0, 1, speed, easingFn || framework.easing.sine.inOut, onUpdate); + } else { + onUpdate(1); + } + } + + +}; + + +/*>>core*/ + +/*>>gestures*/ +/** + * Mouse/touch/pointer event handlers. + * + * separated from @core.js for readability + */ + +var MIN_SWIPE_DISTANCE = 30, + DIRECTION_CHECK_OFFSET = 10; // amount of pixels to drag to determine direction of swipe + +var _gestureStartTime, + _gestureCheckSpeedTime, + + // pool of objects that are used during dragging of zooming + p = {}, // first point + p2 = {}, // second point (for zoom gesture) + delta = {}, + _currPoint = {}, + _startPoint = {}, + _currPointers = [], + _startMainScrollPos = {}, + _releaseAnimData, + _posPoints = [], // array of points during dragging, used to determine type of gesture + _tempPoint = {}, + + _isZoomingIn, + _verticalDragInitiated, + _oldAndroidTouchEndTimeout, + _currZoomedItemIndex = 0, + _centerPoint = _getEmptyPoint(), + _lastReleaseTime = 0, + _isDragging, // at least one pointer is down + _isMultitouch, // at least two _pointers are down + _zoomStarted, // zoom level changed during zoom gesture + _moved, + _dragAnimFrame, + _mainScrollShifted, + _currentPoints, // array of current touch points + _isZooming, + _currPointsDistance, + _startPointsDistance, + _currPanBounds, + _mainScrollPos = _getEmptyPoint(), + _currZoomElementStyle, + _mainScrollAnimating, // true, if animation after swipe gesture is running + _midZoomPoint = _getEmptyPoint(), + _currCenterPoint = _getEmptyPoint(), + _direction, + _isFirstMove, + _opacityChanged, + _bgOpacity, + _wasOverInitialZoom, + + _isEqualPoints = function(p1, p2) { + return p1.x === p2.x && p1.y === p2.y; + }, + _isNearbyPoints = function(touch0, touch1) { + return Math.abs(touch0.x - touch1.x) < DOUBLE_TAP_RADIUS && Math.abs(touch0.y - touch1.y) < DOUBLE_TAP_RADIUS; + }, + _calculatePointsDistance = function(p1, p2) { + _tempPoint.x = Math.abs( p1.x - p2.x ); + _tempPoint.y = Math.abs( p1.y - p2.y ); + return Math.sqrt(_tempPoint.x * _tempPoint.x + _tempPoint.y * _tempPoint.y); + }, + _stopDragUpdateLoop = function() { + if(_dragAnimFrame) { + _cancelAF(_dragAnimFrame); + _dragAnimFrame = null; + } + }, + _dragUpdateLoop = function() { + if(_isDragging) { + _dragAnimFrame = _requestAF(_dragUpdateLoop); + _renderMovement(); + } + }, + _canPan = function() { + return !(_options.scaleMode === 'fit' && _currZoomLevel === self.currItem.initialZoomLevel); + }, + + // find the closest parent DOM element + _closestElement = function(el, fn) { + if(!el || el === document) { + return false; + } + + // don't search elements above pswp__scroll-wrap + if(el.getAttribute('class') && el.getAttribute('class').indexOf('pswp__scroll-wrap') > -1 ) { + return false; + } + + if( fn(el) ) { + return el; + } + + return _closestElement(el.parentNode, fn); + }, + + _preventObj = {}, + _preventDefaultEventBehaviour = function(e, isDown) { + _preventObj.prevent = !_closestElement(e.target, _options.isClickableElement); + + _shout('preventDragEvent', e, isDown, _preventObj); + return _preventObj.prevent; + + }, + _convertTouchToPoint = function(touch, p) { + p.x = touch.pageX; + p.y = touch.pageY; + p.id = touch.identifier; + return p; + }, + _findCenterOfPoints = function(p1, p2, pCenter) { + pCenter.x = (p1.x + p2.x) * 0.5; + pCenter.y = (p1.y + p2.y) * 0.5; + }, + _pushPosPoint = function(time, x, y) { + if(time - _gestureCheckSpeedTime > 50) { + var o = _posPoints.length > 2 ? _posPoints.shift() : {}; + o.x = x; + o.y = y; + _posPoints.push(o); + _gestureCheckSpeedTime = time; + } + }, + + _calculateVerticalDragOpacityRatio = function() { + var yOffset = _panOffset.y - self.currItem.initialPosition.y; // difference between initial and current position + return 1 - Math.abs( yOffset / (_viewportSize.y / 2) ); + }, + + + // points pool, reused during touch events + _ePoint1 = {}, + _ePoint2 = {}, + _tempPointsArr = [], + _tempCounter, + _getTouchPoints = function(e) { + // clean up previous points, without recreating array + while(_tempPointsArr.length > 0) { + _tempPointsArr.pop(); + } + + if(!_pointerEventEnabled) { + if(e.type.indexOf('touch') > -1) { + + if(e.touches && e.touches.length > 0) { + _tempPointsArr[0] = _convertTouchToPoint(e.touches[0], _ePoint1); + if(e.touches.length > 1) { + _tempPointsArr[1] = _convertTouchToPoint(e.touches[1], _ePoint2); + } + } + + } else { + _ePoint1.x = e.pageX; + _ePoint1.y = e.pageY; + _ePoint1.id = ''; + _tempPointsArr[0] = _ePoint1;//_ePoint1; + } + } else { + _tempCounter = 0; + // we can use forEach, as pointer events are supported only in modern browsers + _currPointers.forEach(function(p) { + if(_tempCounter === 0) { + _tempPointsArr[0] = p; + } else if(_tempCounter === 1) { + _tempPointsArr[1] = p; + } + _tempCounter++; + + }); + } + return _tempPointsArr; + }, + + _panOrMoveMainScroll = function(axis, delta) { + + var panFriction, + overDiff = 0, + newOffset = _panOffset[axis] + delta[axis], + startOverDiff, + dir = delta[axis] > 0, + newMainScrollPosition = _mainScrollPos.x + delta.x, + mainScrollDiff = _mainScrollPos.x - _startMainScrollPos.x, + newPanPos, + newMainScrollPos; + + // calculate fdistance over the bounds and friction + if(newOffset > _currPanBounds.min[axis] || newOffset < _currPanBounds.max[axis]) { + panFriction = _options.panEndFriction; + // Linear increasing of friction, so at 1/4 of viewport it's at max value. + // Looks not as nice as was expected. Left for history. + // panFriction = (1 - (_panOffset[axis] + delta[axis] + panBounds.min[axis]) / (_viewportSize[axis] / 4) ); + } else { + panFriction = 1; + } + + newOffset = _panOffset[axis] + delta[axis] * panFriction; + + // move main scroll or start panning + if(_options.allowPanToNext || _currZoomLevel === self.currItem.initialZoomLevel) { + + + if(!_currZoomElementStyle) { + + newMainScrollPos = newMainScrollPosition; + + } else if(_direction === 'h' && axis === 'x' && !_zoomStarted ) { + + if(dir) { + if(newOffset > _currPanBounds.min[axis]) { + panFriction = _options.panEndFriction; + overDiff = _currPanBounds.min[axis] - newOffset; + startOverDiff = _currPanBounds.min[axis] - _startPanOffset[axis]; + } + + // drag right + if( (startOverDiff <= 0 || mainScrollDiff < 0) && _getNumItems() > 1 ) { + newMainScrollPos = newMainScrollPosition; + if(mainScrollDiff < 0 && newMainScrollPosition > _startMainScrollPos.x) { + newMainScrollPos = _startMainScrollPos.x; + } + } else { + if(_currPanBounds.min.x !== _currPanBounds.max.x) { + newPanPos = newOffset; + } + + } + + } else { + + if(newOffset < _currPanBounds.max[axis] ) { + panFriction =_options.panEndFriction; + overDiff = newOffset - _currPanBounds.max[axis]; + startOverDiff = _startPanOffset[axis] - _currPanBounds.max[axis]; + } + + if( (startOverDiff <= 0 || mainScrollDiff > 0) && _getNumItems() > 1 ) { + newMainScrollPos = newMainScrollPosition; + + if(mainScrollDiff > 0 && newMainScrollPosition < _startMainScrollPos.x) { + newMainScrollPos = _startMainScrollPos.x; + } + + } else { + if(_currPanBounds.min.x !== _currPanBounds.max.x) { + newPanPos = newOffset; + } + } + + } + + + // + } + + if(axis === 'x') { + + if(newMainScrollPos !== undefined) { + _moveMainScroll(newMainScrollPos, true); + if(newMainScrollPos === _startMainScrollPos.x) { + _mainScrollShifted = false; + } else { + _mainScrollShifted = true; + } + } + + if(_currPanBounds.min.x !== _currPanBounds.max.x) { + if(newPanPos !== undefined) { + _panOffset.x = newPanPos; + } else if(!_mainScrollShifted) { + _panOffset.x += delta.x * panFriction; + } + } + + return newMainScrollPos !== undefined; + } + + } + + if(!_mainScrollAnimating) { + + if(!_mainScrollShifted) { + if(_currZoomLevel > self.currItem.fitRatio) { + _panOffset[axis] += delta[axis] * panFriction; + + } + } + + + } + + }, + + // Pointerdown/touchstart/mousedown handler + _onDragStart = function(e) { + + // Allow dragging only via left mouse button. + // As this handler is not added in IE8 - we ignore e.which + // + // http://www.quirksmode.org/js/events_properties.html + // https://developer.mozilla.org/en-US/docs/Web/API/event.button + if(e.type === 'mousedown' && e.button > 0 ) { + return; + } + + if(_initialZoomRunning) { + e.preventDefault(); + return; + } + + if(_oldAndroidTouchEndTimeout && e.type === 'mousedown') { + return; + } + + if(_preventDefaultEventBehaviour(e, true)) { + e.preventDefault(); + } + + + + _shout('pointerDown'); + + if(_pointerEventEnabled) { + var pointerIndex = framework.arraySearch(_currPointers, e.pointerId, 'id'); + if(pointerIndex < 0) { + pointerIndex = _currPointers.length; + } + _currPointers[pointerIndex] = {x:e.pageX, y:e.pageY, id: e.pointerId}; + } + + + + var startPointsList = _getTouchPoints(e), + numPoints = startPointsList.length; + + _currentPoints = null; + + _stopAllAnimations(); + + // init drag + if(!_isDragging || numPoints === 1) { + + + + _isDragging = _isFirstMove = true; + framework.bind(window, _upMoveEvents, self); + + _isZoomingIn = + _wasOverInitialZoom = + _opacityChanged = + _verticalDragInitiated = + _mainScrollShifted = + _moved = + _isMultitouch = + _zoomStarted = false; + + _direction = null; + + _shout('firstTouchStart', startPointsList); + + _equalizePoints(_startPanOffset, _panOffset); + + _currPanDist.x = _currPanDist.y = 0; + _equalizePoints(_currPoint, startPointsList[0]); + _equalizePoints(_startPoint, _currPoint); + + //_equalizePoints(_startMainScrollPos, _mainScrollPos); + _startMainScrollPos.x = _slideSize.x * _currPositionIndex; + + _posPoints = [{ + x: _currPoint.x, + y: _currPoint.y + }]; + + _gestureCheckSpeedTime = _gestureStartTime = _getCurrentTime(); + + //_mainScrollAnimationEnd(true); + _calculatePanBounds( _currZoomLevel, true ); + + // Start rendering + _stopDragUpdateLoop(); + _dragUpdateLoop(); + + } + + // init zoom + if(!_isZooming && numPoints > 1 && !_mainScrollAnimating && !_mainScrollShifted) { + _startZoomLevel = _currZoomLevel; + _zoomStarted = false; // true if zoom changed at least once + + _isZooming = _isMultitouch = true; + _currPanDist.y = _currPanDist.x = 0; + + _equalizePoints(_startPanOffset, _panOffset); + + _equalizePoints(p, startPointsList[0]); + _equalizePoints(p2, startPointsList[1]); + + _findCenterOfPoints(p, p2, _currCenterPoint); + + _midZoomPoint.x = Math.abs(_currCenterPoint.x) - _panOffset.x; + _midZoomPoint.y = Math.abs(_currCenterPoint.y) - _panOffset.y; + _currPointsDistance = _startPointsDistance = _calculatePointsDistance(p, p2); + } + + + }, + + // Pointermove/touchmove/mousemove handler + _onDragMove = function(e) { + + e.preventDefault(); + + if(_pointerEventEnabled) { + var pointerIndex = framework.arraySearch(_currPointers, e.pointerId, 'id'); + if(pointerIndex > -1) { + var p = _currPointers[pointerIndex]; + p.x = e.pageX; + p.y = e.pageY; + } + } + + if(_isDragging) { + var touchesList = _getTouchPoints(e); + if(!_direction && !_moved && !_isZooming) { + + if(_mainScrollPos.x !== _slideSize.x * _currPositionIndex) { + // if main scroll position is shifted – direction is always horizontal + _direction = 'h'; + } else { + var diff = Math.abs(touchesList[0].x - _currPoint.x) - Math.abs(touchesList[0].y - _currPoint.y); + // check the direction of movement + if(Math.abs(diff) >= DIRECTION_CHECK_OFFSET) { + _direction = diff > 0 ? 'h' : 'v'; + _currentPoints = touchesList; + } + } + + } else { + _currentPoints = touchesList; + } + } + }, + // + _renderMovement = function() { + + if(!_currentPoints) { + return; + } + + var numPoints = _currentPoints.length; + + if(numPoints === 0) { + return; + } + + _equalizePoints(p, _currentPoints[0]); + + delta.x = p.x - _currPoint.x; + delta.y = p.y - _currPoint.y; + + if(_isZooming && numPoints > 1) { + // Handle behaviour for more than 1 point + + _currPoint.x = p.x; + _currPoint.y = p.y; + + // check if one of two points changed + if( !delta.x && !delta.y && _isEqualPoints(_currentPoints[1], p2) ) { + return; + } + + _equalizePoints(p2, _currentPoints[1]); + + + if(!_zoomStarted) { + _zoomStarted = true; + _shout('zoomGestureStarted'); + } + + // Distance between two points + var pointsDistance = _calculatePointsDistance(p,p2); + + var zoomLevel = _calculateZoomLevel(pointsDistance); + + // slightly over the of initial zoom level + if(zoomLevel > self.currItem.initialZoomLevel + self.currItem.initialZoomLevel / 15) { + _wasOverInitialZoom = true; + } + + // Apply the friction if zoom level is out of the bounds + var zoomFriction = 1, + minZoomLevel = _getMinZoomLevel(), + maxZoomLevel = _getMaxZoomLevel(); + + if ( zoomLevel < minZoomLevel ) { + + if(_options.pinchToClose && !_wasOverInitialZoom && _startZoomLevel <= self.currItem.initialZoomLevel) { + // fade out background if zooming out + var minusDiff = minZoomLevel - zoomLevel; + var percent = 1 - minusDiff / (minZoomLevel / 1.2); + + _applyBgOpacity(percent); + _shout('onPinchClose', percent); + _opacityChanged = true; + } else { + zoomFriction = (minZoomLevel - zoomLevel) / minZoomLevel; + if(zoomFriction > 1) { + zoomFriction = 1; + } + zoomLevel = minZoomLevel - zoomFriction * (minZoomLevel / 3); + } + + } else if ( zoomLevel > maxZoomLevel ) { + // 1.5 - extra zoom level above the max. E.g. if max is x6, real max 6 + 1.5 = 7.5 + zoomFriction = (zoomLevel - maxZoomLevel) / ( minZoomLevel * 6 ); + if(zoomFriction > 1) { + zoomFriction = 1; + } + zoomLevel = maxZoomLevel + zoomFriction * minZoomLevel; + } + + if(zoomFriction < 0) { + zoomFriction = 0; + } + + // distance between touch points after friction is applied + _currPointsDistance = pointsDistance; + + // _centerPoint - The point in the middle of two pointers + _findCenterOfPoints(p, p2, _centerPoint); + + // paning with two pointers pressed + _currPanDist.x += _centerPoint.x - _currCenterPoint.x; + _currPanDist.y += _centerPoint.y - _currCenterPoint.y; + _equalizePoints(_currCenterPoint, _centerPoint); + + _panOffset.x = _calculatePanOffset('x', zoomLevel); + _panOffset.y = _calculatePanOffset('y', zoomLevel); + + _isZoomingIn = zoomLevel > _currZoomLevel; + _currZoomLevel = zoomLevel; + _applyCurrentZoomPan(); + + } else { + + // handle behaviour for one point (dragging or panning) + + if(!_direction) { + return; + } + + if(_isFirstMove) { + _isFirstMove = false; + + // subtract drag distance that was used during the detection direction + + if( Math.abs(delta.x) >= DIRECTION_CHECK_OFFSET) { + delta.x -= _currentPoints[0].x - _startPoint.x; + } + + if( Math.abs(delta.y) >= DIRECTION_CHECK_OFFSET) { + delta.y -= _currentPoints[0].y - _startPoint.y; + } + } + + _currPoint.x = p.x; + _currPoint.y = p.y; + + // do nothing if pointers position hasn't changed + if(delta.x === 0 && delta.y === 0) { + return; + } + + if(_direction === 'v' && _options.closeOnVerticalDrag) { + if(!_canPan()) { + _currPanDist.y += delta.y; + _panOffset.y += delta.y; + + var opacityRatio = _calculateVerticalDragOpacityRatio(); + + _verticalDragInitiated = true; + _shout('onVerticalDrag', opacityRatio); + + _applyBgOpacity(opacityRatio); + _applyCurrentZoomPan(); + return ; + } + } + + _pushPosPoint(_getCurrentTime(), p.x, p.y); + + _moved = true; + _currPanBounds = self.currItem.bounds; + + var mainScrollChanged = _panOrMoveMainScroll('x', delta); + if(!mainScrollChanged) { + _panOrMoveMainScroll('y', delta); + + _roundPoint(_panOffset); + _applyCurrentZoomPan(); + } + + } + + }, + + // Pointerup/pointercancel/touchend/touchcancel/mouseup event handler + _onDragRelease = function(e) { + + if(_features.isOldAndroid ) { + + if(_oldAndroidTouchEndTimeout && e.type === 'mouseup') { + return; + } + + // on Android (v4.1, 4.2, 4.3 & possibly older) + // ghost mousedown/up event isn't preventable via e.preventDefault, + // which causes fake mousedown event + // so we block mousedown/up for 600ms + if( e.type.indexOf('touch') > -1 ) { + clearTimeout(_oldAndroidTouchEndTimeout); + _oldAndroidTouchEndTimeout = setTimeout(function() { + _oldAndroidTouchEndTimeout = 0; + }, 600); + } + + } + + _shout('pointerUp'); + + if(_preventDefaultEventBehaviour(e, false)) { + e.preventDefault(); + } + + var releasePoint; + + if(_pointerEventEnabled) { + var pointerIndex = framework.arraySearch(_currPointers, e.pointerId, 'id'); + + if(pointerIndex > -1) { + releasePoint = _currPointers.splice(pointerIndex, 1)[0]; + + if(navigator.pointerEnabled) { + releasePoint.type = e.pointerType || 'mouse'; + } else { + var MSPOINTER_TYPES = { + 4: 'mouse', // event.MSPOINTER_TYPE_MOUSE + 2: 'touch', // event.MSPOINTER_TYPE_TOUCH + 3: 'pen' // event.MSPOINTER_TYPE_PEN + }; + releasePoint.type = MSPOINTER_TYPES[e.pointerType]; + + if(!releasePoint.type) { + releasePoint.type = e.pointerType || 'mouse'; + } + } + + } + } + + var touchList = _getTouchPoints(e), + gestureType, + numPoints = touchList.length; + + if(e.type === 'mouseup') { + numPoints = 0; + } + + // Do nothing if there were 3 touch points or more + if(numPoints === 2) { + _currentPoints = null; + return true; + } + + // if second pointer released + if(numPoints === 1) { + _equalizePoints(_startPoint, touchList[0]); + } + + + // pointer hasn't moved, send "tap release" point + if(numPoints === 0 && !_direction && !_mainScrollAnimating) { + if(!releasePoint) { + if(e.type === 'mouseup') { + releasePoint = {x: e.pageX, y: e.pageY, type:'mouse'}; + } else if(e.changedTouches && e.changedTouches[0]) { + releasePoint = {x: e.changedTouches[0].pageX, y: e.changedTouches[0].pageY, type:'touch'}; + } + } + + _shout('touchRelease', e, releasePoint); + } + + // Difference in time between releasing of two last touch points (zoom gesture) + var releaseTimeDiff = -1; + + // Gesture completed, no pointers left + if(numPoints === 0) { + _isDragging = false; + framework.unbind(window, _upMoveEvents, self); + + _stopDragUpdateLoop(); + + if(_isZooming) { + // Two points released at the same time + releaseTimeDiff = 0; + } else if(_lastReleaseTime !== -1) { + releaseTimeDiff = _getCurrentTime() - _lastReleaseTime; + } + } + _lastReleaseTime = numPoints === 1 ? _getCurrentTime() : -1; + + if(releaseTimeDiff !== -1 && releaseTimeDiff < 150) { + gestureType = 'zoom'; + } else { + gestureType = 'swipe'; + } + + if(_isZooming && numPoints < 2) { + _isZooming = false; + + // Only second point released + if(numPoints === 1) { + gestureType = 'zoomPointerUp'; + } + _shout('zoomGestureEnded'); + } + + _currentPoints = null; + if(!_moved && !_zoomStarted && !_mainScrollAnimating && !_verticalDragInitiated) { + // nothing to animate + return; + } + + _stopAllAnimations(); + + + if(!_releaseAnimData) { + _releaseAnimData = _initDragReleaseAnimationData(); + } + + _releaseAnimData.calculateSwipeSpeed('x'); + + + if(_verticalDragInitiated) { + + var opacityRatio = _calculateVerticalDragOpacityRatio(); + + if(opacityRatio < _options.verticalDragRange) { + self.close(); + } else { + var initalPanY = _panOffset.y, + initialBgOpacity = _bgOpacity; + + _animateProp('verticalDrag', 0, 1, 300, framework.easing.cubic.out, function(now) { + + _panOffset.y = (self.currItem.initialPosition.y - initalPanY) * now + initalPanY; + + _applyBgOpacity( (1 - initialBgOpacity) * now + initialBgOpacity ); + _applyCurrentZoomPan(); + }); + + _shout('onVerticalDrag', 1); + } + + return; + } + + + // main scroll + if( (_mainScrollShifted || _mainScrollAnimating) && numPoints === 0) { + var itemChanged = _finishSwipeMainScrollGesture(gestureType, _releaseAnimData); + if(itemChanged) { + return; + } + gestureType = 'zoomPointerUp'; + } + + // prevent zoom/pan animation when main scroll animation runs + if(_mainScrollAnimating) { + return; + } + + // Complete simple zoom gesture (reset zoom level if it's out of the bounds) + if(gestureType !== 'swipe') { + _completeZoomGesture(); + return; + } + + // Complete pan gesture if main scroll is not shifted, and it's possible to pan current image + if(!_mainScrollShifted && _currZoomLevel > self.currItem.fitRatio) { + _completePanGesture(_releaseAnimData); + } + }, + + + // Returns object with data about gesture + // It's created only once and then reused + _initDragReleaseAnimationData = function() { + // temp local vars + var lastFlickDuration, + tempReleasePos; + + // s = this + var s = { + lastFlickOffset: {}, + lastFlickDist: {}, + lastFlickSpeed: {}, + slowDownRatio: {}, + slowDownRatioReverse: {}, + speedDecelerationRatio: {}, + speedDecelerationRatioAbs: {}, + distanceOffset: {}, + backAnimDestination: {}, + backAnimStarted: {}, + calculateSwipeSpeed: function(axis) { + + + if( _posPoints.length > 1) { + lastFlickDuration = _getCurrentTime() - _gestureCheckSpeedTime + 50; + tempReleasePos = _posPoints[_posPoints.length-2][axis]; + } else { + lastFlickDuration = _getCurrentTime() - _gestureStartTime; // total gesture duration + tempReleasePos = _startPoint[axis]; + } + s.lastFlickOffset[axis] = _currPoint[axis] - tempReleasePos; + s.lastFlickDist[axis] = Math.abs(s.lastFlickOffset[axis]); + if(s.lastFlickDist[axis] > 20) { + s.lastFlickSpeed[axis] = s.lastFlickOffset[axis] / lastFlickDuration; + } else { + s.lastFlickSpeed[axis] = 0; + } + if( Math.abs(s.lastFlickSpeed[axis]) < 0.1 ) { + s.lastFlickSpeed[axis] = 0; + } + + s.slowDownRatio[axis] = 0.95; + s.slowDownRatioReverse[axis] = 1 - s.slowDownRatio[axis]; + s.speedDecelerationRatio[axis] = 1; + }, + + calculateOverBoundsAnimOffset: function(axis, speed) { + if(!s.backAnimStarted[axis]) { + + if(_panOffset[axis] > _currPanBounds.min[axis]) { + s.backAnimDestination[axis] = _currPanBounds.min[axis]; + + } else if(_panOffset[axis] < _currPanBounds.max[axis]) { + s.backAnimDestination[axis] = _currPanBounds.max[axis]; + } + + if(s.backAnimDestination[axis] !== undefined) { + s.slowDownRatio[axis] = 0.7; + s.slowDownRatioReverse[axis] = 1 - s.slowDownRatio[axis]; + if(s.speedDecelerationRatioAbs[axis] < 0.05) { + + s.lastFlickSpeed[axis] = 0; + s.backAnimStarted[axis] = true; + + _animateProp('bounceZoomPan'+axis,_panOffset[axis], + s.backAnimDestination[axis], + speed || 300, + framework.easing.sine.out, + function(pos) { + _panOffset[axis] = pos; + _applyCurrentZoomPan(); + } + ); + + } + } + } + }, + + // Reduces the speed by slowDownRatio (per 10ms) + calculateAnimOffset: function(axis) { + if(!s.backAnimStarted[axis]) { + s.speedDecelerationRatio[axis] = s.speedDecelerationRatio[axis] * (s.slowDownRatio[axis] + + s.slowDownRatioReverse[axis] - + s.slowDownRatioReverse[axis] * s.timeDiff / 10); + + s.speedDecelerationRatioAbs[axis] = Math.abs(s.lastFlickSpeed[axis] * s.speedDecelerationRatio[axis]); + s.distanceOffset[axis] = s.lastFlickSpeed[axis] * s.speedDecelerationRatio[axis] * s.timeDiff; + _panOffset[axis] += s.distanceOffset[axis]; + + } + }, + + panAnimLoop: function() { + if ( _animations.zoomPan ) { + _animations.zoomPan.raf = _requestAF(s.panAnimLoop); + + s.now = _getCurrentTime(); + s.timeDiff = s.now - s.lastNow; + s.lastNow = s.now; + + s.calculateAnimOffset('x'); + s.calculateAnimOffset('y'); + + _applyCurrentZoomPan(); + + s.calculateOverBoundsAnimOffset('x'); + s.calculateOverBoundsAnimOffset('y'); + + + if (s.speedDecelerationRatioAbs.x < 0.05 && s.speedDecelerationRatioAbs.y < 0.05) { + + // round pan position + _panOffset.x = Math.round(_panOffset.x); + _panOffset.y = Math.round(_panOffset.y); + _applyCurrentZoomPan(); + + _stopAnimation('zoomPan'); + return; + } + } + + } + }; + return s; + }, + + _completePanGesture = function(animData) { + // calculate swipe speed for Y axis (paanning) + animData.calculateSwipeSpeed('y'); + + _currPanBounds = self.currItem.bounds; + + animData.backAnimDestination = {}; + animData.backAnimStarted = {}; + + // Avoid acceleration animation if speed is too low + if(Math.abs(animData.lastFlickSpeed.x) <= 0.05 && Math.abs(animData.lastFlickSpeed.y) <= 0.05 ) { + animData.speedDecelerationRatioAbs.x = animData.speedDecelerationRatioAbs.y = 0; + + // Run pan drag release animation. E.g. if you drag image and release finger without momentum. + animData.calculateOverBoundsAnimOffset('x'); + animData.calculateOverBoundsAnimOffset('y'); + return true; + } + + // Animation loop that controls the acceleration after pan gesture ends + _registerStartAnimation('zoomPan'); + animData.lastNow = _getCurrentTime(); + animData.panAnimLoop(); + }, + + + _finishSwipeMainScrollGesture = function(gestureType, _releaseAnimData) { + var itemChanged; + if(!_mainScrollAnimating) { + _currZoomedItemIndex = _currentItemIndex; + } + + + + var itemsDiff; + + if(gestureType === 'swipe') { + var totalShiftDist = _currPoint.x - _startPoint.x, + isFastLastFlick = _releaseAnimData.lastFlickDist.x < 10; + + // if container is shifted for more than MIN_SWIPE_DISTANCE, + // and last flick gesture was in right direction + if(totalShiftDist > MIN_SWIPE_DISTANCE && + (isFastLastFlick || _releaseAnimData.lastFlickOffset.x > 20) ) { + // go to prev item + itemsDiff = -1; + } else if(totalShiftDist < -MIN_SWIPE_DISTANCE && + (isFastLastFlick || _releaseAnimData.lastFlickOffset.x < -20) ) { + // go to next item + itemsDiff = 1; + } + } + + var nextCircle; + + if(itemsDiff) { + + _currentItemIndex += itemsDiff; + + if(_currentItemIndex < 0) { + _currentItemIndex = _options.loop ? _getNumItems()-1 : 0; + nextCircle = true; + } else if(_currentItemIndex >= _getNumItems()) { + _currentItemIndex = _options.loop ? 0 : _getNumItems()-1; + nextCircle = true; + } + + if(!nextCircle || _options.loop) { + _indexDiff += itemsDiff; + _currPositionIndex -= itemsDiff; + itemChanged = true; + } + + + + } + + var animateToX = _slideSize.x * _currPositionIndex; + var animateToDist = Math.abs( animateToX - _mainScrollPos.x ); + var finishAnimDuration; + + + if(!itemChanged && animateToX > _mainScrollPos.x !== _releaseAnimData.lastFlickSpeed.x > 0) { + // "return to current" duration, e.g. when dragging from slide 0 to -1 + finishAnimDuration = 333; + } else { + finishAnimDuration = Math.abs(_releaseAnimData.lastFlickSpeed.x) > 0 ? + animateToDist / Math.abs(_releaseAnimData.lastFlickSpeed.x) : + 333; + + finishAnimDuration = Math.min(finishAnimDuration, 400); + finishAnimDuration = Math.max(finishAnimDuration, 250); + } + + if(_currZoomedItemIndex === _currentItemIndex) { + itemChanged = false; + } + + _mainScrollAnimating = true; + + _shout('mainScrollAnimStart'); + + _animateProp('mainScroll', _mainScrollPos.x, animateToX, finishAnimDuration, framework.easing.cubic.out, + _moveMainScroll, + function() { + _stopAllAnimations(); + _mainScrollAnimating = false; + _currZoomedItemIndex = -1; + + if(itemChanged || _currZoomedItemIndex !== _currentItemIndex) { + self.updateCurrItem(); + } + + _shout('mainScrollAnimComplete'); + } + ); + + if(itemChanged) { + self.updateCurrItem(true); + } + + return itemChanged; + }, + + _calculateZoomLevel = function(touchesDistance) { + return 1 / _startPointsDistance * touchesDistance * _startZoomLevel; + }, + + // Resets zoom if it's out of bounds + _completeZoomGesture = function() { + var destZoomLevel = _currZoomLevel, + minZoomLevel = _getMinZoomLevel(), + maxZoomLevel = _getMaxZoomLevel(); + + if ( _currZoomLevel < minZoomLevel ) { + destZoomLevel = minZoomLevel; + } else if ( _currZoomLevel > maxZoomLevel ) { + destZoomLevel = maxZoomLevel; + } + + var destOpacity = 1, + onUpdate, + initialOpacity = _bgOpacity; + + if(_opacityChanged && !_isZoomingIn && !_wasOverInitialZoom && _currZoomLevel < minZoomLevel) { + //_closedByScroll = true; + self.close(); + return true; + } + + if(_opacityChanged) { + onUpdate = function(now) { + _applyBgOpacity( (destOpacity - initialOpacity) * now + initialOpacity ); + }; + } + + self.zoomTo(destZoomLevel, 0, 200, framework.easing.cubic.out, onUpdate); + return true; + }; + + +_registerModule('Gestures', { + publicMethods: { + + initGestures: function() { + + // helper function that builds touch/pointer/mouse events + var addEventNames = function(pref, down, move, up, cancel) { + _dragStartEvent = pref + down; + _dragMoveEvent = pref + move; + _dragEndEvent = pref + up; + if(cancel) { + _dragCancelEvent = pref + cancel; + } else { + _dragCancelEvent = ''; + } + }; + + _pointerEventEnabled = _features.pointerEvent; + if(_pointerEventEnabled && _features.touch) { + // we don't need touch events, if browser supports pointer events + _features.touch = false; + } + + if(_pointerEventEnabled) { + if(navigator.pointerEnabled) { + addEventNames('pointer', 'down', 'move', 'up', 'cancel'); + } else { + // IE10 pointer events are case-sensitive + addEventNames('MSPointer', 'Down', 'Move', 'Up', 'Cancel'); + } + } else if(_features.touch) { + addEventNames('touch', 'start', 'move', 'end', 'cancel'); + _likelyTouchDevice = true; + } else { + addEventNames('mouse', 'down', 'move', 'up'); + } + + _upMoveEvents = _dragMoveEvent + ' ' + _dragEndEvent + ' ' + _dragCancelEvent; + _downEvents = _dragStartEvent; + + if(_pointerEventEnabled && !_likelyTouchDevice) { + _likelyTouchDevice = (navigator.maxTouchPoints > 1) || (navigator.msMaxTouchPoints > 1); + } + // make variable public + self.likelyTouchDevice = _likelyTouchDevice; + + _globalEventHandlers[_dragStartEvent] = _onDragStart; + _globalEventHandlers[_dragMoveEvent] = _onDragMove; + _globalEventHandlers[_dragEndEvent] = _onDragRelease; // the Kraken + + if(_dragCancelEvent) { + _globalEventHandlers[_dragCancelEvent] = _globalEventHandlers[_dragEndEvent]; + } + + // Bind mouse events on device with detected hardware touch support, in case it supports multiple types of input. + if(_features.touch) { + _downEvents += ' mousedown'; + _upMoveEvents += ' mousemove mouseup'; + _globalEventHandlers.mousedown = _globalEventHandlers[_dragStartEvent]; + _globalEventHandlers.mousemove = _globalEventHandlers[_dragMoveEvent]; + _globalEventHandlers.mouseup = _globalEventHandlers[_dragEndEvent]; + } + + if(!_likelyTouchDevice) { + // don't allow pan to next slide from zoomed state on Desktop + _options.allowPanToNext = false; + } + } + + } +}); + + +/*>>gestures*/ + +/*>>show-hide-transition*/ +/** + * show-hide-transition.js: + * + * Manages initial opening or closing transition. + * + * If you're not planning to use transition for gallery at all, + * you may set options hideAnimationDuration and showAnimationDuration to 0, + * and just delete startAnimation function. + * + */ + + +var _showOrHideTimeout, + _showOrHide = function(item, img, out, completeFn) { + + if(_showOrHideTimeout) { + clearTimeout(_showOrHideTimeout); + } + + _initialZoomRunning = true; + _initialContentSet = true; + + // dimensions of small thumbnail {x:,y:,w:}. + // Height is optional, as calculated based on large image. + var thumbBounds; + if(item.initialLayout) { + thumbBounds = item.initialLayout; + item.initialLayout = null; + } else { + thumbBounds = _options.getThumbBoundsFn && _options.getThumbBoundsFn(_currentItemIndex); + } + + var duration = out ? _options.hideAnimationDuration : _options.showAnimationDuration; + + var onComplete = function() { + _stopAnimation('initialZoom'); + if(!out) { + _applyBgOpacity(1); + if(img) { + img.style.display = 'block'; + } + framework.addClass(template, 'pswp--animated-in'); + _shout('initialZoom' + (out ? 'OutEnd' : 'InEnd')); + } else { + self.template.removeAttribute('style'); + self.bg.removeAttribute('style'); + } + + if(completeFn) { + completeFn(); + } + _initialZoomRunning = false; + }; + + // if bounds aren't provided, just open gallery without animation + if(!duration || !thumbBounds || thumbBounds.x === undefined) { + + _shout('initialZoom' + (out ? 'Out' : 'In') ); + + _currZoomLevel = item.initialZoomLevel; + _equalizePoints(_panOffset, item.initialPosition ); + _applyCurrentZoomPan(); + + template.style.opacity = out ? 0 : 1; + _applyBgOpacity(1); + + if(duration) { + setTimeout(function() { + onComplete(); + }, duration); + } else { + onComplete(); + } + + return; + } + + var startAnimation = function() { + var closeWithRaf = _closedByScroll, + fadeEverything = !self.currItem.src || self.currItem.loadError || _options.showHideOpacity; + + // apply hw-acceleration to image + if(item.miniImg) { + item.miniImg.style.webkitBackfaceVisibility = 'hidden'; + } + + if(!out) { + _currZoomLevel = thumbBounds.w / item.w; + _panOffset.x = thumbBounds.x; + _panOffset.y = thumbBounds.y - _initalWindowScrollY; + + self[fadeEverything ? 'template' : 'bg'].style.opacity = 0.001; + _applyCurrentZoomPan(); + } + + _registerStartAnimation('initialZoom'); + + if(out && !closeWithRaf) { + framework.removeClass(template, 'pswp--animated-in'); + } + + if(fadeEverything) { + if(out) { + framework[ (closeWithRaf ? 'remove' : 'add') + 'Class' ](template, 'pswp--animate_opacity'); + } else { + setTimeout(function() { + framework.addClass(template, 'pswp--animate_opacity'); + }, 30); + } + } + + _showOrHideTimeout = setTimeout(function() { + + _shout('initialZoom' + (out ? 'Out' : 'In') ); + + + if(!out) { + + // "in" animation always uses CSS transitions (instead of rAF). + // CSS transition work faster here, + // as developer may also want to animate other things, + // like ui on top of sliding area, which can be animated just via CSS + + _currZoomLevel = item.initialZoomLevel; + _equalizePoints(_panOffset, item.initialPosition ); + _applyCurrentZoomPan(); + _applyBgOpacity(1); + + if(fadeEverything) { + template.style.opacity = 1; + } else { + _applyBgOpacity(1); + } + + _showOrHideTimeout = setTimeout(onComplete, duration + 20); + } else { + + // "out" animation uses rAF only when PhotoSwipe is closed by browser scroll, to recalculate position + var destZoomLevel = thumbBounds.w / item.w, + initialPanOffset = { + x: _panOffset.x, + y: _panOffset.y + }, + initialZoomLevel = _currZoomLevel, + initalBgOpacity = _bgOpacity, + onUpdate = function(now) { + + if(now === 1) { + _currZoomLevel = destZoomLevel; + _panOffset.x = thumbBounds.x; + _panOffset.y = thumbBounds.y - _currentWindowScrollY; + } else { + _currZoomLevel = (destZoomLevel - initialZoomLevel) * now + initialZoomLevel; + _panOffset.x = (thumbBounds.x - initialPanOffset.x) * now + initialPanOffset.x; + _panOffset.y = (thumbBounds.y - _currentWindowScrollY - initialPanOffset.y) * now + initialPanOffset.y; + } + + _applyCurrentZoomPan(); + if(fadeEverything) { + template.style.opacity = 1 - now; + } else { + _applyBgOpacity( initalBgOpacity - now * initalBgOpacity ); + } + }; + + if(closeWithRaf) { + _animateProp('initialZoom', 0, 1, duration, framework.easing.cubic.out, onUpdate, onComplete); + } else { + onUpdate(1); + _showOrHideTimeout = setTimeout(onComplete, duration + 20); + } + } + + }, out ? 25 : 90); // Main purpose of this delay is to give browser time to paint and + // create composite layers of PhotoSwipe UI parts (background, controls, caption, arrows). + // Which avoids lag at the beginning of scale transition. + }; + startAnimation(); + + + }; + +/*>>show-hide-transition*/ + +/*>>items-controller*/ +/** +* +* Controller manages gallery items, their dimensions, and their content. +* +*/ + +var _items, + _tempPanAreaSize = {}, + _imagesToAppendPool = [], + _initialContentSet, + _initialZoomRunning, + _controllerDefaultOptions = { + index: 0, + errorMsg: '<div class="pswp__error-msg"><a href="%url%" target="_blank">The image</a> could not be loaded.</div>', + forceProgressiveLoading: false, // TODO + preload: [1,1], + getNumItemsFn: function() { + return _items.length; + } + }; + + +var _getItemAt, + _getNumItems, + _initialIsLoop, + _getZeroBounds = function() { + return { + center:{x:0,y:0}, + max:{x:0,y:0}, + min:{x:0,y:0} + }; + }, + _calculateSingleItemPanBounds = function(item, realPanElementW, realPanElementH ) { + var bounds = item.bounds; + + // position of element when it's centered + bounds.center.x = Math.round((_tempPanAreaSize.x - realPanElementW) / 2); + bounds.center.y = Math.round((_tempPanAreaSize.y - realPanElementH) / 2) + item.vGap.top; + + // maximum pan position + bounds.max.x = (realPanElementW > _tempPanAreaSize.x) ? + Math.round(_tempPanAreaSize.x - realPanElementW) : + bounds.center.x; + + bounds.max.y = (realPanElementH > _tempPanAreaSize.y) ? + Math.round(_tempPanAreaSize.y - realPanElementH) + item.vGap.top : + bounds.center.y; + + // minimum pan position + bounds.min.x = (realPanElementW > _tempPanAreaSize.x) ? 0 : bounds.center.x; + bounds.min.y = (realPanElementH > _tempPanAreaSize.y) ? item.vGap.top : bounds.center.y; + }, + _calculateItemSize = function(item, viewportSize, zoomLevel) { + + if (item.src && !item.loadError) { + var isInitial = !zoomLevel; + + if(isInitial) { + if(!item.vGap) { + item.vGap = {top:0,bottom:0}; + } + // allows overriding vertical margin for individual items + _shout('parseVerticalMargin', item); + } + + + _tempPanAreaSize.x = viewportSize.x; + _tempPanAreaSize.y = viewportSize.y - item.vGap.top - item.vGap.bottom; + + if (isInitial) { + var hRatio = _tempPanAreaSize.x / item.w; + var vRatio = _tempPanAreaSize.y / item.h; + + item.fitRatio = hRatio < vRatio ? hRatio : vRatio; + //item.fillRatio = hRatio > vRatio ? hRatio : vRatio; + + var scaleMode = _options.scaleMode; + + if (scaleMode === 'orig') { + zoomLevel = 1; + } else if (scaleMode === 'fit') { + zoomLevel = item.fitRatio; + } + + if (zoomLevel > 1) { + zoomLevel = 1; + } + + item.initialZoomLevel = zoomLevel; + + if(!item.bounds) { + // reuse bounds object + item.bounds = _getZeroBounds(); + } + } + + if(!zoomLevel) { + return; + } + + _calculateSingleItemPanBounds(item, item.w * zoomLevel, item.h * zoomLevel); + + if (isInitial && zoomLevel === item.initialZoomLevel) { + item.initialPosition = item.bounds.center; + } + + return item.bounds; + } else { + item.w = item.h = 0; + item.initialZoomLevel = item.fitRatio = 1; + item.bounds = _getZeroBounds(); + item.initialPosition = item.bounds.center; + + // if it's not image, we return zero bounds (content is not zoomable) + return item.bounds; + } + + }, + + + + + _appendImage = function(index, item, baseDiv, img, preventAnimation, keepPlaceholder) { + + + if(item.loadError) { + return; + } + + if(img) { + + item.imageAppended = true; + _setImageSize(item, img, (item === self.currItem && _renderMaxResolution) ); + + baseDiv.appendChild(img); + + if(keepPlaceholder) { + setTimeout(function() { + if(item && item.loaded && item.placeholder) { + item.placeholder.style.display = 'none'; + item.placeholder = null; + } + }, 500); + } + } + }, + + + + _preloadImage = function(item) { + item.loading = true; + item.loaded = false; + var img = item.img = framework.createEl('pswp__img', 'img'); + var onComplete = function() { + item.loading = false; + item.loaded = true; + + if(item.loadComplete) { + item.loadComplete(item); + } else { + item.img = null; // no need to store image object + } + img.onload = img.onerror = null; + img = null; + }; + img.onload = onComplete; + img.onerror = function() { + item.loadError = true; + onComplete(); + }; + + img.src = item.src;// + '?a=' + Math.random(); + + return img; + }, + _checkForError = function(item, cleanUp) { + if(item.src && item.loadError && item.container) { + + if(cleanUp) { + item.container.innerHTML = ''; + } + + item.container.innerHTML = _options.errorMsg.replace('%url%', item.src ); + return true; + + } + }, + _setImageSize = function(item, img, maxRes) { + if(!item.src) { + return; + } + + if(!img) { + img = item.container.lastChild; + } + + var w = maxRes ? item.w : Math.round(item.w * item.fitRatio), + h = maxRes ? item.h : Math.round(item.h * item.fitRatio); + + if(item.placeholder && !item.loaded) { + item.placeholder.style.width = w + 'px'; + item.placeholder.style.height = h + 'px'; + } + + img.style.width = w + 'px'; + img.style.height = h + 'px'; + }, + _appendImagesPool = function() { + + if(_imagesToAppendPool.length) { + var poolItem; + + for(var i = 0; i < _imagesToAppendPool.length; i++) { + poolItem = _imagesToAppendPool[i]; + if( poolItem.holder.index === poolItem.index ) { + _appendImage(poolItem.index, poolItem.item, poolItem.baseDiv, poolItem.img, false, poolItem.clearPlaceholder); + } + } + _imagesToAppendPool = []; + } + }; + + + +_registerModule('Controller', { + + publicMethods: { + + lazyLoadItem: function(index) { + index = _getLoopedId(index); + var item = _getItemAt(index); + + if(!item || ((item.loaded || item.loading) && !_itemsNeedUpdate)) { + return; + } + + _shout('gettingData', index, item); + + if (!item.src) { + return; + } + + _preloadImage(item); + }, + initController: function() { + framework.extend(_options, _controllerDefaultOptions, true); + self.items = _items = items; + _getItemAt = self.getItemAt; + _getNumItems = _options.getNumItemsFn; //self.getNumItems; + + + + _initialIsLoop = _options.loop; + if(_getNumItems() < 3) { + _options.loop = false; // disable loop if less then 3 items + } + + _listen('beforeChange', function(diff) { + + var p = _options.preload, + isNext = diff === null ? true : (diff >= 0), + preloadBefore = Math.min(p[0], _getNumItems() ), + preloadAfter = Math.min(p[1], _getNumItems() ), + i; + + + for(i = 1; i <= (isNext ? preloadAfter : preloadBefore); i++) { + self.lazyLoadItem(_currentItemIndex+i); + } + for(i = 1; i <= (isNext ? preloadBefore : preloadAfter); i++) { + self.lazyLoadItem(_currentItemIndex-i); + } + }); + + _listen('initialLayout', function() { + self.currItem.initialLayout = _options.getThumbBoundsFn && _options.getThumbBoundsFn(_currentItemIndex); + }); + + _listen('mainScrollAnimComplete', _appendImagesPool); + _listen('initialZoomInEnd', _appendImagesPool); + + + + _listen('destroy', function() { + var item; + for(var i = 0; i < _items.length; i++) { + item = _items[i]; + // remove reference to DOM elements, for GC + if(item.container) { + item.container = null; + } + if(item.placeholder) { + item.placeholder = null; + } + if(item.img) { + item.img = null; + } + if(item.preloader) { + item.preloader = null; + } + if(item.loadError) { + item.loaded = item.loadError = false; + } + } + _imagesToAppendPool = null; + }); + }, + + + getItemAt: function(index) { + if (index >= 0) { + return _items[index] !== undefined ? _items[index] : false; + } + return false; + }, + + allowProgressiveImg: function() { + // 1. Progressive image loading isn't working on webkit/blink + // when hw-acceleration (e.g. translateZ) is applied to IMG element. + // That's why in PhotoSwipe parent element gets zoom transform, not image itself. + // + // 2. Progressive image loading sometimes blinks in webkit/blink when applying animation to parent element. + // That's why it's disabled on touch devices (mainly because of swipe transition) + // + // 3. Progressive image loading sometimes doesn't work in IE (up to 11). + + // Don't allow progressive loading on non-large touch devices + return _options.forceProgressiveLoading || !_likelyTouchDevice || _options.mouseUsed || screen.width > 1200; + // 1200 - to eliminate touch devices with large screen (like Chromebook Pixel) + }, + + setContent: function(holder, index) { + + if(_options.loop) { + index = _getLoopedId(index); + } + + var prevItem = self.getItemAt(holder.index); + if(prevItem) { + prevItem.container = null; + } + + var item = self.getItemAt(index), + img; + + if(!item) { + holder.el.innerHTML = ''; + return; + } + + // allow to override data + _shout('gettingData', index, item); + + holder.index = index; + holder.item = item; + + // base container DIV is created only once for each of 3 holders + var baseDiv = item.container = framework.createEl('pswp__zoom-wrap'); + + + + if(!item.src && item.html) { + if(item.html.tagName) { + baseDiv.appendChild(item.html); + } else { + baseDiv.innerHTML = item.html; + } + } + + _checkForError(item); + + _calculateItemSize(item, _viewportSize); + + if(item.src && !item.loadError && !item.loaded) { + + item.loadComplete = function(item) { + + // gallery closed before image finished loading + if(!_isOpen) { + return; + } + + // check if holder hasn't changed while image was loading + if(holder && holder.index === index ) { + if( _checkForError(item, true) ) { + item.loadComplete = item.img = null; + _calculateItemSize(item, _viewportSize); + _applyZoomPanToItem(item); + + if(holder.index === _currentItemIndex) { + // recalculate dimensions + self.updateCurrZoomItem(); + } + return; + } + if( !item.imageAppended ) { + if(_features.transform && (_mainScrollAnimating || _initialZoomRunning) ) { + _imagesToAppendPool.push({ + item:item, + baseDiv:baseDiv, + img:item.img, + index:index, + holder:holder, + clearPlaceholder:true + }); + } else { + _appendImage(index, item, baseDiv, item.img, _mainScrollAnimating || _initialZoomRunning, true); + } + } else { + // remove preloader & mini-img + if(!_initialZoomRunning && item.placeholder) { + item.placeholder.style.display = 'none'; + item.placeholder = null; + } + } + } + + item.loadComplete = null; + item.img = null; // no need to store image element after it's added + + _shout('imageLoadComplete', index, item); + }; + + if(framework.features.transform) { + + var placeholderClassName = 'pswp__img pswp__img--placeholder'; + placeholderClassName += (item.msrc ? '' : ' pswp__img--placeholder--blank'); + + var placeholder = framework.createEl(placeholderClassName, item.msrc ? 'img' : ''); + if(item.msrc) { + placeholder.src = item.msrc; + } + + _setImageSize(item, placeholder); + + baseDiv.appendChild(placeholder); + item.placeholder = placeholder; + + } + + + + + if(!item.loading) { + _preloadImage(item); + } + + + if( self.allowProgressiveImg() ) { + // just append image + if(!_initialContentSet && _features.transform) { + _imagesToAppendPool.push({ + item:item, + baseDiv:baseDiv, + img:item.img, + index:index, + holder:holder + }); + } else { + _appendImage(index, item, baseDiv, item.img, true, true); + } + } + + } else if(item.src && !item.loadError) { + // image object is created every time, due to bugs of image loading & delay when switching images + img = framework.createEl('pswp__img', 'img'); + img.style.opacity = 1; + img.src = item.src; + _setImageSize(item, img); + _appendImage(index, item, baseDiv, img, true); + } + + + if(!_initialContentSet && index === _currentItemIndex) { + _currZoomElementStyle = baseDiv.style; + _showOrHide(item, (img ||item.img) ); + } else { + _applyZoomPanToItem(item); + } + + holder.el.innerHTML = ''; + holder.el.appendChild(baseDiv); + }, + + cleanSlide: function( item ) { + if(item.img ) { + item.img.onload = item.img.onerror = null; + } + item.loaded = item.loading = item.img = item.imageAppended = false; + } + + } +}); + +/*>>items-controller*/ + +/*>>tap*/ +/** + * tap.js: + * + * Displatches tap and double-tap events. + * + */ + +var tapTimer, + tapReleasePoint = {}, + _dispatchTapEvent = function(origEvent, releasePoint, pointerType) { + var e = document.createEvent( 'CustomEvent' ), + eDetail = { + origEvent:origEvent, + target:origEvent.target, + releasePoint: releasePoint, + pointerType:pointerType || 'touch' + }; + + e.initCustomEvent( 'pswpTap', true, true, eDetail ); + origEvent.target.dispatchEvent(e); + }; + +_registerModule('Tap', { + publicMethods: { + initTap: function() { + _listen('firstTouchStart', self.onTapStart); + _listen('touchRelease', self.onTapRelease); + _listen('destroy', function() { + tapReleasePoint = {}; + tapTimer = null; + }); + }, + onTapStart: function(touchList) { + if(touchList.length > 1) { + clearTimeout(tapTimer); + tapTimer = null; + } + }, + onTapRelease: function(e, releasePoint) { + if(!releasePoint) { + return; + } + + if(!_moved && !_isMultitouch && !_numAnimations) { + var p0 = releasePoint; + if(tapTimer) { + clearTimeout(tapTimer); + tapTimer = null; + + // Check if taped on the same place + if ( _isNearbyPoints(p0, tapReleasePoint) ) { + _shout('doubleTap', p0); + return; + } + } + + if(releasePoint.type === 'mouse') { + _dispatchTapEvent(e, releasePoint, 'mouse'); + return; + } + + var clickedTagName = e.target.tagName.toUpperCase(); + // avoid double tap delay on buttons and elements that have class pswp__single-tap + if(clickedTagName === 'BUTTON' || framework.hasClass(e.target, 'pswp__single-tap') ) { + _dispatchTapEvent(e, releasePoint); + return; + } + + _equalizePoints(tapReleasePoint, p0); + + tapTimer = setTimeout(function() { + _dispatchTapEvent(e, releasePoint); + tapTimer = null; + }, 300); + } + } + } +}); + +/*>>tap*/ + +/*>>desktop-zoom*/ +/** + * + * desktop-zoom.js: + * + * - Binds mousewheel event for paning zoomed image. + * - Manages "dragging", "zoomed-in", "zoom-out" classes. + * (which are used for cursors and zoom icon) + * - Adds toggleDesktopZoom function. + * + */ + +var _wheelDelta; + +_registerModule('DesktopZoom', { + + publicMethods: { + + initDesktopZoom: function() { + + if(_oldIE) { + // no zoom for old IE (<=8) + return; + } + + if(_likelyTouchDevice) { + // if detected hardware touch support, we wait until mouse is used, + // and only then apply desktop-zoom features + _listen('mouseUsed', function() { + self.setupDesktopZoom(); + }); + } else { + self.setupDesktopZoom(true); + } + + }, + + setupDesktopZoom: function(onInit) { + + _wheelDelta = {}; + + var events = 'wheel mousewheel DOMMouseScroll'; + + _listen('bindEvents', function() { + framework.bind(template, events, self.handleMouseWheel); + }); + + _listen('unbindEvents', function() { + if(_wheelDelta) { + framework.unbind(template, events, self.handleMouseWheel); + } + }); + + self.mouseZoomedIn = false; + + var hasDraggingClass, + updateZoomable = function() { + if(self.mouseZoomedIn) { + framework.removeClass(template, 'pswp--zoomed-in'); + self.mouseZoomedIn = false; + } + if(_currZoomLevel < 1) { + framework.addClass(template, 'pswp--zoom-allowed'); + } else { + framework.removeClass(template, 'pswp--zoom-allowed'); + } + removeDraggingClass(); + }, + removeDraggingClass = function() { + if(hasDraggingClass) { + framework.removeClass(template, 'pswp--dragging'); + hasDraggingClass = false; + } + }; + + _listen('resize' , updateZoomable); + _listen('afterChange' , updateZoomable); + _listen('pointerDown', function() { + if(self.mouseZoomedIn) { + hasDraggingClass = true; + framework.addClass(template, 'pswp--dragging'); + } + }); + _listen('pointerUp', removeDraggingClass); + + if(!onInit) { + updateZoomable(); + } + + }, + + handleMouseWheel: function(e) { + + if(_currZoomLevel <= self.currItem.fitRatio) { + if( _options.modal ) { + + if (!_options.closeOnScroll || _numAnimations || _isDragging) { + e.preventDefault(); + } else if(_transformKey && Math.abs(e.deltaY) > 2) { + // close PhotoSwipe + // if browser supports transforms & scroll changed enough + _closedByScroll = true; + self.close(); + } + + } + return true; + } + + // allow just one event to fire + e.stopPropagation(); + + // https://developer.mozilla.org/en-US/docs/Web/Events/wheel + _wheelDelta.x = 0; + + if('deltaX' in e) { + if(e.deltaMode === 1 /* DOM_DELTA_LINE */) { + // 18 - average line height + _wheelDelta.x = e.deltaX * 18; + _wheelDelta.y = e.deltaY * 18; + } else { + _wheelDelta.x = e.deltaX; + _wheelDelta.y = e.deltaY; + } + } else if('wheelDelta' in e) { + if(e.wheelDeltaX) { + _wheelDelta.x = -0.16 * e.wheelDeltaX; + } + if(e.wheelDeltaY) { + _wheelDelta.y = -0.16 * e.wheelDeltaY; + } else { + _wheelDelta.y = -0.16 * e.wheelDelta; + } + } else if('detail' in e) { + _wheelDelta.y = e.detail; + } else { + return; + } + + _calculatePanBounds(_currZoomLevel, true); + + var newPanX = _panOffset.x - _wheelDelta.x, + newPanY = _panOffset.y - _wheelDelta.y; + + // only prevent scrolling in nonmodal mode when not at edges + if (_options.modal || + ( + newPanX <= _currPanBounds.min.x && newPanX >= _currPanBounds.max.x && + newPanY <= _currPanBounds.min.y && newPanY >= _currPanBounds.max.y + ) ) { + e.preventDefault(); + } + + // TODO: use rAF instead of mousewheel? + self.panTo(newPanX, newPanY); + }, + + toggleDesktopZoom: function(centerPoint) { + centerPoint = centerPoint || {x:_viewportSize.x/2 + _offset.x, y:_viewportSize.y/2 + _offset.y }; + + var doubleTapZoomLevel = _options.getDoubleTapZoom(true, self.currItem); + var zoomOut = _currZoomLevel === doubleTapZoomLevel; + + self.mouseZoomedIn = !zoomOut; + + self.zoomTo(zoomOut ? self.currItem.initialZoomLevel : doubleTapZoomLevel, centerPoint, 333); + framework[ (!zoomOut ? 'add' : 'remove') + 'Class'](template, 'pswp--zoomed-in'); + } + + } +}); + + +/*>>desktop-zoom*/ + +/*>>history*/ +/** + * + * history.js: + * + * - Back button to close gallery. + * + * - Unique URL for each slide: example.com/&pid=1&gid=3 + * (where PID is picture index, and GID and gallery index) + * + * - Switch URL when slides change. + * + */ + + +var _historyDefaultOptions = { + history: true, + galleryUID: 1 +}; + +var _historyUpdateTimeout, + _hashChangeTimeout, + _hashAnimCheckTimeout, + _hashChangedByScript, + _hashChangedByHistory, + _hashReseted, + _initialHash, + _historyChanged, + _closedFromURL, + _urlChangedOnce, + _windowLoc, + + _supportsPushState, + + _getHash = function() { + return _windowLoc.hash.substring(1); + }, + _cleanHistoryTimeouts = function() { + + if(_historyUpdateTimeout) { + clearTimeout(_historyUpdateTimeout); + } + + if(_hashAnimCheckTimeout) { + clearTimeout(_hashAnimCheckTimeout); + } + }, + + // pid - Picture index + // gid - Gallery index + _parseItemIndexFromURL = function() { + var hash = _getHash(), + params = {}; + + if(hash.length < 5) { // pid=1 + return params; + } + + var i, vars = hash.split('&'); + for (i = 0; i < vars.length; i++) { + if(!vars[i]) { + continue; + } + var pair = vars[i].split('='); + if(pair.length < 2) { + continue; + } + params[pair[0]] = pair[1]; + } + if(_options.galleryPIDs) { + // detect custom pid in hash and search for it among the items collection + var searchfor = params.pid; + params.pid = 0; // if custom pid cannot be found, fallback to the first item + for(i = 0; i < _items.length; i++) { + if(_items[i].pid === searchfor) { + params.pid = i; + break; + } + } + } else { + params.pid = parseInt(params.pid,10)-1; + } + if( params.pid < 0 ) { + params.pid = 0; + } + return params; + }, + _updateHash = function() { + + if(_hashAnimCheckTimeout) { + clearTimeout(_hashAnimCheckTimeout); + } + + + if(_numAnimations || _isDragging) { + // changing browser URL forces layout/paint in some browsers, which causes noticable lag during animation + // that's why we update hash only when no animations running + _hashAnimCheckTimeout = setTimeout(_updateHash, 500); + return; + } + + if(_hashChangedByScript) { + clearTimeout(_hashChangeTimeout); + } else { + _hashChangedByScript = true; + } + + + var pid = (_currentItemIndex + 1); + var item = _getItemAt( _currentItemIndex ); + if(item.hasOwnProperty('pid')) { + // carry forward any custom pid assigned to the item + pid = item.pid; + } + var newHash = _initialHash + '&' + 'gid=' + _options.galleryUID + '&' + 'pid=' + pid; + + if(!_historyChanged) { + if(_windowLoc.hash.indexOf(newHash) === -1) { + _urlChangedOnce = true; + } + // first time - add new hisory record, then just replace + } + + var newURL = _windowLoc.href.split('#')[0] + '#' + newHash; + + if( _supportsPushState ) { + + if('#' + newHash !== window.location.hash) { + history[_historyChanged ? 'replaceState' : 'pushState']('', document.title, newURL); + } + + } else { + if(_historyChanged) { + _windowLoc.replace( newURL ); + } else { + _windowLoc.hash = newHash; + } + } + + + + _historyChanged = true; + _hashChangeTimeout = setTimeout(function() { + _hashChangedByScript = false; + }, 60); + }; + + + + + +_registerModule('History', { + + + + publicMethods: { + initHistory: function() { + + framework.extend(_options, _historyDefaultOptions, true); + + if( !_options.history ) { + return; + } + + + _windowLoc = window.location; + _urlChangedOnce = false; + _closedFromURL = false; + _historyChanged = false; + _initialHash = _getHash(); + _supportsPushState = ('pushState' in history); + + + if(_initialHash.indexOf('gid=') > -1) { + _initialHash = _initialHash.split('&gid=')[0]; + _initialHash = _initialHash.split('?gid=')[0]; + } + + + _listen('afterChange', self.updateURL); + _listen('unbindEvents', function() { + framework.unbind(window, 'hashchange', self.onHashChange); + }); + + + var returnToOriginal = function() { + _hashReseted = true; + if(!_closedFromURL) { + + if(_urlChangedOnce) { + history.back(); + } else { + + if(_initialHash) { + _windowLoc.hash = _initialHash; + } else { + if (_supportsPushState) { + + // remove hash from url without refreshing it or scrolling to top + history.pushState('', document.title, _windowLoc.pathname + _windowLoc.search ); + } else { + _windowLoc.hash = ''; + } + } + } + + } + + _cleanHistoryTimeouts(); + }; + + + _listen('unbindEvents', function() { + if(_closedByScroll) { + // if PhotoSwipe is closed by scroll, we go "back" before the closing animation starts + // this is done to keep the scroll position + returnToOriginal(); + } + }); + _listen('destroy', function() { + if(!_hashReseted) { + returnToOriginal(); + } + }); + _listen('firstUpdate', function() { + _currentItemIndex = _parseItemIndexFromURL().pid; + }); + + + + + var index = _initialHash.indexOf('pid='); + if(index > -1) { + _initialHash = _initialHash.substring(0, index); + if(_initialHash.slice(-1) === '&') { + _initialHash = _initialHash.slice(0, -1); + } + } + + + setTimeout(function() { + if(_isOpen) { // hasn't destroyed yet + framework.bind(window, 'hashchange', self.onHashChange); + } + }, 40); + + }, + onHashChange: function() { + + if(_getHash() === _initialHash) { + + _closedFromURL = true; + self.close(); + return; + } + if(!_hashChangedByScript) { + + _hashChangedByHistory = true; + self.goTo( _parseItemIndexFromURL().pid ); + _hashChangedByHistory = false; + } + + }, + updateURL: function() { + + // Delay the update of URL, to avoid lag during transition, + // and to not to trigger actions like "refresh page sound" or "blinking favicon" to often + + _cleanHistoryTimeouts(); + + + if(_hashChangedByHistory) { + return; + } + + if(!_historyChanged) { + _updateHash(); // first time + } else { + _historyUpdateTimeout = setTimeout(_updateHash, 800); + } + } + + } +}); + + +/*>>history*/ + framework.extend(self, publicMethods); }; + return PhotoSwipe; +}); \ No newline at end of file diff --git a/assets/scripts/photoswipe.min.js b/assets/scripts/photoswipe.min.js new file mode 100755 index 00000000..1fff307e --- /dev/null +++ b/assets/scripts/photoswipe.min.js @@ -0,0 +1,4 @@ +/*! PhotoSwipe - v4.1.2 - 2017-04-05 +* http://photoswipe.com +* Copyright (c) 2017 Dmitry Semenov; */ +!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b():a.PhotoSwipe=b()}(this,function(){"use strict";var a=function(a,b,c,d){var e={features:null,bind:function(a,b,c,d){var e=(d?"remove":"add")+"EventListener";b=b.split(" ");for(var f=0;f<b.length;f++)b[f]&&a[e](b[f],c,!1)},isArray:function(a){return a instanceof Array},createEl:function(a,b){var c=document.createElement(b||"div");return a&&(c.className=a),c},getScrollY:function(){var a=window.pageYOffset;return void 0!==a?a:document.documentElement.scrollTop},unbind:function(a,b,c){e.bind(a,b,c,!0)},removeClass:function(a,b){var c=new RegExp("(\\s|^)"+b+"(\\s|$)");a.className=a.className.replace(c," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")},addClass:function(a,b){e.hasClass(a,b)||(a.className+=(a.className?" ":"")+b)},hasClass:function(a,b){return a.className&&new RegExp("(^|\\s)"+b+"(\\s|$)").test(a.className)},getChildByClass:function(a,b){for(var c=a.firstChild;c;){if(e.hasClass(c,b))return c;c=c.nextSibling}},arraySearch:function(a,b,c){for(var d=a.length;d--;)if(a[d][c]===b)return d;return-1},extend:function(a,b,c){for(var d in b)if(b.hasOwnProperty(d)){if(c&&a.hasOwnProperty(d))continue;a[d]=b[d]}},easing:{sine:{out:function(a){return Math.sin(a*(Math.PI/2))},inOut:function(a){return-(Math.cos(Math.PI*a)-1)/2}},cubic:{out:function(a){return--a*a*a+1}}},detectFeatures:function(){if(e.features)return e.features;var a=e.createEl(),b=a.style,c="",d={};if(d.oldIE=document.all&&!document.addEventListener,d.touch="ontouchstart"in window,window.requestAnimationFrame&&(d.raf=window.requestAnimationFrame,d.caf=window.cancelAnimationFrame),d.pointerEvent=navigator.pointerEnabled||navigator.msPointerEnabled,!d.pointerEvent){var f=navigator.userAgent;if(/iP(hone|od)/.test(navigator.platform)){var g=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);g&&g.length>0&&(g=parseInt(g[1],10),g>=1&&g<8&&(d.isOldIOSPhone=!0))}var h=f.match(/Android\s([0-9\.]*)/),i=h?h[1]:0;i=parseFloat(i),i>=1&&(i<4.4&&(d.isOldAndroid=!0),d.androidVersion=i),d.isMobileOpera=/opera mini|opera mobi/i.test(f)}for(var j,k,l=["transform","perspective","animationName"],m=["","webkit","Moz","ms","O"],n=0;n<4;n++){c=m[n];for(var o=0;o<3;o++)j=l[o],k=c+(c?j.charAt(0).toUpperCase()+j.slice(1):j),!d[j]&&k in b&&(d[j]=k);c&&!d.raf&&(c=c.toLowerCase(),d.raf=window[c+"RequestAnimationFrame"],d.raf&&(d.caf=window[c+"CancelAnimationFrame"]||window[c+"CancelRequestAnimationFrame"]))}if(!d.raf){var p=0;d.raf=function(a){var b=(new Date).getTime(),c=Math.max(0,16-(b-p)),d=window.setTimeout(function(){a(b+c)},c);return p=b+c,d},d.caf=function(a){clearTimeout(a)}}return d.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,e.features=d,d}};e.detectFeatures(),e.features.oldIE&&(e.bind=function(a,b,c,d){b=b.split(" ");for(var e,f=(d?"detach":"attach")+"Event",g=function(){c.handleEvent.call(c)},h=0;h<b.length;h++)if(e=b[h])if("object"==typeof c&&c.handleEvent){if(d){if(!c["oldIE"+e])return!1}else c["oldIE"+e]=g;a[f]("on"+e,c["oldIE"+e])}else a[f]("on"+e,c)});var f=this,g=25,h=3,i={allowPanToNext:!0,spacing:.12,bgOpacity:1,mouseUsed:!1,loop:!0,pinchToClose:!0,closeOnScroll:!0,closeOnVerticalDrag:!0,verticalDragRange:.75,hideAnimationDuration:333,showAnimationDuration:333,showHideOpacity:!1,focus:!0,escKey:!0,arrowKeys:!0,mainScrollEndFriction:.35,panEndFriction:.35,isClickableElement:function(a){return"A"===a.tagName},getDoubleTapZoom:function(a,b){return a?1:b.initialZoomLevel<.7?1:1.33},maxSpreadZoom:1.33,modal:!0,scaleMode:"fit"};e.extend(i,d);var j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma=function(){return{x:0,y:0}},na=ma(),oa=ma(),pa=ma(),qa={},ra=0,sa={},ta=ma(),ua=0,va=!0,wa=[],xa={},ya=!1,za=function(a,b){e.extend(f,b.publicMethods),wa.push(a)},Aa=function(a){var b=ac();return a>b-1?a-b:a<0?b+a:a},Ba={},Ca=function(a,b){return Ba[a]||(Ba[a]=[]),Ba[a].push(b)},Da=function(a){var b=Ba[a];if(b){var c=Array.prototype.slice.call(arguments);c.shift();for(var d=0;d<b.length;d++)b[d].apply(f,c)}},Ea=function(){return(new Date).getTime()},Fa=function(a){ja=a,f.bg.style.opacity=a*i.bgOpacity},Ga=function(a,b,c,d,e){(!ya||e&&e!==f.currItem)&&(d/=e?e.fitRatio:f.currItem.fitRatio),a[E]=u+b+"px, "+c+"px"+v+" scale("+d+")"},Ha=function(a){ea&&(a&&(s>f.currItem.fitRatio?ya||(mc(f.currItem,!1,!0),ya=!0):ya&&(mc(f.currItem),ya=!1)),Ga(ea,pa.x,pa.y,s))},Ia=function(a){a.container&&Ga(a.container.style,a.initialPosition.x,a.initialPosition.y,a.initialZoomLevel,a)},Ja=function(a,b){b[E]=u+a+"px, 0px"+v},Ka=function(a,b){if(!i.loop&&b){var c=m+(ta.x*ra-a)/ta.x,d=Math.round(a-tb.x);(c<0&&d>0||c>=ac()-1&&d<0)&&(a=tb.x+d*i.mainScrollEndFriction)}tb.x=a,Ja(a,n)},La=function(a,b){var c=ub[a]-sa[a];return oa[a]+na[a]+c-c*(b/t)},Ma=function(a,b){a.x=b.x,a.y=b.y,b.id&&(a.id=b.id)},Na=function(a){a.x=Math.round(a.x),a.y=Math.round(a.y)},Oa=null,Pa=function(){Oa&&(e.unbind(document,"mousemove",Pa),e.addClass(a,"pswp--has_mouse"),i.mouseUsed=!0,Da("mouseUsed")),Oa=setTimeout(function(){Oa=null},100)},Qa=function(){e.bind(document,"keydown",f),N.transform&&e.bind(f.scrollWrap,"click",f),i.mouseUsed||e.bind(document,"mousemove",Pa),e.bind(window,"resize scroll orientationchange",f),Da("bindEvents")},Ra=function(){e.unbind(window,"resize scroll orientationchange",f),e.unbind(window,"scroll",r.scroll),e.unbind(document,"keydown",f),e.unbind(document,"mousemove",Pa),N.transform&&e.unbind(f.scrollWrap,"click",f),V&&e.unbind(window,p,f),clearTimeout(O),Da("unbindEvents")},Sa=function(a,b){var c=ic(f.currItem,qa,a);return b&&(da=c),c},Ta=function(a){return a||(a=f.currItem),a.initialZoomLevel},Ua=function(a){return a||(a=f.currItem),a.w>0?i.maxSpreadZoom:1},Va=function(a,b,c,d){return d===f.currItem.initialZoomLevel?(c[a]=f.currItem.initialPosition[a],!0):(c[a]=La(a,d),c[a]>b.min[a]?(c[a]=b.min[a],!0):c[a]<b.max[a]&&(c[a]=b.max[a],!0))},Wa=function(){if(E){var b=N.perspective&&!G;return u="translate"+(b?"3d(":"("),void(v=N.perspective?", 0px)":")")}E="left",e.addClass(a,"pswp--ie"),Ja=function(a,b){b.left=a+"px"},Ia=function(a){var b=a.fitRatio>1?1:a.fitRatio,c=a.container.style,d=b*a.w,e=b*a.h;c.width=d+"px",c.height=e+"px",c.left=a.initialPosition.x+"px",c.top=a.initialPosition.y+"px"},Ha=function(){if(ea){var a=ea,b=f.currItem,c=b.fitRatio>1?1:b.fitRatio,d=c*b.w,e=c*b.h;a.width=d+"px",a.height=e+"px",a.left=pa.x+"px",a.top=pa.y+"px"}}},Xa=function(a){var b="";i.escKey&&27===a.keyCode?b="close":i.arrowKeys&&(37===a.keyCode?b="prev":39===a.keyCode&&(b="next")),b&&(a.ctrlKey||a.altKey||a.shiftKey||a.metaKey||(a.preventDefault?a.preventDefault():a.returnValue=!1,f[b]()))},Ya=function(a){a&&(Y||X||fa||T)&&(a.preventDefault(),a.stopPropagation())},Za=function(){f.setScrollOffset(0,e.getScrollY())},$a={},_a=0,ab=function(a){$a[a]&&($a[a].raf&&I($a[a].raf),_a--,delete $a[a])},bb=function(a){$a[a]&&ab(a),$a[a]||(_a++,$a[a]={})},cb=function(){for(var a in $a)$a.hasOwnProperty(a)&&ab(a)},db=function(a,b,c,d,e,f,g){var h,i=Ea();bb(a);var j=function(){if($a[a]){if(h=Ea()-i,h>=d)return ab(a),f(c),void(g&&g());f((c-b)*e(h/d)+b),$a[a].raf=H(j)}};j()},eb={shout:Da,listen:Ca,viewportSize:qa,options:i,isMainScrollAnimating:function(){return fa},getZoomLevel:function(){return s},getCurrentIndex:function(){return m},isDragging:function(){return V},isZooming:function(){return aa},setScrollOffset:function(a,b){sa.x=a,M=sa.y=b,Da("updateScrollOffset",sa)},applyZoomPan:function(a,b,c,d){pa.x=b,pa.y=c,s=a,Ha(d)},init:function(){if(!j&&!k){var c;f.framework=e,f.template=a,f.bg=e.getChildByClass(a,"pswp__bg"),J=a.className,j=!0,N=e.detectFeatures(),H=N.raf,I=N.caf,E=N.transform,L=N.oldIE,f.scrollWrap=e.getChildByClass(a,"pswp__scroll-wrap"),f.container=e.getChildByClass(f.scrollWrap,"pswp__container"),n=f.container.style,f.itemHolders=y=[{el:f.container.children[0],wrap:0,index:-1},{el:f.container.children[1],wrap:0,index:-1},{el:f.container.children[2],wrap:0,index:-1}],y[0].el.style.display=y[2].el.style.display="none",Wa(),r={resize:f.updateSize,orientationchange:function(){clearTimeout(O),O=setTimeout(function(){qa.x!==f.scrollWrap.clientWidth&&f.updateSize()},500)},scroll:Za,keydown:Xa,click:Ya};var d=N.isOldIOSPhone||N.isOldAndroid||N.isMobileOpera;for(N.animationName&&N.transform&&!d||(i.showAnimationDuration=i.hideAnimationDuration=0),c=0;c<wa.length;c++)f["init"+wa[c]]();if(b){var g=f.ui=new b(f,e);g.init()}Da("firstUpdate"),m=m||i.index||0,(isNaN(m)||m<0||m>=ac())&&(m=0),f.currItem=_b(m),(N.isOldIOSPhone||N.isOldAndroid)&&(va=!1),a.setAttribute("aria-hidden","false"),i.modal&&(va?a.style.position="fixed":(a.style.position="absolute",a.style.top=e.getScrollY()+"px")),void 0===M&&(Da("initialLayout"),M=K=e.getScrollY());var l="pswp--open ";for(i.mainClass&&(l+=i.mainClass+" "),i.showHideOpacity&&(l+="pswp--animate_opacity "),l+=G?"pswp--touch":"pswp--notouch",l+=N.animationName?" pswp--css_animation":"",l+=N.svg?" pswp--svg":"",e.addClass(a,l),f.updateSize(),o=-1,ua=null,c=0;c<h;c++)Ja((c+o)*ta.x,y[c].el.style);L||e.bind(f.scrollWrap,q,f),Ca("initialZoomInEnd",function(){f.setContent(y[0],m-1),f.setContent(y[2],m+1),y[0].el.style.display=y[2].el.style.display="block",i.focus&&a.focus(),Qa()}),f.setContent(y[1],m),f.updateCurrItem(),Da("afterInit"),va||(w=setInterval(function(){_a||V||aa||s!==f.currItem.initialZoomLevel||f.updateSize()},1e3)),e.addClass(a,"pswp--visible")}},close:function(){j&&(j=!1,k=!0,Da("close"),Ra(),cc(f.currItem,null,!0,f.destroy))},destroy:function(){Da("destroy"),Xb&&clearTimeout(Xb),a.setAttribute("aria-hidden","true"),a.className=J,w&&clearInterval(w),e.unbind(f.scrollWrap,q,f),e.unbind(window,"scroll",f),zb(),cb(),Ba=null},panTo:function(a,b,c){c||(a>da.min.x?a=da.min.x:a<da.max.x&&(a=da.max.x),b>da.min.y?b=da.min.y:b<da.max.y&&(b=da.max.y)),pa.x=a,pa.y=b,Ha()},handleEvent:function(a){a=a||window.event,r[a.type]&&r[a.type](a)},goTo:function(a){a=Aa(a);var b=a-m;ua=b,m=a,f.currItem=_b(m),ra-=b,Ka(ta.x*ra),cb(),fa=!1,f.updateCurrItem()},next:function(){f.goTo(m+1)},prev:function(){f.goTo(m-1)},updateCurrZoomItem:function(a){if(a&&Da("beforeChange",0),y[1].el.children.length){var b=y[1].el.children[0];ea=e.hasClass(b,"pswp__zoom-wrap")?b.style:null}else ea=null;da=f.currItem.bounds,t=s=f.currItem.initialZoomLevel,pa.x=da.center.x,pa.y=da.center.y,a&&Da("afterChange")},invalidateCurrItems:function(){x=!0;for(var a=0;a<h;a++)y[a].item&&(y[a].item.needsUpdate=!0)},updateCurrItem:function(a){if(0!==ua){var b,c=Math.abs(ua);if(!(a&&c<2)){f.currItem=_b(m),ya=!1,Da("beforeChange",ua),c>=h&&(o+=ua+(ua>0?-h:h),c=h);for(var d=0;d<c;d++)ua>0?(b=y.shift(),y[h-1]=b,o++,Ja((o+2)*ta.x,b.el.style),f.setContent(b,m-c+d+1+1)):(b=y.pop(),y.unshift(b),o--,Ja(o*ta.x,b.el.style),f.setContent(b,m+c-d-1-1));if(ea&&1===Math.abs(ua)){var e=_b(z);e.initialZoomLevel!==s&&(ic(e,qa),mc(e),Ia(e))}ua=0,f.updateCurrZoomItem(),z=m,Da("afterChange")}}},updateSize:function(b){if(!va&&i.modal){var c=e.getScrollY();if(M!==c&&(a.style.top=c+"px",M=c),!b&&xa.x===window.innerWidth&&xa.y===window.innerHeight)return;xa.x=window.innerWidth,xa.y=window.innerHeight,a.style.height=xa.y+"px"}if(qa.x=f.scrollWrap.clientWidth,qa.y=f.scrollWrap.clientHeight,Za(),ta.x=qa.x+Math.round(qa.x*i.spacing),ta.y=qa.y,Ka(ta.x*ra),Da("beforeResize"),void 0!==o){for(var d,g,j,k=0;k<h;k++)d=y[k],Ja((k+o)*ta.x,d.el.style),j=m+k-1,i.loop&&ac()>2&&(j=Aa(j)),g=_b(j),g&&(x||g.needsUpdate||!g.bounds)?(f.cleanSlide(g),f.setContent(d,j),1===k&&(f.currItem=g,f.updateCurrZoomItem(!0)),g.needsUpdate=!1):d.index===-1&&j>=0&&f.setContent(d,j),g&&g.container&&(ic(g,qa),mc(g),Ia(g));x=!1}t=s=f.currItem.initialZoomLevel,da=f.currItem.bounds,da&&(pa.x=da.center.x,pa.y=da.center.y,Ha(!0)),Da("resize")},zoomTo:function(a,b,c,d,f){b&&(t=s,ub.x=Math.abs(b.x)-pa.x,ub.y=Math.abs(b.y)-pa.y,Ma(oa,pa));var g=Sa(a,!1),h={};Va("x",g,h,a),Va("y",g,h,a);var i=s,j={x:pa.x,y:pa.y};Na(h);var k=function(b){1===b?(s=a,pa.x=h.x,pa.y=h.y):(s=(a-i)*b+i,pa.x=(h.x-j.x)*b+j.x,pa.y=(h.y-j.y)*b+j.y),f&&f(b),Ha(1===b)};c?db("customZoomTo",0,1,c,d||e.easing.sine.inOut,k):k(1)}},fb=30,gb=10,hb={},ib={},jb={},kb={},lb={},mb=[],nb={},ob=[],pb={},qb=0,rb=ma(),sb=0,tb=ma(),ub=ma(),vb=ma(),wb=function(a,b){return a.x===b.x&&a.y===b.y},xb=function(a,b){return Math.abs(a.x-b.x)<g&&Math.abs(a.y-b.y)<g},yb=function(a,b){return pb.x=Math.abs(a.x-b.x),pb.y=Math.abs(a.y-b.y),Math.sqrt(pb.x*pb.x+pb.y*pb.y)},zb=function(){Z&&(I(Z),Z=null)},Ab=function(){V&&(Z=H(Ab),Qb())},Bb=function(){return!("fit"===i.scaleMode&&s===f.currItem.initialZoomLevel)},Cb=function(a,b){return!(!a||a===document)&&(!(a.getAttribute("class")&&a.getAttribute("class").indexOf("pswp__scroll-wrap")>-1)&&(b(a)?a:Cb(a.parentNode,b)))},Db={},Eb=function(a,b){return Db.prevent=!Cb(a.target,i.isClickableElement),Da("preventDragEvent",a,b,Db),Db.prevent},Fb=function(a,b){return b.x=a.pageX,b.y=a.pageY,b.id=a.identifier,b},Gb=function(a,b,c){c.x=.5*(a.x+b.x),c.y=.5*(a.y+b.y)},Hb=function(a,b,c){if(a-Q>50){var d=ob.length>2?ob.shift():{};d.x=b,d.y=c,ob.push(d),Q=a}},Ib=function(){var a=pa.y-f.currItem.initialPosition.y;return 1-Math.abs(a/(qa.y/2))},Jb={},Kb={},Lb=[],Mb=function(a){for(;Lb.length>0;)Lb.pop();return F?(la=0,mb.forEach(function(a){0===la?Lb[0]=a:1===la&&(Lb[1]=a),la++})):a.type.indexOf("touch")>-1?a.touches&&a.touches.length>0&&(Lb[0]=Fb(a.touches[0],Jb),a.touches.length>1&&(Lb[1]=Fb(a.touches[1],Kb))):(Jb.x=a.pageX,Jb.y=a.pageY,Jb.id="",Lb[0]=Jb),Lb},Nb=function(a,b){var c,d,e,g,h=0,j=pa[a]+b[a],k=b[a]>0,l=tb.x+b.x,m=tb.x-nb.x;return c=j>da.min[a]||j<da.max[a]?i.panEndFriction:1,j=pa[a]+b[a]*c,!i.allowPanToNext&&s!==f.currItem.initialZoomLevel||(ea?"h"!==ga||"x"!==a||X||(k?(j>da.min[a]&&(c=i.panEndFriction,h=da.min[a]-j,d=da.min[a]-oa[a]),(d<=0||m<0)&&ac()>1?(g=l,m<0&&l>nb.x&&(g=nb.x)):da.min.x!==da.max.x&&(e=j)):(j<da.max[a]&&(c=i.panEndFriction,h=j-da.max[a],d=oa[a]-da.max[a]),(d<=0||m>0)&&ac()>1?(g=l,m>0&&l<nb.x&&(g=nb.x)):da.min.x!==da.max.x&&(e=j))):g=l,"x"!==a)?void(fa||$||s>f.currItem.fitRatio&&(pa[a]+=b[a]*c)):(void 0!==g&&(Ka(g,!0),$=g!==nb.x),da.min.x!==da.max.x&&(void 0!==e?pa.x=e:$||(pa.x+=b.x*c)),void 0!==g)},Ob=function(a){if(!("mousedown"===a.type&&a.button>0)){if($b)return void a.preventDefault();if(!U||"mousedown"!==a.type){if(Eb(a,!0)&&a.preventDefault(),Da("pointerDown"),F){var b=e.arraySearch(mb,a.pointerId,"id");b<0&&(b=mb.length),mb[b]={x:a.pageX,y:a.pageY,id:a.pointerId}}var c=Mb(a),d=c.length;_=null,cb(),V&&1!==d||(V=ha=!0,e.bind(window,p,f),S=ka=ia=T=$=Y=W=X=!1,ga=null,Da("firstTouchStart",c),Ma(oa,pa),na.x=na.y=0,Ma(kb,c[0]),Ma(lb,kb),nb.x=ta.x*ra,ob=[{x:kb.x,y:kb.y}],Q=P=Ea(),Sa(s,!0),zb(),Ab()),!aa&&d>1&&!fa&&!$&&(t=s,X=!1,aa=W=!0,na.y=na.x=0,Ma(oa,pa),Ma(hb,c[0]),Ma(ib,c[1]),Gb(hb,ib,vb),ub.x=Math.abs(vb.x)-pa.x,ub.y=Math.abs(vb.y)-pa.y,ba=ca=yb(hb,ib))}}},Pb=function(a){if(a.preventDefault(),F){var b=e.arraySearch(mb,a.pointerId,"id");if(b>-1){var c=mb[b];c.x=a.pageX,c.y=a.pageY}}if(V){var d=Mb(a);if(ga||Y||aa)_=d;else if(tb.x!==ta.x*ra)ga="h";else{var f=Math.abs(d[0].x-kb.x)-Math.abs(d[0].y-kb.y);Math.abs(f)>=gb&&(ga=f>0?"h":"v",_=d)}}},Qb=function(){if(_){var a=_.length;if(0!==a)if(Ma(hb,_[0]),jb.x=hb.x-kb.x,jb.y=hb.y-kb.y,aa&&a>1){if(kb.x=hb.x,kb.y=hb.y,!jb.x&&!jb.y&&wb(_[1],ib))return;Ma(ib,_[1]),X||(X=!0,Da("zoomGestureStarted"));var b=yb(hb,ib),c=Vb(b);c>f.currItem.initialZoomLevel+f.currItem.initialZoomLevel/15&&(ka=!0);var d=1,e=Ta(),g=Ua();if(c<e)if(i.pinchToClose&&!ka&&t<=f.currItem.initialZoomLevel){var h=e-c,j=1-h/(e/1.2);Fa(j),Da("onPinchClose",j),ia=!0}else d=(e-c)/e,d>1&&(d=1),c=e-d*(e/3);else c>g&&(d=(c-g)/(6*e),d>1&&(d=1),c=g+d*e);d<0&&(d=0),ba=b,Gb(hb,ib,rb),na.x+=rb.x-vb.x,na.y+=rb.y-vb.y,Ma(vb,rb),pa.x=La("x",c),pa.y=La("y",c),S=c>s,s=c,Ha()}else{if(!ga)return;if(ha&&(ha=!1,Math.abs(jb.x)>=gb&&(jb.x-=_[0].x-lb.x),Math.abs(jb.y)>=gb&&(jb.y-=_[0].y-lb.y)),kb.x=hb.x,kb.y=hb.y,0===jb.x&&0===jb.y)return;if("v"===ga&&i.closeOnVerticalDrag&&!Bb()){na.y+=jb.y,pa.y+=jb.y;var k=Ib();return T=!0,Da("onVerticalDrag",k),Fa(k),void Ha()}Hb(Ea(),hb.x,hb.y),Y=!0,da=f.currItem.bounds;var l=Nb("x",jb);l||(Nb("y",jb),Na(pa),Ha())}}},Rb=function(a){if(N.isOldAndroid){if(U&&"mouseup"===a.type)return;a.type.indexOf("touch")>-1&&(clearTimeout(U),U=setTimeout(function(){U=0},600))}Da("pointerUp"),Eb(a,!1)&&a.preventDefault();var b;if(F){var c=e.arraySearch(mb,a.pointerId,"id");if(c>-1)if(b=mb.splice(c,1)[0],navigator.pointerEnabled)b.type=a.pointerType||"mouse";else{var d={4:"mouse",2:"touch",3:"pen"};b.type=d[a.pointerType],b.type||(b.type=a.pointerType||"mouse")}}var g,h=Mb(a),j=h.length;if("mouseup"===a.type&&(j=0),2===j)return _=null,!0;1===j&&Ma(lb,h[0]),0!==j||ga||fa||(b||("mouseup"===a.type?b={x:a.pageX,y:a.pageY,type:"mouse"}:a.changedTouches&&a.changedTouches[0]&&(b={x:a.changedTouches[0].pageX,y:a.changedTouches[0].pageY,type:"touch"})),Da("touchRelease",a,b));var k=-1;if(0===j&&(V=!1,e.unbind(window,p,f),zb(),aa?k=0:sb!==-1&&(k=Ea()-sb)),sb=1===j?Ea():-1,g=k!==-1&&k<150?"zoom":"swipe",aa&&j<2&&(aa=!1,1===j&&(g="zoomPointerUp"),Da("zoomGestureEnded")),_=null,Y||X||fa||T)if(cb(),R||(R=Sb()),R.calculateSwipeSpeed("x"),T){var l=Ib();if(l<i.verticalDragRange)f.close();else{var m=pa.y,n=ja;db("verticalDrag",0,1,300,e.easing.cubic.out,function(a){pa.y=(f.currItem.initialPosition.y-m)*a+m,Fa((1-n)*a+n),Ha()}),Da("onVerticalDrag",1)}}else{if(($||fa)&&0===j){var o=Ub(g,R);if(o)return;g="zoomPointerUp"}if(!fa)return"swipe"!==g?void Wb():void(!$&&s>f.currItem.fitRatio&&Tb(R))}},Sb=function(){var a,b,c={lastFlickOffset:{},lastFlickDist:{},lastFlickSpeed:{},slowDownRatio:{},slowDownRatioReverse:{},speedDecelerationRatio:{},speedDecelerationRatioAbs:{},distanceOffset:{},backAnimDestination:{},backAnimStarted:{},calculateSwipeSpeed:function(d){ob.length>1?(a=Ea()-Q+50,b=ob[ob.length-2][d]):(a=Ea()-P,b=lb[d]),c.lastFlickOffset[d]=kb[d]-b,c.lastFlickDist[d]=Math.abs(c.lastFlickOffset[d]),c.lastFlickDist[d]>20?c.lastFlickSpeed[d]=c.lastFlickOffset[d]/a:c.lastFlickSpeed[d]=0,Math.abs(c.lastFlickSpeed[d])<.1&&(c.lastFlickSpeed[d]=0),c.slowDownRatio[d]=.95,c.slowDownRatioReverse[d]=1-c.slowDownRatio[d],c.speedDecelerationRatio[d]=1},calculateOverBoundsAnimOffset:function(a,b){c.backAnimStarted[a]||(pa[a]>da.min[a]?c.backAnimDestination[a]=da.min[a]:pa[a]<da.max[a]&&(c.backAnimDestination[a]=da.max[a]),void 0!==c.backAnimDestination[a]&&(c.slowDownRatio[a]=.7,c.slowDownRatioReverse[a]=1-c.slowDownRatio[a],c.speedDecelerationRatioAbs[a]<.05&&(c.lastFlickSpeed[a]=0,c.backAnimStarted[a]=!0,db("bounceZoomPan"+a,pa[a],c.backAnimDestination[a],b||300,e.easing.sine.out,function(b){pa[a]=b,Ha()}))))},calculateAnimOffset:function(a){c.backAnimStarted[a]||(c.speedDecelerationRatio[a]=c.speedDecelerationRatio[a]*(c.slowDownRatio[a]+c.slowDownRatioReverse[a]-c.slowDownRatioReverse[a]*c.timeDiff/10),c.speedDecelerationRatioAbs[a]=Math.abs(c.lastFlickSpeed[a]*c.speedDecelerationRatio[a]),c.distanceOffset[a]=c.lastFlickSpeed[a]*c.speedDecelerationRatio[a]*c.timeDiff,pa[a]+=c.distanceOffset[a])},panAnimLoop:function(){if($a.zoomPan&&($a.zoomPan.raf=H(c.panAnimLoop),c.now=Ea(),c.timeDiff=c.now-c.lastNow,c.lastNow=c.now,c.calculateAnimOffset("x"),c.calculateAnimOffset("y"),Ha(),c.calculateOverBoundsAnimOffset("x"),c.calculateOverBoundsAnimOffset("y"),c.speedDecelerationRatioAbs.x<.05&&c.speedDecelerationRatioAbs.y<.05))return pa.x=Math.round(pa.x),pa.y=Math.round(pa.y),Ha(),void ab("zoomPan")}};return c},Tb=function(a){return a.calculateSwipeSpeed("y"),da=f.currItem.bounds,a.backAnimDestination={},a.backAnimStarted={},Math.abs(a.lastFlickSpeed.x)<=.05&&Math.abs(a.lastFlickSpeed.y)<=.05?(a.speedDecelerationRatioAbs.x=a.speedDecelerationRatioAbs.y=0,a.calculateOverBoundsAnimOffset("x"),a.calculateOverBoundsAnimOffset("y"),!0):(bb("zoomPan"),a.lastNow=Ea(),void a.panAnimLoop())},Ub=function(a,b){var c;fa||(qb=m);var d;if("swipe"===a){var g=kb.x-lb.x,h=b.lastFlickDist.x<10;g>fb&&(h||b.lastFlickOffset.x>20)?d=-1:g<-fb&&(h||b.lastFlickOffset.x<-20)&&(d=1)}var j;d&&(m+=d,m<0?(m=i.loop?ac()-1:0,j=!0):m>=ac()&&(m=i.loop?0:ac()-1,j=!0),j&&!i.loop||(ua+=d,ra-=d,c=!0));var k,l=ta.x*ra,n=Math.abs(l-tb.x);return c||l>tb.x==b.lastFlickSpeed.x>0?(k=Math.abs(b.lastFlickSpeed.x)>0?n/Math.abs(b.lastFlickSpeed.x):333,k=Math.min(k,400),k=Math.max(k,250)):k=333,qb===m&&(c=!1),fa=!0,Da("mainScrollAnimStart"),db("mainScroll",tb.x,l,k,e.easing.cubic.out,Ka,function(){cb(),fa=!1,qb=-1,(c||qb!==m)&&f.updateCurrItem(),Da("mainScrollAnimComplete")}),c&&f.updateCurrItem(!0),c},Vb=function(a){return 1/ca*a*t},Wb=function(){var a=s,b=Ta(),c=Ua();s<b?a=b:s>c&&(a=c);var d,g=1,h=ja;return ia&&!S&&!ka&&s<b?(f.close(),!0):(ia&&(d=function(a){Fa((g-h)*a+h)}),f.zoomTo(a,0,200,e.easing.cubic.out,d),!0)};za("Gestures",{publicMethods:{initGestures:function(){var a=function(a,b,c,d,e){A=a+b,B=a+c,C=a+d,D=e?a+e:""};F=N.pointerEvent,F&&N.touch&&(N.touch=!1),F?navigator.pointerEnabled?a("pointer","down","move","up","cancel"):a("MSPointer","Down","Move","Up","Cancel"):N.touch?(a("touch","start","move","end","cancel"),G=!0):a("mouse","down","move","up"),p=B+" "+C+" "+D,q=A,F&&!G&&(G=navigator.maxTouchPoints>1||navigator.msMaxTouchPoints>1),f.likelyTouchDevice=G,r[A]=Ob,r[B]=Pb,r[C]=Rb,D&&(r[D]=r[C]),N.touch&&(q+=" mousedown",p+=" mousemove mouseup",r.mousedown=r[A],r.mousemove=r[B],r.mouseup=r[C]),G||(i.allowPanToNext=!1)}}});var Xb,Yb,Zb,$b,_b,ac,bc,cc=function(b,c,d,g){Xb&&clearTimeout(Xb),$b=!0,Zb=!0;var h;b.initialLayout?(h=b.initialLayout,b.initialLayout=null):h=i.getThumbBoundsFn&&i.getThumbBoundsFn(m);var j=d?i.hideAnimationDuration:i.showAnimationDuration,k=function(){ab("initialZoom"),d?(f.template.removeAttribute("style"),f.bg.removeAttribute("style")):(Fa(1),c&&(c.style.display="block"),e.addClass(a,"pswp--animated-in"),Da("initialZoom"+(d?"OutEnd":"InEnd"))),g&&g(),$b=!1};if(!j||!h||void 0===h.x)return Da("initialZoom"+(d?"Out":"In")),s=b.initialZoomLevel,Ma(pa,b.initialPosition),Ha(),a.style.opacity=d?0:1,Fa(1),void(j?setTimeout(function(){k()},j):k());var n=function(){var c=l,g=!f.currItem.src||f.currItem.loadError||i.showHideOpacity;b.miniImg&&(b.miniImg.style.webkitBackfaceVisibility="hidden"),d||(s=h.w/b.w,pa.x=h.x,pa.y=h.y-K,f[g?"template":"bg"].style.opacity=.001,Ha()),bb("initialZoom"),d&&!c&&e.removeClass(a,"pswp--animated-in"),g&&(d?e[(c?"remove":"add")+"Class"](a,"pswp--animate_opacity"):setTimeout(function(){e.addClass(a,"pswp--animate_opacity")},30)),Xb=setTimeout(function(){if(Da("initialZoom"+(d?"Out":"In")),d){var f=h.w/b.w,i={x:pa.x,y:pa.y},l=s,m=ja,n=function(b){1===b?(s=f,pa.x=h.x,pa.y=h.y-M):(s=(f-l)*b+l,pa.x=(h.x-i.x)*b+i.x,pa.y=(h.y-M-i.y)*b+i.y),Ha(),g?a.style.opacity=1-b:Fa(m-b*m)};c?db("initialZoom",0,1,j,e.easing.cubic.out,n,k):(n(1),Xb=setTimeout(k,j+20))}else s=b.initialZoomLevel,Ma(pa,b.initialPosition),Ha(),Fa(1),g?a.style.opacity=1:Fa(1),Xb=setTimeout(k,j+20)},d?25:90)};n()},dc={},ec=[],fc={index:0,errorMsg:'<div class="pswp__error-msg"><a href="%url%" target="_blank">The image</a> could not be loaded.</div>',forceProgressiveLoading:!1,preload:[1,1],getNumItemsFn:function(){return Yb.length}},gc=function(){return{center:{x:0,y:0},max:{x:0,y:0},min:{x:0,y:0}}},hc=function(a,b,c){var d=a.bounds;d.center.x=Math.round((dc.x-b)/2),d.center.y=Math.round((dc.y-c)/2)+a.vGap.top,d.max.x=b>dc.x?Math.round(dc.x-b):d.center.x,d.max.y=c>dc.y?Math.round(dc.y-c)+a.vGap.top:d.center.y,d.min.x=b>dc.x?0:d.center.x,d.min.y=c>dc.y?a.vGap.top:d.center.y},ic=function(a,b,c){if(a.src&&!a.loadError){var d=!c;if(d&&(a.vGap||(a.vGap={top:0,bottom:0}),Da("parseVerticalMargin",a)),dc.x=b.x,dc.y=b.y-a.vGap.top-a.vGap.bottom,d){var e=dc.x/a.w,f=dc.y/a.h;a.fitRatio=e<f?e:f;var g=i.scaleMode;"orig"===g?c=1:"fit"===g&&(c=a.fitRatio),c>1&&(c=1),a.initialZoomLevel=c,a.bounds||(a.bounds=gc())}if(!c)return;return hc(a,a.w*c,a.h*c),d&&c===a.initialZoomLevel&&(a.initialPosition=a.bounds.center),a.bounds}return a.w=a.h=0,a.initialZoomLevel=a.fitRatio=1,a.bounds=gc(),a.initialPosition=a.bounds.center,a.bounds},jc=function(a,b,c,d,e,g){b.loadError||d&&(b.imageAppended=!0,mc(b,d,b===f.currItem&&ya),c.appendChild(d),g&&setTimeout(function(){b&&b.loaded&&b.placeholder&&(b.placeholder.style.display="none",b.placeholder=null)},500))},kc=function(a){a.loading=!0,a.loaded=!1;var b=a.img=e.createEl("pswp__img","img"),c=function(){a.loading=!1,a.loaded=!0,a.loadComplete?a.loadComplete(a):a.img=null,b.onload=b.onerror=null,b=null};return b.onload=c,b.onerror=function(){a.loadError=!0,c()},b.src=a.src,b},lc=function(a,b){if(a.src&&a.loadError&&a.container)return b&&(a.container.innerHTML=""),a.container.innerHTML=i.errorMsg.replace("%url%",a.src),!0},mc=function(a,b,c){if(a.src){b||(b=a.container.lastChild);var d=c?a.w:Math.round(a.w*a.fitRatio),e=c?a.h:Math.round(a.h*a.fitRatio);a.placeholder&&!a.loaded&&(a.placeholder.style.width=d+"px",a.placeholder.style.height=e+"px"),b.style.width=d+"px",b.style.height=e+"px"}},nc=function(){if(ec.length){for(var a,b=0;b<ec.length;b++)a=ec[b],a.holder.index===a.index&&jc(a.index,a.item,a.baseDiv,a.img,!1,a.clearPlaceholder);ec=[]}};za("Controller",{publicMethods:{lazyLoadItem:function(a){a=Aa(a);var b=_b(a);b&&(!b.loaded&&!b.loading||x)&&(Da("gettingData",a,b),b.src&&kc(b))},initController:function(){e.extend(i,fc,!0),f.items=Yb=c,_b=f.getItemAt,ac=i.getNumItemsFn,bc=i.loop,ac()<3&&(i.loop=!1),Ca("beforeChange",function(a){var b,c=i.preload,d=null===a||a>=0,e=Math.min(c[0],ac()),g=Math.min(c[1],ac());for(b=1;b<=(d?g:e);b++)f.lazyLoadItem(m+b);for(b=1;b<=(d?e:g);b++)f.lazyLoadItem(m-b)}),Ca("initialLayout",function(){f.currItem.initialLayout=i.getThumbBoundsFn&&i.getThumbBoundsFn(m)}),Ca("mainScrollAnimComplete",nc),Ca("initialZoomInEnd",nc),Ca("destroy",function(){for(var a,b=0;b<Yb.length;b++)a=Yb[b],a.container&&(a.container=null),a.placeholder&&(a.placeholder=null),a.img&&(a.img=null),a.preloader&&(a.preloader=null),a.loadError&&(a.loaded=a.loadError=!1);ec=null})},getItemAt:function(a){return a>=0&&(void 0!==Yb[a]&&Yb[a])},allowProgressiveImg:function(){return i.forceProgressiveLoading||!G||i.mouseUsed||screen.width>1200},setContent:function(a,b){i.loop&&(b=Aa(b));var c=f.getItemAt(a.index);c&&(c.container=null);var d,g=f.getItemAt(b);if(!g)return void(a.el.innerHTML="");Da("gettingData",b,g),a.index=b,a.item=g;var h=g.container=e.createEl("pswp__zoom-wrap");if(!g.src&&g.html&&(g.html.tagName?h.appendChild(g.html):h.innerHTML=g.html),lc(g),ic(g,qa),!g.src||g.loadError||g.loaded)g.src&&!g.loadError&&(d=e.createEl("pswp__img","img"),d.style.opacity=1,d.src=g.src,mc(g,d),jc(b,g,h,d,!0));else{if(g.loadComplete=function(c){if(j){if(a&&a.index===b){if(lc(c,!0))return c.loadComplete=c.img=null,ic(c,qa),Ia(c),void(a.index===m&&f.updateCurrZoomItem());c.imageAppended?!$b&&c.placeholder&&(c.placeholder.style.display="none",c.placeholder=null):N.transform&&(fa||$b)?ec.push({item:c,baseDiv:h,img:c.img,index:b,holder:a,clearPlaceholder:!0}):jc(b,c,h,c.img,fa||$b,!0)}c.loadComplete=null,c.img=null,Da("imageLoadComplete",b,c)}},e.features.transform){var k="pswp__img pswp__img--placeholder";k+=g.msrc?"":" pswp__img--placeholder--blank";var l=e.createEl(k,g.msrc?"img":"");g.msrc&&(l.src=g.msrc),mc(g,l),h.appendChild(l),g.placeholder=l}g.loading||kc(g),f.allowProgressiveImg()&&(!Zb&&N.transform?ec.push({item:g,baseDiv:h,img:g.img,index:b,holder:a}):jc(b,g,h,g.img,!0,!0))}Zb||b!==m?Ia(g):(ea=h.style,cc(g,d||g.img)),a.el.innerHTML="",a.el.appendChild(h)},cleanSlide:function(a){a.img&&(a.img.onload=a.img.onerror=null),a.loaded=a.loading=a.img=a.imageAppended=!1}}});var oc,pc={},qc=function(a,b,c){var d=document.createEvent("CustomEvent"),e={origEvent:a,target:a.target,releasePoint:b,pointerType:c||"touch"};d.initCustomEvent("pswpTap",!0,!0,e),a.target.dispatchEvent(d)};za("Tap",{publicMethods:{initTap:function(){Ca("firstTouchStart",f.onTapStart),Ca("touchRelease",f.onTapRelease),Ca("destroy",function(){pc={},oc=null})},onTapStart:function(a){a.length>1&&(clearTimeout(oc),oc=null)},onTapRelease:function(a,b){if(b&&!Y&&!W&&!_a){var c=b;if(oc&&(clearTimeout(oc),oc=null,xb(c,pc)))return void Da("doubleTap",c);if("mouse"===b.type)return void qc(a,b,"mouse");var d=a.target.tagName.toUpperCase();if("BUTTON"===d||e.hasClass(a.target,"pswp__single-tap"))return void qc(a,b);Ma(pc,c),oc=setTimeout(function(){qc(a,b),oc=null},300)}}}});var rc;za("DesktopZoom",{publicMethods:{initDesktopZoom:function(){L||(G?Ca("mouseUsed",function(){f.setupDesktopZoom()}):f.setupDesktopZoom(!0))},setupDesktopZoom:function(b){rc={};var c="wheel mousewheel DOMMouseScroll";Ca("bindEvents",function(){e.bind(a,c,f.handleMouseWheel)}),Ca("unbindEvents",function(){rc&&e.unbind(a,c,f.handleMouseWheel)}),f.mouseZoomedIn=!1;var d,g=function(){f.mouseZoomedIn&&(e.removeClass(a,"pswp--zoomed-in"),f.mouseZoomedIn=!1),s<1?e.addClass(a,"pswp--zoom-allowed"):e.removeClass(a,"pswp--zoom-allowed"),h()},h=function(){d&&(e.removeClass(a,"pswp--dragging"),d=!1)};Ca("resize",g),Ca("afterChange",g),Ca("pointerDown",function(){f.mouseZoomedIn&&(d=!0,e.addClass(a,"pswp--dragging"))}),Ca("pointerUp",h),b||g()},handleMouseWheel:function(a){if(s<=f.currItem.fitRatio)return i.modal&&(!i.closeOnScroll||_a||V?a.preventDefault():E&&Math.abs(a.deltaY)>2&&(l=!0,f.close())),!0;if(a.stopPropagation(),rc.x=0,"deltaX"in a)1===a.deltaMode?(rc.x=18*a.deltaX,rc.y=18*a.deltaY):(rc.x=a.deltaX,rc.y=a.deltaY);else if("wheelDelta"in a)a.wheelDeltaX&&(rc.x=-.16*a.wheelDeltaX),a.wheelDeltaY?rc.y=-.16*a.wheelDeltaY:rc.y=-.16*a.wheelDelta;else{if(!("detail"in a))return;rc.y=a.detail}Sa(s,!0);var b=pa.x-rc.x,c=pa.y-rc.y;(i.modal||b<=da.min.x&&b>=da.max.x&&c<=da.min.y&&c>=da.max.y)&&a.preventDefault(),f.panTo(b,c)},toggleDesktopZoom:function(b){b=b||{x:qa.x/2+sa.x,y:qa.y/2+sa.y};var c=i.getDoubleTapZoom(!0,f.currItem),d=s===c;f.mouseZoomedIn=!d,f.zoomTo(d?f.currItem.initialZoomLevel:c,b,333),e[(d?"remove":"add")+"Class"](a,"pswp--zoomed-in")}}});var sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec={history:!0,galleryUID:1},Fc=function(){return Cc.hash.substring(1)},Gc=function(){sc&&clearTimeout(sc),uc&&clearTimeout(uc)},Hc=function(){var a=Fc(),b={};if(a.length<5)return b;var c,d=a.split("&");for(c=0;c<d.length;c++)if(d[c]){var e=d[c].split("=");e.length<2||(b[e[0]]=e[1])}if(i.galleryPIDs){var f=b.pid;for(b.pid=0,c=0;c<Yb.length;c++)if(Yb[c].pid===f){b.pid=c;break}}else b.pid=parseInt(b.pid,10)-1;return b.pid<0&&(b.pid=0),b},Ic=function(){if(uc&&clearTimeout(uc),_a||V)return void(uc=setTimeout(Ic,500));vc?clearTimeout(tc):vc=!0;var a=m+1,b=_b(m);b.hasOwnProperty("pid")&&(a=b.pid);var c=yc+"&gid="+i.galleryUID+"&pid="+a;zc||Cc.hash.indexOf(c)===-1&&(Bc=!0);var d=Cc.href.split("#")[0]+"#"+c;Dc?"#"+c!==window.location.hash&&history[zc?"replaceState":"pushState"]("",document.title,d):zc?Cc.replace(d):Cc.hash=c,zc=!0,tc=setTimeout(function(){vc=!1},60)};za("History",{publicMethods:{initHistory:function(){if(e.extend(i,Ec,!0),i.history){Cc=window.location,Bc=!1,Ac=!1,zc=!1,yc=Fc(),Dc="pushState"in history,yc.indexOf("gid=")>-1&&(yc=yc.split("&gid=")[0],yc=yc.split("?gid=")[0]),Ca("afterChange",f.updateURL),Ca("unbindEvents",function(){e.unbind(window,"hashchange",f.onHashChange)});var a=function(){xc=!0,Ac||(Bc?history.back():yc?Cc.hash=yc:Dc?history.pushState("",document.title,Cc.pathname+Cc.search):Cc.hash=""),Gc()};Ca("unbindEvents",function(){l&&a()}),Ca("destroy",function(){xc||a()}),Ca("firstUpdate",function(){m=Hc().pid});var b=yc.indexOf("pid=");b>-1&&(yc=yc.substring(0,b),"&"===yc.slice(-1)&&(yc=yc.slice(0,-1))),setTimeout(function(){j&&e.bind(window,"hashchange",f.onHashChange)},40)}},onHashChange:function(){return Fc()===yc?(Ac=!0,void f.close()):void(vc||(wc=!0,f.goTo(Hc().pid),wc=!1))},updateURL:function(){Gc(),wc||(zc?sc=setTimeout(Ic,800):Ic())}}}),e.extend(f,eb)};return a}); \ No newline at end of file -- GitLab