@kepler.gl/deckgl-layers 3.3.0-alpha.7 → 3.3.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -11,10 +11,12 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
11
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
13
|
var _supercluster = _interopRequireDefault(require("supercluster"));
|
|
14
|
-
var _memoize = _interopRequireDefault(require("
|
|
14
|
+
var _memoize = _interopRequireDefault(require("es-toolkit/compat/memoize"));
|
|
15
15
|
// SPDX-License-Identifier: MIT
|
|
16
16
|
// Copyright contributors to the kepler.gl project
|
|
17
17
|
|
|
18
|
+
// es-toolkit/compat memoize does not export lodash's MemoizedFunction type.
|
|
19
|
+
|
|
18
20
|
function getGeoJSON(data, getPosition, filterData) {
|
|
19
21
|
var raw = typeof filterData === 'function' ? data.filter(filterData) : data;
|
|
20
22
|
return raw.map(function (d) {
|
|
@@ -90,4 +92,4 @@ var ClusterBuilder = exports["default"] = /*#__PURE__*/function () {
|
|
|
90
92
|
}
|
|
91
93
|
}]);
|
|
92
94
|
}();
|
|
93
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3VwZXJjbHVzdGVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWVtb2l6ZSIsImdldEdlb0pTT04iLCJkYXRhIiwiZ2V0UG9zaXRpb24iLCJmaWx0ZXJEYXRhIiwicmF3IiwiZmlsdGVyIiwibWFwIiwiZCIsInR5cGUiLCJwcm9wZXJ0aWVzIiwicG9pbnRzIiwicG9pbnRfY291bnQiLCJwb2ludF9jb3VudF9hYmJyZXZpYXRlZCIsImdlb21ldHJ5IiwiY29vcmRpbmF0ZXMiLCJldmVyeSIsIk51bWJlciIsImlzRmluaXRlIiwiY2x1c3RlclJlc29sdmVyIiwiX3JlZiIsImNsdXN0ZXJSYWRpdXMiLCJjb25jYXQiLCJnZXRDbHVzdGVyZXIiLCJfcmVmMiIsImdlb0pTT04iLCJTdXBlcmNsdXN0ZXIiLCJtYXhab29tIiwicmFkaXVzIiwicmVkdWNlIiwiYWNjdW11bGF0ZWQiLCJwcm9wcyIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJsb2FkIiwiQ2x1c3RlckJ1aWxkZXIiLCJleHBvcnRzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJjbHVzdGVyZXIiLCJtZW1vaXplIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwiY2x1c3RlcnNBdFpvb20iLCJfcmVmMyIsImJib3giLCJ6b29tIiwiY2x1c3RlcnMiLCJnZXRDbHVzdGVycyIsImMiLCJpIiwicG9zaXRpb24iLCJpbmRleCIsImNsZWFyQ2x1c3RlcmVyQ2FjaGUiLCJfdGhpcyRjbHVzdGVyZXIkY2FjaGUiLCJfdGhpcyRjbHVzdGVyZXIkY2FjaGUyIiwiY2FjaGUiLCJjbGVhciIsImNhbGwiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGF5ZXItdXRpbHMvY2x1c3Rlci11dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgU3VwZXJjbHVzdGVyIGZyb20gJ3N1cGVyY2x1c3Rlcic7XG5pbXBvcnQgbWVtb2l6ZSBmcm9tICdlcy10b29sa2l0L2NvbXBhdC9tZW1vaXplJztcbmltcG9ydCB7QkJveCwgUG9zaXRpb259IGZyb20gJ2dlb2pzb24nO1xuXG4vLyBlcy10b29sa2l0L2NvbXBhdCBtZW1vaXplIGRvZXMgbm90IGV4cG9ydCBsb2Rhc2gncyBNZW1vaXplZEZ1bmN0aW9uIHR5cGUuXG50eXBlIE1lbW9pemVkRnVuY3Rpb24gPSB7XG4gIGNhY2hlOiB7XG4gICAgY2xlYXI/OiAoKSA9PiB2b2lkO1xuICB9O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdlb0pTT04oZGF0YSwgZ2V0UG9zaXRpb24sIGZpbHRlckRhdGEpIHtcbiAgY29uc3QgcmF3ID0gdHlwZW9mIGZpbHRlckRhdGEgPT09ICdmdW5jdGlvbicgPyBkYXRhLmZpbHRlcihmaWx0ZXJEYXRhKSA6IGRhdGE7XG5cbiAgcmV0dXJuIHJhd1xuICAgIC5tYXAoZCA9PiAoe1xuICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgZGF0YTogZCxcbiAgICAgICAgcG9pbnRzOiBbZF0sXG4gICAgICAgIHBvaW50X2NvdW50OiAxLFxuICAgICAgICBwb2ludF9jb3VudF9hYmJyZXZpYXRlZDogJzEnXG4gICAgICB9LFxuICAgICAgZ2VvbWV0cnk6IHtcbiAgICAgICAgY29vcmRpbmF0ZXM6IGdldFBvc2l0aW9uKGQpXG4gICAgICB9XG4gICAgfSkpXG4gICAgLmZpbHRlcihkID0+IGQuZ2VvbWV0cnkuY29vcmRpbmF0ZXMuZXZlcnkoTnVtYmVyLmlzRmluaXRlKSk7XG59XG5cbmNvbnN0IGNsdXN0ZXJSZXNvbHZlciA9ICh7Y2x1c3RlclJhZGl1c306IHtjbHVzdGVyUmFkaXVzOiBudW1iZXJ9KSA9PiBgJHtjbHVzdGVyUmFkaXVzfWA7XG5cbmNvbnN0IGdldENsdXN0ZXJlciA9ICh7Y2x1c3RlclJhZGl1cywgZ2VvSlNPTn06IHtjbHVzdGVyUmFkaXVzOiBudW1iZXI7IGdlb0pTT059KSA9PlxuICBuZXcgU3VwZXJjbHVzdGVyKHtcbiAgICBtYXhab29tOiAyMCxcbiAgICByYWRpdXM6IGNsdXN0ZXJSYWRpdXMsXG4gICAgcmVkdWNlOiAoYWNjdW11bGF0ZWQsIHByb3BzKSA9PiB7XG4gICAgICBhY2N1bXVsYXRlZC5wb2ludHMgPSBbLi4uYWNjdW11bGF0ZWQucG9pbnRzLCAuLi5wcm9wcy5wb2ludHNdO1xuICAgIH0sXG4gICAgbWFwOiBwcm9wcyA9PiAoe3BvaW50czogW3Byb3BzLmRhdGFdfSlcbiAgfSkubG9hZChnZW9KU09OKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2x1c3RlckJ1aWxkZXIge1xuICBjbHVzdGVyZXI6ICgoe2NsdXN0ZXJSYWRpdXMsIGdlb0pTT059OiB7Y2x1c3RlclJhZGl1czogbnVtYmVyOyBnZW9KU09OfSkgPT4gU3VwZXJjbHVzdGVyKSAmXG4gICAgTWVtb2l6ZWRGdW5jdGlvbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNsdXN0ZXJlciA9IG1lbW9pemUoZ2V0Q2x1c3RlcmVyLCBjbHVzdGVyUmVzb2x2ZXIpO1xuICB9XG5cbiAgY2x1c3RlcnNBdFpvb20oe1xuICAgIGJib3gsXG4gICAgY2x1c3RlclJhZGl1cyxcbiAgICBnZW9KU09OLFxuICAgIHpvb21cbiAgfToge1xuICAgIGJib3g6IEJCb3g7XG4gICAgY2x1c3RlclJhZGl1czogbnVtYmVyO1xuICAgIGdlb0pTT047XG4gICAgem9vbTogbnVtYmVyO1xuICB9KToge1xuICAgIHBvaW50czogYW55O1xuICAgIHBvc2l0aW9uOiBQb3NpdGlvbjtcbiAgICBpbmRleDogbnVtYmVyO1xuICB9W10ge1xuICAgIGNvbnN0IGNsdXN0ZXJlciA9IHRoaXMuY2x1c3RlcmVyKHtjbHVzdGVyUmFkaXVzLCBnZW9KU09OfSk7XG5cbiAgICAvLyBtYXAgY2x1c3RlcnMgdG8gZm9ybWF0dGVkIGJpbnMgdG8gYmUgcGFzc2VkIHRvIGRlY2suZ2wgYmluLXNvcnRlclxuICAgIGNvbnN0IGNsdXN0ZXJzID0gY2x1c3RlcmVyLmdldENsdXN0ZXJzKGJib3gsIHpvb20pLm1hcCgoYywgaSkgPT4gKHtcbiAgICAgIHBvaW50czogYy5wcm9wZXJ0aWVzLnBvaW50cyxcbiAgICAgIHBvc2l0aW9uOiBjLmdlb21ldHJ5LmNvb3JkaW5hdGVzLFxuICAgICAgaW5kZXg6IGlcbiAgICB9KSk7XG5cbiAgICByZXR1cm4gY2x1c3RlcnM7XG4gIH1cblxuICBjbGVhckNsdXN0ZXJlckNhY2hlKCkge1xuICAgIHRoaXMuY2x1c3RlcmVyLmNhY2hlLmNsZWFyPy4oKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxhQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFKQTtBQUNBOztBQU1BOztBQU9PLFNBQVNFLFVBQVVBLENBQUNDLElBQUksRUFBRUMsV0FBVyxFQUFFQyxVQUFVLEVBQUU7RUFDeEQsSUFBTUMsR0FBRyxHQUFHLE9BQU9ELFVBQVUsS0FBSyxVQUFVLEdBQUdGLElBQUksQ0FBQ0ksTUFBTSxDQUFDRixVQUFVLENBQUMsR0FBR0YsSUFBSTtFQUU3RSxPQUFPRyxHQUFHLENBQ1BFLEdBQUcsQ0FBQyxVQUFBQyxDQUFDO0lBQUEsT0FBSztNQUNUQyxJQUFJLEVBQUUsT0FBTztNQUNiQyxVQUFVLEVBQUU7UUFDVlIsSUFBSSxFQUFFTSxDQUFDO1FBQ1BHLE1BQU0sRUFBRSxDQUFDSCxDQUFDLENBQUM7UUFDWEksV0FBVyxFQUFFLENBQUM7UUFDZEMsdUJBQXVCLEVBQUU7TUFDM0IsQ0FBQztNQUNEQyxRQUFRLEVBQUU7UUFDUkMsV0FBVyxFQUFFWixXQUFXLENBQUNLLENBQUM7TUFDNUI7SUFDRixDQUFDO0VBQUEsQ0FBQyxDQUFDLENBQ0ZGLE1BQU0sQ0FBQyxVQUFBRSxDQUFDO0lB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
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.loadImages = loadImages;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _constants = require("@luma.gl/constants");
|
|
10
|
-
var _isEqual = _interopRequireDefault(require("
|
|
10
|
+
var _isEqual = _interopRequireDefault(require("es-toolkit/compat/isEqual"));
|
|
11
11
|
var _constants2 = require("@kepler.gl/constants");
|
|
12
12
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
13
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -268,4 +268,4 @@ function loadTexture(gl, device, imageData) {
|
|
|
268
268
|
return null;
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29uc3RhbnRzIiwicmVxdWlyZSIsIl9pc0VxdWFsIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb25zdGFudHMyIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwiYSIsInUiLCJjYWxsIiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiREVGQVVMVF9TQU1QTEVSX1BBUkFNRVRFUlMiLCJtaW5GaWx0ZXIiLCJGSUxURVJfTU9ERSIsIk5FQVJFU1QiLCJtYWdGaWx0ZXIiLCJhZGRyZXNzTW9kZVUiLCJBRERSRVNTX01PREUiLCJDTEFNUF9UT19FREdFIiwiYWRkcmVzc01vZGVWIiwibG9hZEltYWdlSXRlbSIsImdsIiwiZGV2aWNlIiwiaW1hZ2VJdGVtIiwicmVzdWx0IiwiZGlydHlSZXN1bHQiLCJtYXAiLCJ4IiwibG9hZFRleHR1cmUiLCJfaXRlcmF0b3IiLCJfc3RlcCIsInRleHR1cmUiLCJlcnIiLCJsb2FkSW1hZ2VzIiwiX3JlZiIsImltYWdlcyIsImltYWdlc0RhdGEiLCJvbGRJbWFnZXNEYXRhIiwiaW1hZ2VzRGlydHkiLCJoYXNQZW5kaW5nVXBsb2FkcyIsImtleSIsImNoYW5nZWRLZXlzIiwiaXNFcXVhbCIsIl9pIiwiX2NoYW5nZWRLZXlzIiwiaW1hZ2VEYXRhIiwibG9hZGVkSXRlbSIsIm1hcFNhbXBsZXJQYXJhbWV0ZXJzIiwib2xkUGFyYW1zIiwibWFnRmlsdGVyTWFwIiwiR0wiLCJMSU5FQVIiLCJtaW5GaWx0ZXJNYXAiLCJORUFSRVNUX01JUE1BUF9ORUFSRVNUIiwibWlwbWFwRmlsdGVyIiwiTkVBUkVTVF9NSVBNQVBfTElORUFSIiwiTElORUFSX01JUE1BUF9ORUFSRVNUIiwiTElORUFSX01JUE1BUF9MSU5FQVIiLCJ3cmFwTWFwIiwiUkVQRUFUIiwiTUlSUk9SRURfUkVQRUFUIiwiTUlSUk9SX1JFUEVBVCIsIlRFWFRVUkVfTUlOX0ZJTFRFUiIsInVuZGVmaW5lZCIsIm1hcHBlZCIsIlRFWFRVUkVfTUFHX0ZJTFRFUiIsIlRFWFRVUkVfV1JBUF9TIiwiVEVYVFVSRV9XUkFQX1QiLCJtYXBUZXh0dXJlRm9ybWF0IiwiZ2xGb3JtYXQiLCJfZ2xUeXBlIiwiUjhVSSIsIlRFWFRVUkVfRk9STUFUIiwiUjhfVUlOVCIsIlIxNlVJIiwiUjE2X1VJTlQiLCJSMzJVSSIsIlIzMl9VSU5UIiwiUjhJIiwiUjhfU0lOVCIsIlIxNkkiLCJSMTZfU0lOVCIsIlIzMkkiLCJSMzJfU0lOVCIsIlIzMkYiLCJSMzJfRkxPQVQiLCJSR0JBIiwiUkdCQThfVU5PUk0iLCJSR0IiLCJleHBhbmRSR0J0b1JHQkEiLCJkYXRhIiwid2lkdGgiLCJoZWlnaHQiLCJwaXhlbENvdW50IiwicmdiYSIsIlVpbnQ4QXJyYXkiLCJpIiwiX3Jhc3RlclRleHR1cmVEYXRhJGlkIiwiX3Jhc3RlclRleHR1cmVEYXRhJGlkMiIsIl9nbCRsdW1hIiwicmFzdGVyVGV4dHVyZURhdGEiLCJoYW5kbGUiLCJpZCIsInN0YXJ0c1dpdGgiLCJyYXdEYXRhIiwibHVtYURldmljZSIsImx1bWEiLCJfX2x1bWFfZGV2aWNlIiwiY3JlYXRlVGV4dHVyZSIsImNvbnNvbGUiLCJ3YXJuIiwiX3Jhd0RhdGEkZGF0YSIsIl9yYXdEYXRhJGRhdGEyIiwic2FtcGxlclBhcmFtcyIsInBhcmFtZXRlcnMiLCJ0ZXh0dXJlRm9ybWF0IiwiZm9ybWF0IiwidHlwZSIsInRleHR1cmVQcm9wcyIsInNhbXBsZXIiLCJtaXBtYXBzIiwiSFRNTEltYWdlRWxlbWVudCIsIkhUTUxDYW52YXNFbGVtZW50IiwiSW1hZ2VCaXRtYXAiLCJJbWFnZURhdGEiLCJBcnJheUJ1ZmZlciIsImlzVmlldyIsIlVpbnQ4Q2xhbXBlZEFycmF5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jhc3Rlci9pbWFnZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuLy8gQHRzLWlnbm9yZSBHTCByZXNvbHV0aW9uIGRlcGVuZHMgb24gbW9kdWxlUmVzb2x1dGlvbiBzZXR0aW5nXG5pbXBvcnQge0dMfSBmcm9tICdAbHVtYS5nbC9jb25zdGFudHMnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuXG5pbXBvcnQge0ZJTFRFUl9NT0RFLCBBRERSRVNTX01PREUsIFRFWFRVUkVfRk9STUFUfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7VGV4dHVyZX0gZnJvbSAnQGx1bWEuZ2wvY29yZSc7XG5pbXBvcnQgdHlwZSB7SW1hZ2VJbnB1dCwgSW1hZ2VTdGF0ZX0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogTGVnYWN5IHRleHR1cmUgY3JlYXRpb24gZGVzY3JpcHRvciB1c2VkIGJ5IHJhc3RlciBzaGFkZXIgbW9kdWxlcy5cbiAqIENvbnRhaW5zIENQVS1zaWRlIGRhdGEgKyBvbGQgR0wtZW51bS1iYXNlZCBwYXJhbWV0ZXJzIHRoYXQgZ2V0XG4gKiB0cmFuc2xhdGVkIHRvIGx1bWEuZ2wgOSdzIGRldmljZS5jcmVhdGVUZXh0dXJlKCkgcHJvcHMuXG4gKi9cbnR5cGUgVGV4dHVyZURhdGFTb3VyY2UgPVxuICB8IEhUTUxJbWFnZUVsZW1lbnRcbiAgfCBIVE1MQ2FudmFzRWxlbWVudFxuICB8IEltYWdlQml0bWFwXG4gIHwgSW1hZ2VEYXRhXG4gIHwgQXJyYXlCdWZmZXJWaWV3O1xuXG50eXBlIFJhc3RlclRleHR1cmVEYXRhID0ge1xuICBoYW5kbGU/OiB1bmtub3duO1xuICBpZD86IHN0cmluZztcbiAgZGV2aWNlPzogdW5rbm93bjtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgZm9ybWF0PzogbnVtYmVyO1xuICB0eXBlPzogbnVtYmVyO1xuICBwYXJhbWV0ZXJzPzogUmVjb3JkPG51bWJlciwgbnVtYmVyPjtcbiAgbWlwbWFwcz86IGJvb2xlYW47XG4gIGRhdGE/OiBUZXh0dXJlRGF0YVNvdXJjZSAmIHt3aWR0aD86IG51bWJlcjsgaGVpZ2h0PzogbnVtYmVyfTtcbn07XG5cbi8qKlxuICogVGV4dHVyZSBzYW1wbGVyIHBhcmFtZXRlcnMgZm9yIGx1bWEuZ2wgOSB0ZXh0dXJlc1xuICovXG5jb25zdCBERUZBVUxUX1NBTVBMRVJfUEFSQU1FVEVSUyA9IHtcbiAgbWluRmlsdGVyOiBGSUxURVJfTU9ERS5ORUFSRVNULFxuICBtYWdGaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1QsXG4gIGFkZHJlc3NNb2RlVTogQUREUkVTU19NT0RFLkNMQU1QX1RPX0VER0UsXG4gIGFkZHJlc3NNb2RlVjogQUREUkVTU19NT0RFLkNMQU1QX1RPX0VER0Vcbn07XG5cbi8qKiBsdW1hLmdsIGRldmljZSBpbnRlcmZhY2UgZm9yIHRleHR1cmUgY3JlYXRpb24gKi9cbmludGVyZmFjZSBMdW1hRGV2aWNlIHtcbiAgY3JlYXRlVGV4dHVyZShwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBUZXh0dXJlO1xuICBnbD86IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ7XG59XG5cbnR5cGUgTG9hZEltYWdlc09wdGlvbnMgPSB7XG4gIGdsOiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0O1xuICBkZXZpY2U/OiBMdW1hRGV2aWNlO1xuICBpbWFnZXM6IEltYWdlU3RhdGU7XG4gIGltYWdlc0RhdGE6IEltYWdlSW5wdXQ7XG4gIG9sZEltYWdlc0RhdGE6IEltYWdlSW5wdXQ7XG59O1xuXG4vKipcbiAqIExvYWQgaW1hZ2UgaXRlbXMgdG8gd2ViZ2wgY29udGV4dFxuICovXG5mdW5jdGlvbiBsb2FkSW1hZ2VJdGVtKFxuICBnbDogV2ViR0wyUmVuZGVyaW5nQ29udGV4dCxcbiAgZGV2aWNlOiBMdW1hRGV2aWNlIHwgdW5kZWZpbmVkLFxuICBpbWFnZUl0ZW06IFJhc3RlclRleHR1cmVEYXRhIHwgVGV4dHVyZSB8IChSYXN0ZXJUZXh0dXJlRGF0YSB8IFRleHR1cmUpW11cbik6IG51bGwgfCBUZXh0dXJlIHwgVGV4dHVyZVtdIHtcbiAgbGV0IHJlc3VsdDogbnVsbCB8IFRleHR1cmUgfCBUZXh0dXJlW107XG4gIGlmIChBcnJheS5pc0FycmF5KGltYWdlSXRlbSkpIHtcbiAgICBjb25zdCBkaXJ0eVJlc3VsdCA9IGltYWdlSXRlbS5tYXAoeCA9PiBsb2FkVGV4dHVyZShnbCwgZGV2aWNlLCB4KSk7XG4gICAgcmVzdWx0ID0gW107XG4gICAgZm9yIChjb25zdCB0ZXh0dXJlIG9mIGRpcnR5UmVzdWx0KSB7XG4gICAgICBpZiAodGV4dHVyZSkge1xuICAgICAgICByZXN1bHQucHVzaCh0ZXh0dXJlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFyZXN1bHQubGVuZ3RoKSB7XG4gICAgICByZXN1bHQgPSBudWxsO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXN1bHQgPSBsb2FkVGV4dHVyZShnbCwgZGV2aWNlLCBpbWFnZUl0ZW0pO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogTG9hZCBpbWFnZSBpdGVtcyB0byB3ZWJnbCBjb250ZXh0XG4gKi9cbnR5cGUgTG9hZEltYWdlc1Jlc3VsdCA9IHtcbiAgLyoqIFVwZGF0ZWQgaW1hZ2VzIHN0YXRlLCBvciBudWxsIGlmIG5vdGhpbmcgY2hhbmdlZCAqL1xuICBpbWFnZXM6IEltYWdlU3RhdGUgfCBudWxsO1xuICAvKiogVHJ1ZSB3aGVuIGF0IGxlYXN0IG9uZSB0ZXh0dXJlIHVwbG9hZCBmYWlsZWQgYW5kIHNob3VsZCBiZSByZXRyaWVkICovXG4gIGhhc1BlbmRpbmdVcGxvYWRzOiBib29sZWFuO1xufTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbXBsZXhpdHlcbmV4cG9ydCBmdW5jdGlvbiBsb2FkSW1hZ2VzKHtcbiAgZ2wsXG4gIGRldmljZSxcbiAgaW1hZ2VzLFxuICBpbWFnZXNEYXRhLFxuICBvbGRJbWFnZXNEYXRhXG59OiBMb2FkSW1hZ2VzT3B0aW9ucyk6IExvYWRJbWFnZXNSZXN1bHQge1xuICBsZXQgaW1hZ2VzRGlydHkgPSBmYWxzZTtcbiAgbGV0IGhhc1BlbmRpbmdVcGxvYWRzID0gZmFsc2U7XG5cbiAgaWYgKG9sZEltYWdlc0RhdGEpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvbGRJbWFnZXNEYXRhKSB7XG4gICAgICBpZiAoaW1hZ2VzRGF0YSAmJiAhKGtleSBpbiBpbWFnZXNEYXRhKSAmJiBrZXkgaW4gaW1hZ2VzKSB7XG4gICAgICAgIGRlbGV0ZSBpbWFnZXNba2V5XTtcbiAgICAgICAgaW1hZ2VzRGlydHkgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNoYW5nZWRLZXlzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGtleSBpbiBpbWFnZXNEYXRhKSB7XG4gICAgaWYgKCFvbGRJbWFnZXNEYXRhIHx8IChvbGRJbWFnZXNEYXRhICYmICEoa2V5IGluIG9sZEltYWdlc0RhdGEpKSkge1xuICAgICAgY2hhbmdlZEtleXMucHVzaChrZXkpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKCFpc0VxdWFsKGltYWdlc0RhdGFba2V5XSwgb2xkSW1hZ2VzRGF0YVtrZXldKSkge1xuICAgICAgY2hhbmdlZEtleXMucHVzaChrZXkpO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3Qga2V5IG9mIGNoYW5nZWRLZXlzKSB7XG4gICAgY29uc3QgaW1hZ2VEYXRhID0gaW1hZ2VzRGF0YVtrZXldO1xuICAgIGlmICghaW1hZ2VEYXRhKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2FkZWRJdGVtID0gbG9hZEltYWdlSXRlbShnbCwgZGV2aWNlLCBpbWFnZURhdGEpO1xuICAgIGlmIChsb2FkZWRJdGVtKSB7XG4gICAgICBpbWFnZXNba2V5XSA9IGxvYWRlZEl0ZW07XG4gICAgICAvLyBPbmx5IG1hcmsgZGlydHkgd2hlbiB0aGUgdGV4dHVyZSB3YXMgYWN0dWFsbHkgdXBsb2FkZWQuXG4gICAgICBpbWFnZXNEaXJ0eSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFVwbG9hZCBmYWlsZWQgKGRldmljZSBub3QgcmVhZHkgb3IgY3JlYXRlVGV4dHVyZSB0aHJldykuIFNpZ25hbCB0aGF0XG4gICAgICAvLyB0aGUgY2FsbGVyIHNob3VsZCByZXRyeSBuZXh0IGZyYW1lIOKAlCBkbyBOT1Qgc2V0IGltYWdlc0RpcnR5IHNvIHdlXG4gICAgICAvLyBkb24ndCBwcm9wYWdhdGUgYW4gaW1hZ2VzIG9iamVjdCB3aXRoIGEgbWlzc2luZyBrZXkgdGhhdCBjYXVzZXNcbiAgICAgIC8vIGRyYXcoKSB0byBiYWlsIHBlcm1hbmVudGx5LlxuICAgICAgaGFzUGVuZGluZ1VwbG9hZHMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7aW1hZ2VzOiBpbWFnZXNEaXJ0eSA/IGltYWdlcyA6IG51bGwsIGhhc1BlbmRpbmdVcGxvYWRzfTtcbn1cblxuLyoqXG4gKiBNYXAgb2xkIEdMIHRleHR1cmUgcGFyYW1ldGVyIGNvbnN0YW50cyB0byBsdW1hLmdsIDkgc2FtcGxlciBwYXJhbWV0ZXJzXG4gKi9cbmZ1bmN0aW9uIG1hcFNhbXBsZXJQYXJhbWV0ZXJzKG9sZFBhcmFtczogUmVjb3JkPG51bWJlciwgbnVtYmVyPik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7Li4uREVGQVVMVF9TQU1QTEVSX1BBUkFNRVRFUlN9O1xuXG4gIGNvbnN0IG1hZ0ZpbHRlck1hcCA9IHtcbiAgICBbR0wuTkVBUkVTVF06IEZJTFRFUl9NT0RFLk5FQVJFU1QsXG4gICAgW0dMLkxJTkVBUl06IEZJTFRFUl9NT0RFLkxJTkVBUlxuICB9O1xuXG4gIGNvbnN0IG1pbkZpbHRlck1hcDogUmVjb3JkPG51bWJlciwge21pbkZpbHRlcjogc3RyaW5nOyBtaXBtYXBGaWx0ZXI/OiBzdHJpbmd9PiA9IHtcbiAgICBbR0wuTkVBUkVTVF06IHttaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1R9LFxuICAgIFtHTC5MSU5FQVJdOiB7bWluRmlsdGVyOiBGSUxURVJfTU9ERS5MSU5FQVJ9LFxuICAgIFtHTC5ORUFSRVNUX01JUE1BUF9ORUFSRVNUXToge1xuICAgICAgbWluRmlsdGVyOiBGSUxURVJfTU9ERS5ORUFSRVNULFxuICAgICAgbWlwbWFwRmlsdGVyOiBGSUxURVJfTU9ERS5ORUFSRVNUXG4gICAgfSxcbiAgICBbR0wuTkVBUkVTVF9NSVBNQVBfTElORUFSXToge21pbkZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVCwgbWlwbWFwRmlsdGVyOiBGSUxURVJfTU9ERS5MSU5FQVJ9LFxuICAgIFtHTC5MSU5FQVJfTUlQTUFQX05FQVJFU1RdOiB7bWluRmlsdGVyOiBGSUxURVJfTU9ERS5MSU5FQVIsIG1pcG1hcEZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVH0sXG4gICAgW0dMLkxJTkVBUl9NSVBNQVBfTElORUFSXToge21pbkZpbHRlcjogRklMVEVSX01PREUuTElORUFSLCBtaXBtYXBGaWx0ZXI6IEZJTFRFUl9NT0RFLkxJTkVBUn1cbiAgfTtcblxuICBjb25zdCB3cmFwTWFwID0ge1xuICAgIFtHTC5DTEFNUF9UT19FREdFXTogQUREUkVTU19NT0RFLkNMQU1QX1RPX0VER0UsXG4gICAgW0dMLlJFUEVBVF06IEFERFJFU1NfTU9ERS5SRVBFQVQsXG4gICAgW0dMLk1JUlJPUkVEX1JFUEVBVF06IEFERFJFU1NfTU9ERS5NSVJST1JfUkVQRUFUXG4gIH07XG5cbiAgaWYgKG9sZFBhcmFtcykge1xuICAgIGlmIChvbGRQYXJhbXNbR0wuVEVYVFVSRV9NSU5fRklMVEVSXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBtYXBwZWQgPSBtaW5GaWx0ZXJNYXBbb2xkUGFyYW1zW0dMLlRFWFRVUkVfTUlOX0ZJTFRFUl1dO1xuICAgICAgaWYgKG1hcHBlZCkge1xuICAgICAgICByZXN1bHQubWluRmlsdGVyID0gbWFwcGVkLm1pbkZpbHRlcjtcbiAgICAgICAgaWYgKG1hcHBlZC5taXBtYXBGaWx0ZXIpIHtcbiAgICAgICAgICByZXN1bHQubWlwbWFwRmlsdGVyID0gbWFwcGVkLm1pcG1hcEZpbHRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAob2xkUGFyYW1zW0dMLlRFWFRVUkVfTUFHX0ZJTFRFUl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVzdWx0Lm1hZ0ZpbHRlciA9IG1hZ0ZpbHRlck1hcFtvbGRQYXJhbXNbR0wuVEVYVFVSRV9NQUdfRklMVEVSXV0gfHwgRklMVEVSX01PREUuTkVBUkVTVDtcbiAgICB9XG4gICAgaWYgKG9sZFBhcmFtc1tHTC5URVhUVVJFX1dSQVBfU10gIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVzdWx0LmFkZHJlc3NNb2RlVSA9IHdyYXBNYXBbb2xkUGFyYW1zW0dMLlRFWFRVUkVfV1JBUF9TXV0gfHwgQUREUkVTU19NT0RFLkNMQU1QX1RPX0VER0U7XG4gICAgfVxuICAgIGlmIChvbGRQYXJhbXNbR0wuVEVYVFVSRV9XUkFQX1RdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJlc3VsdC5hZGRyZXNzTW9kZVYgPSB3cmFwTWFwW29sZFBhcmFtc1tHTC5URVhUVVJFX1dSQVBfVF1dIHx8IEFERFJFU1NfTU9ERS5DTEFNUF9UT19FREdFO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogTWFwIG9sZCBHTCBmb3JtYXQvdHlwZSB0byBsdW1hLmdsIDkgdGV4dHVyZSBmb3JtYXQgc3RyaW5nXG4gKi9cbmZ1bmN0aW9uIG1hcFRleHR1cmVGb3JtYXQoZ2xGb3JtYXQ6IG51bWJlciwgX2dsVHlwZT86IG51bWJlcik6IHN0cmluZyB7XG4gIHN3aXRjaCAoZ2xGb3JtYXQpIHtcbiAgICBjYXNlIEdMLlI4VUk6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUjhfVUlOVDtcbiAgICBjYXNlIEdMLlIxNlVJOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlIxNl9VSU5UO1xuICAgIGNhc2UgR0wuUjMyVUk6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUjMyX1VJTlQ7XG4gICAgY2FzZSBHTC5SOEk6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUjhfU0lOVDtcbiAgICBjYXNlIEdMLlIxNkk6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUjE2X1NJTlQ7XG4gICAgY2FzZSBHTC5SMzJJOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlIzMl9TSU5UO1xuICAgIGNhc2UgR0wuUjMyRjpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SMzJfRkxPQVQ7XG4gICAgY2FzZSBHTC5SR0JBOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlJHQkE4X1VOT1JNO1xuICAgIGNhc2UgR0wuUkdCOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlJHQkE4X1VOT1JNO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUkdCQThfVU5PUk07XG4gIH1cbn1cblxuLyoqXG4gKiBFeHBhbmQgMy1ieXRlLXBlci1waXhlbCBSR0IgZGF0YSB0byA0LWJ5dGUtcGVyLXBpeGVsIFJHQkEuXG4gKiBOZWVkZWQgYmVjYXVzZSBXZWJHUFUvbHVtYS5nbCA5IGhhcyBubyAzLWNoYW5uZWwgdGV4dHVyZSBmb3JtYXQuXG4gKi9cbmZ1bmN0aW9uIGV4cGFuZFJHQnRvUkdCQShcbiAgZGF0YTogVWludDhBcnJheSB8IFVpbnQ4Q2xhbXBlZEFycmF5LFxuICB3aWR0aDogbnVtYmVyLFxuICBoZWlnaHQ6IG51bWJlclxuKTogVWludDhBcnJheSB7XG4gIGNvbnN0IHBpeGVsQ291bnQgPSB3aWR0aCAqIGhlaWdodDtcbiAgY29uc3QgcmdiYSA9IG5ldyBVaW50OEFycmF5KHBpeGVsQ291bnQgKiA0KTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwaXhlbENvdW50OyBpKyspIHtcbiAgICByZ2JhW2kgKiA0XSA9IGRhdGFbaSAqIDNdO1xuICAgIHJnYmFbaSAqIDQgKyAxXSA9IGRhdGFbaSAqIDMgKyAxXTtcbiAgICByZ2JhW2kgKiA0ICsgMl0gPSBkYXRhW2kgKiAzICsgMl07XG4gICAgcmdiYVtpICogNCArIDNdID0gMjU1O1xuICB9XG4gIHJldHVybiByZ2JhO1xufVxuXG4vKipcbiAqIENyZWF0ZSB0ZXh0dXJlIG9iamVjdCBmcm9tIGltYWdlIGRhdGEgdXNpbmcgbHVtYS5nbCA5IGRldmljZSBBUEkuXG4gKiBSZXR1cm5zIGEgcHJvcGVyIGx1bWEuZ2wgVGV4dHVyZSBvYmplY3QgdGhhdCB3b3JrcyB3aXRoIHRoZSBiaW5kaW5nIHN5c3RlbS5cbiAqL1xuZnVuY3Rpb24gbG9hZFRleHR1cmUoXG4gIGdsOiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0LFxuICBkZXZpY2U6IEx1bWFEZXZpY2UgfCB1bmRlZmluZWQsXG4gIGltYWdlRGF0YTogVGV4dHVyZSB8IFJhc3RlclRleHR1cmVEYXRhXG4pOiBUZXh0dXJlIHwgbnVsbCB7XG4gIGlmICghaW1hZ2VEYXRhKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBJZiBhbHJlYWR5IGEgbHVtYS5nbCBUZXh0dXJlIGluc3RhbmNlLCByZXR1cm4gYXMtaXNcbiAgY29uc3QgcmFzdGVyVGV4dHVyZURhdGEgPSBpbWFnZURhdGEgYXMgUmFzdGVyVGV4dHVyZURhdGE7XG4gIGlmIChcbiAgICByYXN0ZXJUZXh0dXJlRGF0YS5oYW5kbGUgfHxcbiAgICByYXN0ZXJUZXh0dXJlRGF0YS5pZD8uc3RhcnRzV2l0aD8uKCdsdW1hJykgfHxcbiAgICByYXN0ZXJUZXh0dXJlRGF0YS5kZXZpY2VcbiAgKSB7XG4gICAgcmV0dXJuIGltYWdlRGF0YSBhcyBUZXh0dXJlO1xuICB9XG5cbiAgY29uc3QgcmF3RGF0YSA9IGltYWdlRGF0YSBhcyBSYXN0ZXJUZXh0dXJlRGF0YTtcblxuICAvLyBAdHMtZXhwZWN0LWVycm9yIGx1bWEgaW50ZXJuYWwgcHJvcGVydGllcyBub3QgaW4gV2ViR0wyUmVuZGVyaW5nQ29udGV4dCB0eXBlXG4gIGNvbnN0IGx1bWFEZXZpY2UgPSBkZXZpY2UgfHwgZ2wubHVtYT8uZGV2aWNlIHx8IGdsLl9fbHVtYV9kZXZpY2U7XG5cbiAgaWYgKCFsdW1hRGV2aWNlPy5jcmVhdGVUZXh0dXJlKSB7XG4gICAgY29uc29sZS53YXJuKCdSYXN0ZXJMYXllcjogTm8gbHVtYS5nbCBkZXZpY2UgYXZhaWxhYmxlIGZvciB0ZXh0dXJlIGNyZWF0aW9uJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IHNhbXBsZXJQYXJhbXMgPSBtYXBTYW1wbGVyUGFyYW1ldGVycyhyYXdEYXRhLnBhcmFtZXRlcnMgfHwge30pO1xuICAgIGNvbnN0IHRleHR1cmVGb3JtYXQgPSByYXdEYXRhLmZvcm1hdFxuICAgICAgPyBtYXBUZXh0dXJlRm9ybWF0KHJhd0RhdGEuZm9ybWF0LCByYXdEYXRhLnR5cGUpXG4gICAgICA6IFRFWFRVUkVfRk9STUFULlJHQkE4X1VOT1JNO1xuXG4gICAgY29uc3Qgd2lkdGggPSByYXdEYXRhLndpZHRoIHx8IHJhd0RhdGEuZGF0YT8ud2lkdGggfHwgMTtcbiAgICBjb25zdCBoZWlnaHQgPSByYXdEYXRhLmhlaWdodCB8fCByYXdEYXRhLmRhdGE/LmhlaWdodCB8fCAxO1xuXG4gICAgY29uc3QgdGV4dHVyZVByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICAgIHdpZHRoLFxuICAgICAgaGVpZ2h0LFxuICAgICAgZm9ybWF0OiB0ZXh0dXJlRm9ybWF0LFxuICAgICAgc2FtcGxlcjogc2FtcGxlclBhcmFtcyxcbiAgICAgIC4uLihyYXdEYXRhLm1pcG1hcHMgPT09IGZhbHNlID8ge21pcG1hcHM6IGZhbHNlfSA6IHt9KVxuICAgIH07XG5cbiAgICBpZiAocmF3RGF0YS5kYXRhKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHJhd0RhdGEuZGF0YSBpbnN0YW5jZW9mIEhUTUxJbWFnZUVsZW1lbnQgfHxcbiAgICAgICAgcmF3RGF0YS5kYXRhIGluc3RhbmNlb2YgSFRNTENhbnZhc0VsZW1lbnQgfHxcbiAgICAgICAgcmF3RGF0YS5kYXRhIGluc3RhbmNlb2YgSW1hZ2VCaXRtYXAgfHxcbiAgICAgICAgcmF3RGF0YS5kYXRhIGluc3RhbmNlb2YgSW1hZ2VEYXRhXG4gICAgICApIHtcbiAgICAgICAgdGV4dHVyZVByb3BzLmRhdGEgPSByYXdEYXRhLmRhdGE7XG4gICAgICB9IGVsc2UgaWYgKEFycmF5QnVmZmVyLmlzVmlldyhyYXdEYXRhLmRhdGEpKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICByYXdEYXRhLmZvcm1hdCA9PT0gR0wuUkdCICYmXG4gICAgICAgICAgKHJhd0RhdGEuZGF0YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkgfHwgcmF3RGF0YS5kYXRhIGluc3RhbmNlb2YgVWludDhDbGFtcGVkQXJyYXkpXG4gICAgICAgICkge1xuICAgICAgICAgIHRleHR1cmVQcm9wcy5kYXRhID0gZXhwYW5kUkdCdG9SR0JBKHJhd0RhdGEuZGF0YSwgd2lkdGgsIGhlaWdodCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGV4dHVyZVByb3BzLmRhdGEgPSByYXdEYXRhLmRhdGE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbHVtYURldmljZS5jcmVhdGVUZXh0dXJlKHRleHR1cmVQcm9wcyk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLndhcm4oJ1Jhc3RlckxheWVyOiBGYWlsZWQgdG8gY3JlYXRlIHRleHR1cmUgdmlhIGRldmljZS5jcmVhdGVUZXh0dXJlOicsIGUpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBQStFLFNBQUFJLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFDLE1BQUEsRUFBQWIsQ0FBQSxVQUFBQyxDQUFBLFdBQUFXLFNBQUEsQ0FBQVosQ0FBQSxJQUFBWSxTQUFBLENBQUFaLENBQUEsUUFBQUEsQ0FBQSxPQUFBRixPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FB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
|
|
271
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29uc3RhbnRzIiwicmVxdWlyZSIsIl9pc0VxdWFsIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb25zdGFudHMyIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwiYSIsInUiLCJjYWxsIiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiREVGQVVMVF9TQU1QTEVSX1BBUkFNRVRFUlMiLCJtaW5GaWx0ZXIiLCJGSUxURVJfTU9ERSIsIk5FQVJFU1QiLCJtYWdGaWx0ZXIiLCJhZGRyZXNzTW9kZVUiLCJBRERSRVNTX01PREUiLCJDTEFNUF9UT19FREdFIiwiYWRkcmVzc01vZGVWIiwibG9hZEltYWdlSXRlbSIsImdsIiwiZGV2aWNlIiwiaW1hZ2VJdGVtIiwicmVzdWx0IiwiZGlydHlSZXN1bHQiLCJtYXAiLCJ4IiwibG9hZFRleHR1cmUiLCJfaXRlcmF0b3IiLCJfc3RlcCIsInRleHR1cmUiLCJlcnIiLCJsb2FkSW1hZ2VzIiwiX3JlZiIsImltYWdlcyIsImltYWdlc0RhdGEiLCJvbGRJbWFnZXNEYXRhIiwiaW1hZ2VzRGlydHkiLCJoYXNQZW5kaW5nVXBsb2FkcyIsImtleSIsImNoYW5nZWRLZXlzIiwiaXNFcXVhbCIsIl9pIiwiX2NoYW5nZWRLZXlzIiwiaW1hZ2VEYXRhIiwibG9hZGVkSXRlbSIsIm1hcFNhbXBsZXJQYXJhbWV0ZXJzIiwib2xkUGFyYW1zIiwibWFnRmlsdGVyTWFwIiwiR0wiLCJMSU5FQVIiLCJtaW5GaWx0ZXJNYXAiLCJORUFSRVNUX01JUE1BUF9ORUFSRVNUIiwibWlwbWFwRmlsdGVyIiwiTkVBUkVTVF9NSVBNQVBfTElORUFSIiwiTElORUFSX01JUE1BUF9ORUFSRVNUIiwiTElORUFSX01JUE1BUF9MSU5FQVIiLCJ3cmFwTWFwIiwiUkVQRUFUIiwiTUlSUk9SRURfUkVQRUFUIiwiTUlSUk9SX1JFUEVBVCIsIlRFWFRVUkVfTUlOX0ZJTFRFUiIsInVuZGVmaW5lZCIsIm1hcHBlZCIsIlRFWFRVUkVfTUFHX0ZJTFRFUiIsIlRFWFRVUkVfV1JBUF9TIiwiVEVYVFVSRV9XUkFQX1QiLCJtYXBUZXh0dXJlRm9ybWF0IiwiZ2xGb3JtYXQiLCJfZ2xUeXBlIiwiUjhVSSIsIlRFWFRVUkVfRk9STUFUIiwiUjhfVUlOVCIsIlIxNlVJIiwiUjE2X1VJTlQiLCJSMzJVSSIsIlIzMl9VSU5UIiwiUjhJIiwiUjhfU0lOVCIsIlIxNkkiLCJSMTZfU0lOVCIsIlIzMkkiLCJSMzJfU0lOVCIsIlIzMkYiLCJSMzJfRkxPQVQiLCJSR0JBIiwiUkdCQThfVU5PUk0iLCJSR0IiLCJleHBhbmRSR0J0b1JHQkEiLCJkYXRhIiwid2lkdGgiLCJoZWlnaHQiLCJwaXhlbENvdW50IiwicmdiYSIsIlVpbnQ4QXJyYXkiLCJpIiwiX3Jhc3RlclRleHR1cmVEYXRhJGlkIiwiX3Jhc3RlclRleHR1cmVEYXRhJGlkMiIsIl9nbCRsdW1hIiwicmFzdGVyVGV4dHVyZURhdGEiLCJoYW5kbGUiLCJpZCIsInN0YXJ0c1dpdGgiLCJyYXdEYXRhIiwibHVtYURldmljZSIsImx1bWEiLCJfX2x1bWFfZGV2aWNlIiwiY3JlYXRlVGV4dHVyZSIsImNvbnNvbGUiLCJ3YXJuIiwiX3Jhd0RhdGEkZGF0YSIsIl9yYXdEYXRhJGRhdGEyIiwic2FtcGxlclBhcmFtcyIsInBhcmFtZXRlcnMiLCJ0ZXh0dXJlRm9ybWF0IiwiZm9ybWF0IiwidHlwZSIsInRleHR1cmVQcm9wcyIsInNhbXBsZXIiLCJtaXBtYXBzIiwiSFRNTEltYWdlRWxlbWVudCIsIkhUTUxDYW52YXNFbGVtZW50IiwiSW1hZ2VCaXRtYXAiLCJJbWFnZURhdGEiLCJBcnJheUJ1ZmZlciIsImlzVmlldyIsIlVpbnQ4Q2xhbXBlZEFycmF5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jhc3Rlci9pbWFnZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuLy8gQHRzLWlnbm9yZSBHTCByZXNvbHV0aW9uIGRlcGVuZHMgb24gbW9kdWxlUmVzb2x1dGlvbiBzZXR0aW5nXG5pbXBvcnQge0dMfSBmcm9tICdAbHVtYS5nbC9jb25zdGFudHMnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnZXMtdG9vbGtpdC9jb21wYXQvaXNFcXVhbCc7XG5cbmltcG9ydCB7RklMVEVSX01PREUsIEFERFJFU1NfTU9ERSwgVEVYVFVSRV9GT1JNQVR9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtUZXh0dXJlfSBmcm9tICdAbHVtYS5nbC9jb3JlJztcbmltcG9ydCB0eXBlIHtJbWFnZUlucHV0LCBJbWFnZVN0YXRlfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBMZWdhY3kgdGV4dHVyZSBjcmVhdGlvbiBkZXNjcmlwdG9yIHVzZWQgYnkgcmFzdGVyIHNoYWRlciBtb2R1bGVzLlxuICogQ29udGFpbnMgQ1BVLXNpZGUgZGF0YSArIG9sZCBHTC1lbnVtLWJhc2VkIHBhcmFtZXRlcnMgdGhhdCBnZXRcbiAqIHRyYW5zbGF0ZWQgdG8gbHVtYS5nbCA5J3MgZGV2aWNlLmNyZWF0ZVRleHR1cmUoKSBwcm9wcy5cbiAqL1xudHlwZSBUZXh0dXJlRGF0YVNvdXJjZSA9XG4gIHwgSFRNTEltYWdlRWxlbWVudFxuICB8IEhUTUxDYW52YXNFbGVtZW50XG4gIHwgSW1hZ2VCaXRtYXBcbiAgfCBJbWFnZURhdGFcbiAgfCBBcnJheUJ1ZmZlclZpZXc7XG5cbnR5cGUgUmFzdGVyVGV4dHVyZURhdGEgPSB7XG4gIGhhbmRsZT86IHVua25vd247XG4gIGlkPzogc3RyaW5nO1xuICBkZXZpY2U/OiB1bmtub3duO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBmb3JtYXQ/OiBudW1iZXI7XG4gIHR5cGU/OiBudW1iZXI7XG4gIHBhcmFtZXRlcnM/OiBSZWNvcmQ8bnVtYmVyLCBudW1iZXI+O1xuICBtaXBtYXBzPzogYm9vbGVhbjtcbiAgZGF0YT86IFRleHR1cmVEYXRhU291cmNlICYge3dpZHRoPzogbnVtYmVyOyBoZWlnaHQ/OiBudW1iZXJ9O1xufTtcblxuLyoqXG4gKiBUZXh0dXJlIHNhbXBsZXIgcGFyYW1ldGVycyBmb3IgbHVtYS5nbCA5IHRleHR1cmVzXG4gKi9cbmNvbnN0IERFRkFVTFRfU0FNUExFUl9QQVJBTUVURVJTID0ge1xuICBtaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1QsXG4gIG1hZ0ZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVCxcbiAgYWRkcmVzc01vZGVVOiBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRSxcbiAgYWRkcmVzc01vZGVWOiBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRVxufTtcblxuLyoqIGx1bWEuZ2wgZGV2aWNlIGludGVyZmFjZSBmb3IgdGV4dHVyZSBjcmVhdGlvbiAqL1xuaW50ZXJmYWNlIEx1bWFEZXZpY2Uge1xuICBjcmVhdGVUZXh0dXJlKHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFRleHR1cmU7XG4gIGdsPzogV2ViR0wyUmVuZGVyaW5nQ29udGV4dDtcbn1cblxudHlwZSBMb2FkSW1hZ2VzT3B0aW9ucyA9IHtcbiAgZ2w6IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ7XG4gIGRldmljZT86IEx1bWFEZXZpY2U7XG4gIGltYWdlczogSW1hZ2VTdGF0ZTtcbiAgaW1hZ2VzRGF0YTogSW1hZ2VJbnB1dDtcbiAgb2xkSW1hZ2VzRGF0YTogSW1hZ2VJbnB1dDtcbn07XG5cbi8qKlxuICogTG9hZCBpbWFnZSBpdGVtcyB0byB3ZWJnbCBjb250ZXh0XG4gKi9cbmZ1bmN0aW9uIGxvYWRJbWFnZUl0ZW0oXG4gIGdsOiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0LFxuICBkZXZpY2U6IEx1bWFEZXZpY2UgfCB1bmRlZmluZWQsXG4gIGltYWdlSXRlbTogUmFzdGVyVGV4dHVyZURhdGEgfCBUZXh0dXJlIHwgKFJhc3RlclRleHR1cmVEYXRhIHwgVGV4dHVyZSlbXVxuKTogbnVsbCB8IFRleHR1cmUgfCBUZXh0dXJlW10ge1xuICBsZXQgcmVzdWx0OiBudWxsIHwgVGV4dHVyZSB8IFRleHR1cmVbXTtcbiAgaWYgKEFycmF5LmlzQXJyYXkoaW1hZ2VJdGVtKSkge1xuICAgIGNvbnN0IGRpcnR5UmVzdWx0ID0gaW1hZ2VJdGVtLm1hcCh4ID0+IGxvYWRUZXh0dXJlKGdsLCBkZXZpY2UsIHgpKTtcbiAgICByZXN1bHQgPSBbXTtcbiAgICBmb3IgKGNvbnN0IHRleHR1cmUgb2YgZGlydHlSZXN1bHQpIHtcbiAgICAgIGlmICh0ZXh0dXJlKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHRleHR1cmUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXJlc3VsdC5sZW5ndGgpIHtcbiAgICAgIHJlc3VsdCA9IG51bGw7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJlc3VsdCA9IGxvYWRUZXh0dXJlKGdsLCBkZXZpY2UsIGltYWdlSXRlbSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBMb2FkIGltYWdlIGl0ZW1zIHRvIHdlYmdsIGNvbnRleHRcbiAqL1xudHlwZSBMb2FkSW1hZ2VzUmVzdWx0ID0ge1xuICAvKiogVXBkYXRlZCBpbWFnZXMgc3RhdGUsIG9yIG51bGwgaWYgbm90aGluZyBjaGFuZ2VkICovXG4gIGltYWdlczogSW1hZ2VTdGF0ZSB8IG51bGw7XG4gIC8qKiBUcnVlIHdoZW4gYXQgbGVhc3Qgb25lIHRleHR1cmUgdXBsb2FkIGZhaWxlZCBhbmQgc2hvdWxkIGJlIHJldHJpZWQgKi9cbiAgaGFzUGVuZGluZ1VwbG9hZHM6IGJvb2xlYW47XG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRJbWFnZXMoe1xuICBnbCxcbiAgZGV2aWNlLFxuICBpbWFnZXMsXG4gIGltYWdlc0RhdGEsXG4gIG9sZEltYWdlc0RhdGFcbn06IExvYWRJbWFnZXNPcHRpb25zKTogTG9hZEltYWdlc1Jlc3VsdCB7XG4gIGxldCBpbWFnZXNEaXJ0eSA9IGZhbHNlO1xuICBsZXQgaGFzUGVuZGluZ1VwbG9hZHMgPSBmYWxzZTtcblxuICBpZiAob2xkSW1hZ2VzRGF0YSkge1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9sZEltYWdlc0RhdGEpIHtcbiAgICAgIGlmIChpbWFnZXNEYXRhICYmICEoa2V5IGluIGltYWdlc0RhdGEpICYmIGtleSBpbiBpbWFnZXMpIHtcbiAgICAgICAgZGVsZXRlIGltYWdlc1trZXldO1xuICAgICAgICBpbWFnZXNEaXJ0eSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgY2hhbmdlZEtleXM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3Qga2V5IGluIGltYWdlc0RhdGEpIHtcbiAgICBpZiAoIW9sZEltYWdlc0RhdGEgfHwgKG9sZEltYWdlc0RhdGEgJiYgIShrZXkgaW4gb2xkSW1hZ2VzRGF0YSkpKSB7XG4gICAgICBjaGFuZ2VkS2V5cy5wdXNoKGtleSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoIWlzRXF1YWwoaW1hZ2VzRGF0YVtrZXldLCBvbGRJbWFnZXNEYXRhW2tleV0pKSB7XG4gICAgICBjaGFuZ2VkS2V5cy5wdXNoKGtleSk7XG4gICAgfVxuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgb2YgY2hhbmdlZEtleXMpIHtcbiAgICBjb25zdCBpbWFnZURhdGEgPSBpbWFnZXNEYXRhW2tleV07XG4gICAgaWYgKCFpbWFnZURhdGEpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGxvYWRlZEl0ZW0gPSBsb2FkSW1hZ2VJdGVtKGdsLCBkZXZpY2UsIGltYWdlRGF0YSk7XG4gICAgaWYgKGxvYWRlZEl0ZW0pIHtcbiAgICAgIGltYWdlc1trZXldID0gbG9hZGVkSXRlbTtcbiAgICAgIC8vIE9ubHkgbWFyayBkaXJ0eSB3aGVuIHRoZSB0ZXh0dXJlIHdhcyBhY3R1YWxseSB1cGxvYWRlZC5cbiAgICAgIGltYWdlc0RpcnR5ID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXBsb2FkIGZhaWxlZCAoZGV2aWNlIG5vdCByZWFkeSBvciBjcmVhdGVUZXh0dXJlIHRocmV3KS4gU2lnbmFsIHRoYXRcbiAgICAgIC8vIHRoZSBjYWxsZXIgc2hvdWxkIHJldHJ5IG5leHQgZnJhbWUg4oCUIGRvIE5PVCBzZXQgaW1hZ2VzRGlydHkgc28gd2VcbiAgICAgIC8vIGRvbid0IHByb3BhZ2F0ZSBhbiBpbWFnZXMgb2JqZWN0IHdpdGggYSBtaXNzaW5nIGtleSB0aGF0IGNhdXNlc1xuICAgICAgLy8gZHJhdygpIHRvIGJhaWwgcGVybWFuZW50bHkuXG4gICAgICBoYXNQZW5kaW5nVXBsb2FkcyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtpbWFnZXM6IGltYWdlc0RpcnR5ID8gaW1hZ2VzIDogbnVsbCwgaGFzUGVuZGluZ1VwbG9hZHN9O1xufVxuXG4vKipcbiAqIE1hcCBvbGQgR0wgdGV4dHVyZSBwYXJhbWV0ZXIgY29uc3RhbnRzIHRvIGx1bWEuZ2wgOSBzYW1wbGVyIHBhcmFtZXRlcnNcbiAqL1xuZnVuY3Rpb24gbWFwU2FtcGxlclBhcmFtZXRlcnMob2xkUGFyYW1zOiBSZWNvcmQ8bnVtYmVyLCBudW1iZXI+KTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHsuLi5ERUZBVUxUX1NBTVBMRVJfUEFSQU1FVEVSU307XG5cbiAgY29uc3QgbWFnRmlsdGVyTWFwID0ge1xuICAgIFtHTC5ORUFSRVNUXTogRklMVEVSX01PREUuTkVBUkVTVCxcbiAgICBbR0wuTElORUFSXTogRklMVEVSX01PREUuTElORUFSXG4gIH07XG5cbiAgY29uc3QgbWluRmlsdGVyTWFwOiBSZWNvcmQ8bnVtYmVyLCB7bWluRmlsdGVyOiBzdHJpbmc7IG1pcG1hcEZpbHRlcj86IHN0cmluZ30+ID0ge1xuICAgIFtHTC5ORUFSRVNUXToge21pbkZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVH0sXG4gICAgW0dMLkxJTkVBUl06IHttaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLkxJTkVBUn0sXG4gICAgW0dMLk5FQVJFU1RfTUlQTUFQX05FQVJFU1RdOiB7XG4gICAgICBtaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1QsXG4gICAgICBtaXBtYXBGaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1RcbiAgICB9LFxuICAgIFtHTC5ORUFSRVNUX01JUE1BUF9MSU5FQVJdOiB7bWluRmlsdGVyOiBGSUxURVJfTU9ERS5ORUFSRVNULCBtaXBtYXBGaWx0ZXI6IEZJTFRFUl9NT0RFLkxJTkVBUn0sXG4gICAgW0dMLkxJTkVBUl9NSVBNQVBfTkVBUkVTVF06IHttaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLkxJTkVBUiwgbWlwbWFwRmlsdGVyOiBGSUxURVJfTU9ERS5ORUFSRVNUfSxcbiAgICBbR0wuTElORUFSX01JUE1BUF9MSU5FQVJdOiB7bWluRmlsdGVyOiBGSUxURVJfTU9ERS5MSU5FQVIsIG1pcG1hcEZpbHRlcjogRklMVEVSX01PREUuTElORUFSfVxuICB9O1xuXG4gIGNvbnN0IHdyYXBNYXAgPSB7XG4gICAgW0dMLkNMQU1QX1RPX0VER0VdOiBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRSxcbiAgICBbR0wuUkVQRUFUXTogQUREUkVTU19NT0RFLlJFUEVBVCxcbiAgICBbR0wuTUlSUk9SRURfUkVQRUFUXTogQUREUkVTU19NT0RFLk1JUlJPUl9SRVBFQVRcbiAgfTtcblxuICBpZiAob2xkUGFyYW1zKSB7XG4gICAgaWYgKG9sZFBhcmFtc1tHTC5URVhUVVJFX01JTl9GSUxURVJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IG1hcHBlZCA9IG1pbkZpbHRlck1hcFtvbGRQYXJhbXNbR0wuVEVYVFVSRV9NSU5fRklMVEVSXV07XG4gICAgICBpZiAobWFwcGVkKSB7XG4gICAgICAgIHJlc3VsdC5taW5GaWx0ZXIgPSBtYXBwZWQubWluRmlsdGVyO1xuICAgICAgICBpZiAobWFwcGVkLm1pcG1hcEZpbHRlcikge1xuICAgICAgICAgIHJlc3VsdC5taXBtYXBGaWx0ZXIgPSBtYXBwZWQubWlwbWFwRmlsdGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChvbGRQYXJhbXNbR0wuVEVYVFVSRV9NQUdfRklMVEVSXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXN1bHQubWFnRmlsdGVyID0gbWFnRmlsdGVyTWFwW29sZFBhcmFtc1tHTC5URVhUVVJFX01BR19GSUxURVJdXSB8fCBGSUxURVJfTU9ERS5ORUFSRVNUO1xuICAgIH1cbiAgICBpZiAob2xkUGFyYW1zW0dMLlRFWFRVUkVfV1JBUF9TXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXN1bHQuYWRkcmVzc01vZGVVID0gd3JhcE1hcFtvbGRQYXJhbXNbR0wuVEVYVFVSRV9XUkFQX1NdXSB8fCBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRTtcbiAgICB9XG4gICAgaWYgKG9sZFBhcmFtc1tHTC5URVhUVVJFX1dSQVBfVF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVzdWx0LmFkZHJlc3NNb2RlViA9IHdyYXBNYXBbb2xkUGFyYW1zW0dMLlRFWFRVUkVfV1JBUF9UXV0gfHwgQUREUkVTU19NT0RFLkNMQU1QX1RPX0VER0U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBNYXAgb2xkIEdMIGZvcm1hdC90eXBlIHRvIGx1bWEuZ2wgOSB0ZXh0dXJlIGZvcm1hdCBzdHJpbmdcbiAqL1xuZnVuY3Rpb24gbWFwVGV4dHVyZUZvcm1hdChnbEZvcm1hdDogbnVtYmVyLCBfZ2xUeXBlPzogbnVtYmVyKTogc3RyaW5nIHtcbiAgc3dpdGNoIChnbEZvcm1hdCkge1xuICAgIGNhc2UgR0wuUjhVSTpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SOF9VSU5UO1xuICAgIGNhc2UgR0wuUjE2VUk6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUjE2X1VJTlQ7XG4gICAgY2FzZSBHTC5SMzJVSTpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SMzJfVUlOVDtcbiAgICBjYXNlIEdMLlI4STpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SOF9TSU5UO1xuICAgIGNhc2UgR0wuUjE2STpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SMTZfU0lOVDtcbiAgICBjYXNlIEdMLlIzMkk6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUjMyX1NJTlQ7XG4gICAgY2FzZSBHTC5SMzJGOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlIzMl9GTE9BVDtcbiAgICBjYXNlIEdMLlJHQkE6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUkdCQThfVU5PUk07XG4gICAgY2FzZSBHTC5SR0I6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUkdCQThfVU5PUk07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SR0JBOF9VTk9STTtcbiAgfVxufVxuXG4vKipcbiAqIEV4cGFuZCAzLWJ5dGUtcGVyLXBpeGVsIFJHQiBkYXRhIHRvIDQtYnl0ZS1wZXItcGl4ZWwgUkdCQS5cbiAqIE5lZWRlZCBiZWNhdXNlIFdlYkdQVS9sdW1hLmdsIDkgaGFzIG5vIDMtY2hhbm5lbCB0ZXh0dXJlIGZvcm1hdC5cbiAqL1xuZnVuY3Rpb24gZXhwYW5kUkdCdG9SR0JBKFxuICBkYXRhOiBVaW50OEFycmF5IHwgVWludDhDbGFtcGVkQXJyYXksXG4gIHdpZHRoOiBudW1iZXIsXG4gIGhlaWdodDogbnVtYmVyXG4pOiBVaW50OEFycmF5IHtcbiAgY29uc3QgcGl4ZWxDb3VudCA9IHdpZHRoICogaGVpZ2h0O1xuICBjb25zdCByZ2JhID0gbmV3IFVpbnQ4QXJyYXkocGl4ZWxDb3VudCAqIDQpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHBpeGVsQ291bnQ7IGkrKykge1xuICAgIHJnYmFbaSAqIDRdID0gZGF0YVtpICogM107XG4gICAgcmdiYVtpICogNCArIDFdID0gZGF0YVtpICogMyArIDFdO1xuICAgIHJnYmFbaSAqIDQgKyAyXSA9IGRhdGFbaSAqIDMgKyAyXTtcbiAgICByZ2JhW2kgKiA0ICsgM10gPSAyNTU7XG4gIH1cbiAgcmV0dXJuIHJnYmE7XG59XG5cbi8qKlxuICogQ3JlYXRlIHRleHR1cmUgb2JqZWN0IGZyb20gaW1hZ2UgZGF0YSB1c2luZyBsdW1hLmdsIDkgZGV2aWNlIEFQSS5cbiAqIFJldHVybnMgYSBwcm9wZXIgbHVtYS5nbCBUZXh0dXJlIG9iamVjdCB0aGF0IHdvcmtzIHdpdGggdGhlIGJpbmRpbmcgc3lzdGVtLlxuICovXG5mdW5jdGlvbiBsb2FkVGV4dHVyZShcbiAgZ2w6IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQsXG4gIGRldmljZTogTHVtYURldmljZSB8IHVuZGVmaW5lZCxcbiAgaW1hZ2VEYXRhOiBUZXh0dXJlIHwgUmFzdGVyVGV4dHVyZURhdGFcbik6IFRleHR1cmUgfCBudWxsIHtcbiAgaWYgKCFpbWFnZURhdGEpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIElmIGFscmVhZHkgYSBsdW1hLmdsIFRleHR1cmUgaW5zdGFuY2UsIHJldHVybiBhcy1pc1xuICBjb25zdCByYXN0ZXJUZXh0dXJlRGF0YSA9IGltYWdlRGF0YSBhcyBSYXN0ZXJUZXh0dXJlRGF0YTtcbiAgaWYgKFxuICAgIHJhc3RlclRleHR1cmVEYXRhLmhhbmRsZSB8fFxuICAgIHJhc3RlclRleHR1cmVEYXRhLmlkPy5zdGFydHNXaXRoPy4oJ2x1bWEnKSB8fFxuICAgIHJhc3RlclRleHR1cmVEYXRhLmRldmljZVxuICApIHtcbiAgICByZXR1cm4gaW1hZ2VEYXRhIGFzIFRleHR1cmU7XG4gIH1cblxuICBjb25zdCByYXdEYXRhID0gaW1hZ2VEYXRhIGFzIFJhc3RlclRleHR1cmVEYXRhO1xuXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgbHVtYSBpbnRlcm5hbCBwcm9wZXJ0aWVzIG5vdCBpbiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0IHR5cGVcbiAgY29uc3QgbHVtYURldmljZSA9IGRldmljZSB8fCBnbC5sdW1hPy5kZXZpY2UgfHwgZ2wuX19sdW1hX2RldmljZTtcblxuICBpZiAoIWx1bWFEZXZpY2U/LmNyZWF0ZVRleHR1cmUpIHtcbiAgICBjb25zb2xlLndhcm4oJ1Jhc3RlckxheWVyOiBObyBsdW1hLmdsIGRldmljZSBhdmFpbGFibGUgZm9yIHRleHR1cmUgY3JlYXRpb24nKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2FtcGxlclBhcmFtcyA9IG1hcFNhbXBsZXJQYXJhbWV0ZXJzKHJhd0RhdGEucGFyYW1ldGVycyB8fCB7fSk7XG4gICAgY29uc3QgdGV4dHVyZUZvcm1hdCA9IHJhd0RhdGEuZm9ybWF0XG4gICAgICA/IG1hcFRleHR1cmVGb3JtYXQocmF3RGF0YS5mb3JtYXQsIHJhd0RhdGEudHlwZSlcbiAgICAgIDogVEVYVFVSRV9GT1JNQVQuUkdCQThfVU5PUk07XG5cbiAgICBjb25zdCB3aWR0aCA9IHJhd0RhdGEud2lkdGggfHwgcmF3RGF0YS5kYXRhPy53aWR0aCB8fCAxO1xuICAgIGNvbnN0IGhlaWdodCA9IHJhd0RhdGEuaGVpZ2h0IHx8IHJhd0RhdGEuZGF0YT8uaGVpZ2h0IHx8IDE7XG5cbiAgICBjb25zdCB0ZXh0dXJlUHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICBmb3JtYXQ6IHRleHR1cmVGb3JtYXQsXG4gICAgICBzYW1wbGVyOiBzYW1wbGVyUGFyYW1zLFxuICAgICAgLi4uKHJhd0RhdGEubWlwbWFwcyA9PT0gZmFsc2UgPyB7bWlwbWFwczogZmFsc2V9IDoge30pXG4gICAgfTtcblxuICAgIGlmIChyYXdEYXRhLmRhdGEpIHtcbiAgICAgIGlmIChcbiAgICAgICAgcmF3RGF0YS5kYXRhIGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudCB8fFxuICAgICAgICByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBIVE1MQ2FudmFzRWxlbWVudCB8fFxuICAgICAgICByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBJbWFnZUJpdG1hcCB8fFxuICAgICAgICByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBJbWFnZURhdGFcbiAgICAgICkge1xuICAgICAgICB0ZXh0dXJlUHJvcHMuZGF0YSA9IHJhd0RhdGEuZGF0YTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KHJhd0RhdGEuZGF0YSkpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHJhd0RhdGEuZm9ybWF0ID09PSBHTC5SR0IgJiZcbiAgICAgICAgICAocmF3RGF0YS5kYXRhIGluc3RhbmNlb2YgVWludDhBcnJheSB8fCByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGV4dHVyZVByb3BzLmRhdGEgPSBleHBhbmRSR0J0b1JHQkEocmF3RGF0YS5kYXRhLCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0ZXh0dXJlUHJvcHMuZGF0YSA9IHJhd0RhdGEuZGF0YTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBsdW1hRGV2aWNlLmNyZWF0ZVRleHR1cmUodGV4dHVyZVByb3BzKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybignUmFzdGVyTGF5ZXI6IEZhaWxlZCB0byBjcmVhdGUgdGV4dHVyZSB2aWEgZGV2aWNlLmNyZWF0ZVRleHR1cmU6JywgZSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSxJQUFBQSxVQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFBK0UsU0FBQUksUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFGLE9BQUEsQ0FBQUksTUFB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
|
|
@@ -6,7 +6,10 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
|
6
6
|
// Copyright contributors to the kepler.gl project
|
|
7
7
|
|
|
8
8
|
import Supercluster from 'supercluster';
|
|
9
|
-
import memoize from '
|
|
9
|
+
import memoize from 'es-toolkit/compat/memoize';
|
|
10
|
+
|
|
11
|
+
// es-toolkit/compat memoize does not export lodash's MemoizedFunction type.
|
|
12
|
+
|
|
10
13
|
export function getGeoJSON(data, getPosition, filterData) {
|
|
11
14
|
var raw = typeof filterData === 'function' ? data.filter(filterData) : data;
|
|
12
15
|
return raw.map(function (d) {
|
|
@@ -83,4 +86,4 @@ var ClusterBuilder = /*#__PURE__*/function () {
|
|
|
83
86
|
}]);
|
|
84
87
|
}();
|
|
85
88
|
export { ClusterBuilder as default };
|
|
86
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdXBlcmNsdXN0ZXIiLCJtZW1vaXplIiwiZ2V0R2VvSlNPTiIsImRhdGEiLCJnZXRQb3NpdGlvbiIsImZpbHRlckRhdGEiLCJyYXciLCJmaWx0ZXIiLCJtYXAiLCJkIiwidHlwZSIsInByb3BlcnRpZXMiLCJwb2ludHMiLCJwb2ludF9jb3VudCIsInBvaW50X2NvdW50X2FiYnJldmlhdGVkIiwiZ2VvbWV0cnkiLCJjb29yZGluYXRlcyIsImV2ZXJ5IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJjbHVzdGVyUmVzb2x2ZXIiLCJfcmVmIiwiY2x1c3RlclJhZGl1cyIsImNvbmNhdCIsImdldENsdXN0ZXJlciIsIl9yZWYyIiwiZ2VvSlNPTiIsIm1heFpvb20iLCJyYWRpdXMiLCJyZWR1Y2UiLCJhY2N1bXVsYXRlZCIsInByb3BzIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwibG9hZCIsIkNsdXN0ZXJCdWlsZGVyIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnR5IiwiY2x1c3RlcmVyIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJjbHVzdGVyc0F0Wm9vbSIsIl9yZWYzIiwiYmJveCIsInpvb20iLCJjbHVzdGVycyIsImdldENsdXN0ZXJzIiwiYyIsImkiLCJwb3NpdGlvbiIsImluZGV4IiwiY2xlYXJDbHVzdGVyZXJDYWNoZSIsIl90aGlzJGNsdXN0ZXJlciRjYWNoZSIsIl90aGlzJGNsdXN0ZXJlciRjYWNoZTIiLCJjYWNoZSIsImNsZWFyIiwiY2FsbCIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGF5ZXItdXRpbHMvY2x1c3Rlci11dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgU3VwZXJjbHVzdGVyIGZyb20gJ3N1cGVyY2x1c3Rlcic7XG5pbXBvcnQgbWVtb2l6ZSBmcm9tICdlcy10b29sa2l0L2NvbXBhdC9tZW1vaXplJztcbmltcG9ydCB7QkJveCwgUG9zaXRpb259IGZyb20gJ2dlb2pzb24nO1xuXG4vLyBlcy10b29sa2l0L2NvbXBhdCBtZW1vaXplIGRvZXMgbm90IGV4cG9ydCBsb2Rhc2gncyBNZW1vaXplZEZ1bmN0aW9uIHR5cGUuXG50eXBlIE1lbW9pemVkRnVuY3Rpb24gPSB7XG4gIGNhY2hlOiB7XG4gICAgY2xlYXI/OiAoKSA9PiB2b2lkO1xuICB9O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdlb0pTT04oZGF0YSwgZ2V0UG9zaXRpb24sIGZpbHRlckRhdGEpIHtcbiAgY29uc3QgcmF3ID0gdHlwZW9mIGZpbHRlckRhdGEgPT09ICdmdW5jdGlvbicgPyBkYXRhLmZpbHRlcihmaWx0ZXJEYXRhKSA6IGRhdGE7XG5cbiAgcmV0dXJuIHJhd1xuICAgIC5tYXAoZCA9PiAoe1xuICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgZGF0YTogZCxcbiAgICAgICAgcG9pbnRzOiBbZF0sXG4gICAgICAgIHBvaW50X2NvdW50OiAxLFxuICAgICAgICBwb2ludF9jb3VudF9hYmJyZXZpYXRlZDogJzEnXG4gICAgICB9LFxuICAgICAgZ2VvbWV0cnk6IHtcbiAgICAgICAgY29vcmRpbmF0ZXM6IGdldFBvc2l0aW9uKGQpXG4gICAgICB9XG4gICAgfSkpXG4gICAgLmZpbHRlcihkID0+IGQuZ2VvbWV0cnkuY29vcmRpbmF0ZXMuZXZlcnkoTnVtYmVyLmlzRmluaXRlKSk7XG59XG5cbmNvbnN0IGNsdXN0ZXJSZXNvbHZlciA9ICh7Y2x1c3RlclJhZGl1c306IHtjbHVzdGVyUmFkaXVzOiBudW1iZXJ9KSA9PiBgJHtjbHVzdGVyUmFkaXVzfWA7XG5cbmNvbnN0IGdldENsdXN0ZXJlciA9ICh7Y2x1c3RlclJhZGl1cywgZ2VvSlNPTn06IHtjbHVzdGVyUmFkaXVzOiBudW1iZXI7IGdlb0pTT059KSA9PlxuICBuZXcgU3VwZXJjbHVzdGVyKHtcbiAgICBtYXhab29tOiAyMCxcbiAgICByYWRpdXM6IGNsdXN0ZXJSYWRpdXMsXG4gICAgcmVkdWNlOiAoYWNjdW11bGF0ZWQsIHByb3BzKSA9PiB7XG4gICAgICBhY2N1bXVsYXRlZC5wb2ludHMgPSBbLi4uYWNjdW11bGF0ZWQucG9pbnRzLCAuLi5wcm9wcy5wb2ludHNdO1xuICAgIH0sXG4gICAgbWFwOiBwcm9wcyA9PiAoe3BvaW50czogW3Byb3BzLmRhdGFdfSlcbiAgfSkubG9hZChnZW9KU09OKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2x1c3RlckJ1aWxkZXIge1xuICBjbHVzdGVyZXI6ICgoe2NsdXN0ZXJSYWRpdXMsIGdlb0pTT059OiB7Y2x1c3RlclJhZGl1czogbnVtYmVyOyBnZW9KU09OfSkgPT4gU3VwZXJjbHVzdGVyKSAmXG4gICAgTWVtb2l6ZWRGdW5jdGlvbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNsdXN0ZXJlciA9IG1lbW9pemUoZ2V0Q2x1c3RlcmVyLCBjbHVzdGVyUmVzb2x2ZXIpO1xuICB9XG5cbiAgY2x1c3RlcnNBdFpvb20oe1xuICAgIGJib3gsXG4gICAgY2x1c3RlclJhZGl1cyxcbiAgICBnZW9KU09OLFxuICAgIHpvb21cbiAgfToge1xuICAgIGJib3g6IEJCb3g7XG4gICAgY2x1c3RlclJhZGl1czogbnVtYmVyO1xuICAgIGdlb0pTT047XG4gICAgem9vbTogbnVtYmVyO1xuICB9KToge1xuICAgIHBvaW50czogYW55O1xuICAgIHBvc2l0aW9uOiBQb3NpdGlvbjtcbiAgICBpbmRleDogbnVtYmVyO1xuICB9W10ge1xuICAgIGNvbnN0IGNsdXN0ZXJlciA9IHRoaXMuY2x1c3RlcmVyKHtjbHVzdGVyUmFkaXVzLCBnZW9KU09OfSk7XG5cbiAgICAvLyBtYXAgY2x1c3RlcnMgdG8gZm9ybWF0dGVkIGJpbnMgdG8gYmUgcGFzc2VkIHRvIGRlY2suZ2wgYmluLXNvcnRlclxuICAgIGNvbnN0IGNsdXN0ZXJzID0gY2x1c3RlcmVyLmdldENsdXN0ZXJzKGJib3gsIHpvb20pLm1hcCgoYywgaSkgPT4gKHtcbiAgICAgIHBvaW50czogYy5wcm9wZXJ0aWVzLnBvaW50cyxcbiAgICAgIHBvc2l0aW9uOiBjLmdlb21ldHJ5LmNvb3JkaW5hdGVzLFxuICAgICAgaW5kZXg6IGlcbiAgICB9KSk7XG5cbiAgICByZXR1cm4gY2x1c3RlcnM7XG4gIH1cblxuICBjbGVhckNsdXN0ZXJlckNhY2hlKCkge1xuICAgIHRoaXMuY2x1c3RlcmVyLmNhY2hlLmNsZWFyPy4oKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTs7QUFFQSxPQUFPQSxZQUFZLE1BQU0sY0FBYztBQUN2QyxPQUFPQyxPQUFPLE1BQU0sMkJBQTJCOztBQUcvQzs7QUFPQSxPQUFPLFNBQVNDLFVBQVVBLENBQUNDLElBQUksRUFBRUMsV0FBVyxFQUFFQyxVQUFVLEVBQUU7RUFDeEQsSUFBTUMsR0FBRyxHQUFHLE9BQU9ELFVBQVUsS0FBSyxVQUFVLEdBQUdGLElBQUksQ0FBQ0ksTUFBTSxDQUFDRixVQUFVLENBQUMsR0FBR0YsSUFBSTtFQUU3RSxPQUFPRyxHQUFHLENBQ1BFLEdBQUcsQ0FBQyxVQUFBQyxDQUFDO0lBQUEsT0FBSztNQUNUQyxJQUFJLEVBQUUsT0FBTztNQUNiQyxVQUFVLEVBQUU7UUFDVlIsSUFBSSxFQUFFTSxDQUFDO1FBQ1BHLE1BQU0sRUFBRSxDQUFDSCxDQUFDLENBQUM7UUFDWEksV0FBVyxFQUFFLENBQUM7UUFDZEMsdUJBQXVCLEVBQUU7TUFDM0IsQ0FBQztNQUNEQyxRQUFRLEVBQUU7UUFDUkMsV0FBVyxFQUFFWixXQUFXLENBQUNLLENBQUM7TUFDNUI7SUFDRixDQUFDO0VBQUEsQ0FBQyxDQUFDLENBQ0ZGLE1BQU0sQ0FBQyxVQUFBRSxDQUFDO0lBQUEsT0FBSUEsQ0FBQyxDQUFDTSxRQUFRLENBQUNDLFdBQVcsQ0FBQ0MsS0FBSyxDQUFDQyxNQUFNLENBQUNDLFFBQVEsQ0FBQztFQUFBLEVBQUM7QUFDL0Q7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
|
|
@@ -9,7 +9,7 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
9
9
|
|
|
10
10
|
// @ts-ignore GL resolution depends on moduleResolution setting
|
|
11
11
|
import { GL } from '@luma.gl/constants';
|
|
12
|
-
import isEqual from '
|
|
12
|
+
import isEqual from 'es-toolkit/compat/isEqual';
|
|
13
13
|
import { FILTER_MODE, ADDRESS_MODE, TEXTURE_FORMAT } from '@kepler.gl/constants';
|
|
14
14
|
|
|
15
15
|
/**
|
|
@@ -264,4 +264,4 @@ function loadTexture(gl, device, imageData) {
|
|
|
264
264
|
return null;
|
|
265
265
|
}
|
|
266
266
|
}
|
|
267
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHTCIsImlzRXF1YWwiLCJGSUxURVJfTU9ERSIsIkFERFJFU1NfTU9ERSIsIlRFWFRVUkVfRk9STUFUIiwiREVGQVVMVF9TQU1QTEVSX1BBUkFNRVRFUlMiLCJtaW5GaWx0ZXIiLCJORUFSRVNUIiwibWFnRmlsdGVyIiwiYWRkcmVzc01vZGVVIiwiQ0xBTVBfVE9fRURHRSIsImFkZHJlc3NNb2RlViIsImxvYWRJbWFnZUl0ZW0iLCJnbCIsImRldmljZSIsImltYWdlSXRlbSIsInJlc3VsdCIsIkFycmF5IiwiaXNBcnJheSIsImRpcnR5UmVzdWx0IiwibWFwIiwieCIsImxvYWRUZXh0dXJlIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsInRleHR1cmUiLCJ2YWx1ZSIsInB1c2giLCJlcnIiLCJlIiwiZiIsImxlbmd0aCIsImxvYWRJbWFnZXMiLCJfcmVmIiwiaW1hZ2VzIiwiaW1hZ2VzRGF0YSIsIm9sZEltYWdlc0RhdGEiLCJpbWFnZXNEaXJ0eSIsImhhc1BlbmRpbmdVcGxvYWRzIiwia2V5IiwiY2hhbmdlZEtleXMiLCJfaSIsIl9jaGFuZ2VkS2V5cyIsImltYWdlRGF0YSIsImxvYWRlZEl0ZW0iLCJtYXBTYW1wbGVyUGFyYW1ldGVycyIsIm9sZFBhcmFtcyIsIl9vYmplY3RTcHJlYWQiLCJtYWdGaWx0ZXJNYXAiLCJfZGVmaW5lUHJvcGVydHkiLCJMSU5FQVIiLCJtaW5GaWx0ZXJNYXAiLCJORUFSRVNUX01JUE1BUF9ORUFSRVNUIiwibWlwbWFwRmlsdGVyIiwiTkVBUkVTVF9NSVBNQVBfTElORUFSIiwiTElORUFSX01JUE1BUF9ORUFSRVNUIiwiTElORUFSX01JUE1BUF9MSU5FQVIiLCJ3cmFwTWFwIiwiUkVQRUFUIiwiTUlSUk9SRURfUkVQRUFUIiwiTUlSUk9SX1JFUEVBVCIsIlRFWFRVUkVfTUlOX0ZJTFRFUiIsInVuZGVmaW5lZCIsIm1hcHBlZCIsIlRFWFRVUkVfTUFHX0ZJTFRFUiIsIlRFWFRVUkVfV1JBUF9TIiwiVEVYVFVSRV9XUkFQX1QiLCJtYXBUZXh0dXJlRm9ybWF0IiwiZ2xGb3JtYXQiLCJfZ2xUeXBlIiwiUjhVSSIsIlI4X1VJTlQiLCJSMTZVSSIsIlIxNl9VSU5UIiwiUjMyVUkiLCJSMzJfVUlOVCIsIlI4SSIsIlI4X1NJTlQiLCJSMTZJIiwiUjE2X1NJTlQiLCJSMzJJIiwiUjMyX1NJTlQiLCJSMzJGIiwiUjMyX0ZMT0FUIiwiUkdCQSIsIlJHQkE4X1VOT1JNIiwiUkdCIiwiZXhwYW5kUkdCdG9SR0JBIiwiZGF0YSIsIndpZHRoIiwiaGVpZ2h0IiwicGl4ZWxDb3VudCIsInJnYmEiLCJVaW50OEFycmF5IiwiaSIsIl9yYXN0ZXJUZXh0dXJlRGF0YSRpZCIsIl9yYXN0ZXJUZXh0dXJlRGF0YSRpZDIiLCJfZ2wkbHVtYSIsInJhc3RlclRleHR1cmVEYXRhIiwiaGFuZGxlIiwiaWQiLCJzdGFydHNXaXRoIiwiY2FsbCIsInJhd0RhdGEiLCJsdW1hRGV2aWNlIiwibHVtYSIsIl9fbHVtYV9kZXZpY2UiLCJjcmVhdGVUZXh0dXJlIiwiY29uc29sZSIsIndhcm4iLCJfcmF3RGF0YSRkYXRhIiwiX3Jhd0RhdGEkZGF0YTIiLCJzYW1wbGVyUGFyYW1zIiwicGFyYW1ldGVycyIsInRleHR1cmVGb3JtYXQiLCJmb3JtYXQiLCJ0eXBlIiwidGV4dHVyZVByb3BzIiwic2FtcGxlciIsIm1pcG1hcHMiLCJIVE1MSW1hZ2VFbGVtZW50IiwiSFRNTENhbnZhc0VsZW1lbnQiLCJJbWFnZUJpdG1hcCIsIkltYWdlRGF0YSIsIkFycmF5QnVmZmVyIiwiaXNWaWV3IiwiVWludDhDbGFtcGVkQXJyYXkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmFzdGVyL2ltYWdlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBAdHMtaWdub3JlIEdMIHJlc29sdXRpb24gZGVwZW5kcyBvbiBtb2R1bGVSZXNvbHV0aW9uIHNldHRpbmdcbmltcG9ydCB7R0x9IGZyb20gJ0BsdW1hLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5cbmltcG9ydCB7RklMVEVSX01PREUsIEFERFJFU1NfTU9ERSwgVEVYVFVSRV9GT1JNQVR9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtUZXh0dXJlfSBmcm9tICdAbHVtYS5nbC9jb3JlJztcbmltcG9ydCB0eXBlIHtJbWFnZUlucHV0LCBJbWFnZVN0YXRlfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBMZWdhY3kgdGV4dHVyZSBjcmVhdGlvbiBkZXNjcmlwdG9yIHVzZWQgYnkgcmFzdGVyIHNoYWRlciBtb2R1bGVzLlxuICogQ29udGFpbnMgQ1BVLXNpZGUgZGF0YSArIG9sZCBHTC1lbnVtLWJhc2VkIHBhcmFtZXRlcnMgdGhhdCBnZXRcbiAqIHRyYW5zbGF0ZWQgdG8gbHVtYS5nbCA5J3MgZGV2aWNlLmNyZWF0ZVRleHR1cmUoKSBwcm9wcy5cbiAqL1xudHlwZSBUZXh0dXJlRGF0YVNvdXJjZSA9XG4gIHwgSFRNTEltYWdlRWxlbWVudFxuICB8IEhUTUxDYW52YXNFbGVtZW50XG4gIHwgSW1hZ2VCaXRtYXBcbiAgfCBJbWFnZURhdGFcbiAgfCBBcnJheUJ1ZmZlclZpZXc7XG5cbnR5cGUgUmFzdGVyVGV4dHVyZURhdGEgPSB7XG4gIGhhbmRsZT86IHVua25vd247XG4gIGlkPzogc3RyaW5nO1xuICBkZXZpY2U/OiB1bmtub3duO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBmb3JtYXQ/OiBudW1iZXI7XG4gIHR5cGU/OiBudW1iZXI7XG4gIHBhcmFtZXRlcnM/OiBSZWNvcmQ8bnVtYmVyLCBudW1iZXI+O1xuICBtaXBtYXBzPzogYm9vbGVhbjtcbiAgZGF0YT86IFRleHR1cmVEYXRhU291cmNlICYge3dpZHRoPzogbnVtYmVyOyBoZWlnaHQ/OiBudW1iZXJ9O1xufTtcblxuLyoqXG4gKiBUZXh0dXJlIHNhbXBsZXIgcGFyYW1ldGVycyBmb3IgbHVtYS5nbCA5IHRleHR1cmVzXG4gKi9cbmNvbnN0IERFRkFVTFRfU0FNUExFUl9QQVJBTUVURVJTID0ge1xuICBtaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1QsXG4gIG1hZ0ZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVCxcbiAgYWRkcmVzc01vZGVVOiBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRSxcbiAgYWRkcmVzc01vZGVWOiBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRVxufTtcblxuLyoqIGx1bWEuZ2wgZGV2aWNlIGludGVyZmFjZSBmb3IgdGV4dHVyZSBjcmVhdGlvbiAqL1xuaW50ZXJmYWNlIEx1bWFEZXZpY2Uge1xuICBjcmVhdGVUZXh0dXJlKHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFRleHR1cmU7XG4gIGdsPzogV2ViR0wyUmVuZGVyaW5nQ29udGV4dDtcbn1cblxudHlwZSBMb2FkSW1hZ2VzT3B0aW9ucyA9IHtcbiAgZ2w6IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ7XG4gIGRldmljZT86IEx1bWFEZXZpY2U7XG4gIGltYWdlczogSW1hZ2VTdGF0ZTtcbiAgaW1hZ2VzRGF0YTogSW1hZ2VJbnB1dDtcbiAgb2xkSW1hZ2VzRGF0YTogSW1hZ2VJbnB1dDtcbn07XG5cbi8qKlxuICogTG9hZCBpbWFnZSBpdGVtcyB0byB3ZWJnbCBjb250ZXh0XG4gKi9cbmZ1bmN0aW9uIGxvYWRJbWFnZUl0ZW0oXG4gIGdsOiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0LFxuICBkZXZpY2U6IEx1bWFEZXZpY2UgfCB1bmRlZmluZWQsXG4gIGltYWdlSXRlbTogUmFzdGVyVGV4dHVyZURhdGEgfCBUZXh0dXJlIHwgKFJhc3RlclRleHR1cmVEYXRhIHwgVGV4dHVyZSlbXVxuKTogbnVsbCB8IFRleHR1cmUgfCBUZXh0dXJlW10ge1xuICBsZXQgcmVzdWx0OiBudWxsIHwgVGV4dHVyZSB8IFRleHR1cmVbXTtcbiAgaWYgKEFycmF5LmlzQXJyYXkoaW1hZ2VJdGVtKSkge1xuICAgIGNvbnN0IGRpcnR5UmVzdWx0ID0gaW1hZ2VJdGVtLm1hcCh4ID0+IGxvYWRUZXh0dXJlKGdsLCBkZXZpY2UsIHgpKTtcbiAgICByZXN1bHQgPSBbXTtcbiAgICBmb3IgKGNvbnN0IHRleHR1cmUgb2YgZGlydHlSZXN1bHQpIHtcbiAgICAgIGlmICh0ZXh0dXJlKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHRleHR1cmUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXJlc3VsdC5sZW5ndGgpIHtcbiAgICAgIHJlc3VsdCA9IG51bGw7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJlc3VsdCA9IGxvYWRUZXh0dXJlKGdsLCBkZXZpY2UsIGltYWdlSXRlbSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBMb2FkIGltYWdlIGl0ZW1zIHRvIHdlYmdsIGNvbnRleHRcbiAqL1xudHlwZSBMb2FkSW1hZ2VzUmVzdWx0ID0ge1xuICAvKiogVXBkYXRlZCBpbWFnZXMgc3RhdGUsIG9yIG51bGwgaWYgbm90aGluZyBjaGFuZ2VkICovXG4gIGltYWdlczogSW1hZ2VTdGF0ZSB8IG51bGw7XG4gIC8qKiBUcnVlIHdoZW4gYXQgbGVhc3Qgb25lIHRleHR1cmUgdXBsb2FkIGZhaWxlZCBhbmQgc2hvdWxkIGJlIHJldHJpZWQgKi9cbiAgaGFzUGVuZGluZ1VwbG9hZHM6IGJvb2xlYW47XG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRJbWFnZXMoe1xuICBnbCxcbiAgZGV2aWNlLFxuICBpbWFnZXMsXG4gIGltYWdlc0RhdGEsXG4gIG9sZEltYWdlc0RhdGFcbn06IExvYWRJbWFnZXNPcHRpb25zKTogTG9hZEltYWdlc1Jlc3VsdCB7XG4gIGxldCBpbWFnZXNEaXJ0eSA9IGZhbHNlO1xuICBsZXQgaGFzUGVuZGluZ1VwbG9hZHMgPSBmYWxzZTtcblxuICBpZiAob2xkSW1hZ2VzRGF0YSkge1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9sZEltYWdlc0RhdGEpIHtcbiAgICAgIGlmIChpbWFnZXNEYXRhICYmICEoa2V5IGluIGltYWdlc0RhdGEpICYmIGtleSBpbiBpbWFnZXMpIHtcbiAgICAgICAgZGVsZXRlIGltYWdlc1trZXldO1xuICAgICAgICBpbWFnZXNEaXJ0eSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgY2hhbmdlZEtleXM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3Qga2V5IGluIGltYWdlc0RhdGEpIHtcbiAgICBpZiAoIW9sZEltYWdlc0RhdGEgfHwgKG9sZEltYWdlc0RhdGEgJiYgIShrZXkgaW4gb2xkSW1hZ2VzRGF0YSkpKSB7XG4gICAgICBjaGFuZ2VkS2V5cy5wdXNoKGtleSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoIWlzRXF1YWwoaW1hZ2VzRGF0YVtrZXldLCBvbGRJbWFnZXNEYXRhW2tleV0pKSB7XG4gICAgICBjaGFuZ2VkS2V5cy5wdXNoKGtleSk7XG4gICAgfVxuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgb2YgY2hhbmdlZEtleXMpIHtcbiAgICBjb25zdCBpbWFnZURhdGEgPSBpbWFnZXNEYXRhW2tleV07XG4gICAgaWYgKCFpbWFnZURhdGEpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGxvYWRlZEl0ZW0gPSBsb2FkSW1hZ2VJdGVtKGdsLCBkZXZpY2UsIGltYWdlRGF0YSk7XG4gICAgaWYgKGxvYWRlZEl0ZW0pIHtcbiAgICAgIGltYWdlc1trZXldID0gbG9hZGVkSXRlbTtcbiAgICAgIC8vIE9ubHkgbWFyayBkaXJ0eSB3aGVuIHRoZSB0ZXh0dXJlIHdhcyBhY3R1YWxseSB1cGxvYWRlZC5cbiAgICAgIGltYWdlc0RpcnR5ID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXBsb2FkIGZhaWxlZCAoZGV2aWNlIG5vdCByZWFkeSBvciBjcmVhdGVUZXh0dXJlIHRocmV3KS4gU2lnbmFsIHRoYXRcbiAgICAgIC8vIHRoZSBjYWxsZXIgc2hvdWxkIHJldHJ5IG5leHQgZnJhbWUg4oCUIGRvIE5PVCBzZXQgaW1hZ2VzRGlydHkgc28gd2VcbiAgICAgIC8vIGRvbid0IHByb3BhZ2F0ZSBhbiBpbWFnZXMgb2JqZWN0IHdpdGggYSBtaXNzaW5nIGtleSB0aGF0IGNhdXNlc1xuICAgICAgLy8gZHJhdygpIHRvIGJhaWwgcGVybWFuZW50bHkuXG4gICAgICBoYXNQZW5kaW5nVXBsb2FkcyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtpbWFnZXM6IGltYWdlc0RpcnR5ID8gaW1hZ2VzIDogbnVsbCwgaGFzUGVuZGluZ1VwbG9hZHN9O1xufVxuXG4vKipcbiAqIE1hcCBvbGQgR0wgdGV4dHVyZSBwYXJhbWV0ZXIgY29uc3RhbnRzIHRvIGx1bWEuZ2wgOSBzYW1wbGVyIHBhcmFtZXRlcnNcbiAqL1xuZnVuY3Rpb24gbWFwU2FtcGxlclBhcmFtZXRlcnMob2xkUGFyYW1zOiBSZWNvcmQ8bnVtYmVyLCBudW1iZXI+KTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHsuLi5ERUZBVUxUX1NBTVBMRVJfUEFSQU1FVEVSU307XG5cbiAgY29uc3QgbWFnRmlsdGVyTWFwID0ge1xuICAgIFtHTC5ORUFSRVNUXTogRklMVEVSX01PREUuTkVBUkVTVCxcbiAgICBbR0wuTElORUFSXTogRklMVEVSX01PREUuTElORUFSXG4gIH07XG5cbiAgY29uc3QgbWluRmlsdGVyTWFwOiBSZWNvcmQ8bnVtYmVyLCB7bWluRmlsdGVyOiBzdHJpbmc7IG1pcG1hcEZpbHRlcj86IHN0cmluZ30+ID0ge1xuICAgIFtHTC5ORUFSRVNUXToge21pbkZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVH0sXG4gICAgW0dMLkxJTkVBUl06IHttaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLkxJTkVBUn0sXG4gICAgW0dMLk5FQVJFU1RfTUlQTUFQX05FQVJFU1RdOiB7XG4gICAgICBtaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1QsXG4gICAgICBtaXBtYXBGaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1RcbiAgICB9LFxuICAgIFtHTC5ORUFSRVNUX01JUE1BUF9MSU5FQVJdOiB7bWluRmlsdGVyOiBGSUxURVJfTU9ERS5ORUFSRVNULCBtaXBtYXBGaWx0ZXI6IEZJTFRFUl9NT0RFLkxJTkVBUn0sXG4gICAgW0dMLkxJTkVBUl9NSVBNQVBfTkVBUkVTVF06IHttaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLkxJTkVBUiwgbWlwbWFwRmlsdGVyOiBGSUxURVJfTU9ERS5ORUFSRVNUfSxcbiAgICBbR0wuTElORUFSX01JUE1BUF9MSU5FQVJdOiB7bWluRmlsdGVyOiBGSUxURVJfTU9ERS5MSU5FQVIsIG1pcG1hcEZpbHRlcjogRklMVEVSX01PREUuTElORUFSfVxuICB9O1xuXG4gIGNvbnN0IHdyYXBNYXAgPSB7XG4gICAgW0dMLkNMQU1QX1RPX0VER0VdOiBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRSxcbiAgICBbR0wuUkVQRUFUXTogQUREUkVTU19NT0RFLlJFUEVBVCxcbiAgICBbR0wuTUlSUk9SRURfUkVQRUFUXTogQUREUkVTU19NT0RFLk1JUlJPUl9SRVBFQVRcbiAgfTtcblxuICBpZiAob2xkUGFyYW1zKSB7XG4gICAgaWYgKG9sZFBhcmFtc1tHTC5URVhUVVJFX01JTl9GSUxURVJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IG1hcHBlZCA9IG1pbkZpbHRlck1hcFtvbGRQYXJhbXNbR0wuVEVYVFVSRV9NSU5fRklMVEVSXV07XG4gICAgICBpZiAobWFwcGVkKSB7XG4gICAgICAgIHJlc3VsdC5taW5GaWx0ZXIgPSBtYXBwZWQubWluRmlsdGVyO1xuICAgICAgICBpZiAobWFwcGVkLm1pcG1hcEZpbHRlcikge1xuICAgICAgICAgIHJlc3VsdC5taXBtYXBGaWx0ZXIgPSBtYXBwZWQubWlwbWFwRmlsdGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChvbGRQYXJhbXNbR0wuVEVYVFVSRV9NQUdfRklMVEVSXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXN1bHQubWFnRmlsdGVyID0gbWFnRmlsdGVyTWFwW29sZFBhcmFtc1tHTC5URVhUVVJFX01BR19GSUxURVJdXSB8fCBGSUxURVJfTU9ERS5ORUFSRVNUO1xuICAgIH1cbiAgICBpZiAob2xkUGFyYW1zW0dMLlRFWFRVUkVfV1JBUF9TXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXN1bHQuYWRkcmVzc01vZGVVID0gd3JhcE1hcFtvbGRQYXJhbXNbR0wuVEVYVFVSRV9XUkFQX1NdXSB8fCBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRTtcbiAgICB9XG4gICAgaWYgKG9sZFBhcmFtc1tHTC5URVhUVVJFX1dSQVBfVF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVzdWx0LmFkZHJlc3NNb2RlViA9IHdyYXBNYXBbb2xkUGFyYW1zW0dMLlRFWFRVUkVfV1JBUF9UXV0gfHwgQUREUkVTU19NT0RFLkNMQU1QX1RPX0VER0U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBNYXAgb2xkIEdMIGZvcm1hdC90eXBlIHRvIGx1bWEuZ2wgOSB0ZXh0dXJlIGZvcm1hdCBzdHJpbmdcbiAqL1xuZnVuY3Rpb24gbWFwVGV4dHVyZUZvcm1hdChnbEZvcm1hdDogbnVtYmVyLCBfZ2xUeXBlPzogbnVtYmVyKTogc3RyaW5nIHtcbiAgc3dpdGNoIChnbEZvcm1hdCkge1xuICAgIGNhc2UgR0wuUjhVSTpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SOF9VSU5UO1xuICAgIGNhc2UgR0wuUjE2VUk6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUjE2X1VJTlQ7XG4gICAgY2FzZSBHTC5SMzJVSTpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SMzJfVUlOVDtcbiAgICBjYXNlIEdMLlI4STpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SOF9TSU5UO1xuICAgIGNhc2UgR0wuUjE2STpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SMTZfU0lOVDtcbiAgICBjYXNlIEdMLlIzMkk6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUjMyX1NJTlQ7XG4gICAgY2FzZSBHTC5SMzJGOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlIzMl9GTE9BVDtcbiAgICBjYXNlIEdMLlJHQkE6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUkdCQThfVU5PUk07XG4gICAgY2FzZSBHTC5SR0I6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUkdCQThfVU5PUk07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SR0JBOF9VTk9STTtcbiAgfVxufVxuXG4vKipcbiAqIEV4cGFuZCAzLWJ5dGUtcGVyLXBpeGVsIFJHQiBkYXRhIHRvIDQtYnl0ZS1wZXItcGl4ZWwgUkdCQS5cbiAqIE5lZWRlZCBiZWNhdXNlIFdlYkdQVS9sdW1hLmdsIDkgaGFzIG5vIDMtY2hhbm5lbCB0ZXh0dXJlIGZvcm1hdC5cbiAqL1xuZnVuY3Rpb24gZXhwYW5kUkdCdG9SR0JBKFxuICBkYXRhOiBVaW50OEFycmF5IHwgVWludDhDbGFtcGVkQXJyYXksXG4gIHdpZHRoOiBudW1iZXIsXG4gIGhlaWdodDogbnVtYmVyXG4pOiBVaW50OEFycmF5IHtcbiAgY29uc3QgcGl4ZWxDb3VudCA9IHdpZHRoICogaGVpZ2h0O1xuICBjb25zdCByZ2JhID0gbmV3IFVpbnQ4QXJyYXkocGl4ZWxDb3VudCAqIDQpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHBpeGVsQ291bnQ7IGkrKykge1xuICAgIHJnYmFbaSAqIDRdID0gZGF0YVtpICogM107XG4gICAgcmdiYVtpICogNCArIDFdID0gZGF0YVtpICogMyArIDFdO1xuICAgIHJnYmFbaSAqIDQgKyAyXSA9IGRhdGFbaSAqIDMgKyAyXTtcbiAgICByZ2JhW2kgKiA0ICsgM10gPSAyNTU7XG4gIH1cbiAgcmV0dXJuIHJnYmE7XG59XG5cbi8qKlxuICogQ3JlYXRlIHRleHR1cmUgb2JqZWN0IGZyb20gaW1hZ2UgZGF0YSB1c2luZyBsdW1hLmdsIDkgZGV2aWNlIEFQSS5cbiAqIFJldHVybnMgYSBwcm9wZXIgbHVtYS5nbCBUZXh0dXJlIG9iamVjdCB0aGF0IHdvcmtzIHdpdGggdGhlIGJpbmRpbmcgc3lzdGVtLlxuICovXG5mdW5jdGlvbiBsb2FkVGV4dHVyZShcbiAgZ2w6IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQsXG4gIGRldmljZTogTHVtYURldmljZSB8IHVuZGVmaW5lZCxcbiAgaW1hZ2VEYXRhOiBUZXh0dXJlIHwgUmFzdGVyVGV4dHVyZURhdGFcbik6IFRleHR1cmUgfCBudWxsIHtcbiAgaWYgKCFpbWFnZURhdGEpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIElmIGFscmVhZHkgYSBsdW1hLmdsIFRleHR1cmUgaW5zdGFuY2UsIHJldHVybiBhcy1pc1xuICBjb25zdCByYXN0ZXJUZXh0dXJlRGF0YSA9IGltYWdlRGF0YSBhcyBSYXN0ZXJUZXh0dXJlRGF0YTtcbiAgaWYgKFxuICAgIHJhc3RlclRleHR1cmVEYXRhLmhhbmRsZSB8fFxuICAgIHJhc3RlclRleHR1cmVEYXRhLmlkPy5zdGFydHNXaXRoPy4oJ2x1bWEnKSB8fFxuICAgIHJhc3RlclRleHR1cmVEYXRhLmRldmljZVxuICApIHtcbiAgICByZXR1cm4gaW1hZ2VEYXRhIGFzIFRleHR1cmU7XG4gIH1cblxuICBjb25zdCByYXdEYXRhID0gaW1hZ2VEYXRhIGFzIFJhc3RlclRleHR1cmVEYXRhO1xuXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgbHVtYSBpbnRlcm5hbCBwcm9wZXJ0aWVzIG5vdCBpbiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0IHR5cGVcbiAgY29uc3QgbHVtYURldmljZSA9IGRldmljZSB8fCBnbC5sdW1hPy5kZXZpY2UgfHwgZ2wuX19sdW1hX2RldmljZTtcblxuICBpZiAoIWx1bWFEZXZpY2U/LmNyZWF0ZVRleHR1cmUpIHtcbiAgICBjb25zb2xlLndhcm4oJ1Jhc3RlckxheWVyOiBObyBsdW1hLmdsIGRldmljZSBhdmFpbGFibGUgZm9yIHRleHR1cmUgY3JlYXRpb24nKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2FtcGxlclBhcmFtcyA9IG1hcFNhbXBsZXJQYXJhbWV0ZXJzKHJhd0RhdGEucGFyYW1ldGVycyB8fCB7fSk7XG4gICAgY29uc3QgdGV4dHVyZUZvcm1hdCA9IHJhd0RhdGEuZm9ybWF0XG4gICAgICA/IG1hcFRleHR1cmVGb3JtYXQocmF3RGF0YS5mb3JtYXQsIHJhd0RhdGEudHlwZSlcbiAgICAgIDogVEVYVFVSRV9GT1JNQVQuUkdCQThfVU5PUk07XG5cbiAgICBjb25zdCB3aWR0aCA9IHJhd0RhdGEud2lkdGggfHwgcmF3RGF0YS5kYXRhPy53aWR0aCB8fCAxO1xuICAgIGNvbnN0IGhlaWdodCA9IHJhd0RhdGEuaGVpZ2h0IHx8IHJhd0RhdGEuZGF0YT8uaGVpZ2h0IHx8IDE7XG5cbiAgICBjb25zdCB0ZXh0dXJlUHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICBmb3JtYXQ6IHRleHR1cmVGb3JtYXQsXG4gICAgICBzYW1wbGVyOiBzYW1wbGVyUGFyYW1zLFxuICAgICAgLi4uKHJhd0RhdGEubWlwbWFwcyA9PT0gZmFsc2UgPyB7bWlwbWFwczogZmFsc2V9IDoge30pXG4gICAgfTtcblxuICAgIGlmIChyYXdEYXRhLmRhdGEpIHtcbiAgICAgIGlmIChcbiAgICAgICAgcmF3RGF0YS5kYXRhIGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudCB8fFxuICAgICAgICByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBIVE1MQ2FudmFzRWxlbWVudCB8fFxuICAgICAgICByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBJbWFnZUJpdG1hcCB8fFxuICAgICAgICByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBJbWFnZURhdGFcbiAgICAgICkge1xuICAgICAgICB0ZXh0dXJlUHJvcHMuZGF0YSA9IHJhd0RhdGEuZGF0YTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KHJhd0RhdGEuZGF0YSkpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHJhd0RhdGEuZm9ybWF0ID09PSBHTC5SR0IgJiZcbiAgICAgICAgICAocmF3RGF0YS5kYXRhIGluc3RhbmNlb2YgVWludDhBcnJheSB8fCByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGV4dHVyZVByb3BzLmRhdGEgPSBleHBhbmRSR0J0b1JHQkEocmF3RGF0YS5kYXRhLCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0ZXh0dXJlUHJvcHMuZGF0YSA9IHJhd0RhdGEuZGF0YTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBsdW1hRGV2aWNlLmNyZWF0ZVRleHR1cmUodGV4dHVyZVByb3BzKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybignUmFzdGVyTGF5ZXI6IEZhaWxlZCB0byBjcmVhdGUgdGV4dHVyZSB2aWEgZGV2aWNlLmNyZWF0ZVRleHR1cmU6JywgZSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTs7QUFFQTtBQUNBLFNBQVFBLEVBQUUsUUFBTyxvQkFBb0I7QUFDckMsT0FBT0MsT0FBTyxNQUFNLGdCQUFnQjtBQUVwQyxTQUFRQyxXQUFXLEVBQUVDLFlBQVksRUFBRUMsY0FBYyxRQUFPLHNCQUFzQjs7QUFJOUU7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
|
|
267
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHTCIsImlzRXF1YWwiLCJGSUxURVJfTU9ERSIsIkFERFJFU1NfTU9ERSIsIlRFWFRVUkVfRk9STUFUIiwiREVGQVVMVF9TQU1QTEVSX1BBUkFNRVRFUlMiLCJtaW5GaWx0ZXIiLCJORUFSRVNUIiwibWFnRmlsdGVyIiwiYWRkcmVzc01vZGVVIiwiQ0xBTVBfVE9fRURHRSIsImFkZHJlc3NNb2RlViIsImxvYWRJbWFnZUl0ZW0iLCJnbCIsImRldmljZSIsImltYWdlSXRlbSIsInJlc3VsdCIsIkFycmF5IiwiaXNBcnJheSIsImRpcnR5UmVzdWx0IiwibWFwIiwieCIsImxvYWRUZXh0dXJlIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsInRleHR1cmUiLCJ2YWx1ZSIsInB1c2giLCJlcnIiLCJlIiwiZiIsImxlbmd0aCIsImxvYWRJbWFnZXMiLCJfcmVmIiwiaW1hZ2VzIiwiaW1hZ2VzRGF0YSIsIm9sZEltYWdlc0RhdGEiLCJpbWFnZXNEaXJ0eSIsImhhc1BlbmRpbmdVcGxvYWRzIiwia2V5IiwiY2hhbmdlZEtleXMiLCJfaSIsIl9jaGFuZ2VkS2V5cyIsImltYWdlRGF0YSIsImxvYWRlZEl0ZW0iLCJtYXBTYW1wbGVyUGFyYW1ldGVycyIsIm9sZFBhcmFtcyIsIl9vYmplY3RTcHJlYWQiLCJtYWdGaWx0ZXJNYXAiLCJfZGVmaW5lUHJvcGVydHkiLCJMSU5FQVIiLCJtaW5GaWx0ZXJNYXAiLCJORUFSRVNUX01JUE1BUF9ORUFSRVNUIiwibWlwbWFwRmlsdGVyIiwiTkVBUkVTVF9NSVBNQVBfTElORUFSIiwiTElORUFSX01JUE1BUF9ORUFSRVNUIiwiTElORUFSX01JUE1BUF9MSU5FQVIiLCJ3cmFwTWFwIiwiUkVQRUFUIiwiTUlSUk9SRURfUkVQRUFUIiwiTUlSUk9SX1JFUEVBVCIsIlRFWFRVUkVfTUlOX0ZJTFRFUiIsInVuZGVmaW5lZCIsIm1hcHBlZCIsIlRFWFRVUkVfTUFHX0ZJTFRFUiIsIlRFWFRVUkVfV1JBUF9TIiwiVEVYVFVSRV9XUkFQX1QiLCJtYXBUZXh0dXJlRm9ybWF0IiwiZ2xGb3JtYXQiLCJfZ2xUeXBlIiwiUjhVSSIsIlI4X1VJTlQiLCJSMTZVSSIsIlIxNl9VSU5UIiwiUjMyVUkiLCJSMzJfVUlOVCIsIlI4SSIsIlI4X1NJTlQiLCJSMTZJIiwiUjE2X1NJTlQiLCJSMzJJIiwiUjMyX1NJTlQiLCJSMzJGIiwiUjMyX0ZMT0FUIiwiUkdCQSIsIlJHQkE4X1VOT1JNIiwiUkdCIiwiZXhwYW5kUkdCdG9SR0JBIiwiZGF0YSIsIndpZHRoIiwiaGVpZ2h0IiwicGl4ZWxDb3VudCIsInJnYmEiLCJVaW50OEFycmF5IiwiaSIsIl9yYXN0ZXJUZXh0dXJlRGF0YSRpZCIsIl9yYXN0ZXJUZXh0dXJlRGF0YSRpZDIiLCJfZ2wkbHVtYSIsInJhc3RlclRleHR1cmVEYXRhIiwiaGFuZGxlIiwiaWQiLCJzdGFydHNXaXRoIiwiY2FsbCIsInJhd0RhdGEiLCJsdW1hRGV2aWNlIiwibHVtYSIsIl9fbHVtYV9kZXZpY2UiLCJjcmVhdGVUZXh0dXJlIiwiY29uc29sZSIsIndhcm4iLCJfcmF3RGF0YSRkYXRhIiwiX3Jhd0RhdGEkZGF0YTIiLCJzYW1wbGVyUGFyYW1zIiwicGFyYW1ldGVycyIsInRleHR1cmVGb3JtYXQiLCJmb3JtYXQiLCJ0eXBlIiwidGV4dHVyZVByb3BzIiwic2FtcGxlciIsIm1pcG1hcHMiLCJIVE1MSW1hZ2VFbGVtZW50IiwiSFRNTENhbnZhc0VsZW1lbnQiLCJJbWFnZUJpdG1hcCIsIkltYWdlRGF0YSIsIkFycmF5QnVmZmVyIiwiaXNWaWV3IiwiVWludDhDbGFtcGVkQXJyYXkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmFzdGVyL2ltYWdlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBAdHMtaWdub3JlIEdMIHJlc29sdXRpb24gZGVwZW5kcyBvbiBtb2R1bGVSZXNvbHV0aW9uIHNldHRpbmdcbmltcG9ydCB7R0x9IGZyb20gJ0BsdW1hLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdlcy10b29sa2l0L2NvbXBhdC9pc0VxdWFsJztcblxuaW1wb3J0IHtGSUxURVJfTU9ERSwgQUREUkVTU19NT0RFLCBURVhUVVJFX0ZPUk1BVH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1RleHR1cmV9IGZyb20gJ0BsdW1hLmdsL2NvcmUnO1xuaW1wb3J0IHR5cGUge0ltYWdlSW5wdXQsIEltYWdlU3RhdGV9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIExlZ2FjeSB0ZXh0dXJlIGNyZWF0aW9uIGRlc2NyaXB0b3IgdXNlZCBieSByYXN0ZXIgc2hhZGVyIG1vZHVsZXMuXG4gKiBDb250YWlucyBDUFUtc2lkZSBkYXRhICsgb2xkIEdMLWVudW0tYmFzZWQgcGFyYW1ldGVycyB0aGF0IGdldFxuICogdHJhbnNsYXRlZCB0byBsdW1hLmdsIDkncyBkZXZpY2UuY3JlYXRlVGV4dHVyZSgpIHByb3BzLlxuICovXG50eXBlIFRleHR1cmVEYXRhU291cmNlID1cbiAgfCBIVE1MSW1hZ2VFbGVtZW50XG4gIHwgSFRNTENhbnZhc0VsZW1lbnRcbiAgfCBJbWFnZUJpdG1hcFxuICB8IEltYWdlRGF0YVxuICB8IEFycmF5QnVmZmVyVmlldztcblxudHlwZSBSYXN0ZXJUZXh0dXJlRGF0YSA9IHtcbiAgaGFuZGxlPzogdW5rbm93bjtcbiAgaWQ/OiBzdHJpbmc7XG4gIGRldmljZT86IHVua25vd247XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIGZvcm1hdD86IG51bWJlcjtcbiAgdHlwZT86IG51bWJlcjtcbiAgcGFyYW1ldGVycz86IFJlY29yZDxudW1iZXIsIG51bWJlcj47XG4gIG1pcG1hcHM/OiBib29sZWFuO1xuICBkYXRhPzogVGV4dHVyZURhdGFTb3VyY2UgJiB7d2lkdGg/OiBudW1iZXI7IGhlaWdodD86IG51bWJlcn07XG59O1xuXG4vKipcbiAqIFRleHR1cmUgc2FtcGxlciBwYXJhbWV0ZXJzIGZvciBsdW1hLmdsIDkgdGV4dHVyZXNcbiAqL1xuY29uc3QgREVGQVVMVF9TQU1QTEVSX1BBUkFNRVRFUlMgPSB7XG4gIG1pbkZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVCxcbiAgbWFnRmlsdGVyOiBGSUxURVJfTU9ERS5ORUFSRVNULFxuICBhZGRyZXNzTW9kZVU6IEFERFJFU1NfTU9ERS5DTEFNUF9UT19FREdFLFxuICBhZGRyZXNzTW9kZVY6IEFERFJFU1NfTU9ERS5DTEFNUF9UT19FREdFXG59O1xuXG4vKiogbHVtYS5nbCBkZXZpY2UgaW50ZXJmYWNlIGZvciB0ZXh0dXJlIGNyZWF0aW9uICovXG5pbnRlcmZhY2UgTHVtYURldmljZSB7XG4gIGNyZWF0ZVRleHR1cmUocHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogVGV4dHVyZTtcbiAgZ2w/OiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0O1xufVxuXG50eXBlIExvYWRJbWFnZXNPcHRpb25zID0ge1xuICBnbDogV2ViR0wyUmVuZGVyaW5nQ29udGV4dDtcbiAgZGV2aWNlPzogTHVtYURldmljZTtcbiAgaW1hZ2VzOiBJbWFnZVN0YXRlO1xuICBpbWFnZXNEYXRhOiBJbWFnZUlucHV0O1xuICBvbGRJbWFnZXNEYXRhOiBJbWFnZUlucHV0O1xufTtcblxuLyoqXG4gKiBMb2FkIGltYWdlIGl0ZW1zIHRvIHdlYmdsIGNvbnRleHRcbiAqL1xuZnVuY3Rpb24gbG9hZEltYWdlSXRlbShcbiAgZ2w6IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQsXG4gIGRldmljZTogTHVtYURldmljZSB8IHVuZGVmaW5lZCxcbiAgaW1hZ2VJdGVtOiBSYXN0ZXJUZXh0dXJlRGF0YSB8IFRleHR1cmUgfCAoUmFzdGVyVGV4dHVyZURhdGEgfCBUZXh0dXJlKVtdXG4pOiBudWxsIHwgVGV4dHVyZSB8IFRleHR1cmVbXSB7XG4gIGxldCByZXN1bHQ6IG51bGwgfCBUZXh0dXJlIHwgVGV4dHVyZVtdO1xuICBpZiAoQXJyYXkuaXNBcnJheShpbWFnZUl0ZW0pKSB7XG4gICAgY29uc3QgZGlydHlSZXN1bHQgPSBpbWFnZUl0ZW0ubWFwKHggPT4gbG9hZFRleHR1cmUoZ2wsIGRldmljZSwgeCkpO1xuICAgIHJlc3VsdCA9IFtdO1xuICAgIGZvciAoY29uc3QgdGV4dHVyZSBvZiBkaXJ0eVJlc3VsdCkge1xuICAgICAgaWYgKHRleHR1cmUpIHtcbiAgICAgICAgcmVzdWx0LnB1c2godGV4dHVyZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghcmVzdWx0Lmxlbmd0aCkge1xuICAgICAgcmVzdWx0ID0gbnVsbDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0ID0gbG9hZFRleHR1cmUoZ2wsIGRldmljZSwgaW1hZ2VJdGVtKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIExvYWQgaW1hZ2UgaXRlbXMgdG8gd2ViZ2wgY29udGV4dFxuICovXG50eXBlIExvYWRJbWFnZXNSZXN1bHQgPSB7XG4gIC8qKiBVcGRhdGVkIGltYWdlcyBzdGF0ZSwgb3IgbnVsbCBpZiBub3RoaW5nIGNoYW5nZWQgKi9cbiAgaW1hZ2VzOiBJbWFnZVN0YXRlIHwgbnVsbDtcbiAgLyoqIFRydWUgd2hlbiBhdCBsZWFzdCBvbmUgdGV4dHVyZSB1cGxvYWQgZmFpbGVkIGFuZCBzaG91bGQgYmUgcmV0cmllZCAqL1xuICBoYXNQZW5kaW5nVXBsb2FkczogYm9vbGVhbjtcbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb21wbGV4aXR5XG5leHBvcnQgZnVuY3Rpb24gbG9hZEltYWdlcyh7XG4gIGdsLFxuICBkZXZpY2UsXG4gIGltYWdlcyxcbiAgaW1hZ2VzRGF0YSxcbiAgb2xkSW1hZ2VzRGF0YVxufTogTG9hZEltYWdlc09wdGlvbnMpOiBMb2FkSW1hZ2VzUmVzdWx0IHtcbiAgbGV0IGltYWdlc0RpcnR5ID0gZmFsc2U7XG4gIGxldCBoYXNQZW5kaW5nVXBsb2FkcyA9IGZhbHNlO1xuXG4gIGlmIChvbGRJbWFnZXNEYXRhKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2xkSW1hZ2VzRGF0YSkge1xuICAgICAgaWYgKGltYWdlc0RhdGEgJiYgIShrZXkgaW4gaW1hZ2VzRGF0YSkgJiYga2V5IGluIGltYWdlcykge1xuICAgICAgICBkZWxldGUgaW1hZ2VzW2tleV07XG4gICAgICAgIGltYWdlc0RpcnR5ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBjaGFuZ2VkS2V5czogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBrZXkgaW4gaW1hZ2VzRGF0YSkge1xuICAgIGlmICghb2xkSW1hZ2VzRGF0YSB8fCAob2xkSW1hZ2VzRGF0YSAmJiAhKGtleSBpbiBvbGRJbWFnZXNEYXRhKSkpIHtcbiAgICAgIGNoYW5nZWRLZXlzLnB1c2goa2V5KTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICghaXNFcXVhbChpbWFnZXNEYXRhW2tleV0sIG9sZEltYWdlc0RhdGFba2V5XSkpIHtcbiAgICAgIGNoYW5nZWRLZXlzLnB1c2goa2V5KTtcbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IGtleSBvZiBjaGFuZ2VkS2V5cykge1xuICAgIGNvbnN0IGltYWdlRGF0YSA9IGltYWdlc0RhdGFba2V5XTtcbiAgICBpZiAoIWltYWdlRGF0YSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgbG9hZGVkSXRlbSA9IGxvYWRJbWFnZUl0ZW0oZ2wsIGRldmljZSwgaW1hZ2VEYXRhKTtcbiAgICBpZiAobG9hZGVkSXRlbSkge1xuICAgICAgaW1hZ2VzW2tleV0gPSBsb2FkZWRJdGVtO1xuICAgICAgLy8gT25seSBtYXJrIGRpcnR5IHdoZW4gdGhlIHRleHR1cmUgd2FzIGFjdHVhbGx5IHVwbG9hZGVkLlxuICAgICAgaW1hZ2VzRGlydHkgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVcGxvYWQgZmFpbGVkIChkZXZpY2Ugbm90IHJlYWR5IG9yIGNyZWF0ZVRleHR1cmUgdGhyZXcpLiBTaWduYWwgdGhhdFxuICAgICAgLy8gdGhlIGNhbGxlciBzaG91bGQgcmV0cnkgbmV4dCBmcmFtZSDigJQgZG8gTk9UIHNldCBpbWFnZXNEaXJ0eSBzbyB3ZVxuICAgICAgLy8gZG9uJ3QgcHJvcGFnYXRlIGFuIGltYWdlcyBvYmplY3Qgd2l0aCBhIG1pc3Npbmcga2V5IHRoYXQgY2F1c2VzXG4gICAgICAvLyBkcmF3KCkgdG8gYmFpbCBwZXJtYW5lbnRseS5cbiAgICAgIGhhc1BlbmRpbmdVcGxvYWRzID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge2ltYWdlczogaW1hZ2VzRGlydHkgPyBpbWFnZXMgOiBudWxsLCBoYXNQZW5kaW5nVXBsb2Fkc307XG59XG5cbi8qKlxuICogTWFwIG9sZCBHTCB0ZXh0dXJlIHBhcmFtZXRlciBjb25zdGFudHMgdG8gbHVtYS5nbCA5IHNhbXBsZXIgcGFyYW1ldGVyc1xuICovXG5mdW5jdGlvbiBtYXBTYW1wbGVyUGFyYW1ldGVycyhvbGRQYXJhbXM6IFJlY29yZDxudW1iZXIsIG51bWJlcj4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0gey4uLkRFRkFVTFRfU0FNUExFUl9QQVJBTUVURVJTfTtcblxuICBjb25zdCBtYWdGaWx0ZXJNYXAgPSB7XG4gICAgW0dMLk5FQVJFU1RdOiBGSUxURVJfTU9ERS5ORUFSRVNULFxuICAgIFtHTC5MSU5FQVJdOiBGSUxURVJfTU9ERS5MSU5FQVJcbiAgfTtcblxuICBjb25zdCBtaW5GaWx0ZXJNYXA6IFJlY29yZDxudW1iZXIsIHttaW5GaWx0ZXI6IHN0cmluZzsgbWlwbWFwRmlsdGVyPzogc3RyaW5nfT4gPSB7XG4gICAgW0dMLk5FQVJFU1RdOiB7bWluRmlsdGVyOiBGSUxURVJfTU9ERS5ORUFSRVNUfSxcbiAgICBbR0wuTElORUFSXToge21pbkZpbHRlcjogRklMVEVSX01PREUuTElORUFSfSxcbiAgICBbR0wuTkVBUkVTVF9NSVBNQVBfTkVBUkVTVF06IHtcbiAgICAgIG1pbkZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVCxcbiAgICAgIG1pcG1hcEZpbHRlcjogRklMVEVSX01PREUuTkVBUkVTVFxuICAgIH0sXG4gICAgW0dMLk5FQVJFU1RfTUlQTUFQX0xJTkVBUl06IHttaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1QsIG1pcG1hcEZpbHRlcjogRklMVEVSX01PREUuTElORUFSfSxcbiAgICBbR0wuTElORUFSX01JUE1BUF9ORUFSRVNUXToge21pbkZpbHRlcjogRklMVEVSX01PREUuTElORUFSLCBtaXBtYXBGaWx0ZXI6IEZJTFRFUl9NT0RFLk5FQVJFU1R9LFxuICAgIFtHTC5MSU5FQVJfTUlQTUFQX0xJTkVBUl06IHttaW5GaWx0ZXI6IEZJTFRFUl9NT0RFLkxJTkVBUiwgbWlwbWFwRmlsdGVyOiBGSUxURVJfTU9ERS5MSU5FQVJ9XG4gIH07XG5cbiAgY29uc3Qgd3JhcE1hcCA9IHtcbiAgICBbR0wuQ0xBTVBfVE9fRURHRV06IEFERFJFU1NfTU9ERS5DTEFNUF9UT19FREdFLFxuICAgIFtHTC5SRVBFQVRdOiBBRERSRVNTX01PREUuUkVQRUFULFxuICAgIFtHTC5NSVJST1JFRF9SRVBFQVRdOiBBRERSRVNTX01PREUuTUlSUk9SX1JFUEVBVFxuICB9O1xuXG4gIGlmIChvbGRQYXJhbXMpIHtcbiAgICBpZiAob2xkUGFyYW1zW0dMLlRFWFRVUkVfTUlOX0ZJTFRFUl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgbWFwcGVkID0gbWluRmlsdGVyTWFwW29sZFBhcmFtc1tHTC5URVhUVVJFX01JTl9GSUxURVJdXTtcbiAgICAgIGlmIChtYXBwZWQpIHtcbiAgICAgICAgcmVzdWx0Lm1pbkZpbHRlciA9IG1hcHBlZC5taW5GaWx0ZXI7XG4gICAgICAgIGlmIChtYXBwZWQubWlwbWFwRmlsdGVyKSB7XG4gICAgICAgICAgcmVzdWx0Lm1pcG1hcEZpbHRlciA9IG1hcHBlZC5taXBtYXBGaWx0ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG9sZFBhcmFtc1tHTC5URVhUVVJFX01BR19GSUxURVJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJlc3VsdC5tYWdGaWx0ZXIgPSBtYWdGaWx0ZXJNYXBbb2xkUGFyYW1zW0dMLlRFWFRVUkVfTUFHX0ZJTFRFUl1dIHx8IEZJTFRFUl9NT0RFLk5FQVJFU1Q7XG4gICAgfVxuICAgIGlmIChvbGRQYXJhbXNbR0wuVEVYVFVSRV9XUkFQX1NdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJlc3VsdC5hZGRyZXNzTW9kZVUgPSB3cmFwTWFwW29sZFBhcmFtc1tHTC5URVhUVVJFX1dSQVBfU11dIHx8IEFERFJFU1NfTU9ERS5DTEFNUF9UT19FREdFO1xuICAgIH1cbiAgICBpZiAob2xkUGFyYW1zW0dMLlRFWFRVUkVfV1JBUF9UXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXN1bHQuYWRkcmVzc01vZGVWID0gd3JhcE1hcFtvbGRQYXJhbXNbR0wuVEVYVFVSRV9XUkFQX1RdXSB8fCBBRERSRVNTX01PREUuQ0xBTVBfVE9fRURHRTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIE1hcCBvbGQgR0wgZm9ybWF0L3R5cGUgdG8gbHVtYS5nbCA5IHRleHR1cmUgZm9ybWF0IHN0cmluZ1xuICovXG5mdW5jdGlvbiBtYXBUZXh0dXJlRm9ybWF0KGdsRm9ybWF0OiBudW1iZXIsIF9nbFR5cGU/OiBudW1iZXIpOiBzdHJpbmcge1xuICBzd2l0Y2ggKGdsRm9ybWF0KSB7XG4gICAgY2FzZSBHTC5SOFVJOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlI4X1VJTlQ7XG4gICAgY2FzZSBHTC5SMTZVSTpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SMTZfVUlOVDtcbiAgICBjYXNlIEdMLlIzMlVJOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlIzMl9VSU5UO1xuICAgIGNhc2UgR0wuUjhJOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlI4X1NJTlQ7XG4gICAgY2FzZSBHTC5SMTZJOlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlIxNl9TSU5UO1xuICAgIGNhc2UgR0wuUjMySTpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SMzJfU0lOVDtcbiAgICBjYXNlIEdMLlIzMkY6XG4gICAgICByZXR1cm4gVEVYVFVSRV9GT1JNQVQuUjMyX0ZMT0FUO1xuICAgIGNhc2UgR0wuUkdCQTpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SR0JBOF9VTk9STTtcbiAgICBjYXNlIEdMLlJHQjpcbiAgICAgIHJldHVybiBURVhUVVJFX0ZPUk1BVC5SR0JBOF9VTk9STTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFRFWFRVUkVfRk9STUFULlJHQkE4X1VOT1JNO1xuICB9XG59XG5cbi8qKlxuICogRXhwYW5kIDMtYnl0ZS1wZXItcGl4ZWwgUkdCIGRhdGEgdG8gNC1ieXRlLXBlci1waXhlbCBSR0JBLlxuICogTmVlZGVkIGJlY2F1c2UgV2ViR1BVL2x1bWEuZ2wgOSBoYXMgbm8gMy1jaGFubmVsIHRleHR1cmUgZm9ybWF0LlxuICovXG5mdW5jdGlvbiBleHBhbmRSR0J0b1JHQkEoXG4gIGRhdGE6IFVpbnQ4QXJyYXkgfCBVaW50OENsYW1wZWRBcnJheSxcbiAgd2lkdGg6IG51bWJlcixcbiAgaGVpZ2h0OiBudW1iZXJcbik6IFVpbnQ4QXJyYXkge1xuICBjb25zdCBwaXhlbENvdW50ID0gd2lkdGggKiBoZWlnaHQ7XG4gIGNvbnN0IHJnYmEgPSBuZXcgVWludDhBcnJheShwaXhlbENvdW50ICogNCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcGl4ZWxDb3VudDsgaSsrKSB7XG4gICAgcmdiYVtpICogNF0gPSBkYXRhW2kgKiAzXTtcbiAgICByZ2JhW2kgKiA0ICsgMV0gPSBkYXRhW2kgKiAzICsgMV07XG4gICAgcmdiYVtpICogNCArIDJdID0gZGF0YVtpICogMyArIDJdO1xuICAgIHJnYmFbaSAqIDQgKyAzXSA9IDI1NTtcbiAgfVxuICByZXR1cm4gcmdiYTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgdGV4dHVyZSBvYmplY3QgZnJvbSBpbWFnZSBkYXRhIHVzaW5nIGx1bWEuZ2wgOSBkZXZpY2UgQVBJLlxuICogUmV0dXJucyBhIHByb3BlciBsdW1hLmdsIFRleHR1cmUgb2JqZWN0IHRoYXQgd29ya3Mgd2l0aCB0aGUgYmluZGluZyBzeXN0ZW0uXG4gKi9cbmZ1bmN0aW9uIGxvYWRUZXh0dXJlKFxuICBnbDogV2ViR0wyUmVuZGVyaW5nQ29udGV4dCxcbiAgZGV2aWNlOiBMdW1hRGV2aWNlIHwgdW5kZWZpbmVkLFxuICBpbWFnZURhdGE6IFRleHR1cmUgfCBSYXN0ZXJUZXh0dXJlRGF0YVxuKTogVGV4dHVyZSB8IG51bGwge1xuICBpZiAoIWltYWdlRGF0YSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gSWYgYWxyZWFkeSBhIGx1bWEuZ2wgVGV4dHVyZSBpbnN0YW5jZSwgcmV0dXJuIGFzLWlzXG4gIGNvbnN0IHJhc3RlclRleHR1cmVEYXRhID0gaW1hZ2VEYXRhIGFzIFJhc3RlclRleHR1cmVEYXRhO1xuICBpZiAoXG4gICAgcmFzdGVyVGV4dHVyZURhdGEuaGFuZGxlIHx8XG4gICAgcmFzdGVyVGV4dHVyZURhdGEuaWQ/LnN0YXJ0c1dpdGg/LignbHVtYScpIHx8XG4gICAgcmFzdGVyVGV4dHVyZURhdGEuZGV2aWNlXG4gICkge1xuICAgIHJldHVybiBpbWFnZURhdGEgYXMgVGV4dHVyZTtcbiAgfVxuXG4gIGNvbnN0IHJhd0RhdGEgPSBpbWFnZURhdGEgYXMgUmFzdGVyVGV4dHVyZURhdGE7XG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBsdW1hIGludGVybmFsIHByb3BlcnRpZXMgbm90IGluIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQgdHlwZVxuICBjb25zdCBsdW1hRGV2aWNlID0gZGV2aWNlIHx8IGdsLmx1bWE/LmRldmljZSB8fCBnbC5fX2x1bWFfZGV2aWNlO1xuXG4gIGlmICghbHVtYURldmljZT8uY3JlYXRlVGV4dHVyZSkge1xuICAgIGNvbnNvbGUud2FybignUmFzdGVyTGF5ZXI6IE5vIGx1bWEuZ2wgZGV2aWNlIGF2YWlsYWJsZSBmb3IgdGV4dHVyZSBjcmVhdGlvbicpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBzYW1wbGVyUGFyYW1zID0gbWFwU2FtcGxlclBhcmFtZXRlcnMocmF3RGF0YS5wYXJhbWV0ZXJzIHx8IHt9KTtcbiAgICBjb25zdCB0ZXh0dXJlRm9ybWF0ID0gcmF3RGF0YS5mb3JtYXRcbiAgICAgID8gbWFwVGV4dHVyZUZvcm1hdChyYXdEYXRhLmZvcm1hdCwgcmF3RGF0YS50eXBlKVxuICAgICAgOiBURVhUVVJFX0ZPUk1BVC5SR0JBOF9VTk9STTtcblxuICAgIGNvbnN0IHdpZHRoID0gcmF3RGF0YS53aWR0aCB8fCByYXdEYXRhLmRhdGE/LndpZHRoIHx8IDE7XG4gICAgY29uc3QgaGVpZ2h0ID0gcmF3RGF0YS5oZWlnaHQgfHwgcmF3RGF0YS5kYXRhPy5oZWlnaHQgfHwgMTtcblxuICAgIGNvbnN0IHRleHR1cmVQcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIGZvcm1hdDogdGV4dHVyZUZvcm1hdCxcbiAgICAgIHNhbXBsZXI6IHNhbXBsZXJQYXJhbXMsXG4gICAgICAuLi4ocmF3RGF0YS5taXBtYXBzID09PSBmYWxzZSA/IHttaXBtYXBzOiBmYWxzZX0gOiB7fSlcbiAgICB9O1xuXG4gICAgaWYgKHJhd0RhdGEuZGF0YSkge1xuICAgICAgaWYgKFxuICAgICAgICByYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50IHx8XG4gICAgICAgIHJhd0RhdGEuZGF0YSBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50IHx8XG4gICAgICAgIHJhd0RhdGEuZGF0YSBpbnN0YW5jZW9mIEltYWdlQml0bWFwIHx8XG4gICAgICAgIHJhd0RhdGEuZGF0YSBpbnN0YW5jZW9mIEltYWdlRGF0YVxuICAgICAgKSB7XG4gICAgICAgIHRleHR1cmVQcm9wcy5kYXRhID0gcmF3RGF0YS5kYXRhO1xuICAgICAgfSBlbHNlIGlmIChBcnJheUJ1ZmZlci5pc1ZpZXcocmF3RGF0YS5kYXRhKSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcmF3RGF0YS5mb3JtYXQgPT09IEdMLlJHQiAmJlxuICAgICAgICAgIChyYXdEYXRhLmRhdGEgaW5zdGFuY2VvZiBVaW50OEFycmF5IHx8IHJhd0RhdGEuZGF0YSBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5KVxuICAgICAgICApIHtcbiAgICAgICAgICB0ZXh0dXJlUHJvcHMuZGF0YSA9IGV4cGFuZFJHQnRvUkdCQShyYXdEYXRhLmRhdGEsIHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRleHR1cmVQcm9wcy5kYXRhID0gcmF3RGF0YS5kYXRhO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGx1bWFEZXZpY2UuY3JlYXRlVGV4dHVyZSh0ZXh0dXJlUHJvcHMpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKCdSYXN0ZXJMYXllcjogRmFpbGVkIHRvIGNyZWF0ZSB0ZXh0dXJlIHZpYSBkZXZpY2UuY3JlYXRlVGV4dHVyZTonLCBlKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBOztBQUVBO0FBQ0EsU0FBUUEsRUFBRSxRQUFPLG9CQUFvQjtBQUNyQyxPQUFPQyxPQUFPLE1BQU0sMkJBQTJCO0FBRS9DLFNBQVFDLFdBQVcsRUFBRUMsWUFBWSxFQUFFQyxjQUFjLFFBQU8sc0JB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
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import Supercluster from 'supercluster';
|
|
2
|
-
import { MemoizedFunction } from 'lodash';
|
|
3
2
|
import { BBox, Position } from 'geojson';
|
|
3
|
+
type MemoizedFunction = {
|
|
4
|
+
cache: {
|
|
5
|
+
clear?: () => void;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
4
8
|
export declare function getGeoJSON(data: any, getPosition: any, filterData: any): any;
|
|
5
9
|
export default class ClusterBuilder {
|
|
6
10
|
clusterer: (({ clusterRadius, geoJSON }: {
|
|
@@ -20,3 +24,4 @@ export default class ClusterBuilder {
|
|
|
20
24
|
}[];
|
|
21
25
|
clearClustererCache(): void;
|
|
22
26
|
}
|
|
27
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kepler.gl/deckgl-layers",
|
|
3
3
|
"author": "Shan He <shan@uber.com>",
|
|
4
|
-
"version": "3.3.0-alpha.
|
|
4
|
+
"version": "3.3.0-alpha.8",
|
|
5
5
|
"description": "kepler.gl constants used by kepler.gl components, actions and reducers",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "dist/cjs/index.js",
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"@deck.gl/geo-layers": "^9.3.1",
|
|
34
34
|
"@deck.gl/layers": "^9.3.1",
|
|
35
35
|
"@deck.gl/mesh-layers": "^9.3.1",
|
|
36
|
-
"@kepler.gl/constants": "3.3.0-alpha.
|
|
37
|
-
"@kepler.gl/types": "3.3.0-alpha.
|
|
38
|
-
"@kepler.gl/utils": "3.3.0-alpha.
|
|
36
|
+
"@kepler.gl/constants": "3.3.0-alpha.8",
|
|
37
|
+
"@kepler.gl/types": "3.3.0-alpha.8",
|
|
38
|
+
"@kepler.gl/utils": "3.3.0-alpha.8",
|
|
39
39
|
"@loaders.gl/wms": "4.4.1",
|
|
40
40
|
"@luma.gl/constants": "^9.3.2",
|
|
41
41
|
"@luma.gl/core": "^9.3.2",
|
|
@@ -49,11 +49,10 @@
|
|
|
49
49
|
"@math.gl/web-mercator": "^4.1.0",
|
|
50
50
|
"@types/d3-array": "^2.8.0",
|
|
51
51
|
"@types/geojson": "^7946.0.8",
|
|
52
|
-
"@types/lodash": "4.17.24",
|
|
53
52
|
"@types/supercluster": "^7.1.0",
|
|
54
53
|
"d3-array": "^2.8.0",
|
|
54
|
+
"es-toolkit": "^1.39.10",
|
|
55
55
|
"global": "^4.3.0",
|
|
56
|
-
"lodash": "4.18.1",
|
|
57
56
|
"pbf": "^3.1.0",
|
|
58
57
|
"supercluster": "^7.1.0",
|
|
59
58
|
"viewport-mercator-project": "^6.0.0"
|