UNPKG

vitessce

Version:

Vitessce app and React component library

2 lines 4.4 MB
/*! For license information please see spatial.min.js.LICENSE.txt */ !function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("react"),require("react-dom")):"function"===typeof define&&define.amd?define(["react","react-dom"],t):"object"===typeof exports?exports.spatial=t(require("react"),require("react-dom")):(e.vitessce=e.vitessce||{},e.vitessce.spatial=t(e.React,e.ReactDOM))}(this,(function(e,t){return function(e){var t={};function A(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,A),i.l=!0,i.exports}return A.m=e,A.c=t,A.d=function(e,t,n){A.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},A.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},A.t=function(e,t){if(1&t&&(e=A(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(A.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)A.d(n,i,function(t){return e[t]}.bind(null,i));return n},A.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return A.d(t,"a",t),t},A.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},A.p="./",A(A.s=1056)}([function(t,A){t.exports=e},function(e,t,A){"use strict";function n(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}A.d(t,"a",(function(){return n}))},function(e,t,A){e.exports=A(554)},function(e,t,A){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";function n(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function i(e,t,A){return t&&n(e.prototype,t),A&&n(e,A),e}A.d(t,"a",(function(){return i}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n=A(131);function i(e){if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=Object(n.a)(e))){var t=0,A=function(){};return{s:A,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:A}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,r,o=!0,a=!1;return{s:function(){i=e[Symbol.iterator]()},n:function(){var e=i.next();return o=e.done,e},e:function(e){a=!0,r=e},f:function(){try{o||null==i.return||i.return()}finally{if(a)throw r}}}}},function(e,t,A){"use strict";A.d(t,"a",(function(){return r}));var n=A(1);function i(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function r(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?i(Object(A),!0).forEach((function(t){Object(n.a)(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):i(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}},function(e,t,A){"use strict";A.d(t,"a",(function(){return n})),A.d(t,"c",(function(){return i})),A.d(t,"d",(function(){return r})),A.d(t,"b",(function(){return o}));var n={DESCRIPTION:"description",STATUS:"status",GENES:"genes",CELL_SETS:"cellSets",SCATTERPLOT:"scatterplot",SPATIAL:"spatial",HEATMAP:"heatmap",LAYER_CONTROLLER:"layerController",CELL_SET_SIZES:"cellSetSizes",GENOMIC_PROFILES:"genomicProfiles",CELL_SET_EXPRESSION:"cellSetExpression",EXPRESSION_HISTOGRAM:"expressionHistogram",GATING:"gating"},i={CELLS:"cells",CELL_SETS:"cell-sets",EXPRESSION_MATRIX:"expression-matrix",GENOMIC_PROFILES:"genomic-profiles",MOLECULES:"molecules",NEIGHBORHOODS:"neighborhoods",RASTER:"raster"},r={CELLS_JSON:"cells.json",CELL_SETS_JSON:"cell-sets.json",EXPRESSION_MATRIX_ZARR:"expression-matrix.zarr",GENOMIC_PROFILES_ZARR:"genomic-profiles.zarr",MOLECULES_JSON:"molecules.json",NEIGHBORHOODS_JSON:"neighborhoods.json",RASTER_JSON:"raster.json",RASTER_OME_ZARR:"raster.ome-zarr",CLUSTERS_JSON:"clusters.json",GENES_JSON:"genes.json",ANNDATA_CELL_SETS_ZARR:"anndata-cell-sets.zarr",ANNDATA_CELLS_ZARR:"anndata-cells.zarr",ANNDATA_EXPRESSION_MATRIX_ZARR:"anndata-expression-matrix.zarr"},o={DATASET:"dataset",OBS_TYPE:"obsType",FEATURE_TYPE:"featureType",FEATURE_VALUE_TYPE:"featureValueType",EMBEDDING_TYPE:"embeddingType",EMBEDDING_ZOOM:"embeddingZoom",EMBEDDING_ROTATION:"embeddingRotation",EMBEDDING_TARGET_X:"embeddingTargetX",EMBEDDING_TARGET_Y:"embeddingTargetY",EMBEDDING_TARGET_Z:"embeddingTargetZ",EMBEDDING_OBS_SET_POLYGONS_VISIBLE:"embeddingObsSetPolygonsVisible",EMBEDDING_OBS_SET_LABELS_VISIBLE:"embeddingObsSetLabelsVisible",EMBEDDING_OBS_SET_LABEL_SIZE:"embeddingObsSetLabelSize",EMBEDDING_OBS_RADIUS:"embeddingObsRadius",EMBEDDING_OBS_RADIUS_MODE:"embeddingObsRadiusMode",EMBEDDING_OBS_OPACITY:"embeddingObsOpacity",EMBEDDING_OBS_OPACITY_MODE:"embeddingObsOpacityMode",SPATIAL_ZOOM:"spatialZoom",SPATIAL_ROTATION:"spatialRotation",SPATIAL_TARGET_X:"spatialTargetX",SPATIAL_TARGET_Y:"spatialTargetY",SPATIAL_TARGET_Z:"spatialTargetZ",SPATIAL_ROTATION_X:"spatialRotationX",SPATIAL_ROTATION_Y:"spatialRotationY",SPATIAL_ROTATION_Z:"spatialRotationZ",SPATIAL_ROTATION_ORBIT:"spatialRotationOrbit",SPATIAL_ORBIT_AXIS:"spatialOrbitAxis",SPATIAL_AXIS_FIXED:"spatialAxisFixed",HEATMAP_ZOOM_X:"heatmapZoomX",HEATMAP_ZOOM_Y:"heatmapZoomY",HEATMAP_TARGET_X:"heatmapTargetX",HEATMAP_TARGET_Y:"heatmapTargetY",OBS_FILTER:"obsFilter",OBS_HIGHLIGHT:"obsHighlight",OBS_SET_SELECTION:"obsSetSelection",OBS_SET_HIGHLIGHT:"obsSetHighlight",OBS_SET_COLOR:"obsSetColor",FEATURE_FILTER:"featureFilter",FEATURE_HIGHLIGHT:"featureHighlight",FEATURE_SELECTION:"featureSelection",FEATURE_VALUE_COLORMAP:"featureValueColormap",FEATURE_VALUE_TRANSFORM:"featureValueTransform",FEATURE_VALUE_COLORMAP_RANGE:"featureValueColormapRange",OBS_COLOR_ENCODING:"obsColorEncoding",SPATIAL_IMAGE_LAYER:"spatialImageLayer",SPATIAL_SEGMENTATION_LAYER:"spatialSegmentationLayer",SPATIAL_POINT_LAYER:"spatialPointLayer",SPATIAL_NEIGHBORHOOD_LAYER:"spatialNeighborhoodLayer",GENOMIC_ZOOM_X:"genomicZoomX",GENOMIC_ZOOM_Y:"genomicZoomY",GENOMIC_TARGET_X:"genomicTargetX",GENOMIC_TARGET_Y:"genomicTargetY",ADDITIONAL_OBS_SETS:"additionalObsSets",MOLECULE_HIGHLIGHT:"moleculeHighlight",GATING_FEATURE_SELECTION_X:"gatingFeatureSelectionX",GATING_FEATURE_SELECTION_Y:"gatingFeatureSelectionY",FEATURE_VALUE_TRANSFORM_COEFFICIENT:"featureValueTransformCoefficient"}},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n=A(208);function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Object(n.a)(e,t)}},function(e,t,A){"use strict";var n=A(17),i=A(282);function r(e){return(r="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)}var o=A(28);function a(e,t){return!t||"object"!==r(t)&&"function"!==typeof t?Object(o.a)(e):t}function s(e){return function(){var t,A=Object(n.a)(e);if(Object(i.a)()){var r=Object(n.a)(this).constructor;t=Reflect.construct(A,arguments,r)}else t=A.apply(this,arguments);return a(this,t)}}A.d(t,"a",(function(){return s}))},function(e,t,A){"use strict";function n(e,t,A,n,i,r,o){try{var a=e[r](o),s=a.value}catch(g){return void A(g)}a.done?t(s):Promise.resolve(s).then(n,i)}function i(e){return function(){var t=this,A=arguments;return new Promise((function(i,r){var o=e.apply(t,A);function a(e){n(o,i,r,a,s,"next",e)}function s(e){n(o,i,r,a,s,"throw",e)}a(void 0)}))}}A.d(t,"a",(function(){return i}))},function(e,t,A){"use strict";var n=A(250);var i=A(131),r=A(251);function o(e,t){return Object(n.a)(e)||function(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var A=[],n=!0,i=!1,r=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!t||A.length!==t);n=!0);}catch(s){i=!0,r=s}finally{try{n||null==a.return||a.return()}finally{if(i)throw r}}return A}}(e,t)||Object(i.a)(e,t)||Object(r.a)()}A.d(t,"a",(function(){return o}))},,function(e,t,A){"use strict";function n(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";var n=A(197);var i=A(252),r=A(131);function o(e){return function(e){if(Array.isArray(e))return Object(n.a)(e)}(e)||Object(i.a)(e)||Object(r.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}A.d(t,"a",(function(){return o}))},function(e,t,A){"use strict";function n(){return(n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var A=arguments[t];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(e[n]=A[n])}return e}).apply(this,arguments)}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";var n=new(A(632).a)({id:"luma.gl"}),i=A(54),r=(A(412),A(164)),o=A(120),a=A(50),s=A(65);function g(e){var t=e.luma;if(e.canvas&&t){var A=t.canvasSizeInfo.clientWidth;return A?e.drawingBufferWidth/A:1}return 1}function c(e,t){var A=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=g(e),i=e.drawingBufferWidth,r=e.drawingBufferHeight;return u(t,n,i,r,A)}function I(e){var t="undefined"===typeof window?1:window.devicePixelRatio||1;return Number.isFinite(e)?e<=0?1:e:e?t:1}function u(e,t,A,n,i){var r,o=l(e[0],t,A),a=C(e[1],t,n,i),s=l(e[0]+1,t,A),g=s===A-1?s:s-1;return s=C(e[1]+1,t,n,i),i?(r=a,a=s=0===s?s:s+1):r=s===n-1?s:s-1,{x:o,y:a,width:Math.max(g-o+1,1),height:Math.max(r-a+1,1)}}function l(e,t,A){return Math.min(Math.round(e*t),A-1)}function C(e,t,A,n){return n?Math.max(0,A-1-Math.round(e*t)):Math.min(Math.round(e*t),A-1)}var h=Object(a.isBrowser)(),f=h&&"undefined"!==typeof document,d={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function B(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(s.a)(h,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils");var t,A=e=Object.assign({},d,e),n=A.width,i=A.height;function r(t){if(e.throwOnError)throw new Error(t);return console.error(t),null}e.onError=r;var o=e,a=o.canvas,g=E({canvas:a,width:n,height:i,onError:r});return(t=v(g,e))?(m(t=p(t,e)),t):null}function p(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e||e._instrumented)return e;e._version=e._version||Q(e),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var A=t=Object.assign({},d,t),i=A.manageState,r=A.debug;return i&&Object(o.c)(e,{copyState:!1,log:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];return n.log.apply(n,[1].concat(t))()}}),h&&r&&(a.global.makeDebugContext?(e=a.global.makeDebugContext(e,t),n.level=Math.max(n.level,1)):n.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),e._instrumented=!0,e}function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.canvas){var A=I(t.useDevicePixels);b(e,A,t)}else{var n=e.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in t&&"height"in t&&n.resize(t.width,t.height)}}function v(e,t){var A=t.onError,n=null,i=function(e){return n=e.statusMessage||n};e.addEventListener("webglcontextcreationerror",i,!1);var r=t.webgl1,o=void 0===r||r,a=t.webgl2,s=void 0===a||a,g=null;return s&&(g=(g=g||e.getContext("webgl2",t))||e.getContext("experimental-webgl2",t)),o&&(g=(g=g||e.getContext("webgl",t))||e.getContext("experimental-webgl",t)),e.removeEventListener("webglcontextcreationerror",i,!1),g?(t.onContextLost&&e.addEventListener("webglcontextlost",t.onContextLost,!1),t.onContextRestored&&e.addEventListener("webglcontextrestored",t.onContextRestored,!1),g):A("Failed to create ".concat(s&&!o?"WebGL2":"WebGL"," context: ").concat(n||"Unknown error"))}function E(e){var t,A=e.canvas,n=e.width,i=void 0===n?800:n,r=e.height,o=void 0===r?600:r,a=e.onError;"string"===typeof A?(f&&"complete"===document.readyState||a("createGLContext called on canvas '".concat(A,"' before page was loaded")),t=document.getElementById(A)):A?t=A:((t=document.createElement("canvas")).id="lumagl-canvas",t.style.width=Number.isFinite(i)?"".concat(i,"px"):"100%",t.style.height=Number.isFinite(o)?"".concat(o,"px"):"100%",document.body.insertBefore(t,document.body.firstChild));return t}function m(e){var t=Object(i.e)(e)?"WebGL2":"WebGL1",A=function(e){var t=e.getParameter(7936),A=e.getParameter(7937),n=e.getExtension("WEBGL_debug_renderer_info");return{vendor:n&&e.getParameter(n.UNMASKED_VENDOR_WEBGL||7936)||t,renderer:n&&e.getParameter(n.UNMASKED_RENDERER_WEBGL||7937)||A,vendorMasked:t,rendererMasked:A,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}(e),r=A?"(".concat(A.vendor,",").concat(A.renderer,")"):"",o=e.debug?" debug":"";n.info(1,"".concat(t).concat(o," context ").concat(r))()}function Q(e){return"undefined"!==typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext?2:1}function b(e,t,A){var i="width"in A?A.width:e.canvas.clientWidth,r="height"in A?A.height:e.canvas.clientHeight;i&&r||(n.log(1,"Canvas clientWidth/clientHeight is 0")(),t=1,i=e.canvas.width||1,r=e.canvas.height||1),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var o=e.luma.canvasSizeInfo;if(o.clientWidth!==i||o.clientHeight!==r||o.devicePixelRatio!==t){var a=t,s=Math.floor(i*a),g=Math.floor(r*a);e.canvas.width=s,e.canvas.height=g,e.drawingBufferWidth===s&&e.drawingBufferHeight===g||(n.warn("Device pixel ratio clamped")(),a=Math.min(e.drawingBufferWidth/i,e.drawingBufferHeight/r),e.canvas.width=Math.floor(i*a),e.canvas.height=Math.floor(r*a)),Object.assign(e.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:t})}}A.d(t,"k",(function(){return n})),A.d(t,"i",(function(){return i.d})),A.d(t,"j",(function(){return i.e})),A.d(t,"g",(function(){return i.c})),A.d(t,"b",(function(){return i.b})),A.d(t,"a",(function(){return i.a})),A.d(t,"f",(function(){return r.a})),A.d(t,"n",(function(){return r.c})),A.d(t,"l",(function(){return r.b})),A.d(t,"o",(function(){return r.d})),A.d(t,"c",(function(){return B})),A.d(t,"m",(function(){return y})),A.d(t,"h",(function(){return p})),A.d(t,"e",(function(){return g})),A.d(t,"d",(function(){return c}))},function(e,t,A){"use strict";function n(e){return(n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}A.d(t,"a",(function(){return n}))},function(e,t,A){e.exports=A(568)()},function(e,t,A){"use strict";var n=A(17);function i(e,t,A){return(i="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,A){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Object(n.a)(e)););return e}(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(A):r.value}})(e,t,A||e)}A.d(t,"a",(function(){return i}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return i}));var n=A(122);function i(e,t){if(null==e)return{};var A,i,r=Object(n.a)(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)A=o[i],t.indexOf(A)>=0||Object.prototype.propertyIsEnumerable.call(e,A)&&(r[A]=e[A])}return r}},function(e,t,A){"use strict";A.r(t),t.default={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,FUNC_ADD:32774,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,BLEND_COLOR:32773,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,VENDOR:7936,RENDERER:7937,VERSION:7938,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,BROWSER_DEFAULT_WEBGL:37444,STATIC_DRAW:35044,STREAM_DRAW:35040,DYNAMIC_DRAW:35048,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,CULL_FACE:2884,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,BLEND:3042,DEPTH_TEST:2929,DITHER:3024,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,SCISSOR_TEST:3089,STENCIL_TEST:2960,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CONTEXT_LOST_WEBGL:37442,CW:2304,CCW:2305,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,COMPILE_STATUS:35713,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_ATTRIBUTES:35721,ACTIVE_UNIFORMS:35718,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,ALWAYS:519,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,GEQUAL:518,NOTEQUAL:517,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,TEXTURE_WIDTH:4096,TEXTURE_HEIGHT:4097,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,MAX_3D_TEXTURE_SIZE:32883,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,MAX_TEXTURE_LOD_BIAS:34045,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,RASTERIZER_DISCARD:35977,VERTEX_ARRAY_BINDING:34229,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,MAX_ELEMENT_INDEX:36203,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,RGB9_E5:35901,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2UI:36975,TEXTURE_IMMUTABLE_FORMAT:37167,TEXTURE_IMMUTABLE_LEVELS:33503,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,UNSIGNED_INT_24_8:34042,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,INT_2_10_10_10_REV:36255,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,MAX_SAMPLES:36183,SAMPLER_BINDING:35097,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,UNSIGNED_NORMALIZED:35863,SIGNED_NORMALIZED:36764,VERTEX_ATTRIB_ARRAY_INTEGER:35069,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,DEPTH24_STENCIL8:35056,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,COLOR:6144,DEPTH:6145,STENCIL:6146,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,INVALID_INDEX:4294967295,TIMEOUT_IGNORED:-1,MAX_CLIENT_WAIT_TIMEOUT_WEBGL:37447,VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE:35070,UNMASKED_VENDOR_WEBGL:37445,UNMASKED_RENDERER_WEBGL:37446,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047,TEXTURE_MAX_ANISOTROPY_EXT:34046,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35986,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,UNSIGNED_INT_24_8_WEBGL:34042,HALF_FLOAT_OES:36193,RGBA32F_EXT:34836,RGB32F_EXT:34837,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT:33297,UNSIGNED_NORMALIZED_EXT:35863,MIN_EXT:32775,MAX_EXT:32776,SRGB_EXT:35904,SRGB_ALPHA_EXT:35906,SRGB8_ALPHA8_EXT:35907,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT:33296,FRAGMENT_SHADER_DERIVATIVE_HINT_OES:35723,COLOR_ATTACHMENT0_WEBGL:36064,COLOR_ATTACHMENT1_WEBGL:36065,COLOR_ATTACHMENT2_WEBGL:36066,COLOR_ATTACHMENT3_WEBGL:36067,COLOR_ATTACHMENT4_WEBGL:36068,COLOR_ATTACHMENT5_WEBGL:36069,COLOR_ATTACHMENT6_WEBGL:36070,COLOR_ATTACHMENT7_WEBGL:36071,COLOR_ATTACHMENT8_WEBGL:36072,COLOR_ATTACHMENT9_WEBGL:36073,COLOR_ATTACHMENT10_WEBGL:36074,COLOR_ATTACHMENT11_WEBGL:36075,COLOR_ATTACHMENT12_WEBGL:36076,COLOR_ATTACHMENT13_WEBGL:36077,COLOR_ATTACHMENT14_WEBGL:36078,COLOR_ATTACHMENT15_WEBGL:36079,DRAW_BUFFER0_WEBGL:34853,DRAW_BUFFER1_WEBGL:34854,DRAW_BUFFER2_WEBGL:34855,DRAW_BUFFER3_WEBGL:34856,DRAW_BUFFER4_WEBGL:34857,DRAW_BUFFER5_WEBGL:34858,DRAW_BUFFER6_WEBGL:34859,DRAW_BUFFER7_WEBGL:34860,DRAW_BUFFER8_WEBGL:34861,DRAW_BUFFER9_WEBGL:34862,DRAW_BUFFER10_WEBGL:34863,DRAW_BUFFER11_WEBGL:34864,DRAW_BUFFER12_WEBGL:34865,DRAW_BUFFER13_WEBGL:34866,DRAW_BUFFER14_WEBGL:34867,DRAW_BUFFER15_WEBGL:34868,MAX_COLOR_ATTACHMENTS_WEBGL:36063,MAX_DRAW_BUFFERS_WEBGL:34852,VERTEX_ARRAY_BINDING_OES:34229,QUERY_COUNTER_BITS_EXT:34916,CURRENT_QUERY_EXT:34917,QUERY_RESULT_EXT:34918,QUERY_RESULT_AVAILABLE_EXT:34919,TIME_ELAPSED_EXT:35007,TIMESTAMP_EXT:36392,GPU_DISJOINT_EXT:36795}},function(e,t,A){"use strict";function n(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.r(t);var n=A(118);A.d(t,"Vector2",(function(){return n.g})),A.d(t,"Vector3",(function(){return n.h})),A.d(t,"Vector4",(function(){return n.i})),A.d(t,"Matrix3",(function(){return n.b})),A.d(t,"Matrix4",(function(){return n.c})),A.d(t,"Quaternion",(function(){return n.e})),A.d(t,"config",(function(){return n.u})),A.d(t,"configure",(function(){return n.v})),A.d(t,"formatValue",(function(){return n.A})),A.d(t,"isArray",(function(){return n.B})),A.d(t,"clone",(function(){return n.t})),A.d(t,"equals",(function(){return n.y})),A.d(t,"exactEquals",(function(){return n.z})),A.d(t,"toRadians",(function(){return n.H})),A.d(t,"toDegrees",(function(){return n.G})),A.d(t,"radians",(function(){return n.D})),A.d(t,"degrees",(function(){return n.x})),A.d(t,"sin",(function(){return n.E})),A.d(t,"cos",(function(){return n.w})),A.d(t,"tan",(function(){return n.F})),A.d(t,"asin",(function(){return n.o})),A.d(t,"acos",(function(){return n.n})),A.d(t,"atan",(function(){return n.q})),A.d(t,"clamp",(function(){return n.s})),A.d(t,"lerp",(function(){return n.C})),A.d(t,"withEpsilon",(function(){return n.I})),A.d(t,"checkNumber",(function(){return n.r})),A.d(t,"_MathUtils",(function(){return n.k})),A.d(t,"SphericalCoordinates",(function(){return n.f})),A.d(t,"Pose",(function(){return n.d})),A.d(t,"Euler",(function(){return n.a})),A.d(t,"assert",(function(){return n.p})),A.d(t,"_SphericalCoordinates",(function(){return n.m})),A.d(t,"_Pose",(function(){return n.l})),A.d(t,"_Euler",(function(){return n.j}))},function(e,t,A){"use strict";function n(e){var t,A,i="";if("string"===typeof e||"number"===typeof e)i+=e;else if("object"===typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(A=n(e[t]))&&(i&&(i+=" "),i+=A);else for(t in e)e[t]&&(i&&(i+=" "),i+=t);return i}A.r(t),t.default=function(){for(var e,t,A=0,i="";A<arguments.length;)(e=arguments[A++])&&(t=n(e))&&(i&&(i+=" "),i+=t);return i}},function(e,t,A){"use strict";A.d(t,"b",(function(){return n})),A.d(t,"a",(function(){return i})),A.d(t,"c",(function(){return r}));var n=1e-6,i="undefined"!==typeof Float32Array?Float32Array:Array,r=Math.random;Math.PI;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)})},function(e,t,A){"use strict";A.d(t,"b",(function(){return n})),A.d(t,"a",(function(){return i})),A.d(t,"c",(function(){return r}));var n=1e-6,i="undefined"!==typeof Float32Array?Float32Array:Array,r=Math.random;Math.PI;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)})},function(e,t,A){"use strict";A.d(t,"f",(function(){return s})),A.d(t,"g",(function(){return g})),A.d(t,"l",(function(){return I})),A.d(t,"m",(function(){return u})),A.d(t,"e",(function(){return l})),A.d(t,"s",(function(){return h})),A.d(t,"r",(function(){return f})),A.d(t,"o",(function(){return d})),A.d(t,"i",(function(){return B})),A.d(t,"p",(function(){return p})),A.d(t,"h",(function(){return y})),A.d(t,"q",(function(){return v})),A.d(t,"b",(function(){return E})),A.d(t,"a",(function(){return m})),A.d(t,"c",(function(){return Q})),A.d(t,"d",(function(){return b})),A.d(t,"n",(function(){return w})),A.d(t,"j",(function(){return G})),A.d(t,"k",(function(){return S})),A.d(t,"t",(function(){return F}));var n=A(88),i=A(14),r=A(73),o=1/Math.PI*180,a=1/180*Math.PI,s={};function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in e)Object(r.a)(t in s),s[t]=e[t];return s}function c(e){return Math.round(e/s.EPSILON)*s.EPSILON}function I(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=t.precision,n=void 0===A?s.precision||4:A;return e=c(e),"".concat(parseFloat(e.toPrecision(n)))}function u(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function l(e){return e.clone?e.clone():Object(n.a)(Array,Object(i.a)(e))}function C(e,t,A){if(u(e)){A=A||((i=e).clone?i.clone():new Array(i.length));for(var n=0;n<A.length&&n<e.length;++n)A[n]=t(e[n],n,A);return A}var i;return t(e)}function h(e){return d(e)}function f(e){return B(e)}function d(e,t){return C(e,(function(e){return e*a}),t)}function B(e,t){return C(e,(function(e){return e*o}),t)}function p(e){return C(e,(function(e){return Math.sin(e)}))}function y(e){return C(e,(function(e){return Math.cos(e)}))}function v(e){return C(e,(function(e){return Math.tan(e)}))}function E(e){return C(e,(function(e){return Math.asin(e)}))}function m(e){return C(e,(function(e){return Math.acos(e)}))}function Q(e){return C(e,(function(e){return Math.atan(e)}))}function b(e,t,A){return C(e,(function(e){return Math.max(t,Math.min(A,e))}))}function w(e,t,A){return u(e)?e.map((function(e,n){return w(e,t[n],A)})):A*t+(1-A)*e}function G(e,t,A){var n=s.EPSILON;A&&(s.EPSILON=A);try{if(e===t)return!0;if(u(e)&&u(t)){if(e.length!==t.length)return!1;for(var i=0;i<e.length;++i)if(!G(e[i],t[i]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):!(!Number.isFinite(e)||!Number.isFinite(t))&&Math.abs(e-t)<=s.EPSILON*Math.max(1,Math.abs(e),Math.abs(t))}finally{s.EPSILON=n}}function S(e,t){if(e===t)return!0;if(e&&"object"===typeof e&&t&&"object"===typeof t){if(e.constructor!==t.constructor)return!1;if(e.exactEquals)return e.exactEquals(t)}if(u(e)&&u(t)){if(e.length!==t.length)return!1;for(var A=0;A<e.length;++A)if(!S(e[A],t[A]))return!1;return!0}return!1}function F(e,t){var A,n=s.EPSILON;s.EPSILON=e;try{A=t()}finally{s.EPSILON=n}return A}s.EPSILON=1e-12,s.debug=!1,s.precision=4,s.printTypes=!1,s.printDegrees=!1,s.printRowMajor=!0},function(e,t,A){"use strict";function n(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}A.d(t,"a",(function(){return n}))},function(e,t,A){"use strict";A.d(t,"a",(function(){return r})),A.d(t,"b",(function(){return o})),A.d(t,"c",(function(){return s}));var n=A(27);function i(e,t){if(e.length!==t)return!1;for(var A=0;A<e.length;++A)if(!Number.isFinite(e[A]))return!1;return!0}function r(e){if(!Number.isFinite(e))throw new Error("Invalid number ".concat(e));return e}function o(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(n.f.debug&&!i(e,t))throw new Error("math.gl: ".concat(A," some fields set to invalid numbers'"));return e}var a={};function s(e,t){a[e]||(a[e]=!0,console.warn("".concat(e," has been removed in version ").concat(t,", see upgrade guide for more information")))}},function(e,t,A){"use strict";var n=A(15),i=A(20),r=A(0),o=A.n(r),a=A(278),s=A.n(a),g=A(502),c=A(746),I=A(371),u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(A){var r=t.defaultTheme,a=t.withTheme,u=void 0!==a&&a,l=t.name,C=Object(i.a)(t,["defaultTheme","withTheme","name"]);var h=l,f=Object(g.a)(e,Object(n.a)({defaultTheme:r,Component:A,name:l||A.displayName,classNamePrefix:h},C)),d=o.a.forwardRef((function(e,t){e.classes;var a,s=e.innerRef,g=Object(i.a)(e,["classes","innerRef"]),C=f(Object(n.a)({},A.defaultProps,e)),h=g;return("string"===typeof l||u)&&(a=Object(I.a)()||r,l&&(h=Object(c.a)({theme:a,name:l,props:g})),u&&!h.theme&&(h.theme=a)),o.a.createElement(A,Object(n.a)({ref:s||t,classes:C},h))}));return s()(d,A),d}},l=A(149);t.a=function(e,t){return u(e,Object(n.a)({defaultTheme:l.a},t))}},function(e,t,A){"use strict";A.d(t,"a",(function(){return i})),A.d(t,"c",(function(){return r})),A.d(t,"d",(function(){return o})),A.d(t,"b",(function(){return a}));var n=A(33),i={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(i,"IDENTITY",{get:function(){return n.a.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0}});var r={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},o={common:0,meters:1,pixels:2},a={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}}},,function(e,t,A){"use strict";var n=A(632);t.a=new n.a({id:"deck"})},function(e,t,A){"use strict";(function(e,n){A.d(t,"a",(function(){return D})),A.d(t,"b",(function(){return nt})),A.d(t,"c",(function(){return R})),A.d(t,"d",(function(){return y})),A.d(t,"e",(function(){return ft})),A.d(t,"f",(function(){return yt})),A.d(t,"g",(function(){return M}));var i=A(6),r=A(85),o=A(11),a=A(14),s=A(4),g=A(2),c=A.n(g),I=A(5),u=A(3),l=A(28),C=A(8),h=A(9),f=A(62),d=A(10),B=c.a.mark(K),p=new Map;function y(e,t){p.set(e,t)}function v(e){return E.apply(this,arguments)}function E(){return(E=Object(d.a)(c.a.mark((function e(t){var A;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(p.has(t.id)){e.next=2;break}throw new Error("Compression codec ".concat(t.id," is not supported by Zarr.js yet."));case 2:return e.next=4,p.get(t.id)();case 4:return A=e.sent,e.abrupt("return",A.fromConfig(t));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function m(e){return new Proxy(e,{set:function(e,t,A,n){return e.setItem(t,A)},get:function(e,t,A){return e.getItem(t)},deleteProperty:function(e,t){return e.deleteItem(t)},has:function(e,t){return e.containsItem(t)}})}function Q(e){return"object"===typeof(t=e)&&null!==t&&"__zarr__"in t&&"KeyError"===e.__zarr__;var t}var b=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this,"path ".concat(e," contains an array"))).__zarr__="ContainsArrayError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),w=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this,"path ".concat(e," contains a group"))).__zarr__="ContainsGroupError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),G=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this,"array not found at path ".concat(e))).__zarr__="ArrayNotFoundError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),S=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this,"ground not found at path ".concat(e))).__zarr__="GroupNotFoundError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),F=(Error,function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this,e)).__zarr__="PermissionError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(f.a)(Error))),R=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this,"key ".concat(e," not present"))).__zarr__="KeyError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),x=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e,n){var i;return Object(u.a)(this,A),(i=t.call(this,"too many indices for array; expected ".concat(n.length,", got ").concat(e.length))).__zarr__="TooManyIndicesError",Object.setPrototypeOf(Object(l.a)(i),A.prototype),i}return A}(Object(f.a)(RangeError)),D=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this,e)).__zarr__="BoundsCheckError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(f.a)(RangeError)),N=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e,n,i,r){var o;return Object(u.a)(this,A),(o=t.call(this,"slice arguments slice(".concat(e,", ").concat(n,", ").concat(i,") invalid: ").concat(r))).__zarr__="InvalidSliceError",Object.setPrototypeOf(Object(l.a)(o),A.prototype),o}return A}(Object(f.a)(RangeError)),_=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(){var e;return Object(u.a)(this,A),(e=t.call(this,"Negative step size is not supported when indexing.")).__zarr__="NegativeStepError",Object.setPrototypeOf(Object(l.a)(e),A.prototype),e}return A}(Object(f.a)(Error)),k=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this,e)).__zarr__="ValueError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(f.a)(Error)),U=function(e){Object(C.a)(A,e);var t=Object(h.a)(A);function A(e){var n;return Object(u.a)(this,A),(n=t.call(this,e)).__zarr__="HTTPError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(f.a)(Error));function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(void 0===e)throw new N(e,t,A,"The first argument must not be undefined");if("string"===typeof e&&":"!==e||"string"===typeof t&&":"!==t)throw new N(e,t,A,'Arguments can only be integers, ":" or null');return void 0===t&&(t=e,e=null),{start:":"===e?null:e,stop:":"===t?null:t,step:A,_slice:!0}}function Z(e,t){var A,n,i;i=null===e.step?1:e.step,null===e.start?A=i<0?Number.MAX_SAFE_INTEGER:0:(A=e.start)<0&&(A+=t),null===e.stop?n=i<0?-Number.MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER:(n=e.stop)<0&&(n+=t);var r=function(e,t,A,n){if(e<0?(e+=n)<0&&(e=A<0?-1:0):e>=n&&(e=A<0?n-1:n),t<0?(t+=n)<0&&(t=A<0?-1:0):t>=n&&(t=A<0?n-1:n),A<0){if(t<e)return[e,t,A,Math.floor((e-t-1)/-A+1)]}else if(e<t)return[e,t,A,Math.floor((t-e-1)/A+1)];return[e,t,A,0]}(A,n,i,t);if(A=r[0],n=r[1],i=r[2],t=r[3],0===i)throw new Error("Step size 0 is invalid");return[A,n,i,t]}function O(e){return Array.isArray(e)?e:[e]}function T(e,t){for(var A=[],n=[],i=0;i<e.length;i++){var r=e[i];if("number"===typeof r)A.push(r);else{var o=Z(r,t[i]),a=o[3];n.push(a),A.push(o)}}return[A,n]}function L(e,t){var A=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e=V(e,t);for(var n=0;n<e.length;n++){var i=e[n];if("number"===typeof i)e[n]=A?M(i,i+1,1):H(i,t[n]);else{if(Y(i))throw new TypeError("Integer array selections are not supported (yet)");":"!==i&&null!==i||(e[n]=M(null,null,1))}}return e}function V(e,t){e=O(e);for(var A=-1,n=0,i=0;i<e.length;i++)"..."===e[i]&&(A=i,n+=1);if(n>1)throw new RangeError("an index can only have a single ellipsis ('...')");if(1===n){var r=A,o=e.length-(r+1),a=e.length-1;if(a>=t.length)e=e.filter((function(e){return"..."!==e}));else{var s=t.length-a,g=e.slice(0,r).concat(new Array(s).fill(null));o>0&&(g=g.concat(e.slice(e.length-o))),e=g}}if(e.length<t.length){var c=t.length-e.length;e=e.concat(new Array(c).fill(null))}return function(e,t){if(e.length>t.length)throw new x(e,t)}(e,t),e}function H(e,t){if(e<0&&(e=t+e),e>=t||e<0)throw new D("index out of bounds for dimension with length ".concat(t));return e}function Y(e){if(!Array.isArray(e))return!1;var t,A=Object(I.a)(e);try{for(A.s();!(t=A.n()).done;){if("number"!==typeof t.value)return!1}}catch(n){A.e(n)}finally{A.f()}return!0}function W(e){return null!==e&&!0===e._slice}function J(e){return W(e)&&(null===e.step||1===e.step)}function P(e){e=O(e);for(var t=0;t<e.length;t++){var A=e[t];if(!Y(A)&&!J(A)&&"..."!==A)return!1}return!0}function K(){var e,t,A,n,i,r,o=arguments;return c.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:for(e=o.length,t=new Array(e),A=0;A<e;A++)t[A]=o[A];if(0!==t.length){a.next=3;break}return a.abrupt("return");case 3:n=t.map((function(e){return e()})),i=n.map((function(e){return e.next()})),r=0;case 6:if(!i[r].done){a.next=13;break}if(n[r]=t[r](),i[r]=n[r].next(),!(++r>=n.length)){a.next=11;break}return a.abrupt("return");case 11:a.next=16;break;case 13:return a.next=15,i.map((function(e){return e.value}));case 15:r=0;case 16:i[r]=n[r].next();case 17:a.next=6;break;case 19:case"end":return a.stop()}}),B)}var j=function(){function e(t,A){Object(u.a)(this,e),t=L(t,A.shape),this.dimIndexers=[];for(var n=A.shape,i=0;i<n.length;i++){var r=t[i],o=n[i],a=A.chunks[i];if(null===r&&(r=M(null)),"number"===typeof r)this.dimIndexers.push(new X(r,o,a));else{if(!W(r))throw new RangeError("Unspported selection item for basic indexing; expected integer or slice, got ".concat(r));this.dimIndexers.push(new z(r,o,a))}}this.shape=[];var s,g=Object(I.a)(this.dimIndexers);try{for(g.s();!(s=g.n()).done;){var c=s.value;c instanceof z&&this.shape.push(c.numItems)}}catch(l){g.e(l)}finally{g.f()}this.dropAxes=null}return Object(s.a)(e,[{key:"iter",value:c.a.mark((function e(){var t,A,n,i,r,o,s,g,u,l,C;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.dimIndexers.map((function(e){return function(){return e.iter()}})),A=K.apply(void 0,Object(a.a)(t)),n=Object(I.a)(A),e.prev=3,n.s();case 5:if((i=n.n()).done){e.next=16;break}r=i.value,o=[],s=[],g=[],u=Object(I.a)(r);try{for(u.s();!(l=u.n()).done;)C=l.value,o.push(C.dimChunkIndex),s.push(C.dimChunkSelection),null!==C.dimOutSelection&&g.push(C.dimOutSelection)}catch(c){u.e(c)}finally{u.f()}return e.next=14,{chunkCoords:o,chunkSelection:s,outSelection:g};case 14:e.next=5;break;case 16:e.next=21;break;case 18:e.prev=18,e.t0=e.catch(3),n.e(e.t0);case 21:return e.prev=21,n.f(),e.finish(21);case 24:case"end":return e.stop()}}),e,this,[[3,18,21,24]])}))}]),e}(),X=function(){function e(t,A,n){Object(u.a)(this,e),t=H(t,A),this.dimSelection=t,this.dimLength=A,this.dimChunkLength=n,this.numItems=1}return Object(s.a)(e,[{key:"iter",value:c.a.mark((function e(){var t,A,n;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Math.floor(this.dimSelection/this.dimChunkLength),A=t*this.dimChunkLength,n=this.dimSelection-A,null,e.next=6,{dimChunkIndex:t,dimChunkSelection:n,dimOutSelection:null};case 6:case"end":return e.stop()}}),e,this)}))}]),e}(),z=function(){function e(t,A,n){Object(u.a)(this,e);var i=Z(t,A),r=Object(o.a)(i,3),a=r[0],s=r[1],g=r[2];if(this.start=a,this.stop=s,this.step=g,this.step<1)throw new _;this.dimLength=A,this.dimChunkLength=n,this.numItems=Math.max(0,Math.ceil((this.stop-this.start)/this.step)),this.numChunks=Math.ceil(this.dimLength/this.dimChunkLength)}return Object(s.a)(e,[{key:"iter",value:c.a.mark((function e(){var t,A,n,i,r,o,a,s,g,I,u,l,C;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=Math.floor(this.start/this.dimChunkLength),A=Math.ceil(this.stop/this.dimChunkLength),n=t;case 3:if(!(n<A)){e.next=20;break}return i=n*this.dimChunkLength,r=Math.min(this.dimLength,(n+1)*this.dimChunkLength),o=r-i,a=void 0,s=void 0,g=void 0,this.start<i?(a=0,(I=(i-this.start)%this.step)>0&&(a+=this.step-I),g=Math.ceil((i-this.start)/this.step)):(a=this.start-i,g=0),s=this.stop>r?o:this.stop-i,u=M(a,s,this.step),l=Math.ceil((s-a)/this.step),C=M(g,g+l),e.next=17,{dimChunkIndex:n,dimChunkSelection:u,dimOutSelection:C};case 17:n++,e.next=3;break;case 20:case"end":return e.stop()}}),e,this)}))}]),e}(),q="undefined"!==typeof e&&e.versions&&e.versions.node;function $(e){if(null===e)return"";for(e instanceof String&&(e=e.valueOf()),e=e.replace(/\\/g,"/");e.length>0&&"/"===e[0];)e=e.slice(1);for(;e.length>0&&"/"===e[e.length-1];)e=e.slice(0,e.length-1);var t,A=(e=e.replace(/\/\/+/g,"/")).split("/"),n=Object(I.a)(A);try{for(n.s();!(t=n.n()).done;){var i=t.value;if("."===i||".."===i)throw Error("path containing '.' or '..' segment not allowed")}}catch(r){n.e(r)}finally{n.f()}return e}function ee(e){return"number"===typeof e&&(e=[e]),e.map((function(e){return Math.floor(e)}))}function te(e,t){if(null===e||!0===e)throw new Error("Chunk guessing is not supported yet");return!1===e?t:("number"===typeof e&&(e=[e]),e.length<t.length&&(e=e.concat(