@kando-env/kando-ui 1.2.135-alpha.19 → 1.2.135-alpha.2

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 (50) hide show
  1. package/lib/Router.js +3 -17
  2. package/lib/Widgets/Map/Map.js +5 -7
  3. package/lib/Widgets/Map/Map.scss +0 -17
  4. package/lib/Widgets/Map/MapUtils.js +14 -45
  5. package/lib/Widgets/Map/events/Event.js +4 -8
  6. package/lib/Widgets/Map/events/EventUtils.js +7 -9
  7. package/lib/Widgets/Map/events/PointOfEvent.js +3 -3
  8. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +8 -8
  9. package/lib/Widgets/Map/points/PointMarkers.js +4 -4
  10. package/lib/Widgets/Map/points/PointUtils.js +7 -19
  11. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +7 -22
  12. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +2 -2
  13. package/lib/components/Header/Toolbar/Toolbar.js +2 -4
  14. package/lib/components/LoaderByPercent/LoaderByPercent.js +13 -28
  15. package/lib/hooks/useMap.js +1 -2
  16. package/lib/hooks/useUpdateEventBodyTail.js +2 -2
  17. package/lib/i18n/en.json +3 -28
  18. package/lib/i18n/en_uk.json +3 -19
  19. package/lib/i18n/fr.json +1 -1
  20. package/lib/i18n/he.json +1 -26
  21. package/lib/i18n/it.json +44 -44
  22. package/lib/macros/getVersion.js +2 -2
  23. package/lib/pages/EventsPage/events/event_info/EventDetails.js +13 -38
  24. package/lib/pages/EventsPage/events/event_info/EventInfo.js +2 -2
  25. package/lib/pages/EventsPage/events/event_info/EventInfoStyle.scss +1 -2
  26. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +2 -8
  27. package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +1 -2
  28. package/lib/pages/EventsPage/events/events_list/EventsList.js +3 -3
  29. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +2 -4
  30. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +26 -25
  31. package/lib/pages/NotificationsPageV2/notificationUtils.js +11 -24
  32. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +26 -12
  33. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +4 -49
  34. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +2 -2
  35. package/lib/store/permissions/permissionsSlice.js +1 -4
  36. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +1 -6
  37. package/lib/utilities/urls.js +1 -6
  38. package/package.json +1 -1
  39. package/lib/components/Header/Slideshow/Slideshow.js +0 -237
  40. package/lib/components/Header/Slideshow/index.js +0 -14
  41. package/lib/components/Header/Slideshow/styles.scss +0 -70
  42. package/lib/pages/AssessmentPage/AssessmentPage.js +0 -135
  43. package/lib/pages/SitePage/SiteInformation/ContributorItem.js +0 -42
  44. package/lib/pages/SitePage/SiteInformation/EmptyState.js +0 -44
  45. package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +0 -50
  46. package/lib/pages/SitePage/SiteInformation/style.js +0 -34
  47. package/lib/providers/Slideshow/SlideshowContext.js +0 -27
  48. package/lib/providers/Slideshow/SlideshowProvider.js +0 -68
  49. package/lib/providers/Slideshow/SlideshowRunner.js +0 -53
  50. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +0 -40
@@ -11,14 +11,14 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof
11
11
 
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
13
13
 
14
- var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
14
+ var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
15
15
 
16
16
  var handleNotificationType = function handleNotificationType(option, notification, setNewNotification) {
17
17
  var value = notification.available_types.find(function (type) {
18
18
  return type === option.value;
19
19
  });
20
20
  if (value) setNewNotification(function (prevState) {
21
- return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, {
21
+ return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prevState), {}, {
22
22
  type: value
23
23
  });
24
24
  });
@@ -29,7 +29,7 @@ exports.handleNotificationType = handleNotificationType;
29
29
  var handleSeverities = function handleSeverities(e, setNewNotification) {
30
30
  var value = e.target.value;
31
31
  setNewNotification(function (prevState) {
32
- return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, {
32
+ return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prevState), {}, {
33
33
  severity: value
34
34
  });
35
35
  });
@@ -41,7 +41,7 @@ var handleWaterAuthorities = function handleWaterAuthorities(e) {
41
41
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
42
42
  var newNotification = arguments.length > 2 ? arguments[2] : undefined;
43
43
  var setNewNotification = arguments.length > 3 ? arguments[3] : undefined;
44
- var value = (0, _objectSpread3.default)({}, newNotification.water_authorities);
44
+ var value = (0, _objectSpread4.default)({}, newNotification.water_authorities);
45
45
  handleSelectionAndSet(value, 'water_authorities', e, option, setNewNotification);
46
46
  };
47
47
 
@@ -51,7 +51,7 @@ var handleSources = function handleSources(e) {
51
51
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
52
52
  var newNotification = arguments.length > 2 ? arguments[2] : undefined;
53
53
  var setNewNotification = arguments.length > 3 ? arguments[3] : undefined;
54
- var value = (0, _objectSpread3.default)({}, newNotification.points);
54
+ var value = (0, _objectSpread4.default)({}, newNotification.points);
55
55
  handleSelectionAndSet(value, 'points', e, option, setNewNotification);
56
56
  };
57
57
 
@@ -61,7 +61,7 @@ var handleTags = function handleTags(e) {
61
61
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
62
62
  var newNotification = arguments.length > 2 ? arguments[2] : undefined;
63
63
  var setNewNotification = arguments.length > 3 ? arguments[3] : undefined;
64
- var value = (0, _objectSpread3.default)({}, newNotification.tags);
64
+ var value = (0, _objectSpread4.default)({}, newNotification.tags);
65
65
  handleSelectionAndSet(value, 'tags', e, option, setNewNotification);
66
66
  };
67
67
 
@@ -71,7 +71,7 @@ var handleSensors = function handleSensors(e) {
71
71
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
72
72
  var newNotification = arguments.length > 2 ? arguments[2] : undefined;
73
73
  var setNewNotification = arguments.length > 3 ? arguments[3] : undefined;
74
- var value = (0, _objectSpread3.default)({}, newNotification.sensors);
74
+ var value = (0, _objectSpread4.default)({}, newNotification.sensors);
75
75
  handleSelectionAndSet(value, 'sensors', e, option, setNewNotification);
76
76
  };
77
77
 
@@ -83,31 +83,32 @@ var handleSelectionAndSet = function handleSelectionAndSet(value, field, e) {
83
83
 
84
84
  if (e !== undefined && e.target !== undefined) {
85
85
  value.selection_type = e.target.value;
86
+ setNewNotification(function (prevState) {
87
+ return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prevState), {}, (0, _defineProperty2.default)({}, field, value));
88
+ });
86
89
  } else {
90
+ var set = [];
91
+ option.set.forEach(function (option) {
92
+ set.push(JSON.stringify(option.value));
93
+ });
87
94
  value.selection_type = option.selection_type;
88
- }
89
95
 
90
- if (value.selection_type === 'all') {
91
- value.set = new Array();
92
- } else {
93
- var _option$set;
96
+ if (value.set === null) {
97
+ value.set = [];
98
+ } else {
99
+ value.set = set;
100
+ }
94
101
 
95
- var set = [];
96
- (_option$set = option.set) === null || _option$set === void 0 ? void 0 : _option$set.forEach(function (option) {
97
- set.push(JSON.stringify(option.value));
102
+ setNewNotification(function (prevState) {
103
+ return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prevState), {}, (0, _defineProperty2.default)({}, field, value));
98
104
  });
99
- value.set = set;
100
105
  }
101
-
102
- setNewNotification(function (prevState) {
103
- return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, (0, _defineProperty2.default)({}, field, value));
104
- });
105
106
  };
106
107
 
107
108
  exports.handleSelectionAndSet = handleSelectionAndSet;
108
109
 
109
110
  var handleSendVia = function handleSendVia(e, newNotification, setNewNotification, setModalDetails) {
110
- var value = (0, _objectSpread3.default)({}, newNotification.actions);
111
+ var value = (0, _objectSpread4.default)({}, newNotification.actions);
111
112
  var field = e.target.value;
112
113
  value[field] = !value[field];
113
114
 
@@ -119,7 +120,7 @@ var handleSendVia = function handleSendVia(e, newNotification, setNewNotificatio
119
120
  }
120
121
 
121
122
  setNewNotification(function (prevState) {
122
- return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, {
123
+ return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prevState), {}, {
123
124
  actions: value
124
125
  });
125
126
  });
@@ -131,7 +132,7 @@ var handleNotificationSample = function handleNotificationSample(e, setNewNotifi
131
132
  var value = e.target.checked;
132
133
  var parsedValue = value ? '1' : '0';
133
134
  setNewNotification(function (prevState) {
134
- return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, {
135
+ return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prevState), {}, {
135
136
  pump_only: parsedValue
136
137
  });
137
138
  });
