@carto/kepler.gl 0.0.82 → 0.0.83-alpha.0

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.
@@ -140,11 +140,7 @@ function LayerManagerFactory(LayerList, DatasetLayerGroup, PanelViewListToggle,
140
140
  className: "layer-manager-title"
141
141
  }, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
142
142
  id: panelMetadata.label
143
- })), defaultDataset ?
144
- /*#__PURE__*/
145
- // TODO replace ignore
146
- // @ts-ignore
147
- _react["default"].createElement(AddLayerButton, {
143
+ })), defaultDataset ? /*#__PURE__*/_react["default"].createElement(AddLayerButton, {
148
144
  datasets: datasets,
149
145
  typeaheadPlaceholder: "Search datasets",
150
146
  intl: intl,
@@ -160,11 +156,7 @@ function LayerManagerFactory(LayerList, DatasetLayerGroup, PanelViewListToggle,
160
156
  uiStateActions: uiStateActions,
161
157
  visStateActions: visStateActions,
162
158
  showDeleteDataset: true
163
- }) :
164
- /*#__PURE__*/
165
- // TODO replace ignore
166
- // @ts-ignore
167
- _react["default"].createElement(LayerList, {
159
+ }) : /*#__PURE__*/_react["default"].createElement(LayerList, {
168
160
  layers: layers,
169
161
  datasets: datasets,
170
162
  layerOrder: layerOrder,
@@ -182,4 +174,4 @@ function LayerManagerFactory(LayerList, DatasetLayerGroup, PanelViewListToggle,
182
174
  return (0, _reactIntl.injectIntl)(LayerManager);
183
175
  }
184
176
  var _default = exports["default"] = LayerManagerFactory;
185
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RJbnRsIiwiX2xvY2FsaXphdGlvbiIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9sYXllckxpc3QiLCJfZGF0YXNldExheWVyR3JvdXAiLCJfcGFuZWxWaWV3TGlzdFRvZ2dsZSIsIl9wYW5lbFRpdGxlIiwiX2RhdGFzZXRTZWN0aW9uIiwiX2FkZExheWVyQnV0dG9uIiwiX2l0ZW1TZWxlY3RvciIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9kZWZhdWx0U2V0dGluZ3MiLCJfdGVtcGxhdGVPYmplY3QiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfY2FsbFN1cGVyIiwibyIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIklTX0JVSUxERVIiLCJMYXllckhlYWRlciIsInN0eWxlZCIsImRpdiIsImF0dHJzIiwiY2xhc3NOYW1lIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJMYXllckJsZW5kaW5nU2VsZWN0b3JGYWN0b3J5IiwiTGF5ZXJCbGVuZGluZ1NlbGVjdG9yIiwiX3JlZiIsImxheWVyQmxlbmRpbmciLCJ1cGRhdGVMYXllckJsZW5kaW5nIiwiaW50bCIsImxhYmVsZWRMYXllckJsZW5kaW5ncyIsIkxBWUVSX0JMRU5ESU5HUyIsInJlZHVjZSIsImFjYyIsImN1cnJlbnQiLCJmb3JtYXRNZXNzYWdlIiwiaWQiLCJsYWJlbCIsIm9uQ2hhbmdlIiwidXNlQ2FsbGJhY2siLCJibGVuZGluZyIsImNyZWF0ZUVsZW1lbnQiLCJTaWRlUGFuZWxTZWN0aW9uIiwiUGFuZWxMYWJlbCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJzZWxlY3RlZEl0ZW1zIiwib3B0aW9ucyIsIm11bHRpU2VsZWN0Iiwic2VhcmNoYWJsZSIsIkxheWVyTWFuYWdlckZhY3RvcnkiLCJkZXBzIiwiTGF5ZXJMaXN0RmFjdG9yeSIsIkRhdGFzZXRMYXllckdyb3VwRmFjdG9yeSIsIlBhbmVsVmlld0xpc3RUb2dnbGVGYWN0b3J5IiwiUGFuZWxUaXRsZUZhY3RvcnkiLCJEYXRhc2V0U2VjdGlvbkZhY3RvcnkiLCJBZGRMYXllckJ1dHRvbkZhY3RvcnkiLCJMYXllckxpc3QiLCJEYXRhc2V0TGF5ZXJHcm91cCIsIlBhbmVsVmlld0xpc3RUb2dnbGUiLCJQYW5lbFRpdGxlIiwiRGF0YXNldFNlY3Rpb24iLCJBZGRMYXllckJ1dHRvbiIsIkxheWVyTWFuYWdlciIsIl9Db21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsImRhdGFzZXQiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJwcm9wcyIsImFkZExheWVyIiwidW5kZWZpbmVkIiwibGlzdFZpZXciLCJ1aVN0YXRlQWN0aW9ucyIsInRvZ2dsZUxheWVyUGFuZWxMaXN0VmlldyIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsImxheWVycyIsImRhdGFzZXRzIiwibGF5ZXJPcmRlciIsInNob3dBZGREYXRhTW9kYWwiLCJ1cGRhdGVUYWJsZUNvbG9yIiwic2hvd0RhdGFzZXRUYWJsZSIsInJlbW92ZURhdGFzZXQiLCJsYXllclBhbmVsTGlzdFZpZXciLCJwYW5lbE1ldGFkYXRhIiwiZGVmYXVsdERhdGFzZXQiLCJpc1NvcnRCeURhdGFzZXRNb2RlIiwiRnJhZ21lbnQiLCJfdG9nZ2xlTGF5ZXJQYW5lbExpc3RWaWV3IiwibGF5ZXJQYW5lbExpc3RWaWV3TW9kZSIsInNob3dEZWxldGVEYXRhc2V0Iiwic2hvd0RhdGFzZXRMaXN0IiwiU2lkZVBhbmVsRGl2aWRlciIsInR5cGVhaGVhZFBsYWNlaG9sZGVyIiwib25PcHRpb25TZWxlY3RlZCIsIl9hZGRFbXB0eU5ld0xheWVyIiwibGF5ZXJDbGFzc2VzIiwiQ29tcG9uZW50IiwiaW5qZWN0SW50bCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItbWFuYWdlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCB1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge2luamVjdEludGwsIFdyYXBwZWRDb21wb25lbnRQcm9wc30gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ2xvY2FsaXphdGlvbic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IExheWVyTGlzdEZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbC9sYXllci1saXN0JztcbmltcG9ydCBEYXRhc2V0TGF5ZXJHcm91cEZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbC9kYXRhc2V0LWxheWVyLWdyb3VwJztcbmltcG9ydCBQYW5lbFZpZXdMaXN0VG9nZ2xlRmFjdG9yeSBmcm9tICcuL2xheWVyLXBhbmVsL3BhbmVsLXZpZXctbGlzdC10b2dnbGUnO1xuaW1wb3J0IFBhbmVsVGl0bGVGYWN0b3J5IGZyb20gJy4vcGFuZWwtdGl0bGUnO1xuaW1wb3J0IERhdGFzZXRTZWN0aW9uRmFjdG9yeSBmcm9tICcuL2xheWVyLXBhbmVsL2RhdGFzZXQtc2VjdGlvbic7XG5pbXBvcnQgQWRkTGF5ZXJCdXR0b25GYWN0b3J5IGZyb20gJy4vbGF5ZXItcGFuZWwvYWRkLWxheWVyLWJ1dHRvbic7XG5cbmltcG9ydCBJdGVtU2VsZWN0b3IgZnJvbSAnY29tcG9uZW50cy9jb21tb24vaXRlbS1zZWxlY3Rvci9pdGVtLXNlbGVjdG9yJztcbmltcG9ydCB7UGFuZWxMYWJlbCwgU2lkZVBhbmVsRGl2aWRlciwgU2lkZVBhbmVsU2VjdGlvbn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge0xBWUVSX0JMRU5ESU5HU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuaW1wb3J0IHtEYXRhc2V0c30gZnJvbSAncmVkdWNlcnMnO1xuaW1wb3J0IHtMYXllciwgTGF5ZXJDbGFzc2VzVHlwZX0gZnJvbSAnbGF5ZXJzJztcbmltcG9ydCAqIGFzIFVpU3RhdGVBY3Rpb25zIGZyb20gJ2FjdGlvbnMvdWktc3RhdGUtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBWaXNTdGF0ZUFjdGlvbnMgZnJvbSAnYWN0aW9ucy92aXMtc3RhdGUtYWN0aW9ucyc7XG5pbXBvcnQge1NpZGVQYW5lbEl0ZW19IGZyb20gJ2NvbXBvbmVudHMvdHlwZXMnO1xuaW1wb3J0IHtMYXllclBhbmVsTGlzdFZpZXd9IGZyb20gJ3JlZHVjZXJzL3VpLXN0YXRlLXVwZGF0ZXJzJztcbmltcG9ydCB7QWN0aW9uSGFuZGxlcn0gZnJvbSAnYWN0aW9ucyc7XG5cbnR5cGUgTGF5ZXJCbGVuZGluZ1NlbGVjdG9yUHJvcHMgPSB7XG4gIGxheWVyQmxlbmRpbmc6IHN0cmluZztcbiAgdXBkYXRlTGF5ZXJCbGVuZGluZzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnVwZGF0ZUxheWVyQmxlbmRpbmc+O1xufSAmIFdyYXBwZWRDb21wb25lbnRQcm9wcztcblxudHlwZSBMYXllck1hbmFnZXJQcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBsYXllcnM6IExheWVyW107XG4gIGxheWVyT3JkZXI6IG51bWJlcltdO1xuICBsYXllckNsYXNzZXM6IExheWVyQ2xhc3Nlc1R5cGU7XG4gIGxheWVyQmxlbmRpbmc6IHN0cmluZztcbiAgdWlTdGF0ZUFjdGlvbnM6IHR5cGVvZiBVaVN0YXRlQWN0aW9ucztcbiAgdmlzU3RhdGVBY3Rpb25zOiB0eXBlb2YgVmlzU3RhdGVBY3Rpb25zO1xuICBzaG93QWRkRGF0YU1vZGFsOiAoKSA9PiB2b2lkO1xuICByZW1vdmVEYXRhc2V0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBVaVN0YXRlQWN0aW9ucy5vcGVuRGVsZXRlTW9kYWw+O1xuICBzaG93RGF0YXNldFRhYmxlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMuc2hvd0RhdGFzZXRUYWJsZT47XG4gIHVwZGF0ZVRhYmxlQ29sb3I6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy51cGRhdGVUYWJsZUNvbG9yPjtcbiAgbGF5ZXJQYW5lbExpc3RWaWV3OiBMYXllclBhbmVsTGlzdFZpZXc7XG4gIHBhbmVsTWV0YWRhdGE6IFNpZGVQYW5lbEl0ZW07XG59ICYgV3JhcHBlZENvbXBvbmVudFByb3BzO1xuXG5jb25zdCBJU19CVUlMREVSID0gdHJ1ZTtcblxuY29uc3QgTGF5ZXJIZWFkZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItbWFuYWdlci1oZWFkZXInXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbmA7XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllckJsZW5kaW5nU2VsZWN0b3JGYWN0b3J5KCkge1xuICBjb25zdCBMYXllckJsZW5kaW5nU2VsZWN0b3IgPSAoe1xuICAgIGxheWVyQmxlbmRpbmcsXG4gICAgdXBkYXRlTGF5ZXJCbGVuZGluZyxcbiAgICBpbnRsXG4gIH06IExheWVyQmxlbmRpbmdTZWxlY3RvclByb3BzKSA9PiB7XG4gICAgY29uc3QgbGFiZWxlZExheWVyQmxlbmRpbmdzID0gT2JqZWN0LmtleXMoTEFZRVJfQkxFTkRJTkdTKS5yZWR1Y2UoXG4gICAgICAoYWNjLCBjdXJyZW50KSA9PiAoe1xuICAgICAgICAuLi5hY2MsXG4gICAgICAgIFtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiBMQVlFUl9CTEVORElOR1NbY3VycmVudF0ubGFiZWx9KV06IGN1cnJlbnRcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xuXG4gICAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhibGVuZGluZyA9PiB1cGRhdGVMYXllckJsZW5kaW5nKGxhYmVsZWRMYXllckJsZW5kaW5nc1tibGVuZGluZ10pLCBbXG4gICAgICB1cGRhdGVMYXllckJsZW5kaW5nLFxuICAgICAgbGFiZWxlZExheWVyQmxlbmRpbmdzXG4gICAgXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgIDxQYW5lbExhYmVsPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibGF5ZXJCbGVuZGluZy50aXRsZVwiIC8+XG4gICAgICAgIDwvUGFuZWxMYWJlbD5cbiAgICAgICAgPEl0ZW1TZWxlY3RvclxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IExBWUVSX0JMRU5ESU5HU1tsYXllckJsZW5kaW5nXS5sYWJlbH0pfVxuICAgICAgICAgIG9wdGlvbnM9e09iamVjdC5rZXlzKGxhYmVsZWRMYXllckJsZW5kaW5ncyl9XG4gICAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgIHNlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9O1xuICByZXR1cm4gTGF5ZXJCbGVuZGluZ1NlbGVjdG9yO1xufVxuXG5MYXllck1hbmFnZXJGYWN0b3J5LmRlcHMgPSBbXG4gIExheWVyTGlzdEZhY3RvcnksXG4gIERhdGFzZXRMYXllckdyb3VwRmFjdG9yeSxcbiAgUGFuZWxWaWV3TGlzdFRvZ2dsZUZhY3RvcnksXG4gIFBhbmVsVGl0bGVGYWN0b3J5LFxuICBEYXRhc2V0U2VjdGlvbkZhY3RvcnksXG4gIEFkZExheWVyQnV0dG9uRmFjdG9yeSxcbiAgTGF5ZXJCbGVuZGluZ1NlbGVjdG9yRmFjdG9yeVxuXTtcblxuZnVuY3Rpb24gTGF5ZXJNYW5hZ2VyRmFjdG9yeShcbiAgTGF5ZXJMaXN0OiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckxpc3RGYWN0b3J5PixcbiAgRGF0YXNldExheWVyR3JvdXA6IFJldHVyblR5cGU8dHlwZW9mIERhdGFzZXRMYXllckdyb3VwRmFjdG9yeT4sXG4gIFBhbmVsVmlld0xpc3RUb2dnbGU6IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsVmlld0xpc3RUb2dnbGVGYWN0b3J5PixcbiAgUGFuZWxUaXRsZTogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxUaXRsZUZhY3Rvcnk+LFxuICBEYXRhc2V0U2VjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgRGF0YXNldFNlY3Rpb25GYWN0b3J5PixcbiAgQWRkTGF5ZXJCdXR0b246IFJldHVyblR5cGU8dHlwZW9mIEFkZExheWVyQnV0dG9uRmFjdG9yeT4sXG4gIExheWVyQmxlbmRpbmdTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJCbGVuZGluZ1NlbGVjdG9yRmFjdG9yeT5cbikge1xuICBjbGFzcyBMYXllck1hbmFnZXIgZXh0ZW5kcyBDb21wb25lbnQ8TGF5ZXJNYW5hZ2VyUHJvcHM+IHtcbiAgICBfYWRkRW1wdHlOZXdMYXllciA9IChkYXRhc2V0OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHt2aXNTdGF0ZUFjdGlvbnN9ID0gdGhpcy5wcm9wcztcbiAgICAgIHZpc1N0YXRlQWN0aW9ucy5hZGRMYXllcih1bmRlZmluZWQsIGRhdGFzZXQpO1xuICAgIH07XG5cbiAgICBfdG9nZ2xlTGF5ZXJQYW5lbExpc3RWaWV3ID0gKGxpc3RWaWV3OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHt1aVN0YXRlQWN0aW9uc30gPSB0aGlzLnByb3BzO1xuICAgICAgdWlTdGF0ZUFjdGlvbnMudG9nZ2xlTGF5ZXJQYW5lbExpc3RWaWV3KGxpc3RWaWV3KTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBsYXllcnMsXG4gICAgICAgIGRhdGFzZXRzLFxuICAgICAgICBpbnRsLFxuICAgICAgICBsYXllck9yZGVyLFxuICAgICAgICBzaG93QWRkRGF0YU1vZGFsLFxuICAgICAgICB1cGRhdGVUYWJsZUNvbG9yLFxuICAgICAgICBzaG93RGF0YXNldFRhYmxlLFxuICAgICAgICByZW1vdmVEYXRhc2V0LFxuICAgICAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICAgICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgICAgICBsYXllclBhbmVsTGlzdFZpZXcsXG4gICAgICAgIHBhbmVsTWV0YWRhdGFcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBjb25zdCBkZWZhdWx0RGF0YXNldCA9IE9iamVjdC5rZXlzKGRhdGFzZXRzKVswXTtcbiAgICAgIGNvbnN0IGlzU29ydEJ5RGF0YXNldE1vZGUgPSBsYXllclBhbmVsTGlzdFZpZXcgPT09ICdzb3J0QnlEYXRhc2V0JztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllci1tYW5hZ2VyXCI+XG4gICAgICAgICAgeyFJU19CVUlMREVSICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxQYW5lbFZpZXdMaXN0VG9nZ2xlXG4gICAgICAgICAgICAgICAgICB0b2dnbGVMYXllclBhbmVsTGlzdFZpZXc9e3RoaXMuX3RvZ2dsZUxheWVyUGFuZWxMaXN0Vmlld31cbiAgICAgICAgICAgICAgICAgIGxheWVyUGFuZWxMaXN0Vmlld01vZGU9e2xheWVyUGFuZWxMaXN0Vmlld31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAgICAgIDxEYXRhc2V0U2VjdGlvblxuICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgICAgIHVwZGF0ZVRhYmxlQ29sb3I9e3VwZGF0ZVRhYmxlQ29sb3J9XG4gICAgICAgICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICAgICAgICBzaG93RGVsZXRlRGF0YXNldFxuICAgICAgICAgICAgICAgIHNob3dEYXRhc2V0TGlzdD17IWlzU29ydEJ5RGF0YXNldE1vZGV9XG4gICAgICAgICAgICAgICAgc2hvd0FkZERhdGFNb2RhbD17c2hvd0FkZERhdGFNb2RhbH1cbiAgICAgICAgICAgICAgICBkZWZhdWx0RGF0YXNldD17ZGVmYXVsdERhdGFzZXR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxTaWRlUGFuZWxEaXZpZGVyIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICAgICAgPExheWVySGVhZGVyPlxuICAgICAgICAgICAgICA8UGFuZWxUaXRsZSBjbGFzc05hbWU9XCJsYXllci1tYW5hZ2VyLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e3BhbmVsTWV0YWRhdGEubGFiZWx9IC8+XG4gICAgICAgICAgICAgIDwvUGFuZWxUaXRsZT5cbiAgICAgICAgICAgICAge2RlZmF1bHREYXRhc2V0ID8gKFxuICAgICAgICAgICAgICAgIC8vIFRPRE8gcmVwbGFjZSBpZ25vcmVcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgPEFkZExheWVyQnV0dG9uXG4gICAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgICB0eXBlYWhlYWRQbGFjZWhvbGRlcj1cIlNlYXJjaCBkYXRhc2V0c1wiXG4gICAgICAgICAgICAgICAgICBpbnRsPXtpbnRsfVxuICAgICAgICAgICAgICAgICAgb25PcHRpb25TZWxlY3RlZD17dGhpcy5fYWRkRW1wdHlOZXdMYXllcn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvTGF5ZXJIZWFkZXI+XG4gICAgICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICAgICAge2lzU29ydEJ5RGF0YXNldE1vZGUgPyAoXG4gICAgICAgICAgICAgIDxEYXRhc2V0TGF5ZXJHcm91cFxuICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICAgICAgICAgIHVwZGF0ZVRhYmxlQ29sb3I9e3VwZGF0ZVRhYmxlQ29sb3J9XG4gICAgICAgICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICAgICAgICBsYXllck9yZGVyPXtsYXllck9yZGVyfVxuICAgICAgICAgICAgICAgIGxheWVyQ2xhc3Nlcz17dGhpcy5wcm9wcy5sYXllckNsYXNzZXN9XG4gICAgICAgICAgICAgICAgdWlTdGF0ZUFjdGlvbnM9e3VpU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICAgIHZpc1N0YXRlQWN0aW9ucz17dmlzU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICAgIHNob3dEZWxldGVEYXRhc2V0XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAvLyBUT0RPIHJlcGxhY2UgaWdub3JlXG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgPExheWVyTGlzdFxuICAgICAgICAgICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICBsYXllck9yZGVyPXtsYXllck9yZGVyfVxuICAgICAgICAgICAgICAgIHVpU3RhdGVBY3Rpb25zPXt1aVN0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgICB2aXNTdGF0ZUFjdGlvbnM9e3Zpc1N0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgICBsYXllckNsYXNzZXM9e3RoaXMucHJvcHMubGF5ZXJDbGFzc2VzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAgPExheWVyQmxlbmRpbmdTZWxlY3RvclxuICAgICAgICAgICAgbGF5ZXJCbGVuZGluZz17dGhpcy5wcm9wcy5sYXllckJsZW5kaW5nfVxuICAgICAgICAgICAgdXBkYXRlTGF5ZXJCbGVuZGluZz17dmlzU3RhdGVBY3Rpb25zLnVwZGF0ZUxheWVyQmxlbmRpbmd9XG4gICAgICAgICAgICBpbnRsPXtpbnRsfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGluamVjdEludGwoTGF5ZXJNYW5hZ2VyKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJNYW5hZ2VyRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxhQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBRUEsSUFBQUssVUFBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQU0sa0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFPLG9CQUFBLEdBQUFILHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFKLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBUyxlQUFBLEdBQUFMLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBVSxlQUFBLEdBQUFOLHNCQUFBLENBQUFKLE9BQUE7QUFFQSxJQUFBVyxhQUFBLEdBQUFQLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBWSxrQkFBQSxHQUFBWixPQUFBO0FBRUEsSUFBQWEsZ0JBQUEsR0FBQWIsT0FBQTtBQUEyRCxJQUFBYyxlQUFB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
177
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RJbnRsIiwiX2xvY2FsaXphdGlvbiIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9sYXllckxpc3QiLCJfZGF0YXNldExheWVyR3JvdXAiLCJfcGFuZWxWaWV3TGlzdFRvZ2dsZSIsIl9wYW5lbFRpdGxlIiwiX2RhdGFzZXRTZWN0aW9uIiwiX2FkZExheWVyQnV0dG9uIiwiX2l0ZW1TZWxlY3RvciIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9kZWZhdWx0U2V0dGluZ3MiLCJfdGVtcGxhdGVPYmplY3QiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfY2FsbFN1cGVyIiwibyIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIklTX0JVSUxERVIiLCJMYXllckhlYWRlciIsInN0eWxlZCIsImRpdiIsImF0dHJzIiwiY2xhc3NOYW1lIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJMYXllckJsZW5kaW5nU2VsZWN0b3JGYWN0b3J5IiwiTGF5ZXJCbGVuZGluZ1NlbGVjdG9yIiwiX3JlZiIsImxheWVyQmxlbmRpbmciLCJ1cGRhdGVMYXllckJsZW5kaW5nIiwiaW50bCIsImxhYmVsZWRMYXllckJsZW5kaW5ncyIsIkxBWUVSX0JMRU5ESU5HUyIsInJlZHVjZSIsImFjYyIsImN1cnJlbnQiLCJmb3JtYXRNZXNzYWdlIiwiaWQiLCJsYWJlbCIsIm9uQ2hhbmdlIiwidXNlQ2FsbGJhY2siLCJibGVuZGluZyIsImNyZWF0ZUVsZW1lbnQiLCJTaWRlUGFuZWxTZWN0aW9uIiwiUGFuZWxMYWJlbCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJzZWxlY3RlZEl0ZW1zIiwib3B0aW9ucyIsIm11bHRpU2VsZWN0Iiwic2VhcmNoYWJsZSIsIkxheWVyTWFuYWdlckZhY3RvcnkiLCJkZXBzIiwiTGF5ZXJMaXN0RmFjdG9yeSIsIkRhdGFzZXRMYXllckdyb3VwRmFjdG9yeSIsIlBhbmVsVmlld0xpc3RUb2dnbGVGYWN0b3J5IiwiUGFuZWxUaXRsZUZhY3RvcnkiLCJEYXRhc2V0U2VjdGlvbkZhY3RvcnkiLCJBZGRMYXllckJ1dHRvbkZhY3RvcnkiLCJMYXllckxpc3QiLCJEYXRhc2V0TGF5ZXJHcm91cCIsIlBhbmVsVmlld0xpc3RUb2dnbGUiLCJQYW5lbFRpdGxlIiwiRGF0YXNldFNlY3Rpb24iLCJBZGRMYXllckJ1dHRvbiIsIkxheWVyTWFuYWdlciIsIl9Db21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsImRhdGFzZXQiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJwcm9wcyIsImFkZExheWVyIiwidW5kZWZpbmVkIiwibGlzdFZpZXciLCJ1aVN0YXRlQWN0aW9ucyIsInRvZ2dsZUxheWVyUGFuZWxMaXN0VmlldyIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsImxheWVycyIsImRhdGFzZXRzIiwibGF5ZXJPcmRlciIsInNob3dBZGREYXRhTW9kYWwiLCJ1cGRhdGVUYWJsZUNvbG9yIiwic2hvd0RhdGFzZXRUYWJsZSIsInJlbW92ZURhdGFzZXQiLCJsYXllclBhbmVsTGlzdFZpZXciLCJwYW5lbE1ldGFkYXRhIiwiZGVmYXVsdERhdGFzZXQiLCJpc1NvcnRCeURhdGFzZXRNb2RlIiwiRnJhZ21lbnQiLCJfdG9nZ2xlTGF5ZXJQYW5lbExpc3RWaWV3IiwibGF5ZXJQYW5lbExpc3RWaWV3TW9kZSIsInNob3dEZWxldGVEYXRhc2V0Iiwic2hvd0RhdGFzZXRMaXN0IiwiU2lkZVBhbmVsRGl2aWRlciIsInR5cGVhaGVhZFBsYWNlaG9sZGVyIiwib25PcHRpb25TZWxlY3RlZCIsIl9hZGRFbXB0eU5ld0xheWVyIiwibGF5ZXJDbGFzc2VzIiwiQ29tcG9uZW50IiwiaW5qZWN0SW50bCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItbWFuYWdlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCB1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge2luamVjdEludGwsIFdyYXBwZWRDb21wb25lbnRQcm9wc30gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ2xvY2FsaXphdGlvbic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IExheWVyTGlzdEZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbC9sYXllci1saXN0JztcbmltcG9ydCBEYXRhc2V0TGF5ZXJHcm91cEZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbC9kYXRhc2V0LWxheWVyLWdyb3VwJztcbmltcG9ydCBQYW5lbFZpZXdMaXN0VG9nZ2xlRmFjdG9yeSBmcm9tICcuL2xheWVyLXBhbmVsL3BhbmVsLXZpZXctbGlzdC10b2dnbGUnO1xuaW1wb3J0IFBhbmVsVGl0bGVGYWN0b3J5IGZyb20gJy4vcGFuZWwtdGl0bGUnO1xuaW1wb3J0IERhdGFzZXRTZWN0aW9uRmFjdG9yeSBmcm9tICcuL2xheWVyLXBhbmVsL2RhdGFzZXQtc2VjdGlvbic7XG5pbXBvcnQgQWRkTGF5ZXJCdXR0b25GYWN0b3J5IGZyb20gJy4vbGF5ZXItcGFuZWwvYWRkLWxheWVyLWJ1dHRvbic7XG5cbmltcG9ydCBJdGVtU2VsZWN0b3IgZnJvbSAnY29tcG9uZW50cy9jb21tb24vaXRlbS1zZWxlY3Rvci9pdGVtLXNlbGVjdG9yJztcbmltcG9ydCB7UGFuZWxMYWJlbCwgU2lkZVBhbmVsRGl2aWRlciwgU2lkZVBhbmVsU2VjdGlvbn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge0xBWUVSX0JMRU5ESU5HU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuaW1wb3J0IHtEYXRhc2V0c30gZnJvbSAncmVkdWNlcnMnO1xuaW1wb3J0IHtMYXllciwgTGF5ZXJDbGFzc2VzVHlwZX0gZnJvbSAnbGF5ZXJzJztcbmltcG9ydCAqIGFzIFVpU3RhdGVBY3Rpb25zIGZyb20gJ2FjdGlvbnMvdWktc3RhdGUtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBWaXNTdGF0ZUFjdGlvbnMgZnJvbSAnYWN0aW9ucy92aXMtc3RhdGUtYWN0aW9ucyc7XG5pbXBvcnQge1NpZGVQYW5lbEl0ZW19IGZyb20gJ2NvbXBvbmVudHMvdHlwZXMnO1xuaW1wb3J0IHtMYXllclBhbmVsTGlzdFZpZXd9IGZyb20gJ3JlZHVjZXJzL3VpLXN0YXRlLXVwZGF0ZXJzJztcbmltcG9ydCB7QWN0aW9uSGFuZGxlcn0gZnJvbSAnYWN0aW9ucyc7XG5cbnR5cGUgTGF5ZXJCbGVuZGluZ1NlbGVjdG9yUHJvcHMgPSB7XG4gIGxheWVyQmxlbmRpbmc6IHN0cmluZztcbiAgdXBkYXRlTGF5ZXJCbGVuZGluZzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnVwZGF0ZUxheWVyQmxlbmRpbmc+O1xufSAmIFdyYXBwZWRDb21wb25lbnRQcm9wcztcblxudHlwZSBMYXllck1hbmFnZXJQcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBsYXllcnM6IExheWVyW107XG4gIGxheWVyT3JkZXI6IG51bWJlcltdO1xuICBsYXllckNsYXNzZXM6IExheWVyQ2xhc3Nlc1R5cGU7XG4gIGxheWVyQmxlbmRpbmc6IHN0cmluZztcbiAgdWlTdGF0ZUFjdGlvbnM6IHR5cGVvZiBVaVN0YXRlQWN0aW9ucztcbiAgdmlzU3RhdGVBY3Rpb25zOiB0eXBlb2YgVmlzU3RhdGVBY3Rpb25zO1xuICBzaG93QWRkRGF0YU1vZGFsOiAoKSA9PiB2b2lkO1xuICByZW1vdmVEYXRhc2V0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBVaVN0YXRlQWN0aW9ucy5vcGVuRGVsZXRlTW9kYWw+O1xuICBzaG93RGF0YXNldFRhYmxlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMuc2hvd0RhdGFzZXRUYWJsZT47XG4gIHVwZGF0ZVRhYmxlQ29sb3I6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy51cGRhdGVUYWJsZUNvbG9yPjtcbiAgbGF5ZXJQYW5lbExpc3RWaWV3OiBMYXllclBhbmVsTGlzdFZpZXc7XG4gIHBhbmVsTWV0YWRhdGE6IFNpZGVQYW5lbEl0ZW07XG59ICYgV3JhcHBlZENvbXBvbmVudFByb3BzO1xuXG5jb25zdCBJU19CVUlMREVSID0gdHJ1ZTtcblxuY29uc3QgTGF5ZXJIZWFkZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItbWFuYWdlci1oZWFkZXInXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbmA7XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllckJsZW5kaW5nU2VsZWN0b3JGYWN0b3J5KCkge1xuICBjb25zdCBMYXllckJsZW5kaW5nU2VsZWN0b3IgPSAoe1xuICAgIGxheWVyQmxlbmRpbmcsXG4gICAgdXBkYXRlTGF5ZXJCbGVuZGluZyxcbiAgICBpbnRsXG4gIH06IExheWVyQmxlbmRpbmdTZWxlY3RvclByb3BzKSA9PiB7XG4gICAgY29uc3QgbGFiZWxlZExheWVyQmxlbmRpbmdzID0gT2JqZWN0LmtleXMoTEFZRVJfQkxFTkRJTkdTKS5yZWR1Y2UoXG4gICAgICAoYWNjLCBjdXJyZW50KSA9PiAoe1xuICAgICAgICAuLi5hY2MsXG4gICAgICAgIFtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiBMQVlFUl9CTEVORElOR1NbY3VycmVudF0ubGFiZWx9KV06IGN1cnJlbnRcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xuXG4gICAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhibGVuZGluZyA9PiB1cGRhdGVMYXllckJsZW5kaW5nKGxhYmVsZWRMYXllckJsZW5kaW5nc1tibGVuZGluZ10pLCBbXG4gICAgICB1cGRhdGVMYXllckJsZW5kaW5nLFxuICAgICAgbGFiZWxlZExheWVyQmxlbmRpbmdzXG4gICAgXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgIDxQYW5lbExhYmVsPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibGF5ZXJCbGVuZGluZy50aXRsZVwiIC8+XG4gICAgICAgIDwvUGFuZWxMYWJlbD5cbiAgICAgICAgPEl0ZW1TZWxlY3RvclxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IExBWUVSX0JMRU5ESU5HU1tsYXllckJsZW5kaW5nXS5sYWJlbH0pfVxuICAgICAgICAgIG9wdGlvbnM9e09iamVjdC5rZXlzKGxhYmVsZWRMYXllckJsZW5kaW5ncyl9XG4gICAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgIHNlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9O1xuICByZXR1cm4gTGF5ZXJCbGVuZGluZ1NlbGVjdG9yO1xufVxuXG5MYXllck1hbmFnZXJGYWN0b3J5LmRlcHMgPSBbXG4gIExheWVyTGlzdEZhY3RvcnksXG4gIERhdGFzZXRMYXllckdyb3VwRmFjdG9yeSxcbiAgUGFuZWxWaWV3TGlzdFRvZ2dsZUZhY3RvcnksXG4gIFBhbmVsVGl0bGVGYWN0b3J5LFxuICBEYXRhc2V0U2VjdGlvbkZhY3RvcnksXG4gIEFkZExheWVyQnV0dG9uRmFjdG9yeSxcbiAgTGF5ZXJCbGVuZGluZ1NlbGVjdG9yRmFjdG9yeVxuXTtcblxuZnVuY3Rpb24gTGF5ZXJNYW5hZ2VyRmFjdG9yeShcbiAgTGF5ZXJMaXN0OiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckxpc3RGYWN0b3J5PixcbiAgRGF0YXNldExheWVyR3JvdXA6IFJldHVyblR5cGU8dHlwZW9mIERhdGFzZXRMYXllckdyb3VwRmFjdG9yeT4sXG4gIFBhbmVsVmlld0xpc3RUb2dnbGU6IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsVmlld0xpc3RUb2dnbGVGYWN0b3J5PixcbiAgUGFuZWxUaXRsZTogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxUaXRsZUZhY3Rvcnk+LFxuICBEYXRhc2V0U2VjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgRGF0YXNldFNlY3Rpb25GYWN0b3J5PixcbiAgQWRkTGF5ZXJCdXR0b246IFJldHVyblR5cGU8dHlwZW9mIEFkZExheWVyQnV0dG9uRmFjdG9yeT4sXG4gIExheWVyQmxlbmRpbmdTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJCbGVuZGluZ1NlbGVjdG9yRmFjdG9yeT5cbikge1xuICBjbGFzcyBMYXllck1hbmFnZXIgZXh0ZW5kcyBDb21wb25lbnQ8TGF5ZXJNYW5hZ2VyUHJvcHM+IHtcbiAgICBfYWRkRW1wdHlOZXdMYXllciA9IChkYXRhc2V0OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHt2aXNTdGF0ZUFjdGlvbnN9ID0gdGhpcy5wcm9wcztcbiAgICAgIHZpc1N0YXRlQWN0aW9ucy5hZGRMYXllcih1bmRlZmluZWQsIGRhdGFzZXQpO1xuICAgIH07XG5cbiAgICBfdG9nZ2xlTGF5ZXJQYW5lbExpc3RWaWV3ID0gKGxpc3RWaWV3OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHt1aVN0YXRlQWN0aW9uc30gPSB0aGlzLnByb3BzO1xuICAgICAgdWlTdGF0ZUFjdGlvbnMudG9nZ2xlTGF5ZXJQYW5lbExpc3RWaWV3KGxpc3RWaWV3KTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBsYXllcnMsXG4gICAgICAgIGRhdGFzZXRzLFxuICAgICAgICBpbnRsLFxuICAgICAgICBsYXllck9yZGVyLFxuICAgICAgICBzaG93QWRkRGF0YU1vZGFsLFxuICAgICAgICB1cGRhdGVUYWJsZUNvbG9yLFxuICAgICAgICBzaG93RGF0YXNldFRhYmxlLFxuICAgICAgICByZW1vdmVEYXRhc2V0LFxuICAgICAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICAgICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgICAgICBsYXllclBhbmVsTGlzdFZpZXcsXG4gICAgICAgIHBhbmVsTWV0YWRhdGFcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBjb25zdCBkZWZhdWx0RGF0YXNldCA9IE9iamVjdC5rZXlzKGRhdGFzZXRzKVswXTtcbiAgICAgIGNvbnN0IGlzU29ydEJ5RGF0YXNldE1vZGUgPSBsYXllclBhbmVsTGlzdFZpZXcgPT09ICdzb3J0QnlEYXRhc2V0JztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllci1tYW5hZ2VyXCI+XG4gICAgICAgICAgeyFJU19CVUlMREVSICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxQYW5lbFZpZXdMaXN0VG9nZ2xlXG4gICAgICAgICAgICAgICAgICB0b2dnbGVMYXllclBhbmVsTGlzdFZpZXc9e3RoaXMuX3RvZ2dsZUxheWVyUGFuZWxMaXN0Vmlld31cbiAgICAgICAgICAgICAgICAgIGxheWVyUGFuZWxMaXN0Vmlld01vZGU9e2xheWVyUGFuZWxMaXN0Vmlld31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAgICAgIDxEYXRhc2V0U2VjdGlvblxuICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgICAgIHVwZGF0ZVRhYmxlQ29sb3I9e3VwZGF0ZVRhYmxlQ29sb3J9XG4gICAgICAgICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICAgICAgICBzaG93RGVsZXRlRGF0YXNldFxuICAgICAgICAgICAgICAgIHNob3dEYXRhc2V0TGlzdD17IWlzU29ydEJ5RGF0YXNldE1vZGV9XG4gICAgICAgICAgICAgICAgc2hvd0FkZERhdGFNb2RhbD17c2hvd0FkZERhdGFNb2RhbH1cbiAgICAgICAgICAgICAgICBkZWZhdWx0RGF0YXNldD17ZGVmYXVsdERhdGFzZXR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxTaWRlUGFuZWxEaXZpZGVyIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICAgICAgPExheWVySGVhZGVyPlxuICAgICAgICAgICAgICA8UGFuZWxUaXRsZSBjbGFzc05hbWU9XCJsYXllci1tYW5hZ2VyLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e3BhbmVsTWV0YWRhdGEubGFiZWx9IC8+XG4gICAgICAgICAgICAgIDwvUGFuZWxUaXRsZT5cbiAgICAgICAgICAgICAge2RlZmF1bHREYXRhc2V0ID8gKFxuICAgICAgICAgICAgICAgIDxBZGRMYXllckJ1dHRvblxuICAgICAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICAgICAgdHlwZWFoZWFkUGxhY2Vob2xkZXI9XCJTZWFyY2ggZGF0YXNldHNcIlxuICAgICAgICAgICAgICAgICAgaW50bD17aW50bH1cbiAgICAgICAgICAgICAgICAgIG9uT3B0aW9uU2VsZWN0ZWQ9e3RoaXMuX2FkZEVtcHR5TmV3TGF5ZXJ9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L0xheWVySGVhZGVyPlxuICAgICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICAgIHtpc1NvcnRCeURhdGFzZXRNb2RlID8gKFxuICAgICAgICAgICAgICA8RGF0YXNldExheWVyR3JvdXBcbiAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgc2hvd0RhdGFzZXRUYWJsZT17c2hvd0RhdGFzZXRUYWJsZX1cbiAgICAgICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgICAgICB1cGRhdGVUYWJsZUNvbG9yPXt1cGRhdGVUYWJsZUNvbG9yfVxuICAgICAgICAgICAgICAgIHJlbW92ZURhdGFzZXQ9e3JlbW92ZURhdGFzZXR9XG4gICAgICAgICAgICAgICAgbGF5ZXJPcmRlcj17bGF5ZXJPcmRlcn1cbiAgICAgICAgICAgICAgICBsYXllckNsYXNzZXM9e3RoaXMucHJvcHMubGF5ZXJDbGFzc2VzfVxuICAgICAgICAgICAgICAgIHVpU3RhdGVBY3Rpb25zPXt1aVN0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgICB2aXNTdGF0ZUFjdGlvbnM9e3Zpc1N0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgICBzaG93RGVsZXRlRGF0YXNldFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPExheWVyTGlzdFxuICAgICAgICAgICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICBsYXllck9yZGVyPXtsYXllck9yZGVyfVxuICAgICAgICAgICAgICAgIHVpU3RhdGVBY3Rpb25zPXt1aVN0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgICB2aXNTdGF0ZUFjdGlvbnM9e3Zpc1N0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgICBsYXllckNsYXNzZXM9e3RoaXMucHJvcHMubGF5ZXJDbGFzc2VzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAgPExheWVyQmxlbmRpbmdTZWxlY3RvclxuICAgICAgICAgICAgbGF5ZXJCbGVuZGluZz17dGhpcy5wcm9wcy5sYXllckJsZW5kaW5nfVxuICAgICAgICAgICAgdXBkYXRlTGF5ZXJCbGVuZGluZz17dmlzU3RhdGVBY3Rpb25zLnVwZGF0ZUxheWVyQmxlbmRpbmd9XG4gICAgICAgICAgICBpbnRsPXtpbnRsfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGluamVjdEludGwoTGF5ZXJNYW5hZ2VyKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJNYW5hZ2VyRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxhQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBRUEsSUFBQUssVUFBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQU0sa0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFPLG9CQUFBLEdBQUFILHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFKLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBUyxlQUFBLEdBQUFMLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBVSxlQUFBLEdBQUFOLHNCQUFBLENBQUFKLE9BQUE7QUFFQSxJQUFBVyxhQUFBLEdBQUFQLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBWSxrQkFBQSxHQUFBWixPQUFBO0FBRUEsSUFBQWEsZ0JBQUEsR0FBQWIsT0FBQTtBQUEyRCxJQUFBYyxlQUFBLEVBcEMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFB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
@@ -24,7 +24,7 @@ var _customPanel = _interopRequireDefault(require("./side-panel/custom-panel"));
24
24
  var _panelTitle = _interopRequireDefault(require("./side-panel/panel-title"));
25
25
  var _styledComponents = _interopRequireDefault(require("styled-components"));
26
26
  var _lodash = _interopRequireDefault(require("lodash.get"));
27
- var _templateObject; // Copyright (c) 2022 Uber Technologies, Inc.
27
+ var _templateObject, _templateObject2; // Copyright (c) 2022 Uber Technologies, Inc.
28
28
  //
29
29
  // Permission is hereby granted, free of charge, to any person obtaining a copy
30
30
  // of this software and associated documentation files (the "Software"), to deal
@@ -52,6 +52,9 @@ var StyledSidePanelContent = exports.StyledSidePanelContent = _styledComponents[
52
52
  }, function (props) {
53
53
  return props.theme.sidePanelInnerPadding;
54
54
  });
55
+ var StyledSidePanelSpacer = _styledComponents["default"].div.attrs({
56
+ className: 'side-panel__content__spacer'
57
+ })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n"])));
55
58
  SidePanelFactory.deps = [_sideBar["default"], _panelHeader["default"], _panelToggle["default"], _panelTitle["default"], _layerManager["default"], _filterManager["default"], _interactionManager["default"], _mapManager["default"], _customPanel["default"]];
56
59
 
57
60
  /**
@@ -196,7 +199,7 @@ function SidePanelFactory(Sidebar, PanelHeader, PanelToggle, PanelTitle, LayerMa
196
199
  className: "side-panel__content__inner"
197
200
  }, (currentPanel === null || currentPanel === void 0 ? void 0 : currentPanel.id) !== 'layer' ? /*#__PURE__*/_react["default"].createElement(PanelTitle, null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
198
201
  id: currentPanel === null || currentPanel === void 0 ? void 0 : currentPanel.label
199
- })) : null, PanelComponent ? /*#__PURE__*/_react["default"].createElement(PanelComponent, {
202
+ })) : null, PanelComponent ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(PanelComponent, {
200
203
  datasets: datasets,
201
204
  filters: filters,
202
205
  layers: layers,
@@ -216,7 +219,7 @@ function SidePanelFactory(Sidebar, PanelHeader, PanelToggle, PanelTitle, LayerMa
216
219
  visStateActions: visStateActions,
217
220
  panelMetadata: currentPanel,
218
221
  layerPanelListView: (currentPanel === null || currentPanel === void 0 ? void 0 : currentPanel.id) === 'layer' && uiState.layerPanelListView
219
- }) : null, /*#__PURE__*/_react["default"].createElement(CustomPanels, (0, _extends2["default"])({}, customPanelProps, {
222
+ }), /*#__PURE__*/_react["default"].createElement(StyledSidePanelSpacer, null)) : null, /*#__PURE__*/_react["default"].createElement(CustomPanels, (0, _extends2["default"])({}, customPanelProps, {
220
223
  activeSidePanel: activeSidePanel
221
224
  })))));
