UNPKG

vitessce

Version:

Vitessce app and React component library

2 lines 4.17 MB
/*! For license information please see scatterplot.min.js.LICENSE.txt */ !function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("react"),require("react-dom")):"function"===typeof define&&define.amd?define(["react","react-dom"],e):"object"===typeof exports?exports.scatterplot=e(require("react"),require("react-dom")):(t.vitessce=t.vitessce||{},t.vitessce.scatterplot=e(t.React,t.ReactDOM))}(this,(function(t,e){return function(t){var e={};function A(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,A),i.l=!0,i.exports}return A.m=t,A.c=e,A.d=function(t,e,n){A.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},A.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},A.t=function(t,e){if(1&e&&(t=A(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(A.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)A.d(n,i,function(e){return t[e]}.bind(null,i));return n},A.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return A.d(e,"a",e),e},A.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},A.p="./",A(A.s=1057)}([function(e,A){e.exports=t},function(t,e,A){"use strict";function n(t,e,A){return e in t?Object.defineProperty(t,e,{value:A,enumerable:!0,configurable:!0,writable:!0}):t[e]=A,t}A.d(e,"a",(function(){return n}))},function(t,e,A){t.exports=A(554)},function(t,e,A){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}A.d(e,"a",(function(){return n}))},function(t,e,A){"use strict";function n(t,e){for(var A=0;A<e.length;A++){var n=e[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e,A){return e&&n(t.prototype,e),A&&n(t,A),t}A.d(e,"a",(function(){return i}))},function(t,e,A){"use strict";A.d(e,"a",(function(){return i}));var n=A(131);function i(t){if("undefined"===typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(t=Object(n.a)(t))){var e=0,A=function(){};return{s:A,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},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=t[Symbol.iterator]()},n:function(){var t=i.next();return o=t.done,t},e:function(t){a=!0,r=t},f:function(){try{o||null==i.return||i.return()}finally{if(a)throw r}}}}},function(t,e,A){"use strict";A.d(e,"a",(function(){return r}));var n=A(1);function i(t,e){var A=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),A.push.apply(A,n)}return A}function r(t){for(var e=1;e<arguments.length;e++){var A=null!=arguments[e]?arguments[e]:{};e%2?i(Object(A),!0).forEach((function(e){Object(n.a)(t,e,A[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(A)):i(Object(A)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(A,e))}))}return t}},function(t,e,A){"use strict";A.d(e,"a",(function(){return n})),A.d(e,"c",(function(){return i})),A.d(e,"d",(function(){return r})),A.d(e,"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(t,e,A){"use strict";A.d(e,"a",(function(){return i}));var n=A(208);function i(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}}),e&&Object(n.a)(t,e)}},function(t,e,A){"use strict";var n=A(17),i=A(282);function r(t){return(r="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)}var o=A(28);function a(t,e){return!e||"object"!==r(e)&&"function"!==typeof e?Object(o.a)(t):e}function g(t){return function(){var e,A=Object(n.a)(t);if(Object(i.a)()){var r=Object(n.a)(this).constructor;e=Reflect.construct(A,arguments,r)}else e=A.apply(this,arguments);return a(this,e)}}A.d(e,"a",(function(){return g}))},function(t,e,A){"use strict";function n(t,e,A,n,i,r,o){try{var a=t[r](o),g=a.value}catch(s){return void A(s)}a.done?e(g):Promise.resolve(g).then(n,i)}function i(t){return function(){var e=this,A=arguments;return new Promise((function(i,r){var o=t.apply(e,A);function a(t){n(o,i,r,a,g,"next",t)}function g(t){n(o,i,r,a,g,"throw",t)}a(void 0)}))}}A.d(e,"a",(function(){return i}))},function(t,e,A){"use strict";var n=A(250);var i=A(131),r=A(251);function o(t,e){return Object(n.a)(t)||function(t,e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t)){var A=[],n=!0,i=!1,r=void 0;try{for(var o,a=t[Symbol.iterator]();!(n=(o=a.next()).done)&&(A.push(o.value),!e||A.length!==e);n=!0);}catch(g){i=!0,r=g}finally{try{n||null==a.return||a.return()}finally{if(i)throw r}}return A}}(t,e)||Object(i.a)(t,e)||Object(r.a)()}A.d(e,"a",(function(){return o}))},,function(t,e,A){"use strict";function n(t,e,A){return e in t?Object.defineProperty(t,e,{value:A,enumerable:!0,configurable:!0,writable:!0}):t[e]=A,t}A.d(e,"a",(function(){return n}))},function(t,e,A){"use strict";var n=A(197);var i=A(252),r=A(131);function o(t){return function(t){if(Array.isArray(t))return Object(n.a)(t)}(t)||Object(i.a)(t)||Object(r.a)(t)||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(e,"a",(function(){return o}))},function(t,e,A){"use strict";function n(){return(n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var A=arguments[e];for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&(t[n]=A[n])}return t}).apply(this,arguments)}A.d(e,"a",(function(){return n}))},function(t,e,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),g=A(65);function s(t){var e=t.luma;if(t.canvas&&e){var A=e.canvasSizeInfo.clientWidth;return A?t.drawingBufferWidth/A:1}return 1}function I(t,e){var A=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=s(t),i=t.drawingBufferWidth,r=t.drawingBufferHeight;return u(e,n,i,r,A)}function c(t){var e="undefined"===typeof window?1:window.devicePixelRatio||1;return Number.isFinite(t)?t<=0?1:t:t?e:1}function u(t,e,A,n,i){var r,o=l(t[0],e,A),a=C(t[1],e,n,i),g=l(t[0]+1,e,A),s=g===A-1?g:g-1;return g=C(t[1]+1,e,n,i),i?(r=a,a=g=0===g?g:g+1):r=g===n-1?g:g-1,{x:o,y:a,width:Math.max(s-o+1,1),height:Math.max(r-a+1,1)}}function l(t,e,A){return Math.min(Math.round(t*e),A-1)}function C(t,e,A,n){return n?Math.max(0,A-1-Math.round(t*e)):Math.min(Math.round(t*e),A-1)}var h=Object(a.isBrowser)(),d=h&&"undefined"!==typeof document,f={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function B(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object(g.a)(h,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils");var e,A=t=Object.assign({},f,t),n=A.width,i=A.height;function r(e){if(t.throwOnError)throw new Error(e);return console.error(e),null}t.onError=r;var o=t,a=o.canvas,s=v({canvas:a,width:n,height:i,onError:r});return(e=E(s,t))?(Q(e=p(e,t)),e):null}function p(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t||t._instrumented)return t;t._version=t._version||m(t),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{};var A=e=Object.assign({},f,e),i=A.manageState,r=A.debug;return i&&Object(o.c)(t,{copyState:!1,log:function(){for(var t=arguments.length,e=new Array(t),A=0;A<t;A++)e[A]=arguments[A];return n.log.apply(n,[1].concat(e))()}}),h&&r&&(a.global.makeDebugContext?(t=a.global.makeDebugContext(t,e),n.level=Math.max(n.level,1)):n.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),t._instrumented=!0,t}function y(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.canvas){var A=c(e.useDevicePixels);b(t,A,e)}else{var n=t.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in e&&"height"in e&&n.resize(e.width,e.height)}}function E(t,e){var A=e.onError,n=null,i=function(t){return n=t.statusMessage||n};t.addEventListener("webglcontextcreationerror",i,!1);var r=e.webgl1,o=void 0===r||r,a=e.webgl2,g=void 0===a||a,s=null;return g&&(s=(s=s||t.getContext("webgl2",e))||t.getContext("experimental-webgl2",e)),o&&(s=(s=s||t.getContext("webgl",e))||t.getContext("experimental-webgl",e)),t.removeEventListener("webglcontextcreationerror",i,!1),s?(e.onContextLost&&t.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&t.addEventListener("webglcontextrestored",e.onContextRestored,!1),s):A("Failed to create ".concat(g&&!o?"WebGL2":"WebGL"," context: ").concat(n||"Unknown error"))}function v(t){var e,A=t.canvas,n=t.width,i=void 0===n?800:n,r=t.height,o=void 0===r?600:r,a=t.onError;"string"===typeof A?(d&&"complete"===document.readyState||a("createGLContext called on canvas '".concat(A,"' before page was loaded")),e=document.getElementById(A)):A?e=A:((e=document.createElement("canvas")).id="lumagl-canvas",e.style.width=Number.isFinite(i)?"".concat(i,"px"):"100%",e.style.height=Number.isFinite(o)?"".concat(o,"px"):"100%",document.body.insertBefore(e,document.body.firstChild));return e}function Q(t){var e=Object(i.e)(t)?"WebGL2":"WebGL1",A=function(t){var e=t.getParameter(7936),A=t.getParameter(7937),n=t.getExtension("WEBGL_debug_renderer_info");return{vendor:n&&t.getParameter(n.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:n&&t.getParameter(n.UNMASKED_RENDERER_WEBGL||7937)||A,vendorMasked:e,rendererMasked:A,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t),r=A?"(".concat(A.vendor,",").concat(A.renderer,")"):"",o=t.debug?" debug":"";n.info(1,"".concat(e).concat(o," context ").concat(r))()}function m(t){return"undefined"!==typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext?2:1}function b(t,e,A){var i="width"in A?A.width:t.canvas.clientWidth,r="height"in A?A.height:t.canvas.clientHeight;i&&r||(n.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=t.canvas.width||1,r=t.canvas.height||1),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{};var o=t.luma.canvasSizeInfo;if(o.clientWidth!==i||o.clientHeight!==r||o.devicePixelRatio!==e){var a=e,g=Math.floor(i*a),s=Math.floor(r*a);t.canvas.width=g,t.canvas.height=s,t.drawingBufferWidth===g&&t.drawingBufferHeight===s||(n.warn("Device pixel ratio clamped")(),a=Math.min(t.drawingBufferWidth/i,t.drawingBufferHeight/r),t.canvas.width=Math.floor(i*a),t.canvas.height=Math.floor(r*a)),Object.assign(t.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}A.d(e,"k",(function(){return n})),A.d(e,"i",(function(){return i.d})),A.d(e,"j",(function(){return i.e})),A.d(e,"g",(function(){return i.c})),A.d(e,"b",(function(){return i.b})),A.d(e,"a",(function(){return i.a})),A.d(e,"f",(function(){return r.a})),A.d(e,"n",(function(){return r.c})),A.d(e,"l",(function(){return r.b})),A.d(e,"o",(function(){return r.d})),A.d(e,"c",(function(){return B})),A.d(e,"m",(function(){return y})),A.d(e,"h",(function(){return p})),A.d(e,"e",(function(){return s})),A.d(e,"d",(function(){return I}))},function(t,e,A){"use strict";function n(t){return(n=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}A.d(e,"a",(function(){return n}))},function(t,e,A){t.exports=A(568)()},function(t,e,A){"use strict";var n=A(17);function i(t,e,A){return(i="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(t,e,A){var i=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=Object(n.a)(t)););return t}(t,e);if(i){var r=Object.getOwnPropertyDescriptor(i,e);return r.get?r.get.call(A):r.value}})(t,e,A||t)}A.d(e,"a",(function(){return i}))},function(t,e,A){"use strict";A.d(e,"a",(function(){return i}));var n=A(122);function i(t,e){if(null==t)return{};var A,i,r=Object(n.a)(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i<o.length;i++)A=o[i],e.indexOf(A)>=0||Object.prototype.propertyIsEnumerable.call(t,A)&&(r[A]=t[A])}return r}},function(t,e,A){"use strict";A.r(e),e.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(t,e,A){"use strict";function n(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}A.d(e,"a",(function(){return n}))},function(t,e,A){"use strict";A.r(e);var n=A(118);A.d(e,"Vector2",(function(){return n.g})),A.d(e,"Vector3",(function(){return n.h})),A.d(e,"Vector4",(function(){return n.i})),A.d(e,"Matrix3",(function(){return n.b})),A.d(e,"Matrix4",(function(){return n.c})),A.d(e,"Quaternion",(function(){return n.e})),A.d(e,"config",(function(){return n.u})),A.d(e,"configure",(function(){return n.v})),A.d(e,"formatValue",(function(){return n.A})),A.d(e,"isArray",(function(){return n.B})),A.d(e,"clone",(function(){return n.t})),A.d(e,"equals",(function(){return n.y})),A.d(e,"exactEquals",(function(){return n.z})),A.d(e,"toRadians",(function(){return n.H})),A.d(e,"toDegrees",(function(){return n.G})),A.d(e,"radians",(function(){return n.D})),A.d(e,"degrees",(function(){return n.x})),A.d(e,"sin",(function(){return n.E})),A.d(e,"cos",(function(){return n.w})),A.d(e,"tan",(function(){return n.F})),A.d(e,"asin",(function(){return n.o})),A.d(e,"acos",(function(){return n.n})),A.d(e,"atan",(function(){return n.q})),A.d(e,"clamp",(function(){return n.s})),A.d(e,"lerp",(function(){return n.C})),A.d(e,"withEpsilon",(function(){return n.I})),A.d(e,"checkNumber",(function(){return n.r})),A.d(e,"_MathUtils",(function(){return n.k})),A.d(e,"SphericalCoordinates",(function(){return n.f})),A.d(e,"Pose",(function(){return n.d})),A.d(e,"Euler",(function(){return n.a})),A.d(e,"assert",(function(){return n.p})),A.d(e,"_SphericalCoordinates",(function(){return n.m})),A.d(e,"_Pose",(function(){return n.l})),A.d(e,"_Euler",(function(){return n.j}))},function(t,e,A){"use strict";function n(t){var e,A,i="";if("string"===typeof t||"number"===typeof t)i+=t;else if("object"===typeof t)if(Array.isArray(t))for(e=0;e<t.length;e++)t[e]&&(A=n(t[e]))&&(i&&(i+=" "),i+=A);else for(e in t)t[e]&&(i&&(i+=" "),i+=e);return i}A.r(e),e.default=function(){for(var t,e,A=0,i="";A<arguments.length;)(t=arguments[A++])&&(e=n(t))&&(i&&(i+=" "),i+=e);return i}},function(t,e,A){"use strict";A.d(e,"b",(function(){return n})),A.d(e,"a",(function(){return i})),A.d(e,"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 t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)})},function(t,e,A){"use strict";A.d(e,"b",(function(){return n})),A.d(e,"a",(function(){return i})),A.d(e,"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 t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)})},function(t,e,A){"use strict";A.d(e,"f",(function(){return g})),A.d(e,"g",(function(){return s})),A.d(e,"l",(function(){return c})),A.d(e,"m",(function(){return u})),A.d(e,"e",(function(){return l})),A.d(e,"s",(function(){return h})),A.d(e,"r",(function(){return d})),A.d(e,"o",(function(){return f})),A.d(e,"i",(function(){return B})),A.d(e,"p",(function(){return p})),A.d(e,"h",(function(){return y})),A.d(e,"q",(function(){return E})),A.d(e,"b",(function(){return v})),A.d(e,"a",(function(){return Q})),A.d(e,"c",(function(){return m})),A.d(e,"d",(function(){return b})),A.d(e,"n",(function(){return G})),A.d(e,"j",(function(){return w})),A.d(e,"k",(function(){return F})),A.d(e,"t",(function(){return S}));var n=A(88),i=A(14),r=A(73),o=1/Math.PI*180,a=1/180*Math.PI,g={};function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var e in t)Object(r.a)(e in g),g[e]=t[e];return g}function I(t){return Math.round(t/g.EPSILON)*g.EPSILON}function c(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=e.precision,n=void 0===A?g.precision||4:A;return t=I(t),"".concat(parseFloat(t.toPrecision(n)))}function u(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function l(t){return t.clone?t.clone():Object(n.a)(Array,Object(i.a)(t))}function C(t,e,A){if(u(t)){A=A||((i=t).clone?i.clone():new Array(i.length));for(var n=0;n<A.length&&n<t.length;++n)A[n]=e(t[n],n,A);return A}var i;return e(t)}function h(t){return f(t)}function d(t){return B(t)}function f(t,e){return C(t,(function(t){return t*a}),e)}function B(t,e){return C(t,(function(t){return t*o}),e)}function p(t){return C(t,(function(t){return Math.sin(t)}))}function y(t){return C(t,(function(t){return Math.cos(t)}))}function E(t){return C(t,(function(t){return Math.tan(t)}))}function v(t){return C(t,(function(t){return Math.asin(t)}))}function Q(t){return C(t,(function(t){return Math.acos(t)}))}function m(t){return C(t,(function(t){return Math.atan(t)}))}function b(t,e,A){return C(t,(function(t){return Math.max(e,Math.min(A,t))}))}function G(t,e,A){return u(t)?t.map((function(t,n){return G(t,e[n],A)})):A*e+(1-A)*t}function w(t,e,A){var n=g.EPSILON;A&&(g.EPSILON=A);try{if(t===e)return!0;if(u(t)&&u(e)){if(t.length!==e.length)return!1;for(var i=0;i<t.length;++i)if(!w(t[i],e[i]))return!1;return!0}return t&&t.equals?t.equals(e):e&&e.equals?e.equals(t):!(!Number.isFinite(t)||!Number.isFinite(e))&&Math.abs(t-e)<=g.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))}finally{g.EPSILON=n}}function F(t,e){if(t===e)return!0;if(t&&"object"===typeof t&&e&&"object"===typeof e){if(t.constructor!==e.constructor)return!1;if(t.exactEquals)return t.exactEquals(e)}if(u(t)&&u(e)){if(t.length!==e.length)return!1;for(var A=0;A<t.length;++A)if(!F(t[A],e[A]))return!1;return!0}return!1}function S(t,e){var A,n=g.EPSILON;g.EPSILON=t;try{A=e()}finally{g.EPSILON=n}return A}g.EPSILON=1e-12,g.debug=!1,g.precision=4,g.printTypes=!1,g.printDegrees=!1,g.printRowMajor=!0},function(t,e,A){"use strict";function n(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}A.d(e,"a",(function(){return n}))},function(t,e,A){"use strict";A.d(e,"a",(function(){return r})),A.d(e,"b",(function(){return o})),A.d(e,"c",(function(){return g}));var n=A(27);function i(t,e){if(t.length!==e)return!1;for(var A=0;A<t.length;++A)if(!Number.isFinite(t[A]))return!1;return!0}function r(t){if(!Number.isFinite(t))throw new Error("Invalid number ".concat(t));return t}function o(t,e){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(n.f.debug&&!i(t,e))throw new Error("math.gl: ".concat(A," some fields set to invalid numbers'"));return t}var a={};function g(t,e){a[t]||(a[t]=!0,console.warn("".concat(t," has been removed in version ").concat(e,", see upgrade guide for more information")))}},function(t,e,A){"use strict";var n=A(15),i=A(20),r=A(0),o=A.n(r),a=A(278),g=A.n(a),s=A(502),I=A(746),c=A(371),u=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(A){var r=e.defaultTheme,a=e.withTheme,u=void 0!==a&&a,l=e.name,C=Object(i.a)(e,["defaultTheme","withTheme","name"]);var h=l,d=Object(s.a)(t,Object(n.a)({defaultTheme:r,Component:A,name:l||A.displayName,classNamePrefix:h},C)),f=o.a.forwardRef((function(t,e){t.classes;var a,g=t.innerRef,s=Object(i.a)(t,["classes","innerRef"]),C=d(Object(n.a)({},A.defaultProps,t)),h=s;return("string"===typeof l||u)&&(a=Object(c.a)()||r,l&&(h=Object(I.a)({theme:a,name:l,props:s})),u&&!h.theme&&(h.theme=a)),o.a.createElement(A,Object(n.a)({ref:g||e,classes:C},h))}));return g()(f,A),f}},l=A(149);e.a=function(t,e){return u(t,Object(n.a)({defaultTheme:l.a},e))}},function(t,e,A){"use strict";A.d(e,"a",(function(){return i})),A.d(e,"c",(function(){return r})),A.d(e,"d",(function(){return o})),A.d(e,"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(t,e,A){"use strict";var n=A(632);e.a=new n.a({id:"deck"})},function(t,e,A){"use strict";(function(t,n){A.d(e,"a",(function(){return x})),A.d(e,"b",(function(){return ne})),A.d(e,"c",(function(){return R})),A.d(e,"d",(function(){return y})),A.d(e,"e",(function(){return de})),A.d(e,"f",(function(){return ye})),A.d(e,"g",(function(){return M}));var i=A(6),r=A(85),o=A(11),a=A(14),g=A(4),s=A(2),I=A.n(s),c=A(5),u=A(3),l=A(28),C=A(8),h=A(9),d=A(62),f=A(10),B=I.a.mark(K),p=new Map;function y(t,e){p.set(t,e)}function E(t){return v.apply(this,arguments)}function v(){return(v=Object(f.a)(I.a.mark((function t(e){var A;return I.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(p.has(e.id)){t.next=2;break}throw new Error("Compression codec ".concat(e.id," is not supported by Zarr.js yet."));case 2:return t.next=4,p.get(e.id)();case 4:return A=t.sent,t.abrupt("return",A.fromConfig(e));case 6:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function Q(t){return new Proxy(t,{set:function(t,e,A,n){return t.setItem(e,A)},get:function(t,e,A){return t.getItem(e)},deleteProperty:function(t,e){return t.deleteItem(e)},has:function(t,e){return t.containsItem(e)}})}function m(t){return"object"===typeof(e=t)&&null!==e&&"__zarr__"in e&&"KeyError"===t.__zarr__;var e}var b=function(t){Object(C.a)(A,t);var e=Object(h.a)(A);function A(t){var n;return Object(u.a)(this,A),(n=e.call(this,"path ".concat(t," contains an array"))).__zarr__="ContainsArrayError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(d.a)(Error)),G=function(t){Object(C.a)(A,t);var e=Object(h.a)(A);function A(t){var n;return Object(u.a)(this,A),(n=e.call(this,"path ".concat(t," contains a group"))).__zarr__="ContainsGroupError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(d.a)(Error)),w=function(t){Object(C.a)(A,t);var e=Object(h.a)(A);function A(t){var n;return Object(u.a)(this,A),(n=e.call(this,"array not found at path ".concat(t))).__zarr__="ArrayNotFoundError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(d.a)(Error)),F=function(t){Object(C.a)(A,t);var e=Object(h.a)(A);function A(t){var n;return Object(u.a)(this,A),(n=e.call(this,"ground not found at path ".concat(t))).__zarr__="GroupNotFoundError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(d.a)(Error)),S=(Error,function(t){Object(C.a)(A,t);var e=Object(h.a)(A);function A(t){var n;return Object(u.a)(this,A),(n=e.call(this,t)).__zarr__="PermissionError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(d.a)(Error))),R=function(t){Object(C.a)(A,t);var e=Object(h.a)(A);function A(t){var n;return Object(u.a)(this,A),(n=e.call(this,"key ".concat(t," not present"))).__zarr__="KeyError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(d.a)(Error)),D=function(t){Object(C.a)(A,t);var e=Object(h.a)(A);function A(t,n){var i;return Object(u.a)(this,A),(i=e.call(this,"too many indices for array; expected ".concat(n.length,", got ").concat(t.length))).__zarr__="TooManyIndicesError",Object.setPrototypeOf(Object(l.a)(i),A.prototype),i}return A}(Object(d.a)(RangeError)),x=function(t){Object(C.a)(A,t);var e=Object(h.a)(A);function A(t){var n;return Object(u.a)(this,A),(n=e.call(this,t)).__zarr__="BoundsCheckError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(d.a)(RangeError)),k=function(t){Object(C.a)(A,t);var e=Object(h.a)(A);function A(t,n,i,r){var o;return Object(u.a)(this,A),(o=e.call(this,"slice arguments slice(".concat(t,", ").concat(n,", ").concat(i,") invalid: ").concat(r))).__zarr__="InvalidSliceError",Object.setPrototypeOf(Object(l.a)(o),A.prototype),o}return A}(Object(d.a)(RangeError)),N=function(t){Object(C.a)(A,t);var e=Object(h.a)(A);function A(){var t;return Object(u.a)(this,A),(t=e.call(this,"Negative step size is not supported when indexing.")).__zarr__="NegativeStepError",Object.setPrototypeOf(Object(l.a)(t),A.prototype),t}return A}(Object(d.a)(Error)),U=function(t){Object(C.a)(A,t);var e=Object(h.a)(A);function A(t){var n;return Object(u.a)(this,A),(n=e.call(this,t)).__zarr__="ValueError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(d.a)(Error)),_=function(t){Object(C.a)(A,t);var e=Object(h.a)(A);function A(t){var n;return Object(u.a)(this,A),(n=e.call(this,t)).__zarr__="HTTPError",Object.setPrototypeOf(Object(l.a)(n),A.prototype),n}return A}(Object(d.a)(Error));function M(t){var e=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===t)throw new k(t,e,A,"The first argument must not be undefined");if("string"===typeof t&&":"!==t||"string"===typeof e&&":"!==e)throw new k(t,e,A,'Arguments can only be integers, ":" or null');return void 0===e&&(e=t,t=null),{start:":"===t?null:t,stop:":"===e?null:e,step:A,_slice:!0}}function Z(t,e){var A,n,i;i=null===t.step?1:t.step,null===t.start?A=i<0?Number.MAX_SAFE_INTEGER:0:(A=t.start)<0&&(A+=e),null===t.stop?n=i<0?-Number.MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER:(n=t.stop)<0&&(n+=e);var r=function(t,e,A,n){if(t<0?(t+=n)<0&&(t=A<0?-1:0):t>=n&&(t=A<0?n-1:n),e<0?(e+=n)<0&&(e=A<0?-1:0):e>=n&&(e=A<0?n-1:n),A<0){if(e<t)return[t,e,A,Math.floor((t-e-1)/-A+1)]}else if(t<e)return[t,e,A,Math.floor((e-t-1)/A+1)];return[t,e,A,0]}(A,n,i,e);if(A=r[0],n=r[1],i=r[2],e=r[3],0===i)throw new Error("Step size 0 is invalid");return[A,n,i,e]}function O(t){return Array.isArray(t)?t:[t]}function L(t,e){for(var A=[],n=[],i=0;i<t.length;i++){var r=t[i];if("number"===typeof r)A.push(r);else{var o=Z(r,e[i]),a=o[3];n.push(a),A.push(o)}}return[A,n]}function T(t,e){var A=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t=V(t,e);for(var n=0;n<t.length;n++){var i=t[n];if("number"===typeof i)t[n]=A?M(i,i+1,1):H(i,e[n]);else{if(Y(i))throw new TypeError("Integer array selections are not supported (yet)");":"!==i&&null!==i||(t[n]=M(null,null,1))}}return t}function V(t,e){t=O(t);for(var A=-1,n=0,i=0;i<t.length;i++)"..."===t[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=t.length-(r+1),a=t.length-1;if(a>=e.length)t=t.filter((function(t){return"..."!==t}));else{var g=e.length-a,s=t.slice(0,r).concat(new Array(g).fill(null));o>0&&(s=s.concat(t.slice(t.length-o))),t=s}}if(t.length<e.length){var I=e.length-t.length;t=t.concat(new Array(I).fill(null))}return function(t,e){if(t.length>e.length)throw new D(t,e)}(t,e),t}function H(t,e){if(t<0&&(t=e+t),t>=e||t<0)throw new x("index out of bounds for dimension with length ".concat(e));return t}function Y(t){if(!Array.isArray(t))return!1;var e,A=Object(c.a)(t);try{for(A.s();!(e=A.n()).done;){if("number"!==typeof e.value)return!1}}catch(n){A.e(n)}finally{A.f()}return!0}function J(t){return null!==t&&!0===t._slice}function W(t){return J(t)&&(null===t.step||1===t.step)}function P(t){t=O(t);for(var e=0;e<t.length;e++){var A=t[e];if(!Y(A)&&!W(A)&&"..."!==A)return!1}return!0}function K(){var t,e,A,n,i,r,o=arguments;return I.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:for(t=o.length,e=new Array(t),A=0;A<t;A++)e[A]=o[A];if(0!==e.length){a.next=3;break}return a.abrupt("return");case 3:n=e.map((function(t){return t()})),i=n.map((function(t){return t.next()})),r=0;case 6:if(!i[r].done){a.next=13;break}if(n[r]=e[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(t){return t.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 t(e,A){Object(u.a)(this,t),e=T(e,A.shape),this.dimIndexers=[];for(var n=A.shape,i=0;i<n.length;i++){var r=e[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(!J(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 g,s=Object(c.a)(this.dimIndexers);try{for(s.s();!(g=s.n()).done;){var I=g.value;I instanceof z&&this.shape.push(I.numItems)}}catch(l){s.e(l)}finally{s.f()}this.dropAxes=null}return Object(g.a)(t,[{key:"iter",value:I.a.mark((function t(){var e,A,n,i,r,o,g,s,u,l,C;return I.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=this.dimIndexers.map((function(t){return function(){return t.iter()}})),A=K.apply(void 0,Object(a.a)(e)),n=Object(c.a)(A),t.prev=3,n.s();case 5:if((i=n.n()).done){t.next=16;break}r=i.value,o=[],g=[],s=[],u=Object(c.a)(r);try{for(u.s();!(l=u.n()).done;)C=l.value,o.push(C.dimChunkIndex),g.push(C.dimChunkSelection),null!==C.dimOutSelection&&s.push(C.dimOutSelection)}catch(I){u.e(I)}finally{u.f()}return t.next=14,{chunkCoords:o,chunkSelection:g,outSelection:s};case 14:t.next=5;break;case 16:t.next=21;break;case 18:t.prev=18,t.t0=t.catch(3),n.e(t.t0);case 21:return t.prev=21,n.f(),t.finish(21);case 24:case"end":return t.stop()}}),t,this,[[3,18,21,24]])}))}]),t}(),X=function(){function t(e,A,n){Object(u.a)(this,t),e=H(e,A),this.dimSelection=e,this.dimLength=A,this.dimChunkLength=n,this.numItems=1}return Object(g.a)(t,[{key:"iter",value:I.a.mark((function t(){var e,A,n;return I.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=Math.floor(this.dimSelection/this.dimChunkLength),A=e*this.dimChunkLength,n=this.dimSelection-A,null,t.next=6,{dimChunkIndex:e,dimChunkSelection:n,dimOutSelection:null};case 6:case"end":return t.stop()}}),t,this)}))}]),t}(),z=function(){function t(e,A,n){Object(u.a)(this,t);var i=Z(e,A),r=Object(o.a)(i,3),a=r[0],g=r[1],s=r[2];if(this.start=a,this.stop=g,this.step=s,this.step<1)throw new N;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(g.a)(t,[{key:"iter",value:I.a.mark((function t(){var e,A,n,i,r,o,a,g,s,c,u,l,C;return I.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=Math.floor(this.start/this.dimChunkLength),A=Math.ceil(this.stop/this.dimChunkLength),n=e;case 3:if(!(n<A)){t.next=20;break}return i=n*this.dimChunkLength,r=Math.min(this.dimLength,(n+1)*this.dimChunkLength),o=r-i,a=void 0,g=void 0,s=void 0,this.start<i?(a=0,(c=(i-this.start)%this.step)>0&&(a+=this.step-c),s=Math.ceil((i-this.start)/this.step)):(a=this.start-i,s=0),g=this.stop>r?o:this.stop-i,u=M(a,g,this.step),l=Math.ceil((g-a)/this.step),C=M(s,s+l),t.next=17,{dimChunkIndex:n,dimChunkSelection:u,dimOutSelection:C};case 17:n++,t.next=3;break;case 20:case"end":return t.stop()}}),t,this)}))}]),t}(),q="undefined"!==typeof t&&t.versions&&t.versions.node;function $(t){if(null===t)return"";for(t instanceof String&&(t=t.valueOf()),t=t.replace(/\\/g,"/");t.length>0&&"/"===t[0];)t=t.slice(1);for(;t.length>0&&"/"===t[t.length-1];)t=t.slice(0,t.length-1);var e,A=(t=t.replace(/\/\/+/g,"/")).split("/"),n=Object(c.a)(A);try{for(n.s();!(e=n.n()).done;){var i=e.value;if("."===i||".."===i)throw Error("path containing '.' or '..' segment not allowed")}}catch(r){n.e(r)}finally{n.f()}return t}function tt(t){return"number"===typeof t&&(t=[t]),t.map((function(t){return Math.floor(t)}))}function et(t,e){if(null===t||!0===t)throw new Error("Chunk guessing is not supported yet");return!1===t?e:("number"===typeof t&&(t=[t]),t.length<e.length&&