@carto/kepler.gl 0.0.71-alpha.4 → 0.0.71-alpha.5
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.
- package/dist/components/common/item-selector/dropdown-list.js +4 -3
- package/dist/components/side-panel/layer-panel/color-range-selector.js +8 -22
- package/dist/components/side-panel/layer-panel/color-selector.js +2 -5
- package/dist/components/side-panel/layer-panel/layer-configurator.js +21 -23
- package/dist/constants/default-settings.js +1 -1
- package/dist/layers/base-layer.js +56 -11
- package/dist/schemas/vis-state-schema.js +68 -33
- package/dist/utils/data-utils.js +31 -1
- package/dist/utils/layer-utils.js +2 -1
- package/dist/utils/table-utils/kepler-table.js +17 -1
- package/package.json +1 -1
- package/src/components/common/item-selector/dropdown-list.js +2 -3
- package/src/components/side-panel/layer-panel/color-range-selector.js +7 -17
- package/src/components/side-panel/layer-panel/color-selector.js +1 -5
- package/src/components/side-panel/layer-panel/layer-configurator.js +9 -27
- package/src/layers/base-layer.js +42 -6
- package/src/layers/index.d.ts +3 -1
- package/src/schemas/vis-state-schema.js +23 -0
- package/src/utils/data-utils.d.ts +1 -0
- package/src/utils/data-utils.js +19 -0
- package/src/utils/layer-utils.js +1 -0
- package/src/utils/table-utils/kepler-table.js +12 -0
|
@@ -231,12 +231,13 @@ var DropdownList = /*#__PURE__*/function (_Component) {
|
|
|
231
231
|
})) : null, this.props.options.map(function (value, i) {
|
|
232
232
|
var _this3$state$currentO2;
|
|
233
233
|
|
|
234
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
234
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
235
|
+
key: "".concat(display(value), "_").concat(i)
|
|
236
|
+
}, value.divider && /*#__PURE__*/_react["default"].createElement(Divider, null), /*#__PURE__*/_react["default"].createElement(Item, {
|
|
235
237
|
className: (0, _classnames["default"])(classList.listItem, {
|
|
236
238
|
active: _this3.props.selectionIndex === i + valueOffset,
|
|
237
239
|
hover: value.id && ((_this3$state$currentO2 = _this3.state.currentOption) === null || _this3$state$currentO2 === void 0 ? void 0 : _this3$state$currentO2.id) === value.id
|
|
238
240
|
}),
|
|
239
|
-
key: "".concat(display(value), "_").concat(i),
|
|
240
241
|
onMouseDown: function onMouseDown(e) {
|
|
241
242
|
return !_this3.hasSubOptions && _this3._onClick(value, null, e);
|
|
242
243
|
},
|
|
@@ -315,4 +316,4 @@ exports["default"] = DropdownList;
|
|
|
315
316
|
selectionIndex: null,
|
|
316
317
|
withSubOptions: false
|
|
317
318
|
});
|
|
318
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2Ryb3Bkb3duLWxpc3QuanMiXSwibmFtZXMiOlsiY2xhc3NMaXN0IiwibGlzdCIsImxpc3RIZWFkZXIiLCJsaXN0U2VjdGlvbiIsImxpc3RJdGVtIiwibGlzdEl0ZW1BbmNob3IiLCJkZWZhdWx0RGlzcGxheSIsImQiLCJ2YWx1ZSIsIkRpdmlkZXIiLCJzdHlsZWQiLCJkaXYiLCJMaXN0SXRlbSIsImRpc3BsYXlPcHRpb24iLCJEcm9wZG93bkxpc3RXcmFwcGVyIiwicHJvcHMiLCJsaWdodCIsInRoZW1lIiwiZHJvcGRvd25MaXN0QmdkTFQiLCJkcm9wZG93bkxpc3RCZ2QiLCJkcm9wZG93bkxpc3RCb3JkZXJUb3BMVCIsImRyb3Bkb3duTGlzdEJvcmRlclRvcCIsImRyb3Bkb3duTGlzdExUIiwiZHJvcGRvd25MaXN0IiwiRHJvcGRvd25MaXN0Q29udGFpbmVyIiwiSXRlbSIsIkRyb3Bkb3duTGlzdCIsImN1cnJlbnRPcHRpb24iLCJzdWJtZW51VmlzaWJsZSIsInN1Ym1lbnVQb3NpdGlvbiIsInN1Yk9wdGlvbnMiLCJjYWxsYmFjayIsInNldFN0YXRlIiwib3B0aW9uIiwic3ViT3B0aW9uIiwiZXZlbnQiLCJvcHRpb25TZWxlY3RlZCIsInNlbGVjdGVkQWdncmVnYXRvciIsImlkIiwid2l0aFN1Yk9wdGlvbnMiLCJhZ2dyZWdhdG9ycyIsIm9uT3B0aW9uU2VsZWN0ZWQiLCJlbCIsInRhcmdldCIsInByZXZpb3VzU3RhdGUiLCJ0b3AiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJsZWZ0IiwicmVmIiwiY3VycmVudCIsInJpZ2h0IiwicHJldlByb3BzIiwic2VhcmNoRW50cnlWYWx1ZSIsIl9yZXNldFN0YXRlIiwic3ViTWVudVBvc2l0aW9uIiwiZml4ZWRPcHRpb25zIiwiZGlzcGxheSIsIm9wdGlvbnMiLCJsZW5ndGgiLCJhbGxvd0N1c3RvbVZhbHVlcyIsInZhbHVlT2Zmc2V0IiwiQXJyYXkiLCJpc0FycmF5IiwiY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudCIsIm1hcCIsImkiLCJhY3RpdmUiLCJzZWxlY3Rpb25JbmRleCIsImhvdmVyIiwic3RhdGUiLCJmaXhlZCIsImUiLCJoYXNTdWJPcHRpb25zIiwiX29uQ2xpY2siLCJfb25Nb3VzZU92ZXIiLCJkaXZpZGVyIiwib3ZlcmxheSIsIndpZHRoIiwiaGVpZ2h0IiwiYSIsIkZJRUxEX0FHR1JFR0FUT1JTIiwiZmluZCIsImFtIiwiYWdncmVnYXRvciIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImFycmF5T2YiLCJhbnkiLCJudW1iZXIiLCJjdXN0b21DbGFzc2VzIiwib2JqZWN0IiwiY3VzdG9tVmFsdWVzIiwiY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQiLCJvbmVPZlR5cGUiLCJlbGVtZW50IiwiZnVuYyIsImlzUmVxdWlyZWQiLCJkZWZhdWx0Q2xhc3NOYW1lcyIsImJvb2wiLCJhcmVSZXN1bHRzVHJ1bmNhdGVkIiwicmVzdWx0c1RydW5jYXRlZE1lc3NhZ2UiLCJzdHJpbmciLCJsaXN0SXRlbUNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7OztBQUVPLElBQU1BLFNBQVMsR0FBRztBQUN2QkMsRUFBQUEsSUFBSSxFQUFFLGVBRGlCO0FBRXZCQyxFQUFBQSxVQUFVLEVBQUUsY0FGVztBQUd2QkMsRUFBQUEsV0FBVyxFQUFFLGVBSFU7QUFJdkJDLEVBQUFBLFFBQVEsRUFBRSxZQUphO0FBS3ZCQyxFQUFBQSxjQUFjLEVBQUU7QUFMTyxDQUFsQjs7O0FBUVAsSUFBTUMsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixDQUFBQyxDQUFDO0FBQUEsU0FBSUEsQ0FBQyxDQUFDQyxLQUFGLElBQVdELENBQWY7QUFBQSxDQUF4Qjs7QUFFQSxJQUFNRSxPQUFPLEdBQUdDLDZCQUFP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eUIsRUFBRXNCLHNCQUFVUSxTQUFWLENBQW9CLENBQUNSLHNCQUFVUyxPQUFYLEVBQW9CVCxzQkFBVVUsSUFBOUIsQ0FBcEIsQ0FQVjtBQVFqQjVCLEVBQUFBLGNBQWMsRUFBRWtCLHNCQUFVRyxNQVJUO0FBU2pCL0MsRUFBQUEsZ0JBQWdCLEVBQUU0QyxzQkFBVVUsSUFUWDtBQVVqQmxGLEVBQUFBLGFBQWEsRUFBRXdFLHNCQUFVVSxJQUFWLENBQWVDLFVBVmI7QUFXakJDLEVBQUFBLGlCQUFpQixFQUFFWixzQkFBVWEsSUFYWjtBQVlqQkMsRUFBQUEsbUJBQW1CLEVBQUVkLHNCQUFVYSxJQVpkO0FBYWpCRSxFQUFBQSx1QkFBdUIsRUFBRWYsc0JBQVVnQixNQWJsQjtBQWNqQkMsRUFBQUEsaUJBQWlCLEVBQUVqQixzQkFBVVUsSUFkWjtBQWVqQjNDLEVBQUFBLGdCQUFnQixFQUFFaUMsc0JBQVVnQixNQWZYO0FBZ0JqQjlELEVBQUFBLGNBQWMsRUFBRThDLHNCQUFVYTtBQWhCVCxDO2lDQURBeEUsWSxrQkFvQkc7QUFDcEIrRCxFQUFBQSxhQUFhLEVBQUUsRUFESztBQUVwQkcsRUFBQUEsdUJBQXVCLEVBQUVoRixRQUZMO0FBR3BCbUQsRUFBQUEseUJBQXlCLEVBQUUsSUFIUDtBQUlwQkosRUFBQUEsaUJBQWlCLEVBQUUsQ0FKQztBQUtwQmdDLEVBQUFBLFlBQVksRUFBRSxFQUxNO0FBTXBCOUUsRUFBQUEsYUFBYSxFQUFFUCxjQU5LO0FBT3BCbUMsRUFBQUEsZ0JBQWdCLEVBQUUsNEJBQU0sQ0FBRSxDQVBOO0FBUXBCd0QsRUFBQUEsaUJBQWlCLEVBQUUsSUFSQztBQVNwQjlCLEVBQUFBLGNBQWMsRUFBRSxJQVRJO0FBVXBCNUIsRUFBQUEsY0FBYyxFQUFFO0FBVkksQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgY3JlYXRlUmVmfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBJdGVtU2VsZWN0b3JTdWJtZW51IGZyb20gJy4vaXRlbS1zZWxlY3Rvci1zdWJtZW51JztcbmltcG9ydCB7Q2hldnJvblJpZ2h0fSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge0ZJRUxEX0FHR1JFR0FUT1JTfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQgUG9ydGFsZWQgZnJvbSAnLi4vcG9ydGFsZWQnO1xuXG5leHBvcnQgY29uc3QgY2xhc3NMaXN0ID0ge1xuICBsaXN0OiAnbGlzdC1zZWxlY3RvcicsXG4gIGxpc3RIZWFkZXI6ICdsaXN0X19oZWFkZXInLFxuICBsaXN0U2VjdGlvbjogJ2xpc3RfX3NlY3Rpb24nLFxuICBsaXN0SXRlbTogJ2xpc3RfX2l0ZW0nLFxuICBsaXN0SXRlbUFuY2hvcjogJ2xpc3RfX2l0ZW1fX2FuY2hvcidcbn07XG5cbmNvbnN0IGRlZmF1bHREaXNwbGF5ID0gZCA9PiBkLnZhbHVlIHx8IGQ7XG5cbmNvbnN0IERpdmlkZXIgPSBzdHlsZWQuZGl2YFxuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg0NCwgNDgsIDUwLCAwLjEyKTtcbiAgbWFyZ2luOiA4cHggMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBMaXN0SXRlbSA9ICh7dmFsdWUsIGRpc3BsYXlPcHRpb24gPSBkZWZhdWx0RGlzcGxheX0pID0+IChcbiAgPHNwYW4gY2xhc3NOYW1lPXtjbGFzc0xpc3QubGlzdEl0ZW1BbmNob3J9PntkaXNwbGF5T3B0aW9uKHZhbHVlKX08L3NwYW4+XG4pO1xuXG5jb25zdCBEcm9wZG93bkxpc3RXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmxpZ2h0ID8gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0QmdkTFQgOiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCZ2R9O1xuICBib3JkZXItdG9wOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+XG4gICAgICBwcm9wcy5saWdodCA/IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEJvcmRlclRvcExUIDogcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0Qm9yZGVyVG9wfTtcbiAgJHtwcm9wcyA9PiAocHJvcHMubGlnaHQgPyBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RMVCA6IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdCl9O1xuYDtcblxuY29uc3QgRHJvcGRvd25MaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgSXRlbSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG4gICY6aG92ZXIsICYuaG92ZXIge1xuICAgIHN2ZyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRHJvcGRvd25MaXN0IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvcHRpb25zOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KSxcbiAgICBzdWJPcHRpb25zOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KSxcbiAgICBhbGxvd0N1c3RvbVZhbHVlczogUHJvcFR5cGVzLm51bWJlcixcbiAgICBjdXN0b21DbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGN1c3RvbVZhbHVlczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSksXG4gICAgY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQ6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5lbGVtZW50LCBQcm9wVHlwZXMuZnVuY10pLFxuICAgIGN1c3RvbUxpc3RIZWFkZXJDb21wb25lbnQ6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5lbGVtZW50LCBQcm9wVHlwZXMuZnVuY10pLFxuICAgIHNlbGVjdGlvbkluZGV4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIG9uT3B0aW9uU2VsZWN0ZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIGRpc3BsYXlPcHRpb246IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZGVmYXVsdENsYXNzTmFtZXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGFyZVJlc3VsdHNUcnVuY2F0ZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHJlc3VsdHNUcnVuY2F0ZWRNZXNzYWdlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxpc3RJdGVtQ29tcG9uZW50OiBQcm9wVHlwZXMuZnVuYyxcbiAgICBzZWFyY2hFbnRyeVZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHdpdGhTdWJPcHRpb25zOiBQcm9wVHlwZXMuYm9vbFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY3VzdG9tQ2xhc3Nlczoge30sXG4gICAgY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQ6IExpc3RJdGVtLFxuICAgIGN1c3RvbUxpc3RIZWFkZXJDb21wb25lbnQ6IG51bGwsXG4gICAgYWxsb3dDdXN0b21WYWx1ZXM6IDAsXG4gICAgY3VzdG9tVmFsdWVzOiBbXSxcbiAgICBkaXNwbGF5T3B0aW9uOiBkZWZhdWx0RGlzcGxheSxcbiAgICBvbk9wdGlvblNlbGVjdGVkOiAoKSA9PiB7fSxcbiAgICBkZWZhdWx0Q2xhc3NOYW1lczogdHJ1ZSxcbiAgICBzZWxlY3Rpb25JbmRleDogbnVsbCxcbiAgICB3aXRoU3ViT3B0aW9uczogZmFsc2VcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBjdXJyZW50T3B0aW9uOiB7fSxcbiAgICBzdWJtZW51VmlzaWJsZTogZmFsc2UsXG4gICAgc3VibWVudVBvc2l0aW9uOiB7fVxuICB9O1xuXG4gIGhhc1N1Yk9wdGlvbnMgPSAhIXRoaXMucHJvcHMuc3ViT3B0aW9ucztcblxuICByZWYgPSBjcmVhdGVSZWYoKTtcblxuICBfcmVzZXRTdGF0ZShjYWxsYmFjaykge1xuICAgIHRoaXMuc2V0U3RhdGUoe2N1cnJlbnRPcHRpb246IHt9LCBzdWJtZW51VmlzaWJsZTogZmFsc2UsIHN1Ym1lbnVQb3NpdGlvbjoge319LCBjYWxsYmFjayk7XG4gIH1cblxuICBfb25DbGljayhvcHRpb24sIHN1Yk9wdGlvbiwgZXZlbnQpIHtcbiAgICBjb25zdCBvcHRpb25TZWxlY3RlZCA9XG4gICAgICB0eXBlb2Ygb3B0aW9uICE9PSAnb2JqZWN0J1xuICAgICAgICA/IG9wdGlvblxuICAgICAgICA6IHtcbiAgICAgICAgICAgIC4uLm9wdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkQWdncmVnYXRvcjogc3ViT3B0aW9uPy5pZFxuICAgICAgICAgIH07XG4gICAgaWYgKFxuICAgICAgKHRoaXMucHJvcHMud2l0aFN1Yk9wdGlvbnMgJiYgKHN1Yk9wdGlvbj8uaWQgfHwgIW9wdGlvbi5hZ2dyZWdhdG9ycykpIHx8XG4gICAgICAhdGhpcy5wcm9wcy53aXRoU3ViT3B0aW9uc1xuICAgICkge1xuICAgICAgdGhpcy5wcm9wcy5vbk9wdGlvblNlbGVjdGVkKG9wdGlvblNlbGVjdGVkLCBldmVudCk7XG4gICAgfVxuICB9XG5cbiAgX29uTW91c2VPdmVyKG9wdGlvbiwgZXZlbnQpIHtcbiAgICBjb25zdCBlbCA9IGV2ZW50LnRhcmdldFxuICAgIHRoaXMuc2V0U3RhdGUoKHByZXZpb3VzU3RhdGUpID0+ICh7XG4gICAgICBjdXJyZW50T3B0aW9uOiBvcHRpb24sXG4gICAgICBzdWJtZW51VmlzaWJsZTogdHJ1ZSxcbiAgICAgIHN1Ym1lbnVQb3NpdGlvbjoge1xuICAgICAgICB0b3A6IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCxcbiAgICAgICAgbGVmdDogcHJldmlvdXNTdGF0ZS5zdWJtZW51UG9zaXRpb24ubGVmdCA/cHJldmlvdXNTdGF0ZS5zdWJtZW51UG9zaXRpb24ubGVmdCA6IHRoaXMucmVmLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgIGlmIChwcmV2UHJvcHMuc2VhcmNoRW50cnlWYWx1ZSAhPT0gdGhpcy5wcm9wcy5zZWFyY2hFbnRyeVZhbHVlKSB7XG4gICAgICB0aGlzLl9yZXNldFN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzdWJNZW51UG9zaXRpb246IHsgbGVmdDogdGhpcy5yZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQgfVxuICAgIH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2ZpeGVkT3B0aW9ucywgbGlnaHR9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBkaXNwbGF5ID0gdGhpcy5wcm9wcy5kaXNwbGF5T3B0aW9uO1xuXG4gICAgLy8gRG9uJ3QgcmVuZGVyIGlmIHRoZXJlIGFyZSBubyBvcHRpb25zIHRvIGRpc3BsYXlcbiAgICBpZiAoIXRoaXMucHJvcHMub3B0aW9ucy5sZW5ndGggJiYgdGhpcy5wcm9wcy5hbGxvd0N1c3RvbVZhbHVlcyA8PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWVPZmZzZXQgPSBBcnJheS5pc0FycmF5KGZpeGVkT3B0aW9ucykgPyBmaXhlZE9wdGlvbnMubGVuZ3RoIDogMDtcblxuICAgIC8vIEZvciBzb21lIHJlYXNvbiBvbkNsaWNrIGlzIG5vdCBmaXJlZCB3aGVuIGNsaWNrZWQgb24gYW4gb3B0aW9uXG4gICAgLy8gb25Nb3VzZURvd24gaXMgdXNlZCBoZXJlIGFzIGEgd29ya2Fyb3VuZCBvZiAjMjA1IGFuZCBvdGhlclxuICAgIHJldHVybiAoXG4gICAgICA8RHJvcGRvd25MaXN0Q29udGFpbmVyIG9uTW91c2VMZWF2ZT17KCkgPT4gdGhpcy5fcmVzZXRTdGF0ZSgpfT5cbiAgICAgICAgPERyb3Bkb3duTGlzdFdyYXBwZXIgY2xhc3NOYW1lPXtjbGFzc0xpc3QubGlzdH0gbGlnaHQ9e2xpZ2h0fT5cbiAgICAgICAgICB7dGhpcy5wcm9wcy5jdXN0b21MaXN0SGVhZGVyQ29tcG9uZW50ID8gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTGlzdC5saXN0SGVhZGVyfT5cbiAgICAgICAgICAgICAgPHRoaXMucHJvcHMuY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudCAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPGRpdiByZWY9e3RoaXMucmVmfT5cbiAgICAgICAgICAgIHt2YWx1ZU9mZnNldCA+IDAgPyAoXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc0xpc3QubGlzdFNlY3Rpb259PlxuICAgICAgICAgICAgICAgIHtmaXhlZE9wdGlvbnMubWFwKCh2YWx1ZSwgaSkgPT4gKFxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3NMaXN0Lmxpc3RJdGVtLCB7XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiB0aGlzLnByb3BzLnNlbGVjdGlvbkluZGV4ID09PSBpLFxuICAgICAgICAgICAgICAgICAgICAgIGhvdmVyOiB2YWx1ZS5pZCAmJiAodGhpcy5zdGF0ZS5jdXJyZW50T3B0aW9uPy5pZCA9PT0gdmFsdWUuaWQpLFxuICAgICAgICAgICAgICAgICAgICAgIGZpeGVkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2Ake2Rpc3BsYXkodmFsdWUpfV8ke2l9YH1cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZURvd249e2UgPT4gIXRoaXMuaGFzU3ViT3B0aW9ucyAmJiB0aGlzLl9vbkNsaWNrKHZhbHVlLCBudWxsLCBlKX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiAhdGhpcy5oYXNTdWJPcHRpb25zICYmIHRoaXMuX29uQ2xpY2sodmFsdWUsIG51bGwsIGUpfVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9e2UgPT4gdGhpcy5fb25Nb3VzZU92ZXIodmFsdWUsIGUpfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8dGhpcy5wcm9wcy5jdXN0b21MaXN0SXRlbUNvbXBvbmVudCB2YWx1ZT17dmFsdWV9IGRpc3BsYXlPcHRpb249e2Rpc3BsYXl9IC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApIDogbnVsbH1cblxuICAgICAgICAgICAge3RoaXMucHJvcHMub3B0aW9ucy5tYXAoKHZhbHVlLCBpKSA9PiAoXG4gICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAge3ZhbHVlLmRpdmlkZXIgJiYgPERpdmlkZXIgLz59XG4gICAgICAgICAgICAgICAgPEl0ZW1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc0xpc3QubGlzdEl0ZW0sIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiB0aGlzLnByb3BzLnNlbGVjdGlvbkluZGV4ID09PSBpICsgdmFsdWVPZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIGhvdmVyOiB2YWx1ZS5pZCAmJiAodGhpcy5zdGF0ZS5jdXJyZW50T3B0aW9uPy5pZCA9PT0gdmFsdWUuaWQpXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIGtleT17YCR7ZGlzcGxheSh2YWx1ZSl9XyR7aX1gfVxuICAgICAgICAgICAgICAgICAgb25Nb3VzZURvd249e2UgPT4gIXRoaXMuaGFzU3ViT3B0aW9ucyAmJiB0aGlzLl9vbkNsaWNrKHZhbHVlLCBudWxsLCBlKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4gIXRoaXMuaGFzU3ViT3B0aW9ucyAmJiB0aGlzLl9vbkNsaWNrKHZhbHVlLCBudWxsLCBlKX1cbiAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17ZSA9PiB0aGlzLl9vbk1vdXNlT3Zlcih2YWx1ZSwgZSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHRoaXMucHJvcHMuY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQgdmFsdWU9e3ZhbHVlfSBkaXNwbGF5T3B0aW9uPXtkaXNwbGF5fSAvPlxuICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMud2l0aFN1Yk9wdGlvbnMgJiYgdmFsdWUuYWdncmVnYXRvcnMgJiYgPENoZXZyb25SaWdodCAvPn1cbiAgICAgICAgICAgICAgICA8L0l0ZW0+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvRHJvcGRvd25MaXN0V3JhcHBlcj5cbiAgICAgICAge3RoaXMucHJvcHMud2l0aFN1Yk9wdGlvbnMgJiYgKFxuICAgICAgICAgIC8vIFRoZSBkaXNwbGF5OiAnbm9uZScgaXMgYSB0cmljayB0byBiZSBhYmxlIHRvIHJlbmRlciB0aGUgSXRlbVNlbGVjdG9yU3VibWVudSBpbiB0aGUgY29ycmVjdCBwb3NpdGlvblxuICAgICAgICAgIC8vIEV2ZW4gd2l0aCBkaXNwbGF5OiAnbm9uZScgdGhlIFBvcnRhbGVkIGNvbXBvbmVudCByZW5kZXIgaXRzIGNoaWxkIG9uIHRoZSB0b3Agb2YgdGhlIERPTVxuICAgICAgICAgIDxkaXYgc3R5bGU9e3tkaXNwbGF5OiAnbm9uZSd9fT5cbiAgICAgICAgICAgIDxQb3J0YWxlZFxuICAgICAgICAgICAgICBpc09wZW5lZD17dGhpcy5zdGF0ZS5jdXJyZW50T3B0aW9uICYmIHRoaXMuc3RhdGUuY3VycmVudE9wdGlvbi5hZ2dyZWdhdG9yc31cbiAgICAgICAgICAgICAgbGVmdD17dGhpcy5zdGF0ZS5zdWJtZW51UG9zaXRpb24ubGVmdH1cbiAgICAgICAgICAgICAgdG9wPXt0aGlzLnN0YXRlLnN1Ym1lbnVQb3NpdGlvbi50b3B9XG4gICAgICAgICAgICAgIG1vZGFsU3R5bGU9e3tcbiAgICAgICAgICAgICAgICBvdmVybGF5OiB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEl0ZW1TZWxlY3RvclN1Ym1lbnVcbiAgICAgICAgICAgICAgICBwb3NpdGlvbj17dGhpcy5zdGF0ZS5zdWJtZW51UG9zaXRpb259XG4gICAgICAgICAgICAgICAgb3B0aW9ucz17dGhpcy5zdGF0ZS5jdXJyZW50T3B0aW9uPy5hZ2dyZWdhdG9ycz8ubWFwKGEgPT5cbiAgICAgICAgICAgICAgICAgIEZJRUxEX0FHR1JFR0FUT1JTLmZpbmQoYW0gPT4gYW0uaWQgPT09IGEpXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoYWdncmVnYXRvciwgZSkgPT4gdGhpcy5fb25DbGljayh0aGlzLnN0YXRlLmN1cnJlbnRPcHRpb24sIGFnZ3JlZ2F0b3IsIGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Qb3J0YWxlZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvRHJvcGRvd25MaXN0Q29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
319
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2Ryb3Bkb3duLWxpc3QuanMiXSwibmFtZXMiOlsiY2xhc3NMaXN0IiwibGlzdCIsImxpc3RIZWFkZXIiLCJsaXN0U2VjdGlvbiIsImxpc3RJdGVtIiwibGlzdEl0ZW1BbmNob3IiLCJkZWZhdWx0RGlzcGxheSIsImQiLCJ2YWx1ZSIsIkRpdmlkZXIiLCJzdHlsZWQiLCJkaXYiLCJMaXN0SXRlbSIsImRpc3BsYXlPcHRpb24iLCJEcm9wZG93bkxpc3RXcmFwcGVyIiwicHJvcHMiLCJsaWdodCIsInRoZW1lIiwiZHJvcGRvd25MaXN0QmdkTFQiLCJkcm9wZG93bkxpc3RCZ2QiLCJkcm9wZG93bkxpc3RCb3JkZXJUb3BMVCIsImRyb3Bkb3duTGlzdEJvcmRlclRvcCIsImRyb3Bkb3duTGlzdExUIiwiZHJvcGRvd25MaXN0IiwiRHJvcGRvd25MaXN0Q29udGFpbmVyIiwiSXRlbSIsIkRyb3Bkb3duTGlzdCIsImN1cnJlbnRPcHRpb24iLCJzdWJtZW51VmlzaWJsZSIsInN1Ym1lbnVQb3NpdGlvbiIsInN1Yk9wdGlvbnMiLCJjYWxsYmFjayIsInNldFN0YXRlIiwib3B0aW9uIiwic3ViT3B0aW9uIiwiZXZlbnQiLCJvcHRpb25TZWxlY3RlZCIsInNlbGVjdGVkQWdncmVnYXRvciIsImlkIiwid2l0aFN1Yk9wdGlvbnMiLCJhZ2dyZWdhdG9ycyIsIm9uT3B0aW9uU2VsZWN0ZWQiLCJlbCIsInRhcmdldCIsInByZXZpb3VzU3RhdGUiLCJ0b3AiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJsZWZ0IiwicmVmIiwiY3VycmVudCIsInJpZ2h0IiwicHJldlByb3BzIiwic2VhcmNoRW50cnlWYWx1ZSIsIl9yZXNldFN0YXRlIiwic3ViTWVudVBvc2l0aW9uIiwiZml4ZWRPcHRpb25zIiwiZGlzcGxheSIsIm9wdGlvbnMiLCJsZW5ndGgiLCJhbGxvd0N1c3RvbVZhbHVlcyIsInZhbHVlT2Zmc2V0IiwiQXJyYXkiLCJpc0FycmF5IiwiY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudCIsIm1hcCIsImkiLCJhY3RpdmUiLCJzZWxlY3Rpb25JbmRleCIsImhvdmVyIiwic3RhdGUiLCJmaXhlZCIsImUiLCJoYXNTdWJPcHRpb25zIiwiX29uQ2xpY2siLCJfb25Nb3VzZU92ZXIiLCJkaXZpZGVyIiwib3ZlcmxheSIsIndpZHRoIiwiaGVpZ2h0IiwiYSIsIkZJRUxEX0FHR1JFR0FUT1JTIiwiZmluZCIsImFtIiwiYWdncmVnYXRvciIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImFycmF5T2YiLCJhbnkiLCJudW1iZXIiLCJjdXN0b21DbGFzc2VzIiwib2JqZWN0IiwiY3VzdG9tVmFsdWVzIiwiY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQiLCJvbmVPZlR5cGUiLCJlbGVtZW50IiwiZnVuYyIsImlzUmVxdWlyZWQiLCJkZWZhdWx0Q2xhc3NOYW1lcyIsImJvb2wiLCJhcmVSZXN1bHRzVHJ1bmNhdGVkIiwicmVzdWx0c1RydW5jYXRlZE1lc3NhZ2UiLCJzdHJpbmciLCJsaXN0SXRlbUNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7OztBQUVPLElBQU1BLFNBQVMsR0FBRztBQUN2QkMsRUFBQUEsSUFBSSxFQUFFLGVBRGlCO0FBRXZCQyxFQUFBQSxVQUFVLEVBQUUsY0FGVztBQUd2QkMsRUFBQUEsV0FBVyxFQUFFLGVBSFU7QUFJdkJDLEVBQUFBLFFBQVEsRUFBRSxZQUphO0FBS3ZCQyxFQUFBQSxjQUFjLEVBQUU7QUFMTyxDQUFsQjs7O0FBUVAsSUFBTUMsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixDQUFBQyxDQUFDO0FBQUEsU0FBSUEsQ0FBQyxDQUFDQyxLQUFGLElBQVdELENBQWY7QUFBQSxDQUF4Qjs7QUFFQSxJQUFNRSxPQUFPLEdBQUdDLDZCQUFP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QixFQUFFc0Isc0JBQVVRLFNBQVYsQ0FBb0IsQ0FBQ1Isc0JBQVVTLE9BQVgsRUFBb0JULHNCQUFVVSxJQUE5QixDQUFwQixDQVBWO0FBUWpCNUIsRUFBQUEsY0FBYyxFQUFFa0Isc0JBQVVHLE1BUlQ7QUFTakIvQyxFQUFBQSxnQkFBZ0IsRUFBRTRDLHNCQUFVVSxJQVRYO0FBVWpCbEYsRUFBQUEsYUFBYSxFQUFFd0Usc0JBQVVVLElBQVYsQ0FBZUMsVUFWYjtBQVdqQkMsRUFBQUEsaUJBQWlCLEVBQUVaLHNCQUFVYSxJQVhaO0FBWWpCQyxFQUFBQSxtQkFBbUIsRUFBRWQsc0JBQVVhLElBWmQ7QUFhakJFLEVBQUFBLHVCQUF1QixFQUFFZixzQkFBVWdCLE1BYmxCO0FBY2pCQyxFQUFBQSxpQkFBaUIsRUFBRWpCLHNCQUFVVSxJQWRaO0FBZWpCM0MsRUFBQUEsZ0JBQWdCLEVBQUVpQyxzQkFBVWdCLE1BZlg7QUFnQmpCOUQsRUFBQUEsY0FBYyxFQUFFOEMsc0JBQVVhO0FBaEJULEM7aUNBREF4RSxZLGtCQW9CRztBQUNwQitELEVBQUFBLGFBQWEsRUFBRSxFQURLO0FBRXBCRyxFQUFBQSx1QkFBdUIsRUFBRWhGLFFBRkw7QUFHcEJtRCxFQUFBQSx5QkFBeUIsRUFBRSxJQUhQO0FBSXBCSixFQUFBQSxpQkFBaUIsRUFBRSxDQUpDO0FBS3BCZ0MsRUFBQUEsWUFBWSxFQUFFLEVBTE07QUFNcEI5RSxFQUFBQSxhQUFhLEVBQUVQLGNBTks7QUFPcEJtQyxFQUFBQSxnQkFBZ0IsRUFBRSw0QkFBTSxDQUFFLENBUE47QUFRcEJ3RCxFQUFBQSxpQkFBaUIsRUFBRSxJQVJDO0FBU3BCOUIsRUFBQUEsY0FBYyxFQUFFLElBVEk7QUFVcEI1QixFQUFBQSxjQUFjLEVBQUU7QUFWSSxDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEl0ZW1TZWxlY3RvclN1Ym1lbnUgZnJvbSAnLi9pdGVtLXNlbGVjdG9yLXN1Ym1lbnUnO1xuaW1wb3J0IHtDaGV2cm9uUmlnaHR9IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2ljb25zJztcbmltcG9ydCB7RklFTERfQUdHUkVHQVRPUlN9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCBQb3J0YWxlZCBmcm9tICcuLi9wb3J0YWxlZCc7XG5cbmV4cG9ydCBjb25zdCBjbGFzc0xpc3QgPSB7XG4gIGxpc3Q6ICdsaXN0LXNlbGVjdG9yJyxcbiAgbGlzdEhlYWRlcjogJ2xpc3RfX2hlYWRlcicsXG4gIGxpc3RTZWN0aW9uOiAnbGlzdF9fc2VjdGlvbicsXG4gIGxpc3RJdGVtOiAnbGlzdF9faXRlbScsXG4gIGxpc3RJdGVtQW5jaG9yOiAnbGlzdF9faXRlbV9fYW5jaG9yJ1xufTtcblxuY29uc3QgZGVmYXVsdERpc3BsYXkgPSBkID0+IGQudmFsdWUgfHwgZDtcblxuY29uc3QgRGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDQ0LCA0OCwgNTAsIDAuMTIpO1xuICBtYXJnaW46IDhweCAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IExpc3RJdGVtID0gKHt2YWx1ZSwgZGlzcGxheU9wdGlvbiA9IGRlZmF1bHREaXNwbGF5fSkgPT4gKFxuICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzTGlzdC5saXN0SXRlbUFuY2hvcn0+e2Rpc3BsYXlPcHRpb24odmFsdWUpfTwvc3Bhbj5cbik7XG5cbmNvbnN0IERyb3Bkb3duTGlzdFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMubGlnaHQgPyBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCZ2RMVCA6IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEJnZH07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZFxuICAgICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLmxpZ2h0ID8gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0Qm9yZGVyVG9wTFQgOiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCb3JkZXJUb3B9O1xuICAke3Byb3BzID0+IChwcm9wcy5saWdodCA/IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdExUIDogcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0KX07XG5gO1xuXG5jb25zdCBEcm9wZG93bkxpc3RDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5jb25zdCBJdGVtID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbiAgJjpob3ZlciwgJi5ob3ZlciB7XG4gICAgc3ZnIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcm9wZG93bkxpc3QgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9wdGlvbnM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLFxuICAgIHN1Yk9wdGlvbnM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLFxuICAgIGFsbG93Q3VzdG9tVmFsdWVzOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIGN1c3RvbUNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY3VzdG9tVmFsdWVzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KSxcbiAgICBjdXN0b21MaXN0SXRlbUNvbXBvbmVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmVsZW1lbnQsIFByb3BUeXBlcy5mdW5jXSksXG4gICAgY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmVsZW1lbnQsIFByb3BUeXBlcy5mdW5jXSksXG4gICAgc2VsZWN0aW9uSW5kZXg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25PcHRpb25TZWxlY3RlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzcGxheU9wdGlvbjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZWZhdWx0Q2xhc3NOYW1lczogUHJvcFR5cGVzLmJvb2wsXG4gICAgYXJlUmVzdWx0c1RydW5jYXRlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcmVzdWx0c1RydW5jYXRlZE1lc3NhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGlzdEl0ZW1Db21wb25lbnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIHNlYXJjaEVudHJ5VmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgd2l0aFN1Yk9wdGlvbnM6IFByb3BUeXBlcy5ib29sXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjdXN0b21DbGFzc2VzOiB7fSxcbiAgICBjdXN0b21MaXN0SXRlbUNvbXBvbmVudDogTGlzdEl0ZW0sXG4gICAgY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudDogbnVsbCxcbiAgICBhbGxvd0N1c3RvbVZhbHVlczogMCxcbiAgICBjdXN0b21WYWx1ZXM6IFtdLFxuICAgIGRpc3BsYXlPcHRpb246IGRlZmF1bHREaXNwbGF5LFxuICAgIG9uT3B0aW9uU2VsZWN0ZWQ6ICgpID0+IHt9LFxuICAgIGRlZmF1bHRDbGFzc05hbWVzOiB0cnVlLFxuICAgIHNlbGVjdGlvbkluZGV4OiBudWxsLFxuICAgIHdpdGhTdWJPcHRpb25zOiBmYWxzZVxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGN1cnJlbnRPcHRpb246IHt9LFxuICAgIHN1Ym1lbnVWaXNpYmxlOiBmYWxzZSxcbiAgICBzdWJtZW51UG9zaXRpb246IHt9XG4gIH07XG5cbiAgaGFzU3ViT3B0aW9ucyA9ICEhdGhpcy5wcm9wcy5zdWJPcHRpb25zO1xuXG4gIHJlZiA9IGNyZWF0ZVJlZigpO1xuXG4gIF9yZXNldFN0YXRlKGNhbGxiYWNrKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7Y3VycmVudE9wdGlvbjoge30sIHN1Ym1lbnVWaXNpYmxlOiBmYWxzZSwgc3VibWVudVBvc2l0aW9uOiB7fX0sIGNhbGxiYWNrKTtcbiAgfVxuXG4gIF9vbkNsaWNrKG9wdGlvbiwgc3ViT3B0aW9uLCBldmVudCkge1xuICAgIGNvbnN0IG9wdGlvblNlbGVjdGVkID1cbiAgICAgIHR5cGVvZiBvcHRpb24gIT09ICdvYmplY3QnXG4gICAgICAgID8gb3B0aW9uXG4gICAgICAgIDoge1xuICAgICAgICAgICAgLi4ub3B0aW9uLFxuICAgICAgICAgICAgc2VsZWN0ZWRBZ2dyZWdhdG9yOiBzdWJPcHRpb24/LmlkXG4gICAgICAgICAgfTtcbiAgICBpZiAoXG4gICAgICAodGhpcy5wcm9wcy53aXRoU3ViT3B0aW9ucyAmJiAoc3ViT3B0aW9uPy5pZCB8fCAhb3B0aW9uLmFnZ3JlZ2F0b3JzKSkgfHxcbiAgICAgICF0aGlzLnByb3BzLndpdGhTdWJPcHRpb25zXG4gICAgKSB7XG4gICAgICB0aGlzLnByb3BzLm9uT3B0aW9uU2VsZWN0ZWQob3B0aW9uU2VsZWN0ZWQsIGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBfb25Nb3VzZU92ZXIob3B0aW9uLCBldmVudCkge1xuICAgIGNvbnN0IGVsID0gZXZlbnQudGFyZ2V0XG4gICAgdGhpcy5zZXRTdGF0ZSgocHJldmlvdXNTdGF0ZSkgPT4gKHtcbiAgICAgIGN1cnJlbnRPcHRpb246IG9wdGlvbixcbiAgICAgIHN1Ym1lbnVWaXNpYmxlOiB0cnVlLFxuICAgICAgc3VibWVudVBvc2l0aW9uOiB7XG4gICAgICAgIHRvcDogZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLFxuICAgICAgICBsZWZ0OiBwcmV2aW91c1N0YXRlLnN1Ym1lbnVQb3NpdGlvbi5sZWZ0ID9wcmV2aW91c1N0YXRlLnN1Ym1lbnVQb3NpdGlvbi5sZWZ0IDogdGhpcy5yZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHRcbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgaWYgKHByZXZQcm9wcy5zZWFyY2hFbnRyeVZhbHVlICE9PSB0aGlzLnByb3BzLnNlYXJjaEVudHJ5VmFsdWUpIHtcbiAgICAgIHRoaXMuX3Jlc2V0U3RhdGUoKTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHN1Yk1lbnVQb3NpdGlvbjogeyBsZWZ0OiB0aGlzLnJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodCB9XG4gICAgfSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Zml4ZWRPcHRpb25zLCBsaWdodH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGRpc3BsYXkgPSB0aGlzLnByb3BzLmRpc3BsYXlPcHRpb247XG5cbiAgICAvLyBEb24ndCByZW5kZXIgaWYgdGhlcmUgYXJlIG5vIG9wdGlvbnMgdG8gZGlzcGxheVxuICAgIGlmICghdGhpcy5wcm9wcy5vcHRpb25zLmxlbmd0aCAmJiB0aGlzLnByb3BzLmFsbG93Q3VzdG9tVmFsdWVzIDw9IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZU9mZnNldCA9IEFycmF5LmlzQXJyYXkoZml4ZWRPcHRpb25zKSA/IGZpeGVkT3B0aW9ucy5sZW5ndGggOiAwO1xuXG4gICAgLy8gRm9yIHNvbWUgcmVhc29uIG9uQ2xpY2sgaXMgbm90IGZpcmVkIHdoZW4gY2xpY2tlZCBvbiBhbiBvcHRpb25cbiAgICAvLyBvbk1vdXNlRG93biBpcyB1c2VkIGhlcmUgYXMgYSB3b3JrYXJvdW5kIG9mICMyMDUgYW5kIG90aGVyXG4gICAgcmV0dXJuIChcbiAgICAgIDxEcm9wZG93bkxpc3RDb250YWluZXIgb25Nb3VzZUxlYXZlPXsoKSA9PiB0aGlzLl9yZXNldFN0YXRlKCl9PlxuICAgICAgICA8RHJvcGRvd25MaXN0V3JhcHBlciBjbGFzc05hbWU9e2NsYXNzTGlzdC5saXN0fSBsaWdodD17bGlnaHR9PlxuICAgICAgICAgIHt0aGlzLnByb3BzLmN1c3RvbUxpc3RIZWFkZXJDb21wb25lbnQgPyAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NMaXN0Lmxpc3RIZWFkZXJ9PlxuICAgICAgICAgICAgICA8dGhpcy5wcm9wcy5jdXN0b21MaXN0SGVhZGVyQ29tcG9uZW50IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8ZGl2IHJlZj17dGhpcy5yZWZ9PlxuICAgICAgICAgICAge3ZhbHVlT2Zmc2V0ID4gMCA/IChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTGlzdC5saXN0U2VjdGlvbn0+XG4gICAgICAgICAgICAgICAge2ZpeGVkT3B0aW9ucy5tYXAoKHZhbHVlLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc0xpc3QubGlzdEl0ZW0sIHtcbiAgICAgICAgICAgICAgICAgICAgICBhY3RpdmU6IHRoaXMucHJvcHMuc2VsZWN0aW9uSW5kZXggPT09IGksXG4gICAgICAgICAgICAgICAgICAgICAgaG92ZXI6IHZhbHVlLmlkICYmICh0aGlzLnN0YXRlLmN1cnJlbnRPcHRpb24/LmlkID09PSB2YWx1ZS5pZCksXG4gICAgICAgICAgICAgICAgICAgICAgZml4ZWQ6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIGtleT17YCR7ZGlzcGxheSh2YWx1ZSl9XyR7aX1gfVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiAhdGhpcy5oYXNTdWJPcHRpb25zICYmIHRoaXMuX29uQ2xpY2sodmFsdWUsIG51bGwsIGUpfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+ICF0aGlzLmhhc1N1Yk9wdGlvbnMgJiYgdGhpcy5fb25DbGljayh2YWx1ZSwgbnVsbCwgZSl9XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17ZSA9PiB0aGlzLl9vbk1vdXNlT3Zlcih2YWx1ZSwgZSl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGlzLnByb3BzLmN1c3RvbUxpc3RJdGVtQ29tcG9uZW50IHZhbHVlPXt2YWx1ZX0gZGlzcGxheU9wdGlvbj17ZGlzcGxheX0gLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgICB7dGhpcy5wcm9wcy5vcHRpb25zLm1hcCgodmFsdWUsIGkpID0+IChcbiAgICAgICAgICAgICAgPGRpdiBrZXk9e2Ake2Rpc3BsYXkodmFsdWUpfV8ke2l9YH0+XG4gICAgICAgICAgICAgICAge3ZhbHVlLmRpdmlkZXIgJiYgPERpdmlkZXIgLz59XG4gICAgICAgICAgICAgICAgPEl0ZW1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc0xpc3QubGlzdEl0ZW0sIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiB0aGlzLnByb3BzLnNlbGVjdGlvbkluZGV4ID09PSBpICsgdmFsdWVPZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIGhvdmVyOiB2YWx1ZS5pZCAmJiAodGhpcy5zdGF0ZS5jdXJyZW50T3B0aW9uPy5pZCA9PT0gdmFsdWUuaWQpXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXtlID0+ICF0aGlzLmhhc1N1Yk9wdGlvbnMgJiYgdGhpcy5fb25DbGljayh2YWx1ZSwgbnVsbCwgZSl9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+ICF0aGlzLmhhc1N1Yk9wdGlvbnMgJiYgdGhpcy5fb25DbGljayh2YWx1ZSwgbnVsbCwgZSl9XG4gICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9e2UgPT4gdGhpcy5fb25Nb3VzZU92ZXIodmFsdWUsIGUpfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDx0aGlzLnByb3BzLmN1c3RvbUxpc3RJdGVtQ29tcG9uZW50IHZhbHVlPXt2YWx1ZX0gZGlzcGxheU9wdGlvbj17ZGlzcGxheX0gLz5cbiAgICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLndpdGhTdWJPcHRpb25zICYmIHZhbHVlLmFnZ3JlZ2F0b3JzICYmIDxDaGV2cm9uUmlnaHQgLz59XG4gICAgICAgICAgICAgICAgPC9JdGVtPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0Ryb3Bkb3duTGlzdFdyYXBwZXI+XG4gICAgICAgIHt0aGlzLnByb3BzLndpdGhTdWJPcHRpb25zICYmIChcbiAgICAgICAgICAvLyBUaGUgZGlzcGxheTogJ25vbmUnIGlzIGEgdHJpY2sgdG8gYmUgYWJsZSB0byByZW5kZXIgdGhlIEl0ZW1TZWxlY3RvclN1Ym1lbnUgaW4gdGhlIGNvcnJlY3QgcG9zaXRpb25cbiAgICAgICAgICAvLyBFdmVuIHdpdGggZGlzcGxheTogJ25vbmUnIHRoZSBQb3J0YWxlZCBjb21wb25lbnQgcmVuZGVyIGl0cyBjaGlsZCBvbiB0aGUgdG9wIG9mIHRoZSBET01cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7ZGlzcGxheTogJ25vbmUnfX0+XG4gICAgICAgICAgICA8UG9ydGFsZWRcbiAgICAgICAgICAgICAgaXNPcGVuZWQ9e3RoaXMuc3RhdGUuY3VycmVudE9wdGlvbiAmJiB0aGlzLnN0YXRlLmN1cnJlbnRPcHRpb24uYWdncmVnYXRvcnN9XG4gICAgICAgICAgICAgIGxlZnQ9e3RoaXMuc3RhdGUuc3VibWVudVBvc2l0aW9uLmxlZnR9XG4gICAgICAgICAgICAgIHRvcD17dGhpcy5zdGF0ZS5zdWJtZW51UG9zaXRpb24udG9wfVxuICAgICAgICAgICAgICBtb2RhbFN0eWxlPXt7XG4gICAgICAgICAgICAgICAgb3ZlcmxheToge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxJdGVtU2VsZWN0b3JTdWJtZW51XG4gICAgICAgICAgICAgICAgcG9zaXRpb249e3RoaXMuc3RhdGUuc3VibWVudVBvc2l0aW9ufVxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3RoaXMuc3RhdGUuY3VycmVudE9wdGlvbj8uYWdncmVnYXRvcnM/Lm1hcChhID0+XG4gICAgICAgICAgICAgICAgICBGSUVMRF9BR0dSRUdBVE9SUy5maW5kKGFtID0+IGFtLmlkID09PSBhKVxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KGFnZ3JlZ2F0b3IsIGUpID0+IHRoaXMuX29uQ2xpY2sodGhpcy5zdGF0ZS5jdXJyZW50T3B0aW9uLCBhZ2dyZWdhdG9yLCBlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvUG9ydGFsZWQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L0Ryb3Bkb3duTGlzdENvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -143,7 +143,7 @@ function ColorRangeSelectFactory(ColorPaletteGroup, PaletteConfig) {
|
|
|
143
143
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "filteredColorRange", (0, _reselect.createSelector)(_this.colorRangesSelector, _this.configTypeSelector, _this.configStepSelector, function (colorRanges, type, steps) {
|
|
144
144
|
return colorRanges.filter(function (colorRange) {
|
|
145
145
|
var isType = type === 'all' || type === colorRange.type;
|
|
146
|
-
var isStep = Number(steps
|
|
146
|
+
var isStep = Number(steps) === colorRange.colors.length;
|
|
147
147
|
return isType && isStep;
|
|
148
148
|
});
|
|
149
149
|
}));
|
|
@@ -153,7 +153,7 @@ function ColorRangeSelectFactory(ColorPaletteGroup, PaletteConfig) {
|
|
|
153
153
|
|
|
154
154
|
_this._setColorRangeConfig(_objectSpread((0, _defineProperty2["default"])({}, key, value), key === 'type' && {
|
|
155
155
|
custom: value === 'custom',
|
|
156
|
-
|
|
156
|
+
isHexColumn: value === _colorRanges.hexColor
|
|
157
157
|
}));
|
|
158
158
|
});
|
|
159
159
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_onSetCustomPalette", function (config) {
|
|
@@ -161,11 +161,6 @@ function ColorRangeSelectFactory(ColorPaletteGroup, PaletteConfig) {
|
|
|
161
161
|
customPalette: config
|
|
162
162
|
});
|
|
163
163
|
});
|
|
164
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_onSetHexColorColumn", function (config) {
|
|
165
|
-
_this.props.setColorPaletteUI({
|
|
166
|
-
customPalette: config
|
|
167
|
-
});
|
|
168
|
-
});
|
|
169
164
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_setColorRangeConfig", function (newConfig) {
|
|
170
165
|
_this.props.setColorPaletteUI({
|
|
171
166
|
colorRangeConfig: newConfig
|
|
@@ -176,7 +171,7 @@ function ColorRangeSelectFactory(ColorPaletteGroup, PaletteConfig) {
|
|
|
176
171
|
showSketcher: false,
|
|
177
172
|
colorRangeConfig: {
|
|
178
173
|
custom: false,
|
|
179
|
-
|
|
174
|
+
isHexColumn: false
|
|
180
175
|
}
|
|
181
176
|
});
|
|
182
177
|
});
|
|
@@ -193,15 +188,6 @@ function ColorRangeSelectFactory(ColorPaletteGroup, PaletteConfig) {
|
|
|
193
188
|
hexColumn: column === null || column === void 0 ? void 0 : column.name
|
|
194
189
|
});
|
|
195
190
|
});
|
|
196
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_handleOnChangePaletteType", function (_ref2) {
|
|
197
|
-
var key = _ref2.key,
|
|
198
|
-
value = _ref2.value;
|
|
199
|
-
|
|
200
|
-
_this._updateConfig({
|
|
201
|
-
key: key,
|
|
202
|
-
value: value
|
|
203
|
-
});
|
|
204
|
-
});
|
|
205
191
|
return _this;
|
|
206
192
|
}
|
|
207
193
|
|
|
@@ -218,15 +204,15 @@ function ColorRangeSelectFactory(ColorPaletteGroup, PaletteConfig) {
|
|
|
218
204
|
return /*#__PURE__*/_react["default"].createElement(StyledColorRangeSelector, null, /*#__PURE__*/_react["default"].createElement(StyledColorConfig, {
|
|
219
205
|
className: "color-range-selector__config"
|
|
220
206
|
}, Object.keys(colorRangeConfig).filter(function (key) {
|
|
221
|
-
return Boolean(CONFIG_SETTINGS[key]) && (colorRangeConfig.custom || colorRangeConfig.
|
|
207
|
+
return Boolean(CONFIG_SETTINGS[key]) && (colorRangeConfig.custom || colorRangeConfig.isHexColumn ? key === 'type' : true);
|
|
222
208
|
}).map(function (key) {
|
|
223
209
|
return /*#__PURE__*/_react["default"].createElement(PaletteConfig, {
|
|
224
210
|
key: key,
|
|
225
211
|
label: CONFIG_SETTINGS[key].label || key,
|
|
226
212
|
config: CONFIG_SETTINGS[key],
|
|
227
|
-
value: colorRangeConfig[key]
|
|
213
|
+
value: colorRangeConfig[key],
|
|
228
214
|
onChange: function onChange(value) {
|
|
229
|
-
return _this2.
|
|
215
|
+
return _this2._updateConfig({
|
|
230
216
|
key: key,
|
|
231
217
|
value: value
|
|
232
218
|
});
|
|
@@ -240,7 +226,7 @@ function ColorRangeSelectFactory(ColorPaletteGroup, PaletteConfig) {
|
|
|
240
226
|
onToggleSketcher: this._onToggleSketcher,
|
|
241
227
|
setCustomPalette: this._onSetCustomPalette,
|
|
242
228
|
onCancel: this._onCustomPaletteCancel
|
|
243
|
-
}) : colorRangeConfig.
|
|
229
|
+
}) : colorRangeConfig.isHexColumn ? /*#__PURE__*/_react["default"].createElement(_hexColumnConfig["default"], {
|
|
244
230
|
fields: this.props.fields,
|
|
245
231
|
value: colorRangeConfig.hexColumn,
|
|
246
232
|
onSelectColumn: this._onSelectColumn
|
|
@@ -402,4 +388,4 @@ function ColorPaletteGroupFactory() {
|
|
|
402
388
|
|
|
403
389
|
return ColorPaletteGroup;
|
|
404
390
|
}
|
|
405
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItcmFuZ2Utc2VsZWN0b3IuanMiXSwibmFtZXMiOlsiQUxMX1RZUEVTIiwiQ09MT1JfUkFOR0VTIiwibWFwIiwiYyIsInR5cGUiLCJmaWx0ZXIiLCJjdHlwZSIsInZhbHVlIiwiaGV4Q29sb3IiLCJkaXZpZGVyIiwiQUxMX1NURVBTIiwiZCIsImNvbG9ycyIsImxlbmd0aCIsInNvcnQiLCJudW1iZXJTb3J0IiwiU3R5bGVkQ29sb3JDb25maWciLCJzdHlsZWQiLCJkaXYiLCJTdHlsZWRDb2xvclJhbmdlU2VsZWN0b3IiLCJhdHRycyIsImNsYXNzTmFtZSIsIlN0eWxlZFBhbGV0dGVDb25maWciLCJwcm9wcyIsInRoZW1lIiwic2Vjb25kYXJ5SW5wdXQiLCJDT05GSUdfU0VUVElOR1NfQ1VTVE9NX1JFVkVSU0VEX0JVVFRPTl9UWVBFIiwiQ09ORklHX1NFVFRJTkdTIiwib3B0aW9ucyIsInN0ZXBzIiwicmV2ZXJzZWQiLCJDb2xvclJhbmdlU2VsZWN0RmFjdG9yeSIsImRlcHMiLCJDb2xvclBhbGV0dGVHcm91cEZhY3RvcnkiLCJQYWxldHRlQ29uZmlnRmFjdG9yeSIsIkNvbG9yUGFsZXR0ZUdyb3VwIiwiUGFsZXR0ZUNvbmZpZyIsIkNvbG9yUmFuZ2VTZWxlY3QiLCJjb2xvclJhbmdlcyIsImNvbG9yUGFsZXR0ZVVJIiwiY29sb3JSYW5nZUNvbmZpZyIsImNvbG9yUmFuZ2VzU2VsZWN0b3IiLCJjb25maWdUeXBlU2VsZWN0b3IiLCJjb25maWdTdGVwU2VsZWN0b3IiLCJjb2xvclJhbmdlIiwiaXNUeXBlIiwiaXNTdGVwIiwiTnVtYmVyIiwia2V5IiwiX3NldENvbG9yUmFuZ2VDb25maWciLCJjdXN0b20iLCJoZXhDb2x1bW4iLCJjb25maWciLCJzZXRDb2xvclBhbGV0dGVVSSIsImN1c3RvbVBhbGV0dGUiLCJuZXdDb25maWciLCJzaG93U2tldGNoZXIiLCJ2YWwiLCJjb2x1bW4iLCJvblNlbGVjdENvbG9yQ29sdW1uIiwibmFtZSIsIl91cGRhdGVDb25maWciLCJmaWx0ZXJlZENvbG9yUmFuZ2VzIiwiZmlsdGVyZWRDb2xvclJhbmdlIiwiT2JqZWN0Iiwia2V5cyIsIkJvb2xlYW4iLCJsYWJlbCIsIl9oYW5kbGVPbkNoYW5nZVBhbGV0dGVUeXBlIiwic2VsZWN0ZWRDb2xvclJhbmdlIiwib25TZWxlY3RDb2xvclJhbmdlIiwiX29uVG9nZ2xlU2tldGNoZXIiLCJfb25TZXRDdXN0b21QYWxldHRlIiwiX29uQ3VzdG9tUGFsZXR0ZUNhbmNlbCIsImZpZWxkcyIsIl9vblNlbGVjdENvbHVtbiIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImFycmF5T2YiLCJhbnkiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwiZnVuYyIsIm9uQ2hhbmdlIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsImxpbmsiLCJTdHlsZWRDb2xvclJhbmdlIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJvblNlbGVjdCIsInNlbGVjdGVkIiwidGl0bGUiLCJpIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7QUFFTyxJQUFNQSxTQUFTLEdBQUcseUJBQ3ZCLEtBRHVCLDZDQUVwQkMsMEJBQWFDLEdBQWIsQ0FBaUIsVUFBQUMsQ0FBQztBQUFBLFNBQUlBLENBQUMsQ0FBQ0MsSUFBTjtBQUFBLENBQWxCLEVBQThCQyxNQUE5QixDQUFxQyxVQUFBQyxLQUFLO0FBQUEsU0FBSUEsS0FBSjtBQUFBLENBQTFDLENBRm9CLElBR3ZCLFFBSHVCLEVBSXZCO0FBQUNDLEVBQUFBLEtBQUssRUFBRUMscUJBQVI7QUFBa0JDLEVBQUFBLE9BQU8sRUFBRTtBQUEzQixDQUp1QixHQUFsQjs7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UCw0QkFDRTtBQUFLLFVBQUEsU0FBUyxFQUFDO0FBQWYsV0FDR0EsS0FBSyxJQUFJQSxLQURaLEVBRUdyRCxXQUFXLENBQUNwQyxHQUFaLENBQWdCLFVBQUMwQyxVQUFELEVBQWFnRCxDQUFiO0FBQUEsOEJBQ2YsZ0NBQUMsZ0JBQUQ7QUFDRSxZQUFBLEdBQUcsWUFBS2hELFVBQVUsQ0FBQ2dCLElBQWhCLGNBQXdCZ0MsQ0FBeEIsQ0FETDtBQUVFLFlBQUEsT0FBTyxFQUFFLGlCQUFBUixDQUFDO0FBQUEscUJBQ1JLLFFBQVEsQ0FBQzNELFFBQVEsR0FBRyxtQ0FBa0IsSUFBbEIsRUFBd0JjLFVBQXhCLENBQUgsR0FBeUNBLFVBQWxELEVBQThEd0MsQ0FBOUQsQ0FEQTtBQUFBO0FBRlosMEJBTUUsZ0NBQUMsd0JBQUQ7QUFDRSxZQUFBLE1BQU0sRUFBRXhDLFVBQVUsQ0FBQ2hDLE1BRHJCO0FBRUUsWUFBQSxVQUFVLEVBQUVrQixRQUZkO0FBR0UsWUFBQSxVQUFVLEVBQUVjLFVBQVUsQ0FBQ2dCLElBQVgsS0FBb0I4QixRQUFRLENBQUM5QixJQUgzQztBQUlFLFlBQUEsU0FBUyxFQUFFO0FBQ1QsMEJBQVksSUFESDtBQUVULGdEQUEyQmdDLENBQTNCO0FBRlM7QUFKYiwwQkFTRSxnQ0FBQywwQkFBRDtBQUFTLFlBQUEsRUFBRSx3QkFBaUJBLENBQWpCLGFBQVg7QUFBeUMsWUFBQSxNQUFNLEVBQUMsT0FBaEQ7QUFBd0QsWUFBQSxLQUFLLEVBQUM7QUFBOUQsYUFDR2hELFVBQVUsQ0FBQ2dCLElBRGQsQ0FURixDQU5GLENBRGU7QUFBQSxTQUFoQixDQUZILENBREY7QUEyQkQ7QUEvQnNDO0FBQUE7QUFBQSxJQUNUZ0IsZ0JBRFM7O0FBaUN6QyxTQUFPekMsaUJBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB1bmlxIGZyb20gJ2xvZGFzaC51bmlxJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuXG5pbXBvcnQgSXRlbVNlbGVjdG9yIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvcic7XG5pbXBvcnQge1BhbmVsTGFiZWwsIEJ1dHRvbiwgVG9vbHRpcH0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFN3aXRjaCBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zd2l0Y2gnO1xuaW1wb3J0IENvbG9yUGFsZXR0ZSBmcm9tICcuL2NvbG9yLXBhbGV0dGUnO1xuaW1wb3J0IEN1c3RvbVBhbGV0dGUgZnJvbSAnLi9jdXN0b20tcGFsZXR0ZSc7XG5pbXBvcnQge0NPTE9SX1JBTkdFUywgaGV4Q29sb3J9IGZyb20gJ2NvbnN0YW50cy9jb2xvci1yYW5nZXMnO1xuaW1wb3J0IHtudW1iZXJTb3J0fSBmcm9tICd1dGlscy9kYXRhLXV0aWxzJztcbmltcG9ydCB7cmV2ZXJzZUNvbG9yUmFuZ2V9IGZyb20gJ3V0aWxzL2NvbG9yLXV0aWxzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnbG9jYWxpemF0aW9uJztcbmltcG9ydCB7U3dhcEhvcml6b250YWx9IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2ljb25zJztcbmltcG9ydCBIZXhDb2x1bW5Db25maWcgZnJvbSAnLi9oZXgtY29sdW1uLWNvbmZpZyc7XG5cbmV4cG9ydCBjb25zdCBBTExfVFlQRVMgPSB1bmlxKFtcbiAgJ2FsbCcsXG4gIC4uLkNPTE9SX1JBTkdFUy5tYXAoYyA9PiBjLnR5cGUpLmZpbHRlcihjdHlwZSA9PiBjdHlwZSksXG4gICdjdXN0b20nLFxuICB7dmFsdWU6IGhleENvbG9yLCBkaXZpZGVyOiB0cnVlfVxuXSk7XG5cbmV4cG9ydCBjb25zdCBBTExfU1RFUFMgPSB1bmlxKENPTE9SX1JBTkdFUy5tYXAoZCA9PiBkLmNvbG9ycy5sZW5ndGgpKS5zb3J0KG51bWJlclNvcnQpO1xuXG5jb25zdCBTdHlsZWRDb2xvckNvbmZpZyA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDEycHggMTJweCAwIDEycHg7XG5gO1xuXG5jb25zdCBTdHlsZWRDb2xvclJhbmdlU2VsZWN0b3IgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY29sb3ItcmFuZ2Utc2VsZWN0b3InXG59KWBcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBTdHlsZWRQYWxldHRlQ29uZmlnID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC5jb2xvci1wYWxldHRlX19jb25maWdfX2xhYmVsIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cbiAgLmNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fc2VsZWN0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cbiAgLml0ZW0tc2VsZWN0b3IgLml0ZW0tc2VsZWN0b3JfX2Ryb3Bkb3duIHtcbiAgICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0fTtcbiAgfVxuICAuY29sb3ItcGFsZXR0ZV9fY29uZmlnX19idXR0b24ge1xuICAgIHN2ZyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBDT05GSUdfU0VUVElOR1NfQ1VTVE9NX1JFVkVSU0VEX0JVVFRPTl9UWVBFID0gJ2N1c3RvbS1yZXZlcnNlZC1idXR0b24nO1xuXG5jb25zdCBDT05GSUdfU0VUVElOR1MgPSB7XG4gIHR5cGU6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBBTExfVFlQRVNcbiAgfSxcbiAgc3RlcHM6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBBTExfU1RFUFNcbiAgfSxcbiAgcmV2ZXJzZWQ6IHtcbiAgICB0eXBlOiBDT05GSUdfU0VUVElOR1NfQ1VTVE9NX1JFVkVSU0VEX0JVVFRPTl9UWVBFLFxuICAgIG9wdGlvbnM6IFt0cnVlLCBmYWxzZV1cbiAgfVxufTtcblxuQ29sb3JSYW5nZVNlbGVjdEZhY3RvcnkuZGVwcyA9IFtDb2xvclBhbGV0dGVHcm91cEZhY3RvcnksIFBhbGV0dGVDb25maWdGYWN0b3J5XTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENvbG9yUmFuZ2VTZWxlY3RGYWN0b3J5KENvbG9yUGFsZXR0ZUdyb3VwLCBQYWxldHRlQ29uZmlnKSB7XG4gIGNsYXNzIENvbG9yUmFuZ2VTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZHM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLFxuICAgICAgY29sb3JQYWxldHRlVUk6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIHNlbGVjdGVkQ29sb3JSYW5nZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgb25TZWxlY3RDb2xvclJhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25TZWxlY3RDb2xvckNvbHVtbjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIHNldENvbG9yUGFsZXR0ZVVJOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgLy8gb3B0aW9uYWxcbiAgICAgIGNvbG9yUmFuZ2VzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KVxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgY29sb3JSYW5nZXM6IENPTE9SX1JBTkdFUyxcbiAgICAgIG9uU2VsZWN0Q29sb3JSYW5nZTogKCkgPT4ge30sXG4gICAgICBzZXRDb2xvclBhbGV0dGVVSTogKCkgPT4ge31cbiAgICB9O1xuXG4gICAgY29sb3JSYW5nZXNTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLmNvbG9yUmFuZ2VzO1xuICAgIGNvbmZpZ1R5cGVTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLmNvbG9yUGFsZXR0ZVVJLmNvbG9yUmFuZ2VDb25maWcudHlwZTtcbiAgICBjb25maWdTdGVwU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5jb2xvclBhbGV0dGVVSS5jb2xvclJhbmdlQ29uZmlnLnN0ZXBzO1xuICAgIGZpbHRlcmVkQ29sb3JSYW5nZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgdGhpcy5jb2xvclJhbmdlc1NlbGVjdG9yLFxuICAgICAgdGhpcy5jb25maWdUeXBlU2VsZWN0b3IsXG4gICAgICB0aGlzLmNvbmZpZ1N0ZXBTZWxlY3RvcixcbiAgICAgIChjb2xvclJhbmdlcywgdHlwZSwgc3RlcHMpID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbG9yUmFuZ2VzLmZpbHRlcihjb2xvclJhbmdlID0+IHtcbiAgICAgICAgICBjb25zdCBpc1R5cGUgPSB0eXBlID09PSAnYWxsJyB8fCB0eXBlID09PSBjb2xvclJhbmdlLnR5cGU7XG4gICAgICAgICAgY29uc3QgaXNTdGVwID0gTnVtYmVyKHN0ZXBzIHx8IDYpID09PSBjb2xvclJhbmdlLmNvbG9ycy5sZW5ndGg7XG5cbiAgICAgICAgICByZXR1cm4gaXNUeXBlICYmIGlzU3RlcDtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIF91cGRhdGVDb25maWcgPSAoe2tleSwgdmFsdWV9KSA9PiB7XG4gICAgICB0aGlzLl9zZXRDb2xvclJhbmdlQ29uZmlnKHtcbiAgICAgICAgW2tleV06IHZhbHVlLFxuICAgICAgICAuLi4oa2V5ID09PSAndHlwZScgJiYge2N1c3RvbTogdmFsdWUgPT09ICdjdXN0b20nLCBoZXhDb2x1bW46IHZhbHVlID09PSBoZXhDb2xvcn0pXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX29uU2V0Q3VzdG9tUGFsZXR0ZSA9IGNvbmZpZyA9PiB7XG4gICAgICB0aGlzLnByb3BzLnNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgY3VzdG9tUGFsZXR0ZTogY29uZmlnXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX29uU2V0SGV4Q29sb3JDb2x1bW4gPSBjb25maWcgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5zZXRDb2xvclBhbGV0dGVVSSh7XG4gICAgICAgIGN1c3RvbVBhbGV0dGU6IGNvbmZpZ1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIF9zZXRDb2xvclJhbmdlQ29uZmlnID0gbmV3Q29uZmlnID0+IHtcbiAgICAgIHRoaXMucHJvcHMuc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICBjb2xvclJhbmdlQ29uZmlnOiBuZXdDb25maWdcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfb25DdXN0b21QYWxldHRlQ2FuY2VsID0gbmV3Q29uZmlnID0+IHtcbiAgICAgIHRoaXMucHJvcHMuc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICBzaG93U2tldGNoZXI6IGZhbHNlLFxuICAgICAgICBjb2xvclJhbmdlQ29uZmlnOiB7Y3VzdG9tOiBmYWxzZSwgaGV4Q29sdW1uOiBmYWxzZX1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfb25Ub2dnbGVTa2V0Y2hlciA9IHZhbCA9PiB7XG4gICAgICB0aGlzLnByb3BzLnNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgc2hvd1NrZXRjaGVyOiB2YWxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfb25TZWxlY3RDb2x1bW4gPSBjb2x1bW4gPT4ge1xuICAgICAgdGhpcy5wcm9wcy5vblNlbGVjdENvbG9yQ29sdW1uKGNvbHVtbik7XG4gICAgICB0aGlzLl9zZXRDb2xvclJhbmdlQ29uZmlnKHtcbiAgICAgICAgdHlwZTogaGV4Q29sb3IsXG4gICAgICAgIGhleENvbHVtbjogY29sdW1uPy5uYW1lXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX2hhbmRsZU9uQ2hhbmdlUGFsZXR0ZVR5cGUgPSAoe2tleSwgdmFsdWV9KSA9PiB7XG4gICAgICB0aGlzLl91cGRhdGVDb25maWcoe2tleSwgdmFsdWV9KTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2N1c3RvbVBhbGV0dGUsIHNob3dTa2V0Y2hlciwgY29sb3JSYW5nZUNvbmZpZ30gPSB0aGlzLnByb3BzLmNvbG9yUGFsZXR0ZVVJO1xuICAgICAgY29uc3QgZmlsdGVyZWRDb2xvclJhbmdlcyA9IHRoaXMuZmlsdGVyZWRDb2xvclJhbmdlKHRoaXMucHJvcHMpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yPlxuICAgICAgICAgIDxTdHlsZWRDb2xvckNvbmZpZyBjbGFzc05hbWU9XCJjb2xvci1yYW5nZS1zZWxlY3Rvcl9fY29uZmlnXCI+XG4gICAgICAgICAgICB7T2JqZWN0LmtleXMoY29sb3JSYW5nZUNvbmZpZylcbiAgICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICBrZXkgPT5cbiAgICAgICAgICAgICAgICAgIEJvb2xlYW4oQ09ORklHX1NFVFRJTkdTW2tleV0pICYmXG4gICAgICAgICAgICAgICAgICAoY29sb3JSYW5nZUNvbmZpZy5jdXN0b20gfHwgY29sb3JSYW5nZUNvbmZpZy5oZXhDb2x1bW4gPyBrZXkgPT09ICd0eXBlJyA6IHRydWUpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLm1hcChrZXkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8UGFsZXR0ZUNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9e0NPTkZJR19TRVRUSU5HU1trZXldLmxhYmVsIHx8IGtleX1cbiAgICAgICAgICAgICAgICAgICAgY29uZmlnPXtDT05GSUdfU0VUVElOR1Nba2V5XX1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2NvbG9yUmFuZ2VDb25maWdba2V5XSB8fCA2fVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dmFsdWUgPT4gdGhpcy5faGFuZGxlT25DaGFuZ2VQYWxldHRlVHlwZSh7a2V5LCB2YWx1ZX0pfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L1N0eWxlZENvbG9yQ29uZmlnPlxuXG4gICAgICAgICAge2NvbG9yUmFuZ2VDb25maWcuY3VzdG9tID8gKFxuICAgICAgICAgICAgPEN1c3RvbVBhbGV0dGVcbiAgICAgICAgICAgICAgY3VzdG9tUGFsZXR0ZT17Y3VzdG9tUGFsZXR0ZX1cbiAgICAgICAgICAgICAgc2hvd1NrZXRjaGVyPXtzaG93U2tldGNoZXJ9XG4gICAgICAgICAgICAgIHNlbGVjdGVkPXt0aGlzLnByb3BzLnNlbGVjdGVkQ29sb3JSYW5nZX1cbiAgICAgICAgICAgICAgb25BcHBseT17dGhpcy5wcm9wcy5vblNlbGVjdENvbG9yUmFuZ2V9XG4gICAgICAgICAgICAgIG9uVG9nZ2xlU2tldGNoZXI9e3RoaXMuX29uVG9nZ2xlU2tldGNoZXJ9XG4gICAgICAgICAgICAgIHNldEN1c3RvbVBhbGV0dGU9e3RoaXMuX29uU2V0Q3VzdG9tUGFsZXR0ZX1cbiAgICAgICAgICAgICAgb25DYW5jZWw9e3RoaXMuX29uQ3VzdG9tUGFsZXR0ZUNhbmNlbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IGNvbG9yUmFuZ2VDb25maWcuaGV4Q29sdW1uID8gKFxuICAgICAgICAgICAgPEhleENvbHVtbkNvbmZpZ1xuICAgICAgICAgICAgICBmaWVsZHM9e3RoaXMucHJvcHMuZmllbGRzfVxuICAgICAgICAgICAgICB2YWx1ZT17Y29sb3JSYW5nZUNvbmZpZy5oZXhDb2x1bW59XG4gICAgICAgICAgICAgIG9uU2VsZWN0Q29sdW1uPXt0aGlzLl9vblNlbGVjdENvbHVtbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxDb2xvclBhbGV0dGVHcm91cFxuICAgICAgICAgICAgICBjb2xvclJhbmdlcz17ZmlsdGVyZWRDb2xvclJhbmdlc31cbiAgICAgICAgICAgICAgb25TZWxlY3Q9e3RoaXMucHJvcHMub25TZWxlY3RDb2xvclJhbmdlfVxuICAgICAgICAgICAgICBzZWxlY3RlZD17dGhpcy5wcm9wcy5zZWxlY3RlZENvbG9yUmFuZ2V9XG4gICAgICAgICAgICAgIHJldmVyc2VkPXtjb2xvclJhbmdlQ29uZmlnLnJldmVyc2VkfVxuICAgICAgICAgICAgICBjb25maWdUeXBlU2VsZWN0b3I9eygpID0+IHRoaXMucHJvcHMuY29sb3JQYWxldHRlVUkuY29sb3JSYW5nZUNvbmZpZy50eXBlfVxuICAgICAgICAgICAgICBjb25maWdTdGVwU2VsZWN0b3I9eygpID0+IHRoaXMucHJvcHMuY29sb3JQYWxldHRlVUkuY29sb3JSYW5nZUNvbmZpZy5zdGVwc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TdHlsZWRDb2xvclJhbmdlU2VsZWN0b3I+XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBDb2xvclJhbmdlU2VsZWN0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUGFsZXR0ZUNvbmZpZ0ZhY3RvcnkoKSB7XG4gIGNsYXNzIFBhbGV0dGVDb25maWcgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBjb25maWc6IHt0eXBlLCBvcHRpb25zfSxcbiAgICAgICAgb25DaGFuZ2VcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkUGFsZXR0ZUNvbmZpZ1xuICAgICAgICAgIGNsYXNzTmFtZT17YGNvbG9yLXBhbGV0dGVfX2NvbmZpZyBjb2xvci1wYWxldHRlX19jb25maWctLSR7bGFiZWx9YH1cbiAgICAgICAgICBvbkNsaWNrPXtlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fbGFiZWxcIj5cbiAgICAgICAgICAgIHt0eXBlICE9PSBDT05GSUdfU0VUVElOR1NfQ1VTVE9NX1JFVkVSU0VEX0JVVFRPTl9UWVBFICYmIChcbiAgICAgICAgICAgICAgPFBhbmVsTGFiZWw+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2Bjb2xvci4ke2xhYmVsfWB9IC8+XG4gICAgICAgICAgICAgIDwvUGFuZWxMYWJlbD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAge3R5cGUgPT09ICdzZWxlY3QnICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sb3ItcGFsZXR0ZV9fY29uZmlnX19zZWxlY3RcIj5cbiAgICAgICAgICAgICAgPEl0ZW1TZWxlY3RvclxuICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e3ZhbHVlfVxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgICAgICAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIHNlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgICAge3R5cGUgPT09ICdzd2l0Y2gnICYmIChcbiAgICAgICAgICAgIDxTd2l0Y2hcbiAgICAgICAgICAgICAgY2hlY2tlZD17dmFsdWV9XG4gICAgICAgICAgICAgIGlkPXtgJHtsYWJlbH0tdG9nZ2xlYH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eygpID0+IG9uQ2hhbmdlKCF2YWx1ZSl9XG4gICAgICAgICAgICAgIHNlY29uZGFyeVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHt0eXBlID09PSBDT05GSUdfU0VUVElOR1NfQ1VTVE9NX1JFVkVSU0VEX0JVVFRPTl9UWVBFICYmIChcbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgY29sb3ItcGFsZXR0ZV9fY29uZmlnX19idXR0b24gJHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA/ICdjb2xvci1wYWxldHRlX19jb25maWdfX2J1dHRvbi0tYWN0aXZlJyA6ICcnXG4gICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICBkYXRhLXRpcFxuICAgICAgICAgICAgICBkYXRhLWZvcj17YCR7bGFiZWx9LXRvb2x0aXBgfVxuICAgICAgICAgICAgICB7Li4uKCF2YWx1ZSAmJiB7bGluazogdHJ1ZX0pfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZSghdmFsdWUpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8U3dhcEhvcml6b250YWwgLz5cbiAgICAgICAgICAgICAgPFRvb2x0aXAgaWQ9e2Ake2xhYmVsfS10b29sdGlwYH0gZWZmZWN0PVwic29saWRcIiBwbGFjZT1cInRvcFwiPlxuICAgICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TdHlsZWRQYWxldHRlQ29uZmlnPlxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFBhbGV0dGVDb25maWc7XG59XG5cbmNvbnN0IFN0eWxlZENvbG9yUmFuZ2UgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY29sb3ItcGFsZXR0ZS1vdXRlcidcbn0pYFxuICBwYWRkaW5nOiAwIDhweDtcbiAgOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmV4cG9ydCBmdW5jdGlvbiBDb2xvclBhbGV0dGVHcm91cEZhY3RvcnkoKSB7XG4gIGNsYXNzIENvbG9yUGFsZXR0ZUdyb3VwIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7cmV2ZXJzZWQsIG9uU2VsZWN0LCBzZWxlY3RlZCwgY29sb3JSYW5nZXMsIHRpdGxlfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbG9yLXBhbGV0dGVfX2dyb3VwXCI+XG4gICAgICAgICAge3RpdGxlICYmIHRpdGxlfVxuICAgICAgICAgIHtjb2xvclJhbmdlcy5tYXAoKGNvbG9yUmFuZ2UsIGkpID0+IChcbiAgICAgICAgICAgIDxTdHlsZWRDb2xvclJhbmdlXG4gICAgICAgICAgICAgIGtleT17YCR7Y29sb3JSYW5nZS5uYW1lfS0ke2l9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17ZSA9PlxuICAgICAgICAgICAgICAgIG9uU2VsZWN0KHJldmVyc2VkID8gcmV2ZXJzZUNvbG9yUmFuZ2UodHJ1ZSwgY29sb3JSYW5nZSkgOiBjb2xvclJhbmdlLCBlKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxDb2xvclBhbGV0dGVcbiAgICAgICAgICAgICAgICBjb2xvcnM9e2NvbG9yUmFuZ2UuY29sb3JzfVxuICAgICAgICAgICAgICAgIGlzUmV2ZXJzZWQ9e3JldmVyc2VkfVxuICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e2NvbG9yUmFuZ2UubmFtZSA9PT0gc2VsZWN0ZWQubmFtZX1cbiAgICAgICAgICAgICAgICByb290UHJvcHM9e3tcbiAgICAgICAgICAgICAgICAgICdkYXRhLXRpcCc6IHRydWUsXG4gICAgICAgICAgICAgICAgICAnZGF0YS1mb3InOiBgY29sb3ItcmFuZ2UtJHtpfS10b29sdGlwYFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VG9vbHRpcCBpZD17YGNvbG9yLXJhbmdlLSR7aX0tdG9vbHRpcGB9IGVmZmVjdD1cInNvbGlkXCIgcGxhY2U9XCJ0b3BcIj5cbiAgICAgICAgICAgICAgICAgIHtjb2xvclJhbmdlLm5hbWV9XG4gICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICA8L0NvbG9yUGFsZXR0ZT5cbiAgICAgICAgICAgIDwvU3R5bGVkQ29sb3JSYW5nZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gQ29sb3JQYWxldHRlR3JvdXA7XG59XG4iXX0=
|
|
391
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItcmFuZ2Utc2VsZWN0b3IuanMiXSwibmFtZXMiOlsiQUxMX1RZUEVTIiwiQ09MT1JfUkFOR0VTIiwibWFwIiwiYyIsInR5cGUiLCJmaWx0ZXIiLCJjdHlwZSIsInZhbHVlIiwiaGV4Q29sb3IiLCJkaXZpZGVyIiwiQUxMX1NURVBTIiwiZCIsImNvbG9ycyIsImxlbmd0aCIsInNvcnQiLCJudW1iZXJTb3J0IiwiU3R5bGVkQ29sb3JDb25maWciLCJzdHlsZWQiLCJkaXYiLCJTdHlsZWRDb2xvclJhbmdlU2VsZWN0b3IiLCJhdHRycyIsImNsYXNzTmFtZSIsIlN0eWxlZFBhbGV0dGVDb25maWciLCJwcm9wcyIsInRoZW1lIiwic2Vjb25kYXJ5SW5wdXQiLCJDT05GSUdfU0VUVElOR1NfQ1VTVE9NX1JFVkVSU0VEX0JVVFRPTl9UWVBFIiwiQ09ORklHX1NFVFRJTkdTIiwib3B0aW9ucyIsInN0ZXBzIiwicmV2ZXJzZWQiLCJDb2xvclJhbmdlU2VsZWN0RmFjdG9yeSIsImRlcHMiLCJDb2xvclBhbGV0dGVHcm91cEZhY3RvcnkiLCJQYWxldHRlQ29uZmlnRmFjdG9yeSIsIkNvbG9yUGFsZXR0ZUdyb3VwIiwiUGFsZXR0ZUNvbmZpZyIsIkNvbG9yUmFuZ2VTZWxlY3QiLCJjb2xvclJhbmdlcyIsImNvbG9yUGFsZXR0ZVVJIiwiY29sb3JSYW5nZUNvbmZpZyIsImNvbG9yUmFuZ2VzU2VsZWN0b3IiLCJjb25maWdUeXBlU2VsZWN0b3IiLCJjb25maWdTdGVwU2VsZWN0b3IiLCJjb2xvclJhbmdlIiwiaXNUeXBlIiwiaXNTdGVwIiwiTnVtYmVyIiwia2V5IiwiX3NldENvbG9yUmFuZ2VDb25maWciLCJjdXN0b20iLCJpc0hleENvbHVtbiIsImNvbmZpZyIsInNldENvbG9yUGFsZXR0ZVVJIiwiY3VzdG9tUGFsZXR0ZSIsIm5ld0NvbmZpZyIsInNob3dTa2V0Y2hlciIsInZhbCIsImNvbHVtbiIsIm9uU2VsZWN0Q29sb3JDb2x1bW4iLCJoZXhDb2x1bW4iLCJuYW1lIiwiZmlsdGVyZWRDb2xvclJhbmdlcyIsImZpbHRlcmVkQ29sb3JSYW5nZSIsIk9iamVjdCIsImtleXMiLCJCb29sZWFuIiwibGFiZWwiLCJfdXBkYXRlQ29uZmlnIiwic2VsZWN0ZWRDb2xvclJhbmdlIiwib25TZWxlY3RDb2xvclJhbmdlIiwiX29uVG9nZ2xlU2tldGNoZXIiLCJfb25TZXRDdXN0b21QYWxldHRlIiwiX29uQ3VzdG9tUGFsZXR0ZUNhbmNlbCIsImZpZWxkcyIsIl9vblNlbGVjdENvbHVtbiIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImFycmF5T2YiLCJhbnkiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwiZnVuYyIsIm9uQ2hhbmdlIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsImxpbmsiLCJTdHlsZWRDb2xvclJhbmdlIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJvblNlbGVjdCIsInNlbGVjdGVkIiwidGl0bGUiLCJpIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7QUFFTyxJQUFNQSxTQUFTLEdBQUcseUJBQ3ZCLEtBRHVCLDZDQUVwQkMsMEJBQWFDLEdBQWIsQ0FBaUIsVUFBQUMsQ0FBQztBQUFBLFNBQUlBLENBQUMsQ0FBQ0MsSUFBTjtBQUFBLENBQWxCLEVBQThCQyxNQUE5QixDQUFxQyxVQUFBQyxLQUFLO0FBQUEsU0FBSUEsS0FBSjtBQUFBLENBQTFDLENBRm9CLElBR3ZCLFFBSHVCLEVBSXZCO0FBQUNDLEVBQUFBLEtBQUssRUFBRUMscUJBQVI7QUFBa0JDLEVBQUFBLE9BQU8sRUFBRTtBQUEzQixDQUp1QixHQUFsQjs7QUFPQSxJQUFNQyxTQUFT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MEJBTUUsZ0NBQUMsd0JBQUQ7QUFDRSxZQUFBLE1BQU0sRUFBRXhDLFVBQVUsQ0FBQ2hDLE1BRHJCO0FBRUUsWUFBQSxVQUFVLEVBQUVrQixRQUZkO0FBR0UsWUFBQSxVQUFVLEVBQUVjLFVBQVUsQ0FBQ2lCLElBQVgsS0FBb0I2QixRQUFRLENBQUM3QixJQUgzQztBQUlFLFlBQUEsU0FBUyxFQUFFO0FBQ1QsMEJBQVksSUFESDtBQUVULGdEQUEyQitCLENBQTNCO0FBRlM7QUFKYiwwQkFTRSxnQ0FBQywwQkFBRDtBQUFTLFlBQUEsRUFBRSx3QkFBaUJBLENBQWpCLGFBQVg7QUFBeUMsWUFBQSxNQUFNLEVBQUMsT0FBaEQ7QUFBd0QsWUFBQSxLQUFLLEVBQUM7QUFBOUQsYUFDR2hELFVBQVUsQ0FBQ2lCLElBRGQsQ0FURixDQU5GLENBRGU7QUFBQSxTQUFoQixDQUZILENBREY7QUEyQkQ7QUEvQnNDO0FBQUE7QUFBQSxJQUNUZSxnQkFEUzs7QUFpQ3pDLFNBQU96QyxpQkFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHVuaXEgZnJvbSAnbG9kYXNoLnVuaXEnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2NyZWF0ZVNlbGVjdG9yfSBmcm9tICdyZXNlbGVjdCc7XG5cbmltcG9ydCBJdGVtU2VsZWN0b3IgZnJvbSAnY29tcG9uZW50cy9jb21tb24vaXRlbS1zZWxlY3Rvci9pdGVtLXNlbGVjdG9yJztcbmltcG9ydCB7UGFuZWxMYWJlbCwgQnV0dG9uLCBUb29sdGlwfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgU3dpdGNoIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N3aXRjaCc7XG5pbXBvcnQgQ29sb3JQYWxldHRlIGZyb20gJy4vY29sb3ItcGFsZXR0ZSc7XG5pbXBvcnQgQ3VzdG9tUGFsZXR0ZSBmcm9tICcuL2N1c3RvbS1wYWxldHRlJztcbmltcG9ydCB7Q09MT1JfUkFOR0VTLCBoZXhDb2xvcn0gZnJvbSAnY29uc3RhbnRzL2NvbG9yLXJhbmdlcyc7XG5pbXBvcnQge251bWJlclNvcnR9IGZyb20gJ3V0aWxzL2RhdGEtdXRpbHMnO1xuaW1wb3J0IHtyZXZlcnNlQ29sb3JSYW5nZX0gZnJvbSAndXRpbHMvY29sb3ItdXRpbHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdsb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtTd2FwSG9yaXpvbnRhbH0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vaWNvbnMnO1xuaW1wb3J0IEhleENvbHVtbkNvbmZpZyBmcm9tICcuL2hleC1jb2x1bW4tY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IEFMTF9UWVBFUyA9IHVuaXEoW1xuICAnYWxsJyxcbiAgLi4uQ09MT1JfUkFOR0VTLm1hcChjID0+IGMudHlwZSkuZmlsdGVyKGN0eXBlID0+IGN0eXBlKSxcbiAgJ2N1c3RvbScsXG4gIHt2YWx1ZTogaGV4Q29sb3IsIGRpdmlkZXI6IHRydWV9XG5dKTtcblxuZXhwb3J0IGNvbnN0IEFMTF9TVEVQUyA9IHVuaXEoQ09MT1JfUkFOR0VTLm1hcChkID0+IGQuY29sb3JzLmxlbmd0aCkpLnNvcnQobnVtYmVyU29ydCk7XG5cbmNvbnN0IFN0eWxlZENvbG9yQ29uZmlnID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxMnB4IDAgMTJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZENvbG9yUmFuZ2VTZWxlY3RvciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjb2xvci1yYW5nZS1zZWxlY3Rvcidcbn0pYFxuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFBhbGV0dGVDb25maWcgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLmNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fbGFiZWwge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuY29sb3ItcGFsZXR0ZV9fY29uZmlnX19zZWxlY3Qge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuaXRlbS1zZWxlY3RvciAuaXRlbS1zZWxlY3Rvcl9fZHJvcGRvd24ge1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXR9O1xuICB9XG4gIC5jb2xvci1wYWxldHRlX19jb25maWdfX2J1dHRvbiB7XG4gICAgc3ZnIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IENPTkZJR19TRVRUSU5HU19DVVNUT01fUkVWRVJTRURfQlVUVE9OX1RZUEUgPSAnY3VzdG9tLXJldmVyc2VkLWJ1dHRvbic7XG5cbmNvbnN0IENPTkZJR19TRVRUSU5HUyA9IHtcbiAgdHlwZToge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIG9wdGlvbnM6IEFMTF9UWVBFU1xuICB9LFxuICBzdGVwczoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIG9wdGlvbnM6IEFMTF9TVEVQU1xuICB9LFxuICByZXZlcnNlZDoge1xuICAgIHR5cGU6IENPTkZJR19TRVRUSU5HU19DVVNUT01fUkVWRVJTRURfQlVUVE9OX1RZUEUsXG4gICAgb3B0aW9uczogW3RydWUsIGZhbHNlXVxuICB9XG59O1xuXG5Db2xvclJhbmdlU2VsZWN0RmFjdG9yeS5kZXBzID0gW0NvbG9yUGFsZXR0ZUdyb3VwRmFjdG9yeSwgUGFsZXR0ZUNvbmZpZ0ZhY3RvcnldO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ29sb3JSYW5nZVNlbGVjdEZhY3RvcnkoQ29sb3JQYWxldHRlR3JvdXAsIFBhbGV0dGVDb25maWcpIHtcbiAgY2xhc3MgQ29sb3JSYW5nZVNlbGVjdCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGZpZWxkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSksXG4gICAgICBjb2xvclBhbGV0dGVVSTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgc2VsZWN0ZWRDb2xvclJhbmdlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBvblNlbGVjdENvbG9yUmFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblNlbGVjdENvbG9yQ29sdW1uOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgc2V0Q29sb3JQYWxldHRlVUk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICAvLyBvcHRpb25hbFxuICAgICAgY29sb3JSYW5nZXM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpXG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICBjb2xvclJhbmdlczogQ09MT1JfUkFOR0VTLFxuICAgICAgb25TZWxlY3RDb2xvclJhbmdlOiAoKSA9PiB7fSxcbiAgICAgIHNldENvbG9yUGFsZXR0ZVVJOiAoKSA9PiB7fVxuICAgIH07XG5cbiAgICBjb2xvclJhbmdlc1NlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuY29sb3JSYW5nZXM7XG4gICAgY29uZmlnVHlwZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuY29sb3JQYWxldHRlVUkuY29sb3JSYW5nZUNvbmZpZy50eXBlO1xuICAgIGNvbmZpZ1N0ZXBTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLmNvbG9yUGFsZXR0ZVVJLmNvbG9yUmFuZ2VDb25maWcuc3RlcHM7XG4gICAgZmlsdGVyZWRDb2xvclJhbmdlID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICB0aGlzLmNvbG9yUmFuZ2VzU2VsZWN0b3IsXG4gICAgICB0aGlzLmNvbmZpZ1R5cGVTZWxlY3RvcixcbiAgICAgIHRoaXMuY29uZmlnU3RlcFNlbGVjdG9yLFxuICAgICAgKGNvbG9yUmFuZ2VzLCB0eXBlLCBzdGVwcykgPT4ge1xuICAgICAgICByZXR1cm4gY29sb3JSYW5nZXMuZmlsdGVyKGNvbG9yUmFuZ2UgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzVHlwZSA9IHR5cGUgPT09ICdhbGwnIHx8IHR5cGUgPT09IGNvbG9yUmFuZ2UudHlwZTtcbiAgICAgICAgICBjb25zdCBpc1N0ZXAgPSBOdW1iZXIoc3RlcHMpID09PSBjb2xvclJhbmdlLmNvbG9ycy5sZW5ndGg7XG5cbiAgICAgICAgICByZXR1cm4gaXNUeXBlICYmIGlzU3RlcDtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIF91cGRhdGVDb25maWcgPSAoe2tleSwgdmFsdWV9KSA9PiB7XG4gICAgICB0aGlzLl9zZXRDb2xvclJhbmdlQ29uZmlnKHtcbiAgICAgICAgW2tleV06IHZhbHVlLFxuICAgICAgICAuLi4oa2V5ID09PSAndHlwZScgJiYge2N1c3RvbTogdmFsdWUgPT09ICdjdXN0b20nLCBpc0hleENvbHVtbjogdmFsdWUgPT09IGhleENvbG9yfSlcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfb25TZXRDdXN0b21QYWxldHRlID0gY29uZmlnID0+IHtcbiAgICAgIHRoaXMucHJvcHMuc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICBjdXN0b21QYWxldHRlOiBjb25maWdcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfc2V0Q29sb3JSYW5nZUNvbmZpZyA9IG5ld0NvbmZpZyA9PiB7XG4gICAgICB0aGlzLnByb3BzLnNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgY29sb3JSYW5nZUNvbmZpZzogbmV3Q29uZmlnXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX29uQ3VzdG9tUGFsZXR0ZUNhbmNlbCA9IG5ld0NvbmZpZyA9PiB7XG4gICAgICB0aGlzLnByb3BzLnNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgc2hvd1NrZXRjaGVyOiBmYWxzZSxcbiAgICAgICAgY29sb3JSYW5nZUNvbmZpZzoge2N1c3RvbTogZmFsc2UsIGlzSGV4Q29sdW1uOiBmYWxzZX1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfb25Ub2dnbGVTa2V0Y2hlciA9IHZhbCA9PiB7XG4gICAgICB0aGlzLnByb3BzLnNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgc2hvd1NrZXRjaGVyOiB2YWxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfb25TZWxlY3RDb2x1bW4gPSBjb2x1bW4gPT4ge1xuICAgICAgdGhpcy5wcm9wcy5vblNlbGVjdENvbG9yQ29sdW1uKGNvbHVtbik7XG4gICAgICB0aGlzLl9zZXRDb2xvclJhbmdlQ29uZmlnKHtcbiAgICAgICAgdHlwZTogaGV4Q29sb3IsXG4gICAgICAgIGhleENvbHVtbjogY29sdW1uPy5uYW1lXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2N1c3RvbVBhbGV0dGUsIHNob3dTa2V0Y2hlciwgY29sb3JSYW5nZUNvbmZpZ30gPSB0aGlzLnByb3BzLmNvbG9yUGFsZXR0ZVVJO1xuICAgICAgY29uc3QgZmlsdGVyZWRDb2xvclJhbmdlcyA9IHRoaXMuZmlsdGVyZWRDb2xvclJhbmdlKHRoaXMucHJvcHMpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yPlxuICAgICAgICAgIDxTdHlsZWRDb2xvckNvbmZpZyBjbGFzc05hbWU9XCJjb2xvci1yYW5nZS1zZWxlY3Rvcl9fY29uZmlnXCI+XG4gICAgICAgICAgICB7T2JqZWN0LmtleXMoY29sb3JSYW5nZUNvbmZpZylcbiAgICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICBrZXkgPT5cbiAgICAgICAgICAgICAgICAgIEJvb2xlYW4oQ09ORklHX1NFVFRJTkdTW2tleV0pICYmXG4gICAgICAgICAgICAgICAgICAoY29sb3JSYW5nZUNvbmZpZy5jdXN0b20gfHwgY29sb3JSYW5nZUNvbmZpZy5pc0hleENvbHVtbiA/IGtleSA9PT0gJ3R5cGUnIDogdHJ1ZSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAubWFwKGtleSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxQYWxldHRlQ29uZmlnXG4gICAgICAgICAgICAgICAgICAgIGtleT17a2V5fVxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17Q09ORklHX1NFVFRJTkdTW2tleV0ubGFiZWwgfHwga2V5fVxuICAgICAgICAgICAgICAgICAgICBjb25maWc9e0NPTkZJR19TRVRUSU5HU1trZXldfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Y29sb3JSYW5nZUNvbmZpZ1trZXldfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dmFsdWUgPT4gdGhpcy5fdXBkYXRlQ29uZmlnKHtrZXksIHZhbHVlfSl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvU3R5bGVkQ29sb3JDb25maWc+XG5cbiAgICAgICAgICB7Y29sb3JSYW5nZUNvbmZpZy5jdXN0b20gPyAoXG4gICAgICAgICAgICA8Q3VzdG9tUGFsZXR0ZVxuICAgICAgICAgICAgICBjdXN0b21QYWxldHRlPXtjdXN0b21QYWxldHRlfVxuICAgICAgICAgICAgICBzaG93U2tldGNoZXI9e3Nob3dTa2V0Y2hlcn1cbiAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3RoaXMucHJvcHMuc2VsZWN0ZWRDb2xvclJhbmdlfVxuICAgICAgICAgICAgICBvbkFwcGx5PXt0aGlzLnByb3BzLm9uU2VsZWN0Q29sb3JSYW5nZX1cbiAgICAgICAgICAgICAgb25Ub2dnbGVTa2V0Y2hlcj17dGhpcy5fb25Ub2dnbGVTa2V0Y2hlcn1cbiAgICAgICAgICAgICAgc2V0Q3VzdG9tUGFsZXR0ZT17dGhpcy5fb25TZXRDdXN0b21QYWxldHRlfVxuICAgICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5fb25DdXN0b21QYWxldHRlQ2FuY2VsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogY29sb3JSYW5nZUNvbmZpZy5pc0hleENvbHVtbiA/IChcbiAgICAgICAgICAgIDxIZXhDb2x1bW5Db25maWdcbiAgICAgICAgICAgICAgZmllbGRzPXt0aGlzLnByb3BzLmZpZWxkc31cbiAgICAgICAgICAgICAgdmFsdWU9e2NvbG9yUmFuZ2VDb25maWcuaGV4Q29sdW1ufVxuICAgICAgICAgICAgICBvblNlbGVjdENvbHVtbj17dGhpcy5fb25TZWxlY3RDb2x1bW59XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8Q29sb3JQYWxldHRlR3JvdXBcbiAgICAgICAgICAgICAgY29sb3JSYW5nZXM9e2ZpbHRlcmVkQ29sb3JSYW5nZXN9XG4gICAgICAgICAgICAgIG9uU2VsZWN0PXt0aGlzLnByb3BzLm9uU2VsZWN0Q29sb3JSYW5nZX1cbiAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3RoaXMucHJvcHMuc2VsZWN0ZWRDb2xvclJhbmdlfVxuICAgICAgICAgICAgICByZXZlcnNlZD17Y29sb3JSYW5nZUNvbmZpZy5yZXZlcnNlZH1cbiAgICAgICAgICAgICAgY29uZmlnVHlwZVNlbGVjdG9yPXsoKSA9PiB0aGlzLnByb3BzLmNvbG9yUGFsZXR0ZVVJLmNvbG9yUmFuZ2VDb25maWcudHlwZX1cbiAgICAgICAgICAgICAgY29uZmlnU3RlcFNlbGVjdG9yPXsoKSA9PiB0aGlzLnByb3BzLmNvbG9yUGFsZXR0ZVVJLmNvbG9yUmFuZ2VDb25maWcuc3RlcHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gQ29sb3JSYW5nZVNlbGVjdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFBhbGV0dGVDb25maWdGYWN0b3J5KCkge1xuICBjbGFzcyBQYWxldHRlQ29uZmlnIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGxhYmVsLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgY29uZmlnOiB7dHlwZSwgb3B0aW9uc30sXG4gICAgICAgIG9uQ2hhbmdlXG4gICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZFBhbGV0dGVDb25maWdcbiAgICAgICAgICBjbGFzc05hbWU9e2Bjb2xvci1wYWxldHRlX19jb25maWcgY29sb3ItcGFsZXR0ZV9fY29uZmlnLS0ke2xhYmVsfWB9XG4gICAgICAgICAgb25DbGljaz17ZSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1wYWxldHRlX19jb25maWdfX2xhYmVsXCI+XG4gICAgICAgICAgICB7dHlwZSAhPT0gQ09ORklHX1NFVFRJTkdTX0NVU1RPTV9SRVZFUlNFRF9CVVRUT05fVFlQRSAmJiAoXG4gICAgICAgICAgICAgIDxQYW5lbExhYmVsPlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtgY29sb3IuJHtsYWJlbH1gfSAvPlxuICAgICAgICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHt0eXBlID09PSAnc2VsZWN0JyAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fc2VsZWN0XCI+XG4gICAgICAgICAgICAgIDxJdGVtU2VsZWN0b3JcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgICAgICAgICBzZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICAgIHt0eXBlID09PSAnc3dpdGNoJyAmJiAoXG4gICAgICAgICAgICA8U3dpdGNoXG4gICAgICAgICAgICAgIGNoZWNrZWQ9e3ZhbHVlfVxuICAgICAgICAgICAgICBpZD17YCR7bGFiZWx9LXRvZ2dsZWB9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiBvbkNoYW5nZSghdmFsdWUpfVxuICAgICAgICAgICAgICBzZWNvbmRhcnlcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7dHlwZSA9PT0gQ09ORklHX1NFVFRJTkdTX0NVU1RPTV9SRVZFUlNFRF9CVVRUT05fVFlQRSAmJiAoXG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YGNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fYnV0dG9uICR7XG4gICAgICAgICAgICAgICAgdmFsdWUgPyAnY29sb3ItcGFsZXR0ZV9fY29uZmlnX19idXR0b24tLWFjdGl2ZScgOiAnJ1xuICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgZGF0YS10aXBcbiAgICAgICAgICAgICAgZGF0YS1mb3I9e2Ake2xhYmVsfS10b29sdGlwYH1cbiAgICAgICAgICAgICAgey4uLighdmFsdWUgJiYge2xpbms6IHRydWV9KX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2UoIXZhbHVlKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN3YXBIb3Jpem9udGFsIC8+XG4gICAgICAgICAgICAgIDxUb29sdGlwIGlkPXtgJHtsYWJlbH0tdG9vbHRpcGB9IGVmZmVjdD1cInNvbGlkXCIgcGxhY2U9XCJ0b3BcIj5cbiAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU3R5bGVkUGFsZXR0ZUNvbmZpZz5cbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHJldHVybiBQYWxldHRlQ29uZmlnO1xufVxuXG5jb25zdCBTdHlsZWRDb2xvclJhbmdlID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2NvbG9yLXBhbGV0dGUtb3V0ZXInXG59KWBcbiAgcGFkZGluZzogMCA4cHg7XG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5leHBvcnQgZnVuY3Rpb24gQ29sb3JQYWxldHRlR3JvdXBGYWN0b3J5KCkge1xuICBjbGFzcyBDb2xvclBhbGV0dGVHcm91cCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge3JldmVyc2VkLCBvblNlbGVjdCwgc2VsZWN0ZWQsIGNvbG9yUmFuZ2VzLCB0aXRsZX0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1wYWxldHRlX19ncm91cFwiPlxuICAgICAgICAgIHt0aXRsZSAmJiB0aXRsZX1cbiAgICAgICAgICB7Y29sb3JSYW5nZXMubWFwKChjb2xvclJhbmdlLCBpKSA9PiAoXG4gICAgICAgICAgICA8U3R5bGVkQ29sb3JSYW5nZVxuICAgICAgICAgICAgICBrZXk9e2Ake2NvbG9yUmFuZ2UubmFtZX0tJHtpfWB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT5cbiAgICAgICAgICAgICAgICBvblNlbGVjdChyZXZlcnNlZCA/IHJldmVyc2VDb2xvclJhbmdlKHRydWUsIGNvbG9yUmFuZ2UpIDogY29sb3JSYW5nZSwgZSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Q29sb3JQYWxldHRlXG4gICAgICAgICAgICAgICAgY29sb3JzPXtjb2xvclJhbmdlLmNvbG9yc31cbiAgICAgICAgICAgICAgICBpc1JldmVyc2VkPXtyZXZlcnNlZH1cbiAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtjb2xvclJhbmdlLm5hbWUgPT09IHNlbGVjdGVkLm5hbWV9XG4gICAgICAgICAgICAgICAgcm9vdFByb3BzPXt7XG4gICAgICAgICAgICAgICAgICAnZGF0YS10aXAnOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgJ2RhdGEtZm9yJzogYGNvbG9yLXJhbmdlLSR7aX0tdG9vbHRpcGBcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFRvb2x0aXAgaWQ9e2Bjb2xvci1yYW5nZS0ke2l9LXRvb2x0aXBgfSBlZmZlY3Q9XCJzb2xpZFwiIHBsYWNlPVwidG9wXCI+XG4gICAgICAgICAgICAgICAgICB7Y29sb3JSYW5nZS5uYW1lfVxuICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgPC9Db2xvclBhbGV0dGU+XG4gICAgICAgICAgICA8L1N0eWxlZENvbG9yUmFuZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIENvbG9yUGFsZXR0ZUdyb3VwO1xufVxuIl19
|
|
@@ -128,9 +128,6 @@ function ColorSelectorFactory(SingleColorPalette, ColorRangeSelector) {
|
|
|
128
128
|
_this.props.colorSets[editing].setColor(color);
|
|
129
129
|
}
|
|
130
130
|
});
|
|
131
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_onSelectColorColumn", function (column) {
|
|
132
|
-
_this.props.onSelectHexColorColumn(column);
|
|
133
|
-
});
|
|
134
131
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_showDropdown", function (e, i) {
|
|
135
132
|
e.stopPropagation();
|
|
136
133
|
e.preventDefault();
|
|
@@ -190,7 +187,7 @@ function ColorSelectorFactory(SingleColorPalette, ColorRangeSelector) {
|
|
|
190
187
|
}, colorSets[editing].isRange ? /*#__PURE__*/_react["default"].createElement(ColorRangeSelector, {
|
|
191
188
|
selectedColorRange: colorSets[editing].selectedColor,
|
|
192
189
|
onSelectColorRange: this._onSelectColor,
|
|
193
|
-
onSelectColorColumn: this.
|
|
190
|
+
onSelectColorColumn: this.props.onSelectHexColorColumn,
|
|
194
191
|
setColorPaletteUI: this.props.setColorUI,
|
|
195
192
|
fields: this.props.fields,
|
|
196
193
|
colorPaletteUI: colorUI
|
|
@@ -229,4 +226,4 @@ function ColorSelectorFactory(SingleColorPalette, ColorRangeSelector) {
|
|
|
229
226
|
|
|
230
227
|
var _default = ColorSelectorFactory;
|
|
231
228
|
exports["default"] = _default;
|
|
232
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3Itc2VsZWN0b3IuanMiXSwibmFtZXMiOlsiQ29sb3JCbG9jayIsInN0eWxlZCIsImRpdiIsInByb3BzIiwiY29sb3IiLCJzbGljZSIsImpvaW4iLCJDb2xvclNlbGVjdG9ySW5wdXQiLCJpbnB1dFRoZW1lIiwidGhlbWUiLCJzZWNvbmRhcnlJbnB1dCIsImlucHV0IiwiaW5wdXRCb3hIZWlnaHQiLCJpbnB1dFBsYWNlaG9sZGVyQ29sb3IiLCJJbnB1dEJveENvbnRhaW5lciIsIkNvbG9yU2VsZWN0b3JGYWN0b3J5IiwiZGVwcyIsIlNpbmdsZUNvbG9yUGFsZXR0ZUZhY3RvcnkiLCJDb2xvclJhbmdlU2VsZWN0RmFjdG9yeSIsIlNpbmdsZUNvbG9yUGFsZXR0ZSIsIkNvbG9yUmFuZ2VTZWxlY3RvciIsIkNvbG9yU2VsZWN0b3IiLCJzaG93RHJvcGRvd24iLCJlIiwiY29sb3JVSSIsIk51bWJlciIsImlzSW50ZWdlciIsInNob3dTa2V0Y2hlciIsIl9jbG9zZVBhbmVsRHJvcGRvd24iLCJzdGF0ZSIsIl9nZXRFZGl0aW5nIiwic2V0Q29sb3JVSSIsInNldFN0YXRlIiwic3RvcFByb3BhZ2F0aW9uIiwiZWRpdGluZyIsImNvbG9yU2V0cyIsInNldENvbG9yIiwiY29sdW1uIiwib25TZWxlY3RIZXhDb2xvckNvbHVtbiIsImkiLCJwcmV2ZW50RGVmYXVsdCIsImRpc2FibGVkIiwiY3VycmVudEVkaXRpbmciLCJub2RlIiwibWFwIiwiY1NldCIsIl9zaG93RHJvcGRvd24iLCJpc1JhbmdlIiwic2VsZWN0ZWRDb2xvciIsImNvbG9ycyIsImxhYmVsIiwiX29uU2VsZWN0Q29sb3IiLCJfb25TZWxlY3RDb2xvckNvbHVtbiIsImZpZWxkcyIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImFycmF5T2YiLCJhbnkiLCJzaGFwZSIsIm9uZU9mVHlwZSIsIm9iamVjdCIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiYm9vbCIsInN0cmluZyIsImN1c3RvbVBhbGV0dGUiLCJudW1iZXIiLCJjb2xvclJhbmdlQ29uZmlnIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFTyxJQUFNQSxVQUFVLEdBQUdDLDZCQUFPQyxHQUFWLDRLQUlELFVBQUFDLEtBQUs7QUFBQSx1QkFBV0EsS0FBSyxDQUFDQyxLQUFOLENBQVlDLEtBQVosQ0FBa0IsQ0FBbEIsRUFBcUIsQ0FBckIsRUFBd0JDLElBQXhCLENBQTZCLEdBQTdCLENBQVg7QUFBQSxDQUpKLENBQWhCOzs7O0FBT0EsSUFBTUMsa0JBQWtCLEdBQUdOLDZCQUFPQyxHQUFWLG9RQUMzQixVQUFBQyxLQUFLO0FBQUEsU0FBS0EsS0FBSyxDQUFDSyxVQUFOLEtBQXFCLFdBQXJCLEdBQW1DTCxLQUFLLENBQUNNLEtBQU4sQ0FBWUMsY0FBL0MsR0FBZ0VQLEtBQUssQ0FBQ00sS0FBTixDQUFZRSxLQUFqRjtBQUFBLENBRHNCLEVBRW5CLFVBQUFSLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNNLEtBQU4sQ0FBWUcsY0FBaEI7QUFBQSxDQUZjLEVBUWxCLFVBQUFULEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNNLEtBQU4sQ0FBWUkscUJBQWhCO0FBQUEsQ0FSYSxDQUF4Qjs7OztBQVlBLElBQU1DLGlCQUFpQixHQUFHYiw2QkFBT0MsR0FBVixtUkFBdkI7OztBQVlQYSxvQkFBb0IsQ0FBQ0MsSUFBckIsR0FBNEIsQ0FBQ0MsOEJBQUQsRUFBNEJDLDhCQUE1QixDQUE1Qjs7QUFFQSxTQUFTSCxvQkFBVCxDQUE4Qkksa0JBQTlCLEVBQWtEQyxrQkFBbEQsRUFBc0U7QUFBQSxNQUM5REMsYUFEOEQ7QUFBQTs7QUFBQTs7QUFBQTtBQUFBOztBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLGdHQTJCMUQ7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QlIsc0JBQVVXLE1BQTNCLENBQXBCLENBSFM7QUFJdkJDLE1BQUFBLGdCQUFnQixFQUFFWixzQkFBVUs7QUFKTCxLQUFoQixDQVZRO0FBZ0JqQnBELElBQUFBLFVBQVUsRUFBRStDLHNCQUFVUyxNQWhCTDtBQWlCakJ2QixJQUFBQSxRQUFRLEVBQUVjLHNCQUFVUSxJQWpCSDtBQWtCakJoQyxJQUFBQSxVQUFVLEVBQUV3QixzQkFBVU07QUFsQkwsR0FGK0M7QUFBQSxtQ0FDOUR4QyxhQUQ4RCxrQkF1QjVDO0FBQ3BCYyxJQUFBQSxTQUFTLEVBQUU7QUFEUyxHQXZCNEM7QUFxSXBFLFNBQU8scUNBQWVkLGFBQWYsQ0FBUDtBQUNEOztlQUVjTixvQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgY3JlYXRlUmVmfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge3JnYlRvSGV4fSBmcm9tICd1dGlscy9jb2xvci11dGlscyc7XG5pbXBvcnQgQ29sb3JQYWxldHRlIGZyb20gJ2NvbXBvbmVudHMvc2lkZS1wYW5lbC9sYXllci1wYW5lbC9jb2xvci1wYWxldHRlJztcbmltcG9ydCB7U3R5bGVkUGFuZWxEcm9wZG93bn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IG9uQ2xpY2tPdXRzaWRlIGZyb20gJ3JlYWN0LW9uY2xpY2tvdXRzaWRlJztcbmltcG9ydCBTaW5nbGVDb2xvclBhbGV0dGVGYWN0b3J5IGZyb20gJ2NvbXBvbmVudHMvc2lkZS1wYW5lbC9sYXllci1wYW5lbC9zaW5nbGUtY29sb3ItcGFsZXR0ZSc7XG5pbXBvcnQgQ29sb3JSYW5nZVNlbGVjdEZhY3RvcnkgZnJvbSAnLi9jb2xvci1yYW5nZS1zZWxlY3Rvcic7XG5cbmV4cG9ydCBjb25zdCBDb2xvckJsb2NrID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMThweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IGByZ2IoJHtwcm9wcy5jb2xvci5zbGljZSgwLCAzKS5qb2luKCcsJyl9KWB9O1xuYDtcblxuZXhwb3J0IGNvbnN0IENvbG9yU2VsZWN0b3JJbnB1dCA9IHN0eWxlZC5kaXZgXG4gICR7cHJvcHMgPT4gKHByb3BzLmlucHV0VGhlbWUgPT09ICdzZWNvbmRhcnknID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXQgOiBwcm9wcy50aGVtZS5pbnB1dCl9O1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCb3hIZWlnaHR9O1xuXG4gIC5jb2xvci1zZWxlY3Rvcl9fc2VsZWN0b3JfX2xhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0UGxhY2Vob2xkZXJDb2xvcn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBJbnB1dEJveENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAuY29sb3Itc2VsZWN0X19pbnB1dC1ncm91cCB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG4gIC5jb2xvci1zZWxlY3RfX2lucHV0LWdyb3VwOm50aC1jaGlsZCgyKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIH1cbmA7XG5cbkNvbG9yU2VsZWN0b3JGYWN0b3J5LmRlcHMgPSBbU2luZ2xlQ29sb3JQYWxldHRlRmFjdG9yeSwgQ29sb3JSYW5nZVNlbGVjdEZhY3RvcnldO1xuXG5mdW5jdGlvbiBDb2xvclNlbGVjdG9yRmFjdG9yeShTaW5nbGVDb2xvclBhbGV0dGUsIENvbG9yUmFuZ2VTZWxlY3Rvcikge1xuICBjbGFzcyBDb2xvclNlbGVjdG9yIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgZmllbGRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KSxcbiAgICAgIGNvbG9yU2V0czogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgc2VsZWN0ZWRDb2xvcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSksIFByb3BUeXBlcy5vYmplY3RdKSxcbiAgICAgICAgICBzZXRDb2xvcjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgICAgICBpc1JhbmdlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZ1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIGNvbG9yVUk6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIGN1c3RvbVBhbGV0dGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICAgIHNob3dTa2V0Y2hlcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmJvb2wsIFByb3BUeXBlcy5udW1iZXJdKSxcbiAgICAgICAgc2hvd0Ryb3Bkb3duOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYm9vbCwgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgICAgICBjb2xvclJhbmdlQ29uZmlnOiBQcm9wVHlwZXMub2JqZWN0XG4gICAgICB9KSxcbiAgICAgIGlucHV0VGhlbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICBzZXRDb2xvclVJOiBQcm9wVHlwZXMuZnVuY1xuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgY29sb3JTZXRzOiBbXVxuICAgIH07XG5cbiAgICBzdGF0ZSA9IHtcbiAgICAgIHNob3dEcm9wZG93bjogZmFsc2VcbiAgICB9O1xuXG4gICAgbm9kZSA9IGNyZWF0ZVJlZigpO1xuXG4gICAgaGFuZGxlQ2xpY2tPdXRzaWRlID0gZSA9PiB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5jb2xvclVJICYmIE51bWJlci5pc0ludGVnZXIodGhpcy5wcm9wcy5jb2xvclVJLnNob3dTa2V0Y2hlcikpIHtcbiAgICAgICAgLy8gaWYgc2tldGNoZXIgaXMgb3BlbiwgbGV0IHNrZXRjaCB0byBjbG9zZSBpdHNlbGYgZmlyc3RcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5fY2xvc2VQYW5lbERyb3Bkb3duKCk7XG4gICAgfTtcblxuICAgIF9nZXRFZGl0aW5nID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMuY29sb3JVSSA/IHRoaXMucHJvcHMuY29sb3JVSS5zaG93RHJvcGRvd24gOiB0aGlzLnN0YXRlLnNob3dEcm9wZG93bjtcbiAgICB9O1xuXG4gICAgX2Nsb3NlUGFuZWxEcm9wZG93biA9ICgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9nZXRFZGl0aW5nKCkgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLnNldENvbG9yVUkpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5zZXRDb2xvclVJKHtzaG93RHJvcGRvd246IGZhbHNlLCBzaG93U2tldGNoZXI6IGZhbHNlfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtzaG93RHJvcGRvd246IGZhbHNlfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9vblNlbGVjdENvbG9yID0gKGNvbG9yLCBlKSA9PiB7XG4gICAgICBlPy5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGNvbnN0IGVkaXRpbmcgPSB0aGlzLl9nZXRFZGl0aW5nKCk7XG4gICAgICBpZiAodGhpcy5wcm9wcy5jb2xvclNldHNbZWRpdGluZ10pIHtcbiAgICAgICAgdGhpcy5wcm9wcy5jb2xvclNldHNbZWRpdGluZ10uc2V0Q29sb3IoY29sb3IpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfb25TZWxlY3RDb2xvckNvbHVtbiA9IGNvbHVtbiA9PiB7XG4gICAgICB0aGlzLnByb3BzLm9uU2VsZWN0SGV4Q29sb3JDb2x1bW4oY29sdW1uKTtcbiAgICB9O1xuXG4gICAgX3Nob3dEcm9wZG93biA9IChlLCBpKSA9PiB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaWYgKHRoaXMucHJvcHMuc2V0Q29sb3JVSSkge1xuICAgICAgICB0aGlzLnByb3BzLnNldENvbG9yVUkoe3Nob3dEcm9wZG93bjogaX0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7c2hvd0Ryb3Bkb3duOiBpfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtjb2xvclNldHMsIGRpc2FibGVkLCBpbnB1dFRoZW1lLCBjb2xvclVJfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IGVkaXRpbmcgPSB0aGlzLl9nZXRFZGl0aW5nKCk7XG4gICAgICBjb25zdCBjdXJyZW50RWRpdGluZyA9IGNvbG9yU2V0c1tlZGl0aW5nXSAmJiB0eXBlb2YgY29sb3JTZXRzW2VkaXRpbmddID09PSAnb2JqZWN0JztcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sb3Itc2VsZWN0b3JcIiByZWY9e3RoaXMubm9kZX0+XG4gICAgICAgICAgPElucHV0Qm94Q29udGFpbmVyPlxuICAgICAgICAgICAge2NvbG9yU2V0cy5tYXAoKGNTZXQsIGkpID0+IChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3RfX2lucHV0LWdyb3VwXCIga2V5PXtpfT5cbiAgICAgICAgICAgICAgICA8Q29sb3JTZWxlY3RvcklucHV0XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3Rvcl9fc2VsZWN0b3JcIlxuICAgICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0aW5nID09PSBpfVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgaW5wdXRUaGVtZT17aW5wdXRUaGVtZX1cbiAgICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXtlID0+IHRoaXMuX3Nob3dEcm9wZG93bihlLCBpKX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7Y1NldC5pc1JhbmdlID8gKFxuICAgICAgICAgICAgICAgICAgICA8Q29sb3JQYWxldHRlIGNvbG9ycz17Y1NldC5zZWxlY3RlZENvbG9yLmNvbG9yc30gLz5cbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxDb2xvckJsb2NrXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY29sb3Itc2VsZWN0b3JfX3NlbGVjdG9yX19ibG9ja1wiXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9e2NTZXQuc2VsZWN0ZWRDb2xvcn1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICB7Y1NldC5sYWJlbCA/IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3Rvcl9fc2VsZWN0b3JfX2xhYmVsXCI+e2NTZXQubGFiZWx9PC9kaXY+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICA8L0NvbG9yU2VsZWN0b3JJbnB1dD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L0lucHV0Qm94Q29udGFpbmVyPlxuICAgICAgICAgIHtjdXJyZW50RWRpdGluZyA/IChcbiAgICAgICAgICAgIDxTdHlsZWRQYW5lbERyb3Bkb3duIGNsYXNzTmFtZT1cImNvbG9yLXNlbGVjdG9yX19kcm9wZG93blwiPlxuICAgICAgICAgICAgICB7Y29sb3JTZXRzW2VkaXRpbmddLmlzUmFuZ2UgPyAoXG4gICAgICAgICAgICAgICAgPENvbG9yUmFuZ2VTZWxlY3RvclxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRDb2xvclJhbmdlPXtjb2xvclNldHNbZWRpdGluZ10uc2VsZWN0ZWRDb2xvcn1cbiAgICAgICAgICAgICAgICAgIG9uU2VsZWN0Q29sb3JSYW5nZT17dGhpcy5fb25TZWxlY3RDb2xvcn1cbiAgICAgICAgICAgICAgICAgIG9uU2VsZWN0Q29sb3JDb2x1bW49e3RoaXMuX29uU2VsZWN0Q29sb3JDb2x1bW59XG4gICAgICAgICAgICAgICAgICBzZXRDb2xvclBhbGV0dGVVST17dGhpcy5wcm9wcy5zZXRDb2xvclVJfVxuICAgICAgICAgICAgICAgICAgZmllbGRzPXt0aGlzLnByb3BzLmZpZWxkc31cbiAgICAgICAgICAgICAgICAgIGNvbG9yUGFsZXR0ZVVJPXtjb2xvclVJfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPFNpbmdsZUNvbG9yUGFsZXR0ZVxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRDb2xvcj17cmdiVG9IZXgoY29sb3JTZXRzW2VkaXRpbmddLnNlbGVjdGVkQ29sb3IpfVxuICAgICAgICAgICAgICAgICAgb25TZWxlY3RDb2xvcj17dGhpcy5fb25TZWxlY3RDb2xvcn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TdHlsZWRQYW5lbERyb3Bkb3duPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHJldHVybiBvbkNsaWNrT3V0c2lkZShDb2xvclNlbGVjdG9yKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29sb3JTZWxlY3RvckZhY3Rvcnk7XG4iXX0=
|
|
229
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3Itc2VsZWN0b3IuanMiXSwibmFtZXMiOlsiQ29sb3JCbG9jayIsInN0eWxlZCIsImRpdiIsInByb3BzIiwiY29sb3IiLCJzbGljZSIsImpvaW4iLCJDb2xvclNlbGVjdG9ySW5wdXQiLCJpbnB1dFRoZW1lIiwidGhlbWUiLCJzZWNvbmRhcnlJbnB1dCIsImlucHV0IiwiaW5wdXRCb3hIZWlnaHQiLCJpbnB1dFBsYWNlaG9sZGVyQ29sb3IiLCJJbnB1dEJveENvbnRhaW5lciIsIkNvbG9yU2VsZWN0b3JGYWN0b3J5IiwiZGVwcyIsIlNpbmdsZUNvbG9yUGFsZXR0ZUZhY3RvcnkiLCJDb2xvclJhbmdlU2VsZWN0RmFjdG9yeSIsIlNpbmdsZUNvbG9yUGFsZXR0ZSIsIkNvbG9yUmFuZ2VTZWxlY3RvciIsIkNvbG9yU2VsZWN0b3IiLCJzaG93RHJvcGRvd24iLCJlIiwiY29sb3JVSSIsIk51bWJlciIsImlzSW50ZWdlciIsInNob3dTa2V0Y2hlciIsIl9jbG9zZVBhbmVsRHJvcGRvd24iLCJzdGF0ZSIsIl9nZXRFZGl0aW5nIiwic2V0Q29sb3JVSSIsInNldFN0YXRlIiwic3RvcFByb3BhZ2F0aW9uIiwiZWRpdGluZyIsImNvbG9yU2V0cyIsInNldENvbG9yIiwiaSIsInByZXZlbnREZWZhdWx0IiwiZGlzYWJsZWQiLCJjdXJyZW50RWRpdGluZyIsIm5vZGUiLCJtYXAiLCJjU2V0IiwiX3Nob3dEcm9wZG93biIsImlzUmFuZ2UiLCJzZWxlY3RlZENvbG9yIiwiY29sb3JzIiwibGFiZWwiLCJfb25TZWxlY3RDb2xvciIsIm9uU2VsZWN0SGV4Q29sb3JDb2x1bW4iLCJmaWVsZHMiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJhcnJheU9mIiwiYW55Iiwic2hhcGUiLCJvbmVPZlR5cGUiLCJvYmplY3QiLCJmdW5jIiwiaXNSZXF1aXJlZCIsImJvb2wiLCJzdHJpbmci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TUFoQkw7QUFpQmpCdkIsSUFBQUEsUUFBUSxFQUFFYyxzQkFBVVEsSUFqQkg7QUFrQmpCOUIsSUFBQUEsVUFBVSxFQUFFc0Isc0JBQVVNO0FBbEJMLEdBRitDO0FBQUEsbUNBQzlEdEMsYUFEOEQsa0JBdUI1QztBQUNwQmMsSUFBQUEsU0FBUyxFQUFFO0FBRFMsR0F2QjRDO0FBaUlwRSxTQUFPLHFDQUFlZCxhQUFmLENBQVA7QUFDRDs7ZUFFY04sb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIGNyZWF0ZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtyZ2JUb0hleH0gZnJvbSAndXRpbHMvY29sb3ItdXRpbHMnO1xuaW1wb3J0IENvbG9yUGFsZXR0ZSBmcm9tICdjb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItcGFsZXR0ZSc7XG5pbXBvcnQge1N0eWxlZFBhbmVsRHJvcGRvd259IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBvbkNsaWNrT3V0c2lkZSBmcm9tICdyZWFjdC1vbmNsaWNrb3V0c2lkZSc7XG5pbXBvcnQgU2luZ2xlQ29sb3JQYWxldHRlRmFjdG9yeSBmcm9tICdjb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvc2luZ2xlLWNvbG9yLXBhbGV0dGUnO1xuaW1wb3J0IENvbG9yUmFuZ2VTZWxlY3RGYWN0b3J5IGZyb20gJy4vY29sb3ItcmFuZ2Utc2VsZWN0b3InO1xuXG5leHBvcnQgY29uc3QgQ29sb3JCbG9jayA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBgcmdiKCR7cHJvcHMuY29sb3Iuc2xpY2UoMCwgMykuam9pbignLCcpfSlgfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBDb2xvclNlbGVjdG9ySW5wdXQgPSBzdHlsZWQuZGl2YFxuICAke3Byb3BzID0+IChwcm9wcy5pbnB1dFRoZW1lID09PSAnc2Vjb25kYXJ5JyA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0IDogcHJvcHMudGhlbWUuaW5wdXQpfTtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Qm94SGVpZ2h0fTtcblxuICAuY29sb3Itc2VsZWN0b3JfX3NlbGVjdG9yX19sYWJlbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dFBsYWNlaG9sZGVyQ29sb3J9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgSW5wdXRCb3hDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgLmNvbG9yLXNlbGVjdF9faW5wdXQtZ3JvdXAge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuY29sb3Itc2VsZWN0X19pbnB1dC1ncm91cDpudGgtY2hpbGQoMikge1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICB9XG5gO1xuXG5Db2xvclNlbGVjdG9yRmFjdG9yeS5kZXBzID0gW1NpbmdsZUNvbG9yUGFsZXR0ZUZhY3RvcnksIENvbG9yUmFuZ2VTZWxlY3RGYWN0b3J5XTtcblxuZnVuY3Rpb24gQ29sb3JTZWxlY3RvckZhY3RvcnkoU2luZ2xlQ29sb3JQYWxldHRlLCBDb2xvclJhbmdlU2VsZWN0b3IpIHtcbiAgY2xhc3MgQ29sb3JTZWxlY3RvciBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGZpZWxkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSksXG4gICAgICBjb2xvclNldHM6IFByb3BUeXBlcy5hcnJheU9mKFxuICAgICAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAgIHNlbGVjdGVkQ29sb3I6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLCBQcm9wVHlwZXMub2JqZWN0XSksXG4gICAgICAgICAgc2V0Q29sb3I6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICAgICAgaXNSYW5nZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmdcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICBjb2xvclVJOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICBjdXN0b21QYWxldHRlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgICBzaG93U2tldGNoZXI6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5ib29sLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gICAgICAgIHNob3dEcm9wZG93bjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmJvb2wsIFByb3BUeXBlcy5udW1iZXJdKSxcbiAgICAgICAgY29sb3JSYW5nZUNvbmZpZzogUHJvcFR5cGVzLm9iamVjdFxuICAgICAgfSksXG4gICAgICBpbnB1dFRoZW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgc2V0Q29sb3JVSTogUHJvcFR5cGVzLmZ1bmNcbiAgICB9O1xuXG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIGNvbG9yU2V0czogW11cbiAgICB9O1xuXG4gICAgc3RhdGUgPSB7XG4gICAgICBzaG93RHJvcGRvd246IGZhbHNlXG4gICAgfTtcblxuICAgIG5vZGUgPSBjcmVhdGVSZWYoKTtcblxuICAgIGhhbmRsZUNsaWNrT3V0c2lkZSA9IGUgPT4ge1xuICAgICAgaWYgKHRoaXMucHJvcHMuY29sb3JVSSAmJiBOdW1iZXIuaXNJbnRlZ2VyKHRoaXMucHJvcHMuY29sb3JVSS5zaG93U2tldGNoZXIpKSB7XG4gICAgICAgIC8vIGlmIHNrZXRjaGVyIGlzIG9wZW4sIGxldCBza2V0Y2ggdG8gY2xvc2UgaXRzZWxmIGZpcnN0XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2Nsb3NlUGFuZWxEcm9wZG93bigpO1xuICAgIH07XG5cbiAgICBfZ2V0RWRpdGluZyA9ICgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmNvbG9yVUkgPyB0aGlzLnByb3BzLmNvbG9yVUkuc2hvd0Ryb3Bkb3duIDogdGhpcy5zdGF0ZS5zaG93RHJvcGRvd247XG4gICAgfTtcblxuICAgIF9jbG9zZVBhbmVsRHJvcGRvd24gPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fZ2V0RWRpdGluZygpID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wcm9wcy5zZXRDb2xvclVJKSB7XG4gICAgICAgIHRoaXMucHJvcHMuc2V0Q29sb3JVSSh7c2hvd0Ryb3Bkb3duOiBmYWxzZSwgc2hvd1NrZXRjaGVyOiBmYWxzZX0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7c2hvd0Ryb3Bkb3duOiBmYWxzZX0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfb25TZWxlY3RDb2xvciA9IChjb2xvciwgZSkgPT4ge1xuICAgICAgZT8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBjb25zdCBlZGl0aW5nID0gdGhpcy5fZ2V0RWRpdGluZygpO1xuICAgICAgaWYgKHRoaXMucHJvcHMuY29sb3JTZXRzW2VkaXRpbmddKSB7XG4gICAgICAgIHRoaXMucHJvcHMuY29sb3JTZXRzW2VkaXRpbmddLnNldENvbG9yKGNvbG9yKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Nob3dEcm9wZG93biA9IChlLCBpKSA9PiB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaWYgKHRoaXMucHJvcHMuc2V0Q29sb3JVSSkge1xuICAgICAgICB0aGlzLnByb3BzLnNldENvbG9yVUkoe3Nob3dEcm9wZG93bjogaX0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7c2hvd0Ryb3Bkb3duOiBpfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtjb2xvclNldHMsIGRpc2FibGVkLCBpbnB1dFRoZW1lLCBjb2xvclVJfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IGVkaXRpbmcgPSB0aGlzLl9nZXRFZGl0aW5nKCk7XG4gICAgICBjb25zdCBjdXJyZW50RWRpdGluZyA9IGNvbG9yU2V0c1tlZGl0aW5nXSAmJiB0eXBlb2YgY29sb3JTZXRzW2VkaXRpbmddID09PSAnb2JqZWN0JztcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sb3Itc2VsZWN0b3JcIiByZWY9e3RoaXMubm9kZX0+XG4gICAgICAgICAgPElucHV0Qm94Q29udGFpbmVyPlxuICAgICAgICAgICAge2NvbG9yU2V0cy5tYXAoKGNTZXQsIGkpID0+IChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3RfX2lucHV0LWdyb3VwXCIga2V5PXtpfT5cbiAgICAgICAgICAgICAgICA8Q29sb3JTZWxlY3RvcklucHV0XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3Rvcl9fc2VsZWN0b3JcIlxuICAgICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0aW5nID09PSBpfVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgaW5wdXRUaGVtZT17aW5wdXRUaGVtZX1cbiAgICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXtlID0+IHRoaXMuX3Nob3dEcm9wZG93bihlLCBpKX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7Y1NldC5pc1JhbmdlID8gKFxuICAgICAgICAgICAgICAgICAgICA8Q29sb3JQYWxldHRlIGNvbG9ycz17Y1NldC5zZWxlY3RlZENvbG9yLmNvbG9yc30gLz5cbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxDb2xvckJsb2NrXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY29sb3Itc2VsZWN0b3JfX3NlbGVjdG9yX19ibG9ja1wiXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9e2NTZXQuc2VsZWN0ZWRDb2xvcn1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICB7Y1NldC5sYWJlbCA/IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3Rvcl9fc2VsZWN0b3JfX2xhYmVsXCI+e2NTZXQubGFiZWx9PC9kaXY+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICA8L0NvbG9yU2VsZWN0b3JJbnB1dD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L0lucHV0Qm94Q29udGFpbmVyPlxuICAgICAgICAgIHtjdXJyZW50RWRpdGluZyA/IChcbiAgICAgICAgICAgIDxTdHlsZWRQYW5lbERyb3Bkb3duIGNsYXNzTmFtZT1cImNvbG9yLXNlbGVjdG9yX19kcm9wZG93blwiPlxuICAgICAgICAgICAgICB7Y29sb3JTZXRzW2VkaXRpbmddLmlzUmFuZ2UgPyAoXG4gICAgICAgICAgICAgICAgPENvbG9yUmFuZ2VTZWxlY3RvclxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRDb2xvclJhbmdlPXtjb2xvclNldHNbZWRpdGluZ10uc2VsZWN0ZWRDb2xvcn1cbiAgICAgICAgICAgICAgICAgIG9uU2VsZWN0Q29sb3JSYW5nZT17dGhpcy5fb25TZWxlY3RDb2xvcn1cbiAgICAgICAgICAgICAgICAgIG9uU2VsZWN0Q29sb3JDb2x1bW49e3RoaXMucHJvcHMub25TZWxlY3RIZXhDb2xvckNvbHVtbn1cbiAgICAgICAgICAgICAgICAgIHNldENvbG9yUGFsZXR0ZVVJPXt0aGlzLnByb3BzLnNldENvbG9yVUl9XG4gICAgICAgICAgICAgICAgICBmaWVsZHM9e3RoaXMucHJvcHMuZmllbGRzfVxuICAgICAgICAgICAgICAgICAgY29sb3JQYWxldHRlVUk9e2NvbG9yVUl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8U2luZ2xlQ29sb3JQYWxldHRlXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZENvbG9yPXtyZ2JUb0hleChjb2xvclNldHNbZWRpdGluZ10uc2VsZWN0ZWRDb2xvcil9XG4gICAgICAgICAgICAgICAgICBvblNlbGVjdENvbG9yPXt0aGlzLl9vblNlbGVjdENvbG9yfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1N0eWxlZFBhbmVsRHJvcGRvd24+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG9uQ2xpY2tPdXRzaWRlKENvbG9yU2VsZWN0b3IpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBDb2xvclNlbGVjdG9yRmFjdG9yeTtcbiJdfQ==
|