@kando-env/kando-ui 1.2.288-alpha.8 → 1.2.288

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.
Files changed (63) hide show
  1. package/lib/Widgets/Map/Map.js +2 -18
  2. package/lib/Widgets/Map/Map.scss +5 -17
  3. package/lib/Widgets/Map/MapUtils.js +12 -14
  4. package/lib/Widgets/Map/areas/AreaPolygon.js +14 -80
  5. package/lib/Widgets/Map/areas/AreaPolygons.js +3 -6
  6. package/lib/Widgets/Map/areas/AreaUtils.js +45 -24
  7. package/lib/Widgets/Map/edges/Edges.js +1 -7
  8. package/lib/Widgets/Map/points/PointMarker.js +24 -82
  9. package/lib/Widgets/Map/points/PointUtils.js +8 -17
  10. package/lib/_design-system.scss +1 -1
  11. package/lib/assets/icons/index.js +1 -8
  12. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +3 -7
  13. package/lib/i18n/en.json +5 -19
  14. package/lib/i18n/he.json +10 -14
  15. package/lib/macros/getVersion.js +2 -2
  16. package/lib/pages/DashboardMap/AreaCard.js +7 -44
  17. package/lib/pages/DashboardMap/FactoryCard.js +11 -50
  18. package/lib/pages/DashboardMap/List.js +7 -37
  19. package/lib/pages/DashboardMap/WWTPMap.js +6 -18
  20. package/lib/pages/DashboardMap/Widget.js +67 -113
  21. package/lib/pages/DashboardMap/utils.js +5 -21
  22. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +5 -11
  23. package/lib/pages/WbeDashboard/WbeDashboardPage.js +4 -7
  24. package/lib/pages/WwtpPage/ImpactCard.js +17 -0
  25. package/lib/pages/WwtpPage/OrganicCard.js +59 -8
  26. package/lib/pages/WwtpPage/TrendChart.js +3 -3
  27. package/lib/pages/WwtpPage/WwtpPage.js +34 -16
  28. package/lib/store/areas/models/IArea.js +1 -1
  29. package/lib/store/edges/models/IEdge.js +1 -1
  30. package/lib/store/events/models/IEvent.js +1 -1
  31. package/lib/store/points/models/IPoint.js +1 -1
  32. package/lib/styles/theme/theme.js +2 -2
  33. package/lib/ui-kit/InletsPie/InletsPie.js +9 -28
  34. package/lib/ui-kit/InletsPie/options.js +2 -2
  35. package/lib/ui-kit/OrganicLoad/GaugeChart.js +46 -0
  36. package/lib/ui-kit/OrganicLoad/OrganicLoad.js +28 -0
  37. package/lib/ui-kit/OrganicLoad/TextInfo.js +39 -0
  38. package/lib/ui-kit/OrganicLoad/index.js +11 -0
  39. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +3 -3
  40. package/lib/ui-kit/ScoreGauge/constant.js +1 -1
  41. package/lib/utilities/urls.js +2 -5
  42. package/package.json +1 -1
  43. package/lib/assets/icons/no-result.svg +0 -20
  44. package/lib/pages/DashboardMap/ListContext.js +0 -39
  45. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +0 -27
  46. package/lib/pages/WwtpPage/DischargePatternCard.js +0 -59
  47. package/lib/pages/WwtpPage/InletsCard.js +0 -44
  48. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +0 -19
  49. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +0 -56
  50. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +0 -40
  51. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +0 -50
  52. package/lib/pages/WwtpPage/PotentialSaving/index.js +0 -11
  53. package/lib/pages/WwtpPage/PotentialSaving/svgs/co2_emission.svg +0 -17
  54. package/lib/pages/WwtpPage/PotentialSaving/svgs/energy.svg +0 -16
  55. package/lib/pages/WwtpPage/PotentialSaving/svgs/organic_load.svg +0 -20
  56. package/lib/pages/WwtpPage/PotentialSaving/svgs/urban_development.svg +0 -12
  57. package/lib/pages/WwtpPage/PotentialSaving/types.js +0 -6
  58. package/lib/pages/WwtpPage/TrendModal.js +0 -78
  59. package/lib/ui-kit/OrganicEvents/GaugeChart.js +0 -47
  60. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +0 -28
  61. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +0 -42
  62. package/lib/ui-kit/OrganicEvents/TextInfo.js +0 -39
  63. package/lib/ui-kit/OrganicEvents/index.js +0 -11
@@ -13,143 +13,97 @@ var _reactBootstrap = require("react-bootstrap");
13
13
  var _WWTPDashboardSlice = require("../../store/WWTPDashboard/WWTPDashboardSlice");
14
14
  var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
15
15
  var _InletsPie = _interopRequireDefault(require("../../ui-kit/InletsPie"));
16
- var _utils = require("./utils");
17
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
18
  var Widget = function Widget(props) {
20
19
  var object = props.object,
21
20
  dispatch = props.dispatch,
22
21
  points = props.points,
23
- map = props.map,
24
- global_data = props.global_data,
25
- listData = props.listData;
26
- var _useState = (0, _react.useState)(null),
27
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
28
- area = _useState2[0],
29
- setArea = _useState2[1];
30
- var _useState3 = (0, _react.useState)(null),
31
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
32
- point = _useState4[0],
33
- setPoint = _useState4[1];
34
- var _useState5 = (0, _react.useState)(''),
35
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
36
- buttonName = _useState6[0],
37
- setButtonName = _useState6[1];
38
- var _useState7 = (0, _react.useState)([]),
39
- _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
40
- listItems = _useState8[0],
41
- setListItems = _useState8[1];
22
+ areas = props.areas;
23
+ var _React$useState = _react.default.useState(null),
24
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
25
+ area = _React$useState2[0],
26
+ setArea = _React$useState2[1];
27
+ var _React$useState3 = _react.default.useState(null),
28
+ _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
29
+ point = _React$useState4[0],
30
+ setPoint = _React$useState4[1];
31
+ var getPoints = function getPoints(area) {
32
+ if (!points) return undefined;
33
+ var pointsOfArea = points.filter(function (point) {
34
+ return point.group.area_id === area.area_id;
35
+ });
36
+ return pointsOfArea;
37
+ };
42
38
  var handleClick = function handleClick() {
43
- map.closePopup();
44
- if (area) {
45
- var focusedArea = area;
46
- if (listItems && listItems.length > 0) {
47
- var copy = (0, _objectSpread2.default)({}, focusedArea);
48
- copy.factories = getPoints();
49
- dispatch((0, _WWTPDashboardSlice.setFocusedArea)(copy));
50
- } else {
51
- dispatch((0, _WWTPDashboardSlice.setFocusedArea)(focusedArea));
52
- }
39
+ if (!area) return;
40
+ var areaToFocus = area;
41
+ if (getPoints(areaToFocus)) {
42
+ var copy = (0, _objectSpread2.default)({}, areaToFocus);
43
+ copy.factories = getPoints(areaToFocus);
44
+ dispatch((0, _WWTPDashboardSlice.setFocusedArea)(copy));
53
45
  } else {
54
- if (point) {
55
- var focusedPoint = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, point), {}, {
56
- factories: getPoints(),
57
- sub_areas: [],
58
- shape_data: [[point.latitude, point.longitude]]
59
- });
60
- dispatch((0, _WWTPDashboardSlice.setFocusedArea)(focusedPoint));
61
- }
46
+ dispatch((0, _WWTPDashboardSlice.setFocusedArea)(areaToFocus));
62
47
  }
63
- sendButtonClickedAnalytics();
64
- };
65
- var sendButtonClickedAnalytics = function sendButtonClickedAnalytics() {
66
- (0, _utils.sendAnalyticsEvent)('Map view - Popup drilldown clicked', buttonName, {
67
- utility_name: global_data.waterAuthorityName
68
- });
69
- };
70
-
71
- // Return the point objects of all items in the list sorted by their names
72
- var getPoints = function getPoints() {
73
- if (listItems === null || points === undefined || points.length === 0) return [];
74
- var ids = listItems.map(function (item) {
75
- return item.id;
76
- });
77
- var returnedPoints = points.filter(function (point) {
78
- return ids.includes(point.id);
79
- });
80
- return returnedPoints.sort(function (a, b) {
81
- return a.name.localeCompare(b.name);
82
- });
83
48
  };