@@ -226,7 +227,7 @@ var formatNotification = function formatNotification(newNotification) {
226
227
  notificationCopy = parseSeverities(notificationCopy);
227
228
  var notificationToSave = {
228
229
  user: {
229
- alert_configs_attributes: (0, _objectSpread3.default)({}, notificationCopy)
230
+ alert_configs_attributes: (0, _objectSpread4.default)({}, notificationCopy)
230
231
  }
231
232
  };
232
233
  var notificationWithTimeStamp = {
@@ -240,4 +241,4 @@ var formatNotification = function formatNotification(newNotification) {
240
241
  };
241
242
 
242
243
  exports.formatNotification = formatNotification;
243
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc1V0aWxzLnRzIl0sIm5hbWVzIjpbImhhbmRsZU5vdGlmaWNhdGlvblR5cGUiLCJvcHRpb24iLCJub3RpZmljYXRpb24iLCJzZXROZXdOb3RpZmljYXRpb24iLCJ2YWx1ZSIsImF2YWlsYWJsZV90eXBlcyIsImZpbmQiLCJ0eXBlIiwicHJldlN0YXRlIiwiaGFuZGxlU2V2ZXJpdGllcyIsImUiLCJ0YXJnZXQiLCJzZXZlcml0eSIsImhhbmRsZVdhdGVyQXV0aG9yaXRpZXMiLCJuZXdOb3RpZmljYXRpb24iLCJ3YXRlcl9hdXRob3JpdGllcyIsImhhbmRsZVNlbGVjdGlvbkFuZFNldCIsImhhbmRsZVNvdXJjZXMiLCJwb2ludHMiLCJoYW5kbGVUYWdzIiwidGFncyIsImhhbmRsZVNlbnNvcnMiLCJzZW5zb3JzIiwiZmllbGQiLCJ1bmRlZmluZWQiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsIkFycmF5IiwiZm9yRWFjaCIsInB1c2giLCJKU09OIiwic3RyaW5naWZ5IiwiaGFuZGxlU2VuZFZpYSIsInNldE1vZGFsRGV0YWlscyIsImFjdGlvbnMiLCJvcGVuIiwiaW5zdGFuY2UiLCJoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUiLCJjaGVja2VkIiwicGFyc2VkVmFsdWUiLCJwdW1wX29ubHkiLCJ2YWxpZGF0ZVZhbHVlSXNOb3RBbk9iamVjdCIsImlzQXJyYXkiLCJwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uIiwid2F0ZXJBdXRob3JpdGllcyIsImFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zIiwic2VsZWN0aW9uIiwicG9pbnQiLCJpZCIsImRlbGV0ZUF0dHJpYnV0ZXMiLCJmb3JtYXRTZW5kVmlhIiwiZm9ybWF0dGVkVmFsdWUiLCJmbGF0IiwicGFyc2VTZXZlcml0aWVzIiwiZm9ybWF0Tm90aWZpY2F0aW9uIiwibm90aWZpY2F0aW9uQ29weSIsInBhcnNlIiwibm90aWZpY2F0aW9uVG9TYXZlIiwidXNlciIsImFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlcyIsIm5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAiLCJub3ciLCJEYXRlIiwiZ2V0VGltZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBRU8sSUFBTUEsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUF5QixDQUNwQ0MsTUFEb0MsRUFFcENDLFlBRm9DLEVBR3BDQyxrQkFIb0MsRUFJakM7QUFDSCxNQUFNQyxLQUFLLEdBQUdGLFlBQVksQ0FBQ0csZUFBYixDQUE4QkMsSUFBOUIsQ0FDWixVQUFDQyxJQUFEO0FBQUEsV0FBVUEsSUFBSSxLQUFLTixNQUFNLENBQUNHLEtBQTFCO0FBQUEsR0FEWSxDQUFkO0FBR0EsTUFBSUEsS0FBSixFQUNFRCxrQkFBa0IsQ0FBQyxVQUFDSyxTQUFEO0FBQUEsdUVBQ2RBLFNBRGM7QUFFakJELE1BQUFBLElBQUksRUFBRUg7QUFGVztBQUFBLEdBQUQsQ0FBbEI7QUFJSCxDQWJNOzs7O0FBZUEsSUFBTUssZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUM5QkMsQ0FEOEIsRUFFOUJQLGtCQUY4QixFQUczQjtBQUNILE1BQU1DLEtBQUssR0FBR00sQ0FBQyxDQUFDQyxNQUFGLENBQVNQLEtBQXZCO0FBRUFELEVBQUFBLGtCQUFrQixDQUFDLFVBQUNLLFNBQUQ7QUFBQSx1RUFDZEEsU0FEYztBQUVqQkksTUFBQUEsUUFBUSxFQUFFUjtBQUZPO0FBQUEsR0FBRCxDQUFsQjtBQUlELENBVk07Ozs7QUFXQSxJQUFNUyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXlCLENBQ3BDSCxDQURvQyxFQUtqQztBQUFBLE1BSEhULE1BR0csdUVBSFcsRUFHWDtBQUFBLE1BRkhhLGVBRUc7QUFBQSxNQURIWCxrQkFDRztBQUNILE1BQU1DLEtBQUssbUNBQVFVLGVBQWUsQ0FBQ0MsaUJBQXhCLENBQVg7QUFDQUMsRUFBQUEscUJBQXFCLENBQ25CWixLQURtQixFQUVuQixtQkFGbUIsRUFHbkJNLENBSG1CLEVBSW5CVCxNQUptQixFQUtuQkUsa0JBTG1CLENBQXJCO0FBT0QsQ0FkTTs7OztBQWdCQSxJQUFNYyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQzNCUCxDQUQyQixFQUt4QjtBQUFBLE1BSEhULE1BR0csdUVBSFcsRUFHWDtBQUFBLE1BRkhhLGVBRUc7QUFBQSxNQURIWCxrQkFDRztBQUNILE1BQU1DLEtBQUssbUNBQVFVLGVBQWUsQ0FBQ0ksTUFBeEIsQ0FBWDtBQUNBRixFQUFBQSxxQkFBcUIsQ0FBQ1osS0FBRCxFQUFRLFFBQVIsRUFBa0JNLENBQWxCLEVBQXFCVCxNQUFyQixFQUE2QkUsa0JBQTdCLENBQXJCO0FBQ0QsQ0FSTTs7OztBQVVBLElBQU1nQixVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUN4QlQsQ0FEd0IsRUFLckI7QUFBQSxNQUhIVCxNQUdHLHVFQUhXLEVBR1g7QUFBQSxNQUZIYSxlQUVHO0FBQUEsTUFESFgsa0JBQ0c7QUFDSCxNQUFNQyxLQUFLLG1DQUFRVSxlQUFlLENBQUNNLElBQXhCLENBQVg7QUFDQUosRUFBQUEscUJBQXFCLENBQUNaLEtBQUQsRUFBUSxNQUFSLEVBQWdCTSxDQUFoQixFQUFtQlQsTUFBbkIsRUFBMkJFLGtCQUEzQixDQUFyQjtBQUNELENBUk07Ozs7QUFVQSxJQUFNa0IsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUMzQlgsQ0FEMkIsRUFLeEI7QUFBQSxNQUhIVCxNQUdHLHVFQUhXLEVBR1g7QUFBQSxNQUZIYSxlQUVHO0FBQUEsTUFESFgsa0JBQ0c7QUFDSCxNQUFNQyxLQUFLLG1DQUFRVSxlQUFlLENBQUNRLE9BQXhCLENBQVg7QUFDQU4sRUFBQUEscUJBQXFCLENBQUNaLEtBQUQsRUFBUSxTQUFSLEVBQW1CTSxDQUFuQixFQUFzQlQsTUFBdEIsRUFBOEJFLGtCQUE5QixDQUFyQjtBQUNELENBUk07Ozs7QUFVQSxJQUFNYSxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXdCLENBQ25DWixLQURtQyxFQUVuQ21CLEtBRm1DLEVBR25DYixDQUhtQyxFQU1oQztBQUFBLE1BRkhULE1BRUcsdUVBRlcsRUFFWDtBQUFBLE1BREhFLGtCQUNHOztBQUNILE1BQUlPLENBQUMsS0FBS2MsU0FBTixJQUFtQmQsQ0FBQyxDQUFDQyxNQUFGLEtBQWFhLFNBQXBDLEVBQStDO0FBQzdDcEIsSUFBQUEsS0FBSyxDQUFDcUIsY0FBTixHQUF1QmYsQ0FBQyxDQUFDQyxNQUFGLENBQVNQLEtBQWhDO0FBQ0QsR0FGRCxNQUVPO0FBQ0xBLElBQUFBLEtBQUssQ0FBQ3FCLGNBQU4sR0FBdUJ4QixNQUFNLENBQUN3QixjQUE5QjtBQUNEOztBQUVELE1BQUlyQixLQUFLLENBQUNxQixjQUFOLEtBQXlCLEtBQTdCLEVBQW9DO0FBQ2xDckIsSUFBQUEsS0FBSyxDQUFDc0IsR0FBTixHQUFZLElBQUlDLEtBQUosRUFBWjtBQUNELEdBRkQsTUFFTztBQUFBOztBQUNMLFFBQU1ELEdBQWEsR0FBRyxFQUF0QjtBQUNBLG1CQUFBekIsTUFBTSxDQUFDeUIsR0FBUCw0REFBWUUsT0FBWixDQUFvQixVQUFDM0IsTUFBRCxFQUFZO0FBQzlCeUIsTUFBQUEsR0FBRyxDQUFDRyxJQUFKLENBQVNDLElBQUksQ0FBQ0MsU0FBTCxDQUFlOUIsTUFBTSxDQUFDRyxLQUF0QixDQUFUO0FBQ0QsS0FGRDtBQUdBQSxJQUFBQSxLQUFLLENBQUNzQixHQUFOLEdBQVlBLEdBQVo7QUFDRDs7QUFFRHZCLEVBQUFBLGtCQUFrQixDQUFDLFVBQUNLLFNBQUQ7QUFBQSx1RUFDZEEsU0FEYyx5Q0FFaEJlLEtBRmdCLEVBRVJuQixLQUZRO0FBQUEsR0FBRCxDQUFsQjtBQUlELENBM0JNOzs7O0FBNkJBLElBQU00QixhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQzNCdEIsQ0FEMkIsRUFFM0JJLGVBRjJCLEVBRzNCWCxrQkFIMkIsRUFJM0I4QixlQUoyQixFQUt4QjtBQUNILE1BQU03QixLQUFLLG1DQUFRVSxlQUFlLENBQUNvQixPQUF4QixDQUFYO0FBQ0EsTUFBTVgsS0FBSyxHQUFHYixDQUFDLENBQUNDLE1BQUYsQ0FBU1AsS0FBdkI7QUFDQUEsRUFBQUEsS0FBSyxDQUFDbUIsS0FBRCxDQUFMLEdBQWUsQ0FBQ25CLEtBQUssQ0FBQ21CLEtBQUQsQ0FBckI7O0FBRUEsTUFBSUEsS0FBSyxLQUFLLEtBQVYsSUFBbUJBLEtBQUssS0FBSyxVQUFqQyxFQUE2QztBQUMzQ1UsSUFBQUEsZUFBZSxDQUFDO0FBQUVFLE1BQUFBLElBQUksRUFBRSxJQUFSO0FBQWNDLE1BQUFBLFFBQVEsRUFBRWI7QUFBeEIsS0FBRCxDQUFmO0FBQ0Q7O0FBRURwQixFQUFBQSxrQkFBa0IsQ0FBQyxVQUFDSyxTQUFEO0FBQUEsdUVBQ2RBLFNBRGM7QUFFakIwQixNQUFBQSxPQUFPLEVBQUU5QjtBQUZRO0FBQUEsR0FBRCxDQUFsQjtBQUlELENBbEJNOzs7O0FBb0JBLElBQU1pQyx3QkFBd0IsR0FBRyxTQUEzQkEsd0JBQTJCLENBQ3RDM0IsQ0FEc0MsRUFFdENQLGtCQUZzQyxFQUduQztBQUNILE1BQU1DLEtBQUssR0FBR00sQ0FBQyxDQUFDQyxNQUFGLENBQVMyQixPQUF2QjtBQUNBLE1BQUlDLFdBQVcsR0FBR25DLEtBQUssR0FBRyxHQUFILEdBQVMsR0FBaEM7QUFDQUQsRUFBQUEsa0JBQWtCLENBQUMsVUFBQ0ssU0FBRDtBQUFBLHVFQUNkQSxTQURjO0FBRWpCZ0MsTUFBQUEsU0FBUyxFQUFFRDtBQUZNO0FBQUEsR0FBRCxDQUFsQjtBQUlELENBVk07Ozs7QUFZQSxJQUFNRSwwQkFBMEIsR0FBRyxTQUE3QkEsMEJBQTZCLENBQUNyQyxLQUFELEVBQVc7QUFDbkQsU0FDRSxzQkFBT0EsS0FBUCxNQUFpQixRQUFqQixJQUNBLENBQUN1QixLQUFLLENBQUNlLE9BQU4sQ0FBY3RDLEtBQWQsQ0FERCxJQUVBQSxLQUFLLEtBQUssSUFGVixJQUdBQSxLQUFLLEtBQUtvQixTQUpaO0FBTUQsQ0FQTTs7OztBQVNBLElBQU1tQixrQ0FBa0MsR0FBRyxTQUFyQ0Esa0NBQXFDLENBQUN6QyxZQUFELEVBQWtCO0FBQ2xFO0FBRUEsTUFBSWdCLE1BQU0sR0FBR2hCLFlBQVksQ0FBQ2dCLE1BQTFCO0FBQ0EsTUFBSTBCLGdCQUFnQixHQUFHMUMsWUFBWSxDQUFDYSxpQkFBcEM7QUFDQSxNQUFJSyxJQUFJLEdBQUdsQixZQUFZLENBQUNrQixJQUF4QjtBQUNBLE1BQUlFLE9BQU8sR0FBR3BCLFlBQVksQ0FBQ29CLE9BQTNCO0FBRUEsTUFBTXVCLHVCQUF1QixHQUFHLENBQUMzQixNQUFELEVBQVMwQixnQkFBVCxFQUEyQnhCLElBQTNCLEVBQWlDRSxPQUFqQyxDQUFoQztBQUVBdUIsRUFBQUEsdUJBQXVCLENBQUNqQixPQUF4QixDQUFnQyxVQUFDa0IsU0FBRCxFQUFlO0FBQzdDLFFBQ0VMLDBCQUEwQixDQUN4QkssU0FBUyxLQUFLdEIsU0FBZCxJQUEyQnNCLFNBQVMsQ0FBQ3BCLEdBQVYsS0FBa0IsSUFBN0MsSUFBcURvQixTQUFTLENBQUNwQixHQUFWLENBQWMsQ0FBZCxDQUQ3QixDQUQ1QixFQUlFO0FBQ0EsVUFBTUEsR0FBYSxHQUFHLEVBQXRCO0FBQ0FvQixNQUFBQSxTQUFTLENBQUNwQixHQUFWLENBQWNFLE9BQWQsQ0FBc0IsVUFBQ21CLEtBQUQsRUFBVztBQUMvQnJCLFFBQUFBLEdBQUcsQ0FBQ0csSUFBSixDQUFTQyxJQUFJLENBQUNDLFNBQUwsQ0FBZWdCLEtBQUssQ0FBQ0MsRUFBckIsQ0FBVDtBQUNELE9BRkQ7QUFJQUYsTUFBQUEsU0FBUyxDQUFDcEIsR0FBVixHQUFnQkEsR0FBaEI7QUFDRDs7QUFFRCxRQUFJb0IsU0FBUyxJQUFJQSxTQUFTLENBQUNwQixHQUFWLEtBQWtCRixTQUEvQixJQUE0Q3NCLFNBQVMsQ0FBQ3BCLEdBQVYsS0FBa0IsSUFBbEUsRUFBd0U7QUFDdEVvQixNQUFBQSxTQUFTLENBQUNwQixHQUFWLEdBQWdCLEVBQWhCO0FBQ0Q7QUFDRixHQWpCRDtBQW1CQSxTQUFPeEIsWUFBUDtBQUNELENBOUJNOzs7O0FBZ0NBLElBQU0rQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQUMvQyxZQUFELEVBQWVZLGVBQWYsRUFBbUM7QUFDakU7QUFFQSxTQUFPWixZQUFZLENBQUNHLGVBQXBCO0FBQ0EsTUFBSVMsZUFBZSxDQUFDUCxJQUFoQixLQUF5QixzQkFBN0IsRUFDRSxPQUFPTCxZQUFZLENBQUNVLFFBQXBCO0FBQ0YsTUFBSUUsZUFBZSxDQUFDUCxJQUFoQixLQUF5QixzQkFBN0IsRUFDRSxPQUFPTCxZQUFZLENBQUNzQyxTQUFwQjtBQUNGLE1BQUkxQixlQUFlLENBQUNQLElBQWhCLEtBQXlCLDRCQUE3QixFQUNFLE9BQU9MLFlBQVksQ0FBQ2dCLE1BQXBCO0FBQ0YsTUFBSUosZUFBZSxDQUFDUCxJQUFoQixLQUF5Qiw0QkFBN0IsRUFDRSxPQUFPTCxZQUFZLENBQUNrQixJQUFwQjtBQUNGLE1BQUlOLGVBQWUsQ0FBQ1AsSUFBaEIsS0FBeUIsZ0NBQTdCLEVBQ0UsT0FBT0wsWUFBWSxDQUFDb0IsT0FBcEI7QUFFRnBCLEVBQUFBLFlBQVksQ0FBQyxZQUFELENBQVosR0FBNkJBLFlBQVksQ0FBQ0ssSUFBMUM7QUFDQUwsRUFBQUEsWUFBWSxDQUFDLFVBQUQsQ0FBWixHQUEyQixDQUEzQjtBQUVBLFNBQU9BLFlBQVA7QUFDRCxDQW5CTTs7OztBQXFCQSxJQUFNZ0QsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDaEQsWUFBRCxFQUFrQjtBQUM3QyxNQUFJaUQsY0FBbUIsR0FBRyxFQUExQjtBQUNBLE1BQUlqRCxZQUFZLENBQUNnQyxPQUFiLENBQXFCLFVBQXJCLENBQUosRUFDRWlCLGNBQWMsQ0FBQ3RCLElBQWYsQ0FBb0IsQ0FBQyxvQkFBRCxFQUF1QixHQUF2QixDQUFwQjtBQUNGLE1BQUkzQixZQUFZLENBQUNnQyxPQUFiLENBQXFCLE9BQXJCLENBQUosRUFDRWlCLGNBQWMsQ0FBQ3RCLElBQWYsQ0FBb0IsQ0FBQyxpQkFBRCxFQUFvQixHQUFwQixDQUFwQjtBQUNGLE1BQUkzQixZQUFZLENBQUNnQyxPQUFiLENBQXFCLEtBQXJCLENBQUosRUFBaUNpQixjQUFjLENBQUN0QixJQUFmLENBQW9CLENBQUMsZUFBRCxFQUFrQixHQUFsQixDQUFwQjtBQUNqQzNCLEVBQUFBLFlBQVksQ0FBQ2dDLE9BQWIsR0FBdUJpQixjQUFjLENBQUNDLElBQWYsRUFBdkI7QUFFQSxTQUFPbEQsWUFBUDtBQUNELENBVk07Ozs7QUFZQSxJQUFNbUQsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDbkQsWUFBRCxFQUFrQjtBQUMvQyxNQUFJRSxLQUFKOztBQUNBLFVBQVFGLFlBQVksQ0FBQ1UsUUFBckI7QUFDRSxTQUFLLFFBQUw7QUFDRVIsTUFBQUEsS0FBSyxHQUFHLEdBQVI7QUFDQTs7QUFDRixTQUFLLE1BQUw7QUFDRUEsTUFBQUEsS0FBSyxHQUFHLEdBQVI7QUFDQTs7QUFDRixTQUFLLFNBQUw7QUFDRUEsTUFBQUEsS0FBSyxHQUFHLEdBQVI7QUFSSjs7QUFVQUYsRUFBQUEsWUFBWSxDQUFDVSxRQUFiLEdBQXdCUixLQUF4QjtBQUNBLFNBQU9GLFlBQVA7QUFDRCxDQWRNOzs7O0FBZ0JBLElBQU1vRCxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQXFCLENBQUN4QyxlQUFELEVBQXFCO0FBQ3JELE1BQUl5QyxnQkFBZ0IsR0FBR3pCLElBQUksQ0FBQzBCLEtBQUwsQ0FBVzFCLElBQUksQ0FBQ0MsU0FBTCxDQUFlakIsZUFBZixDQUFYLENBQXZCO0FBQ0F5QyxFQUFBQSxnQkFBZ0IsR0FBR1osa0NBQWtDLENBQUNZLGdCQUFELENBQXJEO0FBQ0FBLEVBQUFBLGdCQUFnQixHQUFHTCxhQUFhLENBQUNLLGdCQUFELENBQWhDO0FBQ0FBLEVBQUFBLGdCQUFnQixHQUFHTixnQkFBZ0IsQ0FBQ00sZ0JBQUQsRUFBbUJ6QyxlQUFuQixDQUFuQztBQUNBeUMsRUFBQUEsZ0JBQWdCLEdBQUdGLGVBQWUsQ0FBQ0UsZ0JBQUQsQ0FBbEM7QUFFQSxNQUFJRSxrQkFBa0IsR0FBRztBQUN2QkMsSUFBQUEsSUFBSSxFQUFFO0FBQ0pDLE1BQUFBLHdCQUF3QixrQ0FDbkJKLGdCQURtQjtBQURwQjtBQURpQixHQUF6QjtBQVFBLE1BQU1LLHlCQUF5QixHQUFHO0FBQ2hDRixJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsd0JBQXdCLEVBQUU7QUFEdEI7QUFEMEIsR0FBbEM7QUFNQSxNQUFNRSxHQUFHLEdBQUcsSUFBSUMsSUFBSixFQUFaO0FBQ0FGLEVBQUFBLHlCQUF5QixDQUFDRixJQUExQixDQUErQkMsd0JBQS9CLFdBQTJERSxHQUFHLENBQUNFLE9BQUosRUFBM0QsS0FDRU4sa0JBQWtCLENBQUNDLElBQW5CLENBQXdCQyx3QkFEMUI7QUFHQSxTQUFPQyx5QkFBUDtBQUNELENBMUJNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU5vdGlmaWNhdGlvblR5cGUgPSAoXG4gIG9wdGlvbixcbiAgbm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSBub3RpZmljYXRpb24uYXZhaWxhYmxlX3R5cGVzIS5maW5kKFxuICAgICh0eXBlKSA9PiB0eXBlID09PSBvcHRpb24udmFsdWUsXG4gICk7XG4gIGlmICh2YWx1ZSlcbiAgICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgIHR5cGU6IHZhbHVlLFxuICAgIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZXZlcml0aWVzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XG5cbiAgc2V0TmV3Tm90aWZpY2F0aW9uKChwcmV2U3RhdGUpID0+ICh7XG4gICAgLi4ucHJldlN0YXRlLFxuICAgIHNldmVyaXR5OiB2YWx1ZSxcbiAgfSkpO1xufTtcbmV4cG9ydCBjb25zdCBoYW5kbGVXYXRlckF1dGhvcml0aWVzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi53YXRlcl9hdXRob3JpdGllcyB9O1xuICBoYW5kbGVTZWxlY3Rpb25BbmRTZXQoXG4gICAgdmFsdWUsXG4gICAgJ3dhdGVyX2F1dGhvcml0aWVzJyxcbiAgICBlLFxuICAgIG9wdGlvbixcbiAgICBzZXROZXdOb3RpZmljYXRpb24sXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU291cmNlcyA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIG5ld05vdGlmaWNhdGlvbixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0geyAuLi5uZXdOb3RpZmljYXRpb24ucG9pbnRzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldCh2YWx1ZSwgJ3BvaW50cycsIGUsIG9wdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVUYWdzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi50YWdzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldCh2YWx1ZSwgJ3RhZ3MnLCBlLCBvcHRpb24sIHNldE5ld05vdGlmaWNhdGlvbik7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2Vuc29ycyA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIG5ld05vdGlmaWNhdGlvbixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0geyAuLi5uZXdOb3RpZmljYXRpb24uc2Vuc29ycyB9O1xuICBoYW5kbGVTZWxlY3Rpb25BbmRTZXQodmFsdWUsICdzZW5zb3JzJywgZSwgb3B0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNlbGVjdGlvbkFuZFNldCA9IChcbiAgdmFsdWUsXG4gIGZpZWxkOiBzdHJpbmcsXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgaWYgKGUgIT09IHVuZGVmaW5lZCAmJiBlLnRhcmdldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdmFsdWUuc2VsZWN0aW9uX3R5cGUgPSBlLnRhcmdldC52YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICB2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9IG9wdGlvbi5zZWxlY3Rpb25fdHlwZTtcbiAgfVxuXG4gIGlmICh2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9PT0gJ2FsbCcpIHtcbiAgICB2YWx1ZS5zZXQgPSBuZXcgQXJyYXkoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBzZXQ6IHN0cmluZ1tdID0gW107XG4gICAgb3B0aW9uLnNldD8uZm9yRWFjaCgob3B0aW9uKSA9PiB7XG4gICAgICBzZXQucHVzaChKU09OLnN0cmluZ2lmeShvcHRpb24udmFsdWUpKTtcbiAgICB9KTtcbiAgICB2YWx1ZS5zZXQgPSBzZXQ7XG4gIH1cblxuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgW2ZpZWxkXTogdmFsdWUsXG4gIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZW5kVmlhID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PixcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4gIHNldE1vZGFsRGV0YWlscyxcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLmFjdGlvbnMgfTtcbiAgY29uc3QgZmllbGQgPSBlLnRhcmdldC52YWx1ZTtcbiAgdmFsdWVbZmllbGRdID0gIXZhbHVlW2ZpZWxkXTtcblxuICBpZiAoZmllbGQgPT09ICdzbXMnIHx8IGZpZWxkID09PSAndGVsZWdyYW0nKSB7XG4gICAgc2V0TW9kYWxEZXRhaWxzKHsgb3BlbjogdHJ1ZSwgaW5zdGFuY2U6IGZpZWxkIH0pO1xuICB9XG5cbiAgc2V0TmV3Tm90aWZpY2F0aW9uKChwcmV2U3RhdGUpID0+ICh7XG4gICAgLi4ucHJldlN0YXRlLFxuICAgIGFjdGlvbnM6IHZhbHVlLFxuICB9KSk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTm90aWZpY2F0aW9uU2FtcGxlID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0gZS50YXJnZXQuY2hlY2tlZDtcbiAgbGV0IHBhcnNlZFZhbHVlID0gdmFsdWUgPyAnMScgOiAnMCc7XG4gIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgIC4uLnByZXZTdGF0ZSxcbiAgICBwdW1wX29ubHk6IHBhcnNlZFZhbHVlLFxuICB9KSk7XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVWYWx1ZUlzTm90QW5PYmplY3QgPSAodmFsdWUpID0+IHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgIUFycmF5LmlzQXJyYXkodmFsdWUpICYmXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICB2YWx1ZSAhPT0gdW5kZWZpbmVkXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VOb3RpZmljYXRpb25BZHZhbmNlZFNlbGVjdGlvbiA9IChub3RpZmljYXRpb24pID0+IHtcbiAgLy8gSWYgdGhlcmUnbGwgYmUgYSBmdXR1cmUgcmVxdWlyZW1lbnQgdG8gYWRkIGFub3RoZXIgQWR2YW5jZWRTZWxlY3Rpb24gZmllbGRzLCBwbGVhc2UgYWRkIHRoZW0gcmlnaHQgYmVsb3dcblxuICBsZXQgcG9pbnRzID0gbm90aWZpY2F0aW9uLnBvaW50cztcbiAgbGV0IHdhdGVyQXV0aG9yaXRpZXMgPSBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXM7XG4gIGxldCB0YWdzID0gbm90aWZpY2F0aW9uLnRhZ3M7XG4gIGxldCBzZW5zb3JzID0gbm90aWZpY2F0aW9uLnNlbnNvcnM7XG5cbiAgY29uc3QgYWxsX2FkdmFuY2VkX3NlbGVjdGlvbnMgPSBbcG9pbnRzLCB3YXRlckF1dGhvcml0aWVzLCB0YWdzLCBzZW5zb3JzXTtcblxuICBhbGxfYWR2YW5jZWRfc2VsZWN0aW9ucy5mb3JFYWNoKChzZWxlY3Rpb24pID0+IHtcbiAgICBpZiAoXG4gICAgICB2YWxpZGF0ZVZhbHVlSXNOb3RBbk9iamVjdChcbiAgICAgICAgc2VsZWN0aW9uICE9PSB1bmRlZmluZWQgJiYgc2VsZWN0aW9uLnNldCAhPT0gbnVsbCAmJiBzZWxlY3Rpb24uc2V0WzBdLFxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc3Qgc2V0OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgc2VsZWN0aW9uLnNldC5mb3JFYWNoKChwb2ludCkgPT4ge1xuICAgICAgICBzZXQucHVzaChKU09OLnN0cmluZ2lmeShwb2ludC5pZCkpO1xuICAgICAgfSk7XG5cbiAgICAgIHNlbGVjdGlvbi5zZXQgPSBzZXQ7XG4gICAgfVxuXG4gICAgaWYgKHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24uc2V0ICE9PSB1bmRlZmluZWQgJiYgc2VsZWN0aW9uLnNldCA9PT0gbnVsbCkge1xuICAgICAgc2VsZWN0aW9uLnNldCA9IFtdO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVBdHRyaWJ1dGVzID0gKG5vdGlmaWNhdGlvbiwgbmV3Tm90aWZpY2F0aW9uKSA9PiB7XG4gIC8vIE1ha2Ugc3VyZSB0byByZW1vdmUgdW5uZWNlc3NhcnkgYXR0cmlidXRlcyBmb3Igc29tZSBBbGVydENvbmZpZ3NcblxuICBkZWxldGUgbm90aWZpY2F0aW9uLmF2YWlsYWJsZV90eXBlcztcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnUG9sbHV0aW9uQWxlcnRDb25maWcnKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24uc2V2ZXJpdHk7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSAhPT0gJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnB1bXBfb25seTtcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlID09PSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24ucG9pbnRzO1xuICBpZiAobmV3Tm90aWZpY2F0aW9uLnR5cGUgIT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycpXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi50YWdzO1xuICBpZiAobmV3Tm90aWZpY2F0aW9uLnR5cGUgIT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24uc2Vuc29ycztcblxuICBub3RpZmljYXRpb25bJ2FsZXJ0X3R5cGUnXSA9IG5vdGlmaWNhdGlvbi50eXBlO1xuICBub3RpZmljYXRpb25bJ19kZXN0cm95J10gPSAwO1xuXG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0U2VuZFZpYSA9IChub3RpZmljYXRpb24pID0+IHtcbiAgbGV0IGZvcm1hdHRlZFZhbHVlOiBhbnkgPSBbXTtcbiAgaWYgKG5vdGlmaWNhdGlvbi5hY3Rpb25zWyd0ZWxlZ3JhbSddKVxuICAgIGZvcm1hdHRlZFZhbHVlLnB1c2goWydTZW5kVGVsZWdyYW1BY3Rpb24nLCAnMCddKTtcbiAgaWYgKG5vdGlmaWNhdGlvbi5hY3Rpb25zWydlbWFpbCddKVxuICAgIGZvcm1hdHRlZFZhbHVlLnB1c2goWydTZW5kRW1haWxBY3Rpb24nLCAnMCddKTtcbiAgaWYgKG5vdGlmaWNhdGlvbi5hY3Rpb25zWydzbXMnXSkgZm9ybWF0dGVkVmFsdWUucHVzaChbJ1NlbmRTbXNBY3Rpb24nLCAnMCddKTtcbiAgbm90aWZpY2F0aW9uLmFjdGlvbnMgPSBmb3JtYXR0ZWRWYWx1ZS5mbGF0KCk7XG5cbiAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZVNldmVyaXRpZXMgPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gIGxldCB2YWx1ZTtcbiAgc3dpdGNoIChub3RpZmljYXRpb24uc2V2ZXJpdHkpIHtcbiAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgdmFsdWUgPSAnMCc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdoaWdoJzpcbiAgICAgIHZhbHVlID0gJzEnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnZXh0cmVtZSc6XG4gICAgICB2YWx1ZSA9ICcyJztcbiAgfVxuICBub3RpZmljYXRpb24uc2V2ZXJpdHkgPSB2YWx1ZTtcbiAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXROb3RpZmljYXRpb24gPSAobmV3Tm90aWZpY2F0aW9uKSA9PiB7XG4gIGxldCBub3RpZmljYXRpb25Db3B5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShuZXdOb3RpZmljYXRpb24pKTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IHBhcnNlTm90aWZpY2F0aW9uQWR2YW5jZWRTZWxlY3Rpb24obm90aWZpY2F0aW9uQ29weSk7XG4gIG5vdGlmaWNhdGlvbkNvcHkgPSBmb3JtYXRTZW5kVmlhKG5vdGlmaWNhdGlvbkNvcHkpO1xuICBub3RpZmljYXRpb25Db3B5ID0gZGVsZXRlQXR0cmlidXRlcyhub3RpZmljYXRpb25Db3B5LCBuZXdOb3RpZmljYXRpb24pO1xuICBub3RpZmljYXRpb25Db3B5ID0gcGFyc2VTZXZlcml0aWVzKG5vdGlmaWNhdGlvbkNvcHkpO1xuXG4gIGxldCBub3RpZmljYXRpb25Ub1NhdmUgPSB7XG4gICAgdXNlcjoge1xuICAgICAgYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzOiB7XG4gICAgICAgIC4uLm5vdGlmaWNhdGlvbkNvcHksXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uV2l0aFRpbWVTdGFtcCA9IHtcbiAgICB1c2VyOiB7XG4gICAgICBhbGVydF9jb25maWdzX2F0dHJpYnV0ZXM6IHt9LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgbm90aWZpY2F0aW9uV2l0aFRpbWVTdGFtcC51c2VyLmFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlc1tgJHtub3cuZ2V0VGltZSgpfWBdID1cbiAgICBub3RpZmljYXRpb25Ub1NhdmUudXNlci5hbGVydF9jb25maWdzX2F0dHJpYnV0ZXM7XG5cbiAgcmV0dXJuIG5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXA7XG59O1xuIl19
244
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc1V0aWxzLnRzIl0sIm5hbWVzIjpbImhhbmRsZU5vdGlmaWNhdGlvblR5cGUiLCJvcHRpb24iLCJub3RpZmljYXRpb24iLCJzZXROZXdOb3RpZmljYXRpb24iLCJ2YWx1ZSIsImF2YWlsYWJsZV90eXBlcyIsImZpbmQiLCJ0eXBlIiwicHJldlN0YXRlIiwiaGFuZGxlU2V2ZXJpdGllcyIsImUiLCJ0YXJnZXQiLCJzZXZlcml0eSIsImhhbmRsZVdhdGVyQXV0aG9yaXRpZXMiLCJuZXdOb3RpZmljYXRpb24iLCJ3YXRlcl9hdXRob3JpdGllcyIsImhhbmRsZVNlbGVjdGlvbkFuZFNldCIsImhhbmRsZVNvdXJjZXMiLCJwb2ludHMiLCJoYW5kbGVUYWdzIiwidGFncyIsImhhbmRsZVNlbnNvcnMiLCJzZW5zb3JzIiwiZmllbGQiLCJ1bmRlZmluZWQiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsImZvckVhY2giLCJwdXNoIiwiSlNPTiIsInN0cmluZ2lmeSIsImhhbmRsZVNlbmRWaWEiLCJzZXRNb2RhbERldGFpbHMiLCJhY3Rpb25zIiwib3BlbiIsImluc3RhbmNlIiwiaGFuZGxlTm90aWZpY2F0aW9uU2FtcGxlIiwiY2hlY2tlZCIsInBhcnNlZFZhbHVlIiwicHVtcF9vbmx5IiwidmFsaWRhdGVWYWx1ZUlzTm90QW5PYmplY3QiLCJBcnJheSIsImlzQXJyYXkiLCJwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uIiwid2F0ZXJBdXRob3JpdGllcyIsImFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zIiwic2VsZWN0aW9uIiwicG9pbnQiLCJpZCIsImRlbGV0ZUF0dHJpYnV0ZXMiLCJmb3JtYXRTZW5kVmlhIiwiZm9ybWF0dGVkVmFsdWUiLCJmbGF0IiwicGFyc2VTZXZlcml0aWVzIiwiZm9ybWF0Tm90aWZpY2F0aW9uIiwibm90aWZpY2F0aW9uQ29weSIsInBhcnNlIiwibm90aWZpY2F0aW9uVG9TYXZlIiwidXNlciIsImFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlcyIsIm5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAiLCJub3ciLCJEYXRlIiwiZ2V0VGltZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBRU8sSUFBTUEsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUF5QixDQUNwQ0MsTUFEb0MsRUFFcENDLFlBRm9DLEVBR3BDQyxrQkFIb0MsRUFJakM7QUFDSCxNQUFNQyxLQUFLLEdBQUdGLFlBQVksQ0FBQ0csZUFBYixDQUE4QkMsSUFBOUIsQ0FDWixVQUFDQyxJQUFEO0FBQUEsV0FBVUEsSUFBSSxLQUFLTixNQUFNLENBQUNHLEtBQTFCO0FBQUEsR0FEWSxDQUFkO0FBR0EsTUFBSUEsS0FBSixFQUNFRCxrQkFBa0IsQ0FBQyxVQUFDSyxTQUFEO0FBQUEsdUVBQ2RBLFNBRGM7QUFFakJELE1BQUFBLElBQUksRUFBRUg7QUFGVztBQUFBLEdBQUQsQ0FBbEI7QUFJSCxDQWJNOzs7O0FBZUEsSUFBTUssZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUM5QkMsQ0FEOEIsRUFFOUJQLGtCQUY4QixFQUczQjtBQUNILE1BQU1DLEtBQUssR0FBR00sQ0FBQyxDQUFDQyxNQUFGLENBQVNQLEtBQXZCO0FBRUFELEVBQUFBLGtCQUFrQixDQUFDLFVBQUNLLFNBQUQ7QUFBQSx1RUFDZEEsU0FEYztBQUVqQkksTUFBQUEsUUFBUSxFQUFFUjtBQUZPO0FBQUEsR0FBRCxDQUFsQjtBQUlELENBVk07Ozs7QUFXQSxJQUFNUyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXlCLENBQ3BDSCxDQURvQyxFQUtqQztBQUFBLE1BSEhULE1BR0csdUVBSFcsRUFHWDtBQUFBLE1BRkhhLGVBRUc7QUFBQSxNQURIWCxrQkFDRztBQUNILE1BQU1DLEtBQUssbUNBQVFVLGVBQWUsQ0FBQ0MsaUJBQXhCLENBQVg7QUFDQUMsRUFBQUEscUJBQXFCLENBQ25CWixLQURtQixF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QUFHO0FBQ3ZCQyxJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsd0JBQXdCLGtDQUNuQkosZ0JBRG1CO0FBRHBCO0FBRGlCLEdBQXpCO0FBUUEsTUFBTUsseUJBQXlCLEdBQUc7QUFDaENGLElBQUFBLElBQUksRUFBRTtBQUNKQyxNQUFBQSx3QkFBd0IsRUFBRTtBQUR0QjtBQUQwQixHQUFsQztBQU1BLE1BQU1FLEdBQUcsR0FBRyxJQUFJQyxJQUFKLEVBQVo7QUFDQUYsRUFBQUEseUJBQXlCLENBQUNGLElBQTFCLENBQStCQyx3QkFBL0IsV0FBMkRFLEdBQUcsQ0FBQ0UsT0FBSixFQUEzRCxLQUNFTixrQkFBa0IsQ0FBQ0MsSUFBbkIsQ0FBd0JDLHdCQUQxQjtBQUdBLFNBQU9DLHlCQUFQO0FBQ0QsQ0ExQk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTm90aWZpY2F0aW9uVHlwZSA9IChcbiAgb3B0aW9uLFxuICBub3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IG5vdGlmaWNhdGlvbi5hdmFpbGFibGVfdHlwZXMhLmZpbmQoXG4gICAgKHR5cGUpID0+IHR5cGUgPT09IG9wdGlvbi52YWx1ZSxcbiAgKTtcbiAgaWYgKHZhbHVlKVxuICAgIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgdHlwZTogdmFsdWUsXG4gICAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNldmVyaXRpZXMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+LFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcblxuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgc2V2ZXJpdHk6IHZhbHVlLFxuICB9KSk7XG59O1xuZXhwb3J0IGNvbnN0IGhhbmRsZVdhdGVyQXV0aG9yaXRpZXMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldChcbiAgICB2YWx1ZSxcbiAgICAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIGUsXG4gICAgb3B0aW9uLFxuICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTb3VyY2VzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5wb2ludHMgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KHZhbHVlLCAncG9pbnRzJywgZSwgb3B0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVRhZ3MgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLnRhZ3MgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KHZhbHVlLCAndGFncycsIGUsIG9wdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZW5zb3JzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5zZW5zb3JzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldCh2YWx1ZSwgJ3NlbnNvcnMnLCBlLCBvcHRpb24sIHNldE5ld05vdGlmaWNhdGlvbik7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2VsZWN0aW9uQW5kU2V0ID0gKFxuICB2YWx1ZSxcbiAgZmllbGQ6IHN0cmluZyxcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBpZiAoZSAhPT0gdW5kZWZpbmVkICYmIGUudGFyZ2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICB2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgW2ZpZWxkXTogdmFsdWUsXG4gICAgfSkpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHNldDogc3RyaW5nW10gPSBbXTtcbiAgICBvcHRpb24uc2V0LmZvckVhY2goKG9wdGlvbikgPT4ge1xuICAgICAgc2V0LnB1c2goSlNPTi5zdHJpbmdpZnkob3B0aW9uLnZhbHVlKSk7XG4gICAgfSk7XG5cbiAgICB2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9IG9wdGlvbi5zZWxlY3Rpb25fdHlwZTtcbiAgICBpZiAodmFsdWUuc2V0ID09PSBudWxsKSB7XG4gICAgICB2YWx1ZS5zZXQgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUuc2V0ID0gc2V0O1xuICAgIH1cblxuICAgIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgW2ZpZWxkXTogdmFsdWUsXG4gICAgfSkpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2VuZFZpYSA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sXG4gIG5ld05vdGlmaWNhdGlvbixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICBzZXRNb2RhbERldGFpbHMsXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5hY3Rpb25zIH07XG4gIGNvbnN0IGZpZWxkID0gZS50YXJnZXQudmFsdWU7XG4gIHZhbHVlW2ZpZWxkXSA9ICF2YWx1ZVtmaWVsZF07XG5cbiAgaWYgKGZpZWxkID09PSAnc21zJyB8fCBmaWVsZCA9PT0gJ3RlbGVncmFtJykge1xuICAgIHNldE1vZGFsRGV0YWlscyh7IG9wZW46IHRydWUsIGluc3RhbmNlOiBmaWVsZCB9KTtcbiAgfVxuXG4gIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgIC4uLnByZXZTdGF0ZSxcbiAgICBhY3Rpb25zOiB2YWx1ZSxcbiAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LmNoZWNrZWQ7XG4gIGxldCBwYXJzZWRWYWx1ZSA9IHZhbHVlID8gJzEnIDogJzAnO1xuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgcHVtcF9vbmx5OiBwYXJzZWRWYWx1ZSxcbiAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlVmFsdWVJc05vdEFuT2JqZWN0ID0gKHZhbHVlKSA9PiB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICFBcnJheS5pc0FycmF5KHZhbHVlKSAmJlxuICAgIHZhbHVlICE9PSBudWxsICYmXG4gICAgdmFsdWUgIT09IHVuZGVmaW5lZFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlTm90aWZpY2F0aW9uQWR2YW5jZWRTZWxlY3Rpb24gPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gIC8vIElmIHRoZXJlJ2xsIGJlIGEgZnV0dXJlIHJlcXVpcmVtZW50IHRvIGFkZCBhbm90aGVyIEFkdmFuY2VkU2VsZWN0aW9uIGZpZWxkcywgcGxlYXNlIGFkZCB0aGVtIHJpZ2h0IGJlbG93XG5cbiAgbGV0IHBvaW50cyA9IG5vdGlmaWNhdGlvbi5wb2ludHM7XG4gIGxldCB3YXRlckF1dGhvcml0aWVzID0gbm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzO1xuICBsZXQgdGFncyA9IG5vdGlmaWNhdGlvbi50YWdzO1xuICBsZXQgc2Vuc29ycyA9IG5vdGlmaWNhdGlvbi5zZW5zb3JzO1xuXG4gIGNvbnN0IGFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zID0gW3BvaW50cywgd2F0ZXJBdXRob3JpdGllcywgdGFncywgc2Vuc29yc107XG5cbiAgYWxsX2FkdmFuY2VkX3NlbGVjdGlvbnMuZm9yRWFjaCgoc2VsZWN0aW9uKSA9PiB7XG4gICAgaWYgKFxuICAgICAgdmFsaWRhdGVWYWx1ZUlzTm90QW5PYmplY3QoXG4gICAgICAgIHNlbGVjdGlvbiAhPT0gdW5kZWZpbmVkICYmIHNlbGVjdGlvbi5zZXQgIT09IG51bGwgJiYgc2VsZWN0aW9uLnNldFswXSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnN0IHNldDogc3RyaW5nW10gPSBbXTtcbiAgICAgIHNlbGVjdGlvbi5zZXQuZm9yRWFjaCgocG9pbnQpID0+IHtcbiAgICAgICAgc2V0LnB1c2goSlNPTi5zdHJpbmdpZnkocG9pbnQuaWQpKTtcbiAgICAgIH0pO1xuXG4gICAgICBzZWxlY3Rpb24uc2V0ID0gc2V0O1xuICAgIH1cblxuICAgIGlmIChzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLnNldCAhPT0gdW5kZWZpbmVkICYmIHNlbGVjdGlvbi5zZXQgPT09IG51bGwpIHtcbiAgICAgIHNlbGVjdGlvbi5zZXQgPSBbXTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlQXR0cmlidXRlcyA9IChub3RpZmljYXRpb24sIG5ld05vdGlmaWNhdGlvbikgPT4ge1xuICAvLyBNYWtlIHN1cmUgdG8gcmVtb3ZlIHVubmVjZXNzYXJ5IGF0dHJpYnV0ZXMgZm9yIHNvbWUgQWxlcnRDb25maWdzXG5cbiAgZGVsZXRlIG5vdGlmaWNhdGlvbi5hdmFpbGFibGVfdHlwZXM7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSAhPT0gJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnNldmVyaXR5O1xuICBpZiAobmV3Tm90aWZpY2F0aW9uLnR5cGUgIT09ICdQb2xsdXRpb25BbGVydENvbmZpZycpXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi5wdW1wX29ubHk7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSA9PT0gJ1diZVdlZWtseURpZ2VzdEFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnBvaW50cztcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24udGFncztcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnRGF0YWxvZ2dlclRocmVzaG9sZEFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnNlbnNvcnM7XG5cbiAgbm90aWZpY2F0aW9uWydhbGVydF90eXBlJ10gPSBub3RpZmljYXRpb24udHlwZTtcbiAgbm90aWZpY2F0aW9uWydfZGVzdHJveSddID0gMDtcblxuICByZXR1cm4gbm90aWZpY2F0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFNlbmRWaWEgPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gIGxldCBmb3JtYXR0ZWRWYWx1ZTogYW55ID0gW107XG4gIGlmIChub3RpZmljYXRpb24uYWN0aW9uc1sndGVsZWdyYW0nXSlcbiAgICBmb3JtYXR0ZWRWYWx1ZS5wdXNoKFsnU2VuZFRlbGVncmFtQWN0aW9uJywgJzAnXSk7XG4gIGlmIChub3RpZmljYXRpb24uYWN0aW9uc1snZW1haWwnXSlcbiAgICBmb3JtYXR0ZWRWYWx1ZS5wdXNoKFsnU2VuZEVtYWlsQWN0aW9uJywgJzAnXSk7XG4gIGlmIChub3RpZmljYXRpb24uYWN0aW9uc1snc21zJ10pIGZvcm1hdHRlZFZhbHVlLnB1c2goWydTZW5kU21zQWN0aW9uJywgJzAnXSk7XG4gIG5vdGlmaWNhdGlvbi5hY3Rpb25zID0gZm9ybWF0dGVkVmFsdWUuZmxhdCgpO1xuXG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VTZXZlcml0aWVzID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICBsZXQgdmFsdWU7XG4gIHN3aXRjaCAobm90aWZpY2F0aW9uLnNldmVyaXR5KSB7XG4gICAgY2FzZSAnbWVkaXVtJzpcbiAgICAgIHZhbHVlID0gJzAnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnaGlnaCc6XG4gICAgICB2YWx1ZSA9ICcxJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2V4dHJlbWUnOlxuICAgICAgdmFsdWUgPSAnMic7XG4gIH1cbiAgbm90aWZpY2F0aW9uLnNldmVyaXR5ID0gdmFsdWU7XG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0Tm90aWZpY2F0aW9uID0gKG5ld05vdGlmaWNhdGlvbikgPT4ge1xuICBsZXQgbm90aWZpY2F0aW9uQ29weSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobmV3Tm90aWZpY2F0aW9uKSk7XG4gIG5vdGlmaWNhdGlvbkNvcHkgPSBwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uKG5vdGlmaWNhdGlvbkNvcHkpO1xuICBub3RpZmljYXRpb25Db3B5ID0gZm9ybWF0U2VuZFZpYShub3RpZmljYXRpb25Db3B5KTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IGRlbGV0ZUF0dHJpYnV0ZXMobm90aWZpY2F0aW9uQ29weSwgbmV3Tm90aWZpY2F0aW9uKTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IHBhcnNlU2V2ZXJpdGllcyhub3RpZmljYXRpb25Db3B5KTtcblxuICBsZXQgbm90aWZpY2F0aW9uVG9TYXZlID0ge1xuICAgIHVzZXI6IHtcbiAgICAgIGFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlczoge1xuICAgICAgICAuLi5ub3RpZmljYXRpb25Db3B5LFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IG5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAgPSB7XG4gICAgdXNlcjoge1xuICAgICAgYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzOiB7fSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gIG5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAudXNlci5hbGVydF9jb25maWdzX2F0dHJpYnV0ZXNbYCR7bm93LmdldFRpbWUoKX1gXSA9XG4gICAgbm90aWZpY2F0aW9uVG9TYXZlLnVzZXIuYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzO1xuXG4gIHJldHVybiBub3RpZmljYXRpb25XaXRoVGltZVN0YW1wO1xufTtcbiJdfQ==
@@ -108,16 +108,15 @@ var getNotificationString = function getNotificationString(notification) {
108
108
 
109
109
  var typeString = '';
110
110
  var sampleString = '';
111
- sampleString = notification.pump_only === '1' ? " ".concat(_i18n.default.t('notifications_page.sampler_activated')) : '.';
111
+ sampleString = notification.pump_only ? " ".concat(_i18n.default.t('notifications_page.sampler_activated')) : '.';
112
112
 
113
113
  switch (notification.type) {
114
114
  case 'PollutionAlertConfig':
115
- typeString = [title, getNotificationAlertsString(notification), _i18n.default.t("".concat(transIdx, "about_pollution_events")), getNotificationSeveritiesString(notification), getNotificationSourcesString(notification, transIdx)].join(' ');
116
- typeString += sampleString;
115
+ typeString = [title, getNotificationAlertsString(notification), _i18n.default.t("".concat(transIdx, "about_pollution_events")), getNotificationSeveritiesString(notification), getNotificationSourcesString(notification, transIdx), sampleString].join(' ');
117
116
  break;
118
117
 
119
118
  case 'DataloggerThresholdAlertConfig':
120
- typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'sensors_thresholds')).concat(getNotificationSensorsString(notification), ".");
119
+ typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'sensors_thresholds'), ", ").concat(getNotificationSensorsString(notification), ".");
121
120
  break;
122
121
 
123
122
  case 'DataloggerOverflowAlertConfig':
@@ -144,21 +143,14 @@ exports.getNotificationString = getNotificationString;
144
143
 
145
144
  function getNotificationAlertsString(notification) {
146
145
  var sendVia = notification.actions;
147
- var tempArray = [];
148
146
  var sendViaString = '';
149
147
 
150
148
  for (var key in sendVia) {
151
149
  if (sendVia[key]) {
152
- tempArray.push(_i18n.default.t("notifications_page.edit_".concat(key)));
150
+ sendViaString += _i18n.default.t("notifications_page.edit_".concat(key)) + ', ';
153
151
  }
154
152
  }
155
153
 
156
- sendViaString = tempArray.join(', ');
157
-
158
- var and = _i18n.default.t("notifications_page.notifications_text.and");
159
-
160
- and += and === '&' ? ' ' : '';
161
- sendViaString = sendViaString.replace(/,\s([^,]+)$/, " ".concat(and, "$1"));
162
154
  return sendViaString;
163
155
  }
164
156
 
@@ -176,11 +168,11 @@ function getNotificationSourcesString(notification, transIdx) {
176
168
  var sourcesString = '';
177
169
  if (selection_type === 'all') Strings.push(_i18n.default.t("".concat(transIdx, "in_all_sources")));
178
170
  if (selection_type === 'exclude') Strings.push(_i18n.default.t("".concat(transIdx, "excluding")));
179
- if (selection_type === 'include') sourcesString = _i18n.default.t("".concat(transIdx, "in")) + ' ';
171
+ if (selection_type === 'include') Strings.push(_i18n.default.t("".concat(transIdx, "in")));
180
172
  if (selection_type !== 'all') set.map(function (source) {
181
173
  return Strings.push(source.text);
182
174
  });
183
- sourcesString += Strings.join(Strings.length > 1 ? ', ' : ' ');
175
+ Strings.length <= 4 ? sourcesString = Strings.join(', ') : sourcesString = Strings.slice(0, 5).join(', ') + '..';
184
176
  return sourcesString;
185
177
  }
