UNPKG

cod-dicomweb-server

Version:

A wadors server proxy that get data from a Cloud Optimized Dicom format.

20 lines 134 kB
/*! * * cod-dicomweb-server v1.3.9 * git+https://github.com/gradienthealth/cod-dicomweb-server.git * * Copyright (c) Adithyan Dinesh and project contributors. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * */ !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,(()=>(()=>{var t={915:function(t,e,r){ /*! dicom-parser - 1.8.12 - 2023-02-20 | (c) 2017 Chris Hafey | https://github.com/cornerstonejs/dicomParser */ t.exports=function(t){return r=[function(e,r){e.exports=t},function(t,e,r){"use strict";r.r(e),r.d(e,"isStringVr",(function(){return i})),r.d(e,"isPrivateTag",(function(){return a})),r.d(e,"parsePN",(function(){return o})),r.d(e,"parseTM",(function(){return c})),r.d(e,"parseDA",(function(){return u})),r.d(e,"explicitElementToString",(function(){return f})),r.d(e,"explicitDataSetToJS",(function(){return l})),r.d(e,"createJPEGBasicOffsetTable",(function(){return p})),r.d(e,"parseDicomDataSetExplicit",(function(){return F})),r.d(e,"parseDicomDataSetImplicit",(function(){return _})),r.d(e,"readFixedString",(function(){return g})),r.d(e,"alloc",(function(){return D})),r.d(e,"version",(function(){return N})),r.d(e,"bigEndianByteArrayParser",(function(){return U})),r.d(e,"ByteStream",(function(){return B})),r.d(e,"sharedCopy",(function(){return M})),r.d(e,"DataSet",(function(){return E})),r.d(e,"findAndSetUNElementLength",(function(){return m})),r.d(e,"findEndOfEncapsulatedElement",(function(){return v})),r.d(e,"findItemDelimitationItemAndSetElementLength",(function(){return x})),r.d(e,"littleEndianByteArrayParser",(function(){return G})),r.d(e,"parseDicom",(function(){return z})),r.d(e,"readDicomElementExplicit",(function(){return I})),r.d(e,"readDicomElementImplicit",(function(){return S})),r.d(e,"readEncapsulatedImageFrame",(function(){return V})),r.d(e,"readEncapsulatedPixelData",(function(){return Q})),r.d(e,"readEncapsulatedPixelDataFromFragments",(function(){return H})),r.d(e,"readPart10Header",(function(){return C})),r.d(e,"readSequenceItemsExplicit",(function(){return T})),r.d(e,"readSequenceItemsImplicit",(function(){return A})),r.d(e,"readSequenceItem",(function(){return L})),r.d(e,"readTag",(function(){return y}));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},i=function(t){return n[t]},a=function(t){if(t=parseInt(t[4],16),isNaN(t))throw"dicomParser.isPrivateTag: cannot parse last character of group";return t%2==1},o=function(t){if(void 0!==t)return{familyName:(t=t.split("^"))[0],givenName:t[1],middleName:t[2],prefix:t[3],suffix:t[4]}};function c(t,e){if(2<=t.length){var r=parseInt(t.substring(0,2),10),n=4<=t.length?parseInt(t.substring(2,4),10):void 0,i=6<=t.length?parseInt(t.substring(4,6),10):void 0,a=(a=8<=t.length?t.substring(7,13):void 0)?parseInt(a,10)*Math.pow(10,6-a.length):void 0;if(e&&(isNaN(r)||void 0!==n&&isNaN(n)||void 0!==i&&isNaN(i)||void 0!==a&&isNaN(a)||r<0||23<r||n&&(n<0||59<n)||i&&(i<0||59<i)||a&&(a<0||999999<a)))throw"invalid TM '".concat(t,"'");return{hours:r,minutes:n,seconds:i,fractionalSeconds:a}}if(e)throw"invalid TM '".concat(t,"'")}function s(t,e,r){return!isNaN(r)&&0<e&&e<=12&&0<t&&t<=function(t,e){switch(t){case 2:return e%4==0&&e%100||e%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}}(e,r)}function u(t,e){if(t&&8===t.length){var r=parseInt(t.substring(0,4),10),n=parseInt(t.substring(4,6),10),i=parseInt(t.substring(6,8),10);if(e&&!0!==s(i,n,r))throw"invalid DA '".concat(t,"'");return{year:r,month:n,day:i}}if(e)throw"invalid DA '".concat(t,"'")}function f(t,e){if(void 0===t||void 0===e)throw"dicomParser.explicitElementToString: missing required parameters";if(void 0===e.vr)throw"dicomParser.explicitElementToString: cannot convert implicit element to string";var r,n=e.vr,a=e.tag;function o(e,r){for(var n="",i=0;i<e;i++)0!==i&&(n+="/"),n+=r.call(t,a,i).toString();return n}if(!0===i(n))r=t.string(a);else{if("AT"===n){var c=t.uint32(a);return void 0===c?void 0:"x".concat((c=c<0?4294967295+c+1:c).toString(16).toUpperCase())}"US"===n?r=o(e.length/2,t.uint16):"SS"===n?r=o(e.length/2,t.int16):"UL"===n?r=o(e.length/4,t.uint32):"SL"===n?r=o(e.length/4,t.int32):"FD"===n?r=o(e.length/8,t.double):"FL"===n&&(r=o(e.length/4,t.float))}return r}function l(t,e){if(void 0===t)throw"dicomParser.explicitDataSetToJS: missing required parameter dataSet";e=e||{omitPrivateAttibutes:!0,maxElementLength:128};var r,n={};for(r in t.elements){var i=t.elements[r];if(!0!==e.omitPrivateAttibutes||!a(r))if(i.items){for(var o=[],c=0;c<i.items.length;c++)o.push(l(i.items[c].dataSet,e));n[r]=o}else{var s=void 0;i.length<e.maxElementLength&&(s=f(t,i)),n[r]=void 0!==s?s:{dataOffset:i.dataOffset,length:i.length}}}return n}function h(t,e){return 255===t.byteArray[e]&&217===t.byteArray[e+1]}function d(t,e,r){for(var n,i,a=r;a<e.fragments.length;a++)if(i=a,h(n=t,(i=e.fragments[i]).position+i.length-2)||h(n,i.position+i.length-3))return a}function p(t,e,r){if(void 0===t)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter dataSet";if(void 0===e)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter pixelDataElement";if("x7fe00010"!==e.tag)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010'";if(!0!==e.encapsulatedPixelData)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==e.hadUndefinedLength)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===e.basicOffsetTable)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===e.fragments)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(e.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||e.fragments;for(var n=[],i=0;;){n.push(e.fragments[i].offset);var a=d(t,e,i);if(void 0===a||a===e.fragments.length-1)return n;i=a+1}}function y(t){if(void 0===t)throw"dicomParser.readTag: missing required parameter 'byteStream'";var e=256*t.readUint16()*256;return t=t.readUint16(),"x".concat("00000000".concat((e+t).toString(16)).substr(-8))}function v(t,e,r){if(void 0===t)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'byteStream'";if(void 0===e)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'element'";if(e.encapsulatedPixelData=!0,e.basicOffsetTable=[],e.fragments=[],"xfffee000"!==y(t))throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var n=t.readUint32()/4,i=0;i<n;i++){var a=t.readUint32();e.basicOffsetTable.push(a)}for(var o=t.position;t.position<t.byteArray.length;){var c=y(t),s=t.readUint32();if("xfffee0dd"===c)return t.seek(s),void(e.length=t.position-e.dataOffset);if("xfffee000"!==c)return r&&r.push("unexpected tag ".concat(c," while searching for end of pixel data element with undefined length")),s>t.byteArray.length-t.position&&(s=t.byteArray.length-t.position),e.fragments.push({offset:t.position-o-8,position:t.position,length:s}),t.seek(s),void(e.length=t.position-e.dataOffset);e.fragments.push({offset:t.position-o-8,position:t.position,length:s}),t.seek(s)}r&&r.push("pixel data element ".concat(e.tag," missing sequence delimiter tag xfffee0dd"))}function m(t,e){if(void 0===t)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var r=t.byteArray.length-8;t.position<=r;)if(65534===t.readUint16()&&57565===t.readUint16())return 0!==t.readUint32()&&t.warnings("encountered non zero length following item delimiter at position ".concat(t.position-4," while reading element of undefined length with tag ").concat(e.tag)),void(e.length=t.position-e.dataOffset);e.length=t.byteArray.length-e.dataOffset,t.seek(t.byteArray.length-t.position)}function g(t,e,r){if(r<0)throw"dicomParser.readFixedString - length cannot be less than 0";if(e+r>t.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var n,i="",a=0;a<r;a++){if(0===(n=t[e+a]))return e+=r,i;i+=String.fromCharCode(n)}return i}function b(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function w(t,e){return void 0!==t.parser?t.parser:e}var E=function(){function t(e,r,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.byteArrayParser=e,this.byteArray=r,this.elements=n}var e,r,n;return e=t,(r=[{key:"uint16",value:function(t,e){if(e=void 0!==e?e:0,(t=this.elements[t])&&0!==t.length)return w(t,this.byteArrayParser).readUint16(this.byteArray,t.dataOffset+2*e)}},{key:"int16",value:function(t,e){if(e=void 0!==e?e:0,(t=this.elements[t])&&0!==t.length)return w(t,this.byteArrayParser).readInt16(this.byteArray,t.dataOffset+2*e)}},{key:"uint32",value:function(t,e){if(e=void 0!==e?e:0,(t=this.elements[t])&&0!==t.length)return w(t,this.byteArrayParser).readUint32(this.byteArray,t.dataOffset+4*e)}},{key:"int32",value:function(t,e){if(e=void 0!==e?e:0,(t=this.elements[t])&&0!==t.length)return w(t,this.byteArrayParser).readInt32(this.byteArray,t.dataOffset+4*e)}},{key:"float",value:function(t,e){if(e=void 0!==e?e:0,(t=this.elements[t])&&0!==t.length)return w(t,this.byteArrayParser).readFloat(this.byteArray,t.dataOffset+4*e)}},{key:"double",value:function(t,e){if(e=void 0!==e?e:0,(t=this.elements[t])&&0!==t.length)return w(t,this.byteArrayParser).readDouble(this.byteArray,t.dataOffset+8*e)}},{key:"numStringValues",value:function(t){if((t=this.elements[t])&&0<t.length)return null===(t=g(this.byteArray,t.dataOffset,t.length).match(/\\/g))?1:t.length+1}},{key:"string",value:function(t,e){return(t=this.elements[t])&&t.Value?t.Value:t&&0<t.length?(t=g(this.byteArray,t.dataOffset,t.length),0<=e?t.split("\\")[e].trim():t.trim()):void 0}},{key:"text",value:function(t,e){if((t=this.elements[t])&&0<t.length)return t=g(this.byteArray,t.dataOffset,t.length),0<=e?t.split("\\")[e].replace(/ +$/,""):t.replace(/ +$/,"")}},{key:"floatString",value:function(t,e){var r=this.elements[t];if(r&&0<r.length&&void 0!==(e=this.string(t,e=void 0!==e?e:0)))return parseFloat(e)}},{key:"intString",value:function(t,e){var r=this.elements[t];if(r&&0<r.length&&void 0!==(e=this.string(t,e=void 0!==e?e:0)))return parseInt(e)}},{key:"attributeTag",value:function(t){if((r=this.elements[t])&&4===r.length){var e=w(r,this.byteArrayParser).readUint16,r=(t=this.byteArray,r.dataOffset);return"x".concat("00000000".concat((256*e(t,r)*256+e(t,r+2)).toString(16)).substr(-8))}}}])&&b(e.prototype,r),n&&b(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}();function x(t,e){if(void 0===t)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";for(var r=t.byteArray.length-8;t.position<=r;)if(65534===t.readUint16()&&57357===t.readUint16())return 0!==t.readUint32()&&t.warnings("encountered non zero length following item delimiter at position ".concat(t.position-4," while reading element of undefined length with tag ").concat(e.tag)),void(e.length=t.position-e.dataOffset);e.length=t.byteArray.length-e.dataOffset,t.seek(t.byteArray.length-t.position)}var P=function(t,e){return void 0!==t.vr?"SQ"===t.vr:e.position+4<=e.byteArray.length?(t=y(e),e.seek(-4),"xfffee000"===t||"xfffee0dd"===t):(e.warnings.push("eof encountered before finding sequence item tag or sequence delimiter tag in peeking to determine VR"),!1)};function S(t,e,r){if(void 0===t)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var n;return 4294967295===(n={tag:n=y(t),vr:void 0!==r?r(n):void 0,length:t.readUint32(),dataOffset:t.position}).length&&(n.hadUndefinedLength=!0),n.tag===e||(!P(n,t)||a(n.tag)&&!n.hadUndefinedLength?n.hadUndefinedLength?x(t,n):t.seek(n.length):(A(t,n,r),a(n.tag)&&(n.items=void 0))),n}function L(t){if(void 0===t)throw"dicomParser.readSequenceItem: missing required parameter 'byteStream'";var e={tag:y(t),length:t.readUint32(),dataOffset:t.position};if("xfffee000"!==e.tag)throw"dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset ".concat(t.position);return e}function O(t,e){var r=L(t);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(t,e){for(var r={};t.position<t.byteArray.length;){var n=S(t,void 0,e);if("xfffee00d"===(r[n.tag]=n).tag)return new E(t.byteArrayParser,t.byteArray,r)}return t.warnings.push("eof encountered before finding sequence item delimiter in sequence item of undefined length"),new E(t.byteArrayParser,t.byteArray,r)}(t,e),r.length=t.position-r.dataOffset):(r.dataSet=new E(t.byteArrayParser,t.byteArray,{}),_(r.dataSet,t,t.position+r.length,{vrCallback:e})),r}function A(t,e,r){if(void 0===t)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'byteStream'";if(void 0===e)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'element'";e.items=[],(4294967295===e.length?function(t,e,r){for(;t.position+4<=t.byteArray.length;){var n=y(t);if(t.seek(-4),"xfffee0dd"===n)return e.length=t.position-e.dataOffset,t.seek(8);n=O(t,r),e.items.push(n)}t.warnings.push("eof encountered before finding sequence delimiter in sequence of undefined length"),e.length=t.byteArray.length-e.dataOffset}:function(t,e,r){for(var n=e.dataOffset+e.length;t.position<n;){var i=O(t,r);e.items.push(i)}})(t,e,r)}function k(t,e){var r=L(t);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(t,e){for(var r={};t.position<t.byteArray.length;){var n=I(t,e);if("xfffee00d"===(r[n.tag]=n).tag)return new E(t.byteArrayParser,t.byteArray,r)}return e.push("eof encountered before finding item delimiter tag while reading sequence item of undefined length"),new E(t.byteArrayParser,t.byteArray,r)}(t,e),r.length=t.position-r.dataOffset):(r.dataSet=new E(t.byteArrayParser,t.byteArray,{}),F(r.dataSet,t,t.position+r.length)),r}function T(t,e,r){if(void 0===t)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'byteStream'";if(void 0===e)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'element'";e.items=[],(4294967295===e.length?function(t,e,r){for(;t.position+4<=t.byteArray.length;){var n=y(t);if(t.seek(-4),"xfffee0dd"===n)return e.length=t.position-e.dataOffset,t.seek(8);n=k(t,r),e.items.push(n)}r.push("eof encountered before finding sequence delimitation tag while reading sequence of undefined length"),e.length=t.position-e.dataOffset}:function(t,e,r){for(var n=e.dataOffset+e.length;t.position<n;){var i=k(t,r);e.items.push(i)}})(t,e,r)}var j=function(t){return"OB"===t||"OD"===t||"OL"===t||"OW"===t||"SQ"===t||"OF"===t||"UC"===t||"UR"===t||"UT"===t||"UN"===t?4:2};function I(t,e,r){if(void 0===t)throw"dicomParser.readDicomElementExplicit: missing required parameter 'byteStream'";var n={tag:y(t),vr:t.readFixedString(2)};return 2===j(n.vr)?n.length=t.readUint16():(t.seek(2),n.length=t.readUint32()),n.dataOffset=t.position,4294967295===n.length&&(n.hadUndefinedLength=!0),n.tag===r||("SQ"===n.vr?T(t,n,e):4294967295===n.length?"x7fe00010"===n.tag?v(t,n,e):("UN"===n.vr?A:x)(t,n):t.seek(n.length)),n}function F(t,e,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?e.byteArray.length:r,void 0===e)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(r<e.position||r>e.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var i=t.elements;e.position<r;){var a=I(e,t.warnings,n.untilTag);if((i[a.tag]=a).tag===n.untilTag)return}if(e.position>r)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function _(t,e,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?t.byteArray.length:r,void 0===e)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(r<e.position||r>e.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var i=t.elements;e.position<r;){var a=S(e,n.untilTag,n.vrCallback);if((i[a.tag]=a).tag===n.untilTag)return}}function D(t,e){if("undefined"!=typeof Buffer&&t instanceof Buffer)return Buffer.alloc(e);if(t instanceof Uint8Array)return new Uint8Array(e);throw"dicomParser.alloc: unknown type for byteArray"}var N="1.8.12",U={readUint16:function(t,e){if(e<0)throw"bigEndianByteArrayParser.readUint16: position cannot be less than 0";if(e+2>t.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(t[e]<<8)+t[e+1]},readInt16:function(t,e){if(e<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if(e+2>t.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";return 32768&(e=(t[e]<<8)+t[e+1])?e-65535-1:e},readUint32:function(t,e){if(e<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if(e+4>t.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*t[e]+t[e+1])+t[e+2])+t[e+3]},readInt32:function(t,e){if(e<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if(e+4>t.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(t[e]<<24)+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3]},readFloat:function(t,e){if(e<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if(e+4>t.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[3]=t[e],r[2]=t[e+1],r[1]=t[e+2],r[0]=t[e+3],new Float32Array(r.buffer)[0]},readDouble:function(t,e){if(e<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if(e+8>t.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[7]=t[e],r[6]=t[e+1],r[5]=t[e+2],r[4]=t[e+3],r[3]=t[e+4],r[2]=t[e+5],r[1]=t[e+6],r[0]=t[e+7],new Float64Array(r.buffer)[0]}};function M(t,e,r){if("undefined"!=typeof Buffer&&t instanceof Buffer)return t.slice(e,e+r);if(t instanceof Uint8Array)return new Uint8Array(t.buffer,t.byteOffset+e,r);throw"dicomParser.from: unknown type for byteArray"}function R(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var B=function(){function t(e,r,n){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),void 0===e)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=e,this.byteArray=r,this.position=n||0,this.warnings=[]}var e,r,n;return e=t,(r=[{key:"seek",value:function(t){if(this.position+t<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=t}},{key:"readByteStream",value:function(e){if(this.position+e>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var r=M(this.byteArray,this.position,e);return this.position+=e,new t(this.byteArrayParser,r)}},{key:"getSize",value:function(){return this.byteArray.length}},{key:"readUint16",value:function(){var t=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,t}},{key:"readUint32",value:function(){var t=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,t}},{key:"readFixedString",value:function(t){var e=g(this.byteArray,this.position,t);return this.position+=t,e}}])&&R(e.prototype,r),n&&R(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}(),G={readUint16:function(t,e){if(e<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if(e+2>t.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return t[e]+256*t[e+1]},readInt16:function(t,e){if(e<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if(e+2>t.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";return 32768&(e=t[e]+(t[e+1]<<8))?e-65535-1:e},readUint32:function(t,e){if(e<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if(e+4>t.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return t[e]+256*t[e+1]+256*t[e+2]*256+256*t[e+3]*256*256},readInt32:function(t,e){if(e<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if(e+4>t.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return t[e]+(t[e+1]<<8)+(t[e+2]<<16)+(t[e+3]<<24)},readFloat:function(t,e){if(e<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if(e+4>t.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[0]=t[e],r[1]=t[e+1],r[2]=t[e+2],r[3]=t[e+3],new Float32Array(r.buffer)[0]},readDouble:function(t,e){if(e<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if(e+8>t.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[0]=t[e],r[1]=t[e+1],r[2]=t[e+2],r[3]=t[e+3],r[4]=t[e+4],r[5]=t[e+5],r[6]=t[e+6],r[7]=t[e+7],new Float64Array(r.buffer)[0]}};function C(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(void 0===t)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var r=e.TransferSyntaxUID,n=new B(G,t);return function(){var t=function(){if(n.getSize()<=132&&r)return!1;if(n.seek(128),"DICM"===n.readFixedString(4))return!0;if(!(e||{}).TransferSyntaxUID)throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file.";return n.seek(0),!1}(),i=[],a={};if(!t)return n.position=0,{elements:{x00020010:{tag:"x00020010",vr:"UI",Value:r}},warnings:i};for(;n.position<n.byteArray.length;){var o=n.position,c=I(n,i);if("x0002ffff"<c.tag){n.position=o;break}c.parser=G,a[c.tag]=c}return(t=new E(n.byteArrayParser,n.byteArray,a)).warnings=n.warnings,t.position=n.position,t}()}var q="1.2.840.10008.1.2.2";function z(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(void 0===t)throw new Error("dicomParser.parseDicom: missing required parameter 'byteArray'");var n,i=function(e){if(void 0===e.elements.x00020010)throw new Error("dicomParser.parseDicom: missing required meta header attribute 0002,0010");return(e=e.elements.x00020010)&&e.Value||g(t,e.dataOffset,e.length)};function a(n){var a="1.2.840.10008.1.2"!==(o=i(n)),o=function(n,i){var a="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0);if("1.2.840.10008.1.2.1.99"!==n)return new B(n===q?U:G,t,i);if(e&&e.inflater)return n=e.inflater(t,i),new B(G,n,0);if(1==a){var o=r(0),c=M(t,i,t.length-i);return o=o.inflateRawSync(c),c=D(t,o.length+i),t.copy(c,0,0,i),o.copy(c,i),new B(G,c,0)}if("undefined"==typeof pako)throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax";return o=t.slice(i),c=pako.inflateRaw(o),(o=D(t,c.length+i)).set(t.slice(0,i),0),o.set(c,i),new B(G,o,0)}(o,n.position);(n=new E(o.byteArrayParser,o.byteArray,{})).warnings=o.warnings;try{(a?F:_)(n,o,o.byteArray.length,e)}catch(o){throw{exception:o,dataSet:n}}return n}return function(t,e){for(var r in t.elements)t.elements.hasOwnProperty(r)&&(e.elements[r]=t.elements[r]);return void 0!==t.warnings&&(e.warnings=t.warnings.concat(e.warnings)),e}(n=C(t,e),a(n))}var W=function(t,e,r){for(var n=0,i=e;i<e+r;i++)n+=t[i].length;return n};function H(t,e,r,n,i){if(i=i||e.fragments,void 0===t)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'dataSet'";if(void 0===e)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"!==e.tag)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010";if(!0!==e.encapsulatedPixelData)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==e.hadUndefinedLength)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===e.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===e.fragments)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(e.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>=e.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>e.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var a=new B(t.byteArrayParser,t.byteArray,e.dataOffset);if("xfffee000"!==(e=L(a)).tag)throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";a.seek(e.length);var o=a.position;if(1===n)return M(a.byteArray,o+i[r].offset+8,i[r].length);e=W(i,r,n);for(var c=D(a.byteArray,e),s=0,u=r;u<r+n;u++)for(var f=o+i[u].offset+8,l=0;l<i[u].length;l++)c[s++]=a.byteArray[f++];return c}var Y=function(t,e){for(var r=0;r<t.length;r++)if(t[r].offset===e)return r},J=function(t,e,r,n){if(t===e.length-1)return r.length-n;for(var i=e[t+1],a=n+1;a<r.length;a++)if(r[a].offset===i)return a-n;throw"dicomParser.calculateNumberOfFragmentsForFrame: could not find fragment with offset matching basic offset table"};function V(t,e,r,n,i){if(n=n||e.basicOffsetTable,i=i||e.fragments,void 0===t)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'dataSet'";if(void 0===e)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"!==e.tag)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010)";if(!0!==e.encapsulatedPixelData)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(!0!==e.hadUndefinedLength)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have undefined length";if(void 0===e.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 a=n[r];if(void 0===(a=Y(i,a)))throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";return H(t,e,a,J(r,n,i,a),i)}var K=!1;function Q(t,e,r){if(K||(K=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),void 0===t)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if(void 0===e)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if("x7fe00010"!==e.tag)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if(!0!==e.encapsulatedPixelData)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(!0!==e.hadUndefinedLength)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===e.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===e.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!==e.basicOffsetTable.length?V(t,e,r):H(t,e,0,e.fragments.length)}e.default={isStringVr:i,isPrivateTag:a,parsePN:o,parseTM:c,parseDA:u,explicitElementToString:f,explicitDataSetToJS:l,createJPEGBasicOffsetTable:p,parseDicomDataSetExplicit:F,parseDicomDataSetImplicit:_,readFixedString:g,alloc:D,version:N,bigEndianByteArrayParser:U,ByteStream:B,sharedCopy:M,DataSet:E,findAndSetUNElementLength:m,findEndOfEncapsulatedElement:v,findItemDelimitationItemAndSetElementLength:x,littleEndianByteArrayParser:G,parseDicom:z,readDicomElementExplicit:I,readDicomElementImplicit:S,readEncapsulatedImageFrame:V,readEncapsulatedPixelData:Q,readEncapsulatedPixelDataFromFragments:H,readPart10Header:C,readSequenceItemsExplicit:T,readSequenceItemsImplicit:A,readSequenceItem:L,readTag:y,LEI:"1.2.840.10008.1.2",LEE:"1.2.840.10008.1.2.1"}}],n={},e.m=r,e.c=n,e.d=function(t,r,n){e.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:n})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,r){if(1&r&&(t=e(t)),8&r)return t;if(4&r&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(e.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&r&&"string"!=typeof t)for(var i in t)e.d(n,i,function(e){return t[e]}.bind(null,i));return n},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=1);function e(t){if(n[t])return n[t].exports;var i=n[t]={i:t,l:!1,exports:{}};return r[t].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var r,n}(r(559))},559:()=>{}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var a=e[n]={exports:{}};return t[n].call(a.exports,a,a.exports,r),a.exports}r.m=t,r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.u=t=>t+".js",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t;r.g.importScripts&&(t=r.g.location+"");var e=r.g.document;if(!t&&e&&(e.currentScript&&"SCRIPT"===e.currentScript.tagName.toUpperCase()&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var i=n.length-1;i>-1&&(!t||!/^http(s?):/.test(t));)t=n[i--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=t})(),r.b=document.baseURI||self.location.href;var n={};return(()=>{"use strict";r.r(n),r.d(n,{CodDicomWebServer:()=>Te,FetchType:()=>a,clearPartialFiles:()=>re,default:()=>je});var t={};r.r(t),r.d(t,{DataRetrieveMode:()=>c,FetchType:()=>a,RequestType:()=>o,URLType:()=>s});var e={};r.r(e),r.d(e,{DOMAIN:()=>S,FILE_EXTENSIONS:()=>L,URL_VALIDATION_STRING:()=>O});var i={};r.r(i),r.d(i,{FILE_PARTIAL_WORKER_NAME:()=>A,FILE_STREAMING_WORKER_NAME:()=>k,FILE_SYSTEM_ROUTES:()=>I,IDB_DIR_HANDLE_KEY:()=>j,THRESHOLD:()=>T});var a=function(t){return t[t.BYTES_OPTIMIZED=0]="BYTES_OPTIMIZED",t[t.API_OPTIMIZED=1]="API_OPTIMIZED",t}({}),o=function(t){return t[t.FRAME=0]="FRAME",t[t.THUMBNAIL=1]="THUMBNAIL",t[t.SERIES_METADATA=2]="SERIES_METADATA",t[t.INSTANCE_METADATA=3]="INSTANCE_METADATA",t}({}),c=function(t){return t[t.WORKER=0]="WORKER",t[t.REQUEST=1]="REQUEST",t}({}),s=function(t){return t[t.THUMBNAIL=0]="THUMBNAIL",t[t.FILE=1]="FILE",t[t.OTHERS=2]="OTHERS",t}({}),u=r(915);function f(t){return f="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},f(t)}function l(t,e,r){return(e=p(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function h(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,p(n.key),n)}}function d(t,e,r){return e&&h(t.prototype,e),r&&h(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function p(t){var e=function(t,e){if("object"!=f(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!=f(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==f(e)?e:e+""}function y(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e,r){return e=E(e),function(t,e){if(e&&("object"==f(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,b()?Reflect.construct(e,r||[],E(t).constructor):e.apply(t,r))}function m(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&w(t,e)}function g(t){var e="function"==typeof Map?new Map:void 0;return g=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return function(t,e,r){if(b())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var i=new(t.bind.apply(t,n));return r&&w(i,r.prototype),i}(t,arguments,E(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),w(r,t)},g(t)}function b(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(b=function(){return!!t})()}function w(t,e){return w=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},w(t,e)}function E(t){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},E(t)}var x=function(t){function e(){return y(this,e),v(this,e,arguments)}return m(e,t),d(e)}(g(Error)),P=function(t){function e(t,r){var n;return y(this,e),l(n=v(this,e,[t]),"error",void 0),l(n,"message",void 0),n.message=t,n.error=r,n}return m(e,t),d(e)}(g(Event)),S="https://storage.googleapis.com",L=[".tar",".zip"],O="/dicomweb/",A="filePartial",k="fileStreaming",T=1e4,j="indexed_db_directory_handle_key",I={Partial:"partial"};const F={Enums:t,url:e,dataRetrieval:i};function _(t){return _="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},_(t)}function D(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */D=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,i=Object.defineProperty||function(t,e,r){t[e]=r.value},a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var a=e&&e.prototype instanceof m?e:m,o=Object.create(a.prototype),c=new j(n||[]);return i(o,"_invoke",{value:O(t,r,c)}),o}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var h="suspendedStart",d="suspendedYield",p="executing",y="completed",v={};function m(){}function g(){}function b(){}var w={};u(w,o,(function(){return this}));var E=Object.getPrototypeOf,x=E&&E(E(I([])));x&&x!==r&&n.call(x,o)&&(w=x);var P=b.prototype=m.prototype=Object.create(w);function S(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function L(t,e){function r(i,a,o,c){var s=l(t[i],t,a);if("throw"!==s.type){var u=s.arg,f=u.value;return f&&"object"==_(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,o,c)}),(function(t){r("throw",t,o,c)})):e.resolve(f).then((function(t){u.value=t,o(u)}),(function(t){return r("throw",t,o,c)}))}c(s.arg)}var a;i(this,"_invoke",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return a=a?a.then(i,i):i()}})}function O(e,r,n){var i=h;return function(a,o){if(i===p)throw Error("Generator is already running");if(i===y){if("throw"===a)throw o;return{value:t,done:!0}}for(n.method=a,n.arg=o;;){var c=n.delegate;if(c){var s=A(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(i===h)throw i=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i=p;var u=l(e,r,n);if("normal"===u.type){if(i=n.done?y:d,u.arg===v)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(i=y,n.method="throw",n.arg=u.arg)}}}function A(e,r){var n=r.method,i=e.iterator[n];if(i===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,A(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var a=l(i,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,v;var o=a.arg;return o?o.done?(r[e.resultName]=o.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function k(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(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function I(e){if(e||""===e){var r=e[o];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,a=function r(){for(;++i<e.length;)if(n.call(e,i))return r.value=e[i],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(_(e)+" is not iterable")}return g.prototype=b,i(P,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:g,configurable:!0}),g.displayName=u(b,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,u(t,s,"GeneratorFunction")),t.prototype=Object.create(P),t},e.awrap=function(t){return{__await:t}},S(L.prototype),u(L.prototype,c,(function(){return this})),e.AsyncIterator=L,e.async=function(t,r,n,i,a){void 0===a&&(a=Promise);var o=new L(f(t,r,n,i),a);return e.isGeneratorFunction(r)?o:o.next().then((function(t){return t.done?t.value:o.next()}))},S(P),u(P,s,"Generator"),u(P,o,(function(){return this})),u(P,"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=I,j.prototype={constructor:j,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(T),!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 i(n,i){return c.type="throw",c.arg=e,r.next=n,i&&(r.method="next",r.arg=t),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var o=this.tryEntries[a],c=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(s&&u){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var o=a?a.completion:{};return o.type=t,o.arg=e,a?(this.method="next",this.next=a.finallyLoc,v):this.complete(o)},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),v},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),T(r),v}},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 i=n.arg;T(r)}return i}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:I(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function N(t,e,r,n,i,a,o){try{var c=t[a](o),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,i)}function U(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,R(n.key),n)}}function M(t,e,r){return(e=R(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function R(t){var e=function(t,e){if("object"!=_(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!=_(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==_(e)?e:e+""}const B=function(){return t=function t(){var e=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),M(this,"loaderRegistry",{}),M(this,"listenerCallback",(function(t,r,n){var i,a=null===(i=e.loaderRegistry[t])||void 0===i?void 0:i.listeners[r];a&&a.forEach((function(t){return t({data:n})}))}))},e=[{key:"register",value:function(t,e){try{if(!e)throw new x("Loader object for ".concat(t," is not provided"));this.loaderRegistry[t]={loaderObject:e,listeners:{}}}catch(t){throw console.warn(t),new x("throws")}}},{key:"executeTask",value:(n=D().mark((function t(e,r,n){var i,a,o=this;return D().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=null===(i=this.loaderRegistry[e])||void 0===i?void 0:i.loaderObject){t.next=3;break}throw new x("Loader ".concat(e," not registered"));case 3:return t.prev=3,t.next=6,a[r](n,(function(t){return o.listenerCallback(e,"message",t)}));case 6:return t.abrupt("return",t.sent);case 9:throw t.prev=9,t.t0=t.catch(3),console.error('Error executing task "'.concat(r,'" on "').concat(e,'":'),t.t0),new x('Task "'.concat(r,'" failed: ').concat(t.t0.message));case 13:case"end":return t.stop()}}),t,this,[[3,9]])})),i=function(){var t=this,e=arguments;return new Promise((function(r,i){var a=n.apply(t,e);function o(t){N(a,r,i,o,c,"next",t)}function c(t){N(a,r,i,o,c,"throw",t)}o(void 0)}))},function(t,e,r){return i.apply(this,arguments)})},{key:"addEventListener",value:function(t,e,r){var n=this.loaderRegistry[t];n?n.listeners[e]?n.listeners[e].push(r):n.listeners[e]=[r]:console.error("Loader '".concat(t,"' is not registered."))}},{key:"removeEventListener",value:function(t,e,r){var n=this.loaderRegistry[t];n?n.listeners[e]=(n.listeners[e]||[]).filter((function(t){return t!==r})):console.error("Loader '".concat(t,"' is not registered."))}},{key:"reset",value:function(){this.loaderRegistry={}}}],e&&U(t.prototype,e),r&&U(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,r,n,i}(); /** * @license * Copyright 2019 Google LLC * SPDX-License-Identifier: Apache-2.0 */ const G=Symbol("Comlink.proxy"),C=Symbol("Comlink.endpoint"),q=Symbol("Comlink.releaseProxy"),z=Symbol("Comlink.finalizer"),W=Symbol("Comlink.thrown"),H=t=>"object"==typeof t&&null!==t||"function"==typeof t,Y=new Map([["proxy",{canHandle:t=>H(t)&&t[G],serialize(t){const{port1:e,port2:r}=new MessageChannel;return J(t,e),[r,[r]]},deserialize:t=>(t.start(),K(t))}],["throw",{canHandle:t=>H(t)&&W 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 J(t,e=globalThis,r=["*"]){e.addEventListener("message",(function n(i){if(!i||!i.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}(r,i.origin))return void console.warn(`Invalid origin '${i.origin}' for comlink proxy`);const{id:a,type:o,path:c}=Object.assign({path:[]},i.data),s=(i.data.argumentList||[]).map(it);let u;try{const e=c.slice(0,-1).reduce(((t,e)=>t[e]),t),r=c.reduce(((t,e)=>t[e]),t);switch(o){case"GET":u=r;break;case"SET":e[c.slice(-1)[0]]=it(i.data.value),u=!0;break;case"APPLY":u=r.apply(e,s);break;case"CONSTRUCT":u=function(t){return Object.assign(t,{[G]:!0})}(new r(...s));break;case"ENDPOINT":{const{port1:e,port2:r}=new MessageChannel;J(t,r),u=function(t,e){return rt.set(t,e),t}(e,[e])}break;case"RELEASE":u=void 0;break;default:return}}catch(t){u={value:t,[W]:0}}Promise.resolve(u).catch((t=>({value:t,[W]:0}))).then((r=>{const[i,c]=nt(r);e.postMessage(Object.assign(Object.assign({},i),{id:a}),c),"RELEASE"===o&&(e.removeEventListener("message",n),V(e),z in t&&"function"==typeof t[z]&&t[z]())})).catch((t=>{const[r,n]=nt({value:new TypeError("Unserializable return value"),[W]:0});e.postMessage(Object.assign(Object.assign({},r),{id:a}),n)}))})),e.start&&e.start()}function V(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function K(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)}})),tt(t,r,[],e)}function Q(t){if(t)throw new Error("Proxy has been released and is not useable")}function Z(t){return at(t,new Map,{type:"RELEASE"}).then((()=>{V(t)}))}const $=new WeakMap,X="FinalizationRegistry"in globalThis&&new FinalizationRegistry((t=>{const e=($.get(t)||0)-1;$.set(t,e),0===e&&Z(t)}));function tt(t,e,r=[],n=function(){}){let