84
- var getButtonType = function getButtonType(type) {
85
- var rc;
86
- switch (type.toLowerCase()) {
87
- case 'area':
88
- case 'varea':
89
- rc = 'view_sub_areas';
90
- break;
91
- case 'factory':
92
- rc = 'view_factories';
93
- break;
94
- default:
95
- rc = 'view_inlets';
49
+ var dataForPie = function dataForPie(area) {
50
+ var data = [];
51
+ if (area.sub_areas !== undefined) {
52
+ area.sub_areas.forEach(function (sub_area) {
53
+ data.push({
54
+ name: sub_area.area_name,
55
+ organic_load: 5,
56
+ tooltipValue: 15
57
+ });
58
+ });
59
+ }
60
+ if (getPoints(area)) {
61
+ getPoints(area).forEach(function (point) {
62
+ data.push({
63
+ name: point.name,
64
+ organic_load: 5,
65
+ tooltipValue: 15
66
+ });
67
+ });
96
68
  }
97
- return rc;
69
+ return data;
98
70
  };
99
-
100
- // Return the area objects of all items in the list
101
- // const getAreas = () => {
102
- // if (listItems === null || areas === undefined || areas.length === 0) return [];
103
- // let ids: any[] = listItems.map((item) => item.id);
104
- // const returnedPoints = areas.filter((area) => ids.includes(area.area_id));
105
-
106
- // return returnedPoints;
107
- // };
108
-
109
71
  var title = function title() {
110
- var payload = '';
111
72
  if (point) {
112
- payload = point.name;
73
+ return point.name;
113
74
  } else {
114
- if (area) {
115
- payload = area.area_name;
116
- }
75
+ return object.area_name;
117
76
  }
118
- return payload;
119
- };
120
- var buttonTitle = function buttonTitle() {
121
- return _i18n.default.t("wwtpPage.".concat(buttonName));
122
77
  };
123
78
  (0, _react.useEffect)(function () {
124
79
  var isAPoint = object.forWWTPMap !== undefined;
80
+ var area;
125
81
  if (isAPoint) {
82
+ if (!object.group.area_id || !areas) return;
83
+ area = areas.find(function (area) {
84
+ return area.area_id === object.group.area_id;
85
+ });
86
+ if (area) setArea(area);
126
87
  setPoint(object);
127
88
  } else {
128
89
  setArea(object);
129
90
  }
130
- }, [object]);
131
- (0, _react.useEffect)(function () {
132
- if (listData === undefined) return;
133
- setListItems(listData === null || listData === void 0 ? void 0 : listData.data);
134
- if (listData.data.length > 0) {
135
- setButtonName(getButtonType(listData.data[0].type));
91
+ }, [object, area]);
92
+ if (!area) return /*#__PURE__*/_react.default.createElement("div", null);
93
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Card, {
94
+ className: "bg-white m-3 p-3 widget-container",
95
+ style: {
96
+ border: '1px solid rgba(0,0,0,0)',
97
+ borderRadius: '1em'
136
98
  }
137
- }, [listData]);
138
- var widgetContent = function widgetContent() {
139
- var data = listData === null || listData === void 0 ? void 0 : listData.data;
140
- var showButton = (data === null || data === void 0 ? void 0 : data.length) > 0;
141
- return /*#__PURE__*/_react.default.createElement("div", null, showButton && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
142
- onClick: function onClick() {
143
- return handleClick();
144
- },
145
- className: 'childrenButton rounded-pill btn-light'
146
- }, buttonTitle()), /*#__PURE__*/_react.default.createElement(_InletsPie.default, {
147
- inlets: listItems
148
- }));
149
- };
150
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h3", null, title()), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Card, {
151
- className: "bg-white widget-container"
152
- }, widgetContent()));
99
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h3", null, title()), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
100
+ onClick: function onClick() {
101
+ return handleClick();
102
+ },
103
+ className: 'childrenButton rounded-pill btn-light'
104
+ }, _i18n.default.t('wwtpPage.see_children')), /*#__PURE__*/_react.default.createElement(_InletsPie.default, {
105
+ inlets: dataForPie(area)
106
+ }))));
153
107
  };
154
108
  exports.Widget = Widget;
