@kando-env/kando-ui 1.2.142 → 1.2.146
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.
- package/lib/Widgets/Map/Map.js +5 -3
- package/lib/Widgets/Map/Map.scss +17 -0
- package/lib/Widgets/Map/MapUtils.js +35 -11
- package/lib/i18n/en.json +9 -3
- package/lib/i18n/en_uk.json +3 -3
- package/lib/i18n/he.json +6 -0
- package/lib/macros/getVersion.js +1 -1
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +4 -2
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +25 -26
- package/lib/pages/NotificationsPageV2/notificationUtils.js +20 -11
- package/package.json +1 -1
package/lib/Widgets/Map/Map.js
CHANGED
|
@@ -39,6 +39,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
39
39
|
|
|
40
40
|
// @ts-ignore
|
|
41
41
|
var MAPBOX_DEFAULT_KANDO_STYLE = 'ckfwcs35k4g621apkec9wpokl';
|
|
42
|
+
var MAPBOX_SATELLITE_KANDO_STYLE = 'cle5mffs3001s01q94brapvks';
|
|
43
|
+
var mapBoxSatelliteStyle = MAPBOX_SATELLITE_KANDO_STYLE;
|
|
42
44
|
|
|
43
45
|
var Map = function Map(_ref) {
|
|
44
46
|
var areas = _ref.areas,
|
|
@@ -107,7 +109,7 @@ var Map = function Map(_ref) {
|
|
|
107
109
|
});
|
|
108
110
|
}, [focusedEvent, hoveredEvent, global_data.eventFilterParam]);
|
|
109
111
|
(0, _react.useEffect)(function () {
|
|
110
|
-
(0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel);
|
|
112
|
+
(0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, mapBoxSatelliteStyle, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel);
|
|
111
113
|
return function cleanup() {
|
|
112
114
|
// @ts-ignore
|
|
113
115
|
mapRef.current.remove();
|
|
@@ -116,7 +118,7 @@ var Map = function Map(_ref) {
|
|
|
116
118
|
}, [global_data.waterAuthorityId]);
|
|
117
119
|
(0, _react.useEffect)(function () {
|
|
118
120
|
if (!mapRef.current) {
|
|
119
|
-
(0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel);
|
|
121
|
+
(0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, mapBoxSatelliteStyle, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel);
|
|
120
122
|
} else {
|
|
121
123
|
(0, _MapUtils.areaFocusLogic)(mapRef, _MapUtils.isValidArea, areaToCenterBy);
|
|
122
124
|
}
|
|
@@ -144,4 +146,4 @@ var Map = function Map(_ref) {
|
|
|
144
146
|
};
|
|
145
147
|
|
|
146
148
|
exports.Map = Map;
|
|
147
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sIm5hbWVzIjpbIk1BUEJPWF9ERUZBVUxUX0tBTkRPX1NUWUxFIiwiTWFwIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJoaWRlRWRnZXMiLCJtYXBCb3hTdHlsZSIsImNoaWxkcmVuIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIm1hcCIsIm1hcFJlZiIsImRpc3BhdGNoIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiZXZlbnRzRGF0YSIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidW5kZWZpbmVkIiwiZm9jdXNlZEV2ZW50UHJlc2VudCIsInJlbmRlclBvaW50cyIsImlzRmV0Y2hpbmciLCJjdXJyZW50IiwiYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zIiwibWVtb2l6ZWRFdmVudCIsImZvY3VzZWQiLCJob3ZlcmVkIiwiZXZlbnRGaWx0ZXJQYXJhbSIsImlzVmFsaWRBcmVhIiwiY2xlYW51cCIsInJlbW92ZSIsIndhdGVyQXV0aG9yaXR5SWQiLCJzaWRlbmF2RXhwYW5kZWQiLCJMIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7OztBQWpCQTtBQXVDQSxJQUFNQSwwQkFBMEIsR0FBRywyQkFBbkM7O0FBQ08sSUFBTUMsR0FBdUIsR0FBRyxTQUExQkEsR0FBMEIsT0FhakM7QUFBQSxNQVpKQyxLQVlJLFFBWkpBLEtBWUk7QUFBQSxNQVhKQyxLQVdJLFFBWEpBLEtBV0k7QUFBQSxNQVZKQyxNQVVJLFFBVkpBLE1BVUk7QUFB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bEMsa0JBQ0MsNERBQ0dVLFlBREgsZUFFRSw2QkFBQywwQkFBRDtBQUNFLElBQUEsS0FBSyxFQUFFdkIsS0FEVDtBQUVFLElBQUEsR0FBRyxFQUFFYSxNQUFNLENBQUNZLE9BRmQ7QUFHRSxJQUFBLENBQUMsRUFBRVcsZ0JBSEw7QUFJRSxJQUFBLGNBQWMsRUFBRWhDLGNBSmxCO0FBS0UsSUFBQSxPQUFPLEVBQUVXO0FBTFgsSUFGRixlQVVFLDZCQUFDLGNBQUQ7QUFDRSxJQUFBLEtBQUssRUFBRWQsS0FEVDtBQUVFLElBQUEsR0FBRyxFQUFFWSxNQUFNLENBQUNZLE9BRmQ7QUFHRSxJQUFBLENBQUMsRUFBRVcsZ0JBSEw7QUFJRSxJQUFBLE1BQU0sRUFBRWxDLE1BSlY7QUFLRSxJQUFBLFNBQVMsRUFBRUssU0FMYjtBQU1FLElBQUEsMkJBQTJCLEVBQ3pCSTtBQVBKLElBVkYsQ0FISixFQXlCRyw0Q0FBNkJWLEtBQTdCLEVBQW9DRCxLQUFwQyxFQUEyQ0csV0FBM0MsRUFBd0RVLE1BQXhELGtCQUNDLDREQUNHYyxhQURILEVBRUdELDJCQUZILEVBR0dqQixRQUhILENBMUJKLENBTEYsQ0FERixDQURGO0FBMkNELENBcEpNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc3RvcmVNYXAgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgQXJlYVBvbHlnb25zIH0gZnJvbSAnLi9hcmVhcy9BcmVhUG9seWdvbnMnO1xuaW1wb3J0IEVkZ2VzIGZyb20gJy4vZWRnZXMvRWRnZXMnO1xuaW1wb3J0ICcuL01hcC5zY3NzJztcbmltcG9ydCB7IFBvaW50TWFya2VycyB9IGZyb20gJy4vcG9pbnRzL1BvaW50TWFya2Vycyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgRXZlbnQgfSBmcm9tICcuL2V2ZW50cy9FdmVudCc7XG5pbXBvcnQge1xuICBhcmVhRm9jdXNMb2dpYyxcbiAgaWNvblpvb21Db250cm9sLFxuICBpbml0aWFsaXplTWFwLFxuICBpc1ZhbGlkQXJlYSxcbiAgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyxcbiAgc2hvdWxkTG9hZE1hcE9iamVjdHMsXG59IGZyb20gJy4vTWFwVXRpbHMnO1xuXG5pbnRlcmZhY2UgTWFwUHJvcHMge1xuICBhcmVhczogSUFyZWFbXTtcbiAgZWRnZXM6IElFZGdlW107XG4gIHBvaW50czogSVBvaW50W107XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGFyZWFUb0NlbnRlckJ5PzogYW55O1xuICBmb2N1c2VkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBob3ZlcmVkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBoaWRlRWRnZXM/OiBib29sZWFuO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz86IGJvb2xlYW47XG59XG5jb25zdCBNQVBCT1hfREVGQVVMVF9LQU5ET19TVFlMRSA9ICdja2Z3Y3MzNWs0ZzYyMWFwa2VjOXdwb2tsJztcbmV4cG9ydCBjb25zdCBNYXA6IFJlYWN0LkZDPE1hcFByb3BzPiA9ICh7XG4gIGFyZWFzLFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBnbG9iYWxfZGF0YSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIGZvY3VzZWRFdmVudCxcbiAgaG92ZXJlZEV2ZW50LFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgbWFwQm94U3R5bGUgPSBNQVBCT1hfREVGQVVMVF9LQU5ET19TVFlMRSxcbiAgY2hpbGRyZW4sXG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyA9IGZhbHNlLFxuICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgbWFwUmVmID0gdXNlUmVmPEwuTWFwPihudWxsKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbWFwWm9vbUxldmVsLCBzZXRNYXBab29tTGV2ZWxdID0gdXNlU3RhdGUoMik7XG4gIGNvbnN0IGV2ZW50c0RhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5ldmVudHNfZGF0YSxcbiAgKTtcbiAgY29uc3QgaG92ZXJlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBob3ZlcmVkRXZlbnQgIT09IG51bGwgJiYgaG92ZXJlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBmb2N1c2VkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiBmb2N1c2VkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2ZvY3VzZWRFdmVudF0pO1xuXG4gIGNvbnN0IHJlbmRlclBvaW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAhZXZlbnRzRGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgICAgIWZvY3VzZWRFdmVudFByZXNlbnQgJiYgKFxuICAgICAgICA8UG9pbnRNYXJrZXJzXG4gICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e2luY2x1ZGVVbm1vbml0b3JlZFBvaW50c31cbiAgICAgICAgICByZXJlbmRlcj17Zm9jdXNlZEV2ZW50UHJlc2VudH1cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICApO1xuICB9LCBbZXZlbnRzRGF0YS5pc0ZldGNoaW5nLCBtYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3QgYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiYgaWNvblpvb21Db250cm9sKG1hcFJlZi5jdXJyZW50KTtcbiAgfSwgW21hcFJlZi5jdXJyZW50LCBwb2ludHMsIGZvY3VzZWRFdmVudFByZXNlbnRdKTtcblxuICBjb25zdCBtZW1vaXplZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuICAgIHJldHVybiAoXG4gICAgICA8RXZlbnRcbiAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudCEgfHwgaG92ZXJlZEV2ZW50IX1cbiAgICAgICAgbWFwPXttYXB9XG4gICAgICAgIGVkZ2VzPXtlZGdlc31cbiAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgIGluY2x1ZGVOZXR3b3JrPXshaG92ZXJlZEV2ZW50UHJlc2VudH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplTWFwKFxuICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgbWFwQm94U3R5bGUsXG4gICAgICBtYXBSZWYsXG4gICAgICBkaXNwYXRjaCxcbiAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlKCk7XG4gICAgICBkaXNwYXRjaChzdG9yZU1hcCh1bmRlZmluZWQpKTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgaW5pdGlhbGl6ZU1hcChcbiAgICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgICBtYXBCb3hTdHlsZSxcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmVhRm9jdXNMb2dpYyhtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9LCBbYXJlYVRvQ2VudGVyQnldKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2AgbWFwLWNvbnRhaW5lciAke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ21hcC1jb250YWluZXItLXNpZGVuYXYtY29sbGFwc2VkJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgPGRpdiBpZD1cIm1hcFwiPjwvZGl2PlxuICAgICAgICAgIHtzaG91bGRMb2FkTWFwT2JqZWN0cyhnbG9iYWxfZGF0YSwgbWFwUmVmKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7cmVuZGVyUG9pbnRzfVxuICAgICAgICAgICAgICA8QXJlYVBvbHlnb25zXG4gICAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbUxldmVsfVxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxFZGdlc1xuICAgICAgICAgICAgICAgIGVkZ2VzPXtlZGdlc31cbiAgICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAgICAgaGlkZUVkZ2VzPXtoaWRlRWRnZXN9XG4gICAgICAgICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtcbiAgICAgICAgICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzKGVkZ2VzLCBhcmVhcywgZ2xvYmFsX2RhdGEsIG1hcFJlZikgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge21lbW9pemVkRXZlbnR9XG4gICAgICAgICAgICAgIHthY3RpdmF0ZVpvb21Db250cm9sRm9ySWNvbnN9XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ==
|
|
149
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sIm5hbWVzIjpbIk1BUEJPWF9ERUZBVUxUX0tBTkRPX1NUWUxFIiwiTUFQQk9YX1NBVEVMTElURV9LQU5ET19TVFlMRSIsIm1hcEJveFNhdGVsbGl0ZVN0eWxlIiwiTWFwIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJoaWRlRWRnZXMiLCJtYXBCb3hTdHlsZSIsImNoaWxkcmVuIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIm1hcCIsIm1hcFJlZiIsImRpc3BhdGNoIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiZXZlbnRzRGF0YSIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidW5kZWZpbmVkIiwiZm9jdXNlZEV2ZW50UHJlc2VudCIsInJlbmRlclBvaW50cyIsImlzRmV0Y2hpbmciLCJjdXJyZW50IiwiYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zIiwibWVtb2l6ZWRFdmVudCIsImZvY3VzZWQiLCJob3ZlcmVkIiwiZXZlbnRGaWx0ZXJQYXJhbSIsImlzVmFsaWRBcmVhIiwiY2xlYW51cCIsInJlbW92ZSIsIndhdGVyQXV0aG9yaXR5SWQiLCJzaWRlbmF2RXhwYW5kZWQiLCJMIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7OztBQWpCQTtBQXVDQSxJQUFNQSwwQkFBMEIsR0FBRywyQkFBbkM7QUFDQSxJQUFNQyw0QkFBNEIsR0FBRywyQkFBckM7QUFDQSxJQUFNQyxvQkFBb0IsR0FBR0QsNEJBQTdCOztBQUNPLElBQU1F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LDJCQUNQRCxXQUFXLENBQUNnQyxlQUFaLEdBQThCLEVBQTlCLEdBQW1DLGtDQUQ1QjtBQURYLGtCQUtFLDZCQUFDLHNCQUFELHFCQUNFO0FBQUssSUFBQSxFQUFFLEVBQUM7QUFBUixJQURGLEVBRUcsb0NBQXFCaEMsV0FBckIsRUFBa0NVLE1BQWxDLGtCQUNDLDREQUNHVSxZQURILGVBRUUsNkJBQUMsMEJBQUQ7QUFDRSxJQUFBLEtBQUssRUFBRXZCLEtBRFQ7QUFFRSxJQUFBLEdBQUcsRUFBRWEsTUFBTSxDQUFDWSxPQUZkO0FBR0UsSUFBQSxDQUFDLEVBQUVXLGdCQUhMO0FBSUUsSUFBQSxjQUFjLEVBQUVoQyxjQUpsQjtBQUtFLElBQUEsT0FBTyxFQUFFVztBQUxYLElBRkYsZUFVRSw2QkFBQyxjQUFEO0FBQ0UsSUFBQSxLQUFLLEVBQUVkLEtBRFQ7QUFFRSxJQUFBLEdBQUcsRUFBRVksTUFBTSxDQUFDWSxPQUZkO0FBR0UsSUFBQSxDQUFDLEVBQUVXLGdCQUhMO0FBSUUsSUFBQSxNQUFNLEVBQUVsQyxNQUpWO0FBS0UsSUFBQSxTQUFTLEVBQUVLLFNBTGI7QUFNRSxJQUFBLDJCQUEyQixFQUN6Qkk7QUFQSixJQVZGLENBSEosRUF5QkcsNENBQTZCVixLQUE3QixFQUFvQ0QsS0FBcEMsRUFBMkNHLFdBQTNDLEVBQXdEVSxNQUF4RCxrQkFDQyw0REFDR2MsYUFESCxFQUVHRCwyQkFGSCxFQUdHakIsUUFISCxDQTFCSixDQUxGLENBREYsQ0FERjtBQTJDRCxDQXRKTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHN0b3JlTWFwIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnc3JjL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCB7IEFyZWFQb2x5Z29ucyB9IGZyb20gJy4vYXJlYXMvQXJlYVBvbHlnb25zJztcbmltcG9ydCBFZGdlcyBmcm9tICcuL2VkZ2VzL0VkZ2VzJztcbmltcG9ydCAnLi9NYXAuc2Nzcyc7XG5pbXBvcnQgeyBQb2ludE1hcmtlcnMgfSBmcm9tICcuL3BvaW50cy9Qb2ludE1hcmtlcnMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IEV2ZW50IH0gZnJvbSAnLi9ldmVudHMvRXZlbnQnO1xuaW1wb3J0IHtcbiAgYXJlYUZvY3VzTG9naWMsXG4gIGljb25ab29tQ29udHJvbCxcbiAgaW5pdGlhbGl6ZU1hcCxcbiAgaXNWYWxpZEFyZWEsXG4gIHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMsXG4gIHNob3VsZExvYWRNYXBPYmplY3RzLFxufSBmcm9tICcuL01hcFV0aWxzJztcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgYXJlYXM6IElBcmVhW107XG4gIGVkZ2VzOiBJRWRnZVtdO1xuICBwb2ludHM6IElQb2ludFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgbWFwQm94U3R5bGU/OiBzdHJpbmc7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz86IGJvb2xlYW47XG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM/OiBib29sZWFuO1xufVxuY29uc3QgTUFQQk9YX0RFRkFVTFRfS0FORE9fU1RZTEUgPSAnY2tmd2NzMzVrNGc2MjFhcGtlYzl3cG9rbCc7XG5jb25zdCBNQVBCT1hfU0FURUxMSVRFX0tBTkRPX1NUWUxFID0gJ2NsZTVtZmZzMzAwMXMwMXE5NGJyYXB2a3MnO1xuY29uc3QgbWFwQm94U2F0ZWxsaXRlU3R5bGUgPSBNQVBCT1hfU0FURUxMSVRFX0tBTkRPX1NUWUxFO1xuZXhwb3J0IGNvbnN0IE1hcDogUmVhY3QuRkM8TWFwUHJvcHM+ID0gKHtcbiAgYXJlYXMsXG4gIGVkZ2VzLFxuICBwb2ludHMsXG4gIGdsb2JhbF9kYXRhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgZm9jdXNlZEV2ZW50LFxuICBob3ZlcmVkRXZlbnQsXG4gIGhpZGVFZGdlcyA9IGZhbHNlLFxuICBtYXBCb3hTdHlsZSA9IE1BUEJPWF9ERUZBVUxUX0tBTkRPX1NUWUxFLFxuICBjaGlsZHJlbixcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzID0gZmFsc2UsXG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMgPSBmYWxzZSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBtYXBSZWYgPSB1c2VSZWY8TC5NYXA+KG51bGwpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFttYXBab29tTGV2ZWwsIHNldE1hcFpvb21MZXZlbF0gPSB1c2VTdGF0ZSgyKTtcbiAgY29uc3QgZXZlbnRzRGF0YSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLmV2ZW50c19kYXRhLFxuICApO1xuICBjb25zdCBob3ZlcmVkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGhvdmVyZWRFdmVudCAhPT0gbnVsbCAmJiBob3ZlcmVkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2hvdmVyZWRFdmVudF0pO1xuXG4gIGNvbnN0IGZvY3VzZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZm9jdXNlZEV2ZW50ICE9PSBudWxsICYmIGZvY3VzZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbZm9jdXNlZEV2ZW50XSk7XG5cbiAgY29uc3QgcmVuZGVyUG9pbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICFldmVudHNEYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgICAhZm9jdXNlZEV2ZW50UHJlc2VudCAmJiAoXG4gICAgICAgIDxQb2ludE1hcmtlcnNcbiAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz17aW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzfVxuICAgICAgICAgIHJlcmVuZGVyPXtmb2N1c2VkRXZlbnRQcmVzZW50fVxuICAgICAgICAvPlxuICAgICAgKVxuICAgICk7XG4gIH0sIFtldmVudHNEYXRhLmlzRmV0Y2hpbmcsIG1hcFJlZi5jdXJyZW50LCBwb2ludHMsIGZvY3VzZWRFdmVudFByZXNlbnRdKTtcblxuICBjb25zdCBhY3RpdmF0ZVpvb21Db250cm9sRm9ySWNvbnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJiBpY29uWm9vbUNvbnRyb2wobWFwUmVmLmN1cnJlbnQpO1xuICB9LCBbbWFwUmVmLmN1cnJlbnQsIHBvaW50cywgZm9jdXNlZEV2ZW50UHJlc2VudF0pO1xuXG4gIGNvbnN0IG1lbW9pemVkRXZlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoZm9jdXNlZEV2ZW50UHJlc2VudCkge1xuICAgICAgZm9jdXNlZEV2ZW50IS5mb2N1c2VkID0gZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICAgIGZvY3VzZWRFdmVudCEuaG92ZXJlZCA9ICFmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmIChob3ZlcmVkRXZlbnRQcmVzZW50KSB7XG4gICAgICBob3ZlcmVkRXZlbnQhLmhvdmVyZWQgPSBob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgICAgaG92ZXJlZEV2ZW50IS5mb2N1c2VkID0gIWhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKCFob3ZlcmVkRXZlbnRQcmVzZW50ICYmICFmb2N1c2VkRXZlbnRQcmVzZW50KSByZXR1cm4gPD48Lz47XG4gICAgcmV0dXJuIChcbiAgICAgIDxFdmVudFxuICAgICAgICBldmVudD17Zm9jdXNlZEV2ZW50ISB8fCBob3ZlcmVkRXZlbnQhfVxuICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgZWRnZXM9e2VkZ2VzfVxuICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgaW5jbHVkZU5ldHdvcms9eyFob3ZlcmVkRXZlbnRQcmVzZW50fVxuICAgICAgLz5cbiAgICApO1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGluaXRpYWxpemVNYXAoXG4gICAgICBtYXBab29tTGV2ZWwsXG4gICAgICBtYXBCb3hTdHlsZSxcbiAgICAgIG1hcEJveFNhdGVsbGl0ZVN0eWxlLFxuICAgICAgbWFwUmVmLFxuICAgICAgZGlzcGF0Y2gsXG4gICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgc2V0TWFwWm9vbUxldmVsLFxuICAgICk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZSgpO1xuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAodW5kZWZpbmVkKSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoXG4gICAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgICAgbWFwQm94U3R5bGUsXG4gICAgICAgIG1hcEJveFNhdGVsbGl0ZVN0eWxlLFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFyZWFGb2N1c0xvZ2ljKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KTtcbiAgICB9XG4gIH0sIFthcmVhVG9DZW50ZXJCeV0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJrZC1tYXAtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCBtYXAtY29udGFpbmVyICR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnbWFwLWNvbnRhaW5lci0tc2lkZW5hdi1jb2xsYXBzZWQnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICA8ZGl2IGlkPVwibWFwXCI+PC9kaXY+XG4gICAgICAgICAge3Nob3VsZExvYWRNYXBPYmplY3RzKGdsb2JhbF9kYXRhLCBtYXBSZWYpICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHtyZW5kZXJQb2ludHN9XG4gICAgICAgICAgICAgIDxBcmVhUG9seWdvbnNcbiAgICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhVG9DZW50ZXJCeX1cbiAgICAgICAgICAgICAgICBtYXBab29tPXttYXBab29tTGV2ZWx9XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgPEVkZ2VzXG4gICAgICAgICAgICAgICAgZWRnZXM9e2VkZ2VzfVxuICAgICAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgICBoaWRlRWRnZXM9e2hpZGVFZGdlc31cbiAgICAgICAgICAgICAgICBhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHM9e1xuICAgICAgICAgICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge3Nob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMoZWRnZXMsIGFyZWFzLCBnbG9iYWxfZGF0YSwgbWFwUmVmKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7bWVtb2l6ZWRFdmVudH1cbiAgICAgICAgICAgICAge2FjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29uc31cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19
|
package/lib/Widgets/Map/Map.scss
CHANGED
|
@@ -93,6 +93,7 @@
|
|
|
93
93
|
transition: 0.3s cubic-bezier(1, 0, 0, 1);
|
|
94
94
|
|
|
95
95
|
.ltr & {
|
|
96
|
+
width: calc(100vw - 450px);
|
|
96
97
|
left: 450px;
|
|
97
98
|
right: 0;
|
|
98
99
|
}
|
|
@@ -144,6 +145,22 @@
|
|
|
144
145
|
}
|
|
145
146
|
}
|
|
146
147
|
}
|
|
148
|
+
|
|
149
|
+
.leaflet-right {
|
|
150
|
+
top: auto;
|
|
151
|
+
transition: 0.3s cubic-bezier(1, 0, 0, 1);
|
|
152
|
+
width: min-content;
|
|
153
|
+
bottom: -8.5em;
|
|
154
|
+
|
|
155
|
+
.ltr & {
|
|
156
|
+
right: 0;
|
|
157
|
+
left: unset;
|
|
158
|
+
}
|
|
159
|
+
.rtl & {
|
|
160
|
+
left: 0em;
|
|
161
|
+
right: unset;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
147
164
|
}
|
|
148
165
|
}
|
|
149
166
|
}
|
|
@@ -7,10 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.initializeMap = exports.iconZoomControl = exports.topIconOptions = exports.middleIconOptions = exports.bubbleIconOptions = exports.eventsCountIcon = exports.multipleLayeredIcons = exports.eventsCounterIcons = exports.findSpecificLayersFromMap = exports.shoudLoadDependentMapObjects = exports.shouldLoadMapObjects = exports.isValidArea = exports.areaFocusLogic = void 0;
|
|
9
9
|
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
11
|
+
|
|
10
12
|
var _leaflet = _interopRequireDefault(require("leaflet"));
|
|
11
13
|
|
|
12
14
|
var _actions = require("../../store/global/actions");
|
|
13
15
|
|
|
16
|
+
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
17
|
+
|
|
14
18
|
var areaFocusLogic = function areaFocusLogic(mapRef, isValidArea, areaToCenterBy) {
|
|
15
19
|
var mapInstance = mapRef.current;
|
|
16
20
|
|
|
@@ -211,25 +215,45 @@ var iconZoomControl = function iconZoomControl(map) {
|
|
|
211
215
|
|
|
212
216
|
exports.iconZoomControl = iconZoomControl;
|
|
213
217
|
|
|
214
|
-
var
|
|
218
|
+
var mapStyle = function mapStyle(mapBoxStyle) {
|
|
219
|
+
return _leaflet.default.tileLayer("https://api.mapbox.com/styles/v1/nadav-kando/".concat(mapBoxStyle, "/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoibmFkYXYta2FuZG8iLCJhIjoiY2pveHprdGRxMHlmdDN4bDg0dzJxOXc4dSJ9.J-2ohq7j4yKNbm4N_-P6qw"), {
|
|
220
|
+
attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
|
|
221
|
+
maxZoom: 18,
|
|
222
|
+
id: 'mapbox/streets-v11',
|
|
223
|
+
tileSize: 512,
|
|
224
|
+
zoomOffset: -1,
|
|
225
|
+
updateWhenZooming: false,
|
|
226
|
+
updateWhenIdle: false
|
|
227
|
+
});
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
var baseMaps = function baseMaps(mapBoxStyle, mapBoxSatelliteStyle) {
|
|
231
|
+
var _ref;
|
|
232
|
+
|
|
233
|
+
var defaultMap = _i18n.default.t('map.layers.default');
|
|
234
|
+
|
|
235
|
+
var satellite = _i18n.default.t('map.layers.satellite');
|
|
236
|
+
|
|
237
|
+
return _ref = {}, (0, _defineProperty2.default)(_ref, defaultMap, mapStyle(mapBoxStyle)), (0, _defineProperty2.default)(_ref, satellite, mapStyle(mapBoxSatelliteStyle)), _ref;
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSatelliteStyle, mapRef, dispatch, isValidArea, areaToCenterBy, setMapZoomLevel) {
|
|
215
241
|
// @ts-ignore
|
|
216
242
|
mapRef.current = _leaflet.default.map('map', {
|
|
217
243
|
center: [0, 0],
|
|
218
244
|
zoomSnap: 1,
|
|
219
245
|
zoom: mapZoomLevel,
|
|
220
246
|
preferCanvas: true,
|
|
221
|
-
layers: [
|
|
222
|
-
attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
|
|
223
|
-
maxZoom: 18,
|
|
224
|
-
id: 'mapbox/streets-v11',
|
|
225
|
-
tileSize: 512,
|
|
226
|
-
zoomOffset: -1,
|
|
227
|
-
updateWhenZooming: false,
|
|
228
|
-
updateWhenIdle: false
|
|
229
|
-
})]
|
|
247
|
+
layers: [mapStyle(mapBoxStyle), mapStyle(mapBoxSatelliteStyle)]
|
|
230
248
|
});
|
|
231
249
|
mapRef.current.whenReady(function () {
|
|
232
250
|
var map = mapRef.current;
|
|
251
|
+
|
|
252
|
+
_leaflet.default.control.layers(baseMaps(mapBoxStyle, mapBoxSatelliteStyle), {}, {
|
|
253
|
+
position: 'bottomright'
|
|
254
|
+
}).addTo(map);
|
|
255
|
+
|
|
256
|
+
mapStyle(mapBoxStyle).addTo(map);
|
|
233
257
|
map.on('zoomend', function () {
|
|
234
258
|
iconZoomControl(map);
|
|
235
259
|
});
|
|
@@ -263,4 +287,4 @@ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapRef, di
|
|
|
263
287
|
};
|
|
264
288
|
|
|
265
289
|
exports.initializeMap = initializeMap;
|
|
266
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJuYW1lcyI6WyJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwibWFwIiwidW5kZWZpbmVkIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImVkZ2VzIiwiYXJlYXMiLCJnbG9iYWwiLCJmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwIiwibGF5ZXJzVG9GaW5kIiwiY3VycmVudExheWVyIiwiaW5jbHVkZXMiLCJrYW5kb19wb2ludF90eXBlIiwiZXZlbnRzQ291bnRlckljb25zIiwibGF5ZXIiLCJ6b29tTGV2ZWwiLCJpY29uIiwib3B0aW9ucyIsImljb25TaXplIiwiZXZlbnRzQ291bnRJY29uIiwiaWNvbkFuY2hvciIsInNldEljb24iLCJzZXRPcGFjaXR5IiwibXVsdGlwbGVMYXllcmVkSWNvbnMiLCJpc0FGZXdMYXllckljb24iLCJrYW5kb19mZXdfbGF5ZXJfaWNvbiIsIm1pbmlJY29uIiwicHJlc2VudCIsImthbmRvX3NlY29uZGFyeSIsImthbmRvX3RoaXJkIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJrYW5kb19pbmRleF9vYmplY3QiLCJidWJibGVJY29uT3B0aW9ucyIsIm9uZUxheWVySWNvbk9wdGlvbnMiLCJtaWRkbGVJY29uT3B0aW9ucyIsInRvcEljb25PcHRpb25zIiwiaWNvblpvb21Db250cm9sIiwibGF5ZXJzIiwiX3pvb20iLCJpbml0aWFsaXplTWFwIiwibWFwWm9vbUxldmVsIiwibWFwQm94U3R5bGUiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsInByZWZlckNhbnZhcyIsInRpbGVMYXllciIsImF0dHJpYnV0aW9uIiwibWF4Wm9vbSIsImlkIiwidGlsZVNpemUiLCJ6b29tT2Zmc2V0IiwidXBkYXRlV2hlblpvb21pbmciLCJ1cGRhdGVXaGVuSWRsZSIsIndoZW5SZWFkeSIsIm9uIiwic2V0VGltZW91dCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImUiLCJnZXRab29tIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFTyxJQUFNQSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNDLE1BQUQsRUFBU0MsV0FBVCxFQUFzQkMsY0FBdEIsRUFBeUM7QUFDckUsTUFBSUMsV0FBZ0IsR0FBR0gsTUFBTSxDQUFDSSxPQUE5Qjs7QUFDQSxNQUFJSCxXQUFXLENBQUNDLGNBQUQsQ0FBZixFQUFpQztBQUMvQkMsSUFBQUEsV0FBVyxDQUFDRSxTQUFaLENBQXNCSCxjQUF0QixFQUFzQztBQUFFSSxNQUFBQSxPQUFPLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSjtBQUFYLEtBQXRDO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsUUFBTUMsS0FBWSxHQUFHLEVBQXJCOztBQUVBLFNBQUssSUFBTUMsUUFBWCxJQUF1QkwsV0FBVyxDQUFDTSxPQUFuQyxFQUE0QztBQUMxQyxVQUFJTixXQUFXLENBQUNNLE9BQVosQ0FBb0JELFFBQXBCLEVBQThCRSxZQUE5QixLQUErQyxNQUFuRCxFQUEyRDtBQUN6REgsUUFBQUEsS0FBSyxDQUFDSSxJQUFOLENBQVdSLFdBQVcsQ0FBQ00sT0FBWixDQUFvQkQsUUFBcEIsQ0FBWDtBQUNEO0FBQ0Y7O0FBRUQsUUFBSUksTUFBTSxDQUFDQyxJQUFQLENBQVlDLGlCQUFFQyxZQUFGLENBQWVSLEtBQWYsRUFBc0JTLFNBQXRCLEVBQVosRUFB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QUFDeEMsUUFBSSxDQUFDbkYsTUFBTSxDQUFDSSxPQUFaLEVBQXFCO0FBQ25CO0FBQ0Q7O0FBQ0QsUUFBSStELElBQUksR0FBR25FLE1BQU0sQ0FBQ0ksT0FBUCxDQUFlZ0YsT0FBZixFQUFYO0FBQ0FwQixJQUFBQSxlQUFlLENBQUNHLElBQUQsQ0FBZjtBQUNELEdBTkQ7QUFPRCxDQS9ETSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IFBvaW50VHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNpZGVOYXZFeHBhbmRlZCwgc3RvcmVNYXAgfSBmcm9tICcuLi8uLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBhcmVhRm9jdXNMb2dpYyA9IChtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSkgPT4ge1xuICBsZXQgbWFwSW5zdGFuY2U6IGFueSA9IG1hcFJlZi5jdXJyZW50O1xuICBpZiAoaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5LCB7IHBhZGRpbmc6IFswLCAwXSB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBncm91cDogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwSW5zdGFuY2UuX2xheWVycykge1xuICAgICAgaWYgKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnKSB7XG4gICAgICAgIGdyb3VwLnB1c2gobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCkpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICBwYWRkaW5nOiBbMTAwLCAxMDBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG1hcEluc3RhbmNlLmludmFsaWRhdGVTaXplKHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRBcmVhID0gKGFyZWEpID0+IHtcbiAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkTG9hZE1hcE9iamVjdHMgPSAoZ2xvYmFsX2RhdGEsIG1hcFJlZikgPT4ge1xuICByZXR1cm4gZ2xvYmFsX2RhdGEubWFwICE9PSB1bmRlZmluZWQgJiYgbWFwUmVmLmN1cnJlbnQgIT09IG51bGw7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyA9IChlZGdlcywgYXJlYXMsIGdsb2JhbCwgbWFwUmVmKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcy5sZW5ndGggIT09IDAgJiZcbiAgICBhcmVhcy5sZW5ndGggIT09IDBcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwID0gKFxuICBsYXllcnNUb0ZpbmQ6IHN0cmluZ1tdLFxuICBjdXJyZW50TGF5ZXIsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBsYXllcnNUb0ZpbmQuaW5jbHVkZXMoY3VycmVudExheWVyLmthbmRvX29iamVjdCkgJiZcbiAgICBjdXJyZW50TGF5ZXIua2FuZG9fcG9pbnRfdHlwZSAhPT0gJ01hbmhvbGUnXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRlckljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25TaXplO1xuICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gIGxheWVyLnNldEljb24oaWNvbik7XG4gIGxheWVyLnNldE9wYWNpdHkoMSk7XG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlwbGVMYXllcmVkSWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgbGV0IGlzQUZld0xheWVySWNvbiA9IGxheWVyLmthbmRvX2Zld19sYXllcl9pY29uO1xuICBsZXQgbWluaUljb24gPSB7XG4gICAgcHJlc2VudDogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5IHx8IGxheWVyLmthbmRvX3RoaXJkLFxuICAgIHNlY29uZGFyeTogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5LFxuICAgIHRoaXJkOiBsYXllci5rYW5kb190aGlyZCxcbiAgfTtcblxuICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAwKSB7XG4gICAgaWYgKGlzQUZld0xheWVySWNvbikge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gYnViYmxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGJ1YmJsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAxKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBtaWRkbGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gbWlkZGxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfVxuXG4gIGxheWVyLnNldEljb24oaWNvbik7XG59O1xuXG5jb25zdCBvbmVMYXllckljb25PcHRpb25zID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMy4zLCB6b29tTGV2ZWwgKiAzLjNdLFxuICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjcsIHpvb21MZXZlbCAqIDMuN10sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRJY29uID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWJibGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdLFxuICAgICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10sXG4gICAgICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiAyXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDMuOTgsIHpvb21MZXZlbCAqIDQuM10sXG4gICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMiwgem9vbUxldmVsICogNF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG1pZGRsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAzLjVdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMS41XSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjI5NSwgem9vbUxldmVsICogMy4zNV0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRvcEljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDAuOSwgem9vbUxldmVsICogMS44XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjUsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuNiwgem9vbUxldmVsICogMi41XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjIsIHpvb21MZXZlbCAqIDIuMV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjksIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogMy44XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaWNvblpvb21Db250cm9sID0gKG1hcCkgPT4ge1xuICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gIGxldCB6b29tTGV2ZWwgPSBtYXAuX3pvb207XG5cbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ0ljb25OdW1iZXInXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIGV2ZW50c0NvdW50ZXJJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnUG9pbnQnLCAnSWNvbiddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnU2FtcGxpbmcnLCAnT2JzZXJ2YXRpb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSlcbiAgICApIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZU1hcCA9IChcbiAgbWFwWm9vbUxldmVsLFxuICBtYXBCb3hTdHlsZSxcbiAgbWFwUmVmLFxuICBkaXNwYXRjaCxcbiAgaXNWYWxpZEFyZWEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBzZXRNYXBab29tTGV2ZWwsXG4pID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtYXBSZWYuY3VycmVudCA9IEwubWFwKCdtYXAnLCB7XG4gICAgY2VudGVyOiBbMCwgMF0sXG4gICAgem9vbVNuYXA6IDEsXG4gICAgem9vbTogbWFwWm9vbUxldmVsLFxuICAgIHByZWZlckNhbnZhczogdHJ1ZSxcbiAgICBsYXllcnM6IFtcbiAgICAgIEwudGlsZUxheWVyKFxuICAgICAgICBgaHR0cHM6Ly9hcGkubWFwYm94LmNvbS9zdHlsZXMvdjEvbmFkYXYta2FuZG8vJHttYXBCb3hTdHlsZX0vdGlsZXMvMjU2L3t6fS97eH0ve3l9QDJ4P2FjY2Vzc190b2tlbj1way5leUoxSWpvaWJtRmtZWFl0YTJGdVpHOGlMQ0poSWpvaVkycHZlSHByZEdSeE1IbG1kRE40YkRnMGR6SnhPWGM0ZFNKOS5KLTJvaHE3ajR5S05ibTROXy1QNnF3YCxcbiAgICAgICAge1xuICAgICAgICAgIGF0dHJpYnV0aW9uOlxuICAgICAgICAgICAgJ01hcCBkYXRhICZjb3B5OyA8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvXCI+T3BlblN0cmVldE1hcDwvYT4gY29udHJpYnV0b3JzLCA8YSBocmVmPVwiaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzIuMC9cIj5DQy1CWS1TQTwvYT4sIEltYWdlcnkgwqkgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vXCI+TWFwYm94PC9hPicsXG4gICAgICAgICAgbWF4Wm9vbTogMTgsXG4gICAgICAgICAgaWQ6ICdtYXBib3gvc3RyZWV0cy12MTEnLFxuICAgICAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICAgICAgem9vbU9mZnNldDogLTEsXG4gICAgICAgICAgdXBkYXRlV2hlblpvb21pbmc6IGZhbHNlLFxuICAgICAgICAgIHVwZGF0ZVdoZW5JZGxlOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICksXG4gICAgXSxcbiAgfSk7XG5cbiAgbWFwUmVmLmN1cnJlbnQud2hlblJlYWR5KCgpID0+IHtcbiAgICBsZXQgbWFwID0gbWFwUmVmLmN1cnJlbnQ7XG4gICAgbWFwLm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKCkge1xuICAgICAgaWNvblpvb21Db250cm9sKG1hcCk7XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyJywgZXJyKTtcbiAgICAgIH1cblxuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAobWFwUmVmLmN1cnJlbnQpKTtcbiAgICAgIGRpc3BhdGNoKHNpZGVOYXZFeHBhbmRlZCh0cnVlKSk7XG4gICAgfSwgMCk7XG4gICAgaWYgKG1hcFJlZi5jdXJyZW50ICYmIGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgICAgbWFwUmVmLmN1cnJlbnQuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5KTtcbiAgICB9XG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50Lm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCB6b29tID0gbWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpO1xuICAgIHNldE1hcFpvb21MZXZlbCh6b29tKTtcbiAgfSk7XG59O1xuIl19
|
|
290
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJuYW1lcyI6WyJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwibWFwIiwidW5kZWZpbmVkIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImVkZ2VzIiwiYXJlYXMiLCJnbG9iYWwiLCJmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwIiwibGF5ZXJzVG9GaW5kIiwiY3VycmVudExheWVyIiwiaW5jbHVkZXMiLCJrYW5kb19wb2ludF90eXBlIiwiZXZlbnRzQ291bnRlckljb25zIiwibGF5ZXIiLCJ6b29tTGV2ZWwiLCJpY29uIiwib3B0aW9ucyIsImljb25TaXplIiwiZXZlbnRzQ291bnRJY29uIiwiaWNvbkFuY2hvciIsInNldEljb24iLCJzZXRPcGFjaXR5IiwibXVsdGlwbGVMYXllcmVkSWNvbnMiLCJpc0FGZXdMYXllckljb24iLCJrYW5kb19mZXdfbGF5ZXJfaWNvbiIsIm1pbmlJY29uIiwicHJlc2VudCIsImthbmRvX3NlY29uZGFyeSIsImthbmRvX3RoaXJkIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJrYW5kb19pbmRleF9vYmplY3QiLCJidWJibGVJY29uT3B0aW9ucyIsIm9uZUxheWVySWNvbk9wdGlvbnMiLCJtaWRkbGVJY29uT3B0aW9ucyIsInRvcEljb25PcHRpb25zIiwiaWNvblpvb21Db250cm9sIiwibGF5ZXJzIiwiX3pvb20iLCJtYXBTdHlsZSIsIm1hcEJveFN0eWxlIiwidGlsZUxheWVyIiwiYXR0cmlidXRpb24iLCJtYXhab29tIiwiaWQiLCJ0aWxlU2l6ZSIsInpvb21PZmZzZXQiLCJ1cGRhdGVXaGVuWm9vbWluZyIsInVwZGF0ZVdoZW5JZGxlIiwiYmFzZU1hcHMiLCJtYXBCb3hTYXRlbGxpdGVTdHlsZSIsImRlZmF1bHRNYXAiLCJpMThuIiwidCIsInNhdGVsbGl0ZSIsImluaXRpYWxpemVNYXAiLCJtYXBab29tTGV2ZWwiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsInByZWZlckNhbnZhcyIsIndoZW5SZWFkeSIsImNvbnRyb2wiLCJwb3NpdGlvbiIsImFkZFRvIiwib24iLCJzZXRUaW1lb3V0IiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiZSIsImdldFpvb20iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRU8sSUFBTUEsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixDQUFDQyxNQUFELEVBQVNDLFdBQVQsRUFBc0JDLGNBQXRCLEVBQXlDO0FBQ3JFLE1BQUlDLFdBQWdCLEdBQUdILE1BQU0sQ0FBQ0ksT0FBOUI7O0FBQ0EsTUFBSUgsV0FBVyxDQUFDQyxjQUFELENBQWYsRUFBaUM7QUFDL0JDLElBQUFBLFdBQVcsQ0FBQ0UsU0FBWixDQUFzQkgsY0FBdEIsRUFBc0M7QUFBRUksTUFBQUEsT0FBTyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUo7QUFBWCxLQUF0QztBQUNELEdBRkQsTUFFTztBQUNMLFFBQU1DLEtBQVksR0FBRyxFQUFyQjs7QUFFQSxTQUFLLElBQU1DLFFBQVgsSUFBdUJMLFdBQVcsQ0FBQ00sT0FBbkMsRUFBNEM7QUFDMUMsVUFBSU4sV0FBVyxDQUFDTSxPQUFaLENBQW9CRCxRQUFwQixFQUE4QkUsWUFBOUIsS0FBK0MsTUFBbkQsRUFBMkQ7QUFDekRILFFBQUFBLEtBQUssQ0FBQ0ksSUFBTixDQUFXUixXQUFX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bnRlbnQiOlsiaW1wb3J0IEwsIHsgUG9pbnRUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgc2lkZU5hdkV4cGFuZGVkLCBzdG9yZU1hcCB9IGZyb20gJy4uLy4uL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5cbmV4cG9ydCBjb25zdCBhcmVhRm9jdXNMb2dpYyA9IChtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSkgPT4ge1xuICBsZXQgbWFwSW5zdGFuY2U6IGFueSA9IG1hcFJlZi5jdXJyZW50O1xuICBpZiAoaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5LCB7IHBhZGRpbmc6IFswLCAwXSB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBncm91cDogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwSW5zdGFuY2UuX2xheWVycykge1xuICAgICAgaWYgKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnKSB7XG4gICAgICAgIGdyb3VwLnB1c2gobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCkpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICBwYWRkaW5nOiBbMTAwLCAxMDBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG1hcEluc3RhbmNlLmludmFsaWRhdGVTaXplKHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRBcmVhID0gKGFyZWEpID0+IHtcbiAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkTG9hZE1hcE9iamVjdHMgPSAoZ2xvYmFsX2RhdGEsIG1hcFJlZikgPT4ge1xuICByZXR1cm4gZ2xvYmFsX2RhdGEubWFwICE9PSB1bmRlZmluZWQgJiYgbWFwUmVmLmN1cnJlbnQgIT09IG51bGw7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyA9IChlZGdlcywgYXJlYXMsIGdsb2JhbCwgbWFwUmVmKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcy5sZW5ndGggIT09IDAgJiZcbiAgICBhcmVhcy5sZW5ndGggIT09IDBcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwID0gKFxuICBsYXllcnNUb0ZpbmQ6IHN0cmluZ1tdLFxuICBjdXJyZW50TGF5ZXIsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBsYXllcnNUb0ZpbmQuaW5jbHVkZXMoY3VycmVudExheWVyLmthbmRvX29iamVjdCkgJiZcbiAgICBjdXJyZW50TGF5ZXIua2FuZG9fcG9pbnRfdHlwZSAhPT0gJ01hbmhvbGUnXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRlckljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25TaXplO1xuICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gIGxheWVyLnNldEljb24oaWNvbik7XG4gIGxheWVyLnNldE9wYWNpdHkoMSk7XG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlwbGVMYXllcmVkSWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgbGV0IGlzQUZld0xheWVySWNvbiA9IGxheWVyLmthbmRvX2Zld19sYXllcl9pY29uO1xuICBsZXQgbWluaUljb24gPSB7XG4gICAgcHJlc2VudDogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5IHx8IGxheWVyLmthbmRvX3RoaXJkLFxuICAgIHNlY29uZGFyeTogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5LFxuICAgIHRoaXJkOiBsYXllci5rYW5kb190aGlyZCxcbiAgfTtcblxuICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAwKSB7XG4gICAgaWYgKGlzQUZld0xheWVySWNvbikge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gYnViYmxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGJ1YmJsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAxKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBtaWRkbGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gbWlkZGxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfVxuXG4gIGxheWVyLnNldEljb24oaWNvbik7XG59O1xuXG5jb25zdCBvbmVMYXllckljb25PcHRpb25zID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMy4zLCB6b29tTGV2ZWwgKiAzLjNdLFxuICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjcsIHpvb21MZXZlbCAqIDMuN10sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRJY29uID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWJibGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdLFxuICAgICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10sXG4gICAgICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiAyXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDMuOTgsIHpvb21MZXZlbCAqIDQuM10sXG4gICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMiwgem9vbUxldmVsICogNF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG1pZGRsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAzLjVdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMS41XSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjI5NSwgem9vbUxldmVsICogMy4zNV0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRvcEljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDAuOSwgem9vbUxldmVsICogMS44XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjUsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuNiwgem9vbUxldmVsICogMi41XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjIsIHpvb21MZXZlbCAqIDIuMV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjksIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogMy44XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaWNvblpvb21Db250cm9sID0gKG1hcCkgPT4ge1xuICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gIGxldCB6b29tTGV2ZWwgPSBtYXAuX3pvb207XG5cbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ0ljb25OdW1iZXInXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIGV2ZW50c0NvdW50ZXJJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnUG9pbnQnLCAnSWNvbiddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnU2FtcGxpbmcnLCAnT2JzZXJ2YXRpb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSlcbiAgICApIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuICB9XG59O1xuXG5jb25zdCBtYXBTdHlsZSA9IChtYXBCb3hTdHlsZSkgPT4ge1xuICByZXR1cm4gTC50aWxlTGF5ZXIoXG4gICAgYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL25hZGF2LWthbmRvLyR7bWFwQm94U3R5bGV9L3RpbGVzLzI1Ni97en0ve3h9L3t5fUAyeD9hY2Nlc3NfdG9rZW49cGsuZXlKMUlqb2libUZrWVhZdGEyRnVaRzhpTENKaElqb2lZMnB2ZUhwcmRHUnhNSGxtZERONGJEZzBkekp4T1hjNGRTSjkuSi0yb2hxN2o0eUtOYm00Tl8tUDZxd2AsXG4gICAge1xuICAgICAgYXR0cmlidXRpb246XG4gICAgICAgICdNYXAgZGF0YSAmY29weTsgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL1wiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycywgPGEgaHJlZj1cImh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8yLjAvXCI+Q0MtQlktU0E8L2E+LCBJbWFnZXJ5IMKpIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL1wiPk1hcGJveDwvYT4nLFxuICAgICAgbWF4Wm9vbTogMTgsXG4gICAgICBpZDogJ21hcGJveC9zdHJlZXRzLXYxMScsXG4gICAgICB0aWxlU2l6ZTogNTEyLFxuICAgICAgem9vbU9mZnNldDogLTEsXG4gICAgICB1cGRhdGVXaGVuWm9vbWluZzogZmFsc2UsXG4gICAgICB1cGRhdGVXaGVuSWRsZTogZmFsc2UsXG4gICAgfSxcbiAgKTtcbn07XG5jb25zdCBiYXNlTWFwcyA9IChtYXBCb3hTdHlsZSwgbWFwQm94U2F0ZWxsaXRlU3R5bGUpID0+IHtcbiAgbGV0IGRlZmF1bHRNYXAgPSBpMThuLnQoJ21hcC5sYXllcnMuZGVmYXVsdCcpO1xuICBsZXQgc2F0ZWxsaXRlID0gaTE4bi50KCdtYXAubGF5ZXJzLnNhdGVsbGl0ZScpO1xuICByZXR1cm4ge1xuICAgIFtkZWZhdWx0TWFwXTogbWFwU3R5bGUobWFwQm94U3R5bGUpLFxuICAgIFtzYXRlbGxpdGVdOiBtYXBTdHlsZShtYXBCb3hTYXRlbGxpdGVTdHlsZSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZU1hcCA9IChcbiAgbWFwWm9vbUxldmVsLFxuICBtYXBCb3hTdHlsZSxcbiAgbWFwQm94U2F0ZWxsaXRlU3R5bGUsXG4gIG1hcFJlZixcbiAgZGlzcGF0Y2gsXG4gIGlzVmFsaWRBcmVhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgc2V0TWFwWm9vbUxldmVsLFxuKSA9PiB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgbWFwUmVmLmN1cnJlbnQgPSBMLm1hcCgnbWFwJywge1xuICAgIGNlbnRlcjogWzAsIDBdLFxuICAgIHpvb21TbmFwOiAxLFxuICAgIHpvb206IG1hcFpvb21MZXZlbCxcbiAgICBwcmVmZXJDYW52YXM6IHRydWUsXG4gICAgbGF5ZXJzOiBbbWFwU3R5bGUobWFwQm94U3R5bGUpLCBtYXBTdHlsZShtYXBCb3hTYXRlbGxpdGVTdHlsZSldLFxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC53aGVuUmVhZHkoKCkgPT4ge1xuICAgIGxldCBtYXAgPSBtYXBSZWYuY3VycmVudDtcbiAgICBMLmNvbnRyb2xcbiAgICAgIC5sYXllcnMoXG4gICAgICAgIGJhc2VNYXBzKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSksXG4gICAgICAgIHt9LFxuICAgICAgICB7IHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnIH0sXG4gICAgICApXG4gICAgICAuYWRkVG8obWFwKTtcbiAgICBtYXBTdHlsZShtYXBCb3hTdHlsZSkuYWRkVG8obWFwKTtcbiAgICBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpY29uWm9vbUNvbnRyb2wobWFwKTtcbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBtYXBSZWYuY3VycmVudC5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdlcnInLCBlcnIpO1xuICAgICAgfVxuXG4gICAgICBkaXNwYXRjaChzdG9yZU1hcChtYXBSZWYuY3VycmVudCkpO1xuICAgICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKHRydWUpKTtcbiAgICB9LCAwKTtcbiAgICBpZiAobWFwUmVmLmN1cnJlbnQgJiYgaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgICBtYXBSZWYuY3VycmVudC5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnkpO1xuICAgIH1cbiAgfSk7XG5cbiAgbWFwUmVmLmN1cnJlbnQub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoZSkge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHpvb20gPSBtYXBSZWYuY3VycmVudC5nZXRab29tKCk7XG4gICAgc2V0TWFwWm9vbUxldmVsKHpvb20pO1xuICB9KTtcbn07XG4iXX0=
|
package/lib/i18n/en.json
CHANGED
|
@@ -2893,6 +2893,12 @@
|
|
|
2893
2893
|
"back_to_main_areas": "Back to Main Areas",
|
|
2894
2894
|
"back": "Go back"
|
|
2895
2895
|
},
|
|
2896
|
+
"map": {
|
|
2897
|
+
"layers": {
|
|
2898
|
+
"default": "Map",
|
|
2899
|
+
"satellite": "Satellite"
|
|
2900
|
+
}
|
|
2901
|
+
},
|
|
2896
2902
|
"events_overview": {
|
|
2897
2903
|
"more_than": "More than",
|
|
2898
2904
|
"floating_graph": {
|
|
@@ -3608,8 +3614,8 @@
|
|
|
3608
3614
|
"edit_all": "All",
|
|
3609
3615
|
"edit_include": "Include",
|
|
3610
3616
|
"edit_exclude": "Exclude",
|
|
3611
|
-
"edit_sampler_active": "Send notification only when sampler
|
|
3612
|
-
"sampler_activated": "when
|
|
3617
|
+
"edit_sampler_active": "Send a notification only when the sampler is activated",
|
|
3618
|
+
"sampler_activated": "only when the sampler is activated.",
|
|
3613
3619
|
"PollutionAlertConfig": "Pollution Event",
|
|
3614
3620
|
"DataloggerThresholdAlertConfig": "Thresholds Exceeded",
|
|
3615
3621
|
"DataloggerOverflowAlertConfig": "Water-Level Overflow",
|
|
@@ -3624,7 +3630,7 @@
|
|
|
3624
3630
|
"add_notification": "Add Notification",
|
|
3625
3631
|
"edit_notification": "Edit Notification",
|
|
3626
3632
|
"notifications_text": {
|
|
3627
|
-
"title": "You will get
|
|
3633
|
+
"title": "You will get notifications via",
|
|
3628
3634
|
"about_pollution_events": "about pollution events with severity",
|
|
3629
3635
|
"or_higher": "or higher",
|
|
3630
3636
|
"in": "in",
|
package/lib/i18n/en_uk.json
CHANGED
|
@@ -3596,8 +3596,8 @@
|
|
|
3596
3596
|
"edit_all": "All",
|
|
3597
3597
|
"edit_include": "Include",
|
|
3598
3598
|
"edit_exclude": "Exclude",
|
|
3599
|
-
"edit_sampler_active": "Send notification only when sampler
|
|
3600
|
-
"sampler_activated": "when
|
|
3599
|
+
"edit_sampler_active": "Send a notification only when the sampler is activated",
|
|
3600
|
+
"sampler_activated": "only when the sampler is activated.",
|
|
3601
3601
|
"PollutionAlertConfig": "Contamination Event",
|
|
3602
3602
|
"DataloggerThresholdAlertConfig": "Thresholds Exceeded",
|
|
3603
3603
|
"DataloggerOverflowAlertConfig": "Water-Level Overflow",
|
|
@@ -3612,7 +3612,7 @@
|
|
|
3612
3612
|
"add_notification": "Add Notification",
|
|
3613
3613
|
"edit_notification": "Edit Notification",
|
|
3614
3614
|
"notifications_text": {
|
|
3615
|
-
"title": "You will get
|
|
3615
|
+
"title": "You will get notifications via",
|
|
3616
3616
|
"about_pollution_events": "about contamination events with severity",
|
|
3617
3617
|
"or_higher": "or higher",
|
|
3618
3618
|
"in": "in",
|
package/lib/i18n/he.json
CHANGED
|
@@ -2856,6 +2856,12 @@
|
|
|
2856
2856
|
"no_samplings_taken": "לא נלקחו דגימות",
|
|
2857
2857
|
"back_to_main_areas": "בחזרה לאיזורים עיקריים"
|
|
2858
2858
|
},
|
|
2859
|
+
"map": {
|
|
2860
|
+
"layers": {
|
|
2861
|
+
"default": "מפה",
|
|
2862
|
+
"satellite": "לווין"
|
|
2863
|
+
}
|
|
2864
|
+
},
|
|
2859
2865
|
"events_overview": {
|
|
2860
2866
|
"more_than": "יותר מ",
|
|
2861
2867
|
"unsaved": "לא נשמר",
|
package/lib/macros/getVersion.js
CHANGED
package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js
CHANGED
|
@@ -94,7 +94,9 @@ var NotificationsFormContent = function NotificationsFormContent(_ref) {
|
|
|
94
94
|
} : {
|
|
95
95
|
value: 'PollutionAlertConfig',
|
|
96
96
|
label: _i18n.default.t("notifications_page.PollutionAlertConfig")
|
|
97
|
-
}
|
|
97
|
+
},
|
|
98
|
+
isDisabled: notification.id ? true : false,
|
|
99
|
+
isSearchable: false
|
|
98
100
|
})), notification.type === 'PollutionAlertConfig' && allowedNotifications.includes(notification.type) && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
|
|
99
101
|
controlId: "notification-severity"
|
|
100
102
|
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Label, null, _i18n.default.t('notifications_page.edit_severity')), /*#__PURE__*/_react.default.createElement(NotificationsCheckboxesStyle, {
|
|
@@ -346,4 +348,4 @@ var NotificationsCheckboxesStyle = _styledComponents.default.div.withConfig({
|
|
|
346
348
|
var gap = _ref14.gap;
|
|
347
349
|
return gap + 'px';
|
|
348
350
|
});
|
|
349
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc0Zvcm0vTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50LnRzeCJdLCJuYW1lcyI6WyJOb3RpZmljYXRpb25zRm9ybUNvbnRlbnQiLCJub3RpZmljYXRpb24iLCJwb2ludHMiLCJ0YWdzIiwic2Vuc29ycyIsIndhdGVyQXV0aG9yaXRpZXMiLCJhbGxvd2VkTm90aWZpY2F0aW9ucyIsInNldE5ld05vdGlmaWNhdGlvbiIsImhhc1Bob25lIiwiaGFzVGVsZWdyYW0iLCJvcGVuIiwiaW5zdGFuY2UiLCJtb2RhbERldGFpbHMiLCJzZXRNb2RhbERldGFpbHMiLCJkZWZhdWx0V2F0ZXJBdXRob3JpdHlJZlNpbmdsZSIsImxlbmd0aCIsInZhbHVlIiwibGFiZWwiLCJ1bmRlZmluZWQiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsIndhdGVyX2F1dGhvcml0eSIsImlkIiwiaTE4biIsInQiLCJvcHRpb24iLCJtYXAiLCJ0eXBlIiwiaW5jbHVkZXMiLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwiZXZlbnQiLCJzZXZlcml0eSIsIndhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMiLCJ3YXRlcl9hdXRob3JpdGllcyIsIndhIiwidGV4dCIsInNvdXJjZXNSYWRpb0J1dHRvbnMiLCJwIiwicG9pbnQiLCJ0YWciLCJzZW5zb3IiLCJzZW5kVmlhQ2hlY2tCb3hlcyIsImFjdGlvbnMiLCJ0ZWxlZ3JhbSIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjYwIiwic21zIiwiZSIsInB1bXBfb25seSIsIkFsZXJ0Q29udGVudCIsInN0eWxlZCIsImRpdiIsIk1vZGFsQWN0aW9uc0J1dHRvbiIsImNvbG9yIiwiTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUiLCJuMzAiLCJmb250U2l6ZSIsIm1kIiwiZm9udFdlaWdodCIsInc2MDAiLCJuODAiLCJwcmltYXJ5IiwicDEiLCJkYXRhIiwiTzEwMCIsIlcxMDAiLCJOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIiwiZ2FwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFRQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFVQTs7QUFFQTs7Ozs7O0FBY0EsSUFBTUEsd0JBQWdFLEdBQUcsU0FBbkVBLHdCQUFtRSxPQVVuRTtBQUFBLE1BVEpDLFlBU0ksUUFUSkEsWUFTSTtBQUFBLE1BUkpDLE1BUUksUUFSSkEsTUFRSTtBQUFBLE1BUEpDLElBT0ksUUFQSkEsSUFPSTtBQUFBLE1BTkpDLE9BTUksUUFOSkEsT0FNSTtBQUFBLE1BTEpDLGdCQUtJLFFBTEpBLGdCQUtJO0FBQUEsTUFKSkMsb0JBSUksUUFKSkEsb0JBSUk7QUFBQSxNQUhKQyxrQkFHSSxRQUhKQSxrQkFHSTtBQUFBLE1BRkpDLFFBRUksUUFGSkEsUUFFSTtBQUFBLE1BREpDLFdBQ0ksUUFESkEsV0FDSTs7QUFDSixrQkFBd0MscUJBQXVCO0FBQzdEQyxJQUFBQSxJQUFJLEVBQUUsS0FEdUQ7QUFFN0RDLElBQUFBLFFBQVEsRUFBRTtBQUZtRCxHQUF2QixDQUF4QztBQUFBO0FBQUEsTUFBT0MsWUFBUDtBQUFBLE1BQXFCQyxlQUFyQjs7QUFLQSxNQUFNQyw2QkFBNkIsR0FBRyxTQUFoQ0EsNkJBQWdDLEdBQU07QUFDMUMsUUFBSVQsZ0JBQWdCLENBQUNVLE1BQWpCLEtBQTRCLENBQWhDLEVBQW1DO0FBQ2pDLHNEQUNFO0FBQUVDLFFBQUFBLEtBQUssRUFBRSxzQkFBVDtBQUFpQ0MsUUFBQUEsS0FBSyxFQUFFO0FBQXhDLE9BREYsRUFFRWhCLFlBRkYsRUFHRU0sa0JBSEY7QUFLQSxzREFDRVcsU0FERixFQUVFO0FBQ0VDLFFBQUFBLGNBQWMsRUFBRSxTQURsQjtBQUVFQyxRQUFBQSxHQUFHLEVBQUUsQ0FDSDtBQUNFSixVQUFBQSxLQUFLLEVBQUVYLGdCQUFnQixDQUFDLENBQUQsQ0FB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L0J5QixFQWtDZDtBQUFBLE1BQUdwQixLQUFILFVBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JvQixJQUFsQixDQUF1QkMsSUFBdEM7QUFBQSxDQWxDYyxFQW1DekI7QUFBQSxNQUFHdEIsS0FBSCxVQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCb0IsSUFBbEIsQ0FBdUJDLElBQXRDO0FBQUEsQ0FuQ3lCLEVBc0NkO0FBQUEsTUFBR3RCLEtBQUgsVUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQm9CLElBQWxCLENBQXVCRSxJQUF0QztBQUFBLENBdENjLEVBdUN6QjtBQUFBLE1BQUd2QixLQUFILFVBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JvQixJQUFsQixDQUF1QkUsSUFBdEM7QUFBQSxDQXZDeUIsQ0FBdEM7O0FBbURBLElBQU1DLDRCQUE0QixHQUFHaEIsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsaURBRXpCO0FBQUEsTUFBR2dCLEdBQUgsVUFBR0EsR0FBSDtBQUFBLFNBQWFBLEdBQUcsR0FBRyxJQUFuQjtBQUFBLENBRnlCLENBQWxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7XG4gIE5vdGlmaWNhdGlvbixcbiAgc2V2ZXJpdGllc1JhZGlvQnV0dG9ucyxcbiAgd2F0ZXJBdXRob3JpdGllc1JhZGlvQnV0dG9ucyxcbiAgc291cmNlc1JhZGlvQnV0dG9ucyxcbiAgc2VuZFZpYUNoZWNrQm94ZXMsXG4gIEFkdmFuY2VkU2VsZWN0aW9uLFxufSBmcm9tICdzcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9ub3RpZmljYXRpb25VdGlscyc7XG5pbXBvcnQgQ2hlY2tib3ggZnJvbSAnc3JjL3VpLWtpdC9DaGVja2JveC9DaGVja2JveCc7XG5pbXBvcnQgUmFkaW9CdXR0b25Hcm91cCBmcm9tICdzcmMvdWkta2l0L1JhZGlvQnV0dG9ucy9SYWRpb0J1dHRvbkdyb3VwJztcbmltcG9ydCBTZWxlY3QgZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB7XG4gIGhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSxcbiAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZSxcbiAgaGFuZGxlU2VuZFZpYSxcbiAgaGFuZGxlU2Vuc29ycyxcbiAgaGFuZGxlU2V2ZXJpdGllcyxcbiAgaGFuZGxlU291cmNlcyxcbiAgaGFuZGxlVGFncyxcbiAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyxcbn0gZnJvbSAnLi4vTm90aWZpY2F0aW9uc1V0aWxzJztcbmltcG9ydCBBbGVydCBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvQWxlcnQnO1xuaW1wb3J0IHsgQWxlcnREZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvc2FtcGxpbmdQcm9wZXJ0aWVzVXRpbHMnO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi8uLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuXG5pbnRlcmZhY2Ugbm90aWZpY2F0aW9uRm9ybUNvbnRlbnRQcm9wcyB7XG4gIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uO1xuICBwb2ludHM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHNlbnNvcnM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHdhdGVyQXV0aG9yaXRpZXM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIGFsbG93ZWROb3RpZmljYXRpb25zOiBzdHJpbmdbXTtcbiAgc2V0TmV3Tm90aWZpY2F0aW9uOiBhbnk7XG4gIGhhc1Bob25lOiBib29sZWFuO1xuICBoYXNUZWxlZ3JhbTogYm9vbGVhbjtcbn1cblxuY29uc3QgTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50OiBSZWFjdC5GQzxub3RpZmljYXRpb25Gb3JtQ29udGVudFByb3BzPiA9ICh7XG4gIG5vdGlmaWNhdGlvbixcbiAgcG9pbnRzLFxuICB0YWdzLFxuICBzZW5zb3JzLFxuICB3YXRlckF1dGhvcml0aWVzLFxuICBhbGxvd2VkTm90aWZpY2F0aW9ucyxcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICBoYXNQaG9uZSxcbiAgaGFzVGVsZWdyYW0sXG59KSA9PiB7XG4gIGNvbnN0IFttb2RhbERldGFpbHMsIHNldE1vZGFsRGV0YWlsc10gPSB1c2VTdGF0ZTxBbGVydERldGFpbHM+KHtcbiAgICBvcGVuOiBmYWxzZSxcbiAgICBpbnN0YW5jZTogJycsXG4gIH0pO1xuXG4gIGNvbnN0IGRlZmF1bHRXYXRlckF1dGhvcml0eUlmU2luZ2xlID0gKCkgPT4ge1xuICAgIGlmICh3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShcbiAgICAgICAgeyB2YWx1ZTogJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJywgbGFiZWw6ICdQb2xsdXRpb24gRXZlbnQnIH0sXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgKTtcbiAgICAgIGhhbmRsZVdhdGVyQXV0aG9yaXRpZXMoXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAge1xuICAgICAgICAgIHNlbGVjdGlvbl90eXBlOiAnaW5jbHVkZScsXG4gICAgICAgICAgc2V0OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHZhbHVlOiB3YXRlckF1dGhvcml0aWVzWzBdLndhdGVyX2F1dGhvcml0eS5pZCxcbiAgICAgICAgICAgICAgbGFiZWw6IHdhdGVyQXV0aG9yaXRpZXNbMF0ud2F0ZXJfYXV0aG9yaXR5LmxhYmVsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGVmYXVsdFdhdGVyQXV0aG9yaXR5SWZTaW5nbGUoKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPE5vdGlmaWNhdGlvblNpZGViYXJGb3JtQXJlYVN0eWxlPlxuICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXR5cGVcIj5cbiAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdHlwZScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPFNlbGVjdFxuICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uKSA9PlxuICAgICAgICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShvcHRpb24sIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgICBuYW1lPXsndHlwZSd9XG4gICAgICAgICAgb3B0aW9ucz17YWxsb3dlZE5vdGlmaWNhdGlvbnMhLm1hcCgodHlwZTogYW55KSA9PiAoe1xuICAgICAgICAgICAgdmFsdWU6IHR5cGUsXG4gICAgICAgICAgICBsYWJlbDogaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuJHt0eXBlfWApLFxuICAgICAgICAgIH0pKX1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICcnXG4gICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IG5vdGlmaWNhdGlvbi50eXBlLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLiR7bm90aWZpY2F0aW9uLnR5cGV9YCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnUG9sbHV0aW9uQWxlcnRDb25maWcnLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLlBvbGx1dGlvbkFsZXJ0Q29uZmlnYCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgIHtub3RpZmljYXRpb24udHlwZSA9PT0gJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi1zZXZlcml0eVwiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NldmVyaXR5Jyl9XG4gICAgICAgICAgICA8L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIxMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NldmVyaXRpZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTZXZlcml0aWVzKGV2ZW50LCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnNldmVyaXR5fVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi5zZXZlcml0eX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICAgKX1cbiAgICAgIHt3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24td2F0ZXItYXV0aG9yaXRpZXNcIj5cbiAgICAgICAgICA8Rm9ybS5MYWJlbD5cbiAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS53YXRlcl9hdXRob3JpdGllcycpfVxuICAgICAgICAgIDwvRm9ybS5MYWJlbD5cbiAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICBvcHRpb25zPXt3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICBoYW5kbGVXYXRlckF1dGhvcml0aWVzKFxuICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGV9XG4gICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi53YXRlcl9hdXRob3JpdGllcy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIHtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhvcHRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyhcbiAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb3B0aW9ucz17d2F0ZXJBdXRob3JpdGllcz8ubWFwKCh3YTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IHdhLndhdGVyX2F1dGhvcml0eS5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiB3YS53YXRlcl9hdXRob3JpdHkubGFiZWwsXG4gICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17XG4gICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgID8gbm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzLnNldC5tYXAoKHdhOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogd2EuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogd2EudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICl9XG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgIT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXNvdXJjZXNcIj5cbiAgICAgICAgICAgIDxGb3JtLkxhYmVsPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5zb3VyY2VzJyl9PC9Gb3JtLkxhYmVsPlxuICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NvdXJjZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKGV2ZW50LCAnJywgbm90aWZpY2F0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24ucG9pbnRzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KG9wdGlvbjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKFxuICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25fdHlwZTogbm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXQ6IG9wdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXROZXdOb3RpZmljYXRpb24sXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaXNTZWFyY2hhYmxlPXt0cnVlfVxuICAgICAgICAgICAgICAgIGlzTXVsdGk9e3RydWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3BvaW50cz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogcC5wb2ludC5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnBvaW50LmxhYmVsLFxuICAgICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnBvaW50cy5zZXQgIT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24ucG9pbnRzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi10YWdzXCI+XG4gICAgICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UudGFncycpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgICAgIDxOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIGdhcD1cIjBcIj5cbiAgICAgICAgICAgICAgPFJhZGlvQnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzb3VyY2VzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhldmVudCwgJycsIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnRhZ3Muc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhcbiAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi50YWdzICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldDogb3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBpc1NlYXJjaGFibGU9e3RydWV9XG4gICAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGFncz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnRhZy5pZCxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGFnLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3Muc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24udGFncy5zZXQubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogcC50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJlxuICAgICAgICBub3RpZmljYXRpb24uc2Vuc29ycyAhPT0gdW5kZWZpbmVkICYmIChcbiAgICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2Vuc29yc1wiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNlbnNvcnMnKX08L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICAgIDxSYWRpb0J1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgb3B0aW9ucz17c291cmNlc1JhZGlvQnV0dG9uc31cbiAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoZXZlbnQsICcnLCBub3RpZmljYXRpb24sIHNldE5ld05vdGlmaWNhdGlvbilcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgICAge25vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlICE9PSAnYWxsJyAmJiAoXG4gICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICBuYW1lPXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoXG4gICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbl90eXBlOlxuICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNlbnNvcnMgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogW10sXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzZW5zb3JzPy5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnNlbnNvci5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnNlbnNvci5sYWJlbCxcbiAgICAgICAgICAgICAgICB9KSl9XG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldCAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2VuZFwiPlxuICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMTBcIj5cbiAgICAgICAgICB7c2VuZFZpYUNoZWNrQm94ZXMubWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAga2V5PXt2YWx1ZS5sYWJlbH1cbiAgICAgICAgICAgICAgICBvcHRpb249e3ZhbHVlfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlU2VuZFZpYShcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHMsXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnRlbGVncmFtICYmXG4gICAgICAgICAgICAhaGFzVGVsZWdyYW0gJiZcbiAgICAgICAgICAgIG1vZGFsRGV0YWlscy5vcGVuICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMuaW5zdGFuY2UgPT09ICd0ZWxlZ3JhbScgJiYgKFxuICAgICAgICAgICAgICA8QWxlcnRcbiAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHM9e3NldE1vZGFsRGV0YWlsc31cbiAgICAgICAgICAgICAgICBjaGlsZHJlbj17XG4gICAgICAgICAgICAgICAgICA8QWxlcnRDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYV9ub190ZWxlZ3JhbScpfVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxNb2RhbEFjdGlvbnNCdXR0b24gY29sb3I9e3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfT5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uub2snKX1cbiAgICAgICAgICAgICAgICAgICAgPC9Nb2RhbEFjdGlvbnNCdXR0b24+XG4gICAgICAgICAgICAgICAgICA8L0FsZXJ0Q29udGVudD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnNtcyAmJlxuICAgICAgICAgICAgIWhhc1Bob25lICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMub3BlbiAmJlxuICAgICAgICAgICAgbW9kYWxEZXRhaWxzLmluc3RhbmNlID09PSAnc21zJyAmJiAoXG4gICAgICAgICAgICAgIDxBbGVydFxuICAgICAgICAgICAgICAgIHNldE1vZGFsRGV0YWlscz17c2V0TW9kYWxEZXRhaWxzfVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuPXtcbiAgICAgICAgICAgICAgICAgIDxBbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NlbmRfdmlhX25vX3Bob25lJyl9PC9wPlxuICAgICAgICAgICAgICAgICAgICA8TW9kYWxBY3Rpb25zQnV0dG9uIGNvbG9yPXt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH0+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLm9rJyl9XG4gICAgICAgICAgICAgICAgICAgIDwvTW9kYWxBY3Rpb25zQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9BbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAge25vdGlmaWNhdGlvbi50eXBlID09PSAnUG9sbHV0aW9uQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXA+XG4gICAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgICBpbmxpbmVcbiAgICAgICAgICAgICAgbGFiZWw9e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc2FtcGxlcl9hY3RpdmUnKX1cbiAgICAgICAgICAgICAgbmFtZT1cInB1bXBfb25seVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIGlkPVwicHVtcF9vbmx5XCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUoZSwgc2V0TmV3Tm90aWZpY2F0aW9uKX1cbiAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLnB1bXBfb25seSA9PT0gJzEnfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgICl9XG4gICAgPC9Ob3RpZmljYXRpb25TaWRlYmFyRm9ybUFyZWFTdHlsZT5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vdGlmaWNhdGlvbnNGb3JtQ29udGVudDtcblxuY29uc3QgQWxlcnRDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgcCB7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweDtcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbmA7XG5cbmNvbnN0IE1vZGFsQWN0aW9uc0J1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYThhOGFhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7KHsgY29sb3IgfSkgPT4gY29sb3J9O1xuYDtcblxuY29uc3QgTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogNzJ2aDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAzcHggMXB4ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMzB9O1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUubWR9O1xuICAgIGZvbnQtd2VpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRXZWlnaHQudzYwMH07XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC5hbGwsXG4gIC5pbmNsdWRlLFxuICAuZXhjbHVkZSxcbiAgLnRlbGVncmFtLFxuICAuZW1haWwsXG4gIC5zbXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uODB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjgwfTtcbiAgfVxuICAuZXh0cmVtZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuICAuaGlnaCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLk8xMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuTzEwMH07XG4gIH1cbiAgLm1lZGl1bSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLlcxMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuVzEwMH07XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbmxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0ICFpbXBvcnRhbnQ7XG5cbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiA3cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgPSBzdHlsZWQuZGl2PHsgZ2FwOiBzdHJpbmcgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogJHsoeyBnYXAgfSkgPT4gZ2FwICsgJ3B4J307XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG4iXX0=
|
|
351
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc0Zvcm0vTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50LnRzeCJdLCJuYW1lcyI6WyJOb3RpZmljYXRpb25zRm9ybUNvbnRlbnQiLCJub3RpZmljYXRpb24iLCJwb2ludHMiLCJ0YWdzIiwic2Vuc29ycyIsIndhdGVyQXV0aG9yaXRpZXMiLCJhbGxvd2VkTm90aWZpY2F0aW9ucyIsInNldE5ld05vdGlmaWNhdGlvbiIsImhhc1Bob25lIiwiaGFzVGVsZWdyYW0iLCJvcGVuIiwiaW5zdGFuY2UiLCJtb2RhbERldGFpbHMiLCJzZXRNb2RhbERldGFpbHMiLCJkZWZhdWx0V2F0ZXJBdXRob3JpdHlJZlNpbmdsZSIsImxlbmd0aCIsInZhbHVlIiwibGFiZWwiLCJ1bmRlZmluZWQiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsIndhdGVyX2F1dGhvcml0eSIsImlkIiwiaTE4biIsInQiLCJvcHRpb24iLCJtYXAiLCJ0eXBlIiwiaW5jbHVkZXMiLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwiZXZlbnQiLCJzZXZlcml0eSIsIndhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMiLCJ3YXRlcl9hdXRob3JpdGllcyIsIndhIiwidGV4dCIsInNvdXJjZXNSYWRpb0J1dHRvbnMiLCJwIiwicG9pbnQiLCJ0YWciLCJzZW5zb3IiLCJzZW5kVmlhQ2hlY2tCb3hlcyIsImFjdGlvbnMiLCJ0ZWxlZ3JhbSIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjYwIiwic21zIiwiZSIsInB1bXBfb25seSIsIkFsZXJ0Q29udGVudCIsInN0eWxlZCIsImRpdiIsIk1vZGFsQWN0aW9uc0J1dHRvbiIsImNvbG9yIiwiTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUiLCJuMzAiLCJmb250U2l6ZSIsIm1kIiwiZm9udFdlaWdodCIsInc2MDAiLCJuODAiLCJwcmltYXJ5IiwicDEiLCJkYXRhIiwiTzEwMCIsIlcxMDAiLCJOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIiwiZ2FwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFRQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFVQTs7QUFFQTs7Ozs7O0FBY0EsSUFBTUEsd0JBQWdFLEdBQUcsU0FBbkVBLHdCQUFtRSxPQVVuRTtBQUFBLE1BVEpDLFlBU0ksUUFUSkEsWUFTSTtBQUFBLE1BUkpDLE1BUUksUUFSSkEsTUFRSTtBQUFBLE1BUEpDLElBT0ksUUFQSkEsSUFPSTtBQUFBLE1BTkpDLE9BTUksUUFOSkEsT0FNSTtBQUFBLE1BTEpDLGdCQUtJLFFBTEpBLGdCQUtJO0FBQUEsTUFKSkMsb0JBSUksUUFKSkEsb0JBSUk7QUFBQSxNQUhKQyxrQkFHSSxRQUhKQSxrQkFHSTtBQUFBLE1BRkpDLFFBRUksUUFGSkEsUUFFSTtBQUFBLE1BREpDLFdBQ0ksUUFESkEsV0FDSTs7QUFDSixrQkFBd0MscUJBQXVCO0FBQzdEQyxJQUFBQSxJQUFJLEVBQUUsS0FEdUQ7QUFFN0RDLElBQUFBLFFBQVEsRUFBRTtBQUZtRCxHQUF2QixDQUF4QztBQUFBO0FBQUEsTUFBT0MsWUFBUDtBQUFBLE1BQXFCQyxlQUFyQjs7QUFLQSxNQUFNQyw2QkFBNkIsR0FBRyxTQUFoQ0EsNkJBQWdDLEdBQU07QUFDMUMsUUFBSVQsZ0JBQWdCLENBQUNVLE1BQWpCLEtBQTRCLENBQWhDLEVBQW1DO0FBQ2pDLHNEQUNFO0FBQUVDLFFBQUFBLEtBQUssRUFBRSxzQkFBVDtBQUFpQ0MsUUFBQUEsS0FBSyxFQUFFO0FBQXhDLE9BREYsRUFFRWhCLFlBRkYsRUFHRU0sa0JBSEY7QUFLQSxzREFDRVcsU0FERixFQUVFO0FBQ0VDLFFBQUFBLGNBQWMsRUFBRSxTQURsQjtBQUVFQyxRQUFBQSxHQUFHLEVBQUUsQ0FDSDtBQUNFSixVQUFBQSxLQUFLLEVBQUVYLGdCQUFnQixDQUFDLENBQUQsQ0FB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QnpCO0FBQUEsTUFBR3BCLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQmtCLE9BQWxCLENBQTBCQyxFQUF6QztBQUFBLENBL0J5QixFQWtDZDtBQUFBLE1BQUdwQixLQUFILFVBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JvQixJQUFsQixDQUF1QkMsSUFBdEM7QUFBQSxDQWxDYyxFQW1DekI7QUFBQSxNQUFHdEIsS0FBSCxVQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCb0IsSUFBbEIsQ0FBdUJDLElBQXRDO0FBQUEsQ0FuQ3lCLEVBc0NkO0FBQUEsTUFBR3RCLEtBQUgsVUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQm9CLElBQWxCLENBQXVCRSxJQUF0QztBQUFBLENBdENjLEVBdUN6QjtBQUFBLE1BQUd2QixLQUFILFVBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JvQixJQUFsQixDQUF1QkUsSUFBdEM7QUFBQSxDQXZDeUIsQ0FBdEM7O0FBbURBLElBQU1DLDRCQUE0QixHQUFHaEIsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsaURBRXpCO0FBQUEsTUFBR2dCLEdBQUgsVUFBR0EsR0FBSDtBQUFBLFNBQWFBLEdBQUcsR0FBRyxJQUFuQjtBQUFBLENBRnlCLENBQWxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7XG4gIE5vdGlmaWNhdGlvbixcbiAgc2V2ZXJpdGllc1JhZGlvQnV0dG9ucyxcbiAgd2F0ZXJBdXRob3JpdGllc1JhZGlvQnV0dG9ucyxcbiAgc291cmNlc1JhZGlvQnV0dG9ucyxcbiAgc2VuZFZpYUNoZWNrQm94ZXMsXG4gIEFkdmFuY2VkU2VsZWN0aW9uLFxufSBmcm9tICdzcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9ub3RpZmljYXRpb25VdGlscyc7XG5pbXBvcnQgQ2hlY2tib3ggZnJvbSAnc3JjL3VpLWtpdC9DaGVja2JveC9DaGVja2JveCc7XG5pbXBvcnQgUmFkaW9CdXR0b25Hcm91cCBmcm9tICdzcmMvdWkta2l0L1JhZGlvQnV0dG9ucy9SYWRpb0J1dHRvbkdyb3VwJztcbmltcG9ydCBTZWxlY3QgZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB7XG4gIGhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSxcbiAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZSxcbiAgaGFuZGxlU2VuZFZpYSxcbiAgaGFuZGxlU2Vuc29ycyxcbiAgaGFuZGxlU2V2ZXJpdGllcyxcbiAgaGFuZGxlU291cmNlcyxcbiAgaGFuZGxlVGFncyxcbiAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyxcbn0gZnJvbSAnLi4vTm90aWZpY2F0aW9uc1V0aWxzJztcbmltcG9ydCBBbGVydCBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvQWxlcnQnO1xuaW1wb3J0IHsgQWxlcnREZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvc2FtcGxpbmdQcm9wZXJ0aWVzVXRpbHMnO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi8uLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuXG5pbnRlcmZhY2Ugbm90aWZpY2F0aW9uRm9ybUNvbnRlbnRQcm9wcyB7XG4gIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uO1xuICBwb2ludHM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHNlbnNvcnM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHdhdGVyQXV0aG9yaXRpZXM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIGFsbG93ZWROb3RpZmljYXRpb25zOiBzdHJpbmdbXTtcbiAgc2V0TmV3Tm90aWZpY2F0aW9uOiBhbnk7XG4gIGhhc1Bob25lOiBib29sZWFuO1xuICBoYXNUZWxlZ3JhbTogYm9vbGVhbjtcbn1cblxuY29uc3QgTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50OiBSZWFjdC5GQzxub3RpZmljYXRpb25Gb3JtQ29udGVudFByb3BzPiA9ICh7XG4gIG5vdGlmaWNhdGlvbixcbiAgcG9pbnRzLFxuICB0YWdzLFxuICBzZW5zb3JzLFxuICB3YXRlckF1dGhvcml0aWVzLFxuICBhbGxvd2VkTm90aWZpY2F0aW9ucyxcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICBoYXNQaG9uZSxcbiAgaGFzVGVsZWdyYW0sXG59KSA9PiB7XG4gIGNvbnN0IFttb2RhbERldGFpbHMsIHNldE1vZGFsRGV0YWlsc10gPSB1c2VTdGF0ZTxBbGVydERldGFpbHM+KHtcbiAgICBvcGVuOiBmYWxzZSxcbiAgICBpbnN0YW5jZTogJycsXG4gIH0pO1xuXG4gIGNvbnN0IGRlZmF1bHRXYXRlckF1dGhvcml0eUlmU2luZ2xlID0gKCkgPT4ge1xuICAgIGlmICh3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShcbiAgICAgICAgeyB2YWx1ZTogJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJywgbGFiZWw6ICdQb2xsdXRpb24gRXZlbnQnIH0sXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgKTtcbiAgICAgIGhhbmRsZVdhdGVyQXV0aG9yaXRpZXMoXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAge1xuICAgICAgICAgIHNlbGVjdGlvbl90eXBlOiAnaW5jbHVkZScsXG4gICAgICAgICAgc2V0OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHZhbHVlOiB3YXRlckF1dGhvcml0aWVzWzBdLndhdGVyX2F1dGhvcml0eS5pZCxcbiAgICAgICAgICAgICAgbGFiZWw6IHdhdGVyQXV0aG9yaXRpZXNbMF0ud2F0ZXJfYXV0aG9yaXR5LmxhYmVsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGVmYXVsdFdhdGVyQXV0aG9yaXR5SWZTaW5nbGUoKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPE5vdGlmaWNhdGlvblNpZGViYXJGb3JtQXJlYVN0eWxlPlxuICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXR5cGVcIj5cbiAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdHlwZScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPFNlbGVjdFxuICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uKSA9PlxuICAgICAgICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShvcHRpb24sIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgICBuYW1lPXsndHlwZSd9XG4gICAgICAgICAgb3B0aW9ucz17YWxsb3dlZE5vdGlmaWNhdGlvbnMhLm1hcCgodHlwZTogYW55KSA9PiAoe1xuICAgICAgICAgICAgdmFsdWU6IHR5cGUsXG4gICAgICAgICAgICBsYWJlbDogaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuJHt0eXBlfWApLFxuICAgICAgICAgIH0pKX1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICcnXG4gICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IG5vdGlmaWNhdGlvbi50eXBlLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLiR7bm90aWZpY2F0aW9uLnR5cGV9YCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnUG9sbHV0aW9uQWxlcnRDb25maWcnLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLlBvbGx1dGlvbkFsZXJ0Q29uZmlnYCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpc0Rpc2FibGVkPXtub3RpZmljYXRpb24uaWQgPyB0cnVlIDogZmFsc2V9XG4gICAgICAgICAgaXNTZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgLz5cbiAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgIHtub3RpZmljYXRpb24udHlwZSA9PT0gJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi1zZXZlcml0eVwiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NldmVyaXR5Jyl9XG4gICAgICAgICAgICA8L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIxMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NldmVyaXRpZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTZXZlcml0aWVzKGV2ZW50LCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnNldmVyaXR5fVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi5zZXZlcml0eX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICAgKX1cbiAgICAgIHt3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24td2F0ZXItYXV0aG9yaXRpZXNcIj5cbiAgICAgICAgICA8Rm9ybS5MYWJlbD5cbiAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS53YXRlcl9hdXRob3JpdGllcycpfVxuICAgICAgICAgIDwvRm9ybS5MYWJlbD5cbiAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICBvcHRpb25zPXt3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICBoYW5kbGVXYXRlckF1dGhvcml0aWVzKFxuICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGV9XG4gICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi53YXRlcl9hdXRob3JpdGllcy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIHtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhvcHRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyhcbiAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb3B0aW9ucz17d2F0ZXJBdXRob3JpdGllcz8ubWFwKCh3YTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IHdhLndhdGVyX2F1dGhvcml0eS5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiB3YS53YXRlcl9hdXRob3JpdHkubGFiZWwsXG4gICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17XG4gICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgID8gbm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzLnNldC5tYXAoKHdhOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogd2EuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogd2EudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICl9XG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgIT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXNvdXJjZXNcIj5cbiAgICAgICAgICAgIDxGb3JtLkxhYmVsPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5zb3VyY2VzJyl9PC9Gb3JtLkxhYmVsPlxuICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NvdXJjZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKGV2ZW50LCAnJywgbm90aWZpY2F0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24ucG9pbnRzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KG9wdGlvbjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKFxuICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25fdHlwZTogbm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXQ6IG9wdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXROZXdOb3RpZmljYXRpb24sXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaXNTZWFyY2hhYmxlPXt0cnVlfVxuICAgICAgICAgICAgICAgIGlzTXVsdGk9e3RydWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3BvaW50cz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogcC5wb2ludC5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnBvaW50LmxhYmVsLFxuICAgICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnBvaW50cy5zZXQgIT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24ucG9pbnRzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi10YWdzXCI+XG4gICAgICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UudGFncycpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgICAgIDxOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIGdhcD1cIjBcIj5cbiAgICAgICAgICAgICAgPFJhZGlvQnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzb3VyY2VzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhldmVudCwgJycsIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnRhZ3Muc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhcbiAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi50YWdzICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldDogb3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBpc1NlYXJjaGFibGU9e3RydWV9XG4gICAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGFncz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnRhZy5pZCxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGFnLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3Muc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24udGFncy5zZXQubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogcC50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJlxuICAgICAgICBub3RpZmljYXRpb24uc2Vuc29ycyAhPT0gdW5kZWZpbmVkICYmIChcbiAgICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2Vuc29yc1wiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNlbnNvcnMnKX08L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICAgIDxSYWRpb0J1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgb3B0aW9ucz17c291cmNlc1JhZGlvQnV0dG9uc31cbiAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoZXZlbnQsICcnLCBub3RpZmljYXRpb24sIHNldE5ld05vdGlmaWNhdGlvbilcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgICAge25vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlICE9PSAnYWxsJyAmJiAoXG4gICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICBuYW1lPXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoXG4gICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbl90eXBlOlxuICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNlbnNvcnMgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogW10sXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzZW5zb3JzPy5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnNlbnNvci5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnNlbnNvci5sYWJlbCxcbiAgICAgICAgICAgICAgICB9KSl9XG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldCAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2VuZFwiPlxuICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMTBcIj5cbiAgICAgICAgICB7c2VuZFZpYUNoZWNrQm94ZXMubWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAga2V5PXt2YWx1ZS5sYWJlbH1cbiAgICAgICAgICAgICAgICBvcHRpb249e3ZhbHVlfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlU2VuZFZpYShcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHMsXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnRlbGVncmFtICYmXG4gICAgICAgICAgICAhaGFzVGVsZWdyYW0gJiZcbiAgICAgICAgICAgIG1vZGFsRGV0YWlscy5vcGVuICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMuaW5zdGFuY2UgPT09ICd0ZWxlZ3JhbScgJiYgKFxuICAgICAgICAgICAgICA8QWxlcnRcbiAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHM9e3NldE1vZGFsRGV0YWlsc31cbiAgICAgICAgICAgICAgICBjaGlsZHJlbj17XG4gICAgICAgICAgICAgICAgICA8QWxlcnRDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYV9ub190ZWxlZ3JhbScpfVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxNb2RhbEFjdGlvbnNCdXR0b24gY29sb3I9e3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfT5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uub2snKX1cbiAgICAgICAgICAgICAgICAgICAgPC9Nb2RhbEFjdGlvbnNCdXR0b24+XG4gICAgICAgICAgICAgICAgICA8L0FsZXJ0Q29udGVudD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnNtcyAmJlxuICAgICAgICAgICAgIWhhc1Bob25lICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMub3BlbiAmJlxuICAgICAgICAgICAgbW9kYWxEZXRhaWxzLmluc3RhbmNlID09PSAnc21zJyAmJiAoXG4gICAgICAgICAgICAgIDxBbGVydFxuICAgICAgICAgICAgICAgIHNldE1vZGFsRGV0YWlscz17c2V0TW9kYWxEZXRhaWxzfVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuPXtcbiAgICAgICAgICAgICAgICAgIDxBbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NlbmRfdmlhX25vX3Bob25lJyl9PC9wPlxuICAgICAgICAgICAgICAgICAgICA8TW9kYWxBY3Rpb25zQnV0dG9uIGNvbG9yPXt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH0+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLm9rJyl9XG4gICAgICAgICAgICAgICAgICAgIDwvTW9kYWxBY3Rpb25zQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9BbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAge25vdGlmaWNhdGlvbi50eXBlID09PSAnUG9sbHV0aW9uQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXA+XG4gICAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgICBpbmxpbmVcbiAgICAgICAgICAgICAgbGFiZWw9e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc2FtcGxlcl9hY3RpdmUnKX1cbiAgICAgICAgICAgICAgbmFtZT1cInB1bXBfb25seVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIGlkPVwicHVtcF9vbmx5XCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUoZSwgc2V0TmV3Tm90aWZpY2F0aW9uKX1cbiAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLnB1bXBfb25seSA9PT0gJzEnfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgICl9XG4gICAgPC9Ob3RpZmljYXRpb25TaWRlYmFyRm9ybUFyZWFTdHlsZT5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vdGlmaWNhdGlvbnNGb3JtQ29udGVudDtcblxuY29uc3QgQWxlcnRDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgcCB7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweDtcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbmA7XG5cbmNvbnN0IE1vZGFsQWN0aW9uc0J1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYThhOGFhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7KHsgY29sb3IgfSkgPT4gY29sb3J9O1xuYDtcblxuY29uc3QgTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogNzJ2aDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAzcHggMXB4ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMzB9O1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUubWR9O1xuICAgIGZvbnQtd2VpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRXZWlnaHQudzYwMH07XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC5hbGwsXG4gIC5pbmNsdWRlLFxuICAuZXhjbHVkZSxcbiAgLnRlbGVncmFtLFxuICAuZW1haWwsXG4gIC5zbXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uODB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjgwfTtcbiAgfVxuICAuZXh0cmVtZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuICAuaGlnaCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLk8xMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuTzEwMH07XG4gIH1cbiAgLm1lZGl1bSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLlcxMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuVzEwMH07XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbmxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0ICFpbXBvcnRhbnQ7XG5cbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiA3cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgPSBzdHlsZWQuZGl2PHsgZ2FwOiBzdHJpbmcgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogJHsoeyBnYXAgfSkgPT4gZ2FwICsgJ3B4J307XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG4iXX0=
|
|
@@ -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
|
|
14
|
+
var _objectSpread3 = _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,
|
|
21
|
+
return (0, _objectSpread3.default)((0, _objectSpread3.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,
|
|
32
|
+
return (0, _objectSpread3.default)((0, _objectSpread3.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,
|
|
44
|
+
var value = (0, _objectSpread3.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,
|
|
54
|
+
var value = (0, _objectSpread3.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,
|
|
64
|
+
var value = (0, _objectSpread3.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,
|
|
74
|
+
var value = (0, _objectSpread3.default)({}, newNotification.sensors);
|
|
75
75
|
handleSelectionAndSet(value, 'sensors', e, option, setNewNotification);
|
|
76
76
|
};
|
|
77
77
|
|
|
@@ -83,32 +83,31 @@ 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
|
-
});
|
|
89
86
|
} else {
|
|
90
|
-
var set = [];
|
|
91
|
-
option.set.forEach(function (option) {
|
|
92
|
-
set.push(JSON.stringify(option.value));
|
|
93
|
-
});
|
|
94
87
|
value.selection_type = option.selection_type;
|
|
88
|
+
}
|
|
95
89
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
90
|
+
if (value.selection_type === 'all') {
|
|
91
|
+
value.set = new Array();
|
|
92
|
+
} else {
|
|
93
|
+
var _option$set;
|
|
101
94
|
|
|
102
|
-
|
|
103
|
-
|
|
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));
|
|
104
98
|
});
|
|
99
|
+
value.set = set;
|
|
105
100
|
}
|
|
101
|
+
|
|
102
|
+
setNewNotification(function (prevState) {
|
|
103
|
+
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, (0, _defineProperty2.default)({}, field, value));
|
|
104
|
+
});
|
|
106
105
|
};
|
|
107
106
|
|
|
108
107
|
exports.handleSelectionAndSet = handleSelectionAndSet;
|
|
109
108
|
|
|
110
109
|
var handleSendVia = function handleSendVia(e, newNotification, setNewNotification, setModalDetails) {
|
|
111
|
-
var value = (0,
|
|
110
|
+
var value = (0, _objectSpread3.default)({}, newNotification.actions);
|
|
112
111
|
var field = e.target.value;
|
|
113
112
|
value[field] = !value[field];
|
|
114
113
|
|
|
@@ -120,7 +119,7 @@ var handleSendVia = function handleSendVia(e, newNotification, setNewNotificatio
|
|
|
120
119
|
}
|
|
121
120
|
|
|
122
121
|
setNewNotification(function (prevState) {
|
|
123
|
-
return (0,
|
|
122
|
+
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, {
|
|
124
123
|
actions: value
|
|
125
124
|
});
|
|
126
125
|
});
|
|
@@ -132,7 +131,7 @@ var handleNotificationSample = function handleNotificationSample(e, setNewNotifi
|
|
|
132
131
|
var value = e.target.checked;
|
|
133
132
|
var parsedValue = value ? '1' : '0';
|
|
134
133
|
setNewNotification(function (prevState) {
|
|
135
|
-
return (0,
|
|
134
|
+
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, {
|
|
136
135
|
pump_only: parsedValue
|
|
137
136
|
});
|
|
138
137
|
});
|
|
@@ -227,7 +226,7 @@ var formatNotification = function formatNotification(newNotification) {
|
|
|
227
226
|
notificationCopy = parseSeverities(notificationCopy);
|
|
228
227
|
var notificationToSave = {
|
|
229
228
|
user: {
|
|
230
|
-
alert_configs_attributes: (0,
|
|
229
|
+
alert_configs_attributes: (0, _objectSpread3.default)({}, notificationCopy)
|
|
231
230
|
}
|
|
232
231
|
};
|
|
233
232
|
var notificationWithTimeStamp = {
|
|
@@ -241,4 +240,4 @@ var formatNotification = function formatNotification(newNotification) {
|
|
|
241
240
|
};
|
|
242
241
|
|
|
243
242
|
exports.formatNotification = formatNotification;
|
|
244
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc1V0aWxzLnRzIl0sIm5hbWVzIjpbImhhbmRsZU5vdGlmaWNhdGlvblR5cGUiLCJvcHRpb24iLCJub3RpZmljYXRpb24iLCJzZXROZXdOb3RpZmljYXRpb24iLCJ2YWx1ZSIsImF2YWlsYWJsZV90eXBlcyIsImZpbmQiLCJ0eXBlIiwicHJldlN0YXRlIiwiaGFuZGxlU2V2ZXJpdGllcyIsImUiLCJ0YXJnZXQiLCJzZXZlcml0eSIsImhhbmRsZVdhdGVyQXV0aG9yaXRpZXMiLCJuZXdOb3RpZmljYXRpb24iLCJ3YXRlcl9hdXRob3JpdGllcyIsImhhbmRsZVNlbGVjdGlvbkFuZFNldCIsImhhbmRsZVNvdXJjZXMiLCJwb2ludHMiLCJoYW5kbGVUYWdzIiwidGFncyIsImhhbmRsZVNlbnNvcnMiLCJzZW5zb3JzIiwiZmllbGQiLCJ1bmRlZmluZWQiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsImZvckVhY2giLCJwdXNoIiwiSlNPTiIsInN0cmluZ2lmeSIsImhhbmRsZVNlbmRWaWEiLCJzZXRNb2RhbERldGFpbHMiLCJhY3Rpb25zIiwib3BlbiIsImluc3RhbmNlIiwiaGFuZGxlTm90aWZpY2F0aW9uU2FtcGxlIiwiY2hlY2tlZCIsInBhcnNlZFZhbHVlIiwicHVtcF9vbmx5IiwidmFsaWRhdGVWYWx1ZUlzTm90QW5PYmplY3QiLCJBcnJheSIsImlzQXJyYXkiLCJwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uIiwid2F0ZXJBdXRob3JpdGllcyIsImFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zIiwic2VsZWN0aW9uIiwicG9pbnQiLCJpZCIsImRlbGV0ZUF0dHJpYnV0ZXMiLCJmb3JtYXRTZW5kVmlhIiwiZm9ybWF0dGVkVmFsdWUiLCJmbGF0IiwicGFyc2VTZXZlcml0aWVzIiwiZm9ybWF0Tm90aWZpY2F0aW9uIiwibm90aWZpY2F0aW9uQ29weSIsInBhcnNlIiwibm90aWZpY2F0aW9uVG9TYXZlIiwidXNlciIsImFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlcyIsIm5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAiLCJub3ciLCJEYXRlIiwiZ2V0VGltZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBRU8sSUFBTUEsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUF5QixDQUNwQ0MsTUFEb0MsRUFFcENDLFlBRm9DLEVBR3BDQyxrQkFIb0MsRUFJakM7QUFDSCxNQUFNQyxLQUFLLEdBQUdGLFlBQVksQ0FBQ0csZUFBYixDQUE4QkMsSUFBOUIsQ0FDWixVQUFDQyxJQUFEO0FBQUEsV0FBVUEsSUFBSSxLQUFLTixNQUFNLENBQUNHLEtBQTFCO0FBQUEsR0FEWSxDQUFkO0FBR0EsTUFBSUEsS0FBSixFQUNFRCxrQkFBa0IsQ0FBQyxVQUFDSyxTQUFEO0FBQUEsdUVBQ2RBLFNBRGM7QUFFakJELE1BQUFBLElBQUksRUFBRUg7QUFGVztBQUFBLEdBQUQsQ0FBbEI7QUFJSCxDQWJNOzs7O0FBZUEsSUFBTUssZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUM5QkMsQ0FEOEIsRUFFOUJQLGtCQUY4QixFQUczQjtBQUNILE1BQU1DLEtBQUssR0FBR00sQ0FBQyxDQUFDQyxNQUFGLENBQVNQLEtBQXZCO0FBRUFELEVBQUFBLGtCQUFrQixDQUFDLFVBQUNLLFNBQUQ7QUFBQSx1RUFDZEEsU0FEYztBQUVqQkksTUFBQUEsUUFBUSxFQUFFUjtBQUZPO0FBQUEsR0FBRCxDQUFsQjtBQUlELENBVk07Ozs7QUFXQSxJQUFNUyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXlCLENBQ3BDSCxDQURvQyxFQUtqQztBQUFBLE1BSEhULE1BR0csdUVBSFcsRUFHWDtBQUFBLE1BRkhhLGVBRUc7QUFBQSxNQURIWCxrQkFDRztBQUNILE1BQU1DLEtBQUssbUNBQVFVLGVBQWUsQ0FBQ0MsaUJBQXhCLENBQVg7QUFDQUMsRUFBQUEscUJBQXFCLENBQ25CWixLQURtQixF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QUFHO0FBQ3ZCQyxJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsd0JBQXdCLGtDQUNuQkosZ0JBRG1CO0FBRHBCO0FBRGlCLEdBQXpCO0FBUUEsTUFBTUsseUJBQXlCLEdBQUc7QUFDaENGLElBQUFBLElBQUksRUFBRTtBQUNKQyxNQUFBQSx3QkFBd0IsRUFBRTtBQUR0QjtBQUQwQixHQUFsQztBQU1BLE1BQU1FLEdBQUcsR0FBRyxJQUFJQyxJQUFKLEVBQVo7QUFDQUYsRUFBQUEseUJBQXlCLENBQUNGLElBQTFCLENBQStCQyx3QkFBL0IsV0FBMkRFLEdBQUcsQ0FBQ0UsT0FBSixFQUEzRCxLQUNFTixrQkFBa0IsQ0FBQ0MsSUFBbkIsQ0FBd0JDLHdCQUQxQjtBQUdBLFNBQU9DLHlCQUFQO0FBQ0QsQ0ExQk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTm90aWZpY2F0aW9uVHlwZSA9IChcbiAgb3B0aW9uLFxuICBub3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IG5vdGlmaWNhdGlvbi5hdmFpbGFibGVfdHlwZXMhLmZpbmQoXG4gICAgKHR5cGUpID0+IHR5cGUgPT09IG9wdGlvbi52YWx1ZSxcbiAgKTtcbiAgaWYgKHZhbHVlKVxuICAgIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgdHlwZTogdmFsdWUsXG4gICAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNldmVyaXRpZXMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+LFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcblxuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgc2V2ZXJpdHk6IHZhbHVlLFxuICB9KSk7XG59O1xuZXhwb3J0IGNvbnN0IGhhbmRsZVdhdGVyQXV0aG9yaXRpZXMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldChcbiAgICB2YWx1ZSxcbiAgICAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIGUsXG4gICAgb3B0aW9uLFxuICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTb3VyY2VzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5wb2ludHMgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KHZhbHVlLCAncG9pbnRzJywgZSwgb3B0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVRhZ3MgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLnRhZ3MgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KHZhbHVlLCAndGFncycsIGUsIG9wdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZW5zb3JzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5zZW5zb3JzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldCh2YWx1ZSwgJ3NlbnNvcnMnLCBlLCBvcHRpb24sIHNldE5ld05vdGlmaWNhdGlvbik7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2VsZWN0aW9uQW5kU2V0ID0gKFxuICB2YWx1ZSxcbiAgZmllbGQ6IHN0cmluZyxcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBpZiAoZSAhPT0gdW5kZWZpbmVkICYmIGUudGFyZ2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICB2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgW2ZpZWxkXTogdmFsdWUsXG4gICAgfSkpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHNldDogc3RyaW5nW10gPSBbXTtcbiAgICBvcHRpb24uc2V0LmZvckVhY2goKG9wdGlvbikgPT4ge1xuICAgICAgc2V0LnB1c2goSlNPTi5zdHJpbmdpZnkob3B0aW9uLnZhbHVlKSk7XG4gICAgfSk7XG5cbiAgICB2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9IG9wdGlvbi5zZWxlY3Rpb25fdHlwZTtcbiAgICBpZiAodmFsdWUuc2V0ID09PSBudWxsKSB7XG4gICAgICB2YWx1ZS5zZXQgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUuc2V0ID0gc2V0O1xuICAgIH1cblxuICAgIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgW2ZpZWxkXTogdmFsdWUsXG4gICAgfSkpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2VuZFZpYSA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sXG4gIG5ld05vdGlmaWNhdGlvbixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICBzZXRNb2RhbERldGFpbHMsXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5hY3Rpb25zIH07XG4gIGNvbnN0IGZpZWxkID0gZS50YXJnZXQudmFsdWU7XG4gIHZhbHVlW2ZpZWxkXSA9ICF2YWx1ZVtmaWVsZF07XG5cbiAgaWYgKGZpZWxkID09PSAnc21zJyB8fCBmaWVsZCA9PT0gJ3RlbGVncmFtJykge1xuICAgIHNldE1vZGFsRGV0YWlscyh7IG9wZW46IHRydWUsIGluc3RhbmNlOiBmaWVsZCB9KTtcbiAgfVxuXG4gIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgIC4uLnByZXZTdGF0ZSxcbiAgICBhY3Rpb25zOiB2YWx1ZSxcbiAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LmNoZWNrZWQ7XG4gIGxldCBwYXJzZWRWYWx1ZSA9IHZhbHVlID8gJzEnIDogJzAnO1xuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgcHVtcF9vbmx5OiBwYXJzZWRWYWx1ZSxcbiAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlVmFsdWVJc05vdEFuT2JqZWN0ID0gKHZhbHVlKSA9PiB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICFBcnJheS5pc0FycmF5KHZhbHVlKSAmJlxuICAgIHZhbHVlICE9PSBudWxsICYmXG4gICAgdmFsdWUgIT09IHVuZGVmaW5lZFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlTm90aWZpY2F0aW9uQWR2YW5jZWRTZWxlY3Rpb24gPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gIC8vIElmIHRoZXJlJ2xsIGJlIGEgZnV0dXJlIHJlcXVpcmVtZW50IHRvIGFkZCBhbm90aGVyIEFkdmFuY2VkU2VsZWN0aW9uIGZpZWxkcywgcGxlYXNlIGFkZCB0aGVtIHJpZ2h0IGJlbG93XG5cbiAgbGV0IHBvaW50cyA9IG5vdGlmaWNhdGlvbi5wb2ludHM7XG4gIGxldCB3YXRlckF1dGhvcml0aWVzID0gbm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzO1xuICBsZXQgdGFncyA9IG5vdGlmaWNhdGlvbi50YWdzO1xuICBsZXQgc2Vuc29ycyA9IG5vdGlmaWNhdGlvbi5zZW5zb3JzO1xuXG4gIGNvbnN0IGFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zID0gW3BvaW50cywgd2F0ZXJBdXRob3JpdGllcywgdGFncywgc2Vuc29yc107XG5cbiAgYWxsX2FkdmFuY2VkX3NlbGVjdGlvbnMuZm9yRWFjaCgoc2VsZWN0aW9uKSA9PiB7XG4gICAgaWYgKFxuICAgICAgdmFsaWRhdGVWYWx1ZUlzTm90QW5PYmplY3QoXG4gICAgICAgIHNlbGVjdGlvbiAhPT0gdW5kZWZpbmVkICYmIHNlbGVjdGlvbi5zZXQgIT09IG51bGwgJiYgc2VsZWN0aW9uLnNldFswXSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnN0IHNldDogc3RyaW5nW10gPSBbXTtcbiAgICAgIHNlbGVjdGlvbi5zZXQuZm9yRWFjaCgocG9pbnQpID0+IHtcbiAgICAgICAgc2V0LnB1c2goSlNPTi5zdHJpbmdpZnkocG9pbnQuaWQpKTtcbiAgICAgIH0pO1xuXG4gICAgICBzZWxlY3Rpb24uc2V0ID0gc2V0O1xuICAgIH1cblxuICAgIGlmIChzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLnNldCAhPT0gdW5kZWZpbmVkICYmIHNlbGVjdGlvbi5zZXQgPT09IG51bGwpIHtcbiAgICAgIHNlbGVjdGlvbi5zZXQgPSBbXTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlQXR0cmlidXRlcyA9IChub3RpZmljYXRpb24sIG5ld05vdGlmaWNhdGlvbikgPT4ge1xuICAvLyBNYWtlIHN1cmUgdG8gcmVtb3ZlIHVubmVjZXNzYXJ5IGF0dHJpYnV0ZXMgZm9yIHNvbWUgQWxlcnRDb25maWdzXG5cbiAgZGVsZXRlIG5vdGlmaWNhdGlvbi5hdmFpbGFibGVfdHlwZXM7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSAhPT0gJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnNldmVyaXR5O1xuICBpZiAobmV3Tm90aWZpY2F0aW9uLnR5cGUgIT09ICdQb2xsdXRpb25BbGVydENvbmZpZycpXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi5wdW1wX29ubHk7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSA9PT0gJ1diZVdlZWtseURpZ2VzdEFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnBvaW50cztcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24udGFncztcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnRGF0YWxvZ2dlclRocmVzaG9sZEFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnNlbnNvcnM7XG5cbiAgbm90aWZpY2F0aW9uWydhbGVydF90eXBlJ10gPSBub3RpZmljYXRpb24udHlwZTtcbiAgbm90aWZpY2F0aW9uWydfZGVzdHJveSddID0gMDtcblxuICByZXR1cm4gbm90aWZpY2F0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFNlbmRWaWEgPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gIGxldCBmb3JtYXR0ZWRWYWx1ZTogYW55ID0gW107XG4gIGlmIChub3RpZmljYXRpb24uYWN0aW9uc1sndGVsZWdyYW0nXSlcbiAgICBmb3JtYXR0ZWRWYWx1ZS5wdXNoKFsnU2VuZFRlbGVncmFtQWN0aW9uJywgJzAnXSk7XG4gIGlmIChub3RpZmljYXRpb24uYWN0aW9uc1snZW1haWwnXSlcbiAgICBmb3JtYXR0ZWRWYWx1ZS5wdXNoKFsnU2VuZEVtYWlsQWN0aW9uJywgJzAnXSk7XG4gIGlmIChub3RpZmljYXRpb24uYWN0aW9uc1snc21zJ10pIGZvcm1hdHRlZFZhbHVlLnB1c2goWydTZW5kU21zQWN0aW9uJywgJzAnXSk7XG4gIG5vdGlmaWNhdGlvbi5hY3Rpb25zID0gZm9ybWF0dGVkVmFsdWUuZmxhdCgpO1xuXG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VTZXZlcml0aWVzID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICBsZXQgdmFsdWU7XG4gIHN3aXRjaCAobm90aWZpY2F0aW9uLnNldmVyaXR5KSB7XG4gICAgY2FzZSAnbWVkaXVtJzpcbiAgICAgIHZhbHVlID0gJzAnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnaGlnaCc6XG4gICAgICB2YWx1ZSA9ICcxJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2V4dHJlbWUnOlxuICAgICAgdmFsdWUgPSAnMic7XG4gIH1cbiAgbm90aWZpY2F0aW9uLnNldmVyaXR5ID0gdmFsdWU7XG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0Tm90aWZpY2F0aW9uID0gKG5ld05vdGlmaWNhdGlvbikgPT4ge1xuICBsZXQgbm90aWZpY2F0aW9uQ29weSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobmV3Tm90aWZpY2F0aW9uKSk7XG4gIG5vdGlmaWNhdGlvbkNvcHkgPSBwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uKG5vdGlmaWNhdGlvbkNvcHkpO1xuICBub3RpZmljYXRpb25Db3B5ID0gZm9ybWF0U2VuZFZpYShub3RpZmljYXRpb25Db3B5KTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IGRlbGV0ZUF0dHJpYnV0ZXMobm90aWZpY2F0aW9uQ29weSwgbmV3Tm90aWZpY2F0aW9uKTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IHBhcnNlU2V2ZXJpdGllcyhub3RpZmljYXRpb25Db3B5KTtcblxuICBsZXQgbm90aWZpY2F0aW9uVG9TYXZlID0ge1xuICAgIHVzZXI6IHtcbiAgICAgIGFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlczoge1xuICAgICAgICAuLi5ub3RpZmljYXRpb25Db3B5LFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IG5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAgPSB7XG4gICAgdXNlcjoge1xuICAgICAgYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzOiB7fSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gIG5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAudXNlci5hbGVydF9jb25maWdzX2F0dHJpYnV0ZXNbYCR7bm93LmdldFRpbWUoKX1gXSA9XG4gICAgbm90aWZpY2F0aW9uVG9TYXZlLnVzZXIuYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzO1xuXG4gIHJldHVybiBub3RpZmljYXRpb25XaXRoVGltZVN0YW1wO1xufTtcbiJdfQ==
|
|
243
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc1V0aWxzLnRzIl0sIm5hbWVzIjpbImhhbmRsZU5vdGlmaWNhdGlvblR5cGUiLCJvcHRpb24iLCJub3RpZmljYXRpb24iLCJzZXROZXdOb3RpZmljYXRpb24iLCJ2YWx1ZSIsImF2YWlsYWJsZV90eXBlcyIsImZpbmQiLCJ0eXBlIiwicHJldlN0YXRlIiwiaGFuZGxlU2V2ZXJpdGllcyIsImUiLCJ0YXJnZXQiLCJzZXZlcml0eSIsImhhbmRsZVdhdGVyQXV0aG9yaXRpZXMiLCJuZXdOb3RpZmljYXRpb24iLCJ3YXRlcl9hdXRob3JpdGllcyIsImhhbmRsZVNlbGVjdGlvbkFuZFNldCIsImhhbmRsZVNvdXJjZXMiLCJwb2ludHMiLCJoYW5kbGVUYWdzIiwidGFncyIsImhhbmRsZVNlbnNvcnMiLCJzZW5zb3JzIiwiZmllbGQiLCJ1bmRlZmluZWQiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsIkFycmF5IiwiZm9yRWFjaCIsInB1c2giLCJKU09OIiwic3RyaW5naWZ5IiwiaGFuZGxlU2VuZFZpYSIsInNldE1vZGFsRGV0YWlscyIsImFjdGlvbnMiLCJvcGVuIiwiaW5zdGFuY2UiLCJoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUiLCJjaGVja2VkIiwicGFyc2VkVmFsdWUiLCJwdW1wX29ubHkiLCJ2YWxpZGF0ZVZhbHVlSXNOb3RBbk9iamVjdCIsImlzQXJyYXkiLCJwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uIiwid2F0ZXJBdXRob3JpdGllcyIsImFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zIiwic2VsZWN0aW9uIiwicG9pbnQiLCJpZCIsImRlbGV0ZUF0dHJpYnV0ZXMiLCJmb3JtYXRTZW5kVmlhIiwiZm9ybWF0dGVkVmFsdWUiLCJmbGF0IiwicGFyc2VTZXZlcml0aWVzIiwiZm9ybWF0Tm90aWZpY2F0aW9uIiwibm90aWZpY2F0aW9uQ29weSIsInBhcnNlIiwibm90aWZpY2F0aW9uVG9TYXZlIiwidXNlciIsImFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlcyIsIm5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAiLCJub3ciLCJEYXRlIiwiZ2V0VGltZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBRU8sSUFBTUEsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUF5QixDQUNwQ0MsTUFEb0MsRUFFcENDLFlBRm9DLEVBR3BDQyxrQkFIb0MsRUFJakM7QUFDSCxNQUFNQyxLQUFLLEdBQUdGLFlBQVksQ0FBQ0csZUFBYixDQUE4QkMsSUFBOUIsQ0FDWixVQUFDQyxJQUFEO0FBQUEsV0FBVUEsSUFBSSxLQUFLTixNQUFNLENBQUNHLEtBQTFCO0FBQUEsR0FEWSxDQUFkO0FBR0EsTUFBSUEsS0FBSixFQUNFRCxrQkFBa0IsQ0FBQyxVQUFDSyxTQUFEO0FBQUEsdUVBQ2RBLFNBRGM7QUFFakJELE1BQUFBLElBQUksRUFBRUg7QUFGVztBQUFBLEdBQUQsQ0FBbEI7QUFJSCxDQWJNOzs7O0FBZUEsSUFBTUssZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUM5QkMsQ0FEOEIsRUFFOUJQLGtCQUY4QixFQUczQjtBQUNILE1BQU1DLEtBQUssR0FBR00sQ0FBQyxDQUFDQyxNQUFGLENBQVNQLEtBQXZCO0FBRUFELEVBQUFBLGtCQUFrQixDQUFDLFVBQUNLLFNBQUQ7QUFBQSx1RUFDZEEsU0FEYztBQUVqQkksTUFBQUEsUUFBUSxFQUFFUjtBQUZPO0FBQUEsR0FBRCxDQUFsQjtBQUlELENBVk07Ozs7QUFXQSxJQUFNUyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXlCLENBQ3BDSCxDQURvQyxFQUtqQztBQUFBLE1BSEhULE1BR0csdUVBSFcsRUFHWDtBQUFBLE1BRkhhLGVBRUc7QUFBQSxNQURIWCxrQkFDRztBQUNILE1BQU1DLEtBQUssbUNBQVFVLGVBQWUsQ0FBQ0MsaUJBQXhCLENBQVg7QUFDQUMsRUFBQUEscUJBQXFCLENBQ25CWixLQURtQixF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QjtBQVFBLE1BQU1LLHlCQUF5QixHQUFHO0FBQ2hDRixJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsd0JBQXdCLEVBQUU7QUFEdEI7QUFEMEIsR0FBbEM7QUFNQSxNQUFNRSxHQUFHLEdBQUcsSUFBSUMsSUFBSixFQUFaO0FBQ0FGLEVBQUFBLHlCQUF5QixDQUFDRixJQUExQixDQUErQkMsd0JBQS9CLFdBQTJERSxHQUFHLENBQUNFLE9BQUosRUFBM0QsS0FDRU4sa0JBQWtCLENBQUNDLElBQW5CLENBQXdCQyx3QkFEMUI7QUFHQSxTQUFPQyx5QkFBUDtBQUNELENBMUJNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU5vdGlmaWNhdGlvblR5cGUgPSAoXG4gIG9wdGlvbixcbiAgbm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSBub3RpZmljYXRpb24uYXZhaWxhYmxlX3R5cGVzIS5maW5kKFxuICAgICh0eXBlKSA9PiB0eXBlID09PSBvcHRpb24udmFsdWUsXG4gICk7XG4gIGlmICh2YWx1ZSlcbiAgICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgIHR5cGU6IHZhbHVlLFxuICAgIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZXZlcml0aWVzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XG5cbiAgc2V0TmV3Tm90aWZpY2F0aW9uKChwcmV2U3RhdGUpID0+ICh7XG4gICAgLi4ucHJldlN0YXRlLFxuICAgIHNldmVyaXR5OiB2YWx1ZSxcbiAgfSkpO1xufTtcbmV4cG9ydCBjb25zdCBoYW5kbGVXYXRlckF1dGhvcml0aWVzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi53YXRlcl9hdXRob3JpdGllcyB9O1xuICBoYW5kbGVTZWxlY3Rpb25BbmRTZXQoXG4gICAgdmFsdWUsXG4gICAgJ3dhdGVyX2F1dGhvcml0aWVzJyxcbiAgICBlLFxuICAgIG9wdGlvbixcbiAgICBzZXROZXdOb3RpZmljYXRpb24sXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU291cmNlcyA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIG5ld05vdGlmaWNhdGlvbixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0geyAuLi5uZXdOb3RpZmljYXRpb24ucG9pbnRzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldCh2YWx1ZSwgJ3BvaW50cycsIGUsIG9wdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVUYWdzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi50YWdzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldCh2YWx1ZSwgJ3RhZ3MnLCBlLCBvcHRpb24sIHNldE5ld05vdGlmaWNhdGlvbik7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2Vuc29ycyA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIG5ld05vdGlmaWNhdGlvbixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0geyAuLi5uZXdOb3RpZmljYXRpb24uc2Vuc29ycyB9O1xuICBoYW5kbGVTZWxlY3Rpb25BbmRTZXQodmFsdWUsICdzZW5zb3JzJywgZSwgb3B0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNlbGVjdGlvbkFuZFNldCA9IChcbiAgdmFsdWUsXG4gIGZpZWxkOiBzdHJpbmcsXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgaWYgKGUgIT09IHVuZGVmaW5lZCAmJiBlLnRhcmdldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdmFsdWUuc2VsZWN0aW9uX3R5cGUgPSBlLnRhcmdldC52YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICB2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9IG9wdGlvbi5zZWxlY3Rpb25fdHlwZTtcbiAgfVxuXG4gIGlmICh2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9PT0gJ2FsbCcpIHtcbiAgICB2YWx1ZS5zZXQgPSBuZXcgQXJyYXkoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBzZXQ6IHN0cmluZ1tdID0gW107XG4gICAgb3B0aW9uLnNldD8uZm9yRWFjaCgob3B0aW9uKSA9PiB7XG4gICAgICBzZXQucHVzaChKU09OLnN0cmluZ2lmeShvcHRpb24udmFsdWUpKTtcbiAgICB9KTtcbiAgICB2YWx1ZS5zZXQgPSBzZXQ7XG4gIH1cblxuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgW2ZpZWxkXTogdmFsdWUsXG4gIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZW5kVmlhID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PixcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4gIHNldE1vZGFsRGV0YWlscyxcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLmFjdGlvbnMgfTtcbiAgY29uc3QgZmllbGQgPSBlLnRhcmdldC52YWx1ZTtcbiAgdmFsdWVbZmllbGRdID0gIXZhbHVlW2ZpZWxkXTtcblxuICBpZiAoZmllbGQgPT09ICdzbXMnIHx8IGZpZWxkID09PSAndGVsZWdyYW0nKSB7XG4gICAgc2V0TW9kYWxEZXRhaWxzKHsgb3BlbjogdHJ1ZSwgaW5zdGFuY2U6IGZpZWxkIH0pO1xuICB9XG5cbiAgc2V0TmV3Tm90aWZpY2F0aW9uKChwcmV2U3RhdGUpID0+ICh7XG4gICAgLi4ucHJldlN0YXRlLFxuICAgIGFjdGlvbnM6IHZhbHVlLFxuICB9KSk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTm90aWZpY2F0aW9uU2FtcGxlID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0gZS50YXJnZXQuY2hlY2tlZDtcbiAgbGV0IHBhcnNlZFZhbHVlID0gdmFsdWUgPyAnMScgOiAnMCc7XG4gIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgIC4uLnByZXZTdGF0ZSxcbiAgICBwdW1wX29ubHk6IHBhcnNlZFZhbHVlLFxuICB9KSk7XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVWYWx1ZUlzTm90QW5PYmplY3QgPSAodmFsdWUpID0+IHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgIUFycmF5LmlzQXJyYXkodmFsdWUpICYmXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICB2YWx1ZSAhPT0gdW5kZWZpbmVkXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VOb3RpZmljYXRpb25BZHZhbmNlZFNlbGVjdGlvbiA9IChub3RpZmljYXRpb24pID0+IHtcbiAgLy8gSWYgdGhlcmUnbGwgYmUgYSBmdXR1cmUgcmVxdWlyZW1lbnQgdG8gYWRkIGFub3RoZXIgQWR2YW5jZWRTZWxlY3Rpb24gZmllbGRzLCBwbGVhc2UgYWRkIHRoZW0gcmlnaHQgYmVsb3dcblxuICBsZXQgcG9pbnRzID0gbm90aWZpY2F0aW9uLnBvaW50cztcbiAgbGV0IHdhdGVyQXV0aG9yaXRpZXMgPSBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXM7XG4gIGxldCB0YWdzID0gbm90aWZpY2F0aW9uLnRhZ3M7XG4gIGxldCBzZW5zb3JzID0gbm90aWZpY2F0aW9uLnNlbnNvcnM7XG5cbiAgY29uc3QgYWxsX2FkdmFuY2VkX3NlbGVjdGlvbnMgPSBbcG9pbnRzLCB3YXRlckF1dGhvcml0aWVzLCB0YWdzLCBzZW5zb3JzXTtcblxuICBhbGxfYWR2YW5jZWRfc2VsZWN0aW9ucy5mb3JFYWNoKChzZWxlY3Rpb24pID0+IHtcbiAgICBpZiAoXG4gICAgICB2YWxpZGF0ZVZhbHVlSXNOb3RBbk9iamVjdChcbiAgICAgICAgc2VsZWN0aW9uICE9PSB1bmRlZmluZWQgJiYgc2VsZWN0aW9uLnNldCAhPT0gbnVsbCAmJiBzZWxlY3Rpb24uc2V0WzBdLFxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc3Qgc2V0OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgc2VsZWN0aW9uLnNldC5mb3JFYWNoKChwb2ludCkgPT4ge1xuICAgICAgICBzZXQucHVzaChKU09OLnN0cmluZ2lmeShwb2ludC5pZCkpO1xuICAgICAgfSk7XG5cbiAgICAgIHNlbGVjdGlvbi5zZXQgPSBzZXQ7XG4gICAgfVxuXG4gICAgaWYgKHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24uc2V0ICE9PSB1bmRlZmluZWQgJiYgc2VsZWN0aW9uLnNldCA9PT0gbnVsbCkge1xuICAgICAgc2VsZWN0aW9uLnNldCA9IFtdO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVBdHRyaWJ1dGVzID0gKG5vdGlmaWNhdGlvbiwgbmV3Tm90aWZpY2F0aW9uKSA9PiB7XG4gIC8vIE1ha2Ugc3VyZSB0byByZW1vdmUgdW5uZWNlc3NhcnkgYXR0cmlidXRlcyBmb3Igc29tZSBBbGVydENvbmZpZ3NcblxuICBkZWxldGUgbm90aWZpY2F0aW9uLmF2YWlsYWJsZV90eXBlcztcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnUG9sbHV0aW9uQWxlcnRDb25maWcnKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24uc2V2ZXJpdHk7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSAhPT0gJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnB1bXBfb25seTtcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlID09PSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24ucG9pbnRzO1xuICBpZiAobmV3Tm90aWZpY2F0aW9uLnR5cGUgIT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycpXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi50YWdzO1xuICBpZiAobmV3Tm90aWZpY2F0aW9uLnR5cGUgIT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24uc2Vuc29ycztcblxuICBub3RpZmljYXRpb25bJ2FsZXJ0X3R5cGUnXSA9IG5vdGlmaWNhdGlvbi50eXBlO1xuICBub3RpZmljYXRpb25bJ19kZXN0cm95J10gPSAwO1xuXG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0U2VuZFZpYSA9IChub3RpZmljYXRpb24pID0+IHtcbiAgbGV0IGZvcm1hdHRlZFZhbHVlOiBhbnkgPSBbXTtcbiAgaWYgKG5vdGlmaWNhdGlvbi5hY3Rpb25zWyd0ZWxlZ3JhbSddKVxuICAgIGZvcm1hdHRlZFZhbHVlLnB1c2goWydTZW5kVGVsZWdyYW1BY3Rpb24nLCAnMCddKTtcbiAgaWYgKG5vdGlmaWNhdGlvbi5hY3Rpb25zWydlbWFpbCddKVxuICAgIGZvcm1hdHRlZFZhbHVlLnB1c2goWydTZW5kRW1haWxBY3Rpb24nLCAnMCddKTtcbiAgaWYgKG5vdGlmaWNhdGlvbi5hY3Rpb25zWydzbXMnXSkgZm9ybWF0dGVkVmFsdWUucHVzaChbJ1NlbmRTbXNBY3Rpb24nLCAnMCddKTtcbiAgbm90aWZpY2F0aW9uLmFjdGlvbnMgPSBmb3JtYXR0ZWRWYWx1ZS5mbGF0KCk7XG5cbiAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZVNldmVyaXRpZXMgPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gIGxldCB2YWx1ZTtcbiAgc3dpdGNoIChub3RpZmljYXRpb24uc2V2ZXJpdHkpIHtcbiAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgdmFsdWUgPSAnMCc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdoaWdoJzpcbiAgICAgIHZhbHVlID0gJzEnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnZXh0cmVtZSc6XG4gICAgICB2YWx1ZSA9ICcyJztcbiAgfVxuICBub3RpZmljYXRpb24uc2V2ZXJpdHkgPSB2YWx1ZTtcbiAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXROb3RpZmljYXRpb24gPSAobmV3Tm90aWZpY2F0aW9uKSA9PiB7XG4gIGxldCBub3RpZmljYXRpb25Db3B5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShuZXdOb3RpZmljYXRpb24pKTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IHBhcnNlTm90aWZpY2F0aW9uQWR2YW5jZWRTZWxlY3Rpb24obm90aWZpY2F0aW9uQ29weSk7XG4gIG5vdGlmaWNhdGlvbkNvcHkgPSBmb3JtYXRTZW5kVmlhKG5vdGlmaWNhdGlvbkNvcHkpO1xuICBub3RpZmljYXRpb25Db3B5ID0gZGVsZXRlQXR0cmlidXRlcyhub3RpZmljYXRpb25Db3B5LCBuZXdOb3RpZmljYXRpb24pO1xuICBub3RpZmljYXRpb25Db3B5ID0gcGFyc2VTZXZlcml0aWVzKG5vdGlmaWNhdGlvbkNvcHkpO1xuXG4gIGxldCBub3RpZmljYXRpb25Ub1NhdmUgPSB7XG4gICAgdXNlcjoge1xuICAgICAgYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzOiB7XG4gICAgICAgIC4uLm5vdGlmaWNhdGlvbkNvcHksXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uV2l0aFRpbWVTdGFtcCA9IHtcbiAgICB1c2VyOiB7XG4gICAgICBhbGVydF9jb25maWdzX2F0dHJpYnV0ZXM6IHt9LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgbm90aWZpY2F0aW9uV2l0aFRpbWVTdGFtcC51c2VyLmFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlc1tgJHtub3cuZ2V0VGltZSgpfWBdID1cbiAgICBub3RpZmljYXRpb25Ub1NhdmUudXNlci5hbGVydF9jb25maWdzX2F0dHJpYnV0ZXM7XG5cbiAgcmV0dXJuIG5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXA7XG59O1xuIl19
|
|
@@ -108,15 +108,16 @@ var getNotificationString = function getNotificationString(notification) {
|
|
|
108
108
|
|
|
109
109
|
var typeString = '';
|
|
110
110
|
var sampleString = '';
|
|
111
|
-
sampleString = notification.pump_only ? " ".concat(_i18n.default.t('notifications_page.sampler_activated')) : '.';
|
|
111
|
+
sampleString = notification.pump_only === '1' ? " ".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)
|
|
115
|
+
typeString = [title, getNotificationAlertsString(notification), _i18n.default.t("".concat(transIdx, "about_pollution_events")), getNotificationSeveritiesString(notification), getNotificationSourcesString(notification, transIdx)].join(' ');
|
|
116
|
+
typeString += sampleString;
|
|
116
117
|
break;
|
|
117
118
|
|
|
118
119
|
case 'DataloggerThresholdAlertConfig':
|
|
119
|
-
typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'sensors_thresholds')
|
|
120
|
+
typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'sensors_thresholds')).concat(getNotificationSensorsString(notification), ".");
|
|
120
121
|
break;
|
|
121
122
|
|
|
122
123
|
case 'DataloggerOverflowAlertConfig':
|
|
@@ -143,14 +144,17 @@ exports.getNotificationString = getNotificationString;
|
|
|
143
144
|
|
|
144
145
|
function getNotificationAlertsString(notification) {
|
|
145
146
|
var sendVia = notification.actions;
|
|
147
|
+
var tempArray = [];
|
|
146
148
|
var sendViaString = '';
|
|
147
149
|
|
|
148
150
|
for (var key in sendVia) {
|
|
149
151
|
if (sendVia[key]) {
|
|
150
|
-
|
|
152
|
+
tempArray.push(_i18n.default.t("notifications_page.edit_".concat(key)));
|
|
151
153
|
}
|
|
152
154
|
}
|
|
153
155
|
|
|
156
|
+
sendViaString = tempArray.join(', ');
|
|
157
|
+
sendViaString = sendViaString.replace(/,\s([^,]+)$/, ' & $1');
|
|
154
158
|
return sendViaString;
|
|
155
159
|
}
|
|
156
160
|
|
|
@@ -168,11 +172,11 @@ function getNotificationSourcesString(notification, transIdx) {
|
|
|
168
172
|
var sourcesString = '';
|
|
169
173
|
if (selection_type === 'all') Strings.push(_i18n.default.t("".concat(transIdx, "in_all_sources")));
|
|
170
174
|
if (selection_type === 'exclude') Strings.push(_i18n.default.t("".concat(transIdx, "excluding")));
|
|
171
|
-
if (selection_type === 'include')
|
|
175
|
+
if (selection_type === 'include') sourcesString = _i18n.default.t("".concat(transIdx, "in")) + ' ';
|
|
172
176
|
if (selection_type !== 'all') set.map(function (source) {
|
|
173
177
|
return Strings.push(source.text);
|
|
174
178
|
});
|
|
175
|
-
Strings.length
|
|
179
|
+
sourcesString += Strings.join(Strings.length > 1 ? ', ' : ' ');
|
|
176
180
|
return sourcesString;
|
|
177
181
|
}
|
|
178
182
|
|
|
@@ -181,10 +185,15 @@ function getNotificationSensorsString(notification) {
|
|
|
181
185
|
var selection_type = notification.sensors.selection_type;
|
|
182
186
|
var Strings = [];
|
|
183
187
|
var sensorsString = '';
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
+
|
|
189
|
+
if (selection_type !== 'all') {
|
|
190
|
+
set.map(function (sensor) {
|
|
191
|
+
return Strings.push(sensor.text);
|
|
192
|
+
});
|
|
193
|
+
sensorsString = ': ';
|
|
194
|
+
sensorsString += Strings.join(', ');
|
|
195
|
+
}
|
|
196
|
+
|
|
188
197
|
return sensorsString;
|
|
189
198
|
}
|
|
190
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL25vdGlmaWNhdGlvblV0aWxzLnRzeCJdLCJuYW1lcyI6WyJtb2NrVHlwZXMiLCJnZXRFbXB0eU5vdGlmaWNhdGlvbiIsImF2YWlsYWJsZV90eXBlcyIsImlkIiwidHlwZSIsInNldmVyaXR5Iiwid2F0ZXJfYXV0aG9yaXRpZXMiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsInBvaW50cyIsInRhZ3MiLCJzZW5zb3JzIiwiYWN0aW9ucyIsInRlbGVncmFtIiwiZW1haWwiLCJzbXMiLCJwdW1wX29ubHkiLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwibGFiZWwiLCJuYW1lIiwidmFsdWUiLCJ3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zIiwic291cmNlc1JhZGlvQnV0dG9ucyIsInNlbmRWaWFDaGVja0JveGVzIiwiZ2V0Tm90aWZpY2F0aW9uU3RyaW5nIiwibm90aWZpY2F0aW9uIiwidHJhbnNJZHgiLCJ0aXRsZSIsImkxOG4iLCJ0IiwidHlwZVN0cmluZyIsInNhbXBsZVN0cmluZyIsImdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyIsImdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmciLCJnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nIiwiam9pbiIsImdldE5vdGlmaWNhdGlvblNlbnNvcnNTdHJpbmciLCJzZW5kVmlhIiwic2VuZFZpYVN0cmluZyIsImtleSIsInNldmVyaXR5U3RyaW5nIiwiU3RyaW5ncyIsInNvdXJjZXNTdHJpbmciLCJwdXNoIiwibWFwIiwic291cmNlIiwidGV4dCIsImxlbmd0aCIsInNsaWNlIiwic2Vuc29yc1N0cmluZyIsInNlbnNvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBcUJPLElBQU1BLFNBQWMsR0FBRyxDQUM1QixzQkFENEIsRUFFNUIsZ0NBRjRCLEVBRzVCLCtCQUg0QixFQUk1Qix5QkFKNEIsRUFLNUIsZ0JBTDRC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O0FBQzlCTCxFQUFBQSxPQUFPLENBQUNNLE1BQVIsSUFBa0IsQ0FBbEIsR0FDS0wsYUFBYSxHQUFHRCxPQUFPLENBQUNOLElBQVIsQ0FBYSxJQUFiLENBRHJCLEdBRUtPLGFBQWEsR0FBR0QsT0FBTyxDQUFDTyxLQUFSLENBQWMsQ0FBZCxFQUFpQixDQUFqQixFQUFvQmIsSUFBcEIsQ0FBeUIsSUFBekIsSUFBaUMsSUFGdEQ7QUFHQSxTQUFPTyxhQUFQO0FBQ0Q7O0FBRUQsU0FBU04sNEJBQVQsQ0FBc0NYLFlBQXRDLEVBQW9EO0FBQ2xELE1BQVFqQixHQUFSLEdBQWdCaUIsWUFBWSxDQUFDZCxPQUE3QixDQUFRSCxHQUFSO0FBQ0EsTUFBUUQsY0FBUixHQUEyQmtCLFlBQVksQ0FBQ2QsT0FBeEMsQ0FBUUosY0FBUjtBQUVBLE1BQUlrQyxPQUFpQixHQUFHLEVBQXhCO0FBQ0EsTUFBSVEsYUFBYSxHQUFHLEVBQXBCO0FBQ0EsTUFBSTFDLGNBQWMsS0FBSyxLQUF2QixFQUE4QkMsR0FBRyxDQUFDb0MsR0FBSixDQUFRLFVBQUNNLE1BQUQ7QUFBQSxXQUFZVCxPQUFPLENBQUNFLElBQVIsQ0FBYU8sTUFBTSxDQUFDSixJQUFwQixDQUFaO0FBQUEsR0FBUjtBQUM5QkwsRUFBQUEsT0FBTyxDQUFDTSxNQUFSLElBQWtCLENBQWxCLEdBQ0tFLGFBQWEsR0FBR1IsT0FBTyxDQUFDTixJQUFSLENBQWEsSUFBYixDQURyQixHQUVLYyxhQUFhLEdBQUdSLE9BQU8sQ0FBQ08sS0FBUixDQUFjLENBQWQsRUFBaUIsQ0FBakIsRUFBb0JiLElBQXBCLENBQXlCLElBQXpCLElBQWlDLElBRnREO0FBR0EsU0FBT2MsYUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb24ge1xuICBhdmFpbGFibGVfdHlwZXM/OiBzdHJpbmdbXTtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBzZXZlcml0eTogc3RyaW5nO1xuICB3YXRlcl9hdXRob3JpdGllczogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHBvaW50czogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uO1xuICBzZW5zb3JzOiBBZHZhbmNlZFNlbGVjdGlvbjtcbiAgYWN0aW9uczogYW55O1xuICBwdW1wX29ubHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZHZhbmNlZFNlbGVjdGlvbiB7XG4gIHNlbGVjdGlvbl90eXBlOiBzdHJpbmc7XG4gIHNldDogYW55O1xuICB3YXRlcl9hdXRob3JpdHk/OiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBtb2NrVHlwZXM6IGFueSA9IFtcbiAgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyxcbiAgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICdEZXZpY2VIZWFsdGhBbGVydENvbmZpZycsXG4gICdXYmVBbGVydENvbmZpZycsXG4gICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG5dO1xuXG5leHBvcnQgY29uc3QgZ2V0RW1wdHlOb3RpZmljYXRpb24gPSAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgYXZhaWxhYmxlX3R5cGVzOiBbXG4gICAgICAnUG9sbHV0aW9uQWxlcnRDb25maWcnLFxuICAgICAgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycsXG4gICAgICAnRGF0YWxvZ2dlck92ZXJmbG93QWxlcnRDb25maWcnLFxuICAgICAgJ0RldmljZUhlYWx0aEFsZXJ0Q29uZmlnJyxcbiAgICAgICdXYmVBbGVydENvbmZpZycsXG4gICAgICAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnLFxuICAgIF0sXG4gICAgaWQ6ICcnLFxuICAgIHR5cGU6ICcnLFxuICAgIHNldmVyaXR5OiAnbWVkaXVtJyxcbiAgICB3YXRlcl9hdXRob3JpdGllczoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHBvaW50czoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHRhZ3M6IHtcbiAgICAgIHNlbGVjdGlvbl90eXBlOiAnYWxsJyxcbiAgICAgIHNldDogW10sXG4gICAgfSxcbiAgICBzZW5zb3JzOiB7XG4gICAgICBzZWxlY3Rpb25fdHlwZTogJ2FsbCcsXG4gICAgICBzZXQ6IFtdLFxuICAgIH0sXG4gICAgYWN0aW9uczogeyB0ZWxlZ3JhbTogZmFsc2UsIGVtYWlsOiB0cnVlLCBzbXM6IHRydWUgfSxcbiAgICBwdW1wX29ubHk6ICcwJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXZlcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leHRyZW1lJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnZXh0cmVtZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2hpZ2gnLFxuICAgIG5hbWU6ICdzZXZlcml0eScsXG4gICAgdmFsdWU6ICdoaWdoJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfbWVkaXVtJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnbWVkaXVtJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCB3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdhbGwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9pbmNsdWRlJyxcbiAgICBuYW1lOiAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIHZhbHVlOiAnaW5jbHVkZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2V4Y2x1ZGUnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzb3VyY2VzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2FsbCcsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2luY2x1ZGUnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2luY2x1ZGUnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leGNsdWRlJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzZW5kVmlhQ2hlY2tCb3hlcyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdGVsZWdyYW0nLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ3RlbGVncmFtJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZW1haWwnLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ2VtYWlsJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc21zJyxcbiAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgdmFsdWU6ICdzbXMnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IGdldE5vdGlmaWNhdGlvblN0cmluZyA9IChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4ge1xuICBjb25zdCB0cmFuc0lkeCA9ICdub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0Lic7XG4gIGNvbnN0IHRpdGxlID0gaTE4bi50KGAke3RyYW5zSWR4fXRpdGxlYCk7XG4gIGxldCB0eXBlU3RyaW5nID0gJyc7XG4gIGxldCBzYW1wbGVTdHJpbmcgPSAnJztcbiAgc2FtcGxlU3RyaW5nID0gbm90aWZpY2F0aW9uLnB1bXBfb25seVxuICAgID8gYCAke2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNhbXBsZXJfYWN0aXZhdGVkJyl9YFxuICAgIDogJy4nO1xuXG4gIHN3aXRjaCAobm90aWZpY2F0aW9uLnR5cGUpIHtcbiAgICBjYXNlICdQb2xsdXRpb25BbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gW1xuICAgICAgICB0aXRsZSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKG5vdGlmaWNhdGlvbiksXG4gICAgICAgIGkxOG4udChgJHt0cmFuc0lkeH1hYm91dF9wb2xsdXRpb25fZXZlbnRzYCksXG4gICAgICAgIGdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KSxcbiAgICAgICAgc2FtcGxlU3RyaW5nLFxuICAgICAgXS5qb2luKCcgJyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQoXG4gICAgICAgIHRyYW5zSWR4ICsgJ3NlbnNvcnNfdGhyZXNob2xkcycsXG4gICAgICApfSwgJHtnZXROb3RpZmljYXRpb25TZW5zb3JzU3RyaW5nKG5vdGlmaWNhdGlvbil9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udCh0cmFuc0lkeCArICdvdmVyZmxvd19ldmVudCcpfSwgJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHRyYW5zSWR4LFxuICAgICAgKX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RldmljZUhlYWx0aEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KFxuICAgICAgICB0cmFuc0lkeCArICdkZXZpY2VfbWFsZnVuY3Rpb25pbmcnLFxuICAgICAgKX0gJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX3dlZWtseScpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX2FsZXJ0Jyl9LmA7XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gdHlwZVN0cmluZztcbn07XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhub3RpZmljYXRpb24pIHtcbiAgY29uc3Qgc2VuZFZpYSA9IG5vdGlmaWNhdGlvbi5hY3Rpb25zO1xuICBsZXQgc2VuZFZpYVN0cmluZyA9ICcnO1xuICBmb3IgKGNvbnN0IGtleSBpbiBzZW5kVmlhKSB7XG4gICAgaWYgKHNlbmRWaWFba2V5XSkge1xuICAgICAgc2VuZFZpYVN0cmluZyArPSBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5lZGl0XyR7a2V5fWApICsgJywgJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHNlbmRWaWFTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmcobm90aWZpY2F0aW9uKSB7XG4gIGNvbnN0IHsgc2V2ZXJpdHkgfSA9IG5vdGlmaWNhdGlvbjtcbiAgbGV0IHNldmVyaXR5U3RyaW5nID0gJyc7XG4gIHNldmVyaXR5ID09PSAnZXh0cmVtZSdcbiAgICA/IChzZXZlcml0eVN0cmluZyA9IGkxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmV4dHJlbWUnKSlcbiAgICA6IChzZXZlcml0eVN0cmluZyA9XG4gICAgICAgIGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLiR7c2V2ZXJpdHl9YCkgK1xuICAgICAgICAnICcgK1xuICAgICAgICBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5ub3RpZmljYXRpb25zX3RleHQub3JfaGlnaGVyYCkpO1xuICByZXR1cm4gc2V2ZXJpdHlTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmcobm90aWZpY2F0aW9uLCB0cmFuc0lkeCkge1xuICBjb25zdCB7IHNldCB9ID0gbm90aWZpY2F0aW9uLnBvaW50cztcbiAgY29uc3QgeyBzZWxlY3Rpb25fdHlwZSB9ID0gbm90aWZpY2F0aW9uLnBvaW50cztcblxuICBsZXQgU3RyaW5nczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHNvdXJjZXNTdHJpbmcgPSAnJztcbiAgaWYgKHNlbGVjdGlvbl90eXBlID09PSAnYWxsJylcbiAgICBTdHJpbmdzLnB1c2goaTE4bi50KGAke3RyYW5zSWR4fWluX2FsbF9zb3VyY2VzYCkpO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgPT09ICdleGNsdWRlJylcbiAgICBTdHJpbmdzLnB1c2goaTE4bi50KGAke3RyYW5zSWR4fWV4Y2x1ZGluZ2ApKTtcbiAgaWYgKHNlbGVjdGlvbl90eXBlID09PSAnaW5jbHVkZScpIFN0cmluZ3MucHVzaChpMThuLnQoYCR7dHJhbnNJZHh9aW5gKSk7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcpIHNldC5tYXAoKHNvdXJjZSkgPT4gU3RyaW5ncy5wdXNoKHNvdXJjZS50ZXh0KSk7XG4gIFN0cmluZ3MubGVuZ3RoIDw9IDRcbiAgICA/IChzb3VyY2VzU3RyaW5nID0gU3RyaW5ncy5qb2luKCcsICcpKVxuICAgIDogKHNvdXJjZXNTdHJpbmcgPSBTdHJpbmdzLnNsaWNlKDAsIDUpLmpvaW4oJywgJykgKyAnLi4nKTtcbiAgcmV0dXJuIHNvdXJjZXNTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNlbnNvcnNTdHJpbmcobm90aWZpY2F0aW9uKSB7XG4gIGNvbnN0IHsgc2V0IH0gPSBub3RpZmljYXRpb24uc2Vuc29ycztcbiAgY29uc3QgeyBzZWxlY3Rpb25fdHlwZSB9ID0gbm90aWZpY2F0aW9uLnNlbnNvcnM7XG5cbiAgbGV0IFN0cmluZ3M6IHN0cmluZ1tdID0gW107XG4gIGxldCBzZW5zb3JzU3RyaW5nID0gJyc7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcpIHNldC5tYXAoKHNlbnNvcikgPT4gU3RyaW5ncy5wdXNoKHNlbnNvci50ZXh0KSk7XG4gIFN0cmluZ3MubGVuZ3RoIDw9IDRcbiAgICA/IChzZW5zb3JzU3RyaW5nID0gU3RyaW5ncy5qb2luKCcsICcpKVxuICAgIDogKHNlbnNvcnNTdHJpbmcgPSBTdHJpbmdzLnNsaWNlKDAsIDUpLmpvaW4oJywgJykgKyAnLi4nKTtcbiAgcmV0dXJuIHNlbnNvcnNTdHJpbmc7XG59XG4iXX0=
|
|
199
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL25vdGlmaWNhdGlvblV0aWxzLnRzeCJdLCJuYW1lcyI6WyJtb2NrVHlwZXMiLCJnZXRFbXB0eU5vdGlmaWNhdGlvbiIsImF2YWlsYWJsZV90eXBlcyIsImlkIiwidHlwZSIsInNldmVyaXR5Iiwid2F0ZXJfYXV0aG9yaXRpZXMiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsInBvaW50cyIsInRhZ3MiLCJzZW5zb3JzIiwiYWN0aW9ucyIsInRlbGVncmFtIiwiZW1haWwiLCJzbXMiLCJwdW1wX29ubHkiLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwibGFiZWwiLCJuYW1lIiwidmFsdWUiLCJ3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zIiwic291cmNlc1JhZGlvQnV0dG9ucyIsInNlbmRWaWFDaGVja0JveGVzIiwiZ2V0Tm90aWZpY2F0aW9uU3RyaW5nIiwibm90aWZpY2F0aW9uIiwidHJhbnNJZHgiLCJ0aXRsZSIsImkxOG4iLCJ0IiwidHlwZVN0cmluZyIsInNhbXBsZVN0cmluZyIsImdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyIsImdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmciLCJnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nIiwiam9pbiIsImdldE5vdGlmaWNhdGlvblNlbnNvcnNTdHJpbmciLCJzZW5kVmlhIiwidGVtcEFycmF5Iiwic2VuZFZpYVN0cmluZyIsImtleSIsInB1c2giLCJyZXBsYWNlIiwic2V2ZXJpdHlTdHJpbmciLCJTdHJpbmdzIiwic291cmNlc1N0cmluZyIsIm1hcCIsInNvdXJjZSIsInRleHQiLCJsZW5ndGgiLCJzZW5zb3JzU3RyaW5nIiwic2Vuc29yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFxQk8sSUFBTUEsU0FBYyxHQUFHLENBQzVCLHNCQUQ0QixFQUU1QixnQ0FGNEIsRUFHNUIsK0JBSDRCLEVBSTVCLHlCQUo0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QUssU0FBdkIsRUFDRXNDLGFBQWEsR0FBR2pCLGNBQUtDLENBQUwsV0FBVUgsUUFBVixXQUEwQixHQUExQztBQUNGLE1BQUluQixjQUFjLEtBQUssS0FBdkIsRUFBOEJDLEdBQUcsQ0FBQ3NDLEdBQUosQ0FBUSxVQUFDQyxNQUFEO0FBQUEsV0FBWUgsT0FBTyxDQUFDSCxJQUFSLENBQWFNLE1BQU0sQ0FBQ0MsSUFBcEIsQ0FBWjtBQUFBLEdBQVI7QUFDOUJILEVBQUFBLGFBQWEsSUFBSUQsT0FBTyxDQUFDVCxJQUFSLENBQWFTLE9BQU8sQ0FBQ0ssTUFBUixHQUFpQixDQUFqQixHQUFxQixJQUFyQixHQUE0QixHQUF6QyxDQUFqQjtBQUNBLFNBQU9KLGFBQVA7QUFDRDs7QUFFRCxTQUFTVCw0QkFBVCxDQUFzQ1gsWUFBdEMsRUFBb0Q7QUFDbEQsTUFBUWpCLEdBQVIsR0FBZ0JpQixZQUFZLENBQUNkLE9BQTdCLENBQVFILEdBQVI7QUFDQSxNQUFRRCxjQUFSLEdBQTJCa0IsWUFBWSxDQUFDZCxPQUF4QyxDQUFRSixjQUFSO0FBRUEsTUFBSXFDLE9BQWlCLEdBQUcsRUFBeEI7QUFDQSxNQUFJTSxhQUFhLEdBQUcsRUFBcEI7O0FBQ0EsTUFBSTNDLGNBQWMsS0FBSyxLQUF2QixFQUE4QjtBQUM1QkMsSUFBQUEsR0FBRyxDQUFDc0MsR0FBSixDQUFRLFVBQUNLLE1BQUQ7QUFBQSxhQUFZUCxPQUFPLENBQUNILElBQVIsQ0FBYVUsTUFBTSxDQUFDSCxJQUFwQixDQUFaO0FBQUEsS0FBUjtBQUNBRSxJQUFBQSxhQUFhLEdBQUcsSUFBaEI7QUFDQUEsSUFBQUEsYUFBYSxJQUFJTixPQUFPLENBQUNULElBQVIsQ0FBYSxJQUFiLENBQWpCO0FBQ0Q7O0FBQ0QsU0FBT2UsYUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb24ge1xuICBhdmFpbGFibGVfdHlwZXM/OiBzdHJpbmdbXTtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBzZXZlcml0eTogc3RyaW5nO1xuICB3YXRlcl9hdXRob3JpdGllczogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHBvaW50czogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uO1xuICBzZW5zb3JzOiBBZHZhbmNlZFNlbGVjdGlvbjtcbiAgYWN0aW9uczogYW55O1xuICBwdW1wX29ubHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZHZhbmNlZFNlbGVjdGlvbiB7XG4gIHNlbGVjdGlvbl90eXBlOiBzdHJpbmc7XG4gIHNldDogYW55O1xuICB3YXRlcl9hdXRob3JpdHk/OiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBtb2NrVHlwZXM6IGFueSA9IFtcbiAgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyxcbiAgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICdEZXZpY2VIZWFsdGhBbGVydENvbmZpZycsXG4gICdXYmVBbGVydENvbmZpZycsXG4gICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG5dO1xuXG5leHBvcnQgY29uc3QgZ2V0RW1wdHlOb3RpZmljYXRpb24gPSAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgYXZhaWxhYmxlX3R5cGVzOiBbXG4gICAgICAnUG9sbHV0aW9uQWxlcnRDb25maWcnLFxuICAgICAgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycsXG4gICAgICAnRGF0YWxvZ2dlck92ZXJmbG93QWxlcnRDb25maWcnLFxuICAgICAgJ0RldmljZUhlYWx0aEFsZXJ0Q29uZmlnJyxcbiAgICAgICdXYmVBbGVydENvbmZpZycsXG4gICAgICAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnLFxuICAgIF0sXG4gICAgaWQ6ICcnLFxuICAgIHR5cGU6ICcnLFxuICAgIHNldmVyaXR5OiAnbWVkaXVtJyxcbiAgICB3YXRlcl9hdXRob3JpdGllczoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHBvaW50czoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHRhZ3M6IHtcbiAgICAgIHNlbGVjdGlvbl90eXBlOiAnYWxsJyxcbiAgICAgIHNldDogW10sXG4gICAgfSxcbiAgICBzZW5zb3JzOiB7XG4gICAgICBzZWxlY3Rpb25fdHlwZTogJ2FsbCcsXG4gICAgICBzZXQ6IFtdLFxuICAgIH0sXG4gICAgYWN0aW9uczogeyB0ZWxlZ3JhbTogZmFsc2UsIGVtYWlsOiB0cnVlLCBzbXM6IHRydWUgfSxcbiAgICBwdW1wX29ubHk6ICcwJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXZlcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leHRyZW1lJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnZXh0cmVtZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2hpZ2gnLFxuICAgIG5hbWU6ICdzZXZlcml0eScsXG4gICAgdmFsdWU6ICdoaWdoJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfbWVkaXVtJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnbWVkaXVtJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCB3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdhbGwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9pbmNsdWRlJyxcbiAgICBuYW1lOiAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIHZhbHVlOiAnaW5jbHVkZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2V4Y2x1ZGUnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzb3VyY2VzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2FsbCcsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2luY2x1ZGUnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2luY2x1ZGUnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leGNsdWRlJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzZW5kVmlhQ2hlY2tCb3hlcyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdGVsZWdyYW0nLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ3RlbGVncmFtJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZW1haWwnLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ2VtYWlsJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc21zJyxcbiAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgdmFsdWU6ICdzbXMnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IGdldE5vdGlmaWNhdGlvblN0cmluZyA9IChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4ge1xuICBjb25zdCB0cmFuc0lkeCA9ICdub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0Lic7XG4gIGNvbnN0IHRpdGxlID0gaTE4bi50KGAke3RyYW5zSWR4fXRpdGxlYCk7XG4gIGxldCB0eXBlU3RyaW5nID0gJyc7XG4gIGxldCBzYW1wbGVTdHJpbmcgPSAnJztcbiAgc2FtcGxlU3RyaW5nID1cbiAgICBub3RpZmljYXRpb24ucHVtcF9vbmx5ID09PSAnMSdcbiAgICAgID8gYCAke2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNhbXBsZXJfYWN0aXZhdGVkJyl9YFxuICAgICAgOiAnLic7XG5cbiAgc3dpdGNoIChub3RpZmljYXRpb24udHlwZSkge1xuICAgIGNhc2UgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBbXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgaTE4bi50KGAke3RyYW5zSWR4fWFib3V0X3BvbGx1dGlvbl9ldmVudHNgKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyhub3RpZmljYXRpb24pLFxuICAgICAgICBnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpLFxuICAgICAgXS5qb2luKCcgJyk7XG4gICAgICB0eXBlU3RyaW5nICs9IHNhbXBsZVN0cmluZztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udChcbiAgICAgICAgdHJhbnNJZHggKyAnc2Vuc29yc190aHJlc2hvbGRzJyxcbiAgICAgICl9JHtnZXROb3RpZmljYXRpb25TZW5zb3JzU3RyaW5nKG5vdGlmaWNhdGlvbil9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udCh0cmFuc0lkeCArICdvdmVyZmxvd19ldmVudCcpfSwgJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHRyYW5zSWR4LFxuICAgICAgKX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RldmljZUhlYWx0aEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KFxuICAgICAgICB0cmFuc0lkeCArICdkZXZpY2VfbWFsZnVuY3Rpb25pbmcnLFxuICAgICAgKX0gJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX3dlZWtseScpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX2FsZXJ0Jyl9LmA7XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gdHlwZVN0cmluZztcbn07XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhub3RpZmljYXRpb24pIHtcbiAgY29uc3Qgc2VuZFZpYSA9IG5vdGlmaWNhdGlvbi5hY3Rpb25zO1xuICBsZXQgdGVtcEFycmF5OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGxldCBzZW5kVmlhU3RyaW5nID0gJyc7XG4gIGZvciAoY29uc3Qga2V5IGluIHNlbmRWaWEpIHtcbiAgICBpZiAoc2VuZFZpYVtrZXldKSB7XG4gICAgICB0ZW1wQXJyYXkucHVzaChpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5lZGl0XyR7a2V5fWApKTtcbiAgICB9XG4gIH1cbiAgc2VuZFZpYVN0cmluZyA9IHRlbXBBcnJheS5qb2luKCcsICcpO1xuICBzZW5kVmlhU3RyaW5nID0gc2VuZFZpYVN0cmluZy5yZXBsYWNlKC8sXFxzKFteLF0rKSQvLCAnICYgJDEnKTtcbiAgcmV0dXJuIHNlbmRWaWFTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmcobm90aWZpY2F0aW9uKSB7XG4gIGNvbnN0IHsgc2V2ZXJpdHkgfSA9IG5vdGlmaWNhdGlvbjtcbiAgbGV0IHNldmVyaXR5U3RyaW5nID0gJyc7XG4gIHNldmVyaXR5ID09PSAnZXh0cmVtZSdcbiAgICA/IChzZXZlcml0eVN0cmluZyA9IGkxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmV4dHJlbWUnKSlcbiAgICA6IChzZXZlcml0eVN0cmluZyA9XG4gICAgICAgIGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLiR7c2V2ZXJpdHl9YCkgK1xuICAgICAgICAnICcgK1xuICAgICAgICBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5ub3RpZmljYXRpb25zX3RleHQub3JfaGlnaGVyYCkpO1xuICByZXR1cm4gc2V2ZXJpdHlTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmcobm90aWZpY2F0aW9uLCB0cmFuc0lkeCkge1xuICBjb25zdCB7IHNldCB9ID0gbm90aWZpY2F0aW9uLnBvaW50cztcbiAgY29uc3QgeyBzZWxlY3Rpb25fdHlwZSB9ID0gbm90aWZpY2F0aW9uLnBvaW50cztcblxuICBsZXQgU3RyaW5nczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHNvdXJjZXNTdHJpbmcgPSAnJztcbiAgaWYgKHNlbGVjdGlvbl90eXBlID09PSAnYWxsJylcbiAgICBTdHJpbmdzLnB1c2goaTE4bi50KGAke3RyYW5zSWR4fWluX2FsbF9zb3VyY2VzYCkpO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgPT09ICdleGNsdWRlJylcbiAgICBTdHJpbmdzLnB1c2goaTE4bi50KGAke3RyYW5zSWR4fWV4Y2x1ZGluZ2ApKTtcbiAgaWYgKHNlbGVjdGlvbl90eXBlID09PSAnaW5jbHVkZScpXG4gICAgc291cmNlc1N0cmluZyA9IGkxOG4udChgJHt0cmFuc0lkeH1pbmApICsgJyAnO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnKSBzZXQubWFwKChzb3VyY2UpID0+IFN0cmluZ3MucHVzaChzb3VyY2UudGV4dCkpO1xuICBzb3VyY2VzU3RyaW5nICs9IFN0cmluZ3Muam9pbihTdHJpbmdzLmxlbmd0aCA+IDEgPyAnLCAnIDogJyAnKTtcbiAgcmV0dXJuIHNvdXJjZXNTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNlbnNvcnNTdHJpbmcobm90aWZpY2F0aW9uKSB7XG4gIGNvbnN0IHsgc2V0IH0gPSBub3RpZmljYXRpb24uc2Vuc29ycztcbiAgY29uc3QgeyBzZWxlY3Rpb25fdHlwZSB9ID0gbm90aWZpY2F0aW9uLnNlbnNvcnM7XG5cbiAgbGV0IFN0cmluZ3M6IHN0cmluZ1tdID0gW107XG4gIGxldCBzZW5zb3JzU3RyaW5nID0gJyc7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcpIHtcbiAgICBzZXQubWFwKChzZW5zb3IpID0+IFN0cmluZ3MucHVzaChzZW5zb3IudGV4dCkpO1xuICAgIHNlbnNvcnNTdHJpbmcgPSAnOiAnO1xuICAgIHNlbnNvcnNTdHJpbmcgKz0gU3RyaW5ncy5qb2luKCcsICcpO1xuICB9XG4gIHJldHVybiBzZW5zb3JzU3RyaW5nO1xufVxuIl19
|