@kando-env/kando-ui 1.2.437-alpha.5 → 1.2.437-alpha.6
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.
|
@@ -21,22 +21,36 @@ var EventPath = function EventPath(_ref) {
|
|
|
21
21
|
eventPaths = _ref$eventPaths === void 0 ? [] : _ref$eventPaths;
|
|
22
22
|
var map = global_data.map;
|
|
23
23
|
var dispatch = (0, _reactRedux.useDispatch)();
|
|
24
|
+
var groupRef = (0, _react.useRef)(null);
|
|
25
|
+
|
|
26
|
+
// Initialize the group once
|
|
27
|
+
(0, _react.useEffect)(function () {
|
|
28
|
+
if (map && !groupRef.current) {
|
|
29
|
+
groupRef.current = _leaflet.default.layerGroup().addTo(map);
|
|
30
|
+
}
|
|
31
|
+
return function () {
|
|
32
|
+
if (groupRef.current) {
|
|
33
|
+
groupRef.current.clearLayers();
|
|
34
|
+
map.removeLayer(groupRef.current);
|
|
35
|
+
groupRef.current = null;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}, [map]);
|
|
24
39
|
var drawPolyline = function drawPolyline(event, layerLatlngs, eventPathsAsMapObjects) {
|
|
40
|
+
if (!groupRef.current) return;
|
|
25
41
|
var eventPath = _leaflet.default.polyline(layerLatlngs, {
|
|
26
42
|
color: 'rgb(236,119,156)',
|
|
27
43
|
weight: 10,
|
|
28
44
|
className: 'event-path',
|
|
29
45
|
stroke: true
|
|
30
|
-
}).addTo(
|
|
46
|
+
}).addTo(groupRef.current);
|
|
31
47
|
eventPathsAsMapObjects.push(eventPath);
|
|
32
48
|
eventPath['kando_object_id'] = event.id;
|
|
33
49
|
eventPath['kando_object'] = 'EventPath';
|
|
34
50
|
var tailDash;
|
|
35
51
|
if (window.L.Symbol !== undefined) {
|
|
36
52
|
tailDash = window.L.polylineDecorator(eventPath._latlngs, {
|
|
37
|
-
patterns: [
|
|
38
|
-
// defines a pattern of 10px-wide dashes, repeated every 20px on the line
|
|
39
|
-
{
|
|
53
|
+
patterns: [{
|
|
40
54
|
offset: 20,
|
|
41
55
|
repeat: 60,
|
|
42
56
|
symbol: window.L.Symbol.arrowHead({
|
|
@@ -50,10 +64,14 @@ var EventPath = function EventPath(_ref) {
|
|
|
50
64
|
}
|
|
51
65
|
})
|
|
52
66
|
}]
|
|
53
|
-
}).addTo(
|
|
67
|
+
}).addTo(groupRef.current);
|
|
54
68
|
tailDash['kando_object'] = 'Arrow';
|
|
69
|
+
if (tailDash) eventPathsAsMapObjects.push(tailDash);
|
|
70
|
+
// if (tailDash.bringToFront) tailDash.bringToFront();
|
|
55
71
|
}
|
|
56
|
-
|
|
72
|
+
|
|
73
|
+
// if (eventPath.bringToFront) eventPath.bringToFront();
|
|
74
|
+
|
|
57
75
|
if (event.hovered) {
|
|
58
76
|
dispatch((0, _actions.setHoveredEventPaths)(eventPathsAsMapObjects));
|
|
59
77
|
} else {
|
|
@@ -61,21 +79,32 @@ var EventPath = function EventPath(_ref) {
|
|
|
61
79
|
}
|
|
62
80
|
};
|
|
63
81
|
var renderEventPath = function renderEventPath(event, isHover) {
|
|
64
|
-
if (map !== undefined) {
|
|
82
|
+
if (map !== undefined && groupRef.current) {
|
|
83
|
+
groupRef.current.clearLayers();
|
|
65
84
|
var eventPathsAsMapObjects = [];
|
|
66
85
|
var layers = map._layers;
|
|
86
|
+
var layerLookup = buildLayerLookup(layers);
|
|
67
87
|
event.path.forEach(function (path) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
88
|
+
var layer = layerLookup[path.edge_id];
|
|
89
|
+
if (layer) {
|
|
90
|
+
var layerLatlngs = layer.getLatLngs();
|
|
91
|
+
drawPolyline(event, layerLatlngs, eventPathsAsMapObjects);
|
|
73
92
|
}
|
|
74
93
|
});
|
|
75
94
|
if (!isHover && eventPathsAsMapObjects.length !== 0) {
|
|
76
|
-
map.fitBounds(_leaflet.default.featureGroup(eventPathsAsMapObjects).getBounds().pad(0.1));
|
|
95
|
+
map.fitBounds(_leaflet.default.featureGroup(eventPathsAsMapObjects.filter(Boolean)).getBounds().pad(0.1));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
var buildLayerLookup = function buildLayerLookup(layers) {
|
|
100
|
+
var lookup = {};
|
|
101
|
+
for (var property in layers) {
|
|
102
|
+
var layer = layers[property];
|
|
103
|
+
if (layer.kando_object_id !== undefined && layer.kando_object === 'Edge') {
|
|
104
|
+
lookup[layer.kando_object_id] = layer;
|
|
77
105
|
}
|
|
78
106
|
}
|
|
107
|
+
return lookup;
|
|
79
108
|
};
|
|
80
109
|
(0, _react.useEffect)(function () {
|
|
81
110
|
if (eventPaths) {
|
|
@@ -89,4 +118,4 @@ var EventPath = function EventPath(_ref) {
|
|
|
89
118
|
};
|
|
90
119
|
var _default = EventPath;
|
|
91
120
|
exports.default = _default;
|
|
92
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFdmVudFBhdGgiLCJfcmVmIiwiZXZlbnQiLCJnbG9iYWxfZGF0YSIsIl9yZWYkZXZlbnRQYXRocyIsImV2ZW50UGF0aHMiLCJtYXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiZHJhd1BvbHlsaW5lIiwibGF5ZXJMYXRsbmdzIiwiZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyIsImV2ZW50UGF0aCIsIkwiLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0IiwiY2xhc3NOYW1lIiwic3Ryb2tlIiwiYWRkVG8iLCJwdXNoIiwiaWQiLCJ0YWlsRGFzaCIsIndpbmRvdyIsIlN5bWJvbCIsInVuZGVmaW5lZCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsIm9wYWNpdHkiLCJob3ZlcmVkIiwic2V0SG92ZXJlZEV2ZW50UGF0aHMiLCJzZXRGb2N1c2VkRXZlbnRQYXRocyIsInJlbmRlckV2ZW50UGF0aCIsImlzSG92ZXIiLCJsYXllcnMiLCJfbGF5ZXJzIiwicGF0aCIsImZvckVhY2giLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdF9pZCIsImVkZ2VfaWQiLCJrYW5kb19vYmplY3QiLCJnZXRMYXRMbmdzIiwibGVuZ3RoIiwiZml0Qm91bmRzIiwiZmVhdHVyZUdyb3VwIiwiZ2V0Qm91bmRzIiwicGFkIiwidXNlRWZmZWN0IiwicmVtb3ZlTGF5ZXIiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvZXZlbnRzL0V2ZW50UGF0aC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQge1xuICBzZXRGb2N1c2VkRXZlbnRQYXRocyxcbiAgc2V0SG92ZXJlZEV2ZW50UGF0aHMsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGV2ZW50OiBJRXZlbnQ7XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGV2ZW50UGF0aHM/OiBhbnlbXTtcbn07XG5cbmNvbnN0IEV2ZW50UGF0aDogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gIGV2ZW50LFxuICBnbG9iYWxfZGF0YSxcbiAgZXZlbnRQYXRocyA9IFtdLFxufSkgPT4ge1xuICBjb25zdCB7IG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcblxuICBjb25zdCBkcmF3UG9seWxpbmUgPSAoXG4gICAgZXZlbnQ6IElFdmVudCxcbiAgICBsYXllckxhdGxuZ3M6IGFueSxcbiAgICBldmVudFBhdGhzQXNNYXBPYmplY3RzOiBhbnksXG4gICkgPT4ge1xuICAgIGxldCBldmVudFBhdGggPSBMLnBvbHlsaW5lKGxheWVyTGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjM2LDExOSwxNTYpJyxcbiAgICAgIHdlaWdodDogMTAsXG4gICAgICBjbGFzc05hbWU6ICdldmVudC1wYXRoJyxcbiAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cy5wdXNoKGV2ZW50UGF0aCk7XG4gICAgZXZlbnRQYXRoWydrYW5kb19vYmplY3RfaWQnXSA9IGV2ZW50LmlkO1xuICAgIGV2ZW50UGF0aFsna2FuZG9fb2JqZWN0J10gPSAnRXZlbnRQYXRoJztcblxuICAgIGxldCB0YWlsRGFzaDogYW55O1xuICAgIGlmICh3aW5kb3cuTC5TeW1ib2wgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGFpbERhc2ggPSB3aW5kb3cuTC5wb2x5bGluZURlY29yYXRvcihldmVudFBhdGguX2xhdGxuZ3MsIHtcbiAgICAgICAgcGF0dGVybnM6IFtcbiAgICAgICAgICAvLyBkZWZpbmVzIGEgcGF0dGVybiBvZiAxMHB4LXdpZGUgZGFzaGVzLCByZXBlYXRlZCBldmVyeSAyMHB4IG9uIHRoZSBsaW5lXG4gICAgICAgICAge1xuICAgICAgICAgICAgb2Zmc2V0OiAyMCxcbiAgICAgICAgICAgIHJlcGVhdDogNjAsXG4gICAgICAgICAgICBzeW1ib2w6IHdpbmRvdy5MLlN5bWJvbC5hcnJvd0hlYWQoe1xuICAgICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgICBwYXRoT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYigyNTUsMjU1LDI1NSknLFxuICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICB0YWlsRGFzaFsna2FuZG9fb2JqZWN0J10gPSAnQXJyb3cnO1xuICAgIH1cblxuICAgIGV2ZW50UGF0aHNBc01hcE9iamVjdHMucHVzaCh0YWlsRGFzaCk7XG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHtcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKGV2ZW50UGF0aHNBc01hcE9iamVjdHMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50UGF0aHMoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCByZW5kZXJFdmVudFBhdGggPSAoZXZlbnQ6IElFdmVudCwgaXNIb3ZlcjogYm9vbGVhbikgPT4ge1xuICAgIGlmIChtYXAgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IGV2ZW50UGF0aHNBc01hcE9iamVjdHM6IGFueVtdID0gW107XG4gICAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgICBldmVudC5wYXRoLmZvckVhY2goKHBhdGg6IGFueSkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0X2lkICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0X2lkID09PSBwYXRoLmVkZ2VfaWQgJiZcbiAgICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnRWRnZSdcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGxldCBsYXllckxhdGxuZ3MgPSBsYXllcnNbcHJvcGVydHldLmdldExhdExuZ3MoKTtcbiAgICAgICAgICAgIGRyYXdQb2x5bGluZShldmVudCwgbGF5ZXJMYXRsbmdzLCBldmVudFBhdGhzQXNNYXBPYmplY3RzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIWlzSG92ZXIgJiYgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgbWFwLmZpdEJvdW5kcyhcbiAgICAgICAgICBMLmZlYXR1cmVHcm91cChldmVudFBhdGhzQXNNYXBPYmplY3RzKS5nZXRCb3VuZHMoKS5wYWQoMC4xKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZXZlbnRQYXRocykge1xuICAgICAgZXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgIH0pO1xuXG4gICAgICByZW5kZXJFdmVudFBhdGgoZXZlbnQsIGV2ZW50LmhvdmVyZWQpO1xuICAgIH1cbiAgfSwgW2V2ZW50LCBldmVudC5ob3ZlcmVkXSk7XG5cbiAgcmV0dXJuIDw+PC8+O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRXZlbnRQYXRoO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUdrQyxTQUFBSyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFB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
|
|
121
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFdmVudFBhdGgiLCJfcmVmIiwiZXZlbnQiLCJnbG9iYWxfZGF0YSIsIl9yZWYkZXZlbnRQYXRocyIsImV2ZW50UGF0aHMiLCJtYXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiZ3JvdXBSZWYiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwiTCIsImxheWVyR3JvdXAiLCJhZGRUbyIsImNsZWFyTGF5ZXJzIiwicmVtb3ZlTGF5ZXIiLCJkcmF3UG9seWxpbmUiLCJsYXllckxhdGxuZ3MiLCJldmVudFBhdGhzQXNNYXBPYmplY3RzIiwiZXZlbnRQYXRoIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsImNsYXNzTmFtZSIsInN0cm9rZSIsInB1c2giLCJpZCIsInRhaWxEYXNoIiwid2luZG93IiwiU3ltYm9sIiwidW5kZWZpbmVkIiwicG9seWxpbmVEZWNvcmF0b3IiLCJfbGF0bG5ncyIsInBhdHRlcm5zIiwib2Zmc2V0IiwicmVwZWF0Iiwic3ltYm9sIiwiYXJyb3dIZWFkIiwicGl4ZWxTaXplIiwicG9seWdvbiIsInBhdGhPcHRpb25zIiwib3BhY2l0eSIsImhvdmVyZWQiLCJzZXRIb3ZlcmVkRXZlbnRQYXRocyIsInNldEZvY3VzZWRFdmVudFBhdGhzIiwicmVuZGVyRXZlbnRQYXRoIiwiaXNIb3ZlciIsImxheWVycyIsIl9sYXllcnMiLCJsYXllckxvb2t1cCIsImJ1aWxkTGF5ZXJMb29rdXAiLCJwYXRoIiwiZm9yRWFjaCIsImxheWVyIiwiZWRnZV9pZCIsImdldExhdExuZ3MiLCJsZW5ndGgiLCJmaXRCb3VuZHMiLCJmZWF0dXJlR3JvdXAiLCJmaWx0ZXIiLCJCb29sZWFuIiwiZ2V0Qm91bmRzIiwicGFkIiwibG9va3VwIiwicHJvcGVydHkiLCJrYW5kb19vYmplY3RfaWQiLCJrYW5kb19vYmplY3QiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvZXZlbnRzL0V2ZW50UGF0aC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7XG4gIHNldEZvY3VzZWRFdmVudFBhdGhzLFxuICBzZXRIb3ZlcmVkRXZlbnRQYXRocyxcbn0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgZ2xvYmFsX2RhdGE6IElHbG9iYWxTdGF0ZTtcbiAgZXZlbnRQYXRocz86IGFueVtdO1xufTtcblxuY29uc3QgRXZlbnRQYXRoOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHtcbiAgZXZlbnQsXG4gIGdsb2JhbF9kYXRhLFxuICBldmVudFBhdGhzID0gW10sXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBncm91cFJlZiA9IHVzZVJlZjxMLkxheWVyR3JvdXAgfCBudWxsPihudWxsKTtcblxuICAvLyBJbml0aWFsaXplIHRoZSBncm91cCBvbmNlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG1hcCAmJiAhZ3JvdXBSZWYuY3VycmVudCkge1xuICAgICAgZ3JvdXBSZWYuY3VycmVudCA9IEwubGF5ZXJHcm91cCgpLmFkZFRvKG1hcCk7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoZ3JvdXBSZWYuY3VycmVudCkge1xuICAgICAgICBncm91cFJlZi5jdXJyZW50LmNsZWFyTGF5ZXJzKCk7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihncm91cFJlZi5jdXJyZW50KTtcbiAgICAgICAgZ3JvdXBSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW21hcF0pO1xuXG4gIGNvbnN0IGRyYXdQb2x5bGluZSA9IChcbiAgICBldmVudDogSUV2ZW50LFxuICAgIGxheWVyTGF0bG5nczogYW55LFxuICAgIGV2ZW50UGF0aHNBc01hcE9iamVjdHM6IGFueSxcbiAgKSA9PiB7XG4gICAgaWYgKCFncm91cFJlZi5jdXJyZW50KSByZXR1cm47XG5cbiAgICBsZXQgZXZlbnRQYXRoID0gTC5wb2x5bGluZShsYXllckxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiKDIzNiwxMTksMTU2KScsXG4gICAgICB3ZWlnaHQ6IDEwLFxuICAgICAgY2xhc3NOYW1lOiAnZXZlbnQtcGF0aCcsXG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgfSkuYWRkVG8oZ3JvdXBSZWYuY3VycmVudCk7XG5cbiAgICBldmVudFBhdGhzQXNNYXBPYmplY3RzLnB1c2goZXZlbnRQYXRoKTtcbiAgICBldmVudFBhdGhbJ2thbmRvX29iamVjdF9pZCddID0gZXZlbnQuaWQ7XG4gICAgZXZlbnRQYXRoWydrYW5kb19vYmplY3QnXSA9ICdFdmVudFBhdGgnO1xuXG4gICAgbGV0IHRhaWxEYXNoOiBhbnk7XG4gICAgaWYgKHdpbmRvdy5MLlN5bWJvbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0YWlsRGFzaCA9IHdpbmRvdy5MLnBvbHlsaW5lRGVjb3JhdG9yKGV2ZW50UGF0aC5fbGF0bG5ncywge1xuICAgICAgICBwYXR0ZXJuczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9mZnNldDogMjAsXG4gICAgICAgICAgICByZXBlYXQ6IDYwLFxuICAgICAgICAgICAgc3ltYm9sOiB3aW5kb3cuTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdyZ2IoMjU1LDI1NSwyNTUpJyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KS5hZGRUbyhncm91cFJlZi5jdXJyZW50KTtcbiAgICAgIHRhaWxEYXNoWydrYW5kb19vYmplY3QnXSA9ICdBcnJvdyc7XG4gICAgICBpZiAodGFpbERhc2gpIGV2ZW50UGF0aHNBc01hcE9iamVjdHMucHVzaCh0YWlsRGFzaCk7XG4gICAgICAvLyBpZiAodGFpbERhc2guYnJpbmdUb0Zyb250KSB0YWlsRGFzaC5icmluZ1RvRnJvbnQoKTtcbiAgICB9XG5cbiAgICAvLyBpZiAoZXZlbnRQYXRoLmJyaW5nVG9Gcm9udCkgZXZlbnRQYXRoLmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHtcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKGV2ZW50UGF0aHNBc01hcE9iamVjdHMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50UGF0aHMoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCByZW5kZXJFdmVudFBhdGggPSAoZXZlbnQ6IElFdmVudCwgaXNIb3ZlcjogYm9vbGVhbikgPT4ge1xuICAgIGlmIChtYXAgIT09IHVuZGVmaW5lZCAmJiBncm91cFJlZi5jdXJyZW50KSB7XG4gICAgICBncm91cFJlZi5jdXJyZW50LmNsZWFyTGF5ZXJzKCk7XG4gICAgICBsZXQgZXZlbnRQYXRoc0FzTWFwT2JqZWN0czogYW55W10gPSBbXTtcbiAgICAgIGNvbnN0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgICAgY29uc3QgbGF5ZXJMb29rdXAgPSBidWlsZExheWVyTG9va3VwKGxheWVycyk7XG5cbiAgICAgIGV2ZW50LnBhdGguZm9yRWFjaCgocGF0aDogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGxheWVyID0gbGF5ZXJMb29rdXBbcGF0aC5lZGdlX2lkXTtcbiAgICAgICAgaWYgKGxheWVyKSB7XG4gICAgICAgICAgbGV0IGxheWVyTGF0bG5ncyA9IGxheWVyLmdldExhdExuZ3MoKTtcbiAgICAgICAgICBkcmF3UG9seWxpbmUoZXZlbnQsIGxheWVyTGF0bG5ncywgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIWlzSG92ZXIgJiYgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgbWFwLmZpdEJvdW5kcyhcbiAgICAgICAgICBMLmZlYXR1cmVHcm91cChldmVudFBhdGhzQXNNYXBPYmplY3RzLmZpbHRlcihCb29sZWFuKSlcbiAgICAgICAgICAgIC5nZXRCb3VuZHMoKVxuICAgICAgICAgICAgLnBhZCgwLjEpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBidWlsZExheWVyTG9va3VwID0gKGxheWVycykgPT4ge1xuICAgIGNvbnN0IGxvb2t1cCA9IHt9O1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICBjb25zdCBsYXllciA9IGxheWVyc1twcm9wZXJ0eV07XG4gICAgICBpZiAoXG4gICAgICAgIGxheWVyLmthbmRvX29iamVjdF9pZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGxheWVyLmthbmRvX29iamVjdCA9PT0gJ0VkZ2UnXG4gICAgICApIHtcbiAgICAgICAgbG9va3VwW2xheWVyLmthbmRvX29iamVjdF9pZF0gPSBsYXllcjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGxvb2t1cDtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChldmVudFBhdGhzKSB7XG4gICAgICBldmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlbmRlckV2ZW50UGF0aChldmVudCwgZXZlbnQuaG92ZXJlZCk7XG4gICAgfVxuICB9LCBbZXZlbnQsIGV2ZW50LmhvdmVyZWRdKTtcblxuICByZXR1cm4gPD48Lz47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBFdmVudFBhdGg7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUks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
|
|
@@ -199,13 +199,11 @@ var findAndDrawEventNetworkEdges = function findAndDrawEventNetworkEdges(edges,
|
|
|
199
199
|
var edgesToDraw = [];
|
|
200
200
|
var firstEdge = getFirstEdgeOfEventPath(edges, event);
|
|
201
201
|
if (firstEdge !== undefined) {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
// findDownstreamEdgesToDraw(firstEdge, edges, downstreamNetwork, edgesToDraw);
|
|
208
|
-
findEdgesFromEventPathToDraw(edgesToDraw, event, edges);
|
|
202
|
+
var downstreamNetwork = [firstEdge];
|
|
203
|
+
var upstreamEdges = getUpstreamEdges(firstEdge, edges);
|
|
204
|
+
if (upstreamEdges === undefined) return;
|
|
205
|
+
if (upstreamEdges.length !== 0) findUpstreamEdgesToDraw(upstreamEdges, edgesToDraw, points, edges);
|
|
206
|
+
findDownstreamEdgesToDraw(firstEdge, edges, downstreamNetwork, edgesToDraw);
|
|
209
207
|
}
|
|
210
208
|
drawNetwork(edgesToDraw, points, dispatch, map, event, layerGroup, flowRateUnit);
|
|
211
209
|
};
|
|
@@ -239,4 +237,4 @@ var isCollectorUnmonitored = function isCollectorUnmonitored(point) {
|
|
|
239
237
|
// );
|
|
240
238
|
// };
|
|
241
239
|
exports.isCollectorUnmonitored = isCollectorUnmonitored;
|
|
242
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3doaXRlUG9pbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FjdGlvbnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsImRyYXdNYW5ob2xlSWNvbiIsInNvdXJjZVBvaW50IiwibWFwIiwicG9pbnRJY29uIiwiaWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJpY29uQW5jaG9yIiwibWFuaG9sZUljb24iLCJtYXJrZXIiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInJpc2VPbkhvdmVyIiwiYWRkVG8iLCJiaW5kVG9vbHRpcCIsImNvbmNhdCIsImdyb3VwIiwibmFtZSIsInNlY3Rvcl9uYW1lIiwiaWQiLCJleHBvcnRzIiwiZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGgiLCJlZGdlcyIsImV2ZW50IiwicGF0aCIsInVuZGVmaW5lZCIsImZpbmQiLCJlZGdlIiwiZWRnZV9pZCIsImZpbmRFZGdlcyIsIm5leHRVcHN0cmVhbUxldmVsSWRzIiwiZmlsdGVyIiwiaW5jbHVkZXMiLCJ0YXJnZXRfcG9pbnRfaWQiLCJyZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCIsIm5leHRMZXZlbCIsIm1hcEFsbEVkZ2VzTmVzdGluZyIsImFsbFVwc3RyZWFtRWRnZXMiLCJzb3VyY2VfcG9pbnRfaWQiLCJsZW5ndGgiLCJwdXNoIiwibWFwcGVkIiwiZm9yRWFjaCIsImdldFVwc3RyZWFtRWRnZXMiLCJmaXJzdEVkZ2UiLCJmaXJzdFVwc3RyZWFtTGV2ZWwiLCJmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyIsInVwc3RyZWFtRWRnZXMiLCJlZGdlc1RvRHJhdyIsInBvaW50cyIsInVwc3RyZWFtRWRnZSIsInBvaW50IiwiY29ubmVjdGlvbkVkZ2VzIiwiZmluZERvd25zdHJlYW1FZGdlc1RvRHJhdyIsImRvd25zdHJlYW1OZXR3b3JrIiwicmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaCIsImRvd25TdHJlYW1FZGdlIiwibGFzdERvd25TdHJlYW1FZGdlIiwibmV4dExldmVsRG93blN0cmVhbSIsImZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXciLCJwYXJ0IiwibWF0Y2hlZFBhcnQiLCJkcmF3TmV0d29yayIsImRpc3BhdGNoIiwibGF5ZXJHcm91cCIsImZsb3dSYXRlVW5pdCIsImxhdGxuZ3MiLCJzaGFwZV9kYXRhIiwiZGF0YSIsImxhdCIsImxuZyIsInBvbHlsaW5lQmFjayIsInBvbHlsaW5lIiwiY29sb3IiLCJ3ZWlnaHQiLCJvcGFjaXR5IiwidGFpbERhc2giLCJ3aW5kb3ciLCJTeW1ib2wiLCJwb2x5bGluZURlY29yYXRvciIsIl9sYXRsbmdzIiwicGF0dGVybnMiLCJvZmZzZXQiLCJyZXBlYXQiLCJzeW1ib2wiLCJhcnJvd0hlYWQiLCJwaXhlbFNpemUiLCJwb2x5Z29uIiwicGF0aE9wdGlvbnMiLCJzdHJva2UiLCJhZGRMYXllciIsImhvdmVyZWQiLCJmb2N1c2VkIiwiYnJpbmdUb0Zyb250IiwicG9seWxpbmVGcm9udCIsInNldEhvdmVyZWRFZGdlUGF0aHMiLCJwb2ludEZpbmRlciIsInRhcmdldFBvaW50IiwiYmluZFBvcHVwIiwiZGlzdGFuY2UiLCJkZXNpcmVkUG9pbnRJZCIsImRlc2lyZWRQb2ludCIsImZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMiLCJwb2ludElzT2JzZXJ2YXRpb24iLCJvYnNlcnZhdGlvbnMiLCJvYnMiLCJwb2ludF9pZCIsInBvaW50SXNDb2xsZWN0b3IiLCJ0eXBlIiwiaXNDb2xsZWN0b3JVbm1vbml0b3JlZCIsImhhc19kZXZpY2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvZXZlbnRzL0V2ZW50VXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnc3JjL3V0aWxpdGllcy9wb2x5bGluZWRlY29yYXRvcic7XG5pbXBvcnQgd2hpdGVQb2ludCBmcm9tICcuLi8uLi8uLi9hc3NldHMvd2hpdGUtcG9pbnQucG5nJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBkcmF3TWFuaG9sZUljb24gPSAoc291cmNlUG9pbnQ6IElQb2ludCwgbWFwOiBMLk1hcCkgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgaWNvbkFuY2hvcjogWzQuNSwgNC41XSxcbiAgfSk7XG5cbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihcbiAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAge1xuICAgICAgaWNvbjogcG9pbnRJY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gICAgfSxcbiAgKS5hZGRUbyhtYXApO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChcbiAgICBgJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSAoJHtzb3VyY2VQb2ludC5ncm91cC5zZWN0b3JfbmFtZX0pYCxcbiAgKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gc291cmNlUG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdVcHN0cmVhbVBvaW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCA9IChlZGdlczogSUVkZ2VbXSwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBpZiAoZXZlbnQucGF0aFswXSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBldmVudC5wYXRoWzBdLmVkZ2VfaWQpO1xufTtcblxuY29uc3QgZmluZEVkZ2VzID0gKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKChlZGdlOiBJRWRnZSkgPT5cbiAgICBuZXh0VXBzdHJlYW1MZXZlbElkcy5pbmNsdWRlcyhlZGdlLnRhcmdldF9wb2ludF9pZCksXG4gICk7XG59O1xuXG5jb25zdCByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCA9IChcbiAgbmV4dExldmVsLFxuICBlZGdlcyxcbiAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICBhbGxVcHN0cmVhbUVkZ2VzLFxuKSA9PiB7XG4gIGxldCBuZXh0VXBzdHJlYW1MZXZlbElkcyA9IG5leHRMZXZlbC5tYXAoKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgaWYgKGZpbmRFZGdlcyhlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoW25leHRMZXZlbF0pO1xuICB9IGVsc2Uge1xuICAgIGFsbFVwc3RyZWFtRWRnZXMucHVzaChmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSk7XG4gICAgcmVjdXJzaXZlVXBzdHJlYW1TZWFyY2goXG4gICAgICBmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSxcbiAgICAgIGVkZ2VzLFxuICAgICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG1hcEFsbEVkZ2VzTmVzdGluZyhhbGxVcHN0cmVhbUVkZ2VzKTtcbn07XG5cbmNvbnN0IG1hcEFsbEVkZ2VzTmVzdGluZyA9IChhbGxVcHN0cmVhbUVkZ2VzKSA9PiB7XG4gIGxldCBtYXBwZWQ6IGFueVtdID0gW107XG4gIGFsbFVwc3RyZWFtRWRnZXMuZm9yRWFjaCgoZWRnZXMpID0+IHtcbiAgICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgICBtYXBwZWQucHVzaChlZGdlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1hcHBlZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVcHN0cmVhbUVkZ2VzID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIGxldCBhbGxVcHN0cmVhbUVkZ2VzOiBhbnlbXSA9IFtdO1xuICBsZXQgZmlyc3RVcHN0cmVhbUxldmVsOiBJRWRnZVtdID0gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnRhcmdldF9wb2ludF9pZCA9PT0gZmlyc3RFZGdlPy5zb3VyY2VfcG9pbnRfaWQsXG4gICk7XG5cbiAgcmV0dXJuIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgIGZpcnN0VXBzdHJlYW1MZXZlbCxcbiAgICBlZGdlcyxcbiAgICBtYXBBbGxFZGdlc05lc3RpbmcsXG4gICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyA9IChcbiAgdXBzdHJlYW1FZGdlczogSUVkZ2VbXSxcbiAgZWRnZXNUb0RyYXc6IElFZGdlW10sXG4gIHBvaW50czogSVBvaW50W10sXG4gIGVkZ2VzOiBJRWRnZVtdLFxuKSA9PiB7XG4gIHVwc3RyZWFtRWRnZXMuZm9yRWFjaCgodXBzdHJlYW1FZGdlKSA9PiB7XG4gICAgaWYgKHVwc3RyZWFtRWRnZSkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludCkgPT4gcG9pbnQuaWQgPT09IHVwc3RyZWFtRWRnZSEuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHNvdXJjZVBvaW50KSBlZGdlc1RvRHJhdy5wdXNoKHVwc3RyZWFtRWRnZSk7XG5cbiAgICAgIGxldCBjb25uZWN0aW9uRWRnZXMgPSBlZGdlcy5maWx0ZXIoXG4gICAgICAgIChlZGdlKSA9PiBlZGdlPy5zb3VyY2VfcG9pbnRfaWQgPT09IHVwc3RyZWFtRWRnZSEudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKGNvbm5lY3Rpb25FZGdlcy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgY29ubmVjdGlvbkVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IGVkZ2VzVG9EcmF3LnB1c2goZWRnZSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGVkZ2VzVG9EcmF3O1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmREb3duc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIGZpcnN0RWRnZTogSUVkZ2UsXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBkb3duc3RyZWFtTmV0d29yayxcbiAgZWRnZXNUb0RyYXcsXG4pID0+IHtcbiAgcmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaChkb3duc3RyZWFtTmV0d29yaywgZWRnZXMpLmZvckVhY2goXG4gICAgKGRvd25TdHJlYW1FZGdlKSA9PiB7XG4gICAgICBlZGdlc1RvRHJhdy5wdXNoKGRvd25TdHJlYW1FZGdlKTtcbiAgICB9LFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2ggPSAoXG4gIGRvd25zdHJlYW1OZXR3b3JrOiBJRWRnZVtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBsZXQgbGFzdERvd25TdHJlYW1FZGdlID0gZG93bnN0cmVhbU5ldHdvcmtbZG93bnN0cmVhbU5ldHdvcmsubGVuZ3RoIC0gMV07XG5cbiAgaWYgKG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGRvd25zdHJlYW1OZXR3b3JrO1xuICB9IGVsc2Uge1xuICAgIG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgZG93bnN0cmVhbU5ldHdvcmsucHVzaChlZGdlKTtcbiAgICAgIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbn07XG5cbmV4cG9ydCBjb25zdCBuZXh0TGV2ZWxEb3duU3RyZWFtID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIHJldHVybiBlZGdlcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBmaXJzdEVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXcgPSAoXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBldmVudC5wYXRoLmZvckVhY2goKHBhcnQpID0+IHtcbiAgICBsZXQgbWF0Y2hlZFBhcnQgPSBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBwYXJ0LmVkZ2VfaWQpO1xuICAgIGlmIChtYXRjaGVkUGFydCAhPT0gdW5kZWZpbmVkKSBlZGdlc1RvRHJhdy5wdXNoKG1hdGNoZWRQYXJ0KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZHJhd05ldHdvcmsgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuICBldmVudCxcbiAgbGF5ZXJHcm91cCxcbiAgZmxvd1JhdGVVbml0LFxuKSA9PiB7XG4gIGxldCBsYXRsbmdzOiBhbnkgPSBbXTtcbiAgZWRnZXMuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgIGVkZ2Uuc2hhcGVfZGF0YS5mb3JFYWNoKChkYXRhOiBhbnkpID0+IHtcbiAgICAgIGxhdGxuZ3MucHVzaChbZGF0YS5sYXQsIGRhdGEubG5nXSk7XG4gICAgfSk7XG5cbiAgICBsZXQgcG9seWxpbmVCYWNrOiBhbnkgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiKDIyNywyMjcsMjI3KScsXG4gICAgICB3ZWlnaHQ6IDEsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgIH0pO1xuXG4gICAgbGV0IHRhaWxEYXNoOiBhbnk7XG5cbiAgICBpZiAod2luZG93LkwuU3ltYm9sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRhaWxEYXNoID0gd2luZG93LkwucG9seWxpbmVEZWNvcmF0b3IocG9seWxpbmVCYWNrLl9sYXRsbmdzLCB7XG4gICAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgICAgLy8gZGVmaW5lcyBhIHBhdHRlcm4gb2YgMTBweC13aWRlIGRhc2hlcywgcmVwZWF0ZWQgZXZlcnkgMjBweCBvbiB0aGUgbGluZVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9mZnNldDogMjAsXG4gICAgICAgICAgICByZXBlYXQ6IDYwLFxuICAgICAgICAgICAgc3ltYm9sOiB3aW5kb3cuTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY29sb3I6ICcjNTU1JyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgICB0YWlsRGFzaFsna2FuZG9fb2JqZWN0J10gPSAnRGVjb3JhdG9yJztcbiAgICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIodGFpbERhc2gpO1xuICAgIH1cblxuICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKSBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdCddID0gJ0hvdmVyZWRFZGdlJztcbiAgICBpZiAoZXZlbnQuZm9jdXNlZCkgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdGb2N1c2VkRWRnZSc7XG4gICAgaWYgKG1hcCAhPT0gbnVsbCkgbGF5ZXJHcm91cC5hZGRMYXllcihwb2x5bGluZUJhY2spO1xuICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcbiAgICBpZiAoTC5TeW1ib2wgIT09IHVuZGVmaW5lZCkgdGFpbERhc2guYnJpbmdUb0Zyb250KCk7XG5cbiAgICBsZXQgcG9seWxpbmVGcm9udDogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyOSwyOSwyOSknLFxuICAgICAgd2VpZ2h0OiAxLFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KTtcblxuICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnSG92ZXJlZEVkZ2VGcm9udCc7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0ZvY3VzZWRFZGdlRnJvbnQnO1xuICAgIGlmIChtYXAgIT09IG51bGwpIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9seWxpbmVGcm9udCk7XG4gICAgcG9seWxpbmVCYWNrLmFkZFRvKG1hcCk7XG4gICAgcG9seWxpbmVGcm9udC5hZGRUbyhtYXApO1xuXG4gICAgcG9seWxpbmVGcm9udC5icmluZ1RvRnJvbnQoKTtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZClcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICBsYXRsbmdzID0gW107XG5cbiAgICBpZiAocG9pbnRzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50OiBJUG9pbnQgPSBwb2ludEZpbmRlcihwb2ludHMsIGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgICAgIGxldCB0YXJnZXRQb2ludDogSVBvaW50ID0gcG9pbnRGaW5kZXIocG9pbnRzLCBlZGdlLnRhcmdldF9wb2ludF9pZCk7XG4gICAgICBpZiAoc291cmNlUG9pbnQgIT09IHVuZGVmaW5lZCAmJiB0YXJnZXRQb2ludCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHBvbHlsaW5lQmFjay5iaW5kUG9wdXAoYEVkZ2UgSUQ6ICR7ZWRnZS5pZH0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UgcG9pbnQ6ICR7c291cmNlUG9pbnQuZ3JvdXAubmFtZX0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQgcG9pbnQ6ICR7dGFyZ2V0UG9pbnQuZ3JvdXAubmFtZX0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3RhbmNlOiAke2VkZ2UuZGlzdGFuY2V9YCk7XG4gICAgICB9XG4gICAgICAvLyBjcmVhdGVQb2ludExvZ2ljKHNvdXJjZVBvaW50LCBtYXAsIGxheWVyR3JvdXAsIGZsb3dSYXRlVW5pdCk7XG4gICAgICAvLyBpZiAoZWRnZXNbZWRnZXMubGVuZ3RoIC0gMV0udGFyZ2V0X3BvaW50X2lkID09PSBlZGdlLnRhcmdldF9wb2ludF9pZCkge1xuICAgICAgLy8gICBjcmVhdGVQb2ludExvZ2ljKHRhcmdldFBvaW50LCBtYXAsIGxheWVyR3JvdXApO1xuICAgICAgLy8gfVxuICAgIH1cbiAgfSk7XG59O1xuXG5jb25zdCBwb2ludEZpbmRlciA9IChwb2ludHMsIGRlc2lyZWRQb2ludElkKSA9PiB7XG4gIGxldCBkZXNpcmVkUG9pbnQ6IElQb2ludCA9IHBvaW50cy5maW5kKFxuICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZGVzaXJlZFBvaW50SWQsXG4gICk7XG5cbiAgcmV0dXJuIGRlc2lyZWRQb2ludDtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzID0gKFxuICBlZGdlczogSUVkZ2VbXSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZGlzcGF0Y2gsXG4gIG1hcCxcbiAgbGF5ZXJHcm91cCxcbiAgZmxvd1JhdGVVbml0LFxuKSA9PiB7XG4gIGxldCBlZGdlc1RvRHJhdzogSUVkZ2VbXSA9IFtdO1xuICBsZXQgZmlyc3RFZGdlID0gZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGgoZWRnZXMsIGV2ZW50KTtcblxuICBpZiAoZmlyc3RFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAvLyBsZXQgZG93bnN0cmVhbU5ldHdvcms6IElFZGdlW10gPSBbZmlyc3RFZGdlXTtcbiAgICAvLyBsZXQgdXBzdHJlYW1FZGdlcyA9IGdldFVwc3RyZWFtRWRnZXMoZmlyc3RFZGdlLCBlZGdlcyk7XG4gICAgLy8gaWYgKHVwc3RyZWFtRWRnZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgIC8vIGlmICh1cHN0cmVhbUVkZ2VzLmxlbmd0aCAhPT0gMClcbiAgICAvLyAgIGZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3KHVwc3RyZWFtRWRnZXMsIGVkZ2VzVG9EcmF3LCBwb2ludHMsIGVkZ2VzKTtcbiAgICAvLyBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3KGZpcnN0RWRnZSwgZWRnZXMsIGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlc1RvRHJhdyk7XG4gICAgZmluZEVkZ2VzRnJvbUV2ZW50UGF0aFRvRHJhdyhlZGdlc1RvRHJhdywgZXZlbnQsIGVkZ2VzKTtcbiAgfVxuXG4gIGRyYXdOZXR3b3JrKFxuICAgIGVkZ2VzVG9EcmF3LFxuICAgIHBvaW50cyxcbiAgICBkaXNwYXRjaCxcbiAgICBtYXAsXG4gICAgZXZlbnQsXG4gICAgbGF5ZXJHcm91cCxcbiAgICBmbG93UmF0ZVVuaXQsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc09ic2VydmF0aW9uID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIGV2ZW50Lm9ic2VydmF0aW9ucy5maW5kKChvYnMpID0+IG9icy5wb2ludF9pZCA9PT0gcG9pbnQuaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNDb2xsZWN0b3IgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6Q29sbGVjdG9ycyc7XG59O1xuXG5leHBvcnQgY29uc3QgaXNDb2xsZWN0b3JVbm1vbml0b3JlZCA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBwb2ludElzQ29sbGVjdG9yKHBvaW50KSAmJiAhcG9pbnQuaGFzX2RldmljZTtcbn07XG5cbi8vIGNvbnN0IGNyZWF0ZVBvaW50TG9naWMgPSAocG9pbnQ6IElQb2ludCwgbWFwLCBsYXllckdyb3VwLCBmbG93UmF0ZVVuaXQpID0+IHtcbi8vICAgaWYgKGlzQ29sbGVjdG9yVW5tb25pdG9yZWQocG9pbnQpKSB7XG4vLyAgICAgcmV0dXJuO1xuLy8gICB9XG5cbi8vICAgY3JlYXRlQnViYmxlUG9pbnQoXG4vLyAgICAgW3BvaW50LmxhdGl0dWRlLCBwb2ludC5sb25naXR1ZGVdLFxuLy8gICAgIHBvaW50LFxuLy8gICAgIG1hcCxcbi8vICAgICBudWxsLFxuLy8gICAgIGxheWVyR3JvdXAsXG4vLyAgICAgZmxvd1JhdGVVbml0LFxuLy8gICApO1xuLy8gfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxDQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUlBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUFvRSxTQUFBSSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQU4sd0JBQUFVLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFmLEdBQUEsRUFBQVksR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVgsR0FBQSxFQUFBWSxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFaLEdBQUEsQ0FBQVksR0FBQSxTQUFBTCxNQUFBLENBQUFKLE9BQUEsR0FBQUgsR0FBQSxNQUFBSSxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBakIsR0FBQSxFQUFBTyxNQUFBLFlBQUFBLE1BQUE7QUFFN0QsSUFBTVcsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFJQyxXQUFtQixFQUFFQyxHQUFVLEVBQUs7RUFDbEUsSUFBSUMsU0FBUyxHQUFHaEMsQ0FBQyxDQUFDaUMsSUFBSSxDQUFDO0lBQ3JCQyxPQUFPLEVBQUVDLG1CQUFVO0lBQ25CQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hCQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRztFQUN2QixDQUFDLENBQUM7RUFFRixJQUFJQyxXQUFnQixHQUFHdEMsQ0FBQyxDQUFDdUMsTUFBTSxDQUM3QixDQUFDVCxXQUFXLENBQUNVLFFBQVEsRUFBRVYsV0FBVyxDQUFDVyxTQUFTLENBQUMsRUFDN0M7SUFDRVIsSUFBSSxFQUFFRCxTQUFTO0lBQ2ZVLFdBQVcsRUFBRTtFQUNmLENBQ0YsQ0FBQyxDQUFDQyxLQUFLLENBQUNaLEdBQUcsQ0FBQztFQUNaTyxXQUFXLENBQUNNLFdBQVcsSUFBQUMsTUFBQSxDQUNsQmYsV0FBVyxDQUFDZ0IsS0FBSyxDQUFDQyxJQUFJLFFBQUFGLE1BQUEsQ0FBS2YsV0FBVyxDQUFDZ0IsS0FBSyxDQUFDRSxXQUFXLE1BQzdELENBQUM7RUFDRFYsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEdBQUdSLFdBQVcsQ0FBQ21CLEVBQUU7RUFDL0NYLFdBQVcsQ0FBQyxjQUFjLENBQUMsR0FBRyxlQUFlO0FBQy9DLENBQUM7QUFBQ1ksT0FBQSxDQUFBckIsZUFBQSxHQUFBQSxlQUFBO0FBRUssSUFBTXNCLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQUlDLEtBQWMsRUFBRUMsS0FBYSxFQUFLO0VBQ3hFLElBQUlBLEtBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLQyxTQUFTLEVBQUU7RUFDakMsT0FBT0gsS0FBSyxDQUFDSSxJQUFJLENBQUMsVUFBQ0MsSUFBSTtJQUFBLE9BQUtBLElBQUksQ0FBQ1IsRUFBRSxLQUFLSSxLQUFLLENBQUNDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQ0ksT0FBTztFQUFBLEVBQUM7QUFDaEUsQ0FBQztBQUFDUixPQUFBLENBQUFDLHVCQUFBLEdBQUFBLHVCQUFBO0FBRUYsSUFBTVEsU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUlQLEtBQUssRUFBRVEsb0JBQW9CLEVBQUs7RUFDakQsT0FBT1IsS0FBSyxDQUFDUyxNQUFNLENBQUMsVUFBQ0osSUFBVztJQUFBLE9BQzlCRyxvQkFBb0IsQ0FBQ0UsUUFBUSxDQUFDTCxJQUFJLENBQUNNLGVBQWUsQ0FBQztFQUFBLENBQ3JELENBQUM7QUFDSCxDQUFDO0FBRUQsSUFBTUMsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUF1QkEsQ0FDM0JDLFNBQVMsRUFDVGIsS0FBSyxFQUNMYyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNiO0VBQ0gsSUFBSVAsb0JBQW9CLEdBQUdLLFNBQVMsQ0FBQ2xDLEdBQUcsQ0FBQyxVQUFDMEIsSUFBSTtJQUFBLE9BQUtBLElBQUksQ0FBQ1csZUFBZTtFQUFBLEVBQUM7RUFDeEUsSUFBSVQsU0FBUyxDQUFDUCxLQUFLLEVBQUVRLG9CQUFvQixDQUFDLENBQUNTLE1BQU0sS0FBSyxDQUFDLEVBQUU7SUFDdkQsT0FBT0gsa0JBQWtCLENBQUMsQ0FBQ0QsU0FBUyxDQUFDLENBQUM7RUFDeEMsQ0FBQyxNQUFNO0lBQ0xFLGdCQUFnQixDQUFDRyxJQUFJLENBQUNYLFNBQVMsQ0FBQ1AsS0FBSyxFQUFFUSxvQkFBb0IsQ0FBQyxDQUFDO0lBQzdESSx1QkFBdUIsQ0FDckJMLFNBQVMsQ0FBQ1AsS0FBSyxFQUFFUSxvQkFBb0IsQ0FBQyxFQUN0Q1IsS0FBSyxFQUNMYyxrQkFBa0IsRUFDbEJDLGdCQUNGLENBQUM7RUFDSDtFQUVBLE9BQU9ELGtCQUFrQixDQUFDQyxnQkFBZ0IsQ0FBQztBQUM3QyxDQUFDO0FBRUQsSUFBTUQsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSUMsZ0JBQWdCLEVBQUs7RUFDL0MsSUFBSUksTUFBYSxHQUFHLEVBQUU7RUFDdEJKLGdCQUFnQixDQUFDSyxPQUFPLENBQUMsVUFBQ3BCLEtBQUssRUFBSztJQUNsQ0EsS0FBSyxDQUFDb0IsT0FBTyxDQUFDLFVBQUNmLElBQUksRUFBSztNQUN0QmMsTUFBTSxDQUFDRCxJQUFJLENBQUNiLElBQUksQ0FBQztJQUNuQixDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7RUFFRixPQUFPYyxNQUFNO0FBQ2YsQ0FBQztBQUVNLElBQU1FLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUlDLFNBQWdCLEVBQUV0QixLQUFjLEVBQUs7RUFDcEUsSUFBSWUsZ0JBQXVCLEdBQUcsRUFBRTtFQUNoQyxJQUFJUSxrQkFBMkIsR0FBR3ZCLEtBQUssQ0FBQ1MsTUFBTSxDQUM1QyxVQUFDSixJQUFJO0lBQUEsT0FBS0EsSUFBSSxDQUFDTSxlQUFlLE1BQUtXLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFTixlQUFlO0VBQUEsQ0FDL0QsQ0FBQztFQUVELE9BQU9KLHVCQUF1QixDQUM1Qlcsa0JBQWtCLEVBQ2xCdkIsS0FBSyxFQUNMYyxrQkFBa0IsRUFDbEJDLGdCQUNGLENBQUM7QUFDSCxDQUFDO0FBQUNqQixPQUFBLENBQUF1QixnQkFBQSxHQUFBQSxnQkFBQTtBQUVLLElBQU1HLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQ2xDQyxhQUFzQixFQUN0QkMsV0FBb0IsRUFDcEJDLE1BQWdCLEVBQ2hCM0IsS0FBYyxFQUNYO0VBQ0h5QixhQUFhLENBQUNMLE9BQU8sQ0FBQyxVQUFDUSxZQUFZLEVBQUs7SUFDdEMsSUFBSUEsWUFBWSxFQUFFO01BQ2hCLElBQUlsRCxXQUFXLEdBQUdpRCxNQUFNLENBQUN2QixJQUFJLENBQzNCLFVBQUN5QixLQUFLO1FBQUEsT0FBS0EsS0FBSyxDQUFDaEMsRUFBRSxLQUFLK0IsWUFBWSxDQUFFWixlQUFlO01BQUEsQ0FDdkQsQ0FBQztNQUVELElBQUl0QyxXQUFXLEVBQUVnRCxXQUFXLENBQUNSLElBQUksQ0FBQ1UsWUFBWSxDQUFDO01BRS9DLElBQUlFLGVBQWUsR0FBRzlCLEtBQUssQ0FBQ1MsTUFBTSxDQUNoQyxVQUFDSixJQUFJO1FBQUEsT0FBSyxDQUFBQSxJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRVcsZUFBZSxNQUFLWSxZQUFZLENBQUVqQixlQUFlO01BQUEsQ0FDbkUsQ0FBQztNQUVELElBQUltQixlQUFlLENBQUNiLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDaENhLGVBQWUsQ0FBQ1YsT0FBTyxDQUFDLFVBQUNmLElBQUk7VUFBQSxPQUFLcUIsV0FBVyxDQUFDUixJQUFJLENBQUNiLElBQUksQ0FBQztRQUFBLEVBQUM7TUFDM0Q7SUFDRjtFQUNGLENBQUMsQ0FBQztFQUVGLE9BQU9xQixXQUFXO0FBQ3BCLENBQUM7QUFBQzVCLE9BQUEsQ0FBQTBCLHVCQUFBLEdBQUFBLHVCQUFBO0FBRUssSUFBTU8seUJBQXlCLEdBQUcsU0FBNUJBLHlCQUF5QkEsQ0FDcENULFNBQWdCLEVBQ2hCdEIsS0FBYyxFQUNkZ0MsaUJBQWlCLEVBQ2pCTixXQUFXLEVBQ1I7RUFDSE8seUJBQXlCLENBQUNELGlCQUFpQixFQUFFaEMsS0FBSyxDQUFDLENBQUNvQixPQUFPLENBQ3pELFVBQUNjLGNBQWMsRUFBSztJQUNsQlIsV0FBVyxDQUFDUixJQUFJLENBQUNnQixjQUFjLENBQUM7RUFDbEMsQ0FDRixDQUFDO0FBQ0gsQ0FBQztBQUFDcEMsT0FBQSxDQUFBaUMseUJBQUEsR0FBQUEseUJBQUE7QUFFSyxJQUFNRSx5QkFBeUIsR0FBRyxTQUE1QkEseUJBQXlCQSxDQUNwQ0QsaUJBQTBCLEVBQzFCaEMsS0FBYyxFQUNYO0VBQ0gsSUFBSW1DLGtCQUFrQixHQUFHSCxpQkFBaUIsQ0FBQ0EsaUJBQWlCLENBQUNmLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFFeEUsSUFBSW1CLG1CQUFtQixDQUFDRCxrQkFBa0IsRUFBRW5DLEtBQUssQ0FBQyxDQUFDaUIsTUFBTSxLQUFLLENBQUMsRUFBRTtJQUMvRCxPQUFPZSxpQkFBaUI7RUFDMUIsQ0FBQyxNQUFNO0lBQ0xJLG1CQUFtQixDQUFDRCxrQkFBa0IsRUFBRW5DLEtBQUssQ0FBQyxDQUFDb0IsT0FBTyxDQUFDLFVBQUNmLElBQUksRUFBSztNQUMvRDJCLGlCQUFpQixDQUFDZCxJQUFJLENBQUNiLElBQUksQ0FBQztNQUM1QjRCLHlCQUF5QixDQUFDRCxpQkFBaUIsRUFBRWhDLEtBQUssQ0FBQztJQUNyRCxDQUFDLENBQUM7RUFDSjtFQUVBLE9BQU9nQyxpQkFBaUI7QUFDMUIsQ0FBQztBQUFDbEMsT0FBQSxDQUFBbUMseUJBQUEsR0FBQUEseUJBQUE7QUFFSyxJQUFNRyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFJZCxTQUFnQixFQUFFdEIsS0FBYyxFQUFLO0VBQ3ZFLE9BQU9BLEtBQUssQ0FBQ1MsTUFBTSxDQUNqQixVQUFDSixJQUFJO0lBQUEsT0FBS0EsSUFBSSxDQUFDVyxlQUFlLEtBQUtNLFNBQVMsQ0FBQ1gsZUFBZTtFQUFBLENBQzlELENBQUM7QUFDSCxDQUFDO0FBQUNiLE9BQUEsQ0FBQXNDLG1CQUFBLEdBQUFBLG1CQUFBO0FBRUssSUFBTUMsNEJBQTRCLEdBQUcsU0FBL0JBLDRCQUE0QkEsQ0FDdkNYLFdBQW9CLEVBQ3BCekIsS0FBYSxFQUNiRCxLQUFjLEVBQ1g7RUFDSEMsS0FBSyxDQUFDQyxJQUFJLENBQUNrQixPQUFPLENBQUMsVUFBQ2tCLElBQUksRUFBSztJQUMzQixJQUFJQyxXQUFXLEdBQUd2QyxLQUFLLENBQUNJLElBQUksQ0FBQyxVQUFDQyxJQUFJO01BQUEsT0FBS0EsSUFBSSxDQUFDUixFQUFFLEtBQUt5QyxJQUFJLENBQUNoQyxPQUFPO0lBQUEsRUFBQztJQUNoRSxJQUFJaUMsV0FBVyxLQUFLcEMsU0FBUyxFQUFFdUIsV0FBVyxDQUFDUixJQUFJLENBQUNxQixXQUFXLENBQUM7RUFDOUQsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDekMsT0FBQSxDQUFBdUMsNEJBQUEsR0FBQUEsNEJBQUE7QUFFSyxJQUFNRyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FDdEJ4QyxLQUFjLEVBQ2QyQixNQUFnQixFQUNoQmMsUUFBUSxFQUNSOUQsR0FBRyxFQUNIc0IsS0FBSyxFQUNMeUMsVUFBVSxFQUNWQyxZQUFZLEVBQ1Q7RUFDSCxJQUFJQyxPQUFZLEdBQUcsRUFBRTtFQUNyQjVDLEtBQUssQ0FBQ29CLE9BQU8sQ0FBQyxVQUFDZixJQUFJLEVBQUs7SUFDdEJBLElBQUksQ0FBQ3dDLFVBQVUsQ0FBQ3pCLE9BQU8sQ0FBQyxVQUFDMEIsSUFBUyxFQUFLO01BQ3JDRixPQUFPLENBQUMxQixJQUFJLENBQUMsQ0FBQzRCLElBQUksQ0FBQ0MsR0FBRyxFQUFFRCxJQUFJLENBQUNFLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUMsQ0FBQztJQUVGLElBQUlDLFlBQWlCLEdBQUdyRyxDQUFDLENBQUNzRyxRQUFRLENBQUNOLE9BQU8sRUFBRTtNQUMxQ08sS0FBSyxFQUFFLGtCQUFrQjtNQUN6QkMsTUFBTSxFQUFFLENBQUM7TUFDVEMsT0FBTyxFQUFFO0lBQ1gsQ0FBQyxDQUFDO0lBRUYsSUFBSUMsUUFBYTtJQUVqQixJQUFJQyxNQUFNLENBQUMzRyxDQUFDLENBQUM0RyxNQUFNLEtBQUtyRCxTQUFTLEVBQUU7TUFDakNtRCxRQUFRLEdBQUdDLE1BQU0sQ0FBQzNHLENBQUMsQ0FBQzZHLGlCQUFpQixDQUFDUixZQUFZLENBQUNTLFFBQVEsRUFBRTtRQUMzREMsUUFBUSxFQUFFO1FBQ1I7UUFDQTtVQUNFQyxNQUFNLEVBQUUsRUFBRTtVQUNWQyxNQUFNLEVBQUUsRUFBRTtVQUNWQyxNQUFNLEVBQUVQLE1BQU0sQ0FBQzNHLENBQUMsQ0FBQzRHLE1BQU0sQ0FBQ08sU0FBUyxDQUFDO1lBQ2hDQyxTQUFTLEVBQUUsQ0FBQztZQUNaQyxPQUFPLEVBQUUsS0FBSztZQUNkQyxXQUFXLEVBQUU7Y0FDWEMsTUFBTSxFQUFFLElBQUk7Y0FDWmhCLEtBQUssRUFBRSxNQUFNO2NBQ2JDLE1BQU0sRUFBRTtZQUNWO1VBQ0YsQ0FBQztRQUNILENBQUM7TUFFTCxDQUFDLENBQUM7TUFDRkUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLFdBQVc7TUFDdENaLFVBQVUsQ0FBQzBCLFFBQVEsQ0FBQ2QsUUFBUSxDQUFDO0lBQy9CO0lBRUFMLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHNUMsSUFBSSxDQUFDUixFQUFFO0lBQ3pDLElBQUlJLEtBQUssQ0FBQ29FLE9BQU8sRUFBRXBCLFlBQVksQ0FBQyxjQUFjLENBQUMsR0FBRyxhQUFhO0lBQy9ELElBQUloRCxLQUFLLENBQUNxRSxPQUFPLEVBQUVyQixZQUFZLENBQUMsY0FBYyxDQUFDLEdBQUcsYUFBYTtJQUMvRCxJQUFJdEUsR0FBRyxLQUFLLElBQUksRUFBRStELFVBQVUsQ0FBQzBCLFFBQVEsQ0FBQ25CLFlBQVksQ0FBQztJQUNuREEsWUFBWSxDQUFDc0IsWUFBWSxDQUFDLENBQUM7SUFDM0IsSUFBSTNILENBQUMsQ0FBQzRHLE1BQU0sS0FBS3JELFNBQVMsRUFBRW1ELFFBQVEsQ0FBQ2lCLFlBQVksQ0FBQyxDQUFDO0lBRW5ELElBQUlDLGFBQWtCLEdBQUc1SCxDQUFDLENBQUNzRyxRQUFRLENBQUNOLE9BQU8sRUFBRTtNQUMzQ08sS0FBSyxFQUFFLGVBQWU7TUFDdEJDLE1BQU0sRUFBRSxDQUFDO01BQ1RDLE9BQU8sRUFBRTtJQUNYLENBQUMsQ0FBQztJQUVGbUIsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEdBQUduRSxJQUFJLENBQUNSLEVBQUU7SUFDMUMsSUFBSUksS0FBSyxDQUFDb0UsT0FBTyxFQUFFRyxhQUFhLENBQUMsY0FBYyxDQUFDLEdBQUcsa0JBQWtCO0lBQ3JFLElBQUl2RSxLQUFLLENBQUNxRSxPQUFPLEVBQUVFLGFBQWEsQ0FBQyxjQUFjLENBQUMsR0FBRyxrQkFBa0I7SUFDckUsSUFBSTdGLEdBQUcsS0FBSyxJQUFJLEVBQUUrRCxVQUFVLENBQUMwQixRQUFRLENBQUNJLGFBQWEsQ0FBQztJQUNwRHZCLFlBQVksQ0FBQzFELEtBQUssQ0FBQ1osR0FBRyxDQUFDO0lBQ3ZCNkYsYUFBYSxDQUFDakYsS0FBSyxDQUFDWixHQUFHLENBQUM7SUFFeEI2RixhQUFhLENBQUNELFlBQVksQ0FBQyxDQUFDO0lBQzVCLElBQUl0RSxLQUFLLENBQUNvRSxPQUFPLEVBQ2Y1QixRQUFRLENBQUMsSUFBQWdDLDRCQUFtQixFQUFDLENBQUN4QixZQUFZLEVBQUV1QixhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQzlENUIsT0FBTyxHQUFHLEVBQUU7SUFFWixJQUFJakIsTUFBTSxDQUFDVixNQUFNLEtBQUssQ0FBQyxFQUFFO01BQ3ZCLElBQUl2QyxXQUFtQixHQUFHZ0csV0FBVyxDQUFDL0MsTUFBTSxFQUFFdEIsSUFBSSxDQUFDVyxlQUFlLENBQUM7TUFDbkUsSUFBSTJELFdBQW1CLEdBQUdELFdBQVcsQ0FBQy9DLE1BQU0sRUFBRXRCLElBQUksQ0FBQ00sZUFBZSxDQUFDO01BQ25FLElBQUlqQyxXQUFXLEtBQUt5QixTQUFTLElBQUl3RSxXQUFXLEtBQUt4RSxTQUFTLEVBQUU7UUFDMUQ4QyxZQUFZLENBQUMyQixTQUFTLGFBQUFuRixNQUFBLENBQWFZLElBQUksQ0FBQ1IsRUFBRSxpRUFBQUosTUFBQSxDQUNJZixXQUFXLENBQUNnQixLQUFLLENBQUNDLElBQUksaUVBQUFGLE1BQUEsQ0FDdEJrRixXQUFXLENBQUNqRixLQUFLLENBQUNDLElBQUkseURBQUFGLE1BQUEsQ0FDMUJZLElBQUksQ0FBQ3dFLFFBQVEsQ0FBRSxDQUFDO01BQzVEO01BQ0E7TUFDQTtNQUNBO01BQ0E7SUFDRjtFQUNGLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQy9FLE9BQUEsQ0FBQTBDLFdBQUEsR0FBQUEsV0FBQTtBQUVGLElBQU1rQyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSS9DLE1BQU0sRUFBRW1ELGNBQWMsRUFBSztFQUM5QyxJQUFJQyxZQUFvQixHQUFHcEQsTUFBTSxDQUFDdkIsSUFBSSxDQUNwQyxVQUFDeUIsS0FBYTtJQUFBLE9BQUtBLEtBQUssQ0FBQ2hDLEVBQUUsS0FBS2lGLGNBQWM7RUFBQSxDQUNoRCxDQUFDO0VBRUQsT0FBT0MsWUFBWTtBQUNyQixDQUFDO0FBRU0sSUFBTUMsNEJBQTRCLEdBQUcsU0FBL0JBLDRCQUE0QkEsQ0FDdkNoRixLQUFjLEVBQ2RDLEtBQWEsRUFDYjBCLE1BQWdCLEVBQ2hCYyxRQUFRLEVBQ1I5RCxHQUFHLEVBQ0grRCxVQUFVLEVBQ1ZDLFlBQVksRUFDVDtFQUNILElBQUlqQixXQUFvQixHQUFHLEVBQUU7RUFDN0IsSUFBSUosU0FBUyxHQUFHdkIsdUJBQXVCLENBQUNDLEtBQUssRUFBRUMsS0FBSyxDQUFDO0VBRXJELElBQUlxQixTQUFTLEtBQUtuQixTQUFTLEVBQUU7SUFDM0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0FrQyw0QkFBNEIsQ0FBQ1gsV0FBVyxFQUFFekIsS0FBSyxFQUFFRCxLQUFLLENBQUM7RUFDekQ7RUFFQXdDLFdBQVcsQ0FDVGQsV0FBVyxFQUNYQyxNQUFNLEVBQ05jLFFBQVEsRUFDUjlELEdBQUcsRUFDSHNCLEtBQUssRUFDTHlDLFVBQVUsRUFDVkMsWUFDRixDQUFDO0FBQ0gsQ0FBQztBQUFDN0MsT0FBQSxDQUFBa0YsNEJBQUEsR0FBQUEsNEJBQUE7QUFFSyxJQUFNQyxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFJaEYsS0FBYSxFQUFFNEIsS0FBYSxFQUFLO0VBQ2xFLE9BQU81QixLQUFLLENBQUNpRixZQUFZLENBQUM5RSxJQUFJLENBQUMsVUFBQytFLEdBQUc7SUFBQSxPQUFLQSxHQUFHLENBQUNDLFFBQVEsS0FBS3ZELEtBQUssQ0FBQ2hDLEVBQUU7RUFBQSxFQUFDO0FBQ3BFLENBQUM7QUFBQ0MsT0FBQSxDQUFBbUYsa0JBQUEsR0FBQUEsa0JBQUE7QUFFSyxJQUFNSSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFJeEQsS0FBYSxFQUFLO0VBQ2pELE9BQU9BLEtBQUssQ0FBQ25DLEtBQUssQ0FBQzRGLElBQUksS0FBSyxvQkFBb0I7QUFDbEQsQ0FBQztBQUFDeEYsT0FBQSxDQUFBdUYsZ0JBQUEsR0FBQUEsZ0JBQUE7QUFFSyxJQUFNRSxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUFJMUQsS0FBYSxFQUFLO0VBQ3ZELE9BQU93RCxnQkFBZ0IsQ0FBQ3hELEtBQUssQ0FBQyxJQUFJLENBQUNBLEtBQUssQ0FBQzJELFVBQVU7QUFDckQsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTFGLE9BQUEsQ0FBQXlGLHNCQUFBLEdBQUFBLHNCQUFBIn0=
|
|
240
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3doaXRlUG9pbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FjdGlvbnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsImRyYXdNYW5ob2xlSWNvbiIsInNvdXJjZVBvaW50IiwibWFwIiwicG9pbnRJY29uIiwiaWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJpY29uQW5jaG9yIiwibWFuaG9sZUljb24iLCJtYXJrZXIiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInJpc2VPbkhvdmVyIiwiYWRkVG8iLCJiaW5kVG9vbHRpcCIsImNvbmNhdCIsImdyb3VwIiwibmFtZSIsInNlY3Rvcl9uYW1lIiwiaWQiLCJleHBvcnRzIiwiZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGgiLCJlZGdlcyIsImV2ZW50IiwicGF0aCIsInVuZGVmaW5lZCIsImZpbmQiLCJlZGdlIiwiZWRnZV9pZCIsImZpbmRFZGdlcyIsIm5leHRVcHN0cmVhbUxldmVsSWRzIiwiZmlsdGVyIiwiaW5jbHVkZXMiLCJ0YXJnZXRfcG9pbnRfaWQiLCJyZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCIsIm5leHRMZXZlbCIsIm1hcEFsbEVkZ2VzTmVzdGluZyIsImFsbFVwc3RyZWFtRWRnZXMiLCJzb3VyY2VfcG9pbnRfaWQiLCJsZW5ndGgiLCJwdXNoIiwibWFwcGVkIiwiZm9yRWFjaCIsImdldFVwc3RyZWFtRWRnZXMiLCJmaXJzdEVkZ2UiLCJmaXJzdFVwc3RyZWFtTGV2ZWwiLCJmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyIsInVwc3RyZWFtRWRnZXMiLCJlZGdlc1RvRHJhdyIsInBvaW50cyIsInVwc3RyZWFtRWRnZSIsInBvaW50IiwiY29ubmVjdGlvbkVkZ2VzIiwiZmluZERvd25zdHJlYW1FZGdlc1RvRHJhdyIsImRvd25zdHJlYW1OZXR3b3JrIiwicmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaCIsImRvd25TdHJlYW1FZGdlIiwibGFzdERvd25TdHJlYW1FZGdlIiwibmV4dExldmVsRG93blN0cmVhbSIsImZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXciLCJwYXJ0IiwibWF0Y2hlZFBhcnQiLCJkcmF3TmV0d29yayIsImRpc3BhdGNoIiwibGF5ZXJHcm91cCIsImZsb3dSYXRlVW5pdCIsImxhdGxuZ3MiLCJzaGFwZV9kYXRhIiwiZGF0YSIsImxhdCIsImxuZyIsInBvbHlsaW5lQmFjayIsInBvbHlsaW5lIiwiY29sb3IiLCJ3ZWlnaHQiLCJvcGFjaXR5IiwidGFpbERhc2giLCJ3aW5kb3ciLCJTeW1ib2wiLCJwb2x5bGluZURlY29yYXRvciIsIl9sYXRsbmdzIiwicGF0dGVybnMiLCJvZmZzZXQiLCJyZXBlYXQiLCJzeW1ib2wiLCJhcnJvd0hlYWQiLCJwaXhlbFNpemUiLCJwb2x5Z29uIiwicGF0aE9wdGlvbnMiLCJzdHJva2UiLCJhZGRMYXllciIsImhvdmVyZWQiLCJmb2N1c2VkIiwiYnJpbmdUb0Zyb250IiwicG9seWxpbmVGcm9udCIsInNldEhvdmVyZWRFZGdlUGF0aHMiLCJwb2ludEZpbmRlciIsInRhcmdldFBvaW50IiwiYmluZFBvcHVwIiwiZGlzdGFuY2UiLCJkZXNpcmVkUG9pbnRJZCIsImRlc2lyZWRQb2ludCIsImZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMiLCJwb2ludElzT2JzZXJ2YXRpb24iLCJvYnNlcnZhdGlvbnMiLCJvYnMiLCJwb2ludF9pZCIsInBvaW50SXNDb2xsZWN0b3IiLCJ0eXBlIiwiaXNDb2xsZWN0b3JVbm1vbml0b3JlZCIsImhhc19kZXZpY2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvZXZlbnRzL0V2ZW50VXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnc3JjL3V0aWxpdGllcy9wb2x5bGluZWRlY29yYXRvcic7XG5pbXBvcnQgd2hpdGVQb2ludCBmcm9tICcuLi8uLi8uLi9hc3NldHMvd2hpdGUtcG9pbnQucG5nJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBkcmF3TWFuaG9sZUljb24gPSAoc291cmNlUG9pbnQ6IElQb2ludCwgbWFwOiBMLk1hcCkgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgaWNvbkFuY2hvcjogWzQuNSwgNC41XSxcbiAgfSk7XG5cbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihcbiAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAge1xuICAgICAgaWNvbjogcG9pbnRJY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gICAgfSxcbiAgKS5hZGRUbyhtYXApO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChcbiAgICBgJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSAoJHtzb3VyY2VQb2ludC5ncm91cC5zZWN0b3JfbmFtZX0pYCxcbiAgKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gc291cmNlUG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdVcHN0cmVhbVBvaW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCA9IChlZGdlczogSUVkZ2VbXSwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBpZiAoZXZlbnQucGF0aFswXSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBldmVudC5wYXRoWzBdLmVkZ2VfaWQpO1xufTtcblxuY29uc3QgZmluZEVkZ2VzID0gKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKChlZGdlOiBJRWRnZSkgPT5cbiAgICBuZXh0VXBzdHJlYW1MZXZlbElkcy5pbmNsdWRlcyhlZGdlLnRhcmdldF9wb2ludF9pZCksXG4gICk7XG59O1xuXG5jb25zdCByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCA9IChcbiAgbmV4dExldmVsLFxuICBlZGdlcyxcbiAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICBhbGxVcHN0cmVhbUVkZ2VzLFxuKSA9PiB7XG4gIGxldCBuZXh0VXBzdHJlYW1MZXZlbElkcyA9IG5leHRMZXZlbC5tYXAoKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgaWYgKGZpbmRFZGdlcyhlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoW25leHRMZXZlbF0pO1xuICB9IGVsc2Uge1xuICAgIGFsbFVwc3RyZWFtRWRnZXMucHVzaChmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSk7XG4gICAgcmVjdXJzaXZlVXBzdHJlYW1TZWFyY2goXG4gICAgICBmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSxcbiAgICAgIGVkZ2VzLFxuICAgICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG1hcEFsbEVkZ2VzTmVzdGluZyhhbGxVcHN0cmVhbUVkZ2VzKTtcbn07XG5cbmNvbnN0IG1hcEFsbEVkZ2VzTmVzdGluZyA9IChhbGxVcHN0cmVhbUVkZ2VzKSA9PiB7XG4gIGxldCBtYXBwZWQ6IGFueVtdID0gW107XG4gIGFsbFVwc3RyZWFtRWRnZXMuZm9yRWFjaCgoZWRnZXMpID0+IHtcbiAgICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgICBtYXBwZWQucHVzaChlZGdlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1hcHBlZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVcHN0cmVhbUVkZ2VzID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIGxldCBhbGxVcHN0cmVhbUVkZ2VzOiBhbnlbXSA9IFtdO1xuICBsZXQgZmlyc3RVcHN0cmVhbUxldmVsOiBJRWRnZVtdID0gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnRhcmdldF9wb2ludF9pZCA9PT0gZmlyc3RFZGdlPy5zb3VyY2VfcG9pbnRfaWQsXG4gICk7XG5cbiAgcmV0dXJuIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgIGZpcnN0VXBzdHJlYW1MZXZlbCxcbiAgICBlZGdlcyxcbiAgICBtYXBBbGxFZGdlc05lc3RpbmcsXG4gICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyA9IChcbiAgdXBzdHJlYW1FZGdlczogSUVkZ2VbXSxcbiAgZWRnZXNUb0RyYXc6IElFZGdlW10sXG4gIHBvaW50czogSVBvaW50W10sXG4gIGVkZ2VzOiBJRWRnZVtdLFxuKSA9PiB7XG4gIHVwc3RyZWFtRWRnZXMuZm9yRWFjaCgodXBzdHJlYW1FZGdlKSA9PiB7XG4gICAgaWYgKHVwc3RyZWFtRWRnZSkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludCkgPT4gcG9pbnQuaWQgPT09IHVwc3RyZWFtRWRnZSEuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHNvdXJjZVBvaW50KSBlZGdlc1RvRHJhdy5wdXNoKHVwc3RyZWFtRWRnZSk7XG5cbiAgICAgIGxldCBjb25uZWN0aW9uRWRnZXMgPSBlZGdlcy5maWx0ZXIoXG4gICAgICAgIChlZGdlKSA9PiBlZGdlPy5zb3VyY2VfcG9pbnRfaWQgPT09IHVwc3RyZWFtRWRnZSEudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKGNvbm5lY3Rpb25FZGdlcy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgY29ubmVjdGlvbkVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IGVkZ2VzVG9EcmF3LnB1c2goZWRnZSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGVkZ2VzVG9EcmF3O1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmREb3duc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIGZpcnN0RWRnZTogSUVkZ2UsXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBkb3duc3RyZWFtTmV0d29yayxcbiAgZWRnZXNUb0RyYXcsXG4pID0+IHtcbiAgcmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaChkb3duc3RyZWFtTmV0d29yaywgZWRnZXMpLmZvckVhY2goXG4gICAgKGRvd25TdHJlYW1FZGdlKSA9PiB7XG4gICAgICBlZGdlc1RvRHJhdy5wdXNoKGRvd25TdHJlYW1FZGdlKTtcbiAgICB9LFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2ggPSAoXG4gIGRvd25zdHJlYW1OZXR3b3JrOiBJRWRnZVtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBsZXQgbGFzdERvd25TdHJlYW1FZGdlID0gZG93bnN0cmVhbU5ldHdvcmtbZG93bnN0cmVhbU5ldHdvcmsubGVuZ3RoIC0gMV07XG5cbiAgaWYgKG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGRvd25zdHJlYW1OZXR3b3JrO1xuICB9IGVsc2Uge1xuICAgIG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgZG93bnN0cmVhbU5ldHdvcmsucHVzaChlZGdlKTtcbiAgICAgIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbn07XG5cbmV4cG9ydCBjb25zdCBuZXh0TGV2ZWxEb3duU3RyZWFtID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIHJldHVybiBlZGdlcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBmaXJzdEVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXcgPSAoXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBldmVudC5wYXRoLmZvckVhY2goKHBhcnQpID0+IHtcbiAgICBsZXQgbWF0Y2hlZFBhcnQgPSBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBwYXJ0LmVkZ2VfaWQpO1xuICAgIGlmIChtYXRjaGVkUGFydCAhPT0gdW5kZWZpbmVkKSBlZGdlc1RvRHJhdy5wdXNoKG1hdGNoZWRQYXJ0KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZHJhd05ldHdvcmsgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuICBldmVudCxcbiAgbGF5ZXJHcm91cCxcbiAgZmxvd1JhdGVVbml0LFxuKSA9PiB7XG4gIGxldCBsYXRsbmdzOiBhbnkgPSBbXTtcbiAgZWRnZXMuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgIGVkZ2Uuc2hhcGVfZGF0YS5mb3JFYWNoKChkYXRhOiBhbnkpID0+IHtcbiAgICAgIGxhdGxuZ3MucHVzaChbZGF0YS5sYXQsIGRhdGEubG5nXSk7XG4gICAgfSk7XG5cbiAgICBsZXQgcG9seWxpbmVCYWNrOiBhbnkgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiKDIyNywyMjcsMjI3KScsXG4gICAgICB3ZWlnaHQ6IDEsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgIH0pO1xuXG4gICAgbGV0IHRhaWxEYXNoOiBhbnk7XG5cbiAgICBpZiAod2luZG93LkwuU3ltYm9sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRhaWxEYXNoID0gd2luZG93LkwucG9seWxpbmVEZWNvcmF0b3IocG9seWxpbmVCYWNrLl9sYXRsbmdzLCB7XG4gICAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgICAgLy8gZGVmaW5lcyBhIHBhdHRlcm4gb2YgMTBweC13aWRlIGRhc2hlcywgcmVwZWF0ZWQgZXZlcnkgMjBweCBvbiB0aGUgbGluZVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9mZnNldDogMjAsXG4gICAgICAgICAgICByZXBlYXQ6IDYwLFxuICAgICAgICAgICAgc3ltYm9sOiB3aW5kb3cuTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY29sb3I6ICcjNTU1JyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgICB0YWlsRGFzaFsna2FuZG9fb2JqZWN0J10gPSAnRGVjb3JhdG9yJztcbiAgICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIodGFpbERhc2gpO1xuICAgIH1cblxuICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKSBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdCddID0gJ0hvdmVyZWRFZGdlJztcbiAgICBpZiAoZXZlbnQuZm9jdXNlZCkgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdGb2N1c2VkRWRnZSc7XG4gICAgaWYgKG1hcCAhPT0gbnVsbCkgbGF5ZXJHcm91cC5hZGRMYXllcihwb2x5bGluZUJhY2spO1xuICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcbiAgICBpZiAoTC5TeW1ib2wgIT09IHVuZGVmaW5lZCkgdGFpbERhc2guYnJpbmdUb0Zyb250KCk7XG5cbiAgICBsZXQgcG9seWxpbmVGcm9udDogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyOSwyOSwyOSknLFxuICAgICAgd2VpZ2h0OiAxLFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KTtcblxuICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnSG92ZXJlZEVkZ2VGcm9udCc7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0ZvY3VzZWRFZGdlRnJvbnQnO1xuICAgIGlmIChtYXAgIT09IG51bGwpIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9seWxpbmVGcm9udCk7XG4gICAgcG9seWxpbmVCYWNrLmFkZFRvKG1hcCk7XG4gICAgcG9seWxpbmVGcm9udC5hZGRUbyhtYXApO1xuXG4gICAgcG9seWxpbmVGcm9udC5icmluZ1RvRnJvbnQoKTtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZClcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICBsYXRsbmdzID0gW107XG5cbiAgICBpZiAocG9pbnRzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50OiBJUG9pbnQgPSBwb2ludEZpbmRlcihwb2ludHMsIGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgICAgIGxldCB0YXJnZXRQb2ludDogSVBvaW50ID0gcG9pbnRGaW5kZXIocG9pbnRzLCBlZGdlLnRhcmdldF9wb2ludF9pZCk7XG4gICAgICBpZiAoc291cmNlUG9pbnQgIT09IHVuZGVmaW5lZCAmJiB0YXJnZXRQb2ludCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHBvbHlsaW5lQmFjay5iaW5kUG9wdXAoYEVkZ2UgSUQ6ICR7ZWRnZS5pZH0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UgcG9pbnQ6ICR7c291cmNlUG9pbnQuZ3JvdXAubmFtZX0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQgcG9pbnQ6ICR7dGFyZ2V0UG9pbnQuZ3JvdXAubmFtZX0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3RhbmNlOiAke2VkZ2UuZGlzdGFuY2V9YCk7XG4gICAgICB9XG4gICAgICAvLyBjcmVhdGVQb2ludExvZ2ljKHNvdXJjZVBvaW50LCBtYXAsIGxheWVyR3JvdXAsIGZsb3dSYXRlVW5pdCk7XG4gICAgICAvLyBpZiAoZWRnZXNbZWRnZXMubGVuZ3RoIC0gMV0udGFyZ2V0X3BvaW50X2lkID09PSBlZGdlLnRhcmdldF9wb2ludF9pZCkge1xuICAgICAgLy8gICBjcmVhdGVQb2ludExvZ2ljKHRhcmdldFBvaW50LCBtYXAsIGxheWVyR3JvdXApO1xuICAgICAgLy8gfVxuICAgIH1cbiAgfSk7XG59O1xuXG5jb25zdCBwb2ludEZpbmRlciA9IChwb2ludHMsIGRlc2lyZWRQb2ludElkKSA9PiB7XG4gIGxldCBkZXNpcmVkUG9pbnQ6IElQb2ludCA9IHBvaW50cy5maW5kKFxuICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZGVzaXJlZFBvaW50SWQsXG4gICk7XG5cbiAgcmV0dXJuIGRlc2lyZWRQb2ludDtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzID0gKFxuICBlZGdlczogSUVkZ2VbXSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZGlzcGF0Y2gsXG4gIG1hcCxcbiAgbGF5ZXJHcm91cCxcbiAgZmxvd1JhdGVVbml0LFxuKSA9PiB7XG4gIGxldCBlZGdlc1RvRHJhdzogSUVkZ2VbXSA9IFtdO1xuICBsZXQgZmlyc3RFZGdlID0gZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGgoZWRnZXMsIGV2ZW50KTtcblxuICBpZiAoZmlyc3RFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgZG93bnN0cmVhbU5ldHdvcms6IElFZGdlW10gPSBbZmlyc3RFZGdlXTtcbiAgICBsZXQgdXBzdHJlYW1FZGdlcyA9IGdldFVwc3RyZWFtRWRnZXMoZmlyc3RFZGdlLCBlZGdlcyk7XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgIGlmICh1cHN0cmVhbUVkZ2VzLmxlbmd0aCAhPT0gMClcbiAgICAgIGZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3KHVwc3RyZWFtRWRnZXMsIGVkZ2VzVG9EcmF3LCBwb2ludHMsIGVkZ2VzKTtcbiAgICBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3KGZpcnN0RWRnZSwgZWRnZXMsIGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlc1RvRHJhdyk7XG4gIH1cblxuICBkcmF3TmV0d29yayhcbiAgICBlZGdlc1RvRHJhdyxcbiAgICBwb2ludHMsXG4gICAgZGlzcGF0Y2gsXG4gICAgbWFwLFxuICAgIGV2ZW50LFxuICAgIGxheWVyR3JvdXAsXG4gICAgZmxvd1JhdGVVbml0LFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNPYnNlcnZhdGlvbiA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBldmVudC5vYnNlcnZhdGlvbnMuZmluZCgob2JzKSA9PiBvYnMucG9pbnRfaWQgPT09IHBvaW50LmlkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzQ29sbGVjdG9yID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkNvbGxlY3RvcnMnO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQ29sbGVjdG9yVW5tb25pdG9yZWQgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gcG9pbnRJc0NvbGxlY3Rvcihwb2ludCkgJiYgIXBvaW50Lmhhc19kZXZpY2U7XG59O1xuXG4vLyBjb25zdCBjcmVhdGVQb2ludExvZ2ljID0gKHBvaW50OiBJUG9pbnQsIG1hcCwgbGF5ZXJHcm91cCwgZmxvd1JhdGVVbml0KSA9PiB7XG4vLyAgIGlmIChpc0NvbGxlY3RvclVubW9uaXRvcmVkKHBvaW50KSkge1xuLy8gICAgIHJldHVybjtcbi8vICAgfVxuXG4vLyAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuLy8gICAgIFtwb2ludC5sYXRpdHVkZSwgcG9pbnQubG9uZ2l0dWRlXSxcbi8vICAgICBwb2ludCxcbi8vICAgICBtYXAsXG4vLyAgICAgbnVsbCxcbi8vICAgICBsYXllckdyb3VwLFxuLy8gICAgIGZsb3dSYXRlVW5pdCxcbi8vICAgKTtcbi8vIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsQ0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFJQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFBb0UsU0FBQUkseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFOLHdCQUFBVSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdB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
|
package/lib/macros/getVersion.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var packageJsonVersion = "1.2.437-alpha.
|
|
3
|
+
var packageJsonVersion = "1.2.437-alpha.6";
|
|
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));
|
|
@@ -51,32 +51,48 @@ var EventInfo = function EventInfo(props) {
|
|
|
51
51
|
event = props.event,
|
|
52
52
|
nav_context_data = props.nav_context_data,
|
|
53
53
|
reOpenFilter = props.reOpenFilter;
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
// const { focusedEventPaths } = props.events_data;
|
|
55
|
+
// const { map } = props.global_data;
|
|
56
56
|
var _useState = (0, _react.useState)(null),
|
|
57
57
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
58
58
|
selectedSource = _useState2[0],
|
|
59
59
|
setSelectedSource = _useState2[1];
|
|
60
60
|
var history = (0, _reactRouterDom.useHistory)();
|
|
61
61
|
var location = (0, _reactRouterDom.useLocation)();
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
62
|
+
|
|
63
|
+
// const removeObjectsFromMap = () => {
|
|
64
|
+
// focusedEventPaths.forEach((path) => {
|
|
65
|
+
// map.removeLayer(path);
|
|
66
|
+
// });
|
|
67
|
+
|
|
68
|
+
// let layers = map._layers;
|
|
69
|
+
// for (const property in layers) {
|
|
70
|
+
// if (
|
|
71
|
+
// (layers[property].kando_object !== undefined &&
|
|
72
|
+
// layers[property].kando_object.includes('EventBody')) ||
|
|
73
|
+
// layers[property].kando_object === 'EventTail' ||
|
|
74
|
+
// layers[property].kando_object === 'SamplingPoint' ||
|
|
75
|
+
// layers[property].kando_object === 'Decorator' ||
|
|
76
|
+
// layers[property].kando_object === 'HoveredEdgeFront' ||
|
|
77
|
+
// layers[property].kando_object === 'HoveredEdge' ||
|
|
78
|
+
// layers[property].kando_object === 'FocusedEdgeFront' ||
|
|
79
|
+
// layers[property].kando_object === 'FocusedEdge' ||
|
|
80
|
+
// layers[property].kando_object === 'UpstreamPoint' ||
|
|
81
|
+
// layers[property].kando_object === 'EventPath' ||
|
|
82
|
+
// layers[property].kando_object === 'Arrow'
|
|
83
|
+
// ) {
|
|
84
|
+
// map.removeLayer(layers[property]);
|
|
85
|
+
// }
|
|
86
|
+
// }
|
|
87
|
+
// };
|
|
88
|
+
|
|
73
89
|
var handleGoBackClick = function handleGoBackClick() {
|
|
74
90
|
dispatch((0, _actions.setFocusedEvent)(null));
|
|
75
91
|
dispatch((0, _actions.setFocusedEventPaths)([]));
|
|
76
92
|
dispatch((0, _actions.setEventIndicator)(null));
|
|
77
93
|
dispatch((0, _actions2.setCurrentTime)(Date.now() / 1000 | 0));
|
|
78
94
|
dispatch((0, _actions2.closeFloatingGraph)());
|
|
79
|
-
removeObjectsFromMap();
|
|
95
|
+
// removeObjectsFromMap();
|
|
80
96
|
reOpenFilter();
|
|
81
97
|
history.push("/".concat(nav_context_data.navContext.name, "/index?water_authority_id=").concat(global_data.waterAuthorityId, "&locale=").concat(nav_context_data.navContext.locale, "&eventId=null&valuesFromKQL=").concat(global_data.eventFilterParam));
|
|
82
98
|
};
|
|
@@ -142,4 +158,4 @@ var EventInfoContainer = _styledComponents.default.div.withConfig({
|
|
|
142
158
|
var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
143
159
|
var _default = connector(EventInfo);
|
|
144
160
|
exports.default = _default;
|
|
145
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2ZyZWVTb2xpZFN2Z0ljb25zIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfRXJyb3JCb3VuZGFyeSIsIl9hY3Rpb25zMiIsIl9yZWFjdFJvdXRlckRvbSIsIl9IZWFkZXIiLCJfVGltZWxpbmVzIiwiX1NldmVyaXR5U2NvcmUiLCJfU291cmNlRGV0YWlscyIsIl9TYW1wbGluZ0xpc3QiLCJfcmVhY3REZXZpY2VEZXRlY3QiLCJfaWNvbnMiLCJfcmVhY3RCb290c3RyYXAiLCJfQW5hbHl0aWNzIiwiX0NvbnRhbWluYW50cyIsIl9Qb2xsdXRpb25Bc3Nlc3NtZW50IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsIm5hdl9jb250ZXh0X2RhdGEiLCJFdmVudEluZm8iLCJwcm9wcyIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJldmVudCIsInJlT3BlbkZpbHRlciIsImZvY3VzZWRFdmVudFBhdGhzIiwibWFwIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2VsZWN0ZWRTb3VyY2UiLCJzZXRTZWxlY3RlZFNvdXJjZSIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwibG9jYXRpb24iLCJ1c2VMb2NhdGlvbiIsInJlbW92ZU9iamVjdHNGcm9tTWFwIiwiZm9yRWFjaCIsInBhdGgiLCJyZW1vdmVMYXllciIsImxheWVycyIsIl9sYXllcnMiLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdCIsInVuZGVmaW5lZCIsImluY2x1ZGVzIiwiaGFuZGxlR29CYWNrQ2xpY2siLCJzZXRGb2N1c2VkRXZlbnQiLCJzZXRGb2N1c2VkRXZlbnRQYXRocyIsInNldEV2ZW50SW5kaWNhdG9yIiwic2V0Q3VycmVudFRpbWUiLCJEYXRlIiwibm93IiwiY2xvc2VGbG9hdGluZ0dyYXBoIiwicHVzaCIsImNvbmNhdCIsIm5hdkNvbnRleHQiLCJuYW1lIiwid2F0ZXJBdXRob3JpdHlJZCIsImxvY2FsZSIsImV2ZW50RmlsdGVyUGFyYW0iLCJ0b2dnbGVTb3VyY2VTZWxlY3Rpb24iLCJwb2ludF9pZCIsInNlbGVjdFNvdXJjZSIsInNob3dNYXAiLCJhbmFseXRpY3NUcmFjayIsInBhZ2VfbmFtZSIsInBhdGhuYW1lIiwidXRpbGl0eV9uYW1lIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwic2lkZU5hdkV4cGFuZGVkIiwidXNlRWZmZWN0Iiwic291cmNlcyIsImxlbmd0aCIsImZsb2F0aW5nR3JhcGgiLCJvcGVuIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiY2xhc3NOYW1lIiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUFycm93TGVmdCIsImkxOG4iLCJ0IiwiRXZlbnRJbmZvQ29udGFpbmVyIiwibGFzdF9zZWVuX3RpbWUiLCJpc0xpdmUiLCJlbmRfdGltZSIsImZpcnN0T2JzZXJ2YXRpb24iLCJmaXJzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeSIsImxhc3RPYnNlcnZhdGlvbiIsImxhc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHkiLCJldmVudFNjb3JlIiwic2NvcmUiLCJleHBsYW5hdGlvbnMiLCJhbGdvX2V4cGxhbmF0aW9ucyIsIm1ldGFkYXRhIiwibm9fc291cmNlcyIsImV2ZW50SWQiLCJpZCIsInRpbWVab25lIiwidGltZV96b25lIiwiaXNNb2JpbGUiLCJSb3ciLCJzaWRlbmF2RXhwYW5kZWQiLCJNYXBTdmciLCJzdHlsZSIsInpvb20iLCJvcGFjaXR5Iiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50X2luZm8vRXZlbnRJbmZvLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0Jztcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQge1xuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEZvY3VzZWRFdmVudFBhdGhzLFxuICBzZXRFdmVudEluZGljYXRvcixcbiAgc2VsZWN0U291cmNlLFxufSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgZmFBcnJvd0xlZnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0ICcuL0V2ZW50SW5mb1N0eWxlLnNjc3MnO1xuaW1wb3J0IHtcbiAgc2V0Q3VycmVudFRpbWUsXG4gIGNsb3NlRmxvYXRpbmdHcmFwaCxcbiAgc2lkZU5hdkV4cGFuZGVkLFxufSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBIZWFkZXIgZnJvbSAnLi9IZWFkZXInO1xuaW1wb3J0IFRpbWVsaW5lcyBmcm9tICcuL1RpbWVsaW5lcyc7XG5pbXBvcnQgU2V2ZXJpdHlTY29yZSBmcm9tICcuL1NldmVyaXR5U2NvcmUnO1xuaW1wb3J0IFNvdXJjZURldGFpbHMgZnJvbSAnLi9Tb3VyY2VEZXRhaWxzL1NvdXJjZURldGFpbHMnO1xuaW1wb3J0IFNhbXBsaW5ncyBmcm9tICcuL1NhbXBsaW5nTGlzdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAncmVhY3QtZGV2aWNlLWRldGVjdCc7XG5pbXBvcnQgeyBNYXBTdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zJztcbmltcG9ydCB7IFJvdyB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJ3NyYy91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCBDb250YW1pbmFudHMgZnJvbSAnLi9Db250YW1pbmFudHMnO1xuaW1wb3J0IFBvbGx1dGlvbkFzc2Vzc21lbnQgZnJvbSAnLi9Qb2xsdXRpb25Bc3Nlc3NtZW50ICc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgZXZlbnRzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgbmF2X2NvbnRleHRfZGF0YSB9ID0gc3RhdGU7XG5cbiAgcmV0dXJuIHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBuYXZfY29udGV4dF9kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBldmVudDogSUV2ZW50O1xuICByZU9wZW5GaWx0ZXI6ICgpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBFdmVudEluZm86IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IGdsb2JhbF9kYXRhLCBldmVudCwgbmF2X2NvbnRleHRfZGF0YSwgcmVPcGVuRmlsdGVyIH0gPSBwcm9wcztcbiAgY29uc3QgeyBmb2N1c2VkRXZlbnRQYXRocyB9ID0gcHJvcHMuZXZlbnRzX2RhdGE7XG4gIGNvbnN0IHsgbWFwIH0gPSBwcm9wcy5nbG9iYWxfZGF0YTtcbiAgY29uc3QgW3NlbGVjdGVkU291cmNlLCBzZXRTZWxlY3RlZFNvdXJjZV0gPSB1c2VTdGF0ZTxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuXG4gIGNvbnN0IHJlbW92ZU9iamVjdHNGcm9tTWFwID0gKCkgPT4ge1xuICAgIGZvY3VzZWRFdmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICB9KTtcblxuICAgIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgaWYgKFxuICAgICAgICAobGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0LmluY2x1ZGVzKCdFdmVudEJvZHknKSkgfHxcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdFdmVudFRhaWwnIHx8XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnU2FtcGxpbmdQb2ludCcgfHxcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdEZWNvcmF0b3InIHx8XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnSG92ZXJlZEVkZ2VGcm9udCcgfHxcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdIb3ZlcmVkRWRnZScgfHxcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdGb2N1c2VkRWRnZUZyb250JyB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0ZvY3VzZWRFZGdlJyB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ1Vwc3RyZWFtUG9pbnQnIHx8XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnRXZlbnRQYXRoJyB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0Fycm93J1xuICAgICAgKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihsYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlR29CYWNrQ2xpY2sgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50KG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnRQYXRocyhbXSkpO1xuICAgIGRpc3BhdGNoKHNldEV2ZW50SW5kaWNhdG9yKG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRDdXJyZW50VGltZSgoRGF0ZS5ub3coKSAvIDEwMDApIHwgMCkpO1xuICAgIGRpc3BhdGNoKGNsb3NlRmxvYXRpbmdHcmFwaCgpKTtcbiAgICByZW1vdmVPYmplY3RzRnJvbU1hcCgpO1xuICAgIHJlT3BlbkZpbHRlcigpO1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mZXZlbnRJZD1udWxsJnZhbHVlc0Zyb21LUUw9JHtnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtfWAsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCB0b2dnbGVTb3VyY2VTZWxlY3Rpb24gPSAocG9pbnRfaWQ6IG51bWJlcikgPT4ge1xuICAgIHNldFNlbGVjdGVkU291cmNlKHBvaW50X2lkKTtcbiAgICBkaXNwYXRjaChzZWxlY3RTb3VyY2UocG9pbnRfaWQpKTtcbiAgfTtcblxuICBjb25zdCBzaG93TWFwID0gKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdFdmVudCBpbmZvIHNob3cgbWFwIGNsaWNrZWQnLCB7XG4gICAgICBwYWdlX25hbWU6IGxvY2F0aW9uLnBhdGhuYW1lLFxuICAgICAgdXRpbGl0eV9uYW1lOiBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKGZhbHNlKSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWRTb3VyY2UgPT09IG51bGwgJiYgZXZlbnQuc291cmNlcy5sZW5ndGggIT09IDApIHtcbiAgICAgIHRvZ2dsZVNvdXJjZVNlbGVjdGlvbihldmVudC5zb3VyY2VzWzBdLnBvaW50X2lkKTtcbiAgICB9XG4gIH0sIFtcbiAgICBwcm9wcy5wb2ludHNfZGF0YSxcbiAgICBwcm9wcy5ldmVudHNfZGF0YSxcbiAgICBldmVudCxcbiAgICBnbG9iYWxfZGF0YS5mbG9hdGluZ0dyYXBoLm9wZW4sXG4gIF0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXsnYmFja19idXR0b25fY29udGFpbmVyJ30+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzc05hbWU9eydiYWNrX2J1dHRvbl9jb250YWluZXJfX2J1dHRvbid9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlR29CYWNrQ2xpY2soKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFBcnJvd0xlZnR9IC8+XG4gICAgICAgICAgPHNwYW4+IHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5iYWNrX3RvX2V2ZW50cycpfTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICA8RXZlbnRJbmZvQ29udGFpbmVyIGNsYXNzTmFtZT17J2NvbnRhaW5lcid9PlxuICAgICAgICAgIDxIZWFkZXIgbGFzdF9zZWVuX3RpbWU9e2V2ZW50Lmxhc3Rfc2Vlbl90aW1lfSAvPlxuICAgICAgICAgIDxUaW1lbGluZXNcbiAgICAgICAgICAgIGlzTGl2ZT17IWV2ZW50LmVuZF90aW1lfVxuICAgICAgICAgICAgZmlyc3RPYnNlcnZhdGlvbj17ZXZlbnQuZmlyc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHl9XG4gICAgICAgICAgICBsYXN0T2JzZXJ2YXRpb249e2V2ZW50Lmxhc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8U2V2ZXJpdHlTY29yZVxuICAgICAgICAgICAgZXZlbnRTY29yZT17ZXZlbnQuZmlyc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHkuc2NvcmV9XG4gICAgICAgICAgICBleHBsYW5hdGlvbnM9e2V2ZW50LmFsZ29fZXhwbGFuYXRpb25zfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPENvbnRhbWluYW50cyBtZXRhZGF0YT17ZXZlbnQubWV0YWRhdGF9IC8+XG4gICAgICAgICAgPFBvbGx1dGlvbkFzc2Vzc21lbnQgbWV0YWRhdGE9e2V2ZW50Lm1ldGFkYXRhfSAvPlxuICAgICAgICAgIDxTb3VyY2VEZXRhaWxzXG4gICAgICAgICAgICBzb3VyY2VzPXtcbiAgICAgICAgICAgICAgZXZlbnQuc291cmNlcy5sZW5ndGggPT09IDAgPyBldmVudC5ub19zb3VyY2VzIDogZXZlbnQuc291cmNlc1xuICAgICAgICAgICAgfVxuICAgICAgICAgIC8+eycgJ31cbiAgICAgICAgICA8U2FtcGxpbmdzXG4gICAgICAgICAgICBldmVudElkPXtldmVudC5pZH1cbiAgICAgICAgICAgIHRpbWVab25lPXtldmVudC5maXJzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeS50aW1lX3pvbmV9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aXNNb2JpbGUgJiYgKFxuICAgICAgICAgICAgPFJvd1xuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake1xuICAgICAgICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZFxuICAgICAgICAgICAgICAgICAgPyAnZml4ZWQtYm90dG9tIGp1c3RpZnktY29udGVudC1lbmQgbXgtMSdcbiAgICAgICAgICAgICAgICAgIDogJ2Qtbm9uZSdcbiAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxNYXBTdmcgb25DbGljaz17c2hvd01hcH0gc3R5bGU9e3sgem9vbTogMC44LCBvcGFjaXR5OiAwLjYgfX0gLz5cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRXZlbnRJbmZvQ29udGFpbmVyPlxuICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgIDwvPlxuICApO1xufTtcblxuY29uc3QgRXZlbnRJbmZvQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbmA7XG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoRXZlbnRJbmZvKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQU9BLElBQUFHLGtCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxpQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBQyxzQkFBQSxDQUFBTixPQUFBO0FBQ0EsSUFBQU8sY0FBQSxHQUFBRCxzQkFBQSxDQUFBTixPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBUSxTQUFBLEdBQUFSLE9BQUE7QUFLQSxJQUFBUyxlQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxPQUFBLEdBQUFKLHNCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBVyxVQUFBLEdBQUFMLHNCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBWSxjQUFBLEdBQUFOLHNCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBYSxjQUFBLEdBQUFQLHNCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBYyxhQUFBLEdBQUFSLHNCQUFBLENBQUFOLE9BQUE7QUFFQSxJQUFBZSxrQkFBQSxHQUFBZixPQUFBO0FBQ0EsSUFBQWdCLE1BQUEsR0FBQWhCLE9BQUE7QUFDQSxJQUFBaUIsZUFBQSxHQUFBakIsT0FBQTtBQUNBLElBQUFrQixVQUFBLEdBQUFsQixPQUFBO0FBQ0EsSUFBQW1CLGFBQUEsR0FBQWIsc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFvQixvQkFBQSxHQUFBZCxzQkFBQSxDQUFBTixPQUFBO0FBQXlELFNBQUFxQix5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQXZCLHdCQUFBMkIsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBWCxHQUFBLEVBQUFZLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVosR0FBQSxDQUFBWSxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBSCxHQUFBLE1BQUFJLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFqQixHQUFBLEVBQUFPLE1BQUEsWUFBQUEsTUFBQTtBQWhDekQ7O0FBa0NBLFNBQVNXLGVBQWVBLENBQUNDLEtBQWdCLEVBQUU7RUFDekMsSUFBUUMsV0FBVyxHQUFpREQsS0FBSyxDQUFqRUMsV0FBVztJQUFFQyxXQUFXLEdBQW9DRixLQUFLLENBQXBERSxXQUFXO0lBQUVDLFdBQVcsR0FBdUJILEtBQUssQ0FBdkNHLFdBQVc7SUFBRUMsZ0JBQWdCLEdBQUtKLEtBQUssQ0FBMUJJLGdCQUFnQjtFQUUvRCxPQUFPO0lBQ0xILFdBQVcsRUFBWEEsV0FBVztJQUNYQyxXQUFXLEVBQVhBLFdBQVc7SUFDWEMsV0FBVyxFQUFYQSxXQUFXO0lBQ1hDLGdCQUFnQixFQUFoQkE7RUFDRixDQUFDO0FBQ0g7QUFPQSxJQUFNQyxTQUEyQixHQUFHLFNBQTlCQSxTQUEyQkEsQ0FBSUMsS0FBSyxFQUFLO0VBQzdDLElBQU1DLFFBQVEsR0FBRyxJQUFBQyx1QkFBVyxFQUFDLENBQUM7RUFDOUIsSUFBUU4sV0FBVyxHQUE0Q0ksS0FBSyxDQUE1REosV0FBVztJQUFFTyxLQUFLLEdBQXFDSCxLQUFLLENBQS9DRyxLQUFLO0lBQUVMLGdCQUFnQixHQUFtQkUsS0FBSyxDQUF4Q0YsZ0JBQWdCO0lBQUVNLFlBQVksR0FBS0osS0FBSyxDQUF0QkksWUFBWTtFQUMxRCxJQUFRQyxpQkFBaUIsR0FBS0wsS0FBSyxDQUFDTCxXQUFXLENBQXZDVSxpQkFBaUI7RUFDekIsSUFBUUMsR0FBRyxHQUFLTixLQUFLLENBQUNKLFdBQVcsQ0FBekJVLEdBQUc7RUFDWCxJQUFBQyxTQUFBLEdBQTRDLElBQUFDLGVBQVEsRUFBZ0IsSUFBSSxDQUFDO0lBQUFDLFVBQUEsT0FBQUMsZUFBQSxDQUFBaEMsT0FBQSxFQUFBNkIsU0FBQTtJQUFsRUksY0FBYyxHQUFBRixVQUFBO0lBQUVHLGlCQUFpQixHQUFBSCxVQUFBO0VBQ3hDLElBQU1JLE9BQU8sR0FBRyxJQUFBQywwQkFBVSxFQUFDLENBQUM7RUFDNUIsSUFBTUMsUUFBUSxHQUFHLElBQUFDLDJCQUFXLEVBQUMsQ0FBQztFQUU5QixJQUFNQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFBLEVBQVM7SUFDakNaLGlCQUFpQixDQUFDYSxPQUFPLENBQUMsVUFBQ0MsSUFBSSxFQUFLO01BQ2xDYixHQUFHLENBQUNjLFdBQVcsQ0FBQ0QsSUFBSSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLElBQUlFLE1BQU0sR0FBR2YsR0FBRyxDQUFDZ0IsT0FBTztJQUN4QixLQUFLLElBQU1DLFFBQVEsSUFBSUYsTUFBTSxFQUFFO01BQzdCLElBQ0dBLE1BQU0sQ0FBQ0UsUUFBUSxDQUFDLENBQUNDLFlBQVksS0FBS0MsU0FBUyxJQUMxQ0osTUFBTSxDQUFDRSxRQUFRLENBQUMsQ0FBQ0MsWUFBWSxDQUFDRSxRQUFRLENBQUMsV0FBVyxDQUFDLElBQ3JETCxNQUFNLENBQUNFLFFBQVEsQ0FBQyxDQUFDQyxZQUFZLEtBQUssV0FBVyxJQUM3Q0gsTUFBTSxDQUFDRSxRQUFRLENBQUMsQ0FBQ0MsWUFBWSxLQUFLLGVBQWUsSUFDakRILE1BQU0sQ0FBQ0UsUUFBUSxDQUFDLENBQUNDLFlBQVksS0FBSyxXQUFXLElBQzdDSCxNQUFNLENBQUNFLFFBQVEsQ0FBQyxDQUFDQyxZQUFZLEtBQUssa0JBQWtCLElBQ3BESCxNQUFNLENBQUNFLFFBQVEsQ0FBQyxDQUFDQyxZQUFZLEtBQUssYUFBYSxJQUMvQ0gsTUFBTSxDQUFDRSxRQUFRLENBQUMsQ0FBQ0MsWUFBWSxLQUFLLGtCQUFrQixJQUNwREgsTUFBTSxDQUFDRSxRQUFRLENBQUMsQ0FBQ0MsWUFBWSxLQUFLLGFBQWEsSUFDL0NILE1BQU0sQ0FBQ0UsUUFBUSxDQUFDLENBQUNDLFlBQVksS0FBSyxlQUFlLElBQ2pESCxNQUFNLENBQUNFLFFBQVEsQ0FBQyxDQUFDQyxZQUFZLEtBQUssV0FBVyxJQUM3Q0gsTUFBTSxDQUFDRSxRQUFRLENBQUMsQ0FBQ0MsWUFBWSxLQUFLLE9BQU8sRUFDekM7UUFDQWxCLEdBQUcsQ0FBQ2MsV0FBVyxDQUFDQyxNQUFNLENBQUNFLFFBQVEsQ0FBQyxDQUFDO01BQ25DO0lBQ0Y7RUFDRixDQUFDO0VBRUQsSUFBTUksaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBQSxFQUFTO0lBQzlCMUIsUUFBUSxDQUFDLElBQUEyQix3QkFBZSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CM0IsUUFBUSxDQUFDLElBQUE0Qiw2QkFBb0IsRUFBQyxFQUFFLENBQUMsQ0FBQztJQUNsQzVCLFFBQVEsQ0FBQyxJQUFBNkIsMEJBQWlCLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDakM3QixRQUFRLENBQUMsSUFBQThCLHdCQUFjLEVBQUVDLElBQUksQ0FBQ0MsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUksQ0FBQyxDQUFDLENBQUM7SUFDakRoQyxRQUFRLENBQUMsSUFBQWlDLDRCQUFrQixFQUFDLENBQUMsQ0FBQztJQUM5QmpCLG9CQUFvQixDQUFDLENBQUM7SUFDdEJiLFlBQVksQ0FBQyxDQUFDO0lBQ2RTLE9BQU8sQ0FBQ3NCLElBQUksS0FBQUMsTUFBQSxDQUNOdEMsZ0JBQWdCLENBQUN1QyxVQUFVLENBQUNDLElBQUksZ0NBQUFGLE1BQUEsQ0FBNkJ4QyxXQUFXLENBQUMyQyxnQkFBZ0IsY0FBQUgsTUFBQSxDQUFXdEMsZ0JBQWdCLENBQUN1QyxVQUFVLENBQUNHLE1BQU0sa0NBQUFKLE1BQUEsQ0FBK0J4QyxXQUFXLENBQUM2QyxnQkFBZ0IsQ0FDdk0sQ0FBQztFQUNILENBQUM7RUFFRCxJQUFNQyxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFJQyxRQUFnQixFQUFLO0lBQ2xEL0IsaUJBQWlCLENBQUMrQixRQUFRLENBQUM7SUFDM0IxQyxRQUFRLENBQUMsSUFBQTJDLHFCQUFZLEVBQUNELFFBQVEsQ0FBQyxDQUFDO0VBQ2xDLENBQUM7RUFFRCxJQUFNRSxPQUFPLEdBQUcsU0FBVkEsT0FBT0EsQ0FBQSxFQUFTO0lBQ3BCLElBQUFDLHlCQUFjLEVBQUMsNkJBQTZCLEVBQUU7TUFDNUNDLFNBQVMsRUFBRWhDLFFBQVEsQ0FBQ2lDLFFBQVE7TUFDNUJDLFlBQVksRUFBRXJELFdBQVcsQ0FBQ3NEO0lBQzVCLENBQUMsQ0FBQztJQUNGakQsUUFBUSxDQUFDLElBQUFrRCx5QkFBZSxFQUFDLEtBQUssQ0FBQyxDQUFDO0VBQ2xDLENBQUM7RUFFRCxJQUFBQyxnQkFBUyxFQUFDLFlBQU07SUFDZCxJQUFJekMsY0FBYyxLQUFLLElBQUksSUFBSVIsS0FBSyxDQUFDa0QsT0FBTyxDQUFDQyxNQUFNLEtBQUssQ0FBQyxFQUFFO01BQ3pEWixxQkFBcUIsQ0FBQ3ZDLEtBQUssQ0FBQ2tELE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQ1YsUUFBUSxDQUFDO0lBQ2xEO0VBQ0YsQ0FBQyxFQUFFLENBQ0QzQyxLQUFLLENBQUNILFdBQVcsRUFDakJHLEtBQUssQ0FBQ0wsV0FBVyxFQUNqQlEsS0FBSyxFQUNMUCxXQUFXLENBQUMyRCxhQUFhLENBQUNDLElBQUksQ0FDL0IsQ0FBQztFQUVGLG9CQUNFN0csTUFBQSxDQUFBK0IsT0FBQSxDQUFBK0UsYUFBQSxDQUFBOUcsTUFBQSxDQUFBK0IsT0FBQSxDQUFBZ0YsUUFBQSxxQkFDRS9HLE1BQUEsQ0FBQStCLE9BQUEsQ0FBQStFLGFBQUE7SUFBS0UsU0FBUyxFQUFFO0VBQXdCLGdCQUN0Q2hILE1BQUEsQ0FBQStCLE9BQUEsQ0FBQStFLGFBQUE7SUFDRUUsU0FBUyxFQUFFLCtCQUFnQztJQUMzQ0MsT0FBTyxFQUFFLFNBQUFBLFFBQUE7TUFBQSxPQUFNakMsaUJBQWlCLENBQUMsQ0FBQztJQUFBO0VBQUMsZ0JBRW5DaEYsTUFBQSxDQUFBK0IsT0FBQSxDQUFBK0UsYUFBQSxDQUFDeEcsaUJBQUEsQ0FBQTRHLGVBQWU7SUFBQ0MsSUFBSSxFQUFFQztFQUFZLENBQUUsQ0FBQyxlQUN0Q3BILE1BQUEsQ0FBQStCLE9BQUEsQ0FBQStFLGFBQUEsZUFBTSxHQUFDLEVBQUNPLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLGdDQUFnQyxDQUFRLENBQ2pELENBQ0wsQ0FBQyxlQUNOdEgsTUFBQSxDQUFBK0IsT0FBQSxDQUFBK0UsYUFBQSxDQUFDckcsY0FBQSxDQUFBc0IsT0FBYSxxQkFDWi9CLE1BQUEsQ0FBQStCLE9BQUEsQ0FBQStFLGFBQUEsQ0FBQ1Msa0JBQWtCO0lBQUNQLFNBQVMsRUFBRTtFQUFZLGdCQUN6Q2hILE1BQUEsQ0FBQStCLE9BQUEsQ0FBQStFLGFBQUEsQ0FBQ2xHLE9BQUEsQ0FBQW1CLE9BQU07SUFBQ3lGLGNBQWMsRUFBRWhFLEtBQUssQ0FBQ2dFO0VBQWUsQ0FBRSxDQUFDLGVBQ2hEeEgsTUFBQSxDQUFBK0IsT0FBQSxDQUFBK0UsYUFBQSxDQUFDakcsVUFBQSxDQUFBa0IsT0FBUztJQUNSMEYsTUFBTSxFQUFFLENBQUNqRSxLQUFLLENBQUNrRSxRQUFTO0lBQ3hCQyxnQkFBZ0IsRUFBRW5FLEtBQUssQ0FBQ29FLGdDQUFpQztJQUN6REMsZUFBZSxFQUFFckUsS0FBSyxDQUFDc0U7RUFBZ0MsQ0FDeEQsQ0FBQyxlQUNGOUgsTUFBQSxDQUFBK0IsT0FBQSxDQUFBK0UsYUFBQSxDQUFDaEcsY0FBQSxDQUFBaUIsT0FBYTtJQUNaZ0csVUFBVSxFQUFFdkUsS0FBSyxDQUFDb0UsZ0NBQWdDLENBQUNJLEtBQU07SUFDekRDLFlBQVksRUFBRXpFLEtBQUssQ0FBQzBFO0VBQWtCLENBQ3ZDLENBQUMsZUFDRmxJLE1BQUEsQ0FBQStCLE9BQUEsQ0FBQStFLGFBQUEsQ0FBQ3pGLGFBQUEsQ0FBQVUsT0FBWTtJQUFDb0csUUFBUSxFQUFFM0UsS0FBSyxDQUFDMkU7RUFBUyxDQUFFLENBQUMsZUFDMUNuSSxNQUFBLENBQUErQixPQUFBLENBQUErRSxhQUFBLENBQUN4RixvQkFBQSxDQUFBUyxPQUFtQjtJQUFDb0csUUFBUSxFQUFFM0UsS0FBSyxDQUFDMkU7RUFBUyxDQUFFLENBQUMsZUFDakRuSSxNQUFBLENBQUErQixPQUFBLENBQUErRSxhQUFBLENBQUMvRixjQUFBLENBQUFnQixPQUFhO0lBQ1oyRSxPQUFPLEVBQ0xsRCxLQUFLLENBQUNrRCxPQUFPLENBQUNDLE1BQU0sS0FBSyxDQUFDLEdBQUduRCxLQUFLLENBQUM0RSxVQUFVLEdBQUc1RSxLQUFLLENBQUNrRDtFQUN2RCxDQUNGLENBQUMsRUFBQyxHQUFHLGVBQ04xRyxNQUFBLENBQUErQixPQUFBLENBQUErRSxhQUFBLENBQUM5RixhQUFBLENBQUFlLE9BQVM7SUFDUnNHLE9BQU8sRUFBRTdFLEtBQUssQ0FBQzhFLEVBQUc7SUFDbEJDLFFBQVEsRUFBRS9FLEtBQUssQ0FBQ29FLGdDQUFnQyxDQUFDWTtFQUFVLENBQzVELENBQUMsRUFDREMsMkJBQVEsaUJBQ1B6SSxNQUFBLENBQUErQixPQUFBLENBQUErRSxhQUFBLENBQUMzRixlQUFBLENBQUF1SCxHQUFHO0lBQ0YxQixTQUFTLEtBQUF2QixNQUFBLENBQ1B4QyxXQUFXLENBQUMwRixlQUFlLEdBQ3ZCLHVDQUF1QyxHQUN2QyxRQUFRO0VBQ1gsZ0JBRUgzSSxNQUFBLENBQUErQixPQUFBLENBQUErRSxhQUFBLENBQUM1RixNQUFBLENBQUEwSCxNQUFNO0lBQUMzQixPQUFPLEVBQUVmLE9BQVE7SUFBQzJDLEtBQUssRUFBRTtNQUFFQyxJQUFJLEVBQUUsR0FBRztNQUFFQyxPQUFPLEVBQUU7SUFBSTtFQUFFLENBQUUsQ0FDNUQsQ0FFVyxDQUNQLENBQ2YsQ0FBQztBQUVQLENBQUM7QUFFRCxJQUFNeEIsa0JBQWtCLEdBQUd5Qix5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMkJBRXBDO0FBQ0QsSUFBTUMsU0FBUyxHQUFHLElBQUFDLG1CQUFPLEVBQUN4RyxlQUFlLENBQUM7QUFBQyxJQUFBeUcsUUFBQSxHQUM1QkYsU0FBUyxDQUFDakcsU0FBUyxDQUFDO0FBQUFvRyxPQUFBLENBQUF6SCxPQUFBLEdBQUF3SCxRQUFBIn0=
|
|
161
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2ZyZWVTb2xpZFN2Z0ljb25zIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfRXJyb3JCb3VuZGFyeSIsIl9hY3Rpb25zMiIsIl9yZWFjdFJvdXRlckRvbSIsIl9IZWFkZXIiLCJfVGltZWxpbmVzIiwiX1NldmVyaXR5U2NvcmUiLCJfU291cmNlRGV0YWlscyIsIl9TYW1wbGluZ0xpc3QiLCJfcmVhY3REZXZpY2VEZXRlY3QiLCJfaWNvbnMiLCJfcmVhY3RCb290c3RyYXAiLCJfQW5hbHl0aWNzIiwiX0NvbnRhbWluYW50cyIsIl9Qb2xsdXRpb25Bc3Nlc3NtZW50IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsIm5hdl9jb250ZXh0X2RhdGEiLCJFdmVudEluZm8iLCJwcm9wcyIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJldmVudCIsInJlT3BlbkZpbHRlciIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNlbGVjdGVkU291cmNlIiwic2V0U2VsZWN0ZWRTb3VyY2UiLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsImxvY2F0aW9uIiwidXNlTG9jYXRpb24iLCJoYW5kbGVHb0JhY2tDbGljayIsInNldEZvY3VzZWRFdmVudCIsInNldEZvY3VzZWRFdmVudFBhdGhzIiwic2V0RXZlbnRJbmRpY2F0b3IiLCJzZXRDdXJyZW50VGltZSIsIkRhdGUiLCJub3ciLCJjbG9zZUZsb2F0aW5nR3JhcGgiLCJwdXNoIiwiY29uY2F0IiwibmF2Q29udGV4dCIsIm5hbWUiLCJ3YXRlckF1dGhvcml0eUlkIiwibG9jYWxlIiwiZXZlbnRGaWx0ZXJQYXJhbSIsInRvZ2dsZVNvdXJjZVNlbGVjdGlvbiIsInBvaW50X2lkIiwic2VsZWN0U291cmNlIiwic2hvd01hcCIsImFuYWx5dGljc1RyYWNrIiwicGFnZV9uYW1lIiwicGF0aG5hbWUiLCJ1dGlsaXR5X25hbWUiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJzaWRlTmF2RXhwYW5kZWQiLCJ1c2VFZmZlY3QiLCJzb3VyY2VzIiwibGVuZ3RoIiwiZmxvYXRpbmdHcmFwaCIsIm9wZW4iLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwiRm9udEF3ZXNvbWVJY29uIiwiaWNvbiIsImZhQXJyb3dMZWZ0IiwiaTE4biIsInQiLCJFdmVudEluZm9Db250YWluZXIiLCJsYXN0X3NlZW5fdGltZSIsImlzTGl2ZSIsImVuZF90aW1lIiwiZmlyc3RPYnNlcnZhdGlvbiIsImZpcnN0X29ic2VydmF0aW9uX2Zyb21faGllcmFyY2h5IiwibGFzdE9ic2VydmF0aW9uIiwibGFzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeSIsImV2ZW50U2NvcmUiLCJzY29yZSIsImV4cGxhbmF0aW9ucyIsImFsZ29fZXhwbGFuYXRpb25zIiwibWV0YWRhdGEiLCJub19zb3VyY2VzIiwiZXZlbnRJZCIsImlkIiwidGltZVpvbmUiLCJ0aW1lX3pvbmUiLCJpc01vYmlsZSIsIlJvdyIsInNpZGVuYXZFeHBhbmRlZCIsIk1hcFN2ZyIsInN0eWxlIiwiem9vbSIsIm9wYWNpdHkiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsImNvbm5lY3RvciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvZXZlbnRfaW5mby9FdmVudEluZm8udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7XG4gIHNldEZvY3VzZWRFdmVudCxcbiAgc2V0Rm9jdXNlZEV2ZW50UGF0aHMsXG4gIHNldEV2ZW50SW5kaWNhdG9yLFxuICBzZWxlY3RTb3VyY2UsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyBmYUFycm93TGVmdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgJy4vRXZlbnRJbmZvU3R5bGUuc2Nzcyc7XG5pbXBvcnQge1xuICBzZXRDdXJyZW50VGltZSxcbiAgY2xvc2VGbG9hdGluZ0dyYXBoLFxuICBzaWRlTmF2RXhwYW5kZWQsXG59IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IEhlYWRlciBmcm9tICcuL0hlYWRlcic7XG5pbXBvcnQgVGltZWxpbmVzIGZyb20gJy4vVGltZWxpbmVzJztcbmltcG9ydCBTZXZlcml0eVNjb3JlIGZyb20gJy4vU2V2ZXJpdHlTY29yZSc7XG5pbXBvcnQgU291cmNlRGV0YWlscyBmcm9tICcuL1NvdXJjZURldGFpbHMvU291cmNlRGV0YWlscyc7XG5pbXBvcnQgU2FtcGxpbmdzIGZyb20gJy4vU2FtcGxpbmdMaXN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IE1hcFN2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMnO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IENvbnRhbWluYW50cyBmcm9tICcuL0NvbnRhbWluYW50cyc7XG5pbXBvcnQgUG9sbHV0aW9uQXNzZXNzbWVudCBmcm9tICcuL1BvbGx1dGlvbkFzc2Vzc21lbnQgJztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBldmVudHNfZGF0YSwgZ2xvYmFsX2RhdGEsIHBvaW50c19kYXRhLCBuYXZfY29udGV4dF9kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIGV2ZW50OiBJRXZlbnQ7XG4gIHJlT3BlbkZpbHRlcjogKCkgPT4gdm9pZDtcbn07XG5cbmNvbnN0IEV2ZW50SW5mbzogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgZ2xvYmFsX2RhdGEsIGV2ZW50LCBuYXZfY29udGV4dF9kYXRhLCByZU9wZW5GaWx0ZXIgfSA9IHByb3BzO1xuICAvLyBjb25zdCB7IGZvY3VzZWRFdmVudFBhdGhzIH0gPSBwcm9wcy5ldmVudHNfZGF0YTtcbiAgLy8gY29uc3QgeyBtYXAgfSA9IHByb3BzLmdsb2JhbF9kYXRhO1xuICBjb25zdCBbc2VsZWN0ZWRTb3VyY2UsIHNldFNlbGVjdGVkU291cmNlXSA9IHVzZVN0YXRlPG51bWJlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgLy8gY29uc3QgcmVtb3ZlT2JqZWN0c0Zyb21NYXAgPSAoKSA9PiB7XG4gIC8vICAgZm9jdXNlZEV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAvLyAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAvLyAgIH0pO1xuXG4gIC8vICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAvLyAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gIC8vICAgICBpZiAoXG4gIC8vICAgICAgIChsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCAhPT0gdW5kZWZpbmVkICYmXG4gIC8vICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QuaW5jbHVkZXMoJ0V2ZW50Qm9keScpKSB8fFxuICAvLyAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0V2ZW50VGFpbCcgfHxcbiAgLy8gICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdTYW1wbGluZ1BvaW50JyB8fFxuICAvLyAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0RlY29yYXRvcicgfHxcbiAgLy8gICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdIb3ZlcmVkRWRnZUZyb250JyB8fFxuICAvLyAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0hvdmVyZWRFZGdlJyB8fFxuICAvLyAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0ZvY3VzZWRFZGdlRnJvbnQnIHx8XG4gIC8vICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnRm9jdXNlZEVkZ2UnIHx8XG4gIC8vICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnVXBzdHJlYW1Qb2ludCcgfHxcbiAgLy8gICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdFdmVudFBhdGgnIHx8XG4gIC8vICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJyb3cnXG4gIC8vICAgICApIHtcbiAgLy8gICAgICAgbWFwLnJlbW92ZUxheWVyKGxheWVyc1twcm9wZXJ0eV0pO1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfTtcblxuICBjb25zdCBoYW5kbGVHb0JhY2tDbGljayA9ICgpID0+IHtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnQobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEZvY3VzZWRFdmVudFBhdGhzKFtdKSk7XG4gICAgZGlzcGF0Y2goc2V0RXZlbnRJbmRpY2F0b3IobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEN1cnJlbnRUaW1lKChEYXRlLm5vdygpIC8gMTAwMCkgfCAwKSk7XG4gICAgZGlzcGF0Y2goY2xvc2VGbG9hdGluZ0dyYXBoKCkpO1xuICAgIC8vIHJlbW92ZU9iamVjdHNGcm9tTWFwKCk7XG4gICAgcmVPcGVuRmlsdGVyKCk7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZldmVudElkPW51bGwmdmFsdWVzRnJvbUtRTD0ke2dsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW19YCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHRvZ2dsZVNvdXJjZVNlbGVjdGlvbiA9IChwb2ludF9pZDogbnVtYmVyKSA9PiB7XG4gICAgc2V0U2VsZWN0ZWRTb3VyY2UocG9pbnRfaWQpO1xuICAgIGRpc3BhdGNoKHNlbGVjdFNvdXJjZShwb2ludF9pZCkpO1xuICB9O1xuXG4gIGNvbnN0IHNob3dNYXAgPSAoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ0V2ZW50IGluZm8gc2hvdyBtYXAgY2xpY2tlZCcsIHtcbiAgICAgIHBhZ2VfbmFtZTogbG9jYXRpb24ucGF0aG5hbWUsXG4gICAgICB1dGlsaXR5X25hbWU6IGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQoZmFsc2UpKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzZWxlY3RlZFNvdXJjZSA9PT0gbnVsbCAmJiBldmVudC5zb3VyY2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgdG9nZ2xlU291cmNlU2VsZWN0aW9uKGV2ZW50LnNvdXJjZXNbMF0ucG9pbnRfaWQpO1xuICAgIH1cbiAgfSwgW1xuICAgIHByb3BzLnBvaW50c19kYXRhLFxuICAgIHByb3BzLmV2ZW50c19kYXRhLFxuICAgIGV2ZW50LFxuICAgIGdsb2JhbF9kYXRhLmZsb2F0aW5nR3JhcGgub3BlbixcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGRpdiBjbGFzc05hbWU9eydiYWNrX2J1dHRvbl9jb250YWluZXInfT5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzTmFtZT17J2JhY2tfYnV0dG9uX2NvbnRhaW5lcl9fYnV0dG9uJ31cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVHb0JhY2tDbGljaygpfVxuICAgICAgICA+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYUFycm93TGVmdH0gLz5cbiAgICAgICAgICA8c3Bhbj4ge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmJhY2tfdG9fZXZlbnRzJyl9PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgIDxFdmVudEluZm9Db250YWluZXIgY2xhc3NOYW1lPXsnY29udGFpbmVyJ30+XG4gICAgICAgICAgPEhlYWRlciBsYXN0X3NlZW5fdGltZT17ZXZlbnQubGFzdF9zZWVuX3RpbWV9IC8+XG4gICAgICAgICAgPFRpbWVsaW5lc1xuICAgICAgICAgICAgaXNMaXZlPXshZXZlbnQuZW5kX3RpbWV9XG4gICAgICAgICAgICBmaXJzdE9ic2VydmF0aW9uPXtldmVudC5maXJzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeX1cbiAgICAgICAgICAgIGxhc3RPYnNlcnZhdGlvbj17ZXZlbnQubGFzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTZXZlcml0eVNjb3JlXG4gICAgICAgICAgICBldmVudFNjb3JlPXtldmVudC5maXJzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeS5zY29yZX1cbiAgICAgICAgICAgIGV4cGxhbmF0aW9ucz17ZXZlbnQuYWxnb19leHBsYW5hdGlvbnN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8Q29udGFtaW5hbnRzIG1ldGFkYXRhPXtldmVudC5tZXRhZGF0YX0gLz5cbiAgICAgICAgICA8UG9sbHV0aW9uQXNzZXNzbWVudCBtZXRhZGF0YT17ZXZlbnQubWV0YWRhdGF9IC8+XG4gICAgICAgICAgPFNvdXJjZURldGFpbHNcbiAgICAgICAgICAgIHNvdXJjZXM9e1xuICAgICAgICAgICAgICBldmVudC5zb3VyY2VzLmxlbmd0aCA9PT0gMCA/IGV2ZW50Lm5vX3NvdXJjZXMgOiBldmVudC5zb3VyY2VzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgLz57JyAnfVxuICAgICAgICAgIDxTYW1wbGluZ3NcbiAgICAgICAgICAgIGV2ZW50SWQ9e2V2ZW50LmlkfVxuICAgICAgICAgICAgdGltZVpvbmU9e2V2ZW50LmZpcnN0X29ic2VydmF0aW9uX2Zyb21faGllcmFyY2h5LnRpbWVfem9uZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtpc01vYmlsZSAmJiAoXG4gICAgICAgICAgICA8Um93XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7XG4gICAgICAgICAgICAgICAgZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkXG4gICAgICAgICAgICAgICAgICA/ICdmaXhlZC1ib3R0b20ganVzdGlmeS1jb250ZW50LWVuZCBteC0xJ1xuICAgICAgICAgICAgICAgICAgOiAnZC1ub25lJ1xuICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPE1hcFN2ZyBvbkNsaWNrPXtzaG93TWFwfSBzdHlsZT17eyB6b29tOiAwLjgsIG9wYWNpdHk6IDAuNiB9fSAvPlxuICAgICAgICAgICAgPC9Sb3c+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9FdmVudEluZm9Db250YWluZXI+XG4gICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgPC8+XG4gICk7XG59O1xuXG5jb25zdCBFdmVudEluZm9Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuYDtcbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFdmVudEluZm8pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBT0EsSUFBQUcsa0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGlCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFDLHNCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBTyxjQUFBLEdBQUFELHNCQUFBLENBQUFOLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFRLFNBQUEsR0FBQVIsT0FBQTtBQUtBLElBQUFTLGVBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLE9BQUEsR0FBQUosc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFXLFVBQUEsR0FBQUwsc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFZLGNBQUEsR0FBQU4sc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFhLGNBQUEsR0FBQVAsc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFjLGFBQUEsR0FBQVIsc0JBQUEsQ0FBQU4sT0FBQTtBQUVBLElBQUFlLGtCQUFBLEdBQUFmLE9BQUE7QUFDQSxJQUFBZ0IsTUFBQSxHQUFBaEIsT0FBQTtBQUNBLElBQUFpQixlQUFBLEdBQUFqQixPQUFBO0FBQ0EsSUFBQWtCLFVBQUEsR0FBQWxCLE9BQUE7QUFDQSxJQUFBbUIsYUFBQSxHQUFBYixzQkFBQSxDQUFBTixPQUFBO0FBQ0EsSUFBQW9CLG9CQUFBLEdBQUFkLHNCQUFBLENBQUFOLE9BQUE7QUFBeUQsU0FBQXFCLHlCQUFBQyxXQUFBLGVB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
|