186
178
 
@@ -189,15 +181,10 @@ function getNotificationSensorsString(notification) {
189
181
  var selection_type = notification.sensors.selection_type;
190
182
  var Strings = [];
191
183
  var sensorsString = '';
192
-
193
- if (selection_type !== 'all') {
194
- set.map(function (sensor) {
195
- return Strings.push(sensor.text);
196
- });
197
- sensorsString = ': ';
198
- sensorsString += Strings.join(', ');
199
- }
200
-
184
+ if (selection_type !== 'all') set.map(function (sensor) {
185
+ return Strings.push(sensor.text);
186
+ });
187
+ Strings.length <= 4 ? sensorsString = Strings.join(', ') : sensorsString = Strings.slice(0, 5).join(', ') + '..';
201
188
  return sensorsString;
202
189
  }
203
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL25vdGlmaWNhdGlvblV0aWxzLnRzeCJdLCJuYW1lcyI6WyJtb2NrVHlwZXMiLCJnZXRFbXB0eU5vdGlmaWNhdGlvbiIsImF2YWlsYWJsZV90eXBlcyIsImlkIiwidHlwZSIsInNldmVyaXR5Iiwid2F0ZXJfYXV0aG9yaXRpZXMiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsInBvaW50cyIsInRhZ3MiLCJzZW5zb3JzIiwiYWN0aW9ucyIsInRlbGVncmFtIiwiZW1haWwiLCJzbXMiLCJwdW1wX29ubHkiLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwibGFiZWwiLCJuYW1lIiwidmFsdWUiLCJ3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zIiwic291cmNlc1JhZGlvQnV0dG9ucyIsInNlbmRWaWFDaGVja0JveGVzIiwiZ2V0Tm90aWZpY2F0aW9uU3RyaW5nIiwibm90aWZpY2F0aW9uIiwidHJhbnNJZHgiLCJ0aXRsZSIsImkxOG4iLCJ0IiwidHlwZVN0cmluZyIsInNhbXBsZVN0cmluZyIsImdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyIsImdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmciLCJnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nIiwiam9pbiIsImdldE5vdGlmaWNhdGlvblNlbnNvcnNTdHJpbmciLCJzZW5kVmlhIiwidGVtcEFycmF5Iiwic2VuZFZpYVN0cmluZyIsImtleSIsInB1c2giLCJhbmQiLCJyZXBsYWNlIiwic2V2ZXJpdHlTdHJpbmciLCJTdHJpbmdzIiwic291cmNlc1N0cmluZyIsIm1hcCIsInNvdXJjZSIsInRleHQiLCJsZW5ndGgiLCJzZW5zb3JzU3RyaW5nIiwic2Vuc29yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFxQk8sSUFBTUEsU0FBYyxHQUFHLENBQzVCLHNCQUQ0QixFQUU1QixnQ0FGNEIsRUFHNUIsK0JBSDRCLEVBSTVC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bnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb24ge1xuICBhdmFpbGFibGVfdHlwZXM/OiBzdHJpbmdbXTtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBzZXZlcml0eTogc3RyaW5nO1xuICB3YXRlcl9hdXRob3JpdGllczogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHBvaW50czogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uO1xuICBzZW5zb3JzOiBBZHZhbmNlZFNlbGVjdGlvbjtcbiAgYWN0aW9uczogYW55O1xuICBwdW1wX29ubHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZHZhbmNlZFNlbGVjdGlvbiB7XG4gIHNlbGVjdGlvbl90eXBlOiBzdHJpbmc7XG4gIHNldDogYW55O1xuICB3YXRlcl9hdXRob3JpdHk/OiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBtb2NrVHlwZXM6IGFueSA9IFtcbiAgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyxcbiAgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICdEZXZpY2VIZWFsdGhBbGVydENvbmZpZycsXG4gICdXYmVBbGVydENvbmZpZycsXG4gICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG5dO1xuXG5leHBvcnQgY29uc3QgZ2V0RW1wdHlOb3RpZmljYXRpb24gPSAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgYXZhaWxhYmxlX3R5cGVzOiBbXG4gICAgICAnUG9sbHV0aW9uQWxlcnRDb25maWcnLFxuICAgICAgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycsXG4gICAgICAnRGF0YWxvZ2dlck92ZXJmbG93QWxlcnRDb25maWcnLFxuICAgICAgJ0RldmljZUhlYWx0aEFsZXJ0Q29uZmlnJyxcbiAgICAgICdXYmVBbGVydENvbmZpZycsXG4gICAgICAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnLFxuICAgIF0sXG4gICAgaWQ6ICcnLFxuICAgIHR5cGU6ICcnLFxuICAgIHNldmVyaXR5OiAnbWVkaXVtJyxcbiAgICB3YXRlcl9hdXRob3JpdGllczoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHBvaW50czoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHRhZ3M6IHtcbiAgICAgIHNlbGVjdGlvbl90eXBlOiAnYWxsJyxcbiAgICAgIHNldDogW10sXG4gICAgfSxcbiAgICBzZW5zb3JzOiB7XG4gICAgICBzZWxlY3Rpb25fdHlwZTogJ2FsbCcsXG4gICAgICBzZXQ6IFtdLFxuICAgIH0sXG4gICAgYWN0aW9uczogeyB0ZWxlZ3JhbTogZmFsc2UsIGVtYWlsOiB0cnVlLCBzbXM6IHRydWUgfSxcbiAgICBwdW1wX29ubHk6ICcwJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXZlcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leHRyZW1lJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnZXh0cmVtZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2hpZ2gnLFxuICAgIG5hbWU6ICdzZXZlcml0eScsXG4gICAgdmFsdWU6ICdoaWdoJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfbWVkaXVtJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnbWVkaXVtJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCB3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdhbGwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9pbmNsdWRlJyxcbiAgICBuYW1lOiAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIHZhbHVlOiAnaW5jbHVkZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2V4Y2x1ZGUnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzb3VyY2VzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2FsbCcsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2luY2x1ZGUnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2luY2x1ZGUnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leGNsdWRlJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzZW5kVmlhQ2hlY2tCb3hlcyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdGVsZWdyYW0nLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ3RlbGVncmFtJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZW1haWwnLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ2VtYWlsJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc21zJyxcbiAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgdmFsdWU6ICdzbXMnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IGdldE5vdGlmaWNhdGlvblN0cmluZyA9IChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4ge1xuICBjb25zdCB0cmFuc0lkeCA9ICdub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0Lic7XG4gIGNvbnN0IHRpdGxlID0gaTE4bi50KGAke3RyYW5zSWR4fXRpdGxlYCk7XG4gIGxldCB0eXBlU3RyaW5nID0gJyc7XG4gIGxldCBzYW1wbGVTdHJpbmcgPSAnJztcbiAgc2FtcGxlU3RyaW5nID1cbiAgICBub3RpZmljYXRpb24ucHVtcF9vbmx5ID09PSAnMSdcbiAgICAgID8gYCAke2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNhbXBsZXJfYWN0aXZhdGVkJyl9YFxuICAgICAgOiAnLic7XG5cbiAgc3dpdGNoIChub3RpZmljYXRpb24udHlwZSkge1xuICAgIGNhc2UgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBbXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgaTE4bi50KGAke3RyYW5zSWR4fWFib3V0X3BvbGx1dGlvbl9ldmVudHNgKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyhub3RpZmljYXRpb24pLFxuICAgICAgICBnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpLFxuICAgICAgXS5qb2luKCcgJyk7XG4gICAgICB0eXBlU3RyaW5nICs9IHNhbXBsZVN0cmluZztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udChcbiAgICAgICAgdHJhbnNJZHggKyAnc2Vuc29yc190aHJlc2hvbGRzJyxcbiAgICAgICl9JHtnZXROb3RpZmljYXRpb25TZW5zb3JzU3RyaW5nKG5vdGlmaWNhdGlvbil9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udCh0cmFuc0lkeCArICdvdmVyZmxvd19ldmVudCcpfSwgJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHRyYW5zSWR4LFxuICAgICAgKX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RldmljZUhlYWx0aEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KFxuICAgICAgICB0cmFuc0lkeCArICdkZXZpY2VfbWFsZnVuY3Rpb25pbmcnLFxuICAgICAgKX0gJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX3dlZWtseScpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX2FsZXJ0Jyl9LmA7XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gdHlwZVN0cmluZztcbn07XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhub3RpZmljYXRpb24pIHtcbiAgY29uc3Qgc2VuZFZpYSA9IG5vdGlmaWNhdGlvbi5hY3Rpb25zO1xuICBsZXQgdGVtcEFycmF5OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGxldCBzZW5kVmlhU3RyaW5nID0gJyc7XG4gIGZvciAoY29uc3Qga2V5IGluIHNlbmRWaWEpIHtcbiAgICBpZiAoc2VuZFZpYVtrZXldKSB7XG4gICAgICB0ZW1wQXJyYXkucHVzaChpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5lZGl0XyR7a2V5fWApKTtcbiAgICB9XG4gIH1cbiAgc2VuZFZpYVN0cmluZyA9IHRlbXBBcnJheS5qb2luKCcsICcpO1xuICBsZXQgYW5kID0gaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0LmFuZGApO1xuICBhbmQgKz0gYW5kID09PSAnJicgPyAnICcgOiAnJztcbiAgc2VuZFZpYVN0cmluZyA9IHNlbmRWaWFTdHJpbmcucmVwbGFjZSgvLFxccyhbXixdKykkLywgYCAke2FuZH0kMWApO1xuICByZXR1cm4gc2VuZFZpYVN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyhub3RpZmljYXRpb24pIHtcbiAgY29uc3QgeyBzZXZlcml0eSB9ID0gbm90aWZpY2F0aW9uO1xuICBsZXQgc2V2ZXJpdHlTdHJpbmcgPSAnJztcbiAgc2V2ZXJpdHkgPT09ICdleHRyZW1lJ1xuICAgID8gKHNldmVyaXR5U3RyaW5nID0gaTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZXh0cmVtZScpKVxuICAgIDogKHNldmVyaXR5U3RyaW5nID1cbiAgICAgICAgaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuJHtzZXZlcml0eX1gKSArXG4gICAgICAgICcgJyArXG4gICAgICAgIGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLm5vdGlmaWNhdGlvbnNfdGV4dC5vcl9oaWdoZXJgKSk7XG4gIHJldHVybiBzZXZlcml0eVN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KSB7XG4gIGNvbnN0IHsgc2V0IH0gPSBub3RpZmljYXRpb24ucG9pbnRzO1xuICBjb25zdCB7IHNlbGVjdGlvbl90eXBlIH0gPSBub3RpZmljYXRpb24ucG9pbnRzO1xuXG4gIGxldCBTdHJpbmdzOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgc291cmNlc1N0cmluZyA9ICcnO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgPT09ICdhbGwnKVxuICAgIFN0cmluZ3MucHVzaChpMThuLnQoYCR7dHJhbnNJZHh9aW5fYWxsX3NvdXJjZXNgKSk7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSA9PT0gJ2V4Y2x1ZGUnKVxuICAgIFN0cmluZ3MucHVzaChpMThuLnQoYCR7dHJhbnNJZHh9ZXhjbHVkaW5nYCkpO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgPT09ICdpbmNsdWRlJylcbiAgICBzb3VyY2VzU3RyaW5nID0gaTE4bi50KGAke3RyYW5zSWR4fWluYCkgKyAnICc7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcpIHNldC5tYXAoKHNvdXJjZSkgPT4gU3RyaW5ncy5wdXNoKHNvdXJjZS50ZXh0KSk7XG4gIHNvdXJjZXNTdHJpbmcgKz0gU3RyaW5ncy5qb2luKFN0cmluZ3MubGVuZ3RoID4gMSA/ICcsICcgOiAnICcpO1xuICByZXR1cm4gc291cmNlc1N0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uU2Vuc29yc1N0cmluZyhub3RpZmljYXRpb24pIHtcbiAgY29uc3QgeyBzZXQgfSA9IG5vdGlmaWNhdGlvbi5zZW5zb3JzO1xuICBjb25zdCB7IHNlbGVjdGlvbl90eXBlIH0gPSBub3RpZmljYXRpb24uc2Vuc29ycztcblxuICBsZXQgU3RyaW5nczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHNlbnNvcnNTdHJpbmcgPSAnJztcbiAgaWYgKHNlbGVjdGlvbl90eXBlICE9PSAnYWxsJykge1xuICAgIHNldC5tYXAoKHNlbnNvcikgPT4gU3RyaW5ncy5wdXNoKHNlbnNvci50ZXh0KSk7XG4gICAgc2Vuc29yc1N0cmluZyA9ICc6ICc7XG4gICAgc2Vuc29yc1N0cmluZyArPSBTdHJpbmdzLmpvaW4oJywgJyk7XG4gIH1cbiAgcmV0dXJuIHNlbnNvcnNTdHJpbmc7XG59XG4iXX0=
190
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL25vdGlmaWNhdGlvblV0aWxzLnRzeCJdLCJuYW1lcyI6WyJtb2NrVHlwZXMiLCJnZXRFbXB0eU5vdGlmaWNhdGlvbiIsImF2YWlsYWJsZV90eXBlcyIsImlkIiwidHlwZSIsInNldmVyaXR5Iiwid2F0ZXJfYXV0aG9yaXRpZXMiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsInBvaW50cyIsInRhZ3MiLCJzZW5zb3JzIiwiYWN0aW9ucyIsInRlbGVncmFtIiwiZW1haWwiLCJzbXMiLCJwdW1wX29ubHkiLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwibGFiZWwiLCJuYW1lIiwidmFsdWUiLCJ3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zIiwic291cmNlc1JhZGlvQnV0dG9ucyIsInNlbmRWaWFDaGVja0JveGVzIiwiZ2V0Tm90aWZpY2F0aW9uU3RyaW5nIiwibm90aWZpY2F0aW9uIiwidHJhbnNJZHgiLCJ0aXRsZSIsImkxOG4iLCJ0IiwidHlwZVN0cmluZyIsInNhbXBsZVN0cmluZyIsImdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyIsImdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmciLCJnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nIiwiam9pbiIsImdldE5vdGlmaWNhdGlvblNlbnNvcnNTdHJpbmciLCJzZW5kVmlhIiwic2VuZFZpYVN0cmluZyIsImtleSIsInNldmVyaXR5U3RyaW5nIiwiU3RyaW5ncyIsInNvdXJjZXNTdHJpbmciLCJwdXNoIiwibWFwIiwic291cmNlIiwidGV4dCIsImxlbmd0aCIsInNsaWNlIiwic2Vuc29yc1N0cmluZyIsInNlbnNvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBcUJPLElBQU1BLFNBQWMsR0FBRyxDQUM1QixzQkFENEIsRUFFNUIsZ0NBRjRCLEVBRzVCLCtCQUg0QixFQUk1Qix5QkFKNEIsRUFLNUIsZ0JBTDRCLEVBTTVCLDRCQU40QixDQUF2Qjs7O0FBU0EsSUFBTUMsb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUF1QixHQUFNO0FBQ3hDLFNBQU87QUFDTEMsSUFBQUEsZUFBZSxFQUFFLENBQ2Ysc0JBRGUsRUFFZixnQ0FGZSxFQUdmLCtCQUhlLEVBSWYseUJBSmUsRUFLZixnQkFMZSxFQU1mLDRCQU5lLENBRFo7QUFTTEMsSUFBQUEsRUFBRSxFQUFFLEVBVEM7QUFVTEMsSUFBQUEsSUFBSSxFQUFFLEVBVkQ7QUFXTEMsSUFBQUEsUUFBUSxFQUFFLFFBWEw7QUFZTEMsSUFBQUEsaUJBQWlCLEVBQUU7QUFDakJDLE1BQUFBLGNBQWMsRUFBRSxLQURDO0FBRWpCQyxNQUFBQSxHQUFHLEVBQUU7QUFGWSxLQVpkO0FBZ0JMQyxJQUFBQSxNQUFNLEVBQUU7QUFDTkYsTUFBQUEsY0FBYyxFQUFFLEtBRFY7QUFFTkMsTUFBQUEsR0FBRyxFQUFFO0FBRkMsS0FoQkg7QUFvQkxFLElBQUFBLElBQUksRUFBRTtBQUNKSCxNQUFBQSxjQUFjLEVBQUUsS0FEWjtBQUVKQyxNQUFBQSxHQUFHLEVBQUU7QUFGRCxLQXBCRDtBQXdCTEcsSUFBQUEsT0FBTyxFQUFFO0FBQ1BKLE1BQUFBLGNBQWMsRUFBRSxLQURUO0FBRVBDLE1BQUFBLEdBQUcsRUFBRTtBQUZFLEtBeEJKO0FBNEJMSSxJQUFBQSxPQUFPLEVBQUU7QUFBRUMsTUFBQUEsUUFBUSxFQUFFLEtBQVo7QUFBbUJDLE1BQUFBLEtBQUssRUFBRSxJQUExQjtBQUFnQ0MsTUFBQUEsR0FBRyxFQUFFO0FBQXJDLEtBNUJKO0FBNkJMQyxJQUFBQSxTQUFTLEVBQUU7QUE3Qk4sR0FBUDtBQStCRCxDQWhDTTs7O0FBa0NBLElBQU1DLHNCQUFzQixHQUFHLENBQ3BDO0FBQ0VDLEVBQUFBLEtBQUssRUFBRSxpQ0FEVDtBQUVFQyxFQUFBQSxJQUFJLEVBQUUsVUFGUjtBQUdFQyxFQUFBQSxLQUFLLEVBQUU7QUFIVCxDQURvQyxFQU1wQztBQUNFRixFQUFBQSxLQUFLLEVBQUUsOEJBRFQ7QUFFRUMsRUFBQUEsSUFBSSxFQUFFLFVBRlI7QUFHRUMsRUFBQUEsS0FBSyxFQUFFO0FBSFQsQ0FOb0MsRUFXcEM7QUFDRUYsRUFBQUEsS0FBSyxFQUFFLGdDQURUO0FBRUVDLEVBQUFBLElBQUksRUFBRSxVQUZSO0FBR0VDLEVBQUFBLEtBQUssRUFBRTtBQUhULENBWG9DLENBQS9COztBQWtCQSxJQUFNQyw0QkFBNEIsR0FBRyxDQUMxQztBQUNFSCxFQUFBQSxLQUFLLEVBQUUsNkJBRFQ7QUFFRUMsRUFBQUEsSUFBSSxFQUFFLG1CQUZSO0FBR0VDLEVBQUFBLEtBQUssRUFBRTtBQUhULENBRDBDLEVBTTFDO0FBQ0VGLEVBQUFBLEtBQUssRUFBRSxpQ0FEVDtBQUVFQyxFQUFBQSxJQUFJLEVBQUUsbUJBRlI7QUFHRUMsRUFBQUEsS0FBSyxFQUFFO0FBSFQsQ0FOMEMsRUFXMUM7QUFDRUYsRUFBQUEsS0FBSyxFQUFFLGlDQURUO0FBRUVDLEVBQUFBLElBQUksRUFBRSxtQkFGUjtBQUdFQyxFQUFBQSxLQUFLLEVBQUU7QUFIVCxDQVgwQyxDQUFyQzs7QUFrQkEsSUFBTUUsbUJBQW1CLEdBQUcsQ0FDakM7QUFDRUosRUFBQUEsS0FBSyxFQUFFLDZCQURUO0FBRUVDLEVBQUFBLElBQUksRUFBRSxTQUZSO0FBR0VDLEVBQUFBLEtBQUssRUFBRTtBQUhULENBRGlDLEVBTWpDO0FBQ0VGLEVBQUFBLEtBQUssRUFBRSxpQ0FEVDtBQUVFQyxFQUFBQSxJQUFJLEVBQUUsU0FGUjtBQUdFQyxFQUFBQSxLQUFLLEVBQUU7QUFIVCxDQU5pQyxFQVdqQztBQUNFRixFQUFBQSxLQUFLLEVBQUUsaUNBRFQ7QUFFRUMsRUFBQUEsSUFBSSxFQUFFLFNBRlI7QUFHRUMsRUFBQUEsS0FBSyxFQUFFO0FBSFQsQ0FYaUMsQ0FBNUI7O0FBa0JBLElBQU1HLGlCQUFpQixHQUFHLENBQy9CO0FBQ0VMLEVBQUFBLEtBQUssRUFBRSxrQ0FEVDtBQUVFQyxFQUFBQSxJQUFJLEVBQUUsU0FGUjtBQUdFQyxFQUFBQSxLQUFLLEVBQUU7QUFIVCxDQUQrQixFQU0vQjtBQUNFRixFQUFBQSxLQUFLLEVBQUUsK0JBRFQ7QUFFRUMsRUFBQUEsSUFBSSxFQUFFLFNBRlI7QUFHRUMsRUFBQUEsS0FBSyxFQUFFO0FBSFQsQ0FOK0IsRUFXL0I7QUFDRUYsRUFBQUEsS0FBSyxFQUFFLDZCQURUO0FBRUVDLEVBQUFBLElBQUksRUFBRSxTQUZSO0FBR0VDLEVBQUFBLEtBQUssRUFBRTtBQUhULENBWCtCLENBQTFCOzs7QUFrQkEsSUFBTUkscUJBQXFCLEdBQUcsU0FBeEJBLHFCQUF3QixDQUFDQyxZQUFELEVBQWdDO0FBQ25FLE1BQU1DLFFBQVEsR0FBRyx3Q0FBakI7O0FBQ0EsTUFBTUMsS0FBSyxHQUFHQyxjQUFLQyxDQUFMLFdBQVVILFFBQVYsV0FBZDs7QUFDQSxNQUFJSSxVQUFVLEdBQUcsRUFBakI7QUFDQSxNQUFJQyxZQUFZLEdBQUcsRUFBbkI7QUFDQUEsRUFBQUEsWUFBWSxHQUFHTixZQUFZLENBQUNULFNBQWIsY0FDUFksY0FBS0MsQ0FBTCxDQUFPLHNDQUFQLENBRE8sSUFFWCxHQUZKOztBQUlBLFVBQVFKLFlBQVksQ0FBQ3JCLElBQXJCO0FBQ0UsU0FBSyxzQkFBTDtBQUNFMEIsTUFBQUEsVUFBVSxHQUFHLENBQ1hILEtBRFcsRUFFWEssMkJBQTJCLENBQUNQLFlBQUQsQ0FGaEIsRUFHWEcsY0FBS0MsQ0FBTCxXQUFVSCxRQUFWLDRCQUhXLEVBSVhPLCtCQUErQixDQUFDUixZQUFELENBSnBCLEVBS1hTLDRCQUE0QixDQUFDVCxZQUFELEVBQWVDLFFBQWYsQ0FMakIsRUFNWEssWUFOVyxFQU9YSSxJQVBXLENBT04sR0FQTSxDQUFiO0FBUUE7O0FBQ0YsU0FBSyxnQ0FBTDtBQUNFTCxNQUFBQSxVQUFVLGFBQU1ILEtBQU4sY0FBZUssMkJBQTJCLENBQ2xEUCxZQURrRCxDQUExQyxjQUVMRyxjQUFLQyxDQUFMLENBQ0hILFFBQVEsR0FBRyxvQkFEUixDQUZLLGVBSUpVLDRCQUE0QixDQUFDWCxZQUFELENBSnhCLE1BQVY7QUFLQTs7QUFDRixTQUFLLCtCQUFMO0FBQ0VLLE1BQUFBLFVBQVUsYUFBTUgsS0FBTixjQUFlSywyQkFBMkIsQ0FDbERQLFlBRGtELENBQTFDLGNBRUxHLGNBQUtDLENBQUwsQ0FBT0gsUUFBUSxHQUFHLGdCQUFsQixDQUZLLGVBRW1DUSw0QkFBNEIsQ0FDdkVULFlBRHVFLEVBRXZFQyxRQUZ1RSxDQUYvRCxNQUFWO0FBTUE7O0FBQ0YsU0FBSyx5QkFBTDtBQUNFSSxNQUFBQSxVQUFVLGFBQU1ILEtBQU4sY0FBZUssMkJBQTJCLENBQ2xEUCxZQURrRCxDQUExQyxjQUVMRyxjQUFLQyxDQUFMLENBQ0hILFFBQVEsR0FBRyx1QkFEUixDQUZLLGNBSUxRLDRCQUE0QixDQUFDVCxZQUFELEVBQWVDLFFBQWYsQ0FKdkIsTUFBVjtBQUtBOztBQUNGLFNBQUssNEJBQUw7QUFDRUksTUFBQUEsVUFBVSxhQUFNSCxLQUFOLGNBQWVLLDJCQUEyQixDQUNsRFAsWUFEa0QsQ0FBMUMsY0FFTEcsY0FBS0MsQ0FBTCxDQUFPSCxRQUFRLEdBQUcsWUFBbEIsQ0FGSyxNQUFWO0FBR0E7O0FBQ0YsU0FBSyxnQkFBTDtBQUNFSSxNQUFBQSxVQUFVLGFBQU1ILEtBQU4sY0FBZUssMkJBQTJCLENBQ2xEUCxZQURrRCxDQUExQyxjQUVMRyxjQUFLQyxDQUFMLENBQU9ILFFBQVEsR0FBRyxXQUFsQixDQUZLLE1BQVY7QUFHQTtBQTFDSjs7QUE0Q0EsU0FBT0ksVUFBUDtBQUNELENBdERNOzs7O0FBd0RQLFNBQVNFLDJCQUFULENBQXFDUCxZQUFyQyxFQUFtRDtBQUNqRCxNQUFNWSxPQUFPLEdBQUdaLFlBQVksQ0FBQ2IsT0FBN0I7QUFDQSxNQUFJMEIsYUFBYSxHQUFHLEVBQXBCOztBQUNBLE9BQUssSUFBTUMsR0FBWCxJQUFrQkYsT0FBbEIsRUFBMkI7QUFDekIsUUFBSUEsT0FBTyxDQUFDRSxHQUFELENBQVgsRUFBa0I7QUFDaEJELE1BQUFBLGFBQWEsSUFBSVYsY0FBS0MsQ0FBTCxtQ0FBa0NVLEdBQWxDLEtBQTJDLElBQTVEO0FBQ0Q7QUFDRjs7QUFDRCxTQUFPRCxhQUFQO0FBQ0Q7O0FBRUQsU0FBU0wsK0JBQVQsQ0FBeUNSLFlBQXpDLEVBQXVEO0FBQ3JELE1BQVFwQixRQUFSLEdBQXFCb0IsWUFBckIsQ0FBUXBCLFFBQVI7QUFDQSxNQUFJbUMsY0FBYyxHQUFHLEVBQXJCO0FBQ0FuQyxFQUFBQSxRQUFRLEtBQUssU0FBYixHQUNLbUMsY0FBYyxHQUFHWixjQUFLQyxDQUFMLENBQU8sNEJBQVAsQ0FEdEIsR0FFS1csY0FBYyxHQUNiWixjQUFLQyxDQUFMLDhCQUE2QnhCLFFBQTdCLEtBQ0EsR0FEQSxHQUVBdUIsY0FBS0MsQ0FBTCxtREFMTjtBQU1BLFNBQU9XLGNBQVA7QUFDRDs7QUFFRCxTQUFTTiw0QkFBVCxDQUFzQ1QsWUFBdEMsRUFBb0RDLFFBQXBELEVBQThEO0FBQzVELE1BQVFsQixHQUFSLEdBQWdCaUIsWUFBWSxDQUFDaEIsTUFBN0IsQ0FBUUQsR0FBUjtBQUNBLE1BQVFELGNBQVIsR0FBMkJrQixZQUFZLENBQUNoQixNQUF4QyxDQUFRRixjQUFSO0FBRUEsTUFBSWtDLE9BQWlCLEdBQUcsRUFBeEI7QUFDQSxNQUFJQyxhQUFhLEdBQUcsRUFBcEI7QUFDQSxNQUFJbkMsY0FBYyxLQUFLLEtBQXZCLEVBQ0VrQyxPQUFPLENBQUNFLElBQVIsQ0FBYWYsY0FBS0MsQ0FBTCxXQUFVSCxRQUFWLG9CQUFiO0FBQ0YsTUFBSW5CLGNBQWMsS0FBSyxTQUF2QixFQUNFa0MsT0FBTyxDQUFDRSxJQUFSLENBQWFmLGNBQUtDLENBQUwsV0FBVUgsUUFBVixlQUFiO0FBQ0YsTUFBSW5CLGNBQWMsS0FBSyxTQUF2QixFQUFrQ2tDLE9BQU8sQ0FBQ0UsSUFBUixDQUFhZixjQUFLQyxDQUFMLFdBQVVILFFBQVYsUUFBYjtBQUNsQyxNQUFJbkIsY0FBYyxLQUFLLEtBQXZCLEVBQThCQyxHQUFHLENBQUNvQyxHQUFKLENBQVEsVUFBQ0MsTUFBRDtBQUFBLFdBQVlKLE9BQU8sQ0FBQ0UsSUFBUixDQUFhRSxNQUFNLENBQUNDLElBQXBCLENBQVo7QUFBQSxHQUFSO0FBQzlCTCxFQUFBQSxPQUFPLENBQUNNLE1BQVIsSUFBa0IsQ0FBbEIsR0FDS0wsYUFBYSxHQUFHRCxPQUFPLENBQUNOLElBQVIsQ0FBYSxJQUFiLENBRHJCLEdBRUtPLGFBQWEsR0FBR0QsT0FBTyxDQUFDTyxLQUFSLENBQWMsQ0FBZCxFQUFpQixDQUFqQixFQUFvQmIsSUFBcEIsQ0FBeUIsSUFBekIsSUFBaUMsSUFGdEQ7QUFHQSxTQUFPTyxhQUFQO0FBQ0Q7O0FBRUQsU0FBU04sNEJBQVQsQ0FBc0NYLFlBQXRDLEVBQW9EO0FBQ2xELE1BQVFqQixHQUFSLEdBQWdCaUIsWUFBWSxDQUFDZCxPQUE3QixDQUFRSCxHQUFSO0FBQ0EsTUFBUUQsY0FBUixHQUEyQmtCLFlBQVksQ0FBQ2QsT0FBeEMsQ0FBUUosY0FBUjtBQUVBLE1BQUlrQyxPQUFpQixHQUFHLEVBQXhCO0FBQ0EsTUFBSVEsYUFBYSxHQUFHLEVBQXBCO0FBQ0EsTUFBSTFDLGNBQWMsS0FBSyxLQUF2QixFQUE4QkMsR0FBRyxDQUFDb0MsR0FBSixDQUFRLFVBQUNNLE1BQUQ7QUFBQSxXQUFZVCxPQUFPLENBQUNFLElBQVIsQ0FBYU8sTUFBTSxDQUFDSixJQUFwQixDQUFaO0FBQUEsR0FBUjtBQUM5QkwsRUFBQUEsT0FBTyxDQUFDTSxNQUFSLElBQWtCLENBQWxCLEdBQ0tFLGFBQWEsR0FBR1IsT0FBTyxDQUFDTixJQUFSLENBQWEsSUFBYixDQURyQixHQUVLYyxhQUFhLEdBQUdSLE9BQU8sQ0FBQ08sS0FBUixDQUFjLENBQWQsRUFBaUIsQ0FBakIsRUFBb0JiLElBQXBCLENBQXlCLElBQXpCLElBQWlDLElBRnREO0FBR0EsU0FBT2MsYUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb24ge1xuICBhdmFpbGFibGVfdHlwZXM/OiBzdHJpbmdbXTtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBzZXZlcml0eTogc3RyaW5nO1xuICB3YXRlcl9hdXRob3JpdGllczogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHBvaW50czogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uO1xuICBzZW5zb3JzOiBBZHZhbmNlZFNlbGVjdGlvbjtcbiAgYWN0aW9uczogYW55O1xuICBwdW1wX29ubHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZHZhbmNlZFNlbGVjdGlvbiB7XG4gIHNlbGVjdGlvbl90eXBlOiBzdHJpbmc7XG4gIHNldDogYW55O1xuICB3YXRlcl9hdXRob3JpdHk/OiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBtb2NrVHlwZXM6IGFueSA9IFtcbiAgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyxcbiAgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICdEZXZpY2VIZWFsdGhBbGVydENvbmZpZycsXG4gICdXYmVBbGVydENvbmZpZycsXG4gICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG5dO1xuXG5leHBvcnQgY29uc3QgZ2V0RW1wdHlOb3RpZmljYXRpb24gPSAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgYXZhaWxhYmxlX3R5cGVzOiBbXG4gICAgICAnUG9sbHV0aW9uQWxlcnRDb25maWcnLFxuICAgICAgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycsXG4gICAgICAnRGF0YWxvZ2dlck92ZXJmbG93QWxlcnRDb25maWcnLFxuICAgICAgJ0RldmljZUhlYWx0aEFsZXJ0Q29uZmlnJyxcbiAgICAgICdXYmVBbGVydENvbmZpZycsXG4gICAgICAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnLFxuICAgIF0sXG4gICAgaWQ6ICcnLFxuICAgIHR5cGU6ICcnLFxuICAgIHNldmVyaXR5OiAnbWVkaXVtJyxcbiAgICB3YXRlcl9hdXRob3JpdGllczoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHBvaW50czoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHRhZ3M6IHtcbiAgICAgIHNlbGVjdGlvbl90eXBlOiAnYWxsJyxcbiAgICAgIHNldDogW10sXG4gICAgfSxcbiAgICBzZW5zb3JzOiB7XG4gICAgICBzZWxlY3Rpb25fdHlwZTogJ2FsbCcsXG4gICAgICBzZXQ6IFtdLFxuICAgIH0sXG4gICAgYWN0aW9uczogeyB0ZWxlZ3JhbTogZmFsc2UsIGVtYWlsOiB0cnVlLCBzbXM6IHRydWUgfSxcbiAgICBwdW1wX29ubHk6ICcwJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXZlcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leHRyZW1lJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnZXh0cmVtZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2hpZ2gnLFxuICAgIG5hbWU6ICdzZXZlcml0eScsXG4gICAgdmFsdWU6ICdoaWdoJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfbWVkaXVtJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnbWVkaXVtJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCB3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdhbGwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9pbmNsdWRlJyxcbiAgICBuYW1lOiAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIHZhbHVlOiAnaW5jbHVkZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2V4Y2x1ZGUnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzb3VyY2VzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2FsbCcsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2luY2x1ZGUnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2luY2x1ZGUnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leGNsdWRlJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzZW5kVmlhQ2hlY2tCb3hlcyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdGVsZWdyYW0nLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ3RlbGVncmFtJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZW1haWwnLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ2VtYWlsJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc21zJyxcbiAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgdmFsdWU6ICdzbXMnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IGdldE5vdGlmaWNhdGlvblN0cmluZyA9IChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4ge1xuICBjb25zdCB0cmFuc0lkeCA9ICdub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0Lic7XG4gIGNvbnN0IHRpdGxlID0gaTE4bi50KGAke3RyYW5zSWR4fXRpdGxlYCk7XG4gIGxldCB0eXBlU3RyaW5nID0gJyc7XG4gIGxldCBzYW1wbGVTdHJpbmcgPSAnJztcbiAgc2FtcGxlU3RyaW5nID0gbm90aWZpY2F0aW9uLnB1bXBfb25seVxuICAgID8gYCAke2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNhbXBsZXJfYWN0aXZhdGVkJyl9YFxuICAgIDogJy4nO1xuXG4gIHN3aXRjaCAobm90aWZpY2F0aW9uLnR5cGUpIHtcbiAgICBjYXNlICdQb2xsdXRpb25BbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gW1xuICAgICAgICB0aXRsZSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKG5vdGlmaWNhdGlvbiksXG4gICAgICAgIGkxOG4udChgJHt0cmFuc0lkeH1hYm91dF9wb2xsdXRpb25fZXZlbnRzYCksXG4gICAgICAgIGdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KSxcbiAgICAgICAgc2FtcGxlU3RyaW5nLFxuICAgICAgXS5qb2luKCcgJyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQoXG4gICAgICAgIHRyYW5zSWR4ICsgJ3NlbnNvcnNfdGhyZXNob2xkcycsXG4gICAgICApfSwgJHtnZXROb3RpZmljYXRpb25TZW5zb3JzU3RyaW5nKG5vdGlmaWNhdGlvbil9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udCh0cmFuc0lkeCArICdvdmVyZmxvd19ldmVudCcpfSwgJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHRyYW5zSWR4LFxuICAgICAgKX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RldmljZUhlYWx0aEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KFxuICAgICAgICB0cmFuc0lkeCArICdkZXZpY2VfbWFsZnVuY3Rpb25pbmcnLFxuICAgICAgKX0gJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX3dlZWtseScpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX2FsZXJ0Jyl9LmA7XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gdHlwZVN0cmluZztcbn07XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhub3RpZmljYXRpb24pIHtcbiAgY29uc3Qgc2VuZFZpYSA9IG5vdGlmaWNhdGlvbi5hY3Rpb25zO1xuICBsZXQgc2VuZFZpYVN0cmluZyA9ICcnO1xuICBmb3IgKGNvbnN0IGtleSBpbiBzZW5kVmlhKSB7XG4gICAgaWYgKHNlbmRWaWFba2V5XSkge1xuICAgICAgc2VuZFZpYVN0cmluZyArPSBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5lZGl0XyR7a2V5fWApICsgJywgJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHNlbmRWaWFTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmcobm90aWZpY2F0aW9uKSB7XG4gIGNvbnN0IHsgc2V2ZXJpdHkgfSA9IG5vdGlmaWNhdGlvbjtcbiAgbGV0IHNldmVyaXR5U3RyaW5nID0gJyc7XG4gIHNldmVyaXR5ID09PSAnZXh0cmVtZSdcbiAgICA/IChzZXZlcml0eVN0cmluZyA9IGkxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmV4dHJlbWUnKSlcbiAgICA6IChzZXZlcml0eVN0cmluZyA9XG4gICAgICAgIGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLiR7c2V2ZXJpdHl9YCkgK1xuICAgICAgICAnICcgK1xuICAgICAgICBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5ub3RpZmljYXRpb25zX3RleHQub3JfaGlnaGVyYCkpO1xuICByZXR1cm4gc2V2ZXJpdHlTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmcobm90aWZpY2F0aW9uLCB0cmFuc0lkeCkge1xuICBjb25zdCB7IHNldCB9ID0gbm90aWZpY2F0aW9uLnBvaW50cztcbiAgY29uc3QgeyBzZWxlY3Rpb25fdHlwZSB9ID0gbm90aWZpY2F0aW9uLnBvaW50cztcblxuICBsZXQgU3RyaW5nczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHNvdXJjZXNTdHJpbmcgPSAnJztcbiAgaWYgKHNlbGVjdGlvbl90eXBlID09PSAnYWxsJylcbiAgICBTdHJpbmdzLnB1c2goaTE4bi50KGAke3RyYW5zSWR4fWluX2FsbF9zb3VyY2VzYCkpO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgPT09ICdleGNsdWRlJylcbiAgICBTdHJpbmdzLnB1c2goaTE4bi50KGAke3RyYW5zSWR4fWV4Y2x1ZGluZ2ApKTtcbiAgaWYgKHNlbGVjdGlvbl90eXBlID09PSAnaW5jbHVkZScpIFN0cmluZ3MucHVzaChpMThuLnQoYCR7dHJhbnNJZHh9aW5gKSk7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcpIHNldC5tYXAoKHNvdXJjZSkgPT4gU3RyaW5ncy5wdXNoKHNvdXJjZS50ZXh0KSk7XG4gIFN0cmluZ3MubGVuZ3RoIDw9IDRcbiAgICA/IChzb3VyY2VzU3RyaW5nID0gU3RyaW5ncy5qb2luKCcsICcpKVxuICAgIDogKHNvdXJjZXNTdHJpbmcgPSBTdHJpbmdzLnNsaWNlKDAsIDUpLmpvaW4oJywgJykgKyAnLi4nKTtcbiAgcmV0dXJuIHNvdXJjZXNTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNlbnNvcnNTdHJpbmcobm90aWZpY2F0aW9uKSB7XG4gIGNvbnN0IHsgc2V0IH0gPSBub3RpZmljYXRpb24uc2Vuc29ycztcbiAgY29uc3QgeyBzZWxlY3Rpb25fdHlwZSB9ID0gbm90aWZpY2F0aW9uLnNlbnNvcnM7XG5cbiAgbGV0IFN0cmluZ3M6IHN0cmluZ1tdID0gW107XG4gIGxldCBzZW5zb3JzU3RyaW5nID0gJyc7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcpIHNldC5tYXAoKHNlbnNvcikgPT4gU3RyaW5ncy5wdXNoKHNlbnNvci50ZXh0KSk7XG4gIFN0cmluZ3MubGVuZ3RoIDw9IDRcbiAgICA/IChzZW5zb3JzU3RyaW5nID0gU3RyaW5ncy5qb2luKCcsICcpKVxuICAgIDogKHNlbnNvcnNTdHJpbmcgPSBTdHJpbmdzLnNsaWNlKDAsIDUpLmpvaW4oJywgJykgKyAnLi4nKTtcbiAgcmV0dXJuIHNlbnNvcnNTdHJpbmc7XG59XG4iXX0=
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.ResultHolderStyle = exports.HolderStyle = void 0;
8
+ exports.default = exports.ResultHolderStyle = exports.HeaderStyle = exports.HolderStyle = void 0;
9
9
 
