@kando-env/kando-ui 1.2.249 → 1.2.251-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/lib/Router.js +5 -1
  2. package/lib/Widgets/Map/Map.js +100 -23
  3. package/lib/Widgets/Map/Map.scss +67 -0
  4. package/lib/Widgets/Map/MapUtils.js +27 -12
  5. package/lib/Widgets/Map/areas/AreaPolygons.js +3 -3
  6. package/lib/Widgets/Map/edges/Edge.js +2 -2
  7. package/lib/Widgets/Map/edges/Edge.scss +7 -2
  8. package/lib/Widgets/Map/edges/Edges.js +14 -2
  9. package/lib/Widgets/Map/events/EventIndicator.js +2 -2
  10. package/lib/Widgets/Map/events/EventPath.js +1 -1
  11. package/lib/Widgets/Map/events/EventUtils.js +23 -17
  12. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +6 -2
  13. package/lib/Widgets/Map/events/PointOfEvent.js +10 -7
  14. package/lib/Widgets/Map/points/PointIcon.js +44 -0
  15. package/lib/Widgets/Map/points/PointIcon.scss +230 -0
  16. package/lib/Widgets/Map/points/PointMarker.js +22 -19
  17. package/lib/Widgets/Map/points/PointMarkers.js +62 -13
  18. package/lib/Widgets/Map/points/PointUtils.js +83 -33
  19. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +5 -5
  20. package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
  21. package/lib/Widgets/MostPolluting/MostPolluting.js +17 -8
  22. package/lib/Widgets/UtilityInformation/UtilityInformation.js +9 -15
  23. package/lib/assets/icons/pin/pin-matash-white.svg +8 -42
  24. package/lib/assets/icons/plus_v.svg +13 -0
  25. package/lib/assets/icons/water_reuse.svg +27 -0
  26. package/lib/assets/map/pin-matash-clicked.svg +12 -0
  27. package/lib/assets/map/pin-matash-white.svg +8 -28
  28. package/lib/assets/map/pin-plant-clicked.svg +10 -0
  29. package/lib/assets/map/pin-plant-white.svg +6 -28
  30. package/lib/assets/map/pin-suction-clicked.svg +10 -0
  31. package/lib/assets/map/pin-suction.svg +6 -23
  32. package/lib/assets/map/pin-water-clicked.svg +11 -0
  33. package/lib/assets/map/pin-water.svg +7 -17
  34. package/lib/assets/point_icons/WWTP-icon.svg +8 -21
  35. package/lib/assets/point_icons/factory-icon.svg +6 -21
  36. package/lib/assets/point_icons/pump-station-icon.svg +6 -16
  37. package/lib/components/CustomInputs/Select/Select.js +22 -4
  38. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +8 -2
  39. package/lib/components/Header/InfoBar/InfoBar.js +7 -1
  40. package/lib/components/Header/Slideshow/Slideshow.js +5 -5
  41. package/lib/hooks/useInitializeHeaders.js +2 -3
  42. package/lib/hooks/useMap.js +4 -14
  43. package/lib/i18n/en.json +38 -2
  44. package/lib/i18n/en_uk.json +23 -0
  45. package/lib/i18n/fr.json +23 -0
  46. package/lib/i18n/he.json +33 -0
  47. package/lib/i18n/it.json +23 -0
  48. package/lib/index.js +9 -1
  49. package/lib/macros/getVersion.js +2 -2
  50. package/lib/pages/AreaPage/AreaPage.js +9 -5
  51. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +4 -2
  52. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +20 -4
  53. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +4 -4
  54. package/lib/pages/EventsPage/events/EventsStyle.scss +1 -0
  55. package/lib/pages/EventsPage/events/event_info/EventInfo.js +3 -2
  56. package/lib/pages/EventsPage/events/events_list/EventsList.js +18 -32
  57. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +5 -1
  58. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +11 -7
  59. package/lib/pages/OldSitePage/IDashboardData.js +1 -1
  60. package/lib/pages/ProfilePage/Container.js +2 -2
  61. package/lib/pages/ProfilePage/ProfilePage.js +154 -48
  62. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +3 -1
  63. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +2 -2
  64. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +4 -4
  65. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +6 -6
  66. package/lib/pages/SitePage/SitePage.js +4 -6
  67. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +11 -23
  68. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +23 -6
  69. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +17 -0
  70. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +15 -6
  71. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +4 -2
  72. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +67 -0
  73. package/lib/pages/WbeDashboard/WbeDashboardPage.js +15 -10
  74. package/lib/store/WBE/models/IWBE.js +1 -1
  75. package/lib/store/events/models/IEvent.js +1 -1
  76. package/lib/store/global/actions.js +5 -3
  77. package/lib/store/global/models/IGlobalState.js +1 -1
  78. package/lib/store/permissions/permissionsSlice.js +1 -3
  79. package/lib/store/points/models/IGroup.js +1 -1
  80. package/lib/store/points/models/IPoint.js +1 -1
  81. package/lib/ui-kit/KandoTable/KandoTable.js +4 -4
  82. package/lib/utilities/Analytics.js +2 -1
  83. package/lib/utilities/edgesMath.js +5 -3
  84. package/lib/utilities/map/icons.js +19 -7
  85. package/lib/utilities/polylinedecorator.js +383 -0
  86. package/lib/utilities/urls.js +27 -1
  87. package/package.json +9 -4
package/lib/Router.js CHANGED
@@ -46,6 +46,7 @@ var _UploadLabResult = _interopRequireDefault(require("./pages/UploadLabResult")
46
46
  var _SlideshowRunner = _interopRequireDefault(require("./providers/Slideshow/SlideshowRunner"));
47
47
  var _SlideshowProvider = _interopRequireDefault(require("./providers/Slideshow/SlideshowProvider"));
48
48
  var _AssessmentPage = _interopRequireDefault(require("./pages/AssessmentPage/AssessmentPage"));
49
+ var _VirtualAreaDashboardPage = require("./pages/UtilityDashboardPage/VirtualAreaDashboardPage");
49
50
  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); }
50
51
  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; }
51
52
  var queryClient = new _reactQuery.QueryClient();
@@ -135,6 +136,9 @@ var Router = function Router() {
135
136
  }), /*#__PURE__*/_react.default.createElement(_reactToastify.ToastContainer, null), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Switch, null, /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
136
137
  path: "/dashboard_v2/index",
137
138
  component: _UtilityDashboardPage.UtilityDashboardPage
139
+ }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
140
+ path: '/dashboard_v2/varea/:areaID',
141
+ component: _VirtualAreaDashboardPage.VirtualAreaDashboardPage
138
142
  }), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
139
143
  path: "/dashboard_v2/area/:areaID",
140
144
  component: _AreaPage.AreaPage,
@@ -204,4 +208,4 @@ var AppSpinner = (0, _styledComponents.default)(_Spinner.Spinner).withConfig({
204
208
  displayName: "Router__AppSpinner",
205
209
  componentId: "sc-6ilswc-1"
206
210
  })(["height:100vh;"]);
