diff --git a/public/static/dicom/dicomViewPc1.html b/public/static/dicom/dicomViewPc1.html
index 1cce70fb..9ce07853 100644
--- a/public/static/dicom/dicomViewPc1.html
+++ b/public/static/dicom/dicomViewPc1.html
@@ -5,14 +5,14 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>胶片预览</title>
-    <script src="https://unpkg.com/hammerjs@2.0.8/hammer.js"></script>
-    <script src="https://unpkg.com/cornerstone-core@2.6.1/dist/cornerstone.js"></script>
-    <script src="https://unpkg.com/cornerstone-math@0.1.10/dist/cornerstoneMath.min.js"></script>
-    <script src="https://unpkg.com/cornerstone-wado-image-loader@4.1.3/dist/cornerstoneWADOImageLoader.bundle.min.js"></script>
-    <script src="https://unpkg.com/cornerstone-web-image-loader@2.1.1/dist/cornerstoneWebImageLoader.min.js"></script>
+    <script src="./js/hammer.js"></script>
+    <script src="./js/cornerstone.js"></script>
+    <script src="./js/cornerstoneMath.min.js"></script>
+    <script src="./js/cornerstoneWADOImageLoader.bundle.min.js"></script>
+    <script src="./js/cornerstoneWebImageLoader.min.js"></script>
     <script src="./js/cornerstoneTools.js"></script><!-- https://unpkg.com/cornerstone-tools@6.0.7/dist/cornerstoneTools.js -->
-    <script src="https://unpkg.com/dicom-parser@1.8.13/dist/dicomParser.min.js"></script>
-    <script src="http://code.jquery.com/jquery-1.12.2.min.js"></script>
+    <script src="./js/dicomParser.min.js"></script>
+    <script src="./js/jquery-1.12.2.min.js"></script>
     <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
     <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
     <!-- 可选的 Bootstrap 主题文件(一般不用引入) -->
@@ -383,7 +383,7 @@
 <body>
     <div id="container">
         <div id="top-menu" >
-            <img title="放大镜" style="width: 40px;height: 40px; margin-left: 5px;"  id="Magnify" class="img-checkbox" onclick="switchAction('Magnify',1,this)" src="/static/放大镜.jpg"/>
+            <img title="放大镜" style="width: 35px;height: 35px; margin-left: 5px;"  id="Magnify" class="img-checkbox" onclick="switchAction('Magnify',1,this)" src="/static/放大镜.jpg"/>
              <img title="平移" style="width: 50px;height: 50px;" id="Pan" class="img-checkbox" onclick="switchAction('Pan',1,this)" src="/static/平移.jpg"/>
              <img title="左键缩放" style="width: 50px;height: 50px;" id="Zoom" class="img-checkbox" onclick="switchAction('Zoom',1,this)" src="/static/缩放.jpg"/>
              <img title="滚轮缩放" style="width: 50px;height: 50px;" id="ZoomMouseWheel" class="img-checkbox" onclick="switchAction('ZoomMouseWheel',1,this)" src="/static/滚轮缩放.jpg" />
@@ -409,7 +409,7 @@
             <img title="重置" id="reset" style="width: 50px;height: 50px;" onclick="resetTool()" class="img-checkbox" src="/static/重置.jpg"/>
 
             <div class="dropdown">
-                <img style="width: 42px;height: 42px;" class="dropbtn" src="/static/布局2x.jpg"/>
+                <img style="width: 36px;height: 36px;" class="dropbtn" src="/static/布局2x.jpg"/>
                 <ul class="dropdown-content">
                     <li><a data-value="1x1"><img src="/static/1.1.jpg"/>1x1</a></li>
                     <li><a data-value="1x2"><img src="/static/1.2.jpg"/>1x2</a></li>
diff --git a/public/static/dicom/js/cornerstone.js b/public/static/dicom/js/cornerstone.js
new file mode 100644
index 00000000..e8a1a975
--- /dev/null
+++ b/public/static/dicom/js/cornerstone.js
@@ -0,0 +1,9084 @@
+/*! cornerstone-core - 2.6.1 - 2021-11-19 | (c) 2016 Chris Hafey | https://github.com/cornerstonejs/cornerstone */
+(function webpackUniversalModuleDefinition(root, factory) {
+	if(typeof exports === 'object' && typeof module === 'object')
+		module.exports = factory();
+	else if(typeof define === 'function' && define.amd)
+		define("cornerstone-core", [], factory);
+	else if(typeof exports === 'object')
+		exports["cornerstone-core"] = factory();
+	else
+		root["cornerstone"] = factory();
+})(window, function() {
+return /******/ (function(modules) { // webpackBootstrap
+/******/ 	function hotDisposeChunk(chunkId) {
+/******/ 		delete installedChunks[chunkId];
+/******/ 	}
+/******/ 	var parentHotUpdateCallback = window["webpackHotUpdate"];
+/******/ 	window["webpackHotUpdate"] = // eslint-disable-next-line no-unused-vars
+/******/ 	function webpackHotUpdateCallback(chunkId, moreModules) {
+/******/ 		hotAddUpdateChunk(chunkId, moreModules);
+/******/ 		if (parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules);
+/******/ 	} ;
+/******/
+/******/ 	// eslint-disable-next-line no-unused-vars
+/******/ 	function hotDownloadUpdateChunk(chunkId) {
+/******/ 		var head = document.getElementsByTagName("head")[0];
+/******/ 		var script = document.createElement("script");
+/******/ 		script.charset = "utf-8";
+/******/ 		script.src = __webpack_require__.p + "" + chunkId + "." + hotCurrentHash + ".hot-update.js";
+/******/ 		;
+/******/ 		head.appendChild(script);
+/******/ 	}
+/******/
+/******/ 	// eslint-disable-next-line no-unused-vars
+/******/ 	function hotDownloadManifest(requestTimeout) {
+/******/ 		requestTimeout = requestTimeout || 10000;
+/******/ 		return new Promise(function(resolve, reject) {
+/******/ 			if (typeof XMLHttpRequest === "undefined") {
+/******/ 				return reject(new Error("No browser support"));
+/******/ 			}
+/******/ 			try {
+/******/ 				var request = new XMLHttpRequest();
+/******/ 				var requestPath = __webpack_require__.p + "" + hotCurrentHash + ".hot-update.json";
+/******/ 				request.open("GET", requestPath, true);
+/******/ 				request.timeout = requestTimeout;
+/******/ 				request.send(null);
+/******/ 			} catch (err) {
+/******/ 				return reject(err);
+/******/ 			}
+/******/ 			request.onreadystatechange = function() {
+/******/ 				if (request.readyState !== 4) return;
+/******/ 				if (request.status === 0) {
+/******/ 					// timeout
+/******/ 					reject(
+/******/ 						new Error("Manifest request to " + requestPath + " timed out.")
+/******/ 					);
+/******/ 				} else if (request.status === 404) {
+/******/ 					// no update available
+/******/ 					resolve();
+/******/ 				} else if (request.status !== 200 && request.status !== 304) {
+/******/ 					// other failure
+/******/ 					reject(new Error("Manifest request to " + requestPath + " failed."));
+/******/ 				} else {
+/******/ 					// success
+/******/ 					try {
+/******/ 						var update = JSON.parse(request.responseText);
+/******/ 					} catch (e) {
+/******/ 						reject(e);
+/******/ 						return;
+/******/ 					}
+/******/ 					resolve(update);
+/******/ 				}
+/******/ 			};
+/******/ 		});
+/******/ 	}
+/******/
+/******/ 	var hotApplyOnUpdate = true;
+/******/ 	// eslint-disable-next-line no-unused-vars
+/******/ 	var hotCurrentHash = "4d8d88ba53621f59b9a9";
+/******/ 	var hotRequestTimeout = 10000;
+/******/ 	var hotCurrentModuleData = {};
+/******/ 	var hotCurrentChildModule;
+/******/ 	// eslint-disable-next-line no-unused-vars
+/******/ 	var hotCurrentParents = [];
+/******/ 	// eslint-disable-next-line no-unused-vars
+/******/ 	var hotCurrentParentsTemp = [];
+/******/
+/******/ 	// eslint-disable-next-line no-unused-vars
+/******/ 	function hotCreateRequire(moduleId) {
+/******/ 		var me = installedModules[moduleId];
+/******/ 		if (!me) return __webpack_require__;
+/******/ 		var fn = function(request) {
+/******/ 			if (me.hot.active) {
+/******/ 				if (installedModules[request]) {
+/******/ 					if (installedModules[request].parents.indexOf(moduleId) === -1) {
+/******/ 						installedModules[request].parents.push(moduleId);
+/******/ 					}
+/******/ 				} else {
+/******/ 					hotCurrentParents = [moduleId];
+/******/ 					hotCurrentChildModule = request;
+/******/ 				}
+/******/ 				if (me.children.indexOf(request) === -1) {
+/******/ 					me.children.push(request);
+/******/ 				}
+/******/ 			} else {
+/******/ 				console.warn(
+/******/ 					"[HMR] unexpected require(" +
+/******/ 						request +
+/******/ 						") from disposed module " +
+/******/ 						moduleId
+/******/ 				);
+/******/ 				hotCurrentParents = [];
+/******/ 			}
+/******/ 			return __webpack_require__(request);
+/******/ 		};
+/******/ 		var ObjectFactory = function ObjectFactory(name) {
+/******/ 			return {
+/******/ 				configurable: true,
+/******/ 				enumerable: true,
+/******/ 				get: function() {
+/******/ 					return __webpack_require__[name];
+/******/ 				},
+/******/ 				set: function(value) {
+/******/ 					__webpack_require__[name] = value;
+/******/ 				}
+/******/ 			};
+/******/ 		};
+/******/ 		for (var name in __webpack_require__) {
+/******/ 			if (
+/******/ 				Object.prototype.hasOwnProperty.call(__webpack_require__, name) &&
+/******/ 				name !== "e" &&
+/******/ 				name !== "t"
+/******/ 			) {
+/******/ 				Object.defineProperty(fn, name, ObjectFactory(name));
+/******/ 			}
+/******/ 		}
+/******/ 		fn.e = function(chunkId) {
+/******/ 			if (hotStatus === "ready") hotSetStatus("prepare");
+/******/ 			hotChunksLoading++;
+/******/ 			return __webpack_require__.e(chunkId).then(finishChunkLoading, function(err) {
+/******/ 				finishChunkLoading();
+/******/ 				throw err;
+/******/ 			});
+/******/
+/******/ 			function finishChunkLoading() {
+/******/ 				hotChunksLoading--;
+/******/ 				if (hotStatus === "prepare") {
+/******/ 					if (!hotWaitingFilesMap[chunkId]) {
+/******/ 						hotEnsureUpdateChunk(chunkId);
+/******/ 					}
+/******/ 					if (hotChunksLoading === 0 && hotWaitingFiles === 0) {
+/******/ 						hotUpdateDownloaded();
+/******/ 					}
+/******/ 				}
+/******/ 			}
+/******/ 		};
+/******/ 		fn.t = function(value, mode) {
+/******/ 			if (mode & 1) value = fn(value);
+/******/ 			return __webpack_require__.t(value, mode & ~1);
+/******/ 		};
+/******/ 		return fn;
+/******/ 	}
+/******/
+/******/ 	// eslint-disable-next-line no-unused-vars
+/******/ 	function hotCreateModule(moduleId) {
+/******/ 		var hot = {
+/******/ 			// private stuff
+/******/ 			_acceptedDependencies: {},
+/******/ 			_declinedDependencies: {},
+/******/ 			_selfAccepted: false,
+/******/ 			_selfDeclined: false,
+/******/ 			_disposeHandlers: [],
+/******/ 			_main: hotCurrentChildModule !== moduleId,
+/******/
+/******/ 			// Module API
+/******/ 			active: true,
+/******/ 			accept: function(dep, callback) {
+/******/ 				if (dep === undefined) hot._selfAccepted = true;
+/******/ 				else if (typeof dep === "function") hot._selfAccepted = dep;
+/******/ 				else if (typeof dep === "object")
+/******/ 					for (var i = 0; i < dep.length; i++)
+/******/ 						hot._acceptedDependencies[dep[i]] = callback || function() {};
+/******/ 				else hot._acceptedDependencies[dep] = callback || function() {};
+/******/ 			},
+/******/ 			decline: function(dep) {
+/******/ 				if (dep === undefined) hot._selfDeclined = true;
+/******/ 				else if (typeof dep === "object")
+/******/ 					for (var i = 0; i < dep.length; i++)
+/******/ 						hot._declinedDependencies[dep[i]] = true;
+/******/ 				else hot._declinedDependencies[dep] = true;
+/******/ 			},
+/******/ 			dispose: function(callback) {
+/******/ 				hot._disposeHandlers.push(callback);
+/******/ 			},
+/******/ 			addDisposeHandler: function(callback) {
+/******/ 				hot._disposeHandlers.push(callback);
+/******/ 			},
+/******/ 			removeDisposeHandler: function(callback) {
+/******/ 				var idx = hot._disposeHandlers.indexOf(callback);
+/******/ 				if (idx >= 0) hot._disposeHandlers.splice(idx, 1);
+/******/ 			},
+/******/
+/******/ 			// Management API
+/******/ 			check: hotCheck,
+/******/ 			apply: hotApply,
+/******/ 			status: function(l) {
+/******/ 				if (!l) return hotStatus;
+/******/ 				hotStatusHandlers.push(l);
+/******/ 			},
+/******/ 			addStatusHandler: function(l) {
+/******/ 				hotStatusHandlers.push(l);
+/******/ 			},
+/******/ 			removeStatusHandler: function(l) {
+/******/ 				var idx = hotStatusHandlers.indexOf(l);
+/******/ 				if (idx >= 0) hotStatusHandlers.splice(idx, 1);
+/******/ 			},
+/******/
+/******/ 			//inherit from previous dispose call
+/******/ 			data: hotCurrentModuleData[moduleId]
+/******/ 		};
+/******/ 		hotCurrentChildModule = undefined;
+/******/ 		return hot;
+/******/ 	}
+/******/
+/******/ 	var hotStatusHandlers = [];
+/******/ 	var hotStatus = "idle";
+/******/
+/******/ 	function hotSetStatus(newStatus) {
+/******/ 		hotStatus = newStatus;
+/******/ 		for (var i = 0; i < hotStatusHandlers.length; i++)
+/******/ 			hotStatusHandlers[i].call(null, newStatus);
+/******/ 	}
+/******/
+/******/ 	// while downloading
+/******/ 	var hotWaitingFiles = 0;
+/******/ 	var hotChunksLoading = 0;
+/******/ 	var hotWaitingFilesMap = {};
+/******/ 	var hotRequestedFilesMap = {};
+/******/ 	var hotAvailableFilesMap = {};
+/******/ 	var hotDeferred;
+/******/
+/******/ 	// The update info
+/******/ 	var hotUpdate, hotUpdateNewHash;
+/******/
+/******/ 	function toModuleId(id) {
+/******/ 		var isNumber = +id + "" === id;
+/******/ 		return isNumber ? +id : id;
+/******/ 	}
+/******/
+/******/ 	function hotCheck(apply) {
+/******/ 		if (hotStatus !== "idle") {
+/******/ 			throw new Error("check() is only allowed in idle status");
+/******/ 		}
+/******/ 		hotApplyOnUpdate = apply;
+/******/ 		hotSetStatus("check");
+/******/ 		return hotDownloadManifest(hotRequestTimeout).then(function(update) {
+/******/ 			if (!update) {
+/******/ 				hotSetStatus("idle");
+/******/ 				return null;
+/******/ 			}
+/******/ 			hotRequestedFilesMap = {};
+/******/ 			hotWaitingFilesMap = {};
+/******/ 			hotAvailableFilesMap = update.c;
+/******/ 			hotUpdateNewHash = update.h;
+/******/
+/******/ 			hotSetStatus("prepare");
+/******/ 			var promise = new Promise(function(resolve, reject) {
+/******/ 				hotDeferred = {
+/******/ 					resolve: resolve,
+/******/ 					reject: reject
+/******/ 				};
+/******/ 			});
+/******/ 			hotUpdate = {};
+/******/ 			var chunkId = "cornerstone";
+/******/ 			// eslint-disable-next-line no-lone-blocks
+/******/ 			{
+/******/ 				/*globals chunkId */
+/******/ 				hotEnsureUpdateChunk(chunkId);
+/******/ 			}
+/******/ 			if (
+/******/ 				hotStatus === "prepare" &&
+/******/ 				hotChunksLoading === 0 &&
+/******/ 				hotWaitingFiles === 0
+/******/ 			) {
+/******/ 				hotUpdateDownloaded();
+/******/ 			}
+/******/ 			return promise;
+/******/ 		});
+/******/ 	}
+/******/
+/******/ 	// eslint-disable-next-line no-unused-vars
+/******/ 	function hotAddUpdateChunk(chunkId, moreModules) {
+/******/ 		if (!hotAvailableFilesMap[chunkId] || !hotRequestedFilesMap[chunkId])
+/******/ 			return;
+/******/ 		hotRequestedFilesMap[chunkId] = false;
+/******/ 		for (var moduleId in moreModules) {
+/******/ 			if (Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
+/******/ 				hotUpdate[moduleId] = moreModules[moduleId];
+/******/ 			}
+/******/ 		}
+/******/ 		if (--hotWaitingFiles === 0 && hotChunksLoading === 0) {
+/******/ 			hotUpdateDownloaded();
+/******/ 		}
+/******/ 	}
+/******/
+/******/ 	function hotEnsureUpdateChunk(chunkId) {
+/******/ 		if (!hotAvailableFilesMap[chunkId]) {
+/******/ 			hotWaitingFilesMap[chunkId] = true;
+/******/ 		} else {
+/******/ 			hotRequestedFilesMap[chunkId] = true;
+/******/ 			hotWaitingFiles++;
+/******/ 			hotDownloadUpdateChunk(chunkId);
+/******/ 		}
+/******/ 	}
+/******/
+/******/ 	function hotUpdateDownloaded() {
+/******/ 		hotSetStatus("ready");
+/******/ 		var deferred = hotDeferred;
+/******/ 		hotDeferred = null;
+/******/ 		if (!deferred) return;
+/******/ 		if (hotApplyOnUpdate) {
+/******/ 			// Wrap deferred object in Promise to mark it as a well-handled Promise to
+/******/ 			// avoid triggering uncaught exception warning in Chrome.
+/******/ 			// See https://bugs.chromium.org/p/chromium/issues/detail?id=465666
+/******/ 			Promise.resolve()
+/******/ 				.then(function() {
+/******/ 					return hotApply(hotApplyOnUpdate);
+/******/ 				})
+/******/ 				.then(
+/******/ 					function(result) {
+/******/ 						deferred.resolve(result);
+/******/ 					},
+/******/ 					function(err) {
+/******/ 						deferred.reject(err);
+/******/ 					}
+/******/ 				);
+/******/ 		} else {
+/******/ 			var outdatedModules = [];
+/******/ 			for (var id in hotUpdate) {
+/******/ 				if (Object.prototype.hasOwnProperty.call(hotUpdate, id)) {
+/******/ 					outdatedModules.push(toModuleId(id));
+/******/ 				}
+/******/ 			}
+/******/ 			deferred.resolve(outdatedModules);
+/******/ 		}
+/******/ 	}
+/******/
+/******/ 	function hotApply(options) {
+/******/ 		if (hotStatus !== "ready")
+/******/ 			throw new Error("apply() is only allowed in ready status");
+/******/ 		options = options || {};
+/******/
+/******/ 		var cb;
+/******/ 		var i;
+/******/ 		var j;
+/******/ 		var module;
+/******/ 		var moduleId;
+/******/
+/******/ 		function getAffectedStuff(updateModuleId) {
+/******/ 			var outdatedModules = [updateModuleId];
+/******/ 			var outdatedDependencies = {};
+/******/
+/******/ 			var queue = outdatedModules.slice().map(function(id) {
+/******/ 				return {
+/******/ 					chain: [id],
+/******/ 					id: id
+/******/ 				};
+/******/ 			});
+/******/ 			while (queue.length > 0) {
+/******/ 				var queueItem = queue.pop();
+/******/ 				var moduleId = queueItem.id;
+/******/ 				var chain = queueItem.chain;
+/******/ 				module = installedModules[moduleId];
+/******/ 				if (!module || module.hot._selfAccepted) continue;
+/******/ 				if (module.hot._selfDeclined) {
+/******/ 					return {
+/******/ 						type: "self-declined",
+/******/ 						chain: chain,
+/******/ 						moduleId: moduleId
+/******/ 					};
+/******/ 				}
+/******/ 				if (module.hot._main) {
+/******/ 					return {
+/******/ 						type: "unaccepted",
+/******/ 						chain: chain,
+/******/ 						moduleId: moduleId
+/******/ 					};
+/******/ 				}
+/******/ 				for (var i = 0; i < module.parents.length; i++) {
+/******/ 					var parentId = module.parents[i];
+/******/ 					var parent = installedModules[parentId];
+/******/ 					if (!parent) continue;
+/******/ 					if (parent.hot._declinedDependencies[moduleId]) {
+/******/ 						return {
+/******/ 							type: "declined",
+/******/ 							chain: chain.concat([parentId]),
+/******/ 							moduleId: moduleId,
+/******/ 							parentId: parentId
+/******/ 						};
+/******/ 					}
+/******/ 					if (outdatedModules.indexOf(parentId) !== -1) continue;
+/******/ 					if (parent.hot._acceptedDependencies[moduleId]) {
+/******/ 						if (!outdatedDependencies[parentId])
+/******/ 							outdatedDependencies[parentId] = [];
+/******/ 						addAllToSet(outdatedDependencies[parentId], [moduleId]);
+/******/ 						continue;
+/******/ 					}
+/******/ 					delete outdatedDependencies[parentId];
+/******/ 					outdatedModules.push(parentId);
+/******/ 					queue.push({
+/******/ 						chain: chain.concat([parentId]),
+/******/ 						id: parentId
+/******/ 					});
+/******/ 				}
+/******/ 			}
+/******/
+/******/ 			return {
+/******/ 				type: "accepted",
+/******/ 				moduleId: updateModuleId,
+/******/ 				outdatedModules: outdatedModules,
+/******/ 				outdatedDependencies: outdatedDependencies
+/******/ 			};
+/******/ 		}
+/******/
+/******/ 		function addAllToSet(a, b) {
+/******/ 			for (var i = 0; i < b.length; i++) {
+/******/ 				var item = b[i];
+/******/ 				if (a.indexOf(item) === -1) a.push(item);
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		// at begin all updates modules are outdated
+/******/ 		// the "outdated" status can propagate to parents if they don't accept the children
+/******/ 		var outdatedDependencies = {};
+/******/ 		var outdatedModules = [];
+/******/ 		var appliedUpdate = {};
+/******/
+/******/ 		var warnUnexpectedRequire = function warnUnexpectedRequire() {
+/******/ 			console.warn(
+/******/ 				"[HMR] unexpected require(" + result.moduleId + ") to disposed module"
+/******/ 			);
+/******/ 		};
+/******/
+/******/ 		for (var id in hotUpdate) {
+/******/ 			if (Object.prototype.hasOwnProperty.call(hotUpdate, id)) {
+/******/ 				moduleId = toModuleId(id);
+/******/ 				/** @type {TODO} */
+/******/ 				var result;
+/******/ 				if (hotUpdate[id]) {
+/******/ 					result = getAffectedStuff(moduleId);
+/******/ 				} else {
+/******/ 					result = {
+/******/ 						type: "disposed",
+/******/ 						moduleId: id
+/******/ 					};
+/******/ 				}
+/******/ 				/** @type {Error|false} */
+/******/ 				var abortError = false;
+/******/ 				var doApply = false;
+/******/ 				var doDispose = false;
+/******/ 				var chainInfo = "";
+/******/ 				if (result.chain) {
+/******/ 					chainInfo = "\nUpdate propagation: " + result.chain.join(" -> ");
+/******/ 				}
+/******/ 				switch (result.type) {
+/******/ 					case "self-declined":
+/******/ 						if (options.onDeclined) options.onDeclined(result);
+/******/ 						if (!options.ignoreDeclined)
+/******/ 							abortError = new Error(
+/******/ 								"Aborted because of self decline: " +
+/******/ 									result.moduleId +
+/******/ 									chainInfo
+/******/ 							);
+/******/ 						break;
+/******/ 					case "declined":
+/******/ 						if (options.onDeclined) options.onDeclined(result);
+/******/ 						if (!options.ignoreDeclined)
+/******/ 							abortError = new Error(
+/******/ 								"Aborted because of declined dependency: " +
+/******/ 									result.moduleId +
+/******/ 									" in " +
+/******/ 									result.parentId +
+/******/ 									chainInfo
+/******/ 							);
+/******/ 						break;
+/******/ 					case "unaccepted":
+/******/ 						if (options.onUnaccepted) options.onUnaccepted(result);
+/******/ 						if (!options.ignoreUnaccepted)
+/******/ 							abortError = new Error(
+/******/ 								"Aborted because " + moduleId + " is not accepted" + chainInfo
+/******/ 							);
+/******/ 						break;
+/******/ 					case "accepted":
+/******/ 						if (options.onAccepted) options.onAccepted(result);
+/******/ 						doApply = true;
+/******/ 						break;
+/******/ 					case "disposed":
+/******/ 						if (options.onDisposed) options.onDisposed(result);
+/******/ 						doDispose = true;
+/******/ 						break;
+/******/ 					default:
+/******/ 						throw new Error("Unexception type " + result.type);
+/******/ 				}
+/******/ 				if (abortError) {
+/******/ 					hotSetStatus("abort");
+/******/ 					return Promise.reject(abortError);
+/******/ 				}
+/******/ 				if (doApply) {
+/******/ 					appliedUpdate[moduleId] = hotUpdate[moduleId];
+/******/ 					addAllToSet(outdatedModules, result.outdatedModules);
+/******/ 					for (moduleId in result.outdatedDependencies) {
+/******/ 						if (
+/******/ 							Object.prototype.hasOwnProperty.call(
+/******/ 								result.outdatedDependencies,
+/******/ 								moduleId
+/******/ 							)
+/******/ 						) {
+/******/ 							if (!outdatedDependencies[moduleId])
+/******/ 								outdatedDependencies[moduleId] = [];
+/******/ 							addAllToSet(
+/******/ 								outdatedDependencies[moduleId],
+/******/ 								result.outdatedDependencies[moduleId]
+/******/ 							);
+/******/ 						}
+/******/ 					}
+/******/ 				}
+/******/ 				if (doDispose) {
+/******/ 					addAllToSet(outdatedModules, [result.moduleId]);
+/******/ 					appliedUpdate[moduleId] = warnUnexpectedRequire;
+/******/ 				}
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		// Store self accepted outdated modules to require them later by the module system
+/******/ 		var outdatedSelfAcceptedModules = [];
+/******/ 		for (i = 0; i < outdatedModules.length; i++) {
+/******/ 			moduleId = outdatedModules[i];
+/******/ 			if (
+/******/ 				installedModules[moduleId] &&
+/******/ 				installedModules[moduleId].hot._selfAccepted
+/******/ 			)
+/******/ 				outdatedSelfAcceptedModules.push({
+/******/ 					module: moduleId,
+/******/ 					errorHandler: installedModules[moduleId].hot._selfAccepted
+/******/ 				});
+/******/ 		}
+/******/
+/******/ 		// Now in "dispose" phase
+/******/ 		hotSetStatus("dispose");
+/******/ 		Object.keys(hotAvailableFilesMap).forEach(function(chunkId) {
+/******/ 			if (hotAvailableFilesMap[chunkId] === false) {
+/******/ 				hotDisposeChunk(chunkId);
+/******/ 			}
+/******/ 		});
+/******/
+/******/ 		var idx;
+/******/ 		var queue = outdatedModules.slice();
+/******/ 		while (queue.length > 0) {
+/******/ 			moduleId = queue.pop();
+/******/ 			module = installedModules[moduleId];
+/******/ 			if (!module) continue;
+/******/
+/******/ 			var data = {};
+/******/
+/******/ 			// Call dispose handlers
+/******/ 			var disposeHandlers = module.hot._disposeHandlers;
+/******/ 			for (j = 0; j < disposeHandlers.length; j++) {
+/******/ 				cb = disposeHandlers[j];
+/******/ 				cb(data);
+/******/ 			}
+/******/ 			hotCurrentModuleData[moduleId] = data;
+/******/
+/******/ 			// disable module (this disables requires from this module)
+/******/ 			module.hot.active = false;
+/******/
+/******/ 			// remove module from cache
+/******/ 			delete installedModules[moduleId];
+/******/
+/******/ 			// when disposing there is no need to call dispose handler
+/******/ 			delete outdatedDependencies[moduleId];
+/******/
+/******/ 			// remove "parents" references from all children
+/******/ 			for (j = 0; j < module.children.length; j++) {
+/******/ 				var child = installedModules[module.children[j]];
+/******/ 				if (!child) continue;
+/******/ 				idx = child.parents.indexOf(moduleId);
+/******/ 				if (idx >= 0) {
+/******/ 					child.parents.splice(idx, 1);
+/******/ 				}
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		// remove outdated dependency from module children
+/******/ 		var dependency;
+/******/ 		var moduleOutdatedDependencies;
+/******/ 		for (moduleId in outdatedDependencies) {
+/******/ 			if (
+/******/ 				Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)
+/******/ 			) {
+/******/ 				module = installedModules[moduleId];
+/******/ 				if (module) {
+/******/ 					moduleOutdatedDependencies = outdatedDependencies[moduleId];
+/******/ 					for (j = 0; j < moduleOutdatedDependencies.length; j++) {
+/******/ 						dependency = moduleOutdatedDependencies[j];
+/******/ 						idx = module.children.indexOf(dependency);
+/******/ 						if (idx >= 0) module.children.splice(idx, 1);
+/******/ 					}
+/******/ 				}
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		// Not in "apply" phase
+/******/ 		hotSetStatus("apply");
+/******/
+/******/ 		hotCurrentHash = hotUpdateNewHash;
+/******/
+/******/ 		// insert new code
+/******/ 		for (moduleId in appliedUpdate) {
+/******/ 			if (Object.prototype.hasOwnProperty.call(appliedUpdate, moduleId)) {
+/******/ 				modules[moduleId] = appliedUpdate[moduleId];
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		// call accept handlers
+/******/ 		var error = null;
+/******/ 		for (moduleId in outdatedDependencies) {
+/******/ 			if (
+/******/ 				Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)
+/******/ 			) {
+/******/ 				module = installedModules[moduleId];
+/******/ 				if (module) {
+/******/ 					moduleOutdatedDependencies = outdatedDependencies[moduleId];
+/******/ 					var callbacks = [];
+/******/ 					for (i = 0; i < moduleOutdatedDependencies.length; i++) {
+/******/ 						dependency = moduleOutdatedDependencies[i];
+/******/ 						cb = module.hot._acceptedDependencies[dependency];
+/******/ 						if (cb) {
+/******/ 							if (callbacks.indexOf(cb) !== -1) continue;
+/******/ 							callbacks.push(cb);
+/******/ 						}
+/******/ 					}
+/******/ 					for (i = 0; i < callbacks.length; i++) {
+/******/ 						cb = callbacks[i];
+/******/ 						try {
+/******/ 							cb(moduleOutdatedDependencies);
+/******/ 						} catch (err) {
+/******/ 							if (options.onErrored) {
+/******/ 								options.onErrored({
+/******/ 									type: "accept-errored",
+/******/ 									moduleId: moduleId,
+/******/ 									dependencyId: moduleOutdatedDependencies[i],
+/******/ 									error: err
+/******/ 								});
+/******/ 							}
+/******/ 							if (!options.ignoreErrored) {
+/******/ 								if (!error) error = err;
+/******/ 							}
+/******/ 						}
+/******/ 					}
+/******/ 				}
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		// Load self accepted modules
+/******/ 		for (i = 0; i < outdatedSelfAcceptedModules.length; i++) {
+/******/ 			var item = outdatedSelfAcceptedModules[i];
+/******/ 			moduleId = item.module;
+/******/ 			hotCurrentParents = [moduleId];
+/******/ 			try {
+/******/ 				__webpack_require__(moduleId);
+/******/ 			} catch (err) {
+/******/ 				if (typeof item.errorHandler === "function") {
+/******/ 					try {
+/******/ 						item.errorHandler(err);
+/******/ 					} catch (err2) {
+/******/ 						if (options.onErrored) {
+/******/ 							options.onErrored({
+/******/ 								type: "self-accept-error-handler-errored",
+/******/ 								moduleId: moduleId,
+/******/ 								error: err2,
+/******/ 								originalError: err
+/******/ 							});
+/******/ 						}
+/******/ 						if (!options.ignoreErrored) {
+/******/ 							if (!error) error = err2;
+/******/ 						}
+/******/ 						if (!error) error = err;
+/******/ 					}
+/******/ 				} else {
+/******/ 					if (options.onErrored) {
+/******/ 						options.onErrored({
+/******/ 							type: "self-accept-errored",
+/******/ 							moduleId: moduleId,
+/******/ 							error: err
+/******/ 						});
+/******/ 					}
+/******/ 					if (!options.ignoreErrored) {
+/******/ 						if (!error) error = err;
+/******/ 					}
+/******/ 				}
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		// handle errors in accept handlers and self accepted module load
+/******/ 		if (error) {
+/******/ 			hotSetStatus("fail");
+/******/ 			return Promise.reject(error);
+/******/ 		}
+/******/
+/******/ 		hotSetStatus("idle");
+/******/ 		return new Promise(function(resolve) {
+/******/ 			resolve(outdatedModules);
+/******/ 		});
+/******/ 	}
+/******/
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {},
+/******/ 			hot: hotCreateModule(moduleId),
+/******/ 			parents: (hotCurrentParentsTemp = hotCurrentParents, hotCurrentParents = [], hotCurrentParentsTemp),
+/******/ 			children: []
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// define __esModule on exports
+/******/ 	__webpack_require__.r = function(exports) {
+/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 		}
+/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 	};
+/******/
+/******/ 	// create a fake namespace object
+/******/ 	// mode & 1: value is a module id, require it
+/******/ 	// mode & 2: merge all properties of value into the ns
+/******/ 	// mode & 4: return value when already ns object
+/******/ 	// mode & 8|1: behave like require
+/******/ 	__webpack_require__.t = function(value, mode) {
+/******/ 		if(mode & 1) value = __webpack_require__(value);
+/******/ 		if(mode & 8) return value;
+/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ 		var ns = Object.create(null);
+/******/ 		__webpack_require__.r(ns);
+/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ 		return ns;
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "";
+/******/
+/******/ 	// __webpack_hash__
+/******/ 	__webpack_require__.h = function() { return hotCurrentHash; };
+/******/
+/******/
+/******/ 	// Load entry module and return exports
+/******/ 	return hotCreateRequire("./index.js")(__webpack_require__.s = "./index.js");
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ "./canvasToPixel.js":
+/*!**************************!*\
+  !*** ./canvasToPixel.js ***!
+  \**************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _internal_getTransform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/getTransform.js */ "./internal/getTransform.js");
+
+
+/**
+ * Converts a point in the canvas coordinate system to the pixel coordinate system
+ * system.  This can be used to reset tools' image coordinates after modifications
+ * have been made in canvas space (e.g. moving a tool by a few cm, independent of
+ * image resolution).
+ *
+ * @param {HTMLElement} element The Cornerstone element within which the input point lies
+ * @param {{x: Number, y: Number}} pt The input point in the canvas coordinate system
+ *
+ * @returns {{x: Number, y: Number}} The transformed point in the pixel coordinate system
+ * @memberof PixelCoordinateSystem
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element, pt) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  var transform = Object(_internal_getTransform_js__WEBPACK_IMPORTED_MODULE_1__["default"])(enabledElement);
+  transform.invert();
+  return transform.transformPoint(pt.x, pt.y);
+});
+
+/***/ }),
+
+/***/ "./colors/colormap.js":
+/*!****************************!*\
+  !*** ./colors/colormap.js ***!
+  \****************************/
+/*! exports provided: getColormapsList, getColormap */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getColormapsList", function() { return getColormapsList; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getColormap", function() { return getColormap; });
+/* harmony import */ var _lookupTable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lookupTable.js */ "./colors/lookupTable.js");
+
+var COLOR_TRANSPARENT = [0, 0, 0, 0]; // Colormaps
+//
+// Hot Iron, PET, Hot Metal Blue and PET 20 Step are color palettes
+// Defined by the DICOM standard
+// http://dicom.nema.org/dicom/2013/output/chtml/part06/chapter_B.html
+//
+// All Linear Segmented Colormaps were copied from matplotlib
+// https://github.com/stefanv/matplotlib/blob/master/lib/matplotlib/_cm.py
+
+var colormapsData = {
+  hotIron: {
+    name: 'Hot Iron',
+    numOfColors: 256,
+    colors: [[0, 0, 0, 255], [2, 0, 0, 255], [4, 0, 0, 255], [6, 0, 0, 255], [8, 0, 0, 255], [10, 0, 0, 255], [12, 0, 0, 255], [14, 0, 0, 255], [16, 0, 0, 255], [18, 0, 0, 255], [20, 0, 0, 255], [22, 0, 0, 255], [24, 0, 0, 255], [26, 0, 0, 255], [28, 0, 0, 255], [30, 0, 0, 255], [32, 0, 0, 255], [34, 0, 0, 255], [36, 0, 0, 255], [38, 0, 0, 255], [40, 0, 0, 255], [42, 0, 0, 255], [44, 0, 0, 255], [46, 0, 0, 255], [48, 0, 0, 255], [50, 0, 0, 255], [52, 0, 0, 255], [54, 0, 0, 255], [56, 0, 0, 255], [58, 0, 0, 255], [60, 0, 0, 255], [62, 0, 0, 255], [64, 0, 0, 255], [66, 0, 0, 255], [68, 0, 0, 255], [70, 0, 0, 255], [72, 0, 0, 255], [74, 0, 0, 255], [76, 0, 0, 255], [78, 0, 0, 255], [80, 0, 0, 255], [82, 0, 0, 255], [84, 0, 0, 255], [86, 0, 0, 255], [88, 0, 0, 255], [90, 0, 0, 255], [92, 0, 0, 255], [94, 0, 0, 255], [96, 0, 0, 255], [98, 0, 0, 255], [100, 0, 0, 255], [102, 0, 0, 255], [104, 0, 0, 255], [106, 0, 0, 255], [108, 0, 0, 255], [110, 0, 0, 255], [112, 0, 0, 255], [114, 0, 0, 255], [116, 0, 0, 255], [118, 0, 0, 255], [120, 0, 0, 255], [122, 0, 0, 255], [124, 0, 0, 255], [126, 0, 0, 255], [128, 0, 0, 255], [130, 0, 0, 255], [132, 0, 0, 255], [134, 0, 0, 255], [136, 0, 0, 255], [138, 0, 0, 255], [140, 0, 0, 255], [142, 0, 0, 255], [144, 0, 0, 255], [146, 0, 0, 255], [148, 0, 0, 255], [150, 0, 0, 255], [152, 0, 0, 255], [154, 0, 0, 255], [156, 0, 0, 255], [158, 0, 0, 255], [160, 0, 0, 255], [162, 0, 0, 255], [164, 0, 0, 255], [166, 0, 0, 255], [168, 0, 0, 255], [170, 0, 0, 255], [172, 0, 0, 255], [174, 0, 0, 255], [176, 0, 0, 255], [178, 0, 0, 255], [180, 0, 0, 255], [182, 0, 0, 255], [184, 0, 0, 255], [186, 0, 0, 255], [188, 0, 0, 255], [190, 0, 0, 255], [192, 0, 0, 255], [194, 0, 0, 255], [196, 0, 0, 255], [198, 0, 0, 255], [200, 0, 0, 255], [202, 0, 0, 255], [204, 0, 0, 255], [206, 0, 0, 255], [208, 0, 0, 255], [210, 0, 0, 255], [212, 0, 0, 255], [214, 0, 0, 255], [216, 0, 0, 255], [218, 0, 0, 255], [220, 0, 0, 255], [222, 0, 0, 255], [224, 0, 0, 255], [226, 0, 0, 255], [228, 0, 0, 255], [230, 0, 0, 255], [232, 0, 0, 255], [234, 0, 0, 255], [236, 0, 0, 255], [238, 0, 0, 255], [240, 0, 0, 255], [242, 0, 0, 255], [244, 0, 0, 255], [246, 0, 0, 255], [248, 0, 0, 255], [250, 0, 0, 255], [252, 0, 0, 255], [254, 0, 0, 255], [255, 0, 0, 255], [255, 2, 0, 255], [255, 4, 0, 255], [255, 6, 0, 255], [255, 8, 0, 255], [255, 10, 0, 255], [255, 12, 0, 255], [255, 14, 0, 255], [255, 16, 0, 255], [255, 18, 0, 255], [255, 20, 0, 255], [255, 22, 0, 255], [255, 24, 0, 255], [255, 26, 0, 255], [255, 28, 0, 255], [255, 30, 0, 255], [255, 32, 0, 255], [255, 34, 0, 255], [255, 36, 0, 255], [255, 38, 0, 255], [255, 40, 0, 255], [255, 42, 0, 255], [255, 44, 0, 255], [255, 46, 0, 255], [255, 48, 0, 255], [255, 50, 0, 255], [255, 52, 0, 255], [255, 54, 0, 255], [255, 56, 0, 255], [255, 58, 0, 255], [255, 60, 0, 255], [255, 62, 0, 255], [255, 64, 0, 255], [255, 66, 0, 255], [255, 68, 0, 255], [255, 70, 0, 255], [255, 72, 0, 255], [255, 74, 0, 255], [255, 76, 0, 255], [255, 78, 0, 255], [255, 80, 0, 255], [255, 82, 0, 255], [255, 84, 0, 255], [255, 86, 0, 255], [255, 88, 0, 255], [255, 90, 0, 255], [255, 92, 0, 255], [255, 94, 0, 255], [255, 96, 0, 255], [255, 98, 0, 255], [255, 100, 0, 255], [255, 102, 0, 255], [255, 104, 0, 255], [255, 106, 0, 255], [255, 108, 0, 255], [255, 110, 0, 255], [255, 112, 0, 255], [255, 114, 0, 255], [255, 116, 0, 255], [255, 118, 0, 255], [255, 120, 0, 255], [255, 122, 0, 255], [255, 124, 0, 255], [255, 126, 0, 255], [255, 128, 4, 255], [255, 130, 8, 255], [255, 132, 12, 255], [255, 134, 16, 255], [255, 136, 20, 255], [255, 138, 24, 255], [255, 140, 28, 255], [255, 142, 32, 255], [255, 144, 36, 255], [255, 146, 40, 255], [255, 148, 44, 255], [255, 150, 48, 255], [255, 152, 52, 255], [255, 154, 56, 255], [255, 156, 60, 255], [255, 158, 64, 255], [255, 160, 68, 255], [255, 162, 72, 255], [255, 164, 76, 255], [255, 166, 80, 255], [255, 168, 84, 255], [255, 170, 88, 255], [255, 172, 92, 255], [255, 174, 96, 255], [255, 176, 100, 255], [255, 178, 104, 255], [255, 180, 108, 255], [255, 182, 112, 255], [255, 184, 116, 255], [255, 186, 120, 255], [255, 188, 124, 255], [255, 190, 128, 255], [255, 192, 132, 255], [255, 194, 136, 255], [255, 196, 140, 255], [255, 198, 144, 255], [255, 200, 148, 255], [255, 202, 152, 255], [255, 204, 156, 255], [255, 206, 160, 255], [255, 208, 164, 255], [255, 210, 168, 255], [255, 212, 172, 255], [255, 214, 176, 255], [255, 216, 180, 255], [255, 218, 184, 255], [255, 220, 188, 255], [255, 222, 192, 255], [255, 224, 196, 255], [255, 226, 200, 255], [255, 228, 204, 255], [255, 230, 208, 255], [255, 232, 212, 255], [255, 234, 216, 255], [255, 236, 220, 255], [255, 238, 224, 255], [255, 240, 228, 255], [255, 242, 232, 255], [255, 244, 236, 255], [255, 246, 240, 255], [255, 248, 244, 255], [255, 250, 248, 255], [255, 252, 252, 255], [255, 255, 255, 255]]
+  },
+  pet: {
+    name: 'PET',
+    numColors: 256,
+    colors: [[0, 0, 0, 255], [0, 2, 1, 255], [0, 4, 3, 255], [0, 6, 5, 255], [0, 8, 7, 255], [0, 10, 9, 255], [0, 12, 11, 255], [0, 14, 13, 255], [0, 16, 15, 255], [0, 18, 17, 255], [0, 20, 19, 255], [0, 22, 21, 255], [0, 24, 23, 255], [0, 26, 25, 255], [0, 28, 27, 255], [0, 30, 29, 255], [0, 32, 31, 255], [0, 34, 33, 255], [0, 36, 35, 255], [0, 38, 37, 255], [0, 40, 39, 255], [0, 42, 41, 255], [0, 44, 43, 255], [0, 46, 45, 255], [0, 48, 47, 255], [0, 50, 49, 255], [0, 52, 51, 255], [0, 54, 53, 255], [0, 56, 55, 255], [0, 58, 57, 255], [0, 60, 59, 255], [0, 62, 61, 255], [0, 65, 63, 255], [0, 67, 65, 255], [0, 69, 67, 255], [0, 71, 69, 255], [0, 73, 71, 255], [0, 75, 73, 255], [0, 77, 75, 255], [0, 79, 77, 255], [0, 81, 79, 255], [0, 83, 81, 255], [0, 85, 83, 255], [0, 87, 85, 255], [0, 89, 87, 255], [0, 91, 89, 255], [0, 93, 91, 255], [0, 95, 93, 255], [0, 97, 95, 255], [0, 99, 97, 255], [0, 101, 99, 255], [0, 103, 101, 255], [0, 105, 103, 255], [0, 107, 105, 255], [0, 109, 107, 255], [0, 111, 109, 255], [0, 113, 111, 255], [0, 115, 113, 255], [0, 117, 115, 255], [0, 119, 117, 255], [0, 121, 119, 255], [0, 123, 121, 255], [0, 125, 123, 255], [0, 128, 125, 255], [1, 126, 127, 255], [3, 124, 129, 255], [5, 122, 131, 255], [7, 120, 133, 255], [9, 118, 135, 255], [11, 116, 137, 255], [13, 114, 139, 255], [15, 112, 141, 255], [17, 110, 143, 255], [19, 108, 145, 255], [21, 106, 147, 255], [23, 104, 149, 255], [25, 102, 151, 255], [27, 100, 153, 255], [29, 98, 155, 255], [31, 96, 157, 255], [33, 94, 159, 255], [35, 92, 161, 255], [37, 90, 163, 255], [39, 88, 165, 255], [41, 86, 167, 255], [43, 84, 169, 255], [45, 82, 171, 255], [47, 80, 173, 255], [49, 78, 175, 255], [51, 76, 177, 255], [53, 74, 179, 255], [55, 72, 181, 255], [57, 70, 183, 255], [59, 68, 185, 255], [61, 66, 187, 255], [63, 64, 189, 255], [65, 63, 191, 255], [67, 61, 193, 255], [69, 59, 195, 255], [71, 57, 197, 255], [73, 55, 199, 255], [75, 53, 201, 255], [77, 51, 203, 255], [79, 49, 205, 255], [81, 47, 207, 255], [83, 45, 209, 255], [85, 43, 211, 255], [86, 41, 213, 255], [88, 39, 215, 255], [90, 37, 217, 255], [92, 35, 219, 255], [94, 33, 221, 255], [96, 31, 223, 255], [98, 29, 225, 255], [100, 27, 227, 255], [102, 25, 229, 255], [104, 23, 231, 255], [106, 21, 233, 255], [108, 19, 235, 255], [110, 17, 237, 255], [112, 15, 239, 255], [114, 13, 241, 255], [116, 11, 243, 255], [118, 9, 245, 255], [120, 7, 247, 255], [122, 5, 249, 255], [124, 3, 251, 255], [126, 1, 253, 255], [128, 0, 255, 255], [130, 2, 252, 255], [132, 4, 248, 255], [134, 6, 244, 255], [136, 8, 240, 255], [138, 10, 236, 255], [140, 12, 232, 255], [142, 14, 228, 255], [144, 16, 224, 255], [146, 18, 220, 255], [148, 20, 216, 255], [150, 22, 212, 255], [152, 24, 208, 255], [154, 26, 204, 255], [156, 28, 200, 255], [158, 30, 196, 255], [160, 32, 192, 255], [162, 34, 188, 255], [164, 36, 184, 255], [166, 38, 180, 255], [168, 40, 176, 255], [170, 42, 172, 255], [171, 44, 168, 255], [173, 46, 164, 255], [175, 48, 160, 255], [177, 50, 156, 255], [179, 52, 152, 255], [181, 54, 148, 255], [183, 56, 144, 255], [185, 58, 140, 255], [187, 60, 136, 255], [189, 62, 132, 255], [191, 64, 128, 255], [193, 66, 124, 255], [195, 68, 120, 255], [197, 70, 116, 255], [199, 72, 112, 255], [201, 74, 108, 255], [203, 76, 104, 255], [205, 78, 100, 255], [207, 80, 96, 255], [209, 82, 92, 255], [211, 84, 88, 255], [213, 86, 84, 255], [215, 88, 80, 255], [217, 90, 76, 255], [219, 92, 72, 255], [221, 94, 68, 255], [223, 96, 64, 255], [225, 98, 60, 255], [227, 100, 56, 255], [229, 102, 52, 255], [231, 104, 48, 255], [233, 106, 44, 255], [235, 108, 40, 255], [237, 110, 36, 255], [239, 112, 32, 255], [241, 114, 28, 255], [243, 116, 24, 255], [245, 118, 20, 255], [247, 120, 16, 255], [249, 122, 12, 255], [251, 124, 8, 255], [253, 126, 4, 255], [255, 128, 0, 255], [255, 130, 4, 255], [255, 132, 8, 255], [255, 134, 12, 255], [255, 136, 16, 255], [255, 138, 20, 255], [255, 140, 24, 255], [255, 142, 28, 255], [255, 144, 32, 255], [255, 146, 36, 255], [255, 148, 40, 255], [255, 150, 44, 255], [255, 152, 48, 255], [255, 154, 52, 255], [255, 156, 56, 255], [255, 158, 60, 255], [255, 160, 64, 255], [255, 162, 68, 255], [255, 164, 72, 255], [255, 166, 76, 255], [255, 168, 80, 255], [255, 170, 85, 255], [255, 172, 89, 255], [255, 174, 93, 255], [255, 176, 97, 255], [255, 178, 101, 255], [255, 180, 105, 255], [255, 182, 109, 255], [255, 184, 113, 255], [255, 186, 117, 255], [255, 188, 121, 255], [255, 190, 125, 255], [255, 192, 129, 255], [255, 194, 133, 255], [255, 196, 137, 255], [255, 198, 141, 255], [255, 200, 145, 255], [255, 202, 149, 255], [255, 204, 153, 255], [255, 206, 157, 255], [255, 208, 161, 255], [255, 210, 165, 255], [255, 212, 170, 255], [255, 214, 174, 255], [255, 216, 178, 255], [255, 218, 182, 255], [255, 220, 186, 255], [255, 222, 190, 255], [255, 224, 194, 255], [255, 226, 198, 255], [255, 228, 202, 255], [255, 230, 206, 255], [255, 232, 210, 255], [255, 234, 214, 255], [255, 236, 218, 255], [255, 238, 222, 255], [255, 240, 226, 255], [255, 242, 230, 255], [255, 244, 234, 255], [255, 246, 238, 255], [255, 248, 242, 255], [255, 250, 246, 255], [255, 252, 250, 255], [255, 255, 255, 255]]
+  },
+  hotMetalBlue: {
+    name: 'Hot Metal Blue',
+    numColors: 256,
+    colors: [[0, 0, 0, 255], [0, 0, 2, 255], [0, 0, 4, 255], [0, 0, 6, 255], [0, 0, 8, 255], [0, 0, 10, 255], [0, 0, 12, 255], [0, 0, 14, 255], [0, 0, 16, 255], [0, 0, 17, 255], [0, 0, 19, 255], [0, 0, 21, 255], [0, 0, 23, 255], [0, 0, 25, 255], [0, 0, 27, 255], [0, 0, 29, 255], [0, 0, 31, 255], [0, 0, 33, 255], [0, 0, 35, 255], [0, 0, 37, 255], [0, 0, 39, 255], [0, 0, 41, 255], [0, 0, 43, 255], [0, 0, 45, 255], [0, 0, 47, 255], [0, 0, 49, 255], [0, 0, 51, 255], [0, 0, 53, 255], [0, 0, 55, 255], [0, 0, 57, 255], [0, 0, 59, 255], [0, 0, 61, 255], [0, 0, 63, 255], [0, 0, 65, 255], [0, 0, 67, 255], [0, 0, 69, 255], [0, 0, 71, 255], [0, 0, 73, 255], [0, 0, 75, 255], [0, 0, 77, 255], [0, 0, 79, 255], [0, 0, 81, 255], [0, 0, 83, 255], [0, 0, 84, 255], [0, 0, 86, 255], [0, 0, 88, 255], [0, 0, 90, 255], [0, 0, 92, 255], [0, 0, 94, 255], [0, 0, 96, 255], [0, 0, 98, 255], [0, 0, 100, 255], [0, 0, 102, 255], [0, 0, 104, 255], [0, 0, 106, 255], [0, 0, 108, 255], [0, 0, 110, 255], [0, 0, 112, 255], [0, 0, 114, 255], [0, 0, 116, 255], [0, 0, 117, 255], [0, 0, 119, 255], [0, 0, 121, 255], [0, 0, 123, 255], [0, 0, 125, 255], [0, 0, 127, 255], [0, 0, 129, 255], [0, 0, 131, 255], [0, 0, 133, 255], [0, 0, 135, 255], [0, 0, 137, 255], [0, 0, 139, 255], [0, 0, 141, 255], [0, 0, 143, 255], [0, 0, 145, 255], [0, 0, 147, 255], [0, 0, 149, 255], [0, 0, 151, 255], [0, 0, 153, 255], [0, 0, 155, 255], [0, 0, 157, 255], [0, 0, 159, 255], [0, 0, 161, 255], [0, 0, 163, 255], [0, 0, 165, 255], [0, 0, 167, 255], [3, 0, 169, 255], [6, 0, 171, 255], [9, 0, 173, 255], [12, 0, 175, 255], [15, 0, 177, 255], [18, 0, 179, 255], [21, 0, 181, 255], [24, 0, 183, 255], [26, 0, 184, 255], [29, 0, 186, 255], [32, 0, 188, 255], [35, 0, 190, 255], [38, 0, 192, 255], [41, 0, 194, 255], [44, 0, 196, 255], [47, 0, 198, 255], [50, 0, 200, 255], [52, 0, 197, 255], [55, 0, 194, 255], [57, 0, 191, 255], [59, 0, 188, 255], [62, 0, 185, 255], [64, 0, 182, 255], [66, 0, 179, 255], [69, 0, 176, 255], [71, 0, 174, 255], [74, 0, 171, 255], [76, 0, 168, 255], [78, 0, 165, 255], [81, 0, 162, 255], [83, 0, 159, 255], [85, 0, 156, 255], [88, 0, 153, 255], [90, 0, 150, 255], [93, 2, 144, 255], [96, 4, 138, 255], [99, 6, 132, 255], [102, 8, 126, 255], [105, 9, 121, 255], [108, 11, 115, 255], [111, 13, 109, 255], [114, 15, 103, 255], [116, 17, 97, 255], [119, 19, 91, 255], [122, 21, 85, 255], [125, 23, 79, 255], [128, 24, 74, 255], [131, 26, 68, 255], [134, 28, 62, 255], [137, 30, 56, 255], [140, 32, 50, 255], [143, 34, 47, 255], [146, 36, 44, 255], [149, 38, 41, 255], [152, 40, 38, 255], [155, 41, 35, 255], [158, 43, 32, 255], [161, 45, 29, 255], [164, 47, 26, 255], [166, 49, 24, 255], [169, 51, 21, 255], [172, 53, 18, 255], [175, 55, 15, 255], [178, 56, 12, 255], [181, 58, 9, 255], [184, 60, 6, 255], [187, 62, 3, 255], [190, 64, 0, 255], [194, 66, 0, 255], [198, 68, 0, 255], [201, 70, 0, 255], [205, 72, 0, 255], [209, 73, 0, 255], [213, 75, 0, 255], [217, 77, 0, 255], [221, 79, 0, 255], [224, 81, 0, 255], [228, 83, 0, 255], [232, 85, 0, 255], [236, 87, 0, 255], [240, 88, 0, 255], [244, 90, 0, 255], [247, 92, 0, 255], [251, 94, 0, 255], [255, 96, 0, 255], [255, 98, 3, 255], [255, 100, 6, 255], [255, 102, 9, 255], [255, 104, 12, 255], [255, 105, 15, 255], [255, 107, 18, 255], [255, 109, 21, 255], [255, 111, 24, 255], [255, 113, 26, 255], [255, 115, 29, 255], [255, 117, 32, 255], [255, 119, 35, 255], [255, 120, 38, 255], [255, 122, 41, 255], [255, 124, 44, 255], [255, 126, 47, 255], [255, 128, 50, 255], [255, 130, 53, 255], [255, 132, 56, 255], [255, 134, 59, 255], [255, 136, 62, 255], [255, 137, 65, 255], [255, 139, 68, 255], [255, 141, 71, 255], [255, 143, 74, 255], [255, 145, 76, 255], [255, 147, 79, 255], [255, 149, 82, 255], [255, 151, 85, 255], [255, 152, 88, 255], [255, 154, 91, 255], [255, 156, 94, 255], [255, 158, 97, 255], [255, 160, 100, 255], [255, 162, 103, 255], [255, 164, 106, 255], [255, 166, 109, 255], [255, 168, 112, 255], [255, 169, 115, 255], [255, 171, 118, 255], [255, 173, 121, 255], [255, 175, 124, 255], [255, 177, 126, 255], [255, 179, 129, 255], [255, 181, 132, 255], [255, 183, 135, 255], [255, 184, 138, 255], [255, 186, 141, 255], [255, 188, 144, 255], [255, 190, 147, 255], [255, 192, 150, 255], [255, 194, 153, 255], [255, 196, 156, 255], [255, 198, 159, 255], [255, 200, 162, 255], [255, 201, 165, 255], [255, 203, 168, 255], [255, 205, 171, 255], [255, 207, 174, 255], [255, 209, 176, 255], [255, 211, 179, 255], [255, 213, 182, 255], [255, 215, 185, 255], [255, 216, 188, 255], [255, 218, 191, 255], [255, 220, 194, 255], [255, 222, 197, 255], [255, 224, 200, 255], [255, 226, 203, 255], [255, 228, 206, 255], [255, 229, 210, 255], [255, 231, 213, 255], [255, 233, 216, 255], [255, 235, 219, 255], [255, 237, 223, 255], [255, 239, 226, 255], [255, 240, 229, 255], [255, 242, 232, 255], [255, 244, 236, 255], [255, 246, 239, 255], [255, 248, 242, 255], [255, 250, 245, 255], [255, 251, 249, 255], [255, 253, 252, 255], [255, 255, 255, 255]]
+  },
+  pet20Step: {
+    name: 'PET 20 Step',
+    numColors: 256,
+    colors: [[0, 0, 0, 255], [0, 0, 0, 255], [0, 0, 0, 255], [0, 0, 0, 255], [0, 0, 0, 255], [0, 0, 0, 255], [0, 0, 0, 255], [0, 0, 0, 255], [0, 0, 0, 255], [0, 0, 0, 255], [0, 0, 0, 255], [0, 0, 0, 255], [0, 0, 0, 255], [96, 0, 80, 255], [96, 0, 80, 255], [96, 0, 80, 255], [96, 0, 80, 255], [96, 0, 80, 255], [96, 0, 80, 255], [96, 0, 80, 255], [96, 0, 80, 255], [96, 0, 80, 255], [96, 0, 80, 255], [96, 0, 80, 255], [96, 0, 80, 255], [96, 0, 80, 255], [48, 48, 80, 255], [48, 48, 80, 255], [48, 48, 80, 255], [48, 48, 80, 255], [48, 48, 80, 255], [48, 48, 80, 255], [48, 48, 80, 255], [48, 48, 80, 255], [48, 48, 80, 255], [48, 48, 80, 255], [48, 48, 80, 255], [48, 48, 80, 255], [48, 48, 80, 255], [48, 48, 112, 255], [48, 48, 112, 255], [48, 48, 112, 255], [48, 48, 112, 255], [48, 48, 112, 255], [48, 48, 112, 255], [48, 48, 112, 255], [48, 48, 112, 255], [48, 48, 112, 255], [48, 48, 112, 255], [48, 48, 112, 255], [48, 48, 112, 255], [80, 80, 128, 255], [80, 80, 128, 255], [80, 80, 128, 255], [80, 80, 128, 255], [80, 80, 128, 255], [80, 80, 128, 255], [80, 80, 128, 255], [80, 80, 128, 255], [80, 80, 128, 255], [80, 80, 128, 255], [80, 80, 128, 255], [80, 80, 128, 255], [80, 80, 128, 255], [96, 96, 176, 255], [96, 96, 176, 255], [96, 96, 176, 255], [96, 96, 176, 255], [96, 96, 176, 255], [96, 96, 176, 255], [96, 96, 176, 255], [96, 96, 176, 255], [96, 96, 176, 255], [96, 96, 176, 255], [96, 96, 176, 255], [96, 96, 176, 255], [96, 96, 176, 255], [112, 112, 192, 255], [112, 112, 192, 255], [112, 112, 192, 255], [112, 112, 192, 255], [112, 112, 192, 255], [112, 112, 192, 255], [112, 112, 192, 255], [112, 112, 192, 255], [112, 112, 192, 255], [112, 112, 192, 255], [112, 112, 192, 255], [112, 112, 192, 255], [112, 112, 192, 255], [128, 128, 224, 255], [128, 128, 224, 255], [128, 128, 224, 255], [128, 128, 224, 255], [128, 128, 224, 255], [128, 128, 224, 255], [128, 128, 224, 255], [128, 128, 224, 255], [128, 128, 224, 255], [128, 128, 224, 255], [128, 128, 224, 255], [128, 128, 224, 255], [48, 96, 48, 255], [48, 96, 48, 255], [48, 96, 48, 255], [48, 96, 48, 255], [48, 96, 48, 255], [48, 96, 48, 255], [48, 96, 48, 255], [48, 96, 48, 255], [48, 96, 48, 255], [48, 96, 48, 255], [48, 96, 48, 255], [48, 96, 48, 255], [48, 96, 48, 255], [48, 144, 48, 255], [48, 144, 48, 255], [48, 144, 48, 255], [48, 144, 48, 255], [48, 144, 48, 255], [48, 144, 48, 255], [48, 144, 48, 255], [48, 144, 48, 255], [48, 144, 48, 255], [48, 144, 48, 255], [48, 144, 48, 255], [48, 144, 48, 255], [48, 144, 48, 255], [80, 192, 80, 255], [80, 192, 80, 255], [80, 192, 80, 255], [80, 192, 80, 255], [80, 192, 80, 255], [80, 192, 80, 255], [80, 192, 80, 255], [80, 192, 80, 255], [80, 192, 80, 255], [80, 192, 80, 255], [80, 192, 80, 255], [80, 192, 80, 255], [80, 192, 80, 255], [64, 224, 64, 255], [64, 224, 64, 255], [64, 224, 64, 255], [64, 224, 64, 255], [64, 224, 64, 255], [64, 224, 64, 255], [64, 224, 64, 255], [64, 224, 64, 255], [64, 224, 64, 255], [64, 224, 64, 255], [64, 224, 64, 255], [64, 224, 64, 255], [224, 224, 80, 255], [224, 224, 80, 255], [224, 224, 80, 255], [224, 224, 80, 255], [224, 224, 80, 255], [224, 224, 80, 255], [224, 224, 80, 255], [224, 224, 80, 255], [224, 224, 80, 255], [224, 224, 80, 255], [224, 224, 80, 255], [224, 224, 80, 255], [224, 224, 80, 255], [208, 208, 96, 255], [208, 208, 96, 255], [208, 208, 96, 255], [208, 208, 96, 255], [208, 208, 96, 255], [208, 208, 96, 255], [208, 208, 96, 255], [208, 208, 96, 255], [208, 208, 96, 255], [208, 208, 96, 255], [208, 208, 96, 255], [208, 208, 96, 255], [208, 208, 96, 255], [208, 176, 64, 255], [208, 176, 64, 255], [208, 176, 64, 255], [208, 176, 64, 255], [208, 176, 64, 255], [208, 176, 64, 255], [208, 176, 64, 255], [208, 176, 64, 255], [208, 176, 64, 255], [208, 176, 64, 255], [208, 176, 64, 255], [208, 176, 64, 255], [208, 176, 64, 255], [208, 144, 0, 255], [208, 144, 0, 255], [208, 144, 0, 255], [208, 144, 0, 255], [208, 144, 0, 255], [208, 144, 0, 255], [208, 144, 0, 255], [208, 144, 0, 255], [208, 144, 0, 255], [208, 144, 0, 255], [208, 144, 0, 255], [208, 144, 0, 255], [192, 96, 0, 255], [192, 96, 0, 255], [192, 96, 0, 255], [192, 96, 0, 255], [192, 96, 0, 255], [192, 96, 0, 255], [192, 96, 0, 255], [192, 96, 0, 255], [192, 96, 0, 255], [192, 96, 0, 255], [192, 96, 0, 255], [192, 96, 0, 255], [192, 96, 0, 255], [176, 48, 0, 255], [176, 48, 0, 255], [176, 48, 0, 255], [176, 48, 0, 255], [176, 48, 0, 255], [176, 48, 0, 255], [176, 48, 0, 255], [176, 48, 0, 255], [176, 48, 0, 255], [176, 48, 0, 255], [176, 48, 0, 255], [176, 48, 0, 255], [176, 48, 0, 255], [255, 0, 0, 255], [255, 0, 0, 255], [255, 0, 0, 255], [255, 0, 0, 255], [255, 0, 0, 255], [255, 0, 0, 255], [255, 0, 0, 255], [255, 0, 0, 255], [255, 0, 0, 255], [255, 0, 0, 255], [255, 0, 0, 255], [255, 0, 0, 255], [255, 0, 0, 255], [255, 255, 255, 255], [255, 255, 255, 255], [255, 255, 255, 255], [255, 255, 255, 255], [255, 255, 255, 255], [255, 255, 255, 255], [255, 255, 255, 255], [255, 255, 255, 255], [255, 255, 255, 255], [255, 255, 255, 255], [255, 255, 255, 255], [255, 255, 255, 255], [255, 255, 255, 255]]
+  },
+  gray: {
+    name: 'Gray',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 0, 0], [1, 1, 1]],
+      green: [[0, 0, 0], [1, 1, 1]],
+      blue: [[0, 0, 0], [1, 1, 1]]
+    }
+  },
+  jet: {
+    name: 'Jet',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 0, 0], [0.35, 0, 0], [0.66, 1, 1], [0.89, 1, 1], [1, 0.5, 0.5]],
+      green: [[0, 0, 0], [0.125, 0, 0], [0.375, 1, 1], [0.64, 1, 1], [0.91, 0, 0], [1, 0, 0]],
+      blue: [[0, 0.5, 0.5], [0.11, 1, 1], [0.34, 1, 1], [0.65, 0, 0], [1, 0, 0]]
+    }
+  },
+  hsv: {
+    name: 'HSV',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 1, 1], [0.158730, 1, 1], [0.174603, 0.968750, 0.968750], [0.333333, 0.031250, 0.031250], [0.349206, 0, 0], [0.666667, 0, 0], [0.682540, 0.031250, 0.031250], [0.841270, 0.968750, 0.968750], [0.857143, 1, 1], [1, 1, 1]],
+      green: [[0, 0, 0], [0.158730, 0.937500, 0.937500], [0.174603, 1, 1], [0.507937, 1, 1], [0.666667, 0.062500, 0.062500], [0.682540, 0, 0], [1, 0, 0]],
+      blue: [[0, 0, 0], [0.333333, 0, 0], [0.349206, 0.062500, 0.062500], [0.507937, 1, 1], [0.841270, 1, 1], [0.857143, 0.937500, 0.937500], [1, 0.09375, 0.09375]]
+    }
+  },
+  hot: {
+    name: 'Hot',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 0.0416, 0.0416], [0.365079, 1, 1], [1, 1, 1]],
+      green: [[0, 0, 0], [0.365079, 0, 0], [0.746032, 1, 1], [1, 1, 1]],
+      blue: [[0, 0, 0], [0.746032, 0, 0], [1, 1, 1]]
+    }
+  },
+  cool: {
+    name: 'Cool',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 0, 0], [1, 1, 1]],
+      green: [[0, 1, 1], [1, 0, 0]],
+      blue: [[0, 1, 1], [1, 1, 1]]
+    }
+  },
+  spring: {
+    name: 'Spring',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 1, 1], [1, 1, 1]],
+      green: [[0, 0, 0], [1, 1, 1]],
+      blue: [[0, 1, 1], [1, 0, 0]]
+    }
+  },
+  summer: {
+    name: 'Summer',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 0, 0], [1, 1, 1]],
+      green: [[0, 0.5, 0.5], [1, 1, 1]],
+      blue: [[0, 0.4, 0.4], [1, 0.4, 0.4]]
+    }
+  },
+  autumn: {
+    name: 'Autumn',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 1, 1], [1, 1, 1]],
+      green: [[0, 0, 0], [1, 1, 1]],
+      blue: [[0, 0, 0], [1, 0, 0]]
+    }
+  },
+  winter: {
+    name: 'Winter',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 0, 0], [1, 0, 0]],
+      green: [[0, 0, 0], [1, 1, 1]],
+      blue: [[0, 1, 1], [1, 0.5, 0.5]]
+    }
+  },
+  bone: {
+    name: 'Bone',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 0, 0], [0.746032, 0.652778, 0.652778], [1, 1, 1]],
+      green: [[0, 0, 0], [0.365079, 0.319444, 0.319444], [0.746032, 0.777778, 0.777778], [1, 1, 1]],
+      blue: [[0, 0, 0], [0.365079, 0.444444, 0.444444], [1, 1, 1]]
+    }
+  },
+  copper: {
+    name: 'Copper',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 0, 0], [0.809524, 1, 1], [1, 1, 1]],
+      green: [[0, 0, 0], [1, 0.7812, 0.7812]],
+      blue: [[0, 0, 0], [1, 0.4975, 0.4975]]
+    }
+  },
+  spectral: {
+    name: 'Spectral',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 0, 0], [0.05, 0.4667, 0.4667], [0.10, 0.5333, 0.5333], [0.15, 0, 0], [0.20, 0, 0], [0.25, 0, 0], [0.30, 0, 0], [0.35, 0, 0], [0.40, 0, 0], [0.45, 0, 0], [0.50, 0, 0], [0.55, 0, 0], [0.60, 0, 0], [0.65, 0.7333, 0.7333], [0.70, 0.9333, 0.9333], [0.75, 1, 1], [0.80, 1, 1], [0.85, 1, 1], [0.90, 0.8667, 0.8667], [0.95, 0.80, 0.80], [1, 0.80, 0.80]],
+      green: [[0, 0, 0], [0.05, 0, 0], [0.10, 0, 0], [0.15, 0, 0], [0.20, 0, 0], [0.25, 0.4667, 0.4667], [0.30, 0.6000, 0.6000], [0.35, 0.6667, 0.6667], [0.40, 0.6667, 0.6667], [0.45, 0.6000, 0.6000], [0.50, 0.7333, 0.7333], [0.55, 0.8667, 0.8667], [0.60, 1, 1], [0.65, 1, 1], [0.70, 0.9333, 0.9333], [0.75, 0.8000, 0.8000], [0.80, 0.6000, 0.6000], [0.85, 0, 0], [0.90, 0, 0], [0.95, 0, 0], [1, 0.80, 0.80]],
+      blue: [[0, 0, 0], [0.05, 0.5333, 0.5333], [0.10, 0.6000, 0.6000], [0.15, 0.6667, 0.6667], [0.20, 0.8667, 0.8667], [0.25, 0.8667, 0.8667], [0.30, 0.8667, 0.8667], [0.35, 0.6667, 0.6667], [0.40, 0.5333, 0.5333], [0.45, 0, 0], [0.5, 0, 0], [0.55, 0, 0], [0.60, 0, 0], [0.65, 0, 0], [0.70, 0, 0], [0.75, 0, 0], [0.80, 0, 0], [0.85, 0, 0], [0.90, 0, 0], [0.95, 0, 0], [1, 0.80, 0.80]]
+    }
+  },
+  coolwarm: {
+    name: 'CoolWarm',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 0.2298057, 0.2298057], [0.03125, 0.26623388, 0.26623388], [0.0625, 0.30386891, 0.30386891], [0.09375, 0.342804478, 0.342804478], [0.125, 0.38301334, 0.38301334], [0.15625, 0.424369608, 0.424369608], [0.1875, 0.46666708, 0.46666708], [0.21875, 0.509635204, 0.509635204], [0.25, 0.552953156, 0.552953156], [0.28125, 0.596262162, 0.596262162], [0.3125, 0.639176211, 0.639176211], [0.34375, 0.681291281, 0.681291281], [0.375, 0.722193294, 0.722193294], [0.40625, 0.761464949, 0.761464949], [0.4375, 0.798691636, 0.798691636], [0.46875, 0.833466556, 0.833466556], [0.5, 0.865395197, 0.865395197], [0.53125, 0.897787179, 0.897787179], [0.5625, 0.924127593, 0.924127593], [0.59375, 0.944468518, 0.944468518], [0.625, 0.958852946, 0.958852946], [0.65625, 0.96732803, 0.96732803], [0.6875, 0.969954137, 0.969954137], [0.71875, 0.966811177, 0.966811177], [0.75, 0.958003065, 0.958003065], [0.78125, 0.943660866, 0.943660866], [0.8125, 0.923944917, 0.923944917], [0.84375, 0.89904617, 0.89904617], [0.875, 0.869186849, 0.869186849], [0.90625, 0.834620542, 0.834620542], [0.9375, 0.795631745, 0.795631745], [0.96875, 0.752534934, 0.752534934], [1, 0.705673158, 0.705673158]],
+      green: [[0, 0.298717966, 0.298717966], [0.03125, 0.353094838, 0.353094838], [0.0625, 0.406535296, 0.406535296], [0.09375, 0.458757618, 0.458757618], [0.125, 0.50941904, 0.50941904], [0.15625, 0.558148092, 0.558148092], [0.1875, 0.604562568, 0.604562568], [0.21875, 0.648280772, 0.648280772], [0.25, 0.688929332, 0.688929332], [0.28125, 0.726149107, 0.726149107], [0.3125, 0.759599947, 0.759599947], [0.34375, 0.788964712, 0.788964712], [0.375, 0.813952739, 0.813952739], [0.40625, 0.834302879, 0.834302879], [0.4375, 0.849786142, 0.849786142], [0.46875, 0.860207984, 0.860207984], [0.5, 0.86541021, 0.86541021], [0.53125, 0.848937047, 0.848937047], [0.5625, 0.827384882, 0.827384882], [0.59375, 0.800927443, 0.800927443], [0.625, 0.769767752, 0.769767752], [0.65625, 0.734132809, 0.734132809], [0.6875, 0.694266682, 0.694266682], [0.71875, 0.650421156, 0.650421156], [0.75, 0.602842431, 0.602842431], [0.78125, 0.551750968, 0.551750968], [0.8125, 0.49730856, 0.49730856], [0.84375, 0.439559467, 0.439559467], [0.875, 0.378313092, 0.378313092], [0.90625, 0.312874446, 0.312874446], [0.9375, 0.24128379, 0.24128379], [0.96875, 0.157246067, 0.157246067], [1, 0.01555616, 0.01555616]],
+      blue: [[0, 0.753683153, 0.753683153], [0.03125, 0.801466763, 0.801466763], [0.0625, 0.84495867, 0.84495867], [0.09375, 0.883725899, 0.883725899], [0.125, 0.917387822, 0.917387822], [0.15625, 0.945619588, 0.945619588], [0.1875, 0.968154911, 0.968154911], [0.21875, 0.98478814, 0.98478814], [0.25, 0.995375608, 0.995375608], [0.28125, 0.999836203, 0.999836203], [0.3125, 0.998151185, 0.998151185], [0.34375, 0.990363227, 0.990363227], [0.375, 0.976574709, 0.976574709], [0.40625, 0.956945269, 0.956945269], [0.4375, 0.931688648, 0.931688648], [0.46875, 0.901068838, 0.901068838], [0.5, 0.865395561, 0.865395561], [0.53125, 0.820880546, 0.820880546], [0.5625, 0.774508472, 0.774508472], [0.59375, 0.726736146, 0.726736146], [0.625, 0.678007945, 0.678007945], [0.65625, 0.628751763, 0.628751763], [0.6875, 0.579375448, 0.579375448], [0.71875, 0.530263762, 0.530263762], [0.75, 0.481775914, 0.481775914], [0.78125, 0.434243684, 0.434243684], [0.8125, 0.387970225, 0.387970225], [0.84375, 0.343229596, 0.343229596], [0.875, 0.300267182, 0.300267182], [0.90625, 0.259301199, 0.259301199], [0.9375, 0.220525627, 0.220525627], [0.96875, 0.184115123, 0.184115123], [1, 0.150232812, 0.150232812]]
+    }
+  },
+  blues: {
+    name: 'Blues',
+    numColors: 256,
+    gamma: 1,
+    segmentedData: {
+      red: [[0, 0.9686274528503418, 0.9686274528503418], [0.125, 0.87058824300765991, 0.87058824300765991], [0.25, 0.7764706015586853, 0.7764706015586853], [0.375, 0.61960786581039429, 0.61960786581039429], [0.5, 0.41960784792900085, 0.41960784792900085], [0.625, 0.25882354378700256, 0.25882354378700256], [0.75, 0.12941177189350128, 0.12941177189350128], [0.875, 0.031372550874948502, 0.031372550874948502], [1, 0.031372550874948502, 0.031372550874948502]],
+      green: [[0, 0.9843137264251709, 0.9843137264251709], [0.125, 0.92156863212585449, 0.92156863212585449], [0.25, 0.85882353782653809, 0.85882353782653809], [0.375, 0.7921568751335144, 0.7921568751335144], [0.5, 0.68235296010971069, 0.68235296010971069], [0.625, 0.57254904508590698, 0.57254904508590698], [0.75, 0.44313725829124451, 0.44313725829124451], [0.875, 0.31764706969261169, 0.31764706969261169], [1, 0.18823529779911041, 0.18823529779911041]],
+      blue: [[0, 1, 1], [0.125, 0.9686274528503418, 0.9686274528503418], [0.25, 0.93725490570068359, 0.93725490570068359], [0.375, 0.88235294818878174, 0.88235294818878174], [0.5, 0.83921569585800171, 0.83921569585800171], [0.625, 0.7764706015586853, 0.7764706015586853], [0.75, 0.70980393886566162, 0.70980393886566162], [0.875, 0.61176472902297974, 0.61176472902297974], [1, 0.41960784792900085, 0.41960784792900085]]
+    }
+  }
+};
+/**
+ *  Generate linearly spaced vectors
+*  http://cens.ioc.ee/local/man/matlab/techdoc/ref/linspace.html
+ * @param {Number} a A number representing the first vector
+ * @param {Number} b A number representing the second vector
+ * @param {Number} n The number of linear spaced vectors to generate
+ * @returns {Array} An array of points representing linear spaced vectors.
+ * @memberof Colors
+ */
+
+function linspace(a, b, n) {
+  n = n === null ? 100 : n;
+  var increment = (b - a) / (n - 1);
+  var vector = [];
+
+  while (n-- > 0) {
+    vector.push(a);
+    a += increment;
+  } // Make sure the last item will always be "b" because most of the
+  // Time we'll get numbers like 1.0000000000000002 instead of 1.
+
+
+  vector[vector.length - 1] = b;
+  return vector;
+}
+/**
+ * Returns the "rank/index" of the element in a sorted array if found or the highest index if not. Uses (binary search)
+ * @param {Array} array A sorted array to search in
+ * @param {any} elem the element in the array to search for
+ * @returns {number} The rank/index of the element in the given array
+ * @memberof Colors
+ */
+
+
+function getRank(array, elem) {
+  var left = 0;
+  var right = array.length - 1;
+
+  while (left <= right) {
+    var mid = left + Math.floor((right - left) / 2);
+    var midElem = array[mid];
+
+    if (midElem === elem) {
+      return mid;
+    } else if (elem < midElem) {
+      right = mid - 1;
+    } else {
+      left = mid + 1;
+    }
+  }
+
+  return left;
+}
+/**
+ * Find the indices into a sorted array a such that, if the corresponding elements
+ * In v were inserted before the indices, the order of a would be preserved.
+ *  http://lagrange.univ-lyon1.fr/docs/numpy/1.11.0/reference/generated/numpy.searchsorted.html
+ * @param {Array} inputArray The array where the values will be inserted
+ * @param {Array} values An array of the values to be inserted into the inputArray
+ * @returns {Array} The indices where elements should be inserted to maintain order.
+ * @memberof Colors
+ */
+
+
+function searchSorted(inputArray, values) {
+  var i;
+  var indexes = [];
+  var len = values.length;
+  inputArray.sort(function (a, b) {
+    return a - b;
+  });
+
+  for (i = 0; i < len; i++) {
+    indexes[i] = getRank(inputArray, values[i]);
+  }
+
+  return indexes;
+}
+/**
+ * Creates an *N* -element 1-d lookup table
+ * @param {Number} N The number of elements in the result lookup table
+ * @param {Array} data represented by a list of x,y0,y1 mapping correspondences. Each element in this
+ * List represents how a value between 0 and 1 (inclusive) represented by x is mapped to
+ * A corresponding value between 0 and 1 (inclusive). The two values of y are to allow for
+ * Discontinuous mapping functions (say as might be found in a sawtooth) where y0 represents
+ * The value of y for values of x <= to that given, and y1 is the value to be used for x >
+ * Than that given). The list must start with x=0, end with x=1, and all values of x must be
+ * In increasing order. Values between the given mapping points are determined by simple linear
+ * Interpolation.
+ * @param {any} gamma value denotes a "gamma curve" value which adjusts the brightness
+ * at the bottom and top of the map.
+ * @returns {any[]} an array "result" where result[x*(N-1)] gives the closest value for
+ * Values of x between 0 and 1.
+ * @memberof Colors
+ */
+
+
+function makeMappingArray(N, data, gamma) {
+  var i;
+  var x = [];
+  var y0 = [];
+  var y1 = [];
+  var lut = [];
+  gamma = gamma === null ? 1 : gamma;
+
+  for (i = 0; i < data.length; i++) {
+    var element = data[i];
+    x.push((N - 1) * element[0]);
+    y0.push(element[1]);
+    y1.push(element[1]);
+  }
+
+  var xLinSpace = linspace(0, 1, N);
+
+  for (i = 0; i < N; i++) {
+    xLinSpace[i] = (N - 1) * Math.pow(xLinSpace[i], gamma);
+  }
+
+  var xLinSpaceIndexes = searchSorted(x, xLinSpace);
+
+  for (i = 1; i < N - 1; i++) {
+    var index = xLinSpaceIndexes[i];
+    var colorPercent = (xLinSpace[i] - x[index - 1]) / (x[index] - x[index - 1]);
+    var colorDelta = y0[index] - y1[index - 1];
+    lut[i] = colorPercent * colorDelta + y1[index - 1];
+  }
+
+  lut[0] = y1[0];
+  lut[N - 1] = y0[data.length - 1];
+  return lut;
+}
+/**
+ * Creates a Colormap based on lookup tables using linear segments.
+ * @param {{red:Array, green:Array, blue:Array}} segmentedData An object with a red, green and blue entries.
+ * Each entry should be a list of x, y0, y1 tuples, forming rows in a table.
+ * @param {Number} N The number of elements in the result Colormap
+ * @param {any} gamma value denotes a "gamma curve" value which adjusts the brightness
+ * at the bottom and top of the Colormap.
+ * @returns {Array} The created Colormap object
+ * @description The lookup table is generated using linear interpolation for each
+ *  Primary color, with the 0-1 domain divided into any number of
+ * Segments.
+ * https://github.com/stefanv/matplotlib/blob/3f1a23755e86fef97d51e30e106195f34425c9e3/lib/matplotlib/colors.py#L663
+ * @memberof Colors
+ */
+
+
+function createLinearSegmentedColormap(segmentedData, N, gamma) {
+  var i;
+  var lut = [];
+  N = N === null ? 256 : N;
+  gamma = gamma === null ? 1 : gamma;
+  var redLut = makeMappingArray(N, segmentedData.red, gamma);
+  var greenLut = makeMappingArray(N, segmentedData.green, gamma);
+  var blueLut = makeMappingArray(N, segmentedData.blue, gamma);
+
+  for (i = 0; i < N; i++) {
+    var red = Math.round(redLut[i] * 255);
+    var green = Math.round(greenLut[i] * 255);
+    var blue = Math.round(blueLut[i] * 255);
+    var rgba = [red, green, blue, 255];
+    lut.push(rgba);
+  }
+
+  return lut;
+}
+/**
+ * Return all available colormaps (id and name)
+ * @returns {Array<{id,key}>} An array of colormaps with an object containing the "id" and display "name"
+ * @memberof Colors
+ */
+
+
+function getColormapsList() {
+  var colormaps = [];
+  var keys = Object.keys(colormapsData);
+  keys.forEach(function (key) {
+    if (colormapsData.hasOwnProperty(key)) {
+      var colormap = colormapsData[key];
+      colormaps.push({
+        id: key,
+        name: colormap.name
+      });
+    }
+  });
+  colormaps.sort(function (a, b) {
+    var aName = a.name.toLowerCase();
+    var bName = b.name.toLowerCase();
+
+    if (aName === bName) {
+      return 0;
+    }
+
+    return aName < bName ? -1 : 1;
+  });
+  return colormaps;
+}
+/**
+ * Return a colorMap object with the provided id and colormapData
+ * if the Id matches existent colorMap objects (check colormapsData) the colormapData is ignored.
+ * if the colormapData is not empty, the colorMap will be added to the colormapsData list. Otherwise, an empty colorMap object is returned.
+ * @param {string} id The ID of the colormap
+ * @param {Object} colormapData - An object that can contain a name, numColors, gama, segmentedData and/or colors
+ * @returns {*} The Colormap Object
+ * @memberof Colors
+*/
+
+function getColormap(id, colormapData) {
+  var colormap = colormapsData[id];
+
+  if (!colormap) {
+    colormap = colormapsData[id] = colormapData || {
+      name: '',
+      colors: []
+    };
+  }
+
+  if (!colormap.colors && colormap.segmentedData) {
+    colormap.colors = createLinearSegmentedColormap(colormap.segmentedData, colormap.numColors, colormap.gamma);
+  }
+
+  return {
+    getId: function getId() {
+      return id;
+    },
+    getColorSchemeName: function getColorSchemeName() {
+      return colormap.name;
+    },
+    setColorSchemeName: function setColorSchemeName(name) {
+      colormap.name = name;
+    },
+    getNumberOfColors: function getNumberOfColors() {
+      return colormap.colors.length;
+    },
+    setNumberOfColors: function setNumberOfColors(numColors) {
+      while (colormap.colors.length < numColors) {
+        colormap.colors.push(COLOR_TRANSPARENT);
+      }
+
+      colormap.colors.length = numColors;
+    },
+    getColor: function getColor(index) {
+      if (this.isValidIndex(index)) {
+        return colormap.colors[index];
+      }
+
+      return COLOR_TRANSPARENT;
+    },
+    getColorRepeating: function getColorRepeating(index) {
+      var numColors = colormap.colors.length;
+      index = numColors ? index % numColors : 0;
+      return this.getColor(index);
+    },
+    setColor: function setColor(index, rgba) {
+      if (this.isValidIndex(index)) {
+        colormap.colors[index] = rgba;
+      }
+    },
+    addColor: function addColor(rgba) {
+      colormap.colors.push(rgba);
+    },
+    insertColor: function insertColor(index, rgba) {
+      if (this.isValidIndex(index)) {
+        colormap.colors.splice(index, 1, rgba);
+      }
+    },
+    removeColor: function removeColor(index) {
+      if (this.isValidIndex(index)) {
+        colormap.colors.splice(index, 1);
+      }
+    },
+    clearColors: function clearColors() {
+      colormap.colors = [];
+    },
+    buildLookupTable: function buildLookupTable(lut) {
+      if (!lut) {
+        return;
+      }
+
+      var numColors = colormap.colors.length;
+      lut.setNumberOfTableValues(numColors);
+
+      for (var i = 0; i < numColors; i++) {
+        lut.setTableValue(i, colormap.colors[i]);
+      }
+    },
+    createLookupTable: function createLookupTable() {
+      var lut = new _lookupTable_js__WEBPACK_IMPORTED_MODULE_0__["default"]();
+      this.buildLookupTable(lut);
+      return lut;
+    },
+    isValidIndex: function isValidIndex(index) {
+      return index >= 0 && index < colormap.colors.length;
+    }
+  };
+}
+
+/***/ }),
+
+/***/ "./colors/index.js":
+/*!*************************!*\
+  !*** ./colors/index.js ***!
+  \*************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _colormap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colormap.js */ "./colors/colormap.js");
+/* harmony import */ var _lookupTable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lookupTable.js */ "./colors/lookupTable.js");
+
+
+/* harmony default export */ __webpack_exports__["default"] = ({
+  getColormap: _colormap_js__WEBPACK_IMPORTED_MODULE_0__["getColormap"],
+  getColormapsList: _colormap_js__WEBPACK_IMPORTED_MODULE_0__["getColormapsList"],
+  LookupTable: _lookupTable_js__WEBPACK_IMPORTED_MODULE_1__["default"]
+});
+
+/***/ }),
+
+/***/ "./colors/lookupTable.js":
+/*!*******************************!*\
+  !*** ./colors/lookupTable.js ***!
+  \*******************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+// This code was created based on vtkLookupTable
+// http://www.vtk.org/doc/release/5.0/html/a01697.html
+// https://github.com/Kitware/VTK/blob/master/Common/Core/vtkLookupTable.cxx
+var BELOW_RANGE_COLOR_INDEX = 0;
+var ABOVE_RANGE_COLOR_INDEX = 1;
+var NAN_COLOR_INDEX = 2;
+/**
+ * Converts an HSV  (Hue, Saturation, Value) color to RGB (Red, Green, Blue) color value
+ * @param {Number} hue A number representing the hue color value
+ * @param {any} sat A number representing the saturation color value
+ * @param {any} val A number representing the value color value
+ * @returns {Numberp[]} An RGB color array
+ */
+
+function HSVToRGB(hue, sat, val) {
+  if (hue > 1) {
+    throw new Error('HSVToRGB expects hue < 1');
+  }
+
+  var rgb = [];
+
+  if (sat === 0) {
+    rgb[0] = val;
+    rgb[1] = val;
+    rgb[2] = val;
+    return rgb;
+  }
+
+  var hueCase = Math.floor(hue * 6);
+  var frac = 6 * hue - hueCase;
+  var lx = val * (1 - sat);
+  var ly = val * (1 - sat * frac);
+  var lz = val * (1 - sat * (1 - frac));
+
+  switch (hueCase) {
+    /* 0<hue<1/6 */
+    case 0:
+    case 6:
+      rgb[0] = val;
+      rgb[1] = lz;
+      rgb[2] = lx;
+      break;
+
+    /* 1/6<hue<2/6 */
+
+    case 1:
+      rgb[0] = ly;
+      rgb[1] = val;
+      rgb[2] = lx;
+      break;
+
+    /* 2/6<hue<3/6 */
+
+    case 2:
+      rgb[0] = lx;
+      rgb[1] = val;
+      rgb[2] = lz;
+      break;
+
+    /* 3/6<hue/4/6 */
+
+    case 3:
+      rgb[0] = lx;
+      rgb[1] = ly;
+      rgb[2] = val;
+      break;
+
+    /* 4/6<hue<5/6 */
+
+    case 4:
+      rgb[0] = lz;
+      rgb[1] = lx;
+      rgb[2] = val;
+      break;
+
+    /* 5/6<hue<1 */
+
+    case 5:
+      rgb[0] = val;
+      rgb[1] = lx;
+      rgb[2] = ly;
+      break;
+  }
+
+  return rgb;
+}
+/**
+ * Maps a value to an index in the table
+ * @param {Number} v A double value which table index will be returned.
+ * @param {any} p An object that contains the Table "Range", the table "MaxIndex",
+ * A "Shift" from first value in the table and the table "Scale" value
+ * @returns {Number} The mapped index in the table
+ * @memberof Colors
+ */
+
+
+function linearIndexLookupMain(v, p) {
+  var dIndex; // NOTE: Added Math.floor since values were not integers? Check VTK source
+
+  if (v < p.Range[0]) {
+    dIndex = p.MaxIndex + BELOW_RANGE_COLOR_INDEX + 1.5;
+  } else if (v > p.Range[1]) {
+    dIndex = p.MaxIndex + ABOVE_RANGE_COLOR_INDEX + 1.5;
+  } else {
+    dIndex = (v + p.Shift) * p.Scale;
+  }
+
+  return Math.floor(dIndex);
+}
+/**
+ * Maps scalar values into colors via a lookup table
+ * LookupTable is an object that is used by mapper objects to map scalar values into rgba (red-green-blue-alpha transparency) color specification,
+ * or rgba into scalar values. The color table can be created by direct insertion of color values, or by specifying hue, saturation, value, and alpha range and generating a table
+ */
+
+
+var LookupTable = /*#__PURE__*/function () {
+  /**
+   * Creates a default linear LookupTable object with 256 colors.
+   */
+  function LookupTable() {
+    _classCallCheck(this, LookupTable);
+
+    this.NumberOfColors = 256;
+    this.Ramp = 'linear';
+    this.TableRange = [0, 255];
+    this.HueRange = [0, 0.66667];
+    this.SaturationRange = [1, 1];
+    this.ValueRange = [1, 1];
+    this.AlphaRange = [1, 1];
+    this.NaNColor = [128, 0, 0, 255];
+    this.BelowRangeColor = [0, 0, 0, 255];
+    this.UseBelowRangeColor = true;
+    this.AboveRangeColor = [255, 255, 255, 255];
+    this.UseAboveRangeColor = true;
+    this.InputRange = [0, 255];
+    this.Table = [];
+  }
+  /**
+   * Specify the number of values (i.e., colors) in the lookup table.
+   * @param {Number} number The number of colors in he LookupTable
+   * @returns {void}
+   * @memberof Colors
+   */
+
+
+  _createClass(LookupTable, [{
+    key: "setNumberOfTableValues",
+    value: function setNumberOfTableValues(number) {
+      this.NumberOfColors = number;
+    }
+    /**
+     * Set the shape of the table ramp to either 'linear', 'scurve' or 'sqrt'
+     * @param {String} ramp A string value representing the shape of the table. Allowed values are 'linear', 'scurve' or 'sqrt'
+     * @returns {void}
+     * @memberof Colors
+     */
+
+  }, {
+    key: "setRamp",
+    value: function setRamp(ramp) {
+      this.Ramp = ramp;
+    }
+    /**
+     * Sets the minimum/maximum scalar values for scalar mapping.
+     * Scalar values less than minimum range value are clamped to minimum range value.
+     * Scalar values greater than maximum range value are clamped to maximum range value.
+     * @param {Number} start A double representing the minimum scaler value of the LookupTable
+     * @param {any} end A double representing the maximum scaler value of the LookupTable
+     * @returns {void}
+     * @memberof Colors
+     */
+
+  }, {
+    key: "setTableRange",
+    value: function setTableRange(start, end) {
+      this.TableRange[0] = start;
+      this.TableRange[1] = end;
+    }
+    /**
+     * Set the range in hue (using automatic generation). Hue ranges between [0,1].
+     * @param {Number} start A double representing the minimum hue value in a range. Min. is 0
+     * @param {Number} end A double representing the maximum hue value in a range. Max. is 1
+     * @returns {void}
+     * @memberof Colors
+     */
+
+  }, {
+    key: "setHueRange",
+    value: function setHueRange(start, end) {
+      this.HueRange[0] = start;
+      this.HueRange[1] = end;
+    }
+    /**
+     * Set the range in saturation (using automatic generation). Saturation ranges between [0,1].
+     * @param {Number} start A double representing the minimum Saturation value in a range. Min. is 0
+     * @param {Number} end A double representing the maximum Saturation value in a range. Max. is 1
+     * @returns {void}
+     * @memberof Colors
+     */
+
+  }, {
+    key: "setSaturationRange",
+    value: function setSaturationRange(start, end) {
+      this.SaturationRange[0] = start;
+      this.SaturationRange[1] = end;
+    }
+    /**
+     * Set the range in value (using automatic generation). Value ranges between [0,1].
+     * @param {Numeber } start A double representing the minimum value in a range. Min. is 0
+     * @param {Numeber} end A double representing the maximum value in a range. Max. is 1
+     * @returns {void}
+     * @memberof Colors
+     */
+
+  }, {
+    key: "setValueRange",
+    value: function setValueRange(start, end) {
+      // Set the range in value (using automatic generation). Value ranges between [0,1].
+      this.ValueRange[0] = start;
+      this.ValueRange[1] = end;
+    }
+    /**
+     * (Not Used) Sets the range of scalars which will be mapped.
+     * @param {Number} start the minimum scalar value in the range
+     * @param {Number} end the maximum scalar value in the range
+     * @returns {void}
+     * @memberof Colors
+     */
+
+  }, {
+    key: "setRange",
+    value: function setRange(start, end) {
+      this.InputRange[0] = start;
+      this.InputRange[1] = end;
+    }
+    /**
+     * Set the range in alpha (using automatic generation). Alpha ranges from [0,1].
+     * @param {Number} start A double representing the minimum alpha value
+     * @param {Number} end A double representing the maximum alpha value
+     * @returns {void}
+     * @memberof Colors
+     */
+
+  }, {
+    key: "setAlphaRange",
+    value: function setAlphaRange(start, end) {
+      // Set the range in alpha (using automatic generation). Alpha ranges from [0,1].
+      this.AlphaRange[0] = start;
+      this.AlphaRange[1] = end;
+    }
+    /**
+     * Map one value through the lookup table and return the color as an
+     * RGBA array of doubles between 0 and 1.
+     * @param {Number} scalar A double scalar value which will be mapped to a color in the LookupTable
+     * @returns {Number[]} An RGBA array of doubles between 0 and 1
+     * @memberof Colors
+     */
+
+  }, {
+    key: "getColor",
+    value: function getColor(scalar) {
+      return this.mapValue(scalar);
+    }
+    /**
+     * Generate lookup table from hue, saturation, value, alpha min/max values. Table is built from linear ramp of each value.
+     * @param {Boolean} force true to force the build of the LookupTable. Otherwie, false. This is useful if a lookup table has been defined manually
+     * (using SetTableValue) and then an application decides to rebuild the lookup table using the implicit process.
+     * @returns {void}
+     * @memberof Colors
+     */
+
+  }, {
+    key: "build",
+    value: function build(force) {
+      if (this.Table.length > 1 && !force) {
+        return;
+      } // Clear the table
+
+
+      this.Table = [];
+      var maxIndex = this.NumberOfColors - 1;
+      var hinc, sinc, vinc, ainc;
+
+      if (maxIndex) {
+        hinc = (this.HueRange[1] - this.HueRange[0]) / maxIndex;
+        sinc = (this.SaturationRange[1] - this.SaturationRange[0]) / maxIndex;
+        vinc = (this.ValueRange[1] - this.ValueRange[0]) / maxIndex;
+        ainc = (this.AlphaRange[1] - this.AlphaRange[0]) / maxIndex;
+      } else {
+        hinc = sinc = vinc = ainc = 0.0;
+      }
+
+      for (var i = 0; i <= maxIndex; i++) {
+        var hue = this.HueRange[0] + i * hinc;
+        var sat = this.SaturationRange[0] + i * sinc;
+        var val = this.ValueRange[0] + i * vinc;
+        var alpha = this.AlphaRange[0] + i * ainc;
+        var rgb = HSVToRGB(hue, sat, val);
+        var c_rgba = [];
+
+        switch (this.Ramp) {
+          case 'scurve':
+            c_rgba[0] = Math.floor(127.5 * (1.0 + Math.cos((1.0 - rgb[0]) * Math.PI)));
+            c_rgba[1] = Math.floor(127.5 * (1.0 + Math.cos((1.0 - rgb[1]) * Math.PI)));
+            c_rgba[2] = Math.floor(127.5 * (1.0 + Math.cos((1.0 - rgb[2]) * Math.PI)));
+            c_rgba[3] = Math.floor(alpha * 255);
+            break;
+
+          case 'linear':
+            c_rgba[0] = Math.floor(rgb[0] * 255 + 0.5);
+            c_rgba[1] = Math.floor(rgb[1] * 255 + 0.5);
+            c_rgba[2] = Math.floor(rgb[2] * 255 + 0.5);
+            c_rgba[3] = Math.floor(alpha * 255 + 0.5);
+            break;
+
+          case 'sqrt':
+            c_rgba[0] = Math.floor(Math.sqrt(rgb[0]) * 255 + 0.5);
+            c_rgba[1] = Math.floor(Math.sqrt(rgb[1]) * 255 + 0.5);
+            c_rgba[2] = Math.floor(Math.sqrt(rgb[2]) * 255 + 0.5);
+            c_rgba[3] = Math.floor(Math.sqrt(alpha) * 255 + 0.5);
+            break;
+
+          default:
+            throw new Error("Invalid Ramp value (".concat(this.Ramp, ")"));
+        }
+
+        this.Table.push(c_rgba);
+      }
+
+      this.buildSpecialColors();
+    }
+    /**
+     * Ensures the out-of-range colors (Below range and Above range) are set correctly.
+     * @returns {void}
+     * @memberof Colors
+     */
+
+  }, {
+    key: "buildSpecialColors",
+    value: function buildSpecialColors() {
+      var numberOfColors = this.NumberOfColors;
+      var belowRangeColorIndex = numberOfColors + BELOW_RANGE_COLOR_INDEX;
+      var aboveRangeColorIndex = numberOfColors + ABOVE_RANGE_COLOR_INDEX;
+      var nanColorIndex = numberOfColors + NAN_COLOR_INDEX; // Below range color
+
+      if (this.UseBelowRangeColor || numberOfColors === 0) {
+        this.Table[belowRangeColorIndex] = this.BelowRangeColor;
+      } else {
+        // Duplicate the first color in the table.
+        this.Table[belowRangeColorIndex] = this.Table[0];
+      } // Above range color
+
+
+      if (this.UseAboveRangeColor || numberOfColors === 0) {
+        this.Table[aboveRangeColorIndex] = this.AboveRangeColor;
+      } else {
+        // Duplicate the last color in the table.
+        this.Table[aboveRangeColorIndex] = this.Table[numberOfColors - 1];
+      } // Always use NanColor
+
+
+      this.Table[nanColorIndex] = this.NaNColor;
+    }
+    /**
+     * Similar to GetColor - Map one value through the lookup table and return the color as an
+     * RGBA array of doubles between 0 and 1.
+     * @param {Numeber} v A double scalar value which will be mapped to a color in the LookupTable
+     * @returns {Number[]} An RGBA array of doubles between 0 and 1
+     * @memberof Colors
+     */
+
+  }, {
+    key: "mapValue",
+    value: function mapValue(v) {
+      var index = this.getIndex(v);
+
+      if (index < 0) {
+        return this.NaNColor;
+      } else if (index === 0) {
+        if (this.UseBelowRangeColor && v < this.TableRange[0]) {
+          return this.BelowRangeColor;
+        }
+      } else if (index === this.NumberOfColors - 1) {
+        if (this.UseAboveRangeColor && v > this.TableRange[1]) {
+          return this.AboveRangeColor;
+        }
+      }
+
+      return this.Table[index];
+    }
+    /**
+     * Return the table index associated with a particular value.
+     * @param {Number} v A double value which table index will be returned.
+     * @returns {Number} The index in the LookupTable
+     * @memberof Colors
+     */
+
+  }, {
+    key: "getIndex",
+    value: function getIndex(v) {
+      var p = {};
+      p.Range = [];
+      p.MaxIndex = this.NumberOfColors - 1; // This was LookupShiftAndScale
+
+      p.Shift = -this.TableRange[0];
+
+      if (this.TableRange[1] <= this.TableRange[0]) {
+        p.Scale = Number.MAX_VALUE;
+      } else {
+        p.Scale = p.MaxIndex / (this.TableRange[1] - this.TableRange[0]);
+      }
+
+      p.Range[0] = this.TableRange[0];
+      p.Range[1] = this.TableRange[1]; // First, check whether we have a number...
+
+      if (isNaN(v)) {
+        // For backwards compatibility
+        return -1;
+      } // Map to an index:
+
+
+      var index = linearIndexLookupMain(v, p); // For backwards compatibility, if the index indicates an
+      // Out-of-range value, truncate to index range for in-range colors.
+
+      if (index === this.NumberOfColors + BELOW_RANGE_COLOR_INDEX) {
+        index = 0;
+      } else if (index === this.NumberOfColors + ABOVE_RANGE_COLOR_INDEX) {
+        index = this.NumberOfColors - 1;
+      }
+
+      return index;
+    }
+    /**
+     * Directly load color into lookup table. Use [0,1] double values for color component specification.
+     * Make sure that you've either used the Build() method or used SetNumberOfTableValues() prior to using this method.
+     * @param {Number} index The index in the LookupTable of where to insert the color value
+     * @param {Number[]} rgba An array of [0,1] double values for an RGBA color component
+     * @returns {void}
+     * @memberof Colors
+     */
+
+  }, {
+    key: "setTableValue",
+    value: function setTableValue(index, rgba) {
+      // Check if it index, red, green, blue and alpha were passed as parameter
+      if (arguments.length === 5) {
+        rgba = Array.prototype.slice.call(arguments, 1);
+      } // Check the index to make sure it is valid
+
+
+      if (index < 0) {
+        throw new Error("Can't set the table value for negative index (".concat(index, ")"));
+      }
+
+      if (index >= this.NumberOfColors) {
+        new Error("Index ".concat(index, " is greater than the number of colors ").concat(this.NumberOfColors));
+      }
+
+      this.Table[index] = rgba;
+
+      if (index === 0 || index === this.NumberOfColors - 1) {
+        // This is needed due to the way the special colors are stored in
+        // The internal table. If Above/BelowRangeColors are not used and
+        // The min/max colors are changed in the table with this member
+        // Function, then the colors used for values outside the range may
+        // Be incorrect. Calling this here ensures the out-of-range colors
+        // Are set correctly.
+        this.buildSpecialColors();
+      }
+    }
+  }]);
+
+  return LookupTable;
+}();
+
+/* harmony default export */ __webpack_exports__["default"] = (LookupTable);
+
+/***/ }),
+
+/***/ "./disable.js":
+/*!********************!*\
+  !*** ./disable.js ***!
+  \********************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./triggerEvent.js */ "./triggerEvent.js");
+/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./events.js */ "./events.js");
+
+
+
+/**
+ *  Disable an HTML element for further use in Cornerstone
+ *
+ * @param {HTMLElement} element An HTML Element enabled for Cornerstone
+ * @returns {void}
+ * @memberof Enable
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element) {
+  if (element === undefined) {
+    throw new Error('disable: element must not be undefined');
+  } // Search for this element in this list of enabled elements
+
+
+  var enabledElements = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElements"])();
+
+  for (var i = 0; i < enabledElements.length; i++) {
+    if (enabledElements[i].element === element) {
+      // We found it!
+      // Fire an event so dependencies can cleanup
+      var eventData = {
+        element: element
+      };
+      Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element, _events_js__WEBPACK_IMPORTED_MODULE_2__["default"].ELEMENT_DISABLED, eventData);
+      Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_events_js__WEBPACK_IMPORTED_MODULE_2__["events"], _events_js__WEBPACK_IMPORTED_MODULE_2__["default"].ELEMENT_DISABLED, eventData); // Remove the child DOM elements that we created (e.g.canvas)
+
+      enabledElements[i].element.removeChild(enabledElements[i].canvas);
+      enabledElements[i].canvas = undefined; // Remove this element from the list of enabled elements
+
+      enabledElements.splice(i, 1);
+      break;
+    }
+  }
+});
+
+/***/ }),
+
+/***/ "./displayImage.js":
+/*!*************************!*\
+  !*** ./displayImage.js ***!
+  \*************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/getDefaultViewport.js */ "./internal/getDefaultViewport.js");
+/* harmony import */ var _updateImage_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./updateImage.js */ "./updateImage.js");
+/* harmony import */ var _internal_now_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/now.js */ "./internal/now.js");
+/* harmony import */ var _layers_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./layers.js */ "./layers.js");
+/* harmony import */ var _triggerEvent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./triggerEvent.js */ "./triggerEvent.js");
+/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./events.js */ "./events.js");
+
+
+
+
+
+
+
+/**
+ * Sets a new image object for a given element.
+ *
+ * Will also apply an optional viewport setting.
+ *
+ * @param {HTMLElement} element An HTML Element enabled for Cornerstone
+ * @param {Object} image An Image loaded by a Cornerstone Image Loader
+ * @param {Object} [viewport] A set of Cornerstone viewport parameters
+ * @returns {void}
+ * @memberof Drawing
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element, image, viewport) {
+  if (element === undefined) {
+    throw new Error('displayImage: parameter element must not be undefined');
+  }
+
+  if (image === undefined) {
+    throw new Error('displayImage: parameter image must not be undefined');
+  }
+
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  var oldImage = enabledElement.image;
+  enabledElement.image = image;
+
+  if (enabledElement.layers && enabledElement.layers.length) {
+    Object(_layers_js__WEBPACK_IMPORTED_MODULE_4__["setLayerImage"])(element, image);
+  }
+
+  if (enabledElement.viewport === undefined) {
+    enabledElement.viewport = Object(_internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_1__["default"])(enabledElement.canvas, image);
+  } // Merge viewport
+
+
+  if (viewport) {
+    for (var attrname in viewport) {
+      if (viewport[attrname] !== null) {
+        enabledElement.viewport[attrname] = viewport[attrname];
+      }
+    }
+  }
+
+  var frameRate;
+
+  if (enabledElement.lastImageTimeStamp !== undefined) {
+    var timeSinceLastImage = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_3__["default"])() - enabledElement.lastImageTimeStamp;
+    frameRate = (1000 / timeSinceLastImage).toFixed();
+  }
+
+  enabledElement.lastImageTimeStamp = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_3__["default"])();
+  var newImageEventData = {
+    viewport: enabledElement.viewport,
+    element: enabledElement.element,
+    image: enabledElement.image,
+    oldImage: oldImage,
+    enabledElement: enabledElement,
+    frameRate: frameRate
+  };
+  Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_5__["default"])(enabledElement.element, _events_js__WEBPACK_IMPORTED_MODULE_6__["default"].NEW_IMAGE, newImageEventData);
+  Object(_updateImage_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element);
+});
+
+/***/ }),
+
+/***/ "./draw.js":
+/*!*****************!*\
+  !*** ./draw.js ***!
+  \*****************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _internal_drawImage_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/drawImage.js */ "./internal/drawImage.js");
+
+
+/**
+ * Immediately draws the enabled element
+ *
+ * @param {HTMLElement} element An HTML Element enabled for Cornerstone
+ * @returns {void}
+ * @memberof Drawing
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  Object(_internal_drawImage_js__WEBPACK_IMPORTED_MODULE_1__["default"])(enabledElement);
+});
+
+/***/ }),
+
+/***/ "./drawInvalidated.js":
+/*!****************************!*\
+  !*** ./drawInvalidated.js ***!
+  \****************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _internal_drawImage_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/drawImage.js */ "./internal/drawImage.js");
+/**
+ * This module is responsible for drawing invalidated enabled elements
+ */
+
+
+/**
+ * Draws all invalidated enabled elements and clears the invalid flag after drawing it
+ *
+ * @returns {void}
+ * @memberof Drawing
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+  var enabledElements = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElements"])();
+
+  for (var i = 0; i < enabledElements.length; i++) {
+    var ee = enabledElements[i];
+
+    if (ee.invalid === true) {
+      Object(_internal_drawImage_js__WEBPACK_IMPORTED_MODULE_1__["default"])(ee, true);
+    }
+  }
+});
+
+/***/ }),
+
+/***/ "./enable.js":
+/*!*******************!*\
+  !*** ./enable.js ***!
+  \*******************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _resize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./resize.js */ "./resize.js");
+/* harmony import */ var _internal_drawImageSync_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/drawImageSync.js */ "./internal/drawImageSync.js");
+/* harmony import */ var _internal_requestAnimationFrame_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/requestAnimationFrame.js */ "./internal/requestAnimationFrame.js");
+/* harmony import */ var _internal_tryEnableWebgl_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/tryEnableWebgl.js */ "./internal/tryEnableWebgl.js");
+/* harmony import */ var _triggerEvent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./triggerEvent.js */ "./triggerEvent.js");
+/* harmony import */ var _generateUUID_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./generateUUID.js */ "./generateUUID.js");
+/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./events.js */ "./events.js");
+/* harmony import */ var _internal_getCanvas_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./internal/getCanvas.js */ "./internal/getCanvas.js");
+
+
+
+
+
+
+
+
+
+/**
+ * @module Enable
+ * This module is responsible for enabling an element to display images with cornerstone
+ */
+
+/**
+ * Returns whether or not an Enabled Element has either a currently active image or
+ * a non-empty Array of Enabled Element Layers.
+ *
+ * @param {EnabledElement} enabledElement An Enabled Element
+ * @return {Boolean} Whether or not the Enabled Element has an active image or valid set of layers
+ * @memberof Enable
+ */
+
+function hasImageOrLayers(enabledElement) {
+  return enabledElement.image !== undefined || enabledElement.layers.length > 0;
+}
+/**
+ * Enable an HTML Element for use in Cornerstone
+ *
+ * - If there is a Canvas already present within the HTMLElement, and it has the class
+ * 'cornerstone-canvas', this function will use this existing Canvas instead of creating
+ * a new one. This may be helpful when using libraries (e.g. React, Vue) which don't
+ * want third parties to change the DOM.
+ *
+ * @param {HTMLElement} element An HTML Element enabled for Cornerstone
+ * @param {Object} options Options for the enabledElement
+ *
+ * @return {void}
+ * @memberof Enable
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element, options) {
+  if (element === undefined) {
+    throw new Error('enable: parameter element cannot be undefined');
+  } // If this enabled element has the option set for WebGL, we should
+  // Check if this device actually supports it
+
+
+  if (options && options.renderer && options.renderer.toLowerCase() === 'webgl') {
+    Object(_internal_tryEnableWebgl_js__WEBPACK_IMPORTED_MODULE_4__["default"])(options);
+  }
+
+  var canvas = Object(_internal_getCanvas_js__WEBPACK_IMPORTED_MODULE_8__["default"])(element);
+  var enabledElement = {
+    element: element,
+    canvas: canvas,
+    image: undefined,
+    // Will be set once image is loaded
+    invalid: false,
+    // True if image needs to be drawn, false if not
+    needsRedraw: true,
+    options: Object.assign({}, options),
+    layers: [],
+    data: {},
+    renderingTools: {},
+    uuid: Object(_generateUUID_js__WEBPACK_IMPORTED_MODULE_6__["default"])()
+  };
+  Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["addEnabledElement"])(enabledElement);
+  Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_events_js__WEBPACK_IMPORTED_MODULE_7__["events"], _events_js__WEBPACK_IMPORTED_MODULE_7__["default"].ELEMENT_ENABLED, enabledElement);
+  Object(_resize_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element, true);
+  /**
+   * Draw the image immediately
+   *
+   * @param {DOMHighResTimeStamp} timestamp The current time for when requestAnimationFrame starts to fire callbacks
+   * @returns {void}
+   * @memberof Drawing
+   */
+
+  function draw(timestamp) {
+    if (enabledElement.canvas === undefined) {
+      return;
+    }
+
+    var eventDetails = {
+      enabledElement: enabledElement,
+      timestamp: timestamp
+    };
+    Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_5__["default"])(enabledElement.element, _events_js__WEBPACK_IMPORTED_MODULE_7__["default"].PRE_RENDER, eventDetails);
+
+    if (enabledElement.needsRedraw && hasImageOrLayers(enabledElement)) {
+      Object(_internal_drawImageSync_js__WEBPACK_IMPORTED_MODULE_2__["default"])(enabledElement, enabledElement.invalid);
+    }
+
+    Object(_internal_requestAnimationFrame_js__WEBPACK_IMPORTED_MODULE_3__["default"])(draw);
+  }
+
+  draw();
+});
+
+/***/ }),
+
+/***/ "./enabledElementData.js":
+/*!*******************************!*\
+  !*** ./enabledElementData.js ***!
+  \*******************************/
+/*! exports provided: getElementData, removeElementData */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getElementData", function() { return getElementData; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeElementData", function() { return removeElementData; });
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+
+/**
+ * Retrieves any data for a Cornerstone enabledElement for a specific string
+ * dataType
+ *
+ * @param {HTMLElement} element An HTML Element enabled for Cornerstone
+ * @param {string} dataType A string name for an arbitrary set of data
+ * @returns {*} Whatever data is stored for this enabled element
+ */
+
+function getElementData(element, dataType) {
+  var ee = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+
+  if (ee.data.hasOwnProperty(dataType) === false) {
+    ee.data[dataType] = {};
+  }
+
+  return ee.data[dataType];
+}
+/**
+ * Clears any data for a Cornerstone enabledElement for a specific string
+ * dataType
+ *
+ * @param {HTMLElement} element An HTML Element enabled for Cornerstone
+ * @param {string} dataType A string name for an arbitrary set of data
+ *
+ * @returns {void}
+ */
+
+function removeElementData(element, dataType) {
+  var ee = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  delete ee.data[dataType];
+}
+
+/***/ }),
+
+/***/ "./enabledElements.js":
+/*!****************************!*\
+  !*** ./enabledElements.js ***!
+  \****************************/
+/*! exports provided: getEnabledElement, addEnabledElement, getEnabledElementsByImageId, getEnabledElements */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getEnabledElement", function() { return getEnabledElement; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addEnabledElement", function() { return addEnabledElement; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getEnabledElementsByImageId", function() { return getEnabledElementsByImageId; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getEnabledElements", function() { return getEnabledElements; });
+var enabledElements = [];
+/**
+ * @module EnabledElements
+ */
+
+/**
+ * @module Objects
+ */
+
+/**
+ * A two-dimensional vector
+ *
+ * @typedef {Object} vec2
+ * @memberof Objects
+ * @param {Number} x - The x distance
+ * @param {Number} y - The y distance
+ */
+
+/**
+ * VOI
+ *
+ * @typedef {Object} VOI
+ * @memberof Objects
+ * @param {Number} windowWidth - Window Width for display
+ * @param {Number} windowCenter - Window Center for display
+ */
+
+/**
+ * Lookup Table Array
+ *
+ * @typedef {Object} LUT
+ * @memberof Objects
+ * @property {Number} firstValueMapped
+ * @property {Number} numBitsPerEntry
+ * @property {Array} lut
+ */
+
+/**
+ * Image Statistics Object
+ *
+ * @typedef {Object} ImageStats
+ * @memberof Objects
+ * @property {Number} [lastGetPixelDataTime] The time in ms taken to retrieve stored pixels required to draw the image
+ * @property {Number} [lastStoredPixelDataToCanvasImageDataTime] The time in ms taken to map from stored pixel array to canvas pixel array
+ * @property {Number} [lastPutImageDataTime] The time in ms taken for putImageData to put the canvas pixel data into the canvas context
+ * @property {Number} [lastRenderTime] The total time in ms taken for the entire rendering function to run
+ * @property {Number} [lastLutGenerateTime] The time in ms taken to generate the lookup table for the image
+ */
+
+/**
+ * An Image Object in Cornerstone
+ *
+ * @typedef {Object} Image
+ * @memberof Objects
+ * @property {string} imageId - The imageId associated with this image object
+ * @property {Number} minPixelValue - the minimum stored pixel value in the image
+ * @property {Number} maxPixelValue - the maximum stored pixel value in the image
+ * @property {Number} slope - the rescale slope to convert stored pixel values to modality pixel values or 1 if not specified
+ * @property {Number} intercept - the rescale intercept used to convert stored pixel values to modality values or 0 if not specified
+ * @property {Number} windowCenter - the default windowCenter to apply to the image
+ * @property {Number} windowWidth - the default windowWidth to apply to the image
+ * @property {function} getPixelData - a function that returns the underlying pixel data. An array of integers for grayscale and an array of RGBA for color
+ * @property {function} getImageData - a function that returns a canvas imageData object for the image. This is only needed for color images
+ * @property {function} getCanvas - a function that returns a canvas element with the image loaded into it. This is only needed for color images.
+ * @property {function} getImage - a function that returns a JavaScript Image object with the image data. This is optional and typically used for images encoded in standard web JPEG and PNG formats
+ * @property {Number} rows - number of rows in the image. This is the same as height but duplicated for convenience
+ * @property {Number} columns - number of columns in the image. This is the same as width but duplicated for convenience
+ * @property {Number} height - the height of the image. This is the same as rows but duplicated for convenience
+ * @property {Number} width - the width of the image. This is the same as columns but duplicated for convenience
+ * @property {Boolean} color - true if pixel data is RGB, false if grayscale
+ * @property {Object} lut - The Lookup Table
+ * @property {Boolean} rgba - Is the color pixel data stored in RGBA?
+ * @property {Number} columnPixelSpacing - horizontal distance between the middle of each pixel (or width of each pixel) in mm or undefined if not known
+ * @property {Number} rowPixelSpacing - vertical distance between the middle of each pixel (or height of each pixel) in mm or undefined if not known
+ * @property {Boolean} invert - true if the the image should initially be displayed be inverted, false if not. This is here mainly to support DICOM images with a photometric interpretation of MONOCHROME1
+ * @property {Number} sizeInBytes - the number of bytes used to store the pixels for this image.
+ * @property {Boolean} [falseColor=false] - Whether or not the image has undergone false color mapping
+ * @property {Array} [origPixelData] - Original pixel data for an image after it has undergone false color mapping
+ * @property {ImageStats} [stats] - Statistics for the last redraw of the image
+ * @property {Object} cachedLut - Cached Lookup Table for this image.
+ * @property {String|Colormap} [colormap] - Depreacted. Use viewport.colormap instead. an optional colormap ID or colormap object (from colors/colormap.js). This will be applied during rendering to convert the image to pseudocolor
+ * @property {Boolean} [labelmap=false] - whether or not to render this image as a label map (i.e. skip modality and VOI LUT pipelines and use only a color lookup table)
+ */
+
+/**
+ * A Viewport Settings Object Cornerstone
+ *
+ * @typedef {Object} Viewport
+ * @memberof Objects
+ * @property {Number} [scale=1.0] - The scale applied to the image. A scale of 1.0 will display no zoom (one image pixel takes up one screen pixel). A scale of 2.0 will be double zoom and a scale of .5 will be zoomed out by 2x
+ * @property {vec2} [translation] - An object with properties x and y which describe the translation to apply in the pixel coordinate system. Note that the image is initially displayed centered in the enabled element with a x and y translation of 0 and 0 respectively.
+ * @property {VOI} [voi] - an object with properties windowWidth and windowCenter.
+ * @property {boolean} [invert=false] - Whether or not the image is inverted.
+ * @property {boolean} [pixelReplication=false] - true if the image smooth / interpolation should be used when zoomed in on the image or false if pixel replication should be used.
+ * @property {boolean} [hflip=false] - true if the image is flipped horizontally. Default is false
+ * @property {boolean} [vflip=false] - true if the image is flipped vertically. Default is false
+ * @property {Number} [rotation=0] - the rotation of the image (90 degree increments). Default is 0
+ * @property {LUT} [modalityLUT] - the modality LUT to apply or undefined if none
+ * @property {LUT} [voiLUT] - the modality LUT to apply or undefined if none
+ * @property {String|Colormap} [colormap] - an optional colormap ID or colormap object (from colors/colormap.js). This will be applied during rendering to convert the image to pseudocolor
+ * @property {Boolean} [labelmap=false] - whether or not to render this image as a label map (i.e. skip modality and VOI LUT pipelines and use only a color lookup table)
+ */
+
+/**
+ * An Enabled Element in Cornerstone
+ *
+ * @typedef {Object} EnabledElement
+ * @memberof Objects
+ * @property {HTMLElement} element - The DOM element which has been enabled for use by Cornerstone
+ * @property {Image} [image] - The image currently displayed in the enabledElement
+ * @property {Viewport} [viewport] - The current viewport settings of the enabledElement
+ * @property {HTMLCanvasElement} [canvas] - The current canvas for this enabledElement
+ * @property {Boolean} invalid - Whether or not the image pixel data underlying the enabledElement has been changed, necessitating a redraw
+ * @property {Boolean} needsRedraw - A flag for triggering a redraw of the canvas without re-retrieving the pixel data, since it remains valid
+ * @property {EnabledElementLayer[]} [layers] - The layers that have been added to the enabledElement
+ * @property {Boolean} [syncViewports] - Whether or not to synchronize the viewport parameters
+ * for each of the enabled element's layers
+ * @property {Boolean} [lastSyncViewportsState] - The previous state for the sync viewport boolean
+ */
+
+/**
+ * An Enabled Element Layer in Cornerstone
+ *
+ * @typedef {Object} EnabledElementLayer
+ * @memberof Objects
+ * @property {HTMLElement} element - The DOM element which has been enabled for use by Cornerstone
+ * @property {Image} [image] - The image currently displayed in the enabledElement
+ * @property {Viewport} [viewport] - The current viewport settings of the enabledElement
+ * @property {HTMLCanvasElement} [canvas] - The current canvas for this enabledElement
+ * @property {Object} [options] - Layer drawing options
+ * @property {Boolean} invalid - Whether or not the image pixel data underlying the enabledElement has been changed, necessitating a redraw
+ * @property {Boolean} needsRedraw - A flag for triggering a redraw of the canvas without re-retrieving the pixel data, since it remains valid
+ */
+
+/**
+ * An Image Load Object
+ *
+ * @typedef {Object} ImageLoadObject
+ * @memberof Objects
+ * @property {Promise} promise - The Promise tracking the loading of this image
+ * @property {Function|undefined} cancelFn - A function to cancel the image load request
+ */
+
+/**
+ * Retrieves a Cornerstone Enabled Element object
+ *
+ * @param {HTMLElement} element An HTML Element enabled for Cornerstone
+ *
+ * @returns {EnabledElement} A Cornerstone Enabled Element
+ * @memberof EnabledElements
+ */
+
+function getEnabledElement(element) {
+  if (element === undefined) {
+    throw new Error('getEnabledElement: parameter element must not be undefined');
+  }
+
+  for (var i = 0; i < enabledElements.length; i++) {
+    if (enabledElements[i].element === element) {
+      return enabledElements[i];
+    }
+  }
+
+  throw new Error('element not enabled');
+}
+/**
+ * Adds a Cornerstone Enabled Element object to the central store of enabledElements
+ *
+ * @param {EnabledElement} enabledElement A Cornerstone enabledElement Object
+ * @returns {void}
+ * @memberof EnabledElements
+ */
+
+function addEnabledElement(enabledElement) {
+  if (enabledElement === undefined) {
+    throw new Error('getEnabledElement: enabledElement element must not be undefined');
+  }
+
+  enabledElements.push(enabledElement);
+}
+/**
+ * Adds a Cornerstone Enabled Element object to the central store of enabledElements
+ *
+ * @param {string} imageId A Cornerstone Image ID
+ * @returns {EnabledElement[]} An Array of Cornerstone enabledElement Objects
+ * @memberof EnabledElements
+ */
+
+function getEnabledElementsByImageId(imageId) {
+  var ees = [];
+  enabledElements.forEach(function (enabledElement) {
+    if (enabledElement.image && enabledElement.image.imageId === imageId) {
+      ees.push(enabledElement);
+    }
+  });
+  return ees;
+}
+/**
+ * Retrieve all of the currently enabled Cornerstone elements
+ *
+ * @return {EnabledElement[]} An Array of Cornerstone enabledElement Objects
+ * @memberof EnabledElements
+ */
+
+function getEnabledElements() {
+  return enabledElements;
+}
+
+/***/ }),
+
+/***/ "./events.js":
+/*!*******************!*\
+  !*** ./events.js ***!
+  \*******************/
+/*! exports provided: default, events */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "events", function() { return events; });
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+var EVENTS = {
+  NEW_IMAGE: 'cornerstonenewimage',
+  INVALIDATED: 'cornerstoneinvalidated',
+  PRE_RENDER: 'cornerstoneprerender',
+  IMAGE_CACHE_MAXIMUM_SIZE_CHANGED: 'cornerstoneimagecachemaximumsizechanged',
+  IMAGE_CACHE_PROMISE_REMOVED: 'cornerstoneimagecachepromiseremoved',
+  IMAGE_CACHE_FULL: 'cornerstoneimagecachefull',
+  IMAGE_CACHE_CHANGED: 'cornerstoneimagecachechanged',
+  WEBGL_TEXTURE_REMOVED: 'cornerstonewebgltextureremoved',
+  WEBGL_TEXTURE_CACHE_FULL: 'cornerstonewebgltexturecachefull',
+  IMAGE_LOADED: 'cornerstoneimageloaded',
+  IMAGE_LOAD_PROGRESS: 'cornerstoneimageloadprogress',
+  IMAGE_LOAD_FAILED: 'cornerstoneimageloadfailed',
+  ELEMENT_RESIZED: 'cornerstoneelementresized',
+  IMAGE_RENDERED: 'cornerstoneimagerendered',
+  LAYER_ADDED: 'cornerstonelayeradded',
+  LAYER_REMOVED: 'cornerstonelayerremoved',
+  ACTIVE_LAYER_CHANGED: 'cornerstoneactivelayerchanged',
+  ELEMENT_DISABLED: 'cornerstoneelementdisabled',
+  ELEMENT_ENABLED: 'cornerstoneelementenabled'
+};
+/* harmony default export */ __webpack_exports__["default"] = (EVENTS);
+/**
+ * EventTarget - Provides the [EventTarget](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget) interface
+ *
+ * @class
+ * @memberof Polyfills
+ */
+
+var EventTarget = /*#__PURE__*/function () {
+  function EventTarget() {
+    _classCallCheck(this, EventTarget);
+
+    this.listeners = {};
+    this.namespaces = {};
+  }
+
+  _createClass(EventTarget, [{
+    key: "addEventNamespaceListener",
+    value: function addEventNamespaceListener(type, callback) {
+      if (type.indexOf('.') <= 0) {
+        return;
+      }
+
+      this.namespaces[type] = callback;
+      this.addEventListener(type.split('.')[0], callback);
+    }
+  }, {
+    key: "removeEventNamespaceListener",
+    value: function removeEventNamespaceListener(type) {
+      if (type.indexOf('.') <= 0 || !this.namespaces[type]) {
+        return;
+      }
+
+      this.removeEventListener(type.split('.')[0], this.namespaces[type]);
+      delete this.namespaces[type];
+    }
+  }, {
+    key: "addEventListener",
+    value: function addEventListener(type, callback) {
+      // Check if it is an event namespace
+      if (type.indexOf('.') > 0) {
+        this.addEventNamespaceListener(type, callback);
+        return;
+      }
+
+      if (!(type in this.listeners)) {
+        this.listeners[type] = [];
+      }
+
+      this.listeners[type].push(callback);
+    }
+  }, {
+    key: "removeEventListener",
+    value: function removeEventListener(type, callback) {
+      // Check if it is an event namespace
+      if (type.indexOf('.') > 0) {
+        this.removeEventNamespaceListener(type);
+        return;
+      }
+
+      if (!(type in this.listeners)) {
+        return;
+      }
+
+      var stack = this.listeners[type];
+
+      for (var i = 0, l = stack.length; i < l; i++) {
+        if (stack[i] === callback) {
+          stack.splice(i, 1);
+          return;
+        }
+      }
+    }
+  }, {
+    key: "dispatchEvent",
+    value: function dispatchEvent(event) {
+      if (!(event.type in this.listeners)) {
+        return true;
+      }
+
+      var stack = this.listeners[event.type].slice();
+
+      for (var i = 0, l = stack.length; i < l; i++) {
+        stack[i].call(this, event);
+      }
+
+      return !event.defaultPrevented;
+    }
+  }]);
+
+  return EventTarget;
+}();
+
+var events = new EventTarget();
+
+/***/ }),
+
+/***/ "./falseColorMapping.js":
+/*!******************************!*\
+  !*** ./falseColorMapping.js ***!
+  \******************************/
+/*! exports provided: convertImageToFalseColorImage, convertToFalseColorImage, restoreImage */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "convertImageToFalseColorImage", function() { return convertImageToFalseColorImage; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "convertToFalseColorImage", function() { return convertToFalseColorImage; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "restoreImage", function() { return restoreImage; });
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _pixelDataToFalseColorData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pixelDataToFalseColorData.js */ "./pixelDataToFalseColorData.js");
+/* harmony import */ var _colors_colormap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./colors/colormap.js */ "./colors/colormap.js");
+
+
+
+/**
+ * Retrieves the minimum and maximum pixel values from an Array of pixel data
+ *
+ * @param {Array} pixelData The input pixel data array
+ *
+ * @returns {{minPixelValue: Number, maxPixelValue: Number}} The minimum and maximum pixel values in the input Array
+ */
+
+function getPixelValues(pixelData) {
+  var minPixelValue = Number.MAX_VALUE;
+  var maxPixelValue = Number.MIN_VALUE;
+  var len = pixelData.length;
+  var pixel;
+
+  for (var i = 0; i < len; i++) {
+    pixel = pixelData[i];
+    minPixelValue = minPixelValue < pixel ? minPixelValue : pixel;
+    maxPixelValue = maxPixelValue > pixel ? maxPixelValue : pixel;
+  }
+
+  return {
+    minPixelValue: minPixelValue,
+    maxPixelValue: maxPixelValue
+  };
+}
+/**
+ * Retrieve a function that will allow an image object to be reset to its original form
+ * after a false color mapping transformation
+ *
+ * @param {Image} image A Cornerstone Image Object
+ *
+ * @return {Function} A function for resetting an Image Object to its original form
+ */
+
+
+function getRestoreImageMethod(image) {
+  if (image.restore) {
+    return image.restore;
+  }
+
+  var color = image.color;
+  var rgba = image.rgba;
+  var cachedLut = image.cachedLut;
+  var slope = image.slope;
+  var windowWidth = image.windowWidth;
+  var windowCenter = image.windowCenter;
+  var minPixelValue = image.minPixelValue;
+  var maxPixelValue = image.maxPixelValue;
+  return function () {
+    image.color = color;
+    image.rgba = rgba;
+    image.cachedLut = cachedLut;
+    image.slope = slope;
+    image.windowWidth = windowWidth;
+    image.windowCenter = windowCenter;
+    image.minPixelValue = minPixelValue;
+    image.maxPixelValue = maxPixelValue;
+
+    if (image.origPixelData) {
+      var pixelData = image.origPixelData;
+
+      image.getPixelData = function () {
+        return pixelData;
+      };
+    } // Remove some attributes added by false color mapping
+
+
+    image.origPixelData = undefined;
+    image.colormapId = undefined;
+    image.falseColor = undefined;
+  };
+} //
+// Then we need to make sure it will be converted into a colormap object if it's as string.
+
+/**
+ * User can pass a colormap or its id as string to some of these public functions.
+ * Then we need to make sure it will be converted into a colormap object if it's a string.
+ *
+ * @param {*} colormap A colormap ID or Object
+ * @return {*} The colormap
+ */
+
+
+function ensuresColormap(colormap) {
+  if (colormap && typeof colormap === 'string') {
+    colormap = Object(_colors_colormap_js__WEBPACK_IMPORTED_MODULE_2__["getColormap"])(colormap);
+  }
+
+  return colormap;
+}
+/**
+ * Restores a false color image to its original version
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @returns {Boolean} True if the image object had a valid restore function, which was run. Otherwise, false.
+ */
+
+
+function restoreImage(image) {
+  if (image.restore && typeof image.restore === 'function') {
+    image.restore();
+    return true;
+  }
+
+  return false;
+}
+/**
+ * Convert an image to a false color image
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @param {String|Object} colormap - it can be a colormap object or a colormap id (string)
+ *
+ * @returns {Boolean} - Whether or not the image has been converted to a false color image
+ */
+
+
+function convertImageToFalseColorImage(image, colormap) {
+  if (image.color && !image.falseColor) {
+    throw new Error('Color transforms are not implemented yet');
+  } // User can pass a colormap id or a colormap object
+
+
+  colormap = ensuresColormap(colormap);
+  var colormapId = colormap.getId(); // Doesn't do anything if colormapId hasn't changed
+
+  if (image.colormapId === colormapId) {
+    // It has already being converted into a false color image
+    // Using the colormapId passed as parameter
+    return false;
+  } // Restore the image attributes updated when converting to a false color image
+
+
+  restoreImage(image); // Convert the image to a false color image
+
+  if (colormapId) {
+    var minPixelValue = image.minPixelValue || 0;
+    var maxPixelValue = image.maxPixelValue || 255;
+    image.restore = getRestoreImageMethod(image);
+    var lookupTable = colormap.createLookupTable();
+    lookupTable.setTableRange(minPixelValue, maxPixelValue); // Update the pixel data and render the new image
+
+    Object(_pixelDataToFalseColorData_js__WEBPACK_IMPORTED_MODULE_1__["default"])(image, lookupTable); // Update min and max pixel values
+
+    var pixelValues = getPixelValues(image.getPixelData());
+    image.minPixelValue = pixelValues.minPixelValue;
+    image.maxPixelValue = pixelValues.maxPixelValue;
+    image.windowWidth = 255;
+    image.windowCenter = 128; // Cache the last colormapId used for performance
+    // Then it doesn't need to be re-rendered on next
+    // Time if the user hasn't updated it
+
+    image.colormapId = colormapId;
+  } // Return `true` to tell the caller that the image has got updated
+
+
+  return true;
+}
+/**
+ * Convert the image of a element to a false color image
+ *
+ * @param {HTMLElement} element The Cornerstone element
+ * @param {*} colormap - it can be a colormap object or a colormap id (string)
+ *
+ * @returns {void}
+ */
+
+
+function convertToFalseColorImage(element, colormap) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  return convertImageToFalseColorImage(enabledElement.image, colormap);
+}
+
+
+
+/***/ }),
+
+/***/ "./fitToWindow.js":
+/*!************************!*\
+  !*** ./fitToWindow.js ***!
+  \************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _updateImage_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./updateImage.js */ "./updateImage.js");
+/* harmony import */ var _internal_getImageFitScale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/getImageFitScale.js */ "./internal/getImageFitScale.js");
+
+
+
+/**
+ * Adjusts an image's scale and translation so the image is centered and all pixels
+ * in the image are viewable.
+ *
+ * @param {HTMLElement} element The Cornerstone element to update
+ * @returns {void}
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  var image = enabledElement.image; // The new scale is the minimum of the horizontal and vertical scale values
+
+  enabledElement.viewport.scale = Object(_internal_getImageFitScale_js__WEBPACK_IMPORTED_MODULE_2__["default"])(enabledElement.canvas, image, enabledElement.viewport.rotation).scaleFactor;
+  enabledElement.viewport.translation.x = 0;
+  enabledElement.viewport.translation.y = 0;
+  Object(_updateImage_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element);
+});
+
+/***/ }),
+
+/***/ "./generateUUID.js":
+/*!*************************!*\
+  !*** ./generateUUID.js ***!
+  \*************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/**
+* Generates a UUID for the enabledElement.
+*
+* @return {String} the UUID.
+*/
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+  // https://stackoverflow.com/a/8809472/9208320 Public Domain/MIT
+
+  /* eslint no-bitwise: ["error", { "allow": ["&","|"] }] */
+  var d = new Date().getTime();
+
+  if (typeof performance !== 'undefined' && typeof performance.now === 'function') {
+    d += performance.now(); // Use high-precision timer if available
+  }
+
+  return 'x.x.x.x.x.x.xxxx.xxx.x.x.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
+    var r = (d + Math.random() * 16) % 16 | 0;
+    d = Math.floor(d / 16);
+    return (c === 'x' ? r : r & 0x3 | 0x8).toString(16);
+  });
+});
+
+/***/ }),
+
+/***/ "./getDefaultViewportForImage.js":
+/*!***************************************!*\
+  !*** ./getDefaultViewportForImage.js ***!
+  \***************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/getDefaultViewport.js */ "./internal/getDefaultViewport.js");
+
+
+/**
+ * Returns a default viewport for display the specified image on the specified
+ * enabled element.  The default viewport is fit to window
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @param {Image} image A Cornerstone Image Object
+ *
+ * @returns {Viewport} The default viewport for the image
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element, image) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  return Object(_internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_1__["default"])(enabledElement.canvas, image);
+});
+
+/***/ }),
+
+/***/ "./getImage.js":
+/*!*********************!*\
+  !*** ./getImage.js ***!
+  \*********************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+
+/**
+ * Returns the currently displayed image for an element or undefined if no image has
+ * been displayed yet
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @returns {Image} The Cornerstone Image Object displayed in this element
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  return enabledElement.image;
+});
+
+/***/ }),
+
+/***/ "./getPixels.js":
+/*!**********************!*\
+  !*** ./getPixels.js ***!
+  \**********************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _getStoredPixels_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getStoredPixels.js */ "./getStoredPixels.js");
+/* harmony import */ var _internal_getModalityLUT_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/getModalityLUT.js */ "./internal/getModalityLUT.js");
+
+
+
+/**
+ * Retrieves an array of pixels from a rectangular region with modality LUT transformation applied
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @param {Number} x The x coordinate of the top left corner of the sampling rectangle in image coordinates
+ * @param {Number} y The y coordinate of the top left corner of the sampling rectangle in image coordinates
+ * @param {Number} width The width of the of the sampling rectangle in image coordinates
+ * @param {Number} height The height of the of the sampling rectangle in image coordinates
+ * @returns {Array} The modality pixel value of the pixels in the sampling rectangle
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element, x, y, width, height) {
+  var storedPixels = Object(_getStoredPixels_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element, x, y, width, height);
+  var ee = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  var mlutfn = Object(_internal_getModalityLUT_js__WEBPACK_IMPORTED_MODULE_2__["default"])(ee.image.slope, ee.image.intercept, ee.viewport.modalityLUT);
+  return storedPixels.map(mlutfn);
+});
+
+/***/ }),
+
+/***/ "./getStoredPixels.js":
+/*!****************************!*\
+  !*** ./getStoredPixels.js ***!
+  \****************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+
+/**
+ * Retrieves an array of stored pixel values from a rectangular region of an image
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @param {Number} x The x coordinate of the top left corner of the sampling rectangle in image coordinates
+ * @param {Number} y The y coordinate of the top left corner of the sampling rectangle in image coordinates
+ * @param {Number} width The width of the of the sampling rectangle in image coordinates
+ * @param {Number} height The height of the of the sampling rectangle in image coordinates
+ * @returns {Array} The stored pixel value of the pixels in the sampling rectangle
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element, x, y, width, height) {
+  if (element === undefined) {
+    throw new Error('getStoredPixels: parameter element must not be undefined');
+  }
+
+  x = Math.round(x);
+  y = Math.round(y);
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  var storedPixels = [];
+  var index = 0;
+  var pixelData = enabledElement.image.getPixelData();
+
+  for (var row = 0; row < height; row++) {
+    for (var column = 0; column < width; column++) {
+      var spIndex = (row + y) * enabledElement.image.columns + (column + x);
+      storedPixels[index++] = pixelData[spIndex];
+    }
+  }
+
+  return storedPixels;
+});
+
+/***/ }),
+
+/***/ "./getViewport.js":
+/*!************************!*\
+  !*** ./getViewport.js ***!
+  \************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+
+/**
+ * Retrieves the viewport for the specified enabled element
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @returns {Viewport|undefined} The Cornerstone Viewport settings for this element, if they exist. Otherwise, undefined
+ * @memberof ViewportSettings
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  var viewport = enabledElement.viewport;
+
+  if (viewport === undefined) {
+    return;
+  } // Return a copy of the viewport
+
+
+  return Object.assign({}, viewport);
+});
+
+/***/ }),
+
+/***/ "./imageCache.js":
+/*!***********************!*\
+  !*** ./imageCache.js ***!
+  \***********************/
+/*! exports provided: cachedImages, setMaximumSizeBytes, putImageLoadObject, getImageLoadObject, removeImageLoadObject, getCacheInfo, purgeCache, changeImageIdCacheSize, default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cachedImages", function() { return cachedImages; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setMaximumSizeBytes", function() { return setMaximumSizeBytes; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "putImageLoadObject", function() { return putImageLoadObject; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getImageLoadObject", function() { return getImageLoadObject; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeImageLoadObject", function() { return removeImageLoadObject; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCacheInfo", function() { return getCacheInfo; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "purgeCache", function() { return purgeCache; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "changeImageIdCacheSize", function() { return changeImageIdCacheSize; });
+/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./events.js */ "./events.js");
+/* harmony import */ var _triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./triggerEvent.js */ "./triggerEvent.js");
+
+
+/**
+ * This module deals with caching images
+ * @module ImageCache
+ */
+
+var maximumSizeInBytes = 1024 * 1024 * 1024; // 1 GB
+
+var cacheSizeInBytes = 0; // Dictionary of imageId to cachedImage objects
+
+var imageCacheDict = {}; // Array of cachedImage objects
+
+var cachedImages = [];
+/** Sets the maximum size of cache and purges cache contents if necessary.
+ *
+ * @param {number} numBytes The maximun size that the cache should occupy.
+ * @returns {void}
+ */
+
+function setMaximumSizeBytes(numBytes) {
+  if (numBytes === undefined) {
+    throw new Error('setMaximumSizeBytes: parameter numBytes must not be undefined');
+  }
+
+  if (numBytes.toFixed === undefined) {
+    throw new Error('setMaximumSizeBytes: parameter numBytes must be a number');
+  }
+
+  maximumSizeInBytes = numBytes;
+  Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_events_js__WEBPACK_IMPORTED_MODULE_0__["events"], _events_js__WEBPACK_IMPORTED_MODULE_0__["default"].IMAGE_CACHE_MAXIMUM_SIZE_CHANGED);
+  purgeCacheIfNecessary();
+}
+/**
+ * Purges the cache if size exceeds maximum
+ * @returns {void}
+ */
+
+function purgeCacheIfNecessary() {
+  // If max cache size has not been exceeded, do nothing
+  if (cacheSizeInBytes <= maximumSizeInBytes) {
+    return;
+  } // Cache size has been exceeded, create list of images sorted by timeStamp
+  // So we can purge the least recently used image
+
+
+  function compare(a, b) {
+    if (a.timeStamp > b.timeStamp) {
+      return -1;
+    }
+
+    if (a.timeStamp < b.timeStamp) {
+      return 1;
+    }
+
+    return 0;
+  }
+
+  cachedImages.sort(compare); // Remove images as necessary)
+
+  while (cacheSizeInBytes > maximumSizeInBytes) {
+    var lastCachedImage = cachedImages[cachedImages.length - 1];
+    var imageId = lastCachedImage.imageId;
+    removeImageLoadObject(imageId);
+    Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_events_js__WEBPACK_IMPORTED_MODULE_0__["events"], _events_js__WEBPACK_IMPORTED_MODULE_0__["default"].IMAGE_CACHE_PROMISE_REMOVED, {
+      imageId: imageId
+    });
+  }
+
+  var cacheInfo = getCacheInfo();
+  Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_events_js__WEBPACK_IMPORTED_MODULE_0__["events"], _events_js__WEBPACK_IMPORTED_MODULE_0__["default"].IMAGE_CACHE_FULL, cacheInfo);
+}
+/**
+ * Puts a new image loader into the cache
+ *
+ * @param {string} imageId ImageId of the image loader
+ * @param {Object} imageLoadObject The object that is loading or loaded the image
+ * @returns {void}
+ */
+
+
+function putImageLoadObject(imageId, imageLoadObject) {
+  if (imageId === undefined) {
+    throw new Error('putImageLoadObject: imageId must not be undefined');
+  }
+
+  if (imageLoadObject.promise === undefined) {
+    throw new Error('putImageLoadObject: imageLoadObject.promise must not be undefined');
+  }
+
+  if (imageCacheDict.hasOwnProperty(imageId) === true) {
+    throw new Error('putImageLoadObject: imageId already in cache');
+  }
+
+  if (imageLoadObject.cancelFn && typeof imageLoadObject.cancelFn !== 'function') {
+    throw new Error('putImageLoadObject: imageLoadObject.cancelFn must be a function');
+  }
+
+  var cachedImage = {
+    loaded: false,
+    imageId: imageId,
+    sharedCacheKey: undefined,
+    // The sharedCacheKey for this imageId.  undefined by default
+    imageLoadObject: imageLoadObject,
+    timeStamp: Date.now(),
+    sizeInBytes: 0
+  };
+  imageCacheDict[imageId] = cachedImage;
+  cachedImages.push(cachedImage);
+  imageLoadObject.promise.then(function (image) {
+    if (cachedImages.indexOf(cachedImage) === -1) {
+      // If the image has been purged before being loaded, we stop here.
+      return;
+    }
+
+    cachedImage.loaded = true;
+    cachedImage.image = image;
+
+    if (image.sizeInBytes === undefined) {
+      throw new Error('putImageLoadObject: image.sizeInBytes must not be undefined');
+    }
+
+    if (image.sizeInBytes.toFixed === undefined) {
+      throw new Error('putImageLoadObject: image.sizeInBytes is not a number');
+    }
+
+    cachedImage.sizeInBytes = image.sizeInBytes;
+    cacheSizeInBytes += cachedImage.sizeInBytes;
+    var eventDetails = {
+      action: 'addImage',
+      image: cachedImage
+    };
+    Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_events_js__WEBPACK_IMPORTED_MODULE_0__["events"], _events_js__WEBPACK_IMPORTED_MODULE_0__["default"].IMAGE_CACHE_CHANGED, eventDetails);
+    cachedImage.sharedCacheKey = image.sharedCacheKey;
+    purgeCacheIfNecessary();
+  }, function () {
+    var cachedImage = imageCacheDict[imageId];
+    cachedImages.splice(cachedImages.indexOf(cachedImage), 1);
+    delete imageCacheDict[imageId];
+  });
+}
+/**
+ * Retuns the object that is loading a given imageId
+ *
+ * @param {string} imageId Image ID
+ * @returns {void}
+ */
+
+function getImageLoadObject(imageId) {
+  if (imageId === undefined) {
+    throw new Error('getImageLoadObject: imageId must not be undefined');
+  }
+
+  var cachedImage = imageCacheDict[imageId];
+
+  if (cachedImage === undefined) {
+    return;
+  } // Bump time stamp for cached image
+
+
+  cachedImage.timeStamp = Date.now();
+  return cachedImage.imageLoadObject;
+}
+/**
+ * Removes the image loader associated with a given Id from the cache
+ *
+ * @param {string} imageId Image ID
+ * @returns {void}
+ */
+
+function removeImageLoadObject(imageId) {
+  if (imageId === undefined) {
+    throw new Error('removeImageLoadObject: imageId must not be undefined');
+  }
+
+  var cachedImage = imageCacheDict[imageId];
+
+  if (cachedImage === undefined) {
+    throw new Error('removeImageLoadObject: imageId was not present in imageCache');
+  }
+
+  cachedImages.splice(cachedImages.indexOf(cachedImage), 1);
+  cacheSizeInBytes -= cachedImage.sizeInBytes;
+  var eventDetails = {
+    action: 'deleteImage',
+    image: cachedImage
+  };
+  Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_events_js__WEBPACK_IMPORTED_MODULE_0__["events"], _events_js__WEBPACK_IMPORTED_MODULE_0__["default"].IMAGE_CACHE_CHANGED, eventDetails);
+  decache(cachedImage.imageLoadObject);
+  delete imageCacheDict[imageId];
+}
+/**
+ * @typedef {Object} CacheInformation
+ * @property {number} maximumSizeInBytes  The maximum size of the cache in bytes
+ * @property {number} cacheSizeInBytes Currently occupied space in the cache in bytes
+ * @property {number} numberOfImagesCached Number of ImageLoaders in the cache
+ * @returns {void}
+ */
+
+/**
+ * Gets the current state of the cache
+ * @returns {void}
+ */
+
+function getCacheInfo() {
+  return {
+    maximumSizeInBytes: maximumSizeInBytes,
+    cacheSizeInBytes: cacheSizeInBytes,
+    numberOfImagesCached: cachedImages.length
+  };
+} // This method should only be called by `removeImageLoadObject` because it's
+// The one that knows how to deal with shared cache keys and cache size.
+
+/**
+ * INTERNAL: Removes and ImageLoader from the cache
+ *
+ * @param {Object} imageLoadObject Image Loader Object to remove
+ * @returns {void}
+ */
+
+function decache(imageLoadObject) {
+  imageLoadObject.promise.then(function () {
+    if (imageLoadObject.decache) {
+      imageLoadObject.decache();
+    }
+  }, function () {
+    if (imageLoadObject.decache) {
+      imageLoadObject.decache();
+    }
+  });
+}
+/**
+ * Removes all images from cache
+ * @returns {void}
+ */
+
+
+function purgeCache() {
+  while (cachedImages.length > 0) {
+    var removedCachedImage = cachedImages[0];
+    removeImageLoadObject(removedCachedImage.imageId);
+  }
+}
+/**
+ * Updates the space than an image is using in the cache
+ *
+ * @param {string} imageId Image ID
+ * @param {number} newCacheSize New image size
+ * @returns {void}
+ */
+
+function changeImageIdCacheSize(imageId, newCacheSize) {
+  var cacheEntry = imageCacheDict[imageId];
+
+  if (cacheEntry) {
+    cacheEntry.imageLoadObject.promise.then(function (image) {
+      var cacheSizeDifference = newCacheSize - image.sizeInBytes;
+      image.sizeInBytes = newCacheSize;
+      cacheEntry.sizeInBytes = newCacheSize;
+      cacheSizeInBytes += cacheSizeDifference;
+      var eventDetails = {
+        action: 'changeImageSize',
+        image: image
+      };
+      Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_events_js__WEBPACK_IMPORTED_MODULE_0__["events"], _events_js__WEBPACK_IMPORTED_MODULE_0__["default"].IMAGE_CACHE_CHANGED, eventDetails);
+    });
+  }
+}
+/* harmony default export */ __webpack_exports__["default"] = ({
+  imageCache: imageCacheDict,
+  cachedImages: cachedImages,
+  setMaximumSizeBytes: setMaximumSizeBytes,
+  putImageLoadObject: putImageLoadObject,
+  getImageLoadObject: getImageLoadObject,
+  removeImageLoadObject: removeImageLoadObject,
+  getCacheInfo: getCacheInfo,
+  purgeCache: purgeCache,
+  changeImageIdCacheSize: changeImageIdCacheSize
+});
+
+/***/ }),
+
+/***/ "./imageLoader.js":
+/*!************************!*\
+  !*** ./imageLoader.js ***!
+  \************************/
+/*! exports provided: loadImage, loadAndCacheImage, registerImageLoader, registerUnknownImageLoader */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadImage", function() { return loadImage; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadAndCacheImage", function() { return loadAndCacheImage; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "registerImageLoader", function() { return registerImageLoader; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "registerUnknownImageLoader", function() { return registerUnknownImageLoader; });
+/* harmony import */ var _imageCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./imageCache.js */ "./imageCache.js");
+/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./events.js */ "./events.js");
+/* harmony import */ var _triggerEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./triggerEvent.js */ "./triggerEvent.js");
+
+
+
+/**
+ * This module deals with ImageLoaders, loading images and caching images
+ * @module ImageLoader
+ */
+
+var imageLoaders = {};
+var unknownImageLoader;
+/**
+ * Load an image using a registered Cornerstone Image Loader.
+ *
+ * The image loader that is used will be
+ * determined by the image loader scheme matching against the imageId.
+ *
+ * @param {String} imageId A Cornerstone Image Object's imageId
+ * @param {Object} [options] Options to be passed to the Image Loader
+ *
+ * @returns {ImageLoadObject} An Object which can be used to act after an image is loaded or loading fails
+ * @memberof ImageLoader
+ */
+
+function loadImageFromImageLoader(imageId, options) {
+  var colonIndex = imageId.indexOf(':');
+  var scheme = imageId.substring(0, colonIndex);
+  var loader = imageLoaders[scheme];
+
+  if (loader === undefined || loader === null) {
+    if (unknownImageLoader !== undefined) {
+      return unknownImageLoader(imageId);
+    }
+
+    throw new Error('loadImageFromImageLoader: no image loader for imageId');
+  }
+
+  var imageLoadObject = loader(imageId, options); // Broadcast an image loaded event once the image is loaded
+
+  imageLoadObject.promise.then(function (image) {
+    Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_events_js__WEBPACK_IMPORTED_MODULE_1__["events"], _events_js__WEBPACK_IMPORTED_MODULE_1__["default"].IMAGE_LOADED, {
+      image: image
+    });
+  }, function (error) {
+    var errorObject = {
+      imageId: imageId,
+      error: error
+    };
+    Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_events_js__WEBPACK_IMPORTED_MODULE_1__["events"], _events_js__WEBPACK_IMPORTED_MODULE_1__["default"].IMAGE_LOAD_FAILED, errorObject);
+  });
+  return imageLoadObject;
+}
+/**
+ * Loads an image given an imageId and optional priority and returns a promise which will resolve to
+ * the loaded image object or fail if an error occurred.  The loaded image is not stored in the cache.
+ *
+ * @param {String} imageId A Cornerstone Image Object's imageId
+ * @param {Object} [options] Options to be passed to the Image Loader
+ *
+ * @returns {ImageLoadObject} An Object which can be used to act after an image is loaded or loading fails
+ * @memberof ImageLoader
+ */
+
+
+function loadImage(imageId, options) {
+  if (imageId === undefined) {
+    throw new Error('loadImage: parameter imageId must not be undefined');
+  }
+
+  var imageLoadObject = Object(_imageCache_js__WEBPACK_IMPORTED_MODULE_0__["getImageLoadObject"])(imageId);
+
+  if (imageLoadObject !== undefined) {
+    return imageLoadObject.promise;
+  }
+
+  return loadImageFromImageLoader(imageId, options).promise;
+} //
+
+/**
+ * Loads an image given an imageId and optional priority and returns a promise which will resolve to
+ * the loaded image object or fail if an error occurred. The image is stored in the cache.
+ *
+ * @param {String} imageId A Cornerstone Image Object's imageId
+ * @param {Object} [options] Options to be passed to the Image Loader
+ *
+ * @returns {ImageLoadObject} Image Loader Object
+ * @memberof ImageLoader
+ */
+
+function loadAndCacheImage(imageId, options) {
+  if (imageId === undefined) {
+    throw new Error('loadAndCacheImage: parameter imageId must not be undefined');
+  }
+
+  var imageLoadObject = Object(_imageCache_js__WEBPACK_IMPORTED_MODULE_0__["getImageLoadObject"])(imageId);
+
+  if (imageLoadObject !== undefined) {
+    return imageLoadObject.promise;
+  }
+
+  imageLoadObject = loadImageFromImageLoader(imageId, options);
+  Object(_imageCache_js__WEBPACK_IMPORTED_MODULE_0__["putImageLoadObject"])(imageId, imageLoadObject);
+  return imageLoadObject.promise;
+}
+/**
+ * Registers an imageLoader plugin with cornerstone for the specified scheme
+ *
+ * @param {String} scheme The scheme to use for this image loader (e.g. 'dicomweb', 'wadouri', 'http')
+ * @param {Function} imageLoader A Cornerstone Image Loader function
+ * @returns {void}
+ * @memberof ImageLoader
+ */
+
+function registerImageLoader(scheme, imageLoader) {
+  imageLoaders[scheme] = imageLoader;
+}
+/**
+ * Registers a new unknownImageLoader and returns the previous one
+ *
+ * @param {Function} imageLoader A Cornerstone Image Loader
+ *
+ * @returns {Function|Undefined} The previous Unknown Image Loader
+ * @memberof ImageLoader
+ */
+
+function registerUnknownImageLoader(imageLoader) {
+  var oldImageLoader = unknownImageLoader;
+  unknownImageLoader = imageLoader;
+  return oldImageLoader;
+}
+
+/***/ }),
+
+/***/ "./index.js":
+/*!******************!*\
+  !*** ./index.js ***!
+  \******************/
+/*! exports provided: drawImage, generateLut, getDefaultViewport, setDefaultViewport, requestAnimationFrame, storedPixelDataToCanvasImageData, storedColorPixelDataToCanvasImageData, storedPixelDataToCanvasImageDataColorLUT, storedPixelDataToCanvasImageDataPseudocolorLUT, internal, renderLabelMapImage, renderPseudoColorImage, renderColorImage, renderGrayscaleImage, renderWebImage, renderToCanvas, canvasToPixel, disable, displayImage, draw, drawInvalidated, enable, getElementData, removeElementData, getEnabledElement, addEnabledElement, getEnabledElementsByImageId, getEnabledElements, addLayer, removeLayer, getLayer, getLayers, getVisibleLayers, setActiveLayer, getActiveLayer, purgeLayers, setLayerImage, fitToWindow, getDefaultViewportForImage, getDisplayedArea, getImage, getPixels, getStoredPixels, getViewport, loadImage, loadAndCacheImage, registerImageLoader, registerUnknownImageLoader, invalidate, invalidateImageId, pageToPixel, pixelToCanvas, reset, resize, setToPixelCoordinateSystem, setViewport, updateImage, pixelDataToFalseColorData, rendering, imageCache, metaData, webGL, colors, convertImageToFalseColorImage, convertToFalseColorImage, restoreImage, EVENTS, events, triggerEvent, imageLoadPoolManager, imageRetrievalPoolManager, RequestPoolManager, default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./events.js */ "./events.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EVENTS", function() { return _events_js__WEBPACK_IMPORTED_MODULE_0__["default"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "events", function() { return _events_js__WEBPACK_IMPORTED_MODULE_0__["events"]; });
+
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getEnabledElement", function() { return _enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElement"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "addEnabledElement", function() { return _enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["addEnabledElement"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getEnabledElementsByImageId", function() { return _enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElementsByImageId"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getEnabledElements", function() { return _enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElements"]; });
+
+/* harmony import */ var _layers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layers.js */ "./layers.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "addLayer", function() { return _layers_js__WEBPACK_IMPORTED_MODULE_2__["addLayer"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "removeLayer", function() { return _layers_js__WEBPACK_IMPORTED_MODULE_2__["removeLayer"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getLayer", function() { return _layers_js__WEBPACK_IMPORTED_MODULE_2__["getLayer"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getLayers", function() { return _layers_js__WEBPACK_IMPORTED_MODULE_2__["getLayers"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getVisibleLayers", function() { return _layers_js__WEBPACK_IMPORTED_MODULE_2__["getVisibleLayers"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setActiveLayer", function() { return _layers_js__WEBPACK_IMPORTED_MODULE_2__["setActiveLayer"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getActiveLayer", function() { return _layers_js__WEBPACK_IMPORTED_MODULE_2__["getActiveLayer"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "purgeLayers", function() { return _layers_js__WEBPACK_IMPORTED_MODULE_2__["purgeLayers"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setLayerImage", function() { return _layers_js__WEBPACK_IMPORTED_MODULE_2__["setLayerImage"]; });
+
+/* harmony import */ var _falseColorMapping_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./falseColorMapping.js */ "./falseColorMapping.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertImageToFalseColorImage", function() { return _falseColorMapping_js__WEBPACK_IMPORTED_MODULE_3__["convertImageToFalseColorImage"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertToFalseColorImage", function() { return _falseColorMapping_js__WEBPACK_IMPORTED_MODULE_3__["convertToFalseColorImage"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "restoreImage", function() { return _falseColorMapping_js__WEBPACK_IMPORTED_MODULE_3__["restoreImage"]; });
+
+/* harmony import */ var _enabledElementData_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./enabledElementData.js */ "./enabledElementData.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getElementData", function() { return _enabledElementData_js__WEBPACK_IMPORTED_MODULE_4__["getElementData"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "removeElementData", function() { return _enabledElementData_js__WEBPACK_IMPORTED_MODULE_4__["removeElementData"]; });
+
+/* harmony import */ var _imageLoader_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./imageLoader.js */ "./imageLoader.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "loadImage", function() { return _imageLoader_js__WEBPACK_IMPORTED_MODULE_5__["loadImage"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "loadAndCacheImage", function() { return _imageLoader_js__WEBPACK_IMPORTED_MODULE_5__["loadAndCacheImage"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "registerImageLoader", function() { return _imageLoader_js__WEBPACK_IMPORTED_MODULE_5__["registerImageLoader"]; });
+
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "registerUnknownImageLoader", function() { return _imageLoader_js__WEBPACK_IMPORTED_MODULE_5__["registerUnknownImageLoader"]; });
+
+/* harmony import */ var _requestPool_imageLoadPoolManager_ts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./requestPool/imageLoadPoolManager.ts */ "./requestPool/imageLoadPoolManager.ts");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "imageLoadPoolManager", function() { return _requestPool_imageLoadPoolManager_ts__WEBPACK_IMPORTED_MODULE_6__["default"]; });
+
+/* harmony import */ var _requestPool_imageRetrievalPoolManager_ts__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./requestPool/imageRetrievalPoolManager.ts */ "./requestPool/imageRetrievalPoolManager.ts");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "imageRetrievalPoolManager", function() { return _requestPool_imageRetrievalPoolManager_ts__WEBPACK_IMPORTED_MODULE_7__["default"]; });
+
+/* harmony import */ var _requestPool_RequestPoolManager_ts__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./requestPool/RequestPoolManager.ts */ "./requestPool/RequestPoolManager.ts");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RequestPoolManager", function() { return _requestPool_RequestPoolManager_ts__WEBPACK_IMPORTED_MODULE_8__["RequestPoolManager"]; });
+
+/* harmony import */ var _canvasToPixel_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./canvasToPixel.js */ "./canvasToPixel.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "canvasToPixel", function() { return _canvasToPixel_js__WEBPACK_IMPORTED_MODULE_9__["default"]; });
+
+/* harmony import */ var _colors_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./colors/index.js */ "./colors/index.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colors", function() { return _colors_index_js__WEBPACK_IMPORTED_MODULE_10__["default"]; });
+
+/* harmony import */ var _disable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./disable.js */ "./disable.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "disable", function() { return _disable_js__WEBPACK_IMPORTED_MODULE_11__["default"]; });
+
+/* harmony import */ var _displayImage_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./displayImage.js */ "./displayImage.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "displayImage", function() { return _displayImage_js__WEBPACK_IMPORTED_MODULE_12__["default"]; });
+
+/* harmony import */ var _draw_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./draw.js */ "./draw.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "draw", function() { return _draw_js__WEBPACK_IMPORTED_MODULE_13__["default"]; });
+
+/* harmony import */ var _internal_drawImage_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./internal/drawImage.js */ "./internal/drawImage.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "drawImage", function() { return _internal_drawImage_js__WEBPACK_IMPORTED_MODULE_14__["default"]; });
+
+/* harmony import */ var _drawInvalidated_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./drawInvalidated.js */ "./drawInvalidated.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "drawInvalidated", function() { return _drawInvalidated_js__WEBPACK_IMPORTED_MODULE_15__["default"]; });
+
+/* harmony import */ var _enable_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./enable.js */ "./enable.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "enable", function() { return _enable_js__WEBPACK_IMPORTED_MODULE_16__["default"]; });
+
+/* harmony import */ var _fitToWindow_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./fitToWindow.js */ "./fitToWindow.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fitToWindow", function() { return _fitToWindow_js__WEBPACK_IMPORTED_MODULE_17__["default"]; });
+
+/* harmony import */ var _internal_generateLut_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./internal/generateLut.js */ "./internal/generateLut.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "generateLut", function() { return _internal_generateLut_js__WEBPACK_IMPORTED_MODULE_18__["default"]; });
+
+/* harmony import */ var _internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./internal/getDefaultViewport.js */ "./internal/getDefaultViewport.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getDefaultViewport", function() { return _internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_19__["default"]; });
+
+/* harmony import */ var _getDefaultViewportForImage_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./getDefaultViewportForImage.js */ "./getDefaultViewportForImage.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getDefaultViewportForImage", function() { return _getDefaultViewportForImage_js__WEBPACK_IMPORTED_MODULE_20__["default"]; });
+
+/* harmony import */ var _internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./internal/getDisplayedArea.js */ "./internal/getDisplayedArea.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getDisplayedArea", function() { return _internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_21__["default"]; });
+
+/* harmony import */ var _getImage_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./getImage.js */ "./getImage.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getImage", function() { return _getImage_js__WEBPACK_IMPORTED_MODULE_22__["default"]; });
+
+/* harmony import */ var _getPixels_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./getPixels.js */ "./getPixels.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getPixels", function() { return _getPixels_js__WEBPACK_IMPORTED_MODULE_23__["default"]; });
+
+/* harmony import */ var _getStoredPixels_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./getStoredPixels.js */ "./getStoredPixels.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getStoredPixels", function() { return _getStoredPixels_js__WEBPACK_IMPORTED_MODULE_24__["default"]; });
+
+/* harmony import */ var _getViewport_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./getViewport.js */ "./getViewport.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getViewport", function() { return _getViewport_js__WEBPACK_IMPORTED_MODULE_25__["default"]; });
+
+/* harmony import */ var _imageCache_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./imageCache.js */ "./imageCache.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "imageCache", function() { return _imageCache_js__WEBPACK_IMPORTED_MODULE_26__["default"]; });
+
+/* harmony import */ var _internal_index_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./internal/index.js */ "./internal/index.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "internal", function() { return _internal_index_js__WEBPACK_IMPORTED_MODULE_27__["default"]; });
+
+/* harmony import */ var _invalidate_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./invalidate.js */ "./invalidate.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "invalidate", function() { return _invalidate_js__WEBPACK_IMPORTED_MODULE_28__["default"]; });
+
+/* harmony import */ var _invalidateImageId_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./invalidateImageId.js */ "./invalidateImageId.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "invalidateImageId", function() { return _invalidateImageId_js__WEBPACK_IMPORTED_MODULE_29__["default"]; });
+
+/* harmony import */ var _metaData_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./metaData.js */ "./metaData.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "metaData", function() { return _metaData_js__WEBPACK_IMPORTED_MODULE_30__["default"]; });
+
+/* harmony import */ var _pageToPixel_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./pageToPixel.js */ "./pageToPixel.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pageToPixel", function() { return _pageToPixel_js__WEBPACK_IMPORTED_MODULE_31__["default"]; });
+
+/* harmony import */ var _pixelDataToFalseColorData_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./pixelDataToFalseColorData.js */ "./pixelDataToFalseColorData.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pixelDataToFalseColorData", function() { return _pixelDataToFalseColorData_js__WEBPACK_IMPORTED_MODULE_32__["default"]; });
+
+/* harmony import */ var _pixelToCanvas_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./pixelToCanvas.js */ "./pixelToCanvas.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pixelToCanvas", function() { return _pixelToCanvas_js__WEBPACK_IMPORTED_MODULE_33__["default"]; });
+
+/* harmony import */ var _rendering_renderColorImage_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./rendering/renderColorImage.js */ "./rendering/renderColorImage.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "renderColorImage", function() { return _rendering_renderColorImage_js__WEBPACK_IMPORTED_MODULE_34__["renderColorImage"]; });
+
+/* harmony import */ var _rendering_renderGrayscaleImage_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./rendering/renderGrayscaleImage.js */ "./rendering/renderGrayscaleImage.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "renderGrayscaleImage", function() { return _rendering_renderGrayscaleImage_js__WEBPACK_IMPORTED_MODULE_35__["renderGrayscaleImage"]; });
+
+/* harmony import */ var _rendering_renderLabelMapImage_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./rendering/renderLabelMapImage.js */ "./rendering/renderLabelMapImage.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "renderLabelMapImage", function() { return _rendering_renderLabelMapImage_js__WEBPACK_IMPORTED_MODULE_36__["renderLabelMapImage"]; });
+
+/* harmony import */ var _rendering_renderPseudoColorImage_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./rendering/renderPseudoColorImage.js */ "./rendering/renderPseudoColorImage.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "renderPseudoColorImage", function() { return _rendering_renderPseudoColorImage_js__WEBPACK_IMPORTED_MODULE_37__["renderPseudoColorImage"]; });
+
+/* harmony import */ var _rendering_renderToCanvas_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./rendering/renderToCanvas.js */ "./rendering/renderToCanvas.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "renderToCanvas", function() { return _rendering_renderToCanvas_js__WEBPACK_IMPORTED_MODULE_38__["default"]; });
+
+/* harmony import */ var _rendering_renderWebImage_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./rendering/renderWebImage.js */ "./rendering/renderWebImage.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "renderWebImage", function() { return _rendering_renderWebImage_js__WEBPACK_IMPORTED_MODULE_39__["renderWebImage"]; });
+
+/* harmony import */ var _rendering_index_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./rendering/index.js */ "./rendering/index.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "rendering", function() { return _rendering_index_js__WEBPACK_IMPORTED_MODULE_40__["default"]; });
+
+/* harmony import */ var _internal_requestAnimationFrame_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./internal/requestAnimationFrame.js */ "./internal/requestAnimationFrame.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "requestAnimationFrame", function() { return _internal_requestAnimationFrame_js__WEBPACK_IMPORTED_MODULE_41__["default"]; });
+
+/* harmony import */ var _reset_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./reset.js */ "./reset.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reset", function() { return _reset_js__WEBPACK_IMPORTED_MODULE_42__["default"]; });
+
+/* harmony import */ var _resize_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./resize.js */ "./resize.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "resize", function() { return _resize_js__WEBPACK_IMPORTED_MODULE_43__["default"]; });
+
+/* harmony import */ var _internal_setDefaultViewport_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./internal/setDefaultViewport.js */ "./internal/setDefaultViewport.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setDefaultViewport", function() { return _internal_setDefaultViewport_js__WEBPACK_IMPORTED_MODULE_44__["default"]; });
+
+/* harmony import */ var _setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./setToPixelCoordinateSystem.js */ "./setToPixelCoordinateSystem.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setToPixelCoordinateSystem", function() { return _setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_45__["default"]; });
+
+/* harmony import */ var _setViewport_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./setViewport.js */ "./setViewport.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setViewport", function() { return _setViewport_js__WEBPACK_IMPORTED_MODULE_46__["default"]; });
+
+/* harmony import */ var _internal_storedColorPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./internal/storedColorPixelDataToCanvasImageData.js */ "./internal/storedColorPixelDataToCanvasImageData.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "storedColorPixelDataToCanvasImageData", function() { return _internal_storedColorPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_47__["default"]; });
+
+/* harmony import */ var _internal_storedPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./internal/storedPixelDataToCanvasImageData.js */ "./internal/storedPixelDataToCanvasImageData.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "storedPixelDataToCanvasImageData", function() { return _internal_storedPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_48__["default"]; });
+
+/* harmony import */ var _internal_storedPixelDataToCanvasImageDataColorLUT_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./internal/storedPixelDataToCanvasImageDataColorLUT.js */ "./internal/storedPixelDataToCanvasImageDataColorLUT.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "storedPixelDataToCanvasImageDataColorLUT", function() { return _internal_storedPixelDataToCanvasImageDataColorLUT_js__WEBPACK_IMPORTED_MODULE_49__["default"]; });
+
+/* harmony import */ var _internal_storedPixelDataToCanvasImageDataPseudocolorLUT_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./internal/storedPixelDataToCanvasImageDataPseudocolorLUT.js */ "./internal/storedPixelDataToCanvasImageDataPseudocolorLUT.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "storedPixelDataToCanvasImageDataPseudocolorLUT", function() { return _internal_storedPixelDataToCanvasImageDataPseudocolorLUT_js__WEBPACK_IMPORTED_MODULE_50__["default"]; });
+
+/* harmony import */ var _triggerEvent_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./triggerEvent.js */ "./triggerEvent.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "triggerEvent", function() { return _triggerEvent_js__WEBPACK_IMPORTED_MODULE_51__["default"]; });
+
+/* harmony import */ var _updateImage_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./updateImage.js */ "./updateImage.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "updateImage", function() { return _updateImage_js__WEBPACK_IMPORTED_MODULE_52__["default"]; });
+
+/* harmony import */ var _webgl_index_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./webgl/index.js */ "./webgl/index.js");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "webGL", function() { return _webgl_index_js__WEBPACK_IMPORTED_MODULE_53__["default"]; });
+
+// Internal (some of these are from old internal/legacy expose)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ // Rendering
+
+/**
+ * @module PixelCoordinateSystem
+ */
+
+/**
+ * @module ViewportSettings
+ */
+
+var cornerstone = {
+  drawImage: _internal_drawImage_js__WEBPACK_IMPORTED_MODULE_14__["default"],
+  generateLut: _internal_generateLut_js__WEBPACK_IMPORTED_MODULE_18__["default"],
+  getDefaultViewport: _internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_19__["default"],
+  requestAnimationFrame: _internal_requestAnimationFrame_js__WEBPACK_IMPORTED_MODULE_41__["default"],
+  storedPixelDataToCanvasImageData: _internal_storedPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_48__["default"],
+  storedColorPixelDataToCanvasImageData: _internal_storedColorPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_47__["default"],
+  storedPixelDataToCanvasImageDataColorLUT: _internal_storedPixelDataToCanvasImageDataColorLUT_js__WEBPACK_IMPORTED_MODULE_49__["default"],
+  storedPixelDataToCanvasImageDataPseudocolorLUT: _internal_storedPixelDataToCanvasImageDataPseudocolorLUT_js__WEBPACK_IMPORTED_MODULE_50__["default"],
+  internal: _internal_index_js__WEBPACK_IMPORTED_MODULE_27__["default"],
+  renderLabelMapImage: _rendering_renderLabelMapImage_js__WEBPACK_IMPORTED_MODULE_36__["renderLabelMapImage"],
+  renderPseudoColorImage: _rendering_renderPseudoColorImage_js__WEBPACK_IMPORTED_MODULE_37__["renderPseudoColorImage"],
+  renderColorImage: _rendering_renderColorImage_js__WEBPACK_IMPORTED_MODULE_34__["renderColorImage"],
+  renderGrayscaleImage: _rendering_renderGrayscaleImage_js__WEBPACK_IMPORTED_MODULE_35__["renderGrayscaleImage"],
+  renderWebImage: _rendering_renderWebImage_js__WEBPACK_IMPORTED_MODULE_39__["renderWebImage"],
+  renderToCanvas: _rendering_renderToCanvas_js__WEBPACK_IMPORTED_MODULE_38__["default"],
+  canvasToPixel: _canvasToPixel_js__WEBPACK_IMPORTED_MODULE_9__["default"],
+  disable: _disable_js__WEBPACK_IMPORTED_MODULE_11__["default"],
+  displayImage: _displayImage_js__WEBPACK_IMPORTED_MODULE_12__["default"],
+  draw: _draw_js__WEBPACK_IMPORTED_MODULE_13__["default"],
+  drawInvalidated: _drawInvalidated_js__WEBPACK_IMPORTED_MODULE_15__["default"],
+  enable: _enable_js__WEBPACK_IMPORTED_MODULE_16__["default"],
+  getElementData: _enabledElementData_js__WEBPACK_IMPORTED_MODULE_4__["getElementData"],
+  removeElementData: _enabledElementData_js__WEBPACK_IMPORTED_MODULE_4__["removeElementData"],
+  getEnabledElement: _enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElement"],
+  addEnabledElement: _enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["addEnabledElement"],
+  getEnabledElementsByImageId: _enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElementsByImageId"],
+  getEnabledElements: _enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElements"],
+  addLayer: _layers_js__WEBPACK_IMPORTED_MODULE_2__["addLayer"],
+  removeLayer: _layers_js__WEBPACK_IMPORTED_MODULE_2__["removeLayer"],
+  getLayer: _layers_js__WEBPACK_IMPORTED_MODULE_2__["getLayer"],
+  getLayers: _layers_js__WEBPACK_IMPORTED_MODULE_2__["getLayers"],
+  getVisibleLayers: _layers_js__WEBPACK_IMPORTED_MODULE_2__["getVisibleLayers"],
+  setActiveLayer: _layers_js__WEBPACK_IMPORTED_MODULE_2__["setActiveLayer"],
+  getActiveLayer: _layers_js__WEBPACK_IMPORTED_MODULE_2__["getActiveLayer"],
+  purgeLayers: _layers_js__WEBPACK_IMPORTED_MODULE_2__["purgeLayers"],
+  setLayerImage: _layers_js__WEBPACK_IMPORTED_MODULE_2__["setLayerImage"],
+  fitToWindow: _fitToWindow_js__WEBPACK_IMPORTED_MODULE_17__["default"],
+  getDefaultViewportForImage: _getDefaultViewportForImage_js__WEBPACK_IMPORTED_MODULE_20__["default"],
+  getDisplayedArea: _internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_21__["default"],
+  setDefaultViewport: _internal_setDefaultViewport_js__WEBPACK_IMPORTED_MODULE_44__["default"],
+  getImage: _getImage_js__WEBPACK_IMPORTED_MODULE_22__["default"],
+  getPixels: _getPixels_js__WEBPACK_IMPORTED_MODULE_23__["default"],
+  getStoredPixels: _getStoredPixels_js__WEBPACK_IMPORTED_MODULE_24__["default"],
+  getViewport: _getViewport_js__WEBPACK_IMPORTED_MODULE_25__["default"],
+  loadImage: _imageLoader_js__WEBPACK_IMPORTED_MODULE_5__["loadImage"],
+  loadAndCacheImage: _imageLoader_js__WEBPACK_IMPORTED_MODULE_5__["loadAndCacheImage"],
+  registerImageLoader: _imageLoader_js__WEBPACK_IMPORTED_MODULE_5__["registerImageLoader"],
+  registerUnknownImageLoader: _imageLoader_js__WEBPACK_IMPORTED_MODULE_5__["registerUnknownImageLoader"],
+  invalidate: _invalidate_js__WEBPACK_IMPORTED_MODULE_28__["default"],
+  invalidateImageId: _invalidateImageId_js__WEBPACK_IMPORTED_MODULE_29__["default"],
+  pageToPixel: _pageToPixel_js__WEBPACK_IMPORTED_MODULE_31__["default"],
+  pixelToCanvas: _pixelToCanvas_js__WEBPACK_IMPORTED_MODULE_33__["default"],
+  reset: _reset_js__WEBPACK_IMPORTED_MODULE_42__["default"],
+  resize: _resize_js__WEBPACK_IMPORTED_MODULE_43__["default"],
+  setToPixelCoordinateSystem: _setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_45__["default"],
+  setViewport: _setViewport_js__WEBPACK_IMPORTED_MODULE_46__["default"],
+  updateImage: _updateImage_js__WEBPACK_IMPORTED_MODULE_52__["default"],
+  pixelDataToFalseColorData: _pixelDataToFalseColorData_js__WEBPACK_IMPORTED_MODULE_32__["default"],
+  rendering: _rendering_index_js__WEBPACK_IMPORTED_MODULE_40__["default"],
+  imageCache: _imageCache_js__WEBPACK_IMPORTED_MODULE_26__["default"],
+  metaData: _metaData_js__WEBPACK_IMPORTED_MODULE_30__["default"],
+  webGL: _webgl_index_js__WEBPACK_IMPORTED_MODULE_53__["default"],
+  colors: _colors_index_js__WEBPACK_IMPORTED_MODULE_10__["default"],
+  convertImageToFalseColorImage: _falseColorMapping_js__WEBPACK_IMPORTED_MODULE_3__["convertImageToFalseColorImage"],
+  convertToFalseColorImage: _falseColorMapping_js__WEBPACK_IMPORTED_MODULE_3__["convertToFalseColorImage"],
+  restoreImage: _falseColorMapping_js__WEBPACK_IMPORTED_MODULE_3__["restoreImage"],
+  EVENTS: _events_js__WEBPACK_IMPORTED_MODULE_0__["default"],
+  events: _events_js__WEBPACK_IMPORTED_MODULE_0__["events"],
+  triggerEvent: _triggerEvent_js__WEBPACK_IMPORTED_MODULE_51__["default"],
+  imageLoadPoolManager: _requestPool_imageLoadPoolManager_ts__WEBPACK_IMPORTED_MODULE_6__["default"],
+  imageRetrievalPoolManager: _requestPool_imageRetrievalPoolManager_ts__WEBPACK_IMPORTED_MODULE_7__["default"],
+  RequestPoolManager: _requestPool_RequestPoolManager_ts__WEBPACK_IMPORTED_MODULE_8__["RequestPoolManager"]
+};
+
+/* harmony default export */ __webpack_exports__["default"] = (cornerstone);
+
+/***/ }),
+
+/***/ "./internal/calculateTransform.js":
+/*!****************************************!*\
+  !*** ./internal/calculateTransform.js ***!
+  \****************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _transform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transform.js */ "./internal/transform.js");
+/* harmony import */ var _getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDisplayedArea.js */ "./internal/getDisplayedArea.js");
+
+
+/**
+ * Calculate the transform for a Cornerstone enabled element
+ *
+ * @param {EnabledElement} enabledElement The Cornerstone Enabled Element
+ * @param {Number} [scale] The viewport scale
+ * @return {Transform} The current transform
+ * @memberof Internal
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (enabledElement, scale) {
+  var transform = new _transform_js__WEBPACK_IMPORTED_MODULE_0__["Transform"](); // Move to center of canvas
+
+  transform.translate(enabledElement.canvas.width / 2, enabledElement.canvas.height / 2); // Apply the rotation before scaling for non square pixels
+
+  var angle = enabledElement.viewport.rotation;
+
+  if (angle !== 0) {
+    transform.rotate(angle * Math.PI / 180);
+  } // Apply the scale
+
+
+  var widthScale = enabledElement.viewport.scale;
+  var heightScale = enabledElement.viewport.scale;
+  var imageDisplayedArea = Object(_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_1__["default"])(enabledElement.image, enabledElement.viewport);
+  var offsetX = imageDisplayedArea.tlhc.x - 1;
+  var offsetY = imageDisplayedArea.tlhc.y - 1;
+  var width = imageDisplayedArea.brhc.x - offsetX;
+  var height = imageDisplayedArea.brhc.y - offsetY;
+
+  if (imageDisplayedArea.presentationSizeMode === 'NONE') {
+    if (enabledElement.image.rowPixelSpacing < enabledElement.image.columnPixelSpacing) {
+      widthScale *= enabledElement.image.columnPixelSpacing / enabledElement.image.rowPixelSpacing;
+    } else if (enabledElement.image.columnPixelSpacing < enabledElement.image.rowPixelSpacing) {
+      heightScale *= enabledElement.image.rowPixelSpacing / enabledElement.image.columnPixelSpacing;
+    }
+  } else {
+    // These should be good for "TRUE SIZE" and "MAGNIFY"
+    widthScale = imageDisplayedArea.columnPixelSpacing;
+    heightScale = imageDisplayedArea.rowPixelSpacing;
+
+    if (imageDisplayedArea.presentationSizeMode === 'SCALE TO FIT') {
+      // Fit TRUE IMAGE image (width/height) to window
+      var verticalScale = enabledElement.canvas.height / (height * heightScale);
+      var horizontalScale = enabledElement.canvas.width / (width * widthScale); // Apply new scale
+
+      widthScale = heightScale = Math.min(horizontalScale, verticalScale);
+
+      if (imageDisplayedArea.rowPixelSpacing < imageDisplayedArea.columnPixelSpacing) {
+        widthScale *= imageDisplayedArea.columnPixelSpacing / imageDisplayedArea.rowPixelSpacing;
+      } else if (imageDisplayedArea.columnPixelSpacing < imageDisplayedArea.rowPixelSpacing) {
+        heightScale *= imageDisplayedArea.rowPixelSpacing / imageDisplayedArea.columnPixelSpacing;
+      }
+    }
+  }
+
+  transform.scale(widthScale, heightScale); // Unrotate to so we can translate unrotated
+
+  if (angle !== 0) {
+    transform.rotate(-angle * Math.PI / 180);
+  } // Apply the pan offset
+
+
+  transform.translate(enabledElement.viewport.translation.x, enabledElement.viewport.translation.y); // Rotate again so we can apply general scale
+
+  if (angle !== 0) {
+    transform.rotate(angle * Math.PI / 180);
+  }
+
+  if (scale !== undefined) {
+    // Apply the font scale
+    transform.scale(scale, scale);
+  } // Apply Flip if required
+
+
+  if (enabledElement.viewport.hflip) {
+    transform.scale(-1, 1);
+  }
+
+  if (enabledElement.viewport.vflip) {
+    transform.scale(1, -1);
+  } // Move back from center of image
+
+
+  transform.translate(-width / 2, -height / 2); // Move to displayedArea
+
+  transform.translate(-offsetX, -offsetY);
+  return transform;
+});
+
+/***/ }),
+
+/***/ "./internal/computeAutoVoi.js":
+/*!************************************!*\
+  !*** ./internal/computeAutoVoi.js ***!
+  \************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return computeAutoVoi; });
+/**
+ * Computes the VOI to display all the pixels if no VOI LUT data (Window Width/Window Center or voiLUT) exists on the viewport object.
+ *
+ * @param {Viewport} viewport - Object containing the viewport properties
+ * @param {Object} image An Image loaded by a Cornerstone Image Loader
+ * @returns {void}
+ * @memberof Internal
+ */
+function computeAutoVoi(viewport, image) {
+  if (hasVoi(viewport)) {
+    return;
+  }
+
+  var maxVoi = image.maxPixelValue * image.slope + image.intercept;
+  var minVoi = image.minPixelValue * image.slope + image.intercept;
+  var ww = maxVoi - minVoi;
+  var wc = (maxVoi + minVoi) / 2;
+
+  if (viewport.voi === undefined) {
+    viewport.voi = {
+      windowWidth: ww,
+      windowCenter: wc
+    };
+  } else {
+    viewport.voi.windowWidth = ww;
+    viewport.voi.windowCenter = wc;
+  }
+}
+/**
+ * Check if viewport has voi LUT data
+ * @param {any} viewport The viewport to check for voi LUT data
+ * @returns {Boolean} true viewport has LUT data (Window Width/Window Center or voiLUT). Otherwise, false.
+ * @memberof Internal
+ */
+
+function hasVoi(viewport) {
+  var hasLut = viewport.voiLUT && viewport.voiLUT.lut && viewport.voiLUT.lut.length > 0;
+  return hasLut || viewport.voi.windowWidth !== undefined && viewport.voi.windowCenter !== undefined;
+}
+
+/***/ }),
+
+/***/ "./internal/createViewport.js":
+/*!************************************!*\
+  !*** ./internal/createViewport.js ***!
+  \************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _setDefaultViewport_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setDefaultViewport.js */ "./internal/setDefaultViewport.js");
+
+/**
+ * Creates a new viewport object containing default values
+ *
+ * @returns {Viewport} viewport object
+ * @memberof Internal
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+  var initialDefaultViewport = {
+    scale: 1,
+    translation: {
+      x: 0,
+      y: 0
+    },
+    voi: {
+      windowWidth: undefined,
+      windowCenter: undefined
+    },
+    invert: false,
+    pixelReplication: false,
+    rotation: 0,
+    hflip: false,
+    vflip: false,
+    modalityLUT: undefined,
+    voiLUT: undefined,
+    colormap: undefined,
+    labelmap: false,
+    displayedArea: undefined
+  };
+  return Object.assign({}, initialDefaultViewport, _setDefaultViewport_js__WEBPACK_IMPORTED_MODULE_0__["state"].viewport);
+});
+
+/***/ }),
+
+/***/ "./internal/drawCompositeImage.js":
+/*!****************************************!*\
+  !*** ./internal/drawCompositeImage.js ***!
+  \****************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _layers_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../layers.js */ "./layers.js");
+/* harmony import */ var _rendering_renderGrayscaleImage_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../rendering/renderGrayscaleImage.js */ "./rendering/renderGrayscaleImage.js");
+/* harmony import */ var _rendering_renderColorImage_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../rendering/renderColorImage.js */ "./rendering/renderColorImage.js");
+/* harmony import */ var _rendering_renderPseudoColorImage_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../rendering/renderPseudoColorImage.js */ "./rendering/renderPseudoColorImage.js");
+/* harmony import */ var _rendering_renderLabelMapImage_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../rendering/renderLabelMapImage.js */ "./rendering/renderLabelMapImage.js");
+/* harmony import */ var _setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../setToPixelCoordinateSystem.js */ "./setToPixelCoordinateSystem.js");
+/* harmony import */ var _getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getDisplayedArea.js */ "./internal/getDisplayedArea.js");
+
+
+
+
+
+
+
+
+function getViewportRatio(baseLayer, targetLayer) {
+  if (!baseLayer.syncProps) {
+    updateLayerSyncProps(baseLayer);
+  }
+
+  if (!targetLayer.syncProps) {
+    updateLayerSyncProps(targetLayer);
+  }
+
+  return targetLayer.syncProps.originalScale / baseLayer.syncProps.originalScale;
+}
+
+function updateLayerSyncProps(layer) {
+  var syncProps = layer.syncProps || {}; // This is used to keep each of the layers' viewports in sync with the active layer
+
+  syncProps.originalScale = layer.viewport.scale;
+  layer.syncProps = syncProps;
+} // Sync all viewports based on active layer's viewport
+
+
+function syncViewports(layers, activeLayer) {
+  // If we intend to keep the viewport's scale, translation and rotation in sync,
+  // loop through the layers
+  layers.forEach(function (layer) {
+    // Don't do anything to the active layer
+    // Don't do anything if this layer has no viewport
+    if (layer === activeLayer || !layer.viewport || !activeLayer.viewport) {
+      return;
+    }
+
+    if (!layer.syncProps) {
+      updateLayerSyncProps(layer);
+    }
+
+    var viewportRatio = getViewportRatio(activeLayer, layer); // Update the layer's translation and scale to keep them in sync with the first image
+    // based on the ratios between the images
+
+    layer.viewport.scale = activeLayer.viewport.scale * viewportRatio;
+    layer.viewport.rotation = activeLayer.viewport.rotation;
+    layer.viewport.translation = {
+      x: activeLayer.viewport.translation.x / viewportRatio,
+      y: activeLayer.viewport.translation.y / viewportRatio
+    };
+    layer.viewport.hflip = activeLayer.viewport.hflip;
+    layer.viewport.vflip = activeLayer.viewport.vflip;
+  });
+}
+/**
+ * Internal function to render all layers for a Cornerstone enabled element
+ *
+ * @param {CanvasRenderingContext2D} context Canvas context to draw upon
+ * @param {EnabledElementLayer[]} layers The array of all layers for this enabled element
+ * @param {Boolean} invalidated A boolean whether or not this image has been invalidated and must be redrawn
+ * @returns {void}
+ * @memberof Internal
+ */
+
+
+function renderLayers(context, layers, invalidated) {
+  // Loop through each layer and draw it to the canvas
+  layers.forEach(function (layer, index) {
+    if (!layer.image) {
+      return;
+    }
+
+    context.save(); // Set the layer's canvas to the pixel coordinate system
+
+    layer.canvas = context.canvas;
+    Object(_setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_5__["default"])(layer, context); // Render into the layer's canvas
+
+    var colormap = layer.viewport.colormap || layer.options.colormap;
+    var labelmap = layer.viewport.labelmap;
+    var isInvalid = layer.invalid || invalidated;
+
+    if (colormap && colormap !== '' && labelmap === true) {
+      Object(_rendering_renderLabelMapImage_js__WEBPACK_IMPORTED_MODULE_4__["addLabelMapLayer"])(layer, isInvalid);
+    } else if (colormap && colormap !== '') {
+      Object(_rendering_renderPseudoColorImage_js__WEBPACK_IMPORTED_MODULE_3__["addPseudoColorLayer"])(layer, isInvalid);
+    } else if (layer.image.color === true) {
+      Object(_rendering_renderColorImage_js__WEBPACK_IMPORTED_MODULE_2__["addColorLayer"])(layer, isInvalid);
+    } else {
+      // If this is the base layer, use the alpha channel for rendering of the grayscale image
+      var useAlphaChannel = index === 0;
+      Object(_rendering_renderGrayscaleImage_js__WEBPACK_IMPORTED_MODULE_1__["addGrayscaleLayer"])(layer, isInvalid, useAlphaChannel);
+    } // Apply any global opacity settings that have been defined for this layer
+
+
+    if (layer.options && layer.options.opacity) {
+      context.globalAlpha = layer.options.opacity;
+    } else {
+      context.globalAlpha = 1;
+    }
+
+    if (layer.options && layer.options.fillStyle) {
+      context.fillStyle = layer.options.fillStyle;
+    } // Set the pixelReplication property before drawing from the layer into the
+    // composite canvas
+
+
+    context.imageSmoothingEnabled = !layer.viewport.pixelReplication;
+    context.mozImageSmoothingEnabled = context.imageSmoothingEnabled; // Draw from the current layer's canvas onto the enabled element's canvas
+
+    var layerDisplayedArea = Object(_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_6__["default"])(layer.image, layer.viewport);
+    var sx = layerDisplayedArea.tlhc.x - 1;
+    var sy = layerDisplayedArea.tlhc.y - 1;
+    var width = layerDisplayedArea.brhc.x - sx;
+    var height = layerDisplayedArea.brhc.y - sy;
+    context.drawImage(layer.canvas, sx, sy, width, height, sx, sy, width, height);
+    context.restore();
+    layer.invalid = false;
+  });
+}
+/**
+ * Internal API function to draw a composite image to a given enabled element
+ *
+ * @param {EnabledElement} enabledElement An enabled element to draw into
+ * @param {Boolean} invalidated - true if pixel data has been invalidated and cached rendering should not be used
+ * @returns {void}
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (function (enabledElement, invalidated) {
+  var element = enabledElement.element;
+  var allLayers = Object(_layers_js__WEBPACK_IMPORTED_MODULE_0__["getLayers"])(element);
+  var activeLayer = Object(_layers_js__WEBPACK_IMPORTED_MODULE_0__["getActiveLayer"])(element);
+  var visibleLayers = Object(_layers_js__WEBPACK_IMPORTED_MODULE_0__["getVisibleLayers"])(element);
+  var resynced = !enabledElement.lastSyncViewportsState && enabledElement.syncViewports; // This state will help us to determine if the user has re-synced the
+  // layers allowing us to make a new copy of the viewports
+
+  enabledElement.lastSyncViewportsState = enabledElement.syncViewports; // Stores a copy of all viewports if the user has just synced them then we can use the
+  // copies to calculate anything later (ratio, translation offset, rotation offset, etc)
+
+  if (resynced) {
+    allLayers.forEach(function (layer) {
+      if (layer.viewport) {
+        updateLayerSyncProps(layer);
+      }
+    });
+  } // Sync all viewports in case it's activated
+
+
+  if (enabledElement.syncViewports === true) {
+    syncViewports(visibleLayers, activeLayer);
+  } // Get the enabled element's canvas so we can draw to it
+
+
+  var context = enabledElement.canvas.getContext('2d', {
+    desynchronized: true
+  });
+  context.setTransform(1, 0, 0, 1, 0, 0); // Clear the canvas
+
+  context.fillStyle = 'black';
+  context.fillRect(0, 0, enabledElement.canvas.width, enabledElement.canvas.height); // Render all visible layers
+
+  renderLayers(context, visibleLayers, invalidated);
+});
+
+/***/ }),
+
+/***/ "./internal/drawImage.js":
+/*!*******************************!*\
+  !*** ./internal/drawImage.js ***!
+  \*******************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/**
+ * Internal API function to draw an image to a given enabled element
+ *
+ * @param {EnabledElement} enabledElement The Cornerstone Enabled Element to redraw
+ * @param {Boolean} [invalidated = false] - true if pixel data has been invalidated and cached rendering should not be used
+ * @returns {void}
+ * @memberof Internal
+ */
+/* harmony default export */ __webpack_exports__["default"] = (function (enabledElement) {
+  var invalidated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+  enabledElement.needsRedraw = true;
+
+  if (invalidated) {
+    enabledElement.invalid = true;
+  }
+});
+
+/***/ }),
+
+/***/ "./internal/drawImageSync.js":
+/*!***********************************!*\
+  !*** ./internal/drawImageSync.js ***!
+  \***********************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./now.js */ "./internal/now.js");
+/* harmony import */ var _drawCompositeImage_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./drawCompositeImage.js */ "./internal/drawCompositeImage.js");
+/* harmony import */ var _rendering_renderColorImage_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../rendering/renderColorImage.js */ "./rendering/renderColorImage.js");
+/* harmony import */ var _rendering_renderGrayscaleImage_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../rendering/renderGrayscaleImage.js */ "./rendering/renderGrayscaleImage.js");
+/* harmony import */ var _rendering_renderPseudoColorImage_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../rendering/renderPseudoColorImage.js */ "./rendering/renderPseudoColorImage.js");
+/* harmony import */ var _rendering_renderLabelMapImage_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../rendering/renderLabelMapImage.js */ "./rendering/renderLabelMapImage.js");
+/* harmony import */ var _triggerEvent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../triggerEvent.js */ "./triggerEvent.js");
+/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../events.js */ "./events.js");
+
+
+
+
+
+
+
+
+/**
+ * Draw an image to a given enabled element synchronously
+ *
+ * @param {EnabledElement} enabledElement An enabled element to draw into
+ * @param {Boolean} invalidated - true if pixel data has been invalidated and cached rendering should not be used
+ * @returns {void}
+ * @memberof Internal
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (enabledElement, invalidated) {
+  var image = enabledElement.image;
+  var element = enabledElement.element;
+  var layers = enabledElement.layers || []; // Check if enabledElement can be redrawn
+
+  if (!enabledElement.canvas || !enabledElement.image) {
+    return;
+  } // Start measuring the time needed to draw the image/layers
+
+
+  var start = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])();
+  image.stats = {
+    lastGetPixelDataTime: -1.0,
+    lastStoredPixelDataToCanvasImageDataTime: -1.0,
+    lastPutImageDataTime: -1.0,
+    lastRenderTime: -1.0,
+    lastLutGenerateTime: -1.0
+  };
+
+  if (layers && layers.length) {
+    Object(_drawCompositeImage_js__WEBPACK_IMPORTED_MODULE_1__["default"])(enabledElement, invalidated);
+  } else if (image) {
+    var render = image.render;
+
+    if (!render) {
+      if (enabledElement.viewport.colormap && enabledElement.viewport.colormap !== '' && enabledElement.image.labelmap === true) {
+        render = _rendering_renderLabelMapImage_js__WEBPACK_IMPORTED_MODULE_5__["renderLabelMapImage"];
+      } else if (enabledElement.viewport.colormap && enabledElement.viewport.colormap !== '') {
+        render = _rendering_renderPseudoColorImage_js__WEBPACK_IMPORTED_MODULE_4__["renderPseudoColorImage"];
+      } else if (image.color) {
+        render = _rendering_renderColorImage_js__WEBPACK_IMPORTED_MODULE_2__["renderColorImage"];
+      } else {
+        render = _rendering_renderGrayscaleImage_js__WEBPACK_IMPORTED_MODULE_3__["renderGrayscaleImage"];
+      }
+    }
+
+    render(enabledElement, invalidated);
+  } // Calculate how long it took to draw the image/layers
+
+
+  var renderTimeInMs = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])() - start;
+  var eventData = {
+    viewport: enabledElement.viewport,
+    element: element,
+    image: image,
+    enabledElement: enabledElement,
+    canvasContext: enabledElement.canvas.getContext('2d', {
+      desynchronized: true
+    }),
+    renderTimeInMs: renderTimeInMs
+  };
+  image.stats.lastRenderTime = renderTimeInMs;
+  enabledElement.invalid = false;
+  enabledElement.needsRedraw = false;
+  Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_6__["default"])(element, _events_js__WEBPACK_IMPORTED_MODULE_7__["default"].IMAGE_RENDERED, eventData);
+});
+
+/***/ }),
+
+/***/ "./internal/generateColorLut.js":
+/*!**************************************!*\
+  !*** ./internal/generateColorLut.js ***!
+  \**************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _getVOILut_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getVOILut.js */ "./internal/getVOILut.js");
+
+/**
+ * Creates a LUT used while rendering to convert stored pixel values to
+ * display pixels
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @param {Number} windowWidth The Window Width
+ * @param {Number} windowCenter The Window Center
+ * @param {Boolean} invert A boolean describing whether or not the image has been inverted
+ * @param {Array} [voiLUT] A Volume of Interest Lookup Table
+ *
+ * @returns {Uint8ClampedArray} A lookup table to apply to the image
+ * @memberof Internal
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (image, windowWidth, windowCenter, invert, voiLUT) {
+  var maxPixelValue = image.maxPixelValue;
+  var minPixelValue = image.minPixelValue;
+  var offset = Math.min(minPixelValue, 0);
+
+  if (image.cachedLut === undefined) {
+    var length = maxPixelValue - offset + 1;
+    image.cachedLut = {};
+    image.cachedLut.lutArray = new Uint8ClampedArray(length);
+  }
+
+  var lut = image.cachedLut.lutArray;
+  var vlutfn = Object(_getVOILut_js__WEBPACK_IMPORTED_MODULE_0__["default"])(windowWidth, windowCenter, voiLUT);
+
+  if (invert === true) {
+    for (var storedValue = minPixelValue; storedValue <= maxPixelValue; storedValue++) {
+      lut[storedValue + -offset] = 255 - vlutfn(storedValue);
+    }
+  } else {
+    for (var _storedValue = minPixelValue; _storedValue <= maxPixelValue; _storedValue++) {
+      lut[_storedValue + -offset] = vlutfn(_storedValue);
+    }
+  }
+
+  return lut;
+});
+
+/***/ }),
+
+/***/ "./internal/generateLut.js":
+/*!*********************************!*\
+  !*** ./internal/generateLut.js ***!
+  \*********************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _getModalityLUT_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getModalityLUT.js */ "./internal/getModalityLUT.js");
+/* harmony import */ var _getVOILut_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getVOILut.js */ "./internal/getVOILut.js");
+
+
+/**
+ * Creates a LUT used while rendering to convert stored pixel values to
+ * display pixels
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @param {Number} windowWidth The Window Width
+ * @param {Number} windowCenter The Window Center
+ * @param {Boolean} invert A boolean describing whether or not the image has been inverted
+ * @param {Array} [modalityLUT] A modality Lookup Table
+ * @param {Array} [voiLUT] A Volume of Interest Lookup Table
+ *
+ * @returns {Uint8ClampedArray} A lookup table to apply to the image
+ * @memberof Internal
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (image, windowWidth, windowCenter, invert, modalityLUT, voiLUT) {
+  var maxPixelValue = image.maxPixelValue;
+  var minPixelValue = image.minPixelValue;
+  var offset = Math.min(minPixelValue, 0);
+
+  if (image.cachedLut === undefined) {
+    var length = maxPixelValue - offset + 1;
+    image.cachedLut = {};
+    image.cachedLut.lutArray = new Uint8ClampedArray(length);
+  }
+
+  var lut = image.cachedLut.lutArray;
+  var slopeOrInterceptAreFloat = Boolean(image.slope % 1) || Boolean(image.intercept % 1);
+  var mlutfn = Object(_getModalityLUT_js__WEBPACK_IMPORTED_MODULE_0__["default"])(image.slope, image.intercept, modalityLUT);
+  var vlutfn = Object(_getVOILut_js__WEBPACK_IMPORTED_MODULE_1__["default"])(windowWidth, windowCenter, voiLUT, slopeOrInterceptAreFloat);
+
+  if (invert === true) {
+    for (var storedValue = minPixelValue; storedValue <= maxPixelValue; storedValue++) {
+      lut[storedValue + -offset] = 255 - vlutfn(mlutfn(storedValue));
+    }
+  } else {
+    for (var _storedValue = minPixelValue; _storedValue <= maxPixelValue; _storedValue++) {
+      lut[_storedValue + -offset] = vlutfn(mlutfn(_storedValue));
+    }
+  }
+
+  return lut;
+});
+
+/***/ }),
+
+/***/ "./internal/getCanvas.js":
+/*!*******************************!*\
+  !*** ./internal/getCanvas.js ***!
+  \*******************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return getCanvas; });
+var CANVAS_CSS_CLASS = 'cornerstone-canvas';
+/**
+ * Create a canvas and append it to the element
+ *
+ * @param {HTMLElement} element An HTML Element
+ * @return {HTMLElement} canvas A Canvas DOM element
+ */
+
+function createCanvas(element) {
+  var canvas = document.createElement('canvas');
+  canvas.style.display = 'block';
+  canvas.classList.add(CANVAS_CSS_CLASS);
+  element.appendChild(canvas);
+  return canvas;
+}
+/**
+ * Create a canvas or returns the one that already exists for a given element
+ *
+ * @param {HTMLElement} element An HTML Element
+ * @return {HTMLElement} canvas A Canvas DOM element
+ */
+
+
+function getCanvas(element) {
+  var selector = "canvas.".concat(CANVAS_CSS_CLASS);
+  return element.querySelector(selector) || createCanvas(element);
+}
+
+/***/ }),
+
+/***/ "./internal/getDefaultViewport.js":
+/*!****************************************!*\
+  !*** ./internal/getDefaultViewport.js ***!
+  \****************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _createViewport_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createViewport.js */ "./internal/createViewport.js");
+/* harmony import */ var _getImageFitScale_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getImageFitScale.js */ "./internal/getImageFitScale.js");
+
+
+/**
+ * Creates a new viewport object containing default values for the image and canvas
+ *
+ * @param {HTMLElement} canvas A Canvas DOM element
+ * @param {Image} image A Cornerstone Image Object
+ * @returns {Viewport} viewport object
+ * @memberof Internal
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (canvas, image) {
+  if (canvas === undefined) {
+    throw new Error('getDefaultViewport: parameter canvas must not be undefined');
+  }
+
+  if (image === undefined) {
+    return Object(_createViewport_js__WEBPACK_IMPORTED_MODULE_0__["default"])();
+  } // Fit image to window
+
+
+  var scale = Object(_getImageFitScale_js__WEBPACK_IMPORTED_MODULE_1__["default"])(canvas, image, 0).scaleFactor;
+  return {
+    scale: scale,
+    translation: {
+      x: 0,
+      y: 0
+    },
+    voi: {
+      windowWidth: image.windowWidth,
+      windowCenter: image.windowCenter
+    },
+    invert: image.invert,
+    pixelReplication: false,
+    rotation: 0,
+    hflip: false,
+    vflip: false,
+    modalityLUT: image.modalityLUT,
+    voiLUT: image.voiLUT,
+    colormap: image.colormap,
+    labelmap: Boolean(image.labelmap),
+    displayedArea: undefined
+  };
+});
+
+/***/ }),
+
+/***/ "./internal/getDisplayedArea.js":
+/*!**************************************!*\
+  !*** ./internal/getDisplayedArea.js ***!
+  \**************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/**
+ * Returns the displayedArea from the viewport if exists or
+ * creates a new displayedArea object containing default values for the image
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @param {Viewport} viewport An optional viewport Object
+ * @returns {DisplayedArea} displayedArea object
+ * @memberof Internal
+ */
+/* harmony default export */ __webpack_exports__["default"] = (function (image) {
+  var viewport = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
+
+  if (viewport && viewport.displayedArea) {
+    return viewport.displayedArea;
+  }
+
+  if (image === undefined) {
+    throw new Error('getDisplayedArea: parameter image must not be undefined');
+  }
+
+  return {
+    tlhc: {
+      x: 1,
+      y: 1
+    },
+    brhc: {
+      x: image.columns,
+      y: image.rows
+    },
+    rowPixelSpacing: image.rowPixelSpacing === undefined ? 1 : image.rowPixelSpacing,
+    columnPixelSpacing: image.columnPixelSpacing === undefined ? 1 : image.columnPixelSpacing,
+    presentationSizeMode: 'NONE'
+  };
+});
+
+/***/ }),
+
+/***/ "./internal/getFillStyle.js":
+/*!**********************************!*\
+  !*** ./internal/getFillStyle.js ***!
+  \**********************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/**
+ * Get current fillStyle for enabled element
+ *
+ * @param {Object} enabledElement Enabled element
+ * @returns {String} Current fillStyle of enabled element
+ */
+/* harmony default export */ __webpack_exports__["default"] = (function (enabledElement) {
+  var _ref = enabledElement.viewport || {},
+      invert = _ref.invert;
+
+  var _ref2 = enabledElement.options || {},
+      fillStyle = _ref2.fillStyle;
+
+  if (['black', 'white'].indexOf(fillStyle) !== -1) {
+    return invert ? 'white' : 'black';
+  }
+
+  return 'black';
+});
+
+/***/ }),
+
+/***/ "./internal/getImageFitScale.js":
+/*!**************************************!*\
+  !*** ./internal/getImageFitScale.js ***!
+  \**************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _validator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validator.js */ "./internal/validator.js");
+/* harmony import */ var _getImageSize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getImageSize.js */ "./internal/getImageSize.js");
+
+
+/**
+ * Calculates the horizontal, vertical and minimum scale factor for an image
+   @param {{width, height}} windowSize The window size where the image is displayed. This can be any HTML element or structure with a width, height fields (e.g. canvas).
+ * @param {any} image The cornerstone image object
+ * @param {Number} rotation Optional. The rotation angle of the image.
+ * @return {{horizontalScale, verticalScale, scaleFactor}} The calculated horizontal, vertical and minimum scale factor
+ * @memberof Internal
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (windowSize, image) {
+  var rotation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
+  Object(_validator_js__WEBPACK_IMPORTED_MODULE_0__["validateParameterUndefinedOrNull"])(windowSize, 'getImageScale: parameter windowSize must not be undefined');
+  Object(_validator_js__WEBPACK_IMPORTED_MODULE_0__["validateParameterUndefinedOrNull"])(image, 'getImageScale: parameter image must not be undefined');
+  var imageSize = Object(_getImageSize_js__WEBPACK_IMPORTED_MODULE_1__["default"])(image, rotation);
+  var rowPixelSpacing = image.rowPixelSpacing || 1;
+  var columnPixelSpacing = image.columnPixelSpacing || 1;
+  var verticalRatio = 1;
+  var horizontalRatio = 1;
+
+  if (rowPixelSpacing < columnPixelSpacing) {
+    horizontalRatio = columnPixelSpacing / rowPixelSpacing;
+  } else {
+    // even if they are equal we want to calculate this ratio (the ration might be 0.5)
+    verticalRatio = rowPixelSpacing / columnPixelSpacing;
+  }
+
+  var verticalScale = windowSize.height / imageSize.height / verticalRatio;
+  var horizontalScale = windowSize.width / imageSize.width / horizontalRatio; // Fit image to window
+
+  return {
+    verticalScale: verticalScale,
+    horizontalScale: horizontalScale,
+    scaleFactor: Math.min(horizontalScale, verticalScale)
+  };
+});
+
+/***/ }),
+
+/***/ "./internal/getImageSize.js":
+/*!**********************************!*\
+  !*** ./internal/getImageSize.js ***!
+  \**********************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _validator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validator.js */ "./internal/validator.js");
+
+/**
+ * Check if the angle is rotated
+ * @param {Number} rotation the rotation angle
+ * @returns {Boolean} true if the angle is rotated; Otherwise, false.
+ * @memberof Internal
+ */
+
+function isRotated(rotation) {
+  return !(rotation === null || rotation === undefined || rotation === 0 || rotation === 180);
+}
+/**
+ * Retrieves the current image dimensions given an enabled element
+ *
+ * @param {any} image The Cornerstone image.
+ * @param {Number} rotation Optional. The rotation angle of the image.
+ * @return {{width:Number, height:Number}} The Image dimensions
+ * @memberof Internal
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (function (image) {
+  var rotation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
+  Object(_validator_js__WEBPACK_IMPORTED_MODULE_0__["validateParameterUndefinedOrNull"])(image, 'getImageSize: parameter image must not be undefined');
+  Object(_validator_js__WEBPACK_IMPORTED_MODULE_0__["validateParameterUndefinedOrNull"])(image.width, 'getImageSize: parameter image must have width');
+  Object(_validator_js__WEBPACK_IMPORTED_MODULE_0__["validateParameterUndefinedOrNull"])(image.height, 'getImageSize: parameter image must have height');
+
+  if (isRotated(rotation)) {
+    return {
+      height: image.width,
+      width: image.height
+    };
+  }
+
+  return {
+    width: image.width,
+    height: image.height
+  };
+});
+
+/***/ }),
+
+/***/ "./internal/getModalityLUT.js":
+/*!************************************!*\
+  !*** ./internal/getModalityLUT.js ***!
+  \************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/**
+ * Generates a linear modality transformation function
+ *
+ * See DICOM PS3.3 C.11.1 Modality LUT Module
+ *
+ * http://dicom.nema.org/medical/Dicom/current/output/chtml/part03/sect_C.11.html
+ *
+ * @param {Number} slope m in the equation specified by Rescale Intercept (0028,1052).
+ * @param {Number} intercept The value b in relationship between stored values (SV) and the output units specified in Rescale Type (0028,1054).
+
+ Output units = m*SV + b.
+ * @return {function(*): *} A linear modality LUT function. Given a stored pixel it returns the modality pixel value
+ * @memberof Internal
+ */
+function generateLinearModalityLUT(slope, intercept) {
+  return function (storedPixelValue) {
+    return storedPixelValue * slope + intercept;
+  };
+}
+
+function generateNonLinearModalityLUT(modalityLUT) {
+  var minValue = modalityLUT.lut[0];
+  var maxValue = modalityLUT.lut[modalityLUT.lut.length - 1];
+  var maxValueMapped = modalityLUT.firstValueMapped + modalityLUT.lut.length;
+  return function (storedPixelValue) {
+    if (storedPixelValue < modalityLUT.firstValueMapped) {
+      return minValue;
+    } else if (storedPixelValue >= maxValueMapped) {
+      return maxValue;
+    }
+
+    return modalityLUT.lut[storedPixelValue];
+  };
+}
+/**
+ * Get the appropriate Modality LUT for the current situation.
+ *
+ * @param {Number} [slope] m in the equation specified by Rescale Intercept (0028,1052).
+ * @param {Number} [intercept] The value b in relationship between stored values (SV) and the output units specified in Rescale Type (0028,1054).
+ * @param {Function} [modalityLUT] A modality LUT function. Given a stored pixel it returns the modality pixel value.
+ *
+ * @return {function(*): *} A modality LUT function. Given a stored pixel it returns the modality pixel value.
+ * @memberof Internal
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (function (slope, intercept, modalityLUT) {
+  if (modalityLUT) {
+    return generateNonLinearModalityLUT(modalityLUT);
+  }
+
+  return generateLinearModalityLUT(slope, intercept);
+});
+
+/***/ }),
+
+/***/ "./internal/getTransform.js":
+/*!**********************************!*\
+  !*** ./internal/getTransform.js ***!
+  \**********************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _calculateTransform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./calculateTransform.js */ "./internal/calculateTransform.js");
+
+/* harmony default export */ __webpack_exports__["default"] = (function (enabledElement) {
+  // For now we will calculate it every time it is requested.
+  // In the future, we may want to cache it in the enabled element to speed things up.
+  return Object(_calculateTransform_js__WEBPACK_IMPORTED_MODULE_0__["default"])(enabledElement);
+});
+
+/***/ }),
+
+/***/ "./internal/getVOILut.js":
+/*!*******************************!*\
+  !*** ./internal/getVOILut.js ***!
+  \*******************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
+
+function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
+
+function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+/* eslint no-bitwise: 0 */
+
+/**
+ * Volume of Interest Lookup Table Function
+ *
+ * @typedef {Function} VOILUTFunction
+ *
+ * @param {Number} modalityLutValue
+ * @returns {Number} transformed value
+ * @memberof Objects
+ */
+
+/**
+ * @module: VOILUT
+ */
+
+/**
+ *
+ * @param {Number} windowWidth Window Width
+ * @param {Number} windowCenter Window Center
+ * @returns {VOILUTFunction} VOI LUT mapping function
+ * @memberof VOILUT
+ */
+function generateLinearVOILUT(windowWidth, windowCenter) {
+  return function (modalityLutValue) {
+    return ((modalityLutValue - windowCenter) / windowWidth + 0.5) * 255.0;
+  };
+}
+/**
+ * Generate a non-linear volume of interest lookup table
+ *
+ * @param {LUT} voiLUT Volume of Interest Lookup Table Object
+ * @param {Boolean} roundModalityLUTValues Do a Math.round of modality lut to compute non linear voilut
+
+ *
+ * @returns {VOILUTFunction} VOI LUT mapping function
+ * @memberof VOILUT
+ */
+
+
+function generateNonLinearVOILUT(voiLUT, roundModalityLUTValues) {
+  // We don't trust the voiLUT.numBitsPerEntry, mainly thanks to Agfa!
+  var bitsPerEntry = Math.max.apply(Math, _toConsumableArray(voiLUT.lut)).toString(2).length;
+  var shift = bitsPerEntry - 8;
+  var minValue = voiLUT.lut[0] >> shift;
+  var maxValue = voiLUT.lut[voiLUT.lut.length - 1] >> shift;
+  var maxValueMapped = voiLUT.firstValueMapped + voiLUT.lut.length - 1;
+  return function (modalityLutValue) {
+    if (modalityLutValue < voiLUT.firstValueMapped) {
+      return minValue;
+    } else if (modalityLutValue >= maxValueMapped) {
+      return maxValue;
+    }
+
+    if (roundModalityLUTValues) {
+      return voiLUT.lut[Math.round(modalityLutValue) - voiLUT.firstValueMapped] >> shift;
+    }
+
+    return voiLUT.lut[modalityLutValue - voiLUT.firstValueMapped] >> shift;
+  };
+}
+/**
+ * Retrieve a VOI LUT mapping function given the current windowing settings
+ * and the VOI LUT for the image
+ *
+ * @param {Number} windowWidth Window Width
+ * @param {Number} windowCenter Window Center
+ * @param {LUT} [voiLUT] Volume of Interest Lookup Table Object
+ * @param {Boolean} roundModalityLUTValues Do a Math.round of modality lut to compute non linear voilut
+ *
+ * @return {VOILUTFunction} VOI LUT mapping function
+ * @memberof VOILUT
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (function (windowWidth, windowCenter, voiLUT, roundModalityLUTValues) {
+  if (voiLUT) {
+    return generateNonLinearVOILUT(voiLUT, roundModalityLUTValues);
+  }
+
+  return generateLinearVOILUT(windowWidth, windowCenter);
+});
+
+/***/ }),
+
+/***/ "./internal/guid.js":
+/*!**************************!*\
+  !*** ./internal/guid.js ***!
+  \**************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+function s4() {
+  return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
+}
+/**
+ * Generate a unique identifier
+ *
+ * @return {string} A unique identifier
+ * @memberof Internal
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+  return "".concat(s4() + s4(), "-").concat(s4(), "-").concat(s4(), "-").concat(s4(), "-").concat(s4()).concat(s4()).concat(s4());
+});
+
+/***/ }),
+
+/***/ "./internal/index.js":
+/*!***************************!*\
+  !*** ./internal/index.js ***!
+  \***************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _transform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transform.js */ "./internal/transform.js");
+/* harmony import */ var _calculateTransform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./calculateTransform.js */ "./internal/calculateTransform.js");
+/* harmony import */ var _drawImage_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./drawImage.js */ "./internal/drawImage.js");
+/* harmony import */ var _generateLut_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./generateLut.js */ "./internal/generateLut.js");
+/* harmony import */ var _getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getDefaultViewport.js */ "./internal/getDefaultViewport.js");
+/* harmony import */ var _getTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getTransform.js */ "./internal/getTransform.js");
+/* harmony import */ var _requestAnimationFrame_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./requestAnimationFrame.js */ "./internal/requestAnimationFrame.js");
+/* harmony import */ var _setDefaultViewport_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./setDefaultViewport.js */ "./internal/setDefaultViewport.js");
+/* harmony import */ var _storedColorPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./storedColorPixelDataToCanvasImageData.js */ "./internal/storedColorPixelDataToCanvasImageData.js");
+/* harmony import */ var _storedPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./storedPixelDataToCanvasImageData.js */ "./internal/storedPixelDataToCanvasImageData.js");
+/* harmony import */ var _storedPixelDataToCanvasImageDataColorLUT_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./storedPixelDataToCanvasImageDataColorLUT.js */ "./internal/storedPixelDataToCanvasImageDataColorLUT.js");
+/* harmony import */ var _storedPixelDataToCanvasImageDataPseudocolorLUT_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./storedPixelDataToCanvasImageDataPseudocolorLUT.js */ "./internal/storedPixelDataToCanvasImageDataPseudocolorLUT.js");
+/* harmony import */ var _storedPixelDataToCanvasImageDataRGBA_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./storedPixelDataToCanvasImageDataRGBA.js */ "./internal/storedPixelDataToCanvasImageDataRGBA.js");
+
+
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * @module Internal
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = ({
+  drawImage: _drawImage_js__WEBPACK_IMPORTED_MODULE_2__["default"],
+  generateLut: _generateLut_js__WEBPACK_IMPORTED_MODULE_3__["default"],
+  getDefaultViewport: _getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_4__["default"],
+  requestAnimationFrame: _requestAnimationFrame_js__WEBPACK_IMPORTED_MODULE_6__["default"],
+  setDefaultViewport: _setDefaultViewport_js__WEBPACK_IMPORTED_MODULE_7__["default"],
+  storedPixelDataToCanvasImageData: _storedPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_9__["default"],
+  storedPixelDataToCanvasImageDataRGBA: _storedPixelDataToCanvasImageDataRGBA_js__WEBPACK_IMPORTED_MODULE_12__["default"],
+  storedPixelDataToCanvasImageDataColorLUT: _storedPixelDataToCanvasImageDataColorLUT_js__WEBPACK_IMPORTED_MODULE_10__["default"],
+  storedPixelDataToCanvasImageDataPseudocolorLUT: _storedPixelDataToCanvasImageDataPseudocolorLUT_js__WEBPACK_IMPORTED_MODULE_11__["default"],
+  storedColorPixelDataToCanvasImageData: _storedColorPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_8__["default"],
+  getTransform: _getTransform_js__WEBPACK_IMPORTED_MODULE_5__["default"],
+  calculateTransform: _calculateTransform_js__WEBPACK_IMPORTED_MODULE_1__["default"],
+  Transform: _transform_js__WEBPACK_IMPORTED_MODULE_0__["Transform"]
+});
+
+/***/ }),
+
+/***/ "./internal/now.js":
+/*!*************************!*\
+  !*** ./internal/now.js ***!
+  \*************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/**
+ * @module Polyfills
+ */
+
+/**
+ * Use the performance.now() method if possible, and if not, use Date.now()
+ *
+ * @return {number} Time elapsed since the time origin
+ * @memberof Polyfills
+ */
+/* harmony default export */ __webpack_exports__["default"] = (function () {
+  if (window.performance) {
+    return performance.now();
+  }
+
+  return Date.now();
+});
+
+/***/ }),
+
+/***/ "./internal/requestAnimationFrame.js":
+/*!*******************************************!*\
+  !*** ./internal/requestAnimationFrame.js ***!
+  \*******************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+function requestFrame(callback) {
+  window.setTimeout(callback, 1000 / 60);
+}
+/**
+ * Polyfills requestAnimationFrame for older browsers.
+ *
+ * @param {Function} callback A parameter specifying a function to call when it's time to update your animation for the next repaint. The callback has one single argument, a DOMHighResTimeStamp, which indicates the current time (the time returned from performance.now() ) for when requestAnimationFrame starts to fire callbacks.
+ *
+ * @return {Number} A long integer value, the request id, that uniquely identifies the entry in the callback list. This is a non-zero value, but you may not make any other assumptions about its value. You can pass this value to window.cancelAnimationFrame() to cancel the refresh callback request.
+ * @memberof Polyfills
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (function (callback) {
+  return window.requestAnimationFrame(callback) || window.webkitRequestAnimationFrame(callback) || window.mozRequestAnimationFrame(callback) || window.oRequestAnimationFrame(callback) || window.msRequestAnimationFrame(callback) || requestFrame(callback);
+});
+
+/***/ }),
+
+/***/ "./internal/setDefaultViewport.js":
+/*!****************************************!*\
+  !*** ./internal/setDefaultViewport.js ***!
+  \****************************************/
+/*! exports provided: default, state */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; });
+var state = {
+  viewport: {}
+};
+/**
+ * Sets new default values for `getDefaultViewport`
+ *
+ * @param {Object} viewport - Object that sets new default values for getDefaultViewport
+ * @returns {undefined}
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (viewport) {
+  state.viewport = viewport || {};
+});
+
+
+/***/ }),
+
+/***/ "./internal/storedColorPixelDataToCanvasImageData.js":
+/*!***********************************************************!*\
+  !*** ./internal/storedColorPixelDataToCanvasImageData.js ***!
+  \***********************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./now.js */ "./internal/now.js");
+
+/**
+ * Converts stored color pixel values to display pixel values using a LUT.
+ *
+ * Note: Skips alpha value for any input image pixel data.
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @param {Array} lut Lookup table array
+ * @param {Uint8ClampedArray} canvasImageDataData canvasImageData.data buffer filled with white pixels
+ *
+ * @returns {void}
+ * @memberof Internal
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (image, lut, canvasImageDataData) {
+  var start = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])();
+  var pixelData = image.getPixelData();
+  image.stats.lastGetPixelDataTime = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])() - start;
+  var minPixelValue = image.minPixelValue;
+  var canvasImageDataIndex = 0;
+  var storedPixelDataIndex = 0;
+  var numPixels = pixelData.length; // NOTE: As of Nov 2014, most javascript engines have lower performance when indexing negative indexes.
+  // We have a special code path for this case that improves performance.  Thanks to @jpambrun for this enhancement
+
+  start = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])();
+
+  if (minPixelValue < 0) {
+    while (storedPixelDataIndex < numPixels) {
+      canvasImageDataData[canvasImageDataIndex++] = lut[pixelData[storedPixelDataIndex++] + -minPixelValue]; // Red
+
+      canvasImageDataData[canvasImageDataIndex++] = lut[pixelData[storedPixelDataIndex++] + -minPixelValue]; // Green
+
+      canvasImageDataData[canvasImageDataIndex] = lut[pixelData[storedPixelDataIndex] + -minPixelValue]; // Blue
+
+      storedPixelDataIndex += 2;
+      canvasImageDataIndex += 2;
+    }
+  } else {
+    while (storedPixelDataIndex < numPixels) {
+      canvasImageDataData[canvasImageDataIndex++] = lut[pixelData[storedPixelDataIndex++]]; // Red
+
+      canvasImageDataData[canvasImageDataIndex++] = lut[pixelData[storedPixelDataIndex++]]; // Green
+
+      canvasImageDataData[canvasImageDataIndex] = lut[pixelData[storedPixelDataIndex]]; // Blue
+
+      storedPixelDataIndex += 2;
+      canvasImageDataIndex += 2;
+    }
+  }
+
+  image.stats.lastStoredPixelDataToCanvasImageDataTime = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])() - start;
+});
+
+/***/ }),
+
+/***/ "./internal/storedPixelDataToCanvasImageData.js":
+/*!******************************************************!*\
+  !*** ./internal/storedPixelDataToCanvasImageData.js ***!
+  \******************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./now.js */ "./internal/now.js");
+
+/**
+ * This function transforms stored pixel values into a canvas image data buffer
+ * by using a LUT.  This is the most performance sensitive code in cornerstone and
+ * we use a special trick to make this go as fast as possible.  Specifically we
+ * use the alpha channel only to control the luminance rather than the red, green and
+ * blue channels which makes it over 3x faster. The canvasImageDataData buffer needs
+ * to be previously filled with white pixels.
+ *
+ * NOTE: Attribution would be appreciated if you use this technique!
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @param {Array} lut Lookup table array
+ * @param {Uint8ClampedArray} canvasImageDataData canvasImageData.data buffer filled with white pixels
+ *
+ * @returns {void}
+ * @memberof Internal
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (image, lut, canvasImageDataData) {
+  var start = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])();
+  var pixelData = image.getPixelData();
+  image.stats.lastGetPixelDataTime = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])() - start;
+  var numPixels = pixelData.length;
+  var minPixelValue = image.minPixelValue;
+  var canvasImageDataIndex = 3;
+  var storedPixelDataIndex = 0; // NOTE: As of Nov 2014, most javascript engines have lower performance when indexing negative indexes.
+  // We have a special code path for this case that improves performance.  Thanks to @jpambrun for this enhancement
+  // Added two paths (Int16Array, Uint16Array) to avoid polymorphic deoptimization in chrome.
+
+  start = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])();
+
+  if (pixelData instanceof Int16Array) {
+    if (minPixelValue < 0) {
+      while (storedPixelDataIndex < numPixels) {
+        canvasImageDataData[canvasImageDataIndex] = lut[pixelData[storedPixelDataIndex++] + -minPixelValue]; // Alpha
+
+        canvasImageDataIndex += 4;
+      }
+    } else {
+      while (storedPixelDataIndex < numPixels) {
+        canvasImageDataData[canvasImageDataIndex] = lut[pixelData[storedPixelDataIndex++]]; // Alpha
+
+        canvasImageDataIndex += 4;
+      }
+    }
+  } else if (pixelData instanceof Uint16Array) {
+    while (storedPixelDataIndex < numPixels) {
+      canvasImageDataData[canvasImageDataIndex] = lut[pixelData[storedPixelDataIndex++]]; // Alpha
+
+      canvasImageDataIndex += 4;
+    }
+  } else if (minPixelValue < 0) {
+    while (storedPixelDataIndex < numPixels) {
+      canvasImageDataData[canvasImageDataIndex] = lut[pixelData[storedPixelDataIndex++] + -minPixelValue]; // Alpha
+
+      canvasImageDataIndex += 4;
+    }
+  } else {
+    while (storedPixelDataIndex < numPixels) {
+      canvasImageDataData[canvasImageDataIndex] = lut[pixelData[storedPixelDataIndex++]]; // Alpha
+
+      canvasImageDataIndex += 4;
+    }
+  }
+
+  image.stats.lastStoredPixelDataToCanvasImageDataTime = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])() - start;
+});
+
+/***/ }),
+
+/***/ "./internal/storedPixelDataToCanvasImageDataColorLUT.js":
+/*!**************************************************************!*\
+  !*** ./internal/storedPixelDataToCanvasImageDataColorLUT.js ***!
+  \**************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _colors_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../colors/index.js */ "./colors/index.js");
+/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./now.js */ "./internal/now.js");
+
+
+/**
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @param {LookupTable|Array} colorLut Lookup table array
+ * @param {Uint8ClampedArray} canvasImageDataData canvasImageData.data buffer filled with white pixels
+ *
+ * @returns {void}
+ * @memberof Internal
+ */
+
+function storedPixelDataToCanvasImageDataColorLUT(image, colorLut, canvasImageDataData) {
+  var start = Object(_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])();
+  var pixelData = image.getPixelData();
+  image.stats.lastGetPixelDataTime = Object(_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])() - start;
+  var numPixels = pixelData.length;
+  var minPixelValue = image.minPixelValue;
+  var canvasImageDataIndex = 0;
+  var storedPixelDataIndex = 0;
+  var rgba;
+  var clut;
+  start = Object(_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])();
+
+  if (colorLut instanceof _colors_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].LookupTable) {
+    clut = colorLut.Table;
+  } else {
+    clut = colorLut;
+  }
+
+  if (minPixelValue < 0) {
+    while (storedPixelDataIndex < numPixels) {
+      rgba = clut[pixelData[storedPixelDataIndex++] + -minPixelValue];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[0];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[1];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[2];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[3];
+    }
+  } else {
+    while (storedPixelDataIndex < numPixels) {
+      rgba = clut[pixelData[storedPixelDataIndex++]];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[0];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[1];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[2];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[3];
+    }
+  }
+
+  image.stats.lastStoredPixelDataToCanvasImageDataTime = Object(_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])() - start;
+}
+
+/* harmony default export */ __webpack_exports__["default"] = (storedPixelDataToCanvasImageDataColorLUT);
+
+/***/ }),
+
+/***/ "./internal/storedPixelDataToCanvasImageDataPseudocolorLUT.js":
+/*!********************************************************************!*\
+  !*** ./internal/storedPixelDataToCanvasImageDataPseudocolorLUT.js ***!
+  \********************************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _colors_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../colors/index.js */ "./colors/index.js");
+/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./now.js */ "./internal/now.js");
+
+
+/**
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @param {Array} grayscaleLut Lookup table array
+ * @param {LookupTable|Array} colorLut Lookup table array
+ * @param {Uint8ClampedArray} canvasImageDataData canvasImageData.data buffer filled with white pixels
+ *
+ * @returns {void}
+ * @memberof Internal
+ */
+
+function storedPixelDataToCanvasImageDataPseudocolorLUT(image, grayscaleLut, colorLut, canvasImageDataData) {
+  var start = Object(_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])();
+  var pixelData = image.getPixelData();
+  image.stats.lastGetPixelDataTime = Object(_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])() - start;
+  var numPixels = pixelData.length;
+  var minPixelValue = image.minPixelValue;
+  var canvasImageDataIndex = 0;
+  var storedPixelDataIndex = 0;
+  var grayscale;
+  var rgba;
+  var clut;
+  start = Object(_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])();
+
+  if (colorLut instanceof _colors_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].LookupTable) {
+    clut = colorLut.Table;
+  } else {
+    clut = colorLut;
+  }
+
+  if (minPixelValue < 0) {
+    while (storedPixelDataIndex < numPixels) {
+      grayscale = grayscaleLut[pixelData[storedPixelDataIndex++] + -minPixelValue];
+      rgba = clut[grayscale];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[0];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[1];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[2];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[3];
+    }
+  } else {
+    while (storedPixelDataIndex < numPixels) {
+      grayscale = grayscaleLut[pixelData[storedPixelDataIndex++]];
+      rgba = clut[grayscale];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[0];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[1];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[2];
+      canvasImageDataData[canvasImageDataIndex++] = rgba[3];
+    }
+  }
+
+  image.stats.lastStoredPixelDataToCanvasImageDataTime = Object(_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])() - start;
+}
+
+/* harmony default export */ __webpack_exports__["default"] = (storedPixelDataToCanvasImageDataPseudocolorLUT);
+
+/***/ }),
+
+/***/ "./internal/storedPixelDataToCanvasImageDataRGBA.js":
+/*!**********************************************************!*\
+  !*** ./internal/storedPixelDataToCanvasImageDataRGBA.js ***!
+  \**********************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./now.js */ "./internal/now.js");
+
+/**
+ * This function transforms stored pixel values into a canvas image data buffer
+ * by using a LUT.
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @param {Array} lut Lookup table array
+ * @param {Uint8ClampedArray} canvasImageDataData canvasImageData.data buffer filled with white pixels
+ *
+ * @returns {void}
+ * @memberof Internal
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (image, lut, canvasImageDataData) {
+  var start = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])();
+  var pixelData = image.getPixelData();
+  image.stats.lastGetPixelDataTime = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])() - start;
+  var numPixels = pixelData.length;
+  var minPixelValue = image.minPixelValue;
+  var canvasImageDataIndex = 0;
+  var storedPixelDataIndex = 0;
+  var pixelValue; // NOTE: As of Nov 2014, most javascript engines have lower performance when indexing negative indexes.
+  // We have a special code path for this case that improves performance.  Thanks to @jpambrun for this enhancement
+  // Added two paths (Int16Array, Uint16Array) to avoid polymorphic deoptimization in chrome.
+
+  start = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])();
+
+  if (pixelData instanceof Int16Array) {
+    if (minPixelValue < 0) {
+      while (storedPixelDataIndex < numPixels) {
+        pixelValue = lut[pixelData[storedPixelDataIndex++] + -minPixelValue];
+        canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+        canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+        canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+        canvasImageDataData[canvasImageDataIndex++] = 255; // Alpha
+      }
+    } else {
+      while (storedPixelDataIndex < numPixels) {
+        pixelValue = lut[pixelData[storedPixelDataIndex++]];
+        canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+        canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+        canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+        canvasImageDataData[canvasImageDataIndex++] = 255; // Alpha
+      }
+    }
+  } else if (pixelData instanceof Uint16Array) {
+    while (storedPixelDataIndex < numPixels) {
+      pixelValue = lut[pixelData[storedPixelDataIndex++]];
+      canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+      canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+      canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+      canvasImageDataData[canvasImageDataIndex++] = 255; // Alpha
+    }
+  } else if (minPixelValue < 0) {
+    while (storedPixelDataIndex < numPixels) {
+      pixelValue = lut[pixelData[storedPixelDataIndex++] + -minPixelValue];
+      canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+      canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+      canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+      canvasImageDataData[canvasImageDataIndex++] = 255; // Alpha
+    }
+  } else {
+    while (storedPixelDataIndex < numPixels) {
+      pixelValue = lut[pixelData[storedPixelDataIndex++]];
+      canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+      canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+      canvasImageDataData[canvasImageDataIndex++] = pixelValue;
+      canvasImageDataData[canvasImageDataIndex++] = 255; // Alpha
+    }
+  }
+
+  image.stats.lastStoredPixelDataToCanvasImageDataTime = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])() - start;
+});
+
+/***/ }),
+
+/***/ "./internal/storedRGBAPixelDataToCanvasImageData.js":
+/*!**********************************************************!*\
+  !*** ./internal/storedRGBAPixelDataToCanvasImageData.js ***!
+  \**********************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _now_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./now.js */ "./internal/now.js");
+
+/**
+ * Converts stored RGBA color pixel values to display pixel values using a LUT.
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @param {Array} lut Lookup table array
+ * @param {Uint8ClampedArray} canvasImageDataData canvasImageData.data buffer filled with white pixels
+ *
+ * @returns {void}
+ * @memberof Internal
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (image, lut, canvasImageDataData) {
+  var start = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])();
+  var pixelData = image.getPixelData();
+  image.stats.lastGetPixelDataTime = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])() - start;
+  var minPixelValue = image.minPixelValue;
+  var canvasImageDataIndex = 0;
+  var storedPixelDataIndex = 0;
+  var numPixels = pixelData.length; // NOTE: As of Nov 2014, most javascript engines have lower performance when indexing negative indexes.
+  // We have a special code path for this case that improves performance.  Thanks to @jpambrun for this enhancement
+
+  start = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])();
+
+  if (minPixelValue < 0) {
+    while (storedPixelDataIndex < numPixels) {
+      canvasImageDataData[canvasImageDataIndex++] = lut[pixelData[storedPixelDataIndex++] + -minPixelValue]; // Red
+
+      canvasImageDataData[canvasImageDataIndex++] = lut[pixelData[storedPixelDataIndex++] + -minPixelValue]; // Green
+
+      canvasImageDataData[canvasImageDataIndex++] = lut[pixelData[storedPixelDataIndex++] + -minPixelValue]; // Blue
+
+      canvasImageDataData[canvasImageDataIndex++] = pixelData[storedPixelDataIndex++];
+    }
+  } else {
+    while (storedPixelDataIndex < numPixels) {
+      canvasImageDataData[canvasImageDataIndex++] = lut[pixelData[storedPixelDataIndex++]]; // Red
+
+      canvasImageDataData[canvasImageDataIndex++] = lut[pixelData[storedPixelDataIndex++]]; // Green
+
+      canvasImageDataData[canvasImageDataIndex++] = lut[pixelData[storedPixelDataIndex++]]; // Blue
+
+      canvasImageDataData[canvasImageDataIndex++] = pixelData[storedPixelDataIndex++];
+    }
+  }
+
+  image.stats.lastStoredPixelDataToCanvasImageDataTime = Object(_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])() - start;
+});
+
+/***/ }),
+
+/***/ "./internal/transform.js":
+/*!*******************************!*\
+  !*** ./internal/transform.js ***!
+  \*******************************/
+/*! exports provided: Transform */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Transform", function() { return Transform; });
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+// By Simon Sarris
+// Www.simonsarris.com
+// Sarris@acm.org
+//
+// Free to use and distribute at will
+// So long as you are nice to people, etc
+// Simple class for keeping track of the current transformation matrix
+// For instance:
+//    Var t = new Transform();
+//    T.rotate(5);
+//    Var m = t.m;
+//    Ctx.setTransform(m[0], m[1], m[2], m[3], m[4], m[5]);
+// Is equivalent to:
+//    Ctx.rotate(5);
+// But now you can retrieve it :)
+// Remember that this does not account for any CSS transforms applied to the canvas
+var Transform = /*#__PURE__*/function () {
+  function Transform() {
+    _classCallCheck(this, Transform);
+
+    this.reset();
+  }
+
+  _createClass(Transform, [{
+    key: "reset",
+    value: function reset() {
+      this.m = [1, 0, 0, 1, 0, 0];
+    }
+  }, {
+    key: "clone",
+    value: function clone() {
+      var transform = new Transform();
+      transform.m[0] = this.m[0];
+      transform.m[1] = this.m[1];
+      transform.m[2] = this.m[2];
+      transform.m[3] = this.m[3];
+      transform.m[4] = this.m[4];
+      transform.m[5] = this.m[5];
+      return transform;
+    }
+  }, {
+    key: "multiply",
+    value: function multiply(matrix) {
+      var m11 = this.m[0] * matrix.m[0] + this.m[2] * matrix.m[1];
+      var m12 = this.m[1] * matrix.m[0] + this.m[3] * matrix.m[1];
+      var m21 = this.m[0] * matrix.m[2] + this.m[2] * matrix.m[3];
+      var m22 = this.m[1] * matrix.m[2] + this.m[3] * matrix.m[3];
+      var dx = this.m[0] * matrix.m[4] + this.m[2] * matrix.m[5] + this.m[4];
+      var dy = this.m[1] * matrix.m[4] + this.m[3] * matrix.m[5] + this.m[5];
+      this.m[0] = m11;
+      this.m[1] = m12;
+      this.m[2] = m21;
+      this.m[3] = m22;
+      this.m[4] = dx;
+      this.m[5] = dy;
+    }
+  }, {
+    key: "invert",
+    value: function invert() {
+      var d = 1 / (this.m[0] * this.m[3] - this.m[1] * this.m[2]);
+      var m0 = this.m[3] * d;
+      var m1 = -this.m[1] * d;
+      var m2 = -this.m[2] * d;
+      var m3 = this.m[0] * d;
+      var m4 = d * (this.m[2] * this.m[5] - this.m[3] * this.m[4]);
+      var m5 = d * (this.m[1] * this.m[4] - this.m[0] * this.m[5]);
+      this.m[0] = m0;
+      this.m[1] = m1;
+      this.m[2] = m2;
+      this.m[3] = m3;
+      this.m[4] = m4;
+      this.m[5] = m5;
+    }
+  }, {
+    key: "rotate",
+    value: function rotate(rad) {
+      var c = Math.cos(rad);
+      var s = Math.sin(rad);
+      var m11 = this.m[0] * c + this.m[2] * s;
+      var m12 = this.m[1] * c + this.m[3] * s;
+      var m21 = this.m[0] * -s + this.m[2] * c;
+      var m22 = this.m[1] * -s + this.m[3] * c;
+      this.m[0] = m11;
+      this.m[1] = m12;
+      this.m[2] = m21;
+      this.m[3] = m22;
+    }
+  }, {
+    key: "translate",
+    value: function translate(x, y) {
+      this.m[4] += this.m[0] * x + this.m[2] * y;
+      this.m[5] += this.m[1] * x + this.m[3] * y;
+    }
+  }, {
+    key: "scale",
+    value: function scale(sx, sy) {
+      this.m[0] *= sx;
+      this.m[1] *= sx;
+      this.m[2] *= sy;
+      this.m[3] *= sy;
+    }
+  }, {
+    key: "transformPoint",
+    value: function transformPoint(px, py) {
+      var x = px;
+      var y = py;
+      px = x * this.m[0] + y * this.m[2] + this.m[4];
+      py = x * this.m[1] + y * this.m[3] + this.m[5];
+      return {
+        x: px,
+        y: py
+      };
+    }
+  }]);
+
+  return Transform;
+}();
+
+/***/ }),
+
+/***/ "./internal/tryEnableWebgl.js":
+/*!************************************!*\
+  !*** ./internal/tryEnableWebgl.js ***!
+  \************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _webgl_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../webgl/index.js */ "./webgl/index.js");
+
+/**
+ * Checks if webGL is supported and initializes the rendering engine.
+ * @param {any} options Options to check if webgl rendering is requested (e.g. enable webgl by passing {renderer: 'webgl'})
+ * @returns {Boolean} true if webgl rendering has been successfully initialized. Otherwise, false.
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (options) {
+  if (_webgl_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].renderer.isWebGLAvailable()) {
+    // If WebGL is available on the device, initialize the renderer
+    // And return the renderCanvas from the WebGL rendering path
+    _webgl_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].renderer.initRenderer();
+    options.renderer = 'webgl';
+    options.desynchronized = true;
+    options.preserveDrawingBuffer = true;
+    return true;
+  } // If WebGL is not available on this device, we will fall back
+  // To using the Canvas renderer
+
+
+  console.error('WebGL not available, falling back to Canvas renderer');
+  delete options.renderer;
+  delete options.preserveDrawingBuffer;
+  return false;
+});
+
+/***/ }),
+
+/***/ "./internal/validator.js":
+/*!*******************************!*\
+  !*** ./internal/validator.js ***!
+  \*******************************/
+/*! exports provided: validateParameterUndefined, validateParameterUndefinedOrNull */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "validateParameterUndefined", function() { return validateParameterUndefined; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "validateParameterUndefinedOrNull", function() { return validateParameterUndefinedOrNull; });
+/**
+ * Check if the supplied parameter is undefined and throws and error
+ * @param {any} checkParam the parameter to validate for undefined
+ * @param {any} errorMsg the error message to be thrown
+ * @returns {void}
+ * @memberof internal
+ */
+function validateParameterUndefined(checkParam, errorMsg) {
+  if (checkParam === undefined) {
+    throw new Error(errorMsg);
+  }
+}
+/**
+ * Check if the supplied parameter is undefined or null and throws and error
+ * @param {any} checkParam the parameter to validate for undefined
+ * @param {any} errorMsg the error message to be thrown
+ * @returns {void}
+ * @memberof internal
+ */
+
+function validateParameterUndefinedOrNull(checkParam, errorMsg) {
+  if (checkParam === undefined || checkParam === null) {
+    throw new Error(errorMsg);
+  }
+}
+
+/***/ }),
+
+/***/ "./invalidate.js":
+/*!***********************!*\
+  !*** ./invalidate.js ***!
+  \***********************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./triggerEvent.js */ "./triggerEvent.js");
+/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./events.js */ "./events.js");
+
+
+
+/**
+ * Sets the invalid flag on the enabled element and fires an event
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @returns {void}
+ * @memberof Drawing
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  enabledElement.invalid = true;
+  enabledElement.needsRedraw = true;
+  var eventData = {
+    element: element
+  };
+  Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element, _events_js__WEBPACK_IMPORTED_MODULE_2__["default"].INVALIDATED, eventData);
+});
+
+/***/ }),
+
+/***/ "./invalidateImageId.js":
+/*!******************************!*\
+  !*** ./invalidateImageId.js ***!
+  \******************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _internal_drawImage_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/drawImage.js */ "./internal/drawImage.js");
+
+
+/**
+ * Forces the image to be updated/redrawn for all enabled elements
+ * displaying the specified imageId
+ *
+ * @param {string} imageId The imageId of the Cornerstone Image Object to redraw
+ * @returns {void}
+ * @memberof Drawing
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (imageId) {
+  var enabledElements = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElementsByImageId"])(imageId);
+  enabledElements.forEach(function (enabledElement) {
+    Object(_internal_drawImage_js__WEBPACK_IMPORTED_MODULE_1__["default"])(enabledElement, true);
+  });
+});
+
+/***/ }),
+
+/***/ "./layers.js":
+/*!*******************!*\
+  !*** ./layers.js ***!
+  \*******************/
+/*! exports provided: rescaleImage, addLayer, removeLayer, getLayer, getLayers, getVisibleLayers, setActiveLayer, setLayerImage, getActiveLayer, purgeLayers */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rescaleImage", function() { return rescaleImage; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addLayer", function() { return addLayer; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeLayer", function() { return removeLayer; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLayer", function() { return getLayer; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLayers", function() { return getLayers; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getVisibleLayers", function() { return getVisibleLayers; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setActiveLayer", function() { return setActiveLayer; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setLayerImage", function() { return setLayerImage; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getActiveLayer", function() { return getActiveLayer; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "purgeLayers", function() { return purgeLayers; });
+/* harmony import */ var _internal_guid_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/guid.js */ "./internal/guid.js");
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/getDefaultViewport.js */ "./internal/getDefaultViewport.js");
+/* harmony import */ var _internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/getDisplayedArea.js */ "./internal/getDisplayedArea.js");
+/* harmony import */ var _updateImage_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./updateImage.js */ "./updateImage.js");
+/* harmony import */ var _triggerEvent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./triggerEvent.js */ "./triggerEvent.js");
+/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./events.js */ "./events.js");
+
+
+
+
+
+
+
+/**
+ * @module EnabledElementLayers
+ */
+
+/**
+ * Helper function to trigger an event on a Cornerstone element with
+ * a specific layerId
+ *
+ * @param {String} eventName The event name (e.g. CornerstoneLayerAdded)
+ * @param {EnabledElement} enabledElement The Cornerstone enabled element
+ * @param {String} layerId The layer's unique identifier
+ * @returns {void}
+ * @memberof EnabledElementLayers
+ */
+
+function triggerEventForLayer(eventName, enabledElement, layerId) {
+  var element = enabledElement.element;
+  var eventData = {
+    viewport: enabledElement.viewport,
+    element: enabledElement.element,
+    image: enabledElement.image,
+    enabledElement: enabledElement,
+    layerId: layerId
+  };
+  Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_5__["default"])(element, eventName, eventData);
+}
+/**
+ * Rescale the target layer to the base layer based on the
+ * relative size of each image and their pixel dimensions.
+ *
+ * This function will update the Viewport parameters of the
+ * target layer to a new scale.
+ *
+ * @param {EnabledElementLayer} baseLayer The base layer
+ * @param {EnabledElementLayer} targetLayer The target layer to rescale
+ * @returns {void}
+ * @memberof EnabledElementLayers
+ */
+
+
+function rescaleImage(baseLayer, targetLayer) {
+  if (baseLayer.layerId === targetLayer.layerId) {
+    throw new Error('rescaleImage: both arguments represent the same layer');
+  }
+
+  var baseImage = baseLayer.image;
+  var targetImage = targetLayer.image; // Return if these images don't have an imageId (e.g. for dynamic images)
+
+  if (!baseImage.imageId || !targetImage.imageId) {
+    return;
+  } // Column pixel spacing need to be considered when calculating the
+  // ratio between the layer added and base layer images
+
+
+  var targetDisplayedArea = Object(_internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_3__["default"])(targetImage, targetLayer.viewport);
+  var baseDisplayedArea = Object(_internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_3__["default"])(baseImage, baseLayer.viewport);
+  var colRelative = targetDisplayedArea.columnPixelSpacing * targetImage.width / (baseDisplayedArea.columnPixelSpacing * baseImage.width);
+  var viewportRatio = targetLayer.viewport.scale / baseLayer.viewport.scale * colRelative;
+  targetLayer.viewport.scale = baseLayer.viewport.scale * viewportRatio;
+}
+/**
+ * Add a layer to a Cornerstone element
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @param {Image} image A Cornerstone Image object to add as a new layer
+ * @param {Object} options Options for the layer
+ *
+ * @returns {String} layerId The new layer's unique identifier
+ * @memberof EnabledElementLayers
+ */
+
+function addLayer(element, image, options) {
+  var layerId = Object(_internal_guid_js__WEBPACK_IMPORTED_MODULE_0__["default"])();
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElement"])(element);
+  var layers = enabledElement.layers;
+  var viewport;
+
+  if (image) {
+    viewport = Object(_internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_2__["default"])(enabledElement.canvas, image); // Override the defaults if any optional viewport settings
+    // have been specified
+
+    if (options && options.viewport) {
+      viewport = Object.assign(viewport, options.viewport);
+    }
+  } // Set syncViewports to true by default when a new layer is added
+
+
+  if (enabledElement.syncViewports !== false) {
+    enabledElement.syncViewports = true;
+  }
+
+  var newLayer = {
+    image: image,
+    layerId: layerId,
+    viewport: viewport,
+    options: options || {},
+    renderingTools: {}
+  }; // Rescale the new layer based on the base layer to make sure
+  // they will have a proportional size (pixel spacing)
+
+  if (layers.length && image) {
+    rescaleImage(layers[0], newLayer);
+  }
+
+  layers.push(newLayer);
+  triggerEventForLayer(_events_js__WEBPACK_IMPORTED_MODULE_6__["default"].LAYER_ADDED, enabledElement, layerId); // Set the layer as active if it's the first layer added
+
+  if (layers.length === 1 && image) {
+    setActiveLayer(element, layerId);
+  }
+
+  return layerId;
+}
+/**
+ * Remove a layer from a Cornerstone element given a layer ID
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @param {String} layerId The unique identifier for the layer
+ * @returns {void}
+ * @memberof EnabledElementLayers
+ */
+
+function removeLayer(element, layerId) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElement"])(element);
+  var layers = enabledElement.layers;
+  var index = enabledElement.layers.findIndex(function (layer) {
+    return layer.layerId === layerId;
+  });
+
+  if (index !== -1) {
+    layers.splice(index, 1); // If the current layer is active, and we have other layers,
+    // switch to the first layer that remains in the array
+
+    if (layerId === enabledElement.activeLayerId && layers.length) {
+      setActiveLayer(element, layers[0].layerId);
+    }
+
+    triggerEventForLayer(_events_js__WEBPACK_IMPORTED_MODULE_6__["default"].LAYER_REMOVED, enabledElement, layerId);
+  }
+}
+/**
+ * Retrieve a layer from a Cornerstone element given a layer ID
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @param {String} layerId The unique identifier for the layer
+ * @return {EnabledElementLayer} The layer
+ * @memberof EnabledElementLayers
+ */
+
+function getLayer(element, layerId) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElement"])(element);
+  return enabledElement.layers.find(function (layer) {
+    return layer.layerId === layerId;
+  });
+}
+/**
+ * Retrieve all layers for a Cornerstone element
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ *
+ * @return {EnabledElementLayer[]} An array of layers
+ * @memberof EnabledElementLayers
+ */
+
+function getLayers(element) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElement"])(element);
+  return enabledElement.layers;
+}
+/**
+ * Retrieve all visible layers for a Cornerstone element
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ *
+ * @return {EnabledElementLayer[]} An array of layers
+ * @memberof EnabledElementLayers
+ */
+
+function getVisibleLayers(element) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElement"])(element);
+  return enabledElement.layers.filter(function (layer) {
+    return layer.options && layer.options.visible !== false && layer.options.opacity !== 0;
+  });
+}
+/**
+ * Set the active layer for a Cornerstone element
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @param {String} layerId The unique identifier for the layer
+ * @returns {void}
+ * @memberof EnabledElementLayers
+ */
+
+function setActiveLayer(element, layerId) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElement"])(element); // Stop here if this layer is already active
+
+  if (enabledElement.activeLayerId === layerId) {
+    return;
+  }
+
+  var index = enabledElement.layers.findIndex(function (layer) {
+    return layer.layerId === layerId;
+  });
+
+  if (index === -1) {
+    throw new Error('setActiveLayer: layer not found in layers array');
+  }
+
+  var layer = enabledElement.layers[index];
+
+  if (!layer.image) {
+    throw new Error('setActiveLayer: layer with undefined image cannot be set as active.');
+  }
+
+  enabledElement.activeLayerId = layerId;
+  enabledElement.image = layer.image;
+  enabledElement.viewport = layer.viewport;
+  Object(_updateImage_js__WEBPACK_IMPORTED_MODULE_4__["default"])(element);
+  triggerEventForLayer(_events_js__WEBPACK_IMPORTED_MODULE_6__["default"].ACTIVE_LAYER_CHANGED, enabledElement, layerId);
+}
+/**
+ * Set a new image for a specific layerId
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @param {Image} image The image to be displayed in this layer
+ * @param {String} [layerId] The unique identifier for the layer
+ * @returns {void}
+ * @memberof EnabledElementLayers
+ */
+
+function setLayerImage(element, image, layerId) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElement"])(element);
+  var baseLayer = enabledElement.layers[0];
+  var layer;
+
+  if (layerId) {
+    layer = getLayer(element, layerId);
+  } else {
+    layer = getActiveLayer(element);
+  }
+
+  if (!layer) {
+    throw new Error('setLayerImage: Layer not found');
+  }
+
+  layer.image = image;
+
+  if (!image) {
+    layer.viewport = undefined;
+    return;
+  }
+
+  if (!layer.viewport) {
+    var defaultViewport = Object(_internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_2__["default"])(enabledElement.canvas, image); // Override the defaults if any optional viewport settings
+    // have been specified
+
+    if (layer.options && layer.options.viewport) {
+      layer.viewport = Object.assign(defaultViewport, layer.options.viewport);
+    }
+
+    if (baseLayer.layerId !== layerId) {
+      rescaleImage(baseLayer, layer);
+    }
+  }
+}
+/**
+ * Retrieve the currently active layer for a Cornerstone element
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @return {EnabledElementLayer} The currently active layer
+ * @memberof EnabledElementLayers
+ */
+
+function getActiveLayer(element) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElement"])(element);
+  return enabledElement.layers.find(function (layer) {
+    return layer.layerId === enabledElement.activeLayerId;
+  });
+}
+/**
+ * Purge the layers
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ *
+ * @returns {void}
+ */
+
+function purgeLayers(element) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElement"])(element);
+  enabledElement.layers = [];
+  delete enabledElement.activeLayerId;
+  delete enabledElement.lastSyncViewportsState;
+}
+
+/***/ }),
+
+/***/ "./metaData.js":
+/*!*********************!*\
+  !*** ./metaData.js ***!
+  \*********************/
+/*! exports provided: addProvider, removeProvider, default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addProvider", function() { return addProvider; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeProvider", function() { return removeProvider; });
+// This module defines a way to access various metadata about an imageId.  This layer of abstraction exists
+// So metadata can be provided in different ways (e.g. by parsing DICOM P10 or by a WADO-RS document)
+var providers = [];
+/**
+ * @module Metadata
+ */
+
+/**
+ * Adds a metadata provider with the specified priority
+ * @param {Function} provider Metadata provider function
+ * @param {Number} [priority=0] - 0 is default/normal, > 0 is high, < 0 is low
+ *
+ * @returns {void}
+ * @memberof Metadata
+ */
+
+function addProvider(provider) {
+  var priority = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
+  var i; // Find the right spot to insert this provider based on priority
+
+  for (i = 0; i < providers.length; i++) {
+    if (providers[i].priority <= priority) {
+      break;
+    }
+  } // Insert the decode task at position i
+
+
+  providers.splice(i, 0, {
+    priority: priority,
+    provider: provider
+  });
+}
+/**
+ * Removes the specified provider
+ *
+ * @param {Function} provider Metadata provider function
+ *
+ * @returns {void}
+ * @memberof Metadata
+ */
+
+function removeProvider(provider) {
+  for (var i = 0; i < providers.length; i++) {
+    if (providers[i].provider === provider) {
+      providers.splice(i, 1);
+      break;
+    }
+  }
+}
+/**
+ * Gets metadata from the registered metadata providers.  Will call each one from highest priority to lowest
+ * until one responds
+ *
+ * @param {String} type The type of metadata requested from the metadata store
+ * @param {String} imageId The Cornerstone Image Object's imageId
+ *
+ * @returns {*} The metadata retrieved from the metadata store
+ * @memberof Metadata
+ */
+
+function getMetaData(type, imageId) {
+  // Invoke each provider in priority order until one returns something
+  for (var i = 0; i < providers.length; i++) {
+    var result = providers[i].provider(type, imageId);
+
+    if (result !== undefined) {
+      return result;
+    }
+  }
+}
+
+/* harmony default export */ __webpack_exports__["default"] = ({
+  addProvider: addProvider,
+  removeProvider: removeProvider,
+  get: getMetaData
+});
+
+/***/ }),
+
+/***/ "./pageToPixel.js":
+/*!************************!*\
+  !*** ./pageToPixel.js ***!
+  \************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _internal_getTransform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/getTransform.js */ "./internal/getTransform.js");
+
+
+/**
+ * Converts a point in the page coordinate system to the pixel coordinate
+ * system
+ *
+ * @param {HTMLElement} element The Cornerstone element within which the input point lies
+ * @param {Number} pageX The x value in the page coordinate system
+ * @param {Number} pageY The y value in the page coordinate system
+ *
+ * @returns {{x: Number, y: Number}} The transformed point in the pixel coordinate system
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element, pageX, pageY) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+
+  if (enabledElement.image === undefined) {
+    throw new Error('image has not been loaded yet');
+  } // Convert the pageX and pageY to the canvas client coordinates
+
+
+  var rect = element.getBoundingClientRect();
+  var clientX = pageX - rect.left - window.pageXOffset;
+  var clientY = pageY - rect.top - window.pageYOffset;
+  var pt = {
+    x: clientX,
+    y: clientY
+  };
+  var transform = Object(_internal_getTransform_js__WEBPACK_IMPORTED_MODULE_1__["default"])(enabledElement);
+  transform.invert();
+  return transform.transformPoint(pt.x, pt.y);
+});
+
+/***/ }),
+
+/***/ "./pixelDataToFalseColorData.js":
+/*!**************************************!*\
+  !*** ./pixelDataToFalseColorData.js ***!
+  \**************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return pixelDataToFalseColorData; });
+/* harmony import */ var _colors_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors/index.js */ "./colors/index.js");
+
+/**
+ * Converts the image pixel data into a false color data
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @param {Object} lookupTable A lookup table Object
+ *
+ * @returns {void}
+ * @deprecated This function is superseded by the ability to set the Viewport parameters
+ * to include colormaps.
+ */
+
+function pixelDataToFalseColorData(image, lookupTable) {
+  if (image.color && !image.falseColor) {
+    throw new Error('Color transforms are not implemented yet');
+  }
+
+  var minPixelValue = image.minPixelValue;
+  var canvasImageDataIndex = 0;
+  var storedPixelDataIndex = 0;
+  var numPixels = image.width * image.height;
+  var origPixelData = image.origPixelData || image.getPixelData();
+  var storedColorPixelData = new Uint8Array(numPixels * 4);
+  var sp;
+  var mapped;
+  image.color = true;
+  image.falseColor = true;
+  image.origPixelData = origPixelData;
+
+  if (lookupTable instanceof _colors_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].LookupTable) {
+    lookupTable.build();
+
+    while (storedPixelDataIndex < numPixels) {
+      sp = origPixelData[storedPixelDataIndex++];
+      mapped = lookupTable.mapValue(sp);
+      storedColorPixelData[canvasImageDataIndex++] = mapped[0];
+      storedColorPixelData[canvasImageDataIndex++] = mapped[1];
+      storedColorPixelData[canvasImageDataIndex++] = mapped[2];
+      storedColorPixelData[canvasImageDataIndex++] = mapped[3];
+    }
+  } else if (minPixelValue < 0) {
+    while (storedPixelDataIndex < numPixels) {
+      sp = origPixelData[storedPixelDataIndex++];
+      storedColorPixelData[canvasImageDataIndex++] = lookupTable[sp + -minPixelValue][0]; // Red
+
+      storedColorPixelData[canvasImageDataIndex++] = lookupTable[sp + -minPixelValue][1]; // Green
+
+      storedColorPixelData[canvasImageDataIndex++] = lookupTable[sp + -minPixelValue][2]; // Blue
+
+      storedColorPixelData[canvasImageDataIndex++] = lookupTable[sp + -minPixelValue][3]; // Alpha
+    }
+  } else {
+    while (storedPixelDataIndex < numPixels) {
+      sp = origPixelData[storedPixelDataIndex++];
+      storedColorPixelData[canvasImageDataIndex++] = lookupTable[sp][0]; // Red
+
+      storedColorPixelData[canvasImageDataIndex++] = lookupTable[sp][1]; // Green
+
+      storedColorPixelData[canvasImageDataIndex++] = lookupTable[sp][2]; // Blue
+
+      storedColorPixelData[canvasImageDataIndex++] = lookupTable[sp][3]; // Alpha
+    }
+  }
+
+  image.rgba = true;
+  image.cachedLut = undefined;
+  image.render = undefined;
+  image.slope = 1;
+  image.intercept = 0;
+  image.minPixelValue = 0;
+  image.maxPixelValue = 255;
+  image.windowWidth = 255;
+  image.windowCenter = 128;
+
+  image.getPixelData = function () {
+    return storedColorPixelData;
+  };
+}
+
+/***/ }),
+
+/***/ "./pixelToCanvas.js":
+/*!**************************!*\
+  !*** ./pixelToCanvas.js ***!
+  \**************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _internal_getTransform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/getTransform.js */ "./internal/getTransform.js");
+
+
+/**
+ * Converts a point in the pixel coordinate system to the canvas coordinate system
+ * system.  This can be used to render using canvas context without having the weird
+ * side effects that come from scaling and non square pixels
+ *
+ * @param {HTMLElement} element An HTML Element enabled for Cornerstone
+ * @param {{x: Number, y: Number}} pt The transformed point in the pixel coordinate system
+ *
+ * @returns {{x: Number, y: Number}} The input point in the canvas coordinate system
+ * @memberof PixelCoordinateSystem
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element, pt) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  var transform = Object(_internal_getTransform_js__WEBPACK_IMPORTED_MODULE_1__["default"])(enabledElement);
+  return transform.transformPoint(pt.x, pt.y);
+});
+
+/***/ }),
+
+/***/ "./rendering/doesImageNeedToBeRendered.js":
+/*!************************************************!*\
+  !*** ./rendering/doesImageNeedToBeRendered.js ***!
+  \************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/**
+ * Determine whether or not an Enabled Element needs to be re-rendered.
+ *
+ * If the imageId has changed, or if any of the last rendered viewport
+ * parameters have changed, this function will return true.
+ *
+ * @param {EnabledElement} enabledElement An Enabled Element
+ * @param {Image} image An Image
+ * @return {boolean} Whether or not the Enabled Element needs to re-render its image
+ * @memberof rendering
+ */
+/* harmony default export */ __webpack_exports__["default"] = (function (enabledElement, image) {
+  var lastRenderedImageId = enabledElement.renderingTools.lastRenderedImageId;
+  var lastRenderedViewport = enabledElement.renderingTools.lastRenderedViewport;
+  return image.imageId !== lastRenderedImageId || !lastRenderedViewport || lastRenderedViewport.windowCenter !== enabledElement.viewport.voi.windowCenter || lastRenderedViewport.windowWidth !== enabledElement.viewport.voi.windowWidth || lastRenderedViewport.invert !== enabledElement.viewport.invert || lastRenderedViewport.rotation !== enabledElement.viewport.rotation || lastRenderedViewport.hflip !== enabledElement.viewport.hflip || lastRenderedViewport.vflip !== enabledElement.viewport.vflip || lastRenderedViewport.modalityLUT !== enabledElement.viewport.modalityLUT || lastRenderedViewport.voiLUT !== enabledElement.viewport.voiLUT || lastRenderedViewport.colormap !== enabledElement.viewport.colormap;
+});
+
+/***/ }),
+
+/***/ "./rendering/getLut.js":
+/*!*****************************!*\
+  !*** ./rendering/getLut.js ***!
+  \*****************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _internal_computeAutoVoi_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../internal/computeAutoVoi.js */ "./internal/computeAutoVoi.js");
+/* harmony import */ var _lutMatches_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lutMatches.js */ "./rendering/lutMatches.js");
+/* harmony import */ var _internal_generateLut_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../internal/generateLut.js */ "./internal/generateLut.js");
+
+
+
+/**
+ * Retrieve or generate a LUT Array for an Image and Viewport
+ *
+ * @param {Image} image An Image Object
+ * @param {Viewport} viewport An Viewport Object
+ * @param {Boolean} invalidated Whether or not the LUT data has been invalidated
+ * (e.g. by a change to the windowWidth, windowCenter, or invert viewport parameters).
+ * @return {Uint8ClampedArray} LUT Array
+ * @memberof rendering
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (image, viewport, invalidated) {
+  // If we have a cached lut and it has the right values, return it immediately
+  if (image.cachedLut !== undefined && image.cachedLut.windowCenter === viewport.voi.windowCenter && image.cachedLut.windowWidth === viewport.voi.windowWidth && Object(_lutMatches_js__WEBPACK_IMPORTED_MODULE_1__["default"])(image.cachedLut.modalityLUT, viewport.modalityLUT) && Object(_lutMatches_js__WEBPACK_IMPORTED_MODULE_1__["default"])(image.cachedLut.voiLUT, viewport.voiLUT) && image.cachedLut.invert === viewport.invert && invalidated !== true) {
+    return image.cachedLut.lutArray;
+  }
+
+  Object(_internal_computeAutoVoi_js__WEBPACK_IMPORTED_MODULE_0__["default"])(viewport, image); // Lut is invalid or not present, regenerate it and cache it
+
+  Object(_internal_generateLut_js__WEBPACK_IMPORTED_MODULE_2__["default"])(image, viewport.voi.windowWidth, viewport.voi.windowCenter, viewport.invert, viewport.modalityLUT, viewport.voiLUT);
+  image.cachedLut.windowWidth = viewport.voi.windowWidth;
+  image.cachedLut.windowCenter = viewport.voi.windowCenter;
+  image.cachedLut.invert = viewport.invert;
+  image.cachedLut.voiLUT = viewport.voiLUT;
+  image.cachedLut.modalityLUT = viewport.modalityLUT;
+  return image.cachedLut.lutArray;
+});
+
+/***/ }),
+
+/***/ "./rendering/index.js":
+/*!****************************!*\
+  !*** ./rendering/index.js ***!
+  \****************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _renderColorImage_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./renderColorImage.js */ "./rendering/renderColorImage.js");
+/* harmony import */ var _renderGrayscaleImage_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./renderGrayscaleImage.js */ "./rendering/renderGrayscaleImage.js");
+/* harmony import */ var _renderWebImage_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./renderWebImage.js */ "./rendering/renderWebImage.js");
+/* harmony import */ var _renderPseudoColorImage_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./renderPseudoColorImage.js */ "./rendering/renderPseudoColorImage.js");
+/* harmony import */ var _renderLabelMapImage_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./renderLabelMapImage.js */ "./rendering/renderLabelMapImage.js");
+/* harmony import */ var _renderToCanvas_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./renderToCanvas.js */ "./rendering/renderToCanvas.js");
+
+
+
+
+
+
+/**
+ * @module rendering
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = ({
+  colorImage: _renderColorImage_js__WEBPACK_IMPORTED_MODULE_0__["renderColorImage"],
+  grayscaleImage: _renderGrayscaleImage_js__WEBPACK_IMPORTED_MODULE_1__["renderGrayscaleImage"],
+  webImage: _renderWebImage_js__WEBPACK_IMPORTED_MODULE_2__["renderWebImage"],
+  pseudoColorImage: _renderPseudoColorImage_js__WEBPACK_IMPORTED_MODULE_3__["renderPseudoColorImage"],
+  labelMapImage: _renderLabelMapImage_js__WEBPACK_IMPORTED_MODULE_4__["renderLabelMapImage"],
+  toCanvas: _renderToCanvas_js__WEBPACK_IMPORTED_MODULE_5__["default"]
+});
+
+/***/ }),
+
+/***/ "./rendering/initializeRenderCanvas.js":
+/*!*********************************************!*\
+  !*** ./rendering/initializeRenderCanvas.js ***!
+  \*********************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/**
+ * Sets size and clears canvas
+ *
+ * @param {Object} enabledElement Cornerstone Enabled Element
+ * @param {Object} image Image to be rendered
+ * @returns {void}
+ * @memberof rendering
+ */
+/* harmony default export */ __webpack_exports__["default"] = (function (enabledElement, image) {
+  var renderCanvas = enabledElement.renderingTools.renderCanvas; // Resize the canvas
+
+  renderCanvas.width = image.width;
+  renderCanvas.height = image.height;
+  var canvasContext = renderCanvas.getContext('2d', {
+    desynchronized: true
+  }); // NOTE - we need to fill the render canvas with white pixels since we
+  // control the luminance using the alpha channel to improve rendering performance.
+
+  canvasContext.fillStyle = 'white';
+  canvasContext.fillRect(0, 0, renderCanvas.width, renderCanvas.height);
+  var renderCanvasData = canvasContext.getImageData(0, 0, image.width, image.height);
+  enabledElement.renderingTools.renderCanvasContext = canvasContext;
+  enabledElement.renderingTools.renderCanvasData = renderCanvasData;
+});
+
+/***/ }),
+
+/***/ "./rendering/lutMatches.js":
+/*!*********************************!*\
+  !*** ./rendering/lutMatches.js ***!
+  \*********************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/**
+ * Check if two lookup tables match
+ *
+ * @param {LUT} a A lookup table function
+ * @param {LUT} b Another lookup table function
+ * @return {boolean} Whether or not they match
+ * @memberof rendering
+ */
+/* harmony default export */ __webpack_exports__["default"] = (function (a, b) {
+  // If undefined, they are equal
+  if (!a && !b) {
+    return true;
+  } // If one is undefined, not equal
+
+
+  if (!a || !b) {
+    return false;
+  } // Check the unique ids
+
+
+  return a.id === b.id;
+});
+
+/***/ }),
+
+/***/ "./rendering/renderColorImage.js":
+/*!***************************************!*\
+  !*** ./rendering/renderColorImage.js ***!
+  \***************************************/
+/*! exports provided: renderColorImage, addColorLayer */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "renderColorImage", function() { return renderColorImage; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addColorLayer", function() { return addColorLayer; });
+/* harmony import */ var _internal_now_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../internal/now.js */ "./internal/now.js");
+/* harmony import */ var _internal_getFillStyle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../internal/getFillStyle.js */ "./internal/getFillStyle.js");
+/* harmony import */ var _internal_generateColorLut_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../internal/generateColorLut.js */ "./internal/generateColorLut.js");
+/* harmony import */ var _internal_storedColorPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../internal/storedColorPixelDataToCanvasImageData.js */ "./internal/storedColorPixelDataToCanvasImageData.js");
+/* harmony import */ var _internal_storedRGBAPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../internal/storedRGBAPixelDataToCanvasImageData.js */ "./internal/storedRGBAPixelDataToCanvasImageData.js");
+/* harmony import */ var _setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../setToPixelCoordinateSystem.js */ "./setToPixelCoordinateSystem.js");
+/* harmony import */ var _webgl_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../webgl/index.js */ "./webgl/index.js");
+/* harmony import */ var _doesImageNeedToBeRendered_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./doesImageNeedToBeRendered.js */ "./rendering/doesImageNeedToBeRendered.js");
+/* harmony import */ var _initializeRenderCanvas_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./initializeRenderCanvas.js */ "./rendering/initializeRenderCanvas.js");
+/* harmony import */ var _saveLastRendered_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./saveLastRendered.js */ "./rendering/saveLastRendered.js");
+/* harmony import */ var _internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../internal/getDisplayedArea.js */ "./internal/getDisplayedArea.js");
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * Generates an appropriate Look Up Table to render the given image with the given window width and level (specified in the viewport)
+ * Uses an internal cache for performance
+ *
+ * @param {Object} image  The image to be rendered
+ * @param {Object} viewport The viewport values used for rendering
+ * @returns {Uint8ClampedArray} Look Up Table array.
+ * @memberof rendering
+ */
+
+function getLut(image, viewport) {
+  // If we have a cached lut and it has the right values, return it immediately
+  if (image.cachedLut !== undefined && image.cachedLut.windowCenter === viewport.voi.windowCenter && image.cachedLut.windowWidth === viewport.voi.windowWidth && image.cachedLut.invert === viewport.invert) {
+    return image.cachedLut.lutArray;
+  } // Lut is invalid or not present, regenerate it and cache it
+
+
+  Object(_internal_generateColorLut_js__WEBPACK_IMPORTED_MODULE_2__["default"])(image, viewport.voi.windowWidth, viewport.voi.windowCenter, viewport.invert);
+  image.cachedLut.windowWidth = viewport.voi.windowWidth;
+  image.cachedLut.windowCenter = viewport.voi.windowCenter;
+  image.cachedLut.invert = viewport.invert;
+  return image.cachedLut.lutArray;
+}
+/**
+ * Returns an appropriate canvas to render the Image. If the canvas available in the cache is appropriate
+ * it is returned, otherwise adjustments are made. It also sets the color transfer functions.
+ *
+ * @param {Object} enabledElement The cornerstone enabled element
+ * @param {Object} image The image to be rendered
+ * @param {Boolean} invalidated Is pixel data valid
+ * @returns {HTMLCanvasElement} An appropriate canvas for rendering the image
+ * @memberof rendering
+ */
+
+
+function getRenderCanvas(enabledElement, image, invalidated) {
+  var canvasWasColor = enabledElement.renderingTools.lastRenderedIsColor === true;
+
+  if (!enabledElement.renderingTools.renderCanvas || !canvasWasColor) {
+    enabledElement.renderingTools.renderCanvas = document.createElement('canvas');
+  }
+
+  var renderCanvas = enabledElement.renderingTools.renderCanvas; // The ww/wc is identity and not inverted - get a canvas with the image rendered into it for
+  // Fast drawing
+
+  if (enabledElement.viewport.voi.windowWidth === 255 && enabledElement.viewport.voi.windowCenter === 128 && enabledElement.viewport.invert === false && image.getCanvas && image.getCanvas()) {
+    return image.getCanvas();
+  } // Apply the lut to the stored pixel data onto the render canvas
+
+
+  if (Object(_doesImageNeedToBeRendered_js__WEBPACK_IMPORTED_MODULE_7__["default"])(enabledElement, image) === false && invalidated !== true) {
+    return renderCanvas;
+  } // If our render canvas does not match the size of this image reset it
+  // NOTE: This might be inefficient if we are updating multiple images of different
+  // Sizes frequently.
+
+
+  if (renderCanvas.width !== image.width || renderCanvas.height !== image.height) {
+    Object(_initializeRenderCanvas_js__WEBPACK_IMPORTED_MODULE_8__["default"])(enabledElement, image);
+  } // Get the lut to use
+
+
+  var start = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])();
+  var colorLut = getLut(image, enabledElement.viewport);
+  image.stats = image.stats || {};
+  image.stats.lastLutGenerateTime = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])() - start;
+  var renderCanvasData = enabledElement.renderingTools.renderCanvasData;
+  var renderCanvasContext = enabledElement.renderingTools.renderCanvasContext; // The color image voi/invert has been modified - apply the lut to the underlying
+  // Pixel data and put it into the renderCanvas
+
+  if (image.rgba) {
+    Object(_internal_storedRGBAPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_4__["default"])(image, colorLut, renderCanvasData.data);
+  } else {
+    Object(_internal_storedColorPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_3__["default"])(image, colorLut, renderCanvasData.data);
+  }
+
+  start = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])();
+  renderCanvasContext.putImageData(renderCanvasData, 0, 0);
+  image.stats.lastPutImageDataTime = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_0__["default"])() - start;
+  return renderCanvas;
+}
+/**
+ * API function to render a color image to an enabled element
+ *
+ * @param {EnabledElement} enabledElement The Cornerstone Enabled Element to redraw
+ * @param {Boolean} invalidated - true if pixel data has been invalidated and cached rendering should not be used
+ * @returns {void}
+ * @memberof rendering
+ */
+
+
+function renderColorImage(enabledElement, invalidated) {
+  if (enabledElement === undefined) {
+    throw new Error('renderColorImage: enabledElement parameter must not be undefined');
+  }
+
+  var image = enabledElement.image;
+
+  if (image === undefined) {
+    throw new Error('renderColorImage: image must be loaded before it can be drawn');
+  } // Get the canvas context and reset the transform
+
+
+  var context = enabledElement.canvas.getContext('2d', {
+    desynchronized: true
+  });
+  context.setTransform(1, 0, 0, 1, 0, 0); // Clear the canvas
+
+  context.fillStyle = Object(_internal_getFillStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(enabledElement);
+  context.fillRect(0, 0, enabledElement.canvas.width, enabledElement.canvas.height); // Turn off image smooth/interpolation if pixelReplication is set in the viewport
+
+  context.imageSmoothingEnabled = !enabledElement.viewport.pixelReplication;
+  context.mozImageSmoothingEnabled = context.imageSmoothingEnabled; // Save the canvas context state and apply the viewport properties
+
+  Object(_setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_5__["default"])(enabledElement, context);
+  var renderCanvas;
+
+  if (enabledElement.options && enabledElement.options.renderer && enabledElement.options.renderer.toLowerCase() === 'webgl') {
+    // If this enabled element has the option set for WebGL, we should
+    // User it as our renderer.
+    renderCanvas = _webgl_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].renderer.render(enabledElement);
+  } else {
+    // If no options are set we will retrieve the renderCanvas through the
+    // Normal Canvas rendering path
+    renderCanvas = getRenderCanvas(enabledElement, image, invalidated);
+  }
+
+  var imageDisplayedArea = Object(_internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_10__["default"])(enabledElement.image, enabledElement.viewport);
+  var sx = imageDisplayedArea.tlhc.x - 1;
+  var sy = imageDisplayedArea.tlhc.y - 1;
+  var width = imageDisplayedArea.brhc.x - sx;
+  var height = imageDisplayedArea.brhc.y - sy;
+  context.drawImage(renderCanvas, sx, sy, width, height, sx, sy, width, height);
+  enabledElement.renderingTools = Object(_saveLastRendered_js__WEBPACK_IMPORTED_MODULE_9__["default"])(enabledElement);
+}
+function addColorLayer(layer, invalidated) {
+  if (layer === undefined) {
+    throw new Error('addColorLayer: layer parameter must not be undefined');
+  }
+
+  var image = layer.image;
+
+  if (image === undefined) {
+    throw new Error('addColorLayer: image must be loaded before it can be drawn');
+  } // All multi-layer images should include the alpha value
+
+
+  image.rgba = true;
+  layer.canvas = getRenderCanvas(layer, image, invalidated);
+  var context = layer.canvas.getContext('2d', {
+    desynchronized: true
+  }); // Turn off image smooth/interpolation if pixelReplication is set in the viewport
+
+  context.imageSmoothingEnabled = !layer.viewport.pixelReplication;
+  context.mozImageSmoothingEnabled = context.imageSmoothingEnabled;
+  layer.renderingTools = Object(_saveLastRendered_js__WEBPACK_IMPORTED_MODULE_9__["default"])(layer);
+}
+
+/***/ }),
+
+/***/ "./rendering/renderGrayscaleImage.js":
+/*!*******************************************!*\
+  !*** ./rendering/renderGrayscaleImage.js ***!
+  \*******************************************/
+/*! exports provided: renderGrayscaleImage, addGrayscaleLayer */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "renderGrayscaleImage", function() { return renderGrayscaleImage; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addGrayscaleLayer", function() { return addGrayscaleLayer; });
+/* harmony import */ var _internal_getFillStyle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../internal/getFillStyle.js */ "./internal/getFillStyle.js");
+/* harmony import */ var _internal_storedPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../internal/storedPixelDataToCanvasImageData.js */ "./internal/storedPixelDataToCanvasImageData.js");
+/* harmony import */ var _internal_storedPixelDataToCanvasImageDataRGBA_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../internal/storedPixelDataToCanvasImageDataRGBA.js */ "./internal/storedPixelDataToCanvasImageDataRGBA.js");
+/* harmony import */ var _setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../setToPixelCoordinateSystem.js */ "./setToPixelCoordinateSystem.js");
+/* harmony import */ var _internal_now_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../internal/now.js */ "./internal/now.js");
+/* harmony import */ var _webgl_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../webgl/index.js */ "./webgl/index.js");
+/* harmony import */ var _getLut_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getLut.js */ "./rendering/getLut.js");
+/* harmony import */ var _doesImageNeedToBeRendered_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./doesImageNeedToBeRendered.js */ "./rendering/doesImageNeedToBeRendered.js");
+/* harmony import */ var _initializeRenderCanvas_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./initializeRenderCanvas.js */ "./rendering/initializeRenderCanvas.js");
+/* harmony import */ var _saveLastRendered_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./saveLastRendered.js */ "./rendering/saveLastRendered.js");
+/* harmony import */ var _internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../internal/getDisplayedArea.js */ "./internal/getDisplayedArea.js");
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * Returns an appropriate canvas to render the Image. If the canvas available in the cache is appropriate
+ * it is returned, otherwise adjustments are made. It also sets the color transfer functions.
+ *
+ * @param {Object} enabledElement The cornerstone enabled element
+ * @param {Object} image The image to be rendered
+ * @param {Boolean} invalidated Is pixel data valid
+ * @param {Boolean} [useAlphaChannel = true] Will an alpha channel be used
+ * @returns {HTMLCanvasElement} An appropriate canvas for rendering the image
+ * @memberof rendering
+ */
+
+function getRenderCanvas(enabledElement, image, invalidated) {
+  var useAlphaChannel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
+  var canvasWasColor = enabledElement.renderingTools.lastRenderedIsColor === true;
+
+  if (!enabledElement.renderingTools.renderCanvas || canvasWasColor) {
+    enabledElement.renderingTools.renderCanvas = document.createElement('canvas');
+    Object(_initializeRenderCanvas_js__WEBPACK_IMPORTED_MODULE_8__["default"])(enabledElement, image);
+  }
+
+  var renderCanvas = enabledElement.renderingTools.renderCanvas;
+
+  if (Object(_doesImageNeedToBeRendered_js__WEBPACK_IMPORTED_MODULE_7__["default"])(enabledElement, image) === false && invalidated !== true) {
+    return renderCanvas;
+  } // If our render canvas does not match the size of this image reset it
+  // NOTE: This might be inefficient if we are updating multiple images of different
+  // Sizes frequently.
+
+
+  if (renderCanvas.width !== image.width || renderCanvas.height !== image.height) {
+    Object(_initializeRenderCanvas_js__WEBPACK_IMPORTED_MODULE_8__["default"])(enabledElement, image);
+  } // Get the lut to use
+
+
+  var start = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_4__["default"])();
+  var lut = Object(_getLut_js__WEBPACK_IMPORTED_MODULE_6__["default"])(image, enabledElement.viewport, invalidated);
+  image.stats = image.stats || {};
+  image.stats.lastLutGenerateTime = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_4__["default"])() - start;
+  var renderCanvasData = enabledElement.renderingTools.renderCanvasData;
+  var renderCanvasContext = enabledElement.renderingTools.renderCanvasContext; // Gray scale image - apply the lut and put the resulting image onto the render canvas
+
+  if (useAlphaChannel) {
+    Object(_internal_storedPixelDataToCanvasImageData_js__WEBPACK_IMPORTED_MODULE_1__["default"])(image, lut, renderCanvasData.data);
+  } else {
+    Object(_internal_storedPixelDataToCanvasImageDataRGBA_js__WEBPACK_IMPORTED_MODULE_2__["default"])(image, lut, renderCanvasData.data);
+  }
+
+  start = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_4__["default"])();
+  renderCanvasContext.putImageData(renderCanvasData, 0, 0);
+  image.stats.lastPutImageDataTime = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_4__["default"])() - start;
+  return renderCanvas;
+}
+/**
+ * API function to draw a grayscale image to a given enabledElement
+ *
+ * @param {EnabledElement} enabledElement The Cornerstone Enabled Element to redraw
+ * @param {Boolean} invalidated - true if pixel data has been invalidated and cached rendering should not be used
+ * @returns {void}
+ * @memberof rendering
+ */
+
+
+function renderGrayscaleImage(enabledElement, invalidated) {
+  if (enabledElement === undefined) {
+    throw new Error('drawImage: enabledElement parameter must not be undefined');
+  }
+
+  var image = enabledElement.image;
+
+  if (image === undefined) {
+    throw new Error('drawImage: image must be loaded before it can be drawn');
+  } // Get the canvas context and reset the transform
+
+
+  var context = enabledElement.canvas.getContext('2d', {
+    desynchronized: true
+  });
+  context.setTransform(1, 0, 0, 1, 0, 0); // Clear the canvas
+
+  context.fillStyle = Object(_internal_getFillStyle_js__WEBPACK_IMPORTED_MODULE_0__["default"])(enabledElement);
+  context.fillRect(0, 0, enabledElement.canvas.width, enabledElement.canvas.height); // Turn off image smooth/interpolation if pixelReplication is set in the viewport
+
+  context.imageSmoothingEnabled = !enabledElement.viewport.pixelReplication;
+  context.mozImageSmoothingEnabled = context.imageSmoothingEnabled; // Save the canvas context state and apply the viewport properties
+
+  Object(_setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_3__["default"])(enabledElement, context);
+  var renderCanvas;
+
+  if (enabledElement.options && enabledElement.options.renderer && enabledElement.options.renderer.toLowerCase() === 'webgl') {
+    // If this enabled element has the option set for WebGL, we should
+    // User it as our renderer.
+    renderCanvas = _webgl_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].renderer.render(enabledElement);
+  } else {
+    // If no options are set we will retrieve the renderCanvas through the
+    // Normal Canvas rendering path
+    renderCanvas = getRenderCanvas(enabledElement, image, invalidated);
+  }
+
+  var imageDisplayedArea = Object(_internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_10__["default"])(enabledElement.image, enabledElement.viewport);
+  var sx = imageDisplayedArea.tlhc.x - 1;
+  var sy = imageDisplayedArea.tlhc.y - 1;
+  var width = imageDisplayedArea.brhc.x - sx;
+  var height = imageDisplayedArea.brhc.y - sy;
+  context.drawImage(renderCanvas, sx, sy, width, height, sx, sy, width, height);
+  enabledElement.renderingTools = Object(_saveLastRendered_js__WEBPACK_IMPORTED_MODULE_9__["default"])(enabledElement);
+}
+/**
+ * API function to draw a grayscale image to a given layer
+ *
+ * @param {EnabledElementLayer} layer The layer that the image will be added to
+ * @param {Boolean} invalidated - true if pixel data has been invalidated and cached rendering should not be used
+ * @param {Boolean} [useAlphaChannel] - Whether or not to render the grayscale image using only the alpha channel.
+                                        This does not work if this layer is not the first layer in the enabledElement.
+ * @returns {void}
+ */
+
+function addGrayscaleLayer(layer, invalidated) {
+  var useAlphaChannel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+
+  if (layer === undefined) {
+    throw new Error('addGrayscaleLayer: layer parameter must not be undefined');
+  }
+
+  var image = layer.image;
+
+  if (image === undefined) {
+    throw new Error('addGrayscaleLayer: image must be loaded before it can be drawn');
+  }
+
+  layer.canvas = getRenderCanvas(layer, image, invalidated, useAlphaChannel);
+  var context = layer.canvas.getContext('2d', {
+    desynchronized: true
+  }); // Turn off image smooth/interpolation if pixelReplication is set in the viewport
+
+  context.imageSmoothingEnabled = !layer.viewport.pixelReplication;
+  context.mozImageSmoothingEnabled = context.imageSmoothingEnabled;
+  layer.renderingTools = Object(_saveLastRendered_js__WEBPACK_IMPORTED_MODULE_9__["default"])(layer);
+}
+
+/***/ }),
+
+/***/ "./rendering/renderLabelMapImage.js":
+/*!******************************************!*\
+  !*** ./rendering/renderLabelMapImage.js ***!
+  \******************************************/
+/*! exports provided: renderLabelMapImage, addLabelMapLayer */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "renderLabelMapImage", function() { return renderLabelMapImage; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addLabelMapLayer", function() { return addLabelMapLayer; });
+/* harmony import */ var _setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../setToPixelCoordinateSystem.js */ "./setToPixelCoordinateSystem.js");
+/* harmony import */ var _internal_now_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../internal/now.js */ "./internal/now.js");
+/* harmony import */ var _internal_getFillStyle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../internal/getFillStyle.js */ "./internal/getFillStyle.js");
+/* harmony import */ var _initializeRenderCanvas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./initializeRenderCanvas.js */ "./rendering/initializeRenderCanvas.js");
+/* harmony import */ var _saveLastRendered_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./saveLastRendered.js */ "./rendering/saveLastRendered.js");
+/* harmony import */ var _doesImageNeedToBeRendered_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./doesImageNeedToBeRendered.js */ "./rendering/doesImageNeedToBeRendered.js");
+/* harmony import */ var _internal_storedPixelDataToCanvasImageDataColorLUT_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../internal/storedPixelDataToCanvasImageDataColorLUT.js */ "./internal/storedPixelDataToCanvasImageDataColorLUT.js");
+/* harmony import */ var _colors_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../colors/index.js */ "./colors/index.js");
+/* harmony import */ var _internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../internal/getDisplayedArea.js */ "./internal/getDisplayedArea.js");
+
+
+
+
+
+
+
+
+
+/**
+ * Returns an appropriate canvas to render the Image. If the canvas available in the cache is appropriate
+ * it is returned, otherwise adjustments are made. It also sets the color transfer functions.
+ *
+ * @param {Object} enabledElement The cornerstone enabled element
+ * @param {Object} image The image to be rendered
+ * @param {Boolean} invalidated Is pixel data valid
+ * @returns {HTMLCanvasElement} An appropriate canvas for rendering the image
+ * @memberof rendering
+ */
+
+function getRenderCanvas(enabledElement, image, invalidated) {
+  if (!enabledElement.renderingTools.renderCanvas) {
+    enabledElement.renderingTools.renderCanvas = document.createElement('canvas');
+  }
+
+  var renderCanvas = enabledElement.renderingTools.renderCanvas;
+  var colormap = enabledElement.viewport.colormap || enabledElement.options.colormap;
+
+  if (enabledElement.options.colormap) {
+    console.warn('enabledElement.options.colormap is deprecated. Use enabledElement.viewport.colormap instead');
+  }
+
+  if (colormap && typeof colormap === 'string') {
+    colormap = _colors_index_js__WEBPACK_IMPORTED_MODULE_7__["default"].getColormap(colormap);
+  }
+
+  if (!colormap) {
+    throw new Error('renderLabelMapImage: colormap not found.');
+  }
+
+  var colormapId = colormap.getId();
+
+  if (Object(_doesImageNeedToBeRendered_js__WEBPACK_IMPORTED_MODULE_5__["default"])(enabledElement, image) === false && invalidated !== true && enabledElement.renderingTools.colormapId === colormapId) {
+    return renderCanvas;
+  } // If our render canvas does not match the size of this image reset it
+  // NOTE: This might be inefficient if we are updating multiple images of different
+  // Sizes frequently.
+
+
+  if (renderCanvas.width !== image.width || renderCanvas.height !== image.height) {
+    Object(_initializeRenderCanvas_js__WEBPACK_IMPORTED_MODULE_3__["default"])(enabledElement, image);
+  } // Get the lut to use
+
+
+  var start = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])();
+
+  if (!enabledElement.renderingTools.colorLut || invalidated || enabledElement.renderingTools.colormapId !== colormapId) {
+    enabledElement.renderingTools.colorLut = colormap.createLookupTable();
+    enabledElement.renderingTools.colormapId = colormapId;
+  }
+
+  image.stats = image.stats || {};
+  image.stats.lastLutGenerateTime = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])() - start;
+  var colorLut = enabledElement.renderingTools.colorLut;
+  var renderCanvasData = enabledElement.renderingTools.renderCanvasData;
+  var renderCanvasContext = enabledElement.renderingTools.renderCanvasContext;
+  Object(_internal_storedPixelDataToCanvasImageDataColorLUT_js__WEBPACK_IMPORTED_MODULE_6__["default"])(image, colorLut, renderCanvasData.data);
+  start = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])();
+  renderCanvasContext.putImageData(renderCanvasData, 0, 0);
+  image.stats.lastPutImageDataTime = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])() - start;
+  return renderCanvas;
+}
+/**
+ * API function to draw a label map image to a given enabledElement
+ *
+ * @param {EnabledElement} enabledElement The Cornerstone Enabled Element to redraw
+ * @param {Boolean} invalidated - true if pixel data has been invalidated and cached rendering should not be used
+ * @returns {void}
+ * @memberof rendering
+ */
+
+
+function renderLabelMapImage(enabledElement, invalidated) {
+  if (enabledElement === undefined) {
+    throw new Error('renderLabelMapImage: enabledElement parameter must not be undefined');
+  }
+
+  var image = enabledElement.image;
+
+  if (image === undefined) {
+    throw new Error('renderLabelMapImage: image must be loaded before it can be drawn');
+  } // Get the canvas context and reset the transform
+
+
+  var context = enabledElement.canvas.getContext('2d', {
+    desynchronized: true
+  });
+  context.setTransform(1, 0, 0, 1, 0, 0); // Clear the canvas
+
+  context.fillStyle = Object(_internal_getFillStyle_js__WEBPACK_IMPORTED_MODULE_2__["default"])(enabledElement);
+  context.fillRect(0, 0, enabledElement.canvas.width, enabledElement.canvas.height); // Turn off image smooth/interpolation if pixelReplication is set in the viewport
+
+  context.imageSmoothingEnabled = !enabledElement.viewport.pixelReplication;
+  context.mozImageSmoothingEnabled = context.imageSmoothingEnabled; // Save the canvas context state and apply the viewport properties
+
+  Object(_setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_0__["default"])(enabledElement, context); // If no options are set we will retrieve the renderCanvas through the
+  // Normal Canvas rendering path
+  // TODO: Add WebGL support for label map pipeline
+
+  var renderCanvas = getRenderCanvas(enabledElement, image, invalidated);
+  var imageDisplayedArea = Object(_internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_8__["default"])(enabledElement.image, enabledElement.viewport);
+  var sx = imageDisplayedArea.tlhc.x - 1;
+  var sy = imageDisplayedArea.tlhc.y - 1;
+  var width = imageDisplayedArea.brhc.x - sx;
+  var height = imageDisplayedArea.brhc.y - sy;
+  context.drawImage(renderCanvas, sx, sy, width, height, sx, sy, width, height);
+  enabledElement.renderingTools = Object(_saveLastRendered_js__WEBPACK_IMPORTED_MODULE_4__["default"])(enabledElement);
+}
+/**
+ * API function to draw a pseudo-color image to a given layer
+ *
+ * @param {EnabledElementLayer} layer The layer that the image will be added to
+ * @param {Boolean} invalidated - true if pixel data has been invalidated and cached rendering should not be used
+ * @returns {void}
+ */
+
+function addLabelMapLayer(layer, invalidated) {
+  if (layer === undefined) {
+    throw new Error('addLabelMapLayer: layer parameter must not be undefined');
+  }
+
+  var image = layer.image;
+
+  if (image === undefined) {
+    throw new Error('addLabelMapLayer: image must be loaded before it can be drawn');
+  }
+
+  layer.canvas = getRenderCanvas(layer, image, invalidated);
+  var context = layer.canvas.getContext('2d', {
+    desynchronized: true
+  }); // Turn off image smooth/interpolation if pixelReplication is set in the viewport
+
+  context.imageSmoothingEnabled = !layer.viewport.pixelReplication;
+  context.mozImageSmoothingEnabled = context.imageSmoothingEnabled;
+  layer.renderingTools = Object(_saveLastRendered_js__WEBPACK_IMPORTED_MODULE_4__["default"])(layer);
+}
+
+/***/ }),
+
+/***/ "./rendering/renderPseudoColorImage.js":
+/*!*********************************************!*\
+  !*** ./rendering/renderPseudoColorImage.js ***!
+  \*********************************************/
+/*! exports provided: renderPseudoColorImage, addPseudoColorLayer */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "renderPseudoColorImage", function() { return renderPseudoColorImage; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addPseudoColorLayer", function() { return addPseudoColorLayer; });
+/* harmony import */ var _setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../setToPixelCoordinateSystem.js */ "./setToPixelCoordinateSystem.js");
+/* harmony import */ var _internal_now_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../internal/now.js */ "./internal/now.js");
+/* harmony import */ var _internal_getFillStyle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../internal/getFillStyle.js */ "./internal/getFillStyle.js");
+/* harmony import */ var _initializeRenderCanvas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./initializeRenderCanvas.js */ "./rendering/initializeRenderCanvas.js");
+/* harmony import */ var _getLut_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getLut.js */ "./rendering/getLut.js");
+/* harmony import */ var _saveLastRendered_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./saveLastRendered.js */ "./rendering/saveLastRendered.js");
+/* harmony import */ var _doesImageNeedToBeRendered_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./doesImageNeedToBeRendered.js */ "./rendering/doesImageNeedToBeRendered.js");
+/* harmony import */ var _internal_storedPixelDataToCanvasImageDataPseudocolorLUT_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../internal/storedPixelDataToCanvasImageDataPseudocolorLUT.js */ "./internal/storedPixelDataToCanvasImageDataPseudocolorLUT.js");
+/* harmony import */ var _colors_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../colors/index.js */ "./colors/index.js");
+/* harmony import */ var _internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../internal/getDisplayedArea.js */ "./internal/getDisplayedArea.js");
+
+
+
+
+
+
+
+
+
+
+/**
+ * Returns an appropriate canvas to render the Image. If the canvas available in the cache is appropriate
+ * it is returned, otherwise adjustments are made. It also sets the color transfer functions.
+ *
+ * @param {Object} enabledElement The cornerstone enabled element
+ * @param {Object} image The image to be rendered
+ * @param {Boolean} invalidated Is pixel data valid
+ * @returns {HTMLCanvasElement} An appropriate canvas for rendering the image
+ * @memberof rendering
+ */
+
+function getRenderCanvas(enabledElement, image, invalidated) {
+  if (!enabledElement.renderingTools.renderCanvas) {
+    enabledElement.renderingTools.renderCanvas = document.createElement('canvas');
+  }
+
+  var renderCanvas = enabledElement.renderingTools.renderCanvas;
+  var colormap = enabledElement.viewport.colormap || enabledElement.options.colormap;
+
+  if (enabledElement.options && enabledElement.options.colormap) {
+    console.warn('enabledElement.options.colormap is deprecated. Use enabledElement.viewport.colormap instead');
+  }
+
+  if (colormap && typeof colormap === 'string') {
+    colormap = _colors_index_js__WEBPACK_IMPORTED_MODULE_8__["default"].getColormap(colormap);
+  }
+
+  if (!colormap) {
+    throw new Error('renderPseudoColorImage: colormap not found.');
+  }
+
+  var colormapId = colormap.getId();
+
+  if (Object(_doesImageNeedToBeRendered_js__WEBPACK_IMPORTED_MODULE_6__["default"])(enabledElement, image) === false && invalidated !== true && enabledElement.renderingTools.colormapId === colormapId) {
+    return renderCanvas;
+  } // If our render canvas does not match the size of this image reset it
+  // NOTE: This might be inefficient if we are updating multiple images of different
+  // Sizes frequently.
+
+
+  if (renderCanvas.width !== image.width || renderCanvas.height !== image.height) {
+    Object(_initializeRenderCanvas_js__WEBPACK_IMPORTED_MODULE_3__["default"])(enabledElement, image);
+  } // Get the lut to use
+
+
+  var start = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])();
+
+  if (!enabledElement.renderingTools.colorLut || invalidated || enabledElement.renderingTools.colormapId !== colormapId) {
+    colormap.setNumberOfColors(256);
+    enabledElement.renderingTools.colorLut = colormap.createLookupTable();
+    enabledElement.renderingTools.colormapId = colormapId;
+  }
+
+  var lut = Object(_getLut_js__WEBPACK_IMPORTED_MODULE_4__["default"])(image, enabledElement.viewport, invalidated);
+  image.stats = image.stats || {};
+  image.stats.lastLutGenerateTime = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])() - start;
+  var colorLut = enabledElement.renderingTools.colorLut;
+  var renderCanvasData = enabledElement.renderingTools.renderCanvasData;
+  var renderCanvasContext = enabledElement.renderingTools.renderCanvasContext;
+  Object(_internal_storedPixelDataToCanvasImageDataPseudocolorLUT_js__WEBPACK_IMPORTED_MODULE_7__["default"])(image, lut, colorLut, renderCanvasData.data);
+  start = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])();
+  renderCanvasContext.putImageData(renderCanvasData, 0, 0);
+  image.stats.lastPutImageDataTime = Object(_internal_now_js__WEBPACK_IMPORTED_MODULE_1__["default"])() - start;
+  return renderCanvas;
+}
+/**
+ * API function to draw a pseudo-color image to a given enabledElement
+ *
+ * @param {EnabledElement} enabledElement The Cornerstone Enabled Element to redraw
+ * @param {Boolean} invalidated - true if pixel data has been invalidated and cached rendering should not be used
+ * @returns {void}
+ * @memberof rendering
+ */
+
+
+function renderPseudoColorImage(enabledElement, invalidated) {
+  if (enabledElement === undefined) {
+    throw new Error('drawImage: enabledElement parameter must not be undefined');
+  }
+
+  var image = enabledElement.image;
+
+  if (image === undefined) {
+    throw new Error('drawImage: image must be loaded before it can be drawn');
+  } // Get the canvas context and reset the transform
+
+
+  var context = enabledElement.canvas.getContext('2d', {
+    desynchronized: true
+  });
+  context.setTransform(1, 0, 0, 1, 0, 0); // Clear the canvas
+
+  context.fillStyle = Object(_internal_getFillStyle_js__WEBPACK_IMPORTED_MODULE_2__["default"])(enabledElement);
+  context.fillRect(0, 0, enabledElement.canvas.width, enabledElement.canvas.height); // Turn off image smooth/interpolation if pixelReplication is set in the viewport
+
+  context.imageSmoothingEnabled = !enabledElement.viewport.pixelReplication;
+  context.mozImageSmoothingEnabled = context.imageSmoothingEnabled; // Save the canvas context state and apply the viewport properties
+
+  Object(_setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_0__["default"])(enabledElement, context); // If no options are set we will retrieve the renderCanvas through the
+  // Normal Canvas rendering path
+  // TODO: Add WebGL support for pseudocolor pipeline
+
+  var renderCanvas = getRenderCanvas(enabledElement, image, invalidated);
+  var imageDisplayedArea = Object(_internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_9__["default"])(enabledElement.image, enabledElement.viewport);
+  var sx = imageDisplayedArea.tlhc.x - 1;
+  var sy = imageDisplayedArea.tlhc.y - 1;
+  var width = imageDisplayedArea.brhc.x - sx;
+  var height = imageDisplayedArea.brhc.y - sy;
+  context.drawImage(renderCanvas, sx, sy, width, height, sx, sy, width, height);
+  enabledElement.renderingTools = Object(_saveLastRendered_js__WEBPACK_IMPORTED_MODULE_5__["default"])(enabledElement);
+}
+/**
+ * API function to draw a pseudo-color image to a given layer
+ *
+ * @param {EnabledElementLayer} layer The layer that the image will be added to
+ * @param {Boolean} invalidated - true if pixel data has been invalidated and cached rendering should not be used
+ * @returns {void}
+ */
+
+function addPseudoColorLayer(layer, invalidated) {
+  if (layer === undefined) {
+    throw new Error('addPseudoColorLayer: layer parameter must not be undefined');
+  }
+
+  var image = layer.image;
+
+  if (image === undefined) {
+    throw new Error('addPseudoColorLayer: image must be loaded before it can be drawn');
+  }
+
+  layer.canvas = getRenderCanvas(layer, image, invalidated);
+  var context = layer.canvas.getContext('2d', {
+    desynchronized: true
+  }); // Turn off image smooth/interpolation if pixelReplication is set in the viewport
+
+  context.imageSmoothingEnabled = !layer.viewport.pixelReplication;
+  context.mozImageSmoothingEnabled = context.imageSmoothingEnabled;
+  layer.renderingTools = Object(_saveLastRendered_js__WEBPACK_IMPORTED_MODULE_5__["default"])(layer);
+}
+
+/***/ }),
+
+/***/ "./rendering/renderToCanvas.js":
+/*!*************************************!*\
+  !*** ./rendering/renderToCanvas.js ***!
+  \*************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _triggerEvent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../triggerEvent.js */ "./triggerEvent.js");
+/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../events.js */ "./events.js");
+/* harmony import */ var _internal_drawImageSync_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../internal/drawImageSync.js */ "./internal/drawImageSync.js");
+/* harmony import */ var _internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../internal/getDefaultViewport.js */ "./internal/getDefaultViewport.js");
+/* harmony import */ var _internal_tryEnableWebgl_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../internal/tryEnableWebgl.js */ "./internal/tryEnableWebgl.js");
+
+
+
+
+
+/**
+ * @typedef {Object} EnabledElementStub
+ * @property {HTMLElement} element  The enabled element
+ * @property {HTMLCanvasElement} canvas The current canvas
+ * @property {Object} image Currently displayed image
+ * @property {Boolean} invalid Whether or not the image pixel data has been changed
+ * @property {Boolean} needsRedraw  A flag for triggering a redraw of the canvas without re-retrieving the pixel data, since it remains valid
+ * @property {Object} options Layer drawing options
+ * @property {Object[]} layers Layers added to the EnabledElement
+ * @property {Object} data
+ * @property {Object} renderingTools
+ * @property {Object} viewport The current viewport
+ * @memberof rendering
+ */
+
+/**
+ * creates a dummy enabled element
+ *
+ * @param {HTMLCanvasElement} canvas the canvas that will be assigned to the enabled element.
+ * @param {any} image An Image loaded by a Cornerstone Image Loader
+ * @param { any } options Options for rendering the image (e.g.enable webgl by {renderer: 'webgl' })
+ * @param { any } viewport A set of Cornerstone viewport parameters
+ * @returns {EnabledElementStub} a dummy enabled element
+ * @memberof rendering
+ */
+
+function createEnabledElementStub(canvas, image, options, viewport) {
+  return {
+    element: canvas,
+    canvas: canvas,
+    image: image,
+    invalid: true,
+    // True if image needs to be drawn, false if not
+    needsRedraw: true,
+    options: options,
+    layers: [],
+    data: {},
+    renderingTools: {},
+    viewport: viewport
+  };
+}
+/**
+ * Render the image to the provided canvas immediately.
+ * @param {any} canvas The HTML canvas where the image will be rendered.
+ * @param {any} image An Image loaded by a Cornerstone Image Loader
+ * @param {any} [viewport = null] A set of Cornerstone viewport parameters
+ * @param {any} [options = null] Options for rendering the image (e.g. enable webgl by {renderer: 'webgl'})
+ * @returns {void}
+ * @memberof rendering
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (function (canvas, image) {
+  var viewport = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
+  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
+
+  if (canvas === undefined) {
+    throw new Error('renderToCanvas: parameter canvas cannot be undefined');
+  } // If this enabled element has the option set for WebGL, we should
+  // Check if this device actually supports it
+
+
+  if (options && options.renderer && options.renderer.toLowerCase() === 'webgl') {
+    Object(_internal_tryEnableWebgl_js__WEBPACK_IMPORTED_MODULE_4__["default"])(options);
+  }
+
+  var defaultViewport = Object(_internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_3__["default"])(canvas, image);
+
+  if (viewport) {
+    Object.assign(defaultViewport, viewport);
+  }
+
+  var enabledElementStub = createEnabledElementStub(canvas, image, options, defaultViewport);
+  var eventDetails = {
+    enabledElement: enabledElementStub,
+    timestamp: Date.now()
+  };
+  Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_0__["default"])(enabledElementStub.element, _events_js__WEBPACK_IMPORTED_MODULE_1__["default"].PRE_RENDER, eventDetails);
+  Object(_internal_drawImageSync_js__WEBPACK_IMPORTED_MODULE_2__["default"])(enabledElementStub, enabledElementStub.invalid);
+});
+
+/***/ }),
+
+/***/ "./rendering/renderWebImage.js":
+/*!*************************************!*\
+  !*** ./rendering/renderWebImage.js ***!
+  \*************************************/
+/*! exports provided: renderWebImage */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "renderWebImage", function() { return renderWebImage; });
+/* harmony import */ var _setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../setToPixelCoordinateSystem.js */ "./setToPixelCoordinateSystem.js");
+/* harmony import */ var _renderColorImage_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./renderColorImage.js */ "./rendering/renderColorImage.js");
+/* harmony import */ var _internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../internal/getDisplayedArea.js */ "./internal/getDisplayedArea.js");
+
+
+
+/**
+ * API function to draw a standard web image (PNG, JPG) to an enabledImage
+ *
+ * @param {EnabledElement} enabledElement The Cornerstone Enabled Element to redraw
+ * @param {Boolean} invalidated - true if pixel data has been invalidated and cached rendering should not be used
+ * @returns {void}
+ * @memberof rendering
+ */
+
+function renderWebImage(enabledElement, invalidated) {
+  if (enabledElement === undefined) {
+    throw new Error('renderWebImage: enabledElement parameter must not be undefined');
+  }
+
+  var image = enabledElement.image;
+
+  if (image === undefined) {
+    throw new Error('renderWebImage: image must be loaded before it can be drawn');
+  } // If the viewport ww/wc and invert all match the initial state of the image, we can draw the image
+  // Directly. If any of those are changed, we call renderColorImage() to apply the lut
+
+
+  if (enabledElement.viewport.voi.windowWidth === enabledElement.image.windowWidth && enabledElement.viewport.voi.windowCenter === enabledElement.image.windowCenter && enabledElement.viewport.invert === false) {
+    // Get the canvas context and reset the transform
+    var context = enabledElement.canvas.getContext('2d', {
+      desynchronized: true
+    });
+    context.setTransform(1, 0, 0, 1, 0, 0); // Clear the canvas
+
+    context.fillStyle = 'black';
+    context.fillRect(0, 0, enabledElement.canvas.width, enabledElement.canvas.height); // Turn off image smooth/interpolation if pixelReplication is set in the viewport
+
+    context.imageSmoothingEnabled = !enabledElement.viewport.pixelReplication;
+    context.mozImageSmoothingEnabled = context.imageSmoothingEnabled; // Save the canvas context state and apply the viewport properties
+
+    Object(_setToPixelCoordinateSystem_js__WEBPACK_IMPORTED_MODULE_0__["default"])(enabledElement, context);
+    var imageDisplayedArea = Object(_internal_getDisplayedArea_js__WEBPACK_IMPORTED_MODULE_2__["default"])(enabledElement.image, enabledElement.viewport);
+    var sx = imageDisplayedArea.tlhc.x - 1;
+    var sy = imageDisplayedArea.tlhc.y - 1;
+    var width = imageDisplayedArea.brhc.x - sx;
+    var height = imageDisplayedArea.brhc.y - sy;
+    context.drawImage(image.getImage(), sx, sy, width, height, sx, sy, width, height);
+  } else {
+    Object(_renderColorImage_js__WEBPACK_IMPORTED_MODULE_1__["renderColorImage"])(enabledElement, invalidated);
+  }
+}
+
+/***/ }),
+
+/***/ "./rendering/saveLastRendered.js":
+/*!***************************************!*\
+  !*** ./rendering/saveLastRendered.js ***!
+  \***************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/**
+ * Saves the parameters of the last render into renderingTools, used later to decide if data can be reused.
+ *
+ * @param {Object} enabledElement Cornerstone EnabledElement
+ * @returns {Object} enabledElement.renderingTools
+ * @memberof rendering
+ */
+/* harmony default export */ __webpack_exports__["default"] = (function (enabledElement) {
+  var imageId = enabledElement.image.imageId;
+  var viewport = enabledElement.viewport;
+  var isColor = enabledElement.image.color;
+  enabledElement.renderingTools.lastRenderedImageId = imageId;
+  enabledElement.renderingTools.lastRenderedIsColor = isColor;
+  enabledElement.renderingTools.lastRenderedViewport = {
+    windowCenter: viewport.voi.windowCenter,
+    windowWidth: viewport.voi.windowWidth,
+    invert: viewport.invert,
+    rotation: viewport.rotation,
+    hflip: viewport.hflip,
+    vflip: viewport.vflip,
+    modalityLUT: viewport.modalityLUT,
+    voiLUT: viewport.voiLUT,
+    colormap: viewport.colormap
+  };
+  return enabledElement.renderingTools;
+});
+
+/***/ }),
+
+/***/ "./requestPool/RequestPoolManager.ts":
+/*!*******************************************!*\
+  !*** ./requestPool/RequestPoolManager.ts ***!
+  \*******************************************/
+/*! exports provided: RequestPoolManager */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RequestPoolManager", function() { return RequestPoolManager; });
+function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var RequestPoolManager = /*#__PURE__*/function () {
+  // priority is fixed for interaction and thumbnail to be 0, however,
+  // the priority of prefetch can be configured and it can have priorities other
+  // than 0 (highest priority)
+  // TODO: Some of this stuff shouldn't be public but it's easier right now
+  function RequestPoolManager() {
+    _classCallCheck(this, RequestPoolManager);
+
+    _defineProperty(this, "requestPool", void 0);
+
+    _defineProperty(this, "awake", void 0);
+
+    _defineProperty(this, "numRequests", void 0);
+
+    _defineProperty(this, "maxNumRequests", void 0);
+
+    _defineProperty(this, "grabDelay", void 0);
+
+    _defineProperty(this, "timeoutHandle", void 0);
+
+    this.requestPool = {
+      interaction: {
+        0: []
+      },
+      thumbnail: {
+        0: []
+      },
+      prefetch: {
+        0: []
+      }
+    };
+    this.awake = false;
+    this.grabDelay = 5;
+    this.numRequests = {
+      interaction: 0,
+      thumbnail: 0,
+      prefetch: 0
+    };
+    this.maxNumRequests = {
+      interaction: 6,
+      thumbnail: 6,
+      prefetch: 5
+    };
+  }
+
+  _createClass(RequestPoolManager, [{
+    key: "destroy",
+    value: function destroy() {
+      if (this.timeoutHandle) {
+        window.clearTimeout(this.timeoutHandle);
+      }
+    }
+    /**
+     * Adds the requests to the pool of requests.
+     *
+     * @param requestFn - A function that returns a promise which resolves in the image
+     * @param type - Priority category, it can be either of interaction, prefetch,
+     * or thumbnail.
+     * @param additionalDetails - Additional details that requests can contain.
+     * For instance the volumeUID for the volume requests
+     * @param priority - Priority number for each category of requests. Its default
+     * value is priority 0. The lower the priority number, the higher the priority number
+     *
+     * @returns void
+     *
+     */
+
+  }, {
+    key: "addRequest",
+    value: function addRequest(requestFn, type, additionalDetails) {
+      var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
+      var addToBeginning = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
+      // Describe the request
+      var requestDetails = {
+        requestFn: requestFn,
+        type: type,
+        additionalDetails: additionalDetails
+      }; // Check if the priority group exists on the request type
+
+      if (this.requestPool[type][priority] === undefined) {
+        this.requestPool[type][priority] = [];
+      } // Adding the request to the correct priority group of the request type
+
+
+      if (addToBeginning) {
+        // Add it to the beginning of the stack
+        this.requestPool[type][priority].unshift(requestDetails);
+      } else {
+        // Add it to the end of the stack
+        this.requestPool[type][priority].push(requestDetails);
+      } // Wake up
+
+
+      if (!this.awake) {
+        this.awake = true;
+        this.startGrabbing();
+      }
+    }
+    /**
+     * Filter the requestPoolManager's pool of request based on the result of
+     * provided filter function. The provided filter function needs to return false or true
+     *
+     * @param filterFunction The filter function for filtering of the requests to keep
+     * @category requestPool
+     */
+
+  }, {
+    key: "filterRequests",
+    value: function filterRequests(filterFunction) {
+      var _this = this;
+
+      Object.keys(this.requestPool).forEach(function (type) {
+        var requestType = _this.requestPool[type];
+        Object.keys(requestType).forEach(function (priority) {
+          requestType[priority] = requestType[priority].filter(function (requestDetails) {
+            return filterFunction(requestDetails);
+          });
+        });
+      });
+    }
+    /**
+     * Clears the requests specific to the provided type. For instance, the
+     * pool of requests of type 'interaction' can be cleared via this function.
+     *
+     *
+     * @param type category of the request (either interaction, prefetch or thumbnail)
+     * @category requestPool
+     */
+
+  }, {
+    key: "clearRequestStack",
+    value: function clearRequestStack(type) {
+      if (!this.requestPool[type]) {
+        throw new Error("No category for the type ".concat(type, " found"));
+      }
+
+      this.requestPool[type] = {
+        0: []
+      };
+    }
+  }, {
+    key: "sendRequest",
+    value: function sendRequest(_ref) {
+      var _this2 = this;
+
+      var requestFn = _ref.requestFn,
+          type = _ref.type;
+      // Increment the number of current requests of this type
+      this.numRequests[type]++;
+      this.awake = true;
+      requestFn()["finally"](function () {
+        _this2.numRequests[type]--;
+
+        _this2.startAgain();
+      });
+    }
+  }, {
+    key: "startGrabbing",
+    value: function startGrabbing() {
+      // Begin by grabbing X images
+      // TODO: This is the reason things aren't going as fast as expected
+      // const maxSimultaneousRequests = getMaxSimultaneousRequests()
+      // this.maxNumRequests = {
+      //   interaction: Math.max(maxSimultaneousRequests, 1),
+      //   thumbnail: Math.max(maxSimultaneousRequests - 2, 1),
+      //   prefetch: Math.max(maxSimultaneousRequests - 1, 1),
+      // }
+      var maxRequests = this.maxNumRequests.interaction + this.maxNumRequests.thumbnail + this.maxNumRequests.prefetch;
+      var currentRequests = this.numRequests.interaction + this.numRequests.thumbnail + this.numRequests.prefetch;
+      var requestsToSend = maxRequests - currentRequests;
+
+      for (var i = 0; i < requestsToSend; i++) {
+        var _requestDetails = this.getNextRequest();
+
+        if (_requestDetails === false) {
+          break;
+        } else if (_requestDetails) {
+          this.sendRequest(_requestDetails);
+        }
+      }
+    }
+  }, {
+    key: "startAgain",
+    value: function startAgain() {
+      var _this3 = this;
+
+      if (!this.awake) {
+        return;
+      }
+
+      if (this.grabDelay) {
+        this.timeoutHandle = window.setTimeout(function () {
+          _this3.startGrabbing();
+        }, this.grabDelay);
+      } else {
+        this.startGrabbing();
+      }
+    }
+  }, {
+    key: "getSortedPriorityGroups",
+    value: function getSortedPriorityGroups(type) {
+      var _this4 = this;
+
+      var priorities = Object.keys(this.requestPool[type]).map(Number).filter(function (priority) {
+        return _this4.requestPool[type][priority].length;
+      }).sort();
+      return priorities;
+    }
+  }, {
+    key: "getNextRequest",
+    value: function getNextRequest() {
+      var interactionPriorities = this.getSortedPriorityGroups('interaction');
+
+      var _iterator = _createForOfIteratorHelper(interactionPriorities),
+          _step;
+
+      try {
+        for (_iterator.s(); !(_step = _iterator.n()).done;) {
+          var priority = _step.value;
+
+          if (this.requestPool.interaction[priority].length && this.numRequests.interaction < this.maxNumRequests.interaction) {
+            return this.requestPool.interaction[priority].shift();
+          }
+        }
+      } catch (err) {
+        _iterator.e(err);
+      } finally {
+        _iterator.f();
+      }
+
+      var thumbnailPriorities = this.getSortedPriorityGroups('thumbnail');
+
+      var _iterator2 = _createForOfIteratorHelper(thumbnailPriorities),
+          _step2;
+
+      try {
+        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
+          var _priority = _step2.value;
+
+          if (this.requestPool.thumbnail[_priority].length && this.numRequests.thumbnail < this.maxNumRequests.thumbnail) {
+            return this.requestPool.thumbnail[_priority].shift();
+          }
+        }
+      } catch (err) {
+        _iterator2.e(err);
+      } finally {
+        _iterator2.f();
+      }
+
+      var prefetchPriorities = this.getSortedPriorityGroups('prefetch');
+
+      var _iterator3 = _createForOfIteratorHelper(prefetchPriorities),
+          _step3;
+
+      try {
+        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
+          var _priority2 = _step3.value;
+
+          if (this.requestPool.prefetch[_priority2].length && this.numRequests.prefetch < this.maxNumRequests.prefetch) {
+            return this.requestPool.prefetch[_priority2].shift();
+          }
+        }
+      } catch (err) {
+        _iterator3.e(err);
+      } finally {
+        _iterator3.f();
+      }
+
+      if (!interactionPriorities.length && !thumbnailPriorities.length && !prefetchPriorities.length) {
+        this.awake = false;
+      }
+
+      return false;
+    }
+    /**
+     * Returns the request pool containing different categories, their priority and
+     * the added request details.
+     *
+     * @returns
+     * @category requestPool
+     */
+
+  }, {
+    key: "getRequestPool",
+    value: function getRequestPool() {
+      return this.requestPool;
+    }
+  }]);
+
+  return RequestPoolManager;
+}();
+
+
+
+/***/ }),
+
+/***/ "./requestPool/imageLoadPoolManager.ts":
+/*!*********************************************!*\
+  !*** ./requestPool/imageLoadPoolManager.ts ***!
+  \*********************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _RequestPoolManager_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RequestPoolManager.ts */ "./requestPool/RequestPoolManager.ts");
+ // Loading = Retrieval + Decoding
+
+var imageLoadPoolManager = new _RequestPoolManager_ts__WEBPACK_IMPORTED_MODULE_0__["RequestPoolManager"]();
+imageLoadPoolManager.maxNumRequests = {
+  interaction: 1000,
+  thumbnail: 1000,
+  prefetch: 1000
+};
+imageLoadPoolManager.grabDelay = 0;
+/* harmony default export */ __webpack_exports__["default"] = (imageLoadPoolManager);
+
+/***/ }),
+
+/***/ "./requestPool/imageRetrievalPoolManager.ts":
+/*!**************************************************!*\
+  !*** ./requestPool/imageRetrievalPoolManager.ts ***!
+  \**************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _RequestPoolManager_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RequestPoolManager.ts */ "./requestPool/RequestPoolManager.ts");
+ // Retrieval (usually) === XHR requests
+
+var imageRetrievalPoolManager = new _RequestPoolManager_ts__WEBPACK_IMPORTED_MODULE_0__["RequestPoolManager"]();
+imageRetrievalPoolManager.maxNumRequests = {
+  interaction: 20,
+  thumbnail: 20,
+  prefetch: 20
+};
+imageRetrievalPoolManager.grabDelay = 0;
+/* harmony default export */ __webpack_exports__["default"] = (imageRetrievalPoolManager);
+
+/***/ }),
+
+/***/ "./reset.js":
+/*!******************!*\
+  !*** ./reset.js ***!
+  \******************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/getDefaultViewport.js */ "./internal/getDefaultViewport.js");
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _updateImage_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./updateImage.js */ "./updateImage.js");
+
+
+
+/**
+ * Resets the viewport to the default settings
+ *
+ * @param {HTMLElement} element An HTML Element enabled for Cornerstone
+ * @returns {void}
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElement"])(element);
+  enabledElement.viewport = Object(_internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_0__["default"])(enabledElement.canvas, enabledElement.image);
+  Object(_updateImage_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element);
+});
+
+/***/ }),
+
+/***/ "./resize.js":
+/*!*******************!*\
+  !*** ./resize.js ***!
+  \*******************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _fitToWindow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fitToWindow.js */ "./fitToWindow.js");
+/* harmony import */ var _updateImage_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./updateImage.js */ "./updateImage.js");
+/* harmony import */ var _triggerEvent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./triggerEvent.js */ "./triggerEvent.js");
+/* harmony import */ var _internal_getImageSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/getImageSize.js */ "./internal/getImageSize.js");
+/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./events.js */ "./events.js");
+
+
+
+
+
+
+/**
+ * This module is responsible for enabling an element to display images with cornerstone
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @param {HTMLElement} canvas The Canvas DOM element within the DOM element enabled for Cornerstone
+ * @returns {void}
+ */
+
+function setCanvasSize(element, canvas) {
+  // The device pixel ratio is 1.0 for normal displays and > 1.0
+  // For high DPI displays like Retina
+
+  /*
+      This functionality is disabled due to buggy behavior on systems with mixed DPI's.  If the canvas
+    is created on a display with high DPI (e.g. 2.0) and then the browser window is dragged to
+    a different display with a different DPI (e.g. 1.0), the canvas is not recreated so the pageToPixel
+    produces incorrect results.  I couldn't find any way to determine when the DPI changed other than
+    by polling which is not very clean.  If anyone has any ideas here, please let me know, but for now
+    we will disable this functionality.  We may want
+    to add a mechanism to optionally enable this functionality if we can determine it is safe to do
+    so (e.g. iPad or iPhone or perhaps enumerate the displays on the system.  I am choosing
+    to be cautious here since I would rather not have bug reports or safety issues related to this
+    scenario.
+      var devicePixelRatio = window.devicePixelRatio;
+    if(devicePixelRatio === undefined) {
+        devicePixelRatio = 1.0;
+    }
+    */
+  // Avoid setting the same value because it flashes the canvas with IE and Edge
+  if (canvas.width !== element.clientWidth) {
+    canvas.width = element.clientWidth;
+    canvas.style.width = "".concat(element.clientWidth, "px");
+  } // Avoid setting the same value because it flashes the canvas with IE and Edge
+
+
+  if (canvas.height !== element.clientHeight) {
+    canvas.height = element.clientHeight;
+    canvas.style.height = "".concat(element.clientHeight, "px");
+  }
+}
+/**
+ * Checks if the image of a given enabled element fitted the window
+ * before the resize
+ *
+ * @param {EnabledElement} enabledElement The Cornerstone Enabled Element
+ * @param {number} oldCanvasWidth The width of the canvas before the resize
+ * @param {number} oldCanvasHeight The height of the canvas before the resize
+ * @return {Boolean} true if it fitted the windows, false otherwise
+ */
+
+
+function wasFitToWindow(enabledElement, oldCanvasWidth, oldCanvasHeight) {
+  var scale = enabledElement.viewport.scale;
+  var imageSize = Object(_internal_getImageSize_js__WEBPACK_IMPORTED_MODULE_4__["default"])(enabledElement.image, enabledElement.viewport.rotation);
+  var imageWidth = Math.round(imageSize.width * scale);
+  var imageHeight = Math.round(imageSize.height * scale);
+  var x = enabledElement.viewport.translation.x;
+  var y = enabledElement.viewport.translation.y;
+  return imageWidth === oldCanvasWidth && imageHeight <= oldCanvasHeight || imageWidth <= oldCanvasWidth && imageHeight === oldCanvasHeight && x === 0 && y === 0;
+}
+/**
+ * Rescale the image relative to the changed size of the canvas
+ *
+ * @param {EnabledElement} enabledElement The Cornerstone Enabled Element
+ * @param {number} oldCanvasWidth The width of the canvas before the resize
+ * @param {number} oldCanvasHeight The height of the canvas before the resize
+ * @return {void}
+ */
+
+
+function relativeRescale(enabledElement, oldCanvasWidth, oldCanvasHeight) {
+  var scale = enabledElement.viewport.scale;
+  var canvasWidth = enabledElement.canvas.width;
+  var canvasHeight = enabledElement.canvas.height;
+  var relWidthChange = canvasWidth / oldCanvasWidth;
+  var relHeightChange = canvasHeight / oldCanvasHeight;
+  var relChange = Math.sqrt(relWidthChange * relHeightChange);
+  enabledElement.viewport.scale = relChange * scale;
+}
+/**
+ * Resizes an enabled element and optionally fits the image to window
+ *
+ * @param {HTMLElement} element The DOM element enabled for Cornerstone
+ * @param {Boolean} forceFitToWindow true to to force a refit, false to rescale accordingly
+ * @returns {void}
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element, forceFitToWindow) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  var oldCanvasWidth = enabledElement.canvas.width;
+  var oldCanvasHeight = enabledElement.canvas.height;
+  setCanvasSize(element, enabledElement.canvas);
+  var eventData = {
+    element: element
+  };
+  Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_3__["default"])(element, _events_js__WEBPACK_IMPORTED_MODULE_5__["default"].ELEMENT_RESIZED, eventData);
+
+  if (enabledElement.image === undefined) {
+    return;
+  }
+
+  if (forceFitToWindow || wasFitToWindow(enabledElement, oldCanvasWidth, oldCanvasHeight)) {
+    // Fit the image to the window again if it fitted before the resize
+    Object(_fitToWindow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element);
+  } else {
+    // Adapt the scale of a zoomed or panned image relative to the size change
+    relativeRescale(enabledElement, oldCanvasWidth, oldCanvasHeight);
+    Object(_updateImage_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element);
+  }
+});
+
+/***/ }),
+
+/***/ "./setToPixelCoordinateSystem.js":
+/*!***************************************!*\
+  !*** ./setToPixelCoordinateSystem.js ***!
+  \***************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _internal_calculateTransform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/calculateTransform.js */ "./internal/calculateTransform.js");
+
+/**
+ * Sets the canvas context transformation matrix to the pixel coordinate system.  This allows
+ * geometry to be driven using the canvas context using coordinates in the pixel coordinate system
+ * @param {EnabledElement} enabledElement The
+ * @param {CanvasRenderingContext2D} context The CanvasRenderingContext2D for the enabledElement's Canvas
+ * @param {Number} [scale] Optional scale to apply
+ * @returns {void}
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (enabledElement, context, scale) {
+  if (enabledElement === undefined) {
+    throw new Error('setToPixelCoordinateSystem: parameter enabledElement must not be undefined');
+  }
+
+  if (context === undefined) {
+    throw new Error('setToPixelCoordinateSystem: parameter context must not be undefined');
+  }
+
+  var transform = Object(_internal_calculateTransform_js__WEBPACK_IMPORTED_MODULE_0__["default"])(enabledElement, scale);
+  context.setTransform(transform.m[0], transform.m[1], transform.m[2], transform.m[3], transform.m[4], transform.m[5]);
+});
+
+/***/ }),
+
+/***/ "./setViewport.js":
+/*!************************!*\
+  !*** ./setViewport.js ***!
+  \************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/getDefaultViewport.js */ "./internal/getDefaultViewport.js");
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _updateImage_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./updateImage.js */ "./updateImage.js");
+
+
+
+var MIN_WINDOW_WIDTH = 0.000001;
+var MIN_VIEWPORT_SCALE = 0.0001;
+/**
+ * Sets/updates viewport of a given enabled element
+ *
+ * @param {HTMLElement} element - DOM element of the enabled element
+ * @param {Viewport} [viewport] - Object containing the viewport properties
+ * @returns {void}
+ * @memberof ViewportSettings
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element, viewport) {
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_1__["getEnabledElement"])(element); // If viewport is not already set, start with default and merge new
+  // viewport options later
+
+  if (enabledElement.viewport === undefined) {
+    enabledElement.viewport = Object(_internal_getDefaultViewport_js__WEBPACK_IMPORTED_MODULE_0__["default"])(enabledElement.canvas);
+  } // Merge viewport
+
+
+  if (viewport) {
+    for (var attrname in viewport) {
+      if (viewport[attrname] !== null) {
+        enabledElement.viewport[attrname] = viewport[attrname];
+      }
+    }
+  } // Prevent window width from being too small (note that values close to zero are valid and can occur with
+  // PET images in particular)
+
+
+  if (enabledElement.viewport.voi.windowWidth) {
+    enabledElement.viewport.voi.windowWidth = Math.max(enabledElement.viewport.voi.windowWidth, MIN_WINDOW_WIDTH);
+  } // Prevent scale from getting too small
+
+
+  if (enabledElement.viewport.scale) {
+    enabledElement.viewport.scale = Math.max(enabledElement.viewport.scale, MIN_VIEWPORT_SCALE);
+  } // Normalize the rotation value to a positive rotation in degrees
+
+
+  enabledElement.viewport.rotation %= 360;
+
+  if (enabledElement.viewport.rotation < 0) {
+    enabledElement.viewport.rotation += 360;
+  }
+
+  if (enabledElement.image) {
+    // Force the image to be updated since the viewport has been modified
+    Object(_updateImage_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element);
+  }
+});
+
+/***/ }),
+
+/***/ "./triggerEvent.js":
+/*!*************************!*\
+  !*** ./triggerEvent.js ***!
+  \*************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return triggerEvent; });
+/**
+ * Trigger a CustomEvent
+ *
+ * @param {EventTarget} el The element or EventTarget to trigger the event upon
+ * @param {String} type The event type name
+ * @param {Object|null} detail=null The event data to be sent
+ * @returns {Boolean} The return value is false if at least one event listener called preventDefault(). Otherwise it returns true.
+ */
+function triggerEvent(el, type) {
+  var detail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
+  var event; // This check is needed to polyfill CustomEvent on IE11-
+
+  if (typeof window.CustomEvent === 'function') {
+    event = new CustomEvent(type, {
+      detail: detail,
+      cancelable: true
+    });
+  } else {
+    event = document.createEvent('CustomEvent');
+    event.initCustomEvent(type, true, true, detail);
+  }
+
+  return el.dispatchEvent(event);
+}
+
+/***/ }),
+
+/***/ "./updateImage.js":
+/*!************************!*\
+  !*** ./updateImage.js ***!
+  \************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _enabledElements_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enabledElements.js */ "./enabledElements.js");
+/* harmony import */ var _internal_drawImage_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/drawImage.js */ "./internal/drawImage.js");
+
+
+/**
+ * Forces the image to be updated/redrawn for the specified enabled element
+ * @param {HTMLElement} element An HTML Element enabled for Cornerstone
+ * @param {Boolean} [invalidated=false] Whether or not the image pixel data has been changed, necessitating a redraw
+ *
+ * @returns {void}
+ * @memberof Drawing
+ */
+
+/* harmony default export */ __webpack_exports__["default"] = (function (element) {
+  var invalidated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+  var enabledElement = Object(_enabledElements_js__WEBPACK_IMPORTED_MODULE_0__["getEnabledElement"])(element);
+  Object(_internal_drawImage_js__WEBPACK_IMPORTED_MODULE_1__["default"])(enabledElement, invalidated);
+});
+
+/***/ }),
+
+/***/ "./webgl/createProgramFromString.js":
+/*!******************************************!*\
+  !*** ./webgl/createProgramFromString.js ***!
+  \******************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/**
+ * Creates and compiles a shader.
+ *
+ * @param {!WebGLRenderingContext} gl The WebGL Context.
+ * @param {string} shaderSource The GLSL source code for the shader.
+ * @param {number} shaderType The type of shader, VERTEX_SHADER or FRAGMENT_SHADER.
+ *
+ * @return {!WebGLShader} The shader.
+ * @memberof WebGLRendering
+ */
+function compileShader(gl, shaderSource, shaderType) {
+  // Create the shader object
+  var shader = gl.createShader(shaderType); // Set the shader source code.
+
+  gl.shaderSource(shader, shaderSource); // Compile the shader
+
+  gl.compileShader(shader); // Check if it compiled
+
+  var success = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
+
+  if (!success && !gl.isContextLost()) {
+    // Something went wrong during compilation; get the error
+    var infoLog = gl.getShaderInfoLog(shader);
+    console.error("Could not compile shader:\n".concat(infoLog));
+  }
+
+  return shader;
+}
+/**
+ * Creates a program from 2 shaders.
+ *
+ * @param {!WebGLRenderingContext} gl The WebGL context.
+ * @param {!WebGLShader} vertexShader A vertex shader.
+ * @param {!WebGLShader} fragmentShader A fragment shader.
+ * @return {!WebGLProgram} A program.
+ * @memberof WebGLRendering
+ */
+
+
+function createProgram(gl, vertexShader, fragmentShader) {
+  // Create a program.
+  var program = gl.createProgram(); // Attach the shaders.
+
+  gl.attachShader(program, vertexShader);
+  gl.attachShader(program, fragmentShader); // Link the program.
+
+  gl.linkProgram(program); // Check if it linked.
+
+  var success = gl.getProgramParameter(program, gl.LINK_STATUS);
+
+  if (!success && !gl.isContextLost()) {
+    // Something went wrong with the link
+    var infoLog = gl.getProgramInfoLog(program);
+    console.error("WebGL program filed to link:\n".concat(infoLog));
+  }
+
+  return program;
+}
+/**
+ * Creates a program from 2 shaders source (Strings)
+ * @param  {!WebGLRenderingContext} gl              The WebGL context.
+ * @param  {!WebGLShader} vertexShaderSrc   Vertex shader string
+ * @param  {!WebGLShader} fragShaderSrc Fragment shader string
+ * @return {!WebGLProgram}                 A program
+ * @memberof WebGLRendering
+ */
+
+
+/* harmony default export */ __webpack_exports__["default"] = (function (gl, vertexShaderSrc, fragShaderSrc) {
+  var vertexShader = compileShader(gl, vertexShaderSrc, gl.VERTEX_SHADER);
+  var fragShader = compileShader(gl, fragShaderSrc, gl.FRAGMENT_SHADER);
+  return createProgram(gl, vertexShader, fragShader);
+});
+
+/***/ }),
+
+/***/ "./webgl/index.js":
+/*!************************!*\
+  !*** ./webgl/index.js ***!
+  \************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _renderer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./renderer.js */ "./webgl/renderer.js");
+/* harmony import */ var _createProgramFromString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createProgramFromString.js */ "./webgl/createProgramFromString.js");
+/* harmony import */ var _textureCache_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./textureCache.js */ "./webgl/textureCache.js");
+
+
+
+/**
+ * @module WebGLRendering
+ */
+
+var mod = {
+  createProgramFromString: _createProgramFromString_js__WEBPACK_IMPORTED_MODULE_1__["default"],
+  renderer: {
+    render: _renderer_js__WEBPACK_IMPORTED_MODULE_0__["render"],
+    initRenderer: _renderer_js__WEBPACK_IMPORTED_MODULE_0__["initRenderer"],
+    getRenderCanvas: _renderer_js__WEBPACK_IMPORTED_MODULE_0__["getRenderCanvas"],
+    isWebGLAvailable: _renderer_js__WEBPACK_IMPORTED_MODULE_0__["isWebGLAvailable"]
+  },
+  textureCache: _textureCache_js__WEBPACK_IMPORTED_MODULE_2__["default"]
+};
+Object.defineProperty(mod, 'isWebGLInitialized', {
+  enumerable: true,
+  configurable: false,
+  get: function get() {
+    return _renderer_js__WEBPACK_IMPORTED_MODULE_0__["isWebGLInitialized"];
+  }
+});
+/* harmony default export */ __webpack_exports__["default"] = (mod);
+
+/***/ }),
+
+/***/ "./webgl/renderer.js":
+/*!***************************!*\
+  !*** ./webgl/renderer.js ***!
+  \***************************/
+/*! exports provided: isWebGLInitialized, getRenderCanvas, initRenderer, render, isWebGLAvailable */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isWebGLInitialized", function() { return isWebGLInitialized; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getRenderCanvas", function() { return getRenderCanvas; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initRenderer", function() { return initRenderer; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isWebGLAvailable", function() { return isWebGLAvailable; });
+/* harmony import */ var _shaders_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./shaders/index.js */ "./webgl/shaders/index.js");
+/* harmony import */ var _vertexShader_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./vertexShader.js */ "./webgl/vertexShader.js");
+/* harmony import */ var _textureCache_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./textureCache.js */ "./webgl/textureCache.js");
+/* harmony import */ var _createProgramFromString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createProgramFromString.js */ "./webgl/createProgramFromString.js");
+/* eslint no-bitwise: 0 */
+
+
+
+
+var renderCanvas = document.createElement('canvas');
+var gl;
+var texCoordBuffer;
+var positionBuffer;
+var isWebGLInitialized = false;
+
+function getRenderCanvas() {
+  return renderCanvas;
+}
+
+function initShaders() {
+  for (var id in _shaders_index_js__WEBPACK_IMPORTED_MODULE_0__["shaders"]) {
+    // Console.log("WEBGL: Loading shader", id);
+    var shader = _shaders_index_js__WEBPACK_IMPORTED_MODULE_0__["shaders"][id];
+    shader.attributes = {};
+    shader.uniforms = {};
+    shader.vert = _vertexShader_js__WEBPACK_IMPORTED_MODULE_1__["vertexShader"];
+    shader.program = Object(_createProgramFromString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(gl, shader.vert, shader.frag);
+    shader.attributes.texCoordLocation = gl.getAttribLocation(shader.program, 'a_texCoord');
+    gl.enableVertexAttribArray(shader.attributes.texCoordLocation);
+    shader.attributes.positionLocation = gl.getAttribLocation(shader.program, 'a_position');
+    gl.enableVertexAttribArray(shader.attributes.positionLocation);
+    shader.uniforms.resolutionLocation = gl.getUniformLocation(shader.program, 'u_resolution');
+  }
+}
+
+function initRenderer() {
+  if (isWebGLInitialized === true) {
+    // Console.log("WEBGL Renderer already initialized");
+    return;
+  }
+
+  if (initWebGL(renderCanvas)) {
+    initBuffers();
+    initShaders(); // Console.log("WEBGL Renderer initialized!");
+
+    isWebGLInitialized = true;
+  }
+}
+
+function updateRectangle(gl, width, height) {
+  gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([width, height, 0, height, width, 0, 0, 0]), gl.STATIC_DRAW);
+}
+
+function handleLostContext(event) {
+  event.preventDefault();
+  console.warn('WebGL Context Lost!');
+}
+
+function handleRestoredContext(event) {
+  event.preventDefault();
+  isWebGLInitialized = false;
+  _textureCache_js__WEBPACK_IMPORTED_MODULE_2__["default"].purgeCache();
+  initRenderer(); // Console.log('WebGL Context Restored.');
+}
+
+function initWebGL(canvas) {
+  gl = null;
+
+  try {
+    // Try to grab the standard context. If it fails, fallback to experimental.
+    var options = {
+      desynchronized: true,
+      preserveDrawingBuffer: true // Preserve buffer so we can copy to display canvas element
+
+    }; // ---------------- Testing purposes -------------
+    // If (debug === true && WebGLDebugUtils) {
+    //    RenderCanvas = WebGLDebugUtils.makeLostContextSimulatingCanvas(renderCanvas);
+    // }
+    // ---------------- Testing purposes -------------
+
+    gl = canvas.getContext('webgl', options) || canvas.getContext('experimental-webgl', options); // Set up event listeners for context lost / context restored
+
+    canvas.removeEventListener('webglcontextlost', handleLostContext, false);
+    canvas.addEventListener('webglcontextlost', handleLostContext, false);
+    canvas.removeEventListener('webglcontextrestored', handleRestoredContext, false);
+    canvas.addEventListener('webglcontextrestored', handleRestoredContext, false);
+  } catch (error) {
+    throw new Error('Error creating WebGL context');
+  } // If we don't have a GL context, give up now
+
+
+  if (!gl) {
+    console.error('Unable to initialize WebGL. Your browser may not support it.');
+    gl = null;
+  }
+
+  return gl;
+}
+/**
+ * Returns the image data type as a string representation.
+ * @param {any} image The cornerstone image object
+ * @returns {string} image data type (rgb, iint16, uint16, int8 and uint8)
+ * @memberof WebGLRendering
+ */
+
+
+function getImageDataType(image) {
+  if (image.color) {
+    return 'rgb';
+  }
+
+  var pixelData = image.getPixelData();
+
+  if (pixelData instanceof Int16Array) {
+    return 'int16';
+  }
+
+  if (pixelData instanceof Uint16Array) {
+    return 'uint16';
+  }
+
+  if (pixelData instanceof Int8Array) {
+    return 'int8';
+  }
+
+  return 'uint8';
+}
+
+function getShaderProgram(image) {
+  var datatype = getImageDataType(image); // We need a mechanism for
+  // Choosing the shader based on the image datatype
+  // Console.log("Datatype: " + datatype);
+
+  if (_shaders_index_js__WEBPACK_IMPORTED_MODULE_0__["shaders"].hasOwnProperty(datatype)) {
+    return _shaders_index_js__WEBPACK_IMPORTED_MODULE_0__["shaders"][datatype];
+  }
+
+  return _shaders_index_js__WEBPACK_IMPORTED_MODULE_0__["shaders"].rgb;
+}
+
+function generateTexture(image) {
+  var TEXTURE_FORMAT = {
+    uint8: gl.LUMINANCE,
+    int8: gl.LUMINANCE_ALPHA,
+    uint16: gl.LUMINANCE_ALPHA,
+    int16: gl.RGB,
+    rgb: gl.RGB
+  };
+  var TEXTURE_BYTES = {
+    int8: 1,
+    // Luminance
+    uint16: 2,
+    // Luminance + Alpha
+    int16: 3,
+    // RGB
+    rgb: 3 // RGB
+
+  };
+  var imageDataType = getImageDataType(image);
+  var format = TEXTURE_FORMAT[imageDataType]; // GL texture configuration
+
+  var texture = gl.createTexture();
+  gl.bindTexture(gl.TEXTURE_2D, texture);
+  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
+  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
+  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
+  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
+  gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1);
+  var imageData = _shaders_index_js__WEBPACK_IMPORTED_MODULE_0__["dataUtilities"][imageDataType].storedPixelDataToImageData(image, image.width, image.height);
+  gl.texImage2D(gl.TEXTURE_2D, 0, format, image.width, image.height, 0, format, gl.UNSIGNED_BYTE, imageData); // Calculate the size in bytes of this image in memory
+
+  var sizeInBytes = image.width * image.height * TEXTURE_BYTES[imageDataType];
+  return {
+    texture: texture,
+    sizeInBytes: sizeInBytes
+  };
+}
+
+function getImageTexture(image) {
+  var imageTexture = _textureCache_js__WEBPACK_IMPORTED_MODULE_2__["default"].getImageTexture(image.imageId);
+
+  if (!imageTexture) {
+    // Console.log("Generating texture for imageid: ", image.imageId);
+    imageTexture = generateTexture(image);
+    _textureCache_js__WEBPACK_IMPORTED_MODULE_2__["default"].putImageTexture(image, imageTexture);
+  }
+
+  return imageTexture.texture;
+}
+
+function initBuffers() {
+  positionBuffer = gl.createBuffer();
+  gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
+  gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([1, 1, 0, 1, 1, 0, 0, 0]), gl.STATIC_DRAW);
+  texCoordBuffer = gl.createBuffer();
+  gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);
+  gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0]), gl.STATIC_DRAW);
+}
+
+function renderQuad(shader, parameters, texture, width, height) {
+  gl.clearColor(1.0, 0.0, 0.0, 1.0);
+  gl.viewport(0, 0, width, height);
+  gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
+  gl.useProgram(shader.program);
+  gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);
+  gl.vertexAttribPointer(shader.attributes.texCoordLocation, 2, gl.FLOAT, false, 0, 0);
+  gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
+  gl.vertexAttribPointer(shader.attributes.positionLocation, 2, gl.FLOAT, false, 0, 0);
+
+  for (var key in parameters) {
+    var uniformLocation = gl.getUniformLocation(shader.program, key);
+
+    if (!uniformLocation) {
+      continue; // Disabling this error for now since RGB requires minPixelValue
+      // but the other shaders do not.
+      // throw `Could not access location for uniform: ${key}`;
+    }
+
+    var uniform = parameters[key];
+    var type = uniform.type;
+    var value = uniform.value;
+
+    if (type === 'i') {
+      gl.uniform1i(uniformLocation, value);
+    } else if (type === 'f') {
+      gl.uniform1f(uniformLocation, value);
+    } else if (type === '2f') {
+      gl.uniform2f(uniformLocation, value[0], value[1]);
+    }
+  }
+
+  updateRectangle(gl, width, height);
+  gl.activeTexture(gl.TEXTURE0);
+  gl.bindTexture(gl.TEXTURE_2D, texture);
+  gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
+}
+
+function render(enabledElement) {
+  // Resize the canvas
+  var image = enabledElement.image;
+  renderCanvas.width = image.width;
+  renderCanvas.height = image.height;
+  var viewport = enabledElement.viewport; // Render the current image
+
+  var shader = getShaderProgram(image);
+  var texture = getImageTexture(image);
+  var parameters = {
+    u_resolution: {
+      type: '2f',
+      value: [image.width, image.height]
+    },
+    wc: {
+      type: 'f',
+      value: viewport.voi.windowCenter
+    },
+    ww: {
+      type: 'f',
+      value: viewport.voi.windowWidth
+    },
+    slope: {
+      type: 'f',
+      value: image.slope
+    },
+    intercept: {
+      type: 'f',
+      value: image.intercept
+    },
+    minPixelValue: {
+      type: 'f',
+      value: image.minPixelValue
+    },
+    invert: {
+      type: 'i',
+      value: viewport.invert ? 1 : 0
+    }
+  };
+  renderQuad(shader, parameters, texture, image.width, image.height);
+  return renderCanvas;
+}
+function isWebGLAvailable() {
+  // Adapted from
+  // http://stackoverflow.com/questions/9899807/three-js-detect-webgl-support-and-fallback-to-regular-canvas
+  var options = {
+    failIfMajorPerformanceCaveat: true
+  };
+
+  try {
+    var canvas = document.createElement('canvas');
+    return Boolean(window.WebGLRenderingContext) && (canvas.getContext('webgl', options) || canvas.getContext('experimental-webgl', options));
+  } catch (e) {
+    return false;
+  }
+}
+
+/***/ }),
+
+/***/ "./webgl/shaders/index.js":
+/*!********************************!*\
+  !*** ./webgl/shaders/index.js ***!
+  \********************************/
+/*! exports provided: shaders, dataUtilities */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "shaders", function() { return shaders; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dataUtilities", function() { return dataUtilities; });
+/* harmony import */ var _int16_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./int16.js */ "./webgl/shaders/int16.js");
+/* harmony import */ var _int8_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./int8.js */ "./webgl/shaders/int8.js");
+/* harmony import */ var _rgb_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./rgb.js */ "./webgl/shaders/rgb.js");
+/* harmony import */ var _uint16_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./uint16.js */ "./webgl/shaders/uint16.js");
+/* harmony import */ var _uint8_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./uint8.js */ "./webgl/shaders/uint8.js");
+
+
+
+
+
+var shaders = {
+  int16: _int16_js__WEBPACK_IMPORTED_MODULE_0__["int16Shader"],
+  int8: _int8_js__WEBPACK_IMPORTED_MODULE_1__["int8Shader"],
+  rgb: _rgb_js__WEBPACK_IMPORTED_MODULE_2__["rgbShader"],
+  uint16: _uint16_js__WEBPACK_IMPORTED_MODULE_3__["uint16Shader"],
+  uint8: _uint8_js__WEBPACK_IMPORTED_MODULE_4__["uint8Shader"]
+};
+var dataUtilities = {
+  int16: _int16_js__WEBPACK_IMPORTED_MODULE_0__["int16DataUtilities"],
+  int8: _int8_js__WEBPACK_IMPORTED_MODULE_1__["int8DataUtilities"],
+  rgb: _rgb_js__WEBPACK_IMPORTED_MODULE_2__["rgbDataUtilities"],
+  uint16: _uint16_js__WEBPACK_IMPORTED_MODULE_3__["uint16DataUtilities"],
+  uint8: _uint8_js__WEBPACK_IMPORTED_MODULE_4__["uint8DataUtilities"]
+};
+
+
+/***/ }),
+
+/***/ "./webgl/shaders/int16.js":
+/*!********************************!*\
+  !*** ./webgl/shaders/int16.js ***!
+  \********************************/
+/*! exports provided: int16DataUtilities, int16Shader */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "int16DataUtilities", function() { return int16DataUtilities; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "int16Shader", function() { return int16Shader; });
+/* eslint no-bitwise: 0 */
+var int16Shader = {};
+/**
+ * Convert stored pixel data to image data.
+ *
+ * Pack int16 into three uint8 channels (r, g, b)
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @returns {Uint8Array} The image data for use by the WebGL shader
+ * @memberof WebGLRendering
+ */
+
+function storedPixelDataToImageData(image) {
+  // Transfer image data to alpha and luminance channels of WebGL texture
+  // Credit to @jpambrun and @fernandojsg
+  // Pack int16 into three uint8 channels (r, g, b)
+  var pixelData = image.getPixelData();
+  var numberOfChannels = 3;
+  var data = new Uint8Array(image.width * image.height * numberOfChannels);
+  var offset = 0;
+
+  for (var i = 0; i < pixelData.length; i++) {
+    var val = Math.abs(pixelData[i]);
+    data[offset++] = val & 0xFF;
+    data[offset++] = val >> 8;
+    data[offset++] = pixelData[i] < 0 ? 0 : 1; // 0 For negative, 1 for positive
+  }
+
+  return data;
+}
+
+var int16DataUtilities = {
+  storedPixelDataToImageData: storedPixelDataToImageData
+};
+int16Shader.frag = 'precision mediump float;' + 'uniform sampler2D u_image;' + 'uniform float ww;' + 'uniform float wc;' + 'uniform float slope;' + 'uniform float intercept;' + 'uniform int invert;' + 'varying vec2 v_texCoord;' + 'void main() {' + // Get texture
+'vec4 color = texture2D(u_image, v_texCoord);' + // Calculate luminance from packed texture
+'float intensity = color.r*256.0 + color.g*65536.0;' + 'if (color.b == 0.0)' + 'intensity = -intensity;' + // Rescale based on slope and window settings
+'intensity = intensity * slope + intercept;' + 'float center0 = wc - 0.5;' + 'float width0 = max(ww, 1.0);' + 'intensity = (intensity - center0) / width0 + 0.5;' + // Clamp intensity
+'intensity = clamp(intensity, 0.0, 1.0);' + // RGBA output
+'gl_FragColor = vec4(intensity, intensity, intensity, 1.0);' + // Apply any inversion necessary
+'if (invert == 1)' + 'gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;' + '}';
+
+
+/***/ }),
+
+/***/ "./webgl/shaders/int8.js":
+/*!*******************************!*\
+  !*** ./webgl/shaders/int8.js ***!
+  \*******************************/
+/*! exports provided: int8DataUtilities, int8Shader */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "int8DataUtilities", function() { return int8DataUtilities; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "int8Shader", function() { return int8Shader; });
+var int8Shader = {};
+/**
+ * Convert stored pixel data to image data.
+ *
+ * Store data in Uint8Array
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @returns {Uint8Array} The image data for use by the WebGL shader
+ * @memberof WebGLRendering
+ */
+
+function storedPixelDataToImageData(image) {
+  // Transfer image data to alpha channel of WebGL texture
+  // Store data in Uint8Array
+  var pixelData = image.getPixelData();
+  var numberOfChannels = 2;
+  var data = new Uint8Array(image.width * image.height * numberOfChannels);
+  var offset = 0;
+
+  for (var i = 0; i < pixelData.length; i++) {
+    data[offset++] = pixelData[i];
+    data[offset++] = pixelData[i] < 0 ? 0 : 1; // 0 For negative, 1 for positive
+  }
+
+  return data;
+}
+
+var int8DataUtilities = {
+  storedPixelDataToImageData: storedPixelDataToImageData
+};
+int8Shader.frag = 'precision mediump float;' + 'uniform sampler2D u_image;' + 'uniform float ww;' + 'uniform float wc;' + 'uniform float slope;' + 'uniform float intercept;' + 'uniform int invert;' + 'varying vec2 v_texCoord;' + 'void main() {' + // Get texture
+'vec4 color = texture2D(u_image, v_texCoord);' + // Calculate luminance from packed texture
+'float intensity = color.r*256.;' + 'if (color.a == 0.0)' + 'intensity = -intensity;' + // Rescale based on slope and window settings
+'intensity = intensity * slope + intercept;' + 'float center0 = wc - 0.5;' + 'float width0 = max(ww, 1.0);' + 'intensity = (intensity - center0) / width0 + 0.5;' + // Clamp intensity
+'intensity = clamp(intensity, 0.0, 1.0);' + // RGBA output
+'gl_FragColor = vec4(intensity, intensity, intensity, 1.0);' + // Apply any inversion necessary
+'if (invert == 1)' + 'gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;' + '}';
+
+
+/***/ }),
+
+/***/ "./webgl/shaders/rgb.js":
+/*!******************************!*\
+  !*** ./webgl/shaders/rgb.js ***!
+  \******************************/
+/*! exports provided: rgbDataUtilities, rgbShader */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rgbDataUtilities", function() { return rgbDataUtilities; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rgbShader", function() { return rgbShader; });
+var rgbShader = {};
+/**
+ * Convert stored pixel data to image data.
+ *
+ * Pack RGB images into a 3-channel RGB texture
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @returns {Uint8Array} The image data for use by the WebGL shader
+ * @memberof WebGLRendering
+ */
+
+function storedPixelDataToImageData(image) {
+  var minPixelValue = image.minPixelValue;
+  var canvasImageDataIndex = 0;
+  var storedPixelDataIndex = 0; // Only 3 channels, since we use WebGL's RGB texture format
+
+  var numStoredPixels = image.width * image.height * 4;
+  var numOutputPixels = image.width * image.height * 3;
+  var storedPixelData = image.getPixelData();
+  var data = new Uint8Array(numOutputPixels); // NOTE: As of Nov 2014, most javascript engines have lower performance when indexing negative indexes.
+  // We have a special code path for this case that improves performance.  Thanks to @jpambrun for this enhancement
+
+  if (minPixelValue < 0) {
+    while (storedPixelDataIndex < numStoredPixels) {
+      data[canvasImageDataIndex++] = storedPixelData[storedPixelDataIndex++] + -minPixelValue; // Red
+
+      data[canvasImageDataIndex++] = storedPixelData[storedPixelDataIndex++] + -minPixelValue; // Green
+
+      data[canvasImageDataIndex++] = storedPixelData[storedPixelDataIndex++] + -minPixelValue; // Blue
+
+      storedPixelDataIndex += 1; // The stored pixel data has 4 channels
+    }
+  } else {
+    while (storedPixelDataIndex < numStoredPixels) {
+      data[canvasImageDataIndex++] = storedPixelData[storedPixelDataIndex++]; // Red
+
+      data[canvasImageDataIndex++] = storedPixelData[storedPixelDataIndex++]; // Green
+
+      data[canvasImageDataIndex++] = storedPixelData[storedPixelDataIndex++]; // Blue
+
+      storedPixelDataIndex += 1; // The stored pixel data has 4 channels
+    }
+  }
+
+  return data;
+}
+
+var rgbDataUtilities = {
+  storedPixelDataToImageData: storedPixelDataToImageData
+};
+rgbShader.frag = 'precision mediump float;' + 'uniform sampler2D u_image;' + 'uniform float ww;' + 'uniform float wc;' + 'uniform float slope;' + 'uniform float intercept;' + 'uniform float minPixelValue;' + 'uniform int invert;' + 'varying vec2 v_texCoord;' + 'void main() {' + // Get texture
+'vec3 color = texture2D(u_image, v_texCoord).xyz;' + // Rescale based on slope and intercept
+'color = color * 256.0 * slope + intercept;' + // Apply window settings
+'float center0 = wc - 0.5 - minPixelValue;' + 'float width0 = max(ww, 1.0);' + 'color = (color - center0) / width0 + 0.5;' + // RGBA output
+'gl_FragColor = vec4(color, 1);' + // Apply any inversion necessary
+'if (invert == 1)' + 'gl_FragColor.rgb = 1. - gl_FragColor.rgb;' + '}';
+
+
+/***/ }),
+
+/***/ "./webgl/shaders/uint16.js":
+/*!*********************************!*\
+  !*** ./webgl/shaders/uint16.js ***!
+  \*********************************/
+/*! exports provided: uint16DataUtilities, uint16Shader */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "uint16DataUtilities", function() { return uint16DataUtilities; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "uint16Shader", function() { return uint16Shader; });
+/* eslint no-bitwise: 0 */
+var uint16Shader = {};
+/**
+ * Convert stored pixel data to image data.
+ *
+ * For uint16 pack uint16 into two uint8 channels (r and a).
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @returns {Uint8Array} The image data for use by the WebGL shader
+ * @memberof WebGLRendering
+ */
+
+function storedPixelDataToImageData(image) {
+  // Transfer image data to alpha and luminance channels of WebGL texture
+  // Credit to @jpambrun and @fernandojsg
+  // Pack uint16 into two uint8 channels (r and a)
+  var pixelData = image.getPixelData();
+  var numberOfChannels = 2;
+  var data = new Uint8Array(image.width * image.height * numberOfChannels);
+  var offset = 0;
+
+  for (var i = 0; i < pixelData.length; i++) {
+    var val = pixelData[i];
+    data[offset++] = val & 0xFF;
+    data[offset++] = val >> 8;
+  }
+
+  return data;
+}
+
+var uint16DataUtilities = {
+  storedPixelDataToImageData: storedPixelDataToImageData
+};
+uint16Shader.frag = 'precision mediump float;' + 'uniform sampler2D u_image;' + 'uniform float ww;' + 'uniform float wc;' + 'uniform float slope;' + 'uniform float intercept;' + 'uniform int invert;' + 'varying vec2 v_texCoord;' + 'void main() {' + // Get texture
+'vec4 color = texture2D(u_image, v_texCoord);' + // Calculate luminance from packed texture
+'float intensity = color.r*256.0 + color.a*65536.0;' + // Rescale based on slope and window settings
+'intensity = intensity * slope + intercept;' + 'float center0 = wc - 0.5;' + 'float width0 = max(ww, 1.0);' + 'intensity = (intensity - center0) / width0 + 0.5;' + // Clamp intensity
+'intensity = clamp(intensity, 0.0, 1.0);' + // RGBA output
+'gl_FragColor = vec4(intensity, intensity, intensity, 1.0);' + // Apply any inversion necessary
+'if (invert == 1)' + 'gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;' + '}';
+
+
+/***/ }),
+
+/***/ "./webgl/shaders/uint8.js":
+/*!********************************!*\
+  !*** ./webgl/shaders/uint8.js ***!
+  \********************************/
+/*! exports provided: uint8DataUtilities, uint8Shader */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "uint8DataUtilities", function() { return uint8DataUtilities; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "uint8Shader", function() { return uint8Shader; });
+var uint8Shader = {};
+/**
+ * Convert stored pixel data to image data. Here we will store
+ * all data in the alpha channel.
+ *
+ * @param {Image} image A Cornerstone Image Object
+ * @returns {Uint8Array} The image data for use by the WebGL shader
+ * @memberof WebGLRendering
+ */
+
+function storedPixelDataToImageData(image) {
+  // Transfer image data to alpha channel of WebGL texture
+  return image.getPixelData();
+}
+
+var uint8DataUtilities = {
+  storedPixelDataToImageData: storedPixelDataToImageData
+};
+uint8Shader.frag = 'precision mediump float;' + 'uniform sampler2D u_image;' + 'uniform float ww;' + 'uniform float wc;' + 'uniform float slope;' + 'uniform float intercept;' + 'uniform int invert;' + 'varying vec2 v_texCoord;' + 'void main() {' + // Get texture
+'vec4 color = texture2D(u_image, v_texCoord);' + // Calculate luminance from packed texture
+'float intensity = color.r*256.0;' + // Rescale based on slope and window settings
+'intensity = intensity * slope + intercept;' + 'float center0 = wc - 0.5;' + 'float width0 = max(ww, 1.0);' + 'intensity = (intensity - center0) / width0 + 0.5;' + // Clamp intensity
+'intensity = clamp(intensity, 0.0, 1.0);' + // RGBA output
+'gl_FragColor = vec4(intensity, intensity, intensity, 1.0);' + // Apply any inversion necessary
+'if (invert == 1)' + 'gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;' + '}';
+
+
+/***/ }),
+
+/***/ "./webgl/textureCache.js":
+/*!*******************************!*\
+  !*** ./webgl/textureCache.js ***!
+  \*******************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../events.js */ "./events.js");
+/* harmony import */ var _triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../triggerEvent.js */ "./triggerEvent.js");
+
+
+/**
+ * This module deals with caching image textures in VRAM for WebGL
+ * @module WebGLTextureCache
+ */
+
+var imageCache = {};
+var cachedImages = [];
+var maximumSizeInBytes = 1024 * 1024 * 256; // 256 MB
+
+var cacheSizeInBytes = 0;
+
+function getCacheInfo() {
+  return {
+    maximumSizeInBytes: maximumSizeInBytes,
+    cacheSizeInBytes: cacheSizeInBytes,
+    numberOfImagesCached: cachedImages.length
+  };
+}
+
+function purgeCacheIfNecessary() {
+  // If max cache size has not been exceeded, do nothing
+  if (cacheSizeInBytes <= maximumSizeInBytes) {
+    return;
+  } // Cache size has been exceeded, create list of images sorted by timeStamp
+  // So we can purge the least recently used image
+
+
+  function compare(a, b) {
+    if (a.timeStamp > b.timeStamp) {
+      return -1;
+    }
+
+    if (a.timeStamp < b.timeStamp) {
+      return 1;
+    }
+
+    return 0;
+  }
+
+  cachedImages.sort(compare); // Remove images as necessary
+
+  while (cacheSizeInBytes > maximumSizeInBytes) {
+    var lastCachedImage = cachedImages[cachedImages.length - 1];
+    cacheSizeInBytes -= lastCachedImage.sizeInBytes;
+    delete imageCache[lastCachedImage.imageId];
+    cachedImages.pop();
+    Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_events_js__WEBPACK_IMPORTED_MODULE_0__["events"], _events_js__WEBPACK_IMPORTED_MODULE_0__["default"].WEBGL_TEXTURE_REMOVED, {
+      imageId: lastCachedImage.imageId
+    });
+  }
+
+  var cacheInfo = getCacheInfo();
+  Object(_triggerEvent_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_events_js__WEBPACK_IMPORTED_MODULE_0__["events"], _events_js__WEBPACK_IMPORTED_MODULE_0__["default"].WEBGL_TEXTURE_CACHE_FULL, cacheInfo);
+}
+
+function setMaximumSizeBytes(numBytes) {
+  if (numBytes === undefined) {
+    throw new Error('setMaximumSizeBytes: parameter numBytes must not be undefined');
+  }
+
+  if (numBytes.toFixed === undefined) {
+    throw new Error('setMaximumSizeBytes: parameter numBytes must be a number');
+  }
+
+  maximumSizeInBytes = numBytes;
+  purgeCacheIfNecessary();
+}
+
+function putImageTexture(image, imageTexture) {
+  var imageId = image.imageId;
+
+  if (image === undefined) {
+    throw new Error('putImageTexture: image must not be undefined');
+  }
+
+  if (imageId === undefined) {
+    throw new Error('putImageTexture: imageId must not be undefined');
+  }
+
+  if (imageTexture === undefined) {
+    throw new Error('putImageTexture: imageTexture must not be undefined');
+  }
+
+  if (Object.prototype.hasOwnProperty.call(imageCache, imageId) === true) {
+    throw new Error('putImageTexture: imageId already in cache');
+  }
+
+  var cachedImage = {
+    imageId: imageId,
+    imageTexture: imageTexture,
+    timeStamp: new Date(),
+    sizeInBytes: imageTexture.sizeInBytes
+  };
+  imageCache[imageId] = cachedImage;
+  cachedImages.push(cachedImage);
+
+  if (imageTexture.sizeInBytes === undefined) {
+    throw new Error('putImageTexture: imageTexture.sizeInBytes must not be undefined');
+  }
+
+  if (imageTexture.sizeInBytes.toFixed === undefined) {
+    throw new Error('putImageTexture: imageTexture.sizeInBytes is not a number');
+  }
+
+  cacheSizeInBytes += cachedImage.sizeInBytes;
+  purgeCacheIfNecessary();
+}
+
+function getImageTexture(imageId) {
+  if (imageId === undefined) {
+    throw new Error('getImageTexture: imageId must not be undefined');
+  }
+
+  var cachedImage = imageCache[imageId];
+
+  if (cachedImage === undefined) {
+    return;
+  } // Bump time stamp for cached image
+
+
+  cachedImage.timeStamp = new Date();
+  return cachedImage.imageTexture;
+}
+
+function removeImageTexture(imageId) {
+  if (imageId === undefined) {
+    throw new Error('removeImageTexture: imageId must not be undefined');
+  }
+
+  var cachedImage = imageCache[imageId];
+
+  if (cachedImage === undefined) {
+    throw new Error('removeImageTexture: imageId must not be undefined');
+  }
+
+  cachedImages.splice(cachedImages.indexOf(cachedImage), 1);
+  cacheSizeInBytes -= cachedImage.sizeInBytes;
+  delete imageCache[imageId];
+  return cachedImage.imageTexture;
+}
+
+function purgeCache() {
+  while (cachedImages.length > 0) {
+    var removedCachedImage = cachedImages.pop();
+    delete imageCache[removedCachedImage.imageId];
+  }
+
+  cacheSizeInBytes = 0;
+}
+
+/* harmony default export */ __webpack_exports__["default"] = ({
+  purgeCache: purgeCache,
+  getImageTexture: getImageTexture,
+  putImageTexture: putImageTexture,
+  removeImageTexture: removeImageTexture,
+  setMaximumSizeBytes: setMaximumSizeBytes
+});
+
+/***/ }),
+
+/***/ "./webgl/vertexShader.js":
+/*!*******************************!*\
+  !*** ./webgl/vertexShader.js ***!
+  \*******************************/
+/*! exports provided: vertexShader */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "vertexShader", function() { return vertexShader; });
+var vertexShader = 'attribute vec2 a_position;' + 'attribute vec2 a_texCoord;' + 'uniform vec2 u_resolution;' + 'varying vec2 v_texCoord;' + 'void main() {' + 'vec2 zeroToOne = a_position / u_resolution;' + 'vec2 zeroToTwo = zeroToOne * 2.0;' + 'vec2 clipSpace = zeroToTwo - 1.0;' + 'gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);' + 'v_texCoord = a_texCoord;' + '}';
+
+/***/ })
+
+/******/ });
+});
+//# sourceMappingURL=cornerstone.js.map
\ No newline at end of file
diff --git a/public/static/dicom/js/cornerstoneMath.min.js b/public/static/dicom/js/cornerstoneMath.min.js
new file mode 100644
index 00000000..fce80467
--- /dev/null
+++ b/public/static/dicom/js/cornerstoneMath.min.js
@@ -0,0 +1,3 @@
+/*! cornerstone-math - 0.1.10 - 2022-06-09 | (c) 2017 Chris Hafey | https://github.com/cornerstonejs/cornerstoneMath */
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("cornerstone-math",[],e):"object"==typeof exports?exports["cornerstone-math"]=e():t.cornerstoneMath=e()}(window,function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=4)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){return t&&t.__esModule?t:{default:t}}(n(2)),o=n(1);var s=function(){function t(e,n,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.x=e||0,this.y=n||0,this.z=i||0}return i(t,[{key:"set",value:function(t,e,n){return this.x=t,this.y=e,this.z=n,this}},{key:"setX",value:function(t){return this.x=t,this}},{key:"setY",value:function(t){return this.y=t,this}},{key:"setZ",value:function(t){return this.z=t,this}},{key:"setComponent",value:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}}},{key:"getComponent",value:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}},{key:"copy",value:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}},{key:"add",value:function(t,e){return void 0!==e?(console.warn("DEPRECATED: Vector3's .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)}},{key:"addScalar",value:function(t){return this.x+=t,this.y+=t,this.z+=t,this}},{key:"addVectors",value:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}},{key:"sub",value:function(t,e){return void 0!==e?(console.warn("DEPRECATED: Vector3's .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)}},{key:"subVectors",value:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}},{key:"multiply",value:function(t,e){return void 0!==e?(console.warn("DEPRECATED: Vector3's .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)}},{key:"multiplyScalar",value:function(t){return this.x*=t,this.y*=t,this.z*=t,this}},{key:"multiplyVectors",value:function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}},{key:"applyMatrix3",value:function(t){var e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6]*i,this.y=r[1]*e+r[4]*n+r[7]*i,this.z=r[2]*e+r[5]*n+r[8]*i,this}},{key:"applyMatrix4",value:function(t){var e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i+r[12],this.y=r[1]*e+r[5]*n+r[9]*i+r[13],this.z=r[2]*e+r[6]*n+r[10]*i+r[14],this}},{key:"applyProjection",value:function(t){var e=this.x,n=this.y,i=this.z,r=t.elements,o=1/(r[3]*e+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*e+r[4]*n+r[8]*i+r[12])*o,this.y=(r[1]*e+r[5]*n+r[9]*i+r[13])*o,this.z=(r[2]*e+r[6]*n+r[10]*i+r[14])*o,this}},{key:"applyQuaternion",value:function(t){var e=this.x,n=this.y,i=this.z,r=t.x,o=t.y,s=t.z,a=t.w,u=a*e+o*i-s*n,h=a*n+s*e-r*i,l=a*i+r*n-o*e,c=-r*e-o*n-s*i;return this.x=u*a+c*-r+h*-s-l*-o,this.y=h*a+c*-o+l*-r-u*-s,this.z=l*a+c*-s+u*-o-h*-r,this}},{key:"transformDirection",value:function(t){var e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i,this.y=r[1]*e+r[5]*n+r[9]*i,this.z=r[2]*e+r[6]*n+r[10]*i,this.normalize(),this}},{key:"divide",value:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}},{key:"divideScalar",value:function(t){if(0!==t){var e=1/t;this.x*=e,this.y*=e,this.z*=e}else this.x=0,this.y=0,this.z=0;return this}},{key:"min",value:function(t){return this.x>t.x&&(this.x=t.x),this.y>t.y&&(this.y=t.y),this.z>t.z&&(this.z=t.z),this}},{key:"max",value:function(t){return this.x<t.x&&(this.x=t.x),this.y<t.y&&(this.y=t.y),this.z<t.z&&(this.z=t.z),this}},{key:"clamp",value:function(t,e){return this.x<t.x?this.x=t.x:this.x>e.x&&(this.x=e.x),this.y<t.y?this.y=t.y:this.y>e.y&&(this.y=e.y),this.z<t.z?this.z=t.z:this.z>e.z&&(this.z=e.z),this}},{key:"floor",value:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}},{key:"ceil",value:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}},{key:"round",value:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}},{key:"roundToZero",value:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}},{key:"negate",value:function(){return this.multiplyScalar(-1)}},{key:"dot",value:function(t){return this.x*t.x+this.y*t.y+this.z*t.z}},{key:"lengthSq",value:function(){return this.x*this.x+this.y*this.y+this.z*this.z}},{key:"length",value:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}},{key:"lengthManhattan",value:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}},{key:"normalize",value:function(){return this.divideScalar(this.length())}},{key:"setLength",value:function(t){var e=this.length();return 0!==e&&t!==e&&this.multiplyScalar(t/e),this}},{key:"lerp",value:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}},{key:"cross",value:function(t,e){if(void 0!==e)return console.warn("DEPRECATED: Vector3's .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,e);var n=this.x,i=this.y,r=this.z;return this.x=i*t.z-r*t.y,this.y=r*t.x-n*t.z,this.z=n*t.y-i*t.x,this}},{key:"crossVectors",value:function(t,e){var n=t.x,i=t.y,r=t.z,o=e.x,s=e.y,a=e.z;return this.x=i*a-r*s,this.y=r*o-n*a,this.z=n*s-i*o,this}},{key:"angleTo",value:function(t){var e=this.dot(t)/(this.length()*t.length());return Math.acos((0,o.clamp)(e,-1,1))}},{key:"distanceTo",value:function(t){return Math.sqrt(this.distanceToSquared(t))}},{key:"distanceToSquared",value:function(t){var e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}},{key:"setFromMatrixPosition",value:function(t){return this.x=t.elements[12],this.y=t.elements[13],this.z=t.elements[14],this}},{key:"setFromMatrixScale",value:function(t){var e=this.set(t.elements[0],t.elements[1],t.elements[2]).length(),n=this.set(t.elements[4],t.elements[5],t.elements[6]).length(),i=this.set(t.elements[8],t.elements[9],t.elements[10]).length();return this.x=e,this.y=n,this.z=i,this}},{key:"setFromMatrixColumn",value:function(t,e){var n=4*t,i=e.elements;return this.x=i[n],this.y=i[n+1],this.z=i[n+2],this}},{key:"equals",value:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}},{key:"fromArray",value:function(t){return this.x=t[0],this.y=t[1],this.z=t[2],this}},{key:"toArray",value:function(){return[this.x,this.y,this.z]}},{key:"clone",value:function(){return new t(this.x,this.y,this.z)}}]),t}();s.prototype.projectOnVector=function(){var t=void 0,e=void 0;return function(n){return void 0===t&&(t=new s),t.copy(n).normalize(),e=this.dot(t),this.copy(t).multiplyScalar(e)}}(),s.prototype.projectOnPlane=function(){var t=void 0;return function(e){return void 0===t&&(t=new s),t.copy(this).projectOnVector(e),this.sub(t)}}(),s.prototype.reflect=function(){var t=void 0;return function(e){return void 0===t&&(t=new s),this.sub(t.copy(e).multiplyScalar(2*this.dot(e)))}}(),s.prototype.clampScalar=function(){var t=void 0,e=void 0;return function(n,i){return void 0===t&&(t=new s,e=new s),t.set(n,n,n),e.set(i,i,i),this.clamp(t,e)}}(),s.prototype.applyAxisAngle=function(){var t=void 0;return function(e,n){return void 0===t&&(t=new r.default),this.applyQuaternion(t.setFromAxisAngle(e.normalize(),n)),this}}(),e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=1e-4;e.clamp=function(t,e,n){return t<e?e:t>n?n:t},e.degToRad=function(t){return t*(Math.PI/180)},e.approximatelyEquals=function(t,e,n){var r=n||i;return Math.abs(t-e)<=r*Math.max(1,Math.abs(t),Math.abs(e))},e.radToDeg=function(t){return t*(180/Math.PI)},e.sign=function(t){return"number"==typeof t?t?t<0?-1:1:t==t?0:NaN:NaN}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}();var r=function(){function t(e,n,i,r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.x=e||0,this.y=n||0,this.z=i||0,this.w=void 0!==r?r:1}return i(t,[{key:"setFromAxisAngle",value:function(t,e){var n=e/2,i=Math.sin(n);return this.x=t.x*i,this.y=t.y*i,this.z=t.z*i,this.w=Math.cos(n),this}},{key:"multiplyQuaternions",value:function(t,e){var n=t.x,i=t.y,r=t.z,o=t.w,s=e.x,a=e.y,u=e.z,h=e.w;return this.x=n*h+o*s+i*u-r*a,this.y=i*h+o*a+r*s-n*u,this.z=r*h+o*u+n*a-i*s,this.w=o*h-n*s-i*a-r*u,this}},{key:"setFromRotationMatrix",value:function(t){var e=t.elements,n=e[0],i=e[4],r=e[8],o=e[1],s=e[5],a=e[9],u=e[2],h=e[6],l=e[10],c=n+s+l,y=void 0;return c>0?(y=.5/Math.sqrt(c+1),this.w=.25/y,this.x=(h-a)*y,this.y=(r-u)*y,this.z=(o-i)*y):n>s&&n>l?(y=2*Math.sqrt(1+n-s-l),this.w=(h-a)/y,this.x=.25*y,this.y=(i+o)/y,this.z=(r+u)/y):s>l?(y=2*Math.sqrt(1+s-n-l),this.w=(r-u)/y,this.x=(i+o)/y,this.y=.25*y,this.z=(a+h)/y):(y=2*Math.sqrt(1+l-n-s),this.w=(o-i)/y,this.x=(r+u)/y,this.y=(a+h)/y,this.z=.25*y),this}}]),t}();e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1);function r(t){return t*t}function o(t,e){return r(t.x-e.x)+r(t.y-e.y)}var s={distanceToPoint:function(t,e){return Math.sqrt(function(t,e){var n=o(t.start,t.end);if(0===n)return o(e,t.start);var i=((e.x-t.start.x)*(t.end.x-t.start.x)+(e.y-t.start.y)*(t.end.y-t.start.y))/n;return o(e,i<0?t.start:i>1?t.end:{x:t.start.x+i*(t.end.x-t.start.x),y:t.start.y+i*(t.end.y-t.start.y)})}(t,e))},intersectLine:function(t,e){var n,r,o,s,a,u,h,l,c,y,f,d={},v=t.start.x,p=t.start.y,x=t.end.x,m=t.end.y,g=e.start.x,b=e.start.y,z=e.end.x,k=e.end.y,M=void 0;if(y=(n=m-p)*z+(o=v-x)*k+(a=x*p-v*m),(0===(c=n*g+o*b+a)||0===y||(0,i.sign)(c)!==(0,i.sign)(y))&&(l=(r=k-b)*x+(s=g-z)*m+(u=z*b-g*k),0===(h=r*v+s*p+u)||0===l||(0,i.sign)(h)!==(0,i.sign)(l))){f=n*s-r*o,M=o*u-s*a;var w=parseFloat(M/f);M=r*a-n*u;var P=parseFloat(M/f);return d.x=w,d.y=P,d}}};e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Vector3=e.rect=e.quaternion=e.point=e.Plane=e.Matrix4=e.sign=e.radToDeg=e.degToRad=e.clamp=e.lineSegment=e.Line3=void 0;var i=y(n(5)),r=y(n(3)),o=n(1),s=y(n(6)),a=y(n(7)),u=y(n(8)),h=y(n(2)),l=y(n(9)),c=y(n(0));function y(t){return t&&t.__esModule?t:{default:t}}var f={Line3:i.default,lineSegment:r.default,clamp:o.clamp,degToRad:o.degToRad,radToDeg:o.radToDeg,sign:o.sign,Matrix4:s.default,Plane:a.default,point:u.default,quaternion:h.default,rect:l.default,Vector3:c.default};e.Line3=i.default,e.lineSegment=r.default,e.clamp=o.clamp,e.degToRad=o.degToRad,e.radToDeg=o.radToDeg,e.sign=o.sign,e.Matrix4=s.default,e.Plane=a.default,e.point=u.default,e.quaternion=h.default,e.rect=l.default,e.Vector3=c.default,e.default=f},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){return t&&t.__esModule?t:{default:t}}(n(0)),o=n(1);var s=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.start=void 0!==e?e:new r.default,this.end=void 0!==n?n:new r.default}return i(t,[{key:"set",value:function(t,e){return this.start.copy(t),this.end.copy(e),this}},{key:"copy",value:function(t){return this.start.copy(t.start),this.end.copy(t.end),this}},{key:"center",value:function(t){return(t||new r.default).addVectors(this.start,this.end).multiplyScalar(.5)}},{key:"delta",value:function(t){return(t||new r.default).subVectors(this.end,this.start)}},{key:"distanceSq",value:function(){return this.start.distanceToSquared(this.end)}},{key:"distance",value:function(){return this.start.distanceTo(this.end)}},{key:"at",value:function(t,e){var n=e||new r.default;return this.delta(n).multiplyScalar(t).add(this.start)}},{key:"closestPointToPointParameter",value:function(t,e){var n=new r.default,i=new r.default;n.subVectors(t,this.start),i.subVectors(this.end,this.start);var s=i.dot(i),a=i.dot(n)/s;return e&&(a=(0,o.clamp)(a,0,1)),a}},{key:"closestPointToPoint",value:function(t,e,n){var i=this.closestPointToPointParameter(t,e),o=n||new r.default;return this.delta(o).multiplyScalar(i).add(this.start)}},{key:"applyMatrix4",value:function(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}},{key:"equals",value:function(t){return t.start.equals(this.start)&&t.end.equals(this.end)}},{key:"clone",value:function(){return(new t).copy(this)}},{key:"intersectLine",value:function(t){var e=this.end.clone().sub(this.start),n=t.end.clone().sub(t.start),i=t.start.clone().sub(this.start),r=e.clone().cross(n),s=i.clone().cross(n),a=i.dot(r)/(i.lengthSq()*r.lengthSq());if((0,o.approximatelyEquals)(a,0)){var u=s.dot(r)/r.lengthSq();if(!(u>1||isNaN(u))){var h=this.start.clone().add(e.clone().multiplyScalar(u));return h.clone().sub(t.start).lengthSq()+h.clone().sub(t.end).lengthSq()<=t.distanceSq()?h:void 0}}}}]),t}();e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){return t&&t.__esModule?t:{default:t}}(n(0));var o=function(){function t(e,n,i,r,o,s,a,u,h,l,c,y,f,d,v,p){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.elements=new Float32Array(16);var x=this.elements;x[0]=void 0!==e?e:1,x[4]=n||0,x[8]=i||0,x[12]=r||0,x[1]=o||0,x[5]=void 0!==s?s:1,x[9]=a||0,x[13]=u||0,x[2]=h||0,x[6]=l||0,x[10]=void 0!==c?c:1,x[14]=y||0,x[3]=f||0,x[7]=d||0,x[11]=v||0,x[15]=void 0!==p?p:1}return i(t,[{key:"makeRotationFromQuaternion",value:function(t){var e=this.elements,n=t.x,i=t.y,r=t.z,o=t.w,s=n+n,a=i+i,u=r+r,h=n*s,l=n*a,c=n*u,y=i*a,f=i*u,d=r*u,v=o*s,p=o*a,x=o*u;return e[0]=1-(y+d),e[4]=l-x,e[8]=c+p,e[1]=l+x,e[5]=1-(h+d),e[9]=f-v,e[2]=c-p,e[6]=f+v,e[10]=1-(h+y),e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}},{key:"multiplyMatrices",value:function(t,e){var n=t.elements,i=e.elements,r=this.elements,o=n[0],s=n[4],a=n[8],u=n[12],h=n[1],l=n[5],c=n[9],y=n[13],f=n[2],d=n[6],v=n[10],p=n[14],x=n[3],m=n[7],g=n[11],b=n[15],z=i[0],k=i[4],M=i[8],w=i[12],P=i[1],R=i[5],L=i[9],T=i[13],S=i[2],_=i[6],q=i[10],j=i[14],V=i[3],E=i[7],O=i[11],C=i[15];return r[0]=o*z+s*P+a*S+u*V,r[4]=o*k+s*R+a*_+u*E,r[8]=o*M+s*L+a*q+u*O,r[12]=o*w+s*T+a*j+u*C,r[1]=h*z+l*P+c*S+y*V,r[5]=h*k+l*R+c*_+y*E,r[9]=h*M+l*L+c*q+y*O,r[13]=h*w+l*T+c*j+y*C,r[2]=f*z+d*P+v*S+p*V,r[6]=f*k+d*R+v*_+p*E,r[10]=f*M+d*L+v*q+p*O,r[14]=f*w+d*T+v*j+p*C,r[3]=x*z+m*P+g*S+b*V,r[7]=x*k+m*R+g*_+b*E,r[11]=x*M+m*L+g*q+b*O,r[15]=x*w+m*T+g*j+b*C,this}},{key:"multiply",value:function(t,e){return void 0!==e?(console.warn("DEPRECATED: Matrix4's .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)}},{key:"getInverse",value:function(t,e){var n=this.elements,i=t.elements,r=i[0],o=i[4],s=i[8],a=i[12],u=i[1],h=i[5],l=i[9],c=i[13],y=i[2],f=i[6],d=i[10],v=i[14],p=i[3],x=i[7],m=i[11],g=i[15];n[0]=l*v*x-c*d*x+c*f*m-h*v*m-l*f*g+h*d*g,n[4]=a*d*x-s*v*x-a*f*m+o*v*m+s*f*g-o*d*g,n[8]=s*c*x-a*l*x+a*h*m-o*c*m-s*h*g+o*l*g,n[12]=a*l*f-s*c*f-a*h*d+o*c*d+s*h*v-o*l*v,n[1]=c*d*p-l*v*p-c*y*m+u*v*m+l*y*g-u*d*g,n[5]=s*v*p-a*d*p+a*y*m-r*v*m-s*y*g+r*d*g,n[9]=a*l*p-s*c*p-a*u*m+r*c*m+s*u*g-r*l*g,n[13]=s*c*y-a*l*y+a*u*d-r*c*d-s*u*v+r*l*v,n[2]=h*v*p-c*f*p+c*y*x-u*v*x-h*y*g+u*f*g,n[6]=a*f*p-o*v*p-a*y*x+r*v*x+o*y*g-r*f*g,n[10]=o*c*p-a*h*p+a*u*x-r*c*x-o*u*g+r*h*g,n[14]=a*h*y-o*c*y-a*u*f+r*c*f+o*u*v-r*h*v,n[3]=l*f*p-h*d*p-l*y*x+u*d*x+h*y*m-u*f*m,n[7]=o*d*p-s*f*p+s*y*x-r*d*x-o*y*m+r*f*m,n[11]=s*h*p-o*l*p-s*u*x+r*l*x+o*u*m-r*h*m,n[15]=o*l*y-s*h*y+s*u*f-r*l*f-o*u*d+r*h*d;var b=r*n[0]+u*n[4]+y*n[8]+p*n[12];if(0===b){var z="Matrix4.getInverse(): can't invert matrix, determinant is 0";if(e)throw new Error(z);return console.warn(z),this.identity(),this}return this.multiplyScalar(1/b),this}},{key:"applyToVector3Array",value:function(){var t=new r.default;return function(e,n,i){void 0===n&&(n=0),void 0===i&&(i=e.length);for(var r=0,o=n;r<i;r+=3,o+=3)t.x=e[o],t.y=e[o+1],t.z=e[o+2],t.applyMatrix4(this),e[o]=t.x,e[o+1]=t.y,e[o+2]=t.z;return e}}},{key:"makeTranslation",value:function(t,e,n){return this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}},{key:"multiplyScalar",value:function(t){var e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}},{key:"set",value:function(t,e,n,i,r,o,s,a,u,h,l,c,y,f,d,v){var p=this.elements;return p[0]=t,p[4]=e,p[8]=n,p[12]=i,p[1]=r,p[5]=o,p[9]=s,p[13]=a,p[2]=u,p[6]=h,p[10]=l,p[14]=c,p[3]=y,p[7]=f,p[11]=d,p[15]=v,this}},{key:"makeScale",value:function(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}}]),t}();e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){return t&&t.__esModule?t:{default:t}}(n(0));var o=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.normal=void 0!==e?e:new r.default(1,0,0),this.constant=void 0!==n?n:0}return i(t,[{key:"set",value:function(t,e){return this.normal.copy(t),this.constant=e,this}},{key:"setComponents",value:function(t,e,n,i){return this.normal.set(t,e,n),this.constant=i,this}},{key:"setFromNormalAndCoplanarPoint",value:function(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}},{key:"copy",value:function(t){return this.normal.copy(t.normal),this.constant=t.constant,this}},{key:"normalize",value:function(){var t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}},{key:"negate",value:function(){return this.constant*=-1,this.normal.negate(),this}},{key:"distanceToPoint",value:function(t){return this.normal.dot(t)+this.constant}},{key:"distanceToSphere",value:function(t){return this.distanceToPoint(t.center)-t.radius}},{key:"projectPoint",value:function(t,e){return this.orthoPoint(t,e).sub(t).negate()}},{key:"orthoPoint",value:function(t,e){var n=this.distanceToPoint(t);return(e||new r.default).copy(this.normal).multiplyScalar(n)}},{key:"isIntersectionLine",value:function(t){var e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}},{key:"intersectPlane",value:function(t){var e=this.normal.clone().cross(t.normal),n={origin:new r.default,direction:e};if(this.normal.clone().cross(t.normal).length<1e-10)return n.direction=new r.default,n;var i=this.constant,o=t.constant,s=this.normal.clone().dot(t.normal),a=-(i-o*s)/(1-s*s),u=-(o-i*s)/(1-s*s);return n.origin=this.normal.clone().multiplyScalar(a).add(t.normal.clone().multiplyScalar(u)),n}},{key:"coplanarPoint",value:function(t){return(t||new r.default).copy(this.normal).multiplyScalar(-this.constant)}},{key:"translate",value:function(t){return this.constant=this.constant-t.dot(this.normal),this}},{key:"equals",value:function(t){return t.normal.equals(this.normal)&&t.constant===this.constant}},{key:"clone",value:function(){return(new t).copy(this)}}]),t}();o.prototype.setFromCoplanarPoints=function(){var t=new r.default,e=new r.default;return function(n,i,r){var o=t.subVectors(r,i).cross(e.subVectors(n,i)).normalize();return this.setFromNormalAndCoplanarPoint(o,n),this}}(),o.prototype.intersectLine=function(){var t=new r.default;return function(e,n){var i=n||new r.default,o=e.delta(t),s=this.normal.dot(o);if(0===s)return 0===this.distanceToPoint(e.start)?i.copy(e.start):void 0;var a=-(e.start.dot(this.normal)+this.constant)/s;return a<0||a>1?void 0:i.copy(o).multiplyScalar(a).add(e.start)}}(),e.default=o},function(t,e,n){"use strict";function i(t,e){return{x:t.x-e.x,y:t.y-e.y}}function r(t,e){return Math.sqrt(o(t,e))}function o(t,e){var n=i(t,e);return n.x*n.x+n.y*n.y}Object.defineProperty(e,"__esModule",{value:!0});var s={subtract:i,copy:function(t){return{x:t.x,y:t.y}},pageToPoint:function(t){return{x:t.pageX,y:t.pageY}},distance:r,distanceSquared:o,insideRect:function(t,e){return!(t.x<e.left||t.x>e.left+e.width||t.y<e.top||t.y>e.top+e.height)},findClosestPoint:function(t,e){var n=[],i=void 0;return t.forEach(function(t,o){var s=r(t,e);n.push(s),i=0===o?s:Math.min(s,i)}),t[n.indexOf(i)]}};e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(n(3));function r(t){return{topLeft:{x:t.left,y:t.top},bottomRight:{x:t.left+t.width,y:t.top+t.height}}}var o={distanceToPoint:function(t,e){var n=655535;return function(t){return[{start:{x:t.left,y:t.top},end:{x:t.left+t.width,y:t.top}},{start:{x:t.left+t.width,y:t.top},end:{x:t.left+t.width,y:t.top+t.height}},{start:{x:t.left+t.width,y:t.top+t.height},end:{x:t.left,y:t.top+t.height}},{start:{x:t.left,y:t.top+t.height},end:{x:t.left,y:t.top}}]}(t).forEach(function(t){var r=i.default.distanceToPoint(t,e);r<n&&(n=r)}),n},getIntersectionRect:function(t,e){var n={topLeft:{},bottomRight:{}};if(function(t,e){var n=void 0,i=void 0,o=r(t),s=r(e);return n=t.width>=0?e.width>=0?!(o.bottomRight.x<=s.topLeft.x||s.bottomRight.x<=o.topLeft.x):!(o.bottomRight.x<=s.bottomRight.x||s.topLeft.x<=o.topLeft.x):e.width>=0?!(o.topLeft.x<=s.topLeft.x||s.bottomRight.x<=o.bottomRight.x):!(o.topLeft.x<=s.bottomRight.x||s.topLeft.x<=o.bottomRight.x),i=t.height>=0?e.height>=0?!(o.bottomRight.y<=s.topLeft.y||s.bottomRight.y<=o.topLeft.y):!(o.bottomRight.y<=s.bottomRight.y||s.topLeft.y<=o.topLeft.y):e.height>=0?!(o.topLeft.y<=s.topLeft.y||s.bottomRight.y<=o.bottomRight.y):!(o.topLeft.y<=s.bottomRight.y||s.top<=o.bottomRight.y),n&&i}(t,e)){var i=r(t),o=r(e);return t.width>=0?e.width>=0?(n.topLeft.x=Math.max(i.topLeft.x,o.topLeft.x),n.bottomRight.x=Math.min(i.bottomRight.x,o.bottomRight.x)):(n.topLeft.x=Math.max(i.topLeft.x,o.bottomRight.x),n.bottomRight.x=Math.min(i.bottomRight.x,o.topLeft.x)):e.width>=0?(n.topLeft.x=Math.min(i.topLeft.x,o.bottomRight.x),n.bottomRight.x=Math.max(i.bottomRight.x,o.topLeft.x)):(n.topLeft.x=Math.min(i.topLeft.x,o.topLeft.x),n.bottomRight.x=Math.max(i.bottomRight.x,o.bottomRight.x)),t.height>=0?e.height>=0?(n.topLeft.y=Math.max(i.topLeft.y,o.topLeft.y),n.bottomRight.y=Math.min(i.bottomRight.y,o.bottomRight.y)):(n.topLeft.y=Math.max(i.topLeft.y,o.bottomRight.y),n.bottomRight.y=Math.min(i.bottomRight.y,o.topLeft.y)):e.height>=0?(n.topLeft.y=Math.min(i.topLeft.y,o.bottomRight.y),n.bottomRight.y=Math.max(i.bottomRight.y,o.topLeft.y)):(n.topLeft.y=Math.min(i.topLeft.y,o.topLeft.y),n.bottomRight.y=Math.max(i.bottomRight.y,o.bottomRight.y)),n}}};e.default=o}])});
+//# sourceMappingURL=cornerstoneMath.min.js.map
\ No newline at end of file
diff --git a/public/static/dicom/js/cornerstoneWADOImageLoader.bundle.min.js b/public/static/dicom/js/cornerstoneWADOImageLoader.bundle.min.js
new file mode 100644
index 00000000..32457e96
--- /dev/null
+++ b/public/static/dicom/js/cornerstoneWADOImageLoader.bundle.min.js
@@ -0,0 +1,2 @@
+!function(A,I){"object"==typeof exports&&"object"==typeof module?module.exports=I():"function"==typeof define&&define.amd?define("cornerstoneWADOImageLoader",[],I):"object"==typeof exports?exports.cornerstoneWADOImageLoader=I():A.cornerstoneWADOImageLoader=I()}(this,(function(){return(()=>{var A={6028:(A,I,g)=>{A.exports=g(671)},187:(A,I,g)=>{A.exports=g(7283)},1655:(A,I,g)=>{A.exports=g(2882)},1246:(A,I,g)=>{A.exports=g(8730)},7878:(A,I,g)=>{A.exports=g(8783)},2204:(A,I,g)=>{A.exports=g(4731)},1001:(A,I,g)=>{g(5313);var C=g(2018);A.exports=C("Array").slice},5587:(A,I,g)=>{g(4596);var C=g(2018);A.exports=C("Array").splice},1285:(A,I,g)=>{var C=g(1001),B=Array.prototype;A.exports=function(A){var I=A.slice;return A===B||A instanceof Array&&I===B.slice?C:I}},7681:(A,I,g)=>{var C=g(5587),B=Array.prototype;A.exports=function(A){var I=A.splice;return A===B||A instanceof Array&&I===B.splice?C:I}},8949:(A,I,g)=>{var C=g(9119),B=String.prototype;A.exports=function(A){var I=A.trim;return"string"==typeof A||A===B||A instanceof String&&I===B.trim?C:I}},2529:(A,I,g)=>{g(8524);var C=g(9081);A.exports=C.Object.assign},8116:(A,I,g)=>{g(8390);var C=g(9081);A.exports=C.Object.keys},7281:(A,I,g)=>{g(6454),g(2228),g(2575),g(3658),g(4465),g(8359),g(5203),g(8109);var C=g(9081);A.exports=C.Promise},9119:(A,I,g)=>{g(8217);var C=g(2018);A.exports=C("String").trim},9077:A=>{A.exports=function(A){if("function"!=typeof A)throw TypeError(String(A)+" is not a function");return A}},9154:(A,I,g)=>{var C=g(3359);A.exports=function(A){if(!C(A)&&null!==A)throw TypeError("Can't set "+String(A)+" as a prototype");return A}},7710:A=>{A.exports=function(){}},8792:A=>{A.exports=function(A,I,g){if(!(A instanceof I))throw TypeError("Incorrect "+(g?g+" ":"")+"invocation");return A}},1912:(A,I,g)=>{var C=g(3359);A.exports=function(A){if(!C(A))throw TypeError(String(A)+" is not an object");return A}},7075:(A,I,g)=>{var C=g(3861),B=g(3746),Q=g(3055),E=function(A){return function(I,g,E){var i,o=C(I),t=B(o.length),a=Q(E,t);if(A&&g!=g){for(;t>a;)if((i=o[a++])!=i)return!0}else for(;t>a;a++)if((A||a in o)&&o[a]===g)return A||a||0;return!A&&-1}};A.exports={includes:E(!0),indexOf:E(!1)}},2143:(A,I,g)=>{var C=g(6530),B=g(5712),Q=g(8233),E=B("species");A.exports=function(A){return Q>=51||!C((function(){var I=[];return(I.constructor={})[E]=function(){return{foo:1}},1!==I[A](Boolean).foo}))}},3400:(A,I,g)=>{var C=g(3359),B=g(1054),Q=g(5712)("species");A.exports=function(A){var I;return B(A)&&("function"!=typeof(I=A.constructor)||I!==Array&&!B(I.prototype)?C(I)&&null===(I=I[Q])&&(I=void 0):I=void 0),void 0===I?Array:I}},8136:(A,I,g)=>{var C=g(3400);A.exports=function(A,I){return new(C(A))(0===I?0:I)}},8908:(A,I,g)=>{var C=g(5712)("iterator"),B=!1;try{var Q=0,E={next:function(){return{done:!!Q++}},return:function(){B=!0}};E[C]=function(){return this},Array.from(E,(function(){throw 2}))}catch(A){}A.exports=function(A,I){if(!I&&!B)return!1;var g=!1;try{var Q={};Q[C]=function(){return{next:function(){return{done:g=!0}}}},A(Q)}catch(A){}return g}},1570:A=>{var I={}.toString;A.exports=function(A){return I.call(A).slice(8,-1)}},7499:(A,I,g)=>{var C=g(8889),B=g(1570),Q=g(5712)("toStringTag"),E="Arguments"==B(function(){return arguments}());A.exports=C?B:function(A){var I,g,C;return void 0===A?"Undefined":null===A?"Null":"string"==typeof(g=function(A,I){try{return A[I]}catch(A){}}(I=Object(A),Q))?g:E?B(I):"Object"==(C=B(I))&&"function"==typeof I.callee?"Arguments":C}},872:(A,I,g)=>{var C=g(6530);A.exports=!C((function(){function A(){}return A.prototype.constructor=null,Object.getPrototypeOf(new A)!==A.prototype}))},8611:(A,I,g)=>{"use strict";var C=g(7300).IteratorPrototype,B=g(2491),Q=g(5595),E=g(6738),i=g(9418),o=function(){return this};A.exports=function(A,I,g){var t=I+" Iterator";return A.prototype=B(C,{next:Q(1,g)}),E(A,t,!1,!0),i[t]=o,A}},8518:(A,I,g)=>{var C=g(7001),B=g(7550),Q=g(5595);A.exports=C?function(A,I,g){return B.f(A,I,Q(1,g))}:function(A,I,g){return A[I]=g,A}},5595:A=>{A.exports=function(A,I){return{enumerable:!(1&A),configurable:!(2&A),writable:!(4&A),value:I}}},409:(A,I,g)=>{"use strict";var C=g(5623),B=g(7550),Q=g(5595);A.exports=function(A,I,g){var E=C(I);E in A?B.f(A,E,Q(0,g)):A[E]=g}},8277:(A,I,g)=>{"use strict";var C=g(390),B=g(8611),Q=g(2629),E=g(5255),i=g(6738),o=g(8518),t=g(9791),a=g(5712),e=g(8367),r=g(9418),n=g(7300),D=n.IteratorPrototype,s=n.BUGGY_SAFARI_ITERATORS,c=a("iterator"),h="keys",w="values",F="entries",y=function(){return this};A.exports=function(A,I,g,a,n,G,N){B(g,I,a);var R,S,l,U=function(A){if(A===n&&K)return K;if(!s&&A in d)return d[A];switch(A){case h:case w:case F:return function(){return new g(this,A)}}return function(){return new g(this)}},k=I+" Iterator",J=!1,d=A.prototype,u=d[c]||d["@@iterator"]||n&&d[n],K=!s&&u||U(n),f="Array"==I&&d.entries||u;if(f&&(R=Q(f.call(new A)),D!==Object.prototype&&R.next&&(e||Q(R)===D||(E?E(R,D):"function"!=typeof R[c]&&o(R,c,y)),i(R,k,!0,!0),e&&(r[k]=y))),n==w&&u&&u.name!==w&&(J=!0,K=function(){return u.call(this)}),e&&!N||d[c]===K||o(d,c,K),r[I]=K,n)if(S={values:U(w),keys:G?K:U(h),entries:U(F)},N)for(l in S)(s||J||!(l in d))&&t(d,l,S[l]);else C({target:I,proto:!0,forced:s||J},S);return S}},7001:(A,I,g)=>{var C=g(6530);A.exports=!C((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},231:(A,I,g)=>{var C=g(2868),B=g(3359),Q=C.document,E=B(Q)&&B(Q.createElement);A.exports=function(A){return E?Q.createElement(A):{}}},315:A=>{A.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},6610:A=>{A.exports="object"==typeof window},6405:(A,I,g)=>{var C=g(6900),B=g(2868);A.exports=/ipad|iphone|ipod/i.test(C)&&void 0!==B.Pebble},6540:(A,I,g)=>{var C=g(6900);A.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(C)},6521:(A,I,g)=>{var C=g(1570),B=g(2868);A.exports="process"==C(B.process)},4010:(A,I,g)=>{var C=g(6900);A.exports=/web0s(?!.*chrome)/i.test(C)},6900:(A,I,g)=>{var C=g(8104);A.exports=C("navigator","userAgent")||""},8233:(A,I,g)=>{var C,B,Q=g(2868),E=g(6900),i=Q.process,o=Q.Deno,t=i&&i.versions||o&&o.version,a=t&&t.v8;a?B=(C=a.split("."))[0]<4?1:C[0]+C[1]:E&&(!(C=E.match(/Edge\/(\d+)/))||C[1]>=74)&&(C=E.match(/Chrome\/(\d+)/))&&(B=C[1]),A.exports=B&&+B},2018:(A,I,g)=>{var C=g(9081);A.exports=function(A){return C[A+"Prototype"]}},2712:A=>{A.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},390:(A,I,g)=>{"use strict";var C=g(2868),B=g(5904).f,Q=g(1011),E=g(9081),i=g(7673),o=g(8518),t=g(6690),a=function(A){var I=function(I,g,C){if(this instanceof A){switch(arguments.length){case 0:return new A;case 1:return new A(I);case 2:return new A(I,g)}return new A(I,g,C)}return A.apply(this,arguments)};return I.prototype=A.prototype,I};A.exports=function(A,I){var g,e,r,n,D,s,c,h,w=A.target,F=A.global,y=A.stat,G=A.proto,N=F?C:y?C[w]:(C[w]||{}).prototype,R=F?E:E[w]||o(E,w,{})[w],S=R.prototype;for(r in I)g=!Q(F?r:w+(y?".":"#")+r,A.forced)&&N&&t(N,r),D=R[r],g&&(s=A.noTargetGet?(h=B(N,r))&&h.value:N[r]),n=g&&s?s:I[r],g&&typeof D==typeof n||(c=A.bind&&g?i(n,C):A.wrap&&g?a(n):G&&"function"==typeof n?i(Function.call,n):n,(A.sham||n&&n.sham||D&&D.sham)&&o(c,"sham",!0),o(R,r,c),G&&(t(E,e=w+"Prototype")||o(E,e,{}),o(E[e],r,n),A.real&&S&&!S[r]&&o(S,r,n)))}},6530:A=>{A.exports=function(A){try{return!!A()}catch(A){return!0}}},7673:(A,I,g)=>{var C=g(9077);A.exports=function(A,I,g){if(C(A),void 0===I)return A;switch(g){case 0:return function(){return A.call(I)};case 1:return function(g){return A.call(I,g)};case 2:return function(g,C){return A.call(I,g,C)};case 3:return function(g,C,B){return A.call(I,g,C,B)}}return function(){return A.apply(I,arguments)}}},8104:(A,I,g)=>{var C=g(9081),B=g(2868),Q=function(A){return"function"==typeof A?A:void 0};A.exports=function(A,I){return arguments.length<2?Q(C[A])||Q(B[A]):C[A]&&C[A][I]||B[A]&&B[A][I]}},5018:(A,I,g)=>{var C=g(7499),B=g(9418),Q=g(5712)("iterator");A.exports=function(A){if(null!=A)return A[Q]||A["@@iterator"]||B[C(A)]}},5945:(A,I,g)=>{var C=g(1912),B=g(5018);A.exports=function(A,I){var g=arguments.length<2?B(A):I;if("function"!=typeof g)throw TypeError(String(A)+" is not iterable");return C(g.call(A))}},2868:(A,I,g)=>{var C=function(A){return A&&A.Math==Math&&A};A.exports=C("object"==typeof globalThis&&globalThis)||C("object"==typeof window&&window)||C("object"==typeof self&&self)||C("object"==typeof g.g&&g.g)||function(){return this}()||Function("return this")()},6690:(A,I,g)=>{var C=g(2058),B={}.hasOwnProperty;A.exports=Object.hasOwn||function(A,I){return B.call(C(A),I)}},7048:A=>{A.exports={}},8471:(A,I,g)=>{var C=g(2868);A.exports=function(A,I){var g=C.console;g&&g.error&&(1===arguments.length?g.error(A):g.error(A,I))}},5644:(A,I,g)=>{var C=g(8104);A.exports=C("document","documentElement")},640:(A,I,g)=>{var C=g(7001),B=g(6530),Q=g(231);A.exports=!C&&!B((function(){return 7!=Object.defineProperty(Q("div"),"a",{get:function(){return 7}}).a}))},1251:(A,I,g)=>{var C=g(6530),B=g(1570),Q="".split;A.exports=C((function(){return!Object("z").propertyIsEnumerable(0)}))?function(A){return"String"==B(A)?Q.call(A,""):Object(A)}:Object},1494:(A,I,g)=>{var C=g(2656),B=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(A){return B.call(A)}),A.exports=C.inspectSource},5875:(A,I,g)=>{var C,B,Q,E=g(2297),i=g(2868),o=g(3359),t=g(8518),a=g(6690),e=g(2656),r=g(5039),n=g(7048),D="Object already initialized",s=i.WeakMap;if(E||e.state){var c=e.state||(e.state=new s),h=c.get,w=c.has,F=c.set;C=function(A,I){if(w.call(c,A))throw new TypeError(D);return I.facade=A,F.call(c,A,I),I},B=function(A){return h.call(c,A)||{}},Q=function(A){return w.call(c,A)}}else{var y=r("state");n[y]=!0,C=function(A,I){if(a(A,y))throw new TypeError(D);return I.facade=A,t(A,y,I),I},B=function(A){return a(A,y)?A[y]:{}},Q=function(A){return a(A,y)}}A.exports={set:C,get:B,has:Q,enforce:function(A){return Q(A)?B(A):C(A,{})},getterFor:function(A){return function(I){var g;if(!o(I)||(g=B(I)).type!==A)throw TypeError("Incompatible receiver, "+A+" required");return g}}}},6475:(A,I,g)=>{var C=g(5712),B=g(9418),Q=C("iterator"),E=Array.prototype;A.exports=function(A){return void 0!==A&&(B.Array===A||E[Q]===A)}},1054:(A,I,g)=>{var C=g(1570);A.exports=Array.isArray||function(A){return"Array"==C(A)}},1011:(A,I,g)=>{var C=g(6530),B=/#|\.prototype\./,Q=function(A,I){var g=i[E(A)];return g==t||g!=o&&("function"==typeof I?C(I):!!I)},E=Q.normalize=function(A){return String(A).replace(B,".").toLowerCase()},i=Q.data={},o=Q.NATIVE="N",t=Q.POLYFILL="P";A.exports=Q},3359:A=>{A.exports=function(A){return"object"==typeof A?null!==A:"function"==typeof A}},8367:A=>{A.exports=!0},1149:(A,I,g)=>{var C=g(8104),B=g(6046);A.exports=B?function(A){return"symbol"==typeof A}:function(A){var I=C("Symbol");return"function"==typeof I&&Object(A)instanceof I}},3906:(A,I,g)=>{var C=g(1912),B=g(6475),Q=g(3746),E=g(7673),i=g(5945),o=g(5018),t=g(309),a=function(A,I){this.stopped=A,this.result=I};A.exports=function(A,I,g){var e,r,n,D,s,c,h,w=g&&g.that,F=!(!g||!g.AS_ENTRIES),y=!(!g||!g.IS_ITERATOR),G=!(!g||!g.INTERRUPTED),N=E(I,w,1+F+G),R=function(A){return e&&t(e,"normal",A),new a(!0,A)},S=function(A){return F?(C(A),G?N(A[0],A[1],R):N(A[0],A[1])):G?N(A,R):N(A)};if(y)e=A;else{if("function"!=typeof(r=o(A)))throw TypeError("Target is not iterable");if(B(r)){for(n=0,D=Q(A.length);D>n;n++)if((s=S(A[n]))&&s instanceof a)return s;return new a(!1)}e=i(A,r)}for(c=e.next;!(h=c.call(e)).done;){try{s=S(h.value)}catch(A){t(e,"throw",A)}if("object"==typeof s&&s&&s instanceof a)return s}return new a(!1)}},309:(A,I,g)=>{var C=g(1912);A.exports=function(A,I,g){var B,Q;C(A);try{if(void 0===(B=A.return)){if("throw"===I)throw g;return g}B=B.call(A)}catch(A){Q=!0,B=A}if("throw"===I)throw g;if(Q)throw B;return C(B),g}},7300:(A,I,g)=>{"use strict";var C,B,Q,E=g(6530),i=g(2629),o=g(8518),t=g(6690),a=g(5712),e=g(8367),r=a("iterator"),n=!1;[].keys&&("next"in(Q=[].keys())?(B=i(i(Q)))!==Object.prototype&&(C=B):n=!0);var D=null==C||E((function(){var A={};return C[r].call(A)!==A}));D&&(C={}),e&&!D||t(C,r)||o(C,r,(function(){return this})),A.exports={IteratorPrototype:C,BUGGY_SAFARI_ITERATORS:n}},9418:A=>{A.exports={}},8054:(A,I,g)=>{var C,B,Q,E,i,o,t,a,e=g(2868),r=g(5904).f,n=g(6569).set,D=g(6540),s=g(6405),c=g(4010),h=g(6521),w=e.MutationObserver||e.WebKitMutationObserver,F=e.document,y=e.process,G=e.Promise,N=r(e,"queueMicrotask"),R=N&&N.value;R||(C=function(){var A,I;for(h&&(A=y.domain)&&A.exit();B;){I=B.fn,B=B.next;try{I()}catch(A){throw B?E():Q=void 0,A}}Q=void 0,A&&A.enter()},D||h||c||!w||!F?!s&&G&&G.resolve?((t=G.resolve(void 0)).constructor=G,a=t.then,E=function(){a.call(t,C)}):E=h?function(){y.nextTick(C)}:function(){n.call(e,C)}:(i=!0,o=F.createTextNode(""),new w(C).observe(o,{characterData:!0}),E=function(){o.data=i=!i})),A.exports=R||function(A){var I={fn:A,next:void 0};Q&&(Q.next=I),B||(B=I,E()),Q=I}},3104:(A,I,g)=>{var C=g(2868);A.exports=C.Promise},3216:(A,I,g)=>{var C=g(8233),B=g(6530);A.exports=!!Object.getOwnPropertySymbols&&!B((function(){var A=Symbol();return!String(A)||!(Object(A)instanceof Symbol)||!Symbol.sham&&C&&C<41}))},2297:(A,I,g)=>{var C=g(2868),B=g(1494),Q=C.WeakMap;A.exports="function"==typeof Q&&/native code/.test(B(Q))},4130:(A,I,g)=>{"use strict";var C=g(9077),B=function(A){var I,g;this.promise=new A((function(A,C){if(void 0!==I||void 0!==g)throw TypeError("Bad Promise constructor");I=A,g=C})),this.resolve=C(I),this.reject=C(g)};A.exports.f=function(A){return new B(A)}},3210:(A,I,g)=>{"use strict";var C=g(7001),B=g(6530),Q=g(461),E=g(3764),i=g(1156),o=g(2058),t=g(1251),a=Object.assign,e=Object.defineProperty;A.exports=!a||B((function(){if(C&&1!==a({b:1},a(e({},"a",{enumerable:!0,get:function(){e(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var A={},I={},g=Symbol(),B="abcdefghijklmnopqrst";return A[g]=7,B.split("").forEach((function(A){I[A]=A})),7!=a({},A)[g]||Q(a({},I)).join("")!=B}))?function(A,I){for(var g=o(A),B=arguments.length,a=1,e=E.f,r=i.f;B>a;)for(var n,D=t(arguments[a++]),s=e?Q(D).concat(e(D)):Q(D),c=s.length,h=0;c>h;)n=s[h++],C&&!r.call(D,n)||(g[n]=D[n]);return g}:a},2491:(A,I,g)=>{var C,B=g(1912),Q=g(4686),E=g(2712),i=g(7048),o=g(5644),t=g(231),a=g(5039),e=a("IE_PROTO"),r=function(){},n=function(A){return"<script>"+A+"</"+"script>"},D=function(A){A.write(n("")),A.close();var I=A.parentWindow.Object;return A=null,I},s=function(){try{C=new ActiveXObject("htmlfile")}catch(A){}var A,I;s="undefined"!=typeof document?document.domain&&C?D(C):((I=t("iframe")).style.display="none",o.appendChild(I),I.src=String("javascript:"),(A=I.contentWindow.document).open(),A.write(n("document.F=Object")),A.close(),A.F):D(C);for(var g=E.length;g--;)delete s.prototype[E[g]];return s()};i[e]=!0,A.exports=Object.create||function(A,I){var g;return null!==A?(r.prototype=B(A),g=new r,r.prototype=null,g[e]=A):g=s(),void 0===I?g:Q(g,I)}},4686:(A,I,g)=>{var C=g(7001),B=g(7550),Q=g(1912),E=g(461);A.exports=C?Object.defineProperties:function(A,I){Q(A);for(var g,C=E(I),i=C.length,o=0;i>o;)B.f(A,g=C[o++],I[g]);return A}},7550:(A,I,g)=>{var C=g(7001),B=g(640),Q=g(1912),E=g(5623),i=Object.defineProperty;I.f=C?i:function(A,I,g){if(Q(A),I=E(I),Q(g),B)try{return i(A,I,g)}catch(A){}if("get"in g||"set"in g)throw TypeError("Accessors not supported");return"value"in g&&(A[I]=g.value),A}},5904:(A,I,g)=>{var C=g(7001),B=g(1156),Q=g(5595),E=g(3861),i=g(5623),o=g(6690),t=g(640),a=Object.getOwnPropertyDescriptor;I.f=C?a:function(A,I){if(A=E(A),I=i(I),t)try{return a(A,I)}catch(A){}if(o(A,I))return Q(!B.f.call(A,I),A[I])}},3764:(A,I)=>{I.f=Object.getOwnPropertySymbols},2629:(A,I,g)=>{var C=g(6690),B=g(2058),Q=g(5039),E=g(872),i=Q("IE_PROTO"),o=Object.prototype;A.exports=E?Object.getPrototypeOf:function(A){return A=B(A),C(A,i)?A[i]:"function"==typeof A.constructor&&A instanceof A.constructor?A.constructor.prototype:A instanceof Object?o:null}},1247:(A,I,g)=>{var C=g(6690),B=g(3861),Q=g(7075).indexOf,E=g(7048);A.exports=function(A,I){var g,i=B(A),o=0,t=[];for(g in i)!C(E,g)&&C(i,g)&&t.push(g);for(;I.length>o;)C(i,g=I[o++])&&(~Q(t,g)||t.push(g));return t}},461:(A,I,g)=>{var C=g(1247),B=g(2712);A.exports=Object.keys||function(A){return C(A,B)}},1156:(A,I)=>{"use strict";var g={}.propertyIsEnumerable,C=Object.getOwnPropertyDescriptor,B=C&&!g.call({1:2},1);I.f=B?function(A){var I=C(this,A);return!!I&&I.enumerable}:g},5255:(A,I,g)=>{var C=g(1912),B=g(9154);A.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var A,I=!1,g={};try{(A=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(g,[]),I=g instanceof Array}catch(A){}return function(g,Q){return C(g),B(Q),I?A.call(g,Q):g.__proto__=Q,g}}():void 0)},4822:(A,I,g)=>{"use strict";var C=g(8889),B=g(7499);A.exports=C?{}.toString:function(){return"[object "+B(this)+"]"}},9466:(A,I,g)=>{var C=g(3359);A.exports=function(A,I){var g,B;if("string"===I&&"function"==typeof(g=A.toString)&&!C(B=g.call(A)))return B;if("function"==typeof(g=A.valueOf)&&!C(B=g.call(A)))return B;if("string"!==I&&"function"==typeof(g=A.toString)&&!C(B=g.call(A)))return B;throw TypeError("Can't convert object to primitive value")}},9081:A=>{A.exports={}},4618:A=>{A.exports=function(A){try{return{error:!1,value:A()}}catch(A){return{error:!0,value:A}}}},4567:(A,I,g)=>{var C=g(1912),B=g(3359),Q=g(4130);A.exports=function(A,I){if(C(A),B(I)&&I.constructor===A)return I;var g=Q.f(A);return(0,g.resolve)(I),g.promise}},9248:(A,I,g)=>{var C=g(9791);A.exports=function(A,I,g){for(var B in I)g&&g.unsafe&&A[B]?A[B]=I[B]:C(A,B,I[B],g);return A}},9791:(A,I,g)=>{var C=g(8518);A.exports=function(A,I,g,B){B&&B.enumerable?A[I]=g:C(A,I,g)}},3604:A=>{A.exports=function(A){if(null==A)throw TypeError("Can't call method on "+A);return A}},2643:(A,I,g)=>{var C=g(2868);A.exports=function(A,I){try{Object.defineProperty(C,A,{value:I,configurable:!0,writable:!0})}catch(g){C[A]=I}return I}},3918:(A,I,g)=>{"use strict";var C=g(8104),B=g(7550),Q=g(5712),E=g(7001),i=Q("species");A.exports=function(A){var I=C(A),g=B.f;E&&I&&!I[i]&&g(I,i,{configurable:!0,get:function(){return this}})}},6738:(A,I,g)=>{var C=g(8889),B=g(7550).f,Q=g(8518),E=g(6690),i=g(4822),o=g(5712)("toStringTag");A.exports=function(A,I,g,t){if(A){var a=g?A:A.prototype;E(a,o)||B(a,o,{configurable:!0,value:I}),t&&!C&&Q(a,"toString",i)}}},5039:(A,I,g)=>{var C=g(6315),B=g(9),Q=C("keys");A.exports=function(A){return Q[A]||(Q[A]=B(A))}},2656:(A,I,g)=>{var C=g(2868),B=g(2643),Q="__core-js_shared__",E=C[Q]||B(Q,{});A.exports=E},6315:(A,I,g)=>{var C=g(8367),B=g(2656);(A.exports=function(A,I){return B[A]||(B[A]=void 0!==I?I:{})})("versions",[]).push({version:"3.17.2",mode:C?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},5462:(A,I,g)=>{var C=g(1912),B=g(9077),Q=g(5712)("species");A.exports=function(A,I){var g,E=C(A).constructor;return void 0===E||null==(g=C(E)[Q])?I:B(g)}},1420:(A,I,g)=>{var C=g(1470),B=g(5264),Q=g(3604),E=function(A){return function(I,g){var E,i,o=B(Q(I)),t=C(g),a=o.length;return t<0||t>=a?A?"":void 0:(E=o.charCodeAt(t))<55296||E>56319||t+1===a||(i=o.charCodeAt(t+1))<56320||i>57343?A?o.charAt(t):E:A?o.slice(t,t+2):i-56320+(E-55296<<10)+65536}};A.exports={codeAt:E(!1),charAt:E(!0)}},9787:(A,I,g)=>{var C=g(6530),B=g(3781);A.exports=function(A){return C((function(){return!!B[A]()||"​…᠎"!="​…᠎"[A]()||B[A].name!==A}))}},774:(A,I,g)=>{var C=g(3604),B=g(5264),Q="["+g(3781)+"]",E=RegExp("^"+Q+Q+"*"),i=RegExp(Q+Q+"*$"),o=function(A){return function(I){var g=B(C(I));return 1&A&&(g=g.replace(E,"")),2&A&&(g=g.replace(i,"")),g}};A.exports={start:o(1),end:o(2),trim:o(3)}},6569:(A,I,g)=>{var C,B,Q,E,i=g(2868),o=g(6530),t=g(7673),a=g(5644),e=g(231),r=g(6540),n=g(6521),D=i.setImmediate,s=i.clearImmediate,c=i.process,h=i.MessageChannel,w=i.Dispatch,F=0,y={},G="onreadystatechange";try{C=i.location}catch(A){}var N=function(A){if(y.hasOwnProperty(A)){var I=y[A];delete y[A],I()}},R=function(A){return function(){N(A)}},S=function(A){N(A.data)},l=function(A){i.postMessage(String(A),C.protocol+"//"+C.host)};D&&s||(D=function(A){for(var I=[],g=arguments.length,C=1;g>C;)I.push(arguments[C++]);return y[++F]=function(){("function"==typeof A?A:Function(A)).apply(void 0,I)},B(F),F},s=function(A){delete y[A]},n?B=function(A){c.nextTick(R(A))}:w&&w.now?B=function(A){w.now(R(A))}:h&&!r?(E=(Q=new h).port2,Q.port1.onmessage=S,B=t(E.postMessage,E,1)):i.addEventListener&&"function"==typeof postMessage&&!i.importScripts&&C&&"file:"!==C.protocol&&!o(l)?(B=l,i.addEventListener("message",S,!1)):B=G in e("script")?function(A){a.appendChild(e("script")).onreadystatechange=function(){a.removeChild(this),N(A)}}:function(A){setTimeout(R(A),0)}),A.exports={set:D,clear:s}},3055:(A,I,g)=>{var C=g(1470),B=Math.max,Q=Math.min;A.exports=function(A,I){var g=C(A);return g<0?B(g+I,0):Q(g,I)}},3861:(A,I,g)=>{var C=g(1251),B=g(3604);A.exports=function(A){return C(B(A))}},1470:A=>{var I=Math.ceil,g=Math.floor;A.exports=function(A){return isNaN(A=+A)?0:(A>0?g:I)(A)}},3746:(A,I,g)=>{var C=g(1470),B=Math.min;A.exports=function(A){return A>0?B(C(A),9007199254740991):0}},2058:(A,I,g)=>{var C=g(3604);A.exports=function(A){return Object(C(A))}},3957:(A,I,g)=>{var C=g(3359),B=g(1149),Q=g(9466),E=g(5712)("toPrimitive");A.exports=function(A,I){if(!C(A)||B(A))return A;var g,i=A[E];if(void 0!==i){if(void 0===I&&(I="default"),g=i.call(A,I),!C(g)||B(g))return g;throw TypeError("Can't convert object to primitive value")}return void 0===I&&(I="number"),Q(A,I)}},5623:(A,I,g)=>{var C=g(3957),B=g(1149);A.exports=function(A){var I=C(A,"string");return B(I)?I:String(I)}},8889:(A,I,g)=>{var C={};C[g(5712)("toStringTag")]="z",A.exports="[object z]"===String(C)},5264:(A,I,g)=>{var C=g(1149);A.exports=function(A){if(C(A))throw TypeError("Cannot convert a Symbol value to a string");return String(A)}},9:A=>{var I=0,g=Math.random();A.exports=function(A){return"Symbol("+String(void 0===A?"":A)+")_"+(++I+g).toString(36)}},6046:(A,I,g)=>{var C=g(3216);A.exports=C&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},5712:(A,I,g)=>{var C=g(2868),B=g(6315),Q=g(6690),E=g(9),i=g(3216),o=g(6046),t=B("wks"),a=C.Symbol,e=o?a:a&&a.withoutSetter||E;A.exports=function(A){return Q(t,A)&&(i||"string"==typeof t[A])||(i&&Q(a,A)?t[A]=a[A]:t[A]=e("Symbol."+A)),t[A]}},3781:A=>{A.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},6454:(A,I,g)=>{"use strict";var C=g(390),B=g(2629),Q=g(5255),E=g(2491),i=g(8518),o=g(5595),t=g(3906),a=g(5264),e=function(A,I){var g=this;if(!(g instanceof e))return new e(A,I);Q&&(g=Q(new Error(void 0),B(g))),void 0!==I&&i(g,"message",a(I));var C=[];return t(A,C.push,{that:C}),i(g,"errors",C),g};e.prototype=E(Error.prototype,{constructor:o(5,e),message:o(5,""),name:o(5,"AggregateError")}),C({global:!0},{AggregateError:e})},2228:(A,I,g)=>{"use strict";var C=g(3861),B=g(7710),Q=g(9418),E=g(5875),i=g(8277),o="Array Iterator",t=E.set,a=E.getterFor(o);A.exports=i(Array,"Array",(function(A,I){t(this,{type:o,target:C(A),index:0,kind:I})}),(function(){var A=a(this),I=A.target,g=A.kind,C=A.index++;return!I||C>=I.length?(A.target=void 0,{value:void 0,done:!0}):"keys"==g?{value:C,done:!1}:"values"==g?{value:I[C],done:!1}:{value:[C,I[C]],done:!1}}),"values"),Q.Arguments=Q.Array,B("keys"),B("values"),B("entries")},5313:(A,I,g)=>{"use strict";var C=g(390),B=g(3359),Q=g(1054),E=g(3055),i=g(3746),o=g(3861),t=g(409),a=g(5712),e=g(2143)("slice"),r=a("species"),n=[].slice,D=Math.max;C({target:"Array",proto:!0,forced:!e},{slice:function(A,I){var g,C,a,e=o(this),s=i(e.length),c=E(A,s),h=E(void 0===I?s:I,s);if(Q(e)&&("function"!=typeof(g=e.constructor)||g!==Array&&!Q(g.prototype)?B(g)&&null===(g=g[r])&&(g=void 0):g=void 0,g===Array||void 0===g))return n.call(e,c,h);for(C=new(void 0===g?Array:g)(D(h-c,0)),a=0;c<h;c++,a++)c in e&&t(C,a,e[c]);return C.length=a,C}})},4596:(A,I,g)=>{"use strict";var C=g(390),B=g(3055),Q=g(1470),E=g(3746),i=g(2058),o=g(8136),t=g(409),a=g(2143)("splice"),e=Math.max,r=Math.min,n=9007199254740991,D="Maximum allowed length exceeded";C({target:"Array",proto:!0,forced:!a},{splice:function(A,I){var g,C,a,s,c,h,w=i(this),F=E(w.length),y=B(A,F),G=arguments.length;if(0===G?g=C=0:1===G?(g=0,C=F-y):(g=G-2,C=r(e(Q(I),0),F-y)),F+g-C>n)throw TypeError(D);for(a=o(w,C),s=0;s<C;s++)(c=y+s)in w&&t(a,s,w[c]);if(a.length=C,g<C){for(s=y;s<F-C;s++)h=s+g,(c=s+C)in w?w[h]=w[c]:delete w[h];for(s=F;s>F-C+g;s--)delete w[s-1]}else if(g>C)for(s=F-C;s>y;s--)h=s+g-1,(c=s+C-1)in w?w[h]=w[c]:delete w[h];for(s=0;s<g;s++)w[s+y]=arguments[s+2];return w.length=F-C+g,a}})},8524:(A,I,g)=>{var C=g(390),B=g(3210);C({target:"Object",stat:!0,forced:Object.assign!==B},{assign:B})},8390:(A,I,g)=>{var C=g(390),B=g(2058),Q=g(461);C({target:"Object",stat:!0,forced:g(6530)((function(){Q(1)}))},{keys:function(A){return Q(B(A))}})},2575:()=>{},4465:(A,I,g)=>{"use strict";var C=g(390),B=g(9077),Q=g(4130),E=g(4618),i=g(3906);C({target:"Promise",stat:!0},{allSettled:function(A){var I=this,g=Q.f(I),C=g.resolve,o=g.reject,t=E((function(){var g=B(I.resolve),Q=[],E=0,o=1;i(A,(function(A){var B=E++,i=!1;Q.push(void 0),o++,g.call(I,A).then((function(A){i||(i=!0,Q[B]={status:"fulfilled",value:A},--o||C(Q))}),(function(A){i||(i=!0,Q[B]={status:"rejected",reason:A},--o||C(Q))}))})),--o||C(Q)}));return t.error&&o(t.value),g.promise}})},8359:(A,I,g)=>{"use strict";var C=g(390),B=g(9077),Q=g(8104),E=g(4130),i=g(4618),o=g(3906),t="No one promise resolved";C({target:"Promise",stat:!0},{any:function(A){var I=this,g=E.f(I),C=g.resolve,a=g.reject,e=i((function(){var g=B(I.resolve),E=[],i=0,e=1,r=!1;o(A,(function(A){var B=i++,o=!1;E.push(void 0),e++,g.call(I,A).then((function(A){o||r||(r=!0,C(A))}),(function(A){o||r||(o=!0,E[B]=A,--e||a(new(Q("AggregateError"))(E,t)))}))})),--e||a(new(Q("AggregateError"))(E,t))}));return e.error&&a(e.value),g.promise}})},5203:(A,I,g)=>{"use strict";var C=g(390),B=g(8367),Q=g(3104),E=g(6530),i=g(8104),o=g(5462),t=g(4567),a=g(9791);if(C({target:"Promise",proto:!0,real:!0,forced:!!Q&&E((function(){Q.prototype.finally.call({then:function(){}},(function(){}))}))},{finally:function(A){var I=o(this,i("Promise")),g="function"==typeof A;return this.then(g?function(g){return t(I,A()).then((function(){return g}))}:A,g?function(g){return t(I,A()).then((function(){throw g}))}:A)}}),!B&&"function"==typeof Q){var e=i("Promise").prototype.finally;Q.prototype.finally!==e&&a(Q.prototype,"finally",e,{unsafe:!0})}},3658:(A,I,g)=>{"use strict";var C,B,Q,E,i=g(390),o=g(8367),t=g(2868),a=g(8104),e=g(3104),r=g(9791),n=g(9248),D=g(5255),s=g(6738),c=g(3918),h=g(3359),w=g(9077),F=g(8792),y=g(1494),G=g(3906),N=g(8908),R=g(5462),S=g(6569).set,l=g(8054),U=g(4567),k=g(8471),J=g(4130),d=g(4618),u=g(5875),K=g(1011),f=g(5712),Y=g(6610),L=g(6521),M=g(8233),p=f("species"),H="Promise",q=u.get,b=u.set,m=u.getterFor(H),W=e&&e.prototype,Z=e,x=W,v=t.TypeError,X=t.document,V=t.process,T=J.f,j=T,P=!!(X&&X.createEvent&&t.dispatchEvent),O="function"==typeof PromiseRejectionEvent,z="unhandledrejection",_=!1,$=K(H,(function(){var A=y(Z),I=A!==String(Z);if(!I&&66===M)return!0;if(o&&!x.finally)return!0;if(M>=51&&/native code/.test(A))return!1;var g=new Z((function(A){A(1)})),C=function(A){A((function(){}),(function(){}))};return(g.constructor={})[p]=C,!(_=g.then((function(){}))instanceof C)||!I&&Y&&!O})),AA=$||!N((function(A){Z.all(A).catch((function(){}))})),IA=function(A){var I;return!(!h(A)||"function"!=typeof(I=A.then))&&I},gA=function(A,I){if(!A.notified){A.notified=!0;var g=A.reactions;l((function(){for(var C=A.value,B=1==A.state,Q=0;g.length>Q;){var E,i,o,t=g[Q++],a=B?t.ok:t.fail,e=t.resolve,r=t.reject,n=t.domain;try{a?(B||(2===A.rejection&&EA(A),A.rejection=1),!0===a?E=C:(n&&n.enter(),E=a(C),n&&(n.exit(),o=!0)),E===t.promise?r(v("Promise-chain cycle")):(i=IA(E))?i.call(E,e,r):e(E)):r(C)}catch(A){n&&!o&&n.exit(),r(A)}}A.reactions=[],A.notified=!1,I&&!A.rejection&&BA(A)}))}},CA=function(A,I,g){var C,B;P?((C=X.createEvent("Event")).promise=I,C.reason=g,C.initEvent(A,!1,!0),t.dispatchEvent(C)):C={promise:I,reason:g},!O&&(B=t["on"+A])?B(C):A===z&&k("Unhandled promise rejection",g)},BA=function(A){S.call(t,(function(){var I,g=A.facade,C=A.value;if(QA(A)&&(I=d((function(){L?V.emit("unhandledRejection",C,g):CA(z,g,C)})),A.rejection=L||QA(A)?2:1,I.error))throw I.value}))},QA=function(A){return 1!==A.rejection&&!A.parent},EA=function(A){S.call(t,(function(){var I=A.facade;L?V.emit("rejectionHandled",I):CA("rejectionhandled",I,A.value)}))},iA=function(A,I,g){return function(C){A(I,C,g)}},oA=function(A,I,g){A.done||(A.done=!0,g&&(A=g),A.value=I,A.state=2,gA(A,!0))},tA=function(A,I,g){if(!A.done){A.done=!0,g&&(A=g);try{if(A.facade===I)throw v("Promise can't be resolved itself");var C=IA(I);C?l((function(){var g={done:!1};try{C.call(I,iA(tA,g,A),iA(oA,g,A))}catch(I){oA(g,I,A)}})):(A.value=I,A.state=1,gA(A,!1))}catch(I){oA({done:!1},I,A)}}};if($&&(x=(Z=function(A){F(this,Z,H),w(A),C.call(this);var I=q(this);try{A(iA(tA,I),iA(oA,I))}catch(A){oA(I,A)}}).prototype,(C=function(A){b(this,{type:H,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=n(x,{then:function(A,I){var g=m(this),C=T(R(this,Z));return C.ok="function"!=typeof A||A,C.fail="function"==typeof I&&I,C.domain=L?V.domain:void 0,g.parent=!0,g.reactions.push(C),0!=g.state&&gA(g,!1),C.promise},catch:function(A){return this.then(void 0,A)}}),B=function(){var A=new C,I=q(A);this.promise=A,this.resolve=iA(tA,I),this.reject=iA(oA,I)},J.f=T=function(A){return A===Z||A===Q?new B(A):j(A)},!o&&"function"==typeof e&&W!==Object.prototype)){E=W.then,_||(r(W,"then",(function(A,I){var g=this;return new Z((function(A,I){E.call(g,A,I)})).then(A,I)}),{unsafe:!0}),r(W,"catch",x.catch,{unsafe:!0}));try{delete W.constructor}catch(A){}D&&D(W,x)}i({global:!0,wrap:!0,forced:$},{Promise:Z}),s(Z,H,!1,!0),c(H),Q=a(H),i({target:H,stat:!0,forced:$},{reject:function(A){var I=T(this);return I.reject.call(void 0,A),I.promise}}),i({target:H,stat:!0,forced:o||$},{resolve:function(A){return U(o&&this===Q?Z:this,A)}}),i({target:H,stat:!0,forced:AA},{all:function(A){var I=this,g=T(I),C=g.resolve,B=g.reject,Q=d((function(){var g=w(I.resolve),Q=[],E=0,i=1;G(A,(function(A){var o=E++,t=!1;Q.push(void 0),i++,g.call(I,A).then((function(A){t||(t=!0,Q[o]=A,--i||C(Q))}),B)})),--i||C(Q)}));return Q.error&&B(Q.value),g.promise},race:function(A){var I=this,g=T(I),C=g.reject,B=d((function(){var B=w(I.resolve);G(A,(function(A){B.call(I,A).then(g.resolve,C)}))}));return B.error&&C(B.value),g.promise}})},8109:(A,I,g)=>{"use strict";var C=g(1420).charAt,B=g(5264),Q=g(5875),E=g(8277),i="String Iterator",o=Q.set,t=Q.getterFor(i);E(String,"String",(function(A){o(this,{type:i,string:B(A),index:0})}),(function(){var A,I=t(this),g=I.string,B=I.index;return B>=g.length?{value:void 0,done:!0}:(A=C(g,B),I.index+=A.length,{value:A,done:!1})}))},8217:(A,I,g)=>{"use strict";var C=g(390),B=g(774).trim;C({target:"String",proto:!0,forced:g(9787)("trim")},{trim:function(){return B(this)}})},9702:(A,I,g)=>{g(2228);var C=g(315),B=g(2868),Q=g(7499),E=g(8518),i=g(9418),o=g(5712)("toStringTag");for(var t in C){var a=B[t],e=a&&a.prototype;e&&Q(e)!==o&&E(e,o,t),i[t]=i.Array}},671:(A,I,g)=>{var C=g(1285);A.exports=C},7283:(A,I,g)=>{var C=g(7681);A.exports=C},2882:(A,I,g)=>{var C=g(8949);A.exports=C},8730:(A,I,g)=>{var C=g(2529);A.exports=C},8783:(A,I,g)=>{var C=g(8116);A.exports=C},4731:(A,I,g)=>{var C=g(7281);g(9702),A.exports=C},5613:(A,I,g)=>{"use strict";const C=g(1863),B=g(7609),Q=g(9141),E=g(5710),i=g(8894),o=g(8235),t=Object.prototype.toString,{Z_NO_FLUSH:a,Z_FINISH:e,Z_OK:r,Z_STREAM_END:n,Z_NEED_DICT:D,Z_STREAM_ERROR:s,Z_DATA_ERROR:c,Z_MEM_ERROR:h}=g(2436);function w(A){this.options=B.assign({chunkSize:65536,windowBits:15,to:""},A||{});const I=this.options;I.raw&&I.windowBits>=0&&I.windowBits<16&&(I.windowBits=-I.windowBits,0===I.windowBits&&(I.windowBits=-15)),!(I.windowBits>=0&&I.windowBits<16)||A&&A.windowBits||(I.windowBits+=32),I.windowBits>15&&I.windowBits<48&&0==(15&I.windowBits)&&(I.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;let g=C.inflateInit2(this.strm,I.windowBits);if(g!==r)throw new Error(E[g]);if(this.header=new o,C.inflateGetHeader(this.strm,this.header),I.dictionary&&("string"==typeof I.dictionary?I.dictionary=Q.string2buf(I.dictionary):"[object ArrayBuffer]"===t.call(I.dictionary)&&(I.dictionary=new Uint8Array(I.dictionary)),I.raw&&(g=C.inflateSetDictionary(this.strm,I.dictionary),g!==r)))throw new Error(E[g])}function F(A,I){const g=new w(I);if(g.push(A),g.err)throw g.msg||E[g.err];return g.result}w.prototype.push=function(A,I){const g=this.strm,B=this.options.chunkSize,E=this.options.dictionary;let i,o,w;if(this.ended)return!1;for(o=I===~~I?I:!0===I?e:a,"[object ArrayBuffer]"===t.call(A)?g.input=new Uint8Array(A):g.input=A,g.next_in=0,g.avail_in=g.input.length;;){for(0===g.avail_out&&(g.output=new Uint8Array(B),g.next_out=0,g.avail_out=B),i=C.inflate(g,o),i===D&&E&&(i=C.inflateSetDictionary(g,E),i===r?i=C.inflate(g,o):i===c&&(i=D));g.avail_in>0&&i===n&&g.state.wrap>0&&0!==A[g.next_in];)C.inflateReset(g),i=C.inflate(g,o);switch(i){case s:case c:case D:case h:return this.onEnd(i),this.ended=!0,!1}if(w=g.avail_out,g.next_out&&(0===g.avail_out||i===n))if("string"===this.options.to){let A=Q.utf8border(g.output,g.next_out),I=g.next_out-A,C=Q.buf2string(g.output,A);g.next_out=I,g.avail_out=B-I,I&&g.output.set(g.output.subarray(A,A+I),0),this.onData(C)}else this.onData(g.output.length===g.next_out?g.output:g.output.subarray(0,g.next_out));if(i!==r||0!==w){if(i===n)return i=C.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,!0;if(0===g.avail_in)break}}return!0},w.prototype.onData=function(A){this.chunks.push(A)},w.prototype.onEnd=function(A){A===r&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=B.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg},A.exports.Hq=function(A,I){return(I=I||{}).raw=!0,F(A,I)},g(2436)},7609:A=>{"use strict";const I=(A,I)=>Object.prototype.hasOwnProperty.call(A,I);A.exports.assign=function(A){const g=Array.prototype.slice.call(arguments,1);for(;g.length;){const C=g.shift();if(C){if("object"!=typeof C)throw new TypeError(C+"must be non-object");for(const g in C)I(C,g)&&(A[g]=C[g])}}return A},A.exports.flattenChunks=A=>{let I=0;for(let g=0,C=A.length;g<C;g++)I+=A[g].length;const g=new Uint8Array(I);for(let I=0,C=0,B=A.length;I<B;I++){let B=A[I];g.set(B,C),C+=B.length}return g}},9141:A=>{"use strict";let I=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(A){I=!1}const g=new Uint8Array(256);for(let A=0;A<256;A++)g[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;g[254]=g[254]=1,A.exports.string2buf=A=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(A);let I,g,C,B,Q,E=A.length,i=0;for(B=0;B<E;B++)g=A.charCodeAt(B),55296==(64512&g)&&B+1<E&&(C=A.charCodeAt(B+1),56320==(64512&C)&&(g=65536+(g-55296<<10)+(C-56320),B++)),i+=g<128?1:g<2048?2:g<65536?3:4;for(I=new Uint8Array(i),Q=0,B=0;Q<i;B++)g=A.charCodeAt(B),55296==(64512&g)&&B+1<E&&(C=A.charCodeAt(B+1),56320==(64512&C)&&(g=65536+(g-55296<<10)+(C-56320),B++)),g<128?I[Q++]=g:g<2048?(I[Q++]=192|g>>>6,I[Q++]=128|63&g):g<65536?(I[Q++]=224|g>>>12,I[Q++]=128|g>>>6&63,I[Q++]=128|63&g):(I[Q++]=240|g>>>18,I[Q++]=128|g>>>12&63,I[Q++]=128|g>>>6&63,I[Q++]=128|63&g);return I};A.exports.buf2string=(A,C)=>{const B=C||A.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(A.subarray(0,C));let Q,E;const i=new Array(2*B);for(E=0,Q=0;Q<B;){let I=A[Q++];if(I<128){i[E++]=I;continue}let C=g[I];if(C>4)i[E++]=65533,Q+=C-1;else{for(I&=2===C?31:3===C?15:7;C>1&&Q<B;)I=I<<6|63&A[Q++],C--;C>1?i[E++]=65533:I<65536?i[E++]=I:(I-=65536,i[E++]=55296|I>>10&1023,i[E++]=56320|1023&I)}}return((A,g)=>{if(g<65534&&A.subarray&&I)return String.fromCharCode.apply(null,A.length===g?A:A.subarray(0,g));let C="";for(let I=0;I<g;I++)C+=String.fromCharCode(A[I]);return C})(i,E)},A.exports.utf8border=(A,I)=>{(I=I||A.length)>A.length&&(I=A.length);let C=I-1;for(;C>=0&&128==(192&A[C]);)C--;return C<0||0===C?I:C+g[A[C]]>I?C:I}},5530:A=>{"use strict";A.exports=(A,I,g,C)=>{let B=65535&A|0,Q=A>>>16&65535|0,E=0;for(;0!==g;){E=g>2e3?2e3:g,g-=E;do{B=B+I[C++]|0,Q=Q+B|0}while(--E);B%=65521,Q%=65521}return B|Q<<16|0}},2436:A=>{"use strict";A.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},1383:A=>{"use strict";const I=new Uint32Array((()=>{let A,I=[];for(var g=0;g<256;g++){A=g;for(var C=0;C<8;C++)A=1&A?3988292384^A>>>1:A>>>1;I[g]=A}return I})());A.exports=(A,g,C,B)=>{const Q=I,E=B+C;A^=-1;for(let I=B;I<E;I++)A=A>>>8^Q[255&(A^g[I])];return-1^A}},8235:A=>{"use strict";A.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},8121:A=>{"use strict";A.exports=function(A,I){let g,C,B,Q,E,i,o,t,a,e,r,n,D,s,c,h,w,F,y,G,N,R,S,l;const U=A.state;g=A.next_in,S=A.input,C=g+(A.avail_in-5),B=A.next_out,l=A.output,Q=B-(I-A.avail_out),E=B+(A.avail_out-257),i=U.dmax,o=U.wsize,t=U.whave,a=U.wnext,e=U.window,r=U.hold,n=U.bits,D=U.lencode,s=U.distcode,c=(1<<U.lenbits)-1,h=(1<<U.distbits)-1;A:do{n<15&&(r+=S[g++]<<n,n+=8,r+=S[g++]<<n,n+=8),w=D[r&c];I:for(;;){if(F=w>>>24,r>>>=F,n-=F,F=w>>>16&255,0===F)l[B++]=65535&w;else{if(!(16&F)){if(0==(64&F)){w=D[(65535&w)+(r&(1<<F)-1)];continue I}if(32&F){U.mode=12;break A}A.msg="invalid literal/length code",U.mode=30;break A}y=65535&w,F&=15,F&&(n<F&&(r+=S[g++]<<n,n+=8),y+=r&(1<<F)-1,r>>>=F,n-=F),n<15&&(r+=S[g++]<<n,n+=8,r+=S[g++]<<n,n+=8),w=s[r&h];g:for(;;){if(F=w>>>24,r>>>=F,n-=F,F=w>>>16&255,!(16&F)){if(0==(64&F)){w=s[(65535&w)+(r&(1<<F)-1)];continue g}A.msg="invalid distance code",U.mode=30;break A}if(G=65535&w,F&=15,n<F&&(r+=S[g++]<<n,n+=8,n<F&&(r+=S[g++]<<n,n+=8)),G+=r&(1<<F)-1,G>i){A.msg="invalid distance too far back",U.mode=30;break A}if(r>>>=F,n-=F,F=B-Q,G>F){if(F=G-F,F>t&&U.sane){A.msg="invalid distance too far back",U.mode=30;break A}if(N=0,R=e,0===a){if(N+=o-F,F<y){y-=F;do{l[B++]=e[N++]}while(--F);N=B-G,R=l}}else if(a<F){if(N+=o+a-F,F-=a,F<y){y-=F;do{l[B++]=e[N++]}while(--F);if(N=0,a<y){F=a,y-=F;do{l[B++]=e[N++]}while(--F);N=B-G,R=l}}}else if(N+=a-F,F<y){y-=F;do{l[B++]=e[N++]}while(--F);N=B-G,R=l}for(;y>2;)l[B++]=R[N++],l[B++]=R[N++],l[B++]=R[N++],y-=3;y&&(l[B++]=R[N++],y>1&&(l[B++]=R[N++]))}else{N=B-G;do{l[B++]=l[N++],l[B++]=l[N++],l[B++]=l[N++],y-=3}while(y>2);y&&(l[B++]=l[N++],y>1&&(l[B++]=l[N++]))}break}}break}}while(g<C&&B<E);y=n>>3,g-=y,n-=y<<3,r&=(1<<n)-1,A.next_in=g,A.next_out=B,A.avail_in=g<C?C-g+5:5-(g-C),A.avail_out=B<E?E-B+257:257-(B-E),U.hold=r,U.bits=n}},1863:(A,I,g)=>{"use strict";const C=g(5530),B=g(1383),Q=g(8121),E=g(7371),{Z_FINISH:i,Z_BLOCK:o,Z_TREES:t,Z_OK:a,Z_STREAM_END:e,Z_NEED_DICT:r,Z_STREAM_ERROR:n,Z_DATA_ERROR:D,Z_MEM_ERROR:s,Z_BUF_ERROR:c,Z_DEFLATED:h}=g(2436),w=12,F=30,y=A=>(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24);function G(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const N=A=>{if(!A||!A.state)return n;const I=A.state;return A.total_in=A.total_out=I.total=0,A.msg="",I.wrap&&(A.adler=1&I.wrap),I.mode=1,I.last=0,I.havedict=0,I.dmax=32768,I.head=null,I.hold=0,I.bits=0,I.lencode=I.lendyn=new Int32Array(852),I.distcode=I.distdyn=new Int32Array(592),I.sane=1,I.back=-1,a},R=A=>{if(!A||!A.state)return n;const I=A.state;return I.wsize=0,I.whave=0,I.wnext=0,N(A)},S=(A,I)=>{let g;if(!A||!A.state)return n;const C=A.state;return I<0?(g=0,I=-I):(g=1+(I>>4),I<48&&(I&=15)),I&&(I<8||I>15)?n:(null!==C.window&&C.wbits!==I&&(C.window=null),C.wrap=g,C.wbits=I,R(A))},l=(A,I)=>{if(!A)return n;const g=new G;A.state=g,g.window=null;const C=S(A,I);return C!==a&&(A.state=null),C};let U,k,J=!0;const d=A=>{if(J){U=new Int32Array(512),k=new Int32Array(32);let I=0;for(;I<144;)A.lens[I++]=8;for(;I<256;)A.lens[I++]=9;for(;I<280;)A.lens[I++]=7;for(;I<288;)A.lens[I++]=8;for(E(1,A.lens,0,288,U,0,A.work,{bits:9}),I=0;I<32;)A.lens[I++]=5;E(2,A.lens,0,32,k,0,A.work,{bits:5}),J=!1}A.lencode=U,A.lenbits=9,A.distcode=k,A.distbits=5},u=(A,I,g,C)=>{let B;const Q=A.state;return null===Q.window&&(Q.wsize=1<<Q.wbits,Q.wnext=0,Q.whave=0,Q.window=new Uint8Array(Q.wsize)),C>=Q.wsize?(Q.window.set(I.subarray(g-Q.wsize,g),0),Q.wnext=0,Q.whave=Q.wsize):(B=Q.wsize-Q.wnext,B>C&&(B=C),Q.window.set(I.subarray(g-C,g-C+B),Q.wnext),(C-=B)?(Q.window.set(I.subarray(g-C,g),0),Q.wnext=C,Q.whave=Q.wsize):(Q.wnext+=B,Q.wnext===Q.wsize&&(Q.wnext=0),Q.whave<Q.wsize&&(Q.whave+=B))),0};A.exports.inflateReset=R,A.exports.inflateReset2=S,A.exports.inflateResetKeep=N,A.exports.inflateInit=A=>l(A,15),A.exports.inflateInit2=l,A.exports.inflate=(A,I)=>{let g,G,N,R,S,l,U,k,J,K,f,Y,L,M,p,H,q,b,m,W,Z,x,v=0;const X=new Uint8Array(4);let V,T;const j=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!A||!A.state||!A.output||!A.input&&0!==A.avail_in)return n;g=A.state,g.mode===w&&(g.mode=13),S=A.next_out,N=A.output,U=A.avail_out,R=A.next_in,G=A.input,l=A.avail_in,k=g.hold,J=g.bits,K=l,f=U,x=a;A:for(;;)switch(g.mode){case 1:if(0===g.wrap){g.mode=13;break}for(;J<16;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}if(2&g.wrap&&35615===k){g.check=0,X[0]=255&k,X[1]=k>>>8&255,g.check=B(g.check,X,2,0),k=0,J=0,g.mode=2;break}if(g.flags=0,g.head&&(g.head.done=!1),!(1&g.wrap)||(((255&k)<<8)+(k>>8))%31){A.msg="incorrect header check",g.mode=F;break}if((15&k)!==h){A.msg="unknown compression method",g.mode=F;break}if(k>>>=4,J-=4,Z=8+(15&k),0===g.wbits)g.wbits=Z;else if(Z>g.wbits){A.msg="invalid window size",g.mode=F;break}g.dmax=1<<g.wbits,A.adler=g.check=1,g.mode=512&k?10:w,k=0,J=0;break;case 2:for(;J<16;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}if(g.flags=k,(255&g.flags)!==h){A.msg="unknown compression method",g.mode=F;break}if(57344&g.flags){A.msg="unknown header flags set",g.mode=F;break}g.head&&(g.head.text=k>>8&1),512&g.flags&&(X[0]=255&k,X[1]=k>>>8&255,g.check=B(g.check,X,2,0)),k=0,J=0,g.mode=3;case 3:for(;J<32;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}g.head&&(g.head.time=k),512&g.flags&&(X[0]=255&k,X[1]=k>>>8&255,X[2]=k>>>16&255,X[3]=k>>>24&255,g.check=B(g.check,X,4,0)),k=0,J=0,g.mode=4;case 4:for(;J<16;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}g.head&&(g.head.xflags=255&k,g.head.os=k>>8),512&g.flags&&(X[0]=255&k,X[1]=k>>>8&255,g.check=B(g.check,X,2,0)),k=0,J=0,g.mode=5;case 5:if(1024&g.flags){for(;J<16;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}g.length=k,g.head&&(g.head.extra_len=k),512&g.flags&&(X[0]=255&k,X[1]=k>>>8&255,g.check=B(g.check,X,2,0)),k=0,J=0}else g.head&&(g.head.extra=null);g.mode=6;case 6:if(1024&g.flags&&(Y=g.length,Y>l&&(Y=l),Y&&(g.head&&(Z=g.head.extra_len-g.length,g.head.extra||(g.head.extra=new Uint8Array(g.head.extra_len)),g.head.extra.set(G.subarray(R,R+Y),Z)),512&g.flags&&(g.check=B(g.check,G,Y,R)),l-=Y,R+=Y,g.length-=Y),g.length))break A;g.length=0,g.mode=7;case 7:if(2048&g.flags){if(0===l)break A;Y=0;do{Z=G[R+Y++],g.head&&Z&&g.length<65536&&(g.head.name+=String.fromCharCode(Z))}while(Z&&Y<l);if(512&g.flags&&(g.check=B(g.check,G,Y,R)),l-=Y,R+=Y,Z)break A}else g.head&&(g.head.name=null);g.length=0,g.mode=8;case 8:if(4096&g.flags){if(0===l)break A;Y=0;do{Z=G[R+Y++],g.head&&Z&&g.length<65536&&(g.head.comment+=String.fromCharCode(Z))}while(Z&&Y<l);if(512&g.flags&&(g.check=B(g.check,G,Y,R)),l-=Y,R+=Y,Z)break A}else g.head&&(g.head.comment=null);g.mode=9;case 9:if(512&g.flags){for(;J<16;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}if(k!==(65535&g.check)){A.msg="header crc mismatch",g.mode=F;break}k=0,J=0}g.head&&(g.head.hcrc=g.flags>>9&1,g.head.done=!0),A.adler=g.check=0,g.mode=w;break;case 10:for(;J<32;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}A.adler=g.check=y(k),k=0,J=0,g.mode=11;case 11:if(0===g.havedict)return A.next_out=S,A.avail_out=U,A.next_in=R,A.avail_in=l,g.hold=k,g.bits=J,r;A.adler=g.check=1,g.mode=w;case w:if(I===o||I===t)break A;case 13:if(g.last){k>>>=7&J,J-=7&J,g.mode=27;break}for(;J<3;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}switch(g.last=1&k,k>>>=1,J-=1,3&k){case 0:g.mode=14;break;case 1:if(d(g),g.mode=20,I===t){k>>>=2,J-=2;break A}break;case 2:g.mode=17;break;case 3:A.msg="invalid block type",g.mode=F}k>>>=2,J-=2;break;case 14:for(k>>>=7&J,J-=7&J;J<32;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}if((65535&k)!=(k>>>16^65535)){A.msg="invalid stored block lengths",g.mode=F;break}if(g.length=65535&k,k=0,J=0,g.mode=15,I===t)break A;case 15:g.mode=16;case 16:if(Y=g.length,Y){if(Y>l&&(Y=l),Y>U&&(Y=U),0===Y)break A;N.set(G.subarray(R,R+Y),S),l-=Y,R+=Y,U-=Y,S+=Y,g.length-=Y;break}g.mode=w;break;case 17:for(;J<14;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}if(g.nlen=257+(31&k),k>>>=5,J-=5,g.ndist=1+(31&k),k>>>=5,J-=5,g.ncode=4+(15&k),k>>>=4,J-=4,g.nlen>286||g.ndist>30){A.msg="too many length or distance symbols",g.mode=F;break}g.have=0,g.mode=18;case 18:for(;g.have<g.ncode;){for(;J<3;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}g.lens[j[g.have++]]=7&k,k>>>=3,J-=3}for(;g.have<19;)g.lens[j[g.have++]]=0;if(g.lencode=g.lendyn,g.lenbits=7,V={bits:g.lenbits},x=E(0,g.lens,0,19,g.lencode,0,g.work,V),g.lenbits=V.bits,x){A.msg="invalid code lengths set",g.mode=F;break}g.have=0,g.mode=19;case 19:for(;g.have<g.nlen+g.ndist;){for(;v=g.lencode[k&(1<<g.lenbits)-1],p=v>>>24,H=v>>>16&255,q=65535&v,!(p<=J);){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}if(q<16)k>>>=p,J-=p,g.lens[g.have++]=q;else{if(16===q){for(T=p+2;J<T;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}if(k>>>=p,J-=p,0===g.have){A.msg="invalid bit length repeat",g.mode=F;break}Z=g.lens[g.have-1],Y=3+(3&k),k>>>=2,J-=2}else if(17===q){for(T=p+3;J<T;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}k>>>=p,J-=p,Z=0,Y=3+(7&k),k>>>=3,J-=3}else{for(T=p+7;J<T;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}k>>>=p,J-=p,Z=0,Y=11+(127&k),k>>>=7,J-=7}if(g.have+Y>g.nlen+g.ndist){A.msg="invalid bit length repeat",g.mode=F;break}for(;Y--;)g.lens[g.have++]=Z}}if(g.mode===F)break;if(0===g.lens[256]){A.msg="invalid code -- missing end-of-block",g.mode=F;break}if(g.lenbits=9,V={bits:g.lenbits},x=E(1,g.lens,0,g.nlen,g.lencode,0,g.work,V),g.lenbits=V.bits,x){A.msg="invalid literal/lengths set",g.mode=F;break}if(g.distbits=6,g.distcode=g.distdyn,V={bits:g.distbits},x=E(2,g.lens,g.nlen,g.ndist,g.distcode,0,g.work,V),g.distbits=V.bits,x){A.msg="invalid distances set",g.mode=F;break}if(g.mode=20,I===t)break A;case 20:g.mode=21;case 21:if(l>=6&&U>=258){A.next_out=S,A.avail_out=U,A.next_in=R,A.avail_in=l,g.hold=k,g.bits=J,Q(A,f),S=A.next_out,N=A.output,U=A.avail_out,R=A.next_in,G=A.input,l=A.avail_in,k=g.hold,J=g.bits,g.mode===w&&(g.back=-1);break}for(g.back=0;v=g.lencode[k&(1<<g.lenbits)-1],p=v>>>24,H=v>>>16&255,q=65535&v,!(p<=J);){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}if(H&&0==(240&H)){for(b=p,m=H,W=q;v=g.lencode[W+((k&(1<<b+m)-1)>>b)],p=v>>>24,H=v>>>16&255,q=65535&v,!(b+p<=J);){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}k>>>=b,J-=b,g.back+=b}if(k>>>=p,J-=p,g.back+=p,g.length=q,0===H){g.mode=26;break}if(32&H){g.back=-1,g.mode=w;break}if(64&H){A.msg="invalid literal/length code",g.mode=F;break}g.extra=15&H,g.mode=22;case 22:if(g.extra){for(T=g.extra;J<T;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}g.length+=k&(1<<g.extra)-1,k>>>=g.extra,J-=g.extra,g.back+=g.extra}g.was=g.length,g.mode=23;case 23:for(;v=g.distcode[k&(1<<g.distbits)-1],p=v>>>24,H=v>>>16&255,q=65535&v,!(p<=J);){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}if(0==(240&H)){for(b=p,m=H,W=q;v=g.distcode[W+((k&(1<<b+m)-1)>>b)],p=v>>>24,H=v>>>16&255,q=65535&v,!(b+p<=J);){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}k>>>=b,J-=b,g.back+=b}if(k>>>=p,J-=p,g.back+=p,64&H){A.msg="invalid distance code",g.mode=F;break}g.offset=q,g.extra=15&H,g.mode=24;case 24:if(g.extra){for(T=g.extra;J<T;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}g.offset+=k&(1<<g.extra)-1,k>>>=g.extra,J-=g.extra,g.back+=g.extra}if(g.offset>g.dmax){A.msg="invalid distance too far back",g.mode=F;break}g.mode=25;case 25:if(0===U)break A;if(Y=f-U,g.offset>Y){if(Y=g.offset-Y,Y>g.whave&&g.sane){A.msg="invalid distance too far back",g.mode=F;break}Y>g.wnext?(Y-=g.wnext,L=g.wsize-Y):L=g.wnext-Y,Y>g.length&&(Y=g.length),M=g.window}else M=N,L=S-g.offset,Y=g.length;Y>U&&(Y=U),U-=Y,g.length-=Y;do{N[S++]=M[L++]}while(--Y);0===g.length&&(g.mode=21);break;case 26:if(0===U)break A;N[S++]=g.length,U--,g.mode=21;break;case 27:if(g.wrap){for(;J<32;){if(0===l)break A;l--,k|=G[R++]<<J,J+=8}if(f-=U,A.total_out+=f,g.total+=f,f&&(A.adler=g.check=g.flags?B(g.check,N,f,S-f):C(g.check,N,f,S-f)),f=U,(g.flags?k:y(k))!==g.check){A.msg="incorrect data check",g.mode=F;break}k=0,J=0}g.mode=28;case 28:if(g.wrap&&g.flags){for(;J<32;){if(0===l)break A;l--,k+=G[R++]<<J,J+=8}if(k!==(4294967295&g.total)){A.msg="incorrect length check",g.mode=F;break}k=0,J=0}g.mode=29;case 29:x=e;break A;case F:x=D;break A;case 31:return s;case 32:default:return n}return A.next_out=S,A.avail_out=U,A.next_in=R,A.avail_in=l,g.hold=k,g.bits=J,(g.wsize||f!==A.avail_out&&g.mode<F&&(g.mode<27||I!==i))&&u(A,A.output,A.next_out,f-A.avail_out)?(g.mode=31,s):(K-=A.avail_in,f-=A.avail_out,A.total_in+=K,A.total_out+=f,g.total+=f,g.wrap&&f&&(A.adler=g.check=g.flags?B(g.check,N,f,A.next_out-f):C(g.check,N,f,A.next_out-f)),A.data_type=g.bits+(g.last?64:0)+(g.mode===w?128:0)+(20===g.mode||15===g.mode?256:0),(0===K&&0===f||I===i)&&x===a&&(x=c),x)},A.exports.inflateEnd=A=>{if(!A||!A.state)return n;let I=A.state;return I.window&&(I.window=null),A.state=null,a},A.exports.inflateGetHeader=(A,I)=>{if(!A||!A.state)return n;const g=A.state;return 0==(2&g.wrap)?n:(g.head=I,I.done=!1,a)},A.exports.inflateSetDictionary=(A,I)=>{const g=I.length;let B,Q,E;return A&&A.state?(B=A.state,0!==B.wrap&&11!==B.mode?n:11===B.mode&&(Q=1,Q=C(Q,I,g,0),Q!==B.check)?D:(E=u(A,I,g,g),E?(B.mode=31,s):(B.havedict=1,a))):n},A.exports.inflateInfo="pako inflate (from Nodeca project)"},7371:A=>{"use strict";const I=15,g=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),C=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),B=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Q=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);A.exports=(A,E,i,o,t,a,e,r)=>{const n=r.bits;let D,s,c,h,w,F,y=0,G=0,N=0,R=0,S=0,l=0,U=0,k=0,J=0,d=0,u=null,K=0;const f=new Uint16Array(16),Y=new Uint16Array(16);let L,M,p,H=null,q=0;for(y=0;y<=I;y++)f[y]=0;for(G=0;G<o;G++)f[E[i+G]]++;for(S=n,R=I;R>=1&&0===f[R];R--);if(S>R&&(S=R),0===R)return t[a++]=20971520,t[a++]=20971520,r.bits=1,0;for(N=1;N<R&&0===f[N];N++);for(S<N&&(S=N),k=1,y=1;y<=I;y++)if(k<<=1,k-=f[y],k<0)return-1;if(k>0&&(0===A||1!==R))return-1;for(Y[1]=0,y=1;y<I;y++)Y[y+1]=Y[y]+f[y];for(G=0;G<o;G++)0!==E[i+G]&&(e[Y[E[i+G]]++]=G);if(0===A?(u=H=e,F=19):1===A?(u=g,K-=257,H=C,q-=257,F=256):(u=B,H=Q,F=-1),d=0,G=0,y=N,w=a,l=S,U=0,c=-1,J=1<<S,h=J-1,1===A&&J>852||2===A&&J>592)return 1;for(;;){L=y-U,e[G]<F?(M=0,p=e[G]):e[G]>F?(M=H[q+e[G]],p=u[K+e[G]]):(M=96,p=0),D=1<<y-U,s=1<<l,N=s;do{s-=D,t[w+(d>>U)+s]=L<<24|M<<16|p|0}while(0!==s);for(D=1<<y-1;d&D;)D>>=1;if(0!==D?(d&=D-1,d+=D):d=0,G++,0==--f[y]){if(y===R)break;y=E[i+e[G]]}if(y>S&&(d&h)!==c){for(0===U&&(U=S),w+=N,l=y-U,k=1<<l;l+U<R&&(k-=f[l+U],!(k<=0));)l++,k<<=1;if(J+=1<<l,1===A&&J>852||2===A&&J>592)return 1;c=d&h,t[c]=S<<24|l<<16|w-a|0}}return 0!==d&&(t[w+d]=y-U<<24|64<<16|0),r.bits=S,0}},5710:A=>{"use strict";A.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},8894:A=>{"use strict";A.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},6614:A=>{"use strict";A.exports=function(A,I,g,C){var B=self||window;try{try{var Q;try{Q=new B.Blob([A])}catch(I){(Q=new(B.BlobBuilder||B.WebKitBlobBuilder||B.MozBlobBuilder||B.MSBlobBuilder)).append(A),Q=Q.getBlob()}var E=B.URL||B.webkitURL,i=E.createObjectURL(Q),o=new B[I](i,g);return E.revokeObjectURL(i),o}catch(C){return new B[I]("data:application/javascript,".concat(encodeURIComponent(A)),g)}}catch(A){if(!C)throw Error("Inline worker is not supported");return new B[I](C,g)}}}},I={};function g(C){var B=I[C];if(void 0!==B)return B.exports;var Q=I[C]={exports:{}};return A[C](Q,Q.exports,g),Q.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var C in I)g.o(I,C)&&!g.o(A,C)&&Object.defineProperty(A,C,{enumerable:!0,get:I[C]})},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I),g.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},(()=>{var A;g.g.importScripts&&(A=g.g.location+"");var I=g.g.document;if(!A&&I&&(I.currentScript&&(A=I.currentScript.src),!A)){var C=I.getElementsByTagName("script");C.length&&(A=C[C.length-1].src)}if(!A)throw new Error("Automatic publicPath is not supported in this browser");A=A.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),g.p=A})();var C={};return(()=>{"use strict";function A(A,I){if(void 0===A)throw new Error("decodeRGB: rgbBuffer must not be undefined");if(A.length%3!=0)throw new Error("decodeRGB: rgbBuffer length must be divisible by 3");for(var g=A.length/3,C=0,B=0,Q=0;Q<g;Q++)I[B++]=A[C++],I[B++]=A[C++],I[B++]=A[C++],I[B++]=255}function I(A,I){if(void 0===A)throw new Error("decodeRGB: rgbBuffer must not be undefined");if(A.length%3!=0)throw new Error("decodeRGB: rgbBuffer length must be divisible by 3");for(var g=A.length/3,C=0,B=0,Q=g,E=2*g,i=0;i<g;i++)I[C++]=A[B++],I[C++]=A[Q++],I[C++]=A[E++],I[C++]=255}function B(A,I){if(void 0===A)throw new Error("decodeRGB: ybrBuffer must not be undefined");if(A.length%3!=0)throw new Error("decodeRGB: ybrBuffer length must be divisble by 3");for(var g=A.length/3,C=0,B=0,Q=0;Q<g;Q++){var E=A[C++],i=A[C++],o=A[C++];I[B++]=E+1.402*(o-128),I[B++]=E-.34414*(i-128)-.71414*(o-128),I[B++]=E+1.772*(i-128),I[B++]=255}}function Q(A,I){if(void 0===A)throw new Error("decodeRGB: ybrBuffer must not be undefined");if(A.length%3!=0)throw new Error("decodeRGB: ybrBuffer length must be divisble by 3");for(var g=A.length/3,C=0,B=0,Q=g,E=2*g,i=0;i<g;i++){var o=A[B++],t=A[Q++],a=A[E++];I[C++]=o+1.402*(a-128),I[C++]=o-.34414*(t-128)-.71414*(a-128),I[C++]=o+1.772*(t-128),I[C++]=255}}function E(A,I){for(var g=A.length,C=new Uint8ClampedArray(g),B=0;B<g;++B)C[B]=A[B]>>I;return C}function i(A,I){for(var g=A.columns*A.rows,C=A.pixelData,B=A.redPaletteColorLookupTableData,Q=A.greenPaletteColorLookupTableData,i=A.bluePaletteColorLookupTableData,o=A.redPaletteColorLookupTableData.length,t=0,a=0,e=A.redPaletteColorLookupTableDescriptor[1],r=8===A.redPaletteColorLookupTableDescriptor[2]?0:8,n=E(B,r),D=E(Q,r),s=E(i,r),c=0;c<g;++c){var h=C[t++];h<e?h=0:h>e+o-1?h=o-1:h-=e,I[a++]=n[h],I[a++]=D[h],I[a++]=s[h],I[a++]=255}}function o(A,I){if(A.elements[I]&&6===A.elements[I].length)return[A.uint16(I,0),A.uint16(I,1),A.uint16(I,2)]}function t(A,I,g){for(var C=[],B=A.elements[I],Q=0;Q<g[0];Q++)16===g[2]?C[Q]=A.uint16(I,Q):C[Q]=A.byteArray[Q+B.dataOffset];return C}g.r(C),g.d(C,{configure:()=>$A,convertColorSpace:()=>cA,convertPALETTECOLOR:()=>i,convertRGBColorByPixel:()=>A,convertRGBColorByPlane:()=>I,convertYBRFullByPixel:()=>B,convertYBRFullByPlane:()=>Q,createImage:()=>NA,decodeImageFrame:()=>nA,decodeJPEGBaseline8BitColor:()=>aA,default:()=>II,external:()=>KA,getImageFrame:()=>Z,getMinMax:()=>oA,getPixelData:()=>W,internal:()=>H,isColorImage:()=>DA,isJPEGBaseline8BitColor:()=>hA,version:()=>AI,wadors:()=>UA,wadouri:()=>_A,webWorkerManager:()=>QA});const a=function(A){var I={samplesPerPixel:A.uint16("x00280002"),photometricInterpretation:A.string("x00280004"),rows:A.uint16("x00280010"),columns:A.uint16("x00280011"),bitsAllocated:A.uint16("x00280100"),bitsStored:A.uint16("x00280101"),highBit:A.uint16("x00280102"),pixelRepresentation:A.uint16("x00280103"),planarConfiguration:A.uint16("x00280006"),pixelAspectRatio:A.string("x00280034")};return function(A,I){0===A.uint16("x00280103")?(I.smallestPixelValue=A.uint16("x00280106"),I.largestPixelValue=A.uint16("x00280107")):(I.smallestPixelValue=A.int16("x00280106"),I.largestPixelValue=A.int16("x00280107"))}(A,I),"PALETTE COLOR"===I.photometricInterpretation&&A.elements.x00281101&&function(A,I){I.redPaletteColorLookupTableDescriptor=o(A,"x00281101"),I.greenPaletteColorLookupTableDescriptor=o(A,"x00281102"),I.bluePaletteColorLookupTableDescriptor=o(A,"x00281103"),0===I.redPaletteColorLookupTableDescriptor[0]&&(I.redPaletteColorLookupTableDescriptor[0]=65536,I.greenPaletteColorLookupTableDescriptor[0]=65536,I.bluePaletteColorLookupTableDescriptor[0]=65536);var g=I.redPaletteColorLookupTableDescriptor[0],C=A.elements.x00281201.length===g?8:16;I.redPaletteColorLookupTableDescriptor[2]!==C&&(I.redPaletteColorLookupTableDescriptor[2]=C,I.greenPaletteColorLookupTableDescriptor[2]=C,I.bluePaletteColorLookupTableDescriptor[2]=C),I.redPaletteColorLookupTableData=t(A,"x00281201",I.redPaletteColorLookupTableDescriptor),I.greenPaletteColorLookupTableData=t(A,"x00281202",I.greenPaletteColorLookupTableDescriptor),I.bluePaletteColorLookupTableData=t(A,"x00281203",I.bluePaletteColorLookupTableDescriptor)}(A,I),I};function e(A,I){var g=I.uint16("x00283002",0);0===g&&(g=65535);for(var C={id:"1",firstValueMapped:0===A?I.uint16("x00283002",1):I.int16("x00283002",1),numBitsPerEntry:I.uint16("x00283002",2),lut:[]},B=0;B<g;B++)C.lut[B]=0===A?I.uint16("x00283006",B):I.int16("x00283006",B);return C}const r=function(A,I){if(I&&I.items&&I.items.length){for(var g=[],C=0;C<I.items.length;C++){var B=e(A,I.items[C].dataSet);B&&g.push(B)}return g}};const n=function(A){var I=A.string("x00080016");if("1.2.840.10008.5.1.4.1.1.2"===I||"1.2.840.10008.5.1.4.1.1.2.1"===I)return 1;var g=A.floatString("x00281052"),C=A.floatString("x00281053");return void 0!==g&&void 0!==C?function(A){var I=A.uint16("x00280103"),g=A.uint16("x00280101");return 0===I?0:-1<<g-1}(A)*C+g<0?1:0:A.elements.x00283000&&A.elements.x00283000.length>0?0:A.uint16("x00280103")};const D=function(A,I,g){var C=[],B=A.string(I);if(B){var Q=B.split("\\");if(!(g&&Q.length<g)){for(var E=0;E<Q.length;E++)C.push(parseFloat(Q[E]));return C}}};const s=function(A,I,g){return I=I||0,A&&A.Value?A.Value.length<=I?g:A.Value[I]:g};const c=function(A,I,g){var C=s(A,I,g);if(void 0!==C)return parseFloat(C)};const h=function(A,I){var g=s(A,I);if(void 0!==g)return parseFloat(g)};const w=function(A,I){if(A&&A.Value&&!(I&&A.Value.length<I)){for(var g=[],C=0;C<A.Value.length;C++)g.push(parseFloat(A.Value[C]));return g}};function F(A){var I=A.indexOf(":");return A.substring(I+1)}var y=[];const G={add:function(A,I){var g=F(A);y[g]=I},get:function(A){var I=F(A);return y[I]},remove:function(A){var I=F(A);y[I]=void 0},purge:function(){y=[]}};const N=function(A,I){var g=KA.dicomParser,C=G.get(I);if(C){if("generalSeriesModule"===A)return{modality:s(C["00080060"]),seriesInstanceUID:s(C["0020000E"]),seriesNumber:h(C["00200011"]),studyInstanceUID:s(C["0020000D"]),seriesDate:g.parseDA(s(C["00080021"])),seriesTime:g.parseTM(s(C["00080031"],0,""))};if("patientStudyModule"===A)return{patientAge:h(C["00101010"]),patientSize:h(C["00101020"]),patientWeight:h(C["00101030"])};if("imagePlaneModule"===A){var B=w(C["00200037"],6),Q=w(C["00200032"],3),E=w(C["00280030"],2),i=null,o=null;E&&(o=E[0],i=E[1]);var t=null,a=null;return B&&(t=[parseFloat(B[0]),parseFloat(B[1]),parseFloat(B[2])],a=[parseFloat(B[3]),parseFloat(B[4]),parseFloat(B[5])]),{frameOfReferenceUID:s(C["00200052"]),rows:h(C["00280010"]),columns:h(C["00280011"]),imageOrientationPatient:B,rowCosines:t,columnCosines:a,imagePositionPatient:Q,sliceThickness:h(C["00180050"]),sliceLocation:h(C["00201041"]),pixelSpacing:E,rowPixelSpacing:o,columnPixelSpacing:i}}if("imagePixelModule"===A)return{samplesPerPixel:h(C["00280002"]),photometricInterpretation:s(C["00280004"]),rows:h(C["00280010"]),columns:h(C["00280011"]),bitsAllocated:h(C["00280100"]),bitsStored:h(C["00280101"]),highBit:s(C["00280102"]),pixelRepresentation:h(C["00280103"]),planarConfiguration:h(C["00280006"]),pixelAspectRatio:s(C["00280034"]),smallestPixelValue:h(C["00280106"]),largestPixelValue:h(C["00280107"]),redPaletteColorLookupTableDescriptor:w(C["00281101"]),greenPaletteColorLookupTableDescriptor:w(C["00281102"]),bluePaletteColorLookupTableDescriptor:w(C["00281103"]),redPaletteColorLookupTableData:w(C["00281201"]),greenPaletteColorLookupTableData:w(C["00281202"]),bluePaletteColorLookupTableData:w(C["00281203"])};if("voiLutModule"===A)return{windowCenter:w(C["00281050"],1),windowWidth:w(C["00281051"],1)};if("modalityLutModule"===A)return{rescaleIntercept:h(C["00281052"]),rescaleSlope:h(C["00281053"]),rescaleType:s(C["00281054"])};if("sopCommonModule"===A)return{sopClassUID:s(C["00080016"]),sopInstanceUID:s(C["00080018"])};if("petIsotopeModule"===A){var e=s(C["00540016"]);if(void 0===e)return;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:g.parseTM(s(e["00181072"],0,"")),radionuclideTotalDose:h(e["00181074"]),radionuclideHalfLife:h(e["00181075"])}}}return"overlayPlaneModule"===A?function(A){for(var I=[],g=0;g<=30;g+=2){var C="x60".concat(g.toString(16));4===C.length&&(C="x600".concat(g.toString(16)));var B=s(A["".concat(C,"3000")]);if(B){for(var Q=[],E=0;E<B.length;E++)for(var i=0;i<8;i++){var o=A.Value[B.dataOffset+E];Q[8*E+i]=o>>i&1}I.push({rows:h(A["".concat(C,"0010")]),columns:h(A["".concat(C,"0011")]),type:s(A["".concat(C,"0040")]),x:h(A["".concat(C,"0050")],1)-1,y:h(A["".concat(C,"0050")],0)-1,pixelData:Q,description:s(A["".concat(C,"0022")]),label:s(A["".concat(C,"1500")]),roiArea:s(A["".concat(C,"1301")]),roiMean:s(A["".concat(C,"1302")]),roiStandardDeviation:s(A["".concat(C,"1303")])})}}return{overlays:I}}(C):void 0}};function R(A,I,g){if(g+A.length>I.length)return!1;for(var C=g,B=0;B<A.length;B++)if(A[B]!==I[C++])return!1;return!0}const S=function(A,I,g){g=g||0;for(var C=function(A){for(var I=new Uint8Array(A.length),g=0,C=A.length;g<C;g++)I[g]=A.charCodeAt(g);return I}(I),B=g;B<A.length;B++)if(C[0]===A[B]&&R(C,A,B))return B;return-1};var l=g(1655),U=g.n(l),k=g(2204),J=g.n(k),d=g(1246),u=g.n(d),K=g(7878),f=g.n(K),Y={beforeSend:function(){},beforeProcessing:function(A){return J().resolve(A.response)},imageCreated:function(){},strict:!1,decodeConfig:{convertFloatPixelDataToInt:!0}};function L(A){Y=u()(Y,A)}function M(){return Y}const p=function(A,I){var g=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},C=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},B=KA.cornerstone,Q=M(),E=function(A){if("function"==typeof Q.errorInterceptor){var I=new Error("request failed");I.request=A,I.response=A.response,I.status=A.status,Q.errorInterceptor(I)}};return new(J())((function(i,o){var t=new XMLHttpRequest;t.open("get",A,!0);var a=Q.beforeSend(t,I,g,C);t.responseType="arraybuffer";var e=u()({},g,a);f()(e).forEach((function(I){null!==e[I]&&("Accept"===I&&-1!==A.indexOf("accept=")||t.setRequestHeader(I,e[I]))})),C.deferred={resolve:i,reject:o},C.url=A,C.imageId=I,t.onloadstart=function(g){Q.onloadstart&&Q.onloadstart(g,C);var E={url:A,imageId:I};B.triggerEvent(B.events,"cornerstoneimageloadstart",E)},t.onloadend=function(g){Q.onloadend&&Q.onloadend(g,C);var E={url:A,imageId:I};B.triggerEvent(B.events,"cornerstoneimageloadend",E)},t.onreadystatechange=function(A){Q.onreadystatechange?Q.onreadystatechange(A,C):4===t.readyState&&(200===t.status?Q.beforeProcessing(t).then(i).catch((function(){E(t),o(t)})):(E(t),o(t)))},t.onprogress=function(g){var E,i,o=g.loaded;g.lengthComputable&&(E=g.total,i=Math.round(o/E*100)),Q.onprogress&&Q.onprogress(g,C);var t={url:A,imageId:I,loaded:o,total:E,percentComplete:i};B.triggerEvent(B.events,B.EVENTS.IMAGE_LOAD_PROGRESS,t)},t.onerror=function(){E(t),o(t)},t.onabort=function(){E(t),o(t)},t.send()}))};var H={xhrRequest:p,setOptions:L,getOptions:M};function q(A){for(var I=0;I<A.length;I++)if("--"===A[I].substr(0,2))return A[I]}function b(A){for(var I=0;I<A.length;I++){var g;if("Content-Type:"===A[I].substr(0,13))return U()(g=A[I].substr(13)).call(g)}}function m(A,I,g){I=I||0,g=g||A.length-I;for(var C="",B=I;B<I+g;B++)C+=String.fromCharCode(A[B]);return C}const W=function(A,I){var g=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/octet-stream",C={Accept:g};return new(J())((function(g,B){p(A,I,C).then((function(A){var I=new Uint8Array(A),C=S(I,"\r\n\r\n");-1===C&&B(new Error("invalid response - no multipart mime header"));var Q=m(I,0,C).split("\r\n"),E=q(Q);E||B(new Error("invalid response - no boundary marker"));var i=C+4,o=S(I,E,i);-1===o&&B(new Error("invalid response - terminating boundary not found"));var t=o-i-2;g({contentType:b(Q),imageFrame:{pixelData:new Uint8Array(A,i,t)}})}),B)}))};const Z=function(A){var I=KA.cornerstone.metaData.get("imagePixelModule",A);return{samplesPerPixel:I.samplesPerPixel,photometricInterpretation:I.photometricInterpretation,planarConfiguration:I.planarConfiguration,rows:I.rows,columns:I.columns,bitsAllocated:I.bitsAllocated,bitsStored:I.bitsStored,pixelRepresentation:I.pixelRepresentation,smallestPixelValue:I.smallestPixelValue,largestPixelValue:I.largestPixelValue,redPaletteColorLookupTableDescriptor:I.redPaletteColorLookupTableDescriptor,greenPaletteColorLookupTableDescriptor:I.greenPaletteColorLookupTableDescriptor,bluePaletteColorLookupTableDescriptor:I.bluePaletteColorLookupTableDescriptor,redPaletteColorLookupTableData:I.redPaletteColorLookupTableData,greenPaletteColorLookupTableData:I.greenPaletteColorLookupTableData,bluePaletteColorLookupTableData:I.bluePaletteColorLookupTableData,pixelData:void 0}};var x=g(187),v=g.n(x),X=g(6614),V=g.n(X);function T(){return V()('(()=>{var A,I,g={4559:(A,I,g)=>{A.exports=g(9842)},7552:(A,I,g)=>{A.exports=g(5697)},7647:(A,I,g)=>{A.exports=g(3798)},6028:(A,I,g)=>{A.exports=g(671)},337:(A,I,g)=>{A.exports=g(3751)},2770:(A,I,g)=>{A.exports=g(1380)},1882:(A,I,g)=>{A.exports=g(6601)},7878:(A,I,g)=>{A.exports=g(8783)},2250:(A,I,g)=>{A.exports=g(4731)},1082:(A,I,g)=>{A.exports=g(5723)},5534:(A,I,g)=>{A.exports=g(5213)},7458:A=>{var I=function(A){"use strict";var I,g=Object.prototype,C=g.hasOwnProperty,B="function"==typeof Symbol?Symbol:{},Q=B.iterator||"@@iterator",E=B.asyncIterator||"@@asyncIterator",i=B.toStringTag||"@@toStringTag";function o(A,I,g){return Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[I]}try{o({},"")}catch(A){o=function(A,I,g){return A[I]=g}}function D(A,I,g,C){var B=I&&I.prototype instanceof r?I:r,Q=Object.create(B.prototype),E=new K(C||[]);return Q._invoke=function(A,I,g){var C=t;return function(B,Q){if(C===F)throw new Error("Generator is already running");if(C===n){if("throw"===B)throw Q;return M()}for(g.method=B,g.arg=Q;;){var E=g.delegate;if(E){var i=U(E,g);if(i){if(i===w)continue;return i}}if("next"===g.method)g.sent=g._sent=g.arg;else if("throw"===g.method){if(C===t)throw C=n,g.arg;g.dispatchException(g.arg)}else"return"===g.method&&g.abrupt("return",g.arg);C=F;var o=a(A,I,g);if("normal"===o.type){if(C=g.done?n:s,o.arg===w)continue;return{value:o.arg,done:g.done}}"throw"===o.type&&(C=n,g.method="throw",g.arg=o.arg)}}}(A,g,E),Q}function a(A,I,g){try{return{type:"normal",arg:A.call(I,g)}}catch(A){return{type:"throw",arg:A}}}A.wrap=D;var t="suspendedStart",s="suspendedYield",F="executing",n="completed",w={};function r(){}function e(){}function h(){}var G={};o(G,Q,(function(){return this}));var y=Object.getPrototypeOf,c=y&&y(y(Y([])));c&&c!==g&&C.call(c,Q)&&(G=c);var N=h.prototype=r.prototype=Object.create(G);function R(A){["next","throw","return"].forEach((function(I){o(A,I,(function(A){return this._invoke(I,A)}))}))}function S(A,I){function g(B,Q,E,i){var o=a(A[B],A,Q);if("throw"!==o.type){var D=o.arg,t=D.value;return t&&"object"==typeof t&&C.call(t,"__await")?I.resolve(t.__await).then((function(A){g("next",A,E,i)}),(function(A){g("throw",A,E,i)})):I.resolve(t).then((function(A){D.value=A,E(D)}),(function(A){return g("throw",A,E,i)}))}i(o.arg)}var B;this._invoke=function(A,C){function Q(){return new I((function(I,B){g(A,C,I,B)}))}return B=B?B.then(Q,Q):Q()}}function U(A,g){var C=A.iterator[g.method];if(C===I){if(g.delegate=null,"throw"===g.method){if(A.iterator.return&&(g.method="return",g.arg=I,U(A,g),"throw"===g.method))return w;g.method="throw",g.arg=new TypeError("The iterator does not provide a \'throw\' method")}return w}var B=a(C,A.iterator,g.arg);if("throw"===B.type)return g.method="throw",g.arg=B.arg,g.delegate=null,w;var Q=B.arg;return Q?Q.done?(g[A.resultName]=Q.value,g.next=A.nextLoc,"return"!==g.method&&(g.method="next",g.arg=I),g.delegate=null,w):Q:(g.method="throw",g.arg=new TypeError("iterator result is not an object"),g.delegate=null,w)}function k(A){var I={tryLoc:A[0]};1 in A&&(I.catchLoc=A[1]),2 in A&&(I.finallyLoc=A[2],I.afterLoc=A[3]),this.tryEntries.push(I)}function J(A){var I=A.completion||{};I.type="normal",delete I.arg,A.completion=I}function K(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(k,this),this.reset(!0)}function Y(A){if(A){var g=A[Q];if(g)return g.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length)){var B=-1,E=function g(){for(;++B<A.length;)if(C.call(A,B))return g.value=A[B],g.done=!1,g;return g.value=I,g.done=!0,g};return E.next=E}}return{next:M}}function M(){return{value:I,done:!0}}return e.prototype=h,o(N,"constructor",h),o(h,"constructor",e),e.displayName=o(h,i,"GeneratorFunction"),A.isGeneratorFunction=function(A){var I="function"==typeof A&&A.constructor;return!!I&&(I===e||"GeneratorFunction"===(I.displayName||I.name))},A.mark=function(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,h):(A.__proto__=h,o(A,i,"GeneratorFunction")),A.prototype=Object.create(N),A},A.awrap=function(A){return{__await:A}},R(S.prototype),o(S.prototype,E,(function(){return this})),A.AsyncIterator=S,A.async=function(I,g,C,B,Q){void 0===Q&&(Q=Promise);var E=new S(D(I,g,C,B),Q);return A.isGeneratorFunction(g)?E:E.next().then((function(A){return A.done?A.value:E.next()}))},R(N),o(N,i,"Generator"),o(N,Q,(function(){return this})),o(N,"toString",(function(){return"[object Generator]"})),A.keys=function(A){var I=[];for(var g in A)I.push(g);return I.reverse(),function g(){for(;I.length;){var C=I.pop();if(C in A)return g.value=C,g.done=!1,g}return g.done=!0,g}},A.values=Y,K.prototype={constructor:K,reset:function(A){if(this.prev=0,this.next=0,this.sent=this._sent=I,this.done=!1,this.delegate=null,this.method="next",this.arg=I,this.tryEntries.forEach(J),!A)for(var g in this)"t"===g.charAt(0)&&C.call(this,g)&&!isNaN(+g.slice(1))&&(this[g]=I)},stop:function(){this.done=!0;var A=this.tryEntries[0].completion;if("throw"===A.type)throw A.arg;return this.rval},dispatchException:function(A){if(this.done)throw A;var g=this;function B(C,B){return i.type="throw",i.arg=A,g.next=C,B&&(g.method="next",g.arg=I),!!B}for(var Q=this.tryEntries.length-1;Q>=0;--Q){var E=this.tryEntries[Q],i=E.completion;if("root"===E.tryLoc)return B("end");if(E.tryLoc<=this.prev){var o=C.call(E,"catchLoc"),D=C.call(E,"finallyLoc");if(o&&D){if(this.prev<E.catchLoc)return B(E.catchLoc,!0);if(this.prev<E.finallyLoc)return B(E.finallyLoc)}else if(o){if(this.prev<E.catchLoc)return B(E.catchLoc,!0)}else{if(!D)throw new Error("try statement without catch or finally");if(this.prev<E.finallyLoc)return B(E.finallyLoc)}}}},abrupt:function(A,I){for(var g=this.tryEntries.length-1;g>=0;--g){var B=this.tryEntries[g];if(B.tryLoc<=this.prev&&C.call(B,"finallyLoc")&&this.prev<B.finallyLoc){var Q=B;break}}Q&&("break"===A||"continue"===A)&&Q.tryLoc<=I&&I<=Q.finallyLoc&&(Q=null);var E=Q?Q.completion:{};return E.type=A,E.arg=I,Q?(this.method="next",this.next=Q.finallyLoc,w):this.complete(E)},complete:function(A,I){if("throw"===A.type)throw A.arg;return"break"===A.type||"continue"===A.type?this.next=A.arg:"return"===A.type?(this.rval=this.arg=A.arg,this.method="return",this.next="end"):"normal"===A.type&&I&&(this.next=I),w},finish:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.finallyLoc===A)return this.complete(g.completion,g.afterLoc),J(g),w}},catch:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.tryLoc===A){var C=g.completion;if("throw"===C.type){var B=C.arg;J(g)}return B}}throw new Error("illegal catch attempt")},delegateYield:function(A,g,C){return this.delegate={iterator:Y(A),resultName:g,nextLoc:C},"next"===this.method&&(this.arg=I),w}},A}(A.exports);try{regeneratorRuntime=I}catch(A){"object"==typeof globalThis?globalThis.regeneratorRuntime=I:Function("r","regeneratorRuntime = r")(I)}},2043:(A,I,g)=>{A.exports=g(7458)},8327:(A,I,g)=>{var C,B=(C=(C="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(A){var I,B=void 0!==(A=A||{})?A:{},Q={};for(I in B)B.hasOwnProperty(I)&&(Q[I]=B[I]);var E=[],i=!1,o=!1,D=!1,a=!1;i="object"==typeof window,o="function"==typeof importScripts,D="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&!i&&!o,a=!i&&!D&&!o;var t,s,F,n,w="";function r(A){return B.locateFile?B.locateFile(A,w):w+A}D?(w="//",t=function(A,I){return F||(F=g(981)),n||(n=g(1209)),A=n.normalize(A),F.readFileSync(A,I?null:"utf8")},s=function(A){var I=t(A,!0);return I.buffer||(I=new Uint8Array(I)),S(I.buffer),I},process.argv.length>1&&process.argv[1].replace(/\\\\/g,"/"),E=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof xg))throw A})),process.on("unhandledRejection",sA),B.inspect=function(){return"[Emscripten Module object]"}):a?("undefined"!=typeof read&&(t=function(A){return read(A)}),s=function(A){var I;return"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(S("object"==typeof(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?E=scriptArgs:void 0!==arguments&&(E=arguments),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(i||o)&&(o?w=self.location.href:document.currentScript&&(w=document.currentScript.src),C&&(w=C),w=0!==w.indexOf("blob:")?w.substr(0,w.lastIndexOf("/")+1):"",t=function(A){var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText},o&&(s=function(A){var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}));var e=B.print||console.log.bind(console),h=B.printErr||console.warn.bind(console);for(I in Q)Q.hasOwnProperty(I)&&(B[I]=Q[I]);Q=null,B.arguments&&(E=B.arguments),B.thisProgram&&B.thisProgram,B.quit&&B.quit;var G,y,c=function(A){};B.wasmBinary&&(G=B.wasmBinary),B.noExitRuntime&&B.noExitRuntime,"object"!=typeof WebAssembly&&h("no native wasm support detected");var N=new WebAssembly.Table({initial:181,maximum:181,element:"anyfunc"}),R=!1;function S(A,I){A||sA("Assertion failed: "+I)}function U(A){var I=B["_"+A];return S(I,"Cannot call unknown function "+A+", make sure it is exported"),I}function k(A,I,g,C,B){var Q={string:function(A){var I=0;if(null!=A&&0!==A){var g=1+(A.length<<2);L(A,I=mg(g),g)}return I},array:function(A){var I=mg(A.length);return d(A,I),I}},E=U(A),i=[],o=0;if(C)for(var D=0;D<C.length;D++){var a=Q[g[D]];a?(0===o&&(o=Wg()),i[D]=a(C[D])):i[D]=C[D]}var t=E.apply(null,i);return t=function(A){return"string"===I?Y(A):"boolean"===I?Boolean(A):A}(t),0!==o&&Xg(o),t}var J="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function K(A,I,g){for(var C=I+g,B=I;A[B]&&!(B>=C);)++B;if(B-I>16&&A.subarray&&J)return J.decode(A.subarray(I,B));for(var Q="";I<B;){var E=A[I++];if(128&E){var i=63&A[I++];if(192!=(224&E)){var o=63&A[I++];if((E=224==(240&E)?(15&E)<<12|i<<6|o:(7&E)<<18|i<<12|o<<6|63&A[I++])<65536)Q+=String.fromCharCode(E);else{var D=E-65536;Q+=String.fromCharCode(55296|D>>10,56320|1023&D)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function Y(A,I){return A?K(u,A,I):""}function M(A,I,g,C){if(!(C>0))return 0;for(var B=g,Q=g+C-1,E=0;E<A.length;++E){var i=A.charCodeAt(E);if(i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-B}function L(A,I,g){return M(A,u,I,g)}function l(A){for(var I=0,g=0;g<A.length;++g){var C=A.charCodeAt(g);C>=55296&&C<=57343&&(C=65536+((1023&C)<<10)|1023&A.charCodeAt(++g)),C<=127?++I:I+=C<=2047?2:C<=65535?3:4}return I}function d(A,I){f.set(A,I)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var H,f,u,q,p,b,Z,W,m,X=65536;function x(A,I){return A%I>0&&(A+=I-A%I),A}function V(A){H=A,B.HEAP8=f=new Int8Array(A),B.HEAP16=q=new Int16Array(A),B.HEAP32=b=new Int32Array(A),B.HEAPU8=u=new Uint8Array(A),B.HEAPU16=p=new Uint16Array(A),B.HEAPU32=Z=new Uint32Array(A),B.HEAPF32=W=new Float32Array(A),B.HEAPF64=m=new Float64Array(A)}var v=5289088,T=46048,j=B.TOTAL_MEMORY||1073741824;function P(A){for(;A.length>0;){var I=A.shift();if("function"!=typeof I){var g=I.func;"number"==typeof g?void 0===I.arg?B.dynCall_v(g):B.dynCall_vi(g,I.arg):g(void 0===I.arg?null:I.arg)}else I()}}(y=B.wasmMemory?B.wasmMemory:new WebAssembly.Memory({initial:j/X}))&&(H=y.buffer),j=H.byteLength,V(H),b[T>>2]=v;var O=[],z=[],_=[],$=[],AA=[];function IA(){if(B.preRun)for("function"==typeof B.preRun&&(B.preRun=[B.preRun]);B.preRun.length;)QA(B.preRun.shift());P(O)}function gA(){P(z)}function CA(){P(_)}function BA(){if(B.postRun)for("function"==typeof B.postRun&&(B.postRun=[B.postRun]);B.postRun.length;)EA(B.postRun.shift());P(AA)}function QA(A){O.unshift(A)}function EA(A){AA.unshift(A)}Math.abs,Math.ceil,Math.floor,Math.min;var iA=0,oA=null,DA=null;function aA(A){iA++,B.monitorRunDependencies&&B.monitorRunDependencies(iA)}function tA(A){if(iA--,B.monitorRunDependencies&&B.monitorRunDependencies(iA),0==iA&&(null!==oA&&(clearInterval(oA),oA=null),DA)){var I=DA;DA=null,I()}}function sA(A){throw B.onAbort&&B.onAbort(A),e(A+=""),h(A),R=!0,A="abort("+A+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(A)}B.preloadedImages={},B.preloadedAudios={};var FA="data:application/octet-stream;base64,";function nA(A){return String.prototype.startsWith?A.startsWith(FA):0===A.indexOf(FA)}var wA="charlswasm_decode.wasm";function rA(){try{if(G)return new Uint8Array(G);if(s)return s(wA);throw"both async and sync fetching of the wasm failed"}catch(A){sA(A)}}function eA(){return G||!i&&!o||"function"!=typeof fetch?new Promise((function(A,I){A(rA())})):fetch(wA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at \'"+wA+"\'";return A.arrayBuffer()})).catch((function(){return rA()}))}function hA(){var A={env:dg,wasi_snapshot_preview1:dg};function I(A,I){var g=A.exports;B.asm=g,tA()}function g(A){I(A.instance)}function C(I){return eA().then((function(I){return WebAssembly.instantiate(I,A)})).then(I,(function(A){h("failed to asynchronously prepare wasm: "+A),sA(A)}))}if(aA(),B.instantiateWasm)try{return B.instantiateWasm(A,I)}catch(A){return h("Module.instantiateWasm callback failed with error: "+A),!1}return function(){if(G||"function"!=typeof WebAssembly.instantiateStreaming||nA(wA)||"function"!=typeof fetch)return C(g);fetch(wA,{credentials:"same-origin"}).then((function(I){return WebAssembly.instantiateStreaming(I,A).then(g,(function(A){h("wasm streaming compile failed: "+A),h("falling back to ArrayBuffer instantiation"),C(g)}))}))}(),{}}function GA(A){return qg(A)}function yA(A,I){$.unshift({func:A,arg:I})}function cA(){return yA.apply(null,arguments)}function NA(){return yA.apply(null,arguments)}nA(wA)||(wA=r(wA)),z.push({func:function(){ug()}});var RA={};function SA(A,I,g){throw RA[A]={ptr:A,adjusted:[A],type:I,destructor:g,refcount:0,caught:!1,rethrown:!1},"uncaught_exception"in pg?pg.uncaught_exceptions++:pg.uncaught_exceptions=1,A}var UA={};function kA(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function JA(A){return this.fromWireType(Z[A>>2])}var KA={},YA={},MA={},LA=48,lA=57;function dA(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return I>=LA&&I<=lA?"_"+A:A}function HA(A,I){return A=dA(A),new Function("body","return function "+A+\'() {\\n    "use strict";    return body.apply(this, arguments);\\n};\\n\')(I)}function fA(A,I){var g=HA(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\\n"+g.replace(/^Error(:[^\\n]*)?\\n/,""))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var uA=void 0;function qA(A){throw new uA(A)}function pA(A,I,g){function C(I){var C=g(I);C.length!==A.length&&qA("Mismatched type converter count");for(var B=0;B<A.length;++B)vA(A[B],C[B])}A.forEach((function(A){MA[A]=I}));var B=new Array(I.length),Q=[],E=0;I.forEach((function(A,I){YA.hasOwnProperty(A)?B[I]=YA[A]:(Q.push(A),KA.hasOwnProperty(A)||(KA[A]=[]),KA[A].push((function(){B[I]=YA[A],++E===Q.length&&C(B)})))})),0===Q.length&&C(B)}function bA(A){var I=UA[A];delete UA[A];var g=I.rawConstructor,C=I.rawDestructor,B=I.fields;pA([A],B.map((function(A){return A.getterReturnType})).concat(B.map((function(A){return A.setterArgumentType}))),(function(A){var Q={};return B.forEach((function(I,g){var C=I.fieldName,E=A[g],i=I.getter,o=I.getterContext,D=A[g+B.length],a=I.setter,t=I.setterContext;Q[C]={read:function(A){return E.fromWireType(i(o,A))},write:function(A,I){var g=[];a(t,A,D.toWireType(g,I)),kA(g)}}})),[{name:I.name,fromWireType:function(A){var I={};for(var g in Q)I[g]=Q[g].read(A);return C(A),I},toWireType:function(A,I){for(var B in Q)if(!(B in I))throw new TypeError("Missing field");var E=g();for(B in Q)Q[B].write(E,I[B]);return null!==A&&A.push(C,E),E},argPackAdvance:8,readValueFromPointer:JA,destructorFunction:C}]}))}function ZA(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+A)}}function WA(){for(var A=new Array(256),I=0;I<256;++I)A[I]=String.fromCharCode(I);mA=A}var mA=void 0;function XA(A){for(var I="",g=A;u[g];)I+=mA[u[g++]];return I}var xA=void 0;function VA(A){throw new xA(A)}function vA(A,I,g){if(g=g||{},!("argPackAdvance"in I))throw new TypeError("registerType registeredInstance requires argPackAdvance");var C=I.name;if(A||VA(\'type "\'+C+\'" must have a positive integer typeid pointer\'),YA.hasOwnProperty(A)){if(g.ignoreDuplicateRegistrations)return;VA("Cannot register type \'"+C+"\' twice")}if(YA[A]=I,delete MA[A],KA.hasOwnProperty(A)){var B=KA[A];delete KA[A],B.forEach((function(A){A()}))}}function TA(A,I,g,C,B){var Q=ZA(g);vA(A,{name:I=XA(I),fromWireType:function(A){return!!A},toWireType:function(A,I){return I?C:B},argPackAdvance:8,readValueFromPointer:function(A){var C;if(1===g)C=f;else if(2===g)C=q;else{if(4!==g)throw new TypeError("Unknown boolean type size: "+I);C=b}return this.fromWireType(C[A>>Q])},destructorFunction:null})}function jA(A){if(!(this instanceof aI))return!1;if(!(A instanceof aI))return!1;for(var I=this.$$.ptrType.registeredClass,g=this.$$.ptr,C=A.$$.ptrType.registeredClass,B=A.$$.ptr;I.baseClass;)g=I.upcast(g),I=I.baseClass;for(;C.baseClass;)B=C.upcast(B),C=C.baseClass;return I===C&&g===B}function PA(A){return{count:A.count,deleteScheduled:A.deleteScheduled,preservePointerOnDelete:A.preservePointerOnDelete,ptr:A.ptr,ptrType:A.ptrType,smartPtr:A.smartPtr,smartPtrType:A.smartPtrType}}function OA(A){VA(A.$$.ptrType.registeredClass.name+" instance already deleted")}var zA=!1;function _A(A){}function $A(A){A.smartPtr?A.smartPtrType.rawDestructor(A.smartPtr):A.ptrType.registeredClass.rawDestructor(A.ptr)}function AI(A){A.count.value-=1,0===A.count.value&&$A(A)}function II(A){return"undefined"==typeof FinalizationGroup?(II=function(A){return A},A):(zA=new FinalizationGroup((function(A){for(var I=A.next();!I.done;I=A.next()){var g=I.value;g.ptr?AI(g):console.warn("object already deleted: "+g.ptr)}})),_A=function(A){zA.unregister(A.$$)},(II=function(A){return zA.register(A,A.$$,A.$$),A})(A))}function gI(){if(this.$$.ptr||OA(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var A=II(Object.create(Object.getPrototypeOf(this),{$$:{value:PA(this.$$)}}));return A.$$.count.value+=1,A.$$.deleteScheduled=!1,A}function CI(){this.$$.ptr||OA(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&VA("Object already scheduled for deletion"),_A(this),AI(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function BI(){return!this.$$.ptr}var QI=void 0,EI=[];function iI(){for(;EI.length;){var A=EI.pop();A.$$.deleteScheduled=!1,A.delete()}}function oI(){return this.$$.ptr||OA(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&VA("Object already scheduled for deletion"),EI.push(this),1===EI.length&&QI&&QI(iI),this.$$.deleteScheduled=!0,this}function DI(){aI.prototype.isAliasOf=jA,aI.prototype.clone=gI,aI.prototype.delete=CI,aI.prototype.isDeleted=BI,aI.prototype.deleteLater=oI}function aI(){}var tI={};function sI(A,I,g){if(void 0===A[I].overloadTable){var C=A[I];A[I]=function(){return A[I].overloadTable.hasOwnProperty(arguments.length)||VA("Function \'"+g+"\' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+A[I].overloadTable+")!"),A[I].overloadTable[arguments.length].apply(this,arguments)},A[I].overloadTable=[],A[I].overloadTable[C.argCount]=C}}function FI(A,I,g){B.hasOwnProperty(A)?((void 0===g||void 0!==B[A].overloadTable&&void 0!==B[A].overloadTable[g])&&VA("Cannot register public name \'"+A+"\' twice"),sI(B,A,A),B.hasOwnProperty(g)&&VA("Cannot register multiple overloads of a function with the same number of arguments ("+g+")!"),B[A].overloadTable[g]=I):(B[A]=I,void 0!==g&&(B[A].numArguments=g))}function nI(A,I,g,C,B,Q,E,i){this.name=A,this.constructor=I,this.instancePrototype=g,this.rawDestructor=C,this.baseClass=B,this.getActualType=Q,this.upcast=E,this.downcast=i,this.pureVirtualFunctions=[]}function wI(A,I,g){for(;I!==g;)I.upcast||VA("Expected null or instance of "+g.name+", got an instance of "+I.name),A=I.upcast(A),I=I.baseClass;return A}function rI(A,I){if(null===I)return this.isReference&&VA("null is not a valid "+this.name),0;I.$$||VA(\'Cannot pass "\'+$I(I)+\'" as a \'+this.name),I.$$.ptr||VA("Cannot pass deleted object as a pointer of type "+this.name);var g=I.$$.ptrType.registeredClass;return wI(I.$$.ptr,g,this.registeredClass)}function eI(A,I){var g;if(null===I)return this.isReference&&VA("null is not a valid "+this.name),this.isSmartPointer?(g=this.rawConstructor(),null!==A&&A.push(this.rawDestructor,g),g):0;I.$$||VA(\'Cannot pass "\'+$I(I)+\'" as a \'+this.name),I.$$.ptr||VA("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&I.$$.ptrType.isConst&&VA("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);var C=I.$$.ptrType.registeredClass;if(g=wI(I.$$.ptr,C,this.registeredClass),this.isSmartPointer)switch(void 0===I.$$.smartPtr&&VA("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:I.$$.smartPtrType===this?g=I.$$.smartPtr:VA("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:g=I.$$.smartPtr;break;case 2:if(I.$$.smartPtrType===this)g=I.$$.smartPtr;else{var B=I.clone();g=this.rawShare(g,zI((function(){B.delete()}))),null!==A&&A.push(this.rawDestructor,g)}break;default:VA("Unsupporting sharing policy")}return g}function hI(A,I){if(null===I)return this.isReference&&VA("null is not a valid "+this.name),0;I.$$||VA(\'Cannot pass "\'+$I(I)+\'" as a \'+this.name),I.$$.ptr||VA("Cannot pass deleted object as a pointer of type "+this.name),I.$$.ptrType.isConst&&VA("Cannot convert argument of type "+I.$$.ptrType.name+" to parameter type "+this.name);var g=I.$$.ptrType.registeredClass;return wI(I.$$.ptr,g,this.registeredClass)}function GI(A){return this.rawGetPointee&&(A=this.rawGetPointee(A)),A}function yI(A){this.rawDestructor&&this.rawDestructor(A)}function cI(A){null!==A&&A.delete()}function NI(A,I,g){if(I===g)return A;if(void 0===g.baseClass)return null;var C=NI(A,I,g.baseClass);return null===C?null:g.downcast(C)}function RI(){return Object.keys(JI).length}function SI(){var A=[];for(var I in JI)JI.hasOwnProperty(I)&&A.push(JI[I]);return A}function UI(A){QI=A,EI.length&&QI&&QI(iI)}function kI(){B.getInheritedInstanceCount=RI,B.getLiveInheritedInstances=SI,B.flushPendingDeletes=iI,B.setDelayFunction=UI}var JI={};function KI(A,I){for(void 0===I&&VA("ptr should not be undefined");A.baseClass;)I=A.upcast(I),A=A.baseClass;return I}function YI(A,I){return I=KI(A,I),JI[I]}function MI(A,I){return I.ptrType&&I.ptr||qA("makeClassHandle requires ptr and ptrType"),!!I.smartPtrType!=!!I.smartPtr&&qA("Both smartPtrType and smartPtr must be specified"),I.count={value:1},II(Object.create(A,{$$:{value:I}}))}function LI(A){var I=this.getPointee(A);if(!I)return this.destructor(A),null;var g=YI(this.registeredClass,I);if(void 0!==g){if(0===g.$$.count.value)return g.$$.ptr=I,g.$$.smartPtr=A,g.clone();var C=g.clone();return this.destructor(A),C}function B(){return this.isSmartPointer?MI(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:I,smartPtrType:this,smartPtr:A}):MI(this.registeredClass.instancePrototype,{ptrType:this,ptr:A})}var Q,E=this.registeredClass.getActualType(I),i=tI[E];if(!i)return B.call(this);Q=this.isConst?i.constPointerType:i.pointerType;var o=NI(I,this.registeredClass,Q.registeredClass);return null===o?B.call(this):this.isSmartPointer?MI(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:o,smartPtrType:this,smartPtr:A}):MI(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:o})}function lI(){dI.prototype.getPointee=GI,dI.prototype.destructor=yI,dI.prototype.argPackAdvance=8,dI.prototype.readValueFromPointer=JA,dI.prototype.deleteObject=cI,dI.prototype.fromWireType=LI}function dI(A,I,g,C,B,Q,E,i,o,D,a){this.name=A,this.registeredClass=I,this.isReference=g,this.isConst=C,this.isSmartPointer=B,this.pointeeType=Q,this.sharingPolicy=E,this.rawGetPointee=i,this.rawConstructor=o,this.rawShare=D,this.rawDestructor=a,B||void 0!==I.baseClass?this.toWireType=eI:C?(this.toWireType=rI,this.destructorFunction=null):(this.toWireType=hI,this.destructorFunction=null)}function HI(A,I,g){B.hasOwnProperty(A)||qA("Replacing nonexistant public symbol"),void 0!==B[A].overloadTable&&void 0!==g?B[A].overloadTable[g]=I:(B[A]=I,B[A].argCount=g)}function fI(A,I){var g;if(A=XA(A),void 0!==B["FUNCTION_TABLE_"+A])g=B["FUNCTION_TABLE_"+A][I];else if("undefined"!=typeof FUNCTION_TABLE)g=FUNCTION_TABLE[I];else{var C=B["dynCall_"+A];void 0===C&&void 0===(C=B["dynCall_"+A.replace(/f/g,"d")])&&VA("No dynCall invoker for signature: "+A),g=function(g){for(var C=[],B=1;B<A.length;++B)C.push("a"+B);var Q="return function dynCall_"+A+"_"+I+"("+C.join(", ")+") {\\n";return Q+="    return dynCall(rawFunction"+(C.length?", ":"")+C.join(", ")+");\\n",Q+="};\\n",new Function("dynCall","rawFunction",Q)(g,I)}(C)}return"function"!=typeof g&&VA("unknown function pointer with signature "+A+": "+I),g}var uI=void 0;function qI(A){var I=Zg(A),g=XA(I);return bg(I),g}function pI(A,I){var g=[],C={};throw I.forEach((function A(I){C[I]||YA[I]||(MA[I]?MA[I].forEach(A):(g.push(I),C[I]=!0))})),new uI(A+": "+g.map(qI).join([", "]))}function bI(A,I,g,C,B,Q,E,i,o,D,a,t,s){a=XA(a),Q=fI(B,Q),i&&(i=fI(E,i)),D&&(D=fI(o,D)),s=fI(t,s);var F=dA(a);FI(F,(function(){pI("Cannot construct "+a+" due to unbound types",[C])})),pA([A,I,g],C?[C]:[],(function(I){var g,B;I=I[0],B=C?(g=I.registeredClass).instancePrototype:aI.prototype;var E=HA(F,(function(){if(Object.getPrototypeOf(this)!==o)throw new xA("Use \'new\' to construct "+a);if(void 0===t.constructor_body)throw new xA(a+" has no accessible constructor");var A=t.constructor_body[arguments.length];if(void 0===A)throw new xA("Tried to invoke ctor of "+a+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(t.constructor_body).toString()+") parameters instead!");return A.apply(this,arguments)})),o=Object.create(B,{constructor:{value:E}});E.prototype=o;var t=new nI(a,E,o,s,g,Q,i,D),n=new dI(a,t,!0,!1,!1),w=new dI(a+"*",t,!1,!1,!1),r=new dI(a+" const*",t,!1,!0,!1);return tI[A]={pointerType:w,constPointerType:r},HI(F,E),[n,w,r]}))}function ZI(A,I){for(var g=[],C=0;C<A;C++)g.push(b[(I>>2)+C]);return g}function WI(A,I,g,C,B,Q){S(I>0);var E=ZI(I,g);B=fI(C,B);var i=[Q],o=[];pA([],[A],(function(A){var g="constructor "+(A=A[0]).name;if(void 0===A.registeredClass.constructor_body&&(A.registeredClass.constructor_body=[]),void 0!==A.registeredClass.constructor_body[I-1])throw new xA("Cannot register multiple constructors with identical number of parameters ("+(I-1)+") for class \'"+A.name+"\'! Overload resolution is currently only performed using the parameter count, not actual type info!");return A.registeredClass.constructor_body[I-1]=function(){pI("Cannot construct "+A.name+" due to unbound types",E)},pA([],E,(function(C){return A.registeredClass.constructor_body[I-1]=function(){arguments.length!==I-1&&VA(g+" called with "+arguments.length+" arguments, expected "+(I-1)),o.length=0,i.length=I;for(var A=1;A<I;++A)i[A]=C[A].toWireType(o,arguments[A-1]);var Q=B.apply(null,i);return kA(o),C[0].fromWireType(Q)},[]})),[]}))}function mI(A,I){if(!(A instanceof Function))throw new TypeError("new_ called with constructor type "+typeof A+" which is not a function");var g=HA(A.name||"unknownFunctionName",(function(){}));g.prototype=A.prototype;var C=new g,B=A.apply(C,I);return B instanceof Object?B:C}function XI(A,I,g,C,B){var Q=I.length;Q<2&&VA("argTypes array size mismatch! Must at least get return value and \'this\' types!");for(var E=null!==I[1]&&null!==g,i=!1,o=1;o<I.length;++o)if(null!==I[o]&&void 0===I[o].destructorFunction){i=!0;break}var D="void"!==I[0].name,a="",t="";for(o=0;o<Q-2;++o)a+=(0!==o?", ":"")+"arg"+o,t+=(0!==o?", ":"")+"arg"+o+"Wired";var s="return function "+dA(A)+"("+a+") {\\nif (arguments.length !== "+(Q-2)+") {\\nthrowBindingError(\'function "+A+" called with \' + arguments.length + \' arguments, expected "+(Q-2)+" args!\');\\n}\\n";i&&(s+="var destructors = [];\\n");var F=i?"destructors":"null",n=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],w=[VA,C,B,kA,I[0],I[1]];for(E&&(s+="var thisWired = classParam.toWireType("+F+", this);\\n"),o=0;o<Q-2;++o)s+="var arg"+o+"Wired = argType"+o+".toWireType("+F+", arg"+o+"); // "+I[o+2].name+"\\n",n.push("argType"+o),w.push(I[o+2]);if(E&&(t="thisWired"+(t.length>0?", ":"")+t),s+=(D?"var rv = ":"")+"invoker(fn"+(t.length>0?", ":"")+t+");\\n",i)s+="runDestructors(destructors);\\n";else for(o=E?1:2;o<I.length;++o){var r=1===o?"thisWired":"arg"+(o-2)+"Wired";null!==I[o].destructorFunction&&(s+=r+"_dtor("+r+"); // "+I[o].name+"\\n",n.push(r+"_dtor"),w.push(I[o].destructorFunction))}return D&&(s+="var ret = retType.fromWireType(rv);\\nreturn ret;\\n"),s+="}\\n",n.push(s),mI(Function,n).apply(null,w)}function xI(A,I,g,C,B,Q,E,i){var o=ZI(g,C);I=XA(I),Q=fI(B,Q),pA([],[A],(function(A){var C=(A=A[0]).name+"."+I;function B(){pI("Cannot call "+C+" due to unbound types",o)}i&&A.registeredClass.pureVirtualFunctions.push(I);var D=A.registeredClass.instancePrototype,a=D[I];return void 0===a||void 0===a.overloadTable&&a.className!==A.name&&a.argCount===g-2?(B.argCount=g-2,B.className=A.name,D[I]=B):(sI(D,I,C),D[I].overloadTable[g-2]=B),pA([],o,(function(B){var i=XI(C,B,A,Q,E);return void 0===D[I].overloadTable?(i.argCount=g-2,D[I]=i):D[I].overloadTable[g-2]=i,[]})),[]}))}var VI=[],vI=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function TI(A){A>4&&0==--vI[A].refcount&&(vI[A]=void 0,VI.push(A))}function jI(){for(var A=0,I=5;I<vI.length;++I)void 0!==vI[I]&&++A;return A}function PI(){for(var A=5;A<vI.length;++A)if(void 0!==vI[A])return vI[A];return null}function OI(){B.count_emval_handles=jI,B.get_first_emval=PI}function zI(A){switch(A){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var I=VI.length?VI.pop():vI.length;return vI[I]={refcount:1,value:A},I}}function _I(A,I){vA(A,{name:I=XA(I),fromWireType:function(A){var I=vI[A].value;return TI(A),I},toWireType:function(A,I){return zI(I)},argPackAdvance:8,readValueFromPointer:JA,destructorFunction:null})}function $I(A){if(null===A)return"null";var I=typeof A;return"object"===I||"array"===I||"function"===I?A.toString():""+A}function Ag(A,I){switch(I){case 2:return function(A){return this.fromWireType(W[A>>2])};case 3:return function(A){return this.fromWireType(m[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function Ig(A,I,g){var C=ZA(g);vA(A,{name:I=XA(I),fromWireType:function(A){return A},toWireType:function(A,I){if("number"!=typeof I&&"boolean"!=typeof I)throw new TypeError(\'Cannot convert "\'+$I(I)+\'" to \'+this.name);return I},argPackAdvance:8,readValueFromPointer:Ag(I,C),destructorFunction:null})}function gg(A,I,g,C,B,Q){var E=ZI(I,g);A=XA(A),B=fI(C,B),FI(A,(function(){pI("Cannot call "+A+" due to unbound types",E)}),I-1),pA([],E,(function(g){var C=[g[0],null].concat(g.slice(1));return HI(A,XI(A,C,null,B,Q),I-1),[]}))}function Cg(A,I,g){switch(I){case 0:return g?function(A){return f[A]}:function(A){return u[A]};case 1:return g?function(A){return q[A>>1]}:function(A){return p[A>>1]};case 2:return g?function(A){return b[A>>2]}:function(A){return Z[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}function Bg(A,I,g,C,B){I=XA(I),-1===B&&(B=4294967295);var Q=ZA(g),E=function(A){return A};if(0===C){var i=32-8*g;E=function(A){return A<<i>>>i}}var o=-1!=I.indexOf("unsigned");vA(A,{name:I,fromWireType:E,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError(\'Cannot convert "\'+$I(g)+\'" to \'+this.name);if(g<C||g>B)throw new TypeError(\'Passing a number "\'+$I(g)+\'" from JS side to C/C++ side to an argument of type "\'+I+\'", which is outside the valid range [\'+C+", "+B+"]!");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:Cg(I,Q,0!==C),destructorFunction:null})}function Qg(A,I,g){var C=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function B(A){var I=Z,g=I[A>>=2],B=I[A+1];return new C(I.buffer,B,g)}vA(A,{name:g=XA(g),fromWireType:B,argPackAdvance:8,readValueFromPointer:B},{ignoreDuplicateRegistrations:!0})}function Eg(A,I){var g="std::string"===(I=XA(I));vA(A,{name:I,fromWireType:function(A){var I,C=Z[A>>2];if(g){var B=u[A+4+C],Q=0;0!=B&&(Q=B,u[A+4+C]=0);for(var E=A+4,i=0;i<=C;++i){var o=A+4+i;if(0==u[o]){var D=Y(E);void 0===I?I=D:(I+=String.fromCharCode(0),I+=D),E=o+1}}0!=Q&&(u[A+4+C]=Q)}else{var a=new Array(C);for(i=0;i<C;++i)a[i]=String.fromCharCode(u[A+4+i]);I=a.join("")}return bg(A),I},toWireType:function(A,I){I instanceof ArrayBuffer&&(I=new Uint8Array(I));var C="string"==typeof I;C||I instanceof Uint8Array||I instanceof Uint8ClampedArray||I instanceof Int8Array||VA("Cannot pass non-string to std::string");var B=(g&&C?function(){return l(I)}:function(){return I.length})(),Q=qg(4+B+1);if(Z[Q>>2]=B,g&&C)L(I,Q+4,B+1);else if(C)for(var E=0;E<B;++E){var i=I.charCodeAt(E);i>255&&(bg(Q),VA("String has UTF-16 code units that do not fit in 8 bits")),u[Q+4+E]=i}else for(E=0;E<B;++E)u[Q+4+E]=I[E];return null!==A&&A.push(bg,Q),Q},argPackAdvance:8,readValueFromPointer:JA,destructorFunction:function(A){bg(A)}})}function ig(A,I,g){var C,B;g=XA(g),2===I?(C=function(){return p},B=1):4===I&&(C=function(){return Z},B=2),vA(A,{name:g,fromWireType:function(A){for(var I=C(),g=Z[A>>2],Q=new Array(g),E=A+4>>B,i=0;i<g;++i)Q[i]=String.fromCharCode(I[E+i]);return bg(A),Q.join("")},toWireType:function(A,g){var Q=g.length,E=qg(4+Q*I),i=C();Z[E>>2]=Q;for(var o=E+4>>B,D=0;D<Q;++D)i[o+D]=g.charCodeAt(D);return null!==A&&A.push(bg,E),E},argPackAdvance:8,readValueFromPointer:JA,destructorFunction:function(A){bg(A)}})}function og(A,I,g,C,B,Q){UA[A]={name:XA(I),rawConstructor:fI(g,C),rawDestructor:fI(B,Q),fields:[]}}function Dg(A,I,g,C,B,Q,E,i,o,D){UA[A].fields.push({fieldName:XA(I),getterReturnType:g,getter:fI(C,B),getterContext:Q,setterArgumentType:E,setter:fI(i,o),setterContext:D})}function ag(A,I){vA(A,{isVoid:!0,name:I=XA(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}var tg={};function sg(A){var I=tg[A];return void 0===I?XA(A):I}function Fg(){return"object"==typeof globalThis?globalThis:Function("return this")()}function ng(A){return 0===A?zI(Fg()):(A=sg(A),zI(Fg()[A]))}function wg(A){A>4&&(vI[A].refcount+=1)}function rg(A,I){var g=YA[A];return void 0===g&&VA(I+" has unknown type "+qI(A)),g}function eg(A){for(var I="",g=0;g<A;++g)I+=(0!==g?", ":"")+"arg"+g;var C="return function emval_allocator_"+A+"(constructor, argTypes, args) {\\n";for(g=0;g<A;++g)C+="var argType"+g+" = requireRegisteredType(Module[\'HEAP32\'][(argTypes >> 2) + "+g+\'], "parameter \'+g+\'");\\nvar arg\'+g+" = argType"+g+".readValueFromPointer(args);\\nargs += argType"+g+"[\'argPackAdvance\'];\\n";return C+="var obj = new constructor("+I+");\\nreturn __emval_register(obj);\\n}\\n",new Function("requireRegisteredType","Module","__emval_register",C)(rg,B,zI)}var hg={};function Gg(A){return A||VA("Cannot use deleted val. handle = "+A),vI[A].value}function yg(A,I,g,C){A=Gg(A);var B=hg[I];return B||(B=eg(I),hg[I]=B),B(A,g,C)}function cg(A,I){return zI((A=rg(A,"_emval_take_value")).readValueFromPointer(I))}function Ng(){sA()}function Rg(){return f.length}function Sg(){return 46048}function Ug(A,I,g){u.set(u.subarray(I,I+g),A)}function kg(A){try{return y.grow(A-H.byteLength+65535>>16),V(y.buffer),1}catch(A){}}function Jg(A){var I=Rg(),g=65536,C=2147418112;if(A>C)return!1;for(var B=Math.max(I,16777216);B<A;)B=B<=536870912?x(2*B,g):Math.min(x((3*B+2147483648)/4,g),C);return!!kg(B)}var Kg={buffers:[null,[],[]],printChar:function(A,I){var g=Kg.buffers[A];0===I||10===I?((1===A?e:h)(K(g,0)),g.length=0):g.push(I)},varargs:0,get:function(A){return Kg.varargs+=4,b[Kg.varargs-4>>2]},getStr:function(){return Y(Kg.get())},get64:function(){var A=Kg.get();return Kg.get(),A},getZero:function(){Kg.get()}};function Yg(A){try{return 0}catch(A){return"undefined"!=typeof FS&&A instanceof FS.ErrnoError||sA(A),A.errno}}function Mg(A,I,g,C,B){try{return 0}catch(A){return"undefined"!=typeof FS&&A instanceof FS.ErrnoError||sA(A),A.errno}}function Lg(A,I,g,C){try{for(var B=0,Q=0;Q<g;Q++){for(var E=b[I+8*Q>>2],i=b[I+(8*Q+4)>>2],o=0;o<i;o++)Kg.printChar(A,u[E+o]);B+=i}return b[C>>2]=B,0}catch(A){return"undefined"!=typeof FS&&A instanceof FS.ErrnoError||sA(A),A.errno}}function lg(A){c(0|A)}uA=B.InternalError=fA(Error,"InternalError"),WA(),xA=B.BindingError=fA(Error,"BindingError"),DI(),lI(),kI(),uI=B.UnboundTypeError=fA(Error,"UnboundTypeError"),OI();var dg={__cxa_allocate_exception:GA,__cxa_atexit:cA,__cxa_thread_atexit:NA,__cxa_throw:SA,_embind_finalize_value_object:bA,_embind_register_bool:TA,_embind_register_class:bI,_embind_register_class_constructor:WI,_embind_register_class_function:xI,_embind_register_emval:_I,_embind_register_float:Ig,_embind_register_function:gg,_embind_register_integer:Bg,_embind_register_memory_view:Qg,_embind_register_std_string:Eg,_embind_register_std_wstring:ig,_embind_register_value_object:og,_embind_register_value_object_field:Dg,_embind_register_void:ag,_emval_decref:TI,_emval_get_global:ng,_emval_incref:wg,_emval_new:yg,_emval_take_value:cg,abort:Ng,emscripten_get_sbrk_ptr:Sg,emscripten_memcpy_big:Ug,emscripten_resize_heap:Jg,fd_close:Yg,fd_seek:Mg,fd_write:Lg,memory:y,setTempRet0:lg,table:N},Hg=hA();B.asm=Hg;var fg,ug=B.___wasm_call_ctors=function(){return B.asm.__wasm_call_ctors.apply(null,arguments)},qg=B._malloc=function(){return B.asm.malloc.apply(null,arguments)},pg=(B._setThrew=function(){return B.asm.setThrew.apply(null,arguments)},B.__ZSt18uncaught_exceptionv=function(){return B.asm._ZSt18uncaught_exceptionv.apply(null,arguments)}),bg=B._free=function(){return B.asm.free.apply(null,arguments)},Zg=B.___getTypeName=function(){return B.asm.__getTypeName.apply(null,arguments)},Wg=(B.___embind_register_native_and_builtin_types=function(){return B.asm.__embind_register_native_and_builtin_types.apply(null,arguments)},B.stackSave=function(){return B.asm.stackSave.apply(null,arguments)}),mg=B.stackAlloc=function(){return B.asm.stackAlloc.apply(null,arguments)},Xg=B.stackRestore=function(){return B.asm.stackRestore.apply(null,arguments)};function xg(A){this.name="ExitStatus",this.message="Program terminated with exit("+A+")",this.status=A}function Vg(A){function I(){fg||(fg=!0,R||(gA(),CA(),B.onRuntimeInitialized&&B.onRuntimeInitialized(),BA()))}A=A||E,iA>0||(IA(),iA>0||(B.setStatus?(B.setStatus("Running..."),setTimeout((function(){setTimeout((function(){B.setStatus("")}),1),I()}),1)):I()))}if(B.__growWasmMemory=function(){return B.asm.__growWasmMemory.apply(null,arguments)},B.dynCall_i=function(){return B.asm.dynCall_i.apply(null,arguments)},B.dynCall_vi=function(){return B.asm.dynCall_vi.apply(null,arguments)},B.dynCall_iii=function(){return B.asm.dynCall_iii.apply(null,arguments)},B.dynCall_viii=function(){return B.asm.dynCall_viii.apply(null,arguments)},B.dynCall_ii=function(){return B.asm.dynCall_ii.apply(null,arguments)},B.dynCall_iiii=function(){return B.asm.dynCall_iiii.apply(null,arguments)},B.dynCall_vii=function(){return B.asm.dynCall_vii.apply(null,arguments)},B.dynCall_viiii=function(){return B.asm.dynCall_viiii.apply(null,arguments)},B.dynCall_v=function(){return B.asm.dynCall_v.apply(null,arguments)},B.dynCall_iidiiii=function(){return B.asm.dynCall_iidiiii.apply(null,arguments)},B.dynCall_jiji=function(){return B.asm.dynCall_jiji.apply(null,arguments)},B.dynCall_viiiiii=function(){return B.asm.dynCall_viiiiii.apply(null,arguments)},B.dynCall_viiiii=function(){return B.asm.dynCall_viiiii.apply(null,arguments)},B.asm=Hg,B.ccall=k,B.then=function(A){if(fg)A(B);else{var I=B.onRuntimeInitialized;B.onRuntimeInitialized=function(){I&&I(),A(B)}}return B},DA=function A(){fg||Vg(),fg||(DA=A)},B.run=Vg,B.preInit)for("function"==typeof B.preInit&&(B.preInit=[B.preInit]);B.preInit.length>0;)B.preInit.pop()();return Vg(),A});A.exports=B},9400:(A,I,g)=>{var C,B=(C=(C="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(A){var I,B=void 0!==(A=A||{})?A:{},Q={};for(I in B)B.hasOwnProperty(I)&&(Q[I]=B[I]);var E=[],i="./this.program",o=function(A,I){throw I},D=!1,a=!1,t=!1,s=!1;D="object"==typeof window,a="function"==typeof importScripts,t="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&!D&&!a,s=!D&&!t&&!a;var F,n,w,r,e="";function h(A){return B.locateFile?B.locateFile(A,e):e+A}t?(e="//",F=function(A,I){return w||(w=g(1973)),r||(r=g(378)),A=r.normalize(A),w.readFileSync(A,I?null:"utf8")},n=function(A){var I=F(A,!0);return I.buffer||(I=new Uint8Array(I)),Y(I.buffer),I},process.argv.length>1&&(i=process.argv[1].replace(/\\\\/g,"/")),E=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof hC))throw A})),process.on("unhandledRejection",GA),o=function(A){process.exit(A)},B.inspect=function(){return"[Emscripten Module object]"}):s?("undefined"!=typeof read&&(F=function(A){return read(A)}),n=function(A){var I;return"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(Y("object"==typeof(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?E=scriptArgs:void 0!==arguments&&(E=arguments),"function"==typeof quit&&(o=function(A){quit(A)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(D||a)&&(a?e=self.location.href:document.currentScript&&(e=document.currentScript.src),C&&(e=C),e=0!==e.indexOf("blob:")?e.substr(0,e.lastIndexOf("/")+1):"",F=function(A){var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText},a&&(n=function(A){var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}));var G=B.print||console.log.bind(console),y=B.printErr||console.warn.bind(console);for(I in Q)Q.hasOwnProperty(I)&&(B[I]=Q[I]);Q=null,B.arguments&&(E=B.arguments),B.thisProgram&&(i=B.thisProgram),B.quit&&(o=B.quit);var c,N,R,S=0,U=function(A){S=A},k=function(){return S};B.wasmBinary&&(c=B.wasmBinary),B.noExitRuntime&&(N=B.noExitRuntime),"object"!=typeof WebAssembly&&y("no native wasm support detected");var J=new WebAssembly.Table({initial:204,maximum:204,element:"anyfunc"}),K=!1;function Y(A,I){A||GA("Assertion failed: "+I)}function M(A){var I=B["_"+A];return Y(I,"Cannot call unknown function "+A+", make sure it is exported"),I}function L(A,I,g,C,B){var Q={string:function(A){var I=0;if(null!=A&&0!==A){var g=1+(A.length<<2);u(A,I=tC(g),g)}return I},array:function(A){var I=tC(A.length);return p(A,I),I}},E=M(A),i=[],o=0;if(C)for(var D=0;D<C.length;D++){var a=Q[g[D]];a?(0===o&&(o=aC()),i[D]=a(C[D])):i[D]=C[D]}var t=E.apply(null,i);return t=function(A){return"string"===I?H(A):"boolean"===I?Boolean(A):A}(t),0!==o&&sC(o),t}var l="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function d(A,I,g){for(var C=I+g,B=I;A[B]&&!(B>=C);)++B;if(B-I>16&&A.subarray&&l)return l.decode(A.subarray(I,B));for(var Q="";I<B;){var E=A[I++];if(128&E){var i=63&A[I++];if(192!=(224&E)){var o=63&A[I++];if((E=224==(240&E)?(15&E)<<12|i<<6|o:(7&E)<<18|i<<12|o<<6|63&A[I++])<65536)Q+=String.fromCharCode(E);else{var D=E-65536;Q+=String.fromCharCode(55296|D>>10,56320|1023&D)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function H(A,I){return A?d(m,A,I):""}function f(A,I,g,C){if(!(C>0))return 0;for(var B=g,Q=g+C-1,E=0;E<A.length;++E){var i=A.charCodeAt(E);if(i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-B}function u(A,I,g){return f(A,m,I,g)}function q(A){for(var I=0,g=0;g<A.length;++g){var C=A.charCodeAt(g);C>=55296&&C<=57343&&(C=65536+((1023&C)<<10)|1023&A.charCodeAt(++g)),C<=127?++I:I+=C<=2047?2:C<=65535?3:4}return I}function p(A,I){W.set(A,I)}function b(A,I,g){for(var C=0;C<A.length;++C)W[I++>>0]=A.charCodeAt(C);g||(W[I>>0]=0)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var Z,W,m,X,x,V,v,T,j,P=65536;function O(A,I){return A%I>0&&(A+=I-A%I),A}function z(A){Z=A,B.HEAP8=W=new Int8Array(A),B.HEAP16=X=new Int16Array(A),B.HEAP32=V=new Int32Array(A),B.HEAPU8=m=new Uint8Array(A),B.HEAPU16=x=new Uint16Array(A),B.HEAPU32=v=new Uint32Array(A),B.HEAPF32=T=new Float32Array(A),B.HEAPF64=j=new Float64Array(A)}var _=5258768,$=15728,AA=B.TOTAL_MEMORY||1073741824;function IA(A){for(;A.length>0;){var I=A.shift();if("function"!=typeof I){var g=I.func;"number"==typeof g?void 0===I.arg?B.dynCall_v(g):B.dynCall_vi(g,I.arg):g(void 0===I.arg?null:I.arg)}else I()}}(R=B.wasmMemory?B.wasmMemory:new WebAssembly.Memory({initial:AA/P}))&&(Z=R.buffer),AA=Z.byteLength,z(Z),V[$>>2]=_;var gA=[],CA=[],BA=[],QA=[],EA=[];function iA(){if(B.preRun)for("function"==typeof B.preRun&&(B.preRun=[B.preRun]);B.preRun.length;)sA(B.preRun.shift());IA(gA)}function oA(){IA(CA)}function DA(){IA(BA)}function aA(){}function tA(){if(B.postRun)for("function"==typeof B.postRun&&(B.postRun=[B.postRun]);B.postRun.length;)FA(B.postRun.shift());IA(EA)}function sA(A){gA.unshift(A)}function FA(A){EA.unshift(A)}Math.abs,Math.ceil,Math.floor,Math.min;var nA=0,wA=null,rA=null;function eA(A){nA++,B.monitorRunDependencies&&B.monitorRunDependencies(nA)}function hA(A){if(nA--,B.monitorRunDependencies&&B.monitorRunDependencies(nA),0==nA&&(null!==wA&&(clearInterval(wA),wA=null),rA)){var I=rA;rA=null,I()}}function GA(A){throw B.onAbort&&B.onAbort(A),G(A+=""),y(A),K=!0,A="abort("+A+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(A)}B.preloadedImages={},B.preloadedAudios={};var yA="data:application/octet-stream;base64,";function cA(A){return String.prototype.startsWith?A.startsWith(yA):0===A.indexOf(yA)}var NA="libjpegturbowasm_decode.wasm";function RA(){try{if(c)return new Uint8Array(c);if(n)return n(NA);throw"both async and sync fetching of the wasm failed"}catch(A){GA(A)}}function SA(){return c||!D&&!a||"function"!=typeof fetch?new Promise((function(A,I){A(RA())})):fetch(NA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at \'"+NA+"\'";return A.arrayBuffer()})).catch((function(){return RA()}))}function UA(){var A={env:Pg,wasi_snapshot_preview1:Pg};function I(A,I){var g=A.exports;B.asm=g,hA()}function g(A){I(A.instance)}function C(I){return SA().then((function(I){return WebAssembly.instantiate(I,A)})).then(I,(function(A){y("failed to asynchronously prepare wasm: "+A),GA(A)}))}if(eA(),B.instantiateWasm)try{return B.instantiateWasm(A,I)}catch(A){return y("Module.instantiateWasm callback failed with error: "+A),!1}return function(){if(c||"function"!=typeof WebAssembly.instantiateStreaming||cA(NA)||"function"!=typeof fetch)return C(g);fetch(NA,{credentials:"same-origin"}).then((function(I){return WebAssembly.instantiateStreaming(I,A).then(g,(function(A){y("wasm streaming compile failed: "+A),y("falling back to ArrayBuffer instantiation"),C(g)}))}))}(),{}}function kA(A){return $g(A)}function JA(A,I){QA.unshift({func:A,arg:I})}function KA(){return JA.apply(null,arguments)}cA(NA)||(NA=h(NA)),CA.push({func:function(){_g()}});var YA={};function MA(A,I,g){throw YA[A]={ptr:A,adjusted:[A],type:I,destructor:g,refcount:0,caught:!1,rethrown:!1},"uncaught_exception"in CC?CC.uncaught_exceptions++:CC.uncaught_exceptions=1,A}var LA={};function lA(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function dA(A){return this.fromWireType(v[A>>2])}var HA={},fA={},uA={},qA=48,pA=57;function bA(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return I>=qA&&I<=pA?"_"+A:A}function ZA(A,I){return A=bA(A),new Function("body","return function "+A+\'() {\\n    "use strict";    return body.apply(this, arguments);\\n};\\n\')(I)}function WA(A,I){var g=ZA(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\\n"+g.replace(/^Error(:[^\\n]*)?\\n/,""))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var mA=void 0;function XA(A){throw new mA(A)}function xA(A,I,g){function C(I){var C=g(I);C.length!==A.length&&XA("Mismatched type converter count");for(var B=0;B<A.length;++B)_A(A[B],C[B])}A.forEach((function(A){uA[A]=I}));var B=new Array(I.length),Q=[],E=0;I.forEach((function(A,I){fA.hasOwnProperty(A)?B[I]=fA[A]:(Q.push(A),HA.hasOwnProperty(A)||(HA[A]=[]),HA[A].push((function(){B[I]=fA[A],++E===Q.length&&C(B)})))})),0===Q.length&&C(B)}function VA(A){var I=LA[A];delete LA[A];var g=I.rawConstructor,C=I.rawDestructor,B=I.fields;xA([A],B.map((function(A){return A.getterReturnType})).concat(B.map((function(A){return A.setterArgumentType}))),(function(A){var Q={};return B.forEach((function(I,g){var C=I.fieldName,E=A[g],i=I.getter,o=I.getterContext,D=A[g+B.length],a=I.setter,t=I.setterContext;Q[C]={read:function(A){return E.fromWireType(i(o,A))},write:function(A,I){var g=[];a(t,A,D.toWireType(g,I)),lA(g)}}})),[{name:I.name,fromWireType:function(A){var I={};for(var g in Q)I[g]=Q[g].read(A);return C(A),I},toWireType:function(A,I){for(var B in Q)if(!(B in I))throw new TypeError("Missing field");var E=g();for(B in Q)Q[B].write(E,I[B]);return null!==A&&A.push(C,E),E},argPackAdvance:8,readValueFromPointer:dA,destructorFunction:C}]}))}function vA(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+A)}}function TA(){for(var A=new Array(256),I=0;I<256;++I)A[I]=String.fromCharCode(I);jA=A}var jA=void 0;function PA(A){for(var I="",g=A;m[g];)I+=jA[m[g++]];return I}var OA=void 0;function zA(A){throw new OA(A)}function _A(A,I,g){if(g=g||{},!("argPackAdvance"in I))throw new TypeError("registerType registeredInstance requires argPackAdvance");var C=I.name;if(A||zA(\'type "\'+C+\'" must have a positive integer typeid pointer\'),fA.hasOwnProperty(A)){if(g.ignoreDuplicateRegistrations)return;zA("Cannot register type \'"+C+"\' twice")}if(fA[A]=I,delete uA[A],HA.hasOwnProperty(A)){var B=HA[A];delete HA[A],B.forEach((function(A){A()}))}}function $A(A,I,g,C,B){var Q=vA(g);_A(A,{name:I=PA(I),fromWireType:function(A){return!!A},toWireType:function(A,I){return I?C:B},argPackAdvance:8,readValueFromPointer:function(A){var C;if(1===g)C=W;else if(2===g)C=X;else{if(4!==g)throw new TypeError("Unknown boolean type size: "+I);C=V}return this.fromWireType(C[A>>Q])},destructorFunction:null})}function AI(A){if(!(this instanceof rI))return!1;if(!(A instanceof rI))return!1;for(var I=this.$$.ptrType.registeredClass,g=this.$$.ptr,C=A.$$.ptrType.registeredClass,B=A.$$.ptr;I.baseClass;)g=I.upcast(g),I=I.baseClass;for(;C.baseClass;)B=C.upcast(B),C=C.baseClass;return I===C&&g===B}function II(A){return{count:A.count,deleteScheduled:A.deleteScheduled,preservePointerOnDelete:A.preservePointerOnDelete,ptr:A.ptr,ptrType:A.ptrType,smartPtr:A.smartPtr,smartPtrType:A.smartPtrType}}function gI(A){zA(A.$$.ptrType.registeredClass.name+" instance already deleted")}var CI=!1;function BI(A){}function QI(A){A.smartPtr?A.smartPtrType.rawDestructor(A.smartPtr):A.ptrType.registeredClass.rawDestructor(A.ptr)}function EI(A){A.count.value-=1,0===A.count.value&&QI(A)}function iI(A){return"undefined"==typeof FinalizationGroup?(iI=function(A){return A},A):(CI=new FinalizationGroup((function(A){for(var I=A.next();!I.done;I=A.next()){var g=I.value;g.ptr?EI(g):console.warn("object already deleted: "+g.ptr)}})),BI=function(A){CI.unregister(A.$$)},(iI=function(A){return CI.register(A,A.$$,A.$$),A})(A))}function oI(){if(this.$$.ptr||gI(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var A=iI(Object.create(Object.getPrototypeOf(this),{$$:{value:II(this.$$)}}));return A.$$.count.value+=1,A.$$.deleteScheduled=!1,A}function DI(){this.$$.ptr||gI(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&zA("Object already scheduled for deletion"),BI(this),EI(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function aI(){return!this.$$.ptr}var tI=void 0,sI=[];function FI(){for(;sI.length;){var A=sI.pop();A.$$.deleteScheduled=!1,A.delete()}}function nI(){return this.$$.ptr||gI(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&zA("Object already scheduled for deletion"),sI.push(this),1===sI.length&&tI&&tI(FI),this.$$.deleteScheduled=!0,this}function wI(){rI.prototype.isAliasOf=AI,rI.prototype.clone=oI,rI.prototype.delete=DI,rI.prototype.isDeleted=aI,rI.prototype.deleteLater=nI}function rI(){}var eI={};function hI(A,I,g){if(void 0===A[I].overloadTable){var C=A[I];A[I]=function(){return A[I].overloadTable.hasOwnProperty(arguments.length)||zA("Function \'"+g+"\' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+A[I].overloadTable+")!"),A[I].overloadTable[arguments.length].apply(this,arguments)},A[I].overloadTable=[],A[I].overloadTable[C.argCount]=C}}function GI(A,I,g){B.hasOwnProperty(A)?((void 0===g||void 0!==B[A].overloadTable&&void 0!==B[A].overloadTable[g])&&zA("Cannot register public name \'"+A+"\' twice"),hI(B,A,A),B.hasOwnProperty(g)&&zA("Cannot register multiple overloads of a function with the same number of arguments ("+g+")!"),B[A].overloadTable[g]=I):(B[A]=I,void 0!==g&&(B[A].numArguments=g))}function yI(A,I,g,C,B,Q,E,i){this.name=A,this.constructor=I,this.instancePrototype=g,this.rawDestructor=C,this.baseClass=B,this.getActualType=Q,this.upcast=E,this.downcast=i,this.pureVirtualFunctions=[]}function cI(A,I,g){for(;I!==g;)I.upcast||zA("Expected null or instance of "+g.name+", got an instance of "+I.name),A=I.upcast(A),I=I.baseClass;return A}function NI(A,I){if(null===I)return this.isReference&&zA("null is not a valid "+this.name),0;I.$$||zA(\'Cannot pass "\'+Qg(I)+\'" as a \'+this.name),I.$$.ptr||zA("Cannot pass deleted object as a pointer of type "+this.name);var g=I.$$.ptrType.registeredClass;return cI(I.$$.ptr,g,this.registeredClass)}function RI(A,I){var g;if(null===I)return this.isReference&&zA("null is not a valid "+this.name),this.isSmartPointer?(g=this.rawConstructor(),null!==A&&A.push(this.rawDestructor,g),g):0;I.$$||zA(\'Cannot pass "\'+Qg(I)+\'" as a \'+this.name),I.$$.ptr||zA("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&I.$$.ptrType.isConst&&zA("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);var C=I.$$.ptrType.registeredClass;if(g=cI(I.$$.ptr,C,this.registeredClass),this.isSmartPointer)switch(void 0===I.$$.smartPtr&&zA("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:I.$$.smartPtrType===this?g=I.$$.smartPtr:zA("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:g=I.$$.smartPtr;break;case 2:if(I.$$.smartPtrType===this)g=I.$$.smartPtr;else{var B=I.clone();g=this.rawShare(g,Cg((function(){B.delete()}))),null!==A&&A.push(this.rawDestructor,g)}break;default:zA("Unsupporting sharing policy")}return g}function SI(A,I){if(null===I)return this.isReference&&zA("null is not a valid "+this.name),0;I.$$||zA(\'Cannot pass "\'+Qg(I)+\'" as a \'+this.name),I.$$.ptr||zA("Cannot pass deleted object as a pointer of type "+this.name),I.$$.ptrType.isConst&&zA("Cannot convert argument of type "+I.$$.ptrType.name+" to parameter type "+this.name);var g=I.$$.ptrType.registeredClass;return cI(I.$$.ptr,g,this.registeredClass)}function UI(A){return this.rawGetPointee&&(A=this.rawGetPointee(A)),A}function kI(A){this.rawDestructor&&this.rawDestructor(A)}function JI(A){null!==A&&A.delete()}function KI(A,I,g){if(I===g)return A;if(void 0===g.baseClass)return null;var C=KI(A,I,g.baseClass);return null===C?null:g.downcast(C)}function YI(){return Object.keys(dI).length}function MI(){var A=[];for(var I in dI)dI.hasOwnProperty(I)&&A.push(dI[I]);return A}function LI(A){tI=A,sI.length&&tI&&tI(FI)}function lI(){B.getInheritedInstanceCount=YI,B.getLiveInheritedInstances=MI,B.flushPendingDeletes=FI,B.setDelayFunction=LI}var dI={};function HI(A,I){for(void 0===I&&zA("ptr should not be undefined");A.baseClass;)I=A.upcast(I),A=A.baseClass;return I}function fI(A,I){return I=HI(A,I),dI[I]}function uI(A,I){return I.ptrType&&I.ptr||XA("makeClassHandle requires ptr and ptrType"),!!I.smartPtrType!=!!I.smartPtr&&XA("Both smartPtrType and smartPtr must be specified"),I.count={value:1},iI(Object.create(A,{$$:{value:I}}))}function qI(A){var I=this.getPointee(A);if(!I)return this.destructor(A),null;var g=fI(this.registeredClass,I);if(void 0!==g){if(0===g.$$.count.value)return g.$$.ptr=I,g.$$.smartPtr=A,g.clone();var C=g.clone();return this.destructor(A),C}function B(){return this.isSmartPointer?uI(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:I,smartPtrType:this,smartPtr:A}):uI(this.registeredClass.instancePrototype,{ptrType:this,ptr:A})}var Q,E=this.registeredClass.getActualType(I),i=eI[E];if(!i)return B.call(this);Q=this.isConst?i.constPointerType:i.pointerType;var o=KI(I,this.registeredClass,Q.registeredClass);return null===o?B.call(this):this.isSmartPointer?uI(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:o,smartPtrType:this,smartPtr:A}):uI(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:o})}function pI(){bI.prototype.getPointee=UI,bI.prototype.destructor=kI,bI.prototype.argPackAdvance=8,bI.prototype.readValueFromPointer=dA,bI.prototype.deleteObject=JI,bI.prototype.fromWireType=qI}function bI(A,I,g,C,B,Q,E,i,o,D,a){this.name=A,this.registeredClass=I,this.isReference=g,this.isConst=C,this.isSmartPointer=B,this.pointeeType=Q,this.sharingPolicy=E,this.rawGetPointee=i,this.rawConstructor=o,this.rawShare=D,this.rawDestructor=a,B||void 0!==I.baseClass?this.toWireType=RI:C?(this.toWireType=NI,this.destructorFunction=null):(this.toWireType=SI,this.destructorFunction=null)}function ZI(A,I,g){B.hasOwnProperty(A)||XA("Replacing nonexistant public symbol"),void 0!==B[A].overloadTable&&void 0!==g?B[A].overloadTable[g]=I:(B[A]=I,B[A].argCount=g)}function WI(A,I){var g;if(A=PA(A),void 0!==B["FUNCTION_TABLE_"+A])g=B["FUNCTION_TABLE_"+A][I];else if("undefined"!=typeof FUNCTION_TABLE)g=FUNCTION_TABLE[I];else{var C=B["dynCall_"+A];void 0===C&&void 0===(C=B["dynCall_"+A.replace(/f/g,"d")])&&zA("No dynCall invoker for signature: "+A),g=function(g){for(var C=[],B=1;B<A.length;++B)C.push("a"+B);var Q="return function dynCall_"+A+"_"+I+"("+C.join(", ")+") {\\n";return Q+="    return dynCall(rawFunction"+(C.length?", ":"")+C.join(", ")+");\\n",Q+="};\\n",new Function("dynCall","rawFunction",Q)(g,I)}(C)}return"function"!=typeof g&&zA("unknown function pointer with signature "+A+": "+I),g}var mI=void 0;function XI(A){var I=BC(A),g=PA(I);return AC(I),g}function xI(A,I){var g=[],C={};throw I.forEach((function A(I){C[I]||fA[I]||(uA[I]?uA[I].forEach(A):(g.push(I),C[I]=!0))})),new mI(A+": "+g.map(XI).join([", "]))}function VI(A,I,g,C,B,Q,E,i,o,D,a,t,s){a=PA(a),Q=WI(B,Q),i&&(i=WI(E,i)),D&&(D=WI(o,D)),s=WI(t,s);var F=bA(a);GI(F,(function(){xI("Cannot construct "+a+" due to unbound types",[C])})),xA([A,I,g],C?[C]:[],(function(I){var g,B;I=I[0],B=C?(g=I.registeredClass).instancePrototype:rI.prototype;var E=ZA(F,(function(){if(Object.getPrototypeOf(this)!==o)throw new OA("Use \'new\' to construct "+a);if(void 0===t.constructor_body)throw new OA(a+" has no accessible constructor");var A=t.constructor_body[arguments.length];if(void 0===A)throw new OA("Tried to invoke ctor of "+a+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(t.constructor_body).toString()+") parameters instead!");return A.apply(this,arguments)})),o=Object.create(B,{constructor:{value:E}});E.prototype=o;var t=new yI(a,E,o,s,g,Q,i,D),n=new bI(a,t,!0,!1,!1),w=new bI(a+"*",t,!1,!1,!1),r=new bI(a+" const*",t,!1,!0,!1);return eI[A]={pointerType:w,constPointerType:r},ZI(F,E),[n,w,r]}))}function vI(A,I){for(var g=[],C=0;C<A;C++)g.push(V[(I>>2)+C]);return g}function TI(A,I,g,C,B,Q){Y(I>0);var E=vI(I,g);B=WI(C,B);var i=[Q],o=[];xA([],[A],(function(A){var g="constructor "+(A=A[0]).name;if(void 0===A.registeredClass.constructor_body&&(A.registeredClass.constructor_body=[]),void 0!==A.registeredClass.constructor_body[I-1])throw new OA("Cannot register multiple constructors with identical number of parameters ("+(I-1)+") for class \'"+A.name+"\'! Overload resolution is currently only performed using the parameter count, not actual type info!");return A.registeredClass.constructor_body[I-1]=function(){xI("Cannot construct "+A.name+" due to unbound types",E)},xA([],E,(function(C){return A.registeredClass.constructor_body[I-1]=function(){arguments.length!==I-1&&zA(g+" called with "+arguments.length+" arguments, expected "+(I-1)),o.length=0,i.length=I;for(var A=1;A<I;++A)i[A]=C[A].toWireType(o,arguments[A-1]);var Q=B.apply(null,i);return lA(o),C[0].fromWireType(Q)},[]})),[]}))}function jI(A,I){if(!(A instanceof Function))throw new TypeError("new_ called with constructor type "+typeof A+" which is not a function");var g=ZA(A.name||"unknownFunctionName",(function(){}));g.prototype=A.prototype;var C=new g,B=A.apply(C,I);return B instanceof Object?B:C}function PI(A,I,g,C,B){var Q=I.length;Q<2&&zA("argTypes array size mismatch! Must at least get return value and \'this\' types!");for(var E=null!==I[1]&&null!==g,i=!1,o=1;o<I.length;++o)if(null!==I[o]&&void 0===I[o].destructorFunction){i=!0;break}var D="void"!==I[0].name,a="",t="";for(o=0;o<Q-2;++o)a+=(0!==o?", ":"")+"arg"+o,t+=(0!==o?", ":"")+"arg"+o+"Wired";var s="return function "+bA(A)+"("+a+") {\\nif (arguments.length !== "+(Q-2)+") {\\nthrowBindingError(\'function "+A+" called with \' + arguments.length + \' arguments, expected "+(Q-2)+" args!\');\\n}\\n";i&&(s+="var destructors = [];\\n");var F=i?"destructors":"null",n=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],w=[zA,C,B,lA,I[0],I[1]];for(E&&(s+="var thisWired = classParam.toWireType("+F+", this);\\n"),o=0;o<Q-2;++o)s+="var arg"+o+"Wired = argType"+o+".toWireType("+F+", arg"+o+"); // "+I[o+2].name+"\\n",n.push("argType"+o),w.push(I[o+2]);if(E&&(t="thisWired"+(t.length>0?", ":"")+t),s+=(D?"var rv = ":"")+"invoker(fn"+(t.length>0?", ":"")+t+");\\n",i)s+="runDestructors(destructors);\\n";else for(o=E?1:2;o<I.length;++o){var r=1===o?"thisWired":"arg"+(o-2)+"Wired";null!==I[o].destructorFunction&&(s+=r+"_dtor("+r+"); // "+I[o].name+"\\n",n.push(r+"_dtor"),w.push(I[o].destructorFunction))}return D&&(s+="var ret = retType.fromWireType(rv);\\nreturn ret;\\n"),s+="}\\n",n.push(s),jI(Function,n).apply(null,w)}function OI(A,I,g,C,B,Q,E,i){var o=vI(g,C);I=PA(I),Q=WI(B,Q),xA([],[A],(function(A){var C=(A=A[0]).name+"."+I;function B(){xI("Cannot call "+C+" due to unbound types",o)}i&&A.registeredClass.pureVirtualFunctions.push(I);var D=A.registeredClass.instancePrototype,a=D[I];return void 0===a||void 0===a.overloadTable&&a.className!==A.name&&a.argCount===g-2?(B.argCount=g-2,B.className=A.name,D[I]=B):(hI(D,I,C),D[I].overloadTable[g-2]=B),xA([],o,(function(B){var i=PI(C,B,A,Q,E);return void 0===D[I].overloadTable?(i.argCount=g-2,D[I]=i):D[I].overloadTable[g-2]=i,[]})),[]}))}var zI=[],_I=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function $I(A){A>4&&0==--_I[A].refcount&&(_I[A]=void 0,zI.push(A))}function Ag(){for(var A=0,I=5;I<_I.length;++I)void 0!==_I[I]&&++A;return A}function Ig(){for(var A=5;A<_I.length;++A)if(void 0!==_I[A])return _I[A];return null}function gg(){B.count_emval_handles=Ag,B.get_first_emval=Ig}function Cg(A){switch(A){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var I=zI.length?zI.pop():_I.length;return _I[I]={refcount:1,value:A},I}}function Bg(A,I){_A(A,{name:I=PA(I),fromWireType:function(A){var I=_I[A].value;return $I(A),I},toWireType:function(A,I){return Cg(I)},argPackAdvance:8,readValueFromPointer:dA,destructorFunction:null})}function Qg(A){if(null===A)return"null";var I=typeof A;return"object"===I||"array"===I||"function"===I?A.toString():""+A}function Eg(A,I){switch(I){case 2:return function(A){return this.fromWireType(T[A>>2])};case 3:return function(A){return this.fromWireType(j[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function ig(A,I,g){var C=vA(g);_A(A,{name:I=PA(I),fromWireType:function(A){return A},toWireType:function(A,I){if("number"!=typeof I&&"boolean"!=typeof I)throw new TypeError(\'Cannot convert "\'+Qg(I)+\'" to \'+this.name);return I},argPackAdvance:8,readValueFromPointer:Eg(I,C),destructorFunction:null})}function og(A,I,g){switch(I){case 0:return g?function(A){return W[A]}:function(A){return m[A]};case 1:return g?function(A){return X[A>>1]}:function(A){return x[A>>1]};case 2:return g?function(A){return V[A>>2]}:function(A){return v[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}function Dg(A,I,g,C,B){I=PA(I),-1===B&&(B=4294967295);var Q=vA(g),E=function(A){return A};if(0===C){var i=32-8*g;E=function(A){return A<<i>>>i}}var o=-1!=I.indexOf("unsigned");_A(A,{name:I,fromWireType:E,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError(\'Cannot convert "\'+Qg(g)+\'" to \'+this.name);if(g<C||g>B)throw new TypeError(\'Passing a number "\'+Qg(g)+\'" from JS side to C/C++ side to an argument of type "\'+I+\'", which is outside the valid range [\'+C+", "+B+"]!");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:og(I,Q,0!==C),destructorFunction:null})}function ag(A,I,g){var C=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function B(A){var I=v,g=I[A>>=2],B=I[A+1];return new C(I.buffer,B,g)}_A(A,{name:g=PA(g),fromWireType:B,argPackAdvance:8,readValueFromPointer:B},{ignoreDuplicateRegistrations:!0})}function tg(A,I){var g="std::string"===(I=PA(I));_A(A,{name:I,fromWireType:function(A){var I,C=v[A>>2];if(g){var B=m[A+4+C],Q=0;0!=B&&(Q=B,m[A+4+C]=0);for(var E=A+4,i=0;i<=C;++i){var o=A+4+i;if(0==m[o]){var D=H(E);void 0===I?I=D:(I+=String.fromCharCode(0),I+=D),E=o+1}}0!=Q&&(m[A+4+C]=Q)}else{var a=new Array(C);for(i=0;i<C;++i)a[i]=String.fromCharCode(m[A+4+i]);I=a.join("")}return AC(A),I},toWireType:function(A,I){I instanceof ArrayBuffer&&(I=new Uint8Array(I));var C="string"==typeof I;C||I instanceof Uint8Array||I instanceof Uint8ClampedArray||I instanceof Int8Array||zA("Cannot pass non-string to std::string");var B=(g&&C?function(){return q(I)}:function(){return I.length})(),Q=$g(4+B+1);if(v[Q>>2]=B,g&&C)u(I,Q+4,B+1);else if(C)for(var E=0;E<B;++E){var i=I.charCodeAt(E);i>255&&(AC(Q),zA("String has UTF-16 code units that do not fit in 8 bits")),m[Q+4+E]=i}else for(E=0;E<B;++E)m[Q+4+E]=I[E];return null!==A&&A.push(AC,Q),Q},argPackAdvance:8,readValueFromPointer:dA,destructorFunction:function(A){AC(A)}})}function sg(A,I,g){var C,B;g=PA(g),2===I?(C=function(){return x},B=1):4===I&&(C=function(){return v},B=2),_A(A,{name:g,fromWireType:function(A){for(var I=C(),g=v[A>>2],Q=new Array(g),E=A+4>>B,i=0;i<g;++i)Q[i]=String.fromCharCode(I[E+i]);return AC(A),Q.join("")},toWireType:function(A,g){var Q=g.length,E=$g(4+Q*I),i=C();v[E>>2]=Q;for(var o=E+4>>B,D=0;D<Q;++D)i[o+D]=g.charCodeAt(D);return null!==A&&A.push(AC,E),E},argPackAdvance:8,readValueFromPointer:dA,destructorFunction:function(A){AC(A)}})}function Fg(A,I,g,C,B,Q){LA[A]={name:PA(I),rawConstructor:WI(g,C),rawDestructor:WI(B,Q),fields:[]}}function ng(A,I,g,C,B,Q,E,i,o,D){LA[A].fields.push({fieldName:PA(I),getterReturnType:g,getter:WI(C,B),getterContext:Q,setterArgumentType:E,setter:WI(i,o),setterContext:D})}function wg(A,I){_A(A,{isVoid:!0,name:I=PA(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}var rg={};function eg(A){var I=rg[A];return void 0===I?PA(A):I}function hg(){return"object"==typeof globalThis?globalThis:Function("return this")()}function Gg(A){return 0===A?Cg(hg()):(A=eg(A),Cg(hg()[A]))}function yg(A){A>4&&(_I[A].refcount+=1)}function cg(A,I){var g=fA[A];return void 0===g&&zA(I+" has unknown type "+XI(A)),g}function Ng(A){for(var I="",g=0;g<A;++g)I+=(0!==g?", ":"")+"arg"+g;var C="return function emval_allocator_"+A+"(constructor, argTypes, args) {\\n";for(g=0;g<A;++g)C+="var argType"+g+" = requireRegisteredType(Module[\'HEAP32\'][(argTypes >> 2) + "+g+\'], "parameter \'+g+\'");\\nvar arg\'+g+" = argType"+g+".readValueFromPointer(args);\\nargs += argType"+g+"[\'argPackAdvance\'];\\n";return C+="var obj = new constructor("+I+");\\nreturn __emval_register(obj);\\n}\\n",new Function("requireRegisteredType","Module","__emval_register",C)(cg,B,Cg)}var Rg={};function Sg(A){return A||zA("Cannot use deleted val. handle = "+A),_I[A].value}function Ug(A,I,g,C){A=Sg(A);var B=Rg[I];return B||(B=Ng(I),Rg[I]=B),B(A,g,C)}function kg(A,I){return Cg((A=cg(A,"_emval_take_value")).readValueFromPointer(I))}function Jg(){GA()}function Kg(){return W.length}function Yg(){return 15728}var Mg=0;function Lg(A,I,g,C){I|=0,g|=0,C|=0;var B=0;for(Mg=Mg+1|0,V[(A|=0)>>2]=Mg;(0|B)<(0|C);){if(0==(0|V[g+(B<<3)>>2]))return V[g+(B<<3)>>2]=Mg,V[g+(4+(B<<3))>>2]=I,V[g+(8+(B<<3))>>2]=0,U(0|C),0|g;B=B+1|0}return g=0|Lg(0|A,0|I,0|(g=0|IC(0|g,8*(1+(C=2*C|0)|0)|0)),0|C),U(0|C),0|g}function lg(A,I,g){A|=0,I|=0,g|=0;for(var C=0,B=0;(0|C)<(0|g)&&0!=(0|(B=0|V[I+(C<<3)>>2]));){if((0|B)==(0|A))return 0|V[I+(4+(C<<3))>>2];C=C+1|0}return 0}function dg(A,I){throw gC(A,I||1),"longjmp"}function Hg(A,I){dg(A,I)}function fg(A,I,g){m.set(m.subarray(I,I+g),A)}function ug(A){try{return R.grow(A-Z.byteLength+65535>>16),z(R.buffer),1}catch(A){}}function qg(A){var I=Kg(),g=65536,C=2147418112;if(A>C)return!1;for(var B=Math.max(I,16777216);B<A;)B=B<=536870912?O(2*B,g):Math.min(O((3*B+2147483648)/4,g),C);return!!ug(B)}var pg={};function bg(){if(!bg.strings){var A={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:i};for(var I in pg)A[I]=pg[I];var g=[];for(var I in A)g.push(I+"="+A[I]);bg.strings=g}return bg.strings}function Zg(A,I){var g=bg(),C=0;return g.forEach((function(g,B){var Q=I+C;V[A+4*B>>2]=Q,b(g,Q),C+=g.length+1})),0}function Wg(A,I){var g=bg();V[A>>2]=g.length;var C=0;return g.forEach((function(A){C+=A.length+1})),V[I>>2]=C,0}function mg(A){yC(A)}var Xg={buffers:[null,[],[]],printChar:function(A,I){var g=Xg.buffers[A];0===I||10===I?((1===A?G:y)(d(g,0)),g.length=0):g.push(I)},varargs:0,get:function(A){return Xg.varargs+=4,V[Xg.varargs-4>>2]},getStr:function(){return H(Xg.get())},get64:function(){var A=Xg.get();return Xg.get(),A},getZero:function(){Xg.get()}};function xg(A){try{return 0}catch(A){return"undefined"!=typeof FS&&A instanceof FS.ErrnoError||GA(A),A.errno}}function Vg(A,I,g,C,B){try{return 0}catch(A){return"undefined"!=typeof FS&&A instanceof FS.ErrnoError||GA(A),A.errno}}function vg(A,I,g,C){try{for(var B=0,Q=0;Q<g;Q++){for(var E=V[I+8*Q>>2],i=V[I+(8*Q+4)>>2],o=0;o<i;o++)Xg.printChar(A,m[E+o]);B+=i}return V[C>>2]=B,0}catch(A){return"undefined"!=typeof FS&&A instanceof FS.ErrnoError||GA(A),A.errno}}function Tg(){return 0|k()}function jg(A){U(0|A)}mA=B.InternalError=WA(Error,"InternalError"),TA(),OA=B.BindingError=WA(Error,"BindingError"),wI(),pI(),lI(),mI=B.UnboundTypeError=WA(Error,"UnboundTypeError"),gg();var Pg={__cxa_allocate_exception:kA,__cxa_thread_atexit:KA,__cxa_throw:MA,_embind_finalize_value_object:VA,_embind_register_bool:$A,_embind_register_class:VI,_embind_register_class_constructor:TI,_embind_register_class_function:OI,_embind_register_emval:Bg,_embind_register_float:ig,_embind_register_integer:Dg,_embind_register_memory_view:ag,_embind_register_std_string:tg,_embind_register_std_wstring:sg,_embind_register_value_object:Fg,_embind_register_value_object_field:ng,_embind_register_void:wg,_emval_decref:$I,_emval_get_global:Gg,_emval_incref:yg,_emval_new:Ug,_emval_take_value:kg,abort:Jg,emscripten_get_sbrk_ptr:Yg,emscripten_longjmp:Hg,emscripten_memcpy_big:fg,emscripten_resize_heap:qg,environ_get:Zg,environ_sizes_get:Wg,exit:mg,fd_close:xg,fd_seek:Vg,fd_write:vg,getTempRet0:Tg,invoke_ii:nC,invoke_iii:rC,invoke_iiii:eC,invoke_vi:FC,invoke_viii:wC,memory:R,saveSetjmp:Lg,setTempRet0:jg,table:J,testSetjmp:lg},Og=UA();B.asm=Og;var zg,_g=B.___wasm_call_ctors=function(){return B.asm.__wasm_call_ctors.apply(null,arguments)},$g=B._malloc=function(){return B.asm.malloc.apply(null,arguments)},AC=B._free=function(){return B.asm.free.apply(null,arguments)},IC=B._realloc=function(){return B.asm.realloc.apply(null,arguments)},gC=B._setThrew=function(){return B.asm.setThrew.apply(null,arguments)},CC=B.__ZSt18uncaught_exceptionv=function(){return B.asm._ZSt18uncaught_exceptionv.apply(null,arguments)},BC=B.___getTypeName=function(){return B.asm.__getTypeName.apply(null,arguments)},QC=(B.___embind_register_native_and_builtin_types=function(){return B.asm.__embind_register_native_and_builtin_types.apply(null,arguments)},B.dynCall_vi=function(){return B.asm.dynCall_vi.apply(null,arguments)}),EC=B.dynCall_viii=function(){return B.asm.dynCall_viii.apply(null,arguments)},iC=B.dynCall_ii=function(){return B.asm.dynCall_ii.apply(null,arguments)},oC=B.dynCall_iii=function(){return B.asm.dynCall_iii.apply(null,arguments)},DC=B.dynCall_iiii=function(){return B.asm.dynCall_iiii.apply(null,arguments)},aC=B.stackSave=function(){return B.asm.stackSave.apply(null,arguments)},tC=B.stackAlloc=function(){return B.asm.stackAlloc.apply(null,arguments)},sC=B.stackRestore=function(){return B.asm.stackRestore.apply(null,arguments)};function FC(A,I){var g=aC();try{QC(A,I)}catch(A){if(sC(g),A!==A+0&&"longjmp"!==A)throw A;gC(1,0)}}function nC(A,I){var g=aC();try{return iC(A,I)}catch(A){if(sC(g),A!==A+0&&"longjmp"!==A)throw A;gC(1,0)}}function wC(A,I,g,C){var B=aC();try{EC(A,I,g,C)}catch(A){if(sC(B),A!==A+0&&"longjmp"!==A)throw A;gC(1,0)}}function rC(A,I,g){var C=aC();try{return oC(A,I,g)}catch(A){if(sC(C),A!==A+0&&"longjmp"!==A)throw A;gC(1,0)}}function eC(A,I,g,C){var B=aC();try{return DC(A,I,g,C)}catch(A){if(sC(B),A!==A+0&&"longjmp"!==A)throw A;gC(1,0)}}function hC(A){this.name="ExitStatus",this.message="Program terminated with exit("+A+")",this.status=A}function GC(A){function I(){zg||(zg=!0,K||(oA(),DA(),B.onRuntimeInitialized&&B.onRuntimeInitialized(),tA()))}A=A||E,nA>0||(iA(),nA>0||(B.setStatus?(B.setStatus("Running..."),setTimeout((function(){setTimeout((function(){B.setStatus("")}),1),I()}),1)):I()))}function yC(A,I){I&&N&&0===A||(N||(K=!0,aA(),B.onExit&&B.onExit(A)),o(A,new hC(A)))}if(B.__growWasmMemory=function(){return B.asm.__growWasmMemory.apply(null,arguments)},B.dynCall_i=function(){return B.asm.dynCall_i.apply(null,arguments)},B.dynCall_vii=function(){return B.asm.dynCall_vii.apply(null,arguments)},B.dynCall_iiiiii=function(){return B.asm.dynCall_iiiiii.apply(null,arguments)},B.dynCall_iiiiiii=function(){return B.asm.dynCall_iiiiiii.apply(null,arguments)},B.dynCall_iiiii=function(){return B.asm.dynCall_iiiii.apply(null,arguments)},B.dynCall_viiii=function(){return B.asm.dynCall_viiii.apply(null,arguments)},B.dynCall_viiiiiii=function(){return B.asm.dynCall_viiiiiii.apply(null,arguments)},B.dynCall_viiiii=function(){return B.asm.dynCall_viiiii.apply(null,arguments)},B.dynCall_jiji=function(){return B.asm.dynCall_jiji.apply(null,arguments)},B.dynCall_viiiiii=function(){return B.asm.dynCall_viiiiii.apply(null,arguments)},B.asm=Og,B.ccall=L,B.then=function(A){if(zg)A(B);else{var I=B.onRuntimeInitialized;B.onRuntimeInitialized=function(){I&&I(),A(B)}}return B},rA=function A(){zg||GC(),zg||(rA=A)},B.run=GC,B.preInit)for("function"==typeof B.preInit&&(B.preInit=[B.preInit]);B.preInit.length>0;)B.preInit.pop()();return N=!0,GC(),A});A.exports=B},4044:(A,I,g)=>{var C,B=(C=(C="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(A){var I,B=void 0!==(A=A||{})?A:{},Q={};for(I in B)B.hasOwnProperty(I)&&(Q[I]=B[I]);var E=[],i="./this.program",o=!1,D=!1,a=!1,t=!1;o="object"==typeof window,D="function"==typeof importScripts,a="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&!o&&!D,t=!o&&!a&&!D;var s,F,n,w,r="";function e(A){return B.locateFile?B.locateFile(A,r):r+A}a?(r="//",s=function(A,I){return n||(n=g(9652)),w||(w=g(6087)),A=w.normalize(A),n.readFileSync(A,I?null:"utf8")},F=function(A){var I=s(A,!0);return I.buffer||(I=new Uint8Array(I)),U(I.buffer),I},process.argv.length>1&&(i=process.argv[1].replace(/\\\\/g,"/")),E=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof zg))throw A})),process.on("unhandledRejection",wA),B.inspect=function(){return"[Emscripten Module object]"}):t?("undefined"!=typeof read&&(s=function(A){return read(A)}),F=function(A){var I;return"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(U("object"==typeof(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?E=scriptArgs:void 0!==arguments&&(E=arguments),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(o||D)&&(D?r=self.location.href:document.currentScript&&(r=document.currentScript.src),C&&(r=C),r=0!==r.indexOf("blob:")?r.substr(0,r.lastIndexOf("/")+1):"",s=function(A){var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText},D&&(F=function(A){var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}));var h=B.print||console.log.bind(console),G=B.printErr||console.warn.bind(console);for(I in Q)Q.hasOwnProperty(I)&&(B[I]=Q[I]);Q=null,B.arguments&&(E=B.arguments),B.thisProgram&&(i=B.thisProgram),B.quit&&B.quit;var y,c,N=function(A){};B.wasmBinary&&(y=B.wasmBinary),B.noExitRuntime&&B.noExitRuntime,"object"!=typeof WebAssembly&&G("no native wasm support detected");var R=new WebAssembly.Table({initial:176,maximum:176,element:"anyfunc"}),S=!1;function U(A,I){A||wA("Assertion failed: "+I)}function k(A){var I=B["_"+A];return U(I,"Cannot call unknown function "+A+", make sure it is exported"),I}function J(A,I,g,C,B){var Q={string:function(A){var I=0;if(null!=A&&0!==A){var g=1+(A.length<<2);l(A,I=Pg(g),g)}return I},array:function(A){var I=Pg(A.length);return H(A,I),I}},E=k(A),i=[],o=0;if(C)for(var D=0;D<C.length;D++){var a=Q[g[D]];a?(0===o&&(o=jg()),i[D]=a(C[D])):i[D]=C[D]}var t=E.apply(null,i);return t=function(A){return"string"===I?M(A):"boolean"===I?Boolean(A):A}(t),0!==o&&Og(o),t}var K="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function Y(A,I,g){for(var C=I+g,B=I;A[B]&&!(B>=C);)++B;if(B-I>16&&A.subarray&&K)return K.decode(A.subarray(I,B));for(var Q="";I<B;){var E=A[I++];if(128&E){var i=63&A[I++];if(192!=(224&E)){var o=63&A[I++];if((E=224==(240&E)?(15&E)<<12|i<<6|o:(7&E)<<18|i<<12|o<<6|63&A[I++])<65536)Q+=String.fromCharCode(E);else{var D=E-65536;Q+=String.fromCharCode(55296|D>>10,56320|1023&D)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function M(A,I){return A?Y(p,A,I):""}function L(A,I,g,C){if(!(C>0))return 0;for(var B=g,Q=g+C-1,E=0;E<A.length;++E){var i=A.charCodeAt(E);if(i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-B}function l(A,I,g){return L(A,p,I,g)}function d(A){for(var I=0,g=0;g<A.length;++g){var C=A.charCodeAt(g);C>=55296&&C<=57343&&(C=65536+((1023&C)<<10)|1023&A.charCodeAt(++g)),C<=127?++I:I+=C<=2047?2:C<=65535?3:4}return I}function H(A,I){q.set(A,I)}function f(A,I,g){for(var C=0;C<A.length;++C)q[I++>>0]=A.charCodeAt(C);g||(q[I>>0]=0)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var u,q,p,b,Z,W,m,X,x,V=16384,v=65536;function T(A,I){return A%I>0&&(A+=I-A%I),A}function j(A){u=A,B.HEAP8=q=new Int8Array(A),B.HEAP16=b=new Int16Array(A),B.HEAP32=W=new Int32Array(A),B.HEAPU8=p=new Uint8Array(A),B.HEAPU16=Z=new Uint16Array(A),B.HEAPU32=m=new Uint32Array(A),B.HEAPF32=X=new Float32Array(A),B.HEAPF64=x=new Float64Array(A)}var P=5267024,O=23984,z=B.TOTAL_MEMORY||1073741824;function _(A){for(;A.length>0;){var I=A.shift();if("function"!=typeof I){var g=I.func;"number"==typeof g?void 0===I.arg?B.dynCall_v(g):B.dynCall_vi(g,I.arg):g(void 0===I.arg?null:I.arg)}else I()}}(c=B.wasmMemory?B.wasmMemory:new WebAssembly.Memory({initial:z/v}))&&(u=c.buffer),z=u.byteLength,j(u),W[O>>2]=P;var $=[],AA=[],IA=[],gA=[],CA=[];function BA(){if(B.preRun)for("function"==typeof B.preRun&&(B.preRun=[B.preRun]);B.preRun.length;)oA(B.preRun.shift());_($)}function QA(){_(AA)}function EA(){_(IA)}function iA(){if(B.postRun)for("function"==typeof B.postRun&&(B.postRun=[B.postRun]);B.postRun.length;)DA(B.postRun.shift());_(CA)}function oA(A){$.unshift(A)}function DA(A){CA.unshift(A)}Math.abs,Math.ceil,Math.floor,Math.min;var aA=0,tA=null,sA=null;function FA(A){aA++,B.monitorRunDependencies&&B.monitorRunDependencies(aA)}function nA(A){if(aA--,B.monitorRunDependencies&&B.monitorRunDependencies(aA),0==aA&&(null!==tA&&(clearInterval(tA),tA=null),sA)){var I=sA;sA=null,I()}}function wA(A){throw B.onAbort&&B.onAbort(A),h(A+=""),G(A),S=!0,A="abort("+A+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(A)}B.preloadedImages={},B.preloadedAudios={};var rA="data:application/octet-stream;base64,";function eA(A){return String.prototype.startsWith?A.startsWith(rA):0===A.indexOf(rA)}var hA="openjpegwasm_decode.wasm";function GA(){try{if(y)return new Uint8Array(y);if(F)return F(hA);throw"both async and sync fetching of the wasm failed"}catch(A){wA(A)}}function yA(){return y||!o&&!D||"function"!=typeof fetch?new Promise((function(A,I){A(GA())})):fetch(hA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at \'"+hA+"\'";return A.arrayBuffer()})).catch((function(){return GA()}))}function cA(){var A={env:Wg,wasi_snapshot_preview1:Wg};function I(A,I){var g=A.exports;B.asm=g,nA()}function g(A){I(A.instance)}function C(I){return yA().then((function(I){return WebAssembly.instantiate(I,A)})).then(I,(function(A){G("failed to asynchronously prepare wasm: "+A),wA(A)}))}if(FA(),B.instantiateWasm)try{return B.instantiateWasm(A,I)}catch(A){return G("Module.instantiateWasm callback failed with error: "+A),!1}return function(){if(y||"function"!=typeof WebAssembly.instantiateStreaming||eA(hA)||"function"!=typeof fetch)return C(g);fetch(hA,{credentials:"same-origin"}).then((function(I){return WebAssembly.instantiateStreaming(I,A).then(g,(function(A){G("wasm streaming compile failed: "+A),G("falling back to ArrayBuffer instantiation"),C(g)}))}))}(),{}}function NA(A,I){gA.unshift({func:A,arg:I})}function RA(){return NA.apply(null,arguments)}eA(hA)||(hA=e(hA)),AA.push({func:function(){xg()}});var SA={};function UA(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function kA(A){return this.fromWireType(m[A>>2])}var JA={},KA={},YA={},MA=48,LA=57;function lA(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return I>=MA&&I<=LA?"_"+A:A}function dA(A,I){return A=lA(A),new Function("body","return function "+A+\'() {\\n    "use strict";    return body.apply(this, arguments);\\n};\\n\')(I)}function HA(A,I){var g=dA(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\\n"+g.replace(/^Error(:[^\\n]*)?\\n/,""))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var fA=void 0;function uA(A){throw new fA(A)}function qA(A,I,g){function C(I){var C=g(I);C.length!==A.length&&uA("Mismatched type converter count");for(var B=0;B<A.length;++B)VA(A[B],C[B])}A.forEach((function(A){YA[A]=I}));var B=new Array(I.length),Q=[],E=0;I.forEach((function(A,I){KA.hasOwnProperty(A)?B[I]=KA[A]:(Q.push(A),JA.hasOwnProperty(A)||(JA[A]=[]),JA[A].push((function(){B[I]=KA[A],++E===Q.length&&C(B)})))})),0===Q.length&&C(B)}function pA(A){var I=SA[A];delete SA[A];var g=I.rawConstructor,C=I.rawDestructor,B=I.fields;qA([A],B.map((function(A){return A.getterReturnType})).concat(B.map((function(A){return A.setterArgumentType}))),(function(A){var Q={};return B.forEach((function(I,g){var C=I.fieldName,E=A[g],i=I.getter,o=I.getterContext,D=A[g+B.length],a=I.setter,t=I.setterContext;Q[C]={read:function(A){return E.fromWireType(i(o,A))},write:function(A,I){var g=[];a(t,A,D.toWireType(g,I)),UA(g)}}})),[{name:I.name,fromWireType:function(A){var I={};for(var g in Q)I[g]=Q[g].read(A);return C(A),I},toWireType:function(A,I){for(var B in Q)if(!(B in I))throw new TypeError("Missing field");var E=g();for(B in Q)Q[B].write(E,I[B]);return null!==A&&A.push(C,E),E},argPackAdvance:8,readValueFromPointer:kA,destructorFunction:C}]}))}function bA(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+A)}}function ZA(){for(var A=new Array(256),I=0;I<256;++I)A[I]=String.fromCharCode(I);WA=A}var WA=void 0;function mA(A){for(var I="",g=A;p[g];)I+=WA[p[g++]];return I}var XA=void 0;function xA(A){throw new XA(A)}function VA(A,I,g){if(g=g||{},!("argPackAdvance"in I))throw new TypeError("registerType registeredInstance requires argPackAdvance");var C=I.name;if(A||xA(\'type "\'+C+\'" must have a positive integer typeid pointer\'),KA.hasOwnProperty(A)){if(g.ignoreDuplicateRegistrations)return;xA("Cannot register type \'"+C+"\' twice")}if(KA[A]=I,delete YA[A],JA.hasOwnProperty(A)){var B=JA[A];delete JA[A],B.forEach((function(A){A()}))}}function vA(A,I,g,C,B){var Q=bA(g);VA(A,{name:I=mA(I),fromWireType:function(A){return!!A},toWireType:function(A,I){return I?C:B},argPackAdvance:8,readValueFromPointer:function(A){var C;if(1===g)C=q;else if(2===g)C=b;else{if(4!==g)throw new TypeError("Unknown boolean type size: "+I);C=W}return this.fromWireType(C[A>>Q])},destructorFunction:null})}function TA(A){if(!(this instanceof DI))return!1;if(!(A instanceof DI))return!1;for(var I=this.$$.ptrType.registeredClass,g=this.$$.ptr,C=A.$$.ptrType.registeredClass,B=A.$$.ptr;I.baseClass;)g=I.upcast(g),I=I.baseClass;for(;C.baseClass;)B=C.upcast(B),C=C.baseClass;return I===C&&g===B}function jA(A){return{count:A.count,deleteScheduled:A.deleteScheduled,preservePointerOnDelete:A.preservePointerOnDelete,ptr:A.ptr,ptrType:A.ptrType,smartPtr:A.smartPtr,smartPtrType:A.smartPtrType}}function PA(A){xA(A.$$.ptrType.registeredClass.name+" instance already deleted")}var OA=!1;function zA(A){}function _A(A){A.smartPtr?A.smartPtrType.rawDestructor(A.smartPtr):A.ptrType.registeredClass.rawDestructor(A.ptr)}function $A(A){A.count.value-=1,0===A.count.value&&_A(A)}function AI(A){return"undefined"==typeof FinalizationGroup?(AI=function(A){return A},A):(OA=new FinalizationGroup((function(A){for(var I=A.next();!I.done;I=A.next()){var g=I.value;g.ptr?$A(g):console.warn("object already deleted: "+g.ptr)}})),zA=function(A){OA.unregister(A.$$)},(AI=function(A){return OA.register(A,A.$$,A.$$),A})(A))}function II(){if(this.$$.ptr||PA(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var A=AI(Object.create(Object.getPrototypeOf(this),{$$:{value:jA(this.$$)}}));return A.$$.count.value+=1,A.$$.deleteScheduled=!1,A}function gI(){this.$$.ptr||PA(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&xA("Object already scheduled for deletion"),zA(this),$A(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function CI(){return!this.$$.ptr}var BI=void 0,QI=[];function EI(){for(;QI.length;){var A=QI.pop();A.$$.deleteScheduled=!1,A.delete()}}function iI(){return this.$$.ptr||PA(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&xA("Object already scheduled for deletion"),QI.push(this),1===QI.length&&BI&&BI(EI),this.$$.deleteScheduled=!0,this}function oI(){DI.prototype.isAliasOf=TA,DI.prototype.clone=II,DI.prototype.delete=gI,DI.prototype.isDeleted=CI,DI.prototype.deleteLater=iI}function DI(){}var aI={};function tI(A,I,g){if(void 0===A[I].overloadTable){var C=A[I];A[I]=function(){return A[I].overloadTable.hasOwnProperty(arguments.length)||xA("Function \'"+g+"\' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+A[I].overloadTable+")!"),A[I].overloadTable[arguments.length].apply(this,arguments)},A[I].overloadTable=[],A[I].overloadTable[C.argCount]=C}}function sI(A,I,g){B.hasOwnProperty(A)?((void 0===g||void 0!==B[A].overloadTable&&void 0!==B[A].overloadTable[g])&&xA("Cannot register public name \'"+A+"\' twice"),tI(B,A,A),B.hasOwnProperty(g)&&xA("Cannot register multiple overloads of a function with the same number of arguments ("+g+")!"),B[A].overloadTable[g]=I):(B[A]=I,void 0!==g&&(B[A].numArguments=g))}function FI(A,I,g,C,B,Q,E,i){this.name=A,this.constructor=I,this.instancePrototype=g,this.rawDestructor=C,this.baseClass=B,this.getActualType=Q,this.upcast=E,this.downcast=i,this.pureVirtualFunctions=[]}function nI(A,I,g){for(;I!==g;)I.upcast||xA("Expected null or instance of "+g.name+", got an instance of "+I.name),A=I.upcast(A),I=I.baseClass;return A}function wI(A,I){if(null===I)return this.isReference&&xA("null is not a valid "+this.name),0;I.$$||xA(\'Cannot pass "\'+_I(I)+\'" as a \'+this.name),I.$$.ptr||xA("Cannot pass deleted object as a pointer of type "+this.name);var g=I.$$.ptrType.registeredClass;return nI(I.$$.ptr,g,this.registeredClass)}function rI(A,I){var g;if(null===I)return this.isReference&&xA("null is not a valid "+this.name),this.isSmartPointer?(g=this.rawConstructor(),null!==A&&A.push(this.rawDestructor,g),g):0;I.$$||xA(\'Cannot pass "\'+_I(I)+\'" as a \'+this.name),I.$$.ptr||xA("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&I.$$.ptrType.isConst&&xA("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);var C=I.$$.ptrType.registeredClass;if(g=nI(I.$$.ptr,C,this.registeredClass),this.isSmartPointer)switch(void 0===I.$$.smartPtr&&xA("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:I.$$.smartPtrType===this?g=I.$$.smartPtr:xA("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:g=I.$$.smartPtr;break;case 2:if(I.$$.smartPtrType===this)g=I.$$.smartPtr;else{var B=I.clone();g=this.rawShare(g,OI((function(){B.delete()}))),null!==A&&A.push(this.rawDestructor,g)}break;default:xA("Unsupporting sharing policy")}return g}function eI(A,I){if(null===I)return this.isReference&&xA("null is not a valid "+this.name),0;I.$$||xA(\'Cannot pass "\'+_I(I)+\'" as a \'+this.name),I.$$.ptr||xA("Cannot pass deleted object as a pointer of type "+this.name),I.$$.ptrType.isConst&&xA("Cannot convert argument of type "+I.$$.ptrType.name+" to parameter type "+this.name);var g=I.$$.ptrType.registeredClass;return nI(I.$$.ptr,g,this.registeredClass)}function hI(A){return this.rawGetPointee&&(A=this.rawGetPointee(A)),A}function GI(A){this.rawDestructor&&this.rawDestructor(A)}function yI(A){null!==A&&A.delete()}function cI(A,I,g){if(I===g)return A;if(void 0===g.baseClass)return null;var C=cI(A,I,g.baseClass);return null===C?null:g.downcast(C)}function NI(){return Object.keys(kI).length}function RI(){var A=[];for(var I in kI)kI.hasOwnProperty(I)&&A.push(kI[I]);return A}function SI(A){BI=A,QI.length&&BI&&BI(EI)}function UI(){B.getInheritedInstanceCount=NI,B.getLiveInheritedInstances=RI,B.flushPendingDeletes=EI,B.setDelayFunction=SI}var kI={};function JI(A,I){for(void 0===I&&xA("ptr should not be undefined");A.baseClass;)I=A.upcast(I),A=A.baseClass;return I}function KI(A,I){return I=JI(A,I),kI[I]}function YI(A,I){return I.ptrType&&I.ptr||uA("makeClassHandle requires ptr and ptrType"),!!I.smartPtrType!=!!I.smartPtr&&uA("Both smartPtrType and smartPtr must be specified"),I.count={value:1},AI(Object.create(A,{$$:{value:I}}))}function MI(A){var I=this.getPointee(A);if(!I)return this.destructor(A),null;var g=KI(this.registeredClass,I);if(void 0!==g){if(0===g.$$.count.value)return g.$$.ptr=I,g.$$.smartPtr=A,g.clone();var C=g.clone();return this.destructor(A),C}function B(){return this.isSmartPointer?YI(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:I,smartPtrType:this,smartPtr:A}):YI(this.registeredClass.instancePrototype,{ptrType:this,ptr:A})}var Q,E=this.registeredClass.getActualType(I),i=aI[E];if(!i)return B.call(this);Q=this.isConst?i.constPointerType:i.pointerType;var o=cI(I,this.registeredClass,Q.registeredClass);return null===o?B.call(this):this.isSmartPointer?YI(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:o,smartPtrType:this,smartPtr:A}):YI(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:o})}function LI(){lI.prototype.getPointee=hI,lI.prototype.destructor=GI,lI.prototype.argPackAdvance=8,lI.prototype.readValueFromPointer=kA,lI.prototype.deleteObject=yI,lI.prototype.fromWireType=MI}function lI(A,I,g,C,B,Q,E,i,o,D,a){this.name=A,this.registeredClass=I,this.isReference=g,this.isConst=C,this.isSmartPointer=B,this.pointeeType=Q,this.sharingPolicy=E,this.rawGetPointee=i,this.rawConstructor=o,this.rawShare=D,this.rawDestructor=a,B||void 0!==I.baseClass?this.toWireType=rI:C?(this.toWireType=wI,this.destructorFunction=null):(this.toWireType=eI,this.destructorFunction=null)}function dI(A,I,g){B.hasOwnProperty(A)||uA("Replacing nonexistant public symbol"),void 0!==B[A].overloadTable&&void 0!==g?B[A].overloadTable[g]=I:(B[A]=I,B[A].argCount=g)}function HI(A,I){var g;if(A=mA(A),void 0!==B["FUNCTION_TABLE_"+A])g=B["FUNCTION_TABLE_"+A][I];else if("undefined"!=typeof FUNCTION_TABLE)g=FUNCTION_TABLE[I];else{var C=B["dynCall_"+A];void 0===C&&void 0===(C=B["dynCall_"+A.replace(/f/g,"d")])&&xA("No dynCall invoker for signature: "+A),g=function(g){for(var C=[],B=1;B<A.length;++B)C.push("a"+B);var Q="return function dynCall_"+A+"_"+I+"("+C.join(", ")+") {\\n";return Q+="    return dynCall(rawFunction"+(C.length?", ":"")+C.join(", ")+");\\n",Q+="};\\n",new Function("dynCall","rawFunction",Q)(g,I)}(C)}return"function"!=typeof g&&xA("unknown function pointer with signature "+A+": "+I),g}var fI=void 0;function uI(A){var I=Tg(A),g=mA(I);return vg(I),g}function qI(A,I){var g=[],C={};throw I.forEach((function A(I){C[I]||KA[I]||(YA[I]?YA[I].forEach(A):(g.push(I),C[I]=!0))})),new fI(A+": "+g.map(uI).join([", "]))}function pI(A,I,g,C,B,Q,E,i,o,D,a,t,s){a=mA(a),Q=HI(B,Q),i&&(i=HI(E,i)),D&&(D=HI(o,D)),s=HI(t,s);var F=lA(a);sI(F,(function(){qI("Cannot construct "+a+" due to unbound types",[C])})),qA([A,I,g],C?[C]:[],(function(I){var g,B;I=I[0],B=C?(g=I.registeredClass).instancePrototype:DI.prototype;var E=dA(F,(function(){if(Object.getPrototypeOf(this)!==o)throw new XA("Use \'new\' to construct "+a);if(void 0===t.constructor_body)throw new XA(a+" has no accessible constructor");var A=t.constructor_body[arguments.length];if(void 0===A)throw new XA("Tried to invoke ctor of "+a+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(t.constructor_body).toString()+") parameters instead!");return A.apply(this,arguments)})),o=Object.create(B,{constructor:{value:E}});E.prototype=o;var t=new FI(a,E,o,s,g,Q,i,D),n=new lI(a,t,!0,!1,!1),w=new lI(a+"*",t,!1,!1,!1),r=new lI(a+" const*",t,!1,!0,!1);return aI[A]={pointerType:w,constPointerType:r},dI(F,E),[n,w,r]}))}function bI(A,I){for(var g=[],C=0;C<A;C++)g.push(W[(I>>2)+C]);return g}function ZI(A,I,g,C,B,Q){U(I>0);var E=bI(I,g);B=HI(C,B);var i=[Q],o=[];qA([],[A],(function(A){var g="constructor "+(A=A[0]).name;if(void 0===A.registeredClass.constructor_body&&(A.registeredClass.constructor_body=[]),void 0!==A.registeredClass.constructor_body[I-1])throw new XA("Cannot register multiple constructors with identical number of parameters ("+(I-1)+") for class \'"+A.name+"\'! Overload resolution is currently only performed using the parameter count, not actual type info!");return A.registeredClass.constructor_body[I-1]=function(){qI("Cannot construct "+A.name+" due to unbound types",E)},qA([],E,(function(C){return A.registeredClass.constructor_body[I-1]=function(){arguments.length!==I-1&&xA(g+" called with "+arguments.length+" arguments, expected "+(I-1)),o.length=0,i.length=I;for(var A=1;A<I;++A)i[A]=C[A].toWireType(o,arguments[A-1]);var Q=B.apply(null,i);return UA(o),C[0].fromWireType(Q)},[]})),[]}))}function WI(A,I){if(!(A instanceof Function))throw new TypeError("new_ called with constructor type "+typeof A+" which is not a function");var g=dA(A.name||"unknownFunctionName",(function(){}));g.prototype=A.prototype;var C=new g,B=A.apply(C,I);return B instanceof Object?B:C}function mI(A,I,g,C,B){var Q=I.length;Q<2&&xA("argTypes array size mismatch! Must at least get return value and \'this\' types!");for(var E=null!==I[1]&&null!==g,i=!1,o=1;o<I.length;++o)if(null!==I[o]&&void 0===I[o].destructorFunction){i=!0;break}var D="void"!==I[0].name,a="",t="";for(o=0;o<Q-2;++o)a+=(0!==o?", ":"")+"arg"+o,t+=(0!==o?", ":"")+"arg"+o+"Wired";var s="return function "+lA(A)+"("+a+") {\\nif (arguments.length !== "+(Q-2)+") {\\nthrowBindingError(\'function "+A+" called with \' + arguments.length + \' arguments, expected "+(Q-2)+" args!\');\\n}\\n";i&&(s+="var destructors = [];\\n");var F=i?"destructors":"null",n=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],w=[xA,C,B,UA,I[0],I[1]];for(E&&(s+="var thisWired = classParam.toWireType("+F+", this);\\n"),o=0;o<Q-2;++o)s+="var arg"+o+"Wired = argType"+o+".toWireType("+F+", arg"+o+"); // "+I[o+2].name+"\\n",n.push("argType"+o),w.push(I[o+2]);if(E&&(t="thisWired"+(t.length>0?", ":"")+t),s+=(D?"var rv = ":"")+"invoker(fn"+(t.length>0?", ":"")+t+");\\n",i)s+="runDestructors(destructors);\\n";else for(o=E?1:2;o<I.length;++o){var r=1===o?"thisWired":"arg"+(o-2)+"Wired";null!==I[o].destructorFunction&&(s+=r+"_dtor("+r+"); // "+I[o].name+"\\n",n.push(r+"_dtor"),w.push(I[o].destructorFunction))}return D&&(s+="var ret = retType.fromWireType(rv);\\nreturn ret;\\n"),s+="}\\n",n.push(s),WI(Function,n).apply(null,w)}function XI(A,I,g,C,B,Q,E,i){var o=bI(g,C);I=mA(I),Q=HI(B,Q),qA([],[A],(function(A){var C=(A=A[0]).name+"."+I;function B(){qI("Cannot call "+C+" due to unbound types",o)}i&&A.registeredClass.pureVirtualFunctions.push(I);var D=A.registeredClass.instancePrototype,a=D[I];return void 0===a||void 0===a.overloadTable&&a.className!==A.name&&a.argCount===g-2?(B.argCount=g-2,B.className=A.name,D[I]=B):(tI(D,I,C),D[I].overloadTable[g-2]=B),qA([],o,(function(B){var i=mI(C,B,A,Q,E);return void 0===D[I].overloadTable?(i.argCount=g-2,D[I]=i):D[I].overloadTable[g-2]=i,[]})),[]}))}var xI=[],VI=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function vI(A){A>4&&0==--VI[A].refcount&&(VI[A]=void 0,xI.push(A))}function TI(){for(var A=0,I=5;I<VI.length;++I)void 0!==VI[I]&&++A;return A}function jI(){for(var A=5;A<VI.length;++A)if(void 0!==VI[A])return VI[A];return null}function PI(){B.count_emval_handles=TI,B.get_first_emval=jI}function OI(A){switch(A){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var I=xI.length?xI.pop():VI.length;return VI[I]={refcount:1,value:A},I}}function zI(A,I){VA(A,{name:I=mA(I),fromWireType:function(A){var I=VI[A].value;return vI(A),I},toWireType:function(A,I){return OI(I)},argPackAdvance:8,readValueFromPointer:kA,destructorFunction:null})}function _I(A){if(null===A)return"null";var I=typeof A;return"object"===I||"array"===I||"function"===I?A.toString():""+A}function $I(A,I){switch(I){case 2:return function(A){return this.fromWireType(X[A>>2])};case 3:return function(A){return this.fromWireType(x[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function Ag(A,I,g){var C=bA(g);VA(A,{name:I=mA(I),fromWireType:function(A){return A},toWireType:function(A,I){if("number"!=typeof I&&"boolean"!=typeof I)throw new TypeError(\'Cannot convert "\'+_I(I)+\'" to \'+this.name);return I},argPackAdvance:8,readValueFromPointer:$I(I,C),destructorFunction:null})}function Ig(A,I,g){switch(I){case 0:return g?function(A){return q[A]}:function(A){return p[A]};case 1:return g?function(A){return b[A>>1]}:function(A){return Z[A>>1]};case 2:return g?function(A){return W[A>>2]}:function(A){return m[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}function gg(A,I,g,C,B){I=mA(I),-1===B&&(B=4294967295);var Q=bA(g),E=function(A){return A};if(0===C){var i=32-8*g;E=function(A){return A<<i>>>i}}var o=-1!=I.indexOf("unsigned");VA(A,{name:I,fromWireType:E,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError(\'Cannot convert "\'+_I(g)+\'" to \'+this.name);if(g<C||g>B)throw new TypeError(\'Passing a number "\'+_I(g)+\'" from JS side to C/C++ side to an argument of type "\'+I+\'", which is outside the valid range [\'+C+", "+B+"]!");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:Ig(I,Q,0!==C),destructorFunction:null})}function Cg(A,I,g){var C=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function B(A){var I=m,g=I[A>>=2],B=I[A+1];return new C(I.buffer,B,g)}VA(A,{name:g=mA(g),fromWireType:B,argPackAdvance:8,readValueFromPointer:B},{ignoreDuplicateRegistrations:!0})}function Bg(A,I){var g="std::string"===(I=mA(I));VA(A,{name:I,fromWireType:function(A){var I,C=m[A>>2];if(g){var B=p[A+4+C],Q=0;0!=B&&(Q=B,p[A+4+C]=0);for(var E=A+4,i=0;i<=C;++i){var o=A+4+i;if(0==p[o]){var D=M(E);void 0===I?I=D:(I+=String.fromCharCode(0),I+=D),E=o+1}}0!=Q&&(p[A+4+C]=Q)}else{var a=new Array(C);for(i=0;i<C;++i)a[i]=String.fromCharCode(p[A+4+i]);I=a.join("")}return vg(A),I},toWireType:function(A,I){I instanceof ArrayBuffer&&(I=new Uint8Array(I));var C="string"==typeof I;C||I instanceof Uint8Array||I instanceof Uint8ClampedArray||I instanceof Int8Array||xA("Cannot pass non-string to std::string");var B=(g&&C?function(){return d(I)}:function(){return I.length})(),Q=Vg(4+B+1);if(m[Q>>2]=B,g&&C)l(I,Q+4,B+1);else if(C)for(var E=0;E<B;++E){var i=I.charCodeAt(E);i>255&&(vg(Q),xA("String has UTF-16 code units that do not fit in 8 bits")),p[Q+4+E]=i}else for(E=0;E<B;++E)p[Q+4+E]=I[E];return null!==A&&A.push(vg,Q),Q},argPackAdvance:8,readValueFromPointer:kA,destructorFunction:function(A){vg(A)}})}function Qg(A,I,g){var C,B;g=mA(g),2===I?(C=function(){return Z},B=1):4===I&&(C=function(){return m},B=2),VA(A,{name:g,fromWireType:function(A){for(var I=C(),g=m[A>>2],Q=new Array(g),E=A+4>>B,i=0;i<g;++i)Q[i]=String.fromCharCode(I[E+i]);return vg(A),Q.join("")},toWireType:function(A,g){var Q=g.length,E=Vg(4+Q*I),i=C();m[E>>2]=Q;for(var o=E+4>>B,D=0;D<Q;++D)i[o+D]=g.charCodeAt(D);return null!==A&&A.push(vg,E),E},argPackAdvance:8,readValueFromPointer:kA,destructorFunction:function(A){vg(A)}})}function Eg(A,I,g,C,B,Q){SA[A]={name:mA(I),rawConstructor:HI(g,C),rawDestructor:HI(B,Q),fields:[]}}function ig(A,I,g,C,B,Q,E,i,o,D){SA[A].fields.push({fieldName:mA(I),getterReturnType:g,getter:HI(C,B),getterContext:Q,setterArgumentType:E,setter:HI(i,o),setterContext:D})}function og(A,I){VA(A,{isVoid:!0,name:I=mA(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}var Dg={};function ag(A){var I=Dg[A];return void 0===I?mA(A):I}function tg(){return"object"==typeof globalThis?globalThis:Function("return this")()}function sg(A){return 0===A?OI(tg()):(A=ag(A),OI(tg()[A]))}function Fg(A){A>4&&(VI[A].refcount+=1)}function ng(A,I){var g=KA[A];return void 0===g&&xA(I+" has unknown type "+uI(A)),g}function wg(A){for(var I="",g=0;g<A;++g)I+=(0!==g?", ":"")+"arg"+g;var C="return function emval_allocator_"+A+"(constructor, argTypes, args) {\\n";for(g=0;g<A;++g)C+="var argType"+g+" = requireRegisteredType(Module[\'HEAP32\'][(argTypes >> 2) + "+g+\'], "parameter \'+g+\'");\\nvar arg\'+g+" = argType"+g+".readValueFromPointer(args);\\nargs += argType"+g+"[\'argPackAdvance\'];\\n";return C+="var obj = new constructor("+I+");\\nreturn __emval_register(obj);\\n}\\n",new Function("requireRegisteredType","Module","__emval_register",C)(ng,B,OI)}var rg={};function eg(A){return A||xA("Cannot use deleted val. handle = "+A),VI[A].value}function hg(A,I,g,C){A=eg(A);var B=rg[I];return B||(B=wg(I),rg[I]=B),B(A,g,C)}function Gg(A,I){return OI((A=ng(A,"_emval_take_value")).readValueFromPointer(I))}function yg(){wA()}function cg(){return q.length}function Ng(){return 23984}function Rg(A,I,g){p.set(p.subarray(I,I+g),A)}function Sg(A){try{return c.grow(A-u.byteLength+65535>>16),j(c.buffer),1}catch(A){}}function Ug(A){var I=cg(),g=65536,C=2147418112;if(A>C)return!1;for(var B=Math.max(I,16777216);B<A;)B=B<=536870912?T(2*B,g):Math.min(T((3*B+2147483648)/4,g),C);return!!Sg(B)}var kg={};function Jg(){if(!Jg.strings){var A={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:i};for(var I in kg)A[I]=kg[I];var g=[];for(var I in A)g.push(I+"="+A[I]);Jg.strings=g}return Jg.strings}function Kg(A,I){var g=Jg(),C=0;return g.forEach((function(g,B){var Q=I+C;W[A+4*B>>2]=Q,f(g,Q),C+=g.length+1})),0}function Yg(A,I){var g=Jg();W[A>>2]=g.length;var C=0;return g.forEach((function(A){C+=A.length+1})),W[I>>2]=C,0}var Mg={buffers:[null,[],[]],printChar:function(A,I){var g=Mg.buffers[A];0===I||10===I?((1===A?h:G)(Y(g,0)),g.length=0):g.push(I)},varargs:0,get:function(A){return Mg.varargs+=4,W[Mg.varargs-4>>2]},getStr:function(){return M(Mg.get())},get64:function(){var A=Mg.get();return Mg.get(),A},getZero:function(){Mg.get()}};function Lg(A,I,g,C){try{for(var B=0,Q=0;Q<g;Q++){for(var E=W[I+8*Q>>2],i=W[I+(8*Q+4)>>2],o=0;o<i;o++)Mg.printChar(A,p[E+o]);B+=i}return W[C>>2]=B,0}catch(A){return"undefined"!=typeof FS&&A instanceof FS.ErrnoError||wA(A),A.errno}}function lg(A){return 0}function dg(){}function Hg(){return 0}function fg(){return 0}function ug(){return 6}function qg(){}function pg(A){N(0|A)}function bg(A){return B.___errno_location&&(W[B.___errno_location()>>2]=A),A}function Zg(A){switch(A){case 30:return V;case 85:return 2147418112/V;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return bg(28),-1}fA=B.InternalError=HA(Error,"InternalError"),ZA(),XA=B.BindingError=HA(Error,"BindingError"),oI(),LI(),UI(),fI=B.UnboundTypeError=HA(Error,"UnboundTypeError"),PI();var Wg={__cxa_thread_atexit:RA,_embind_finalize_value_object:pA,_embind_register_bool:vA,_embind_register_class:pI,_embind_register_class_constructor:ZI,_embind_register_class_function:XI,_embind_register_emval:zI,_embind_register_float:Ag,_embind_register_integer:gg,_embind_register_memory_view:Cg,_embind_register_std_string:Bg,_embind_register_std_wstring:Qg,_embind_register_value_object:Eg,_embind_register_value_object_field:ig,_embind_register_void:og,_emval_decref:vI,_emval_get_global:sg,_emval_incref:Fg,_emval_new:hg,_emval_take_value:Gg,abort:yg,emscripten_get_sbrk_ptr:Ng,emscripten_memcpy_big:Rg,emscripten_resize_heap:Ug,environ_get:Kg,environ_sizes_get:Yg,fd_write:Lg,memory:c,pthread_attr_init:lg,pthread_attr_setdetachstate:dg,pthread_cond_destroy:Hg,pthread_cond_init:fg,pthread_create:ug,pthread_join:qg,setTempRet0:pg,sysconf:Zg,table:R},mg=cA();B.asm=mg;var Xg,xg=B.___wasm_call_ctors=function(){return B.asm.__wasm_call_ctors.apply(null,arguments)},Vg=B._malloc=function(){return B.asm.malloc.apply(null,arguments)},vg=B._free=function(){return B.asm.free.apply(null,arguments)},Tg=(B._setThrew=function(){return B.asm.setThrew.apply(null,arguments)},B.__ZSt18uncaught_exceptionv=function(){return B.asm._ZSt18uncaught_exceptionv.apply(null,arguments)},B.___getTypeName=function(){return B.asm.__getTypeName.apply(null,arguments)}),jg=(B.___embind_register_native_and_builtin_types=function(){return B.asm.__embind_register_native_and_builtin_types.apply(null,arguments)},B.stackSave=function(){return B.asm.stackSave.apply(null,arguments)}),Pg=B.stackAlloc=function(){return B.asm.stackAlloc.apply(null,arguments)},Og=B.stackRestore=function(){return B.asm.stackRestore.apply(null,arguments)};function zg(A){this.name="ExitStatus",this.message="Program terminated with exit("+A+")",this.status=A}function _g(A){function I(){Xg||(Xg=!0,S||(QA(),EA(),B.onRuntimeInitialized&&B.onRuntimeInitialized(),iA()))}A=A||E,aA>0||(BA(),aA>0||(B.setStatus?(B.setStatus("Running..."),setTimeout((function(){setTimeout((function(){B.setStatus("")}),1),I()}),1)):I()))}if(B.__growWasmMemory=function(){return B.asm.__growWasmMemory.apply(null,arguments)},B.dynCall_i=function(){return B.asm.dynCall_i.apply(null,arguments)},B.dynCall_vi=function(){return B.asm.dynCall_vi.apply(null,arguments)},B.dynCall_iii=function(){return B.asm.dynCall_iii.apply(null,arguments)},B.dynCall_viii=function(){return B.asm.dynCall_viii.apply(null,arguments)},B.dynCall_ii=function(){return B.asm.dynCall_ii.apply(null,arguments)},B.dynCall_iiii=function(){return B.asm.dynCall_iiii.apply(null,arguments)},B.dynCall_vii=function(){return B.asm.dynCall_vii.apply(null,arguments)},B.dynCall_viiii=function(){return B.asm.dynCall_viiii.apply(null,arguments)},B.dynCall_iji=function(){return B.asm.dynCall_iji.apply(null,arguments)},B.dynCall_jji=function(){return B.asm.dynCall_jji.apply(null,arguments)},B.dynCall_iiji=function(){return B.asm.dynCall_iiji.apply(null,arguments)},B.dynCall_jiji=function(){return B.asm.dynCall_jiji.apply(null,arguments)},B.dynCall_iiiii=function(){return B.asm.dynCall_iiiii.apply(null,arguments)},B.dynCall_iiiiii=function(){return B.asm.dynCall_iiiiii.apply(null,arguments)},B.dynCall_iiiiiiii=function(){return B.asm.dynCall_iiiiiiii.apply(null,arguments)},B.dynCall_iiiiiii=function(){return B.asm.dynCall_iiiiiii.apply(null,arguments)},B.dynCall_iiiiiiiiiiii=function(){return B.asm.dynCall_iiiiiiiiiiii.apply(null,arguments)},B.dynCall_iidiiii=function(){return B.asm.dynCall_iidiiii.apply(null,arguments)},B.dynCall_viiiiii=function(){return B.asm.dynCall_viiiiii.apply(null,arguments)},B.dynCall_viiiii=function(){return B.asm.dynCall_viiiii.apply(null,arguments)},B.asm=mg,B.ccall=J,B.then=function(A){if(Xg)A(B);else{var I=B.onRuntimeInitialized;B.onRuntimeInitialized=function(){I&&I(),A(B)}}return B},sA=function A(){Xg||_g(),Xg||(sA=A)},B.run=_g,B.preInit)for("function"==typeof B.preInit&&(B.preInit=[B.preInit]);B.preInit.length>0;)B.preInit.pop()();return _g(),A});A.exports=B},3641:(A,I,g)=>{g(3075);var C=g(2018);A.exports=C("Array").concat},646:(A,I,g)=>{g(8345);var C=g(2018);A.exports=C("Array").filter},1001:(A,I,g)=>{g(5313);var C=g(2018);A.exports=C("Array").slice},7543:(A,I,g)=>{var C=g(3641),B=Array.prototype;A.exports=function(A){var I=A.concat;return A===B||A instanceof Array&&I===B.concat?C:I}},1065:(A,I,g)=>{var C=g(9291),B=String.prototype;A.exports=function(A){var I=A.endsWith;return"string"==typeof A||A===B||A instanceof String&&I===B.endsWith?C:I}},4388:(A,I,g)=>{var C=g(646),B=Array.prototype;A.exports=function(A){var I=A.filter;return A===B||A instanceof Array&&I===B.filter?C:I}},1285:(A,I,g)=>{var C=g(1001),B=Array.prototype;A.exports=function(A){var I=A.slice;return A===B||A instanceof Array&&I===B.slice?C:I}},6854:(A,I,g)=>{g(6764);var C=g(9081).Object,B=A.exports=function(A,I,g){return C.defineProperty(A,I,g)};C.defineProperty.sham&&(B.sham=!0)},2744:(A,I,g)=>{g(554);var C=g(9081).Object,B=A.exports=function(A,I){return C.getOwnPropertyDescriptor(A,I)};C.getOwnPropertyDescriptor.sham&&(B.sham=!0)},6018:(A,I,g)=>{g(4267);var C=g(9081);A.exports=C.Object.getOwnPropertyDescriptors},5350:(A,I,g)=>{g(8318);var C=g(9081);A.exports=C.Object.getOwnPropertySymbols},8116:(A,I,g)=>{g(8390);var C=g(9081);A.exports=C.Object.keys},7281:(A,I,g)=>{g(6454),g(2228),g(2575),g(3658),g(4465),g(8359),g(5203),g(8109);var C=g(9081);A.exports=C.Promise},9291:(A,I,g)=>{g(2329);var C=g(2018);A.exports=C("String").endsWith},5723:(A,I,g)=>{var C=g(8531);A.exports=C},5213:(A,I,g)=>{var C=g(4731);g(1152),g(8561),g(5543),g(8302),A.exports=C},9077:A=>{A.exports=function(A){if("function"!=typeof A)throw TypeError(String(A)+" is not a function");return A}},9154:(A,I,g)=>{var C=g(3359);A.exports=function(A){if(!C(A)&&null!==A)throw TypeError("Can\'t set "+String(A)+" as a prototype");return A}},7710:A=>{A.exports=function(){}},8792:A=>{A.exports=function(A,I,g){if(!(A instanceof I))throw TypeError("Incorrect "+(g?g+" ":"")+"invocation");return A}},1912:(A,I,g)=>{var C=g(3359);A.exports=function(A){if(!C(A))throw TypeError(String(A)+" is not an object");return A}},7075:(A,I,g)=>{var C=g(3861),B=g(3746),Q=g(3055),E=function(A){return function(I,g,E){var i,o=C(I),D=B(o.length),a=Q(E,D);if(A&&g!=g){for(;D>a;)if((i=o[a++])!=i)return!0}else for(;D>a;a++)if((A||a in o)&&o[a]===g)return A||a||0;return!A&&-1}};A.exports={includes:E(!0),indexOf:E(!1)}},4206:(A,I,g)=>{var C=g(7673),B=g(1251),Q=g(2058),E=g(3746),i=g(8136),o=[].push,D=function(A){var I=1==A,g=2==A,D=3==A,a=4==A,t=6==A,s=7==A,F=5==A||t;return function(n,w,r,e){for(var h,G,y=Q(n),c=B(y),N=C(w,r,3),R=E(c.length),S=0,U=e||i,k=I?U(n,R):g||s?U(n,0):void 0;R>S;S++)if((F||S in c)&&(G=N(h=c[S],S,y),A))if(I)k[S]=G;else if(G)switch(A){case 3:return!0;case 5:return h;case 6:return S;case 2:o.call(k,h)}else switch(A){case 4:return!1;case 7:o.call(k,h)}return t?-1:D||a?a:k}};A.exports={forEach:D(0),map:D(1),filter:D(2),some:D(3),every:D(4),find:D(5),findIndex:D(6),filterReject:D(7)}},2143:(A,I,g)=>{var C=g(6530),B=g(5712),Q=g(8233),E=B("species");A.exports=function(A){return Q>=51||!C((function(){var I=[];return(I.constructor={})[E]=function(){return{foo:1}},1!==I[A](Boolean).foo}))}},3400:(A,I,g)=>{var C=g(3359),B=g(1054),Q=g(5712)("species");A.exports=function(A){var I;return B(A)&&("function"!=typeof(I=A.constructor)||I!==Array&&!B(I.prototype)?C(I)&&null===(I=I[Q])&&(I=void 0):I=void 0),void 0===I?Array:I}},8136:(A,I,g)=>{var C=g(3400);A.exports=function(A,I){return new(C(A))(0===I?0:I)}},8908:(A,I,g)=>{var C=g(5712)("iterator"),B=!1;try{var Q=0,E={next:function(){return{done:!!Q++}},return:function(){B=!0}};E[C]=function(){return this},Array.from(E,(function(){throw 2}))}catch(A){}A.exports=function(A,I){if(!I&&!B)return!1;var g=!1;try{var Q={};Q[C]=function(){return{next:function(){return{done:g=!0}}}},A(Q)}catch(A){}return g}},1570:A=>{var I={}.toString;A.exports=function(A){return I.call(A).slice(8,-1)}},7499:(A,I,g)=>{var C=g(8889),B=g(1570),Q=g(5712)("toStringTag"),E="Arguments"==B(function(){return arguments}());A.exports=C?B:function(A){var I,g,C;return void 0===A?"Undefined":null===A?"Null":"string"==typeof(g=function(A,I){try{return A[I]}catch(A){}}(I=Object(A),Q))?g:E?B(I):"Object"==(C=B(I))&&"function"==typeof I.callee?"Arguments":C}},1722:(A,I,g)=>{var C=g(5712)("match");A.exports=function(A){var I=/./;try{"/./"[A](I)}catch(g){try{return I[C]=!1,"/./"[A](I)}catch(A){}}return!1}},872:(A,I,g)=>{var C=g(6530);A.exports=!C((function(){function A(){}return A.prototype.constructor=null,Object.getPrototypeOf(new A)!==A.prototype}))},8611:(A,I,g)=>{"use strict";var C=g(7300).IteratorPrototype,B=g(2491),Q=g(5595),E=g(6738),i=g(9418),o=function(){return this};A.exports=function(A,I,g){var D=I+" Iterator";return A.prototype=B(C,{next:Q(1,g)}),E(A,D,!1,!0),i[D]=o,A}},8518:(A,I,g)=>{var C=g(7001),B=g(7550),Q=g(5595);A.exports=C?function(A,I,g){return B.f(A,I,Q(1,g))}:function(A,I,g){return A[I]=g,A}},5595:A=>{A.exports=function(A,I){return{enumerable:!(1&A),configurable:!(2&A),writable:!(4&A),value:I}}},409:(A,I,g)=>{"use strict";var C=g(5623),B=g(7550),Q=g(5595);A.exports=function(A,I,g){var E=C(I);E in A?B.f(A,E,Q(0,g)):A[E]=g}},8277:(A,I,g)=>{"use strict";var C=g(390),B=g(8611),Q=g(2629),E=g(5255),i=g(6738),o=g(8518),D=g(9791),a=g(5712),t=g(8367),s=g(9418),F=g(7300),n=F.IteratorPrototype,w=F.BUGGY_SAFARI_ITERATORS,r=a("iterator"),e="keys",h="values",G="entries",y=function(){return this};A.exports=function(A,I,g,a,F,c,N){B(g,I,a);var R,S,U,k=function(A){if(A===F&&L)return L;if(!w&&A in Y)return Y[A];switch(A){case e:case h:case G:return function(){return new g(this,A)}}return function(){return new g(this)}},J=I+" Iterator",K=!1,Y=A.prototype,M=Y[r]||Y["@@iterator"]||F&&Y[F],L=!w&&M||k(F),l="Array"==I&&Y.entries||M;if(l&&(R=Q(l.call(new A)),n!==Object.prototype&&R.next&&(t||Q(R)===n||(E?E(R,n):"function"!=typeof R[r]&&o(R,r,y)),i(R,J,!0,!0),t&&(s[J]=y))),F==h&&M&&M.name!==h&&(K=!0,L=function(){return M.call(this)}),t&&!N||Y[r]===L||o(Y,r,L),s[I]=L,F)if(S={values:k(h),keys:c?L:k(e),entries:k(G)},N)for(U in S)(w||K||!(U in Y))&&D(Y,U,S[U]);else C({target:I,proto:!0,forced:w||K},S);return S}},1412:(A,I,g)=>{var C=g(9081),B=g(6690),Q=g(3379),E=g(7550).f;A.exports=function(A){var I=C.Symbol||(C.Symbol={});B(I,A)||E(I,A,{value:Q.f(A)})}},7001:(A,I,g)=>{var C=g(6530);A.exports=!C((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},231:(A,I,g)=>{var C=g(2868),B=g(3359),Q=C.document,E=B(Q)&&B(Q.createElement);A.exports=function(A){return E?Q.createElement(A):{}}},315:A=>{A.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},6610:A=>{A.exports="object"==typeof window},6405:(A,I,g)=>{var C=g(6900),B=g(2868);A.exports=/ipad|iphone|ipod/i.test(C)&&void 0!==B.Pebble},6540:(A,I,g)=>{var C=g(6900);A.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(C)},6521:(A,I,g)=>{var C=g(1570),B=g(2868);A.exports="process"==C(B.process)},4010:(A,I,g)=>{var C=g(6900);A.exports=/web0s(?!.*chrome)/i.test(C)},6900:(A,I,g)=>{var C=g(8104);A.exports=C("navigator","userAgent")||""},8233:(A,I,g)=>{var C,B,Q=g(2868),E=g(6900),i=Q.process,o=Q.Deno,D=i&&i.versions||o&&o.version,a=D&&D.v8;a?B=(C=a.split("."))[0]<4?1:C[0]+C[1]:E&&(!(C=E.match(/Edge\\/(\\d+)/))||C[1]>=74)&&(C=E.match(/Chrome\\/(\\d+)/))&&(B=C[1]),A.exports=B&&+B},2018:(A,I,g)=>{var C=g(9081);A.exports=function(A){return C[A+"Prototype"]}},2712:A=>{A.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},390:(A,I,g)=>{"use strict";var C=g(2868),B=g(5904).f,Q=g(1011),E=g(9081),i=g(7673),o=g(8518),D=g(6690),a=function(A){var I=function(I,g,C){if(this instanceof A){switch(arguments.length){case 0:return new A;case 1:return new A(I);case 2:return new A(I,g)}return new A(I,g,C)}return A.apply(this,arguments)};return I.prototype=A.prototype,I};A.exports=function(A,I){var g,t,s,F,n,w,r,e,h=A.target,G=A.global,y=A.stat,c=A.proto,N=G?C:y?C[h]:(C[h]||{}).prototype,R=G?E:E[h]||o(E,h,{})[h],S=R.prototype;for(s in I)g=!Q(G?s:h+(y?".":"#")+s,A.forced)&&N&&D(N,s),n=R[s],g&&(w=A.noTargetGet?(e=B(N,s))&&e.value:N[s]),F=g&&w?w:I[s],g&&typeof n==typeof F||(r=A.bind&&g?i(F,C):A.wrap&&g?a(F):c&&"function"==typeof F?i(Function.call,F):F,(A.sham||F&&F.sham||n&&n.sham)&&o(r,"sham",!0),o(R,s,r),c&&(D(E,t=h+"Prototype")||o(E,t,{}),o(E[t],s,F),A.real&&S&&!S[s]&&o(S,s,F)))}},6530:A=>{A.exports=function(A){try{return!!A()}catch(A){return!0}}},7673:(A,I,g)=>{var C=g(9077);A.exports=function(A,I,g){if(C(A),void 0===I)return A;switch(g){case 0:return function(){return A.call(I)};case 1:return function(g){return A.call(I,g)};case 2:return function(g,C){return A.call(I,g,C)};case 3:return function(g,C,B){return A.call(I,g,C,B)}}return function(){return A.apply(I,arguments)}}},8104:(A,I,g)=>{var C=g(9081),B=g(2868),Q=function(A){return"function"==typeof A?A:void 0};A.exports=function(A,I){return arguments.length<2?Q(C[A])||Q(B[A]):C[A]&&C[A][I]||B[A]&&B[A][I]}},5018:(A,I,g)=>{var C=g(7499),B=g(9418),Q=g(5712)("iterator");A.exports=function(A){if(null!=A)return A[Q]||A["@@iterator"]||B[C(A)]}},5945:(A,I,g)=>{var C=g(1912),B=g(5018);A.exports=function(A,I){var g=arguments.length<2?B(A):I;if("function"!=typeof g)throw TypeError(String(A)+" is not iterable");return C(g.call(A))}},2868:(A,I,g)=>{var C=function(A){return A&&A.Math==Math&&A};A.exports=C("object"==typeof globalThis&&globalThis)||C("object"==typeof window&&window)||C("object"==typeof self&&self)||C("object"==typeof g.g&&g.g)||function(){return this}()||Function("return this")()},6690:(A,I,g)=>{var C=g(2058),B={}.hasOwnProperty;A.exports=Object.hasOwn||function(A,I){return B.call(C(A),I)}},7048:A=>{A.exports={}},8471:(A,I,g)=>{var C=g(2868);A.exports=function(A,I){var g=C.console;g&&g.error&&(1===arguments.length?g.error(A):g.error(A,I))}},5644:(A,I,g)=>{var C=g(8104);A.exports=C("document","documentElement")},640:(A,I,g)=>{var C=g(7001),B=g(6530),Q=g(231);A.exports=!C&&!B((function(){return 7!=Object.defineProperty(Q("div"),"a",{get:function(){return 7}}).a}))},1251:(A,I,g)=>{var C=g(6530),B=g(1570),Q="".split;A.exports=C((function(){return!Object("z").propertyIsEnumerable(0)}))?function(A){return"String"==B(A)?Q.call(A,""):Object(A)}:Object},1494:(A,I,g)=>{var C=g(2656),B=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(A){return B.call(A)}),A.exports=C.inspectSource},5875:(A,I,g)=>{var C,B,Q,E=g(2297),i=g(2868),o=g(3359),D=g(8518),a=g(6690),t=g(2656),s=g(5039),F=g(7048),n="Object already initialized",w=i.WeakMap;if(E||t.state){var r=t.state||(t.state=new w),e=r.get,h=r.has,G=r.set;C=function(A,I){if(h.call(r,A))throw new TypeError(n);return I.facade=A,G.call(r,A,I),I},B=function(A){return e.call(r,A)||{}},Q=function(A){return h.call(r,A)}}else{var y=s("state");F[y]=!0,C=function(A,I){if(a(A,y))throw new TypeError(n);return I.facade=A,D(A,y,I),I},B=function(A){return a(A,y)?A[y]:{}},Q=function(A){return a(A,y)}}A.exports={set:C,get:B,has:Q,enforce:function(A){return Q(A)?B(A):C(A,{})},getterFor:function(A){return function(I){var g;if(!o(I)||(g=B(I)).type!==A)throw TypeError("Incompatible receiver, "+A+" required");return g}}}},6475:(A,I,g)=>{var C=g(5712),B=g(9418),Q=C("iterator"),E=Array.prototype;A.exports=function(A){return void 0!==A&&(B.Array===A||E[Q]===A)}},1054:(A,I,g)=>{var C=g(1570);A.exports=Array.isArray||function(A){return"Array"==C(A)}},1011:(A,I,g)=>{var C=g(6530),B=/#|\\.prototype\\./,Q=function(A,I){var g=i[E(A)];return g==D||g!=o&&("function"==typeof I?C(I):!!I)},E=Q.normalize=function(A){return String(A).replace(B,".").toLowerCase()},i=Q.data={},o=Q.NATIVE="N",D=Q.POLYFILL="P";A.exports=Q},3359:A=>{A.exports=function(A){return"object"==typeof A?null!==A:"function"==typeof A}},8367:A=>{A.exports=!0},6858:(A,I,g)=>{var C=g(3359),B=g(1570),Q=g(5712)("match");A.exports=function(A){var I;return C(A)&&(void 0!==(I=A[Q])?!!I:"RegExp"==B(A))}},1149:(A,I,g)=>{var C=g(8104),B=g(6046);A.exports=B?function(A){return"symbol"==typeof A}:function(A){var I=C("Symbol");return"function"==typeof I&&Object(A)instanceof I}},3906:(A,I,g)=>{var C=g(1912),B=g(6475),Q=g(3746),E=g(7673),i=g(5945),o=g(5018),D=g(309),a=function(A,I){this.stopped=A,this.result=I};A.exports=function(A,I,g){var t,s,F,n,w,r,e,h=g&&g.that,G=!(!g||!g.AS_ENTRIES),y=!(!g||!g.IS_ITERATOR),c=!(!g||!g.INTERRUPTED),N=E(I,h,1+G+c),R=function(A){return t&&D(t,"normal",A),new a(!0,A)},S=function(A){return G?(C(A),c?N(A[0],A[1],R):N(A[0],A[1])):c?N(A,R):N(A)};if(y)t=A;else{if("function"!=typeof(s=o(A)))throw TypeError("Target is not iterable");if(B(s)){for(F=0,n=Q(A.length);n>F;F++)if((w=S(A[F]))&&w instanceof a)return w;return new a(!1)}t=i(A,s)}for(r=t.next;!(e=r.call(t)).done;){try{w=S(e.value)}catch(A){D(t,"throw",A)}if("object"==typeof w&&w&&w instanceof a)return w}return new a(!1)}},309:(A,I,g)=>{var C=g(1912);A.exports=function(A,I,g){var B,Q;C(A);try{if(void 0===(B=A.return)){if("throw"===I)throw g;return g}B=B.call(A)}catch(A){Q=!0,B=A}if("throw"===I)throw g;if(Q)throw B;return C(B),g}},7300:(A,I,g)=>{"use strict";var C,B,Q,E=g(6530),i=g(2629),o=g(8518),D=g(6690),a=g(5712),t=g(8367),s=a("iterator"),F=!1;[].keys&&("next"in(Q=[].keys())?(B=i(i(Q)))!==Object.prototype&&(C=B):F=!0);var n=null==C||E((function(){var A={};return C[s].call(A)!==A}));n&&(C={}),t&&!n||D(C,s)||o(C,s,(function(){return this})),A.exports={IteratorPrototype:C,BUGGY_SAFARI_ITERATORS:F}},9418:A=>{A.exports={}},8054:(A,I,g)=>{var C,B,Q,E,i,o,D,a,t=g(2868),s=g(5904).f,F=g(6569).set,n=g(6540),w=g(6405),r=g(4010),e=g(6521),h=t.MutationObserver||t.WebKitMutationObserver,G=t.document,y=t.process,c=t.Promise,N=s(t,"queueMicrotask"),R=N&&N.value;R||(C=function(){var A,I;for(e&&(A=y.domain)&&A.exit();B;){I=B.fn,B=B.next;try{I()}catch(A){throw B?E():Q=void 0,A}}Q=void 0,A&&A.enter()},n||e||r||!h||!G?!w&&c&&c.resolve?((D=c.resolve(void 0)).constructor=c,a=D.then,E=function(){a.call(D,C)}):E=e?function(){y.nextTick(C)}:function(){F.call(t,C)}:(i=!0,o=G.createTextNode(""),new h(C).observe(o,{characterData:!0}),E=function(){o.data=i=!i})),A.exports=R||function(A){var I={fn:A,next:void 0};Q&&(Q.next=I),B||(B=I,E()),Q=I}},3104:(A,I,g)=>{var C=g(2868);A.exports=C.Promise},3216:(A,I,g)=>{var C=g(8233),B=g(6530);A.exports=!!Object.getOwnPropertySymbols&&!B((function(){var A=Symbol();return!String(A)||!(Object(A)instanceof Symbol)||!Symbol.sham&&C&&C<41}))},2297:(A,I,g)=>{var C=g(2868),B=g(1494),Q=C.WeakMap;A.exports="function"==typeof Q&&/native code/.test(B(Q))},4130:(A,I,g)=>{"use strict";var C=g(9077),B=function(A){var I,g;this.promise=new A((function(A,C){if(void 0!==I||void 0!==g)throw TypeError("Bad Promise constructor");I=A,g=C})),this.resolve=C(I),this.reject=C(g)};A.exports.f=function(A){return new B(A)}},9611:(A,I,g)=>{var C=g(6858);A.exports=function(A){if(C(A))throw TypeError("The method doesn\'t accept regular expressions");return A}},2491:(A,I,g)=>{var C,B=g(1912),Q=g(4686),E=g(2712),i=g(7048),o=g(5644),D=g(231),a=g(5039),t=a("IE_PROTO"),s=function(){},F=function(A){return"<script>"+A+"</"+"script>"},n=function(A){A.write(F("")),A.close();var I=A.parentWindow.Object;return A=null,I},w=function(){try{C=new ActiveXObject("htmlfile")}catch(A){}var A,I;w="undefined"!=typeof document?document.domain&&C?n(C):((I=D("iframe")).style.display="none",o.appendChild(I),I.src=String("javascript:"),(A=I.contentWindow.document).open(),A.write(F("document.F=Object")),A.close(),A.F):n(C);for(var g=E.length;g--;)delete w.prototype[E[g]];return w()};i[t]=!0,A.exports=Object.create||function(A,I){var g;return null!==A?(s.prototype=B(A),g=new s,s.prototype=null,g[t]=A):g=w(),void 0===I?g:Q(g,I)}},4686:(A,I,g)=>{var C=g(7001),B=g(7550),Q=g(1912),E=g(461);A.exports=C?Object.defineProperties:function(A,I){Q(A);for(var g,C=E(I),i=C.length,o=0;i>o;)B.f(A,g=C[o++],I[g]);return A}},7550:(A,I,g)=>{var C=g(7001),B=g(640),Q=g(1912),E=g(5623),i=Object.defineProperty;I.f=C?i:function(A,I,g){if(Q(A),I=E(I),Q(g),B)try{return i(A,I,g)}catch(A){}if("get"in g||"set"in g)throw TypeError("Accessors not supported");return"value"in g&&(A[I]=g.value),A}},5904:(A,I,g)=>{var C=g(7001),B=g(1156),Q=g(5595),E=g(3861),i=g(5623),o=g(6690),D=g(640),a=Object.getOwnPropertyDescriptor;I.f=C?a:function(A,I){if(A=E(A),I=i(I),D)try{return a(A,I)}catch(A){}if(o(A,I))return Q(!B.f.call(A,I),A[I])}},6159:(A,I,g)=>{var C=g(3861),B=g(9035).f,Q={}.toString,E="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];A.exports.f=function(A){return E&&"[object Window]"==Q.call(A)?function(A){try{return B(A)}catch(A){return E.slice()}}(A):B(C(A))}},9035:(A,I,g)=>{var C=g(1096),B=g(2712).concat("length","prototype");I.f=Object.getOwnPropertyNames||function(A){return C(A,B)}},3764:(A,I)=>{I.f=Object.getOwnPropertySymbols},2629:(A,I,g)=>{var C=g(6690),B=g(2058),Q=g(5039),E=g(872),i=Q("IE_PROTO"),o=Object.prototype;A.exports=E?Object.getPrototypeOf:function(A){return A=B(A),C(A,i)?A[i]:"function"==typeof A.constructor&&A instanceof A.constructor?A.constructor.prototype:A instanceof Object?o:null}},1096:(A,I,g)=>{var C=g(6690),B=g(3861),Q=g(7075).indexOf,E=g(7048);A.exports=function(A,I){var g,i=B(A),o=0,D=[];for(g in i)!C(E,g)&&C(i,g)&&D.push(g);for(;I.length>o;)C(i,g=I[o++])&&(~Q(D,g)||D.push(g));return D}},461:(A,I,g)=>{var C=g(1096),B=g(2712);A.exports=Object.keys||function(A){return C(A,B)}},1156:(A,I)=>{"use strict";var g={}.propertyIsEnumerable,C=Object.getOwnPropertyDescriptor,B=C&&!g.call({1:2},1);I.f=B?function(A){var I=C(this,A);return!!I&&I.enumerable}:g},5255:(A,I,g)=>{var C=g(1912),B=g(9154);A.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var A,I=!1,g={};try{(A=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(g,[]),I=g instanceof Array}catch(A){}return function(g,Q){return C(g),B(Q),I?A.call(g,Q):g.__proto__=Q,g}}():void 0)},2204:(A,I,g)=>{"use strict";var C=g(8889),B=g(7499);A.exports=C?{}.toString:function(){return"[object "+B(this)+"]"}},9466:(A,I,g)=>{var C=g(3359);A.exports=function(A,I){var g,B;if("string"===I&&"function"==typeof(g=A.toString)&&!C(B=g.call(A)))return B;if("function"==typeof(g=A.valueOf)&&!C(B=g.call(A)))return B;if("string"!==I&&"function"==typeof(g=A.toString)&&!C(B=g.call(A)))return B;throw TypeError("Can\'t convert object to primitive value")}},5340:(A,I,g)=>{var C=g(8104),B=g(9035),Q=g(3764),E=g(1912);A.exports=C("Reflect","ownKeys")||function(A){var I=B.f(E(A)),g=Q.f;return g?I.concat(g(A)):I}},9081:A=>{A.exports={}},4618:A=>{A.exports=function(A){try{return{error:!1,value:A()}}catch(A){return{error:!0,value:A}}}},4567:(A,I,g)=>{var C=g(1912),B=g(3359),Q=g(4130);A.exports=function(A,I){if(C(A),B(I)&&I.constructor===A)return I;var g=Q.f(A);return(0,g.resolve)(I),g.promise}},9248:(A,I,g)=>{var C=g(9791);A.exports=function(A,I,g){for(var B in I)g&&g.unsafe&&A[B]?A[B]=I[B]:C(A,B,I[B],g);return A}},9791:(A,I,g)=>{var C=g(8518);A.exports=function(A,I,g,B){B&&B.enumerable?A[I]=g:C(A,I,g)}},3604:A=>{A.exports=function(A){if(null==A)throw TypeError("Can\'t call method on "+A);return A}},2643:(A,I,g)=>{var C=g(2868);A.exports=function(A,I){try{Object.defineProperty(C,A,{value:I,configurable:!0,writable:!0})}catch(g){C[A]=I}return I}},3918:(A,I,g)=>{"use strict";var C=g(8104),B=g(7550),Q=g(5712),E=g(7001),i=Q("species");A.exports=function(A){var I=C(A),g=B.f;E&&I&&!I[i]&&g(I,i,{configurable:!0,get:function(){return this}})}},6738:(A,I,g)=>{var C=g(8889),B=g(7550).f,Q=g(8518),E=g(6690),i=g(2204),o=g(5712)("toStringTag");A.exports=function(A,I,g,D){if(A){var a=g?A:A.prototype;E(a,o)||B(a,o,{configurable:!0,value:I}),D&&!C&&Q(a,"toString",i)}}},5039:(A,I,g)=>{var C=g(6315),B=g(9),Q=C("keys");A.exports=function(A){return Q[A]||(Q[A]=B(A))}},2656:(A,I,g)=>{var C=g(2868),B=g(2643),Q="__core-js_shared__",E=C[Q]||B(Q,{});A.exports=E},6315:(A,I,g)=>{var C=g(8367),B=g(2656);(A.exports=function(A,I){return B[A]||(B[A]=void 0!==I?I:{})})("versions",[]).push({version:"3.17.2",mode:C?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},5462:(A,I,g)=>{var C=g(1912),B=g(9077),Q=g(5712)("species");A.exports=function(A,I){var g,E=C(A).constructor;return void 0===E||null==(g=C(E)[Q])?I:B(g)}},1420:(A,I,g)=>{var C=g(1470),B=g(5264),Q=g(3604),E=function(A){return function(I,g){var E,i,o=B(Q(I)),D=C(g),a=o.length;return D<0||D>=a?A?"":void 0:(E=o.charCodeAt(D))<55296||E>56319||D+1===a||(i=o.charCodeAt(D+1))<56320||i>57343?A?o.charAt(D):E:A?o.slice(D,D+2):i-56320+(E-55296<<10)+65536}};A.exports={codeAt:E(!1),charAt:E(!0)}},6569:(A,I,g)=>{var C,B,Q,E,i=g(2868),o=g(6530),D=g(7673),a=g(5644),t=g(231),s=g(6540),F=g(6521),n=i.setImmediate,w=i.clearImmediate,r=i.process,e=i.MessageChannel,h=i.Dispatch,G=0,y={},c="onreadystatechange";try{C=i.location}catch(A){}var N=function(A){if(y.hasOwnProperty(A)){var I=y[A];delete y[A],I()}},R=function(A){return function(){N(A)}},S=function(A){N(A.data)},U=function(A){i.postMessage(String(A),C.protocol+"//"+C.host)};n&&w||(n=function(A){for(var I=[],g=arguments.length,C=1;g>C;)I.push(arguments[C++]);return y[++G]=function(){("function"==typeof A?A:Function(A)).apply(void 0,I)},B(G),G},w=function(A){delete y[A]},F?B=function(A){r.nextTick(R(A))}:h&&h.now?B=function(A){h.now(R(A))}:e&&!s?(E=(Q=new e).port2,Q.port1.onmessage=S,B=D(E.postMessage,E,1)):i.addEventListener&&"function"==typeof postMessage&&!i.importScripts&&C&&"file:"!==C.protocol&&!o(U)?(B=U,i.addEventListener("message",S,!1)):B=c in t("script")?function(A){a.appendChild(t("script")).onreadystatechange=function(){a.removeChild(this),N(A)}}:function(A){setTimeout(R(A),0)}),A.exports={set:n,clear:w}},3055:(A,I,g)=>{var C=g(1470),B=Math.max,Q=Math.min;A.exports=function(A,I){var g=C(A);return g<0?B(g+I,0):Q(g,I)}},3861:(A,I,g)=>{var C=g(1251),B=g(3604);A.exports=function(A){return C(B(A))}},1470:A=>{var I=Math.ceil,g=Math.floor;A.exports=function(A){return isNaN(A=+A)?0:(A>0?g:I)(A)}},3746:(A,I,g)=>{var C=g(1470),B=Math.min;A.exports=function(A){return A>0?B(C(A),9007199254740991):0}},2058:(A,I,g)=>{var C=g(3604);A.exports=function(A){return Object(C(A))}},3957:(A,I,g)=>{var C=g(3359),B=g(1149),Q=g(9466),E=g(5712)("toPrimitive");A.exports=function(A,I){if(!C(A)||B(A))return A;var g,i=A[E];if(void 0!==i){if(void 0===I&&(I="default"),g=i.call(A,I),!C(g)||B(g))return g;throw TypeError("Can\'t convert object to primitive value")}return void 0===I&&(I="number"),Q(A,I)}},5623:(A,I,g)=>{var C=g(3957),B=g(1149);A.exports=function(A){var I=C(A,"string");return B(I)?I:String(I)}},8889:(A,I,g)=>{var C={};C[g(5712)("toStringTag")]="z",A.exports="[object z]"===String(C)},5264:(A,I,g)=>{var C=g(1149);A.exports=function(A){if(C(A))throw TypeError("Cannot convert a Symbol value to a string");return String(A)}},9:A=>{var I=0,g=Math.random();A.exports=function(A){return"Symbol("+String(void 0===A?"":A)+")_"+(++I+g).toString(36)}},6046:(A,I,g)=>{var C=g(3216);A.exports=C&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3379:(A,I,g)=>{var C=g(5712);I.f=C},5712:(A,I,g)=>{var C=g(2868),B=g(6315),Q=g(6690),E=g(9),i=g(3216),o=g(6046),D=B("wks"),a=C.Symbol,t=o?a:a&&a.withoutSetter||E;A.exports=function(A){return Q(D,A)&&(i||"string"==typeof D[A])||(i&&Q(a,A)?D[A]=a[A]:D[A]=t("Symbol."+A)),D[A]}},6454:(A,I,g)=>{"use strict";var C=g(390),B=g(2629),Q=g(5255),E=g(2491),i=g(8518),o=g(5595),D=g(3906),a=g(5264),t=function(A,I){var g=this;if(!(g instanceof t))return new t(A,I);Q&&(g=Q(new Error(void 0),B(g))),void 0!==I&&i(g,"message",a(I));var C=[];return D(A,C.push,{that:C}),i(g,"errors",C),g};t.prototype=E(Error.prototype,{constructor:o(5,t),message:o(5,""),name:o(5,"AggregateError")}),C({global:!0},{AggregateError:t})},3075:(A,I,g)=>{"use strict";var C=g(390),B=g(6530),Q=g(1054),E=g(3359),i=g(2058),o=g(3746),D=g(409),a=g(8136),t=g(2143),s=g(5712),F=g(8233),n=s("isConcatSpreadable"),w=9007199254740991,r="Maximum allowed index exceeded",e=F>=51||!B((function(){var A=[];return A[n]=!1,A.concat()[0]!==A})),h=t("concat"),G=function(A){if(!E(A))return!1;var I=A[n];return void 0!==I?!!I:Q(A)};C({target:"Array",proto:!0,forced:!e||!h},{concat:function(A){var I,g,C,B,Q,E=i(this),t=a(E,0),s=0;for(I=-1,C=arguments.length;I<C;I++)if(G(Q=-1===I?E:arguments[I])){if(s+(B=o(Q.length))>w)throw TypeError(r);for(g=0;g<B;g++,s++)g in Q&&D(t,s,Q[g])}else{if(s>=w)throw TypeError(r);D(t,s++,Q)}return t.length=s,t}})},8345:(A,I,g)=>{"use strict";var C=g(390),B=g(4206).filter;C({target:"Array",proto:!0,forced:!g(2143)("filter")},{filter:function(A){return B(this,A,arguments.length>1?arguments[1]:void 0)}})},2228:(A,I,g)=>{"use strict";var C=g(3861),B=g(7710),Q=g(9418),E=g(5875),i=g(8277),o="Array Iterator",D=E.set,a=E.getterFor(o);A.exports=i(Array,"Array",(function(A,I){D(this,{type:o,target:C(A),index:0,kind:I})}),(function(){var A=a(this),I=A.target,g=A.kind,C=A.index++;return!I||C>=I.length?(A.target=void 0,{value:void 0,done:!0}):"keys"==g?{value:C,done:!1}:"values"==g?{value:I[C],done:!1}:{value:[C,I[C]],done:!1}}),"values"),Q.Arguments=Q.Array,B("keys"),B("values"),B("entries")},5313:(A,I,g)=>{"use strict";var C=g(390),B=g(3359),Q=g(1054),E=g(3055),i=g(3746),o=g(3861),D=g(409),a=g(5712),t=g(2143)("slice"),s=a("species"),F=[].slice,n=Math.max;C({target:"Array",proto:!0,forced:!t},{slice:function(A,I){var g,C,a,t=o(this),w=i(t.length),r=E(A,w),e=E(void 0===I?w:I,w);if(Q(t)&&("function"!=typeof(g=t.constructor)||g!==Array&&!Q(g.prototype)?B(g)&&null===(g=g[s])&&(g=void 0):g=void 0,g===Array||void 0===g))return F.call(t,r,e);for(C=new(void 0===g?Array:g)(n(e-r,0)),a=0;r<e;r++,a++)r in t&&D(C,a,t[r]);return C.length=a,C}})},6764:(A,I,g)=>{var C=g(390),B=g(7001);C({target:"Object",stat:!0,forced:!B,sham:!B},{defineProperty:g(7550).f})},554:(A,I,g)=>{var C=g(390),B=g(6530),Q=g(3861),E=g(5904).f,i=g(7001),o=B((function(){E(1)}));C({target:"Object",stat:!0,forced:!i||o,sham:!i},{getOwnPropertyDescriptor:function(A,I){return E(Q(A),I)}})},4267:(A,I,g)=>{var C=g(390),B=g(7001),Q=g(5340),E=g(3861),i=g(5904),o=g(409);C({target:"Object",stat:!0,sham:!B},{getOwnPropertyDescriptors:function(A){for(var I,g,C=E(A),B=i.f,D=Q(C),a={},t=0;D.length>t;)void 0!==(g=B(C,I=D[t++]))&&o(a,I,g);return a}})},8390:(A,I,g)=>{var C=g(390),B=g(2058),Q=g(461);C({target:"Object",stat:!0,forced:g(6530)((function(){Q(1)}))},{keys:function(A){return Q(B(A))}})},2575:()=>{},4465:(A,I,g)=>{"use strict";var C=g(390),B=g(9077),Q=g(4130),E=g(4618),i=g(3906);C({target:"Promise",stat:!0},{allSettled:function(A){var I=this,g=Q.f(I),C=g.resolve,o=g.reject,D=E((function(){var g=B(I.resolve),Q=[],E=0,o=1;i(A,(function(A){var B=E++,i=!1;Q.push(void 0),o++,g.call(I,A).then((function(A){i||(i=!0,Q[B]={status:"fulfilled",value:A},--o||C(Q))}),(function(A){i||(i=!0,Q[B]={status:"rejected",reason:A},--o||C(Q))}))})),--o||C(Q)}));return D.error&&o(D.value),g.promise}})},8359:(A,I,g)=>{"use strict";var C=g(390),B=g(9077),Q=g(8104),E=g(4130),i=g(4618),o=g(3906),D="No one promise resolved";C({target:"Promise",stat:!0},{any:function(A){var I=this,g=E.f(I),C=g.resolve,a=g.reject,t=i((function(){var g=B(I.resolve),E=[],i=0,t=1,s=!1;o(A,(function(A){var B=i++,o=!1;E.push(void 0),t++,g.call(I,A).then((function(A){o||s||(s=!0,C(A))}),(function(A){o||s||(o=!0,E[B]=A,--t||a(new(Q("AggregateError"))(E,D)))}))})),--t||a(new(Q("AggregateError"))(E,D))}));return t.error&&a(t.value),g.promise}})},5203:(A,I,g)=>{"use strict";var C=g(390),B=g(8367),Q=g(3104),E=g(6530),i=g(8104),o=g(5462),D=g(4567),a=g(9791);if(C({target:"Promise",proto:!0,real:!0,forced:!!Q&&E((function(){Q.prototype.finally.call({then:function(){}},(function(){}))}))},{finally:function(A){var I=o(this,i("Promise")),g="function"==typeof A;return this.then(g?function(g){return D(I,A()).then((function(){return g}))}:A,g?function(g){return D(I,A()).then((function(){throw g}))}:A)}}),!B&&"function"==typeof Q){var t=i("Promise").prototype.finally;Q.prototype.finally!==t&&a(Q.prototype,"finally",t,{unsafe:!0})}},3658:(A,I,g)=>{"use strict";var C,B,Q,E,i=g(390),o=g(8367),D=g(2868),a=g(8104),t=g(3104),s=g(9791),F=g(9248),n=g(5255),w=g(6738),r=g(3918),e=g(3359),h=g(9077),G=g(8792),y=g(1494),c=g(3906),N=g(8908),R=g(5462),S=g(6569).set,U=g(8054),k=g(4567),J=g(8471),K=g(4130),Y=g(4618),M=g(5875),L=g(1011),l=g(5712),d=g(6610),H=g(6521),f=g(8233),u=l("species"),q="Promise",p=M.get,b=M.set,Z=M.getterFor(q),W=t&&t.prototype,m=t,X=W,x=D.TypeError,V=D.document,v=D.process,T=K.f,j=T,P=!!(V&&V.createEvent&&D.dispatchEvent),O="function"==typeof PromiseRejectionEvent,z="unhandledrejection",_=!1,$=L(q,(function(){var A=y(m),I=A!==String(m);if(!I&&66===f)return!0;if(o&&!X.finally)return!0;if(f>=51&&/native code/.test(A))return!1;var g=new m((function(A){A(1)})),C=function(A){A((function(){}),(function(){}))};return(g.constructor={})[u]=C,!(_=g.then((function(){}))instanceof C)||!I&&d&&!O})),AA=$||!N((function(A){m.all(A).catch((function(){}))})),IA=function(A){var I;return!(!e(A)||"function"!=typeof(I=A.then))&&I},gA=function(A,I){if(!A.notified){A.notified=!0;var g=A.reactions;U((function(){for(var C=A.value,B=1==A.state,Q=0;g.length>Q;){var E,i,o,D=g[Q++],a=B?D.ok:D.fail,t=D.resolve,s=D.reject,F=D.domain;try{a?(B||(2===A.rejection&&EA(A),A.rejection=1),!0===a?E=C:(F&&F.enter(),E=a(C),F&&(F.exit(),o=!0)),E===D.promise?s(x("Promise-chain cycle")):(i=IA(E))?i.call(E,t,s):t(E)):s(C)}catch(A){F&&!o&&F.exit(),s(A)}}A.reactions=[],A.notified=!1,I&&!A.rejection&&BA(A)}))}},CA=function(A,I,g){var C,B;P?((C=V.createEvent("Event")).promise=I,C.reason=g,C.initEvent(A,!1,!0),D.dispatchEvent(C)):C={promise:I,reason:g},!O&&(B=D["on"+A])?B(C):A===z&&J("Unhandled promise rejection",g)},BA=function(A){S.call(D,(function(){var I,g=A.facade,C=A.value;if(QA(A)&&(I=Y((function(){H?v.emit("unhandledRejection",C,g):CA(z,g,C)})),A.rejection=H||QA(A)?2:1,I.error))throw I.value}))},QA=function(A){return 1!==A.rejection&&!A.parent},EA=function(A){S.call(D,(function(){var I=A.facade;H?v.emit("rejectionHandled",I):CA("rejectionhandled",I,A.value)}))},iA=function(A,I,g){return function(C){A(I,C,g)}},oA=function(A,I,g){A.done||(A.done=!0,g&&(A=g),A.value=I,A.state=2,gA(A,!0))},DA=function(A,I,g){if(!A.done){A.done=!0,g&&(A=g);try{if(A.facade===I)throw x("Promise can\'t be resolved itself");var C=IA(I);C?U((function(){var g={done:!1};try{C.call(I,iA(DA,g,A),iA(oA,g,A))}catch(I){oA(g,I,A)}})):(A.value=I,A.state=1,gA(A,!1))}catch(I){oA({done:!1},I,A)}}};if($&&(X=(m=function(A){G(this,m,q),h(A),C.call(this);var I=p(this);try{A(iA(DA,I),iA(oA,I))}catch(A){oA(I,A)}}).prototype,(C=function(A){b(this,{type:q,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=F(X,{then:function(A,I){var g=Z(this),C=T(R(this,m));return C.ok="function"!=typeof A||A,C.fail="function"==typeof I&&I,C.domain=H?v.domain:void 0,g.parent=!0,g.reactions.push(C),0!=g.state&&gA(g,!1),C.promise},catch:function(A){return this.then(void 0,A)}}),B=function(){var A=new C,I=p(A);this.promise=A,this.resolve=iA(DA,I),this.reject=iA(oA,I)},K.f=T=function(A){return A===m||A===Q?new B(A):j(A)},!o&&"function"==typeof t&&W!==Object.prototype)){E=W.then,_||(s(W,"then",(function(A,I){var g=this;return new m((function(A,I){E.call(g,A,I)})).then(A,I)}),{unsafe:!0}),s(W,"catch",X.catch,{unsafe:!0}));try{delete W.constructor}catch(A){}n&&n(W,X)}i({global:!0,wrap:!0,forced:$},{Promise:m}),w(m,q,!1,!0),r(q),Q=a(q),i({target:q,stat:!0,forced:$},{reject:function(A){var I=T(this);return I.reject.call(void 0,A),I.promise}}),i({target:q,stat:!0,forced:o||$},{resolve:function(A){return k(o&&this===Q?m:this,A)}}),i({target:q,stat:!0,forced:AA},{all:function(A){var I=this,g=T(I),C=g.resolve,B=g.reject,Q=Y((function(){var g=h(I.resolve),Q=[],E=0,i=1;c(A,(function(A){var o=E++,D=!1;Q.push(void 0),i++,g.call(I,A).then((function(A){D||(D=!0,Q[o]=A,--i||C(Q))}),B)})),--i||C(Q)}));return Q.error&&B(Q.value),g.promise},race:function(A){var I=this,g=T(I),C=g.reject,B=Y((function(){var B=h(I.resolve);c(A,(function(A){B.call(I,A).then(g.resolve,C)}))}));return B.error&&C(B.value),g.promise}})},2329:(A,I,g)=>{"use strict";var C,B=g(390),Q=g(5904).f,E=g(3746),i=g(5264),o=g(9611),D=g(3604),a=g(1722),t=g(8367),s="".endsWith,F=Math.min,n=a("endsWith");B({target:"String",proto:!0,forced:!!(t||n||(C=Q(String.prototype,"endsWith"),!C||C.writable))&&!n},{endsWith:function(A){var I=i(D(this));o(A);var g=arguments.length>1?arguments[1]:void 0,C=E(I.length),B=void 0===g?C:F(E(g),C),Q=i(A);return s?s.call(I,Q,B):I.slice(B-Q.length,B)===Q}})},8109:(A,I,g)=>{"use strict";var C=g(1420).charAt,B=g(5264),Q=g(5875),E=g(8277),i="String Iterator",o=Q.set,D=Q.getterFor(i);E(String,"String",(function(A){o(this,{type:i,string:B(A),index:0})}),(function(){var A,I=D(this),g=I.string,B=I.index;return B>=g.length?{value:void 0,done:!0}:(A=C(g,B),I.index+=A.length,{value:A,done:!1})}))},8318:(A,I,g)=>{"use strict";var C=g(390),B=g(2868),Q=g(8104),E=g(8367),i=g(7001),o=g(3216),D=g(6530),a=g(6690),t=g(1054),s=g(3359),F=g(1149),n=g(1912),w=g(2058),r=g(3861),e=g(5623),h=g(5264),G=g(5595),y=g(2491),c=g(461),N=g(9035),R=g(6159),S=g(3764),U=g(5904),k=g(7550),J=g(1156),K=g(8518),Y=g(9791),M=g(6315),L=g(5039),l=g(7048),d=g(9),H=g(5712),f=g(3379),u=g(1412),q=g(6738),p=g(5875),b=g(4206).forEach,Z=L("hidden"),W="Symbol",m=H("toPrimitive"),X=p.set,x=p.getterFor(W),V=Object.prototype,v=B.Symbol,T=Q("JSON","stringify"),j=U.f,P=k.f,O=R.f,z=J.f,_=M("symbols"),$=M("op-symbols"),AA=M("string-to-symbol-registry"),IA=M("symbol-to-string-registry"),gA=M("wks"),CA=B.QObject,BA=!CA||!CA.prototype||!CA.prototype.findChild,QA=i&&D((function(){return 7!=y(P({},"a",{get:function(){return P(this,"a",{value:7}).a}})).a}))?function(A,I,g){var C=j(V,I);C&&delete V[I],P(A,I,g),C&&A!==V&&P(V,I,C)}:P,EA=function(A,I){var g=_[A]=y(v.prototype);return X(g,{type:W,tag:A,description:I}),i||(g.description=I),g},iA=function(A,I,g){A===V&&iA($,I,g),n(A);var C=e(I);return n(g),a(_,C)?(g.enumerable?(a(A,Z)&&A[Z][C]&&(A[Z][C]=!1),g=y(g,{enumerable:G(0,!1)})):(a(A,Z)||P(A,Z,G(1,{})),A[Z][C]=!0),QA(A,C,g)):P(A,C,g)},oA=function(A,I){n(A);var g=r(I),C=c(g).concat(sA(g));return b(C,(function(I){i&&!DA.call(g,I)||iA(A,I,g[I])})),A},DA=function(A){var I=e(A),g=z.call(this,I);return!(this===V&&a(_,I)&&!a($,I))&&(!(g||!a(this,I)||!a(_,I)||a(this,Z)&&this[Z][I])||g)},aA=function(A,I){var g=r(A),C=e(I);if(g!==V||!a(_,C)||a($,C)){var B=j(g,C);return!B||!a(_,C)||a(g,Z)&&g[Z][C]||(B.enumerable=!0),B}},tA=function(A){var I=O(r(A)),g=[];return b(I,(function(A){a(_,A)||a(l,A)||g.push(A)})),g},sA=function(A){var I=A===V,g=O(I?$:r(A)),C=[];return b(g,(function(A){!a(_,A)||I&&!a(V,A)||C.push(_[A])})),C};(o||(Y((v=function(){if(this instanceof v)throw TypeError("Symbol is not a constructor");var A=arguments.length&&void 0!==arguments[0]?h(arguments[0]):void 0,I=d(A),g=function(A){this===V&&g.call($,A),a(this,Z)&&a(this[Z],I)&&(this[Z][I]=!1),QA(this,I,G(1,A))};return i&&BA&&QA(V,I,{configurable:!0,set:g}),EA(I,A)}).prototype,"toString",(function(){return x(this).tag})),Y(v,"withoutSetter",(function(A){return EA(d(A),A)})),J.f=DA,k.f=iA,U.f=aA,N.f=R.f=tA,S.f=sA,f.f=function(A){return EA(H(A),A)},i&&(P(v.prototype,"description",{configurable:!0,get:function(){return x(this).description}}),E||Y(V,"propertyIsEnumerable",DA,{unsafe:!0}))),C({global:!0,wrap:!0,forced:!o,sham:!o},{Symbol:v}),b(c(gA),(function(A){u(A)})),C({target:W,stat:!0,forced:!o},{for:function(A){var I=h(A);if(a(AA,I))return AA[I];var g=v(I);return AA[I]=g,IA[g]=I,g},keyFor:function(A){if(!F(A))throw TypeError(A+" is not a symbol");if(a(IA,A))return IA[A]},useSetter:function(){BA=!0},useSimple:function(){BA=!1}}),C({target:"Object",stat:!0,forced:!o,sham:!i},{create:function(A,I){return void 0===I?y(A):oA(y(A),I)},defineProperty:iA,defineProperties:oA,getOwnPropertyDescriptor:aA}),C({target:"Object",stat:!0,forced:!o},{getOwnPropertyNames:tA,getOwnPropertySymbols:sA}),C({target:"Object",stat:!0,forced:D((function(){S.f(1)}))},{getOwnPropertySymbols:function(A){return S.f(w(A))}}),T)&&C({target:"JSON",stat:!0,forced:!o||D((function(){var A=v();return"[null]"!=T([A])||"{}"!=T({a:A})||"{}"!=T(Object(A))}))},{stringify:function(A,I,g){for(var C,B=[A],Q=1;arguments.length>Q;)B.push(arguments[Q++]);if(C=I,(s(I)||void 0!==A)&&!F(A))return t(I)||(I=function(A,I){if("function"==typeof C&&(I=C.call(this,A,I)),!F(I))return I}),B[1]=I,T.apply(null,B)}});v.prototype[m]||K(v.prototype,m,v.prototype.valueOf),q(v,W),l[Z]=!0},1152:(A,I,g)=>{g(6454)},8561:(A,I,g)=>{g(4465)},8302:(A,I,g)=>{g(8359)},5543:(A,I,g)=>{"use strict";var C=g(390),B=g(4130),Q=g(4618);C({target:"Promise",stat:!0},{try:function(A){var I=B.f(this),g=Q(A);return(g.error?I.reject:I.resolve)(g.value),I.promise}})},9702:(A,I,g)=>{g(2228);var C=g(315),B=g(2868),Q=g(7499),E=g(8518),i=g(9418),o=g(5712)("toStringTag");for(var D in C){var a=B[D],t=a&&a.prototype;t&&Q(t)!==o&&E(t,o,D),i[D]=i.Array}},9842:(A,I,g)=>{var C=g(7543);A.exports=C},5697:(A,I,g)=>{var C=g(1065);A.exports=C},3798:(A,I,g)=>{var C=g(4388);A.exports=C},671:(A,I,g)=>{var C=g(1285);A.exports=C},8531:(A,I,g)=>{var C=g(6854);A.exports=C},3751:(A,I,g)=>{var C=g(2744);A.exports=C},1380:(A,I,g)=>{var C=g(6018);A.exports=C},6601:(A,I,g)=>{var C=g(5350);A.exports=C},8783:(A,I,g)=>{var C=g(8116);A.exports=C},4731:(A,I,g)=>{var C=g(7281);g(9702),A.exports=C},3240:A=>{"use strict";A.exports="data:application/wasm;base64,AGFzbQEAAAABwAEZYAF/AGABfwF/YAR/f39/AGACf38AYAJ/fwF/YAV/f39/fwBgA39/fwBgAABgA39/fwF/YAR/f39/AX9gBn9/f39/fwBgAAF/YAV/f39/fwF/YAZ/fH9/f38Bf2AHf39/f39/fwBgBH9+fn8AYAJ+fwF/YAN/fn8BfmAIf39/f39/f38AYAp/f39/f39/f39/AGANf39/f39/f39/f39/fwBgB39/fH9/f38Bf2ADfn9/AX9gAn5+AXxgAnx/AXwChwcgA2Vudg1fZW12YWxfZGVjcmVmAAADZW52HV9lbWJpbmRfcmVnaXN0ZXJfdmFsdWVfb2JqZWN0AAoDZW52I19lbWJpbmRfcmVnaXN0ZXJfdmFsdWVfb2JqZWN0X2ZpZWxkABMDZW52HV9lbWJpbmRfZmluYWxpemVfdmFsdWVfb2JqZWN0AAADZW52Fl9lbWJpbmRfcmVnaXN0ZXJfY2xhc3MAFANlbnYiX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19jb25zdHJ1Y3RvcgAKA2Vudh9fZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2Z1bmN0aW9uABIDZW52EV9lbXZhbF90YWtlX3ZhbHVlAAQDZW52EV9lbXZhbF9nZXRfZ2xvYmFsAAEDZW52E19fY3hhX3RocmVhZF9hdGV4aXQACANlbnYKX2VtdmFsX25ldwAJA2VudhhfX2N4YV9hbGxvY2F0ZV9leGNlcHRpb24AAQNlbnYLX19jeGFfdGhyb3cABgNlbnYZX2VtYmluZF9yZWdpc3Rlcl9mdW5jdGlvbgAKA2Vudg1fZW12YWxfaW5jcmVmAAADZW52BWFib3J0AAcWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF9jbG9zZQABFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfd3JpdGUACQNlbnYVX2VtYmluZF9yZWdpc3Rlcl92b2lkAAMDZW52FV9lbWJpbmRfcmVnaXN0ZXJfYm9vbAAFA2VudhtfZW1iaW5kX3JlZ2lzdGVyX3N0ZF9zdHJpbmcAAwNlbnYcX2VtYmluZF9yZWdpc3Rlcl9zdGRfd3N0cmluZwAGA2VudhZfZW1iaW5kX3JlZ2lzdGVyX2VtdmFsAAMDZW52GF9lbWJpbmRfcmVnaXN0ZXJfaW50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A0GzI2pBADYAACADQgA3AqwjIANCADcCuCMgA0HAI2pCADcCACADQcgjakIANwIAIANB0CNqQQA2AgAgACADNgIADwsgCEEBdCIFIAZqIAVBAXJtIQNBACEFA0AgBSIEQQFqIQVBASAEdCADTA0ACyADQQFqIQdBACEDA0AgAyIFQQFqIQNBASAFdCAGSA0AC0HUIxCJAiIDIAEoAgg2AgwgAyABKQIANwIEIANBBDYCECADIAIpAgA3AhQgAyACKQIINwIcIANCADcCJCADQgA3AiwgA0IANwI0IANCADcCPCADQQA2AkQgA0HAADYCYCADIAVBCCAFQQhLGyAFakEBdDYCXCADIAU2AlggAyAENgJUIAMgBzYCUCADIAg2AkwgAyAGNgJIIANB3DQ2AgAgA0IANwJkIANCADcCbCABKAIAIQYgA0EANgKAASADQgA3AnggAyAGNgJ0IANBoCNqIQUgA0GEAWohBgNAIAZBgIAENgIIIAZCADcCACAGQQxqIgYgBUcNAAsgBUIANwIAIAVBADYAByADQbMjakEANgAAIANCADcCrCMgA0IANwK4IyADQcAjakIANwIAIANByCNqQgA3AgAgA0HQI2pBADYCACAAIAM2AgAPCyAIQQF0IgUgBmogBUEBcm0hA0EAIQUDQCAFIgRBAWohBUEBIAR0IANMDQALIANBAWohCUEAIQMDQCADIgVBAWohA0EBIAV0IAZIDQALQdQjEIkCIQMgASgCDCEKIAMgASgCCDYCDCADIAEpAgA3AgQgAyAKQQEgBxs2AhAgAyACKQIANwIUIAMgAikCCDcCHCADQgA3AiQgA0IANwIsIANCADcCNCADQgA3AjwgA0EANgJEIANBwAA2AmAgAyAFQQggBUEISxsgBWpBAXQ2AlwgAyAFNgJYIAMgBDYCVCADIAk2AlAgAyAINgJMIAMgBjYCSCADQdAkNgIAIANCADcCZCADQgA3AmwgASgCACEGIANBADYCgAEgA0IANwJ4IAMgBjYCdCADQaAjaiEFIANBhAFqIQYDQCAGQYCABDYCCCAGQgA3AgAgBkEMaiIGIAVHDQALIAVCADcCACAFQQA2AAcgA0GzI2pBADYAACADQgA3AqwjIANCADcCuCMgA0HAI2pCADcCACADQcgjakIANwIAIANB0CNqQQA2AgAgACADNgIA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BSABKAIEIAEoAgAgAS0ACSICQQF2bGoiBCACSgRAA0AgA0EBaiEDIAJBAXQiAiAESA0ACwtBACAAIANBLyAAKAKgI0ECdEGoKmooAgBrQQwQggEiBCABKAIAIgBqIgJBAXEiBiACakECbSICayACIAMEfyAFBSABLQAKQQF0IAEtAAlPCyAGRhsiAkF/TARAIAEgAS0ACkEBajoACgsgASABKAIEIAQgAGtBAWpBAXVqIgQ2AgQgAS0ACSIDIAEtAAhGBEAgASADQQF2IgM6AAkgASAEQQF1NgIEIAEgAS0ACkEBdjoACgsgASADQQFqOgAJIAILbwECfyAAQewyNgIAIABBsCNqKAIAIgEEQCAAQbQjaiABNgIAIAEQkwMLIABB4CU2AgAgACgCKCIBBEAgACABNgIsIAEQkwMLIABBJGoiAigCACEBIAJBADYCACABBEAgASABKAIAKAIEEQAACyAAC3IBAn8gAEHsMjYCACAAQbAjaigCACIBBEAgAEG0I2ogATYCACABEJMDCyAAQeAlNgIAIAAoAigiAQRAIAAgATYCLCABEJMDCyAAQSRqIgIoAgAhASACQQA2AgAgAQRAIAEgASgCACgCBBEAAAsgABCTAwvUAQEDfyABKAIQIQMgASgCBCECIAEoAgghBCAAIAEoAgwiAUGUAiABGzYCaCAAIARBwwAgBBs2AmQgACACQRIgAhs2AmAgABDUASAAQYgjaiECIABB7ABqIQEDQCABQYCABDYCCCABQoAINwIAIAFBDGoiASACRw0ACyAAQQA2AqAjIABCgICAgICAATcCiCMgAEGdI2pBATsAACAAQZwjaiADQcAAIAMbIgE6AAAgAEGUI2pCgYCAgICAATcCACAAQZEjakEBOwAAIABBkCNqIAE6AAAL3QIBBn8CQCAAKAJgQRJHDQAgACgCZEHDAEcNACAAKAJoQZQCRw0AIABB4OUCKAIAIgFB5OUCKAIAIAFrQQF2ajYCrCMPCwJAIABBtCNqIgIoAgAiASAAKAKwIyIDayIEQf//B00EQCAAQbAjakGAgAggBGsQNyACKAIAIQEgACgCsCMhAwwBCyAEQYCACEYNACAAQbQjaiADQYCACGoiATYCAAsgASADRwRAIABBtCNqIQRBACEBA0AgASADagJ/QfwBIAFBgIB8aiICQQAgACgCaCID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QazpAEKBgICAMDcCAEGk6QBCgYCAgDA3AgBBnOkAQoGAgIAwNwIAQZTpAEKBgICAMDcCAEGM6QBCgYCAgDA3AgBBhOkAQoGAgIAwNwIAQfzoAEKBgICAMDcCAEH06ABCgYCAgDA3AgBB7OgAQoGAgIAwNwIAQeToAEKBgICAMDcCAEHc6ABCgYCAgDA3AgBB1OgAQoGAgIAwNwIAQczoAEKBgICAMDcCAEHE6ABCgYCAgDA3AgBBvOgAQoGAgIAwNwIAQbToAEKBgICAMDcCAEGs6ABCgYCAgDA3AgBBpOgAQoGAgIAwNwIAQZzoAEKBgICAMDcCAEGU6ABCgYCAgDA3AgBBjOgAQoGAgIAwNwIAQYToAEKBgICAMDcCAEH85wBCgYCAgDA3AgBB9OcAQoGAgIAwNwIAQeznAEKBgICAMDcCAEHk5wBCgYCAgDA3AgBB3OcAQoGAgIAwNwIAQdTnAEKBgICAMDcCAEHM5wBCgYCAgDA3AgBBxOcAQoGAgIAwNwIAQbznAEKBgICAMDcCAEG05gBCgoCAgNAANwIAQazmAEKCgICA0AA3AgBBpOYAQoKAgIDQADcCAEGc5gBCgoCAgNAANwIAQZTmAEKCgICA0AA3AgBBjOYAQoKAgIDQADcCAEGE5gBCgoCAgNAANwIAQfzlAEKCgICA0AA3AgBB1OUAQoOAgIDwADcCAEHM5QBCg4CAgPAANwIAA0AgAEEDdEG86QBqQv////8vNwIAIABBAWoiAEHAAEcNAAtBtOcAQv7////PADcCAEGs5wBC/v///88ANwIAQaTnAEL+////zwA3AgBBnOcAQv7////PADcCAEGU5wBC/v///88ANwIAQYznAEL+////zwA3AgBBhOcAQv7////PADcCAEH85gBC/v///88ANwIAQfTmAEL+////zwA3AgBB7OYAQv7////PADcCAEHk5gBC/v///88ANwIAQdzmAEL+////zwA3AgBB1OYAQv7////PADcCAEHM5gBC/v///88ANwIAQcTmAEL+////zwA3AgBBvOYAQv7////PADcCAEH05QBC/f///+8ANwIAQezlAEL9////7wA3AgBB5OUAQv3////vADcCAEHc5QBC/f///+8ANwIAQcTlAEL8////jwE3AgBBvPUAQQBBgBAQmAMhA0ECIQUDQCACQQFxQQJy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QQZ2QT9xQYABcjoAAUEDDwsgAUGAgHxqQf//P00EQCAAIAFBP3FBgAFyOgADIAAgAUESdkHwAXI6AAAgACABQQZ2QT9xQYABcjoAAiAAIAFBDHZBP3FBgAFyOgABQQQPC0Hs5QJBGTYCAAtBfwVBAQsPCyAAIAE6AABBAQsSACAARQRAQQAPCyAAIAEQiwIL4AEBA38gAUEARyECAkACQAJAAkAgAUUNACAAQQNxRQ0AA0AgAC0AAEUNAiAAQQFqIQAgAUF/aiIBQQBHIQIgAUUNASAAQQNxDQALCyACRQ0BCyAALQAARQ0BAkAgAUEETwRAIAFBfGoiAiACQXxxIgJrIQMgACACakEEaiEEA0AgACgCACICQX9zIAJB//37d2pxQYCBgoR4cQ0CIABBBGohACABQXxqIgFBA0sNAAsgAyEBIAQhAAsgAUUNAQsDQCAALQAARQ0CIABBAWohACABQX9qIgENAAsLQQAPCyAAC38CAX8BfiAAvSIDQjSIp0H/D3EiAkH/D0cEfCACRQRAIAEgAEQAAAAAAAAAAGEEf0EABSAARAAAAAAAAPBDoiABEI4CIQAgASgCAEFAags2AgAgAA8LIAEgAkGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvwUgAAsLYAEBfgJAAn4gA0HAAHEEQCACIANBQGqtiCEBQgAhAkIADAELIANFDQEgAkHAACADa62GIAEgA60iBIiEIQEgAiAEiCECQgALIQQgASAEhCEBCyAAIAE3AwAgACACNwMIC1ABAX4CQCADQcAAcQRAIAEgA0FAaq2GIQJCACEBDAELIANFDQAgAiADrSIEhiABQcAAIANrrYiEIQIgASAEhiEBCyAAIAE3AwAgACACNwMIC9kDAgJ/An4jAEEgayICJAACQCABQv///////////wCDIgRCgICAgICAwP9DfCAEQoCAgICAgMCAvH98VARAIAFCBIYgAEI8iIQhBCAAQv//////////D4MiAEKBgICAgICAgAhaBEAgBEKBgICAgICAgMAAfCEFDAILIARCgICAgICAgIBAfSEFIABCgICAgICAgIAIhUIAUg0BIAVCAYMgBXwhBQwBCyAAUCAEQoCAgICAgMD//wBUIARCgICAgICAwP//AFEbRQRAIAFCBIYgAEI8iIRC/////////wODQoCAgICAgID8/wCEIQUMAQtCgICAgICAgPj/ACEFIARC////////v//DAFYNAEIAIQUgBEIwiKciA0GR9wBJDQAgAiAAIAFC////////P4NCgICAgICAwACEIgRBgfgAIANrEI8CIAJBEGogACAEIANB/4h/ahCQAiACKQMIQgSGIAIpAwAiBEI8iIQhBSACKQMQIAIpAxiEQgBSrSAEQv//////////D4OEIgRCgYCAgICAgIAIWgRAIAVCAXwhBQwBCyAEQoCAgICAgICACIVCAFINACAFQgGDIAV8IQULIAJBIGokACAFIAFCgICAgICAgICAf4OEvwtZAQF/IAAgAC0ASiIBQX9qIAFyOgBKIAAoAgAiAUEIcQRAIAAgAUEgcjYCAEF/DwsgAEIANwIEIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhBBAAuqAQEDfwJAIAIoAhAiAwR/IAMFIAIQkgINASACKAIQCyACKAIUIgRrIAFJBEAgAiAAIAEgAigCJBEIABoPCwJAIAIsAEtBAEgNACABIQUDQCAFIgNFDQEgACADQX9qIgVqLQAAQQpHDQALIAIgACADIAIoAiQRCAAgA0kNASABIANrIQEgACADaiEAIAIoAhQhBAsgBCAAIAEQlwMaIAIgAigCFCABajYCFAsL0AIBA38jAEHQAWsiAyQAIAMgAjYCzAFBACECIANBoAFqQQBBKBCYAxogAyADKALMATYCyAECQEEAIAEgA0HIAWogA0HQAGogA0GgAWoQlQJBAEgNACAAKAJMQQBOBEBBASECCyAAKAIAIQQgACwASkEATARAIAAgBEFfcTYCAAsgBEEgcSEEAn8gACgCMARAIAAgASADQcgBaiADQdAAaiADQaABahCVAgwBCyAAQdAANgIwIAAgA0HQAGo2AhAgACADNgIcIAAgAzYCFCAAKAIsIQUgACADNgIsIAAgASADQcgBaiADQdAAaiADQaABahCVAiAFRQ0AGiAAQQBBACAAKAIkEQgAGiAAQQA2AjAgACAFNgIsIABBADYCHCAAQQA2AhAgACgCFBogAEEANgIUQQALGiAAIAAoAgAgBHI2AgAgAkUNAAsgA0HQAWokAAvEEQIPfwF+IwBB0ABrIgUkACAFIAE2AkwgBUE3aiETIAVBOGohEEEAIQECQANAAkAg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AhQgA0EKOgAADAELIAAgAUEPakEBIAAoAiQRCABBAUcNACABLQAPGgsgAUEQaiQAC3ABA38CQAJAA0AgACACQYA9ai0AAEcEQEHXACEDIAJBAWoiAkHXAEcNAQwCCwsgAiEDIAINAEHgPSEEDAELQeA9IQIDQCACLQAAIQAgAkEBaiIEIQIgAA0AIAQhAiADQX9qIgMNAAsLIAEoAhQaIAQLCQAgACgCPBAQCxYAIABFBEBBAA8LQezlAiAANgIAQX8LtAIBBn8jAEEgayIDJAAgAyAAKAIcIgQ2AhAgACgCFCEFIAMgAjYCHCADIAE2AhggAyAFIARrIgE2AhQgASACaiEGQQIhBSADQRBqIQEDQAJAAn8gBgJ/IAAoAjwgASAFIANBDGoQERCmAgRAIANBfzYCDEF/DAELIAMoAgwLIgRGBEAgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCECACDAELIARBf0oNASAAQQA2AhwgAEIANwMQIAAgACgCAEEgcjYCAEEAIAVBAkYNABogAiABKAIEawshBCADQSBqJAAgBA8LIAFBCGogASAEIAEoAgQiB0siCBsiASAEIAdBACAIG2siByABKAIAajYCACABIAEoAgQgB2s2AgQgBiAEayEGIAUgCGshBQwAAAsAC00BAX8jAEEQayIDJAACfiAAKAI8IAGnIAFCIIinIAJB/wFxIANBCGoQHRCmAkUEQCADKQMIDAELIANCfzcDCEJ/CyEBIANBEGokACABCwYAEKoCAAsFABAPAAsKACAALAALQQBIC3gBA38jAEEQayIDJABBbyACTwRAAkAgAkEKTQRAIAAgAhCtAiAAIQQMAQsgACACEK4CQQFqIgUQugIiBBCvAiAAIAUQsAIgACACELECCyAEIAEgAhCyAiADQQA6AA8gAiAEaiADQQ9qELMCIANBEGokAA8LEKkCAAsJACAAIAE6AAsLJAAgAEELTwR/IABBEGpBcHEiACAAQX9qIgAgAEELRhsFQQoLCwkAIAAgATYCAAsQACAAIAFBgICAgHhyNgIICwkAIAAgATYCBAsRACACBEAgACABIAIQlwMaCwsMACAAIAEtAAA6AAALFQAgABCrAgRAIAAoAgQPCyAALQALCxIAIAAQqwIEQCAAKAIADwsgAAseAQF/IAAQqwIEQCAAKAIAIQEgABC3AhogARCTAwsLDgAgACgCCEH/////B3EL7wEBA38jAEEQayIHJABBbyIIIAFBf3NqIAJPBEAgABC1AiEJAn8gCEEBdkFwaiABSwRAIAcgAUEBdDYCCCAHIAEgAmo2AgwgB0EMaiAHQQhqELkCKAIAEK4CDAELIAhBf2oLQQFqIggQugIhAiAEBEAgAiAJIAQQsgILIAUEQCACIARqIAYgBRCyAgsgAyAEayIGBEAgAiAEaiAFaiAEIAlqIAYQsgILIAFBCkcEQCAJEJMDCyAAIAIQrwIgACAIELACIAAgAyAFaiIEELECIAdBADoAByACIARqIAdBB2oQswIgB0EQaiQADwsQqQIACygBAn8jAEEQayICJAAgACgCACABKAIASSEDIAJBEGokACABIAAgAxsLEwBBfyAASQRAEKoCAAsgABCJAgujAQEDfyMAQRBrIgUkAAJAIAAiAxCrAgR/IAMQtwJBf2oFQQoLIgQgABC0AiIDayACTwRAIAJFDQEgABC1AiIEIANqIAEgAhCyAiACIANqIgIhAQJAIAAQqwIEQCAAIAEQsQIMAQsgACABEK0CCyAFQQA6AA8gAiAEaiAFQQ9qELMCDAELIAAgBCACIANqIARrIAMgAyACIAEQuAILIAVBEGokAAstAQF/IAAhAUEAIQADQCAAQQNHBEAgASAAQQJ0akEANgIAIABBAWohAAwBCwsLHgAgAEIANwIAIABBADYCCCAAIAEgARCHAhCsAiAAC0QBAX8gAEHg4wAoAgAQpAIiABCHAiICQYAITwRAIAEgAEH/BxCXAxogAUEAOgD/B0HEAA8LIAEgACACQQFqEJcDGkEACwsAIABBuNAANgIACzoBAn8gARCHAiICQQ1qEIkCIgNBADYCCCADIAI2AgQgAyACNgIAIAAgA0EMaiABIAJBAWoQlwM2AgALCwAgACACIAEQwgILEAAgACACNgIEIAAgATYCAAtPAQF/IwBBEGsiAyQAIANBCGogACABIAAoAgAoAgwRBgAgA0EIaiIAKAIEIAIoAgQQxAIEfyAAKAIAIAIoAgBGBUEACyEAIANBEGokACAACwcAIAAgAUYLGgAgACABKAIEEMQCBH8gAiABKAIARgVBAAsLCQAgACABEMcCC2MBA38jAEGQCGsiAiQAQezlAigCACEEIAEgAkEQahC+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IAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAAC/MCAgJ/AX4CQCACRQ0AIAAgAmoiA0F/aiABOgAAIAAgAToAACACQQNJDQAgA0F+aiABOgAAIAAgAToAASADQX1qIAE6AAAgACABOgACIAJBB0kNACADQXxqIAE6AAAgACABOgADIAJBCUkNACAAQQAgAGtBA3EiBGoiAyABQf8BcUGBgoQIbCIBNgIAIAMgAiAEa0F8cSIEaiICQXxqIAE2AgAgBEEJSQ0AIAMgATYCCCADIAE2AgQgAkF4aiABNgIAIAJBdGogATYCACAEQRlJDQAgAyABNgIYIAMgATYCFCADIAE2AhAgAyABNgIMIAJBcGogATYCACACQWxqIAE2AgAgAkFoaiABNgIAIAJBZGogATYCACAEIANBBHFBGHIiBGsiAkEgSQ0AIAGtIgVCIIYgBYQhBSADIARqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAsfAEHY5wIoAgBFBEBB3OcCIAE2AgBB2OcCIAA2AgALCwQAQQALBAAjAAsQACMAIABrQXBxIgAkACAACwYAIAAkAAsGACAAQAALCQAgASAAEQAACwsAIAEgAiAAEQQACw0AIAEgAiADIAARBgALCQAgASAAEQEACw0AIAEgAiADIAARCAALCwAgASACIAARAwALDwAgASACIAMgBCAAEQIACwcAIAARBwALEwAgASACIAMgBCAFIAYgABENAAsTACABIAIgAyAEIAUgBiAAEQoACxEAIAEgAiADIAQgBSAAEQUACyIBAX4gASACrSADrUIghoQgBCAAEREAIgVCIIinEBwgBacLC8NYHwBBgAgLmgVVaW50OENsYW1wZWRBcnJheQBGcmFtZUluZm8Ad2lkdGgAaGVpZ2h0AGJpdHNQZXJTYW1wbGUAY29tcG9uZW50Q291bnQASnBlZ0xTRGVjb2RlcgBnZXRFbmNvZGVkQnVmZmVyAGdldERlY29kZWRCdWZmZXIAZGVjb2RlAGdldEZyYW1lSW5mbwBnZXRJbnRlcmxlYXZlTW9kZQBnZXROZWFyTG9zc2xlc3MAZ2V0RXhjZXB0aW9uTWVzc2FnZQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUAAPQqAADABAAA4AQAAE42Y2hhcmxzMTJqcGVnbHNfZXJyb3JFABwrAADsBAAAuCcAAAAAAAAEBQAAGgAAAB0AAAAeAAAAOUZyYW1lSW5mbwAA9CoAACQFAABpAHZpAGlpaQB2aWlpADEzSnBlZ0xTRGVjb2RlcgAAAPQqAABGBQAAUDEzSnBlZ0xTRGVjb2RlcgAAAADUKwAAYAUAAAAAAABYBQAAUEsxM0pwZWdMU0RlY29kZXIAAADUKwAAhAUAAAEAAABYBQAAaWkAdgAAAAB0BQAA1AUAAHQFAADMKgAATjEwZW1zY3JpcHRlbjN2YWxFAAD0KgAAwAUAAGlpaWkAAAAA1AUAAHQFAABIKgAAdAUAAHZpaQAwBQAAmAUAAHgqAACYBQAAqCoAAJgFAACIBgAAwCoAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAAAAA9CoAAFcGAAB4KwAAGAYAAAAAAAABAAAAgAYAQaQNC4IdLBIAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAABTdWNjZXNzAEludmFsaWQgYXJndW1lbnQAVGhlIHdpZHRoIGFyZ3VtZW50IGlzIG91dHNpZGUgdGhlIHN1cHBvcnRlZCByYW5nZSBbMSwgNjU1MzVdAFRoZSBoZWlnaHQgYXJndW1lbnQgaXMgb3V0c2lkZSB0aGUgc3VwcG9ydGVkIHJhbmdlIFsxLCA2NTUzNV0AVGhlIGNvbXBvbmVudCBjb3VudCBhcmd1bWVudCBpcyBvdXRzaWRlIHRoZSByYW5nZSBbMSwgMjU1XQBUaGUgYml0IHBlciBzYW1wbGUgYXJndW1lbnQgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWzIsIDE2XQBUaGUgaW50ZXJsZWF2ZSBtb2RlIGlzIG5vdCBOb25lLCBTYW1wbGUsIExpbmUpIG9yIGludmFsaWQgaW4gY29tYmluYXRpb24gd2l0aCBjb21wb25lbnQgY291bnQAVGhlIG5lYXIgbG9zc2xlc3MgYXJndW1lbnQgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWzAsIDI1NV0AVGhlIGFyZ3VtZW50IGZvciB0aGUgZW50cnkgc2l6ZSBwYXJhbWV0ZXIgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWzAsIDY1NTI4XQBUaGUgYXJndW1lbnQgZm9yIHRoZSBjb2xvciBjb21wb25lbnQgaXMgbm90IChOb25lLCBIcDEsIEhwMiwgSHAzKSBvciBpbnZhbGlkIGluIGNvbWJpbmF0aW9uIHdpdGggY29tcG9uZW50IGNvdW50AFRoZSBhcmd1bWVudCBmb3IgdGhlIEpQRUctTFMgcHJlc2V0IGNvZGluZyBwYXJhbWV0ZXJzIGlzIG5vdCB2YWxpZABJbnZhbGlkIEpQRUctTFMgc3RyZWFtLCBmaXJzdCBKUEVHIG1hcmtlciBpcyBub3QgYSBTdGFydCBPZiBJbWFnZSAoU09JKSBtYXJrZXIASW52YWxpZCBKUEVHLUxTIHN0cmVhbSwgdW5leHBlY3RlZCBtYXJrZXIgZm91bmQASW52YWxpZCBKUEVHLUxTIHN0cmVhbSwgc2VnbWVudCBzaXplIG9mIGEgbWFya2VyIHNlZ21lbnQgaXMgaW52YWxpZABJbnZhbGlkIEpQRUctTFMgc3RyZWFtLCBtb3JlIHRoZW4gb25lIFN0YXJ0IE9mIEltYWdlIChTT0kpIG1hcmtlcgBJbnZhbGlkIEpQRUctTFMgc3RyZWFtLCBtb3JlIHRoZW4gb25lIFN0YXJ0IE9mIEZyYW1lIChTT0YpIG1hcmtlcgBJbnZhbGlkIEpQRUctTFMgc3RyZWFtLCBkdXBsaWNhdGUgY29tcG9uZW50IGlkZW50aWZpZXIgaW4gdGhlIChTT0YpIHNlZ21lbnQASW52YWxpZCBKUEVHLUxTIHN0cmVhbSwgdW5leHBlY3RlZCBFbmQgT2YgSW1hZ2UgKEVPSSkgbWFya2VyAEludmFsaWQgSlBFRy1MUyBzdHJlYW0sIEpQRUctTFMgcHJlc2V0IHBhcmFtZXRlcnMgc2VnbWVudCBjb250YWlucyBhbiBpbnZhbGlkIHR5cGUAVW5zdXBwb3J0ZWQgSlBFRy1MUyBzdHJlYW0sIEpQRUctTFMgcHJlc2V0IHBhcmFtZXRlcnMgc2VnbWVudCBjb250YWlucyBhbiBKUEVHLUxTIEV4dGVuZGVkIChJU08vSUVDIDE0NDk1LTIpIHR5cGUASW52YWxpZCBKUEVHLUxTIHN0cmVhbSwgU1BJRkYgaGVhZGVyIHdpdGhvdXQgRW5kIE9mIERpcmVjdG9yeSAoRU9EKSBlbnRyeQBJbnZhbGlkIEpQRUctTFMgc3RyZWFtLCBUaGUgYml0IHBlciBzYW1wbGUgKHNhbXBsZSBwcmVjaXNpb24pIHBhcmFtZXRlciBpcyBub3QgaW4gdGhlIHJhbmdlIFsyLCAxNl0AVGhlIEpQRUctTFMgc3RyZWFtIGlzIGVuY29kZWQgd2l0aCBhIHBhcmFtZXRlciB2YWx1ZSB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIENoYXJMUyBkZWNvZGVyAFRoZSBkZXN0aW5hdGlvbiBidWZmZXIgaXMgdG9vIHNtYWxsIHRvIGhvbGQgYWxsIHRoZSBvdXRwdXQAVGhlIHNvdXJjZSBidWZmZXIgaXMgdG9vIHNtYWxsLCBtb3JlIGlucHV0IGRhdGEgd2FzIGV4cGVjdGVkAEludmFsaWQgSlBFRy1MUyBzdHJlYW0sIHRoZSBlbmNvZGVkIGJpdCBzdHJlYW0gY29udGFpbnMgYSBnZW5lcmFsIHN0cnVjdHVyYWwgcHJvYmxlbQBJbnZhbGlkIEpQRUctTFMgc3RyZWFtLCB0aGUgZGVjb2RpbmcgcHJvY2VzcyBpcyByZWFkeSBidXQgdGhlIHNvdXJjZSBidWZmZXIgc3RpbGwgY29udGFpbnMgZW5jb2RlZCBkYXRhAE1ldGhvZCBjYWxsIGlzIGludmFsaWQgZm9yIHRoZSBjdXJyZW50IHN0YXRlAFRoZSBiaXQgZGVwdGggZm9yIHRoZSB0cmFuc2Zvcm1hdGlvbiBpcyBub3Qgc3VwcG9ydGVkAFRoZSBjb2xvciB0cmFuc2Zvcm0gaXMgbm90IHN1cHBvcnRlZABJbnZhbGlkIEpQRUctTFMgc3RyZWFtLCB0aGUgSlBFRyBzdHJlYW0gaXMgbm90IGVuY29kZWQgd2l0aCB0aGUgSlBFRy1MUyBhbGdvcml0aG0ASW52YWxpZCBKUEVHLUxTIHN0cmVhbSwgYW4gdW5rbm93biBKUEVHIG1hcmtlciBjb2RlIHdhcyBmb3VuZABJbnZhbGlkIEpQRUctTFMgc3RyZWFtLCB0aGUgbGVhZGluZyBzdGFydCBieXRlICgweEZGKSBmb3IgYSBKUEVHIG1hcmtlciB3YXMgbm90IGZvdW5kAE5vIG1lbW9yeSBjb3VsZCBiZSBhbGxvY2F0ZWQgZm9yIGFuIGludGVybmFsIGJ1ZmZlcgBBbiB1bmV4cGVjdGVkIGludGVybmFsIGZhaWx1cmUgb2NjdXJyZWQASW52YWxpZCBKUEVHLUxTIHN0cmVhbSwgdGhlIHdpZHRoIChOdW1iZXIgb2Ygc2FtcGxlcyBwZXIgbGluZSkgaXMgYWxyZWFkeSBkZWZpbmVkAEludmFsaWQgSlBFRy1MUyBzdHJlYW0sIHRoZSBoZWlnaHQgKE51bWJlciBvZiBsaW5lcykgaXMgYWxyZWFkeSBkZWZpbmVkAEludmFsaWQgSlBFRy1MUyBzdHJlYW0sIGNvbXBvbmVudCBjb3VudCBpbiB0aGUgU09GIHNlZ21lbnQgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWzEsIDI1NV0ASW52YWxpZCBKUEVHLUxTIHN0cmVhbSwgaW50ZXJsZWF2ZSBtb2RlIGlzIG91dHNpZGUgdGhlIHJhbmdlIFswLCAyXSBvciBjb25mbGljdHMgd2l0aCBjb21wb25lbnQgY291bnQASW52YWxpZCBKUEVHLUxTIHN0cmVhbSwgbmVhci1sb3NzbGVzcyBpcyBvdXRzaWRlIHRoZSByYW5nZSBbMCwgbWluKDI1NSwgTUFYVkFMLzIpXQBJbnZhbGlkIEpQRUctTFMgc3RyZWFtLCBKUEVHLUxTIHByZXNldCBjb2RpbmcgcGFyYW1ldGVycyBzZWdtZW50IGNvbnRhaW5zIGludmFsaWQgdmFsdWVzAFVua25vd24ATjZjaGFybHMxNWpwZWdsc19jYXRlZ29yeUUAHCsAABESAAAUJwAAY2hhcmxzOjpqcGVnbHMAAAAAAADMEgAAKwAAACwAAAAtAAAALgAAAC8AAABONmNoYXJsczlqbHNfY29kZWNJTlNfMTRkZWZhdWx0X3RyYWl0c0loaEVFTlNfMTZkZWNvZGVyX3N0cmF0ZWd5RUVFAE42Y2hhcmxzMTZkZWNvZGVyX3N0cmF0ZWd5RQD0KgAAqBIAABwrAABkEgAAxBIAAAAAAADEEgAAMAAAADEAAAAyAAAAMgAAADIAAAAAAAAAWBMAADMAAAA0AAAANQAAADYAAABONmNoYXJsczI5cG9zdF9wcm9jZXNzX3NpbmdsZV9jb21wb25lbnRFAE42Y2hhcmxzMTJwcm9jZXNzX2xpbmVFAAAAAPQqAAA1EwAAHCsAAAwTAABQEwAAAAAAAKwTAAAzAAAANwAAADgAAAA5AAAATjZjaGFybHMzNnBvc3RfcHJvY2Vzc19zaW5nbGVfY29tcG9uZW50X21hc2tlZEUAHCsAAHwTAABQEwAAAAAAAAgUAAA6AAAAOwAAADwAAAA9AAAATjZjaGFybHMxOXByb2Nlc3NfdHJhbnNmb3JtZWRJTlNfMTR0cmFuc2Zvcm1fbm9uZUloRUVFRQAcKwAA0BMAAFATAAAAAAAAZBQAAD4AAAA/AAAAQAAAAEEAAABONmNoYXJsczE5cHJvY2Vzc190cmFuc2Zvcm1lZElOU18xM3RyYW5zZm9ybV9ocDFJaEVFRUUAABwrAAAsFAAAUBMAAAAAAADAFAAAQgAAAEMAAABEAAAARQAAAE42Y2hhcmxzMTlwcm9jZXNzX3RyYW5zZm9ybWVkSU5TXzEzdHJhbnNmb3JtX2hwMkloRUVFRQAAHCsAAIgUAABQEwAAAAAAABwVAABGAAAARwAAAEgAAABJAAAATjZjaGFybHMxOXByb2Nlc3NfdHJhbnNmb3JtZWRJTlNfMTN0cmFuc2Zvcm1faHAzSWhFRUVFAAAcKwAA5BQAAFATAEG4KgvADQEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAAAAAACBYAAEoAAABLAAAATAAAAE0AAABOAAAATjZjaGFybHM5amxzX2NvZGVjSU5TXzE0ZGVmYXVsdF90cmFpdHNJdHRFRU5TXzE2ZGVjb2Rlcl9zdHJhdGVneUVFRQAcKwAAxBUAAMQSAAAAAAAAZBYAAE8AAABQAAAAUQAAAFIAAABONmNoYXJsczE5cHJvY2Vzc190cmFuc2Zvcm1lZElOU18xNHRyYW5zZm9ybV9ub25lSXRFRUVFABwrAAAsFgAAUBMAAAAAAADAFgAAUwAAAFQAAABVAAAAVgAAAE42Y2hhcmxzMTlwcm9jZXNzX3RyYW5zZm9ybWVkSU5TXzEzdHJhbnNmb3JtX2hwMUl0RUVFRQAAHCsAAIgWAABQEwAAAAAAABwXAABXAAAAWAAAAFkAAABaAAAATjZjaGFybHMxOXByb2Nlc3NfdHJhbnNmb3JtZWRJTlNfMTN0cmFuc2Zvcm1faHAySXRFRUVFAAAcKwAA5BYAAFATAAAAAAAAeBcAAFsAAABcAAAAXQAAAF4AAABONmNoYXJsczE5cHJvY2Vzc190cmFuc2Zvcm1lZElOU18xM3RyYW5zZm9ybV9ocDNJdEVFRUUAABwrAABAFwAAUBMAAAAAAAD4FwAAXwAAAGAAAABhAAAAYgAAAGMAAABONmNoYXJsczlqbHNfY29kZWNJTlNfMTVsb3NzbGVzc190cmFpdHNJTlNfN3RyaXBsZXRJaEVFTGk4RUVFTlNfMTZkZWNvZGVyX3N0cmF0ZWd5RUVFAAAAHCsAAKAXAADEEgAAAAAAAHQYAABkAAAAZQAAAGYAAABnAAAAaAAAAE42Y2hhcmxzOWpsc19jb2RlY0lOU18xNWxvc3NsZXNzX3RyYWl0c0lOU180cXVhZEloRUVMaThFRUVOU18xNmRlY29kZXJfc3RyYXRlZ3lFRUUAABwrAAAgGAAAxBIAAAAAAADkGAAAaQAAAGoAAABrAAAAbAAAAG0AAABONmNoYXJsczlqbHNfY29kZWNJTlNfMTVsb3NzbGVzc190cmFpdHNJaExpOEVFRU5TXzE2ZGVjb2Rlcl9zdHJhdGVneUVFRQAcKwAAnBgAAMQSAAAAAAAAWBkAAG4AAABvAAAAcAAAAHEAAAByAAAATjZjaGFybHM5amxzX2NvZGVjSU5TXzE1bG9zc2xlc3NfdHJhaXRzSXRMaTEyRUVFTlNfMTZkZWNvZGVyX3N0cmF0ZWd5RUVFAAAAABwrAAAMGQAAxBIAAAAAAADMGQAAcwAAAHQAAAB1AAAAdgAAAHcAAABONmNoYXJsczlqbHNfY29kZWNJTlNfMTVsb3NzbGVzc190cmFpdHNJdExpMTZFRUVOU18xNmRlY29kZXJfc3RyYXRlZ3lFRUUAAAAAHCsAAIAZAADEEgAAAAAAAEgaAAB4AAAAeQAAAHoAAAB7AAAAfAAAAE42Y2hhcmxzOWpsc19jb2RlY0lOU18xNGRlZmF1bHRfdHJhaXRzSWhOU183dHJpcGxldEloRUVFRU5TXzE2ZGVjb2Rlcl9zdHJhdGVneUVFRQAAABwrAAD0GQAAxBIAAAAAAADAGgAAfQAAAH4AAAB/AAAAgAAAAIEAAABONmNoYXJsczlqbHNfY29kZWNJTlNfMTRkZWZhdWx0X3RyYWl0c0loTlNfNHF1YWRJaEVFRUVOU18xNmRlY29kZXJfc3RyYXRlZ3lFRUUAABwrAABwGgAAxBIAAAAAAAA8GwAAggAAAIMAAACEAAAAhQAAAIYAAABONmNoYXJsczlqbHNfY29kZWNJTlNfMTRkZWZhdWx0X3RyYWl0c0l0TlNfN3RyaXBsZXRJdEVFRUVOU18xNmRlY29kZXJfc3RyYXRlZ3lFRUUAAAAcKwAA6BoAAMQSAAAAAAAAtBsAAIcAAACIAAAAiQAAAIoAAACLAAAATjZjaGFybHM5amxzX2NvZGVjSU5TXzE0ZGVmYXVsdF90cmFpdHNJdE5TXzRxdWFkSXRFRUVFTlNfMTZkZWNvZGVyX3N0cmF0ZWd5RUVFAAAcKwAAZBsAAMQSAABtcmZ4AFNQSUZGAAAALSsgICAwWDB4AChudWxsKQAAABEACgAREREAAAAABQAAAAAAAAkAAAAACwBBgDgLIREADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQBBsTgLAQsAQbo4CxgRAAoKERERAAoAAAIACQsAAAAJAAsAAAsAQes4CwEMAEH3OAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGlOQsBDgBBsTkLFQ0AAAAEDQAAAAAJDgAAAAAADgAADgBB3zkLARAAQes5Cx4PAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAQaI6Cw4SAAAAEhISAAAAAAAACQBB0zoLAQsAQd86CxUKAAAAAAoAAAAACQsAAAAAAAsAAAsAQY07CwEMAEGZOwtLDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGLTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAuAEGMPAsBjgBBszwLBf//////AEGAPQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEHgPQvYD0lsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAYMgAAYmFzaWNfc3RyaW5nAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAZ2VuZXJpYwB1bnNwZWNpZmllZCBnZW5lcmljX2NhdGVnb3J5IGVycm9yAAAAAABkJwAAIAAAAJIAAACTAAAAIwAAACQAAAAlAAAAlAAAAHN5c3RlbQB1bnNwZWNpZmllZCBzeXN0ZW1fY2F0ZWdvcnkgZXJyb3IAQcDNAAvIApQnAAAgAAAAlQAAAJYAAACXAAAAJAAAACUAAACYAAAAOiAAAAAAAAC4JwAAGgAAAJkAAAAeAAAAAE5TdDNfXzIxNGVycm9yX2NhdGVnb3J5RQAAAPQqAAD5JgAATlN0M19fMjEyX19kb19tZXNzYWdlRQAAHCsAABwnAAAUJwAATlN0M19fMjI0X19nZW5lcmljX2Vycm9yX2NhdGVnb3J5RQAAHCsAAEAnAAA0JwAATlN0M19fMjIzX19zeXN0ZW1fZXJyb3JfY2F0ZWdvcnlFAAAAHCsAAHAnAAA0JwAATlN0M19fMjEyc3lzdGVtX2Vycm9yRQAAHCsAAKAnAACgKAAAVW5rbm93biBlcnJvciAlZAB2ZWN0b3IAUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEAc3RkOjpleGNlcHRpb24AQZDQAAuOEmwoAAAZAAAAmgAAAJsAAABzdGQ6OmJhZF9hbGxvYwAAAAAAAFQoAAAZAAAAnAAAAJ0AAABTdDlleGNlcHRpb24AAAAA9CoAAEQoAABTdDliYWRfYWxsb2MAAAAAHCsAAFwoAABUKAAAAAAAAKAoAACeAAAAnwAAAB4AAABTdDEzcnVudGltZV9lcnJvcgAAABwrAACMKAAAVCgAAFN0OXR5cGVfaW5mbwAAAAD0KgAArCgAAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAABwrAADEKAAAvCgAAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAABwrAAD0KAAA6CgAAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQAAABwrAAAkKQAA6CgAAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FABwrAABUKQAASCkAAE4xMF9fY3h4YWJpdjEyMF9fZnVuY3Rpb25fdHlwZV9pbmZvRQAAAAAcKwAAhCkAAOgoAABOMTBfX2N4eGFiaXYxMjlfX3BvaW50ZXJfdG9fbWVtYmVyX3R5cGVfaW5mb0UAAAAcKwAAuCkAAEgpAAAAAAAAOCoAAKAAAAChAAAAogAAAKMAAACkAAAATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FABwrAAAQKgAA6CgAAHYAAAD8KQAARCoAAERuAAD8KQAAUCoAAGIAAAD8KQAAXCoAAGMAAAD8KQAAaCoAAGgAAAD8KQAAdCoAAGEAAAD8KQAAgCoAAHMAAAD8KQAAjCoAAHQAAAD8KQAAmCoAAGkAAAD8KQAApCoAAGoAAAD8KQAAsCoAAGwAAAD8KQAAvCoAAG0AAAD8KQAAyCoAAGYAAAD8KQAA1CoAAGQAAAD8KQAA4CoAAAAAAAAYKQAAoAAAAKUAAACiAAAAowAAAKYAAACnAAAAqAAAAKkAAAAAAAAAZCsAAKAAAACqAAAAogAAAKMAAACmAAAAqwAAAKwAAACtAAAATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAABwrAAA8KwAAGCkAAAAAAADAKwAAoAAAAK4AAACiAAAAowAAAKYAAACvAAAAsAAAALEAAABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAAAAHCsAAJgrAAAYKQAAAAAAAHgpAACgAAAAsgAAAKIAAACjAAAAswAAAHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAAeCsAAOAuAAAAAAAAAQAAAIAGAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUAAHgrAAA4LwAAAAAAAAEAAACABgAAAAAAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQAA9CoAAJAvAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUAAPQqAAC4LwAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAAD0KgAA4C8AAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQAA9CoAAAgwAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUAAPQqAAAwMAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAAD0KgAAWDAAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQAA9CoAAIAwAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUAAPQqAACoMAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAAD0KgAA0DAAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQAA9CoAAPgwAEGg4gALAqgGAEHg4wALAhizAEGY5AALAQUAQaTkAAsBjwBBvOQACwqQAAAAkQAAADizAEHU5AALAQIAQePkAAsF//////8AQajlAAsGdCYAAMQm"},12:A=>{"use strict";A.exports="data:application/wasm;base64,AGFzbQEAAAABiwIlYAF/AGABfwF/YAJ/fwBgA39/fwF/YAV/f39/fwBgBH9/f38AYAJ/fwF/YAAAYAN/f38AYAV/f39/fwF/YAR/f39/AX9gBn9/f39/fwBgB39/f39/f38AYAABf2AFf35+fn4AYAZ/f39/f38Bf2AEf35+fwBgB39/f39/f38Bf2AIf39/f39/f38AYAJ+fwF/YAJ+fgF/YAN/fn8BfmAKf39/f39/f39/fwBgDX9/f39/f39/f39/f38AYAN/f34AYAJ/fgBgA39+fgBgAn99AGACf3wAYAZ/fH9/f38Bf2ADfn9/AX9gBH5+fn4Bf2ABfwF+YAJ/fwF+YAJ+fgF9YAF/AXxgAn5+AXwC5AgrA2Vudg1fZW12YWxfZGVjcmVmAAADZW52HV9lbWJpbmRfcmVnaXN0ZXJfdmFsdWVfb2JqZWN0AAsDZW52I19lbWJpbmRfcmVnaXN0ZXJfdmFsdWVfb2JqZWN0X2ZpZWxkABYDZW52HV9lbWJpbmRfZmluYWxpemVfdmFsdWVfb2JqZWN0AAADZW52Fl9lbWJpbmRfcmVnaXN0ZXJfY2xhc3MAFwNlbnYiX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19jb25zdHJ1Y3RvcgALA2Vudh9fZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2Z1bmN0aW9uABIDZW52EV9lbXZhbF90YWtlX3ZhbHVlAAYDZW52EV9lbXZhbF9nZXRfZ2xvYmFsAAEDZW52E19fY3hhX3RocmVhZF9hdGV4aXQAAwNlbnYKX2VtdmFsX25ldwAKA2VudhhfX2N4YV9hbGxvY2F0ZV9leGNlcHRpb24AAQNlbnYLX19jeGFfdGhyb3cACANlbnYNX2VtdmFsX2luY3JlZgAAA2VudgpzYXZlU2V0am1wAAoDZW52C2dldFRlbXBSZXQwAA0DZW52CWludm9rZV92aQACA2Vudgp0ZXN0U2V0am1wAAMDZW52EmVtc2NyaXB0ZW5fbG9uZ2ptcAACA2VudgtzZXRUZW1wUmV0MAAAA2VudgRleGl0AAADZW52CWludm9rZV9paQAGA2VudgtpbnZva2VfdmlpaQAFA2VudgppbnZva2VfaWlpAAMDZW52C2ludm9rZV9paWlpAAoWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhm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9QEBBn8CQAJAIAAoAggiAyAAQQRqIgQoAgAiAmsgAU8EQANAIAJBADoAACAEIAQoAgBBAWoiAjYCACABQX9qIgENAAwCAAsACyACIAAoAgAiBWsiBiABaiICQX9MDQFBACEEAn8gAiADIAVrIgNBAXQiByAHIAJJG0H/////ByADQf////8DSRsiAwRAIAMQvQIhBAsgBCAGaiICC0EAIAEQ/QIaIAMgBGohAwNAIAJBAWohAiABQX9qIgENAAsgBkEBTgRAIAQgBSAGEPwCGgsgACAENgIAIAAgAzYCCCAAIAI2AgQgBUUNACAFEPQCCw8LEB0ACyEAIAAoAgQoAiwiAARAQQAgACACayICIAIgAEsbDwsgAQsYACAAKAIAIgFBMTYCFCAAIAEoAgARAAALBABBAAsDAAELDQAgACABakF/aiABbQsSACAAIAFqQX9qIgAgACABb2sLUQAgBEEBTgRAIAAgAUECdGohACACIANBAnRqIQEDQCABKAIAIAAoAgAgBRD8AhogAUEEaiEBIABBBGohACAEQQFKIQIgBEF/aiEEIAINAAsLCwwAIABBACABEP0CGgu4AgEDfyMAQRBrIgIkACAAQQA2AgQgAkEANgIMQdQAEPECIgFFBEAgACgCAEI2NwIUIAAgACgCACgCABEAACACKAIMIQMLIAFBgJTr3AM2AjAgAUEXNgIoIAFBGDYCJCABQRk2AiAgAUEaNgIcIAFBGzYCGCABQRw2AhQgAUEdNgIQIAFBHjYCDCABQR82AgggAUEgNgIEIAFBITYCACABIAM2AiwgAUHUADYCTCABQgA3AkQgAUIANwI8IAFCADcCNCAAIAE2AgQCQBCnAiIARQ0AIAJB+AA6AAsgAiACQQxqNgIAIAIgAkELajYCBCAAIAIQlgJBAUgNAAJAIAItAAtBIHJB7QBHBEAgAigCDCEADAELIAIgAigCDEHoB2wiADYCDAsgASAAQegHbDYCLAsgAkEQaiQACx0AIABBARBLIABBABBLIAAoAgQQ9AIgAEEANgIEC9kCAQN/IAAoAgQhAwJAIAFBAk8EQCAAKAIAIgJBDjYCFCACIAE2AhggACAAKAIAKAIAEQAADAELIAFBAUcNACADKAJEIgIEQANAIAIoAigEQCACQQA2AiggACACQTBqIAIoAjgRAgALIAIoAiwiAg0A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iAggAEL9////bzcC8AcgAEKFgICA4AA3ApAIIABC+////083AugHIABCh4CAgIABNwKYCCAAQvn///+vfzcC4AcgAEKJgICAoAE3AqAIIABC9////49/NwLYByAAQouAgIDAATcCqAggAEL1////7343AtAHIABCjYCAgOABNwKwCCAAQvP////PfjcCyAcgAEEPNgK4CCAAQvH///+vfjcCwAdBECEAQRAhAQNAIAIgAUECdCIDaiAANgIAIAIgA2tBACAAazYCACABQQFqIgFBf3NBAXEgAGohACABQTBHDQALQQAgAGshBEEwIQEDQCACIAFBAnQiA2ogADYCACACIANrIAQ2AgAgAUEBaiIBQYACRw0ACwu8CAEWfyAAIAAoAswDIhIoAhA2AogBIABBASASKAIUIghBBXQgACgCBCgCABEDACILQoCAgIDwAzcCECALQoCAgIDwBzcCCCALQoCAgIDwAzcCACAAIAsQhAFBASEJAkACQCAIQQJIDQADQEEAIQJBACEFQQAhBkEAIQRBACEHIAsiASEDAkAgCUEBdCAITARAA0AgASgCHCIDIAVKBEAgASACIAEoAhhBAEoiBBshAiADIAUgBBshBQsgAUEgaiEBIAZBAWoiBiAJRw0ADAIACwALA0AgAyACIAMoAhgiASAESiIFGyECIAEgBCAFGyEEIANBIGohAyAHQQFqIgcgCUcNAAsLIAJFDQEgCyAJQQV0aiIBIAIoAgQ2AgQgASACKAIMNgIMIAEgAigCFDYCFCABIAIoAgA2AgAgASACKAIINgIIIAEgAigCEDYCECAAKAIsIgZBAnQiBEGwwQBqKAIAQQJ0QYTAAGooAgAgAigCFCIHIAIoAhAiD2tsQQN0IQUgBEHgwABqKAIAQQJ0QYTAAGooAgAgAigCDCIOIAIoAggiEGtsQQJ0IQMgBEGQwABqKAIAQQJ0QYTAAGooAgAgAigCBCIRIAIoAgAiCmtsQQN0IQQCQAJ/AkACQAJAAn9BxCEgBnZBAXEEQCAFIAQgAyAEIANKG0oNBCAEIANMDAELIAQgBSADIAUgA0oiBhtKDQFBAkEBIAYbCyIDQQJLDQQgA0EBaw4CAQIACyACIAogEWpBAm0iAzYCBCABDAILIAIgDiAQakECbSIDNgIMIAFBCGoMAQsgAiAHIA9qQQJtIgM2AhQg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IA4gBE4EQCAKQQJ0QbDBAGooAgBBAnRBhMAAaigCACAEIA1rbCIEIARsDAELIApBAnRBsMEAaigCAEECdEGEwABqKAIAIAQgF2tsIgQgBGwLIQQgB0GAA2ogBUECdGogBjYCACAEIBBqIgYgCCAGIAhIGyEIIAVBAWoiBSAMRw0AC0EAIQUDQCAHQYADaiAFQQJ0aigCACAITARAIAdBgAFqIBVqIAU6AAAgFUEBaiEVCyAFQQFqIgUgDEcNAAsLIAdC//////f/////ADcD+AYgB0L/////9/////8ANwPwBiAHQv/////3/////wA3A+gGIAdC//////f/////ADcD4AYgB0L/////9/////8ANwPYBiAHQv/////3/////wA3A9AGIAdC//////f/////ADcDyAYgB0L/////9/////8ANwPABiAHQv/////3/////wA3A7gGIAdC//////f/////ADcDsAYgB0L/////9/////8ANwOoBiAHQv/////3/////wA3A6AGIAdC//////f/////ADcDmAYgB0L/////9/////8ANwOQBiAHQv/////3/////wA3A4gGIAdC//////f/////ADcDgAYgB0L/////9/////8ANwP4BSAHQv/////3/////wA3A/AFIAdC//////f/////ADcD6AUgB0L/////9/////8ANwPgBSAHQv/////3/////wA3A9gFIAdC//////f/////ADcD0AUgB0L/////9/////8ANwPIBSAHQv/////3/////wA3A8AFIAdC//////f/////ADcDuAUgB0L/////9/////8ANwOwBSAHQv/////3/////wA3A6gFIAdC//////f/////ADcDoAUgB0L/////9/////8ANwOYBSAHQv/////3/////wA3A5AFIAdC//////f/////ADcDiAUgB0L/////9/////8ANwOABSAHQv/////3/////wA3A/gEIAdC//////f/////ADcD8AQgB0L/////9/////8ANwPoBCAHQv/////3/////wA3A+AEIAdC//////f/////ADcD2AQgB0L/////9/////8ANwPQBCAHQv/////3/////wA3A8gEIAdC//////f/////ADcDwAQgB0L/////9/////8ANwO4BCAHQv/////3/////wA3A7AEIAdC//////f/////ADcDqAQgB0L/////9/////8ANwOgBCAHQv/////3/////wA3A5gEIAdC//////f/////ADcDkAQgB0L/////9/////8ANwOIBCAHQv/////3/////wA3A4AEIAdC//////f/////ADcD+AMgB0L/////9/////8ANwPwAyAHQv/////3/////wA3A+gDIAdC//////f/////ADcD4AMgB0L/////9/////8ANwPYAyAHQv/////3/////wA3A9ADIAdC//////f/////ADcDyAMgB0L/////9/////8ANwPAAyAHQv/////3/////wA3A7gDIAdC//////f/////ADcDsAMgB0L/////9/////8ANwOoAyAHQv/////3/////wA3A6ADIAdC//////f/////ADcDmAMgB0L/////9/////8ANwOQAyAHQv/////3/////wA3A4gDIAdC//////f/////ADcDgAMgFUEBTgRAIABBLGohDSAAKAIsIghBAnRBkMAAaigCAEECdEGEwABqKAIAIQYDQCAIQQJ0IgRB4MAAaigCAEECdEGEwABqKAIAIgogGCAHQYABaiAbai0AACIMIAAoAogBIgUoAgRqLQAAa2wiCyALbCAZIAUoAgAgDGotAABrIAZsIhAgEGxqIBcgBSgCCCAMai0AAGsgBEGwwQBqKAIAQQJ0QYTAAGooAgAiBWwiFCAUbGohE0EDIQQgBiAQbEEEdCAGQQN0IgYgBmxqIRYgBSAUbEEEdCAFQQN0IgUgBWxqIRAgCkECdCIFIAVsIAogC2xBA3RqIRogByEKIAdBgANqIQUDQCAEIRQgEyAFKAIASARAIAUgEzYCACAKIAw6AAAgDSgCACEICyAIQQJ0QbDBAGooAgBBAnRBhMAAaigCACIGQQd0IgQgBmwiCSAQaiELIBAgE2oiDyAFKAIESARAIAUgDzYCBCAKIAw6AAEgDSgCACIIQQJ0QbDBAGooAgBBAnRBhMAAaigCACIGQQd0IgQgBmwhCQsgCyAPaiIPIAUoAghIBEAgBSAPNgIIIAogDDoAAiANKAIAIghBAnRBsMEAaigCAEECdEGEwABqKAIAIgZBB3QhBAsgCyAPaiAJaiILIAUoAgxIBEAgBSALNgIMIAogDDoAAyANKAIAIghBAnRB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CyAAIAEgAigCACAHQQhqIAMoAgwRBQALIAUgBSgCACAGajYCACADIAMoAiwgBms2AiwgAygCJEUEQCACIAIoAgBBAWo2AgALIAdBEGokAAuDJgEPfwJAIAAoAixBemoiBEEJTQRAAkACQAJAAkACQAJAIARBAWsOCQECAwQFAQMEBQALIAJBAnQiBCABKAIIaigCACEJIAEoAgQgBGooAgAhCyADKAIEIQQgASgCACIBIAJBA3QiAmooAgAhByABIAJBBHJqKAIAIQogACgCxAIhASADKAIAIQIgACgCxAMiAygCHCEMIAMoAhghDSADKAIUIQ4gAygCECEPIAAoAnAiA0EBdiIQBH8DQCAOIAstAABBAnQiBmooAgAhAyANIAktAABBAnQiCGooAgAhESAGIAxqKAIAIRIgAiABIAggD2ooAgAiBiAHLQAAIgVqai0AADoAACACIAEgBSARIBJqQRB1Ighqai0AADoAASACIAEgAyAFamotAAA6AAIgAiABIAYgBy0AASIFamotAAA6AAMgAiABIAUgCGpqLQAAOgAEIAIgASADIAVqai0AADoABSAEIAEgBiAKLQAAIgVqai0AADoAACAEIAEgBSAIamotAAA6AAEgBCABIAMgBWpqLQAAOgACIAQgASAGIAotAAEiBWpqLQAAOgADIAQgASAFIAhqai0AADoABCAEIAEgAyAFamotAAA6AAUgBEEGaiEEIApBAmohCiACQQZqIQIgB0ECaiEHIAlBAWohCSALQQFqIQsgEEF/aiIQDQALIAAoAnAFIAMLQQFxRQ0GIA4gCy0AAEECdCIGaigCACEDIA0gCS0AAEECdCIIaigCACEJIAYgDGooAgAhBiACIAEgCCAPaigCACIIIActAAAiB2pqLQAAOgAAIAIgASAHIAYgCWpBEHUiBmpqLQAAOgABIAIgASADIAdqai0AADoAAiAEIAEgCCAKLQAAIgJqai0AADoAACAEIAEgAiAGamotAAA6AAEgBCABIAIgA2pqLQAAOgACDwsgAkECdCIEIAEoAghqKAIAIQkgASgCBCAEaigCACELIAMoAgQhBCABKAIAIgEgAkEDdCICaigCACEHIAEgAkEEcmooAgAhCiAAKALEAiEBIAMoAgAhAiAAKALEAyIDKAIcIQwgAygCGCENIAMoAhQhDiADKAIQIQ8gACgCcCIDQQF2IhAEfwNAIA4gCy0AAEECdCIGaigCACEDIA0gCS0AAEECdCIIaigCACERIAYgDGooAgAhEiACIAEgCCAPaigCACIGIActAAAiBWpqLQAAOgAAIAIgASAFIBEgEmpBEHUiCGpqLQAAOgABIAEgAyAFamotAAAhBSACQf8BOgADIAIgBToAAiACIAEgBiAHLQABIgVqai0AADoABCACIAEgBSAIamotAAA6AAUgASADIAVqai0AACEFIAJB/wE6AAcgAiAFOgAGIAQgASAGIAotAAAiBWpqLQAAOgAAIAQgASAFIAhqai0AADoAASABIAMgBWpqLQAAIQUgBEH/AToAAyAEIAU6AAIgBCABIAYgCi0AASIFamotAAA6AAQgBCABIAUgCGpqLQAAOgAFIAEgAyAFamotAAAhAyAEQf8BOgAHIAQgAzoABiAEQQhqIQQgCkECaiEKIAJBCGohAiAHQQJqIQcgCUEBaiEJIAtBAWohCyAQQX9qIhANAAsgACgCcAUgAwtBAXFFDQUgDiALLQAAQQJ0IgZqKAIAIQMgDSAJLQAAQQJ0IghqKAIAIQkgBiAMaigCACEGIAIgASAIIA9qKAIAIgggBy0AACIHamotAAA6AAAgAiABIAcgBiAJakEQdSIGamotAAA6AAEgASADIAdqai0AACEHIAJB/wE6AAMgAiAHOgACIAQgASAIIAotAAAiAmpqLQAAOgAAIAQgASACIAZqai0AADoAASABIAIgA2pqLQAAIQEgBEH/AToAAyAEIAE6AAIPCyACQQJ0IgQgASgCCGooAgAhCSABKAIEIARqKAIAIQsgAygCBCEEIAEoAgAiASACQQN0IgJqKAIAIQcgASACQQRyaigCACEKIAAoAsQCIQEgAygCACECIAAoAsQDIgMoAhwhDCADKAIYIQ0gAygCFCEOIAMoAhAhDyAAKAJwIgNBAXYiEAR/A0AgDiALLQAAQQJ0IgZqKAIAIQMgDSAJLQAAQQJ0IghqKAIAIREgBiAMaigCACESIAIgASAIIA9qKAIAIgYgBy0AACIFamotAAA6AAIgAiABIAUgESASakEQdSIIamotAAA6AAEgAiABIAMgBWpqLQAAOgAAIAIgASAGIActAAEiBWpqLQAAOgAFIAIgASAFIAhqai0AADoABCACIAEgAyAFamotAAA6AAMgBCABIAYgCi0AACIFamotAAA6AAIgBCABIAUgCGpqLQAAOgABIAQgASADIAVqai0AADoAACAEIAEgBiAKLQABIgVqai0AADoABSAEIAEgBSAIamotAAA6AAQgBCABIAMgBWpqLQAAOgADIARBBmohBCAKQQJqIQogAkEGaiECIAdBAmohByAJQQFqIQkgC0EBaiELIBBBf2oiEA0ACyAAKAJwBSADC0EBcUUNBCAOIAstAABBAnQiBmooAgAhAyANIAktAABBAnQiCGooAgAhCSAGIAxqKAIAIQYgAiABIAggD2ooAgAiCCAHLQAAIgdqai0AADoAAiACIAEgByAGIAlqQRB1IgZqai0AADoAASACIAEgAyAHamotAAA6AAAgBCABIAggCi0AACICamotAAA6AAIgBCABIAIgBmpqLQAAOgABIAQgASACIANqai0AADoAAA8LIAJBAnQiBCABKAIIaigCACEJIAEoAgQgBGooAgAhCyADKAIEIQQgASgCACIBIAJBA3QiAmooAgAhByABIAJBBHJqKAIAIQogACgCxAIhASADKAIAIQIgACgCxAMiAygCHCEMIAMoAhghDSADKAIUIQ4gAygCECEPIAAoAnAiA0EBdiIQBH8DQCAOIAstAABBAnQiBmooAgAhAyANIAktAABBAnQiCGooAgAhESAGIAxqKAIAIRIgAiABIAggD2ooAgAiBiAHLQAAIgVqai0AADoAAiACIAEgBSARIBJqQRB1Ighqai0AADoAASABIAMgBWpqLQAAIQUgAkH/AToAAyACIAU6AAAgAiABIAYgBy0AASIFamotAAA6AAYgAiABIAUgCGpqLQAAOgAFIAEgAyAFamotAAAhBSACQf8BOgAHIAIgBToABCAEIAEgBiAKLQAAIgVqai0AADoAAiAEIAEgBSAIamotAAA6AAEgASADIAVqai0AACEFIARB/wE6AAMgBCAFOgAAIAQgASAGIAotAAEiBWpqLQAAOgAGIAQgASAFIAhqai0AADoABSABIAMgBWpqLQAAIQMgBEH/AToAByAEIAM6AAQgBEEIaiEEIApBAmohCiACQQhqIQIgB0ECaiEHIAlBAWohCSALQQFqIQsgEEF/aiIQDQALIAAoAnAFIAMLQQFxRQ0DIA4gCy0AAEECdCIGaigCACEDIA0gCS0AAEECdCIIaigCACEJIAYgDGooAgAhBiACIAEgCCAPaigCACIIIActAAAiB2pqLQAAOgACIAIgASAHIAYgCWpBEHUiBmpqLQAAOgABIAEgAyAHamotAAAhByACQf8BOgADIAIgBzoAACAEIAEgCCAKLQAAIgJqai0AADoAAiAEIAEgAiAGamotAAA6AAEgASACIANqai0AACEBIARB/wE6AAMgBCABOgAADwsgAkECdCIEIAEoAghqKAIAIQkgASgCBCAEaigCACELIAMoAgQhBCABKAIAIgEgAkEDdCICaigCACEHIAEgAkEEcmooAgAhCiAAKALEAiEBIAMoAgAhAiAAKALEAyIDKAIcIQwgAygCGCENIAMoAhQhDiADKAIQIQ8gACgCcCIDQQF2IhAEfwNAIA4gCy0AAEECdCIGaigCACEDIA0gCS0AAEECdCIIaigCACERIAYgDGooAgAhEiACIAEgCCAPaigCACIGIActAAAiBWpqLQAAOgADIAIgASAFIBEgEmpBEHUiCGpqLQAAOgACIAEgAyAFamotAAAhBSACQf8BOgAAIAIgBToAASACIAEgBiAHLQABIgVqai0AADoAByACIAEgBSAIamotAAA6AAYgASADIAVqai0AACEFIAJB/wE6AAQgAiAFOgAFIAQgASAGIAotAAAiBWpqLQAAOgADIAQgASAFIAhqai0AADoAAiABIAMgBWpqLQAAIQUgBEH/AToAACAEIAU6AAEgBCABIAYgCi0AASIFamotAAA6AAcgBCABIAUgCGpqLQAAOgAGIAEgAyAFamotAAAhAyAEQf8BOgAEIAQgAzoABSAEQQhqIQQgCkECaiEKIAJBCGohAiAHQQJqIQcgCUEBaiEJIAtBAWohCyAQQX9qIhANAAsgACgCcAUgAwtBAXFFDQIgDiALLQAAQQJ0IgZqKAIAIQMgDSAJLQAAQQJ0IghqKAIAIQkgBiAMaigCACEGIAIgASAIIA9qKAIAIgggBy0AACIHamotAAA6AAMgAiABIAcgBiAJakEQdSIGamotAAA6AAIgASADIAdqai0AACEHIAJB/wE6AAAgAiAHOgABIAQgASAIIAotAAAiAmpqLQAAOgADIAQgASACIAZqai0AADoAAiABIAIgA2pqLQAAIQEgBEH/AToAACAEIAE6AAEPCyACQQJ0IgQgASgCCGooAgAhCSABKAIEIARqKAIAIQsgAygCBCEEIAEoAgAiASACQQN0IgJqKAIAIQcgASACQQRyaigCACEKIAAoAsQCIQEgAygCACECIAAoAsQDIgMoAhwhDCADKAIYIQ0gAygCFCEOIAMoAhAhDyAAKAJwIgNBAXYiEAR/A0AgDiALLQAAQQJ0IgZqKAIAIQMgDSAJLQAAQQJ0IghqKAIAIREgBiAMaigCACESIAIgASAIIA9qKAIAIgYgBy0AACIFamotAAA6AAEgAiABIAUgESASakEQdSIIamotAAA6AAIgASADIAVqai0AACEFIAJB/wE6AAAgAiAFOgADIAIgASAGIActAAEiBWpqLQAAOgAFIAIgASAFIAhqai0AADoABiABIAMgBWpqLQAAIQUgAkH/AToABCACIAU6AAcgBCABIAYgCi0AACIFamotAAA6AAEgBCABIAUgCGpqLQAAOgACIAEgAyAFamotAAAhBSAEQf8BOgAAIAQgBToAAyAEIAEgBiAKLQABIgVqai0AADoABSAEIAEgBSAIamotAAA6AAYgASADIAVqai0AACEDIARB/wE6AAQgBCADOgAHIARBCGohBCAKQQJqIQogAkEIaiECIAdBAmohByAJQQFqIQkgC0EBaiELIBBBf2oiEA0ACyAAKAJwBSADC0EBcUUNASAOIAstAABBAnQiBmooAgAhAyANIAktAABBAnQiCGooAgAhCSAGIAxqKAIAIQYgAiABIAggD2ooAgAiCCAHLQAAIgdqai0AADoAASACIAEgByAGIAlqQRB1IgZqai0AADoAAiABIAMgB2pqLQAAIQcgAkH/AToAACACIAc6AAMgBCABIAggCi0AACICamotAAA6AAEgBCABIAIgBmpqLQAAOgACIAEgAiADamotAAAhASAEQf8BOgAAIAQgAToAAw8LIAJBAnQiBCABKAIIaigCACEJIAEoAgQgBGooAgAhCyADKAIEIQQgASgCACIBIAJBA3QiAmooAgAhByABIAJBBHJqKAIAIQogACgCxAIhASADKAIAIQIgACgCxAMiAygCHCEMIAMoAhghDSADKAIUIQ4gAygCECEPIAAoAnAiA0EBdiIQBH8DQCAOIAstAABBAnQiBmooAgAhAyANIAktAABBAnQiCGooAgAhESAGIAxqKAIAIRIgAiABIAggD2ooAgAiBiAHLQAAIgVqai0AADoAACACIAEgBSARIBJqQRB1Ighqai0AADoAASACIAEgAyAFamotAAA6AAIgAiABIAYgBy0AASIFamotAAA6AAMgAiABIAUgCGpqLQAAOgAEIAIgASADIAVqai0AADoABSAEIAEgBiAKLQAAIgVqai0AADoAACAEIAEgBSAIamotAAA6AAEgBCABIAMgBWpqLQAAOgACIAQgASAGIAotAAEiBWpqLQAAOgADIAQgASAFIAhqai0AADoABCAEIAEgAyAFamotAAA6AAUgBEEGaiEEIApBAmohCiACQQZqIQIgB0ECaiEHIAlBAWohCSALQQFqIQsgEEF/aiIQDQALIAAoAnAFIAMLQQFxRQ0AIA4gCy0AAEECdCIGaigCACEDIA0gCS0AAEECdCIIaigCACEJIAYgDGooAgAhBiACIAEgCCAPaigCACIIIActAAAiB2pqLQAAOgAAIAIgASAHIAYgCWpBEHUiBmpqLQAAOgABIAIgASADIAdqai0AADoAAiAEIAEgCCAKLQAAIgJqai0AADoAACAEIAEgAiAGamotAAA6AAEgBCABIAIgA2pqLQAAOgACCwuABwEUfyACQQJ0IgcgASgCCGooAgAhDiABKAIEIAdqKAIAIQ8gAygCBCEHIAEoAgAiASACQQN0IgVqKAIAIQIgASAFQQRyaigCACEFIAAoAowBIgFBA3FBAnRBgMIAaigCACEGIAFBAWpBA3FBAnRBgMIAaigCACELIAAoAsQCIQEgAygCACEDIAAoAsQDIgQoAhwhEiAEKAIYIRMgBCgCFCEUIAQoAhAhFSAAKAJwIhdBAXYiFgRAA0AgASAGQf8BcSIIIAItAAAiCWoiCiAUIA8tAABBAnQiBGooAgAiAGpqLQAAIQwgASATIA4tAABBAnQiEGooAgAgBCASaigCAGpBEHUiBCAIQQF2aiAJamotAAAhCSABIAogECAVaigCACIIamotAAAhCiADIAEgAi0AASIRIAQgBkEIdiIQQf8BcSINQQF2ampqLQAAQQN0QeAPcSABIA0gEWoiDSAIamotAABBCHRBgPADcXIgASAAIA1qai0AAEEDdnI7AQIgAyAJQQN0QeAPcSAKQQh0QYDwA3FyIAxBA3ZyOwEAIAEgACALQf8BcSIJIAUtAAAiCmoiDGpqLQAAIQ0gASAIIAxqai0AACEMIAEgBCAJQQF2aiAKamotAAAhCSAHIAEgBCALQQh2IgpB/wFxIhFBAXZqIAUtAAEiBGpqLQAAQQN0QeAPcSABIAggBCARaiIEamotAABBCHRBgPADcXIgASAAIARqai0AAEEDdnI7AQIgByAJQQN0QeAPcSAMQQh0QYDwA3FyIA1BA3ZyOwEAIApBGHQgC0EYd0EIdnIhCyAQQRh0IAZBGHdBCHZyIQYgB0EEaiEHIAVBAmohBSADQQRqIQMgAkECaiECIA5BAWohDiAPQQFqIQ8gFkF/aiIWDQALCyAXQQFxBEAgAyABIAItAAAiAiATIA4tAABBAnQiAGooAgAgEiAPLQAAQQJ0IgRqKAIAakEQdSIIIAZB/wFxIgZBAXZqamotAABBA3RB4A9xIAEgAiAGaiICIAAgFWooAgAiBmpqLQAAQQh0QYDwA3FyIAEgAiAEIBRqKAIAIgBqai0AAEEDdnI7AQAgByABIAUtAAAiBSAIIAtB/wFxIgJBAXZqamotAABBA3RB4A9xIAEgBiACIAVqIgJqai0AAEEIdEGA8ANxciABIAAgAmpqLQAAQQN2cjsBAAsLwwUBEH8gAkECdCIGIAEoAghqKAIAIQkgASgCBCAGaigCACEKIAMoAgQhBiABKAIAIgEgAkEDdCIHaigCACECIAEgB0EEcmooAgAhByAAKALEAiEBIAMoAgAhAyAAKALEAyIEKAIcIQ4gBCgCGCEPIAQoAhQhECAEKAIQIREgACgCcCITQQF2IhIEQANAIAEgDyAJLQAAQQJ0IghqKAIAIA4gCi0AAEECdCIEaigCAGpBEHUiACACLQAAIgVqai0AACELIAEgBCAQaigCACIEIAVqai0AACEMIAEgCCARaigCACIIIAVqai0AACENIAMgASAAIAItAAEiBWpqLQAAQQN0QeAPcSABIAUgCGpqLQAAQQh0QYDwA3FyIAEgBCAFamotAABBA3ZyOwECIAMgC0EDdEHgD3EgDUEIdEGA8ANxciAMQQN2cjsBACABIAAgBy0AACIFamotAAAhCyABIAQgBWpqLQAAIQwgASAFIAhqai0AACENIAYgASAAIActAAEiBWpqLQAAQQN0QeAPcSABIAUgCGpqLQAAQQh0QYDwA3FyIAEgBCAFamotAABBA3ZyOwECIAYgC0EDdEHgD3EgDUEIdEGA8ANxciAMQQN2cjsBACAGQQRqIQYgB0ECaiEHIANBBGohAyACQQJqIQIgCUEBaiEJIApBAWohCiASQX9qIhINAAsLIBNBAXEEQCADIAEgDyAJLQAAQQJ0IgBqKAIAIA4gCi0AAEECdCIEaigCAGpBEHUiCCACLQAAIgJqai0AAEEDdEHgD3EgASAAIBFqKAIAIgAgAmpqLQAAQQh0QYDwA3FyIAEgBCAQaigCACIEIAJqai0AAEEDdnI7AQAgBiABIAggBy0AACICamotAABBA3RB4A9xIAEgACACamotAABBCHRBgPADcXIgASACIARqai0AAEEDdnI7AQALCzwAIAAgASACKAIAIAQgBSgCAEECdGogACgCxAMoAgwRBQAgBSAFKAIAQQFqNgIAIAIgAigCAEEBajYCAAvfGQEMfwJAIAAoAixBemoiBUEJTQRAAkACQAJAAkACQAJAIAVBAWsOCQECAwQFAQMEBQALIAJBAnQiAiABKAIIaigCACEHIAEoAgQgAmooAgAhBiABKAIAIAJqKAIAIQUgACgCxAIhAiADKAIAIQEgACgCxAMiAygCHCEKIAMoAhghCyADKAIUIQwgAygCECENIAAoAnAiA0EBdiIOBH8DQCAMIAYtAABBAnQiBGooAgAhAyALIActAABBAnQiCGooAgAhCSAEIApqKAIAIQ8gASACIAggDWooAgAiCCAFLQAAIgRqai0AADoAACABIAIgBCAJIA9qQRB1Iglqai0AADoAASABIAIgAyAEamotAAA6AAIgASACIAggBS0AASIEamotAAA6AAMgASACIAQgCWpqLQAAOgAEIAEgAiADIARqai0AADoABSABQQZqIQEgBUECaiEFIAdBAWohByAGQQFqIQYgDkF/aiIODQALIAAoAnAFIAMLQQFxRQ0GIAwgBi0AAEECdCIGaigCACEDIAsgBy0AAEECdCIHaigCACEEIAYgCmooAgAhBiABIAIgBS0AACIFIAcgDWooAgBqai0AADoAACABIAIgBSAEIAZqQRB1amotAAA6AAEgASACIAMgBWpqLQAAOgACDwsgAkECdCICIAEoAghqKAIAIQcgASgCBCACaigCACEGIAEoAgAgAmooAgAhBSAAKALEAiECIAMoAgAhASAAKALEAyIDKAIcIQogAygCGCELIAMoAhQhDCADKAIQIQ0gACgCcCIDQQF2Ig4EfwNAIAwgBi0AAEECdCIEaigCACEDIAsgBy0AAEECdCIIaigCACEJIAQgCmooAgAhDyABIAIgCCANaigCACIIIAUtAAAiBGpqLQAAOgAAIAEgAiAEIAkgD2pBEHUiCWpqLQAAOgABIAIgAyAEamotAAAhBCABQf8BOgADIAEgBDoAAiABIAIgCCAFLQABIgRqai0AADoABCABIAIgBCAJamotAAA6AAUgAiADIARqai0AACEDIAFB/wE6AAcgASADOgAGIAFBCGohASAFQQJqIQUgB0EBaiEHIAZBAWohBiAOQX9qIg4NAAsgACgCcAUgAwtBAXFFDQUgDCAGLQAAQQJ0IgZqKAIAIQMgCyAHLQAAQQJ0IgdqKAIAIQQgBiAKaigCACEGIAEgAiAFLQAAIgUgByANaigCAGpqLQAAOgAAIAEgAiAFIAQgBmpBEHVqai0AADoAASACIAMgBWpqLQAAIQIgAUH/AToAAyABIAI6AAIPCyACQQJ0IgIgASgCCGooAgAhByABKAIEIAJqKAIAIQYgASgCACACaigCACEFIAAoAsQCIQIgAygCACEBIAAoAsQDIgMoAhwhCiADKAIYIQsgAygCFCEMIAMoAhAhDSAAKAJwIgNBAXYiDgR/A0AgDCAGLQAAQQJ0IgRqKAIAIQMgCyAHLQAAQQJ0IghqKAIAIQkgBCAKaigCACEPIAEgAiAIIA1qKAIAIgggBS0AACIEamotAAA6AAIgASACIAQgCSAPakEQdSIJamotAAA6AAEgASACIAMgBGpqLQAAOgAAIAEgAiAIIAUtAAEiBGpqLQAAOgAFIAEgAiAEIAlqai0AADoABCABIAIgAyAEamotAAA6AAMgAUEGaiEBIAVBAmohBSAHQQFqIQcgBkEBaiEGIA5Bf2oiDg0ACyAAKAJwBSADC0EBcUUNBCAMIAYtAABBAnQiBmooAgAhAyALIActAABBAnQiB2ooAgAhBCAGIApqKAIAIQYgASACIAUtAAAiBSAHIA1qKAIAamotAAA6AAIgASACIAUgBCAGakEQdWpqLQAAOgABIAEgAiADIAVqai0AADoAAA8LIAJBAnQiAiABKAIIaigCACEHIAEoAgQgAmooAgAhBiABKAIAIAJqKAIAIQUgACgCxAIhAiADKAIAIQEgACgCxAMiAygCHCEKIAMoAhghCyADKAIUIQwgAygCECENIAAoAnAiA0EBdiIOBH8DQCAMIAYtAABBAnQiBGooAgAhAyALIActAABBAnQiCGooAgAhCSAEIApqKAIAIQ8gASACIAggDWooAgAiCCAFLQAAIgRqai0AADoAAiABIAIgBCAJIA9qQRB1Iglqai0AADoAASACIAMgBGpqLQAAIQQgAUH/AToAAyABIAQ6AAAgASACIAggBS0AASIEamotAAA6AAYgASACIAQgCWpqLQAAOgAFIAIgAyAEamotAAAhAyABQf8BOgAHIAEgAzoABCABQQhqIQEgBUECaiEFIAdBAWohByAGQQFqIQYgDkF/aiIODQALIAAoAnAFIAMLQQFxRQ0DIAwgBi0AAEECdCIGaigCACEDIAsgBy0AAEECdCIHaigCACEEIAYgCmooAgAhBiABIAIgBS0AACIFIAcgDWooAgBqai0AADoAAiABIAIgBSAEIAZqQRB1amotAAA6AAEgAiADIAVqai0AACECIAFB/wE6AAMgASACOgAADwsgAkECdCICIAEoAghqKAIAIQcgASgCBCACaigCACEGIAEoAgAgAmooAgAhBSAAKALEAiECIAMoAgAhASAAKALEAyIDKAIcIQogAygCGCELIAMoAhQhDCADKAIQIQ0gACgCcCIDQQF2Ig4EfwNAIAwgBi0AAEECdCIEaigCACEDIAsgBy0AAEECdCIIaigCACEJIAQgCmooAgAhDyABIAIgCCANaigCACIIIAUtAAAiBGpqLQAAOgADIAEgAiAEIAkgD2pBEHUiCWpqLQAAOgACIAIgAyAEamotAAAhBCABQf8BOgAAIAEgBDoAASABIAIgCCAFLQABIgRqai0AADoAByABIAIgBCAJamotAAA6AAYgAiADIARqai0AACEDIAFB/wE6AAQgASADOgAFIAFBCGohASAFQQJqIQUgB0EBaiEHIAZBAWohBiAOQX9qIg4NAAsgACgCcAUgAwtBAXFFDQIgDCAGLQAAQQJ0IgZqKAIAIQMgCyAHLQAAQQJ0IgdqKAIAIQQgBiAKaigCACEGIAEgAiAFLQAAIgUgByANaigCAGpqLQAAOgADIAEgAiAFIAQgBmpBEHVqai0AADoAAiACIAMgBWpqLQAAIQIgAUH/AToAACABIAI6AAEPCyACQQJ0IgIgASgCCGooAgAhByABKAIEIAJqKAIAIQYgASgCACACaigCACEFIAAoAsQCIQIgAygCACEBIAAoAsQDIgMoAhwhCiADKAIYIQsgAygCFCEMIAMoAhAhDSAAKAJwIgNBAXYiDgR/A0AgDCAGLQAAQQJ0IgRqKAIAIQMgCyAHLQAAQQJ0IghqKAIAIQkgBCAKaigCACEPIAEgAiAIIA1qKAIAIgggBS0AACIEamotAAA6AAEgASACIAQgCSAPakEQdSIJamotAAA6AAIgAiADIARqai0AACEEIAFB/wE6AAAgASAEOgADIAEgAiAIIAUtAAEiBGpqLQAAOgAFIAEgAiAEIAlqai0AADoABiACIAMgBGpqLQAAIQMgAUH/AToABCABIAM6AAcgAUEIaiEBIAVBAmohBSAHQQFqIQcgBkEBaiEGIA5Bf2oiDg0ACyAAKAJwBSADC0EBcUUNASAMIAYtAABBAnQiBmooAgAhAyALIActAABBAnQiB2ooAgAhBCAGIApqKAIAIQYgASACIAUtAAAiBSAHIA1qKAIAamotAAA6AAEgASACIAUgBCAGakEQdWpqLQAAOgACIAIgAyAFamotAAAhAiABQf8BOgAAIAEgAjoAAw8LIAJBAnQiAiABKAIIaigCACEHIAEoAgQgAmooAgAhBiABKAIAIAJqKAIAIQUgACgCxAIhAiADKAIAIQEgACgCxAMiAygCHCEKIAMoAhghCyADKAIUIQwgAygCECENIAAoAnAiA0EBdiIOBH8DQCAMIAYtAABBAnQiBGooAgAhAyALIActAABBAnQiCGooAgAhCSAEIApqKAIAIQ8gASACIAggDWooAgAiCCAFLQAAIgRqai0AADoAACABIAIgBCAJIA9qQRB1Iglqai0AADoAASABIAIgAyAEamotAAA6AAIgASACIAggBS0AASIEamotAAA6AAMgASACIAQgCWpqLQAAOgAEIAEgAiADIARqai0AADoABSABQQZqIQEgBUECaiEFIAdBAWohByAGQQFqIQYgDkF/aiIODQALIAAoAnAFIAMLQQFxRQ0AIAwgBi0AAEECdCIGaigCACEDIAsgBy0AAEECdCIHaigCACEEIAYgCmooAgAhBiABIAIgBS0AACIFIAcgDWooAgBqai0AADoAACABIAIgBSAEIAZqQRB1amotAAA6AAEgASAC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ACEGIAMoAgAhAEEAIQUDQCAAIAUgBmotAAA6AAAgACAFIAlqLQAAOgABIAUgCGotAAAhByAAQf8BOgADIAAgBzoAAiAAQQRqIQAgBUEBaiIFIApHDQALIANBBGohAyACQQFqIQIgBEEBSiEAIARBf2ohBCAADQALDAULIARBAUgNBCAAKAJwIgZFDQQDQCACQQJ0IgAgASgCCGooAgAhByABKAIEIABqKAIAIQggASgCACAAaigCACEJIAMoAgAhAEEAIQUDQCAAIAUgCWotAAA6AAIgACAFIAhqLQAAOgABIAAgBSAHai0AADoAACAAQQNqIQAgBUEBaiIFIAZHDQALIANBBGohAyACQQFqIQIgBEEBSiEAIARBf2ohBCAADQALDAQLIARBAUgNAyAAKAJwIgpFDQMDQCACQQJ0IgAgASgCCGooAgAhCCABKAIEIABqKAIAIQkgASgCACAAaigCACEGIAMoAgAhAEEAIQUDQCAAIAUgBmotAAA6AAIgACAFIAlqLQAAOgABIAUgCGotAAAhByAAQf8BOgADIAAgBzoAACAAQQRqIQAgBUEBaiIFIApHDQALIANBBGohAyACQQFqIQIgBEEBSiEAIARBf2ohBCAADQALDAMLIARBAUgNAiAAKAJwIgpFDQIDQCACQQJ0IgAgASgCCGooAgAhCCABKAIEIABqKAIAIQkgASgCACAAaigCACEGIAMoAgAhAEEAIQUDQCAAIAUgBmotAAA6AAMgACAFIAlqLQAAOgACIAUgCGotAAAhByAAQf8BOgAAIAAgBzoAASAAQQRqIQAgBUEBaiIFIApHDQALIANBBGohAyACQQFqIQIgBEEBSiEAIARBf2ohBCAADQALDAILIARBAUgNASAAKAJwIgpFDQEDQCACQQJ0IgAgASgCCGooAgAhCCABKAIEIABqKAIAIQkgASgCACAAaigCACEGIAMoAgAhAEEAIQUDQCAAIAUgBmotAAA6AAEgACAFIAlqLQAAOgACIAUgCGotAAAhByAAQf8BOgAAIAAgBzoAAyAAQQRqIQAgBUEBaiIFIApHDQALIANBBGohAyACQQFqIQIgBEEBSiEAIARBf2ohBCAADQALDAELIARBAUgNACAAKAJwIgZFDQADQCACQQJ0IgAgASgCCGooAgAhByABKAIEIABqKAIAIQggASgCACAAaigCACEJIAMoAgAhAEEAIQUDQCAAIAUgCWotAAA6AAAgACAFIAhqLQAAOgABIAAgBSAHai0AADoAAiAAQQNqIQAgBUEBaiIFIAZHDQALIANBBGohAyACQQFqIQIgBEEBSiEAIARBf2ohBCAADQALCwu8BQEQfyAEQQFOBEAgACgCxAIhBiAAKALIAyIFKAIUIQogBSgCECELIAUoAgwhDCAFKAIIIQ0gASgCCCERIAEoAgQhEiABKAIAIRMgACgCcCEOA0AgESACQQJ0IgVqKAIAIQEgBSASaigCACEAIAUgE2ooAgAhBSADKAIAIghBA3EEQCAIIAYgBS0AACIHIAsgAS0AAEECdCIPaigCACAKIAAtAABBAnQiCWooAgBqQRB1amotAABBA3RB4A9xIAYgDSAPaigCACAHamotAABBCHRBgPADcXIgBiAJIAxqKAIAIAdqai0AAEEDdnI7AQAgDkF/aiEOIAhBAmohCCABQQFqIQEgBUEBaiEFIABBAWohAAtBACEPIA5BAXYiFARAA0AgCCAGIAUtAAAiByALIAEtAABBAnQiCWooAgAgCiAALQAAQQJ0IhBqKAIAakEQdWpqLQAAQQN0QeAPcSAGIAkgDWooAgAgB2pqLQAAQQh0QYDwA3FyIAYgDCAQaigCACAHamotAABBA3ZyIAYgBS0AASIHIAsgAS0AAUECdCIJaigCACAKIAAtAAFBAnQiEGooAgBqQRB1amotAABBA3RB4A9xIAYgCSANaigCACAHamotAABBCHRBgPADcXIgBiAMIBBqKAIAIAdqai0AAEEDdnJBEHRyNgIAIAhBBGohCCABQQJqIQEgAEECaiEAIAVBAmohBSAPQQFqIg8gFEcNAAsLIA5BAXEEQCAIIAYgCyABLQAAQQJ0IgdqKAIAIAogAC0AAEECdCIAaigCAGpBEHUgBS0AACIBamotAABBA3RB4A9xIAYgByANaigCACABamotAABBCHRBgPADcXIgBiAAIAxqKAIAIAFqai0AAEEDdnI7AQALIANBBGohAyACQQFqIQIgBEEBSiEBIARBf2ohBCABDQALCwuuAgEFfyAEQQFOBEAgACgCcCEGIAEoAgAhCANAIAggAkECdGooAgAhACADKAIAIgFBA3EEQCABIAAtAAAiBUEDdEHgD3EgBUEDdnIgBUEIdEGA8ANx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AogBDQACQCAAKAJcRQ0AIAAoAmxFDQAgACABKAJ4NgLMAyABQQE2AggMAQsgACgCZARAIAAgASgCdDYCzAMMAQsgACgCACICQS42AhQgACACKAIAEQAACyAAIAAoAsADKAIAEQAAIAAgACgCrAMoAggRAAAgACgCRA0AIAEoAnBFBEAgACAAKALIAygCABEAAAsgACAAKALEAygCABEAACAAKAJUBEAgACABKAIIIAAoAswDKAIAEQIACyAAQQNBACABKAIIGyAAKAKwAygCABECACAAQQAgACgCqAMoAgARAgALAkAgACgCCCICRQ0AIAIgASgCbCIDNgIMIAIgA0ECQQEgASgCCBtqIgE2AhAgACgCQEUNACAAKAK0AygCFA0AIAJBAkEBIAAoAmwbIAFqNgIQCwuDBAEEfwJAAkACQAJAIAAoAhQiAkG2fmoiAUECTQRAAkACQCABQQFrDgIBBAALIAAQ4wEgACgCQARAIABBzwE2AhQMBQsgAEHLATYCFAsCQCAAKAK0AygCEEUNACAAKAIIIQEDQCABBEAgACABKAIAEQAACwJAIAAgACgCtAMoAgARAQAiAkECSw0AIAJBAWsOAgACBwsgACgCCCEBIAJBAnJBA0cNACABRQ0AIAEgASgCBEEBaiICNgIEIAIgASgCCCIDSA0AIAEgACgCwAIgA2o2AggMAAALAAsgACAAKAKQATYCmAEMAQsgACgCACIBQRQ2AhQgASACNgIYIAAgACgCACgCABEAAAsgACgCFEHMAUYNACAAIAAoAqQDKAIAEQAAIABBzAE2AhQgAEEANgKMAQsgACgCpAMoAggEQCAAQYwBaiEEIAAoAowBIQEDQCABIAAoAnQiA0kEQAJ/IAEgACgCCCICRQ0AGiACIAM2AgggAiABNgIEIAAgAigCABEAACAAKAKMAQshA0EAIQIgAEEAIARBACAAKAKoAygCBBEFACAAKAKMASIBIANHDQEMBAsgACAAKAKkAygCBBEAACAAIAAoAqQDKAIAEQAAQQAhASAAQQA2AowBIAAoAqQDKAIIDQALCyAAQc4BQc0BIAAoAkQbNgIUC0EBIQILIAILzQEBBH8jAEEQayIEJAAgACgCFCIDQc0BRwRAIAAoAgAiBUEUNgIUIAUgAzYCGCAAIAAoAgAoAgARAAALAkAgACgCjAEiBSAA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ACEKDAMLIAYgACAOEIwCIAApA3hCACAAKAIEIAAoAghrrH1RDQQgCEUNACAOQQJLDQAgBikDCCESIAYpAwAhEwJAAkACQCAOQQFrDgIBAgALIAggEyASELsCOAIADAILIAggEyASELoCOQMADAELIAggEzcDACAIIBI3AwgLIAAoAgQgACgCCGusIAApA3ggEXx8IREgDyAIQQBHaiEPCyAEQQFqIQMgBC0AASIEDQEMAwsLIA9BfyAPGyEPCyANRQ0AIAkQ9AIgChD0AgsgBkGwAmokACAPCzABAX8jAEEQayICIAA2AgwgAiAAIAFBAnQgAUEAR0ECdGtqIgBBBGo2AgggACgCAAtOAAJAIABFDQAgAUECaiIBQQVLDQACQAJAAkACQCABQQFrDgUBAgIEAwALIAAgAjwAAA8LIAAgAj0BAA8LIAAgAj4CAA8LIAAgAjcDAAsLUwECfyABIAAoAlQiAyADIAJBgAJqIgEQmQIiBCADayABIAQbIgEgAiABIAJJGyICEPwCGiAAIAEgA2oiATYCVCAAIAE2AgggACACIANqNgIEIAILSAEBfyMAQZABayICJAAgAkEAQZABEP0CIgJBfzYCTCACIAA2AiwgAkG2ATYCICACIAA2AlQgAiABEJACIQAgAkGQAWokACAACwsAIAAgASACEJMCCyYBAX8jAEEQayICJAAgAiABNgIMIAAgARCUAiEBIAJBEGokACABC1kBAX8gACAALQBKIgFBf2ogAXI6AEogACgCACIBQQhxBEAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCEEEAC6oBAQN/AkAgAigCECIDBH8gAwUgAhCXAg0BIAIoAhALIAIoAhQiBGsgAUkEQCACIAAgASACKAIkEQMAGg8LAkAgAiwAS0EASA0AIAEhBQNAIAUiA0UNASAAIANBf2oiBWotAABBCkcNAAsgAiAAIAMgAigCJBEDACADSQ0BIAEgA2shASAAIANqIQAgAigCFCEECyAEIAAgARD8AhogAiACKAIUIAFqNgIUCwvgAQEDfyABQQBHIQICQAJAAkACQCABRQ0AIABBA3FFDQADQCAALQAARQ0CIABBAWohACABQX9qIgFBAEchAiABRQ0BIABBA3ENAAsLIAJFDQELIAAtAABFDQECQCABQQRPBEAgAUF8aiICIAJBfHEiAmshAyAAIAJqQQRqIQQDQCAAKAIAIgJBf3MgAkH//ft3anFBgIGChHhxDQIgAEEEaiEAIAFBfGoiAUEDSw0ACyADIQEgBCEACyABRQ0BCwNAIAAtAABFDQIgAEEBaiEAIAFBf2oiAQ0ACwtBAA8LIAALjwEBA38gACEBAkACQCAAQQNxRQ0AIAAtAABFBEAMAgsDQCABQQFqIgFBA3FFDQEgAS0AAA0ACwwBCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQf/9+3dqcUGAgYKEeHFFDQALIANB/wFxRQRAIAIhAQwBCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC7kBAQJ/AkAgAEEDcQRAA0AgAC0AACIBRQ0CIAFBPUYNAiAAQQFqIgBBA3ENAAsLAkAgACgCACIBQX9zIAFB//37d2pxQYCBgoR4cQ0AA0AgAUG9+vTpA3MiAUF/cyABQf/9+3dqcUGAgYKEeHENASAAKAIEIQEgAEEEaiEAIAFB//37d2ogAUF/c3FBgIGChHhxRQ0ACwsDQCAAIgEtAAAiAgRAIAFBAWohACACQT1HDQELCyABDwsgAAsUACAAEJsCIgBBACAALQAAQT1GGwtNAQJ/IAEtAAAhAgJAIAAtAAAiA0UNACACIANHDQADQCABLQABIQIgAC0AASIDRQ0BIAFBAWohASAAQQFqIQAgAiADRg0ACwsgAyACawvEAgEBfyMAQdAAayIEJAACQCADQYCAAU4EQCAEQSBqIAEgAkIAQoCAgICAgID//wAQtwIgBCkDKCECIAQpAyAhASADQf//AUgEQCADQYGAf2ohAwwCCyAEQRBqIAEgAkIAQoCAgICAgID//wAQtwIgA0H9/wIgA0H9/wJIG0GCgH5qIQMgBCkDGCECIAQpAxAhAQwBCyADQYGAf0oNACAEQUBrIAEgAkIAQoCAgICAgMAAELcCIAQpA0ghAiAEKQNAIQEgA0GDgH5KBEAgA0H+/wBqIQMMAQsgBEEwaiABIAJCAEKAgICAgIDAABC3AiADQYaAfSADQYaAfUobQfz/AWohAyAEKQM4IQIgBCkDMCEBCyAEIAEgAkIAIANB//8Aaq1CMIYQtwIgACAEKQMINwMIIAAgBCkDADcDACAEQdAAaiQACzUAIAAgATcDACAAIAJC////////P4MgBEIwiKdBgIACcSACQjCIp0H//wFxcq1CMIaENwMICxAAIABBIEYgAEF3akEFSXILCgAgAEFQakEKSQsSACAARQRAQQAPCyAAIAEQowILlAIAAkAgAAR/IAFB/wBNDQECQEGk+AAoAgAoAgBFBEAgAUGAf3FBgL8DRg0DQbj5AEEZNgIADAELIAFB/w9NBEAgACABQT9xQYABcjoAASAAIAFBBnZBwAFyOgAAQQIPCyABQYCwA09BACABQYBAcUGAwANHG0UEQCAAIAFBP3FBgAFyOgACIAAgAUEMdkHgAXI6AAAgACABQQZ2QT9xQYABcjoAAUEDDwsgAUGAgHxqQf//P00EQCAAIAFBP3FBgAFyOgADIAAgAUESdkHwAXI6AAAgACABQQZ2QT9xQYABcjoAAiAAIAFBDHZBP3FBgAFyOgABQQQPC0G4+QBBGTYCAAtBfwVBAQsPCyAAIAE6AABBAQvdAgEGfyMAQRBrIgYkACACQbT5ACACGyIEKAIAIQICQAJAAkAgAUUEQCACDQEMAwtBfiEDIAAgBkEMaiAAGyEFAkAgAgRAQQEhAAwBCyABLQAAIgJBGHRBGHUiAEEATgRAIAUgAjYCACAAQQBHIQMMBAsgASwAACEAQaT4ACgCACgCAEUEQCAFIABB/78DcTYCAEEBIQMMBAsgAEH/AXFBvn5qIgJBMksNASACQQJ0QbDfAGooAgAhAkEAIgBFDQIgAUEBaiEBCyABLQAAIgdBA3YiCEFwaiACQRp1IAhqckEHSw0AA0AgAEF/aiEAIAdBgH9qIAJBBnRyIgJBAE4EQCAEQQA2AgAgBSACNgIAQQEgAGshAwwECyAARQ0CIAFBAWoiAS0AACIHQcABcUGAAUYNAAsLIARBADYCAEG4+QBBGTYCAEF/IQMMAQsgBCACNgIACyAGQRBqJAAgAwuOAQEDfyMAQRBrIgAkAAJAIABBDGogAEEIahAbDQBBvPkAIAAoAgxBAnRBBGoQ8QIiATYCACABRQ0AAkAgACgCCBDxAiIBBEBBvPkAKAIAIgINAQtBvPkAQQA2AgAMAQsgAiAAKAIMQQJ0akEANgIAQbz5ACgCACABEBxFDQBBvPkAQQA2AgALIABBEGokAAtsAQR/QfAOIQMgAUUEQEEADwsCQEHwDi0AACICRQ0AA0ACQCACIAAtAAAiBEcNACABQX9qIgFFDQAgBEUNACAAQQFqIQAgAy0AASECIANBAWohAyACDQEMAgsLIAIhBQsgBUH/AXEgAC0AAGsLjwEBBH9B8A4QmgIhAwJAQbz5ACgCAEUNAEHwDi0AAEUNAEHwDhCcAg0AQbz5ACgCACgCACIARQ0AAkADQCAAIAMQpgIhAkG8+QAoAgAhACACRQRAIAAgAUECdGooAgAgA2oiAi0AAEE9Rg0CCyAAIAFBAWoiAUECdGooAgAiAA0AC0EADwsgAkEBaiEBCyABC0MBA38CQCACRQ0AA0AgAC0AACIEIAEtAAAiBUYEQCABQQFqIQEgAEEBaiEAIAJBf2oiAg0BDAILCyAEIAVrIQMLIAML3wEBA38gABCcAiIBRQRAIAAQqwIPCwJAIAAgAUYNAAJAQbz5ACgCACgCACICRQ0AIAEgAGtBAWohAQNAIAAgAiABEKgCRQ0BQbz5ACgCACADQQFqIgNBAnRqKAIAIgINAAsLQbz5ACgCACIBIANBAnQiAmooAgBFBEAgAkEIahDxAiIBRQ0BIAFBvPkAKAIAIAIQ/AIaIAEgA0ECdGoiAyAANgIAIANBADYCBEG8+QAgATYCAEHA+QAoAgAQ9AJBwPkAQbz5ACgCACIBNgIACyABIAJqIAA2AgBBAA8LQX8LBwAgABCpAgvdAgEJfyAAEJoCIQYCQAJAIAAtAABFDQAgABCcAg0AQbz5ACgCACgCACIBRQ0BA0AgACABIAYQqAIhAkG8+QAoAgAhAQJAIAJFBEAgASADQQJ0IgdqKAIAIgUgBmotAABBPUYNAQsgASADQQFqIgNBAnRqKAIAIgENAUEADwtBACECAkBBxPkAKAIAIghFDQADQCAIIAIiAUECdCIJaigCACIEBEAgAUEBaiECIAQgBUcNAQsLIAQQ9AJBxPkAKAIAIgIgCWoiBCgCAEUNAANAIAQgAiABQQFqIgFBAnQiBWooAgA2AgBBxPkAKAIAIgIgBWoiBCgCAA0ACwtBvPkAKAIAIgEgB2oiAigCAARAA0AgAiABIANBAWoiA0ECdCIEaigCADYCAEG8+QAoAgAiASAEaiICKAIADQALC0EAIQMgASgCACIBDQALDAELQbj5AEEcNgIAQX8hAwsgAwsWACAARQRAQQAPC0G4+QAgADYCAEF/C8gJAgR/BH4jAEHwAGsiBSQAIARC////////////AIMhCgJAAkAgAUJ/fCIJQn9RIAJC////////////AIMiCyAJIAFUrXxCf3wiCUL///////+///8AViAJQv///////7///wBRG0UEQCADQn98IglCf1IgCiAJIANUrXxCf3wiCUL///////+///8AVCAJQv///////7///wBRGw0BCyABUCALQoCAgICAgMD//wBUIAtCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhBCABIQMMAgsgA1AgCkKAgICAgIDA//8AVCAKQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQQMAgsgASALQoCAgICAgMD//wCFhFAEQEKAgICAgIDg//8AIAIgASADhSACIASFQoCAgICAgICAgH+FhFAiBhshBEIAIAEgBhshAwwCCyADIApCgICAgICAwP//AIWEUA0BIAEgC4RQBEAgAyAKhEIAUg0CIAEgA4MhAyACIASDIQQMAgsgAyAKhFBFDQAgASEDIAIhBAwBCyADIAEgAyABViAKIAtWIAogC1EbIgcbIQogBCACIAcbIgtC////////P4MhCSACIAQgBxsiAkIwiKdB//8BcSEIIAtCMIinQf//AXEiBkUEQCAFQeAAaiAKIAkgCiAJIAlQIgYbeSAGQQZ0rXynIgZBcWoQrgIgBSkDaCEJIAUpA2AhCkEQIAZrIQYLIAEgAyAHGyEDIAJC////////P4MhASAIBH4gAQUgBUHQAGogAyABIAMgASABUCIHG3kgB0EGdK18pyIHQXFqEK4CQRAgB2shCCAFKQNQIQMgBSkDWAtCA4YgA0I9iIRCgICAgICAgASEIQQgCUIDhiAKQj2IhCEBIAIgC4UhCQJ+IANCA4YiAyAGIAhrIgdFDQAaIAdB/wBLBEBCACEEQgEMAQsgBUFAayADIARBgAEgB2sQrgIgBUEwaiADIAQgBxC2AiAFKQM4IQQgBSkDMCAFKQNAIAUpA0iEQgBSrYQLIQMgAUKAgICAgICABIQhDCAKQgOGIQICQCAJQn9XBEAgAiADfSIBIAwgBH0gAiADVK19IgOEUARAQgAhA0IAIQQMAwsgA0L/////////A1YNASAFQSBqIAEgAyABIAMgA1AiBxt5IAdBBnStfKdBdGoiBxCuAiAGIAdrIQYgBSkDKCEDIAUpAyAhAQwBCyACIAN8IgEgA1StIAQgDHx8IgNCgICAgICAgAiDUA0AIAFCAYMgA0I/hiABQgGIhIQhASAGQQFqIQYgA0IBiCEDCyALQoCAgICAgICAgH+DIQQgBkH//wFOBEAgBEKAgICAgIDA//8AhCEEQgAhAwwBC0EAIQcCQCAGQQBKBEAgBiEHDAELIAVBEGogASADIAZB/wBqEK4CIAUgASADQQEgBmsQtgIgBSkDACAFKQMQIAUpAxiEQgBSrYQhASAFKQMIIQMLIANCA4hC////////P4MgBIQgB61CMIaEIANCPYYgAUIDiIQiBCABp0EHcSIGQQRLrXwiAyAEVK18IANCAYNCACAGQQRGGyIBIAN8IgMgAVStfCEECyAAIAM3AwAgACAENwMIIAVB8ABqJAALUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgL2wECAX8CfkEBIQQCQCAAQgBSIAFC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBRGw0AIAJCAFIgA0L///////////8AgyIGQoCAgICAgMD//wBWIAZCgICAgICAwP//AFEbDQAgACAChCAFIAaEhFAEQEEADwsgASADg0IAWQRAQX8hBCAAIAJUIAEgA1MgASADURsNASAAIAKFIAEgA4WEQgBSDwtBfyEEIAAgAlYgASADVSABIANRGw0AIAAgAoUgASADhYRCAFIhBAsgBAvYAQIBfwF+QX8hAgJAIABCAFIgAUL///////////8AgyIDQoCAgICAgMD//wBWIANCgICAgICAwP//AFEbDQAgACADQoCAgICAgID/P4SEUARAQQAPCyABQoCAgICAgID/P4NCAFkEQCAAQgBUIAFCgICAgICAgP8/UyABQoCAgICAgID/P1EbDQEgACABQoCAgICAgID/P4WEQgBSDwsgAEIAViABQoCAgICAgID/P1UgAUKAgICAgICA/z9RGw0AIAAgAUKAgICAgICA/z+FhEIAUiECCyACC7cQAgV/DH4jAEHAAWsiBSQAIARC////////P4MhEiACQv///////z+DIQ4gAiAEhUKAgICAgICAgIB/gyERIARCMIinQf//AXEhBwJAAkACQCACQjCIp0H//wFxIglBf2pB/f8BTQRAIAdBf2pB/v8BSQ0BCyABUCACQv///////////wCDIgtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCERDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIREgAyEBDAILIAEgC0KAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACERDAMLIBFCgICAgICAwP//AIQhEUIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASALhFANAiACIAOEUARAIBFCgICAgICAwP//AIQhEUIAIQEMAgsgC0L///////8/WARAIAVBsAFqIAEgDiABIA4gDlAiBht5IAZBBnStfKciBkFxahCuAkEQIAZrIQYgBSkDuAEhDiAFKQOwASEBCyACQv///////z9WDQAgBUGgAWogAyASIAMgEiASUCIIG3kgCEEGdK18pyIIQXFqEK4CIAYgCGpBcGohBiAFKQOoASESIAUpA6ABIQMLIAVBkAFqIBJCgICAgICAwACEIhRCD4YgA0IxiIQiAkKEyfnOv+a8gvUAIAJ9IgQQuAIgBUGAAWpCACAFKQOYAX0gBBC4AiAFQfAAaiAFKQOIAUIBhiAFKQOAAUI/iIQiBCACELgCIAVB4ABqIARCACAFKQN4fRC4AiAFQdAAaiAFKQNoQgGGIAUpA2BCP4iEIgQgAhC4AiAFQUBrIARCACAFKQNYfRC4AiAFQTBqIAUpA0hCAYYgBSkDQEI/iIQiBCACELgCIAVBIGogBEIAIAUpAzh9ELgCIAVBEGogBSkDKEIBhiAFKQMgQj+IhCIEIAIQuAIgBSAEQgAgBSkDGH0QuAIgBiAJIAdraiEHAn5CACAFKQMIQgGGIAUpAwBCP4iEQn98IgtC/////w+DIgQgAkIgiCIMfiIQIAtCIIgiCyACQv////8PgyIKfnwiAkIghiINIAQgCn58IgogDVStIAsgDH4gAiAQVK1CIIYgAkIgiIR8fCAKIAQgA0IRiEL/////D4MiDH4iECALIANCD4ZCgID+/w+DIg1+fCICQiCGIg8gBCANfnwgD1StIAsgDH4gAiAQVK1CIIYgAkIgiIR8fHwiAiAKVK18IAJCAFKtfH0iCkL/////D4MiDCAEfiIQIAsgDH4iDSAEIApCIIgiD358IgpCIIZ8IgwgEFStIAsgD34gCiANVK1CIIYgCkIgiIR8fCAMQgAgAn0iAkIgiCIKIAR+IhAgAkL/////D4MiDSALfnwiAkIghiIPIAQgDX58IA9UrSAKIAt+IAIgEFStQiCGIAJCIIiEfHx8IgIgDFStfCACQn58IhAgAlStfEJ/fCIKQv////8PgyICIA5CAoYgAUI+iIRC/////w+DIgR+IgwgAUIeiEL/////D4MiCyAKQiCIIgp+fCINIAxUrSANIBBCIIgiDCAOQh6IQv//7/8Pg0KAgBCEIg5+fCIPIA1UrXwgCiAOfnwgAiAOfiITIAQgCn58Ig0gE1StQiCGIA1CIIiEfCAPIA1CIIZ8Ig0gD1StfCANIAsgDH4iEyAQQv////8PgyIQIAR+fCIPIBNUrSAPIAIgAUIChkL8////D4MiE358IhUgD1StfHwiDyANVK18IA8gCiATfiINIA4gEH58IgogBCAMfnwiBCACIAt+fCICQiCIIAIgBFStIAogDVStIAQgClStfHxCIIaEfCIKIA9UrXwgCiAVIAwgE34iBCALIBB+fCILQiCIIAsgBFStQiCGhHwiBCAVVK0gBCACQiCGfCAEVK18fCIEIApUrXwiAkL/////////AFgEQCABQjGGIARC/////w+DIgEgA0L/////D4MiC34iCkIAUq19QgAgCn0iECAEQiCIIgogC34iDSABIANCIIgiDH58Ig5CIIYiD1StfSACQv////8PgyALfiABIBJC/////w+DfnwgCiAMfnwgDiANVK1CIIYgDkIgiIR8IAQgFEIgiH4gAyACQiCIfnwgAiAMfnwgCiASfnxCIIZ8fSELIAdBf2ohByAQIA99DAELIARCIYghDCABQjCGIAJCP4YgBEIBiIQiBEL/////D4MiASADQv////8PgyILfiIKQgBSrX1CACAKfSIQIAEgA0IgiCIKfiINIAwgAkIfhoQiD0L/////D4MiDiALfnwiDEIghiITVK19IAogDn4gAkIBiCIOQv////8PgyALfnwgASASQv////8Pg358IAwgDVStQiCGIAxCIIiEfCAEIBRCIIh+IAMgAkIhiH58IAogDn58IA8gEn58QiCGfH0hCyAOIQIgECATfQshASAHQYCAAU4EQCARQoCAgICAgMD//wCEIRFCACEBDAELIAdBgYB/TARAQgAhAQwBCyAEIAFCAYYgA1ogC0IBhiABQj+IhCIBIBRaIAEgFFEbrXwiASAEVK0gAkL///////8/gyAHQf//AGqtQjCGhHwgEYQhEQsgACABNwMAIAAgETcDCCAFQcABaiQADwsgAEIANwMAIAAgEUKAgICAgIDg//8AIAIgA4RCAFIbNwMIIAVBwAFqJAALgQICAn8EfiMAQRBrIgIkACABvSIFQoCAgICAgICAgH+DIQcCfiAFQv///////////wCDIgRCgICAgICAgHh8Qv/////////v/wBYBEAgBEI8hiEGIARCBIhCgICAgICAgIA8fAwBCyAEQoCAgICAgID4/wBaBEAgBUI8hiEGIAVCBIhCgICAgICAwP//AIQMAQsgBFAEQEIADAELIAIgBEIAIARCgICAgBBaBH8gBEIgiKdnBSAFp2dBIGoLIgNBMWoQrgIgAikDACEGIAIpAwhCgICAgICAwACFQYz4ACADa61CMIaECyEEIAAgBjcDACAAIAQgB4Q3AwggAkEQaiQAC8sBAgR/An4jAEEQayIDJAAgAbwiBEGAgICAeHEhBQJ+IARB/////wdxIgJBgICAfGpB////9wdNBEAgAq1CGYZCgICAgICAgMA/fAwBCyACQYCAgPwHTwRAIAStQhmGQoCAgICAgMD//wCEDAELIAJFBEBCAAwBCyADIAKtQgAgAmciAkHRAGoQrgIgAykDACEGIAMpAwhCgICAgICAwACFQYn/ACACa61CMIaECyEHIAAgBjcDACAAIAcgBa1CIIaENwMIIANBEGokAAt/AgJ/AX4jAEEQayIDJAAgAAJ+IAFFBEBCAAwBCyADIAEgAUEfdSICaiACcyICrUIAIAJnIgJB0QBqEK4CIAMpAwhCgICAgICAwACFQZ6AASACa61CMIZ8IAFBgICAgHhxrUIghoQhBCADKQMACzcDACAAIAQ3AwggA0EQaiQAC2cCAX8BfiMAQRBrIgIkACAAAn4gAUUEQEIADAELIAIgAa1CAEHwACABZ0EfcyIBaxCuAiACKQMIQoCAgICAgMAAhSABQf//AGqtQjCGfCEDIAIpAwALNwMAIAAgAzcDCCACQRBqJAALYAEBfgJAAn4gA0HAAHEEQCACIANBQGqtiCEBQgAhAkIADAELIANFDQEgAkHAACADa62GIAEgA60iBIiEIQEgAiAEiCECQgALIQQgASAEhCEBCyAAIAE3AwAgACACNwMIC54LAgV/D34jAEHgAGsiBSQAIARCL4YgA0IRiIQhDiACQiCGIAFCIIiEIQsgBEL///////8/gyIMQg+GIANCMYiEIRAgAiAEhUKAgICAgICAgIB/gyEKIAxCEYghESACQv///////z+DIg1CIIghEiAEQjCIp0H//wFxIQYCQAJ/IAJCMIinQf//AXEiCEF/akH9/wFNBEBBACAGQX9qQf7/AUkNARoLIAFQIAJC////////////AIMiD0KAgICAgIDA//8AVCAPQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQoMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhCiADIQEMAgsgASAPQoCAgICAgMD//wCFhFAEQCACIAOEUARAQoCAgICAgOD//wAhCkIAIQEMAwsgCkKAgICAgIDA//8AhCEKQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAIAEgD4QhAkIAIQEgAlAEQEKAgICAgIDg//8AIQoMAwsgCkKAgICAgIDA//8AhCEKDAILIAEgD4RQBEBCACEBDAILIAIgA4RQBEBCACEBDAILIA9C////////P1gEQCAFQdAAaiABIA0gASANIA1QIgcbeSAHQQZ0rXynIgdBcWoQrgIgBSkDWCINQiCGIAUpA1AiAUIgiIQhCyANQiCIIRJBECAHayEHCyAHIAJC////////P1YNABogBUFAayADIAwgAyAMIAxQIgkbeSAJQQZ0rXynIglBcWoQrgIgBSkDSCICQg+GIAUpA0AiA0IxiIQhECACQi+GIANCEYiEIQ4gAkIRiCERIAcgCWtBEGoLIQcgDkL/////D4MiAiABQv////8PgyIEfiITIANCD4ZCgID+/w+DIgEgC0L/////D4MiA358Ig5CIIYiDCABIAR+fCILIAxUrSACIAN+IhUgASANQv////8PgyIMfnwiDyAQQv////8PgyINIAR+fCIQIA4gE1StQiCGIA5CIIiEfCITIAIgDH4iFiABIBJCgIAEhCIOfnwiEiADIA1+fCIUIBFC/////weDQoCAgIAIhCIBIAR+fCIRQiCGfCIXfCEEIAYgCGogB2pBgYB/aiEGAkAgDCANfiIYIAIgDn58IgIgGFStIAIgASADfnwiAyACVK18IAMgDyAVVK0gECAPVK18fCICIANUrXwgASAOfnwgASAMfiIDIA0gDn58IgEgA1StQiCGIAFCIIiEfCACIAFCIIZ8IgEgAlStfCABIBEgFFStIBIgFlStIBQgElStfHxCIIYgEUIgiIR8IgMgAVStfCADIBMgEFStIBcgE1StfHwiAiADVK18IgFCgICAgICAwACDUEUEQCAGQQFqIQYMAQsgC0I/iCEDIAFCAYYgAkI/iIQhASACQgGGIARCP4iEIQIgC0IBhiELIAMgBEIBhoQhBAsgBkH//wFOBEAgCkKAgICAgIDA//8AhCEKQgAhAQwBCwJ+IAZBAEwEQEEBIAZrIghB/wBNBEAgBUEQaiALIAQgCBC2AiAFQSBqIAIgASAGQf8AaiIGEK4CIAVBMGogCyAEIAYQrgIgBSACIAEgCBC2AiAFKQMwIAUpAziEQgBSrSAFKQMgIAUpAxCEhCELIAUpAyggBSkDGIQhBCAFKQMAIQIgBSkDCAwCC0IAIQEMAgsgAUL///////8/gyAGrUIwhoQLIAqEIQogC1AgBEJ/VSAEQoCAgICAgICAgH9RG0UEQCAKIAJCAXwiASACVK18IQoMAQsgCyAEQoCAgICAgICAgH+FhFBFBEAgAiEBDAELIAogAiACQgGDfCIBIAJUrXwhCgsgACABNwMAIAAgCjcDCCAFQeAAaiQAC2wBA34gACACQiCIIgMgAUIgiCIEfkIAfCACQv////8PgyICIAFC/////w+DIgF+IgVCIIggAiAEfnwiAkIgiHwgASADfiACQv////8Pg3wiAkIgiHw3AwggACAFQv////8PgyACQiCGhDcDAAtFAQF/IwBBEGsiBSQAIAUgASACIAMgBEKAgICAgICAgIB/hRCtAiAFKQMAIQEgACAFKQMINwMIIAAgATcDACAFQRBqJAAL2QMCAn8CfiMAQSBrIgIkAAJAIAFC////////////AIMiBEKAgICAgIDA/0N8IARCgICAgICAwIC8f3xUBEAgAUIEhiAAQjyIhCEEIABC//////////8PgyIAQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQUMAgsgBEKAgICAgICAgEB9IQUgAEKAgICAgICAgAiFQgBSDQEgBUIBgyAFfCEFDAELIABQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhBQwBC0KAgICAgICA+P8AIQUgBEL///////+//8MAVg0AQgAhBSAEQjCIpyIDQZH3AEkNACACIAAgAUL///////8/g0KAgICAgIDAAIQiBEGB+AAgA2sQtgIgAkEQaiAAIAQgA0H/iH9qEK4CIAIpAwhCBIYgAikDACIEQjyIhCEFIAIpAxAgAikDGIRCAFKtIARC//////////8Pg4QiBEKBgICAgICAgAhaBEAgBUIBfCEFDAELIARCgICAgICAgIAIhUIAUg0AIAVCAYMgBXwhBQsgAkEgaiQAIAUgAUKAgICAgICAgIB/g4S/C7YDAgN/AX4jAEEgayIDJAACQCABQv///////////wCDIgVCgICAgICAwL9AfCAFQoCAgICAgMDAv398VARAIAFCGYinIQIgAFAgAUL///8PgyIFQoCAgAhUIAVCgICACFEbRQRAIAJBgYCAgARqIQIMAgsgAkGAgICABGohAiAAIAVCgICACIWEQgBSDQEgAkEBcSACaiECDAELIABQIAVCgICAgICAwP//AFQgBUKAgICAgIDA//8AURtFBEAgAUIZiKdB////AXFBgICA/gdyIQIMAQtBgICA/AchAiAFQv///////7+/wABWDQBBACECIAVCMIinIgRBkf4ASQ0AIAMgACABQv///////z+DQoCAgICAgMAAhCIFQYH/ACAEaxC2AiADQRBqIAAgBSAEQf+Bf2oQrgIgAykDCCIFQhmIpyECIAMpAwAgAykDECADKQMYhEIAUq2EIgBQIAVC////D4MiBUKAgIAIVCAFQoCAgAhRG0UEQCACQQFqIQIMAQsgACAFQoCAgAiFhEIAUg0AIAJBAXEgAmohAgsgA0EgaiQAIAIgAUIgiKdBgICAgHhxcr4LHwBByPkAKAIARQRAQcz5ACABNgIA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KAIENgIEIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAIgASgCFDYCFCACIAEoAhg2AhggAiABKAIcNgIcIAIgASgCIDYCICACIAEoAiQ2AiQgAiABKAIoNgIoIAIgASgCLDYCLCACIAEoAjA2AjAgAiABKAI0NgI0IAIgASgCODYCOCACIAEoAjw2AjwgAUFAayEBIAJBQGsiAiAFTQ0ACwsgAiAETw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgBEkNAAsMAQsgA0EESQRAIAAhAgwBCyADQXxqIgQgAEkEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAAC/MCAgJ/AX4CQCACRQ0AIAAgAmoiA0F/aiABOgAAIAAgAToAACACQQNJDQAgA0F+aiABOgAAIAAgAToAASADQX1qIAE6AAAgACABOgACIAJBB0kNACADQXxqIAE6AAAgACABOgADIAJBCUkNACAAQQAgAGtBA3EiBGoiAyABQf8BcUGBgoQIbCIBNgIAIAMgAiAEa0F8cSIEaiICQXxqIAE2AgAgBEEJSQ0AIAMgATYCCCADIAE2AgQgAkF4aiABNgIAIAJBdGogATYCACAEQRlJDQAgAyABNgIYIAMgATYCFCADIAE2AhAgAyABNgIMIAJBcGogATYCACACQWxqIAE2AgAgAkFoaiABNgIAIAJBZGogATYCACAEIANBBHFBGHIiBGsiAkEgSQ0AIAGtIgVCIIYgBYQhBSADIARqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAsEAEEACwkAIAEgABEAAAsNACABIAIgAyAAEQgACwkAIAEgABEBAAsLACABIAIgABEGAAsNACABIAIgAyAAEQMACwQAIwALEAAjACAAa0FwcSIAJAAgAAsGACAAJAALBgAgAEAACwsAIAEgAiAAEQIACxEAIAEgAiADIAQgBSAAEQkACxMAIAEgAiADIAQgBSAGIAARDwALDwAgASACIAMgBCAAEQoACw8AIAEgAiADIAQgABEFAAsVACABIAIgAyAEIAUgBiAHIAARDAALEQAgASACIAMgBCAFIAARBAALEwAgASACIAMgBCAFIAYgABELAAsiAQF+IAEgAq0gA61CIIaEIAQgABEVACIFQiCIpxATIAWnCwvFaTMAQYAIC4cCVWludDhDbGFtcGVkQXJyYXkARnJhbWVJbmZvAHdpZHRoAGhlaWdodABiaXRzUGVyU2FtcGxlAGNvbXBvbmVudENvdW50AGlzU2lnbmVkAEpQRUdEZWNvZGVyAGdldEVuY29kZWRCdWZmZXIAZ2V0RGVjb2RlZEJ1ZmZlcgByZWFkSGVhZGVyAGRlY29kZQBnZXRGcmFtZUluZm8ATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAADcMgAAnAQAALwEAABpbml0aWFsaXppbmcgZGVjb21wcmVzc29yCgByZWFkaW5nIGhlYWRlcgBlcnJvciByZWFkaW5nIGhlYWRlcgoAQZAKC5oCAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAAAQAAAAQAAAAEAAAABAAAAAQAAAAEAAAAfn5kZWNvbXByZXNzaW5nIEpQRUcgaW1hZ2UKADlGcmFtZUluZm8AANwyAABcBQAAaQB2aQBpaWkAdmlpaQAxMUpQRUdEZWNvZGVyANwyAAB+BQAAUDExSlBFR0RlY29kZXIAALwzAACUBQAAAAAAAIwFAABQSzExSlBFR0RlY29kZXIAvDMAALQFAAABAAAAjAUAAGlpAHYAAAAApAUAAAAGAACkBQAAtDIAAE4xMGVtc2NyaXB0ZW4zdmFsRQAA3DIAAOwFAABpaWlpAAAAAAAGAACkBQAAHDIAAKQFAAB2aWkAaAUAAMQFAEG0DAvkLwEAAAAIAAAAEAAAAAkAAAACAAAAAwAAAAoAAAARAAAAGAAAACAAAAAZAAAAEgAAAAsAAAAEAAAABQAAAAwAAAATAAAAGgAAACEAAAAoAAAAMAAAACkAAAAiAAAAGwAAABQAAAANAAAABgAAAAcAAAAOAAAAFQAAABwAAAAjAAAAKgAAADEAAAA4AAAAOQAAADIAAAArAAAAJAAAAB0AAAAWAAAADwAAABcAAAAeAAAAJQAAACwAAAAzAAAAOgAAADsAAAA0AAAALQAAACYAAAAfAAAAJwAAAC4AAAA1AAAAPAAAAD0AAAA2AAAALwAAADcAAAA+AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAABKUEVHTUVNACVsZCVjAAAAQAYAAIA+AAAAAAAAiBMAAEJvZ3VzIG1lc3NhZ2UgY29kZSAlZABTb3JyeSwgYXJpdGhtZXRpYyBjb2RpbmcgaXMgbm90IGltcGxlbWVudGVkAEFMSUdOX1RZUEUgaXMgd3JvbmcsIHBsZWFzZSBmaXgATUFYX0FMTE9DX0NIVU5LIGlzIHdyb25nLCBwbGVhc2UgZml4AEJvZ3VzIGJ1ZmZlciBjb250cm9sIG1vZGUASW52YWxpZCBjb21wb25lbnQgSUQgJWQgaW4gU09TAERDVCBjb2VmZmljaWVudCBvdXQgb2YgcmFuZ2UASURDVCBvdXRwdXQgYmxvY2sgc2l6ZSAlZCBub3Qgc3VwcG9ydGVkAEJvZ3VzIEh1ZmZtYW4gdGFibGUgZGVmaW5pdGlvbgBCb2d1cyBpbnB1dCBjb2xvcnNwYWNlAEJvZ3VzIEpQRUcgY29sb3JzcGFjZQBCb2d1cyBtYXJrZXIgbGVuZ3RoAFdyb25nIEpQRUcgbGlicmFyeSB2ZXJzaW9uOiBsaWJyYXJ5IGlzICVkLCBjYWxsZXIgZXhwZWN0cyAlZABTYW1wbGluZyBmYWN0b3JzIHRvbyBsYXJnZSBmb3IgaW50ZXJsZWF2ZWQgc2NhbgBJbnZhbGlkIG1lbW9yeSBwb29sIGNvZGUgJWQAVW5zdXBwb3J0ZWQgSlBFRyBkYXRhIHByZWNpc2lvbiAlZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgU3M9JWQgU2U9JWQgQWg9JWQgQWw9JWQASW52YWxpZCBwcm9ncmVzc2l2ZSBwYXJhbWV0ZXJzIGF0IHNjYW4gc2NyaXB0IGVudHJ5ICVkAEJvZ3VzIHNhbXBsaW5nIGZhY3RvcnMASW52YWxpZCBzY2FuIHNjcmlwdCBhdCBlbnRyeSAlZABJbXByb3BlciBjYWxsIHRvIEpQRUcgbGlicmFyeSBpbiBzdGF0ZSAlZABKUEVHIHBhcmFtZXRlciBzdHJ1Y3QgbWlzbWF0Y2g6IGxpYnJhcnkgdGhpbmtzIHNpemUgaXMgJXUsIGNhbGxlciBleHBlY3RzICV1AEJvZ3VzIHZpcnR1YWwgYXJyYXkgYWNjZXNzAEJ1ZmZlciBwYXNzZWQgdG8gSlBFRyBsaWJyYXJ5IGlzIHRvbyBzbWFsbABTdXNwZW5zaW9uIG5vdCBhbGxvd2VkIGhlcmUAQ0NJUjYwMSBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AFRvbyBtYW55IGNvbG9yIGNvbXBvbmVudHM6ICVkLCBtYXggJWQAVW5zdXBwb3J0ZWQgY29sb3IgY29udmVyc2lvbiByZXF1ZXN0AEJvZ3VzIERBQyBpbmRleCAlZABCb2d1cyBEQUMgdmFsdWUgMHgleABCb2d1cyBESFQgaW5kZXggJWQAQm9ndXMgRFFUIGluZGV4ICVkAEVtcHR5IEpQRUcgaW1hZ2UgKEROTCBub3Qgc3VwcG9ydGVkKQBSZWFkIGZyb20gRU1TIGZhaWxlZABXcml0ZSB0byBFTVMgZmFpbGVkAERpZG4ndCBleHBlY3QgbW9yZSB0aGFuIG9uZSBzY2FuAElucHV0IGZpbGUgcmVhZCBlcnJvcgBPdXRwdXQgZmlsZSB3cml0ZSBlcnJvciAtLS0gb3V0IG9mIGRpc2sgc3BhY2U/AEZyYWN0aW9uYWwgc2FtcGxpbmcgbm90IGltcGxlbWVudGVkIHlldABIdWZmbWFuIGNvZGUgc2l6ZSB0YWJsZSBvdmVyZmxvdwBNaXNzaW5nIEh1ZmZtYW4gY29kZSB0YWJsZSBlbnRyeQBNYXhpbXVtIHN1cHBvcnRlZCBpbWFnZSBkaW1lbnNpb24gaXMgJXUgcGl4ZWxzAEVtcHR5IGlucHV0IGZpbGUAUHJlbWF0dXJlIGVuZCBvZiBpbnB1dCBmaWxlAENhbm5vdCB0cmFuc2NvZGUgZHVlIHRvIG11bHRpcGxlIHVzZSBvZiBxdWFudGl6YXRpb24gdGFibGUgJWQAU2NhbiBzY3JpcHQgZG9lcyBub3QgdHJhbnNtaXQgYWxsIGRhdGEASW52YWxpZCBjb2xvciBxdWFudGl6YXRpb24gbW9kZSBjaGFuZ2UATm90IGltcGxlbWVudGVkIHlldABSZXF1ZXN0ZWQgZmVhdHVyZSB3YXMgb21pdHRlZCBhdCBjb21waWxlIHRpbWUAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiB0d28gU09GIG1hcmtlcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiBtaXNzaW5nIFNPUyBtYXJrZXIAVW5zdXBwb3J0ZWQgSlBFRyBwcm9jZXNzOiBTT0YgdHlwZSAweCUwMngASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiB0d28gU09JIG1hcmtlcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiBTT1MgYmVmb3JlIFNPRgBGYWlsZWQgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlICVzAFJlYWQgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlAFNlZWsgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlAFdyaXRlIGZhaWxlZCBvbiB0ZW1wb3JhcnkgZmlsZSAtLS0gb3V0IG9mIGRpc2sgc3BhY2U/AEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBmZXcgc2NhbmxpbmVzAFVuc3VwcG9ydGVkIG1hcmtlciB0eXBlIDB4JTAyeABWaXJ0dWFsIGFycmF5IGNvbnRyb2xsZXIgbWVzc2VkIHVwAEltYWdlIHRvbyB3aWRlIGZvciB0aGlzIGltcGxlbWVudGF0aW9uAFJlYWQgZnJvbSBYTVMgZmFpbGVkAFdyaXRlIHRvIFhNUyBmYWlsZWQAQ29weXJpZ2h0IChDKSAxOTkxLTIwMjEgVGhlIGxpYmpwZWctdHVyYm8gUHJvamVjdCBhbmQgbWFueSBvdGhlcnMANmIgIDI3LU1hci0xOTk4AENhdXRpb246IHF1YW50aXphdGlvbiB0YWJsZXMgYXJlIHRvbyBjb2Fyc2UgZm9yIGJhc2VsaW5lIEpQRUcAQWRvYmUgQVBQMTQgbWFya2VyOiB2ZXJzaW9uICVkLCBmbGFncyAweCUwNHggMHglMDR4LCB0cmFuc2Zvcm0gJWQAVW5rbm93biBBUFAwIG1hcmtlciAobm90IEpGSUYpLCBsZW5ndGggJXUAVW5rbm93biBBUFAxNCBtYXJrZXIgKG5vdCBBZG9iZSksIGxlbmd0aCAldQBEZWZpbmUgQXJpdGhtZXRpYyBUYWJsZSAweCUwMng6IDB4JTAyeABEZWZpbmUgSHVmZm1hbiBUYWJsZSAweCUwMngARGVmaW5lIFF1YW50aXphdGlvbiBUYWJsZSAlZCAgcHJlY2lzaW9uICVkAERlZmluZSBSZXN0YXJ0IEludGVydmFsICV1AEZyZWVkIEVNUyBoYW5kbGUgJXUAT2J0YWluZWQgRU1TIGhhbmRsZSAldQBFbmQgT2YgSW1hZ2UAICAgICAgICAlM2QgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkAEpGSUYgQVBQMCBtYXJrZXI6IHZlcnNpb24gJWQuJTAyZCwgZGVuc2l0eSAlZHglZCAgJWQAV2FybmluZzogdGh1bWJuYWlsIGltYWdlIHNpemUgZG9lcyBub3QgbWF0Y2ggZGF0YSBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiB0eXBlIDB4JTAyeCwgbGVuZ3RoICV1ACAgICB3aXRoICVkIHggJWQgdGh1bWJuYWlsIGltYWdlAE1pc2NlbGxhbmVvdXMgbWFya2VyIDB4JTAyeCwgbGVuZ3RoICV1AFVuZXhwZWN0ZWQgbWFya2VyIDB4JTAyeAAgICAgICAgICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUAUXVhbnRpemluZyB0byAlZCA9ICVkKiVkKiVkIGNvbG9ycwBRdWFudGl6aW5nIHRvICVkIGNvbG9ycwBTZWxlY3RlZCAlZCBjb2xvcnMgZm9yIHF1YW50aXphdGlvbgBBdCBtYXJrZXIgMHglMDJ4LCByZWNvdmVyeSBhY3Rpb24gJWQAUlNUJWQAU21vb3RoaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBub25zdGFuZGFyZCBzYW1wbGluZyByYXRpb3MAU3RhcnQgT2YgRnJhbWUgMHglMDJ4OiB3aWR0aD0ldSwgaGVpZ2h0PSV1LCBjb21wb25lbnRzPSVkACAgICBDb21wb25lbnQgJWQ6ICVkaHglZHYgcT0lZABTdGFydCBvZiBJbWFnZQBTdGFydCBPZiBTY2FuOiAlZCBjb21wb25lbnRzACAgICBDb21wb25lbnQgJWQ6IGRjPSVkIGFjPSVkACAgU3M9JWQsIFNlPSVkLCBBaD0lZCwgQWw9JWQAQ2xvc2VkIHRlbXBvcmFyeSBmaWxlICVzAE9wZW5lZCB0ZW1wb3JhcnkgZmlsZSAlcwBKRklGIGV4dGVuc2lvbiBtYXJrZXI6IEpQRUctY29tcHJlc3NlZCB0aHVtYm5haWwgaW1hZ2UsIGxlbmd0aCAldQBKRklGIGV4dGVuc2lvbiBtYXJrZXI6IHBhbGV0dGUgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBSR0IgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUAVW5yZWNvZ25pemVkIGNvbXBvbmVudCBJRHMgJWQgJWQgJWQsIGFzc3VtaW5nIFlDYkNyAEZyZWVkIFhNUyBoYW5kbGUgJXUAT2J0YWluZWQgWE1TIGhhbmRsZSAldQBVbmtub3duIEFkb2JlIGNvbG9yIHRyYW5zZm9ybSBjb2RlICVkAEluY29uc2lzdGVudCBwcm9ncmVzc2lvbiBzZXF1ZW5jZSBmb3IgY29tcG9uZW50ICVkIGNvZWZmaWNpZW50ICVkAENvcnJ1cHQgSlBFRyBkYXRhOiAldSBleHRyYW5lb3VzIGJ5dGVzIGJlZm9yZSBtYXJrZXIgMHglMDJ4AENvcnJ1cHQgSlBFRyBkYXRhOiBwcmVtYXR1cmUgZW5kIG9mIGRhdGEgc2VnbWVudABDb3JydXB0IEpQRUcgZGF0YTogYmFkIEh1ZmZtYW4gY29kZQBXYXJuaW5nOiB1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//////8CAAAA////////////////AgAAAAIAQeg/C0ABAAAAAwAAAAIAAAAAAAAAAQAAAAMAAAD/////AgAAAAMAAAABAAAA//////////8AAAAA////////////////AEGwwAALJAIAAAACAAAAAwAAAAEAAAAAAAAAAgAAAAMAAAABAAAA/////wBB4MAAC0T//////////wEAAAD///////////////8BAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAQAAAAIAAAACAAAA/////wBBsMEACx3//////////wIAAAD///////////////8CAAAAAgBB2MEACxwBAAAAAwAAAAIAAAAAAAAAAQAAAAMAAAD/////AEGAwgALVAoCCAAGDgQMCQELAwUNBw///////////wMAAAD///////////////8DAAAABAAAAAMAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAA/////wBB4MIAC9oBCgIIAAYOBAwJAQsDBQ0HDwBAxVifU0JLAEBJMqMiqBHFWCF7/HNiaMVYv0ULMH4Yn1P8c0FtVGKfU7NBQS0SF0JLYmhUYn5YQkshO7oowxQAQMVYn1NCSwBASTKjIqgRSTK/RbNBITtJMoInNxvgDaMiCzBBLboooyI3G78SjgmoEX4YEhfDFKgR4A2OCd8EAAAAAAAA8D/vYUixUDH2P8pvTZGu5/Q/qhFs72LQ8j8AAAAAAADwPzu/p8BpJOk/uyDHe3pR4T9dq3LeVajRPwAAAQUBAQEBAQEAQdLEAAsvAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLAAAAAAACAQMDAgQDBQUEBAAAAX0AQZDFAAuiAQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gBBwsYACw8CAQIEBAMEBwUEBAABAncAQeHGAAuhAQECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6AEGQyAALdf//////////AwAAAP///////////////wMAAAAEAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAD/////SW52YWxpZCBoYW5kbGUATm8gZXJyb3IAAAAAAAgAAAAQAAAAEAAAAAgAAAAIAAAAIABBkMkACxUIAAAACAAAABAAAAAIAAAAEAAAAAgAQbDJAAu2BQMAAAADAAAABAAAAAQAAAAEAAAABAAAAAEAAAAEAAAABAAAAAQAAAAEAAAABAAAAEpTSU1EX0ZPUkNFTU1YPTEASlNJTURfRk9SQ0VTU0U9MQBKU0lNRF9GT1JDRVNTRTI9MQB0akluaXREZWNvbXByZXNzKCk6IE1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUAdGpEZWNvbXByZXNzSGVhZGVyMygpOiBJbnN0YW5jZSBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgZm9yIGRlY29tcHJlc3Npb24AdGpEZWNvbXByZXNzSGVhZGVyMygpOiBJbnZhbGlkIGFyZ3VtZW50AHRqRGVjb21wcmVzc0hlYWRlcjMoKTogQ291bGQgbm90IGRldGVybWluZSBzdWJzYW1wbGluZyB0eXBlIGZvciBKUEVHIGltYWdlAHRqRGVjb21wcmVzc0hlYWRlcjMoKTogQ291bGQgbm90IGRldGVybWluZSBjb2xvcnNwYWNlIG9mIEpQRUcgaW1hZ2UAdGpEZWNvbXByZXNzSGVhZGVyMygpOiBJbnZhbGlkIGRhdGEgcmV0dXJuZWQgaW4gaGVhZGVyAAAAAAAAAgAAAAEAAAAPAAAACAAAAAcAAAAEAAAADQAAAAgAAAADAAAAAgAAAAsAAAAIAAAABQAAAAQAAAAJAAAACAAAAAEAAAABAAAABwAAAAgAAAADAAAABAAAAAUAAAAIAAAAAQAAAAIAAAADAAAACAAAAAEAAAAEAAAAAQAAAAgAAAB0akRlY29tcHJlc3MyKCk6IEluc3RhbmNlIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCBmb3IgZGVjb21wcmVzc2lvbgB0akRlY29tcHJlc3MyKCk6IEludmFsaWQgYXJndW1lbnQAQfDOAAv4BwYAAAAIAAAABwAAAAkAAAAKAAAACwAAAAEAAAAMAAAADQAAAA4AAAAPAAAABAAAAHRqRGVjb21wcmVzczIoKTogQ291bGQgbm90IHNjYWxlIGRvd24gdG8gZGVzaXJlZCBpbWFnZSBkaW1lbnNpb25zAHRqRGVjb21wcmVzczIoKTogTWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQBVbnN1cHBvcnRlZCBCTVAgY29sb3JtYXAgZm9ybWF0AE9ubHkgOC0sIDI0LSwgYW5kIDMyLWJpdCBCTVAgZmlsZXMgYXJlIHN1cHBvcnRlZABJbnZhbGlkIEJNUCBmaWxlOiBiYWQgaGVhZGVyIGxlbmd0aABJbnZhbGlkIEJNUCBmaWxlOiBiaVBsYW5lcyBub3QgZXF1YWwgdG8gMQBCTVAgb3V0cHV0IG11c3QgYmUgZ3JheXNjYWxlIG9yIFJHQgBTb3JyeSwgY29tcHJlc3NlZCBCTVBzIG5vdCB5ZXQgc3VwcG9ydGVkAEVtcHR5IEJNUCBpbWFnZQBOb3QgYSBCTVAgZmlsZSAtIGRvZXMgbm90IHN0YXJ0IHdpdGggQk0ATnVtZXJpYyB2YWx1ZSBvdXQgb2YgcmFuZ2UgaW4gQk1QIGZpbGUAJXV4JXUgJWQtYml0IEJNUCBpbWFnZQAldXgldSA4LWJpdCBjb2xvcm1hcHBlZCBCTVAgaW1hZ2UAJXV4JXUgJWQtYml0IE9TMiBCTVAgaW1hZ2UAJXV4JXUgOC1iaXQgY29sb3JtYXBwZWQgT1MyIEJNUCBpbWFnZQBQUE0gb3V0cHV0IG11c3QgYmUgZ3JheXNjYWxlIG9yIFJHQgBOb25udW1lcmljIGRhdGEgaW4gUFBNIGZpbGUATm90IGEgUFBNL1BHTSBmaWxlAE51bWVyaWMgdmFsdWUgb3V0IG9mIHJhbmdlIGluIFBQTSBmaWxlACV1eCV1IFBHTSBpbWFnZQAldXgldSB0ZXh0IFBHTSBpbWFnZQAldXgldSBQUE0gaW1hZ2UAJXV4JXUgdGV4dCBQUE0gaW1hZ2UAVGFyZ2Egc3VwcG9ydCB3YXMgbm90IGNvbXBpbGVkAENvbG9yIG1hcCBmaWxlIGlzIGludmFsaWQgb3Igb2YgdW5zdXBwb3J0ZWQgZm9ybWF0AE91dHB1dCBmaWxlIGZvcm1hdCBjYW5ub3QgaGFuZGxlICVkIGNvbG9ybWFwIGVudHJpZXMAdW5nZXRjIGZhaWxlZABVbnJlY29nbml6ZWQgaW5wdXQgZmlsZSBmb3JtYXQAVW5zdXBwb3J0ZWQgb3V0cHV0IGZpbGUgZm9ybWF0AEHw1gALQAMAAAADAAAAAwAAAAEAAAADAAAAAwAAAAIAAAAAAAAAAQAAAAMAAAAEAAAA/9kAAC0rICAgMFgweAAobnVsbCkAQcDXAAsYEQAKABEREQAAAAAFAAAAAAAACQAAAAALAEHg1wALIREADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQBBkdgACwELAEGa2AALGBEACgoREREACgAAAgAJCwAAAAkACwAACwBBy9gACwEMAEHX2AALFQwAAAAADAAAAAAJDAAAAAAADAAADABBhdkACwEOAEGR2QALFQ0AAAAEDQAAAAAJDgAAAAAADgAADgBBv9kACwEQAEHL2QALHg8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgBBgtoACw4SAAAAEhISAAAAAAAACQBBs9oACwELAEG/2gALFQoAAAAACgAAAAAJCwAAAAAACwAACwBB7doACwEMAEH52gALKQwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRtg6AEHM2wALAbUAQfPbAAsF//////8AQcDcAAuWAv////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAaW5maW5pdHkAbmFuAEHg3gALSNF0ngBXnb0qgHBSD///PicKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BRgAAAA1AAAAcQAAAGv////O+///kr///wBBsN8AC94TAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTdmVjdG9yAFN0OXR5cGVfaW5mbwDcMgAAgzAAAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAAAQzAACYMAAAkDAAAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAAAQzAADIMAAAvDAAAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQAAAAQzAAD4MAAAvDAAAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAAQzAAAoMQAAHDEAAE4xMF9fY3h4YWJpdjEyMF9fZnVuY3Rpb25fdHlwZV9pbmZvRQAAAAAEMwAAWDEAALwwAABOMTBfX2N4eGFiaXYxMjlfX3BvaW50ZXJfdG9fbWVtYmVyX3R5cGVfaW5mb0UAAAAEMwAAjDEAABwxAAAAAAAADDIAALcAAAC4AAAAuQAAALoAAAC7AAAATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAAQzAADkMQAAvDAAAHYAAADQMQAAGDIAAERuAADQMQAAJDIAAGIAAADQMQAAMDIAAGMAAADQMQAAPDIAAFBLYwC8MwAASDIAAAEAAABAMgAAaAAAANAxAABcMgAAYQAAANAxAABoMgAAcwAAANAxAAB0MgAAdAAAANAxAACAMgAAaQAAANAxAACMMgAAagAAANAxAACYMgAAbAAAANAxAACkMgAAbQAAANAxAACwMgAAZgAAANAxAAC8MgAAZAAAANAxAADIMgAAAAAAAOwwAAC3AAAAvAAAALkAAAC6AAAAvQAAAL4AAAC/AAAAwAAAAAAAAABMMwAAtwAAAMEAAAC5AAAAugAAAL0AAADCAAAAwwAAAMQAAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAABDMAACQzAADsMAAAAAAAAKgzAAC3AAAAxQAAALkAAAC6AAAAvQAAAMYAAADHAAAAyAAAAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAAAAEMwAAgDMAAOwwAAAAAAAATDEAALcAAADJAAAAuQAAALoAAADKAAAAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAAAAA3DIAAAc3AABgMwAAyDYAAAAAAAABAAAAMDcAAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAAYDMAAFA3AAAAAAAAAQAAADA3AAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUAAGAzAACoNwAAAAAAAAEAAAAwNwAAAAAAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQAA3DIAAAA4AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUAANwyAAAoOAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAADcMgAAUDgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQAA3DIAAHg4AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUAANwyAACgOAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAADcMgAAyDgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQAA3DIAAPA4AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUAANwyAAAYOQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAADcMgAAQDkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQAA3DIAAGg5AEGQ8wALCE5vIGVycm9yAEHk9AALag0oAAAtKAAAXigAAIIoAACsKAAA0CgAAPkoAAAJKQAAMSkAAFgpAABvKQAAkSkAAKwpAADSKQAA9ikAABIqAAAlKgAATCoAAFwqAABxKgAAgSoAAJYqAAC1KgAA6CoAAB0rAAArKwAASisAQdj1AAsBBQBB5PUACwGyAEH89QALCrMAAAC0AAAAcTwAQZT2AAsBAgBBo/YACwX//////wBBpPgACwKcPA=="},7414:A=>{"use strict";A.exports="data:application/wasm;base64,AGFzbQEAAAABxQImYAF/AGADf39/AX9gBH9/f38Bf2ABfwF/YAJ/fwBgA39/fwBgAn9/AX9gAABgBH9/f38AYAZ/f39/f38AYAABf2AFf39/f38AYAV/f39/fwF/YAJ+fwF/YAN/fn8BfmAHf39/f39/fwF/YAN/fn8Bf2AGf39/f39/AX9gCH9/f39/f39/AX9gAn5/AX5gB39/f39/f38AYAt/f39/f39/f39/fwF/YAZ/fH9/f38Bf2AIf39/f39/f38AYAR/fn5/AGAJf39/f39/f39/AX9gDH9/f39/f39/f39/fwF/YAp/f39/f39/f39/AGAMf39/f39/f39/f39/AGANf39/f39/f39/f39/fwBgBn9/f39/fQBgBX9/f35/AX9gB39/fH9/f38Bf2ADfn9/AX9gAX8BfmABfwF8YAJ+fgF8YAJ8fwF8AuYHJANlbnYNX2VtdmFsX2RlY3JlZgAAA2Vudh1fZW1iaW5kX3JlZ2lzdGVyX3ZhbHVlX29iamVjdAAJA2VudiNfZW1iaW5kX3JlZ2lzdGVyX3ZhbHVlX29iamVjdF9maWVsZAAbA2Vudh1fZW1iaW5kX2ZpbmFsaXplX3ZhbHVlX29iamVjdAAAA2VudhZfZW1iaW5kX3JlZ2lzdGVyX2NsYXNzAB0DZW52Il9lbWJpbmRfcmVnaXN0ZXJfY2xhc3NfY29uc3RydWN0b3IACQNlbnYfX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19mdW5jdGlvbgAXA2VudhFfZW12YWxfdGFrZV92YWx1ZQAGA2VudhFfZW12YWxfZ2V0X2dsb2JhbAADA2VudhNfX2N4YV90aHJlYWRfYXRleGl0AAEDZW52Cl9lbXZhbF9uZXcAAgNlbnYNX2VtdmFsX2luY3JlZgAAA2VudgdzeXNjb25mAAMDZW52EXB0aHJlYWRfY29uZF9pbml0AAYDZW52FHB0aHJlYWRfY29uZF9kZXN0cm95AAMDZW52EXB0aHJlYWRfYXR0cl9pbml0AAMDZW52G3B0aHJlYWRfYXR0cl9zZXRkZXRhY2hzdGF0ZQAGA2Vudg5wdGhyZWFkX2NyZWF0ZQACA2VudgxwdGhyZWFkX2pvaW4ABhZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxCGZkX3dyaXRlAAIWd2FzaV9zbmFw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BWooAhAiAEUNACAAEA4aIAAQ9wILIAEgBDYCBEEAIQIMAQsgASgCACIDIAVqIAI2AgRBASECIARBAWoiBCAARw0BCwsgASgCDBogASgCICABKAIESARAA0AgASgCCBogASgCDBogASgCICABKAIESA0ACwsgASgCDBogASgCECEAIAJFDQAgAEECRw0CCyABEHELQQAhAQsgBkEwaiQAIAELlgMBBX8gACgCACEBQQFBCBCQAiEDIAEoAgwaAkACQCABKAIQQQFGDQADQAJAAkAgASgCFCICRQRAIAAoAghFBEAgAEEBNgIIIAEgASgCIEEBajYCIEEIEI8CIgJFDQIgAiAANgIAIAIgASgCHDYCBCABIAI2AhwLIAEoAggaIAAoAgwaIAEoAgwaIAAoAhAaIAAoAgwaIAAoAgwaIAEoAgwaIAEoAhBBAUcNAwwECyABIAIoAgQ2AhQgAigCACEEIAEoAgwaIAIQ9wIgBEUNBCAEKAIAIgIEQCAEKAIEIAMgAhEEAAsgBBD3AiABKAIMGiABIAEoAhhBf2o2AhggASgCGCABKAIoSg0BIAEoAggaDAELIAFBAjYCECABKAIIGgwCCyABKAIQQQFHDQALCyABKAIMGgsgAwRAIAMoAgAhAiADKAIEIgRBAU4EQEEAIQEDQCACIAFBDGxqIgAoAggiBQRAIAAoAgQgBREAACADKAIEIQQgAygCACECCyABQQFqIgEgBEgNAAsLIAIQ9wIgAxD3AgsL0AMBB38jAEEQayIGJAAgAARAAkAgACgCCEUNACAAKAIMBEAgAEEANgIoIAAoAhhBAU4EQANAIAAoAggaIAAoAgwaIAAoAhhBAEoNAAsLIAAoAgwaIAAoAgwaCyAAQQE2AhAgACgCDBogACgCACECIAAoAgRBAU4EQANAIAIgA0EUbCIBaigCDBogACgCACABaigCEBogACgCACABaigCDBogACgCACABaigCBCICKAIIIAZBDGoQEhogAhD3AgJ/IAAoAgAiAiABaigCECIFBEAgBRAOGiAFEPcCIAAoAgAhAgsgASACaigCDCIBCwRAIAEQ9wIgACgCACECCyADQQFqIgMgACgCBEgNAAsLIAIQ9wIgACgCHCICBEADQCACKAIEIQEgAhD3AiAAIAE2AhwgASECIAENAAsLIAAoAggiAUUNACABEA4a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IAEgBIQhAQsgACABNwMAIAAgAjcDCAtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAvZAwICfwJ+IwBBIGsiAiQAAkAgAUL///////////8AgyIEQoCAgICAgMD/Q3wgBEKAgICAgIDAgLx/fFQEQCABQgSGIABCPIiEIQQgAEL//////////w+DIgBCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhBQwCCyAEQoCAgICAgICAQH0hBSAAQoCAgICAgICACIVCAFINASAFQgGDIAV8IQUMAQsgAFAgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCABQgSGIABCPIiEQv////////8Dg0KAgICAgICA/P8AhCEFDAELQoCAgICAgID4/wAhBSAEQv///////7//wwBWDQBCACEFIARCMIinIgNBkfcASQ0AIAIgACABQv///////z+DQoCAgICAgMAAhCIEQYH4ACADaxC9AiACQRBqIAAgBCADQf+If2oQvgIgAikDCEIEhiACKQMAIgRCPIiEIQUgAikDECACKQMYhEIAUq0gBEL//////////w+DhCIEQoGAgICAgICACFoEQCAFQgF8IQUMAQsgBEKAgICAgICAgAiFQgBSDQAgBUIBgyAFfCEFCyACQSBqJAAgBSABQoCAgICAgICAgH+DhL8LMQECfyAAQQEgABshAQNAAkAgARD0AiICDQBBkLoBKAIAIgBFDQAgABEHAAwBCwsgAgsEACAACwcAIAAQ9wILCwAgACABQQAQxAILHAAgAkUEQCAAIAFGDwsgACgCBCABKAIEELUCRQukAQEBfyMAQUBqIgMkAAJ/QQEgACABQQAQxAINABpBACABRQ0AGkEAIAFBjJ0BEMYCIgFFDQAaIANBfzYCFCADIAA2AhAgA0EANgIMIAMgATYCCCADQRhqQQBBJxCBAxogA0EBNgI4IAEgA0EIaiACKAIAQQEgASgCACgCHBEIAEEAIAMoAiBBAUcNABogAiADKAIYNgIAQQELIQAgA0FAayQAIAALpQIBBH8jAEFAaiICJAAgACgCACIDQXhqKAIAIQUgA0F8aigCACEDIAJBADYCFCACQdyc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DQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIANBfGoiBCAASQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACx8AQai7ASgCAEUEQEGsuwEgATYCAEGouwEgADYCAAsLBABBAAsEACMACxAAIwAgAGtBcHEiACQAIAALBgAgACQACwYAIABAAAsJACABIAARAAALCwAgASACIAARBgALDQAgASACIAMgABEFAAsJACABIAARAwALDQAgASACIAMgABEBAAsLACABIAIgABEEAAsPACABIAIgAyAEIAARCAALDwAgASACIAMgBCAAEQIACxEAIAEgAiADIAQgBSAAEQwACxUAIAEgAiADIAQgBSAGIAcgABEPAAsTACABIAIgAyAEIAUgBiAAEREACx0AIAEgAiADIAQgBSAGIAcgCCAJIAogCyAAERUACxMAIAEgAiADIAQgBSAGIAARFgALEwAgASACIAMgBCAFIAYgABEJAAsRACABIAIgAyAEIAUgABELAAsTACABrSACrUIghoQgAyAAEQ0ACyABAX4gAa0gAq1CIIaEIAMgABETACIEQiCIpxAhIASnCxUAIAEgAq0gA61CIIaEIAQgABEQAAsiAQF+IAEgAq0gA61CIIaEIAQgABEOACIFQiCIpxAhIAWnCwu0pAElAEGACAu2BVVpbnQ4Q2xhbXBlZEFycmF5AEZyYW1lSW5mbwB3aWR0aABoZWlnaHQAYml0c1BlclNhbXBsZQBjb21wb25lbnRDb3VudABpc1NpZ25lZABQb2ludAB4AHkAU2l6ZQBKMktEZWNvZGVyAGdldEVuY29kZWRCdWZmZXIAZ2V0RGVjb2RlZEJ1ZmZlcgByZWFkSGVhZGVyAGNhbGN1bGF0ZVNpemVBdERlY29tcG9zaXRpb25MZXZlbABkZWNvZGUAZGVjb2RlU3ViUmVzb2x1dGlvbgBnZXRGcmFtZUluZm8AZ2V0TnVtRGVjb21wb3NpdGlvbnMAZ2V0SXNSZXZlcnNpYmxlAGdldFByb2dyZXNzaW9uT3JkZXIAZ2V0SW1hZ2VPZmZzZXQAZ2V0VGlsZVNpemUAZ2V0VGlsZU9mZnNldABnZXRCbG9ja0RpbWVuc2lvbnMAZ2V0TnVtTGF5ZXJzAGdldENvbG9yU3BhY2UATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAABoUAAAcAUAAJAFAABbSU5GT10gJXMAW1dBUk5JTkddICVzAFtFUlJPUl0gJXMAOUZyYW1lSW5mbwAAAABoUAAAvgUAAGkAdmkAaWlpAHZpaWkANVBvaW50AAAAAGhQAADiBQAANFNpemUAAABoUAAA9AUAADEwSjJLRGVjb2RlcgAAAABoUAAABAYAAFAxMEoyS0RlY29kZXIAAABIUQAAHAYAAAAAAAAUBgAAUEsxMEoyS0RlY29kZXIAAEhRAAA8BgAAAQAAABQGAABpaQB2AAAAACwGAACIBgAALAYAAEBQAABOMTBlbXNjcmlwdGVuM3ZhbEUAAGhQAAB0BgAAaWlpaQAAAACIBgAALAYAALxPAAAsBgAAdmlpAPwFAAAsBgAAHFAAQcANC5gZvE8AACwGAABAUAAAQFAAAHZpaWlpAAAAzAUAAEwGAABAUAAATAYAANRPAABMBgAAHFAAAEwGAADsBQAATAYAAPwFAABMBgAAHFAAAEwGAABAUAAATAYAAFtFUlJPUl0gb3BqX2RlY29tcHJlc3M6IGZhaWxlZCB0byBzZXR1cCB0aGUgZGVjb2RlcgBbRVJST1JdIG9wal9kZWNvbXByZXNzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaGVhZGVyAFtFUlJPUl0gb3BqX2RlY29tcHJlc3M6IGZhaWxlZCB0byBkZWNvZGUgdGlsZSEAU3RyZWFtIHJlYWNoZWQgaXRzIGVuZCAhCgBFcnJvciBvbiB3cml0aW5nIHN0cmVhbSEKAFN0cmVhbSBlcnJvciEKAAIAAAAEAAAABAAAAAgAAABTdHJlYW0gdG9vIHNob3J0CgBJbmNvbnNpc3RlbnQgbWFya2VyIHNpemUKAE1hcmtlciBpcyBub3QgY29tcGxpYW50IHdpdGggaXRzIHBvc2l0aW9uCgBNYXJrZXIgc2l6ZSBpbmNvbnNpc3RlbnQgd2l0aCBzdHJlYW0gbGVuZ3RoCgBOb3QgZW5vdWdoIG1lbW9yeSB0byByZWFkIGhlYWRlcgoATm90IHN1cmUgaG93IHRoYXQgaGFwcGVuZWQuCgBGYWlsIHRvIHJlYWQgdGhlIGN1cnJlbnQgbWFya2VyIHNlZ21lbnQgKCUjeCkKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGFkZCB0bCBtYXJrZXIKAG9wal9qMmtfYXBwbHlfbmJfdGlsZV9wYXJ0c19jb3JyZWN0aW9uIGVycm9yCgBOb24gY29uZm9ybWFudCBjb2Rlc3RyZWFtIFRQc290PT1UTnNvdC4KAEZhaWxlZCB0byBtZXJnZSBQUFQgZGF0YQoAQ2Fubm90IGRlY29kZSB0aWxlLCBtZW1vcnkgZXJyb3IKAEhlYWRlciBvZiB0aWxlICVkIC8gJWQgaGFzIGJlZW4gcmVhZC4KAEZhaWxlZCB0byBkZWNvZGUuCgBTdHJlYW0gZG9lcyBub3QgZW5kIHdpdGggRU9DCgBTdHJlYW0gdG9vIHNob3J0LCBleHBlY3RlZCBTT1QKAG9wal9yZWFkX2hlYWRlcigpIHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIG9wal9zZXRfZGVjb2RlZF9jb21wb25lbnRzKCkuCgBJbnZhbGlkIGNvbXBvbmVudCBpbmRleDogJXUKAENvbXBvbmVudCBpbmRleCAldSB1c2VkIHNldmVyYWwgdGltZXMKAE5lZWQgdG8gZGVjb2RlIHRoZSBtYWluIGhlYWRlciBiZWZvcmUgYmVnaW4gdG8gZGVjb2RlIHRoZSByZW1haW5pbmcgY29kZXN0cmVhbS4KAE5vIGRlY29kZWQgYXJlYSBwYXJhbWV0ZXJzLCBzZXQgdGhlIGRlY29kZWQgYXJlYSB0byB0aGUgd2hvbGUgaW1hZ2UKAExlZnQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gwPSVkKSBzaG91bGQgYmUgPj0gMC4KAExlZnQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gwPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYc2l6PSVkKS4KAExlZnQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gwPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYT3Npej0lZCkuCgBVcCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feTA9JWQpIHNob3VsZCBiZSA+PSAwLgoAVXAgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3kwPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChZc2l6PSVkKS4KAFVwIHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl95MD0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWU9zaXo9JWQpLgoAUmlnaHQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gxPSVkKSBzaG91bGQgYmUgPiAwLgoAUmlnaHQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gxPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYT3Npej0lZCkuCgBSaWdodCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feDE9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFhzaXo9JWQpLgoAQm90dG9tIHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl95MT0lZCkgc2hvdWxkIGJlID4gMC4KAEJvdHRvbSBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feTE9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFlPc2l6PSVkKS4KAEJvdHRvbSBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feTE9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFlzaXo9JWQpLgoAU2V0dGluZyBkZWNvZGluZyBhcmVhIHRvICVkLCVkLCVkLCVkCgBXcm9uZyBmbGFnCgBbREVWXSBEdW1wIGFuIGltYWdlX2hlYWRlciBzdHJ1Y3QgewoASW1hZ2UgaW5mbyB7CgAlcyB4MD0lZCwgeTA9JWQKACVzIHgxPSVkLCB5MT0lZAoAJXMgbnVtY29tcHM9JWQKACVzCSBjb21wb25lbnQgJWQgewoAJXN9CgB9CgBbREVWXSBEdW1wIGFuIGltYWdlX2NvbXBfaGVhZGVyIHN0cnVjdCB7CgAlcyBkeD0lZCwgZHk9JWQKACVzIHByZWM9JWQKACVzIHNnbmQ9JWQKAFdlIG5lZWQgYW4gaW1hZ2UgcHJldmlvdXNseSBjcmVhdGVkLgoASW1hZ2UgaGFzIGxlc3MgY29tcG9uZW50cyB0aGFuIGNvZGVzdHJlYW0uCgBUaWxlIGluZGV4IHByb3ZpZGVkIGJ5IHRoZSB1c2VyIGlzIGluY29ycmVjdCAlZCAobWF4ID0gJWQpIAoAUmVzb2x1dGlvbiBmYWN0b3IgaXMgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIHJlc29sdXRpb24gaW4gdGhlIGNvbXBvbmVudC4KAE9QSl9OVU1fVEhSRUFEUwBBTExfQ1BVUwBFeHBlY3RlZCBhIFNPQyBtYXJrZXIgCgBBIG1hcmtlciBJRCB3YXMgZXhwZWN0ZWQgKDB4ZmYtLSkgaW5zdGVhZCBvZiAlLjh4CgBVbmtub3cgbWFya2VyIGhhdmUgYmVlbiBkZXRlY3RlZCBhbmQgZ2VuZXJhdGVkIGVycm9yLgoASW52YWxpZCBtYXJrZXIgc2l6ZQoATWFya2VyIGhhbmRsZXIgZnVuY3Rpb24gZmFpbGVkIHRvIHJlYWQgdGhlIG1hcmtlciBzZWdtZW50CgBOb3QgZW5vdWdoIG1lbW9yeSB0byBhZGQgbWggbWFya2VyCgByZXF1aXJlZCBTSVogbWFya2VyIG5vdCBmb3VuZCBpbiBtYWluIGhlYWRlcgoAcmVxdWlyZWQgQ09EIG1hcmtlciBub3QgZm91bmQgaW4gbWFpbiBoZWFkZXIKAHJlcXVpcmVkIFFDRCBtYXJrZXIgbm90IGZvdW5kIGluIG1haW4gaGVhZGVyCgBGYWlsZWQgdG8gbWVyZ2UgUFBNIGRhdGEKAE1haW4gaGVhZGVyIGhhcyBiZWVuIGNvcnJlY3RseSBkZWNvZGVkLgoAU3RhcnQgdG8gcmVhZCBqMmsgbWFpbiBoZWFkZXIgKCVsbGQpLgoAVW5rbm93biBtYXJrZXIKAE5vdCBlbm91Z2ggYnl0ZXMgdG8gcmVhZCBOcHBtCgBDb3JydXB0ZWQgUFBNIG1hcmtlcnMKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgUFBNIG1hcmtlcgoAQeAmC54BkP8AAAwAAABMAAAAUv8AABQAAABNAAAAU/8AABQAAABOAAAAXv8AABQAAABPAAAAXP8AABQAAABQAAAAXf8AABQAAABRAAAAX/8AABQAAABSAAAAUf8AAAIAAABTAAAAVf8AAAQAAABUAAAAV/8AAAQAAABVAAAAWP8AABAAAABWAAAAYP8AAAQAAABXAAAAYf8AABAAAABYAAAAkf8AQYgoC6keY/8AAAQAAABZAAAAZP8AABQAAABaAAAAdP8AABQAAABbAAAAeP8AAAQAAABcAAAAdf8AABQAAABdAAAAd/8AABQAAABeAAAAAAAAABQAAAAAAAAARXJyb3IgcmVhZGluZyBTT1QgbWFya2VyCgBJbnZhbGlkIHRpbGUgbnVtYmVyICVkCgBJbnZhbGlkIHRpbGUgcGFydCBpbmRleCBmb3IgdGlsZSBudW1iZXIgJWQuIEdvdCAlZCwgZXhwZWN0ZWQgJWQKAEVtcHR5IFNPVCBtYXJrZXIgZGV0ZWN0ZWQ6IFBzb3Q9JWQuCgBQc290IHZhbHVlIGlzIG5vdCBjb3JyZWN0IHJlZ2FyZHMgdG8gdGhlIEpQRUcyMDAwIG5vcm06ICVkLgoAUHNvdCB2YWx1ZSBvZiB0aGUgY3VycmVudCB0aWxlLXBhcnQgaXMgZXF1YWwgdG8gemVybywgd2UgYXNzdW1pbmcgaXQgaXMgdGhlIGxhc3QgdGlsZS1wYXJ0IG9mIHRoZSBjb2Rlc3RyZWFtLgoASW4gU09UIG1hcmtlciwgVFBTb3QgKCVkKSBpcyBub3QgdmFsaWQgcmVnYXJkcyB0byB0aGUgcHJldmlvdXMgbnVtYmVyIG9mIHRpbGUtcGFydCAoJWQpLCBnaXZpbmcgdXAKAEluIFNPVCBtYXJrZXIsIFRQU290ICglZCkgaXMgbm90IHZhbGlkIHJlZ2FyZHMgdG8gdGhlIGN1cnJlbnQgbnVtYmVyIG9mIHRpbGUtcGFydCAoJWQpLCBnaXZpbmcgdXAKAEluIFNPVCBtYXJrZXIsIFRQU290ICglZCkgaXMgbm90IHZhbGlkIHJlZ2FyZHMgdG8gdGhlIGN1cnJlbnQgbnVtYmVyIG9mIHRpbGUtcGFydCAoaGVhZGVyKSAoJWQpLCBnaXZpbmcgdXAKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgU09UIG1hcmtlci4gVGlsZSBpbmRleCBhbGxvY2F0aW9uIGZhaWxlZAoARXJyb3IgcmVhZGluZyBDT0QgbWFya2VyCgBVbmtub3duIFNjb2QgdmFsdWUgaW4gQ09EIG1hcmtlcgoAVW5rbm93biBwcm9ncmVzc2lvbiBvcmRlciBpbiBDT0QgbWFya2VyCgBJbnZhbGlkIG51bWJlciBvZiBsYXllcnMgaW4gQ09EIG1hcmtlciA6ICVkIG5vdCBpbiByYW5nZSBbMS02NTUzNV0KAEVycm9yIHJlYWRpbmcgU1BDb2QgU1BDb2MgZWxlbWVudAoASW52YWxpZCB2YWx1ZSBmb3IgbnVtcmVzb2x1dGlvbnMgOiAlZCwgbWF4IHZhbHVlIGlzIHNldCBpbiBvcGVuanBlZy5oIGF0ICVkCgBFcnJvciBkZWNvZGluZyBjb21wb25lbnQgJWQuClRoZSBudW1iZXIgb2YgcmVzb2x1dGlvbnMgdG8gcmVtb3ZlICglZCkgaXMgZ3JlYXRlciBvciBlcXVhbCB0aGFuIHRoZSBudW1iZXIgb2YgcmVzb2x1dGlvbnMgb2YgdGhpcyBjb21wb25lbnQgKCVkKQpNb2RpZnkgdGhlIGNwX3JlZHVjZSBwYXJhbWV0ZXIuCgoARXJyb3IgcmVhZGluZyBTUENvZCBTUENvYyBlbGVtZW50LCBJbnZhbGlkIGNibGt3L2NibGtoIGNvbWJpbmF0aW9uCgBFcnJvciByZWFkaW5nIFNQQ29kIFNQQ29jIGVsZW1lbnQsIEludmFsaWQgY29kZS1ibG9jayBzdHlsZSBmb3VuZAoASW52YWxpZCBwcmVjaW5jdCBzaXplCgBFcnJvciByZWFkaW5nIENPQyBtYXJrZXIKAEVycm9yIHJlYWRpbmcgQ09DIG1hcmtlciAoYmFkIG51bWJlciBvZiBjb21wb25lbnRzKQoARXJyb3IgcmVhZGluZyBSR04gbWFya2VyCgBiYWQgY29tcG9uZW50IG51bWJlciBpbiBSR04gKCVkIHdoZW4gdGhlcmUgYXJlIG9ubHkgJWQpCgBFcnJvciByZWFkaW5nIFFDRCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgU1FjZCBvciBTUWNjIGVsZW1lbnQKAFdoaWxlIHJlYWRpbmcgQ0NQX1FOVFNUWSBlbGVtZW50IGluc2lkZSBRQ0Qgb3IgUUNDIG1hcmtlciBzZWdtZW50LCBudW1iZXIgb2Ygc3ViYmFuZHMgKCVkKSBpcyBncmVhdGVyIHRvIE9QSl9KMktfTUFYQkFORFMgKCVkKS4gU28gd2UgbGltaXQgdGhlIG51bWJlciBvZiBlbGVtZW50cyBzdG9yZWQgdG8gT1BKX0oyS19NQVhCQU5EUyAoJWQpIGFuZCBza2lwIHRoZSByZXN0LiAKAEVycm9yIHJlYWRpbmcgUUNDIG1hcmtlcgoASW52YWxpZCBjb21wb25lbnQgbnVtYmVyOiAlZCwgcmVnYXJkaW5nIHRoZSBudW1iZXIgb2YgY29tcG9uZW50cyAlZAoARXJyb3IgcmVhZGluZyBQT0MgbWFya2VyCgBUb28gbWFueSBQT0NzICVkCgBFcnJvciB3aXRoIFNJWiBtYXJrZXIgc2l6ZQoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBudW1iZXIgb2YgY29tcG9uZW50IGlzIGlsbGVnYWwgLT4gJWQKAEVycm9yIHdpdGggU0laIG1hcmtlcjogbnVtYmVyIG9mIGNvbXBvbmVudCBpcyBub3QgY29tcGF0aWJsZSB3aXRoIHRoZSByZW1haW5pbmcgbnVtYmVyIG9mIHBhcmFtZXRlcnMgKCAlZCB2cyAlZCkKAEVycm9yIHdpdGggU0laIG1hcmtlcjogbmVnYXRpdmUgb3IgemVybyBpbWFnZSBzaXplICglbGxkIHggJWxsZCkKAEVycm9yIHdpdGggU0laIG1hcmtlcjogaW52YWxpZCB0aWxlIHNpemUgKHRkeDogJWQsIHRkeTogJWQpCgBFcnJvciB3aXRoIFNJWiBtYXJrZXI6IGlsbGVnYWwgdGlsZSBvZmZzZXQKAEVycm9yIHdpdGggU0laIG1hcmtlcjogSUhEUiB3KCV1KSBoKCV1KSB2cy4gU0laIHcoJXUpIGgoJXUpCgBOb3QgZW5vdWdoIG1lbW9yeSB0byB0YWtlIGluIGNoYXJnZSBTSVogbWFya2VyCgBEZXNwaXRlIEpQMiBCUEMhPTI1NSwgcHJlY2lzaW9uIGFuZC9vciBzZ25kIHZhbHVlcyBmb3IgY29tcFslZF0gaXMgZGlmZmVyZW50IHRoYW4gY29tcFswXToKICAgICAgICBbMF0gcHJlYyglZCkgc2duZCglZCkgWyVkXSBwcmVjKCVkKSBzZ25kKCVkKQoASW52YWxpZCB2YWx1ZXMgZm9yIGNvbXAgPSAlZCA6IGR4PSV1IGR5PSV1IChzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAyNTUgYWNjb3JkaW5nIHRvIHRoZSBKUEVHMjAwMCBub3JtKQoASW52YWxpZCB2YWx1ZXMgZm9yIGNvbXAgPSAlZCA6IHByZWM9JXUgKHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDM4IGFjY29yZGluZyB0byB0aGUgSlBFRzIwMDAgbm9ybS4gT3BlbkpwZWcgb25seSBzdXBwb3J0cyB1cCB0byAzMSkKAEludmFsaWQgbnVtYmVyIG9mIHRpbGVzIDogJXUgeCAldSAobWF4aW11bSBmaXhlZCBieSBqcGVnMjAwMCBub3JtIGlzIDY1NTM1IHRpbGVzKQoARXJyb3IgcmVhZGluZyBUTE0gbWFya2VyCgBFcnJvciByZWFkaW5nIFBMTSBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUExUIG1hcmtlcgoARXJyb3IgcmVhZGluZyBQUE0gbWFya2VyCgBacHBtICV1IGFscmVhZHkgcmVhZAoARXJyb3IgcmVhZGluZyBQUFQgbWFya2VyCgBFcnJvciByZWFkaW5nIFBQVCBtYXJrZXI6IHBhY2tldCBoZWFkZXIgaGF2ZSBiZWVuIHByZXZpb3VzbHkgZm91bmQgaW4gdGhlIG1haW4gaGVhZGVyIChQUE0gbWFya2VyKS4KAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgUFBUIG1hcmtlcgoAWnBwdCAldSBhbHJlYWR5IHJlYWQKAEVycm9yIHJlYWRpbmcgQ1JHIG1hcmtlcgoARXJyb3IgcmVhZGluZyBNQ1QgbWFya2VyCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgbWN0IGRhdGEgd2l0aGluIG11bHRpcGxlIE1DVCByZWNvcmRzCgBOb3QgZW5vdWdoIG1lbW9yeSB0byByZWFkIE1DVCBtYXJrZXIKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBtdWx0aXBsZSBNQ1QgbWFya2VycwoAQ3Jyb3IgcmVhZGluZyBDQkQgbWFya2VyCgBFcnJvciByZWFkaW5nIE1DQyBtYXJrZXIKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBtdWx0aXBsZSBkYXRhIHNwYW5uaW5nCgBOb3QgZW5vdWdoIG1lbW9yeSB0byByZWFkIE1DQyBtYXJrZXIKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBtdWx0aXBsZSBjb2xsZWN0aW9ucwoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIGNvbGxlY3Rpb25zIG90aGVyIHRoYW4gYXJyYXkgZGVjb3JyZWxhdGlvbgoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIGNvbGxlY3Rpb25zIHdpdGggaW5kaXggc2h1ZmZsZQoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIGNvbGxlY3Rpb25zIHdpdGhvdXQgc2FtZSBudW1iZXIgb2YgaW5kaXhlcwoARXJyb3IgcmVhZGluZyBNQ08gbWFya2VyCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgbXVsdGlwbGUgdHJhbnNmb3JtYXRpb24gc3RhZ2VzLgoAQcDGAAv2KF8AAABgAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAVGlsZSBwYXJ0IGxlbmd0aCBzaXplIGluY29uc2lzdGVudCB3aXRoIHN0cmVhbSBsZW5ndGgKAHBfajJrLT5tX3NwZWNpZmljX3BhcmFtLm1fZGVjb2Rlci5tX3NvdF9sZW5ndGggPiBVSU5UX01BWCAtIE9QSl9DT01NT05fQ0JMS19EQVRBX0VYVFJBACpsX3RpbGVfbGVuID4gVUlOVF9NQVggLSBPUEpfQ09NTU9OX0NCTEtfREFUQV9FWFRSQSAtIHBfajJrLT5tX3NwZWNpZmljX3BhcmFtLm1fZGVjb2Rlci5tX3NvdF9sZW5ndGgATm90IGVub3VnaCBtZW1vcnkgdG8gZGVjb2RlIHRpbGUKAG9wal9qMmtfbWVyZ2VfcHB0KCkgaGFzIGFscmVhZHkgYmVlbiBjYWxsZWQKAEltYWdlIGNvb3JkaW5hdGVzIGFib3ZlIElOVF9NQVggYXJlIG5vdCBzdXBwb3J0ZWQKAFNpemUgeCBvZiB0aGUgZGVjb2RlZCBjb21wb25lbnQgaW1hZ2UgaXMgaW5jb3JyZWN0IChjb21wWyVkXS53PSVkKS4KAFNpemUgeSBvZiB0aGUgZGVjb2RlZCBjb21wb25lbnQgaW1hZ2UgaXMgaW5jb3JyZWN0IChjb21wWyVkXS5oPSVkKS4KAAkgZGVmYXVsdCB0aWxlIHsKAAkJIGNzdHk9JSN4CgAJCSBwcmc9JSN4CgAJCSBudW1sYXllcnM9JWQKAAkJIG1jdD0leAoACQkgY29tcCAlZCB7CgAJCQkgY3N0eT0lI3gKAAkJCSBudW1yZXNvbHV0aW9ucz0lZAoACQkJIGNibGt3PTJeJWQKAAkJCSBjYmxraD0yXiVkCgAJCQkgY2Jsa3N0eT0lI3gKAAkJCSBxbWZiaWQ9JWQKAAkJCSBwcmVjY2ludHNpemUgKHcsaCk9ACglZCwlZCkgAAkJCSBxbnRzdHk9JWQKAAkJCSBudW1nYml0cz0lZAoACQkJIHN0ZXBzaXplcyAobSxlKT0ACQkJIHJvaXNoaWZ0PSVkCgAJCSB9CgAJIH0KAENvZGVzdHJlYW0gaW5kZXggZnJvbSBtYWluIGhlYWRlcjogewoACSBNYWluIGhlYWRlciBzdGFydCBwb3NpdGlvbj0lbGxpCgkgTWFpbiBoZWFkZXIgZW5kIHBvc2l0aW9uPSVsbGkKAAkgTWFya2VyIGxpc3Q6IHsKAAkJIHR5cGU9JSN4LCBwb3M9JWxsaSwgbGVuPSVkCgAJIFRpbGUgaW5kZXg6IHsKAAkJIG5iIG9mIHRpbGUtcGFydCBpbiB0aWxlIFslZF09JWQKAAkJCSB0aWxlLXBhcnRbJWRdOiBzdGFyX3Bvcz0lbGxpLCBlbmRfaGVhZGVyPSVsbGksIGVuZF9wb3M9JWxsaS4KAENvZGVzdHJlYW0gaW5mbyBmcm9tIG1haW4gaGVhZGVyOiB7CgAJIHR4MD0lZCwgdHkwPSVkCgAJIHRkeD0lZCwgdGR5PSVkCgAJIHR3PSVkLCB0aD0lZAoARmFpbGVkIHRvIGRlY29kZSB0aWxlIDEvMQoARmFpbGVkIHRvIGRlY29kZSB0aWxlICVkLyVkCgBUaWxlICVkLyVkIGhhcyBiZWVuIGRlY29kZWQuCgBJbWFnZSBkYXRhIGhhcyBiZWVuIHVwZGF0ZWQgd2l0aCB0aWxlICVkLgoKAEZhaWxlZCB0byBkZWNvZGUgY29tcG9uZW50ICVkCgBGYWlsZWQgdG8gZGVjb2RlIGFsbCB1c2VkIGNvbXBvbmVudHMKAFByb2JsZW0gd2l0aCBzZWVrIGZ1bmN0aW9uCgBUaWxlIHJlYWQsIGRlY29kZWQgYW5kIHVwZGF0ZWQgaXMgbm90IHRoZSBkZXNpcmVkIG9uZSAoJWQgdnMgJWQpLgoARmFpbGVkIHRvIGRlY29kZSB0aGUgY29kZXN0cmVhbSBpbiB0aGUgSlAyIGZpbGUKAEpQMkggYm94IG1pc3NpbmcuIFJlcXVpcmVkLgoASUhEUiBib3hfbWlzc2luZy4gUmVxdWlyZWQuCgBKUDIgYm94IHdoaWNoIGFyZSBhZnRlciB0aGUgY29kZXN0cmVhbSB3aWxsIG5vdCBiZSByZWFkIGJ5IHRoaXMgZnVuY3Rpb24uCgBJbnZhbGlkIGNvbXBvbmVudCBpbmRleCAlZCAoPj0gJWQpLgoASW5jb21wbGV0ZSBjaGFubmVsIGRlZmluaXRpb25zLgoAVW5leHBlY3RlZCBPT00uCgBJbnZhbGlkIHZhbHVlIGZvciBjbWFwWyVkXS5tdHlwID0gJWQuCgBJbnZhbGlkIGNvbXBvbmVudC9wYWxldHRlIGluZGV4IGZvciBkaXJlY3QgbWFwcGluZyAlZC4KAENvbXBvbmVudCAlZCBpcyBtYXBwZWQgdHdpY2UuCgBEaXJlY3QgdXNlIGF0ICMlZCBob3dldmVyIHBjb2w9JWQuCgBJbXBsZW1lbnRhdGlvbiBsaW1pdGF0aW9uOiBmb3IgcGFsZXR0ZSBtYXBwaW5nLCBwY29sWyVkXSBzaG91bGQgYmUgZXF1YWwgdG8gJWQsIGJ1dCBpcyBlcXVhbCB0byAlZC4KAENvbXBvbmVudCAlZCBkb2Vzbid0IGhhdmUgYSBtYXBwaW5nLgoAQ29tcG9uZW50IG1hcHBpbmcgc2VlbXMgd3JvbmcuIFRyeWluZyB0byBjb3JyZWN0LgoAaW1hZ2UtPmNvbXBzWyVkXS5kYXRhID09IE5VTEwgaW4gb3BqX2pwMl9hcHBseV9wY2xyKCkuCgBNZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlIGluIG9wal9qcDJfYXBwbHlfcGNscigpLgoAb3BqX2pwMl9hcHBseV9jZGVmOiBjbj0lZCwgbnVtY29tcHM9JWQKAG9wal9qcDJfYXBwbHlfY2RlZjogYWNuPSVkLCBudW1jb21wcz0lZAoATm90IGVub3VnaCBtZW1vcnkgdG8gaGFuZGxlIGpwZWcyMDAwIGZpbGUgaGVhZGVyCgBiYWQgcGxhY2VkIGpwZWcgY29kZXN0cmVhbQoAQ2Fubm90IGhhbmRsZSBib3ggb2YgdW5kZWZpbmVkIHNpemVzCgBpbnZhbGlkIGJveCBzaXplICVkICgleCkKAEZvdW5kIGEgbWlzcGxhY2VkICclYyVjJWMlYycgYm94IG91dHNpZGUganAyaCBib3gKAEpQRUcyMDAwIEhlYWRlciBib3ggbm90IHJlYWQgeWV0LCAnJWMlYyVjJWMnIGJveCB3aWxsIGJlIGlnbm9yZWQKAFByb2JsZW0gd2l0aCBza2lwcGluZyBKUEVHMjAwMCBib3gsIHN0cmVhbSBlcnJvcgoASW52YWxpZCBib3ggc2l6ZSAlZCBmb3IgYm94ICclYyVjJWMlYycuIE5lZWQgJWQgYnl0ZXMsICVkIGJ5dGVzIHJlbWFpbmluZyAKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGhhbmRsZSBqcGVnMjAwMCBib3gKAFByb2JsZW0gd2l0aCByZWFkaW5nIEpQRUcyMDAwIGJveCwgc3RyZWFtIGVycm9yCgBNYWxmb3JtZWQgSlAyIGZpbGUgZm9ybWF0OiBmaXJzdCBib3ggbXVzdCBiZSBKUEVHIDIwMDAgc2lnbmF0dXJlIGJveAoATWFsZm9ybWVkIEpQMiBmaWxlIGZvcm1hdDogc2Vjb25kIGJveCBtdXN0IGJlIGZpbGUgdHlwZSBib3gKAENhbm5vdCBoYW5kbGUgYm94IHNpemVzIGhpZ2hlciB0aGFuIDJeMzIKAAAAICBQamgAAABweXRmaQAAAGgycGpqAAAAVGhlIHNpZ25hdHVyZSBib3ggbXVzdCBiZSB0aGUgZmlyc3QgYm94IGluIHRoZSBmaWxlLgoARXJyb3Igd2l0aCBKUCBzaWduYXR1cmUgQm94IHNpemUKAEVycm9yIHdpdGggSlAgU2lnbmF0dXJlIDogYmFkIG1hZ2ljIG51bWJlcgoAVGhlIGZ0eXAgYm94IG11c3QgYmUgdGhlIHNlY29uZCBib3ggaW4gdGhlIGZpbGUuCgBFcnJvciB3aXRoIEZUWVAgc2lnbmF0dXJlIEJveCBzaXplCgBOb3QgZW5vdWdoIG1lbW9yeSB3aXRoIEZUWVAgQm94CgBUaGUgIGJveCBtdXN0IGJlIHRoZSBmaXJzdCBib3ggaW4gdGhlIGZpbGUuCgBTdHJlYW0gZXJyb3Igd2hpbGUgcmVhZGluZyBKUDIgSGVhZGVyIGJveAoAU3RyZWFtIGVycm9yIHdoaWxlIHJlYWRpbmcgSlAyIEhlYWRlciBib3g6IGJveCBsZW5ndGggaXMgaW5jb25zaXN0ZW50LgoAU3RyZWFtIGVycm9yIHdoaWxlIHJlYWRpbmcgSlAyIEhlYWRlciBib3g6IG5vICdpaGRyJyBib3guCgBDYW5ub3QgaGFuZGxlIGJveCBvZiBsZXNzIHRoYW4gOCBieXRlcwoAQ2Fubm90IGhhbmRsZSBYTCBib3ggb2YgbGVzcyB0aGFuIDE2IGJ5dGVzCgBCb3ggbGVuZ3RoIGlzIGluY29uc2lzdGVudC4KAAByZGhpawAAAHJsb2NsAAAAY2NwYm0AAABybGNwbgAAAHBhbWNvAAAAZmVkY3AAAABJZ25vcmluZyBpaGRyIGJveC4gRmlyc3QgaWhkciBib3ggYWxyZWFkeSByZWFkCgBCYWQgaW1hZ2UgaGVhZGVyIGJveCAoYmFkIHNpemUpCgBJbnZhbGlkIG51bWJlciBvZiBjb21wb25lbnRzIChpaGRyKQoATm90IGVub3VnaCBtZW1vcnkgdG8gaGFuZGxlIGltYWdlIGhlYWRlciAoaWhkcikKAEpQMiBJSERSIGJveDogY29tcHJlc3Npb24gdHlwZSBpbmRpY2F0ZSB0aGF0IHRoZSBmaWxlIGlzIG5vdCBhIGNvbmZvcm1pbmcgSlAyIGZpbGUgKCVkKSAKAEJhZCBDT0xSIGhlYWRlciBib3ggKGJhZCBzaXplKQoAQSBjb25mb3JtaW5nIEpQMiByZWFkZXIgc2hhbGwgaWdub3JlIGFsbCBDb2xvdXIgU3BlY2lmaWNhdGlvbiBib3hlcyBhZnRlciB0aGUgZmlyc3QsIHNvIHdlIGlnbm9yZSB0aGlzIG9uZS4KAEJhZCBDT0xSIGhlYWRlciBib3ggKGJhZCBzaXplOiAlZCkKAE5vdCBlbm91Z2ggbWVtb3J5IGZvciBjaWVsYWIKAEJhZCBDT0xSIGhlYWRlciBib3ggKENJRUxhYiwgYmFkIHNpemU6ICVkKQoAQ09MUiBCT1ggbWV0aCB2YWx1ZSBpcyBub3QgYSByZWd1bGFyIHZhbHVlICglZCksIHNvIHdlIHdpbGwgaWdub3JlIHRoZSBlbnRpcmUgQ29sb3VyIFNwZWNpZmljYXRpb24gYm94LiAKAEEgQlBDQyBoZWFkZXIgYm94IGlzIGF2YWlsYWJsZSBhbHRob3VnaCBCUEMgZ2l2ZW4gYnkgdGhlIElIRFIgYm94ICglZCkgaW5kaWNhdGUgY29tcG9uZW50cyBiaXQgZGVwdGggaXMgY29uc3RhbnQKAEJhZCBCUENDIGhlYWRlciBib3ggKGJhZCBzaXplKQoASW52YWxpZCBQQ0xSIGJveC4gUmVwb3J0cyAlZCBlbnRyaWVzCgBJbnZhbGlkIFBDTFIgYm94LiBSZXBvcnRzIDAgcGFsZXR0ZSBjb2x1bW5zCgBOZWVkIHRvIHJlYWQgYSBQQ0xSIGJveCBiZWZvcmUgdGhlIENNQVAgYm94LgoAT25seSBvbmUgQ01BUCBib3ggaXMgYWxsb3dlZC4KAEluc3VmZmljaWVudCBkYXRhIGZvciBDTUFQIGJveC4KAEluc3VmZmljaWVudCBkYXRhIGZvciBDREVGIGJveC4KAE51bWJlciBvZiBjaGFubmVsIGRlc2NyaXB0aW9uIGlzIGVxdWFsIHRvIHplcm8gaW4gQ0RFRiBib3guCgBDb2RlYyBwcm92aWRlZCB0byB0aGUgb3BqX3NldHVwX2RlY29kZXIgZnVuY3Rpb24gaXMgbm90IGEgZGVjb21wcmVzc29yIGhhbmRsZXIuCgBDb2RlYyBwcm92aWRlZCB0byB0aGUgb3BqX3JlYWRfaGVhZGVyIGZ1bmN0aW9uIGlzIG5vdCBhIGRlY29tcHJlc3NvciBoYW5kbGVyLgoASW52YWxpZCBwcmVjaW5jdAoATm90IGVub3VnaCBzcGFjZSBmb3IgZXhwZWN0ZWQgU09QIG1hcmtlcgoARXhwZWN0ZWQgU09QIG1hcmtlcgoATm90IGVub3VnaCBzcGFjZSBmb3IgZXhwZWN0ZWQgRVBIIG1hcmtlcgoARXhwZWN0ZWQgRVBIIG1hcmtlcgoASW52YWxpZCBiaXQgbnVtYmVyICVkIGluIG9wal90Ml9yZWFkX3BhY2tldF9oZWFkZXIoKQoAcmVhZDogc2VnbWVudCB0b28gbG9uZyAoJWQpIHdpdGggbWF4ICglZCkgZm9yIGNvZGVibG9jayAlZCAocD0lZCwgYj0lZCwgcj0lZCwgYz0lZCkKAGNhbm5vdCBhbGxvY2F0ZSBvcGpfdGNkX3NlZ19kYXRhX2NodW5rX3QqIGFycmF5AHNraXA6IHNlZ21lbnQgdG9vIGxvbmcgKCVkKSB3aXRoIG1heCAoJWQp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BwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgBAgMDAgIDAwYGBwcGBgcHAQIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAgIDAwICAwMGBgcHBgYHBwICAwMCAgMDBgYHBwYGBwcGBgcHBgYHBwgICAgICAgIBgYHBwYGBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgDAwQEAwMEBAcHBwcHBwcHAwMEBAMDBAQHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgHBwcHBwcHBwgICAgICAgIAAEFBgECBgYDAwcHAwMHBwABBQYBAgYGAwMHBwMDBwcDAwcHAwMHBwQEBwcEBAcHAwMHBwMDBwcEBAcHBAQHBwECBgYCAgYGAwMHBwMDBwcBAgYGAgIGBgMDBwcDAwcHAwMHBwMDBwcEBAcHBAQHBwMDBwcDAwcHBAQHBwQEBwcFBggIBgYICAcHCAgHBwgIBQYICAYGCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAYGCAgGBggIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAECBgYCAgYGAwMHBwMDBwcBAgYGAgIGBgMDBwcDAwcHAwMHBwMDBwcEBAcHBAQHBwMDBwcDAwcHBAQHBwQEBwcCAgYGAgIGBgMDBwcDAwcHAgIGBgICBgYDAwcHAwMHBwMDBwcDAwcHBAQHBwQEBwcDAwcHAwMHBwQEBwcEBAcHBgYICAYGCAgHBwgIBwcICAYGCAgGBggIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAYGCAgGBggIBwcICAcHCAgGBggIBgYICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgAAQMDAQIDAwUGBwcGBgcHAAEDAwECAwMFBgcHBgYHBwUGBwcGBgcHCAgICAgICAgFBgcHBgYHBwgICAgICAgIAQIDAwICAwMGBgcHBgYHBwECAwMCAgMDBgYHBwYGBwcGBgcHBgYHBwgICAgICAgIBgYHBwYGBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgDAwQEAwMEBAcHBwcHBwcHAwMEBAMDBAQHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgHBwcHBwcHBwgICAgICAgIAQIDAwICAwMGBgcHBgYHBwECAwMCAgMDBgYHBwYGBwcGBgcHBgYHBwgICAgICAgIBgYHBwYGBwcICAgICAgICAICAwMCAgMDBgYHBwYGBwcCAgMDAgIDAwYGBwcGBgcHBgYHBwYGBwcICAgICAgICAYGBwcGBgcHCAgICAgICAgDAwQEAwMEBAcHBwcHBwcHAwMEBAMDBAQHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgHBwcHBwcHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAADAQQDBgQHAQQCBQQHBQcAAwEEAwYEBwEEAgUEBwUHAQQCBQQHBQcCBQIFBQcFBwEEAgUEBwUHAgUCBQUHBQcDBgQHBggHCAQHBQcHCAcIAwYEBwYIBwgEBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgEBwUHBwgHCAUHBQcHCAcIAQQCBQQHBQcCBQIFBQcFBwEEAgUEBwUHAgUCBQUHBQcCBQIFBQcFBwIFAgUFBwUHAgUCBQUHBQcCBQIFBQcFBwQHBQcHCAcIBQcFBwcIBwgEBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgDBgQHBggHCAQHBQcHCAcIAwYEBwYIBwgEBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgEBwUHBwgHCAUHBQcHCAcIBggHCAgICAgHCAcICAgICAYIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgHCAcICAgICAQHBQcHCAcIBQcFBwcIBwgEBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgHCAcICAgICAcIBwgICAgIBwgH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AAAArQAAAJ0AAACeAAAArgAAAHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAAAAAGhQAACTVAAA7FAAAFRUAAAAAAAAAQAAALxUAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUAAOxQAADcVAAAAAAAAAEAAAC8VAAAAAAAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAADsUAAANFUAAAAAAAABAAAAvFQAAAAAAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUAAGhQAACMVQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAABoUAAAtFUAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQAAaFAAANxVAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUAAGhQAAAEVgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAABoUAAALFYAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQAAaFAAAFRWAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUAAGhQAAB8VgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAABoUAAApFYAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQAAaFAAAMxWAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUAAGhQAAD0VgBBoK4BCwEFAEGsrgELAZgAQcSuAQsOmQAAAJoAAAAIWQAAAAQAQdyuAQsBAQBB664BCwUK/////wBB7LABCwLkWA=="},981:()=>{},1209:()=>{},1973:()=>{},378:()=>{},9652:()=>{},6087:()=>{}},C={};function B(A){var I=C[A];if(void 0!==I)return I.exports;var Q=C[A]={exports:{}};return g[A].call(Q.exports,Q,Q.exports,B),Q.exports}B.m=g,B.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return B.d(I,{a:I}),I},I=Object.getPrototypeOf?A=>Object.getPrototypeOf(A):A=>A.__proto__,B.t=function(g,C){if(1&C&&(g=this(g)),8&C)return g;if("object"==typeof g&&g){if(4&C&&g.__esModule)return g;if(16&C&&"function"==typeof g.then)return g}var Q=Object.create(null);B.r(Q);var E={};A=A||[null,I({}),I([]),I(I)];for(var i=2&C&&g;"object"==typeof i&&!~A.indexOf(i);i=I(i))Object.getOwnPropertyNames(i).forEach((A=>E[A]=()=>g[A]));return E.default=()=>g,B.d(Q,E),Q},B.d=(A,I)=>{for(var g in I)B.o(I,g)&&!B.o(A,g)&&Object.defineProperty(A,g,{enumerable:!0,get:I[g]})},B.f={},B.e=A=>Promise.all(Object.keys(B.f).reduce(((I,g)=>(B.f[g](A,I),I)),[])),B.u=A=>A+".bundle.min.worker.js",B.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),B.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I),B.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},(()=>{var A;B.g.importScripts&&(A=B.g.location+"");var I=B.g.document;if(!A&&I&&(I.currentScript&&(A=I.currentScript.src),!A)){var g=I.getElementsByTagName("script");g.length&&(A=g[g.length-1].src)}if(!A)throw new Error("Automatic publicPath is not supported in this browser");A=A.replace(/#.*$/,"").replace(/\\?.*$/,"").replace(/\\/[^\\/]+$/,"/"),B.p=A})(),(()=>{var A={362:1};B.f.i=(I,g)=>{A[I]||importScripts(B.p+B.u(I))};var I=self.webpackChunkcornerstoneWADOImageLoader=self.webpackChunkcornerstoneWADOImageLoader||[],g=I.push.bind(I);I.push=I=>{var[C,Q,E]=I;for(var i in Q)B.o(Q,i)&&(B.m[i]=Q[i]);for(E&&E(B);C.length;)A[C.pop()]=1;g(I)}})(),(()=>{"use strict";var A,I=B(7878),g=B.n(I),C=B(4559),Q=B.n(C),E={},i=!1;function o(I){if(E[I.taskType])return console.log(\'attempt to register duplicate task handler "\',I.taskType,\'"\'),!1;E[I.taskType]=I,i&&I.initialize(A.taskConfiguration)}self.onmessage=function(I){if(I.data.taskType)if("initialize"!==I.data.taskType){if("loadWebWorkerTask"===I.data.taskType)return C=I.data,A=C.config,void self.importScripts(C.sourcePath);var C;if(E[I.data.taskType])try{E[I.data.taskType].handler(I.data,(function(A,g){self.postMessage({taskType:I.data.taskType,status:"success",result:A,workerIndex:I.data.workerIndex},g)}))}catch(A){var B;console.log(Q()(B="task ".concat(I.data.taskType," failed - ")).call(B,A.message)),self.postMessage({taskType:I.data.taskType,status:"failed",result:A.message,workerIndex:I.data.workerIndex})}else console.log("no task handler for ",I.data.taskType),console.log(E),self.postMessage({taskType:I.data.taskType,status:"failed - no task handler registered",workerIndex:I.data.workerIndex})}else!function(I){if(!i){if(A=I.config,self.registerTaskHandler=o,I.config.webWorkerTaskPaths)for(var C=0;C<I.config.webWorkerTaskPaths.length;C++)self.importScripts(I.config.webWorkerTaskPaths[C]);g()(E).forEach((function(I){E[I].initialize(A.taskConfiguration)})),self.postMessage({taskType:"initialize",status:"success",result:{},workerIndex:I.workerIndex}),i=!0}}(I.data);else console.log(I.data)};var D=B(1082);function a(A,I,g){return I in A?D(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}):A[I]=g,A}var t=B(5534);function s(A,I,g,C,B,Q,E){try{var i=A[Q](E),o=i.value}catch(A){return void g(A)}i.done?I(o):t.resolve(o).then(C,B)}function F(A){return function(){var I=this,g=arguments;return new t((function(C,B){var Q=A.apply(I,g);function E(A){s(Q,C,B,E,i,"next",A)}function i(A){s(Q,C,B,E,i,"throw",A)}E(void 0)}))}}var n=B(2043),w=B.n(n),r=B(2250),e=B.n(r),h=B(7552),G=B.n(h),y=B(1882),c=B.n(y),N=B(7647),R=B.n(N),S=B(337),U=B.n(S),k=B(2770),J=B.n(k),K=B(4044),Y=B.n(K),M=B(7414);function L(A,I){var C=g()(A);if(c()){var B=c()(A);I&&(B=R()(B).call(B,(function(I){return U()(A,I).enumerable}))),C.push.apply(C,B)}return C}function l(A){for(var I=1;I<arguments.length;I++){var g=null!=arguments[I]?arguments[I]:{};I%2?L(Object(g),!0).forEach((function(I){a(A,I,g[I])})):J()?Object.defineProperties(A,J()(g)):L(Object(g)).forEach((function(I){Object.defineProperty(A,I,U()(g,I))}))}return A}var d={codec:void 0,decoder:void 0,decodeConfig:{}};function H(A){if(d.decodeConfig=A,d.codec)return e().resolve();var I=Y()({locateFile:function(A){return G()(A).call(A,".wasm")?M:A}});return new(e())((function(A,g){I.then((function(I){d.codec=I,d.decoder=new I.J2KDecoder,A()}),g)}))}function f(){return(f=F(w().mark((function A(I,g){var C,B,E,i,o,D,a,t,s,F,n,r,e,h,G,y,c,N,R,S,U,k;return w().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,H();case 2:return o=d.decoder,(D=o.getEncodedBuffer(I.length)).set(I),o.decode(),a=o.getFrameInfo(),t=o.getDecodedBuffer(),new Uint8Array(t.length).set(t),s=Q()(C="x: ".concat(o.getImageOffset().x,", y: ")).call(C,o.getImageOffset().y),F=o.getNumDecompositions(),n=o.getNumLayers(),r=["unknown","LRCP","RLCP","RPCL","PCRL","CPRL"][o.getProgressionOrder()+1],e=o.getIsReversible(),h=Q()(B="".concat(o.getBlockDimensions().width," x ")).call(B,o.getBlockDimensions().height),G=Q()(E="".concat(o.getTileSize().width," x ")).call(E,o.getTileSize().height),y=Q()(i="".concat(o.getTileOffset().x,", ")).call(i,o.getTileOffset().y),c=o.getColorSpace(),N="".concat(t.length.toLocaleString()," bytes"),R="".concat((t.length/D.length).toFixed(2),":1"),S={columns:a.width,rows:a.height,bitsPerPixel:a.bitsPerSample,signed:a.isSigned,bytesPerPixel:g.bytesPerPixel,componentsPerPixel:a.componentCount},U=u(a,t),k={imageOffset:s,numDecompositions:F,numLayers:n,progessionOrder:r,reversible:e,blockDimensions:h,tileSize:G,tileOffset:y,colorTransform:c,decodedSize:N,compressionRatio:R},A.abrupt("return",l(l(l({},g),{},{pixelData:U,imageInfo:S,encodeOptions:k},k),S));case 25:case"end":return A.stop()}}),A)})))).apply(this,arguments)}function u(A,I){return A.bitsPerSample>8?A.isSigned?new Int16Array(I.buffer,I.byteOffset,I.byteLength/2):new Uint16Array(I.buffer,I.byteOffset,I.byteLength/2):A.isSigned?new Int8Array(I.buffer,I.byteOffset,I.byteLength):new Uint8Array(I.buffer,I.byteOffset,I.byteLength)}const q=function(A,I){return f.apply(this,arguments)};var p=B(8327),b=B.n(p),Z=B(3240);function W(A,I){var C=g()(A);if(c()){var B=c()(A);I&&(B=R()(B).call(B,(function(I){return U()(A,I).enumerable}))),C.push.apply(C,B)}return C}function m(A){for(var I=1;I<arguments.length;I++){var g=null!=arguments[I]?arguments[I]:{};I%2?W(Object(g),!0).forEach((function(I){a(A,I,g[I])})):J()?Object.defineProperties(A,J()(g)):W(Object(g)).forEach((function(I){Object.defineProperty(A,I,U()(g,I))}))}return A}var X={codec:void 0,decoder:void 0,decodeConfig:{}};function x(A){return"number"==typeof A?X.codec.getExceptionMessage(A):A}function V(A){if(X.decodeConfig=A,X.codec)return e().resolve();var I=b()({locateFile:function(A){return G()(A).call(A,".wasm")?Z:A}});return new(e())((function(A,g){I.then((function(I){X.codec=I,X.decoder=new I.JpegLSDecoder,A()}),g)}))}function v(){return(v=F(w().mark((function A(I,g){var C,B,Q,E,i,o,D,a;return w().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.prev=0,A.next=3,V();case 3:return C=X.decoder,C.getEncodedBuffer(I.length).set(I),C.decode(),B=C.getFrameInfo(),Q=C.getInterleaveMode(),E=C.getNearLossless(),i=C.getDecodedBuffer(),o={columns:B.width,rows:B.height,bitsPerPixel:B.bitsPerSample,signed:g.signed,bytesPerPixel:g.bytesPerPixel,componentsPerPixel:B.componentCount},D=T(B,i,g.signed),a={nearLossless:E,interleaveMode:Q,frameInfo:B},A.abrupt("return",m(m(m({},g),{},{pixelData:D,imageInfo:o,encodeOptions:a},a),o));case 17:throw A.prev=17,A.t0=A.catch(0),x(A.t0);case 20:case"end":return A.stop()}}),A,null,[[0,17]])})))).apply(this,arguments)}function T(A,I,g){return A.bitsPerSample>8?g?new Int16Array(I.buffer,I.byteOffset,I.byteLength/2):new Uint16Array(I.buffer,I.byteOffset,I.byteLength/2):g?new Int8Array(I.buffer,I.byteOffset,I.byteLength):new Uint8Array(I.buffer,I.byteOffset,I.byteLength)}const j=function(A,I){return v.apply(this,arguments)};const P=function(A){for(var I,g=A[0],C=A[0],B=A.length,Q=1;Q<B;Q++)I=A[Q],g=Math.min(g,I),C=Math.max(C,I);return{min:g,max:C}};function O(A){return"number"==typeof A}var z=B(6028),_=B.n(z);function $(){return($=F(w().mark((function A(I,g){var C,B,Q;return w().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return C=g.buffer,B=g.byteOffset,Q=g.length,16===I.bitsAllocated?(B%2&&(C=_()(C).call(C,B),B=0),0===I.pixelRepresentation?I.pixelData=new Uint16Array(C,B,Q/2):I.pixelData=new Int16Array(C,B,Q/2)):8===I.bitsAllocated||1===I.bitsAllocated?I.pixelData=g:32===I.bitsAllocated&&(B%2&&(C=_()(C).call(C,B),B=0),I.pixelData=new Float32Array(C,B,Q/4)),A.abrupt("return",I);case 5:case"end":return A.stop()}}),A)})))).apply(this,arguments)}const AA=function(A,I){return $.apply(this,arguments)};function IA(A){return(255&A)<<8|A>>8&255}function gA(){return(gA=F(w().mark((function A(I,g){var C,B,Q,E;return w().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(16===I.bitsAllocated)for(C=g.buffer,B=g.byteOffset,Q=g.length,B%2&&(C=_()(C).call(C,B),B=0),0===I.pixelRepresentation?I.pixelData=new Uint16Array(C,B,Q/2):I.pixelData=new Int16Array(C,B,Q/2),E=0;E<I.pixelData.length;E++)I.pixelData[E]=IA(I.pixelData[E]);else 8===I.bitsAllocated&&(I.pixelData=g);return A.abrupt("return",I);case 2:case"end":return A.stop()}}),A)})))).apply(this,arguments)}const CA=function(A,I){return gA.apply(this,arguments)};function BA(){return(BA=F(w().mark((function A(I,g){return w().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(8!==I.bitsAllocated){A.next=6;break}if(!I.planarConfiguration){A.next=3;break}return A.abrupt("return",EA(I,g));case 3:return A.abrupt("return",QA(I,g));case 6:if(16!==I.bitsAllocated){A.next=8;break}return A.abrupt("return",iA(I,g));case 8:throw new Error("unsupported pixel format for RLE");case 9:case"end":return A.stop()}}),A)})))).apply(this,arguments)}function QA(A,I){for(var g=I,C=A.rows*A.columns,B=new ArrayBuffer(C*A.samplesPerPixel),Q=new DataView(g.buffer,g.byteOffset),E=new Int8Array(g.buffer,g.byteOffset),i=new Int8Array(B),o=0,D=Q.getInt32(0,!0),a=0;a<D;++a){o=a;var t=Q.getInt32(4*(a+1),!0),s=Q.getInt32(4*(a+2),!0);0===s&&(s=g.length);for(var F=C*D;t<s;){var n=E[t++];if(n>=0&&n<=127)for(var w=0;w<n+1&&o<F;++w)i[o]=E[t++],o+=A.samplesPerPixel;else if(n<=-1&&n>=-127)for(var r=E[t++],e=0;e<1-n&&o<F;++e)i[o]=r,o+=A.samplesPerPixel}}return A.pixelData=new Uint8Array(B),A}function EA(A,I){for(var g=I,C=A.rows*A.columns,B=new ArrayBuffer(C*A.samplesPerPixel),Q=new DataView(g.buffer,g.byteOffset),E=new Int8Array(g.buffer,g.byteOffset),i=new Int8Array(B),o=0,D=Q.getInt32(0,!0),a=0;a<D;++a){o=a*C;var t=Q.getInt32(4*(a+1),!0),s=Q.getInt32(4*(a+2),!0);0===s&&(s=g.length);for(var F=C*D;t<s;){var n=E[t++];if(n>=0&&n<=127)for(var w=0;w<n+1&&o<F;++w)i[o]=E[t++],o++;else if(n<=-1&&n>=-127)for(var r=E[t++],e=0;e<1-n&&o<F;++e)i[o]=r,o++}}return A.pixelData=new Uint8Array(B),A}function iA(A,I){for(var g=I,C=A.rows*A.columns,B=new ArrayBuffer(C*A.samplesPerPixel*2),Q=new DataView(g.buffer,g.byteOffset),E=new Int8Array(g.buffer,g.byteOffset),i=new Int8Array(B),o=Q.getInt32(0,!0),D=0;D<o;++D){var a=0,t=0===D?1:0,s=Q.getInt32(4*(D+1),!0),F=Q.getInt32(4*(D+2),!0);for(0===F&&(F=g.length);s<F;){var n=E[s++];if(n>=0&&n<=127)for(var w=0;w<n+1&&a<C;++w)i[2*a+t]=E[s++],a++;else if(n<=-1&&n>=-127)for(var r=E[s++],e=0;e<1-n&&a<C;++e)i[2*a+t]=r,a++}}return 0===A.pixelRepresentation?A.pixelData=new Uint16Array(B):A.pixelData=new Int16Array(B),A}const oA=function(A,I){return BA.apply(this,arguments)};var DA=B(9400),aA=B.n(DA),tA=B(12);function sA(A,I){var C=g()(A);if(c()){var B=c()(A);I&&(B=R()(B).call(B,(function(I){return U()(A,I).enumerable}))),C.push.apply(C,B)}return C}function FA(A){for(var I=1;I<arguments.length;I++){var g=null!=arguments[I]?arguments[I]:{};I%2?sA(Object(g),!0).forEach((function(I){a(A,I,g[I])})):J()?Object.defineProperties(A,J()(g)):sA(Object(g)).forEach((function(I){Object.defineProperty(A,I,U()(g,I))}))}return A}var nA={codec:void 0,decoder:void 0};function wA(){if(nA.codec)return e().resolve();var A=aA()({locateFile:function(A){return G()(A).call(A,".wasm")?tA:A}});return new(e())((function(I,g){A.then((function(A){nA.codec=A,nA.decoder=new A.JPEGDecoder,I()}),g)}))}function rA(){return(rA=F(w().mark((function A(I,g){var C,B,Q,E,i,o;return w().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,wA();case 2:return C=nA.decoder,C.getEncodedBuffer(I.length).set(I),C.decode(),B=C.getFrameInfo(),Q=C.getDecodedBuffer(),E={columns:B.width,rows:B.height,bitsPerPixel:B.bitsPerSample,signed:g.signed,bytesPerPixel:g.bytesPerPixel,componentsPerPixel:B.componentCount},i=eA(B,Q),o={frameInfo:B},A.abrupt("return",FA(FA(FA({},g),{},{pixelData:i,imageInfo:E,encodeOptions:o},o),E));case 12:case"end":return A.stop()}}),A)})))).apply(this,arguments)}function eA(A,I){return A.isSigned?new Int8Array(I.buffer,I.byteOffset,I.byteLength):new Uint8Array(I.buffer,I.byteOffset,I.byteLength)}const hA=function(A,I){return rA.apply(this,arguments)};var GA={JpegImage:void 0,decodeConfig:{}};function yA(A){return GA.decodeConfig=A,GA.JpegImage?e().resolve():new(e())((function(A,I){B.e(888).then(B.t.bind(B,1888,23)).then((function(I){var g=I.JpegImage;GA.JpegImage=g,A()}),I)}))}function cA(){return(cA=F(w().mark((function A(I,g){var C;return w().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,yA();case 2:if(void 0!==GA.JpegImage){A.next=4;break}throw new Error("No JPEG Baseline decoder loaded");case 4:if((C=new GA.JpegImage).parse(g),C.colorTransform=!1,8!==I.bitsAllocated){A.next=12;break}return I.pixelData=C.getData(I.columns,I.rows),A.abrupt("return",I);case 12:if(16!==I.bitsAllocated){A.next=15;break}return I.pixelData=C.getData16(I.columns,I.rows),A.abrupt("return",I);case 15:case"end":return A.stop()}}),A)})))).apply(this,arguments)}const NA=function(A,I){return cA.apply(this,arguments)};var RA={jpeg:void 0,decodeConfig:{}};function SA(A){return RA.decodeConfig=A,RA.jpeg?e().resolve():new(e())((function(A,I){B.e(610).then(B.t.bind(B,8726,23)).then((function(I){RA.jpeg=I,A()}),I)}))}function UA(){return(UA=F(w().mark((function A(I,g){var C,B,Q,E;return w().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,SA();case 2:if(void 0!==RA.jpeg&&void 0!==RA.jpeg.lossless&&void 0!==RA.jpeg.lossless.Decoder){A.next=4;break}throw new Error("No JPEG Lossless decoder loaded");case 4:if(C=I.bitsAllocated<=8?1:2,B=g.buffer,Q=new RA.jpeg.lossless.Decoder,E=Q.decode(B,g.byteOffset,g.length,C),0!==I.pixelRepresentation){A.next=14;break}if(16!==I.bitsAllocated){A.next=12;break}return I.pixelData=new Uint16Array(E.buffer),A.abrupt("return",I);case 12:return I.pixelData=new Uint8Array(E.buffer),A.abrupt("return",I);case 14:return I.pixelData=new Int16Array(E.buffer),A.abrupt("return",I);case 16:case"end":return A.stop()}}),A)})))).apply(this,arguments)}const kA=function(A,I){return UA.apply(this,arguments)};function JA(A,I){var C=g()(A);if(c()){var B=c()(A);I&&(B=R()(B).call(B,(function(I){return U()(A,I).enumerable}))),C.push.apply(C,B)}return C}function KA(A){for(var I=1;I<arguments.length;I++){var g=null!=arguments[I]?arguments[I]:{};I%2?JA(Object(g),!0).forEach((function(I){a(A,I,g[I])})):J()?Object.defineProperties(A,J()(g)):JA(Object(g)).forEach((function(I){Object.defineProperty(A,I,U()(g,I))}))}return A}const YA=function(A,I,g,C,B,Q){var E,i=(new Date).getTime(),o=null;switch(I){case"1.2.840.10008.1.2":case"1.2.840.10008.1.2.1":o=AA(A,g);break;case"1.2.840.10008.1.2.2":o=CA(A,g);break;case"1.2.840.10008.1.2.1.99":o=AA(A,g);break;case"1.2.840.10008.1.2.5":o=oA(A,g);break;case"1.2.840.10008.1.2.4.50":E=KA({},A),o=hA(g,E);break;case"1.2.840.10008.1.2.4.51":o=NA(A,g);break;case"1.2.840.10008.1.2.4.57":case"1.2.840.10008.1.2.4.70":o=kA(A,g);break;case"1.2.840.10008.1.2.4.80":E=KA({signed:1===A.pixelRepresentation,bytesPerPixel:A.bitsAllocated<=8?1:2},A),o=j(g,E);break;case"1.2.840.10008.1.2.4.81":E=KA({signed:!1,bytesPerPixel:A.bitsAllocated<=8?1:2},A),o=j(g,E);break;case"1.2.840.10008.1.2.4.90":case"1.2.840.10008.1.2.4.91":E=KA({},A),o=q(g,E);break;default:throw new Error("no decoder for transfer syntax ".concat(I))}if(!o)throw new Error("decodePromise not defined");o.then((function(A){Q(function(A,I,g){var C=void 0!==A.pixelRepresentation&&1===A.pixelRepresentation,B=C&&void 0!==A.bitsStored?32-A.bitsStored:void 0;if(C&&void 0!==B)for(var Q=0;Q<A.pixelData.length;Q++)A.pixelData[Q]=A.pixelData[Q]<<B>>B;var E=A.pixelData;if(A.pixelDataLength=A.pixelData.length,I.targetBuffer){var i,o,D=I.targetBuffer;i=D.offset,o=D.length;var a,t=I.targetBuffer,s=t.arrayBuffer,F=t.type;switch(null==i&&(i=0),null==o&&0!==i?o=A.pixelDataLength-i:null==o&&(o=A.pixelDataLength),F){case"Uint8Array":a=Uint8Array;break;case"Uint16Array":a=Uint16Array;break;case"Float32Array":a=Float32Array;break;default:throw new Error("target array for image does not have a valid type.")}var n,w=A.pixelData;if(o!==w.length)throw new Error("target array for image does not have the same length as the decoded image length.");(n=s?new a(s,i,o):new a(o)).set(w,0),E=n}if(I.preScale&&I.preScale.scalingParameters){var r=I.preScale.scalingParameters,e=r.rescaleSlope,h=r.rescaleIntercept;"number"==typeof e&&"number"==typeof h&&function(A,I){var g=A.length,C=I.rescaleSlope,B=I.rescaleIntercept,Q=I.suvbw;if("PT"===I.modality){if("number"!=typeof Q)return;for(var E=0;E<g;E++)A[E]=Q*(A[E]*C+B)}else for(var i=0;i<g;i++)A[i]=A[i]*C+B;return!0}(E,r)&&(A.preScale={scaled:!0,scalingParameters:r})}I.targetBuffer&&(!I.targetBuffer.arrayBuffer||I.targetBuffer.arrayBuffer instanceof ArrayBuffer)&&(A.pixelData=E);var G=(new Date).getTime();return A.decodeTimeInMS=G-g,A}(A,B,i))})).catch((function(A){throw A}))};var MA;function LA(A){A.decodeTask.initializeCodecsOnStartup&&(H(A.decodeTask),V(A.decodeTask))}o({taskType:"decodeTask",handler:function(A,I){LA(MA);var g=MA&&MA.decodeTask&&MA.decodeTask.strict,C=new Uint8Array(A.data.pixelData);YA(A.data.imageFrame,A.data.transferSyntax,C,MA.decodeTask,A.data.options,(function(A){if(!A.pixelData)throw new Error("decodeTask: imageFrame.pixelData is undefined after decoding");!function(A){var I=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],g=P(A.pixelData),C=!(O(A.smallestPixelValue)&&O(A.largestPixelValue));!0!==I||C?(A.smallestPixelValue=g.min,A.largestPixelValue=g.max):(A.smallestPixelValue!==g.min&&console.warn("Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably."),A.largestPixelValue!==g.max&&console.warn("Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably."))}(A,g),A.pixelData=A.pixelData.buffer,I(A,[A.pixelData])}))},initialize:function(A){MA=A,LA(A)}})})()})();\n//# sourceMappingURL=index.worker.bundle.min.worker.js.map',"Worker",void 0,g.p+"index.worker.bundle.min.worker.js")}var j,P=0,O=[],z=[],_=M(),$={maxWebWorkers:navigator.hardwareConcurrency||1,startWebWorkersOnDemand:!0,webWorkerTaskPaths:[],taskConfiguration:{decodeTask:{initializeCodecsOnStartup:!1,strict:_.strict}}},AA={maxWebWorkers:0,numWebWorkers:0,numTasksQueued:0,numTasksExecuting:0,numTasksCompleted:0,totalTaskTimeInMS:0,totalTimeDelayedInMS:0};function IA(){if(O.length){for(var A=0;A<z.length;A++)if("ready"===z[A].status){z[A].status="busy";var I=O.shift();I.start=(new Date).getTime();var g=(new Date).getTime();return AA.totalTimeDelayedInMS+=g-I.added,z[A].task=I,z[A].worker.postMessage({taskType:I.taskType,workerIndex:A,data:I.data},I.transferList),void AA.numTasksExecuting++}z.length<j.maxWebWorkers&&CA()}}function gA(A){if("initialize"===A.data.taskType)z[A.data.workerIndex].status="ready",IA();else{var I=z[A.data.workerIndex].task.start,g="success"===A.data.status?"resolve":"reject";z[A.data.workerIndex].task.deferred[g](A.data.result),z[A.data.workerIndex].task=void 0,AA.numTasksExecuting--,z[A.data.workerIndex].status="ready",AA.numTasksCompleted++;var C=(new Date).getTime();AA.totalTaskTimeInMS+=C-I,IA()}}function CA(){if(!(z.length>=j.maxWebWorkers)){var A=new T;z.push({worker:A,status:"initializing"}),A.addEventListener("message",gA),A.postMessage({taskType:"initialize",workerIndex:z.length-1,config:j})}}function BA(A){if((j=A=A||$).maxWebWorkers=j.maxWebWorkers||navigator.hardwareConcurrency||1,!j.startWebWorkersOnDemand)for(var I=0;I<j.maxWebWorkers;I++)CA()}const QA={initialize:BA,loadWebWorkerTask:function(A,I){j.webWorkerTaskPaths.push(A),I&&(j.taskConfiguration=u()(j.taskConfiguration,I));for(var g=0;g<z.length;g++)z[g].worker.postMessage({taskType:"loadWebWorkerTask",workerIndex:z.length-1,sourcePath:A,config:j})},addTask:function(A,I){var g=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,C=arguments.length>3?arguments[3]:void 0;j||BA();var B,Q={},E=new(J())((function(A,I){Q={resolve:A,reject:I}}));for(B=0;B<O.length&&!(O[B].priority<g);B++);var i=P++;return v()(O).call(O,B,0,{taskId:i,taskType:A,status:"ready",added:(new Date).getTime(),data:I,deferred:Q,priority:g,transferList:C}),IA(),{taskId:i,promise:E}},getStatistics:function(){return AA.maxWebWorkers=j.maxWebWorkers,AA.numWebWorkers=z.length,AA.numTasksQueued=O.length,AA},setTaskPriority:function(A){for(var I=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,g=0;g<O.length;g++)if(O[g].taskId===A){var C=v()(O).call(O,g,1)[0];for(C.priority=I,g=0;g<O.length&&!(O[g].priority<I);g++);return v()(O).call(O,g,0,C),!0}return!1},cancelTask:function(A,I){for(var g=0;g<O.length;g++){if(O[g].taskId===A)return v()(O).call(O,g,1).deferred.reject(I),!0}return!1},webWorkers:z,terminate:function(){for(var A=0;A<z.length;A++)z[A].worker.terminate();z.length=0,j=void 0}};var EA=g(6028),iA=g.n(EA);const oA=function(A){for(var I,g=A[0],C=A[0],B=A.length,Q=1;Q<B;Q++)I=A[Q],g=Math.min(g,I),C=Math.max(C,I);return{min:g,max:C}};function tA(A){return function(A){var I;try{return decodeURIComponent(escape(A))}catch(g){if((I=g)instanceof URIError)return A;throw I}}(String.fromCharCode.apply(null,iA()(Array.prototype).apply(new Uint8Array(A))))}const aA=function(A,I,g){var C=(new Date).getTime(),B=new Blob([I],{type:"image/jpeg"});return new(J())((function(I,Q){var E=new FileReader;void 0===E.readAsBinaryString?E.readAsArrayBuffer(B):E.readAsBinaryString(B),E.onload=function(){var B=new Image;B.onload=function(){g.height=B.height,g.width=B.width,A.rows=B.height,A.columns=B.width;var Q=g.getContext("2d");Q.drawImage(this,0,0);var E=Q.getImageData(0,0,B.width,B.height),i=(new Date).getTime();A.pixelData=E.data,A.imageData=E,A.decodeTimeInMS=i-C;var o=oA(A.pixelData);A.smallestPixelValue=o.min,A.largestPixelValue=o.max,I(A)},B.onerror=function(A){Q(A)},void 0===E.readAsBinaryString?B.src="data:image/jpeg;base64,".concat(window.btoa(tA(E.result))):B.src="data:image/jpeg;base64,".concat(window.btoa(E.result))},E.onerror=function(A){Q(A)}}))};var eA=g(5613);function rA(A,I,g,C){var B=C.priority||void 0,Q=C.transferPixelData?[g.buffer]:void 0;return QA.addTask("decodeTask",{imageFrame:A,transferSyntax:I,pixelData:g,options:C},B,Q).promise}window.pako={inflateRaw:eA.Hq};const nA=function(A,I,g,C){var B=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};switch(I){case"1.2.840.10008.1.2":case"1.2.840.10008.1.2.1":case"1.2.840.10008.1.2.2":case"1.2.840.10008.1.2.1.99":case"1.2.840.10008.1.2.5":return rA(A,I,g,B);case"1.2.840.10008.1.2.4.50":return 8!==A.bitsAllocated||3!==A.samplesPerPixel&&4!==A.samplesPerPixel?rA(A,I,g,B):aA(A,g,C);case"1.2.840.10008.1.2.4.51":case"1.2.840.10008.1.2.4.57":case"1.2.840.10008.1.2.4.70":case"1.2.840.10008.1.2.4.80":case"1.2.840.10008.1.2.4.81":case"1.2.840.10008.1.2.4.90":case"1.2.840.10008.1.2.4.91":return rA(A,I,g,B)}return J().reject(new Error("No decoder for transfer syntax ".concat(I)))};function DA(A){return"RGB"===A||"PALETTE COLOR"===A||"YBR_FULL"===A||"YBR_FULL_422"===A||"YBR_PARTIAL_422"===A||"YBR_PARTIAL_420"===A||"YBR_RCT"===A||"YBR_ICT"===A}function sA(g,C){0===g.planarConfiguration?A(g.pixelData,C):I(g.pixelData,C)}function cA(A,I){var g=I.data;if("RGB"===A.photometricInterpretation)sA(A,g);else if("YBR_RCT"===A.photometricInterpretation)sA(A,g);else if("YBR_ICT"===A.photometricInterpretation)sA(A,g);else if("PALETTE COLOR"===A.photometricInterpretation)i(A,g);else if("YBR_FULL_422"===A.photometricInterpretation)!function(A,I){if(void 0===A)throw new Error("decodeRGB: ybrBuffer must not be undefined");if(A.length%2!=0)throw new Error("decodeRGB: ybrBuffer length must be divisble by 3");for(var g=A.length/2,C=0,B=0,Q=0;Q<g;Q+=2){var E=A[C++],i=A[C++],o=A[C++],t=A[C++];I[B++]=E+1.402*(t-128),I[B++]=E-.34414*(o-128)-.71414*(t-128),I[B++]=E+1.772*(o-128),I[B++]=255,I[B++]=i+1.402*(t-128),I[B++]=i-.34414*(o-128)-.71414*(t-128),I[B++]=i+1.772*(o-128),I[B++]=255}}(A.pixelData,g);else{if("YBR_FULL"!==A.photometricInterpretation)throw new Error("No color space conversion for photometric interpretation ".concat(A.photometricInterpretation));!function(A,I){0===A.planarConfiguration?B(A.pixelData,I):Q(A.pixelData,I)}(A,g)}}const hA=function(A,I){if(I=I||A.transferSyntax,8===A.bitsAllocated&&"1.2.840.10008.1.2.4.50"===I&&(3===A.samplesPerPixel||4===A.samplesPerPixel))return!0};var wA="";function FA(A){return"1.2.840.10008.5.1.4.1.1.12.1"!==A&&"1.2.840.10008.5.1.4.1.1.12.2.1"!==A}function yA(A){for(var I=oA(A),g=Math.abs(I.max-I.min)/65535,C=I.min,B=A.length,Q=new Uint16Array(B),E=65535,i=0,o=0;o<B;o++){var t=Math.floor((A[o]-C)/g);Q[o]=t,E=Math.min(E,t),i=Math.max(i,t)}return{min:E,max:i,intPixelData:Q,slope:g,intercept:C}}function GA(A){32===A.bitsAllocated?A.pixelData=new Float32Array(A.pixelData):16===A.bitsAllocated?0===A.pixelRepresentation?A.pixelData=new Uint16Array(A.pixelData):A.pixelData=new Int16Array(A.pixelData):A.pixelData=new Uint8Array(A.pixelData)}const NA=function(A,I,g){var C=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!I||!I.length)return J().reject(new Error("The file does not contain image data."));var B=KA.cornerstone,Q=document.createElement("canvas"),E=Z(A),i=nA(E,g,I,Q,C),o=M(),t=o.decodeConfig,a=t.convertFloatPixelDataToInt;return new(J())((function(I,E){i.then((function(E){var i=!1;if(C.targetBuffer){var o,t,e=C.targetBuffer;o=e.offset,t=e.length;var r,n,D=C.targetBuffer,s=D.arrayBuffer,c=D.type;switch(null==t&&(t=E.pixelDataLength),null==o&&(o=0),c){case"Uint8Array":r=Uint8Array;break;case"Uint16Array":r=Uint16Array;break;case"Float32Array":r=Float32Array;break;default:throw new Error("target array for image does not have a valid type.")}if(t!==E.pixelDataLength)throw new Error("target array for image does not have the same length as the decoded image length.");n=s?new r(s,o,t):new r(E.pixelData),E.pixelData=n,i=!0}var h=B.metaData.get("imagePlaneModule",A)||{},w=B.metaData.get("voiLutModule",A)||{},F=B.metaData.get("modalityLutModule",A)||{},y=B.metaData.get("sopCommonModule",A)||{},G=DA(E.photometricInterpretation);if(!hA(E,g)&&(i||GA(E),G)){Q.height=E.rows,Q.width=E.columns;var N=Q.getContext("2d").createImageData(E.columns,E.rows);cA(E,N),E.imageData=N,E.pixelData=N.data;var R=oA(E.pixelData);E.smallestPixelValue=R.min,E.largestPixelValue=R.max}var S={imageId:A,color:G,columnPixelSpacing:h.columnPixelSpacing,columns:E.columns,height:E.rows,preScale:E.preScale,intercept:F.rescaleIntercept?F.rescaleIntercept:0,slope:F.rescaleSlope?F.rescaleSlope:1,invert:"MONOCHROME1"===E.photometricInterpretation,minPixelValue:E.smallestPixelValue,maxPixelValue:E.largestPixelValue,rowPixelSpacing:h.rowPixelSpacing,rows:E.rows,sizeInBytes:E.pixelData.byteLength,width:E.columns,windowCenter:w.windowCenter?w.windowCenter[0]:void 0,windowWidth:w.windowWidth?w.windowWidth[0]:void 0,decodeTimeInMS:E.decodeTimeInMS,floatPixelData:void 0,imageFrame:E};if(E.pixelData instanceof Float32Array&&a){var l=E.pixelData,U=yA(l);S.minPixelValue=U.min,S.maxPixelValue=U.max,S.slope=U.slope,S.intercept=U.intercept,S.floatPixelData=l,S.getPixelData=function(){return U.intPixelData}}else S.getPixelData=function(){return E.pixelData};if(S.color&&(S.getCanvas=function(){return wA===A||(Q.height=S.rows,Q.width=S.columns,Q.getContext("2d").putImageData(E.imageData,0,0),wA=A),Q}),F.modalityLUTSequence&&F.modalityLUTSequence.length>0&&FA(y.sopClassUID)&&(S.modalityLUT=F.modalityLUTSequence[0]),w.voiLUTSequence&&w.voiLUTSequence.length>0&&(S.voiLUT=w.voiLUTSequence[0]),S.color&&(S.windowWidth=255,S.windowCenter=127),void 0===S.windowCenter||void 0===S.windowWidth){var k=S.maxPixelValue*S.slope+S.intercept,J=S.minPixelValue*S.slope+S.intercept;S.windowWidth=k-J,S.windowCenter=(k+J)/2}I(S)}),E)}))};function RA(A){var I="1.2.840.10008.1.2";if(!A)return I;var g=A.split(";"),C={};g.forEach((function(A){var I,g,B=A.split("=");if(2===B.length){var Q=U()(I=B[1]).call(I).replace(/"/g,"");C[U()(g=B[0]).call(g)]=Q}}));var B={"image/jpeg":"1.2.840.10008.1.2.4.50","image/x-dicom-rle":"1.2.840.10008.1.2.5","image/x-jls":"1.2.840.10008.1.2.4.80","image/jls":"1.2.840.10008.1.2.4.80","image/jll":"1.2.840.10008.1.2.4.70","image/jp2":"1.2.840.10008.1.2.4.90","image/jpx":"1.2.840.10008.1.2.4.92"};return C["transfer-syntax"]?C["transfer-syntax"]:A&&!f()(C).length&&B[A]?B[A]:C.type&&B[C.type]?B[C.type]:I}function SA(){return KA.cornerstone.imageRetrievalPoolManager}const lA=function(A){var I=this,g=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},C=SA(),B=(new Date).getTime(),Q=new(J())((function(Q,E){var i=g.requestType||"interaction",o=g.additionalDetails||{imageId:A},t=void 0===g.priority?5:g.priority,a=g.addToBeginning||!1,e=A.substring(7);C.addRequest(function(A,I,C){return W(A,I,C).then((function(A){var C=RA(A.contentType),i=A.imageFrame.pixelData;NA(I,i,C,g).then((function(A){var I=(new Date).getTime();A.loadTimeInMS=I-B,Q(A)}),E)}),E).catch((function(A){E(A)}))}.bind(I,e,A,"multipart/related; type=application/octet-stream; transfer-syntax=*"),i,o,t,a)}));return{promise:Q,cancelFn:void 0}};const UA={metaData:{getNumberString:c,getNumberValue:h,getNumberValues:w,getValue:s,metaDataProvider:N},findIndexOfString:S,getPixelData:W,loadImage:lA,metaDataManager:G,register:function(A){A.registerImageLoader("wadors",lA),A.metaData.addProvider(N)}};const kA=function(A){UA.register(A),_A.register(A)};var JA,dA,uA={set cornerstone(A){kA(JA=A)},get cornerstone(){if(!JA){if(!window||!window.cornerstone)throw new Error("cornerstoneWADOImageLoader requires a copy of Cornerstone to work properly. Please add cornerstoneWADOImageLoader.external.cornerstone = cornerstone; to your application.");JA=window.cornerstone,kA(JA)}return JA},set dicomParser(A){dA=A},get dicomParser(){if(!dA){if(!window||!window.dicomParser)throw new Error("cornerstoneWADOImageLoader requires a copy of dicomParser to work properly. Please add cornerstoneWADOImageLoader.external.dicomParser = dicomParser; to your application.");dA=window.dicomParser}return dA}};const KA=uA;const fA=function(A){var I,g=A.indexOf(":"),C=A.substring(g+1),B=C.indexOf("frame=");if(-1!==B){var Q=C.substr(B+6);I=parseInt(Q,10),C=C.substr(0,B-1)}return{scheme:A.substr(0,g),url:C,frame:I}};var YA=0,LA={},MA={};function pA(){return{cacheSizeInBytes:YA,numberOfDataSetsCached:f()(LA).length}}const HA={isLoaded:function(A){return void 0!==LA[A]},load:function(A){var I=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p,g=arguments.length>2?arguments[2]:void 0,C=KA.cornerstone,B=KA.dicomParser;if(LA[A])return new(J())((function(I){LA[A].cacheCount++,I(LA[A].dataSet)}));if(MA[A])return MA[A].cacheCount++,MA[A];var Q=I(A,g),E=new(J())((function(I,g){Q.then((function(Q){var i,o=new Uint8Array(Q);try{i=B.parseDicom(o)}catch(A){return g(A)}LA[A]={dataSet:i,cacheCount:E.cacheCount},YA+=i.byteArray.length,I(i),C.triggerEvent(C.events,"datasetscachechanged",{uri:A,action:"loaded",cacheInfo:pA()})}),g).then((function(){delete MA[A]}),(function(){delete MA[A]}))}));return E.cacheCount=1,MA[A]=E,E},unload:function(A){var I=KA.cornerstone;LA[A]&&(LA[A].cacheCount--,0===LA[A].cacheCount&&(YA-=LA[A].dataSet.byteArray.length,delete LA[A],I.triggerEvent(I.events,"datasetscachechanged",{uri:A,action:"unloaded",cacheInfo:pA()})))},getInfo:pA,purge:function(){LA={},MA={},YA=0},get:function(A){if(LA[A])return LA[A].dataSet}};const qA=function(A,I){var g=KA.dicomParser,C=fA(I),B=HA.get(C.url);if(B){if("generalSeriesModule"===A)return{modality:B.string("x00080060"),seriesInstanceUID:B.string("x0020000e"),seriesNumber:B.intString("x00200011"),studyInstanceUID:B.string("x0020000d"),seriesDate:g.parseDA(B.string("x00080021")),seriesTime:g.parseTM(B.string("x00080031")||"")};if("patientStudyModule"===A)return{patientAge:B.intString("x00101010"),patientSize:B.floatString("x00101020"),patientWeight:B.floatString("x00101030")};if("imagePlaneModule"===A){var Q=D(B,"x00200037",6),E=D(B,"x00200032",3),i=D(B,"x00280030",2),o=null,t=null;i&&(t=i[0],o=i[1]);var e=null,s=null;return Q&&(e=[parseFloat(Q[0]),parseFloat(Q[1]),parseFloat(Q[2])],s=[parseFloat(Q[3]),parseFloat(Q[4]),parseFloat(Q[5])]),{frameOfReferenceUID:B.string("x00200052"),rows:B.uint16("x00280010"),columns:B.uint16("x00280011"),imageOrientationPatient:Q,rowCosines:e,columnCosines:s,imagePositionPatient:E,sliceThickness:B.floatString("x00180050"),sliceLocation:B.floatString("x00201041"),pixelSpacing:i,rowPixelSpacing:t,columnPixelSpacing:o}}if("imagePixelModule"===A)return a(B);if("modalityLutModule"===A)return{rescaleIntercept:B.floatString("x00281052"),rescaleSlope:B.floatString("x00281053"),rescaleType:B.string("x00281054"),modalityLUTSequence:r(B.uint16("x00280103"),B.elements.x00283000)};if("voiLutModule"===A){var c=n(B);return{windowCenter:D(B,"x00281050",1),windowWidth:D(B,"x00281051",1),voiLUTSequence:r(c,B.elements.x00283010)}}if("sopCommonModule"===A)return{sopClassUID:B.string("x00080016"),sopInstanceUID:B.string("x00080018")};if("petIsotopeModule"===A){var h=B.elements.x00540016;if(void 0===h)return;var w=h.items[0].dataSet;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:g.parseTM(w.string("x00181072")||""),radionuclideTotalDose:w.floatString("x00181074"),radionuclideHalfLife:w.floatString("x00181075")}}}return"overlayPlaneModule"===A?function(A){for(var I=[],g=0;g<=30;g+=2){var C="x60".concat(g.toString(16));4===C.length&&(C="x600".concat(g.toString(16)));var B=A.elements["".concat(C,"3000")];if(B){for(var Q=[],E=0;E<B.length;E++)for(var i=0;i<8;i++){var o=A.byteArray[B.dataOffset+E];Q[8*E+i]=o>>i&1}I.push({rows:A.uint16("".concat(C,"0010")),columns:A.uint16("".concat(C,"0011")),type:A.string("".concat(C,"0040")),x:A.int16("".concat(C,"0050"),1)-1,y:A.int16("".concat(C,"0050"),0)-1,pixelData:Q,description:A.string("".concat(C,"0022")),label:A.string("".concat(C,"1500")),roiArea:A.string("".concat(C,"1301")),roiMean:A.string("".concat(C,"1302")),roiStandardDeviation:A.string("".concat(C,"1303"))})}}return{overlays:I}}(B):void 0}};var bA=[];const mA={add:function(A){var I=bA.push(A);return"dicomfile:".concat(I-1)},get:function(A){return bA[A]},remove:function(A){bA[A]=void 0},purge:function(){bA=[]}};function WA(A,I){var g=KA.dicomParser;if(A.elements.x7fe00010&&A.elements.x7fe00010.basicOffsetTable.length)return g.readEncapsulatedImageFrame(A,A.elements.x7fe00010,I);if(function(A){return A.intString("x00280008")!==A.elements.x7fe00010.fragments.length}(A)){var C=g.createJPEGBasicOffsetTable(A,A.elements.x7fe00010);return g.readEncapsulatedImageFrame(A,A.elements.x7fe00010,I,C)}return g.readEncapsulatedPixelDataFromFragments(A,A.elements.x7fe00010,I)}function ZA(A,I){return A&1<<I}const xA=function(A,I,g){for(var C=new Uint8Array(g),B=0;B<g;B++){var Q=A[Math.floor(B/8)+I],E=B%8;C[B]=ZA(Q,E)?1:0}return C};const vA=function(A,I){var g=A.elements.x7fe00010||A.elements.x7fe00008,C=A.uint16("x00280100"),B=A.uint16("x00280010"),Q=A.uint16("x00280011"),E=A.uint16("x00280002");"YBR_FULL_422"===A.string("x00280004")&&(E=2,console.warn("Using SamplesPerPixel of 2 for YBR_FULL_422 photometric interpretation.\n      See http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.6.3.html for more information."));var i,o=g.dataOffset,t=B*Q*E;if(8===C){if((i=o+I*t)>=A.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(A.byteArray.buffer,i,t)}if(16===C){if((i=o+I*t*2)>=A.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(A.byteArray.buffer,i,2*t)}if(1===C){if((i=o+I*t*.125)>=A.byteArray.length)throw new Error("frame exceeds size of pixelData");return xA(A.byteArray,i,t)}if(32===C){if((i=o+I*t*4)>=A.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(A.byteArray.buffer,i,4*t)}throw new Error("unsupported pixel format")};const XA=function(A){var I=fA(A),g=parseInt(I.url,10),C=mA.get(g);return new(J())((function(A,I){var g=new FileReader;g.onload=function(I){var g=I.target.result;A(g)},g.onerror=I,g.readAsArrayBuffer(C)}))};const VA=function(A){var I=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,g=A.elements.x7fe00010||A.elements.x7fe00008;return g?g.encapsulatedPixelData?WA(A,I):vA(A,I):null};function TA(A,I){A.decache=function(){var A=fA(I);HA.unload(A.url)}}function jA(A,I){var g=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,C=arguments.length>3?arguments[3]:void 0,B=arguments.length>4?arguments[4]:void 0,Q=arguments.length>5?arguments[5]:void 0,E=(new Date).getTime(),i={cancelFn:void 0};return i.promise=new(J())((function(o,t){A.then((function(A){var a=VA(A,g),e=A.string("x00020010"),r=(new Date).getTime(),n=NA(I,a,e,B);TA(i,I),n.then((function(I){I.data=A,I.sharedCacheKey=C;var g=(new Date).getTime();I.loadTimeInMS=r-E,I.totalTimeInMS=g-E,void 0!==Q&&void 0!==Q.imageDoneCallback&&Q.imageDoneCallback(I),o(I)}),(function(I){t({error:I,dataSet:A})}))}),(function(A){t({error:A})}))})),i}function PA(A,I){var g=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,C=arguments.length>3?arguments[3]:void 0,B=arguments.length>4?arguments[4]:void 0,Q=(new Date).getTime(),E=new(J())((function(E,i){var o,t=(new Date).getTime();try{var a=VA(A,g),e=A.string("x00020010");o=NA(I,a,e,B)}catch(I){return void i({error:I,dataSet:A})}o.then((function(I){I.data=A,I.sharedCacheKey=C;var g=(new Date).getTime();I.loadTimeInMS=t-Q,I.totalTimeInMS=g-Q,E(I)}),i)}));return{promise:E,cancelFn:void 0}}function OA(A){return"dicomweb"===A||"wadouri"===A?p:"dicomfile"===A?XA:void 0}function zA(A){var I=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},g=fA(A),C=(I=u()({},I)).loader;if(void 0===C?C=OA(g.scheme):delete I.loader,HA.isLoaded(g.url)){var B=HA.get(g.url,C,A);return PA(B,A,g.frame,g.url,I)}var Q=HA.load(g.url,C,A);return jA(Q,A,g.frame,g.url,I)}const _A={metaData:{getImagePixelModule:a,getLUTs:r,getModalityLUTOutputPixelRepresentation:n,getNumberValues:D,metaDataProvider:qA},dataSetCacheManager:HA,fileManager:mA,getEncapsulatedImageFrame:WA,getUncompressedImageFrame:vA,loadFileRequest:XA,loadImageFromPromise:jA,getLoaderForScheme:OA,loadImage:zA,parseImageId:fA,unpackBinaryFrame:xA,register:function(A){A.registerImageLoader("dicomweb",zA),A.registerImageLoader("wadouri",zA),A.registerImageLoader("dicomfile",zA),A.metaData.addProvider(qA)}};const $A=function(A){L(A)},AI="4.1.3";const II={convertRGBColorByPixel:A,convertRGBColorByPlane:I,convertYBRFullByPixel:B,convertYBRFullByPlane:Q,convertPALETTECOLOR:i,wadouri:_A,wadors:UA,configure:$A,convertColorSpace:cA,createImage:NA,decodeImageFrame:nA,decodeJPEGBaseline8BitColor:aA,getImageFrame:Z,getPixelData:W,getMinMax:oA,isColorImage:DA,isJPEGBaseline8BitColor:hA,webWorkerManager:QA,version:AI,internal:H,external:uA}})(),C})()}));
+//# sourceMappingURL=cornerstoneWADOImageLoader.bundle.min.js.map
\ No newline at end of file
diff --git a/public/static/dicom/js/cornerstoneWebImageLoader.min.js b/public/static/dicom/js/cornerstoneWebImageLoader.min.js
new file mode 100644
index 00000000..d39cba12
--- /dev/null
+++ b/public/static/dicom/js/cornerstoneWebImageLoader.min.js
@@ -0,0 +1,3 @@
+/*! cornerstone-web-image-loader - 2.1.1 - 2018-12-05 | (c) 2016 Chris Hafey | https://github.com/cornerstonejs/cornerstoneWebImageLoader */
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstoneWebImageLoader",[],t):"object"==typeof exports?exports.cornerstoneWebImageLoader=t():e.cornerstoneWebImageLoader=t()}(window,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=5)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.external=void 0;var r,o=n(4),a=(r=o)&&r.__esModule?r:{default:r};var u=void 0,i={set cornerstone(e){u=e,(0,a.default)(u)},get cornerstone(){return u}};t.external=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.loadImage=function(e){var t=r.external.cornerstone,n=new XMLHttpRequest;return n.open("GET",e,!0),n.responseType="arraybuffer",i.beforeSend(n),n.onprogress=function(n){if(n.lengthComputable){var r=n.loaded,o=n.total,a=Math.round(r/o*100),u={imageId:e,loaded:r,total:o,percentComplete:a};t.triggerEvent(t.events,"cornerstoneimageloadprogress",u)}},{promise:new Promise(function(t,r){n.onload=function(){(0,o.default)(this.response).then(function(n){var r=(0,a.default)(n,e);t(r)},r)},n.send()}),cancelFn:function(){n.abort()}}},t.configure=function(e){i=e};var r=n(0),o=u(n(3)),a=u(n(2));function u(e){return e&&e.__esModule?e:{default:e}}var i={beforeSend:function(){}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=e.naturalHeight,u=e.naturalWidth;return{imageId:t,minPixelValue:0,maxPixelValue:255,slope:1,intercept:0,windowCenter:128,windowWidth:255,render:r.external.cornerstone.renderWebImage,getPixelData:function(){return(n=void 0,a===t?n=o.getContext("2d"):(o.height=e.naturalHeight,o.width=e.naturalWidth,(n=o.getContext("2d")).drawImage(e,0,0),a=t),n.getImageData(0,0,e.naturalWidth,e.naturalHeight)).data;var n},getCanvas:function(){return a===t?o:(o.height=e.naturalHeight,o.width=e.naturalWidth,o.getContext("2d").drawImage(e,0,0),a=t,o)},getImage:function(){return e},rows:n,columns:u,height:n,width:u,color:!0,rgba:!1,columnPixelSpacing:void 0,rowPixelSpacing:void 0,invert:!1,sizeInBytes:n*u*4}};var r=n(0),o=document.createElement("canvas"),a=void 0},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return new Promise(function(t,n){var r=new Image,o=new Uint8Array(e),a=new Blob([o]),u=window.URL||window.webkitURL,i=u.createObjectURL(a);r.src=i,r.onload=function(){t(r),u.revokeObjectURL(i)},r.onerror=function(e){u.revokeObjectURL(i),n(e)}})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e.registerImageLoader("http",r.loadImage),e.registerImageLoader("https",r.loadImage)};var r=n(1)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.external=t.configure=t.loadImage=t.createImage=t.arrayBufferToImage=void 0;var r=i(n(3)),o=i(n(2)),a=n(1),u=n(0);function i(e){return e&&e.__esModule?e:{default:e}}var d={arrayBufferToImage:r.default,createImage:o.default,loadImage:a.loadImage,configure:a.configure,external:u.external};t.arrayBufferToImage=r.default,t.createImage=o.default,t.loadImage=a.loadImage,t.configure=a.configure,t.external=u.external,t.default=d}])});
+//# sourceMappingURL=cornerstoneWebImageLoader.min.js.map
\ No newline at end of file
diff --git a/public/static/dicom/js/dicomParser.min.js b/public/static/dicom/js/dicomParser.min.js
new file mode 100644
index 00000000..217ed4b7
--- /dev/null
+++ b/public/static/dicom/js/dicomParser.min.js
@@ -0,0 +1,3 @@
+/*! dicom-parser - 1.8.12 - 2022-02-07 | (c) 2017 Chris Hafey | https://github.com/cornerstonejs/dicomParser */
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("zlib")):"function"==typeof define&&define.amd?define("dicom-parser",["zlib"],t):"object"==typeof exports?exports["dicom-parser"]=t(require("zlib")):e.dicomParser=t(e.zlib)}(this,function(r){return a=[function(e,t){e.exports=r},function(e,t,s){"use strict";s.r(t),s.d(t,"isStringVr",function(){return d}),s.d(t,"isPrivateTag",function(){return f}),s.d(t,"parsePN",function(){return a}),s.d(t,"parseTM",function(){return n}),s.d(t,"parseDA",function(){return o}),s.d(t,"explicitElementToString",function(){return l}),s.d(t,"explicitDataSetToJS",function(){return u}),s.d(t,"createJPEGBasicOffsetTable",function(){return p}),s.d(t,"parseDicomDataSetExplicit",function(){return q}),s.d(t,"parseDicomDataSetImplicit",function(){return T}),s.d(t,"readFixedString",function(){return b}),s.d(t,"alloc",function(){return k}),s.d(t,"version",function(){return L}),s.d(t,"bigEndianByteArrayParser",function(){return N}),s.d(t,"ByteStream",function(){return J}),s.d(t,"sharedCopy",function(){return j}),s.d(t,"DataSet",function(){return w}),s.d(t,"findAndSetUNElementLength",function(){return y}),s.d(t,"findEndOfEncapsulatedElement",function(){return g}),s.d(t,"findItemDelimitationItemAndSetElementLength",function(){return x}),s.d(t,"littleEndianByteArrayParser",function(){return M}),s.d(t,"parseDicom",function(){return V}),s.d(t,"readDicomElementExplicit",function(){return B}),s.d(t,"readDicomElementImplicit",function(){return A}),s.d(t,"readEncapsulatedImageFrame",function(){return W}),s.d(t,"readEncapsulatedPixelData",function(){return K}),s.d(t,"readEncapsulatedPixelDataFromFragments",function(){return _}),s.d(t,"readPart10Header",function(){return G}),s.d(t,"readSequenceItemsExplicit",function(){return I}),s.d(t,"readSequenceItemsImplicit",function(){return F}),s.d(t,"readSequenceItem",function(){return S}),s.d(t,"readTag",function(){return h});var r={AE:!0,AS:!0,AT:!1,CS:!0,DA:!0,DS:!0,DT:!0,FL:!1,FD:!1,IS:!0,LO:!0,LT:!0,OB:!1,OD:!1,OF:!1,OW:!1,PN:!0,SH:!0,SL:!1,SQ:!1,SS:!1,ST:!0,TM:!0,UI:!0,UL:!1,UN:void 0,UR:!0,US:!1,UT:!0},d=function(e){return r[e]},f=function(e){return parseInt(e[4],10)%2==1},a=function(e){if(void 0!==e){e=e.split("^");return{familyName:e[0],givenName:e[1],middleName:e[2],prefix:e[3],suffix:e[4]}}};function n(e,t){if(2<=e.length){var r=parseInt(e.substring(0,2),10),a=4<=e.length?parseInt(e.substring(2,4),10):void 0,n=6<=e.length?parseInt(e.substring(4,6),10):void 0,i=8<=e.length?e.substring(7,13):void 0,i=i?parseInt(i,10)*Math.pow(10,6-i.length):void 0;if(t&&(isNaN(r)||void 0!==a&&isNaN(a)||void 0!==n&&isNaN(n)||void 0!==i&&isNaN(i)||r<0||23<r||a&&(a<0||59<a)||n&&(n<0||59<n)||i&&(i<0||999999<i)))throw"invalid TM '".concat(e,"'");return{hours:r,minutes:a,seconds:n,fractionalSeconds:i}}if(t)throw"invalid TM '".concat(e,"'")}function i(e,t,r){return!isNaN(r)&&(0<t&&t<=12&&0<e&&e<=function(e,t){switch(e){case 2:return t%4==0&&t%100||t%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}}(t,r))}function o(e,t){if(e&&8===e.length){var r=parseInt(e.substring(0,4),10),a=parseInt(e.substring(4,6),10),n=parseInt(e.substring(6,8),10);if(t&&!0!==i(n,a,r))throw"invalid DA '".concat(e,"'");return{year:r,month:a,day:n}}if(t)throw"invalid DA '".concat(e,"'")}function l(n,e){if(void 0===n||void 0===e)throw"dicomParser.explicitElementToString: missing required parameters";if(void 0===e.vr)throw"dicomParser.explicitElementToString: cannot convert implicit element to string";var t,r=e.vr,i=e.tag;function a(e,t){for(var r="",a=0;a<e;a++)0!==a&&(r+="/"),r+=t.call(n,i,a).toString();return r}if(!0===d(r))t=n.string(i);else{if("AT"===r){var o=n.uint32(i);return void 0===o?void 0:"x".concat((o=o<0?4294967295+o+1:o).toString(16).toUpperCase())}"US"===r?t=a(e.length/2,n.uint16):"SS"===r?t=a(e.length/2,n.int16):"UL"===r?t=a(e.length/4,n.uint32):"SL"===r?t=a(e.length/4,n.int32):"FD"===r?t=a(e.length/8,n.double):"FL"===r&&(t=a(e.length/4,n.float))}return t}function u(e,t){if(void 0===e)throw"dicomParser.explicitDataSetToJS: missing required parameter dataSet";t=t||{omitPrivateAttibutes:!0,maxElementLength:128};var r,a={};for(r in e.elements){var n=e.elements[r];if(!0!==t.omitPrivateAttibutes||!f(r))if(n.items){for(var i=[],o=0;o<n.items.length;o++)i.push(u(n.items[o].dataSet,t));a[r]=i}else{var s=void 0;n.length<t.maxElementLength&&(s=l(e,n)),a[r]=void 0!==s?s:{dataOffset:n.dataOffset,length:n.length}}}return a}function m(e,t){return 255===e.byteArray[t]&&217===e.byteArray[t+1]}function c(e,t,r){for(var a,n,i=r;i<t.fragments.length;i++)if(a=e,n=i,n=t.fragments[n],!(!m(a,n.position+n.length-2)&&!m(a,n.position+n.length-3)))return i}function p(e,t,r){if(void 0===e)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter dataSet";if(void 0===t)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter pixelDataElement";if("x7fe00010"!==t.tag)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010'";if(!0!==t.encapsulatedPixelData)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==t.hadUndefinedLength)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.basicOffsetTable)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.fragments)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(t.fragments.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r&&r.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'fragments' must not be zero length";r=r||t.fragments;for(var a=[],n=0;;){a.push(t.fragments[n].offset);var i=c(e,t,n);if(void 0===i||i===t.fragments.length-1)return a;n=i+1}}function h(e){if(void 0===e)throw"dicomParser.readTag: missing required parameter 'byteStream'";var t=256*e.readUint16()*256,e=e.readUint16();return"x".concat("00000000".concat((t+e).toString(16)).substr(-8))}function g(e,t,r){if(void 0===e)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'byteStream'";if(void 0===t)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'element'";if(t.encapsulatedPixelData=!0,t.basicOffsetTable=[],t.fragments=[],"xfffee000"!==h(e))throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var a=e.readUint32()/4,n=0;n<a;n++){var i=e.readUint32();t.basicOffsetTable.push(i)}for(var o=e.position;e.position<e.byteArray.length;){var s=h(e),d=e.readUint32();if("xfffee0dd"===s)return e.seek(d),void(t.length=e.position-t.dataOffset);if("xfffee000"!==s)return r&&r.push("unexpected tag ".concat(s," while searching for end of pixel data element with undefined length")),d>e.byteArray.length-e.position&&(d=e.byteArray.length-e.position),t.fragments.push({offset:e.position-o-8,position:e.position,length:d}),e.seek(d),void(t.length=e.position-t.dataOffset);t.fragments.push({offset:e.position-o-8,position:e.position,length:d}),e.seek(d)}r&&r.push("pixel data element ".concat(t.tag," missing sequence delimiter tag xfffee0dd"))}function y(e,t){if(void 0===e)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;)if(65534===e.readUint16()){var a=e.readUint16();if(57565===a)return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(t.tag)),void(t.length=e.position-t.dataOffset)}t.length=e.byteArray.length-t.dataOffset,e.seek(e.byteArray.length-e.position)}function b(e,t,r){if(r<0)throw"dicomParser.readFixedString - length cannot be less than 0";if(t+r>e.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var a,n="",i=0;i<r;i++){if(0===(a=e[t+i]))return t+=r,n;n+=String.fromCharCode(a)}return n}function v(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function P(e,t){return void 0!==e.parser?e.parser:t}var w=function(){function a(e,t,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),this.byteArrayParser=e,this.byteArray=t,this.elements=r}var e,t,r;return e=a,(t=[{key:"uint16",value:function(e,t){e=this.elements[e];if(t=void 0!==t?t:0,e&&0!==e.length)return P(e,this.byteArrayParser).readUint16(this.byteArray,e.dataOffset+2*t)}},{key:"int16",value:function(e,t){e=this.elements[e];if(t=void 0!==t?t:0,e&&0!==e.length)return P(e,this.byteArrayParser).readInt16(this.byteArray,e.dataOffset+2*t)}},{key:"uint32",value:function(e,t){e=this.elements[e];if(t=void 0!==t?t:0,e&&0!==e.length)return P(e,this.byteArrayParser).readUint32(this.byteArray,e.dataOffset+4*t)}},{key:"int32",value:function(e,t){e=this.elements[e];if(t=void 0!==t?t:0,e&&0!==e.length)return P(e,this.byteArrayParser).readInt32(this.byteArray,e.dataOffset+4*t)}},{key:"float",value:function(e,t){e=this.elements[e];if(t=void 0!==t?t:0,e&&0!==e.length)return P(e,this.byteArrayParser).readFloat(this.byteArray,e.dataOffset+4*t)}},{key:"double",value:function(e,t){e=this.elements[e];if(t=void 0!==t?t:0,e&&0!==e.length)return P(e,this.byteArrayParser).readDouble(this.byteArray,e.dataOffset+8*t)}},{key:"numStringValues",value:function(e){e=this.elements[e];if(e&&0<e.length){e=b(this.byteArray,e.dataOffset,e.length).match(/\\/g);return null===e?1:e.length+1}}},{key:"string",value:function(e,t){e=this.elements[e];if(e&&e.Value)return e.Value;if(e&&0<e.length){e=b(this.byteArray,e.dataOffset,e.length);return 0<=t?e.split("\\")[t].trim():e.trim()}}},{key:"text",value:function(e,t){e=this.elements[e];if(e&&0<e.length){e=b(this.byteArray,e.dataOffset,e.length);return 0<=t?e.split("\\")[t].replace(/ +$/,""):e.replace(/ +$/,"")}}},{key:"floatString",value:function(e,t){var r=this.elements[e];if(r&&0<r.length){t=this.string(e,t=void 0!==t?t:0);if(void 0!==t)return parseFloat(t)}}},{key:"intString",value:function(e,t){var r=this.elements[e];if(r&&0<r.length){t=this.string(e,t=void 0!==t?t:0);if(void 0!==t)return parseInt(t)}}},{key:"attributeTag",value:function(e){var t=this.elements[e];if(t&&4===t.length){var r=P(t,this.byteArrayParser).readUint16,e=this.byteArray,t=t.dataOffset;return"x".concat("00000000".concat((256*r(e,t)*256+r(e,t+2)).toString(16)).substr(-8))}}}])&&v(e.prototype,t),r&&v(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}();function x(e,t){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;)if(65534===e.readUint16()){var a=e.readUint16();if(57357===a)return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(t.tag)),void(t.length=e.position-t.dataOffset)}t.length=e.byteArray.length-t.dataOffset,e.seek(e.byteArray.length-e.position)}var E=function(e,t,r){if(void 0!==r)return"SQ"===r(e.tag);if(t.position+4<=t.byteArray.length){e=h(t);return t.seek(-4),"xfffee000"===e||"xfffee0dd"===e}return t.warnings.push("eof encountered before finding sequence item tag or sequence delimiter tag in peeking to determine VR"),!1};function A(e,t,r){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var a={tag:h(e),length:e.readUint32(),dataOffset:e.position};return 4294967295===a.length&&(a.hadUndefinedLength=!0),a.tag===t||(E(a,e,r)&&!f(a.tag)?F(e,a):a.hadUndefinedLength?x(e,a):e.seek(a.length)),a}function S(e){if(void 0===e)throw"dicomParser.readSequenceItem: missing required parameter 'byteStream'";var t={tag:h(e),length:e.readUint32(),dataOffset:e.position};if("xfffee000"!==t.tag)throw"dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset ".concat(e.position);return t}function D(e,t){var r=S(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(e,t){for(var r={};e.position<e.byteArray.length;){var a=A(e,void 0,t);if("xfffee00d"===(r[a.tag]=a).tag)return new w(e.byteArrayParser,e.byteArray,r)}return e.warnings.push("eof encountered before finding sequence item delimiter in sequence item of undefined length"),new w(e.byteArrayParser,e.byteArray,r)}(e,t),r.length=e.position-r.dataOffset):(r.dataSet=new w(e.byteArrayParser,e.byteArray,{}),T(r.dataSet,e,e.position+r.length,{vrCallback:t})),r}function F(e,t,r){if(void 0===e)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'byteStream'";if(void 0===t)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'element'";t.items=[],(4294967295===t.length?function(e,t,r){for(;e.position+4<=e.byteArray.length;){var a=h(e);if(e.seek(-4),"xfffee0dd"===a)return t.length=e.position-t.dataOffset,e.seek(8);a=D(e,r);t.items.push(a)}e.warnings.push("eof encountered before finding sequence delimiter in sequence of undefined length"),t.length=e.byteArray.length-t.dataOffset}:function(e,t,r){for(var a=t.dataOffset+t.length;e.position<a;){var n=D(e,r);t.items.push(n)}})(e,t,r)}function O(e,t){var r=S(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(e,t){for(var r={};e.position<e.byteArray.length;){var a=B(e,t);if("xfffee00d"===(r[a.tag]=a).tag)return new w(e.byteArrayParser,e.byteArray,r)}return t.push("eof encountered before finding item delimiter tag while reading sequence item of undefined length"),new w(e.byteArrayParser,e.byteArray,r)}(e,t),r.length=e.position-r.dataOffset):(r.dataSet=new w(e.byteArrayParser,e.byteArray,{}),q(r.dataSet,e,e.position+r.length)),r}function I(e,t,r){if(void 0===e)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'byteStream'";if(void 0===t)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'element'";t.items=[],(4294967295===t.length?function(e,t,r){for(;e.position+4<=e.byteArray.length;){var a=h(e);if(e.seek(-4),"xfffee0dd"===a)return t.length=e.position-t.dataOffset,e.seek(8);a=O(e,r);t.items.push(a)}r.push("eof encountered before finding sequence delimitation tag while reading sequence of undefined length"),t.length=e.position-t.dataOffset}:function(e,t,r){for(var a=t.dataOffset+t.length;e.position<a;){var n=O(e,r);t.items.push(n)}})(e,t,r)}var U=function(e){return"OB"===e||"OD"===e||"OL"===e||"OW"===e||"SQ"===e||"OF"===e||"UC"===e||"UR"===e||"UT"===e||"UN"===e?4:2};function B(e,t,r){if(void 0===e)throw"dicomParser.readDicomElementExplicit: missing required parameter 'byteStream'";var a={tag:h(e),vr:e.readFixedString(2)};return 2===U(a.vr)?a.length=e.readUint16():(e.seek(2),a.length=e.readUint32()),a.dataOffset=e.position,4294967295===a.length&&(a.hadUndefinedLength=!0),a.tag===r||("SQ"===a.vr?I(e,a,t):4294967295===a.length?"x7fe00010"===a.tag?g(e,a,t):("UN"===a.vr?F:x)(e,a):e.seek(a.length)),a}function q(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?t.byteArray.length:r,void 0===t)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(r<t.position||r>t.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var n=e.elements;t.position<r;){var i=B(t,e.warnings,a.untilTag);if((n[i.tag]=i).tag===a.untilTag)return}if(t.position>r)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function T(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?e.byteArray.length:r,void 0===t)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(r<t.position||r>t.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var n=e.elements;t.position<r;){var i=A(t,a.untilTag,a.vrCallback);if((n[i.tag]=i).tag===a.untilTag)return}}function k(e,t){if("undefined"!=typeof Buffer&&e instanceof Buffer)return Buffer.alloc(t);if(e instanceof Uint8Array)return new Uint8Array(t);throw"dicomParser.alloc: unknown type for byteArray"}var L="1.8.12",N={readUint16:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readUint16: position cannot be less than 0";if(t+2>e.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(e[t]<<8)+e[t+1]},readInt16:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if(t+2>e.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";t=(e[t]<<8)+e[t+1];return t=32768&t?t-65535-1:t},readUint32:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*e[t]+e[t+1])+e[t+2])+e[t+3]},readInt32:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(e[t]<<24)+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3]},readFloat:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[3]=e[t],r[2]=e[t+1],r[1]=e[t+2],r[0]=e[t+3],new Float32Array(r.buffer)[0]},readDouble:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if(t+8>e.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[7]=e[t],r[6]=e[t+1],r[5]=e[t+2],r[4]=e[t+3],r[3]=e[t+4],r[2]=e[t+5],r[1]=e[t+6],r[0]=e[t+7],new Float64Array(r.buffer)[0]}};function j(e,t,r){if("undefined"!=typeof Buffer&&e instanceof Buffer)return e.slice(t,t+r);if(e instanceof Uint8Array)return new Uint8Array(e.buffer,e.byteOffset+t,r);throw"dicomParser.from: unknown type for byteArray"}function C(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}var J=function(){function a(e,t,r){if(!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),void 0===e)throw"dicomParser.ByteStream: missing required parameter 'byteArrayParser'";if(void 0===t)throw"dicomParser.ByteStream: missing required parameter 'byteArray'";if(t instanceof Uint8Array==!1&&("undefined"==typeof Buffer||t instanceof Buffer==!1))throw"dicomParser.ByteStream: parameter byteArray is not of type Uint8Array or Buffer";if(r<0)throw"dicomParser.ByteStream: parameter 'position' cannot be less than 0";if(r>=t.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=e,this.byteArray=t,this.position=r||0,this.warnings=[]}var e,t,r;return e=a,(t=[{key:"seek",value:function(e){if(this.position+e<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=e}},{key:"readByteStream",value:function(e){if(this.position+e>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var t=j(this.byteArray,this.position,e);return this.position+=e,new a(this.byteArrayParser,t)}},{key:"getSize",value:function(){return this.byteArray.length}},{key:"readUint16",value:function(){var e=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,e}},{key:"readUint32",value:function(){var e=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,e}},{key:"readFixedString",value:function(e){var t=b(this.byteArray,this.position,e);return this.position+=e,t}}])&&C(e.prototype,t),r&&C(e,r),Object.defineProperty(e,"prototype",{writable:!1}),a}(),M={readUint16:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if(t+2>e.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return e[t]+256*e[t+1]},readInt16:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if(t+2>e.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";t=e[t]+(e[t+1]<<8);return t=32768&t?t-65535-1:t},readUint32:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return e[t]+256*e[t+1]+256*e[t+2]*256+256*e[t+3]*256*256},readInt32:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24)},readFloat:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[0]=e[t],r[1]=e[t+1],r[2]=e[t+2],r[3]=e[t+3],new Float32Array(r.buffer)[0]},readDouble:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if(t+8>e.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[0]=e[t],r[1]=e[t+1],r[2]=e[t+2],r[3]=e[t+3],r[4]=e[t+4],r[5]=e[t+5],r[6]=e[t+6],r[7]=e[t+7],new Float64Array(r.buffer)[0]}};function G(e){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var o=i.TransferSyntaxUID,s=new J(M,e);return function(){var e=function(){if(s.getSize()<=132&&o)return!1;if(s.seek(128),"DICM"===s.readFixedString(4))return!0;if(!(i||{}).TransferSyntaxUID)throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file.";return s.seek(0),!1}(),t=[],r={};if(!e)return s.position=0,{elements:{x00020010:{tag:"x00020010",vr:"UI",Value:o}},warnings:t};for(;s.position<s.byteArray.length;){var a=s.position,n=B(s,t);if("x0002ffff"<n.tag){s.position=a;break}n.parser=M,r[n.tag]=n}return(e=new w(s.byteArrayParser,s.byteArray,r)).warnings=s.warnings,e.position=s.position,e}()}var z="1.2.840.10008.1.2.2";function V(i){var o=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(void 0===i)throw new Error("dicomParser.parseDicom: missing required parameter 'byteArray'");var e,a=function(e){if(void 0===e.elements.x00020010)throw new Error("dicomParser.parseDicom: missing required meta header attribute 0002,0010");e=e.elements.x00020010;return e&&e.Value||b(i,e.dataOffset,e.length)};function t(t){var e=a(t),r="1.2.840.10008.1.2"!==e,e=function(e,t){var r="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0);if("1.2.840.10008.1.2.1.99"!==e)return new J(e===z?N:M,i,t);if(o&&o.inflater){e=o.inflater(i,t);return new J(M,e,0)}if(!0==r){var a=s(0),n=j(i,t,i.length-t),a=a.inflateRawSync(n),n=k(i,a.length+t);return i.copy(n,0,0,t),a.copy(n,t),new J(M,n,0)}if("undefined"==typeof pako)throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax";return a=i.slice(t),n=pako.inflateRaw(a),(a=k(i,n.length+t)).set(i.slice(0,t),0),a.set(n,t),new J(M,a,0)}(e,t.position),t=new w(e.byteArrayParser,e.byteArray,{});t.warnings=e.warnings;try{(r?q:T)(t,e,e.byteArray.length,o)}catch(e){throw{exception:e,dataSet:t}}return t}return function(e,t){for(var r in e.elements)e.elements.hasOwnProperty(r)&&(t.elements[r]=e.elements[r]);return void 0!==e.warnings&&(t.warnings=e.warnings.concat(t.warnings)),t}(e=G(i,o),t(e))}var R=function(e,t,r){for(var a=0,n=t;n<t+r;n++)a+=e[n].length;return a};function _(e,t,r,a,n){if(n=n||t.fragments,void 0===e)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'dataSet'";if(void 0===t)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'startFragmentIndex'";if(void 0===(a=a||1))throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'numFragments'";if("x7fe00010"!==t.tag)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010";if(!0!==t.encapsulatedPixelData)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==t.hadUndefinedLength)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.fragments)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(t.fragments.length<=0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be >= 0";if(r>=t.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(a<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(r+a>t.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var i=new J(e.byteArrayParser,e.byteArray,t.dataOffset),t=S(i);if("xfffee000"!==t.tag)throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";i.seek(t.length);var o=i.position;if(1===a)return j(i.byteArray,o+n[r].offset+8,n[r].length);for(var t=R(n,r,a),s=k(i.byteArray,t),d=0,f=r;f<r+a;f++)for(var l=o+n[f].offset+8,u=0;u<n[f].length;u++)s[d++]=i.byteArray[l++];return s}var H=function(e,t){for(var r=0;r<e.length;r++)if(e[r].offset===t)return r},Q=function(e,t,r,a){if(e===t.length-1)return r.length-a;for(var n=t[e+1],i=a+1;i<r.length;i++)if(r[i].offset===n)return i-a;throw"dicomParser.calculateNumberOfFragmentsForFrame: could not find fragment with offset matching basic offset table"};function W(e,t,r,a,n){if(a=a||t.basicOffsetTable,n=n||t.fragments,void 0===e)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'dataSet'";if(void 0===t)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'frameIndex'";if(void 0===a)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' does not have basicOffsetTable";if("x7fe00010"!==t.tag)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010)";if(!0!==t.encapsulatedPixelData)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==t.hadUndefinedLength)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have undefined length";if(void 0===t.fragments)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have fragments";if(0===a.length)throw"dicomParser.readEncapsulatedImageFrame: basicOffsetTable has zero entries";if(r<0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be >= 0";if(r>=a.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var i=a[r],i=H(n,i);if(void 0===i)throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";return _(e,t,i,Q(r,a,n,i),n)}var $=!1;function K(e,t,r){if($||($=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),void 0===e)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if(void 0===t)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if("x7fe00010"!==t.tag)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if(!0!==t.encapsulatedPixelData)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(!0!==t.hadUndefinedLength)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.fragments)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelData: parameter 'frame' must be >= 0";return 0!==t.basicOffsetTable.length?W(e,t,r):_(e,t,0,t.fragments.length)}t.default={isStringVr:d,isPrivateTag:f,parsePN:a,parseTM:n,parseDA:o,explicitElementToString:l,explicitDataSetToJS:u,createJPEGBasicOffsetTable:p,parseDicomDataSetExplicit:q,parseDicomDataSetImplicit:T,readFixedString:b,alloc:k,version:L,bigEndianByteArrayParser:N,ByteStream:J,sharedCopy:j,DataSet:w,findAndSetUNElementLength:y,findEndOfEncapsulatedElement:g,findItemDelimitationItemAndSetElementLength:x,littleEndianByteArrayParser:M,parseDicom:V,readDicomElementExplicit:B,readDicomElementImplicit:A,readEncapsulatedImageFrame:W,readEncapsulatedPixelData:K,readEncapsulatedPixelDataFromFragments:_,readPart10Header:G,readSequenceItemsExplicit:I,readSequenceItemsImplicit:F,readSequenceItem:S,readTag:h,LEI:"1.2.840.10008.1.2",LEE:"1.2.840.10008.1.2.1"}}],i={},n.m=a,n.c=i,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)n.d(r,a,function(e){return t[e]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1);function n(e){if(i[e])return i[e].exports;var t=i[e]={i:e,l:!1,exports:{}};return a[e].call(t.exports,t,t.exports,n),t.l=!0,t.exports}var a,i});
+//# sourceMappingURL=dicomParser.min.js.map
\ No newline at end of file
diff --git a/public/static/dicom/js/dicomViewPc.js b/public/static/dicom/js/dicomViewPc.js
index 0d241dab..2c83add6 100644
--- a/public/static/dicom/js/dicomViewPc.js
+++ b/public/static/dicom/js/dicomViewPc.js
@@ -1,3 +1,5 @@
+const scheme = 'wadouri'
+const baseUrl = ''
 //功能名称
 const functionNames = [
     "Magnify", "Pan", "Zoom", "ZoomMouseWheel", "Wwwc",
@@ -384,8 +386,7 @@ function initConerstone(element) {
 
 function initConerstoneAndData() {
     var series = stateData.dicomInfo.seriesList[stateData.imgIndex].instanceList
-    const scheme = 'wadouri'
-    const baseUrl = ''
+
     const imageIds = series.map(seriesImage => `${scheme}:${baseUrl}${seriesImage.imageid}`)
 
     //define the stack
@@ -443,8 +444,7 @@ function initImgList(data) {
         //$("#dicom-list").append('<img id="img_' + i + '" onclick="changeIndex(' + i + ')" class="' + className + '" src="' + data.seriesList[i].thumbUrl + '"/>');
         //$("#dicom-list").append('<div class="icon-img-box" onclick="changeIndex(' + i + ')"><img id="img_' + i + '" class="' + className + '" src="' + data.seriesList[i].thumbUrl + '"/><div class="process-div" id="process-' + i + '"></div></div>');
         //$("#dicom-list").append('<div class="icon-img-box" id="icon-img-box-'+i+'" onclick="changeIndex(' + i + ')"><img id="img_' + i + '" class="' + className + '"/><div class="process-div" id="process-' + i + '"></div></div>');
-       // $("#dicom-list").append('<div style="height: 200px;" class="icon-img-box ' + className + '" id="icon-img-box-' + i + '" onclick="changeIndex(' + i + ')"> <img style=" width: 130px;height: 130px;" src="' + data.seriesList[i].thumbUrl + '"/> <h4 style="color: white; id="h_' + i + '" >"'+data.seriesList[i].SeriesDesc+'"</h4></div>');
-        $("#dicom-list").append('<div style="height: 220px;" class="icon-img-box ' + className + '" id="icon-img-box-' + i + '" onclick="changeIndex(' + i + ')"><div class="process-div" id="process-' + i + '"></div><span style="color: white;word-wrap: break-word;font-size: 16px; id="h_' + i + '" >'+data.seriesList[i].SeriesDesc+'</span></div>');
+        $("#dicom-list").append('<div style="height: 220px;" class="icon-img-box ' + className + '" id="icon-img-box-' + i + '" onclick="changeIndex(' + i + ')"><div class="process-div" id="process-' + i + '"></div><span style="color: white;word-wrap: break-word;font-size: 16px; id="h_' + i + '" >' + data.seriesList[i].SeriesDesc +'</span></div>');
     }
 }
 
@@ -470,14 +470,23 @@ function changeIndex(i) {
 
 //获取数据
 function initData() {
-    var idx = GetQueryString("idx");
+
+  //  var idx = GetQueryString("idx");
+   // var maxSize = GetQueryString("maxSize");
+   
     var localStorage = window.localStorage;
     var localData = JSON.parse(localStorage.data);
-    var data= JSON.parse(localData.do); 
-    console.log("网页接受到数据"+data)
+   var maxSize = localData.maxSize
+   console.log("网页接受到数据maxSize" + maxSize)
+    if (maxSize) {
+        cacheProcess.maxSize = maxSize;
+    }
+    var data = JSON.parse(localData.do);
+    console.log("网页接受到数据" + data)
     stateData.dicomInfo = data;
     //初始化进度
     initProcess();
+    initQueue();
     initImgList(stateData.dicomInfo);
     //加载icon图片
     convertDicom2Img();
@@ -486,7 +495,7 @@ function initData() {
         cacheImages();
     }, 500)
     initConerstoneAndData();
-   
+
 }
 
 //初始化滚动条
@@ -656,86 +665,65 @@ function doCreate() {
 }
 
 function cacheImages() {
-    //cacheImageIndex(0);
     startCache();
 }
 
-//var cacheInterval = setInterval(
-//    function () {
-//        let size = stateData.dicomInfo.seriesList.length;
-//        for (var i = 0; i < size; i++) {
-//            let p = stateData.processMapping.get(i);
-//            if (p >= stateData.dicomInfo.seriesList[i].instanceList.length) {
-//                cacheImageIndex(i + 1)
-//            }
-//        }
-//    }, 200
-//);
-
-function cacheImageIndex1(a) {
-    if (a >= stateData.dicomInfo.seriesList.length) {
-        clearInterval(cacheInterval);
-        return;
-    }
-    var series = stateData.dicomInfo.seriesList[a].instanceList
-    const scheme = 'wadouri'
-    const baseUrl = ''
-    const imageIds = series.map(seriesImage => `${scheme}:${baseUrl}${seriesImage.imageid}`)
-    for (var j = 0; j < imageIds.length; j++) {
-        cornerstone.loadAndCacheImage(imageIds[j]).then(() => {
-            updateProcess(a, "cacheImages");
-        });
-    }
+var cacheProcess = {
+    taskSize:0,//当前正在进行的任务数量
+    maxSize:10 //同时最大缓存个数
 }
 
-var cacheProcess = {
-    index: 0,
-    sindex: 0,
-    isOk: null,
-    end: false
+var queue = [];
+
+function initQueue() {
+    console.log("初始化队列开始");
+    //序列分组个数
+    var groupSize = stateData.dicomInfo.seriesList.length;
+    for (var i = 0; i < groupSize; i++) {
+        var group = stateData.dicomInfo.seriesList[i];
+        var imageSize = group.instanceList.length;
+        for (var j = 0; j < imageSize; j++) {
+            var message = {
+                index: i,
+                sindex: j,
+                imageId: imageId = `${scheme}:${baseUrl}${group.instanceList[j].imageid}`
+            };
+            queue.push(message)
+            console.log("队列push消息", message);
+        }
+    }
+    console.log("初始化队列完成",queue);
 }
 
 var cacheInterval = null;
 
 function startCache() {
     cacheInterval = setInterval(function () {
-        //如果已经结束,清除定时器
-        if (cacheProcess.end) {
-            console.log("缓存结束-清除定时器");
+        if (queue.length == 0) {
+            console.log("队列任务已清空");
             clearInterval(cacheInterval);
             return;
         }
-        //如果未缓存完成,直接返回
-        if (cacheProcess.isOk == false) {
-            console.log("缓存未完成-直接返回");
+        if (cacheProcess.maxSize <= cacheProcess.taskSize) {
+            //任务已满,等待
+            console.log("队列已满-等待", cacheProcess.taskSize);
             return;
         }
-        else if (cacheProcess.isOk == null || cacheProcess.isOk == true) {
-            console.log("缓存开始");
-            cacheProcess.isOk = false;
-            var imageIds = stateData.dicomInfo.seriesList[cacheProcess.index].instanceList;
-            //上一个序列加载完成
-            if (imageIds.length <= cacheProcess.sindex) {
-                cacheProcess.index++;
-                cacheProcess.sindex = 0;
-            }
-            if (stateData.dicomInfo.seriesList.length == cacheProcess.index) {
-                cacheProcess.end = true;
-                return;
-            }
-            imageIds = stateData.dicomInfo.seriesList[cacheProcess.index].instanceList;
-            const scheme = 'wadouri'
-            const baseUrl = ''
-            const imageId = `${scheme}:${baseUrl}${imageIds[cacheProcess.sindex].imageid}`
-            cornerstone.loadAndCacheImage(imageId).then(() => {
-                console.log("缓存回调--",cacheProcess);
-                updateProcess(cacheProcess.index);
-                cacheProcess.isOk = true;
-                cacheProcess.sindex++;
-                console.log("缓存回调用,更新索引--", cacheProcess);
-            });
-        }
-    }, 10)
+        //从队列获取数据
+        var queueMessage = queue.shift();
+        console.log("获取队列消息", queueMessage);
+        cacheImg(queueMessage);
+    }, 1)
+}
+
+function cacheImg(queueMessage) {
+    cacheProcess.taskSize++;
+    cornerstone.loadAndCacheImage(queueMessage.imageId).then(() => {
+        console.log("缓存回调--", cacheProcess);
+        cacheProcess.taskSize--;
+        updateProcess(queueMessage.index);
+        console.log("缓存回调用,更新索引--", cacheProcess);
+    });
 }
 
 function cacheImageIndex(a) {
@@ -744,8 +732,6 @@ function cacheImageIndex(a) {
         return;
     }
     var series = stateData.dicomInfo.seriesList[a].instanceList
-    const scheme = 'wadouri'
-    const baseUrl = ''
     const imageIds = series.map(seriesImage => `${scheme}:${baseUrl}${seriesImage.imageid}`)
     for (var j = 0; j < imageIds.length; j++) {
         cornerstone.loadAndCacheImage(imageIds[j]).then(() => {
@@ -800,8 +786,6 @@ function convertDicom2Img() {
 //加载dicom文件,转换为base64格式
 function loadDicomShowIcom(i) {
     console.log("加载icon-" + i);
-    const scheme = 'wadouri'
-    const baseUrl = ''
     const imageId = `${scheme}:${baseUrl}${stateData.dicomInfo.seriesList[i].instanceList[0].imageid}`
     console.log("imgId:", imageId);
     const imgElement = document.getElementById('icon-img-box-' + i);
diff --git a/public/static/dicom/js/hammer.js b/public/static/dicom/js/hammer.js
new file mode 100644
index 00000000..00d2965e
--- /dev/null
+++ b/public/static/dicom/js/hammer.js
@@ -0,0 +1,2643 @@
+/*! Hammer.JS - v2.0.7 - 2016-04-22
+ * http://hammerjs.github.io/
+ *
+ * Copyright (c) 2016 Jorik Tangelder;
+ * Licensed under the MIT license */
+(function(window, document, exportName, undefined) {
+  'use strict';
+
+var VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];
+var TEST_ELEMENT = document.createElement('div');
+
+var TYPE_FUNCTION = 'function';
+
+var round = Math.round;
+var abs = Math.abs;
+var now = Date.now;
+
+/**
+ * set a timeout with a given scope
+ * @param {Function} fn
+ * @param {Number} timeout
+ * @param {Object} context
+ * @returns {number}
+ */
+function setTimeoutContext(fn, timeout, context) {
+    return setTimeout(bindFn(fn, context), timeout);
+}
+
+/**
+ * if the argument is an array, we want to execute the fn on each entry
+ * if it aint an array we don't want to do a thing.
+ * this is used by all the methods that accept a single and array argument.
+ * @param {*|Array} arg
+ * @param {String} fn
+ * @param {Object} [context]
+ * @returns {Boolean}
+ */
+function invokeArrayArg(arg, fn, context) {
+    if (Array.isArray(arg)) {
+        each(arg, context[fn], context);
+        return true;
+    }
+    return false;
+}
+
+/**
+ * walk objects and arrays
+ * @param {Object} obj
+ * @param {Function} iterator
+ * @param {Object} context
+ */
+function each(obj, iterator, context) {
+    var i;
+
+    if (!obj) {
+        return;
+    }
+
+    if (obj.forEach) {
+        obj.forEach(iterator, context);
+    } else if (obj.length !== undefined) {
+        i = 0;
+        while (i < obj.length) {
+            iterator.call(context, obj[i], i, obj);
+            i++;
+        }
+    } else {
+        for (i in obj) {
+            obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);
+        }
+    }
+}
+
+/**
+ * wrap a method with a deprecation warning and stack trace
+ * @param {Function} method
+ * @param {String} name
+ * @param {String} message
+ * @returns {Function} A new function wrapping the supplied method.
+ */
+function deprecate(method, name, message) {
+    var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\n' + message + ' AT \n';
+    return function() {
+        var e = new Error('get-stack-trace');
+        var stack = e && e.stack ? e.stack.replace(/^[^\(]+?[\n$]/gm, '')
+            .replace(/^\s+at\s+/gm, '')
+            .replace(/^Object.<anonymous>\s*\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';
+
+        var log = window.console && (window.console.warn || window.console.log);
+        if (log) {
+            log.call(window.console, deprecationMessage, stack);
+        }
+        return method.apply(this, arguments);
+    };
+}
+
+/**
+ * extend object.
+ * means that properties in dest will be overwritten by the ones in src.
+ * @param {Object} target
+ * @param {...Object} objects_to_assign
+ * @returns {Object} target
+ */
+var assign;
+if (typeof Object.assign !== 'function') {
+    assign = function assign(target) {
+        if (target === undefined || target === null) {
+            throw new TypeError('Cannot convert undefined or null to object');
+        }
+
+        var output = Object(target);
+        for (var index = 1; index < arguments.length; index++) {
+            var source = arguments[index];
+            if (source !== undefined && source !== null) {
+                for (var nextKey in source) {
+                    if (source.hasOwnProperty(nextKey)) {
+                        output[nextKey] = source[nextKey];
+                    }
+                }
+            }
+        }
+        return output;
+    };
+} else {
+    assign = Object.assign;
+}
+
+/**
+ * extend object.
+ * means that properties in dest will be overwritten by the ones in src.
+ * @param {Object} dest
+ * @param {Object} src
+ * @param {Boolean} [merge=false]
+ * @returns {Object} dest
+ */
+var extend = deprecate(function extend(dest, src, merge) {
+    var keys = Object.keys(src);
+    var i = 0;
+    while (i < keys.length) {
+        if (!merge || (merge && dest[keys[i]] === undefined)) {
+            dest[keys[i]] = src[keys[i]];
+        }
+        i++;
+    }
+    return dest;
+}, 'extend', 'Use `assign`.');
+
+/**
+ * merge the values from src in the dest.
+ * means that properties that exist in dest will not be overwritten by src
+ * @param {Object} dest
+ * @param {Object} src
+ * @returns {Object} dest
+ */
+var merge = deprecate(function merge(dest, src) {
+    return extend(dest, src, true);
+}, 'merge', 'Use `assign`.');
+
+/**
+ * simple class inheritance
+ * @param {Function} child
+ * @param {Function} base
+ * @param {Object} [properties]
+ */
+function inherit(child, base, properties) {
+    var baseP = base.prototype,
+        childP;
+
+    childP = child.prototype = Object.create(baseP);
+    childP.constructor = child;
+    childP._super = baseP;
+
+    if (properties) {
+        assign(childP, properties);
+    }
+}
+
+/**
+ * simple function bind
+ * @param {Function} fn
+ * @param {Object} context
+ * @returns {Function}
+ */
+function bindFn(fn, context) {
+    return function boundFn() {
+        return fn.apply(context, arguments);
+    };
+}
+
+/**
+ * let a boolean value also be a function that must return a boolean
+ * this first item in args will be used as the context
+ * @param {Boolean|Function} val
+ * @param {Array} [args]
+ * @returns {Boolean}
+ */
+function boolOrFn(val, args) {
+    if (typeof val == TYPE_FUNCTION) {
+        return val.apply(args ? args[0] || undefined : undefined, args);
+    }
+    return val;
+}
+
+/**
+ * use the val2 when val1 is undefined
+ * @param {*} val1
+ * @param {*} val2
+ * @returns {*}
+ */
+function ifUndefined(val1, val2) {
+    return (val1 === undefined) ? val2 : val1;
+}
+
+/**
+ * addEventListener with multiple events at once
+ * @param {EventTarget} target
+ * @param {String} types
+ * @param {Function} handler
+ */
+function addEventListeners(target, types, handler) {
+    each(splitStr(types), function(type) {
+        target.addEventListener(type, handler, false);
+    });
+}
+
+/**
+ * removeEventListener with multiple events at once
+ * @param {EventTarget} target
+ * @param {String} types
+ * @param {Function} handler
+ */
+function removeEventListeners(target, types, handler) {
+    each(splitStr(types), function(type) {
+        target.removeEventListener(type, handler, false);
+    });
+}
+
+/**
+ * find if a node is in the given parent
+ * @method hasParent
+ * @param {HTMLElement} node
+ * @param {HTMLElement} parent
+ * @return {Boolean} found
+ */
+function hasParent(node, parent) {
+    while (node) {
+        if (node == parent) {
+            return true;
+        }
+        node = node.parentNode;
+    }
+    return false;
+}
+
+/**
+ * small indexOf wrapper
+ * @param {String} str
+ * @param {String} find
+ * @returns {Boolean} found
+ */
+function inStr(str, find) {
+    return str.indexOf(find) > -1;
+}
+
+/**
+ * split string on whitespace
+ * @param {String} str
+ * @returns {Array} words
+ */
+function splitStr(str) {
+    return str.trim().split(/\s+/g);
+}
+
+/**
+ * find if a array contains the object using indexOf or a simple polyFill
+ * @param {Array} src
+ * @param {String} find
+ * @param {String} [findByKey]
+ * @return {Boolean|Number} false when not found, or the index
+ */
+function inArray(src, find, findByKey) {
+    if (src.indexOf && !findByKey) {
+        return src.indexOf(find);
+    } else {
+        var i = 0;
+        while (i < src.length) {
+            if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {
+                return i;
+            }
+            i++;
+        }
+        return -1;
+    }
+}
+
+/**
+ * convert array-like objects to real arrays
+ * @param {Object} obj
+ * @returns {Array}
+ */
+function toArray(obj) {
+    return Array.prototype.slice.call(obj, 0);
+}
+
+/**
+ * unique array with objects based on a key (like 'id') or just by the array's value
+ * @param {Array} src [{id:1},{id:2},{id:1}]
+ * @param {String} [key]
+ * @param {Boolean} [sort=False]
+ * @returns {Array} [{id:1},{id:2}]
+ */
+function uniqueArray(src, key, sort) {
+    var results = [];
+    var values = [];
+    var i = 0;
+
+    while (i < src.length) {
+        var val = key ? src[i][key] : src[i];
+        if (inArray(values, val) < 0) {
+            results.push(src[i]);
+        }
+        values[i] = val;
+        i++;
+    }
+
+    if (sort) {
+        if (!key) {
+            results = results.sort();
+        } else {
+            results = results.sort(function sortUniqueArray(a, b) {
+                return a[key] > b[key];
+            });
+        }
+    }
+
+    return results;
+}
+
+/**
+ * get the prefixed property
+ * @param {Object} obj
+ * @param {String} property
+ * @returns {String|Undefined} prefixed
+ */
+function prefixed(obj, property) {
+    var prefix, prop;
+    var camelProp = property[0].toUpperCase() + property.slice(1);
+
+    var i = 0;
+    while (i < VENDOR_PREFIXES.length) {
+        prefix = VENDOR_PREFIXES[i];
+        prop = (prefix) ? prefix + camelProp : property;
+
+        if (prop in obj) {
+            return prop;
+        }
+        i++;
+    }
+    return undefined;
+}
+
+/**
+ * get a unique id
+ * @returns {number} uniqueId
+ */
+var _uniqueId = 1;
+function uniqueId() {
+    return _uniqueId++;
+}
+
+/**
+ * get the window object of an element
+ * @param {HTMLElement} element
+ * @returns {DocumentView|Window}
+ */
+function getWindowForElement(element) {
+    var doc = element.ownerDocument || element;
+    return (doc.defaultView || doc.parentWindow || window);
+}
+
+var MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;
+
+var SUPPORT_TOUCH = ('ontouchstart' in window);
+var SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;
+var SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);
+
+var INPUT_TYPE_TOUCH = 'touch';
+var INPUT_TYPE_PEN = 'pen';
+var INPUT_TYPE_MOUSE = 'mouse';
+var INPUT_TYPE_KINECT = 'kinect';
+
+var COMPUTE_INTERVAL = 25;
+
+var INPUT_START = 1;
+var INPUT_MOVE = 2;
+var INPUT_END = 4;
+var INPUT_CANCEL = 8;
+
+var DIRECTION_NONE = 1;
+var DIRECTION_LEFT = 2;
+var DIRECTION_RIGHT = 4;
+var DIRECTION_UP = 8;
+var DIRECTION_DOWN = 16;
+
+var DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;
+var DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;
+var DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;
+
+var PROPS_XY = ['x', 'y'];
+var PROPS_CLIENT_XY = ['clientX', 'clientY'];
+
+/**
+ * create new input type manager
+ * @param {Manager} manager
+ * @param {Function} callback
+ * @returns {Input}
+ * @constructor
+ */
+function Input(manager, callback) {
+    var self = this;
+    this.manager = manager;
+    this.callback = callback;
+    this.element = manager.element;
+    this.target = manager.options.inputTarget;
+
+    // smaller wrapper around the handler, for the scope and the enabled state of the manager,
+    // so when disabled the input events are completely bypassed.
+    this.domHandler = function(ev) {
+        if (boolOrFn(manager.options.enable, [manager])) {
+            self.handler(ev);
+        }
+    };
+
+    this.init();
+
+}
+
+Input.prototype = {
+    /**
+     * should handle the inputEvent data and trigger the callback
+     * @virtual
+     */
+    handler: function() { },
+
+    /**
+     * bind the events
+     */
+    init: function() {
+        this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);
+        this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);
+        this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);
+    },
+
+    /**
+     * unbind the events
+     */
+    destroy: function() {
+        this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);
+        this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);
+        this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);
+    }
+};
+
+/**
+ * create new input type manager
+ * called by the Manager constructor
+ * @param {Hammer} manager
+ * @returns {Input}
+ */
+function createInputInstance(manager) {
+    var Type;
+    var inputClass = manager.options.inputClass;
+
+    if (inputClass) {
+        Type = inputClass;
+    } else if (SUPPORT_POINTER_EVENTS) {
+        Type = PointerEventInput;
+    } else if (SUPPORT_ONLY_TOUCH) {
+        Type = TouchInput;
+    } else if (!SUPPORT_TOUCH) {
+        Type = MouseInput;
+    } else {
+        Type = TouchMouseInput;
+    }
+    return new (Type)(manager, inputHandler);
+}
+
+/**
+ * handle input events
+ * @param {Manager} manager
+ * @param {String} eventType
+ * @param {Object} input
+ */
+function inputHandler(manager, eventType, input) {
+    var pointersLen = input.pointers.length;
+    var changedPointersLen = input.changedPointers.length;
+    var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));
+    var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));
+
+    input.isFirst = !!isFirst;
+    input.isFinal = !!isFinal;
+
+    if (isFirst) {
+        manager.session = {};
+    }
+
+    // source event is the normalized value of the domEvents
+    // like 'touchstart, mouseup, pointerdown'
+    input.eventType = eventType;
+
+    // compute scale, rotation etc
+    computeInputData(manager, input);
+
+    // emit secret event
+    manager.emit('hammer.input', input);
+
+    manager.recognize(input);
+    manager.session.prevInput = input;
+}
+
+/**
+ * extend the data with some usable properties like scale, rotate, velocity etc
+ * @param {Object} manager
+ * @param {Object} input
+ */
+function computeInputData(manager, input) {
+    var session = manager.session;
+    var pointers = input.pointers;
+    var pointersLength = pointers.length;
+
+    // store the first input to calculate the distance and direction
+    if (!session.firstInput) {
+        session.firstInput = simpleCloneInputData(input);
+    }
+
+    // to compute scale and rotation we need to store the multiple touches
+    if (pointersLength > 1 && !session.firstMultiple) {
+        session.firstMultiple = simpleCloneInputData(input);
+    } else if (pointersLength === 1) {
+        session.firstMultiple = false;
+    }
+
+    var firstInput = session.firstInput;
+    var firstMultiple = session.firstMultiple;
+    var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;
+
+    var center = input.center = getCenter(pointers);
+    input.timeStamp = now();
+    input.deltaTime = input.timeStamp - firstInput.timeStamp;
+
+    input.angle = getAngle(offsetCenter, center);
+    input.distance = getDistance(offsetCenter, center);
+
+    computeDeltaXY(session, input);
+    input.offsetDirection = getDirection(input.deltaX, input.deltaY);
+
+    var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);
+    input.overallVelocityX = overallVelocity.x;
+    input.overallVelocityY = overallVelocity.y;
+    input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;
+
+    input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;
+    input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;
+
+    input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >
+        session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);
+
+    computeIntervalInputData(session, input);
+
+    // find the correct target
+    var target = manager.element;
+    if (hasParent(input.srcEvent.target, target)) {
+        target = input.srcEvent.target;
+    }
+    input.target = target;
+}
+
+function computeDeltaXY(session, input) {
+    var center = input.center;
+    var offset = session.offsetDelta || {};
+    var prevDelta = session.prevDelta || {};
+    var prevInput = session.prevInput || {};
+
+    if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {
+        prevDelta = session.prevDelta = {
+            x: prevInput.deltaX || 0,
+            y: prevInput.deltaY || 0
+        };
+
+        offset = session.offsetDelta = {
+            x: center.x,
+            y: center.y
+        };
+    }
+
+    input.deltaX = prevDelta.x + (center.x - offset.x);
+    input.deltaY = prevDelta.y + (center.y - offset.y);
+}
+
+/**
+ * velocity is calculated every x ms
+ * @param {Object} session
+ * @param {Object} input
+ */
+function computeIntervalInputData(session, input) {
+    var last = session.lastInterval || input,
+        deltaTime = input.timeStamp - last.timeStamp,
+        velocity, velocityX, velocityY, direction;
+
+    if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {
+        var deltaX = input.deltaX - last.deltaX;
+        var deltaY = input.deltaY - last.deltaY;
+
+        var v = getVelocity(deltaTime, deltaX, deltaY);
+        velocityX = v.x;
+        velocityY = v.y;
+        velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;
+        direction = getDirection(deltaX, deltaY);
+
+        session.lastInterval = input;
+    } else {
+        // use latest velocity info if it doesn't overtake a minimum period
+        velocity = last.velocity;
+        velocityX = last.velocityX;
+        velocityY = last.velocityY;
+        direction = last.direction;
+    }
+
+    input.velocity = velocity;
+    input.velocityX = velocityX;
+    input.velocityY = velocityY;
+    input.direction = direction;
+}
+
+/**
+ * create a simple clone from the input used for storage of firstInput and firstMultiple
+ * @param {Object} input
+ * @returns {Object} clonedInputData
+ */
+function simpleCloneInputData(input) {
+    // make a simple copy of the pointers because we will get a reference if we don't
+    // we only need clientXY for the calculations
+    var pointers = [];
+    var i = 0;
+    while (i < input.pointers.length) {
+        pointers[i] = {
+            clientX: round(input.pointers[i].clientX),
+            clientY: round(input.pointers[i].clientY)
+        };
+        i++;
+    }
+
+    return {
+        timeStamp: now(),
+        pointers: pointers,
+        center: getCenter(pointers),
+        deltaX: input.deltaX,
+        deltaY: input.deltaY
+    };
+}
+
+/**
+ * get the center of all the pointers
+ * @param {Array} pointers
+ * @return {Object} center contains `x` and `y` properties
+ */
+function getCenter(pointers) {
+    var pointersLength = pointers.length;
+
+    // no need to loop when only one touch
+    if (pointersLength === 1) {
+        return {
+            x: round(pointers[0].clientX),
+            y: round(pointers[0].clientY)
+        };
+    }
+
+    var x = 0, y = 0, i = 0;
+    while (i < pointersLength) {
+        x += pointers[i].clientX;
+        y += pointers[i].clientY;
+        i++;
+    }
+
+    return {
+        x: round(x / pointersLength),
+        y: round(y / pointersLength)
+    };
+}
+
+/**
+ * calculate the velocity between two points. unit is in px per ms.
+ * @param {Number} deltaTime
+ * @param {Number} x
+ * @param {Number} y
+ * @return {Object} velocity `x` and `y`
+ */
+function getVelocity(deltaTime, x, y) {
+    return {
+        x: x / deltaTime || 0,
+        y: y / deltaTime || 0
+    };
+}
+
+/**
+ * get the direction between two points
+ * @param {Number} x
+ * @param {Number} y
+ * @return {Number} direction
+ */
+function getDirection(x, y) {
+    if (x === y) {
+        return DIRECTION_NONE;
+    }
+
+    if (abs(x) >= abs(y)) {
+        return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;
+    }
+    return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;
+}
+
+/**
+ * calculate the absolute distance between two points
+ * @param {Object} p1 {x, y}
+ * @param {Object} p2 {x, y}
+ * @param {Array} [props] containing x and y keys
+ * @return {Number} distance
+ */
+function getDistance(p1, p2, props) {
+    if (!props) {
+        props = PROPS_XY;
+    }
+    var x = p2[props[0]] - p1[props[0]],
+        y = p2[props[1]] - p1[props[1]];
+
+    return Math.sqrt((x * x) + (y * y));
+}
+
+/**
+ * calculate the angle between two coordinates
+ * @param {Object} p1
+ * @param {Object} p2
+ * @param {Array} [props] containing x and y keys
+ * @return {Number} angle
+ */
+function getAngle(p1, p2, props) {
+    if (!props) {
+        props = PROPS_XY;
+    }
+    var x = p2[props[0]] - p1[props[0]],
+        y = p2[props[1]] - p1[props[1]];
+    return Math.atan2(y, x) * 180 / Math.PI;
+}
+
+/**
+ * calculate the rotation degrees between two pointersets
+ * @param {Array} start array of pointers
+ * @param {Array} end array of pointers
+ * @return {Number} rotation
+ */
+function getRotation(start, end) {
+    return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);
+}
+
+/**
+ * calculate the scale factor between two pointersets
+ * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out
+ * @param {Array} start array of pointers
+ * @param {Array} end array of pointers
+ * @return {Number} scale
+ */
+function getScale(start, end) {
+    return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);
+}
+
+var MOUSE_INPUT_MAP = {
+    mousedown: INPUT_START,
+    mousemove: INPUT_MOVE,
+    mouseup: INPUT_END
+};
+
+var MOUSE_ELEMENT_EVENTS = 'mousedown';
+var MOUSE_WINDOW_EVENTS = 'mousemove mouseup';
+
+/**
+ * Mouse events input
+ * @constructor
+ * @extends Input
+ */
+function MouseInput() {
+    this.evEl = MOUSE_ELEMENT_EVENTS;
+    this.evWin = MOUSE_WINDOW_EVENTS;
+
+    this.pressed = false; // mousedown state
+
+    Input.apply(this, arguments);
+}
+
+inherit(MouseInput, Input, {
+    /**
+     * handle mouse events
+     * @param {Object} ev
+     */
+    handler: function MEhandler(ev) {
+        var eventType = MOUSE_INPUT_MAP[ev.type];
+
+        // on start we want to have the left mouse button down
+        if (eventType & INPUT_START && ev.button === 0) {
+            this.pressed = true;
+        }
+
+        if (eventType & INPUT_MOVE && ev.which !== 1) {
+            eventType = INPUT_END;
+        }
+
+        // mouse must be down
+        if (!this.pressed) {
+            return;
+        }
+
+        if (eventType & INPUT_END) {
+            this.pressed = false;
+        }
+
+        this.callback(this.manager, eventType, {
+            pointers: [ev],
+            changedPointers: [ev],
+            pointerType: INPUT_TYPE_MOUSE,
+            srcEvent: ev
+        });
+    }
+});
+
+var POINTER_INPUT_MAP = {
+    pointerdown: INPUT_START,
+    pointermove: INPUT_MOVE,
+    pointerup: INPUT_END,
+    pointercancel: INPUT_CANCEL,
+    pointerout: INPUT_CANCEL
+};
+
+// in IE10 the pointer types is defined as an enum
+var IE10_POINTER_TYPE_ENUM = {
+    2: INPUT_TYPE_TOUCH,
+    3: INPUT_TYPE_PEN,
+    4: INPUT_TYPE_MOUSE,
+    5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816
+};
+
+var POINTER_ELEMENT_EVENTS = 'pointerdown';
+var POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';
+
+// IE10 has prefixed support, and case-sensitive
+if (window.MSPointerEvent && !window.PointerEvent) {
+    POINTER_ELEMENT_EVENTS = 'MSPointerDown';
+    POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';
+}
+
+/**
+ * Pointer events input
+ * @constructor
+ * @extends Input
+ */
+function PointerEventInput() {
+    this.evEl = POINTER_ELEMENT_EVENTS;
+    this.evWin = POINTER_WINDOW_EVENTS;
+
+    Input.apply(this, arguments);
+
+    this.store = (this.manager.session.pointerEvents = []);
+}
+
+inherit(PointerEventInput, Input, {
+    /**
+     * handle mouse events
+     * @param {Object} ev
+     */
+    handler: function PEhandler(ev) {
+        var store = this.store;
+        var removePointer = false;
+
+        var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');
+        var eventType = POINTER_INPUT_MAP[eventTypeNormalized];
+        var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;
+
+        var isTouch = (pointerType == INPUT_TYPE_TOUCH);
+
+        // get index of the event in the store
+        var storeIndex = inArray(store, ev.pointerId, 'pointerId');
+
+        // start and mouse must be down
+        if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {
+            if (storeIndex < 0) {
+                store.push(ev);
+                storeIndex = store.length - 1;
+            }
+        } else if (eventType & (INPUT_END | INPUT_CANCEL)) {
+            removePointer = true;
+        }
+
+        // it not found, so the pointer hasn't been down (so it's probably a hover)
+        if (storeIndex < 0) {
+            return;
+        }
+
+        // update the event in the store
+        store[storeIndex] = ev;
+
+        this.callback(this.manager, eventType, {
+            pointers: store,
+            changedPointers: [ev],
+            pointerType: pointerType,
+            srcEvent: ev
+        });
+
+        if (removePointer) {
+            // remove from the store
+            store.splice(storeIndex, 1);
+        }
+    }
+});
+
+var SINGLE_TOUCH_INPUT_MAP = {
+    touchstart: INPUT_START,
+    touchmove: INPUT_MOVE,
+    touchend: INPUT_END,
+    touchcancel: INPUT_CANCEL
+};
+
+var SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';
+var SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';
+
+/**
+ * Touch events input
+ * @constructor
+ * @extends Input
+ */
+function SingleTouchInput() {
+    this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;
+    this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;
+    this.started = false;
+
+    Input.apply(this, arguments);
+}
+
+inherit(SingleTouchInput, Input, {
+    handler: function TEhandler(ev) {
+        var type = SINGLE_TOUCH_INPUT_MAP[ev.type];
+
+        // should we handle the touch events?
+        if (type === INPUT_START) {
+            this.started = true;
+        }
+
+        if (!this.started) {
+            return;
+        }
+
+        var touches = normalizeSingleTouches.call(this, ev, type);
+
+        // when done, reset the started state
+        if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {
+            this.started = false;
+        }
+
+        this.callback(this.manager, type, {
+            pointers: touches[0],
+            changedPointers: touches[1],
+            pointerType: INPUT_TYPE_TOUCH,
+            srcEvent: ev
+        });
+    }
+});
+
+/**
+ * @this {TouchInput}
+ * @param {Object} ev
+ * @param {Number} type flag
+ * @returns {undefined|Array} [all, changed]
+ */
+function normalizeSingleTouches(ev, type) {
+    var all = toArray(ev.touches);
+    var changed = toArray(ev.changedTouches);
+
+    if (type & (INPUT_END | INPUT_CANCEL)) {
+        all = uniqueArray(all.concat(changed), 'identifier', true);
+    }
+
+    return [all, changed];
+}
+
+var TOUCH_INPUT_MAP = {
+    touchstart: INPUT_START,
+    touchmove: INPUT_MOVE,
+    touchend: INPUT_END,
+    touchcancel: INPUT_CANCEL
+};
+
+var TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';
+
+/**
+ * Multi-user touch events input
+ * @constructor
+ * @extends Input
+ */
+function TouchInput() {
+    this.evTarget = TOUCH_TARGET_EVENTS;
+    this.targetIds = {};
+
+    Input.apply(this, arguments);
+}
+
+inherit(TouchInput, Input, {
+    handler: function MTEhandler(ev) {
+        var type = TOUCH_INPUT_MAP[ev.type];
+        var touches = getTouches.call(this, ev, type);
+        if (!touches) {
+            return;
+        }
+
+        this.callback(this.manager, type, {
+            pointers: touches[0],
+            changedPointers: touches[1],
+            pointerType: INPUT_TYPE_TOUCH,
+            srcEvent: ev
+        });
+    }
+});
+
+/**
+ * @this {TouchInput}
+ * @param {Object} ev
+ * @param {Number} type flag
+ * @returns {undefined|Array} [all, changed]
+ */
+function getTouches(ev, type) {
+    var allTouches = toArray(ev.touches);
+    var targetIds = this.targetIds;
+
+    // when there is only one touch, the process can be simplified
+    if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {
+        targetIds[allTouches[0].identifier] = true;
+        return [allTouches, allTouches];
+    }
+
+    var i,
+        targetTouches,
+        changedTouches = toArray(ev.changedTouches),
+        changedTargetTouches = [],
+        target = this.target;
+
+    // get target touches from touches
+    targetTouches = allTouches.filter(function(touch) {
+        return hasParent(touch.target, target);
+    });
+
+    // collect touches
+    if (type === INPUT_START) {
+        i = 0;
+        while (i < targetTouches.length) {
+            targetIds[targetTouches[i].identifier] = true;
+            i++;
+        }
+    }
+
+    // filter changed touches to only contain touches that exist in the collected target ids
+    i = 0;
+    while (i < changedTouches.length) {
+        if (targetIds[changedTouches[i].identifier]) {
+            changedTargetTouches.push(changedTouches[i]);
+        }
+
+        // cleanup removed touches
+        if (type & (INPUT_END | INPUT_CANCEL)) {
+            delete targetIds[changedTouches[i].identifier];
+        }
+        i++;
+    }
+
+    if (!changedTargetTouches.length) {
+        return;
+    }
+
+    return [
+        // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'
+        uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),
+        changedTargetTouches
+    ];
+}
+
+/**
+ * Combined touch and mouse input
+ *
+ * Touch has a higher priority then mouse, and while touching no mouse events are allowed.
+ * This because touch devices also emit mouse events while doing a touch.
+ *
+ * @constructor
+ * @extends Input
+ */
+
+var DEDUP_TIMEOUT = 2500;
+var DEDUP_DISTANCE = 25;
+
+function TouchMouseInput() {
+    Input.apply(this, arguments);
+
+    var handler = bindFn(this.handler, this);
+    this.touch = new TouchInput(this.manager, handler);
+    this.mouse = new MouseInput(this.manager, handler);
+
+    this.primaryTouch = null;
+    this.lastTouches = [];
+}
+
+inherit(TouchMouseInput, Input, {
+    /**
+     * handle mouse and touch events
+     * @param {Hammer} manager
+     * @param {String} inputEvent
+     * @param {Object} inputData
+     */
+    handler: function TMEhandler(manager, inputEvent, inputData) {
+        var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),
+            isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);
+
+        if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {
+            return;
+        }
+
+        // when we're in a touch event, record touches to  de-dupe synthetic mouse event
+        if (isTouch) {
+            recordTouches.call(this, inputEvent, inputData);
+        } else if (isMouse && isSyntheticEvent.call(this, inputData)) {
+            return;
+        }
+
+        this.callback(manager, inputEvent, inputData);
+    },
+
+    /**
+     * remove the event listeners
+     */
+    destroy: function destroy() {
+        this.touch.destroy();
+        this.mouse.destroy();
+    }
+});
+
+function recordTouches(eventType, eventData) {
+    if (eventType & INPUT_START) {
+        this.primaryTouch = eventData.changedPointers[0].identifier;
+        setLastTouch.call(this, eventData);
+    } else if (eventType & (INPUT_END | INPUT_CANCEL)) {
+        setLastTouch.call(this, eventData);
+    }
+}
+
+function setLastTouch(eventData) {
+    var touch = eventData.changedPointers[0];
+
+    if (touch.identifier === this.primaryTouch) {
+        var lastTouch = {x: touch.clientX, y: touch.clientY};
+        this.lastTouches.push(lastTouch);
+        var lts = this.lastTouches;
+        var removeLastTouch = function() {
+            var i = lts.indexOf(lastTouch);
+            if (i > -1) {
+                lts.splice(i, 1);
+            }
+        };
+        setTimeout(removeLastTouch, DEDUP_TIMEOUT);
+    }
+}
+
+function isSyntheticEvent(eventData) {
+    var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;
+    for (var i = 0; i < this.lastTouches.length; i++) {
+        var t = this.lastTouches[i];
+        var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);
+        if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {
+            return true;
+        }
+    }
+    return false;
+}
+
+var PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');
+var NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;
+
+// magical touchAction value
+var TOUCH_ACTION_COMPUTE = 'compute';
+var TOUCH_ACTION_AUTO = 'auto';
+var TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented
+var TOUCH_ACTION_NONE = 'none';
+var TOUCH_ACTION_PAN_X = 'pan-x';
+var TOUCH_ACTION_PAN_Y = 'pan-y';
+var TOUCH_ACTION_MAP = getTouchActionProps();
+
+/**
+ * Touch Action
+ * sets the touchAction property or uses the js alternative
+ * @param {Manager} manager
+ * @param {String} value
+ * @constructor
+ */
+function TouchAction(manager, value) {
+    this.manager = manager;
+    this.set(value);
+}
+
+TouchAction.prototype = {
+    /**
+     * set the touchAction value on the element or enable the polyfill
+     * @param {String} value
+     */
+    set: function(value) {
+        // find out the touch-action by the event handlers
+        if (value == TOUCH_ACTION_COMPUTE) {
+            value = this.compute();
+        }
+
+        if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {
+            this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;
+        }
+        this.actions = value.toLowerCase().trim();
+    },
+
+    /**
+     * just re-set the touchAction value
+     */
+    update: function() {
+        this.set(this.manager.options.touchAction);
+    },
+
+    /**
+     * compute the value for the touchAction property based on the recognizer's settings
+     * @returns {String} value
+     */
+    compute: function() {
+        var actions = [];
+        each(this.manager.recognizers, function(recognizer) {
+            if (boolOrFn(recognizer.options.enable, [recognizer])) {
+                actions = actions.concat(recognizer.getTouchAction());
+            }
+        });
+        return cleanTouchActions(actions.join(' '));
+    },
+
+    /**
+     * this method is called on each input cycle and provides the preventing of the browser behavior
+     * @param {Object} input
+     */
+    preventDefaults: function(input) {
+        var srcEvent = input.srcEvent;
+        var direction = input.offsetDirection;
+
+        // if the touch action did prevented once this session
+        if (this.manager.session.prevented) {
+            srcEvent.preventDefault();
+            return;
+        }
+
+        var actions = this.actions;
+        var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];
+        var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];
+        var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];
+
+        if (hasNone) {
+            //do not prevent defaults if this is a tap gesture
+
+            var isTapPointer = input.pointers.length === 1;
+            var isTapMovement = input.distance < 2;
+            var isTapTouchTime = input.deltaTime < 250;
+
+            if (isTapPointer && isTapMovement && isTapTouchTime) {
+                return;
+            }
+        }
+
+        if (hasPanX && hasPanY) {
+            // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent
+            return;
+        }
+
+        if (hasNone ||
+            (hasPanY && direction & DIRECTION_HORIZONTAL) ||
+            (hasPanX && direction & DIRECTION_VERTICAL)) {
+            return this.preventSrc(srcEvent);
+        }
+    },
+
+    /**
+     * call preventDefault to prevent the browser's default behavior (scrolling in most cases)
+     * @param {Object} srcEvent
+     */
+    preventSrc: function(srcEvent) {
+        this.manager.session.prevented = true;
+        srcEvent.preventDefault();
+    }
+};
+
+/**
+ * when the touchActions are collected they are not a valid value, so we need to clean things up. *
+ * @param {String} actions
+ * @returns {*}
+ */
+function cleanTouchActions(actions) {
+    // none
+    if (inStr(actions, TOUCH_ACTION_NONE)) {
+        return TOUCH_ACTION_NONE;
+    }
+
+    var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);
+    var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);
+
+    // if both pan-x and pan-y are set (different recognizers
+    // for different directions, e.g. horizontal pan but vertical swipe?)
+    // we need none (as otherwise with pan-x pan-y combined none of these
+    // recognizers will work, since the browser would handle all panning
+    if (hasPanX && hasPanY) {
+        return TOUCH_ACTION_NONE;
+    }
+
+    // pan-x OR pan-y
+    if (hasPanX || hasPanY) {
+        return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;
+    }
+
+    // manipulation
+    if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {
+        return TOUCH_ACTION_MANIPULATION;
+    }
+
+    return TOUCH_ACTION_AUTO;
+}
+
+function getTouchActionProps() {
+    if (!NATIVE_TOUCH_ACTION) {
+        return false;
+    }
+    var touchMap = {};
+    var cssSupports = window.CSS && window.CSS.supports;
+    ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {
+
+        // If css.supports is not supported but there is native touch-action assume it supports
+        // all values. This is the case for IE 10 and 11.
+        touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;
+    });
+    return touchMap;
+}
+
+/**
+ * Recognizer flow explained; *
+ * All recognizers have the initial state of POSSIBLE when a input session starts.
+ * The definition of a input session is from the first input until the last input, with all it's movement in it. *
+ * Example session for mouse-input: mousedown -> mousemove -> mouseup
+ *
+ * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed
+ * which determines with state it should be.
+ *
+ * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to
+ * POSSIBLE to give it another change on the next cycle.
+ *
+ *               Possible
+ *                  |
+ *            +-----+---------------+
+ *            |                     |
+ *      +-----+-----+               |
+ *      |           |               |
+ *   Failed      Cancelled          |
+ *                          +-------+------+
+ *                          |              |
+ *                      Recognized       Began
+ *                                         |
+ *                                      Changed
+ *                                         |
+ *                                  Ended/Recognized
+ */
+var STATE_POSSIBLE = 1;
+var STATE_BEGAN = 2;
+var STATE_CHANGED = 4;
+var STATE_ENDED = 8;
+var STATE_RECOGNIZED = STATE_ENDED;
+var STATE_CANCELLED = 16;
+var STATE_FAILED = 32;
+
+/**
+ * Recognizer
+ * Every recognizer needs to extend from this class.
+ * @constructor
+ * @param {Object} options
+ */
+function Recognizer(options) {
+    this.options = assign({}, this.defaults, options || {});
+
+    this.id = uniqueId();
+
+    this.manager = null;
+
+    // default is enable true
+    this.options.enable = ifUndefined(this.options.enable, true);
+
+    this.state = STATE_POSSIBLE;
+
+    this.simultaneous = {};
+    this.requireFail = [];
+}
+
+Recognizer.prototype = {
+    /**
+     * @virtual
+     * @type {Object}
+     */
+    defaults: {},
+
+    /**
+     * set options
+     * @param {Object} options
+     * @return {Recognizer}
+     */
+    set: function(options) {
+        assign(this.options, options);
+
+        // also update the touchAction, in case something changed about the directions/enabled state
+        this.manager && this.manager.touchAction.update();
+        return this;
+    },
+
+    /**
+     * recognize simultaneous with an other recognizer.
+     * @param {Recognizer} otherRecognizer
+     * @returns {Recognizer} this
+     */
+    recognizeWith: function(otherRecognizer) {
+        if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {
+            return this;
+        }
+
+        var simultaneous = this.simultaneous;
+        otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);
+        if (!simultaneous[otherRecognizer.id]) {
+            simultaneous[otherRecognizer.id] = otherRecognizer;
+            otherRecognizer.recognizeWith(this);
+        }
+        return this;
+    },
+
+    /**
+     * drop the simultaneous link. it doesnt remove the link on the other recognizer.
+     * @param {Recognizer} otherRecognizer
+     * @returns {Recognizer} this
+     */
+    dropRecognizeWith: function(otherRecognizer) {
+        if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {
+            return this;
+        }
+
+        otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);
+        delete this.simultaneous[otherRecognizer.id];
+        return this;
+    },
+
+    /**
+     * recognizer can only run when an other is failing
+     * @param {Recognizer} otherRecognizer
+     * @returns {Recognizer} this
+     */
+    requireFailure: function(otherRecognizer) {
+        if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {
+            return this;
+        }
+
+        var requireFail = this.requireFail;
+        otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);
+        if (inArray(requireFail, otherRecognizer) === -1) {
+            requireFail.push(otherRecognizer);
+            otherRecognizer.requireFailure(this);
+        }
+        return this;
+    },
+
+    /**
+     * drop the requireFailure link. it does not remove the link on the other recognizer.
+     * @param {Recognizer} otherRecognizer
+     * @returns {Recognizer} this
+     */
+    dropRequireFailure: function(otherRecognizer) {
+        if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {
+            return this;
+        }
+
+        otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);
+        var index = inArray(this.requireFail, otherRecognizer);
+        if (index > -1) {
+            this.requireFail.splice(index, 1);
+        }
+        return this;
+    },
+
+    /**
+     * has require failures boolean
+     * @returns {boolean}
+     */
+    hasRequireFailures: function() {
+        return this.requireFail.length > 0;
+    },
+
+    /**
+     * if the recognizer can recognize simultaneous with an other recognizer
+     * @param {Recognizer} otherRecognizer
+     * @returns {Boolean}
+     */
+    canRecognizeWith: function(otherRecognizer) {
+        return !!this.simultaneous[otherRecognizer.id];
+    },
+
+    /**
+     * You should use `tryEmit` instead of `emit` directly to check
+     * that all the needed recognizers has failed before emitting.
+     * @param {Object} input
+     */
+    emit: function(input) {
+        var self = this;
+        var state = this.state;
+
+        function emit(event) {
+            self.manager.emit(event, input);
+        }
+
+        // 'panstart' and 'panmove'
+        if (state < STATE_ENDED) {
+            emit(self.options.event + stateStr(state));
+        }
+
+        emit(self.options.event); // simple 'eventName' events
+
+        if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)
+            emit(input.additionalEvent);
+        }
+
+        // panend and pancancel
+        if (state >= STATE_ENDED) {
+            emit(self.options.event + stateStr(state));
+        }
+    },
+
+    /**
+     * Check that all the require failure recognizers has failed,
+     * if true, it emits a gesture event,
+     * otherwise, setup the state to FAILED.
+     * @param {Object} input
+     */
+    tryEmit: function(input) {
+        if (this.canEmit()) {
+            return this.emit(input);
+        }
+        // it's failing anyway
+        this.state = STATE_FAILED;
+    },
+
+    /**
+     * can we emit?
+     * @returns {boolean}
+     */
+    canEmit: function() {
+        var i = 0;
+        while (i < this.requireFail.length) {
+            if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {
+                return false;
+            }
+            i++;
+        }
+        return true;
+    },
+
+    /**
+     * update the recognizer
+     * @param {Object} inputData
+     */
+    recognize: function(inputData) {
+        // make a new copy of the inputData
+        // so we can change the inputData without messing up the other recognizers
+        var inputDataClone = assign({}, inputData);
+
+        // is is enabled and allow recognizing?
+        if (!boolOrFn(this.options.enable, [this, inputDataClone])) {
+            this.reset();
+            this.state = STATE_FAILED;
+            return;
+        }
+
+        // reset when we've reached the end
+        if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {
+            this.state = STATE_POSSIBLE;
+        }
+
+        this.state = this.process(inputDataClone);
+
+        // the recognizer has recognized a gesture
+        // so trigger an event
+        if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {
+            this.tryEmit(inputDataClone);
+        }
+    },
+
+    /**
+     * return the state of the recognizer
+     * the actual recognizing happens in this method
+     * @virtual
+     * @param {Object} inputData
+     * @returns {Const} STATE
+     */
+    process: function(inputData) { }, // jshint ignore:line
+
+    /**
+     * return the preferred touch-action
+     * @virtual
+     * @returns {Array}
+     */
+    getTouchAction: function() { },
+
+    /**
+     * called when the gesture isn't allowed to recognize
+     * like when another is being recognized or it is disabled
+     * @virtual
+     */
+    reset: function() { }
+};
+
+/**
+ * get a usable string, used as event postfix
+ * @param {Const} state
+ * @returns {String} state
+ */
+function stateStr(state) {
+    if (state & STATE_CANCELLED) {
+        return 'cancel';
+    } else if (state & STATE_ENDED) {
+        return 'end';
+    } else if (state & STATE_CHANGED) {
+        return 'move';
+    } else if (state & STATE_BEGAN) {
+        return 'start';
+    }
+    return '';
+}
+
+/**
+ * direction cons to string
+ * @param {Const} direction
+ * @returns {String}
+ */
+function directionStr(direction) {
+    if (direction == DIRECTION_DOWN) {
+        return 'down';
+    } else if (direction == DIRECTION_UP) {
+        return 'up';
+    } else if (direction == DIRECTION_LEFT) {
+        return 'left';
+    } else if (direction == DIRECTION_RIGHT) {
+        return 'right';
+    }
+    return '';
+}
+
+/**
+ * get a recognizer by name if it is bound to a manager
+ * @param {Recognizer|String} otherRecognizer
+ * @param {Recognizer} recognizer
+ * @returns {Recognizer}
+ */
+function getRecognizerByNameIfManager(otherRecognizer, recognizer) {
+    var manager = recognizer.manager;
+    if (manager) {
+        return manager.get(otherRecognizer);
+    }
+    return otherRecognizer;
+}
+
+/**
+ * This recognizer is just used as a base for the simple attribute recognizers.
+ * @constructor
+ * @extends Recognizer
+ */
+function AttrRecognizer() {
+    Recognizer.apply(this, arguments);
+}
+
+inherit(AttrRecognizer, Recognizer, {
+    /**
+     * @namespace
+     * @memberof AttrRecognizer
+     */
+    defaults: {
+        /**
+         * @type {Number}
+         * @default 1
+         */
+        pointers: 1
+    },
+
+    /**
+     * Used to check if it the recognizer receives valid input, like input.distance > 10.
+     * @memberof AttrRecognizer
+     * @param {Object} input
+     * @returns {Boolean} recognized
+     */
+    attrTest: function(input) {
+        var optionPointers = this.options.pointers;
+        return optionPointers === 0 || input.pointers.length === optionPointers;
+    },
+
+    /**
+     * Process the input and return the state for the recognizer
+     * @memberof AttrRecognizer
+     * @param {Object} input
+     * @returns {*} State
+     */
+    process: function(input) {
+        var state = this.state;
+        var eventType = input.eventType;
+
+        var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);
+        var isValid = this.attrTest(input);
+
+        // on cancel input and we've recognized before, return STATE_CANCELLED
+        if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {
+            return state | STATE_CANCELLED;
+        } else if (isRecognized || isValid) {
+            if (eventType & INPUT_END) {
+                return state | STATE_ENDED;
+            } else if (!(state & STATE_BEGAN)) {
+                return STATE_BEGAN;
+            }
+            return state | STATE_CHANGED;
+        }
+        return STATE_FAILED;
+    }
+});
+
+/**
+ * Pan
+ * Recognized when the pointer is down and moved in the allowed direction.
+ * @constructor
+ * @extends AttrRecognizer
+ */
+function PanRecognizer() {
+    AttrRecognizer.apply(this, arguments);
+
+    this.pX = null;
+    this.pY = null;
+}
+
+inherit(PanRecognizer, AttrRecognizer, {
+    /**
+     * @namespace
+     * @memberof PanRecognizer
+     */
+    defaults: {
+        event: 'pan',
+        threshold: 10,
+        pointers: 1,
+        direction: DIRECTION_ALL
+    },
+
+    getTouchAction: function() {
+        var direction = this.options.direction;
+        var actions = [];
+        if (direction & DIRECTION_HORIZONTAL) {
+            actions.push(TOUCH_ACTION_PAN_Y);
+        }
+        if (direction & DIRECTION_VERTICAL) {
+            actions.push(TOUCH_ACTION_PAN_X);
+        }
+        return actions;
+    },
+
+    directionTest: function(input) {
+        var options = this.options;
+        var hasMoved = true;
+        var distance = input.distance;
+        var direction = input.direction;
+        var x = input.deltaX;
+        var y = input.deltaY;
+
+        // lock to axis?
+        if (!(direction & options.direction)) {
+            if (options.direction & DIRECTION_HORIZONTAL) {
+                direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;
+                hasMoved = x != this.pX;
+                distance = Math.abs(input.deltaX);
+            } else {
+                direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;
+                hasMoved = y != this.pY;
+                distance = Math.abs(input.deltaY);
+            }
+        }
+        input.direction = direction;
+        return hasMoved && distance > options.threshold && direction & options.direction;
+    },
+
+    attrTest: function(input) {
+        return AttrRecognizer.prototype.attrTest.call(this, input) &&
+            (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));
+    },
+
+    emit: function(input) {
+
+        this.pX = input.deltaX;
+        this.pY = input.deltaY;
+
+        var direction = directionStr(input.direction);
+
+        if (direction) {
+            input.additionalEvent = this.options.event + direction;
+        }
+        this._super.emit.call(this, input);
+    }
+});
+
+/**
+ * Pinch
+ * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).
+ * @constructor
+ * @extends AttrRecognizer
+ */
+function PinchRecognizer() {
+    AttrRecognizer.apply(this, arguments);
+}
+
+inherit(PinchRecognizer, AttrRecognizer, {
+    /**
+     * @namespace
+     * @memberof PinchRecognizer
+     */
+    defaults: {
+        event: 'pinch',
+        threshold: 0,
+        pointers: 2
+    },
+
+    getTouchAction: function() {
+        return [TOUCH_ACTION_NONE];
+    },
+
+    attrTest: function(input) {
+        return this._super.attrTest.call(this, input) &&
+            (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);
+    },
+
+    emit: function(input) {
+        if (input.scale !== 1) {
+            var inOut = input.scale < 1 ? 'in' : 'out';
+            input.additionalEvent = this.options.event + inOut;
+        }
+        this._super.emit.call(this, input);
+    }
+});
+
+/**
+ * Press
+ * Recognized when the pointer is down for x ms without any movement.
+ * @constructor
+ * @extends Recognizer
+ */
+function PressRecognizer() {
+    Recognizer.apply(this, arguments);
+
+    this._timer = null;
+    this._input = null;
+}
+
+inherit(PressRecognizer, Recognizer, {
+    /**
+     * @namespace
+     * @memberof PressRecognizer
+     */
+    defaults: {
+        event: 'press',
+        pointers: 1,
+        time: 251, // minimal time of the pointer to be pressed
+        threshold: 9 // a minimal movement is ok, but keep it low
+    },
+
+    getTouchAction: function() {
+        return [TOUCH_ACTION_AUTO];
+    },
+
+    process: function(input) {
+        var options = this.options;
+        var validPointers = input.pointers.length === options.pointers;
+        var validMovement = input.distance < options.threshold;
+        var validTime = input.deltaTime > options.time;
+
+        this._input = input;
+
+        // we only allow little movement
+        // and we've reached an end event, so a tap is possible
+        if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {
+            this.reset();
+        } else if (input.eventType & INPUT_START) {
+            this.reset();
+            this._timer = setTimeoutContext(function() {
+                this.state = STATE_RECOGNIZED;
+                this.tryEmit();
+            }, options.time, this);
+        } else if (input.eventType & INPUT_END) {
+            return STATE_RECOGNIZED;
+        }
+        return STATE_FAILED;
+    },
+
+    reset: function() {
+        clearTimeout(this._timer);
+    },
+
+    emit: function(input) {
+        if (this.state !== STATE_RECOGNIZED) {
+            return;
+        }
+
+        if (input && (input.eventType & INPUT_END)) {
+            this.manager.emit(this.options.event + 'up', input);
+        } else {
+            this._input.timeStamp = now();
+            this.manager.emit(this.options.event, this._input);
+        }
+    }
+});
+
+/**
+ * Rotate
+ * Recognized when two or more pointer are moving in a circular motion.
+ * @constructor
+ * @extends AttrRecognizer
+ */
+function RotateRecognizer() {
+    AttrRecognizer.apply(this, arguments);
+}
+
+inherit(RotateRecognizer, AttrRecognizer, {
+    /**
+     * @namespace
+     * @memberof RotateRecognizer
+     */
+    defaults: {
+        event: 'rotate',
+        threshold: 0,
+        pointers: 2
+    },
+
+    getTouchAction: function() {
+        return [TOUCH_ACTION_NONE];
+    },
+
+    attrTest: function(input) {
+        return this._super.attrTest.call(this, input) &&
+            (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);
+    }
+});
+
+/**
+ * Swipe
+ * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.
+ * @constructor
+ * @extends AttrRecognizer
+ */
+function SwipeRecognizer() {
+    AttrRecognizer.apply(this, arguments);
+}
+
+inherit(SwipeRecognizer, AttrRecognizer, {
+    /**
+     * @namespace
+     * @memberof SwipeRecognizer
+     */
+    defaults: {
+        event: 'swipe',
+        threshold: 10,
+        velocity: 0.3,
+        direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,
+        pointers: 1
+    },
+
+    getTouchAction: function() {
+        return PanRecognizer.prototype.getTouchAction.call(this);
+    },
+
+    attrTest: function(input) {
+        var direction = this.options.direction;
+        var velocity;
+
+        if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {
+            velocity = input.overallVelocity;
+        } else if (direction & DIRECTION_HORIZONTAL) {
+            velocity = input.overallVelocityX;
+        } else if (direction & DIRECTION_VERTICAL) {
+            velocity = input.overallVelocityY;
+        }
+
+        return this._super.attrTest.call(this, input) &&
+            direction & input.offsetDirection &&
+            input.distance > this.options.threshold &&
+            input.maxPointers == this.options.pointers &&
+            abs(velocity) > this.options.velocity && input.eventType & INPUT_END;
+    },
+
+    emit: function(input) {
+        var direction = directionStr(input.offsetDirection);
+        if (direction) {
+            this.manager.emit(this.options.event + direction, input);
+        }
+
+        this.manager.emit(this.options.event, input);
+    }
+});
+
+/**
+ * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur
+ * between the given interval and position. The delay option can be used to recognize multi-taps without firing
+ * a single tap.
+ *
+ * The eventData from the emitted event contains the property `tapCount`, which contains the amount of
+ * multi-taps being recognized.
+ * @constructor
+ * @extends Recognizer
+ */
+function TapRecognizer() {
+    Recognizer.apply(this, arguments);
+
+    // previous time and center,
+    // used for tap counting
+    this.pTime = false;
+    this.pCenter = false;
+
+    this._timer = null;
+    this._input = null;
+    this.count = 0;
+}
+
+inherit(TapRecognizer, Recognizer, {
+    /**
+     * @namespace
+     * @memberof PinchRecognizer
+     */
+    defaults: {
+        event: 'tap',
+        pointers: 1,
+        taps: 1,
+        interval: 300, // max time between the multi-tap taps
+        time: 250, // max time of the pointer to be down (like finger on the screen)
+        threshold: 9, // a minimal movement is ok, but keep it low
+        posThreshold: 10 // a multi-tap can be a bit off the initial position
+    },
+
+    getTouchAction: function() {
+        return [TOUCH_ACTION_MANIPULATION];
+    },
+
+    process: function(input) {
+        var options = this.options;
+
+        var validPointers = input.pointers.length === options.pointers;
+        var validMovement = input.distance < options.threshold;
+        var validTouchTime = input.deltaTime < options.time;
+
+        this.reset();
+
+        if ((input.eventType & INPUT_START) && (this.count === 0)) {
+            return this.failTimeout();
+        }
+
+        // we only allow little movement
+        // and we've reached an end event, so a tap is possible
+        if (validMovement && validTouchTime && validPointers) {
+            if (input.eventType != INPUT_END) {
+                return this.failTimeout();
+            }
+
+            var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;
+            var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;
+
+            this.pTime = input.timeStamp;
+            this.pCenter = input.center;
+
+            if (!validMultiTap || !validInterval) {
+                this.count = 1;
+            } else {
+                this.count += 1;
+            }
+
+            this._input = input;
+
+            // if tap count matches we have recognized it,
+            // else it has began recognizing...
+            var tapCount = this.count % options.taps;
+            if (tapCount === 0) {
+                // no failing requirements, immediately trigger the tap event
+                // or wait as long as the multitap interval to trigger
+                if (!this.hasRequireFailures()) {
+                    return STATE_RECOGNIZED;
+                } else {
+                    this._timer = setTimeoutContext(function() {
+                        this.state = STATE_RECOGNIZED;
+                        this.tryEmit();
+                    }, options.interval, this);
+                    return STATE_BEGAN;
+                }
+            }
+        }
+        return STATE_FAILED;
+    },
+
+    failTimeout: function() {
+        this._timer = setTimeoutContext(function() {
+            this.state = STATE_FAILED;
+        }, this.options.interval, this);
+        return STATE_FAILED;
+    },
+
+    reset: function() {
+        clearTimeout(this._timer);
+    },
+
+    emit: function() {
+        if (this.state == STATE_RECOGNIZED) {
+            this._input.tapCount = this.count;
+            this.manager.emit(this.options.event, this._input);
+        }
+    }
+});
+
+/**
+ * Simple way to create a manager with a default set of recognizers.
+ * @param {HTMLElement} element
+ * @param {Object} [options]
+ * @constructor
+ */
+function Hammer(element, options) {
+    options = options || {};
+    options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);
+    return new Manager(element, options);
+}
+
+/**
+ * @const {string}
+ */
+Hammer.VERSION = '2.0.7';
+
+/**
+ * default settings
+ * @namespace
+ */
+Hammer.defaults = {
+    /**
+     * set if DOM events are being triggered.
+     * But this is slower and unused by simple implementations, so disabled by default.
+     * @type {Boolean}
+     * @default false
+     */
+    domEvents: false,
+
+    /**
+     * The value for the touchAction property/fallback.
+     * When set to `compute` it will magically set the correct value based on the added recognizers.
+     * @type {String}
+     * @default compute
+     */
+    touchAction: TOUCH_ACTION_COMPUTE,
+
+    /**
+     * @type {Boolean}
+     * @default true
+     */
+    enable: true,
+
+    /**
+     * EXPERIMENTAL FEATURE -- can be removed/changed
+     * Change the parent input target element.
+     * If Null, then it is being set the to main element.
+     * @type {Null|EventTarget}
+     * @default null
+     */
+    inputTarget: null,
+
+    /**
+     * force an input class
+     * @type {Null|Function}
+     * @default null
+     */
+    inputClass: null,
+
+    /**
+     * Default recognizer setup when calling `Hammer()`
+     * When creating a new Manager these will be skipped.
+     * @type {Array}
+     */
+    preset: [
+        // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]
+        [RotateRecognizer, {enable: false}],
+        [PinchRecognizer, {enable: false}, ['rotate']],
+        [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],
+        [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],
+        [TapRecognizer],
+        [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],
+        [PressRecognizer]
+    ],
+
+    /**
+     * Some CSS properties can be used to improve the working of Hammer.
+     * Add them to this method and they will be set when creating a new Manager.
+     * @namespace
+     */
+    cssProps: {
+        /**
+         * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.
+         * @type {String}
+         * @default 'none'
+         */
+        userSelect: 'none',
+
+        /**
+         * Disable the Windows Phone grippers when pressing an element.
+         * @type {String}
+         * @default 'none'
+         */
+        touchSelect: 'none',
+
+        /**
+         * Disables the default callout shown when you touch and hold a touch target.
+         * On iOS, when you touch and hold a touch target such as a link, Safari displays
+         * a callout containing information about the link. This property allows you to disable that callout.
+         * @type {String}
+         * @default 'none'
+         */
+        touchCallout: 'none',
+
+        /**
+         * Specifies whether zooming is enabled. Used by IE10>
+         * @type {String}
+         * @default 'none'
+         */
+        contentZooming: 'none',
+
+        /**
+         * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.
+         * @type {String}
+         * @default 'none'
+         */
+        userDrag: 'none',
+
+        /**
+         * Overrides the highlight color shown when the user taps a link or a JavaScript
+         * clickable element in iOS. This property obeys the alpha value, if specified.
+         * @type {String}
+         * @default 'rgba(0,0,0,0)'
+         */
+        tapHighlightColor: 'rgba(0,0,0,0)'
+    }
+};
+
+var STOP = 1;
+var FORCED_STOP = 2;
+
+/**
+ * Manager
+ * @param {HTMLElement} element
+ * @param {Object} [options]
+ * @constructor
+ */
+function Manager(element, options) {
+    this.options = assign({}, Hammer.defaults, options || {});
+
+    this.options.inputTarget = this.options.inputTarget || element;
+
+    this.handlers = {};
+    this.session = {};
+    this.recognizers = [];
+    this.oldCssProps = {};
+
+    this.element = element;
+    this.input = createInputInstance(this);
+    this.touchAction = new TouchAction(this, this.options.touchAction);
+
+    toggleCssProps(this, true);
+
+    each(this.options.recognizers, function(item) {
+        var recognizer = this.add(new (item[0])(item[1]));
+        item[2] && recognizer.recognizeWith(item[2]);
+        item[3] && recognizer.requireFailure(item[3]);
+    }, this);
+}
+
+Manager.prototype = {
+    /**
+     * set options
+     * @param {Object} options
+     * @returns {Manager}
+     */
+    set: function(options) {
+        assign(this.options, options);
+
+        // Options that need a little more setup
+        if (options.touchAction) {
+            this.touchAction.update();
+        }
+        if (options.inputTarget) {
+            // Clean up existing event listeners and reinitialize
+            this.input.destroy();
+            this.input.target = options.inputTarget;
+            this.input.init();
+        }
+        return this;
+    },
+
+    /**
+     * stop recognizing for this session.
+     * This session will be discarded, when a new [input]start event is fired.
+     * When forced, the recognizer cycle is stopped immediately.
+     * @param {Boolean} [force]
+     */
+    stop: function(force) {
+        this.session.stopped = force ? FORCED_STOP : STOP;
+    },
+
+    /**
+     * run the recognizers!
+     * called by the inputHandler function on every movement of the pointers (touches)
+     * it walks through all the recognizers and tries to detect the gesture that is being made
+     * @param {Object} inputData
+     */
+    recognize: function(inputData) {
+        var session = this.session;
+        if (session.stopped) {
+            return;
+        }
+
+        // run the touch-action polyfill
+        this.touchAction.preventDefaults(inputData);
+
+        var recognizer;
+        var recognizers = this.recognizers;
+
+        // this holds the recognizer that is being recognized.
+        // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED
+        // if no recognizer is detecting a thing, it is set to `null`
+        var curRecognizer = session.curRecognizer;
+
+        // reset when the last recognizer is recognized
+        // or when we're in a new session
+        if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {
+            curRecognizer = session.curRecognizer = null;
+        }
+
+        var i = 0;
+        while (i < recognizers.length) {
+            recognizer = recognizers[i];
+
+            // find out if we are allowed try to recognize the input for this one.
+            // 1.   allow if the session is NOT forced stopped (see the .stop() method)
+            // 2.   allow if we still haven't recognized a gesture in this session, or the this recognizer is the one
+            //      that is being recognized.
+            // 3.   allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.
+            //      this can be setup with the `recognizeWith()` method on the recognizer.
+            if (session.stopped !== FORCED_STOP && ( // 1
+                    !curRecognizer || recognizer == curRecognizer || // 2
+                    recognizer.canRecognizeWith(curRecognizer))) { // 3
+                recognizer.recognize(inputData);
+            } else {
+                recognizer.reset();
+            }
+
+            // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the
+            // current active recognizer. but only if we don't already have an active recognizer
+            if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {
+                curRecognizer = session.curRecognizer = recognizer;
+            }
+            i++;
+        }
+    },
+
+    /**
+     * get a recognizer by its event name.
+     * @param {Recognizer|String} recognizer
+     * @returns {Recognizer|Null}
+     */
+    get: function(recognizer) {
+        if (recognizer instanceof Recognizer) {
+            return recognizer;
+        }
+
+        var recognizers = this.recognizers;
+        for (var i = 0; i < recognizers.length; i++) {
+            if (recognizers[i].options.event == recognizer) {
+                return recognizers[i];
+            }
+        }
+        return null;
+    },
+
+    /**
+     * add a recognizer to the manager
+     * existing recognizers with the same event name will be removed
+     * @param {Recognizer} recognizer
+     * @returns {Recognizer|Manager}
+     */
+    add: function(recognizer) {
+        if (invokeArrayArg(recognizer, 'add', this)) {
+            return this;
+        }
+
+        // remove existing
+        var existing = this.get(recognizer.options.event);
+        if (existing) {
+            this.remove(existing);
+        }
+
+        this.recognizers.push(recognizer);
+        recognizer.manager = this;
+
+        this.touchAction.update();
+        return recognizer;
+    },
+
+    /**
+     * remove a recognizer by name or instance
+     * @param {Recognizer|String} recognizer
+     * @returns {Manager}
+     */
+    remove: function(recognizer) {
+        if (invokeArrayArg(recognizer, 'remove', this)) {
+            return this;
+        }
+
+        recognizer = this.get(recognizer);
+
+        // let's make sure this recognizer exists
+        if (recognizer) {
+            var recognizers = this.recognizers;
+            var index = inArray(recognizers, recognizer);
+
+            if (index !== -1) {
+                recognizers.splice(index, 1);
+                this.touchAction.update();
+            }
+        }
+
+        return this;
+    },
+
+    /**
+     * bind event
+     * @param {String} events
+     * @param {Function} handler
+     * @returns {EventEmitter} this
+     */
+    on: function(events, handler) {
+        if (events === undefined) {
+            return;
+        }
+        if (handler === undefined) {
+            return;
+        }
+
+        var handlers = this.handlers;
+        each(splitStr(events), function(event) {
+            handlers[event] = handlers[event] || [];
+            handlers[event].push(handler);
+        });
+        return this;
+    },
+
+    /**
+     * unbind event, leave emit blank to remove all handlers
+     * @param {String} events
+     * @param {Function} [handler]
+     * @returns {EventEmitter} this
+     */
+    off: function(events, handler) {
+        if (events === undefined) {
+            return;
+        }
+
+        var handlers = this.handlers;
+        each(splitStr(events), function(event) {
+            if (!handler) {
+                delete handlers[event];
+            } else {
+                handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);
+            }
+        });
+        return this;
+    },
+
+    /**
+     * emit event to the listeners
+     * @param {String} event
+     * @param {Object} data
+     */
+    emit: function(event, data) {
+        // we also want to trigger dom events
+        if (this.options.domEvents) {
+            triggerDomEvent(event, data);
+        }
+
+        // no handlers, so skip it all
+        var handlers = this.handlers[event] && this.handlers[event].slice();
+        if (!handlers || !handlers.length) {
+            return;
+        }
+
+        data.type = event;
+        data.preventDefault = function() {
+            data.srcEvent.preventDefault();
+        };
+
+        var i = 0;
+        while (i < handlers.length) {
+            handlers[i](data);
+            i++;
+        }
+    },
+
+    /**
+     * destroy the manager and unbinds all events
+     * it doesn't unbind dom events, that is the user own responsibility
+     */
+    destroy: function() {
+        this.element && toggleCssProps(this, false);
+
+        this.handlers = {};
+        this.session = {};
+        this.input.destroy();
+        this.element = null;
+    }
+};
+
+/**
+ * add/remove the css properties as defined in manager.options.cssProps
+ * @param {Manager} manager
+ * @param {Boolean} add
+ */
+function toggleCssProps(manager, add) {
+    var element = manager.element;
+    if (!element.style) {
+        return;
+    }
+    var prop;
+    each(manager.options.cssProps, function(value, name) {
+        prop = prefixed(element.style, name);
+        if (add) {
+            manager.oldCssProps[prop] = element.style[prop];
+            element.style[prop] = value;
+        } else {
+            element.style[prop] = manager.oldCssProps[prop] || '';
+        }
+    });
+    if (!add) {
+        manager.oldCssProps = {};
+    }
+}
+
+/**
+ * trigger dom event
+ * @param {String} event
+ * @param {Object} data
+ */
+function triggerDomEvent(event, data) {
+    var gestureEvent = document.createEvent('Event');
+    gestureEvent.initEvent(event, true, true);
+    gestureEvent.gesture = data;
+    data.target.dispatchEvent(gestureEvent);
+}
+
+assign(Hammer, {
+    INPUT_START: INPUT_START,
+    INPUT_MOVE: INPUT_MOVE,
+    INPUT_END: INPUT_END,
+    INPUT_CANCEL: INPUT_CANCEL,
+
+    STATE_POSSIBLE: STATE_POSSIBLE,
+    STATE_BEGAN: STATE_BEGAN,
+    STATE_CHANGED: STATE_CHANGED,
+    STATE_ENDED: STATE_ENDED,
+    STATE_RECOGNIZED: STATE_RECOGNIZED,
+    STATE_CANCELLED: STATE_CANCELLED,
+    STATE_FAILED: STATE_FAILED,
+
+    DIRECTION_NONE: DIRECTION_NONE,
+    DIRECTION_LEFT: DIRECTION_LEFT,
+    DIRECTION_RIGHT: DIRECTION_RIGHT,
+    DIRECTION_UP: DIRECTION_UP,
+    DIRECTION_DOWN: DIRECTION_DOWN,
+    DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,
+    DIRECTION_VERTICAL: DIRECTION_VERTICAL,
+    DIRECTION_ALL: DIRECTION_ALL,
+
+    Manager: Manager,
+    Input: Input,
+    TouchAction: TouchAction,
+
+    TouchInput: TouchInput,
+    MouseInput: MouseInput,
+    PointerEventInput: PointerEventInput,
+    TouchMouseInput: TouchMouseInput,
+    SingleTouchInput: SingleTouchInput,
+
+    Recognizer: Recognizer,
+    AttrRecognizer: AttrRecognizer,
+    Tap: TapRecognizer,
+    Pan: PanRecognizer,
+    Swipe: SwipeRecognizer,
+    Pinch: PinchRecognizer,
+    Rotate: RotateRecognizer,
+    Press: PressRecognizer,
+
+    on: addEventListeners,
+    off: removeEventListeners,
+    each: each,
+    merge: merge,
+    extend: extend,
+    assign: assign,
+    inherit: inherit,
+    bindFn: bindFn,
+    prefixed: prefixed
+});
+
+// this prevents errors when Hammer is loaded in the presence of an AMD
+//  style loader but by script tag, not by the loader.
+var freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line
+freeGlobal.Hammer = Hammer;
+
+if (typeof define === 'function' && define.amd) {
+    define(function() {
+        return Hammer;
+    });
+} else if (typeof module != 'undefined' && module.exports) {
+    module.exports = Hammer;
+} else {
+    window[exportName] = Hammer;
+}
+
+})(window, document, 'Hammer');
diff --git a/public/static/dicom/js/jquery-1.12.2.min.js b/public/static/dicom/js/jquery-1.12.2.min.js
new file mode 100644
index 00000000..5cb0acfa
--- /dev/null
+++ b/public/static/dicom/js/jquery-1.12.2.min.js
@@ -0,0 +1,5 @@
+/*! jQuery v1.12.2 | (c) jQuery Foundation | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.2",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0;
+}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}}),function(){var a;l.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,e;return c=d.getElementsByTagName("body")[0],c&&c.style?(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(d.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(e),a):void 0}}();var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),V=["Top","Right","Bottom","Left"],W=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function X(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&U.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var Y=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)Y(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/<tbody/i;function ia(a){Z.test(a.type)&&(a.defaultChecked=a.checked)}function ja(a,b,c,d,e){for(var f,g,h,i,j,k,m,o=a.length,p=ca(b),q=[],r=0;o>r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?"<table>"!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ma.test(f)?this.mouseHooks:la.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=g.srcElement||d),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,h.filter?h.filter(a,g):a},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button,h=b.fromElement;return null==a.pageX&&null!=b.clientX&&(e=a.target.ownerDocument||d,f=e.documentElement,c=e.body,a.pageX=b.clientX+(f&&f.scrollLeft||c&&c.scrollLeft||0)-(f&&f.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(f&&f.scrollTop||c&&c.scrollTop||0)-(f&&f.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=h===a.target?b.toElement:h),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ra()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ra()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=d.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)}:function(a,b,c){var d="on"+b;a.detachEvent&&("undefined"==typeof a[d]&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?pa:qa):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:qa,isPropagationStopped:qa,isImmediatePropagationStopped:qa,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=pa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=pa,a&&!this.isSimulated&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=pa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submit||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?n.prop(b,"form"):void 0;c&&!n._data(c,"submit")&&(n.event.add(c,"submit._submit",function(a){a._submitBubble=!0}),n._data(c,"submit",!0))})},postDispatch:function(a){a._submitBubble&&(delete a._submitBubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.change||(n.event.special.change={setup:function(){return ka.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._justChanged=!0)}),n.event.add(this,"click._change",function(a){this._justChanged&&!a.isTrigger&&(this._justChanged=!1),n.event.simulate("change",this,a)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;ka.test(b.nodeName)&&!n._data(b,"change")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a)}),n._data(b,"change",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!ka.test(this.nodeName)}}),l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d){return sa(this,a,b,c,d)},one:function(a,b,c,d){return sa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=qa),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ta=/ jQuery\d+="(?:null|\d+)"/g,ua=new RegExp("<(?:"+ba+")[\\s/>]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/<script|<style|<link/i,xa=/checked\s*(?:[^=]|=\s*.checked.)/i,ya=/^true\/(.*)/,za=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ja[0].contentWindow||Ja[0].contentDocument).document,b.write(),b.close(),c=La(a,b),Ja.detach()),Ka[a]=c),c}var Na=/^margin/,Oa=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Pa=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Qa=d.documentElement;!function(){var b,c,e,f,g,h,i=d.createElement("div"),j=d.createElement("div");if(j.style){j.style.cssText="float:left;opacity:.5",l.opacity="0.5"===j.style.opacity,l.cssFloat=!!j.style.cssFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===j.style.backgroundClip,i=d.createElement("div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",j.innerHTML="",i.appendChild(j),l.boxSizing=""===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,n.extend(l,{reliableHiddenOffsets:function(){return null==b&&k(),f},boxSizingReliable:function(){return null==b&&k(),e},pixelMarginRight:function(){return null==b&&k(),c},pixelPosition:function(){return null==b&&k(),b},reliableMarginRight:function(){return null==b&&k(),g},reliableMarginLeft:function(){return null==b&&k(),h}});function k(){var k,l,m=d.documentElement;m.appendChild(i),j.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",b=e=h=!1,c=g=!0,a.getComputedStyle&&(l=a.getComputedStyle(j),b="1%"!==(l||{}).top,h="2px"===(l||{}).marginLeft,e="4px"===(l||{width:"4px"}).width,j.style.marginRight="50%",c="4px"===(l||{marginRight:"4px"}).marginRight,k=j.appendChild(d.createElement("div")),k.style.cssText=j.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",k.style.marginRight=k.style.width="0",j.style.width="1px",g=!parseFloat((a.getComputedStyle(k)||{}).marginRight),j.removeChild(k)),j.style.display="none",f=0===j.getClientRects().length,f&&(j.style.display="",j.innerHTML="<table><tr><td></td><td>t</td></tr></table>",k=j.getElementsByTagName("td"),k[0].style.cssText="margin:0;border:0;padding:0;display:none",f=0===k[0].offsetHeight,f&&(k[0].style.display="",k[1].style.display="none",f=0===k[0].offsetHeight)),m.removeChild(i)}}}();var Ra,Sa,Ta=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ra=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Oa.test(g)&&Na.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0===g?g:g+""}):Qa.currentStyle&&(Ra=function(a){return a.currentStyle},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Oa.test(g)&&!Ta.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Ua(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Va=/alpha\([^)]*\)/i,Wa=/opacity\s*=\s*([^)]*)/i,Xa=/^(none|table(?!-c[ea]).+)/,Ya=new RegExp("^("+T+")(.*)$","i"),Za={position:"absolute",visibility:"hidden",display:"block"},$a={letterSpacing:"0",fontWeight:"400"},_a=["Webkit","O","Moz","ms"],ab=d.createElement("div").style;function bb(a){if(a in ab)return a;var b=a.charAt(0).toUpperCase()+a.slice(1),c=_a.length;while(c--)if(a=_a[c]+b,a in ab)return a}function cb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&W(d)&&(f[g]=n._data(d,"olddisplay",Ma(d.nodeName)))):(e=W(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function db(a,b,c){var d=Ya.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function eb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+V[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+V[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+V[f]+"Width",!0,e))):(g+=n.css(a,"padding"+V[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+V[f]+"Width",!0,e)));return g}function fb(b,c,e){var f=!0,g="width"===c?b.offsetWidth:b.offsetHeight,h=Ra(b),i=l.boxSizing&&"border-box"===n.css(b,"boxSizing",!1,h);if(d.msFullscreenElement&&a.top!==a&&b.getClientRects().length&&(g=Math.round(100*b.getBoundingClientRect()[c])),0>=g||null==g){if(g=Sa(b,c,h),(0>g||null==g)&&(g=b.style[c]),Oa.test(g))return g;f=i&&(l.boxSizingReliable()||g===b.style[c]),g=parseFloat(g)||0}return g+eb(b,c,e||(i?"border":"content"),f,h)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Sa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=U.exec(c))&&e[1]&&(c=X(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Sa(a,b,d)),"normal"===f&&b in $a&&(f=$a[b]),""===c||c?(e=parseFloat(f),c===!0||isFinite(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Xa.test(n.css(a,"display"))&&0===a.offsetWidth?Pa(a,Za,function(){return fb(a,b,d)}):fb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return db(a,c,d?eb(a,b,d,l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Wa.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Va,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Va.test(f)?f.replace(Va,e):f+" "+e)}}),n.cssHooks.marginRight=Ua(l.reliableMarginRight,function(a,b){return b?Pa(a,{display:"inline-block"},Sa,[a,"marginRight"]):void 0}),n.cssHooks.marginLeft=Ua(l.reliableMarginLeft,function(a,b){
+return b?(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Pa(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+V[d]+b]=f[d]||f[d-2]||f[0];return e}},Na.test(a)||(n.cssHooks[a+b].set=db)}),n.fn.extend({css:function(a,b){return Y(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return cb(this,!0)},hide:function(){return cb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){W(this)?n(this).show():n(this).hide()})}});function gb(a,b,c,d,e){return new gb.prototype.init(a,b,c,d,e)}n.Tween=gb,gb.prototype={constructor:gb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=gb.propHooks[this.prop];return a&&a.get?a.get(this):gb.propHooks._default.get(this)},run:function(a){var b,c=gb.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):gb.propHooks._default.set(this),this}},gb.prototype.init.prototype=gb.prototype,gb.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},gb.propHooks.scrollTop=gb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=gb.prototype.init,n.fx.step={};var hb,ib,jb=/^(?:toggle|show|hide)$/,kb=/queueHooks$/;function lb(){return a.setTimeout(function(){hb=void 0}),hb=n.now()}function mb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=V[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function nb(a,b,c){for(var d,e=(qb.tweeners[b]||[]).concat(qb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ob(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&W(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k="none"===j?n._data(a,"olddisplay")||Ma(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==Ma(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],jb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(o))"inline"===("none"===j?Ma(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=nb(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function pb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function qb(a,b,c){var d,e,f=0,g=qb.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=hb||lb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:hb||lb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(pb(k,j.opts.specialEasing);g>f;f++)if(d=qb.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,nb,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(qb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return X(c.elem,a,U.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],qb.tweeners[c]=qb.tweeners[c]||[],qb.tweeners[c].unshift(b)},prefilters:[ob],prefilter:function(a,b){b?qb.prefilters.unshift(a):qb.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(W).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=qb(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&kb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(mb(b,!0),a,d,e)}}),n.each({slideDown:mb("show"),slideUp:mb("hide"),slideToggle:mb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(hb=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),hb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ib||(ib=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(ib),ib=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a,b=d.createElement("input"),c=d.createElement("div"),e=d.createElement("select"),f=e.appendChild(d.createElement("option"));c=d.createElement("div"),c.setAttribute("className","t"),c.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],b.setAttribute("type","checkbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==c.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=f.selected,l.enctype=!!d.createElement("form").enctype,e.disabled=!0,l.optDisabled=!f.disabled,b=d.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value}();var rb=/\r/g,sb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(sb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>-1)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var tb,ub,vb=n.expr.attrHandle,wb=/^(?:checked|selected)$/i,xb=l.getSetAttribute,yb=l.input;n.fn.extend({attr:function(a,b){return Y(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ub:tb)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?yb&&xb||!wb.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(xb?c:d)}}),ub={set:function(a,b,c){return b===!1?n.removeAttr(a,c):yb&&xb||!wb.test(c)?a.setAttribute(!xb&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=vb[b]||n.find.attr;yb&&xb||!wb.test(b)?vb[b]=function(a,b,d){var e,f;return d||(f=vb[b],vb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,vb[b]=f),e}:vb[b]=function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),yb&&xb||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):tb&&tb.set(a,b,c)}}),xb||(tb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},vb.id=vb.name=vb.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:tb.set},n.attrHooks.contenteditable={set:function(a,b,c){tb.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var zb=/^(?:input|select|textarea|button|object)$/i,Ab=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return Y(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):zb.test(a.nodeName)||Ab.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var Bb=/[\t\r\n\f]/g;function Cb(a){return n.attr(a,"class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,Cb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,Cb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,Cb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=Cb(this),b&&n._data(this,"__className__",b),n.attr(this,"class",b||a===!1?"":n._data(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Cb(c)+" ").replace(Bb," ").indexOf(b)>-1)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Db=a.location,Eb=n.now(),Fb=/\?/,Gb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(Gb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var Hb=/#.*$/,Ib=/([?&])_=[^&]*/,Jb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Kb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Lb=/^(?:GET|HEAD)$/,Mb=/^\/\//,Nb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ob={},Pb={},Qb="*/".concat("*"),Rb=Db.href,Sb=Nb.exec(Rb.toLowerCase())||[];function Tb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Ub(a,b,c,d){var e={},f=a===Pb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Vb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Wb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Xb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Rb,type:"GET",isLocal:Kb.test(Sb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Qb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Vb(Vb(a,n.ajaxSettings),b):Vb(n.ajaxSettings,a)},ajaxPrefilter:Tb(Ob),ajaxTransport:Tb(Pb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var d,e,f,g,h,i,j,k,l=n.ajaxSetup({},c),m=l.context||l,o=l.context&&(m.nodeType||m.jquery)?n(m):n.event,p=n.Deferred(),q=n.Callbacks("once memory"),r=l.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!k){k={};while(b=Jb.exec(g))k[b[1].toLowerCase()]=b[2]}b=k[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return j&&j.abort(b),y(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,l.url=((b||l.url||Rb)+"").replace(Hb,"").replace(Mb,Sb[1]+"//"),l.type=c.method||c.type||l.method||l.type,l.dataTypes=n.trim(l.dataType||"*").toLowerCase().match(G)||[""],null==l.crossDomain&&(d=Nb.exec(l.url.toLowerCase()),l.crossDomain=!(!d||d[1]===Sb[1]&&d[2]===Sb[2]&&(d[3]||("http:"===d[1]?"80":"443"))===(Sb[3]||("http:"===Sb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=n.param(l.data,l.traditional)),Ub(Ob,l,c,w),2===u)return w;i=n.event&&l.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Lb.test(l.type),f=l.url,l.hasContent||(l.data&&(f=l.url+=(Fb.test(f)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=Ib.test(f)?f.replace(Ib,"$1_="+Eb++):f+(Fb.test(f)?"&":"?")+"_="+Eb++)),l.ifModified&&(n.lastModified[f]&&w.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&w.setRequestHeader("If-None-Match",n.etag[f])),(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",l.contentType),w.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Qb+"; q=0.01":""):l.accepts["*"]);for(e in l.headers)w.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(l.beforeSend.call(m,w,l)===!1||2===u))return w.abort();v="abort";for(e in{success:1,error:1,complete:1})w[e](l[e]);if(j=Ub(Pb,l,c,w)){if(w.readyState=1,i&&o.trigger("ajaxSend",[w,l]),2===u)return w;l.async&&l.timeout>0&&(h=a.setTimeout(function(){w.abort("timeout")},l.timeout));try{u=1,j.send(s,y)}catch(x){if(!(2>u))throw x;y(-1,x)}}else y(-1,"No Transport");function y(b,c,d,e){var k,s,t,v,x,y=c;2!==u&&(u=2,h&&a.clearTimeout(h),j=void 0,g=e||"",w.readyState=b>0?4:0,k=b>=200&&300>b||304===b,d&&(v=Wb(l,w,d)),v=Xb(l,v,w,k),k?(l.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(n.lastModified[f]=x),x=w.getResponseHeader("etag"),x&&(n.etag[f]=x)),204===b||"HEAD"===l.type?y="nocontent":304===b?y="notmodified":(y=v.state,s=v.data,t=v.error,k=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),w.status=b,w.statusText=(c||y)+"",k?p.resolveWith(m,[s,y,w]):p.rejectWith(m,[w,y,t]),w.statusCode(r),r=void 0,i&&o.trigger(k?"ajaxSuccess":"ajaxError",[w,l,k?s:t]),q.fireWith(m,[w,y]),i&&(o.trigger("ajaxComplete",[w,l]),--n.active||n.event.trigger("ajaxStop")))}return w},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}});function Yb(a){return a.style&&a.style.display||n.css(a,"display")}function Zb(a){while(a&&1===a.nodeType){if("none"===Yb(a)||"hidden"===a.type)return!0;a=a.parentNode}return!1}n.expr.filters.hidden=function(a){return l.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientRects().length:Zb(a)},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var $b=/%20/g,_b=/\[\]$/,ac=/\r?\n/g,bc=/^(?:submit|button|image|reset|file)$/i,cc=/^(?:input|select|textarea|keygen)/i;function dc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||_b.test(a)?d(a,e):dc(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)dc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)dc(c,a[c],b,e);return d.join("&").replace($b,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&cc.test(this.nodeName)&&!bc.test(a)&&(this.checked||!Z.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(ac,"\r\n")}}):{name:b.name,value:c.replace(ac,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return this.isLocal?ic():d.documentMode>8?hc():/^(get|post|head|put|delete|options)$/i.test(this.type)&&hc()||ic()}:hc;var ec=0,fc={},gc=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in fc)fc[a](void 0,!0)}),l.cors=!!gc&&"withCredentials"in gc,gc=l.ajax=!!gc,gc&&n.ajaxTransport(function(b){if(!b.crossDomain||l.cors){var c;return{send:function(d,e){var f,g=b.xhr(),h=++ec;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(f in b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete fc[h],c=void 0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=fc[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function hc(){try{return new a.XMLHttpRequest}catch(b){}}function ic(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var jc=[],kc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=jc.pop()||n.expando+"_"+Eb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(kc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&kc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(kc,"$1"+e):b.jsonp!==!1&&(b.url+=(Fb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,jc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ja([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var lc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&lc)return lc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(g,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function mc(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=mc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var f=mc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){
+return c?(c=Sa(a,b),Oa.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var nc=a.jQuery,oc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=oc),b&&a.jQuery===n&&(a.jQuery=nc),n},b||(a.jQuery=a.$=n),n});
diff --git a/src/views/dicomForm/dicomViewForm.vue b/src/views/dicomForm/dicomViewForm.vue
index 07ce7053..44ee2e9d 100644
--- a/src/views/dicomForm/dicomViewForm.vue
+++ b/src/views/dicomForm/dicomViewForm.vue
@@ -539,7 +539,7 @@ const open = async (
     // 延迟1秒后加载iframe
   setTimeout(() => {
     dataLoaded.value= true; // 确保iframe只在弹窗打开时加载
-  }, 800);
+  }, 500);
   } finally {
     formLoading.value = false
   }
@@ -553,6 +553,7 @@ const iframeData = async () => {
       var localData = {
         regid: '', // 这里的 'someNumber' 应该替换为实际的数值
         orgId: '', // 这里的 'someOrgId' 应该替换为实际的组织ID
+        maxSize:10,
         do: response
       }