@kando-env/kando-ui 1.2.278-alpha.10 → 1.2.278-alpha.12

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.
@@ -46,25 +46,22 @@ var AreaPolygon = function AreaPolygon(props) {
46
46
  global_data: global_data
47
47
  }), widgetContainer);
48
48
  polygon.addTo(map);
49
- var bindPopup = props.bindPopup;
50
- if (bindPopup) {
51
- (0, _utils.createPopupForObject)({
52
- renderedElement: widgetContainer,
53
- marker: polygon
54
- });
55
- }
49
+ (0, _utils.createPopupForObject)({
50
+ renderedElement: widgetContainer,
51
+ marker: polygon
52
+ });
56
53
  };
57
54
  (0, _react.useEffect)(function () {
58
55
  if (LayerGroup.getLayers().length > 0) {
59
56
  (0, _AreaUtils.bindPopupBasedOnZoomLevel)(LayerGroup, mapZoom, area);
60
57
  } else {
61
- var polygon = (0, _AreaUtils.createPolygon)(area, mapZoom, LayerGroup, map, popupCreator, handleSelectItem);
58
+ var polygon = (0, _AreaUtils.createPolygon)(area, mapZoom, LayerGroup, map, popupCreator, WWTPMode ? handleSelectItem : null);
62
59
  if (polygon) {
63
60
  var _area$sub_areas;
64
61
  polygon.bringToBack();
65
62
  var subAreasCreated = L.layerGroup([]);
66
63
  (_area$sub_areas = area.sub_areas) === null || _area$sub_areas === void 0 ? void 0 : _area$sub_areas.forEach(function (subArea) {
67
- (0, _AreaUtils.createPolygon)(subArea, mapZoom, subAreasCreated, map, popupCreator, handleSelectItem);
64
+ (0, _AreaUtils.createPolygon)(subArea, mapZoom, subAreasCreated, map, popupCreator, WWTPMode ? handleSelectItem : null);
68
65
  });
69
66
  if (subAreasCreated.getLayers().length > 0) {
70
67
  subAreasCreated.addTo(map);
@@ -78,4 +75,4 @@ var AreaPolygon = function AreaPolygon(props) {
78
75
  var connector = (0, _reactRedux.connect)(null);
79
76
  var _default = connector(AreaPolygon);
80
77
  exports.default = _default;
81
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9BcmVhVXRpbHMiLCJfcmVhY3REb20iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1dpZGdldCIsIl91dGlscyIsIl9MaXN0Q29udGV4dCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiQXJlYVBvbHlnb24iLCJwcm9wcyIsIkwiLCJtYXAiLCJhcmVhIiwibWFwWm9vbSIsImdsb2JhbF9kYXRhIiwicG9pbnRzIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsInBvaW50c19kYXRhIiwiaXRlbXMiLCJXV1RQTW9kZSIsInd3dHBfZGFzaGJvYXJkIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJsYXllckdyb3VwIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIkxheWVyR3JvdXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVNlbGVjdGVkSXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsImhhbmRsZVNlbGVjdEl0ZW0iLCJwb3B1cENyZWF0b3IiLCJwb2x5Z29uIiwid2lkZ2V0Q29udGFpbmVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiUmVhY3RET00iLCJyZW5kZXIiLCJXaWRnZXQiLCJvYmplY3QiLCJhZGRUbyIsImJpbmRQb3B1cCIsImNyZWF0ZVBvcHVwRm9yT2JqZWN0IiwicmVuZGVyZWRFbGVtZW50IiwibWFya2VyIiwidXNlRWZmZWN0IiwiZ2V0TGF5ZXJzIiwibGVuZ3RoIiwiYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbCIsImNyZWF0ZVBvbHlnb24iLCJfYXJlYSRzdWJfYXJlYXMiLCJicmluZ1RvQmFjayIsInN1YkFyZWFzQ3JlYXRlZCIsInN1Yl9hcmVhcyIsImZvckVhY2giLCJzdWJBcmVhIiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhUG9seWdvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbCwgY3JlYXRlUG9seWdvbiB9IGZyb20gJy4vQXJlYVV0aWxzJztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgV2lkZ2V0IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XaWRnZXQnO1xuaW1wb3J0IHsgY3JlYXRlUG9wdXBGb3JPYmplY3QgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzJztcbmltcG9ydCB7IHVzZVNlbGVjdGVkSXRlbSB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTGlzdENvbnRleHQnO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBhcmVhOiBJQXJlYSAmIHsgY29sb3I/OiBzdHJpbmc7IHNob3dDb2xvck9ubHlJbkJvcmRlcnM/OiBib29sZWFuIH07XG4gIG1hcFpvb206IG51bWJlcjtcbiAgZ2xvYmFsX2RhdGE6IGFueTtcbiAgYmluZFBvcHVwPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEFyZWFQb2x5Z29uOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBMLCBtYXAsIGFyZWEsIG1hcFpvb20sIGdsb2JhbF9kYXRhIH0gPSBwcm9wcztcbiAgY29uc3QgcG9pbnRzID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5wb2ludHNfZGF0YS5pdGVtcyk7XG4gIGNvbnN0IFdXVFBNb2RlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGwpO1xuICAvLyB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyhtYXAsIGFyZWEsICdBcmVhJywgbWFwWm9vbSk7XG4gIGNvbnN0IFtMYXllckdyb3VwXSA9IHVzZVN0YXRlPGFueT4oTC5sYXllckdyb3VwKFtdKSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBoYW5kbGVTZWxlY3RJdGVtIH0gPSB1c2VTZWxlY3RlZEl0ZW0oKTtcbiAgbGV0IHBvcHVwQ3JlYXRvciA9IChwb2x5Z29uLCBhcmVhKSA9PiB7XG4gICAgaWYgKCFXV1RQTW9kZSkgcmV0dXJuO1xuICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgIDxXaWRnZXRcbiAgICAgICAgb2JqZWN0PXthcmVhfVxuICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgLz4sXG4gICAgICB3aWRnZXRDb250YWluZXIsXG4gICAgKTtcbiAgICBwb2x5Z29uLmFkZFRvKG1hcCk7XG4gICAgY29uc3QgYmluZFBvcHVwID0gcHJvcHMuYmluZFBvcHVwO1xuICAgIGlmIChiaW5kUG9wdXApIHtcbiAgICAgIGNyZWF0ZVBvcHVwRm9yT2JqZWN0KHtcbiAgICAgICAgcmVuZGVyZWRFbGVtZW50OiB3aWRnZXRDb250YWluZXIsXG4gICAgICAgIG1hcmtlcjogcG9seWdvbixcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChMYXllckdyb3VwLmdldExheWVycygpLmxlbmd0aCA+IDApIHtcbiAgICAgIGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwoTGF5ZXJHcm91cCwgbWFwWm9vbSwgYXJlYSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHBvbHlnb24gPSBjcmVhdGVQb2x5Z29uKFxuICAgICAgICBhcmVhLFxuICAgICAgICBtYXBab29tLFxuICAgICAgICBMYXllckdyb3VwLFxuICAgICAgICBtYXAsXG4gICAgICAgIHBvcHVwQ3JlYXRvcixcbiAgICAgICAgaGFuZGxlU2VsZWN0SXRlbSxcbiAgICAgICk7XG4gICAgICBpZiAocG9seWdvbikge1xuICAgICAgICBwb2x5Z29uLmJyaW5nVG9CYWNrKCk7XG4gICAgICAgIGxldCBzdWJBcmVhc0NyZWF0ZWQgPSBMLmxheWVyR3JvdXAoW10pO1xuICAgICAgICBhcmVhLnN1Yl9hcmVhcz8uZm9yRWFjaCgoc3ViQXJlYSkgPT4ge1xuICAgICAgICAgIGNyZWF0ZVBvbHlnb24oXG4gICAgICAgICAgICBzdWJBcmVhLFxuICAgICAgICAgICAgbWFwWm9vbSxcbiAgICAgICAgICAgIHN1YkFyZWFzQ3JlYXRlZCxcbiAgICAgICAgICAgIG1hcCxcbiAgICAgICAgICAgIHBvcHVwQ3JlYXRvcixcbiAgICAgICAgICAgIGhhbmRsZVNlbGVjdEl0ZW0sXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChzdWJBcmVhc0NyZWF0ZWQuZ2V0TGF5ZXJzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHN1YkFyZWFzQ3JlYXRlZC5hZGRUbyhtYXApO1xuICAgICAgICAgIHBvbHlnb25bJ3N1Yl9hcmVhcyddID0gc3ViQXJlYXNDcmVhdGVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LCBbYXJlYSwgbWFwWm9vbV0pO1xuXG4gIHJldHVybiA8ZGl2PjwvZGl2Pjtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobnVsbCk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoQXJlYVBvbHlnb24pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxVQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFQLE9BQUE7QUFBcUUsU0FBQVEseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFWLHdCQUFBYyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FB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
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9BcmVhVXRpbHMiLCJfcmVhY3REb20iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1dpZGdldCIsIl91dGlscyIsIl9MaXN0Q29udGV4dCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiQXJlYVBvbHlnb24iLCJwcm9wcyIsIkwiLCJtYXAiLCJhcmVhIiwibWFwWm9vbSIsImdsb2JhbF9kYXRhIiwicG9pbnRzIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsInBvaW50c19kYXRhIiwiaXRlbXMiLCJXV1RQTW9kZSIsInd3dHBfZGFzaGJvYXJkIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJsYXllckdyb3VwIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIkxheWVyR3JvdXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVNlbGVjdGVkSXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsImhhbmRsZVNlbGVjdEl0ZW0iLCJwb3B1cENyZWF0b3IiLCJwb2x5Z29uIiwid2lkZ2V0Q29udGFpbmVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiUmVhY3RET00iLCJyZW5kZXIiLCJXaWRnZXQiLCJvYmplY3QiLCJhZGRUbyIsImNyZWF0ZVBvcHVwRm9yT2JqZWN0IiwicmVuZGVyZWRFbGVtZW50IiwibWFya2VyIiwidXNlRWZmZWN0IiwiZ2V0TGF5ZXJzIiwibGVuZ3RoIiwiYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbCIsImNyZWF0ZVBvbHlnb24iLCJfYXJlYSRzdWJfYXJlYXMiLCJicmluZ1RvQmFjayIsInN1YkFyZWFzQ3JlYXRlZCIsInN1Yl9hcmVhcyIsImZvckVhY2giLCJzdWJBcmVhIiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhUG9seWdvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbCwgY3JlYXRlUG9seWdvbiB9IGZyb20gJy4vQXJlYVV0aWxzJztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgV2lkZ2V0IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XaWRnZXQnO1xuaW1wb3J0IHsgY3JlYXRlUG9wdXBGb3JPYmplY3QgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzJztcbmltcG9ydCB7IHVzZVNlbGVjdGVkSXRlbSB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTGlzdENvbnRleHQnO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBhcmVhOiBJQXJlYSAmIHsgY29sb3I/OiBzdHJpbmc7IHNob3dDb2xvck9ubHlJbkJvcmRlcnM/OiBib29sZWFuIH07XG4gIG1hcFpvb206IG51bWJlcjtcbiAgZ2xvYmFsX2RhdGE6IGFueTtcbiAgYmluZFBvcHVwPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEFyZWFQb2x5Z29uOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBMLCBtYXAsIGFyZWEsIG1hcFpvb20sIGdsb2JhbF9kYXRhIH0gPSBwcm9wcztcbiAgY29uc3QgcG9pbnRzID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5wb2ludHNfZGF0YS5pdGVtcyk7XG4gIGNvbnN0IFdXVFBNb2RlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGwpO1xuICAvLyB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyhtYXAsIGFyZWEsICdBcmVhJywgbWFwWm9vbSk7XG4gIGNvbnN0IFtMYXllckdyb3VwXSA9IHVzZVN0YXRlPGFueT4oTC5sYXllckdyb3VwKFtdKSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBoYW5kbGVTZWxlY3RJdGVtIH0gPSB1c2VTZWxlY3RlZEl0ZW0oKTtcbiAgbGV0IHBvcHVwQ3JlYXRvciA9IChwb2x5Z29uLCBhcmVhKSA9PiB7XG4gICAgaWYgKCFXV1RQTW9kZSkgcmV0dXJuO1xuICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgIDxXaWRnZXRcbiAgICAgICAgb2JqZWN0PXthcmVhfVxuICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgLz4sXG4gICAgICB3aWRnZXRDb250YWluZXIsXG4gICAgKTtcbiAgICBwb2x5Z29uLmFkZFRvKG1hcCk7XG5cbiAgICBjcmVhdGVQb3B1cEZvck9iamVjdCh7XG4gICAgICByZW5kZXJlZEVsZW1lbnQ6IHdpZGdldENvbnRhaW5lcixcbiAgICAgIG1hcmtlcjogcG9seWdvbixcbiAgICB9KTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChMYXllckdyb3VwLmdldExheWVycygpLmxlbmd0aCA+IDApIHtcbiAgICAgIGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwoTGF5ZXJHcm91cCwgbWFwWm9vbSwgYXJlYSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHBvbHlnb24gPSBjcmVhdGVQb2x5Z29uKFxuICAgICAgICBhcmVhLFxuICAgICAgICBtYXBab29tLFxuICAgICAgICBMYXllckdyb3VwLFxuICAgICAgICBtYXAsXG4gICAgICAgIHBvcHVwQ3JlYXRvcixcbiAgICAgICAgV1dUUE1vZGUgPyBoYW5kbGVTZWxlY3RJdGVtIDogbnVsbCxcbiAgICAgICk7XG4gICAgICBpZiAocG9seWdvbikge1xuICAgICAgICBwb2x5Z29uLmJyaW5nVG9CYWNrKCk7XG4gICAgICAgIGxldCBzdWJBcmVhc0NyZWF0ZWQgPSBMLmxheWVyR3JvdXAoW10pO1xuICAgICAgICBhcmVhLnN1Yl9hcmVhcz8uZm9yRWFjaCgoc3ViQXJlYSkgPT4ge1xuICAgICAgICAgIGNyZWF0ZVBvbHlnb24oXG4gICAgICAgICAgICBzdWJBcmVhLFxuICAgICAgICAgICAgbWFwWm9vbSxcbiAgICAgICAgICAgIHN1YkFyZWFzQ3JlYXRlZCxcbiAgICAgICAgICAgIG1hcCxcbiAgICAgICAgICAgIHBvcHVwQ3JlYXRvcixcbiAgICAgICAgICAgIFdXVFBNb2RlID8gaGFuZGxlU2VsZWN0SXRlbSA6IG51bGwsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChzdWJBcmVhc0NyZWF0ZWQuZ2V0TGF5ZXJzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHN1YkFyZWFzQ3JlYXRlZC5hZGRUbyhtYXApO1xuICAgICAgICAgIHBvbHlnb25bJ3N1Yl9hcmVhcyddID0gc3ViQXJlYXNDcmVhdGVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LCBbYXJlYSwgbWFwWm9vbV0pO1xuXG4gIHJldHVybiA8ZGl2PjwvZGl2Pjtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobnVsbCk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoQXJlYVBvbHlnb24pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxVQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFQLE9BQUE7QUFBcUUsU0FBQVEseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFWLHdCQUFBYyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFB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
@@ -133,17 +133,19 @@ var createPolygon = function createPolygon(area, mapZoom, LayerGroup, map, popup
133
133
  var polygon;
134
134
  if (area.shape_data !== null && area.shape_data !== undefined && area.shape_data.length > 0) {
135
135
  polygon = genericPolygon(area, mapZoom);
136
- var onClick = function onClick() {
137
- polygon.on('click', function () {
138
- handleClick(polygon.kando_object_id);
139
- var subject = 'Map View - Area clicked';
140
- (0, _utils.sendAnalyticsEvent)(subject, 'map', {
141
- area_id: area.area_id,
142
- area_name: area.area_name
136
+ if (handleClick !== undefined && handleClick !== null) {
137
+ var onClick = function onClick() {
138
+ polygon.on('click', function () {
139
+ handleClick(polygon.kando_object_id);
140
+ var subject = 'Map View - Area clicked';
141
+ (0, _utils.sendAnalyticsEvent)(subject, 'map', {
142
+ area_id: area.area_id,
143
+ area_name: area.area_name
144
+ });
143
145
  });
144
- });
145
- };
146
- onClick();
146
+ };
147
+ onClick();
148
+ }
147
149
  customAttributesForAreaPolygon(polygon, area);
148
150
  !LayerGroup.hasLayer(polygon) && LayerGroup.addLayer(polygon).addTo(map);
149
151
  popupCreator(polygon, area);
@@ -153,4 +155,4 @@ var createPolygon = function createPolygon(area, mapZoom, LayerGroup, map, popup
153
155
  return null;
154
156
  };
155
157
  exports.createPolygon = createPolygon;
156
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2NvcmVUb0RhdGEiLCJyZXF1aXJlIiwiX3RoZW1lIiwiX2xlYWZsZXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImV4cG9ydHMiLCJnZW5lcmljUG9seWdvbiIsIm1hcFpvb20iLCJhcmVhUG9seWdvbiIsImxhdGxuZ3MiLCJzaGFwZV9kYXRhIiwibWFwIiwibG9jYXRpb24iLCJsZW5ndGgiLCJjb2xvciIsInNjb3JlVG9Db2xvciIsImFyZWFfc2NvcmUiLCJ0aXRsZSIsInBvbHlnb25UaXRsZSIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiYmluZFRvb2x0aXAiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJjYWxjdWxhdGVQb2x5Z29uQXJlYSIsImNvb3JkaW5hdGVzIiwibnVtUG9pbnRzIiwiaSIsIngxIiwieTEiLCJ4MiIsInkyIiwiTWF0aCIsImFicyIsImNvbmNhdCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicHMxIiwiYmluZFRvb2xUaXAiLCJsYXllciIsInVuYmluZFRvb2x0aXAiLCJ1bmRlZmluZWQiLCJiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsIiwiTGF5ZXJHcm91cCIsImFyZ3VtZW50cyIsImdldExheWVycyIsImZvckVhY2giLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImRyaWxsRG93bkNvbmRpdGlvbiIsInN1Yl9hcmVhcyIsIl9tYXAiLCJwb2x5Z29uTGF5ZXIiLCJsYXllckdyb3VwIiwic2V0U3R5bGUiLCJzdHJva2UiLCJvcGFjaXR5IiwiZ2V0Wm9vbSIsInN1YkFyZWEiLCJhZGRMYXllciIsInJlbW92ZUxheWVyIiwicmVkcmF3Iiwiem9vbUNvbnRyb2xGb3JBcmVhIiwib24iLCJnZXRNYXBCb3VuZHMiLCJnZXRCb3VuZHMiLCJwb2x5Z29uQm91bmRzIiwiaW50ZXJzZWN0cyIsIm1hcEJvdW5kc1BvbHlnb24iLCJnZXRTb3V0aFdlc3QiLCJnZXROb3J0aFdlc3QiLCJnZXROb3J0aEVhc3QiLCJnZXRTb3V0aEVhc3QiLCJtYXBCb3VuZHMiLCJ0b0dlb0pTT04iLCJnZW9tZXRyeSIsImFyZWFTdXJmYWNlIiwiY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uIiwiYXJlYV9pZCIsImNhbGN1bGF0ZWRfc3VyZmFjZSIsImNyZWF0ZVBvbHlnb24iLCJwb3B1cENyZWF0b3IiLCJoYW5kbGVDbGljayIsIm9uQ2xpY2siLCJrYW5kb19vYmplY3RfaWQiLCJzdWJqZWN0Iiwic2VuZEFuYWx5dGljc0V2ZW50IiwiaGFzTGF5ZXIiLCJhZGRUbyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCBMLCB7IFBvbHlnb24gfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNlbmRBbmFseXRpY3NFdmVudCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgZ2V0QXJlYU5hbWUgPSAoYXJlYSkgPT4ge1xuICBsZXQgbmFtZSA9IGFyZWEuYXJlYV9uYW1lIHx8IGFyZWEubmFtZTtcblxuICByZXR1cm4gbmFtZTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmljUG9seWdvbiA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIGxldCBhcmVhUG9seWdvbjogUG9seWdvbjtcbiAgbGV0IGxhdGxuZ3MgPSBhcmVhLnNoYXBlX2RhdGEubWFwKChsb2NhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIFtsb2NhdGlvblsnbGF0J10sIGxvY2F0aW9uWydsbmcnXV07XG4gIH0pO1xuXG4gIGlmIChsYXRsbmdzLmxlbmd0aCA8IDEpIHJldHVybjtcblxuICBsZXQgY29sb3IgPSBhcmVhLmNvbG9yID8gYXJlYS5jb2xvciA6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuXG4gIGNvbnN0IHRpdGxlID0gcG9seWdvblRpdGxlKGFyZWEsIG1hcFpvb20pO1xuXG4gIGFyZWFQb2x5Z29uID0gTC5wb2x5Z29uKGxhdGxuZ3MsIHtcbiAgICBjb2xvcixcbiAgICBmaWxsT3BhY2l0eTogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMC4zIDogMC40LFxuICAgIHdlaWdodDogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMiA6IDAsXG4gIH0pLmJpbmRUb29sdGlwKHRpdGxlLCB7XG4gICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICBwZXJtYW5lbnQ6IG1hcFpvb20gPiAxMixcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcblxuICByZXR1cm4gYXJlYVBvbHlnb247XG59O1xuXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlUG9seWdvbkFyZWEgPSAoY29vcmRpbmF0ZXMpID0+IHtcbiAgbGV0IGFyZWEgPSAwO1xuICBsZXQgbnVtUG9pbnRzID0gY29vcmRpbmF0ZXMubGVuZ3RoO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtUG9pbnRzOyBpKyspIHtcbiAgICBsZXQgeDEgPSBjb29yZGluYXRlc1tpXVswXTtcbiAgICBsZXQgeTEgPSBjb29yZGluYXRlc1tpXVsxXTtcbiAgICBsZXQgeDIgPSBjb29yZGluYXRlc1soaSArIDEpICUgbnVtUG9pbnRzXVswXTtcbiAgICBsZXQgeTIgPSBjb29yZGluYXRlc1soaSArIDEpICUgbnVtUG9pbnRzXVsxXTtcblxuICAgIGFyZWEgKz0geDEgKiB5MiAtIHgyICogeTE7XG4gIH1cblxuICByZXR1cm4gTWF0aC5hYnMoYXJlYSAvIDIpO1xufTtcblxuY29uc3QgcG9seWdvblRpdGxlID0gKGFyZWEsIG1hcFpvb20pID0+IHtcbiAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiYXJlYS10b29sdGlwXCIgc3R5bGU9XCJjb2xvcjoke1xuICAgIHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucHMxXG4gIH07Zm9udC13ZWlnaHQ6NzAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOiAke1xuICAgIG1hcFpvb20gKiAxLjVcbiAgfXB4Oy13ZWJraXQtdGV4dC1zdHJva2U6IDAuOHB4ICNmZmZmZmY7XCI+ICR7Z2V0QXJlYU5hbWUoYXJlYSl9IFxuICAgICAgICA8L2Rpdj5gO1xufTtcblxuY29uc3QgYmluZFRvb2xUaXAgPSAobGF5ZXIsIHRpdGxlLCBwZXJtYW5lbnQsIG1hcFpvb20pID0+IHtcbiAgbGF5ZXIudW5iaW5kVG9vbHRpcCgpO1xuICBsYXllci5iaW5kVG9vbHRpcCh0aXRsZSwge1xuICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgcGVybWFuZW50OiBwZXJtYW5lbnQgIT09IHVuZGVmaW5lZCA/IHBlcm1hbmVudCA6IG1hcFpvb20gPiAxMSxcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsID0gKFxuICBMYXllckdyb3VwLFxuICBtYXBab29tLFxuICBhcmVhLFxuICBwZXJtYW5lbnQgPSB1bmRlZmluZWQsXG4pID0+IHtcbiAgY29uc3QgdGl0bGUgPSBwb2x5Z29uVGl0bGUoYXJlYSwgbWFwWm9vbSk7XG5cbiAgaWYgKExheWVyR3JvdXBbJ2thbmRvX29iamVjdCddID09PSB1bmRlZmluZWQpIHtcbiAgICBMYXllckdyb3VwLmdldExheWVycygpLmZvckVhY2goKGxheWVyKSA9PiB7XG4gICAgICBiaW5kVG9vbFRpcChsYXllciwgdGl0bGUsIHBlcm1hbmVudCwgbWFwWm9vbSk7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgYmluZFRvb2xUaXAoTGF5ZXJHcm91cCwgdGl0bGUsIHBlcm1hbmVudCwgbWFwWm9vbSk7XG4gIH1cbn07XG5cbmNvbnN0IGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwgPSAoXG4gIGFyZWFQb2x5Z29uLFxuICBhcmVhLFxuICBwZXJjZW50YWdlLFxuICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSxcbiAgbWFwLFxuKSA9PiB7XG4gIGNvbnN0IGRyaWxsRG93bkNvbmRpdGlvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcGVyY2VudGFnZSA+PSB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duICYmXG4gICAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSAmJlxuICAgICAgYXJlYS5zdWJfYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICBhcmVhUG9seWdvbi5fbWFwICE9PSBudWxsXG4gICAgKTtcbiAgfTtcblxuICBsZXQgcG9seWdvbkxheWVyID0gTC5sYXllckdyb3VwKCk7XG4gIGlmIChkcmlsbERvd25Db25kaXRpb24oKSkge1xuICAgIGFyZWFQb2x5Z29uLnNldFN0eWxlKHtcbiAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgIGNvbG9yOiBzY29yZVRvQ29sb3IoYXJlYS5hcmVhX3Njb3JlKSxcbiAgICAgIHdlaWdodDogMixcbiAgICAgIGZpbGxPcGFjaXR5OiAwLjAsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgIH0pO1xuICAgIGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWFQb2x5Z29uLl9tYXAuZ2V0Wm9vbSgpLFxuICAgICAgYXJlYSxcbiAgICAgIGZhbHNlLFxuICAgICk7XG5cbiAgICBpZiAoYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5nZXRMYXllcnMoKS5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICAgIGlmIChzdWJBcmVhLnN1Yl9hcmVhcyAmJiBzdWJBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBtYXAuYWRkTGF5ZXIocG9seWdvbkxheWVyKTtcbiAgICAgICAgICBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsKFxuICAgICAgICAgICAgc3ViQXJlYSxcbiAgICAgICAgICAgIHN1YkFyZWEuX21hcC5nZXRab29tKCksXG4gICAgICAgICAgICBzdWJBcmVhLFxuICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHN1YkFyZWEuc2V0U3R5bGUoeyBmaWxsT3BhY2l0eTogMC40IH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbWFwLmFkZExheWVyKGFyZWFQb2x5Z29uKTtcbiAgICBhcmVhUG9seWdvbi5zZXRTdHlsZSh7IGZpbGxPcGFjaXR5OiAwLjQsIHN0cm9rZTogZmFsc2UgfSk7XG4gICAgYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYVBvbHlnb24uX21hcC5nZXRab29tKCksXG4gICAgICBhcmVhLFxuICAgICAgdHJ1ZSxcbiAgICApO1xuXG4gICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5nZXRMYXllcnMoKS5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICAgIHBvbHlnb25MYXllci5hZGRMYXllcihzdWJBcmVhKTtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHN1YkFyZWEpO1xuICAgICAgfSk7XG4gIH1cblxuICBhcmVhUG9seWdvbi5yZWRyYXcoKTtcbn07XG5cbmV4cG9ydCBjb25zdCB6b29tQ29udHJvbEZvckFyZWEgPSAoYXJlYVBvbHlnb24sIGFyZWEsIG1hcCkgPT4ge1xuICBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGdldE1hcEJvdW5kcyA9IG1hcC5nZXRCb3VuZHMoKTtcbiAgICBsZXQgcG9seWdvbkJvdW5kcyA9IGFyZWFQb2x5Z29uLmdldEJvdW5kcygpO1xuICAgIGxldCBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSA9IGdldE1hcEJvdW5kcy5pbnRlcnNlY3RzKHBvbHlnb25Cb3VuZHMpO1xuICAgIGxldCBtYXBCb3VuZHNQb2x5Z29uID0gTC5wb2x5Z29uKFtcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aEVhc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aEVhc3QoKSxcbiAgICBdKTtcblxuICAgIGxldCBtYXBCb3VuZHMgPSBjYWxjdWxhdGVQb2x5Z29uQXJlYShcbiAgICAgIG1hcEJvdW5kc1BvbHlnb24udG9HZW9KU09OKCkuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXG4gICAgKTtcblxuICAgIGxldCBhcmVhU3VyZmFjZSA9IGFyZWFQb2x5Z29uWydjYWxjdWxhdGVkX3N1cmZhY2UnXTtcbiAgICBjb25zdCB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duID0gMTUuMDtcbiAgICBjb25zdCBwZXJjZW50YWdlID0gKGFyZWFTdXJmYWNlIC8gbWFwQm91bmRzKSAqIDEwMDtcblxuICAgIGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWEsXG4gICAgICBwZXJjZW50YWdlLFxuICAgICAgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93bixcbiAgICAgIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICAgICAgbWFwLFxuICAgICk7XG4gIH0pO1xufTtcblxuY29uc3QgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uID0gKGFyZWFQb2x5Z29uLCBhcmVhKSA9PiB7XG4gIGFyZWFQb2x5Z29uWydrYW5kb19vYmplY3RfaWQnXSA9IGFyZWEuYXJlYV9pZDtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdCddID0gJ0FyZWEnO1xuICBhcmVhUG9seWdvblsnYXJlYV9uYW1lJ10gPSBhcmVhLmFyZWFfbmFtZTtcbiAgYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddID0gYXJlYS5jYWxjdWxhdGVkX3N1cmZhY2U7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUG9seWdvbiA9IChcbiAgYXJlYSxcbiAgbWFwWm9vbSxcbiAgTGF5ZXJHcm91cCxcbiAgbWFwLFxuICBwb3B1cENyZWF0b3I/OiAocG9seWdvbiwgYXJlYSkgPT4gdm9pZCxcbiAgaGFuZGxlQ2xpY2s/LFxuKSA9PiB7XG4gIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICBpZiAoXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSBudWxsICYmXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMFxuICApIHtcbiAgICBwb2x5Z29uID0gZ2VuZXJpY1BvbHlnb24oYXJlYSwgbWFwWm9vbSk7XG5cbiAgICBjb25zdCBvbkNsaWNrID0gKCkgPT4ge1xuICAgICAgcG9seWdvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgIGhhbmRsZUNsaWNrKHBvbHlnb24ua2FuZG9fb2JqZWN0X2lkKTtcblxuICAgICAgICBjb25zdCBzdWJqZWN0ID0gJ01hcCBWaWV3IC0gQXJlYSBjbGlja2VkJztcbiAgICAgICAgc2VuZEFuYWx5dGljc0V2ZW50KHN1YmplY3QsICdtYXAnLCB7XG4gICAgICAgICAgYXJlYV9pZDogYXJlYS5hcmVhX2lkLFxuICAgICAgICAgIGFyZWFfbmFtZTogYXJlYS5hcmVhX25hbWUsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uQ2xpY2soKTtcbiAgICBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24ocG9seWdvbiwgYXJlYSk7XG4gICAgIUxheWVyR3JvdXAuaGFzTGF5ZXIocG9seWdvbikgJiYgTGF5ZXJHcm91cC5hZGRMYXllcihwb2x5Z29uKS5hZGRUbyhtYXApO1xuICAgIHBvcHVwQ3JlYXRvcihwb2x5Z29uLCBhcmVhKTtcbiAgICB6b29tQ29udHJvbEZvckFyZWEocG9seWdvbiwgYXJlYSwgbWFwKTtcbiAgICByZXR1cm4gcG9seWdvbjtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxZQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxRQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFFTyxJQUFNSyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsSUFBSSxFQUFLO0VBQ25DLElBQUlDLElBQUksR0FBR0QsSUFBSSxDQUFDRSxTQUFTLElBQUlGLElBQUksQ0FBQ0MsSUFBSTtFQUV0QyxPQUFPQSxJQUFJO0FBQ2IsQ0FBQztBQUFDRSxPQUFBLENBQUFKLFdBQUEsR0FBQUEsV0FBQTtBQUVLLElBQU1LLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBSUosSUFBSSxFQUFFSyxPQUFPLEVBQUs7RUFDL0MsSUFBSUMsV0FBb0I7RUFDeEIsSUFBSUMsT0FBTyxHQUFHUCxJQUFJLENBQUNRLFVBQVUsQ0FBQ0MsR0FBRyxDQUFDLFVBQUNDLFFBQWEsRUFBSztJQUNuRCxPQUFPLENBQUNBLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRUEsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQzNDLENBQUMsQ0FBQztFQUVGLElBQUlILE9B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
158
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2NvcmVUb0RhdGEiLCJyZXF1aXJlIiwiX3RoZW1lIiwiX2xlYWZsZXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImV4cG9ydHMiLCJnZW5lcmljUG9seWdvbiIsIm1hcFpvb20iLCJhcmVhUG9seWdvbiIsImxhdGxuZ3MiLCJzaGFwZV9kYXRhIiwibWFwIiwibG9jYXRpb24iLCJsZW5ndGgiLCJjb2xvciIsInNjb3JlVG9Db2xvciIsImFyZWFfc2NvcmUiLCJ0aXRsZSIsInBvbHlnb25UaXRsZSIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiYmluZFRvb2x0aXAiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJjYWxjdWxhdGVQb2x5Z29uQXJlYSIsImNvb3JkaW5hdGVzIiwibnVtUG9pbnRzIiwiaSIsIngxIiwieTEiLCJ4MiIsInkyIiwiTWF0aCIsImFicyIsImNvbmNhdCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicHMxIiwiYmluZFRvb2xUaXAiLCJsYXllciIsInVuYmluZFRvb2x0aXAiLCJ1bmRlZmluZWQiLCJiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsIiwiTGF5ZXJHcm91cCIsImFyZ3VtZW50cyIsImdldExheWVycyIsImZvckVhY2giLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImRyaWxsRG93bkNvbmRpdGlvbiIsInN1Yl9hcmVhcyIsIl9tYXAiLCJwb2x5Z29uTGF5ZXIiLCJsYXllckdyb3VwIiwic2V0U3R5bGUiLCJzdHJva2UiLCJvcGFjaXR5IiwiZ2V0Wm9vbSIsInN1YkFyZWEiLCJhZGRMYXllciIsInJlbW92ZUxheWVyIiwicmVkcmF3Iiwiem9vbUNvbnRyb2xGb3JBcmVhIiwib24iLCJnZXRNYXBCb3VuZHMiLCJnZXRCb3VuZHMiLCJwb2x5Z29uQm91bmRzIiwiaW50ZXJzZWN0cyIsIm1hcEJvdW5kc1BvbHlnb24iLCJnZXRTb3V0aFdlc3QiLCJnZXROb3J0aFdlc3QiLCJnZXROb3J0aEVhc3QiLCJnZXRTb3V0aEVhc3QiLCJtYXBCb3VuZHMiLCJ0b0dlb0pTT04iLCJnZW9tZXRyeSIsImFyZWFTdXJmYWNlIiwiY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uIiwiYXJlYV9pZCIsImNhbGN1bGF0ZWRfc3VyZmFjZSIsImNyZWF0ZVBvbHlnb24iLCJwb3B1cENyZWF0b3IiLCJoYW5kbGVDbGljayIsIm9uQ2xpY2siLCJrYW5kb19vYmplY3RfaWQiLCJzdWJqZWN0Iiwic2VuZEFuYWx5dGljc0V2ZW50IiwiaGFzTGF5ZXIiLCJhZGRUbyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCBMLCB7IFBvbHlnb24gfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNlbmRBbmFseXRpY3NFdmVudCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgZ2V0QXJlYU5hbWUgPSAoYXJlYSkgPT4ge1xuICBsZXQgbmFtZSA9IGFyZWEuYXJlYV9uYW1lIHx8IGFyZWEubmFtZTtcblxuICByZXR1cm4gbmFtZTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmljUG9seWdvbiA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIGxldCBhcmVhUG9seWdvbjogUG9seWdvbjtcbiAgbGV0IGxhdGxuZ3MgPSBhcmVhLnNoYXBlX2RhdGEubWFwKChsb2NhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIFtsb2NhdGlvblsnbGF0J10sIGxvY2F0aW9uWydsbmcnXV07XG4gIH0pO1xuXG4gIGlmIChsYXRsbmdzLmxlbmd0aCA8IDEpIHJldHVybjtcblxuICBsZXQgY29sb3IgPSBhcmVhLmNvbG9yID8gYXJlYS5jb2xvciA6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuXG4gIGNvbnN0IHRpdGxlID0gcG9seWdvblRpdGxlKGFyZWEsIG1hcFpvb20pO1xuXG4gIGFyZWFQb2x5Z29uID0gTC5wb2x5Z29uKGxhdGxuZ3MsIHtcbiAgICBjb2xvcixcbiAgICBmaWxsT3BhY2l0eTogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMC4zIDogMC40LFxuICAgIHdlaWdodDogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMiA6IDAsXG4gIH0pLmJpbmRUb29sdGlwKHRpdGxlLCB7XG4gICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICBwZXJtYW5lbnQ6IG1hcFpvb20gPiAxMixcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcblxuICByZXR1cm4gYXJlYVBvbHlnb247XG59O1xuXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlUG9seWdvbkFyZWEgPSAoY29vcmRpbmF0ZXMpID0+IHtcbiAgbGV0IGFyZWEgPSAwO1xuICBsZXQgbnVtUG9pbnRzID0gY29vcmRpbmF0ZXMubGVuZ3RoO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtUG9pbnRzOyBpKyspIHtcbiAgICBsZXQgeDEgPSBjb29yZGluYXRlc1tpXVswXTtcbiAgICBsZXQgeTEgPSBjb29yZGluYXRlc1tpXVsxXTtcbiAgICBsZXQgeDIgPSBjb29yZGluYXRlc1soaSArIDEpICUgbnVtUG9pbnRzXVswXTtcbiAgICBsZXQgeTIgPSBjb29yZGluYXRlc1soaSArIDEpICUgbnVtUG9pbnRzXVsxXTtcblxuICAgIGFyZWEgKz0geDEgKiB5MiAtIHgyICogeTE7XG4gIH1cblxuICByZXR1cm4gTWF0aC5hYnMoYXJlYSAvIDIpO1xufTtcblxuY29uc3QgcG9seWdvblRpdGxlID0gKGFyZWEsIG1hcFpvb20pID0+IHtcbiAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiYXJlYS10b29sdGlwXCIgc3R5bGU9XCJjb2xvcjoke1xuICAgIHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucHMxXG4gIH07Zm9udC13ZWlnaHQ6NzAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOiAke1xuICAgIG1hcFpvb20gKiAxLjVcbiAgfXB4Oy13ZWJraXQtdGV4dC1zdHJva2U6IDAuOHB4ICNmZmZmZmY7XCI+ICR7Z2V0QXJlYU5hbWUoYXJlYSl9IFxuICAgICAgICA8L2Rpdj5gO1xufTtcblxuY29uc3QgYmluZFRvb2xUaXAgPSAobGF5ZXIsIHRpdGxlLCBwZXJtYW5lbnQsIG1hcFpvb20pID0+IHtcbiAgbGF5ZXIudW5iaW5kVG9vbHRpcCgpO1xuICBsYXllci5iaW5kVG9vbHRpcCh0aXRsZSwge1xuICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgcGVybWFuZW50OiBwZXJtYW5lbnQgIT09IHVuZGVmaW5lZCA/IHBlcm1hbmVudCA6IG1hcFpvb20gPiAxMSxcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsID0gKFxuICBMYXllckdyb3VwLFxuICBtYXBab29tLFxuICBhcmVhLFxuICBwZXJtYW5lbnQgPSB1bmRlZmluZWQsXG4pID0+IHtcbiAgY29uc3QgdGl0bGUgPSBwb2x5Z29uVGl0bGUoYXJlYSwgbWFwWm9vbSk7XG5cbiAgaWYgKExheWVyR3JvdXBbJ2thbmRvX29iamVjdCddID09PSB1bmRlZmluZWQpIHtcbiAgICBMYXllckdyb3VwLmdldExheWVycygpLmZvckVhY2goKGxheWVyKSA9PiB7XG4gICAgICBiaW5kVG9vbFRpcChsYXllciwgdGl0bGUsIHBlcm1hbmVudCwgbWFwWm9vbSk7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgYmluZFRvb2xUaXAoTGF5ZXJHcm91cCwgdGl0bGUsIHBlcm1hbmVudCwgbWFwWm9vbSk7XG4gIH1cbn07XG5cbmNvbnN0IGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwgPSAoXG4gIGFyZWFQb2x5Z29uLFxuICBhcmVhLFxuICBwZXJjZW50YWdlLFxuICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSxcbiAgbWFwLFxuKSA9PiB7XG4gIGNvbnN0IGRyaWxsRG93bkNvbmRpdGlvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcGVyY2VudGFnZSA+PSB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duICYmXG4gICAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSAmJlxuICAgICAgYXJlYS5zdWJfYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICBhcmVhUG9seWdvbi5fbWFwICE9PSBudWxsXG4gICAgKTtcbiAgfTtcblxuICBsZXQgcG9seWdvbkxheWVyID0gTC5sYXllckdyb3VwKCk7XG4gIGlmIChkcmlsbERvd25Db25kaXRpb24oKSkge1xuICAgIGFyZWFQb2x5Z29uLnNldFN0eWxlKHtcbiAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgIGNvbG9yOiBzY29yZVRvQ29sb3IoYXJlYS5hcmVhX3Njb3JlKSxcbiAgICAgIHdlaWdodDogMixcbiAgICAgIGZpbGxPcGFjaXR5OiAwLjAsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgIH0pO1xuICAgIGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWFQb2x5Z29uLl9tYXAuZ2V0Wm9vbSgpLFxuICAgICAgYXJlYSxcbiAgICAgIGZhbHNlLFxuICAgICk7XG5cbiAgICBpZiAoYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5nZXRMYXllcnMoKS5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICAgIGlmIChzdWJBcmVhLnN1Yl9hcmVhcyAmJiBzdWJBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBtYXAuYWRkTGF5ZXIocG9seWdvbkxheWVyKTtcbiAgICAgICAgICBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsKFxuICAgICAgICAgICAgc3ViQXJlYSxcbiAgICAgICAgICAgIHN1YkFyZWEuX21hcC5nZXRab29tKCksXG4gICAgICAgICAgICBzdWJBcmVhLFxuICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHN1YkFyZWEuc2V0U3R5bGUoeyBmaWxsT3BhY2l0eTogMC40IH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbWFwLmFkZExheWVyKGFyZWFQb2x5Z29uKTtcbiAgICBhcmVhUG9seWdvbi5zZXRTdHlsZSh7IGZpbGxPcGFjaXR5OiAwLjQsIHN0cm9rZTogZmFsc2UgfSk7XG4gICAgYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYVBvbHlnb24uX21hcC5nZXRab29tKCksXG4gICAgICBhcmVhLFxuICAgICAgdHJ1ZSxcbiAgICApO1xuXG4gICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5nZXRMYXllcnMoKS5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICAgIHBvbHlnb25MYXllci5hZGRMYXllcihzdWJBcmVhKTtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHN1YkFyZWEpO1xuICAgICAgfSk7XG4gIH1cblxuICBhcmVhUG9seWdvbi5yZWRyYXcoKTtcbn07XG5cbmV4cG9ydCBjb25zdCB6b29tQ29udHJvbEZvckFyZWEgPSAoYXJlYVBvbHlnb24sIGFyZWEsIG1hcCkgPT4ge1xuICBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGdldE1hcEJvdW5kcyA9IG1hcC5nZXRCb3VuZHMoKTtcbiAgICBsZXQgcG9seWdvbkJvdW5kcyA9IGFyZWFQb2x5Z29uLmdldEJvdW5kcygpO1xuICAgIGxldCBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSA9IGdldE1hcEJvdW5kcy5pbnRlcnNlY3RzKHBvbHlnb25Cb3VuZHMpO1xuICAgIGxldCBtYXBCb3VuZHNQb2x5Z29uID0gTC5wb2x5Z29uKFtcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aEVhc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aEVhc3QoKSxcbiAgICBdKTtcblxuICAgIGxldCBtYXBCb3VuZHMgPSBjYWxjdWxhdGVQb2x5Z29uQXJlYShcbiAgICAgIG1hcEJvdW5kc1BvbHlnb24udG9HZW9KU09OKCkuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXG4gICAgKTtcblxuICAgIGxldCBhcmVhU3VyZmFjZSA9IGFyZWFQb2x5Z29uWydjYWxjdWxhdGVkX3N1cmZhY2UnXTtcbiAgICBjb25zdCB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duID0gMTUuMDtcbiAgICBjb25zdCBwZXJjZW50YWdlID0gKGFyZWFTdXJmYWNlIC8gbWFwQm91bmRzKSAqIDEwMDtcblxuICAgIGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWEsXG4gICAgICBwZXJjZW50YWdlLFxuICAgICAgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93bixcbiAgICAgIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICAgICAgbWFwLFxuICAgICk7XG4gIH0pO1xufTtcblxuY29uc3QgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uID0gKGFyZWFQb2x5Z29uLCBhcmVhKSA9PiB7XG4gIGFyZWFQb2x5Z29uWydrYW5kb19vYmplY3RfaWQnXSA9IGFyZWEuYXJlYV9pZDtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdCddID0gJ0FyZWEnO1xuICBhcmVhUG9seWdvblsnYXJlYV9uYW1lJ10gPSBhcmVhLmFyZWFfbmFtZTtcbiAgYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddID0gYXJlYS5jYWxjdWxhdGVkX3N1cmZhY2U7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUG9seWdvbiA9IChcbiAgYXJlYSxcbiAgbWFwWm9vbSxcbiAgTGF5ZXJHcm91cCxcbiAgbWFwLFxuICBwb3B1cENyZWF0b3I/OiAocG9seWdvbiwgYXJlYSkgPT4gdm9pZCxcbiAgaGFuZGxlQ2xpY2s/LFxuKSA9PiB7XG4gIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICBpZiAoXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSBudWxsICYmXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMFxuICApIHtcbiAgICBwb2x5Z29uID0gZ2VuZXJpY1BvbHlnb24oYXJlYSwgbWFwWm9vbSk7XG5cbiAgICBpZiAoaGFuZGxlQ2xpY2sgIT09IHVuZGVmaW5lZCAmJiBoYW5kbGVDbGljayAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgb25DbGljayA9ICgpID0+IHtcbiAgICAgICAgcG9seWdvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlQ2xpY2socG9seWdvbi5rYW5kb19vYmplY3RfaWQpO1xuXG4gICAgICAgICAgY29uc3Qgc3ViamVjdCA9ICdNYXAgVmlldyAtIEFyZWEgY2xpY2tlZCc7XG4gICAgICAgICAgc2VuZEFuYWx5dGljc0V2ZW50KHN1YmplY3QsICdtYXAnLCB7XG4gICAgICAgICAgICBhcmVhX2lkOiBhcmVhLmFyZWFfaWQsXG4gICAgICAgICAgICBhcmVhX25hbWU6IGFyZWEuYXJlYV9uYW1lLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBvbkNsaWNrKCk7XG4gICAgfVxuICAgIGN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbihwb2x5Z29uLCBhcmVhKTtcbiAgICAhTGF5ZXJHcm91cC5oYXNMYXllcihwb2x5Z29uKSAmJiBMYXllckdyb3VwLmFkZExheWVyKHBvbHlnb24pLmFkZFRvKG1hcCk7XG4gICAgcG9wdXBDcmVhdG9yKHBvbHlnb24sIGFyZWEpO1xuICAgIHpvb21Db250cm9sRm9yQXJlYShwb2x5Z29uLCBhcmVhLCBtYXApO1xuICAgIHJldHVybiBwb2x5Z29uO1xuICB9XG4gIHJldHVybiBudWxsO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUVPLElBQU1LLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJQyxJQUFJLEVBQUs7RUFDbkMsSUFBSUMsSUFBSSxHQUFHRCxJQUFJLENBQUNFLFNBQVMsSUFBSUYsSUFBSSxDQUFDQyxJQUFJO0VBRXRDLE9BQU9BLElBQUk7QUFDYixDQUFDO0FBQUNFLE9BQUEsQ0FBQUosV0FBQSxHQUFBQSxXQUFBO0FBRUssSUFBTUssY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJSixJQUFJLEVBQUVLLE9BQU8sRUFBSztFQUMvQyxJQUFJQyxXQUFvQjtFQUN4QixJQUFJQyxPQUFPLEdBQUdQLElBQUksQ0FBQ1EsVUFBVSxDQUFDQyxHQUFHLENBQUMsVUFBQ0MsUUFBYSxFQUFLO0lBQ25ELE9B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
@@ -19,13 +19,11 @@ function mapStateToProps(state) {
19
19
  var events_data = state.events_data,
20
20
  areas_data = state.areas_data,
21
21
  points_data = state.points_data,
22
- edges_data = state.edges_data,
23
22
  global_data = state.global_data;
24
23
  return {
25
24
  events_data: events_data,
26
25
  areas_data: areas_data,
27
26
  points_data: points_data,
28
- edges_data: edges_data,
29
27
  global_data: global_data
30
28
  };
31
29
  }
@@ -37,40 +35,33 @@ var PointMarker = function PointMarker(props) {
37
35
  flowRateUnit = props.flowRateUnit,
38
36
  areas_data = props.areas_data,
39
37
  points_data = props.points_data,
40
- edges_data = props.edges_data,
41
38
  global_data = props.global_data;
42
39
  var dispatch = (0, _reactRedux.useDispatch)();
43
40
  var _useSelectedItem = (0, _ListContext.useSelectedItem)(),
44
41
  handleSelectItem = _useSelectedItem.handleSelectItem;
45
- var ReduxState = (0, _reactRedux.useSelector)(function (state) {
46
- return state;
42
+ var WWTPMode = (0, _reactRedux.useSelector)(function (state) {
43
+ return state.wwtp_dashboard.map !== null;
47
44
  });
48
- var wwtp_dashboard = ReduxState.wwtp_dashboard;
49
45
  var WWTPMapLogic = function WWTPMapLogic(markerLocation) {
50
46
  var args = {
51
47
  markerLocation: markerLocation,
52
48
  point: point
53
49
  };
54
50
  var wwtp = (0, _PointUtils.bubbleForWWTP)(args);
55
- var inlets = (0, _utils.getInlets)(point, edges_data.items, points_data.items);
56
51
  var widgetContainer = document.createElement('span');
57
52
  _reactDom.default.render( /*#__PURE__*/_react.default.createElement(_Widget.Widget, {
58
53
  object: point,
59
54
  dispatch: dispatch,
60
55
  areas: areas_data.newAreas,
61
56
  points: points_data.items,
62
- inlets: inlets,
63
57
  map: map,
64
58
  global_data: global_data
65
59
  }), widgetContainer);
66
60
  wwtp.addTo(map);
67
- var bindPopup = inlets.length > 0;
68
- if (bindPopup) {
69
- (0, _utils.createPopupForObject)({
70
- renderedElement: widgetContainer,
71
- marker: wwtp
72
- });
73
- }
61
+ (0, _utils.createPopupForObject)({
62
+ renderedElement: widgetContainer,
63
+ marker: wwtp
64
+ });
74
65
  wwtp.on('click', function () {
75
66
  (0, _utils.sendAnalyticsEvent)('Map View - WWTP clicked', 'map', {
76
67
  point_id: point.id,
@@ -81,11 +72,11 @@ var PointMarker = function PointMarker(props) {
81
72
  var renderLogic = function renderLogic() {
82
73
  var markerLocation = [point['latitude'], point['longitude']];
83
74
  if (markerLocation[0] === null) return;
84
- if (point.group.type === 'Groups::WastewaterTreatmentPlant' && wwtp_dashboard.map !== null) {
75
+ if (point.group.type === 'Groups::WastewaterTreatmentPlant' && WWTPMode === true) {
85
76
  point.forWWTPMap = true;
86
77
  WWTPMapLogic(markerLocation);
87
78
  } else {
88
- (0, _PointUtils.createBubblePoint)(markerLocation, point, map, null, layerGroup, flowRateUnit, handleSelectItem);
79
+ (0, _PointUtils.createBubblePoint)(markerLocation, point, map, null, layerGroup, flowRateUnit, WWTPMode ? handleSelectItem : null);
89
80
  }
90
81
  };
91
82
  (0, _react.useEffect)(function () {
@@ -98,4 +89,4 @@ var _default = connectedMarker( /*#__PURE__*/_react.default.memo(PointMarker, fu
98
89
  return prevProps.events_data.focusedEvent === nextProps.events_data.focusedEvent;
99
90
  }));
100
91
  exports.default = _default;
101
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9Qb2ludFV0aWxzIiwiX1dpZGdldCIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfTGlzdENvbnRleHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJQb2ludE1hcmtlciIsInByb3BzIiwibWFwIiwicG9pbnQiLCJyZXJlbmRlciIsImxheWVyR3JvdXAiLCJmbG93UmF0ZVVuaXQiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVNlbGVjdGVkSXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsImhhbmRsZVNlbGVjdEl0ZW0iLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJ3d3RwX2Rhc2hib2FyZCIsIldXVFBNYXBMb2dpYyIsIm1hcmtlckxvY2F0aW9uIiwiYXJncyIsInd3dHAiLCJidWJibGVGb3JXV1RQIiwiaW5sZXRzIiwiZ2V0SW5sZXRzIiwiaXRlbXMiLCJ3aWRnZXRDb250YWluZXIiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJSZWFjdERPTSIsInJlbmRlciIsIldpZGdldCIsIm9iamVjdCIsImFyZWFzIiwibmV3QXJlYXMiLCJwb2ludHMiLCJhZGRUbyIsImJpbmRQb3B1cCIsImxlbmd0aCIsImNyZWF0ZVBvcHVwRm9yT2JqZWN0IiwicmVuZGVyZWRFbGVtZW50IiwibWFya2VyIiwib24iLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJwb2ludF9pZCIsImlkIiwicG9pbnRfbmFtZSIsIm5hbWUiLCJyZW5kZXJMb2dpYyIsImdyb3VwIiwidHlwZSIsImZvcldXVFBNYXAiLCJjcmVhdGVCdWJibGVQb2ludCIsInVzZUVmZmVjdCIsIkZyYWdtZW50IiwiY29ubmVjdGVkTWFya2VyIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiUmVhY3QiLCJtZW1vIiwicHJldlByb3BzIiwibmV4dFByb3BzIiwiZm9jdXNlZEV2ZW50IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IGJ1YmJsZUZvcldXVFAsIGNyZWF0ZUJ1YmJsZVBvaW50IH0gZnJvbSAnLi9Qb2ludFV0aWxzJztcbmltcG9ydCB7IFdpZGdldCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IEwsIHsgTGF0TG5nVHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7XG4gIGNyZWF0ZVBvcHVwRm9yT2JqZWN0LFxuICBnZXRJbmxldHMsXG4gIHNlbmRBbmFseXRpY3NFdmVudCxcbn0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0xpc3RDb250ZXh0JztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBldmVudHNfZGF0YSwgYXJlYXNfZGF0YSwgcG9pbnRzX2RhdGEsIGVkZ2VzX2RhdGEsIGdsb2JhbF9kYXRhIH0gPVxuICAgIHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICB9O1xufVxuXG50eXBlIFByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3RlZE1hcmtlcj4gJiB7XG4gIG1hcDogYW55O1xuICBwb2ludDogSVBvaW50O1xuICByZXJlbmRlcjogc3RyaW5nO1xuICBsYXllckdyb3VwOiBhbnk7XG4gIGZsb3dSYXRlVW5pdDogc3RyaW5nO1xufTtcblxuY29uc3QgUG9pbnRNYXJrZXI6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgbWFwLFxuICAgIHBvaW50LFxuICAgIHJlcmVuZGVyLFxuICAgIGxheWVyR3JvdXAsXG4gICAgZmxvd1JhdGVVbml0LFxuICAgIGFyZWFzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgeyB3d3RwX2Rhc2hib2FyZCB9ID0gUmVkdXhTdGF0ZTtcblxuICBjb25zdCBXV1RQTWFwTG9naWMgPSAobWFya2VyTG9jYXRpb24pID0+IHtcbiAgICBsZXQgYXJncyA9IHsgbWFya2VyTG9jYXRpb24sIHBvaW50IH07XG4gICAgbGV0IHd3dHA6IEwuTWFya2VyID0gYnViYmxlRm9yV1dUUChhcmdzKTtcblxuICAgIGNvbnN0IGlubGV0cyA9IGdldElubGV0cyhwb2ludCwgZWRnZXNfZGF0YS5pdGVtcywgcG9pbnRzX2RhdGEuaXRlbXMpO1xuICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICA8V2lkZ2V0XG4gICAgICAgIG9iamVjdD17cG9pbnR9XG4gICAgICAgIGRpc3BhdGNoPXtkaXNwYXRjaH1cbiAgICAgICAgYXJlYXM9e2FyZWFzX2RhdGEubmV3QXJlYXN9XG4gICAgICAgIHBvaW50cz17cG9pbnRzX2RhdGEuaXRlbXN9XG4gICAgICAgIGlubGV0cz17aW5sZXRzfVxuICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgLz4sXG4gICAgICB3aWRnZXRDb250YWluZXIsXG4gICAgKTtcbiAgICB3d3RwLmFkZFRvKG1hcCk7XG4gICAgY29uc3QgYmluZFBvcHVwID0gaW5sZXRzLmxlbmd0aCA+IDA7XG4gICAgaWYgKGJpbmRQb3B1cCkge1xuICAgICAgY3JlYXRlUG9wdXBGb3JPYmplY3Qoe1xuICAgICAgICByZW5kZXJlZEVsZW1lbnQ6IHdpZGdldENvbnRhaW5lcixcbiAgICAgICAgbWFya2VyOiB3d3RwLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgd3d0cC5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICBzZW5kQW5hbHl0aWNzRXZlbnQoJ01hcCBWaWV3IC0gV1dUUCBjbGlja2VkJywgJ21hcCcsIHtcbiAgICAgICAgcG9pbnRfaWQ6IHBvaW50LmlkLFxuICAgICAgICBwb2ludF9uYW1lOiBwb2ludC5uYW1lLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgcmVuZGVyTG9naWMgPSAoKSA9PiB7XG4gICAgbGV0IG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSA9IFtwb2ludFsnbGF0aXR1ZGUnXSwgcG9pbnRbJ2xvbmdpdHVkZSddXTtcbiAgICBpZiAobWFya2VyTG9jYXRpb25bMF0gPT09IG51bGwpIHJldHVybjtcbiAgICBpZiAoXG4gICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnICYmXG4gICAgICB3d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGxcbiAgICApIHtcbiAgICAgIHBvaW50LmZvcldXVFBNYXAgPSB0cnVlO1xuICAgICAgV1dUUE1hcExvZ2ljKG1hcmtlckxvY2F0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3JlYXRlQnViYmxlUG9pbnQoXG4gICAgICAgIG1hcmtlckxvY2F0aW9uLFxuICAgICAgICBwb2ludCxcbiAgICAgICAgbWFwLFxuICAgICAgICBudWxsLFxuICAgICAgICBsYXllckdyb3VwLFxuICAgICAgICBmbG93UmF0ZVVuaXQsXG4gICAgICAgIGhhbmRsZVNlbGVjdEl0ZW0sXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlbmRlckxvZ2ljKCk7XG4gIH0sIFtyZXJlbmRlcl0pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG5cbmNvbnN0IGNvbm5lY3RlZE1hcmtlciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RlZE1hcmtlcihcbiAgUmVhY3QubWVtbyhQb2ludE1hcmtlciwgKHByZXZQcm9wcywgbmV4dFByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHByZXZQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQgPT09IG5leHRQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnRcbiAgICApO1xuICB9KSxcbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBR0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBRUEsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBS0EsSUFBQU8sWUFBQSxHQUFBUCxPQUFBO0FBQXFFLFNBQUFRLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBVix3QkFBQWMsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1B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
92
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9Qb2ludFV0aWxzIiwiX1dpZGdldCIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfTGlzdENvbnRleHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwicG9pbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsIlBvaW50TWFya2VyIiwicHJvcHMiLCJtYXAiLCJwb2ludCIsInJlcmVuZGVyIiwibGF5ZXJHcm91cCIsImZsb3dSYXRlVW5pdCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU2VsZWN0ZWRJdGVtIiwidXNlU2VsZWN0ZWRJdGVtIiwiaGFuZGxlU2VsZWN0SXRlbSIsIldXVFBNb2RlIiwidXNlU2VsZWN0b3IiLCJ3d3RwX2Rhc2hib2FyZCIsIldXVFBNYXBMb2dpYyIsIm1hcmtlckxvY2F0aW9uIiwiYXJncyIsInd3dHAiLCJidWJibGVGb3JXV1RQIiwid2lkZ2V0Q29udGFpbmVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiUmVhY3RET00iLCJyZW5kZXIiLCJXaWRnZXQiLCJvYmplY3QiLCJhcmVhcyIsIm5ld0FyZWFzIiwicG9pbnRzIiwiaXRlbXMiLCJhZGRUbyIsImNyZWF0ZVBvcHVwRm9yT2JqZWN0IiwicmVuZGVyZWRFbGVtZW50IiwibWFya2VyIiwib24iLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJwb2ludF9pZCIsImlkIiwicG9pbnRfbmFtZSIsIm5hbWUiLCJyZW5kZXJMb2dpYyIsImdyb3VwIiwidHlwZSIsImZvcldXVFBNYXAiLCJjcmVhdGVCdWJibGVQb2ludCIsInVzZUVmZmVjdCIsIkZyYWdtZW50IiwiY29ubmVjdGVkTWFya2VyIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiUmVhY3QiLCJtZW1vIiwicHJldlByb3BzIiwibmV4dFByb3BzIiwiZm9jdXNlZEV2ZW50IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IGJ1YmJsZUZvcldXVFAsIGNyZWF0ZUJ1YmJsZVBvaW50IH0gZnJvbSAnLi9Qb2ludFV0aWxzJztcbmltcG9ydCB7IFdpZGdldCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IEwsIHsgTGF0TG5nVHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7XG4gIGNyZWF0ZVBvcHVwRm9yT2JqZWN0LFxuICBzZW5kQW5hbHl0aWNzRXZlbnQsXG59IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0Q29udGV4dCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgZXZlbnRzX2RhdGEsIGFyZWFzX2RhdGEsIHBvaW50c19kYXRhLCBnbG9iYWxfZGF0YSB9ID0gc3RhdGU7XG5cbiAgcmV0dXJuIHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICB9O1xufVxuXG50eXBlIFByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3RlZE1hcmtlcj4gJiB7XG4gIG1hcDogYW55O1xuICBwb2ludDogSVBvaW50O1xuICByZXJlbmRlcjogc3RyaW5nO1xuICBsYXllckdyb3VwOiBhbnk7XG4gIGZsb3dSYXRlVW5pdDogc3RyaW5nO1xufTtcblxuY29uc3QgUG9pbnRNYXJrZXI6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgbWFwLFxuICAgIHBvaW50LFxuICAgIHJlcmVuZGVyLFxuICAgIGxheWVyR3JvdXAsXG4gICAgZmxvd1JhdGVVbml0LFxuICAgIGFyZWFzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IGhhbmRsZVNlbGVjdEl0ZW0gfSA9IHVzZVNlbGVjdGVkSXRlbSgpO1xuICBjb25zdCBXV1RQTW9kZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUud3d0cF9kYXNoYm9hcmQubWFwICE9PSBudWxsKTtcblxuICBjb25zdCBXV1RQTWFwTG9naWMgPSAobWFya2VyTG9jYXRpb24pID0+IHtcbiAgICBsZXQgYXJncyA9IHsgbWFya2VyTG9jYXRpb24sIHBvaW50IH07XG4gICAgbGV0IHd3dHA6IEwuTWFya2VyID0gYnViYmxlRm9yV1dUUChhcmdzKTtcblxuICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICA8V2lkZ2V0XG4gICAgICAgIG9iamVjdD17cG9pbnR9XG4gICAgICAgIGRpc3BhdGNoPXtkaXNwYXRjaH1cbiAgICAgICAgYXJlYXM9e2FyZWFzX2RhdGEubmV3QXJlYXN9XG4gICAgICAgIHBvaW50cz17cG9pbnRzX2RhdGEuaXRlbXN9XG4gICAgICAgIG1hcD17bWFwfVxuICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAvPixcbiAgICAgIHdpZGdldENvbnRhaW5lcixcbiAgICApO1xuICAgIHd3dHAuYWRkVG8obWFwKTtcblxuICAgIGNyZWF0ZVBvcHVwRm9yT2JqZWN0KHtcbiAgICAgIHJlbmRlcmVkRWxlbWVudDogd2lkZ2V0Q29udGFpbmVyLFxuICAgICAgbWFya2VyOiB3d3RwLFxuICAgIH0pO1xuXG4gICAgd3d0cC5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICBzZW5kQW5hbHl0aWNzRXZlbnQoJ01hcCBWaWV3IC0gV1dUUCBjbGlja2VkJywgJ21hcCcsIHtcbiAgICAgICAgcG9pbnRfaWQ6IHBvaW50LmlkLFxuICAgICAgICBwb2ludF9uYW1lOiBwb2ludC5uYW1lLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgcmVuZGVyTG9naWMgPSAoKSA9PiB7XG4gICAgbGV0IG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSA9IFtwb2ludFsnbGF0aXR1ZGUnXSwgcG9pbnRbJ2xvbmdpdHVkZSddXTtcbiAgICBpZiAobWFya2VyTG9jYXRpb25bMF0gPT09IG51bGwpIHJldHVybjtcbiAgICBpZiAoXG4gICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnICYmXG4gICAgICBXV1RQTW9kZSA9PT0gdHJ1ZVxuICAgICkge1xuICAgICAgcG9pbnQuZm9yV1dUUE1hcCA9IHRydWU7XG4gICAgICBXV1RQTWFwTG9naWMobWFya2VyTG9jYXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjcmVhdGVCdWJibGVQb2ludChcbiAgICAgICAgbWFya2VyTG9jYXRpb24sXG4gICAgICAgIHBvaW50LFxuICAgICAgICBtYXAsXG4gICAgICAgIG51bGwsXG4gICAgICAgIGxheWVyR3JvdXAsXG4gICAgICAgIGZsb3dSYXRlVW5pdCxcbiAgICAgICAgV1dUUE1vZGUgPyBoYW5kbGVTZWxlY3RJdGVtIDogbnVsbCxcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmVuZGVyTG9naWMoKTtcbiAgfSwgW3JlcmVuZGVyXSk7XG5cbiAgcmV0dXJuIDw+PC8+O1xufTtcblxuY29uc3QgY29ubmVjdGVkTWFya2VyID0gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdGVkTWFya2VyKFxuICBSZWFjdC5tZW1vKFBvaW50TWFya2VyLCAocHJldlByb3BzLCBuZXh0UHJvcHMpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcHJldlByb3BzLmV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCA9PT0gbmV4dFByb3BzLmV2ZW50c19kYXRhLmZvY3VzZWRFdmVudFxuICAgICk7XG4gIH0pLFxuKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFHQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxTQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9B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
@@ -360,15 +360,17 @@ var handleMarkerClick = function handleMarkerClick(map, point, pointCustomIcon,
360
360
  pointCustomIcon.on('popupopen', function () {
361
361
  setIcon(pointCustomIcon, true, point);
362
362
  });
363
- pointCustomIcon.on('click', function () {
364
- handleClick(pointCustomIcon.kando_object_id);
365
- if (point.group.type === 'Groups::Factory') {
366
- (0, _utils.sendAnalyticsEvent)('Map View - Factory clicked', 'map', {
367
- point_id: point.id,
368
- point_name: point.name
369
- });
370
- }
371
- });
363
+ if (handleClick !== null) {
364
+ pointCustomIcon.on('click', function () {
365
+ handleClick(pointCustomIcon.kando_object_id);
366
+ if (point.group.type === 'Groups::Factory') {
367
+ (0, _utils.sendAnalyticsEvent)('Map View - Factory clicked', 'map', {
368
+ point_id: point.id,
369
+ point_name: point.name
370
+ });
371
+ }
372
+ });
373
+ }
372
374
  };
373
375
  exports.handleMarkerClick = handleMarkerClick;
374
376
  var bindPopupToMarker = function bindPopupToMarker(point, layerGroup, flow_rate_unit) {
@@ -396,4 +398,4 @@ var addLayerGroup = function addLayerGroup(map, layerGroup) {
396
398
  }
397
399
  };
398
400
  exports.addLayerGroup = addLayerGroup;
399
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJ0eXBlIiwic2VjdG9yX25hbWUiLCJ3YXRlcl9jb25zdW1wdGlvbl9wZXJfZGF5IiwiYnViYmxlRm9yV1dUUCIsImFyZ3MiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwibWFya2VyTG9jYXRpb24iLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwicmlzZU9uSG92ZXIiLCJjcmVhdGVCdWJibGVQb2ludCIsIm1hcCIsImhvdmVyZWQiLCJsYXllckdyb3VwIiwiZmxvd19yYXRlX3VuaXQiLCJoYW5kbGVDbGljayIsInN1YnRpdGxlIiwiYWRkTGF5ZXIiLCJiaW5kUG9wdXBUb01hcmtlciIsImhhbmRsZU1hcmtlckNsaWNrIiwicmVsYXRlZEV2ZW50c0Ftb3VudCIsImRpdkljb24iLCJjbGFzc05hbWUiLCJodG1sIiwiaWNvbkFuY2hvciIsImV2ZW50c0NvdW50SWNvbiIsIl96b29tIiwib3BhY2l0eSIsImNyZWF0ZU1hbmhvbGVQb2ludCIsInBvaW50SWNvbiIsIkljb24iLCJpY29uVXJsIiwid2hpdGVQb2ludCIsImljb25TaXplIiwibWFuaG9sZUljb24iLCJNYXJrZXIiLCJiaW5kVG9vbHRpcCIsIm1hdGNoSWNvblRvUG9pbnQiLCJjb21iaW5lZEZhY3RvcnlJY29uIiwibWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UiLCJ1bnNoaWZ0Iiwic2VsZWN0ZWRCYWNrZ3JvdW5kIiwibWFya2VyQmVsb25nc1RvU291cmNlIiwiYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCIsInN0YW5kYXJkQmFja2dyb3VuZCIsImNvbWJpbmVkUHVtcFN0YXRpb25JY29uIiwiY29tYmluZWRXV1RQSWNvbiIsInJlZFBpblJlZFNoYWRvdyIsIndhdGVySWNvbk5vQmFja2dyb3VuZCIsInBvcHVwQW5jaG9yIiwiY29tYmluZWRDb2xsZWN0b3JzSWNvbiIsInNlY29uZGFyeSIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsInRoaXJkIiwid2hpdGVQaW5CbGFja1NoYWRvdyIsInllbGxvd0NpcmNsZVVSTCIsInBsYW50SWNvblVSTCIsImdyZWVuQ2lyY2xlVVJMIiwicHVtcFN0YXRpb25JY29uVVJMIiwiY29sbGVjdG9ySWNvbiIsImJyaWdodEJsdWVDaXJjbGVVUkwiLCJXV1RQSWNvblVSTCIsIndoaXRlUGluUmVkU2hhZG93Iiwic291cmNlIiwic291cmNlcyIsImZpbHRlciIsInNlbGVjdGVkX3NvdXJjZSIsImNyZWF0ZVNhbXBsaW5nSWNvblBvaW50Iiwic2Vjb25kYXJ5SWNvbiIsInNhbXBsaW5nSWNvbiIsImJsdWVDaXJjbGVVUkwiLCJzYW1wbGluZ0ljb25VUkwiLCJ0aGlyZEljb24iLCJmb3JFYWNoIiwiaW5kZXgiLCJjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCIsIm9ic2VydmF0aW9uSWNvbiIsInBpbmtDaXJjbGVVUkwiLCJvYnNlcnZhdGlvbkljb25VUkwiLCJjcmVhdGVTYW1wbGluZ0ljb25zIiwic2FtcGxlZFBvaW50SWRzIiwic2FtcGxpbmdzIiwicyIsImluY2x1ZGVzIiwicG9wdXBDb250ZW50Iiwib2JzIiwiR3JhcGhJY29uIiwiaTE4biIsInQiLCJzZXZlcml0eSIsInNldEljb24iLCJlbGVtZW50IiwiY2xpY2tlZCIsImNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24iLCJ3YXRlckNvbnN1bXB0aW9uIiwidG9GaXhlZCIsInRyYW5zbGF0ZUZsb3dSYXRlIiwib24iLCJjbG9zZVBvcHVwIiwia2FuZG9fb2JqZWN0X2lkIiwic2VuZEFuYWx5dGljc0V2ZW50IiwicG9pbnRfbmFtZSIsImNvbnRlbnQiLCJ3YXRlclJldXNlSWNvbiIsImJpbmRQb3B1cCIsIm1pbldpZHRoIiwibWF4V2lkdGgiLCJjbG9zZUJ1dHRvbiIsInJlbW92ZUxheWVyR3JvdXAiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiYWRkTGF5ZXJHcm91cCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3JhcGhJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9saW5lLWNoYXJ0LnN2Zyc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgc2FtcGxpbmdJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9zYW1wbGluZy1pY29uLnN2Zyc7XG5pbXBvcnQgcGlua0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcGluay1jaXJjbGUuc3ZnJztcbmltcG9ydCBvYnNlcnZhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL29ic2VydmF0aW9uLWljb24uc3ZnJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCByZWRQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3JlZC1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluUmVkU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93aGl0ZS1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluQmxhY2tTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1ibGFjay1zaGFkb3cucG5nJztcbmltcG9ydCB5ZWxsb3dDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3llbGxvdy1jaXJjbGUuc3ZnJztcbmltcG9ydCBwbGFudEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2ZhY3RvcnktaWNvbi5zdmcnO1xuaW1wb3J0IGdyZWVuQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9ncmVlbi1jaXJjbGUuc3ZnJztcbmltcG9ydCBwdW1wU3RhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3B1bXAtc3RhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgY29sbGVjdG9ySWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvbWFwL3Bpbi13YXRlci5zdmcnO1xuaW1wb3J0IGJyaWdodEJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JyaWdodC1ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IFdXVFBJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9XV1RQLWljb24uc3ZnJztcbmltcG9ydCB3YXRlckljb25Ob0JhY2tncm91bmQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3dhdGVyLW5vLWJhY2tncm91bmQuc3ZnJztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy93aGl0ZS1wb2ludC5wbmcnO1xuaW1wb3J0IHsgZXZlbnRzQ291bnRJY29uIH0gZnJvbSAnLi4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnLi9Qb2ludEljb24nO1xuaW1wb3J0IHdhdGVyUmV1c2VJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9pY29ucy93YXRlcl9yZXVzZS5zdmcnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvckZvY3VzZWQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGV2ZW50Py5vYnNlcnZhdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJlxuICAgIHBvaW50LmlkID09PSBldmVudC5vYnNlcnZhdGlvbnNbMF0ucG9pbnRfaWRcbiAgKTtcbn07XG5cbmNvbnN0IGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc3RyaW5nID0gYCR7cG9pbnQuZ3JvdXAubmFtZX0gYDtcblxuICBpZiAocG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeScpIHtcbiAgICBzdHJpbmcgKz0gYDxici8+U2VjdG9yOiAke3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfWA7XG4gICAgc3RyaW5nICs9IGA8YnIvPldhdGVyIENvbnN1bXB0aW9uOiAke3BvaW50Lmdyb3VwLndhdGVyX2NvbnN1bXB0aW9uX3Blcl9kYXl9YDtcbiAgfSBlbHNlIHtcbiAgICBzdHJpbmcgPSBgJHtwb2ludC5uYW1lfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUZvcldXVFAgPSAoYXJncykgPT4ge1xuICBsZXQgcG9pbnRDdXN0b21JY29uOiBMLk1hcmtlciA9IEwubWFya2VyKGFyZ3MubWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICBhcmdzLnBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICBhcmdzLnBvaW50Lm5hbWUsXG4gICAgICAnJyxcbiAgICAgIGZhbHNlLFxuICAgICAgZmFsc2UsXG4gICAgKSxcbiAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gIH0pO1xuXG4gIHJldHVybiBwb2ludEN1c3RvbUljb247XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQnViYmxlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4gIGZsb3dfcmF0ZV91bml0PyxcbiAgaGFuZGxlQ2xpY2s/LFxuKSA9PiB7XG4gIGNvbnN0IHN1YnRpdGxlID1cbiAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5JyA/IHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lIDogJyc7XG4gIGxldCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICBwb2ludC5ncm91cC50eXBlLFxuICAgICAgcG9pbnQubmFtZSxcbiAgICAgIHN1YnRpdGxlLFxuICAgICAgZmFsc2UsXG4gICAgICBmYWxzZSxcbiAgICApLFxuICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgfSk7XG4gIC8vIEB0cy1pZ25vcmVcbiAgLy8gcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyhwb2ludCkpO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuXG4gIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgaWYgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknKSB7XG4gICAgYmluZFBvcHVwVG9NYXJrZXIocG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgZmxvd19yYXRlX3VuaXQpO1xuICB9XG5cbiAgaGFuZGxlTWFya2VyQ2xpY2sobWFwLCBwb2ludCwgcG9pbnRDdXN0b21JY29uLCBoYW5kbGVDbGljayk7XG5cbiAgaWYgKHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQpIHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgIGNsYXNzTmFtZTogYFxuICAgICAgICAgICR7XG4gICAgICAgICAgICBwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID49IDEwMFxuICAgICAgICAgICAgICA/ICdjaXJjbGUtZXZlbnRzLWFtb3VudCBjaXJjbGUtZXZlbnRzLWFtb3VudC0tdHJpZGlnaXQnXG4gICAgICAgICAgICAgIDogJ2NpcmNsZS1ldmVudHMtYW1vdW50J1xuICAgICAgICAgIH0gXG4gICAgICAgICAgJHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID4gMiA/ICdhbGVydC1jb2xvcicgOiAnJ31cbiAgICAgICAgICAgIGAsXG4gICAgICAgIGh0bWw6IGA8cD4ke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnR9PC9wPmAsXG4gICAgICAgIGljb25BbmNob3I6IGV2ZW50c0NvdW50SWNvbihtYXAuX3pvb20pLmljb25BbmNob3IsXG4gICAgICB9KSxcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIG9wYWNpdHk6IGhvdmVyZWQgPyAxIDogMCxcbiAgICB9KTtcblxuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXInO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXJIb3ZlcmVkJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hbmhvbGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gbmV3IEwuSWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IG5ldyBMLk1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IHBvaW50SWNvbixcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG4gIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIG1hbmhvbGVJY29uWydrYW5kb19wb2ludF90eXBlJ10gPSAnTWFuaG9sZSc7XG4gIGlmIChob3ZlcmVkKSBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcbiAgbGF5ZXJHcm91cC5hZGRMYXllcihtYW5ob2xlSWNvbik7XG59O1xuXG5leHBvcnQgY29uc3QgbWF0Y2hJY29uVG9Qb2ludCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHN3aXRjaCAocG9pbnQuZ3JvdXAudHlwZSkge1xuICAgIGNhc2UgJ0dyb3Vwczo6RmFjdG9yeSc6XG4gICAgICBpZiAoY29tYmluZWRGYWN0b3J5SWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRGYWN0b3J5SWNvbjtcbiAgICBjYXNlICdHcm91cHM6OlB1bXBTdGF0aW9uJzpcbiAgICAgIGlmIChjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRQdW1wU3RhdGlvbkljb247XG4gICAgY2FzZSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnOlxuICAgICAgaWYgKGNvbWJpbmVkV1dUUEljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkV1dUUEljb247XG5cbiAgICBjYXNlICdHcm91cHM6OkNvbGxlY3RvcnMnOlxuICAgICAgaWYgKGlzQ29sbGVjdG9yRm9jdXNlZChwb2ludCwgZXZlbnQpKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMzAsIDUyXSxcbiAgICAgICAgICB9KSxcblxuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiB3YXRlckljb25Ob0JhY2tncm91bmQsXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMjIsIDQ0XSxcbiAgICAgICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkQ29sbGVjdG9yc0ljb247XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzdGFuZGFyZEJhY2tncm91bmQgPSAoXG4gIHNlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlLFxuICB0aGlyZDogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluQmxhY2tTaGFkb3csXG4gICAgaWNvblNpemU6IHNlY29uZGFyeSA/IFswLCAwXSA6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnkgJiYgdGhpcmQgPyBbLTIsIDE5XSA6IHNlY29uZGFyeSA/IFstMiwgNDRdIDogWzIwLCA0Ml0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZEZhY3RvcnlJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHllbGxvd0NpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHBsYW50SWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs1LCAzMF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBncmVlbkNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHB1bXBTdGF0aW9uSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs3LCAzMl0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZENvbGxlY3RvcnNJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGNvbGxlY3Rvckljb24sXG4gICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgIGljb25BbmNob3I6IFsyNSwgNTBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRXV1RQSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBicmlnaHRCbHVlQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogV1dUUEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbOCwgMzFdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0ZWRCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzb3VyY2U7XG5cbiAgaWYgKGV2ZW50ICE9PSBudWxsICYmIGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzb3VyY2UgPSBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXTtcbiAgfVxuXG4gIHJldHVybiBldmVudCAhPT0gbnVsbCAmJiBzb3VyY2UgJiYgZXZlbnQuc2VsZWN0ZWRfc291cmNlID09PSBzb3VyY2UucG9pbnRfaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKGV2ZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgcmV0dXJuIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IHNhbXBsaW5nSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogYmx1ZUNpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgMTVdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBzYW1wbGluZ0ljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDEzXSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgbGV0IHRoaXJkSWNvbiA9IGZhbHNlO1xuICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcmRJY29uID0gdHJ1ZTtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbiwgdGhpcmRJY29uKSk7XG4gIH1cblxuICBzYW1wbGluZ0ljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSB0aGlyZEljb24gPyBmYWxzZSA6IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gdGhpcmRJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZ0hvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IG9ic2VydmF0aW9uSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogcGlua0NpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgNDBdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBvYnNlcnZhdGlvbkljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDM4XSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uKSk7XG4gIH1cblxuICBvYnNlcnZhdGlvbkljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IGZhbHNlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbkhvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29ucyA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQsXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIGxldCBzYW1wbGVkUG9pbnRJZHMgPSBldmVudC5zYW1wbGluZ3MubWFwKChzKSA9PiBzLnBvaW50X2lkKTtcbiAgaWYgKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc2FtcGxpbmdzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHNhbXBsZWRQb2ludElkcy5pbmNsdWRlcyhwb2ludC5pZClcbiAgKSB7XG4gICAgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQoXG4gICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbCxcbiAgICAgIG1hcCxcbiAgICAgIHBvaW50LFxuICAgICAgZXZlbnQsXG4gICAgICBob3ZlcmVkLFxuICAgICAgbGF5ZXJHcm91cCxcbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcG9wdXBDb250ZW50ID0gKG9iczogYW55LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChvYnMgPT09IG51bGwpIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke3BvaW50LmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke3BvaW50Lmdyb3VwLm5hbWV9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2VjdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtvYnMuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAubmFtZVxuICAgICAgICAgICAgICAgICAgICB9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwb3B1cC1jb250ZW50X19zZXZlcml0eS0tJyArIG9icy5zZXZlcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktYlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuJHtvYnMuc2V2ZXJpdHl9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPVwicG9wdXAtY29udGVudF9faHJcIiAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19kaXNjaGFyZ2UtdGltZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwiZmlyc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3Lmxhc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwibGFzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9XG59O1xuXG5sZXQgc2V0SWNvbiA9IChlbGVtZW50LCBjbGlja2VkLCBwb2ludCkgPT4ge1xuICBlbGVtZW50LnNldEljb24oXG4gICAgZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIHBvaW50Lm5hbWUsXG4gICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSxcbiAgICAgIGNsaWNrZWQsXG4gICAgICBmYWxzZSxcbiAgICApLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24gPSAoZmxvd19yYXRlX3VuaXQsIHdhdGVyQ29uc3VtcHRpb24pID0+IHtcbiAgcmV0dXJuIGZsb3dfcmF0ZV91bml0ID09PSAnbTNkJ1xuICAgID8gd2F0ZXJDb25zdW1wdGlvbi50b0ZpeGVkKDApXG4gICAgOiB3YXRlckNvbnN1bXB0aW9uID4gMFxuICAgID8gKHdhdGVyQ29uc3VtcHRpb24gLyAzNzg1LjQxMTgpLnRvRml4ZWQoMylcbiAgICA6IDA7XG59O1xuXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlRmxvd1JhdGUgPSAoZmxvd19yYXRlX3VuaXQpID0+IHtcbiAgcmV0dXJuIGkxOG4udChcbiAgICBgZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRfb3B0aW9ucy4ke2Zsb3dfcmF0ZV91bml0fWAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTWFya2VyQ2xpY2sgPSAobWFwLCBwb2ludCwgcG9pbnRDdXN0b21JY29uLCBoYW5kbGVDbGljaykgPT4ge1xuICBtYXAub24oJ3pvb21zdGFydCcsIGZ1bmN0aW9uICgpIHtcbiAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ3BvcHVwY2xvc2UnLCAoKSA9PiB7XG4gICAgc2V0SWNvbihwb2ludEN1c3RvbUljb24sIGZhbHNlLCBwb2ludCk7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbigncG9wdXBvcGVuJywgKCkgPT4ge1xuICAgIHNldEljb24ocG9pbnRDdXN0b21JY29uLCB0cnVlLCBwb2ludCk7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgaGFuZGxlQ2xpY2socG9pbnRDdXN0b21JY29uLmthbmRvX29iamVjdF9pZCk7XG5cbiAgICBpZiAocG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeScpIHtcbiAgICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIFZpZXcgLSBGYWN0b3J5IGNsaWNrZWQnLCAnbWFwJywge1xuICAgICAgICBwb2ludF9pZDogcG9pbnQuaWQsXG4gICAgICAgIHBvaW50X25hbWU6IHBvaW50Lm5hbWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cFRvTWFya2VyID0gKHBvaW50LCBsYXllckdyb3VwLCBmbG93X3JhdGVfdW5pdCkgPT4ge1xuICBsZXQgY29udGVudCA9IGBcbiAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnQnPlxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcic+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3RpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQubmFtZVxuICAgICAgICAgICAgICAgIH08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzX19zdWJ0aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHknPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtJz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX2ljb24nPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0nJHt3YXRlclJldXNlSWNvbn0nIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXMnPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3RpdGxlJz4ke2NhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24oXG4gICAgICAgICAgICAgICAgICAgIGZsb3dfcmF0ZV91bml0LFxuICAgICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC53YXRlcl9jb25zdW1wdGlvbl9wZXJfZGF5LFxuICAgICAgICAgICAgICAgICAgKX0gJHt0cmFuc2xhdGVGbG93UmF0ZShmbG93X3JhdGVfdW5pdCl9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlc19fc3VidGl0bGUnPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAnd2F0ZXJfZGlzY2hhcmdlJyxcbiAgICAgICAgICAgICAgICAgICl9PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgYDtcblxuICBsYXllckdyb3VwLmJpbmRQb3B1cChjb250ZW50LCB7XG4gICAgY2xhc3NOYW1lOiAncG9pbnQtbWFya2VyLXBvcHVwJyxcbiAgICBtaW5XaWR0aDogJzIxNHB4JyxcbiAgICBtYXhXaWR0aDogJzIxNHB4JyxcbiAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKG1hcC5oYXNMYXllcihsYXllckdyb3VwKSkge1xuICAgIG1hcC5yZW1vdmVMYXllcihsYXllckdyb3VwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGFkZExheWVyR3JvdXAgPSAobWFwLCBsYXllckdyb3VwKSA9PiB7XG4gIGlmICghbWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLmFkZExheWVyKGxheWVyR3JvdXApO1xuICB9IGVsc2Uge1xuICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgICBhZGRMYXllckdyb3VwKG1hcCwgbGF5ZXJHcm91cCk7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQTJDLElBQUFFLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFHLGFBQUEsR0FBQUosc0JBQUEs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
401
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJ0eXBlIiwic2VjdG9yX25hbWUiLCJ3YXRlcl9jb25zdW1wdGlvbl9wZXJfZGF5IiwiYnViYmxlRm9yV1dUUCIsImFyZ3MiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwibWFya2VyTG9jYXRpb24iLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwicmlzZU9uSG92ZXIiLCJjcmVhdGVCdWJibGVQb2ludCIsIm1hcCIsImhvdmVyZWQiLCJsYXllckdyb3VwIiwiZmxvd19yYXRlX3VuaXQiLCJoYW5kbGVDbGljayIsInN1YnRpdGxlIiwiYWRkTGF5ZXIiLCJiaW5kUG9wdXBUb01hcmtlciIsImhhbmRsZU1hcmtlckNsaWNrIiwicmVsYXRlZEV2ZW50c0Ftb3VudCIsImRpdkljb24iLCJjbGFzc05hbWUiLCJodG1sIiwiaWNvbkFuY2hvciIsImV2ZW50c0NvdW50SWNvbiIsIl96b29tIiwib3BhY2l0eSIsImNyZWF0ZU1hbmhvbGVQb2ludCIsInBvaW50SWNvbiIsIkljb24iLCJpY29uVXJsIiwid2hpdGVQb2ludCIsImljb25TaXplIiwibWFuaG9sZUljb24iLCJNYXJrZXIiLCJiaW5kVG9vbHRpcCIsIm1hdGNoSWNvblRvUG9pbnQiLCJjb21iaW5lZEZhY3RvcnlJY29uIiwibWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UiLCJ1bnNoaWZ0Iiwic2VsZWN0ZWRCYWNrZ3JvdW5kIiwibWFya2VyQmVsb25nc1RvU291cmNlIiwiYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCIsInN0YW5kYXJkQmFja2dyb3VuZCIsImNvbWJpbmVkUHVtcFN0YXRpb25JY29uIiwiY29tYmluZWRXV1RQSWNvbiIsInJlZFBpblJlZFNoYWRvdyIsIndhdGVySWNvbk5vQmFja2dyb3VuZCIsInBvcHVwQW5jaG9yIiwiY29tYmluZWRDb2xsZWN0b3JzSWNvbiIsInNlY29uZGFyeSIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsInRoaXJkIiwid2hpdGVQaW5CbGFja1NoYWRvdyIsInllbGxvd0NpcmNsZVVSTCIsInBsYW50SWNvblVSTCIsImdyZWVuQ2lyY2xlVVJMIiwicHVtcFN0YXRpb25JY29uVVJMIiwiY29sbGVjdG9ySWNvbiIsImJyaWdodEJsdWVDaXJjbGVVUkwiLCJXV1RQSWNvblVSTCIsIndoaXRlUGluUmVkU2hhZG93Iiwic291cmNlIiwic291cmNlcyIsImZpbHRlciIsInNlbGVjdGVkX3NvdXJjZSIsImNyZWF0ZVNhbXBsaW5nSWNvblBvaW50Iiwic2Vjb25kYXJ5SWNvbiIsInNhbXBsaW5nSWNvbiIsImJsdWVDaXJjbGVVUkwiLCJzYW1wbGluZ0ljb25VUkwiLCJ0aGlyZEljb24iLCJmb3JFYWNoIiwiaW5kZXgiLCJjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCIsIm9ic2VydmF0aW9uSWNvbiIsInBpbmtDaXJjbGVVUkwiLCJvYnNlcnZhdGlvbkljb25VUkwiLCJjcmVhdGVTYW1wbGluZ0ljb25zIiwic2FtcGxlZFBvaW50SWRzIiwic2FtcGxpbmdzIiwicyIsImluY2x1ZGVzIiwicG9wdXBDb250ZW50Iiwib2JzIiwiR3JhcGhJY29uIiwiaTE4biIsInQiLCJzZXZlcml0eSIsInNldEljb24iLCJlbGVtZW50IiwiY2xpY2tlZCIsImNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24iLCJ3YXRlckNvbnN1bXB0aW9uIiwidG9GaXhlZCIsInRyYW5zbGF0ZUZsb3dSYXRlIiwib24iLCJjbG9zZVBvcHVwIiwia2FuZG9fb2JqZWN0X2lkIiwic2VuZEFuYWx5dGljc0V2ZW50IiwicG9pbnRfbmFtZSIsImNvbnRlbnQiLCJ3YXRlclJldXNlSWNvbiIsImJpbmRQb3B1cCIsIm1pbldpZHRoIiwibWF4V2lkdGgiLCJjbG9zZUJ1dHRvbiIsInJlbW92ZUxheWVyR3JvdXAiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiYWRkTGF5ZXJHcm91cCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3JhcGhJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9saW5lLWNoYXJ0LnN2Zyc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgc2FtcGxpbmdJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9zYW1wbGluZy1pY29uLnN2Zyc7XG5pbXBvcnQgcGlua0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcGluay1jaXJjbGUuc3ZnJztcbmltcG9ydCBvYnNlcnZhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL29ic2VydmF0aW9uLWljb24uc3ZnJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCByZWRQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3JlZC1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluUmVkU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93aGl0ZS1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluQmxhY2tTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1ibGFjay1zaGFkb3cucG5nJztcbmltcG9ydCB5ZWxsb3dDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3llbGxvdy1jaXJjbGUuc3ZnJztcbmltcG9ydCBwbGFudEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2ZhY3RvcnktaWNvbi5zdmcnO1xuaW1wb3J0IGdyZWVuQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9ncmVlbi1jaXJjbGUuc3ZnJztcbmltcG9ydCBwdW1wU3RhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3B1bXAtc3RhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgY29sbGVjdG9ySWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvbWFwL3Bpbi13YXRlci5zdmcnO1xuaW1wb3J0IGJyaWdodEJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JyaWdodC1ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IFdXVFBJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9XV1RQLWljb24uc3ZnJztcbmltcG9ydCB3YXRlckljb25Ob0JhY2tncm91bmQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3dhdGVyLW5vLWJhY2tncm91bmQuc3ZnJztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy93aGl0ZS1wb2ludC5wbmcnO1xuaW1wb3J0IHsgZXZlbnRzQ291bnRJY29uIH0gZnJvbSAnLi4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnLi9Qb2ludEljb24nO1xuaW1wb3J0IHdhdGVyUmV1c2VJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9pY29ucy93YXRlcl9yZXVzZS5zdmcnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvckZvY3VzZWQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGV2ZW50Py5vYnNlcnZhdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJlxuICAgIHBvaW50LmlkID09PSBldmVudC5vYnNlcnZhdGlvbnNbMF0ucG9pbnRfaWRcbiAgKTtcbn07XG5cbmNvbnN0IGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc3RyaW5nID0gYCR7cG9pbnQuZ3JvdXAubmFtZX0gYDtcblxuICBpZiAocG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeScpIHtcbiAgICBzdHJpbmcgKz0gYDxici8+U2VjdG9yOiAke3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfWA7XG4gICAgc3RyaW5nICs9IGA8YnIvPldhdGVyIENvbnN1bXB0aW9uOiAke3BvaW50Lmdyb3VwLndhdGVyX2NvbnN1bXB0aW9uX3Blcl9kYXl9YDtcbiAgfSBlbHNlIHtcbiAgICBzdHJpbmcgPSBgJHtwb2ludC5uYW1lfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUZvcldXVFAgPSAoYXJncykgPT4ge1xuICBsZXQgcG9pbnRDdXN0b21JY29uOiBMLk1hcmtlciA9IEwubWFya2VyKGFyZ3MubWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICBhcmdzLnBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICBhcmdzLnBvaW50Lm5hbWUsXG4gICAgICAnJyxcbiAgICAgIGZhbHNlLFxuICAgICAgZmFsc2UsXG4gICAgKSxcbiAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gIH0pO1xuXG4gIHJldHVybiBwb2ludEN1c3RvbUljb247XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQnViYmxlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4gIGZsb3dfcmF0ZV91bml0PyxcbiAgaGFuZGxlQ2xpY2s/LFxuKSA9PiB7XG4gIGNvbnN0IHN1YnRpdGxlID1cbiAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5JyA/IHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lIDogJyc7XG4gIGxldCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICBwb2ludC5ncm91cC50eXBlLFxuICAgICAgcG9pbnQubmFtZSxcbiAgICAgIHN1YnRpdGxlLFxuICAgICAgZmFsc2UsXG4gICAgICBmYWxzZSxcbiAgICApLFxuICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgfSk7XG4gIC8vIEB0cy1pZ25vcmVcbiAgLy8gcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyhwb2ludCkpO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuXG4gIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgaWYgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknKSB7XG4gICAgYmluZFBvcHVwVG9NYXJrZXIocG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgZmxvd19yYXRlX3VuaXQpO1xuICB9XG5cbiAgaGFuZGxlTWFya2VyQ2xpY2sobWFwLCBwb2ludCwgcG9pbnRDdXN0b21JY29uLCBoYW5kbGVDbGljayk7XG5cbiAgaWYgKHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQpIHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgIGNsYXNzTmFtZTogYFxuICAgICAgICAgICR7XG4gICAgICAgICAgICBwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID49IDEwMFxuICAgICAgICAgICAgICA/ICdjaXJjbGUtZXZlbnRzLWFtb3VudCBjaXJjbGUtZXZlbnRzLWFtb3VudC0tdHJpZGlnaXQnXG4gICAgICAgICAgICAgIDogJ2NpcmNsZS1ldmVudHMtYW1vdW50J1xuICAgICAgICAgIH0gXG4gICAgICAgICAgJHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID4gMiA/ICdhbGVydC1jb2xvcicgOiAnJ31cbiAgICAgICAgICAgIGAsXG4gICAgICAgIGh0bWw6IGA8cD4ke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnR9PC9wPmAsXG4gICAgICAgIGljb25BbmNob3I6IGV2ZW50c0NvdW50SWNvbihtYXAuX3pvb20pLmljb25BbmNob3IsXG4gICAgICB9KSxcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIG9wYWNpdHk6IGhvdmVyZWQgPyAxIDogMCxcbiAgICB9KTtcblxuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXInO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXJIb3ZlcmVkJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hbmhvbGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gbmV3IEwuSWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IG5ldyBMLk1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IHBvaW50SWNvbixcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG4gIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIG1hbmhvbGVJY29uWydrYW5kb19wb2ludF90eXBlJ10gPSAnTWFuaG9sZSc7XG4gIGlmIChob3ZlcmVkKSBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcbiAgbGF5ZXJHcm91cC5hZGRMYXllcihtYW5ob2xlSWNvbik7XG59O1xuXG5leHBvcnQgY29uc3QgbWF0Y2hJY29uVG9Qb2ludCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHN3aXRjaCAocG9pbnQuZ3JvdXAudHlwZSkge1xuICAgIGNhc2UgJ0dyb3Vwczo6RmFjdG9yeSc6XG4gICAgICBpZiAoY29tYmluZWRGYWN0b3J5SWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRGYWN0b3J5SWNvbjtcbiAgICBjYXNlICdHcm91cHM6OlB1bXBTdGF0aW9uJzpcbiAgICAgIGlmIChjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRQdW1wU3RhdGlvbkljb247XG4gICAgY2FzZSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnOlxuICAgICAgaWYgKGNvbWJpbmVkV1dUUEljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkV1dUUEljb247XG5cbiAgICBjYXNlICdHcm91cHM6OkNvbGxlY3RvcnMnOlxuICAgICAgaWYgKGlzQ29sbGVjdG9yRm9jdXNlZChwb2ludCwgZXZlbnQpKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMzAsIDUyXSxcbiAgICAgICAgICB9KSxcblxuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiB3YXRlckljb25Ob0JhY2tncm91bmQsXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMjIsIDQ0XSxcbiAgICAgICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkQ29sbGVjdG9yc0ljb247XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzdGFuZGFyZEJhY2tncm91bmQgPSAoXG4gIHNlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlLFxuICB0aGlyZDogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluQmxhY2tTaGFkb3csXG4gICAgaWNvblNpemU6IHNlY29uZGFyeSA/IFswLCAwXSA6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnkgJiYgdGhpcmQgPyBbLTIsIDE5XSA6IHNlY29uZGFyeSA/IFstMiwgNDRdIDogWzIwLCA0Ml0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZEZhY3RvcnlJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHllbGxvd0NpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHBsYW50SWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs1LCAzMF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBncmVlbkNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHB1bXBTdGF0aW9uSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs3LCAzMl0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZENvbGxlY3RvcnNJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGNvbGxlY3Rvckljb24sXG4gICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgIGljb25BbmNob3I6IFsyNSwgNTBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRXV1RQSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBicmlnaHRCbHVlQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogV1dUUEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbOCwgMzFdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0ZWRCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzb3VyY2U7XG5cbiAgaWYgKGV2ZW50ICE9PSBudWxsICYmIGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzb3VyY2UgPSBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXTtcbiAgfVxuXG4gIHJldHVybiBldmVudCAhPT0gbnVsbCAmJiBzb3VyY2UgJiYgZXZlbnQuc2VsZWN0ZWRfc291cmNlID09PSBzb3VyY2UucG9pbnRfaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKGV2ZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgcmV0dXJuIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IHNhbXBsaW5nSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogYmx1ZUNpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgMTVdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBzYW1wbGluZ0ljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDEzXSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgbGV0IHRoaXJkSWNvbiA9IGZhbHNlO1xuICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcmRJY29uID0gdHJ1ZTtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbiwgdGhpcmRJY29uKSk7XG4gIH1cblxuICBzYW1wbGluZ0ljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSB0aGlyZEljb24gPyBmYWxzZSA6IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gdGhpcmRJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZ0hvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IG9ic2VydmF0aW9uSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogcGlua0NpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgNDBdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBvYnNlcnZhdGlvbkljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDM4XSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uKSk7XG4gIH1cblxuICBvYnNlcnZhdGlvbkljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IGZhbHNlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbkhvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29ucyA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQsXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIGxldCBzYW1wbGVkUG9pbnRJZHMgPSBldmVudC5zYW1wbGluZ3MubWFwKChzKSA9PiBzLnBvaW50X2lkKTtcbiAgaWYgKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc2FtcGxpbmdzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHNhbXBsZWRQb2ludElkcy5pbmNsdWRlcyhwb2ludC5pZClcbiAgKSB7XG4gICAgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQoXG4gICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbCxcbiAgICAgIG1hcCxcbiAgICAgIHBvaW50LFxuICAgICAgZXZlbnQsXG4gICAgICBob3ZlcmVkLFxuICAgICAgbGF5ZXJHcm91cCxcbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcG9wdXBDb250ZW50ID0gKG9iczogYW55LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChvYnMgPT09IG51bGwpIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke3BvaW50LmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke3BvaW50Lmdyb3VwLm5hbWV9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2VjdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtvYnMuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAubmFtZVxuICAgICAgICAgICAgICAgICAgICB9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwb3B1cC1jb250ZW50X19zZXZlcml0eS0tJyArIG9icy5zZXZlcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktYlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuJHtvYnMuc2V2ZXJpdHl9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPVwicG9wdXAtY29udGVudF9faHJcIiAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19kaXNjaGFyZ2UtdGltZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwiZmlyc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3Lmxhc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwibGFzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9XG59O1xuXG5sZXQgc2V0SWNvbiA9IChlbGVtZW50LCBjbGlja2VkLCBwb2ludCkgPT4ge1xuICBlbGVtZW50LnNldEljb24oXG4gICAgZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIHBvaW50Lm5hbWUsXG4gICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSxcbiAgICAgIGNsaWNrZWQsXG4gICAgICBmYWxzZSxcbiAgICApLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24gPSAoZmxvd19yYXRlX3VuaXQsIHdhdGVyQ29uc3VtcHRpb24pID0+IHtcbiAgcmV0dXJuIGZsb3dfcmF0ZV91bml0ID09PSAnbTNkJ1xuICAgID8gd2F0ZXJDb25zdW1wdGlvbi50b0ZpeGVkKDApXG4gICAgOiB3YXRlckNvbnN1bXB0aW9uID4gMFxuICAgID8gKHdhdGVyQ29uc3VtcHRpb24gLyAzNzg1LjQxMTgpLnRvRml4ZWQoMylcbiAgICA6IDA7XG59O1xuXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlRmxvd1JhdGUgPSAoZmxvd19yYXRlX3VuaXQpID0+IHtcbiAgcmV0dXJuIGkxOG4udChcbiAgICBgZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRfb3B0aW9ucy4ke2Zsb3dfcmF0ZV91bml0fWAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTWFya2VyQ2xpY2sgPSAobWFwLCBwb2ludCwgcG9pbnRDdXN0b21JY29uLCBoYW5kbGVDbGljaykgPT4ge1xuICBtYXAub24oJ3pvb21zdGFydCcsIGZ1bmN0aW9uICgpIHtcbiAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ3BvcHVwY2xvc2UnLCAoKSA9PiB7XG4gICAgc2V0SWNvbihwb2ludEN1c3RvbUljb24sIGZhbHNlLCBwb2ludCk7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbigncG9wdXBvcGVuJywgKCkgPT4ge1xuICAgIHNldEljb24ocG9pbnRDdXN0b21JY29uLCB0cnVlLCBwb2ludCk7XG4gIH0pO1xuXG4gIGlmIChoYW5kbGVDbGljayAhPT0gbnVsbCkge1xuICAgIHBvaW50Q3VzdG9tSWNvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICBoYW5kbGVDbGljayhwb2ludEN1c3RvbUljb24ua2FuZG9fb2JqZWN0X2lkKTtcblxuICAgICAgaWYgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknKSB7XG4gICAgICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIFZpZXcgLSBGYWN0b3J5IGNsaWNrZWQnLCAnbWFwJywge1xuICAgICAgICAgIHBvaW50X2lkOiBwb2ludC5pZCxcbiAgICAgICAgICBwb2ludF9uYW1lOiBwb2ludC5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cFRvTWFya2VyID0gKHBvaW50LCBsYXllckdyb3VwLCBmbG93X3JhdGVfdW5pdCkgPT4ge1xuICBsZXQgY29udGVudCA9IGBcbiAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnQnPlxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcic+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3RpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQubmFtZVxuICAgICAgICAgICAgICAgIH08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzX19zdWJ0aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHknPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtJz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX2ljb24nPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0nJHt3YXRlclJldXNlSWNvbn0nIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXMnPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3RpdGxlJz4ke2NhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24oXG4gICAgICAgICAgICAgICAgICAgIGZsb3dfcmF0ZV91bml0LFxuICAgICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC53YXRlcl9jb25zdW1wdGlvbl9wZXJfZGF5LFxuICAgICAgICAgICAgICAgICAgKX0gJHt0cmFuc2xhdGVGbG93UmF0ZShmbG93X3JhdGVfdW5pdCl9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlc19fc3VidGl0bGUnPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAnd2F0ZXJfZGlzY2hhcmdlJyxcbiAgICAgICAgICAgICAgICAgICl9PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgYDtcblxuICBsYXllckdyb3VwLmJpbmRQb3B1cChjb250ZW50LCB7XG4gICAgY2xhc3NOYW1lOiAncG9pbnQtbWFya2VyLXBvcHVwJyxcbiAgICBtaW5XaWR0aDogJzIxNHB4JyxcbiAgICBtYXhXaWR0aDogJzIxNHB4JyxcbiAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKG1hcC5oYXNMYXllcihsYXllckdyb3VwKSkge1xuICAgIG1hcC5yZW1vdmVMYXllcihsYXllckdyb3VwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGFkZExheWVyR3JvdXAgPSAobWFwLCBsYXllckdyb3VwKSA9PiB7XG4gIGlmICghbWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLmFkZExheWVyKGxheWVyR3JvdXApO1xuICB9IGVsc2Uge1xuICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgICBhZGRMYXllckdyb3VwKG1hcCwgbGF5ZXJHcm91cCk7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQTJDLElBQUFFLFdB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
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var packageJsonVersion = "1.2.278-alpha.10";
3
+ var packageJsonVersion = "1.2.278-alpha.12";
4
4
  if (typeof packageJsonVersion === 'string') {
5
5
  // eslint-disable-next-line no-console
6
6
  console.log("%c Kando UI %c v".concat(packageJsonVersion, " "), 'font-size: 15px; background-color: #fff; color: #e20f53;', 'font-weight: bold; font-size: 15px; background-color: #e20f53; color: #fff;', "with NODE_ENV=".concat(process.env.NODE_ENV));
@@ -20,8 +20,6 @@ var Widget = function Widget(props) {
20
20
  var object = props.object,
21
21
  dispatch = props.dispatch,
22
22
  points = props.points,
23
- _props$inlets = props.inlets,
24
- inlets = _props$inlets === void 0 ? [] : _props$inlets,
25
23
  map = props.map,
26
24
  global_data = props.global_data;
27
25
  var _React$useState = _react.default.useState(null),
@@ -32,21 +30,14 @@ var Widget = function Widget(props) {
32
30
  _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
33
31
  point = _React$useState4[0],
34
32
  setPoint = _React$useState4[1];
35
- var getPoints = function getPoints(area) {
36
- if (!points) return undefined;
37
- var pointsOfArea = points.filter(function (point) {
38
- return point.group.area_id === area.area_id && point.group.type === 'Groups::Factory';
39
- });
40
- return pointsOfArea;
41
- };
42
33
  var handleClick = function handleClick() {
43
34
  map.closePopup();
44
35
  if (area) {
45
36
  var areaToFocus = area;
46
- var _points = getPoints(areaToFocus);
47
- if (_points) {
37
+ var areaData = getAreaData();
38
+ if (areaData && areaData.length > 0) {
48
39
  var copy = (0, _objectSpread2.default)({}, areaToFocus);
49
- copy.factories = _points;
40
+ copy.factories = areaData;
50
41
  dispatch((0, _WWTPDashboardSlice.setFocusedArea)(copy));
51
42
  } else {
52
43
  dispatch((0, _WWTPDashboardSlice.setFocusedArea)(areaToFocus));
@@ -54,7 +45,7 @@ var Widget = function Widget(props) {
54
45
  } else {
55
46
  if (point) {
56
47
  var p = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, point), {}, {
57
- factories: inlets,
48
+ factories: getInlets(point.group.area_id, points),
58
49
  sub_areas: [],
59
50
  shape_data: [[point.latitude, point.longitude]]
60
51
  });
@@ -69,30 +60,63 @@ var Widget = function Widget(props) {
69
60
  utility_name: global_data.waterAuthorityName
70
61
  });
71
62
  };
63
+ var getFactories = function getFactories(area) {
64
+ if (!points) return undefined;
65
+ var pointsOfArea = points.filter(function (point) {
66
+ return point.group.area_id === area.area_id && point.group.type === 'Groups::Factory';
67
+ });
68
+ return pointsOfArea;
69
+ };
70
+
71
+ // Return the points that are in the same area as the WWTP and is_inlet is true
72
+ var getInlets = function getInlets(area_id, points) {
73
+ var inlets = [];
74
+ inlets = points.filter(function (inlet) {
75
+ return inlet.group.area_id === area_id && inlet.is_inlet === true;
76
+ });
77
+ // remove after testing and improve the function to one liner
78
+ console.warn(inlets);
79
+ return inlets;
80
+ };
81
+ var getAreaData = function getAreaData() {
82
+ var areaData = [];
83
+ var inlets = getInlets(area === null || area === void 0 ? void 0 : area.area_id, points);
84
+ if ((area === null || area === void 0 ? void 0 : area.is_wwtp) === true && inlets.length > 0) {
85
+ console.warn(area.area_name + 'inlets', inlets);
86
+ areaData = inlets;
87
+ } else {
88
+ if ((area === null || area === void 0 ? void 0 : area.sub_areas) && area.sub_areas.length > 0) {
89
+ areaData = area.sub_areas.map(function (sub_area) {
90
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, sub_area), {}, {
91
+ name: sub_area.area_name
92
+ });
93
+ });
94
+ console.warn(area.area_name + 'sub_areas', areaData);
95
+ } else {
96
+ if (points && points.length > 0) {
97
+ areaData = getFactories(area);
98
+ console.warn((area === null || area === void 0 ? void 0 : area.area_name) + 'points', areaData);
99
+ }
100
+ }
101
+ }
102
+ return areaData;
103
+ };
72
104
  var dataForPie = function dataForPie() {
73
105
  var data = [];
74
106
  if (area) {
75
- if (area.sub_areas !== undefined && area.sub_areas.length > 0) {
76
- area.sub_areas.forEach(function (sub_area) {
107
+ var items = getAreaData();
108
+ if (items && items.length > 0) {
109
+ items.forEach(function (item) {
77
110
  data.push({
78
- name: sub_area.area_name,
111
+ name: item.name,
79
112
  organic_load: 5,
80
113
  tooltipValue: 15
81
114
  });
82
115
  });
83
- } else {
84
- if (getPoints(area)) {
85
- getPoints(area).forEach(function (point) {
86
- data.push({
87
- name: point.name,
88
- organic_load: 5,
89
- tooltipValue: 15
90
- });
91
- });
92
- }
93
116
  }
94
117
  } else {
95
118
  if (point) {
119
+ var inlets = getInlets(point.group.area_id, points);
96
120
  inlets.forEach(function (inlet) {
97
121
  data.push({
98
122
  name: inlet.name,
@@ -105,17 +129,19 @@ var Widget = function Widget(props) {
105
129
  return data;
106
130
  };
107
131
  var title = function title() {
132
+ var payload = '';
108
133
  if (point) {
109
- return point.name;
134
+ payload = point.name;
110
135
  } else {
111
136
  if (area) {
112
- return area.area_name;
137
+ payload = area.area_name;
113
138
  }
114
139
  }
115
- return 'NO NAME';
140
+ return payload;
116
141
  };
117
142
  var getbuttonName = function getbuttonName() {
118
- if ((point === null || point === void 0 ? void 0 : point.forWWTPMap) !== undefined) {
143
+ var inlets = getInlets(area === null || area === void 0 ? void 0 : area.area_id, points);
144
+ if ((point === null || point === void 0 ? void 0 : point.forWWTPMap) !== undefined || (area === null || area === void 0 ? void 0 : area.is_wwtp) === true && inlets.length > 0) {
119
145
  return 'view_inlets';
120
146
  } else {
121
147
  if ((area === null || area === void 0 ? void 0 : area.sub_areas) !== undefined && area.sub_areas.length > 0) {
@@ -136,20 +162,28 @@ var Widget = function Widget(props) {
136
162
  setArea(object);
137
163
  }
138
164
  }, [object]);
165
+ var widgetContent = function widgetContent() {
166
+ var data = dataForPie();
167
+ if (data.length > 0) {
168
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
169
+ onClick: function onClick() {
170
+ return handleClick();
171
+ },
172
+ className: 'childrenButton rounded-pill btn-light'
173
+ }, buttonTitle()), /*#__PURE__*/_react.default.createElement(_InletsPie.default, {
174
+ inlets: dataForPie()
175
+ }));
176
+ } else {
177
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h2", null, 'No Children Found :-('));
178
+ }
179
+ };
139
180
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Card, {
140
181
  className: "bg-white m-3 p-3 widget-container",
141
182
  style: {
142
183
  border: '1px solid rgba(0,0,0,0)',
143
184
  borderRadius: '1em'
144
185
  }
145
- }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h3", null, title()), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
146
- onClick: function onClick() {
147
- return handleClick();
148
- },
149
- className: 'childrenButton rounded-pill btn-light'
150
- }, buttonTitle()), /*#__PURE__*/_react.default.createElement(_InletsPie.default, {
151
- inlets: dataForPie()
152
- }))));
186
+ }, /*#__PURE__*/_react.default.createElement("h3", null, title()), widgetContent()));
153
187
  };
154
188
  exports.Widget = Widget;
155
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl91dGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiV2lkZ2V0IiwicHJvcHMiLCJvYmplY3QiLCJkaXNwYXRjaCIsInBvaW50cyIsIl9wcm9wcyRpbmxldHMiLCJpbmxldHMiLCJtYXAiLCJnbG9iYWxfZGF0YSIsIl9SZWFjdCR1c2VTdGF0ZSIsIlJlYWN0IiwidXNlU3RhdGUiLCJfUmVhY3QkdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiYXJlYSIsInNldEFyZWEiLCJfUmVhY3QkdXNlU3RhdGUzIiwiX1JlYWN0JHVzZVN0YXRlNCIsInBvaW50Iiwic2V0UG9pbnQiLCJnZXRQb2ludHMiLCJ1bmRlZmluZWQiLCJwb2ludHNPZkFyZWEiLCJmaWx0ZXIiLCJncm91cCIsImFyZWFfaWQiLCJ0eXBlIiwiaGFuZGxlQ2xpY2siLCJjbG9zZVBvcHVwIiwiYXJlYVRvRm9jdXMiLCJjb3B5IiwiX29iamVjdFNwcmVhZDIiLCJmYWN0b3JpZXMiLCJzZXRGb2N1c2VkQXJlYSIsInAiLCJzdWJfYXJlYXMiLCJzaGFwZV9kYXRhIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcyIsImJ1dHRvbk5hbWUiLCJnZXRidXR0b25OYW1lIiwic2VuZEFuYWx5dGljc0V2ZW50IiwidXRpbGl0eV9uYW1lIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZGF0YUZvclBpZSIsImRhdGEiLCJsZW5ndGgiLCJmb3JFYWNoIiwic3ViX2FyZWEiLCJwdXNoIiwibmFtZSIsImFyZWFfbmFtZSIsIm9yZ2FuaWNfbG9hZCIsInRvb2x0aXBWYWx1ZSIsImlubGV0IiwidGl0bGUiLCJmb3JXV1RQTWFwIiwiYnV0dG9uVGl0bGUiLCJpMThuIiwidCIsImNvbmNhdCIsInVzZUVmZmVjdCIsImlzQVBvaW50IiwiY3JlYXRlRWxlbWVudCIsIkNhcmQiLCJjbGFzc05hbWUiLCJzdHlsZSIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsIkJ1dHRvbiIsIm9uQ2xpY2siLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XaWRnZXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIENhcmQgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgSW5sZXRzUGllIGZyb20gJy4uLy4uL3VpLWtpdC9JbmxldHNQaWUnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50IH0gZnJvbSAnLi91dGlscyc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBvYmplY3Q6IGFueTtcbiAgZGlzcGF0Y2g6IGFueTtcbiAgcG9pbnRzOiBJUG9pbnRbXTtcbiAgaW5sZXRzPzogSVBvaW50W107XG4gIG1hcDtcbiAgZ2xvYmFsX2RhdGE7XG59O1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgb2JqZWN0LCBkaXNwYXRjaCwgcG9pbnRzLCBpbmxldHMgPSBbXSwgbWFwLCBnbG9iYWxfZGF0YSB9ID0gcHJvcHM7XG4gIGNvbnN0IFthcmVhLCBzZXRBcmVhXSA9IFJlYWN0LnVzZVN0YXRlPElBcmVhIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtwb2ludCwgc2V0UG9pbnRdID0gUmVhY3QudXNlU3RhdGU8SVBvaW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGdldFBvaW50cyA9IChhcmVhKSA9PiB7XG4gICAgaWYgKCFwb2ludHMpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgbGV0IHBvaW50c09mQXJlYSA9IHBvaW50cy5maWx0ZXIoKHBvaW50KSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBwb2ludC5ncm91cC5hcmVhX2lkID09PSBhcmVhLmFyZWFfaWQgJiZcbiAgICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeSdcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcG9pbnRzT2ZBcmVhO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKCkgPT4ge1xuICAgIG1hcC5jbG9zZVBvcHVwKCk7XG4gICAgaWYgKGFyZWEpIHtcbiAgICAgIGxldCBhcmVhVG9Gb2N1cyA9IGFyZWE7XG4gICAgICBjb25zdCBwb2ludHMgPSBnZXRQb2ludHMoYXJlYVRvRm9jdXMpO1xuICAgICAgaWYgKHBvaW50cykge1xuICAgICAgICBsZXQgY29weSA9IHsgLi4uYXJlYVRvRm9jdXMgfTtcbiAgICAgICAgY29weS5mYWN0b3JpZXMgPSBwb2ludHM7XG4gICAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGNvcHkpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGFyZWFUb0ZvY3VzKSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwb2ludCkge1xuICAgICAgICBsZXQgcCA9IHtcbiAgICAgICAgICAuLi5wb2ludCxcbiAgICAgICAgICBmYWN0b3JpZXM6IGlubGV0cyxcbiAgICAgICAgICBzdWJfYXJlYXM6IFtdLFxuICAgICAgICAgIHNoYXBlX2RhdGE6IFtbcG9pbnQubGF0aXR1ZGUsIHBvaW50LmxvbmdpdHVkZV1dLFxuICAgICAgICB9O1xuICAgICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShwKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHNlbmRCdXR0b25DbGlja2VkQW5hbHl0aWNzKCk7XG4gIH07XG5cbiAgY29uc3Qgc2VuZEJ1dHRvbkNsaWNrZWRBbmFseXRpY3MgPSAoKSA9PiB7XG4gICAgbGV0IGJ1dHRvbk5hbWUgPSBnZXRidXR0b25OYW1lKCk7XG5cbiAgICBzZW5kQW5hbHl0aWNzRXZlbnQoJ01hcCB2aWV3IC0gUG9wdXAgZHJpbGxkb3duIGNsaWNrZWQnLCBidXR0b25OYW1lLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBkYXRhRm9yUGllID0gKCkgPT4ge1xuICAgIGxldCBkYXRhID0gW107XG4gICAgaWYgKGFyZWEpIHtcbiAgICAgIGlmIChhcmVhLnN1Yl9hcmVhcyAhPT0gdW5kZWZpbmVkICYmIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYXJlYS5zdWJfYXJlYXMuZm9yRWFjaCgoc3ViX2FyZWEpID0+IHtcbiAgICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgICAgbmFtZTogc3ViX2FyZWEuYXJlYV9uYW1lLFxuICAgICAgICAgICAgb3JnYW5pY19sb2FkOiA1LFxuICAgICAgICAgICAgdG9vbHRpcFZhbHVlOiAxNSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZ2V0UG9pbnRzKGFyZWEpKSB7XG4gICAgICAgICAgZ2V0UG9pbnRzKGFyZWEpLmZvckVhY2goKHBvaW50KSA9PiB7XG4gICAgICAgICAgICBkYXRhLnB1c2goeyBuYW1lOiBwb2ludC5uYW1lLCBvcmdhbmljX2xvYWQ6IDUsIHRvb2x0aXBWYWx1ZTogMTUgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHBvaW50KSB7XG4gICAgICAgIGlubGV0cy5mb3JFYWNoKChpbmxldCkgPT4ge1xuICAgICAgICAgIGRhdGEucHVzaCh7IG5hbWU6IGlubGV0Lm5hbWUsIG9yZ2FuaWNfbG9hZDogNSwgdG9vbHRpcFZhbHVlOiAxNSB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9O1xuXG4gIGNvbnN0IHRpdGxlID0gKCkgPT4ge1xuICAgIGlmIChwb2ludCkge1xuICAgICAgcmV0dXJuIHBvaW50Lm5hbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChhcmVhKSB7XG4gICAgICAgIHJldHVybiBhcmVhLmFyZWFfbmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICdOTyBOQU1FJztcbiAgfTtcblxuICBjb25zdCBnZXRidXR0b25OYW1lID0gKCkgPT4ge1xuICAgIGlmIChwb2ludD8uZm9yV1dUUE1hcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gJ3ZpZXdfaW5sZXRzJztcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGFyZWE/LnN1Yl9hcmVhcyAhPT0gdW5kZWZpbmVkICYmIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuICd2aWV3X3N1Yl9hcmVhcyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gJ3ZpZXdfZmFjdG9yaWVzJztcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgYnV0dG9uVGl0bGUgPSAoKSA9PiB7XG4gICAgcmV0dXJuIGkxOG4udChgd3d0cFBhZ2UuJHtnZXRidXR0b25OYW1lKCl9YCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBUG9pbnQgPSBvYmplY3QuZm9yV1dUUE1hcCAhPT0gdW5kZWZpbmVkO1xuXG4gICAgaWYgKGlzQVBvaW50KSB7XG4gICAgICBzZXRQb2ludChvYmplY3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRBcmVhKG9iamVjdCk7XG4gICAgfVxuICB9LCBbb2JqZWN0XSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgPENhcmRcbiAgICAgICAgY2xhc3NOYW1lPVwiYmctd2hpdGUgbS0zIHAtMyB3aWRnZXQtY29udGFpbmVyXCJcbiAgICAgICAgc3R5bGU9e3sgYm9yZGVyOiAnMXB4IHNvbGlkIHJnYmEoMCwwLDAsMCknLCBib3JkZXJSYWRpdXM6ICcxZW0nIH19XG4gICAgICA+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgezxoMz57dGl0bGUoKX08L2gzPn1cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDbGljaygpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXsnY2hpbGRyZW5CdXR0b24gcm91bmRlZC1waWxsIGJ0bi1saWdodCd9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2J1dHRvblRpdGxlKCl9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPElubGV0c1BpZSBpbmxldHM9e2RhdGFGb3JQaWUoKX0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NhcmQ+XG4gICAgPC9kaXY+XG4g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
189
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl91dGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiV2lkZ2V0IiwicHJvcHMiLCJvYmplY3QiLCJkaXNwYXRjaCIsInBvaW50cyIsIm1hcCIsImdsb2JhbF9kYXRhIiwiX1JlYWN0JHVzZVN0YXRlIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsIl9SZWFjdCR1c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJhcmVhIiwic2V0QXJlYSIsIl9SZWFjdCR1c2VTdGF0ZTMiLCJfUmVhY3QkdXNlU3RhdGU0IiwicG9pbnQiLCJzZXRQb2ludCIsImhhbmRsZUNsaWNrIiwiY2xvc2VQb3B1cCIsImFyZWFUb0ZvY3VzIiwiYXJlYURhdGEiLCJnZXRBcmVhRGF0YSIsImxlbmd0aCIsImNvcHkiLCJfb2JqZWN0U3ByZWFkMiIsImZhY3RvcmllcyIsInNldEZvY3VzZWRBcmVhIiwicCIsImdldElubGV0cyIsImdyb3VwIiwiYXJlYV9pZCIsInN1Yl9hcmVhcyIsInNoYXBlX2RhdGEiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInNlbmRCdXR0b25DbGlja2VkQW5hbHl0aWNzIiwiYnV0dG9uTmFtZSIsImdldGJ1dHRvbk5hbWUiLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJ1dGlsaXR5X25hbWUiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJnZXRGYWN0b3JpZXMiLCJ1bmRlZmluZWQiLCJwb2ludHNPZkFyZWEiLCJmaWx0ZXIiLCJ0eXBlIiwiaW5sZXRzIiwiaW5sZXQiLCJpc19pbmxldCIsImNvbnNvbGUiLCJ3YXJuIiwiaXNfd3d0cCIsImFyZWFfbmFtZSIsInN1Yl9hcmVhIiwibmFtZSIsImRhdGFGb3JQaWUiLCJkYXRhIiwiaXRlbXMiLCJmb3JFYWNoIiwiaXRlbSIsInB1c2giLCJvcmdhbmljX2xvYWQiLCJ0b29sdGlwVmFsdWUiLCJ0aXRsZSIsInBheWxvYWQiLCJmb3JXV1RQTWFwIiwiYnV0dG9uVGl0bGUiLCJpMThuIiwidCIsImNvbmNhdCIsInVzZUVmZmVjdCIsImlzQVBvaW50Iiwid2lkZ2V0Q29udGVudCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsIkJ1dHRvbiIsIm9uQ2xpY2siLCJjbGFzc05hbWUiLCJDYXJkIiwic3R5bGUiLCJib3JkZXIiLCJib3JkZXJSYWRpdXMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XaWRnZXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIENhcmQgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgSW5sZXRzUGllIGZyb20gJy4uLy4uL3VpLWtpdC9JbmxldHNQaWUnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50IH0gZnJvbSAnLi91dGlscyc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBvYmplY3Q6IGFueTtcbiAgZGlzcGF0Y2g6IGFueTtcbiAgcG9pbnRzOiBJUG9pbnRbXTtcbiAgbWFwO1xuICBnbG9iYWxfZGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBXaWRnZXQ6IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBvYmplY3QsIGRpc3BhdGNoLCBwb2ludHMsIG1hcCwgZ2xvYmFsX2RhdGEgfSA9IHByb3BzO1xuICBjb25zdCBbYXJlYSwgc2V0QXJlYV0gPSBSZWFjdC51c2VTdGF0ZTxJQXJlYSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbcG9pbnQsIHNldFBvaW50XSA9IFJlYWN0LnVzZVN0YXRlPElQb2ludCB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKCkgPT4ge1xuICAgIG1hcC5jbG9zZVBvcHVwKCk7XG4gICAgaWYgKGFyZWEpIHtcbiAgICAgIGxldCBhcmVhVG9Gb2N1cyA9IGFyZWE7XG4gICAgICBjb25zdCBhcmVhRGF0YSA9IGdldEFyZWFEYXRhKCk7XG4gICAgICBpZiAoYXJlYURhdGEgJiYgYXJlYURhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICBsZXQgY29weSA9IHsgLi4uYXJlYVRvRm9jdXMgfTtcbiAgICAgICAgY29weS5mYWN0b3JpZXMgPSBhcmVhRGF0YTtcbiAgICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEoY29weSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEoYXJlYVRvRm9jdXMpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHBvaW50KSB7XG4gICAgICAgIGxldCBwID0ge1xuICAgICAgICAgIC4uLnBvaW50LFxuICAgICAgICAgIGZhY3RvcmllczogZ2V0SW5sZXRzKHBvaW50Lmdyb3VwLmFyZWFfaWQsIHBvaW50cyksXG4gICAgICAgICAgc3ViX2FyZWFzOiBbXSxcbiAgICAgICAgICBzaGFwZV9kYXRhOiBbW3BvaW50LmxhdGl0dWRlLCBwb2ludC5sb25naXR1ZGVdXSxcbiAgICAgICAgfTtcbiAgICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEocCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcygpO1xuICB9O1xuXG4gIGNvbnN0IHNlbmRCdXR0b25DbGlja2VkQW5hbHl0aWNzID0gKCkgPT4ge1xuICAgIGxldCBidXR0b25OYW1lID0gZ2V0YnV0dG9uTmFtZSgpO1xuXG4gICAgc2VuZEFuYWx5dGljc0V2ZW50KCdNYXAgdmlldyAtIFBvcHVwIGRyaWxsZG93biBjbGlja2VkJywgYnV0dG9uTmFtZSwge1xuICAgICAgdXRpbGl0eV9uYW1lOiBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgZ2V0RmFjdG9yaWVzID0gKGFyZWEpID0+IHtcbiAgICBpZiAoIXBvaW50cykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBsZXQgcG9pbnRzT2ZBcmVhID0gcG9pbnRzLmZpbHRlcigocG9pbnQpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHBvaW50Lmdyb3VwLmFyZWFfaWQgPT09IGFyZWEuYXJlYV9pZCAmJlxuICAgICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5J1xuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBwb2ludHNPZkFyZWE7XG4gIH07XG5cbiAgLy8gUmV0dXJuIHRoZSBwb2ludHMgdGhhdCBhcmUgaW4gdGhlIHNhbWUgYXJlYSBhcyB0aGUgV1dUUCBhbmQgaXNfaW5sZXQgaXMgdHJ1ZVxuICBjb25zdCBnZXRJbmxldHMgPSAoYXJlYV9pZCwgcG9pbnRzOiBJUG9pbnRbXSkgPT4ge1xuICAgIGxldCBpbmxldHM6IElQb2ludFtdID0gW107XG4gICAgaW5sZXRzID0gcG9pbnRzLmZpbHRlcihcbiAgICAgIChpbmxldDogSVBvaW50KSA9PlxuICAgICAgICBpbmxldC5ncm91cC5hcmVhX2lkID09PSBhcmVhX2lkICYmIGlubGV0LmlzX2lubGV0ID09PSB0cnVlLFxuICAgICk7XG4gICAgLy8gcmVtb3ZlIGFmdGVyIHRlc3RpbmcgYW5kIGltcHJvdmUgdGhlIGZ1bmN0aW9uIHRvIG9uZSBsaW5lclxuICAgIGNvbnNvbGUud2FybihpbmxldHMpO1xuICAgIHJldHVybiBpbmxldHM7XG4gIH07XG5cbiAgY29uc3QgZ2V0QXJlYURhdGEgPSAoKSA9PiB7XG4gICAgbGV0IGFyZWFEYXRhOiBhbnkgPSBbXTtcbiAgICBjb25zdCBpbmxldHMgPSBnZXRJbmxldHMoYXJlYT8uYXJlYV9pZCwgcG9pbnRzKTtcblxuICAgIGlmIChhcmVhPy5pc193d3RwID09PSB0cnVlICYmIGlubGV0cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zb2xlLndhcm4oYXJlYS5hcmVhX25hbWUgKyAnaW5sZXRzJywgaW5sZXRzKTtcbiAgICAgIGFyZWFEYXRhID0gaW5sZXRzO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoYXJlYT8uc3ViX2FyZWFzICYmIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYXJlYURhdGEgPSBhcmVhLnN1Yl9hcmVhcy5tYXAoKHN1Yl9hcmVhKSA9PiAoe1xuICAgICAgICAgIC4uLnN1Yl9hcmVhLFxuICAgICAgICAgIG5hbWU6IHN1Yl9hcmVhLmFyZWFfbmFtZSxcbiAgICAgICAgfSkpO1xuICAgICAgICBjb25zb2xlLndhcm4oYXJlYS5hcmVhX25hbWUgKyAnc3ViX2FyZWFzJywgYXJlYURhdGEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHBvaW50cyAmJiBwb2ludHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGFyZWFEYXRhID0gZ2V0RmFjdG9yaWVzKGFyZWEpO1xuICAgICAgICAgIGNvbnNvbGUud2FybihhcmVhPy5hcmVhX25hbWUgKyAncG9pbnRzJywgYXJlYURhdGEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhcmVhRGF0YTtcbiAgfTtcblxuICBjb25zdCBkYXRhRm9yUGllID0gKCkgPT4ge1xuICAgIGxldCBkYXRhOiBhbnkgPSBbXTtcbiAgICBpZiAoYXJlYSkge1xuICAgICAgY29uc3QgaXRlbXMgPSBnZXRBcmVhRGF0YSgpO1xuICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGRhdGEucHVzaCh7IG5hbWU6IGl0ZW0ubmFtZSwgb3JnYW5pY19sb2FkOiA1LCB0b29sdGlwVmFsdWU6IDE1IH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHBvaW50KSB7XG4gICAgICAgIGNvbnN0IGlubGV0cyA9IGdldElubGV0cyhwb2ludC5ncm91cC5hcmVhX2lkLCBwb2ludHMpO1xuICAgICAgICBpbmxldHMuZm9yRWFjaCgoaW5sZXQpID0+IHtcbiAgICAgICAgICBkYXRhLnB1c2goeyBuYW1lOiBpbmxldC5uYW1lLCBvcmdhbmljX2xvYWQ6IDUsIHRvb2x0aXBWYWx1ZTogMTUgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfTtcblxuICBjb25zdCB0aXRsZSA9ICgpID0+IHtcbiAgICBsZXQgcGF5bG9hZCA9ICcnO1xuICAgIGlmIChwb2ludCkge1xuICAgICAgcGF5bG9hZCA9IHBvaW50Lm5hbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChhcmVhKSB7XG4gICAgICAgIHBheWxvYWQgPSBhcmVhLmFyZWFfbmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3QgZ2V0YnV0dG9uTmFtZSA9ICgpID0+IHtcbiAgICBjb25zdCBpbmxldHMgPSBnZXRJbmxldHMoYXJlYT8uYXJlYV9pZCwgcG9pbnRzKTtcbiAgICBpZiAoXG4gICAgICBwb2ludD8uZm9yV1dUUE1hcCAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICAoYXJlYT8uaXNfd3d0cCA9PT0gdHJ1ZSAmJiBpbmxldHMubGVuZ3RoID4gMClcbiAgICApIHtcbiAgICAgIHJldHVybiAndmlld19pbmxldHMnO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoYXJlYT8uc3ViX2FyZWFzICE9PSB1bmRlZmluZWQgJiYgYXJlYS5zdWJfYXJlYXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gJ3ZpZXdfc3ViX2FyZWFzJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAndmlld19mYWN0b3JpZXMnO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBidXR0b25UaXRsZSA9ICgpID0+IHtcbiAgICByZXR1cm4gaTE4bi50KGB3d3RwUGFnZS4ke2dldGJ1dHRvbk5hbWUoKX1gKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBpc0FQb2ludCA9IG9iamVjdC5mb3JXV1RQTWFwICE9PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNBUG9pbnQpIHtcbiAgICAgIHNldFBvaW50KG9iamVjdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFyZWEob2JqZWN0KTtcbiAgICB9XG4gIH0sIFtvYmplY3RdKTtcblxuICBjb25zdCB3aWRnZXRDb250ZW50ID0gKCkgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSBkYXRhRm9yUGllKCk7XG4gICAgaWYgKGRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDbGljaygpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXsnY2hpbGRyZW5CdXR0b24gcm91bmRlZC1waWxsIGJ0bi1saWdodCd9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2J1dHRvblRpdGxlKCl9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPElubGV0c1BpZSBpbmxldHM9e2RhdGFGb3JQaWUoKX0gLz5cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxoMj57J05vIENoaWxkcmVuIEZvdW5kIDotKCd9PC9oMj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICA8Q2FyZFxuICAgICAgICBjbGFzc05hbWU9XCJiZy13aGl0ZSBtLTMgcC0zIHdpZGdldC1jb250YWluZXJcIlxuICAgICAgICBzdHlsZT17eyBib3JkZXI6ICcxcHggc29saWQgcmdiYSgwLDAsMCwwKScsIGJvcmRlclJhZGl1czogJzFlbScgfX1cbiAgICAgID5cbiAgICAgICAgezxoMz57dGl0bGUoKX08L2gzPn1cbiAgICAgICAge3dpZGdldENvbnRlbnQoKX1cbiAgICAgIDwvQ2FyZD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxtQkFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsS0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBRUEsSUFBQUssVUFBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQTZDLFNBQUFPLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFB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
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.simpleTruncate = exports.sendAnalyticsEvent = exports.initializeWWTPData = exports.getInlets = exports.createPopupForObject = exports.areaFocusLogic = exports.CardContainer = void 0;
7
+ exports.simpleTruncate = exports.sendAnalyticsEvent = exports.initializeWWTPData = exports.createPopupForObject = exports.areaFocusLogic = exports.CardContainer = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
9
  var _styledComponents = _interopRequireDefault(require("styled-components"));
10
10
  var _jquery = _interopRequireDefault(require("jquery"));
@@ -80,28 +80,11 @@ var CardContainer = _styledComponents.default.div.withConfig({
80
80
  componentId: "sc-zfjea1-0"
81
81
  })([".card{transition:0.1s ease-in-out;box-shadow:0px 1px 3px rgba(0,0,0,0.2);&:hover{transition:0.2s ease-in-out;box-shadow:0px 3px 10px rgba(0,0,0,0.2);cursor:pointer;}}"]);
82
82
 
83
- // Go over all edges and find the ones that have the point as a target
84
- // Return the points that are the found edges
85
- exports.CardContainer = CardContainer;
86
- var getInlets = function getInlets(point, edges, points) {
87
- var inlets = [];
88
- if (edges !== undefined && edges.length > 0) {
89
- edges.forEach(function (edge) {
90
- if (edge.target_point_id === point.id) {
91
- inlets.push(points.find(function (inlet) {
92
- return inlet.id === edge.source_point_id;
93
- }));
94
- }
95
- });
96
- }
97
- return inlets;
98
- };
99
-
100
83
  // Send analytics events from several places in wwtpmap.
101
84
  // subject is the name of the event
102
85
  // selection is the object that was selected
103
86
  // specificFields is an object with event fields to send which are combined with the rest of the fields
104
- exports.getInlets = getInlets;
87
+ exports.CardContainer = CardContainer;
105
88
  var sendAnalyticsEvent = function sendAnalyticsEvent(subject, selection, eventFields) {
106
89
  var data = (0, _objectSpread2.default)({
107
90
  selection: selection,
@@ -110,4 +93,4 @@ var sendAnalyticsEvent = function sendAnalyticsEvent(subject, selection, eventFi
110
93
  (0, _Analytics.analyticsTrack)(subject, data);
111
94
  };
112
95
  exports.sendAnalyticsEvent = sendAnalyticsEvent;
113
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfanF1ZXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQW5hbHl0aWNzIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwicGF5bG9hZCIsImRhdGFFeGlzdHMiLCJXV1RQIiwicG9pbnRzX2RhdGEiLCJpdGVtcyIsImZpbmQiLCJwb2ludCIsImlkIiwicGFyc2VJbnQiLCJ1bmRlZmluZWQiLCJXV1RQQXJlYSIsImFyZWFzX2RhdGEiLCJuZXdBcmVhcyIsImFyZWEiLCJhcmVhX2lkIiwicGFydF9vZl9hcmVhX2lkIiwiZm9yV1dUUE1hcCIsInNldFdXVFBJbmZvIiwic2V0UG9pbnRzIiwic2V0QXJlYXMiLCJleHBvcnRzIiwiY3JlYXRlUG9wdXBGb3JPYmplY3QiLCJhcmdzIiwibWFya2VyIiwiYmluZFBvcHVwIiwibWF4V2lkdGgiLCJtaW5XaWR0aCIsIm1heEhlaWdodCIsIm1pbkhlaWdodCIsIm9uIiwic2V0VGltZW91dCIsIiQiLCJjb250ZW50cyIsImxlbmd0aCIsImFwcGVuZCIsInJlbmRlcmVkRWxlbWVudCIsImFyZWFGb2N1c0xvZ2ljIiwibGF0bG5ncyIsImZvY3VzZWRBcmVhIiwic3ViX2FyZWFzIiwiZmFjdG9yaWVzIiwic2hhcGVfZGF0YSIsImZvckVhY2giLCJsYXRsbmciLCJwdXNoIiwic3ViX2FyZWEiLCJzaW1wbGVUcnVuY2F0ZSIsInN0ciIsIkVycm9yIiwic3Vic3RyaW5nIiwiQ2FyZENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiZ2V0SW5sZXRzIiwiZWRnZXMiLCJwb2ludHMiLCJpbmxldHMiLCJlZGdlIiwidGFyZ2V0X3BvaW50X2lkIiwiaW5sZXQiLCJzb3VyY2VfcG9pbnRfaWQiLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJzdWJqZWN0Iiwic2VsZWN0aW9uIiwiZXZlbnRGaWVsZHMiLCJkYXRhIiwiX29iamVjdFNwcmVhZDIiLCJkZWZhdWx0IiwicGFnZV9uYW1lIiwid2luZG93IiwibG9jYXRpb24iLCJwYXRobmFtZSIsImFuYWx5dGljc1RyYWNrIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICdzcmMvdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplV1dUUERhdGEgPSAocGF5bG9hZCkgPT4ge1xuICBpZiAocGF5bG9hZC5kYXRhRXhpc3RzKCkpIHtcbiAgICBsZXQgV1dUUDogSVBvaW50ID0gcGF5bG9hZC5wb2ludHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBwYXJzZUludChwYXlsb2FkLmlkKSxcbiAgICApO1xuICAgIGlmIChXV1RQID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBsZXQgV1dUUEFyZWE6IElBcmVhID0gcGF5bG9hZC5hcmVhc19kYXRhLm5ld0FyZWFzLmZpbmQoXG4gICAgICAoYXJlYTogSUFyZWEpID0+IGFyZWEuYXJlYV9pZCA9PT0gV1dUUC5wYXJ0X29mX2FyZWFfaWQsXG4gICAgKTtcblxuICAgIFdXVFAuZm9yV1dUUE1hcCA9IHRydWU7XG4gICAgcGF5bG9hZC5zZXRXV1RQSW5mbyh7IHBvaW50OiBXV1RQLCBhcmVhOiBXV1RQQXJlYSB9KTtcbiAgICBwYXlsb2FkLnNldFBvaW50cyhwYXlsb2FkLnBvaW50c19kYXRhLml0ZW1zKTtcbiAgICBwYXlsb2FkLnNldEFyZWFzKHBheWxvYWQuYXJlYXNfZGF0YS5uZXdBcmVhcyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb3B1cEZvck9iamVjdCA9IChhcmdzKSA9PiB7XG4gIGFyZ3MubWFya2VyLmJpbmRQb3B1cChgPGRpdiBjbGFzcz1cIndpZGdldC1jb250YWluZXJcIj48L2Rpdj5gLCB7XG4gICAgbWF4V2lkdGg6IDQwMCxcbiAgICBtaW5XaWR0aDogNDAwLFxuICAgIG1heEhlaWdodDogNDAwLFxuICAgIG1pbkhlaWdodDogNDAwLFxuICB9KTtcblxuICBhcmdzLm1hcmtlci5vbigncG9wdXBvcGVuJywgZnVuY3Rpb24gKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCQoJy53aWRnZXQtY29udGFpbmVyJykuY29udGVudHMoKS5sZW5ndGggPD0gMCkge1xuICAgICAgICAkKCcud2lkZ2V0LWNvbnRhaW5lcicpLmFwcGVuZChhcmdzLnJlbmRlcmVkRWxlbWVudCk7XG4gICAgICB9XG4gICAgfSwgMjAwKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYXJlYUZvY3VzTG9naWMgPSAoYXJncykgPT4ge1xuICBsZXQgbGF0bG5ncyA9IFtdO1xuICBpZiAoXG4gICAgYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMubGVuZ3RoID09PSAwICYmXG4gICAgYXJncy5mb2N1c2VkQXJlYS5mYWN0b3JpZXMubGVuZ3RoID09PSAwXG4gIClcbiAgICByZXR1cm47XG5cbiAgaWYgKGFyZ3MuZm9jdXNlZEFyZWEuc3ViX2FyZWFzLmxlbmd0aCA9PT0gMCkge1xuICAgIGFyZ3MuZm9jdXNlZEFyZWEuc2hhcGVfZGF0YS5mb3JFYWNoKChsYXRsbmcpID0+IHtcbiAgICAgIGxhdGxuZ3MucHVzaChsYXRsbmcpO1xuICAgIH0pO1xuICAgIGFyZ3Muc2V0QXJlYXMoYXJncy5mb2N1c2VkQXJlYS5mYWN0b3JpZXMpO1xuICB9IGVsc2Uge1xuICAgIGFyZ3MuZm9jdXNlZEFyZWEuc3ViX2FyZWFzLmZvckVhY2goKHN1Yl9hcmVhOiBJQXJlYSkgPT4ge1xuICAgICAgc3ViX2FyZWEuc2hhcGVfZGF0YS5mb3JFYWNoKChsYXRsbmcpID0+IHtcbiAgICAgICAgbGF0bG5ncy5wdXNoKGxhdGxuZyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBhcmdzLnNldEFyZWFzKGFyZ3MuZm9jdXNlZEFyZWEuc3ViX2FyZWFzKTtcbiAgfVxuXG4gIC8vIGFyZ3MubWFwLmZpdEJvdW5kcyhsYXRsbmdzKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaW1wbGVUcnVuY2F0ZSA9IChzdHIsIGxlbmd0aCkgPT4ge1xuICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycgfHwgdHlwZW9mIGxlbmd0aCAhPT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgYXJndW1lbnRzLiBQbGVhc2UgcHJvdmlkZSBhIHN0cmluZyBhbmQgYSBudW1iZXIuJyk7XG4gIH1cblxuICBpZiAoc3RyLmxlbmd0aCA8PSBsZW5ndGgpIHtcbiAgICByZXR1cm4gc3RyO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBzdHIuc3Vic3RyaW5nKDAsIGxlbmd0aCkgKyAnLi4uJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENhcmRDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICAuY2FyZCB7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICBib3gtc2hhZG93OiAwcHggM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuYDtcblxuLy8gR28gb3ZlciBhbGwgZWRnZXMgYW5kIGZpbmQgdGhlIG9uZXMgdGhhdCBoYXZlIHRoZSBwb2ludCBhcyBhIHRhcmdldFxuLy8gUmV0dXJuIHRoZSBwb2ludHMgdGhhdCBhcmUgdGhlIGZvdW5kIGVkZ2VzXG5leHBvcnQgY29uc3QgZ2V0SW5sZXRzID0gKHBvaW50OiBJUG9pbnQsIGVkZ2VzOiBJRWRnZVtdLCBwb2ludHM6IElQb2ludFtdKSA9PiB7XG4gIGxldCBpbmxldHM6IElQb2ludFtdID0gW107XG4gIGlmIChlZGdlcyAhPT0gdW5kZWZpbmVkICYmIGVkZ2VzLmxlbmd0aCA+IDApIHtcbiAgICBlZGdlcy5mb3JFYWNoKChlZGdlOiBJRWRnZSkgPT4ge1xuICAgICAgaWYgKGVkZ2UudGFyZ2V0X3BvaW50X2lkID09PSBwb2ludC5pZCkge1xuICAgICAgICBpbmxldHMucHVzaChwb2ludHMuZmluZCgoaW5sZXQpID0+IGlubGV0LmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHJldHVybiBpbmxldHM7XG59O1xuXG4vLyBTZW5kIGFuYWx5dGljcyBldmVudHMgZnJvbSBzZXZlcmFsIHBsYWNlcyBpbiB3d3RwbWFwLlxuLy8gc3ViamVjdCBpcyB0aGUgbmFtZSBvZiB0aGUgZXZlbnRcbi8vIHNlbGVjdGlvbiBpcyB0aGUgb2JqZWN0IHRoYXQgd2FzIHNlbGVjdGVkXG4vLyBzcGVjaWZpY0ZpZWxkcyBpcyBhbiBvYmplY3Qgd2l0aCBldmVudCBmaWVsZHMgdG8gc2VuZCB3aGljaCBhcmUgY29tYmluZWQgd2l0aCB0aGUgcmVzdCBvZiB0aGUgZmllbGRzXG5leHBvcnQgY29uc3Qgc2VuZEFuYWx5dGljc0V2ZW50ID0gKFxuICBzdWJqZWN0OiBzdHJpbmcsXG4gIHNlbGVjdGlvbjogc3RyaW5nLFxuICBldmVudEZpZWxkczogT2JqZWN0LFxuKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgc2VsZWN0aW9uOiBzZWxlY3Rpb24sXG4gICAgcGFnZV9uYW1lOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsXG4gICAgLi4uZXZlbnRGaWVsZHMsXG4gIH07XG4gIGFuYWx5dGljc1RyYWNrKHN1YmplY3QsIGRhdGEpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBRU8sSUFBTUUsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSUMsT0FBTyxFQUFLO0VBQzdDLElBQUlBLE9BQU8sQ0FBQ0MsVUFBVSxDQUFDLENBQUMsRUFBRTtJQUN4QixJQUFJQyxJQUFZLEdBQUdGLE9BQU8sQ0FBQ0csV0FBVyxDQUFDQyxLQUFLLENBQUNDLElBQUksQ0FDL0MsVUFBQ0MsS0FBYTtNQUFBLE9BQUtBLEtBQUssQ0FBQ0MsRUFBRSxLQUFLQyxRQUFRLENBQUNSLE9BQU8sQ0FBQ08sRUFBRSxDQUFDO0lBQUEsQ0FDdEQsQ0FBQztJQUNELElBQUlMLElBQUksS0FBS08sU0FBUyxFQUFFO0lBQ3hCLElBQUlDLFFBQWUsR0FBR1YsT0FBTyxDQUFDVyxVQUFVLENBQUNDLFFBQVEsQ0FBQ1AsSUFBSSxDQUNwRCxVQUFDUSxJQUFXO01BQUEsT0FBS0EsSUFBSSxDQUFDQyxPQUFPLEtBQUtaLElBQUksQ0FBQ2EsZUFBZTtJQUFBLENBQ3hELENBQUM7SUFFRGIsSUFBSSxDQUFDYyxVQUFVLEdBQUcsSUFBSTtJQUN0QmhCLE9BQU8sQ0FBQ2lCLFdBQVcsQ0FBQztNQUFFWCxLQUFLLEVBQUVKLElBQUk7TUFBRVcsSUFBSSxFQUFFSDtJQUFTLENBQUMsQ0FBQztJQUNwRFYsT0FBTyxDQUFDa0IsU0FBUyxDQUFDbEIsT0FBTyxDQUFDRyxXQUFXLENBQUNDLEtBQUssQ0FBQztJQUM1Q0osT0FBTyxDQUFDbUIsUUFBUSxDQUFDbkIsT0FBTyxDQUFDVyxVQUFVLENBQUNDLFFBQVEsQ0FBQztFQUMvQztBQUNGLENBQUM7QUFBQ1EsT0FB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
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfanF1ZXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQW5hbHl0aWNzIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwicGF5bG9hZCIsImRhdGFFeGlzdHMiLCJXV1RQIiwicG9pbnRzX2RhdGEiLCJpdGVtcyIsImZpbmQiLCJwb2ludCIsImlkIiwicGFyc2VJbnQiLCJ1bmRlZmluZWQiLCJXV1RQQXJlYSIsImFyZWFzX2RhdGEiLCJuZXdBcmVhcyIsImFyZWEiLCJhcmVhX2lkIiwicGFydF9vZl9hcmVhX2lkIiwiZm9yV1dUUE1hcCIsInNldFdXVFBJbmZvIiwic2V0UG9pbnRzIiwic2V0QXJlYXMiLCJleHBvcnRzIiwiY3JlYXRlUG9wdXBGb3JPYmplY3QiLCJhcmdzIiwibWFya2VyIiwiYmluZFBvcHVwIiwibWF4V2lkdGgiLCJtaW5XaWR0aCIsIm1heEhlaWdodCIsIm1pbkhlaWdodCIsIm9uIiwic2V0VGltZW91dCIsIiQiLCJjb250ZW50cyIsImxlbmd0aCIsImFwcGVuZCIsInJlbmRlcmVkRWxlbWVudCIsImFyZWFGb2N1c0xvZ2ljIiwibGF0bG5ncyIsImZvY3VzZWRBcmVhIiwic3ViX2FyZWFzIiwiZmFjdG9yaWVzIiwic2hhcGVfZGF0YSIsImZvckVhY2giLCJsYXRsbmciLCJwdXNoIiwic3ViX2FyZWEiLCJzaW1wbGVUcnVuY2F0ZSIsInN0ciIsIkVycm9yIiwic3Vic3RyaW5nIiwiQ2FyZENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwic2VuZEFuYWx5dGljc0V2ZW50Iiwic3ViamVjdCIsInNlbGVjdGlvbiIsImV2ZW50RmllbGRzIiwiZGF0YSIsIl9vYmplY3RTcHJlYWQyIiwiZGVmYXVsdCIsInBhZ2VfbmFtZSIsIndpbmRvdyIsImxvY2F0aW9uIiwicGF0aG5hbWUiLCJhbmFseXRpY3NUcmFjayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICdzcmMvdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplV1dUUERhdGEgPSAocGF5bG9hZCkgPT4ge1xuICBpZiAocGF5bG9hZC5kYXRhRXhpc3RzKCkpIHtcbiAgICBsZXQgV1dUUDogSVBvaW50ID0gcGF5bG9hZC5wb2ludHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBwYXJzZUludChwYXlsb2FkLmlkKSxcbiAgICApO1xuICAgIGlmIChXV1RQID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBsZXQgV1dUUEFyZWE6IElBcmVhID0gcGF5bG9hZC5hcmVhc19kYXRhLm5ld0FyZWFzLmZpbmQoXG4gICAgICAoYXJlYTogSUFyZWEpID0+IGFyZWEuYXJlYV9pZCA9PT0gV1dUUC5wYXJ0X29mX2FyZWFfaWQsXG4gICAgKTtcblxuICAgIFdXVFAuZm9yV1dUUE1hcCA9IHRydWU7XG4gICAgcGF5bG9hZC5zZXRXV1RQSW5mbyh7IHBvaW50OiBXV1RQLCBhcmVhOiBXV1RQQXJlYSB9KTtcbiAgICBwYXlsb2FkLnNldFBvaW50cyhwYXlsb2FkLnBvaW50c19kYXRhLml0ZW1zKTtcbiAgICBwYXlsb2FkLnNldEFyZWFzKHBheWxvYWQuYXJlYXNfZGF0YS5uZXdBcmVhcyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb3B1cEZvck9iamVjdCA9IChhcmdzKSA9PiB7XG4gIGFyZ3MubWFya2VyLmJpbmRQb3B1cChgPGRpdiBjbGFzcz1cIndpZGdldC1jb250YWluZXJcIj48L2Rpdj5gLCB7XG4gICAgbWF4V2lkdGg6IDQwMCxcbiAgICBtaW5XaWR0aDogNDAwLFxuICAgIG1heEhlaWdodDogNDAwLFxuICAgIG1pbkhlaWdodDogNDAwLFxuICB9KTtcblxuICBhcmdzLm1hcmtlci5vbigncG9wdXBvcGVuJywgZnVuY3Rpb24gKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCQoJy53aWRnZXQtY29udGFpbmVyJykuY29udGVudHMoKS5sZW5ndGggPD0gMCkge1xuICAgICAgICAkKCcud2lkZ2V0LWNvbnRhaW5lcicpLmFwcGVuZChhcmdzLnJlbmRlcmVkRWxlbWVudCk7XG4gICAgICB9XG4gICAgfSwgMjAwKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYXJlYUZvY3VzTG9naWMgPSAoYXJncykgPT4ge1xuICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gIGlmIChcbiAgICBhcmdzLmZvY3VzZWRBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPT09IDAgJiZcbiAgICBhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcy5sZW5ndGggPT09IDBcbiAgKVxuICAgIHJldHVybjtcblxuICBpZiAoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMubGVuZ3RoID09PSAwKSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKGxhdGxuZyk7XG4gICAgfSk7XG4gICAgYXJncy5zZXRBcmVhcyhhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcyk7XG4gIH0gZWxzZSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMuZm9yRWFjaCgoc3ViX2FyZWE6IElBcmVhKSA9PiB7XG4gICAgICBzdWJfYXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgICBsYXRsbmdzLnB1c2gobGF0bG5nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGFyZ3Muc2V0QXJlYXMoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMpO1xuICB9XG5cbiAgLy8gYXJncy5tYXAuZml0Qm91bmRzKGxhdGxuZ3MpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNpbXBsZVRydW5jYXRlID0gKHN0ciwgbGVuZ3RoKSA9PiB7XG4gIGlmICh0eXBlb2Ygc3RyICE9PSAnc3RyaW5nJyB8fCB0eXBlb2YgbGVuZ3RoICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBhcmd1bWVudHMuIFBsZWFzZSBwcm92aWRlIGEgc3RyaW5nIGFuZCBhIG51bWJlci4nKTtcbiAgfVxuXG4gIGlmIChzdHIubGVuZ3RoIDw9IGxlbmd0aCkge1xuICAgIHJldHVybiBzdHI7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0ci5zdWJzdHJpbmcoMCwgbGVuZ3RoKSArICcuLi4nO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ2FyZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIC5jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5gO1xuXG4vLyBTZW5kIGFuYWx5dGljcyBldmVudHMgZnJvbSBzZXZlcmFsIHBsYWNlcyBpbiB3d3RwbWFwLlxuLy8gc3ViamVjdCBpcyB0aGUgbmFtZSBvZiB0aGUgZXZlbnRcbi8vIHNlbGVjdGlvbiBpcyB0aGUgb2JqZWN0IHRoYXQgd2FzIHNlbGVjdGVkXG4vLyBzcGVjaWZpY0ZpZWxkcyBpcyBhbiBvYmplY3Qgd2l0aCBldmVudCBmaWVsZHMgdG8gc2VuZCB3aGljaCBhcmUgY29tYmluZWQgd2l0aCB0aGUgcmVzdCBvZiB0aGUgZmllbGRzXG5leHBvcnQgY29uc3Qgc2VuZEFuYWx5dGljc0V2ZW50ID0gKFxuICBzdWJqZWN0OiBzdHJpbmcsXG4gIHNlbGVjdGlvbjogc3RyaW5nLFxuICBldmVudEZpZWxkczogT2JqZWN0LFxuKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgc2VsZWN0aW9uOiBzZWxlY3Rpb24sXG4gICAgcGFnZV9uYW1lOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsXG4gICAgLi4uZXZlbnRGaWVsZHMsXG4gIH07XG4gIGFuYWx5dGljc1RyYWNrKHN1YmplY3QsIGRhdGEpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBRU8sSUFBTUUsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSUMsT0FBTyxFQUFLO0VBQzdDLElBQUlBLE9BQU8sQ0FBQ0MsVUFBVSxDQUFDLENBQUMsRUFBRTtJQUN4QixJQUFJQyxJQUFZLEdBQUdGLE9BQU8sQ0FBQ0csV0FBVyxDQUFDQyxLQUFLLENBQUNDLElBQUksQ0FDL0MsVUFBQ0MsS0FBYTtNQUFBLE9BQUtBLEtBQUssQ0FBQ0MsRUFBRSxLQUFLQyxRQUFRLENBQUNSLE9BQU8sQ0FBQ08sRUFBRSxDQUFDO0lBQUEsQ0FDdEQsQ0FBQztJQUNELElBQUlMLElBQUksS0FBS08sU0FBUyxFQUFFO0lBQ3hCLElBQUlDLFFBQWUsR0FBR1YsT0FBTyxDQUFDVyxVQUFVLENBQUNDLFFBQVEsQ0FBQ1AsSUFBSSxDQUNwRCxVQUFDUSxJQUFXO01BQUEsT0FBS0EsSUFBSSxDQUFDQyxPQUFPLEtBQUtaLElBQUksQ0FBQ2EsZUFBZTtJQUFBLENBQ3hELENBQUM7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
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFyZWEge1xuICBpZDogbnVtYmVyO1xuICBhcmVhX2lkOiBzdHJpbmc7XG4gIGFyZWFfbmFtZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHNoYXBlX2RhdGE6IGFueTtcbiAgYXJlYXM6IGFueVtdO1xuICBhcmVhX3Njb3JlOiBudW1iZXI7XG4gIGNhbGN1bGF0ZWRfc3VyZmFjZTogbnVtYmVyO1xuICBoYXNfcGFyZW50OiBib29sZWFuO1xuICBzdWJfYXJlYXM6IGFueVtdO1xuICBmYWN0b3JpZXM6IElQb2ludFtdO1xufVxuIl0sIm1hcHBpbmdzIjoiIn0=
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFyZWEge1xuICBpZDogbnVtYmVyO1xuICBhcmVhX2lkOiBzdHJpbmc7XG4gIGFyZWFfbmFtZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHNoYXBlX2RhdGE6IGFueTtcbiAgYXJlYXM6IGFueVtdO1xuICBhcmVhX3Njb3JlOiBudW1iZXI7XG4gIGNhbGN1bGF0ZWRfc3VyZmFjZTogbnVtYmVyO1xuICBoYXNfcGFyZW50OiBib29sZWFuO1xuICBzdWJfYXJlYXM6IGFueVtdO1xuICBmYWN0b3JpZXM6IElQb2ludFtdO1xuICBpc19pbmxldDogYm9vbGVhbjtcbiAgaXNfYXNzZXNzbWVudDogYm9vbGVhbjtcbiAgaXNfd3d0cDogYm9vbGVhbjtcbn1cbiJdLCJtYXBwaW5ncyI6IiJ9
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElHcm91cCB9IGZyb20gJy4vSUdyb3VwJztcblxuZXhwb3J0IGludGVyZmFjZSBJUG9pbnQge1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgZGV2aWNlX3N0YXR1czogc3RyaW5nO1xuICBsYXRpdHVkZTogbnVtYmVyO1xuICBsb25naXR1ZGU6IG51bWJlcjtcbiAgaGFzX2RldmljZTogYm9vbGVhbjtcbiAgcGhvdG9fdXJsOiBzdHJpbmc7XG4gIGdyb3VwOiBJR3JvdXA7XG4gIGlzX3Jvb3Q6IGJvb2xlYW47XG4gIHBhcnRfb2Zfb2JzZXJ2YXRpb246IGJvb2xlYW47XG4gIGhpZGU/OiBib29sZWFuO1xuICByZWxhdGVkRXZlbnRzQW1vdW50PzogbnVtYmVyO1xuICBwYXJ0X29mX21vbml0b3JlZF9wYXRoPzogYm9vbGVhbjtcbiAgcGFydF9vZl9hcmVhX2lkPzogbnVtYmVyIHwgbnVsbDtcbiAgZXZlbnRzVmlld0hvdmVyZWQ/OiBib29sZWFuO1xuICBpbmNyZWFzZWRJY29uPzogYm9vbGVhbjtcblxuICBmb3JXV1RQTWFwPzogYm9vbGVhbjtcbn1cbiJdLCJtYXBwaW5ncyI6IiJ9
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElHcm91cCB9IGZyb20gJy4vSUdyb3VwJztcblxuZXhwb3J0IGludGVyZmFjZSBJUG9pbnQge1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgZGV2aWNlX3N0YXR1czogc3RyaW5nO1xuICBsYXRpdHVkZTogbnVtYmVyO1xuICBsb25naXR1ZGU6IG51bWJlcjtcbiAgaGFzX2RldmljZTogYm9vbGVhbjtcbiAgcGhvdG9fdXJsOiBzdHJpbmc7XG4gIGdyb3VwOiBJR3JvdXA7XG4gIGlzX3Jvb3Q6IGJvb2xlYW47XG4gIHBhcnRfb2Zfb2JzZXJ2YXRpb246IGJvb2xlYW47XG4gIGhpZGU/OiBib29sZWFuO1xuICByZWxhdGVkRXZlbnRzQW1vdW50PzogbnVtYmVyO1xuICBwYXJ0X29mX21vbml0b3JlZF9wYXRoPzogYm9vbGVhbjtcbiAgcGFydF9vZl9hcmVhX2lkPzogbnVtYmVyIHwgbnVsbDtcbiAgZXZlbnRzVmlld0hvdmVyZWQ/OiBib29sZWFuO1xuICBpbmNyZWFzZWRJY29uPzogYm9vbGVhbjtcbiAgaXNfaW5sZXQ6IGJvb2xlYW47XG4gIGlzX2Fzc2Vzc21lbnQ6IGJvb2xlYW47XG5cbiAgZm9yV1dUUE1hcD86IGJvb2xlYW47XG59XG4iXSwibWFwcGluZ3MiOiIifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kando-env/kando-ui",
3
- "version": "1.2.278-alpha.10",
3
+ "version": "1.2.278-alpha.12",
4
4
  "main": "lib/index.js",
5
5
  "author": "Nadav(Private) <nadavk72@gmail.com>",
6
6
  "scripts": {