155
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl91dGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiV2lkZ2V0IiwicHJvcHMiLCJvYmplY3QiLCJkaXNwYXRjaCIsInBvaW50cyIsIm1hcCIsImdsb2JhbF9kYXRhIiwibGlzdERhdGEiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJhcmVhIiwic2V0QXJlYSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwicG9pbnQiLCJzZXRQb2ludCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiYnV0dG9uTmFtZSIsInNldEJ1dHRvbk5hbWUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImxpc3RJdGVtcyIsInNldExpc3RJdGVtcyIsImhhbmRsZUNsaWNrIiwiY2xvc2VQb3B1cCIsImZvY3VzZWRBcmVhIiwibGVuZ3RoIiwiY29weSIsIl9vYmplY3RTcHJlYWQyIiwiZmFjdG9yaWVzIiwiZ2V0UG9pbnRzIiwic2V0Rm9jdXNlZEFyZWEiLCJmb2N1c2VkUG9pbnQiLCJzdWJfYXJlYXMiLCJzaGFwZV9kYXRhIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcyIsInNlbmRBbmFseXRpY3NFdmVudCIsInV0aWxpdHlfbmFtZSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsInVuZGVmaW5lZCIsImlkcyIsIml0ZW0iLCJpZCIsInJldHVybmVkUG9pbnRzIiwiZmlsdGVyIiwiaW5jbHVkZXMiLCJzb3J0IiwiYSIsImIiLCJuYW1lIiwibG9jYWxlQ29tcGFyZSIsImdldEJ1dHRvblR5cGUiLCJ0eXBlIiwicmMiLCJ0b0xvd2VyQ2FzZSIsInRpdGxlIiwicGF5bG9hZCIsImFyZWFfbmFtZSIsImJ1dHRvblRpdGxlIiwiaTE4biIsInQiLCJjb25jYXQiLCJ1c2VFZmZlY3QiLCJpc0FQb2ludCIsImZvcldXVFBNYXAiLCJkYXRhIiwid2lkZ2V0Q29udGVudCIsInNob3dCdXR0b24iLCJjcmVhdGVFbGVtZW50IiwiQnV0dG9uIiwib25DbGljayIsImNsYXNzTmFtZSIsImlubGV0cyIsIkZyYWdtZW50IiwiQ2FyZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dpZGdldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIENhcmQgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgSW5sZXRzUGllIGZyb20gJy4uLy4uL3VpLWtpdC9JbmxldHNQaWUnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50IH0gZnJvbSAnLi91dGlscyc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBvYmplY3Q6IGFueTtcbiAgZGlzcGF0Y2g6IGFueTtcbiAgcG9pbnRzPzogSVBvaW50W107XG4gIGFyZWFzPzogSUFyZWFbXTtcbiAgbWFwO1xuICBnbG9iYWxfZGF0YTtcbiAgbGlzdERhdGE6IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBXaWRnZXQ6IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBvYmplY3QsIGRpc3BhdGNoLCBwb2ludHMsIG1hcCwgZ2xvYmFsX2RhdGEsIGxpc3REYXRhIH0gPSBwcm9wcztcbiAgY29uc3QgW2FyZWEsIHNldEFyZWFdID0gdXNlU3RhdGU8SUFyZWEgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW3BvaW50LCBzZXRQb2ludF0gPSB1c2VTdGF0ZTxJUG9pbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2J1dHRvbk5hbWUsIHNldEJ1dHRvbk5hbWVdID0gdXNlU3RhdGU8c3RyaW5nPignJyk7XG4gIGNvbnN0IFtsaXN0SXRlbXMsIHNldExpc3RJdGVtc10gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKCkgPT4ge1xuICAgIG1hcC5jbG9zZVBvcHVwKCk7XG4gICAgaWYgKGFyZWEpIHtcbiAgICAgIGxldCBmb2N1c2VkQXJlYSA9IGFyZWE7XG4gICAgICBpZiAobGlzdEl0ZW1zICYmIGxpc3RJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxldCBjb3B5ID0geyAuLi5mb2N1c2VkQXJlYSB9O1xuICAgICAgICBjb3B5LmZhY3RvcmllcyA9IGdldFBvaW50cygpO1xuICAgICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShjb3B5KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShmb2N1c2VkQXJlYSkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocG9pbnQpIHtcbiAgICAgICAgbGV0IGZvY3VzZWRQb2ludCA9IHtcbiAgICAgICAgICAuLi5wb2ludCxcbiAgICAgICAgICBmYWN0b3JpZXM6IGdldFBvaW50cygpLFxuICAgICAgICAgIHN1Yl9hcmVhczogW10sXG4gICAgICAgICAgc2hhcGVfZGF0YTogW1twb2ludC5sYXRpdHVkZSwgcG9pbnQubG9uZ2l0dWRlXV0sXG4gICAgICAgIH07XG4gICAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGZvY3VzZWRQb2ludCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcygpO1xuICB9O1xuXG4gIGNvbnN0IHNlbmRCdXR0b25DbGlja2VkQW5hbHl0aWNzID0gKCkgPT4ge1xuICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIHZpZXcgLSBQb3B1cCBkcmlsbGRvd24gY2xpY2tlZCcsIGJ1dHRvbk5hbWUsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICB9O1xuXG4gIC8vIFJldHVybiB0aGUgcG9pbnQgb2JqZWN0cyBvZiBhbGwgaXRlbXMgaW4gdGhlIGxpc3Qgc29ydGVkIGJ5IHRoZWlyIG5hbWVzXG4gIGNvbnN0IGdldFBvaW50cyA9ICgpID0+IHtcbiAgICBpZiAobGlzdEl0ZW1zID09PSBudWxsIHx8IHBvaW50cyA9PT0gdW5kZWZpbmVkIHx8IHBvaW50cy5sZW5ndGggPT09IDApXG4gICAgICByZXR1cm4gW107XG4gICAgbGV0IGlkczogbnVtYmVyW10gPSBsaXN0SXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmlkKTtcbiAgICBjb25zdCByZXR1cm5lZFBvaW50cyA9IHBvaW50cy5maWx0ZXIoKHBvaW50KSA9PiBpZHMuaW5jbHVkZXMocG9pbnQuaWQpKTtcblxuICAgIHJldHVybiByZXR1cm5lZFBvaW50cy5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKTtcbiAgfTtcblxuICBjb25zdCBnZXRCdXR0b25UeXBlID0gKHR5cGU6IHN0cmluZykgPT4ge1xuICAgIGxldCByYztcblxuICAgIHN3aXRjaCAodHlwZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBjYXNlICdhcmVhJzpcbiAgICAgIGNhc2UgJ3ZhcmVhJzpcbiAgICAgICAgcmMgPSAndmlld19zdWJfYXJlYXMnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2ZhY3RvcnknOlxuICAgICAgICByYyA9ICd2aWV3X2ZhY3Rvcmllcyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmMgPSAndmlld19pbmxldHMnO1xuICAgIH1cbiAgICByZXR1cm4gcmM7XG4gIH07XG5cbiAgLy8gUmV0dXJuIHRoZSBhcmVhIG9iamVjdHMgb2YgYWxsIGl0ZW1zIGluIHRoZSBsaXN0XG4gIC8vIGNvbnN0IGdldEFyZWFzID0gKCkgPT4ge1xuICAvLyAgIGlmIChsaXN0SXRlbXMgPT09IG51bGwgfHwgYXJlYXMgPT09IHVuZGVmaW5lZCB8fCBhcmVhcy5sZW5ndGggPT09IDApIHJldHVybiBbXTtcbiAgLy8gICBsZXQgaWRzOiBhbnlbXSA9IGxpc3RJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaWQpO1xuICAvLyAgIGNvbnN0IHJldHVybmVkUG9pbnRzID0gYXJlYXMuZmlsdGVyKChhcmVhKSA9PiBpZHMuaW5jbHVkZXMoYXJlYS5hcmVhX2lkKSk7XG5cbiAgLy8gICByZXR1cm4gcmV0dXJuZWRQb2ludHM7XG4gIC8vIH07XG5cbiAgY29uc3QgdGl0bGUgPSAoKSA9PiB7XG4gICAgbGV0IHBheWxvYWQgPSAnJztcbiAgICBpZiAocG9pbnQpIHtcbiAgICAgIHBheWxvYWQgPSBwb2ludC5uYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoYXJlYSkge1xuICAgICAgICBwYXlsb2FkID0gYXJlYS5hcmVhX25hbWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IGJ1dHRvblRpdGxlID0gKCkgPT4ge1xuICAgIHJldHVybiBpMThuLnQoYHd3dHBQYWdlLiR7YnV0dG9uTmFtZX1gKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBpc0FQb2ludCA9IG9iamVjdC5mb3JXV1RQTWFwICE9PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNBUG9pbnQpIHtcbiAgICAgIHNldFBvaW50KG9iamVjdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFyZWEob2JqZWN0KTtcbiAgICB9XG4gIH0sIFtvYmplY3RdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsaXN0RGF0YSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG5cbiAgICBzZXRMaXN0SXRlbXMobGlzdERhdGE/LmRhdGEpO1xuICAgIGlmIChsaXN0RGF0YS5kYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIHNldEJ1dHRvbk5hbWUoZ2V0QnV0dG9uVHlwZShsaXN0RGF0YS5kYXRhWzBdLnR5cGUpKTtcbiAgICB9XG4gIH0sIFtsaXN0RGF0YV0pO1xuXG4gIGNvbnN0IHdpZGdldENvbnRlbnQgPSAoKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IGxpc3REYXRhPy5kYXRhO1xuICAgIGNvbnN0IHNob3dCdXR0b24gPSBkYXRhPy5sZW5ndGggPiAwO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIHtzaG93QnV0dG9uICYmIChcbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDbGljaygpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXsnY2hpbGRyZW5CdXR0b24gcm91bmRlZC1waWxsIGJ0bi1saWdodCd9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2J1dHRvblRpdGxlKCl9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICl9XG4gICAgICAgIDxJbmxldHNQaWUgaW5sZXRzPXtsaXN0SXRlbXN9IC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxoMz57dGl0bGUoKX08L2gzPlxuICAgICAgPENhcmQgY2xhc3NOYW1lPVwiYmctd2hpdGUgd2lkZ2V0LWNvbnRhaW5lclwiPnt3aWRnZXRDb250ZW50KCl9PC9DYXJkPlxuICAgIDwvPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLG1CQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxLQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFFQSxJQUFBSyxVQUFBLEdBQUFELHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFBNkMsU0FBQU8seUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFULHdCQUFBYSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxH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
109
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiV2lkZ2V0IiwicHJvcHMiLCJvYmplY3QiLCJkaXNwYXRjaCIsInBvaW50cyIsImFyZWFzIiwiX1JlYWN0JHVzZVN0YXRlIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsIl9SZWFjdCR1c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJhcmVhIiwic2V0QXJlYSIsIl9SZWFjdCR1c2VTdGF0ZTMiLCJfUmVhY3QkdXNlU3RhdGU0IiwicG9pbnQiLCJzZXRQb2ludCIsImdldFBvaW50cyIsInVuZGVmaW5lZCIsInBvaW50c09mQXJlYSIsImZpbHRlciIsImdyb3VwIiwiYXJlYV9pZCIsImhhbmRsZUNsaWNrIiwiYXJlYVRvRm9jdXMiLCJjb3B5IiwiX29iamVjdFNwcmVhZDIiLCJmYWN0b3JpZXMiLCJzZXRGb2N1c2VkQXJlYSIsImRhdGFGb3JQaWUiLCJkYXRhIiwic3ViX2FyZWFzIiwiZm9yRWFjaCIsInN1Yl9hcmVhIiwicHVzaCIsIm5hbWUiLCJhcmVhX25hbWUiLCJvcmdhbmljX2xvYWQiLCJ0b29sdGlwVmFsdWUiLCJ0aXRsZSIsInVzZUVmZmVjdCIsImlzQVBvaW50IiwiZm9yV1dUUE1hcCIsImZpbmQiLCJjcmVhdGVFbGVtZW50IiwiQ2FyZCIsImNsYXNzTmFtZSIsInN0eWxlIiwiYm9yZGVyIiwiYm9yZGVyUmFkaXVzIiwiQnV0dG9uIiwib25DbGljayIsImkxOG4iLCJ0IiwiaW5sZXRzIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBDYXJkIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IHNldEZvY3VzZWRBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IElubGV0c1BpZSBmcm9tICcuLi8uLi91aS1raXQvSW5sZXRzUGllJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIG9iamVjdDogYW55O1xuICBkaXNwYXRjaDogYW55O1xuICBwb2ludHM6IElQb2ludFtdO1xuICBhcmVhcz86IElBcmVhW107XG59O1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgb2JqZWN0LCBkaXNwYXRjaCwgcG9pbnRzLCBhcmVhcyB9ID0gcHJvcHM7XG4gIGNvbnN0IFthcmVhLCBzZXRBcmVhXSA9IFJlYWN0LnVzZVN0YXRlPElBcmVhIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtwb2ludCwgc2V0UG9pbnRdID0gUmVhY3QudXNlU3RhdGU8SVBvaW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGdldFBvaW50cyA9IChhcmVhKSA9PiB7XG4gICAgaWYgKCFwb2ludHMpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgbGV0IHBvaW50c09mQXJlYSA9IHBvaW50cy5maWx0ZXIoKHBvaW50KSA9PiB7XG4gICAgICByZXR1cm4gcG9pbnQuZ3JvdXAuYXJlYV9pZCA9PT0gYXJlYS5hcmVhX2lkO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBvaW50c09mQXJlYTtcbiAgfTtcbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgaWYgKCFhcmVhKSByZXR1cm47XG4gICAgbGV0IGFyZWFUb0ZvY3VzID0gYXJlYTtcbiAgICBpZiAoZ2V0UG9pbnRzKGFyZWFUb0ZvY3VzKSkge1xuICAgICAgbGV0IGNvcHkgPSB7IC4uLmFyZWFUb0ZvY3VzIH07XG4gICAgICBjb3B5LmZhY3RvcmllcyA9IGdldFBvaW50cyhhcmVhVG9Gb2N1cyk7XG4gICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShjb3B5KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGFyZWFUb0ZvY3VzKSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRhdGFGb3JQaWUgPSAoYXJlYSkgPT4ge1xuICAgIGxldCBkYXRhID0gW107XG4gICAgaWYgKGFyZWEuc3ViX2FyZWFzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFyZWEuc3ViX2FyZWFzLmZvckVhY2goKHN1Yl9hcmVhKSA9PiB7XG4gICAgICAgIGRhdGEucHVzaCh7XG4gICAgICAgICAgbmFtZTogc3ViX2FyZWEuYXJlYV9uYW1lLFxuICAgICAgICAgIG9yZ2FuaWNfbG9hZDogNSxcbiAgICAgICAgICB0b29sdGlwVmFsdWU6IDE1LFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChnZXRQb2ludHMoYXJlYSkpIHtcbiAgICAgIGdldFBvaW50cyhhcmVhKS5mb3JFYWNoKChwb2ludCkgPT4ge1xuICAgICAgICBkYXRhLnB1c2goeyBuYW1lOiBwb2ludC5uYW1lLCBvcmdhbmljX2xvYWQ6IDUsIHRvb2x0aXBWYWx1ZTogMTUgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfTtcblxuICBjb25zdCB0aXRsZSA9ICgpID0+IHtcbiAgICBpZiAocG9pbnQpIHtcbiAgICAgIHJldHVybiBwb2ludC5uYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2JqZWN0LmFyZWFfbmFtZTtcbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBUG9pbnQgPSBvYmplY3QuZm9yV1dUUE1hcCAhPT0gdW5kZWZpbmVkO1xuICAgIGxldCBhcmVhO1xuXG4gICAgaWYgKGlzQVBvaW50KSB7XG4gICAgICBpZiAoIW9iamVjdC5ncm91cC5hcmVhX2lkIHx8ICFhcmVhcykgcmV0dXJuO1xuICAgICAgYXJlYSA9IGFyZWFzLmZpbmQoKGFyZWEpID0+IGFyZWEuYXJlYV9pZCA9PT0gb2JqZWN0Lmdyb3VwLmFyZWFfaWQpO1xuICAgICAgaWYgKGFyZWEpIHNldEFyZWEoYXJlYSk7XG4gICAgICBzZXRQb2ludChvYmplY3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRBcmVhKG9iamVjdCk7XG4gICAgfVxuICB9LCBbb2JqZWN0LCBhcmVhXSk7XG5cbiAgaWYgKCFhcmVhKSByZXR1cm4gPGRpdj48L2Rpdj47XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxDYXJkXG4gICAgICAgIGNsYXNzTmFtZT1cImJnLXdoaXRlIG0tMyBwLTMgd2lkZ2V0LWNvbnRhaW5lclwiXG4gICAgICAgIHN0eWxlPXt7IGJvcmRlcjogJzFweCBzb2xpZCByZ2JhKDAsMCwwLDApJywgYm9yZGVyUmFkaXVzOiAnMWVtJyB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHs8aDM+e3RpdGxlKCl9PC9oMz59XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQ2xpY2soKX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17J2NoaWxkcmVuQnV0dG9uIHJvdW5kZWQtcGlsbCBidG4tbGlnaHQnfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpMThuLnQoJ3d3dHBQYWdlLnNlZV9jaGlsZHJlbicpfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxJbmxldHNQaWUgaW5sZXRzPXtkYXRhRm9yUGllKGFyZWEpfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ2FyZD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxtQkFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsS0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBRUEsSUFBQUssVUFBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQStDLFNBQUFNLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBUix3QkFBQVksR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxL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
@@ -4,11 +4,9 @@ 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.createPopupForObject = exports.areaFocusLogic = exports.CardContainer = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
7
+ exports.simpleTruncate = exports.initializeWWTPData = exports.createPopupForObject = exports.areaFocusLogic = exports.CardContainer = void 0;
9
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
10
9
  var _jquery = _interopRequireDefault(require("jquery"));