207
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfYXhpb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0UXVlcnkiLCJfcmVhY3RSb3V0ZXJEb20iLCJfcmVhY3RUb2FzdGlmeSIsIl9yZWFjdFJlZHV4IiwiX05vdGlmaWNhdGlvbnNQYWdlIiwiX1NhbXBsaW5nc1BhZ2UiLCJfU3R5bGVzTGF5b3V0IiwiX1VybEhpc3RvcnlQcm92aWRlciIsIl91c2VRdWVyeVVSTCIsIl9wZXJtaXNzaW9uc1NsaWNlIiwiX1NhbXBsaW5nUHJvcGVydGllcyIsIl9JbXBvcnRHaXNDb250YWluZXIiLCJfSW1wb3J0R2lzUHJvY2VzcyIsIl9FdmVudHNQYWdlIiwiX0ZlZWRiYWNrIiwiX0FyZWFQYWdlIiwiX1Byb2ZpbGVQYWdlIiwiX1NpdGVQYWdlIiwiX1V0aWxpdHlEYXNoYm9hcmRQYWdlIiwiX1diZURhc2hib2FyZFBhZ2UiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9HZXREaXIiLCJfaTE4biIsIl9TcGlubmVyIiwiX1Rvb2xiYXIiLCJfVXBsb2FkTGFiUmVzdWx0IiwiX1NsaWRlc2hvd1J1bm5lciIsIl9TbGlkZXNob3dQcm92aWRlciIsIl9Bc3Nlc3NtZW50UGFnZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwicXVlcnlDbGllbnQiLCJRdWVyeUNsaWVudCIsIlJvdXRlciIsInF1ZXJ5VXJsIiwidXNlUXVlcnlVUkwiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwibG9jYWxlUHJlZml4Iiwic2V0TG9jYWxlUHJlZml4IiwicXVlcnkiLCJ3YXRlckF1dGhvcml0eUlkRnJvbVVybCIsInBhcnNlSW50IiwidXNlRWZmZWN0IiwiRmV0Y2hQZXJtaXNzaW9ucyIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIl9yZXMkZGF0YSIsInJlcyIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJheGlvcyIsInBhcmFtcyIsIndhdGVyX2F1dGhvcml0eV9pZCIsInNlbnQiLCJkYXRhIiwic2V0V2F0ZXJBdXRob3JpdHkiLCJpZCIsIm5hbWUiLCJ3YXRlcl9hdXRob3JpdHlfbmFtZSIsIlBlcm1pc3Npb25zU2xpY2UiLCJhY3Rpb25zIiwic2V0RGFzaGJvYXJkUGVybWlzc2lvbiIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsInVwZGF0ZUxhbmd1YWdlIiwibG9jYWxlIiwiX2NhbGxlZTIiLCJwcmVmaXgiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJpMThuIiwiY2hhbmdlTGFuZ3VhZ2UiLCJjcmVhdGVFbGVtZW50IiwiQXBwTG9hZGVyIiwiQXBwU3Bpbm5lciIsImxlbmd0aCIsIlF1ZXJ5Q2xpZW50UHJvdmlkZXIiLCJjbGllbnQiLCJjbGFzc05hbWUiLCJUb29sYmFyIiwiaGFzU2VhcmNoIiwiVG9hc3RDb250YWluZXIiLCJTd2l0Y2giLCJSb3V0ZSIsInBhdGgiLCJjb21wb25lbnQiLCJVdGlsaXR5RGFzaGJvYXJkUGFnZSIsIkFyZWFQYWdlIiwiZXhhY3QiLCJTaXRlUGFnZSIsIlByb2ZpbGVQYWdlIiwiRmVlZGJhY2siLCJFdmVudHNQYWdlIiwiSW1wb3J0UGxhbm5pbmdzIiwiVXBsb2FkTGFiUmVzdWx0IiwiSW1wb3J0R2lzUHJvY2VzcyIsIldiZURhc2hib2FyZFBhZ2UiLCJTYW1wbGluZ3NQYWdlIiwiU2FtcGxpbmdQcm9wZXJ0aWVzIiwiTm90aWZpY2F0aW9uc1BhZ2UiLCJBc3Nlc3NtZW50UGFnZSIsIlNsaWRlc2hvd1J1bm5lciIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU3Bpbm5lciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Sb3V0ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnbGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzJztcbmltcG9ydCAncmVhY3QtdG9hc3RpZnkvZGlzdC9SZWFjdFRvYXN0aWZ5LmNzcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50LCBRdWVyeUNsaWVudFByb3ZpZGVyIH0gZnJvbSAncmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgUm91dGUsIFN3aXRjaCB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgVG9hc3RDb250YWluZXIgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcblxuaW1wb3J0IE5vdGlmaWNhdGlvbnNQYWdlIGZyb20gJ3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL05vdGlmaWNhdGlvbnNQYWdlJztcbmltcG9ydCBTYW1wbGluZ3NQYWdlIGZyb20gJ3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlJztcbmltcG9ydCBTdHlsZXNMYXlvdXQgZnJvbSAnc3JjL3N0eWxlcy9TdHlsZXNMYXlvdXQnO1xuaW1wb3J0IFVybEhpc3RvcnlQcm92aWRlciBmcm9tICdzcmMvcHJvdmlkZXJzL1VybEhpc3RvcnkvVXJsSGlzdG9yeVByb3ZpZGVyJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICdzcmMvaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnNTbGljZSB9IGZyb20gJ3NyYy9zdG9yZS9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc1NsaWNlJztcbmltcG9ydCB7IFNhbXBsaW5nUHJvcGVydGllcyB9IGZyb20gJ3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXMnO1xuXG5pbXBvcnQgSW1wb3J0UGxhbm5pbmdzIGZyb20gJy4vcGFnZXMvSW1wb3J0R2lzUGFnZS9JbXBvcnRHaXNDb250YWluZXInO1xuaW1wb3J0IEltcG9ydEdpc1Byb2Nlc3MgZnJvbSAnLi9wYWdlcy9JbXBvcnRHaXNQcm9jZXNzJztcbmltcG9ydCBFdmVudHNQYWdlIGZyb20gJy4vcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNQYWdlJztcbmltcG9ydCBGZWVkYmFjayBmcm9tICcuL3BhZ2VzL0Nhbm55V2lkZ2V0L0ZlZWRiYWNrJztcbmltcG9ydCB7IEFyZWFQYWdlIH0gZnJvbSAnLi9wYWdlcy9BcmVhUGFnZS9BcmVhUGFnZSc7XG5pbXBvcnQgeyBQcm9maWxlUGFnZSB9IGZyb20gJy4vcGFnZXMvUHJvZmlsZVBhZ2UvUHJvZmlsZVBhZ2UnO1xuaW1wb3J0IHsgU2l0ZVBhZ2UgfSBmcm9tICcuL3BhZ2VzL1NpdGVQYWdlL1NpdGVQYWdlJztcbmltcG9ydCB7IFV0aWxpdHlEYXNoYm9hcmRQYWdlIH0gZnJvbSAnLi9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9VdGlsaXR5RGFzaGJvYXJkUGFnZSc7XG5pbXBvcnQgeyBXYmVEYXNoYm9hcmRQYWdlIH0gZnJvbSAnLi9wYWdlcy9XYmVEYXNoYm9hcmQvV2JlRGFzaGJvYXJkUGFnZSc7XG5cbmltcG9ydCB7IHNldFdhdGVyQXV0aG9yaXR5IH0gZnJvbSAnLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyB1cGRhdGVMYW5ndWFnZSB9IGZyb20gJy4vc3RvcmUvY29udGV4dC9hY3Rpb25zJztcblxuaW1wb3J0IEdldERpciBmcm9tICcuL3V0aWxpdGllcy9HZXREaXInO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi91dGlsaXRpZXMvaTE4bic7XG5cbmltcG9ydCAnLi9tYWNyb3MvZ2V0VmVyc2lvbic7XG5pbXBvcnQgJy4vc3R5bGVzLnNjc3MnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4vY29tcG9uZW50cy9TcGlubmVyL1NwaW5uZXInO1xuaW1wb3J0IHsgVG9vbGJhciB9IGZyb20gJy4vY29tcG9uZW50cy9IZWFkZXIvVG9vbGJhci9Ub29sYmFyJztcbmltcG9ydCBVcGxvYWRMYWJSZXN1bHQgZnJvbSAnLi9wYWdlcy9VcGxvYWRMYWJSZXN1bHQnO1xuaW1wb3J0IFNsaWRlc2hvd1J1bm5lciBmcm9tICcuL3Byb3ZpZGVycy9TbGlkZXNob3cvU2xpZGVzaG93UnVubmVyJztcbmltcG9ydCBTbGlkZXNob3dQcm92aWRlciBmcm9tICcuL3Byb3ZpZGVycy9TbGlkZXNob3cvU2xpZGVzaG93UHJvdmlkZXInO1xuaW1wb3J0IEFzc2Vzc21lbnRQYWdlIGZyb20gJy4vcGFnZXMvQXNzZXNzbWVudFBhZ2UvQXNzZXNzbWVudFBhZ2UnO1xuXG5jb25zdCBxdWVyeUNsaWVudCA9IG5ldyBRdWVyeUNsaWVudCgpO1xuXG5jb25zdCBSb3V0ZXIgPSAoKSA9PiB7XG4gIGNvbnN0IHF1ZXJ5VXJsID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbG9jYWxlUHJlZml4LCBzZXRMb2NhbGVQcmVmaXhdID0gdXNlU3RhdGU8c3RyaW5nPigpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsID0gcGFyc2VJbnQoXG4gICAgcXVlcnkuZ2V0KCd3YXRlcl9hdXRob3JpdHlfaWQnKSB8fCAnMCcsXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBGZXRjaFBlcm1pc3Npb25zID0gYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgYXhpb3MuZ2V0KCcvcGVybWlzc2lvbnMnLCB7XG4gICAgICAgIHBhcmFtczogeyB3YXRlcl9hdXRob3JpdHlfaWQ6IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKHJlcz8uZGF0YT8uZGF0YSkge1xuICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICBzZXRXYXRlckF1dGhvcml0eSh7XG4gICAgICAgICAgICBpZDogd2F0ZXJBdXRob3JpdHlJZEZyb21VcmwsXG4gICAgICAgICAgICBuYW1lOiByZXMuZGF0YS5kYXRhLndhdGVyX2F1dGhvcml0eV9uYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgIFBlcm1pc3Npb25zU2xpY2UuYWN0aW9ucy5zZXREYXNoYm9hcmRQZXJtaXNzaW9uKHJlcy5kYXRhLmRhdGEpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAod2F0ZXJBdXRob3JpdHlJZEZyb21VcmwpIHtcbiAgICAgIEZldGNoUGVybWlzc2lvbnMoKTtcbiAgICB9XG4gIH0sIFt3YXRlckF1dGhvcml0eUlkRnJvbVVybF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2godXBkYXRlTGFuZ3VhZ2UoeyBsb2NhbGU6IGxvY2FsZVByZWZpeCB9KSk7XG4gIH0sIFtkaXNwYXRjaCwgbG9jYWxlUHJlZml4XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcHJlZml4ID0gcXVlcnlVcmwuaGFzKCdsb2NhbGUnKVxuICAgICAgICA/IChxdWVyeVVybC5nZXQoJ2xvY2FsZScpIGFzIHN0cmluZylcbiAgICAgICAgOiAnZW4nO1xuXG4gICAgICBpMThuLmNoYW5nZUxhbmd1YWdlKHByZWZpeCk7XG4gICAgICBzZXRMb2NhbGVQcmVmaXgocHJlZml4KTtcbiAgICB9KSgpO1xuICB9LCBbcXVlcnlVcmxdKTtcblxuICBpZiAoIWxvY2FsZVByZWZpeCkge1xuICAgIHJldHVybiAoXG4gICAgICA8QXBwTG9hZGVyPlxuICAgICAgICA8QXBwU3Bpbm5lciBsZW5ndGg9XCI4MHB4XCIgLz5cbiAgICAgIDwvQXBwTG9hZGVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxRdWVyeUNsaWVudFByb3ZpZGVyIGNsaWVudD17cXVlcnlDbGllbnR9PlxuICAgICAgPFVybEhpc3RvcnlQcm92aWRlcj5cbiAgICAgICAgPFNsaWRlc2hvd1Byb3ZpZGVyPlxuICAgICAgICAgIDxTdHlsZXNMYXlvdXQ+XG4gICAgICAgICAgICA8R2V0RGlyIGxvY2FsZT17bG9jYWxlUHJlZml4fSBjbGFzc05hbWU9e2xvY2FsZVByZWZpeH0+XG4gICAgICAgICAgICAgIDxUb29sYmFyIGhhc1NlYXJjaD17dHJ1ZX0gLz5cbiAgICAgICAgICAgICAgPFRvYXN0Q29udGFpbmVyIC8+XG4gICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL2Rhc2hib2FyZF92Mi9pbmRleFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1V0aWxpdHlEYXNoYm9hcmRQYWdlfVxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvZGFzaGJvYXJkX3YyL2FyZWEvOmFyZWFJRFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0FyZWFQYWdlfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL2Rhc2hib2FyZF92Mi9zaXRlLzpzaXRlSURcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtTaXRlUGFnZX1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL3Byb2ZpbGVzL2luZGV4XCIgY29tcG9uZW50PXtQcm9maWxlUGFnZX0gZXhhY3QgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2ZlZWRiYWNrXCI+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIipcIiBjb21wb25lbnQ9e0ZlZWRiYWNrfSAvPlxuICAgICAgICAgICAgICAgIDwvUm91dGU+XG5cbiAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9ldmVudHNfdmlldy9pbmRleFwiIGNvbXBvbmVudD17RXZlbnRzUGFnZX0gZXhhY3QgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9pbXBvcnRfcGxhbm5pbmdzL2luZGV4XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17SW1wb3J0UGxhbm5pbmdzfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL3NhbXBsaW5ncy1saXN0L3VwbG9hZF9sYWJfcmVzdWx0XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17VXBsb2FkTGFiUmVzdWx0fVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL2ltcG9ydF9naXNfcHJvY2Vzcy9pbmRleFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0ltcG9ydEdpc1Byb2Nlc3N9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvd2JlX2Rhc2hib2FyZC9pbmRleFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1diZURhc2hib2FyZFBhZ2V9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvc2FtcGxpbmdzLWxpc3QvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtTYW1wbGluZ3NQYWdlfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL3NhbXBsaW5nLXByb3BlcnRpZXMvOnNhbXBsZUlkXCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17U2FtcGxpbmdQcm9wZXJ0aWVzfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL25vdGlmaWNhdGlvbnMvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtOb3RpZmljYXRpb25zUGFnZX1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL21hcC9pbmRleFwiIGNvbXBvbmVudD17QXNzZXNzbWVudFBhZ2V9IGV4YWN0IC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvc3RhcnQvc2xpZGVzaG93XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17U2xpZGVzaG93UnVubmVyfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgIDwvR2V0RGlyPlxuICAgICAgICAgIDwvU3R5bGVzTGF5b3V0PlxuICAgICAgICA8L1NsaWRlc2hvd1Byb3ZpZGVyPlxuICAgICAgPC9VcmxIaXN0b3J5UHJvdmlkZXI+XG4gICAgPC9RdWVyeUNsaWVudFByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUm91dGVyO1xuXG5jb25zdCBBcHBMb2FkZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwdnc7XG5gO1xuXG5jb25zdCBBcHBTcGlubmVyID0gc3R5bGVkKFNwaW5uZXIpYFxuICBoZWlnaHQ6IDEwMHZoO1xuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUFBLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGNBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQVIsT0FBQTtBQUVBLElBQUFTLGtCQUFBLEdBQUFMLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBVSxjQUFBLEdBQUFOLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBVyxhQUFBLEdBQUFQLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBWSxtQkFBQSxHQUFBUixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWEsWUFBQSxHQUFB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
211
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfYXhpb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0UXVlcnkiLCJfcmVhY3RSb3V0ZXJEb20iLCJfcmVhY3RUb2FzdGlmeSIsIl9yZWFjdFJlZHV4IiwiX05vdGlmaWNhdGlvbnNQYWdlIiwiX1NhbXBsaW5nc1BhZ2UiLCJfU3R5bGVzTGF5b3V0IiwiX1VybEhpc3RvcnlQcm92aWRlciIsIl91c2VRdWVyeVVSTCIsIl9wZXJtaXNzaW9uc1NsaWNlIiwiX1NhbXBsaW5nUHJvcGVydGllcyIsIl9JbXBvcnRHaXNDb250YWluZXIiLCJfSW1wb3J0R2lzUHJvY2VzcyIsIl9FdmVudHNQYWdlIiwiX0ZlZWRiYWNrIiwiX0FyZWFQYWdlIiwiX1Byb2ZpbGVQYWdlIiwiX1NpdGVQYWdlIiwiX1V0aWxpdHlEYXNoYm9hcmRQYWdlIiwiX1diZURhc2hib2FyZFBhZ2UiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9HZXREaXIiLCJfaTE4biIsIl9TcGlubmVyIiwiX1Rvb2xiYXIiLCJfVXBsb2FkTGFiUmVzdWx0IiwiX1NsaWRlc2hvd1J1bm5lciIsIl9TbGlkZXNob3dQcm92aWRlciIsIl9Bc3Nlc3NtZW50UGFnZSIsIl9WaXJ0dWFsQXJlYURhc2hib2FyZFBhZ2UiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsInF1ZXJ5Q2xpZW50IiwiUXVlcnlDbGllbnQiLCJSb3V0ZXIiLCJxdWVyeVVybCIsInVzZVF1ZXJ5VVJMIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImxvY2FsZVByZWZpeCIsInNldExvY2FsZVByZWZpeCIsInF1ZXJ5Iiwid2F0ZXJBdXRob3JpdHlJZEZyb21VcmwiLCJwYXJzZUludCIsInVzZUVmZmVjdCIsIkZldGNoUGVybWlzc2lvbnMiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJfcmVzJGRhdGEiLCJyZXMiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiYXhpb3MiLCJwYXJhbXMiLCJ3YXRlcl9hdXRob3JpdHlfaWQiLCJzZW50IiwiZGF0YSIsInNldFdhdGVyQXV0aG9yaXR5IiwiaWQiLCJuYW1lIiwid2F0ZXJfYXV0aG9yaXR5X25hbWUiLCJQZXJtaXNzaW9uc1NsaWNlIiwiYWN0aW9ucyIsInNldERhc2hib2FyZFBlcm1pc3Npb24iLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJ1cGRhdGVMYW5ndWFnZSIsImxvY2FsZSIsIl9jYWxsZWUyIiwicHJlZml4IiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwiaTE4biIsImNoYW5nZUxhbmd1YWdlIiwiY3JlYXRlRWxlbWVudCIsIkFwcExvYWRlciIsIkFwcFNwaW5uZXIiLCJsZW5ndGgiLCJRdWVyeUNsaWVudFByb3ZpZGVyIiwiY2xpZW50IiwiY2xhc3NOYW1lIiwiVG9vbGJhciIsImhhc1NlYXJjaCIsIlRvYXN0Q29udGFpbmVyIiwiU3dpdGNoIiwiUm91dGUiLCJwYXRoIiwiY29tcG9uZW50IiwiVXRpbGl0eURhc2hib2FyZFBhZ2UiLCJWaXJ0dWFsQXJlYURhc2hib2FyZFBhZ2UiLCJBcmVhUGFnZSIsImV4YWN0IiwiU2l0ZVBhZ2UiLCJQcm9maWxlUGFnZSIsIkZlZWRiYWNrIiwiRXZlbnRzUGFnZSIsIkltcG9ydFBsYW5uaW5ncyIsIlVwbG9hZExhYlJlc3VsdCIsIkltcG9ydEdpc1Byb2Nlc3MiLCJXYmVEYXNoYm9hcmRQYWdlIiwiU2FtcGxpbmdzUGFnZSIsIlNhbXBsaW5nUHJvcGVydGllcyIsIk5vdGlmaWNhdGlvbnNQYWdlIiwiQXNzZXNzbWVudFBhZ2UiLCJTbGlkZXNob3dSdW5uZXIiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNwaW5uZXIiXSwic291cmNlcyI6WyIuLi9zcmMvUm91dGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ2xlYWZsZXQvZGlzdC9sZWFmbGV0LmNzcyc7XG5pbXBvcnQgJ3JlYWN0LXRvYXN0aWZ5L2Rpc3QvUmVhY3RUb2FzdGlmeS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBRdWVyeUNsaWVudCwgUXVlcnlDbGllbnRQcm92aWRlciB9IGZyb20gJ3JlYWN0LXF1ZXJ5JztcbmltcG9ydCB7IFJvdXRlLCBTd2l0Y2ggfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFRvYXN0Q29udGFpbmVyIH0gZnJvbSAncmVhY3QtdG9hc3RpZnknO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmltcG9ydCBOb3RpZmljYXRpb25zUGFnZSBmcm9tICdzcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9Ob3RpZmljYXRpb25zUGFnZSc7XG5pbXBvcnQgU2FtcGxpbmdzUGFnZSBmcm9tICdzcmMvcGFnZXMvU2FtcGxpbmdzUGFnZSc7XG5pbXBvcnQgU3R5bGVzTGF5b3V0IGZyb20gJ3NyYy9zdHlsZXMvU3R5bGVzTGF5b3V0JztcbmltcG9ydCBVcmxIaXN0b3J5UHJvdmlkZXIgZnJvbSAnc3JjL3Byb3ZpZGVycy9VcmxIaXN0b3J5L1VybEhpc3RvcnlQcm92aWRlcic7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnc3JjL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IFBlcm1pc3Npb25zU2xpY2UgfSBmcm9tICdzcmMvc3RvcmUvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNTbGljZSc7XG5pbXBvcnQgeyBTYW1wbGluZ1Byb3BlcnRpZXMgfSBmcm9tICdzcmMvcGFnZXMvU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvU2FtcGxpbmdQcm9wZXJ0aWVzJztcblxuaW1wb3J0IEltcG9ydFBsYW5uaW5ncyBmcm9tICcuL3BhZ2VzL0ltcG9ydEdpc1BhZ2UvSW1wb3J0R2lzQ29udGFpbmVyJztcbmltcG9ydCBJbXBvcnRHaXNQcm9jZXNzIGZyb20gJy4vcGFnZXMvSW1wb3J0R2lzUHJvY2Vzcyc7XG5pbXBvcnQgRXZlbnRzUGFnZSBmcm9tICcuL3BhZ2VzL0V2ZW50c1BhZ2UvRXZlbnRzUGFnZSc7XG5pbXBvcnQgRmVlZGJhY2sgZnJvbSAnLi9wYWdlcy9DYW5ueVdpZGdldC9GZWVkYmFjayc7XG5pbXBvcnQgeyBBcmVhUGFnZSB9IGZyb20gJy4vcGFnZXMvQXJlYVBhZ2UvQXJlYVBhZ2UnO1xuaW1wb3J0IHsgUHJvZmlsZVBhZ2UgfSBmcm9tICcuL3BhZ2VzL1Byb2ZpbGVQYWdlL1Byb2ZpbGVQYWdlJztcbmltcG9ydCB7IFNpdGVQYWdlIH0gZnJvbSAnLi9wYWdlcy9TaXRlUGFnZS9TaXRlUGFnZSc7XG5pbXBvcnQgeyBVdGlsaXR5RGFzaGJvYXJkUGFnZSB9IGZyb20gJy4vcGFnZXMvVXRpbGl0eURhc2hib2FyZFBhZ2UvVXRpbGl0eURhc2hib2FyZFBhZ2UnO1xuaW1wb3J0IHsgV2JlRGFzaGJvYXJkUGFnZSB9IGZyb20gJy4vcGFnZXMvV2JlRGFzaGJvYXJkL1diZURhc2hib2FyZFBhZ2UnO1xuXG5pbXBvcnQgeyBzZXRXYXRlckF1dGhvcml0eSB9IGZyb20gJy4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgdXBkYXRlTGFuZ3VhZ2UgfSBmcm9tICcuL3N0b3JlL2NvbnRleHQvYWN0aW9ucyc7XG5cbmltcG9ydCBHZXREaXIgZnJvbSAnLi91dGlsaXRpZXMvR2V0RGlyJztcbmltcG9ydCBpMThuIGZyb20gJy4vdXRpbGl0aWVzL2kxOG4nO1xuXG5pbXBvcnQgJy4vbWFjcm9zL2dldFZlcnNpb24nO1xuaW1wb3J0ICcuL3N0eWxlcy5zY3NzJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IFRvb2xiYXIgfSBmcm9tICcuL2NvbXBvbmVudHMvSGVhZGVyL1Rvb2xiYXIvVG9vbGJhcic7XG5pbXBvcnQgVXBsb2FkTGFiUmVzdWx0IGZyb20gJy4vcGFnZXMvVXBsb2FkTGFiUmVzdWx0JztcbmltcG9ydCBTbGlkZXNob3dSdW5uZXIgZnJvbSAnLi9wcm92aWRlcnMvU2xpZGVzaG93L1NsaWRlc2hvd1J1bm5lcic7XG5pbXBvcnQgU2xpZGVzaG93UHJvdmlkZXIgZnJvbSAnLi9wcm92aWRlcnMvU2xpZGVzaG93L1NsaWRlc2hvd1Byb3ZpZGVyJztcbmltcG9ydCBBc3Nlc3NtZW50UGFnZSBmcm9tICcuL3BhZ2VzL0Fzc2Vzc21lbnRQYWdlL0Fzc2Vzc21lbnRQYWdlJztcbmltcG9ydCB7IFZpcnR1YWxBcmVhRGFzaGJvYXJkUGFnZSB9IGZyb20gJy4vcGFnZXMvVXRpbGl0eURhc2hib2FyZFBhZ2UvVmlydHVhbEFyZWFEYXNoYm9hcmRQYWdlJztcblxuY29uc3QgcXVlcnlDbGllbnQgPSBuZXcgUXVlcnlDbGllbnQoKTtcblxuY29uc3QgUm91dGVyID0gKCkgPT4ge1xuICBjb25zdCBxdWVyeVVybCA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW2xvY2FsZVByZWZpeCwgc2V0TG9jYWxlUHJlZml4XSA9IHVzZVN0YXRlPHN0cmluZz4oKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCB3YXRlckF1dGhvcml0eUlkRnJvbVVybCA9IHBhcnNlSW50KFxuICAgIHF1ZXJ5LmdldCgnd2F0ZXJfYXV0aG9yaXR5X2lkJykgfHwgJzAnLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgRmV0Y2hQZXJtaXNzaW9ucyA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGF4aW9zLmdldCgnL3Blcm1pc3Npb25zJywge1xuICAgICAgICBwYXJhbXM6IHsgd2F0ZXJfYXV0aG9yaXR5X2lkOiB3YXRlckF1dGhvcml0eUlkRnJvbVVybCB9LFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChyZXM/LmRhdGE/LmRhdGEpIHtcbiAgICAgICAgZGlzcGF0Y2goXG4gICAgICAgICAgc2V0V2F0ZXJBdXRob3JpdHkoe1xuICAgICAgICAgICAgaWQ6IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsLFxuICAgICAgICAgICAgbmFtZTogcmVzLmRhdGEuZGF0YS53YXRlcl9hdXRob3JpdHlfbmFtZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICBQZXJtaXNzaW9uc1NsaWNlLmFjdGlvbnMuc2V0RGFzaGJvYXJkUGVybWlzc2lvbihyZXMuZGF0YS5kYXRhKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsKSB7XG4gICAgICBGZXRjaFBlcm1pc3Npb25zKCk7XG4gICAgfVxuICB9LCBbd2F0ZXJBdXRob3JpdHlJZEZyb21VcmxdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHVwZGF0ZUxhbmd1YWdlKHsgbG9jYWxlOiBsb2NhbGVQcmVmaXggfSkpO1xuICB9LCBbZGlzcGF0Y2gsIGxvY2FsZVByZWZpeF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IHF1ZXJ5VXJsLmhhcygnbG9jYWxlJylcbiAgICAgICAgPyAocXVlcnlVcmwuZ2V0KCdsb2NhbGUnKSBhcyBzdHJpbmcpXG4gICAgICAgIDogJ2VuJztcblxuICAgICAgaTE4bi5jaGFuZ2VMYW5ndWFnZShwcmVmaXgpO1xuICAgICAgc2V0TG9jYWxlUHJlZml4KHByZWZpeCk7XG4gICAgfSkoKTtcbiAgfSwgW3F1ZXJ5VXJsXSk7XG5cbiAgaWYgKCFsb2NhbGVQcmVmaXgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPEFwcExvYWRlcj5cbiAgICAgICAgPEFwcFNwaW5uZXIgbGVuZ3RoPVwiODBweFwiIC8+XG4gICAgICA8L0FwcExvYWRlcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8UXVlcnlDbGllbnRQcm92aWRlciBjbGllbnQ9e3F1ZXJ5Q2xpZW50fT5cbiAgICAgIDxVcmxIaXN0b3J5UHJvdmlkZXI+XG4gICAgICAgIDxTbGlkZXNob3dQcm92aWRlcj5cbiAgICAgICAgICA8U3R5bGVzTGF5b3V0PlxuICAgICAgICAgICAgPEdldERpciBsb2NhbGU9e2xvY2FsZVByZWZpeH0gY2xhc3NOYW1lPXtsb2NhbGVQcmVmaXh9PlxuICAgICAgICAgICAgICA8VG9vbGJhciBoYXNTZWFyY2g9e3RydWV9IC8+XG4gICAgICAgICAgICAgIDxUb2FzdENvbnRhaW5lciAvPlxuICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9kYXNoYm9hcmRfdjIvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtVdGlsaXR5RGFzaGJvYXJkUGFnZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD17Jy9kYXNoYm9hcmRfdjIvdmFyZWEvOmFyZWFJRCd9XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1ZpcnR1YWxBcmVhRGFzaGJvYXJkUGFnZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9kYXNoYm9hcmRfdjIvYXJlYS86YXJlYUlEXCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17QXJlYVBhZ2V9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvZGFzaGJvYXJkX3YyL3NpdGUvOnNpdGVJRFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1NpdGVQYWdlfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvcHJvZmlsZXMvaW5kZXhcIiBjb21wb25lbnQ9e1Byb2ZpbGVQYWdlfSBleGFjdCAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvZmVlZGJhY2tcIj5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiKlwiIGNvbXBvbmVudD17RmVlZGJhY2t9IC8+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2V2ZW50c192aWV3L2luZGV4XCIgY29tcG9uZW50PXtFdmVudHNQYWdlfSBleGFjdCAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL2ltcG9ydF9wbGFubmluZ3MvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtJbXBvcnRQbGFubmluZ3N9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvc2FtcGxpbmdzLWxpc3QvdXBsb2FkX2xhYl9yZXN1bHRcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtVcGxvYWRMYWJSZXN1bHR9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvaW1wb3J0X2dpc19wcm9jZXNzL2luZGV4XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17SW1wb3J0R2lzUHJvY2Vzc31cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi93YmVfZGFzaGJvYXJkL2luZGV4XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17V2JlRGFzaGJvYXJkUGFnZX1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9zYW1wbGluZ3MtbGlzdC9pbmRleFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1NhbXBsaW5nc1BhZ2V9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvc2FtcGxpbmctcHJvcGVydGllcy86c2FtcGxlSWRcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtTYW1wbGluZ1Byb3BlcnRpZXN9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvbm90aWZpY2F0aW9ucy9pbmRleFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e05vdGlmaWNhdGlvbnNQYWdlfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvbWFwL2luZGV4XCIgY29tcG9uZW50PXtBc3Nlc3NtZW50UGFnZX0gZXhhY3QgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9zdGFydC9zbGlkZXNob3dcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtTbGlkZXNob3dSdW5uZXJ9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgICAgPC9HZXREaXI+XG4gICAgICAgICAgPC9TdHlsZXNMYXlvdXQ+XG4gICAgICAgIDwvU2xpZGVzaG93UHJvdmlkZXI+XG4gICAgICA8L1VybEhpc3RvcnlQcm92aWRlcj5cbiAgICA8L1F1ZXJ5Q2xpZW50UHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBSb3V0ZXI7XG5cbmNvbnN0IEFwcExvYWRlciA9IHN0eWxlZC5kaXZgXG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbmA7XG5cbmNvbnN0IEFwcFNwaW5uZXIgPSBzdHlsZWQoU3Bpbm5lcilgXG4gIGhlaWdodDogMTAwdmg7XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQUEsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxH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
@@ -7,7 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.Map = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
- var _leaflet = _interopRequireDefault(require("leaflet"));
10
+ var L = _interopRequireWildcard(require("leaflet"));
11
+ require("leaflet.markercluster");
11
12
  var _react = _interopRequireWildcard(require("react"));
12
13
  var _reactRedux = require("react-redux");
13
14
  var _actions = require("store/global/actions");
@@ -15,14 +16,17 @@ var _ErrorBoundary = _interopRequireDefault(require("utilities/ErrorBoundary"));
15
16
  var _AreaPolygons = require("./areas/AreaPolygons");
16
17
  var _Edges = _interopRequireDefault(require("./edges/Edges"));
17
18
  require("./Map.scss");
19
+ require("./points/PointIcon.scss");
18
20
  var _PointMarkers = require("./points/PointMarkers");
19
21
  var _Event = require("./events/Event");
20
22
  var _MapUtils = require("./MapUtils");
21
23
  var _theme = require("../../styles/theme/theme");
24
+ var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
22
25
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
27
  // @ts-ignore
25
28
 
29
+ require('leaflet.markercluster');
26
30
  var Map = function Map(_ref) {
27
31
  var areas = _ref.areas,
28
32
  edges = _ref.edges,
@@ -37,9 +41,11 @@ var Map = function Map(_ref) {
37
41
  mapBoxStyle = _ref$mapBoxStyle === void 0 ? _theme.leafletMap.mapDefault : _ref$mapBoxStyle,
38
42
  children = _ref.children,
39
43
  _ref$includeUnmonitor = _ref.includeUnmonitoredPoints,
40
- includeUnmonitoredPoints = _ref$includeUnmonitor === void 0 ? false : _ref$includeUnmonitor,
44
+ includeUnmonitoredPoints = _ref$includeUnmonitor === void 0 ? true : _ref$includeUnmonitor,
41
45
  _ref$includeUnmonitor2 = _ref.includeUnmonitoredDescendantsForEdges,
42
- includeUnmonitoredDescendantsForEdges = _ref$includeUnmonitor2 === void 0 ? false : _ref$includeUnmonitor2;
46
+ includeUnmonitoredDescendantsForEdges = _ref$includeUnmonitor2 === void 0 ? false : _ref$includeUnmonitor2,
47
+ _ref$forEventsView = _ref.forEventsView,
48
+ forEventsView = _ref$forEventsView === void 0 ? false : _ref$forEventsView;
43
49
  var map = global_data.map;
44
50
  var mapRef = (0, _react.useRef)(null);
45
51
  var dispatch = (0, _reactRedux.useDispatch)();
@@ -56,17 +62,81 @@ var Map = function Map(_ref) {
56
62
  var focusedEventPresent = (0, _react.useMemo)(function () {
57
63
  return focusedEvent !== null && focusedEvent !== undefined;
58
64
  }, [focusedEvent]);
59
- var renderPoints = (0, _react.useMemo)(function () {
60
- return !eventsData.isFetching && mapRef.current !== null && !focusedEventPresent && /*#__PURE__*/_react.default.createElement(_PointMarkers.PointMarkers, {
65
+ var _useState3 = (0, _react.useState)(window.customLeaflet.markerClusterGroup({
66
+ spiderfyOnMaxZoom: false,
67
+ showCoverageOnHover: false,
68
+ zoomToBoundsOnClick: true,
69
+ animate: true,
70
+ disableClusteringAtZoom: 15,
71
+ removeOutsideVisibleBounds: false,
72
+ chunkedLoading: true,
73
+ iconCreateFunction: function iconCreateFunction(cluster) {
74
+ return new L.DivIcon({
75
+ html: "<div><span>".concat(cluster._childCount, "</span></div><div class='marker-cluster-name'>").concat(_i18n.default.t('industries'), "</div>"),
76
+ className: 'marker-cluster',
77
+ iconSize: new L.Point(40, 40)
78
+ });
79
+ }
80
+ })),
81
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 1),
82
+ factoriesClusterGroup = _useState4[0];
83
+ var _useState5 = (0, _react.useState)(L.layerGroup()),
84
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 1),
85
+ wwtpsLayerGroup = _useState6[0];
86
+ var _useState7 = (0, _react.useState)(L.layerGroup()),
87
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 1),
88
+ collectorsLayerGroup = _useState8[0];
89
+ //const [factoriesLayerGroup] = useState(L.layerGroup());
90
+
91
+ var memoizedPoints = (0, _react.useMemo)(function () {
92
+ return !eventsData.isFetching && mapRef.current !== null && /*#__PURE__*/_react.default.createElement(_PointMarkers.PointMarkers, {
61
93
  map: mapRef.current,
62
94
  points: points,
63
95
  includeUnmonitoredPoints: includeUnmonitoredPoints,
64
- rerender: focusedEventPresent
96
+ rerender: _MapUtils.zoomLevels[mapZoomLevel],
97
+ factoriesGroup: factoriesClusterGroup,
98
+ wwtpsGroup: wwtpsLayerGroup,
99
+ collectorsGroup: collectorsLayerGroup,
100
+ forEventsView: false
65
101
  });
66
- }, [eventsData.isFetching, mapRef.current, points, focusedEventPresent]);
67
- var activateZoomControlForIcons = (0, _react.useMemo)(function () {
68
- mapRef.current !== null && (0, _MapUtils.iconZoomControl)(mapRef.current);
69
- }, [mapRef.current, points, focusedEventPresent]);
102
+ }, [eventsData.isFetching, mapRef.current, points, focusedEventPresent, mapZoomLevel, factoriesClusterGroup, wwtpsLayerGroup, collectorsLayerGroup]);
103
+
104
+ // const activateZoomControlForIcons = useMemo(() => {
105
+ // mapRef.current !== null && iconZoomControl(mapRef.current);
106
+ // }, [mapRef.current, points, focusedEventPresent]);
107
+
108
+ var zoomRulesForEventsView = function zoomRulesForEventsView() {
109
+ var payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Edges.default, {
110
+ edges: edges,
111
+ map: mapRef.current,
112
+ L: L,
113
+ points: points,
114
+ hideEdges: hideEdges,
115
+ allowUnmonitoredDescendants: includeUnmonitoredDescendantsForEdges
116
+ }), memoizedPoints);
117
+ return payload;
118
+ };
119
+ var zoomRulesForDashaboardMaps = function zoomRulesForDashaboardMaps() {
120
+ console.warn(_MapUtils.zoomLevels[mapZoomLevel]);
121
+ var payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
122
+ switch (_MapUtils.zoomLevels[mapZoomLevel]) {
123
+ case 'Small':
124
+ case 'Medium':
125
+ payload = zoomRulesForEventsView();
126
+ break;
127
+ case 'MLarge':
128
+ case 'Large':
129
+ case 'XLarge':
130
+ default:
131
+ payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedPoints);
132
+ break;
133
+ }
134
+ return payload;
135
+ };
136
+ var memoizedZoomControl = (0, _react.useMemo)(function () {
137
+ var payload = forEventsView ? zoomRulesForEventsView() : zoomRulesForDashaboardMaps();
138
+ return payload;
139
+ }, [mapZoomLevel, eventsData.isFetching, focusedEvent, hoveredEvent, points]);
70
140
  var memoizedEvent = (0, _react.useMemo)(function () {
71
141
  if (focusedEventPresent) {
72
142
  focusedEvent.focused = focusedEventPresent;
@@ -85,9 +155,23 @@ var Map = function Map(_ref) {
85
155
  includeNetwork: !hoveredEventPresent
86
156
  });
87
157
  }, [focusedEvent, hoveredEvent, global_data.eventFilterParam]);
158
+ (0, _react.useEffect)(function () {
159
+ return function cleanup() {
160
+ var _mapRef$current;
161
+ collectorsLayerGroup.clearLayers();
162
+ (_mapRef$current = mapRef.current) === null || _mapRef$current === void 0 ? void 0 : _mapRef$current.removeLayer(collectorsLayerGroup);
163
+ };
164
+ }, [focusedEvent, hoveredEvent, global_data.eventFilterParam]);
88
165
  (0, _react.useEffect)(function () {
89
166
  (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, _theme.leafletMap.satellite, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel);
90
167
  return function cleanup() {
168
+ var _mapRef$current2, _mapRef$current3, _mapRef$current4;
169
+ factoriesClusterGroup.clearLayers();
170
+ wwtpsLayerGroup.clearLayers();
171
+ collectorsLayerGroup.clearLayers();
172
+ (_mapRef$current2 = mapRef.current) === null || _mapRef$current2 === void 0 ? void 0 : _mapRef$current2.removeLayer(factoriesClusterGroup);
173
+ (_mapRef$current3 = mapRef.current) === null || _mapRef$current3 === void 0 ? void 0 : _mapRef$current3.removeLayer(wwtpsLayerGroup);
174
+ (_mapRef$current4 = mapRef.current) === null || _mapRef$current4 === void 0 ? void 0 : _mapRef$current4.removeLayer(collectorsLayerGroup);
91
175
  // @ts-ignore
92
176
  mapRef.current.remove();
93
177
  dispatch((0, _actions.storeMap)(undefined));
@@ -97,29 +181,22 @@ var Map = function Map(_ref) {
97
181
  if (!mapRef.current) {
98
182
  (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, _theme.leafletMap.satellite, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel);
99
183
  } else {
100
- (0, _MapUtils.areaFocusLogic)(mapRef, _MapUtils.isValidArea, areaToCenterBy);
184
+ (0, _MapUtils.areaFocusLogic)(mapRef, _MapUtils.isValidArea, areaToCenterBy ? areaToCenterBy : areas[0]);
101
185
  }
102
- }, [areaToCenterBy]);
186
+ }, [areaToCenterBy, areas]);
103
187
  return /*#__PURE__*/_react.default.createElement("div", {
104
188
  className: "kd-map-container"
105
189
  }, /*#__PURE__*/_react.default.createElement("div", {
106
190
  className: " map-container ".concat(global_data.sidenavExpanded ? '' : 'map-container--sidenav-collapsed')
107
191
  }, /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, /*#__PURE__*/_react.default.createElement("div", {
108
192
  id: "map"
109
- }), (0, _MapUtils.shouldLoadMapObjects)(global_data, mapRef, edges, points) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderPoints, /*#__PURE__*/_react.default.createElement(_AreaPolygons.AreaPolygons, {
193
+ }), (0, _MapUtils.shouldLoadMapObjects)(global_data, mapRef, edges, points) && /*#__PURE__*/_react.default.createElement(_AreaPolygons.AreaPolygons, {
110
194
  areas: areas,
111
195
  map: mapRef.current,
112
- L: _leaflet.default,
196
+ L: L,
113
197
  areaToCenterBy: areaToCenterBy,
114
198
  mapZoom: mapZoomLevel
115
- }), /*#__PURE__*/_react.default.createElement(_Edges.default, {
116
- edges: edges,
117
- map: mapRef.current,
118
- L: _leaflet.default,
119
- points: points,
120
- hideEdges: hideEdges,
121
- allowUnmonitoredDescendants: includeUnmonitoredDescendantsForEdges
122
- })), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent, activateZoomControlForIcons, children))));
199
+ }), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent, memoizedZoomControl, children))));
123
200
  };
124
201
  exports.Map = Map;
125
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX0Vycm9yQm91bmRhcnkiLCJfQXJlYVBvbHlnb25zIiwiX0VkZ2VzIiwiX1BvaW50TWFya2VycyIsIl9FdmVudCIsIl9NYXBVdGlscyIsIl90aGVtZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiTWFwIiwiX3JlZiIsImFyZWFzIiwiZWRnZXMiLCJwb2ludHMiLCJnbG9iYWxfZGF0YSIsImFyZWFUb0NlbnRlckJ5IiwiZm9jdXNlZEV2ZW50IiwiaG92ZXJlZEV2ZW50IiwiX3JlZiRoaWRlRWRnZXMiLCJoaWRlRWRnZXMiLCJfcmVmJG1hcEJveFN0eWxlIiwibWFwQm94U3R5bGUiLCJsZWFmbGV0TWFwIiwibWFwRGVmYXVsdCIsImNoaWxkcmVuIiwiX3JlZiRpbmNsdWRlVW5tb25pdG9yIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiX3JlZiRpbmNsdWRlVW5tb25pdG9yMiIsImluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMiLCJtYXAiLCJtYXBSZWYiLCJ1c2VSZWYiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiZXZlbnRzRGF0YSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJldmVudHNfZGF0YSIsImhvdmVyZWRFdmVudFByZXNlbnQiLCJ1c2VNZW1vIiwidW5kZWZpbmVkIiwiZm9jdXNlZEV2ZW50UHJlc2VudCIsInJlbmRlclBvaW50cyIsImlzRmV0Y2hpbmciLCJjdXJyZW50IiwiY3JlYXRlRWxlbWVudCIsIlBvaW50TWFya2VycyIsInJlcmVuZGVyIiwiYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zIiwiaWNvblpvb21Db250cm9sIiwibWVtb2l6ZWRFdmVudCIsImZvY3VzZWQiLCJob3ZlcmVkIiwiRnJhZ21lbnQiLCJFdmVudCIsImV2ZW50IiwiaW5jbHVkZU5ldHdvcmsiLCJldmVudEZpbHRlclBhcmFtIiwidXNlRWZmZWN0IiwiaW5pdGlhbGl6ZU1hcCIsInNhdGVsbGl0ZSIsImlzVmFsaWRBcmVhIiwiY2xlYW51cCIsInJlbW92ZSIsInN0b3JlTWFwIiwid2F0ZXJBdXRob3JpdHlJZCIsImFyZWFGb2N1c0xvZ2ljIiwiY2xhc3NOYW1lIiwiY29uY2F0Iiwic2lkZW5hdkV4cGFuZGVkIiwiaWQiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsIkFyZWFQb2x5Z29ucyIsIkwiLCJtYXBab29tIiwiYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzdG9yZU1hcCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyBBcmVhUG9seWdvbnMgfSBmcm9tICcuL2FyZWFzL0FyZWFQb2x5Z29ucyc7XG5pbXBvcnQgRWRnZXMgZnJvbSAnLi9lZGdlcy9FZGdlcyc7XG5pbXBvcnQgJy4vTWFwLnNjc3MnO1xuaW1wb3J0IHsgUG9pbnRNYXJrZXJzIH0gZnJvbSAnLi9wb2ludHMvUG9pbnRNYXJrZXJzJztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICcuLi8uLi9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBFdmVudCB9IGZyb20gJy4vZXZlbnRzL0V2ZW50JztcbmltcG9ydCB7XG4gIGFyZWFGb2N1c0xvZ2ljLFxuICBpY29uWm9vbUNvbnRyb2wsXG4gIGluaXRpYWxpemVNYXAsXG4gIGlzVmFsaWRBcmVhLFxuICBzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzLFxuICBzaG91bGRMb2FkTWFwT2JqZWN0cyxcbn0gZnJvbSAnLi9NYXBVdGlscyc7XG5pbXBvcnQgeyBsZWFmbGV0TWFwIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgYXJlYXM6IElBcmVhW107XG4gIGVkZ2VzPzogSUVkZ2VbXTtcbiAgcG9pbnRzPzogSVBvaW50W107XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGFyZWFUb0NlbnRlckJ5PzogYW55O1xuICBmb2N1c2VkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBob3ZlcmVkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBoaWRlRWRnZXM/OiBib29sZWFuO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBNYXA6IFJlYWN0LkZDPE1hcFByb3BzPiA9ICh7XG4gIGFyZWFzLFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBnbG9iYWxfZGF0YSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIGZvY3VzZWRFdmVudCxcbiAgaG92ZXJlZEV2ZW50LFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgbWFwQm94U3R5bGUgPSBsZWFmbGV0TWFwLm1hcERlZmF1bHQsXG4gIGNoaWxkcmVuLFxuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSBmYWxzZSxcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyA9IGZhbHNlLFxufSkgPT4ge1xuICBjb25zdCB7IG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IG1hcFJlZiA9IHVzZVJlZjxMLk1hcD4obnVsbCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW21hcFpvb21MZXZlbCwgc2V0TWFwWm9vbUxldmVsXSA9IHVzZVN0YXRlKDIpO1xuICBjb25zdCBldmVudHNEYXRhID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuZXZlbnRzX2RhdGEsXG4gICk7XG4gIGNvbnN0IGhvdmVyZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gaG92ZXJlZEV2ZW50ICE9PSBudWxsICYmIGhvdmVyZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbaG92ZXJlZEV2ZW50XSk7XG5cbiAgY29uc3QgZm9jdXNlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgZm9jdXNlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtmb2N1c2VkRXZlbnRdKTtcblxuICBjb25zdCByZW5kZXJQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgIWV2ZW50c0RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICAgICFmb2N1c2VkRXZlbnRQcmVzZW50ICYmIChcbiAgICAgICAgPFBvaW50TWFya2Vyc1xuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXtpbmNsdWRlVW5tb25pdG9yZWRQb2ludHN9XG4gICAgICAgICAgcmVyZW5kZXI9e2ZvY3VzZWRFdmVudFByZXNlbnR9XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgKTtcbiAgfSwgW2V2ZW50c0RhdGEuaXNGZXRjaGluZywgbWFwUmVmLmN1cnJlbnQsIHBvaW50cywgZm9jdXNlZEV2ZW50UHJlc2VudF0pO1xuXG4gIGNvbnN0IGFjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIGljb25ab29tQ29udHJvbChtYXBSZWYuY3VycmVudCk7XG4gIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRFdmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChmb2N1c2VkRXZlbnRQcmVzZW50KSB7XG4gICAgICBmb2N1c2VkRXZlbnQhLmZvY3VzZWQgPSBmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgICAgZm9jdXNlZEV2ZW50IS5ob3ZlcmVkID0gIWZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKGhvdmVyZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGhvdmVyZWRFdmVudCEuaG92ZXJlZCA9IGhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgICBob3ZlcmVkRXZlbnQhLmZvY3VzZWQgPSAhaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoIWhvdmVyZWRFdmVudFByZXNlbnQgJiYgIWZvY3VzZWRFdmVudFByZXNlbnQpIHJldHVybiA8PjwvPjtcbiAgICByZXR1cm4gKFxuICAgICAgPEV2ZW50XG4gICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnQhIHx8IGhvdmVyZWRFdmVudCF9XG4gICAgICAgIG1hcD17bWFwfVxuICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgIGluY2x1ZGVOZXR3b3JrPXshaG92ZXJlZEV2ZW50UHJlc2VudH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplTWFwKFxuICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgbWFwQm94U3R5bGUsXG4gICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgIG1hcFJlZixcbiAgICAgIGRpc3BhdGNoLFxuICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICBhcmVhVG9DZW50ZXJCeSxcbiAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICApO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmUoKTtcbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKHVuZGVmaW5lZCkpO1xuICAgIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsaXplTWFwKFxuICAgICAgICBtYXBab29tTGV2ZWwsXG4gICAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmVhRm9jdXNMb2dpYyhtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9LCBbYXJlYVRvQ2VudGVyQnldKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2AgbWFwLWNvbnRhaW5lciAke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ21hcC1jb250YWluZXItLXNpZGVuYXYtY29sbGFwc2VkJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgPGRpdiBpZD1cIm1hcFwiPjwvZGl2PlxuICAgICAgICAgIHtzaG91bGRMb2FkTWFwT2JqZWN0cyhnbG9iYWxfZGF0YSwgbWFwUmVmLCBlZGdlcywgcG9pbnRzKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7cmVuZGVyUG9pbnRzfVxuICAgICAgICAgICAgICA8QXJlYVBvbHlnb25zXG4gICAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbUxldmVsfVxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxFZGdlc1xuICAgICAgICAgICAgICAgIGVkZ2VzPXtlZGdlcyF9XG4gICAgICAgICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICAgIHBvaW50cz17cG9pbnRzIX1cbiAgICAgICAgICAgICAgICBoaWRlRWRnZXM9e2hpZGVFZGdlc31cbiAgICAgICAgICAgICAgICBhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHM9e1xuICAgICAgICAgICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge3Nob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMoZWRnZXMsIGFyZWFzLCBnbG9iYWxfZGF0YSwgbWFwUmVmKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7bWVtb2l6ZWRFdmVudH1cbiAgICAgICAgICAgICAge2FjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29uc31cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFJQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFHQSxJQUFBSyxjQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxhQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxNQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFRLGFBQUEsR0FBQVIsT0FBQTtBQUVBLElBQUFTLE1BQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLFNBQUEsR0FBQVYsT0FBQTtBQVFBLElBQUFXLE1BQUEsR0FBQVgsT0FBQTtBQUFzRCxTQUFBWSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVgsd0JBQUFlLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFmLEdBQUEsRUFBQVksR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVgsR0FBQSxFQUFBWSxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFaLEdBQUEsQ0FBQVksR0FBQSxTQUFBTCxNQUFBLENBQUFKLE9BQUEsR0FBQUgsR0FBQSxNQUFBSSxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBakIsR0FBQSxFQUFBTyxNQUFBLFlBQUFBLE1BQUE7QUF6QnREOztBQXlDTyxJQUFNVyxHQUF1QixHQUFHLFNBQTFCQSxHQUF1QkEsQ0FBQUMsSUFBQSxFQWE5QjtFQUFBLElBWkpDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO0lBQ0xDLEtBQUssR0FBQUYsSUFBQSxDQUFMRSxLQUFLO0lBQ0xDLE1BQU0sR0FBQUgsSUFBQSxDQUFORyxNQUFNO0lBQ05DLFdBQVcsR0FBQUosSUFBQSxDQUFYSSxXQUFXO0lBQ1hDLGNBQWMsR0FBQUwsSUFBQSxDQUFkSyxjQUFjO0lBQ2RDLFlBQVksR0FBQU4sSUFBQSxDQUFaTSxZQUFZO0lBQ1pDLFlBQVksR0FBQVAsSUFBQSxDQUFaTyxZQUFZO0lBQUFDLGNBQUEsR0FBQVIsSUFBQSxDQUNaUyxTQUFTO0lBQVRBLFNBQVMsR0FBQUQsY0FBQSxjQUFHLEtBQUssR0FBQUEsY0FBQTtJQUFBRSxnQkFBQSxHQUFBVixJQUFBLENBQ2pCVyxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsZ0JBQUEsY0FBR0UsaUJBQVUsQ0FBQ0MsVUFBVSxHQUFBSCxnQkFBQTtJQUNuQ0ksUUFBUSxHQUFBZCxJQUFBLENBQVJjLFFBQVE7SUFBQUMscUJBQUEsR0FBQWYsSUFBQSxDQUNSZ0Isd0JBQXdCO0lBQXhCQSx3QkFBd0IsR0FBQUQscUJBQUEsY0FBRyxLQUFLLEdBQUFBLHFCQUFBO0lBQUFFLHNCQUFBLEdBQUFqQixJQUFBLENBQ2hDa0IscUNBQXFDO0lBQXJDQSxxQ0FBcUMsR0FBQUQsc0JBQUEsY0FBRyxLQUFLLEdBQUFBLHNCQUFBO0VBRTdDLElBQVFFLEdBQUcsR0FBS2YsV0FBVyxDQUFuQmUsR0FBRztFQUNYLElBQU1DLE1BQU0sR0FBRyxJQUFBQyxhQUFNLEVBQVEsSUFBSSxDQUFDO0VBQ2xDLElBQU1DLFFBQVEsR0FBRyxJQUFBQyx1QkFBVyxFQUFDLENBQUM7RUFDOUIsSUFBQUMsU0FBQSxHQUF3QyxJQUFBQyxlQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQUFDLFVBQUEsT0FBQUMsZUFBQSxDQUFBM0MsT0FBQSxFQUFBd0MsU0FBQTtJQUE1Q0ksWUFBWSxHQUFBRixVQUFBO0lBQUVHLGVBQWUsR0FBQUgsVUFBQTtFQUNwQyxJQUFNSSxVQUFVLEdBQUcsSUFBQUMsdUJBQVcsRUFDNUIsVUFBQ0MsS0FBb0M7SUFBQSxPQUFLQSxLQUFLLENBQUNDLFdBQVc7RUFBQSxDQUM3RCxDQUFDO0VBQ0QsSUFBTUMsbUJBQW1CLEdBQUcsSUFBQUMsY0FBTyxFQUFDLFlBQU07SUFDeEMsT0FBTzVCLFlBQVksS0FBSyxJQUFJLElBQUlBLFlBQVksS0FBSzZCLFNBQVM7RUFDNUQsQ0FBQyxFQUFFLENBQUM3QixZQUFZLENBQUMsQ0FBQztFQUVsQixJQUFNOEIsbUJBQW1CLEdBQUcsSUFBQUYsY0FBTyxFQUFDLFlBQU07SUFDeEMsT0FBTzdCLFlBQVksS0FBSyxJQUFJLElBQUlBLFlBQVksS0FBSzhCLFNBQVM7RUFDNUQsQ0FBQyxFQUFFLENBQUM5QixZQUFZLENBQUMsQ0FBQztFQUVsQixJQUFNZ0MsWUFBWSxHQUFHLElBQUFILGNBQU8sRUFBQyxZQUFNO0lBQ2pDLE9BQ0UsQ0FBQ0wsVUFBVSxDQUFDUyxVQUFVLElBQ3RCbkIsTUFBTSxDQUFDb0IsT0FBTyxLQUFLLElBQUksSUFDdkIsQ0FBQ0gsbUJBQW1CLGlCQUNsQnhFLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQXlELGFBQUEsQ0FBQ3JFLGFBQUEsQ0FBQXNFLFlBQVk7TUFDWHZCLEdBQUcsRUFBRUMsTUFBTSxDQUFDb0IsT0FBUTtNQUNwQnJDLE1BQU0sRUFBRUEsTUFBTztNQUNmYSx3QkFBd0IsRUFBRUEsd0JBQXlCO01BQ25EMkIsUUFBUSxFQUFFTjtJQUFvQixDQUMvQixDQUNGO0VBRUwsQ0FBQyxFQUFFLENBQUNQLFVBQVUsQ0FBQ1MsVUFBVSxFQUFFbkIsTUFBTSxDQUFDb0IsT0FBTyxFQUFFckMsTUFBTSxFQUFFa0MsbUJBQW1CLENBQUMsQ0FBQztFQUV4RSxJQUFNTywyQkFBMkIsR0FBRyxJQUFBVCxjQUFPLEVBQUMsWUFBTTtJQUNoRGYsTUFBTSxDQUFDb0IsT0FBTyxLQUFLLElBQUksSUFBSSxJQUFBSyx5QkFBZSxFQUFDekIsTUFBTSxDQUFDb0IsT0FBTyxDQUFDO0VBQzVELENBQUMsRUFBRSxDQUFDcEIsTUFBTSxDQUFDb0IsT0FBTyxFQUFFckMsTUFBTSxFQUFFa0MsbUJBQW1CLENBQUMsQ0FBQztFQUVqRCxJQUFNUyxhQUFhLEdBQUcsSUFBQVgsY0FBTyxFQUFDLFlBQU07SUFDbEMsSUFBSUUsbUJBQW1CLEVBQUU7TUFDdkIvQixZQUFZLENBQUV5QyxPQUFPLEdBQUdWLG1CQUFtQjtNQUMzQy9CLFlBQVksQ0FBRTBDLE9BQU8sR0FBRyxDQUFDWCxtQkFBbUI7SUFDOUM7SUFFQSxJQUFJSCxtQkFBbUIsRUFBRTtNQUN2QjNCLFlBQVksQ0FBRXlDLE9BQU8sR0FBR2QsbUJBQW1CO01BQzNDM0IsWUFBWSxDQUFFd0MsT0FBTyxHQUFHLENBQUNiLG1CQUFtQjtJQUM5QztJQUVBLElBQUksQ0FBQ0EsbUJBQW1CLElBQUksQ0FBQ0csbUJBQW1CLEVBQUUsb0JBQU94RSxNQUFBLENBQUFtQixPQUFBLENBQUF5RCxhQUFBLENBQUE1RSxNQUFBLENBQUFtQixPQUFBLENBQUFpRSxRQUFBLE1BQUksQ0FBQztJQUM5RCxvQkFDRXBGLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQXlELGFBQUEsQ0FBQ3BFLE1BQUEsQ0FBQTZFLEtBQUs7TUFDSkMsS0FBSyxFQUFFN0MsWUFBWSxJQUFLQyxZQUFjO01BQ3RDWSxHQUFHLEVBQUVBLEdBQUk7TUFDVGpCLEtBQUssRUFBRUEsS0FBTztNQUNkQyxNQUFNLEVBQUVBLE1BQVE7TUFDaEJpRCxjQUFjLEVBQUUsQ0FBQ2xCO0lBQW9CLENBQ3RDLENBQUM7RUFFTixDQUFDLEVBQUUsQ0FBQzVCLFlBQVksRUFBRUMsWUFBWSxFQUFFSCxXQUFXLENBQUNpRCxnQkFBZ0IsQ0FBQyxDQUFDO0VBRTlELElBQUFDLGdCQUFTLEVBQUMsWUFBTTtJQUNkLElBQUFDLHVCQUFhLEVBQ1gzQixZQUFZLEVBQ1pqQixXQUFXLEVBQ1hDLGlCQUFVLENBQUM0QyxTQUFTLEVBQ3BCcEMsTUFBTSxFQUNORSxRQUFRLEVBQ1JtQyxxQkFBVyxFQUNYcEQsY0FBYyxFQUNkd0IsZUFDRixDQUFDO0lBRUQsT0FBTyxTQUFTNkIsT0FBT0EsQ0FBQSxFQUFHO01BQ3hCO01BQ0F0QyxNQUFNLENBQUNvQixPQUFPLENBQUNtQixNQUFNLENBQUMsQ0FBQztNQUN2QnJDLFFBQVEsQ0FBQyxJQUFBc0MsaUJBQVEsRUFBQ3hCLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7RUFDSCxDQUFDLEVBQUUsQ0FBQ2hDLFdBQVcsQ0FBQ3lELGdCQUFnQixDQUFDLENBQUM7RUFFbEMsSUFBQVAsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFBSSxDQUFDbEMsTUFBTSxDQUFDb0IsT0FBTyxFQUFFO01BQ25CLElBQUFlLHVCQUFhLEVBQ1gzQixZQUFZLEVBQ1pqQixXQUFXLEVBQ1hDLGlCQUFVLENBQUM0QyxTQUFTLEVBQ3BCcEMsTUFBTSxFQUNORSxRQUFRLEVBQ1JtQyxxQkFBVyxFQUNYcEQsY0FBYyxFQUNkd0IsZUFDRixDQUFDO0lBQ0gsQ0FBQyxNQUFNO01BQ0wsSUFBQWlDLHdCQUFjLEVBQUMxQyxNQUFNLEVBQUVxQyxxQkFBVyxFQUFFcEQsY0FBYyxDQUFDO0lBQ3JEO0VBQ0YsQ0FBQyxFQUFFLENBQUNBLGNBQWMsQ0FBQyxDQUFDO0VBRXBCLG9CQUNFeEMsTUFBQSxDQUFBbUIsT0FBQSxDQUFBeUQsYUFBQTtJQUFLc0IsU0FBUyxFQUFDO0VBQWtCLGdCQUMvQmxHLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQXlELGFBQUE7SUFDRXNCLFNBQVMsb0JBQUFDLE1BQUEsQ0FDUDVELFdBQVcsQ0FBQzZELGVBQWUsR0FBRyxFQUFFLEdBQUcsa0NBQWtDO0VBQ3BFLGdCQUVIcEcsTUFBQSxDQUFBbUIsT0FBQSxDQUFBeUQsYUFBQSxDQUFDeEUsY0FBQSxDQUFBZSxPQUFhLHFCQUNabkIsTUFBQSxDQUFBbUIsT0FBQSxDQUFBeUQsYUFBQTtJQUFLeUIsRUFBRSxFQUFDO0VBQUssQ0FBTSxDQUFDLEVBQ25CLElBQUFDLDhCQUFvQixFQUFDL0QsV0FBVyxFQUFFZ0IsTUFBTSxFQUFFbEIsS0FBSyxFQUFFQyxNQUFNLENBQUMsaUJBQ3ZEdEMsTUFBQSxDQUFBbUIsT0FBQSxDQUFBeUQsYUFBQSxDQUFBNUUsTUFBQSxDQUFBbUIsT0FBQSxDQUFBaUUsUUFBQSxRQUNHWCxZQUFZLGVBQ2J6RSxNQUFBLENBQUFtQixPQUFBLENBQUF5RCxhQUFBLENBQUN2RSxhQUFBLENBQUFrRyxZQUFZO0lBQ1huRSxLQUFLLEVBQUVBLEtBQU07SUFDYmtCLEdBQUcsRUFBRUMsTUFBTSxDQUFDb0IsT0FBUTtJQUNwQjZCLENBQUMsRUFBRUEsZ0JBQUU7SUFDTGhFLGNBQWMsRUFBRUEsY0FBZTtJQUMvQmlFLE9BQU8sRUFBRTFDO0VBQWEsQ0FDdkIsQ0FBQyxlQUVGL0QsTUFBQSxDQUFBbUIsT0FBQSxDQUFBeUQsYUFBQSxDQUFDdEUsTUFBQSxDQUFBYSxPQUFLO0lBQ0prQixLQUFLLEVBQUVBLEtBQU87SUFDZGlCLEdBQUcsRUFBRUMsTUFBTSxDQUFDb0IsT0FBUTtJQUNwQjZCLENBQUMsRUFBRUEsZ0JBQUU7SUFDTGxFLE1BQU0sRUFBRUEsTUFBUTtJQUNoQk0sU0FBUyxFQUFFQSxTQUFVO0lBQ3JCOEQsMkJBQTJCLEVBQ3pCckQ7RUFDRCxDQUNGLENBQ0QsQ0FDSCxFQUNBLElBQUFzRCxzQ0FBNEIsRUFBQ3RFLEtBQUssRUFBRUQsS0FBSyxFQUFFRyxXQUFXLEVBQUVnQixNQUFNLENBQUMsaUJBQzlEdkQsTUFBQSxDQUFBbUIsT0FBQSxDQUFBeUQsYUFBQSxDQUFBNUUsTUFBQSxDQUFBbUIsT0FBQSxDQUFBaUUsUUFBQSxRQUNHSCxhQUFhLEVBQ2JGLDJCQUEyQixFQUMzQjlCLFFBQ0QsQ0FFUyxDQUNaLENBQ0YsQ0FBQztBQUVWLENBQUM7QUFBQzJELE9BQUEsQ0FBQTFFLEdBQUEsR0FBQUEsR0FBQSJ9
202
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfYWN0aW9ucyIsIl9FcnJvckJvdW5kYXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BcmVhUG9seWdvbnMiLCJfRWRnZXMiLCJfUG9pbnRNYXJrZXJzIiwiX0V2ZW50IiwiX01hcFV0aWxzIiwiX3RoZW1lIiwiX2kxOG4iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk1hcCIsIl9yZWYiLCJhcmVhcyIsImVkZ2VzIiwicG9pbnRzIiwiZ2xvYmFsX2RhdGEiLCJhcmVhVG9DZW50ZXJCeSIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsIl9yZWYkaGlkZUVkZ2VzIiwiaGlkZUVkZ2VzIiwiX3JlZiRtYXBCb3hTdHlsZSIsIm1hcEJveFN0eWxlIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJjaGlsZHJlbiIsIl9yZWYkaW5jbHVkZVVubW9uaXRvciIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsIl9yZWYkaW5jbHVkZVVubW9uaXRvcjIiLCJpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzIiwiX3JlZiRmb3JFdmVudHNWaWV3IiwiZm9yRXZlbnRzVmlldyIsIm1hcCIsIm1hcFJlZiIsInVzZVJlZiIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJtYXBab29tTGV2ZWwiLCJzZXRNYXBab29tTGV2ZWwiLCJldmVudHNEYXRhIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiaG92ZXJlZEV2ZW50UHJlc2VudCIsInVzZU1lbW8iLCJ1bmRlZmluZWQiLCJmb2N1c2VkRXZlbnRQcmVzZW50IiwiX3VzZVN0YXRlMyIsIndpbmRvdyIsImN1c3RvbUxlYWZsZXQiLCJtYXJrZXJDbHVzdGVyR3JvdXAiLCJzcGlkZXJmeU9uTWF4Wm9vbSIsInNob3dDb3ZlcmFnZU9uSG92ZXIiLCJ6b29tVG9Cb3VuZHNPbkNsaWNrIiwiYW5pbWF0ZSIsImRpc2FibGVDbHVzdGVyaW5nQXRab29tIiwicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiLCJjaHVua2VkTG9hZGluZyIsImljb25DcmVhdGVGdW5jdGlvbiIsImNsdXN0ZXIiLCJEaXZJY29uIiwiaHRtbCIsImNvbmNhdCIsIl9jaGlsZENvdW50IiwiaTE4biIsInQiLCJjbGFzc05hbWUiLCJpY29uU2l6ZSIsIlBvaW50IiwiX3VzZVN0YXRlNCIsImZhY3Rvcmllc0NsdXN0ZXJHcm91cCIsIl91c2VTdGF0ZTUiLCJsYXllckdyb3VwIiwiX3VzZVN0YXRlNiIsInd3dHBzTGF5ZXJHcm91cCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiY29sbGVjdG9yc0xheWVyR3JvdXAiLCJtZW1vaXplZFBvaW50cyIsImlzRmV0Y2hpbmciLCJjdXJyZW50IiwiY3JlYXRlRWxlbWVudCIsIlBvaW50TWFya2VycyIsInJlcmVuZGVyIiwiem9vbUxldmVscyIsImZhY3Rvcmllc0dyb3VwIiwid3d0cHNHcm91cCIsImNvbGxlY3RvcnNHcm91cCIsInpvb21SdWxlc0ZvckV2ZW50c1ZpZXciLCJwYXlsb2FkIiwiRnJhZ21lbnQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJ6b29tUnVsZXNGb3JEYXNoYWJvYXJkTWFwcyIsImNvbnNvbGUiLCJ3YXJuIiwibWVtb2l6ZWRab29tQ29udHJvbCIsIm1lbW9pemVkRXZlbnQiLCJmb2N1c2VkIiwiaG92ZXJlZCIsIkV2ZW50IiwiZXZlbnQiLCJpbmNsdWRlTmV0d29yayIsImV2ZW50RmlsdGVyUGFyYW0iLCJ1c2VFZmZlY3QiLCJjbGVhbnVwIiwiX21hcFJlZiRjdXJyZW50IiwiY2xlYXJMYXllcnMiLCJyZW1vdmVMYXllciIsImluaXRpYWxpemVNYXAiLCJzYXRlbGxpdGUiLCJpc1ZhbGlkQXJlYSIsIl9tYXBSZWYkY3VycmVudDIiLCJfbWFwUmVmJGN1cnJlbnQzIiwiX21hcFJlZiRjdXJyZW50NCIsInJlbW92ZSIsInN0b3JlTWFwIiwid2F0ZXJBdXRob3JpdHlJZCIsImFyZWFGb2N1c0xvZ2ljIiwic2lkZW5hdkV4cGFuZGVkIiwiaWQiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsIkFyZWFQb2x5Z29ucyIsIm1hcFpvb20iLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCAqIGFzIEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgJ2xlYWZsZXQubWFya2VyY2x1c3Rlcic7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc3RvcmVNYXAgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgQXJlYVBvbHlnb25zIH0gZnJvbSAnLi9hcmVhcy9BcmVhUG9seWdvbnMnO1xuaW1wb3J0IEVkZ2VzIGZyb20gJy4vZWRnZXMvRWRnZXMnO1xuaW1wb3J0ICcuL01hcC5zY3NzJztcbmltcG9ydCAnLi9wb2ludHMvUG9pbnRJY29uLnNjc3MnO1xuaW1wb3J0IHsgUG9pbnRNYXJrZXJzIH0gZnJvbSAnLi9wb2ludHMvUG9pbnRNYXJrZXJzJztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICcuLi8uLi9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBFdmVudCB9IGZyb20gJy4vZXZlbnRzL0V2ZW50JztcbmltcG9ydCB7XG4gIGFyZWFGb2N1c0xvZ2ljLFxuICBpbml0aWFsaXplTWFwLFxuICBpc1ZhbGlkQXJlYSxcbiAgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyxcbiAgc2hvdWxkTG9hZE1hcE9iamVjdHMsXG4gIHpvb21MZXZlbHMsXG59IGZyb20gJy4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgbGVhZmxldE1hcCB9IGZyb20gJy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5yZXF1aXJlKCdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInKTtcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgYXJlYXM6IElBcmVhW107XG4gIGVkZ2VzPzogSUVkZ2VbXTtcbiAgcG9pbnRzPzogSVBvaW50W107XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGFyZWFUb0NlbnRlckJ5PzogYW55O1xuICBmb2N1c2VkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBob3ZlcmVkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBoaWRlRWRnZXM/OiBib29sZWFuO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz86IGJvb2xlYW47XG4gIGZvckV2ZW50c1ZpZXc6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBNYXA6IFJlYWN0LkZDPE1hcFByb3BzPiA9ICh7XG4gIGFyZWFzLFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBnbG9iYWxfZGF0YSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIGZvY3VzZWRFdmVudCxcbiAgaG92ZXJlZEV2ZW50LFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgbWFwQm94U3R5bGUgPSBsZWFmbGV0TWFwLm1hcERlZmF1bHQsXG4gIGNoaWxkcmVuLFxuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSB0cnVlLFxuICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzID0gZmFsc2UsXG4gIGZvckV2ZW50c1ZpZXcgPSBmYWxzZSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBtYXBSZWYgPSB1c2VSZWY8TC5NYXA+KG51bGwpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFttYXBab29tTGV2ZWwsIHNldE1hcFpvb21MZXZlbF0gPSB1c2VTdGF0ZSgyKTtcbiAgY29uc3QgZXZlbnRzRGF0YSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLmV2ZW50c19kYXRhLFxuICApO1xuICBjb25zdCBob3ZlcmVkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGhvdmVyZWRFdmVudCAhPT0gbnVsbCAmJiBob3ZlcmVkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2hvdmVyZWRFdmVudF0pO1xuXG4gIGNvbnN0IGZvY3VzZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZm9jdXNlZEV2ZW50ICE9PSBudWxsICYmIGZvY3VzZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbZm9jdXNlZEV2ZW50XSk7XG5cbiAgY29uc3QgW2ZhY3Rvcmllc0NsdXN0ZXJHcm91cF0gPSB1c2VTdGF0ZShcbiAgICB3aW5kb3cuY3VzdG9tTGVhZmxldC5tYXJrZXJDbHVzdGVyR3JvdXAoe1xuICAgICAgc3BpZGVyZnlPbk1heFpvb206IGZhbHNlLFxuICAgICAgc2hvd0NvdmVyYWdlT25Ib3ZlcjogZmFsc2UsXG4gICAgICB6b29tVG9Cb3VuZHNPbkNsaWNrOiB0cnVlLFxuICAgICAgYW5pbWF0ZTogdHJ1ZSxcbiAgICAgIGRpc2FibGVDbHVzdGVyaW5nQXRab29tOiAxNSxcbiAgICAgIHJlbW92ZU91dHNpZGVWaXNpYmxlQm91bmRzOiBmYWxzZSxcbiAgICAgIGNodW5rZWRMb2FkaW5nOiB0cnVlLFxuICAgICAgaWNvbkNyZWF0ZUZ1bmN0aW9uOiBmdW5jdGlvbiAoY2x1c3Rlcikge1xuICAgICAgICByZXR1cm4gbmV3IEwuRGl2SWNvbih7XG4gICAgICAgICAgaHRtbDogYDxkaXY+PHNwYW4+JHtcbiAgICAgICAgICAgIGNsdXN0ZXIuX2NoaWxkQ291bnRcbiAgICAgICAgICB9PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9J21hcmtlci1jbHVzdGVyLW5hbWUnPiR7aTE4bi50KFxuICAgICAgICAgICAgJ2luZHVzdHJpZXMnLFxuICAgICAgICAgICl9PC9kaXY+YCxcbiAgICAgICAgICBjbGFzc05hbWU6ICdtYXJrZXItY2x1c3RlcicsXG4gICAgICAgICAgaWNvblNpemU6IG5ldyBMLlBvaW50KDQwLCA0MCksXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KSxcbiAgKTtcblxuICBjb25zdCBbd3d0cHNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2NvbGxlY3RvcnNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgLy9jb25zdCBbZmFjdG9yaWVzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgIWV2ZW50c0RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiYgKFxuICAgICAgICA8UG9pbnRNYXJrZXJzXG4gICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e2luY2x1ZGVVbm1vbml0b3JlZFBvaW50c31cbiAgICAgICAgICByZXJlbmRlcj17em9vbUxldmVsc1ttYXBab29tTGV2ZWxdfVxuICAgICAgICAgIGZhY3Rvcmllc0dyb3VwPXtmYWN0b3JpZXNDbHVzdGVyR3JvdXB9XG4gICAgICAgICAgd3d0cHNHcm91cD17d3d0cHNMYXllckdyb3VwfVxuICAgICAgICAgIGNvbGxlY3RvcnNHcm91cD17Y29sbGVjdG9yc0xheWVyR3JvdXB9XG4gICAgICAgICAgZm9yRXZlbnRzVmlldz17ZmFsc2V9XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgKTtcbiAgfSwgW1xuICAgIGV2ZW50c0RhdGEuaXNGZXRjaGluZyxcbiAgICBtYXBSZWYuY3VycmVudCxcbiAgICBwb2ludHMsXG4gICAgZm9jdXNlZEV2ZW50UHJlc2VudCxcbiAgICBtYXBab29tTGV2ZWwsXG4gICAgZmFjdG9yaWVzQ2x1c3Rlckdyb3VwLFxuICAgIHd3dHBzTGF5ZXJHcm91cCxcbiAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cCxcbiAgXSk7XG5cbiAgLy8gY29uc3QgYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zID0gdXNlTWVtbygoKSA9PiB7XG4gIC8vICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiYgaWNvblpvb21Db250cm9sKG1hcFJlZi5jdXJyZW50KTtcbiAgLy8gfSwgW21hcFJlZi5jdXJyZW50LCBwb2ludHMsIGZvY3VzZWRFdmVudFByZXNlbnRdKTtcblxuICBjb25zdCB6b29tUnVsZXNGb3JFdmVudHNWaWV3ID0gKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSAoXG4gICAgICA8PlxuICAgICAgICA8RWRnZXNcbiAgICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgTD17TH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgICAgaGlkZUVkZ2VzPXtoaWRlRWRnZXN9XG4gICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzfVxuICAgICAgICAvPlxuICAgICAgICB7bWVtb2l6ZWRQb2ludHN9XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMgPSAoKSA9PiB7XG4gICAgY29uc29sZS53YXJuKHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSk7XG5cbiAgICBsZXQgcGF5bG9hZCA9IDw+PC8+O1xuICAgIHN3aXRjaCAoem9vbUxldmVsc1ttYXBab29tTGV2ZWxdKSB7XG4gICAgICBjYXNlICdTbWFsbCc6XG4gICAgICBjYXNlICdNZWRpdW0nOlxuICAgICAgICBwYXlsb2FkID0gem9vbVJ1bGVzRm9yRXZlbnRzVmlldygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ01MYXJnZSc6XG4gICAgICBjYXNlICdMYXJnZSc6XG4gICAgICBjYXNlICdYTGFyZ2UnOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcGF5bG9hZCA9IDw+e21lbW9pemVkUG9pbnRzfTwvPjtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3QgbWVtb2l6ZWRab29tQ29udHJvbCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSBmb3JFdmVudHNWaWV3XG4gICAgICA/IHpvb21SdWxlc0ZvckV2ZW50c1ZpZXcoKVxuICAgICAgOiB6b29tUnVsZXNGb3JEYXNoYWJvYXJkTWFwcygpO1xuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH0sIFttYXBab29tTGV2ZWwsIGV2ZW50c0RhdGEuaXNGZXRjaGluZywgZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIHBvaW50c10pO1xuXG4gIGNvbnN0IG1lbW9pemVkRXZlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoZm9jdXNlZEV2ZW50UHJlc2VudCkge1xuICAgICAgZm9jdXNlZEV2ZW50IS5mb2N1c2VkID0gZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICAgIGZvY3VzZWRFdmVudCEuaG92ZXJlZCA9ICFmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmIChob3ZlcmVkRXZlbnRQcmVzZW50KSB7XG4gICAgICBob3ZlcmVkRXZlbnQhLmhvdmVyZWQgPSBob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgICAgaG92ZXJlZEV2ZW50IS5mb2N1c2VkID0gIWhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKCFob3ZlcmVkRXZlbnRQcmVzZW50ICYmICFmb2N1c2VkRXZlbnRQcmVzZW50KSByZXR1cm4gPD48Lz47XG4gICAgcmV0dXJuIChcbiAgICAgIDxFdmVudFxuICAgICAgICBldmVudD17Zm9jdXNlZEV2ZW50ISB8fCBob3ZlcmVkRXZlbnQhfVxuICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICBpbmNsdWRlTmV0d29yaz17IWhvdmVyZWRFdmVudFByZXNlbnR9XG4gICAgICAvPlxuICAgICk7XG4gIH0sIFtmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGNvbGxlY3RvcnNMYXllckdyb3VwKTtcbiAgICB9O1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGluaXRpYWxpemVNYXAoXG4gICAgICBtYXBab29tTGV2ZWwsXG4gICAgICBtYXBCb3hTdHlsZSxcbiAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgbWFwUmVmLFxuICAgICAgZGlzcGF0Y2gsXG4gICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgc2V0TWFwWm9vbUxldmVsLFxuICAgICk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIGZhY3Rvcmllc0NsdXN0ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgd3d0cHNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGZhY3Rvcmllc0NsdXN0ZXJHcm91cCk7XG4gICAgICBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIod3d0cHNMYXllckdyb3VwKTtcbiAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihjb2xsZWN0b3JzTGF5ZXJHcm91cCk7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmUoKTtcbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKHVuZGVmaW5lZCkpO1xuICAgIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsaXplTWFwKFxuICAgICAgICBtYXBab29tTGV2ZWwsXG4gICAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmVhRm9jdXNMb2dpYyhcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnkgPyBhcmVhVG9DZW50ZXJCeSA6IGFyZWFzWzBdLFxuICAgICAgKTtcbiAgICB9XG4gIH0sIFthcmVhVG9DZW50ZXJCeSwgYXJlYXNdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2AgbWFwLWNvbnRhaW5lciAke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ21hcC1jb250YWluZXItLXNpZGVuYXYtY29sbGFwc2VkJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgPGRpdiBpZD1cIm1hcFwiPjwvZGl2PlxuICAgICAgICAgIHtzaG91bGRMb2FkTWFwT2JqZWN0cyhnbG9iYWxfZGF0YSwgbWFwUmVmLCBlZGdlcywgcG9pbnRzKSAmJiAoXG4gICAgICAgICAgICA8QXJlYVBvbHlnb25zXG4gICAgICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgYXJlYVRvQ2VudGVyQnk9e2FyZWFUb0NlbnRlckJ5fVxuICAgICAgICAgICAgICBtYXBab29tPXttYXBab29tTGV2ZWx9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge3Nob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMoZWRnZXMsIGFyZWFzLCBnbG9iYWxfZGF0YSwgbWFwUmVmKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7bWVtb2l6ZWRFdmVudH1cbiAgICAgICAgICAgICAge21lbW9pemVkWm9vbUNvbnRyb2x9XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsSUFBQUEsQ0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFJQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFHQSxJQUFBSSxjQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9B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
@@ -155,10 +155,12 @@
155
155
  .ltr & {
156
156
  right: 0;
157
157
  left: unset;
158
+ bottom: 15px;
158
159
  }
159
160
  .rtl & {
160
161
  left: 0em;
161
162
  right: unset;
163
+ bottom: 15px;
162
164
  }
163
165
  }
164
166
  }
@@ -473,3 +475,68 @@
473
475
  top: 0px;
474
476
  }
475
477
  }
478
+
479
+ //-----------------------------------------------
480
+ // Cluster animations
481
+ .leaflet-cluster-anim .leaflet-marker-icon,
482
+ .leaflet-cluster-anim .leaflet-marker-shadow {
483
+ -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
484
+ -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
485
+ -o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
486
+ transition: transform 0.3s ease-out, opacity 0.3s ease-in;
487
+ }
488
+
489
+ .leaflet-cluster-spider-leg {
490
+ /* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
491
+ -webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out,
492
+ -webkit-stroke-opacity 0.3s ease-in;
493
+ -moz-transition: -moz-stroke-dashoffset 0.3s ease-out,
494
+ -moz-stroke-opacity 0.3s ease-in;
495
+ -o-transition: -o-stroke-dashoffset 0.3s ease-out,
496
+ -o-stroke-opacity 0.3s ease-in;
497
+ transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
498
+ }
499
+
500
+ //--------------------------------------------
501
+ // Cluster styles
502
+
503
+ .marker-cluster {
504
+ border-radius: 20px;
505
+ background-color: rgba(242, 113, 51, 1);
506
+ transform: translate3d(182px, 98px, 0px);
507
+ display: flex;
508
+ flex-direction: column;
509
+ align-items: center;
510
+ }
511
+ .marker-cluster div span {
512
+ margin-top: 5px;
513
+ text-align: center;
514
+ border-radius: 15px;
515
+ font-weight: 600;
516
+ font-size: 13px;
517
+ color: #fff;
518
+ }
519
+ .marker-cluster span {
520
+ display: block;
521
+ line-height: 30px;
522
+ transition: transform 0.2s;
523
+ }
524
+ .marker-cluster span:hover {
525
+ transform: scale(1.4);
526
+ }
527
+ .marker-cluster div {
528
+ display: flex;
529
+ justify-content: center;
530
+ align-items: center;
531
+ }
532
+ .marker-cluster-name {
533
+ position: absolute;
534
+ top: 55px;
535
+ margin-top: -10px;
536
+ z-index: -1;
537
+ color: rgba(192, 68, 9, 1);
538
+ font-size: 14px;
539
+ font-weight: 600;
540
+ text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff,
541
+ -1px 1px 0 #fff;
542
+ }