222
225
  };
@@ -232,4 +235,4 @@ function SidePanelFactory(Sidebar, PanelHeader, PanelToggle, PanelTitle, LayerMa
232
235
  };
233
236
  return SidePanel;
234
237
  }
235
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbG9jYWxpemF0aW9uIiwiX2RlZmF1bHRTZXR0aW5ncyIsIl9zaWRlQmFyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9wYW5lbEhlYWRlciIsIl9wYW5lbFRvZ2dsZSIsIl9sYXllck1hbmFnZXIiLCJfZmlsdGVyTWFuYWdlciIsIl9pbnRlcmFjdGlvbk1hbmFnZXIiLCJfbWFwTWFuYWdlciIsIl9jdXN0b21QYW5lbCIsIl9wYW5lbFRpdGxlIiwiX3N0eWxlZENvbXBvbmVudHMiLCJfbG9kYXNoIiwiX3RlbXBsYXRlT2JqZWN0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiU3R5bGVkU2lkZVBhbmVsQ29udGVudCIsImV4cG9ydHMiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJzaWRlUGFuZWxTY3JvbGxCYXIiLCJzaWRlUGFuZWxJbm5lclBhZGRpbmciLCJTaWRlUGFuZWxGYWN0b3J5IiwiZGVwcyIsIlNpZGViYXJGYWN0b3J5IiwiUGFuZWxIZWFkZXJGYWN0b3J5IiwiUGFuZWxUb2dnbGVGYWN0b3J5IiwiUGFuZWxUaXRsZUZhY3RvcnkiLCJMYXllck1hbmFnZXJGYWN0b3J5IiwiRmlsdGVyTWFuYWdlckZhY3RvcnkiLCJJbnRlcmFjdGlvbk1hbmFnZXJGYWN0b3J5IiwiTWFwTWFuYWdlckZhY3RvcnkiLCJDdXN0b21QYW5lbHNGYWN0b3J5IiwiU2lkZWJhciIsIlBhbmVsSGVhZGVyIiwiUGFuZWxUb2dnbGUiLCJQYW5lbFRpdGxlIiwiTGF5ZXJNYW5hZ2VyIiwiRmlsdGVyTWFuYWdlciIsIkludGVyYWN0aW9uTWFuYWdlciIsIk1hcE1hbmFnZXIiLCJDdXN0b21QYW5lbHMiLCJTSURFQkFSX0NPTVBPTkVOVFMiLCJsYXllciIsImludGVyYWN0aW9uIiwibWFwIiwiZnVsbFBhbmVscyIsIlNJREVCQVJfUEFORUxTIiwiY29tcG9uZW50IiwiaWQiLCJnZXRDdXN0b21QYW5lbFByb3BzIiwiU2lkZVBhbmVsIiwiYXBwTmFtZSIsImFwcFdlYnNpdGUiLCJhdmFpbGFibGVQcm92aWRlcnMiLCJkYXRhc2V0cyIsImZpbHRlcnMiLCJsYXllcnMiLCJsYXllckJsZW5kaW5nIiwibGF5ZXJDbGFzc2VzIiwibGF5ZXJPcmRlciIsImludGVyYWN0aW9uQ29uZmlnIiwicGFuZWxzIiwibWFwSW5mbyIsIm1hcFNhdmVkIiwibWFwU3RhdGVBY3Rpb25zIiwibWFwU3R5bGUiLCJtYXBTdHlsZUFjdGlvbnMiLCJvblNhdmVNYXAiLCJ1aVN0YXRlIiwidWlTdGF0ZUFjdGlvbnMiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJ2ZXJzaW9uIiwid2lkdGgiLCJvcGVuRGVsZXRlTW9kYWwiLCJ0b2dnbGVNb2RhbCIsInRvZ2dsZVNpZGVQYW5lbCIsImFjdGl2ZVNpZGVQYW5lbCIsInNldE1hcEluZm8iLCJzaG93RGF0YXNldFRhYmxlIiwidXBkYXRlVGFibGVDb2xvciIsImhhc1NoYXJlIiwiaGFzU3RvcmFnZSIsInRpdGxlIiwiaXNPcGVuIiwiQm9vbGVhbiIsIl9vbk9wZW5PckNsb3NlIiwidXNlQ2FsbGJhY2siLCJvbkNsaWNrRXhwb3J0SW1hZ2UiLCJFWFBPUlRfSU1BR0VfSUQiLCJvbkNsaWNrRXhwb3J0RGF0YSIsIkVYUE9SVF9EQVRBX0lEIiwib25DbGlja0V4cG9ydE1hcCIsIkVYUE9SVF9NQVBfSUQiLCJvbkNsaWNrU2F2ZVRvU3RvcmFnZSIsIk9WRVJXUklURV9NQVBfSUQiLCJTQVZFX01BUF9JRCIsIm9uQ2xpY2tTYXZlQXNUb1N0b3JhZ2UiLCJjb25jYXQiLCJvbkNsaWNrU2hhcmVNYXAiLCJTSEFSRV9NQVBfSUQiLCJvblNob3dEYXRhc2V0VGFibGUiLCJkYXRhSWQiLCJvblVwZGF0ZVRhYmxlQ29sb3IiLCJuZXdDb2xvciIsIm9uU2hvd0FkZERhdGFNb2RhbCIsIkFERF9EQVRBX0lEIiwib25TaG93QWRkTWFwU3R5bGVNb2RhbCIsIkFERF9NQVBfU1RZTEVfSUQiLCJvblJlbW92ZURhdGFzZXQiLCJvblNhdmVUb1N0b3JhZ2UiLCJ1c2VNZW1vIiwib25TYXZlQXNUb1N0b3JhZ2UiLCJjdXJyZW50UGFuZWwiLCJmaW5kIiwiX3JlZiIsIm9uU2hhcmVNYXAiLCJjdXN0b21QYW5lbFByb3BzIiwiUGFuZWxDb21wb25lbnQiLCJjcmVhdGVFbGVtZW50IiwibWluaWZpZWRXaWR0aCIsIm9uT3Blbk9yQ2xvc2UiLCJ2aXNpYmxlRHJvcGRvd24iLCJzaG93RXhwb3J0RHJvcGRvd24iLCJoaWRlRXhwb3J0RHJvcGRvd24iLCJvbkV4cG9ydEltYWdlIiwib25FeHBvcnREYXRhIiwib25FeHBvcnRNYXAiLCJhY3RpdmVQYW5lbCIsInRvZ2dsZVBhbmVsIiwiY2xhc3NOYW1lIiwiRm9ybWF0dGVkTWVzc2FnZSIsImxhYmVsIiwicmVtb3ZlRGF0YXNldCIsInNob3dBZGREYXRhTW9kYWwiLCJzaG93QWRkTWFwU3R5bGVNb2RhbCIsInBhbmVsTWV0YWRhdGEiLCJsYXllclBhbmVsTGlzdFZpZXciLCJfZXh0ZW5kczIiLCJkZWZhdWx0UHJvcHMiLCJzaWRlYmFyQ29tcG9uZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ2xvY2FsaXphdGlvbic7XG5cbmltcG9ydCB7XG4gIEVYUE9SVF9EQVRBX0lELFxuICBFWFBPUlRfTUFQX0lELFxuICBTSEFSRV9NQVBfSUQsXG4gIFNJREVCQVJfUEFORUxTLFxuICBPVkVSV1JJVEVfTUFQX0lELFxuICBTQVZFX01BUF9JRCxcbiAgRVhQT1JUX0lNQUdFX0lELFxuICBBRERfREFUQV9JRCxcbiAgQUREX01BUF9TVFlMRV9JRFxufSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5cbmltcG9ydCBTaWRlYmFyRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvc2lkZS1iYXInO1xuaW1wb3J0IFBhbmVsSGVhZGVyRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvcGFuZWwtaGVhZGVyJztcbmltcG9ydCBQYW5lbFRvZ2dsZUZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL3BhbmVsLXRvZ2dsZSc7XG5pbXBvcnQgTGF5ZXJNYW5hZ2VyRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItbWFuYWdlcic7XG5pbXBvcnQgRmlsdGVyTWFuYWdlckZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL2ZpbHRlci1tYW5hZ2VyJztcbmltcG9ydCBJbnRlcmFjdGlvbk1hbmFnZXJGYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC9pbnRlcmFjdGlvbi1tYW5hZ2VyJztcbmltcG9ydCBNYXBNYW5hZ2VyRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvbWFwLW1hbmFnZXInO1xuaW1wb3J0IEN1c3RvbVBhbmVsc0ZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL2N1c3RvbS1wYW5lbCc7XG5pbXBvcnQgUGFuZWxUaXRsZUZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL3BhbmVsLXRpdGxlJztcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC5nZXQnO1xuaW1wb3J0IHtTaWRlUGFuZWxQcm9wc30gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTaWRlUGFuZWxDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxTY3JvbGxCYXJ9O1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsSW5uZXJQYWRkaW5nfXB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAuc2lkZS1wYW5lbF9fY29udGVudF9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbmA7XG5cblNpZGVQYW5lbEZhY3RvcnkuZGVwcyA9IFtcbiAgU2lkZWJhckZhY3RvcnksXG4gIFBhbmVsSGVhZGVyRmFjdG9yeSxcbiAgUGFuZWxUb2dnbGVGYWN0b3J5LFxuICBQYW5lbFRpdGxlRmFjdG9yeSxcbiAgTGF5ZXJNYW5hZ2VyRmFjdG9yeSxcbiAgRmlsdGVyTWFuYWdlckZhY3RvcnksXG4gIEludGVyYWN0aW9uTWFuYWdlckZhY3RvcnksXG4gIE1hcE1hbmFnZXJGYWN0b3J5LFxuICBDdXN0b21QYW5lbHNGYWN0b3J5XG5dO1xuXG4vKipcbiAqIFZlcnRpY2FsIHNpZGViYXIgY29udGFpbmluZyBpbnB1dCBjb21wb25lbnRzIGZvciB0aGUgcmVuZGVyaW5nIGxheWVyc1xuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBTaWRlUGFuZWxGYWN0b3J5KFxuICBTaWRlYmFyOiBSZXR1cm5UeXBlPHR5cGVvZiBTaWRlYmFyRmFjdG9yeT4sXG4gIFBhbmVsSGVhZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbEhlYWRlckZhY3Rvcnk+LFxuICBQYW5lbFRvZ2dsZTogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxUb2dnbGVGYWN0b3J5PixcbiAgUGFuZWxUaXRsZTogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxUaXRsZUZhY3Rvcnk+LFxuICBMYXllck1hbmFnZXI6IFJldHVyblR5cGU8dHlwZW9mIExheWVyTWFuYWdlckZhY3Rvcnk+LFxuICBGaWx0ZXJNYW5hZ2VyOiBSZXR1cm5UeXBlPHR5cGVvZiBGaWx0ZXJNYW5hZ2VyRmFjdG9yeT4sXG4gIEludGVyYWN0aW9uTWFuYWdlcjogUmV0dXJuVHlwZTx0eXBlb2YgSW50ZXJhY3Rpb25NYW5hZ2VyRmFjdG9yeT4sXG4gIE1hcE1hbmFnZXI6IFJldHVyblR5cGU8dHlwZW9mIE1hcE1hbmFnZXJGYWN0b3J5PixcbiAgQ3VzdG9tUGFuZWxzOiBSZXR1cm5UeXBlPHR5cGVvZiBDdXN0b21QYW5lbHNGYWN0b3J5PlxuKSB7XG4gIC8vIGluamVjdCBjb21wb25lbnRzXG4gIGNvbnN0IFNJREVCQVJfQ09NUE9ORU5UUyA9IHtcbiAgICBsYXllcjogTGF5ZXJNYW5hZ2VyLFxuICAgIGZpbHRlcjogRmlsdGVyTWFuYWdlcixcbiAgICBpbnRlcmFjdGlvbjogSW50ZXJhY3Rpb25NYW5hZ2VyLFxuICAgIG1hcDogTWFwTWFuYWdlclxuICB9O1xuXG4gIC8vIFdlIHNob3VsZCBkZWZpbmVkIHNpZGViYXIgcGFuZWxzIGhlcmUgYnV0IGtlZXBpbmcgdGhlbSBmb3IgYmFja3dhcmQgY29tcGF0aWJsZVxuICBjb25zdCBmdWxsUGFuZWxzID0gU0lERUJBUl9QQU5FTFMubWFwKGNvbXBvbmVudCA9PiAoe1xuICAgIC4uLmNvbXBvbmVudCxcbiAgICBjb21wb25lbnQ6IFNJREVCQVJfQ09NUE9ORU5UU1tjb21wb25lbnQuaWRdXG4gIH0pKTtcblxuICBjb25zdCBnZXRDdXN0b21QYW5lbFByb3BzID0gZ2V0KEN1c3RvbVBhbmVscywgWydkZWZhdWx0UHJvcHMnLCAnZ2V0UHJvcHMnXSkgfHwgKCgpID0+ICh7fSkpO1xuXG4gIGNvbnN0IFNpZGVQYW5lbCA9IChwcm9wczogU2lkZVBhbmVsUHJvcHMpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBhcHBOYW1lLFxuICAgICAgYXBwV2Vic2l0ZSxcbiAgICAgIGF2YWlsYWJsZVByb3ZpZGVycyxcbiAgICAgIGRhdGFzZXRzLFxuICAgICAgZmlsdGVycyxcbiAgICAgIGxheWVycyxcbiAgICAgIGxheWVyQmxlbmRpbmcsXG4gICAgICBsYXllckNsYXNzZXMsXG4gICAgICBsYXllck9yZGVyLFxuICAgICAgaW50ZXJhY3Rpb25Db25maWcsXG4gICAgICBwYW5lbHMsXG4gICAgICBtYXBJbmZvLFxuICAgICAgbWFwU2F2ZWQsXG4gICAgICBtYXBTdGF0ZUFjdGlvbnMsXG4gICAgICBtYXBTdHlsZSxcbiAgICAgIG1hcFN0eWxlQWN0aW9ucyxcbiAgICAgIG9uU2F2ZU1hcCxcbiAgICAgIHVpU3RhdGUsXG4gICAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICAgIHZpc1N0YXRlQWN0aW9ucyxcbiAgICAgIHZlcnNpb24sXG4gICAgICB3aWR0aFxuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCB7b3BlbkRlbGV0ZU1vZGFsLCB0b2dnbGVNb2RhbCwgdG9nZ2xlU2lkZVBhbmVsfSA9IHVpU3RhdGVBY3Rpb25zO1xuICAgIGNvbnN0IHthY3RpdmVTaWRlUGFuZWx9ID0gdWlTdGF0ZTtcbiAgICBjb25zdCB7c2V0TWFwSW5mbywgc2hvd0RhdGFzZXRUYWJsZSwgdXBkYXRlVGFibGVDb2xvcn0gPSB2aXNTdGF0ZUFjdGlvbnM7XG4gICAgY29uc3Qge2hhc1NoYXJlLCBoYXNTdG9yYWdlfSA9IGF2YWlsYWJsZVByb3ZpZGVycztcblxuICAgIGNvbnN0IHt0aXRsZX0gPSBtYXBJbmZvO1xuXG4gICAgY29uc3QgaXNPcGVuID0gQm9vbGVhbihhY3RpdmVTaWRlUGFuZWwpO1xuXG4gICAgY29uc3QgX29uT3Blbk9yQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB0b2dnbGVTaWRlUGFuZWwoYWN0aXZlU2lkZVBhbmVsID8gJycgOiAnbGF5ZXInKSwgW1xuICAgICAgYWN0aXZlU2lkZVBhbmVsLFxuICAgICAgdG9nZ2xlU2lkZVBhbmVsXG4gICAgXSk7XG5cbiAgICBjb25zdCBvbkNsaWNrRXhwb3J0SW1hZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB0b2dnbGVNb2RhbChFWFBPUlRfSU1BR0VfSUQpLCBbdG9nZ2xlTW9kYWxdKTtcbiAgICBjb25zdCBvbkNsaWNrRXhwb3J0RGF0YSA9IHVzZUNhbGxiYWNrKCgpID0+IHRvZ2dsZU1vZGFsKEVYUE9SVF9EQVRBX0lEKSwgW3RvZ2dsZU1vZGFsXSk7XG4gICAgY29uc3Qgb25DbGlja0V4cG9ydE1hcCA9IHVzZUNhbGxiYWNrKCgpID0+IHRvZ2dsZU1vZGFsKEVYUE9SVF9NQVBfSUQpLCBbdG9nZ2xlTW9kYWxdKTtcbiAgICBjb25zdCBvbkNsaWNrU2F2ZVRvU3RvcmFnZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gdG9nZ2xlTW9kYWwobWFwU2F2ZWQgPyBPVkVSV1JJVEVfTUFQX0lEIDogU0FWRV9NQVBfSUQpLFxuICAgICAgW21hcFNhdmVkLCB0b2dnbGVNb2RhbF1cbiAgICApO1xuICAgIGNvbnN0IG9uQ2xpY2tTYXZlQXNUb1N0b3JhZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRNYXBJbmZvKHtcbiAgICAgICAgdGl0bGU6IGAke3RpdGxlIHx8ICdLZXBsZXIuZ2wnfSAoQ29weSlgXG4gICAgICB9KTtcblxuICAgICAgdG9nZ2xlTW9kYWwoU0FWRV9NQVBfSUQpO1xuICAgIH0sIFt0aXRsZSwgc2V0TWFwSW5mbywgdG9nZ2xlTW9kYWxdKTtcbiAgICBjb25zdCBvbkNsaWNrU2hhcmVNYXAgPSB1c2VDYWxsYmFjaygoKSA9PiB0b2dnbGVNb2RhbChTSEFSRV9NQVBfSUQpLCBbdG9nZ2xlTW9kYWxdKTtcbiAgICBjb25zdCBvblNob3dEYXRhc2V0VGFibGUgPSB1c2VDYWxsYmFjayhkYXRhSWQgPT4gc2hvd0RhdGFzZXRUYWJsZShkYXRhSWQpLCBbc2hvd0RhdGFzZXRUYWJsZV0pO1xuICAgIGNvbnN0IG9uVXBkYXRlVGFibGVDb2xvciA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGRhdGFJZCwgbmV3Q29sb3IpID0+IHVwZGF0ZVRhYmxlQ29sb3IoZGF0YUlkLCBuZXdDb2xvciksXG4gICAgICBbdXBkYXRlVGFibGVDb2xvcl1cbiAgICApO1xuICAgIGNvbnN0IG9uU2hvd0FkZERhdGFNb2RhbCA9IHVzZUNhbGxiYWNrKCgpID0+IHRvZ2dsZU1vZGFsKEFERF9EQVRBX0lEKSwgW3RvZ2dsZU1vZGFsXSk7XG4gICAgY29uc3Qgb25TaG93QWRkTWFwU3R5bGVNb2RhbCA9IHVzZUNhbGxiYWNrKCgpID0+IHRvZ2dsZU1vZGFsKEFERF9NQVBfU1RZTEVfSUQpLCBbdG9nZ2xlTW9kYWxdKTtcbiAgICBjb25zdCBvblJlbW92ZURhdGFzZXQgPSB1c2VDYWxsYmFjayhkYXRhSWQgPT4gb3BlbkRlbGV0ZU1vZGFsKGRhdGFJZCksIFtvcGVuRGVsZXRlTW9kYWxdKTtcbiAgICBjb25zdCBvblNhdmVUb1N0b3JhZ2UgPSB1c2VNZW1vKCgpID0+IChoYXNTdG9yYWdlID8gb25DbGlja1NhdmVUb1N0b3JhZ2UgOiBudWxsKSwgW1xuICAgICAgaGFzU3RvcmFnZSxcbiAgICAgIG9uQ2xpY2tTYXZlVG9TdG9yYWdlXG4gICAgXSk7XG4gICAgY29uc3Qgb25TYXZlQXNUb1N0b3JhZ2UgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKGhhc1N0b3JhZ2UgJiYgbWFwU2F2ZWQgPyBvbkNsaWNrU2F2ZUFzVG9TdG9yYWdlIDogbnVsbCksXG4gICAgICBbaGFzU3RvcmFnZSwgbWFwU2F2ZWQsIG9uQ2xpY2tTYXZlQXNUb1N0b3JhZ2VdXG4gICAgKTtcbiAgICBjb25zdCBjdXJyZW50UGFuZWwgPSB1c2VNZW1vKCgpID0+IHBhbmVscy5maW5kKCh7aWR9KSA9PiBpZCA9PT0gYWN0aXZlU2lkZVBhbmVsKSwgW1xuICAgICAgYWN0aXZlU2lkZVBhbmVsLFxuICAgICAgcGFuZWxzXG4gICAgXSk7XG4gICAgY29uc3Qgb25TaGFyZU1hcCA9IHVzZU1lbW8oKCkgPT4gKGhhc1NoYXJlID8gb25DbGlja1NoYXJlTWFwIDogbnVsbCksIFtcbiAgICAgIGhhc1NoYXJlLFxuICAgICAgb25DbGlja1NoYXJlTWFwXG4gICAgXSk7XG4gICAgY29uc3QgY3VzdG9tUGFuZWxQcm9wcyA9IHVzZU1lbW8oKCkgPT4gZ2V0Q3VzdG9tUGFuZWxQcm9wcyhwcm9wcyksIFtwcm9wc10pO1xuXG4gICAgY29uc3QgUGFuZWxDb21wb25lbnQgPSBjdXJyZW50UGFuZWw/LmNvbXBvbmVudDtcblxuICAgIHJldHVybiAoXG4gICAgICA8U2lkZWJhciB3aWR0aD17d2lkdGh9IGlzT3Blbj17aXNPcGVufSBtaW5pZmllZFdpZHRoPXswfSBvbk9wZW5PckNsb3NlPXtfb25PcGVuT3JDbG9zZX0+XG4gICAgICAgIDxQYW5lbEhlYWRlclxuICAgICAgICAgIGFwcE5hbWU9e2FwcE5hbWV9XG4gICAgICAgICAgdmVyc2lvbj17dmVyc2lvbn1cbiAgICAgICAgICBhcHBXZWJzaXRlPXthcHBXZWJzaXRlfVxuICAgICAgICAgIHZpc2libGVEcm9wZG93bj17dWlTdGF0ZS52aXNpYmxlRHJvcGRvd259XG4gICAgICAgICAgc2hvd0V4cG9ydERyb3Bkb3duPXt1aVN0YXRlQWN0aW9ucy5zaG93RXhwb3J0RHJvcGRvd259XG4gICAgICAgICAgaGlkZUV4cG9ydERyb3Bkb3duPXt1aVN0YXRlQWN0aW9ucy5oaWRlRXhwb3J0RHJvcGRvd259XG4gICAgICAgICAgb25FeHBvcnRJbWFnZT17b25DbGlja0V4cG9ydEltYWdlfVxuICAgICAgICAgIG9uRXhwb3J0RGF0YT17b25DbGlja0V4cG9ydERhdGF9XG4gICAgICAgICAgb25FeHBvcnRNYXA9e29uQ2xpY2tFeHBvcnRNYXB9XG4gICAgICAgICAgb25TYXZlTWFwPXtvblNhdmVNYXB9XG4gICAgICAgICAgb25TYXZlVG9TdG9yYWdlPXtvblNhdmVUb1N0b3JhZ2V9XG4gICAgICAgICAgb25TYXZlQXNUb1N0b3JhZ2U9e29uU2F2ZUFzVG9TdG9yYWdlfVxuICAgICAgICAgIG9uU2hhcmVNYXA9e29uU2hhcmVNYXB9XG4gICAgICAgIC8+XG4gICAgICAgIHsvKiB0aGUgbmV4dCB0d28gY29tcG9uZW50cyBzaG91bGQgYmUgbW92ZWQgaW50byBvbmUgKi99XG4gICAgICAgIHsvKiBidXQgaSBhbSBrZWVwaW5nIHRoZW0gYmVjYXVzZSBvZiBiYWNrd2FyZCBjb21wYXRpYmlsaXR5ICovfVxuICAgICAgICA8UGFuZWxUb2dnbGVcbiAgICAgICAgICBwYW5lbHM9e3BhbmVsc31cbiAgICAgICAgICBhY3RpdmVQYW5lbD17YWN0aXZlU2lkZVBhbmVsfVxuICAgICAgICAgIHRvZ2dsZVBhbmVsPXt1aVN0YXRlQWN0aW9ucy50b2dnbGVTaWRlUGFuZWx9XG4gICAgICAgIC8+XG4gICAgICAgIDxTdHlsZWRTaWRlUGFuZWxDb250ZW50IGNsYXNzTmFtZT1cInNpZGUtcGFuZWxfX2NvbnRlbnRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNpZGUtcGFuZWxfX2NvbnRlbnRfX2lubmVyXCI+XG4gICAgICAgICAgICB7Y3VycmVudFBhbmVsPy5pZCAhPT0gJ2xheWVyJyA/IChcbiAgICAgICAgICAgICAgPFBhbmVsVGl0bGU+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2N1cnJlbnRQYW5lbD8ubGFiZWx9IC8+XG4gICAgICAgICAgICAgIDwvUGFuZWxUaXRsZT5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge1BhbmVsQ29tcG9uZW50ID8gKFxuICAgICAgICAgICAgICA8UGFuZWxDb21wb25lbnRcbiAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgZmlsdGVycz17ZmlsdGVyc31cbiAgICAgICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgICAgICBsYXllckNsYXNzZXM9e2xheWVyQ2xhc3Nlc31cbiAgICAgICAgICAgICAgICBsYXllck9yZGVyPXtsYXllck9yZGVyfVxuICAgICAgICAgICAgICAgIGxheWVyQmxlbmRpbmc9e2xheWVyQmxlbmRpbmd9XG4gICAgICAgICAgICAgICAgbWFwU3R5bGU9e21hcFN0eWxlfVxuICAgICAgICAgICAgICAgIG1hcFN0eWxlQWN0aW9ucz17bWFwU3R5bGVBY3Rpb25zfVxuICAgICAgICAgICAgICAgIG1hcFN0YXRlQWN0aW9ucz17bWFwU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICAgIGludGVyYWN0aW9uQ29uZmlnPXtpbnRlcmFjdGlvbkNvbmZpZ31cbiAgICAgICAgICAgICAgICByZW1vdmVEYXRhc2V0PXtvblJlbW92ZURhdGFzZXR9XG4gICAgICAgICAgICAgICAgc2hvd0RhdGFzZXRUYWJsZT17b25TaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgICAgIHVwZGF0ZVRhYmxlQ29sb3I9e29uVXBkYXRlVGFibGVDb2xvcn1cbiAgICAgICAgICAgICAgICBzaG93QWRkRGF0YU1vZGFsPXtvblNob3dBZGREYXRhTW9kYWx9XG4gICAgICAgICAgICAgICAgc2hvd0FkZE1hcFN0eWxlTW9kYWw9e29uU2hvd0FkZE1hcFN0eWxlTW9kYWx9XG4gICAgICAgICAgICAgICAgdWlTdGF0ZUFjdGlvbnM9e3VpU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICAgIHZpc1N0YXRlQWN0aW9ucz17dmlzU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICAgIHBhbmVsTWV0YWRhdGE9e2N1cnJlbnRQYW5lbH1cbiAgICAgICAgICAgICAgICBsYXllclBhbmVsTGlzdFZpZXc9e2N1cnJlbnRQYW5lbD8uaWQgPT09ICdsYXllcicgJiYgdWlTdGF0ZS5sYXllclBhbmVsTGlzdFZpZXd9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxDdXN0b21QYW5lbHMgey4uLmN1c3RvbVBhbmVsUHJvcHN9IGFjdGl2ZVNpZGVQYW5lbD17YWN0aXZlU2lkZVBhbmVsfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1N0eWxlZFNpZGVQYW5lbENvbnRlbnQ+XG4gICAgICA8L1NpZGViYXI+XG4gICAgKTtcbiAgfTtcblxuICBTaWRlUGFuZWwuZGVmYXVsdFByb3BzID0ge1xuICAgIHBhbmVsczogZnVsbFBhbmVscyxcbiAgICBzaWRlYmFyQ29tcG9uZW50czogU0lERUJBUl9DT01QT05FTlRTLFxuICAgIHVpU3RhdGU6IHt9LFxuICAgIHZpc1N0YXRlQWN0aW9uczoge30sXG4gICAgbWFwU3R5bGVBY3Rpb25zOiB7fSxcbiAgICB1aVN0YXRlQWN0aW9uczoge30sXG4gICAgYXZhaWxhYmxlUHJvdmlkZXJzOiB7fSxcbiAgICBtYXBJbmZvOiB7fVxuICB9O1xuXG4gIHJldHVybiBTaWRlUGFuZWw7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQW9CQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxnQkFBQSxHQUFBRixPQUFBO0FBWUEsSUFBQUcsUUFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUss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
238
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbG9jYWxpemF0aW9uIiwiX2RlZmF1bHRTZXR0aW5ncyIsIl9zaWRlQmFyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9wYW5lbEhlYWRlciIsIl9wYW5lbFRvZ2dsZSIsIl9sYXllck1hbmFnZXIiLCJfZmlsdGVyTWFuYWdlciIsIl9pbnRlcmFjdGlvbk1hbmFnZXIiLCJfbWFwTWFuYWdlciIsIl9jdXN0b21QYW5lbCIsIl9wYW5lbFRpdGxlIiwiX3N0eWxlZENvbXBvbmVudHMiLCJfbG9kYXNoIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIlN0eWxlZFNpZGVQYW5lbENvbnRlbnQiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwic2lkZVBhbmVsU2Nyb2xsQmFyIiwic2lkZVBhbmVsSW5uZXJQYWRkaW5nIiwiU3R5bGVkU2lkZVBhbmVsU3BhY2VyIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJTaWRlUGFuZWxGYWN0b3J5IiwiZGVwcyIsIlNpZGViYXJGYWN0b3J5IiwiUGFuZWxIZWFkZXJGYWN0b3J5IiwiUGFuZWxUb2dnbGVGYWN0b3J5IiwiUGFuZWxUaXRsZUZhY3RvcnkiLCJMYXllck1hbmFnZXJGYWN0b3J5IiwiRmlsdGVyTWFuYWdlckZhY3RvcnkiLCJJbnRlcmFjdGlvbk1hbmFnZXJGYWN0b3J5IiwiTWFwTWFuYWdlckZhY3RvcnkiLCJDdXN0b21QYW5lbHNGYWN0b3J5IiwiU2lkZWJhciIsIlBhbmVsSGVhZGVyIiwiUGFuZWxUb2dnbGUiLCJQYW5lbFRpdGxlIiwiTGF5ZXJNYW5hZ2VyIiwiRmlsdGVyTWFuYWdlciIsIkludGVyYWN0aW9uTWFuYWdlciIsIk1hcE1hbmFnZXIiLCJDdXN0b21QYW5lbHMiLCJTSURFQkFSX0NPTVBPTkVOVFMiLCJsYXllciIsImludGVyYWN0aW9uIiwibWFwIiwiZnVsbFBhbmVscyIsIlNJREVCQVJfUEFORUxTIiwiY29tcG9uZW50IiwiaWQiLCJnZXRDdXN0b21QYW5lbFByb3BzIiwiU2lkZVBhbmVsIiwiYXBwTmFtZSIsImFwcFdlYnNpdGUiLCJhdmFpbGFibGVQcm92aWRlcnMiLCJkYXRhc2V0cyIsImZpbHRlcnMiLCJsYXllcnMiLCJsYXllckJsZW5kaW5nIiwibGF5ZXJDbGFzc2VzIiwibGF5ZXJPcmRlciIsImludGVyYWN0aW9uQ29uZmlnIiwicGFuZWxzIiwibWFwSW5mbyIsIm1hcFNhdmVkIiwibWFwU3RhdGVBY3Rpb25zIiwibWFwU3R5bGUiLCJtYXBTdHlsZUFjdGlvbnMiLCJvblNhdmVNYXAiLCJ1aVN0YXRlIiwidWlTdGF0ZUFjdGlvbnMiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJ2ZXJzaW9uIiwid2lkdGgiLCJvcGVuRGVsZXRlTW9kYWwiLCJ0b2dnbGVNb2RhbCIsInRvZ2dsZVNpZGVQYW5lbCIsImFjdGl2ZVNpZGVQYW5lbCIsInNldE1hcEluZm8iLCJzaG93RGF0YXNldFRhYmxlIiwidXBkYXRlVGFibGVDb2xvciIsImhhc1NoYXJlIiwiaGFzU3RvcmFnZSIsInRpdGxlIiwiaXNPcGVuIiwiQm9vbGVhbiIsIl9vbk9wZW5PckNsb3NlIiwidXNlQ2FsbGJhY2siLCJvbkNsaWNrRXhwb3J0SW1hZ2UiLCJFWFBPUlRfSU1BR0VfSUQiLCJvbkNsaWNrRXhwb3J0RGF0YSIsIkVYUE9SVF9EQVRBX0lEIiwib25DbGlja0V4cG9ydE1hcCIsIkVYUE9SVF9NQVBfSUQiLCJvbkNsaWNrU2F2ZVRvU3RvcmFnZSIsIk9WRVJXUklURV9NQVBfSUQiLCJTQVZFX01BUF9JRCIsIm9uQ2xpY2tTYXZlQXNUb1N0b3JhZ2UiLCJjb25jYXQiLCJvbkNsaWNrU2hhcmVNYXAiLCJTSEFSRV9NQVBfSUQiLCJvblNob3dEYXRhc2V0VGFibGUiLCJkYXRhSWQiLCJvblVwZGF0ZVRhYmxlQ29sb3IiLCJuZXdDb2xvciIsIm9uU2hvd0FkZERhdGFNb2RhbCIsIkFERF9EQVRBX0lEIiwib25TaG93QWRkTWFwU3R5bGVNb2RhbCIsIkFERF9NQVBfU1RZTEVfSUQiLCJvblJlbW92ZURhdGFzZXQiLCJvblNhdmVUb1N0b3JhZ2UiLCJ1c2VNZW1vIiwib25TYXZlQXNUb1N0b3JhZ2UiLCJjdXJyZW50UGFuZWwiLCJmaW5kIiwiX3JlZiIsIm9uU2hhcmVNYXAiLCJjdXN0b21QYW5lbFByb3BzIiwiUGFuZWxDb21wb25lbnQiLCJjcmVhdGVFbGVtZW50IiwibWluaWZpZWRXaWR0aCIsIm9uT3Blbk9yQ2xvc2UiLCJ2aXNpYmxlRHJvcGRvd24iLCJzaG93RXhwb3J0RHJvcGRvd24iLCJoaWRlRXhwb3J0RHJvcGRvd24iLCJvbkV4cG9ydEltYWdlIiwib25FeHBvcnREYXRhIiwib25FeHBvcnRNYXAiLCJhY3RpdmVQYW5lbCIsInRvZ2dsZVBhbmVsIiwiRm9ybWF0dGVkTWVzc2FnZSIsImxhYmVsIiwiRnJhZ21lbnQiLCJyZW1vdmVEYXRhc2V0Iiwic2hvd0FkZERhdGFNb2RhbCIsInNob3dBZGRNYXBTdHlsZU1vZGFsIiwicGFuZWxNZXRhZGF0YSIsImxheWVyUGFuZWxMaXN0VmlldyIsIl9leHRlbmRzMiIsImRlZmF1bHRQcm9wcyIsInNpZGViYXJDb21wb25lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvc2lkZS1wYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnbG9jYWxpemF0aW9uJztcblxuaW1wb3J0IHtcbiAgRVhQT1JUX0RBVEFfSUQsXG4gIEVYUE9SVF9NQVBfSUQsXG4gIFNIQVJFX01BUF9JRCxcbiAgU0lERUJBUl9QQU5FTFMsXG4gIE9WRVJXUklURV9NQVBfSUQsXG4gIFNBVkVfTUFQX0lELFxuICBFWFBPUlRfSU1BR0VfSUQsXG4gIEFERF9EQVRBX0lELFxuICBBRERfTUFQX1NUWUxFX0lEXG59IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcblxuaW1wb3J0IFNpZGViYXJGYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC9zaWRlLWJhcic7XG5pbXBvcnQgUGFuZWxIZWFkZXJGYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC9wYW5lbC1oZWFkZXInO1xuaW1wb3J0IFBhbmVsVG9nZ2xlRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvcGFuZWwtdG9nZ2xlJztcbmltcG9ydCBMYXllck1hbmFnZXJGYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1tYW5hZ2VyJztcbmltcG9ydCBGaWx0ZXJNYW5hZ2VyRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvZmlsdGVyLW1hbmFnZXInO1xuaW1wb3J0IEludGVyYWN0aW9uTWFuYWdlckZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL2ludGVyYWN0aW9uLW1hbmFnZXInO1xuaW1wb3J0IE1hcE1hbmFnZXJGYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC9tYXAtbWFuYWdlcic7XG5pbXBvcnQgQ3VzdG9tUGFuZWxzRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvY3VzdG9tLXBhbmVsJztcbmltcG9ydCBQYW5lbFRpdGxlRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvcGFuZWwtdGl0bGUnO1xuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoLmdldCc7XG5pbXBvcnQge1NpZGVQYW5lbFByb3BzfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNpZGVQYW5lbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbFNjcm9sbEJhcn07XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxJbm5lclBhZGRpbmd9cHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gIC5zaWRlLXBhbmVsX19jb250ZW50X19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkU2lkZVBhbmVsU3BhY2VyID0gc3R5bGVkLmRpdi5hdHRycyh7Y2xhc3NOYW1lOiAnc2lkZS1wYW5lbF9fY29udGVudF9fc3BhY2VyJ30pYFxuICBmbGV4LWdyb3c6IDE7XG5gO1xuXG5TaWRlUGFuZWxGYWN0b3J5LmRlcHMgPSBbXG4gIFNpZGViYXJGYWN0b3J5LFxuICBQYW5lbEhlYWRlckZhY3RvcnksXG4gIFBhbmVsVG9nZ2xlRmFjdG9yeSxcbiAgUGFuZWxUaXRsZUZhY3RvcnksXG4gIExheWVyTWFuYWdlckZhY3RvcnksXG4gIEZpbHRlck1hbmFnZXJGYWN0b3J5LFxuICBJbnRlcmFjdGlvbk1hbmFnZXJGYWN0b3J5LFxuICBNYXBNYW5hZ2VyRmFjdG9yeSxcbiAgQ3VzdG9tUGFuZWxzRmFjdG9yeVxuXTtcblxuLyoqXG4gKiBWZXJ0aWNhbCBzaWRlYmFyIGNvbnRhaW5pbmcgaW5wdXQgY29tcG9uZW50cyBmb3IgdGhlIHJlbmRlcmluZyBsYXllcnNcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gU2lkZVBhbmVsRmFjdG9yeShcbiAgU2lkZWJhcjogUmV0dXJuVHlwZTx0eXBlb2YgU2lkZWJhckZhY3Rvcnk+LFxuICBQYW5lbEhlYWRlcjogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxIZWFkZXJGYWN0b3J5PixcbiAgUGFuZWxUb2dnbGU6IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsVG9nZ2xlRmFjdG9yeT4sXG4gIFBhbmVsVGl0bGU6IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsVGl0bGVGYWN0b3J5PixcbiAgTGF5ZXJNYW5hZ2VyOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllck1hbmFnZXJGYWN0b3J5PixcbiAgRmlsdGVyTWFuYWdlcjogUmV0dXJuVHlwZTx0eXBlb2YgRmlsdGVyTWFuYWdlckZhY3Rvcnk+LFxuICBJbnRlcmFjdGlvbk1hbmFnZXI6IFJldHVyblR5cGU8dHlwZW9mIEludGVyYWN0aW9uTWFuYWdlckZhY3Rvcnk+LFxuICBNYXBNYW5hZ2VyOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBNYW5hZ2VyRmFjdG9yeT4sXG4gIEN1c3RvbVBhbmVsczogUmV0dXJuVHlwZTx0eXBlb2YgQ3VzdG9tUGFuZWxzRmFjdG9yeT5cbikge1xuICAvLyBpbmplY3QgY29tcG9uZW50c1xuICBjb25zdCBTSURFQkFSX0NPTVBPTkVOVFMgPSB7XG4gICAgbGF5ZXI6IExheWVyTWFuYWdlcixcbiAgICBmaWx0ZXI6IEZpbHRlck1hbmFnZXIsXG4gICAgaW50ZXJhY3Rpb246IEludGVyYWN0aW9uTWFuYWdlcixcbiAgICBtYXA6IE1hcE1hbmFnZXJcbiAgfTtcblxuICAvLyBXZSBzaG91bGQgZGVmaW5lZCBzaWRlYmFyIHBhbmVscyBoZXJlIGJ1dCBrZWVwaW5nIHRoZW0gZm9yIGJhY2t3YXJkIGNvbXBhdGlibGVcbiAgY29uc3QgZnVsbFBhbmVscyA9IFNJREVCQVJfUEFORUxTLm1hcChjb21wb25lbnQgPT4gKHtcbiAgICAuLi5jb21wb25lbnQsXG4gICAgY29tcG9uZW50OiBTSURFQkFSX0NPTVBPTkVOVFNbY29tcG9uZW50LmlkXVxuICB9KSk7XG5cbiAgY29uc3QgZ2V0Q3VzdG9tUGFuZWxQcm9wcyA9IGdldChDdXN0b21QYW5lbHMsIFsnZGVmYXVsdFByb3BzJywgJ2dldFByb3BzJ10pIHx8ICgoKSA9PiAoe30pKTtcblxuICBjb25zdCBTaWRlUGFuZWwgPSAocHJvcHM6IFNpZGVQYW5lbFByb3BzKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgYXBwTmFtZSxcbiAgICAgIGFwcFdlYnNpdGUsXG4gICAgICBhdmFpbGFibGVQcm92aWRlcnMsXG4gICAgICBkYXRhc2V0cyxcbiAgICAgIGZpbHRlcnMsXG4gICAgICBsYXllcnMsXG4gICAgICBsYXllckJsZW5kaW5nLFxuICAgICAgbGF5ZXJDbGFzc2VzLFxuICAgICAgbGF5ZXJPcmRlcixcbiAgICAgIGludGVyYWN0aW9uQ29uZmlnLFxuICAgICAgcGFuZWxzLFxuICAgICAgbWFwSW5mbyxcbiAgICAgIG1hcFNhdmVkLFxuICAgICAgbWFwU3RhdGVBY3Rpb25zLFxuICAgICAgbWFwU3R5bGUsXG4gICAgICBtYXBTdHlsZUFjdGlvbnMsXG4gICAgICBvblNhdmVNYXAsXG4gICAgICB1aVN0YXRlLFxuICAgICAgdWlTdGF0ZUFjdGlvbnMsXG4gICAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgICB2ZXJzaW9uLFxuICAgICAgd2lkdGhcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3Qge29wZW5EZWxldGVNb2RhbCwgdG9nZ2xlTW9kYWwsIHRvZ2dsZVNpZGVQYW5lbH0gPSB1aVN0YXRlQWN0aW9ucztcbiAgICBjb25zdCB7YWN0aXZlU2lkZVBhbmVsfSA9IHVpU3RhdGU7XG4gICAgY29uc3Qge3NldE1hcEluZm8sIHNob3dEYXRhc2V0VGFibGUsIHVwZGF0ZVRhYmxlQ29sb3J9ID0gdmlzU3RhdGVBY3Rpb25zO1xuICAgIGNvbnN0IHtoYXNTaGFyZSwgaGFzU3RvcmFnZX0gPSBhdmFpbGFibGVQcm92aWRlcnM7XG5cbiAgICBjb25zdCB7dGl0bGV9ID0gbWFwSW5mbztcblxuICAgIGNvbnN0IGlzT3BlbiA9IEJvb2xlYW4oYWN0aXZlU2lkZVBhbmVsKTtcblxuICAgIGNvbnN0IF9vbk9wZW5PckNsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4gdG9nZ2xlU2lkZVBhbmVsKGFjdGl2ZVNpZGVQYW5lbCA/ICcnIDogJ2xheWVyJyksIFtcbiAgICAgIGFjdGl2ZVNpZGVQYW5lbCxcbiAgICAgIHRvZ2dsZVNpZGVQYW5lbFxuICAgIF0pO1xuXG4gICAgY29uc3Qgb25DbGlja0V4cG9ydEltYWdlID0gdXNlQ2FsbGJhY2soKCkgPT4gdG9nZ2xlTW9kYWwoRVhQT1JUX0lNQUdFX0lEKSwgW3RvZ2dsZU1vZGFsXSk7XG4gICAgY29uc3Qgb25DbGlja0V4cG9ydERhdGEgPSB1c2VDYWxsYmFjaygoKSA9PiB0b2dnbGVNb2RhbChFWFBPUlRfREFUQV9JRCksIFt0b2dnbGVNb2RhbF0pO1xuICAgIGNvbnN0IG9uQ2xpY2tFeHBvcnRNYXAgPSB1c2VDYWxsYmFjaygoKSA9PiB0b2dnbGVNb2RhbChFWFBPUlRfTUFQX0lEKSwgW3RvZ2dsZU1vZGFsXSk7XG4gICAgY29uc3Qgb25DbGlja1NhdmVUb1N0b3JhZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHRvZ2dsZU1vZGFsKG1hcFNhdmVkID8gT1ZFUldSSVRFX01BUF9JRCA6IFNBVkVfTUFQX0lEKSxcbiAgICAgIFttYXBTYXZlZCwgdG9nZ2xlTW9kYWxdXG4gICAgKTtcbiAgICBjb25zdCBvbkNsaWNrU2F2ZUFzVG9TdG9yYWdlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0TWFwSW5mbyh7XG4gICAgICAgIHRpdGxlOiBgJHt0aXRsZSB8fCAnS2VwbGVyLmdsJ30gKENvcHkpYFxuICAgICAgfSk7XG5cbiAgICAgIHRvZ2dsZU1vZGFsKFNBVkVfTUFQX0lEKTtcbiAgICB9LCBbdGl0bGUsIHNldE1hcEluZm8sIHRvZ2dsZU1vZGFsXSk7XG4gICAgY29uc3Qgb25DbGlja1NoYXJlTWFwID0gdXNlQ2FsbGJhY2soKCkgPT4gdG9nZ2xlTW9kYWwoU0hBUkVfTUFQX0lEKSwgW3RvZ2dsZU1vZGFsXSk7XG4gICAgY29uc3Qgb25TaG93RGF0YXNldFRhYmxlID0gdXNlQ2FsbGJhY2soZGF0YUlkID0+IHNob3dEYXRhc2V0VGFibGUoZGF0YUlkKSwgW3Nob3dEYXRhc2V0VGFibGVdKTtcbiAgICBjb25zdCBvblVwZGF0ZVRhYmxlQ29sb3IgPSB1c2VDYWxsYmFjayhcbiAgICAgIChkYXRhSWQsIG5ld0NvbG9yKSA9PiB1cGRhdGVUYWJsZUNvbG9yKGRhdGFJZCwgbmV3Q29sb3IpLFxuICAgICAgW3VwZGF0ZVRhYmxlQ29sb3JdXG4gICAgKTtcbiAgICBjb25zdCBvblNob3dBZGREYXRhTW9kYWwgPSB1c2VDYWxsYmFjaygoKSA9PiB0b2dnbGVNb2RhbChBRERfREFUQV9JRCksIFt0b2dnbGVNb2RhbF0pO1xuICAgIGNvbnN0IG9uU2hvd0FkZE1hcFN0eWxlTW9kYWwgPSB1c2VDYWxsYmFjaygoKSA9PiB0b2dnbGVNb2RhbChBRERfTUFQX1NUWUxFX0lEKSwgW3RvZ2dsZU1vZGFsXSk7XG4gICAgY29uc3Qgb25SZW1vdmVEYXRhc2V0ID0gdXNlQ2FsbGJhY2soZGF0YUlkID0+IG9wZW5EZWxldGVNb2RhbChkYXRhSWQpLCBbb3BlbkRlbGV0ZU1vZGFsXSk7XG4gICAgY29uc3Qgb25TYXZlVG9TdG9yYWdlID0gdXNlTWVtbygoKSA9PiAoaGFzU3RvcmFnZSA/IG9uQ2xpY2tTYXZlVG9TdG9yYWdlIDogbnVsbCksIFtcbiAgICAgIGhhc1N0b3JhZ2UsXG4gICAgICBvbkNsaWNrU2F2ZVRvU3RvcmFnZVxuICAgIF0pO1xuICAgIGNvbnN0IG9uU2F2ZUFzVG9TdG9yYWdlID0gdXNlTWVtbyhcbiAgICAgICgpID0+IChoYXNTdG9yYWdlICYmIG1hcFNhdmVkID8gb25DbGlja1NhdmVBc1RvU3RvcmFnZSA6IG51bGwpLFxuICAgICAgW2hhc1N0b3JhZ2UsIG1hcFNhdmVkLCBvbkNsaWNrU2F2ZUFzVG9TdG9yYWdlXVxuICAgICk7XG4gICAgY29uc3QgY3VycmVudFBhbmVsID0gdXNlTWVtbygoKSA9PiBwYW5lbHMuZmluZCgoe2lkfSkgPT4gaWQgPT09IGFjdGl2ZVNpZGVQYW5lbCksIFtcbiAgICAgIGFjdGl2ZVNpZGVQYW5lbCxcbiAgICAgIHBhbmVsc1xuICAgIF0pO1xuICAgIGNvbnN0IG9uU2hhcmVNYXAgPSB1c2VNZW1vKCgpID0+IChoYXNTaGFyZSA/IG9uQ2xpY2tTaGFyZU1hcCA6IG51bGwpLCBbXG4gICAgICBoYXNTaGFyZSxcbiAgICAgIG9uQ2xpY2tTaGFyZU1hcFxuICAgIF0pO1xuICAgIGNvbnN0IGN1c3RvbVBhbmVsUHJvcHMgPSB1c2VNZW1vKCgpID0+IGdldEN1c3RvbVBhbmVsUHJvcHMocHJvcHMpLCBbcHJvcHNdKTtcblxuICAgIGNvbnN0IFBhbmVsQ29tcG9uZW50ID0gY3VycmVudFBhbmVsPy5jb21wb25lbnQ7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNpZGViYXIgd2lkdGg9e3dpZHRofSBpc09wZW49e2lzT3Blbn0gbWluaWZpZWRXaWR0aD17MH0gb25PcGVuT3JDbG9zZT17X29uT3Blbk9yQ2xvc2V9PlxuICAgICAgICA8UGFuZWxIZWFkZXJcbiAgICAgICAgICBhcHBOYW1lPXthcHBOYW1lfVxuICAgICAgICAgIHZlcnNpb249e3ZlcnNpb259XG4gICAgICAgICAgYXBwV2Vic2l0ZT17YXBwV2Vic2l0ZX1cbiAgICAgICAgICB2aXNpYmxlRHJvcGRvd249e3VpU3RhdGUudmlzaWJsZURyb3Bkb3dufVxuICAgICAgICAgIHNob3dFeHBvcnREcm9wZG93bj17dWlTdGF0ZUFjdGlvbnMuc2hvd0V4cG9ydERyb3Bkb3dufVxuICAgICAgICAgIGhpZGVFeHBvcnREcm9wZG93bj17dWlTdGF0ZUFjdGlvbnMuaGlkZUV4cG9ydERyb3Bkb3dufVxuICAgICAgICAgIG9uRXhwb3J0SW1hZ2U9e29uQ2xpY2tFeHBvcnRJbWFnZX1cbiAgICAgICAgICBvbkV4cG9ydERhdGE9e29uQ2xpY2tFeHBvcnREYXRhfVxuICAgICAgICAgIG9uRXhwb3J0TWFwPXtvbkNsaWNrRXhwb3J0TWFwfVxuICAgICAgICAgIG9uU2F2ZU1hcD17b25TYXZlTWFwfVxuICAgICAgICAgIG9uU2F2ZVRvU3RvcmFnZT17b25TYXZlVG9TdG9yYWdlfVxuICAgICAgICAgIG9uU2F2ZUFzVG9TdG9yYWdlPXtvblNhdmVBc1RvU3RvcmFnZX1cbiAgICAgICAgICBvblNoYXJlTWFwPXtvblNoYXJlTWFwfVxuICAgICAgICAvPlxuICAgICAgICB7LyogdGhlIG5leHQgdHdvIGNvbXBvbmVudHMgc2hvdWxkIGJlIG1vdmVkIGludG8gb25lICovfVxuICAgICAgICB7LyogYnV0IGkgYW0ga2VlcGluZyB0aGVtIGJlY2F1c2Ugb2YgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqL31cbiAgICAgICAgPFBhbmVsVG9nZ2xlXG4gICAgICAgICAgcGFuZWxzPXtwYW5lbHN9XG4gICAgICAgICAgYWN0aXZlUGFuZWw9e2FjdGl2ZVNpZGVQYW5lbH1cbiAgICAgICAgICB0b2dnbGVQYW5lbD17dWlTdGF0ZUFjdGlvbnMudG9nZ2xlU2lkZVBhbmVsfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkU2lkZVBhbmVsQ29udGVudCBjbGFzc05hbWU9XCJzaWRlLXBhbmVsX19jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzaWRlLXBhbmVsX19jb250ZW50X19pbm5lclwiPlxuICAgICAgICAgICAge2N1cnJlbnRQYW5lbD8uaWQgIT09ICdsYXllcicgPyAoXG4gICAgICAgICAgICAgIDxQYW5lbFRpdGxlPlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtjdXJyZW50UGFuZWw/LmxhYmVsfSAvPlxuICAgICAgICAgICAgICA8L1BhbmVsVGl0bGU+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtQYW5lbENvbXBvbmVudCA/IChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8UGFuZWxDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICAgIGZpbHRlcnM9e2ZpbHRlcnN9XG4gICAgICAgICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgICAgICAgIGxheWVyQ2xhc3Nlcz17bGF5ZXJDbGFzc2VzfVxuICAgICAgICAgICAgICAgICAgbGF5ZXJPcmRlcj17bGF5ZXJPcmRlcn1cbiAgICAgICAgICAgICAgICAgIGxheWVyQmxlbmRpbmc9e2xheWVyQmxlbmRpbmd9XG4gICAgICAgICAgICAgICAgICBtYXBTdHlsZT17bWFwU3R5bGV9XG4gICAgICAgICAgICAgICAgICBtYXBTdHlsZUFjdGlvbnM9e21hcFN0eWxlQWN0aW9uc31cbiAgICAgICAgICAgICAgICAgIG1hcFN0YXRlQWN0aW9ucz17bWFwU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICAgICAgaW50ZXJhY3Rpb25Db25maWc9e2ludGVyYWN0aW9uQ29uZmlnfVxuICAgICAgICAgICAgICAgICAgcmVtb3ZlRGF0YXNldD17b25SZW1vdmVEYXRhc2V0fVxuICAgICAgICAgICAgICAgICAgc2hvd0RhdGFzZXRUYWJsZT17b25TaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgICAgICAgdXBkYXRlVGFibGVDb2xvcj17b25VcGRhdGVUYWJsZUNvbG9yfVxuICAgICAgICAgICAgICAgICAgc2hvd0FkZERhdGFNb2RhbD17b25TaG93QWRkRGF0YU1vZGFsfVxuICAgICAgICAgICAgICAgICAgc2hvd0FkZE1hcFN0eWxlTW9kYWw9e29uU2hvd0FkZE1hcFN0eWxlTW9kYWx9XG4gICAgICAgICAgICAgICAgICB1aVN0YXRlQWN0aW9ucz17dWlTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgICAgICB2aXNTdGF0ZUFjdGlvbnM9e3Zpc1N0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgICAgIHBhbmVsTWV0YWRhdGE9e2N1cnJlbnRQYW5lbH1cbiAgICAgICAgICAgICAgICAgIGxheWVyUGFuZWxMaXN0Vmlldz17Y3VycmVudFBhbmVsPy5pZCA9PT0gJ2xheWVyJyAmJiB1aVN0YXRlLmxheWVyUGFuZWxMaXN0Vmlld31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRTaWRlUGFuZWxTcGFjZXIgLz5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxDdXN0b21QYW5lbHMgey4uLmN1c3RvbVBhbmVsUHJvcHN9IGFjdGl2ZVNpZGVQYW5lbD17YWN0aXZlU2lkZVBhbmVsfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1N0eWxlZFNpZGVQYW5lbENvbnRlbnQ+XG4gICAgICA8L1NpZGViYXI+XG4gICAgKTtcbiAgfTtcblxuICBTaWRlUGFuZWwuZGVmYXVsdFByb3BzID0ge1xuICAgIHBhbmVsczogZnVsbFBhbmVscyxcbiAgICBzaWRlYmFyQ29tcG9uZW50czogU0lERUJBUl9DT01QT05FTlRTLFxuICAgIHVpU3RhdGU6IHt9LFxuICAgIHZpc1N0YXRlQWN0aW9uczoge30sXG4gICAgbWFwU3R5bGVBY3Rpb25zOiB7fSxcbiAgICB1aVN0YXRlQWN0aW9uczoge30sXG4gICAgYXZhaWxhYmxlUHJvdmlkZXJzOiB7fSxcbiAgICBtYXBJbmZvOiB7fVxuICB9O1xuXG4gIHJldHVybiBTaWRlUGFuZWw7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQW9CQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxnQkFBQSxHQUFBRixPQUFBO0FBWUEsSUFBQUcsUUFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBRixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQU8sYUFBQSxHQUFBSCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVEsY0FBQSxHQUFBSixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVMsbUJBQUEsR0FBQUwsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFVLFdBQUEsR0FBQU4sc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFXLFlBQUEsR0FBQVAsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFZLFdBQUEsR0FBQVIsc0JBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFhLGlCQUFBLEdBQUFULHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBYyxPQUFBLEdBQUFWLHNCQUFBLENBQUFKLE9BQUE7QUFBNkIsSUFBQWUsZUFBQSxFQUFBQyxnQkFBQSxFQTlDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQW5CLHdCQUFBbUIsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxjQUFBUixDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQUFBLFNBQUFXLFFBQUFuQixDQUFBLEVBQUFFLENBQUEsUUFBQUMsQ0FBQSxHQUFBUSxNQUFBLENBQUFTLElBQUEsQ0FBQXBCLENBQUEsT0FBQVcsTUFBQSxDQUFBVSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFYLE1BQUEsQ0FBQVUscUJBQUEsQ0FBQXJCLENBQUEsR0FBQUUsQ0FBQSxLQUFBb0IsQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQXJCLENBQUEsV0FBQVMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFFLENBQUEsRUFBQXNCLFVBQUEsT0FBQXJCLENBQUEsQ0FBQXNCLElBQUEsQ0FBQUMsS0FBQSxDQUFBdkIsQ0FBQSxFQUFBbUIsQ0FBQSxZQUFBbkIsQ0FBQTtBQUFBLFNBQUF3QixjQUFBM0IsQ0FBQSxhQUFBRSxDQUFBLE1BQUFBLENBQUEsR0FBQTBCLFNBQUEsQ0FBQUMsTUFBQSxFQUFBM0IsQ0FBQSxVQUFBQyxDQUFBLFdBQUF5QixTQUFBLENBQUExQixDQUFBLElBQUEwQixTQUFBLENBQUExQixDQUFBLFFBQUFBLENBQUEsT0FBQWlCLE9BQUEsQ0FBQVIsTUFBQSxDQUFBUixDQUFBLE9BQUEyQixPQUFBLFdBQUE1QixDQUFBLFFBQUE2QixnQkFBQSxhQUFBL0IsQ0FBQSxFQUFBRSxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBUyxNQUFBLENBQUFxQix5QkFBQSxHQUFBckIsTUFBQSxDQUFBc0IsZ0JBQUEsQ0FBQWpDLENBQUEsRUFBQVcsTUFBQSxDQUFBcUIseUJBQUEsQ0FBQTdCLENBQUEsS0FBQWdCLE9BQUEsQ0FBQVIsTUFBQSxDQUFBUixDQUFBLEdBQUEyQixPQUFBLFdBQUE1QixDQUFBLElBQUFTLE1BQUEsQ0FBQUMsY0FBQSxDQUFBWixDQUFBLEVBQUFFLENBQUEsRUFBQVMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBVixDQUFBLEVBQUFELENBQUEsaUJBQUFGLENBQUE7QUErQk8sSUFBTWtDLHNCQUFzQixHQUFBQyxPQUFBLENBQUFELHNCQUFBLEdBQUdFLDRCQUFNLENBQUNDLEdBQUcsQ0FBQXhDLGVBQUEsS0FBQUEsZUFBQSxPQUFBeUMsdUJBQUEsK05BQzVDLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0Msa0JBQWtCO0FBQUEsR0FFOUIsVUFBQUYsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDRSxxQkFBcUI7QUFBQSxFQVN0RDtBQUVELElBQU1DLHFCQUFxQixHQUFHUCw0QkFBTSxDQUFDQyxHQUFHLENBQUNPLEtBQUssQ0FBQztFQUFDQyxTQUFTLEVBQUU7QUFBNkIsQ0FBQyxDQUFDLENBQUEvQyxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBd0MsdUJBQUEsdUNBRXpGO0FBRURRLGdCQUFnQixDQUFDQyxJQUFJLEdBQUcsQ0FDdEJDLG1CQUFjLEVBQ2RDLHVCQUFrQixFQUNsQkMsdUJBQWtCLEVBQ2xCQyxzQkFBaUIsRUFDakJDLHdCQUFtQixFQUNuQkMseUJBQW9CLEVBQ3BCQyw4QkFBeUIsRUFDekJDLHNCQUFpQixFQUNqQkMsdUJBQW1CLENBQ3BCOztBQUVEO0FBQ0E7QUFDQTtBQUNlLFNBQVNWLGdCQUFnQkEsQ0FDdENXLE9BQTBDLEVBQzFDQyxXQUFrRCxFQUNsREMsV0FBa0QsRUFDbERDLFVBQWdELEVBQ2hEQyxZQUFvRCxFQUNwREMsYUFBc0QsRUFDdERDLGtCQUFnRSxFQUNoRUMsVUFBZ0QsRUFDaERDLFlBQW9ELEVBQ3BEO0VBQ0E7RUFDQSxJQUFNQyxrQkFBa0IsR0FBRztJQUN6QkMsS0FBSyxFQUFFTixZQUFZO0lBQ25CdEMsTUFBTSxFQUFFdUMsYUFBYTtJQUNyQk0sV0FBVyxFQUFFTCxrQkFBa0I7SUFDL0JNLEdBQUcsRUFBRUw7RUFDUCxDQUFDOztFQUVEO0VBQ0EsSUFBTU0sVUFBVSxHQUFHQywrQkFBYyxDQUFDRixHQUFHLENBQUMsVUFBQUcsU0FBUztJQUFBLE9BQUE3QyxhQUFBLENBQUFBLGFBQUEsS0FDMUM2QyxTQUFTO01BQ1pBLFNBQVMsRUFBRU4sa0JBQWtCLENBQUNNLFNBQVMsQ0FBQ0MsRUFBRTtJQUFDO0VBQUEsQ0FDM0MsQ0FBQztFQUVILElBQU1DLG1CQUFtQixHQUFHLElBQUFuRSxrQkFBRyxFQUFDMEQsWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUs7SUFBQSxPQUFPLENBQUMsQ0FBQztFQUFBLENBQUU7RUFFM0YsSUFBTVUsU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUlwQyxLQUFxQixFQUFLO0lBQzNDLElBQ0VxQyxPQUFPLEdBc0JMckMsS0FBSyxDQXRCUHFDLE9BQU87TUFDUEMsVUFBVSxHQXFCUnRDLEtBQUssQ0FyQlBzQyxVQUFVO01BQ1ZDLGtCQUFrQixHQW9CaEJ2QyxLQUFLLENBcEJQdUMsa0JBQWtCO01BQ2xCQyxRQUFRLEdBbUJOeEMsS0FBSyxDQW5CUHdDLFFBQVE7TUFDUkMsT0FBTyxHQWtCTHpDLEtBQUssQ0FsQlB5QyxPQUFPO01BQ1BDLE1BQU0sR0FpQkoxQyxLQUFLLENBakJQMEMsTUFBTTtNQUNOQyxhQUFhLEdBZ0JYM0MsS0FBSyxDQWhCUDJDLGFBQWE7TUFDYkMsWUFBWSxHQWVWNUMsS0FBSyxDQWZQNEMsWUFBWTtNQUNaQyxVQUFVLEdBY1I3QyxLQUFLLENBZFA2QyxVQUFVO01BQ1ZDLGlCQUFpQixHQWFmOUMsS0FBSyxDQWJQOEMsaUJBQWlCO01BQ2pCQyxNQUFNLEdBWUovQyxLQUFLLENBWlArQyxNQUFNO01BQ05DLE9BQU8sR0FXTGhELEtBQUssQ0FYUGdELE9BQU87TUFDUEMsUUFBUSxHQVVOakQsS0FBSyxDQVZQaUQsUUFBUTtNQUNSQyxlQUFlLEdBU2JsRCxLQUFLLENBVFBrRCxlQUFlO01BQ2ZDLFFBQVEsR0FRTm5ELEtBQUssQ0FSUG1ELFFBQVE7TUFDUkMsZUFBZSxHQU9icEQsS0FBSyxDQVBQb0QsZUFBZTtNQUNmQyxTQUFTLEdBTVByRCxLQUFLLENBTlBxRCxTQUFTO01BQ1RDLE9BQU8sR0FLTHRELEtBQUssQ0FMUHNELE9BQU87TUFDUEMsY0FBYyxHQUladkQsS0FBSyxDQUpQdUQsY0FBYztNQUNkQyxlQUFlLEdBR2J4RCxLQUFLLENBSFB3RCxlQUFlO01BQ2ZDLE9BQU8sR0FFTHpELEtBQUssQ0FGUHlELE9BQU87TUFDUEMsS0FBSyxHQUNIMUQsS0FBSyxDQURQMEQsS0FBSztJQUVQLElBQU9DLGVBQWUsR0FBa0NKLGNBQWMsQ0FBL0RJLGVBQWU7TUFBRUMsV0FBVyxHQUFxQkwsY0FBYyxDQUE5Q0ssV0FBVztNQUFFQyxlQUFlLEdBQUlOLGNBQWMsQ0FBakNNLGVBQWU7SUFDcEQsSUFBT0MsZUFBZSxHQUFJUixPQUFPLENBQTFCUSxlQUFlO0lBQ3RCLElBQU9DLFVBQVUsR0FBd0NQLGVBQWUsQ0FBakVPLFVBQVU7TUFBRUMsZ0JBQWdCLEdBQXNCUixlQUFlLENBQXJEUSxnQkFBZ0I7TUFBRUMsZ0JBQWdCLEdBQUlULGVBQWUsQ0FBbkNTLGdCQUFnQjtJQUNyRCxJQUFPQyxRQUFRLEdBQWdCM0Isa0JBQWtCLENBQTFDMkIsUUFBUTtNQUFFQyxVQUFVLEdBQUk1QixrQkFBa0IsQ0FBaEM0QixVQUFVO0lBRTNCLElBQU9DLEtBQUssR0FBSXBCLE9BQU8sQ0FBaEJvQixLQUFLO0lBRVosSUFBTUMsTUFBTSxHQUFHQyxPQUFPLENBQUNSLGVBQWUsQ0FBQztJQUV2QyxJQUFNUyxjQUFjLEdBQUcsSUFBQUMsa0JBQVcsRUFBQztNQUFBLE9BQU1YLGVBQWUsQ0FBQ0MsZUFBZSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFBQSxHQUFFLENBQ3hGQSxlQUFlLEVBQ2ZELGVBQWUsQ0FDaEIsQ0FBQztJQUVGLElBQU1ZLGtCQUFrQixHQUFHLElBQUFELGtCQUFXLEVBQUM7TUFBQSxPQUFNWixXQUFXLENBQUNjLGdDQUFlLENBQUM7SUFBQSxHQUFFLENBQUNkLFdBQVcsQ0FBQyxDQUFDO0lBQ3pGLElBQU1lLGlCQUFpQixHQUFHLElBQUFILGtCQUFXLEVBQUM7TUFBQSxPQUFNWixXQUFXLENBQUNnQiwrQkFBYyxDQUFDO0lBQUEsR0FBRSxDQUFDaEIsV0FBVyxDQUFDLENBQUM7SUFDdkYsSUFBTWlCLGdCQUFnQixHQUFHLElBQUFMLGtCQUFXLEVBQUM7TUFBQSxPQUFNWixXQUFXLENBQUNrQiw4QkFBYSxDQUFDO0lBQUEsR0FBRSxDQUFDbEIsV0FBVyxDQUFDLENBQUM7SUFDckYsSUFBTW1CLG9CQUFvQixHQUFHLElBQUFQLGtCQUFXLEVBQ3RDO01BQUEsT0FBTVosV0FBVyxDQUFDWCxRQUFRLEdBQUcrQixpQ0FBZ0IsR0FBR0MsNEJBQVcsQ0FBQztJQUFBLEdBQzVELENBQUNoQyxRQUFRLEVBQUVXLFdBQVcsQ0FDeEIsQ0FBQztJQUNELElBQU1zQixzQkFBc0IsR0FBRyxJQUFBVixrQkFBVyxFQUFDLFlBQU07TUFDL0NULFVBQVUsQ0FBQztRQUNUSyxLQUFLLEtBQUFlLE1BQUEsQ0FBS2YsS0FBSyxJQUFJLFdBQVc7TUFDaEMsQ0FBQyxDQUFDO01BRUZSLFdBQVcsQ0FBQ3FCLDRCQUFXLENBQUM7SUFDMUIsQ0FBQyxFQUFFLENBQUNiLEtBQUssRUFBRUwsVUFBVSxFQUFFSCxXQUFXLENBQUMsQ0FBQztJQUNwQyxJQUFNd0IsZUFBZSxHQUFHLElBQUFaLGtCQUFXLEVBQUM7TUFBQSxPQUFNWixXQUFXLENBQUN5Qiw2QkFBWSxDQUFDO0lBQUEsR0FBRSxDQUFDekIsV0FBVyxDQUFDLENBQUM7SUFDbkYsSUFBTTBCLGtCQUFrQixHQUFHLElBQUFkLGtCQUFXLEVBQUMsVUFBQWUsTUFBTTtNQUFBLE9BQUl2QixnQkFBZ0IsQ0FBQ3VCLE1BQU0sQ0FBQztJQUFBLEdBQUUsQ0FBQ3ZCLGdCQUFnQixDQUFDLENBQUM7SUFDOUYsSUFBTXdCLGtCQUFrQixHQUFHLElBQUFoQixrQkFBVyxFQUNwQyxVQUFDZSxNQUFNLEVBQUVFLFFBQVE7TUFBQSxPQUFLeEIsZ0JBQWdCLENBQUNzQixNQUFNLEVBQUVFLFFBQVEsQ0FBQztJQUFBLEdBQ3hELENBQUN4QixnQkFBZ0IsQ0FDbkIsQ0FBQztJQUNELElBQU15QixrQkFBa0IsR0FBRyxJQUFBbEIsa0JBQVcsRUFBQztNQUFBLE9BQU1aLFdBQVcsQ0FBQytCLDRCQUFXLENBQUM7SUFBQSxHQUFFLENBQUMvQixXQUFXLENBQUMsQ0FBQztJQUNyRixJQUFNZ0Msc0JBQXNCLEdBQUcsSUFBQXBCLGtCQUFXLEVBQUM7TUFBQSxPQUFNWixXQUFXLENBQUNpQyxpQ0FBZ0IsQ0FBQztJQUFBLEdBQUUsQ0FBQ2pDLFdBQVcsQ0FBQyxDQUFDO0lBQzlGLElBQU1rQyxlQUFlLEdBQUcsSUFBQXRCLGtCQUFXLEVBQUMsVUFBQWUsTUFBTTtNQUFBLE9BQUk1QixlQUFlLENBQUM0QixNQUFNLENBQUM7SUFBQSxHQUFFLENBQUM1QixlQUFlLENBQUMsQ0FBQztJQUN6RixJQUFNb0MsZUFBZSxHQUFHLElBQUFDLGNBQU8sRUFBQztNQUFBLE9BQU83QixVQUFVLEdBQUdZLG9CQUFvQixHQUFHLElBQUk7SUFBQSxDQUFDLEVBQUUsQ0FDaEZaLFVBQVUsRUFDVlksb0JBQW9CLENBQ3JCLENBQUM7SUFDRixJQUFNa0IsaUJBQWlCLEdBQUcsSUFBQUQsY0FBTyxFQUMvQjtNQUFBLE9BQU83QixVQUFVLElBQUlsQixRQUFRLEdBQUdpQyxzQkFBc0IsR0FBRyxJQUFJO0lBQUEsQ0FBQyxFQUM5RCxDQUFDZixVQUFVLEVBQUVsQixRQUFRLEVBQUVpQyxzQkFBc0IsQ0FDL0MsQ0FBQztJQUNELElBQU1nQixZQUFZLEdBQUcsSUFBQUYsY0FBTyxFQUFDO01BQUEsT0FBTWpELE1BQU0sQ0FBQ29ELElBQUksQ0FBQyxVQUFBQyxJQUFBO1FBQUEsSUFBRWxFLEVBQUUsR0FBQWtFLElBQUEsQ0FBRmxFLEVBQUU7UUFBQSxPQUFNQSxFQUFFLEtBQUs0QixlQUFlO01BQUEsRUFBQztJQUFBLEdBQUUsQ0FDaEZBLGVBQWUsRUFDZmYsTUFBTSxDQUNQLENBQUM7SUFDRixJQUFNc0QsVUFBVSxHQUFHLElBQUFMLGNBQU8sRUFBQztNQUFBLE9BQU85QixRQUFRLEdBQUdrQixlQUFlLEdBQUcsSUFBSTtJQUFBLENBQUMsRUFBRSxDQUNwRWxCLFFBQVEsRUFDUmtCLGVBQWUsQ0FDaEIsQ0FBQztJQUNGLElBQU1rQixnQkFBZ0IsR0FBRyxJQUFBTixjQUFPLEVBQUM7TUFBQSxPQUFNN0QsbUJBQW1CLENBQUNuQyxLQUFLLENBQUM7SUFBQSxHQUFFLENBQUNBLEtBQUssQ0FBQyxDQUFDO0lBRTNFLElBQU11RyxjQUFjLEdBQUdMLFlBQVksYUFBWkEsWUFBWSx1QkFBWkEsWUFBWSxDQUFFakUsU0FBUztJQUU5QyxvQkFDRTVGLE1BQUEsWUFBQW1LLGFBQUEsQ0FBQ3RGLE9BQU87TUFBQ3dDLEtBQUssRUFBRUEsS0FBTTtNQUFDVyxNQUFNLEVBQUVBLE1BQU87TUFBQ29DLGFBQWEsRUFBRSxDQUFFO01BQUNDLGFBQWEsRUFBRW5DO0lBQWUsZ0JBQ3JGbEksTUFBQSxZQUFBbUssYUFBQSxDQUFDckYsV0FBVztNQUNWa0IsT0FBTyxFQUFFQSxPQUFRO01BQ2pCb0IsT0FBTyxFQUFFQSxPQUFRO01BQ2pCbkIsVUFBVSxFQUFFQSxVQUFXO01BQ3ZCcUUsZUFBZSxFQUFFckQsT0FBTyxDQUFDcUQsZUFBZ0I7TUFDekNDLGtCQUFrQixFQUFFckQsY0FBYyxDQUFDcUQsa0JBQW1CO01BQ3REQyxrQkFBa0IsRUFBRXRELGNBQWMsQ0FBQ3NELGtCQUFtQjtNQUN0REMsYUFBYSxFQUFFckMsa0JBQW1CO01BQ2xDc0MsWUFBWSxFQUFFcEMsaUJBQWtCO01BQ2hDcUMsV0FBVyxFQUFFbkMsZ0JBQWlCO01BQzlCeEIsU0FBUyxFQUFFQSxTQUFVO01BQ3JCMEMsZUFBZSxFQUFFQSxlQUFnQjtNQUNqQ0UsaUJBQWlCLEVBQUVBLGlCQUFrQjtNQUNyQ0ksVUFBVSxFQUFFQTtJQUFXLENBQ3hCLENBQUMsZUFHRmhLLE1BQUEsWUFBQW1LLGFBQUEsQ0FBQ3BGLFdBQVc7TUFDVjJCLE1BQU0sRUFBRUEsTUFBTztNQUNma0UsV0FBVyxFQUFFbkQsZUFBZ0I7TUFDN0JvRCxXQUFXLEVBQUUzRCxjQUFjLENBQUNNO0lBQWdCLENBQzdDLENBQUMsZUFDRnhILE1BQUEsWUFBQW1LLGFBQUEsQ0FBQzdHLHNCQUFzQjtNQUFDVyxTQUFTLEVBQUM7SUFBcUIsZ0JBQ3JEakUsTUFBQSxZQUFBbUssYUFBQTtNQUFLbEcsU0FBUyxFQUFDO0lBQTRCLEdBQ3hDLENBQUE0RixZQUFZLGFBQVpBLFlBQVksdUJBQVpBLFlBQVksQ0FBRWhFLEVBQUUsTUFBSyxPQUFPLGdCQUMzQjdGLE1BQUEsWUFBQW1LLGFBQUEsQ0FBQ25GLFVBQVUscUJBQ1RoRixNQUFBLFlBQUFtSyxhQUFBLENBQUNoSyxhQUFBLENBQUEySyxnQkFBZ0I7TUFBQ2pGLEVBQUUsRUFBRWdFLFlBQVksYUFBWkEsWUFBWSx1QkFBWkEsWUFBWSxDQUFFa0I7SUFBTSxDQUFFLENBQ2xDLENBQUMsR0FDWCxJQUFJLEVBQ1BiLGNBQWMsZ0JBQ2JsSyxNQUFBLFlBQUFtSyxhQUFBLENBQUFuSyxNQUFBLFlBQUFnTCxRQUFBLHFCQUNFaEwsTUFBQSxZQUFBbUssYUFBQSxDQUFDRCxjQUFjO01BQ2IvRCxRQUFRLEVBQUVBLFFBQVM7TUFDbkJDLE9BQU8sRUFBRUEsT0FBUTtNQUNqQkMsTUFBTSxFQUFFQSxNQUFPO01BQ2ZFLFlBQVksRUFBRUEsWUFBYTtNQUMzQkMsVUFBVSxFQUFFQSxVQUFXO01BQ3ZCRixhQUFhLEVBQUVBLGFBQWM7TUFDN0JRLFFBQVEsRUFBRUEsUUFBUztNQUNuQkMsZUFBZSxFQUFFQSxlQUFnQjtNQUNqQ0YsZUFBZSxFQUFFQSxlQUFnQjtNQUNqQ0osaUJBQWlCLEVBQUVBLGlCQUFrQjtNQUNyQ3dFLGFBQWEsRUFBRXhCLGVBQWdCO01BQy9COUIsZ0JBQWdCLEVBQUVzQixrQkFBbUI7TUFDckNyQixnQkFBZ0IsRUFBRXVCLGtCQUFtQjtNQUNyQytCLGdCQUFnQixFQUFFN0Isa0JBQW1CO01BQ3JDOEIsb0JBQW9CLEVBQUU1QixzQkFBdUI7TUFDN0NyQyxjQUFjLEVBQUVBLGNBQWU7TUFDL0JDLGVBQWUsRUFBRUEsZUFBZ0I7TUFDakNpRSxhQUFhLEVBQUV2QixZQUFhO01BQzVCd0Isa0JBQWtCLEVBQUUsQ0FBQXhCLFlBQVksYUFBWkEsWUFBWSx1QkFBWkEsWUFBWSxDQUFFaEUsRUFBRSxNQUFLLE9BQU8sSUFBSW9CLE9BQU8sQ0FBQ29FO0lBQW1CLENBQ2hGLENBQUMsZUFDRnJMLE1BQUEsWUFBQW1LLGFBQUEsQ0FBQ3BHLHFCQUFxQixNQUFFLENBQ3hCLENBQUMsR0FDRCxJQUFJLGVBQ1IvRCxNQUFBLFlBQUFtSyxhQUFBLENBQUM5RSxZQUFZLE1BQUFpRyxTQUFBLGlCQUFLckIsZ0JBQWdCO01BQUV4QyxlQUFlLEVBQUVBO0lBQWdCLEVBQUUsQ0FDcEUsQ0FDaUIsQ0FDakIsQ0FBQztFQUVkLENBQUM7RUFFRDFCLFNBQVMsQ0FBQ3dGLFlBQVksR0FBRztJQUN2QjdFLE1BQU0sRUFBRWhCLFVBQVU7SUFDbEI4RixpQkFBaUIsRUFBRWxHLGtCQUFrQjtJQUNyQzJCLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDWEUsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUNuQkosZUFBZSxFQUFFLENBQUMsQ0FBQztJQUNuQkcsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNsQmhCLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUN0QlMsT0FBTyxFQUFFLENBQUM7RUFDWixDQUFDO0VBRUQsT0FBT1osU0FBUztBQUNsQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -116,7 +116,7 @@ var KEPLER_GL_NAME = exports.KEPLER_GL_NAME = 'kepler.gl';
116
116
  // Since we are injecting this during the build process with babel
