cod-dicomweb-server 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/LICENSE +21 -0
  2. package/dist/16.index.js +19 -0
  3. package/dist/16.index.js.map +1 -0
  4. package/dist/170.index.js +19 -0
  5. package/dist/170.index.js.map +1 -0
  6. package/dist/index.js +21 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/types/classes/CodDicomWebServer.d.ts +21 -0
  9. package/dist/types/classes/utils.d.ts +15 -0
  10. package/dist/types/constants/enums.d.ts +17 -0
  11. package/dist/types/constants/index.d.ts +10 -0
  12. package/dist/types/constants/url.d.ts +3 -0
  13. package/dist/types/constants/worker.d.ts +3 -0
  14. package/dist/types/fileManager.d.ts +21 -0
  15. package/dist/types/index.d.ts +8 -0
  16. package/dist/types/metadataManager.d.ts +2 -0
  17. package/dist/types/types/codDicomWebServerOptions.d.ts +6 -0
  18. package/dist/types/types/fileManagerOptions.d.ts +4 -0
  19. package/dist/types/types/index.d.ts +7 -0
  20. package/dist/types/types/metadata.d.ts +61 -0
  21. package/dist/types/types/metadataUrlCreationParams.d.ts +8 -0
  22. package/dist/types/types/parsedWadoRsUrlDetails.d.ts +11 -0
  23. package/dist/types/types/requestOptions.d.ts +12 -0
  24. package/dist/types/types/workerCustomMessageEvents.d.ts +10 -0
  25. package/dist/types/webWorker/registerWorker.d.ts +4 -0
  26. package/dist/types/webWorker/scripts/filePartial.d.ts +7 -0
  27. package/dist/types/webWorker/scripts/fileStreaming.d.ts +12 -0
  28. package/dist/types/webWorker/workerManager.d.ts +10 -0
  29. package/dist/types/webWorker/workers/filePartialWorker.d.ts +1 -0
  30. package/dist/types/webWorker/workers/fileStreamingWorker.d.ts +1 -0
  31. package/package.json +53 -56
  32. package/dist/430.min.js +0 -7
  33. package/dist/663.min.js +0 -7
  34. package/dist/index.html +0 -1
  35. package/dist/main.min.js +0 -9
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2019 Francisco Hodge
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,19 @@
1
+ /*!
2
+ *
3
+ * cod-dicomweb-server v1.1.0
4
+ * git+https://github.com/gradienthealth/cod-dicomweb-server.git
5
+ *
6
+ * Copyright (c) Adithyan Dinesh and project contributors.
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ *
11
+ */
12
+ !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r=e();for(var n in r)("object"==typeof exports?exports:t)[n]=r[n]}}(self,(()=>(()=>{"use strict";
13
+ /**
14
+ * @license
15
+ * Copyright 2019 Google LLC
16
+ * SPDX-License-Identifier: Apache-2.0
17
+ */
18
+ const t=Symbol("Comlink.proxy"),e=Symbol("Comlink.endpoint"),r=Symbol("Comlink.releaseProxy"),n=Symbol("Comlink.finalizer"),o=Symbol("Comlink.thrown"),i=t=>"object"==typeof t&&null!==t||"function"==typeof t,a={canHandle:e=>i(e)&&e[t],serialize(t){const{port1:e,port2:r}=new MessageChannel;return u(t,e),[r,[r]]},deserialize:t=>(t.start(),function(t,e){const r=new Map;return t.addEventListener("message",(function(t){const{data:e}=t;if(!e||!e.id)return;const n=r.get(e.id);if(n)try{n(e)}finally{r.delete(e.id)}})),y(t,r,[],e)}(t))},c=new Map([["proxy",a],["throw",{canHandle:t=>i(t)&&o in t,serialize({value:t}){let e;return e=t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[e,[]]},deserialize(t){if(t.isError)throw Object.assign(new Error(t.value.message),t.value);throw t.value}}]]);function u(e,r=globalThis,i=["*"]){r.addEventListener("message",(function a(c){if(!c||!c.data)return;if(!function(t,e){for(const r of t){if(e===r||"*"===r)return!0;if(r instanceof RegExp&&r.test(e))return!0}return!1}(i,c.origin))return void console.warn(`Invalid origin '${c.origin}' for comlink proxy`);const{id:l,type:f,path:h}=Object.assign({path:[]},c.data),p=(c.data.argumentList||[]).map(m);let y;try{const r=h.slice(0,-1).reduce(((t,e)=>t[e]),e),n=h.reduce(((t,e)=>t[e]),e);switch(f){case"GET":y=n;break;case"SET":r[h.slice(-1)[0]]=m(c.data.value),y=!0;break;case"APPLY":y=n.apply(r,p);break;case"CONSTRUCT":y=function(e){return Object.assign(e,{[t]:!0})}(new n(...p));break;case"ENDPOINT":{const{port1:t,port2:r}=new MessageChannel;u(e,r),y=function(t,e){return d.set(t,e),t}(t,[t])}break;case"RELEASE":y=void 0;break;default:return}}catch(t){y={value:t,[o]:0}}Promise.resolve(y).catch((t=>({value:t,[o]:0}))).then((t=>{const[o,i]=g(t);r.postMessage(Object.assign(Object.assign({},o),{id:l}),i),"RELEASE"===f&&(r.removeEventListener("message",a),s(r),n in e&&"function"==typeof e[n]&&e[n]())})).catch((t=>{const[e,n]=g({value:new TypeError("Unserializable return value"),[o]:0});r.postMessage(Object.assign(Object.assign({},e),{id:l}),n)}))})),r.start&&r.start()}function s(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function l(t){if(t)throw new Error("Proxy has been released and is not useable")}function f(t){return w(t,new Map,{type:"RELEASE"}).then((()=>{s(t)}))}const h=new WeakMap,p="FinalizationRegistry"in globalThis&&new FinalizationRegistry((t=>{const e=(h.get(t)||0)-1;h.set(t,e),0===e&&f(t)}));function y(t,n,o=[],i=function(){}){let a=!1;const c=new Proxy(i,{get(e,i){if(l(a),i===r)return()=>{!function(t){p&&p.unregister(t)}(c),f(t),n.clear(),a=!0};if("then"===i){if(0===o.length)return{then:()=>c};const e=w(t,n,{type:"GET",path:o.map((t=>t.toString()))}).then(m);return e.then.bind(e)}return y(t,n,[...o,i])},set(e,r,i){l(a);const[c,u]=g(i);return w(t,n,{type:"SET",path:[...o,r].map((t=>t.toString())),value:c},u).then(m)},apply(r,i,c){l(a);const u=o[o.length-1];if(u===e)return w(t,n,{type:"ENDPOINT"}).then(m);if("bind"===u)return y(t,n,o.slice(0,-1));const[s,f]=v(c);return w(t,n,{type:"APPLY",path:o.map((t=>t.toString())),argumentList:s},f).then(m)},construct(e,r){l(a);const[i,c]=v(r);return w(t,n,{type:"CONSTRUCT",path:o.map((t=>t.toString())),argumentList:i},c).then(m)}});return function(t,e){const r=(h.get(e)||0)+1;h.set(e,r),p&&p.register(t,e,t)}(c,t),c}function v(t){const e=t.map(g);return[e.map((t=>t[0])),(r=e.map((t=>t[1])),Array.prototype.concat.apply([],r))];var r}const d=new WeakMap;function g(t){for(const[e,r]of c)if(r.canHandle(t)){const[n,o]=r.serialize(t);return[{type:"HANDLER",name:e,value:n},o]}return[{type:"RAW",value:t},d.get(t)||[]]}function m(t){switch(t.type){case"HANDLER":return c.get(t.name).deserialize(t.value);case"RAW":return t.value}}function w(t,e,r,n){return new Promise((o=>{const i=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.set(i,o),t.start&&t.start(),t.postMessage(Object.assign({id:i},r),n)}))}function b(t){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},b(t)}function E(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */E=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof g?e:g,a=Object.create(i.prototype),c=new A(n||[]);return o(a,"_invoke",{value:P(t,r,c)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var h="suspendedStart",p="suspendedYield",y="executing",v="completed",d={};function g(){}function m(){}function w(){}var L={};s(L,a,(function(){return this}));var x=Object.getPrototypeOf,S=x&&x(x(M([])));S&&S!==r&&n.call(S,a)&&(L=S);var j=w.prototype=g.prototype=Object.create(L);function O(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function k(t,e){function r(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==b(l)&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function P(e,r,n){var o=h;return function(i,a){if(o===y)throw Error("Generator is already running");if(o===v){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=T(c,n);if(u){if(u===d)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?v:p,s.arg===d)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=v,n.method="throw",n.arg=s.arg)}}}function T(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,T(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,d;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,d):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,d)}function N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function _(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function M(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}throw new TypeError(b(e)+" is not iterable")}return m.prototype=w,o(j,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:m,configurable:!0}),m.displayName=s(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,s(t,u,"GeneratorFunction")),t.prototype=Object.create(j),t},e.awrap=function(t){return{__await:t}},O(k.prototype),s(k.prototype,c,(function(){return this})),e.AsyncIterator=k,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new k(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},O(j),s(j,u,"Generator"),s(j,a,(function(){return this})),s(j,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=M,A.prototype={constructor:A,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(_),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return c.type="throw",c.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),s=n.call(a,"finallyLoc");if(u&&s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),_(r),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;_(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:M(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),d}},e}function L(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}return u({partial:function(t){return(e=E().mark((function e(){var r,n;return E().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.url,n=t.headers,e.abrupt("return",fetch(r,{headers:n}).then((function(t){return t.arrayBuffer()})).catch((function(t){throw new Error("filePartial.ts: Error when fetching file: "+(null==t?void 0:t.message))})));case 2:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(t){L(i,n,o,a,c,"next",t)}function c(t){L(i,n,o,a,c,"throw",t)}a(void 0)}))})();var e}}),{}})()));
19
+ //# sourceMappingURL=16.index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"16.index.js","mappings":"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","sources":["webpack://cod-dicomweb-server/webpack/universalModuleDefinition","webpack://cod-dicomweb-server/./node_modules/comlink/dist/esm/comlink.mjs","webpack://cod-dicomweb-server/./src/webWorker/scripts/filePartial.ts","webpack://cod-dicomweb-server/./src/webWorker/workers/filePartialWorker.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(self, () => {\nreturn ","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nconst proxyMarker = Symbol(\"Comlink.proxy\");\nconst createEndpoint = Symbol(\"Comlink.endpoint\");\nconst releaseProxy = Symbol(\"Comlink.releaseProxy\");\nconst finalizer = Symbol(\"Comlink.finalizer\");\nconst throwMarker = Symbol(\"Comlink.thrown\");\nconst isObject = (val) => (typeof val === \"object\" && val !== null) || typeof val === \"function\";\n/**\n * Internal transfer handle to handle objects marked to proxy.\n */\nconst proxyTransferHandler = {\n canHandle: (val) => isObject(val) && val[proxyMarker],\n serialize(obj) {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port1);\n return [port2, [port2]];\n },\n deserialize(port) {\n port.start();\n return wrap(port);\n },\n};\n/**\n * Internal transfer handler to handle thrown exceptions.\n */\nconst throwTransferHandler = {\n canHandle: (value) => isObject(value) && throwMarker in value,\n serialize({ value }) {\n let serialized;\n if (value instanceof Error) {\n serialized = {\n isError: true,\n value: {\n message: value.message,\n name: value.name,\n stack: value.stack,\n },\n };\n }\n else {\n serialized = { isError: false, value };\n }\n return [serialized, []];\n },\n deserialize(serialized) {\n if (serialized.isError) {\n throw Object.assign(new Error(serialized.value.message), serialized.value);\n }\n throw serialized.value;\n },\n};\n/**\n * Allows customizing the serialization of certain values.\n */\nconst transferHandlers = new Map([\n [\"proxy\", proxyTransferHandler],\n [\"throw\", throwTransferHandler],\n]);\nfunction isAllowedOrigin(allowedOrigins, origin) {\n for (const allowedOrigin of allowedOrigins) {\n if (origin === allowedOrigin || allowedOrigin === \"*\") {\n return true;\n }\n if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) {\n return true;\n }\n }\n return false;\n}\nfunction expose(obj, ep = globalThis, allowedOrigins = [\"*\"]) {\n ep.addEventListener(\"message\", function callback(ev) {\n if (!ev || !ev.data) {\n return;\n }\n if (!isAllowedOrigin(allowedOrigins, ev.origin)) {\n console.warn(`Invalid origin '${ev.origin}' for comlink proxy`);\n return;\n }\n const { id, type, path } = Object.assign({ path: [] }, ev.data);\n const argumentList = (ev.data.argumentList || []).map(fromWireValue);\n let returnValue;\n try {\n const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj);\n const rawValue = path.reduce((obj, prop) => obj[prop], obj);\n switch (type) {\n case \"GET\" /* MessageType.GET */:\n {\n returnValue = rawValue;\n }\n break;\n case \"SET\" /* MessageType.SET */:\n {\n parent[path.slice(-1)[0]] = fromWireValue(ev.data.value);\n returnValue = true;\n }\n break;\n case \"APPLY\" /* MessageType.APPLY */:\n {\n returnValue = rawValue.apply(parent, argumentList);\n }\n break;\n case \"CONSTRUCT\" /* MessageType.CONSTRUCT */:\n {\n const value = new rawValue(...argumentList);\n returnValue = proxy(value);\n }\n break;\n case \"ENDPOINT\" /* MessageType.ENDPOINT */:\n {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port2);\n returnValue = transfer(port1, [port1]);\n }\n break;\n case \"RELEASE\" /* MessageType.RELEASE */:\n {\n returnValue = undefined;\n }\n break;\n default:\n return;\n }\n }\n catch (value) {\n returnValue = { value, [throwMarker]: 0 };\n }\n Promise.resolve(returnValue)\n .catch((value) => {\n return { value, [throwMarker]: 0 };\n })\n .then((returnValue) => {\n const [wireValue, transferables] = toWireValue(returnValue);\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n if (type === \"RELEASE\" /* MessageType.RELEASE */) {\n // detach and deactive after sending release response above.\n ep.removeEventListener(\"message\", callback);\n closeEndPoint(ep);\n if (finalizer in obj && typeof obj[finalizer] === \"function\") {\n obj[finalizer]();\n }\n }\n })\n .catch((error) => {\n // Send Serialization Error To Caller\n const [wireValue, transferables] = toWireValue({\n value: new TypeError(\"Unserializable return value\"),\n [throwMarker]: 0,\n });\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n });\n });\n if (ep.start) {\n ep.start();\n }\n}\nfunction isMessagePort(endpoint) {\n return endpoint.constructor.name === \"MessagePort\";\n}\nfunction closeEndPoint(endpoint) {\n if (isMessagePort(endpoint))\n endpoint.close();\n}\nfunction wrap(ep, target) {\n const pendingListeners = new Map();\n ep.addEventListener(\"message\", function handleMessage(ev) {\n const { data } = ev;\n if (!data || !data.id) {\n return;\n }\n const resolver = pendingListeners.get(data.id);\n if (!resolver) {\n return;\n }\n try {\n resolver(data);\n }\n finally {\n pendingListeners.delete(data.id);\n }\n });\n return createProxy(ep, pendingListeners, [], target);\n}\nfunction throwIfProxyReleased(isReleased) {\n if (isReleased) {\n throw new Error(\"Proxy has been released and is not useable\");\n }\n}\nfunction releaseEndpoint(ep) {\n return requestResponseMessage(ep, new Map(), {\n type: \"RELEASE\" /* MessageType.RELEASE */,\n }).then(() => {\n closeEndPoint(ep);\n });\n}\nconst proxyCounter = new WeakMap();\nconst proxyFinalizers = \"FinalizationRegistry\" in globalThis &&\n new FinalizationRegistry((ep) => {\n const newCount = (proxyCounter.get(ep) || 0) - 1;\n proxyCounter.set(ep, newCount);\n if (newCount === 0) {\n releaseEndpoint(ep);\n }\n });\nfunction registerProxy(proxy, ep) {\n const newCount = (proxyCounter.get(ep) || 0) + 1;\n proxyCounter.set(ep, newCount);\n if (proxyFinalizers) {\n proxyFinalizers.register(proxy, ep, proxy);\n }\n}\nfunction unregisterProxy(proxy) {\n if (proxyFinalizers) {\n proxyFinalizers.unregister(proxy);\n }\n}\nfunction createProxy(ep, pendingListeners, path = [], target = function () { }) {\n let isProxyReleased = false;\n const proxy = new Proxy(target, {\n get(_target, prop) {\n throwIfProxyReleased(isProxyReleased);\n if (prop === releaseProxy) {\n return () => {\n unregisterProxy(proxy);\n releaseEndpoint(ep);\n pendingListeners.clear();\n isProxyReleased = true;\n };\n }\n if (prop === \"then\") {\n if (path.length === 0) {\n return { then: () => proxy };\n }\n const r = requestResponseMessage(ep, pendingListeners, {\n type: \"GET\" /* MessageType.GET */,\n path: path.map((p) => p.toString()),\n }).then(fromWireValue);\n return r.then.bind(r);\n }\n return createProxy(ep, pendingListeners, [...path, prop]);\n },\n set(_target, prop, rawValue) {\n throwIfProxyReleased(isProxyReleased);\n // FIXME: ES6 Proxy Handler `set` methods are supposed to return a\n // boolean. To show good will, we return true asynchronously ¯\\_(ツ)_/¯\n const [value, transferables] = toWireValue(rawValue);\n return requestResponseMessage(ep, pendingListeners, {\n type: \"SET\" /* MessageType.SET */,\n path: [...path, prop].map((p) => p.toString()),\n value,\n }, transferables).then(fromWireValue);\n },\n apply(_target, _thisArg, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const last = path[path.length - 1];\n if (last === createEndpoint) {\n return requestResponseMessage(ep, pendingListeners, {\n type: \"ENDPOINT\" /* MessageType.ENDPOINT */,\n }).then(fromWireValue);\n }\n // We just pretend that `bind()` didn’t happen.\n if (last === \"bind\") {\n return createProxy(ep, pendingListeners, path.slice(0, -1));\n }\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, pendingListeners, {\n type: \"APPLY\" /* MessageType.APPLY */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n construct(_target, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, pendingListeners, {\n type: \"CONSTRUCT\" /* MessageType.CONSTRUCT */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n });\n registerProxy(proxy, ep);\n return proxy;\n}\nfunction myFlat(arr) {\n return Array.prototype.concat.apply([], arr);\n}\nfunction processArguments(argumentList) {\n const processed = argumentList.map(toWireValue);\n return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))];\n}\nconst transferCache = new WeakMap();\nfunction transfer(obj, transfers) {\n transferCache.set(obj, transfers);\n return obj;\n}\nfunction proxy(obj) {\n return Object.assign(obj, { [proxyMarker]: true });\n}\nfunction windowEndpoint(w, context = globalThis, targetOrigin = \"*\") {\n return {\n postMessage: (msg, transferables) => w.postMessage(msg, targetOrigin, transferables),\n addEventListener: context.addEventListener.bind(context),\n removeEventListener: context.removeEventListener.bind(context),\n };\n}\nfunction toWireValue(value) {\n for (const [name, handler] of transferHandlers) {\n if (handler.canHandle(value)) {\n const [serializedValue, transferables] = handler.serialize(value);\n return [\n {\n type: \"HANDLER\" /* WireValueType.HANDLER */,\n name,\n value: serializedValue,\n },\n transferables,\n ];\n }\n }\n return [\n {\n type: \"RAW\" /* WireValueType.RAW */,\n value,\n },\n transferCache.get(value) || [],\n ];\n}\nfunction fromWireValue(value) {\n switch (value.type) {\n case \"HANDLER\" /* WireValueType.HANDLER */:\n return transferHandlers.get(value.name).deserialize(value.value);\n case \"RAW\" /* WireValueType.RAW */:\n return value.value;\n }\n}\nfunction requestResponseMessage(ep, pendingListeners, msg, transfers) {\n return new Promise((resolve) => {\n const id = generateUUID();\n pendingListeners.set(id, resolve);\n if (ep.start) {\n ep.start();\n }\n ep.postMessage(Object.assign({ id }, msg), transfers);\n });\n}\nfunction generateUUID() {\n return new Array(4)\n .fill(0)\n .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16))\n .join(\"-\");\n}\n\nexport { createEndpoint, expose, finalizer, proxy, proxyMarker, releaseProxy, transfer, transferHandlers, windowEndpoint, wrap };\n//# sourceMappingURL=comlink.mjs.map\n","const filePartial = {\n async partial(args: { url: string; headers?: Record<string, string> }): Promise<ArrayBufferLike | Error> {\n const { url, headers } = args;\n\n return fetch(url, { headers })\n .then((response) => response.arrayBuffer())\n .catch((error) => {\n throw new Error('filePartial.ts: Error when fetching file: ' + error?.message);\n });\n }\n};\n\nexport default filePartial;\n","import { expose } from 'comlink';\nimport filePartial from '../scripts/filePartial';\n\nexpose(filePartial);\n"],"names":["root","factory","exports","module","define","amd","a","i","self","proxyMarker","Symbol","createEndpoint","releaseProxy","finalizer","throwMarker","isObject","val","proxyTransferHandler","canHandle","serialize","obj","port1","port2","MessageChannel","expose","deserialize","port","start","ep","target","pendingListeners","Map","addEventListener","ev","data","id","resolver","get","delete","createProxy","wrap","transferHandlers","value","serialized","Error","isError","message","name","stack","Object","assign","globalThis","allowedOrigins","callback","origin","allowedOrigin","RegExp","test","isAllowedOrigin","console","warn","type","path","argumentList","map","fromWireValue","returnValue","parent","slice","reduce","prop","rawValue","apply","proxy","transfers","transferCache","set","transfer","undefined","Promise","resolve","catch","then","wireValue","transferables","toWireValue","postMessage","removeEventListener","closeEndPoint","error","TypeError","endpoint","constructor","isMessagePort","close","throwIfProxyReleased","isReleased","releaseEndpoint","requestResponseMessage","proxyCounter","WeakMap","proxyFinalizers","FinalizationRegistry","newCount","isProxyReleased","Proxy","_target","unregister","unregisterProxy","clear","length","r","p","toString","bind","_thisArg","rawArgumentList","last","processArguments","construct","register","registerProxy","processed","v","arr","Array","prototype","concat","handler","serializedValue","msg","fill","Math","floor","random","Number","MAX_SAFE_INTEGER","join","_regeneratorRuntime","e","t","n","hasOwnProperty","o","defineProperty","iterator","c","asyncIterator","u","toStringTag","enumerable","configurable","writable","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","d","getPrototypeOf","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","__await","callInvokeWithMethodAndArg","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","async","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","partial","args","_callee","url","headers","_context","fetch","response","arrayBuffer","arguments","_next","_throw"],"sourceRoot":""}
@@ -0,0 +1,19 @@
1
+ /*!
2
+ *
3
+ * cod-dicomweb-server v1.1.0
4
+ * git+https://github.com/gradienthealth/cod-dicomweb-server.git
5
+ *
6
+ * Copyright (c) Adithyan Dinesh and project contributors.
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ *
11
+ */
12
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(self,(()=>(()=>{"use strict";
13
+ /**
14
+ * @license
15
+ * Copyright 2019 Google LLC
16
+ * SPDX-License-Identifier: Apache-2.0
17
+ */
18
+ const e=Symbol("Comlink.proxy"),t=Symbol("Comlink.endpoint"),r=Symbol("Comlink.releaseProxy"),n=Symbol("Comlink.finalizer"),o=Symbol("Comlink.thrown"),i=e=>"object"==typeof e&&null!==e||"function"==typeof e,a={canHandle:t=>i(t)&&t[e],serialize(e){const{port1:t,port2:r}=new MessageChannel;return s(e,t),[r,[r]]},deserialize:e=>(e.start(),function(e,t){const r=new Map;return e.addEventListener("message",(function(e){const{data:t}=e;if(!t||!t.id)return;const n=r.get(t.id);if(n)try{n(t)}finally{r.delete(t.id)}})),y(e,r,[],t)}(e))},c=new Map([["proxy",a],["throw",{canHandle:e=>i(e)&&o in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function s(t,r=globalThis,i=["*"]){r.addEventListener("message",(function a(c){if(!c||!c.data)return;if(!function(e,t){for(const r of e){if(t===r||"*"===r)return!0;if(r instanceof RegExp&&r.test(t))return!0}return!1}(i,c.origin))return void console.warn(`Invalid origin '${c.origin}' for comlink proxy`);const{id:l,type:f,path:h}=Object.assign({path:[]},c.data),p=(c.data.argumentList||[]).map(m);let y;try{const r=h.slice(0,-1).reduce(((e,t)=>e[t]),t),n=h.reduce(((e,t)=>e[t]),t);switch(f){case"GET":y=n;break;case"SET":r[h.slice(-1)[0]]=m(c.data.value),y=!0;break;case"APPLY":y=n.apply(r,p);break;case"CONSTRUCT":y=function(t){return Object.assign(t,{[e]:!0})}(new n(...p));break;case"ENDPOINT":{const{port1:e,port2:r}=new MessageChannel;s(t,r),y=function(e,t){return v.set(e,t),e}(e,[e])}break;case"RELEASE":y=void 0;break;default:return}}catch(e){y={value:e,[o]:0}}Promise.resolve(y).catch((e=>({value:e,[o]:0}))).then((e=>{const[o,i]=g(e);r.postMessage(Object.assign(Object.assign({},o),{id:l}),i),"RELEASE"===f&&(r.removeEventListener("message",a),u(r),n in t&&"function"==typeof t[n]&&t[n]())})).catch((e=>{const[t,n]=g({value:new TypeError("Unserializable return value"),[o]:0});r.postMessage(Object.assign(Object.assign({},t),{id:l}),n)}))})),r.start&&r.start()}function u(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function l(e){if(e)throw new Error("Proxy has been released and is not useable")}function f(e){return b(e,new Map,{type:"RELEASE"}).then((()=>{u(e)}))}const h=new WeakMap,p="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(h.get(e)||0)-1;h.set(e,t),0===t&&f(e)}));function y(e,n,o=[],i=function(){}){let a=!1;const c=new Proxy(i,{get(t,i){if(l(a),i===r)return()=>{!function(e){p&&p.unregister(e)}(c),f(e),n.clear(),a=!0};if("then"===i){if(0===o.length)return{then:()=>c};const t=b(e,n,{type:"GET",path:o.map((e=>e.toString()))}).then(m);return t.then.bind(t)}return y(e,n,[...o,i])},set(t,r,i){l(a);const[c,s]=g(i);return b(e,n,{type:"SET",path:[...o,r].map((e=>e.toString())),value:c},s).then(m)},apply(r,i,c){l(a);const s=o[o.length-1];if(s===t)return b(e,n,{type:"ENDPOINT"}).then(m);if("bind"===s)return y(e,n,o.slice(0,-1));const[u,f]=d(c);return b(e,n,{type:"APPLY",path:o.map((e=>e.toString())),argumentList:u},f).then(m)},construct(t,r){l(a);const[i,c]=d(r);return b(e,n,{type:"CONSTRUCT",path:o.map((e=>e.toString())),argumentList:i},c).then(m)}});return function(e,t){const r=(h.get(t)||0)+1;h.set(t,r),p&&p.register(e,t,e)}(c,e),c}function d(e){const t=e.map(g);return[t.map((e=>e[0])),(r=t.map((e=>e[1])),Array.prototype.concat.apply([],r))];var r}const v=new WeakMap;function g(e){for(const[t,r]of c)if(r.canHandle(e)){const[n,o]=r.serialize(e);return[{type:"HANDLER",name:t,value:n},o]}return[{type:"RAW",value:e},v.get(e)||[]]}function m(e){switch(e.type){case"HANDLER":return c.get(e.name).deserialize(e.value);case"RAW":return e.value}}function b(e,t,r,n){return new Promise((o=>{const i=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.set(i,o),e.start&&e.start(),e.postMessage(Object.assign({id:i},r),n)}))}function w(e){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w(e)}function E(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */E=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var i=t&&t.prototype instanceof g?t:g,a=Object.create(i.prototype),c=new F(n||[]);return o(a,"_invoke",{value:P(e,r,c)}),a}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var h="suspendedStart",p="suspendedYield",y="executing",d="completed",v={};function g(){}function m(){}function b(){}var x={};u(x,a,(function(){return this}));var S=Object.getPrototypeOf,O=S&&S(S(M([])));O&&O!==r&&n.call(O,a)&&(x=O);var L=b.prototype=g.prototype=Object.create(x);function j(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function r(o,i,a,c){var s=f(e[o],e,i);if("throw"!==s.type){var u=s.arg,l=u.value;return l&&"object"==w(l)&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){r("next",e,a,c)}),(function(e){r("throw",e,a,c)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return r("throw",e,a,c)}))}c(s.arg)}var i;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return i=i?i.then(o,o):o()}})}function P(t,r,n){var o=h;return function(i,a){if(o===y)throw Error("Generator is already running");if(o===d){if("throw"===i)throw a;return{value:e,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var s=z(c,n);if(s){if(s===v)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var u=f(t,r,n);if("normal"===u.type){if(o=n.done?d:p,u.arg===v)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=d,n.method="throw",n.arg=u.arg)}}}function z(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,z(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var i=f(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,v;var a=i.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function M(t){if(t||""===t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(w(t)+" is not iterable")}return m.prototype=b,o(L,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:m,configurable:!0}),m.displayName=u(b,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,s,"GeneratorFunction")),e.prototype=Object.create(L),e},t.awrap=function(e){return{__await:e}},j(k.prototype),u(k.prototype,c,(function(){return this})),t.AsyncIterator=k,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new k(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},j(L),u(L,s,"Generator"),u(L,a,(function(){return this})),u(L,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=M,F.prototype={constructor:F,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(A),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return c.type="throw",c.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(s&&u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),A(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:M(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}function x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?x(Object(r),!0).forEach((function(t){O(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):x(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function O(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=w(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=w(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==w(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function L(e,t,r,n,o,i,a){try{var c=e[i](a),s=c.value}catch(e){return void r(e)}c.done?t(s):Promise.resolve(s).then(n,o)}return s({maxFetchSize:0,fetchedSize:0,setMaxFetchSize:function(e){e>0&&(this.maxFetchSize=e)},decreaseFetchedSize:function(e){e>0&&e<=this.fetchedSize&&(this.fetchedSize-=e)},stream:function(e){var t,r=this;return(t=E().mark((function t(){var n,o,i,a,c,s,u,l,f,h,p,y,d,v,g,m;return E().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.url,o=e.headers,i=e.useSharedArrayBuffer,a=new AbortController,c=null,s=null,t.prev=4,t.next=7,fetch(n,{headers:S({},o),signal:a.signal});case 7:if((l=t.sent).ok){t.next=10;break}throw new Error("HTTP error! status: ".concat(l.status));case 10:if(f=null===(u=l.body)||void 0===u?void 0:u.getReader()){t.next=13;break}throw new Error("Failed to get reader from response body");case 13:return p=!1,y=parseInt(l.headers.get("Content-Length")||"0",10),t.next=17,f.read();case 17:if(d=t.sent,p=d.done,d.value){t.next=21;break}throw new Error("The fetched chunks does not have value");case 21:if(p){t.next=49;break}if(v=d.value.length,!(r.maxFetchSize&&r.fetchedSize+v>r.maxFetchSize)){t.next=26;break}throw a.abort(),new Error("Maximum size(".concat(r.maxFetchSize,") for fetching files reached"));case 26:r.fetchedSize+=v,i?(c=new SharedArrayBuffer(y),s=new Uint8Array(c)):s=new Uint8Array(y),s.set(d.value),postMessage({url:n,position:v,fileArraybuffer:s});case 30:if(p){t.next=49;break}return t.next=33,f.read();case 33:if(!(h=t.sent).done){t.next=37;break}return p=!0,t.abrupt("continue",30);case 37:if(g=h.value,!(r.maxFetchSize&&r.fetchedSize+g.length>r.maxFetchSize)){t.next=43;break}throw c=null,s=null,a.abort(),new Error("Maximum size(".concat(r.maxFetchSize,") for fetching files reached"));case 43:r.fetchedSize+=g.length,s.set(g,v),v+=g.length,postMessage({isAppending:!0,url:n,position:v,chunk:i?null:g}),t.next=30;break;case 49:t.next=56;break;case 51:throw t.prev=51,t.t0=t.catch(4),m=new Error("fileStreaming.ts: "+t.t0.message||0),console.error(m.message,t.t0),m;case 56:return t.prev=56,c=null,s=null,a.abort(),t.finish(56);case 61:case"end":return t.stop()}}),t,null,[[4,51,56,61]])})),function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(e){L(i,n,o,a,c,"next",e)}function c(e){L(i,n,o,a,c,"throw",e)}a(void 0)}))})()}}),{}})()));
19
+ //# sourceMappingURL=170.index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"170.index.js","mappings":"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","sources":["webpack://cod-dicomweb-server/webpack/universalModuleDefinition","webpack://cod-dicomweb-server/./node_modules/comlink/dist/esm/comlink.mjs","webpack://cod-dicomweb-server/./src/webWorker/scripts/fileStreaming.ts","webpack://cod-dicomweb-server/./src/webWorker/workers/fileStreamingWorker.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(self, () => {\nreturn ","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nconst proxyMarker = Symbol(\"Comlink.proxy\");\nconst createEndpoint = Symbol(\"Comlink.endpoint\");\nconst releaseProxy = Symbol(\"Comlink.releaseProxy\");\nconst finalizer = Symbol(\"Comlink.finalizer\");\nconst throwMarker = Symbol(\"Comlink.thrown\");\nconst isObject = (val) => (typeof val === \"object\" && val !== null) || typeof val === \"function\";\n/**\n * Internal transfer handle to handle objects marked to proxy.\n */\nconst proxyTransferHandler = {\n canHandle: (val) => isObject(val) && val[proxyMarker],\n serialize(obj) {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port1);\n return [port2, [port2]];\n },\n deserialize(port) {\n port.start();\n return wrap(port);\n },\n};\n/**\n * Internal transfer handler to handle thrown exceptions.\n */\nconst throwTransferHandler = {\n canHandle: (value) => isObject(value) && throwMarker in value,\n serialize({ value }) {\n let serialized;\n if (value instanceof Error) {\n serialized = {\n isError: true,\n value: {\n message: value.message,\n name: value.name,\n stack: value.stack,\n },\n };\n }\n else {\n serialized = { isError: false, value };\n }\n return [serialized, []];\n },\n deserialize(serialized) {\n if (serialized.isError) {\n throw Object.assign(new Error(serialized.value.message), serialized.value);\n }\n throw serialized.value;\n },\n};\n/**\n * Allows customizing the serialization of certain values.\n */\nconst transferHandlers = new Map([\n [\"proxy\", proxyTransferHandler],\n [\"throw\", throwTransferHandler],\n]);\nfunction isAllowedOrigin(allowedOrigins, origin) {\n for (const allowedOrigin of allowedOrigins) {\n if (origin === allowedOrigin || allowedOrigin === \"*\") {\n return true;\n }\n if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) {\n return true;\n }\n }\n return false;\n}\nfunction expose(obj, ep = globalThis, allowedOrigins = [\"*\"]) {\n ep.addEventListener(\"message\", function callback(ev) {\n if (!ev || !ev.data) {\n return;\n }\n if (!isAllowedOrigin(allowedOrigins, ev.origin)) {\n console.warn(`Invalid origin '${ev.origin}' for comlink proxy`);\n return;\n }\n const { id, type, path } = Object.assign({ path: [] }, ev.data);\n const argumentList = (ev.data.argumentList || []).map(fromWireValue);\n let returnValue;\n try {\n const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj);\n const rawValue = path.reduce((obj, prop) => obj[prop], obj);\n switch (type) {\n case \"GET\" /* MessageType.GET */:\n {\n returnValue = rawValue;\n }\n break;\n case \"SET\" /* MessageType.SET */:\n {\n parent[path.slice(-1)[0]] = fromWireValue(ev.data.value);\n returnValue = true;\n }\n break;\n case \"APPLY\" /* MessageType.APPLY */:\n {\n returnValue = rawValue.apply(parent, argumentList);\n }\n break;\n case \"CONSTRUCT\" /* MessageType.CONSTRUCT */:\n {\n const value = new rawValue(...argumentList);\n returnValue = proxy(value);\n }\n break;\n case \"ENDPOINT\" /* MessageType.ENDPOINT */:\n {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port2);\n returnValue = transfer(port1, [port1]);\n }\n break;\n case \"RELEASE\" /* MessageType.RELEASE */:\n {\n returnValue = undefined;\n }\n break;\n default:\n return;\n }\n }\n catch (value) {\n returnValue = { value, [throwMarker]: 0 };\n }\n Promise.resolve(returnValue)\n .catch((value) => {\n return { value, [throwMarker]: 0 };\n })\n .then((returnValue) => {\n const [wireValue, transferables] = toWireValue(returnValue);\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n if (type === \"RELEASE\" /* MessageType.RELEASE */) {\n // detach and deactive after sending release response above.\n ep.removeEventListener(\"message\", callback);\n closeEndPoint(ep);\n if (finalizer in obj && typeof obj[finalizer] === \"function\") {\n obj[finalizer]();\n }\n }\n })\n .catch((error) => {\n // Send Serialization Error To Caller\n const [wireValue, transferables] = toWireValue({\n value: new TypeError(\"Unserializable return value\"),\n [throwMarker]: 0,\n });\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n });\n });\n if (ep.start) {\n ep.start();\n }\n}\nfunction isMessagePort(endpoint) {\n return endpoint.constructor.name === \"MessagePort\";\n}\nfunction closeEndPoint(endpoint) {\n if (isMessagePort(endpoint))\n endpoint.close();\n}\nfunction wrap(ep, target) {\n const pendingListeners = new Map();\n ep.addEventListener(\"message\", function handleMessage(ev) {\n const { data } = ev;\n if (!data || !data.id) {\n return;\n }\n const resolver = pendingListeners.get(data.id);\n if (!resolver) {\n return;\n }\n try {\n resolver(data);\n }\n finally {\n pendingListeners.delete(data.id);\n }\n });\n return createProxy(ep, pendingListeners, [], target);\n}\nfunction throwIfProxyReleased(isReleased) {\n if (isReleased) {\n throw new Error(\"Proxy has been released and is not useable\");\n }\n}\nfunction releaseEndpoint(ep) {\n return requestResponseMessage(ep, new Map(), {\n type: \"RELEASE\" /* MessageType.RELEASE */,\n }).then(() => {\n closeEndPoint(ep);\n });\n}\nconst proxyCounter = new WeakMap();\nconst proxyFinalizers = \"FinalizationRegistry\" in globalThis &&\n new FinalizationRegistry((ep) => {\n const newCount = (proxyCounter.get(ep) || 0) - 1;\n proxyCounter.set(ep, newCount);\n if (newCount === 0) {\n releaseEndpoint(ep);\n }\n });\nfunction registerProxy(proxy, ep) {\n const newCount = (proxyCounter.get(ep) || 0) + 1;\n proxyCounter.set(ep, newCount);\n if (proxyFinalizers) {\n proxyFinalizers.register(proxy, ep, proxy);\n }\n}\nfunction unregisterProxy(proxy) {\n if (proxyFinalizers) {\n proxyFinalizers.unregister(proxy);\n }\n}\nfunction createProxy(ep, pendingListeners, path = [], target = function () { }) {\n let isProxyReleased = false;\n const proxy = new Proxy(target, {\n get(_target, prop) {\n throwIfProxyReleased(isProxyReleased);\n if (prop === releaseProxy) {\n return () => {\n unregisterProxy(proxy);\n releaseEndpoint(ep);\n pendingListeners.clear();\n isProxyReleased = true;\n };\n }\n if (prop === \"then\") {\n if (path.length === 0) {\n return { then: () => proxy };\n }\n const r = requestResponseMessage(ep, pendingListeners, {\n type: \"GET\" /* MessageType.GET */,\n path: path.map((p) => p.toString()),\n }).then(fromWireValue);\n return r.then.bind(r);\n }\n return createProxy(ep, pendingListeners, [...path, prop]);\n },\n set(_target, prop, rawValue) {\n throwIfProxyReleased(isProxyReleased);\n // FIXME: ES6 Proxy Handler `set` methods are supposed to return a\n // boolean. To show good will, we return true asynchronously ¯\\_(ツ)_/¯\n const [value, transferables] = toWireValue(rawValue);\n return requestResponseMessage(ep, pendingListeners, {\n type: \"SET\" /* MessageType.SET */,\n path: [...path, prop].map((p) => p.toString()),\n value,\n }, transferables).then(fromWireValue);\n },\n apply(_target, _thisArg, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const last = path[path.length - 1];\n if (last === createEndpoint) {\n return requestResponseMessage(ep, pendingListeners, {\n type: \"ENDPOINT\" /* MessageType.ENDPOINT */,\n }).then(fromWireValue);\n }\n // We just pretend that `bind()` didn’t happen.\n if (last === \"bind\") {\n return createProxy(ep, pendingListeners, path.slice(0, -1));\n }\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, pendingListeners, {\n type: \"APPLY\" /* MessageType.APPLY */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n construct(_target, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, pendingListeners, {\n type: \"CONSTRUCT\" /* MessageType.CONSTRUCT */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n });\n registerProxy(proxy, ep);\n return proxy;\n}\nfunction myFlat(arr) {\n return Array.prototype.concat.apply([], arr);\n}\nfunction processArguments(argumentList) {\n const processed = argumentList.map(toWireValue);\n return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))];\n}\nconst transferCache = new WeakMap();\nfunction transfer(obj, transfers) {\n transferCache.set(obj, transfers);\n return obj;\n}\nfunction proxy(obj) {\n return Object.assign(obj, { [proxyMarker]: true });\n}\nfunction windowEndpoint(w, context = globalThis, targetOrigin = \"*\") {\n return {\n postMessage: (msg, transferables) => w.postMessage(msg, targetOrigin, transferables),\n addEventListener: context.addEventListener.bind(context),\n removeEventListener: context.removeEventListener.bind(context),\n };\n}\nfunction toWireValue(value) {\n for (const [name, handler] of transferHandlers) {\n if (handler.canHandle(value)) {\n const [serializedValue, transferables] = handler.serialize(value);\n return [\n {\n type: \"HANDLER\" /* WireValueType.HANDLER */,\n name,\n value: serializedValue,\n },\n transferables,\n ];\n }\n }\n return [\n {\n type: \"RAW\" /* WireValueType.RAW */,\n value,\n },\n transferCache.get(value) || [],\n ];\n}\nfunction fromWireValue(value) {\n switch (value.type) {\n case \"HANDLER\" /* WireValueType.HANDLER */:\n return transferHandlers.get(value.name).deserialize(value.value);\n case \"RAW\" /* WireValueType.RAW */:\n return value.value;\n }\n}\nfunction requestResponseMessage(ep, pendingListeners, msg, transfers) {\n return new Promise((resolve) => {\n const id = generateUUID();\n pendingListeners.set(id, resolve);\n if (ep.start) {\n ep.start();\n }\n ep.postMessage(Object.assign({ id }, msg), transfers);\n });\n}\nfunction generateUUID() {\n return new Array(4)\n .fill(0)\n .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16))\n .join(\"-\");\n}\n\nexport { createEndpoint, expose, finalizer, proxy, proxyMarker, releaseProxy, transfer, transferHandlers, windowEndpoint, wrap };\n//# sourceMappingURL=comlink.mjs.map\n","const fileStreaming = {\n maxFetchSize: 0,\n fetchedSize: 0,\n\n setMaxFetchSize(size: number): void {\n if (size > 0) {\n this.maxFetchSize = size;\n }\n },\n\n decreaseFetchedSize(size: number): void {\n if (size > 0 && size <= this.fetchedSize) {\n this.fetchedSize -= size;\n }\n },\n\n async stream(args: { url: string; headers?: Record<string, string>; useSharedArrayBuffer?: boolean }): Promise<void> {\n const { url, headers, useSharedArrayBuffer } = args;\n const controller = new AbortController();\n let sharedArraybuffer: SharedArrayBuffer | null = null;\n let fileArraybuffer: Uint8Array | null = null;\n\n try {\n const response = await fetch(url, {\n headers: { ...headers },\n signal: controller.signal\n });\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n const reader = response.body?.getReader();\n if (!reader) {\n throw new Error('Failed to get reader from response body');\n }\n\n let result: ReadableStreamReadResult<Uint8Array>;\n let completed = false;\n const totalLength = parseInt(response.headers.get('Content-Length') || '0', 10);\n const firstChunk = await reader.read();\n completed = firstChunk.done;\n\n if (!firstChunk.value) {\n throw new Error('The fetched chunks does not have value');\n }\n\n if (!completed) {\n let position = firstChunk.value.length;\n\n if (this.maxFetchSize && this.fetchedSize + position > this.maxFetchSize) {\n controller.abort();\n throw new Error(`Maximum size(${this.maxFetchSize}) for fetching files reached`);\n }\n\n this.fetchedSize += position;\n\n if (useSharedArrayBuffer) {\n sharedArraybuffer = new SharedArrayBuffer(totalLength);\n fileArraybuffer = new Uint8Array(sharedArraybuffer);\n } else {\n fileArraybuffer = new Uint8Array(totalLength);\n }\n fileArraybuffer.set(firstChunk.value);\n postMessage({ url, position, fileArraybuffer });\n\n while (!completed) {\n result = await reader.read();\n\n if (result.done) {\n completed = true;\n continue;\n }\n\n const chunk = result.value;\n\n if (this.maxFetchSize && this.fetchedSize + chunk.length > this.maxFetchSize) {\n sharedArraybuffer = null;\n fileArraybuffer = null;\n controller.abort();\n throw new Error(`Maximum size(${this.maxFetchSize}) for fetching files reached`);\n }\n\n this.fetchedSize += chunk.length;\n fileArraybuffer.set(chunk, position);\n position += chunk.length;\n\n postMessage({\n isAppending: true,\n url,\n position: position,\n chunk: !useSharedArrayBuffer ? chunk : null\n });\n }\n }\n } catch (error) {\n const streamingError = new Error('fileStreaming.ts: ' + (error as Error).message || 'An error occured when streaming');\n console.error(streamingError.message, error);\n throw streamingError;\n } finally {\n sharedArraybuffer = null;\n fileArraybuffer = null;\n controller.abort();\n }\n }\n};\n\nexport default fileStreaming;\n","import { expose } from 'comlink';\nimport fileStreaming from '../scripts/fileStreaming';\n\nexpose(fileStreaming);\n"],"names":["root","factory","exports","module","define","amd","a","i","self","proxyMarker","Symbol","createEndpoint","releaseProxy","finalizer","throwMarker","isObject","val","proxyTransferHandler","canHandle","serialize","obj","port1","port2","MessageChannel","expose","deserialize","port","start","ep","target","pendingListeners","Map","addEventListener","ev","data","id","resolver","get","delete","createProxy","wrap","transferHandlers","value","serialized","Error","isError","message","name","stack","Object","assign","globalThis","allowedOrigins","callback","origin","allowedOrigin","RegExp","test","isAllowedOrigin","console","warn","type","path","argumentList","map","fromWireValue","returnValue","parent","slice","reduce","prop","rawValue","apply","proxy","transfers","transferCache","set","transfer","undefined","Promise","resolve","catch","then","wireValue","transferables","toWireValue","postMessage","removeEventListener","closeEndPoint","error","TypeError","endpoint","constructor","isMessagePort","close","throwIfProxyReleased","isReleased","releaseEndpoint","requestResponseMessage","proxyCounter","WeakMap","proxyFinalizers","FinalizationRegistry","newCount","isProxyReleased","Proxy","_target","unregister","unregisterProxy","clear","length","r","p","toString","bind","_thisArg","rawArgumentList","last","processArguments","construct","register","registerProxy","processed","v","arr","Array","prototype","concat","handler","serializedValue","msg","fill","Math","floor","random","Number","MAX_SAFE_INTEGER","join","_regeneratorRuntime","e","t","n","hasOwnProperty","o","defineProperty","iterator","c","asyncIterator","u","toStringTag","enumerable","configurable","writable","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","d","getPrototypeOf","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","__await","callInvokeWithMethodAndArg","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","async","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","toPrimitive","String","_toPrimitive","_toPropertyKey","asyncGeneratorStep","maxFetchSize","fetchedSize","setMaxFetchSize","size","this","decreaseFetchedSize","stream","args","_this","_callee","url","headers","useSharedArrayBuffer","controller","sharedArraybuffer","fileArraybuffer","_response$body","response","reader","result","completed","totalLength","firstChunk","position","chunk","streamingError","_context","AbortController","fetch","signal","ok","status","body","getReader","parseInt","read","abort","SharedArrayBuffer","Uint8Array","isAppending","t0","_next","_throw"],"sourceRoot":""}
package/dist/index.js ADDED
@@ -0,0 +1,21 @@
1
+ /*!
2
+ *
3
+ * cod-dicomweb-server v1.1.0
4
+ * git+https://github.com/gradienthealth/cod-dicomweb-server.git
5
+ *
6
+ * Copyright (c) Adithyan Dinesh and project contributors.
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ *
11
+ */
12
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(self,(()=>(()=>{var e={915:function(e,t,r){
13
+ /*! dicom-parser - 1.8.12 - 2023-02-20 | (c) 2017 Chris Hafey | https://github.com/cornerstonejs/dicomParser */
14
+ e.exports=function(e){return r=[function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t),r.d(t,"isStringVr",(function(){return a})),r.d(t,"isPrivateTag",(function(){return i})),r.d(t,"parsePN",(function(){return o})),r.d(t,"parseTM",(function(){return s})),r.d(t,"parseDA",(function(){return u})),r.d(t,"explicitElementToString",(function(){return f})),r.d(t,"explicitDataSetToJS",(function(){return l})),r.d(t,"createJPEGBasicOffsetTable",(function(){return p})),r.d(t,"parseDicomDataSetExplicit",(function(){return F})),r.d(t,"parseDicomDataSetImplicit",(function(){return U})),r.d(t,"readFixedString",(function(){return v})),r.d(t,"alloc",(function(){return N})),r.d(t,"version",(function(){return _})),r.d(t,"bigEndianByteArrayParser",(function(){return j})),r.d(t,"ByteStream",(function(){return R})),r.d(t,"sharedCopy",(function(){return B})),r.d(t,"DataSet",(function(){return E})),r.d(t,"findAndSetUNElementLength",(function(){return g})),r.d(t,"findEndOfEncapsulatedElement",(function(){return y})),r.d(t,"findItemDelimitationItemAndSetElementLength",(function(){return x})),r.d(t,"littleEndianByteArrayParser",(function(){return q})),r.d(t,"parseDicom",(function(){return C})),r.d(t,"readDicomElementExplicit",(function(){return D})),r.d(t,"readDicomElementImplicit",(function(){return S})),r.d(t,"readEncapsulatedImageFrame",(function(){return V})),r.d(t,"readEncapsulatedPixelData",(function(){return $})),r.d(t,"readEncapsulatedPixelDataFromFragments",(function(){return H})),r.d(t,"readPart10Header",(function(){return G})),r.d(t,"readSequenceItemsExplicit",(function(){return T})),r.d(t,"readSequenceItemsImplicit",(function(){return I})),r.d(t,"readSequenceItem",(function(){return A})),r.d(t,"readTag",(function(){return m}));var n={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},a=function(e){return n[e]},i=function(e){if(e=parseInt(e[4],16),isNaN(e))throw"dicomParser.isPrivateTag: cannot parse last character of group";return e%2==1},o=function(e){if(void 0!==e)return{familyName:(e=e.split("^"))[0],givenName:e[1],middleName:e[2],prefix:e[3],suffix:e[4]}};function s(e,t){if(2<=e.length){var r=parseInt(e.substring(0,2),10),n=4<=e.length?parseInt(e.substring(2,4),10):void 0,a=6<=e.length?parseInt(e.substring(4,6),10):void 0,i=(i=8<=e.length?e.substring(7,13):void 0)?parseInt(i,10)*Math.pow(10,6-i.length):void 0;if(t&&(isNaN(r)||void 0!==n&&isNaN(n)||void 0!==a&&isNaN(a)||void 0!==i&&isNaN(i)||r<0||23<r||n&&(n<0||59<n)||a&&(a<0||59<a)||i&&(i<0||999999<i)))throw"invalid TM '".concat(e,"'");return{hours:r,minutes:n,seconds:a,fractionalSeconds:i}}if(t)throw"invalid TM '".concat(e,"'")}function c(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 u(e,t){if(e&&8===e.length){var r=parseInt(e.substring(0,4),10),n=parseInt(e.substring(4,6),10),a=parseInt(e.substring(6,8),10);if(t&&!0!==c(a,n,r))throw"invalid DA '".concat(e,"'");return{year:r,month:n,day:a}}if(t)throw"invalid DA '".concat(e,"'")}function f(e,t){if(void 0===e||void 0===t)throw"dicomParser.explicitElementToString: missing required parameters";if(void 0===t.vr)throw"dicomParser.explicitElementToString: cannot convert implicit element to string";var r,n=t.vr,i=t.tag;function o(t,r){for(var n="",a=0;a<t;a++)0!==a&&(n+="/"),n+=r.call(e,i,a).toString();return n}if(!0===a(n))r=e.string(i);else{if("AT"===n){var s=e.uint32(i);return void 0===s?void 0:"x".concat((s=s<0?4294967295+s+1:s).toString(16).toUpperCase())}"US"===n?r=o(t.length/2,e.uint16):"SS"===n?r=o(t.length/2,e.int16):"UL"===n?r=o(t.length/4,e.uint32):"SL"===n?r=o(t.length/4,e.int32):"FD"===n?r=o(t.length/8,e.double):"FL"===n&&(r=o(t.length/4,e.float))}return r}function l(e,t){if(void 0===e)throw"dicomParser.explicitDataSetToJS: missing required parameter dataSet";t=t||{omitPrivateAttibutes:!0,maxElementLength:128};var r,n={};for(r in e.elements){var a=e.elements[r];if(!0!==t.omitPrivateAttibutes||!i(r))if(a.items){for(var o=[],s=0;s<a.items.length;s++)o.push(l(a.items[s].dataSet,t));n[r]=o}else{var c=void 0;a.length<t.maxElementLength&&(c=f(e,a)),n[r]=void 0!==c?c:{dataOffset:a.dataOffset,length:a.length}}}return n}function d(e,t){return 255===e.byteArray[t]&&217===e.byteArray[t+1]}function h(e,t,r){for(var n,a,i=r;i<t.fragments.length;i++)if(a=i,d(n=e,(a=t.fragments[a]).position+a.length-2)||d(n,a.position+a.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 n=[],a=0;;){n.push(t.fragments[a].offset);var i=h(e,t,a);if(void 0===i||i===t.fragments.length-1)return n;a=i+1}}function m(e){if(void 0===e)throw"dicomParser.readTag: missing required parameter 'byteStream'";var t=256*e.readUint16()*256;return e=e.readUint16(),"x".concat("00000000".concat((t+e).toString(16)).substr(-8))}function y(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"!==m(e))throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var n=e.readUint32()/4,a=0;a<n;a++){var i=e.readUint32();t.basicOffsetTable.push(i)}for(var o=e.position;e.position<e.byteArray.length;){var s=m(e),c=e.readUint32();if("xfffee0dd"===s)return e.seek(c),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")),c>e.byteArray.length-e.position&&(c=e.byteArray.length-e.position),t.fragments.push({offset:e.position-o-8,position:e.position,length:c}),e.seek(c),void(t.length=e.position-t.dataOffset);t.fragments.push({offset:e.position-o-8,position:e.position,length:c}),e.seek(c)}r&&r.push("pixel data element ".concat(t.tag," missing sequence delimiter tag xfffee0dd"))}function g(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()&&57565===e.readUint16())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 v(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 n,a="",i=0;i<r;i++){if(0===(n=e[t+i]))return t+=r,a;a+=String.fromCharCode(n)}return a}function b(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function w(e,t){return void 0!==e.parser?e.parser:t}var E=function(){function e(t,r,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.byteArrayParser=t,this.byteArray=r,this.elements=n}var t,r,n;return t=e,(r=[{key:"uint16",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return w(e,this.byteArrayParser).readUint16(this.byteArray,e.dataOffset+2*t)}},{key:"int16",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return w(e,this.byteArrayParser).readInt16(this.byteArray,e.dataOffset+2*t)}},{key:"uint32",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return w(e,this.byteArrayParser).readUint32(this.byteArray,e.dataOffset+4*t)}},{key:"int32",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return w(e,this.byteArrayParser).readInt32(this.byteArray,e.dataOffset+4*t)}},{key:"float",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return w(e,this.byteArrayParser).readFloat(this.byteArray,e.dataOffset+4*t)}},{key:"double",value:function(e,t){if(t=void 0!==t?t:0,(e=this.elements[e])&&0!==e.length)return w(e,this.byteArrayParser).readDouble(this.byteArray,e.dataOffset+8*t)}},{key:"numStringValues",value:function(e){if((e=this.elements[e])&&0<e.length)return null===(e=v(this.byteArray,e.dataOffset,e.length).match(/\\/g))?1:e.length+1}},{key:"string",value:function(e,t){return(e=this.elements[e])&&e.Value?e.Value:e&&0<e.length?(e=v(this.byteArray,e.dataOffset,e.length),0<=t?e.split("\\")[t].trim():e.trim()):void 0}},{key:"text",value:function(e,t){if((e=this.elements[e])&&0<e.length)return e=v(this.byteArray,e.dataOffset,e.length),0<=t?e.split("\\")[t].replace(/ +$/,""):e.replace(/ +$/,"")}},{key:"floatString",value:function(e,t){var r=this.elements[e];if(r&&0<r.length&&void 0!==(t=this.string(e,t=void 0!==t?t:0)))return parseFloat(t)}},{key:"intString",value:function(e,t){var r=this.elements[e];if(r&&0<r.length&&void 0!==(t=this.string(e,t=void 0!==t?t:0)))return parseInt(t)}},{key:"attributeTag",value:function(e){if((r=this.elements[e])&&4===r.length){var t=w(r,this.byteArrayParser).readUint16,r=(e=this.byteArray,r.dataOffset);return"x".concat("00000000".concat((256*t(e,r)*256+t(e,r+2)).toString(16)).substr(-8))}}}])&&b(t.prototype,r),n&&b(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();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()&&57357===e.readUint16())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 P=function(e,t){return void 0!==e.vr?"SQ"===e.vr:t.position+4<=t.byteArray.length?(e=m(t),t.seek(-4),"xfffee000"===e||"xfffee0dd"===e):(t.warnings.push("eof encountered before finding sequence item tag or sequence delimiter tag in peeking to determine VR"),!1)};function S(e,t,r){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var n;return 4294967295===(n={tag:n=m(e),vr:void 0!==r?r(n):void 0,length:e.readUint32(),dataOffset:e.position}).length&&(n.hadUndefinedLength=!0),n.tag===t||(!P(n,e)||i(n.tag)&&!n.hadUndefinedLength?n.hadUndefinedLength?x(e,n):e.seek(n.length):(I(e,n,r),i(n.tag)&&(n.items=void 0))),n}function A(e){if(void 0===e)throw"dicomParser.readSequenceItem: missing required parameter 'byteStream'";var t={tag:m(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 O(e,t){var r=A(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(e,t){for(var r={};e.position<e.byteArray.length;){var n=S(e,void 0,t);if("xfffee00d"===(r[n.tag]=n).tag)return new E(e.byteArrayParser,e.byteArray,r)}return e.warnings.push("eof encountered before finding sequence item delimiter in sequence item of undefined length"),new E(e.byteArrayParser,e.byteArray,r)}(e,t),r.length=e.position-r.dataOffset):(r.dataSet=new E(e.byteArrayParser,e.byteArray,{}),U(r.dataSet,e,e.position+r.length,{vrCallback:t})),r}function I(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 n=m(e);if(e.seek(-4),"xfffee0dd"===n)return t.length=e.position-t.dataOffset,e.seek(8);n=O(e,r),t.items.push(n)}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 n=t.dataOffset+t.length;e.position<n;){var a=O(e,r);t.items.push(a)}})(e,t,r)}function k(e,t){var r=A(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(e,t){for(var r={};e.position<e.byteArray.length;){var n=D(e,t);if("xfffee00d"===(r[n.tag]=n).tag)return new E(e.byteArrayParser,e.byteArray,r)}return t.push("eof encountered before finding item delimiter tag while reading sequence item of undefined length"),new E(e.byteArrayParser,e.byteArray,r)}(e,t),r.length=e.position-r.dataOffset):(r.dataSet=new E(e.byteArrayParser,e.byteArray,{}),F(r.dataSet,e,e.position+r.length)),r}function T(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 n=m(e);if(e.seek(-4),"xfffee0dd"===n)return t.length=e.position-t.dataOffset,e.seek(8);n=k(e,r),t.items.push(n)}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 n=t.dataOffset+t.length;e.position<n;){var a=k(e,r);t.items.push(a)}})(e,t,r)}var L=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 D(e,t,r){if(void 0===e)throw"dicomParser.readDicomElementExplicit: missing required parameter 'byteStream'";var n={tag:m(e),vr:e.readFixedString(2)};return 2===L(n.vr)?n.length=e.readUint16():(e.seek(2),n.length=e.readUint32()),n.dataOffset=e.position,4294967295===n.length&&(n.hadUndefinedLength=!0),n.tag===r||("SQ"===n.vr?T(e,n,t):4294967295===n.length?"x7fe00010"===n.tag?y(e,n,t):("UN"===n.vr?I:x)(e,n):e.seek(n.length)),n}function F(e,t,r){var n=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 a=e.elements;t.position<r;){var i=D(t,e.warnings,n.untilTag);if((a[i.tag]=i).tag===n.untilTag)return}if(t.position>r)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function U(e,t,r){var n=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 a=e.elements;t.position<r;){var i=S(t,n.untilTag,n.vrCallback);if((a[i.tag]=i).tag===n.untilTag)return}}function N(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 _="1.8.12",j={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";return 32768&(t=(e[t]<<8)+e[t+1])?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 B(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 M(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var R=function(){function e(t,r,n){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),void 0===t)throw"dicomParser.ByteStream: missing required parameter 'byteArrayParser'";if(void 0===r)throw"dicomParser.ByteStream: missing required parameter 'byteArray'";if(r instanceof Uint8Array==0&&("undefined"==typeof Buffer||r instanceof Buffer==0))throw"dicomParser.ByteStream: parameter byteArray is not of type Uint8Array or Buffer";if(n<0)throw"dicomParser.ByteStream: parameter 'position' cannot be less than 0";if(n>=r.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=t,this.byteArray=r,this.position=n||0,this.warnings=[]}var t,r,n;return t=e,(r=[{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(t){if(this.position+t>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var r=B(this.byteArray,this.position,t);return this.position+=t,new e(this.byteArrayParser,r)}},{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=v(this.byteArray,this.position,e);return this.position+=e,t}}])&&M(t.prototype,r),n&&M(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}(),q={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";return 32768&(t=e[t]+(e[t+1]<<8))?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 t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var r=t.TransferSyntaxUID,n=new R(q,e);return function(){var e=function(){if(n.getSize()<=132&&r)return!1;if(n.seek(128),"DICM"===n.readFixedString(4))return!0;if(!(t||{}).TransferSyntaxUID)throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file.";return n.seek(0),!1}(),a=[],i={};if(!e)return n.position=0,{elements:{x00020010:{tag:"x00020010",vr:"UI",Value:r}},warnings:a};for(;n.position<n.byteArray.length;){var o=n.position,s=D(n,a);if("x0002ffff"<s.tag){n.position=o;break}s.parser=q,i[s.tag]=s}return(e=new E(n.byteArrayParser,n.byteArray,i)).warnings=n.warnings,e.position=n.position,e}()}var W="1.2.840.10008.1.2.2";function C(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw new Error("dicomParser.parseDicom: missing required parameter 'byteArray'");var n,a=function(t){if(void 0===t.elements.x00020010)throw new Error("dicomParser.parseDicom: missing required meta header attribute 0002,0010");return(t=t.elements.x00020010)&&t.Value||v(e,t.dataOffset,t.length)};function i(n){var i="1.2.840.10008.1.2"!==(o=a(n)),o=function(n,a){var i="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0);if("1.2.840.10008.1.2.1.99"!==n)return new R(n===W?j:q,e,a);if(t&&t.inflater)return n=t.inflater(e,a),new R(q,n,0);if(1==i){var o=r(0),s=B(e,a,e.length-a);return o=o.inflateRawSync(s),s=N(e,o.length+a),e.copy(s,0,0,a),o.copy(s,a),new R(q,s,0)}if("undefined"==typeof pako)throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax";return o=e.slice(a),s=pako.inflateRaw(o),(o=N(e,s.length+a)).set(e.slice(0,a),0),o.set(s,a),new R(q,o,0)}(o,n.position);(n=new E(o.byteArrayParser,o.byteArray,{})).warnings=o.warnings;try{(i?F:U)(n,o,o.byteArray.length,t)}catch(o){throw{exception:o,dataSet:n}}return n}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}(n=G(e,t),i(n))}var z=function(e,t,r){for(var n=0,a=t;a<t+r;a++)n+=e[a].length;return n};function H(e,t,r,n,a){if(a=a||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===(n=n||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(n<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(r+n>t.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var i=new R(e.byteArrayParser,e.byteArray,t.dataOffset);if("xfffee000"!==(t=A(i)).tag)throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";i.seek(t.length);var o=i.position;if(1===n)return B(i.byteArray,o+a[r].offset+8,a[r].length);t=z(a,r,n);for(var s=N(i.byteArray,t),c=0,u=r;u<r+n;u++)for(var f=o+a[u].offset+8,l=0;l<a[u].length;l++)s[c++]=i.byteArray[f++];return s}var J=function(e,t){for(var r=0;r<e.length;r++)if(e[r].offset===t)return r},Y=function(e,t,r,n){if(e===t.length-1)return r.length-n;for(var a=t[e+1],i=n+1;i<r.length;i++)if(r[i].offset===a)return i-n;throw"dicomParser.calculateNumberOfFragmentsForFrame: could not find fragment with offset matching basic offset table"};function V(e,t,r,n,a){if(n=n||t.basicOffsetTable,a=a||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===n)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===n.length)throw"dicomParser.readEncapsulatedImageFrame: basicOffsetTable has zero entries";if(r<0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be >= 0";if(r>=n.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var i=n[r];if(void 0===(i=J(a,i)))throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";return H(e,t,i,Y(r,n,a,i),a)}var Z=!1;function $(e,t,r){if(Z||(Z=!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?V(e,t,r):H(e,t,0,t.fragments.length)}t.default={isStringVr:a,isPrivateTag:i,parsePN:o,parseTM:s,parseDA:u,explicitElementToString:f,explicitDataSetToJS:l,createJPEGBasicOffsetTable:p,parseDicomDataSetExplicit:F,parseDicomDataSetImplicit:U,readFixedString:v,alloc:N,version:_,bigEndianByteArrayParser:j,ByteStream:R,sharedCopy:B,DataSet:E,findAndSetUNElementLength:g,findEndOfEncapsulatedElement:y,findItemDelimitationItemAndSetElementLength:x,littleEndianByteArrayParser:q,parseDicom:C,readDicomElementExplicit:D,readDicomElementImplicit:S,readEncapsulatedImageFrame:V,readEncapsulatedPixelData:$,readEncapsulatedPixelDataFromFragments:H,readPart10Header:G,readSequenceItemsExplicit:T,readSequenceItemsImplicit:I,readSequenceItem:A,readTag:m,LEI:"1.2.840.10008.1.2",LEE:"1.2.840.10008.1.2.1"}}],n={},t.m=r,t.c=n,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var a in e)t.d(n,a,function(t){return e[t]}.bind(null,a));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1);function t(e){if(n[e])return n[e].exports;var a=n[e]={i:e,l:!1,exports:{}};return r[e].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var r,n}(r(559))},559:()=>{}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,r),i.exports}r.m=e,r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.u=e=>e+".index.js",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var a=n.length-1;a>-1&&(!e||!/^http(s?):/.test(e));)e=n[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),r.b=document.baseURI||self.location.href;var n={};return(()=>{"use strict";r.r(n),r.d(n,{CodDicomWebServer:()=>de,FetchType:()=>i,default:()=>he});var e={};r.r(e),r.d(e,{FetchType:()=>i,RequestType:()=>o});var t={};r.r(t),r.d(t,{DOMAIN:()=>W,FILE_EXTENSIONS:()=>C,URL_VALIDATION_STRING:()=>z});var a={};r.r(a),r.d(a,{FILE_PARTIAL_WORKER_NAME:()=>H,FILE_STREAMING_WORKER_NAME:()=>J,THRESHOLD:()=>Y});var i=function(e){return e[e.BYTES_OPTIMIZED=0]="BYTES_OPTIMIZED",e[e.API_OPTIMIZED=1]="API_OPTIMIZED",e}({}),o=function(e){return e[e.FRAME=0]="FRAME",e[e.THUMBNAIL=1]="THUMBNAIL",e[e.SERIES_METADATA=2]="SERIES_METADATA",e[e.INSTANCE_METADATA=3]="INSTANCE_METADATA",e}({}),s=r(915);
15
+ /**
16
+ * @license
17
+ * Copyright 2019 Google LLC
18
+ * SPDX-License-Identifier: Apache-2.0
19
+ */
20
+ const c=Symbol("Comlink.proxy"),u=Symbol("Comlink.endpoint"),f=Symbol("Comlink.releaseProxy"),l=Symbol("Comlink.finalizer"),d=Symbol("Comlink.thrown"),h=e=>"object"==typeof e&&null!==e||"function"==typeof e,p=new Map([["proxy",{canHandle:e=>h(e)&&e[c],serialize(e){const{port1:t,port2:r}=new MessageChannel;return m(e,t),[r,[r]]},deserialize:e=>(e.start(),g(e))}],["throw",{canHandle:e=>h(e)&&d in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function m(e,t=globalThis,r=["*"]){t.addEventListener("message",(function n(a){if(!a||!a.data)return;if(!function(e,t){for(const r of e){if(t===r||"*"===r)return!0;if(r instanceof RegExp&&r.test(t))return!0}return!1}(r,a.origin))return void console.warn(`Invalid origin '${a.origin}' for comlink proxy`);const{id:i,type:o,path:s}=Object.assign({path:[]},a.data),u=(a.data.argumentList||[]).map(O);let f;try{const t=s.slice(0,-1).reduce(((e,t)=>e[t]),e),r=s.reduce(((e,t)=>e[t]),e);switch(o){case"GET":f=r;break;case"SET":t[s.slice(-1)[0]]=O(a.data.value),f=!0;break;case"APPLY":f=r.apply(t,u);break;case"CONSTRUCT":f=function(e){return Object.assign(e,{[c]:!0})}(new r(...u));break;case"ENDPOINT":{const{port1:t,port2:r}=new MessageChannel;m(e,r),f=function(e,t){return S.set(e,t),e}(t,[t])}break;case"RELEASE":f=void 0;break;default:return}}catch(e){f={value:e,[d]:0}}Promise.resolve(f).catch((e=>({value:e,[d]:0}))).then((r=>{const[a,s]=A(r);t.postMessage(Object.assign(Object.assign({},a),{id:i}),s),"RELEASE"===o&&(t.removeEventListener("message",n),y(t),l in e&&"function"==typeof e[l]&&e[l]())})).catch((e=>{const[r,n]=A({value:new TypeError("Unserializable return value"),[d]:0});t.postMessage(Object.assign(Object.assign({},r),{id:i}),n)}))})),t.start&&t.start()}function y(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function g(e,t){const r=new Map;return e.addEventListener("message",(function(e){const{data:t}=e;if(!t||!t.id)return;const n=r.get(t.id);if(n)try{n(t)}finally{r.delete(t.id)}})),x(e,r,[],t)}function v(e){if(e)throw new Error("Proxy has been released and is not useable")}function b(e){return I(e,new Map,{type:"RELEASE"}).then((()=>{y(e)}))}const w=new WeakMap,E="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(w.get(e)||0)-1;w.set(e,t),0===t&&b(e)}));function x(e,t,r=[],n=function(){}){let a=!1;const i=new Proxy(n,{get(n,o){if(v(a),o===f)return()=>{!function(e){E&&E.unregister(e)}(i),b(e),t.clear(),a=!0};if("then"===o){if(0===r.length)return{then:()=>i};const n=I(e,t,{type:"GET",path:r.map((e=>e.toString()))}).then(O);return n.then.bind(n)}return x(e,t,[...r,o])},set(n,i,o){v(a);const[s,c]=A(o);return I(e,t,{type:"SET",path:[...r,i].map((e=>e.toString())),value:s},c).then(O)},apply(n,i,o){v(a);const s=r[r.length-1];if(s===u)return I(e,t,{type:"ENDPOINT"}).then(O);if("bind"===s)return x(e,t,r.slice(0,-1));const[c,f]=P(o);return I(e,t,{type:"APPLY",path:r.map((e=>e.toString())),argumentList:c},f).then(O)},construct(n,i){v(a);const[o,s]=P(i);return I(e,t,{type:"CONSTRUCT",path:r.map((e=>e.toString())),argumentList:o},s).then(O)}});return function(e,t){const r=(w.get(t)||0)+1;w.set(t,r),E&&E.register(e,t,e)}(i,e),i}function P(e){const t=e.map(A);return[t.map((e=>e[0])),(r=t.map((e=>e[1])),Array.prototype.concat.apply([],r))];var r}const S=new WeakMap;function A(e){for(const[t,r]of p)if(r.canHandle(e)){const[n,a]=r.serialize(e);return[{type:"HANDLER",name:t,value:n},a]}return[{type:"RAW",value:e},S.get(e)||[]]}function O(e){switch(e.type){case"HANDLER":return p.get(e.name).deserialize(e.value);case"RAW":return e.value}}function I(e,t,r,n){return new Promise((a=>{const i=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.set(i,a),e.start&&e.start(),e.postMessage(Object.assign({id:i},r),n)}))}function k(e){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k(e)}function T(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */T=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function f(e,t,r,n){var i=t&&t.prototype instanceof g?t:g,o=Object.create(i.prototype),s=new F(n||[]);return a(o,"_invoke",{value:O(e,r,s)}),o}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=f;var d="suspendedStart",h="suspendedYield",p="executing",m="completed",y={};function g(){}function v(){}function b(){}var w={};u(w,o,(function(){return this}));var E=Object.getPrototypeOf,x=E&&E(E(U([])));x&&x!==r&&n.call(x,o)&&(w=x);var P=b.prototype=g.prototype=Object.create(w);function S(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){function r(a,i,o,s){var c=l(e[a],e,i);if("throw"!==c.type){var u=c.arg,f=u.value;return f&&"object"==k(f)&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,o,s)}),(function(e){r("throw",e,o,s)})):t.resolve(f).then((function(e){u.value=e,o(u)}),(function(e){return r("throw",e,o,s)}))}s(c.arg)}var i;a(this,"_invoke",{value:function(e,n){function a(){return new t((function(t,a){r(e,n,t,a)}))}return i=i?i.then(a,a):a()}})}function O(t,r,n){var a=d;return function(i,o){if(a===p)throw Error("Generator is already running");if(a===m){if("throw"===i)throw o;return{value:e,done:!0}}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var c=I(s,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===d)throw a=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=p;var u=l(t,r,n);if("normal"===u.type){if(a=n.done?m:h,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a=m,n.method="throw",n.arg=u.arg)}}}function I(t,r){var n=r.method,a=t.iterator[n];if(a===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,I(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=l(a,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var o=i.arg;return o?o.done?(r[t.resultName]=o.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function L(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function D(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function U(t){if(t||""===t){var r=t[o];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,i=function r(){for(;++a<t.length;)if(n.call(t,a))return r.value=t[a],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(k(t)+" is not iterable")}return v.prototype=b,a(P,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:v,configurable:!0}),v.displayName=u(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,c,"GeneratorFunction")),e.prototype=Object.create(P),e},t.awrap=function(e){return{__await:e}},S(A.prototype),u(A.prototype,s,(function(){return this})),t.AsyncIterator=A,t.async=function(e,r,n,a,i){void 0===i&&(i=Promise);var o=new A(f(e,r,n,a),i);return t.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},S(P),u(P,c,"Generator"),u(P,o,(function(){return this})),u(P,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=U,F.prototype={constructor:F,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(D),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function a(n,a){return s.type="throw",s.arg=t,r.next=n,a&&(r.method="next",r.arg=e),!!a}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var c=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(c&&u){if(this.prev<o.catchLoc)return a(o.catchLoc,!0);if(this.prev<o.finallyLoc)return a(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return a(o.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return a(o.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),D(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;D(r)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:U(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function L(e,t,r,n,a,i,o){try{var s=e[i](o),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,a)}function D(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,F(n.key),n)}}function F(e){var t=function(e,t){if("object"!=k(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=k(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==k(t)?t:t+""}var U=new(function(){return e=function e(){var t,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t=this,n={},(r=F(r="workerRegistry"))in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n},t=[{key:"registerWorker",value:function(e,t){try{var r=t();if(!r)return;this.workerRegistry[e]={instance:g(r),nativeWorker:r}}catch(e){console.warn(e)}}},{key:"executeTask",value:(n=T().mark((function e(t,r,n){var a,i;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=null===(a=this.workerRegistry[t])||void 0===a?void 0:a.instance){e.next=3;break}throw new Error("Worker ".concat(t," not registered"));case 3:return e.prev=3,e.next=6,i[r](n);case 6:return e.abrupt("return",e.sent);case 9:throw e.prev=9,e.t0=e.catch(3),console.error('Error executing task "'.concat(r,'" on worker "').concat(t,'":'),e.t0),new Error('Task "'.concat(r,'" failed: ').concat(e.t0.message));case 13:case"end":return e.stop()}}),e,this,[[3,9]])})),a=function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(e){L(i,r,a,o,s,"next",e)}function s(e){L(i,r,a,o,s,"throw",e)}o(void 0)}))},function(e,t,r){return a.apply(this,arguments)})},{key:"addEventListener",value:function(e,t,r){var n=this.workerRegistry[e];n?n.nativeWorker.addEventListener(t,r):console.error("Worker type '".concat(e,"' is not registered."))}},{key:"removeEventListener",value:function(e,t,r){var n=this.workerRegistry[e];n?n.nativeWorker.removeEventListener(t,r):console.error("Worker type '".concat(e,"' is not registered."))}}],t&&D(e.prototype,t),r&&D(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,a}());function N(){return U}function _(e){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function j(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,o,s=[],c=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return B(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?B(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function M(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,q(n.key),n)}}function R(e,t,r){return(t=q(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function q(e){var t=function(e,t){if("object"!=_(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=_(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==_(t)?t:t+""}const G=function(){return e=function e(t){var r=t.fileStreamingWorkerName;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),R(this,"files",{}),R(this,"fileStreamingWorkerName",void 0),this.fileStreamingWorkerName=r},(t=[{key:"set",value:function(e,t){this.files[e]=t}},{key:"get",value:function(e,t){return!this.files[e]||t&&this.files[e].position<=t.endByte?null:t?this.files[e].data.slice(t.startByte,t.endByte):this.files[e].data}},{key:"setPosition",value:function(e,t){this.files[e]&&(this.files[e].position=t)}},{key:"getPosition",value:function(e){var t;return null===(t=this.files[e])||void 0===t?void 0:t.position}},{key:"append",value:function(e,t,r){this.files[e]&&r&&(this.files[e].data.set(t,r-t.length),this.setPosition(e,r))}},{key:"getTotalSize",value:function(){return Object.entries(this.files).reduce((function(e,t){var r=j(t,2),n=r[0],a=r[1].position;return n.includes("?bytes=")?e:e+a}),0)}},{key:"remove",value:function(e){var t=this.getPosition(e);delete this.files[e],e.includes("?bytes=")||N().executeTask(this.fileStreamingWorkerName,"decreaseFetchedSize",t)}},{key:"purge",value:function(){var e=this.getTotalSize();this.files={},N().executeTask(this.fileStreamingWorkerName,"decreaseFetchedSize",e)}}])&&M(e.prototype,t),r&&M(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r}();var W="https://storage.googleapis.com",C=[".tar",".zip"],z="/dicomweb/",H="filePartial",J="fileStreaming",Y=1e4;const V={Enums:e,url:t,worker:a};function Z(e,t){if(e.includes(V.url.URL_VALIDATION_STRING)){var r,n=e.split(t+"/")[1],a=n.split("/studies")[0],i=a.split("/"),s=i[0],c=i.slice(1).join("/"),u=n.split(a+"/")[1].split("/"),f=u[1],l=u[3],d="",h=1;switch(!0){case u.includes("thumbnail"):r=o.THUMBNAIL;break;case u.includes("metadata"):u.includes("instances")?(d=u[5],r=o.INSTANCE_METADATA):r=o.SERIES_METADATA;break;case u.includes("frames"):d=u[5],h=+(u[7]||h),r=o.FRAME;break;default:throw new Error("Invalid type of request")}return{type:r,bucketName:s,bucketPrefix:c,studyInstanceUID:f,seriesInstanceUID:l,sopInstanceUID:d,frameNumber:h}}}function $(e,t,r,n){var a;if(!e||null===(a=e.cod)||void 0===a||!a.instances||!e.thumbnail)throw new Error("Invalid seriesMetadata provided.");if(!t)throw new Error("SOP Instance UID is required.");if(null==r)throw new Error("Frame index is required.");var i=Object.values(e.cod.instances).find((function(e){var r;return(null===(r=e.metadata["00080018"])||void 0===r||null===(r=r.Value)||void 0===r?void 0:r[0])===t}));if(!i)throw new Error("Instance with SOPInstanceUID ".concat(t," not found."));var o,s,c=n.domain,u=n.bucketName,f=n.bucketPrefix,l=i.url,d=i.uri,h=i.headers,p=i.offset_tables,m=function(e,t,r,n){var a=e,i=V.url.FILE_EXTENSIONS.find((function(t){return e.includes(t)}));if(i){a=e.split(i)[0]+i}var o=a.split("studies/")[1];return a="".concat(t,"/").concat(r,"/").concat(n?n+"/":"","studies/").concat(o),a}(l||d,c,u,f),y=p||{},g=y.CustomOffsetTable,v=y.CustomOffsetTableLengths,b=!1;null!=g&&g.length&&null!=v&&v.length&&(s=(o=g[r])+v[r],b=!0);var w=h.start_byte,E=h.end_byte,x=void 0!==o?w+o:w,P=void 0!==s?w+s:E,S=e.thumbnail.uri;return{url:m,startByte:x,endByte:P,thumbnailUrl:"".concat(c,"/").concat(S.split("gs://")[1]),isMultiframe:b}}function K(e){var t=e.domain,r=void 0===t?V.url.DOMAIN:t,n=e.bucketName,a=e.bucketPrefix,i=e.studyInstanceUID,o=e.seriesInstanceUID;if(n&&a&&i&&o)return"".concat(r,"/").concat(n,"/").concat(a,"/studies/").concat(i,"/series/").concat(o,"/metadata.json")}function Q(e){return Q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Q(e)}function X(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */X=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function f(e,t,r,n){var i=t&&t.prototype instanceof g?t:g,o=Object.create(i.prototype),s=new L(n||[]);return a(o,"_invoke",{value:O(e,r,s)}),o}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=f;var d="suspendedStart",h="suspendedYield",p="executing",m="completed",y={};function g(){}function v(){}function b(){}var w={};u(w,o,(function(){return this}));var E=Object.getPrototypeOf,x=E&&E(E(D([])));x&&x!==r&&n.call(x,o)&&(w=x);var P=b.prototype=g.prototype=Object.create(w);function S(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){function r(a,i,o,s){var c=l(e[a],e,i);if("throw"!==c.type){var u=c.arg,f=u.value;return f&&"object"==Q(f)&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,o,s)}),(function(e){r("throw",e,o,s)})):t.resolve(f).then((function(e){u.value=e,o(u)}),(function(e){return r("throw",e,o,s)}))}s(c.arg)}var i;a(this,"_invoke",{value:function(e,n){function a(){return new t((function(t,a){r(e,n,t,a)}))}return i=i?i.then(a,a):a()}})}function O(t,r,n){var a=d;return function(i,o){if(a===p)throw Error("Generator is already running");if(a===m){if("throw"===i)throw o;return{value:e,done:!0}}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var c=I(s,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===d)throw a=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=p;var u=l(t,r,n);if("normal"===u.type){if(a=n.done?m:h,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a=m,n.method="throw",n.arg=u.arg)}}}function I(t,r){var n=r.method,a=t.iterator[n];if(a===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,I(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=l(a,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var o=i.arg;return o?o.done?(r[t.resultName]=o.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function D(t){if(t||""===t){var r=t[o];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,i=function r(){for(;++a<t.length;)if(n.call(t,a))return r.value=t[a],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(Q(t)+" is not iterable")}return v.prototype=b,a(P,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:v,configurable:!0}),v.displayName=u(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,c,"GeneratorFunction")),e.prototype=Object.create(P),e},t.awrap=function(e){return{__await:e}},S(A.prototype),u(A.prototype,s,(function(){return this})),t.AsyncIterator=A,t.async=function(e,r,n,a,i){void 0===i&&(i=Promise);var o=new A(f(e,r,n,a),i);return t.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},S(P),u(P,c,"Generator"),u(P,o,(function(){return this})),u(P,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=D,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function a(n,a){return s.type="throw",s.arg=t,r.next=n,a&&(r.method="next",r.arg=e),!!a}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var c=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(c&&u){if(this.prev<o.catchLoc)return a(o.catchLoc,!0);if(this.prev<o.finallyLoc)return a(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return a(o.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return a(o.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),T(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;T(r)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:D(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function ee(e,t,r,n,a,i,o){try{var s=e[i](o),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,a)}var te={};function re(e,t){return ne.apply(this,arguments)}function ne(){var e;return e=X().mark((function e(t,r){var n,a,i;return X().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=K(t)){e.next=3;break}throw new Error("Error creating metadata json url");case 3:if(!te[n]){e.next=5;break}return e.abrupt("return",te[n]);case 5:return e.prev=5,e.next=8,fetch(n,{headers:r});case 8:if((a=e.sent).ok){e.next=11;break}throw new Error("Failed to fetch metadata: ".concat(a.statusText));case 11:return e.next=13,a.json();case 13:return i=e.sent,te[n]=i,e.abrupt("return",i);case 18:throw e.prev=18,e.t0=e.catch(5),console.error(e.t0),e.t0;case 22:case"end":return e.stop()}}),e,null,[[5,18]])})),ne=function(){var t=this,r=arguments;return new Promise((function(n,a){var i=e.apply(t,r);function o(e){ee(i,n,a,o,s,"next",e)}function s(e){ee(i,n,a,o,s,"throw",e)}o(void 0)}))},ne.apply(this,arguments)}function ae(e){return ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ae(e)}function ie(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ie=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function f(e,t,r,n){var i=t&&t.prototype instanceof g?t:g,o=Object.create(i.prototype),s=new L(n||[]);return a(o,"_invoke",{value:O(e,r,s)}),o}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=f;var d="suspendedStart",h="suspendedYield",p="executing",m="completed",y={};function g(){}function v(){}function b(){}var w={};u(w,o,(function(){return this}));var E=Object.getPrototypeOf,x=E&&E(E(D([])));x&&x!==r&&n.call(x,o)&&(w=x);var P=b.prototype=g.prototype=Object.create(w);function S(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){function r(a,i,o,s){var c=l(e[a],e,i);if("throw"!==c.type){var u=c.arg,f=u.value;return f&&"object"==ae(f)&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,o,s)}),(function(e){r("throw",e,o,s)})):t.resolve(f).then((function(e){u.value=e,o(u)}),(function(e){return r("throw",e,o,s)}))}s(c.arg)}var i;a(this,"_invoke",{value:function(e,n){function a(){return new t((function(t,a){r(e,n,t,a)}))}return i=i?i.then(a,a):a()}})}function O(t,r,n){var a=d;return function(i,o){if(a===p)throw Error("Generator is already running");if(a===m){if("throw"===i)throw o;return{value:e,done:!0}}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var c=I(s,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===d)throw a=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=p;var u=l(t,r,n);if("normal"===u.type){if(a=n.done?m:h,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a=m,n.method="throw",n.arg=u.arg)}}}function I(t,r){var n=r.method,a=t.iterator[n];if(a===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,I(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=l(a,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var o=i.arg;return o?o.done?(r[t.resultName]=o.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function D(t){if(t||""===t){var r=t[o];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,i=function r(){for(;++a<t.length;)if(n.call(t,a))return r.value=t[a],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(ae(t)+" is not iterable")}return v.prototype=b,a(P,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:v,configurable:!0}),v.displayName=u(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,c,"GeneratorFunction")),e.prototype=Object.create(P),e},t.awrap=function(e){return{__await:e}},S(A.prototype),u(A.prototype,s,(function(){return this})),t.AsyncIterator=A,t.async=function(e,r,n,a,i){void 0===i&&(i=Promise);var o=new A(f(e,r,n,a),i);return t.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},S(P),u(P,c,"Generator"),u(P,o,(function(){return this})),u(P,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=D,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function a(n,a){return s.type="throw",s.arg=t,r.next=n,a&&(r.method="next",r.arg=e),!!a}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var c=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(c&&u){if(this.prev<o.catchLoc)return a(o.catchLoc,!0);if(this.prev<o.finallyLoc)return a(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return a(o.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return a(o.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),T(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;T(r)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:D(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function oe(e,t,r,n,a,i,o){try{var s=e[i](o),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,a)}function se(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var i=e.apply(t,r);function o(e){oe(i,n,a,o,s,"next",e)}function s(e){oe(i,n,a,o,s,"throw",e)}o(void 0)}))}}function ce(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,fe(n.key),n)}}function ue(e,t,r){return(t=fe(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fe(e){var t=function(e,t){if("object"!=ae(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=ae(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==ae(t)?t:t+""}var le=function(){return e=function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),ue(this,"filePromises",{}),ue(this,"options",{maxWorkerFetchSize:1/0,domain:V.url.DOMAIN}),ue(this,"fileManager",void 0),ue(this,"seriesUidFileUrls",{}),ue(this,"setOptions",(function(e){Object.keys(e).forEach((function(r){void 0===!e[r]&&(t.options[r]=e[r])}))})),ue(this,"getOptions",(function(){return t.options}));var a=n.maxWorkerFetchSize,i=n.domain;this.options.maxWorkerFetchSize=a||this.options.maxWorkerFetchSize,this.options.domain=i||this.options.domain;var o=V.worker.FILE_STREAMING_WORKER_NAME,s=V.worker.FILE_PARTIAL_WORKER_NAME;this.fileManager=new G({fileStreamingWorkerName:o}),function(e,t){var n=e.fileStreamingWorkerName,a=e.filePartialWorkerName,i=N();i.registerWorker(n,(function(){return new Worker(new URL(r.p+r.u(170),r.b),{name:n})})),i.executeTask(n,"setMaxFetchSize",t),i.registerWorker(a,(function(){return new Worker(new URL(r.p+r.u(16),r.b),{name:a})}))}({fileStreamingWorkerName:o,filePartialWorkerName:s},this.options.maxWorkerFetchSize)},t=[{key:"addFileUrl",value:function(e,t){this.seriesUidFileUrls[e]?this.seriesUidFileUrls[e].push(t):this.seriesUidFileUrls[e]=[t]}},{key:"fetchCod",value:(c=se(ie().mark((function e(t,r){var n,a,c,u,f,l,d,h,p,m,y,g,v,b,w,E,x,P,S,A,O,I,k=this,T=arguments;return ie().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=T.length>2&&void 0!==T[2]?T[2]:{},c=(a=T.length>3&&void 0!==T[3]?T[3]:{}).useSharedArrayBuffer,u=void 0!==c&&c,f=a.fetchType,l=void 0===f?V.Enums.FetchType.API_OPTIMIZED:f,e.prev=2,!(d=Z(t,this.options.domain))){e.next=25;break}return h=d.type,p=d.bucketName,m=d.bucketPrefix,y=d.studyInstanceUID,g=d.seriesInstanceUID,v=d.sopInstanceUID,b=d.frameNumber,e.next=8,re({domain:this.options.domain,bucketName:p,bucketPrefix:m,studyInstanceUID:y,seriesInstanceUID:g},n);case 8:if(w=e.sent){e.next=11;break}throw new Error("Metadata not found for ".concat(t));case 11:E=$(w,v,b-1,{domain:this.options.domain,bucketName:p,bucketPrefix:m}),x=E.url,P=E.startByte,S=E.endByte,A=E.thumbnailUrl,O=E.isMultiframe,e.t0=h,e.next=e.t0===o.THUMBNAIL?15:e.t0===o.FRAME?17:e.t0===o.SERIES_METADATA||e.t0===o.INSTANCE_METADATA?21:22;break;case 15:return this.addFileUrl(g,A),e.abrupt("return",this.fetchFile(A,n,{useSharedArrayBuffer:u}));case 17:return I=x,l===i.BYTES_OPTIMIZED&&(I="".concat(x,"?bytes=").concat(P,"-").concat(S)),this.addFileUrl(g,x),e.abrupt("return",this.fetchFile(I,n,{offsets:{startByte:P,endByte:S},useSharedArrayBuffer:u,fetchType:l}).then((function(e){if(null==e||!e.byteLength)throw new Error("File Arraybuffer is not found");if(O)return e;var t=(0,s.parseDicom)(new Uint8Array(e)).elements.x7fe00010,r=t.dataOffset,n=t.length;if(t.hadUndefinedLength&&t.fragments){var a=t.fragments[0];r=a.position,n=a.length}else r+=8;return e.slice(r,r+n)})));case 21:return e.abrupt("return",this.parseMetadata(w,h,v));case 22:throw new Error("Unsupported request type: ".concat(h));case 23:e.next=26;break;case 25:return e.abrupt("return",new Promise((function(e,r){return k.fetchFile(t,n,{useSharedArrayBuffer:u}).then((function(r){if(r instanceof ArrayBuffer)try{var n=(0,s.parseDicom)(new Uint8Array(r)).string("0020000e");n&&k.addFileUrl(n,t)}catch(e){console.warn("There is some issue parsing the file.",e)}e(r)})).catch((function(e){return r(e)}))})));case 26:e.next=32;break;case 28:throw e.prev=28,e.t1=e.catch(2),console.error(e.t1),e.t1;case 32:case"end":return e.stop()}}),e,this,[[2,28]])}))),function(e,t){return c.apply(this,arguments)})},{key:"fetchFile",value:(a=se(ie().mark((function e(t,r){var n,a,o,s,c,u,f,l,d,h,p,m,y,g,v,b,w=this,E=arguments;return ie().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=(n=E.length>2&&void 0!==E[2]?E[2]:{}).offsets,o=n.useSharedArrayBuffer,s=void 0!==o&&o,c=n.fetchType,u=void 0===c?V.Enums.FetchType.API_OPTIMIZED:c,f=u===i.BYTES_OPTIMIZED,!(l=this.fileManager.get(t,f?void 0:a))){e.next=5;break}return e.abrupt("return",new Promise((function(e,t){try{e(l.buffer)}catch(e){t(e)}})));case 5:return d=this.getOptions(),h=d.maxWorkerFetchSize,p=N(),m=V.worker,y=m.FILE_STREAMING_WORKER_NAME,g=m.FILE_PARTIAL_WORKER_NAME,v=m.THRESHOLD,this.filePromises[t]?b=this.filePromises[t]:(b=new Promise((function(e,n){if(w.fileManager.getTotalSize()+v>h)throw new Error("fileStreaming.ts: Maximum size(".concat(h,") for fetching files reached"));var i=V.Enums.FetchType;if(u===i.API_OPTIMIZED){var o=function(e){if(e instanceof ErrorEvent)throw n(e.error),e.error;var r=e.data,a=r.url,i=r.position,s=r.fileArraybuffer;a===t&&s&&(w.fileManager.set(a,{data:s,position:i}),p.removeEventListener(y,"message",o))};p.addEventListener(y,"message",o),p.executeTask(y,"stream",{url:t,headers:r,useSharedArrayBuffer:s}).then((function(){e()})).catch((function(e){p.removeEventListener(y,"message",o),n(e)})).then((function(){return delete w.filePromises[t]}))}else if(u===i.BYTES_OPTIMIZED&&a){var c=a.startByte,f=a.endByte;r.Range="bytes=".concat(c,"-").concat(f-1);var l=t.split("?bytes=")[0];p.executeTask(g,"partial",{url:l,headers:r,useSharedArrayBuffer:s}).then((function(r){r?(w.fileManager.set(t,{data:new Uint8Array(r),position:r.byteLength}),e()):n(new Error("File - ".concat(l," not found")))})).catch((function(e){n(e)})).then((function(){return delete w.filePromises[t]}))}else n("Offsets is needed in bytes optimized fetching")})),this.filePromises[t]=b),e.abrupt("return",new Promise((function(e,r){var n=!1,i=function(i){if(i instanceof ErrorEvent)throw r(i.message),i.error;var o=i.data,s=o.url,c=o.position,u=o.chunk;if(o.isAppending&&(u?w.fileManager.append(s,u,c):w.fileManager.setPosition(s,c)),!n&&s===t&&a&&c>a.endByte)try{var f=w.fileManager.get(s,a);n=!0,e(null==f?void 0:f.buffer)}catch(e){r(e)}};a&&!f&&p.addEventListener(y,"message",i),b.then((function(){if(!n){var r=w.fileManager.get(t,f?void 0:a);n=!0,e(null==r?void 0:r.buffer)}})).catch((function(e){r(e)})).then((function(){p.removeEventListener(y,"message",i)}))})));case 10:case"end":return e.stop()}}),e,this)}))),function(e,t){return a.apply(this,arguments)})},{key:"delete",value:function(e){var t=this,r=this.seriesUidFileUrls[e];r&&r.forEach((function(e){t.fileManager.remove(e)})),delete this.seriesUidFileUrls[e]}},{key:"deleteAll",value:function(){var e=this;Object.values(this.seriesUidFileUrls).forEach((function(t){t.forEach((function(t){e.fileManager.remove(t)}))})),this.seriesUidFileUrls={}}},{key:"parseMetadata",value:function(e,t,r){return t===o.INSTANCE_METADATA?e.cod.instances[r].metadata:Object.values(e.cod.instances).map((function(e){return e.metadata}))}}],t&&ce(e.prototype,t),n&&ce(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,n,a,c}();const de=le,he={FetchType:i,CodDicomWebServer:le}})(),n})()));
21
+ //# sourceMappingURL=index.js.map