@kando-env/kando-ui 1.2.412-alpha.0 → 1.2.412-alpha.1
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.
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
8
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
10
|
-
var _react =
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
12
|
var _reactRedux = require("react-redux");
|
|
12
13
|
var _AreaUtils = require("./AreaUtils");
|
|
13
14
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
@@ -16,6 +17,8 @@ var _utils = require("pages/DashboardMap/utils");
|
|
|
16
17
|
var _scoreToData = require("utilities/scoreToData");
|
|
17
18
|
var _Capacity = require("pages/DashboardMap/Capacity");
|
|
18
19
|
var _reactRouterDom = require("react-router-dom");
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
22
|
var AreaPolygon = function AreaPolygon(props) {
|
|
20
23
|
var map = props.map,
|
|
21
24
|
area = props.area,
|
|
@@ -103,32 +106,28 @@ var AreaPolygon = function AreaPolygon(props) {
|
|
|
103
106
|
var polygonColor = polygon.options.color;
|
|
104
107
|
return areaColor !== polygonColor;
|
|
105
108
|
};
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
109
|
+
(0, _react.useEffect)(function () {
|
|
110
|
+
var area_id = (0, _AreaUtils.getAreaId)(area);
|
|
111
|
+
var existingPolygon = getPolygon(area_id);
|
|
112
|
+
if (isPolygonChangedColor(existingPolygon, area)) {
|
|
113
|
+
var polygon = (0, _AreaUtils.createPolygon)(area, mapZoom, featureGroup, map, WWTPMapLogic);
|
|
114
|
+
if (polygon) {
|
|
115
|
+
var subAreas = area.sub_areas.map(function (subArea) {
|
|
116
|
+
return subArea.area_id;
|
|
117
|
+
});
|
|
118
|
+
if (subAreas.length > 0) {
|
|
119
|
+
polygon['sub_areas'] = subAreas;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (existingPolygon && featureGroup && map) {
|
|
123
|
+
featureGroup.removeLayer(existingPolygon);
|
|
124
|
+
map.fire('zoomend');
|
|
122
125
|
}
|
|
123
126
|
}
|
|
124
|
-
|
|
125
|
-
featureGroup.removeLayer(existingPolygon);
|
|
126
|
-
map.fire('zoomend');
|
|
127
|
-
}
|
|
128
|
-
}
|
|
127
|
+
}, [area, mapZoom, map, featureGroup]);
|
|
129
128
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
130
129
|
};
|
|
131
130
|
var connector = (0, _reactRedux.connect)(null);
|
|
132
131
|
var _default = connector(AreaPolygon);
|
|
133
132
|
exports.default = _default;
|
|
134
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJlZHV4IiwiX0FyZWFVdGlscyIsIl9yZWFjdERvbSIsIl9XaWRnZXQiLCJfdXRpbHMiLCJfc2NvcmVUb0RhdGEiLCJfQ2FwYWNpdHkiLCJfcmVhY3RSb3V0ZXJEb20iLCJBcmVhUG9seWdvbiIsInByb3BzIiwibWFwIiwiYXJlYSIsIm1hcFpvb20iLCJnbG9iYWxfZGF0YSIsImZlYXR1cmVHcm91cCIsInBvaW50cyIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwb2ludHNfZGF0YSIsIml0ZW1zIiwiYXJlYXMiLCJhcmVhc19kYXRhIiwiV1dUUE1vZGUiLCJ3d3RwX2Rhc2hib2FyZCIsImNhcGFjaXR5Iiwid2F0ZXJBdXRob3JpdHlJc0NhcGFjaXR5IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwiV1dUUE1hcExvZ2ljIiwicG9seWdvbiIsImZldGNoRGF0YUFuZFNob3dQb3B1cCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJkZWZhdWx0IiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3aWRnZXRDb250YWluZXIiLCJ0eXBlIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImNyZWF0ZVBvcHVwRm9yT2JqZWN0IiwicmVuZGVyZWRFbGVtZW50IiwibWFya2VyIiwiaXNfdmlydHVhbCIsImZldGNoQ2FwYWNpdHkiLCJhcmVhX2lkIiwid2F0ZXJBdXRob3JpdHlJZCIsInRoZW4iLCJsaXN0RGF0YSIsIlJlYWN0RE9NIiwicmVuZGVyIiwiV2lkZ2V0Iiwib2JqZWN0IiwiaXNQb3B1cE9wZW4iLCJvcGVuUG9wdXAiLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJvbiIsImNsb3NlUG9wdXAiLCJvcGVuVG9vbHRpcCIsInN1YmplY3QiLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJhcmVhX25hbWUiLCJnZXRQb2x5Z29uIiwiaWQiLCJlYWNoTGF5ZXIiLCJsYXllciIsImthbmRvX29iamVjdF9pZCIsImlzUG9seWdvbkNoYW5nZWRDb2xvciIsImFyZWFDb2xvciIsInNjb3JlVG9Db2xvciIsImFyZWFfc2NvcmUiLCJwb2x5Z29uQ29sb3IiLCJvcHRpb25zIiwiY29sb3IiLCJnZXRBcmVhSWQiLCJleGlzdGluZ1BvbHlnb24iLCJjcmVhdGVQb2x5Z29uIiwic3ViQXJlYXMiLCJzdWJfYXJlYXMiLCJzdWJBcmVhIiwibGVuZ3RoIiwicmVtb3ZlTGF5ZXIiLCJmaXJlIiwiRnJhZ21lbnQiLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2FyZWFzL0FyZWFQb2x5Z29uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IGNyZWF0ZVBvbHlnb24gfSBmcm9tICcuL0FyZWFVdGlscyc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFdpZGdldCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0JztcbmltcG9ydCB7XG4gIGNyZWF0ZVBvcHVwRm9yT2JqZWN0LFxuICBzZW5kQW5hbHl0aWNzRXZlbnQsXG59IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuaW1wb3J0IHsgRmVhdHVyZUdyb3VwIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzY29yZVRvQ29sb3IgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IGZldGNoQ2FwYWNpdHkgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0NhcGFjaXR5JztcbmltcG9ydCB7IHVzZUhpc3RvcnkgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IGdldEFyZWFJZCB9IGZyb20gJy4vQXJlYVV0aWxzJztcblxudHlwZSBQcm9wcyA9IHtcbiAgbWFwOiBhbnk7XG4gIEw6IGFueTtcbiAgYXJlYTogSUFyZWEgJiB7IGNvbG9yPzogc3RyaW5nOyBzaG93Q29sb3JPbmx5SW5Cb3JkZXJzPzogYm9vbGVhbiB9O1xuICBtYXBab29tOiBudW1iZXI7XG4gIGdsb2JhbF9kYXRhOiBhbnk7XG4gIGJpbmRQb3B1cD86IGJvb2xlYW47XG4gIGZlYXR1cmVHcm91cDogRmVhdHVyZUdyb3VwO1xufTtcblxuY29uc3QgQXJlYVBvbHlnb246IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IG1hcCwgYXJlYSwgbWFwWm9vbSwgZ2xvYmFsX2RhdGEsIGZlYXR1cmVHcm91cCB9ID0gcHJvcHM7XG4gIGNvbnN0IHBvaW50cyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucG9pbnRzX2RhdGEuaXRlbXMpO1xuICBjb25zdCBhcmVhcyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUuYXJlYXNfZGF0YS5pdGVtcyk7XG4gIGNvbnN0IFdXVFBNb2RlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGwpO1xuICBjb25zdCBjYXBhY2l0eSA9IGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SXNDYXBhY2l0eTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuXG4gIGNvbnN0IFdXVFBNYXBMb2dpYyA9IChwb2x5Z29uLCBhcmVhKSA9PiB7XG4gICAgaWYgKCFXV1RQTW9kZSB8fCAhY2FwYWNpdHkpIHJldHVybjtcblxuICAgIGNvbnN0IGZldGNoRGF0YUFuZFNob3dQb3B1cCA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgICAgY3JlYXRlUG9wdXBGb3JPYmplY3Qoe1xuICAgICAgICByZW5kZXJlZEVsZW1lbnQ6IHdpZGdldENvbnRhaW5lcixcbiAgICAgICAgbWFya2VyOiBwb2x5Z29uLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHR5cGUgPSBhcmVhPy5pc192aXJ0dWFsID09PSB0cnVlID8gJ3ZhcmVhJyA6ICdhcmVhJztcbiAgICAgIGZldGNoQ2FwYWNpdHkodHlwZSwgYXJlYS5hcmVhX2lkLCBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKS50aGVuKFxuICAgICAgICAobGlzdERhdGEpID0+IHtcbiAgICAgICAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICAgICAgICA8V2lkZ2V0XG4gICAgICAgICAgICAgIG9iamVjdD17YXJlYX1cbiAgICAgICAgICAgICAgZGlzcGF0Y2g9e2Rpc3BhdGNofVxuICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgICBsaXN0RGF0YT17bGlzdERhdGF9XG4gICAgICAgICAgICAgIGhpc3Rvcnk9e2hpc3Rvcnl9XG4gICAgICAgICAgICAvPixcbiAgICAgICAgICAgIHdpZGdldENvbnRhaW5lcixcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgaWYgKCFwb2x5Z29uLmlzUG9wdXBPcGVuKCkpIHtcbiAgICAgICAgcG9seWdvbi5vcGVuUG9wdXAoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcG9seWdvbi5vbignY2xpY2stZXZlbnQnLCAoKSA9PiB7XG4gICAgICBwb2x5Z29uLmlzUG9wdXBPcGVuKCkgPyBwb2x5Z29uLmNsb3NlUG9wdXAoKSA6IGZldGNoRGF0YUFuZFNob3dQb3B1cCgpO1xuICAgICAgcG9seWdvbi5vcGVuVG9vbHRpcCgpO1xuICAgIH0pO1xuXG4gICAgcG9seWdvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICBmZXRjaERhdGFBbmRTaG93UG9wdXAoKTtcblxuICAgICAgY29uc3Qgc3ViamVjdCA9ICdNYXAgVmlldyAtIEFyZWEgY2xpY2tlZCc7XG4gICAgICBzZW5kQW5hbHl0aWNzRXZlbnQoc3ViamVjdCwgJ21hcCcsIHtcbiAgICAgICAgYXJlYV9pZDogYXJlYS5hcmVhX2lkLFxuICAgICAgICBhcmVhX25hbWU6IGFyZWEuYXJlYV9uYW1lLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgZ2V0UG9seWdvbiA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgbGV0IHBvbHlnb247XG4gICAgZmVhdHVyZUdyb3VwLmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICAgIGlmIChsYXllci5rYW5kb19vYmplY3RfaWQgPT09IGlkKSB7XG4gICAgICAgIHBvbHlnb24gPSBsYXllcjtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcG9seWdvbjtcbiAgfTtcblxuICBjb25zdCBpc1BvbHlnb25DaGFuZ2VkQ29sb3IgPSAocG9seWdvbiwgYXJlYSkgPT4ge1xuICAgIGlmICghcG9seWdvbikgcmV0dXJuIHRydWU7XG4gICAgY29uc3QgYXJlYUNvbG9yID0gc2NvcmVUb0NvbG9yKGFyZWEuYXJlYV9zY29yZSk7XG4gICAgY29uc3QgcG9seWdvbkNvbG9yID0gcG9seWdvbi5vcHRpb25zLmNvbG9yO1xuICAgIHJldHVybiBhcmVhQ29sb3IgIT09IHBvbHlnb25Db2xvcjtcbiAgfTtcblxuICAvLyBUaGUgZm9sbG93aW5nIHJlbW92ZXMgdGhlIGV4aXN0aW5nIGxheWVyIGFuZCByZWRyYXcgaXQgYWZ0ZXIuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IHNvIHRoZSBmZWF0dXJlR3JvdXAgd2lsbCBob2xkIG9ubHkgb25lIHBvbHlnb24gcGVyIGFyZWEgb3RoZXJ3aXNlIHRoZXkgYXJlIHBpbGluZyB1cC5cbiAgLy8gV2UgcmVwbGFjZSB0aGVtIGJlY2F1c2UgdGhlIGFyZWEncyBjb2xvciBtaWdodCBoYXZlIGNoYW5nZWQuXG4gIC8vIFRoaXMgY3JlYXRlcyBhIGZsaWNrZXJpbmcgZWZmZWN0IG9uIHRoZSBtYXAgd2hpY2ggaXMgbm90IGlkZWFsXG4gIC8vIGJ1dCBpdCdzIHRoZSBiZXN0IHNvbHV0aW9uIHdlIGhhdmUgZm9yIG5vdyBhbmQgd2UgbWlnaHQgbmVlZCB0byByZWZhY3RvciB0aGlzIGluIHRoZSBmdXR1cmUuXG4gIGNvbnN0IGFyZWFfaWQgPSBnZXRBcmVhSWQoYXJlYSk7XG4gIGNvbnN0IGV4aXN0aW5nUG9seWdvbiA9IGdldFBvbHlnb24oYXJlYV9pZCk7XG4gIGlmIChpc1BvbHlnb25DaGFuZ2VkQ29sb3IoZXhpc3RpbmdQb2x5Z29uLCBhcmVhKSkge1xuICAgIGNvbnN0IHBvbHlnb24gPSBjcmVhdGVQb2x5Z29uKFxuICAgICAgYXJlYSxcbiAgICAgIG1hcFpvb20sXG4gICAgICBmZWF0dXJlR3JvdXAsXG4gICAgICBtYXAsXG4gICAgICBXV1RQTWFwTG9naWMsXG4gICAgKTtcbiAgICBpZiAocG9seWdvbikge1xuICAgICAgbGV0IHN1YkFyZWFzID0gYXJlYS5zdWJfYXJlYXMubWFwKChzdWJBcmVhKSA9PiBzdWJBcmVhLmFyZWFfaWQpO1xuICAgICAgaWYgKHN1YkFyZWFzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcG9seWdvblsnc3ViX2FyZWFzJ10gPSBzdWJBcmVhcztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGV4aXN0aW5nUG9seWdvbiAmJiBmZWF0dXJlR3JvdXAgJiYgbWFwKSB7XG4gICAgICBmZWF0dXJlR3JvdXAucmVtb3ZlTGF5ZXIoZXhpc3RpbmdQb2x5Z29uKTtcbiAgICAgIG1hcC5maXJlKCd6b29tZW5kJyk7XG4gICAgfVxuICB9XG4gIHJldHVybiA8PjwvPjtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobnVsbCk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoQXJlYVBvbHlnb24pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxVQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFLQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxTQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxlQUFBLEdBQUFSLE9BQUE7QUFhQSxJQUFNUyxXQUE0QixHQUFHLFNBQS9CQSxXQUE0QkEsQ0FBSUMsS0FBSyxFQUFLO0VBQzlDLElBQVFDLEdBQUcsR0FBK0NELEtBQUssQ0FBdkRDLEdBQUc7SUFBRUMsSUFBSSxHQUF5Q0YsS0FBSyxDQUFsREUsSUFBSTtJQUFFQyxPQUFPLEdBQWdDSCxLQUFLLENBQTVDRyxPQUFPO0lBQUVDLFdBQVcsR0FBbUJKLEtBQUssQ0FBbkNJLFdBQVc7SUFBRUMsWUFBWSxHQUFLTCxLQUFLLENBQXRCSyxZQUFZO0VBQ3JELElBQU1DLE1BQU0sR0FBRyxJQUFBQyx1QkFBVyxFQUFDLFVBQUNDLEtBQUs7SUFBQSxPQUFLQSxLQUFLLENBQUNDLFdBQVcsQ0FBQ0MsS0FBSztFQUFBLEVBQUM7RUFDOUQsSUFBTUMsS0FBSyxHQUFHLElBQUFKLHVCQUFXLEVBQUMsVUFBQ0MsS0FBSztJQUFBLE9BQUtBLEtBQUssQ0FBQ0ksVUFBVSxDQUFDRixLQUFLO0VBQUEsRUFBQztF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
|
|
133
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9BcmVhVXRpbHMiLCJfcmVhY3REb20iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1dpZGdldCIsIl91dGlscyIsIl9zY29yZVRvRGF0YSIsIl9DYXBhY2l0eSIsIl9yZWFjdFJvdXRlckRvbSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiQXJlYVBvbHlnb24iLCJwcm9wcyIsIm1hcCIsImFyZWEiLCJtYXBab29tIiwiZ2xvYmFsX2RhdGEiLCJmZWF0dXJlR3JvdXAiLCJwb2ludHMiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwicG9pbnRzX2RhdGEiLCJpdGVtcyIsImFyZWFzIiwiYXJlYXNfZGF0YSIsIldXVFBNb2RlIiwid3d0cF9kYXNoYm9hcmQiLCJjYXBhY2l0eSIsIndhdGVyQXV0aG9yaXR5SXNDYXBhY2l0eSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsIldXVFBNYXBMb2dpYyIsInBvbHlnb24iLCJmZXRjaERhdGFBbmRTaG93UG9wdXAiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3aWRnZXRDb250YWluZXIiLCJ0eXBlIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImNyZWF0ZVBvcHVwRm9yT2JqZWN0IiwicmVuZGVyZWRFbGVtZW50IiwibWFya2VyIiwiaXNfdmlydHVhbCIsImZldGNoQ2FwYWNpdHkiLCJhcmVhX2lkIiwid2F0ZXJBdXRob3JpdHlJZCIsInRoZW4iLCJsaXN0RGF0YSIsIlJlYWN0RE9NIiwicmVuZGVyIiwiV2lkZ2V0Iiwib2JqZWN0IiwiaXNQb3B1cE9wZW4iLCJvcGVuUG9wdXAiLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJvbiIsImNsb3NlUG9wdXAiLCJvcGVuVG9vbHRpcCIsInN1YmplY3QiLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJhcmVhX25hbWUiLCJnZXRQb2x5Z29uIiwiaWQiLCJlYWNoTGF5ZXIiLCJsYXllciIsImthbmRvX29iamVjdF9pZCIsImlzUG9seWdvbkNoYW5nZWRDb2xvciIsImFyZWFDb2xvciIsInNjb3JlVG9Db2xvciIsImFyZWFfc2NvcmUiLCJwb2x5Z29uQ29sb3IiLCJvcHRpb25zIiwiY29sb3IiLCJ1c2VFZmZlY3QiLCJnZXRBcmVhSWQiLCJleGlzdGluZ1BvbHlnb24iLCJjcmVhdGVQb2x5Z29uIiwic3ViQXJlYXMiLCJzdWJfYXJlYXMiLCJzdWJBcmVhIiwibGVuZ3RoIiwicmVtb3ZlTGF5ZXIiLCJmaXJlIiwiRnJhZ21lbnQiLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2FyZWFzL0FyZWFQb2x5Z29uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IGNyZWF0ZVBvbHlnb24gfSBmcm9tICcuL0FyZWFVdGlscyc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFdpZGdldCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0JztcbmltcG9ydCB7XG4gIGNyZWF0ZVBvcHVwRm9yT2JqZWN0LFxuICBzZW5kQW5hbHl0aWNzRXZlbnQsXG59IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuaW1wb3J0IHsgRmVhdHVyZUdyb3VwIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzY29yZVRvQ29sb3IgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IGZldGNoQ2FwYWNpdHkgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0NhcGFjaXR5JztcbmltcG9ydCB7IHVzZUhpc3RvcnkgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IGdldEFyZWFJZCB9IGZyb20gJy4vQXJlYVV0aWxzJztcblxudHlwZSBQcm9wcyA9IHtcbiAgbWFwOiBhbnk7XG4gIEw6IGFueTtcbiAgYXJlYTogSUFyZWEgJiB7IGNvbG9yPzogc3RyaW5nOyBzaG93Q29sb3JPbmx5SW5Cb3JkZXJzPzogYm9vbGVhbiB9O1xuICBtYXBab29tOiBudW1iZXI7XG4gIGdsb2JhbF9kYXRhOiBhbnk7XG4gIGJpbmRQb3B1cD86IGJvb2xlYW47XG4gIGZlYXR1cmVHcm91cDogRmVhdHVyZUdyb3VwO1xufTtcblxuY29uc3QgQXJlYVBvbHlnb246IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IG1hcCwgYXJlYSwgbWFwWm9vbSwgZ2xvYmFsX2RhdGEsIGZlYXR1cmVHcm91cCB9ID0gcHJvcHM7XG4gIGNvbnN0IHBvaW50cyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucG9pbnRzX2RhdGEuaXRlbXMpO1xuICBjb25zdCBhcmVhcyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUuYXJlYXNfZGF0YS5pdGVtcyk7XG4gIGNvbnN0IFdXVFBNb2RlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGwpO1xuICBjb25zdCBjYXBhY2l0eSA9IGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SXNDYXBhY2l0eTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuXG4gIGNvbnN0IFdXVFBNYXBMb2dpYyA9IChwb2x5Z29uLCBhcmVhKSA9PiB7XG4gICAgaWYgKCFXV1RQTW9kZSB8fCAhY2FwYWNpdHkpIHJldHVybjtcblxuICAgIGNvbnN0IGZldGNoRGF0YUFuZFNob3dQb3B1cCA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgICAgY3JlYXRlUG9wdXBGb3JPYmplY3Qoe1xuICAgICAgICByZW5kZXJlZEVsZW1lbnQ6IHdpZGdldENvbnRhaW5lcixcbiAgICAgICAgbWFya2VyOiBwb2x5Z29uLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHR5cGUgPSBhcmVhPy5pc192aXJ0dWFsID09PSB0cnVlID8gJ3ZhcmVhJyA6ICdhcmVhJztcbiAgICAgIGZldGNoQ2FwYWNpdHkodHlwZSwgYXJlYS5hcmVhX2lkLCBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKS50aGVuKFxuICAgICAgICAobGlzdERhdGEpID0+IHtcbiAgICAgICAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICAgICAgICA8V2lkZ2V0XG4gICAgICAgICAgICAgIG9iamVjdD17YXJlYX1cbiAgICAgICAgICAgICAgZGlzcGF0Y2g9e2Rpc3BhdGNofVxuICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgICBsaXN0RGF0YT17bGlzdERhdGF9XG4gICAgICAgICAgICAgIGhpc3Rvcnk9e2hpc3Rvcnl9XG4gICAgICAgICAgICAvPixcbiAgICAgICAgICAgIHdpZGdldENvbnRhaW5lcixcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgaWYgKCFwb2x5Z29uLmlzUG9wdXBPcGVuKCkpIHtcbiAgICAgICAgcG9seWdvbi5vcGVuUG9wdXAoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcG9seWdvbi5vbignY2xpY2stZXZlbnQnLCAoKSA9PiB7XG4gICAgICBwb2x5Z29uLmlzUG9wdXBPcGVuKCkgPyBwb2x5Z29uLmNsb3NlUG9wdXAoKSA6IGZldGNoRGF0YUFuZFNob3dQb3B1cCgpO1xuICAgICAgcG9seWdvbi5vcGVuVG9vbHRpcCgpO1xuICAgIH0pO1xuXG4gICAgcG9seWdvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICBmZXRjaERhdGFBbmRTaG93UG9wdXAoKTtcblxuICAgICAgY29uc3Qgc3ViamVjdCA9ICdNYXAgVmlldyAtIEFyZWEgY2xpY2tlZCc7XG4gICAgICBzZW5kQW5hbHl0aWNzRXZlbnQoc3ViamVjdCwgJ21hcCcsIHtcbiAgICAgICAgYXJlYV9pZDogYXJlYS5hcmVhX2lkLFxuICAgICAgICBhcmVhX25hbWU6IGFyZWEuYXJlYV9uYW1lLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgZ2V0UG9seWdvbiA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgbGV0IHBvbHlnb247XG4gICAgZmVhdHVyZUdyb3VwLmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICAgIGlmIChsYXllci5rYW5kb19vYmplY3RfaWQgPT09IGlkKSB7XG4gICAgICAgIHBvbHlnb24gPSBsYXllcjtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcG9seWdvbjtcbiAgfTtcblxuICBjb25zdCBpc1BvbHlnb25DaGFuZ2VkQ29sb3IgPSAocG9seWdvbiwgYXJlYSkgPT4ge1xuICAgIGlmICghcG9seWdvbikgcmV0dXJuIHRydWU7XG4gICAgY29uc3QgYXJlYUNvbG9yID0gc2NvcmVUb0NvbG9yKGFyZWEuYXJlYV9zY29yZSk7XG4gICAgY29uc3QgcG9seWdvbkNvbG9yID0gcG9seWdvbi5vcHRpb25zLmNvbG9yO1xuICAgIHJldHVybiBhcmVhQ29sb3IgIT09IHBvbHlnb25Db2xvcjtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGFyZWFfaWQgPSBnZXRBcmVhSWQoYXJlYSk7XG4gICAgY29uc3QgZXhpc3RpbmdQb2x5Z29uID0gZ2V0UG9seWdvbihhcmVhX2lkKTtcblxuICAgIGlmIChpc1BvbHlnb25DaGFuZ2VkQ29sb3IoZXhpc3RpbmdQb2x5Z29uLCBhcmVhKSkge1xuICAgICAgY29uc3QgcG9seWdvbiA9IGNyZWF0ZVBvbHlnb24oXG4gICAgICAgIGFyZWEsXG4gICAgICAgIG1hcFpvb20sXG4gICAgICAgIGZlYXR1cmVHcm91cCxcbiAgICAgICAgbWFwLFxuICAgICAgICBXV1RQTWFwTG9naWMsXG4gICAgICApO1xuXG4gICAgICBpZiAocG9seWdvbikge1xuICAgICAgICBjb25zdCBzdWJBcmVhcyA9IGFyZWEuc3ViX2FyZWFzLm1hcCgoc3ViQXJlYSkgPT4gc3ViQXJlYS5hcmVhX2lkKTtcbiAgICAgICAgaWYgKHN1YkFyZWFzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBwb2x5Z29uWydzdWJfYXJlYXMnXSA9IHN1YkFyZWFzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChleGlzdGluZ1BvbHlnb24gJiYgZmVhdHVyZUdyb3VwICYmIG1hcCkge1xuICAgICAgICBmZWF0dXJlR3JvdXAucmVtb3ZlTGF5ZXIoZXhpc3RpbmdQb2x5Z29uKTtcbiAgICAgICAgbWFwLmZpcmUoJ3pvb21lbmQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFthcmVhLCBtYXBab29tLCBtYXAsIGZlYXR1cmVHcm91cF0pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobnVsbCk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoQXJlYVBvbHlnb24pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBS0EsSUFBQU8sWUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsU0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsZUFBQSxHQUFBVCxPQUFBO0FBQThDLFNBQUFVLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBWix3QkFBQWdCLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FB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
|
|
@@ -56,7 +56,7 @@ var createBubblePoint = function createBubblePoint(markerLocation, point, map, h
|
|
|
56
56
|
var handleClick = arguments.length > 6 ? arguments[6] : undefined;
|
|
57
57
|
var subtitle = pointIsFactory(point) ? point.group.sector_name : '';
|
|
58
58
|
var pointCustomIcon = _leaflet.default.marker(markerLocation, {
|
|
59
|
-
icon: (
|
|
59
|
+
icon: getIcon(point, false, subtitle),
|
|
60
60
|
riseOnHover: true
|
|
61
61
|
});
|
|
62
62
|
// @ts-ignore
|
|
@@ -342,9 +342,10 @@ var popupContent = function popupContent(obs, point) {
|
|
|
342
342
|
}
|
|
343
343
|
};
|
|
344
344
|
exports.popupContent = popupContent;
|
|
345
|
-
var getIcon = function getIcon(point, clicked) {
|
|
345
|
+
var getIcon = function getIcon(point, clicked, subtitle) {
|
|
346
346
|
var type = point.has_device ? point.group.type : 'Groups::default';
|
|
347
|
-
|
|
347
|
+
var subtitleText = subtitle ? subtitle : point.group.sector_name;
|
|
348
|
+
return (0, _PointIcon.getPointIconByType)(type, point.name, subtitleText, clicked, !clicked);
|
|
348
349
|
};
|
|
349
350
|
var setIcon = function setIcon(element, clicked, point) {
|
|
350
351
|
element.setIcon(getIcon(point, clicked));
|
|
@@ -478,4 +479,4 @@ var isFactoryType = function isFactoryType(type) {
|
|
|
478
479
|
return type === 'Groups::Factory';
|
|
479
480
|
};
|
|
480
481
|
exports.isFactoryType = isFactoryType;
|
|
481
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJwb2ludElzRmFjdG9yeSIsInNlY3Rvcl9uYW1lIiwid2F0ZXJfZGlzY2hhcmdlIiwiYnViYmxlRm9yV1dUUCIsImFyZ3MiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwibWFya2VyTG9jYXRpb24iLCJpY29uIiwiZ2V0SWNvbiIsInd3dHBQb2ludCIsInJpc2VPbkhvdmVyIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJtYXAiLCJob3ZlcmVkIiwibGF5ZXJHcm91cCIsImZsb3dfcmF0ZV91bml0IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiaGFuZGxlQ2xpY2siLCJzdWJ0aXRsZSIsImdldFBvaW50SWNvbkJ5VHlwZSIsInR5cGUiLCJoYXNfZGV2aWNlIiwiYWRkTGF5ZXIiLCJiaW5kUG9wdXBUb01hcmtlciIsImhhbmRsZU1hcmtlckV2ZW50cyIsInJlbGF0ZWRFdmVudHNBbW91bnQiLCJkaXZJY29uIiwiY2xhc3NOYW1lIiwiaHRtbCIsImljb25BbmNob3IiLCJldmVudHNDb3VudEljb24iLCJfem9vbSIsIm9wYWNpdHkiLCJjcmVhdGVNYW5ob2xlUG9pbnQiLCJwb2ludEljb24iLCJJY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsIm1hbmhvbGVJY29uIiwiTWFya2VyIiwiYmluZFRvb2x0aXAiLCJtYXRjaEljb25Ub1BvaW50IiwiY29tYmluZWRGYWN0b3J5SWNvbiIsIm1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlIiwidW5zaGlmdCIsInNlbGVjdGVkQmFja2dyb3VuZCIsIm1hcmtlckJlbG9uZ3NUb1NvdXJjZSIsImJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQiLCJzdGFuZGFyZEJhY2tncm91bmQiLCJjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiIsImNvbWJpbmVkV1dUUEljb24iLCJyZWRQaW5SZWRTaGFkb3ciLCJ3YXRlckljb25Ob0JhY2tncm91bmQiLCJwb3B1cEFuY2hvciIsImNvbWJpbmVkQ29sbGVjdG9yc0ljb24iLCJzZWNvbmRhcnkiLCJ0aGlyZCIsIndoaXRlUGluQmxhY2tTaGFkb3ciLCJ5ZWxsb3dDaXJjbGVVUkwiLCJwbGFudEljb25VUkwiLCJncmVlbkNpcmNsZVVSTCIsInB1bXBTdGF0aW9uSWNvblVSTCIsImNvbGxlY3Rvckljb24iLCJicmlnaHRCbHVlQ2lyY2xlVVJMIiwiV1dUUEljb25VUkwiLCJ3aGl0ZVBpblJlZFNoYWRvdyIsInNvdXJjZSIsInNvdXJjZXMiLCJmaWx0ZXIiLCJzZWxlY3RlZF9zb3VyY2UiLCJjcmVhdGVTYW1wbGluZ0ljb25Qb2ludCIsInNlY29uZGFyeUljb24iLCJzYW1wbGluZ0ljb24iLCJibHVlQ2lyY2xlVVJMIiwic2FtcGxpbmdJY29uVVJMIiwidGhpcmRJY29uIiwiZm9yRWFjaCIsImluZGV4IiwiY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQiLCJvYnNlcnZhdGlvbkljb24iLCJwaW5rQ2lyY2xlVVJMIiwib2JzZXJ2YXRpb25JY29uVVJMIiwiY3JlYXRlU2FtcGxpbmdJY29ucyIsInNhbXBsZWRQb2ludElkcyIsInNhbXBsaW5ncyIsInMiLCJpbmNsdWRlcyIsInBvcHVwQ29udGVudCIsIm9icyIsIkdyYXBoSWNvbiIsImkxOG4iLCJ0Iiwic2V2ZXJpdHkiLCJjbGlja2VkIiwic2V0SWNvbiIsImVsZW1lbnQiLCJjYWxjdWxhdGVXYXRlckNvbnN1bXB0aW9uIiwid2F0ZXJDb25zdW1wdGlvbiIsInJvdW5kX3RvX25lYXJlc3RfayIsImNhbGN1bGF0ZWQiLCJ0b0ZpeGVkIiwicm91bmRUb05lYXJlc3RUaG91c2FuZCIsInBhcnNlRmxvYXQiLCJ0b0xvY2FsZVN0cmluZyIsIk1hdGgiLCJyb3VuZCIsIm51bWJlciIsInJvdW5kZWRUaG91c2FuZHMiLCJyb3VuZGVkVmFsdWUiLCJ0cmFuc2xhdGVGbG93UmF0ZSIsInRvb2x0aXBWaXNpYmxlIiwib24iLCJjbG9zZVBvcHVwIiwiaXNQb3B1cE9wZW4iLCJrYW5kb19vYmplY3RfaWQiLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJwb2ludF9uYW1lIiwiY29udGVudCIsIndhdGVyUmV1c2VJY29uIiwiZ2V0Rmxvd1JhdGUiLCJiaW5kUG9wdXAiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwiY2xvc2VCdXR0b24iLCJmbG93UmF0ZVVuaXQiLCJpc1JvdW5kIiwicmVtb3ZlTGF5ZXJHcm91cCIsImhhc0xheWVyIiwicmVtb3ZlTGF5ZXIiLCJhZGRMYXllckdyb3VwIiwicG9pbnRJc1dXVFAiLCJpc0ZhY3RvcnlUeXBlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHcmFwaEljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2xpbmUtY2hhcnQuc3ZnJztcbmltcG9ydCBMLCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgYmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBzYW1wbGluZ0ljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3NhbXBsaW5nLWljb24uc3ZnJztcbmltcG9ydCBwaW5rQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9waW5rLWNpcmNsZS5zdmcnO1xuaW1wb3J0IG9ic2VydmF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvb2JzZXJ2YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHJlZFBpblJlZFNoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcmVkLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5CbGFja1NoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLWJsYWNrLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHllbGxvd0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMveWVsbG93LWNpcmNsZS5zdmcnO1xuaW1wb3J0IHBsYW50SWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvZmFjdG9yeS1pY29uLnN2Zyc7XG5pbXBvcnQgZ3JlZW5DaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2dyZWVuLWNpcmNsZS5zdmcnO1xuaW1wb3J0IHB1bXBTdGF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcHVtcC1zdGF0aW9uLWljb24uc3ZnJztcbmltcG9ydCBjb2xsZWN0b3JJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9tYXAvcGluLXdhdGVyLnN2Zyc7XG5pbXBvcnQgYnJpZ2h0Qmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYnJpZ2h0LWJsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgV1dUUEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL1dXVFAtaWNvbi5zdmcnO1xuaW1wb3J0IHdhdGVySWNvbk5vQmFja2dyb3VuZCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2F0ZXItbm8tYmFja2dyb3VuZC5zdmcnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBldmVudHNDb3VudEljb24gfSBmcm9tICcuLi9NYXBVdGlscyc7XG5pbXBvcnQgeyBnZXRQb2ludEljb25CeVR5cGUgfSBmcm9tICcuL1BvaW50SWNvbic7XG5pbXBvcnQgd2F0ZXJSZXVzZUljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2ljb25zL3dhdGVyX3JldXNlLnN2Zyc7XG5pbXBvcnQgeyBzZW5kQW5hbHl0aWNzRXZlbnQgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGlzQ29sbGVjdG9yRm9jdXNlZCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHJldHVybiAoXG4gICAgZXZlbnQ/Lm9ic2VydmF0aW9ucz8ubGVuZ3RoID09PSAxICYmXG4gICAgcG9pbnQuaWQgPT09IGV2ZW50Lm9ic2VydmF0aW9uc1swXS5wb2ludF9pZFxuICApO1xufTtcblxuY29uc3QgYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzdHJpbmcgPSBgJHtwb2ludC5ncm91cC5uYW1lfSBgO1xuXG4gIGlmIChwb2ludElzRmFjdG9yeShwb2ludCkpIHtcbiAgICBzdHJpbmcgKz0gYDxici8+U2VjdG9yOiAke3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfWA7XG4gICAgc3RyaW5nICs9IGA8YnIvPldhdGVyIENvbnN1bXB0aW9uOiAke3BvaW50Lmdyb3VwLndhdGVyX2Rpc2NoYXJnZX1gO1xuICB9IGVsc2Uge1xuICAgIHN0cmluZyA9IGAke3BvaW50Lm5hbWV9YDtcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgYnViYmxlRm9yV1dUUCA9IChhcmdzKSA9PiB7XG4gIGNvbnN0IHBvaW50Q3VzdG9tSWNvbjogTC5NYXJrZXIgPSBMLm1hcmtlcihhcmdzLm1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogZ2V0SWNvbihhcmdzLnd3dHBQb2ludCwgZmFsc2UpLFxuICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICB9KTtcblxuICByZXR1cm4gcG9pbnRDdXN0b21JY29uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUJ1YmJsZVBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuICBmbG93X3JhdGVfdW5pdCA9ICdnZF91cycsXG4gIGhhbmRsZUNsaWNrPyxcbikgPT4ge1xuICBjb25zdCBzdWJ0aXRsZSA9IHBvaW50SXNGYWN0b3J5KHBvaW50KSA/IHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lIDogJyc7XG4gIGxldCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICBwb2ludC5ncm91cC50eXBlLFxuICAgICAgcG9pbnQubmFtZSxcbiAgICAgIHN1YnRpdGxlLFxuICAgICAgZmFsc2UsXG4gICAgICB0cnVlLFxuICAgICksXG4gICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gIH0pO1xuICAvLyBAdHMtaWdub3JlXG4gIC8vIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb290aXBTdHJpbmcocG9pbnQpKTtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19oYXNfZGV2aWNlJ10gPSBwb2ludC5oYXNfZGV2aWNlO1xuICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuXG4gIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgaWYgKHBvaW50SXNGYWN0b3J5KHBvaW50KSkge1xuICAgIGJpbmRQb3B1cFRvTWFya2VyKHBvaW50LCBwb2ludEN1c3RvbUljb24sIGZsb3dfcmF0ZV91bml0KTtcbiAgfVxuXG4gIGhhbmRsZU1hcmtlckV2ZW50cyhtYXAsIHBvaW50LCBwb2ludEN1c3RvbUljb24sIGhhbmRsZUNsaWNrKTtcblxuICBpZiAocG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCkge1xuICAgIGxldCBwb2ludEN1c3RvbUljb24gPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogTC5kaXZJY29uKHtcbiAgICAgICAgY2xhc3NOYW1lOiBgXG4gICAgICAgICAgJHtcbiAgICAgICAgICAgIHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQgPj0gMTAwXG4gICAgICAgICAgICAgID8gJ2NpcmNsZS1ldmVudHMtYW1vdW50IGNpcmNsZS1ldmVudHMtYW1vdW50LS10cmlkaWdpdCdcbiAgICAgICAgICAgICAgOiAnY2lyY2xlLWV2ZW50cy1hbW91bnQnXG4gICAgICAgICAgfSBcbiAgICAgICAgICAke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQgPiAyID8gJ2FsZXJ0LWNvbG9yJyA6ICcnfVxuICAgICAgICAgICAgYCxcbiAgICAgICAgaHRtbDogYDxwPiR7cG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudH08L3A+YCxcbiAgICAgICAgaWNvbkFuY2hvcjogZXZlbnRzQ291bnRJY29uKG1hcC5fem9vbSkuaWNvbkFuY2hvcixcbiAgICAgIH0pLFxuICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgICAgb3BhY2l0eTogaG92ZXJlZCA/IDEgOiAwLFxuICAgIH0pO1xuXG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnSWNvbk51bWJlcic7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnSWNvbk51bWJlckhvdmVyZWQnO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWFuaG9sZVBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIGxldCBwb2ludEljb24gPSBuZXcgTC5JY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgaWNvbkFuY2hvcjogWzQuNSwgNC41XSxcbiAgfSk7XG4gIGxldCBtYW5ob2xlSWNvbjogYW55ID0gbmV3IEwuTWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogcG9pbnRJY29uLFxuICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICB9KTtcbiAgbWFuaG9sZUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgbWFuaG9sZUljb25bJ2thbmRvX3BvaW50X3R5cGUnXSA9ICdNYW5ob2xlJztcbiAgaWYgKGhvdmVyZWQpIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuICBsYXllckdyb3VwLmFkZExheWVyKG1hbmhvbGVJY29uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXRjaEljb25Ub1BvaW50ID0gKHBvaW50OiBJUG9pbnQsIGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgc3dpdGNoIChwb2ludC5ncm91cC50eXBlKSB7XG4gICAgY2FzZSAnR3JvdXBzOjpGYWN0b3J5JzpcbiAgICAgIGlmIChjb21iaW5lZEZhY3RvcnlJY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZEZhY3RvcnlJY29uO1xuICAgIGNhc2UgJ0dyb3Vwczo6UHVtcFN0YXRpb24nOlxuICAgICAgaWYgKGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbjtcbiAgICBjYXNlICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc6XG4gICAgICBpZiAoY29tYmluZWRXV1RQSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRXV1RQSWNvbjtcblxuICAgIGNhc2UgJ0dyb3Vwczo6Q29sbGVjdG9ycyc6XG4gICAgICBpZiAoaXNDb2xsZWN0b3JGb2N1c2VkKHBvaW50LCBldmVudCkpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBMLmljb24oe1xuICAgICAgICAgICAgaWNvblVybDogcmVkUGluUmVkU2hhZG93LFxuICAgICAgICAgICAgaWNvblNpemU6IFswLCAwXSxcbiAgICAgICAgICAgIGljb25BbmNob3I6IFszMCwgNTJdLFxuICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHdhdGVySWNvbk5vQmFja2dyb3VuZCxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG5cbiAgICAgICAgICAgIGljb25BbmNob3I6IFsyMiwgNDRdLFxuICAgICAgICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRDb2xsZWN0b3JzSWNvbjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHN0YW5kYXJkQmFja2dyb3VuZCA9IChcbiAgc2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UsXG4gIHRoaXJkOiBib29sZWFuID0gZmFsc2UsXG4pID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQaW5CbGFja1NoYWRvdyxcbiAgICBpY29uU2l6ZTogc2Vjb25kYXJ5ID8gWzAsIDBdIDogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IHNlY29uZGFyeSAmJiB0aGlyZCA/IFstMiwgMTldIDogc2Vjb25kYXJ5ID8gWy0yLCA0NF0gOiBbMjAsIDQyXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkRmFjdG9yeUljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogeWVsbG93Q2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogcGxhbnRJY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzUsIDMwXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkUHVtcFN0YXRpb25JY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGdyZWVuQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogcHVtcFN0YXRpb25JY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzcsIDMyXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkQ29sbGVjdG9yc0ljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogY29sbGVjdG9ySWNvbixcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgaWNvbkFuY2hvcjogWzI1LCA1MF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFdXVFBJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGJyaWdodEJsdWVDaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBXV1RQSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs4LCAzMV0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RlZEJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFszMiwgNTRdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCA9ICgpID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgbGV0IHNvdXJjZTtcblxuICBpZiAoZXZlbnQgIT09IG51bGwgJiYgZXZlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgIHNvdXJjZSA9IGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdO1xuICB9XG5cbiAgcmV0dXJuIGV2ZW50ICE9PSBudWxsICYmIHNvdXJjZSAmJiBldmVudC5zZWxlY3RlZF9zb3VyY2UgPT09IHNvdXJjZS5wb2ludF9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9Tb3VyY2UgPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBpZiAoZXZlbnQgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICByZXR1cm4gKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc291cmNlcy5maWx0ZXIoKHNvdXJjZSkgPT4gc291cmNlLnBvaW50X2lkID09PSBwb2ludC5pZClbMF1cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTYW1wbGluZ0ljb25Qb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBzZWNvbmRhcnlJY29uOiBib29sZWFuLFxuICBtYXAsXG4gIHBvaW50OiBJUG9pbnQsXG4gIGV2ZW50OiBJRXZlbnQsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICAvLyBpY29uU2l6ZTogW3dpZHRoLCBoZWlnaHRdLFxuICAvLyBJY29uIEFuY2hvcjogWygtcmlnaHQpKCtsZWZ0KSwgKC1kb3duKSgrdXApXVxuICBsZXQgc2FtcGxpbmdJY29uID0gW1xuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBibHVlQ2lyY2xlVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy03LCAxNV0gOiBbMTAuNywgMzMuN10sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHNhbXBsaW5nSWNvblVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstOCwgMTNdIDogWzUsIDMwXSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgXTtcblxuICBsZXQgdGhpcmRJY29uID0gZmFsc2U7XG4gIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlyZEljb24gPSB0cnVlO1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uLCB0aGlyZEljb24pKTtcbiAgfVxuXG4gIHNhbXBsaW5nSWNvbi5mb3JFYWNoKChpY29uLCBpbmRleCkgPT4ge1xuICAgIGxldCBwb2ludEN1c3RvbUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBpY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgIH0pO1xuICAgIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb29sdGlwU3RyaW5nKHBvaW50KSk7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19pbmRleF9vYmplY3QnXSA9IGluZGV4O1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fZmV3X2xheWVyX2ljb24nXSA9IHRydWU7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19zZWNvbmRhcnknXSA9IHRoaXJkSWNvbiA/IGZhbHNlIDogc2Vjb25kYXJ5SWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3RoaXJkJ10gPSB0aGlyZEljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnU2FtcGxpbmcnO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nSG92ZXJlZCc7XG4gICAgbGF5ZXJHcm91cC5hZGRMYXllcihwb2ludEN1c3RvbUljb24pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBzZWNvbmRhcnlJY29uOiBib29sZWFuLFxuICBtYXAsXG4gIHBvaW50OiBJUG9pbnQsXG4gIGV2ZW50OiBJRXZlbnQsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICAvLyBpY29uU2l6ZTogW3dpZHRoLCBoZWlnaHRdLFxuICAvLyBJY29uIEFuY2hvcjogWygtcmlnaHQpKCtsZWZ0KSwgKC1kb3duKSgrdXApXVxuICBsZXQgb2JzZXJ2YXRpb25JY29uID0gW1xuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBwaW5rQ2lyY2xlVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy03LCA0MF0gOiBbMTAuNywgMzMuN10sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IG9ic2VydmF0aW9uSWNvblVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstOCwgMzhdIDogWzUsIDMwXSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgXTtcblxuICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKHNlY29uZGFyeUljb24pKTtcbiAgfVxuXG4gIG9ic2VydmF0aW9uSWNvbi5mb3JFYWNoKChpY29uLCBpbmRleCkgPT4ge1xuICAgIGxldCBwb2ludEN1c3RvbUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBpY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgIH0pO1xuICAgIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb29sdGlwU3RyaW5nKHBvaW50KSk7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19pbmRleF9vYmplY3QnXSA9IGluZGV4O1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fZmV3X2xheWVyX2ljb24nXSA9IHRydWU7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19zZWNvbmRhcnknXSA9IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gZmFsc2U7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnT2JzZXJ2YXRpb24nO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uSG92ZXJlZCc7XG4gICAgbGF5ZXJHcm91cC5hZGRMYXllcihwb2ludEN1c3RvbUljb24pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTYW1wbGluZ0ljb25zID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIGV2ZW50OiBJRXZlbnQsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZCxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgbGV0IHNhbXBsZWRQb2ludElkcyA9IGV2ZW50LnNhbXBsaW5ncy5tYXAoKHMpID0+IHMucG9pbnRfaWQpO1xuICBpZiAoXG4gICAgZXZlbnQgIT09IG51bGwgJiZcbiAgICBldmVudC5zYW1wbGluZ3MubGVuZ3RoICE9PSAwICYmXG4gICAgc2FtcGxlZFBvaW50SWRzLmluY2x1ZGVzKHBvaW50LmlkKVxuICApIHtcbiAgICBjcmVhdGVTYW1wbGluZ0ljb25Qb2ludChcbiAgICAgIG1hcmtlckxvY2F0aW9uLFxuICAgICAgbWF0Y2hJY29uVG9Qb2ludChwb2ludCwgZXZlbnQpICE9PSBudWxsLFxuICAgICAgbWFwLFxuICAgICAgcG9pbnQsXG4gICAgICBldmVudCxcbiAgICAgIGhvdmVyZWQsXG4gICAgICBsYXllckdyb3VwLFxuICAgICk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwb3B1cENvbnRlbnQgPSAob2JzOiBhbnksIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKG9icyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtcG9wdXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtZ3JhcGgtaWNvbiBwb3B1cC1ncmFwaC1pY29uLSR7cG9pbnQuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7cG9pbnQuZ3JvdXAubmFtZX08L2I+PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzZWN0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgYDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke29icy5pZH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIke0dyYXBoSWNvbn1cIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2l0ZS1uYW1lXCI+PGI+JHtcbiAgICAgICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC5uYW1lXG4gICAgICAgICAgICAgICAgICAgIH08L2I+PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5zZXZlcml0eWAsXG4gICAgICAgICAgICAgICAgICAgICAgICApfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BvcHVwLWNvbnRlbnRfX3NldmVyaXR5LS0nICsgb2JzLnNldmVyaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGIgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1iXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4ke29icy5zZXZlcml0eX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8aHIgY2xhc3M9XCJwb3B1cC1jb250ZW50X19oclwiIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX2Rpc2NoYXJnZS10aW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5maXJzdF9zZWVuYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGIgaWQ9XCJmaXJzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcubGFzdF9zZWVuYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGIgaWQ9XCJsYXN0LXNlZW4tcG9wdXBcIj48L2I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH1cbn07XG5cbmNvbnN0IGdldEljb24gPSAocG9pbnQ6IElQb2ludCwgY2xpY2tlZDogYm9vbGVhbikgPT4ge1xuICBjb25zdCB0eXBlID0gcG9pbnQuaGFzX2RldmljZSA/IHBvaW50Lmdyb3VwLnR5cGUgOiAnR3JvdXBzOjpkZWZhdWx0JztcbiAgcmV0dXJuIGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICB0eXBlLFxuICAgIHBvaW50Lm5hbWUsXG4gICAgcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWUsXG4gICAgY2xpY2tlZCxcbiAgICAhY2xpY2tlZCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRJY29uID0gKGVsZW1lbnQsIGNsaWNrZWQsIHBvaW50KSA9PiB7XG4gIGVsZW1lbnQuc2V0SWNvbihnZXRJY29uKHBvaW50LCBjbGlja2VkKSk7XG59O1xuXG4vLyByb3VuZCB0byBuZWFyZXN0IHRob3VzYW5kIGlzIHVzZWQgd2hlbiB5b3Ugd2FudCB0byByb3VuZCB0aGUgd2F0ZXIgY29uc3VtcHRpb24gdG8gdGhlIG5lYXJlc3QgdGhvdXNhbmRcbi8vIGZvciBleGFtcGxlOiAyMzQsNTY3IC0+IDIzNSwwMDBcbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVXYXRlckNvbnN1bXB0aW9uID0gKFxuICBmbG93X3JhdGVfdW5pdDogc3RyaW5nLFxuICB3YXRlckNvbnN1bXB0aW9uOiBudW1iZXIsXG4gIHJvdW5kX3RvX25lYXJlc3RfazogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIGxldCBjYWxjdWxhdGVkID0gJzAnO1xuXG4gIGlmICh3YXRlckNvbnN1bXB0aW9uID4gMCkge1xuICAgIHN3aXRjaCAoZmxvd19yYXRlX3VuaXQpIHtcbiAgICAgIGNhc2UgJ20zZCc6XG4gICAgICAgIGNhbGN1bGF0ZWQgPSB3YXRlckNvbnN1bXB0aW9uLnRvRml4ZWQoMik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZ2RfdXMnOlxuICAgICAgICBjYWxjdWxhdGVkID0gKHdhdGVyQ29uc3VtcHRpb24gKiAyNjQuMTcyKS50b0ZpeGVkKDIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2dkX3VrJzpcbiAgICAgICAgY2FsY3VsYXRlZCA9ICh3YXRlckNvbnN1bXB0aW9uICogMjE5Ljk2OSkudG9GaXhlZCgyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIGlmIChyb3VuZF90b19uZWFyZXN0X2spIHtcbiAgICByZXR1cm4gcm91bmRUb05lYXJlc3RUaG91c2FuZChwYXJzZUZsb2F0KGNhbGN1bGF0ZWQpKS50b0xvY2FsZVN0cmluZygpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKHBhcnNlRmxvYXQoY2FsY3VsYXRlZCkpLnRvTG9jYWxlU3RyaW5nKCk7XG4gIH1cbn07XG5cbmNvbnN0IHJvdW5kVG9OZWFyZXN0VGhvdXNhbmQgPSAobnVtYmVyKSA9PiB7XG4gIC8vIGlmKGlzQWxyZWFkeVJvdW5kZWQobnVtYmVyKSkge1xuICAvLyAgIHJldHVybiBudW1iZXI7XG4gIC8vIH1cblxuICBpZiAobnVtYmVyIDwgMTAwMCkge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKG51bWJlcik7XG4gIH1cblxuICBjb25zdCByb3VuZGVkVGhvdXNhbmRzID0gTWF0aC5yb3VuZChudW1iZXIgLyAxMDAwKTtcbiAgY29uc3Qgcm91bmRlZFZhbHVlID0gcm91bmRlZFRob3VzYW5kcyAqIDEwMDA7XG5cbiAgcmV0dXJuIHJvdW5kZWRWYWx1ZTtcbn07XG5cbi8vIGNvbnN0IGlzQWxyZWFkeVJvdW5kZWQgPSAobnVtYmVyKSA9PiB7XG4vLyAgIHJldHVybiBudW1iZXIgPT09IE1hdGgucm91bmQobnVtYmVyKTtcbi8vIH1cblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZUZsb3dSYXRlID0gKGZsb3dfcmF0ZV91bml0KSA9PiB7XG4gIHJldHVybiBpMThuLnQoXG4gICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmZsb3dfcmF0ZV91bml0X29wdGlvbnMuJHtcbiAgICAgIGZsb3dfcmF0ZV91bml0LmluY2x1ZGVzKCdnZCcpID8gJ2dkJyA6IGZsb3dfcmF0ZV91bml0XG4gICAgfWAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTWFya2VyRXZlbnRzID0gKFxuICBtYXAsXG4gIHBvaW50LFxuICBwb2ludEN1c3RvbUljb24sXG4gIGhhbmRsZUNsaWNrLFxuKSA9PiB7XG4gIGxldCB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuXG4gIG1hcC5vbignem9vbXN0YXJ0JywgZnVuY3Rpb24gKCkge1xuICAgIG1hcC5jbG9zZVBvcHVwKCk7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbigncG9wdXBjbG9zZScsICgpID0+IHtcbiAgICAvLyBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgZmFsc2UsIHBvaW50KTtcbiAgICB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ3BvcHVwb3BlbicsICgpID0+IHtcbiAgICAvLyBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgdHJ1ZSwgcG9pbnQpO1xuICAgIHRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgfSk7XG5cbiAgcG9pbnRDdXN0b21JY29uLm9uKCdtb3VzZW92ZXInLCAoKSA9PiB7XG4gICAgaWYgKHRvb2x0aXBWaXNpYmxlKSByZXR1cm47XG5cbiAgICBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgdHJ1ZSwgcG9pbnQpO1xuICAgIHRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgfSk7XG5cbiAgcG9pbnRDdXN0b21JY29uLm9uKCdtb3VzZW91dCcsICgpID0+IHtcbiAgICBpZiAocG9pbnRDdXN0b21JY29uLmlzUG9wdXBPcGVuKCkpIHJldHVybjtcblxuICAgIHNldEljb24ocG9pbnRDdXN0b21JY29uLCBmYWxzZSwgcG9pbnQpO1xuICAgIHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gIH0pO1xuXG4gIGlmICh0eXBlb2YgaGFuZGxlQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICBwb2ludEN1c3RvbUljb24ub24oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgaGFuZGxlQ2xpY2socG9pbnRDdXN0b21JY29uLmthbmRvX29iamVjdF9pZCk7XG5cbiAgICAgIGlmIChwb2ludElzRmFjdG9yeShwb2ludCkpIHtcbiAgICAgICAgc2VuZEFuYWx5dGljc0V2ZW50KCdNYXAgVmlldyAtIEZhY3RvcnkgY2xpY2tlZCcsICdtYXAnLCB7XG4gICAgICAgICAgcG9pbnRfaWQ6IHBvaW50LmlkLFxuICAgICAgICAgIHBvaW50X25hbWU6IHBvaW50Lm5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYmluZFBvcHVwVG9NYXJrZXIgPSAocG9pbnQsIGxheWVyR3JvdXAsIGZsb3dfcmF0ZV91bml0KSA9PiB7XG4gIGxldCBjb250ZW50ID0gYFxuICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudCc+XG4gICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyJz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc19fdGl0bGUnPiR7XG4gICAgICAgICAgICAgICAgICBwb2ludC5uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3N1YnRpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWVcbiAgICAgICAgICAgICAgICB9PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgXG4gICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keSc+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW0nPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9faWNvbic+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPScke3dhdGVyUmV1c2VJY29ufScgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlcyc+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlc19fdGl0bGUnPlxuICAgICAgICAgICAgICAgICAgICAke2dldEZsb3dSYXRlKHBvaW50Lmdyb3VwLndhdGVyX2Rpc2NoYXJnZSwgZmxvd19yYXRlX3VuaXQpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlc19fc3VidGl0bGUnPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAnd2F0ZXJfZGlzY2hhcmdlJyxcbiAgICAgICAgICAgICAgICAgICl9PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgYDtcblxuICBsYXllckdyb3VwLmJpbmRQb3B1cChjb250ZW50LCB7XG4gICAgY2xhc3NOYW1lOiAncG9pbnQtbWFya2VyLXBvcHVwJyxcbiAgICBtaW5XaWR0aDogJzIxNHB4JyxcbiAgICBtYXhXaWR0aDogJzIxNHB4JyxcbiAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rmxvd1JhdGUgPSAoXG4gIHdhdGVyQ29uc3VtcHRpb246IG51bWJlcixcbiAgZmxvd1JhdGVVbml0OiBzdHJpbmcsXG4gIGlzUm91bmQ6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICBpZiAod2F0ZXJDb25zdW1wdGlvbiA+IDApIHtcbiAgICByZXR1cm4gKFxuICAgICAgY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbihmbG93UmF0ZVVuaXQsIHdhdGVyQ29uc3VtcHRpb24sIGlzUm91bmQpICtcbiAgICAgICcgJyArXG4gICAgICB0cmFuc2xhdGVGbG93UmF0ZShmbG93UmF0ZVVuaXQpXG4gICAgKTtcbiAgfVxuICByZXR1cm4gaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy51bmtub3duJyk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKG1hcC5oYXNMYXllcihsYXllckdyb3VwKSkge1xuICAgIG1hcC5yZW1vdmVMYXllcihsYXllckdyb3VwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGFkZExheWVyR3JvdXAgPSAobWFwLCBsYXllckdyb3VwKSA9PiB7XG4gIGlmICghbWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLmFkZExheWVyKGxheWVyR3JvdXApO1xuICB9IGVsc2Uge1xuICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgICBhZGRMYXllckdyb3VwKG1hcCwgbGF5ZXJHcm91cCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzV1dUUCA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNGYWN0b3J5ID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIGlzRmFjdG9yeVR5cGUocG9pbnQuZ3JvdXAudHlwZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNGYWN0b3J5VHlwZSA9ICh0eXBlOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIHR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFBMkMsSUFBQUUsV0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQUcsYUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQUksV0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQUssZ0JBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQU8zQyxJQUFBTSxnQkFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sa0JBQUEsR0FBQVIsc0JBQUEs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
|
|
482
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJwb2ludElzRmFjdG9yeSIsInNlY3Rvcl9uYW1lIiwid2F0ZXJfZGlzY2hhcmdlIiwiYnViYmxlRm9yV1dUUCIsImFyZ3MiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwibWFya2VyTG9jYXRpb24iLCJpY29uIiwiZ2V0SWNvbiIsInd3dHBQb2ludCIsInJpc2VPbkhvdmVyIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJtYXAiLCJob3ZlcmVkIiwibGF5ZXJHcm91cCIsImZsb3dfcmF0ZV91bml0IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiaGFuZGxlQ2xpY2siLCJzdWJ0aXRsZSIsImhhc19kZXZpY2UiLCJhZGRMYXllciIsImJpbmRQb3B1cFRvTWFya2VyIiwiaGFuZGxlTWFya2VyRXZlbnRzIiwicmVsYXRlZEV2ZW50c0Ftb3VudCIsImRpdkljb24iLCJjbGFzc05hbWUiLCJodG1sIiwiaWNvbkFuY2hvciIsImV2ZW50c0NvdW50SWNvbiIsIl96b29tIiwib3BhY2l0eSIsImNyZWF0ZU1hbmhvbGVQb2ludCIsInBvaW50SWNvbiIsIkljb24iLCJpY29uVXJsIiwid2hpdGVQb2ludCIsImljb25TaXplIiwibWFuaG9sZUljb24iLCJNYXJrZXIiLCJiaW5kVG9vbHRpcCIsIm1hdGNoSWNvblRvUG9pbnQiLCJ0eXBlIiwiY29tYmluZWRGYWN0b3J5SWNvbiIsIm1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlIiwidW5zaGlmdCIsInNlbGVjdGVkQmFja2dyb3VuZCIsIm1hcmtlckJlbG9uZ3NUb1NvdXJjZSIsImJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQiLCJzdGFuZGFyZEJhY2tncm91bmQiLCJjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiIsImNvbWJpbmVkV1dUUEljb24iLCJyZWRQaW5SZWRTaGFkb3ciLCJ3YXRlckljb25Ob0JhY2tncm91bmQiLCJwb3B1cEFuY2hvciIsImNvbWJpbmVkQ29sbGVjdG9yc0ljb24iLCJzZWNvbmRhcnkiLCJ0aGlyZCIsIndoaXRlUGluQmxhY2tTaGFkb3ciLCJ5ZWxsb3dDaXJjbGVVUkwiLCJwbGFudEljb25VUkwiLCJncmVlbkNpcmNsZVVSTCIsInB1bXBTdGF0aW9uSWNvblVSTCIsImNvbGxlY3Rvckljb24iLCJicmlnaHRCbHVlQ2lyY2xlVVJMIiwiV1dUUEljb25VUkwiLCJ3aGl0ZVBpblJlZFNoYWRvdyIsInNvdXJjZSIsInNvdXJjZXMiLCJmaWx0ZXIiLCJzZWxlY3RlZF9zb3VyY2UiLCJjcmVhdGVTYW1wbGluZ0ljb25Qb2ludCIsInNlY29uZGFyeUljb24iLCJzYW1wbGluZ0ljb24iLCJibHVlQ2lyY2xlVVJMIiwic2FtcGxpbmdJY29uVVJMIiwidGhpcmRJY29uIiwiZm9yRWFjaCIsImluZGV4IiwiY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQiLCJvYnNlcnZhdGlvbkljb24iLCJwaW5rQ2lyY2xlVVJMIiwib2JzZXJ2YXRpb25JY29uVVJMIiwiY3JlYXRlU2FtcGxpbmdJY29ucyIsInNhbXBsZWRQb2ludElkcyIsInNhbXBsaW5ncyIsInMiLCJpbmNsdWRlcyIsInBvcHVwQ29udGVudCIsIm9icyIsIkdyYXBoSWNvbiIsImkxOG4iLCJ0Iiwic2V2ZXJpdHkiLCJjbGlja2VkIiwic3VidGl0bGVUZXh0IiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwic2V0SWNvbiIsImVsZW1lbnQiLCJjYWxjdWxhdGVXYXRlckNvbnN1bXB0aW9uIiwid2F0ZXJDb25zdW1wdGlvbiIsInJvdW5kX3RvX25lYXJlc3RfayIsImNhbGN1bGF0ZWQiLCJ0b0ZpeGVkIiwicm91bmRUb05lYXJlc3RUaG91c2FuZCIsInBhcnNlRmxvYXQiLCJ0b0xvY2FsZVN0cmluZyIsIk1hdGgiLCJyb3VuZCIsIm51bWJlciIsInJvdW5kZWRUaG91c2FuZHMiLCJyb3VuZGVkVmFsdWUiLCJ0cmFuc2xhdGVGbG93UmF0ZSIsInRvb2x0aXBWaXNpYmxlIiwib24iLCJjbG9zZVBvcHVwIiwiaXNQb3B1cE9wZW4iLCJrYW5kb19vYmplY3RfaWQiLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJwb2ludF9uYW1lIiwiY29udGVudCIsIndhdGVyUmV1c2VJY29uIiwiZ2V0Rmxvd1JhdGUiLCJiaW5kUG9wdXAiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwiY2xvc2VCdXR0b24iLCJmbG93UmF0ZVVuaXQiLCJpc1JvdW5kIiwicmVtb3ZlTGF5ZXJHcm91cCIsImhhc0xheWVyIiwicmVtb3ZlTGF5ZXIiLCJhZGRMYXllckdyb3VwIiwicG9pbnRJc1dXVFAiLCJpc0ZhY3RvcnlUeXBlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHcmFwaEljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2xpbmUtY2hhcnQuc3ZnJztcbmltcG9ydCBMLCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgYmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBzYW1wbGluZ0ljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3NhbXBsaW5nLWljb24uc3ZnJztcbmltcG9ydCBwaW5rQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9waW5rLWNpcmNsZS5zdmcnO1xuaW1wb3J0IG9ic2VydmF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvb2JzZXJ2YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHJlZFBpblJlZFNoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcmVkLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5CbGFja1NoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLWJsYWNrLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHllbGxvd0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMveWVsbG93LWNpcmNsZS5zdmcnO1xuaW1wb3J0IHBsYW50SWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvZmFjdG9yeS1pY29uLnN2Zyc7XG5pbXBvcnQgZ3JlZW5DaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2dyZWVuLWNpcmNsZS5zdmcnO1xuaW1wb3J0IHB1bXBTdGF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcHVtcC1zdGF0aW9uLWljb24uc3ZnJztcbmltcG9ydCBjb2xsZWN0b3JJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9tYXAvcGluLXdhdGVyLnN2Zyc7XG5pbXBvcnQgYnJpZ2h0Qmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYnJpZ2h0LWJsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgV1dUUEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL1dXVFAtaWNvbi5zdmcnO1xuaW1wb3J0IHdhdGVySWNvbk5vQmFja2dyb3VuZCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2F0ZXItbm8tYmFja2dyb3VuZC5zdmcnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBldmVudHNDb3VudEljb24gfSBmcm9tICcuLi9NYXBVdGlscyc7XG5pbXBvcnQgeyBnZXRQb2ludEljb25CeVR5cGUgfSBmcm9tICcuL1BvaW50SWNvbic7XG5pbXBvcnQgd2F0ZXJSZXVzZUljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2ljb25zL3dhdGVyX3JldXNlLnN2Zyc7XG5pbXBvcnQgeyBzZW5kQW5hbHl0aWNzRXZlbnQgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGlzQ29sbGVjdG9yRm9jdXNlZCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHJldHVybiAoXG4gICAgZXZlbnQ/Lm9ic2VydmF0aW9ucz8ubGVuZ3RoID09PSAxICYmXG4gICAgcG9pbnQuaWQgPT09IGV2ZW50Lm9ic2VydmF0aW9uc1swXS5wb2ludF9pZFxuICApO1xufTtcblxuY29uc3QgYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzdHJpbmcgPSBgJHtwb2ludC5ncm91cC5uYW1lfSBgO1xuXG4gIGlmIChwb2ludElzRmFjdG9yeShwb2ludCkpIHtcbiAgICBzdHJpbmcgKz0gYDxici8+U2VjdG9yOiAke3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfWA7XG4gICAgc3RyaW5nICs9IGA8YnIvPldhdGVyIENvbnN1bXB0aW9uOiAke3BvaW50Lmdyb3VwLndhdGVyX2Rpc2NoYXJnZX1gO1xuICB9IGVsc2Uge1xuICAgIHN0cmluZyA9IGAke3BvaW50Lm5hbWV9YDtcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgYnViYmxlRm9yV1dUUCA9IChhcmdzKSA9PiB7XG4gIGNvbnN0IHBvaW50Q3VzdG9tSWNvbjogTC5NYXJrZXIgPSBMLm1hcmtlcihhcmdzLm1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogZ2V0SWNvbihhcmdzLnd3dHBQb2ludCwgZmFsc2UpLFxuICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICB9KTtcblxuICByZXR1cm4gcG9pbnRDdXN0b21JY29uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUJ1YmJsZVBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuICBmbG93X3JhdGVfdW5pdCA9ICdnZF91cycsXG4gIGhhbmRsZUNsaWNrPyxcbikgPT4ge1xuICBjb25zdCBzdWJ0aXRsZSA9IHBvaW50SXNGYWN0b3J5KHBvaW50KSA/IHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lIDogJyc7XG4gIGxldCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRJY29uKHBvaW50LCBmYWxzZSwgc3VidGl0bGUpLFxuICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICB9KTtcbiAgLy8gQHRzLWlnbm9yZVxuICAvLyBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vdGlwU3RyaW5nKHBvaW50KSk7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faGFzX2RldmljZSddID0gcG9pbnQuaGFzX2RldmljZTtcbiAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcblxuICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIGlmIChwb2ludElzRmFjdG9yeShwb2ludCkpIHtcbiAgICBiaW5kUG9wdXBUb01hcmtlcihwb2ludCwgcG9pbnRDdXN0b21JY29uLCBmbG93X3JhdGVfdW5pdCk7XG4gIH1cblxuICBoYW5kbGVNYXJrZXJFdmVudHMobWFwLCBwb2ludCwgcG9pbnRDdXN0b21JY29uLCBoYW5kbGVDbGljayk7XG5cbiAgaWYgKHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQpIHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgIGNsYXNzTmFtZTogYFxuICAgICAgICAgICR7XG4gICAgICAgICAgICBwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID49IDEwMFxuICAgICAgICAgICAgICA/ICdjaXJjbGUtZXZlbnRzLWFtb3VudCBjaXJjbGUtZXZlbnRzLWFtb3VudC0tdHJpZGlnaXQnXG4gICAgICAgICAgICAgIDogJ2NpcmNsZS1ldmVudHMtYW1vdW50J1xuICAgICAgICAgIH0gXG4gICAgICAgICAgJHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID4gMiA/ICdhbGVydC1jb2xvcicgOiAnJ31cbiAgICAgICAgICAgIGAsXG4gICAgICAgIGh0bWw6IGA8cD4ke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnR9PC9wPmAsXG4gICAgICAgIGljb25BbmNob3I6IGV2ZW50c0NvdW50SWNvbihtYXAuX3pvb20pLmljb25BbmNob3IsXG4gICAgICB9KSxcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIG9wYWNpdHk6IGhvdmVyZWQgPyAxIDogMCxcbiAgICB9KTtcblxuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXInO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXJIb3ZlcmVkJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hbmhvbGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gbmV3IEwuSWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IG5ldyBMLk1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IHBvaW50SWNvbixcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG4gIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIG1hbmhvbGVJY29uWydrYW5kb19wb2ludF90eXBlJ10gPSAnTWFuaG9sZSc7XG4gIGlmIChob3ZlcmVkKSBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcbiAgbGF5ZXJHcm91cC5hZGRMYXllcihtYW5ob2xlSWNvbik7XG59O1xuXG5leHBvcnQgY29uc3QgbWF0Y2hJY29uVG9Qb2ludCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHN3aXRjaCAocG9pbnQuZ3JvdXAudHlwZSkge1xuICAgIGNhc2UgJ0dyb3Vwczo6RmFjdG9yeSc6XG4gICAgICBpZiAoY29tYmluZWRGYWN0b3J5SWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRGYWN0b3J5SWNvbjtcbiAgICBjYXNlICdHcm91cHM6OlB1bXBTdGF0aW9uJzpcbiAgICAgIGlmIChjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRQdW1wU3RhdGlvbkljb247XG4gICAgY2FzZSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnOlxuICAgICAgaWYgKGNvbWJpbmVkV1dUUEljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkV1dUUEljb247XG5cbiAgICBjYXNlICdHcm91cHM6OkNvbGxlY3RvcnMnOlxuICAgICAgaWYgKGlzQ29sbGVjdG9yRm9jdXNlZChwb2ludCwgZXZlbnQpKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMzAsIDUyXSxcbiAgICAgICAgICB9KSxcblxuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiB3YXRlckljb25Ob0JhY2tncm91bmQsXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMjIsIDQ0XSxcbiAgICAgICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkQ29sbGVjdG9yc0ljb247XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzdGFuZGFyZEJhY2tncm91bmQgPSAoXG4gIHNlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlLFxuICB0aGlyZDogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluQmxhY2tTaGFkb3csXG4gICAgaWNvblNpemU6IHNlY29uZGFyeSA/IFswLCAwXSA6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnkgJiYgdGhpcmQgPyBbLTIsIDE5XSA6IHNlY29uZGFyeSA/IFstMiwgNDRdIDogWzIwLCA0Ml0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZEZhY3RvcnlJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHllbGxvd0NpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHBsYW50SWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs1LCAzMF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBncmVlbkNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHB1bXBTdGF0aW9uSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs3LCAzMl0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZENvbGxlY3RvcnNJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGNvbGxlY3Rvckljb24sXG4gICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgIGljb25BbmNob3I6IFsyNSwgNTBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRXV1RQSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBicmlnaHRCbHVlQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogV1dUUEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbOCwgMzFdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0ZWRCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzb3VyY2U7XG5cbiAgaWYgKGV2ZW50ICE9PSBudWxsICYmIGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzb3VyY2UgPSBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXTtcbiAgfVxuXG4gIHJldHVybiBldmVudCAhPT0gbnVsbCAmJiBzb3VyY2UgJiYgZXZlbnQuc2VsZWN0ZWRfc291cmNlID09PSBzb3VyY2UucG9pbnRfaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKGV2ZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgcmV0dXJuIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IHNhbXBsaW5nSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogYmx1ZUNpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgMTVdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBzYW1wbGluZ0ljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDEzXSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgbGV0IHRoaXJkSWNvbiA9IGZhbHNlO1xuICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcmRJY29uID0gdHJ1ZTtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbiwgdGhpcmRJY29uKSk7XG4gIH1cblxuICBzYW1wbGluZ0ljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSB0aGlyZEljb24gPyBmYWxzZSA6IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gdGhpcmRJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZ0hvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IG9ic2VydmF0aW9uSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogcGlua0NpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgNDBdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBvYnNlcnZhdGlvbkljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDM4XSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uKSk7XG4gIH1cblxuICBvYnNlcnZhdGlvbkljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IGZhbHNlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbkhvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29ucyA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQsXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIGxldCBzYW1wbGVkUG9pbnRJZHMgPSBldmVudC5zYW1wbGluZ3MubWFwKChzKSA9PiBzLnBvaW50X2lkKTtcbiAgaWYgKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc2FtcGxpbmdzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHNhbXBsZWRQb2ludElkcy5pbmNsdWRlcyhwb2ludC5pZClcbiAgKSB7XG4gICAgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQoXG4gICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbCxcbiAgICAgIG1hcCxcbiAgICAgIHBvaW50LFxuICAgICAgZXZlbnQsXG4gICAgICBob3ZlcmVkLFxuICAgICAgbGF5ZXJHcm91cCxcbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcG9wdXBDb250ZW50ID0gKG9iczogYW55LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChvYnMgPT09IG51bGwpIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke3BvaW50LmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke3BvaW50Lmdyb3VwLm5hbWV9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2VjdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtvYnMuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAubmFtZVxuICAgICAgICAgICAgICAgICAgICB9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwb3B1cC1jb250ZW50X19zZXZlcml0eS0tJyArIG9icy5zZXZlcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktYlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuJHtvYnMuc2V2ZXJpdHl9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPVwicG9wdXAtY29udGVudF9faHJcIiAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19kaXNjaGFyZ2UtdGltZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwiZmlyc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3Lmxhc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwibGFzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9XG59O1xuXG5jb25zdCBnZXRJY29uID0gKHBvaW50OiBJUG9pbnQsIGNsaWNrZWQ6IGJvb2xlYW4sIHN1YnRpdGxlOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgdHlwZSA9IHBvaW50Lmhhc19kZXZpY2UgPyBwb2ludC5ncm91cC50eXBlIDogJ0dyb3Vwczo6ZGVmYXVsdCc7XG4gIGNvbnN0IHN1YnRpdGxlVGV4dCA9IHN1YnRpdGxlID8gc3VidGl0bGUgOiBwb2ludC5ncm91cC5zZWN0b3JfbmFtZTtcbiAgcmV0dXJuIGdldFBvaW50SWNvbkJ5VHlwZSh0eXBlLCBwb2ludC5uYW1lLCBzdWJ0aXRsZVRleHQsIGNsaWNrZWQsICFjbGlja2VkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRJY29uID0gKGVsZW1lbnQsIGNsaWNrZWQsIHBvaW50KSA9PiB7XG4gIGVsZW1lbnQuc2V0SWNvbihnZXRJY29uKHBvaW50LCBjbGlja2VkKSk7XG59O1xuXG4vLyByb3VuZCB0byBuZWFyZXN0IHRob3VzYW5kIGlzIHVzZWQgd2hlbiB5b3Ugd2FudCB0byByb3VuZCB0aGUgd2F0ZXIgY29uc3VtcHRpb24gdG8gdGhlIG5lYXJlc3QgdGhvdXNhbmRcbi8vIGZvciBleGFtcGxlOiAyMzQsNTY3IC0+IDIzNSwwMDBcbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVXYXRlckNvbnN1bXB0aW9uID0gKFxuICBmbG93X3JhdGVfdW5pdDogc3RyaW5nLFxuICB3YXRlckNvbnN1bXB0aW9uOiBudW1iZXIsXG4gIHJvdW5kX3RvX25lYXJlc3RfazogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIGxldCBjYWxjdWxhdGVkID0gJzAnO1xuXG4gIGlmICh3YXRlckNvbnN1bXB0aW9uID4gMCkge1xuICAgIHN3aXRjaCAoZmxvd19yYXRlX3VuaXQpIHtcbiAgICAgIGNhc2UgJ20zZCc6XG4gICAgICAgIGNhbGN1bGF0ZWQgPSB3YXRlckNvbnN1bXB0aW9uLnRvRml4ZWQoMik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZ2RfdXMnOlxuICAgICAgICBjYWxjdWxhdGVkID0gKHdhdGVyQ29uc3VtcHRpb24gKiAyNjQuMTcyKS50b0ZpeGVkKDIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2dkX3VrJzpcbiAgICAgICAgY2FsY3VsYXRlZCA9ICh3YXRlckNvbnN1bXB0aW9uICogMjE5Ljk2OSkudG9GaXhlZCgyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIGlmIChyb3VuZF90b19uZWFyZXN0X2spIHtcbiAgICByZXR1cm4gcm91bmRUb05lYXJlc3RUaG91c2FuZChwYXJzZUZsb2F0KGNhbGN1bGF0ZWQpKS50b0xvY2FsZVN0cmluZygpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKHBhcnNlRmxvYXQoY2FsY3VsYXRlZCkpLnRvTG9jYWxlU3RyaW5nKCk7XG4gIH1cbn07XG5cbmNvbnN0IHJvdW5kVG9OZWFyZXN0VGhvdXNhbmQgPSAobnVtYmVyKSA9PiB7XG4gIC8vIGlmKGlzQWxyZWFkeVJvdW5kZWQobnVtYmVyKSkge1xuICAvLyAgIHJldHVybiBudW1iZXI7XG4gIC8vIH1cblxuICBpZiAobnVtYmVyIDwgMTAwMCkge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKG51bWJlcik7XG4gIH1cblxuICBjb25zdCByb3VuZGVkVGhvdXNhbmRzID0gTWF0aC5yb3VuZChudW1iZXIgLyAxMDAwKTtcbiAgY29uc3Qgcm91bmRlZFZhbHVlID0gcm91bmRlZFRob3VzYW5kcyAqIDEwMDA7XG5cbiAgcmV0dXJuIHJvdW5kZWRWYWx1ZTtcbn07XG5cbi8vIGNvbnN0IGlzQWxyZWFkeVJvdW5kZWQgPSAobnVtYmVyKSA9PiB7XG4vLyAgIHJldHVybiBudW1iZXIgPT09IE1hdGgucm91bmQobnVtYmVyKTtcbi8vIH1cblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZUZsb3dSYXRlID0gKGZsb3dfcmF0ZV91bml0KSA9PiB7XG4gIHJldHVybiBpMThuLnQoXG4gICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmZsb3dfcmF0ZV91bml0X29wdGlvbnMuJHtcbiAgICAgIGZsb3dfcmF0ZV91bml0LmluY2x1ZGVzKCdnZCcpID8gJ2dkJyA6IGZsb3dfcmF0ZV91bml0XG4gICAgfWAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTWFya2VyRXZlbnRzID0gKFxuICBtYXAsXG4gIHBvaW50LFxuICBwb2ludEN1c3RvbUljb24sXG4gIGhhbmRsZUNsaWNrLFxuKSA9PiB7XG4gIGxldCB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuXG4gIG1hcC5vbignem9vbXN0YXJ0JywgZnVuY3Rpb24gKCkge1xuICAgIG1hcC5jbG9zZVBvcHVwKCk7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbigncG9wdXBjbG9zZScsICgpID0+IHtcbiAgICAvLyBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgZmFsc2UsIHBvaW50KTtcbiAgICB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ3BvcHVwb3BlbicsICgpID0+IHtcbiAgICAvLyBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgdHJ1ZSwgcG9pbnQpO1xuICAgIHRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgfSk7XG5cbiAgcG9pbnRDdXN0b21JY29uLm9uKCdtb3VzZW92ZXInLCAoKSA9PiB7XG4gICAgaWYgKHRvb2x0aXBWaXNpYmxlKSByZXR1cm47XG5cbiAgICBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgdHJ1ZSwgcG9pbnQpO1xuICAgIHRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgfSk7XG5cbiAgcG9pbnRDdXN0b21JY29uLm9uKCdtb3VzZW91dCcsICgpID0+IHtcbiAgICBpZiAocG9pbnRDdXN0b21JY29uLmlzUG9wdXBPcGVuKCkpIHJldHVybjtcblxuICAgIHNldEljb24ocG9pbnRDdXN0b21JY29uLCBmYWxzZSwgcG9pbnQpO1xuICAgIHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gIH0pO1xuXG4gIGlmICh0eXBlb2YgaGFuZGxlQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICBwb2ludEN1c3RvbUljb24ub24oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgaGFuZGxlQ2xpY2socG9pbnRDdXN0b21JY29uLmthbmRvX29iamVjdF9pZCk7XG5cbiAgICAgIGlmIChwb2ludElzRmFjdG9yeShwb2ludCkpIHtcbiAgICAgICAgc2VuZEFuYWx5dGljc0V2ZW50KCdNYXAgVmlldyAtIEZhY3RvcnkgY2xpY2tlZCcsICdtYXAnLCB7XG4gICAgICAgICAgcG9pbnRfaWQ6IHBvaW50LmlkLFxuICAgICAgICAgIHBvaW50X25hbWU6IHBvaW50Lm5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYmluZFBvcHVwVG9NYXJrZXIgPSAocG9pbnQsIGxheWVyR3JvdXAsIGZsb3dfcmF0ZV91bml0KSA9PiB7XG4gIGxldCBjb250ZW50ID0gYFxuICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudCc+XG4gICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyJz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc19fdGl0bGUnPiR7XG4gICAgICAgICAgICAgICAgICBwb2ludC5uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3N1YnRpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWVcbiAgICAgICAgICAgICAgICB9PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgXG4gICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keSc+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW0nPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9faWNvbic+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPScke3dhdGVyUmV1c2VJY29ufScgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlcyc+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlc19fdGl0bGUnPlxuICAgICAgICAgICAgICAgICAgICAke2dldEZsb3dSYXRlKHBvaW50Lmdyb3VwLndhdGVyX2Rpc2NoYXJnZSwgZmxvd19yYXRlX3VuaXQpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlc19fc3VidGl0bGUnPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAnd2F0ZXJfZGlzY2hhcmdlJyxcbiAgICAgICAgICAgICAgICAgICl9PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgYDtcblxuICBsYXllckdyb3VwLmJpbmRQb3B1cChjb250ZW50LCB7XG4gICAgY2xhc3NOYW1lOiAncG9pbnQtbWFya2VyLXBvcHVwJyxcbiAgICBtaW5XaWR0aDogJzIxNHB4JyxcbiAgICBtYXhXaWR0aDogJzIxNHB4JyxcbiAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rmxvd1JhdGUgPSAoXG4gIHdhdGVyQ29uc3VtcHRpb246IG51bWJlcixcbiAgZmxvd1JhdGVVbml0OiBzdHJpbmcsXG4gIGlzUm91bmQ6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICBpZiAod2F0ZXJDb25zdW1wdGlvbiA+IDApIHtcbiAgICByZXR1cm4gKFxuICAgICAgY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbihmbG93UmF0ZVVuaXQsIHdhdGVyQ29uc3VtcHRpb24sIGlzUm91bmQpICtcbiAgICAgICcgJyArXG4gICAgICB0cmFuc2xhdGVGbG93UmF0ZShmbG93UmF0ZVVuaXQpXG4gICAgKTtcbiAgfVxuICByZXR1cm4gaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy51bmtub3duJyk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKG1hcC5oYXNMYXllcihsYXllckdyb3VwKSkge1xuICAgIG1hcC5yZW1vdmVMYXllcihsYXllckdyb3VwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGFkZExheWVyR3JvdXAgPSAobWFwLCBsYXllckdyb3VwKSA9PiB7XG4gIGlmICghbWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLmFkZExheWVyKGxheWVyR3JvdXApO1xuICB9IGVsc2Uge1xuICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgICBhZGRMYXllckdyb3VwKG1hcCwgbGF5ZXJHcm91cCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzV1dUUCA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNGYWN0b3J5ID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIGlzRmFjdG9yeVR5cGUocG9pbnQuZ3JvdXAudHlwZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNGYWN0b3J5VHlwZSA9ICh0eXBlOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIHR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFBMkMsSUFBQUUsV0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQUcsYUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQUksV0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQUssZ0JBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQU8zQyxJQUFBTSxnQkFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sa0JBQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFRLG9CQUFBLEdBQUFULHNCQUFBLENBQUFDLE9BQUE7QUFBeUYsSUFBQVMsYUFBQSxHQUFBVixzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQVUsWUFBQSxHQUFBWCxzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQVcsWUFBQSxHQUFBWixzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQVksZ0JBQUEsR0FBQWIsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFhLFNBQUEsR0FBQWQsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFjLGlCQUFBLEdBQUFmLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBZSxTQUFBLEdBQUFoQixzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQWdCLGtCQUFBLEdBQUFqQixzQkFBQSxDQUFBQyxPQUFBO0FBU3pGLElBQUFpQixXQUFBLEdBQUFsQixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQWtCLFNBQUEsR0FBQWxCLE9BQUE7QUFDQSxJQUFBbUIsVUFBQSxHQUFBbkIsT0FBQTtBQUFpRCxJQUFBb0IsWUFBQSxHQUFBckIsc0JBQUEsQ0FBQUMsT0FBQTtBQUVqRCxJQUFBcUIsTUFBQSxHQUFBckIsT0FBQTtBQUVPLElBQU1zQixrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFJQyxLQUFhLEVBQUVDLEtBQWEsRUFBSztFQUFBLElBQUFDLG1CQUFBO0VBQ2xFLE9BQ0UsQ0FBQUQsS0FBSyxhQUFMQSxLQUFLLHdCQUFBQyxtQkFBQSxHQUFMRCxLQUFLLENBQUVFLFlBQVksY0FBQUQsbUJBQUEsdUJBQW5CQSxtQkFBQSxDQUFxQkUsTUFBTSxNQUFLLENBQUMsSUFDakNKLEtBQUssQ0FBQ0ssRUFBRSxLQUFLSixLQUFLLENBQUNFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQ0csUUFBUTtBQUUvQyxDQUFDO0FBQUNDLE9BQUEsQ0FBQVIsa0JBQUEsR0FBQUEsa0JBQUE7QUFFRixJQUFNUyx5QkFBeUIsR0FBRyxTQUE1QkEseUJBQXlCQSxDQUFJUixLQUFhLEVBQUs7RUFDbkQsSUFBSVMsTUFBTSxNQUFBQyxNQUFBLENBQU1WLEtBQUssQ0FBQ1csS0FBSyxDQUFDQyxJQUFJLE1BQUc7RUFFbkMsSUFBSUMsY0FBYyxDQUFDYixLQUFLLENBQUMsRUFBRTtJQUN6QlMsTUFBTSxvQkFBQUMsTUFBQSxDQUFvQlYsS0FBSyxDQUFDVyxLQUFLLENBQUNHLFdBQVcsQ0FBRTtJQUNuREwsTUFBTSwrQkFBQUMsTUFBQSxDQUErQlYsS0FBSyxDQUFDVyxLQUFLLENBQUNJLGVBQWUsQ0FBRTtFQUNwRSxDQUFDLE1BQU07SUFDTE4sTUFBTSxNQUFBQyxNQUFBLENBQU1WLEtBQUssQ0FBQ1ksSUFBSSxDQUFFO0VBQzFCO0VBRUEsT0FBT0gsTUFBTTtBQUNmLENBQUM7QUFFTSxJQUFNTyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUlDLElBQUksRUFBSztFQUNyQyxJQUFNQyxlQUF5QixHQUFHQyxnQkFBQyxDQUFDQyxNQUFNLENBQUNILElBQUksQ0FBQ0ksY0FBYyxFQUFFO0lBQzlEQyxJQUFJLEVBQUVDLE9BQU8sQ0FBQ04sSUFBSSxDQUFDTyxTQUFTLEVBQUUsS0FBSyxDQUFDO0lBQ3BDQyxXQUFXLEVBQUU7RUFDZixDQUFDLENBQUM7RUFFRixPQUFPUCxlQUFlO0FBQ3hCLENBQUM7QUFBQ1gsT0FBQSxDQUFBUyxhQUFBLEdBQUFBLGFBQUE7QUFFSyxJQUFNVSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUM1QkwsY0FBMkIsRUFDM0JyQixLQUFhLEVBQ2IyQixHQUFHLEVBQ0hDLE9BQVEsRUFDUkMsVUFBVyxFQUdSO0VBQUEsSUFGSEMsY0FBYyxHQUFBQyxTQUFBLENBQUEzQixNQUFBLFFBQUEyQixTQUFBLFFBQUFDLFNBQUEsR0FBQUQsU0FBQSxNQUFHLE9BQU87RUFBQSxJQUN4QkUsV0FBWSxHQUFBRixTQUFBLENBQUEzQixNQUFBLE9BQUEyQixTQUFBLE1BQUFDLFNBQUE7RUFFWixJQUFNRSxRQUFRLEdBQUdyQixjQUFjLENBQUNiLEtBQUssQ0FBQyxHQUFHQSxLQUFLLENBQUNXLEtBQUssQ0FBQ0csV0FBVyxHQUFHLEVBQUU7RUFDckUsSUFBSUksZUFBeUIsR0FBR0MsZ0JBQUMsQ0FBQ0MsTUFBTSxDQUFDQyxjQUFjLEVBQUU7SUFDdkRDLElBQUksRUFBRUMsT0FBTyxDQUFDdkIsS0FBSyxFQUFFLEtBQUssRUFBRWtDLFFBQVEsQ0FBQztJQUNyQ1QsV0FBVyxFQUFFO0VBQ2YsQ0FBQyxDQUFDO0VBQ0Y7RUFDQTtFQUNBUCxlQUFlLENBQUMsaUJBQWlCLENBQUMsR0FBR2xCLEtBQUssQ0FBQ0ssRUFBRTtFQUM3Q2EsZUFBZSxDQUFDLGNBQWMsQ0FBQyxHQUFHLE9BQU87RUFDekNBLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHbEIsS0FBSyxDQUFDbUMsVUFBVTtFQUN0RCxJQUFJUCxPQUFPLEVBQUVWLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxjQUFjO0VBRTdEVyxVQUFVLENBQUNPLFFBQVEsQ0FBQ2xCLGVBQWUsQ0FBQztFQUNwQyxJQUFJTCxjQUFjLENBQUNiLEtBQUssQ0FBQyxFQUFFO0lBQ3pCcUMsaUJBQWlCLENBQUNyQyxLQUFLLEVBQUVrQixlQUFlLEVBQUVZLGNBQWMsQ0FBQztFQUMzRDtFQUVBUSxrQkFBa0IsQ0FBQ1gsR0FBRyxFQUFFM0IsS0FBSyxFQUFFa0IsZUFBZSxFQUFFZSxXQUFXLENBQUM7RUFFNUQsSUFBSWpDLEtBQUssQ0FBQ3VDLG1CQUFtQixFQUFFO0lBQzdCLElBQUlyQixnQkFBZSxHQUFHQyxnQkFBQyxDQUFDQyxNQUFNLENBQUNDLGNBQWMsRUFBRTtNQUM3Q0MsSUFBSSxFQUFFSCxnQkFBQyxDQUFDcUIsT0FBTyxDQUFDO1FBQ2RDLFNBQVMsaUJBQUEvQixNQUFBLENBRUxWLEtBQUssQ0FBQ3VDLG1CQUFtQixJQUFJLEdBQUcsR0FDNUIscURBQXFELEdBQ3JELHNCQUFzQixtQkFBQTdCLE1BQUEsQ0FFMUJWLEtBQUssQ0FBQ3VDLG1CQUFtQixHQUFHLENBQUMsR0FBRyxhQUFhLEdBQUcsRUFBRSxtQkFDakQ7UUFDTEcsSUFBSSxRQUFBaEMsTUFBQSxDQUFRVixLQUFLLENBQUN1QyxtQkFBbUIsU0FBTTtRQUMzQ0ksVUFBVSxFQUFFLElBQUFDLHlCQUFlLEVBQUNqQixHQUFHLENBQUNrQixLQUFLLENBQUMsQ0FBQ0Y7TUFDekMsQ0FBQyxDQUFDO01BQ0ZsQixXQUFXLEVBQUUsS0FBSztNQUNsQnFCLE9BQU8sRUFBRWxCLE9BQU8sR0FBRyxDQUFDLEdBQUc7SUFDekIsQ0FBQyxDQUFDO0lBRUZWLGdCQUFlLENBQUMsaUJBQWlCLENBQUMsR0FBR2xCLEtBQUssQ0FBQ0ssRUFBRTtJQUM3Q2EsZ0JBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxZQUFZO0lBQzlDLElBQUlVLE9BQU8sRUFBRVYsZ0JBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxtQkFBbUI7RUFDcEU7QUFDRixDQUFDO0FBQUNYLE9BQUEsQ0FBQW1CLGlCQUFBLEdBQUFBLGlCQUFBO0FBRUssSUFBTXFCLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQzdCMUIsY0FBMkIsRUFDM0JyQixLQUFhLEVBQ2IyQixHQUFHLEVBQ0hDLE9BQVEsRUFDUkMsVUFBVyxFQUNSO0VBQ0gsSUFBSW1CLFNBQVMsR0FBRyxJQUFJN0IsZ0JBQUMsQ0FBQzhCLElBQUksQ0FBQztJQUN6QkMsT0FBTyxFQUFFQyxtQkFBVTtJQUNuQkMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQlQsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUc7RUFDdkIsQ0FBQyxDQUFDO0VBQ0YsSUFBSVUsV0FBZ0IsR0FBRyxJQUFJbEMsZ0JBQUMsQ0FBQ21DLE1BQU0sQ0FBQ2pDLGNBQWMsRUFBRTtJQUNsREMsSUFBSSxFQUFFMEIsU0FBUztJQUNmdkIsV0FBVyxFQUFFO0VBQ2YsQ0FBQyxDQUFDO0VBQ0Y0QixXQUFXLENBQUNFLFdBQVcsQ0FBQy9DLHlCQUF5QixDQUFDUixLQUFLLENBQUMsQ0FBQztFQUN6RHFELFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHckQsS0FBSyxDQUFDSyxFQUFFO0VBQ3pDZ0QsV0FBVyxDQUFDLGNBQWMsQ0FBQyxHQUFHLE9BQU87RUFDckNBLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLFNBQVM7RUFDM0MsSUFBSXpCLE9BQU8sRUFBRXlCLFdBQVcsQ0FBQyxjQUFjLENBQUMsR0FBRyxjQUFjO0VBQ3pEeEIsVUFBVSxDQUFDTyxRQUFRLENBQUNpQixXQUFXLENBQUM7QUFDbEMsQ0FBQztBQUFDOUMsT0FBQSxDQUFBd0Msa0JBQUEsR0FBQUEsa0JBQUE7QUFFSyxJQUFNUyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFJeEQsS0FBYSxFQUFFQyxLQUFhLEVBQUs7RUFDaEUsUUFBUUQsS0FBSyxDQUFDVyxLQUFLLENBQUM4QyxJQUFJO0lBQ3RCLEtBQUssaUJBQWlCO01BQ3BCLElBQUlDLG1CQUFtQixDQUFDdEQsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNwQyxJQUFJdUQsNkJBQTZCLENBQUMxRCxLQUFLLEVBQUVELEtBQUssQ0FBQyxFQUFFO1VBQy9DMEQsbUJBQW1CLENBQUNFLE9BQU8sQ0FBQ0Msa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUMsTUFBTSxJQUFJQyxxQkFBcUIsQ0FBQzdELEtBQUssRUFBRUQsS0FBSyxDQUFDLEVBQUU7VUFDOUMwRCxtQkFBbUIsQ0FBQ0UsT0FBTyxDQUFDRyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxNQUFNO1VBQ0xMLG1CQUFtQixDQUFDRSxPQUFPLENBQUNJLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUNuRDtNQUNGO01BRUEsT0FBT04sbUJBQW1CO0lBQzVCLEtBQUsscUJBQXFCO01BQ3hCLElBQUlPLHVCQUF1QixDQUFDN0QsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN4QyxJQUFJdUQsNkJBQTZCLENBQUMxRCxLQUFLLEVBQUVELEtBQUssQ0FBQyxFQUFFO1VBQy9DaUUsdUJBQXVCLENBQUNMLE9BQU8sQ0FBQ0Msa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsTUFBTSxJQUFJQyxxQkFBcUIsQ0FBQzdELEtBQUssRUFBRUQsS0FBSyxDQUFDLEVBQUU7VUFDOUNpRSx1QkFBdUIsQ0FBQ0wsT0FBTyxDQUFDRyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQyxNQUFNO1VBQ0xFLHVCQUF1QixDQUFDTCxPQUFPLENBQUNJLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUN2RDtNQUNGO01BRUEsT0FBT0MsdUJBQXVCO0lBQ2hDLEtBQUssa0NBQWtDO01BQ3JDLElBQUlDLGdCQUFnQixDQUFDOUQsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNqQyxJQUFJdUQsNkJBQTZCLENBQUMxRCxLQUFLLEVBQUVELEtBQUssQ0FBQyxFQUFFO1VBQy9Da0UsZ0JBQWdCLENBQUNOLE9BQU8sQ0FBQ0Msa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUMsTUFBTSxJQUFJQyxxQkFBcUIsQ0FBQzdELEtBQUssRUFBRUQsS0FBSyxDQUFDLEVBQUU7VUFDOUNrRSxnQkFBZ0IsQ0FBQ04sT0FBTyxDQUFDRyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxNQUFNO1VBQ0xHLGdCQUFnQixDQUFDTixPQUFPLENBQUNJLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUNoRDtNQUNGO01BRUEsT0FBT0UsZ0JBQWdCO0lBRXpCLEtBQUssb0JBQW9CO01BQ3ZCLElBQUluRSxrQkFBa0IsQ0FBQ0MsS0FBSyxFQUFFQyxLQUFLLENBQUMsRUFBRTtRQUNwQyxPQUFPLENBQ0xrQixnQkFBQyxDQUFDRyxJQUFJLENBQUM7VUFDTDRCLE9BQU8sRUFBRWlCLHdCQUFlO1VBQ3hCZixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1VBQ2hCVCxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtRQUNyQixDQUFDLENBQUMsRUFFRnhCLGdCQUFDLENBQUNHLElBQUksQ0FBQztVQUNMNEIsT0FBTyxFQUFFa0IsMEJBQXFCO1VBQzlCaEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztVQUVoQlQsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztVQUNwQjBCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDdEIsQ0FBQyxDQUFDLENBQ0g7TUFDSDtNQUVBLE9BQU9DLHNCQUFzQjtJQUUvQjtNQUNFLE9BQU8sSUFBSTtFQUNmO0FBQ0YsQ0FBQztBQUFDL0QsT0FBQSxDQUFBaUQsZ0JBQUEsR0FBQUEsZ0JBQUE7QUFFSyxJQUFNUSxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFBLEVBRzFCO0VBQUEsSUFGSE8sU0FBa0IsR0FBQXhDLFNBQUEsQ0FBQTNCLE1BQUEsUUFBQTJCLFNBQUEsUUFBQUMsU0FBQSxHQUFBRCxTQUFBLE1BQUcsS0FBSztFQUFBLElBQzFCeUMsS0FBYyxHQUFBekMsU0FBQSxDQUFBM0IsTUFBQSxRQUFBMkIsU0FBQSxRQUFBQyxTQUFBLEdBQUFELFNBQUEsTUFBRyxLQUFLO0VBRXRCLE9BQU9aLGdCQUFDLENBQUNHLElBQUksQ0FBQztJQUNaNEIsT0FBTyxFQUFFdUIsNEJBQW1CO0lBQzVCckIsUUFBUSxFQUFFbUIsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyQzVCLFVBQVUsRUFBRTRCLFNBQVMsSUFBSUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUdELFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUMzRUYsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtFQUN0QixDQUFDLENBQUM7QUFDSixDQUFDO0FBQUM5RCxPQUFBLENBQUF5RCxrQkFBQSxHQUFBQSxrQkFBQTtBQUVLLElBQU1OLG1CQUFtQixHQUFHLENBQ2pDdkMsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO0VBQ0w0QixPQUFPLEVBQUV3QixxQkFBZTtFQUN4QnRCLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7RUFDaEJULFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7RUFDeEIwQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0FBQ3RCLENBQUMsQ0FBQyxFQUNGbEQsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO0VBQ0w0QixPQUFPLEVBQUV5QixvQkFBWTtFQUNyQnZCLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7RUFDaEJULFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7RUFDbkIwQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0FBQ3RCLENBQUMsQ0FBQyxDQUNIO0FBQUM5RCxPQUFBLENBQUFtRCxtQkFBQSxHQUFBQSxtQkFBQTtBQUVLLElBQU1PLHVCQUF1QixHQUFHLENBQ3JDOUMsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO0VBQ0w0QixPQUFPLEVBQUUwQixvQkFBYztFQUN2QnhCLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7RUFDaEJULFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7RUFDeEIwQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0FBQ3RCLENBQUMsQ0FBQyxFQUNGbEQsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO0VBQ0w0QixPQUFPLEVBQUUyQix3QkFBa0I7RUFDM0J6QixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0VBQ2hCVCxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ25CMEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUN0QixDQUFDLENBQUMsQ0FDSDtBQUFDOUQsT0FBQSxDQUFBMEQsdUJBQUEsR0FBQUEsdUJBQUE7QUFFSyxJQUFNSyxzQkFBc0IsR0FBRyxDQUNwQ25ELGdCQUFDLENBQUNHLElBQUksQ0FBQztFQUNMNEIsT0FBTyxFQUFFNEIsaUJBQWE7RUFDdEIxQixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0VBRWhCVCxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0VBQ3BCMEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUN0QixDQUFDLENBQUMsQ0FDSDtBQUFDOUQsT0FBQSxDQUFBK0Qsc0JBQUEsR0FBQUEsc0JBQUE7QUFFSyxJQUFNSixnQkFBZ0IsR0FBRyxDQUM5Qi9DLGdCQUFDLENBQUNHLElBQUksQ0FBQztFQUNMNEIsT0FBTyxFQUFFNkIseUJBQW1CO0VBQzVCM0IsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUNoQlQsVUFBVSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztFQUN4QjBCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDdEIsQ0FBQyxDQUFDLEVBQ0ZsRCxnQkFBQyxDQUFDRyxJQUFJLENBQUM7RUFDTDRCLE9BQU8sRUFBRThCLGlCQUFXO0VBQ3BCNUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUNoQlQsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUNuQjBCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDdEIsQ0FBQyxDQUFDLENBQ0g7QUFBQzlELE9BQUEsQ0FBQTJELGdCQUFBLEdBQUFBLGdCQUFBO0FBRUssSUFBTUwsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBQSxFQUFTO0VBQ3RDLE9BQU8xQyxnQkFBQyxDQUFDRyxJQUFJLENBQUM7SUFDWjRCLE9BQU8sRUFBRWlCLHdCQUFlO0lBQ3hCZixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hCVCxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3BCMEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtFQUN0QixDQUFDLENBQUM7QUFDSixDQUFDO0FBQUM5RCxPQUFBLENBQUFzRCxrQkFBQSxHQUFBQSxrQkFBQTtBQUVLLElBQU1FLHlCQUF5QixHQUFHLFNBQTVCQSx5QkFBeUJBLENBQUEsRUFBUztFQUM3QyxPQUFPNUMsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO0lBQ1o0QixPQUFPLEVBQUUrQiwwQkFBaUI7SUFDMUI3QixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hCVCxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3BCMEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtFQUN0QixDQUFDLENBQUM7QUFDSixDQUFDO0FBQUM5RCxPQUFBLENBQUF3RCx5QkFBQSxHQUFBQSx5QkFBQTtBQUVLLElBQU1KLDZCQUE2QixHQUFHLFNBQWhDQSw2QkFBNkJBLENBQUkxRCxLQUFhLEVBQUVELEtBQWEsRUFBSztFQUM3RSxJQUFJa0YsTUFBTTtFQUVWLElBQUlqRixLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUsrQixTQUFTLEVBQUU7SUFDekNrRCxNQUFNLEdBQUdqRixLQUFLLENBQUNrRixPQUFPLENBQUNDLE1BQU0sQ0FBQyxVQUFDRixNQUFNO01BQUEsT0FBS0EsTUFBTSxDQUFDNUUsUUFBUSxLQUFLTixLQUFLLENBQUNLLEVBQUU7SUFBQSxFQUFDLENBQUMsQ0FBQyxDQUFDO0VBQzVFO0VBRUEsT0FBT0osS0FBSyxLQUFLLElBQUksSUFBSWlGLE1BQU0sSUFBSWpGLEtBQUssQ0FBQ29GLGVBQWUsS0FBS0gsTUFBTSxDQUFDNUUsUUFBUTtBQUM5RSxDQUFDO0FBQUNDLE9BQUEsQ0FBQW9ELDZCQUFBLEdBQUFBLDZCQUFBO0FBRUssSUFBTUcscUJBQXFCLEdBQUcsU0FBeEJBLHFCQUFxQkEsQ0FBSTdELEtBQWEsRUFBRUQsS0FBYSxFQUFLO0VBQ3JFLElBQUlDLEtBQUssS0FBSytCLFNBQVMsRUFBRTtFQUN6QixPQUNFL0IsS0FBSyxLQUFLLElBQUksSUFDZEEsS0FBSyxDQUFDa0YsT0FBTyxDQUFDQyxNQUFNLENBQUMsVUFBQ0YsTUFBTTtJQUFBLE9BQUtBLE1BQU0sQ0FBQzVFLFFBQVEsS0FBS04sS0FBSyxDQUFDSyxFQUFFO0VBQUEsRUFBQyxDQUFDLENBQUMsQ0FBQztBQUVyRSxDQUFDO0FBQUNFLE9BQUEsQ0FBQXVELHFCQUFBLEdBQUFBLHFCQUFBO0FBRUssSUFBTXdCLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQ2xDakUsY0FBMkIsRUFDM0JrRSxhQUFzQixFQUN0QjVELEdBQUcsRUFDSDNCLEtBQWEsRUFDYkMsS0FBYSxFQUNiMkIsT0FBUSxFQUNSQyxVQUFXLEVBQ1I7RUFDSDtFQUNBO0VBQ0EsSUFBSTJELFlBQVksR0FBRyxDQUNqQnJFLGdCQUFDLENBQUNHLElBQUksQ0FBQztJQUNMNEIsT0FBTyxFQUFFdUMsbUJBQWE7SUFDdEJyQyxRQUFRLEVBQUVtQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDNUMsVUFBVSxFQUFFNEMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO0lBQ25EbEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtFQUN0QixDQUFDLENBQUMsRUFDRmxELGdCQUFDLENBQUNHLElBQUksQ0FBQztJQUNMNEIsT0FBTyxFQUFFd0MscUJBQWU7SUFDeEJ0QyxRQUFRLEVBQUVtQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDNUMsVUFBVSxFQUFFNEMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzlDbEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtFQUN0QixDQUFDLENBQUMsQ0FDSDtFQUVELElBQUlzQixTQUFTLEdBQUcsS0FBSztFQUNyQixJQUFJaEMsNkJBQTZCLENBQUMxRCxLQUFLLEVBQUVELEtBQUssQ0FBQyxJQUFJLENBQUN1RixhQUFhLEVBQUU7SUFDakVDLFlBQVksQ0FBQzVCLE9BQU8sQ0FBQ0Msa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0VBQzVDLENBQUMsTUFBTSxJQUFJQyxxQkFBcUIsQ0FBQzdELEtBQUssRUFBRUQsS0FBSyxDQUFDLElBQUksQ0FBQ3VGLGFBQWEsRUFBRTtJQUNoRUMsWUFBWSxDQUFDNUIsT0FBTyxDQUFDRyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7RUFDbkQsQ0FBQyxNQUFNO0lBQ0w0QixTQUFTLEdBQUcsSUFBSTtJQUNoQkgsWUFBWSxDQUFDNUIsT0FBTyxDQUFDSSxrQkFBa0IsQ0FBQ3VCLGFBQWEsRUFBRUksU0FBUyxDQUFDLENBQUM7RUFDcEU7RUFFQUgsWUFBWSxDQUFDSSxPQUFPLENBQUMsVUFBQ3RFLElBQUksRUFBRXVFLEtBQUssRUFBSztJQUNwQyxJQUFJM0UsZUFBb0IsR0FBR0MsZ0JBQUMsQ0FBQ0MsTUFBTSxDQUFDQyxjQUFjLEVBQUU7TUFDbERDLElBQUksRUFBRUEsSUFBSTtNQUNWRyxXQUFXLEVBQUU7SUFDZixDQUFDLENBQUM7SUFDRlAsZUFBZSxDQUFDcUMsV0FBVyxDQUFDL0MseUJBQXlCLENBQUNSLEtBQUssQ0FBQyxDQUFDO0lBQzdEa0IsZUFBZSxDQUFDLG9CQUFvQixDQUFDLEdBQUcyRSxLQUFLO0lBQzdDM0UsZUFBZSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsSUFBSTtJQUM5Q0EsZUFBZSxDQUFDLGlCQUFpQixDQUFDLEdBQUd5RSxTQUFTLEdBQUcsS0FBSyxHQUFHSixhQUFhO0lBQ3RFckUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHeUUsU0FBUztJQUMxQ3pFLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHbEIsS0FBSyxDQUFDSyxFQUFFO0lBQzdDYSxlQUFlLENBQUMsY0FBYyxDQUFDLEdBQUcsVUFBVTtJQUM1QyxJQUFJVSxPQUFPLEVBQUVWLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxpQkFBaUI7SUFDaEVXLFVBQVUsQ0FBQ08sUUFBUSxDQUFDbEIsZUFBZSxDQUFDO0VBQ3RDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQ1gsT0FBQSxDQUFBK0UsdUJBQUEsR0FBQUEsdUJBQUE7QUFFSyxJQUFNUSwwQkFBMEIsR0FBRyxTQUE3QkEsMEJBQTBCQSxDQUNyQ3pFLGNBQTJCLEVBQzNCa0UsYUFBc0IsRUFDdEI1RCxHQUFHLEVBQ0gzQixLQUFhLEVBQ2JDLEtBQWEsRUFDYjJCLE9BQVEsRUFDUkMsVUFBVyxFQUNSO0VBQ0g7RUFDQTtFQUNBLElBQUlrRSxlQUFlLEdBQUcsQ0FDcEI1RSxnQkFBQyxDQUFDRyxJQUFJLENBQUM7SUFDTDRCLE9BQU8sRUFBRThDLG1CQUFhO0lBQ3RCNUMsUUFBUSxFQUFFbUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QzVDLFVBQVUsRUFBRTRDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztJQUNuRGxCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7RUFDdEIsQ0FBQyxDQUFDLEVBQ0ZsRCxnQkFBQyxDQUFDRyxJQUFJLENBQUM7SUFDTDRCLE9BQU8sRUFBRStDLHdCQUFrQjtJQUMzQjdDLFFBQVEsRUFBRW1DLGFBQWEsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekM1QyxVQUFVLEVBQUU0QyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDOUNsQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0VBQ3RCLENBQUMsQ0FBQyxDQUNIO0VBRUQsSUFBSVYsNkJBQTZCLENBQUMxRCxLQUFLLEVBQUVELEtBQUssQ0FBQyxJQUFJLENBQUN1RixhQUFhLEVBQUU7SUFDakVRLGVBQWUsQ0FBQ25DLE9BQU8sQ0FBQ0Msa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0VBQy9DLENBQUMsTUFBTSxJQUFJQyxxQkFBcUIsQ0FBQzdELEtBQUssRUFBRUQsS0FBSyxDQUFDLElBQUksQ0FBQ3VGLGFBQWEsRUFBRTtJQUNoRVEsZUFBZSxDQUFDbkMsT0FBTyxDQUFDRyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7RUFDdEQsQ0FBQyxNQUFNO0lBQ0xnQyxlQUFlLENBQUNuQyxPQUFPLENBQUNJLGtCQUFrQixDQUFDdUIsYUFBYSxDQUFDLENBQUM7RUFDNUQ7RUFFQVEsZUFBZSxDQUFDSCxPQUFPLENBQUMsVUFBQ3RFLElBQUksRUFBRXVFLEtBQUssRUFBSztJQUN2QyxJQUFJM0UsZUFBb0IsR0FBR0MsZ0JBQUMsQ0FBQ0MsTUFBTSxDQUFDQyxjQUFjLEVBQUU7TUFDbERDLElBQUksRUFBRUEsSUFBSTtNQUNWRyxXQUFXLEVBQUU7SUFDZixDQUFDLENBQUM7SUFDRlAsZUFBZSxDQUFDcUMsV0FBVyxDQUFDL0MseUJBQXlCLENBQUNSLEtBQUssQ0FBQyxDQUFDO0lBQzdEa0IsZUFBZSxDQUFDLG9CQUFvQixDQUFDLEdBQUcyRSxLQUFLO0lBQzdDM0UsZUFBZSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsSUFBSTtJQUM5Q0EsZUFBZSxDQUFDLGlCQUFpQixDQUFDLEdBQUdxRSxhQUFhO0lBQ2xEckUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEtBQUs7SUFDdENBLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHbEIsS0FBSyxDQUFDSyxFQUFFO0lBQzdDYSxlQUFlLENBQUMsY0FBYyxDQUFDLEdBQUcsYUFBYTtJQUMvQyxJQUFJVSxPQUFPLEVBQUVWLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxvQkFBb0I7SUFDbkVXLFVBQVUsQ0FBQ08sUUFBUSxDQUFDbEIsZUFBZSxDQUFDO0VBQ3RDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQ1gsT0FBQSxDQUFBdUYsMEJBQUEsR0FBQUEsMEJBQUE7QUFFSyxJQUFNSSxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUM5QjdFLGNBQTJCLEVBQzNCcEIsS0FBYSxFQUNiRCxLQUFhLEVBQ2IyQixHQUFHLEVBQ0hDLE9BQU8sRUFDUEMsVUFBVyxFQUNSO0VBQ0gsSUFBSXNFLGVBQWUsR0FBR2xHLEtBQUssQ0FBQ21HLFNBQVMsQ0FBQ3pFLEdBQUcsQ0FBQyxVQUFDMEUsQ0FBQztJQUFBLE9BQUtBLENBQUMsQ0FBQy9GLFFBQVE7RUFBQSxFQUFDO0VBQzVELElBQ0VMLEtBQUssS0FBSyxJQUFJLElBQ2RBLEtBQUssQ0FBQ21HLFNBQVMsQ0FBQ2hHLE1BQU0sS0FBSyxDQUFDLElBQzVCK0YsZUFBZSxDQUFDRyxRQUFRLENBQUN0RyxLQUFLLENBQUNLLEVBQUUsQ0FBQyxFQUNsQztJQUNBaUYsdUJBQXVCLENBQ3JCakUsY0FBYyxFQUNkbUMsZ0JBQWdCLENBQUN4RCxLQUFLLEVBQUVDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFDdkMwQixHQUFHLEVBQ0gzQixLQUFLLEVBQ0xDLEtBQUssRUFDTDJCLE9BQU8sRUFDUEMsVUFDRixDQUFDO0VBQ0g7QUFDRixDQUFDO0FBQUN0QixPQUFBLENBQUEyRixtQkFBQSxHQUFBQSxtQkFBQTtBQUVLLElBQU1LLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFJQyxHQUFRLEVBQUV4RyxLQUFhLEVBQUs7RUFDdkQsSUFBSXdHLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDaEIsb0hBQUE5RixNQUFBLENBRTREVixLQUFLLENBQUNLLEVBQUUsMENBQUFLLE1BQUEsQ0FDeEMrRixrQkFBUyxpSkFBQS9GLE1BQUEsQ0FHcUJWLEtBQUssQ0FBQ1csS0FBSyxDQUFDQyxJQUFJO0VBTzVFLENBQUMsTUFBTTtJQUNMLG9IQUFBRixNQUFBLENBRTREOEYsR0FBRyxDQUFDbkcsRUFBRSwwQ0FBQUssTUFBQSxDQUN0QytGLGtCQUFTLGlKQUFBL0YsTUFBQSxDQUluQlYsS0FBSyxDQUFDVyxLQUFLLENBQUNDLElBQUksNklBQUFGLE1BQUEsQ0FHeUJnRyxhQUFJLENBQUNDLENBQUMsMkJBRTdDLENBQUMsa0RBQUFqRyxNQUFBLENBRUMsMkJBQTJCLEdBQUc4RixHQUFHLENBQUNJLFFBQVEsZ0hBQUFsRyxNQUFBLENBR2xDZ0csYUFBSSxDQUFDQyxDQUFDLCtCQUFBakcsTUFBQSxDQUN3QjhGLEdBQUcsQ0FBQ0ksUUFBUSxDQUM1QyxDQUFDLDRWQUFBbEcsTUFBQSxDQVNrQ2dHLGFBQUksQ0FBQ0MsQ0FBQyw2QkFFN0MsQ0FBQyx5TkFBQWpHLE1BQUEsQ0FJc0NnRyxhQUFJLENBQUNDLENBQUMsNEJBRTdDLENBQUM7RUFPM0I7QUFDRixDQUFDO0FBQUNwRyxPQUFBLENBQUFnRyxZQUFBLEdBQUFBLFlBQUE7QUFFRixJQUFNaEYsT0FBTyxHQUFHLFNBQVZBLE9BQU9BLENBQUl2QixLQUFhLEVBQUU2RyxPQUFnQixFQUFFM0UsUUFBZ0IsRUFBSztFQUNyRSxJQUFNdUIsSUFBSSxHQUFHekQsS0FBSyxDQUFDbUMsVUFBVSxHQUFHbkMsS0FBSyxDQUFDVyxLQUFLLENBQUM4QyxJQUFJLEdBQUcsaUJBQWlCO0VBQ3BFLElBQU1xRCxZQUFZLEdBQUc1RSxRQUFRLEdBQUdBLFFBQVEsR0FBR2xDLEtBQUssQ0FBQ1csS0FBSyxDQUFDRyxXQUFXO0VBQ2xFLE9BQU8sSUFBQWlHLDZCQUFrQixFQUFDdEQsSUFBSSxFQUFFekQsS0FBSyxDQUFDWSxJQUFJLEVBQUVrRyxZQUFZLEVBQUVELE9BQU8sRUFBRSxDQUFDQSxPQUFPLENBQUM7QUFDOUUsQ0FBQztBQUVNLElBQU1HLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFJQyxPQUFPLEVBQUVKLE9BQU8sRUFBRTdHLEtBQUssRUFBSztFQUNsRGlILE9BQU8sQ0FBQ0QsT0FBTyxDQUFDekYsT0FBTyxDQUFDdkIsS0FBSyxFQUFFNkcsT0FBTyxDQUFDLENBQUM7QUFDMUMsQ0FBQzs7QUFFRDtBQUNBO0FBQUF0RyxPQUFBLENBQUF5RyxPQUFBLEdBQUFBLE9BQUE7QUFDTyxJQUFNRSx5QkFBeUIsR0FBRyxTQUE1QkEseUJBQXlCQSxDQUNwQ3BGLGNBQXNCLEVBQ3RCcUYsZ0JBQXdCLEVBRXJCO0VBQUEsSUFESEMsa0JBQTJCLEdBQUFyRixTQUFBLENBQUEzQixNQUFBLFFBQUEyQixTQUFBLFFBQUFDLFNBQUEsR0FBQUQsU0FBQSxNQUFHLEtBQUs7RUFFbkMsSUFBSXNGLFVBQVUsR0FBRyxHQUFHO0VBRXBCLElBQUlGLGdCQUFnQixHQUFHLENBQUMsRUFBRTtJQUN4QixRQUFRckYsY0FBYztNQUNwQixLQUFLLEtBQUs7UUFDUnVGLFVBQVUsR0FBR0YsZ0JBQWdCLENBQUNHLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDeEM7TUFDRixLQUFLLE9BQU87UUFDVkQsVUFBVSxHQUFHLENBQUNGLGdCQUFnQixHQUFHLE9BQU8sRUFBRUcsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNwRDtNQUNGLEtBQUssT0FBTztRQUNWRCxVQUFVLEdBQUcsQ0FBQ0YsZ0JBQWdCLEdBQUcsT0FBTyxFQUFFRyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3BEO0lBQ0o7RUFDRjtFQUNBLElBQUlGLGtCQUFrQixFQUFFO0lBQ3RCLE9BQU9HLHNCQUFzQixDQUFDQyxVQUFVLENBQUNILFVBQVUsQ0FBQyxDQUFDLENBQUNJLGNBQWMsQ0FBQyxDQUFDO0VBQ3hFLENBQUMsTUFBTTtJQUNMLE9BQU9DLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxVQUFVLENBQUNILFVBQVUsQ0FBQyxDQUFDLENBQUNJLGNBQWMsQ0FBQyxDQUFDO0VBQzVEO0FBQ0YsQ0FBQztBQUFDbEgsT0FBQSxDQUFBMkcseUJBQUEsR0FBQUEseUJBQUE7QUFFRixJQUFNSyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUFJSyxNQUFNLEVBQUs7RUFDekM7RUFDQTtFQUNBOztFQUVBLElBQUlBLE1BQU0sR0FBRyxJQUFJLEVBQUU7SUFDakIsT0FBT0YsSUFBSSxDQUFDQyxLQUFLLENBQUNDLE1BQU0sQ0FBQztFQUMzQjtFQUVBLElBQU1DLGdCQUFnQixHQUFHSCxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsTUFBTSxHQUFHLElBQUksQ0FBQztFQUNsRCxJQUFNRSxZQUFZLEdBQUdELGdCQUFnQixHQUFHLElBQUk7RUFFNUMsT0FBT0MsWUFBWTtBQUNyQixDQUFDOztBQUVEO0FBQ0E7QUFDQTs7QUFFTyxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJakcsY0FBYyxFQUFLO0VBQ25ELE9BQU80RSxhQUFJLENBQUNDLENBQUMsZ0RBQUFqRyxNQUFBLENBRVRvQixjQUFjLENBQUN3RSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHeEUsY0FBYyxDQUV6RCxDQUFDO0FBQ0gsQ0FBQztBQUFDdkIsT0FBQSxDQUFBd0gsaUJBQUEsR0FBQUEsaUJBQUE7QUFFSyxJQUFNekYsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FDN0JYLEdBQUcsRUFDSDNCLEtBQUssRUFDTGtCLGVBQWUsRUFDZmUsV0FBVyxFQUNSO0VBQ0gsSUFBSStGLGNBQWMsR0FBRyxLQUFLO0VBRTFCckcsR0FBRyxDQUFDc0csRUFBRSxDQUFDLFdBQVcsRUFBRSxZQUFZO0lBQzlCdEcsR0FBRyxDQUFDdUcsVUFBVSxDQUFDLENBQUM7RUFDbEIsQ0FBQyxDQUFDO0VBRUZoSCxlQUFlLENBQUMrRyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQU07SUFDckM7SUFDQUQsY0FBYyxHQUFHLEtBQUs7RUFDeEIsQ0FBQyxDQUFDO0VBRUY5RyxlQUFlLENBQUMrRyxFQUFFLENBQUMsV0FBVyxFQUFFLFlBQU07SUFDcEM7SUFDQUQsY0FBYyxHQUFHLElBQUk7RUFDdkIsQ0FBQyxDQUFDO0VBRUY5RyxlQUFlLENBQUMrRyxFQUFFLENBQUMsV0FBVyxFQUFFLFlBQU07SUFDcEMsSUFBSUQsY0FBYyxFQUFFO0lBRXBCaEIsT0FBTyxDQUFDOUYsZUFBZSxFQUFFLElBQUksRUFBRWxCLEtBQUssQ0FBQztJQUNyQ2dJLGNBQWMsR0FBRyxJQUFJO0VBQ3ZCLENBQUMsQ0FBQztFQUVGOUcsZUFBZSxDQUFDK0csRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFNO0lBQ25DLElBQUkvRyxlQUFlLENBQUNpSCxXQUFXLENBQUMsQ0FBQyxFQUFFO0lBRW5DbkIsT0FBTyxDQUFDOUYsZUFBZSxFQUFFLEtBQUssRUFBRWxCLEtBQUssQ0FBQztJQUN0Q2dJLGNBQWMsR0FBRyxLQUFLO0VBQ3hCLENBQUMsQ0FBQztFQUVGLElBQUksT0FBTy9GLFdBQVcsS0FBSyxVQUFVLEVBQUU7SUFDckNmLGVBQWUsQ0FBQytHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsWUFBTTtNQUNoQ2hHLFdBQVcsQ0FBQ2YsZUFBZSxDQUFDa0gsZUFBZSxDQUFDO01BRTVDLElBQUl2SCxjQUFjLENBQUNiLEtBQUssQ0FBQyxFQUFFO1FBQ3pCLElBQUFxSSx5QkFBa0IsRUFBQyw0QkFBNEIsRUFBRSxLQUFLLEVBQUU7VUFDdEQvSCxRQUFRLEVBQUVOLEtBQUssQ0FBQ0ssRUFBRTtVQUNsQmlJLFVBQVUsRUFBRXRJLEtBQUssQ0FBQ1k7UUFDcEIsQ0FBQyxDQUFDO01BQ0o7SUFDRixDQUFDLENBQUM7RUFDSjtBQUNGLENBQUM7QUFBQ0wsT0FBQSxDQUFBK0Isa0JBQUEsR0FBQUEsa0JBQUE7QUFFSyxJQUFNRCxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJckMsS0FBSyxFQUFFNkIsVUFBVSxFQUFFQyxjQUFjLEVBQUs7RUFDdEUsSUFBSXlHLE9BQU8sK01BQUE3SCxNQUFBLENBS0tWLEtBQUssQ0FBQ1ksSUFBSSxrRkFBQUYsTUFBQSxDQUdWVixLQUFLLENBQUNXLEtBQUssQ0FBQ0csV0FBVyxxUEFBQUosTUFBQSxDQVFUOEgsb0JBQWMsaU1BQUE5SCxNQUFBLENBSXhCK0gsV0FBVyxDQUFDekksS0FBSyxDQUFDVyxLQUFLLENBQUNJLGVBQWUsRUFBRWUsY0FBYyxDQUFDLDRHQUFBcEIsTUFBQSxDQUVGZ0csYUFBSSxDQUFDQyxDQUFDLENBQzlELGlCQUNGLENBQUMseUZBS2Q7RUFFSDlFLFVBQVUsQ0FBQzZHLFNBQVMsQ0FBQ0gsT0FBTyxFQUFFO0lBQzVCOUYsU0FBUyxFQUFFLG9CQUFvQjtJQUMvQmtHLFFBQVEsRUFBRSxPQUFPO0lBQ2pCQyxRQUFRLEVBQUUsT0FBTztJQUNqQkMsV0FBVyxFQUFFO0VBQ2YsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDdEksT0FBQSxDQUFBOEIsaUJBQUEsR0FBQUEsaUJBQUE7QUFFSyxJQUFNb0csV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQ3RCdEIsZ0JBQXdCLEVBQ3hCMkIsWUFBb0IsRUFFakI7RUFBQSxJQURIQyxPQUFnQixHQUFBaEgsU0FBQSxDQUFBM0IsTUFBQSxRQUFBMkIsU0FBQSxRQUFBQyxTQUFBLEdBQUFELFNBQUEsTUFBRyxLQUFLO0VBRXhCLElBQUlvRixnQkFBZ0IsR0FBRyxDQUFDLEVBQUU7SUFDeEIsT0FDRUQseUJBQXlCLENBQUM0QixZQUFZLEVBQUUzQixnQkFBZ0IsRUFBRTRCLE9BQU8sQ0FBQyxHQUNsRSxHQUFHLEdBQ0hoQixpQkFBaUIsQ0FBQ2UsWUFBWSxDQUFDO0VBRW5DO0VBQ0EsT0FBT3BDLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDO0FBQ3JELENBQUM7QUFBQ3BHLE9BQUEsQ0FBQWtJLFdBQUEsR0FBQUEsV0FBQTtBQUVLLElBQU1PLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUlySCxHQUFHLEVBQUVFLFVBQVUsRUFBSztFQUNuRCxJQUFJRixHQUFHLENBQUNzSCxRQUFRLENBQUNwSCxVQUFVLENBQUMsRUFBRTtJQUM1QkYsR0FBRyxDQUFDdUgsV0FBVyxDQUFDckgsVUFBVSxDQUFDO0VBQzdCO0FBQ0YsQ0FBQztBQUFDdEIsT0FBQSxDQUFBeUksZ0JBQUEsR0FBQUEsZ0JBQUE7QUFFSyxJQUFNRyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUl4SCxHQUFHLEVBQUVFLFVBQVUsRUFBSztFQUNoRCxJQUFJLENBQUNGLEdBQUcsQ0FBQ3NILFFBQVEsQ0FBQ3BILFVBQVUsQ0FBQyxFQUFFO0lBQzdCRixHQUFHLENBQUNTLFFBQVEsQ0FBQ1AsVUFBVSxDQUFDO0VBQzFCLENBQUMsTUFBTTtJQUNMbUgsZ0JBQWdCLENBQUNySCxHQUFHLEVBQUVFLFVBQVUsQ0FBQztJQUNqQ3NILGFBQWEsQ0FBQ3hILEdBQUcsRUFBRUUsVUFBVSxDQUFDO0VBQ2hDO0FBQ0YsQ0FBQztBQUFDdEIsT0FBQSxDQUFBNEksYUFBQSxHQUFBQSxhQUFBO0FBRUssSUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlwSixLQUFhLEVBQUs7RUFDNUMsT0FBT0EsS0FBSyxDQUFDVyxLQUFLLENBQUM4QyxJQUFJLEtBQUssa0NBQWtDO0FBQ2hFLENBQUM7QUFBQ2xELE9BQUEsQ0FBQTZJLFdBQUEsR0FBQUEsV0FBQTtBQUVLLElBQU12SSxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUliLEtBQWEsRUFBSztFQUMvQyxPQUFPcUosYUFBYSxDQUFDckosS0FBSyxDQUFDVyxLQUFLLENBQUM4QyxJQUFJLENBQUM7QUFDeEMsQ0FBQztBQUFDbEQsT0FBQSxDQUFBTSxjQUFBLEdBQUFBLGNBQUE7QUFFSyxJQUFNd0ksYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFJNUYsSUFBWSxFQUFLO0VBQzdDLE9BQU9BLElBQUksS0FBSyxpQkFBaUI7QUFDbkMsQ0FBQztBQUFDbEQsT0FBQSxDQUFBOEksYUFBQSxHQUFBQSxhQUFBIn0=
|
package/lib/macros/getVersion.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var packageJsonVersion = "1.2.412-alpha.
|
|
3
|
+
var packageJsonVersion = "1.2.412-alpha.1";
|
|
4
4
|
if (typeof packageJsonVersion === 'string') {
|
|
5
5
|
// eslint-disable-next-line no-console
|
|
6
6
|
console.log("%c Kando UI %c v".concat(packageJsonVersion, " "), 'font-size: 15px; background-color: #fff; color: #e20f53;', 'font-weight: bold; font-size: 15px; background-color: #e20f53; color: #fff;', "with NODE_ENV=".concat(process.env.NODE_ENV));
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.List = void 0;
|
|
9
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
|
|
10
|
-
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
|
|
11
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
12
9
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
11
|
var _theme = require("styles/theme/theme");
|
|
@@ -23,12 +20,13 @@ var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
|
23
20
|
var _DischargePattern = require("../SitePage/DischargePattern/DischargePattern");
|
|
24
21
|
var _QualitySummary = require("Widgets/QualitySummary/QualitySummary");
|
|
25
22
|
var _LineChart = require("pages/AreaPage/Dashboard/LineChart/LineChart");
|
|
26
|
-
var _WWTPDashboardSlice = require("store/WWTPDashboard/WWTPDashboardSlice");
|
|
27
23
|
var _reactI18next = require("react-i18next");
|
|
28
24
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null ||
|
|
25
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
26
|
+
// import { setFocusedArea } from 'src/store/WWTPDashboard/WWTPDashboardSlice';
|
|
27
|
+
|
|
30
28
|
var List = function List(props) {
|
|
31
|
-
var _WWTPInfo$point, _focusedArea$sub_area, _WWTPInfo$point2;
|
|
29
|
+
var _WWTPInfo$point, _focusedArea$sub_area, _focusedArea$sub_area3, _WWTPInfo$point2;
|
|
32
30
|
var ReduxState = (0, _reactRedux.useSelector)(function (state) {
|
|
33
31
|
return state;
|
|
34
32
|
});
|
|
@@ -37,10 +35,8 @@ var List = function List(props) {
|
|
|
37
35
|
sub_areas: 'sub_areas',
|
|
38
36
|
factories: 'factories'
|
|
39
37
|
};
|
|
40
|
-
var
|
|
41
|
-
|
|
42
|
-
global_data = ReduxState.global_data;
|
|
43
|
-
var dispatch = (0, _reactRedux.useDispatch)();
|
|
38
|
+
var global_data = ReduxState.global_data;
|
|
39
|
+
// const dispatch = useDispatch();
|
|
44
40
|
var _useSelectedItem = (0, _ListContext.useSelectedItem)(),
|
|
45
41
|
selectedItem = _useSelectedItem.selectedItem,
|
|
46
42
|
handleSelectItem = _useSelectedItem.handleSelectItem;
|
|
@@ -120,64 +116,75 @@ var List = function List(props) {
|
|
|
120
116
|
};
|
|
121
117
|
|
|
122
118
|
// Update the list only if the score of at least one of the sub-areas has changed
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
if (!focusedArea || !focusedArea.factories || focusedArea.factories.length === 0 || (points_data === null || points_data === void 0 ? void 0 : points_data.isFetching) === true || (points_data === null || points_data === void 0 ? void 0 : (_points_data$items = points_data.items) === null || _points_data$items === void 0 ? void 0 : _points_data$items.length) === 0) return;
|
|
136
|
-
dispatch((0, _WWTPDashboardSlice.setFocusedArea)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, focusedArea), {}, {
|
|
137
|
-
factories: (0, _utils.getPoints)(focusedArea === null || focusedArea === void 0 ? void 0 : focusedArea.factories, points_data.items)
|
|
138
|
-
})));
|
|
139
|
-
}, [points_data, areas_data]);
|
|
140
|
-
var areasScoreChangedById = function areasScoreChangedById(arr1, arr2) {
|
|
141
|
-
// go over the 1st array
|
|
142
|
-
var _iterator = (0, _createForOfIteratorHelper2.default)(arr1),
|
|
143
|
-
_step;
|
|
144
|
-
try {
|
|
145
|
-
var _loop = function _loop() {
|
|
146
|
-
var item1 = _step.value;
|
|
147
|
-
// Find the object with the same id in the second array
|
|
148
|
-
var matchingItem = arr2.find(function (item2) {
|
|
149
|
-
return (item2 === null || item2 === void 0 ? void 0 : item2.area_id) === (item1 === null || item1 === void 0 ? void 0 : item1.area_id);
|
|
150
|
-
});
|
|
119
|
+
// useEffect(() => {
|
|
120
|
+
// if (
|
|
121
|
+
// focusedArea &&
|
|
122
|
+
// focusedArea.sub_areas &&
|
|
123
|
+
// focusedArea.sub_areas.length > 0 &&
|
|
124
|
+
// areas_data?.isFetching === false
|
|
125
|
+
// ) {
|
|
126
|
+
// const subAreasChanged = areasScoreChangedById(
|
|
127
|
+
// focusedArea.sub_areas,
|
|
128
|
+
// areas_data.newAreas,
|
|
129
|
+
// );
|
|
130
|
+
// if (!subAreasChanged) return;
|
|
151
131
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
}
|
|
132
|
+
// const focusedAreaWithUpdatedSubAreas = {
|
|
133
|
+
// ...focusedArea,
|
|
134
|
+
// sub_areas: getUpdatedAreasById(
|
|
135
|
+
// focusedArea.sub_areas,
|
|
136
|
+
// areas_data.newAreas,
|
|
137
|
+
// ),
|
|
138
|
+
// };
|
|
139
|
+
// dispatch(setFocusedArea(focusedAreaWithUpdatedSubAreas));
|
|
140
|
+
// }
|
|
141
|
+
// }, [areas_data]);
|
|
163
142
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
143
|
+
// useEffect(() => {
|
|
144
|
+
// if (
|
|
145
|
+
// !focusedArea ||
|
|
146
|
+
// !focusedArea.factories ||
|
|
147
|
+
// focusedArea.factories.length === 0 ||
|
|
148
|
+
// points_data?.isFetching === true ||
|
|
149
|
+
// points_data?.items?.length === 0
|
|
150
|
+
// )
|
|
151
|
+
// return;
|
|
152
|
+
|
|
153
|
+
// dispatch(
|
|
154
|
+
// setFocusedArea({
|
|
155
|
+
// ...focusedArea,
|
|
156
|
+
// factories: getPoints(focusedArea?.factories, points_data.items),
|
|
157
|
+
// }),
|
|
158
|
+
// );
|
|
159
|
+
// }, [points_data, areas_data]);
|
|
160
|
+
|
|
161
|
+
// const areasScoreChangedById = (arr1, arr2) => {
|
|
162
|
+
// // go over the 1st array
|
|
163
|
+
// for (let item1 of arr1) {
|
|
164
|
+
// // Find the object with the same id in the second array
|
|
165
|
+
// let matchingItem = arr2.find(
|
|
166
|
+
// (item2) => item2?.area_id === item1?.area_id,
|
|
167
|
+
// );
|
|
168
|
+
|
|
169
|
+
// // Return true if one matching item is found in the second array and their scores changed
|
|
170
|
+
// if (matchingItem && item1.area_score !== matchingItem.area_score) {
|
|
171
|
+
// return true;
|
|
172
|
+
// }
|
|
173
|
+
// }
|
|
174
|
+
|
|
175
|
+
// // If all items matched and had the same score, return false
|
|
176
|
+
// return false;
|
|
177
|
+
// };
|
|
178
|
+
|
|
179
|
+
// const getUpdatedAreasById = (array1, array2) => {
|
|
180
|
+
// const updatedArray = array2.filter((obj2) =>
|
|
181
|
+
// array1.some((obj1) => obj1.area_id === obj2.area_id),
|
|
182
|
+
// );
|
|
183
|
+
|
|
184
|
+
// return updatedArray?.length > 0 ? updatedArray : array1;
|
|
185
|
+
// };
|
|
186
|
+
|
|
187
|
+
var listType = (focusedArea === null || focusedArea === void 0 ? void 0 : focusedArea.area_id) === null ? listTypes.areas : (focusedArea === null || focusedArea === void 0 ? void 0 : (_focusedArea$sub_area3 = focusedArea.sub_areas) === null || _focusedArea$sub_area3 === void 0 ? void 0 : _focusedArea$sub_area3.length) > 0 ? listTypes.sub_areas : noAreas ? '' : listTypes.factories;
|
|
181
188
|
var translatedListType = listType === '' ? '' : /*#__PURE__*/_react.default.createElement("span", null, ' ', "- ", /*#__PURE__*/_react.default.createElement(_reactI18next.Trans, {
|
|
182
189
|
i18nKey: _i18n.default.t("wwtpPage.list_type.".concat(listType))
|
|
183
190
|
}));
|
|
@@ -229,4 +236,4 @@ var ErrorMessage = _styledComponents.default.div.withConfig({
|
|
|
229
236
|
displayName: "List__ErrorMessage",
|
|
230
237
|
componentId: "sc-1f5wz2c-4"
|
|
231
238
|
})(["display:flex;height:100%;font-size:20px;justify-content:center;box-shadow:-0.9px -0.5px 5px 0 rgba(0,0,0,0.06);border:solid 1px #ebebeb;padding:20px;"]);
|
|
232
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdGhlbWUiLCJfcmVhY3RSZWR1eCIsIl91dGlscyIsIl9BcmVhQ2FyZCIsIl9GYWN0b3J5Q2FyZCIsIl9PcmdhbmljQ2FyZCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUG90ZW50aWFsU2F2aW5nIiwiX0xpc3RDb250ZXh0IiwiX2kxOG4iLCJfRGlzY2hhcmdlUGF0dGVybiIsIl9RdWFsaXR5U3VtbWFyeSIsIl9MaW5lQ2hhcnQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX3JlYWN0STE4bmV4dCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkxpc3QiLCJwcm9wcyIsIl9XV1RQSW5mbyRwb2ludCIsIl9mb2N1c2VkQXJlYSRzdWJfYXJlYSIsIl9XV1RQSW5mbyRwb2ludDIiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImxpc3RUeXBlcyIsImFyZWFzIiwic3ViX2FyZWFzIiwiZmFjdG9yaWVzIiwiYXJlYXNfZGF0YSIsInBvaW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVNlbGVjdGVkSXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsInNlbGVjdGVkSXRlbSIsImhhbmRsZVNlbGVjdEl0ZW0iLCJXV1RQSW5mbyIsIl91c2VTZWxlY3RvciIsInd3dHBfZGFzaGJvYXJkIiwiZm9jdXNlZEFyZWEiLCJtYXAiLCJzZWxlY3RlZFJlZiIsInVzZVJlZiIsInNpdGVJRCIsInBvaW50IiwiaWQiLCJoYW5kbGVJdGVtQ2xpY2siLCJpdGVtIiwibm9EYXRhTWVzc2FnZSIsImkxOG4iLCJ0Iiwic2hvd2VkQXJlYXMiLCJhbGxBcnJheSIsInNvcnRBcmVhcyIsImZpbHRlciIsIkJvb2xlYW4iLCJhcmVhX2lkIiwiYXJlYV9uYW1lIiwiYXJlYSIsInRvcF9sZXZlbCIsIm5vQXJlYXMiLCJmb3JXV1RQTWFwIiwidW5kZWZpbmVkIiwibGVuZ3RoIiwibGlzdERldGFpbHMiLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEyIiwiaGFzX2RldmljZSIsImNyZWF0ZUVsZW1lbnQiLCJMaXN0Q29udGFpbmVyIiwiRXJyb3JNZXNzYWdlIiwiU3VtbWFyeUNvbXBvbmVudCIsImVuZHBvaW50IiwiY29uY2F0IiwiY2xhc3NOYW1lIiwiTGluZUNoYXJ0Q29tcG9uZW50IiwidGl0bGUiLCJEaXNjaGFyZ2VQYXR0ZXJuIiwiTnVtYmVyIiwiQXJlYUNhcmQiLCJvYmplY3QiLCJtYXBSZWYiLCJvbkNsaWNrIiwic2VsZWN0ZWQiLCJpdGVtUmVmIiwic29ydFBvaW50cyIsImZhY3RvcnkiLCJGYWN0b3J5Q2FyZCIsInVzZUVmZmVjdCIsImlzRmV0Y2hpbmciLCJzdWJBcmVhc0NoYW5nZWQiLCJhcmVhc1Njb3JlQ2hhbmdlZEJ5SWQiLCJuZXdBcmVhcyIsImZvY3VzZWRBcmVhV2l0aFVwZGF0ZWRTdWJBcmVhcyIsIl9vYmplY3RTcHJlYWQyIiwiZ2V0VXBkYXRlZEFyZWFzQnlJZCIsInNldEZvY3VzZWRBcmVhIiwiX3BvaW50c19kYXRhJGl0ZW1zIiwiaXRlbXMiLCJnZXRQb2ludHMiLCJhcnIxIiwiYXJyMiIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyMiIsIl9zdGVwIiwiX2xvb3AiLCJpdGVtMSIsInZhbHVlIiwibWF0Y2hpbmdJdGVtIiwiZmluZCIsIml0ZW0yIiwiYXJlYV9zY29yZSIsInYiLCJzIiwibiIsImRvbmUiLCJfcmV0IiwiX3R5cGVvZjIiLCJlcnIiLCJlIiwiZiIsImFycmF5MSIsImFycmF5MiIsInVwZGF0ZWRBcnJheSIsIm9iajIiLCJzb21lIiwib2JqMSIsImxpc3RUeXBlIiwidHJhbnNsYXRlZExpc3RUeXBlIiwiVHJhbnMiLCJpMThuS2V5IiwiX3NlbGVjdGVkUmVmJGN1cnJlbnQiLCJjdXJyZW50Iiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImJsb2NrIiwiaW5saW5lIiwiZ3JvdXAiLCJ0eXBlIiwiY2xpY2tlZCIsIldXVFBEZXRhaWxzIiwic3R5bGUiLCJvdmVyZmxvdyIsIm5hbWUiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJ0aGVtZSIsIldXVFBNYXAiLCJiZyIsIlF1YWxpdHlTdW1tYXJ5IiwiTGluZUNoYXJ0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnc3JjL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgc29ydEFyZWFzLCBnZXRQb2ludHMsIHNvcnRQb2ludHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEFyZWFDYXJkIH0gZnJvbSAnLi9BcmVhQ2FyZCc7XG5pbXBvcnQgeyBGYWN0b3J5Q2FyZCB9IGZyb20gJy4vRmFjdG9yeUNhcmQnO1xuaW1wb3J0IE9yZ2FuaWNDYXJkIGZyb20gJy4uL1d3dHBQYWdlL09yZ2FuaWNDYXJkJztcbmltcG9ydCBJbXBhY3RDYXJkIGZyb20gJy4uL1d3dHBQYWdlL1BvdGVudGlhbFNhdmluZyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICcuL0xpc3RDb250ZXh0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBEaXNjaGFyZ2VQYXR0ZXJuIH0gZnJvbSAnLi4vU2l0ZVBhZ2UvRGlzY2hhcmdlUGF0dGVybi9EaXNjaGFyZ2VQYXR0ZXJuJztcbmltcG9ydCB7IFF1YWxpdHlTdW1tYXJ5IH0gZnJvbSAnc3JjL1dpZGdldHMvUXVhbGl0eVN1bW1hcnkvUXVhbGl0eVN1bW1hcnknO1xuaW1wb3J0IHsgTGluZUNoYXJ0IH0gZnJvbSAnc3JjL3BhZ2VzL0FyZWFQYWdlL0Rhc2hib2FyZC9MaW5lQ2hhcnQvTGluZUNoYXJ0JztcbmltcG9ydCB7IHNldEZvY3VzZWRBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcbmltcG9ydCB7IFRyYW5zIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBnbG9iYWxfZGF0YTogYW55O1xuICBXV1RQSW5mbzogYW55O1xuICBkaXNwYXRjaDogYW55O1xufTtcblxuZXhwb3J0IGNvbnN0IExpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCBsaXN0VHlwZXMgPSB7XG4gICAgYXJlYXM6ICdhcmVhcycsXG4gICAgc3ViX2FyZWFzOiAnc3ViX2FyZWFzJyxcbiAgICBmYWN0b3JpZXM6ICdmYWN0b3JpZXMnLFxuICB9O1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIHBvaW50c19kYXRhLCBnbG9iYWxfZGF0YSB9ID0gUmVkdXhTdGF0ZTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IHNlbGVjdGVkSXRlbSwgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IHsgV1dUUEluZm8gfSA9IHByb3BzO1xuICBjb25zdCB7IGZvY3VzZWRBcmVhLCBtYXAgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLnd3dHBfZGFzaGJvYXJkLFxuICApO1xuICBjb25zdCBzZWxlY3RlZFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3Qgc2l0ZUlEID0gV1dUUEluZm8ucG9pbnQ/LmlkO1xuXG4gIGNvbnN0IGhhbmRsZUl0ZW1DbGljayA9IChpdGVtKSA9PiB7XG4gICAgaGFuZGxlU2VsZWN0SXRlbShpdGVtKTtcbiAgfTtcblxuICBjb25zdCBub0RhdGFNZXNzYWdlID0gaTE4bi50KCd3d3RwUGFnZS5ub19kYXRhX2Zvcl9zaXRlJyk7XG5cbiAgY29uc3Qgc2hvd2VkQXJlYXMgPSAoZm9jdXNlZEFyZWEpID0+IHtcbiAgICBsZXQgYWxsQXJyYXkgPVxuICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzICYmIHNvcnRBcmVhcyhmb2N1c2VkQXJlYS5zdWJfYXJlYXMpLmZpbHRlcihCb29sZWFuKTtcblxuICAgIGlmIChmb2N1c2VkQXJlYS5hcmVhX2lkID09PSBudWxsICYmIGZvY3VzZWRBcmVhLmFyZWFfbmFtZSA9PT0gJycpIHtcbiAgICAgIGFsbEFycmF5ID0gYWxsQXJyYXkuZmlsdGVyKChhcmVhKSA9PiBhcmVhLnRvcF9sZXZlbCA9PT0gdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiBhbGxBcnJheTtcbiAgfTtcblxuICBjb25zdCBub0FyZWFzID1cbiAgICBmb2N1c2VkQXJlYSAmJlxuICAgIGZvY3VzZWRBcmVhPy5mb3JXV1RQTWFwID09PSB0cnVlICYmXG4gICAgc2l0ZUlEICE9PSB1bmRlZmluZWQgJiZcbiAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXM/Lmxlbmd0aCA9PT0gMDtcblxuICBjb25zdCBsaXN0RGV0YWlscyA9ICgpID0+IHtcbiAgICBpZiAoIXNpdGVJRCAmJiAhZm9jdXNlZEFyZWEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobm9BcmVhcykge1xuICAgICAgaWYgKFxuICAgICAgICAvLyBmb2N1c2VkQXJlYT8uY2xpY2tlZCA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgIGZvY3VzZWRBcmVhPy5oYXNfZGV2aWNlID09PSBmYWxzZSB8fFxuICAgICAgICAhc2l0ZUlEXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxFcnJvck1lc3NhZ2U+e25vRGF0YU1lc3NhZ2V9PC9FcnJvck1lc3NhZ2U+XG4gICAgICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxTdW1tYXJ5Q29tcG9uZW50XG4gICAgICAgICAgICAgIGVuZHBvaW50PXtgL2RhdGEvZXZlbnRzLWNvbXBvbmVudC1kYXRhLyR7c2l0ZUlEfWB9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInN1bW1hcnktY29tcG9uZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8TGluZUNoYXJ0Q29tcG9uZW50XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2FyZWFfZGFzaGJvYXJkLnRyZW5kJyl9XG4gICAgICAgICAgICAgIGVuZHBvaW50PXtgL3BvaW50cy8ke3NpdGVJRH0vdHJlbmQtZ3JhcGhgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxEaXNjaGFyZ2VQYXR0ZXJuIHNpdGVJRD17TnVtYmVyKHNpdGVJRCl9IC8+XG4gICAgICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmb2N1c2VkQXJlYSAmJiBmb2N1c2VkQXJlYT8uc3ViX2FyZWFzPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gc2hvd2VkQXJlYXMoZm9jdXNlZEFyZWEpLm1hcCgoYXJlYTogSUFyZWEpID0+IChcbiAgICAgICAgPEFyZWFDYXJkXG4gICAgICAgICAga2V5PXthcmVhLmFyZWFfaWR9XG4gICAgICAgICAgb2JqZWN0PXthcmVhfVxuICAgICAgICAgIG1hcFJlZj17bWFwfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUl0ZW1DbGljayhhcmVhLmFyZWFfaWQpfVxuICAgICAgICAgIHNlbGVjdGVkPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZH1cbiAgICAgICAgICBpdGVtUmVmPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZCA/IHNlbGVjdGVkUmVmIDogbnVsbH1cbiAgICAgICAgLz5cbiAgICAgICkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZm9jdXNlZEFyZWE/LmZhY3Rvcmllcykge1xuICAgICAgICByZXR1cm4gc29ydFBvaW50cyhmb2N1c2VkQXJlYS5mYWN0b3JpZXMpXG4gICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgIC5tYXAoKGZhY3RvcnkpID0+IChcbiAgICAgICAgICAgIDxGYWN0b3J5Q2FyZFxuICAgICAgICAgICAgICBrZXk9e2ZhY3RvcnkuaWR9XG4gICAgICAgICAgICAgIG9iamVjdD17ZmFjdG9yeX1cbiAgICAgICAgICAgICAgbWFwUmVmPXttYXB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUl0ZW1DbGljayhmYWN0b3J5LmlkKX1cbiAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkSXRlbSA9PT0gZmFjdG9yeS5pZH1cbiAgICAgICAgICAgICAgaXRlbVJlZj17c2VsZWN0ZWRJdGVtID09PSBmYWN0b3J5LmlkID8gc2VsZWN0ZWRSZWYgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLy8gVXBkYXRlIHRoZSBsaXN0IG9ubHkgaWYgdGhlIHNjb3JlIG9mIGF0IGxlYXN0IG9uZSBvZiB0aGUgc3ViLWFyZWFzIGhhcyBjaGFuZ2VkXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgZm9jdXNlZEFyZWEgJiZcbiAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyAmJlxuICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLmxlbmd0aCA+IDAgJiZcbiAgICAgIGFyZWFzX2RhdGE/LmlzRmV0Y2hpbmcgPT09IGZhbHNlXG4gICAgKSB7XG4gICAgICBjb25zdCBzdWJBcmVhc0NoYW5nZWQgPSBhcmVhc1Njb3JlQ2hhbmdlZEJ5SWQoXG4gICAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyxcbiAgICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcyxcbiAgICAgICk7XG4gICAgICBpZiAoIXN1YkFyZWFzQ2hhbmdlZCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCBmb2N1c2VkQXJlYVdpdGhVcGRhdGVkU3ViQXJlYXMgPSB7XG4gICAgICAgIC4uLmZvY3VzZWRBcmVhLFxuICAgICAgICBzdWJfYXJlYXM6IGdldFVwZGF0ZWRBcmVhc0J5SWQoXG4gICAgICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLFxuICAgICAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMsXG4gICAgICAgICksXG4gICAgICB9O1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEoZm9jdXNlZEFyZWFXaXRoVXBkYXRlZFN1YkFyZWFzKSk7XG4gICAgfVxuICB9LCBbYXJlYXNfZGF0YV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgIWZvY3VzZWRBcmVhIHx8XG4gICAgICAhZm9jdXNlZEFyZWEuZmFjdG9yaWVzIHx8XG4gICAgICBmb2N1c2VkQXJlYS5mYWN0b3JpZXMubGVuZ3RoID09PSAwIHx8XG4gICAgICBwb2ludHNfZGF0YT8uaXNGZXRjaGluZyA9PT0gdHJ1ZSB8fFxuICAgICAgcG9pbnRzX2RhdGE/Lml0ZW1zPy5sZW5ndGggPT09IDBcbiAgICApXG4gICAgICByZXR1cm47XG5cbiAgICBkaXNwYXRjaChcbiAgICAgIHNldEZvY3VzZWRBcmVhKHtcbiAgICAgICAgLi4uZm9jdXNlZEFyZWEsXG4gICAgICAgIGZhY3RvcmllczogZ2V0UG9pbnRzKGZvY3VzZWRBcmVhPy5mYWN0b3JpZXMsIHBvaW50c19kYXRhLml0ZW1zKSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH0sIFtwb2ludHNfZGF0YSwgYXJlYXNfZGF0YV0pO1xuXG4gIGNvbnN0IGFyZWFzU2NvcmVDaGFuZ2VkQnlJZCA9IChhcnIxLCBhcnIyKSA9PiB7XG4gICAgLy8gZ28gb3ZlciB0aGUgMXN0IGFycmF5XG4gICAgZm9yIChsZXQgaXRlbTEgb2YgYXJyMSkge1xuICAgICAgLy8gRmluZCB0aGUgb2JqZWN0IHdpdGggdGhlIHNhbWUgaWQgaW4gdGhlIHNlY29uZCBhcnJheVxuICAgICAgbGV0IG1hdGNoaW5nSXRlbSA9IGFycjIuZmluZChcbiAgICAgICAgKGl0ZW0yKSA9PiBpdGVtMj8uYXJlYV9pZCA9PT0gaXRlbTE/LmFyZWFfaWQsXG4gICAgICApO1xuXG4gICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBvbmUgbWF0Y2hpbmcgaXRlbSBpcyBmb3VuZCBpbiB0aGUgc2Vjb25kIGFycmF5IGFuZCB0aGVpciBzY29yZXMgY2hhbmdlZFxuICAgICAgaWYgKG1hdGNoaW5nSXRlbSAmJiBpdGVtMS5hcmVhX3Njb3JlICE9PSBtYXRjaGluZ0l0ZW0uYXJlYV9zY29yZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBhbGwgaXRlbXMgbWF0Y2hlZCBhbmQgaGFkIHRoZSBzYW1lIHNjb3JlLCByZXR1cm4gZmFsc2VcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgY29uc3QgZ2V0VXBkYXRlZEFyZWFzQnlJZCA9IChhcnJheTEsIGFycmF5MikgPT4ge1xuICAgIGNvbnN0IHVwZGF0ZWRBcnJheSA9IGFycmF5Mi5maWx0ZXIoKG9iajIpID0+XG4gICAgICBhcnJheTEuc29tZSgob2JqMSkgPT4gb2JqMS5hcmVhX2lkID09PSBvYmoyLmFyZWFfaWQpLFxuICAgICk7XG5cbiAgICByZXR1cm4gdXBkYXRlZEFycmF5Py5sZW5ndGggPiAwID8gdXBkYXRlZEFycmF5IDogYXJyYXkxO1xuICB9O1xuXG4gIGNvbnN0IGxpc3RUeXBlID1cbiAgICBmb2N1c2VkQXJlYT8uYXJlYV9pZCA9PT0gbnVsbFxuICAgICAgPyBsaXN0VHlwZXMuYXJlYXNcbiAgICAgIDogZm9jdXNlZEFyZWE/LnN1Yl9hcmVhcy5sZW5ndGggPiAwXG4gICAgICA/IGxpc3RUeXBlcy5zdWJfYXJlYXNcbiAgICAgIDogbm9BcmVhc1xuICAgICAgPyAnJ1xuICAgICAgOiBsaXN0VHlwZXMuZmFjdG9yaWVzO1xuXG4gIGNvbnN0IHRyYW5zbGF0ZWRMaXN0VHlwZSA9XG4gICAgbGlzdFR5cGUgPT09ICcnID8gKFxuICAgICAgJydcbiAgICApIDogKFxuICAgICAgPHNwYW4+XG4gICAgICAgIHsnICd9XG4gICAgICAgIC0gPFRyYW5zIGkxOG5LZXk9e2kxOG4udChgd3d0cFBhZ2UubGlzdF90eXBlLiR7bGlzdFR5cGV9YCl9IC8+XG4gICAgICA8L3NwYW4+XG4gICAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNlbGVjdGVkUmVmLmN1cnJlbnQ/LnNjcm9sbEludG9WaWV3KHtcbiAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgIGJsb2NrOiAnY2VudGVyJyxcbiAgICAgIGlubGluZTogJ2NlbnRlcicsXG4gICAgfSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICBpZiAoXG4gICAgZm9jdXNlZEFyZWE/Lmdyb3VwICYmXG4gICAgZm9jdXNlZEFyZWEuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50JyAmJlxuICAgIGZvY3VzZWRBcmVhPy5jbGlja2VkID09PSB1bmRlZmluZWRcbiAgKVxuICAgIHJldHVybiAoXG4gICAgICA8V1dUUERldGFpbHMgY2xhc3NOYW1lPVwicC0zXCIgc3R5bGU9e3sgb3ZlcmZsb3c6ICdzY3JvbGwnIH19PlxuICAgICAgICA8aDM+e1dXVFBJbmZvLnBvaW50Py5uYW1lfTwvaDM+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnaC1hdXRvIG15LTQnfT5cbiAgICAgICAgICA8T3JnYW5pY0NhcmQgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnaC1hdXRvIG10LTInfT5cbiAgICAgICAgICA8SW1wYWN0Q2FyZCAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvV1dUUERldGFpbHM+XG4gICAgKTtcblxuICByZXR1cm4gKFxuICAgIDxXV1RQRGV0YWlscyBjbGFzc05hbWU9XCJwLTNcIiBzdHlsZT17eyBvdmVyZmxvdzogJ3Njcm9sbCcgfX0+XG4gICAgICA8aDM+XG4gICAgICAgIHtmb2N1c2VkQXJlYT8uYXJlYV9uYW1lIHx8XG4gICAgICAgICAgZm9jdXNlZEFyZWE/Lm5hbWUgfHxcbiAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWV9XG4gICAgICAgIHt0cmFuc2xhdGVkTGlzdFR5cGV9XG4gICAgICA8L2gzPlxuICAgICAgPHVsIGNsYXNzTmFtZT17J214LW4zJ30+e2xpc3REZXRhaWxzKCl9PC91bD5cbiAgICA8L1dXVFBEZXRhaWxzPlxuICApO1xufTtcblxuY29uc3QgV1dUUERldGFpbHMgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTM0cHgpO1xuICBiYWNrZ3JvdW5kOiAke3RoZW1lLldXVFBNYXAuYmd9O1xuYDtcblxuY29uc3QgU3VtbWFyeUNvbXBvbmVudCA9IHN0eWxlZChRdWFsaXR5U3VtbWFyeSlgXG4gIGdyaWQtYXJlYTogc3VtbWFyeTtcblxuICBzdW1tYXJ5LWNvbXBvbmVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcbiAgfVxuYDtcblxuY29uc3QgTGluZUNoYXJ0Q29tcG9uZW50ID0gc3R5bGVkKExpbmVDaGFydClgXG4gIGdyaWQtYXJlYTogZ3JhcGg7XG5gO1xuXG5jb25zdCBMaXN0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGdhcDogMzBweDtcbmA7XG5cbmNvbnN0IEVycm9yTWVzc2FnZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogLTAuOXB4IC0wLjVweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICBib3JkZXI6IHNvbGlkIDFweCAjZWJlYmViO1xuICBwYWRkaW5nOiAyMHB4O1xuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTCxPQUFB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
|
|
239
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdGhlbWUiLCJfcmVhY3RSZWR1eCIsIl91dGlscyIsIl9BcmVhQ2FyZCIsIl9GYWN0b3J5Q2FyZCIsIl9PcmdhbmljQ2FyZCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUG90ZW50aWFsU2F2aW5nIiwiX0xpc3RDb250ZXh0IiwiX2kxOG4iLCJfRGlzY2hhcmdlUGF0dGVybiIsIl9RdWFsaXR5U3VtbWFyeSIsIl9MaW5lQ2hhcnQiLCJfcmVhY3RJMThuZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJMaXN0IiwicHJvcHMiLCJfV1dUUEluZm8kcG9pbnQiLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEiLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEzIiwiX1dXVFBJbmZvJHBvaW50MiIsIlJlZHV4U3RhdGUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwibGlzdFR5cGVzIiwiYXJlYXMiLCJzdWJfYXJlYXMiLCJmYWN0b3JpZXMiLCJnbG9iYWxfZGF0YSIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJoYW5kbGVTZWxlY3RJdGVtIiwiV1dUUEluZm8iLCJfdXNlU2VsZWN0b3IiLCJ3d3RwX2Rhc2hib2FyZCIsImZvY3VzZWRBcmVhIiwibWFwIiwic2VsZWN0ZWRSZWYiLCJ1c2VSZWYiLCJzaXRlSUQiLCJwb2ludCIsImlkIiwiaGFuZGxlSXRlbUNsaWNrIiwiaXRlbSIsIm5vRGF0YU1lc3NhZ2UiLCJpMThuIiwidCIsInNob3dlZEFyZWFzIiwiYWxsQXJyYXkiLCJzb3J0QXJlYXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiYXJlYV9pZCIsImFyZWFfbmFtZSIsImFyZWEiLCJ0b3BfbGV2ZWwiLCJub0FyZWFzIiwiZm9yV1dUUE1hcCIsInVuZGVmaW5lZCIsImxlbmd0aCIsImxpc3REZXRhaWxzIiwiX2ZvY3VzZWRBcmVhJHN1Yl9hcmVhMiIsImhhc19kZXZpY2UiLCJjcmVhdGVFbGVtZW50IiwiTGlzdENvbnRhaW5lciIsIkVycm9yTWVzc2FnZSIsIlN1bW1hcnlDb21wb25lbnQiLCJlbmRwb2ludCIsImNvbmNhdCIsImNsYXNzTmFtZSIsIkxpbmVDaGFydENvbXBvbmVudCIsInRpdGxlIiwiRGlzY2hhcmdlUGF0dGVybiIsIk51bWJlciIsIkFyZWFDYXJkIiwib2JqZWN0IiwibWFwUmVmIiwib25DbGljayIsInNlbGVjdGVkIiwiaXRlbVJlZiIsInNvcnRQb2ludHMiLCJmYWN0b3J5IiwiRmFjdG9yeUNhcmQiLCJsaXN0VHlwZSIsInRyYW5zbGF0ZWRMaXN0VHlwZSIsIlRyYW5zIiwiaTE4bktleSIsInVzZUVmZmVjdCIsIl9zZWxlY3RlZFJlZiRjdXJyZW50IiwiY3VycmVudCIsInNjcm9sbEludG9WaWV3IiwiYmVoYXZpb3IiLCJibG9jayIsImlubGluZSIsImdyb3VwIiwidHlwZSIsImNsaWNrZWQiLCJXV1RQRGV0YWlscyIsInN0eWxlIiwib3ZlcmZsb3ciLCJuYW1lIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwidGhlbWUiLCJXV1RQTWFwIiwiYmciLCJRdWFsaXR5U3VtbWFyeSIsIkxpbmVDaGFydCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJ3NyYy9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgc29ydEFyZWFzLCBzb3J0UG9pbnRzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBBcmVhQ2FyZCB9IGZyb20gJy4vQXJlYUNhcmQnO1xuaW1wb3J0IHsgRmFjdG9yeUNhcmQgfSBmcm9tICcuL0ZhY3RvcnlDYXJkJztcbmltcG9ydCBPcmdhbmljQ2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9PcmdhbmljQ2FyZCc7XG5pbXBvcnQgSW1wYWN0Q2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9Qb3RlbnRpYWxTYXZpbmcnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnLi9MaXN0Q29udGV4dCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgRGlzY2hhcmdlUGF0dGVybiB9IGZyb20gJy4uL1NpdGVQYWdlL0Rpc2NoYXJnZVBhdHRlcm4vRGlzY2hhcmdlUGF0dGVybic7XG5pbXBvcnQgeyBRdWFsaXR5U3VtbWFyeSB9IGZyb20gJ3NyYy9XaWRnZXRzL1F1YWxpdHlTdW1tYXJ5L1F1YWxpdHlTdW1tYXJ5JztcbmltcG9ydCB7IExpbmVDaGFydCB9IGZyb20gJ3NyYy9wYWdlcy9BcmVhUGFnZS9EYXNoYm9hcmQvTGluZUNoYXJ0L0xpbmVDaGFydCc7XG4vLyBpbXBvcnQgeyBzZXRGb2N1c2VkQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBUcmFucyB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZ2xvYmFsX2RhdGE6IGFueTtcbiAgV1dUUEluZm86IGFueTtcbiAgZGlzcGF0Y2g6IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgbGlzdFR5cGVzID0ge1xuICAgIGFyZWFzOiAnYXJlYXMnLFxuICAgIHN1Yl9hcmVhczogJ3N1Yl9hcmVhcycsXG4gICAgZmFjdG9yaWVzOiAnZmFjdG9yaWVzJyxcbiAgfTtcbiAgY29uc3QgeyBnbG9iYWxfZGF0YSB9ID0gUmVkdXhTdGF0ZTtcbiAgLy8gY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IHNlbGVjdGVkSXRlbSwgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IHsgV1dUUEluZm8gfSA9IHByb3BzO1xuICBjb25zdCB7IGZvY3VzZWRBcmVhLCBtYXAgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLnd3dHBfZGFzaGJvYXJkLFxuICApO1xuICBjb25zdCBzZWxlY3RlZFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3Qgc2l0ZUlEID0gV1dUUEluZm8ucG9pbnQ/LmlkO1xuXG4gIGNvbnN0IGhhbmRsZUl0ZW1DbGljayA9IChpdGVtKSA9PiB7XG4gICAgaGFuZGxlU2VsZWN0SXRlbShpdGVtKTtcbiAgfTtcblxuICBjb25zdCBub0RhdGFNZXNzYWdlID0gaTE4bi50KCd3d3RwUGFnZS5ub19kYXRhX2Zvcl9zaXRlJyk7XG5cbiAgY29uc3Qgc2hvd2VkQXJlYXMgPSAoZm9jdXNlZEFyZWEpID0+IHtcbiAgICBsZXQgYWxsQXJyYXkgPVxuICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzICYmIHNvcnRBcmVhcyhmb2N1c2VkQXJlYS5zdWJfYXJlYXMpLmZpbHRlcihCb29sZWFuKTtcblxuICAgIGlmIChmb2N1c2VkQXJlYS5hcmVhX2lkID09PSBudWxsICYmIGZvY3VzZWRBcmVhLmFyZWFfbmFtZSA9PT0gJycpIHtcbiAgICAgIGFsbEFycmF5ID0gYWxsQXJyYXkuZmlsdGVyKChhcmVhKSA9PiBhcmVhLnRvcF9sZXZlbCA9PT0gdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiBhbGxBcnJheTtcbiAgfTtcblxuICBjb25zdCBub0FyZWFzID1cbiAgICBmb2N1c2VkQXJlYSAmJlxuICAgIGZvY3VzZWRBcmVhPy5mb3JXV1RQTWFwID09PSB0cnVlICYmXG4gICAgc2l0ZUlEICE9PSB1bmRlZmluZWQgJiZcbiAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXM/Lmxlbmd0aCA9PT0gMDtcblxuICBjb25zdCBsaXN0RGV0YWlscyA9ICgpID0+IHtcbiAgICBpZiAoIXNpdGVJRCAmJiAhZm9jdXNlZEFyZWEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobm9BcmVhcykge1xuICAgICAgaWYgKFxuICAgICAgICAvLyBmb2N1c2VkQXJlYT8uY2xpY2tlZCA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgIGZvY3VzZWRBcmVhPy5oYXNfZGV2aWNlID09PSBmYWxzZSB8fFxuICAgICAgICAhc2l0ZUlEXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxFcnJvck1lc3NhZ2U+e25vRGF0YU1lc3NhZ2V9PC9FcnJvck1lc3NhZ2U+XG4gICAgICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8TGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxTdW1tYXJ5Q29tcG9uZW50XG4gICAgICAgICAgICAgIGVuZHBvaW50PXtgL2RhdGEvZXZlbnRzLWNvbXBvbmVudC1kYXRhLyR7c2l0ZUlEfWB9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInN1bW1hcnktY29tcG9uZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8TGluZUNoYXJ0Q29tcG9uZW50XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2FyZWFfZGFzaGJvYXJkLnRyZW5kJyl9XG4gICAgICAgICAgICAgIGVuZHBvaW50PXtgL3BvaW50cy8ke3NpdGVJRH0vdHJlbmQtZ3JhcGhgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxEaXNjaGFyZ2VQYXR0ZXJuIHNpdGVJRD17TnVtYmVyKHNpdGVJRCl9IC8+XG4gICAgICAgICAgPC9MaXN0Q29udGFpbmVyPlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmb2N1c2VkQXJlYSAmJiBmb2N1c2VkQXJlYT8uc3ViX2FyZWFzPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gc2hvd2VkQXJlYXMoZm9jdXNlZEFyZWEpLm1hcCgoYXJlYTogSUFyZWEpID0+IChcbiAgICAgICAgPEFyZWFDYXJkXG4gICAgICAgICAga2V5PXthcmVhLmFyZWFfaWR9XG4gICAgICAgICAgb2JqZWN0PXthcmVhfVxuICAgICAgICAgIG1hcFJlZj17bWFwfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUl0ZW1DbGljayhhcmVhLmFyZWFfaWQpfVxuICAgICAgICAgIHNlbGVjdGVkPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZH1cbiAgICAgICAgICBpdGVtUmVmPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZCA/IHNlbGVjdGVkUmVmIDogbnVsbH1cbiAgICAgICAgLz5cbiAgICAgICkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZm9jdXNlZEFyZWE/LmZhY3Rvcmllcykge1xuICAgICAgICByZXR1cm4gc29ydFBvaW50cyhmb2N1c2VkQXJlYS5mYWN0b3JpZXMpXG4gICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgIC5tYXAoKGZhY3RvcnkpID0+IChcbiAgICAgICAgICAgIDxGYWN0b3J5Q2FyZFxuICAgICAgICAgICAgICBrZXk9e2ZhY3RvcnkuaWR9XG4gICAgICAgICAgICAgIG9iamVjdD17ZmFjdG9yeX1cbiAgICAgICAgICAgICAgbWFwUmVmPXttYXB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUl0ZW1DbGljayhmYWN0b3J5LmlkKX1cbiAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkSXRlbSA9PT0gZmFjdG9yeS5pZH1cbiAgICAgICAgICAgICAgaXRlbVJlZj17c2VsZWN0ZWRJdGVtID09PSBmYWN0b3J5LmlkID8gc2VsZWN0ZWRSZWYgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLy8gVXBkYXRlIHRoZSBsaXN0IG9ubHkgaWYgdGhlIHNjb3JlIG9mIGF0IGxlYXN0IG9uZSBvZiB0aGUgc3ViLWFyZWFzIGhhcyBjaGFuZ2VkXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgaWYgKFxuICAvLyAgICAgZm9jdXNlZEFyZWEgJiZcbiAgLy8gICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyAmJlxuICAvLyAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLmxlbmd0aCA+IDAgJiZcbiAgLy8gICAgIGFyZWFzX2RhdGE/LmlzRmV0Y2hpbmcgPT09IGZhbHNlXG4gIC8vICAgKSB7XG4gIC8vICAgICBjb25zdCBzdWJBcmVhc0NoYW5nZWQgPSBhcmVhc1Njb3JlQ2hhbmdlZEJ5SWQoXG4gIC8vICAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyxcbiAgLy8gICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcyxcbiAgLy8gICAgICk7XG4gIC8vICAgICBpZiAoIXN1YkFyZWFzQ2hhbmdlZCkgcmV0dXJuO1xuXG4gIC8vICAgICBjb25zdCBmb2N1c2VkQXJlYVdpdGhVcGRhdGVkU3ViQXJlYXMgPSB7XG4gIC8vICAgICAgIC4uLmZvY3VzZWRBcmVhLFxuICAvLyAgICAgICBzdWJfYXJlYXM6IGdldFVwZGF0ZWRBcmVhc0J5SWQoXG4gIC8vICAgICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLFxuICAvLyAgICAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMsXG4gIC8vICAgICAgICksXG4gIC8vICAgICB9O1xuICAvLyAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEoZm9jdXNlZEFyZWFXaXRoVXBkYXRlZFN1YkFyZWFzKSk7XG4gIC8vICAgfVxuICAvLyB9LCBbYXJlYXNfZGF0YV0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgaWYgKFxuICAvLyAgICAgIWZvY3VzZWRBcmVhIHx8XG4gIC8vICAgICAhZm9jdXNlZEFyZWEuZmFjdG9yaWVzIHx8XG4gIC8vICAgICBmb2N1c2VkQXJlYS5mYWN0b3JpZXMubGVuZ3RoID09PSAwIHx8XG4gIC8vICAgICBwb2ludHNfZGF0YT8uaXNGZXRjaGluZyA9PT0gdHJ1ZSB8fFxuICAvLyAgICAgcG9pbnRzX2RhdGE/Lml0ZW1zPy5sZW5ndGggPT09IDBcbiAgLy8gICApXG4gIC8vICAgICByZXR1cm47XG5cbiAgLy8gICBkaXNwYXRjaChcbiAgLy8gICAgIHNldEZvY3VzZWRBcmVhKHtcbiAgLy8gICAgICAgLi4uZm9jdXNlZEFyZWEsXG4gIC8vICAgICAgIGZhY3RvcmllczogZ2V0UG9pbnRzKGZvY3VzZWRBcmVhPy5mYWN0b3JpZXMsIHBvaW50c19kYXRhLml0ZW1zKSxcbiAgLy8gICAgIH0pLFxuICAvLyAgICk7XG4gIC8vIH0sIFtwb2ludHNfZGF0YSwgYXJlYXNfZGF0YV0pO1xuXG4gIC8vIGNvbnN0IGFyZWFzU2NvcmVDaGFuZ2VkQnlJZCA9IChhcnIxLCBhcnIyKSA9PiB7XG4gIC8vICAgLy8gZ28gb3ZlciB0aGUgMXN0IGFycmF5XG4gIC8vICAgZm9yIChsZXQgaXRlbTEgb2YgYXJyMSkge1xuICAvLyAgICAgLy8gRmluZCB0aGUgb2JqZWN0IHdpdGggdGhlIHNhbWUgaWQgaW4gdGhlIHNlY29uZCBhcnJheVxuICAvLyAgICAgbGV0IG1hdGNoaW5nSXRlbSA9IGFycjIuZmluZChcbiAgLy8gICAgICAgKGl0ZW0yKSA9PiBpdGVtMj8uYXJlYV9pZCA9PT0gaXRlbTE/LmFyZWFfaWQsXG4gIC8vICAgICApO1xuXG4gIC8vICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBvbmUgbWF0Y2hpbmcgaXRlbSBpcyBmb3VuZCBpbiB0aGUgc2Vjb25kIGFycmF5IGFuZCB0aGVpciBzY29yZXMgY2hhbmdlZFxuICAvLyAgICAgaWYgKG1hdGNoaW5nSXRlbSAmJiBpdGVtMS5hcmVhX3Njb3JlICE9PSBtYXRjaGluZ0l0ZW0uYXJlYV9zY29yZSkge1xuICAvLyAgICAgICByZXR1cm4gdHJ1ZTtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG5cbiAgLy8gICAvLyBJZiBhbGwgaXRlbXMgbWF0Y2hlZCBhbmQgaGFkIHRoZSBzYW1lIHNjb3JlLCByZXR1cm4gZmFsc2VcbiAgLy8gICByZXR1cm4gZmFsc2U7XG4gIC8vIH07XG5cbiAgLy8gY29uc3QgZ2V0VXBkYXRlZEFyZWFzQnlJZCA9IChhcnJheTEsIGFycmF5MikgPT4ge1xuICAvLyAgIGNvbnN0IHVwZGF0ZWRBcnJheSA9IGFycmF5Mi5maWx0ZXIoKG9iajIpID0+XG4gIC8vICAgICBhcnJheTEuc29tZSgob2JqMSkgPT4gb2JqMS5hcmVhX2lkID09PSBvYmoyLmFyZWFfaWQpLFxuICAvLyAgICk7XG5cbiAgLy8gICByZXR1cm4gdXBkYXRlZEFycmF5Py5sZW5ndGggPiAwID8gdXBkYXRlZEFycmF5IDogYXJyYXkxO1xuICAvLyB9O1xuXG4gIGNvbnN0IGxpc3RUeXBlID1cbiAgICBmb2N1c2VkQXJlYT8uYXJlYV9pZCA9PT0gbnVsbFxuICAgICAgPyBsaXN0VHlwZXMuYXJlYXNcbiAgICAgIDogZm9jdXNlZEFyZWE/LnN1Yl9hcmVhcz8ubGVuZ3RoID4gMFxuICAgICAgPyBsaXN0VHlwZXMuc3ViX2FyZWFzXG4gICAgICA6IG5vQXJlYXNcbiAgICAgID8gJydcbiAgICAgIDogbGlzdFR5cGVzLmZhY3RvcmllcztcblxuICBjb25zdCB0cmFuc2xhdGVkTGlzdFR5cGUgPVxuICAgIGxpc3RUeXBlID09PSAnJyA/IChcbiAgICAgICcnXG4gICAgKSA6IChcbiAgICAgIDxzcGFuPlxuICAgICAgICB7JyAnfVxuICAgICAgICAtIDxUcmFucyBpMThuS2V5PXtpMThuLnQoYHd3dHBQYWdlLmxpc3RfdHlwZS4ke2xpc3RUeXBlfWApfSAvPlxuICAgICAgPC9zcGFuPlxuICAgICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZWxlY3RlZFJlZi5jdXJyZW50Py5zY3JvbGxJbnRvVmlldyh7XG4gICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICBibG9jazogJ2NlbnRlcicsXG4gICAgICBpbmxpbmU6ICdjZW50ZXInLFxuICAgIH0pO1xuICB9LCBbc2VsZWN0ZWRJdGVtXSk7XG5cbiAgaWYgKFxuICAgIGZvY3VzZWRBcmVhPy5ncm91cCAmJlxuICAgIGZvY3VzZWRBcmVhLmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCcgJiZcbiAgICBmb2N1c2VkQXJlYT8uY2xpY2tlZCA9PT0gdW5kZWZpbmVkXG4gIClcbiAgICByZXR1cm4gKFxuICAgICAgPFdXVFBEZXRhaWxzIGNsYXNzTmFtZT1cInAtM1wiIHN0eWxlPXt7IG92ZXJmbG93OiAnc2Nyb2xsJyB9fT5cbiAgICAgICAgPGgzPntXV1RQSW5mby5wb2ludD8ubmFtZX08L2gzPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2gtYXV0byBteS00J30+XG4gICAgICAgICAgPE9yZ2FuaWNDYXJkIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2gtYXV0byBtdC0yJ30+XG4gICAgICAgICAgPEltcGFjdENhcmQgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L1dXVFBEZXRhaWxzPlxuICAgICk7XG5cbiAgcmV0dXJuIChcbiAgICA8V1dUUERldGFpbHMgY2xhc3NOYW1lPVwicC0zXCIgc3R5bGU9e3sgb3ZlcmZsb3c6ICdzY3JvbGwnIH19PlxuICAgICAgPGgzPlxuICAgICAgICB7Zm9jdXNlZEFyZWE/LmFyZWFfbmFtZSB8fFxuICAgICAgICAgIGZvY3VzZWRBcmVhPy5uYW1lIHx8XG4gICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lfVxuICAgICAgICB7dHJhbnNsYXRlZExpc3RUeXBlfVxuICAgICAgPC9oMz5cbiAgICAgIDx1bCBjbGFzc05hbWU9eydteC1uMyd9PntsaXN0RGV0YWlscygpfTwvdWw+XG4gICAgPC9XV1RQRGV0YWlscz5cbiAgKTtcbn07XG5cbmNvbnN0IFdXVFBEZXRhaWxzID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDEzNHB4KTtcbiAgYmFja2dyb3VuZDogJHt0aGVtZS5XV1RQTWFwLmJnfTtcbmA7XG5cbmNvbnN0IFN1bW1hcnlDb21wb25lbnQgPSBzdHlsZWQoUXVhbGl0eVN1bW1hcnkpYFxuICBncmlkLWFyZWE6IHN1bW1hcnk7XG5cbiAgc3VtbWFyeS1jb21wb25lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gIH1cbmA7XG5cbmNvbnN0IExpbmVDaGFydENvbXBvbmVudCA9IHN0eWxlZChMaW5lQ2hhcnQpYFxuICBncmlkLWFyZWE6IGdyYXBoO1xuYDtcblxuY29uc3QgTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4O1xuICBnYXA6IDMwcHg7XG5gO1xuXG5jb25zdCBFcnJvck1lc3NhZ2UgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IC0wLjlweCAtMC41cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2ViZWJlYjtcbiAgcGFkZGluZzogMjBweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFlBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFRLGdCQUFBLEdBQUFELHNCQUFBLENBQUFQLE9BQUE7QUFDQSxJQUFBUyxZQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxLQUFBLEdBQUFILHNCQUFBLENBQUFQLE9BQUE7QUFDQSxJQUFBVyxpQkFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksZUFBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsVUFBQSxHQUFBYixPQUFBO0FBRUEsSUFBQWMsYUFBQSxHQUFBZCxPQUFBO0FBQXNDLFNBQUFlLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZ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
|
|
@@ -133,15 +133,16 @@ var WWTPMap = function WWTPMap(props) {
|
|
|
133
133
|
// }, [ReduxState.wwtp_dashboard.focusedArea]);
|
|
134
134
|
|
|
135
135
|
var getAreaToCenterBy = function getAreaToCenterBy() {
|
|
136
|
-
var _ReduxState$wwtp_dash2
|
|
136
|
+
var _ReduxState$wwtp_dash2;
|
|
137
137
|
if ((_ReduxState$wwtp_dash2 = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash2 === void 0 ? void 0 : _ReduxState$wwtp_dash2.shape_data) {
|
|
138
138
|
var _ReduxState$wwtp_dash3;
|
|
139
139
|
return (_ReduxState$wwtp_dash3 = ReduxState.wwtp_dashboard.focusedArea) === null || _ReduxState$wwtp_dash3 === void 0 ? void 0 : _ReduxState$wwtp_dash3.shape_data;
|
|
140
140
|
}
|
|
141
|
-
return
|
|
142
|
-
|
|
143
|
-
|
|
141
|
+
// return ReduxState.wwtp_dashboard.focusedArea?.sub_areas?.map(
|
|
142
|
+
// (area) => area.shape_data,
|
|
143
|
+
// );
|
|
144
144
|
};
|
|
145
|
+
|
|
145
146
|
var showList = (0, _react.useMemo)(function () {
|
|
146
147
|
if (areas_data.isFetching || points_data.isFetching) return null;
|
|
147
148
|
return /*#__PURE__*/_react.default.createElement(_List.List, {
|
|
@@ -179,4 +180,4 @@ var Container = _styledComponents.default.div.withConfig({
|
|
|
179
180
|
})(["width:100vw;.map-column{z-index:0;}.kd-map-container{height:calc(100vh - 134px);width:100%;@media (max-width:1250px){height:calc(100vh - 125px);}#map{height:100%;width:100%;*,*:focus,*:hover{outline:none;}.leaflet-popup-close-button{font-size:x-large;}}}"]);
|
|
180
181
|
var _default = WWTPMap;
|
|
181
182
|
exports.default = _default;
|
|
182
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiaXNNYXBUYWIiLCJfdXNlUGFyYW1zIiwidXNlUGFyYW1zIiwiaWQiLCJhcmVhSUQiLCJzaXRlSUQiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJ3d3RwX2Rhc2hib2FyZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBvaW50cyIsInNldFBvaW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXJlYXMiLCJzZXRBcmVhcyIsIl91c2VTdGF0ZTUiLCJwb2ludCIsImFyZWEiLCJfdXNlU3RhdGU2IiwiV1dUUEluZm8iLCJzZXRXV1RQSW5mbyIsImRhdGFFeGlzdHMiLCJuZXdBcmVhcyIsImxlbmd0aCIsIml0ZW1zIiwidXNlRWZmZWN0IiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImRhc2hib2FyZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJvYmplY3QiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2giLCJ0eXBlIiwiaXNfdmlydHVhbCIsInZhbGlkT2JqZWN0IiwidG9TdHJpbmciLCJhcmVhX2lkIiwicGFyc2VJbnQiLCJzaG93RXh0cmEiLCJmb2N1c2VkQXJlYSIsImZldGNoQ2FwYWNpdHkiLCJ0aGVuIiwicmVzcG9uc2UiLCJzZXRGb2N1c2VkSXRlbSIsImRhdGEiLCJzZXRGb2N1c2VkQXJlYSIsInV0aWxpdHlEaXJlY3RzIiwic29ydEFyZWFzIiwic2V0VGltZW91dCIsInVuZGVmaW5lZCIsIm1hcCIsImdldEFyZWFUb0NlbnRlckJ5IiwiX1JlZHV4U3RhdGUkd3d0cF9kYXNoMiIsIl9SZWR1eFN0YXRlJHd3dHBfZGFzaDQiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2g1Iiwic2hhcGVfZGF0YSIsIl9SZWR1eFN0YXRlJHd3dHBfZGFzaDMiLCJzdWJfYXJlYXMiLCJzaG93TGlzdCIsInVzZU1lbW8iLCJpc0ZldGNoaW5nIiwiY3JlYXRlRWxlbWVudCIsIkxpc3QiLCJGcmFnbWVudCIsIkxvYWRlciIsIlNlbGVjdGVkSXRlbVByb3ZpZGVyIiwiQ29udGFpbmVyIiwiUm93IiwiY2xhc3NOYW1lIiwiQ29sIiwieHMiLCJzbSIsIk1hcCIsImVkZ2VzIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiZm9yRXZlbnRzVmlldyIsImZvcldXVFBEYXNoYm9hcmQiLCJhcmVhVG9DZW50ZXJCeSIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XV1RQTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9NYXAnO1xuaW1wb3J0IHsgZmV0Y2hBcmVhcyB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoRWRnZXMgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaFBvaW50cyB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvYWN0aW9ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IExpc3QgfSBmcm9tICcuL0xpc3QnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZVdXVFBEYXRhLCBzb3J0QXJlYXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4vTG9hZGVyJztcbmltcG9ydCB7IHVzZVBhcmFtcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IHNldEZvY3VzZWRBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgU2VsZWN0ZWRJdGVtUHJvdmlkZXIgfSBmcm9tICcuL0xpc3RDb250ZXh0JztcbmltcG9ydCB7IFJvdywgQ29sIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IGZldGNoQ2FwYWNpdHksIHNldEZvY3VzZWRJdGVtIH0gZnJvbSAnLi9DYXBhY2l0eSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwYWNpdHlNYXBDb250YWluZXJQcm9wcyB7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xufVxuY29uc3QgV1dUUE1hcDogUmVhY3QuRkM8Q2FwYWNpdHlNYXBDb250YWluZXJQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBpc01hcFRhYiA9IHNlYXJjaFF1ZXJ5LmdldCgndmlldycpID09PSAnbWFwJztcbiAgbGV0IHsgaWQsIGFyZWFJRCwgc2l0ZUlEIH0gPSB1c2VQYXJhbXMoKTtcbiAgaWQgPSBpZCB8fCBhcmVhSUQgfHwgc2l0ZUlEO1xuICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBhcmVhc19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIGVkZ2VzX2RhdGEsIHd3dHBfZGFzaGJvYXJkIH0gPVxuICAgIFJlZHV4U3RhdGU7XG4gIGNvbnN0IFtwb2ludHMsIHNldFBvaW50c10gPSB1c2VTdGF0ZTxJUG9pbnRbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYXJlYXMsIHNldEFyZWFzXSA9IHVzZVN0YXRlPElBcmVhW10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW1dXVFBJbmZvLCBzZXRXV1RQSW5mb10gPSB1c2VTdGF0ZTx7XG4gICAgcG9pbnQ6IElQb2ludCB8IG51bGw7XG4gICAgYXJlYTogSUFyZWEgfCBudWxsO1xuICB9Pih7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICBsZXQgZGF0YUV4aXN0cyA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcy5sZW5ndGggIT09IDAgfHxcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgZWRnZXNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDBcbiAgICApO1xuICB9O1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgLy8gICAgIGNvbnN0IHBlcmlvZCA9XG4gIC8vICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2Q7XG4gIC8vICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgLy8gICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAvLyAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgLy8gICB9XG4gIC8vIH0sIFtSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2RdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGluaXRpYWxpemVXV1RQRGF0YSh7XG4gICAgICBhcmVhc19kYXRhLFxuICAgICAgcG9pbnRzX2RhdGEsXG4gICAgICBzZXRQb2ludHMsXG4gICAgICBzZXRBcmVhcyxcbiAgICAgIHNldFdXVFBJbmZvLFxuICAgICAgZGF0YUV4aXN0cyxcbiAgICAgIGlkLFxuICAgIH0pO1xuICB9LCBbYXJlYXNfZGF0YV0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgc2V0V1dUUEluZm8oY2FsY3VsYXRlV1dUUEluZm8oeyBpZCwgcG9pbnRzX2RhdGEsIGFyZWFzX2RhdGEgfSkpO1xuICAvLyB9LCBbaWRdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGZvY3VzTWFwKFdXVFBJbmZvLmFyZWEgfHwgV1dUUEluZm8ucG9pbnQsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIC8vIH0sIFtXV1RQSW5mb10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGNvbnN0IHBlcmlvZCA9XG4gICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2Q7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgICB9XG5cbiAgICAvLyByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAvLyAgIHNldFBvaW50cyhudWxsKTtcbiAgICAvLyAgIHNldEFyZWFzKG51bGwpO1xuICAgIC8vICAgc2V0V1dUUEluZm8oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgICAvLyB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvYmplY3QgPSBXV1RQSW5mby5hcmVhIHx8IFdXVFBJbmZvLnBvaW50O1xuXG4gICAgaWYgKGlzTWFwVGFiICYmIG9iamVjdCkge1xuICAgICAgY29uc3QgdHlwZSA9IFdXVFBJbmZvLmFyZWFcbiAgICAgICAgPyBvYmplY3QuaXNfdmlydHVhbCA9PT0gdHJ1ZVxuICAgICAgICAgID8gJ3ZhcmVhJ1xuICAgICAgICAgIDogJ2FyZWEnXG4gICAgICAgIDogJ3NpdGUnO1xuXG4gICAgICBjb25zdCB2YWxpZE9iamVjdCA9XG4gICAgICAgIHR5cGUgPT09ICdzaXRlJ1xuICAgICAgICAgID8gb2JqZWN0LmlkLnRvU3RyaW5nKCkgPT09IGlkXG4gICAgICAgICAgOiBvYmplY3QuYXJlYV9pZCA9PT0gcGFyc2VJbnQoaWQpO1xuXG4gICAgICBjb25zdCBzaG93RXh0cmEgPSBvYmplY3QuaWQgPT09IFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LmlkO1xuXG4gICAgICBpZiAodmFsaWRPYmplY3QpIHtcbiAgICAgICAgZmV0Y2hDYXBhY2l0eSh0eXBlLCBpZCwgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkudGhlbihcbiAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWRJdGVtKFxuICAgICAgICAgICAgICBvYmplY3QsXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICAgIGRpc3BhdGNoLFxuICAgICAgICAgICAgICBzZXRGb2N1c2VkQXJlYSxcbiAgICAgICAgICAgICAgc2hvd0V4dHJhLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB1dGlsaXR5RGlyZWN0cyA9IHNvcnRBcmVhcyhhcmVhcyk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRGb2N1c2VkSXRlbShcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgdXRpbGl0eURpcmVjdHMsXG4gICAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgICAgc2V0Rm9jdXNlZEFyZWEsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgICAvLyBmb2N1c01hcChvYmplY3QsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIH0sIFt3d3RwX2Rhc2hib2FyZC5tYXAsIFdXVFBJbmZvXSk7XG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICBpZiAoIVJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWEgfHwgIXd3dHBfZGFzaGJvYXJkLm1hcCkgcmV0dXJuO1xuXG4gIC8vICAgLy9mb2N1c01hcChSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhLCB3d3RwX2Rhc2hib2FyZC5tYXApO1xuICAvLyB9LCBbUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYV0pO1xuXG4gIGNvbnN0IGdldEFyZWFUb0NlbnRlckJ5ID0gKCkgPT4ge1xuICAgIGlmIChSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhPy5zaGFwZV9kYXRhKSB7XG4gICAgICByZXR1cm4gUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uc2hhcGVfZGF0YTtcbiAgICB9XG4gICAgcmV0dXJuIFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LnN1Yl9hcmVhcz8ubWFwKFxuICAgICAgKGFyZWEpID0+IGFyZWEuc2hhcGVfZGF0YSxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHNob3dMaXN0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGFyZWFzX2RhdGEuaXNGZXRjaGluZyB8fCBwb2ludHNfZGF0YS5pc0ZldGNoaW5nKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiAoXG4gICAgICA8TGlzdCBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9IFdXVFBJbmZvPXtXV1RQSW5mb30gZGlzcGF0Y2g9e2Rpc3BhdGNofSAvPlxuICAgICk7XG4gIH0sIFthcmVhc19kYXRhLCBwb2ludHNfZGF0YSwgV1dUUEluZm9dKTtcblxuICBpZiAoIWlzTWFwVGFiKSByZXR1cm4gPD48Lz47XG4gIGlmICghZGF0YUV4aXN0cygpIHx8ICFwb2ludHMgfHwgIWFyZWFzKSByZXR1cm4gPExvYWRlciAvPjtcbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0ZWRJdGVtUHJvdmlkZXI+XG4gICAgICA8Q29udGFpbmVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxSb3cgY2xhc3NOYW1lPVwibm8tZ3V0dGVyc1wiPlxuICAgICAgICAgIDxDb2wgeHM9XCJhdXRvXCIgc209ezR9IGNsYXNzTmFtZT1cImQtbm9uZSBkLXNtLWZsZXhcIj5cbiAgICAgICAgICAgIHtzaG93TGlzdH1cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIGNsYXNzTmFtZT1cIm1hcC1jb2x1bW5cIiB4cz17MTJ9IHNtPXs4fT5cbiAgICAgICAgICAgIDxNYXBcbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgICBlZGdlcz17ZWRnZXNfZGF0YS5pdGVtc31cbiAgICAgICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXt0cnVlfVxuICAgICAgICAgICAgICBmb3JFdmVudHNWaWV3PXtmYWxzZX1cbiAgICAgICAgICAgICAgZm9yV1dUUERhc2hib2FyZD17dHJ1ZX1cbiAgICAgICAgICAgICAgYXJlYVRvQ2VudGVyQnk9e2dldEFyZWFUb0NlbnRlckJ5KCl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvU2VsZWN0ZWRJdGVtUHJvdmlkZXI+XG4gICk7XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwdnc7XG5cbiAgLm1hcC1jb2x1bW4ge1xuICAgIHotaW5kZXg6IDA7XG4gIH1cblxuICAua2QtbWFwLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTM0cHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNTBweCkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTI1cHgpO1xuICAgIH1cblxuICAgICNtYXAge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICosXG4gICAgICAqOmZvY3VzLFxuICAgICAgKjpob3ZlciB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogeC1sYXJnZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IFdXVFBNYXA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxJQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxTQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxTQUFBLEdBQUFOLE9BQUE7QUFFQSxJQUFBTyxLQUFBLEdBQUFQLE9BQUE7QUFHQSxJQUFBUSxNQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxPQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxlQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxZQUFBLEdBQUFDLHNCQUFBLENBQUFaLE9BQUE7QUFDQSxJQUFBYSxtQkFBQSxHQUFB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
|
|
183
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiaXNNYXBUYWIiLCJfdXNlUGFyYW1zIiwidXNlUGFyYW1zIiwiaWQiLCJhcmVhSUQiLCJzaXRlSUQiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJ3d3RwX2Rhc2hib2FyZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBvaW50cyIsInNldFBvaW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXJlYXMiLCJzZXRBcmVhcyIsIl91c2VTdGF0ZTUiLCJwb2ludCIsImFyZWEiLCJfdXNlU3RhdGU2IiwiV1dUUEluZm8iLCJzZXRXV1RQSW5mbyIsImRhdGFFeGlzdHMiLCJuZXdBcmVhcyIsImxlbmd0aCIsIml0ZW1zIiwidXNlRWZmZWN0IiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImRhc2hib2FyZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJvYmplY3QiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2giLCJ0eXBlIiwiaXNfdmlydHVhbCIsInZhbGlkT2JqZWN0IiwidG9TdHJpbmciLCJhcmVhX2lkIiwicGFyc2VJbnQiLCJzaG93RXh0cmEiLCJmb2N1c2VkQXJlYSIsImZldGNoQ2FwYWNpdHkiLCJ0aGVuIiwicmVzcG9uc2UiLCJzZXRGb2N1c2VkSXRlbSIsImRhdGEiLCJzZXRGb2N1c2VkQXJlYSIsInV0aWxpdHlEaXJlY3RzIiwic29ydEFyZWFzIiwic2V0VGltZW91dCIsInVuZGVmaW5lZCIsIm1hcCIsImdldEFyZWFUb0NlbnRlckJ5IiwiX1JlZHV4U3RhdGUkd3d0cF9kYXNoMiIsInNoYXBlX2RhdGEiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2gzIiwic2hvd0xpc3QiLCJ1c2VNZW1vIiwiaXNGZXRjaGluZyIsImNyZWF0ZUVsZW1lbnQiLCJMaXN0IiwiRnJhZ21lbnQiLCJMb2FkZXIiLCJTZWxlY3RlZEl0ZW1Qcm92aWRlciIsIkNvbnRhaW5lciIsIlJvdyIsImNsYXNzTmFtZSIsIkNvbCIsInhzIiwic20iLCJNYXAiLCJlZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImZvckV2ZW50c1ZpZXciLCJmb3JXV1RQRGFzaGJvYXJkIiwiYXJlYVRvQ2VudGVyQnkiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV1dUUE1hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvTWFwJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnLi9MaXN0JztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IGluaXRpYWxpemVXV1RQRGF0YSwgc29ydEFyZWFzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuL0xvYWRlcic7XG5pbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICcuLi8uLi9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQgeyBzZXRGb2N1c2VkQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcbmltcG9ydCB7IFNlbGVjdGVkSXRlbVByb3ZpZGVyIH0gZnJvbSAnLi9MaXN0Q29udGV4dCc7XG5pbXBvcnQgeyBSb3csIENvbCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBmZXRjaENhcGFjaXR5LCBzZXRGb2N1c2VkSXRlbSB9IGZyb20gJy4vQ2FwYWNpdHknO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcGFjaXR5TWFwQ29udGFpbmVyUHJvcHMge1xuICBjbGFzc05hbWU6IHN0cmluZztcbn1cbmNvbnN0IFdXVFBNYXA6IFJlYWN0LkZDPENhcGFjaXR5TWFwQ29udGFpbmVyUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHNlYXJjaFF1ZXJ5ID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgaXNNYXBUYWIgPSBzZWFyY2hRdWVyeS5nZXQoJ3ZpZXcnKSA9PT0gJ21hcCc7XG4gIGxldCB7IGlkLCBhcmVhSUQsIHNpdGVJRCB9ID0gdXNlUGFyYW1zKCk7XG4gIGlkID0gaWQgfHwgYXJlYUlEIHx8IHNpdGVJRDtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgYXJlYXNfZGF0YSwgZ2xvYmFsX2RhdGEsIHBvaW50c19kYXRhLCBlZGdlc19kYXRhLCB3d3RwX2Rhc2hib2FyZCB9ID1cbiAgICBSZWR1eFN0YXRlO1xuICBjb25zdCBbcG9pbnRzLCBzZXRQb2ludHNdID0gdXNlU3RhdGU8SVBvaW50W10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2FyZWFzLCBzZXRBcmVhc10gPSB1c2VTdGF0ZTxJQXJlYVtdIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtXV1RQSW5mbywgc2V0V1dUUEluZm9dID0gdXNlU3RhdGU8e1xuICAgIHBvaW50OiBJUG9pbnQgfCBudWxsO1xuICAgIGFyZWE6IElBcmVhIHwgbnVsbDtcbiAgfT4oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgbGV0IGRhdGFFeGlzdHMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMubGVuZ3RoICE9PSAwIHx8XG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgfHxcbiAgICAgIGVkZ2VzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwXG4gICAgKTtcbiAgfTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gIC8vICAgICBjb25zdCBwZXJpb2QgPVxuICAvLyAgICAgICBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2RbJ3JhbmdlJ10gfHwgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kO1xuICAvLyAgICAgZGlzcGF0Y2goZmV0Y2hQb2ludHMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kKSk7XG4gIC8vICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgLy8gICAgIGRpc3BhdGNoKGZldGNoQXJlYXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kLCB0cnVlKSk7XG4gIC8vICAgfVxuICAvLyB9LCBbUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplV1dUUERhdGEoe1xuICAgICAgYXJlYXNfZGF0YSxcbiAgICAgIHBvaW50c19kYXRhLFxuICAgICAgc2V0UG9pbnRzLFxuICAgICAgc2V0QXJlYXMsXG4gICAgICBzZXRXV1RQSW5mbyxcbiAgICAgIGRhdGFFeGlzdHMsXG4gICAgICBpZCxcbiAgICB9KTtcbiAgfSwgW2FyZWFzX2RhdGFdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIHNldFdXVFBJbmZvKGNhbGN1bGF0ZVdXVFBJbmZvKHsgaWQsIHBvaW50c19kYXRhLCBhcmVhc19kYXRhIH0pKTtcbiAgLy8gfSwgW2lkXSk7XG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICBmb2N1c01hcChXV1RQSW5mby5hcmVhIHx8IFdXVFBJbmZvLnBvaW50LCB3d3RwX2Rhc2hib2FyZC5tYXApO1xuICAvLyB9LCBbV1dUUEluZm9dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBjb25zdCBwZXJpb2QgPVxuICAgICAgICBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2RbJ3JhbmdlJ10gfHwgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hQb2ludHMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoQXJlYXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kLCB0cnVlKSk7XG4gICAgfVxuXG4gICAgLy8gcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgLy8gICBzZXRQb2ludHMobnVsbCk7XG4gICAgLy8gICBzZXRBcmVhcyhudWxsKTtcbiAgICAvLyAgIHNldFdXVFBJbmZvKHsgcG9pbnQ6IG51bGwsIGFyZWE6IG51bGwgfSk7XG4gICAgLy8gfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgb2JqZWN0ID0gV1dUUEluZm8uYXJlYSB8fCBXV1RQSW5mby5wb2ludDtcblxuICAgIGlmIChpc01hcFRhYiAmJiBvYmplY3QpIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBXV1RQSW5mby5hcmVhXG4gICAgICAgID8gb2JqZWN0LmlzX3ZpcnR1YWwgPT09IHRydWVcbiAgICAgICAgICA/ICd2YXJlYSdcbiAgICAgICAgICA6ICdhcmVhJ1xuICAgICAgICA6ICdzaXRlJztcblxuICAgICAgY29uc3QgdmFsaWRPYmplY3QgPVxuICAgICAgICB0eXBlID09PSAnc2l0ZSdcbiAgICAgICAgICA/IG9iamVjdC5pZC50b1N0cmluZygpID09PSBpZFxuICAgICAgICAgIDogb2JqZWN0LmFyZWFfaWQgPT09IHBhcnNlSW50KGlkKTtcblxuICAgICAgY29uc3Qgc2hvd0V4dHJhID0gb2JqZWN0LmlkID09PSBSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhPy5pZDtcblxuICAgICAgaWYgKHZhbGlkT2JqZWN0KSB7XG4gICAgICAgIGZldGNoQ2FwYWNpdHkodHlwZSwgaWQsIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpLnRoZW4oXG4gICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkSXRlbShcbiAgICAgICAgICAgICAgb2JqZWN0LFxuICAgICAgICAgICAgICByZXNwb25zZS5kYXRhLFxuICAgICAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgICAgIGFyZWFzLFxuICAgICAgICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgICAgICAgc2V0Rm9jdXNlZEFyZWEsXG4gICAgICAgICAgICAgIHNob3dFeHRyYSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdXRpbGl0eURpcmVjdHMgPSBzb3J0QXJlYXMoYXJlYXMpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc2V0Rm9jdXNlZEl0ZW0oXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgcG9pbnRzLFxuICAgICAgICAgIHV0aWxpdHlEaXJlY3RzLFxuICAgICAgICAgIGRpc3BhdGNoLFxuICAgICAgICAgIHNldEZvY3VzZWRBcmVhLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICk7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gICAgLy8gZm9jdXNNYXAob2JqZWN0LCB3d3RwX2Rhc2hib2FyZC5tYXApO1xuICB9LCBbd3d0cF9kYXNoYm9hcmQubWFwLCBXV1RQSW5mb10pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgaWYgKCFSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhIHx8ICF3d3RwX2Rhc2hib2FyZC5tYXApIHJldHVybjtcblxuICAvLyAgIC8vZm9jdXNNYXAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYSwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgLy8gfSwgW1JlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWFdKTtcblxuICBjb25zdCBnZXRBcmVhVG9DZW50ZXJCeSA9ICgpID0+IHtcbiAgICBpZiAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uc2hhcGVfZGF0YSkge1xuICAgICAgcmV0dXJuIFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LnNoYXBlX2RhdGE7XG4gICAgfVxuICAgIC8vIHJldHVybiBSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhPy5zdWJfYXJlYXM/Lm1hcChcbiAgICAvLyAgIChhcmVhKSA9PiBhcmVhLnNoYXBlX2RhdGEsXG4gICAgLy8gKTtcbiAgfTtcblxuICBjb25zdCBzaG93TGlzdCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcmVhc19kYXRhLmlzRmV0Y2hpbmcgfHwgcG9pbnRzX2RhdGEuaXNGZXRjaGluZykgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPExpc3QgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfSBXV1RQSW5mbz17V1dUUEluZm99IGRpc3BhdGNoPXtkaXNwYXRjaH0gLz5cbiAgICApO1xuICB9LCBbYXJlYXNfZGF0YSwgcG9pbnRzX2RhdGEsIFdXVFBJbmZvXSk7XG5cbiAgaWYgKCFpc01hcFRhYikgcmV0dXJuIDw+PC8+O1xuICBpZiAoIWRhdGFFeGlzdHMoKSB8fCAhcG9pbnRzIHx8ICFhcmVhcykgcmV0dXJuIDxMb2FkZXIgLz47XG4gIHJldHVybiAoXG4gICAgPFNlbGVjdGVkSXRlbVByb3ZpZGVyPlxuICAgICAgPENvbnRhaW5lciB7Li4ucHJvcHN9PlxuICAgICAgICA8Um93IGNsYXNzTmFtZT1cIm5vLWd1dHRlcnNcIj5cbiAgICAgICAgICA8Q29sIHhzPVwiYXV0b1wiIHNtPXs0fSBjbGFzc05hbWU9XCJkLW5vbmUgZC1zbS1mbGV4XCI+XG4gICAgICAgICAgICB7c2hvd0xpc3R9XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBjbGFzc05hbWU9XCJtYXAtY29sdW1uXCIgeHM9ezEyfSBzbT17OH0+XG4gICAgICAgICAgICA8TWFwXG4gICAgICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgZWRnZXM9e2VkZ2VzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz17dHJ1ZX1cbiAgICAgICAgICAgICAgZm9yRXZlbnRzVmlldz17ZmFsc2V9XG4gICAgICAgICAgICAgIGZvcldXVFBEYXNoYm9hcmQ9e3RydWV9XG4gICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXtnZXRBcmVhVG9DZW50ZXJCeSgpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L1NlbGVjdGVkSXRlbVByb3ZpZGVyPlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMHZ3O1xuXG4gIC5tYXAtY29sdW1uIHtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgLmtkLW1hcC1jb250YWluZXIge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEzNHB4KTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEyNXB4KTtcbiAgICB9XG5cbiAgICAjbWFwIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAqLFxuICAgICAgKjpmb2N1cyxcbiAgICAgICo6aG92ZXIge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuXG4gICAgICAubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IHgtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBXV1RQTWFwO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsSUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sU0FBQSxHQUFBTixPQUFBO0FBRUEsSUFBQU8sS0FBQSxHQUFBUCxPQUFBO0FBR0EsSUFBQVEsTUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsT0FBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsZUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsWUFBQSxHQUFBQyxzQkFBQSxDQUFBWixPQUFBO0FBQ0EsSUFBQWEsbUJBQUEsR0FBQWIsT0FBQTtBQUNBLElBQUFjLFlBQUEsR0FBQWQsT0FBQTtBQUNBLElBQUFlLGVBQUEsR0FB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
|