Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@deck.gl/react

Package Overview
Dependencies
Maintainers
1
Versions
474
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@deck.gl/react - npm Package Compare versions

Comparing version 5.3.0-rc.1 to 5.3.0-rc.2

606

dist/deckgl.js

@@ -1,330 +0,396 @@

// Copyright (c) 2015 - 2017 Uber Technologies, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import React, { createElement, cloneElement } from 'react';
import PropTypes from 'prop-types';
import autobind from './utils/autobind';
import { inheritsFrom } from './utils/inherits-from';
import { Deck, Layer, log } from '@deck.gl/core';
const propTypes = Object.assign({}, Deck.getPropTypes(PropTypes), {
viewports: PropTypes.array,
// Deprecated
viewport: PropTypes.object // Deprecated
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const defaultProps = Deck.defaultProps;
export default class DeckGL extends React.Component {
constructor(props) {
super(props);
this.state = {};
this.children = [];
autobind(this);
}
exports.default = void 0;
componentDidMount() {
this.deck = new Deck(Object.assign({}, this.props, {
canvas: this.deckCanvas,
viewState: this._getViewState(this.props),
// Note: If Deck event handling change size or view state, it calls onResize to update
onViewStateChange: this._onViewStateChange,
onResize: this._onResize
}));
var _react = _interopRequireWildcard(require("react"));
this._updateFromProps(this.props);
}
var _propTypes = _interopRequireDefault(require("prop-types"));
componentWillReceiveProps(nextProps) {
this._updateFromProps(nextProps);
}
var _autobind = _interopRequireDefault(require("./utils/autobind"));
componentWillUnmount() {
this.deck.finalize();
} // Public API
var _inheritsFrom = require("./utils/inherits-from");
var _core = require("@deck.gl/core");
pickObject({
x,
y,
radius = 0,
layerIds = null
}) {
return this.deck.pickObject({
x,
y,
radius,
layerIds
});
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
pickMultipleObjects({
x,
y,
radius = 0,
layerIds = null,
depth = 10
}) {
return this.deck.pickMultipleObjects({
x,
y,
radius,
layerIds,
depth
});
}
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
pickObjects({
x,
y,
width = 1,
height = 1,
layerIds = null
}) {
return this.deck.pickObjects({
x,
y,
width,
height,
layerIds
});
}
function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return right[Symbol.hasInstance](left); } else { return left instanceof right; } }
queryObject(opts) {
log.deprecated('queryObject', 'pickObject')();
return this.deck.pickObject(opts);
}
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
queryVisibleObjects(opts) {
log.deprecated('queryVisibleObjects', 'pickObjects')();
return this.pickObjects(opts);
} // Callbacks
// Forward callback and then call forceUpdate to guarantee that sub components update
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
_onResize(...args) {
if (this.props.onResize) {
this.props.onResize(...args);
}
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
this.forceUpdate();
} // Forward callback and then call forceUpdate to guarantee that sub components update
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
function _classCallCheck(instance, Constructor) { if (!_instanceof(instance, Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
_onViewStateChange(...args) {
if (this.props.onViewStateChange) {
this.props.onViewStateChange(...args);
}
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
this.forceUpdate();
} // Private Helpers
// 1. Extract any JSX layers from the react children
// 2. Handle any backwards compatiblity props for React layer
// Needs to be called both from initial mount, and when new props arrive
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
_updateFromProps(nextProps) {
// extract any deck.gl layers masquerading as react elements from props.children
const {
layers,
children
} = this._extractJSXLayers(nextProps.children);
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); }
if (this.deck) {
this.deck.setProps(Object.assign({}, nextProps, {
views: this._getViews(nextProps),
viewState: this._getViewState(nextProps),
// Avoid modifying layers array if no JSX layers were found
layers: layers ? [...layers, ...nextProps.layers] : nextProps.layers
}));
}
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
this.children = children;
} // Support old `viewports` prop (React only!)
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
var propTypes = Object.assign({}, _core.Deck.getPropTypes(_propTypes.default), {
viewports: _propTypes.default.array,
// Deprecated
viewport: _propTypes.default.object // Deprecated
_getViews(props) {
if (props.viewports) {
log.deprecated('DeckGL.viewports', 'DeckGL.views')();
});
var defaultProps = _core.Deck.defaultProps;
var DeckGL =
/*#__PURE__*/
function (_React$Component) {
_inherits(DeckGL, _React$Component);
function DeckGL(props) {
var _this;
_classCallCheck(this, DeckGL);
_this = _possibleConstructorReturn(this, (DeckGL.__proto__ || Object.getPrototypeOf(DeckGL)).call(this, props));
_this.state = {};
_this.children = [];
(0, _autobind.default)(_assertThisInitialized(_this));
return _this;
}
_createClass(DeckGL, [{
key: "componentDidMount",
value: function componentDidMount() {
this.deck = new _core.Deck(Object.assign({}, this.props, {
canvas: this.deckCanvas,
viewState: this._getViewState(this.props),
// Note: If Deck event handling change size or view state, it calls onResize to update
onViewStateChange: this._onViewStateChange,
onResize: this._onResize
}));
this._updateFromProps(this.props);
}
}, {
key: "componentWillReceiveProps",
value: function componentWillReceiveProps(nextProps) {
this._updateFromProps(nextProps);
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
this.deck.finalize();
} // Public API
if (props.viewport) {
log.deprecated('DeckGL.viewport', 'DeckGL.views')();
}, {
key: "pickObject",
value: function pickObject(_ref) {
var x = _ref.x,
y = _ref.y,
_ref$radius = _ref.radius,
radius = _ref$radius === void 0 ? 0 : _ref$radius,
_ref$layerIds = _ref.layerIds,
layerIds = _ref$layerIds === void 0 ? null : _ref$layerIds;
return this.deck.pickObject({
x: x,
y: y,
radius: radius,
layerIds: layerIds
});
}
}, {
key: "pickMultipleObjects",
value: function pickMultipleObjects(_ref2) {
var x = _ref2.x,
y = _ref2.y,
_ref2$radius = _ref2.radius,
radius = _ref2$radius === void 0 ? 0 : _ref2$radius,
_ref2$layerIds = _ref2.layerIds,
layerIds = _ref2$layerIds === void 0 ? null : _ref2$layerIds,
_ref2$depth = _ref2.depth,
depth = _ref2$depth === void 0 ? 10 : _ref2$depth;
return this.deck.pickMultipleObjects({
x: x,
y: y,
radius: radius,
layerIds: layerIds,
depth: depth
});
}
}, {
key: "pickObjects",
value: function pickObjects(_ref3) {
var x = _ref3.x,
y = _ref3.y,
_ref3$width = _ref3.width,
width = _ref3$width === void 0 ? 1 : _ref3$width,
_ref3$height = _ref3.height,
height = _ref3$height === void 0 ? 1 : _ref3$height,
_ref3$layerIds = _ref3.layerIds,
layerIds = _ref3$layerIds === void 0 ? null : _ref3$layerIds;
return this.deck.pickObjects({
x: x,
y: y,
width: width,
height: height,
layerIds: layerIds
});
}
}, {
key: "queryObject",
value: function queryObject(opts) {
_core.log.deprecated('queryObject', 'pickObject')();
return props.views || props.viewports || props.viewport && [props.viewport];
} // Supports old "geospatial view state as separate props" style (React only!)
return this.deck.pickObject(opts);
}
}, {
key: "queryVisibleObjects",
value: function queryVisibleObjects(opts) {
_core.log.deprecated('queryVisibleObjects', 'pickObjects')();
return this.pickObjects(opts);
} // Callbacks
// Forward callback and then call forceUpdate to guarantee that sub components update
_getViewState(props) {
let {
viewState
} = props;
}, {
key: "_onResize",
value: function _onResize() {
if (this.props.onResize) {
var _this$props;
if (!viewState && 'latitude' in props && 'longitude' in props && 'zoom' in props) {
const {
latitude,
longitude,
zoom,
pitch = 0,
bearing = 0
} = props;
viewState = props.viewState || {
latitude,
longitude,
zoom,
pitch,
bearing
};
}
(_this$props = this.props).onResize.apply(_this$props, arguments);
}
return viewState;
} // extracts any deck.gl layers masquerading as react elements from props.children
this.forceUpdate();
} // Forward callback and then call forceUpdate to guarantee that sub components update
}, {
key: "_onViewStateChange",
value: function _onViewStateChange() {
if (this.props.onViewStateChange) {
var _this$props2;
_extractJSXLayers(children) {
const reactChildren = []; // extract real react elements (i.e. not deck.gl layers)
(_this$props2 = this.props).onViewStateChange.apply(_this$props2, arguments);
}
let layers = null; // extracted layer from react children, will add to deck.gl layer array
this.forceUpdate();
} // Private Helpers
// 1. Extract any JSX layers from the react children
// 2. Handle any backwards compatiblity props for React layer
// Needs to be called both from initial mount, and when new props arrive
React.Children.forEach(children, reactElement => {
if (reactElement) {
// For some reason Children.forEach doesn't filter out `null`s
const LayerType = reactElement.type;
}, {
key: "_updateFromProps",
value: function _updateFromProps(nextProps) {
// extract any deck.gl layers masquerading as react elements from props.children
var _this$_extractJSXLaye = this._extractJSXLayers(nextProps.children),
layers = _this$_extractJSXLaye.layers,
children = _this$_extractJSXLaye.children;
if (inheritsFrom(LayerType, Layer)) {
const layer = new LayerType(reactElement.props);
layers = layers || [];
layers.push(layer);
} else {
reactChildren.push(reactElement);
}
if (this.deck) {
this.deck.setProps(Object.assign({}, nextProps, {
views: this._getViews(nextProps),
viewState: this._getViewState(nextProps),
// Avoid modifying layers array if no JSX layers were found
layers: layers ? _toConsumableArray(layers).concat(_toConsumableArray(nextProps.layers)) : nextProps.layers
}));
}
});
return {
layers,
children: reactChildren
};
} // Iterate over views and reposition children associated with views
// TODO - Can we supply a similar function for the non-React case?
this.children = children;
} // Support old `viewports` prop (React only!)
_renderChildrenUnderViews(children) {
// Flatten out nested views array
const views = this.deck ? this.deck.getViewports() : []; // Build a view id to view index
}, {
key: "_getViews",
value: function _getViews(props) {
if (props.viewports) {
_core.log.deprecated('DeckGL.viewports', 'DeckGL.views')();
}
const viewMap = {};
views.forEach(view => {
if (view.id) {
viewMap[view.id] = view;
if (props.viewport) {
_core.log.deprecated('DeckGL.viewport', 'DeckGL.views')();
}
});
return children.map( // If child specifies props.viewId, position under view, otherwise render as normal
(child, i) => child.props.viewId || child.props.viewId ? this._positionChild({
child,
viewMap,
i
}) : child);
}
_positionChild({
child,
viewMap,
i
}) {
const {
viewId,
viewportId
} = child.props;
return props.views || props.viewports || props.viewport && [props.viewport];
} // Supports old "geospatial view state as separate props" style (React only!)
if (viewportId) {
log.deprecated('viewportId', 'viewId')();
}, {
key: "_getViewState",
value: function _getViewState(props) {
var viewState = props.viewState;
if (!viewState && 'latitude' in props && 'longitude' in props && 'zoom' in props) {
var latitude = props.latitude,
longitude = props.longitude,
zoom = props.zoom,
_props$pitch = props.pitch,
pitch = _props$pitch === void 0 ? 0 : _props$pitch,
_props$bearing = props.bearing,
bearing = _props$bearing === void 0 ? 0 : _props$bearing;
viewState = props.viewState || {
latitude: latitude,
longitude: longitude,
zoom: zoom,
pitch: pitch,
bearing: bearing
};
}
return viewState;
} // extracts any deck.gl layers masquerading as react elements from props.children
}, {
key: "_extractJSXLayers",
value: function _extractJSXLayers(children) {
var reactChildren = []; // extract real react elements (i.e. not deck.gl layers)
var layers = null; // extracted layer from react children, will add to deck.gl layer array
_react.default.Children.forEach(children, function (reactElement) {
if (reactElement) {
// For some reason Children.forEach doesn't filter out `null`s
var LayerType = reactElement.type;
if ((0, _inheritsFrom.inheritsFrom)(LayerType, _core.Layer)) {
var layer = new LayerType(reactElement.props);
layers = layers || [];
layers.push(layer);
} else {
reactChildren.push(reactElement);
}
}
});
return {
layers: layers,
children: reactChildren
};
} // Iterate over views and reposition children associated with views
// TODO - Can we supply a similar function for the non-React case?
}, {
key: "_renderChildrenUnderViews",
value: function _renderChildrenUnderViews(children) {
var _this2 = this;
// Flatten out nested views array
var views = this.deck ? this.deck.getViewports() : []; // Build a view id to view index
var viewMap = {};
views.forEach(function (view) {
if (view.id) {
viewMap[view.id] = view;
}
});
return children.map( // If child specifies props.viewId, position under view, otherwise render as normal
function (child, i) {
return child.props.viewId || child.props.viewId ? _this2._positionChild({
child: child,
viewMap: viewMap,
i: i
}) : child;
});
}
}, {
key: "_positionChild",
value: function _positionChild(_ref4) {
var child = _ref4.child,
viewMap = _ref4.viewMap,
i = _ref4.i;
var _child$props = child.props,
viewId = _child$props.viewId,
viewportId = _child$props.viewportId;
const view = viewMap[viewId || viewportId]; // Drop (auto-hide) elements with viewId that are not matched by any current view
if (viewportId) {
_core.log.deprecated('viewportId', 'viewId')();
}
if (!view) {
return null;
} // Resolve potentially relative dimensions using the deck.gl container size
var view = viewMap[viewId || viewportId]; // Drop (auto-hide) elements with viewId that are not matched by any current view
if (!view) {
return null;
} // Resolve potentially relative dimensions using the deck.gl container size
const {
x,
y,
width,
height
} = view; // Clone the element with width and height set per view
const newProps = Object.assign({}, child.props, {
width,
height
}); // Inject map properties
// TODO - this is too react-map-gl specific
var x = view.x,
y = view.y,
width = view.width,
height = view.height; // Clone the element with width and height set per view
Object.assign(newProps, view.getMercatorParams(), {
visible: view.isMapSynched()
});
const clone = cloneElement(child, newProps); // Wrap it in an absolutely positioning div
var newProps = Object.assign({}, child.props, {
width: width,
height: height
}); // Inject map properties
// TODO - this is too react-map-gl specific
const style = {
position: 'absolute',
left: x,
top: y,
width,
height
};
const key = `view-child-${viewId}-${i}`;
return createElement('div', {
key,
id: key,
style
}, clone);
}
Object.assign(newProps, view.getMercatorParams(), {
visible: view.isMapSynched()
});
var clone = (0, _react.cloneElement)(child, newProps); // Wrap it in an absolutely positioning div
render() {
// Render the background elements (typically react-map-gl instances)
// using the view descriptors
const children = this._renderChildrenUnderViews(this.children); // Note that width and height are handled by deck.gl
var style = {
position: 'absolute',
left: x,
top: y,
width: width,
height: height
};
var key = "view-child-".concat(viewId, "-").concat(i);
return (0, _react.createElement)('div', {
key: key,
id: key,
style: style
}, clone);
}
}, {
key: "render",
value: function render() {
var _this3 = this;
// Render the background elements (typically react-map-gl instances)
// using the view descriptors
var children = this._renderChildrenUnderViews(this.children); // Note that width and height are handled by deck.gl
const {
id
} = this.props; // TODO - this styling is enforced for correct positioning with children
// It can override the styling set by `Deck`, this should be consolidated.
const style = Object.assign({}, {
position: 'absolute',
left: 0,
top: 0
}, this.props.style);
const canvas = createElement('canvas', {
ref: c => this.deckCanvas = c,
key: 'deck-canvas',
id,
style
}); // Render deck.gl as last child
var id = this.props.id; // TODO - this styling is enforced for correct positioning with children
// It can override the styling set by `Deck`, this should be consolidated.
children.push(canvas);
return createElement('div', {
id: 'deckgl-wrapper'
}, children);
}
var style = Object.assign({}, {
position: 'absolute',
left: 0,
top: 0
}, this.props.style);
var canvas = (0, _react.createElement)('canvas', {
ref: function ref(c) {
return _this3.deckCanvas = c;
},
key: 'deck-canvas',
id: id,
style: style
}); // Render deck.gl as last child
}
children.push(canvas);
return (0, _react.createElement)('div', {
id: 'deckgl-wrapper'
}, children);
}
}]);
return DeckGL;
}(_react.default.Component);
exports.default = DeckGL;
DeckGL.propTypes = propTypes;
DeckGL.defaultProps = defaultProps;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWNrZ2wuanMiXSwibmFtZXMiOlsiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiY2xvbmVFbGVtZW50IiwiUHJvcFR5cGVzIiwiYXV0b2JpbmQiLCJpbmhlcml0c0Zyb20iLCJEZWNrIiwiTGF5ZXIiLCJsb2ciLCJwcm9wVHlwZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJnZXRQcm9wVHlwZXMiLCJ2aWV3cG9ydHMiLCJhcnJheSIsInZpZXdwb3J0Iiwib2JqZWN0IiwiZGVmYXVsdFByb3BzIiwiRGVja0dMIiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInN0YXRlIiwiY2hpbGRyZW4iLCJjb21wb25lbnREaWRNb3VudCIsImRlY2siLCJjYW52YXMiLCJkZWNrQ2FudmFzIiwidmlld1N0YXRlIiwiX2dldFZpZXdTdGF0ZSIsIm9uVmlld1N0YXRlQ2hhbmdlIiwiX29uVmlld1N0YXRlQ2hhbmdlIiwib25SZXNpemUiLCJfb25SZXNpemUiLCJfdXBkYXRlRnJvbVByb3BzIiwiY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsIm5leHRQcm9wcyIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwiZmluYWxpemUiLCJwaWNrT2JqZWN0IiwieCIsInkiLCJyYWRpdXMiLCJsYXllcklkcyIsInBpY2tNdWx0aXBsZU9iamVjdHMiLCJkZXB0aCIsInBpY2tPYmplY3RzIiwid2lkdGgiLCJoZWlnaHQiLCJxdWVyeU9iamVjdCIsIm9wdHMiLCJkZXByZWNhdGVkIiwicXVlcnlWaXNpYmxlT2JqZWN0cyIsImFyZ3MiLCJmb3JjZVVwZGF0ZSIsImxheWVycyIsIl9leHRyYWN0SlNYTGF5ZXJzIiwic2V0UHJvcHMiLCJ2aWV3cyIsIl9nZXRWaWV3cyIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiem9vbSIsInBpdGNoIiwiYmVhcmluZyIsInJlYWN0Q2hpbGRyZW4iLCJDaGlsZHJlbiIsImZvckVhY2giLCJyZWFjdEVsZW1lbnQiLCJMYXllclR5cGUiLCJ0eXBlIiwibGF5ZXIiLCJwdXNoIiwiX3JlbmRlckNoaWxkcmVuVW5kZXJWaWV3cyIsImdldFZpZXdwb3J0cyIsInZpZXdNYXAiLCJ2aWV3IiwiaWQiLCJtYXAiLCJjaGlsZCIsImkiLCJ2aWV3SWQiLCJfcG9zaXRpb25DaGlsZCIsInZpZXdwb3J0SWQiLCJuZXdQcm9wcyIsImdldE1lcmNhdG9yUGFyYW1zIiwidmlzaWJsZSIsImlzTWFwU3luY2hlZCIsImNsb25lIiwic3R5bGUiLCJwb3NpdGlvbiIsImxlZnQiLCJ0b3AiLCJrZXkiLCJyZW5kZXIiLCJyZWYiLCJjIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLE9BQU9BLEtBQVAsSUFBZUMsYUFBZixFQUE4QkMsWUFBOUIsUUFBaUQsT0FBakQ7QUFDQSxPQUFPQyxTQUFQLE1BQXNCLFlBQXRCO0FBQ0EsT0FBT0MsUUFBUCxNQUFxQixrQkFBckI7QUFDQSxTQUFRQyxZQUFSLFFBQTJCLHVCQUEzQjtBQUNBLFNBQVFDLElBQVIsRUFBY0MsS0FBZCxFQUFxQkMsR0FBckIsUUFBK0IsZUFBL0I7QUFFQSxNQUFNQyxZQUFZQyxPQUFPQyxNQUFQLENBQWMsRUFBZCxFQUFrQkwsS0FBS00sWUFBTCxDQUFrQlQsU0FBbEIsQ0FBbEIsRUFBZ0Q7QUFDaEVVLGFBQVdWLFVBQVVXLEtBRDJDO0FBQ3BDO0FBQzVCQyxZQUFVWixVQUFVYSxNQUY0QyxDQUVyQzs7QUFGcUMsQ0FBaEQsQ0FBbEI7QUFLQSxNQUFNQyxlQUFlWCxLQUFLVyxZQUExQjtBQUVBLGVBQWUsTUFBTUMsTUFBTixTQUFxQmxCLE1BQU1tQixTQUEzQixDQUFxQztBQUNsREMsY0FBWUMsS0FBWixFQUFtQjtBQUNqQixVQUFNQSxLQUFOO0FBQ0EsU0FBS0MsS0FBTCxHQUFhLEVBQWI7QUFDQSxTQUFLQyxRQUFMLEdBQWdCLEVBQWhCO0FBQ0Fu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S0FBZDtBQUNBLFVBQU02QyxNQUFPLGNBQWFaLE1BQU8sSUFBR0QsQ0FBRSxFQUF0QztBQUNBLFdBQU8vRSxjQUFjLEtBQWQsRUFBcUI7QUFBQzRGLFNBQUQ7QUFBTWhCLFVBQUlnQixHQUFWO0FBQWVKO0FBQWYsS0FBckIsRUFBNENELEtBQTVDLENBQVA7QUFDRDs7QUFFRE0sV0FBUztBQUNQO0FBQ0E7QUFDQSxVQUFNdkUsV0FBVyxLQUFLa0QseUJBQUwsQ0FBK0IsS0FBS2xELFFBQXBDLENBQWpCLENBSE8sQ0FLUDs7O0FBQ0EsVUFBTTtBQUFDc0Q7QUFBRCxRQUFPLEtBQUt4RCxLQUFsQixDQU5PLENBT1A7QUFDQTs7QUFDQSxVQUFNb0UsUUFBUS9FLE9BQU9DLE1BQVAsQ0FBYyxFQUFkLEVBQWtCO0FBQUMrRSxnQkFBVSxVQUFYO0FBQXVCQyxZQUFNLENBQTdCO0FBQWdDQyxXQUFLO0FBQXJDLEtBQWxCLEVBQTJELEtBQUt2RSxLQUFMLENBQVdvRSxLQUF0RSxDQUFkO0FBRUEsVUFBTS9ELFNBQVN6QixjQUFjLFFBQWQsRUFBd0I7QUFDckM4RixXQUFLQyxLQUFNLEtBQUtyRSxVQUFMLEdBQWtCcUUsQ0FEUTtBQUVyQ0gsV0FBSyxhQUZnQztBQUdyQ2hCLFFBSHFDO0FBSXJDWTtBQUpxQyxLQUF4QixDQUFmLENBWE8sQ0FrQlA7O0FBQ0FsRSxhQUFTaUQsSUFBVCxDQUFjOUMsTUFBZDtBQUVBLFdBQU96QixjQUFjLEtBQWQsRUFBcUI7QUFBQzRFLFVBQUk7QUFBTCxLQUFyQixFQUE2Q3RELFFBQTdDLENBQVA7QUFDRDs7QUF0TmlEO0FBeU5wREwsT0FBT1QsU0FBUCxHQUFtQkEsU0FBbkI7QUFDQVMsT0FBT0QsWUFBUCxHQUFzQkEsWUFBdEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMTUgLSAyMDE3IFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Y3JlYXRlRWxlbWVudCwgY2xvbmVFbGVtZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGF1dG9iaW5kIGZyb20gJy4vdXRpbHMvYXV0b2JpbmQnO1xuaW1wb3J0IHtpbmhlcml0c0Zyb219IGZyb20gJy4vdXRpbHMvaW5oZXJpdHMtZnJvbSc7XG5pbXBvcnQge0RlY2ssIExheWVyLCBsb2d9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuXG5jb25zdCBwcm9wVHlwZXMgPSBPYmplY3QuYXNzaWduKHt9LCBEZWNrLmdldFByb3BUeXBlcyhQcm9wVHlwZXMpLCB7XG4gIHZpZXdwb3J0czogUHJvcFR5cGVzLmFycmF5LCAvLyBEZXByZWNhdGVkXG4gIHZpZXdwb3J0OiBQcm9wVHlwZXMub2JqZWN0IC8vIERlcHJlY2F0ZWRcbn0pO1xuXG5jb25zdCBkZWZhdWx0UHJvcHMgPSBEZWNrLmRlZmF1bHRQcm9wcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGVja0dMIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHt9O1xuICAgIHRoaXMuY2hpbGRyZW4gPSBbXTtcbiAgICBhdXRvYmluZCh0aGlzKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuZGVjayA9IG5ldyBEZWNrKFxuICAgICAgT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5wcm9wcywge1xuICAgICAgICBjYW52YXM6IHRoaXMuZGVja0NhbnZhcyxcbiAgICAgICAgdmlld1N0YXRlOiB0aGlzLl9nZXRWaWV3U3RhdGUodGhpcy5wcm9wcyksXG4gICAgICAgIC8vIE5vdGU6IElmIERlY2sgZXZlbnQgaGFuZGxpbmcgY2hhbmdlIHNpemUgb3IgdmlldyBzdGF0ZSwgaXQgY2FsbHMgb25SZXNpemUgdG8gdXBkYXRlXG4gICAgICAgIG9uVmlld1N0YXRlQ2hhbmdlOiB0aGlzLl9vblZpZXdTdGF0ZUNoYW5nZSxcbiAgICAgICAgb25SZXNpemU6IHRoaXMuX29uUmVzaXplXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5fdXBkYXRlRnJvbVByb3BzKHRoaXMucHJvcHMpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHMpIHtcbiAgICB0aGlzLl91cGRhdGVGcm9tUHJvcHMobmV4dFByb3BzKTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMuZGVjay5maW5hbGl6ZSgpO1xuICB9XG5cbiAgLy8gUHVibGljIEFQSVxuXG4gIHBpY2tPYmplY3Qoe3gsIHksIHJhZGl1cyA9IDAsIGxheWVySWRzID0gbnVsbH0pIHtcbiAgICByZXR1cm4gdGhpcy5kZWNrLnBpY2tPYmplY3Qoe3gsIHksIHJhZGl1cywgbGF5ZXJJZHN9KTtcbiAgfVxuXG4gIHBpY2tNdWx0aXBsZU9iamVjdHMoe3gsIHksIHJhZGl1cyA9IDAsIGxheWVySWRzID0gbnVsbCwgZGVwdGggPSAxMH0pIHtcbiAgICByZXR1cm4gdGhpcy5kZWNrLnBpY2tNdWx0aXBsZU9iamVjdHMoe3gsIHksIHJhZGl1cywgbGF5ZXJJZHMsIGRlcHRofSk7XG4gIH1cblxuICBwaWNrT2JqZWN0cyh7eCwgeSwgd2lkdGggPSAxLCBoZWlnaHQgPSAxLCBsYXllcklkcyA9IG51bGx9KSB7XG4gICAgcmV0dXJuIHRoaXMuZGVjay5waWNrT2JqZWN0cyh7eCwgeSwgd2lkdGgsIGhlaWdodCwgbGF5ZXJJZHN9KTtcbiAgfVxuXG4gIHF1ZXJ5T2JqZWN0KG9wdHMpIHtcbiAgICBsb2cuZGVwcmVjYXRlZCgncXVlcnlPYmplY3QnLCAncGlja09iamVjdCcpKCk7XG4gICAgcmV0dXJuIHRoaXMuZGVjay5waWNrT2JqZWN0KG9wdHMpO1xuICB9XG5cbiAgcXVlcnlWaXNpYmxlT2JqZWN0cyhvcHRzKSB7XG4gICAgbG9nLmRlcHJlY2F0ZWQoJ3F1ZXJ5VmlzaWJsZU9iamVjdHMnLCAncGlja09iamVjdHMnKSgpO1xuICAgIHJldHVybiB0aGlzLnBpY2tPYmplY3RzKG9wdHMpO1xuICB9XG5cbiAgLy8gQ2FsbGJhY2tzXG5cbiAgLy8gRm9yd2FyZCBjYWxsYmFjayBhbmQgdGhlbiBjYWxsIGZvcmNlVXBkYXRlIHRvIGd1YXJhbnRlZSB0aGF0IHN1YiBjb21wb25lbnRzIHVwZGF0ZVxuICBfb25SZXNpemUoLi4uYXJncykge1xuICAgIGlmICh0aGlzLnByb3BzLm9uUmVzaXplKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVzaXplKC4uLmFyZ3MpO1xuICAgIH1cbiAgICB0aGlzLmZvcmNlVXBkYXRlKCk7XG4gIH1cblxuICAvLyBGb3J3YXJkIGNhbGxiYWNrIGFuZCB0aGVuIGNhbGwgZm9yY2VVcGRhdGUgdG8gZ3VhcmFudGVlIHRoYXQgc3ViIGNvbXBvbmVudHMgdXBkYXRlXG4gIF9vblZpZXdTdGF0ZUNoYW5nZSguLi5hcmdzKSB7XG4gICAgaWYgKHRoaXMucHJvcHMub25WaWV3U3RhdGVDaGFuZ2UpIHtcbiAgICAgIHRoaXMucHJvcHMub25WaWV3U3RhdGVDaGFuZ2UoLi4uYXJncyk7XG4gICAgfVxuICAgIHRoaXMuZm9yY2VVcGRhdGUoKTtcbiAgfVxuXG4gIC8vIFByaXZhdGUgSGVscGVyc1xuXG4gIC8vIDEuIEV4dHJhY3QgYW55IEpTWCBsYXllcnMgZnJvbSB0aGUgcmVhY3QgY2hpbGRyZW5cbiAgLy8gMi4gSGFuZGxlIGFueSBiYWNrd2FyZHMgY29tcGF0aWJsaXR5IHByb3BzIGZvciBSZWFjdCBsYXllclxuICAvLyBOZWVkcyB0byBiZSBjYWxsZWQgYm90aCBmcm9tIGluaXRpYWwgbW91bnQsIGFuZCB3aGVuIG5ldyBwcm9wcyBhcnJpdmVcbiAgX3VwZGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMpIHtcbiAgICAvLyBleHRyYWN0IGFueSBkZWNrLmdsIGxheWVycyBtYXNxdWVyYWRpbmcgYXMgcmVhY3QgZWxlbWVudHMgZnJvbSBwcm9wcy5jaGlsZHJlblxuICAgIGNvbnN0IHtsYXllcnMsIGNoaWxkcmVufSA9IHRoaXMuX2V4dHJhY3RKU1hMYXllcnMobmV4dFByb3BzLmNoaWxkcmVuKTtcblxuICAgIGlmICh0aGlzLmRlY2spIHtcbiAgICAgIHRoaXMuZGVjay5zZXRQcm9wcyhcbiAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgbmV4dFByb3BzLCB7XG4gICAgICAgICAgdmlld3M6IHRoaXMuX2dldFZpZXdzKG5leHRQcm9wcyksXG4gICAgICAgICAgdmlld1N0YXRlOiB0aGlzLl9nZXRWaWV3U3RhdGUobmV4dFByb3BzKSxcbiAgICAgICAgICAvLyBBdm9pZCBtb2RpZnlpbmcgbGF5ZXJzIGFycmF5IGlmIG5vIEpTWCBsYXllcnMgd2VyZSBmb3VuZFxuICAgICAgICAgIGxheWVyczogbGF5ZXJzID8gWy4uLmxheWVycywgLi4ubmV4dFByb3BzLmxheWVyc10gOiBuZXh0UHJvcHMubGF5ZXJzXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgfVxuXG4gIC8vIFN1cHBvcnQgb2xkIGB2aWV3cG9ydHNgIHByb3AgKFJlYWN0IG9ubHkhKVxuICBfZ2V0Vmlld3MocHJvcHMpIHtcbiAgICBpZiAocHJvcHMudmlld3BvcnRzKSB7XG4gICAgICBsb2cuZGVwcmVjYXRlZCgnRGVja0dMLnZpZXdwb3J0cycsICdEZWNrR0wudmlld3MnKSgpO1xuICAgIH1cbiAgICBpZiAocHJvcHMudmlld3BvcnQpIHtcbiAgICAgIGxvZy5kZXByZWNhdGVkKCdEZWNrR0wudmlld3BvcnQnLCAnRGVja0dMLnZpZXdzJykoKTtcbiAgICB9XG4gICAgcmV0dXJuIHByb3BzLnZpZXdzIHx8IHByb3BzLnZpZXdwb3J0cyB8fCAocHJvcHMudmlld3BvcnQgJiYgW3Byb3BzLnZpZXdwb3J0XSk7XG4gIH1cblxuICAvLyBTdXBwb3J0cyBvbGQgXCJnZW9zcGF0aWFsIHZpZXcgc3RhdGUgYXMgc2VwYXJhdGUgcHJvcHNcIiBzdHlsZSAoUmVhY3Qgb25seSEpXG4gIF9nZXRWaWV3U3RhdGUocHJvcHMpIHtcbiAgICBsZXQge3ZpZXdTdGF0ZX0gPSBwcm9wcztcblxuICAgIGlmICghdmlld1N0YXRlICYmICdsYXRpdHVkZScgaW4gcHJvcHMgJiYgJ2xvbmdpdHVkZScgaW4gcHJvcHMgJiYgJ3pvb20nIGluIHByb3BzKSB7XG4gICAgICBjb25zdCB7bGF0aXR1ZGUsIGxvbmdpdHVkZSwgem9vbSwgcGl0Y2ggPSAwLCBiZWFyaW5nID0gMH0gPSBwcm9wcztcbiAgICAgIHZpZXdTdGF0ZSA9IHByb3BzLnZpZXdTdGF0ZSB8fCB7bGF0aXR1ZGUsIGxvbmdpdHVkZSwgem9vbSwgcGl0Y2gsIGJlYXJpbmd9O1xuICAgIH1cblxuICAgIHJldHVybiB2aWV3U3RhdGU7XG4gIH1cblxuICAvLyBleHRyYWN0cyBhbnkgZGVjay5nbCBsYXllcnMgbWFzcXVlcmFkaW5nIGFzIHJlYWN0IGVsZW1lbnRzIGZyb20gcHJvcHMuY2hpbGRyZW5cbiAgX2V4dHJhY3RKU1hMYXllcnMoY2hpbGRyZW4pIHtcbiAgICBjb25zdCByZWFjdENoaWxkcmVuID0gW107IC8vIGV4dHJhY3QgcmVhbCByZWFjdCBlbGVtZW50cyAoaS5lLiBub3QgZGVjay5nbCBsYXllcnMpXG4gICAgbGV0IGxheWVycyA9IG51bGw7IC8vIGV4dHJhY3RlZCBsYXllciBmcm9tIHJlYWN0IGNoaWxkcmVuLCB3aWxsIGFkZCB0byBkZWNrLmdsIGxheWVyIGFycmF5XG5cbiAgICBSZWFjdC5DaGlsZHJlbi5mb3JFYWNoKGNoaWxkcmVuLCByZWFjdEVsZW1lbnQgPT4ge1xuICAgICAgaWYgKHJlYWN0RWxlbWVudCkge1xuICAgICAgICAvLyBGb3Igc29tZSByZWFzb24gQ2hpbGRyZW4uZm9yRWFjaCBkb2Vzbid0IGZpbHRlciBvdXQgYG51bGxgc1xuICAgICAgICBjb25zdCBMYXllclR5cGUgPSByZWFjdEVsZW1lbnQudHlwZTtcbiAgICAgICAgaWYgKGluaGVyaXRzRnJvbShMYXllclR5cGUsIExheWVyKSkge1xuICAgICAgICAgIGNvbnN0IGxheWVyID0gbmV3IExheWVyVHlwZShyZWFjdEVsZW1lbnQucHJvcHMpO1xuICAgICAgICAgIGxheWVycyA9IGxheWVycyB8fCBbXTtcbiAgICAgICAgICBsYXllcnMucHVzaChsYXllcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVhY3RDaGlsZHJlbi5wdXNoKHJlYWN0RWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB7bGF5ZXJzLCBjaGlsZHJlbjogcmVhY3RDaGlsZHJlbn07XG4gIH1cblxuICAvLyBJdGVyYXRlIG92ZXIgdmlld3MgYW5kIHJlcG9zaXRpb24gY2hpbGRyZW4gYXNzb2NpYXRlZCB3aXRoIHZpZXdzXG4gIC8vIFRPRE8gLSBDYW4gd2Ugc3VwcGx5IGEgc2ltaWxhciBmdW5jdGlvbiBmb3IgdGhlIG5vbi1SZWFjdCBjYXNlP1xuICBfcmVuZGVyQ2hpbGRyZW5VbmRlclZpZXdzKGNoaWxkcmVuKSB7XG4gICAgLy8gRmxhdHRlbiBvdXQgbmVzdGVkIHZpZXdzIGFycmF5XG4gICAgY29uc3Qgdmlld3MgPSB0aGlzLmRlY2sgPyB0aGlzLmRlY2suZ2V0Vmlld3BvcnRzKCkgOiBbXTtcblxuICAgIC8vIEJ1aWxkIGEgdmlldyBpZCB0byB2aWV3IGluZGV4XG4gICAgY29uc3Qgdmlld01hcCA9IHt9O1xuICAgIHZpZXdzLmZvckVhY2godmlldyA9PiB7XG4gICAgICBpZiAodmlldy5pZCkge1xuICAgICAgICB2aWV3TWFwW3ZpZXcuaWRdID0gdmlldztcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBjaGlsZHJlbi5tYXAoXG4gICAgICAvLyBJZiBjaGlsZCBzcGVjaWZpZXMgcHJvcHMudmlld0lkLCBwb3NpdGlvbiB1bmRlciB2aWV3LCBvdGhlcndpc2UgcmVuZGVyIGFzIG5vcm1hbFxuICAgICAgKGNoaWxkLCBpKSA9PlxuICAgICAgICBjaGlsZC5wcm9wcy52aWV3SWQgfHwgY2hpbGQucHJvcHMudmlld0lkID8gdGhpcy5fcG9zaXRpb25DaGlsZCh7Y2hpbGQsIHZpZXdNYXAsIGl9KSA6IGNoaWxkXG4gICAgKTtcbiAgfVxuXG4gIF9wb3NpdGlvbkNoaWxkKHtjaGlsZCwgdmlld01hcCwgaX0pIHtcbiAgICBjb25zdCB7dmlld0lkLCB2aWV3cG9ydElkfSA9IGNoaWxkLnByb3BzO1xuICAgIGlmICh2aWV3cG9ydElkKSB7XG4gICAgICBsb2cuZGVwcmVjYXRlZCgndmlld3BvcnRJZCcsICd2aWV3SWQnKSgpO1xuICAgIH1cbiAgICBjb25zdCB2aWV3ID0gdmlld01hcFt2aWV3SWQgfHwgdmlld3BvcnRJZF07XG5cbiAgICAvLyBEcm9wIChhdXRvLWhpZGUpIGVsZW1lbnRzIHdpdGggdmlld0lkIHRoYXQgYXJlIG5vdCBtYXRjaGVkIGJ5IGFueSBjdXJyZW50IHZpZXdcbiAgICBpZiAoIXZpZXcpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIFJlc29sdmUgcG90ZW50aWFsbHkgcmVsYXRpdmUgZGltZW5zaW9ucyB1c2luZyB0aGUgZGVjay5nbCBjb250YWluZXIgc2l6ZVxuICAgIGNvbnN0IHt4LCB5LCB3aWR0aCwgaGVpZ2h0fSA9IHZpZXc7XG5cbiAgICAvLyBDbG9uZSB0aGUgZWxlbWVudCB3aXRoIHdpZHRoIGFuZCBoZWlnaHQgc2V0IHBlciB2aWV3XG4gICAgY29uc3QgbmV3UHJvcHMgPSBPYmplY3QuYXNzaWduKHt9LCBjaGlsZC5wcm9wcywge3dpZHRoLCBoZWlnaHR9KTtcblxuICAgIC8vIEluamVjdCBtYXAgcHJvcGVydGllc1xuICAgIC8vIFRPRE8gLSB0aGlzIGlzIHRvbyByZWFjdC1tYXAtZ2wgc3BlY2lmaWNcbiAgICBPYmplY3QuYXNzaWduKG5ld1Byb3BzLCB2aWV3LmdldE1lcmNhdG9yUGFyYW1zKCksIHtcbiAgICAgIHZpc2libGU6IHZpZXcuaXNNYXBTeW5jaGVkKClcbiAgICB9KTtcblxuICAgIGNvbnN0IGNsb25lID0gY2xvbmVFbGVtZW50KGNoaWxkLCBuZXdQcm9wcyk7XG5cbiAgICAvLyBXcmFwIGl0IGluIGFuIGFic29sdXRlbHkgcG9zaXRpb25pbmcgZGl2XG4gICAgY29uc3Qgc3R5bGUgPSB7cG9zaXRpb246ICdhYnNvbHV0ZScsIGxlZnQ6IHgsIHRvcDogeSwgd2lkdGgsIGhlaWdodH07XG4gICAgY29uc3Qga2V5ID0gYHZpZXctY2hpbGQtJHt2aWV3SWR9LSR7aX1gO1xuICAgIHJldHVybiBjcmVhdGVFbGVtZW50KCdkaXYnLCB7a2V5LCBpZDoga2V5LCBzdHlsZX0sIGNsb25lKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICAvLyBSZW5kZXIgdGhlIGJhY2tncm91bmQgZWxlbWVudHMgKHR5cGljYWxseSByZWFjdC1tYXAtZ2wgaW5zdGFuY2VzKVxuICAgIC8vIHVzaW5nIHRoZSB2aWV3IGRlc2NyaXB0b3JzXG4gICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLl9yZW5kZXJDaGlsZHJlblVuZGVyVmlld3ModGhpcy5jaGlsZHJlbik7XG5cbiAgICAvLyBOb3RlIHRoYXQgd2lkdGggYW5kIGhlaWdodCBhcmUgaGFuZGxlZCBieSBkZWNrLmdsXG4gICAgY29uc3Qge2lkfSA9IHRoaXMucHJvcHM7XG4gICAgLy8gVE9ETyAtIHRoaXMgc3R5bGluZyBpcyBlbmZvcmNlZCBmb3IgY29ycmVjdCBwb3NpdGlvbmluZyB3aXRoIGNoaWxkcmVuXG4gICAgLy8gSXQgY2FuIG92ZXJyaWRlIHRoZSBzdHlsaW5nIHNldCBieSBgRGVja2AsIHRoaXMgc2hvdWxkIGJlIGNvbnNvbGlkYXRlZC5cbiAgICBjb25zdCBzdHlsZSA9IE9iamVjdC5hc3NpZ24oe30sIHtwb3NpdGlvbjogJ2Fic29sdXRlJywgbGVmdDogMCwgdG9wOiAwfSwgdGhpcy5wcm9wcy5zdHlsZSk7XG5cbiAgICBjb25zdCBjYW52YXMgPSBjcmVhdGVFbGVtZW50KCdjYW52YXMnLCB7XG4gICAgICByZWY6IGMgPT4gKHRoaXMuZGVja0NhbnZhcyA9IGMpLFxuICAgICAga2V5OiAnZGVjay1jYW52YXMnLFxuICAgICAgaWQsXG4gICAgICBzdHlsZVxuICAgIH0pO1xuXG4gICAgLy8gUmVuZGVyIGRlY2suZ2wgYXMgbGFzdCBjaGlsZFxuICAgIGNoaWxkcmVuLnB1c2goY2FudmFzKTtcblxuICAgIHJldHVybiBjcmVhdGVFbGVtZW50KCdkaXYnLCB7aWQ6ICdkZWNrZ2wtd3JhcHBlcid9LCBjaGlsZHJlbik7XG4gIH1cbn1cblxuRGVja0dMLnByb3BUeXBlcyA9IHByb3BUeXBlcztcbkRlY2tHTC5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWNrZ2wuanMiXSwibmFtZXMiOlsicHJvcFR5cGVzIiwiT2JqZWN0IiwiYXNzaWduIiwiRGVjayIsImdldFByb3BUeXBlcyIsIlByb3BUeXBlcyIsInZpZXdwb3J0cyIsImFycmF5Iiwidmlld3BvcnQiLCJvYmplY3QiLCJkZWZhdWx0UHJvcHMiLCJEZWNrR0wiLCJwcm9wcyIsInN0YXRlIiwiY2hpbGRyZW4iLCJkZWNrIiwiY2FudmFzIiwiZGVja0NhbnZhcyIsInZpZXdTdGF0ZSIsIl9nZXRWaWV3U3RhdGUiLCJvblZpZXdTdGF0ZUNoYW5nZSIsIl9vblZpZXdTdGF0ZUNoYW5nZSIsIm9uUmVzaXplIiwiX29uUmVzaXplIiwiX3VwZGF0ZUZyb21Qcm9wcyIsIm5leHRQcm9wcyIsImZpbmFsaXplIiwieCIsInkiLCJyYWRpdXMiLCJsYXllcklkcyIsInBpY2tPYmplY3QiLCJkZXB0aCIsInBpY2tNdWx0aXBsZU9iamVjdHMiLCJ3aWR0aCIsImhlaWdodCIsInBpY2tPYmplY3RzIiwib3B0cyIsImxvZyIsImRlcHJlY2F0ZWQiLCJmb3JjZVVwZGF0ZSIsIl9leHRyYWN0SlNYTGF5ZXJzIiwibGF5ZXJzIiwic2V0UHJvcHMiLCJ2aWV3cyIsIl9nZXRWaWV3cyIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiem9vbSIsInBpdGNoIiwiYmVhcmluZyIsInJlYWN0Q2hpbGRyZW4iLCJSZWFjdCIsIkNoaWxkcmVuIiwiZm9yRWFjaCIsInJlYWN0RWxlbWVudCIsIkxheWVyVHlwZSIsInR5cGUiLCJMYXllciIsImxheWVyIiwicHVzaCIsImdldFZpZXdwb3J0cyIsInZpZXdNYXAiLCJ2aWV3IiwiaWQiLCJtYXAiLCJjaGlsZCIsImkiLCJ2aWV3SWQiLCJfcG9zaXRpb25DaGlsZCIsInZpZXdwb3J0SWQiLCJuZXdQcm9wcyIsImdldE1lcmNhdG9yUGFyYW1zIiwidmlzaWJsZSIsImlzTWFwU3luY2hlZCIsImNsb25lIiwic3R5bGUiLCJwb3NpdGlvbiIsImxlZnQiLCJ0b3AiLCJrZXkiLCJfcmVuZGVyQ2hpbGRyZW5VbmRlclZpZXdzIiwicmVmIiwiYyIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxZQUFZQyxPQUFPQyxNQUFQLENBQWMsRUFBZCxFQUFrQkMsV0FBS0MsWUFBTCxDQUFrQkMsa0JBQWxCLENBQWxCLEVBQWdEO0FBQ2hFQyxhQUFXRCxtQkFBVUUsS0FEMkM7QUFDcEM7QUFDNUJDLFlBQVVILG1CQUFVSSxNQUY0QyxDQUVyQzs7QUFGcUMsQ0FBaEQsQ0FBbEI7QUFLQSxJQUFNQyxlQUFlUCxXQUFLTyxZQUExQjs7SUFFcUJDLE07Ozs7O0FBQ25CLGtCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLDRHQUFNQSxLQUFOO0FBQ0EsVUFBS0MsS0FBTCxHQUFhLEVBQWI7QUFDQSxVQUFLQyxRQUFMLEdBQWdCLEVBQWhCO0FBQ0E7QUFKaUI7QUFLbEI7Ozs7d0NBRW1CO0FBQ2xCLFdBQUtDLElBQUwsR0FBWSxJQUFJWixVQUFKLENBQ1ZGLE9BQU9DLE1BQVAsQ0FBYyxFQUFkLEVBQWtCLEtBQUtVLEtBQXZCLEVBQThCO0FBQzVCSSxnQkFBUSxLQUFLQyxVQURlO0FBRTVCQyxtQkFBVyxLQUFLQyxhQUFMLENBQW1CLEtBQUtQLEtBQXhCLENBRmlCO0FBRzVCO0FBQ0FRLDJCQUFtQixLQUFLQyxrQkFKSTtBQUs1QkMsa0JBQVUsS0FBS0M7QUFMYSxPQUE5QixDQURVLENBQVo7O0FBU0EsV0FBS0MsZ0JBQUwsQ0FBc0IsS0FBS1osS0FBM0I7QUFDRDs7OzhDQUV5QmEsUyxFQUFXO0FBQ25DLFdBQUtELGdCQUFMLENBQXNCQyxTQUF0QjtBQUNEOzs7MkNBRXNCO0FBQ3JCLFdBQUtWLElBQUwsQ0FBVVcsUUFBVjtBQUNELEssQ0FFRDs7OztxQ0FFZ0Q7QUFBQSxVQUFwQ0MsQ0FBb0MsUUFBcENBLENB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NSAtIDIwMTcgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtjcmVhdGVFbGVtZW50LCBjbG9uZUVsZW1lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgYXV0b2JpbmQgZnJvbSAnLi91dGlscy9hdXRvYmluZCc7XG5pbXBvcnQge2luaGVyaXRzRnJvbX0gZnJvbSAnLi91dGlscy9pbmhlcml0cy1mcm9tJztcbmltcG9ydCB7RGVjaywgTGF5ZXIsIGxvZ30gZnJvbSAnQGRlY2suZ2wvY29yZSc7XG5cbmNvbnN0IHByb3BUeXBlcyA9IE9iamVjdC5hc3NpZ24oe30sIERlY2suZ2V0UHJvcFR5cGVzKFByb3BUeXBlcyksIHtcbiAgdmlld3BvcnRzOiBQcm9wVHlwZXMuYXJyYXksIC8vIERlcHJlY2F0ZWRcbiAgdmlld3BvcnQ6IFByb3BUeXBlcy5vYmplY3QgLy8gRGVwcmVjYXRlZFxufSk7XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IERlY2suZGVmYXVsdFByb3BzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEZWNrR0wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge307XG4gICAgdGhpcy5jaGlsZHJlbiA9IFtdO1xuICAgIGF1dG9iaW5kKHRoaXMpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5kZWNrID0gbmV3IERlY2soXG4gICAgICBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnByb3BzLCB7XG4gICAgICAgIGNhbnZhczogdGhpcy5kZWNrQ2FudmFzLFxuICAgICAgICB2aWV3U3RhdGU6IHRoaXMuX2dldFZpZXdTdGF0ZSh0aGlzLnByb3BzKSxcbiAgICAgICAgLy8gTm90ZTogSWYgRGVjayBldmVudCBoYW5kbGluZyBjaGFuZ2Ugc2l6ZSBvciB2aWV3IHN0YXRlLCBpdCBjYWxscyBvblJlc2l6ZSB0byB1cGRhdGVcbiAgICAgICAgb25WaWV3U3RhdGVDaGFuZ2U6IHRoaXMuX29uVmlld1N0YXRlQ2hhbmdlLFxuICAgICAgICBvblJlc2l6ZTogdGhpcy5fb25SZXNpemVcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLl91cGRhdGVGcm9tUHJvcHModGhpcy5wcm9wcyk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcykge1xuICAgIHRoaXMuX3VwZGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5kZWNrLmZpbmFsaXplKCk7XG4gIH1cblxuICAvLyBQdWJsaWMgQVBJXG5cbiAgcGlja09iamVjdCh7eCwgeSwgcmFkaXVzID0gMCwgbGF5ZXJJZHMgPSBudWxsfSkge1xuICAgIHJldHVybiB0aGlzLmRlY2sucGlja09iamVjdCh7eCwgeSwgcmFkaXVzLCBsYXllcklkc30pO1xuICB9XG5cbiAgcGlja011bHRpcGxlT2JqZWN0cyh7eCwgeSwgcmFkaXVzID0gMCwgbGF5ZXJJZHMgPSBudWxsLCBkZXB0aCA9IDEwfSkge1xuICAgIHJldHVybiB0aGlzLmRlY2sucGlja011bHRpcGxlT2JqZWN0cyh7eCwgeSwgcmFkaXVzLCBsYXllcklkcywgZGVwdGh9KTtcbiAgfVxuXG4gIHBpY2tPYmplY3RzKHt4LCB5LCB3aWR0aCA9IDEsIGhlaWdodCA9IDEsIGxheWVySWRzID0gbnVsbH0pIHtcbiAgICByZXR1cm4gdGhpcy5kZWNrLnBpY2tPYmplY3RzKHt4LCB5LCB3aWR0aCwgaGVpZ2h0LCBsYXllcklkc30pO1xuICB9XG5cbiAgcXVlcnlPYmplY3Qob3B0cykge1xuICAgIGxvZy5kZXByZWNhdGVkKCdxdWVyeU9iamVjdCcsICdwaWNrT2JqZWN0JykoKTtcbiAgICByZXR1cm4gdGhpcy5kZWNrLnBpY2tPYmplY3Qob3B0cyk7XG4gIH1cblxuICBxdWVyeVZpc2libGVPYmplY3RzKG9wdHMpIHtcbiAgICBsb2cuZGVwcmVjYXRlZCgncXVlcnlWaXNpYmxlT2JqZWN0cycsICdwaWNrT2JqZWN0cycpKCk7XG4gICAgcmV0dXJuIHRoaXMucGlja09iamVjdHMob3B0cyk7XG4gIH1cblxuICAvLyBDYWxsYmFja3NcblxuICAvLyBGb3J3YXJkIGNhbGxiYWNrIGFuZCB0aGVuIGNhbGwgZm9yY2VVcGRhdGUgdG8gZ3VhcmFudGVlIHRoYXQgc3ViIGNvbXBvbmVudHMgdXBkYXRlXG4gIF9vblJlc2l6ZSguLi5hcmdzKSB7XG4gICAgaWYgKHRoaXMucHJvcHMub25SZXNpemUpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZXNpemUoLi4uYXJncyk7XG4gICAgfVxuICAgIHRoaXMuZm9yY2VVcGRhdGUoKTtcbiAgfVxuXG4gIC8vIEZvcndhcmQgY2FsbGJhY2sgYW5kIHRoZW4gY2FsbCBmb3JjZVVwZGF0ZSB0byBndWFyYW50ZWUgdGhhdCBzdWIgY29tcG9uZW50cyB1cGRhdGVcbiAgX29uVmlld1N0YXRlQ2hhbmdlKC4uLmFyZ3MpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5vblZpZXdTdGF0ZUNoYW5nZSkge1xuICAgICAgdGhpcy5wcm9wcy5vblZpZXdTdGF0ZUNoYW5nZSguLi5hcmdzKTtcbiAgICB9XG4gICAgdGhpcy5mb3JjZVVwZGF0ZSgpO1xuICB9XG5cbiAgLy8gUHJpdmF0ZSBIZWxwZXJzXG5cbiAgLy8gMS4gRXh0cmFjdCBhbnkgSlNYIGxheWVycyBmcm9tIHRoZSByZWFjdCBjaGlsZHJlblxuICAvLyAyLiBIYW5kbGUgYW55IGJhY2t3YXJkcyBjb21wYXRpYmxpdHkgcHJvcHMgZm9yIFJlYWN0IGxheWVyXG4gIC8vIE5lZWRzIHRvIGJlIGNhbGxlZCBib3RoIGZyb20gaW5pdGlhbCBtb3VudCwgYW5kIHdoZW4gbmV3IHByb3BzIGFycml2ZVxuICBfdXBkYXRlRnJvbVByb3BzKG5leHRQcm9wcykge1xuICAgIC8vIGV4dHJhY3QgYW55IGRlY2suZ2wgbGF5ZXJzIG1hc3F1ZXJhZGluZyBhcyByZWFjdCBlbGVtZW50cyBmcm9tIHByb3BzLmNoaWxkcmVuXG4gICAgY29uc3Qge2xheWVycywgY2hpbGRyZW59ID0gdGhpcy5fZXh0cmFjdEpTWExheWVycyhuZXh0UHJvcHMuY2hpbGRyZW4pO1xuXG4gICAgaWYgKHRoaXMuZGVjaykge1xuICAgICAgdGhpcy5kZWNrLnNldFByb3BzKFxuICAgICAgICBPYmplY3QuYXNzaWduKHt9LCBuZXh0UHJvcHMsIHtcbiAgICAgICAgICB2aWV3czogdGhpcy5fZ2V0Vmlld3MobmV4dFByb3BzKSxcbiAgICAgICAgICB2aWV3U3RhdGU6IHRoaXMuX2dldFZpZXdTdGF0ZShuZXh0UHJvcHMpLFxuICAgICAgICAgIC8vIEF2b2lkIG1vZGlmeWluZyBsYXllcnMgYXJyYXkgaWYgbm8gSlNYIGxheWVycyB3ZXJlIGZvdW5kXG4gICAgICAgICAgbGF5ZXJzOiBsYXllcnMgPyBbLi4ubGF5ZXJzLCAuLi5uZXh0UHJvcHMubGF5ZXJzXSA6IG5leHRQcm9wcy5sYXllcnNcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICB9XG5cbiAgLy8gU3VwcG9ydCBvbGQgYHZpZXdwb3J0c2AgcHJvcCAoUmVhY3Qgb25seSEpXG4gIF9nZXRWaWV3cyhwcm9wcykge1xuICAgIGlmIChwcm9wcy52aWV3cG9ydHMpIHtcbiAgICAgIGxvZy5kZXByZWNhdGVkKCdEZWNrR0wudmlld3BvcnRzJywgJ0RlY2tHTC52aWV3cycpKCk7XG4gICAgfVxuICAgIGlmIChwcm9wcy52aWV3cG9ydCkge1xuICAgICAgbG9nLmRlcHJlY2F0ZWQoJ0RlY2tHTC52aWV3cG9ydCcsICdEZWNrR0wudmlld3MnKSgpO1xuICAgIH1cbiAgICByZXR1cm4gcHJvcHMudmlld3MgfHwgcHJvcHMudmlld3BvcnRzIHx8IChwcm9wcy52aWV3cG9ydCAmJiBbcHJvcHMudmlld3BvcnRdKTtcbiAgfVxuXG4gIC8vIFN1cHBvcnRzIG9sZCBcImdlb3NwYXRpYWwgdmlldyBzdGF0ZSBhcyBzZXBhcmF0ZSBwcm9wc1wiIHN0eWxlIChSZWFjdCBvbmx5ISlcbiAgX2dldFZpZXdTdGF0ZShwcm9wcykge1xuICAgIGxldCB7dmlld1N0YXRlfSA9IHByb3BzO1xuXG4gICAgaWYgKCF2aWV3U3RhdGUgJiYgJ2xhdGl0dWRlJyBpbiBwcm9wcyAmJiAnbG9uZ2l0dWRlJyBpbiBwcm9wcyAmJiAnem9vbScgaW4gcHJvcHMpIHtcbiAgICAgIGNvbnN0IHtsYXRpdHVkZSwgbG9uZ2l0dWRlLCB6b29tLCBwaXRjaCA9IDAsIGJlYXJpbmcgPSAwfSA9IHByb3BzO1xuICAgICAgdmlld1N0YXRlID0gcHJvcHMudmlld1N0YXRlIHx8IHtsYXRpdHVkZSwgbG9uZ2l0dWRlLCB6b29tLCBwaXRjaCwgYmVhcmluZ307XG4gICAgfVxuXG4gICAgcmV0dXJuIHZpZXdTdGF0ZTtcbiAgfVxuXG4gIC8vIGV4dHJhY3RzIGFueSBkZWNrLmdsIGxheWVycyBtYXNxdWVyYWRpbmcgYXMgcmVhY3QgZWxlbWVudHMgZnJvbSBwcm9wcy5jaGlsZHJlblxuICBfZXh0cmFjdEpTWExheWVycyhjaGlsZHJlbikge1xuICAgIGNvbnN0IHJlYWN0Q2hpbGRyZW4gPSBbXTsgLy8gZXh0cmFjdCByZWFsIHJlYWN0IGVsZW1lbnRzIChpLmUuIG5vdCBkZWNrLmdsIGxheWVycylcbiAgICBsZXQgbGF5ZXJzID0gbnVsbDsgLy8gZXh0cmFjdGVkIGxheWVyIGZyb20gcmVhY3QgY2hpbGRyZW4sIHdpbGwgYWRkIHRvIGRlY2suZ2wgbGF5ZXIgYXJyYXlcblxuICAgIFJlYWN0LkNoaWxkcmVuLmZvckVhY2goY2hpbGRyZW4sIHJlYWN0RWxlbWVudCA9PiB7XG4gICAgICBpZiAocmVhY3RFbGVtZW50KSB7XG4gICAgICAgIC8vIEZvciBzb21lIHJlYXNvbiBDaGlsZHJlbi5mb3JFYWNoIGRvZXNuJ3QgZmlsdGVyIG91dCBgbnVsbGBzXG4gICAgICAgIGNvbnN0IExheWVyVHlwZSA9IHJlYWN0RWxlbWVudC50eXBlO1xuICAgICAgICBpZiAoaW5oZXJpdHNGcm9tKExheWVyVHlwZSwgTGF5ZXIpKSB7XG4gICAgICAgICAgY29uc3QgbGF5ZXIgPSBuZXcgTGF5ZXJUeXBlKHJlYWN0RWxlbWVudC5wcm9wcyk7XG4gICAgICAgICAgbGF5ZXJzID0gbGF5ZXJzIHx8IFtdO1xuICAgICAgICAgIGxheWVycy5wdXNoKGxheWVyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWFjdENoaWxkcmVuLnB1c2gocmVhY3RFbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtsYXllcnMsIGNoaWxkcmVuOiByZWFjdENoaWxkcmVufTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb3ZlciB2aWV3cyBhbmQgcmVwb3NpdGlvbiBjaGlsZHJlbiBhc3NvY2lhdGVkIHdpdGggdmlld3NcbiAgLy8gVE9ETyAtIENhbiB3ZSBzdXBwbHkgYSBzaW1pbGFyIGZ1bmN0aW9uIGZvciB0aGUgbm9uLVJlYWN0IGNhc2U/XG4gIF9yZW5kZXJDaGlsZHJlblVuZGVyVmlld3MoY2hpbGRyZW4pIHtcbiAgICAvLyBGbGF0dGVuIG91dCBuZXN0ZWQgdmlld3MgYXJyYXlcbiAgICBjb25zdCB2aWV3cyA9IHRoaXMuZGVjayA/IHRoaXMuZGVjay5nZXRWaWV3cG9ydHMoKSA6IFtdO1xuXG4gICAgLy8gQnVpbGQgYSB2aWV3IGlkIHRvIHZpZXcgaW5kZXhcbiAgICBjb25zdCB2aWV3TWFwID0ge307XG4gICAgdmlld3MuZm9yRWFjaCh2aWV3ID0+IHtcbiAgICAgIGlmICh2aWV3LmlkKSB7XG4gICAgICAgIHZpZXdNYXBbdmlldy5pZF0gPSB2aWV3O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNoaWxkcmVuLm1hcChcbiAgICAgIC8vIElmIGNoaWxkIHNwZWNpZmllcyBwcm9wcy52aWV3SWQsIHBvc2l0aW9uIHVuZGVyIHZpZXcsIG90aGVyd2lzZSByZW5kZXIgYXMgbm9ybWFsXG4gICAgICAoY2hpbGQsIGkpID0+XG4gICAgICAgIGNoaWxkLnByb3BzLnZpZXdJZCB8fCBjaGlsZC5wcm9wcy52aWV3SWQgPyB0aGlzLl9wb3NpdGlvbkNoaWxkKHtjaGlsZCwgdmlld01hcCwgaX0pIDogY2hpbGRcbiAgICApO1xuICB9XG5cbiAgX3Bvc2l0aW9uQ2hpbGQoe2NoaWxkLCB2aWV3TWFwLCBpfSkge1xuICAgIGNvbnN0IHt2aWV3SWQsIHZpZXdwb3J0SWR9ID0gY2hpbGQucHJvcHM7XG4gICAgaWYgKHZpZXdwb3J0SWQpIHtcbiAgICAgIGxvZy5kZXByZWNhdGVkKCd2aWV3cG9ydElkJywgJ3ZpZXdJZCcpKCk7XG4gICAgfVxuICAgIGNvbnN0IHZpZXcgPSB2aWV3TWFwW3ZpZXdJZCB8fCB2aWV3cG9ydElkXTtcblxuICAgIC8vIERyb3AgKGF1dG8taGlkZSkgZWxlbWVudHMgd2l0aCB2aWV3SWQgdGhhdCBhcmUgbm90IG1hdGNoZWQgYnkgYW55IGN1cnJlbnQgdmlld1xuICAgIGlmICghdmlldykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gUmVzb2x2ZSBwb3RlbnRpYWxseSByZWxhdGl2ZSBkaW1lbnNpb25zIHVzaW5nIHRoZSBkZWNrLmdsIGNvbnRhaW5lciBzaXplXG4gICAgY29uc3Qge3gsIHksIHdpZHRoLCBoZWlnaHR9ID0gdmlldztcblxuICAgIC8vIENsb25lIHRoZSBlbGVtZW50IHdpdGggd2lkdGggYW5kIGhlaWdodCBzZXQgcGVyIHZpZXdcbiAgICBjb25zdCBuZXdQcm9wcyA9IE9iamVjdC5hc3NpZ24oe30sIGNoaWxkLnByb3BzLCB7d2lkdGgsIGhlaWdodH0pO1xuXG4gICAgLy8gSW5qZWN0IG1hcCBwcm9wZXJ0aWVzXG4gICAgLy8gVE9ETyAtIHRoaXMgaXMgdG9vIHJlYWN0LW1hcC1nbCBzcGVjaWZpY1xuICAgIE9iamVjdC5hc3NpZ24obmV3UHJvcHMsIHZpZXcuZ2V0TWVyY2F0b3JQYXJhbXMoKSwge1xuICAgICAgdmlzaWJsZTogdmlldy5pc01hcFN5bmNoZWQoKVxuICAgIH0pO1xuXG4gICAgY29uc3QgY2xvbmUgPSBjbG9uZUVsZW1lbnQoY2hpbGQsIG5ld1Byb3BzKTtcblxuICAgIC8vIFdyYXAgaXQgaW4gYW4gYWJzb2x1dGVseSBwb3NpdGlvbmluZyBkaXZcbiAgICBjb25zdCBzdHlsZSA9IHtwb3NpdGlvbjogJ2Fic29sdXRlJywgbGVmdDogeCwgdG9wOiB5LCB3aWR0aCwgaGVpZ2h0fTtcbiAgICBjb25zdCBrZXkgPSBgdmlldy1jaGlsZC0ke3ZpZXdJZH0tJHtpfWA7XG4gICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoJ2RpdicsIHtrZXksIGlkOiBrZXksIHN0eWxlfSwgY2xvbmUpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIC8vIFJlbmRlciB0aGUgYmFja2dyb3VuZCBlbGVtZW50cyAodHlwaWNhbGx5IHJlYWN0LW1hcC1nbCBpbnN0YW5jZXMpXG4gICAgLy8gdXNpbmcgdGhlIHZpZXcgZGVzY3JpcHRvcnNcbiAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuX3JlbmRlckNoaWxkcmVuVW5kZXJWaWV3cyh0aGlzLmNoaWxkcmVuKTtcblxuICAgIC8vIE5vdGUgdGhhdCB3aWR0aCBhbmQgaGVpZ2h0IGFyZSBoYW5kbGVkIGJ5IGRlY2suZ2xcbiAgICBjb25zdCB7aWR9ID0gdGhpcy5wcm9wcztcbiAgICAvLyBUT0RPIC0gdGhpcyBzdHlsaW5nIGlzIGVuZm9yY2VkIGZvciBjb3JyZWN0IHBvc2l0aW9uaW5nIHdpdGggY2hpbGRyZW5cbiAgICAvLyBJdCBjYW4gb3ZlcnJpZGUgdGhlIHN0eWxpbmcgc2V0IGJ5IGBEZWNrYCwgdGhpcyBzaG91bGQgYmUgY29uc29saWRhdGVkLlxuICAgIGNvbnN0IHN0eWxlID0gT2JqZWN0LmFzc2lnbih7fSwge3Bvc2l0aW9uOiAnYWJzb2x1dGUnLCBsZWZ0OiAwLCB0b3A6IDB9LCB0aGlzLnByb3BzLnN0eWxlKTtcblxuICAgIGNvbnN0IGNhbnZhcyA9IGNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycsIHtcbiAgICAgIHJlZjogYyA9PiAodGhpcy5kZWNrQ2FudmFzID0gYyksXG4gICAgICBrZXk6ICdkZWNrLWNhbnZhcycsXG4gICAgICBpZCxcbiAgICAgIHN0eWxlXG4gICAgfSk7XG5cbiAgICAvLyBSZW5kZXIgZGVjay5nbCBhcyBsYXN0IGNoaWxkXG4gICAgY2hpbGRyZW4ucHVzaChjYW52YXMpO1xuXG4gICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoJ2RpdicsIHtpZDogJ2RlY2tnbC13cmFwcGVyJ30sIGNoaWxkcmVuKTtcbiAgfVxufVxuXG5EZWNrR0wucHJvcFR5cGVzID0gcHJvcFR5cGVzO1xuRGVja0dMLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcbiJdfQ==

@@ -1,25 +0,38 @@

// Copyright (c) 2015 - 2017 Uber Technologies, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
export { default as DeckGL } from './deckgl';
export { default } from './deckgl'; // TODO - should react controllers be exported or just integrated into deck.gl API?
"use strict";
export { default as ViewportController } from './viewport-controller';
export { default as autobind } from './utils/autobind';
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiRGVja0dMIiwiVmlld3BvcnRDb250cm9sbGVyIiwiYXV0b2JpbmQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsU0FBUUEsV0FBV0MsTUFBbkIsUUFBZ0MsVUFBaEM7QUFDQSxTQUFRRCxPQUFSLFFBQXNCLFVBQXRCLEMsQ0FFQTs7QUFDQSxTQUFRQSxXQUFXRSxrQkFBbkIsUUFBNEMsdUJBQTVDO0FBRUEsU0FBUUYsV0FBV0csUUFBbkIsUUFBa0Msa0JBQWxDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDE1IC0gMjAxNyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBEZWNrR0x9IGZyb20gJy4vZGVja2dsJztcbmV4cG9ydCB7ZGVmYXVsdH0gZnJvbSAnLi9kZWNrZ2wnO1xuXG4vLyBUT0RPIC0gc2hvdWxkIHJlYWN0IGNvbnRyb2xsZXJzIGJlIGV4cG9ydGVkIG9yIGp1c3QgaW50ZWdyYXRlZCBpbnRvIGRlY2suZ2wgQVBJP1xuZXhwb3J0IHtkZWZhdWx0IGFzIFZpZXdwb3J0Q29udHJvbGxlcn0gZnJvbSAnLi92aWV3cG9ydC1jb250cm9sbGVyJztcblxuZXhwb3J0IHtkZWZhdWx0IGFzIGF1dG9iaW5kfSBmcm9tICcuL3V0aWxzL2F1dG9iaW5kJztcbiJdfQ==
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "DeckGL", {
enumerable: true,
get: function get() {
return _deckgl.default;
}
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function get() {
return _deckgl.default;
}
});
Object.defineProperty(exports, "ViewportController", {
enumerable: true,
get: function get() {
return _viewportController.default;
}
});
Object.defineProperty(exports, "autobind", {
enumerable: true,
get: function get() {
return _autobind.default;
}
});
var _deckgl = _interopRequireDefault(require("./deckgl"));
var _viewportController = _interopRequireDefault(require("./viewport-controller"));
var _autobind = _interopRequireDefault(require("./utils/autobind"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBSUE7O0FBRUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMTUgLSAyMDE3IFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuZXhwb3J0IHtkZWZhdWx0IGFzIERlY2tHTH0gZnJvbSAnLi9kZWNrZ2wnO1xuZXhwb3J0IHtkZWZhdWx0fSBmcm9tICcuL2RlY2tnbCc7XG5cbi8vIFRPRE8gLSBzaG91bGQgcmVhY3QgY29udHJvbGxlcnMgYmUgZXhwb3J0ZWQgb3IganVzdCBpbnRlZ3JhdGVkIGludG8gZGVjay5nbCBBUEk/XG5leHBvcnQge2RlZmF1bHQgYXMgVmlld3BvcnRDb250cm9sbGVyfSBmcm9tICcuL3ZpZXdwb3J0LWNvbnRyb2xsZXInO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgYXV0b2JpbmR9IGZyb20gJy4vdXRpbHMvYXV0b2JpbmQnO1xuIl19

@@ -0,1 +1,7 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = autobind;
// Copyright (c) 2015 - 2017 Uber Technologies, Inc.

@@ -20,3 +26,3 @@ //

// THE SOFTWARE.
const PREDEFINED = ['constructor', 'render', 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate', 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount'];
var PREDEFINED = ['constructor', 'render', 'componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'shouldComponentUpdate', 'componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount'];
/**

@@ -27,14 +33,40 @@ * Binds the "this" argument of all functions on a class instance to the instance

export default function autobind(obj) {
const proto = Object.getPrototypeOf(obj);
const propNames = Object.getOwnPropertyNames(proto);
function autobind(obj) {
var proto = Object.getPrototypeOf(obj);
var propNames = Object.getOwnPropertyNames(proto);
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
for (const key of propNames) {
if (typeof obj[key] === 'function') {
if (!PREDEFINED.find(name => key === name)) {
obj[key] = obj[key].bind(obj);
try {
var _loop = function _loop() {
var key = _step.value;
if (typeof obj[key] === 'function') {
if (!PREDEFINED.find(function (name) {
return key === name;
})) {
obj[key] = obj[key].bind(obj);
}
}
};
for (var _iterator = propNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
_loop();
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hdXRvYmluZC5qcyJdLCJuYW1lcyI6WyJQUkVERUZJTkVEIiwiYXV0b2JpbmQiLCJvYmoiLCJwcm90byIsIk9iamVjdCIsImdldFByb3RvdHlwZU9mIiwicHJvcE5hbWVzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImtleSIsImZpbmQiLCJuYW1lIiwiYmluZCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxNQUFNQSxhQUFhLENBQ2pCLGFBRGlCLEVBRWpCLFFBRmlCLEVBR2pCLG9CQUhpQixFQUlqQixtQkFKaUIsRUFLakIsMkJBTGlCLEVBTWpCLHVCQU5pQixFQU9qQixxQkFQaUIsRUFRakIsb0JBUmlCLEVBU2pCLHNCQVRpQixDQUFuQjtBQVlBOzs7OztBQUlBLGVBQWUsU0FBU0MsUUFBVCxDQUFrQkMsR0FBbEIsRUFBdUI7QUFDcEMsUUFBTUMsUUFBUUMsT0FBT0MsY0FBUCxDQUFzQkgsR0FBdEIsQ0FBZDtBQUNBLFFBQU1JLFlBQVlGLE9BQU9HLG1CQUFQLENBQTJCSixLQUEzQixDQUFsQjs7QUFDQSxPQUFLLE1BQU1LLEdBQVgsSUFBa0JGLFNBQWxCLEVBQTZCO0FBQzNCLFFBQUksT0FBT0osSUFBSU0sR0FBSixDQUFQLEtBQW9CLFVBQXhCLEVBQW9DO0FBQ2xDLFVBQUksQ0FBQ1IsV0FBV1MsSUFBWCxDQUFnQkMsUUFBUUYsUUFBUUUsSUFBaEMsQ0FBTCxFQUE0QztBQUMxQ1IsWUFBSU0sR0FBSixJQUFXTixJQUFJTSxHQUFKLEVBQVNHLElBQVQsQ0FBY1QsR0FBZCxDQUFYO0FBQ0Q7QUFDRjtBQUNGO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMTUgLSAyMDE3IFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuY29uc3QgUFJFREVGSU5FRCA9IFtcbiAgJ2NvbnN0cnVjdG9yJyxcbiAgJ3JlbmRlcicsXG4gICdjb21wb25lbnRXaWxsTW91bnQnLFxuICAnY29tcG9uZW50RGlkTW91bnQnLFxuICAnY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcycsXG4gICdzaG91bGRDb21wb25lbnRVcGRhdGUnLFxuICAnY29tcG9uZW50V2lsbFVwZGF0ZScsXG4gICdjb21wb25lbnREaWRVcGRhdGUnLFxuICAnY29tcG9uZW50V2lsbFVubW91bnQnXG5dO1xuXG4vKipcbiAqIEJpbmRzIHRoZSBcInRoaXNcIiBhcmd1bWVudCBvZiBhbGwgZnVuY3Rpb25zIG9uIGEgY2xhc3MgaW5zdGFuY2UgdG8gdGhlIGluc3RhbmNlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqIC0gY2xhc3MgaW5zdGFuY2UgKHR5cGljYWxseSBhIHJlYWN0IGNvbXBvbmVudClcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYXV0b2JpbmQob2JqKSB7XG4gIGNvbnN0IHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaik7XG4gIGNvbnN0IHByb3BOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3RvKTtcbiAgZm9yIChjb25zdCBrZXkgb2YgcHJvcE5hbWVzKSB7XG4gICAgaWYgKHR5cGVvZiBvYmpba2V5XSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKCFQUkVERUZJTkVELmZpbmQobmFtZSA9PiBrZXkgPT09IG5hbWUpKSB7XG4gICAgICAgIG9ialtrZXldID0gb2JqW2tleV0uYmluZChvYmopO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hdXRvYmluZC5qcyJdLCJuYW1lcyI6WyJQUkVERUZJTkVEIiwiYXV0b2JpbmQiLCJvYmoiLCJwcm90byIsIk9iamVjdCIsImdldFByb3RvdHlwZU9mIiwicHJvcE5hbWVzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImtleSIsImZpbmQiLCJuYW1lIiwiYmluZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFNQSxhQUFhLENBQ2pCLGFBRGlCLEVBRWpCLFFBRmlCLEVBR2pCLG9CQUhpQixFQUlqQixtQkFKaUIsRUFLakIsMkJBTGlCLEVBTWpCLHVCQU5pQixFQU9qQixxQkFQaUIsRUFRakIsb0JBUmlCLEVBU2pCLHNCQVRpQixDQUFuQjtBQVlBOzs7OztBQUllLFNBQVNDLFFBQVQsQ0FBa0JDLEdBQWxCLEVBQXVCO0FBQ3BDLE1BQU1DLFFBQVFDLE9BQU9DLGNBQVAsQ0FBc0JILEdBQXRCLENBQWQ7QUFDQSxNQUFNSSxZQUFZRixPQUFPRyxtQkFBUCxDQUEyQkosS0FBM0IsQ0FBbEI7QUFGb0M7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQSxVQUd6QkssR0FIeUI7O0FBSWxDLFVBQUksT0FBT04sSUFBSU0sR0FBSixDQUFQLEtBQW9CLFVBQXhCLEVBQW9DO0FBQ2xDLFlBQUksQ0FBQ1IsV0FBV1MsSUFBWCxDQUFnQjtBQUFBLGlCQUFRRCxRQUFRRSxJQUFoQjtBQUFBLFNBQWhCLENBQUwsRUFBNEM7QUFDMUNSLGNBQUlNLEdBQUosSUFBV04sSUFBSU0sR0FBSixFQUFTRyxJQUFULENBQWNULEdBQWQsQ0FBWDtBQUNEO0FBQ0Y7QUFSaUM7O0FBR3BDLHlCQUFrQkksU0FBbEIsOEhBQTZCO0FBQUE7QUFNNUI7QUFUbUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVyQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAxNSAtIDIwMTcgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5jb25zdCBQUkVERUZJTkVEID0gW1xuICAnY29uc3RydWN0b3InLFxuICAncmVuZGVyJyxcbiAgJ2NvbXBvbmVudFdpbGxNb3VudCcsXG4gICdjb21wb25lbnREaWRNb3VudCcsXG4gICdjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJyxcbiAgJ3Nob3VsZENvbXBvbmVudFVwZGF0ZScsXG4gICdjb21wb25lbnRXaWxsVXBkYXRlJyxcbiAgJ2NvbXBvbmVudERpZFVwZGF0ZScsXG4gICdjb21wb25lbnRXaWxsVW5tb3VudCdcbl07XG5cbi8qKlxuICogQmluZHMgdGhlIFwidGhpc1wiIGFyZ3VtZW50IG9mIGFsbCBmdW5jdGlvbnMgb24gYSBjbGFzcyBpbnN0YW5jZSB0byB0aGUgaW5zdGFuY2VcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmogLSBjbGFzcyBpbnN0YW5jZSAodHlwaWNhbGx5IGEgcmVhY3QgY29tcG9uZW50KVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhdXRvYmluZChvYmopIHtcbiAgY29uc3QgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTtcbiAgY29uc3QgcHJvcE5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvdG8pO1xuICBmb3IgKGNvbnN0IGtleSBvZiBwcm9wTmFtZXMpIHtcbiAgICBpZiAodHlwZW9mIG9ialtrZXldID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAoIVBSRURFRklORUQuZmluZChuYW1lID0+IGtleSA9PT0gbmFtZSkpIHtcbiAgICAgICAgb2JqW2tleV0gPSBvYmpba2V5XS5iaW5kKG9iaik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=

@@ -0,1 +1,7 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
// Copyright (c) 2015 Uber Technologies, Inc.

@@ -18,11 +24,12 @@ // Permission is hereby granted, free of charge, to any person obtaining a copy

// import browser from 'bowser';
const PREFIX = '-webkit-'; // browser.webkit || browser.blink ? '-webkit-' :
var PREFIX = '-webkit-'; // browser.webkit || browser.blink ? '-webkit-' :
// browser.gecko ? '-moz-' :
// '';
export default {
GRABBING: `${PREFIX}grabbing`,
GRAB: `${PREFIX}grab`,
var _default = {
GRABBING: "".concat(PREFIX, "grabbing"),
GRAB: "".concat(PREFIX, "grab"),
POINTER: 'pointer'
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jdXJzb3JzLmpzIl0sIm5hbWVzIjpbIlBSRUZJWCIsIkdSQUJCSU5HIiwiR1JBQiIsIlBPSU5URVIiXSwibWFwcGluZ3MiOiJBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQSxNQUFNQSxTQUFTLFVBQWYsQyxDQUNBO0FBQ0E7QUFDQTs7QUFFQSxlQUFlO0FBQ2JDLFlBQVcsR0FBRUQsTUFBTyxVQURQO0FBRWJFLFFBQU8sR0FBRUYsTUFBTyxNQUZIO0FBR2JHLFdBQVM7QUFISSxDQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDE1IFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG5cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuLy8gaW1wb3J0IGJyb3dzZXIgZnJvbSAnYm93c2VyJztcblxuY29uc3QgUFJFRklYID0gJy13ZWJraXQtJztcbi8vIGJyb3dzZXIud2Via2l0IHx8IGJyb3dzZXIuYmxpbmsgPyAnLXdlYmtpdC0nIDpcbi8vIGJyb3dzZXIuZ2Vja28gPyAnLW1vei0nIDpcbi8vICcnO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIEdSQUJCSU5HOiBgJHtQUkVGSVh9Z3JhYmJpbmdgLFxuICBHUkFCOiBgJHtQUkVGSVh9Z3JhYmAsXG4gIFBPSU5URVI6ICdwb2ludGVyJ1xufTtcbiJdfQ==
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jdXJzb3JzLmpzIl0sIm5hbWVzIjpbIlBSRUZJWCIsIkdSQUJCSU5HIiwiR1JBQiIsIlBPSU5URVIiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQSxJQUFNQSxTQUFTLFVBQWYsQyxDQUNBO0FBQ0E7QUFDQTs7ZUFFZTtBQUNiQyxzQkFBYUQsTUFBYixhQURhO0FBRWJFLGtCQUFTRixNQUFULFNBRmE7QUFHYkcsV0FBUztBQUhJLEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMTUgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cblxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG4vLyBpbXBvcnQgYnJvd3NlciBmcm9tICdib3dzZXInO1xuXG5jb25zdCBQUkVGSVggPSAnLXdlYmtpdC0nO1xuLy8gYnJvd3Nlci53ZWJraXQgfHwgYnJvd3Nlci5ibGluayA/ICctd2Via2l0LScgOlxuLy8gYnJvd3Nlci5nZWNrbyA/ICctbW96LScgOlxuLy8gJyc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgR1JBQkJJTkc6IGAke1BSRUZJWH1ncmFiYmluZ2AsXG4gIEdSQUI6IGAke1BSRUZJWH1ncmFiYCxcbiAgUE9JTlRFUjogJ3BvaW50ZXInXG59O1xuIl19

@@ -0,3 +1,10 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.inheritsFrom = inheritsFrom;
// Check if one JavaScript class inherits from another
export function inheritsFrom(Type, ParentType) {
function inheritsFrom(Type, ParentType) {
while (Type) {

@@ -13,2 +20,2 @@ if (Type === ParentType) {

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9pbmhlcml0cy1mcm9tLmpzIl0sIm5hbWVzIjpbImluaGVyaXRzRnJvbSIsIlR5cGUiLCJQYXJlbnRUeXBlIiwiT2JqZWN0IiwiZ2V0UHJvdG90eXBlT2YiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsT0FBTyxTQUFTQSxZQUFULENBQXNCQyxJQUF0QixFQUE0QkMsVUFBNUIsRUFBd0M7QUFDN0MsU0FBT0QsSUFBUCxFQUFhO0FBQ1gsUUFBSUEsU0FBU0MsVUFBYixFQUF5QjtBQUN2QixhQUFPLElBQVA7QUFDRDs7QUFDREQsV0FBT0UsT0FBT0MsY0FBUCxDQUFzQkgsSUFBdEIsQ0FBUDtBQUNEOztBQUNELFNBQU8sS0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ2hlY2sgaWYgb25lIEphdmFTY3JpcHQgY2xhc3MgaW5oZXJpdHMgZnJvbSBhbm90aGVyXG5leHBvcnQgZnVuY3Rpb24gaW5oZXJpdHNGcm9tKFR5cGUsIFBhcmVudFR5cGUpIHtcbiAgd2hpbGUgKFR5cGUpIHtcbiAgICBpZiAoVHlwZSA9PT0gUGFyZW50VHlwZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIFR5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoVHlwZSk7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9pbmhlcml0cy1mcm9tLmpzIl0sIm5hbWVzIjpbImluaGVyaXRzRnJvbSIsIlR5cGUiLCJQYXJlbnRUeXBlIiwiT2JqZWN0IiwiZ2V0UHJvdG90eXBlT2YiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNPLFNBQVNBLFlBQVQsQ0FBc0JDLElBQXRCLEVBQTRCQyxVQUE1QixFQUF3QztBQUM3QyxTQUFPRCxJQUFQLEVBQWE7QUFDWCxRQUFJQSxTQUFTQyxVQUFiLEVBQXlCO0FBQ3ZCLGFBQU8sSUFBUDtBQUNEOztBQUNERCxXQUFPRSxPQUFPQyxjQUFQLENBQXNCSCxJQUF0QixDQUFQO0FBQ0Q7O0FBQ0QsU0FBTyxLQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDaGVjayBpZiBvbmUgSmF2YVNjcmlwdCBjbGFzcyBpbmhlcml0cyBmcm9tIGFub3RoZXJcbmV4cG9ydCBmdW5jdGlvbiBpbmhlcml0c0Zyb20oVHlwZSwgUGFyZW50VHlwZSkge1xuICB3aGlsZSAoVHlwZSkge1xuICAgIGlmIChUeXBlID09PSBQYXJlbnRUeXBlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgVHlwZSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihUeXBlKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG4iXX0=

@@ -0,1 +1,10 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = shallowCompare;
var _shallowEqual = require("./shallow-equal");
// Copyright (c) 2015 - 2017 Uber Technologies, Inc.

@@ -20,10 +29,9 @@ //

// THE SOFTWARE.
import { shallowEqual } from './shallow-equal';
/**
* Does a shallow comparison for React props and state.
*/
export default function shallowCompare(instance, nextProps, nextState) {
return !shallowEqual(instance.props, nextProps) || !shallowEqual(instance.state, nextState);
function shallowCompare(instance, nextProps, nextState) {
return !(0, _shallowEqual.shallowEqual)(instance.props, nextProps) || !(0, _shallowEqual.shallowEqual)(instance.state, nextState);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zaGFsbG93LWNvbXBhcmUuanMiXSwibmFtZXMiOlsic2hhbGxvd0VxdWFsIiwic2hhbGxvd0NvbXBhcmUiLCJpbnN0YW5jZSIsIm5leHRQcm9wcyIsIm5leHRTdGF0ZSIsInByb3BzIiwic3RhdGUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsU0FBUUEsWUFBUixRQUEyQixpQkFBM0I7QUFFQTs7OztBQUdBLGVBQWUsU0FBU0MsY0FBVCxDQUF3QkMsUUFBeEIsRUFBa0NDLFNBQWxDLEVBQTZDQyxTQUE3QyxFQUF3RDtBQUNyRSxTQUFPLENBQUNKLGFBQWFFLFNBQVNHLEtBQXRCLEVBQTZCRixTQUE3QixDQUFELElBQTRDLENBQUNILGFBQWFFLFNBQVNJLEtBQXRCLEVBQTZCRixTQUE3QixDQUFwRDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDE1IC0gMjAxNyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7c2hhbGxvd0VxdWFsfSBmcm9tICcuL3NoYWxsb3ctZXF1YWwnO1xuXG4vKipcbiAqIERvZXMgYSBzaGFsbG93IGNvbXBhcmlzb24gZm9yIFJlYWN0IHByb3BzIGFuZCBzdGF0ZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2hhbGxvd0NvbXBhcmUoaW5zdGFuY2UsIG5leHRQcm9wcywgbmV4dFN0YXRlKSB7XG4gIHJldHVybiAhc2hhbGxvd0VxdWFsKGluc3RhbmNlLnByb3BzLCBuZXh0UHJvcHMpIHx8ICFzaGFsbG93RXF1YWwoaW5zdGFuY2Uuc3RhdGUsIG5leHRTdGF0ZSk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zaGFsbG93LWNvbXBhcmUuanMiXSwibmFtZXMiOlsic2hhbGxvd0NvbXBhcmUiLCJpbnN0YW5jZSIsIm5leHRQcm9wcyIsIm5leHRTdGF0ZSIsInByb3BzIiwic3RhdGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFvQkE7O0FBcEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUlBOzs7QUFHZSxTQUFTQSxjQUFULENBQXdCQyxRQUF4QixFQUFrQ0MsU0FBbEMsRUFBNkNDLFNBQTdDLEVBQXdEO0FBQ3JFLFNBQU8sQ0FBQyxnQ0FBYUYsU0FBU0csS0FBdEIsRUFBNkJGLFNBQTdCLENBQUQsSUFBNEMsQ0FBQyxnQ0FBYUQsU0FBU0ksS0FBdEIsRUFBNkJGLFNBQTdCLENBQXBEO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMTUgLSAyMDE3IFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtzaGFsbG93RXF1YWx9IGZyb20gJy4vc2hhbGxvdy1lcXVhbCc7XG5cbi8qKlxuICogRG9lcyBhIHNoYWxsb3cgY29tcGFyaXNvbiBmb3IgUmVhY3QgcHJvcHMgYW5kIHN0YXRlLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzaGFsbG93Q29tcGFyZShpbnN0YW5jZSwgbmV4dFByb3BzLCBuZXh0U3RhdGUpIHtcbiAgcmV0dXJuICFzaGFsbG93RXF1YWwoaW5zdGFuY2UucHJvcHMsIG5leHRQcm9wcykgfHwgIXNoYWxsb3dFcXVhbChpbnN0YW5jZS5zdGF0ZSwgbmV4dFN0YXRlKTtcbn1cbiJdfQ==

@@ -0,1 +1,10 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.shallowEqual = shallowEqual;
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
// Copyright (c) 2015 - 2017 Uber Technologies, Inc.

@@ -23,5 +32,7 @@ //

/* eslint-disable complexity */
export function shallowEqual(a, b, {
ignore = {}
} = {}) {
function shallowEqual(a, b) {
var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
_ref$ignore = _ref.ignore,
ignore = _ref$ignore === void 0 ? {} : _ref$ignore;
if (a === b) {

@@ -31,3 +42,3 @@ return true;

if (typeof a !== 'object' || a === null || typeof b !== 'object' || b === null) {
if (_typeof(a) !== 'object' || a === null || _typeof(b) !== 'object' || b === null) {
return false;

@@ -40,3 +51,3 @@ }

for (const key in a) {
for (var key in a) {
if (!(key in ignore) && (!(key in b) || a[key] !== b[key])) {

@@ -47,4 +58,4 @@ return false;

for (const key in b) {
if (!(key in ignore) && !(key in a)) {
for (var _key in b) {
if (!(_key in ignore) && !(_key in a)) {
return false;

@@ -56,2 +67,2 @@ }

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zaGFsbG93LWVxdWFsLmpzIl0sIm5hbWVzIjpbInNoYWxsb3dFcXVhbCIsImEiLCJiIiwiaWdub3JlIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImtleSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7QUFDQTtBQUNBLE9BQU8sU0FBU0EsWUFBVCxDQUFzQkMsQ0FBdEIsRUFBeUJDLENBQXpCLEVBQTRCO0FBQUNDLFdBQVM7QUFBVixJQUFnQixFQUE1QyxFQUFnRDtBQUNyRCxNQUFJRixNQUFNQyxDQUFWLEVBQWE7QUFDWCxXQUFPLElBQVA7QUFDRDs7QUFFRCxNQUFJLE9BQU9ELENBQVAsS0FBYSxRQUFiLElBQXlCQSxNQUFNLElBQS9CLElBQXVDLE9BQU9DLENBQVAsS0FBYSxRQUFwRCxJQUFnRUEsTUFBTSxJQUExRSxFQUFnRjtBQUM5RSxXQUFPLEtBQVA7QUFDRDs7QUFFRCxNQUFJRSxPQUFPQyxJQUFQLENBQVlKLENBQVosRUFBZUssTUFBZixLQUEwQkYsT0FBT0MsSUFBUCxDQUFZSCxDQUFaLEVBQWVJLE1BQTdDLEVBQXFEO0FBQ25ELFdBQU8sS0FBUDtBQUNEOztBQUVELE9BQUssTUFBTUMsR0FBWCxJQUFrQk4sQ0FBbEIsRUFBcUI7QUFDbkIsUUFBSSxFQUFFTSxPQUFPSixNQUFULE1BQXFCLEVBQUVJLE9BQU9MLENBQVQsS0FBZUQsRUFBRU0sR0FBRixNQUFXTCxFQUFFSyxHQUFGLENBQS9DLENBQUosRUFBNEQ7QUFDMUQsYUFBTyxLQUFQO0FBQ0Q7QUFDRjs7QUFDRCxPQUFLLE1BQU1BLEdBQVgsSUFBa0JMLENBQWxCLEVBQXFCO0FBQ25CLFFBQUksRUFBRUssT0FBT0osTUFBVCxLQUFvQixFQUFFSSxPQUFPTixDQUFULENBQXhCLEVBQXFDO0FBQ25DLGFBQU8sS0FBUDtBQUNEO0FBQ0Y7O0FBQ0QsU0FBTyxJQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMTUgLSAyMDE3IFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuLy8gU2hhbGxvdyBjb21wYXJlXG4vKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG5leHBvcnQgZnVuY3Rpb24gc2hhbGxvd0VxdWFsKGEsIGIsIHtpZ25vcmUgPSB7fX0gPSB7fSkge1xuICBpZiAoYSA9PT0gYikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBhICE9PSAnb2JqZWN0JyB8fCBhID09PSBudWxsIHx8IHR5cGVvZiBiICE9PSAnb2JqZWN0JyB8fCBiID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKE9iamVjdC5rZXlzKGEpLmxlbmd0aCAhPT0gT2JqZWN0LmtleXMoYikubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgaW4gYSkge1xuICAgIGlmICghKGtleSBpbiBpZ25vcmUpICYmICghKGtleSBpbiBiKSB8fCBhW2tleV0gIT09IGJba2V5XSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgZm9yIChjb25zdCBrZXkgaW4gYikge1xuICAgIGlmICghKGtleSBpbiBpZ25vcmUpICYmICEoa2V5IGluIGEpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlO1xufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zaGFsbG93LWVxdWFsLmpzIl0sIm5hbWVzIjpbInNoYWxsb3dFcXVhbCIsImEiLCJiIiwiaWdub3JlIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImtleSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7QUFDQTtBQUNPLFNBQVNBLFlBQVQsQ0FBc0JDLENBQXRCLEVBQXlCQyxDQUF6QixFQUFnRDtBQUFBLGlGQUFKLEVBQUk7QUFBQSx5QkFBbkJDLE1BQW1CO0FBQUEsTUFBbkJBLE1BQW1CLDRCQUFWLEVBQVU7O0FBQ3JELE1BQUlGLE1BQU1DLENBQVYsRUFBYTtBQUNYLFdBQU8sSUFBUDtBQUNEOztBQUVELE1BQUksUUFBT0QsQ0FBUCxNQUFhLFFBQWIsSUFBeUJBLE1BQU0sSUFBL0IsSUFBdUMsUUFBT0MsQ0FBUCxNQUFhLFFBQXBELElBQWdFQSxNQUFNLElBQTFFLEVBQWdGO0FBQzlFLFdBQU8sS0FBUDtBQUNEOztBQUVELE1BQUlFLE9BQU9DLElBQVAsQ0FBWUosQ0FBWixFQUFlSyxNQUFmLEtBQTBCRixPQUFPQyxJQUFQLENBQVlILENBQVosRUFBZUksTUFBN0MsRUFBcUQ7QUFDbkQsV0FBTyxLQUFQO0FBQ0Q7O0FBRUQsT0FBSyxJQUFNQyxHQUFYLElBQWtCTixDQUFsQixFQUFxQjtBQUNuQixRQUFJLEVBQUVNLE9BQU9KLE1BQVQsTUFBcUIsRUFBRUksT0FBT0wsQ0FBVCxLQUFlRCxFQUFFTSxHQUFGLE1BQVdMLEVBQUVLLEdBQUYsQ0FBL0MsQ0FBSixFQUE0RDtBQUMxRCxhQUFPLEtBQVA7QUFDRDtBQUNGOztBQUNELE9BQUssSUFBTUEsSUFBWCxJQUFrQkwsQ0FBbEIsRUFBcUI7QUFDbkIsUUFBSSxFQUFFSyxRQUFPSixNQUFULEtBQW9CLEVBQUVJLFFBQU9OLENBQVQsQ0FBeEIsRUFBcUM7QUFDbkMsYUFBTyxLQUFQO0FBQ0Q7QUFDRjs7QUFDRCxTQUFPLElBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAxNSAtIDIwMTcgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG4vLyBTaGFsbG93IGNvbXBhcmVcbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbmV4cG9ydCBmdW5jdGlvbiBzaGFsbG93RXF1YWwoYSwgYiwge2lnbm9yZSA9IHt9fSA9IHt9KSB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodHlwZW9mIGEgIT09ICdvYmplY3QnIHx8IGEgPT09IG51bGwgfHwgdHlwZW9mIGIgIT09ICdvYmplY3QnIHx8IGIgPT09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoT2JqZWN0LmtleXMoYSkubGVuZ3RoICE9PSBPYmplY3Qua2V5cyhiKS5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmb3IgKGNvbnN0IGtleSBpbiBhKSB7XG4gICAgaWYgKCEoa2V5IGluIGlnbm9yZSkgJiYgKCEoa2V5IGluIGIpIHx8IGFba2V5XSAhPT0gYltrZXldKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBmb3IgKGNvbnN0IGtleSBpbiBiKSB7XG4gICAgaWYgKCEoa2V5IGluIGlnbm9yZSkgJiYgIShrZXkgaW4gYSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG4iXX0=

@@ -1,48 +0,80 @@

import { Component, createElement } from 'react';
import PropTypes from 'prop-types';
import { EventManager } from 'mjolnir.js';
import { MapController as ViewportControls } from '@deck.gl/core';
import CURSOR from './utils/cursors';
const propTypes = {
viewportState: PropTypes.func,
state: PropTypes.object,
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = require("react");
var _propTypes = _interopRequireDefault(require("prop-types"));
var _mjolnir = require("mjolnir.js");
var _core = require("@deck.gl/core");
var _cursors = _interopRequireDefault(require("./utils/cursors"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return right[Symbol.hasInstance](left); } else { return left instanceof right; } }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _classCallCheck(instance, Constructor) { if (!_instanceof(instance, Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
var propTypes = {
viewportState: _propTypes.default.func,
state: _propTypes.default.object,
/** Viewport props */
/** The width of the map. */
width: PropTypes.number.isRequired,
width: _propTypes.default.number.isRequired,
/** The height of the map. */
height: PropTypes.number.isRequired,
height: _propTypes.default.number.isRequired,
/** The longitude of the center of the map. */
longitude: PropTypes.number.isRequired,
longitude: _propTypes.default.number.isRequired,
/** The latitude of the center of the map. */
latitude: PropTypes.number.isRequired,
latitude: _propTypes.default.number.isRequired,
/** The tile zoom level of the map. */
zoom: PropTypes.number.isRequired,
zoom: _propTypes.default.number.isRequired,
/** Specify the bearing of the viewport */
bearing: PropTypes.number,
bearing: _propTypes.default.number,
/** Specify the pitch of the viewport */
pitch: PropTypes.number,
pitch: _propTypes.default.number,
/** Altitude of the viewport camera. Default 1.5 "screen heights" */
// Note: Non-public API, see https://github.com/mapbox/mapbox-gl-js/issues/1137
altitude: PropTypes.number,
altitude: _propTypes.default.number,
// Camera position for FirstPersonViewport
position: PropTypes.array,
position: _propTypes.default.array,
/** Viewport constraints */
// Max zoom level
maxZoom: PropTypes.number,
maxZoom: _propTypes.default.number,
// Min zoom level
minZoom: PropTypes.number,
minZoom: _propTypes.default.number,
// Max pitch in degrees
maxPitch: PropTypes.number,
maxPitch: _propTypes.default.number,
// Min pitch in degrees
minPitch: PropTypes.number,
minPitch: _propTypes.default.number,

@@ -54,46 +86,47 @@ /**

*/
onViewportChange: PropTypes.func,
onViewportChange: _propTypes.default.func,
/** Viewport transition **/
// transition duration for viewport change
transitionDuration: PropTypes.number,
transitionDuration: _propTypes.default.number,
// an instance of ViewportTransitionInterpolator, can be used to perform custom transitions.
transitionInterpolator: PropTypes.object,
transitionInterpolator: _propTypes.default.object,
// type of interruption of current transition on update.
transitionInterruption: PropTypes.number,
transitionInterruption: _propTypes.default.number,
// easing function
transitionEasing: PropTypes.func,
transitionEasing: _propTypes.default.func,
// transition status update functions
onTransitionStart: PropTypes.func,
onTransitionInterrupt: PropTypes.func,
onTransitionEnd: PropTypes.func,
onTransitionStart: _propTypes.default.func,
onTransitionInterrupt: _propTypes.default.func,
onTransitionEnd: _propTypes.default.func,
/** Enables control event handling */
// Scroll to zoom
scrollZoom: PropTypes.bool,
scrollZoom: _propTypes.default.bool,
// Drag to pan
dragPan: PropTypes.bool,
dragPan: _propTypes.default.bool,
// Drag to rotate
dragRotate: PropTypes.bool,
dragRotate: _propTypes.default.bool,
// Double click to zoom
doubleClickZoom: PropTypes.bool,
doubleClickZoom: _propTypes.default.bool,
// Pinch to zoom / rotate
touchZoomRotate: PropTypes.bool,
touchZoomRotate: _propTypes.default.bool,
/** Accessor that returns a cursor style to show interactive state */
getCursor: PropTypes.func,
getCursor: _propTypes.default.func,
// A map control instance to replace the default map controls
// The object must expose one property: `events` as an array of subscribed
// event names; and two methods: `setState(state)` and `handle(event)`
controls: PropTypes.shape({
events: PropTypes.arrayOf(PropTypes.string),
handleEvent: PropTypes.func
controls: _propTypes.default.shape({
events: _propTypes.default.arrayOf(_propTypes.default.string),
handleEvent: _propTypes.default.func
})
};
const getDefaultCursor = ({
isDragging
}) => isDragging ? CURSOR.GRABBING : CURSOR.GRAB;
var getDefaultCursor = function getDefaultCursor(_ref) {
var isDragging = _ref.isDragging;
return isDragging ? _cursors.default.GRABBING : _cursors.default.GRAB;
};
const defaultProps = {
var defaultProps = {
onViewportChange: null,

@@ -107,66 +140,90 @@ scrollZoom: true,

};
export default class ViewportController extends Component {
constructor(props) {
super(props);
this.state = {
var ViewportController =
/*#__PURE__*/
function (_Component) {
_inherits(ViewportController, _Component);
function ViewportController(props) {
var _this;
_classCallCheck(this, ViewportController);
_this = _possibleConstructorReturn(this, (ViewportController.__proto__ || Object.getPrototypeOf(ViewportController)).call(this, props));
_this.state = {
isDragging: false // Whether the cursor is down
};
return _this;
}
componentDidMount() {
this._eventManager = new EventManager(this.eventCanvas); // If props.controls is not provided, fallback to default MapControls instance
// Cannot use defaultProps here because it needs to be per map instance
_createClass(ViewportController, [{
key: "componentDidMount",
value: function componentDidMount() {
this._eventManager = new _mjolnir.EventManager(this.eventCanvas); // If props.controls is not provided, fallback to default MapControls instance
// Cannot use defaultProps here because it needs to be per map instance
this._controls = this.props.controls || new ViewportControls(this.props.viewportState);
this._controls = this.props.controls || new _core.MapController(this.props.viewportState);
this._controls.setOptions(Object.assign({}, this.props, {
onStateChange: this._onInteractiveStateChange.bind(this),
eventManager: this._eventManager
}));
}
this._controls.setOptions(Object.assign({}, this.props, {
onStateChange: this._onInteractiveStateChange.bind(this),
eventManager: this._eventManager
}));
}
}, {
key: "componentWillUpdate",
value: function componentWillUpdate(nextProps) {
if (this._controls) {
this._controls.setOptions(nextProps);
}
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
this._eventManager.destroy();
}
}, {
key: "_onInteractiveStateChange",
value: function _onInteractiveStateChange(_ref2) {
var _ref2$isDragging = _ref2.isDragging,
isDragging = _ref2$isDragging === void 0 ? false : _ref2$isDragging;
componentWillUpdate(nextProps) {
if (this._controls) {
this._controls.setOptions(nextProps);
if (isDragging !== this.state.isDragging) {
this.setState({
isDragging: isDragging
});
}
}
}
}, {
key: "render",
value: function render() {
var _this2 = this;
componentWillUnmount() {
this._eventManager.destroy();
}
_onInteractiveStateChange({
isDragging = false
}) {
if (isDragging !== this.state.isDragging) {
this.setState({
isDragging
});
var _this$props = this.props,
width = _this$props.width,
height = _this$props.height,
getCursor = _this$props.getCursor;
var eventCanvasStyle = {
width: width,
height: height,
position: 'relative',
cursor: getCursor(this.state)
};
return (0, _react.createElement)('div', {
key: 'map-controls',
ref: function ref(c) {
return _this2.eventCanvas = c;
},
style: eventCanvasStyle
}, this.props.children);
}
}
}]);
render() {
const {
width,
height,
getCursor
} = this.props;
const eventCanvasStyle = {
width,
height,
position: 'relative',
cursor: getCursor(this.state)
};
return createElement('div', {
key: 'map-controls',
ref: c => this.eventCanvas = c,
style: eventCanvasStyle
}, this.props.children);
}
return ViewportController;
}(_react.Component);
}
exports.default = ViewportController;
ViewportController.displayName = 'ViewportController';
ViewportController.propTypes = propTypes;
ViewportController.defaultProps = defaultProps;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92aWV3cG9ydC1jb250cm9sbGVyLmpzIl0sIm5hbWVzIjpbIkNvbXBvbmVudCIsImNyZWF0ZUVsZW1lbnQiLCJQcm9wVHlwZXMiLCJFdmVudE1hbmFnZXIiLCJNYXBDb250cm9sbGVyIiwiVmlld3BvcnRDb250cm9scyIsIkNVUlNPUiIsInByb3BUeXBlcyIsInZpZXdwb3J0U3RhdGUiLCJmdW5jIiwic3RhdGUiLCJvYmplY3QiLCJ3aWR0aCIsIm51bWJlciIsImlzUmVxdWlyZWQiLCJoZWlnaHQiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsInpvb20iLCJiZWFyaW5nIiwicGl0Y2giLCJhbHRpdHVkZSIsInBvc2l0aW9uIiwiYXJyYXkiLCJtYXhab29tIiwibWluWm9vbSIsIm1heFBpdGNoIiwibWluUGl0Y2giLCJvblZpZXdwb3J0Q2hhbmdlIiwidHJhbnNpdGlvbkR1cmF0aW9uIiwidHJhbnNpdGlvbkludGVycG9sYXRvciIsInRyYW5zaXRpb25JbnRlcnJ1cHRpb24iLCJ0cmFuc2l0aW9uRWFzaW5nIiwib25UcmFuc2l0aW9uU3RhcnQiLCJvblRyYW5zaXRpb25JbnRlcnJ1cHQiLCJvblRyYW5zaXRpb25FbmQiLCJzY3JvbGxab29tIiwiYm9vbCIsImRyYWdQYW4iLCJkcmFnUm90YXRlIiwiZG91YmxlQ2xpY2tab29tIiwidG91Y2hab29tUm90YXRlIiwiZ2V0Q3Vyc29yIiwiY29udHJvbHMiLCJzaGFwZSIsImV2ZW50cyIsImFycmF5T2YiLCJzdHJpbmciLCJoYW5kbGVFdmVudCIsImdldERlZmF1bHRDdXJzb3IiLCJpc0RyYWdnaW5nIiwiR1JBQkJJTkciLCJHUkFCIiwiZGVmYXVsdFByb3BzIiwiVmlld3BvcnRDb250cm9sbGVyIiwiY29uc3RydWN0b3IiLCJwcm9wcyIsImNvbXBvbmVudERpZE1vdW50IiwiX2V2ZW50TWFuYWdlciIsImV2ZW50Q2FudmFzIiwiX2NvbnRyb2xzIiwic2V0T3B0aW9ucyIsIk9iamVjdCIsImFzc2lnbiIsIm9uU3RhdGVDaGFuZ2UiLCJfb25JbnRlcmFjdGl2ZVN0YXRlQ2hhbmdlIiwiYmluZCIsImV2ZW50TWFuYWdlciIsImNvbXBvbmVudFdpbGxVcGRhdGUiLCJuZXh0UHJvcHMiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImRlc3Ryb3kiLCJzZXRTdGF0ZSIsInJlbmRlciIsImV2ZW50Q2FudmFzU3R5bGUiLCJjdXJzb3IiLCJrZXkiLCJyZWYiLCJjIiwic3R5bGUiLCJjaGlsZHJlbiIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxTQUFSLEVBQW1CQyxhQUFuQixRQUF1QyxPQUF2QztBQUNBLE9BQU9DLFNBQVAsTUFBc0IsWUFBdEI7QUFFQSxTQUFRQyxZQUFSLFFBQTJCLFlBQTNCO0FBQ0EsU0FBUUMsaUJBQWlCQyxnQkFBekIsUUFBZ0QsZUFBaEQ7QUFFQSxPQUFPQyxNQUFQLE1BQW1CLGlCQUFuQjtBQUVBLE1BQU1DLFlBQVk7QUFDaEJDLGlCQUFlTixVQUFVTyxJQURUO0FBRWhCQyxTQUFPUixVQUFVUyxNQUZEOztBQUloQjs7QUFDQTtBQUNBQyxTQUFPVixVQUFVVyxNQUFWLENBQWlCQyxVQU5SOztBQU9oQjtBQUNBQyxVQUFRYixVQUFVVyxNQUFWLENBQWlCQyxVQVJUOztBQVNoQjtBQUNBRSxhQUFXZCxVQUFVVyxNQUFWLENBQWlCQyxVQVZaOztBQVdoQjtBQUNBRyxZQUFVZixVQUFVVyxNQUFWLENBQWlCQyxVQVpYOztBQWFoQjtBQUNBSSxRQUFNaEIsVUFBVVcsTUFBVixDQUFpQkMsVUFkUDs7QUFlaEI7QUFDQUssV0FBU2pCLFVBQVVXLE1BaEJIOztBQWlCaEI7QUFDQU8sU0FBT2xCLFVBQVVXLE1BbEJEOztBQW1CaEI7QUFDQTtBQUNBUSxZQUFVbkIsVUFBVVcsTUFyQko7QUFzQmhCO0FBQ0FTLFlBQVVwQixVQUFVcUIsS0F2Qko7O0FBeUJoQjtBQUNBO0FBQ0FDLFdBQVN0QixVQUFVVyxNQTNCSDtBQTRCaEI7QUFDQVksV0FBU3ZCLFVBQVVXLE1BN0JIO0FBOEJo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QUFoQixRQUE2QixLQUFLYyxLQUF4QztBQUVBLFVBQU1rQixtQkFBbUI7QUFDdkI5RCxXQUR1QjtBQUV2QkcsWUFGdUI7QUFHdkJPLGdCQUFVLFVBSGE7QUFJdkJxRCxjQUFRakMsVUFBVSxLQUFLaEMsS0FBZjtBQUplLEtBQXpCO0FBT0EsV0FBT1QsY0FDTCxLQURLLEVBRUw7QUFDRTJFLFdBQUssY0FEUDtBQUVFQyxXQUFLQyxLQUFNLEtBQUtuQixXQUFMLEdBQW1CbUIsQ0FGaEM7QUFHRUMsYUFBT0w7QUFIVCxLQUZLLEVBT0wsS0FBS2xCLEtBQUwsQ0FBV3dCLFFBUE4sQ0FBUDtBQVNEOztBQTNEdUQ7QUE4RDFEMUIsbUJBQW1CMkIsV0FBbkIsR0FBaUMsb0JBQWpDO0FBQ0EzQixtQkFBbUIvQyxTQUFuQixHQUErQkEsU0FBL0I7QUFDQStDLG1CQUFtQkQsWUFBbkIsR0FBa0NBLFlBQWxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGNyZWF0ZUVsZW1lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7RXZlbnRNYW5hZ2VyfSBmcm9tICdtam9sbmlyLmpzJztcbmltcG9ydCB7TWFwQ29udHJvbGxlciBhcyBWaWV3cG9ydENvbnRyb2xzfSBmcm9tICdAZGVjay5nbC9jb3JlJztcblxuaW1wb3J0IENVUlNPUiBmcm9tICcuL3V0aWxzL2N1cnNvcnMnO1xuXG5jb25zdCBwcm9wVHlwZXMgPSB7XG4gIHZpZXdwb3J0U3RhdGU6IFByb3BUeXBlcy5mdW5jLFxuICBzdGF0ZTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAvKiogVmlld3BvcnQgcHJvcHMgKi9cbiAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgbWFwLiAqL1xuICB3aWR0aDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICAvKiogVGhlIGhlaWdodCBvZiB0aGUgbWFwLiAqL1xuICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgLyoqIFRoZSBsb25naXR1ZGUgb2YgdGhlIGNlbnRlciBvZiB0aGUgbWFwLiAqL1xuICBsb25naXR1ZGU6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgLyoqIFRoZSBsYXRpdHVkZSBvZiB0aGUgY2VudGVyIG9mIHRoZSBtYXAuICovXG4gIGxhdGl0dWRlOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIC8qKiBUaGUgdGlsZSB6b29tIGxldmVsIG9mIHRoZSBtYXAuICovXG4gIHpvb206IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgLyoqIFNwZWNpZnkgdGhlIGJlYXJpbmcgb2YgdGhlIHZpZXdwb3J0ICovXG4gIGJlYXJpbmc6IFByb3BUeXBlcy5udW1iZXIsXG4gIC8qKiBTcGVjaWZ5IHRoZSBwaXRjaCBvZiB0aGUgdmlld3BvcnQgKi9cbiAgcGl0Y2g6IFByb3BUeXBlcy5udW1iZXIsXG4gIC8qKiBBbHRpdHVkZSBvZiB0aGUgdmlld3BvcnQgY2FtZXJhLiBEZWZhdWx0IDEuNSBcInNjcmVlbiBoZWlnaHRzXCIgKi9cbiAgLy8gTm90ZTogTm9uLXB1YmxpYyBBUEksIHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWFwYm94L21hcGJveC1nbC1qcy9pc3N1ZXMvMTEzN1xuICBhbHRpdHVkZTogUHJvcFR5cGVzLm51bWJlcixcbiAgLy8gQ2FtZXJhIHBvc2l0aW9uIGZvciBGaXJzdFBlcnNvblZpZXdwb3J0XG4gIHBvc2l0aW9uOiBQcm9wVHlwZXMuYXJyYXksXG5cbiAgLyoqIFZpZXdwb3J0IGNvbnN0cmFpbnRzICovXG4gIC8vIE1heCB6b29tIGxldmVsXG4gIG1heFpvb206IFByb3BUeXBlcy5udW1iZXIsXG4gIC8vIE1pbiB6b29tIGxldmVsXG4gIG1pblpvb206IFByb3BUeXBlcy5udW1iZXIsXG4gIC8vIE1heCBwaXRjaCBpbiBkZWdyZWVzXG4gIG1heFBpdGNoOiBQcm9wVHlwZXMubnVtYmVyLFxuICAvLyBNaW4gcGl0Y2ggaW4gZGVncmVlc1xuICBtaW5QaXRjaDogUHJvcFR5cGVzLm51bWJlcixcblxuICAvKipcbiAgICogYG9uVmlld3BvcnRDaGFuZ2VgIGNhbGxiYWNrIGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgaW50ZXJhY3RlZCB3aXRoIHRoZVxuICAgKiBtYXAuIFRoZSBvYmplY3QgcGFzc2VkIHRvIHRoZSBjYWxsYmFjayBjb250YWlucyB2aWV3cG9ydCBwcm9wZXJ0aWVzXG4gICAqIHN1Y2ggYXMgYGxvbmdpdHVkZWAsIGBsYXRpdHVkZWAsIGB6b29tYCBldGMuXG4gICAqL1xuICBvblZpZXdwb3J0Q2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcblxuICAvKiogVmlld3BvcnQgdHJhbnNpdGlvbiAqKi9cbiAgLy8gdHJhbnNpdGlvbiBkdXJhdGlvbiBmb3Igdmlld3BvcnQgY2hhbmdlXG4gIHRyYW5zaXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgLy8gYW4gaW5zdGFuY2Ugb2YgVmlld3BvcnRUcmFuc2l0aW9uSW50ZXJwb2xhdG9yLCBjYW4gYmUgdXNlZCB0byBwZXJmb3JtIGN1c3RvbSB0cmFuc2l0aW9ucy5cbiAgdHJhbnNpdGlvbkludGVycG9sYXRvcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgLy8gdHlwZSBvZiBpbnRlcnJ1cHRpb24gb2YgY3VycmVudCB0cmFuc2l0aW9uIG9uIHVwZGF0ZS5cbiAgdHJhbnNpdGlvbkludGVycnVwdGlvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgLy8gZWFzaW5nIGZ1bmN0aW9uXG4gIHRyYW5zaXRpb25FYXNpbmc6IFByb3BUeXBlcy5mdW5jLFxuICAvLyB0cmFuc2l0aW9uIHN0YXR1cyB1cGRhdGUgZnVuY3Rpb25zXG4gIG9uVHJhbnNpdGlvblN0YXJ0OiBQcm9wVHlwZXMuZnVuYyxcbiAgb25UcmFuc2l0aW9uSW50ZXJydXB0OiBQcm9wVHlwZXMuZnVuYyxcbiAgb25UcmFuc2l0aW9uRW5kOiBQcm9wVHlwZXMuZnVuYyxcblxuICAvKiogRW5hYmxlcyBjb250cm9sIGV2ZW50IGhhbmRsaW5nICovXG4gIC8vIFNjcm9sbCB0byB6b29tXG4gIHNjcm9sbFpvb206IFByb3BUeXBlcy5ib29sLFxuICAvLyBEcmFnIHRvIHBhblxuICBkcmFnUGFuOiBQcm9wVHlwZXMuYm9vbCxcbiAgLy8gRHJhZyB0byByb3RhdGVcbiAgZHJhZ1JvdGF0ZTogUHJvcFR5cGVzLmJvb2wsXG4gIC8vIERvdWJsZSBjbGljayB0byB6b29tXG4gIGRvdWJsZUNsaWNrWm9vbTogUHJvcFR5cGVzLmJvb2wsXG4gIC8vIFBpbmNoIHRvIHpvb20gLyByb3RhdGVcbiAgdG91Y2hab29tUm90YXRlOiBQcm9wVHlwZXMuYm9vbCxcblxuICAvKiogQWNjZXNzb3IgdGhhdCByZXR1cm5zIGEgY3Vyc29yIHN0eWxlIHRvIHNob3cgaW50ZXJhY3RpdmUgc3RhdGUgKi9cbiAgZ2V0Q3Vyc29yOiBQcm9wVHlwZXMuZnVuYyxcblxuICAvLyBBIG1hcCBjb250cm9sIGluc3RhbmNlIHRvIHJlcGxhY2UgdGhlIGRlZmF1bHQgbWFwIGNvbnRyb2xzXG4gIC8vIFRoZSBvYmplY3QgbXVzdCBleHBvc2Ugb25lIHByb3BlcnR5OiBgZXZlbnRzYCBhcyBhbiBhcnJheSBvZiBzdWJzY3JpYmVkXG4gIC8vIGV2ZW50IG5hbWVzOyBhbmQgdHdvIG1ldGhvZHM6IGBzZXRTdGF0ZShzdGF0ZSlgIGFuZCBgaGFuZGxlKGV2ZW50KWBcbiAgY29udHJvbHM6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgZXZlbnRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICBoYW5kbGVFdmVudDogUHJvcFR5cGVzLmZ1bmNcbiAgfSlcbn07XG5cbmNvbnN0IGdldERlZmF1bHRDdXJzb3IgPSAoe2lzRHJhZ2dpbmd9KSA9PiAoaXNEcmFnZ2luZyA/IENVUlNPUi5HUkFCQklORyA6IENVUlNPUi5HUkFCKTtcblxuY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBvblZpZXdwb3J0Q2hhbmdlOiBudWxsLFxuXG4gIHNjcm9sbFpvb206IHRydWUsXG4gIGRyYWdQYW46IHRydWUsXG4gIGRyYWdSb3RhdGU6IHRydWUsXG4gIGRvdWJsZUNsaWNrWm9vbTogdHJ1ZSxcbiAgdG91Y2hab29tUm90YXRlOiB0cnVlLFxuXG4gIGdldEN1cnNvcjogZ2V0RGVmYXVsdEN1cnNvclxufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmlld3BvcnRDb250cm9sbGVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNEcmFnZ2luZzogZmFsc2UgLy8gV2hldGhlciB0aGUgY3Vyc29yIGlzIGRvd25cbiAgICB9O1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5fZXZlbnRNYW5hZ2VyID0gbmV3IEV2ZW50TWFuYWdlcih0aGlzLmV2ZW50Q2FudmFzKTtcblxuICAgIC8vIElmIHByb3BzLmNvbnRyb2xzIGlzIG5vdCBwcm92aWRlZCwgZmFsbGJhY2sgdG8gZGVmYXVsdCBNYXBDb250cm9scyBpbnN0YW5jZVxuICAgIC8vIENhbm5vdCB1c2UgZGVmYXVsdFByb3BzIGhlcmUgYmVjYXVzZSBpdCBuZWVkcyB0byBiZSBwZXIgbWFwIGluc3RhbmNlXG4gICAgdGhpcy5fY29udHJvbHMgPSB0aGlzLnByb3BzLmNvbnRyb2xzIHx8IG5ldyBWaWV3cG9ydENvbnRyb2xzKHRoaXMucHJvcHMudmlld3BvcnRTdGF0ZSk7XG5cbiAgICB0aGlzLl9jb250cm9scy5zZXRPcHRpb25zKFxuICAgICAgT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5wcm9wcywge1xuICAgICAgICBvblN0YXRlQ2hhbmdlOiB0aGlzLl9vbkludGVyYWN0aXZlU3RhdGVDaGFuZ2UuYmluZCh0aGlzKSxcbiAgICAgICAgZXZlbnRNYW5hZ2VyOiB0aGlzLl9ldmVudE1hbmFnZXJcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgaWYgKHRoaXMuX2NvbnRyb2xzKSB7XG4gICAgICB0aGlzLl9jb250cm9scy5zZXRPcHRpb25zKG5leHRQcm9wcyk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fZXZlbnRNYW5hZ2VyLmRlc3Ryb3koKTtcbiAgfVxuXG4gIF9vbkludGVyYWN0aXZlU3RhdGVDaGFuZ2Uoe2lzRHJhZ2dpbmcgPSBmYWxzZX0pIHtcbiAgICBpZiAoaXNEcmFnZ2luZyAhPT0gdGhpcy5zdGF0ZS5pc0RyYWdnaW5nKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtpc0RyYWdnaW5nfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHt3aWR0aCwgaGVpZ2h0LCBnZXRDdXJzb3J9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGV2ZW50Q2FudmFzU3R5bGUgPSB7XG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgY3Vyc29yOiBnZXRDdXJzb3IodGhpcy5zdGF0ZSlcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoXG4gICAgICAnZGl2JyxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnbWFwLWNvbnRyb2xzJyxcbiAgICAgICAgcmVmOiBjID0+ICh0aGlzLmV2ZW50Q2FudmFzID0gYyksXG4gICAgICAgIHN0eWxlOiBldmVudENhbnZhc1N0eWxlXG4gICAgICB9LFxuICAgICAgdGhpcy5wcm9wcy5jaGlsZHJlblxuICAgICk7XG4gIH1cbn1cblxuVmlld3BvcnRDb250cm9sbGVyLmRpc3BsYXlOYW1lID0gJ1ZpZXdwb3J0Q29udHJvbGxlcic7XG5WaWV3cG9ydENvbnRyb2xsZXIucHJvcFR5cGVzID0gcHJvcFR5cGVzO1xuVmlld3BvcnRDb250cm9sbGVyLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92aWV3cG9ydC1jb250cm9sbGVyLmpzIl0sIm5hbWVzIjpbInByb3BUeXBlcyIsInZpZXdwb3J0U3RhdGUiLCJQcm9wVHlwZXMiLCJmdW5jIiwic3RhdGUiLCJvYmplY3QiLCJ3aWR0aCIsIm51bWJlciIsImlzUmVxdWlyZWQiLCJoZWlnaHQiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsInpvb20iLCJiZWFyaW5nIiwicGl0Y2giLCJhbHRpdHVkZSIsInBvc2l0aW9uIiwiYXJyYXkiLCJtYXhab29tIiwibWluWm9vbSIsIm1heFBpdGNoIiwibWluUGl0Y2giLCJvblZpZXdwb3J0Q2hhbmdlIiwidHJhbnNpdGlvbkR1cmF0aW9uIiwidHJhbnNpdGlvbkludGVycG9sYXRvciIsInRyYW5zaXRpb25JbnRlcnJ1cHRpb24iLCJ0cmFuc2l0aW9uRWFzaW5nIiwib25UcmFuc2l0aW9uU3RhcnQiLCJvblRyYW5zaXRpb25JbnRlcnJ1cHQiLCJvblRyYW5zaXRpb25FbmQiLCJzY3JvbGxab29tIiwiYm9vbCIsImRyYWdQYW4iLCJkcmFnUm90YXRlIiwiZG91YmxlQ2xpY2tab29tIiwidG91Y2hab29tUm90YXRlIiwiZ2V0Q3Vyc29yIiwiY29udHJvbHMiLCJzaGFwZSIsImV2ZW50cyIsImFycmF5T2YiLCJzdHJpbmciLCJoYW5kbGVFdmVudCIsImdldERlZmF1bHRDdXJzb3IiLCJpc0RyYWdnaW5nIiwiQ1VSU09SIiwiR1JBQkJJTkciLCJHUkFCIiwiZGVmYXVsdFByb3BzIiwiVmlld3BvcnRDb250cm9sbGVyIiwicHJvcHMiLCJfZXZlbnRNYW5hZ2VyIiwiRXZlbnRNYW5hZ2VyIiwiZXZlbnRDYW52YXMiLCJfY29udHJvbHMiLCJWaWV3cG9ydENvbnRyb2xzIiwic2V0T3B0aW9ucyIsIk9iamVjdCIsImFzc2lnbiIsIm9uU3RhdGVDaGFuZ2UiLCJfb25JbnRlcmFjdGl2ZVN0YXRlQ2hhbmdlIiwiYmluZCIsImV2ZW50TWFuYWdlciIsIm5leHRQcm9wcyIsImRlc3Ryb3kiLCJzZXRTdGF0ZSIsImV2ZW50Q2FudmFzU3R5bGUiLCJjdXJzb3IiLCJrZXkiLCJyZWYiLCJjIiwic3R5bGUiLCJjaGlsZHJlbiIsIkNvbXBvbmVudCIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxZQUFZO0FBQ2hCQyxpQkFBZUMsbUJBQVVDLElBRFQ7QUFFaEJDLFNBQU9GLG1CQUFVRyxNQUZEOztBQUloQjs7QUFDQTtBQUNBQyxTQUFPSixtQkFBVUssTUFBVixDQUFpQkMsVUFOUjs7QUFPaEI7QUFDQUMsVUFBUVAsbUJBQVVLLE1BQVYsQ0FBaUJDLFVBUlQ7O0FBU2hCO0FBQ0FFLGFBQVdSLG1CQUFVSyxNQUFWLENBQWlCQyxVQVZaOztBQVdoQjtBQUNBRyxZQUFVVCxtQkFBVUssTUFBVixDQUFpQkMsVUFaWDs7QUFhaEI7QUFDQUksUUFBTVYsbUJBQVVLLE1BQVYsQ0FBaUJDLFVBZFA7O0FBZWhCO0FBQ0FLLFdBQVNYLG1CQUFVSyxNQWhCSDs7QUFpQmhCO0FBQ0FPLFNBQU9aLG1CQUFVSyxNQWxCRDs7QUFtQmhCO0FBQ0E7QUFDQVEsWUFBVWIsbUJBQVVLLE1BckJKO0FBc0JoQjtBQUNBUyxZQUFVZCxtQkFBVWUsS0F2Qko7O0FBeUJoQjtBQUNBO0FBQ0FDLFdBQVNoQixtQkFBVUssTUEzQkg7QUE0QmhCO0FBQ0FZLFdBQVNqQixtQkFBVUssTUE3Qkg7QUE4QmhCO0FBQ0FhLFlBQVVsQixtQkFBVUssTUEvQko7QUFnQ2hCO0FBQ0FjLFlBQVVuQixtQkFBVUssTUFqQ0o7O0FBbUNoQjs7Ozs7QUFLQWUsb0JBQWtCcEIsbUJBQVVDLElBeENaOztBQTBDaEI7QUFDQTtBQUNBb0Isc0JBQW9CckIsbUJBQVVLLE1BNUNkO0FBNkNoQjtBQUNBaUIsMEJBQXdCdEIsbUJBQVVHLE1BOUNsQjtBQStDaEI7QUFDQW9CLDBCQUF3QnZCLG1CQUFVSyxNQWhEbEI7QUFp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QSxhQUFPLDBCQUNMLEtBREssRUFFTDtBQUNFZ0UsYUFBSyxjQURQO0FBRUVDLGFBQUs7QUFBQSxpQkFBTSxPQUFLaEIsV0FBTCxHQUFtQmlCLENBQXpCO0FBQUEsU0FGUDtBQUdFQyxlQUFPTDtBQUhULE9BRkssRUFPTCxLQUFLaEIsS0FBTCxDQUFXc0IsUUFQTixDQUFQO0FBU0Q7Ozs7RUEzRDZDQyxnQjs7O0FBOERoRHhCLG1CQUFtQnlCLFdBQW5CLEdBQWlDLG9CQUFqQztBQUNBekIsbUJBQW1CakQsU0FBbkIsR0FBK0JBLFNBQS9CO0FBQ0FpRCxtQkFBbUJELFlBQW5CLEdBQWtDQSxZQUFsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBjcmVhdGVFbGVtZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQge0V2ZW50TWFuYWdlcn0gZnJvbSAnbWpvbG5pci5qcyc7XG5pbXBvcnQge01hcENvbnRyb2xsZXIgYXMgVmlld3BvcnRDb250cm9sc30gZnJvbSAnQGRlY2suZ2wvY29yZSc7XG5cbmltcG9ydCBDVVJTT1IgZnJvbSAnLi91dGlscy9jdXJzb3JzJztcblxuY29uc3QgcHJvcFR5cGVzID0ge1xuICB2aWV3cG9ydFN0YXRlOiBQcm9wVHlwZXMuZnVuYyxcbiAgc3RhdGU6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgLyoqIFZpZXdwb3J0IHByb3BzICovXG4gIC8qKiBUaGUgd2lkdGggb2YgdGhlIG1hcC4gKi9cbiAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgLyoqIFRoZSBoZWlnaHQgb2YgdGhlIG1hcC4gKi9cbiAgaGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIC8qKiBUaGUgbG9uZ2l0dWRlIG9mIHRoZSBjZW50ZXIgb2YgdGhlIG1hcC4gKi9cbiAgbG9uZ2l0dWRlOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIC8qKiBUaGUgbGF0aXR1ZGUgb2YgdGhlIGNlbnRlciBvZiB0aGUgbWFwLiAqL1xuICBsYXRpdHVkZTogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICAvKiogVGhlIHRpbGUgem9vbSBsZXZlbCBvZiB0aGUgbWFwLiAqL1xuICB6b29tOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIC8qKiBTcGVjaWZ5IHRoZSBiZWFyaW5nIG9mIHRoZSB2aWV3cG9ydCAqL1xuICBiZWFyaW5nOiBQcm9wVHlwZXMubnVtYmVyLFxuICAvKiogU3BlY2lmeSB0aGUgcGl0Y2ggb2YgdGhlIHZpZXdwb3J0ICovXG4gIHBpdGNoOiBQcm9wVHlwZXMubnVtYmVyLFxuICAvKiogQWx0aXR1ZGUgb2YgdGhlIHZpZXdwb3J0IGNhbWVyYS4gRGVmYXVsdCAxLjUgXCJzY3JlZW4gaGVpZ2h0c1wiICovXG4gIC8vIE5vdGU6IE5vbi1wdWJsaWMgQVBJLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21hcGJveC9tYXBib3gtZ2wtanMvaXNzdWVzLzExMzdcbiAgYWx0aXR1ZGU6IFByb3BUeXBlcy5udW1iZXIsXG4gIC8vIENhbWVyYSBwb3NpdGlvbiBmb3IgRmlyc3RQZXJzb25WaWV3cG9ydFxuICBwb3NpdGlvbjogUHJvcFR5cGVzLmFycmF5LFxuXG4gIC8qKiBWaWV3cG9ydCBjb25zdHJhaW50cyAqL1xuICAvLyBNYXggem9vbSBsZXZlbFxuICBtYXhab29tOiBQcm9wVHlwZXMubnVtYmVyLFxuICAvLyBNaW4gem9vbSBsZXZlbFxuICBtaW5ab29tOiBQcm9wVHlwZXMubnVtYmVyLFxuICAvLyBNYXggcGl0Y2ggaW4gZGVncmVlc1xuICBtYXhQaXRjaDogUHJvcFR5cGVzLm51bWJlcixcbiAgLy8gTWluIHBpdGNoIGluIGRlZ3JlZXNcbiAgbWluUGl0Y2g6IFByb3BUeXBlcy5udW1iZXIsXG5cbiAgLyoqXG4gICAqIGBvblZpZXdwb3J0Q2hhbmdlYCBjYWxsYmFjayBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIGludGVyYWN0ZWQgd2l0aCB0aGVcbiAgICogbWFwLiBUaGUgb2JqZWN0IHBhc3NlZCB0byB0aGUgY2FsbGJhY2sgY29udGFpbnMgdmlld3BvcnQgcHJvcGVydGllc1xuICAgKiBzdWNoIGFzIGBsb25naXR1ZGVgLCBgbGF0aXR1ZGVgLCBgem9vbWAgZXRjLlxuICAgKi9cbiAgb25WaWV3cG9ydENoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG5cbiAgLyoqIFZpZXdwb3J0IHRyYW5zaXRpb24gKiovXG4gIC8vIHRyYW5zaXRpb24gZHVyYXRpb24gZm9yIHZpZXdwb3J0IGNoYW5nZVxuICB0cmFuc2l0aW9uRHVyYXRpb246IFByb3BUeXBlcy5udW1iZXIsXG4gIC8vIGFuIGluc3RhbmNlIG9mIFZpZXdwb3J0VHJhbnNpdGlvbkludGVycG9sYXRvciwgY2FuIGJlIHVzZWQgdG8gcGVyZm9ybSBjdXN0b20gdHJhbnNpdGlvbnMuXG4gIHRyYW5zaXRpb25JbnRlcnBvbGF0b3I6IFByb3BUeXBlcy5vYmplY3QsXG4gIC8vIHR5cGUgb2YgaW50ZXJydXB0aW9uIG9mIGN1cnJlbnQgdHJhbnNpdGlvbiBvbiB1cGRhdGUuXG4gIHRyYW5zaXRpb25JbnRlcnJ1cHRpb246IFByb3BUeXBlcy5udW1iZXIsXG4gIC8vIGVhc2luZyBmdW5jdGlvblxuICB0cmFuc2l0aW9uRWFzaW5nOiBQcm9wVHlwZXMuZnVuYyxcbiAgLy8gdHJhbnNpdGlvbiBzdGF0dXMgdXBkYXRlIGZ1bmN0aW9uc1xuICBvblRyYW5zaXRpb25TdGFydDogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uVHJhbnNpdGlvbkludGVycnVwdDogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uVHJhbnNpdGlvbkVuZDogUHJvcFR5cGVzLmZ1bmMsXG5cbiAgLyoqIEVuYWJsZXMgY29udHJvbCBldmVudCBoYW5kbGluZyAqL1xuICAvLyBTY3JvbGwgdG8gem9vbVxuICBzY3JvbGxab29tOiBQcm9wVHlwZXMuYm9vbCxcbiAgLy8gRHJhZyB0byBwYW5cbiAgZHJhZ1BhbjogUHJvcFR5cGVzLmJvb2wsXG4gIC8vIERyYWcgdG8gcm90YXRlXG4gIGRyYWdSb3RhdGU6IFByb3BUeXBlcy5ib29sLFxuICAvLyBEb3VibGUgY2xpY2sgdG8gem9vbVxuICBkb3VibGVDbGlja1pvb206IFByb3BUeXBlcy5ib29sLFxuICAvLyBQaW5jaCB0byB6b29tIC8gcm90YXRlXG4gIHRvdWNoWm9vbVJvdGF0ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgLyoqIEFjY2Vzc29yIHRoYXQgcmV0dXJucyBhIGN1cnNvciBzdHlsZSB0byBzaG93IGludGVyYWN0aXZlIHN0YXRlICovXG4gIGdldEN1cnNvcjogUHJvcFR5cGVzLmZ1bmMsXG5cbiAgLy8gQSBtYXAgY29udHJvbCBpbnN0YW5jZSB0byByZXBsYWNlIHRoZSBkZWZhdWx0IG1hcCBjb250cm9sc1xuICAvLyBUaGUgb2JqZWN0IG11c3QgZXhwb3NlIG9uZSBwcm9wZXJ0eTogYGV2ZW50c2AgYXMgYW4gYXJyYXkgb2Ygc3Vic2NyaWJlZFxuICAvLyBldmVudCBuYW1lczsgYW5kIHR3byBtZXRob2RzOiBgc2V0U3RhdGUoc3RhdGUpYCBhbmQgYGhhbmRsZShldmVudClgXG4gIGNvbnRyb2xzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIGV2ZW50czogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgaGFuZGxlRXZlbnQ6IFByb3BUeXBlcy5mdW5jXG4gIH0pXG59O1xuXG5jb25zdCBnZXREZWZhdWx0Q3Vyc29yID0gKHtpc0RyYWdnaW5nfSkgPT4gKGlzRHJhZ2dpbmcgPyBDVVJTT1IuR1JBQkJJTkcgOiBDVVJTT1IuR1JBQik7XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgb25WaWV3cG9ydENoYW5nZTogbnVsbCxcblxuICBzY3JvbGxab29tOiB0cnVlLFxuICBkcmFnUGFuOiB0cnVlLFxuICBkcmFnUm90YXRlOiB0cnVlLFxuICBkb3VibGVDbGlja1pvb206IHRydWUsXG4gIHRvdWNoWm9vbVJvdGF0ZTogdHJ1ZSxcblxuICBnZXRDdXJzb3I6IGdldERlZmF1bHRDdXJzb3Jcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZpZXdwb3J0Q29udHJvbGxlciBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGlzRHJhZ2dpbmc6IGZhbHNlIC8vIFdoZXRoZXIgdGhlIGN1cnNvciBpcyBkb3duXG4gICAgfTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuX2V2ZW50TWFuYWdlciA9IG5ldyBFdmVudE1hbmFnZXIodGhpcy5ldmVudENhbnZhcyk7XG5cbiAgICAvLyBJZiBwcm9wcy5jb250cm9scyBpcyBub3QgcHJvdmlkZWQsIGZhbGxiYWNrIHRvIGRlZmF1bHQgTWFwQ29udHJvbHMgaW5zdGFuY2VcbiAgICAvLyBDYW5ub3QgdXNlIGRlZmF1bHRQcm9wcyBoZXJlIGJlY2F1c2UgaXQgbmVlZHMgdG8gYmUgcGVyIG1hcCBpbnN0YW5jZVxuICAgIHRoaXMuX2NvbnRyb2xzID0gdGhpcy5wcm9wcy5jb250cm9scyB8fCBuZXcgVmlld3BvcnRDb250cm9scyh0aGlzLnByb3BzLnZpZXdwb3J0U3RhdGUpO1xuXG4gICAgdGhpcy5fY29udHJvbHMuc2V0T3B0aW9ucyhcbiAgICAgIE9iamVjdC5hc3NpZ24oe30sIHRoaXMucHJvcHMsIHtcbiAgICAgICAgb25TdGF0ZUNoYW5nZTogdGhpcy5fb25JbnRlcmFjdGl2ZVN0YXRlQ2hhbmdlLmJpbmQodGhpcyksXG4gICAgICAgIGV2ZW50TWFuYWdlcjogdGhpcy5fZXZlbnRNYW5hZ2VyXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsVXBkYXRlKG5leHRQcm9wcykge1xuICAgIGlmICh0aGlzLl9jb250cm9scykge1xuICAgICAgdGhpcy5fY29udHJvbHMuc2V0T3B0aW9ucyhuZXh0UHJvcHMpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMuX2V2ZW50TWFuYWdlci5kZXN0cm95KCk7XG4gIH1cblxuICBfb25JbnRlcmFjdGl2ZVN0YXRlQ2hhbmdlKHtpc0RyYWdnaW5nID0gZmFsc2V9KSB7XG4gICAgaWYgKGlzRHJhZ2dpbmcgIT09IHRoaXMuc3RhdGUuaXNEcmFnZ2luZykge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7aXNEcmFnZ2luZ30pO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7d2lkdGgsIGhlaWdodCwgZ2V0Q3Vyc29yfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBldmVudENhbnZhc1N0eWxlID0ge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgIGN1cnNvcjogZ2V0Q3Vyc29yKHRoaXMuc3RhdGUpXG4gICAgfTtcblxuICAgIHJldHVybiBjcmVhdGVFbGVtZW50KFxuICAgICAgJ2RpdicsXG4gICAgICB7XG4gICAgICAgIGtleTogJ21hcC1jb250cm9scycsXG4gICAgICAgIHJlZjogYyA9PiAodGhpcy5ldmVudENhbnZhcyA9IGMpLFxuICAgICAgICBzdHlsZTogZXZlbnRDYW52YXNTdHlsZVxuICAgICAgfSxcbiAgICAgIHRoaXMucHJvcHMuY2hpbGRyZW5cbiAgICApO1xuICB9XG59XG5cblZpZXdwb3J0Q29udHJvbGxlci5kaXNwbGF5TmFtZSA9ICdWaWV3cG9ydENvbnRyb2xsZXInO1xuVmlld3BvcnRDb250cm9sbGVyLnByb3BUeXBlcyA9IHByb3BUeXBlcztcblZpZXdwb3J0Q29udHJvbGxlci5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG4iXX0=

@@ -5,3 +5,3 @@ {

"license": "MIT",
"version": "5.3.0-rc.1",
"version": "5.3.0-rc.2",
"publishConfig": {

@@ -26,3 +26,3 @@ "access": "public"

"dependencies": {
"@deck.gl/core": "^5.3.0-rc.1",
"@deck.gl/core": "^5.3.0-rc.2",
"prop-types": "^15.6.0"

@@ -29,0 +29,0 @@ },

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc