UNPKG

@tindtechnologies/universalviewer

Version:

The Universal Viewer is a community-developed open source project on a mission to help you share your 📚📜📰📽️📻🗿 with the 🌎

2 lines 228 kB
/*! For license information please see 560.a4a4202c9055fa087152.js.LICENSE.txt */ (self.webpackChunkUV=self.webpackChunkUV||[]).push([[560],{5842:(e,t,i)=>{var n;window,e.exports=(n=i(4791),function(e){function t(n){if(i[n])return i[n].exports;var o=i[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var i={};return t.m=e,t.c=i,t.d=function(e,i,n){t.o(e,i)||Object.defineProperty(e,i,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,i){if(1&i&&(e=t(e)),8&i)return e;if(4&i&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&i&&"string"!=typeof e)for(var o in e)t.d(n,o,function(t){return e[t]}.bind(null,o));return n},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,"a",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1)}([function(e){e.exports=n},function(e,t,i){"use strict";i.r(t);var n=i(0),o=i.n(n);t.default=function(e,t){if(!e.version||1>e.version.major)throw new Error("OpenSeadragonViewerInputHook requires OpenSeadragon version 1.0.0+");return e.Viewer.prototype.addViewerInputHook=function(e){return(e=e||{}).viewer=this,new t.ViewerInputHook(e)},t.ViewerInputHook=function(e){var t,i;for((e=e||{}).hooks=e.hooks||[],this.viewer=e.viewer||null,this.viewerTrackers={},this.hooks=[],this.viewer&&(this.viewerTrackers.viewer=this.viewer.innerTracker,this.viewerTrackers.viewer_outer=this.viewer.outerTracker),t=0;t<e.hooks.length;t++){if("string"==typeof e.hooks[t].tracker){if(!this.viewer)throw new Error("A viewer must be specified.");if(void 0===(i=this.viewerTrackers[e.hooks[t].tracker]))throw new Error("Unknown tracker specified: "+e.hooks[t].tracker)}else i=e.hooks[t].tracker;this.hooks.push({tracker:i,handlerName:e.hooks[t].handler,origHandler:i[e.hooks[t].handler],hookHandler:e.hooks[t].hookHandler}),function(e,t,i,n){var o=t[i];t[i]=function(t){return e._callHandlers(n,o,t)}}(this,i,e.hooks[t].handler,e.hooks[t].hookHandler)}},t.ViewerInputHook.version={versionStr:"2.2.1",major:2,minor:2,revision:1},t.ViewerInputHook.prototype._callHandlers=function(e,t,i){var n=e(i);return t&&!i.stopHandlers&&(n=t(i)),!i.stopBubbling&&n},t.ViewerInputHook.prototype.destroy=function(){for(;0<this.hooks.length;){var e=this.hooks.pop();e.tracker[e.handlerName]=e.origHandler}this.viewer&&(delete this.viewerTrackers.viewer,delete this.viewerTrackers.viewer_outer,this.viewer=null)},t.ViewerInputHook}(o.a||window.OpenSeadragon,window.OpenSeadragonImaging=window.OpenSeadragonImaging||{})}]).default)},4791:function(module,exports){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__,$,fullScreenApi;function OpenSeadragon(e){return new OpenSeadragon.Viewer(e)}!function(e){e.version={versionStr:"2.4.2",major:parseInt("2",10),minor:parseInt("4",10),revision:parseInt("2",10)};var t,i={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regexp","[object Object]":"object"},n=Object.prototype.toString,o=Object.prototype.hasOwnProperty;e.isFunction=function(t){return"function"===e.type(t)},e.isArray=Array.isArray||function(t){return"array"===e.type(t)},e.isWindow=function(e){return e&&"object"==typeof e&&"setInterval"in e},e.type=function(e){return null==e?String(e):i[n.call(e)]||"object"},e.isPlainObject=function(t){if(!t||"object"!==OpenSeadragon.type(t)||t.nodeType||e.isWindow(t))return!1;if(t.constructor&&!o.call(t,"constructor")&&!o.call(t.constructor.prototype,"isPrototypeOf"))return!1;var i;for(var n in t)i=n;return void 0===i||o.call(t,i)},e.isEmptyObject=function(e){for(var t in e)return!1;return!0},e.freezeObject=function(t){return Object.freeze?e.freezeObject=Object.freeze:e.freezeObject=function(e){return e},e.freezeObject(t)},e.supportsCanvas=(t=document.createElement("canvas"),!(!e.isFunction(t.getContext)||!t.getContext("2d"))),e.isCanvasTainted=function(e){var t=!1;try{e.getContext("2d").getImageData(0,0,1,1)}catch(e){t=!0}return t},e.pixelDensityRatio=function(){if(e.supportsCanvas){var t=document.createElement("canvas").getContext("2d"),i=window.devicePixelRatio||1,n=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return Math.max(i,1)/n}return 1}()}(OpenSeadragon),function($){$.extend=function(){var e,t,i,n,o,r,s=arguments[0]||{},a=arguments.length,l=!1,h=1;for("boolean"==typeof s&&(l=s,s=arguments[1]||{},h=2),"object"==typeof s||OpenSeadragon.isFunction(s)||(s={}),a===h&&(s=this,--h);h<a;h++)if(null!==(e=arguments[h])||void 0!==e)for(t in e)i=s[t],s!==(n=e[t])&&(l&&n&&(OpenSeadragon.isPlainObject(n)||(o=OpenSeadragon.isArray(n)))?(o?(o=!1,r=i&&OpenSeadragon.isArray(i)?i:[]):r=i&&OpenSeadragon.isPlainObject(i)?i:{},s[t]=OpenSeadragon.extend(l,r,n)):void 0!==n&&(s[t]=n));return s};var isIOSDevice=function(){if("object"!=typeof navigator)return!1;var e=navigator.userAgent;return"string"==typeof e&&(-1!==e.indexOf("iPhone")||-1!==e.indexOf("iPad")||-1!==e.indexOf("iPod"))};$.extend($,{DEFAULT_SETTINGS:{xmlPath:null,tileSources:null,tileHost:null,initialPage:0,crossOriginPolicy:!1,ajaxWithCredentials:!1,loadTilesWithAjax:!1,ajaxHeaders:{},panHorizontal:!0,panVertical:!0,constrainDuringPan:!1,wrapHorizontal:!1,wrapVertical:!1,visibilityRatio:.5,minPixelRatio:.5,defaultZoomLevel:0,minZoomLevel:null,maxZoomLevel:null,homeFillsViewer:!1,clickTimeThreshold:300,clickDistThreshold:5,dblClickTimeThreshold:300,dblClickDistThreshold:20,springStiffness:6.5,animationTime:1.2,gestureSettingsMouse:{scrollToZoom:!0,clickToZoom:!0,dblClickToZoom:!1,pinchToZoom:!1,zoomToRefPoint:!0,flickEnabled:!1,flickMinSpeed:120,flickMomentum:.25,pinchRotate:!1},gestureSettingsTouch:{scrollToZoom:!1,clickToZoom:!1,dblClickToZoom:!0,pinchToZoom:!0,zoomToRefPoint:!0,flickEnabled:!0,flickMinSpeed:120,flickMomentum:.25,pinchRotate:!1},gestureSettingsPen:{scrollToZoom:!1,clickToZoom:!0,dblClickToZoom:!1,pinchToZoom:!1,zoomToRefPoint:!0,flickEnabled:!1,flickMinSpeed:120,flickMomentum:.25,pinchRotate:!1},gestureSettingsUnknown:{scrollToZoom:!1,clickToZoom:!1,dblClickToZoom:!0,pinchToZoom:!0,zoomToRefPoint:!0,flickEnabled:!0,flickMinSpeed:120,flickMomentum:.25,pinchRotate:!1},zoomPerClick:2,zoomPerScroll:1.2,zoomPerSecond:1,blendTime:0,alwaysBlend:!1,autoHideControls:!0,immediateRender:!1,minZoomImageRatio:.9,maxZoomPixelRatio:1.1,smoothTileEdgesMinZoom:1.1,iOSDevice:isIOSDevice(),pixelsPerWheelLine:40,pixelsPerArrowPress:40,autoResize:!0,preserveImageSizeOnResize:!1,minScrollDeltaTime:50,rotationIncrement:90,showSequenceControl:!0,sequenceControlAnchor:null,preserveViewport:!1,preserveOverlays:!1,navPrevNextWrap:!1,showNavigationControl:!0,navigationControlAnchor:null,showZoomControl:!0,showHomeControl:!0,showFullPageControl:!0,showRotationControl:!1,showFlipControl:!1,controlsFadeDelay:2e3,controlsFadeLength:1500,mouseNavEnabled:!0,showNavigator:!1,navigatorId:null,navigatorPosition:null,navigatorSizeRatio:.2,navigatorMaintainSizeRatio:!1,navigatorTop:null,navigatorLeft:null,navigatorHeight:null,navigatorWidth:null,navigatorAutoResize:!0,navigatorAutoFade:!0,navigatorRotate:!0,navigatorBackground:"#000",navigatorOpacity:.8,navigatorBorderColor:"#555",navigatorDisplayRegionColor:"#900",degrees:0,flipped:!1,opacity:1,preload:!1,compositeOperation:null,imageSmoothingEnabled:!0,placeholderFillStyle:null,showReferenceStrip:!1,referenceStripScroll:"horizontal",referenceStripElement:null,referenceStripHeight:null,referenceStripWidth:null,referenceStripPosition:"BOTTOM_LEFT",referenceStripSizeRatio:.2,collectionRows:3,collectionColumns:0,collectionLayout:"horizontal",collectionMode:!1,collectionTileSize:800,collectionTileMargin:80,imageLoaderLimit:0,maxImageCacheCount:200,timeout:3e4,useCanvas:!0,prefixUrl:"/images/",navImages:{zoomIn:{REST:"zoomin_rest.png",GROUP:"zoomin_grouphover.png",HOVER:"zoomin_hover.png",DOWN:"zoomin_pressed.png"},zoomOut:{REST:"zoomout_rest.png",GROUP:"zoomout_grouphover.png",HOVER:"zoomout_hover.png",DOWN:"zoomout_pressed.png"},home:{REST:"home_rest.png",GROUP:"home_grouphover.png",HOVER:"home_hover.png",DOWN:"home_pressed.png"},fullpage:{REST:"fullpage_rest.png",GROUP:"fullpage_grouphover.png",HOVER:"fullpage_hover.png",DOWN:"fullpage_pressed.png"},rotateleft:{REST:"rotateleft_rest.png",GROUP:"rotateleft_grouphover.png",HOVER:"rotateleft_hover.png",DOWN:"rotateleft_pressed.png"},rotateright:{REST:"rotateright_rest.png",GROUP:"rotateright_grouphover.png",HOVER:"rotateright_hover.png",DOWN:"rotateright_pressed.png"},flip:{REST:"flip_rest.png",GROUP:"flip_grouphover.png",HOVER:"flip_hover.png",DOWN:"flip_pressed.png"},previous:{REST:"previous_rest.png",GROUP:"previous_grouphover.png",HOVER:"previous_hover.png",DOWN:"previous_pressed.png"},next:{REST:"next_rest.png",GROUP:"next_grouphover.png",HOVER:"next_hover.png",DOWN:"next_pressed.png"}},debugMode:!1,debugGridColor:["#437AB2","#1B9E77","#D95F02","#7570B3","#E7298A","#66A61E","#E6AB02","#A6761D","#666666"]},SIGNAL:"----seadragon----",delegate:function(e,t){return function(){var i=arguments;return void 0===i&&(i=[]),t.apply(e,i)}},BROWSERS:{UNKNOWN:0,IE:1,FIREFOX:2,SAFARI:3,CHROME:4,OPERA:5},getElement:function(e){return"string"==typeof e&&(e=document.getElementById(e)),e},getElementPosition:function(e){var t,i,n=new $.Point;for(i=getOffsetParent(e=$.getElement(e),t="fixed"==$.getElementStyle(e).position);i;)n.x+=e.offsetLeft,n.y+=e.offsetTop,t&&(n=n.plus($.getPageScroll())),i=getOffsetParent(e=i,t="fixed"==$.getElementStyle(e).position);return n},getElementOffset:function(e){var t,i,n=(e=$.getElement(e))&&e.ownerDocument,o={top:0,left:0};return n?(t=n.documentElement,void 0!==e.getBoundingClientRect&&(o=e.getBoundingClientRect()),i=n==n.window?n:9===n.nodeType&&(n.defaultView||n.parentWindow),new $.Point(o.left+(i.pageXOffset||t.scrollLeft)-(t.clientLeft||0),o.top+(i.pageYOffset||t.scrollTop)-(t.clientTop||0))):new $.Point},getElementSize:function(e){return e=$.getElement(e),new $.Point(e.clientWidth,e.clientHeight)},getElementStyle:document.documentElement.currentStyle?function(e){return(e=$.getElement(e)).currentStyle}:function(e){return e=$.getElement(e),window.getComputedStyle(e,"")},getCssPropertyWithVendorPrefix:function(e){var t={};return $.getCssPropertyWithVendorPrefix=function(e){if(void 0!==t[e])return t[e];var i=document.createElement("div").style,n=null;if(void 0!==i[e])n=e;else for(var o=["Webkit","Moz","MS","O","webkit","moz","ms","o"],r=$.capitalizeFirstLetter(e),s=0;s<o.length;s++){var a=o[s]+r;if(void 0!==i[a]){n=a;break}}return t[e]=n,n},$.getCssPropertyWithVendorPrefix(e)},capitalizeFirstLetter:function(e){return e.charAt(0).toUpperCase()+e.slice(1)},positiveModulo:function(e,t){var i=e%t;return i<0&&(i+=t),i},pointInElement:function(e,t){e=$.getElement(e);var i=$.getElementOffset(e),n=$.getElementSize(e);return t.x>=i.x&&t.x<i.x+n.x&&t.y<i.y+n.y&&t.y>=i.y},getEvent:function(e){return $.getEvent=e?function(e){return e}:function(){return window.event},$.getEvent(e)},getMousePosition:function(e){if("number"==typeof e.pageX)$.getMousePosition=function(e){var t=new $.Point;return e=$.getEvent(e),t.x=e.pageX,t.y=e.pageY,t};else{if("number"!=typeof e.clientX)throw new Error("Unknown event mouse position, no known technique.");$.getMousePosition=function(e){var t=new $.Point;return e=$.getEvent(e),t.x=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,t.y=e.clientY+document.body.scrollTop+document.documentElement.scrollTop,t}}return $.getMousePosition(e)},getPageScroll:function(){var e=document.documentElement||{},t=document.body||{};if("number"==typeof window.pageXOffset)$.getPageScroll=function(){return new $.Point(window.pageXOffset,window.pageYOffset)};else if(t.scrollLeft||t.scrollTop)$.getPageScroll=function(){return new $.Point(document.body.scrollLeft,document.body.scrollTop)};else{if(!e.scrollLeft&&!e.scrollTop)return new $.Point(0,0);$.getPageScroll=function(){return new $.Point(document.documentElement.scrollLeft,document.documentElement.scrollTop)}}return $.getPageScroll()},setPageScroll:function(e){if(void 0!==window.scrollTo)$.setPageScroll=function(e){window.scrollTo(e.x,e.y)};else{var t=$.getPageScroll();if(t.x===e.x&&t.y===e.y)return;document.body.scrollLeft=e.x,document.body.scrollTop=e.y;var i=$.getPageScroll();if(i.x!==t.x&&i.y!==t.y)return void($.setPageScroll=function(e){document.body.scrollLeft=e.x,document.body.scrollTop=e.y});if(document.documentElement.scrollLeft=e.x,document.documentElement.scrollTop=e.y,(i=$.getPageScroll()).x!==t.x&&i.y!==t.y)return void($.setPageScroll=function(e){document.documentElement.scrollLeft=e.x,document.documentElement.scrollTop=e.y});$.setPageScroll=function(e){}}return $.setPageScroll(e)},getWindowSize:function(){var e=document.documentElement||{},t=document.body||{};if("number"==typeof window.innerWidth)$.getWindowSize=function(){return new $.Point(window.innerWidth,window.innerHeight)};else if(e.clientWidth||e.clientHeight)$.getWindowSize=function(){return new $.Point(document.documentElement.clientWidth,document.documentElement.clientHeight)};else{if(!t.clientWidth&&!t.clientHeight)throw new Error("Unknown window size, no known technique.");$.getWindowSize=function(){return new $.Point(document.body.clientWidth,document.body.clientHeight)}}return $.getWindowSize()},makeCenteredNode:function(e){e=$.getElement(e);var t=[$.makeNeutralElement("div"),$.makeNeutralElement("div"),$.makeNeutralElement("div")];return $.extend(t[0].style,{display:"table",height:"100%",width:"100%"}),$.extend(t[1].style,{display:"table-row"}),$.extend(t[2].style,{display:"table-cell",verticalAlign:"middle",textAlign:"center"}),t[0].appendChild(t[1]),t[1].appendChild(t[2]),t[2].appendChild(e),t[0]},makeNeutralElement:function(e){var t=document.createElement(e),i=t.style;return i.background="transparent none",i.border="none",i.margin="0px",i.padding="0px",i.position="static",t},now:function(){return Date.now?$.now=Date.now:$.now=function(){return(new Date).getTime()},$.now()},makeTransparentImage:function(e){return $.makeTransparentImage=function(e){var t=$.makeNeutralElement("img");return t.src=e,t},$.Browser.vendor==$.BROWSERS.IE&&$.Browser.version<7&&($.makeTransparentImage=function(e){var t=$.makeNeutralElement("img"),i=null;return(i=$.makeNeutralElement("span")).style.display="inline-block",t.onload=function(){i.style.width=i.style.width||t.width+"px",i.style.height=i.style.height||t.height+"px",t.onload=null,t=null},t.src=e,i.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+e+"', sizingMethod='scale')",i}),$.makeTransparentImage(e)},setElementOpacity:function(e,t,i){var n;e=$.getElement(e),i&&!$.Browser.alpha&&(t=Math.round(t)),$.Browser.opacity?e.style.opacity=t<1?t:"":t<1?(n="alpha(opacity="+Math.round(100*t)+")",e.style.filter=n):e.style.filter=""},setElementTouchActionNone:function(e){void 0!==(e=$.getElement(e)).style.touchAction?e.style.touchAction="none":void 0!==e.style.msTouchAction&&(e.style.msTouchAction="none")},addClass:function(e,t){(e=$.getElement(e)).className?-1===(" "+e.className+" ").indexOf(" "+t+" ")&&(e.className+=" "+t):e.className=t},indexOf:function(e,t,i){return Array.prototype.indexOf?this.indexOf=function(e,t,i){return e.indexOf(t,i)}:this.indexOf=function(e,t,i){var n,o,r=i||0;if(!e)throw new TypeError;if(0===(o=e.length)||r>=o)return-1;for(r<0&&(r=o-Math.abs(r)),n=r;n<o;n++)if(e[n]===t)return n;return-1},this.indexOf(e,t,i)},removeClass:function(e,t){var i,n,o=[];for(i=(e=$.getElement(e)).className.split(/\s+/),n=0;n<i.length;n++)i[n]&&i[n]!==t&&o.push(i[n]);e.className=o.join(" ")},addEvent:function(){if(window.addEventListener)return function(e,t,i,n){(e=$.getElement(e)).addEventListener(t,i,n)};if(window.attachEvent)return function(e,t,i,n){(e=$.getElement(e)).attachEvent("on"+t,i)};throw new Error("No known event model.")}(),removeEvent:function(){if(window.removeEventListener)return function(e,t,i,n){(e=$.getElement(e)).removeEventListener(t,i,n)};if(window.detachEvent)return function(e,t,i,n){(e=$.getElement(e)).detachEvent("on"+t,i)};throw new Error("No known event model.")}(),cancelEvent:function(e){(e=$.getEvent(e)).preventDefault?$.cancelEvent=function(e){e.preventDefault()}:$.cancelEvent=function(e){(e=$.getEvent(e)).cancel=!0,e.returnValue=!1},$.cancelEvent(e)},stopEvent:function(e){(e=$.getEvent(e)).stopPropagation?$.stopEvent=function(e){e.stopPropagation()}:$.stopEvent=function(e){(e=$.getEvent(e)).cancelBubble=!0},$.stopEvent(e)},createCallback:function(e,t){var i,n=[];for(i=2;i<arguments.length;i++)n.push(arguments[i]);return function(){var i,o=n.concat([]);for(i=0;i<arguments.length;i++)o.push(arguments[i]);return t.apply(e,o)}},getUrlParameter:function(e){return URLPARAMS[e]||null},getUrlProtocol:function(e){var t=e.match(/^([a-z]+:)\/\//i);return null===t?window.location.protocol:t[1].toLowerCase()},createAjaxRequest:function(e){var t;try{t=!!new ActiveXObject("Microsoft.XMLHTTP")}catch(e){t=!1}if(t)window.XMLHttpRequest?$.createAjaxRequest=function(e){return e?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest}:$.createAjaxRequest=function(){return new ActiveXObject("Microsoft.XMLHTTP")};else{if(!window.XMLHttpRequest)throw new Error("Browser doesn't support XMLHttpRequest.");$.createAjaxRequest=function(){return new XMLHttpRequest}}return $.createAjaxRequest(e)},makeAjaxRequest:function(e,t,i){var n,o,r;$.isPlainObject(e)&&(t=e.success,i=e.error,n=e.withCredentials,o=e.headers,r=e.responseType||null,e=e.url);var s=$.getUrlProtocol(e),a=$.createAjaxRequest("file:"===s);if(!$.isFunction(t))throw new Error("makeAjaxRequest requires a success callback");a.onreadystatechange=function(){4==a.readyState&&(a.onreadystatechange=function(){},a.status>=200&&a.status<300||0===a.status&&"http:"!==s&&"https:"!==s?t(a):($.console.log("AJAX request returned %d: %s",a.status,e),$.isFunction(i)&&i(a)))};try{if(a.open("GET",e,!0),r&&(a.responseType=r),o)for(var l in o)Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&a.setRequestHeader(l,o[l]);n&&(a.withCredentials=!0),a.send(null)}catch(n){var h=n.message;if($.Browser.vendor==$.BROWSERS.IE&&$.Browser.version<10&&void 0!==n.number&&-2147024891==n.number&&(h+="\nSee http://msdn.microsoft.com/en-us/library/ms537505(v=vs.85).aspx#xdomain"),$.console.log("%s while making AJAX request: %s",n.name,h),a.onreadystatechange=function(){},window.XDomainRequest){var c=new window.XDomainRequest;if(c){c.onload=function(e){$.isFunction(t)&&t({responseText:c.responseText,status:200,statusText:"OK"})},c.onerror=function(e){$.isFunction(i)&&i({responseText:c.responseText,status:444,statusText:"An error happened. Due to an XDomainRequest deficiency we can not extract any information about this error. Upgrade your browser."})};try{c.open("GET",e),c.send()}catch(e){$.isFunction(i)&&i(a,n)}}}else $.isFunction(i)&&i(a,n)}return a},jsonp:function(e){var t,i=e.url,n=document.head||document.getElementsByTagName("head")[0]||document.documentElement,o=e.callbackName||"openseadragon"+$.now(),r=window[o],s="$1"+o+"$2",a=e.param||"callback",l=e.callback;i=i.replace(/(\=)\?(&|$)|\?\?/i,s),i+=(/\?/.test(i)?"&":"?")+a+"="+o,window[o]=function(e){if(r)window[o]=r;else try{delete window[o]}catch(e){}l&&$.isFunction(l)&&l(e)},t=document.createElement("script"),void 0===e.async&&!1===e.async||(t.async="async"),e.scriptCharset&&(t.charset=e.scriptCharset),t.src=i,t.onload=t.onreadystatechange=function(e,i){(i||!t.readyState||/loaded|complete/.test(t.readyState))&&(t.onload=t.onreadystatechange=null,n&&t.parentNode&&n.removeChild(t),t=void 0)},n.insertBefore(t,n.firstChild)},createFromDZI:function(){throw"OpenSeadragon.createFromDZI is deprecated, use Viewer.open."},parseXml:function(e){if(window.DOMParser)$.parseXml=function(e){return(new DOMParser).parseFromString(e,"text/xml")};else{if(!window.ActiveXObject)throw new Error("Browser doesn't support XML DOM.");$.parseXml=function(e){var t=null;return(t=new ActiveXObject("Microsoft.XMLDOM")).async=!1,t.loadXML(e),t}}return $.parseXml(e)},parseJSON:function(string){return window.JSON&&window.JSON.parse?$.parseJSON=window.JSON.parse:$.parseJSON=function(string){return eval("("+string+")")},$.parseJSON(string)},imageFormatSupported:function(e){return!!FILEFORMATS[(e=e||"").toLowerCase()]}});var nullfunction=function(e){};$.console=window.console||{log:nullfunction,debug:nullfunction,info:nullfunction,warn:nullfunction,error:nullfunction,assert:nullfunction},$.Browser={vendor:$.BROWSERS.UNKNOWN,version:0,alpha:!0};var FILEFORMATS={bmp:!1,jpeg:!0,jpg:!0,png:!0,tif:!1,wdp:!1},URLPARAMS={};function getOffsetParent(e,t){return t&&e!=document.body?document.body:e.offsetParent}!function(){var e=navigator.appVersion,t=navigator.userAgent;switch(navigator.appName){case"Microsoft Internet Explorer":window.attachEvent&&window.ActiveXObject&&($.Browser.vendor=$.BROWSERS.IE,$.Browser.version=parseFloat(t.substring(t.indexOf("MSIE")+5,t.indexOf(";",t.indexOf("MSIE")))));break;case"Netscape":window.addEventListener&&(t.indexOf("Firefox")>=0?($.Browser.vendor=$.BROWSERS.FIREFOX,$.Browser.version=parseFloat(t.substring(t.indexOf("Firefox")+8))):t.indexOf("Safari")>=0?($.Browser.vendor=t.indexOf("Chrome")>=0?$.BROWSERS.CHROME:$.BROWSERS.SAFARI,$.Browser.version=parseFloat(t.substring(t.substring(0,t.indexOf("Safari")).lastIndexOf("/")+1,t.indexOf("Safari")))):null!==new RegExp("Trident/.*rv:([0-9]{1,}[.0-9]{0,})").exec(t)&&($.Browser.vendor=$.BROWSERS.IE,$.Browser.version=parseFloat(RegExp.$1)));break;case"Opera":$.Browser.vendor=$.BROWSERS.OPERA,$.Browser.version=parseFloat(e)}var i,n,o,r=window.location.search.substring(1).split("&");for(o=0;o<r.length;o++)if((n=(i=r[o]).indexOf("="))>0){var s=i.substring(0,n),a=i.substring(n+1);try{URLPARAMS[s]=decodeURIComponent(a)}catch(e){$.console.error("Ignoring malformed URL parameter: %s=%s",s,a)}}$.Browser.alpha=!($.Browser.vendor==$.BROWSERS.IE&&$.Browser.version<9||$.Browser.vendor==$.BROWSERS.CHROME&&$.Browser.version<2),$.Browser.opacity=!($.Browser.vendor==$.BROWSERS.IE&&$.Browser.version<9)}(),function(e){var t=e.requestAnimationFrame||e.mozRequestAnimationFrame||e.webkitRequestAnimationFrame||e.msRequestAnimationFrame,i=e.cancelAnimationFrame||e.mozCancelAnimationFrame||e.webkitCancelAnimationFrame||e.msCancelAnimationFrame;if(t&&i)$.requestAnimationFrame=function(){return t.apply(e,arguments)},$.cancelAnimationFrame=function(){return i.apply(e,arguments)};else{var n,o=[],r=[],s=0;$.requestAnimationFrame=function(e){return o.push([++s,e]),n||(n=setInterval((function(){if(o.length){var e=$.now(),t=r;for(r=o,o=t;r.length;)r.shift()[1](e)}else clearInterval(n),n=void 0}),20)),s},$.cancelAnimationFrame=function(e){var t,i;for(t=0,i=o.length;t<i;t+=1)if(o[t][0]===e)return void o.splice(t,1);for(t=0,i=r.length;t<i;t+=1)if(r[t][0]===e)return void r.splice(t,1)}}}(window)}(OpenSeadragon),__WEBPACK_AMD_DEFINE_ARRAY__=[],void 0===(__WEBPACK_AMD_DEFINE_RESULT__="function"==typeof(__WEBPACK_AMD_DEFINE_FACTORY__=function(){return OpenSeadragon})?__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__):__WEBPACK_AMD_DEFINE_FACTORY__)||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__),$=OpenSeadragon,fullScreenApi={supportsFullScreen:!1,isFullScreen:function(){return!1},getFullScreenElement:function(){return null},requestFullScreen:function(){},exitFullScreen:function(){},cancelFullScreen:function(){},fullScreenEventName:"",fullScreenErrorEventName:""},document.exitFullscreen?(fullScreenApi.supportsFullScreen=!0,fullScreenApi.getFullScreenElement=function(){return document.fullscreenElement},fullScreenApi.requestFullScreen=function(e){return e.requestFullscreen()},fullScreenApi.exitFullScreen=function(){document.exitFullscreen()},fullScreenApi.fullScreenEventName="fullscreenchange",fullScreenApi.fullScreenErrorEventName="fullscreenerror"):document.msExitFullscreen?(fullScreenApi.supportsFullScreen=!0,fullScreenApi.getFullScreenElement=function(){return document.msFullscreenElement},fullScreenApi.requestFullScreen=function(e){return e.msRequestFullscreen()},fullScreenApi.exitFullScreen=function(){document.msExitFullscreen()},fullScreenApi.fullScreenEventName="MSFullscreenChange",fullScreenApi.fullScreenErrorEventName="MSFullscreenError"):document.webkitExitFullscreen?(fullScreenApi.supportsFullScreen=!0,fullScreenApi.getFullScreenElement=function(){return document.webkitFullscreenElement},fullScreenApi.requestFullScreen=function(e){return e.webkitRequestFullscreen()},fullScreenApi.exitFullScreen=function(){document.webkitExitFullscreen()},fullScreenApi.fullScreenEventName="webkitfullscreenchange",fullScreenApi.fullScreenErrorEventName="webkitfullscreenerror"):document.webkitCancelFullScreen?(fullScreenApi.supportsFullScreen=!0,fullScreenApi.getFullScreenElement=function(){return document.webkitCurrentFullScreenElement},fullScreenApi.requestFullScreen=function(e){return e.webkitRequestFullScreen()},fullScreenApi.exitFullScreen=function(){document.webkitCancelFullScreen()},fullScreenApi.fullScreenEventName="webkitfullscreenchange",fullScreenApi.fullScreenErrorEventName="webkitfullscreenerror"):document.mozCancelFullScreen&&(fullScreenApi.supportsFullScreen=!0,fullScreenApi.getFullScreenElement=function(){return document.mozFullScreenElement},fullScreenApi.requestFullScreen=function(e){return e.mozRequestFullScreen()},fullScreenApi.exitFullScreen=function(){document.mozCancelFullScreen()},fullScreenApi.fullScreenEventName="mozfullscreenchange",fullScreenApi.fullScreenErrorEventName="mozfullscreenerror"),fullScreenApi.isFullScreen=function(){return null!==fullScreenApi.getFullScreenElement()},fullScreenApi.cancelFullScreen=function(){$.console.error("cancelFullScreen is deprecated. Use exitFullScreen instead."),fullScreenApi.exitFullScreen()},$.extend($,fullScreenApi),function(e){e.EventSource=function(){this.events={}},e.EventSource.prototype={addOnceHandler:function(e,t,i,n){var o=this;n=n||1;var r=0,s=function(i){++r===n&&o.removeHandler(e,s),t(i)};this.addHandler(e,s,i)},addHandler:function(t,i,n){var o=this.events[t];o||(this.events[t]=o=[]),i&&e.isFunction(i)&&(o[o.length]={handler:i,userData:n||null})},removeHandler:function(t,i){var n,o=this.events[t],r=[];if(o&&e.isArray(o)){for(n=0;n<o.length;n++)o[n].handler!==i&&r.push(o[n]);this.events[t]=r}},removeAllHandlers:function(e){if(e)this.events[e]=[];else for(var t in this.events)this.events[t]=[]},getHandler:function(e){var t=this.events[e];return t&&t.length?(t=1===t.length?[t[0]]:Array.apply(null,t),function(e,i){var n,o=t.length;for(n=0;n<o;n++)t[n]&&(i.eventSource=e,i.userData=t[n].userData,t[n].handler(i))}):null},raiseEvent:function(e,t){var i=this.getHandler(e);i&&(t||(t={}),i(this,t))}}}(OpenSeadragon),function(e){var t,i,n,o,r,s,a=[],l={};function h(t){var i,n=l[t.hash],o=n.activePointersLists.length;for(i=0;i<o;i++)n.activePointersLists[i].captureCount>0&&(e.removeEvent(e.MouseTracker.captureElement,"mousemove",n.mousemovecaptured,!0),e.removeEvent(e.MouseTracker.captureElement,"mouseup",n.mouseupcaptured,!0),e.removeEvent(e.MouseTracker.captureElement,e.MouseTracker.unprefixedPointerEvents?"pointermove":"MSPointerMove",n.pointermovecaptured,!0),e.removeEvent(e.MouseTracker.captureElement,e.MouseTracker.unprefixedPointerEvents?"pointerup":"MSPointerUp",n.pointerupcaptured,!0),e.removeEvent(e.MouseTracker.captureElement,"touchmove",n.touchmovecaptured,!0),e.removeEvent(e.MouseTracker.captureElement,"touchend",n.touchendcaptured,!0),n.activePointersLists[i].captureCount=0);for(i=0;i<o;i++)n.activePointersLists.pop()}function c(t){var i,n,o=l[t.hash];if(o.tracking){for(n=0;n<e.MouseTracker.subscribeEvents.length;n++)i=e.MouseTracker.subscribeEvents[n],e.removeEvent(t.element,i,o[i],!1);h(t),o.tracking=!1}}function u(t,i){var n=l[t.hash];if("pointerevent"===i)return{upName:e.MouseTracker.unprefixedPointerEvents?"pointerup":"MSPointerUp",upHandler:n.pointerupcaptured,moveName:e.MouseTracker.unprefixedPointerEvents?"pointermove":"MSPointerMove",moveHandler:n.pointermovecaptured};if("mouse"===i)return{upName:"mouseup",upHandler:n.mouseupcaptured,moveName:"mousemove",moveHandler:n.mousemovecaptured};if("touch"===i)return{upName:"touchend",upHandler:n.touchendcaptured,moveName:"touchmove",moveHandler:n.touchmovecaptured};throw new Error("MouseTracker.getCaptureEventParams: Unknown pointer type.")}function d(t,i,n){var o,r=t.getActivePointersListByType(i);r.captureCount+=n||1,1===r.captureCount&&(e.Browser.vendor===e.BROWSERS.IE&&e.Browser.version<9?t.element.setCapture(!0):(o=u(t,e.MouseTracker.havePointerEvents?"pointerevent":i),G&&$(window.top)&&e.addEvent(window.top,o.upName,o.upHandler,!0),e.addEvent(e.MouseTracker.captureElement,o.upName,o.upHandler,!0),e.addEvent(e.MouseTracker.captureElement,o.moveName,o.moveHandler,!0)))}function p(t,i,n){var o,r=t.getActivePointersListByType(i);r.captureCount-=n||1,0===r.captureCount&&(e.Browser.vendor===e.BROWSERS.IE&&e.Browser.version<9?t.element.releaseCapture():(o=u(t,e.MouseTracker.havePointerEvents?"pointerevent":i),G&&$(window.top)&&e.removeEvent(window.top,o.upName,o.upHandler,!0),e.removeEvent(e.MouseTracker.captureElement,o.moveName,o.moveHandler,!0),e.removeEvent(e.MouseTracker.captureElement,o.upName,o.upHandler,!0)))}function g(t){var i;if(e.MouseTracker.unprefixedPointerEvents)i=t.pointerType;else switch(t.pointerType){case 2:i="touch";break;case 3:i="pen";break;case 4:i="mouse";break;default:i=""}return i}function m(t){return e.getMousePosition(t)}function v(e,t){return f(m(e),t)}function f(t,i){var n=e.getElementOffset(i);return t.minus(n)}function w(t,i){return new e.Point((t.x+i.x)/2,(t.y+i.y)/2)}function y(t,i){var n={target:(i=e.getEvent(i)).target||i.srcElement,type:"wheel",shiftKey:i.shiftKey||!1,clientX:i.clientX,clientY:i.clientY,pageX:i.pageX?i.pageX:i.clientX,pageY:i.pageY?i.pageY:i.clientY,deltaMode:"MozMousePixelScroll"==i.type?0:1,deltaX:0,deltaZ:0};"mousewheel"==e.MouseTracker.wheelEventName?n.deltaY=-i.wheelDelta/e.DEFAULT_SETTINGS.pixelsPerWheelLine:n.deltaY=i.detail,T(t,n,i)}function T(t,i,n){var o;o=i.deltaY<0?1:-1,t.scrollHandler&&!1===t.scrollHandler({eventSource:t,pointerType:"mouse",position:v(i,t.element),scroll:o,shift:i.shiftKey,isTouchEvent:!1,originalEvent:n,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(n)}function x(e,t){if(e===t)return!1;for(;t&&t!==e;)t=t.parentNode;return t===e}function S(t,i){N(t,i,[{id:e.MouseTracker.mousePointerId,type:"mouse",isPrimary:!0,currentPos:m(i),currentTime:e.now()}])}function E(t,i){W(t,i,[{id:e.MouseTracker.mousePointerId,type:"mouse",isPrimary:!0,currentPos:m(i),currentTime:e.now()}])}function P(t){return e.Browser.vendor===e.BROWSERS.IE&&e.Browser.version<9?1===t?0:2===t?2:4===t?1:-1:t}function _(t,i){U(t,i=e.getEvent(i),[{id:e.MouseTracker.mousePointerId,type:"mouse",isPrimary:!0,currentPos:m(i),currentTime:e.now()}],P(i.button))&&p(t,"mouse")}function R(t,i){j(t,i=e.getEvent(i),[{id:e.MouseTracker.mousePointerId,type:"mouse",isPrimary:!0,currentPos:m(i),currentTime:e.now()}])}function b(e,t,i){var n,o=i.getLength(),r=[];if("touch"===i.type||i.contacts>0){for(n=0;n<o;n++)r.push(i.getByIndex(n));r.length>0&&(U(e,t,r,0),i.captureCount=1,p(e,i.type),W(e,t,r))}}function C(t,i){var n,o,r,s,l=i.changedTouches.length,h=[];for(n=e.now(),o=0;o<l;o++)h.push({id:i.changedTouches[o].identifier,type:"touch",currentPos:m(i.changedTouches[o]),currentTime:n});for(U(t,i,h,0)&&p(t,"touch",l),W(t,i,h),o=0;o<a.length;o++)if(a[o]!==t&&a[o].isTracking()&&x(a[o].element,t.element)){for(s=[],r=0;r<l;r++)s.push({id:i.changedTouches[r].identifier,type:"touch",currentPos:m(i.changedTouches[r]),currentTime:n});W(a[o],i,s)}e.cancelEvent(i)}function O(t,i){var n,o=i.changedTouches.length,r=[];for(n=0;n<o;n++)r.push({id:i.changedTouches[n].identifier,type:"touch",currentPos:m(i.changedTouches[n]),currentTime:e.now()});j(t,i,r),e.cancelEvent(i)}function I(t,i){i.currentTarget===i.relatedTarget||x(i.currentTarget,i.relatedTarget)||N(t,i,[{id:i.pointerId,type:g(i),isPrimary:i.isPrimary,currentPos:m(i),currentTime:e.now()}])}function k(t,i){i.currentTarget===i.relatedTarget||x(i.currentTarget,i.relatedTarget)||W(t,i,[{id:i.pointerId,type:g(i),isPrimary:i.isPrimary,currentPos:m(i),currentTime:e.now()}])}function D(t,i){var n;V(t,i,[n={id:i.pointerId,type:g(i),isPrimary:i.isPrimary,currentPos:m(i),currentTime:e.now()}],i.button)&&(e.stopEvent(i),d(t,n.type)),(t.clickHandler||t.dblClickHandler||t.pressHandler||t.dragHandler||t.dragEndHandler||t.pinchHandler)&&e.cancelEvent(i)}function B(e,t){M(e,t)}function M(t,i){var n;U(t,i,[n={id:i.pointerId,type:g(i),isPrimary:i.isPrimary,currentPos:m(i),currentTime:e.now()}],i.button)&&p(t,n.type)}function z(e,t){H(e,t)}function H(t,i){j(t,i,[{id:i.pointerId,type:g(i),isPrimary:i.isPrimary,currentPos:m(i),currentTime:e.now()}])}function F(e,t){!function(e,t,i){U(e,t,i,0),W(e,t,i)}(e,t,[{id:t.pointerId,type:g(t)}])}function A(e,t){return Object.prototype.hasOwnProperty.call(t,"isPrimary")||(0===e.getLength()?t.isPrimary=!0:t.isPrimary=!1),t.speed=0,t.direction=0,t.contactPos=t.currentPos,t.contactTime=t.currentTime,t.lastPos=t.currentPos,t.lastTime=t.currentTime,e.add(t)}function L(e,t){var i,n;return e.getById(t.id)?(i=e.removeById(t.id),Object.prototype.hasOwnProperty.call(t,"isPrimary")||(n=e.getPrimary())||(n=e.getByIndex(0))&&(n.isPrimary=!0)):i=e.getLength(),i}function N(t,i,n){var o,r,s,a=t.getActivePointersListByType(n[0].type),l=n.length;for(o=0;o<l;o++)r=n[o],(s=a.getById(r.id))?(s.insideElement=!0,s.lastPos=s.currentPos,s.lastTime=s.currentTime,s.currentPos=r.currentPos,s.currentTime=r.currentTime,r=s):(r.captured=!1,r.insideElementPressed=!1,r.insideElement=!0,A(a,r)),t.enterHandler&&!1===t.enterHandler({eventSource:t,pointerType:r.type,position:f(r.currentPos,t.element),buttons:a.buttons,pointers:t.getActivePointerCount(),insideElementPressed:r.insideElementPressed,buttonDownAny:0!==a.buttons,isTouchEvent:"touch"===r.type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i)}function W(t,i,n){var o,r,s,a=t.getActivePointersListByType(n[0].type),l=n.length;for(o=0;o<l;o++)r=n[o],(s=a.getById(r.id))&&(s.captured?(s.insideElement=!1,s.lastPos=s.currentPos,s.lastTime=s.currentTime,s.currentPos=r.currentPos,s.currentTime=r.currentTime):L(a,s),r=s),t.exitHandler&&!1===t.exitHandler({eventSource:t,pointerType:r.type,position:r.currentPos&&f(r.currentPos,t.element),buttons:a.buttons,pointers:t.getActivePointerCount(),insideElementPressed:!!s&&s.insideElementPressed,buttonDownAny:0!==a.buttons,isTouchEvent:"touch"===r.type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i)}function V(t,i,n,o){var r,s,a,h=l[t.hash],c=t.getActivePointersListByType(n[0].type),u=n.length;void 0!==i.buttons?c.buttons=i.buttons:e.Browser.vendor===e.BROWSERS.IE&&e.Browser.version<9?0===o?c.buttons+=1:1===o?c.buttons+=4:2===o?c.buttons+=2:3===o?c.buttons+=8:4===o?c.buttons+=16:5===o&&(c.buttons+=32):0===o?c.buttons|=1:1===o?c.buttons|=4:2===o?c.buttons|=2:3===o?c.buttons|=8:4===o?c.buttons|=16:5===o&&(c.buttons|=32);var d=t.getActivePointersListsExceptType(n[0].type);for(r=0;r<d.length;r++)b(t,i,d[r]);if(0!==o)return t.nonPrimaryPressHandler&&!1===t.nonPrimaryPressHandler({eventSource:t,pointerType:n[0].type,position:f(n[0].currentPos,t.element),button:o,buttons:c.buttons,isTouchEvent:"touch"===n[0].type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i),!1;for(r=0;r<u;r++)s=n[r],(a=c.getById(s.id))?(a.captured=!0,a.insideElementPressed=!0,a.insideElement=!0,a.contactPos=s.currentPos,a.contactTime=s.currentTime,a.lastPos=a.currentPos,a.lastTime=a.currentTime,a.currentPos=s.currentPos,a.currentTime=s.currentTime,s=a):(s.captured=!0,s.insideElementPressed=!0,s.insideElement=!0,A(c,s)),c.addContact(),(t.dragHandler||t.dragEndHandler||t.pinchHandler)&&e.MouseTracker.gesturePointVelocityTracker.addPoint(t,s),1===c.contacts?t.pressHandler&&!1===t.pressHandler({eventSource:t,pointerType:s.type,position:f(s.contactPos,t.element),buttons:c.buttons,isTouchEvent:"touch"===s.type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i):2===c.contacts&&t.pinchHandler&&"touch"===s.type&&(h.pinchGPoints=c.asArray(),h.lastPinchDist=h.currentPinchDist=h.pinchGPoints[0].currentPos.distanceTo(h.pinchGPoints[1].currentPos),h.lastPinchCenter=h.currentPinchCenter=w(h.pinchGPoints[0].currentPos,h.pinchGPoints[1].currentPos));return!0}function U(t,i,n,o){var r,s,a,h,c,u,d=l[t.hash],p=t.getActivePointersListByType(n[0].type),g=n.length,m=!1,v=!1;if(void 0!==i.buttons?p.buttons=i.buttons:e.Browser.vendor===e.BROWSERS.IE&&e.Browser.version<9?0===o?p.buttons-=1:1===o?p.buttons-=4:2===o?p.buttons-=2:3===o?p.buttons-=8:4===o?p.buttons-=16:5===o&&(p.buttons-=32):0===o?p.buttons^=-2:1===o?p.buttons^=-5:2===o?p.buttons^=-3:3===o?p.buttons^=-9:4===o?p.buttons^=-17:5===o&&(p.buttons^=-33),0!==o){t.nonPrimaryReleaseHandler&&!1===t.nonPrimaryReleaseHandler({eventSource:t,pointerType:n[0].type,position:f(n[0].currentPos,t.element),button:o,buttons:p.buttons,isTouchEvent:"touch"===n[0].type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i);var y=t.getActivePointersListByType("mouse");return b(t,i,y),!1}if(void 0===n[0].currentPos)return b(t,i,p),!1;for(a=0;a<g;a++)h=n[a],(c=p.getById(h.id))&&(c.captured&&(c.captured=!1,m=!0,v=!0),c.lastPos=c.currentPos,c.lastTime=c.currentTime,c.currentPos=h.currentPos,c.currentTime=h.currentTime,c.insideElement||L(p,c),r=c.currentPos,s=c.currentTime,v?(p.removeContact(),(t.dragHandler||t.dragEndHandler||t.pinchHandler)&&e.MouseTracker.gesturePointVelocityTracker.removePoint(t,c),0===p.contacts?(t.releaseHandler&&!1===t.releaseHandler({eventSource:t,pointerType:c.type,position:f(r,t.element),buttons:p.buttons,insideElementPressed:c.insideElementPressed,insideElementReleased:c.insideElement,isTouchEvent:"touch"===c.type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i),t.dragEndHandler&&!c.currentPos.equals(c.contactPos)&&!1===t.dragEndHandler({eventSource:t,pointerType:c.type,position:f(c.currentPos,t.element),speed:c.speed,direction:c.direction,shift:i.shiftKey,isTouchEvent:"touch"===c.type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i),(t.clickHandler||t.dblClickHandler)&&c.insideElement&&(u=s-c.contactTime<=t.clickTimeThreshold&&c.contactPos.distanceTo(r)<=t.clickDistThreshold,t.clickHandler&&!1===t.clickHandler({eventSource:t,pointerType:c.type,position:f(c.currentPos,t.element),quick:u,shift:i.shiftKey,isTouchEvent:"touch"===c.type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i),t.dblClickHandler&&u&&(p.clicks++,1===p.clicks?(d.lastClickPos=r,d.dblClickTimeOut=setTimeout((function(){p.clicks=0}),t.dblClickTimeThreshold)):2===p.clicks&&(clearTimeout(d.dblClickTimeOut),p.clicks=0,d.lastClickPos.distanceTo(r)<=t.dblClickDistThreshold&&!1===t.dblClickHandler({eventSource:t,pointerType:c.type,position:f(c.currentPos,t.element),shift:i.shiftKey,isTouchEvent:"touch"===c.type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i),d.lastClickPos=null)))):2===p.contacts&&t.pinchHandler&&"touch"===c.type&&(d.pinchGPoints=p.asArray(),d.lastPinchDist=d.currentPinchDist=d.pinchGPoints[0].currentPos.distanceTo(d.pinchGPoints[1].currentPos),d.lastPinchCenter=d.currentPinchCenter=w(d.pinchGPoints[0].currentPos,d.pinchGPoints[1].currentPos))):t.releaseHandler&&!1===t.releaseHandler({eventSource:t,pointerType:c.type,position:f(r,t.element),buttons:p.buttons,insideElementPressed:c.insideElementPressed,insideElementReleased:c.insideElement,isTouchEvent:"touch"===c.type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i));return m}function j(t,i,n){var o,r,s,a,h,c=l[t.hash],u=t.getActivePointersListByType(n[0].type),d=n.length;for(void 0!==i.buttons&&(u.buttons=i.buttons),o=0;o<d;o++)r=n[o],(s=u.getById(r.id))?(Object.prototype.hasOwnProperty.call(r,"isPrimary")&&(s.isPrimary=r.isPrimary),s.lastPos=s.currentPos,s.lastTime=s.currentTime,s.currentPos=r.currentPos,s.currentTime=r.currentTime):(r.captured=!1,r.insideElementPressed=!1,r.insideElement=!0,A(u,r));t.stopHandler&&"mouse"===n[0].type&&(clearTimeout(t.stopTimeOut),t.stopTimeOut=setTimeout((function(){!function(e,t,i){e.stopHandler&&e.stopHandler({eventSource:e,pointerType:i,position:v(t,e.element),buttons:e.getActivePointersListByType(i).buttons,isTouchEvent:"touch"===i,originalEvent:t,preventDefaultAction:!1,userData:e.userData})}(t,i,n[0].type)}),t.stopDelay)),0===u.contacts?t.moveHandler&&!1===t.moveHandler({eventSource:t,pointerType:n[0].type,position:f(n[0].currentPos,t.element),buttons:u.buttons,isTouchEvent:"touch"===n[0].type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i):1===u.contacts?(t.moveHandler&&(s=u.asArray()[0],!1===t.moveHandler({eventSource:t,pointerType:s.type,position:f(s.currentPos,t.element),buttons:u.buttons,isTouchEvent:"touch"===s.type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i)),t.dragHandler&&(h=(s=u.asArray()[0]).currentPos.minus(s.lastPos),!1===t.dragHandler({eventSource:t,pointerType:s.type,position:f(s.currentPos,t.element),buttons:u.buttons,delta:h,speed:s.speed,direction:s.direction,shift:i.shiftKey,isTouchEvent:"touch"===s.type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i))):2===u.contacts&&(t.moveHandler&&(a=u.asArray(),!1===t.moveHandler({eventSource:t,pointerType:a[0].type,position:f(w(a[0].currentPos,a[1].currentPos),t.element),buttons:u.buttons,isTouchEvent:"touch"===a[0].type,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i)),t.pinchHandler&&"touch"===n[0].type&&(h=c.pinchGPoints[0].currentPos.distanceTo(c.pinchGPoints[1].currentPos))!=c.currentPinchDist&&(c.lastPinchDist=c.currentPinchDist,c.currentPinchDist=h,c.lastPinchCenter=c.currentPinchCenter,c.currentPinchCenter=w(c.pinchGPoints[0].currentPos,c.pinchGPoints[1].currentPos),!1===t.pinchHandler({eventSource:t,pointerType:"touch",gesturePoints:c.pinchGPoints,lastCenter:f(c.lastPinchCenter,t.element),center:f(c.currentPinchCenter,t.element),lastDistance:c.lastPinchDist,distance:c.currentPinchDist,shift:i.shiftKey,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i)))}e.MouseTracker=function(t){a.push(this);var i=arguments;e.isPlainObject(t)||(t={element:i[0],clickTimeThreshold:i[1],clickDistThreshold:i[2]}),this.hash=Math.random(),this.element=e.getElement(t.element),this.clickTimeThreshold=t.clickTimeThreshold||e.DEFAULT_SETTINGS.clickTimeThreshold,this.clickDistThreshold=t.clickDistThreshold||e.DEFAULT_SETTINGS.clickDistThreshold,this.dblClickTimeThreshold=t.dblClickTimeThreshold||e.DEFAULT_SETTINGS.dblClickTimeThreshold,this.dblClickDistThreshold=t.dblClickDistThreshold||e.DEFAULT_SETTINGS.dblClickDistThreshold,this.userData=t.userData||null,this.stopDelay=t.stopDelay||50,this.enterHandler=t.enterHandler||null,this.exitHandler=t.exitHandler||null,this.pressHandler=t.pressHandler||null,this.nonPrimaryPressHandler=t.nonPrimaryPressHandler||null,this.releaseHandler=t.releaseHandler||null,this.nonPrimaryReleaseHandler=t.nonPrimaryReleaseHandler||null,this.moveHandler=t.moveHandler||null,this.scrollHandler=t.scrollHandler||null,this.clickHandler=t.clickHandler||null,this.dblClickHandler=t.dblClickHandler||null,this.dragHandler=t.dragHandler||null,this.dragEndHandler=t.dragEndHandler||null,this.pinchHandler=t.pinchHandler||null,this.stopHandler=t.stopHandler||null,this.keyDownHandler=t.keyDownHandler||null,this.keyUpHandler=t.keyUpHandler||null,this.keyHandler=t.keyHandler||null,this.focusHandler=t.focusHandler||null,this.blurHandler=t.blurHandler||null;var n=this;l[this.hash]={click:function(t){!function(t,i){t.clickHandler&&e.cancelEvent(i)}(n,t)},dblclick:function(t){!function(t,i){t.dblClickHandler&&e.cancelEvent(i)}(n,t)},keydown:function(t){!function(t,i){t.keyDownHandler&&(i=e.getEvent(i),t.keyDownHandler({eventSource:t,keyCode:i.keyCode?i.keyCode:i.charCode,ctrl:i.ctrlKey,shift:i.shiftKey,alt:i.altKey,meta:i.metaKey,originalEvent:i,preventDefaultAction:!1,userData:t.userData})||e.cancelEvent(i))}(n,t)},keyup:function(t){!function(t,i){t.keyUpHandler&&(i=e.getEvent(i),t.keyUpHandler({eventSource:t,keyCode:i.keyCode?i.keyCode:i.charCode,ctrl:i.ctrlKey,shift:i.shiftKey,alt:i.altKey,meta:i.metaKey,originalEvent:i,preventDefaultAction:!1,userData:t.userData})||e.cancelEvent(i))}(n,t)},keypress:function(t){!function(t,i){t.keyHandler&&(i=e.getEvent(i),t.keyHandler({eventSource:t,keyCode:i.keyCode?i.keyCode:i.charCode,ctrl:i.ctrlKey,shift:i.shiftKey,alt:i.altKey,meta:i.metaKey,originalEvent:i,preventDefaultAction:!1,userData:t.userData})||e.cancelEvent(i))}(n,t)},focus:function(t){!function(t,i){t.focusHandler&&(i=e.getEvent(i),!1===t.focusHandler({eventSource:t,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i))}(n,t)},blur:function(t){!function(t,i){t.blurHandler&&(i=e.getEvent(i),!1===t.blurHandler({eventSource:t,originalEvent:i,preventDefaultAction:!1,userData:t.userData})&&e.cancelEvent(i))}(n,t)},wheel:function(e){!function(e,t){T(e,t,t)}(n,e)},mousewheel:function(e){y(n,e)},DOMMouseScroll:function(e){y(n,e)},MozMousePixelScroll:function(e){y(n,e)},mouseenter:function(t){!function(t,i){S(t,i=e.getEvent(i))}(n,t)},mouseleave:function(t){!function(t,i){E(t,i=e.getEvent(i))}(n,t)},mouseover:function(t){!function(t,i){(i=e.getEvent(i)).currentTarget===i.relatedTarget||x(i.currentTarget,i.relatedTarget)||S(t,i)}(n,t)},mouseout:function(t){!function(t,i){(i=e.getEvent(i)).currentTarget===i.relatedTarget||x(i.currentTarget,i.relatedTarget)||E(t,i)}(n,t)},mousedown:function(t){!function(t,i){V(t,i=e.getEvent(i),[{id:e.MouseTracker.mousePointerId,type:"mouse",isPrimary:!0,currentPos:m(i),currentTime:e.now()}],P(i.button))&&(e.stopEvent(i),d(t,"mouse")),(t.clickHandler||t.dblClickHandler||t.pressHandler||t.dragHandler||t.dragEndHandler)&&e.cancelEvent(i)}(n,t)},mouseup:function(e){!function(e,t){_(e,t)}(n,e)},mouseupcaptured:function(t){!function(t,i){_(t,i),e.stopEvent(i)}(n,t)},mousemove:function(e){!function(e,t){R(e,t)}(n,e)},mousemovecaptured:function(t){!function(t,i){R(t,i),e.stopEvent(i)}(n,t)},touchstart:function(t){!function(t,i){var n,o,r,s,l=i.changedTouches.length,h=[],c=t.getActivePointersListByType("touch");for(n=e.now(),c.getLength()>i.touches.length-l&&(e.console.warn("Tracked touch contact count doesn't match event.touches.length. Removing all tracked touch pointers."),b(t,i,c)),o=0;o<l;o++)h.push({id:i.changedTouches[o].identifier,type:"touch",currentPos:m(i.changedTouches[o]),currentTime:n});for(N(t,i,h),o=0;o<a.length;o++)if(a[o]!==t&&a[o].isTracking()&&x(a[o].element,t.element)){for(s=[],r=0;r<l;r++)s.push({id:i.changedTouches[r].identifier,type:"touch",currentPos:m(i.changedTouches[r]),currentTime:n});N(a[o],i,s)}V(t,i,h,0)&&(e.stopEvent(i),d(t,"touch",l)),e.cancelEvent(i)}(n,t)},touchend:function(e){!function(e,t){C(e,t)}(n,e)},touchendcaptured:function(t){!function(t,i){C(t,i),e.stopEvent(i)}(n,t)},touchmove:function(e){!function(e,t){O(e,t)}(n,e)},touchmovecaptured:function(t){!function(t,i){O(t,i),e.stopEvent(i)}(n,t)},touchcancel:function(e){!function(e,t){var i=e.getActivePointersListByType("touch");b(e,t,i)}(n,e)},gesturestart:function(e){!function(e,t){t.stopPropagation(),t.preventDefault()}(0,e)},gesturechange:function(e){!function(e,t){t.stopPropagation(),t.preventDefault()}(0,e)},pointerover:function(e){I(n,e)},MSPointerOver:function(e){I(n,e)},pointerout:function(e){k(n,e)},MSPointerOut:function(e){k(n,e)},pointerdown:function(e){D(n,e)},MSPointerDown:function(e){D(n,e)},pointerup:function(e){B(n,e)},MSPointerUp:function(e){B(n,e)},pointermove:function(e){z(n,e)},MSPointerMove:function(e){z(n,e)},pointercancel:function(e){F(n,e)},MSPointerCancel:function(e){F(n,e)},pointerupcaptured:function(t){!function(t,i){t.getActivePointersListByType(g(i)).getById(i.pointerId)&&M(t,i),e.stopEvent(i)}(n,t)},pointermovecaptured:function(t){!function(t,i){t.getActivePointersListByType(g(i)).getById(i.pointerId)&&H(t,i),e.stopEvent(i)}(n,t)},tracking:!1,activePointersLists:[],lastClickPos:null,dblClickTimeOut:null,pinchGPoints:[],lastPinchDist:0,currentPinchDist:0,lastPinchCenter:null,currentPinchCenter:null},t.startDisabled||this.setTracking(!0)},e.MouseTracker.prototype={destroy:function(){var e;for(c(this),this.element=null,e=0;e<a.length;e++)if(a[e]===this){a.splice(e,1);break}l[this.hash]=null,delete l[this.hash]},isTracking:function(){return l[this.hash].tracking},setTracking:function(t){return t?function(t){var i,n,o=l[t.hash];if(!o.tracking){for(n=0;n<e.MouseTracker.subscribeEvents.length;n++)i=e.MouseTracker.subscribeEvents[n],e.addEvent(t.element,i,o[i],!1);h(t),o.tracking=!0}}(this):c(this),this},getActivePointersListsExceptType:function(e){for(var t=l[this.hash],i=[],n=0;n<t.activePointersLists.length;++n)t.activePointersLists[n].type!==e&&i.push(t.activePointersLists[n]);return i},getActivePointersListByType:function(t){var i,n,o=l[this.hash],r=o.activePointersLists.length;for(i=0;i<r;i++)if(o.activePointersLists[i].type===t)return o.activePointersLists[i];return n=new e.MouseTracker.GesturePointList(t),o.activePointersLists.push(n),n},getActivePointerCount:function(){var e,t=l[this.hash],i=t.activePointersLists.length,n=0;for(e=0;e<i;e++)n+=t.activePointersLists[e].getLength();return n},enterHandler:function(){},exitHandler:function(){},pressHandler:function(){},nonPrimaryPressHandler:function(){},releaseHandler:function(){},nonPrimaryReleaseHandler:function(){},moveHa