@kando-env/kando-ui 1.2.238-alpha.6 → 1.2.239

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 (51) hide show
  1. package/lib/Widgets/Map/Map.js +17 -86
  2. package/lib/Widgets/Map/Map.scss +0 -65
  3. package/lib/Widgets/Map/MapUtils.js +15 -27
  4. package/lib/Widgets/Map/areas/AreaPolygons.js +2 -2
  5. package/lib/Widgets/Map/edges/Edges.js +2 -17
  6. package/lib/Widgets/Map/events/EventUtils.js +9 -13
  7. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +2 -9
  8. package/lib/Widgets/Map/events/PointOfEvent.js +9 -12
  9. package/lib/Widgets/Map/points/PointMarker.js +20 -22
  10. package/lib/Widgets/Map/points/PointMarkers.js +22 -90
  11. package/lib/Widgets/Map/points/PointUtils.js +32 -93
  12. package/lib/assets/icons/pin/pin-matash-white.svg +42 -8
  13. package/lib/assets/map/pin-matash-white.svg +28 -8
  14. package/lib/assets/map/pin-plant-white.svg +28 -6
  15. package/lib/assets/map/pin-water.svg +17 -7
  16. package/lib/assets/point_icons/WWTP-icon.svg +21 -8
  17. package/lib/assets/point_icons/factory-icon.svg +21 -6
  18. package/lib/assets/point_icons/pump-station-icon.svg +16 -6
  19. package/lib/components/CustomInputs/Select/Select.js +4 -24
  20. package/lib/components/Header/Slideshow/Slideshow.js +5 -5
  21. package/lib/hooks/useInitializeHeaders.js +3 -2
  22. package/lib/hooks/useMap.js +18 -4
  23. package/lib/i18n/en.json +7 -34
  24. package/lib/i18n/en_uk.json +0 -22
  25. package/lib/i18n/fr.json +0 -22
  26. package/lib/i18n/he.json +0 -29
  27. package/lib/i18n/it.json +0 -22
  28. package/lib/macros/getVersion.js +2 -2
  29. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +2 -4
  30. package/lib/pages/EventsPage/events/EventsStyle.scss +0 -1
  31. package/lib/pages/EventsPage/events/events_list/EventsList.js +2 -2
  32. package/lib/pages/ProfilePage/Container.js +2 -2
  33. package/lib/pages/ProfilePage/ProfilePage.js +50 -164
  34. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +1 -4
  35. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +2 -2
  36. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +4 -4
  37. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +2 -2
  38. package/lib/pages/WbeDashboard/WbeDashboardPage.js +2 -2
  39. package/lib/store/events/actions.js +3 -3
  40. package/lib/ui-kit/KandoTable/KandoTable.js +5 -5
  41. package/lib/utilities/edgesMath.js +3 -6
  42. package/lib/utilities/map/icons.js +7 -23
  43. package/package.json +3 -5
  44. package/lib/Widgets/Map/points/PointIcon.js +0 -60
  45. package/lib/Widgets/Map/points/PointIcon.scss +0 -244
  46. package/lib/assets/icons/plus_v.svg +0 -13
  47. package/lib/assets/icons/water_reuse.svg +0 -27
  48. package/lib/assets/map/pin-matash-clicked.svg +0 -12
  49. package/lib/assets/map/pin-plant-clicked.svg +0 -10
  50. package/lib/assets/map/pin-suction-clicked.svg +0 -10
  51. package/lib/assets/map/pin-water-clicked.svg +0 -11
@@ -148,7 +148,7 @@ var findEdgesFromEventPathToDraw = function findEdgesFromEventPathToDraw(edgesTo
148
148
 
149
149
  exports.findEdgesFromEventPathToDraw = findEdgesFromEventPathToDraw;
150
150
 
151
- var drawNetwork = function drawNetwork(edges, points, dispatch, map, event, layerGroup) {
151
+ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event) {
152
152
  var latlngs = [];
153
153
  edges.forEach(function (edge) {
154
154
  edge.shape_data.forEach(function (data) {
@@ -159,9 +159,7 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event, laye
159
159
  color: 'rgb(227,227,227)',
160
160
  weight: 6,
161
161
  opacity: 1
162
- });
163
-
164
- layerGroup.addLayer(polylineBack);
162
+ }).addTo(map);
165
163
 
166
164
  var tailDash = _leaflet.default.polylineDecorator(polylineBack._latlngs, {
167
165
  patterns: [// defines a pattern of 10px-wide dashes, repeated every 20px on the line
@@ -178,10 +176,9 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event, laye
178
176
  }
179
177
  })
180
178
  }]
181
- });
179
+ }).addTo(map);
182
180
 
183
181
  tailDash['kando_object'] = 'Decorator';
184
- layerGroup.addLayer(tailDash);
185
182
 
186
183
  if (points.length !== 0) {
187
184
  var sourcePoint = points.find(function (point) {
@@ -197,8 +194,8 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event, laye
197
194
 
198
195
  if (sourcePoint) drawManholeIcon(sourcePoint, map);
199
196
  if (targetPoint) drawManholeIcon(targetPoint, map);
200
- if (sourcePoint && (sourcePoint.has_device || pointIsWWTP(sourcePoint))) (0, _PointUtils.createBubblePoint)([sourcePoint.latitude, sourcePoint.longitude], sourcePoint, map, null, layerGroup);
201
- if (targetPoint && (targetPoint.has_device || pointIsWWTP(targetPoint))) (0, _PointUtils.createBubblePoint)([targetPoint.latitude, targetPoint.longitude], targetPoint, map, null, layerGroup);
197
+ if (sourcePoint && (sourcePoint.has_device || pointIsWWTP(sourcePoint))) (0, _PointUtils.createBubblePoint)([sourcePoint.latitude, sourcePoint.longitude], sourcePoint, map);
198
+ if (targetPoint && (targetPoint.has_device || pointIsWWTP(targetPoint))) (0, _PointUtils.createBubblePoint)([targetPoint.latitude, targetPoint.longitude], targetPoint, map);
202
199
  }
203
200
 
204
201
  polylineBack['kando_object_id'] = edge.id;
@@ -211,12 +208,11 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event, laye
211
208
  color: 'rgb(29,29,29)',
212
209
  weight: 1,
213
210
  opacity: 1
214
- });
211
+ }).addTo(map);
215
212
 
216
213
  polylineFront['kando_object_id'] = edge.id;
217
214
  if (event.hovered) polylineFront['kando_object'] = 'HoveredEdgeFront';
218
215
  if (event.focused) polylineFront['kando_object'] = 'FocusedEdgeFront';
219
- layerGroup.addLayer(polylineFront);
220
216
  polylineFront.bringToFront();
221
217
  if (event.hovered) dispatch((0, _actions.setHoveredEdgePaths)([polylineBack, polylineFront]));
222
218
  latlngs = [];
@@ -225,7 +221,7 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event, laye
225
221
 
226
222
  exports.drawNetwork = drawNetwork;
227
223
 