117
117
  // while developing VERSION is not defined, we capture the exception and return
118
118
  // an empty string which will allow us to retrieve the latest umd version
119
- var KEPLER_GL_VERSION = exports.KEPLER_GL_VERSION = "0.1.0";
119
+ var KEPLER_GL_VERSION = exports.KEPLER_GL_VERSION = "0.0.83-alpha.0";
120
120
  var KEPLER_GL_WEBSITE = exports.KEPLER_GL_WEBSITE = 'http://kepler.gl/';
121
121
  var DIMENSIONS = exports.DIMENSIONS = {
122
122
  sidePanel: {
@@ -829,4 +829,4 @@ var ZOOM_LEVEL_LIMITS = exports.ZOOM_LEVEL_LIMITS = {
829
829
  min: 0,
830
830
  max: 21
831
831
  };
832
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfa2V5bWlycm9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3RNYXBHbERyYXciLCJfZDNTY2FsZSIsIl9pY29ucyIsIl91dGlscyIsIl9jdXN0b21TY2FsZXMiLCJfdG9vbHRpcCIsIl90eXBlcyIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiQUNUSU9OX1BSRUZJWCIsImV4cG9ydHMiLCJDTE9VREZST05UIiwiSUNPTl9QUkVGSVgiLCJjb25jYXQiLCJERUZBVUxUX01BUEJPWF9BUElfVVJMIiwiREFUQV9UQUJMRV9JRCIsIkRFTEVURV9EQVRBX0lEIiwiQUREX0RBVEFfSUQiLCJFWFBPUlRfSU1BR0VfSUQiLCJFWFBPUlRfREFUQV9JRCIsIkFERF9NQVBfU1RZTEVfSUQiLCJFWFBPUlRfTUFQX0lEIiwiU0FWRV9NQVBfSUQiLCJPVkVSV1JJVEVfTUFQX0lEIiwiU0hBUkVfTUFQX0lEIiwiS0VQTEVSX0dMX05BTUUiLCJLRVBMRVJfR0xfVkVSU0lPTiIsIktFUExFUl9HTF9XRUJTSVRFIiwiRElNRU5TSU9OUyIsInNpZGVQYW5lbCIsIndpZHRoIiwibWFyZ2luIiwidG9wIiwibGVmdCIsImJvdHRvbSIsInJpZ2h0IiwiaGVhZGVySGVpZ2h0IiwibWFwQ29udHJvbCIsInBhZGRpbmciLCJtYXBMZWdlbmQiLCJwaW5uZWQiLCJUSEVNRSIsImtleU1pcnJvciIsImxpZ2h0IiwiZGFyayIsImJhc2UiLCJTSURFQkFSX1BBTkVMUyIsImlkIiwibGFiZWwiLCJpY29uQ29tcG9uZW50IiwiTGF5ZXJzIiwib25DbGljayIsIkZpbHRlckZ1bm5lbCIsIkN1cnNvckNsaWNrIiwiU2V0dGluZ3MiLCJQQU5FTFMiLCJERUZBVUxUX0xBWUVSX0dST1VQUyIsInNsdWciLCJfcmVmIiwibWF0Y2giLCJkZWZhdWx0VmlzaWJpbGl0eSIsIl9yZWYyIiwiX3JlZjMiLCJfcmVmNCIsIl9yZWY1IiwiX3JlZjYiLCJERUZBVUxUX01BUF9TVFlMRVMiLCJ1cmwiLCJpY29uIiwibGF5ZXJHcm91cHMiLCJHRU9KU09OX0ZJRUxEUyIsImdlb2pzb24iLCJJQ09OX0ZJRUxEUyIsIlRSSVBfUE9JTlRfRklFTERTIiwiVFJJUF9BUkNfRklFTERTIiwibGF0MCIsImxuZzAiLCJsYXQxIiwibG5nMSIsIkZJTFRFUl9UWVBFUyIsInJhbmdlIiwic2VsZWN0IiwiaW5wdXQiLCJ0aW1lUmFuZ2UiLCJtdWx0aVNlbGVjdCIsInBvbHlnb24iLCJTQ0FMRV9UWVBFUyIsIm9yZGluYWwiLCJxdWFudGlsZSIsInF1YW50aXplIiwibGluZWFyIiwic3FydCIsImxvZyIsInBvaW50IiwiY3VzdG9tIiwibG9nYXJpdGhtaWMiLCJpZGVudGl0eSIsIlNDQUxFX0ZVTkMiLCJzY2FsZUxpbmVhciIsInNjYWxlUXVhbnRpemUiLCJzY2FsZVF1YW50aWxlIiwic2NhbGVPcmRpbmFsIiwic2NhbGVTcXJ0Iiwic2NhbGVMb2ciLCJzY2FsZVBvaW50Iiwic2NhbGVUaHJlc2hvbGQiLCJzY2FsZUlkZW50aXR5IiwiQUxMX0ZJRUxEX1RZUEVTIiwiZGF0ZSIsImludGVnZXIiLCJyZWFsIiwic3RyaW5nIiwidGltZXN0YW1wIiwiU09SVF9PUkRFUiIsIkFTQ0VORElORyIsIkRFU0NFTkRJTkciLCJVTlNPUlQiLCJUQUJMRV9PUFRJT04iLCJTT1JUX0FTQyIsIlNPUlRfREVTIiwiUElOIiwiVU5QSU4iLCJDT1BZIiwiVEFCTEVfT1BUSU9OX0xJU1QiLCJ2YWx1ZSIsImRpc3BsYXkiLCJBcnJvd1VwIiwiY29uZGl0aW9uIiwicHJvcHMiLCJzb3J0TW9kZSIsIkFycm93RG93biIsIkNhbmNlbCIsImlzU29ydGVkIiwiUGluIiwiaXNQaW5uZWQiLCJDbGlwYm9hcmQiLCJPUkFOR0UiLCJQSU5LIiwiUFVSUExFIiwiQkxVRSIsIkJMVUUyIiwiQkxVRTMiLCJHUkVFTiIsIlJFRCIsIkZJTEVEX1RZUEVfRElTUExBWSIsImNvbG9yIiwiRklFTERfQ09MT1JTIiwiSElHSExJR0hfQ09MT1JfM0QiLCJDSEFOTkVMX1NDQUxFUyIsInJhZGl1cyIsInNpemUiLCJjdXN0b21NYXJrZXIiLCJjb2xvckFnZ3IiLCJzaXplQWdnciIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiY291bnQiLCJhdmVyYWdlIiwibWF4aW11bSIsIm1pbmltdW0iLCJtZWRpYW4iLCJzdGRldiIsInN1bSIsInZhcmlhbmNlIiwibW9kZSIsImNvdW50VW5pcXVlIiwiYW55VmFsdWUiLCJGSUVMRF9UWVBFU19BR0dSRUdBVE9SUyIsIkZJRUxEX0FHR1JFR0FUT1JTIiwiZGlzcGxheU5hbWUiLCJsaW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zIiwibGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJvcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyIsIm9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyIsIm5vdFN1cHBvcnRlZFNjYWxlT3B0cyIsIm5vdFN1cHBvcnRBZ2dyT3B0cyIsIkRFRkFVTFRfQUdHUkVHQVRJT04iLCJGSUVMRF9PUFRTIiwidHlwZSIsInNjYWxlIiwiZm9ybWF0IiwibGVnZW5kIiwiZCIsInRvb2x0aXAiLCJUT09MVElQX0ZPUk1BVF9UWVBFUyIsIk5PTkUiLCJERUNJTUFMIiwiUEVSQ0VOVEFHRSIsIkRBVEUiLCJEQVRFX1RJTUUiLCJCT09MRUFOIiwiQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTIiwicmVkdWNlIiwiYWNjdSIsImtleSIsImZ0IiwiREVGQVVMVF9MQVlFUl9DT0xPUiIsInRyaXBBcmMiLCJiZWdpbnRyaXBfbGF0IiwiZHJvcG9mZl9sYXQiLCJyZXF1ZXN0X2xhdCIsIkRFRkFVTFRfVE9PTFRJUF9GSUVMRFMiLCJOT19WQUxVRV9DT0xPUiIsIlVOS05PV05fQ09MT1IiLCJMQVlFUl9CTEVORElOR1MiLCJhZGRpdGl2ZSIsImJsZW5kRnVuYyIsImJsZW5kRXF1YXRpb24iLCJub3JtYWwiLCJzdWJ0cmFjdGl2ZSIsIk1BWF9ERUZBVUxUX1RPT0xUSVBTIiwiUkVTT0xVVElPTlMiLCJPTkVfWCIsIlRXT19YIiwiRVhQT1JUX0lNR19SQVRJT1MiLCJTQ1JFRU4iLCJGT1VSX0JZX1RIUkVFIiwiU0lYVEVFTl9CWV9OSU5FIiwiQ1VTVE9NIiwiU2NyZWVuUmF0aW9PcHRpb24iLCJnZXRTaXplIiwic2NyZWVuVyIsInNjcmVlbkgiLCJoZWlnaHQiLCJDdXN0b21SYXRpb09wdGlvbiIsImhpZGRlbiIsIm1hcFciLCJtYXBIIiwiRm91ckJ5VGhyZWVSYXRpb09wdGlvbiIsIk1hdGgiLCJyb3VuZCIsIlNpeHRlZW5CeU5pbmVSYXRpb09wdGlvbiIsIkVYUE9SVF9JTUdfUkFUSU9fT1BUSU9OUyIsIk9uZVhSZXNvbHV0aW9uT3B0aW9uIiwiYXZhaWxhYmxlIiwiVHdvWFJlc29sdXRpb25PcHRpb24iLCJFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUyIsIkVYUE9SVF9EQVRBX1RZUEUiLCJDU1YiLCJFWFBPUlRfREFUQV9UWVBFX09QVElPTlMiLCJ0b0xvd2VyQ2FzZSIsIkVYUE9SVF9NQVBfRk9STUFUUyIsIkhUTUwiLCJKU09OIiwiRVhQT1JUX0hUTUxfTUFQX01PREVTIiwiUkVBRCIsIkVESVQiLCJFWFBPUlRfTUFQX0ZPUk1BVF9PUFRJT05TIiwiZW50cmllcyIsIm1hcCIsImVudHJ5IiwiRVhQT1JUX0hUTUxfTUFQX01PREVfT1BUSU9OUyIsImdldEhUTUxNYXBNb2RlVGlsZVVybCIsIkRFRkFVTFRfVVVJRF9DT1VOVCIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX01FU1NBR0UiLCJERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUyIsImluZm8iLCJlcnJvciIsIndhcm5pbmciLCJzdWNjZXNzIiwiREVGQVVMVF9OT1RJRklDQVRJT05fVE9QSUNTIiwiZ2xvYmFsIiwiZmlsZSIsIlRIUk9UVExFX05PVElGSUNBVElPTl9USU1FIiwiQkFTRV9TUEVFRCIsIkZQUyIsIkFOSU1BVElPTl9XSU5ET1ciLCJmcmVlIiwiaW5jcmVtZW50YWwiLCJpbnRlcnZhbCIsIkRFRkFVTFRfVElNRV9GT1JNQVQiLCJTUEVFRF9DT05UUk9MX1JBTkdFIiwiU1BFRURfQ09OVFJPTF9TVEVQIiwiR0VPQ09ERVJfREFUQVNFVF9OQU1FIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJHRU9DT0RFUl9HRU9fT0ZGU0VUIiwiR0VPQ09ERVJfSUNPTl9DT0xPUiIsIkdFT0NPREVSX0lDT05fU0laRSIsIkVESVRPUl9NT0RFUyIsIlJFQURfT05MWSIsIkVkaXRvck1vZGVzIiwiRFJBV19QT0xZR09OIiwiRFJBV19SRUNUQU5HTEUiLCJFRElUX1ZFUlRFWCIsIkVESVRPUl9BVkFJTEFCTEVfTEFZRVJTIiwiTEFZRVJfVFlQRVMiLCJoZXhhZ29uIiwiYXJjIiwibGluZSIsImhleGFnb25JZCIsIk1BWF9HUFVfRklMVEVSUyIsIk1BUF9USFVNQk5BSUxfRElNRU5TSU9OIiwiTUFQX0lORk9fQ0hBUkFDVEVSIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIkxPQURJTkdfTUVUSE9EUyIsInVwbG9hZCIsInN0b3JhZ2UiLCJEQVRBU0VUX0ZPUk1BVFMiLCJyb3ciLCJjc3YiLCJrZXBsZXJnbCIsIk1BUF9DT05UUk9MUyIsInZpc2libGVMYXllcnMiLCJ0b2dnbGUzZCIsInNwbGl0TWFwIiwibWFwRHJhdyIsIm1hcExvY2FsZSIsIk1BU0tfTEFZRVJfSUQiLCJaT09NX0xFVkVMX0xJTUlUUyIsIm1pbiIsIm1heCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQga2V5TWlycm9yIGZyb20gJ2tleW1pcnJvcic7XG5pbXBvcnQge0VkaXRvck1vZGVzfSBmcm9tICdyZWFjdC1tYXAtZ2wtZHJhdyc7XG5cbmltcG9ydCB7Q29sb3J9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtcbiAgc2NhbGVMaW5lYXIsXG4gIHNjYWxlUXVhbnRpemUsXG4gIHNjYWxlUXVhbnRpbGUsXG4gIHNjYWxlT3JkaW5hbCxcbiAgc2NhbGVTcXJ0LFxuICBzY2FsZUxvZyxcbiAgc2NhbGVQb2ludCxcbiAgc2NhbGVUaHJlc2hvbGRcbn0gZnJvbSAnZDMtc2NhbGUnO1xuaW1wb3J0IHtcbiAgTGF5ZXJzLFxuICBGaWx0ZXJGdW5uZWwsXG4gIFNldHRpbmdzLFxuICBDdXJzb3JDbGljayxcbiAgUGluLFxuICBBcnJvd0Rvd24sXG4gIEFycm93VXAsXG4gIENsaXBib2FyZCxcbiAgQ2FuY2VsXG59IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2ljb25zJztcbmltcG9ydCB7Z2V0SFRNTE1hcE1vZGVUaWxlVXJsfSBmcm9tICd1dGlscy91dGlscyc7XG5pbXBvcnQge3NjYWxlSWRlbnRpdHl9IGZyb20gJ3V0aWxzL2N1c3RvbS1zY2FsZXMnO1xuaW1wb3J0IHtUT09MVElQX0ZPUk1BVF9UWVBFU30gZnJvbSAnLi90b29sdGlwJztcbmltcG9ydCB7TEFZRVJfVFlQRVN9IGZyb20gJ2xheWVycy90eXBlcyc7XG5pbXBvcnQge1JHQkFDb2xvcn0gZnJvbSAncmVkdWNlcnMnO1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX1BSRUZJWCA9ICdAQGtlcGxlci5nbC8nO1xuZXhwb3J0IGNvbnN0IENMT1VERlJPTlQgPSAnaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wnO1xuZXhwb3J0IGNvbnN0IElDT05fUFJFRklYID0gYCR7Q0xPVURGUk9OVH0vZ2VvZHVkZWA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfQVBJX1VSTCA9ICdodHRwczovL2FwaS5tYXBib3guY29tJztcblxuLy8gTW9kYWwgSWRzXG4vKipcbiAqIE1vZGFsIGlkOiBkYXRhIHRhYmxlXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX1RBQkxFX0lEID0gJ2RhdGFUYWJsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBkZWxldGUgZGF0YXNldCBjb25maXJtIGRpYWxvZ1xuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREVMRVRFX0RBVEFfSUQgPSAnZGVsZXRlRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX0RBVEFfSUQgPSAnYWRkRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgaW1hZ2UgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUFHRV9JRCA9ICdleHBvcnRJbWFnZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfSUQgPSAnZXhwb3J0RGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgY3VzdG9tIG1hcCBzdHlsZSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX01BUF9TVFlMRV9JRCA9ICdhZGRNYXBTdHlsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgbWFwIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0lEID0gJ2V4cG9ydE1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzYXZlIG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgU0FWRV9NQVBfSUQgPSAnc2F2ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBjb25maXJtIHRvIG92ZXJ3cml0ZSBzYXZlZCBtYXBcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IE9WRVJXUklURV9NQVBfSUQgPSAnb3ZlcndyaXRlTWFwJztcbi8qKlxuICogTW9kYWwgaWQ6IHNoYXJlIG1hcCB1cmwgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNIQVJFX01BUF9JRCA9ICdzaGFyZU1hcCc7XG5cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfTkFNRSA9ICdrZXBsZXIuZ2wnO1xuXG4vLyBfX1BBQ0tBR0VfVkVSU0lPTl9fIGlzIGF1dG9tYXRpY2FsbHkgaW5qZWN0ZWQgYnkgQmFiZWwvV2VicGFjayBkdXJpbmcgdGhlIGJ1aWxkaW5nIHByb2Nlc3Ncbi8vIFNpbmNlIHdlIGFyZSBpbmplY3RpbmcgdGhpcyBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCBiYWJlbFxuLy8gd2hpbGUgZGV2ZWxvcGluZyBWRVJTSU9OIGlzIG5vdCBkZWZpbmVkLCB3ZSBjYXB0dXJlIHRoZSBleGNlcHRpb24gYW5kIHJldHVyblxuLy8gYW4gZW1wdHkgc3RyaW5nIHdoaWNoIHdpbGwgYWxsb3cgdXMgdG8gcmV0cmlldmUgdGhlIGxhdGVzdCB1bWQgdmVyc2lvblxuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9WRVJTSU9OID0gJ19fUEFDS0FHRV9WRVJTSU9OX18nO1xuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9XRUJTSVRFID0gJ2h0dHA6Ly9rZXBsZXIuZ2wvJztcblxuZXhwb3J0IGNvbnN0IERJTUVOU0lPTlMgPSB7XG4gIHNpZGVQYW5lbDoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgbWFyZ2luOiB7dG9wOiAyMCwgbGVmdDogMjAsIGJvdHRvbTogMzAsIHJpZ2h0OiAyMH0sXG4gICAgaGVhZGVySGVpZ2h0OiA5NlxuICB9LFxuICBtYXBDb250cm9sOiB7XG4gICAgd2lkdGg6IDE4NCxcbiAgICBwYWRkaW5nOiAxMixcbiAgICBtYXBMZWdlbmQ6IHtcbiAgICAgIHBpbm5lZDoge1xuICAgICAgICBib3R0b206IDIyLFxuICAgICAgICByaWdodDogMTJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogVGhlbWUgbmFtZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gYEtlcGxlckdsYCBgcHJvcC50aGVtZWAuXG4gKiBBdmFpbGFibGUgdGhlbWVzIGFyZSBgVEhFTUUubGlnaHRgIGFuZCBgVEhFTUUuZGFya2AuIERlZmF1bHQgdGhlbWUgaXMgYFRIRU1FLmRhcmtgXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtvYmplY3R9XG4gKiBAcHVibGljXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIGNvbnN0IE1hcCA9ICgpID0+IDxLZXBsZXJHbCB0aGVtZT17VEhFTUUubGlnaHR9IGlkPVwibWFwXCIvPlxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBUSEVNRSA9IGtleU1pcnJvcih7XG4gIGxpZ2h0OiBudWxsLFxuICBkYXJrOiBudWxsLFxuICBiYXNlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNJREVCQVJfUEFORUxTID0gW1xuICB7XG4gICAgaWQ6ICdsYXllcicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5sYXllcicsXG4gICAgaWNvbkNvbXBvbmVudDogTGF5ZXJzLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnZmlsdGVyJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmZpbHRlcicsXG4gICAgaWNvbkNvbXBvbmVudDogRmlsdGVyRnVubmVsLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnaW50ZXJhY3Rpb24nLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMuaW50ZXJhY3Rpb24nLFxuICAgIGljb25Db21wb25lbnQ6IEN1cnNvckNsaWNrLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnbWFwJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmJhc2VtYXAnLFxuICAgIGljb25Db21wb25lbnQ6IFNldHRpbmdzLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfVxuXTtcblxuLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuZXhwb3J0IGNvbnN0IFBBTkVMUyA9IFNJREVCQVJfUEFORUxTO1xuXG4vLyBNQVAgU1RZTEVTXG5cbnR5cGUgREVGQVVMVF9MQVlFUl9HUk9VUCA9IHtcbiAgc2x1Zzogc3RyaW5nO1xuICBmaWx0ZXI6ICh2YWx1ZSkgPT4gYm9vbGVhbjtcbiAgZGVmYXVsdFZpc2liaWxpdHk6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9HUk9VUFM6IERFRkFVTFRfTEFZRVJfR1JPVVBbXSA9IFtcbiAge1xuICAgIHNsdWc6ICdsYWJlbCcsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PShsYWJlbHxwbGFjZS18cG9pLSkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdyb2FkJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHJvYWR8cmFpbHdheXx0dW5uZWx8c3RyZWV0fGJyaWRnZSkpKD8hLipsYWJlbCkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2JvcmRlcicsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goL2JvcmRlcnxib3VuZGFyaWVzLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnYnVpbGRpbmcnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC9idWlsZGluZy8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnd2F0ZXInLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0od2F0ZXJ8c3RyZWFtfGZlcnJ5KSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2xhbmQnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0ocGFya3N8bGFuZGNvdmVyfGluZHVzdHJpYWx8c2FuZHxoaWxsc2hhZGUpKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnM2QgYnVpbGRpbmcnLFxuICAgIGZpbHRlcjogKCkgPT4gZmFsc2UsXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUF9TVFlMRVMgPSBbXG4gIHtcbiAgICBpZDogJ2RhcmsnLFxuICAgIGxhYmVsOiAnRGFyaycsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2Nqb3FiYmY2bDlrMzAyc2w5NnR5dmthMDknLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX0RBUktfVjIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFNcbiAgfSxcbiAge1xuICAgIGlkOiAnbGlnaHQnLFxuICAgIGxhYmVsOiAnTGlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jam9xYjlqMzM5azFmMnNsOXQ1aWM1Ym40JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9MSUdIVF9WMi5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQU1xuICB9LFxuICB7XG4gICAgaWQ6ICdtdXRlZCcsXG4gICAgbGFiZWw6ICdNdXRlZCBMaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnlsMDNrcDF0dWwyc21mNXYydGJkZDQnLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX01VVEVEX0xJR0hULnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ211dGVkX25pZ2h0JyxcbiAgICBsYWJlbDogJ011dGVkIE5pZ2h0JyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pmeGhsaWttYWoxYjJzb3l6ZXZueXdncycsXG4gICAgaWNvbjogYCR7SUNPTl9QUkVGSVh9L1VCRVJfTVVURURfTklHSFQucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFNcbiAgfSxcbiAge1xuICAgIGlkOiAnc2F0ZWxsaXRlJyxcbiAgICBsYWJlbDogJ1NhdGVsbGl0ZScsXG4gICAgdXJsOiBgbWFwYm94Oi8vc3R5bGVzL21hcGJveC9zYXRlbGxpdGUtdjlgLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX1NBVEVMTElURS5wbmdgXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBHRU9KU09OX0ZJRUxEUyA9IHtcbiAgZ2VvanNvbjogWydfZ2VvanNvbicsICdhbGxfcG9pbnRzJywgJ2dlb2pzb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IElDT05fRklFTERTID0ge1xuICBpY29uOiBbJ2ljb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IFRSSVBfUE9JTlRfRklFTERTOiBbc3RyaW5nLCBzdHJpbmddW10gPSBbXG4gIFsnbGF0JywgJ2xuZyddLFxuICBbJ2xhdCcsICdsb24nXSxcbiAgWydsYXRpdHVkZScsICdsb25naXR1ZGUnXVxuXTtcblxuZXhwb3J0IGNvbnN0IFRSSVBfQVJDX0ZJRUxEUyA9IHtcbiAgbGF0MDogJ2JlZ2ludHJpcCcsXG4gIGxuZzA6ICdiZWdpbnRyaXAnLFxuICBsYXQxOiAnZHJvcG9mZicsXG4gIGxuZzE6ICdkcm9wb2ZmJ1xufTtcblxuZXhwb3J0IGNvbnN0IEZJTFRFUl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIHJhbmdlOiBudWxsLFxuICBzZWxlY3Q6IG51bGwsXG4gIGlucHV0OiBudWxsLFxuICB0aW1lUmFuZ2U6IG51bGwsXG4gIG11bHRpU2VsZWN0OiBudWxsLFxuICBwb2x5Z29uOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNDQUxFX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgb3JkaW5hbDogbnVsbCxcbiAgcXVhbnRpbGU6IG51bGwsXG4gIHF1YW50aXplOiBudWxsLFxuICBsaW5lYXI6IG51bGwsXG4gIHNxcnQ6IG51bGwsXG4gIGxvZzogbnVsbCxcblxuICAvLyBvcmRpbmFsIGRvbWFpbiB0byBsaW5lYXIgcmFuZ2VcbiAgcG9pbnQ6IG51bGwsXG4gIGN1c3RvbTogbnVsbCxcbiAgLy8gVUktb25seSB0eXBlLCByZXNvbHZpbmcgYXMgY3VzdG9tXG4gIGxvZ2FyaXRobWljOiBudWxsLFxuICBpZGVudGl0eTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBTQ0FMRV9GVU5DID0ge1xuICBbU0NBTEVfVFlQRVMubGluZWFyXTogc2NhbGVMaW5lYXIsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGl6ZV06IHNjYWxlUXVhbnRpemUsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGlsZV06IHNjYWxlUXVhbnRpbGUsXG4gIFtTQ0FMRV9UWVBFUy5vcmRpbmFsXTogc2NhbGVPcmRpbmFsLFxuICBbU0NBTEVfVFlQRVMuc3FydF06IHNjYWxlU3FydCxcbiAgW1NDQUxFX1RZUEVTLmxvZ106IHNjYWxlTG9nLFxuICBbU0NBTEVfVFlQRVMucG9pbnRdOiBzY2FsZVBvaW50LFxuICBbU0NBTEVfVFlQRVMuY3VzdG9tXTogc2NhbGVUaHJlc2hvbGQsXG4gIFtTQ0FMRV9UWVBFUy5pZGVudGl0eV06IHNjYWxlSWRlbnRpdHlcbn07XG5cbmV4cG9ydCBjb25zdCBBTExfRklFTERfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBib29sZWFuOiBudWxsLFxuICBkYXRlOiBudWxsLFxuICBnZW9qc29uOiBudWxsLFxuICBpbnRlZ2VyOiBudWxsLFxuICByZWFsOiBudWxsLFxuICBzdHJpbmc6IG51bGwsXG4gIHRpbWVzdGFtcDogbnVsbCxcbiAgcG9pbnQ6IG51bGxcbn0pO1xuXG4vLyBEYXRhIFRhYmxlXG5leHBvcnQgY29uc3QgU09SVF9PUkRFUiA9IGtleU1pcnJvcih7XG4gIEFTQ0VORElORzogbnVsbCxcbiAgREVTQ0VORElORzogbnVsbCxcbiAgVU5TT1JUOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFRBQkxFX09QVElPTiA9IGtleU1pcnJvcih7XG4gIFNPUlRfQVNDOiBudWxsLFxuICBTT1JUX0RFUzogbnVsbCxcbiAgVU5TT1JUOiBudWxsLFxuICBQSU46IG51bGwsXG4gIFVOUElOOiBudWxsLFxuICBDT1BZOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFRBQkxFX09QVElPTl9MSVNUID0gW1xuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5TT1JUX0FTQyxcbiAgICBkaXNwbGF5OiAnU29ydCBBc2NlbmRpbmcnLFxuICAgIGljb246IEFycm93VXAsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5BU0NFTkRJTkdcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9ERVMsXG4gICAgZGlzcGxheTogJ1NvcnQgRGVzY2VuZGluZycsXG4gICAgaWNvbjogQXJyb3dEb3duLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuc29ydE1vZGUgIT09IFNPUlRfT1JERVIuREVTQ0VORElOR1xuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5VTlNPUlQsXG4gICAgZGlzcGxheTogJ1Vuc29ydCBDb2x1bW4nLFxuICAgIGljb246IENhbmNlbCxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLmlzU29ydGVkXG4gIH0sXG4gIHt2YWx1ZTogVEFCTEVfT1BUSU9OLlBJTiwgZGlzcGxheTogJ1BpbiBDb2x1bW4nLCBpY29uOiBQaW4sIGNvbmRpdGlvbjogcHJvcHMgPT4gIXByb3BzLmlzUGlubmVkfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uVU5QSU4sXG4gICAgZGlzcGxheTogJ1VucGluIENvbHVtbicsXG4gICAgaWNvbjogQ2FuY2VsLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuaXNQaW5uZWRcbiAgfSxcbiAge3ZhbHVlOiBUQUJMRV9PUFRJT04uQ09QWSwgZGlzcGxheTogJ0NvcHkgQ29sdW1uJywgaWNvbjogQ2xpcGJvYXJkfVxuXTtcblxuY29uc3QgT1JBTkdFID0gJzI0OCwgMTk0LCAyOCc7XG5jb25zdCBQSU5LID0gJzIzMSwgMTg5LCAxOTQnO1xuY29uc3QgUFVSUExFID0gJzE2MCwgMTA2LCAyMDYnO1xuY29uc3QgQkxVRSA9ICcxNDAsIDIxMCwgMjA1JztcbmNvbnN0IEJMVUUyID0gJzEwNiwgMTYwLCAyMDYnO1xuY29uc3QgQkxVRTMgPSAnMCwgMTcyLCAyMzcnO1xuY29uc3QgR1JFRU4gPSAnMTA2LCAxNjAsIDU2JztcbmNvbnN0IFJFRCA9ICcyMzcsIDg4LCAxMDYnO1xuXG5leHBvcnQgY29uc3QgRklMRURfVFlQRV9ESVNQTEFZID0ge1xuICBbQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW5dOiB7XG4gICAgbGFiZWw6ICdib29sJyxcbiAgICBjb2xvcjogUElOS1xuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmRhdGVdOiB7XG4gICAgbGFiZWw6ICdkYXRlJyxcbiAgICBjb2xvcjogUFVSUExFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZ2VvanNvbl06IHtcbiAgICBsYWJlbDogJ2dlbycsXG4gICAgY29sb3I6IEJMVUUyXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuaW50ZWdlcl06IHtcbiAgICBsYWJlbDogJ251bWJlcicsXG4gICAgY29sb3I6IE9SQU5HRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnJlYWxdOiB7XG4gICAgbGFiZWw6ICdudW1iZXInLFxuICAgIGNvbG9yOiBPUkFOR0VcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5zdHJpbmddOiB7XG4gICAgbGFiZWw6ICdzdHJpbmcnLFxuICAgIGNvbG9yOiBCTFVFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMudGltZXN0YW1wXToge1xuICAgIGxhYmVsOiAndGltZScsXG4gICAgY29sb3I6IEdSRUVOXG4gIH0sXG4gIC8vIGZpZWxkIHBhaXJzXG4gIFtBTExfRklFTERfVFlQRVMucG9pbnRdOiB7XG4gICAgbGFiZWw6ICdwb2ludCcsXG4gICAgY29sb3I6IEJMVUUzXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9DT0xPUlMgPSB7XG4gIGRlZmF1bHQ6IFJFRFxufTtcbmV4cG9ydCBjb25zdCBISUdITElHSF9DT0xPUl8zRDogUkdCQUNvbG9yID0gWzI1NSwgMjU1LCAyNTUsIDYwXTtcbmV4cG9ydCBjb25zdCBDSEFOTkVMX1NDQUxFUyA9IGtleU1pcnJvcih7XG4gIGNvbG9yOiBudWxsLFxuICByYWRpdXM6IG51bGwsXG4gIHNpemU6IG51bGwsXG4gIGN1c3RvbU1hcmtlcjogbnVsbCxcbiAgY29sb3JBZ2dyOiBudWxsLFxuICBzaXplQWdncjogbnVsbCxcbiAgaWRlbnRpdHk6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fVFlQRVM6IHtcbiAgLy8gZGVmYXVsdFxuICBjb3VudDogJ2NvdW50JztcbiAgLy8gbGluZWFyXG4gIGF2ZXJhZ2U6ICdhdmVyYWdlJztcbiAgbWF4aW11bTogJ21heGltdW0nO1xuICBtaW5pbXVtOiAnbWluaW11bSc7XG4gIG1lZGlhbjogJ21lZGlhbic7XG4gIHN0ZGV2OiAnc3RkZXYnO1xuICBzdW06ICdzdW0nO1xuICB2YXJpYW5jZTogJ3ZhcmlhbmNlJztcbiAgLy8gb3JkaW5hbFxuICBtb2RlOiAnbW9kZSc7XG4gIGNvdW50VW5pcXVlOiAnY291bnQgdW5pcXVlJztcbiAgYW55VmFsdWU6ICdhbnlfdmFsdWUnXG59ID0ge1xuICAvLyBkZWZhdWx0XG4gIGNvdW50OiAnY291bnQnLFxuICAvLyBsaW5lYXJcbiAgYXZlcmFnZTogJ2F2ZXJhZ2UnLFxuICBtYXhpbXVtOiAnbWF4aW11bScsXG4gIG1pbmltdW06ICdtaW5pbXVtJyxcbiAgbWVkaWFuOiAnbWVkaWFuJyxcbiAgc3RkZXY6ICdzdGRldicsXG4gIHN1bTogJ3N1bScsXG4gIHZhcmlhbmNlOiAndmFyaWFuY2UnLFxuICAvLyBvcmRpbmFsXG4gIG1vZGU6ICdtb2RlJyxcbiAgY291bnRVbmlxdWU6ICdjb3VudCB1bmlxdWUnLFxuICBhbnlWYWx1ZTogJ2FueV92YWx1ZSdcbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFU19BR0dSRUdBVE9SUyA9IHtcbiAgZGF0ZTogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgaW50ZWdlcjogW1xuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmNvdW50LFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN0ZGV2LFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN1bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZVxuICBdLFxuICByZWFsOiBbXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuY291bnQsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3RkZXYsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3VtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnZhcmlhbmNlXG4gIF0sXG4gIHN0cmluZzogW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGUsIEFHR1JFR0FUSU9OX1RZUEVTLmFueVZhbHVlXSxcbiAgdGltZXN0YW1wOiBudWxsLFxuICBwb2ludDogbnVsbFxufTtcblxuZXhwb3J0IGNvbnN0IEZJRUxEX0FHR1JFR0FUT1JTID0gW1xuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLmNvdW50LFxuICAgIGRpc3BsYXlOYW1lOiAnQ09VTlQnXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBkaXNwbGF5TmFtZTogJ0FWRydcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtLFxuICAgIGRpc3BsYXlOYW1lOiAnTUFYJ1xuICB9LFxuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgZGlzcGxheU5hbWU6ICdNSU4nXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuc3RkZXYsXG4gICAgZGlzcGxheU5hbWU6ICdTVERFVidcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5zdW0sXG4gICAgZGlzcGxheU5hbWU6ICdTVU0nXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMudmFyaWFuY2UsXG4gICAgZGlzcGxheU5hbWU6ICdWQVJJQU5DRSdcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5tb2RlLFxuICAgIGRpc3BsYXlOYW1lOiAnTU9ERSdcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5hbnlWYWx1ZSxcbiAgICBkaXNwbGF5TmFtZTogJ0FOWSBWQUxVRSdcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMuc3FydF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmN1c3RvbU1hcmtlcl06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmlkZW50aXR5XTogW11cbn07XG5cbmV4cG9ydCBjb25zdCBsaW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRdOiBbU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcblxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmNvdW50XTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMucG9pbnRdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtTQ0FMRV9UWVBFUy5wb2ludF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jdXN0b21NYXJrZXJdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5pZGVudGl0eV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgb3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zID0ge1xuICAvLyBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXTogW1NDQUxFX1RZUEVTLm9yZGluYWwsIFNDQUxFX1RZUEVTLmxpbmVhcl0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGVdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmFueVZhbHVlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudFVuaXF1ZV06IFtcbiAgICAgIFNDQUxFX1RZUEVTLnF1YW50aXplLFxuICAgICAgU0NBTEVfVFlQRVMucXVhbnRpbGUsXG4gICAgICBTQ0FMRV9UWVBFUy5jdXN0b21cbiAgICBdXG4gIH0sXG5cbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tb2RlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5hbnlWYWx1ZV06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydGVkU2NhbGVPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuY3VzdG9tTWFya2VyXTogW10sXG4gIFtDSEFOTkVMX1NDQUxFUy5pZGVudGl0eV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydEFnZ3JPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge30sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG4vKipcbiAqIERlZmF1bHQgYWdncmVnYXRpb24gYXJlIGJhc2VkIG9uIG9jdW50XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FHR1JFR0FUSU9OID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuLyoqXG4gKiBEZWZpbmUgd2hhdCB0eXBlIG9mIHNjYWxlIG9wZXJhdGlvbiBpcyBhbGxvd2VkIG9uIGVhY2ggdHlwZSBvZiBmaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IEZJRUxEX09QVFMgPSB7XG4gIHN0cmluZzoge1xuICAgIHR5cGU6ICdjYXRlZ29yaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIHJlYWw6IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLmxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5ERUNJTUFMLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5QRVJDRU5UQUdFXG4gICAgICBdXG4gICAgfVxuICB9LFxuICB0aW1lc3RhbXA6IHtcbiAgICB0eXBlOiAndGltZScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVfVElNRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgaW50ZWdlcjoge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ubGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRFQ0lNQUwsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLlBFUkNFTlRBR0VcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJvb2xlYW46IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkJPT0xFQU5dXG4gICAgfVxuICB9LFxuICBkYXRlOiB7XG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVdXG4gICAgfVxuICB9LFxuICBnZW9qc29uOiB7XG4gICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubm90U3VwcG9ydGVkU2NhbGVPcHRzLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTID0gT2JqZWN0LmtleXMoQ0hBTk5FTF9TQ0FMRVMpLnJlZHVjZShcbiAgKGFjY3UsIGtleSkgPT4gKHtcbiAgICAuLi5hY2N1LFxuICAgIFtrZXldOiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTKS5maWx0ZXIoZnQgPT4gT2JqZWN0LmtleXMoRklFTERfT1BUU1tmdF0uc2NhbGVba2V5XSkubGVuZ3RoKVxuICB9KSxcbiAge31cbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SID0ge1xuICB0cmlwQXJjOiAnIzkyMjZDNicsXG4gIGJlZ2ludHJpcF9sYXQ6ICcjMUU5NkJFJyxcbiAgZHJvcG9mZl9sYXQ6ICcjRkY5OTFGJyxcbiAgcmVxdWVzdF9sYXQ6ICcjNTJBMzUzJ1xufTtcblxuLy8gbGV0IHVzZXIgcGFzcyBpbiBkZWZhdWx0IHRvb2x0aXAgZmllbGRzXG5leHBvcnQgY29uc3QgREVGQVVMVF9UT09MVElQX0ZJRUxEUzogYW55W10gPSBbXTtcblxuZXhwb3J0IGNvbnN0IE5PX1ZBTFVFX0NPTE9SOiBDb2xvciA9IFswLCAwLCAwLCAwXTtcbmV4cG9ydCBjb25zdCBVTktOT1dOX0NPTE9SOiBDb2xvciA9IFsxMzQsIDE0MSwgMTQ1XTtcblxuZXhwb3J0IGNvbnN0IExBWUVSX0JMRU5ESU5HUyA9IHtcbiAgYWRkaXRpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuYWRkaXRpdmUnLFxuICAgIGJsZW5kRnVuYzogWydTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogJ0ZVTkNfQUREJ1xuICB9LFxuICBub3JtYWw6IHtcbiAgICAvLyByZWZlcmVuY2UgdG9cbiAgICAvLyBodHRwczovL2xpbW51LmNvbS93ZWJnbC1ibGVuZGluZy15b3VyZS1wcm9iYWJseS13cm9uZy9cbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcubm9ybWFsJyxcbiAgICBibGVuZEZ1bmM6IFsnU1JDX0FMUEhBJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnLCAnT05FJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiBbJ0ZVTkNfQUREJywgJ0ZVTkNfQUREJ11cbiAgfSxcbiAgc3VidHJhY3RpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuc3VidHJhY3RpdmUnLFxuICAgIGJsZW5kRnVuYzogWydPTkUnLCAnT05FX01JTlVTX0RTVF9DT0xPUicsICdTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogWydGVU5DX1NVQlRSQUNUJywgJ0ZVTkNfQUREJ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IE1BWF9ERUZBVUxUX1RPT0xUSVBTID0gNTtcblxuZXhwb3J0IGNvbnN0IFJFU09MVVRJT05TID0ga2V5TWlycm9yKHtcbiAgT05FX1g6IG51bGwsXG4gIFRXT19YOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUdfUkFUSU9TID0ga2V5TWlycm9yKHtcbiAgU0NSRUVOOiBudWxsLFxuICBGT1VSX0JZX1RIUkVFOiBudWxsLFxuICBTSVhURUVOX0JZX05JTkU6IG51bGwsXG4gIENVU1RPTTogbnVsbFxufSk7XG5cbmV4cG9ydCB0eXBlIEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBrZXlvZiB0eXBlb2YgRVhQT1JUX0lNR19SQVRJT1M7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGhpZGRlbj86IGJvb2xlYW47XG4gIGdldFNpemU6IChzY3JlZW5XOiBudW1iZXIsIHNjcmVlbkg6IG51bWJlcikgPT4ge3dpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTY3JlZW5SYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLlNDUkVFTixcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpb09yaWdpbmFsU2NyZWVuJyxcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7d2lkdGg6IHNjcmVlblcsIGhlaWdodDogc2NyZWVuSH0pXG59O1xuZXhwb3J0IGNvbnN0IEN1c3RvbVJhdGlvT3B0aW9uOiBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDogRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NLFxuICBoaWRkZW46IHRydWUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9DdXN0b20nLFxuICBnZXRTaXplOiAobWFwVywgbWFwSCkgPT4gKHt3aWR0aDogbWFwVywgaGVpZ2h0OiBtYXBIfSlcbn07XG5leHBvcnQgY29uc3QgRm91ckJ5VGhyZWVSYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLkZPVVJfQllfVEhSRUUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW80XzMnLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyxcbiAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNzUpXG4gIH0pXG59O1xuZXhwb3J0IGNvbnN0IFNpeHRlZW5CeU5pbmVSYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLlNJWFRFRU5fQllfTklORSxcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpbzE2XzknLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyxcbiAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNTYyNSlcbiAgfSlcbn07XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JBVElPX09QVElPTlM6IFJlYWRvbmx5QXJyYXk8SW1hZ2VSYXRpb09wdGlvbj4gPSBbXG4gIFNjcmVlblJhdGlvT3B0aW9uLFxuICBDdXN0b21SYXRpb09wdGlvbixcbiAgRm91ckJ5VGhyZWVSYXRpb09wdGlvbixcbiAgU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uXG5dO1xuXG5leHBvcnQgdHlwZSBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBrZXlvZiB0eXBlb2YgUkVTT0xVVElPTlM7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGF2YWlsYWJsZTogYm9vbGVhbjtcbiAgc2NhbGU6IG51bWJlcjtcbiAgZ2V0U2l6ZTogKHNjcmVlblc6IG51bWJlciwgc2NyZWVuSDogbnVtYmVyKSA9PiB7d2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9O1xufTtcblxuZXhwb3J0IGNvbnN0IE9uZVhSZXNvbHV0aW9uT3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBSRVNPTFVUSU9OUy5PTkVfWCxcbiAgbGFiZWw6ICcxeCcsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgc2NhbGU6IDEsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XLFxuICAgIGhlaWdodDogc2NyZWVuSFxuICB9KVxufTtcblxuZXhwb3J0IGNvbnN0IFR3b1hSZXNvbHV0aW9uT3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBSRVNPTFVUSU9OUy5UV09fWCxcbiAgbGFiZWw6ICcyeCcsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgc2NhbGU6IDIsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XICogMixcbiAgICBoZWlnaHQ6IHNjcmVlbkggKiAyXG4gIH0pXG59O1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlM6IFJlYWRvbmx5QXJyYXk8SW1hZ2VSZXNvbHV0aW9uT3B0aW9uPiA9IFtcbiAgT25lWFJlc29sdXRpb25PcHRpb24sXG4gIFR3b1hSZXNvbHV0aW9uT3B0aW9uXG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfVFlQRSA9IGtleU1pcnJvcih7XG4gIENTVjogbnVsbFxuICAvLyBTSEFQRUZJTEU6IG51bGwsXG4gIC8vIEpTT046IG51bGwsXG4gIC8vIEdFT0pTT046IG51bGwsXG4gIC8vIFRPUE9KU09OOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyA9IFtcbiAge1xuICAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkNTVixcbiAgICBsYWJlbDogRVhQT1JUX0RBVEFfVFlQRS5DU1YudG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfVxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuU0hBUEVGSUxFLFxuICAvLyAgIGxhYmVsOiAnc2hhcGVmaWxlJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5KU09OLFxuICAvLyAgIGxhYmVsOiAnanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuR0VPSlNPTixcbiAgLy8gICBsYWJlbDogJ2dlb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLlRPUE9KU09OLFxuICAvLyAgIGxhYmVsOiAndG9wb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfVxuXTtcblxuLy8gRXhwb3J0IG1hcCB0eXBlc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIEhUTUw6IG51bGwsXG4gIEpTT046IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0hUTUxfTUFQX01PREVTID0ga2V5TWlycm9yKHtcbiAgUkVBRDogbnVsbCxcbiAgRURJVDogbnVsbFxufSk7XG5cbi8vIEV4cG9ydCBtYXAgb3B0aW9uc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfTUFQX0ZPUk1BVFMpLm1hcChcbiAgKGVudHJ5OiBbc3RyaW5nLCBhbnldKSA9PiAoe1xuICAgIGlkOiBlbnRyeVswXSxcbiAgICBsYWJlbDogZW50cnlbMV0udG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TID0gT2JqZWN0LmVudHJpZXMoRVhQT1JUX0hUTUxfTUFQX01PREVTKS5tYXAoXG4gIChlbnRyeTogW3N0cmluZywgYW55XSkgPT4gKHtcbiAgICBpZDogZW50cnlbMF0sXG4gICAgbGFiZWw6IGBtb2RhbC5leHBvcnRNYXAuaHRtbC4ke2VudHJ5WzFdLnRvTG93ZXJDYXNlKCl9YCxcbiAgICBhdmFpbGFibGU6IHRydWUsXG4gICAgdXJsOiBnZXRIVE1MTWFwTW9kZVRpbGVVcmwoZW50cnlbMV0pXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9VVUlEX0NPVU5UID0gNjtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX01FU1NBR0UgPSAnTUVTU0FHRV9OT1RfUFJPVklERUQnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBpbmZvOiBudWxsLFxuICBlcnJvcjogbnVsbCxcbiAgd2FybmluZzogbnVsbCxcbiAgc3VjY2VzczogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MgPSBrZXlNaXJyb3Ioe1xuICBnbG9iYWw6IG51bGwsXG4gIGZpbGU6IG51bGxcbn0pO1xuXG4vLyBNaW5pbXVtIHRpbWUgYmV0d2VlbiBpZGVudGljYWwgbm90aWZpY2F0aW9ucyBhYm91dCBkZWNrLmdsIGVycm9yc1xuZXhwb3J0IGNvbnN0IFRIUk9UVExFX05PVElGSUNBVElPTl9USU1FID0gMjUwMDtcblxuLy8gQW5pbWF0aW9uXG5leHBvcnQgY29uc3QgQkFTRV9TUEVFRCA9IDYwMDtcbmV4cG9ydCBjb25zdCBGUFMgPSA2MDtcblxuLyoqXG4gKiA0IEFuaW1hdGlvbiBXaW5kb3cgVHlwZXNcbiAqIDEuIGZyZWVcbiAqICB8LT4gIHwtPlxuICogQ3VycmVudCB0aW1lIGlzIGEgZml4ZWQgcmFuZ2UsIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lcyBjb250aW51b3VzbHkgdG8gYW5pbWF0aW9uIGEgbW92aW5nIHdpbmRvd1xuICogVGhlIGluY3JlbWVudCBpZCBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAqXG4gKiAyLiBpbmNyZW1lbnRhbFxuICogfCAgICB8LT5cbiAqIFNhbWUgYXMgZnJlZSwgY3VycmVudCB0aW1lIGlzIGEgZ3Jvd2luZyByYW5nZSwgb25seSB0aGUgbWF4IHZhbHVlIG9mIHJhbmdlIGluY3JlbWVudCBkdXJpbmcgYW5pbWF0aW9uLlxuICogVGhlIGluY3JlbWVudCBpcyBhbHNvIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDMuIHBvaW50XG4gKiBvIC0+IG9cbiAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LCBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBmcmFtZSBjb250aW51b3VzbHkgdG8gYW5pbWF0aW9uIGEgbW92aW5nIHBvaW50XG4gKiBUaGUgaW5jcmVtZW50IGlzIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDQuIGludGVydmFsXG4gKiBvIH4+IG9cbiAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LiBBbiBhcnJheSBvZiBzb3J0ZWQgdGltZSBzdGVwcyBuZWVkIHRvIGJlIHByb3ZpZGVkLlxuICogYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gYXQgYSBpbnRlcnZhbCB3aGVuIHRoZSBwb2ludCBqdW1wcyB0byB0aGUgbmV4dCBzdGVwXG4gKi9cbmV4cG9ydCBjb25zdCBBTklNQVRJT05fV0lORE9XID0ga2V5TWlycm9yKHtcbiAgZnJlZTogbnVsbCxcbiAgaW5jcmVtZW50YWw6IG51bGwsXG4gIHBvaW50OiBudWxsLFxuICBpbnRlcnZhbDogbnVsbFxufSk7XG5leHBvcnQgY29uc3QgREVGQVVMVF9USU1FX0ZPUk1BVCA9ICdNTS9ERC9ZWSBISDptbTpzc2EnO1xuZXhwb3J0IGNvbnN0IFNQRUVEX0NPTlRST0xfUkFOR0U6IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgMTBdO1xuZXhwb3J0IGNvbnN0IFNQRUVEX0NPTlRST0xfU1RFUCA9IDAuMDAxO1xuXG4vLyBHZW9jb2RlclxuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0RBVEFTRVRfTkFNRSA9ICdnZW9jb2Rlcl9kYXRhc2V0JztcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9MQVlFUl9JRCA9ICdnZW9jb2Rlcl9sYXllcic7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfR0VPX09GRlNFVCA9IDAuMDU7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9DT0xPUjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdID0gWzI1NSwgMCwgMF07XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9TSVpFID0gODA7XG5cbi8vIFdlIGNvdWxkIHVzZSBkaXJlY3RseSByZWFjdC1tYXAtZ2wtZHJhdyBFZGl0b3JNb2RlIGJ1dCB0aGlzIHdvdWxkXG4vLyBjcmVhdGUgYSBkaXJlY3QgZGVwZW5kZW5jeSB3aXRoIHJlYWN0LW1hcC1nbC1kcmF3XG4vLyBDcmVhdGVkIHRoaXMgbWFwIHRvIGJlIGluZGVwZW5kZW50IGZyb20gcmVhY3QtbWFwLWdsLWRyYXdcbmV4cG9ydCBjb25zdCBFRElUT1JfTU9ERVMgPSB7XG4gIFJFQURfT05MWTogRWRpdG9yTW9kZXMuUkVBRF9PTkxZLFxuICBEUkFXX1BPTFlHT046IEVkaXRvck1vZGVzLkRSQVdfUE9MWUdPTixcbiAgRFJBV19SRUNUQU5HTEU6IEVkaXRvck1vZGVzLkRSQVdfUkVDVEFOR0xFLFxuICBFRElUOiBFZGl0b3JNb2Rlcy5FRElUX1ZFUlRFWFxufTtcblxuZXhwb3J0IGNvbnN0IEVESVRPUl9BVkFJTEFCTEVfTEFZRVJTOiBzdHJpbmdbXSA9IFtcbiAgTEFZRVJfVFlQRVMucG9pbnQsXG4gIExBWUVSX1RZUEVTLmhleGFnb24sXG4gIExBWUVSX1RZUEVTLmFyYyxcbiAgTEFZRVJfVFlQRVMubGluZSxcbiAgTEFZRVJfVFlQRVMuaGV4YWdvbklkXG5dO1xuLy8gR1BVIEZpbHRlcmluZ1xuLyoqXG4gKiBNYXggbnVtYmVyIG9mIGZpbHRlciB2YWx1ZSBidWZmZXJzIHRoYXQgZGVjay5nbCBwcm92aWRlc1xuICovXG5leHBvcnQgY29uc3QgTUFYX0dQVV9GSUxURVJTID0gNDtcbmV4cG9ydCBjb25zdCBNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTiA9IHtcbiAgd2lkdGg6IDMwMCxcbiAgaGVpZ2h0OiAyMDBcbn07XG5cbmV4cG9ydCBjb25zdCBNQVBfSU5GT19DSEFSQUNURVIgPSB7XG4gIHRpdGxlOiAxMDAsXG4gIGRlc2NyaXB0aW9uOiAxMDBcbn07XG5cbi8vIExvYWQgZGF0YVxuZXhwb3J0IGNvbnN0IExPQURJTkdfTUVUSE9EUyA9IGtleU1pcnJvcih7XG4gIHVwbG9hZDogbnVsbCxcbiAgc3RvcmFnZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBEQVRBU0VUX0ZPUk1BVFMgPSBrZXlNaXJyb3Ioe1xuICByb3c6IG51bGwsXG4gIGdlb2pzb246IG51bGwsXG4gIGNzdjogbnVsbCxcbiAga2VwbGVyZ2w6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgTUFQX0NPTlRST0xTID0ga2V5TWlycm9yKHtcbiAgdmlzaWJsZUxheWVyczogbnVsbCxcbiAgbWFwTGVnZW5kOiBudWxsLFxuICB0b2dnbGUzZDogbnVsbCxcbiAgc3BsaXRNYXA6IG51bGwsXG4gIG1hcERyYXc6IG51bGwsXG4gIG1hcExvY2FsZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBNQVNLX0xBWUVSX0lEID0gJ21hc2tfbGF5ZXInO1xuXG5leHBvcnQgY29uc3QgWk9PTV9MRVZFTF9MSU1JVFMgPSB7XG4gIG1pbjogMCxcbiAgbWF4OiAyMVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFvQkEsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBR0EsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBVUEsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBV0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssYUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sUUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sTUFBQSxHQUFBUCxPQUFBO0FBQXlDLFNBQUFRLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFB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QUFXLENBQUNHO0FBQ3BCLENBQUM7QUFFTSxJQUFNQyx1QkFBaUMsR0FBQWpSLE9BQUEsQ0FBQWlSLHVCQUFBLEdBQUcsQ0FDL0NDLGtCQUFXLENBQUMvTCxLQUFLLEVBQ2pCK0wsa0JBQVcsQ0FBQ0MsT0FBTyxFQUNuQkQsa0JBQVcsQ0FBQ0UsR0FBRyxFQUNmRixrQkFBVyxDQUFDRyxJQUFJLEVBQ2hCSCxrQkFBVyxDQUFDSSxTQUFTLENBQ3RCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDTyxJQUFNQyxlQUFlLEdBQUF2UixPQUFBLENBQUF1UixlQUFBLEdBQUcsQ0FBQztBQUN6QixJQUFNQyx1QkFBdUIsR0FBQXhSLE9BQUEsQ0FBQXdSLHVCQUFBLEdBQUc7RUFDckNwUSxLQUFLLEVBQUUsR0FBRztFQUNWZ00sTUFBTSxFQUFFO0FBQ1YsQ0FBQztBQUVNLElBQU1xRSxrQkFBa0IsR0FBQXpSLE9BQUEsQ0FBQXlSLGtCQUFBLEdBQUc7RUFDaENDLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLFdBQVcsRUFBRTtBQUNmLENBQUM7O0FBRUQ7QUFDTyxJQUFNQyxlQUFlLEdBQUE1UixPQUFBLENBQUE0UixlQUFBLEdBQUcsSUFBQTVQLHFCQUFTLEVBQUM7RUFDdkM2UCxNQUFNLEVBQUUsSUFBSTtFQUNaQyxPQUFPLEVBQUU7QUFDWCxDQUFDLENBQUM7QUFFSyxJQUFNQyxlQUFlLEdBQUEvUixPQUFBLENBQUErUixlQUFBLEdBQUcsSUFBQS9QLHFCQUFTLEVBQUM7RUFDdkNnUSxHQUFHLEVBQUUsSUFBSTtFQUNUbk8sT0FBTyxFQUFFLElBQUk7RUFDYm9PLEdBQUcsRUFBRSxJQUFJO0VBQ1RDLFFBQVEsRUFBRTtBQUNaLENBQUMsQ0FBQztBQUVLLElBQU1DLFlBQVksR0FBQW5TLE9BQUEsQ0FBQW1TLFlBQUEsR0FBRyxJQUFBblEscUJBQVMsRUFBQztFQUNwQ29RLGFBQWEsRUFBRSxJQUFJO0VBQ25CdlEsU0FBUyxFQUFFLElBQUk7RUFDZndRLFFBQVEsRUFBRSxJQUFJO0VBQ2RDLFFBQVEsRUFBRSxJQUFJO0VBQ2RDLE9BQU8sRUFBRSxJQUFJO0VBQ2JDLFNBQVMsRUFBRTtBQUNiLENBQUMsQ0FBQztBQUVLLElBQU1DLGFBQWEsR0FBQXpTLE9BQUEsQ0FBQXlTLGFBQUEsR0FBRyxZQUFZO0FBRWxDLElBQU1DLGlCQUFpQixHQUFBMVMsT0FBQSxDQUFBMFMsaUJBQUEsR0FBRztFQUMvQkMsR0FBRyxFQUFFLENBQUM7RUFDTkMsR0FBRyxFQUFFO0FBQ1AsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
832
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfa2V5bWlycm9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3RNYXBHbERyYXciLCJfZDNTY2FsZSIsIl9pY29ucyIsIl91dGlscyIsIl9jdXN0b21TY2FsZXMiLCJfdG9vbHRpcCIsIl90eXBlcyIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiQUNUSU9OX1BSRUZJWCIsImV4cG9ydHMiLCJDTE9VREZST05UIiwiSUNPTl9QUkVGSVgiLCJjb25jYXQiLCJERUZBVUxUX01BUEJPWF9BUElfVVJMIiwiREFUQV9UQUJMRV9JRCIsIkRFTEVURV9EQVRBX0lEIiwiQUREX0RBVEFfSUQiLCJFWFBPUlRfSU1BR0VfSUQiLCJFWFBPUlRfREFUQV9JRCIsIkFERF9NQVBfU1RZTEVfSUQiLCJFWFBPUlRfTUFQX0lEIiwiU0FWRV9NQVBfSUQiLCJPVkVSV1JJVEVfTUFQX0lEIiwiU0hBUkVfTUFQX0lEIiwiS0VQTEVSX0dMX05BTUUiLCJLRVBMRVJfR0xfVkVSU0lPTiIsIktFUExFUl9HTF9XRUJTSVRFIiwiRElNRU5TSU9OUyIsInNpZGVQYW5lbCIsIndpZHRoIiwibWFyZ2luIiwidG9wIiwibGVmdCIsImJvdHRvbSIsInJpZ2h0IiwiaGVhZGVySGVpZ2h0IiwibWFwQ29udHJvbCIsInBhZGRpbmciLCJtYXBMZWdlbmQiLCJwaW5uZWQiLCJUSEVNRSIsImtleU1pcnJvciIsImxpZ2h0IiwiZGFyayIsImJhc2UiLCJTSURFQkFSX1BBTkVMUyIsImlkIiwibGFiZWwiLCJpY29uQ29tcG9uZW50IiwiTGF5ZXJzIiwib25DbGljayIsIkZpbHRlckZ1bm5lbCIsIkN1cnNvckNsaWNrIiwiU2V0dGluZ3MiLCJQQU5FTFMiLCJERUZBVUxUX0xBWUVSX0dST1VQUyIsInNsdWciLCJfcmVmIiwibWF0Y2giLCJkZWZhdWx0VmlzaWJpbGl0eSIsIl9yZWYyIiwiX3JlZjMiLCJfcmVmNCIsIl9yZWY1IiwiX3JlZjYiLCJERUZBVUxUX01BUF9TVFlMRVMiLCJ1cmwiLCJpY29uIiwibGF5ZXJHcm91cHMiLCJHRU9KU09OX0ZJRUxEUyIsImdlb2pzb24iLCJJQ09OX0ZJRUxEUyIsIlRSSVBfUE9JTlRfRklFTERTIiwiVFJJUF9BUkNfRklFTERTIiwibGF0MCIsImxuZzAiLCJsYXQxIiwibG5nMSIsIkZJTFRFUl9UWVBFUyIsInJhbmdlIiwic2VsZWN0IiwiaW5wdXQiLCJ0aW1lUmFuZ2UiLCJtdWx0aVNlbGVjdCIsInBvbHlnb24iLCJTQ0FMRV9UWVBFUyIsIm9yZGluYWwiLCJxdWFudGlsZSIsInF1YW50aXplIiwibGluZWFyIiwic3FydCIsImxvZyIsInBvaW50IiwiY3VzdG9tIiwibG9nYXJpdGhtaWMiLCJpZGVudGl0eSIsIlNDQUxFX0ZVTkMiLCJzY2FsZUxpbmVhciIsInNjYWxlUXVhbnRpemUiLCJzY2FsZVF1YW50aWxlIiwic2NhbGVPcmRpbmFsIiwic2NhbGVTcXJ0Iiwic2NhbGVMb2ciLCJzY2FsZVBvaW50Iiwic2NhbGVUaHJlc2hvbGQiLCJzY2FsZUlkZW50aXR5IiwiQUxMX0ZJRUxEX1RZUEVTIiwiZGF0ZSIsImludGVnZXIiLCJyZWFsIiwic3RyaW5nIiwidGltZXN0YW1wIiwiU09SVF9PUkRFUiIsIkFTQ0VORElORyIsIkRFU0NFTkRJTkciLCJVTlNPUlQiLCJUQUJMRV9PUFRJT04iLCJTT1JUX0FTQyIsIlNPUlRfREVTIiwiUElOIiwiVU5QSU4iLCJDT1BZIiwiVEFCTEVfT1BUSU9OX0xJU1QiLCJ2YWx1ZSIsImRpc3BsYXkiLCJBcnJvd1VwIiwiY29uZGl0aW9uIiwicHJvcHMiLCJzb3J0TW9kZSIsIkFycm93RG93biIsIkNhbmNlbCIsImlzU29ydGVkIiwiUGluIiwiaXNQaW5uZWQiLCJDbGlwYm9hcmQiLCJPUkFOR0UiLCJQSU5LIiwiUFVSUExFIiwiQkxVRSIsIkJMVUUyIiwiQkxVRTMiLCJHUkVFTiIsIlJFRCIsIkZJTEVEX1RZUEVfRElTUExBWSIsImNvbG9yIiwiRklFTERfQ09MT1JTIiwiSElHSExJR0hfQ09MT1JfM0QiLCJDSEFOTkVMX1NDQUxFUyIsInJhZGl1cyIsInNpemUiLCJjdXN0b21NYXJrZXIiLCJjb2xvckFnZ3IiLCJzaXplQWdnciIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiY291bnQiLCJhdmVyYWdlIiwibWF4aW11bSIsIm1pbmltdW0iLCJtZWRpYW4iLCJzdGRldiIsInN1bSIsInZhcmlhbmNlIiwibW9kZSIsImNvdW50VW5pcXVlIiwiYW55VmFsdWUiLCJGSUVMRF9UWVBFU19BR0dSRUdBVE9SUyIsIkZJRUxEX0FHR1JFR0FUT1JTIiwiZGlzcGxheU5hbWUiLCJsaW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zIiwibGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJvcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyIsIm9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyIsIm5vdFN1cHBvcnRlZFNjYWxlT3B0cyIsIm5vdFN1cHBvcnRBZ2dyT3B0cyIsIkRFRkFVTFRfQUdHUkVHQVRJT04iLCJGSUVMRF9PUFRTIiwidHlwZSIsInNjYWxlIiwiZm9ybWF0IiwibGVnZW5kIiwiZCIsInRvb2x0aXAiLCJUT09MVElQX0ZPUk1BVF9UWVBFUyIsIk5PTkUiLCJERUNJTUFMIiwiUEVSQ0VOVEFHRSIsIkRBVEUiLCJEQVRFX1RJTUUiLCJCT09MRUFOIiwiQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTIiwicmVkdWNlIiwiYWNjdSIsImtleSIsImZ0IiwiREVGQVVMVF9MQVlFUl9DT0xPUiIsInRyaXBBcmMiLCJiZWdpbnRyaXBfbGF0IiwiZHJvcG9mZl9sYXQiLCJyZXF1ZXN0X2xhdCIsIkRFRkFVTFRfVE9PTFRJUF9GSUVMRFMiLCJOT19WQUxVRV9DT0xPUiIsIlVOS05PV05fQ09MT1IiLCJMQVlFUl9CTEVORElOR1MiLCJhZGRpdGl2ZSIsImJsZW5kRnVuYyIsImJsZW5kRXF1YXRpb24iLCJub3JtYWwiLCJzdWJ0cmFjdGl2ZSIsIk1BWF9ERUZBVUxUX1RPT0xUSVBTIiwiUkVTT0xVVElPTlMiLCJPTkVfWCIsIlRXT19YIiwiRVhQT1JUX0lNR19SQVRJT1MiLCJTQ1JFRU4iLCJGT1VSX0JZX1RIUkVFIiwiU0lYVEVFTl9CWV9OSU5FIiwiQ1VTVE9NIiwiU2NyZWVuUmF0aW9PcHRpb24iLCJnZXRTaXplIiwic2NyZWVuVyIsInNjcmVlbkgiLCJoZWlnaHQiLCJDdXN0b21SYXRpb09wdGlvbiIsImhpZGRlbiIsIm1hcFciLCJtYXBIIiwiRm91ckJ5VGhyZWVSYXRpb09wdGlvbiIsIk1hdGgiLCJyb3VuZCIsIlNpeHRlZW5CeU5pbmVSYXRpb09wdGlvbiIsIkVYUE9SVF9JTUdfUkFUSU9fT1BUSU9OUyIsIk9uZVhSZXNvbHV0aW9uT3B0aW9uIiwiYXZhaWxhYmxlIiwiVHdvWFJlc29sdXRpb25PcHRpb24iLCJFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUyIsIkVYUE9SVF9EQVRBX1RZUEUiLCJDU1YiLCJFWFBPUlRfREFUQV9UWVBFX09QVElPTlMiLCJ0b0xvd2VyQ2FzZSIsIkVYUE9SVF9NQVBfRk9STUFUUyIsIkhUTUwiLCJKU09OIiwiRVhQT1JUX0hUTUxfTUFQX01PREVTIiwiUkVBRCIsIkVESVQiLCJFWFBPUlRfTUFQX0ZPUk1BVF9PUFRJT05TIiwiZW50cmllcyIsIm1hcCIsImVudHJ5IiwiRVhQT1JUX0hUTUxfTUFQX01PREVfT1BUSU9OUyIsImdldEhUTUxNYXBNb2RlVGlsZVVybCIsIkRFRkFVTFRfVVVJRF9DT1VOVCIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX01FU1NBR0UiLCJERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUyIsImluZm8iLCJlcnJvciIsIndhcm5pbmciLCJzdWNjZXNzIiwiREVGQVVMVF9OT1RJRklDQVRJT05fVE9QSUNTIiwiZ2xvYmFsIiwiZmlsZSIsIlRIUk9UVExFX05PVElGSUNBVElPTl9USU1FIiwiQkFTRV9TUEVFRCIsIkZQUyIsIkFOSU1BVElPTl9XSU5ET1ciLCJmcmVlIiwiaW5jcmVtZW50YWwiLCJpbnRlcnZhbCIsIkRFRkFVTFRfVElNRV9GT1JNQVQiLCJTUEVFRF9DT05UUk9MX1JBTkdFIiwiU1BFRURfQ09OVFJPTF9TVEVQIiwiR0VPQ09ERVJfREFUQVNFVF9OQU1FIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJHRU9DT0RFUl9HRU9fT0ZGU0VUIiwiR0VPQ09ERVJfSUNPTl9DT0xPUiIsIkdFT0NPREVSX0lDT05fU0laRSIsIkVESVRPUl9NT0RFUyIsIlJFQURfT05MWSIsIkVkaXRvck1vZGVzIiwiRFJBV19QT0xZR09OIiwiRFJBV19SRUNUQU5HTEUiLCJFRElUX1ZFUlRFWCIsIkVESVRPUl9BVkFJTEFCTEVfTEFZRVJTIiwiTEFZRVJfVFlQRVMiLCJoZXhhZ29uIiwiYXJjIiwibGluZSIsImhleGFnb25JZCIsIk1BWF9HUFVfRklMVEVSUyIsIk1BUF9USFVNQk5BSUxfRElNRU5TSU9OIiwiTUFQX0lORk9fQ0hBUkFDVEVSIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIkxPQURJTkdfTUVUSE9EUyIsInVwbG9hZCIsInN0b3JhZ2UiLCJEQVRBU0VUX0ZPUk1BVFMiLCJyb3ciLCJjc3YiLCJrZXBsZXJnbCIsIk1BUF9DT05UUk9MUyIsInZpc2libGVMYXllcnMiLCJ0b2dnbGUzZCIsInNwbGl0TWFwIiwibWFwRHJhdyIsIm1hcExvY2FsZSIsIk1BU0tfTEFZRVJfSUQiLCJaT09NX0xFVkVMX0xJTUlUUyIsIm1pbiIsIm1heCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQga2V5TWlycm9yIGZyb20gJ2tleW1pcnJvcic7XG5pbXBvcnQge0VkaXRvck1vZGVzfSBmcm9tICdyZWFjdC1tYXAtZ2wtZHJhdyc7XG5cbmltcG9ydCB7Q29sb3J9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtcbiAgc2NhbGVMaW5lYXIsXG4gIHNjYWxlUXVhbnRpemUsXG4gIHNjYWxlUXVhbnRpbGUsXG4gIHNjYWxlT3JkaW5hbCxcbiAgc2NhbGVTcXJ0LFxuICBzY2FsZUxvZyxcbiAgc2NhbGVQb2ludCxcbiAgc2NhbGVUaHJlc2hvbGRcbn0gZnJvbSAnZDMtc2NhbGUnO1xuaW1wb3J0IHtcbiAgTGF5ZXJzLFxuICBGaWx0ZXJGdW5uZWwsXG4gIFNldHRpbmdzLFxuICBDdXJzb3JDbGljayxcbiAgUGluLFxuICBBcnJvd0Rvd24sXG4gIEFycm93VXAsXG4gIENsaXBib2FyZCxcbiAgQ2FuY2VsXG59IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2ljb25zJztcbmltcG9ydCB7Z2V0SFRNTE1hcE1vZGVUaWxlVXJsfSBmcm9tICd1dGlscy91dGlscyc7XG5pbXBvcnQge3NjYWxlSWRlbnRpdHl9IGZyb20gJ3V0aWxzL2N1c3RvbS1zY2FsZXMnO1xuaW1wb3J0IHtUT09MVElQX0ZPUk1BVF9UWVBFU30gZnJvbSAnLi90b29sdGlwJztcbmltcG9ydCB7TEFZRVJfVFlQRVN9IGZyb20gJ2xheWVycy90eXBlcyc7XG5pbXBvcnQge1JHQkFDb2xvcn0gZnJvbSAncmVkdWNlcnMnO1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX1BSRUZJWCA9ICdAQGtlcGxlci5nbC8nO1xuZXhwb3J0IGNvbnN0IENMT1VERlJPTlQgPSAnaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wnO1xuZXhwb3J0IGNvbnN0IElDT05fUFJFRklYID0gYCR7Q0xPVURGUk9OVH0vZ2VvZHVkZWA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfQVBJX1VSTCA9ICdodHRwczovL2FwaS5tYXBib3guY29tJztcblxuLy8gTW9kYWwgSWRzXG4vKipcbiAqIE1vZGFsIGlkOiBkYXRhIHRhYmxlXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX1RBQkxFX0lEID0gJ2RhdGFUYWJsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBkZWxldGUgZGF0YXNldCBjb25maXJtIGRpYWxvZ1xuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREVMRVRFX0RBVEFfSUQgPSAnZGVsZXRlRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX0RBVEFfSUQgPSAnYWRkRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgaW1hZ2UgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUFHRV9JRCA9ICdleHBvcnRJbWFnZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfSUQgPSAnZXhwb3J0RGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgY3VzdG9tIG1hcCBzdHlsZSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX01BUF9TVFlMRV9JRCA9ICdhZGRNYXBTdHlsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgbWFwIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0lEID0gJ2V4cG9ydE1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzYXZlIG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgU0FWRV9NQVBfSUQgPSAnc2F2ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBjb25maXJtIHRvIG92ZXJ3cml0ZSBzYXZlZCBtYXBcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IE9WRVJXUklURV9NQVBfSUQgPSAnb3ZlcndyaXRlTWFwJztcbi8qKlxuICogTW9kYWwgaWQ6IHNoYXJlIG1hcCB1cmwgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNIQVJFX01BUF9JRCA9ICdzaGFyZU1hcCc7XG5cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfTkFNRSA9ICdrZXBsZXIuZ2wnO1xuXG4vLyBfX1BBQ0tBR0VfVkVSU0lPTl9fIGlzIGF1dG9tYXRpY2FsbHkgaW5qZWN0ZWQgYnkgQmFiZWwvV2VicGFjayBkdXJpbmcgdGhlIGJ1aWxkaW5nIHByb2Nlc3Ncbi8vIFNpbmNlIHdlIGFyZSBpbmplY3RpbmcgdGhpcyBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCBiYWJlbFxuLy8gd2hpbGUgZGV2ZWxvcGluZyBWRVJTSU9OIGlzIG5vdCBkZWZpbmVkLCB3ZSBjYXB0dXJlIHRoZSBleGNlcHRpb24gYW5kIHJldHVyblxuLy8gYW4gZW1wdHkgc3RyaW5nIHdoaWNoIHdpbGwgYWxsb3cgdXMgdG8gcmV0cmlldmUgdGhlIGxhdGVzdCB1bWQgdmVyc2lvblxuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9WRVJTSU9OID0gJ19fUEFDS0FHRV9WRVJTSU9OX18nO1xuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9XRUJTSVRFID0gJ2h0dHA6Ly9rZXBsZXIuZ2wvJztcblxuZXhwb3J0IGNvbnN0IERJTUVOU0lPTlMgPSB7XG4gIHNpZGVQYW5lbDoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgbWFyZ2luOiB7dG9wOiAyMCwgbGVmdDogMjAsIGJvdHRvbTogMzAsIHJpZ2h0OiAyMH0sXG4gICAgaGVhZGVySGVpZ2h0OiA5NlxuICB9LFxuICBtYXBDb250cm9sOiB7XG4gICAgd2lkdGg6IDE4NCxcbiAgICBwYWRkaW5nOiAxMixcbiAgICBtYXBMZWdlbmQ6IHtcbiAgICAgIHBpbm5lZDoge1xuICAgICAgICBib3R0b206IDIyLFxuICAgICAgICByaWdodDogMTJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogVGhlbWUgbmFtZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gYEtlcGxlckdsYCBgcHJvcC50aGVtZWAuXG4gKiBBdmFpbGFibGUgdGhlbWVzIGFyZSBgVEhFTUUubGlnaHRgIGFuZCBgVEhFTUUuZGFya2AuIERlZmF1bHQgdGhlbWUgaXMgYFRIRU1FLmRhcmtgXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtvYmplY3R9XG4gKiBAcHVibGljXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIGNvbnN0IE1hcCA9ICgpID0+IDxLZXBsZXJHbCB0aGVtZT17VEhFTUUubGlnaHR9IGlkPVwibWFwXCIvPlxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBUSEVNRSA9IGtleU1pcnJvcih7XG4gIGxpZ2h0OiBudWxsLFxuICBkYXJrOiBudWxsLFxuICBiYXNlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNJREVCQVJfUEFORUxTID0gW1xuICB7XG4gICAgaWQ6ICdsYXllcicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5sYXllcicsXG4gICAgaWNvbkNvbXBvbmVudDogTGF5ZXJzLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnZmlsdGVyJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmZpbHRlcicsXG4gICAgaWNvbkNvbXBvbmVudDogRmlsdGVyRnVubmVsLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnaW50ZXJhY3Rpb24nLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMuaW50ZXJhY3Rpb24nLFxuICAgIGljb25Db21wb25lbnQ6IEN1cnNvckNsaWNrLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnbWFwJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmJhc2VtYXAnLFxuICAgIGljb25Db21wb25lbnQ6IFNldHRpbmdzLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfVxuXTtcblxuLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuZXhwb3J0IGNvbnN0IFBBTkVMUyA9IFNJREVCQVJfUEFORUxTO1xuXG4vLyBNQVAgU1RZTEVTXG5cbnR5cGUgREVGQVVMVF9MQVlFUl9HUk9VUCA9IHtcbiAgc2x1Zzogc3RyaW5nO1xuICBmaWx0ZXI6ICh2YWx1ZSkgPT4gYm9vbGVhbjtcbiAgZGVmYXVsdFZpc2liaWxpdHk6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9HUk9VUFM6IERFRkFVTFRfTEFZRVJfR1JPVVBbXSA9IFtcbiAge1xuICAgIHNsdWc6ICdsYWJlbCcsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PShsYWJlbHxwbGFjZS18cG9pLSkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdyb2FkJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHJvYWR8cmFpbHdheXx0dW5uZWx8c3RyZWV0fGJyaWRnZSkpKD8hLipsYWJlbCkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2JvcmRlcicsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goL2JvcmRlcnxib3VuZGFyaWVzLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnYnVpbGRpbmcnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC9idWlsZGluZy8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnd2F0ZXInLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0od2F0ZXJ8c3RyZWFtfGZlcnJ5KSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2xhbmQnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0ocGFya3N8bGFuZGNvdmVyfGluZHVzdHJpYWx8c2FuZHxoaWxsc2hhZGUpKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnM2QgYnVpbGRpbmcnLFxuICAgIGZpbHRlcjogKCkgPT4gZmFsc2UsXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUF9TVFlMRVMgPSBbXG4gIHtcbiAgICBpZDogJ2RhcmsnLFxuICAgIGxhYmVsOiAnRGFyaycsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2Nqb3FiYmY2bDlrMzAyc2w5NnR5dmthMDknLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX0RBUktfVjIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFNcbiAgfSxcbiAge1xuICAgIGlkOiAnbGlnaHQnLFxuICAgIGxhYmVsOiAnTGlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jam9xYjlqMzM5azFmMnNsOXQ1aWM1Ym40JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9MSUdIVF9WMi5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQU1xuICB9LFxuICB7XG4gICAgaWQ6ICdtdXRlZCcsXG4gICAgbGFiZWw6ICdNdXRlZCBMaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnlsMDNrcDF0dWwyc21mNXYydGJkZDQnLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX01VVEVEX0xJR0hULnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ211dGVkX25pZ2h0JyxcbiAgICBsYWJlbDogJ011dGVkIE5pZ2h0JyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pmeGhsaWttYWoxYjJzb3l6ZXZueXdncycsXG4gICAgaWNvbjogYCR7SUNPTl9QUkVGSVh9L1VCRVJfTVVURURfTklHSFQucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFNcbiAgfSxcbiAge1xuICAgIGlkOiAnc2F0ZWxsaXRlJyxcbiAgICBsYWJlbDogJ1NhdGVsbGl0ZScsXG4gICAgdXJsOiBgbWFwYm94Oi8vc3R5bGVzL21hcGJveC9zYXRlbGxpdGUtdjlgLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX1NBVEVMTElURS5wbmdgXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBHRU9KU09OX0ZJRUxEUyA9IHtcbiAgZ2VvanNvbjogWydfZ2VvanNvbicsICdhbGxfcG9pbnRzJywgJ2dlb2pzb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IElDT05fRklFTERTID0ge1xuICBpY29uOiBbJ2ljb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IFRSSVBfUE9JTlRfRklFTERTOiBbc3RyaW5nLCBzdHJpbmddW10gPSBbXG4gIFsnbGF0JywgJ2xuZyddLFxuICBbJ2xhdCcsICdsb24nXSxcbiAgWydsYXRpdHVkZScsICdsb25naXR1ZGUnXVxuXTtcblxuZXhwb3J0IGNvbnN0IFRSSVBfQVJDX0ZJRUxEUyA9IHtcbiAgbGF0MDogJ2JlZ2ludHJpcCcsXG4gIGxuZzA6ICdiZWdpbnRyaXAnLFxuICBsYXQxOiAnZHJvcG9mZicsXG4gIGxuZzE6ICdkcm9wb2ZmJ1xufTtcblxuZXhwb3J0IGNvbnN0IEZJTFRFUl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIHJhbmdlOiBudWxsLFxuICBzZWxlY3Q6IG51bGwsXG4gIGlucHV0OiBudWxsLFxuICB0aW1lUmFuZ2U6IG51bGwsXG4gIG11bHRpU2VsZWN0OiBudWxsLFxuICBwb2x5Z29uOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNDQUxFX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgb3JkaW5hbDogbnVsbCxcbiAgcXVhbnRpbGU6IG51bGwsXG4gIHF1YW50aXplOiBudWxsLFxuICBsaW5lYXI6IG51bGwsXG4gIHNxcnQ6IG51bGwsXG4gIGxvZzogbnVsbCxcblxuICAvLyBvcmRpbmFsIGRvbWFpbiB0byBsaW5lYXIgcmFuZ2VcbiAgcG9pbnQ6IG51bGwsXG4gIGN1c3RvbTogbnVsbCxcbiAgLy8gVUktb25seSB0eXBlLCByZXNvbHZpbmcgYXMgY3VzdG9tXG4gIGxvZ2FyaXRobWljOiBudWxsLFxuICBpZGVudGl0eTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBTQ0FMRV9GVU5DID0ge1xuICBbU0NBTEVfVFlQRVMubGluZWFyXTogc2NhbGVMaW5lYXIsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGl6ZV06IHNjYWxlUXVhbnRpemUsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGlsZV06IHNjYWxlUXVhbnRpbGUsXG4gIFtTQ0FMRV9UWVBFUy5vcmRpbmFsXTogc2NhbGVPcmRpbmFsLFxuICBbU0NBTEVfVFlQRVMuc3FydF06IHNjYWxlU3FydCxcbiAgW1NDQUxFX1RZUEVTLmxvZ106IHNjYWxlTG9nLFxuICBbU0NBTEVfVFlQRVMucG9pbnRdOiBzY2FsZVBvaW50LFxuICBbU0NBTEVfVFlQRVMuY3VzdG9tXTogc2NhbGVUaHJlc2hvbGQsXG4gIFtTQ0FMRV9UWVBFUy5pZGVudGl0eV06IHNjYWxlSWRlbnRpdHlcbn07XG5cbmV4cG9ydCBjb25zdCBBTExfRklFTERfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBib29sZWFuOiBudWxsLFxuICBkYXRlOiBudWxsLFxuICBnZW9qc29uOiBudWxsLFxuICBpbnRlZ2VyOiBudWxsLFxuICByZWFsOiBudWxsLFxuICBzdHJpbmc6IG51bGwsXG4gIHRpbWVzdGFtcDogbnVsbCxcbiAgcG9pbnQ6IG51bGxcbn0pO1xuXG4vLyBEYXRhIFRhYmxlXG5leHBvcnQgY29uc3QgU09SVF9PUkRFUiA9IGtleU1pcnJvcih7XG4gIEFTQ0VORElORzogbnVsbCxcbiAgREVTQ0VORElORzogbnVsbCxcbiAgVU5TT1JUOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFRBQkxFX09QVElPTiA9IGtleU1pcnJvcih7XG4gIFNPUlRfQVNDOiBudWxsLFxuICBTT1JUX0RFUzogbnVsbCxcbiAgVU5TT1JUOiBudWxsLFxuICBQSU46IG51bGwsXG4gIFVOUElOOiBudWxsLFxuICBDT1BZOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFRBQkxFX09QVElPTl9MSVNUID0gW1xuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5TT1JUX0FTQyxcbiAgICBkaXNwbGF5OiAnU29ydCBBc2NlbmRpbmcnLFxuICAgIGljb246IEFycm93VXAsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5BU0NFTkRJTkdcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9ERVMsXG4gICAgZGlzcGxheTogJ1NvcnQgRGVzY2VuZGluZycsXG4gICAgaWNvbjogQXJyb3dEb3duLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuc29ydE1vZGUgIT09IFNPUlRfT1JERVIuREVTQ0VORElOR1xuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5VTlNPUlQsXG4gICAgZGlzcGxheTogJ1Vuc29ydCBDb2x1bW4nLFxuICAgIGljb246IENhbmNlbCxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLmlzU29ydGVkXG4gIH0sXG4gIHt2YWx1ZTogVEFCTEVfT1BUSU9OLlBJTiwgZGlzcGxheTogJ1BpbiBDb2x1bW4nLCBpY29uOiBQaW4sIGNvbmRpdGlvbjogcHJvcHMgPT4gIXByb3BzLmlzUGlubmVkfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uVU5QSU4sXG4gICAgZGlzcGxheTogJ1VucGluIENvbHVtbicsXG4gICAgaWNvbjogQ2FuY2VsLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuaXNQaW5uZWRcbiAgfSxcbiAge3ZhbHVlOiBUQUJMRV9PUFRJT04uQ09QWSwgZGlzcGxheTogJ0NvcHkgQ29sdW1uJywgaWNvbjogQ2xpcGJvYXJkfVxuXTtcblxuY29uc3QgT1JBTkdFID0gJzI0OCwgMTk0LCAyOCc7XG5jb25zdCBQSU5LID0gJzIzMSwgMTg5LCAxOTQnO1xuY29uc3QgUFVSUExFID0gJzE2MCwgMTA2LCAyMDYnO1xuY29uc3QgQkxVRSA9ICcxNDAsIDIxMCwgMjA1JztcbmNvbnN0IEJMVUUyID0gJzEwNiwgMTYwLCAyMDYnO1xuY29uc3QgQkxVRTMgPSAnMCwgMTcyLCAyMzcnO1xuY29uc3QgR1JFRU4gPSAnMTA2LCAxNjAsIDU2JztcbmNvbnN0IFJFRCA9ICcyMzcsIDg4LCAxMDYnO1xuXG5leHBvcnQgY29uc3QgRklMRURfVFlQRV9ESVNQTEFZID0ge1xuICBbQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW5dOiB7XG4gICAgbGFiZWw6ICdib29sJyxcbiAgICBjb2xvcjogUElOS1xuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmRhdGVdOiB7XG4gICAgbGFiZWw6ICdkYXRlJyxcbiAgICBjb2xvcjogUFVSUExFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZ2VvanNvbl06IHtcbiAgICBsYWJlbDogJ2dlbycsXG4gICAgY29sb3I6IEJMVUUyXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuaW50ZWdlcl06IHtcbiAgICBsYWJlbDogJ251bWJlcicsXG4gICAgY29sb3I6IE9SQU5HRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnJlYWxdOiB7XG4gICAgbGFiZWw6ICdudW1iZXInLFxuICAgIGNvbG9yOiBPUkFOR0VcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5zdHJpbmddOiB7XG4gICAgbGFiZWw6ICdzdHJpbmcnLFxuICAgIGNvbG9yOiBCTFVFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMudGltZXN0YW1wXToge1xuICAgIGxhYmVsOiAndGltZScsXG4gICAgY29sb3I6IEdSRUVOXG4gIH0sXG4gIC8vIGZpZWxkIHBhaXJzXG4gIFtBTExfRklFTERfVFlQRVMucG9pbnRdOiB7XG4gICAgbGFiZWw6ICdwb2ludCcsXG4gICAgY29sb3I6IEJMVUUzXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9DT0xPUlMgPSB7XG4gIGRlZmF1bHQ6IFJFRFxufTtcbmV4cG9ydCBjb25zdCBISUdITElHSF9DT0xPUl8zRDogUkdCQUNvbG9yID0gWzI1NSwgMjU1LCAyNTUsIDYwXTtcbmV4cG9ydCBjb25zdCBDSEFOTkVMX1NDQUxFUyA9IGtleU1pcnJvcih7XG4gIGNvbG9yOiBudWxsLFxuICByYWRpdXM6IG51bGwsXG4gIHNpemU6IG51bGwsXG4gIGN1c3RvbU1hcmtlcjogbnVsbCxcbiAgY29sb3JBZ2dyOiBudWxsLFxuICBzaXplQWdncjogbnVsbCxcbiAgaWRlbnRpdHk6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fVFlQRVM6IHtcbiAgLy8gZGVmYXVsdFxuICBjb3VudDogJ2NvdW50JztcbiAgLy8gbGluZWFyXG4gIGF2ZXJhZ2U6ICdhdmVyYWdlJztcbiAgbWF4aW11bTogJ21heGltdW0nO1xuICBtaW5pbXVtOiAnbWluaW11bSc7XG4gIG1lZGlhbjogJ21lZGlhbic7XG4gIHN0ZGV2OiAnc3RkZXYnO1xuICBzdW06ICdzdW0nO1xuICB2YXJpYW5jZTogJ3ZhcmlhbmNlJztcbiAgLy8gb3JkaW5hbFxuICBtb2RlOiAnbW9kZSc7XG4gIGNvdW50VW5pcXVlOiAnY291bnQgdW5pcXVlJztcbiAgYW55VmFsdWU6ICdhbnlfdmFsdWUnXG59ID0ge1xuICAvLyBkZWZhdWx0XG4gIGNvdW50OiAnY291bnQnLFxuICAvLyBsaW5lYXJcbiAgYXZlcmFnZTogJ2F2ZXJhZ2UnLFxuICBtYXhpbXVtOiAnbWF4aW11bScsXG4gIG1pbmltdW06ICdtaW5pbXVtJyxcbiAgbWVkaWFuOiAnbWVkaWFuJyxcbiAgc3RkZXY6ICdzdGRldicsXG4gIHN1bTogJ3N1bScsXG4gIHZhcmlhbmNlOiAndmFyaWFuY2UnLFxuICAvLyBvcmRpbmFsXG4gIG1vZGU6ICdtb2RlJyxcbiAgY291bnRVbmlxdWU6ICdjb3VudCB1bmlxdWUnLFxuICBhbnlWYWx1ZTogJ2FueV92YWx1ZSdcbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFU19BR0dSRUdBVE9SUyA9IHtcbiAgZGF0ZTogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgaW50ZWdlcjogW1xuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmNvdW50LFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN0ZGV2LFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN1bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZVxuICBdLFxuICByZWFsOiBbXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuY291bnQsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3RkZXYsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3VtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnZhcmlhbmNlXG4gIF0sXG4gIHN0cmluZzogW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGUsIEFHR1JFR0FUSU9OX1RZUEVTLmFueVZhbHVlXSxcbiAgdGltZXN0YW1wOiBudWxsLFxuICBwb2ludDogbnVsbFxufTtcblxuZXhwb3J0IGNvbnN0IEZJRUxEX0FHR1JFR0FUT1JTID0gW1xuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLmNvdW50LFxuICAgIGRpc3BsYXlOYW1lOiAnQ09VTlQnXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBkaXNwbGF5TmFtZTogJ0FWRydcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtLFxuICAgIGRpc3BsYXlOYW1lOiAnTUFYJ1xuICB9LFxuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgZGlzcGxheU5hbWU6ICdNSU4nXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuc3RkZXYsXG4gICAgZGlzcGxheU5hbWU6ICdTVERFVidcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5zdW0sXG4gICAgZGlzcGxheU5hbWU6ICdTVU0nXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMudmFyaWFuY2UsXG4gICAgZGlzcGxheU5hbWU6ICdWQVJJQU5DRSdcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5tb2RlLFxuICAgIGRpc3BsYXlOYW1lOiAnTU9ERSdcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5hbnlWYWx1ZSxcbiAgICBkaXNwbGF5TmFtZTogJ0FOWSBWQUxVRSdcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMuc3FydF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmN1c3RvbU1hcmtlcl06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmlkZW50aXR5XTogW11cbn07XG5cbmV4cG9ydCBjb25zdCBsaW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRdOiBbU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcblxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmNvdW50XTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMucG9pbnRdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtTQ0FMRV9UWVBFUy5wb2ludF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jdXN0b21NYXJrZXJdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5pZGVudGl0eV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgb3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zID0ge1xuICAvLyBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXTogW1NDQUxFX1RZUEVTLm9yZGluYWwsIFNDQUxFX1RZUEVTLmxpbmVhcl0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGVdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmFueVZhbHVlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudFVuaXF1ZV06IFtcbiAgICAgIFNDQUxFX1RZUEVTLnF1YW50aXplLFxuICAgICAgU0NBTEVfVFlQRVMucXVhbnRpbGUsXG4gICAgICBTQ0FMRV9UWVBFUy5jdXN0b21cbiAgICBdXG4gIH0sXG5cbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tb2RlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5hbnlWYWx1ZV06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydGVkU2NhbGVPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuY3VzdG9tTWFya2VyXTogW10sXG4gIFtDSEFOTkVMX1NDQUxFUy5pZGVudGl0eV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydEFnZ3JPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge30sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG4vKipcbiAqIERlZmF1bHQgYWdncmVnYXRpb24gYXJlIGJhc2VkIG9uIG9jdW50XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FHR1JFR0FUSU9OID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuLyoqXG4gKiBEZWZpbmUgd2hhdCB0eXBlIG9mIHNjYWxlIG9wZXJhdGlvbiBpcyBhbGxvd2VkIG9uIGVhY2ggdHlwZSBvZiBmaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IEZJRUxEX09QVFMgPSB7XG4gIHN0cmluZzoge1xuICAgIHR5cGU6ICdjYXRlZ29yaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIHJlYWw6IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLmxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5ERUNJTUFMLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5QRVJDRU5UQUdFXG4gICAgICBdXG4gICAgfVxuICB9LFxuICB0aW1lc3RhbXA6IHtcbiAgICB0eXBlOiAndGltZScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVfVElNRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgaW50ZWdlcjoge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ubGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRFQ0lNQUwsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLlBFUkNFTlRBR0VcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJvb2xlYW46IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkJPT0xFQU5dXG4gICAgfVxuICB9LFxuICBkYXRlOiB7XG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVdXG4gICAgfVxuICB9LFxuICBnZW9qc29uOiB7XG4gICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubm90U3VwcG9ydGVkU2NhbGVPcHRzLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTID0gT2JqZWN0LmtleXMoQ0hBTk5FTF9TQ0FMRVMpLnJlZHVjZShcbiAgKGFjY3UsIGtleSkgPT4gKHtcbiAgICAuLi5hY2N1LFxuICAgIFtrZXldOiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTKS5maWx0ZXIoZnQgPT4gT2JqZWN0LmtleXMoRklFTERfT1BUU1tmdF0uc2NhbGVba2V5XSkubGVuZ3RoKVxuICB9KSxcbiAge31cbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SID0ge1xuICB0cmlwQXJjOiAnIzkyMjZDNicsXG4gIGJlZ2ludHJpcF9sYXQ6ICcjMUU5NkJFJyxcbiAgZHJvcG9mZl9sYXQ6ICcjRkY5OTFGJyxcbiAgcmVxdWVzdF9sYXQ6ICcjNTJBMzUzJ1xufTtcblxuLy8gbGV0IHVzZXIgcGFzcyBpbiBkZWZhdWx0IHRvb2x0aXAgZmllbGRzXG5leHBvcnQgY29uc3QgREVGQVVMVF9UT09MVElQX0ZJRUxEUzogYW55W10gPSBbXTtcblxuZXhwb3J0IGNvbnN0IE5PX1ZBTFVFX0NPTE9SOiBDb2xvciA9IFswLCAwLCAwLCAwXTtcbmV4cG9ydCBjb25zdCBVTktOT1dOX0NPTE9SOiBDb2xvciA9IFsxMzQsIDE0MSwgMTQ1XTtcblxuZXhwb3J0IGNvbnN0IExBWUVSX0JMRU5ESU5HUyA9IHtcbiAgYWRkaXRpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuYWRkaXRpdmUnLFxuICAgIGJsZW5kRnVuYzogWydTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogJ0ZVTkNfQUREJ1xuICB9LFxuICBub3JtYWw6IHtcbiAgICAvLyByZWZlcmVuY2UgdG9cbiAgICAvLyBodHRwczovL2xpbW51LmNvbS93ZWJnbC1ibGVuZGluZy15b3VyZS1wcm9iYWJseS13cm9uZy9cbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcubm9ybWFsJyxcbiAgICBibGVuZEZ1bmM6IFsnU1JDX0FMUEhBJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnLCAnT05FJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiBbJ0ZVTkNfQUREJywgJ0ZVTkNfQUREJ11cbiAgfSxcbiAgc3VidHJhY3RpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuc3VidHJhY3RpdmUnLFxuICAgIGJsZW5kRnVuYzogWydPTkUnLCAnT05FX01JTlVTX0RTVF9DT0xPUicsICdTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogWydGVU5DX1NVQlRSQUNUJywgJ0ZVTkNfQUREJ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IE1BWF9ERUZBVUxUX1RPT0xUSVBTID0gNTtcblxuZXhwb3J0IGNvbnN0IFJFU09MVVRJT05TID0ga2V5TWlycm9yKHtcbiAgT05FX1g6IG51bGwsXG4gIFRXT19YOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUdfUkFUSU9TID0ga2V5TWlycm9yKHtcbiAgU0NSRUVOOiBudWxsLFxuICBGT1VSX0JZX1RIUkVFOiBudWxsLFxuICBTSVhURUVOX0JZX05JTkU6IG51bGwsXG4gIENVU1RPTTogbnVsbFxufSk7XG5cbmV4cG9ydCB0eXBlIEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBrZXlvZiB0eXBlb2YgRVhQT1JUX0lNR19SQVRJT1M7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGhpZGRlbj86IGJvb2xlYW47XG4gIGdldFNpemU6IChzY3JlZW5XOiBudW1iZXIsIHNjcmVlbkg6IG51bWJlcikgPT4ge3dpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTY3JlZW5SYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLlNDUkVFTixcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpb09yaWdpbmFsU2NyZWVuJyxcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7d2lkdGg6IHNjcmVlblcsIGhlaWdodDogc2NyZWVuSH0pXG59O1xuZXhwb3J0IGNvbnN0IEN1c3RvbVJhdGlvT3B0aW9uOiBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDogRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NLFxuICBoaWRkZW46IHRydWUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9DdXN0b20nLFxuICBnZXRTaXplOiAobWFwVywgbWFwSCkgPT4gKHt3aWR0aDogbWFwVywgaGVpZ2h0OiBtYXBIfSlcbn07XG5leHBvcnQgY29uc3QgRm91ckJ5VGhyZWVSYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLkZPVVJfQllfVEhSRUUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW80XzMnLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyxcbiAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNzUpXG4gIH0pXG59O1xuZXhwb3J0IGNvbnN0IFNpeHRlZW5CeU5pbmVSYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLlNJWFRFRU5fQllfTklORSxcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpbzE2XzknLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyxcbiAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNTYyNSlcbiAgfSlcbn07XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JBVElPX09QVElPTlM6IFJlYWRvbmx5QXJyYXk8SW1hZ2VSYXRpb09wdGlvbj4gPSBbXG4gIFNjcmVlblJhdGlvT3B0aW9uLFxuICBDdXN0b21SYXRpb09wdGlvbixcbiAgRm91ckJ5VGhyZWVSYXRpb09wdGlvbixcbiAgU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uXG5dO1xuXG5leHBvcnQgdHlwZSBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBrZXlvZiB0eXBlb2YgUkVTT0xVVElPTlM7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGF2YWlsYWJsZTogYm9vbGVhbjtcbiAgc2NhbGU6IG51bWJlcjtcbiAgZ2V0U2l6ZTogKHNjcmVlblc6IG51bWJlciwgc2NyZWVuSDogbnVtYmVyKSA9PiB7d2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9O1xufTtcblxuZXhwb3J0IGNvbnN0IE9uZVhSZXNvbHV0aW9uT3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBSRVNPTFVUSU9OUy5PTkVfWCxcbiAgbGFiZWw6ICcxeCcsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgc2NhbGU6IDEsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XLFxuICAgIGhlaWdodDogc2NyZWVuSFxuICB9KVxufTtcblxuZXhwb3J0IGNvbnN0IFR3b1hSZXNvbHV0aW9uT3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBSRVNPTFVUSU9OUy5UV09fWCxcbiAgbGFiZWw6ICcyeCcsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgc2NhbGU6IDIsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XICogMixcbiAgICBoZWlnaHQ6IHNjcmVlbkggKiAyXG4gIH0pXG59O1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlM6IFJlYWRvbmx5QXJyYXk8SW1hZ2VSZXNvbHV0aW9uT3B0aW9uPiA9IFtcbiAgT25lWFJlc29sdXRpb25PcHRpb24sXG4gIFR3b1hSZXNvbHV0aW9uT3B0aW9uXG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfVFlQRSA9IGtleU1pcnJvcih7XG4gIENTVjogbnVsbFxuICAvLyBTSEFQRUZJTEU6IG51bGwsXG4gIC8vIEpTT046IG51bGwsXG4gIC8vIEdFT0pTT046IG51bGwsXG4gIC8vIFRPUE9KU09OOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyA9IFtcbiAge1xuICAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkNTVixcbiAgICBsYWJlbDogRVhQT1JUX0RBVEFfVFlQRS5DU1YudG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfVxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuU0hBUEVGSUxFLFxuICAvLyAgIGxhYmVsOiAnc2hhcGVmaWxlJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5KU09OLFxuICAvLyAgIGxhYmVsOiAnanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuR0VPSlNPTixcbiAgLy8gICBsYWJlbDogJ2dlb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLlRPUE9KU09OLFxuICAvLyAgIGxhYmVsOiAndG9wb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfVxuXTtcblxuLy8gRXhwb3J0IG1hcCB0eXBlc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIEhUTUw6IG51bGwsXG4gIEpTT046IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0hUTUxfTUFQX01PREVTID0ga2V5TWlycm9yKHtcbiAgUkVBRDogbnVsbCxcbiAgRURJVDogbnVsbFxufSk7XG5cbi8vIEV4cG9ydCBtYXAgb3B0aW9uc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfTUFQX0ZPUk1BVFMpLm1hcChcbiAgKGVudHJ5OiBbc3RyaW5nLCBhbnldKSA9PiAoe1xuICAgIGlkOiBlbnRyeVswXSxcbiAgICBsYWJlbDogZW50cnlbMV0udG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TID0gT2JqZWN0LmVudHJpZXMoRVhQT1JUX0hUTUxfTUFQX01PREVTKS5tYXAoXG4gIChlbnRyeTogW3N0cmluZywgYW55XSkgPT4gKHtcbiAgICBpZDogZW50cnlbMF0sXG4gICAgbGFiZWw6IGBtb2RhbC5leHBvcnRNYXAuaHRtbC4ke2VudHJ5WzFdLnRvTG93ZXJDYXNlKCl9YCxcbiAgICBhdmFpbGFibGU6IHRydWUsXG4gICAgdXJsOiBnZXRIVE1MTWFwTW9kZVRpbGVVcmwoZW50cnlbMV0pXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9VVUlEX0NPVU5UID0gNjtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX01FU1NBR0UgPSAnTUVTU0FHRV9OT1RfUFJPVklERUQnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBpbmZvOiBudWxsLFxuICBlcnJvcjogbnVsbCxcbiAgd2FybmluZzogbnVsbCxcbiAgc3VjY2VzczogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MgPSBrZXlNaXJyb3Ioe1xuICBnbG9iYWw6IG51bGwsXG4gIGZpbGU6IG51bGxcbn0pO1xuXG4vLyBNaW5pbXVtIHRpbWUgYmV0d2VlbiBpZGVudGljYWwgbm90aWZpY2F0aW9ucyBhYm91dCBkZWNrLmdsIGVycm9yc1xuZXhwb3J0IGNvbnN0IFRIUk9UVExFX05PVElGSUNBVElPTl9USU1FID0gMjUwMDtcblxuLy8gQW5pbWF0aW9uXG5leHBvcnQgY29uc3QgQkFTRV9TUEVFRCA9IDYwMDtcbmV4cG9ydCBjb25zdCBGUFMgPSA2MDtcblxuLyoqXG4gKiA0IEFuaW1hdGlvbiBXaW5kb3cgVHlwZXNcbiAqIDEuIGZyZWVcbiAqICB8LT4gIHwtPlxuICogQ3VycmVudCB0aW1lIGlzIGEgZml4ZWQgcmFuZ2UsIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lcyBjb250aW51b3VzbHkgdG8gYW5pbWF0aW9uIGEgbW92aW5nIHdpbmRvd1xuICogVGhlIGluY3JlbWVudCBpZCBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAqXG4gKiAyLiBpbmNyZW1lbnRhbFxuICogfCAgICB8LT5cbiAqIFNhbWUgYXMgZnJlZSwgY3VycmVudCB0aW1lIGlzIGEgZ3Jvd2luZyByYW5nZSwgb25seSB0aGUgbWF4IHZhbHVlIG9mIHJhbmdlIGluY3JlbWVudCBkdXJpbmcgYW5pbWF0aW9uLlxuICogVGhlIGluY3JlbWVudCBpcyBhbHNvIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDMuIHBvaW50XG4gKiBvIC0+IG9cbiAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LCBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBmcmFtZSBjb250aW51b3VzbHkgdG8gYW5pbWF0aW9uIGEgbW92aW5nIHBvaW50XG4gKiBUaGUgaW5jcmVtZW50IGlzIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDQuIGludGVydmFsXG4gKiBvIH4+IG9cbiAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LiBBbiBhcnJheSBvZiBzb3J0ZWQgdGltZSBzdGVwcyBuZWVkIHRvIGJlIHByb3ZpZGVkLlxuICogYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gYXQgYSBpbnRlcnZhbCB3aGVuIHRoZSBwb2ludCBqdW1wcyB0byB0aGUgbmV4dCBzdGVwXG4gKi9cbmV4cG9ydCBjb25zdCBBTklNQVRJT05fV0lORE9XID0ga2V5TWlycm9yKHtcbiAgZnJlZTogbnVsbCxcbiAgaW5jcmVtZW50YWw6IG51bGwsXG4gIHBvaW50OiBudWxsLFxuICBpbnRlcnZhbDogbnVsbFxufSk7XG5leHBvcnQgY29uc3QgREVGQVVMVF9USU1FX0ZPUk1BVCA9ICdNTS9ERC9ZWSBISDptbTpzc2EnO1xuZXhwb3J0IGNvbnN0IFNQRUVEX0NPTlRST0xfUkFOR0U6IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgMTBdO1xuZXhwb3J0IGNvbnN0IFNQRUVEX0NPTlRST0xfU1RFUCA9IDAuMDAxO1xuXG4vLyBHZW9jb2RlclxuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0RBVEFTRVRfTkFNRSA9ICdnZW9jb2Rlcl9kYXRhc2V0JztcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9MQVlFUl9JRCA9ICdnZW9jb2Rlcl9sYXllcic7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfR0VPX09GRlNFVCA9IDAuMDU7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9DT0xPUjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdID0gWzI1NSwgMCwgMF07XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9TSVpFID0gODA7XG5cbi8vIFdlIGNvdWxkIHVzZSBkaXJlY3RseSByZWFjdC1tYXAtZ2wtZHJhdyBFZGl0b3JNb2RlIGJ1dCB0aGlzIHdvdWxkXG4vLyBjcmVhdGUgYSBkaXJlY3QgZGVwZW5kZW5jeSB3aXRoIHJlYWN0LW1hcC1nbC1kcmF3XG4vLyBDcmVhdGVkIHRoaXMgbWFwIHRvIGJlIGluZGVwZW5kZW50IGZyb20gcmVhY3QtbWFwLWdsLWRyYXdcbmV4cG9ydCBjb25zdCBFRElUT1JfTU9ERVMgPSB7XG4gIFJFQURfT05MWTogRWRpdG9yTW9kZXMuUkVBRF9PTkxZLFxuICBEUkFXX1BPTFlHT046IEVkaXRvck1vZGVzLkRSQVdfUE9MWUdPTixcbiAgRFJBV19SRUNUQU5HTEU6IEVkaXRvck1vZGVzLkRSQVdfUkVDVEFOR0xFLFxuICBFRElUOiBFZGl0b3JNb2Rlcy5FRElUX1ZFUlRFWFxufTtcblxuZXhwb3J0IGNvbnN0IEVESVRPUl9BVkFJTEFCTEVfTEFZRVJTOiBzdHJpbmdbXSA9IFtcbiAgTEFZRVJfVFlQRVMucG9pbnQsXG4gIExBWUVSX1RZUEVTLmhleGFnb24sXG4gIExBWUVSX1RZUEVTLmFyYyxcbiAgTEFZRVJfVFlQRVMubGluZSxcbiAgTEFZRVJfVFlQRVMuaGV4YWdvbklkXG5dO1xuLy8gR1BVIEZpbHRlcmluZ1xuLyoqXG4gKiBNYXggbnVtYmVyIG9mIGZpbHRlciB2YWx1ZSBidWZmZXJzIHRoYXQgZGVjay5nbCBwcm92aWRlc1xuICovXG5leHBvcnQgY29uc3QgTUFYX0dQVV9GSUxURVJTID0gNDtcbmV4cG9ydCBjb25zdCBNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTiA9IHtcbiAgd2lkdGg6IDMwMCxcbiAgaGVpZ2h0OiAyMDBcbn07XG5cbmV4cG9ydCBjb25zdCBNQVBfSU5GT19DSEFSQUNURVIgPSB7XG4gIHRpdGxlOiAxMDAsXG4gIGRlc2NyaXB0aW9uOiAxMDBcbn07XG5cbi8vIExvYWQgZGF0YVxuZXhwb3J0IGNvbnN0IExPQURJTkdfTUVUSE9EUyA9IGtleU1pcnJvcih7XG4gIHVwbG9hZDogbnVsbCxcbiAgc3RvcmFnZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBEQVRBU0VUX0ZPUk1BVFMgPSBrZXlNaXJyb3Ioe1xuICByb3c6IG51bGwsXG4gIGdlb2pzb246IG51bGwsXG4gIGNzdjogbnVsbCxcbiAga2VwbGVyZ2w6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgTUFQX0NPTlRST0xTID0ga2V5TWlycm9yKHtcbiAgdmlzaWJsZUxheWVyczogbnVsbCxcbiAgbWFwTGVnZW5kOiBudWxsLFxuICB0b2dnbGUzZDogbnVsbCxcbiAgc3BsaXRNYXA6IG51bGwsXG4gIG1hcERyYXc6IG51bGwsXG4gIG1hcExvY2FsZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBNQVNLX0xBWUVSX0lEID0gJ21hc2tfbGF5ZXInO1xuXG5leHBvcnQgY29uc3QgWk9PTV9MRVZFTF9MSU1JVFMgPSB7XG4gIG1pbjogMCxcbiAgbWF4OiAyMVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFvQkEsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBR0EsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBVUEsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBV0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssYUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sUUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sTUFBQSxHQUFBUCxPQUFBO0FBQXlDLFNBQUFRLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFB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QkFBVyxDQUFDRztBQUNwQixDQUFDO0FBRU0sSUFBTUMsdUJBQWlDLEdBQUFqUixPQUFBLENBQUFpUix1QkFBQSxHQUFHLENBQy9DQyxrQkFBVyxDQUFDL0wsS0FBSyxFQUNqQitMLGtCQUFXLENBQUNDLE9BQU8sRUFDbkJELGtCQUFXLENBQUNFLEdBQUcsRUFDZkYsa0JBQVcsQ0FBQ0csSUFBSSxFQUNoQkgsa0JBQVcsQ0FBQ0ksU0FBUyxDQUN0QjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ08sSUFBTUMsZUFBZSxHQUFBdlIsT0FBQSxDQUFBdVIsZUFBQSxHQUFHLENBQUM7QUFDekIsSUFBTUMsdUJBQXVCLEdBQUF4UixPQUFBLENBQUF3Uix1QkFBQSxHQUFHO0VBQ3JDcFEsS0FBSyxFQUFFLEdBQUc7RUFDVmdNLE1BQU0sRUFBRTtBQUNWLENBQUM7QUFFTSxJQUFNcUUsa0JBQWtCLEdBQUF6UixPQUFBLENBQUF5UixrQkFBQSxHQUFHO0VBQ2hDQyxLQUFLLEVBQUUsR0FBRztFQUNWQyxXQUFXLEVBQUU7QUFDZixDQUFDOztBQUVEO0FBQ08sSUFBTUMsZUFBZSxHQUFBNVIsT0FBQSxDQUFBNFIsZUFBQSxHQUFHLElBQUE1UCxxQkFBUyxFQUFDO0VBQ3ZDNlAsTUFBTSxFQUFFLElBQUk7RUFDWkMsT0FBTyxFQUFFO0FBQ1gsQ0FBQyxDQUFDO0FBRUssSUFBTUMsZUFBZSxHQUFBL1IsT0FBQSxDQUFBK1IsZUFBQSxHQUFHLElBQUEvUCxxQkFBUyxFQUFDO0VBQ3ZDZ1EsR0FBRyxFQUFFLElBQUk7RUFDVG5PLE9BQU8sRUFBRSxJQUFJO0VBQ2JvTyxHQUFHLEVBQUUsSUFBSTtFQUNUQyxRQUFRLEVBQUU7QUFDWixDQUFDLENBQUM7QUFFSyxJQUFNQyxZQUFZLEdBQUFuUyxPQUFBLENBQUFtUyxZQUFBLEdBQUcsSUFBQW5RLHFCQUFTLEVBQUM7RUFDcENvUSxhQUFhLEVBQUUsSUFBSTtFQUNuQnZRLFNBQVMsRUFBRSxJQUFJO0VBQ2Z3USxRQUFRLEVBQUUsSUFBSTtFQUNkQyxRQUFRLEVBQUUsSUFBSTtFQUNkQyxPQUFPLEVBQUUsSUFBSTtFQUNiQyxTQUFTLEVBQUU7QUFDYixDQUFDLENBQUM7QUFFSyxJQUFNQyxhQUFhLEdBQUF6UyxPQUFBLENBQUF5UyxhQUFBLEdBQUcsWUFBWTtBQUVsQyxJQUFNQyxpQkFBaUIsR0FBQTFTLE9BQUEsQ0FBQTBTLGlCQUFBLEdBQUc7RUFDL0JDLEdBQUcsRUFBRSxDQUFDO0VBQ05DLEdBQUcsRUFBRTtBQUNQLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@carto/kepler.gl",
3
3
  "author": "CARTO",
4
4
  "homepage": "https://github.com/CartoDB/carto-kepler#readme",
5
- "version": "0.0.82",
5
+ "version": "0.0.83-alpha.0",
6
6
  "description": "kepler.gl is a webgl based application to visualize large scale location data in the browser",
7
7
  "license": "MIT",
8
8
  "type": "commonjs",
@@ -189,8 +189,6 @@ function LayerManagerFactory(
189
189
  <FormattedMessage id={panelMetadata.label} />
190
190
  </PanelTitle>
191
191
  {defaultDataset ? (
192
- // TODO replace ignore
193
- // @ts-ignore
194
192
  <AddLayerButton
195
193
  datasets={datasets}
196
194
  typeaheadPlaceholder="Search datasets"
@@ -215,8 +213,6 @@ function LayerManagerFactory(
215
213
  showDeleteDataset
216
214
  />
217
215
  ) : (
218
- // TODO replace ignore
219
- // @ts-ignore
220
216
  <LayerList
221
217
  layers={layers}
222
218
  datasets={datasets}
@@ -61,6 +61,10 @@ export const StyledSidePanelContent = styled.div`
61
61
  }
62
62
  `;
63
63
 
64
+ const StyledSidePanelSpacer = styled.div.attrs({className: 'side-panel__content__spacer'})`
65
+ flex-grow: 1;
66
+ `;
67
+
64
68
  SidePanelFactory.deps = [
65
69
  SidebarFactory,
66
70
  PanelHeaderFactory,
@@ -217,27 +221,30 @@ export default function SidePanelFactory(
217
221
  </PanelTitle>
218
222
  ) : null}
219
223
  {PanelComponent ? (
220
- <PanelComponent
221
- datasets={datasets}
222
- filters={filters}
223
- layers={layers}
224
- layerClasses={layerClasses}
225
- layerOrder={layerOrder}
226
- layerBlending={layerBlending}
227
- mapStyle={mapStyle}
228
- mapStyleActions={mapStyleActions}
229
- mapStateActions={mapStateActions}
230
- interactionConfig={interactionConfig}
231
- removeDataset={onRemoveDataset}
232
- showDatasetTable={onShowDatasetTable}
233
- updateTableColor={onUpdateTableColor}
234
- showAddDataModal={onShowAddDataModal}
235
- showAddMapStyleModal={onShowAddMapStyleModal}
236
- uiStateActions={uiStateActions}
237
- visStateActions={visStateActions}
238
- panelMetadata={currentPanel}
239
- layerPanelListView={currentPanel?.id === 'layer' && uiState.layerPanelListView}
240
- />
224
+ <>
225
+ <PanelComponent
226
+ datasets={datasets}
227
+ filters={filters}
228
+ layers={layers}
229
+ layerClasses={layerClasses}
230
+ layerOrder={layerOrder}
231
+ layerBlending={layerBlending}
232
+ mapStyle={mapStyle}
233
+ mapStyleActions={mapStyleActions}
234
+ mapStateActions={mapStateActions}
235
+ interactionConfig={interactionConfig}
236
+ removeDataset={onRemoveDataset}
237
+ showDatasetTable={onShowDatasetTable}
238
+ updateTableColor={onUpdateTableColor}
239
+ showAddDataModal={onShowAddDataModal}
240
+ showAddMapStyleModal={onShowAddMapStyleModal}
241
+ uiStateActions={uiStateActions}
242
+ visStateActions={visStateActions}
243
+ panelMetadata={currentPanel}
244
+ layerPanelListView={currentPanel?.id === 'layer' && uiState.layerPanelListView}
245
+ />
246
+ <StyledSidePanelSpacer />
247
+ </>
241
248
  ) : null}
242
249
  <CustomPanels {...customPanelProps} activeSidePanel={activeSidePanel} />
243
250
  </div>