10
10
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
11
 
@@ -23,12 +23,14 @@ var _LabResultValue = _interopRequireDefault(require("./LabResultValue"));
23
23
 
24
24
  var _useNavContext2 = require("hooks/useNavContext");
25
25
 
26
+ var _icons = require("assets/icons");
27
+
28
+ var _i18n = _interopRequireDefault(require("utilities/i18n"));
29
+
26
30
  var _ContentLoader = require("components/ContentLoader");
27
31
 
28
32
  var _reactRedux = require("react-redux");
29
33
 
30
- var _TitleAndCloseHeader = _interopRequireDefault(require("ui-kit/TitleAndCloseHeader/TitleAndCloseHeader"));
31
-
32
34
  var ViewLabResult = function ViewLabResult(_ref) {
33
35
  var samplingId = _ref.samplingId,
34
36
  waterAuthorityId = _ref.waterAuthorityId,
@@ -60,6 +62,17 @@ var ViewLabResult = function ViewLabResult(_ref) {
60
62
  var _useNavContext = (0, _useNavContext2.useNavContext)(),
61
63
  isRtl = _useNavContext.isRtl;
62
64
 
65
+ var Header = function Header() {
66
+ return /*#__PURE__*/_react.default.createElement(HeaderStyle, null, /*#__PURE__*/_react.default.createElement("div", {
67
+ className: 'close-button',
68
+ onClick: onClose
69
+ }, /*#__PURE__*/_react.default.createElement(_icons.CloseModalSvg, null)), /*#__PURE__*/_react.default.createElement("div", {
70
+ className: 'title'
71
+ }, _i18n.default.t('samplings_page.lab_view', {
72
+ samplingId: samplingId
73
+ })));
74
+ };
75
+
63
76
  return /*#__PURE__*/_react.default.createElement(_uiKit.DropDown, {
64
77
  drop: isRtl ? 'right' : 'left',
65
78
  show: true,
@@ -68,13 +81,7 @@ var ViewLabResult = function ViewLabResult(_ref) {
68
81
  options: labResultData,
69
82
  overrideList: /*#__PURE__*/_react.default.createElement(HolderStyle, {
70
83
  isRtl: isRtl
71
- }, /*#__PURE__*/_react.default.createElement(_TitleAndCloseHeader.default, {
72
- onClose: onClose,
73
- titleKey: 'samplings_page.lab_view',
74
- titleProps: {
75
- samplingId: samplingId
76
- }
77
- }), isFetching ? /*#__PURE__*/_react.default.createElement(_ContentLoader.RowLoader, null) : /*#__PURE__*/_react.default.createElement(ResultHolderStyle, null, labResultData === null || labResultData === void 0 ? void 0 : labResultData.map(function (item) {
84
+ }, /*#__PURE__*/_react.default.createElement(Header, null), isFetching ? /*#__PURE__*/_react.default.createElement(_ContentLoader.RowLoader, null) : /*#__PURE__*/_react.default.createElement(ResultHolderStyle, null, labResultData === null || labResultData === void 0 ? void 0 : labResultData.map(function (item) {
78
85
  return /*#__PURE__*/_react.default.createElement(_LabResultValue.default, Object.assign({
79
86
  key: item.name
80
87
  }, item, {
@@ -94,12 +101,19 @@ var HolderStyle = _styledComponents.default.div.withConfig({
94
101
 
95
102
  exports.HolderStyle = HolderStyle;
96
103
 
104
+ var HeaderStyle = _styledComponents.default.div.withConfig({
105
+ displayName: "ViewLabResult__HeaderStyle",
106
+ componentId: "sc-igq4rk-1"
107
+ })(["margin-bottom:23px;.close-button{display:flex;flex-direction:row-reverse;justify-content:space-between;cursor:pointer;margin-bottom:10px;}"]);
108
+
109
+ exports.HeaderStyle = HeaderStyle;
110
+
97
111
  var ResultHolderStyle = _styledComponents.default.div.withConfig({
98
112
  displayName: "ViewLabResult__ResultHolderStyle",
99
- componentId: "sc-igq4rk-1"
113
+ componentId: "sc-igq4rk-2"
100
114
  })(["max-height:120px;overflow-y:auto;"]);
101
115
 
102
116
  exports.ResultHolderStyle = ResultHolderStyle;
103
117
  var _default = ViewLabResult;
104
118
  exports.default = _default;
105
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL0FjdGlvbnNEcm9wRG93bi9WaWV3TGFiUmVzdWx0LnRzeCJdLCJuYW1lcyI6WyJWaWV3TGFiUmVzdWx0Iiwic2FtcGxpbmdJZCIsIndhdGVyQXV0aG9yaXR5SWQiLCJkcm9wZG93blRvZ2dsZSIsIm9uQ2xvc2UiLCJsb2NhbGUiLCJzdGF0ZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJuYXZDb250ZXh0Iiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZ2xvYmFsX2RhdGEiLCJsYWJSZXN1bHRWYWx1ZXNVcmwiLCJzYW1wbGluZ3NQYWdlIiwidmlld0xhYlJlc3VsdCIsInVybCIsImRhdGEiLCJsYWJSZXN1bHREYXRhIiwiaXNGZXRjaGluZyIsImhhbmRsZUNsaWNrIiwidXRpbGl0eV9uYW1lIiwiaXNSdGwiLCJtYXAiLCJpdGVtIiwibmFtZSIsIkhvbGRlclN0eWxlIiwic3R5bGVkIiwiZGl2IiwiUmVzdWx0SG9sZGVyU3R5bGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUEsSUFBTUEsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixPQUtoQjtBQUFBLE1BSkpDLFVBSUksUUFKSkEsVUFJSTtBQUFBLE1BSEpDLGdCQUdJLFFBSEpBLGdCQUdJO0FBQUEsTUFGSkMsY0FFSSxRQUZKQSxjQUVJO0FBQUEsTUFESkMsT0FDSSxRQURKQSxPQUNJO0FBQ0osTUFBTUMsTUFBTSxHQUFHLDZCQUNiLFVBQUNDLEtBQUQ7QUFBQSxXQUNFQSxLQUFLLENBQUNDLGdCQUFOLENBQXVCQyxVQUF2QixDQUFrQ0gsTUFEcEM7QUFBQSxHQURhLENBQWY7QUFJQSxNQUFNSSxrQkFBa0IsR0FBRyw2QkFDekIsVUFBQ0gsS0FBRDtBQUFBLFdBQVdBLEtBQUssQ0FBQ0ksV0FBTixDQUFrQkQsa0JBQTdCO0FBQUEsR0FEeUIsQ0FBM0I7QUFHQSxNQUFNRSxrQkFBa0IsR0FBRyxnQkFBSztBQUFFVCxJQUFBQSxnQkFBZ0IsRUFBaEJBLGdCQUFGO0FBQW9CRyxJQUFBQSxNQUFNLEVBQU5BLE1BQXBCO0FBQTRCSixJQUFBQSxVQUFVLEVBQVZBO0FBQTVCLEdBQUwsRUFDeEJXLGFBRHdCLENBQ1ZDLGFBRFUsQ0FDSUMsR0FEL0I7O0FBR0EsdUJBQ0UsNkJBQWNILGtCQUFkLENBREY7QUFBQSwyQ0FBUUksSUFBUjtBQUFBLE1BQWNDLGFBQWQsb0NBQThCLEVBQTlCO0FBQUEsTUFBa0NDLFVBQWxDLGtCQUFrQ0EsVUFBbEM7O0FBRUEsTUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQWMsR0FBTTtBQUN4QixzREFBa0M7QUFDaENDLE1BQUFBLFlBQVksRUFBRVY7QUFEa0IsS0FBbEM7QUFHRCxHQUpEOztBQUtBLHVCQUFrQixvQ0FBbEI7QUFBQSxNQUFRVyxLQUFSLGtCQUFRQSxLQUFSOztBQUNBLHNCQUNFLDZCQUFDLGVBQUQ7QUFDRSxJQUFBLElBQUksRUFBRUEsS0FBSyxHQUFHLE9BQUgsR0FBYSxNQUQxQjtBQUVFLElBQUEsSUFBSSxFQUFFLElBRlI7QUFHRSxJQUFBLGNBQWMsRUFBRWpCLGNBQWMsQ0FBQ2UsV0FBRCxDQUhoQztBQUlFLElBQUEsV0FBVyxFQUFFLHVCQUFNLENBQUUsQ0FKdkI7QUFLRSxJQUFBLE9BQU8sRUFBRUYsYUFMWDtBQU1FLElBQUEsWUFBWSxlQUNWLDZCQUFDLFdBQUQ7QUFBYSxNQUFBLEtBQUssRUFBRUk7QUFBcEIsb0JBQ0UsNkJBQUMsNEJBQUQ7QUFDRSxNQUFBLE9BQU8sRUFBRWhCLE9BRFg7QUFFRSxNQUFBLFFBQVEsRUFBRSx5QkFGWjtBQUdFLE1BQUEsVUFBVSxFQUFFO0FBQUVILFFBQUFBLFVBQVUsRUFBVkE7QUFBRjtBQUhkLE1BREYsRUFNR2dCLFVBQVUsZ0JBQ1QsNkJBQUMsd0JBQUQsT0FEUyxnQkFHVCw2QkFBQyxpQkFBRCxRQUNHRCxhQURILGFBQ0dBLGFBREgsdUJBQ0dBLGFBQWEsQ0FBRUssR0FBZixDQUFtQixVQUFDQyxJQUFEO0FBQUEsMEJBQ2xCLDZCQUFDLHVCQUFEO0FBQWdCLFFBQUEsR0FBRyxFQUFFQSxJQUFJLENBQUNDO0FBQTFCLFNBQW9DRCxJQUFwQztBQUEwQyxRQUFBLEtBQUssRUFBRUY7QUFBakQsU0FEa0I7QUFBQSxLQUFuQixDQURILENBVEo7QUFQSixJQURGO0FBMkJELENBbkREOztBQXFETyxJQUFNSSxXQUFXLEdBQUdDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHdFQUlSO0FBQUEsTUFBR04sS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZ0JBLEtBQUssR0FBRyxPQUFILEdBQWEsTUFBbEM7QUFBQSxDQUpRLENBQWpCOzs7O0FBT0EsSUFBTU8saUJBQWlCLEdBQUdGLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHlDQUF2Qjs7O2VBSVExQixhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgdXJscyB9IGZyb20gJ3NyYy91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgdXNlS2FuZG9GZXRjaCBmcm9tICdzcmMvaG9va3MvdXNlS2FuZG9GZXRjaCc7XG5pbXBvcnQgeyBEcm9wRG93biB9IGZyb20gJ3NyYy91aS1raXQnO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICdzcmMvdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgTGFiUmVzdWx0VmFsdWUgZnJvbSAnLi9MYWJSZXN1bHRWYWx1ZSc7XG5pbXBvcnQgeyB1c2VOYXZDb250ZXh0IH0gZnJvbSAnc3JjL2hvb2tzL3VzZU5hdkNvbnRleHQnO1xuaW1wb3J0IHsgUm93TG9hZGVyIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvQ29udGVudExvYWRlcic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCBUaXRsZUFuZENsb3NlSGVhZGVyIGZyb20gJ3NyYy91aS1raXQvVGl0bGVBbmRDbG9zZUhlYWRlci9UaXRsZUFuZENsb3NlSGVhZGVyJztcblxuY29uc3QgVmlld0xhYlJlc3VsdCA9ICh7XG4gIHNhbXBsaW5nSWQsXG4gIHdhdGVyQXV0aG9yaXR5SWQsXG4gIGRyb3Bkb3duVG9nZ2xlLFxuICBvbkNsb3NlLFxufSkgPT4ge1xuICBjb25zdCBsb2NhbGUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PlxuICAgICAgc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZSxcbiAgKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlOYW1lID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICk7XG4gIGNvbnN0IGxhYlJlc3VsdFZhbHVlc1VybCA9IHVybHMoeyB3YXRlckF1dGhvcml0eUlkLCBsb2NhbGUsIHNhbXBsaW5nSWQgfSlcbiAgICAuc2FtcGxpbmdzUGFnZS52aWV3TGFiUmVzdWx0LnVybDtcblxuICBjb25zdCB7IGRhdGE6IGxhYlJlc3VsdERhdGEgPSBbXSwgaXNGZXRjaGluZyB9ID1cbiAgICB1c2VLYW5kb0ZldGNoKGxhYlJlc3VsdFZhbHVlc1VybCk7XG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKGB2aWV3IGxhYiByZXN1bHRgLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgfTtcbiAgY29uc3QgeyBpc1J0bCB9ID0gdXNlTmF2Q29udGV4dCgpO1xuICByZXR1cm4gKFxuICAgIDxEcm9wRG93blxuICAgICAgZHJvcD17aXNSdGwgPyAncmlnaHQnIDogJ2xlZnQnfVxuICAgICAgc2hvdz17dHJ1ZX1cbiAgICAgIGRyb3Bkb3duVG9nZ2xlPXtkcm9wZG93blRvZ2dsZShoYW5kbGVDbGljayl9XG4gICAgICBvbkl0ZW1DbGljaz17KCkgPT4ge319XG4gICAgICBvcHRpb25zPXtsYWJSZXN1bHREYXRhfVxuICAgICAgb3ZlcnJpZGVMaXN0PXtcbiAgICAgICAgPEhvbGRlclN0eWxlIGlzUnRsPXtpc1J0bH0+XG4gICAgICAgICAgPFRpdGxlQW5kQ2xvc2VIZWFkZXJcbiAgICAgICAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XG4gICAgICAgICAgICB0aXRsZUtleT17J3NhbXBsaW5nc19wYWdlLmxhYl92aWV3J31cbiAgICAgICAgICAgIHRpdGxlUHJvcHM9e3sgc2FtcGxpbmdJZCB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2lzRmV0Y2hpbmcgPyAoXG4gICAgICAgICAgICA8Um93TG9hZGVyIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxSZXN1bHRIb2xkZXJTdHlsZT5cbiAgICAgICAgICAgICAge2xhYlJlc3VsdERhdGE/Lm1hcCgoaXRlbSkgPT4gKFxuICAgICAgICAgICAgICAgIDxMYWJSZXN1bHRWYWx1ZSBrZXk9e2l0ZW0ubmFtZX0gey4uLml0ZW19IGlzUnRsPXtpc1J0bH0gLz5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L1Jlc3VsdEhvbGRlclN0eWxlPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvSG9sZGVyU3R5bGU+XG4gICAgICB9XG4gICAgLz5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBIb2xkZXJTdHlsZSA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiAkeyh7IGlzUnRsIH0pID0+IChpc1J0bCA/ICdyaWdodCcgOiAnbGVmdCcpfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBSZXN1bHRIb2xkZXJTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIG1heC1oZWlnaHQ6IDEyMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuYDtcbmV4cG9ydCBkZWZhdWx0IFZpZXdMYWJSZXN1bHQ7XG4iXX0=
119
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL0FjdGlvbnNEcm9wRG93bi9WaWV3TGFiUmVzdWx0LnRzeCJdLCJuYW1lcyI6WyJWaWV3TGFiUmVzdWx0Iiwic2FtcGxpbmdJZCIsIndhdGVyQXV0aG9yaXR5SWQiLCJkcm9wZG93blRvZ2dsZSIsIm9uQ2xvc2UiLCJsb2NhbGUiLCJzdGF0ZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJuYXZDb250ZXh0Iiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZ2xvYmFsX2RhdGEiLCJsYWJSZXN1bHRWYWx1ZXNVcmwiLCJzYW1wbGluZ3NQYWdlIiwidmlld0xhYlJlc3VsdCIsInVybCIsImRhdGEiLCJsYWJSZXN1bHREYXRhIiwiaXNGZXRjaGluZyIsImhhbmRsZUNsaWNrIiwidXRpbGl0eV9uYW1lIiwiaXNSdGwiLCJIZWFkZXIiLCJpMThuIiwidCIsIm1hcCIsIml0ZW0iLCJuYW1lIiwiSG9sZGVyU3R5bGUiLCJzdHlsZWQiLCJkaXYiLCJIZWFkZXJTdHlsZSIsIlJlc3VsdEhvbGRlclN0eWxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUdBLElBQU1BLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsT0FLaEI7QUFBQSxNQUpKQyxVQUlJLFFBSkpBLFVBSUk7QUFBQSxNQUhKQyxnQkFHSSxRQUhKQSxnQkFHSTtBQUFBLE1BRkpDLGNBRUksUUFGSkEsY0FFSTtBQUFBLE1BREpDLE9BQ0ksUUFESkEsT0FDSTtBQUNKLE1BQU1DLE1BQU0sR0FBRyw2QkFDYixVQUFDQyxLQUFEO0FBQUEsV0FDRUEsS0FBSyxDQUFDQyxnQkFBTixDQUF1QkMsVUFBdkIsQ0FBa0NILE1BRHBDO0FBQUEsR0FEYSxDQUFmO0FBSUEsTUFBTUksa0JBQWtCLEdBQUcsNkJBQ3pCLFVBQUNILEtBQUQ7QUFBQSxXQUFXQSxLQUFLLENBQUNJLFdBQU4sQ0FBa0JELGtCQUE3QjtBQUFBLEdBRHlCLENBQTNCO0FBR0EsTUFBTUUsa0JBQWtCLEdBQUcsZ0JBQUs7QUFBRVQsSUFBQUEsZ0JBQWdCLEVBQWhCQSxnQkFBRjtBQUFvQkcsSUFBQUEsTUFBTSxFQUFOQSxNQUFwQjtBQUE0QkosSUFBQUEsVUFBVSxFQUFWQTtBQUE1QixHQUFMLEVBQ3hCVyxhQUR3QixDQUNWQyxhQURVLENBQ0lDLEdBRC9COztBQUdBLHVCQUNFLDZCQUFjSCxrQkFBZCxDQURGO0FBQUEsMkNBQVFJLElBQVI7QUFBQSxNQUFjQyxhQUFkLG9DQUE4QixFQUE5QjtBQUFBLE1BQWtDQyxVQUFsQyxrQkFBa0NBLFVBQWxDOztBQUVBLE1BQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFjLEdBQU07QUFDeEIsc0RBQWtDO0FBQ2hDQyxNQUFBQSxZQUFZLEVBQUVWO0FBRGtCLEtBQWxDO0FBR0QsR0FKRDs7QUFLQSx1QkFBa0Isb0NBQWxCO0FBQUEsTUFBUVcsS0FBUixrQkFBUUEsS0FBUjs7QUFDQSxNQUFNQyxNQUFNLEdBQUcsU0FBVEEsTUFBUztBQUFBLHdCQUNiLDZCQUFDLFdBQUQscUJBQ0U7QUFBSyxNQUFBLFNBQVMsRUFBRSxjQUFoQjtBQUFnQyxNQUFBLE9BQU8sRUFBRWpCO0FBQXpDLG9CQUNFLDZCQUFDLG9CQUFELE9BREYsQ0FERixlQUlFO0FBQUssTUFBQSxTQUFTLEVBQUU7QUFBaEIsT0FDR2tCLGNBQUtDLENBQUwsQ0FBTyx5QkFBUCxFQUFrQztBQUFFdEIsTUFBQUEsVUFBVSxFQUFWQTtBQUFGLEtBQWxDLENBREgsQ0FKRixDQURhO0FBQUEsR0FBZjs7QUFVQSxzQkFDRSw2QkFBQyxlQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUVtQixLQUFLLEdBQUcsT0FBSCxHQUFhLE1BRDFCO0FBRUUsSUFBQSxJQUFJLEVBQUUsSUFGUjtBQUdFLElBQUEsY0FBYyxFQUFFakIsY0FBYyxDQUFDZSxXQUFELENBSGhDO0FBSUUsSUFBQSxXQUFXLEVBQUUsdUJBQU0sQ0FBRSxDQUp2QjtBQUtFLElBQUEsT0FBTyxFQUFFRixhQUxYO0FBTUUsSUFBQSxZQUFZLGVBQ1YsNkJBQUMsV0FBRDtBQUFhLE1BQUEsS0FBSyxFQUFFSTtBQUFwQixvQkFDRSw2QkFBQyxNQUFELE9BREYsRUFFR0gsVUFBVSxnQkFDVCw2QkFBQyx3QkFBRCxPQURTLGdCQUdULDZCQUFDLGlCQUFELFFBQ0dELGFBREgsYUFDR0EsYUFESCx1QkFDR0EsYUFBYSxDQUFFUSxHQUFmLENBQW1CLFVBQUNDLElBQUQ7QUFBQSwwQkFDbEIsNkJBQUMsdUJBQUQ7QUFBZ0IsUUFBQSxHQUFHLEVBQUVBLElBQUksQ0FBQ0M7QUFBMUIsU0FBb0NELElBQXBDO0FBQTBDLFFBQUEsS0FBSyxFQUFFTDtBQUFqRCxTQURrQjtBQUFBLEtBQW5CLENBREgsQ0FMSjtBQVBKLElBREY7QUF1QkQsQ0F6REQ7O0FBMkRPLElBQU1PLFdBQVcsR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsd0VBSVI7QUFBQSxNQUFHVCxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFnQkEsS0FBSyxHQUFHLE9BQUgsR0FBYSxNQUFsQztBQUFBLENBSlEsQ0FBakI7Ozs7QUFNQSxJQUFNVSxXQUFXLEdBQUdGLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLGtKQUFqQjs7OztBQVdBLElBQU1FLGlCQUFpQixHQUFHSCwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSx5Q0FBdkI7OztlQUlRN0IsYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHVybHMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHVzZUthbmRvRmV0Y2ggZnJvbSAnc3JjL2hvb2tzL3VzZUthbmRvRmV0Y2gnO1xuaW1wb3J0IHsgRHJvcERvd24gfSBmcm9tICdzcmMvdWkta2l0JztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IExhYlJlc3VsdFZhbHVlIGZyb20gJy4vTGFiUmVzdWx0VmFsdWUnO1xuaW1wb3J0IHsgdXNlTmF2Q29udGV4dCB9IGZyb20gJ3NyYy9ob29rcy91c2VOYXZDb250ZXh0JztcbmltcG9ydCB7IENsb3NlTW9kYWxTdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBSb3dMb2FkZXIgfSBmcm9tICdzcmMvY29tcG9uZW50cy9Db250ZW50TG9hZGVyJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuXG5jb25zdCBWaWV3TGFiUmVzdWx0ID0gKHtcbiAgc2FtcGxpbmdJZCxcbiAgd2F0ZXJBdXRob3JpdHlJZCxcbiAgZHJvcGRvd25Ub2dnbGUsXG4gIG9uQ2xvc2UsXG59KSA9PiB7XG4gIGNvbnN0IGxvY2FsZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlLFxuICApO1xuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcbiAgY29uc3QgbGFiUmVzdWx0VmFsdWVzVXJsID0gdXJscyh7IHdhdGVyQXV0aG9yaXR5SWQsIGxvY2FsZSwgc2FtcGxpbmdJZCB9KVxuICAgIC5zYW1wbGluZ3NQYWdlLnZpZXdMYWJSZXN1bHQudXJsO1xuXG4gIGNvbnN0IHsgZGF0YTogbGFiUmVzdWx0RGF0YSA9IFtdLCBpc0ZldGNoaW5nIH0gPVxuICAgIHVzZUthbmRvRmV0Y2gobGFiUmVzdWx0VmFsdWVzVXJsKTtcbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soYHZpZXcgbGFiIHJlc3VsdGAsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICB9O1xuICBjb25zdCB7IGlzUnRsIH0gPSB1c2VOYXZDb250ZXh0KCk7XG4gIGNvbnN0IEhlYWRlciA9ICgpID0+IChcbiAgICA8SGVhZGVyU3R5bGU+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17J2Nsb3NlLWJ1dHRvbid9IG9uQ2xpY2s9e29uQ2xvc2V9PlxuICAgICAgICA8Q2xvc2VNb2RhbFN2ZyAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17J3RpdGxlJ30+XG4gICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmxhYl92aWV3JywgeyBzYW1wbGluZ0lkIH0pfVxuICAgICAgPC9kaXY+XG4gICAgPC9IZWFkZXJTdHlsZT5cbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8RHJvcERvd25cbiAgICAgIGRyb3A9e2lzUnRsID8gJ3JpZ2h0JyA6ICdsZWZ0J31cbiAgICAgIHNob3c9e3RydWV9XG4gICAgICBkcm9wZG93blRvZ2dsZT17ZHJvcGRvd25Ub2dnbGUoaGFuZGxlQ2xpY2spfVxuICAgICAgb25JdGVtQ2xpY2s9eygpID0+IHt9fVxuICAgICAgb3B0aW9ucz17bGFiUmVzdWx0RGF0YX1cbiAgICAgIG92ZXJyaWRlTGlzdD17XG4gICAgICAgIDxIb2xkZXJTdHlsZSBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgIDxIZWFkZXIgLz5cbiAgICAgICAgICB7aXNGZXRjaGluZyA/IChcbiAgICAgICAgICAgIDxSb3dMb2FkZXIgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFJlc3VsdEhvbGRlclN0eWxlPlxuICAgICAgICAgICAgICB7bGFiUmVzdWx0RGF0YT8ubWFwKChpdGVtKSA9PiAoXG4gICAgICAgICAgICAgICAgPExhYlJlc3VsdFZhbHVlIGtleT17aXRlbS5uYW1lfSB7Li4uaXRlbX0gaXNSdGw9e2lzUnRsfSAvPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvUmVzdWx0SG9sZGVyU3R5bGU+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ib2xkZXJTdHlsZT5cbiAgICAgIH1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEhvbGRlclN0eWxlID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246ICR7KHsgaXNSdGwgfSkgPT4gKGlzUnRsID8gJ3JpZ2h0JyA6ICdsZWZ0Jyl9O1xuYDtcbmV4cG9ydCBjb25zdCBIZWFkZXJTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFJlc3VsdEhvbGRlclN0eWxlID0gc3R5bGVkLmRpdmBcbiAgbWF4LWhlaWdodDogMTIwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG5gO1xuZXhwb3J0IGRlZmF1bHQgVmlld0xhYlJlc3VsdDtcbiJdfQ==