228
- var findAndDrawEventNetworkEdges = function findAndDrawEventNetworkEdges(edges, event, points, dispatch, map, layerGroup) {
224
+ var findAndDrawEventNetworkEdges = function findAndDrawEventNetworkEdges(edges, event, points, dispatch, map) {
229
225
  var edgesToDraw = [];
230
226
  var firstEdge = getFirstEdgeOfEventPath(edges, event);
231
227
 
@@ -237,7 +233,7 @@ var findAndDrawEventNetworkEdges = function findAndDrawEventNetworkEdges(edges,
237
233
  findDownstreamEdgesToDraw(firstEdge, edges, downstreamNetwork, edgesToDraw);
238
234
  }
239
235
 
240
- drawNetwork(edgesToDraw, points, dispatch, map, event, layerGroup);
236
+ drawNetwork(edgesToDraw, points, dispatch, map, event);
241
237
  };
242
238
 
243
239
  exports.findAndDrawEventNetworkEdges = findAndDrawEventNetworkEdges;
@@ -255,4 +251,4 @@ var pointIsWWTP = function pointIsWWTP(point) {
255
251
  };
256
252
 
257
253
  exports.pointIsWWTP = pointIsWWTP;
258
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRVdGlscy50cyJdLCJuYW1lcyI6WyJkcmF3TWFuaG9sZUljb24iLCJzb3VyY2VQb2ludCIsIm1hcCIsInBvaW50SWNvbiIsIkwiLCJpY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIm1hcmtlciIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJpZCIsImdldEZpcnN0RWRnZU9mRXZlbnRQYXRoIiwiZWRnZXMiLCJldmVudCIsInBhdGgiLCJ1bmRlZmluZWQiLCJmaW5kIiwiZWRnZSIsImVkZ2VfaWQiLCJmaW5kRWRnZXMiLCJuZXh0VXBzdHJlYW1MZXZlbElkcyIsImZpbHRlciIsImluY2x1ZGVzIiwidGFyZ2V0X3BvaW50X2lkIiwicmVjdXJzaXZlVXBzdHJlYW1TZWFyY2giLCJuZXh0TGV2ZWwiLCJtYXBBbGxFZGdlc05lc3RpbmciLCJhbGxVcHN0cmVhbUVkZ2VzIiwic291cmNlX3BvaW50X2lkIiwibGVuZ3RoIiwicHVzaCIsIm1hcHBlZCIsImZvckVhY2giLCJnZXRVcHN0cmVhbUVkZ2VzIiwiZmlyc3RFZGdlIiwiZmlyc3RVcHN0cmVhbUxldmVsIiwiZmluZFVwc3RyZWFtRWRnZXNUb0RyYXciLCJ1cHN0cmVhbUVkZ2VzIiwiZWRnZXNUb0RyYXciLCJwb2ludHMiLCJ1cHN0cmVhbUVkZ2UiLCJwb2ludCIsImNvbm5lY3Rpb25FZGdlIiwiZmluZERvd25zdHJlYW1FZGdlc1RvRHJhdyIsImRvd25zdHJlYW1OZXR3b3JrIiwicmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaCIsImRvd25TdHJlYW1FZGdlIiwibGFzdERvd25TdHJlYW1FZGdlIiwibmV4dExldmVsRG93blN0cmVhbSIsImZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXciLCJwYXJ0IiwibWF0Y2hlZFBhcnQiLCJkcmF3TmV0d29yayIsImRpc3BhdGNoIiwibGF5ZXJHcm91cCIsImxhdGxuZ3MiLCJzaGFwZV9kYXRhIiwiZGF0YSIsImxhdCIsImxuZyIsInBvbHlsaW5lQmFjayIsInBvbHlsaW5lIiwiY29sb3IiLCJ3ZWlnaHQiLCJvcGFjaXR5IiwiYWRkTGF5ZXIiLCJ0YWlsRGFzaCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsIlN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsInRhcmdldFBvaW50IiwiYmluZFBvcHVwIiwiZGlzdGFuY2UiLCJoYXNfZGV2aWNlIiwicG9pbnRJc1dXVFAiLCJob3ZlcmVkIiwiZm9jdXNlZCIsImJyaW5nVG9Gcm9udCIsInBvbHlsaW5lRnJvbnQiLCJmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzIiwicG9pbnRJc09ic2VydmF0aW9uIiwib2JzZXJ2YXRpb25zIiwib2JzIiwicG9pbnRfaWQiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFDQTs7QUFFTyxJQUFNQSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNDLFdBQUQsRUFBc0JDLEdBQXRCLEVBQXFDO0FBQ2xFLE1BQUlDLFNBQVMsR0FBR0MsaUJBQUVDLElBQUYsQ0FBTztBQUNyQkMsSUFBQUEsT0FBTyxFQUFFQyxtQkFEWTtBQUVyQkMsSUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGVztBQUdyQkMsSUFBQUEsVUFBVSxFQUFFLENBQUMsR0FBRCxFQUFNLEdBQU47QUFIUyxHQUFQLENBQWhCOztBQU1BLE1BQUlDLFdBQWdCLEdBQUdOLGlCQUFFTyxNQUFGLENBQ3JCLENBQUNWLFdBQVcsQ0FBQ1csUUFBYixFQUF1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N0IsRUFDRU8sdUJBQXVCLENBQUNDLGFBQUQsRUFBZ0JDLFdBQWhCLEVBQTZCQyxNQUE3QixFQUFxQzNCLEtBQXJDLENBQXZCO0FBQ0YrQixJQUFBQSx5QkFBeUIsQ0FBQ1QsU0FBRCxFQUFZdEIsS0FBWixFQUFtQmdDLGlCQUFuQixFQUFzQ04sV0FBdEMsQ0FBekI7QUFDRDs7QUFFRGMsRUFBQUEsV0FBVyxDQUFDZCxXQUFELEVBQWNDLE1BQWQsRUFBc0JjLFFBQXRCLEVBQWdDN0QsR0FBaEMsRUFBcUNxQixLQUFyQyxFQUE0Q3lDLFVBQTVDLENBQVg7QUFDRCxDQXJCTTs7OztBQXVCQSxJQUFNbUMsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFxQixDQUFDNUUsS0FBRCxFQUFnQjRCLEtBQWhCLEVBQWtDO0FBQ2xFLFNBQU81QixLQUFLLENBQUM2RSxZQUFOLENBQW1CMUUsSUFBbkIsQ0FBd0IsVUFBQzJFLEdBQUQ7QUFBQSxXQUFTQSxHQUFHLENBQUNDLFFBQUosS0FBaUJuRCxLQUFLLENBQUMvQixFQUFoQztBQUFBLEdBQXhCLENBQVA7QUFDRCxDQUZNOzs7O0FBSUEsSUFBTXlFLFdBQVcsR0FBRyxTQUFkQSxXQUFjLENBQUMxQyxLQUFELEVBQW1CO0FBQzVDLFNBQU9BLEtBQUssQ0FBQ2xDLEtBQU4sQ0FBWXNGLElBQVosS0FBcUIsa0NBQTVCO0FBQ0QsQ0FGTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnbGVhZmxldC1wb2x5bGluZWRlY29yYXRvcic7XG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy93aGl0ZS1wb2ludC5wbmcnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0SG92ZXJlZEVkZ2VQYXRocyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IGNyZWF0ZUJ1YmJsZVBvaW50IH0gZnJvbSAnLi4vcG9pbnRzL1BvaW50VXRpbHMnO1xuXG5leHBvcnQgY29uc3QgZHJhd01hbmhvbGVJY29uID0gKHNvdXJjZVBvaW50OiBJUG9pbnQsIG1hcDogTC5NYXApID0+IHtcbiAgbGV0IHBvaW50SWNvbiA9IEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuXG4gIGxldCBtYW5ob2xlSWNvbjogYW55ID0gTC5tYXJrZXIoXG4gICAgW3NvdXJjZVBvaW50LmxhdGl0dWRlLCBzb3VyY2VQb2ludC5sb25naXR1ZGVdLFxuICAgIHtcbiAgICAgIGljb246IHBvaW50SWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICAgIH0sXG4gICkuYWRkVG8obWFwKTtcbiAgbWFuaG9sZUljb24uYmluZFRvb2x0aXAoXG4gICAgYCR7c291cmNlUG9pbnQuZ3JvdXAubmFtZX0gKCR7c291cmNlUG9pbnQuZ3JvdXAuc2VjdG9yX25hbWV9KWAsXG4gICk7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHNvdXJjZVBvaW50LmlkO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnVXBzdHJlYW1Qb2ludCc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGggPSAoZWRnZXM6IElFZGdlW10sIGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgaWYgKGV2ZW50LnBhdGhbMF0gPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICByZXR1cm4gZWRnZXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gZXZlbnQucGF0aFswXS5lZGdlX2lkKTtcbn07XG5cbmNvbnN0IGZpbmRFZGdlcyA9IChlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpID0+IHtcbiAgcmV0dXJuIGVkZ2VzLmZpbHRlcigoZWRnZTogSUVkZ2UpID0+XG4gICAgbmV4dFVwc3RyZWFtTGV2ZWxJZHMuaW5jbHVkZXMoZWRnZS50YXJnZXRfcG9pbnRfaWQpLFxuICApO1xufTtcblxuY29uc3QgcmVjdXJzaXZlVXBzdHJlYW1TZWFyY2ggPSAoXG4gIG5leHRMZXZlbCxcbiAgZWRnZXMsXG4gIG1hcEFsbEVkZ2VzTmVzdGluZyxcbiAgYWxsVXBzdHJlYW1FZGdlcyxcbikgPT4ge1xuICBsZXQgbmV4dFVwc3RyZWFtTGV2ZWxJZHMgPSBuZXh0TGV2ZWwubWFwKChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCk7XG4gIGlmIChmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbWFwQWxsRWRnZXNOZXN0aW5nKFtuZXh0TGV2ZWxdKTtcbiAgfSBlbHNlIHtcbiAgICBhbGxVcHN0cmVhbUVkZ2VzLnB1c2goZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykpO1xuICAgIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgICAgZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcyksXG4gICAgICBlZGdlcyxcbiAgICAgIG1hcEFsbEVkZ2VzTmVzdGluZyxcbiAgICAgIGFsbFVwc3RyZWFtRWRnZXMsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoYWxsVXBzdHJlYW1FZGdlcyk7XG59O1xuXG5jb25zdCBtYXBBbGxFZGdlc05lc3RpbmcgPSAoYWxsVXBzdHJlYW1FZGdlcykgPT4ge1xuICBsZXQgbWFwcGVkOiBhbnlbXSA9IFtdO1xuICBhbGxVcHN0cmVhbUVkZ2VzLmZvckVhY2goKGVkZ2VzKSA9PiB7XG4gICAgZWRnZXMuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgbWFwcGVkLnB1c2goZWRnZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHJldHVybiBtYXBwZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VXBzdHJlYW1FZGdlcyA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICBsZXQgYWxsVXBzdHJlYW1FZGdlczogYW55W10gPSBbXTtcbiAgbGV0IGZpcnN0VXBzdHJlYW1MZXZlbDogSUVkZ2VbXSA9IGVkZ2VzLmZpbHRlcihcbiAgICAoZWRnZSkgPT4gZWRnZS50YXJnZXRfcG9pbnRfaWQgPT09IGZpcnN0RWRnZSEuc291cmNlX3BvaW50X2lkLFxuICApO1xuXG4gIHJldHVybiByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaChcbiAgICBmaXJzdFVwc3RyZWFtTGV2ZWwsXG4gICAgZWRnZXMsXG4gICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgIGFsbFVwc3RyZWFtRWRnZXMsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFVwc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIHVwc3RyZWFtRWRnZXM6IElFZGdlW10sXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICB1cHN0cmVhbUVkZ2VzLmZvckVhY2goKHVwc3RyZWFtRWRnZSkgPT4ge1xuICAgIGlmICh1cHN0cmVhbUVkZ2UpIHtcbiAgICAgIGxldCBzb3VyY2VQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQpID0+IHBvaW50LmlkID09PSB1cHN0cmVhbUVkZ2UhLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChzb3VyY2VQb2ludCkgZWRnZXNUb0RyYXcucHVzaCh1cHN0cmVhbUVkZ2UpO1xuICAgIH1cbiAgfSk7XG5cbiAgbGV0IGNvbm5lY3Rpb25FZGdlID0gZWRnZXMuZmluZChcbiAgICAoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQgPT09IHVwc3RyZWFtRWRnZXNbMF0udGFyZ2V0X3BvaW50X2lkLFxuICApO1xuICBpZiAoY29ubmVjdGlvbkVkZ2UgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChjb25uZWN0aW9uRWRnZSk7XG4gIHJldHVybiBlZGdlc1RvRHJhdztcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3ID0gKFxuICBmaXJzdEVkZ2U6IElFZGdlLFxuICBlZGdlczogSUVkZ2VbXSxcbiAgZG93bnN0cmVhbU5ldHdvcmssXG4gIGVkZ2VzVG9EcmF3LFxuKSA9PiB7XG4gIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKS5mb3JFYWNoKFxuICAgIChkb3duU3RyZWFtRWRnZSkgPT4ge1xuICAgICAgZWRnZXNUb0RyYXcucHVzaChkb3duU3RyZWFtRWRnZSk7XG4gICAgfSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoID0gKFxuICBkb3duc3RyZWFtTmV0d29yazogSUVkZ2VbXSxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgbGV0IGxhc3REb3duU3RyZWFtRWRnZSA9IGRvd25zdHJlYW1OZXR3b3JrW2Rvd25zdHJlYW1OZXR3b3JrLmxlbmd0aCAtIDFdO1xuXG4gIGlmIChuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbiAgfSBlbHNlIHtcbiAgICBuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgIGRvd25zdHJlYW1OZXR3b3JrLnB1c2goZWRnZSk7XG4gICAgICByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoKGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlcyk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZG93bnN0cmVhbU5ldHdvcms7XG59O1xuXG5leHBvcnQgY29uc3QgbmV4dExldmVsRG93blN0cmVhbSA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gZmlyc3RFZGdlLnRhcmdldF9wb2ludF9pZCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRWRnZXNGcm9tRXZlbnRQYXRoVG9EcmF3ID0gKFxuICBlZGdlc1RvRHJhdzogSUVkZ2VbXSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXJ0KSA9PiB7XG4gICAgbGV0IG1hdGNoZWRQYXJ0ID0gZWRnZXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gcGFydC5lZGdlX2lkKTtcbiAgICBpZiAobWF0Y2hlZFBhcnQgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChtYXRjaGVkUGFydCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGRyYXdOZXR3b3JrID0gKFxuICBlZGdlczogSUVkZ2VbXSxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZGlzcGF0Y2gsXG4gIG1hcCxcbiAgZXZlbnQsXG4gIGxheWVyR3JvdXAsXG4pID0+IHtcbiAgbGV0IGxhdGxuZ3M6IGFueSA9IFtdO1xuICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgZWRnZS5zaGFwZV9kYXRhLmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKFtkYXRhLmxhdCwgZGF0YS5sbmddKTtcbiAgICB9KTtcblxuICAgIGxldCBwb2x5bGluZUJhY2s6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjI3LDIyNywyMjcpJyxcbiAgICAgIHdlaWdodDogNixcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSk7XG4gICAgbGF5ZXJHcm91cC5hZGRMYXllcihwb2x5bGluZUJhY2spO1xuXG4gICAgbGV0IHRhaWxEYXNoID0gTC5wb2x5bGluZURlY29yYXRvcihwb2x5bGluZUJhY2suX2xhdGxuZ3MsIHtcbiAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgIC8vIGRlZmluZXMgYSBwYXR0ZXJuIG9mIDEwcHgtd2lkZSBkYXNoZXMsIHJlcGVhdGVkIGV2ZXJ5IDIwcHggb24gdGhlIGxpbmVcbiAgICAgICAge1xuICAgICAgICAgIG9mZnNldDogMTUsXG4gICAgICAgICAgcmVwZWF0OiAyNSxcbiAgICAgICAgICBzeW1ib2w6IEwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDAsMCwwKScsXG4gICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICAgIHRhaWxEYXNoWydrYW5kb19vYmplY3QnXSA9ICdEZWNvcmF0b3InO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIodGFpbERhc2gpO1xuXG4gICAgaWYgKHBvaW50cy5sZW5ndGggIT09IDApIHtcbiAgICAgIGxldCBzb3VyY2VQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2Uuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcbiAgICAgIGxldCB0YXJnZXRQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcbiAgICAgIGlmIChzb3VyY2VQb2ludCAhPT0gdW5kZWZpbmVkICYmIHRhcmdldFBvaW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcG9seWxpbmVCYWNrLmJpbmRQb3B1cChgRWRnZSBJRDogJHtlZGdlLmlkfSw8YnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZSBwb2ludDogJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSw8YnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCBwb2ludDogJHt0YXJnZXRQb2ludC5ncm91cC5uYW1lfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzdGFuY2U6ICR7ZWRnZS5kaXN0YW5jZX1gKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNvdXJjZVBvaW50KSBkcmF3TWFuaG9sZUljb24oc291cmNlUG9pbnQsIG1hcCk7XG4gICAgICBpZiAodGFyZ2V0UG9pbnQpIGRyYXdNYW5ob2xlSWNvbih0YXJnZXRQb2ludCwgbWFwKTtcbiAgICAgIGlmIChzb3VyY2VQb2ludCAmJiAoc291cmNlUG9pbnQuaGFzX2RldmljZSB8fCBwb2ludElzV1dUUChzb3VyY2VQb2ludCkpKVxuICAgICAgICBjcmVhdGVCdWJibGVQb2ludChcbiAgICAgICAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAgICAgICAgc291cmNlUG9pbnQsXG4gICAgICAgICAgbWFwLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgbGF5ZXJHcm91cCxcbiAgICAgICAgKTtcbiAgICAgIGlmICh0YXJnZXRQb2ludCAmJiAodGFyZ2V0UG9pbnQuaGFzX2RldmljZSB8fCBwb2ludElzV1dUUCh0YXJnZXRQb2ludCkpKVxuICAgICAgICBjcmVhdGVCdWJibGVQb2ludChcbiAgICAgICAgICBbdGFyZ2V0UG9pbnQubGF0aXR1ZGUsIHRhcmdldFBvaW50LmxvbmdpdHVkZV0sXG4gICAgICAgICAgdGFyZ2V0UG9pbnQsXG4gICAgICAgICAgbWFwLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgbGF5ZXJHcm91cCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdIb3ZlcmVkRWRnZSc7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnRm9jdXNlZEVkZ2UnO1xuXG4gICAgcG9seWxpbmVCYWNrLmJyaW5nVG9Gcm9udCgpO1xuICAgIHRhaWxEYXNoLmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgbGV0IHBvbHlsaW5lRnJvbnQ6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjksMjksMjkpJyxcbiAgICAgIHdlaWdodDogMSxcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSk7XG5cbiAgICBwb2x5bGluZUZyb250WydrYW5kb19vYmplY3RfaWQnXSA9IGVkZ2UuaWQ7XG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0hvdmVyZWRFZGdlRnJvbnQnO1xuICAgIGlmIChldmVudC5mb2N1c2VkKSBwb2x5bGluZUZyb250WydrYW5kb19vYmplY3QnXSA9ICdGb2N1c2VkRWRnZUZyb250JztcbiAgICBsYXllckdyb3VwLmFkZExheWVyKHBvbHlsaW5lRnJvbnQpO1xuXG4gICAgcG9seWxpbmVGcm9udC5icmluZ1RvRnJvbnQoKTtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZClcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICBsYXRsbmdzID0gW107XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuICBsYXllckdyb3VwLFxuKSA9PiB7XG4gIGxldCBlZGdlc1RvRHJhdzogSUVkZ2VbXSA9IFtdO1xuICBsZXQgZmlyc3RFZGdlID0gZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGgoZWRnZXMsIGV2ZW50KTtcblxuICBpZiAoZmlyc3RFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgZG93bnN0cmVhbU5ldHdvcms6IElFZGdlW10gPSBbZmlyc3RFZGdlXTtcbiAgICBsZXQgdXBzdHJlYW1FZGdlcyA9IGdldFVwc3RyZWFtRWRnZXMoZmlyc3RFZGdlLCBlZGdlcyk7XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgIGlmICh1cHN0cmVhbUVkZ2VzLmxlbmd0aCAhPT0gMClcbiAgICAgIGZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3KHVwc3RyZWFtRWRnZXMsIGVkZ2VzVG9EcmF3LCBwb2ludHMsIGVkZ2VzKTtcbiAgICBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3KGZpcnN0RWRnZSwgZWRnZXMsIGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlc1RvRHJhdyk7XG4gIH1cblxuICBkcmF3TmV0d29yayhlZGdlc1RvRHJhdywgcG9pbnRzLCBkaXNwYXRjaCwgbWFwLCBldmVudCwgbGF5ZXJHcm91cCk7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc09ic2VydmF0aW9uID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIGV2ZW50Lm9ic2VydmF0aW9ucy5maW5kKChvYnMpID0+IG9icy5wb2ludF9pZCA9PT0gcG9pbnQuaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNXV1RQID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc7XG59O1xuIl19
254
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRVdGlscy50cyJdLCJuYW1lcyI6WyJkcmF3TWFuaG9sZUljb24iLCJzb3VyY2VQb2ludCIsIm1hcCIsInBvaW50SWNvbiIsIkwiLCJpY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIm1hcmtlciIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJpZCIsImdldEZpcnN0RWRnZU9mRXZlbnRQYXRoIiwiZWRnZXMiLCJldmVudCIsInBhdGgiLCJ1bmRlZmluZWQiLCJmaW5kIiwiZWRnZSIsImVkZ2VfaWQiLCJmaW5kRWRnZXMiLCJuZXh0VXBzdHJlYW1MZXZlbElkcyIsImZpbHRlciIsImluY2x1ZGVzIiwidGFyZ2V0X3BvaW50X2lkIiwicmVjdXJzaXZlVXBzdHJlYW1TZWFyY2giLCJuZXh0TGV2ZWwiLCJtYXBBbGxFZGdlc05lc3RpbmciLCJhbGxVcHN0cmVhbUVkZ2VzIiwic291cmNlX3BvaW50X2lkIiwibGVuZ3RoIiwicHVzaCIsIm1hcHBlZCIsImZvckVhY2giLCJnZXRVcHN0cmVhbUVkZ2VzIiwiZmlyc3RFZGdlIiwiZmlyc3RVcHN0cmVhbUxldmVsIiwiZmluZFVwc3RyZWFtRWRnZXNUb0RyYXciLCJ1cHN0cmVhbUVkZ2VzIiwiZWRnZXNUb0RyYXciLCJwb2ludHMiLCJ1cHN0cmVhbUVkZ2UiLCJwb2ludCIsImNvbm5lY3Rpb25FZGdlIiwiZmluZERvd25zdHJlYW1FZGdlc1RvRHJhdyIsImRvd25zdHJlYW1OZXR3b3JrIiwicmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaCIsImRvd25TdHJlYW1FZGdlIiwibGFzdERvd25TdHJlYW1FZGdlIiwibmV4dExldmVsRG93blN0cmVhbSIsImZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXciLCJwYXJ0IiwibWF0Y2hlZFBhcnQiLCJkcmF3TmV0d29yayIsImRpc3BhdGNoIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJkYXRhIiwibGF0IiwibG5nIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJ0YWlsRGFzaCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsIlN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsInRhcmdldFBvaW50IiwiYmluZFBvcHVwIiwiZGlzdGFuY2UiLCJoYXNfZGV2aWNlIiwicG9pbnRJc1dXVFAiLCJob3ZlcmVkIiwiZm9jdXNlZCIsImJyaW5nVG9Gcm9udCIsInBvbHlsaW5lRnJvbnQiLCJmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzIiwicG9pbnRJc09ic2VydmF0aW9uIiwib2JzZXJ2YXRpb25zIiwib2JzIiwicG9pbnRfaWQiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFDQTs7QUFFTyxJQUFNQSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNDLFdBQUQsRUFBc0JDLEdBQXRCLEVBQXFDO0FBQ2xFLE1BQUlDLFNBQVMsR0FBR0MsaUJBQUVDLElBQUYsQ0FBTztBQUNyQkMsSUFBQUEsT0FBTyxFQUFFQyxtQkFEWTtBQUVyQkMsSUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGVztBQUdyQkMsSUFBQUEsVUFBVSxFQUFFLENBQUMsR0FBRCxFQUFNLEdBQU47QUFIUyxHQUFQLENBQWhCOztBQU1BLE1BQUlDLFdBQWdCLEdBQUdOLGlCQUFFTyxNQUFGLENBQ3JCLENBQUNWLFdBQVcsQ0FBQ1csUUFBYixFQUF1QlgsV0FBVyxDQUFDWSxTQUFuQyxDQURx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QXRDLENBQXpCO0FBQ0Q7O0FBRURjLEVBQUFBLFdBQVcsQ0FBQ2QsV0FBRCxFQUFjQyxNQUFkLEVBQXNCYyxRQUF0QixFQUFnQzdELEdBQWhDLEVBQXFDcUIsS0FBckMsQ0FBWDtBQUNELENBcEJNOzs7O0FBc0JBLElBQU0wRSxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQXFCLENBQUMxRSxLQUFELEVBQWdCNEIsS0FBaEIsRUFBa0M7QUFDbEUsU0FBTzVCLEtBQUssQ0FBQzJFLFlBQU4sQ0FBbUJ4RSxJQUFuQixDQUF3QixVQUFDeUUsR0FBRDtBQUFBLFdBQVNBLEdBQUcsQ0FBQ0MsUUFBSixLQUFpQmpELEtBQUssQ0FBQy9CLEVBQWhDO0FBQUEsR0FBeEIsQ0FBUDtBQUNELENBRk07Ozs7QUFJQSxJQUFNdUUsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQ3hDLEtBQUQsRUFBbUI7QUFDNUMsU0FBT0EsS0FBSyxDQUFDbEMsS0FBTixDQUFZb0YsSUFBWixLQUFxQixrQ0FBNUI7QUFDRCxDQUZNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdsZWFmbGV0LXBvbHlsaW5lZGVjb3JhdG9yJztcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgY3JlYXRlQnViYmxlUG9pbnQgfSBmcm9tICcuLi9wb2ludHMvUG9pbnRVdGlscyc7XG5cbmV4cG9ydCBjb25zdCBkcmF3TWFuaG9sZUljb24gPSAoc291cmNlUG9pbnQ6IElQb2ludCwgbWFwOiBMLk1hcCkgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgaWNvbkFuY2hvcjogWzQuNSwgNC41XSxcbiAgfSk7XG5cbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihcbiAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAge1xuICAgICAgaWNvbjogcG9pbnRJY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gICAgfSxcbiAgKS5hZGRUbyhtYXApO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChcbiAgICBgJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSAoJHtzb3VyY2VQb2ludC5ncm91cC5zZWN0b3JfbmFtZX0pYCxcbiAgKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gc291cmNlUG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdVcHN0cmVhbVBvaW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCA9IChlZGdlczogSUVkZ2VbXSwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBpZiAoZXZlbnQucGF0aFswXSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBldmVudC5wYXRoWzBdLmVkZ2VfaWQpO1xufTtcblxuY29uc3QgZmluZEVkZ2VzID0gKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKChlZGdlOiBJRWRnZSkgPT5cbiAgICBuZXh0VXBzdHJlYW1MZXZlbElkcy5pbmNsdWRlcyhlZGdlLnRhcmdldF9wb2ludF9pZCksXG4gICk7XG59O1xuXG5jb25zdCByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCA9IChcbiAgbmV4dExldmVsLFxuICBlZGdlcyxcbiAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICBhbGxVcHN0cmVhbUVkZ2VzLFxuKSA9PiB7XG4gIGxldCBuZXh0VXBzdHJlYW1MZXZlbElkcyA9IG5leHRMZXZlbC5tYXAoKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgaWYgKGZpbmRFZGdlcyhlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoW25leHRMZXZlbF0pO1xuICB9IGVsc2Uge1xuICAgIGFsbFVwc3RyZWFtRWRnZXMucHVzaChmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSk7XG4gICAgcmVjdXJzaXZlVXBzdHJlYW1TZWFyY2goXG4gICAgICBmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSxcbiAgICAgIGVkZ2VzLFxuICAgICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG1hcEFsbEVkZ2VzTmVzdGluZyhhbGxVcHN0cmVhbUVkZ2VzKTtcbn07XG5cbmNvbnN0IG1hcEFsbEVkZ2VzTmVzdGluZyA9IChhbGxVcHN0cmVhbUVkZ2VzKSA9PiB7XG4gIGxldCBtYXBwZWQ6IGFueVtdID0gW107XG4gIGFsbFVwc3RyZWFtRWRnZXMuZm9yRWFjaCgoZWRnZXMpID0+IHtcbiAgICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgICBtYXBwZWQucHVzaChlZGdlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1hcHBlZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVcHN0cmVhbUVkZ2VzID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIGxldCBhbGxVcHN0cmVhbUVkZ2VzOiBhbnlbXSA9IFtdO1xuICBsZXQgZmlyc3RVcHN0cmVhbUxldmVsOiBJRWRnZVtdID0gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnRhcmdldF9wb2ludF9pZCA9PT0gZmlyc3RFZGdlIS5zb3VyY2VfcG9pbnRfaWQsXG4gICk7XG5cbiAgcmV0dXJuIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgIGZpcnN0VXBzdHJlYW1MZXZlbCxcbiAgICBlZGdlcyxcbiAgICBtYXBBbGxFZGdlc05lc3RpbmcsXG4gICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyA9IChcbiAgdXBzdHJlYW1FZGdlczogSUVkZ2VbXSxcbiAgZWRnZXNUb0RyYXc6IElFZGdlW10sXG4gIHBvaW50czogSVBvaW50W10sXG4gIGVkZ2VzOiBJRWRnZVtdLFxuKSA9PiB7XG4gIHVwc3RyZWFtRWRnZXMuZm9yRWFjaCgodXBzdHJlYW1FZGdlKSA9PiB7XG4gICAgaWYgKHVwc3RyZWFtRWRnZSkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludCkgPT4gcG9pbnQuaWQgPT09IHVwc3RyZWFtRWRnZSEuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHNvdXJjZVBvaW50KSBlZGdlc1RvRHJhdy5wdXNoKHVwc3RyZWFtRWRnZSk7XG4gICAgfVxuICB9KTtcblxuICBsZXQgY29ubmVjdGlvbkVkZ2UgPSBlZGdlcy5maW5kKFxuICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gdXBzdHJlYW1FZGdlc1swXS50YXJnZXRfcG9pbnRfaWQsXG4gICk7XG4gIGlmIChjb25uZWN0aW9uRWRnZSAhPT0gdW5kZWZpbmVkKSBlZGdlc1RvRHJhdy5wdXNoKGNvbm5lY3Rpb25FZGdlKTtcbiAgcmV0dXJuIGVkZ2VzVG9EcmF3O1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmREb3duc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIGZpcnN0RWRnZTogSUVkZ2UsXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBkb3duc3RyZWFtTmV0d29yayxcbiAgZWRnZXNUb0RyYXcsXG4pID0+IHtcbiAgcmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaChkb3duc3RyZWFtTmV0d29yaywgZWRnZXMpLmZvckVhY2goXG4gICAgKGRvd25TdHJlYW1FZGdlKSA9PiB7XG4gICAgICBlZGdlc1RvRHJhdy5wdXNoKGRvd25TdHJlYW1FZGdlKTtcbiAgICB9LFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2ggPSAoXG4gIGRvd25zdHJlYW1OZXR3b3JrOiBJRWRnZVtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBsZXQgbGFzdERvd25TdHJlYW1FZGdlID0gZG93bnN0cmVhbU5ldHdvcmtbZG93bnN0cmVhbU5ldHdvcmsubGVuZ3RoIC0gMV07XG5cbiAgaWYgKG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGRvd25zdHJlYW1OZXR3b3JrO1xuICB9IGVsc2Uge1xuICAgIG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgZG93bnN0cmVhbU5ldHdvcmsucHVzaChlZGdlKTtcbiAgICAgIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbn07XG5cbmV4cG9ydCBjb25zdCBuZXh0TGV2ZWxEb3duU3RyZWFtID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIHJldHVybiBlZGdlcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBmaXJzdEVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXcgPSAoXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBldmVudC5wYXRoLmZvckVhY2goKHBhcnQpID0+IHtcbiAgICBsZXQgbWF0Y2hlZFBhcnQgPSBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBwYXJ0LmVkZ2VfaWQpO1xuICAgIGlmIChtYXRjaGVkUGFydCAhPT0gdW5kZWZpbmVkKSBlZGdlc1RvRHJhdy5wdXNoKG1hdGNoZWRQYXJ0KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZHJhd05ldHdvcmsgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuICBldmVudCxcbikgPT4ge1xuICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gIGVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICBsYXRsbmdzLnB1c2goW2RhdGEubGF0LCBkYXRhLmxuZ10pO1xuICAgIH0pO1xuXG4gICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyMjcsMjI3LDIyNyknLFxuICAgICAgd2VpZ2h0OiA2LFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgbGV0IHRhaWxEYXNoID0gTC5wb2x5bGluZURlY29yYXRvcihwb2x5bGluZUJhY2suX2xhdGxuZ3MsIHtcbiAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgIC8vIGRlZmluZXMgYSBwYXR0ZXJuIG9mIDEwcHgtd2lkZSBkYXNoZXMsIHJlcGVhdGVkIGV2ZXJ5IDIwcHggb24gdGhlIGxpbmVcbiAgICAgICAge1xuICAgICAgICAgIG9mZnNldDogMTUsXG4gICAgICAgICAgcmVwZWF0OiAyNSxcbiAgICAgICAgICBzeW1ib2w6IEwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDAsMCwwKScsXG4gICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgdGFpbERhc2hbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG5cbiAgICBpZiAocG9pbnRzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS5zb3VyY2VfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgbGV0IHRhcmdldFBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICE9PSB1bmRlZmluZWQgJiYgdGFyZ2V0UG9pbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIHBvaW50OiAke3NvdXJjZVBvaW50Lmdyb3VwLm5hbWV9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0IHBvaW50OiAke3RhcmdldFBvaW50Lmdyb3VwLm5hbWV9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuICAgICAgfVxuXG4gICAgICBpZiAoc291cmNlUG9pbnQpIGRyYXdNYW5ob2xlSWNvbihzb3VyY2VQb2ludCwgbWFwKTtcbiAgICAgIGlmICh0YXJnZXRQb2ludCkgZHJhd01hbmhvbGVJY29uKHRhcmdldFBvaW50LCBtYXApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICYmIChzb3VyY2VQb2ludC5oYXNfZGV2aWNlIHx8IHBvaW50SXNXV1RQKHNvdXJjZVBvaW50KSkpXG4gICAgICAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgICAgICAgIFtzb3VyY2VQb2ludC5sYXRpdHVkZSwgc291cmNlUG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgICAgICBzb3VyY2VQb2ludCxcbiAgICAgICAgICBtYXAsXG4gICAgICAgICk7XG4gICAgICBpZiAodGFyZ2V0UG9pbnQgJiYgKHRhcmdldFBvaW50Lmhhc19kZXZpY2UgfHwgcG9pbnRJc1dXVFAodGFyZ2V0UG9pbnQpKSlcbiAgICAgICAgY3JlYXRlQnViYmxlUG9pbnQoXG4gICAgICAgICAgW3RhcmdldFBvaW50LmxhdGl0dWRlLCB0YXJnZXRQb2ludC5sb25naXR1ZGVdLFxuICAgICAgICAgIHRhcmdldFBvaW50LFxuICAgICAgICAgIG1hcCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdIb3ZlcmVkRWRnZSc7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnRm9jdXNlZEVkZ2UnO1xuXG4gICAgcG9seWxpbmVCYWNrLmJyaW5nVG9Gcm9udCgpO1xuICAgIHRhaWxEYXNoLmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgbGV0IHBvbHlsaW5lRnJvbnQ6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjksMjksMjkpJyxcbiAgICAgIHdlaWdodDogMSxcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSkuYWRkVG8obWFwKTtcblxuICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnSG92ZXJlZEVkZ2VGcm9udCc7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0ZvY3VzZWRFZGdlRnJvbnQnO1xuXG4gICAgcG9seWxpbmVGcm9udC5icmluZ1RvRnJvbnQoKTtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZClcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICBsYXRsbmdzID0gW107XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuKSA9PiB7XG4gIGxldCBlZGdlc1RvRHJhdzogSUVkZ2VbXSA9IFtdO1xuICBsZXQgZmlyc3RFZGdlID0gZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGgoZWRnZXMsIGV2ZW50KTtcblxuICBpZiAoZmlyc3RFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgZG93bnN0cmVhbU5ldHdvcms6IElFZGdlW10gPSBbZmlyc3RFZGdlXTtcbiAgICBsZXQgdXBzdHJlYW1FZGdlcyA9IGdldFVwc3RyZWFtRWRnZXMoZmlyc3RFZGdlLCBlZGdlcyk7XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgIGlmICh1cHN0cmVhbUVkZ2VzLmxlbmd0aCAhPT0gMClcbiAgICAgIGZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3KHVwc3RyZWFtRWRnZXMsIGVkZ2VzVG9EcmF3LCBwb2ludHMsIGVkZ2VzKTtcbiAgICBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3KGZpcnN0RWRnZSwgZWRnZXMsIGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlc1RvRHJhdyk7XG4gIH1cblxuICBkcmF3TmV0d29yayhlZGdlc1RvRHJhdywgcG9pbnRzLCBkaXNwYXRjaCwgbWFwLCBldmVudCk7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc09ic2VydmF0aW9uID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIGV2ZW50Lm9ic2VydmF0aW9ucy5maW5kKChvYnMpID0+IG9icy5wb2ludF9pZCA9PT0gcG9pbnQuaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNXV1RQID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc7XG59O1xuIl19
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  var _typeof = require("@babel/runtime/helpers/typeof");
6
4
 
7
5
  Object.defineProperty(exports, "__esModule", {
@@ -9,8 +7,6 @@ Object.defineProperty(exports, "__esModule", {
9
7
  });
10
8
  exports.NetworkForSpecificEvent = void 0;
11
9
 
12
- var _leaflet = _interopRequireDefault(require("leaflet"));
13
-
14
10
  var _react = _interopRequireWildcard(require("react"));
15
11
 
16
12
  var _reactRedux = require("react-redux");
@@ -43,10 +39,7 @@ var NetworkForSpecificEvent = function NetworkForSpecificEvent(_ref) {
43
39
  };
44
40
 
45
41
  (0, _react.useEffect)(function () {
46
- var layerGroup = _leaflet.default.layerGroup();
47
-
48
- (0, _EventUtils.findAndDrawEventNetworkEdges)(edges, event, points, dispatch, map, layerGroup);
49
- layerGroup.addTo(map);
42
+ (0, _EventUtils.findAndDrawEventNetworkEdges)(edges, event, points, dispatch, map);
50
43
  return function cleanup() {
51
44
  cleanupLogic();
52
45
  };
@@ -55,4 +48,4 @@ var NetworkForSpecificEvent = function NetworkForSpecificEvent(_ref) {
55
48
  };
56
49
 
57
50
  exports.NetworkForSpecificEvent = NetworkForSpecificEvent;
58
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvTmV0d29ya0ZvclNwZWNpZmljRXZlbnQudHN4Il0sIm5hbWVzIjpbIk5ldHdvcmtGb3JTcGVjaWZpY0V2ZW50IiwiZXZlbnQiLCJlZGdlcyIsInBvaW50cyIsIm1hcCIsImRpc3BhdGNoIiwiY2xlYW51cExvZ2ljIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5Iiwia2FuZG9fb2JqZWN0IiwidW5kZWZpbmVkIiwicmVtb3ZlTGF5ZXIiLCJsYXllckdyb3VwIiwiTCIsImFkZFRvIiwiY2xlYW51cCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFJQTs7Ozs7O0FBUkE7QUFpQk8sSUFBTUEsdUJBQXlDLEdBQUcsU0FBNUNBLHVCQUE0QyxPQUtuRDtBQUFBLE1BSkpDLEtBSUksUUFKSkEsS0FJSTtBQUFBLE1BSEpDLEtBR0ksUUFISkEsS0FHSTtBQUFBLE1BRkpDLE1BRUksUUFGSkEsTUFFSTtBQUFBLE1BREpDLEdBQ0ksUUFESkEsR0FDSTtBQUNKLE1BQU1DLFFBQVEsR0FBRyw4QkFBakI7O0FBQ0EsTUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQWUsR0FBTTtBQUN6QkQsSUFBQUEsUUFBUSxDQUFDLGtDQUFvQixFQUFwQixDQUFELENBQVI7QUFDQSxRQUFJRSxNQUFNLEdBQUdILEdBQUcsQ0FBQ0ksT0FBakI7O0FBQ0EsU0FBSyxJQUFNQyxRQUFYLElBQXVCRixNQUF2QixFQUErQjtBQUM3QixVQUNFQSxNQUFNLENBQUNFLFFBQUQsQ0FBTixDQUFpQkMsWUFBakIsS0FBa0NDLFNBQWxDLEtBQ0NKLE1BQU0sQ0FBQ0UsUUFBRCxDQUFOLENBQWlCQyxZQUFqQixLQUFrQyxlQUFsQyxJQUNDSCxNQUFNLENBQUNFLFFBQUQsQ0FBTixDQUFpQkMsWUFBakIsS0FBa0MsT0FGcEMsQ0FERixFQUlFO0FBQ0FOLFFBQUFBLEdBQUcsQ0FBQ1EsV0FBSixDQUFnQkwsTUFBTSxDQUFDRSxRQUFELENBQXRCO0FBQ0Q7QUFDRjtBQUNGLEdBWkQ7O0FBY0Esd0JBQVUsWUFBTTtBQUNkLFFBQUlJLFVBQVUsR0FBR0MsaUJBQUVELFVBQUYsRUFBakI7O0FBQ0Esa0RBQ0VYLEtBREYsRUFFRUQsS0FGRixFQUdFRSxNQUhGLEVBSUVFLFFBSkYsRUFLRUQsR0FMRixFQU1FUyxVQU5GO0FBUUFBLElBQUFBLFVBQVUsQ0FBQ0UsS0FBWCxDQUFpQlgsR0FBakI7QUFFQSxXQUFPLFNBQVNZLE9BQVQsR0FBbUI7QUFDeEJWLE1BQUFBLFlBQVk7QUFDYixLQUZEO0FBR0QsR0FmRCxFQWVHLENBQUNMLEtBQUQsQ0FmSDtBQWlCQSxzQkFBTywyREFBUDtBQUNELENBdkNNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IEwsIHsgTWFwIGFzIExlYWZsZXRNYXAgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IGZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMgfSBmcm9tICcuL0V2ZW50VXRpbHMnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgZWRnZXM6IElFZGdlW107XG4gIHBvaW50czogSVBvaW50W107XG4gIG1hcDogTGVhZmxldE1hcCB8IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBOZXR3b3JrRm9yU3BlY2lmaWNFdmVudDogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gIGV2ZW50LFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBtYXAsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgY2xlYW51cExvZ2ljID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW10pKTtcbiAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAobGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdVcHN0cmVhbVBvaW50JyB8fFxuICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnUG9pbnQnKVxuICAgICAgKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihsYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgbGF5ZXJHcm91cCA9IEwubGF5ZXJHcm91cCgpO1xuICAgIGZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMoXG4gICAgICBlZGdlcyxcbiAgICAgIGV2ZW50LFxuICAgICAgcG9pbnRzLFxuICAgICAgZGlzcGF0Y2gsXG4gICAgICBtYXAsXG4gICAgICBsYXllckdyb3VwLFxuICAgICk7XG4gICAgbGF5ZXJHcm91cC5hZGRUbyhtYXApO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBjbGVhbnVwTG9naWMoKTtcbiAgICB9O1xuICB9LCBbZXZlbnRdKTtcblxuICByZXR1cm4gPD48Lz47XG59O1xuIl19
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvTmV0d29ya0ZvclNwZWNpZmljRXZlbnQudHN4Il0sIm5hbWVzIjpbIk5ldHdvcmtGb3JTcGVjaWZpY0V2ZW50IiwiZXZlbnQiLCJlZGdlcyIsInBvaW50cyIsIm1hcCIsImRpc3BhdGNoIiwiY2xlYW51cExvZ2ljIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5Iiwia2FuZG9fb2JqZWN0IiwidW5kZWZpbmVkIiwicmVtb3ZlTGF5ZXIiLCJjbGVhbnVwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFJQTs7Ozs7O0FBUkE7QUFpQk8sSUFBTUEsdUJBQXlDLEdBQUcsU0FBNUNBLHVCQUE0QyxPQUtuRDtBQUFBLE1BSkpDLEtBSUksUUFKSkEsS0FJSTtBQUFBLE1BSEpDLEtBR0ksUUFISkEsS0FHSTtBQUFBLE1BRkpDLE1BRUksUUFGSkEsTUFFSTtBQUFBLE1BREpDLEdBQ0ksUUFESkEsR0FDSTtBQUNKLE1BQU1DLFFBQVEsR0FBRyw4QkFBakI7O0FBQ0EsTUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQWUsR0FBTTtBQUN6QkQsSUFBQUEsUUFBUSxDQUFDLGtDQUFvQixFQUFwQixDQUFELENBQVI7QUFDQSxRQUFJRSxNQUFNLEdBQUdILEdBQUcsQ0FBQ0ksT0FBakI7O0FBQ0EsU0FBSyxJQUFNQyxRQUFYLElBQXVCRixNQUF2QixFQUErQjtBQUM3QixVQUNFQSxNQUFNLENBQUNFLFFBQUQsQ0FBTixDQUFpQkMsWUFBakIsS0FBa0NDLFNBQWxDLEtBQ0NKLE1BQU0sQ0FBQ0UsUUFBRCxDQUFOLENBQWlCQyxZQUFqQixLQUFrQyxlQUFsQyxJQUNDSCxNQUFNLENBQUNFLFFBQUQsQ0FBTixDQUFpQkMsWUFBakIsS0FBa0MsT0FGcEMsQ0FERixFQUlFO0FBQ0FOLFFBQUFBLEdBQUcsQ0FBQ1EsV0FBSixDQUFnQkwsTUFBTSxDQUFDRSxRQUFELENBQXRCO0FBQ0Q7QUFDRjtBQUNGLEdBWkQ7O0FBY0Esd0JBQVUsWUFBTTtBQUNkLGtEQUE2QlAsS0FBN0IsRUFBb0NELEtBQXBDLEVBQTJDRSxNQUEzQyxFQUFtREUsUUFBbkQsRUFBNkRELEdBQTdEO0FBRUEsV0FBTyxTQUFTUyxPQUFULEdBQW1CO0FBQ3hCUCxNQUFBQSxZQUFZO0FBQ2IsS0FGRDtBQUdELEdBTkQsRUFNRyxDQUFDTCxLQUFELENBTkg7QUFRQSxzQkFBTywyREFBUDtBQUNELENBOUJNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgTWFwIGFzIExlYWZsZXRNYXAgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IGZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMgfSBmcm9tICcuL0V2ZW50VXRpbHMnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgZWRnZXM6IElFZGdlW107XG4gIHBvaW50czogSVBvaW50W107XG4gIG1hcDogTGVhZmxldE1hcCB8IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBOZXR3b3JrRm9yU3BlY2lmaWNFdmVudDogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gIGV2ZW50LFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBtYXAsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgY2xlYW51cExvZ2ljID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW10pKTtcbiAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAobGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdVcHN0cmVhbVBvaW50JyB8fFxuICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnUG9pbnQnKVxuICAgICAgKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihsYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzKGVkZ2VzLCBldmVudCwgcG9pbnRzLCBkaXNwYXRjaCwgbWFwKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgY2xlYW51cExvZ2ljKCk7XG4gICAgfTtcbiAgfSwgW2V2ZW50XSk7XG5cbiAgcmV0dXJuIDw+PC8+O1xufTtcbiJdfQ==
@@ -23,14 +23,14 @@ var _jquery = _interopRequireDefault(require("jquery"));
23
23
 
24
24
  var _actions = require("../../../store/global/actions");
25
25
 
26
- var _leaflet = _interopRequireDefault(require("leaflet"));
27
-
28
26
  var _reactRedux = require("react-redux");
29
27
 
30
28
  var _useRemoveExistingLayers = require("../../../hooks/useRemoveExistingLayers");
31
29
 
32
30
  var _EventUtils = require("./EventUtils");
33
31
 
32
+ var _MapUtils = require("../MapUtils");
33
+
34
34
  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); }
35
35
 
36
36
  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; }
@@ -105,23 +105,20 @@ var PointOfEvent = function PointOfEvent(_ref) {
105
105
 
106
106
  (0, _react.useEffect)(function () {
107
107
  var markerLocation = [point['latitude'], point['longitude']];
108
-
109
- var layerGroup = _leaflet.default.layerGroup();
110
-
111
- (0, _PointUtils.createManholePoint)(markerLocation, point, map, event.hovered, layerGroup);
112
- if (point.has_device || (0, _EventUtils.pointIsObservation)(event, point) || (0, _EventUtils.pointIsWWTP)(point)) (0, _PointUtils.createBubblePoint)(markerLocation, point, map, event.hovered, layerGroup);
113
- if (event.focused) (0, _PointUtils.createSamplingIcons)(markerLocation, event, point, map, event.hovered, layerGroup);
108
+ (0, _PointUtils.createManholePoint)(markerLocation, point, map, event.hovered);
109
+ if (point.has_device || (0, _EventUtils.pointIsObservation)(event, point) || (0, _EventUtils.pointIsWWTP)(point)) (0, _PointUtils.createBubblePoint)(markerLocation, point, map, event.hovered);
110
+ if (event.focused) (0, _PointUtils.createSamplingIcons)(markerLocation, event, point, map, event.hovered);
114
111
  var hasPrimaryIcon = (0, _PointUtils.matchIconToPoint)(point, event) !== null;
115
112
 
116
113
  if ((0, _EventUtils.pointIsObservation)(event, point) && event.focused) {
117
- (0, _PointUtils.createObservationIconPoint)(markerLocation, hasPrimaryIcon, map, point, event, event.hovered, layerGroup);
114
+ (0, _PointUtils.createObservationIconPoint)(markerLocation, hasPrimaryIcon, map, point, event, event.hovered);
118
115
  }
119
116
 
120
- layerGroup.addTo(map);
121
117
  var obs = event.observations.filter(function (obs) {
122
118
  return obs.point_id === point.id;
123
119
  })[0];
124
- if (obs !== undefined && event.focused) bindPopupToPoint(obs); // iconZoomControl(map);
120
+ if (obs !== undefined && event.focused) bindPopupToPoint(obs);
121
+ (0, _MapUtils.iconZoomControl)(map);
125
122
 
126
123
  if (event.hovered) {
127
124
  return function cleanup() {
@@ -145,4 +142,4 @@ var PointOfEvent = function PointOfEvent(_ref) {
145
142
  };
146
143
 
147
144
  exports.PointOfEvent = PointOfEvent;
148
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvUG9pbnRPZkV2ZW50LnRzeCJdLCJuYW1lcyI6WyJQb2ludE9mRXZlbnQiLCJtYXAiLCJwb2ludCIsImV2ZW50IiwiZGlzcGF0Y2giLCJiaW5kUG9wdXBUb1BvaW50Iiwib2JzIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5IiwiaW5jbHVkZXMiLCJrYW5kb19vYmplY3QiLCJrYW5kb19vYmplY3RfaWQiLCJpZCIsImJpbmRQb3B1cCIsIm1pbldpZHRoIiwib24iLCJlIiwiZmlyc3RTZWVuIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwibGFzdFNlZW4iLCJzZWN0b3IiLCJSZWFjdERPTSIsInJlbmRlciIsInN0YXJ0X3RpbWUiLCJ0aW1lX3pvbmUiLCJsYXN0X3NlZW5fdGltZSIsImdyb3VwIiwic2VjdG9yX25hbWUiLCJzZWN0b3JfaWNvbl9uYW1lIiwic2V0VGltZW91dCIsImFwcGVuZCIsImF0dGFjaENsaWNrRXZlbnQiLCJzZWxlY3RvciIsIm9ic2VydmF0aW9uIiwiYm9keSIsIm9wZW5Qb3B1cCIsIm1hcmtlckxvY2F0aW9uIiwibGF5ZXJHcm91cCIsIkwiLCJob3ZlcmVkIiwiaGFzX2RldmljZSIsImZvY3VzZWQiLCJoYXNQcmltYXJ5SWNvbiIsImFkZFRvIiwib2JzZXJ2YXRpb25zIiwiZmlsdGVyIiwicG9pbnRfaWQiLCJ1bmRlZmluZWQiLCJjbGVhbnVwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQVFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUlBOztBQUdBOztBQUNBOztBQUNBOzs7Ozs7QUFRTyxJQUFNQSxZQUE4QixHQUFHLFNBQWpDQSxZQUFpQyxPQUEyQjtBQUFBLE1BQXhCQyxHQUF3QixRQUF4QkEsR0FBd0I7QUFBQSxNQUFuQkMsS0FBbUIsUUFBbkJBLEtBQW1CO0FBQUEsTUFBWkMsS0FBWSxRQUFaQSxLQUFZO0FBQ3ZFLE1B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Q0FBQ0MsS0FBRCxFQUFRQSxLQUFLLENBQUN3QyxPQUFkLENBdkRIO0FBeURBLHNCQUFPLDJEQUFQO0FBQ0QsQ0FoSU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgY3JlYXRlQnViYmxlUG9pbnQsXG4gIGNyZWF0ZU1hbmhvbGVQb2ludCxcbiAgY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQsXG4gIGNyZWF0ZVNhbXBsaW5nSWNvbnMsXG4gIG1hdGNoSWNvblRvUG9pbnQsXG4gIHBvcHVwQ29udGVudCxcbn0gZnJvbSAnLi4vcG9pbnRzL1BvaW50VXRpbHMnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgVGltZUZvcm1hdCBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvVGltZUZvcm1hdCc7XG5pbXBvcnQgU2VjdG9yIGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VjdG9yJztcbmltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQge1xuICBjbG9zZUZsb2F0aW5nR3JhcGgsXG4gIG9wZW5GbG9hdGluZ0dyYXBoLFxufSBmcm9tICcuLi8uLi8uLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyByZW1vdmVGcm9tTWFwIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMnO1xuaW1wb3J0IHsgcG9pbnRJc09ic2VydmF0aW9uLCBwb2ludElzV1dUUCB9IGZyb20gJy4vRXZlbnRVdGlscyc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgcG9pbnQ6IElQb2ludDtcbiAgZXZlbnQ6IElFdmVudDtcbn07XG5cbmV4cG9ydCBjb25zdCBQb2ludE9mRXZlbnQ6IFJlYWN0LkZDPElQcm9wcz4gPSAoeyBtYXAsIHBvaW50LCBldmVudCB9KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcblxuICBjb25zdCBiaW5kUG9wdXBUb1BvaW50ID0gKG9iczogYW55ID0gbnVsbCkgPT4ge1xuICAgIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgaWYgKFxuICAgICAgICBbJ1BvaW50JywgJ09ic2VydmF0aW9uJ10uaW5jbHVkZXMobGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QpICYmXG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0X2lkID09PSBwb2ludC5pZFxuICAgICAgKSB7XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0uYmluZFBvcHVwKHBvcHVwQ29udGVudChvYnMsIHBvaW50KSwge1xuICAgICAgICAgIG1pbldpZHRoOiAyMDAsXG4gICAgICAgIH0pO1xuICAgICAgICBsYXllcnNbcHJvcGVydHldLm9uKCdwb3B1cG9wZW4nLCBmdW5jdGlvbiAoZTogYW55KSB7XG4gICAgICAgICAgbGV0IGZpcnN0U2VlbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgIGxldCBsYXN0U2VlbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgIGxldCBzZWN0b3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgICAgICAgIGlmIChvYnMgIT09IG51bGwpIHtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e29icy5zdGFydF90aW1lfVxuICAgICAgICAgICAgICAgIHRpbWVfem9uZT17b2JzLnRpbWVfem9uZX1cbiAgICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICAgIGZpcnN0U2VlbixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICAgICAgICAgIDxUaW1lRm9ybWF0XG4gICAgICAgICAgICAgICAgdGltZXN0YW1wPXtvYnMubGFzdF9zZWVuX3RpbWV9XG4gICAgICAgICAgICAgICAgdGltZV96b25lPXtvYnMudGltZV96b25lfVxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgbGFzdFNlZW4sXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICAgICAgICAgIDxTZWN0b3JcbiAgICAgICAgICAgICAgICBzZWN0b3JOYW1lPXtwb2ludC5ncm91cC5zZWN0b3JfbmFtZX1cbiAgICAgICAgICAgICAgICBzZWN0b3JJY29uTmFtZT17cG9pbnQuZ3JvdXAuc2VjdG9yX2ljb25fbmFtZX1cbiAgICAgICAgICAgICAgICB3aWR0aD1cIjM3XCJcbiAgICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICAgIHNlY3RvcixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAkKCcjZmlyc3Qtc2Vlbi1wb3B1cCcpLmFwcGVuZChmaXJzdFNlZW4pO1xuICAgICAgICAgICAgJCgnI2xhc3Qtc2Vlbi1wb3B1cCcpLmFwcGVuZChsYXN0U2Vlbik7XG4gICAgICAgICAgICAkKCcjc2VjdG9yJykuYXBwZW5kKHNlY3Rvcik7XG4gICAgICAgICAgfSwgMjAwKTtcblxuICAgICAgICAgIGxldCBhdHRhY2hDbGlja0V2ZW50ID0gKHNlbGVjdG9yOiBzdHJpbmcsIG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICQoZG9jdW1lbnQuYm9keSkub24oJ2NsaWNrJywgc2VsZWN0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgZGlzcGF0Y2goY2xvc2VGbG9hdGluZ0dyYXBoKCkpO1xuICAgICAgICAgICAgICBkaXNwYXRjaChvcGVuRmxvYXRpbmdHcmFwaCh0cnVlLCBvYnNlcnZhdGlvbiwgcG9pbnQpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAob2JzICE9PSBudWxsKSB7XG4gICAgICAgICAgICBhdHRhY2hDbGlja0V2ZW50KCcucG9wdXAtZ3JhcGgtaWNvbi0nICsgb2JzLmlkLCBvYnMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhdHRhY2hDbGlja0V2ZW50KCcucG9wdXAtZ3JhcGgtaWNvbi0nICsgcG9pbnQuaWQsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub24oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub3BlblBvcHVwKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUgPSBbcG9pbnRbJ2xhdGl0dWRlJ10sIHBvaW50Wydsb25naXR1ZGUnXV07XG4gICAgbGV0IGxheWVyR3JvdXAgPSBMLmxheWVyR3JvdXAoKTtcbiAgICBjcmVhdGVNYW5ob2xlUG9pbnQobWFya2VyTG9jYXRpb24sIHBvaW50LCBtYXAsIGV2ZW50LmhvdmVyZWQsIGxheWVyR3JvdXApO1xuICAgIGlmIChcbiAgICAgIHBvaW50Lmhhc19kZXZpY2UgfHxcbiAgICAgIHBvaW50SXNPYnNlcnZhdGlvbihldmVudCwgcG9pbnQpIHx8XG4gICAgICBwb2ludElzV1dUUChwb2ludClcbiAgICApXG4gICAgICBjcmVhdGVCdWJibGVQb2ludChtYXJrZXJMb2NhdGlvbiwgcG9pbnQsIG1hcCwgZXZlbnQuaG92ZXJlZCwgbGF5ZXJHcm91cCk7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpXG4gICAgICBjcmVhdGVTYW1wbGluZ0ljb25zKFxuICAgICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIHBvaW50LFxuICAgICAgICBtYXAsXG4gICAgICAgIGV2ZW50LmhvdmVyZWQsXG4gICAgICAgIGxheWVyR3JvdXAsXG4gICAgICApO1xuICAgIGxldCBoYXNQcmltYXJ5SWNvbiA9IG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbDtcblxuICAgIGlmIChwb2ludElzT2JzZXJ2YXRpb24oZXZlbnQsIHBvaW50KSAmJiBldmVudC5mb2N1c2VkKSB7XG4gICAgICBjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludChcbiAgICAgICAgbWFya2VyTG9jYXRpb24sXG4gICAgICAgIGhhc1ByaW1hcnlJY29uLFxuICAgICAgICBtYXAsXG4gICAgICAgIHBvaW50LFxuICAgICAgICBldmVudCxcbiAgICAgICAgZXZlbnQuaG92ZXJlZCxcbiAgICAgICAgbGF5ZXJHcm91cCxcbiAgICAgICk7XG4gICAgfVxuICAgIGxheWVyR3JvdXAuYWRkVG8obWFwKTtcblxuICAgIGxldCBvYnMgPSBldmVudC5vYnNlcnZhdGlvbnMuZmlsdGVyKChvYnMpID0+IG9icy5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdO1xuICAgIGlmIChvYnMgIT09IHVuZGVmaW5lZCAmJiBldmVudC5mb2N1c2VkKSBiaW5kUG9wdXBUb1BvaW50KG9icyk7XG5cbiAgICAvLyBpY29uWm9vbUNvbnRyb2wobWFwKTtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICAgIC8vIFVOQklORCBQT1BVUFxuICAgICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdPYnNlcnZhdGlvbkhvdmVyZWQnKTtcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnUG9pbnRIb3ZlcmVkJyk7XG4gICAgICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ1NhbXBsaW5nSG92ZXJlZCcpO1xuICAgICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdJY29uTnVtYmVySG92ZXJlZCcpO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICAgIC8vIFVOQklORCBQT1BVUFxuICAgICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdPYnNlcnZhdGlvbicpO1xuICAgICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdQb2ludCcpO1xuICAgICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdTYW1wbGluZycpO1xuICAgICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdJY29uTnVtYmVyJyk7XG4gICAgICB9O1xuICAgIH1cbiAgfSwgW2V2ZW50LCBldmVudC5mb2N1c2VkXSk7XG5cbiAgcmV0dXJuIDw+PC8+O1xufTtcbiJdfQ==
145
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvUG9pbnRPZkV2ZW50LnRzeCJdLCJuYW1lcyI6WyJQb2ludE9mRXZlbnQiLCJtYXAiLCJwb2ludCIsImV2ZW50IiwiZGlzcGF0Y2giLCJiaW5kUG9wdXBUb1BvaW50Iiwib2JzIiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5IiwiaW5jbHVkZXMiLCJrYW5kb19vYmplY3QiLCJrYW5kb19vYmplY3RfaWQiLCJpZCIsImJpbmRQb3B1cCIsIm1pbldpZHRoIiwib24iLCJlIiwiZmlyc3RTZWVuIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwibGFzdFNlZW4iLCJzZWN0b3IiLCJSZWFjdERPTSIsInJlbmRlciIsInN0YXJ0X3RpbWUiLCJ0aW1lX3pvbmUiLCJsYXN0X3NlZW5fdGltZSIsImdyb3VwIiwic2VjdG9yX25hbWUiLCJzZWN0b3JfaWNvbl9uYW1lIiwic2V0VGltZW91dCIsImFwcGVuZCIsImF0dGFjaENsaWNrRXZlbnQiLCJzZWxlY3RvciIsIm9ic2VydmF0aW9uIiwiYm9keSIsIm9wZW5Qb3B1cCIsIm1hcmtlckxvY2F0aW9uIiwiaG92ZXJlZCIsImhhc19kZXZpY2UiLCJmb2N1c2VkIiwiaGFzUHJpbWFyeUljb24iLCJvYnNlcnZhdGlvbnMiLCJmaWx0ZXIiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsImNsZWFudXAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBUUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBT0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQVFPLElBQU1BLFlBQThCLEdBQUcsU0FBakNBLFlBQWlDLE9BQTJCO0FBQUEsTUFBeEJDLEdBQXdCLFFBQXhCQSxHQUF3QjtBQUFBLE1BQW5CQyxLQUFtQixRQUFuQkEsS0FBbUI7QUFBQSxNQUFaQyxLQUFZLFFBQVpBLEtBQVk7QUFDdkUsTUFBTUMsUUFBUSxHQUFHLDhCQUFqQjs7QUFF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e1xuICBjcmVhdGVCdWJibGVQb2ludCxcbiAgY3JlYXRlTWFuaG9sZVBvaW50LFxuICBjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCxcbiAgY3JlYXRlU2FtcGxpbmdJY29ucyxcbiAgbWF0Y2hJY29uVG9Qb2ludCxcbiAgcG9wdXBDb250ZW50LFxufSBmcm9tICcuLi9wb2ludHMvUG9pbnRVdGlscyc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9UaW1lRm9ybWF0JztcbmltcG9ydCBTZWN0b3IgZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWN0b3InO1xuaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCB7XG4gIGNsb3NlRmxvYXRpbmdHcmFwaCxcbiAgb3BlbkZsb2F0aW5nR3JhcGgsXG59IGZyb20gJy4uLy4uLy4uL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHJlbW92ZUZyb21NYXAgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZW1vdmVFeGlzdGluZ0xheWVycyc7XG5pbXBvcnQgeyBwb2ludElzT2JzZXJ2YXRpb24sIHBvaW50SXNXV1RQIH0gZnJvbSAnLi9FdmVudFV0aWxzJztcbmltcG9ydCB7IGljb25ab29tQ29udHJvbCB9IGZyb20gJy4uL01hcFV0aWxzJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIG1hcDogYW55O1xuICBwb2ludDogSVBvaW50O1xuICBldmVudDogSUV2ZW50O1xufTtcblxuZXhwb3J0IGNvbnN0IFBvaW50T2ZFdmVudDogUmVhY3QuRkM8SVByb3BzPiA9ICh7IG1hcCwgcG9pbnQsIGV2ZW50IH0pID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IGJpbmRQb3B1cFRvUG9pbnQgPSAob2JzOiBhbnkgPSBudWxsKSA9PiB7XG4gICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIFsnUG9pbnQnLCAnT2JzZXJ2YXRpb24nXS5pbmNsdWRlcyhsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCkgJiZcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgPT09IHBvaW50LmlkXG4gICAgICApIHtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5iaW5kUG9wdXAocG9wdXBDb250ZW50KG9icywgcG9pbnQpLCB7XG4gICAgICAgICAgbWluV2lkdGg6IDIwMCxcbiAgICAgICAgfSk7XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub24oJ3BvcHVwb3BlbicsIGZ1bmN0aW9uIChlOiBhbnkpIHtcbiAgICAgICAgICBsZXQgZmlyc3RTZWVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgbGV0IGxhc3RTZWVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgbGV0IHNlY3RvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgICAgaWYgKG9icyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17b2JzLnN0YXJ0X3RpbWV9XG4gICAgICAgICAgICAgICAgdGltZV96b25lPXtvYnMudGltZV96b25lfVxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgZmlyc3RTZWVuLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e29icy5sYXN0X3NlZW5fdGltZX1cbiAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e29icy50aW1lX3pvbmV9XG4gICAgICAgICAgICAgIC8+LFxuICAgICAgICAgICAgICBsYXN0U2VlbixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFNlY3RvclxuICAgICAgICAgICAgICAgIHNlY3Rvck5hbWU9e3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfVxuICAgICAgICAgICAgICAgIHNlY3Rvckljb25OYW1lPXtwb2ludC5ncm91cC5zZWN0b3JfaWNvbl9uYW1lfVxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMzdcIlxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgc2VjdG9yLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICQoJyNmaXJzdC1zZWVuLXBvcHVwJykuYXBwZW5kKGZpcnN0U2Vlbik7XG4gICAgICAgICAgICAkKCcjbGFzdC1zZWVuLXBvcHVwJykuYXBwZW5kKGxhc3RTZWVuKTtcbiAgICAgICAgICAgICQoJyNzZWN0b3InKS5hcHBlbmQoc2VjdG9yKTtcbiAgICAgICAgICB9LCAyMDApO1xuXG4gICAgICAgICAgbGV0IGF0dGFjaENsaWNrRXZlbnQgPSAoc2VsZWN0b3I6IHN0cmluZywgb2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgJChkb2N1bWVudC5ib2R5KS5vbignY2xpY2snLCBzZWxlY3RvciwgKCkgPT4ge1xuICAgICAgICAgICAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgICAgICAgICAgIGRpc3BhdGNoKG9wZW5GbG9hdGluZ0dyYXBoKHRydWUsIG9ic2VydmF0aW9uLCBwb2ludCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGlmIChvYnMgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGF0dGFjaENsaWNrRXZlbnQoJy5wb3B1cC1ncmFwaC1pY29uLScgKyBvYnMuaWQsIG9icyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF0dGFjaENsaWNrRXZlbnQoJy5wb3B1cC1ncmFwaC1pY29uLScgKyBwb2ludC5pZCwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5vcGVuUG9wdXAoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSA9IFtwb2ludFsnbGF0aXR1ZGUnXSwgcG9pbnRbJ2xvbmdpdHVkZSddXTtcbiAgICBjcmVhdGVNYW5ob2xlUG9pbnQobWFya2VyTG9jYXRpb24sIHBvaW50LCBtYXAsIGV2ZW50LmhvdmVyZWQpO1xuICAgIGlmIChcbiAgICAgIHBvaW50Lmhhc19kZXZpY2UgfHxcbiAgICAgIHBvaW50SXNPYnNlcnZhdGlvbihldmVudCwgcG9pbnQpIHx8XG4gICAgICBwb2ludElzV1dUUChwb2ludClcbiAgICApXG4gICAgICBjcmVhdGVCdWJibGVQb2ludChtYXJrZXJMb2NhdGlvbiwgcG9pbnQsIG1hcCwgZXZlbnQuaG92ZXJlZCk7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpXG4gICAgICBjcmVhdGVTYW1wbGluZ0ljb25zKG1hcmtlckxvY2F0aW9uLCBldmVudCwgcG9pbnQsIG1hcCwgZXZlbnQuaG92ZXJlZCk7XG4gICAgbGV0IGhhc1ByaW1hcnlJY29uID0gbWF0Y2hJY29uVG9Qb2ludChwb2ludCwgZXZlbnQpICE9PSBudWxsO1xuXG4gICAgaWYgKHBvaW50SXNPYnNlcnZhdGlvbihldmVudCwgcG9pbnQpICYmIGV2ZW50LmZvY3VzZWQpIHtcbiAgICAgIGNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50KFxuICAgICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgICAgaGFzUHJpbWFyeUljb24sXG4gICAgICAgIG1hcCxcbiAgICAgICAgcG9pbnQsXG4gICAgICAgIGV2ZW50LFxuICAgICAgICBldmVudC5ob3ZlcmVkLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgb2JzID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbHRlcigob2JzKSA9PiBvYnMucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXTtcbiAgICBpZiAob2JzICE9PSB1bmRlZmluZWQgJiYgZXZlbnQuZm9jdXNlZCkgYmluZFBvcHVwVG9Qb2ludChvYnMpO1xuXG4gICAgaWNvblpvb21Db250cm9sKG1hcCk7XG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgICAvLyBVTkJJTkQgUE9QVVBcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnT2JzZXJ2YXRpb25Ib3ZlcmVkJyk7XG4gICAgICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ1BvaW50SG92ZXJlZCcpO1xuICAgICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdTYW1wbGluZ0hvdmVyZWQnKTtcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnSWNvbk51bWJlckhvdmVyZWQnKTtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgICAvLyBVTkJJTkQgUE9QVVBcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnT2JzZXJ2YXRpb24nKTtcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnUG9pbnQnKTtcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnU2FtcGxpbmcnKTtcbiAgICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnSWNvbk51bWJlcicpO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFtldmVudCwgZXZlbnQuZm9jdXNlZF0pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG4iXX0=
@@ -11,9 +11,11 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _reactRedux = require("react-redux");
13
13
 
14
+ var _useRemoveExistingLayers = _interopRequireWildcard(require("hooks/useRemoveExistingLayers"));
15
+
14
16
  var _PointUtils = require("./PointUtils");
15
17
 
16
- require("leaflet.featuregroup.subgroup");
18
+ var _MapUtils = require("../MapUtils");
17
19
 
18
20
  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); }
19
21
 
@@ -29,33 +31,29 @@ function mapStateToProps(state) {
29
31
  var PointMarker = function PointMarker(props) {
30
32
  var map = props.map,
31
33
  point = props.point,
32
- rerender = props.rerender,
33
- layerGroup = props.layerGroup; // useRemoveExistingLayers(map, point, 'Point');
34
- // useRemoveExistingLayers(map, point, 'Observation');
35
- // useRemoveExistingLayers(map, point, 'Sampling');
36
- // useRemoveExistingLayers(map, point, 'IconNumber');
34
+ rerender = props.rerender;
35
+ (0, _useRemoveExistingLayers.default)(map, point, 'Point');
36
+ (0, _useRemoveExistingLayers.default)(map, point, 'Observation');
37
+ (0, _useRemoveExistingLayers.default)(map, point, 'Sampling');
38
+ (0, _useRemoveExistingLayers.default)(map, point, 'IconNumber');
37
39
 
38
40
  var renderLogic = function renderLogic() {
39
41
  var markerLocation = [point['latitude'], point['longitude']];
40
42
  if (markerLocation[0] === null) return;
41
- (0, _PointUtils.createBubblePoint)(markerLocation, point, map, null, layerGroup);
42
-
43
- if (point.group.type === 'Groups::Factory') {
44
- (0, _PointUtils.bindPopupToMarker)(point, layerGroup); //The following is being called for every point, we should do that on the layerGroup level which will happen once
45
- //It is noticed when there are thousands of points
46
-
47
- (0, _PointUtils.handleMarkerClick)(map, point, layerGroup);
48
- }
43
+ (0, _PointUtils.createManholePoint)(markerLocation, point, map);
44
+ (0, _PointUtils.createBubblePoint)(markerLocation, point, map);
49
45
  };
50
46
 
51
47
  (0, _react.useEffect)(function () {
52
- renderLogic(); // return function cleanup() {
53
- // // UNBIND POPUP
54
- // removeFromMap(map, point, 'Observation');
55
- // removeFromMap(map, point, 'Point');
56
- // removeFromMap(map, point, 'Sampling');
57
- // removeFromMap(map, point, 'IconNumber');
58
- // };
48
+ renderLogic();
49
+ (0, _MapUtils.iconZoomControl)(map);
50
+ return function cleanup() {
51
+ // UNBIND POPUP
52
+ (0, _useRemoveExistingLayers.removeFromMap)(map, point, 'Observation');
53
+ (0, _useRemoveExistingLayers.removeFromMap)(map, point, 'Point');
54
+ (0, _useRemoveExistingLayers.removeFromMap)(map, point, 'Sampling');
55
+ (0, _useRemoveExistingLayers.removeFromMap)(map, point, 'IconNumber');
56
+ };
59
57
  }, [rerender]);
60
58
  return /*#__PURE__*/_react.default.createElement("div", null);
61
59
  };
@@ -71,4 +69,4 @@ var _default = connector( /*#__PURE__*/_react.default.memo(PointMarker, function
71
69
  }));
72
70
 
73
71
  exports.default = _default;
74
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXIudHN4Il0sIm5hbWVzIjpbIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJQb2ludE1hcmtlciIsInByb3BzIiwibWFwIiwicG9pbnQiLCJyZXJlbmRlciIsImxheWVyR3JvdXAiLCJyZW5kZXJMb2dpYyIsIm1hcmtlckxvY2F0aW9uIiwiZ3JvdXAiLCJ0eXBlIiwiY29ubmVjdG9yIiwiUmVhY3QiLCJtZW1vIiwicHJldlByb3BzIiwibmV4dFByb3BzIiwiZm9jdXNlZEV2ZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFNQTs7QUFNQTs7Ozs7O0FBRUEsU0FBU0EsZUFBVCxDQUF5QkMsS0FBekIsRUFBMkM7QUFDekMsTUFBUUMsV0FBUixHQUF3QkQsS0FBeEIsQ0FBUUMsV0FBUjtBQUVBLFNBQU87QUFDTEEsSUFBQUEsV0FBVyxFQUFYQTtBQURLLEdBQVA7QUFHRDs7QUFTRCxJQUFNQyxXQUE0QixHQUFHLFNBQS9CQSxXQUErQixDQUFDQyxLQUFELEVBQVc7QUFDOUMsTUFBUUMsR0FBUixHQUE2Q0QsS0FBN0MsQ0FBUUMsR0FBUjtBQUFBLE1BQWFDLEtBQWIsR0FBNkNGLEtBQTdDLENBQWFFLEtBQWI7QUFBQSxNQUFvQkMsUUFBcEIsR0FBNkNILEtBQTdDLENBQW9CRyxRQUFwQjtBQUFBLE1BQThCQyxVQUE5QixHQUE2Q0osS0FBN0MsQ0FBOEJJLFVBQTlCLENBRDhDLENBRzlDO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE1BQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFjLEdBQU07QUFDeEIsUUFBSUMsY0FBMkIsR0FBRyxDQUFDSixLQUFLLENBQUMsVUFBRCxDQUFOLEVBQW9CQSxLQUFLLENBQUMsV0FBRCxDQUF6QixDQUFsQztBQUNBLFFBQUlJLGNBQWMsQ0FBQyxDQUFELENBQWQsS0FBc0IsSUFBMUIsRUFBZ0M7QUFFaEMsdUNBQWtCQSxjQUFsQixFQUFrQ0osS0FBbEMsRUFBeUNELEdBQXpDLEVBQThDLElBQTlDLEVBQW9ERyxVQUFwRDs7QUFFQSxRQUFJRixLQUFLLENBQUNLLEtBQU4sQ0FBWUMsSUFBWixLQUFxQixpQkFBekIsRUFBNEM7QUFDMUMseUNBQWtCTixLQUFsQixFQUF5QkUsVUFBekIsRUFEMEMsQ0FHMUM7QUFDQTs7QUFDQSx5Q0FBa0JILEdBQWxCLEVBQXVCQyxLQUF2QixFQUE4QkUsVUFBOUI7QUFDRDtBQUNGLEdBYkQ7O0FBZUEsd0JBQVUsWUFBTTtBQUNkQyxJQUFBQSxXQUFXLEdBREcsQ0FFZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNELEdBVEQsRUFTRyxDQUFDRixRQUFELENBVEg7QUFXQSxzQkFBTyx5Q0FBUDtBQUNELENBbkNEOztBQXFDQSxJQUFNTSxTQUFTLEdBQUcseUJBQVFiLGVBQVIsQ0FBbEI7O2VBQ2VhLFNBQVMsZUFDdEJDLGVBQU1DLElBQU4sQ0FBV1osV0FBWCxFQUF3QixVQUFDYSxTQUFELEVBQVlDLFNBQVosRUFBMEI7QUFDaEQsTUFDRUQsU0FBUyxDQUFDZCxXQUFWLENBQXNCZ0IsWUFBdEIsS0FBdUNELFNBQVMsQ0FBQ2YsV0FBVixDQUFzQmdCLFlBRC9ELEVBRUU7QUFDQSxXQUFPLEtBQVA7QUFDRDs7QUFFRCxTQUFPLElBQVA7QUFDRCxDQVJELENBRHNCLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG4vLyBpbXBvcnQgdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMsIHtcbi8vICAgcmVtb3ZlRnJvbU1hcCxcbi8vIH0gZnJvbSAnc3JjL2hvb2tzL3VzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzJztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQge1xuICBiaW5kUG9wdXBUb01hcmtlcixcbiAgY3JlYXRlQnViYmxlUG9pbnQsXG4gIGhhbmRsZU1hcmtlckNsaWNrLFxufSBmcm9tICcuL1BvaW50VXRpbHMnO1xuaW1wb3J0IHsgTGF0TG5nVHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnbGVhZmxldC5mZWF0dXJlZ3JvdXAuc3ViZ3JvdXAnO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7IGV2ZW50c19kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICB9O1xufVxuXG50eXBlIFByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIG1hcDogYW55O1xuICBwb2ludDogSVBvaW50O1xuICByZXJlbmRlcjogc3RyaW5nO1xuICBsYXllckdyb3VwOiBhbnk7XG59O1xuXG5jb25zdCBQb2ludE1hcmtlcjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgbWFwLCBwb2ludCwgcmVyZW5kZXIsIGxheWVyR3JvdXAgfSA9IHByb3BzO1xuXG4gIC8vIHVzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzKG1hcCwgcG9pbnQsICdQb2ludCcpO1xuICAvLyB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyhtYXAsIHBvaW50LCAnT2JzZXJ2YXRpb24nKTtcbiAgLy8gdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMobWFwLCBwb2ludCwgJ1NhbXBsaW5nJyk7XG4gIC8vIHVzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzKG1hcCwgcG9pbnQsICdJY29uTnVtYmVyJyk7XG5cbiAgY29uc3QgcmVuZGVyTG9naWMgPSAoKSA9PiB7XG4gICAgbGV0IG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSA9IFtwb2ludFsnbGF0aXR1ZGUnXSwgcG9pbnRbJ2xvbmdpdHVkZSddXTtcbiAgICBpZiAobWFya2VyTG9jYXRpb25bMF0gPT09IG51bGwpIHJldHVybjtcblxuICAgIGNyZWF0ZUJ1YmJsZVBvaW50KG1hcmtlckxvY2F0aW9uLCBwb2ludCwgbWFwLCBudWxsLCBsYXllckdyb3VwKTtcblxuICAgIGlmIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5Jykge1xuICAgICAgYmluZFBvcHVwVG9NYXJrZXIocG9pbnQsIGxheWVyR3JvdXApO1xuXG4gICAgICAvL1RoZSBmb2xsb3dpbmcgaXMgYmVpbmcgY2FsbGVkIGZvciBldmVyeSBwb2ludCwgd2Ugc2hvdWxkIGRvIHRoYXQgb24gdGhlIGxheWVyR3JvdXAgbGV2ZWwgd2hpY2ggd2lsbCBoYXBwZW4gb25jZVxuICAgICAgLy9JdCBpcyBub3RpY2VkIHdoZW4gdGhlcmUgYXJlIHRob3VzYW5kcyBvZiBwb2ludHNcbiAgICAgIGhhbmRsZU1hcmtlckNsaWNrKG1hcCwgcG9pbnQsIGxheWVyR3JvdXApO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlbmRlckxvZ2ljKCk7XG4gICAgLy8gcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgLy8gICAvLyBVTkJJTkQgUE9QVVBcbiAgICAvLyAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ09ic2VydmF0aW9uJyk7XG4gICAgLy8gICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdQb2ludCcpO1xuICAgIC8vICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnU2FtcGxpbmcnKTtcbiAgICAvLyAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ0ljb25OdW1iZXInKTtcbiAgICAvLyB9O1xuICB9LCBbcmVyZW5kZXJdKTtcblxuICByZXR1cm4gPGRpdj48L2Rpdj47XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoXG4gIFJlYWN0Lm1lbW8oUG9pbnRNYXJrZXIsIChwcmV2UHJvcHMsIG5leHRQcm9wcykgPT4ge1xuICAgIGlmIChcbiAgICAgIHByZXZQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQgIT09IG5leHRQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnRcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSksXG4pO1xuIl19
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXIudHN4Il0sIm5hbWVzIjpbIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJQb2ludE1hcmtlciIsInByb3BzIiwibWFwIiwicG9pbnQiLCJyZXJlbmRlciIsInJlbmRlckxvZ2ljIiwibWFya2VyTG9jYXRpb24iLCJjbGVhbnVwIiwiY29ubmVjdG9yIiwiUmVhY3QiLCJtZW1vIiwicHJldlByb3BzIiwibmV4dFByb3BzIiwiZm9jdXNlZEV2ZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFLQTs7QUFFQTs7Ozs7O0FBRUEsU0FBU0EsZUFBVCxDQUF5QkMsS0FBekIsRUFBMkM7QUFDekMsTUFBUUMsV0FBUixHQUF3QkQsS0FBeEIsQ0FBUUMsV0FBUjtBQUVBLFNBQU87QUFDTEEsSUFBQUEsV0FBVyxFQUFYQTtBQURLLEdBQVA7QUFHRDs7QUFRRCxJQUFNQyxXQUE0QixHQUFHLFNBQS9CQSxXQUErQixDQUFDQyxLQUFELEVBQVc7QUFDOUMsTUFBUUMsR0FBUixHQUFpQ0QsS0FBakMsQ0FBUUMsR0FBUjtBQUFBLE1BQWFDLEtBQWIsR0FBaUNGLEtBQWpDLENBQWFFLEtBQWI7QUFBQSxNQUFvQkMsUUFBcEIsR0FBaUNILEtBQWpDLENBQW9CRyxRQUFwQjtBQUVBLHdDQUF3QkYsR0FBeEIsRUFBNkJDLEtBQTdCLEVBQW9DLE9BQXBDO0FBQ0Esd0NBQXdCRCxHQUF4QixFQUE2QkMsS0FBN0IsRUFBb0MsYUFBcEM7QUFDQSx3Q0FBd0JELEdBQXhCLEVBQTZCQyxLQUE3QixFQUFvQyxVQUFwQztBQUNBLHdDQUF3QkQsR0FBeEIsRUFBNkJDLEtBQTdCLEVBQW9DLFlBQXBDOztBQUVBLE1BQU1FLFdBQVcsR0FBRyxTQUFkQSxXQUFjLEdBQU07QUFDeEIsUUFBSUMsY0FBMkIsR0FBRyxDQUFDSCxLQUFLLENBQUMsVUFBRCxDQUFOLEVBQW9CQSxLQUFLLENBQUMsV0FBRCxDQUF6QixDQUFsQztBQUNBLFFBQUlHLGNBQWMsQ0FBQyxDQUFELENBQWQsS0FBc0IsSUFBMUIsRUFBZ0M7QUFFaEMsd0NBQW1CQSxjQUFuQixFQUFtQ0gsS0FBbkMsRUFBMENELEdBQTFDO0FBQ0EsdUNBQWtCSSxjQUFsQixFQUFrQ0gsS0FBbEMsRUFBeUNELEdBQXpDO0FBQ0QsR0FORDs7QUFRQSx3QkFBVSxZQUFNO0FBQ2RHLElBQUFBLFdBQVc7QUFDWCxtQ0FBZ0JILEdBQWhCO0FBRUEsV0FBTyxTQUFTSyxPQUFULEdBQW1CO0FBQ3hCO0FBQ0Esa0RBQWNMLEdBQWQsRUFBbUJDLEtBQW5CLEVBQTBCLGFBQTFCO0FBQ0Esa0RBQWNELEdBQWQsRUFBbUJDLEtBQW5CLEVBQTBCLE9BQTFCO0FBQ0Esa0RBQWNELEdBQWQsRUFBbUJDLEtBQW5CLEVBQTBCLFVBQTFCO0FBQ0Esa0RBQWNELEdBQWQsRUFBbUJDLEtBQW5CLEVBQTBCLFlBQTFCO0FBQ0QsS0FORDtBQU9ELEdBWEQsRUFXRyxDQUFDQyxRQUFELENBWEg7QUFhQSxzQkFBTyx5Q0FBUDtBQUNELENBOUJEOztBQWdDQSxJQUFNSSxTQUFTLEdBQUcseUJBQVFYLGVBQVIsQ0FBbEI7O2VBQ2VXLFNBQVMsZUFDdEJDLGVBQU1DLElBQU4sQ0FBV1YsV0FBWCxFQUF3QixVQUFDVyxTQUFELEVBQVlDLFNBQVosRUFBMEI7QUFDaEQsTUFDRUQsU0FBUyxDQUFDWixXQUFWLENBQXNCYyxZQUF0QixLQUF1Q0QsU0FBUyxDQUFDYixXQUFWLENBQXNCYyxZQUQvRCxFQUVFO0FBQ0EsV0FBTyxLQUFQO0FBQ0Q7O0FBRUQsU0FBTyxJQUFQO0FBQ0QsQ0FSRCxDQURzQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHVzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzLCB7XG4gIHJlbW92ZUZyb21NYXAsXG59IGZyb20gJ3NyYy9ob29rcy91c2VSZW1vdmVFeGlzdGluZ0xheWVycyc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgY3JlYXRlQnViYmxlUG9pbnQsIGNyZWF0ZU1hbmhvbGVQb2ludCB9IGZyb20gJy4vUG9pbnRVdGlscyc7XG5pbXBvcnQgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgaWNvblpvb21Db250cm9sIH0gZnJvbSAnLi4vTWFwVXRpbHMnO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7IGV2ZW50c19kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICB9O1xufVxuXG50eXBlIFByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIG1hcDogYW55O1xuICBwb2ludDogSVBvaW50O1xuICByZXJlbmRlcjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFBvaW50TWFya2VyOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBtYXAsIHBvaW50LCByZXJlbmRlciB9ID0gcHJvcHM7XG5cbiAgdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMobWFwLCBwb2ludCwgJ1BvaW50Jyk7XG4gIHVzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzKG1hcCwgcG9pbnQsICdPYnNlcnZhdGlvbicpO1xuICB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyhtYXAsIHBvaW50LCAnU2FtcGxpbmcnKTtcbiAgdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMobWFwLCBwb2ludCwgJ0ljb25OdW1iZXInKTtcblxuICBjb25zdCByZW5kZXJMb2dpYyA9ICgpID0+IHtcbiAgICBsZXQgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlID0gW3BvaW50WydsYXRpdHVkZSddLCBwb2ludFsnbG9uZ2l0dWRlJ11dO1xuICAgIGlmIChtYXJrZXJMb2NhdGlvblswXSA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgY3JlYXRlTWFuaG9sZVBvaW50KG1hcmtlckxvY2F0aW9uLCBwb2ludCwgbWFwKTtcbiAgICBjcmVhdGVCdWJibGVQb2ludChtYXJrZXJMb2NhdGlvbiwgcG9pbnQsIG1hcCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZW5kZXJMb2dpYygpO1xuICAgIGljb25ab29tQ29udHJvbChtYXApO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICAvLyBVTkJJTkQgUE9QVVBcbiAgICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ09ic2VydmF0aW9uJyk7XG4gICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdQb2ludCcpO1xuICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnU2FtcGxpbmcnKTtcbiAgICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ0ljb25OdW1iZXInKTtcbiAgICB9O1xuICB9LCBbcmVyZW5kZXJdKTtcblxuICByZXR1cm4gPGRpdj48L2Rpdj47XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoXG4gIFJlYWN0Lm1lbW8oUG9pbnRNYXJrZXIsIChwcmV2UHJvcHMsIG5leHRQcm9wcykgPT4ge1xuICAgIGlmIChcbiAgICAgIHByZXZQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQgIT09IG5leHRQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnRcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSksXG4pO1xuIl19
@@ -13,8 +13,6 @@ var _react = _interopRequireWildcard(require("react"));
13
13
 
14
14
  var _PointMarker = _interopRequireDefault(require("./PointMarker"));
15
15
 
16
- var _PointUtils = require("./PointUtils");
17
-
18
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); }
19
17
 
20
18
  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; }
@@ -22,105 +20,39 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
22
20
  var PointMarkers = function PointMarkers(props) {
23
21
  var points = props.points,
24
22
  map = props.map,
25
- factoriesGroup = props.factoriesGroup,
26
- wwtpsGroup = props.wwtpsGroup,
27
- collectorsGroup = props.collectorsGroup,
28
- rerender = props.rerender; //Handle the mouse click here one for all instead one by one
29
- // factoriesClusterGroup.on('click', function (a) {
30
- // console.log('currentSrc', a.originalEvent.target.currentSrc);
31
- // console.log('src', a.originalEvent.target.src);
32
- // //a.originalEvent.target.src = '';
33
- // //Change icon here
34
- // });
35
- // console.log('LayerGroups', factoriesClusterGroup);
36
- //const layerGroups = L.layerGroup();
37
- //const wwtpsLayerGroup = L.layerGroup();
38
- //const collectorsLayerGroup = L.layerGroup();
39
- //console.log('LayerGroups', wwtpsLayerGroup, collectorsLayerGroup);
40
- //layerGroups.addLayer(wwtpsLayerGroup);
41
- //layerGroups.addLayer(collectorsLayerGroup);
42
- //map.addLayer(layerGroups);
43
- // const isPointBelongToGroupTypes = (point: IPoint) => {
44
- // return (
45
- // point.group.type === 'Groups::WastewaterTreatmentPlant' ||
46
- // (point.group.type === 'Groups::Factory') ||
47
- // (point.group.type === 'Groups::Collectors' && point.has_device) ||
48
- // (point.group.type === 'Groups::PumpStation' && point.has_device)
49
- // );
50
- // };
51
- // const includeUnmonitoredPointsLogic = (point: IPoint) => {
52
- // return includeUnmonitoredPoints ? point.part_of_monitored_path : false;
53
- // };
54
- // const filterStatement = (point) => {
55
- // return (
56
- // includeUnmonitoredPointsLogic(point) ||
57
- // isPointBelongToGroupTypes(point) ||
58
- // point.group.type === 'Groups::WastewaterTreatmentPlant'
59
- // );
60
- // };
61
-
62
- var filteredPoints = function filteredPoints() {
63
- return points; //.filter((point: IPoint) => filterStatement(point));
64
- }; // function countLayersOnMap(map) {
65
- // let layerCount = 0;
66
- // map.eachLayer(function (layer) {
67
- // // Exclude the base layer (the map itself) from the count
68
- // if (!layer._tiles) {
69
- // // for(var a in layer)
70
- // // console.log(a);
71
- // //console.log('layer', layer);
72
- // map.removeLayer(layer);
73
- // layerCount++;
74
- // }
75
- // else {
76
- // //console.log('no layers deleted', layer);
77
- // }
78
- // });
79
- // return layerCount;
80
- // }
81
-
23
+ _props$includeUnmonit = props.includeUnmonitoredPoints,
24
+ includeUnmonitoredPoints = _props$includeUnmonit === void 0 ? false : _props$includeUnmonit,
25
+ _props$rerender = props.rerender,
26
+ rerender = _props$rerender === void 0 ? false : _props$rerender;
82
27
 
83
- (0, _react.useEffect)(function () {
84
- //console.log('PointMarkers useEffect: rerender: ', rerender);
85
- //console.log('Layers on map', countLayersOnMap(map));
86
- if (map) {
87
- switch (rerender) {
88
- case 'XLarge':
89
- (0, _PointUtils.addLayerGroup)(map, factoriesGroup);
90
- (0, _PointUtils.addLayerGroup)(map, wwtpsGroup);
91
- (0, _PointUtils.removeLayerGroup)(map, collectorsGroup);
92
- break;
28
+ var isPointBelongToGroupTypes = function isPointBelongToGroupTypes(point) {
29
+ return point.group.type === 'Groups::WastewaterTreatmentPlant' || point.group.type === 'Groups::Factory' && point.has_device || point.group.type === 'Groups::Collectors' && point.has_device || point.group.type === 'Groups::PumpStation' && point.has_device;
30
+ };
93
31
 
94
- case 'Large':
95
- break;
32
+ var includeUnmonitoredPointsLogic = function includeUnmonitoredPointsLogic(point) {
33
+ return includeUnmonitoredPoints ? point.part_of_monitored_path : false;
34
+ };
96
35
 
97
- case 'MLarge':
98
- (0, _PointUtils.removeLayerGroup)(map, collectorsGroup);
99
- break;
36
+ var filterStatement = function filterStatement(point) {
37
+ return includeUnmonitoredPointsLogic(point) || isPointBelongToGroupTypes(point) || point.group.type === 'Groups::WastewaterTreatmentPlant';
38
+ };
100
39
 
101
- case 'Medium':
102
- (0, _PointUtils.addLayerGroup)(map, collectorsGroup);
103
- break;
104
-
105
- default:
106
- break;
107
- }
108
- }
40
+ var filteredPoints = function filteredPoints() {
41
+ return points.filter(function (point) {
42
+ return filterStatement(point);
43
+ });
44
+ };
109
45
 
110
- factoriesGroup.doneCreating = true;
111
- wwtpsGroup.doneCreating = true;
112
- collectorsGroup.doneCreating = true;
113
- }, [rerender]);
46
+ (0, _react.useEffect)(function () {}, [rerender]);
114
47
  return /*#__PURE__*/_react.default.createElement("div", null, points.length !== 0 && filteredPoints().map(function (point) {
115
- return point.latitude && point.longitude && !factoriesGroup.doneCreating && !wwtpsGroup.doneCreating && !collectorsGroup.doneCreating && /*#__PURE__*/_react.default.createElement(_PointMarker.default, {
48
+ return point.latitude && point.longitude && /*#__PURE__*/_react.default.createElement(_PointMarker.default, {
116
49
  map: map,
117
50
  point: point,
118
51
  key: point.id,
119
- rerender: rerender,
120
- layerGroup: point.group.type === 'Groups::Factory' ? factoriesGroup : point.group.type === 'Groups::WastewaterTreatmentPlant' ? wwtpsGroup : collectorsGroup
52
+ rerender: rerender
121
53
  });
122
54
  }));
123
55
  };
124
56
 
125
57
  exports.PointMarkers = PointMarkers;
126
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXJzLnRzeCJdLCJuYW1lcyI6WyJQb2ludE1hcmtlcnMiLCJwcm9wcyIsInBvaW50cyIsIm1hcCIsImZhY3Rvcmllc0dyb3VwIiwid3d0cHNHcm91cCIsImNvbGxlY3RvcnNHcm91cCIsInJlcmVuZGVyIiwiZmlsdGVyZWRQb2ludHMiLCJkb25lQ3JlYXRpbmciLCJsZW5ndGgiLCJwb2ludCIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiaWQiLCJncm91cCIsInR5cGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7Ozs7OztBQVlPLElBQU1BLFlBQTZCLEdBQUcsU0FBaENBLFlBQWdDLENBQUNDLEtBQUQsRUFBVztBQUN0RCxNQUNFQyxNQURGLEdBUUlELEtBUkosQ0FDRUMsTUFERjtBQUFBLE1BRUVDLEdBRkYsR0FRSUYsS0FSSixDQUVFRSxHQUZGO0FBQUEsTUFHRUMsY0FIRixHQVFJSCxLQVJKLENBR0VHLGNBSEY7QUFBQSxNQUlFQyxVQUpGLEdBUUlKLEtBUkosQ0FJRUksVUFKRjtBQUFBLE1BS0VDLGVBTEYsR0FRSUwsS0FSSixDQUtFSyxlQUxGO0FBQUEsTUFPRUMsUUFQRixHQVFJTixLQVJKLENBT0VNLFFBUEYsQ0FEc0QsQ0FXdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE1BQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsR0FBTTtBQUMzQixXQUFPTixNQUFQLENBRDJCLENBQ1o7QUFDaEIsR0FGRCxDQWpEc0QsQ0FxRHREO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUVBLHdCQUFVLFlBQU07QUFDZDtBQUNBO0FBRUEsUUFBSUMsR0FBSixFQUFTO0FBQ1AsY0FBUUksUUFBUjtBQUNFLGFBQUssUUFBTDtBQUNFLHlDQUFjSixHQUFkLEVBQW1CQyxjQUFuQjtBQUNBLHlDQUFjRCxHQUFkLEVBQW1CRSxVQUFuQjtBQUNBLDRDQUFpQkYsR0FBakIsRUFBc0JHLGVBQXRCO0FBQ0E7O0FBQ0YsYUFBSyxPQUFMO0FBQ0U7O0FBQ0YsYUFBSyxRQUFMO0FBQ0UsNENBQWlCSCxHQUFqQixFQUFzQkcsZUFBdEI7QUFDQTs7QUFDRixhQUFLLFFBQUw7QUFDRSx5Q0FBY0gsR0FBZCxFQUFtQkcsZUFBbkI7QUFDQTs7QUFDRjtBQUNFO0FBZko7QUFpQkQ7O0FBRURGLElBQUFBLGNBQWMsQ0FBQ0ssWUFBZixHQUE4QixJQUE5QjtBQUNBSixJQUFBQSxVQUFVLENBQUNJLFlBQVgsR0FBMEIsSUFBMUI7QUFDQUgsSUFBQUEsZUFBZSxDQUFDRyxZQUFoQixHQUErQixJQUEvQjtBQUNELEdBM0JELEVBMkJHLENBQUNGLFFBQUQsQ0EzQkg7QUE2QkEsc0JBQ0UsMENBQ0dMLE1BQU0sQ0FBQ1EsTUFBUCxLQUFrQixDQUFsQixJQUNDRixjQUFjLEdBQUdMLEdBQWpCLENBQ0UsVUFBQ1EsS0FBRDtBQUFBLFdBQ0VBLEtBQUssQ0FBQ0MsUUFBTixJQUNBRCxLQUFLLENBQUNFLFNBRE4sSUFFQSxDQUFDVCxjQUFjLENBQUNLLFlBRmhCLElBR0EsQ0FBQ0osVUFBVSxDQUFDSSxZQUhaLElBSUEsQ0FBQ0gsZUFBZSxDQUFDRyxZQUpqQixpQkFLRSw2QkFBQyxvQkFBRDtBQUNFLE1BQUEsR0FBRyxFQUFFTixHQURQO0FBRUUsTUFBQSxLQUFLLEVBQUVRLEtBRlQ7QUFHRSxNQUFBLEdBQUcsRUFBRUEsS0FBSyxDQUFDRyxFQUhiO0FBSUUsTUFBQSxRQUFRLEVBQUVQLFFBSlo7QUFLRSxNQUFBLFVBQVUsRUFDUkksS0FBSyxDQUFDSSxLQUFOLENBQVlDLElBQVosS0FBcUIsaUJBQXJCLEdBQ0laLGNBREosR0FFSU8sS0FBSyxDQUFDSSxLQUFOLENBQVlDLElBQVosS0FBcUIsa0NBQXJCLEdBQ0FYLFVBREEsR0FFQUM7QUFWUixNQU5KO0FBQUEsR0FERixDQUZKLENBREY7QUEyQkQsQ0EvSE0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBQb2ludE1hcmtlciBmcm9tICcuL1BvaW50TWFya2VyJztcbmltcG9ydCB7IGFkZExheWVyR3JvdXAsIHJlbW92ZUxheWVyR3JvdXAgfSBmcm9tICcuL1BvaW50VXRpbHMnO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgcG9pbnRzOiBhbnk7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50czogYm9vbGVhbjtcbiAgcmVyZW5kZXI6IHN0cmluZztcbiAgZmFjdG9yaWVzR3JvdXA6IGFueTtcbiAgd3d0cHNHcm91cDogYW55O1xuICBjb2xsZWN0b3JzR3JvdXA6IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBQb2ludE1hcmtlcnM6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgcG9pbnRzLFxuICAgIG1hcCxcbiAgICBmYWN0b3JpZXNHcm91cCxcbiAgICB3d3Rwc0dyb3VwLFxuICAgIGNvbGxlY3RvcnNHcm91cCxcbiAgICAvLyBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSBmYWxzZSxcbiAgICByZXJlbmRlcixcbiAgfSA9IHByb3BzO1xuXG4gIC8vSGFuZGxlIHRoZSBtb3VzZSBjbGljayBoZXJlIG9uZSBmb3IgYWxsIGluc3RlYWQgb25lIGJ5IG9uZVxuICAvLyBmYWN0b3JpZXNDbHVzdGVyR3JvdXAub24oJ2NsaWNrJywgZnVuY3Rpb24gKGEpIHtcbiAgLy8gICBjb25zb2xlLmxvZygnY3VycmVudFNyYycsIGEub3JpZ2luYWxFdmVudC50YXJnZXQuY3VycmVudFNyYyk7XG4gIC8vICAgY29uc29sZS5sb2coJ3NyYycsIGEub3JpZ2luYWxFdmVudC50YXJnZXQuc3JjKTtcbiAgLy8gICAvL2Eub3JpZ2luYWxFdmVudC50YXJnZXQuc3JjID0gJyc7XG4gIC8vICAgLy9DaGFuZ2UgaWNvbiBoZXJlXG4gIC8vIH0pO1xuICAvLyBjb25zb2xlLmxvZygnTGF5ZXJHcm91cHMnLCBmYWN0b3JpZXNDbHVzdGVyR3JvdXApO1xuXG4gIC8vY29uc3QgbGF5ZXJHcm91cHMgPSBMLmxheWVyR3JvdXAoKTtcbiAgLy9jb25zdCB3d3Rwc0xheWVyR3JvdXAgPSBMLmxheWVyR3JvdXAoKTtcbiAgLy9jb25zdCBjb2xsZWN0b3JzTGF5ZXJHcm91cCA9IEwubGF5ZXJHcm91cCgpO1xuICAvL2NvbnNvbGUubG9nKCdMYXllckdyb3VwcycsIHd3dHBzTGF5ZXJHcm91cCwgY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAvL2xheWVyR3JvdXBzLmFkZExheWVyKHd3dHBzTGF5ZXJHcm91cCk7XG4gIC8vbGF5ZXJHcm91cHMuYWRkTGF5ZXIoY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAvL21hcC5hZGRMYXllcihsYXllckdyb3Vwcyk7XG5cbiAgLy8gY29uc3QgaXNQb2ludEJlbG9uZ1RvR3JvdXBUeXBlcyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIC8vICAgcmV0dXJuIChcbiAgLy8gICAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCcgfHxcbiAgLy8gICAgIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5JykgfHxcbiAgLy8gICAgIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpDb2xsZWN0b3JzJyAmJiBwb2ludC5oYXNfZGV2aWNlKSB8fFxuICAvLyAgICAgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OlB1bXBTdGF0aW9uJyAmJiBwb2ludC5oYXNfZGV2aWNlKVxuICAvLyAgICk7XG4gIC8vIH07XG5cbiAgLy8gY29uc3QgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzTG9naWMgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICAvLyAgIHJldHVybiBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPyBwb2ludC5wYXJ0X29mX21vbml0b3JlZF9wYXRoIDogZmFsc2U7XG4gIC8vIH07XG5cbiAgLy8gY29uc3QgZmlsdGVyU3RhdGVtZW50ID0gKHBvaW50KSA9PiB7XG4gIC8vICAgcmV0dXJuIChcbiAgLy8gICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50c0xvZ2ljKHBvaW50KSB8fFxuICAvLyAgICAgaXNQb2ludEJlbG9uZ1RvR3JvdXBUeXBlcyhwb2ludCkgfHxcbiAgLy8gICAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCdcbiAgLy8gICApO1xuICAvLyB9O1xuXG4gIGNvbnN0IGZpbHRlcmVkUG9pbnRzID0gKCkgPT4ge1xuICAgIHJldHVybiBwb2ludHM7IC8vLmZpbHRlcigocG9pbnQ6IElQb2ludCkgPT4gZmlsdGVyU3RhdGVtZW50KHBvaW50KSk7XG4gIH07XG5cbiAgLy8gZnVuY3Rpb24gY291bnRMYXllcnNPbk1hcChtYXApIHtcbiAgLy8gICBsZXQgbGF5ZXJDb3VudCA9IDA7XG4gIC8vICAgbWFwLmVhY2hMYXllcihmdW5jdGlvbiAobGF5ZXIpIHtcbiAgLy8gICAgICAgLy8gRXhjbHVkZSB0aGUgYmFzZSBsYXllciAodGhlIG1hcCBpdHNlbGYpIGZyb20gdGhlIGNvdW50XG4gIC8vICAgICAgIGlmICghbGF5ZXIuX3RpbGVzKSB7XG4gIC8vICAgICAgICAgLy8gZm9yKHZhciBhIGluIGxheWVyKVxuICAvLyAgICAgICAgIC8vICAgY29uc29sZS5sb2coYSk7XG4gIC8vICAgICAgICAgLy9jb25zb2xlLmxvZygnbGF5ZXInLCBsYXllcik7XG4gIC8vICAgICAgICAgbWFwLnJlbW92ZUxheWVyKGxheWVyKTtcbiAgLy8gICAgICAgICBsYXllckNvdW50Kys7XG4gIC8vICAgICAgIH1cbiAgLy8gICAgICAgZWxzZSB7XG4gIC8vICAgICAgICAgLy9jb25zb2xlLmxvZygnbm8gbGF5ZXJzIGRlbGV0ZWQnLCBsYXllcik7XG4gIC8vICAgICAgIH1cbiAgLy8gICB9KTtcbiAgLy8gICByZXR1cm4gbGF5ZXJDb3VudDtcbiAgLy8gfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy9jb25zb2xlLmxvZygnUG9pbnRNYXJrZXJzIHVzZUVmZmVjdDogcmVyZW5kZXI6ICcsIHJlcmVuZGVyKTtcbiAgICAvL2NvbnNvbGUubG9nKCdMYXllcnMgb24gbWFwJywgY291bnRMYXllcnNPbk1hcChtYXApKTtcblxuICAgIGlmIChtYXApIHtcbiAgICAgIHN3aXRjaCAocmVyZW5kZXIpIHtcbiAgICAgICAgY2FzZSAnWExhcmdlJzpcbiAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgZmFjdG9yaWVzR3JvdXApO1xuICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCB3d3Rwc0dyb3VwKTtcbiAgICAgICAgICByZW1vdmVMYXllckdyb3VwKG1hcCwgY29sbGVjdG9yc0dyb3VwKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnTGFyZ2UnOlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdNTGFyZ2UnOlxuICAgICAgICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBjb2xsZWN0b3JzR3JvdXApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdNZWRpdW0nOlxuICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCBjb2xsZWN0b3JzR3JvdXApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZhY3Rvcmllc0dyb3VwLmRvbmVDcmVhdGluZyA9IHRydWU7XG4gICAgd3d0cHNHcm91cC5kb25lQ3JlYXRpbmcgPSB0cnVlO1xuICAgIGNvbGxlY3RvcnNHcm91cC5kb25lQ3JlYXRpbmcgPSB0cnVlO1xuICB9LCBbcmVyZW5kZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICB7cG9pbnRzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICBmaWx0ZXJlZFBvaW50cygpLm1hcChcbiAgICAgICAgICAocG9pbnQ6IElQb2ludCkgPT5cbiAgICAgICAgICAgIHBvaW50LmxhdGl0dWRlICYmXG4gICAgICAgICAgICBwb2ludC5sb25naXR1ZGUgJiZcbiAgICAgICAgICAgICFmYWN0b3JpZXNHcm91cC5kb25lQ3JlYXRpbmcgJiZcbiAgICAgICAgICAgICF3d3Rwc0dyb3VwLmRvbmVDcmVhdGluZyAmJlxuICAgICAgICAgICAgIWNvbGxlY3RvcnNHcm91cC5kb25lQ3JlYXRpbmcgJiYgKFxuICAgICAgICAgICAgICA8UG9pbnRNYXJrZXJcbiAgICAgICAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICAgICAgICBwb2ludD17cG9pbnR9XG4gICAgICAgICAgICAgICAga2V5PXtwb2ludC5pZH1cbiAgICAgICAgICAgICAgICByZXJlbmRlcj17cmVyZW5kZXJ9XG4gICAgICAgICAgICAgICAgbGF5ZXJHcm91cD17XG4gICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5J1xuICAgICAgICAgICAgICAgICAgICA/IGZhY3Rvcmllc0dyb3VwXG4gICAgICAgICAgICAgICAgICAgIDogcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50J1xuICAgICAgICAgICAgICAgICAgICA/IHd3dHBzR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgOiBjb2xsZWN0b3JzR3JvdXBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApLFxuICAgICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXJzLnRzeCJdLCJuYW1lcyI6WyJQb2ludE1hcmtlcnMiLCJwcm9wcyIsInBvaW50cyIsIm1hcCIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsInJlcmVuZGVyIiwiaXNQb2ludEJlbG9uZ1RvR3JvdXBUeXBlcyIsInBvaW50IiwiZ3JvdXAiLCJ0eXBlIiwiaGFzX2RldmljZSIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50c0xvZ2ljIiwicGFydF9vZl9tb25pdG9yZWRfcGF0aCIsImZpbHRlclN0YXRlbWVudCIsImZpbHRlcmVkUG9pbnRzIiwiZmlsdGVyIiwibGVuZ3RoIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJpZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7Ozs7O0FBU08sSUFBTUEsWUFBNkIsR0FBRyxTQUFoQ0EsWUFBZ0MsQ0FBQ0MsS0FBRCxFQUFXO0FBQ3RELE1BQ0VDLE1BREYsR0FLSUQsS0FMSixDQUNFQyxNQURGO0FBQUEsTUFFRUMsR0FGRixHQUtJRixLQUxKLENBRUVFLEdBRkY7QUFBQSw4QkFLSUYsS0FMSixDQUdFRyx3QkFIRjtBQUFBLE1BR0VBLHdCQUhGLHNDQUc2QixLQUg3QjtBQUFBLHdCQUtJSCxLQUxKLENBSUVJLFFBSkY7QUFBQSxNQUlFQSxRQUpGLGdDQUlhLEtBSmI7O0FBT0EsTUFBTUMseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUE0QixDQUFDQyxLQUFELEVBQW1CO0FBQ25ELFdBQ0VBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxJQUFaLEtBQXFCLGtDQUFyQixJQUNDRixLQUFLLENBQUNDLEtBQU4sQ0FBWUMsSUFBWixLQUFxQixpQkFBckIsSUFBMENGLEtBQUssQ0FBQ0csVUFEakQsSUFFQ0gsS0FBSyxDQUFDQyxLQUFOLENBQVlDLElBQVosS0FBcUIsb0JBQXJCLElBQTZDRixLQUFLLENBQUNHLFVBRnBELElBR0NILEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxJQUFaLEtBQXFCLHFCQUFyQixJQUE4Q0YsS0FBSyxDQUFDRyxVQUp2RDtBQU1ELEdBUEQ7O0FBU0EsTUFBTUMsNkJBQTZCLEdBQUcsU0FBaENBLDZCQUFnQyxDQUFDSixLQUFELEVBQW1CO0FBQ3ZELFdBQU9ILHdCQUF3QixHQUFHRyxLQUFLLENBQUNLLHNCQUFULEdBQWtDLEtBQWpFO0FBQ0QsR0FGRDs7QUFJQSxNQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNOLEtBQUQsRUFBVztBQUNqQyxXQUNFSSw2QkFBNkIsQ0FBQ0osS0FBRCxDQUE3QixJQUNBRCx5QkFBeUIsQ0FBQ0MsS0FBRCxDQUR6QixJQUVBQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsSUFBWixLQUFxQixrQ0FIdkI7QUFLRCxHQU5EOztBQVFBLE1BQU1LLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsR0FBTTtBQUMzQixXQUFPWixNQUFNLENBQUNhLE1BQVAsQ0FBYyxVQUFDUixLQUFEO0FBQUEsYUFBbUJNLGVBQWUsQ0FBQ04sS0FBRCxDQUFsQztBQUFBLEtBQWQsQ0FBUDtBQUNELEdBRkQ7O0FBSUEsd0JBQVUsWUFBTSxDQUFFLENBQWxCLEVBQW9CLENBQUNGLFFBQUQsQ0FBcEI7QUFFQSxzQkFDRSwwQ0FDR0gsTUFBTSxDQUFDYyxNQUFQLEtBQWtCLENBQWxCLElBQ0NGLGNBQWMsR0FBR1gsR0FBakIsQ0FDRSxVQUFDSSxLQUFEO0FBQUEsV0FDRUEsS0FBSyxDQUFDVSxRQUFOLElBQ0FWLEtBQUssQ0FBQ1csU0FETixpQkFFRSw2QkFBQyxvQkFBRDtBQUNFLE1BQUEsR0FBRyxFQUFFZixHQURQO0FBRUUsTUFBQSxLQUFLLEVBQUVJLEtBRlQ7QUFHRSxNQUFBLEdBQUcsRUFBRUEsS0FBSyxDQUFDWSxFQUhiO0FBSUUsTUFBQSxRQUFRLEVBQUVkO0FBSlosTUFISjtBQUFBLEdBREYsQ0FGSixDQURGO0FBaUJELENBcERNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgUG9pbnRNYXJrZXIgZnJvbSAnLi9Qb2ludE1hcmtlcic7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIG1hcDogYW55O1xuICBwb2ludHM6IGFueTtcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzOiBib29sZWFuO1xuICByZXJlbmRlcjogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBQb2ludE1hcmtlcnM6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgcG9pbnRzLFxuICAgIG1hcCxcbiAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSBmYWxzZSxcbiAgICByZXJlbmRlciA9IGZhbHNlLFxuICB9ID0gcHJvcHM7XG5cbiAgY29uc3QgaXNQb2ludEJlbG9uZ1RvR3JvdXBUeXBlcyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCcgfHxcbiAgICAgIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5JyAmJiBwb2ludC5oYXNfZGV2aWNlKSB8fFxuICAgICAgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkNvbGxlY3RvcnMnICYmIHBvaW50Lmhhc19kZXZpY2UpIHx8XG4gICAgICAocG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6UHVtcFN0YXRpb24nICYmIHBvaW50Lmhhc19kZXZpY2UpXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHNMb2dpYyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gICAgcmV0dXJuIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyA/IHBvaW50LnBhcnRfb2ZfbW9uaXRvcmVkX3BhdGggOiBmYWxzZTtcbiAgfTtcblxuICBjb25zdCBmaWx0ZXJTdGF0ZW1lbnQgPSAocG9pbnQpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzTG9naWMocG9pbnQpIHx8XG4gICAgICBpc1BvaW50QmVsb25nVG9Hcm91cFR5cGVzKHBvaW50KSB8fFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50J1xuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZmlsdGVyZWRQb2ludHMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHBvaW50cy5maWx0ZXIoKHBvaW50OiBJUG9pbnQpID0+IGZpbHRlclN0YXRlbWVudChwb2ludCkpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7fSwgW3JlcmVuZGVyXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAge3BvaW50cy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgZmlsdGVyZWRQb2ludHMoKS5tYXAoXG4gICAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+XG4gICAgICAgICAgICBwb2ludC5sYXRpdHVkZSAmJlxuICAgICAgICAgICAgcG9pbnQubG9uZ2l0dWRlICYmIChcbiAgICAgICAgICAgICAgPFBvaW50TWFya2VyXG4gICAgICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICAgICAgcG9pbnQ9e3BvaW50fVxuICAgICAgICAgICAgICAgIGtleT17cG9pbnQuaWR9XG4gICAgICAgICAgICAgICAgcmVyZW5kZXI9e3JlcmVuZGVyfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXX0=