@carto/kepler.gl 0.0.19 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -134,7 +134,7 @@ var KEPLER_GL_NAME = 'kepler.gl'; // __PACKAGE_VERSION__ is automatically inject
134
134
  // an empty string which will allow us to retrieve the latest umd version
135
135
 
136
136
  exports.KEPLER_GL_NAME = KEPLER_GL_NAME;
137
- var KEPLER_GL_VERSION = "0.0.19";
137
+ var KEPLER_GL_VERSION = "0.0.23";
138
138
  exports.KEPLER_GL_VERSION = KEPLER_GL_VERSION;
139
139
  var KEPLER_GL_WEBSITE = 'http://kepler.gl/';
140
140
  exports.KEPLER_GL_WEBSITE = KEPLER_GL_WEBSITE;
@@ -41,8 +41,6 @@ var _colorRanges = require("../../constants/color-ranges");
41
41
 
42
42
  var _clusterUtils = _interopRequireWildcard(require("../layer-utils/cluster-utils"));
43
43
 
44
- var _layerUtils = require("../../utils/layer-utils");
45
-
46
44
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
47
45
 
48
46
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -300,15 +298,16 @@ var ClusterLayer = /*#__PURE__*/function (_AggregationLayer) {
300
298
  opacity = _this$props2.opacity,
301
299
  pickable = _this$props2.pickable,
302
300
  autoHighlight = _this$props2.autoHighlight,
303
- highlightColor = _this$props2.highlightColor;
301
+ highlightColor = _this$props2.highlightColor,
302
+ maskId = _this$props2.maskId,
303
+ extensions = _this$props2.extensions;
304
304
 
305
305
  var updateTriggers = this._getSublayerUpdateTriggers();
306
306
 
307
307
  var accessors = this._getSubLayerAccessors();
308
308
 
309
309
  var distanceScale = (0, _viewportMercatorProject.getDistanceScales)(this.context.viewport);
310
- var metersPerPixel = distanceScale.metersPerPixel[0];
311
- var maskExtensionProps = (0, _layerUtils.getMaskExtensionProps)(this.props.maskPolygon); // return props to the sublayer constructor
310
+ var metersPerPixel = distanceScale.metersPerPixel[0]; // return props to the sublayer constructor
312
311
 
313
312
  return new _layers.ScatterplotLayer(_objectSpread(_objectSpread({
314
313
  id: "".concat(id, "-cluster"),
@@ -320,7 +319,10 @@ var ClusterLayer = /*#__PURE__*/function (_AggregationLayer) {
320
319
  autoHighlight: autoHighlight,
321
320
  highlightColor: highlightColor,
322
321
  updateTriggers: updateTriggers
323
- }, accessors), maskExtensionProps));
322
+ }, accessors), {}, {
323
+ maskId: maskId,
324
+ extensions: extensions
325
+ }));
324
326
  }
325
327
  }]);
326
328
  return ClusterLayer;