11
- var _Analytics = require("utilities/Analytics");
12
10
  var initializeWWTPData = function initializeWWTPData(payload) {
13
11
  if (payload.dataExists()) {
14
12
  var WWTP = payload.points_data.items.find(function (point) {
@@ -35,11 +33,10 @@ var createPopupForObject = function createPopupForObject(args) {
35
33
  maxHeight: 400,
36
34
  minHeight: 400
37
35
  });
38
- args.marker.on('popupopen', function () {
36
+ args.marker.addTo(args.map);
37
+ args.marker.on('click', function () {
39
38
  setTimeout(function () {
40
- if ((0, _jquery.default)('.widget-container').contents().length <= 0) {
41
- (0, _jquery.default)('.widget-container').append(args.renderedElement);
42
- }
39
+ (0, _jquery.default)('.widget-container').append(args.renderedElement);
43
40
  }, 200);
44
41
  });
45
42
  };
@@ -78,18 +75,5 @@ var CardContainer = _styledComponents.default.div.withConfig({
78
75
  displayName: "utils__CardContainer",
79
76
  componentId: "sc-zfjea1-0"
80
77
  })([".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;}}"]);
81
-
82
- // Send analytics events from several places in wwtpmap.
83
- // subject is the name of the event
84
- // selection is the object that was selected
85
- // specificFields is an object with event fields to send which are combined with the rest of the fields
86
78
  exports.CardContainer = CardContainer;
87
- var sendAnalyticsEvent = function sendAnalyticsEvent(subject, selection, eventFields) {
88
- var data = (0, _objectSpread2.default)({
89
- selection: selection,
90
- page_name: window.location.pathname
91
- }, eventFields);
92
- (0, _Analytics.analyticsTrack)(subject, data);
93
- };
94
- exports.sendAnalyticsEvent = sendAnalyticsEvent;
95
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfanF1ZXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQW5hbHl0aWNzIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwicGF5bG9hZCIsImRhdGFFeGlzdHMiLCJXV1RQIiwicG9pbnRzX2RhdGEiLCJpdGVtcyIsImZpbmQiLCJwb2ludCIsImlkIiwicGFyc2VJbnQiLCJ1bmRlZmluZWQiLCJXV1RQQXJlYSIsImFyZWFzX2RhdGEiLCJuZXdBcmVhcyIsImFyZWEiLCJhcmVhX2lkIiwicGFydF9vZl9hcmVhX2lkIiwiZm9yV1dUUE1hcCIsInNldFdXVFBJbmZvIiwic2V0UG9pbnRzIiwic2V0QXJlYXMiLCJleHBvcnRzIiwiY3JlYXRlUG9wdXBGb3JPYmplY3QiLCJhcmdzIiwibWFya2VyIiwiYmluZFBvcHVwIiwibWF4V2lkdGgiLCJtaW5XaWR0aCIsIm1heEhlaWdodCIsIm1pbkhlaWdodCIsIm9uIiwic2V0VGltZW91dCIsIiQiLCJjb250ZW50cyIsImxlbmd0aCIsImFwcGVuZCIsInJlbmRlcmVkRWxlbWVudCIsImFyZWFGb2N1c0xvZ2ljIiwibGF0bG5ncyIsImZvY3VzZWRBcmVhIiwic3ViX2FyZWFzIiwiZmFjdG9yaWVzIiwic2hhcGVfZGF0YSIsImZvckVhY2giLCJsYXRsbmciLCJwdXNoIiwic3ViX2FyZWEiLCJtYXAiLCJmaXRCb3VuZHMiLCJzaW1wbGVUcnVuY2F0ZSIsInN0ciIsIkVycm9yIiwic3Vic3RyaW5nIiwiQ2FyZENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwic2VuZEFuYWx5dGljc0V2ZW50Iiwic3ViamVjdCIsInNlbGVjdGlvbiIsImV2ZW50RmllbGRzIiwiZGF0YSIsIl9vYmplY3RTcHJlYWQyIiwiZGVmYXVsdCIsInBhZ2VfbmFtZSIsIndpbmRvdyIsImxvY2F0aW9uIiwicGF0aG5hbWUiLCJhbmFseXRpY3NUcmFjayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICdzcmMvdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplV1dUUERhdGEgPSAocGF5bG9hZCkgPT4ge1xuICBpZiAocGF5bG9hZC5kYXRhRXhpc3RzKCkpIHtcbiAgICBsZXQgV1dUUDogSVBvaW50ID0gcGF5bG9hZC5wb2ludHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBwYXJzZUludChwYXlsb2FkLmlkKSxcbiAgICApO1xuICAgIGlmIChXV1RQID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBsZXQgV1dUUEFyZWE6IElBcmVhID0gcGF5bG9hZC5hcmVhc19kYXRhLm5ld0FyZWFzLmZpbmQoXG4gICAgICAoYXJlYTogSUFyZWEpID0+IGFyZWEuYXJlYV9pZCA9PT0gV1dUUC5wYXJ0X29mX2FyZWFfaWQsXG4gICAgKTtcblxuICAgIFdXVFAuZm9yV1dUUE1hcCA9IHRydWU7XG4gICAgcGF5bG9hZC5zZXRXV1RQSW5mbyh7IHBvaW50OiBXV1RQLCBhcmVhOiBXV1RQQXJlYSB9KTtcbiAgICBwYXlsb2FkLnNldFBvaW50cyhwYXlsb2FkLnBvaW50c19kYXRhLml0ZW1zKTtcbiAgICBwYXlsb2FkLnNldEFyZWFzKHBheWxvYWQuYXJlYXNfZGF0YS5uZXdBcmVhcyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb3B1cEZvck9iamVjdCA9IChhcmdzKSA9PiB7XG4gIGFyZ3MubWFya2VyLmJpbmRQb3B1cChgPGRpdiBjbGFzcz1cIndpZGdldC1jb250YWluZXJcIj48L2Rpdj5gLCB7XG4gICAgbWF4V2lkdGg6IDQwMCxcbiAgICBtaW5XaWR0aDogNDAwLFxuICAgIG1heEhlaWdodDogNDAwLFxuICAgIG1pbkhlaWdodDogNDAwLFxuICB9KTtcblxuICBhcmdzLm1hcmtlci5vbigncG9wdXBvcGVuJywgZnVuY3Rpb24gKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCQoJy53aWRnZXQtY29udGFpbmVyJykuY29udGVudHMoKS5sZW5ndGggPD0gMCkge1xuICAgICAgICAkKCcud2lkZ2V0LWNvbnRhaW5lcicpLmFwcGVuZChhcmdzLnJlbmRlcmVkRWxlbWVudCk7XG4gICAgICB9XG4gICAgfSwgMjAwKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYXJlYUZvY3VzTG9naWMgPSAoYXJncykgPT4ge1xuICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gIGlmIChcbiAgICBhcmdzLmZvY3VzZWRBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPT09IDAgJiZcbiAgICBhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcy5sZW5ndGggPT09IDBcbiAgKVxuICAgIHJldHVybjtcblxuICBpZiAoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMubGVuZ3RoID09PSAwKSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKGxhdGxuZyk7XG4gICAgfSk7XG4gICAgYXJncy5zZXRBcmVhcyhhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcyk7XG4gIH0gZWxzZSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMuZm9yRWFjaCgoc3ViX2FyZWE6IElBcmVhKSA9PiB7XG4gICAgICBzdWJfYXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgICBsYXRsbmdzLnB1c2gobGF0bG5nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGFyZ3Muc2V0QXJlYXMoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMpO1xuICB9XG5cbiAgYXJncy5tYXAuZml0Qm91bmRzKGxhdGxuZ3MpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNpbXBsZVRydW5jYXRlID0gKHN0ciwgbGVuZ3RoKSA9PiB7XG4gIGlmICh0eXBlb2Ygc3RyICE9PSAnc3RyaW5nJyB8fCB0eXBlb2YgbGVuZ3RoICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBhcmd1bWVudHMuIFBsZWFzZSBwcm92aWRlIGEgc3RyaW5nIGFuZCBhIG51bWJlci4nKTtcbiAgfVxuXG4gIGlmIChzdHIubGVuZ3RoIDw9IGxlbmd0aCkge1xuICAgIHJldHVybiBzdHI7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0ci5zdWJzdHJpbmcoMCwgbGVuZ3RoKSArICcuLi4nO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ2FyZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIC5jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5gO1xuXG4vLyBTZW5kIGFuYWx5dGljcyBldmVudHMgZnJvbSBzZXZlcmFsIHBsYWNlcyBpbiB3d3RwbWFwLlxuLy8gc3ViamVjdCBpcyB0aGUgbmFtZSBvZiB0aGUgZXZlbnRcbi8vIHNlbGVjdGlvbiBpcyB0aGUgb2JqZWN0IHRoYXQgd2FzIHNlbGVjdGVkXG4vLyBzcGVjaWZpY0ZpZWxkcyBpcyBhbiBvYmplY3Qgd2l0aCBldmVudCBmaWVsZHMgdG8gc2VuZCB3aGljaCBhcmUgY29tYmluZWQgd2l0aCB0aGUgcmVzdCBvZiB0aGUgZmllbGRzXG5leHBvcnQgY29uc3Qgc2VuZEFuYWx5dGljc0V2ZW50ID0gKFxuICBzdWJqZWN0OiBzdHJpbmcsXG4gIHNlbGVjdGlvbjogc3RyaW5nLFxuICBldmVudEZpZWxkczogT2JqZWN0LFxuKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgc2VsZWN0aW9uOiBzZWxlY3Rpb24sXG4gICAgcGFnZV9uYW1lOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsXG4gICAgLi4uZXZlbnRGaWVsZHMsXG4gIH07XG4gIGFuYWx5dGljc1RyYWNrKHN1YmplY3QsIGRhdGEpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBRU8sSUFBTUUsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSUMsT0FBTyxFQUFLO0VBQzdDLElBQUlBLE9BQU8sQ0FBQ0MsVUFBVSxDQUFDLENBQUMsRUFBRTtJQUN4QixJQUFJQyxJQUFZLEdBQUdGLE9BQU8sQ0FBQ0csV0FBVyxDQUFDQyxLQUFLLENBQUNDLElBQUksQ0FDL0MsVUFBQ0MsS0FBYTtNQUFBLE9BQUtBLEtBQUssQ0FBQ0MsRUFBRSxLQUFLQyxRQUFRLENBQUNSLE9BQU8sQ0FBQ08sRUFBRSxDQUFDO0lBQUEsQ0FDdEQsQ0FBQztJQUNELElBQUlMLElBQUksS0FBS08sU0FBUyxFQUFFO0lBQ3hCLElBQUlDLFFBQWUsR0FBR1YsT0FBTyxDQUFDVyxVQUFVLENBQUNDLFFBQVEsQ0FBQ1AsSUFBSSxDQUNwRCxVQUFDUSxJQUFXO01BQUEsT0FBS0EsSUFBSSxDQUFDQyxPQUFPLEtBQUtaLElBQUksQ0FBQ2EsZUFBZTtJ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
79
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfanF1ZXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJpbml0aWFsaXplV1dUUERhdGEiLCJwYXlsb2FkIiwiZGF0YUV4aXN0cyIsIldXVFAiLCJwb2ludHNfZGF0YSIsIml0ZW1zIiwiZmluZCIsInBvaW50IiwiaWQiLCJwYXJzZUludCIsInVuZGVmaW5lZCIsIldXVFBBcmVhIiwiYXJlYXNfZGF0YSIsIm5ld0FyZWFzIiwiYXJlYSIsImFyZWFfaWQiLCJwYXJ0X29mX2FyZWFfaWQiLCJmb3JXV1RQTWFwIiwic2V0V1dUUEluZm8iLCJzZXRQb2ludHMiLCJzZXRBcmVhcyIsImV4cG9ydHMiLCJjcmVhdGVQb3B1cEZvck9iamVjdCIsImFyZ3MiLCJtYXJrZXIiLCJiaW5kUG9wdXAiLCJtYXhXaWR0aCIsIm1pbldpZHRoIiwibWF4SGVpZ2h0IiwibWluSGVpZ2h0IiwiYWRkVG8iLCJtYXAiLCJvbiIsInNldFRpbWVvdXQiLCIkIiwiYXBwZW5kIiwicmVuZGVyZWRFbGVtZW50IiwiYXJlYUZvY3VzTG9naWMiLCJsYXRsbmdzIiwiZm9jdXNlZEFyZWEiLCJzdWJfYXJlYXMiLCJsZW5ndGgiLCJmYWN0b3JpZXMiLCJzaGFwZV9kYXRhIiwiZm9yRWFjaCIsImxhdGxuZyIsInB1c2giLCJzdWJfYXJlYSIsImZpdEJvdW5kcyIsInNpbXBsZVRydW5jYXRlIiwic3RyIiwiRXJyb3IiLCJzdWJzdHJpbmciLCJDYXJkQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVXV1RQRGF0YSA9IChwYXlsb2FkKSA9PiB7XG4gIGlmIChwYXlsb2FkLmRhdGFFeGlzdHMoKSkge1xuICAgIGxldCBXV1RQOiBJUG9pbnQgPSBwYXlsb2FkLnBvaW50c19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IHBhcnNlSW50KHBheWxvYWQuaWQpLFxuICAgICk7XG4gICAgaWYgKFdXVFAgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgIGxldCBXV1RQQXJlYTogSUFyZWEgPSBwYXlsb2FkLmFyZWFzX2RhdGEubmV3QXJlYXMuZmluZChcbiAgICAgIChhcmVhOiBJQXJlYSkgPT4gYXJlYS5hcmVhX2lkID09PSBXV1RQLnBhcnRfb2ZfYXJlYV9pZCxcbiAgICApO1xuXG4gICAgV1dUUC5mb3JXV1RQTWFwID0gdHJ1ZTtcbiAgICBwYXlsb2FkLnNldFdXVFBJbmZvKHsgcG9pbnQ6IFdXVFAsIGFyZWE6IFdXVFBBcmVhIH0pO1xuICAgIHBheWxvYWQuc2V0UG9pbnRzKHBheWxvYWQucG9pbnRzX2RhdGEuaXRlbXMpO1xuICAgIHBheWxvYWQuc2V0QXJlYXMocGF5bG9hZC5hcmVhc19kYXRhLm5ld0FyZWFzKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVBvcHVwRm9yT2JqZWN0ID0gKGFyZ3MpID0+IHtcbiAgYXJncy5tYXJrZXIuYmluZFBvcHVwKGA8ZGl2IGNsYXNzPVwid2lkZ2V0LWNvbnRhaW5lclwiPjwvZGl2PmAsIHtcbiAgICBtYXhXaWR0aDogNDAwLFxuICAgIG1pbldpZHRoOiA0MDAsXG4gICAgbWF4SGVpZ2h0OiA0MDAsXG4gICAgbWluSGVpZ2h0OiA0MDAsXG4gIH0pO1xuICBhcmdzLm1hcmtlci5hZGRUbyhhcmdzLm1hcCk7XG4gIGFyZ3MubWFya2VyLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICQoJy53aWRnZXQtY29udGFpbmVyJykuYXBwZW5kKGFyZ3MucmVuZGVyZWRFbGVtZW50KTtcbiAgICB9LCAyMDApO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBhcmVhRm9jdXNMb2dpYyA9IChhcmdzKSA9PiB7XG4gIGxldCBsYXRsbmdzID0gW107XG4gIGlmIChcbiAgICBhcmdzLmZvY3VzZWRBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPT09IDAgJiZcbiAgICBhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcy5sZW5ndGggPT09IDBcbiAgKVxuICAgIHJldHVybjtcblxuICBpZiAoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMubGVuZ3RoID09PSAwKSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKGxhdGxuZyk7XG4gICAgfSk7XG4gICAgYXJncy5zZXRBcmVhcyhhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcyk7XG4gIH0gZWxzZSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMuZm9yRWFjaCgoc3ViX2FyZWE6IElBcmVhKSA9PiB7XG4gICAgICBzdWJfYXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgICBsYXRsbmdzLnB1c2gobGF0bG5nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGFyZ3Muc2V0QXJlYXMoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMpO1xuICB9XG5cbiAgYXJncy5tYXAuZml0Qm91bmRzKGxhdGxuZ3MpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNpbXBsZVRydW5jYXRlID0gKHN0ciwgbGVuZ3RoKSA9PiB7XG4gIGlmICh0eXBlb2Ygc3RyICE9PSAnc3RyaW5nJyB8fCB0eXBlb2YgbGVuZ3RoICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBhcmd1bWVudHMuIFBsZWFzZSBwcm92aWRlIGEgc3RyaW5nIGFuZCBhIG51bWJlci4nKTtcbiAgfVxuXG4gIGlmIChzdHIubGVuZ3RoIDw9IGxlbmd0aCkge1xuICAgIHJldHVybiBzdHI7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0ci5zdWJzdHJpbmcoMCwgbGVuZ3RoKSArICcuLi4nO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ2FyZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIC5jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUVBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUdPLElBQU1DLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUlDLE9BQU8sRUFBSztFQUM3QyxJQUFJQSxPQUFPLENBQUNDLFVBQVUsQ0FBQyxDQUFDLEVBQUU7SUFDeEIsSUFBSUMsSUFBWSxHQUFHRixPQUFPLENBQUNHLFdBQVcsQ0FBQ0MsS0FBSyxDQUFDQyxJQUFJLENBQy9DLFVBQUNDLEtBQWE7TUFBQSxPQUFLQSxLQUFLLENBQUNDLEVBQUUsS0FBS0MsUUFBUSxDQUFDUixPQUFPLENBQUNPLEVBQUUsQ0FBQztJQUFBLENBQ3RELENBQUM7SUFDRCxJQUFJTCxJQUFJLEtBQUtPLFNBQVMsRUFBRTtJQUN4QixJQUFJQyxRQUFlLEdBQUdWLE9BQU8sQ0FBQ1csVUFBVSxDQUFD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
@@ -18,7 +18,6 @@ var _FloatingGraph = _interopRequireDefault(require("pages/EventsPage/FloatingGr
18
18
  var _GraphUtils = require("Widgets/Map/GraphUtils");
19
19
  var _actions4 = require("store/global/actions");
20
20
  var _DragAndDropArea = _interopRequireDefault(require("../DragAndDropArea"));
21
- var _EventUtils = require("Widgets/Map/events/EventUtils");
22
21
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
23
  var EventsMapContainer = function EventsMapContainer(props) {
@@ -77,7 +76,7 @@ var EventsMapContainer = function EventsMapContainer(props) {
77
76
  var mappedPoints = (0, _react.useMemo)(function () {
78
77
  return points_data.items.map(function (point) {
79
78
  var newPoint = (0, _objectSpread2.default)({}, point);
80
- if (!EventsPerSite[point.id] || (0, _EventUtils.isCollectorUnmonitored)(point)) {
79
+ if (!EventsPerSite[point.id] || point.group.type === 'Groups::Collectors') {
81
80
  newPoint.hide = true;
82
81
  }
83
82
  if (events_data.focusedEvent) {
@@ -87,7 +86,7 @@ var EventsMapContainer = function EventsMapContainer(props) {
87
86
  newPoint.hide = false;
88
87
  }
89
88
  } else if (events_data.hoveredEvent) {
90
- if (!MustSeenSites[point.id] && (0, _EventUtils.isCollectorUnmonitored)(point)) {
89
+ if (!MustSeenSites[point.id] && point.group.type === 'Groups::Collectors') {
91
90
  newPoint.hide = true;
92
91
  } else {
93
92
  newPoint.hide = false;
@@ -101,12 +100,7 @@ var EventsMapContainer = function EventsMapContainer(props) {
101
100
 
102
101
  // eslint-disable-next-line
103
102
  var mappedEdges = edges_data.items.filter(function (edge) {
104
- return (
105
- // (Number(EventsPerSite[edge.source_point_id]) > 0 ||
106
- // Number(EventsPerSite[edge.target_point_id]) > 0)
107
- // &&
108
- edge.descendants_has_device === true || edge.descendants_has_none_collectors === true
109
- );
103
+ return Number(EventsPerSite[edge.source_point_id]) > 0 || Number(EventsPerSite[edge.target_point_id]) > 0;
110
104
  });
111
105
  var areaToCenterBy = (0, _react.useMemo)(function () {
112
106
  return (0, _EventsMapContainerHelpers.getAreasToCenterBy)(global_data, mappedAreas);
@@ -122,7 +116,7 @@ var EventsMapContainer = function EventsMapContainer(props) {
122
116
  areas: mappedAreas,
123
117
  global_data: global_data,
124
118
  points: mappedPoints,
125
- edges: mappedEdges,
119
+ edges: edges_data.items,
126
120
  events: events_data.items,
127
121
  focusedEvent: events_data.focusedEvent,
128
122
  hoveredEvent: events_data.hoveredEvent,
@@ -147,4 +141,4 @@ var EventsMapContainer = function EventsMapContainer(props) {
147
141
  }));
148
142
  };
149
143
  exports.EventsMapContainer = EventsMapContainer;
150
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzIiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfYWN0aW9uczMiLCJfTWFwIiwiX0Zsb2F0aW5nR3JhcGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0dyYXBoVXRpbHMiLCJfYWN0aW9uczQiLCJfRHJhZ0FuZERyb3BBcmVhIiwiX0V2ZW50VXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkV2ZW50c01hcENvbnRhaW5lciIsInByb3BzIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nMiIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImFyZWFzX2RhdGEiLCJnbG9iYWxfZGF0YSIsInBvaW50c19kYXRhIiwiZXZlbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQiLCJ1c2VNZW1vIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpIiwiZmlsdGVycyIsImFjdGl2ZUZpbHRlciIsImZpbHRlcl9pdGVtcyIsImxlbmd0aCIsImluZGV4IiwidHlwZSIsIm1hcHBlZEFyZWFzIiwiYXJlYXNNYXBwZXIiLCJnZXRBY3RpdmVUaW1lRmlsdGVyUGVyaW9kIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpMiIsIml0ZW1zIiwiYWN0aXZlVGltZUZpbHRlciIsInNlbGVjdGVkX29wdGlvbnMiLCJFdmVudHNQZXJTaXRlIiwiQ291bnRFdmVudHNQZXJTaXRlSUQiLCJNdXN0U2VlblNpdGVzIiwiZm9jdXNlZEV2ZW50IiwiZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyIsImhvdmVyZWRFdmVudCIsIm1hcHBlZFBvaW50cyIsIm1hcCIsInBvaW50IiwibmV3UG9pbnQiLCJfb2JqZWN0U3ByZWFkMiIsImlkIiwiaXNDb2xsZWN0b3JVbm1vbml0b3JlZCIsImhpZGUiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZXZlbnRzVmlld0hvdmVyZWQiLCJtYXBwZWRFZGdlcyIsImZpbHRlciIsImVkZ2UiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwiZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyIsImFyZWFUb0NlbnRlckJ5IiwiZ2V0QXJlYXNUb0NlbnRlckJ5IiwidXNlRWZmZWN0Iiwid2F0ZXJBdXRob3JpdHlJZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJjcmVhdGVFbGVtZW50IiwiTWFwIiwiYXNzaWduIiwiYXJlYXMiLCJwb2ludHMiLCJlZGdlcyIsImV2ZW50cyIsImhpZGVFZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMiLCJmb3JFdmVudHNWaWV3IiwiZm9jdXNlZEV2ZW50UGF0aCIsImZvY3VzZWRFdmVudFBhdGhzIiwiZmxvYXRpbmdHcmFwaCIsImlzT3BlbiIsIm9wZW4iLCJjdXN0b21IaWdoQ2hhcnRPcHRpb25zIiwiZG5kR3JhcGhJbml0T3B0aW9ucyIsImNsb3NlR3JhcGhIYW5kbGVyIiwiY2xvc2VGbG9hdGluZ0dyYXBoIiwiZ2xvYmFsRGF0YUZsb2F0aW5nR3JhcGgiLCJldmVudF9kYXRhIiwiZ3JhcGhJZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNNYXBDb250YWluZXIvRXZlbnRzTWFwQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgYXJlYXNNYXBwZXIsXG4gIENvdW50RXZlbnRzUGVyU2l0ZUlELFxuICBnZXRBcmVhc1RvQ2VudGVyQnksXG4gIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMsXG59IGZyb20gJ3NyYy9wYWdlcy9FdmVudHNQYWdlL0V2ZW50c01hcENvbnRhaW5lci9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgRmxvYXRpbmdHcmFwaCBmcm9tICdzcmMvcGFnZXMvRXZlbnRzUGFnZS9GbG9hdGluZ0dyYXBoL0Zsb2F0aW5nR3JhcGgnO1xuaW1wb3J0IHsgZG5kR3JhcGhJbml0T3B0aW9ucyB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9HcmFwaFV0aWxzJztcbmltcG9ydCB7IGNsb3NlRmxvYXRpbmdHcmFwaCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgRHJhZ0FuZERyb3BBcmVhIGZyb20gJy4uL0RyYWdBbmREcm9wQXJlYSc7XG5pbXBvcnQgeyBpc0NvbGxlY3RvclVubW9uaXRvcmVkIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9FdmVudFV0aWxzJztcbmludGVyZmFjZSBFdmVudHNNYXBDb250YWluZXJQcm9wcyB7XG4gIHNob3dTZWNvbmRNYXA6IGJvb2xlYW47XG59XG5leHBvcnQgY29uc3QgRXZlbnRzTWFwQ29udGFpbmVyOiBSZWFjdC5GQzxFdmVudHNNYXBDb250YWluZXJQcm9wcz4gPSAoXG4gIHByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZXZlbnRzX2RhdGEsIGVkZ2VzX2RhdGEgfSA9XG4gICAgUmVkdXhTdGF0ZTtcblxuICBjb25zdCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGZpbHRlcnMgPSBnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyPy5maWx0ZXJfaXRlbXM7XG5cbiAgICBpZiAoIWZpbHRlcnMgfHwgZmlsdGVycy5sZW5ndGggPCAxKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZmlsdGVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChmaWx0ZXJzW2luZGV4XS50eXBlID09PSAnVGltZUZpbHRlckl0ZW0nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSwgW2dsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXJdKTtcblxuICBjb25zdCBtYXBwZWRBcmVhcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXJlYXNNYXBwZXIoYXJlYXNfZGF0YSwgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQpLFxuICAgIFthcmVhc19kYXRhLCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZF0sXG4gICk7XG5cbiAgY29uc3QgZ2V0QWN0aXZlVGltZUZpbHRlclBlcmlvZCA9ICgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IGdsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXI/LmZpbHRlcl9pdGVtcztcbiAgICBsZXQgYWN0aXZlVGltZUZpbHRlciA9ICcxbSc7XG5cbiAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiBhY3RpdmVUaW1lRmlsdGVyO1xuICAgIH1cblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChpdGVtc1tpbmRleF0udHlwZSA9PT0gJ1RpbWVGaWx0ZXJJdGVtJykge1xuICAgICAgICBhY3RpdmVUaW1lRmlsdGVyID0gaXRlbXNbaW5kZXhdLnNlbGVjdGVkX29wdGlvbnNbMF07XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYWN0aXZlVGltZUZpbHRlcjtcbiAgfTtcblxuICBjb25zdCBFdmVudHNQZXJTaXRlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBDb3VudEV2ZW50c1BlclNpdGVJRChldmVudHNfZGF0YS5pdGVtcyksXG4gICAgW2V2ZW50c19kYXRhLml0ZW1zXSxcbiAgKTtcblxuICBjb25zdCBNdXN0U2VlblNpdGVzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCkge1xuICAgICAgcmV0dXJuIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMoZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50KTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCkge1xuICAgICAgcmV0dXJuIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMoZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9LCBbRXZlbnRzUGVyU2l0ZSwgZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50LCBldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBtYXBwZWRQb2ludHMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5tYXAoKHBvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1BvaW50ID0geyAuLi5wb2ludCB9O1xuXG4gICAgICAgIGlmICghRXZlbnRzUGVyU2l0ZVtwb2ludC5pZF0gfHwgaXNDb2xsZWN0b3JVbm1vbml0b3JlZChwb2ludCkpIHtcbiAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQpIHtcbiAgICAgICAgICBpZiAoIU11c3RTZWVuU2l0ZXNbcG9pbnQuaWRdKSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3UG9pbnQuaGlkZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnQpIHtcbiAgICAgICAgICBpZiAoIU11c3RTZWVuU2l0ZXNbcG9pbnQuaWRdICYmIGlzQ29sbGVjdG9yVW5tb25pdG9yZWQocG9pbnQpKSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3UG9pbnQuaGlkZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5ld1BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQgPSBFdmVudHNQZXJTaXRlW3BvaW50LmlkXSB8fCAwO1xuICAgICAgICBuZXdQb2ludC5ldmVudHNWaWV3SG92ZXJlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBuZXdQb2ludDtcbiAgICAgIH0pLFxuICAgIFtcbiAgICAgIHBvaW50c19kYXRhLFxuICAgICAgRXZlbnRzUGVyU2l0ZSxcbiAgICAgIGV2ZW50c19kYXRhLml0ZW1zLFxuICAgICAgZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50LFxuICAgICAgZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50LFxuICAgIF0sXG4gICk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIGNvbnN0IG1hcHBlZEVkZ2VzID0gZWRnZXNfZGF0YS5pdGVtcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+XG4gICAgICAvLyAoTnVtYmVyKEV2ZW50c1BlclNpdGVbZWRnZS5zb3VyY2VfcG9pbnRfaWRdKSA+IDAgfHxcbiAgICAgIC8vIE51bWJlcihFdmVudHNQZXJTaXRlW2VkZ2UudGFyZ2V0X3BvaW50X2lkXSkgPiAwKVxuICAgICAgLy8gICYmXG4gICAgICBlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UgPT09IHRydWUgfHxcbiAgICAgIGVkZ2UuZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyA9PT0gdHJ1ZSxcbiAgKTtcblxuICBjb25zdCBhcmVhVG9DZW50ZXJCeSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gZ2V0QXJlYXNUb0NlbnRlckJ5KGdsb2JhbF9kYXRhLCBtYXBwZWRBcmVhcyksXG4gICAgW2dsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXIsIG1hcHBlZEFyZWFzXSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKFxuICAgICAgICBmZXRjaEFyZWFzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIGdldEFjdGl2ZVRpbWVGaWx0ZXJQZXJpb2QoKSksXG4gICAgICApO1xuICAgIH1cbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPE1hcFxuICAgICAgey4uLlJlZHV4U3RhdGV9XG4gICAgICBhcmVhcz17bWFwcGVkQXJlYXN9XG4gICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICBwb2ludHM9e21hcHBlZFBvaW50c31cbiAgICAgIGVkZ2VzPXttYXBwZWRFZGdlc31cbiAgICAgIGV2ZW50cz17ZXZlbnRzX2RhdGEuaXRlbXN9XG4gICAgICBmb2N1c2VkRXZlbnQ9e2V2ZW50c19kYXRhLmZvY3VzZWRFdmVudH1cbiAgICAgIGhvdmVyZWRFdmVudD17ZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50fVxuICAgICAgYXJlYVRvQ2VudGVyQnk9e2FyZWFUb0NlbnRlckJ5fVxuICAgICAgaGlkZUVkZ2VzPXt0cnVlfVxuICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXtmYWxzZX1cbiAgICAgIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM9e3RydWV9XG4gICAgICBmb3JFdmVudHNWaWV3PXt0cnVlfVxuICAgICAgey4uLnByb3BzfVxuICAgID5cbiAgICAgIHtcbiAgICAgICAgPERyYWdBbmREcm9wQXJlYSBmb2N1c2VkRXZlbnRQYXRoPXtldmVudHNfZGF0YT8uZm9jdXNlZEV2ZW50UGF0aHN9PlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICBmbG9hdGluZ0dyYXBoOiAoXG4gICAgICAgICAgICAgIDxGbG9hdGluZ0dyYXBoXG4gICAgICAgICAgICAgICAgaXNPcGVuPXtnbG9iYWxfZGF0YT8uZmxvYXRpbmdHcmFwaC5vcGVufVxuICAgICAgICAgICAgICAgIGN1c3RvbUhpZ2hDaGFydE9wdGlvbnM9e2RuZEdyYXBoSW5pdE9wdGlvbnN9XG4gICAgICAgICAgICAgICAgY2xvc2VHcmFwaEhhbmRsZXI9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKGNsb3NlRmxvYXRpbmdHcmFwaCgpKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGdsb2JhbERhdGFGbG9hdGluZ0dyYXBoPXtnbG9iYWxfZGF0YS5mbG9hdGluZ0dyYXBofVxuICAgICAgICAgICAgICAgIGV2ZW50X2RhdGE9e2V2ZW50c19kYXRhPy5mb2N1c2VkRXZlbnR9XG4gICAgICAgICAgICAgICAgZ3JhcGhJZD17Z2xvYmFsX2RhdGE/LmZsb2F0aW5nR3JhcGg/LnBvaW50Py5pZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICksXG4gICAgICAgICAgfX1cbiAgICAgICAgPC9EcmFnQW5kRHJvcEFyZWE+XG4gICAgICB9XG4gICAgPC9NYXA+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSwwQkFBQSxHQUFBRixPQUFBO0FBTUEsSUFBQUcsUUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sSUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sY0FBQSxHQUFBQyxzQkFBQSxDQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsU0FBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsZ0JBQUEsR0FBQUgsc0JBQUEsQ0FBQVIsT0FBQTtBQUNBLElBQUFZLFdBQUEsR0FBQVosT0FBQTtBQUEyRSxTQUFBYSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEs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
144
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzIiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfYWN0aW9uczMiLCJfTWFwIiwiX0Zsb2F0aW5nR3JhcGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0dyYXBoVXRpbHMiLCJfYWN0aW9uczQiLCJfRHJhZ0FuZERyb3BBcmVhIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFdmVudHNNYXBDb250YWluZXIiLCJwcm9wcyIsIl9nbG9iYWxfZGF0YSRmbG9hdGluZyIsIl9nbG9iYWxfZGF0YSRmbG9hdGluZzIiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiUmVkdXhTdGF0ZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImV2ZW50c19kYXRhIiwiZWRnZXNfZGF0YSIsImlzVGltZUZpbHRlck5vdFNlbGVjdGVkIiwidXNlTWVtbyIsIl9nbG9iYWxfZGF0YSRhY3RpdmVGaSIsImZpbHRlcnMiLCJhY3RpdmVGaWx0ZXIiLCJmaWx0ZXJfaXRlbXMiLCJsZW5ndGgiLCJpbmRleCIsInR5cGUiLCJtYXBwZWRBcmVhcyIsImFyZWFzTWFwcGVyIiwiZ2V0QWN0aXZlVGltZUZpbHRlclBlcmlvZCIsIl9nbG9iYWxfZGF0YSRhY3RpdmVGaTIiLCJpdGVtcyIsImFjdGl2ZVRpbWVGaWx0ZXIiLCJzZWxlY3RlZF9vcHRpb25zIiwiRXZlbnRzUGVyU2l0ZSIsIkNvdW50RXZlbnRzUGVyU2l0ZUlEIiwiTXVzdFNlZW5TaXRlcyIsImZvY3VzZWRFdmVudCIsImdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMiLCJob3ZlcmVkRXZlbnQiLCJtYXBwZWRQb2ludHMiLCJtYXAiLCJwb2ludCIsIm5ld1BvaW50IiwiX29iamVjdFNwcmVhZDIiLCJpZCIsImdyb3VwIiwiaGlkZSIsInJlbGF0ZWRFdmVudHNBbW91bnQiLCJldmVudHNWaWV3SG92ZXJlZCIsIm1hcHBlZEVkZ2VzIiwiZmlsdGVyIiwiZWRnZSIsIk51bWJlciIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldF9wb2ludF9pZCIsImFyZWFUb0NlbnRlckJ5IiwiZ2V0QXJlYXNUb0NlbnRlckJ5IiwidXNlRWZmZWN0Iiwid2F0ZXJBdXRob3JpdHlJZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJjcmVhdGVFbGVtZW50IiwiTWFwIiwiYXNzaWduIiwiYXJlYXMiLCJwb2ludHMiLCJlZGdlcyIsImV2ZW50cyIsImhpZGVFZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMiLCJmb3JFdmVudHNWaWV3IiwiZm9jdXNlZEV2ZW50UGF0aCIsImZvY3VzZWRFdmVudFBhdGhzIiwiZmxvYXRpbmdHcmFwaCIsImlzT3BlbiIsIm9wZW4iLCJjdXN0b21IaWdoQ2hhcnRPcHRpb25zIiwiZG5kR3JhcGhJbml0T3B0aW9ucyIsImNsb3NlR3JhcGhIYW5kbGVyIiwiY2xvc2VGbG9hdGluZ0dyYXBoIiwiZ2xvYmFsRGF0YUZsb2F0aW5nR3JhcGgiLCJldmVudF9kYXRhIiwiZ3JhcGhJZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNNYXBDb250YWluZXIvRXZlbnRzTWFwQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgYXJlYXNNYXBwZXIsXG4gIENvdW50RXZlbnRzUGVyU2l0ZUlELFxuICBnZXRBcmVhc1RvQ2VudGVyQnksXG4gIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMsXG59IGZyb20gJ3NyYy9wYWdlcy9FdmVudHNQYWdlL0V2ZW50c01hcENvbnRhaW5lci9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgRmxvYXRpbmdHcmFwaCBmcm9tICdzcmMvcGFnZXMvRXZlbnRzUGFnZS9GbG9hdGluZ0dyYXBoL0Zsb2F0aW5nR3JhcGgnO1xuaW1wb3J0IHsgZG5kR3JhcGhJbml0T3B0aW9ucyB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9HcmFwaFV0aWxzJztcbmltcG9ydCB7IGNsb3NlRmxvYXRpbmdHcmFwaCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgRHJhZ0FuZERyb3BBcmVhIGZyb20gJy4uL0RyYWdBbmREcm9wQXJlYSc7XG5pbnRlcmZhY2UgRXZlbnRzTWFwQ29udGFpbmVyUHJvcHMge1xuICBzaG93U2Vjb25kTWFwOiBib29sZWFuO1xufVxuZXhwb3J0IGNvbnN0IEV2ZW50c01hcENvbnRhaW5lcjogUmVhY3QuRkM8RXZlbnRzTWFwQ29udGFpbmVyUHJvcHM+ID0gKFxuICBwcm9wcyxcbikgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgeyBhcmVhc19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIGV2ZW50c19kYXRhLCBlZGdlc19kYXRhIH0gPVxuICAgIFJlZHV4U3RhdGU7XG5cbiAgY29uc3QgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBmaWx0ZXJzID0gZ2xvYmFsX2RhdGE/LmFjdGl2ZUZpbHRlcj8uZmlsdGVyX2l0ZW1zO1xuXG4gICAgaWYgKCFmaWx0ZXJzIHx8IGZpbHRlcnMubGVuZ3RoIDwgMSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGZpbHRlcnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZiAoZmlsdGVyc1tpbmRleF0udHlwZSA9PT0gJ1RpbWVGaWx0ZXJJdGVtJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0sIFtnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyXSk7XG5cbiAgY29uc3QgbWFwcGVkQXJlYXMgPSB1c2VNZW1vKFxuICAgICgpID0+IGFyZWFzTWFwcGVyKGFyZWFzX2RhdGEsIGlzVGltZUZpbHRlck5vdFNlbGVjdGVkKSxcbiAgICBbYXJlYXNfZGF0YSwgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWRdLFxuICApO1xuXG4gIGNvbnN0IGdldEFjdGl2ZVRpbWVGaWx0ZXJQZXJpb2QgPSAoKSA9PiB7XG4gICAgY29uc3QgaXRlbXMgPSBnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyPy5maWx0ZXJfaXRlbXM7XG4gICAgbGV0IGFjdGl2ZVRpbWVGaWx0ZXIgPSAnMW0nO1xuXG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPCAxKSB7XG4gICAgICByZXR1cm4gYWN0aXZlVGltZUZpbHRlcjtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgaXRlbXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZiAoaXRlbXNbaW5kZXhdLnR5cGUgPT09ICdUaW1lRmlsdGVySXRlbScpIHtcbiAgICAgICAgYWN0aXZlVGltZUZpbHRlciA9IGl0ZW1zW2luZGV4XS5zZWxlY3RlZF9vcHRpb25zWzBdO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFjdGl2ZVRpbWVGaWx0ZXI7XG4gIH07XG5cbiAgY29uc3QgRXZlbnRzUGVyU2l0ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gQ291bnRFdmVudHNQZXJTaXRlSUQoZXZlbnRzX2RhdGEuaXRlbXMpLFxuICAgIFtldmVudHNfZGF0YS5pdGVtc10sXG4gICk7XG5cbiAgY29uc3QgTXVzdFNlZW5TaXRlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQpIHtcbiAgICAgIHJldHVybiBnZXRGb2N1c2VkRXZlbnRNdXN0U2VlblNpdGVzKGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCk7XG4gICAgfSBlbHNlIGlmIChldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnQpIHtcbiAgICAgIHJldHVybiBnZXRGb2N1c2VkRXZlbnRNdXN0U2VlblNpdGVzKGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCk7XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfSwgW0V2ZW50c1BlclNpdGUsIGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCwgZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50XSk7XG5cbiAgY29uc3QgbWFwcGVkUG9pbnRzID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMubWFwKChwb2ludCkgPT4ge1xuICAgICAgICBjb25zdCBuZXdQb2ludCA9IHsgLi4ucG9pbnQgfTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgIUV2ZW50c1BlclNpdGVbcG9pbnQuaWRdIHx8XG4gICAgICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6Q29sbGVjdG9ycydcbiAgICAgICAgKSB7XG4gICAgICAgICAgbmV3UG9pbnQuaGlkZSA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50KSB7XG4gICAgICAgICAgaWYgKCFNdXN0U2VlblNpdGVzW3BvaW50LmlkXSkge1xuICAgICAgICAgICAgbmV3UG9pbnQuaGlkZSA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgIU11c3RTZWVuU2l0ZXNbcG9pbnQuaWRdICYmXG4gICAgICAgICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpDb2xsZWN0b3JzJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgbmV3UG9pbnQuaGlkZSA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBuZXdQb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID0gRXZlbnRzUGVyU2l0ZVtwb2ludC5pZF0gfHwgMDtcbiAgICAgICAgbmV3UG9pbnQuZXZlbnRzVmlld0hvdmVyZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbmV3UG9pbnQ7XG4gICAgICB9KSxcbiAgICBbXG4gICAgICBwb2ludHNfZGF0YSxcbiAgICAgIEV2ZW50c1BlclNpdGUsXG4gICAgICBldmVudHNfZGF0YS5pdGVtcyxcbiAgICAgIGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCxcbiAgICAgIGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCxcbiAgICBdLFxuICApO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBjb25zdCBtYXBwZWRFZGdlcyA9IGVkZ2VzX2RhdGEuaXRlbXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PlxuICAgICAgTnVtYmVyKEV2ZW50c1BlclNpdGVbZWRnZS5zb3VyY2VfcG9pbnRfaWRdKSA+IDAgfHxcbiAgICAgIE51bWJlcihFdmVudHNQZXJTaXRlW2VkZ2UudGFyZ2V0X3BvaW50X2lkXSkgPiAwLFxuICApO1xuXG4gIGNvbnN0IGFyZWFUb0NlbnRlckJ5ID0gdXNlTWVtbyhcbiAgICAoKSA9PiBnZXRBcmVhc1RvQ2VudGVyQnkoZ2xvYmFsX2RhdGEsIG1hcHBlZEFyZWFzKSxcbiAgICBbZ2xvYmFsX2RhdGE/LmFjdGl2ZUZpbHRlciwgbWFwcGVkQXJlYXNdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goXG4gICAgICAgIGZldGNoQXJlYXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgZ2V0QWN0aXZlVGltZUZpbHRlclBlcmlvZCgpKSxcbiAgICAgICk7XG4gICAgfVxuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8TWFwXG4gICAgICB7Li4uUmVkdXhTdGF0ZX1cbiAgICAgIGFyZWFzPXttYXBwZWRBcmVhc31cbiAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgIHBvaW50cz17bWFwcGVkUG9pbnRzfVxuICAgICAgZWRnZXM9e2VkZ2VzX2RhdGEuaXRlbXN9XG4gICAgICBldmVudHM9e2V2ZW50c19kYXRhLml0ZW1zfVxuICAgICAgZm9jdXNlZEV2ZW50PXtldmVudHNfZGF0YS5mb2N1c2VkRXZlbnR9XG4gICAgICBob3ZlcmVkRXZlbnQ9e2V2ZW50c19kYXRhLmhvdmVyZWRFdmVudH1cbiAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhVG9DZW50ZXJCeX1cbiAgICAgIGhpZGVFZGdlcz17dHJ1ZX1cbiAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz17ZmFsc2V9XG4gICAgICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzPXt0cnVlfVxuICAgICAgZm9yRXZlbnRzVmlldz17dHJ1ZX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7XG4gICAgICAgIDxEcmFnQW5kRHJvcEFyZWEgZm9jdXNlZEV2ZW50UGF0aD17ZXZlbnRzX2RhdGE/LmZvY3VzZWRFdmVudFBhdGhzfT5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgZmxvYXRpbmdHcmFwaDogKFxuICAgICAgICAgICAgICA8RmxvYXRpbmdHcmFwaFxuICAgICAgICAgICAgICAgIGlzT3Blbj17Z2xvYmFsX2RhdGE/LmZsb2F0aW5nR3JhcGgub3Blbn1cbiAgICAgICAgICAgICAgICBjdXN0b21IaWdoQ2hhcnRPcHRpb25zPXtkbmRHcmFwaEluaXRPcHRpb25zfVxuICAgICAgICAgICAgICAgIGNsb3NlR3JhcGhIYW5kbGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBnbG9iYWxEYXRhRmxvYXRpbmdHcmFwaD17Z2xvYmFsX2RhdGEuZmxvYXRpbmdHcmFwaH1cbiAgICAgICAgICAgICAgICBldmVudF9kYXRhPXtldmVudHNfZGF0YT8uZm9jdXNlZEV2ZW50fVxuICAgICAgICAgICAgICAgIGdyYXBoSWQ9e2dsb2JhbF9kYXRhPy5mbG9hdGluZ0dyYXBoPy5wb2ludD8uaWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgIH19XG4gICAgICAgIDwvRHJhZ0FuZERyb3BBcmVhPlxuICAgICAgfVxuICAgIDwvTWFwPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsMEJBQUEsR0FBQUYsT0FBQTtBQU1BLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLElBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQVIsT0FBQTtBQUNBLElBQUFTLFdBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLFNBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLGdCQUFBLEdBQUFILHNCQUFBLENBQUFSLE9BQUE7QUFBaUQsU0FBQVkseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFkLHdCQUFBa0IsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFB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