@@ -329,4 +331,4 @@ var ClusterLayer = /*#__PURE__*/function (_AggregationLayer) {
329
331
  exports["default"] = ClusterLayer;
330
332
  ClusterLayer.layerName = 'ClusterLayer';
331
333
  ClusterLayer.defaultProps = defaultProps;
332
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5qcyJdLCJuYW1lcyI6WyJkZWZhdWx0UmFkaXVzIiwiTEFZRVJfVklTX0NPTkZJR1MiLCJjbHVzdGVyUmFkaXVzIiwiZGVmYXVsdFZhbHVlIiwiZGVmYXVsdFJhZGl1c1JhbmdlIiwiY2x1c3RlclJhZGl1c1JhbmdlIiwiZGVmYXVsdEdldENvbG9yVmFsdWUiLCJwb2ludHMiLCJsZW5ndGgiLCJkZWZhdWx0R2V0UmFkaXVzVmFsdWUiLCJjZWxsIiwiZmlsdGVyZWRQb2ludHMiLCJwcm9jZXNzR2VvSlNPTiIsInN0ZXAiLCJwcm9wcyIsImFnZ3JlZ2F0aW9uIiwidmlld3BvcnQiLCJkYXRhIiwiZ2V0UG9zaXRpb24iLCJmaWx0ZXJEYXRhIiwiZ2VvSlNPTiIsImNsdXN0ZXJCdWlsZGVyIiwiQ2x1c3RlckJ1aWxkZXIiLCJzZXRTdGF0ZSIsImdldENsdXN0ZXJzIiwic3RhdGUiLCJ6b29tIiwid2lkdGgiLCJoZWlnaHQiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsImJib3giLCJnZW9WaWV3cG9ydCIsImJvdW5kcyIsImNsdXN0ZXJzIiwiY2x1c3RlcnNBdFpvb20iLCJsYXllckRhdGEiLCJnZXRTdWJMYXllclJhZGl1cyIsImRpbWVuc2lvblN0YXRlIiwiZGltZW5zaW9uIiwibGF5ZXJQcm9wcyIsImdldFJhZGl1c1ZhbHVlIiwic2NhbGVGdW5jIiwiY2x1c3RlckFnZ3JlZ2F0aW9uIiwia2V5IiwidXBkYXRlU3RlcHMiLCJ0cmlnZ2VycyIsInBvc2l0aW9uIiwicHJvcCIsInVwZGF0ZVRyaWdnZXIiLCJ1cGRhdGVyIiwiZ2V0UmFkaXVzVmFsdWVEb21haW4iLCJkaW1lbnNpb25VcGRhdGVyIiwidmFsdWVEb21haW4iLCJfc2V0RGltZW5zaW9uU3RhdGUiLCJjbHVzdGVyTGF5ZXJEaW1lbnNpb25zIiwiZGVmYXVsdENvbG9yRGltZW5zaW9uIiwiYWNjZXNzb3IiLCJudWxsVmFsdWUiLCJ2YWx1ZSIsImRvbWFpbiIsInJhbmdlIiwic2NhbGVUeXBlIiwiZ2V0RGltZW5zaW9uU2NhbGUiLCJnZXRTdWJMYXllckFjY2Vzc29yIiwiZ2V0UGlja2luZ0luZm8iLCJyYWRpdXNWYWx1ZSIsImRlZmF1bHRQcm9wcyIsImNvbG9yRG9tYWluIiwiY29sb3JSYW5nZSIsIkRFRkFVTFRfQ09MT1JfUkFOR0UiLCJjb2xvclNjYWxlVHlwZSIsIlNDQUxFX1RZUEVTIiwicXVhbnRpemUiLCJyYWRpdXNTY2FsZVR5cGUiLCJzcXJ0IiwicmFkaXVzUmFuZ2UiLCJ0eXBlIiwieCIsImdldENvbG9yVmFsdWUiLCJDbHVzdGVyTGF5ZXIiLCJjcHVBZ2dyZWdhdG9yIiwiQ1BVQWdncmVnYXRvciIsImRpbWVuc2lvbnMiLCJhZ2dyZWdhdG9yU3RhdGUiLCJhdHRyaWJ1dGVNYW5hZ2VyIiwiZ2V0QXR0cmlidXRlTWFuYWdlciIsImFkZCIsInBvc2l0aW9ucyIsInNpemUiLCJvbGRQcm9wcyIsImNoYW5nZUZsYWdzIiwidXBkYXRlU3RhdGUiLCJjb250ZXh0IiwiYXR0cmlidXRlcyIsImdldEF0dHJpYnV0ZXMiLCJudW1JbnN0YW5jZXMiLCJnZXROdW1JbnN0YW5jZXMiLCJpbmZvIiwiZ2V0VXBkYXRlVHJpZ2dlcnMiLCJnZXRSYWRpdXMiLCJnZXRBY2Nlc3NvciIsImdldEZpbGxDb2xvciIsImlkIiwicmFkaXVzU2NhbGUiLCJ2aXNpYmxlIiwib3BhY2l0eSIsInBpY2thYmxlIiwiYXV0b0hpZ2hsaWdodCIsImhpZ2hsaWdodENvbG9yIiwidXBkYXRlVHJpZ2dlcnMiLCJfZ2V0U3VibGF5ZXJVcGRhdGVUcmlnZ2VycyIsImFjY2Vzc29ycyIsIl9nZXRTdWJMYXllckFjY2Vzc29ycyIsImRpc3RhbmNlU2NhbGUiLCJtZXRlcnNQZXJQaXhlbCIsIm1hc2tFeHRlbnNpb25Qcm9wcyIsIm1hc2tQb2x5Z29uIiwiU2NhdHRlcnBsb3RMYXllciIsIkFnZ3JlZ2F0aW9uTGF5ZXIiLCJsYXllck5hbWUi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QUEsRUFBRSxZQUFLQSxFQUFMLGFBREc7QUFFTHRGLFFBQUFBLElBQUksRUFBRWdFLGFBQWEsQ0FBQ3hELEtBQWQsQ0FBb0JXLFNBQXBCLENBQThCbkIsSUFGL0I7QUFHTHVGLFFBQUFBLFdBQVcsRUFBRVcsY0FBYyxHQUFHWCxXQUh6QjtBQUlMQyxRQUFBQSxPQUFPLEVBQVBBLE9BSks7QUFLTEMsUUFBQUEsT0FBTyxFQUFQQSxPQUxLO0FBTUxDLFFBQUFBLFFBQVEsRUFBUkEsUUFOSztBQU9MQyxRQUFBQSxhQUFhLEVBQWJBLGFBUEs7QUFRTEMsUUFBQUEsY0FBYyxFQUFkQSxjQVJLO0FBU0xDLFFBQUFBLGNBQWMsRUFBZEE7QUFUSyxTQVVGRSxTQVZFLEdBV0ZJLGtCQVhFLEVBQVA7QUFhRDs7O0VBNUV1Q0csb0M7OztBQStFMUN2QyxZQUFZLENBQUN3QyxTQUFiLEdBQXlCLGNBQXpCO0FBQ0F4QyxZQUFZLENBQUNiLFlBQWIsR0FBNEJBLFlBQTVCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtTY2F0dGVycGxvdExheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuaW1wb3J0IHtfQWdncmVnYXRpb25MYXllciBhcyBBZ2dyZWdhdGlvbkxheWVyfSBmcm9tICdAZGVjay5nbC9hZ2dyZWdhdGlvbi1sYXllcnMnO1xuXG5pbXBvcnQgZ2VvVmlld3BvcnQgZnJvbSAnQG1hcGJveC9nZW8tdmlld3BvcnQnO1xuaW1wb3J0IENQVUFnZ3JlZ2F0b3IsIHtcbiAgZGVmYXVsdENvbG9yRGltZW5zaW9uLFxuICBnZXREaW1lbnNpb25TY2FsZVxufSBmcm9tICcuLi9sYXllci11dGlscy9jcHUtYWdncmVnYXRvcic7XG5pbXBvcnQge2dldERpc3RhbmNlU2NhbGVzfSBmcm9tICd2aWV3cG9ydC1tZXJjYXRvci1wcm9qZWN0JztcbmltcG9ydCB7bWF4fSBmcm9tICdkMy1hcnJheSc7XG5cbmltcG9ydCB7TEFZRVJfVklTX0NPTkZJR1N9IGZyb20gJ2xheWVycy9sYXllci1mYWN0b3J5JztcbmltcG9ydCB7U0NBTEVfVFlQRVN9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCB7REVGQVVMVF9DT0xPUl9SQU5HRX0gZnJvbSAnY29uc3RhbnRzL2NvbG9yLXJhbmdlcyc7XG5pbXBvcnQgQ2x1c3RlckJ1aWxkZXIsIHtnZXRHZW9KU09OfSBmcm9tICcuLi9sYXllci11dGlscy9jbHVzdGVyLXV0aWxzJztcbmltcG9ydCB7Z2V0TWFza0V4dGVuc2lvblByb3BzfSBmcm9tICd1dGlscy9sYXllci11dGlscyc7XG5cbmNvbnN0IGRlZmF1bHRSYWRpdXMgPSBMQVlFUl9WSVNfQ09ORklHUy5jbHVzdGVyUmFkaXVzLmRlZmF1bHRWYWx1ZTtcbmNvbnN0IGRlZmF1bHRSYWRpdXNSYW5nZSA9IExBWUVSX1ZJU19DT05GSUdTLmNsdXN0ZXJSYWRpdXNSYW5nZS5kZWZhdWx0VmFsdWU7XG5cbmNvbnN0IGRlZmF1bHRHZXRDb2xvclZhbHVlID0gcG9pbnRzID0+IHBvaW50cy5sZW5ndGg7XG5jb25zdCBkZWZhdWx0R2V0UmFkaXVzVmFsdWUgPSBjZWxsID0+XG4gIGNlbGwuZmlsdGVyZWRQb2ludHMgPyBjZWxsLmZpbHRlcmVkUG9pbnRzLmxlbmd0aCA6IGNlbGwucG9pbnRzLmxlbmd0aDtcblxuZnVuY3Rpb24gcHJvY2Vzc0dlb0pTT04oc3RlcCwgcHJvcHMsIGFnZ3JlZ2F0aW9uLCB7dmlld3BvcnR9KSB7XG4gIGNvbnN0IHtkYXRhLCBnZXRQb3NpdGlvbiwgZmlsdGVyRGF0YX0gPSBwcm9wcztcbiAgY29uc3QgZ2VvSlNPTiA9IGdldEdlb0pTT04oZGF0YSwgZ2V0UG9zaXRpb24sIGZpbHRlckRhdGEpO1xuICBjb25zdCBjbHVzdGVyQnVpbGRlciA9IG5ldyBDbHVzdGVyQnVpbGRlcigpO1xuXG4gIHRoaXMuc2V0U3RhdGUoe2dlb0pTT04sIGNsdXN0ZXJCdWlsZGVyfSk7XG59XG5cbmZ1bmN0aW9uIGdldENsdXN0ZXJzKHN0ZXAsIHByb3BzLCBhZ2dyZWdhdGlvbiwge3ZpZXdwb3J0fSkge1xuICBjb25zdCB7Z2VvSlNPTiwgY2x1c3RlckJ1aWxkZXJ9ID0gdGhpcy5zdGF0ZTtcbiAgY29uc3Qge2NsdXN0ZXJSYWRpdXMsIHpvb20sIHdpZHRoLCBoZWlnaHR9ID0gcHJvcHM7XG4gIGNvbnN0IHtsb25naXR1ZGUsIGxhdGl0dWRlfSA9IHZpZXdwb3J0O1xuXG4gIC8vIHpvb20gbmVlZHMgdG8gYmUgYW4gaW50ZWdlciBmb3IgdGhlIGRpZmZlcmVudCBtYXAgdXRpbHMuIEFsc28gaGVscHMgd2l0aCBjYWNoZSBrZXkuXG4gIGNvbnN0IGJib3ggPSBnZW9WaWV3cG9ydC5ib3VuZHMoW2xvbmdpdHVkZSwgbGF0aXR1ZGVdLCB6b29tLCBbd2lkdGgsIGhlaWdodF0pO1xuICBjb25zdCBjbHVzdGVycyA9IGNsdXN0ZXJCdWlsZGVyLmNsdXN0ZXJzQXRab29tKHtiYm94LCBjbHVzdGVyUmFkaXVzLCBnZW9KU09OLCB6b29tfSk7XG5cbiAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgbGF5ZXJEYXRhOiB7ZGF0YTogY2x1c3RlcnN9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRTdWJMYXllclJhZGl1cyhkaW1lbnNpb25TdGF0ZSwgZGltZW5zaW9uLCBsYXllclByb3BzKSB7XG4gIHJldHVybiBjZWxsID0+IHtcbiAgICBjb25zdCB7Z2V0UmFkaXVzVmFsdWV9ID0gbGF5ZXJQcm9wcztcbiAgICBjb25zdCB7c2NhbGVGdW5jfSA9IGRpbWVuc2lvblN0YXRlO1xuICAgIHJldHVybiBzY2FsZUZ1bmMoZ2V0UmFkaXVzVmFsdWUoY2VsbCkpO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgY2x1c3RlckFnZ3JlZ2F0aW9uID0ge1xuICBrZXk6ICdwb3NpdGlvbicsXG4gIHVwZGF0ZVN0ZXBzOiBbXG4gICAge1xuICAgICAga2V5OiAnZ2VvanNvbicsXG4gICAgICB0cmlnZ2Vyczoge1xuICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgIHByb3A6ICdnZXRQb3NpdGlvbicsXG4gICAgICAgICAgdXBkYXRlVHJpZ2dlcjogJ2dldFBvc2l0aW9uJ1xuICAgICAgICB9LFxuICAgICAgICBmaWx0ZXJEYXRhOiB7XG4gICAgICAgICAgcHJvcDogJ2ZpbHRlckRhdGEnLFxuICAgICAgICAgIHVwZGF0ZVRyaWdnZXI6ICdmaWx0ZXJEYXRhJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdXBkYXRlcjogcHJvY2Vzc0dlb0pTT05cbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ2NsdXN0ZXJpbmcnLFxuICAgICAgdHJpZ2dlcnM6IHtcbiAgICAgICAgY2x1c3RlclJhZGl1czoge1xuICAgICAgICAgIHByb3A6ICdjbHVzdGVyUmFkaXVzJ1xuICAgICAgICB9LFxuICAgICAgICB6b29tOiB7XG4gICAgICAgICAgcHJvcDogJ3pvb20nXG4gICAgICAgIH0sXG4gICAgICAgIHdpZHRoOiB7XG4gICAgICAgICAgcHJvcDogJ3dpZHRoJ1xuICAgICAgICB9LFxuICAgICAgICBoZWlnaHQ6IHtcbiAgICAgICAgICBwcm9wOiAnaGVpZ2h0J1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdXBkYXRlcjogZ2V0Q2x1c3RlcnNcbiAgICB9XG4gIF1cbn07XG5cbmZ1bmN0aW9uIGdldFJhZGl1c1ZhbHVlRG9tYWluKHN0ZXAsIHByb3BzLCBkaW1lbnNpb25VcGRhdGVyKSB7XG4gIGNvbnN0IHtrZXl9ID0gZGltZW5zaW9uVXBkYXRlcjtcbiAgY29uc3Qge2dldFJhZGl1c1ZhbHVlfSA9IHByb3BzO1xuICBjb25zdCB7bGF5ZXJEYXRhfSA9IHRoaXMuc3RhdGU7XG5cbiAgY29uc3QgdmFsdWVEb21haW4gPSBbMCwgbWF4KGxheWVyRGF0YS5kYXRhLCBnZXRSYWRpdXNWYWx1ZSldO1xuICB0aGlzLl9zZXREaW1lbnNpb25TdGF0ZShrZXksIHt2YWx1ZURvbWFpbn0pO1xufVxuXG5jb25zdCBjbHVzdGVyTGF5ZXJEaW1lbnNpb25zID0gW1xuICBkZWZhdWx0Q29sb3JEaW1lbnNpb24sXG4gIHtcbiAgICBrZXk6ICdyYWRpdXMnLFxuICAgIGFjY2Vzc29yOiAnZ2V0UmFkaXVzJyxcbiAgICBudWxsVmFsdWU6IDAsXG4gICAgdXBkYXRlU3RlcHM6IFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZ2V0RG9tYWluJyxcbiAgICAgICAgdHJpZ2dlcnM6IHtcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgcHJvcDogJ2dldFJhZGl1c1ZhbHVlJyxcbiAgICAgICAgICAgIHVwZGF0ZVRyaWdnZXI6ICdnZXRSYWRpdXNWYWx1ZSdcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZXI6IGdldFJhZGl1c1ZhbHVlRG9tYWluXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdnZXRTY2FsZUZ1bmMnLFxuICAgICAgICB0cmlnZ2Vyczoge1xuICAgICAgICAgIGRvbWFpbjoge3Byb3A6ICdyYWRpdXNEb21haW4nfSxcbiAgICAgICAgICByYW5nZToge3Byb3A6ICdyYWRpdXNSYW5nZSd9LFxuICAgICAgICAgIHNjYWxlVHlwZToge3Byb3A6ICdyYWRpdXNTY2FsZVR5cGUnfVxuICAgICAgICB9LFxuICAgICAgICB1cGRhdGVyOiBnZXREaW1lbnNpb25TY2FsZVxuICAgICAgfVxuICAgIF0sXG4gICAgZ2V0U3ViTGF5ZXJBY2Nlc3NvcjogZ2V0U3ViTGF5ZXJSYWRpdXMsXG4gICAgZ2V0UGlja2luZ0luZm86IChkaW1lbnNpb25TdGF0ZSwgY2VsbCwgbGF5ZXJQcm9wcykgPT4ge1xuICAgICAgY29uc3QgcmFkaXVzVmFsdWUgPSBsYXllclByb3BzLmdldFJhZGl1c1ZhbHVlKGNlbGwpO1xuICAgICAgcmV0dXJuIHtyYWRpdXNWYWx1ZX07XG4gICAgfVxuICB9XG5dO1xuXG5jb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIGNsdXN0ZXJSYWRpdXM6IGRlZmF1bHRSYWRpdXMsXG4gIGNvbG9yRG9tYWluOiBudWxsLFxuICBjb2xvclJhbmdlOiBERUZBVUxUX0NPTE9SX1JBTkdFLFxuICBjb2xvclNjYWxlVHlwZTogU0NBTEVfVFlQRVMucXVhbnRpemUsXG4gIHJhZGl1c1NjYWxlVHlwZTogU0NBTEVfVFlQRVMuc3FydCxcbiAgcmFkaXVzUmFuZ2U6IGRlZmF1bHRSYWRpdXNSYW5nZSxcbiAgZ2V0UG9zaXRpb246IHt0eXBlOiAnYWNjZXNzb3InLCB2YWx1ZTogeCA9PiB4LnBvc2l0aW9ufSxcbiAgZ2V0Q29sb3JWYWx1ZToge3R5cGU6ICdhY2Nlc3NvcicsIHZhbHVlOiBkZWZhdWx0R2V0Q29sb3JWYWx1ZX0sXG4gIGdldFJhZGl1c1ZhbHVlOiB7dHlwZTogJ2FjY2Vzc29yJywgdmFsdWU6IGRlZmF1bHRHZXRSYWRpdXNWYWx1ZX1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENsdXN0ZXJMYXllciBleHRlbmRzIEFnZ3JlZ2F0aW9uTGF5ZXIge1xuICBpbml0aWFsaXplU3RhdGUoKSB7XG4gICAgY29uc3QgY3B1QWdncmVnYXRvciA9IG5ldyBDUFVBZ2dyZWdhdG9yKHtcbiAgICAgIGFnZ3JlZ2F0aW9uOiBjbHVzdGVyQWdncmVnYXRpb24sXG4gICAgICBkaW1lbnNpb25zOiBjbHVzdGVyTGF5ZXJEaW1lbnNpb25zXG4gICAgfSk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgY3B1QWdncmVnYXRvcixcbiAgICAgIGFnZ3JlZ2F0b3JTdGF0ZTogY3B1QWdncmVnYXRvci5zdGF0ZVxuICAgIH07XG4gICAgY29uc3QgYXR0cmlidXRlTWFuYWdlciA9IHRoaXMuZ2V0QXR0cmlidXRlTWFuYWdlcigpO1xuICAgIGF0dHJpYnV0ZU1hbmFnZXIuYWRkKHtcbiAgICAgIHBvc2l0aW9uczoge3NpemU6IDMsIGFjY2Vzc29yOiAnZ2V0UG9zaXRpb24nfVxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlU3RhdGUoe29sZFByb3BzLCBwcm9wcywgY2hhbmdlRmxhZ3N9KSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAvLyBtYWtlIGEgY29weSBvZiB0aGUgaW50ZXJuYWwgc3RhdGUgb2YgY3B1QWdncmVnYXRvciBmb3IgdGVzdGluZ1xuICAgICAgYWdncmVnYXRvclN0YXRlOiB0aGlzLnN0YXRlLmNwdUFnZ3JlZ2F0b3IudXBkYXRlU3RhdGUoXG4gICAgICAgIHtvbGRQcm9wcywgcHJvcHMsIGNoYW5nZUZsYWdzfSxcbiAgICAgICAge1xuICAgICAgICAgIHZpZXdwb3J0OiB0aGlzLmNvbnRleHQudmlld3BvcnQsXG4gICAgICAgICAgYXR0cmlidXRlczogdGhpcy5nZXRBdHRyaWJ1dGVzKCksXG4gICAgICAgICAgbnVtSW5zdGFuY2VzOiB0aGlzLmdldE51bUluc3RhbmNlcyhwcm9wcylcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0UGlja2luZ0luZm8oe2luZm99KSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuY3B1QWdncmVnYXRvci5nZXRQaWNraW5nSW5mbyh7aW5mb30sIHRoaXMucHJvcHMpO1xuICB9XG5cbiAgX2dldFN1YmxheWVyVXBkYXRlVHJpZ2dlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuY3B1QWdncmVnYXRvci5nZXRVcGRhdGVUcmlnZ2Vycyh0aGlzLnByb3BzKTtcbiAgfVxuXG4gIF9nZXRTdWJMYXllckFjY2Vzc29ycygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZ2V0UmFkaXVzOiB0aGlzLnN0YXRlLmNwdUFnZ3JlZ2F0b3IuZ2V0QWNjZXNzb3IoJ3JhZGl1cycsIHRoaXMucHJvcHMpLFxuICAgICAgZ2V0RmlsbENvbG9yOiB0aGlzLnN0YXRlLmNwdUFnZ3JlZ2F0b3IuZ2V0QWNjZXNzb3IoJ2ZpbGxDb2xvcicsIHRoaXMucHJvcHMpXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlckxheWVycygpIHtcbiAgICAvLyBmb3Igc3ViY2xhc3NpbmcsIG92ZXJyaWRlIHRoaXMgbWV0aG9kIHRvIHJldHVyblxuICAgIC8vIGN1c3RvbWl6ZWQgc3ViIGxheWVyIHByb3BzXG4gICAgY29uc3Qge2lkLCByYWRpdXNTY2FsZX0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHtjcHVBZ2dyZWdhdG9yfSA9IHRoaXMuc3RhdGU7XG5cbiAgICAvLyBiYXNlIGxheWVyIHByb3BzXG4gICAgY29uc3Qge3Zpc2libGUsIG9wYWNpdHksIHBpY2thYmxlLCBhdXRvSGlnaGxpZ2h0LCBoaWdobGlnaHRDb2xvcn0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHVwZGF0ZVRyaWdnZXJzID0gdGhpcy5fZ2V0U3VibGF5ZXJVcGRhdGVUcmlnZ2VycygpO1xuICAgIGNvbnN0IGFjY2Vzc29ycyA9IHRoaXMuX2dldFN1YkxheWVyQWNjZXNzb3JzKCk7XG5cbiAgICBjb25zdCBkaXN0YW5jZVNjYWxlID0gZ2V0RGlzdGFuY2VTY2FsZXModGhpcy5jb250ZXh0LnZpZXdwb3J0KTtcbiAgICBjb25zdCBtZXRlcnNQZXJQaXhlbCA9IGRpc3RhbmNlU2NhbGUubWV0ZXJzUGVyUGl4ZWxbMF07XG5cbiAgICBjb25zdCBtYXNrRXh0ZW5zaW9uUHJvcHMgPSBnZXRNYXNrRXh0ZW5zaW9uUHJvcHModGhpcy5wcm9wcy5tYXNrUG9seWdvbik7XG5cbiAgICAvLyByZXR1cm4gcHJvcHMgdG8gdGhlIHN1YmxheWVyIGNvbnN0cnVjdG9yXG4gICAgcmV0dXJuIG5ldyBTY2F0dGVycGxvdExheWVyKHtcbiAgICAgIGlkOiBgJHtpZH0tY2x1c3RlcmAsXG4gICAgICBkYXRhOiBjcHVBZ2dyZWdhdG9yLnN0YXRlLmxheWVyRGF0YS5kYXRhLFxuICAgICAgcmFkaXVzU2NhbGU6IG1ldGVyc1BlclBpeGVsICogcmFkaXVzU2NhbGUsXG4gICAgICB2aXNpYmxlLFxuICAgICAgb3BhY2l0eSxcbiAgICAgIHBpY2thYmxlLFxuICAgICAgYXV0b0hpZ2hsaWdodCxcbiAgICAgIGhpZ2hsaWdodENvbG9yLFxuICAgICAgdXBkYXRlVHJpZ2dlcnMsXG4gICAgICAuLi5hY2Nlc3NvcnMsXG4gICAgICAuLi5tYXNrRXh0ZW5zaW9uUHJvcHNcbiAgICB9KTtcbiAgfVxufVxuXG5DbHVzdGVyTGF5ZXIubGF5ZXJOYW1lID0gJ0NsdXN0ZXJMYXllcic7XG5DbHVzdGVyTGF5ZXIuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuIl19
334
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5qcyJdLCJuYW1lcyI6WyJkZWZhdWx0UmFkaXVzIiwiTEFZRVJfVklTX0NPTkZJR1MiLCJjbHVzdGVyUmFkaXVzIiwiZGVmYXVsdFZhbHVlIiwiZGVmYXVsdFJhZGl1c1JhbmdlIiwiY2x1c3RlclJhZGl1c1JhbmdlIiwiZGVmYXVsdEdldENvbG9yVmFsdWUiLCJwb2ludHMiLCJsZW5ndGgiLCJkZWZhdWx0R2V0UmFkaXVzVmFsdWUiLCJjZWxsIiwiZmlsdGVyZWRQb2ludHMiLCJwcm9jZXNzR2VvSlNPTiIsInN0ZXAiLCJwcm9wcyIsImFnZ3JlZ2F0aW9uIiwidmlld3BvcnQiLCJkYXRhIiwiZ2V0UG9zaXRpb24iLCJmaWx0ZXJEYXRhIiwiZ2VvSlNPTiIsImNsdXN0ZXJCdWlsZGVyIiwiQ2x1c3RlckJ1aWxkZXIiLCJzZXRTdGF0ZSIsImdldENsdXN0ZXJzIiwic3RhdGUiLCJ6b29tIiwid2lkdGgiLCJoZWlnaHQiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsImJib3giLCJnZW9WaWV3cG9ydCIsImJvdW5kcyIsImNsdXN0ZXJzIiwiY2x1c3RlcnNBdFpvb20iLCJsYXllckRhdGEiLCJnZXRTdWJMYXllclJhZGl1cyIsImRpbWVuc2lvblN0YXRlIiwiZGltZW5zaW9uIiwibGF5ZXJQcm9wcyIsImdldFJhZGl1c1ZhbHVlIiwic2NhbGVGdW5jIiwiY2x1c3RlckFnZ3JlZ2F0aW9uIiwia2V5IiwidXBkYXRlU3RlcHMiLCJ0cmlnZ2VycyIsInBvc2l0aW9uIiwicHJvcCIsInVwZGF0ZVRyaWdnZXIiLCJ1cGRhdGVyIiwiZ2V0UmFkaXVzVmFsdWVEb21haW4iLCJkaW1lbnNpb25VcGRhdGVyIiwidmFsdWVEb21haW4iLCJfc2V0RGltZW5zaW9uU3RhdGUiLCJjbHVzdGVyTGF5ZXJEaW1lbnNpb25zIiwiZGVmYXVsdENvbG9yRGltZW5zaW9uIiwiYWNjZXNzb3IiLCJudWxsVmFsdWUiLCJ2YWx1ZSIsImRvbWFpbiIsInJhbmdlIiwic2NhbGVUeXBlIiwiZ2V0RGltZW5zaW9uU2NhbGUiLCJnZXRTdWJMYXllckFjY2Vzc29yIiwiZ2V0UGlja2luZ0luZm8iLCJyYWRpdXNWYWx1ZSIsImRlZmF1bHRQcm9wcyIsImNvbG9yRG9tYWluIiwiY29sb3JSYW5nZSIsIkRFRkFVTFRfQ09MT1JfUkFOR0UiLCJjb2xvclNjYWxlVHlwZSIsIlNDQUxFX1RZUEVTIiwicXVhbnRpemUiLCJyYWRpdXNTY2FsZVR5cGUiLCJzcXJ0IiwicmFkaXVzUmFuZ2UiLCJ0eXBlIiwieCIsImdldENvbG9yVmFsdWUiLCJDbHVzdGVyTGF5ZXIiLCJjcHVBZ2dyZWdhdG9yIiwiQ1BVQWdncmVnYXRvciIsImRpbWVuc2lvbnMiLCJhZ2dyZWdhdG9yU3RhdGUiLCJhdHRyaWJ1dGVNYW5hZ2VyIiwiZ2V0QXR0cmlidXRlTWFuYWdlciIsImFkZCIsInBvc2l0aW9ucyIsInNpemUiLCJvbGRQcm9wcyIsImNoYW5nZUZsYWdzIiwidXBkYXRlU3RhdGUiLCJjb250ZXh0IiwiYXR0cmlidXRlcyIsImdldEF0dHJpYnV0ZXMiLCJudW1JbnN0YW5jZXMiLCJnZXROdW1JbnN0YW5jZXMiLCJpbmZvIiwiZ2V0VXBkYXRlVHJpZ2dlcnMiLCJnZXRSYWRpdXMiLCJnZXRBY2Nlc3NvciIsImdldEZpbGxDb2xvciIsImlkIiwicmFkaXVzU2NhbGUiLCJ2aXNpYmxlIiwib3BhY2l0eSIsInBpY2thYmxlIiwiYXV0b0hpZ2hsaWdodCIsImhpZ2hsaWdodENvbG9yIiwibWFza0lkIiwiZXh0ZW5zaW9ucyIsInVwZGF0ZVRyaWdnZXJzIiwiX2dldFN1YmxheWVyVXBkYXRlVHJpZ2dlcnMiLCJhY2Nlc3NvcnMiLCJfZ2V0U3ViTGF5ZXJBY2Nlc3NvcnMiLCJkaXN0YW5jZVNjYWxlIiwibWV0ZXJzUGVyUGl4ZWwiLCJTY2F0dGVycGxvdExheWVyIiwiQWdncmVnYXRpb25MYXllciIsImxheWVyTmFtZSJdLCJtYXBwaW5ncyI6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QUFBQSxJQUFJLEVBQUVnRSxhQUFhLENBQUN4RCxLQUFkLENBQW9CVyxTQUFwQixDQUE4Qm5CLElBRi9CO0FBR0x1RixRQUFBQSxXQUFXLEVBQUVhLGNBQWMsR0FBR2IsV0FIekI7QUFJTEMsUUFBQUEsT0FBTyxFQUFQQSxPQUpLO0FBS0xDLFFBQUFBLE9BQU8sRUFBUEEsT0FMSztBQU1MQyxRQUFBQSxRQUFRLEVBQVJBLFFBTks7QUFPTEMsUUFBQUEsYUFBYSxFQUFiQSxhQVBLO0FBUUxDLFFBQUFBLGNBQWMsRUFBZEEsY0FSSztBQVNMRyxRQUFBQSxjQUFjLEVBQWRBO0FBVEssU0FVRkUsU0FWRTtBQVdMSixRQUFBQSxNQUFNLEVBQU5BLE1BWEs7QUFZTEMsUUFBQUEsVUFBVSxFQUFWQTtBQVpLLFNBQVA7QUFjRDs7O0VBbkZ1Q1Esb0M7OztBQXNGMUN2QyxZQUFZLENBQUN3QyxTQUFiLEdBQXlCLGNBQXpCO0FBQ0F4QyxZQUFZLENBQUNiLFlBQWIsR0FBNEJBLFlBQTVCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtTY2F0dGVycGxvdExheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuaW1wb3J0IHtfQWdncmVnYXRpb25MYXllciBhcyBBZ2dyZWdhdGlvbkxheWVyfSBmcm9tICdAZGVjay5nbC9hZ2dyZWdhdGlvbi1sYXllcnMnO1xuXG5pbXBvcnQgZ2VvVmlld3BvcnQgZnJvbSAnQG1hcGJveC9nZW8tdmlld3BvcnQnO1xuaW1wb3J0IENQVUFnZ3JlZ2F0b3IsIHtcbiAgZGVmYXVsdENvbG9yRGltZW5zaW9uLFxuICBnZXREaW1lbnNpb25TY2FsZVxufSBmcm9tICcuLi9sYXllci11dGlscy9jcHUtYWdncmVnYXRvcic7XG5pbXBvcnQge2dldERpc3RhbmNlU2NhbGVzfSBmcm9tICd2aWV3cG9ydC1tZXJjYXRvci1wcm9qZWN0JztcbmltcG9ydCB7bWF4fSBmcm9tICdkMy1hcnJheSc7XG5cbmltcG9ydCB7TEFZRVJfVklTX0NPTkZJR1N9IGZyb20gJ2xheWVycy9sYXllci1mYWN0b3J5JztcbmltcG9ydCB7U0NBTEVfVFlQRVN9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCB7REVGQVVMVF9DT0xPUl9SQU5HRX0gZnJvbSAnY29uc3RhbnRzL2NvbG9yLXJhbmdlcyc7XG5pbXBvcnQgQ2x1c3RlckJ1aWxkZXIsIHtnZXRHZW9KU09OfSBmcm9tICcuLi9sYXllci11dGlscy9jbHVzdGVyLXV0aWxzJztcblxuY29uc3QgZGVmYXVsdFJhZGl1cyA9IExBWUVSX1ZJU19DT05GSUdTLmNsdXN0ZXJSYWRpdXMuZGVmYXVsdFZhbHVlO1xuY29uc3QgZGVmYXVsdFJhZGl1c1JhbmdlID0gTEFZRVJfVklTX0NPTkZJR1MuY2x1c3RlclJhZGl1c1JhbmdlLmRlZmF1bHRWYWx1ZTtcblxuY29uc3QgZGVmYXVsdEdldENvbG9yVmFsdWUgPSBwb2ludHMgPT4gcG9pbnRzLmxlbmd0aDtcbmNvbnN0IGRlZmF1bHRHZXRSYWRpdXNWYWx1ZSA9IGNlbGwgPT5cbiAgY2VsbC5maWx0ZXJlZFBvaW50cyA/IGNlbGwuZmlsdGVyZWRQb2ludHMubGVuZ3RoIDogY2VsbC5wb2ludHMubGVuZ3RoO1xuXG5mdW5jdGlvbiBwcm9jZXNzR2VvSlNPTihzdGVwLCBwcm9wcywgYWdncmVnYXRpb24sIHt2aWV3cG9ydH0pIHtcbiAgY29uc3Qge2RhdGEsIGdldFBvc2l0aW9uLCBmaWx0ZXJEYXRhfSA9IHByb3BzO1xuICBjb25zdCBnZW9KU09OID0gZ2V0R2VvSlNPTihkYXRhLCBnZXRQb3NpdGlvbiwgZmlsdGVyRGF0YSk7XG4gIGNvbnN0IGNsdXN0ZXJCdWlsZGVyID0gbmV3IENsdXN0ZXJCdWlsZGVyKCk7XG5cbiAgdGhpcy5zZXRTdGF0ZSh7Z2VvSlNPTiwgY2x1c3RlckJ1aWxkZXJ9KTtcbn1cblxuZnVuY3Rpb24gZ2V0Q2x1c3RlcnMoc3RlcCwgcHJvcHMsIGFnZ3JlZ2F0aW9uLCB7dmlld3BvcnR9KSB7XG4gIGNvbnN0IHtnZW9KU09OLCBjbHVzdGVyQnVpbGRlcn0gPSB0aGlzLnN0YXRlO1xuICBjb25zdCB7Y2x1c3RlclJhZGl1cywgem9vbSwgd2lkdGgsIGhlaWdodH0gPSBwcm9wcztcbiAgY29uc3Qge2xvbmdpdHVkZSwgbGF0aXR1ZGV9ID0gdmlld3BvcnQ7XG5cbiAgLy8gem9vbSBuZWVkcyB0byBiZSBhbiBpbnRlZ2VyIGZvciB0aGUgZGlmZmVyZW50IG1hcCB1dGlscy4gQWxzbyBoZWxwcyB3aXRoIGNhY2hlIGtleS5cbiAgY29uc3QgYmJveCA9IGdlb1ZpZXdwb3J0LmJvdW5kcyhbbG9uZ2l0dWRlLCBsYXRpdHVkZV0sIHpvb20sIFt3aWR0aCwgaGVpZ2h0XSk7XG4gIGNvbnN0IGNsdXN0ZXJzID0gY2x1c3RlckJ1aWxkZXIuY2x1c3RlcnNBdFpvb20oe2Jib3gsIGNsdXN0ZXJSYWRpdXMsIGdlb0pTT04sIHpvb219KTtcblxuICB0aGlzLnNldFN0YXRlKHtcbiAgICBsYXllckRhdGE6IHtkYXRhOiBjbHVzdGVyc31cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFN1YkxheWVyUmFkaXVzKGRpbWVuc2lvblN0YXRlLCBkaW1lbnNpb24sIGxheWVyUHJvcHMpIHtcbiAgcmV0dXJuIGNlbGwgPT4ge1xuICAgIGNvbnN0IHtnZXRSYWRpdXNWYWx1ZX0gPSBsYXllclByb3BzO1xuICAgIGNvbnN0IHtzY2FsZUZ1bmN9ID0gZGltZW5zaW9uU3RhdGU7XG4gICAgcmV0dXJuIHNjYWxlRnVuYyhnZXRSYWRpdXNWYWx1ZShjZWxsKSk7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBjbHVzdGVyQWdncmVnYXRpb24gPSB7XG4gIGtleTogJ3Bvc2l0aW9uJyxcbiAgdXBkYXRlU3RlcHM6IFtcbiAgICB7XG4gICAgICBrZXk6ICdnZW9qc29uJyxcbiAgICAgIHRyaWdnZXJzOiB7XG4gICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgcHJvcDogJ2dldFBvc2l0aW9uJyxcbiAgICAgICAgICB1cGRhdGVUcmlnZ2VyOiAnZ2V0UG9zaXRpb24nXG4gICAgICAgIH0sXG4gICAgICAgIGZpbHRlckRhdGE6IHtcbiAgICAgICAgICBwcm9wOiAnZmlsdGVyRGF0YScsXG4gICAgICAgICAgdXBkYXRlVHJpZ2dlcjogJ2ZpbHRlckRhdGEnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB1cGRhdGVyOiBwcm9jZXNzR2VvSlNPTlxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnY2x1c3RlcmluZycsXG4gICAgICB0cmlnZ2Vyczoge1xuICAgICAgICBjbHVzdGVyUmFkaXVzOiB7XG4gICAgICAgICAgcHJvcDogJ2NsdXN0ZXJSYWRpdXMnXG4gICAgICAgIH0sXG4gICAgICAgIHpvb206IHtcbiAgICAgICAgICBwcm9wOiAnem9vbSdcbiAgICAgICAgfSxcbiAgICAgICAgd2lkdGg6IHtcbiAgICAgICAgICBwcm9wOiAnd2lkdGgnXG4gICAgICAgIH0sXG4gICAgICAgIGhlaWdodDoge1xuICAgICAgICAgIHByb3A6ICdoZWlnaHQnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB1cGRhdGVyOiBnZXRDbHVzdGVyc1xuICAgIH1cbiAgXVxufTtcblxuZnVuY3Rpb24gZ2V0UmFkaXVzVmFsdWVEb21haW4oc3RlcCwgcHJvcHMsIGRpbWVuc2lvblVwZGF0ZXIpIHtcbiAgY29uc3Qge2tleX0gPSBkaW1lbnNpb25VcGRhdGVyO1xuICBjb25zdCB7Z2V0UmFkaXVzVmFsdWV9ID0gcHJvcHM7XG4gIGNvbnN0IHtsYXllckRhdGF9ID0gdGhpcy5zdGF0ZTtcblxuICBjb25zdCB2YWx1ZURvbWFpbiA9IFswLCBtYXgobGF5ZXJEYXRhLmRhdGEsIGdldFJhZGl1c1ZhbHVlKV07XG4gIHRoaXMuX3NldERpbWVuc2lvblN0YXRlKGtleSwge3ZhbHVlRG9tYWlufSk7XG59XG5cbmNvbnN0IGNsdXN0ZXJMYXllckRpbWVuc2lvbnMgPSBbXG4gIGRlZmF1bHRDb2xvckRpbWVuc2lvbixcbiAge1xuICAgIGtleTogJ3JhZGl1cycsXG4gICAgYWNjZXNzb3I6ICdnZXRSYWRpdXMnLFxuICAgIG51bGxWYWx1ZTogMCxcbiAgICB1cGRhdGVTdGVwczogW1xuICAgICAge1xuICAgICAgICBrZXk6ICdnZXREb21haW4nLFxuICAgICAgICB0cmlnZ2Vyczoge1xuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICBwcm9wOiAnZ2V0UmFkaXVzVmFsdWUnLFxuICAgICAgICAgICAgdXBkYXRlVHJpZ2dlcjogJ2dldFJhZGl1c1ZhbHVlJ1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlcjogZ2V0UmFkaXVzVmFsdWVEb21haW5cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ2dldFNjYWxlRnVuYycsXG4gICAgICAgIHRyaWdnZXJzOiB7XG4gICAgICAgICAgZG9tYWluOiB7cHJvcDogJ3JhZGl1c0RvbWFpbid9LFxuICAgICAgICAgIHJhbmdlOiB7cHJvcDogJ3JhZGl1c1JhbmdlJ30sXG4gICAgICAgICAgc2NhbGVUeXBlOiB7cHJvcDogJ3JhZGl1c1NjYWxlVHlwZSd9XG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZXI6IGdldERpbWVuc2lvblNjYWxlXG4gICAgICB9XG4gICAgXSxcbiAgICBnZXRTdWJMYXllckFjY2Vzc29yOiBnZXRTdWJMYXllclJhZGl1cyxcbiAgICBnZXRQaWNraW5nSW5mbzogKGRpbWVuc2lvblN0YXRlLCBjZWxsLCBsYXllclByb3BzKSA9PiB7XG4gICAgICBjb25zdCByYWRpdXNWYWx1ZSA9IGxheWVyUHJvcHMuZ2V0UmFkaXVzVmFsdWUoY2VsbCk7XG4gICAgICByZXR1cm4ge3JhZGl1c1ZhbHVlfTtcbiAgICB9XG4gIH1cbl07XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgY2x1c3RlclJhZGl1czogZGVmYXVsdFJhZGl1cyxcbiAgY29sb3JEb21haW46IG51bGwsXG4gIGNvbG9yUmFuZ2U6IERFRkFVTFRfQ09MT1JfUkFOR0UsXG4gIGNvbG9yU2NhbGVUeXBlOiBTQ0FMRV9UWVBFUy5xdWFudGl6ZSxcbiAgcmFkaXVzU2NhbGVUeXBlOiBTQ0FMRV9UWVBFUy5zcXJ0LFxuICByYWRpdXNSYW5nZTogZGVmYXVsdFJhZGl1c1JhbmdlLFxuICBnZXRQb3NpdGlvbjoge3R5cGU6ICdhY2Nlc3NvcicsIHZhbHVlOiB4ID0+IHgucG9zaXRpb259LFxuICBnZXRDb2xvclZhbHVlOiB7dHlwZTogJ2FjY2Vzc29yJywgdmFsdWU6IGRlZmF1bHRHZXRDb2xvclZhbHVlfSxcbiAgZ2V0UmFkaXVzVmFsdWU6IHt0eXBlOiAnYWNjZXNzb3InLCB2YWx1ZTogZGVmYXVsdEdldFJhZGl1c1ZhbHVlfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2x1c3RlckxheWVyIGV4dGVuZHMgQWdncmVnYXRpb25MYXllciB7XG4gIGluaXRpYWxpemVTdGF0ZSgpIHtcbiAgICBjb25zdCBjcHVBZ2dyZWdhdG9yID0gbmV3IENQVUFnZ3JlZ2F0b3Ioe1xuICAgICAgYWdncmVnYXRpb246IGNsdXN0ZXJBZ2dyZWdhdGlvbixcbiAgICAgIGRpbWVuc2lvbnM6IGNsdXN0ZXJMYXllckRpbWVuc2lvbnNcbiAgICB9KTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBjcHVBZ2dyZWdhdG9yLFxuICAgICAgYWdncmVnYXRvclN0YXRlOiBjcHVBZ2dyZWdhdG9yLnN0YXRlXG4gICAgfTtcbiAgICBjb25zdCBhdHRyaWJ1dGVNYW5hZ2VyID0gdGhpcy5nZXRBdHRyaWJ1dGVNYW5hZ2VyKCk7XG4gICAgYXR0cmlidXRlTWFuYWdlci5hZGQoe1xuICAgICAgcG9zaXRpb25zOiB7c2l6ZTogMywgYWNjZXNzb3I6ICdnZXRQb3NpdGlvbid9XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVTdGF0ZSh7b2xkUHJvcHMsIHByb3BzLCBjaGFuZ2VGbGFnc30pIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIC8vIG1ha2UgYSBjb3B5IG9mIHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiBjcHVBZ2dyZWdhdG9yIGZvciB0ZXN0aW5nXG4gICAgICBhZ2dyZWdhdG9yU3RhdGU6IHRoaXMuc3RhdGUuY3B1QWdncmVnYXRvci51cGRhdGVTdGF0ZShcbiAgICAgICAge29sZFByb3BzLCBwcm9wcywgY2hhbmdlRmxhZ3N9LFxuICAgICAgICB7XG4gICAgICAgICAgdmlld3BvcnQ6IHRoaXMuY29udGV4dC52aWV3cG9ydCxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB0aGlzLmdldEF0dHJpYnV0ZXMoKSxcbiAgICAgICAgICBudW1JbnN0YW5jZXM6IHRoaXMuZ2V0TnVtSW5zdGFuY2VzKHByb3BzKVxuICAgICAgICB9XG4gICAgICApXG4gICAgfSk7XG4gIH1cblxuICBnZXRQaWNraW5nSW5mbyh7aW5mb30pIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5jcHVBZ2dyZWdhdG9yLmdldFBpY2tpbmdJbmZvKHtpbmZvfSwgdGhpcy5wcm9wcyk7XG4gIH1cblxuICBfZ2V0U3VibGF5ZXJVcGRhdGVUcmlnZ2VycygpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5jcHVBZ2dyZWdhdG9yLmdldFVwZGF0ZVRyaWdnZXJzKHRoaXMucHJvcHMpO1xuICB9XG5cbiAgX2dldFN1YkxheWVyQWNjZXNzb3JzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBnZXRSYWRpdXM6IHRoaXMuc3RhdGUuY3B1QWdncmVnYXRvci5nZXRBY2Nlc3NvcigncmFkaXVzJywgdGhpcy5wcm9wcyksXG4gICAgICBnZXRGaWxsQ29sb3I6IHRoaXMuc3RhdGUuY3B1QWdncmVnYXRvci5nZXRBY2Nlc3NvcignZmlsbENvbG9yJywgdGhpcy5wcm9wcylcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyTGF5ZXJzKCkge1xuICAgIC8vIGZvciBzdWJjbGFzc2luZywgb3ZlcnJpZGUgdGhpcyBtZXRob2QgdG8gcmV0dXJuXG4gICAgLy8gY3VzdG9taXplZCBzdWIgbGF5ZXIgcHJvcHNcbiAgICBjb25zdCB7aWQsIHJhZGl1c1NjYWxlfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qge2NwdUFnZ3JlZ2F0b3J9ID0gdGhpcy5zdGF0ZTtcblxuICAgIC8vIGJhc2UgbGF5ZXIgcHJvcHNcbiAgICBjb25zdCB7XG4gICAgICB2aXNpYmxlLFxuICAgICAgb3BhY2l0eSxcbiAgICAgIHBpY2thYmxlLFxuICAgICAgYXV0b0hpZ2hsaWdodCxcbiAgICAgIGhpZ2hsaWdodENvbG9yLFxuICAgICAgbWFza0lkLFxuICAgICAgZXh0ZW5zaW9uc1xuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHVwZGF0ZVRyaWdnZXJzID0gdGhpcy5fZ2V0U3VibGF5ZXJVcGRhdGVUcmlnZ2VycygpO1xuICAgIGNvbnN0IGFjY2Vzc29ycyA9IHRoaXMuX2dldFN1YkxheWVyQWNjZXNzb3JzKCk7XG5cbiAgICBjb25zdCBkaXN0YW5jZVNjYWxlID0gZ2V0RGlzdGFuY2VTY2FsZXModGhpcy5jb250ZXh0LnZpZXdwb3J0KTtcbiAgICBjb25zdCBtZXRlcnNQZXJQaXhlbCA9IGRpc3RhbmNlU2NhbGUubWV0ZXJzUGVyUGl4ZWxbMF07XG5cbiAgICAvLyByZXR1cm4gcHJvcHMgdG8gdGhlIHN1YmxheWVyIGNvbnN0cnVjdG9yXG4gICAgcmV0dXJuIG5ldyBTY2F0dGVycGxvdExheWVyKHtcbiAgICAgIGlkOiBgJHtpZH0tY2x1c3RlcmAsXG4gICAgICBkYXRhOiBjcHVBZ2dyZWdhdG9yLnN0YXRlLmxheWVyRGF0YS5kYXRhLFxuICAgICAgcmFkaXVzU2NhbGU6IG1ldGVyc1BlclBpeGVsICogcmFkaXVzU2NhbGUsXG4gICAgICB2aXNpYmxlLFxuICAgICAgb3BhY2l0eSxcbiAgICAgIHBpY2thYmxlLFxuICAgICAgYXV0b0hpZ2hsaWdodCxcbiAgICAgIGhpZ2hsaWdodENvbG9yLFxuICAgICAgdXBkYXRlVHJpZ2dlcnMsXG4gICAgICAuLi5hY2Nlc3NvcnMsXG4gICAgICBtYXNrSWQsXG4gICAgICBleHRlbnNpb25zXG4gICAgfSk7XG4gIH1cbn1cblxuQ2x1c3RlckxheWVyLmxheWVyTmFtZSA9ICdDbHVzdGVyTGF5ZXInO1xuQ2x1c3RlckxheWVyLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcbiJdfQ==
@@ -34,7 +34,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
34
34
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
35
 
36
36
  function addInstanceCoverage(vs) {
37
- var addDecl = (0, _shaderUtils.editShader)(vs, 'hexagon cell vs add instance', 'attribute vec3 instancePickingColors;', "attribute vec3 instancePickingColors;\n attribute float instanceCoverage;");
37
+ var addDecl = (0, _shaderUtils.editShader)(vs, 'hexagon cell vs add instance', 'in vec3 instancePickingColors;', "in vec3 instancePickingColors;\n in float instanceCoverage;");
38
38
  return (0, _shaderUtils.editShader)(addDecl, 'hexagon cell vs add instance', 'float dotRadius = radius * coverage * shouldRender;', 'float dotRadius = radius * coverage * instanceCoverage * shouldRender;');
39
39
  } // TODO: export all deck.gl layers from kepler.gl
40
40
 
@@ -75,4 +75,4 @@ var EnhancedColumnLayer = /*#__PURE__*/function (_ColumnLayer) {
75
75
  EnhancedColumnLayer.layerName = 'EnhancedColumnLayer';
76
76
  var _default = EnhancedColumnLayer;
77
77
  exports["default"] = _default;
78
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL2NvbHVtbi1sYXllci9lbmhhbmNlZC1jb2x1bW4tbGF5ZXIuanMiXSwibmFtZXMiOlsiYWRkSW5zdGFuY2VDb3ZlcmFnZSIsInZzIiwiYWRkRGVjbCIsIkVuaGFuY2VkQ29sdW1uTGF5ZXIiLCJzaGFkZXJzIiwiZ2V0QXR0cmlidXRlTWFuYWdlciIsImFkZEluc3RhbmNlZCIsImluc3RhbmNlQ292ZXJhZ2UiLCJzaXplIiwiYWNjZXNzb3IiLCJDb2x1bW5MYXllciIsImxheWVyTmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7Ozs7Ozs7Ozs7QUFFQSxTQUFTQSxtQkFBVCxDQUE2QkMsRUFBN0IsRUFBaUM7QUFDL0IsTUFBTUMsT0FBTyxHQUFHLDZCQUNkRCxFQURjLEVBRWQsOEJBRmMsRUFHZCx1Q0FIYyxrRkFBaEI7QUFRQSxTQUFPLDZCQUNMQyxPQURLLEVBRUwsOEJBRkssRUFHTCxxREFISyxFQUlMLHdFQUpLLENBQVA7QUFNRCxDLENBRUQ7OztJQUNNQyxtQjs7Ozs7Ozs7Ozs7O1dBQ0osc0JBQWE7QUFDWCxVQUFNQyxPQUFPLHdIQUFiO0FBRUEsNkNBQ0tBLE9BREw7QUFFRUgsUUFBQUEsRUFBRSxFQUFFRCxtQkFBbUIsQ0FBQ0ksT0FBTyxDQUFDSCxFQUFUO0FBRnpCO0FBSUQ7OztXQUVELDJCQUFrQjtBQUNoQjtBQUVBLFdBQUtJLG1CQUFMLEdBQTJCQyxZQUEzQixDQUF3QztBQUN0Q0MsUUFBQUEsZ0JBQWdCLEVBQUU7QUFBQ0MsVUFBQUEsSUFBSSxFQUFFLENBQVA7QUFBVUMsVUFBQUEsUUFBUSxFQUFFO0FBQXBCO0FBRG9CLE9BQXhDO0FBR0Q7OztFQWhCK0JDLG1COztBQW1CbENQLG1CQUFtQixDQUFDUSxTQUFwQixHQUFnQyxxQkFBaEM7ZUFFZVIsbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge0NvbHVtbkxheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuaW1wb3J0IHtlZGl0U2hhZGVyfSBmcm9tICdkZWNrZ2wtbGF5ZXJzL2xheWVyLXV0aWxzL3NoYWRlci11dGlscyc7XG5cbmZ1bmN0aW9uIGFkZEluc3RhbmNlQ292ZXJhZ2UodnMpIHtcbiAgY29uc3QgYWRkRGVjbCA9IGVkaXRTaGFkZXIoXG4gICAgdnMsXG4gICAgJ2hleGFnb24gY2VsbCB2cyBhZGQgaW5zdGFuY2UnLFxuICAgICdhdHRyaWJ1dGUgdmVjMyBpbnN0YW5jZVBpY2tpbmdDb2xvcnM7JyxcbiAgICBgYXR0cmlidXRlIHZlYzMgaW5zdGFuY2VQaWNraW5nQ29sb3JzO1xuICAgICBhdHRyaWJ1dGUgZmxvYXQgaW5zdGFuY2VDb3ZlcmFnZTtgXG4gICk7XG5cbiAgcmV0dXJuIGVkaXRTaGFkZXIoXG4gICAgYWRkRGVjbCxcbiAgICAnaGV4YWdvbiBjZWxsIHZzIGFkZCBpbnN0YW5jZScsXG4gICAgJ2Zsb2F0IGRvdFJhZGl1cyA9IHJhZGl1cyAqIGNvdmVyYWdlICogc2hvdWxkUmVuZGVyOycsXG4gICAgJ2Zsb2F0IGRvdFJhZGl1cyA9IHJhZGl1cyAqIGNvdmVyYWdlICogaW5zdGFuY2VDb3ZlcmFnZSAqIHNob3VsZFJlbmRlcjsnXG4gICk7XG59XG5cbi8vIFRPRE86IGV4cG9ydCBhbGwgZGVjay5nbCBsYXllcnMgZnJvbSBrZXBsZXIuZ2xcbmNsYXNzIEVuaGFuY2VkQ29sdW1uTGF5ZXIgZXh0ZW5kcyBDb2x1bW5MYXllciB7XG4gIGdldFNoYWRlcnMoKSB7XG4gICAgY29uc3Qgc2hhZGVycyA9IHN1cGVyLmdldFNoYWRlcnMoKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zaGFkZXJzLFxuICAgICAgdnM6IGFkZEluc3RhbmNlQ292ZXJhZ2Uoc2hhZGVycy52cylcbiAgICB9O1xuICB9XG5cbiAgaW5pdGlhbGl6ZVN0YXRlKCkge1xuICAgIHN1cGVyLmluaXRpYWxpemVTdGF0ZSgpO1xuXG4gICAgdGhpcy5nZXRBdHRyaWJ1dGVNYW5hZ2VyKCkuYWRkSW5zdGFuY2VkKHtcbiAgICAgIGluc3RhbmNlQ292ZXJhZ2U6IHtzaXplOiAxLCBhY2Nlc3NvcjogJ2dldENvdmVyYWdlJ31cbiAgICB9KTtcbiAgfVxufVxuXG5FbmhhbmNlZENvbHVtbkxheWVyLmxheWVyTmFtZSA9ICdFbmhhbmNlZENvbHVtbkxheWVyJztcblxuZXhwb3J0IGRlZmF1bHQgRW5oYW5jZWRDb2x1bW5MYXllcjtcbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL2NvbHVtbi1sYXllci9lbmhhbmNlZC1jb2x1bW4tbGF5ZXIuanMiXSwibmFtZXMiOlsiYWRkSW5zdGFuY2VDb3ZlcmFnZSIsInZzIiwiYWRkRGVjbCIsIkVuaGFuY2VkQ29sdW1uTGF5ZXIiLCJzaGFkZXJzIiwiZ2V0QXR0cmlidXRlTWFuYWdlciIsImFkZEluc3RhbmNlZCIsImluc3RhbmNlQ292ZXJhZ2UiLCJzaXplIiwiYWNjZXNzb3IiLCJDb2x1bW5MYXllciIsImxheWVyTmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7Ozs7Ozs7Ozs7QUFFQSxTQUFTQSxtQkFBVCxDQUE2QkMsRUFBN0IsRUFBaUM7QUFDL0IsTUFBTUMsT0FBTyxHQUFHLDZCQUNkRCxFQURjLEVBRWQsOEJBRmMsRUFHZCxnQ0FIYyxvRUFBaEI7QUFRQSxTQUFPLDZCQUNMQyxPQURLLEVBRUwsOEJBRkssRUFHTCxxREFISyxFQUlMLHdFQUpLLENBQVA7QUFNRCxDLENBRUQ7OztJQUNNQyxtQjs7Ozs7Ozs7Ozs7O1dBQ0osc0JBQWE7QUFDWCxVQUFNQyxPQUFPLHdIQUFiO0FBRUEsNkNBQ0tBLE9BREw7QUFFRUgsUUFBQUEsRUFBRSxFQUFFRCxtQkFBbUIsQ0FBQ0ksT0FBTyxDQUFDSCxFQUFUO0FBRnpCO0FBSUQ7OztXQUVELDJCQUFrQjtBQUNoQjtBQUVBLFdBQUtJLG1CQUFMLEdBQTJCQyxZQUEzQixDQUF3QztBQUN0Q0MsUUFBQUEsZ0JBQWdCLEVBQUU7QUFBQ0MsVUFBQUEsSUFBSSxFQUFFLENBQVA7QUFBVUMsVUFBQUEsUUFBUSxFQUFFO0FBQXBCO0FBRG9CLE9BQXhDO0FBR0Q7OztFQWhCK0JDLG1COztBQW1CbENQLG1CQUFtQixDQUFDUSxTQUFwQixHQUFnQyxxQkFBaEM7ZUFFZVIsbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge0NvbHVtbkxheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuaW1wb3J0IHtlZGl0U2hhZGVyfSBmcm9tICdkZWNrZ2wtbGF5ZXJzL2xheWVyLXV0aWxzL3NoYWRlci11dGlscyc7XG5cbmZ1bmN0aW9uIGFkZEluc3RhbmNlQ292ZXJhZ2UodnMpIHtcbiAgY29uc3QgYWRkRGVjbCA9IGVkaXRTaGFkZXIoXG4gICAgdnMsXG4gICAgJ2hleGFnb24gY2VsbCB2cyBhZGQgaW5zdGFuY2UnLFxuICAgICdpbiB2ZWMzIGluc3RhbmNlUGlja2luZ0NvbG9yczsnLFxuICAgIGBpbiB2ZWMzIGluc3RhbmNlUGlja2luZ0NvbG9ycztcbiAgICAgaW4gZmxvYXQgaW5zdGFuY2VDb3ZlcmFnZTtgXG4gICk7XG5cbiAgcmV0dXJuIGVkaXRTaGFkZXIoXG4gICAgYWRkRGVjbCxcbiAgICAnaGV4YWdvbiBjZWxsIHZzIGFkZCBpbnN0YW5jZScsXG4gICAgJ2Zsb2F0IGRvdFJhZGl1cyA9IHJhZGl1cyAqIGNvdmVyYWdlICogc2hvdWxkUmVuZGVyOycsXG4gICAgJ2Zsb2F0IGRvdFJhZGl1cyA9IHJhZGl1cyAqIGNvdmVyYWdlICogaW5zdGFuY2VDb3ZlcmFnZSAqIHNob3VsZFJlbmRlcjsnXG4gICk7XG59XG5cbi8vIFRPRE86IGV4cG9ydCBhbGwgZGVjay5nbCBsYXllcnMgZnJvbSBrZXBsZXIuZ2xcbmNsYXNzIEVuaGFuY2VkQ29sdW1uTGF5ZXIgZXh0ZW5kcyBDb2x1bW5MYXllciB7XG4gIGdldFNoYWRlcnMoKSB7XG4gICAgY29uc3Qgc2hhZGVycyA9IHN1cGVyLmdldFNoYWRlcnMoKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zaGFkZXJzLFxuICAgICAgdnM6IGFkZEluc3RhbmNlQ292ZXJhZ2Uoc2hhZGVycy52cylcbiAgICB9O1xuICB9XG5cbiAgaW5pdGlhbGl6ZVN0YXRlKCkge1xuICAgIHN1cGVyLmluaXRpYWxpemVTdGF0ZSgpO1xuXG4gICAgdGhpcy5nZXRBdHRyaWJ1dGVNYW5hZ2VyKCkuYWRkSW5zdGFuY2VkKHtcbiAgICAgIGluc3RhbmNlQ292ZXJhZ2U6IHtzaXplOiAxLCBhY2Nlc3NvcjogJ2dldENvdmVyYWdlJ31cbiAgICB9KTtcbiAgfVxufVxuXG5FbmhhbmNlZENvbHVtbkxheWVyLmxheWVyTmFtZSA9ICdFbmhhbmNlZENvbHVtbkxheWVyJztcblxuZXhwb3J0IGRlZmF1bHQgRW5oYW5jZWRDb2x1bW5MYXllcjtcbiJdfQ==
@@ -188,9 +188,8 @@ var maskExtension = new _extensions.MaskExtension();
188
188
 
189
189
  function getMaskExtensionProps(maskPolygon) {
190
190
  return {
191
- maskId: _defaultSettings.MASK_LAYER_ID,
192
- maskEnabled: Boolean(maskPolygon && maskPolygon.length),
191
+ maskId: Boolean(maskPolygon && maskPolygon.length) && _defaultSettings.MASK_LAYER_ID,
193
192
  extensions: [maskExtension]
194
193
  };
195
194
  }
196
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9sYXllci11dGlscy5qcyJdLCJuYW1lcyI6WyJmaW5kRGVmYXVsdExheWVyIiwiZGF0YXNldCIsImxheWVyQ2xhc3NlcyIsImxheWVyUHJvcHMiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwicHJldmlvdXMiLCJsYyIsInJlc3VsdCIsImZpbmREZWZhdWx0TGF5ZXJQcm9wcyIsInByb3BzIiwiQXJyYXkiLCJpc0FycmF5IiwiZm91bmRMYXllcnMiLCJjb25jYXQiLCJtYXAiLCJwIiwidHlwZSIsImRhdGFJZCIsImlkIiwibGF5ZXIiLCJzZXRJbml0aWFsTGF5ZXJDb25maWciLCJkYXRhQ29udGFpbmVyIiwiY2FsY3VsYXRlTGF5ZXJEYXRhIiwic3RhdGUiLCJvbGRMYXllckRhdGEiLCJoYXNBbGxDb2x1bW5zIiwiY29uZmlnIiwibGF5ZXJEYXRhIiwiZm9ybWF0TGF5ZXJEYXRhIiwiZGF0YXNldHMiLCJnZXRMYXllckhvdmVyUHJvcCIsImludGVyYWN0aW9uQ29uZmlnIiwiaG92ZXJJbmZvIiwibGF5ZXJzIiwibGF5ZXJzVG9SZW5kZXIiLCJ0b29sdGlwIiwiZW5hYmxlZCIsInBpY2tlZCIsIm9iamVjdCIsIm92ZXJsYXkiLCJpZHgiLCJnZXRIb3ZlckRhdGEiLCJmaWVsZHMiLCJkYXRhIiwiZmllbGRzVG9TaG93IiwicmVuZGVyRGVja0dsTGF5ZXIiLCJsYXllckNhbGxiYWNrcyIsImNsaWNrZWQiLCJtYXBTdGF0ZSIsImFuaW1hdGlvbkNvbmZpZyIsIm1hcExheWVycyIsIm1hc2tQb2x5Z29uIiwiZ3B1RmlsdGVyIiwib2JqZWN0SG92ZXJlZCIsInZpc2libGUiLCJyZW5kZXJMYXllciIsImlzTGF5ZXJSZW5kZXJhYmxlIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJzaG91bGRSZW5kZXJMYXllciIsImlzTGF5ZXJWaXNpYmxlIiwiaXNWaXNpYmxlIiwicHJlcGFyZUxheWVyc0ZvckRlY2siLCJhY2N1Iiwib3ZlcmxheVR5cGUiLCJPVkVSTEFZX1RZUEUiLCJkZWNrZ2wiLCJwcmVwYXJlTGF5ZXJzVG9SZW5kZXIiLCJtYXNrRXh0ZW5zaW9uIiwiTWFza0V4dGVuc2lvbiIsImdldE1hc2tFeHRlbnNpb25Qcm9wcyIsIm1hc2tJZCIsIk1BU0tfTEFZRVJfSUQiLCJtYXNrRW5hYmxlZCIsIkJvb2xlYW4iLCJsZW5ndGgiLCJleHRlbnNpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOzs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNBLGdCQUFULENBQTBCQyxPQUExQixFQUFtQ0MsWUFBbkMsRUFBaUQ7QUFDdEQsTUFBSSxDQUFDRCxPQUFMLEVBQWM7QUFDWixXQUFPLEVBQVA7QUFDRDs7QUFDRCxNQUFNRSxVQUFVLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZSCxZQUFaLEVBQTBCSSxNQUExQixDQUFpQyxVQUFDQyxRQUFELEVBQVdDLEVBQVgsRUFBa0I7QUFDcEUsUUFBTUMsTUFBTSxHQUNWLE9BQU9QLFlBQVksQ0FBQ00sRUFBRCxDQUFaLENBQWlCRSxxQkFBeEIsS0FBa0QsVUFBbEQsR0FDSVIsWUFBWSxDQUFDTSxFQUFELENBQVosQ0FBaUJFLHFCQUFqQixDQUF1Q1QsT0FBdkMsRUFBZ0RNLFFBQWhELENBREosR0FFSTtBQUFDSSxNQUFBQSxLQUFLLEVBQUU7QUFBUixLQUhOO0FBS0EsUUFBTUEsS0FBSyxHQUFHQyxLQUFLLENBQUNDLE9BQU4sQ0FBY0osTUFBZCxJQUF3QkEsTUFBeEIsR0FBaUNBLE1BQU0sQ0FBQ0UsS0FBUCxJQUFnQixFQUEvRDtBQUNBLFFBQU1HLFdBQVcsR0FBR0wsTUFBTSxDQUFDSyxXQUFQLElBQXNCUCxRQUExQztBQUVBLFdBQU9PLFdBQVcsQ0FBQ0MsTUFBWixDQUNMSixLQUFLLENBQUNLLEdBQU4sQ0FBVSxVQUFBQyxDQUFDO0FBQUEsNkNBQ05BLENBRE07QUFFVEMsUUFBQUEsSUFBSSxFQUFFVixFQUZHO0FBR1RXLFFBQUFBLE1B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QSwyQ0FDS3NCLElBREwsNENBRUczQyxLQUFLLENBQUNELEVBRlQsRUFHSXNDLGlCQUFpQixDQUFDckMsS0FBRCxFQUFRUSxTQUFTLENBQUNhLEdBQUQsQ0FBakIsQ0FBakIsSUFBNENyQixLQUFLLENBQUM0QyxXQUFOLEtBQXNCQyx3QkFBYUMsTUFIbkY7QUFBQSxHQURLLEVBTUwsRUFOSyxDQUFQO0FBUUQsQyxDQUVEO0FBQ0E7QUFDQTs7O0FBQ08sU0FBU0MscUJBQVQsQ0FBK0JqQyxNQUEvQixFQUF1Q04sU0FBdkMsRUFBa0R1QixTQUFsRCxFQUE2RDtBQUNsRSxTQUFPakIsTUFBTSxDQUFDN0IsTUFBUCxDQUNMLFVBQUMwRCxJQUFELEVBQU8zQyxLQUFQLEVBQWNxQixHQUFkO0FBQUEsMkNBQ0tzQixJQURMLDRDQUVHM0MsS0FBSyxDQUFDRCxFQUZULEVBRWNzQyxpQkFBaUIsQ0FBQ3JDLEtBQUQsRUFBUVEsU0FBUyxDQUFDYSxHQUFELENBQWpCLENBQWpCLElBQTRDbUIsY0FBYyxDQUFDeEMsS0FBRCxFQUFRK0IsU0FBUixDQUZ4RTtBQUFBLEdBREssRUFLTCxFQUxLLENBQVA7QUFPRDs7QUFFRCxJQUFNaUIsYUFBYSxHQUFHLElBQUlDLHlCQUFKLEVBQXRCOztBQUVPLFNBQVNDLHFCQUFULENBQStCbEIsV0FBL0IsRUFBNEM7QUFDakQsU0FBTztBQUNMbUIsSUFBQUEsTUFBTSxFQUFFQyw4QkFESDtBQUVMQyxJQUFBQSxXQUFXLEVBQUVDLE9BQU8sQ0FBQ3RCLFdBQVcsSUFBSUEsV0FBVyxDQUFDdUIsTUFBNUIsQ0FGZjtBQUdMQyxJQUFBQSxVQUFVLEVBQUUsQ0FBQ1IsYUFBRDtBQUhQLEdBQVA7QUFLRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7T1ZFUkxBWV9UWVBFfSBmcm9tICdsYXllcnMvYmFzZS1sYXllcic7XG5pbXBvcnQge0dFT0NPREVSX0xBWUVSX0lELCBNQVNLX0xBWUVSX0lEfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQge01hc2tFeHRlbnNpb259IGZyb20gJ0BkZWNrLmdsL2V4dGVuc2lvbnMnO1xuXG4vKipcbiAqIEZpbmQgZGVmYXVsdCBsYXllcnMgZnJvbSBmaWVsZHNcbiAqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KCcuL2xheWVyLXV0aWxzJykuZmluZERlZmF1bHRMYXllcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmREZWZhdWx0TGF5ZXIoZGF0YXNldCwgbGF5ZXJDbGFzc2VzKSB7XG4gIGlmICghZGF0YXNldCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBjb25zdCBsYXllclByb3BzID0gT2JqZWN0LmtleXMobGF5ZXJDbGFzc2VzKS5yZWR1Y2UoKHByZXZpb3VzLCBsYykgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9XG4gICAgICB0eXBlb2YgbGF5ZXJDbGFzc2VzW2xjXS5maW5kRGVmYXVsdExheWVyUHJvcHMgPT09ICdmdW5jdGlvbidcbiAgICAgICAgPyBsYXllckNsYXNzZXNbbGNdLmZpbmREZWZhdWx0TGF5ZXJQcm9wcyhkYXRhc2V0LCBwcmV2aW91cylcbiAgICAgICAgOiB7cHJvcHM6IFtdfTtcblxuICAgIGNvbnN0IHByb3BzID0gQXJyYXkuaXNBcnJheShyZXN1bHQpID8gcmVzdWx0IDogcmVzdWx0LnByb3BzIHx8IFtdO1xuICAgIGNvbnN0IGZvdW5kTGF5ZXJzID0gcmVzdWx0LmZvdW5kTGF5ZXJzIHx8IHByZXZpb3VzO1xuXG4gICAgcmV0dXJuIGZvdW5kTGF5ZXJzLmNvbmNhdChcbiAgICAgIHByb3BzLm1hcChwID0+ICh7XG4gICAgICAgIC4uLnAsXG4gICAgICAgIHR5cGU6IGxjLFxuICAgICAgICBkYXRhSWQ6IGRhdGFzZXQuaWRcbiAgICAgIH0pKVxuICAgICk7XG4gIH0sIFtdKTtcblxuICAvLyBnbyB0aHJvdWdoIGFsbCBsYXllclByb3BzIHRvIGNyZWF0ZSBsYXllclxuICByZXR1cm4gbGF5ZXJQcm9wcy5tYXAocHJvcHMgPT4ge1xuICAgIGNvbnN0IGxheWVyID0gbmV3IGxheWVyQ2xhc3Nlc1twcm9wcy50eXBlXShwcm9wcyk7XG4gICAgcmV0dXJuIHR5cGVvZiBsYXllci5zZXRJbml0aWFsTGF5ZXJDb25maWcgPT09ICdmdW5jdGlvbicgJiYgZGF0YXNldC5kYXRhQ29udGFpbmVyXG4gICAgICA/IGxheWVyLnNldEluaXRpYWxMYXllckNvbmZpZyhkYXRhc2V0KVxuICAgICAgOiBsYXllcjtcbiAgfSk7XG59XG5cbi8qKlxuICogY2FsY3VsYXRlIGxheWVyIGRhdGEgYmFzZWQgb24gbGF5ZXIgdHlwZSwgY29sIENvbmZpZyxcbiAqIHJldHVybiB1cGRhdGVkIGxheWVyIGlmIGNvbG9yRG9tYWluLCBkYXRhTWFwIGhhcyBjaGFuZ2VkXG4gKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9sYXllci11dGlscycpLmNhbGN1bGF0ZUxheWVyRGF0YX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUxheWVyRGF0YShsYXllciwgc3RhdGUsIG9sZExheWVyRGF0YSkge1xuICBjb25zdCB7dHlwZX0gPSBsYXllcjtcblxuICBpZiAoIXR5cGUgfHwgIWxheWVyLmhhc0FsbENvbHVtbnMoKSB8fCAhbGF5ZXIuY29uZmlnLmRhdGFJZCkge1xuICAgIHJldHVybiB7bGF5ZXIsIGxheWVyRGF0YToge319O1xuICB9XG5cbiAgY29uc3QgbGF5ZXJEYXRhID0gbGF5ZXIuZm9ybWF0TGF5ZXJEYXRhKHN0YXRlLmRhdGFzZXRzLCBvbGRMYXllckRhdGEpO1xuICByZXR1cm4ge2xheWVyRGF0YSwgbGF5ZXJ9O1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSBwcm9wcyBwYXNzZWQgdG8gTGF5ZXJIb3ZlckluZm9cbiAqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KCcuL2xheWVyLXV0aWxzJykuZ2V0TGF5ZXJIb3ZlclByb3B9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRMYXllckhvdmVyUHJvcCh7XG4gIGludGVyYWN0aW9uQ29uZmlnLFxuICBob3ZlckluZm8sXG4gIGxheWVycyxcbiAgbGF5ZXJzVG9SZW5kZXIsXG4gIGRhdGFzZXRzXG59KSB7XG4gIGlmIChpbnRlcmFjdGlvbkNvbmZpZy50b29sdGlwLmVuYWJsZWQgJiYgaG92ZXJJbmZvICYmIGhvdmVySW5mby5waWNrZWQpIHtcbiAgICAvLyBpZiBhbnl0aGluZyBob3ZlcmVkXG4gICAgY29uc3Qge29iamVjdCwgbGF5ZXI6IG92ZXJsYXl9ID0gaG92ZXJJbmZvO1xuXG4gICAgLy8gZGVja2dsIGxheWVyIHRvIGtlcGxlci1nbCBsYXllclxuICAgIGNvbnN0IGxheWVyID0gbGF5ZXJzW292ZXJsYXkucHJvcHMuaWR4XTtcblxuICAgIGlmIChvYmplY3QgJiYgbGF5ZXIgJiYgbGF5ZXIuZ2V0SG92ZXJEYXRhICYmIGxheWVyc1RvUmVuZGVyW2xheWVyLmlkXSkge1xuICAgICAgLy8gaWYgbGF5ZXIgaXMgdmlzaWJsZSBhbmQgaGF2ZSBob3ZlcmVkIGRhdGFcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgY29uZmlnOiB7ZGF0YUlkfVxuICAgICAgfSA9IGxheWVyO1xuICAgICAgaWYgKCFkYXRhSWQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCB7ZGF0YUNvbnRhaW5lciwgZmllbGRzfSA9IGRhdGFzZXRzW2RhdGFJZF07XG4gICAgICBjb25zdCBkYXRhID0gbGF5ZXIuZ2V0SG92ZXJEYXRhKG9iamVjdCwgZGF0YUNvbnRhaW5lciwgZmllbGRzKTtcbiAgICAgIGNvbnN0IGZpZWxkc1RvU2hvdyA9IGludGVyYWN0aW9uQ29uZmlnLnRvb2x0aXAuY29uZmlnLmZpZWxkc1RvU2hvd1tkYXRhSWRdO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIGZpZWxkc1RvU2hvdyxcbiAgICAgICAgbGF5ZXJcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJEZWNrR2xMYXllcihwcm9wcywgbGF5ZXJDYWxsYmFja3MsIGlkeCkge1xuICBjb25zdCB7XG4gICAgZGF0YXNldHMsXG4gICAgbGF5ZXJzLFxuICAgIGxheWVyRGF0YSxcbiAgICBob3ZlckluZm8sXG4gICAgY2xpY2tlZCxcbiAgICBtYXBTdGF0ZSxcbiAgICBpbnRlcmFjdGlvbkNvbmZpZyxcbiAgICBhbmltYXRpb25Db25maWcsXG4gICAgbWFwTGF5ZXJzLFxuICAgIG1hc2tQb2x5Z29uXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgbGF5ZXIgPSBsYXllcnNbaWR4XTtcbiAgY29uc3QgZGF0YSA9IGxheWVyRGF0YVtpZHhdO1xuICBjb25zdCB7Z3B1RmlsdGVyfSA9IGRhdGFzZXRzW2xheWVyLmNvbmZpZy5kYXRhSWRdIHx8IHt9O1xuICBjb25zdCBvYmplY3RIb3ZlcmVkID0gY2xpY2tlZCB8fCBob3ZlckluZm87XG4gIGNvbnN0IHZpc2libGUgPSAhbWFwTGF5ZXJzIHx8IChtYXBMYXllcnMgJiYgbWFwTGF5ZXJzW2xheWVyLmlkXSk7XG4gIC8vIExheWVyIGlzIExheWVyIGNsYXNzXG4gIHJldHVybiBsYXllci5yZW5kZXJMYXllcih7XG4gICAgZGF0YSxcbiAgICBncHVGaWx0ZXIsXG4gICAgaWR4LFxuICAgIGludGVyYWN0aW9uQ29uZmlnLFxuICAgIGxheWVyQ2FsbGJhY2tzLFxuICAgIG1hcFN0YXRlLFxuICAgIGFuaW1hdGlvbkNvbmZpZyxcbiAgICBvYmplY3RIb3ZlcmVkLFxuICAgIHZpc2libGUsXG4gICAgbWFza1BvbHlnb25cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xheWVyUmVuZGVyYWJsZShsYXllciwgbGF5ZXJEYXRhKSB7XG4gIHJldHVybiBsYXllci5pZCAhPT0gR0VPQ09ERVJfTEFZRVJfSUQgJiYgbGF5ZXIuc2hvdWxkUmVuZGVyTGF5ZXIobGF5ZXJEYXRhKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTGF5ZXJWaXNpYmxlKGxheWVyLCBtYXBMYXllcnMpIHtcbiAgcmV0dXJuIChcbiAgICBsYXllci5jb25maWcuaXNWaXNpYmxlICYmXG4gICAgLy8gaWYgbGF5ZXIuaWQgaXMgbm90IGluIG1hcExheWVycywgZG9uJ3QgcmVuZGVyIGl0XG4gICAgKCFtYXBMYXllcnMgfHwgKG1hcExheWVycyAmJiBtYXBMYXllcnNbbGF5ZXIuaWRdKSlcbiAgKTtcbn1cblxuLy8gUHJlcGFyZSBhIGRpY3Qgb2YgbGF5ZXJzIHJlbmRlcmVkIGJ5IHRoZSBkZWNrLmdsXG4vLyBOb3RlLCBpc1Zpc2libGU6IGZhbHNlIGxheWVyIGlzIHBhc3NlZCB0byBkZWNrLmdsIGhlcmVcbi8vIHJldHVybiB7W2lkXTogdHJ1ZSBcXCBmYWxzZX1cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlTGF5ZXJzRm9yRGVjayhsYXllcnMsIGxheWVyRGF0YSkge1xuICByZXR1cm4gbGF5ZXJzLnJlZHVjZShcbiAgICAoYWNjdSwgbGF5ZXIsIGlkeCkgPT4gKHtcbiAgICAgIC4uLmFjY3UsXG4gICAgICBbbGF5ZXIuaWRdOlxuICAgICAgICBpc0xheWVyUmVuZGVyYWJsZShsYXllciwgbGF5ZXJEYXRhW2lkeF0pICYmIGxheWVyLm92ZXJsYXlUeXBlID09PSBPVkVSTEFZX1RZUEUuZGVja2dsXG4gICAgfSksXG4gICAge31cbiAgKTtcbn1cblxuLy8gUHJlcGFyZSBhIGRpY3Qgb2YgcmVuZGVyZWQgbGF5ZXJzIHJlbmRlcmVkIGluIHRoZSBtYXBcbi8vIFRoaXMgaW5jbHVkZXMgb25seSB0aGUgdmlzaWJpbGUgbGF5ZXJzIGZvciBzaW5nbGUgbWFwIHZpZXcgYW5kIHNwbGl0IG1hcCB2aWV3XG4vLyByZXR1cm4ge1tpZF06IHRydWUgXFwgZmFsc2V9XG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZUxheWVyc1RvUmVuZGVyKGxheWVycywgbGF5ZXJEYXRhLCBtYXBMYXllcnMpIHtcbiAgcmV0dXJuIGxheWVycy5yZWR1Y2UoXG4gICAgKGFjY3UsIGxheWVyLCBpZHgpID0+ICh7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW2xheWVyLmlkXTogaXNMYXllclJlbmRlcmFibGUobGF5ZXIsIGxheWVyRGF0YVtpZHhdKSAmJiBpc0xheWVyVmlzaWJsZShsYXllciwgbWFwTGF5ZXJzKVxuICAgIH0pLFxuICAgIHt9XG4gICk7XG59XG5cbmNvbnN0IG1hc2tFeHRlbnNpb24gPSBuZXcgTWFza0V4dGVuc2lvbigpO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFza0V4dGVuc2lvblByb3BzKG1hc2tQb2x5Z29uKSB7XG4gIHJldHVybiB7XG4gICAgbWFza0lkOiBNQVNLX0xBWUVSX0lELFxuICAgIG1hc2tFbmFibGVkOiBCb29sZWFuKG1hc2tQb2x5Z29uICYmIG1hc2tQb2x5Z29uLmxlbmd0aCksXG4gICAgZXh0ZW5zaW9uczogW21hc2tFeHRlbnNpb25dXG4gIH07XG59XG4iXX0=
195
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9sYXllci11dGlscy5qcyJdLCJuYW1lcyI6WyJmaW5kRGVmYXVsdExheWVyIiwiZGF0YXNldCIsImxheWVyQ2xhc3NlcyIsImxheWVyUHJvcHMiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwicHJldmlvdXMiLCJsYyIsInJlc3VsdCIsImZpbmREZWZhdWx0TGF5ZXJQcm9wcyIsInByb3BzIiwiQXJyYXkiLCJpc0FycmF5IiwiZm91bmRMYXllcnMiLCJjb25jYXQiLCJtYXAiLCJwIiwidHlwZSIsImRhdGFJZCIsImlkIiwibGF5ZXIiLCJzZXRJbml0aWFsTGF5ZXJDb25maWciLCJkYXRhQ29udGFpbmVyIiwiY2FsY3VsYXRlTGF5ZXJEYXRhIiwic3RhdGUiLCJvbGRMYXllckRhdGEiLCJoYXNBbGxDb2x1bW5zIiwiY29uZmlnIiwibGF5ZXJEYXRhIiwiZm9ybWF0TGF5ZXJEYXRhIiwiZGF0YXNldHMiLCJnZXRMYXllckhvdmVyUHJvcCIsImludGVyYWN0aW9uQ29uZmlnIiwiaG92ZXJJbmZvIiwibGF5ZXJzIiwibGF5ZXJzVG9SZW5kZXIiLCJ0b29sdGlwIiwiZW5hYmxlZCIsInBpY2tlZCIsIm9iamVjdCIsIm92ZXJsYXkiLCJpZHgiLCJnZXRIb3ZlckRhdGEiLCJmaWVsZHMiLCJkYXRhIiwiZmllbGRzVG9TaG93IiwicmVuZGVyRGVja0dsTGF5ZXIiLCJsYXllckNhbGxiYWNrcyIsImNsaWNrZWQiLCJtYXBTdGF0ZSIsImFuaW1hdGlvbkNvbmZpZyIsIm1hcExheWVycyIsIm1hc2tQb2x5Z29uIiwiZ3B1RmlsdGVyIiwib2JqZWN0SG92ZXJlZCIsInZpc2libGUiLCJyZW5kZXJMYXllciIsImlzTGF5ZXJSZW5kZXJhYmxlIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJzaG91bGRSZW5kZXJMYXllciIsImlzTGF5ZXJWaXNpYmxlIiwiaXNWaXNpYmxlIiwicHJlcGFyZUxheWVyc0ZvckRlY2siLCJhY2N1Iiwib3ZlcmxheVR5cGUiLCJPVkVSTEFZX1RZUEUiLCJkZWNrZ2wiLCJwcmVwYXJlTGF5ZXJzVG9SZW5kZXIiLCJtYXNrRXh0ZW5zaW9uIiwiTWFza0V4dGVuc2lvbiIsImdldE1hc2tFeHRlbnNpb25Qcm9wcyIsIm1hc2tJZCIsIkJvb2xlYW4iLCJsZW5ndGgiLCJNQVNLX0xBWUVSX0lEIiwiZXh0ZW5zaW9ucyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQSxnQkFBVCxDQUEwQkMsT0FBMUIsRUFBbUNDLFlBQW5DLEVBQWlEO0FBQ3RELE1BQUksQ0FBQ0QsT0FBTCxFQUFjO0FBQ1osV0FBTyxFQUFQO0FBQ0Q7O0FBQ0QsTUFBTUUsVUFBVSxHQUFHQyxNQUFNLENBQUNDLElBQVAsQ0FBWUgsWUFBWixFQUEwQkksTUFBMUIsQ0FBaUMsVUFBQ0MsUUFBRCxFQUFXQyxFQUFYLEVBQWtCO0FBQ3BFLFFBQU1DLE1BQU0sR0FDVixPQUFPUCxZQUFZLENBQUNNLEVBQUQsQ0FBWixDQUFpQkUscUJBQXhCLEtBQWtELFVBQWxELEdBQ0lSLFlBQVksQ0FBQ00sRUFBRCxDQUFaLENBQWlCRSxxQkFBakIsQ0FBdUNULE9BQXZDLEVBQWdETSxRQUFoRCxDQURKLEdBRUk7QUFBQ0ksTUFBQUEsS0FBSyxFQUFFO0FBQVIsS0FITjtBQUtBLFFBQU1BLEtBQUssR0FBR0MsS0FBSyxDQUFDQyxPQUFOLENBQWNKLE1BQWQsSUFBd0JBLE1BQXhCLEdBQWlDQSxNQUFNLENBQUNFLEtBQVAsSUFBZ0IsRUFBL0Q7QUFDQSxRQUFNRyxXQUFXLEdBQUdMLE1BQU0sQ0FBQ0ssV0FBUCxJQUFzQlAsUUFBMUM7QUFFQSxXQUFPTyxXQUFXLENBQUNDLE1BQVosQ0FDTEosS0FBSyxDQUFDSyxHQUFOLENBQVUsVUFBQUMsQ0FBQztBQUFBLDZDQUNOQSxDQURNO0FBRVRDLFFBQUFBLElBQUksRUFBRVYsRUFGRztBQUdUVyxRQUFBQSxNQUFNLEVBQUVsQixPQUFP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LDRDQUVHM0MsS0FBSyxDQUFDRCxFQUZULEVBR0lzQyxpQkFBaUIsQ0FBQ3JDLEtBQUQsRUFBUVEsU0FBUyxDQUFDYSxHQUFELENBQWpCLENBQWpCLElBQTRDckIsS0FBSyxDQUFDNEMsV0FBTixLQUFzQkMsd0JBQWFDLE1BSG5GO0FBQUEsR0FESyxFQU1MLEVBTkssQ0FBUDtBQVFELEMsQ0FFRDtBQUNBO0FBQ0E7OztBQUNPLFNBQVNDLHFCQUFULENBQStCakMsTUFBL0IsRUFBdUNOLFNBQXZDLEVBQWtEdUIsU0FBbEQsRUFBNkQ7QUFDbEUsU0FBT2pCLE1BQU0sQ0FBQzdCLE1BQVAsQ0FDTCxVQUFDMEQsSUFBRCxFQUFPM0MsS0FBUCxFQUFjcUIsR0FBZDtBQUFBLDJDQUNLc0IsSUFETCw0Q0FFRzNDLEtBQUssQ0FBQ0QsRUFGVCxFQUVjc0MsaUJBQWlCLENBQUNyQyxLQUFELEVBQVFRLFNBQVMsQ0FBQ2EsR0FBRCxDQUFqQixDQUFqQixJQUE0Q21CLGNBQWMsQ0FBQ3hDLEtBQUQsRUFBUStCLFNBQVIsQ0FGeEU7QUFBQSxHQURLLEVBS0wsRUFMSyxDQUFQO0FBT0Q7O0FBRUQsSUFBTWlCLGFBQWEsR0FBRyxJQUFJQyx5QkFBSixFQUF0Qjs7QUFFTyxTQUFTQyxxQkFBVCxDQUErQmxCLFdBQS9CLEVBQTRDO0FBQ2pELFNBQU87QUFDTG1CLElBQUFBLE1BQU0sRUFBRUMsT0FBTyxDQUFDcEIsV0FBVyxJQUFJQSxXQUFXLENBQUNxQixNQUE1QixDQUFQLElBQThDQyw4QkFEakQ7QUFFTEMsSUFBQUEsVUFBVSxFQUFFLENBQUNQLGFBQUQ7QUFGUCxHQUFQO0FBSUQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge09WRVJMQVlfVFlQRX0gZnJvbSAnbGF5ZXJzL2Jhc2UtbGF5ZXInO1xuaW1wb3J0IHtHRU9DT0RFUl9MQVlFUl9JRCwgTUFTS19MQVlFUl9JRH0gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuaW1wb3J0IHtNYXNrRXh0ZW5zaW9ufSBmcm9tICdAZGVjay5nbC9leHRlbnNpb25zJztcblxuLyoqXG4gKiBGaW5kIGRlZmF1bHQgbGF5ZXJzIGZyb20gZmllbGRzXG4gKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9sYXllci11dGlscycpLmZpbmREZWZhdWx0TGF5ZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kRGVmYXVsdExheWVyKGRhdGFzZXQsIGxheWVyQ2xhc3Nlcykge1xuICBpZiAoIWRhdGFzZXQpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgY29uc3QgbGF5ZXJQcm9wcyA9IE9iamVjdC5rZXlzKGxheWVyQ2xhc3NlcykucmVkdWNlKChwcmV2aW91cywgbGMpID0+IHtcbiAgICBjb25zdCByZXN1bHQgPVxuICAgICAgdHlwZW9mIGxheWVyQ2xhc3Nlc1tsY10uZmluZERlZmF1bHRMYXllclByb3BzID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gbGF5ZXJDbGFzc2VzW2xjXS5maW5kRGVmYXVsdExheWVyUHJvcHMoZGF0YXNldCwgcHJldmlvdXMpXG4gICAgICAgIDoge3Byb3BzOiBbXX07XG5cbiAgICBjb25zdCBwcm9wcyA9IEFycmF5LmlzQXJyYXkocmVzdWx0KSA/IHJlc3VsdCA6IHJlc3VsdC5wcm9wcyB8fCBbXTtcbiAgICBjb25zdCBmb3VuZExheWVycyA9IHJlc3VsdC5mb3VuZExheWVycyB8fCBwcmV2aW91cztcblxuICAgIHJldHVybiBmb3VuZExheWVycy5jb25jYXQoXG4gICAgICBwcm9wcy5tYXAocCA9PiAoe1xuICAgICAgICAuLi5wLFxuICAgICAgICB0eXBlOiBsYyxcbiAgICAgICAgZGF0YUlkOiBkYXRhc2V0LmlkXG4gICAgICB9KSlcbiAgICApO1xuICB9LCBbXSk7XG5cbiAgLy8gZ28gdGhyb3VnaCBhbGwgbGF5ZXJQcm9wcyB0byBjcmVhdGUgbGF5ZXJcbiAgcmV0dXJuIGxheWVyUHJvcHMubWFwKHByb3BzID0+IHtcbiAgICBjb25zdCBsYXllciA9IG5ldyBsYXllckNsYXNzZXNbcHJvcHMudHlwZV0ocHJvcHMpO1xuICAgIHJldHVybiB0eXBlb2YgbGF5ZXIuc2V0SW5pdGlhbExheWVyQ29uZmlnID09PSAnZnVuY3Rpb24nICYmIGRhdGFzZXQuZGF0YUNvbnRhaW5lclxuICAgICAgPyBsYXllci5zZXRJbml0aWFsTGF5ZXJDb25maWcoZGF0YXNldClcbiAgICAgIDogbGF5ZXI7XG4gIH0pO1xufVxuXG4vKipcbiAqIGNhbGN1bGF0ZSBsYXllciBkYXRhIGJhc2VkIG9uIGxheWVyIHR5cGUsIGNvbCBDb25maWcsXG4gKiByZXR1cm4gdXBkYXRlZCBsYXllciBpZiBjb2xvckRvbWFpbiwgZGF0YU1hcCBoYXMgY2hhbmdlZFxuICogQHR5cGUge3R5cGVvZiBpbXBvcnQoJy4vbGF5ZXItdXRpbHMnKS5jYWxjdWxhdGVMYXllckRhdGF9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVMYXllckRhdGEobGF5ZXIsIHN0YXRlLCBvbGRMYXllckRhdGEpIHtcbiAgY29uc3Qge3R5cGV9ID0gbGF5ZXI7XG5cbiAgaWYgKCF0eXBlIHx8ICFsYXllci5oYXNBbGxDb2x1bW5zKCkgfHwgIWxheWVyLmNvbmZpZy5kYXRhSWQpIHtcbiAgICByZXR1cm4ge2xheWVyLCBsYXllckRhdGE6IHt9fTtcbiAgfVxuXG4gIGNvbnN0IGxheWVyRGF0YSA9IGxheWVyLmZvcm1hdExheWVyRGF0YShzdGF0ZS5kYXRhc2V0cywgb2xkTGF5ZXJEYXRhKTtcbiAgcmV0dXJuIHtsYXllckRhdGEsIGxheWVyfTtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGUgcHJvcHMgcGFzc2VkIHRvIExheWVySG92ZXJJbmZvXG4gKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9sYXllci11dGlscycpLmdldExheWVySG92ZXJQcm9wfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGF5ZXJIb3ZlclByb3Aoe1xuICBpbnRlcmFjdGlvbkNvbmZpZyxcbiAgaG92ZXJJbmZvLFxuICBsYXllcnMsXG4gIGxheWVyc1RvUmVuZGVyLFxuICBkYXRhc2V0c1xufSkge1xuICBpZiAoaW50ZXJhY3Rpb25Db25maWcudG9vbHRpcC5lbmFibGVkICYmIGhvdmVySW5mbyAmJiBob3ZlckluZm8ucGlja2VkKSB7XG4gICAgLy8gaWYgYW55dGhpbmcgaG92ZXJlZFxuICAgIGNvbnN0IHtvYmplY3QsIGxheWVyOiBvdmVybGF5fSA9IGhvdmVySW5mbztcblxuICAgIC8vIGRlY2tnbCBsYXllciB0byBrZXBsZXItZ2wgbGF5ZXJcbiAgICBjb25zdCBsYXllciA9IGxheWVyc1tvdmVybGF5LnByb3BzLmlkeF07XG5cbiAgICBpZiAob2JqZWN0ICYmIGxheWVyICYmIGxheWVyLmdldEhvdmVyRGF0YSAmJiBsYXllcnNUb1JlbmRlcltsYXllci5pZF0pIHtcbiAgICAgIC8vIGlmIGxheWVyIGlzIHZpc2libGUgYW5kIGhhdmUgaG92ZXJlZCBkYXRhXG4gICAgICBjb25zdCB7XG4gICAgICAgIGNvbmZpZzoge2RhdGFJZH1cbiAgICAgIH0gPSBsYXllcjtcbiAgICAgIGlmICghZGF0YUlkKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3Qge2RhdGFDb250YWluZXIsIGZpZWxkc30gPSBkYXRhc2V0c1tkYXRhSWRdO1xuICAgICAgY29uc3QgZGF0YSA9IGxheWVyLmdldEhvdmVyRGF0YShvYmplY3QsIGRhdGFDb250YWluZXIsIGZpZWxkcyk7XG4gICAgICBjb25zdCBmaWVsZHNUb1Nob3cgPSBpbnRlcmFjdGlvbkNvbmZpZy50b29sdGlwLmNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICBmaWVsZHNUb1Nob3csXG4gICAgICAgIGxheWVyXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyRGVja0dsTGF5ZXIocHJvcHMsIGxheWVyQ2FsbGJhY2tzLCBpZHgpIHtcbiAgY29uc3Qge1xuICAgIGRhdGFzZXRzLFxuICAgIGxheWVycyxcbiAgICBsYXllckRhdGEsXG4gICAgaG92ZXJJbmZvLFxuICAgIGNsaWNrZWQsXG4gICAgbWFwU3RhdGUsXG4gICAgaW50ZXJhY3Rpb25Db25maWcsXG4gICAgYW5pbWF0aW9uQ29uZmlnLFxuICAgIG1hcExheWVycyxcbiAgICBtYXNrUG9seWdvblxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGxheWVyID0gbGF5ZXJzW2lkeF07XG4gIGNvbnN0IGRhdGEgPSBsYXllckRhdGFbaWR4XTtcbiAgY29uc3Qge2dwdUZpbHRlcn0gPSBkYXRhc2V0c1tsYXllci5jb25maWcuZGF0YUlkXSB8fCB7fTtcbiAgY29uc3Qgb2JqZWN0SG92ZXJlZCA9IGNsaWNrZWQgfHwgaG92ZXJJbmZvO1xuICBjb25zdCB2aXNpYmxlID0gIW1hcExheWVycyB8fCAobWFwTGF5ZXJzICYmIG1hcExheWVyc1tsYXllci5pZF0pO1xuICAvLyBMYXllciBpcyBMYXllciBjbGFzc1xuICByZXR1cm4gbGF5ZXIucmVuZGVyTGF5ZXIoe1xuICAgIGRhdGEsXG4gICAgZ3B1RmlsdGVyLFxuICAgIGlkeCxcbiAgICBpbnRlcmFjdGlvbkNvbmZpZyxcbiAgICBsYXllckNhbGxiYWNrcyxcbiAgICBtYXBTdGF0ZSxcbiAgICBhbmltYXRpb25Db25maWcsXG4gICAgb2JqZWN0SG92ZXJlZCxcbiAgICB2aXNpYmxlLFxuICAgIG1hc2tQb2x5Z29uXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMYXllclJlbmRlcmFibGUobGF5ZXIsIGxheWVyRGF0YSkge1xuICByZXR1cm4gbGF5ZXIuaWQgIT09IEdFT0NPREVSX0xBWUVSX0lEICYmIGxheWVyLnNob3VsZFJlbmRlckxheWVyKGxheWVyRGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xheWVyVmlzaWJsZShsYXllciwgbWFwTGF5ZXJzKSB7XG4gIHJldHVybiAoXG4gICAgbGF5ZXIuY29uZmlnLmlzVmlzaWJsZSAmJlxuICAgIC8vIGlmIGxheWVyLmlkIGlzIG5vdCBpbiBtYXBMYXllcnMsIGRvbid0IHJlbmRlciBpdFxuICAgICghbWFwTGF5ZXJzIHx8IChtYXBMYXllcnMgJiYgbWFwTGF5ZXJzW2xheWVyLmlkXSkpXG4gICk7XG59XG5cbi8vIFByZXBhcmUgYSBkaWN0IG9mIGxheWVycyByZW5kZXJlZCBieSB0aGUgZGVjay5nbFxuLy8gTm90ZSwgaXNWaXNpYmxlOiBmYWxzZSBsYXllciBpcyBwYXNzZWQgdG8gZGVjay5nbCBoZXJlXG4vLyByZXR1cm4ge1tpZF06IHRydWUgXFwgZmFsc2V9XG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZUxheWVyc0ZvckRlY2sobGF5ZXJzLCBsYXllckRhdGEpIHtcbiAgcmV0dXJuIGxheWVycy5yZWR1Y2UoXG4gICAgKGFjY3UsIGxheWVyLCBpZHgpID0+ICh7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW2xheWVyLmlkXTpcbiAgICAgICAgaXNMYXllclJlbmRlcmFibGUobGF5ZXIsIGxheWVyRGF0YVtpZHhdKSAmJiBsYXllci5vdmVybGF5VHlwZSA9PT0gT1ZFUkxBWV9UWVBFLmRlY2tnbFxuICAgIH0pLFxuICAgIHt9XG4gICk7XG59XG5cbi8vIFByZXBhcmUgYSBkaWN0IG9mIHJlbmRlcmVkIGxheWVycyByZW5kZXJlZCBpbiB0aGUgbWFwXG4vLyBUaGlzIGluY2x1ZGVzIG9ubHkgdGhlIHZpc2liaWxlIGxheWVycyBmb3Igc2luZ2xlIG1hcCB2aWV3IGFuZCBzcGxpdCBtYXAgdmlld1xuLy8gcmV0dXJuIHtbaWRdOiB0cnVlIFxcIGZhbHNlfVxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVMYXllcnNUb1JlbmRlcihsYXllcnMsIGxheWVyRGF0YSwgbWFwTGF5ZXJzKSB7XG4gIHJldHVybiBsYXllcnMucmVkdWNlKFxuICAgIChhY2N1LCBsYXllciwgaWR4KSA9PiAoe1xuICAgICAgLi4uYWNjdSxcbiAgICAgIFtsYXllci5pZF06IGlzTGF5ZXJSZW5kZXJhYmxlKGxheWVyLCBsYXllckRhdGFbaWR4XSkgJiYgaXNMYXllclZpc2libGUobGF5ZXIsIG1hcExheWVycylcbiAgICB9KSxcbiAgICB7fVxuICApO1xufVxuXG5jb25zdCBtYXNrRXh0ZW5zaW9uID0gbmV3IE1hc2tFeHRlbnNpb24oKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1hc2tFeHRlbnNpb25Qcm9wcyhtYXNrUG9seWdvbikge1xuICByZXR1cm4ge1xuICAgIG1hc2tJZDogQm9vbGVhbihtYXNrUG9seWdvbiAmJiBtYXNrUG9seWdvbi5sZW5ndGgpICYmIE1BU0tfTEFZRVJfSUQsXG4gICAgZXh0ZW5zaW9uczogW21hc2tFeHRlbnNpb25dXG4gIH07XG59XG4iXX0=
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@carto/kepler.gl",
3
3
  "author": "CARTO",
4
4
  "homepage": "https://github.com/CartoDB/carto-kepler#readme",
5
- "version": "0.0.19",
5
+ "version": "0.0.23",
6
6
  "description": "kepler.gl is a webgl based application to visualize large scale location data in the browser",
7
7
  "license": "MIT",
8
8
  "main": "dist/index.js",
@@ -79,13 +79,13 @@
79
79
  "umd"
80
80
  ],
81
81
  "dependencies": {
82
- "@deck.gl/aggregation-layers": "^8.7.0-beta.2",
83
- "@deck.gl/core": "^8.7.0-beta.2",
84
- "@deck.gl/extensions": "^8.7.0-beta.2",
85
- "@deck.gl/geo-layers": "^8.7.0-beta.2",
86
- "@deck.gl/layers": "^8.7.0-beta.2",
87
- "@deck.gl/mesh-layers": "^8.7.0-beta.2",
88
- "@deck.gl/react": "^8.7.0-beta.2",
82
+ "@deck.gl/aggregation-layers": "^8.7.0-beta.5",
83
+ "@deck.gl/core": "^8.7.0-beta.5",
84
+ "@deck.gl/extensions": "^8.7.0-beta.5",
85
+ "@deck.gl/geo-layers": "^8.7.0-beta.5",
86
+ "@deck.gl/layers": "^8.7.0-beta.5",
87
+ "@deck.gl/mesh-layers": "^8.7.0-beta.5",
88
+ "@deck.gl/react": "^8.7.0-beta.5",
89
89
  "@loaders.gl/core": "^3.1.5",
90
90
  "@loaders.gl/csv": "^3.1.5",
91
91
  "@loaders.gl/gltf": "^3.1.5",
@@ -33,7 +33,6 @@ import {LAYER_VIS_CONFIGS} from 'layers/layer-factory';
33
33
  import {SCALE_TYPES} from 'constants/default-settings';
34
34
  import {DEFAULT_COLOR_RANGE} from 'constants/color-ranges';
35
35
  import ClusterBuilder, {getGeoJSON} from '../layer-utils/cluster-utils';
36
- import {getMaskExtensionProps} from 'utils/layer-utils';
37
36
 
38
37
  const defaultRadius = LAYER_VIS_CONFIGS.clusterRadius.defaultValue;
39
38
  const defaultRadiusRange = LAYER_VIS_CONFIGS.clusterRadiusRange.defaultValue;
@@ -219,15 +218,21 @@ export default class ClusterLayer extends AggregationLayer {
219
218
  const {cpuAggregator} = this.state;
220
219
 
221
220
  // base layer props
222
- const {visible, opacity, pickable, autoHighlight, highlightColor} = this.props;
221
+ const {
222
+ visible,
223
+ opacity,
224
+ pickable,
225
+ autoHighlight,
226
+ highlightColor,
227
+ maskId,
228
+ extensions
229
+ } = this.props;
223
230
  const updateTriggers = this._getSublayerUpdateTriggers();
224
231
  const accessors = this._getSubLayerAccessors();
225
232
 
226
233
  const distanceScale = getDistanceScales(this.context.viewport);
227
234
  const metersPerPixel = distanceScale.metersPerPixel[0];
228
235
 
229
- const maskExtensionProps = getMaskExtensionProps(this.props.maskPolygon);
230
-
231
236
  // return props to the sublayer constructor
232
237
  return new ScatterplotLayer({
233
238
  id: `${id}-cluster`,
@@ -240,7 +245,8 @@ export default class ClusterLayer extends AggregationLayer {
240
245
  highlightColor,
241
246
  updateTriggers,
242
247
  ...accessors,
243
- ...maskExtensionProps
248
+ maskId,
249
+ extensions
244
250
  });
245
251
  }
246
252
  }
@@ -25,9 +25,9 @@ function addInstanceCoverage(vs) {
25
25
  const addDecl = editShader(
26
26
  vs,
27
27
  'hexagon cell vs add instance',
28
- 'attribute vec3 instancePickingColors;',
29
- `attribute vec3 instancePickingColors;
30
- attribute float instanceCoverage;`
28
+ 'in vec3 instancePickingColors;',
29
+ `in vec3 instancePickingColors;
30
+ in float instanceCoverage;`
31
31
  );
32
32
 
33
33
  return editShader(
@@ -71,7 +71,6 @@ export function prepareLayersForDeck(
71
71
  export function getMaskExtensionProps(
72
72
  maskPolygon: Array<Array<number>>,
73
73
  ): {
74
- maskId: string,
75
- maskEnabled: boolean,
74
+ maskId?: string,
76
75
  extensions: Array<unknown>
77
76
  }
@@ -191,8 +191,7 @@ const maskExtension = new MaskExtension();
191
191
 
192
192
  export function getMaskExtensionProps(maskPolygon) {
193
193
  return {
194
- maskId: MASK_LAYER_ID,
195
- maskEnabled: Boolean(maskPolygon && maskPolygon.length),
194
+ maskId: Boolean(maskPolygon && maskPolygon.length) && MASK_LAYER_ID,
196
195
  extensions: [maskExtension]
197
196
  };
198
197
  }