@carto/kepler.gl 0.0.65-alpha.labels.5 → 0.0.65-alpha.labels.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/default-settings.js +1 -1
- package/dist/deckgl-layers/point-label-layer/point-label-layer.js +51 -28
- package/dist/localization/en.js +2 -2
- package/package.json +1 -1
- package/src/deckgl-layers/point-label-layer/.point-label-layer.js.swp +0 -0
- package/src/deckgl-layers/point-label-layer/point-label-layer.js +31 -19
- package/src/localization/en.js +1 -1
- package/src/components/side-panel/layer-panel/.text-label-panel.js.swp +0 -0
- package/src/localization/.en.js.swp +0 -0
|
@@ -134,7 +134,7 @@ var KEPLER_GL_NAME = 'kepler.gl'; // __PACKAGE_VERSION__ is automatically inject
|
|
|
134
134
|
// an empty string which will allow us to retrieve the latest umd version
|
|
135
135
|
|
|
136
136
|
exports.KEPLER_GL_NAME = KEPLER_GL_NAME;
|
|
137
|
-
var KEPLER_GL_VERSION = "0.0.65-alpha.labels.
|
|
137
|
+
var KEPLER_GL_VERSION = "0.0.65-alpha.labels.7";
|
|
138
138
|
exports.KEPLER_GL_VERSION = KEPLER_GL_VERSION;
|
|
139
139
|
var KEPLER_GL_WEBSITE = 'http://kepler.gl/';
|
|
140
140
|
exports.KEPLER_GL_WEBSITE = KEPLER_GL_WEBSITE;
|
|
@@ -15,6 +15,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
15
15
|
|
|
16
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
17
|
|
|
18
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
19
|
+
|
|
18
20
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
21
|
|
|
20
22
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
@@ -40,14 +42,43 @@ var LEFT = 0,
|
|
|
40
42
|
RIGHT = 2,
|
|
41
43
|
BOTTOM = 3;
|
|
42
44
|
|
|
45
|
+
var EnhancedTextBackgroundLayer = /*#__PURE__*/function (_TextBackgroundLayer) {
|
|
46
|
+
(0, _inherits2["default"])(EnhancedTextBackgroundLayer, _TextBackgroundLayer);
|
|
47
|
+
|
|
48
|
+
var _super = _createSuper(EnhancedTextBackgroundLayer);
|
|
49
|
+
|
|
50
|
+
function EnhancedTextBackgroundLayer() {
|
|
51
|
+
(0, _classCallCheck2["default"])(this, EnhancedTextBackgroundLayer);
|
|
52
|
+
return _super.apply(this, arguments);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
(0, _createClass2["default"])(EnhancedTextBackgroundLayer, [{
|
|
56
|
+
key: "getShaders",
|
|
57
|
+
value: function getShaders() {
|
|
58
|
+
var shaders = (0, _get2["default"])((0, _getPrototypeOf2["default"])(EnhancedTextBackgroundLayer.prototype), "getShaders", this).call(this);
|
|
59
|
+
var vs = shaders.vs; // Modify shader so that the padding is offset by the pixel offset to ensure the padding
|
|
60
|
+
// always captures the anchor point. As padding is uniform we cannot pass it a per-label value
|
|
61
|
+
|
|
62
|
+
vs = vs.replaceAll('padding.', '_padding.');
|
|
63
|
+
vs = vs.replace('void main(void) {', 'void main(void) {\n vec4 _padding = padding + instancePixelOffsets.xyxy * vec4(1.0, 1.0, -1.0, -1.0);');
|
|
64
|
+
return _objectSpread(_objectSpread({}, shaders), {}, {
|
|
65
|
+
vs: vs
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}]);
|
|
69
|
+
return EnhancedTextBackgroundLayer;
|
|
70
|
+
}(_layers._TextBackgroundLayer); // TextLayer which includes modified text-background-layer-vertex shader and only renders the
|
|
71
|
+
// primary background layer in the collision pass
|
|
72
|
+
|
|
73
|
+
|
|
43
74
|
var EnhancedTextLayer = /*#__PURE__*/function (_TextLayer) {
|
|
44
75
|
(0, _inherits2["default"])(EnhancedTextLayer, _TextLayer);
|
|
45
76
|
|
|
46
|
-
var
|
|
77
|
+
var _super2 = _createSuper(EnhancedTextLayer);
|
|
47
78
|
|
|
48
79
|
function EnhancedTextLayer() {
|
|
49
80
|
(0, _classCallCheck2["default"])(this, EnhancedTextLayer);
|
|
50
|
-
return
|
|
81
|
+
return _super2.apply(this, arguments);
|
|
51
82
|
}
|
|
52
83
|
|
|
53
84
|
(0, _createClass2["default"])(EnhancedTextLayer, [{
|
|
@@ -65,15 +96,7 @@ var EnhancedTextLayer = /*#__PURE__*/function (_TextLayer) {
|
|
|
65
96
|
}
|
|
66
97
|
}]);
|
|
67
98
|
return EnhancedTextLayer;
|
|
68
|
-
}(_layers.TextLayer);
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
_layers.TextLayer.defaultProps.fontSettings = {
|
|
72
|
-
type: 'object',
|
|
73
|
-
value: {},
|
|
74
|
-
optional: true,
|
|
75
|
-
compare: 1
|
|
76
|
-
};
|
|
99
|
+
}(_layers.TextLayer);
|
|
77
100
|
|
|
78
101
|
var defaultProps = _objectSpread(_objectSpread({}, _layers.TextLayer.defaultProps), {}, {
|
|
79
102
|
getRadius: {
|
|
@@ -90,11 +113,11 @@ var defaultProps = _objectSpread(_objectSpread({}, _layers.TextLayer.defaultProp
|
|
|
90
113
|
var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
91
114
|
(0, _inherits2["default"])(PointLabelLayer, _CompositeLayer);
|
|
92
115
|
|
|
93
|
-
var
|
|
116
|
+
var _super3 = _createSuper(PointLabelLayer);
|
|
94
117
|
|
|
95
118
|
function PointLabelLayer() {
|
|
96
119
|
(0, _classCallCheck2["default"])(this, PointLabelLayer);
|
|
97
|
-
return
|
|
120
|
+
return _super3.apply(this, arguments);
|
|
98
121
|
}
|
|
99
122
|
|
|
100
123
|
(0, _createClass2["default"])(PointLabelLayer, [{
|
|
@@ -112,9 +135,9 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
|
112
135
|
var yMult = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1; // Padding based on font size (font size / 4)
|
|
113
136
|
|
|
114
137
|
var xPadding = sizeScale / 4;
|
|
115
|
-
var yPadding = sizeScale + 1 / 4; // Place secondary label under main label (
|
|
138
|
+
var yPadding = sizeScale * (1 + 1 / 4); // Place secondary label under main label (secondary label always 'top' baseline aligned)
|
|
116
139
|
|
|
117
|
-
var secondaryOffset =
|
|
140
|
+
var secondaryOffset = 0.6 * (1 - yMult) * sizeScale;
|
|
118
141
|
var yOffset = secondary ? secondaryOffset : 0; // Special case, position relative to secondary label
|
|
119
142
|
|
|
120
143
|
if (anchor === 'middle' && alignment === 'top' && getSecondaryText) {
|
|
@@ -125,14 +148,14 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
|
125
148
|
|
|
126
149
|
|
|
127
150
|
var radiusPadding = 1 + 1 / 4;
|
|
128
|
-
return typeof getRadius === 'function' ? function (d) {
|
|
129
|
-
var r = (
|
|
151
|
+
return typeof getRadius === 'function' ? function (d, info) {
|
|
152
|
+
var r = (info ? getRadius(d, info) : 1) * radiusScale * radiusPadding;
|
|
130
153
|
return [xMult * (r + xPadding), yMult * (r + yPadding) + yOffset];
|
|
131
154
|
} : [xMult * (getRadius * radiusScale * radiusPadding + xPadding), yMult * (getRadius * radiusScale * radiusPadding + yPadding) + yOffset];
|
|
132
155
|
}
|
|
133
156
|
}, {
|
|
134
157
|
key: "calculateBackgroundPadding",
|
|
135
|
-
value: function calculateBackgroundPadding(
|
|
158
|
+
value: function calculateBackgroundPadding() {
|
|
136
159
|
var _this$props2 = this.props,
|
|
137
160
|
anchor = _this$props2.getTextAnchor,
|
|
138
161
|
alignment = _this$props2.getAlignmentBaseline,
|
|
@@ -158,14 +181,8 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
|
158
181
|
} else {
|
|
159
182
|
backgroundPadding[LEFT] = 0.5 * paddingX;
|
|
160
183
|
backgroundPadding[RIGHT] = 0.5 * paddingX;
|
|
161
|
-
}
|
|
162
|
-
|
|
184
|
+
}
|
|
163
185
|
|
|
164
|
-
var pixelOffset = Array.isArray(getPixelOffset) ? getPixelOffset : getPixelOffset();
|
|
165
|
-
backgroundPadding[LEFT] += pixelOffset[0];
|
|
166
|
-
backgroundPadding[RIGHT] -= pixelOffset[0];
|
|
167
|
-
backgroundPadding[TOP] += pixelOffset[1];
|
|
168
|
-
backgroundPadding[BOTTOM] -= pixelOffset[1];
|
|
169
186
|
return backgroundPadding;
|
|
170
187
|
}
|
|
171
188
|
}, {
|
|
@@ -206,7 +223,12 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
|
206
223
|
getPixelOffset: [updateTriggers.getRadius, updateTriggers.getTextAnchor, updateTriggers.getAlignmentBaseline, radiusScale, sizeScale]
|
|
207
224
|
})
|
|
208
225
|
}), {
|
|
209
|
-
getSize: 1
|
|
226
|
+
getSize: 1,
|
|
227
|
+
_subLayerProps: {
|
|
228
|
+
background: {
|
|
229
|
+
type: EnhancedTextBackgroundLayer
|
|
230
|
+
}
|
|
231
|
+
}
|
|
210
232
|
}, // DEBUG
|
|
211
233
|
SHOW_TEXT_BORDER ? {
|
|
212
234
|
getBackgroundColor: [0, 0, 0, 0],
|
|
@@ -225,7 +247,7 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
|
225
247
|
secondarySizeScale = _this$props4.secondarySizeScale,
|
|
226
248
|
updateTriggers = _this$props4.updateTriggers;
|
|
227
249
|
var getPixelOffset = this.calculatePixelOffset(false);
|
|
228
|
-
var backgroundPadding = this.calculateBackgroundPadding(
|
|
250
|
+
var backgroundPadding = this.calculateBackgroundPadding();
|
|
229
251
|
var out = [this.renderTextLayer('primary', {
|
|
230
252
|
backgroundPadding: backgroundPadding,
|
|
231
253
|
getText: getText,
|
|
@@ -253,5 +275,6 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
|
253
275
|
}(_core.CompositeLayer);
|
|
254
276
|
|
|
255
277
|
exports.PointLabelLayer = PointLabelLayer;
|
|
278
|
+
(0, _defineProperty2["default"])(PointLabelLayer, "layerName", 'PointLabelLayer');
|
|
256
279
|
(0, _defineProperty2["default"])(PointLabelLayer, "defaultProps", defaultProps);
|
|
257
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL3BvaW50LWxhYmVsLWxheWVyL3BvaW50LWxhYmVsLWxheWVyLmpzIl0sIm5hbWVzIjpbIlNIT1dfVEVYVF9CT1JERVIiLCJMRUZUIiwiVE9QIiwiUklHSFQiLCJCT1RUT00iLCJFbmhhbmNlZFRleHRMYXllciIsImxheWVyIiwicmVuZGVyUGFzcyIsImJhY2tncm91bmQiLCJpZCIsImluY2x1ZGVzIiwicHJvcHMiLCJnZXRCb3JkZXJXaWR0aCIsIlRleHRMYXllciIsImRlZmF1bHRQcm9wcyIsImZvbnRTZXR0aW5ncyIsInR5cGUiLCJ2YWx1ZSIsIm9wdGlvbmFsIiwiY29tcGFyZSIsImdldFJhZGl1cyIsInJhZGl1c1NjYWxlIiwibWluIiwiUG9pbnRMYWJlbExheWVyIiwic2Vjb25kYXJ5IiwiYW5jaG9yIiwiZ2V0VGV4dEFuY2hvciIsImFsaWdubWVudCIsImdldEFsaWdubWVudEJhc2VsaW5lIiwiZ2V0U2Vjb25kYXJ5VGV4dCIsInNlY29uZGFyeVNpemVTY2FsZSIsInNpemVTY2FsZSIsInhNdWx0IiwieU11bHQiLCJ4UGFkZGluZyIsInlQYWRkaW5nIiwic2Vjb25kYXJ5T2Zmc2V0IiwieU9mZnNldCIsInJhZGl1c1BhZGRpbmciLCJkIiwiciIsImdldFBpeGVsT2Zmc2V0IiwicGFkZGluZ1giLCJwYWRkaW5nWSIsImJhY2tncm91bmRQYWRkaW5nIiwicGl4ZWxPZmZzZXQiLCJBcnJheSIsImlzQXJyYXkiLCJ1cGRhdGVUcmlnZ2Vyc092ZXJyaWRlIiwidXBkYXRlVHJpZ2dlcnMiLCJkYXRhIiwiY2hhcmFjdGVyU2V0IiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJvdXRsaW5lQ29sb3IiLCJvdXRsaW5lV2lkdGgiLCJnZXRDb2xvciIsImdldFBvc2l0aW9uIiwiZ2V0U3ViTGF5ZXJQcm9wcyIsImdldFNpemUiLCJnZXRCYWNrZ3JvdW5kQ29sb3IiLCJnZXRCb3JkZXJDb2xvciIsImdldFRleHQiLCJnZXRTZWNvbmRhcnlDb2xvciIsInNlY29uZGFyeU91dGxpbmVDb2xvciIsImNhbGN1bGF0ZVBpeGVsT2Zmc2V0IiwiY2FsY3VsYXRlQmFja2dyb3VuZFBhZGRpbmciLCJvdXQiLCJyZW5kZXJUZXh0TGF5ZXIiLCJDb21wb3NpdGVMYXllciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsZ0JBQWdCLEdBQUcsS0FBekI7SUFFT0MsSSxHQUE2QixDO0lBQXZCQyxHLEdBQTBCLEM7SUFBckJDLEssR0FBd0IsQztJQUFqQkMsTSxHQUFvQixDOztJQUN2Q0MsaUI7Ozs7Ozs7Ozs7OztXQUNKLDhCQUFvQztBQUFBLFVBQXBCQyxLQUFvQixRQUFwQkEsS0FBb0I7QUFBQSxVQUFiQyxVQUFhLFFBQWJBLFVBQWE7QUFDbEMsVUFBTUMsVUFBVSxHQUFHRixLQUFLLENBQUNHLEVBQU4sQ0FBU0MsUUFBVCxDQUFrQixvQkFBbEIsQ0FBbkI7O0FBQ0EsVUFBSUgsVUFBVSxLQUFLLFdBQW5CLEVBQWdDO0FBQzlCLGVBQU9DLFVBQVAsQ0FEOEIsQ0FDWDtBQUNwQixPQUZELE1BRU87QUFDTCxlQUFPLENBQUNBLFVBQUQsSUFBZ0JSLGdCQUFnQixJQUFJLEtBQUtXLEtBQUwsQ0FBV0MsY0FBdEQsQ0FESyxDQUNrRTtBQUN4RTtBQUNGOzs7RUFSNkJDLGlCLEdBV2hDOzs7QUFDQUEsa0JBQVVDLFlBQVYsQ0FBdUJDLFlBQXZCLEdBQXNDO0FBQUNDLEVBQUFBLElBQUksRUFBRSxRQUFQO0FBQWlCQyxFQUFBQSxLQUFLLEVBQUUsRUFBeEI7QUFBNEJDLEVBQUFBLFFBQVEsRUFBRSxJQUF0QztBQUE0Q0MsRUFBQUEsT0FBTyxFQUFFO0FBQXJELENBQXRDOztBQUVBLElBQU1MLFlBQVksbUNBQ2JELGtCQUFVQyxZQURHO0FBRWhCTSxFQUFBQSxTQUFTLEVBQUU7QUFBQ0osSUFBQUEsSUFBSSxFQUFFLFVBQVA7QUFBbUJDLElBQUFBLEtBQUss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QixjQVBXLGdCQU9YQSxjQVBXO0FBU2IsVUFBTVIsY0FBYyxHQUFHLEtBQUt3QixvQkFBTCxDQUEwQixLQUExQixDQUF2QjtBQUNBLFVBQU1yQixpQkFBaUIsR0FBRyxLQUFLc0IsMEJBQUwsQ0FBZ0N6QixjQUFoQyxDQUExQjtBQUNBLFVBQU0wQixHQUFHLEdBQUcsQ0FDVixLQUFLQyxlQUFMLENBQXFCLFNBQXJCLEVBQWdDO0FBQzlCeEIsUUFBQUEsaUJBQWlCLEVBQWpCQSxpQkFEOEI7QUFFOUJrQixRQUFBQSxPQUFPLEVBQVBBLE9BRjhCO0FBRzlCckIsUUFBQUEsY0FBYyxFQUFkQSxjQUg4QjtBQUk5QmpDLFFBQUFBLFVBQVUsRUFBRSxJQUprQixDQUliOztBQUphLE9BQWhDLENBRFUsRUFPVnFCLGdCQUFnQixJQUNkLEtBQUt1QyxlQUFMLENBQXFCLFdBQXJCO0FBQ0VOLFFBQUFBLE9BQU8sRUFBRWpDLGdCQURYO0FBRUVZLFFBQUFBLGNBQWMsRUFBRSxLQUFLd0Isb0JBQUwsQ0FBMEIsSUFBMUIsQ0FGbEI7QUFHRXJDLFFBQUFBLG9CQUFvQixFQUFFLEtBSHhCO0FBSUVxQixRQUFBQSxjQUFjLEVBQUU7QUFBQ2EsVUFBQUEsT0FBTyxFQUFFYixjQUFjLENBQUNwQjtBQUF6QjtBQUpsQixTQU9Na0MsaUJBQWlCLElBQUk7QUFBQ1AsUUFBQUEsUUFBUSxFQUFFTztBQUFYLE9BUDNCLEdBUU1qQyxrQkFBa0IsSUFBSTtBQUFDQyxRQUFBQSxTQUFTLEVBQUVEO0FBQVosT0FSNUIsR0FTTWtDLHFCQUFxQixJQUFJO0FBQUNWLFFBQUFBLFlBQVksRUFBRVU7QUFBZixPQVQvQixFQVJRLENBQVo7QUFxQkEsYUFBT0csR0FBUDtBQUNEOzs7RUE5S2tDRSxvQjs7O2lDQUF4QjlDLGUsa0JBQ1dULFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvc2l0ZUxheWVyfSBmcm9tICdAZGVjay5nbC9jb3JlJztcbmltcG9ydCB7VGV4dExheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuXG4vLyBUT0RPIHJlbW92ZSBwcmlvciB0byByZWxlYXNlXG5jb25zdCBTSE9XX1RFWFRfQk9SREVSID0gZmFsc2U7XG5cbmNvbnN0IFtMRUZULCBUT1AsIFJJR0hULCBCT1RUT01dID0gWzAsIDEsIDIsIDNdO1xuY2xhc3MgRW5oYW5jZWRUZXh0TGF5ZXIgZXh0ZW5kcyBUZXh0TGF5ZXIge1xuICBmaWx0ZXJTdWJMYXllcih7bGF5ZXIsIHJlbmRlclBhc3N9KSB7XG4gICAgY29uc3QgYmFja2dyb3VuZCA9IGxheWVyLmlkLmluY2x1ZGVzKCdwcmltYXJ5LWJhY2tncm91bmQnKTtcbiAgICBpZiAocmVuZGVyUGFzcyA9PT0gJ2NvbGxpc2lvbicpIHtcbiAgICAgIHJldHVybiBiYWNrZ3JvdW5kOyAvLyBPbmx5IGRyYXcgcHJpbWFyeSBiYWNrZ3JvdW5kIGxheWVyIGluIGNvbGxpc2lvbiBwYXNzXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAhYmFja2dyb3VuZCB8fCAoU0hPV19URVhUX0JPUkRFUiAmJiB0aGlzLnByb3BzLmdldEJvcmRlcldpZHRoKTsgLy8gRG8gbm90IGRyYXcgYmFja2dyb3VuZCBsYXllciBpbiBvdGhlciBwYXNzZXNcbiAgICB9XG4gIH1cbn1cblxuLy8gVE9ETyByZW1vdmUgb25jZSBodHRwczovL2dpdGh1Yi5jb20vdmlzZ2wvZGVjay5nbC9wdWxsLzc3NTcgb3V0XG5UZXh0TGF5ZXIuZGVmYXVsdFByb3BzLmZvbnRTZXR0aW5ncyA9IHt0eXBlOiAnb2JqZWN0JywgdmFsdWU6IHt9LCBvcHRpb25hbDogdHJ1ZSwgY29tcGFyZTogMX07XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgLi4uVGV4dExheWVyLmRlZmF1bHRQcm9wcyxcbiAgZ2V0UmFkaXVzOiB7dHlwZTogJ2FjY2Vzc29yJywgdmFsdWU6IDF9LFxuICByYWRpdXNTY2FsZToge3R5cGU6ICdudW1iZXInLCBtaW46IDAsIHZhbHVlOiAxfVxufTtcblxuZXhwb3J0IGNsYXNzIFBvaW50TGFiZWxMYXllciBleHRlbmRzIENvbXBvc2l0ZUxheWVyIHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblxuICBjYWxjdWxhdGVQaXhlbE9mZnNldChzZWNvbmRhcnkpIHtcbiAgICBjb25zdCB7XG4gICAgICBnZXRUZXh0QW5jaG9yOiBhbmNob3IsXG4gICAgICBnZXRBbGlnbm1lbnRCYXNlbGluZTogYWxpZ25tZW50LFxuICAgICAgZ2V0UmFkaXVzLFxuICAgICAgZ2V0U2Vjb25kYXJ5VGV4dCxcbiAgICAgIHJhZGl1c1NjYWxlLFxuICAgICAgc2Vjb25kYXJ5U2l6ZVNjYWxlLFxuICAgICAgc2l6ZVNjYWxlXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeE11bHQgPSBhbmNob3IgPT09ICdtaWRkbGUnID8gMCA6IGFuY2hvciA9PT0gJ3N0YXJ0JyA/IDEgOiAtMTtcbiAgICBjb25zdCB5TXVsdCA9IGFsaWdubWVudCA9PT0gJ2NlbnRlcicgPyAwIDogYWxpZ25tZW50ID09PSAnYm90dG9tJyA/IDEgOiAtMTtcblxuICAgIC8vIFBhZGRpbmcgYmFzZWQgb24gZm9udCBzaXplIChmb250IHNpemUgLyA0KVxuICAgIGNvbnN0IHhQYWRkaW5nID0gc2l6ZVNjYWxlIC8gNDtcbiAgICBjb25zdCB5UGFkZGluZyA9IHNpemVTY2FsZSArIDEgLyA0O1xuXG4gICAgLy8gUGxhY2Ugc2Vjb25kYXJ5IGxhYmVsIHVuZGVyIG1haW4gbGFiZWwgKHNwYWNpbmcgMSAvIDMgbWFpbiBsYWJlbCBmb250IHNpemUpXG4gICAgY29uc3Qgc2Vjb25kYXJ5T2Zmc2V0ID0gKDEgLyAzKSAqIHNpemVTY2FsZSAtIDAuNiAqICh5TXVsdCAtIDEpICogeVBhZGRpbmc7XG4gICAgbGV0IHlPZmZzZXQgPSBzZWNvbmRhcnkgPyBzZWNvbmRhcnlPZmZzZXQgOiAwO1xuXG4gICAgLy8gU3BlY2lhbCBjYXNlLCBwb3NpdGlvbiByZWxhdGl2ZSB0byBzZWNvbmRhcnkgbGFiZWxcbiAgICBpZiAoYW5jaG9yID09PSAnbWlkZGxlJyAmJiBhbGlnbm1lbnQgPT09ICd0b3AnICYmIGdldFNlY29uZGFyeVRleHQpIHtcbiAgICAgIHlPZmZzZXQgLT0gc2Vjb25kYXJ5T2Zmc2V0O1xuICAgICAgeU9mZnNldCAtPSBzZWNvbmRhcnlTaXplU2NhbGU7XG4gICAgICB5T2Zmc2V0ICs9IHNpemVTY2FsZTtcbiAgICB9XG5cbiAgICAvLyBQYWRkaW5nIGJhc2VkIG9uIHBvaW50IHJhZGl1cyAocmFkaXVzLyA0KVxuICAgIGNvbnN0IHJhZGl1c1BhZGRpbmcgPSAxICsgMSAvIDQ7XG5cbiAgICByZXR1cm4gdHlwZW9mIGdldFJhZGl1cyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgPyBkID0+IHtcbiAgICAgICAgICBjb25zdCByID0gKGQgPyBnZXRSYWRpdXMoZCkgOiAxKSAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZztcbiAgICAgICAgICByZXR1cm4gW3hNdWx0ICogKHIgKyB4UGFkZGluZyksIHlNdWx0ICogKHIgKyB5UGFkZGluZykgKyB5T2Zmc2V0XTtcbiAgICAgICAgfVxuICAgICAgOiBbXG4gICAgICAgICAgeE11bHQgKiAoZ2V0UmFkaXVzICogcmFkaXVzU2NhbGUgKiByYWRpdXNQYWRkaW5nICsgeFBhZGRpbmcpLFxuICAgICAgICAgIHlNdWx0ICogKGdldFJhZGl1cyAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZyArIHlQYWRkaW5nKSArIHlPZmZzZXRcbiAgICAgICAgXTtcbiAgfVxuXG4gIGNhbGN1bGF0ZUJhY2tncm91bmRQYWRkaW5nKGdldFBpeGVsT2Zmc2V0KSB7XG4gICAgY29uc3Qge2dldFRleHRBbmNob3I6IGFuY2hvciwgZ2V0QWxpZ25tZW50QmFzZWxpbmU6IGFsaWdubWVudCwgc2l6ZVNjYWxlfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBIZXVyaXN0aWNzIHRvIGF2b2lkIGxhYmVsIG92ZXJsYXAgKHNob3VsZCB3ZSBiYXNlIHRoaXMgb24gdGhlIHRleHQgbGVuZ3RoPylcbiAgICBjb25zdCBwYWRkaW5nWCA9IDEyICogc2l6ZVNjYWxlO1xuICAgIGNvbnN0IHBhZGRpbmdZID0gMyAqIHNpemVTY2FsZTtcbiAgICBjb25zdCBiYWNrZ3JvdW5kUGFkZGluZyA9IFswLCAwLCAwLCAwXTtcbiAgICBpZiAoYWxpZ25tZW50ID09PSAndG9wJykge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbVE9QXSA9IHBhZGRpbmdZO1xuICAgIH0gZWxzZSBpZiAoYWxpZ25tZW50ID09PSAnYm90dG9tJykge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbQk9UVE9NXSA9IHBhZGRpbmdZO1xuICAgIH0gZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tUT1BdID0gMC41ICogcGFkZGluZ1k7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tCT1RUT01dID0gMC41ICogcGFkZGluZ1k7XG4gICAgfVxuICAgIGlmIChhbmNob3IgPT09ICdzdGFydCcpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0xFRlRdID0gcGFkZGluZ1g7XG4gICAgfSBlbHNlIGlmIChhbmNob3IgPT09ICdlbmQnKSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tSSUdIVF0gPSBwYWRkaW5nWDtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbTEVGVF0gPSAwLjUgKiBwYWRkaW5nWDtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW1JJR0hUXSA9IDAuNSAqIHBhZGRpbmdYO1xuICAgIH1cblxuICAgIC8vIEZvciBnZXRSYWRpdXMgZnVuY3Rpb24sIGludm9rZSB3aXRob3V0IGRhdGEsIGFzIHRoZXJlIGlzIG5vIGJhY2tncm91bmRQYWRkaW5nIGFjY2Vzc29yXG4gICAgY29uc3QgcGl4ZWxPZmZzZXQgPSBBcnJheS5pc0FycmF5KGdldFBpeGVsT2Zmc2V0KSA/IGdldFBpeGVsT2Zmc2V0IDogZ2V0UGl4ZWxPZmZzZXQoKTtcbiAgICBiYWNrZ3JvdW5kUGFkZGluZ1tMRUZUXSArPSBwaXhlbE9mZnNldFswXTtcbiAgICBiYWNrZ3JvdW5kUGFkZGluZ1tSSUdIVF0gLT0gcGl4ZWxPZmZzZXRbMF07XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbVE9QXSArPSBwaXhlbE9mZnNldFsxXTtcbiAgICBiYWNrZ3JvdW5kUGFkZGluZ1tCT1RUT01dIC09IHBpeGVsT2Zmc2V0WzFdO1xuXG4gICAgcmV0dXJuIGJhY2tncm91bmRQYWRkaW5nO1xuICB9XG5cbiAgcmVuZGVyVGV4dExheWVyKGlkLCB7dXBkYXRlVHJpZ2dlcnM6IHVwZGF0ZVRyaWdnZXJzT3ZlcnJpZGUsIC4uLnByb3BzfSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGRhdGEsXG5cbiAgICAgIGNoYXJhY3RlclNldCxcbiAgICAgIGZvbnRGYW1pbHksXG4gICAgICBmb250U2V0dGluZ3MsXG4gICAgICBmb250V2VpZ2h0LFxuICAgICAgb3V0bGluZUNvbG9yLFxuICAgICAgb3V0bGluZVdpZHRoLFxuICAgICAgc2l6ZVNjYWxlLFxuICAgICAgcmFkaXVzU2NhbGUsXG5cbiAgICAgIGdldEFsaWdubWVudEJhc2VsaW5lLFxuICAgICAgZ2V0Q29sb3IsXG4gICAgICBnZXRQb3NpdGlvbixcbiAgICAgIGdldFRleHRBbmNob3IsXG5cbiAgICAgIHVwZGF0ZVRyaWdnZXJzXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gbmV3IEVuaGFuY2VkVGV4dExheWVyKFxuICAgICAgdGhpcy5nZXRTdWJMYXllclByb3BzKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGRhdGE6IGRhdGEsXG5cbiAgICAgICAgY2hhcmFjdGVyU2V0LFxuICAgICAgICBmb250RmFtaWx5LFxuICAgICAgICBmb250U2V0dGluZ3MsXG4gICAgICAgIGZvbnRXZWlnaHQsXG4gICAgICAgIG91dGxpbmVDb2xvcixcbiAgICAgICAgb3V0bGluZVdpZHRoLFxuICAgICAgICBzaXplU2NhbGUsXG5cbiAgICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmUsXG4gICAgICAgIGdldENvbG9yLFxuICAgICAgICBnZXRQb3NpdGlvbixcbiAgICAgICAgZ2V0VGV4dEFuY2hvcixcblxuICAgICAgICB1cGRhdGVUcmlnZ2Vyczoge1xuICAgICAgICAgIC4uLnVwZGF0ZVRyaWdnZXJzLFxuICAgICAgICAgIC4uLnVwZGF0ZVRyaWdnZXJzT3ZlcnJpZGUsXG4gICAgICAgICAgZ2V0UGl4ZWxPZmZzZXQ6IFtcbiAgICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzLmdldFJhZGl1cyxcbiAgICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzLmdldFRleHRBbmNob3IsXG4gICAgICAgICAgICB1cGRhdGVUcmlnZ2Vycy5nZXRBbGlnbm1lbnRCYXNlbGluZSxcbiAgICAgICAgICAgIHJhZGl1c1NjYWxlLFxuICAgICAgICAgICAgc2l6ZVNjYWxlXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHtcbiAgICAgICAgZ2V0U2l6ZTogMVxuICAgICAgfSxcbiAgICAgIC8vIERFQlVHXG4gICAgICBTSE9XX1RFWFRfQk9SREVSXG4gICAgICAgID8ge2dldEJhY2tncm91bmRDb2xvcjogWzAsIDAsIDAsIDBdLCBnZXRCb3JkZXJDb2xvcjogWzI1NSwgMCwgMCwgODBdLCBnZXRCb3JkZXJXaWR0aDogMX1cbiAgICAgICAgOiB7fSxcbiAgICAgIHByb3BzXG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlckxheWVycygpIHtcbiAgICBjb25zdCB7XG4gICAgICBnZXRUZXh0LFxuICAgICAgZ2V0U2Vjb25kYXJ5Q29sb3IsXG4gICAgICBnZXRTZWNvbmRhcnlUZXh0LFxuICAgICAgc2Vjb25kYXJ5T3V0bGluZUNvbG9yLFxuICAgICAgc2Vjb25kYXJ5U2l6ZVNjYWxlLFxuICAgICAgdXBkYXRlVHJpZ2dlcnNcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBnZXRQaXhlbE9mZnNldCA9IHRoaXMuY2FsY3VsYXRlUGl4ZWxPZmZzZXQoZmFsc2UpO1xuICAgIGNvbnN0IGJhY2tncm91bmRQYWRkaW5nID0gdGhpcy5jYWxjdWxhdGVCYWNrZ3JvdW5kUGFkZGluZyhnZXRQaXhlbE9mZnNldCk7XG4gICAgY29uc3Qgb3V0ID0gW1xuICAgICAgdGhpcy5yZW5kZXJUZXh0TGF5ZXIoJ3ByaW1hcnknLCB7XG4gICAgICAgIGJhY2tncm91bmRQYWRkaW5nLFxuICAgICAgICBnZXRUZXh0LFxuICAgICAgICBnZXRQaXhlbE9mZnNldCxcbiAgICAgICAgYmFja2dyb3VuZDogdHJ1ZSAvLyBPbmx5IHVzZSBiYWNrZ3JvdW5kIGZvciBwcmltYXJ5IGxhYmVsIGZvciBmYXN0ZXIgY29sbGlzaW9uc1xuICAgICAgfSksXG4gICAgICBnZXRTZWNvbmRhcnlUZXh0ICYmXG4gICAgICAgIHRoaXMucmVuZGVyVGV4dExheWVyKCdzZWNvbmRhcnknLCB7XG4gICAgICAgICAgZ2V0VGV4dDogZ2V0U2Vjb25kYXJ5VGV4dCxcbiAgICAgICAgICBnZXRQaXhlbE9mZnNldDogdGhpcy5jYWxjdWxhdGVQaXhlbE9mZnNldCh0cnVlKSxcbiAgICAgICAgICBnZXRBbGlnbm1lbnRCYXNlbGluZTogJ3RvcCcsXG4gICAgICAgICAgdXBkYXRlVHJpZ2dlcnM6IHtnZXRUZXh0OiB1cGRhdGVUcmlnZ2Vycy5nZXRTZWNvbmRhcnlUZXh0fSxcblxuICAgICAgICAgIC8vIE9wdGlvbmFsIG92ZXJyaWRlc1xuICAgICAgICAgIC4uLihnZXRTZWNvbmRhcnlDb2xvciAmJiB7Z2V0Q29sb3I6IGdldFNlY29uZGFyeUNvbG9yfSksXG4gICAgICAgICAgLi4uKHNlY29uZGFyeVNpemVTY2FsZSAmJiB7c2l6ZVNjYWxlOiBzZWNvbmRhcnlTaXplU2NhbGV9KSxcbiAgICAgICAgICAuLi4oc2Vjb25kYXJ5T3V0bGluZUNvbG9yICYmIHtvdXRsaW5lQ29sb3I6IHNlY29uZGFyeU91dGxpbmVDb2xvcn0pXG4gICAgICAgIH0pXG4gICAgXTtcblxuICAgIHJldHVybiBvdXQ7XG4gIH1cbn1cbiJdfQ==
|
|
280
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL3BvaW50LWxhYmVsLWxheWVyL3BvaW50LWxhYmVsLWxheWVyLmpzIl0sIm5hbWVzIjpbIlNIT1dfVEVYVF9CT1JERVIiLCJMRUZUIiwiVE9QIiwiUklHSFQiLCJCT1RUT00iLCJFbmhhbmNlZFRleHRCYWNrZ3JvdW5kTGF5ZXIiLCJzaGFkZXJzIiwidnMiLCJyZXBsYWNlQWxsIiwicmVwbGFjZSIsIlRleHRCYWNrZ3JvdW5kTGF5ZXIiLCJFbmhhbmNlZFRleHRMYXllciIsImxheWVyIiwicmVuZGVyUGFzcyIsImJhY2tncm91bmQiLCJpZCIsImluY2x1ZGVzIiwicHJvcHMiLCJnZXRCb3JkZXJXaWR0aCIsIlRleHRMYXllciIsImRlZmF1bHRQcm9wcyIsImdldFJhZGl1cyIsInR5cGUiLCJ2YWx1ZSIsInJhZGl1c1NjYWxlIiwibWluIiwiUG9pbnRMYWJlbExheWVyIiwic2Vjb25kYXJ5IiwiYW5jaG9yIiwiZ2V0VGV4dEFuY2hvciIsImFsaWdubWVudCIsImdldEFsaWdubWVudEJhc2VsaW5lIiwiZ2V0U2Vjb25kYXJ5VGV4dCIsInNlY29uZGFyeVNpemVTY2FsZSIsInNpemVTY2FsZSIsInhNdWx0IiwieU11bHQiLCJ4UGFkZGluZyIsInlQYWRkaW5nIiwic2Vjb25kYXJ5T2Zmc2V0IiwieU9mZnNldCIsInJhZGl1c1BhZGRpbmciLCJkIiwiaW5mbyIsInIiLCJwYWRkaW5nWCIsInBhZGRpbmdZIiwiYmFja2dyb3VuZFBhZGRpbmciLCJ1cGRhdGVUcmlnZ2Vyc092ZXJyaWRlIiwidXBkYXRlVHJpZ2dlcnMiLCJkYXRhIiwiY2hhcmFjdGVyU2V0IiwiZm9udEZhbWlseSIsImZvbnRTZXR0aW5ncyIsImZvbnRXZWlnaHQiLCJvdXRsaW5lQ29sb3IiLCJvdXRsaW5lV2lkdGgiLCJnZXRDb2xvciIsImdldFBvc2l0aW9uIiwiZ2V0U3ViTGF5ZXJQcm9wcyIsImdldFBpeGVsT2Zmc2V0IiwiZ2V0U2l6ZSIsIl9zdWJMYXllclByb3BzIiwiZ2V0QmFja2dyb3VuZENvbG9yIiwiZ2V0Qm9yZGVyQ29sb3IiLCJnZXRUZXh0IiwiZ2V0U2Vjb25kYXJ5Q29sb3IiLCJzZWNvbmRhcnlPdXRsaW5lQ29sb3IiLCJjYWxjdWxhdGVQaXhlbE9mZnNldCIsImNhbGN1bGF0ZUJhY2tncm91bmRQYWRkaW5nIiwib3V0IiwicmVuZGVyVGV4dExheWVyIiwiQ29tcG9zaXRlTGF5ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsZ0JBQWdCLEdBQUcsS0FBekI7SUFFT0MsSSxHQUE2QixDO0lBQXZCQyxHLEdBQTBCLEM7SUFBckJDLEssR0FBd0IsQztJQUFqQkMsTSxHQUFvQixDOztJQUV2Q0MsMkI7Ozs7Ozs7Ozs7OztXQUNKLHNCQUFhO0FBQ1gsVUFBTUMsT0FBTyxnSUFBYjtBQUNBLFVBQUlDLEVBQUUsR0FBR0QsT0FBTyxDQUFDQyxFQUFqQixDQUZXLENBSVg7QUFDQTs7QUFDQUEsTUFBQUEsRUFBRSxHQUFHQSxFQUFFLENBQUNDLFVBQUgsQ0FBYyxVQUFkLEVBQTBCLFdBQTFCLENBQUw7QUFDQUQsTUFBQUEsRUFBRSxHQUFHQSxFQUFFLENBQUNFLE9BQUgsQ0FDSCxtQkFERyxFQUVILHdHQUZHLENBQUw7QUFLQSw2Q0FBV0gsT0FBWDtBQUFvQkMsUUFBQUEsRUFBRSxFQUFGQTtBQUFwQjtBQUNEOzs7RUFkdUNHLDRCLEdBaUIxQztBQUNBOzs7SUFDTUMsaUI7Ozs7Ozs7Ozs7OztXQUNKLDhCQUFvQztBQUFBLFVBQXBCQyxLQUFvQixRQUFwQkEsS0FBb0I7QUFBQSxVQUFiQyxVQUFhLFFBQWJBLFVBQWE7QUFDbEMsVUFBTUMsVUFBVSxHQUFHRixLQUFLLENBQUNHLEVBQU4sQ0FBU0MsUUFBVCxDQUFrQixvQkFBbEIsQ0FBbkI7O0FBQ0EsVUFBSUgsVUFBVSxLQUFLLFdBQW5CLEVBQWdDO0FBQzlCLGVBQU9DLFVBQVAsQ0FEOEIsQ0FDWDtB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LFVBQU1yQixpQkFBaUIsR0FBRyxLQUFLc0IsMEJBQUwsRUFBMUI7QUFDQSxVQUFNQyxHQUFHLEdBQUcsQ0FDVixLQUFLQyxlQUFMLENBQXFCLFNBQXJCLEVBQWdDO0FBQzlCeEIsUUFBQUEsaUJBQWlCLEVBQWpCQSxpQkFEOEI7QUFFOUJrQixRQUFBQSxPQUFPLEVBQVBBLE9BRjhCO0FBRzlCTCxRQUFBQSxjQUFjLEVBQWRBLGNBSDhCO0FBSTlCOUMsUUFBQUEsVUFBVSxFQUFFLElBSmtCLENBSWI7O0FBSmEsT0FBaEMsQ0FEVSxFQU9Wa0IsZ0JBQWdCLElBQ2QsS0FBS3VDLGVBQUwsQ0FBcUIsV0FBckI7QUFDRU4sUUFBQUEsT0FBTyxFQUFFakMsZ0JBRFg7QUFFRTRCLFFBQUFBLGNBQWMsRUFBRSxLQUFLUSxvQkFBTCxDQUEwQixJQUExQixDQUZsQjtBQUdFckMsUUFBQUEsb0JBQW9CLEVBQUUsS0FIeEI7QUFJRWtCLFFBQUFBLGNBQWMsRUFBRTtBQUFDZ0IsVUFBQUEsT0FBTyxFQUFFaEIsY0FBYyxDQUFDakI7QUFBekI7QUFKbEIsU0FPTWtDLGlCQUFpQixJQUFJO0FBQUNULFFBQUFBLFFBQVEsRUFBRVM7QUFBWCxPQVAzQixHQVFNakMsa0JBQWtCLElBQUk7QUFBQ0MsUUFBQUEsU0FBUyxFQUFFRDtBQUFaLE9BUjVCLEdBU01rQyxxQkFBcUIsSUFBSTtBQUFDWixRQUFBQSxZQUFZLEVBQUVZO0FBQWYsT0FUL0IsRUFSUSxDQUFaO0FBcUJBLGFBQU9HLEdBQVA7QUFDRDs7O0VBektrQ0Usb0I7OztpQ0FBeEI5QyxlLGVBQ1EsaUI7aUNBRFJBLGUsa0JBRVdOLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvc2l0ZUxheWVyfSBmcm9tICdAZGVjay5nbC9jb3JlJztcbmltcG9ydCB7VGV4dExheWVyLCBfVGV4dEJhY2tncm91bmRMYXllciBhcyBUZXh0QmFja2dyb3VuZExheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuXG4vLyBUT0RPIHJlbW92ZSBwcmlvciB0byByZWxlYXNlXG5jb25zdCBTSE9XX1RFWFRfQk9SREVSID0gZmFsc2U7XG5cbmNvbnN0IFtMRUZULCBUT1AsIFJJR0hULCBCT1RUT01dID0gWzAsIDEsIDIsIDNdO1xuXG5jbGFzcyBFbmhhbmNlZFRleHRCYWNrZ3JvdW5kTGF5ZXIgZXh0ZW5kcyBUZXh0QmFja2dyb3VuZExheWVyIHtcbiAgZ2V0U2hhZGVycygpIHtcbiAgICBjb25zdCBzaGFkZXJzID0gc3VwZXIuZ2V0U2hhZGVycygpO1xuICAgIGxldCB2cyA9IHNoYWRlcnMudnM7XG5cbiAgICAvLyBNb2RpZnkgc2hhZGVyIHNvIHRoYXQgdGhlIHBhZGRpbmcgaXMgb2Zmc2V0IGJ5IHRoZSBwaXhlbCBvZmZzZXQgdG8gZW5zdXJlIHRoZSBwYWRkaW5nXG4gICAgLy8gYWx3YXlzIGNhcHR1cmVzIHRoZSBhbmNob3IgcG9pbnQuIEFzIHBhZGRpbmcgaXMgdW5pZm9ybSB3ZSBjYW5ub3QgcGFzcyBpdCBhIHBlci1sYWJlbCB2YWx1ZVxuICAgIHZzID0gdnMucmVwbGFjZUFsbCgncGFkZGluZy4nLCAnX3BhZGRpbmcuJyk7XG4gICAgdnMgPSB2cy5yZXBsYWNlKFxuICAgICAgJ3ZvaWQgbWFpbih2b2lkKSB7JyxcbiAgICAgICd2b2lkIG1haW4odm9pZCkge1xcbiAgdmVjNCBfcGFkZGluZyA9IHBhZGRpbmcgKyBpbnN0YW5jZVBpeGVsT2Zmc2V0cy54eXh5ICogdmVjNCgxLjAsIDEuMCwgLTEuMCwgLTEuMCk7J1xuICAgICk7XG5cbiAgICByZXR1cm4gey4uLnNoYWRlcnMsIHZzfTtcbiAgfVxufVxuXG4vLyBUZXh0TGF5ZXIgd2hpY2ggaW5jbHVkZXMgbW9kaWZpZWQgdGV4dC1iYWNrZ3JvdW5kLWxheWVyLXZlcnRleCBzaGFkZXIgYW5kIG9ubHkgcmVuZGVycyB0aGVcbi8vIHByaW1hcnkgYmFja2dyb3VuZCBsYXllciBpbiB0aGUgY29sbGlzaW9uIHBhc3NcbmNsYXNzIEVuaGFuY2VkVGV4dExheWVyIGV4dGVuZHMgVGV4dExheWVyIHtcbiAgZmlsdGVyU3ViTGF5ZXIoe2xheWVyLCByZW5kZXJQYXNzfSkge1xuICAgIGNvbnN0IGJhY2tncm91bmQgPSBsYXllci5pZC5pbmNsdWRlcygncHJpbWFyeS1iYWNrZ3JvdW5kJyk7XG4gICAgaWYgKHJlbmRlclBhc3MgPT09ICdjb2xsaXNpb24nKSB7XG4gICAgICByZXR1cm4gYmFja2dyb3VuZDsgLy8gT25seSBkcmF3IHByaW1hcnkgYmFja2dyb3VuZCBsYXllciBpbiBjb2xsaXNpb24gcGFzc1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gIWJhY2tncm91bmQgfHwgKFNIT1dfVEVYVF9CT1JERVIgJiYgdGhpcy5wcm9wcy5nZXRCb3JkZXJXaWR0aCk7IC8vIERvIG5vdCBkcmF3IGJhY2tncm91bmQgbGF5ZXIgaW4gb3RoZXIgcGFzc2VzXG4gICAgfVxuICB9XG59XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgLi4uVGV4dExheWVyLmRlZmF1bHRQcm9wcyxcbiAgZ2V0UmFkaXVzOiB7dHlwZTogJ2FjY2Vzc29yJywgdmFsdWU6IDF9LFxuICByYWRpdXNTY2FsZToge3R5cGU6ICdudW1iZXInLCBtaW46IDAsIHZhbHVlOiAxfVxufTtcblxuZXhwb3J0IGNsYXNzIFBvaW50TGFiZWxMYXllciBleHRlbmRzIENvbXBvc2l0ZUxheWVyIHtcbiAgc3RhdGljIGxheWVyTmFtZSA9ICdQb2ludExhYmVsTGF5ZXInO1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG4gIGNhbGN1bGF0ZVBpeGVsT2Zmc2V0KHNlY29uZGFyeSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGdldFRleHRBbmNob3I6IGFuY2hvcixcbiAgICAgIGdldEFsaWdubWVudEJhc2VsaW5lOiBhbGlnbm1lbnQsXG4gICAgICBnZXRSYWRpdXMsXG4gICAgICBnZXRTZWNvbmRhcnlUZXh0LFxuICAgICAgcmFkaXVzU2NhbGUsXG4gICAgICBzZWNvbmRhcnlTaXplU2NhbGUsXG4gICAgICBzaXplU2NhbGVcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB4TXVsdCA9IGFuY2hvciA9PT0gJ21pZGRsZScgPyAwIDogYW5jaG9yID09PSAnc3RhcnQnID8gMSA6IC0xO1xuICAgIGNvbnN0IHlNdWx0ID0gYWxpZ25tZW50ID09PSAnY2VudGVyJyA/IDAgOiBhbGlnbm1lbnQgPT09ICdib3R0b20nID8gMSA6IC0xO1xuXG4gICAgLy8gUGFkZGluZyBiYXNlZCBvbiBmb250IHNpemUgKGZvbnQgc2l6ZSAvIDQpXG4gICAgY29uc3QgeFBhZGRpbmcgPSBzaXplU2NhbGUgLyA0O1xuICAgIGNvbnN0IHlQYWRkaW5nID0gc2l6ZVNjYWxlICogKDEgKyAxIC8gNCk7XG5cbiAgICAvLyBQbGFjZSBzZWNvbmRhcnkgbGFiZWwgdW5kZXIgbWFpbiBsYWJlbCAoc2Vjb25kYXJ5IGxhYmVsIGFsd2F5cyAndG9wJyBiYXNlbGluZSBhbGlnbmVkKVxuICAgIGNvbnN0IHNlY29uZGFyeU9mZnNldCA9IDAuNiAqICgxIC0geU11bHQpICogc2l6ZVNjYWxlO1xuICAgIGxldCB5T2Zmc2V0ID0gc2Vjb25kYXJ5ID8gc2Vjb25kYXJ5T2Zmc2V0IDogMDtcblxuICAgIC8vIFNwZWNpYWwgY2FzZSwgcG9zaXRpb24gcmVsYXRpdmUgdG8gc2Vjb25kYXJ5IGxhYmVsXG4gICAgaWYgKGFuY2hvciA9PT0gJ21pZGRsZScgJiYgYWxpZ25tZW50ID09PSAndG9wJyAmJiBnZXRTZWNvbmRhcnlUZXh0KSB7XG4gICAgICB5T2Zmc2V0IC09IHNlY29uZGFyeU9mZnNldDtcbiAgICAgIHlPZmZzZXQgLT0gc2Vjb25kYXJ5U2l6ZVNjYWxlO1xuICAgICAgeU9mZnNldCArPSBzaXplU2NhbGU7XG4gICAgfVxuXG4gICAgLy8gUGFkZGluZyBiYXNlZCBvbiBwb2ludCByYWRpdXMgKHJhZGl1cy8gNClcbiAgICBjb25zdCByYWRpdXNQYWRkaW5nID0gMSArIDEgLyA0O1xuXG4gICAgcmV0dXJuIHR5cGVvZiBnZXRSYWRpdXMgPT09ICdmdW5jdGlvbidcbiAgICAgID8gKGQsIGluZm8pID0+IHtcbiAgICAgICAgICBjb25zdCByID0gKGluZm8gPyBnZXRSYWRpdXMoZCwgaW5mbykgOiAxKSAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZztcbiAgICAgICAgICByZXR1cm4gW3hNdWx0ICogKHIgKyB4UGFkZGluZyksIHlNdWx0ICogKHIgKyB5UGFkZGluZykgKyB5T2Zmc2V0XTtcbiAgICAgICAgfVxuICAgICAgOiBbXG4gICAgICAgICAgeE11bHQgKiAoZ2V0UmFkaXVzICogcmFkaXVzU2NhbGUgKiByYWRpdXNQYWRkaW5nICsgeFBhZGRpbmcpLFxuICAgICAgICAgIHlNdWx0ICogKGdldFJhZGl1cyAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZyArIHlQYWRkaW5nKSArIHlPZmZzZXRcbiAgICAgICAgXTtcbiAgfVxuXG4gIGNhbGN1bGF0ZUJhY2tncm91bmRQYWRkaW5nKCkge1xuICAgIGNvbnN0IHtnZXRUZXh0QW5jaG9yOiBhbmNob3IsIGdldEFsaWdubWVudEJhc2VsaW5lOiBhbGlnbm1lbnQsIHNpemVTY2FsZX0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gSGV1cmlzdGljcyB0byBhdm9pZCBsYWJlbCBvdmVybGFwIChzaG91bGQgd2UgYmFzZSB0aGlzIG9uIHRoZSB0ZXh0IGxlbmd0aD8pXG4gICAgY29uc3QgcGFkZGluZ1ggPSAxMiAqIHNpemVTY2FsZTtcbiAgICBjb25zdCBwYWRkaW5nWSA9IDMgKiBzaXplU2NhbGU7XG4gICAgY29uc3QgYmFja2dyb3VuZFBhZGRpbmcgPSBbMCwgMCwgMCwgMF07XG4gICAgaWYgKGFsaWdubWVudCA9PT0gJ3RvcCcpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW1RPUF0gPSBwYWRkaW5nWTtcbiAgICB9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ2JvdHRvbScpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0JPVFRPTV0gPSBwYWRkaW5nWTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbVE9QXSA9IDAuNSAqIHBhZGRpbmdZO1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbQk9UVE9NXSA9IDAuNSAqIHBhZGRpbmdZO1xuICAgIH1cbiAgICBpZiAoYW5jaG9yID09PSAnc3RhcnQnKSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tMRUZUXSA9IHBhZGRpbmdYO1xuICAgIH0gZWxzZSBpZiAoYW5jaG9yID09PSAnZW5kJykge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbUklHSFRdID0gcGFkZGluZ1g7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0xFRlRdID0gMC41ICogcGFkZGluZ1g7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tSSUdIVF0gPSAwLjUgKiBwYWRkaW5nWDtcbiAgICB9XG5cbiAgICByZXR1cm4gYmFja2dyb3VuZFBhZGRpbmc7XG4gIH1cblxuICByZW5kZXJUZXh0TGF5ZXIoaWQsIHt1cGRhdGVUcmlnZ2VyczogdXBkYXRlVHJpZ2dlcnNPdmVycmlkZSwgLi4ucHJvcHN9KSB7XG4gICAgY29uc3Qge1xuICAgICAgZGF0YSxcblxuICAgICAgY2hhcmFjdGVyU2V0LFxuICAgICAgZm9udEZhbWlseSxcbiAgICAgIGZvbnRTZXR0aW5ncyxcbiAgICAgIGZvbnRXZWlnaHQsXG4gICAgICBvdXRsaW5lQ29sb3IsXG4gICAgICBvdXRsaW5lV2lkdGgsXG4gICAgICBzaXplU2NhbGUsXG4gICAgICByYWRpdXNTY2FsZSxcblxuICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmUsXG4gICAgICBnZXRDb2xvcixcbiAgICAgIGdldFBvc2l0aW9uLFxuICAgICAgZ2V0VGV4dEFuY2hvcixcblxuICAgICAgdXBkYXRlVHJpZ2dlcnNcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBuZXcgRW5oYW5jZWRUZXh0TGF5ZXIoXG4gICAgICB0aGlzLmdldFN1YkxheWVyUHJvcHMoe1xuICAgICAgICBpZCxcbiAgICAgICAgZGF0YTogZGF0YSxcblxuICAgICAgICBjaGFyYWN0ZXJTZXQsXG4gICAgICAgIGZvbnRGYW1pbHksXG4gICAgICAgIGZvbnRTZXR0aW5ncyxcbiAgICAgICAgZm9udFdlaWdodCxcbiAgICAgICAgb3V0bGluZUNvbG9yLFxuICAgICAgICBvdXRsaW5lV2lkdGgsXG4gICAgICAgIHNpemVTY2FsZSxcblxuICAgICAgICBnZXRBbGlnbm1lbnRCYXNlbGluZSxcbiAgICAgICAgZ2V0Q29sb3IsXG4gICAgICAgIGdldFBvc2l0aW9uLFxuICAgICAgICBnZXRUZXh0QW5jaG9yLFxuXG4gICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB7XG4gICAgICAgICAgLi4udXBkYXRlVHJpZ2dlcnMsXG4gICAgICAgICAgLi4udXBkYXRlVHJpZ2dlcnNPdmVycmlkZSxcbiAgICAgICAgICBnZXRQaXhlbE9mZnNldDogW1xuICAgICAgICAgICAgdXBkYXRlVHJpZ2dlcnMuZ2V0UmFkaXVzLFxuICAgICAgICAgICAgdXBkYXRlVHJpZ2dlcnMuZ2V0VGV4dEFuY2hvcixcbiAgICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzLmdldEFsaWdubWVudEJhc2VsaW5lLFxuICAgICAgICAgICAgcmFkaXVzU2NhbGUsXG4gICAgICAgICAgICBzaXplU2NhbGVcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAge1xuICAgICAgICBnZXRTaXplOiAxLFxuICAgICAgICBfc3ViTGF5ZXJQcm9wczoge2JhY2tncm91bmQ6IHt0eXBlOiBFbmhhbmNlZFRleHRCYWNrZ3JvdW5kTGF5ZXJ9fVxuICAgICAgfSxcbiAgICAgIC8vIERFQlVHXG4gICAgICBTSE9XX1RFWFRfQk9SREVSXG4gICAgICAgID8ge2dldEJhY2tncm91bmRDb2xvcjogWzAsIDAsIDAsIDBdLCBnZXRCb3JkZXJDb2xvcjogWzI1NSwgMCwgMCwgODBdLCBnZXRCb3JkZXJXaWR0aDogMX1cbiAgICAgICAgOiB7fSxcbiAgICAgIHByb3BzXG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlckxheWVycygpIHtcbiAgICBjb25zdCB7XG4gICAgICBnZXRUZXh0LFxuICAgICAgZ2V0U2Vjb25kYXJ5Q29sb3IsXG4gICAgICBnZXRTZWNvbmRhcnlUZXh0LFxuICAgICAgc2Vjb25kYXJ5T3V0bGluZUNvbG9yLFxuICAgICAgc2Vjb25kYXJ5U2l6ZVNjYWxlLFxuICAgICAgdXBkYXRlVHJpZ2dlcnNcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBnZXRQaXhlbE9mZnNldCA9IHRoaXMuY2FsY3VsYXRlUGl4ZWxPZmZzZXQoZmFsc2UpO1xuICAgIGNvbnN0IGJhY2tncm91bmRQYWRkaW5nID0gdGhpcy5jYWxjdWxhdGVCYWNrZ3JvdW5kUGFkZGluZygpO1xuICAgIGNvbnN0IG91dCA9IFtcbiAgICAgIHRoaXMucmVuZGVyVGV4dExheWVyKCdwcmltYXJ5Jywge1xuICAgICAgICBiYWNrZ3JvdW5kUGFkZGluZyxcbiAgICAgICAgZ2V0VGV4dCxcbiAgICAgICAgZ2V0UGl4ZWxPZmZzZXQsXG4gICAgICAgIGJhY2tncm91bmQ6IHRydWUgLy8gT25seSB1c2UgYmFja2dyb3VuZCBmb3IgcHJpbWFyeSBsYWJlbCBmb3IgZmFzdGVyIGNvbGxpc2lvbnNcbiAgICAgIH0pLFxuICAgICAgZ2V0U2Vjb25kYXJ5VGV4dCAmJlxuICAgICAgICB0aGlzLnJlbmRlclRleHRMYXllcignc2Vjb25kYXJ5Jywge1xuICAgICAgICAgIGdldFRleHQ6IGdldFNlY29uZGFyeVRleHQsXG4gICAgICAgICAgZ2V0UGl4ZWxPZmZzZXQ6IHRoaXMuY2FsY3VsYXRlUGl4ZWxPZmZzZXQodHJ1ZSksXG4gICAgICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmU6ICd0b3AnLFxuICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB7Z2V0VGV4dDogdXBkYXRlVHJpZ2dlcnMuZ2V0U2Vjb25kYXJ5VGV4dH0sXG5cbiAgICAgICAgICAvLyBPcHRpb25hbCBvdmVycmlkZXNcbiAgICAgICAgICAuLi4oZ2V0U2Vjb25kYXJ5Q29sb3IgJiYge2dldENvbG9yOiBnZXRTZWNvbmRhcnlDb2xvcn0pLFxuICAgICAgICAgIC4uLihzZWNvbmRhcnlTaXplU2NhbGUgJiYge3NpemVTY2FsZTogc2Vjb25kYXJ5U2l6ZVNjYWxlfSksXG4gICAgICAgICAgLi4uKHNlY29uZGFyeU91dGxpbmVDb2xvciAmJiB7b3V0bGluZUNvbG9yOiBzZWNvbmRhcnlPdXRsaW5lQ29sb3J9KVxuICAgICAgICB9KVxuICAgIF07XG5cbiAgICByZXR1cm4gb3V0O1xuICB9XG59XG4iXX0=
|
package/dist/localization/en.js
CHANGED
|
@@ -70,7 +70,7 @@ var _default = {
|
|
|
70
70
|
outlineColor: 'Outline color',
|
|
71
71
|
textAnchor: 'Text anchor',
|
|
72
72
|
alignment: 'Alignment',
|
|
73
|
-
addMoreLabel: 'Add
|
|
73
|
+
addMoreLabel: 'Add secondary label'
|
|
74
74
|
}
|
|
75
75
|
},
|
|
76
76
|
sidebar: {
|
|
@@ -477,4 +477,4 @@ var _default = {
|
|
|
477
477
|
Share: 'Share'
|
|
478
478
|
};
|
|
479
479
|
exports["default"] = _default;
|
|
480
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vZW4uanMiXSwibmFtZXMiOlsicHJvcGVydHkiLCJ3ZWlnaHQiLCJsYWJlbCIsImZpbGxDb2xvciIsImNvbG9yIiwiY292ZXJhZ2UiLCJzdHJva2VDb2xvciIsInJhZGl1cyIsIm91dGxpbmUiLCJzdHJva2UiLCJkZW5zaXR5IiwiaGVpZ2h0Iiwic3VtIiwicG9pbnRDb3VudCIsImN1c3RvbU1hcmtlcnMiLCJyb3RhdGlvbiIsInBsYWNlaG9sZGVyIiwic2VhcmNoIiwic2VsZWN0RmllbGQiLCJ5QXhpcyIsInNlbGVjdFR5cGUiLCJzZWxlY3RWYWx1ZSIsImVudGVyVmFsdWUiLCJlbXB0eSIsIm1pc2MiLCJieSIsInZhbHVlc0luIiwidmFsdWVFcXVhbHMiLCJkYXRhU291cmNlIiwiYnJ1c2hSYWRpdXMiLCJtYXBMYXllcnMiLCJ0aXRsZSIsInJvYWQiLCJib3JkZXIiLCJidWlsZGluZyIsIndhdGVyIiwibGFuZCIsInBhbmVsIiwidGV4dCIsIm1haW5MYWJlbCIsInNlY29uZGFyeUxhYmVsIiwiZm9udFNpemUiLCJmb250Q29sb3IiLCJvdXRsaW5lQ29sb3IiLCJ0ZXh0QW5jaG9yIiwiYWxpZ25tZW50IiwiYWRkTW9yZUxhYmVsIiwic2lkZWJhciIsInBhbmVscyIsImxheWVyIiwiZmlsdGVyIiwiaW50ZXJhY3Rpb24iLCJiYXNlbWFwIiwicmVxdWlyZWQiLCJzaXplIiwicHJvcGVydHlCYXNlZE9uIiwic3Ryb2tlV2lkdGgiLCJiYXNpYyIsInRyYWlsTGVuZ3RoIiwidHJhaWxMZW5ndGhEZXNjcmlwdGlvbiIsIm5ld0xheWVyIiwiZWxldmF0aW9uQnlEZXNjcmlwdGlvbiIsImNvbG9yQnlEZXNjcmlwdGlvbiIsImFnZ3JlZ2F0ZUJ5IiwiYWRkVXJsIiwidHlwZSIsInBvaW50IiwiYXJjIiwibGluZSIsImdyaWQiLCJoZXhiaW4iLCJwb2x5Z29uIiwiZ2VvanNvbiIsImNsdXN0ZXIiLCJpY29uIiwiaGVhdG1hcCIsImhleGFnb24iLCJoZXhhZ29uaWQiLCJ0cmlwIiwiczIiLCJjb2xvclJhbmdlIiwibGF5ZXJWaXNDb25maWdzIiwiYW5nbGUiLCJzdHJva2VXaWR0aFJhbmdlIiwicmFkaXVzUmFuZ2UiLCJjbHVzdGVyUmFkaXVzIiwicmFkaXVzUmFuZ2VQaXhlbHMiLCJvcGFjaXR5Iiwic3Ryb2tlQ29sb3JSYW5nZSIsInRhcmdldENvbG9yIiwiY29sb3JBZ2dyZWdhdGlvbiIsImhlaWdodEFnZ3JlZ2F0aW9uIiwicmVzb2x1dGlvblJhbmdlIiwic2l6ZVNjYWxlIiwid29ybGRVbml0U2l6ZSIsImVsZXZhdGlvblNjYWxlIiwiZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvciIsImVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3JEZXNjcmlwdGlvbiIsImVuYWJsZUhlaWdodFpvb21GYWN0b3IiLCJoZWlnaHRTY2FsZSIsImNvdmVyYWdlUmFuZ2UiLCJoaWdoUHJlY2lzaW9uUmVuZGVyaW5nIiwiaGlnaFByZWNpc2lvblJlbmRlcmluZ0Rlc2NyaXB0aW9uIiwiaGVpZ2h0RGVzY3JpcHRpb24iLCJsYWJlbHMiLCJmaWxsIiwiZW5hYmxlUG9seWdvbkhlaWdodCIsInNob3dXaXJlZnJhbWUiLCJ3ZWlnaHRJbnRlbnNpdHkiLCJ6b29tU2NhbGUiLCJoZWlnaHRSYW5nZSIsImhlaWdodE11bHRpcGxpZXIiLCJ1cmwiLCJsYXllclZpc2liaWxpdHkiLCJsYXllck1hbmFnZXIiLCJhZGREYXRhIiwiYWRkTGF5ZXIiLCJsYXllckJsZW5kaW5nIiwibWFwTWFuYWdlciIsIm1hcFN0eWxlIiwiYWRkTWFwU3R5bGUiLCJsYXllckNvbmZpZ3VyYXRpb24iLCJkZWZhdWx0RGVzY3JpcHRpb24iLCJob3dUbyIsImZpbHRlck1hbmFnZXIiLCJhZGRGaWx0ZXIiLCJkYXRhc2V0VGl0bGUiLCJzaG93RGF0YVRhYmxlIiwicmVtb3ZlRGF0YXNldCIsImRhdGFzZXRJbmZvIiwicm93Q291bnQiLCJ0b29sdGlwIiwiaGlkZUxheWVyIiwic2hvd0xheWVyIiwiaGlkZUZlYXR1cmUiLCJzaG93RmVhdHVyZSIsImhpZGUiLCJzaG93IiwicmVtb3ZlTGF5ZXIiLCJkdXBsaWNhdGVMYXllciIsImxheWVyU2V0dGluZ3MiLCJjbG9zZVBhbmVsIiwic3dpdGNoVG9EdWFsVmlldyIsInNob3dMZWdlbmQiLCJkaXNhYmxlM0RNYXAiLCJEcmF3T25NYXAiLCJzZWxlY3RMb2NhbGUiLCJoaWRlTGF5ZXJQYW5lbCIsInNob3dMYXllclBhbmVsIiwibW92ZVRvVG9wIiwic2VsZWN0QmFzZU1hcFN0eWxlIiwidGltZVBsYXliYWNrIiwiY2xvdWRTdG9yYWdlIiwiYW5pbWF0aW9uQnlXaW5kb3ciLCJhbmltYXRpb25CeUluY3JlbWVudGFsIiwic3BlZWQiLCJwbGF5IiwicGF1c2UiLCJyZXNldCIsInRvb2xiYXIiLCJleHBvcnRJbWFnZSIsImV4cG9ydERhdGEiLCJleHBvcnRNYXAiLCJzaGFyZU1hcFVSTCIsInNhdmVNYXAiLCJzZWxlY3QiLCJyZWN0YW5nbGUiLCJMT0NBTEVTIiwiZWRpdG9yIiwiZmlsdGVyTGF5ZXIiLCJjb3B5R2VvbWV0cnkiLCJtb2RhbCIsImRlbGV0ZURhdGFzZXQiLCJhZGREYXRhVG9NYXAiLCJhZGRDdXN0b21NYXBib3hTdHlsZSIsInNoYXJlVVJMIiwiYnV0dG9uIiwiZG93bmxvYWQiLCJhZGRTdHlsZSIsInNhdmUiLCJkZWZhdWx0Q2FuY2VsIiwiZGVmYXVsdENvbmZpcm0iLCJyYXRpb1RpdGxlIiwicmF0aW9EZXNjcmlwdGlvbiIsInJhdGlvT3JpZ2luYWxTY3JlZW4iLCJyYXRpb0N1c3RvbSIsInJhdGlvNF8zIiwicmF0aW8xNl85IiwicmVzb2x1dGlvblRpdGxlIiwicmVzb2x1dGlvbkRlc2NyaXB0aW9uIiwibWFwTGVnZW5kVGl0bGUiLCJtYXBMZWdlbmRBZGQiLCJkYXRhc2V0U3VidGl0bGUiLCJhbGxEYXRhc2V0cyIsImRhdGFUeXBlVGl0bGUiLCJkYXRhVHlwZVN1YnRpdGxlIiwiZmlsdGVyRGF0YVRpdGxlIiwiZmlsdGVyRGF0YVN1YnRpdGxlIiwiZmlsdGVyZWREYXRhIiwidW5maWx0ZXJlZERhdGEiLCJmaWxlQ291bnQiLCJkZWxldGVEYXRhIiwid2FybmluZyIsInB1Ymxpc2hUaXRsZSIsInB1Ymxpc2hTdWJ0aXRsZTEiLCJwdWJsaXNoU3VidGl0bGUyIiwicHVibGlzaFN1YnRpdGxlMyIsInB1Ymxpc2hTdWJ0aXRsZTQiLCJwdWJsaXNoU3VidGl0bGU1IiwicHVibGlzaFN1YnRpdGxlNiIsInB1Ymxpc2hTdWJ0aXRsZTciLCJleGFtcGxlVG9rZW4iLCJwYXN0ZVRpdGxlIiwicGFzdGVTdWJ0aXRsZTAiLCJwYXN0ZVN1YnRpdGxlMSIsInBhc3RlU3VidGl0bGUyIiwicGFzdGVTdWJ0aXRsZTMiLCJwYXN0ZVN1YnRpdGxlNCIsIm5hbWluZ1RpdGxlIiwic2hhcmVNYXAiLCJzaGFyZVVyaVRpdGxlIiwic2hhcmVVcmlTdWJ0aXRsZSIsImNsb3VkVGl0bGUiLCJjbG91ZFN1YnRpdGxlIiwic2hhcmVEaXNjbGFpbWVyIiwiZ290b1BhZ2UiLCJzdGF0dXNQYW5lbCIsIm1hcFVwbG9hZGluZyIsImVycm9yIiwic3VidGl0bGUiLCJmb3JtYXRUaXRsZSIsImZvcm1hdFN1YnRpdGxlIiwiaHRtbCIsInNlbGVjdGlvbiIsInRva2VuVGl0bGUiLCJ0b2tlblN1YnRpdGxlIiwidG9rZW5QbGFjZWhvbGRlciIsInRva2VuTWlzdXNlV2FybmluZyIsInRva2VuRGlzY2xhaW1lciIsInRva2VuVXBkYXRlIiwibW9kZVRpdGxlIiwibW9kZVN1YnRpdGxlMSIsIm1vZGVTdWJ0aXRsZTIiLCJtb2RlRGVzY3JpcHRpb24iLCJyZWFkIiwiZWRpdCIsImpzb24iLCJjb25maWdUaXRsZSIsImNvbmZpZ0Rpc2NsYWltZXIiLCJkaXNjbGFpbWVyIiwibG9hZGluZ0RpYWxvZyIsImxvYWRpbmciLCJsb2FkRGF0YSIsInVwbG9hZCIsInN0b3JhZ2UiLCJ0cmlwSW5mbyIsImRlc2NyaXB0aW9uMSIsImNvZGUiLCJkZXNjcmlwdGlvbjIiLCJleGFtcGxlIiwiaWNvbkluZm8iLCJpY29ucyIsInN0b3JhZ2VNYXBWaWV3ZXIiLCJsYXN0TW9kaWZpZWQiLCJiYWNrIiwib3ZlcndyaXRlTWFwIiwiYWxyZWFkeUV4aXN0cyIsImxvYWRTdG9yYWdlTWFwIiwiZ29Ub1BhZ2UiLCJzdG9yYWdlTWFwcyIsIm5vU2F2ZWRNYXBzIiwiaGVhZGVyIiwidmlzaWJsZUxheWVycyIsImxheWVyTGVnZW5kIiwiaW50ZXJhY3Rpb25zIiwiYnJ1c2giLCJjb29yZGluYXRlIiwiZ2VvY29kZXIiLCJhZGRpdGl2ZSIsIm5vcm1hbCIsInN1YnRyYWN0aXZlIiwiY29sdW1ucyIsImxhdCIsImxuZyIsImFsdGl0dWRlIiwidG9rZW4iLCJsYXQwIiwibG5nMCIsImxhdDEiLCJsbmcxIiwiYWx0MCIsImFsdDEiLCJoZXhfaWQiLCJjdXN0b21QYWxldHRlIiwic3RlcHMiLCJyZXZlcnNlZCIsImFwcGx5IiwiY2FuY2VsIiwiYWRkU3RlcCIsInNjYWxlIiwiY29sb3JTY2FsZSIsInN0cm9rZVNjYWxlIiwiZmlsZVVwbG9hZGVyIiwibWVzc2FnZSIsImNocm9tZU1lc3NhZ2UiLCJjb25maWdVcGxvYWRNZXNzYWdlIiwiYnJvd3NlRmlsZXMiLCJ1cGxvYWRpbmciLCJmaWxlTm90U3VwcG9ydGVkIiwib3IiLCJmaWVsZFNlbGVjdG9yIiwiY2xlYXJBbGwiLCJmb3JtYXR0aW5nIiwiY29tcGFyZSIsIm1vZGVMYWJlbCIsInR5cGVMYWJlbCIsInR5cGVzIiwiYWJzb2x1dGUiLCJyZWxhdGl2ZSIsIm1hcFBvcG92ZXIiLCJwcmltYXJ5IiwiU2F2ZSIsIlNoYXJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7Ozs7O2VBRWU7QUFDYkEsRUFBQUEsUUFBUSxFQUFFO0FBQ1JDLElBQUFBLE1BQU0sRUFBRSxRQURBO0FBRVJDLElBQUFBLEtBQUssRUFBRSxPQUZDO0FBR1JDLElBQUFBLFNBQVMsRUFBRSxZQUhIO0FBSVJDLElBQUFBLEtBQUssRUFBRSxPQUpDO0FBS1JDLElBQUFBLFFBQVEsRUFBRSxVQUxGO0FBTVJDLElBQUFBLFdBQVcsRUFBRSxjQU5MO0FBT1JDLElBQUFBLE1BQU0sRUFBRSxRQVBBO0FBUVJDLElBQUFBLE9BQU8sRUFBRSxTQVJEO0FBU1JDLElBQUFBLE1BQU0sRUFBRSxRQVRBO0FBVVJDLElBQUFBLE9BQU8sRUFBRSxTQVZEO0FBV1JDLElBQUFBLE1BQU0sRUFBRSxRQVhBO0FBWVJDLElBQUFBLEdBQUcsRUFBRSxLQVpHO0FBYVJDLElBQUFBLFVBQVUsRUFBRSxhQWJKO0FBY1JDLElBQUFBLGFBQWEsRUFBRSxTQWRQO0FBZVJDLElBQUFBLFFBQVEsRUFBRTtBQWZGLEdBREc7QUFrQmJDLEVBQUFBLFdBQVcsRUFBRTtBQUNYQyxJQUFBQSxNQUFNLEVBQUUsUUFERztBQUVYQyxJQUFBQSxXQUFXLEVBQUUsZ0JBRkY7QUFHWEMsSUFBQUEsS0FBSyxFQUFFLFFBSEk7QUFJWEMsSUFBQUEsVUFBVSxFQUFFLGVBSkQ7QUFLWEMsSUFBQUEsV0FBVyxFQUFFLGdCQUxGO0FBTVhDLElBQUFBLFVBQVUsRUFBRSxlQU5EO0FBT1hDLElBQUFBLEtBQUssRUFBRTtBQVBJLEdBbEJBO0FBMkJiQyxFQUFBQSxJQUFJLEVBQUU7QUFDSkMsSUFBQUEsRUFBRSxFQUFFLEVBREE7QUFFSkMsSUFBQUEsUUFBUSxFQUFFLFdBRk47QUFHSkMsSUFBQUEsV0FBVyxFQUFFLGNBSFQ7QUFJSkMsSUFBQUEsVUFBVSxFQUFFLGFBSlI7QUFLSkMsSUFBQUEsV0FBVyxFQUFFLG1CQUxUO0FBTUpOLElBQUFBLEtBQUssRUFBRTtBQU5ILEdBM0JPO0FBbUNiTyxFQUFBQSxTQUFTLEVBQUU7QUFDVEMsSUFBQUEsS0FBSyxFQUFFLFlBREU7QUFFVDdCLElBQUFBLEtBQUssRUFBRSxPQUZFO0FBR1Q4QixJQUFBQSxJQUFJLEVBQUUsTUFIRztBQUlUQyxJQUFBQSxNQUFNLEVBQUUsUUFKQztBQUtUQyxJQUFBQSxRQUFRLEVBQUUsVUFMRDtBQU1UQyxJQUFBQSxLQUFLLEVBQUUsT0FORTtBQU9UQyxJQUFBQSxJQUFJLEVBQUUsTUFQRztBQVFULGtCQUFjO0FBUkwsR0FuQ0U7QUE2Q2JDLEVBQUFBLEtBQUssRUFBRTtBQUNMQyxJQUFBQSxJQUFJLEVBQUU7QUFDSnBDLE1BQUFBLEtBQUssRUFBRSxPQURIO0FBRUpxQyxNQUFBQSxTQUFTLEVBQUUsWUFGUDtBQUdKQyxNQUFBQSxjQUFjLEVBQUUsaUJBSFo7QUFJSkMsTUFBQUEsUUFBUSxFQUFFLFdBSk47QUFLSkMsTUFBQUEsU0FBUyxFQUFFLFlBTFA7QUFNSkMsTUFBQUEsWUFBWSxFQUFFLGVBTlY7QUFPSkMsTUFBQUEsVUFBVSxFQUFFLGFBUFI7QUFRSkMsTUFBQUEsU0FBUyxFQUFFLFdBUlA7QUFTSkMsTUFBQUEsWUFBWSxFQUFFO0FBVFY7QUFERCxHQTdDTTtBQTBEYkMsRUFBQUEsT0FBTyxFQUFFO0FBQ1BDLElBQUFBLE1BQU0sRUFBRTtBQUNOQyxNQUFBQSxLQUFLLEVBQUUsUUFERDtBQUVOQyxNQUFBQSxNQUFNLEVBQUUsU0FGRjtBQUdOQyxNQUFBQSxXQUFXLEVBQUUsY0FIUDtBQUlOQyxNQUFBQSxPQUFPLEVBQUU7QUFKSDtBQURELEdBMURJO0FBa0ViSCxFQUFBQSxLQUFLLEVBQUU7QUFDTEksSUFBQUEsUUFBUSxFQUFFLFdBREw7QUFFTDlDLElBQUFBLE1BQU0sRUFBRSxRQUZIO0FBR0wrQyxJQUFBQSxJQUFJLEVBQUUsTUFIRDtBQUlMbEQsSUFBQUEsS0FBSyxFQUFFLE9BSkY7QUFLTEQsSUFBQUEsU0FBUyxFQUFFLFlBTE47QUFNTEssSUFBQUEsT0FBTyxFQUFFLFNBTko7QUFPTFAsSUFBQUEsTUFBTSxFQUFFLFFBUEg7QUFRTHNELElBQUFBLGVBQWUsRUFBRSxxQkFSWjtBQVNMbEQsSUFBQUEsUUFBUSxFQUFFLFVBVEw7QUFVTEksSUFBQUEsTUFBTSxFQUFFLFFBVkg7QUFXTCtDLElBQUFBLFdBQVcsRUFBRSxjQVhSO0FBWUxsRCxJQUFBQSxXQUFXLEVBQUUsY0FaUjtBQWFMbUQsSUFBQUEsS0FBSyxFQUFFLE9BYkY7QUFjTEMsSUFBQUEsV0FBVyxFQUFFLGNBZFI7QUFlTEMsSUFBQUEsc0JBQXNCLEVBQUUscURBZm5CO0FBZ0JMQyxJQUFBQSxRQUFRLEVBQUUsV0FoQkw7QUFpQkxDLElBQUFBLHNCQUFzQixFQUFFLDhDQWpCbkI7QUFrQkxDLElBQUFBLGtCQUFrQixFQUFFLDZDQWxCZjtBQW1CTEMsSUFBQUEsV0FBVyxFQUFFLHNCQW5CUjtBQW9CTEMsSUFBQUEsTUFBTSxFQUFFLFNBcEJIO0FBcUJMLGVBQVcsVUFyQk47QUFzQkwsc0JBQWtCLGtCQXRCYjtBQXVCTEMsSUFBQUEsSUFBSSxFQUFFO0FBQ0pDLE1BQUFBLEtBQUssRUFBRSxPQURIO0FBRUpDLE1BQUFBLEdBQUcsRUFBRSxLQUZEO0FBR0pDLE1BQUFBLElBQUksRUFBRSxNQUhGO0FBSUpDLE1BQUFBLElBQUksRUFBRSxNQUpGO0FBS0pDLE1BQUFBLE1BQU0sRUFBRSxRQUxKO0FBTUpDLE1BQUFBLE9BQU8sRUFBRSxTQU5MO0FBT0pDLE1BQUFBLE9BQU8sRUFBRSxTQVBMO0FBUUpDLE1BQUFBLE9BQU8sRUFBRSxTQVJMO0FBU0pDLE1BQUFBLElBQUksRUFBRSxNQVRGO0FBVUpDLE1BQUFBLE9BQU8sRUFBRSxTQVZMO0FBV0pDLE1BQUFBLE9BQU8sRUFBRSxTQVhMO0FBWUpDLE1BQUFBLFNBQVMsRUFBRSxJQVpQO0FBYUpDLE1BQUFBLElBQUksRUFBRSxNQWJGO0FBY0pDLE1BQUFBLEVBQUUsRUFBRSxJQWRBO0FBZUosWUFBTTtBQWZGLEtBdkJEO0FBd0NMQyxJQUFBQSxVQUFVLEVBQUU7QUF4Q1AsR0FsRU07QUE0R2JDLEVBQUFBLGVBQWUsRUFBRTtBQUNmQyxJQUFBQSxLQUFLLEVBQUUsT0FEUTtBQUVmMUIsSUFBQUEsV0FBVyxFQUFFLHVCQUZFO0FBR2YyQixJQUFBQSxnQkFBZ0IsRUFBRSxvQkFISDtBQUlmNUUsSUFBQUEsTUFBTSxFQUFFLFFBSk87QUFLZjZFLElBQUFBLFdBQVcsRUFBRSxjQUxFO0FBTWZDLElBQUFBLGFBQWEsRUFBRSwwQkFOQTtBQU9mQyxJQUFBQSxpQkFBaUIsRUFBRSx3QkFQSjtBQVFmQyxJQUFBQSxPQUFPLEVBQUUsU0FSTTtBQVNmbEYsSUFBQUEsUUFBUSxFQUFFLFVBVEs7QUFVZkcsSUFBQUEsT0FBTyxFQUFFLFNBVk07QUFXZndFLElBQUFBLFVBQVUsRUFBRSxhQVhHO0FBWWZ2RSxJQUFBQSxNQUFNLEVBQUUsUUFaTztBQWFmSCxJQUFBQSxXQUFXLEVBQUUsY0FiRTtBQWNma0YsSUFBQUEsZ0JBQWdCLEVBQUUsb0JBZEg7QUFlZkMsSUFBQUEsV0FBVyxFQUFFLGNBZkU7QUFnQmZDLElBQUFBLGdCQUFnQixFQUFFLG1CQWhCSDtBQWlCZkMsSUFBQUEsaUJBQWlCLEVBQUUsb0JBakJKO0FBa0JmQyxJQUFBQSxlQUFlLEVBQUUsa0JBbEJGO0FBbUJmQyxJQUFBQSxTQUFTLEVBQUUsWUFuQkk7QUFvQmZDLElBQUFBLGFBQWEsRUFBRSxpQkFwQkE7QUFxQmZDLElBQUFBLGNBQWMsRUFBRSxpQkFyQkQ7QUFzQmZDLElBQUFBLHlCQUF5QixFQUFFLDJCQXRCWjtBQXVCZkMsSUFBQUEsb0NBQW9DLEVBQUUsc0RBdkJ2QjtBQXdCZkMsSUFBQUEsc0JBQXNCLEVBQUUsd0JBeEJUO0FBeUJmQyxJQUFBQSxXQUFXLEVBQUUsY0F6QkU7QUEwQmZDLElBQUFBLGFBQWEsRUFBRSxnQkExQkE7QUEyQmZDLElBQUFBLHNCQUFzQixFQUFFLDBCQTNCVDtBQTRCZkMsSUFBQUEsaUNBQWlDLEVBQUUsa0RBNUJwQjtBQTZCZjNGLElBQUFBLE1BQU0sRUFBRSxRQTdCTztBQThCZjRGLElBQUFBLGlCQUFpQixFQUFFLDJEQTlCSjtBQStCZkMsSUFBQUEsTUFBTSxFQUFFLFFBL0JPO0FBZ0NmQyxJQUFBQSxJQUFJLEVBQUUsTUFoQ1M7QUFpQ2ZDLElBQUFBLG1CQUFtQixFQUFFLHVCQWpDTjtBQWtDZkMsSUFBQUEsYUFBYSxFQUFFLGdCQWxDQTtBQW1DZkMsSUFBQUEsZUFBZSxFQUFFLGtCQW5DRjtBQW9DZkMsSUFBQUEsU0FBUyxFQUFFLFlBcENJO0FBcUNmQyxJQUFBQSxXQUFXLEVBQUUsY0FyQ0U7QUFzQ2ZDLElBQUFBLGdCQUFnQixFQUFFLG1CQXRDSDtBQXVDZmpHLElBQUFBLGFBQWEsRUFBRSxnQkF2Q0E7QUF3Q2ZrRyxJQUFBQSxHQUFHLEVBQUU7QUF4Q1UsR0E1R0o7QUFzSmJDLEVBQUFBLGVBQWUsRUFBRTtBQUNmbEYsSUFBQUEsS0FBSyxFQUFFO0FBRFEsR0F0Sko7QUF5SmJtRixFQUFBQSxZQUFZLEVBQUU7QUFDWkMsSUFBQUEsT0FBTyxFQUFFLFVBREc7QUFFWkMsSUFBQUEsUUFBUSxFQUFFLFdBRkU7QUFHWkMsSUFBQUEsYUFBYSxFQUFFO0FBSEgsR0F6SkQ7QUE4SmJDLEVBQUFBLFVBQVUsRUFBRTtBQUNWQyxJQUFBQSxRQUFRLEVBQUUsV0FEQTtBQUVWQyxJQUFBQSxXQUFXLEVBQUUsZUFGSDtBQUdWLHVCQUFtQjtBQUhULEdBOUpDO0FBbUtiQyxFQUFBQSxrQkFBa0IsRUFBRTtBQUNsQkMsSUFBQUEsa0JBQWtCLEVBQUUsOENBREY7QUFFbEJDLElBQUFBLEtBQUssRUFBRTtBQUZXLEdBbktQO0FBdUtiQyxFQUFBQSxhQUFhLEVBQUU7QUFDYkMsSUFBQUEsU0FBUyxFQUFFO0FBREUsR0F2S0Y7QUEwS2JDLEVBQUFBLFlBQVksRUFBRTtBQUNaQyxJQUFBQSxhQUFhLEVBQUUsaUJBREg7QUFFWkMsSUFBQUEsYUFBYSxFQUFFO0FBRkgsR0ExS0Q7QUE4S2JDLEVBQUFBLFdBQVcsRUFBRTtBQUNYQyxJQUFBQSxRQUFRLEVBQUU7QUFEQyxHQTlLQTtBQWlMYkMsRUFBQUEsT0FBTyxFQUFFO0FBQ1BDLElBQUFBLFNBQVMsRUFBRSxZQURKO0FBRVBDLElBQUFBLFNBQVMsRUFBRSxZQUZKO0FBR1BDLElBQUFBLFdBQVcsRUFBRSxjQUhOO0FBSVBDLElBQUFBLFdBQVcsRUFBRSxjQUpOO0FBS1BDLElBQUFBLElBQUksRUFBRSxNQUxDO0FBTVBDLElBQUFBLElBQUksRUFBRSxNQU5DO0FBT1BDLElBQUFBLFdBQVcsRUFBRSxjQVBOO0FBUVBDLElBQUFBLGNBQWMsRUFBRSxpQkFSVDtBQVNQQyxJQUFBQSxhQUFhLEVBQUUsZ0JBVFI7QUFVUEMsSUFBQUEsVUFBVSxFQUFFLHFCQVZMO0FBV1BDLElBQUFBLGdCQUFnQixFQUFFLHlCQVhYO0FBWVBDLElBQUFBLFVBQVUsRUFBRSxhQVpMO0FBYVBDLElBQUFBLFlBQVksRUFBRSxnQkFiUDtBQWNQQyxJQUFBQSxTQUFTLEVBQUUsYUFkSjtBQWVQQyxJQUFBQSxZQUFZLEVBQUUsZUFmUDtBQWdCUEMsSUFBQUEsY0FBYyxFQUFFLGtCQWhCVDtBQWlCUEMsSUFBQUEsY0FBYyxFQUFFLGtCQWpCVDtBQWtCUEMsSUFBQUEsU0FBUyxFQUFFLDRCQWxCSjtBQW1CUEMsSUFBQUEsa0JBQWtCLEVBQUUsdUJBbkJiO0FBb0JQLGNBQVEsUUFwQkQ7QUFxQlBDLElBQUFBLFlBQVksRUFBRSxlQXJCUDtBQXNCUEMsSUFBQUEsWUFBWSxFQUFFLGVBdEJQO0FBdUJQLGFBQVMsUUF2QkY7QUF3QlBDLElBQUFBLGlCQUFpQixFQUFFLG9CQXhCWjtBQXlCUEMsSUFBQUEsc0JBQXNCLEVBQUUseUJBekJqQjtBQTBCUEMsSUFBQUEsS0FBSyxFQUFFLE9BMUJBO0FBMkJQQyxJQUFBQSxJQUFJLEVBQUUsTUEzQkM7QUE0QlBDLElBQUFBLEtBQUssRUFBRSxPQTVCQTtBQTZCUEMsSUFBQUEsS0FBSyxFQUFFO0FBN0JBLEdBakxJO0FBZ05iQyxFQUFBQSxPQUFPO0FBQ0xDLElBQUFBLFdBQVcsRUFBRSxjQURSO0FBRUxDLElBQUFBLFVBQVUsRUFBRSxhQUZQO0FBR0xDLElBQUFBLFNBQVMsRUFBRSxZQUhOO0FBSUxDLElBQUFBLFdBQVcsRUFBRSxlQUpSO0FBS0xDLElBQUFBLE9BQU8sRUFBRSxVQUxKO0FBTUxDLElBQUFBLE1BQU0sRUFBRSxRQU5IO0FBT0w5RixJQUFBQSxPQUFPLEVBQUUsU0FQSjtBQVFMK0YsSUFBQUEsU0FBUyxFQUFFLFdBUk47QUFTTDlCLElBQUFBLElBQUksRUFBRSxNQVREO0FBVUxDLElBQUFBLElBQUksRUFBRTtBQVZELEtBV0Y4QixnQkFYRSxDQWhOTTtBQTZOYkMsRUFBQUEsTUFBTSxFQUFFO0FBQ05DLElBQUFBLFdBQVcsRUFBRSxlQURQO0FBRU5DLElBQUFBLFlBQVksRUFBRTtBQUZSLEdBN05LO0FBa09iQyxFQUFBQSxLQUFLLEVBQUU7QUFDTDVJLElBQUFBLEtBQUssRUFBRTtBQUNMNkksTUFBQUEsYUFBYSxFQUFFLGdCQURWO0FBRUxDLE1BQUFBLFlBQVksRUFBRSxpQkFGVDtBQUdMYixNQUFBQSxXQUFXLEVBQUUsY0FIUjtBQUlMQyxNQUFBQSxVQUFVLEVBQUUsYUFKUDtBQUtMQyxNQUFBQSxTQUFTLEVBQUUsWUFMTjtBQU1MWSxNQUFBQSxvQkFBb0IsRUFBRSxzQkFOakI7QUFPTFYsTUFBQUEsT0FBTyxFQUFFLFVBUEo7QUFRTFcsTUFBQUEsUUFBUSxFQUFFO0FBUkwsS0FERjtBQVdMQyxJQUFBQSxNQUFNLEVBQUU7QUFDTixnQkFBUSxRQURGO0FBRU5DLE1BQUFBLFFBQVEsRUFBRSxVQUZKO0FBR04sZ0JBQVEsUUFIRjtBQUlOQyxNQUFBQSxRQUFRLEVBQUUsV0FKSjtBQUtOQyxNQUFBQSxJQUFJLEVBQUUsTUFMQTtBQU1OQyxNQUFBQSxhQUFhLEVBQUUsUUFOVDtBQU9OQyxNQUFBQSxjQUFjLEVBQUU7QUFQVixLQVhIO0FBb0JMckIsSUFBQUEsV0FBVyxFQUFFO0FBQ1hzQixNQUFBQSxVQUFVLEVBQUUsT0FERDtBQUVYQyxNQUFBQSxnQkFBZ0IsRUFBRSxzQ0FGUDtBQUdYQyxNQUFBQSxtQkFBbUIsRUFBRSxpQkFIVjtBQUlYQyxNQUFBQSxXQUFXLEVBQUUsUUFKRjtBQUtYQyxNQUFBQSxRQUFRLEVBQUUsS0FMQztBQU1YQyxNQUFBQSxTQUFTLEVBQUUsTUFOQTtBQU9YQyxNQUFBQSxlQUFlLEVBQUUsWUFQTjtBQVFYQyxNQUFBQSxxQkFBcUIsRUFBRSx1Q0FSWjtBQVNYQyxNQUFBQSxjQUFjLEVBQUUsWUFUTDtBQVVYQyxNQUFBQSxZQUFZLEVBQUU7QUFWSCxLQXBCUjtBQWdDTDlCLElBQUFBLFVBQVUsRUFBRTtBQUNWbkMsTUFBQUEsWUFBWSxFQUFFLFNBREo7QUFFVmtFLE1BQUFBLGVBQWUsRUFBRSx3Q0FGUDtBQUdWQyxNQUFBQSxXQUFXLEVBQUUsS0FISDtBQUlWQyxNQUFBQSxhQUFhLEVBQUUsV0FKTDtBQUtWQyxNQUFBQSxnQkFBZ0IsRUFBRSw0Q0FMUjtBQU1WQyxNQUFBQSxlQUFlLEVBQUUsYUFOUDtBQU9WQyxNQUFBQSxrQkFBa0IsRUFBRSx5REFQVjtBQVFWQyxNQUFBQSxZQUFZLEVBQUUsZUFSSjtBQVNWQyxNQUFBQSxjQUFjLEVBQUUsaUJBVE47QUFVVkMsTUFBQUEsU0FBUyxFQUFFLG1CQVZEO0FBV1Z0RSxNQUFBQSxRQUFRLEVBQUU7QUFYQSxLQWhDUDtBQTZDTHVFLElBQUFBLFVBQVUsRUFBRTtBQUNWQyxNQUFBQSxPQUFPLEVBQUU7QUFEQyxLQTdDUDtBQWdETHhCLElBQUFBLFFBQVEsRUFBRTtBQUNSeUIsTUFBQUEsWUFBWSxFQUNWLDRHQUZNO0FBR1JDLE1BQUFBLGdCQUFnQixFQUFFLHNDQUhWO0FBSVJDLE1BQUFBLGdCQUFnQixFQUFFLEtBSlY7QUFLUkMsTUFBQUEsZ0JBQWdCLEVBQUUsU0FMVjtBQU1SQyxNQUFBQSxnQkFBZ0IsRUFBRSxLQU5WO0FBT1JDLE1BQUFBLGdCQUFnQixFQUFFLGtDQVBWO0FBUVJDLE1BQUFBLGdCQUFnQixFQUFFLGNBUlY7QUFTUkMsTUFBQUEsZ0JBQWdCLEVBQ2QsNkVBVk07QUFXUkMsTUFBQUEsWUFBWSxFQUFFLHdCQVhOO0FBWVJDLE1BQUFBLFVBQVUsRUFBRSxvQkFaSjtBQWFSQyxNQUFBQSxjQUFjLEVBQUUsMkJBYlI7QUFjUkMsTUFBQUEsY0FBYyxFQUFFLFdBZFI7QUFlUkMsTUFBQUEsY0FBYyxFQUFFLFdBZlI7QUFnQlJDLE1BQUFBLGNBQWMsRUFBRSwyQkFoQlI7QUFpQlJDLE1BQUFBLGNBQWMsRUFBRSxzQkFqQlI7QUFrQlJDLE1BQUFBLFdBQVcsRUFBRTtBQWxCTCxLQWhETDtBQW9FTEMsSUFBQUEsUUFBUSxFQUFFO0FBQ1JDLE1BQUFBLGFBQWEsRUFBRSxlQURQO0FBRVJDLE1BQUFBLGdCQUFnQixFQUFFLHlDQUZWO0FBR1JDLE1BQUFBLFVBQVUsRUFBRSxlQUhKO0FBSVJDLE1BQUFBLGFBQWEsRUFBRSwwREFKUDtBQUtSQyxNQUFBQSxlQUFlLEVBQ2IsOEhBQ0Esa0VBUE07QUFRUkMsTUFBQUEsUUFBUSxFQUFFO0FBUkYsS0FwRUw7QUE4RUxDLElBQUFBLFdBQVcsRUFBRTtBQUNYQyxNQUFBQSxZQUFZLEVBQUUsZUFESDtBQUVYQyxNQUFBQSxLQUFLLEVBQUU7QUFGSSxLQTlFUjtBQWtGTGhFLElBQUFBLE9BQU8sRUFBRTtBQUNQckksTUFBQUEsS0FBSyxFQUFFLGVBREE7QUFFUHNNLE1BQUFBLFFBQVEsRUFBRTtBQUZILEtBbEZKO0FBc0ZMbkUsSUFBQUEsU0FBUyxFQUFFO0FBQ1RvRSxNQUFBQSxXQUFXLEVBQUUsWUFESjtBQUVUQyxNQUFBQSxjQUFjLEVBQUUseUNBRlA7QUFHVEMsTUFBQUEsSUFBSSxFQUFFO0FBQ0pDLFFBQUFBLFNBQVMsRUFBRSxnREFEUDtBQUVKQyxRQUFBQSxVQUFVLEVBQUUscUJBRlI7QUFHSkMsUUFBQUEsYUFBYSxFQUFFLHlEQUhYO0FBSUpDLFFBQUFBLGdCQUFnQixFQUFFLGdDQUpkO0FBS0pDLFFBQUFBLGtCQUFrQixFQUNoQix3SEFORTtBQU9KQyxRQUFBQSxlQUFlLEVBQUUsMEVBUGI7QUFRSkMsUUFBQUEsV0FBVyxFQUFFLHNDQVJUO0FBU0pDLFFBQUFBLFNBQVMsRUFBRSxVQVRQO0FBVUpDLFFBQUFBLGFBQWEsRUFBRSw0QkFWWDtBQVdKQyxRQUFBQSxhQUFhLEVBQUUsTUFYWDtBQVlKQyxRQUFBQSxlQUFlLEVBQUUsK0JBWmI7QUFhSkMsUUFBQUEsSUFBSSxFQUFFLE1BYkY7QUFjSkMsUUFBQUEsSUFBSSxFQUFFO0FBZEYsT0FIRztBQW1CVEMsTUFBQUEsSUFBSSxFQUFFO0FBQ0pDLFFBQUFBLFdBQVcsRUFBRSxZQURUO0FBRUpDLFFBQUFBLGdCQUFnQixFQUNkLG9JQUhFO0FBSUpmLFFBQUFBLFNBQVMsRUFDUCxrSUFMRTtBQU1KZ0IsUUFBQUEsVUFBVSxFQUNSLGlJQUNBO0FBUkU7QUFuQkcsS0F0Rk47QUFvSExDLElBQUFBLGFBQWEsRUFBRTtBQUNiQyxNQUFBQSxPQUFPLEVBQUU7QUFESSxLQXBIVjtBQXVITEMsSUFBQUEsUUFBUSxFQUFFO0FBQ1JDLE1BQUFBLE1BQU0sRUFBRSxZQURBO0FBRVJDLE1BQUFBLE9BQU8sRUFBRTtBQUZELEtBdkhMO0FBMkhMQyxJQUFBQSxRQUFRLEVBQUU7QUFDUmhPLE1BQUFBLEtBQUssRUFBRSw4QkFEQztBQUVSaU8sTUFBQUEsWUFBWSxFQUNWLHVMQUhNO0FBSVJDLE1BQUFBLElBQUksRUFBRSw4Q0FKRTtBQUtSQyxNQUFBQSxZQUFZLEVBQ1YsMkpBTk07QUFPUkMsTUFBQUEsT0FBTyxFQUFFO0FBUEQsS0EzSEw7QUFvSUxDLElBQUFBLFFBQVEsRUFBRTtBQUNSck8sTUFBQUEsS0FBSyxFQUFFLG1CQURDO0FBRVJpTyxNQUFBQSxZQUFZLEVBQ1YsMkxBSE07QUFJUkMsTUFBQUEsSUFBSSxFQUFFLE1BSkU7QUFLUkMsTUFBQUEsWUFBWSxFQUFFLDREQUxOO0FBTVJDLE1BQUFBLE9BQU8sRUFBRSxVQU5EO0FBT1JFLE1BQUFBLEtBQUssRUFBRTtBQVBDLEtBcElMO0FBNklMQyxJQUFBQSxnQkFBZ0IsRUFBRTtBQUNoQkMsTUFBQUEsWUFBWSxFQUFFLGlDQURFO0FBRWhCQyxNQUFBQSxJQUFJLEVBQUU7QUFGVSxLQTdJYjtBQWlKTEMsSUFBQUEsWUFBWSxFQUFFO0FBQ1oxTyxNQUFBQSxLQUFLLEVBQUUsZUFESztBQUVaMk8sTUFBQUEsYUFBYSxFQUFFO0FBRkgsS0FqSlQ7QUFxSkxDLElBQUFBLGNBQWMsRUFBRTtBQUNkSCxNQUFBQSxJQUFJLEVBQUUsTUFEUTtBQUVkSSxNQUFBQSxRQUFRLEVBQUUseUNBRkk7QUFHZEMsTUFBQUEsV0FBVyxFQUFFLGdCQUhDO0FBSWRDLE1BQUFBLFdBQVcsRUFBRTtBQUpDO0FBckpYLEdBbE9NO0FBOFhiQyxFQUFBQSxNQUFNLEVBQUU7QUFDTkMsSUFBQUEsYUFBYSxFQUFFLGdCQURUO0FBRU5DLElBQUFBLFdBQVcsRUFBRTtBQUZQLEdBOVhLO0FBa1liQyxFQUFBQSxZQUFZLEVBQUU7QUFDWi9JLElBQUFBLE9BQU8sRUFBRSxTQURHO0FBRVpnSixJQUFBQSxLQUFLLEVBQUUsT0FGSztBQUdaQyxJQUFBQSxVQUFVLEVBQUUsYUFIQTtBQUlaQyxJQUFBQSxRQUFRLEVBQUU7QUFKRSxHQWxZRDtBQXdZYmhLLEVBQUFBLGFBQWEsRUFBRTtBQUNidEYsSUFBQUEsS0FBSyxFQUFFLGdCQURNO0FBRWJ1UCxJQUFBQSxRQUFRLEVBQUUsVUFGRztBQUdiQyxJQUFBQSxNQUFNLEVBQUUsUUFISztBQUliQyxJQUFBQSxXQUFXLEVBQUU7QUFKQSxHQXhZRjtBQThZYkMsRUFBQUEsT0FBTyxFQUFFO0FBQ1AxUCxJQUFBQSxLQUFLLEVBQUUsU0FEQTtBQUVQMlAsSUFBQUEsR0FBRyxFQUFFLEtBRkU7QUFHUEMsSUFBQUEsR0FBRyxFQUFFLEtBSEU7QUFJUEMsSUFBQUEsUUFBUSxFQUFFLFVBSkg7QUFLUGxOLElBQUFBLElBQUksRUFBRSxNQUxDO0FBTVBGLElBQUFBLE9BQU8sRUFBRSxTQU5GO0FBT1BxTixJQUFBQSxLQUFLLEVBQUUsT0FQQTtBQVFQMU4sSUFBQUEsR0FBRyxFQUFFO0FBQ0gyTixNQUFBQSxJQUFJLEVBQUUsWUFESDtBQUVIQyxNQUFBQSxJQUFJLEVBQUUsWUFGSDtBQUdIQyxNQUFBQSxJQUFJLEVBQUUsWUFISDtBQUlIQyxNQUFBQSxJQUFJLEVBQUU7QUFKSCxLQVJFO0FBY1A3TixJQUFBQSxJQUFJLEVBQUU7QUFDSjhOLE1BQUFBLElBQUksRUFBRSxpQkFERjtBQUVKQyxNQUFBQSxJQUFJLEVBQUU7QUFGRixLQWRDO0FBa0JQOU4sSUFBQUEsSUFBSSxFQUFFO0FBQ0p5QixNQUFBQSxhQUFhLEVBQUU7QUFEWCxLQWxCQztBQXFCUGxCLElBQUFBLE9BQU8sRUFBRTtBQUNQa0IsTUFBQUEsYUFBYSxFQUFFO0FBRFIsS0FyQkY7QUF3QlBzTSxJQUFBQSxNQUFNLEVBQUU7QUF4QkQsR0E5WUk7QUF3YWJoUyxFQUFBQSxLQUFLLEVBQUU7QUFDTGlTLElBQUFBLGFBQWEsRUFBRSxnQkFEVjtBQUVMQyxJQUFBQSxLQUFLLEVBQUUsT0FGRjtBQUdMck8sSUFBQUEsSUFBSSxFQUFFLE1BSEQ7QUFJTHNPLElBQUFBLFFBQVEsRUFBRTtBQUpMLEdBeGFNO0FBOGFiRixFQUFBQSxhQUFhLEVBQUU7QUFDYkcsSUFBQUEsS0FBSyxFQUFFLE9BRE07QUFFYkMsSUFBQUEsTUFBTSxFQUFFLFFBRks7QUFHYkMsSUFBQUEsT0FBTyxFQUFFO0FBSEksR0E5YUY7QUFtYmJDLEVBQUFBLEtBQUssRUFBRTtBQUNMQyxJQUFBQSxVQUFVLEVBQUUsYUFEUDtBQUVML00sSUFBQUEsU0FBUyxFQUFFLFlBRk47QUFHTGdOLElBQUFBLFdBQVcsRUFBRSxjQUhSO0FBSUxGLElBQUFBLEtBQUssRUFBRTtBQUpGLEdBbmJNO0FBeWJiRyxFQUFBQSxZQUFZLEVBQUU7QUFDWkMsSUFBQUEsT0FBTyxFQUFFLCtCQURHO0FBRVpDLElBQUFBLGFBQWEsRUFDWCxtRkFIVTtBQUladkQsSUFBQUEsVUFBVSxFQUNSLDhHQUNBLG1EQU5VO0FBT1p3RCxJQUFBQSxtQkFBbUIsRUFDakIsOEZBUlU7QUFTWkMsSUFBQUEsV0FBVyxFQUFFLG1CQVREO0FBVVpDLElBQUFBLFNBQVMsRUFBRSxXQVZDO0FBV1pDLElBQUFBLGdCQUFnQixFQUFFLHFDQVhOO0FBWVpDLElBQUFBLEVBQUUsRUFBRTtBQVpRLEdBemJEO0FBdWNiaEMsRUFBQUEsUUFBUSxFQUFFO0FBQ1J0UCxJQUFBQSxLQUFLLEVBQUU7QUFEQyxHQXZjRztBQTBjYnVSLEVBQUFBLGFBQWEsRUFBRTtBQUNiQyxJQUFBQSxRQUFRLEVBQUUsV0FERztBQUViQyxJQUFBQSxVQUFVLEVBQUU7QUFGQyxHQTFjRjtBQThjYkMsRUFBQUEsT0FBTyxFQUFFO0FBQ1BDLElBQUFBLFNBQVMsRUFBRSxpQkFESjtBQUVQQyxJQUFBQSxTQUFTLEVBQUUsaUJBRko7QUFHUEMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLFFBQVEsRUFBRSxVQURMO0FBRUxDLE1BQUFBLFFBQVEsRUFBRTtBQUZMO0FBSEEsR0E5Y0k7QUFzZGJDLEVBQUFBLFVBQVUsRUFBRTtBQUNWQyxJQUFBQSxPQUFPLEVBQUU7QUFEQyxHQXRkQztBQXlkYnRULEVBQUFBLE9BQU8sRUFBRSxTQXpkSTtBQTBkYixnQkFBYyxZQTFkRDtBQTJkYixnQkFBYyxZQTNkRDtBQTRkYnVULEVBQUFBLElBQUksRUFBRSxNQTVkTztBQTZkYkMsRUFBQUEsS0FBSyxFQUFFO0FBN2RNLEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge0xPQ0FMRVN9IGZyb20gJy4vbG9jYWxlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcGVydHk6IHtcbiAgICB3ZWlnaHQ6ICd3ZWlnaHQnLFxuICAgIGxhYmVsOiAnbGFiZWwnLFxuICAgIGZpbGxDb2xvcjogJ2ZpbGwgY29sb3InLFxuICAgIGNvbG9yOiAnY29sb3InLFxuICAgIGNvdmVyYWdlOiAnY292ZXJhZ2UnLFxuICAgIHN0cm9rZUNvbG9yOiAnc3Ryb2tlIGNvbG9yJyxcbiAgICByYWRpdXM6ICdyYWRpdXMnLFxuICAgIG91dGxpbmU6ICdvdXRsaW5lJyxcbiAgICBzdHJva2U6ICdzdHJva2UnLFxuICAgIGRlbnNpdHk6ICdkZW5zaXR5JyxcbiAgICBoZWlnaHQ6ICdoZWlnaHQnLFxuICAgIHN1bTogJ3N1bScsXG4gICAgcG9pbnRDb3VudDogJ1BvaW50IENvdW50JyxcbiAgICBjdXN0b21NYXJrZXJzOiAnTWFya2VycycsXG4gICAgcm90YXRpb246ICdSb3RhdGlvbidcbiAgfSxcbiAgcGxhY2Vob2xkZXI6IHtcbiAgICBzZWFyY2g6ICdTZWFyY2gnLFxuICAgIHNlbGVjdEZpZWxkOiAnU2VsZWN0IGEgZmllbGQnLFxuICAgIHlBeGlzOiAnWSBBeGlzJyxcbiAgICBzZWxlY3RUeXBlOiAnU2VsZWN0IEEgVHlwZScsXG4gICAgc2VsZWN0VmFsdWU6ICdTZWxlY3QgQSBWYWx1ZScsXG4gICAgZW50ZXJWYWx1ZTogJ0VudGVyIGEgdmFsdWUnLFxuICAgIGVtcHR5OiAnZW1wdHknXG4gIH0sXG4gIG1pc2M6IHtcbiAgICBieTogJycsXG4gICAgdmFsdWVzSW46ICdWYWx1ZXMgaW4nLFxuICAgIHZhbHVlRXF1YWxzOiAnVmFsdWUgZXF1YWxzJyxcbiAgICBkYXRhU291cmNlOiAnRGF0YSBTb3VyY2UnLFxuICAgIGJydXNoUmFkaXVzOiAnQnJ1c2ggUmFkaXVzIChrbSknLFxuICAgIGVtcHR5OiAnICdcbiAgfSxcbiAgbWFwTGF5ZXJzOiB7XG4gICAgdGl0bGU6ICdNYXAgTGF5ZXJzJyxcbiAgICBsYWJlbDogJ0xhYmVsJyxcbiAgICByb2FkOiAnUm9hZCcsXG4gICAgYm9yZGVyOiAnQm9yZGVyJyxcbiAgICBidWlsZGluZzogJ0J1aWxkaW5nJyxcbiAgICB3YXRlcjogJ1dhdGVyJyxcbiAgICBsYW5kOiAnTGFuZCcsXG4gICAgJzNkQnVpbGRpbmcnOiAnM2QgQnVpbGRpbmcnXG4gIH0sXG4gIHBhbmVsOiB7XG4gICAgdGV4dDoge1xuICAgICAgbGFiZWw6ICdsYWJlbCcsXG4gICAgICBtYWluTGFiZWw6ICdNYWluIExhYmVsJyxcbiAgICAgIHNlY29uZGFyeUxhYmVsOiAnU2Vjb25kYXJ5IExhYmVsJyxcbiAgICAgIGZvbnRTaXplOiAnRm9udCBzaXplJyxcbiAgICAgIGZvbnRDb2xvcjogJ0ZvbnQgY29sb3InLFxuICAgICAgb3V0bGluZUNvbG9yOiAnT3V0bGluZSBjb2xvcicsXG4gICAgICB0ZXh0QW5jaG9yOiAnVGV4dCBhbmNob3InLFxuICAgICAgYWxpZ25tZW50OiAnQWxpZ25tZW50JyxcbiAgICAgIGFkZE1vcmVMYWJlbDogJ0FkZCBMYWJlbCdcbiAgICB9XG4gIH0sXG4gIHNpZGViYXI6IHtcbiAgICBwYW5lbHM6IHtcbiAgICAgIGxheWVyOiAnTGF5ZXJzJyxcbiAgICAgIGZpbHRlcjogJ0ZpbHRlcnMnLFxuICAgICAgaW50ZXJhY3Rpb246ICdJbnRlcmFjdGlvbnMnLFxuICAgICAgYmFzZW1hcDogJ0Jhc2UgbWFwJ1xuICAgIH1cbiAgfSxcbiAgbGF5ZXI6IHtcbiAgICByZXF1aXJlZDogJ1JlcXVpcmVkKicsXG4gICAgcmFkaXVzOiAnUmFkaXVzJyxcbiAgICBzaXplOiAnU2l6ZScsXG4gICAgY29sb3I6ICdDb2xvcicsXG4gICAgZmlsbENvbG9yOiAnRmlsbCBDb2xvcicsXG4gICAgb3V0bGluZTogJ091dGxpbmUnLFxuICAgIHdlaWdodDogJ1dlaWdodCcsXG4gICAgcHJvcGVydHlCYXNlZE9uOiAne3Byb3BlcnR5fSBiYXNlZCBvbicsXG4gICAgY292ZXJhZ2U6ICdDb3ZlcmFnZScsXG4gICAgc3Ryb2tlOiAnU3Ryb2tlJyxcbiAgICBzdHJva2VXaWR0aDogJ1N0cm9rZSBXaWR0aCcsXG4gICAgc3Ryb2tlQ29sb3I6ICdTdHJva2UgQ29sb3InLFxuICAgIGJhc2ljOiAnQmFzaWMnLFxuICAgIHRyYWlsTGVuZ3RoOiAnVHJhaWwgTGVuZ3RoJyxcbiAgICB0cmFpbExlbmd0aERlc2NyaXB0aW9uOiAnTnVtYmVyIG9mIHNlY29uZHMgZm9yIGEgcGF0aCB0byBjb21wbGV0ZWx5IGZhZGUgb3V0JyxcbiAgICBuZXdMYXllcjogJ25ldyBsYXllcicsXG4gICAgZWxldmF0aW9uQnlEZXNjcmlwdGlvbjogJ1doZW4gb2ZmLCBoZWlnaHQgaXMgYmFzZWQgb24gY291bnQgb2YgcG9pbnRzJyxcbiAgICBjb2xvckJ5RGVzY3JpcHRpb246ICdXaGVuIG9mZiwgY29sb3IgaXMgYmFzZWQgb24gY291bnQgb2YgcG9pbnRzJyxcbiAgICBhZ2dyZWdhdGVCeTogJ0FnZ3JlZ2F0ZSB7ZmllbGR9IGJ5JyxcbiAgICBhZGRVcmw6ICdBZGQgVVJMJyxcbiAgICAnM0RNb2RlbCc6ICczRCBNb2RlbCcsXG4gICAgJzNETW9kZWxPcHRpb25zJzogJzNEIE1vZGVsIE9wdGlvbnMnLFxuICAgIHR5cGU6IHtcbiAgICAgIHBvaW50OiAncG9pbnQnLFxuICAgICAgYXJjOiAnYXJjJyxcbiAgICAgIGxpbmU6ICdsaW5lJyxcbiAgICAgIGdyaWQ6ICdncmlkJyxcbiAgICAgIGhleGJpbjogJ2hleGJpbicsXG4gICAgICBwb2x5Z29uOiAncG9seWdvbicsXG4gICAgICBnZW9qc29uOiAnZ2VvanNvbicsXG4gICAgICBjbHVzdGVyOiAnY2x1c3RlcicsXG4gICAgICBpY29uOiAnaWNvbicsXG4gICAgICBoZWF0bWFwOiAnaGVhdG1hcCcsXG4gICAgICBoZXhhZ29uOiAnaGV4YWdvbicsXG4gICAgICBoZXhhZ29uaWQ6ICdIMycsXG4gICAgICB0cmlwOiAndHJpcCcsXG4gICAgICBzMjogJ1MyJyxcbiAgICAgICczZCc6ICczRCdcbiAgICB9LFxuICAgIGNvbG9yUmFuZ2U6ICdQYWxldHRlJ1xuICB9LFxuICBsYXllclZpc0NvbmZpZ3M6IHtcbiAgICBhbmdsZTogJ0FuZ2xlJyxcbiAgICBzdHJva2VXaWR0aDogJ1N0cm9rZSBXaWR0aCAoUGl4ZWxzKScsXG4gICAgc3Ryb2tlV2lkdGhSYW5nZTogJ1N0cm9rZSBXaWR0aCBSYW5nZScsXG4gICAgcmFkaXVzOiAnUmFkaXVzJyxcbiAgICByYWRpdXNSYW5nZTogJ1JhZGl1cyBSYW5nZScsXG4gICAgY2x1c3RlclJhZGl1czogJ0NsdXN0ZXIgUmFkaXVzIGluIFBpeGVscycsXG4gICAgcmFkaXVzUmFuZ2VQaXhlbHM6ICdSYWRpdXMgUmFuZ2UgaW4gcGl4ZWxzJyxcbiAgICBvcGFjaXR5OiAnT3BhY2l0eScsXG4gICAgY292ZXJhZ2U6ICdDb3ZlcmFnZScsXG4gICAgb3V0bGluZTogJ091dGxpbmUnLFxuICAgIGNvbG9yUmFuZ2U6ICdDb2xvciByYW5nZScsXG4gICAgc3Ryb2tlOiAnU3Ryb2tlJyxcbiAgICBzdHJva2VDb2xvcjogJ1N0cm9rZSBDb2xvcicsXG4gICAgc3Ryb2tlQ29sb3JSYW5nZTogJ1N0cm9rZSBDb2xvciByYW5nZScsXG4gICAgdGFyZ2V0Q29sb3I6ICdUYXJnZXQgQ29sb3InLFxuICAgIGNvbG9yQWdncmVnYXRpb246ICdDb2xvciBBZ2dyZWdhdGlvbicsXG4gICAgaGVpZ2h0QWdncmVnYXRpb246ICdIZWlnaHQgQWdncmVnYXRpb24nLFxuICAgIHJlc29sdXRpb25SYW5nZTogJ1Jlc29sdXRpb24gcmFuZ2UnLFxuICAgIHNpemVTY2FsZTogJ1NpemUgU2NhbGUnLFxuICAgIHdvcmxkVW5pdFNpemU6ICdXb3JsZCBVbml0IFNpemUnLFxuICAgIGVsZXZhdGlvblNjYWxlOiAnRWxldmF0aW9uIFNjYWxlJyxcbiAgICBlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yOiAnVXNlIGVsZXZhdGlvbiB6b29tIGZhY3RvcicsXG4gICAgZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvckRlc2NyaXB0aW9uOiAnQWRqdXN0IGhlaWdodC9lbGV2YXRpb24gYmFzZWQgb24gY3VycmVudCB6b29tIGZhY3RvcicsXG4gICAgZW5hYmxlSGVpZ2h0Wm9vbUZhY3RvcjogJ1VzZSBoZWlnaHQgem9vbSBmYWN0b3InLFxuICAgIGhlaWdodFNjYWxlOiAnSGVpZ2h0IFNjYWxlJyxcbiAgICBjb3ZlcmFnZVJhbmdlOiAnQ292ZXJhZ2UgUmFuZ2UnLFxuICAgIGhpZ2hQcmVjaXNpb25SZW5kZXJpbmc6ICdIaWdoIFByZWNpc2lvbiBSZW5kZXJpbmcnLFxuICAgIGhpZ2hQcmVjaXNpb25SZW5kZXJpbmdEZXNjcmlwdGlvbjogJ0hpZ2ggcHJlY2lzaW9uIHdpbGwgcmVzdWx0IGluIHNsb3dlciBwZXJmb3JtYW5jZScsXG4gICAgaGVpZ2h0OiAnSGVpZ2h0JyxcbiAgICBoZWlnaHREZXNjcmlwdGlvbjogJ0NsaWNrIGJ1dHRvbiBhdCB0b3AgcmlnaHQgb2YgdGhlIG1hcCB0byBzd2l0Y2ggdG8gM2QgdmlldycsXG4gICAgbGFiZWxzOiAnTGFiZWxzJyxcbiAgICBmaWxsOiAnRmlsbCcsXG4gICAgZW5hYmxlUG9seWdvbkhlaWdodDogJ0VuYWJsZSBQb2x5Z29uIEhlaWdodCcsXG4gICAgc2hvd1dpcmVmcmFtZTogJ1Nob3cgV2lyZWZyYW1lJyxcbiAgICB3ZWlnaHRJbnRlbnNpdHk6ICdXZWlnaHQgSW50ZW5zaXR5JyxcbiAgICB6b29tU2NhbGU6ICdab29tIFNjYWxlJyxcbiAgICBoZWlnaHRSYW5nZTogJ0hlaWdodCBSYW5nZScsXG4gICAgaGVpZ2h0TXVsdGlwbGllcjogJ0hlaWdodCBNdWx0aXBsaWVyJyxcbiAgICBjdXN0b21NYXJrZXJzOiAnQ3VzdG9tIG1hcmtlcnMnLFxuICAgIHVybDogJ0FkZCBVUkwnXG4gIH0sXG4gIGxheWVyVmlzaWJpbGl0eToge1xuICAgIHRpdGxlOiAnVmlzaWJpbGl0eSBieSB6b29tIGxldmVsJ1xuICB9LFxuICBsYXllck1hbmFnZXI6IHtcbiAgICBhZGREYXRhOiAnQWRkIERhdGEnLFxuICAgIGFkZExheWVyOiAnQWRkIExheWVyJyxcbiAgICBsYXllckJsZW5kaW5nOiAnTGF5ZXIgQmxlbmRpbmcnXG4gIH0sXG4gIG1hcE1hbmFnZXI6IHtcbiAgICBtYXBTdHlsZTogJ01hcCBzdHlsZScsXG4gICAgYWRkTWFwU3R5bGU6ICdBZGQgTWFwIFN0eWxlJyxcbiAgICAnM2RCdWlsZGluZ0NvbG9yJzogJzNEIEJ1aWxkaW5nIENvbG9yJ1xuICB9LFxuICBsYXllckNvbmZpZ3VyYXRpb246IHtcbiAgICBkZWZhdWx0RGVzY3JpcHRpb246ICdDYWxjdWxhdGUge3Byb3BlcnR5fSBiYXNlZCBvbiBzZWxlY3RlZCBmaWVsZCcsXG4gICAgaG93VG86ICdIb3cgdG8nXG4gIH0sXG4gIGZpbHRlck1hbmFnZXI6IHtcbiAgICBhZGRGaWx0ZXI6ICdBZGQgRmlsdGVyJ1xuICB9LFxuICBkYXRhc2V0VGl0bGU6IHtcbiAgICBzaG93RGF0YVRhYmxlOiAnU2hvdyBkYXRhIHRhYmxlJyxcbiAgICByZW1vdmVEYXRhc2V0OiAnUmVtb3ZlIGRhdGFzZXQnXG4gIH0sXG4gIGRhdGFzZXRJbmZvOiB7XG4gICAgcm93Q291bnQ6ICd7cm93Q291bnR9IHJvd3MnXG4gIH0sXG4gIHRvb2x0aXA6IHtcbiAgICBoaWRlTGF5ZXI6ICdoaWRlIGxheWVyJyxcbiAgICBzaG93TGF5ZXI6ICdzaG93IGxheWVyJyxcbiAgICBoaWRlRmVhdHVyZTogJ0hpZGUgRmVhdHVyZScsXG4gICAgc2hvd0ZlYXR1cmU6ICdTaG93IGZlYXR1cmUnLFxuICAgIGhpZGU6ICdoaWRlJyxcbiAgICBzaG93OiAnc2hvdycsXG4gICAgcmVtb3ZlTGF5ZXI6ICdSZW1vdmUgbGF5ZXInLFxuICAgIGR1cGxpY2F0ZUxheWVyOiAnRHVwbGljYXRlIGxheWVyJyxcbiAgICBsYXllclNldHRpbmdzOiAnTGF5ZXIgc2V0dGluZ3MnLFxuICAgIGNsb3NlUGFuZWw6ICdDbG9zZSBjdXJyZW50IHBhbmVsJyxcbiAgICBzd2l0Y2hUb0R1YWxWaWV3OiAnU3dpdGNoIHRvIGR1YWwgbWFwIHZpZXcnLFxuICAgIHNob3dMZWdlbmQ6ICdzaG93IGxlZ2VuZCcsXG4gICAgZGlzYWJsZTNETWFwOiAnRGlzYWJsZSAzRCBNYXAnLFxuICAgIERyYXdPbk1hcDogJ0RyYXcgb24gbWFwJyxcbiAgICBzZWxlY3RMb2NhbGU6ICdTZWxlY3QgbG9jYWxlJyxcbiAgICBoaWRlTGF5ZXJQYW5lbDogJ0hpZGUgbGF5ZXIgcGFuZWwnLFxuICAgIHNob3dMYXllclBhbmVsOiAnU2hvdyBsYXllciBwYW5lbCcsXG4gICAgbW92ZVRvVG9wOiAnTW92ZSB0byB0b3Agb2YgZGF0YSBsYXllcnMnLFxuICAgIHNlbGVjdEJhc2VNYXBTdHlsZTogJ1NlbGVjdCBCYXNlIE1hcCBTdHlsZScsXG4gICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICB0aW1lUGxheWJhY2s6ICdUaW1lIFBsYXliYWNrJyxcbiAgICBjbG91ZFN0b3JhZ2U6ICdDbG91ZCBTdG9yYWdlJyxcbiAgICAnM0RNYXAnOiAnM0QgTWFwJyxcbiAgICBhbmltYXRpb25CeVdpbmRvdzogJ01vdmluZyBUaW1lIFdpbmRvdycsXG4gICAgYW5pbWF0aW9uQnlJbmNyZW1lbnRhbDogJ0luY3JlbWVudGFsIFRpbWUgV2luZG93JyxcbiAgICBzcGVlZDogJ3NwZWVkJyxcbiAgICBwbGF5OiAncGxheScsXG4gICAgcGF1c2U6ICdwYXVzZScsXG4gICAgcmVzZXQ6ICdyZXNldCdcbiAgfSxcbiAgdG9vbGJhcjoge1xuICAgIGV4cG9ydEltYWdlOiAnRXhwb3J0IEltYWdlJyxcbiAgICBleHBvcnREYXRhOiAnRXhwb3J0IERhdGEnLFxuICAgIGV4cG9ydE1hcDogJ0V4cG9ydCBNYXAnLFxuICAgIHNoYXJlTWFwVVJMOiAnU2hhcmUgTWFwIFVSTCcsXG4gICAgc2F2ZU1hcDogJ1NhdmUgTWFwJyxcbiAgICBzZWxlY3Q6ICdTZWxlY3QnLFxuICAgIHBvbHlnb246ICdQb2x5Z29uJyxcbiAgICByZWN0YW5nbGU6ICdSZWN0YW5nbGUnLFxuICAgIGhpZGU6ICdIaWRlJyxcbiAgICBzaG93OiAnU2hvdycsXG4gICAgLi4uTE9DQUxFU1xuICB9LFxuICBlZGl0b3I6IHtcbiAgICBmaWx0ZXJMYXllcjogJ0ZpbHRlciBMYXllcnMnLFxuICAgIGNvcHlHZW9tZXRyeTogJ0NvcHkgR2VvbWV0cnknXG4gIH0sXG5cbiAgbW9kYWw6IHtcbiAgICB0aXRsZToge1xuICAgICAgZGVsZXRlRGF0YXNldDogJ0RlbGV0ZSBEYXRhc2V0JyxcbiAgICAgIGFkZERhdGFUb01hcDogJ0FkZCBEYXRhIFRvIE1hcCcsXG4gICAgICBleHBvcnRJbWFnZTogJ0V4cG9ydCBJbWFnZScsXG4gICAgICBleHBvcnREYXRhOiAnRXhwb3J0IERhdGEnLFxuICAgICAgZXhwb3J0TWFwOiAnRXhwb3J0IE1hcCcsXG4gICAgICBhZGRDdXN0b21NYXBib3hTdHlsZTogJ0FkZCBDdXN0b20gTWFwIFN0eWxlJyxcbiAgICAgIHNhdmVNYXA6ICdTYXZlIE1hcCcsXG4gICAgICBzaGFyZVVSTDogJ1NoYXJlIFVSTCdcbiAgICB9LFxuICAgIGJ1dHRvbjoge1xuICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgIGRvd25sb2FkOiAnRG93bmxvYWQnLFxuICAgICAgZXhwb3J0OiAnRXhwb3J0JyxcbiAgICAgIGFkZFN0eWxlOiAnQWRkIFN0eWxlJyxcbiAgICAgIHNhdmU6ICdTYXZlJyxcbiAgICAgIGRlZmF1bHRDYW5jZWw6ICdDYW5jZWwnLFxuICAgICAgZGVmYXVsdENvbmZpcm06ICdDb25maXJtJ1xuICAgIH0sXG4gICAgZXhwb3J0SW1hZ2U6IHtcbiAgICAgIHJhdGlvVGl0bGU6ICdSYXRpbycsXG4gICAgICByYXRpb0Rlc2NyaXB0aW9uOiAnQ2hvb3NlIHRoZSByYXRpbyBmb3IgdmFyaW91cyB1c2FnZXMuJyxcbiAgICAgIHJhdGlvT3JpZ2luYWxTY3JlZW46ICdPcmlnaW5hbCBTY3JlZW4nLFxuICAgICAgcmF0aW9DdXN0b206ICdDdXN0b20nLFxuICAgICAgcmF0aW80XzM6ICc0OjMnLFxuICAgICAgcmF0aW8xNl85OiAnMTY6OScsXG4gICAgICByZXNvbHV0aW9uVGl0bGU6ICdSZXNvbHV0aW9uJyxcbiAgICAgIHJlc29sdXRpb25EZXNjcmlwdGlvbjogJ0hpZ2ggcmVzb2x1dGlvbiBpcyBiZXR0ZXIgZm9yIHByaW50cy4nLFxuICAgICAgbWFwTGVnZW5kVGl0bGU6ICdNYXAgTGVnZW5kJyxcbiAgICAgIG1hcExlZ2VuZEFkZDogJ0FkZCBsZWdlbmQgb24gbWFwJ1xuICAgIH0sXG4gICAgZXhwb3J0RGF0YToge1xuICAgICAgZGF0YXNldFRpdGxlOiAnRGF0YXNldCcsXG4gICAgICBkYXRhc2V0U3VidGl0bGU6ICdDaG9vc2UgdGhlIGRhdGFzZXRzIHlvdSB3YW50IHRvIGV4cG9ydCcsXG4gICAgICBhbGxEYXRhc2V0czogJ0FsbCcsXG4gICAgICBkYXRhVHlwZVRpdGxlOiAnRGF0YSBUeXBlJyxcbiAgICAgIGRhdGFUeXBlU3VidGl0bGU6ICdDaG9vc2UgdGhlIHR5cGUgb2YgZGF0YSB5b3Ugd2FudCB0byBleHBvcnQnLFxuICAgICAgZmlsdGVyRGF0YVRpdGxlOiAnRmlsdGVyIERhdGEnLFxuICAgICAgZmlsdGVyRGF0YVN1YnRpdGxlOiAnWW91IGNhbiBjaG9vc2UgZXhwb3J0aW5nIG9yaWdpbmFsIGRhdGEgb3IgZmlsdGVyZWQgZGF0YScsXG4gICAgICBmaWx0ZXJlZERhdGE6ICdGaWx0ZXJlZCBkYXRhJyxcbiAgICAgIHVuZmlsdGVyZWREYXRhOiAnVW5maWx0ZXJlZCBEYXRhJyxcbiAgICAgIGZpbGVDb3VudDogJ3tmaWxlQ291bnR9IEZpbGVzJyxcbiAgICAgIHJvd0NvdW50OiAne3Jvd0NvdW50fSBSb3dzJ1xuICAgIH0sXG4gICAgZGVsZXRlRGF0YToge1xuICAgICAgd2FybmluZzogJ3lvdSBhcmUgZ29pbmcgdG8gZGVsZXRlIHRoaXMgZGF0YXNldC4gSXQgd2lsbCBhZmZlY3Qge2xlbmd0aH0gbGF5ZXJzJ1xuICAgIH0sXG4gICAgYWRkU3R5bGU6IHtcbiAgICAgIHB1Ymxpc2hUaXRsZTpcbiAgICAgICAgJzIuIElmIGVudGVyZWQgbWFwYm94IHN0dWxlIHVybCBpbiBzdGVwLjEsIHB1Ymxpc2ggeW91ciBzdHlsZSBhdCBtYXBib3ggb3IgcHJvdmlkZSBhY2Nlc3MgdG9rZW4uIChPcHRpb25hbCknLFxuICAgICAgcHVibGlzaFN1YnRpdGxlMTogJ1lvdSBjYW4gY3JlYXRlIHlvdXIgb3duIG1hcCBzdHlsZSBhdCcsXG4gICAgICBwdWJsaXNoU3VidGl0bGUyOiAnYW5kJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTM6ICdwdWJsaXNoJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTQ6ICdpdC4nLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNTogJ1RvIHVzZSBwcml2YXRlIHN0eWxlLCBwYXN0ZSB5b3VyJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTY6ICdhY2Nlc3MgdG9rZW4nLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNzpcbiAgICAgICAgJ2hlcmUuICprZXBsZXIuZ2wgaXMgYSBjbGllbnQtc2lkZSBhcHBsaWNhdGlvbiwgZGF0YSBzdGF5cyBpbiB5b3VyIGJyb3dzZXIuLicsXG4gICAgICBleGFtcGxlVG9rZW46ICdlLmcuIHBrLmFiY2RlZmcueHh4eHh4JyxcbiAgICAgIHBhc3RlVGl0bGU6ICcxLiBQYXN0ZSBzdHlsZSB1cmwnLFxuICAgICAgcGFzdGVTdWJ0aXRsZTA6ICdTdHlsZSB1cmwgY2FuIGJlIGEgbWFwYm94JyxcbiAgICAgIHBhc3RlU3VidGl0bGUxOiAnV2hhdCBpcyBhJyxcbiAgICAgIHBhc3RlU3VidGl0bGUyOiAnc3R5bGUgVVJMJyxcbiAgICAgIHBhc3RlU3VidGl0bGUzOiAnb3IgYSBzdHlsZS5qc29uIHVzaW5nIHRoZScsXG4gICAgICBwYXN0ZVN1YnRpdGxlNDogJ01hcGJveCBHTCBTdHlsZSBTcGVjJyxcbiAgICAgIG5hbWluZ1RpdGxlOiAnMy4gTmFtZSB5b3VyIHN0eWxlJ1xuICAgIH0sXG4gICAgc2hhcmVNYXA6IHtcbiAgICAgIHNoYXJlVXJpVGl0bGU6ICdTaGFyZSBNYXAgVXJsJyxcbiAgICAgIHNoYXJlVXJpU3VidGl0bGU6ICdHZW5lcmF0ZSBhIG1hcCB1cmwgdG8gc2hhcmUgd2l0aCBvdGhlcnMnLFxuICAgICAgY2xvdWRUaXRsZTogJ0Nsb3VkIHN0b3JhZ2UnLFxuICAgICAgY2xvdWRTdWJ0aXRsZTogJ0xvZ2luIGFuZCB1cGxvYWQgbWFwIGRhdGEgdG8geW91ciBwZXJzb25hbCBjbG91ZCBzdG9yYWdlJyxcbiAgICAgIHNoYXJlRGlzY2xhaW1lcjpcbiAgICAgICAgJ2tlcGxlci5nbCB3aWxsIHNhdmUgeW91ciBtYXAgZGF0YSB0byB5b3VyIHBlcnNvbmFsIGNsb3VkIHN0b3JhZ2UsIG9ubHkgcGVvcGxlIHdpdGggdGhlIFVSTCBjYW4gYWNjZXNzIHlvdXIgbWFwIGFuZCBkYXRhLiAnICtcbiAgICAgICAgJ1lvdSBjYW4gZWRpdC9kZWxldGUgdGhlIGRhdGEgZmlsZSBpbiB5b3VyIGNsb3VkIGFjY291bnQgYW55dGltZS4nLFxuICAgICAgZ290b1BhZ2U6ICdHbyB0byB5b3VyIEtlcGxlci5nbCB7Y3VycmVudFByb3ZpZGVyfSBwYWdlJ1xuICAgIH0sXG4gICAgc3RhdHVzUGFuZWw6IHtcbiAgICAgIG1hcFVwbG9hZGluZzogJ01hcCBVcGxvYWRpbmcnLFxuICAgICAgZXJyb3I6ICdFcnJvcidcbiAgICB9LFxuICAgIHNhdmVNYXA6IHtcbiAgICAgIHRpdGxlOiAnQ2xvdWQgc3RvcmFnZScsXG4gICAgICBzdWJ0aXRsZTogJ0xvZ2luIHRvIHNhdmUgbWFwIHRvIHlvdXIgcGVyc29uYWwgY2xvdWQgc3RvcmFnZSdcbiAgICB9LFxuICAgIGV4cG9ydE1hcDoge1xuICAgICAgZm9ybWF0VGl0bGU6ICdNYXAgZm9ybWF0JyxcbiAgICAgIGZvcm1hdFN1YnRpdGxlOiAnQ2hvb3NlIHRoZSBmb3JtYXQgdG8gZXhwb3J0IHlvdXIgbWFwIHRvJyxcbiAgICAgIGh0bWw6IHtcbiAgICAgICAgc2VsZWN0aW9uOiAnRXhwb3J0IHlvdXIgbWFwIGludG8gYW4gaW50ZXJhY3RpdmUgaHRtbCBmaWxlLicsXG4gICAgICAgIHRva2VuVGl0bGU6ICdNYXBib3ggYWNjZXNzIHRva2VuJyxcbiAgICAgICAgdG9rZW5TdWJ0aXRsZTogJ1VzZSB5b3VyIG93biBNYXBib3ggYWNjZXNzIHRva2VuIGluIHRoZSBodG1sIChvcHRpb25hbCknLFxuICAgICAgICB0b2tlblBsYWNlaG9sZGVyOiAnUGFzdGUgeW91ciBNYXBib3ggYWNjZXNzIHRva2VuJyxcbiAgICAgICAgdG9rZW5NaXN1c2VXYXJuaW5nOlxuICAgICAgICAgICcqIElmIHlvdSBkbyBub3QgcHJvdmlkZSB5b3VyIG93biB0b2tlbiwgdGhlIG1hcCBtYXkgZmFpbCB0byBkaXNwbGF5IGF0IGFueSB0aW1lIHdoZW4gd2UgcmVwbGFjZSBvdXJzIHRvIGF2b2lkIG1pc3VzZS4gJyxcbiAgICAgICAgdG9rZW5EaXNjbGFpbWVyOiAnWW91IGNhbiBjaGFuZ2UgdGhlIE1hcGJveCB0b2tlbiBsYXRlciB1c2luZyB0aGUgZm9sbG93aW5nIGluc3RydWN0aW9uczogJyxcbiAgICAgICAgdG9rZW5VcGRhdGU6ICdIb3cgdG8gdXBkYXRlIGFuIGV4aXN0aW5nIG1hcCB0b2tlbi4nLFxuICAgICAgICBtb2RlVGl0bGU6ICdNYXAgTW9kZScsXG4gICAgICAgIG1vZGVTdWJ0aXRsZTE6ICdTZWxlY3QgdGhlIGFwcCBtb2RlLiBNb3JlICcsXG4gICAgICAgIG1vZGVTdWJ0aXRsZTI6ICdpbmZvJyxcbiAgICAgICAgbW9kZURlc2NyaXB0aW9uOiAnQWxsb3cgdXNlcnMgdG8ge21vZGV9IHRoZSBtYXAnLFxuICAgICAgICByZWFkOiAncmVhZCcsXG4gICAgICAgIGVkaXQ6ICdlZGl0J1xuICAgICAgfSxcbiAgICAgIGpzb246IHtcbiAgICAgICAgY29uZmlnVGl0bGU6ICdNYXAgQ29uZmlnJyxcbiAgICAgICAgY29uZmlnRGlzY2xhaW1lcjpcbiAgICAgICAgICAnTWFwIGNvbmZpZyB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBKc29uIGZpbGUuIElmIHlvdSBhcmUgdXNpbmcga2VwbGVyLmdsIGluIHlvdXIgb3duIGFwcC4gWW91IGNhbiBjb3B5IHRoaXMgY29uZmlnIGFuZCBwYXNzIGl0IHRvICcsXG4gICAgICAgIHNlbGVjdGlvbjpcbiAgICAgICAgICAnRXhwb3J0IGN1cnJlbnQgbWFwIGRhdGEgYW5kIGNvbmZpZyBpbnRvIGEgc2luZ2xlIEpzb24gZmlsZS4gWW91IGNhbiBsYXRlciBvcGVuIHRoZSBzYW1lIG1hcCBieSB1cGxvYWRpbmcgdGhpcyBmaWxlIHRvIGtlcGxlci5nbC4nLFxuICAgICAgICBkaXNjbGFpbWVyOlxuICAgICAgICAgICcqIE1hcCBjb25maWcgaXMgY291cGxlZCB3aXRoIGxvYWRlZCBkYXRhc2V0cy4g4oCYZGF0YUlk4oCZIGlzIHVzZWQgdG8gYmluZCBsYXllcnMsIGZpbHRlcnMsIGFuZCB0b29sdGlwcyB0byBhIHNwZWNpZmljIGRhdGFzZXQuICcgK1xuICAgICAgICAgICdXaGVuIHBhc3NpbmcgdGhpcyBjb25maWcgdG8gYWRkRGF0YVRvTWFwLCBtYWtlIHN1cmUgdGhlIGRhdGFzZXQgaWQgbWF0Y2hlcyB0aGUgZGF0YUlkL3MgaW4gdGhpcyBjb25maWcuJ1xuICAgICAgfVxuICAgIH0sXG4gICAgbG9hZGluZ0RpYWxvZzoge1xuICAgICAgbG9hZGluZzogJ0xvYWRpbmcuLi4nXG4gICAgfSxcbiAgICBsb2FkRGF0YToge1xuICAgICAgdXBsb2FkOiAnTG9hZCBGaWxlcycsXG4gICAgICBzdG9yYWdlOiAnTG9hZCBmcm9tIFN0b3JhZ2UnXG4gICAgfSxcbiAgICB0cmlwSW5mbzoge1xuICAgICAgdGl0bGU6ICdIb3cgdG8gZW5hYmxlIHRyaXAgYW5pbWF0aW9uJyxcbiAgICAgIGRlc2NyaXB0aW9uMTpcbiAgICAgICAgJ0luIG9yZGVyIHRvIGFuaW1hdGUgdGhlIHBhdGgsIHRoZSBnZW9KU09OIGRhdGEgbmVlZHMgdG8gY29udGFpbiBgTGluZVN0cmluZ2AgaW4gaXRzIGZlYXR1cmUgZ2VvbWV0cnksIGFuZCB0aGUgY29vcmRpbmF0ZXMgaW4gdGhlIExpbmVTdHJpbmcgbmVlZCB0byBoYXZlIDQgZWxlbWVudHMgaW4gdGhlIGZvcm1hdHMgb2YnLFxuICAgICAgY29kZTogJyBbbG9uZ2l0dWRlLCBsYXRpdHVkZSwgYWx0aXR1ZGUsIHRpbWVzdGFtcF0gJyxcbiAgICAgIGRlc2NyaXB0aW9uMjpcbiAgICAgICAgJ3dpdGggdGhlIGxhc3QgZWxlbWVudCBiZWluZyBhIHRpbWVzdGFtcC4gVmFsaWQgdGltZXN0YW1wIGZvcm1hdHMgaW5jbHVkZSB1bml4IGluIHNlY29uZHMgc3VjaCBhcyBgMTU2NDE4NDM2M2Agb3IgaW4gbWlsbGlzZWNvbmRzIHN1Y2ggYXMgYDE1NjQxODQzNjMwMDBgLicsXG4gICAgICBleGFtcGxlOiAnRXhhbXBsZTonXG4gICAgfSxcbiAgICBpY29uSW5mbzoge1xuICAgICAgdGl0bGU6ICdIb3cgdG8gZHJhdyBpY29ucycsXG4gICAgICBkZXNjcmlwdGlvbjE6XG4gICAgICAgICdJbiB5b3VyIGNzdiwgY3JlYXRlIGEgY29sdW1uLCBwdXQgdGhlIG5hbWUgb2YgdGhlIGljb24geW91IHdhbnQgdG8gZHJhdyBpbiBpdC4gWW91IGNhbiBsZWF2ZSB0aGUgY2VsbCBlbXB0eSBpZiB5b3UgZG8gbm90IHdhbnQgdGhlIGljb24gdG8gc2hvdyBmb3Igc29tZSBwb2ludHMuIFdoZW4gdGhlIGNvbHVtbiBpcyBuYW1lZCcsXG4gICAgICBjb2RlOiAnaWNvbicsXG4gICAgICBkZXNjcmlwdGlvbjI6ICcga2VwbGVyLmdsIHdpbGwgYXV0b21hdGljYWxseSBjcmVhdGUgYSBpY29uIGxheWVyIGZvciB5b3UuJyxcbiAgICAgIGV4YW1wbGU6ICdFeGFtcGxlOicsXG4gICAgICBpY29uczogJ0ljb25zJ1xuICAgIH0sXG4gICAgc3RvcmFnZU1hcFZpZXdlcjoge1xuICAgICAgbGFzdE1vZGlmaWVkOiAnTGFzdCBtb2RpZmllZCB7bGFzdFVwZGF0ZWR9IGFnbycsXG4gICAgICBiYWNrOiAnQmFjaydcbiAgICB9LFxuICAgIG92ZXJ3cml0ZU1hcDoge1xuICAgICAgdGl0bGU6ICdTYXZpbmcgbWFwLi4uJyxcbiAgICAgIGFscmVhZHlFeGlzdHM6ICdhbHJlYWR5IGV4aXN0cyBpbiB5b3VyIHttYXBTYXZlZH0uIFdvdWxkIHlvdSBsaWtlIHRvIG92ZXJ3cml0ZSBpdD8nXG4gICAgfSxcbiAgICBsb2FkU3RvcmFnZU1hcDoge1xuICAgICAgYmFjazogJ0JhY2snLFxuICAgICAgZ29Ub1BhZ2U6ICdHbyB0byB5b3VyIEtlcGxlci5nbCB7ZGlzcGxheU5hbWV9IHBhZ2UnLFxuICAgICAgc3RvcmFnZU1hcHM6ICdTdG9yYWdlIC8gTWFwcycsXG4gICAgICBub1NhdmVkTWFwczogJ05vIHNhdmVkIG1hcHMgeWV0J1xuICAgIH1cbiAgfSxcbiAgaGVhZGVyOiB7XG4gICAgdmlzaWJsZUxheWVyczogJ1Zpc2libGUgbGF5ZXJzJyxcbiAgICBsYXllckxlZ2VuZDogJ0xlZ2VuZCdcbiAgfSxcbiAgaW50ZXJhY3Rpb25zOiB7XG4gICAgdG9vbHRpcDogJ1Rvb2x0aXAnLFxuICAgIGJydXNoOiAnQnJ1c2gnLFxuICAgIGNvb3JkaW5hdGU6ICdDb29yZGluYXRlcycsXG4gICAgZ2VvY29kZXI6ICdHZW9jb2RlcidcbiAgfSxcbiAgbGF5ZXJCbGVuZGluZzoge1xuICAgIHRpdGxlOiAnTGF5ZXIgQmxlbmRpbmcnLFxuICAgIGFkZGl0aXZlOiAnYWRkaXRpdmUnLFxuICAgIG5vcm1hbDogJ25vcm1hbCcsXG4gICAgc3VidHJhY3RpdmU6ICdzdWJ0cmFjdGl2ZSdcbiAgfSxcbiAgY29sdW1uczoge1xuICAgIHRpdGxlOiAnQ29sdW1ucycsXG4gICAgbGF0OiAnbGF0JyxcbiAgICBsbmc6ICdsb24nLFxuICAgIGFsdGl0dWRlOiAnYWx0aXR1ZGUnLFxuICAgIGljb246ICdpY29uJyxcbiAgICBnZW9qc29uOiAnZ2VvanNvbicsXG4gICAgdG9rZW46ICd0b2tlbicsXG4gICAgYXJjOiB7XG4gICAgICBsYXQwOiAnc291cmNlIGxhdCcsXG4gICAgICBsbmcwOiAnc291cmNlIGxuZycsXG4gICAgICBsYXQxOiAndGFyZ2V0IGxhdCcsXG4gICAgICBsbmcxOiAndGFyZ2V0IGxuZydcbiAgICB9LFxuICAgIGxpbmU6IHtcbiAgICAgIGFsdDA6ICdzb3VyY2UgYWx0aXR1ZGUnLFxuICAgICAgYWx0MTogJ3RhcmdldCBhbHRpdHVkZSdcbiAgICB9LFxuICAgIGdyaWQ6IHtcbiAgICAgIHdvcmxkVW5pdFNpemU6ICdHcmlkIFNpemUgKGttKSdcbiAgICB9LFxuICAgIGhleGFnb246IHtcbiAgICAgIHdvcmxkVW5pdFNpemU6ICdIZXhhZ29uIFJhZGl1cyAoa20pJ1xuICAgIH0sXG4gICAgaGV4X2lkOiAnaGV4IGlkJ1xuICB9LFxuICBjb2xvcjoge1xuICAgIGN1c3RvbVBhbGV0dGU6ICdDdXN0b20gUGFsZXR0ZScsXG4gICAgc3RlcHM6ICdzdGVwcycsXG4gICAgdHlwZTogJ3R5cGUnLFxuICAgIHJldmVyc2VkOiAncmV2ZXJzZWQnXG4gIH0sXG4gIGN1c3RvbVBhbGV0dGU6IHtcbiAgICBhcHBseTogJ0FwcGx5JyxcbiAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgIGFkZFN0ZXA6ICcrIEFkZCBTdGVwJ1xuICB9LFxuICBzY2FsZToge1xuICAgIGNvbG9yU2NhbGU6ICdDb2xvciBTY2FsZScsXG4gICAgc2l6ZVNjYWxlOiAnU2l6ZSBTY2FsZScsXG4gICAgc3Ryb2tlU2NhbGU6ICdTdHJva2UgU2NhbGUnLFxuICAgIHNjYWxlOiAnU2NhbGUnXG4gIH0sXG4gIGZpbGVVcGxvYWRlcjoge1xuICAgIG1lc3NhZ2U6ICdEcmFnICYgRHJvcCBZb3VyIEZpbGUocykgSGVyZScsXG4gICAgY2hyb21lTWVzc2FnZTpcbiAgICAgICcqQ2hyb21lIHVzZXI6IExpbWl0IGZpbGUgc2l6ZSB0byAyNTBtYiwgaWYgbmVlZCB0byB1cGxvYWQgbGFyZ2VyIGZpbGUsIHRyeSBTYWZhcmknLFxuICAgIGRpc2NsYWltZXI6XG4gICAgICAnKmtlcGxlci5nbCBpcyBhIGNsaWVudC1zaWRlIGFwcGxpY2F0aW9uIHdpdGggbm8gc2VydmVyIGJhY2tlbmQuIERhdGEgbGl2ZXMgb25seSBvbiB5b3VyIG1hY2hpbmUvYnJvd3Nlci4gJyArXG4gICAgICAnTm8gaW5mb3JtYXRpb24gb3IgbWFwIGRhdGEgaXMgc2VudCB0byBhbnkgc2VydmVyLicsXG4gICAgY29uZmlnVXBsb2FkTWVzc2FnZTpcbiAgICAgICdVcGxvYWQge2ZpbGVGb3JtYXROYW1lc30gb3Igc2F2ZWQgbWFwICoqSnNvbioqLiBSZWFkIG1vcmUgYWJvdXQgWyoqc3VwcG9ydGVkIGZpbGUgZm9ybWF0cyoqXScsXG4gICAgYnJvd3NlRmlsZXM6ICdicm93c2UgeW91ciBmaWxlcycsXG4gICAgdXBsb2FkaW5nOiAnVXBsb2FkaW5nJyxcbiAgICBmaWxlTm90U3VwcG9ydGVkOiAnRmlsZSB7ZXJyb3JGaWxlc30gaXMgbm90IHN1cHBvcnRlZC4nLFxuICAgIG9yOiAnb3InXG4gIH0sXG4gIGdlb2NvZGVyOiB7XG4gICAgdGl0bGU6ICdFbnRlciBhbiBhZGRyZXNzIG9yIGNvb3JkaW5hdGVzLCBleCAzNy43OSwtMTIyLjQwJ1xuICB9LFxuICBmaWVsZFNlbGVjdG9yOiB7XG4gICAgY2xlYXJBbGw6ICdDbGVhciBBbGwnLFxuICAgIGZvcm1hdHRpbmc6ICdGb3JtYXR0aW5nJ1xuICB9LFxuICBjb21wYXJlOiB7XG4gICAgbW9kZUxhYmVsOiAnQ29tcGFyaXNvbiBNb2RlJyxcbiAgICB0eXBlTGFiZWw6ICdDb21wYXJpc29uIFR5cGUnLFxuICAgIHR5cGVzOiB7XG4gICAgICBhYnNvbHV0ZTogJ0Fic29sdXRlJyxcbiAgICAgIHJlbGF0aXZlOiAnUmVsYXRpdmUnXG4gICAgfVxuICB9LFxuICBtYXBQb3BvdmVyOiB7XG4gICAgcHJpbWFyeTogJ1ByaW1hcnknXG4gIH0sXG4gIGRlbnNpdHk6ICdkZW5zaXR5JyxcbiAgJ0J1ZyBSZXBvcnQnOiAnQnVnIFJlcG9ydCcsXG4gICdVc2VyIEd1aWRlJzogJ1VzZXIgR3VpZGUnLFxuICBTYXZlOiAnU2F2ZScsXG4gIFNoYXJlOiAnU2hhcmUnXG59O1xuIl19
|
|
480
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vZW4uanMiXSwibmFtZXMiOlsicHJvcGVydHkiLCJ3ZWlnaHQiLCJsYWJlbCIsImZpbGxDb2xvciIsImNvbG9yIiwiY292ZXJhZ2UiLCJzdHJva2VDb2xvciIsInJhZGl1cyIsIm91dGxpbmUiLCJzdHJva2UiLCJkZW5zaXR5IiwiaGVpZ2h0Iiwic3VtIiwicG9pbnRDb3VudCIsImN1c3RvbU1hcmtlcnMiLCJyb3RhdGlvbiIsInBsYWNlaG9sZGVyIiwic2VhcmNoIiwic2VsZWN0RmllbGQiLCJ5QXhpcyIsInNlbGVjdFR5cGUiLCJzZWxlY3RWYWx1ZSIsImVudGVyVmFsdWUiLCJlbXB0eSIsIm1pc2MiLCJieSIsInZhbHVlc0luIiwidmFsdWVFcXVhbHMiLCJkYXRhU291cmNlIiwiYnJ1c2hSYWRpdXMiLCJtYXBMYXllcnMiLCJ0aXRsZSIsInJvYWQiLCJib3JkZXIiLCJidWlsZGluZyIsIndhdGVyIiwibGFuZCIsInBhbmVsIiwidGV4dCIsIm1haW5MYWJlbCIsInNlY29uZGFyeUxhYmVsIiwiZm9udFNpemUiLCJmb250Q29sb3IiLCJvdXRsaW5lQ29sb3IiLCJ0ZXh0QW5jaG9yIiwiYWxpZ25tZW50IiwiYWRkTW9yZUxhYmVsIiwic2lkZWJhciIsInBhbmVscyIsImxheWVyIiwiZmlsdGVyIiwiaW50ZXJhY3Rpb24iLCJiYXNlbWFwIiwicmVxdWlyZWQiLCJzaXplIiwicHJvcGVydHlCYXNlZE9uIiwic3Ryb2tlV2lkdGgiLCJiYXNpYyIsInRyYWlsTGVuZ3RoIiwidHJhaWxMZW5ndGhEZXNjcmlwdGlvbiIsIm5ld0xheWVyIiwiZWxldmF0aW9uQnlEZXNjcmlwdGlvbiIsImNvbG9yQnlEZXNjcmlwdGlvbiIsImFnZ3JlZ2F0ZUJ5IiwiYWRkVXJsIiwidHlwZSIsInBvaW50IiwiYXJjIiwibGluZSIsImdyaWQiLCJoZXhiaW4iLCJwb2x5Z29uIiwiZ2VvanNvbiIsImNsdXN0ZXIiLCJpY29uIiwiaGVhdG1hcCIsImhleGFnb24iLCJoZXhhZ29uaWQiLCJ0cmlwIiwiczIiLCJjb2xvclJhbmdlIiwibGF5ZXJWaXNDb25maWdzIiwiYW5nbGUiLCJzdHJva2VXaWR0aFJhbmdlIiwicmFkaXVzUmFuZ2UiLCJjbHVzdGVyUmFkaXVzIiwicmFkaXVzUmFuZ2VQaXhlbHMiLCJvcGFjaXR5Iiwic3Ryb2tlQ29sb3JSYW5nZSIsInRhcmdldENvbG9yIiwiY29sb3JBZ2dyZWdhdGlvbiIsImhlaWdodEFnZ3JlZ2F0aW9uIiwicmVzb2x1dGlvblJhbmdlIiwic2l6ZVNjYWxlIiwid29ybGRVbml0U2l6ZSIsImVsZXZhdGlvblNjYWxlIiwiZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvciIsImVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3JEZXNjcmlwdGlvbiIsImVuYWJsZUhlaWdodFpvb21GYWN0b3IiLCJoZWlnaHRTY2FsZSIsImNvdmVyYWdlUmFuZ2UiLCJoaWdoUHJlY2lzaW9uUmVuZGVyaW5nIiwiaGlnaFByZWNpc2lvblJlbmRlcmluZ0Rlc2NyaXB0aW9uIiwiaGVpZ2h0RGVzY3JpcHRpb24iLCJsYWJlbHMiLCJmaWxsIiwiZW5hYmxlUG9seWdvbkhlaWdodCIsInNob3dXaXJlZnJhbWUiLCJ3ZWlnaHRJbnRlbnNpdHkiLCJ6b29tU2NhbGUiLCJoZWlnaHRSYW5nZSIsImhlaWdodE11bHRpcGxpZXIiLCJ1cmwiLCJsYXllclZpc2liaWxpdHkiLCJsYXllck1hbmFnZXIiLCJhZGREYXRhIiwiYWRkTGF5ZXIiLCJsYXllckJsZW5kaW5nIiwibWFwTWFuYWdlciIsIm1hcFN0eWxlIiwiYWRkTWFwU3R5bGUiLCJsYXllckNvbmZpZ3VyYXRpb24iLCJkZWZhdWx0RGVzY3JpcHRpb24iLCJob3dUbyIsImZpbHRlck1hbmFnZXIiLCJhZGRGaWx0ZXIiLCJkYXRhc2V0VGl0bGUiLCJzaG93RGF0YVRhYmxlIiwicmVtb3ZlRGF0YXNldCIsImRhdGFzZXRJbmZvIiwicm93Q291bnQiLCJ0b29sdGlwIiwiaGlkZUxheWVyIiwic2hvd0xheWVyIiwiaGlkZUZlYXR1cmUiLCJzaG93RmVhdHVyZSIsImhpZGUiLCJzaG93IiwicmVtb3ZlTGF5ZXIiLCJkdXBsaWNhdGVMYXllciIsImxheWVyU2V0dGluZ3MiLCJjbG9zZVBhbmVsIiwic3dpdGNoVG9EdWFsVmlldyIsInNob3dMZWdlbmQiLCJkaXNhYmxlM0RNYXAiLCJEcmF3T25NYXAiLCJzZWxlY3RMb2NhbGUiLCJoaWRlTGF5ZXJQYW5lbCIsInNob3dMYXllclBhbmVsIiwibW92ZVRvVG9wIiwic2VsZWN0QmFzZU1hcFN0eWxlIiwidGltZVBsYXliYWNrIiwiY2xvdWRTdG9yYWdlIiwiYW5pbWF0aW9uQnlXaW5kb3ciLCJhbmltYXRpb25CeUluY3JlbWVudGFsIiwic3BlZWQiLCJwbGF5IiwicGF1c2UiLCJyZXNldCIsInRvb2xiYXIiLCJleHBvcnRJbWFnZSIsImV4cG9ydERhdGEiLCJleHBvcnRNYXAiLCJzaGFyZU1hcFVSTCIsInNhdmVNYXAiLCJzZWxlY3QiLCJyZWN0YW5nbGUiLCJMT0NBTEVTIiwiZWRpdG9yIiwiZmlsdGVyTGF5ZXIiLCJjb3B5R2VvbWV0cnkiLCJtb2RhbCIsImRlbGV0ZURhdGFzZXQiLCJhZGREYXRhVG9NYXAiLCJhZGRDdXN0b21NYXBib3hTdHlsZSIsInNoYXJlVVJMIiwiYnV0dG9uIiwiZG93bmxvYWQiLCJhZGRTdHlsZSIsInNhdmUiLCJkZWZhdWx0Q2FuY2VsIiwiZGVmYXVsdENvbmZpcm0iLCJyYXRpb1RpdGxlIiwicmF0aW9EZXNjcmlwdGlvbiIsInJhdGlvT3JpZ2luYWxTY3JlZW4iLCJyYXRpb0N1c3RvbSIsInJhdGlvNF8zIiwicmF0aW8xNl85IiwicmVzb2x1dGlvblRpdGxlIiwicmVzb2x1dGlvbkRlc2NyaXB0aW9uIiwibWFwTGVnZW5kVGl0bGUiLCJtYXBMZWdlbmRBZGQiLCJkYXRhc2V0U3VidGl0bGUiLCJhbGxEYXRhc2V0cyIsImRhdGFUeXBlVGl0bGUiLCJkYXRhVHlwZVN1YnRpdGxlIiwiZmlsdGVyRGF0YVRpdGxlIiwiZmlsdGVyRGF0YVN1YnRpdGxlIiwiZmlsdGVyZWREYXRhIiwidW5maWx0ZXJlZERhdGEiLCJmaWxlQ291bnQiLCJkZWxldGVEYXRhIiwid2FybmluZyIsInB1Ymxpc2hUaXRsZSIsInB1Ymxpc2hTdWJ0aXRsZTEiLCJwdWJsaXNoU3VidGl0bGUyIiwicHVibGlzaFN1YnRpdGxlMyIsInB1Ymxpc2hTdWJ0aXRsZTQiLCJwdWJsaXNoU3VidGl0bGU1IiwicHVibGlzaFN1YnRpdGxlNiIsInB1Ymxpc2hTdWJ0aXRsZTciLCJleGFtcGxlVG9rZW4iLCJwYXN0ZVRpdGxlIiwicGFzdGVTdWJ0aXRsZTAiLCJwYXN0ZVN1YnRpdGxlMSIsInBhc3RlU3VidGl0bGUyIiwicGFzdGVTdWJ0aXRsZTMiLCJwYXN0ZVN1YnRpdGxlNCIsIm5hbWluZ1RpdGxlIiwic2hhcmVNYXAiLCJzaGFyZVVyaVRpdGxlIiwic2hhcmVVcmlTdWJ0aXRsZSIsImNsb3VkVGl0bGUiLCJjbG91ZFN1YnRpdGxlIiwic2hhcmVEaXNjbGFpbWVyIiwiZ290b1BhZ2UiLCJzdGF0dXNQYW5lbCIsIm1hcFVwbG9hZGluZyIsImVycm9yIiwic3VidGl0bGUiLCJmb3JtYXRUaXRsZSIsImZvcm1hdFN1YnRpdGxlIiwiaHRtbCIsInNlbGVjdGlvbiIsInRva2VuVGl0bGUiLCJ0b2tlblN1YnRpdGxlIiwidG9rZW5QbGFjZWhvbGRlciIsInRva2VuTWlzdXNlV2FybmluZyIsInRva2VuRGlzY2xhaW1lciIsInRva2VuVXBkYXRlIiwibW9kZVRpdGxlIiwibW9kZVN1YnRpdGxlMSIsIm1vZGVTdWJ0aXRsZTIiLCJtb2RlRGVzY3JpcHRpb24iLCJyZWFkIiwiZWRpdCIsImpzb24iLCJjb25maWdUaXRsZSIsImNvbmZpZ0Rpc2NsYWltZXIiLCJkaXNjbGFpbWVyIiwibG9hZGluZ0RpYWxvZyIsImxvYWRpbmciLCJsb2FkRGF0YSIsInVwbG9hZCIsInN0b3JhZ2UiLCJ0cmlwSW5mbyIsImRlc2NyaXB0aW9uMSIsImNvZGUiLCJkZXNjcmlwdGlvbjIiLCJleGFtcGxlIiwiaWNvbkluZm8iLCJpY29ucyIsInN0b3JhZ2VNYXBWaWV3ZXIiLCJsYXN0TW9kaWZpZWQiLCJiYWNrIiwib3ZlcndyaXRlTWFwIiwiYWxyZWFkeUV4aXN0cyIsImxvYWRTdG9yYWdlTWFwIiwiZ29Ub1BhZ2UiLCJzdG9yYWdlTWFwcyIsIm5vU2F2ZWRNYXBzIiwiaGVhZGVyIiwidmlzaWJsZUxheWVycyIsImxheWVyTGVnZW5kIiwiaW50ZXJhY3Rpb25zIiwiYnJ1c2giLCJjb29yZGluYXRlIiwiZ2VvY29kZXIiLCJhZGRpdGl2ZSIsIm5vcm1hbCIsInN1YnRyYWN0aXZlIiwiY29sdW1ucyIsImxhdCIsImxuZyIsImFsdGl0dWRlIiwidG9rZW4iLCJsYXQwIiwibG5nMCIsImxhdDEiLCJsbmcxIiwiYWx0MCIsImFsdDEiLCJoZXhfaWQiLCJjdXN0b21QYWxldHRlIiwic3RlcHMiLCJyZXZlcnNlZCIsImFwcGx5IiwiY2FuY2VsIiwiYWRkU3RlcCIsInNjYWxlIiwiY29sb3JTY2FsZSIsInN0cm9rZVNjYWxlIiwiZmlsZVVwbG9hZGVyIiwibWVzc2FnZSIsImNocm9tZU1lc3NhZ2UiLCJjb25maWdVcGxvYWRNZXNzYWdlIiwiYnJvd3NlRmlsZXMiLCJ1cGxvYWRpbmciLCJmaWxlTm90U3VwcG9ydGVkIiwib3IiLCJmaWVsZFNlbGVjdG9yIiwiY2xlYXJBbGwiLCJmb3JtYXR0aW5nIiwiY29tcGFyZSIsIm1vZGVMYWJlbCIsInR5cGVMYWJlbCIsInR5cGVzIiwiYWJzb2x1dGUiLCJyZWxhdGl2ZSIsIm1hcFBvcG92ZXIiLCJwcmltYXJ5IiwiU2F2ZSIsIlNoYXJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7Ozs7O2VBRWU7QUFDYkEsRUFBQUEsUUFBUSxFQUFFO0FBQ1JDLElBQUFBLE1BQU0sRUFBRSxRQURBO0FBRVJDLElBQUFBLEtBQUssRUFBRSxPQUZDO0FBR1JDLElBQUFBLFNBQVMsRUFBRSxZQUhIO0FBSVJDLElBQUFBLEtBQUssRUFBRSxPQUpDO0FBS1JDLElBQUFBLFFBQVEsRUFB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Rko7QUFHUEMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLFFBQVEsRUFBRSxVQURMO0FBRUxDLE1BQUFBLFFBQVEsRUFBRTtBQUZMO0FBSEEsR0E5Y0k7QUFzZGJDLEVBQUFBLFVBQVUsRUFBRTtBQUNWQyxJQUFBQSxPQUFPLEVBQUU7QUFEQyxHQXRkQztBQXlkYnRULEVBQUFBLE9BQU8sRUFBRSxTQXpkSTtBQTBkYixnQkFBYyxZQTFkRDtBQTJkYixnQkFBYyxZQTNkRDtBQTRkYnVULEVBQUFBLElBQUksRUFBRSxNQTVkTztBQTZkYkMsRUFBQUEsS0FBSyxFQUFFO0FBN2RNLEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge0xPQ0FMRVN9IGZyb20gJy4vbG9jYWxlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcGVydHk6IHtcbiAgICB3ZWlnaHQ6ICd3ZWlnaHQnLFxuICAgIGxhYmVsOiAnbGFiZWwnLFxuICAgIGZpbGxDb2xvcjogJ2ZpbGwgY29sb3InLFxuICAgIGNvbG9yOiAnY29sb3InLFxuICAgIGNvdmVyYWdlOiAnY292ZXJhZ2UnLFxuICAgIHN0cm9rZUNvbG9yOiAnc3Ryb2tlIGNvbG9yJyxcbiAgICByYWRpdXM6ICdyYWRpdXMnLFxuICAgIG91dGxpbmU6ICdvdXRsaW5lJyxcbiAgICBzdHJva2U6ICdzdHJva2UnLFxuICAgIGRlbnNpdHk6ICdkZW5zaXR5JyxcbiAgICBoZWlnaHQ6ICdoZWlnaHQnLFxuICAgIHN1bTogJ3N1bScsXG4gICAgcG9pbnRDb3VudDogJ1BvaW50IENvdW50JyxcbiAgICBjdXN0b21NYXJrZXJzOiAnTWFya2VycycsXG4gICAgcm90YXRpb246ICdSb3RhdGlvbidcbiAgfSxcbiAgcGxhY2Vob2xkZXI6IHtcbiAgICBzZWFyY2g6ICdTZWFyY2gnLFxuICAgIHNlbGVjdEZpZWxkOiAnU2VsZWN0IGEgZmllbGQnLFxuICAgIHlBeGlzOiAnWSBBeGlzJyxcbiAgICBzZWxlY3RUeXBlOiAnU2VsZWN0IEEgVHlwZScsXG4gICAgc2VsZWN0VmFsdWU6ICdTZWxlY3QgQSBWYWx1ZScsXG4gICAgZW50ZXJWYWx1ZTogJ0VudGVyIGEgdmFsdWUnLFxuICAgIGVtcHR5OiAnZW1wdHknXG4gIH0sXG4gIG1pc2M6IHtcbiAgICBieTogJycsXG4gICAgdmFsdWVzSW46ICdWYWx1ZXMgaW4nLFxuICAgIHZhbHVlRXF1YWxzOiAnVmFsdWUgZXF1YWxzJyxcbiAgICBkYXRhU291cmNlOiAnRGF0YSBTb3VyY2UnLFxuICAgIGJydXNoUmFkaXVzOiAnQnJ1c2ggUmFkaXVzIChrbSknLFxuICAgIGVtcHR5OiAnICdcbiAgfSxcbiAgbWFwTGF5ZXJzOiB7XG4gICAgdGl0bGU6ICdNYXAgTGF5ZXJzJyxcbiAgICBsYWJlbDogJ0xhYmVsJyxcbiAgICByb2FkOiAnUm9hZCcsXG4gICAgYm9yZGVyOiAnQm9yZGVyJyxcbiAgICBidWlsZGluZzogJ0J1aWxkaW5nJyxcbiAgICB3YXRlcjogJ1dhdGVyJyxcbiAgICBsYW5kOiAnTGFuZCcsXG4gICAgJzNkQnVpbGRpbmcnOiAnM2QgQnVpbGRpbmcnXG4gIH0sXG4gIHBhbmVsOiB7XG4gICAgdGV4dDoge1xuICAgICAgbGFiZWw6ICdsYWJlbCcsXG4gICAgICBtYWluTGFiZWw6ICdNYWluIExhYmVsJyxcbiAgICAgIHNlY29uZGFyeUxhYmVsOiAnU2Vjb25kYXJ5IExhYmVsJyxcbiAgICAgIGZvbnRTaXplOiAnRm9udCBzaXplJyxcbiAgICAgIGZvbnRDb2xvcjogJ0ZvbnQgY29sb3InLFxuICAgICAgb3V0bGluZUNvbG9yOiAnT3V0bGluZSBjb2xvcicsXG4gICAgICB0ZXh0QW5jaG9yOiAnVGV4dCBhbmNob3InLFxuICAgICAgYWxpZ25tZW50OiAnQWxpZ25tZW50JyxcbiAgICAgIGFkZE1vcmVMYWJlbDogJ0FkZCBzZWNvbmRhcnkgbGFiZWwnXG4gICAgfVxuICB9LFxuICBzaWRlYmFyOiB7XG4gICAgcGFuZWxzOiB7XG4gICAgICBsYXllcjogJ0xheWVycycsXG4gICAgICBmaWx0ZXI6ICdGaWx0ZXJzJyxcbiAgICAgIGludGVyYWN0aW9uOiAnSW50ZXJhY3Rpb25zJyxcbiAgICAgIGJhc2VtYXA6ICdCYXNlIG1hcCdcbiAgICB9XG4gIH0sXG4gIGxheWVyOiB7XG4gICAgcmVxdWlyZWQ6ICdSZXF1aXJlZConLFxuICAgIHJhZGl1czogJ1JhZGl1cycsXG4gICAgc2l6ZTogJ1NpemUnLFxuICAgIGNvbG9yOiAnQ29sb3InLFxuICAgIGZpbGxDb2xvcjogJ0ZpbGwgQ29sb3InLFxuICAgIG91dGxpbmU6ICdPdXRsaW5lJyxcbiAgICB3ZWlnaHQ6ICdXZWlnaHQnLFxuICAgIHByb3BlcnR5QmFzZWRPbjogJ3twcm9wZXJ0eX0gYmFzZWQgb24nLFxuICAgIGNvdmVyYWdlOiAnQ292ZXJhZ2UnLFxuICAgIHN0cm9rZTogJ1N0cm9rZScsXG4gICAgc3Ryb2tlV2lkdGg6ICdTdHJva2UgV2lkdGgnLFxuICAgIHN0cm9rZUNvbG9yOiAnU3Ryb2tlIENvbG9yJyxcbiAgICBiYXNpYzogJ0Jhc2ljJyxcbiAgICB0cmFpbExlbmd0aDogJ1RyYWlsIExlbmd0aCcsXG4gICAgdHJhaWxMZW5ndGhEZXNjcmlwdGlvbjogJ051bWJlciBvZiBzZWNvbmRzIGZvciBhIHBhdGggdG8gY29tcGxldGVseSBmYWRlIG91dCcsXG4gICAgbmV3TGF5ZXI6ICduZXcgbGF5ZXInLFxuICAgIGVsZXZhdGlvbkJ5RGVzY3JpcHRpb246ICdXaGVuIG9mZiwgaGVpZ2h0IGlzIGJhc2VkIG9uIGNvdW50IG9mIHBvaW50cycsXG4gICAgY29sb3JCeURlc2NyaXB0aW9uOiAnV2hlbiBvZmYsIGNvbG9yIGlzIGJhc2VkIG9uIGNvdW50IG9mIHBvaW50cycsXG4gICAgYWdncmVnYXRlQnk6ICdBZ2dyZWdhdGUge2ZpZWxkfSBieScsXG4gICAgYWRkVXJsOiAnQWRkIFVSTCcsXG4gICAgJzNETW9kZWwnOiAnM0QgTW9kZWwnLFxuICAgICczRE1vZGVsT3B0aW9ucyc6ICczRCBNb2RlbCBPcHRpb25zJyxcbiAgICB0eXBlOiB7XG4gICAgICBwb2ludDogJ3BvaW50JyxcbiAgICAgIGFyYzogJ2FyYycsXG4gICAgICBsaW5lOiAnbGluZScsXG4gICAgICBncmlkOiAnZ3JpZCcsXG4gICAgICBoZXhiaW46ICdoZXhiaW4nLFxuICAgICAgcG9seWdvbjogJ3BvbHlnb24nLFxuICAgICAgZ2VvanNvbjogJ2dlb2pzb24nLFxuICAgICAgY2x1c3RlcjogJ2NsdXN0ZXInLFxuICAgICAgaWNvbjogJ2ljb24nLFxuICAgICAgaGVhdG1hcDogJ2hlYXRtYXAnLFxuICAgICAgaGV4YWdvbjogJ2hleGFnb24nLFxuICAgICAgaGV4YWdvbmlkOiAnSDMnLFxuICAgICAgdHJpcDogJ3RyaXAnLFxuICAgICAgczI6ICdTMicsXG4gICAgICAnM2QnOiAnM0QnXG4gICAgfSxcbiAgICBjb2xvclJhbmdlOiAnUGFsZXR0ZSdcbiAgfSxcbiAgbGF5ZXJWaXNDb25maWdzOiB7XG4gICAgYW5nbGU6ICdBbmdsZScsXG4gICAgc3Ryb2tlV2lkdGg6ICdTdHJva2UgV2lkdGggKFBpeGVscyknLFxuICAgIHN0cm9rZVdpZHRoUmFuZ2U6ICdTdHJva2UgV2lkdGggUmFuZ2UnLFxuICAgIHJhZGl1czogJ1JhZGl1cycsXG4gICAgcmFkaXVzUmFuZ2U6ICdSYWRpdXMgUmFuZ2UnLFxuICAgIGNsdXN0ZXJSYWRpdXM6ICdDbHVzdGVyIFJhZGl1cyBpbiBQaXhlbHMnLFxuICAgIHJhZGl1c1JhbmdlUGl4ZWxzOiAnUmFkaXVzIFJhbmdlIGluIHBpeGVscycsXG4gICAgb3BhY2l0eTogJ09wYWNpdHknLFxuICAgIGNvdmVyYWdlOiAnQ292ZXJhZ2UnLFxuICAgIG91dGxpbmU6ICdPdXRsaW5lJyxcbiAgICBjb2xvclJhbmdlOiAnQ29sb3IgcmFuZ2UnLFxuICAgIHN0cm9rZTogJ1N0cm9rZScsXG4gICAgc3Ryb2tlQ29sb3I6ICdTdHJva2UgQ29sb3InLFxuICAgIHN0cm9rZUNvbG9yUmFuZ2U6ICdTdHJva2UgQ29sb3IgcmFuZ2UnLFxuICAgIHRhcmdldENvbG9yOiAnVGFyZ2V0IENvbG9yJyxcbiAgICBjb2xvckFnZ3JlZ2F0aW9uOiAnQ29sb3IgQWdncmVnYXRpb24nLFxuICAgIGhlaWdodEFnZ3JlZ2F0aW9uOiAnSGVpZ2h0IEFnZ3JlZ2F0aW9uJyxcbiAgICByZXNvbHV0aW9uUmFuZ2U6ICdSZXNvbHV0aW9uIHJhbmdlJyxcbiAgICBzaXplU2NhbGU6ICdTaXplIFNjYWxlJyxcbiAgICB3b3JsZFVuaXRTaXplOiAnV29ybGQgVW5pdCBTaXplJyxcbiAgICBlbGV2YXRpb25TY2FsZTogJ0VsZXZhdGlvbiBTY2FsZScsXG4gICAgZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvcjogJ1VzZSBlbGV2YXRpb24gem9vbSBmYWN0b3InLFxuICAgIGVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3JEZXNjcmlwdGlvbjogJ0FkanVzdCBoZWlnaHQvZWxldmF0aW9uIGJhc2VkIG9uIGN1cnJlbnQgem9vbSBmYWN0b3InLFxuICAgIGVuYWJsZUhlaWdodFpvb21GYWN0b3I6ICdVc2UgaGVpZ2h0IHpvb20gZmFjdG9yJyxcbiAgICBoZWlnaHRTY2FsZTogJ0hlaWdodCBTY2FsZScsXG4gICAgY292ZXJhZ2VSYW5nZTogJ0NvdmVyYWdlIFJhbmdlJyxcbiAgICBoaWdoUHJlY2lzaW9uUmVuZGVyaW5nOiAnSGlnaCBQcmVjaXNpb24gUmVuZGVyaW5nJyxcbiAgICBoaWdoUHJlY2lzaW9uUmVuZGVyaW5nRGVzY3JpcHRpb246ICdIaWdoIHByZWNpc2lvbiB3aWxsIHJlc3VsdCBpbiBzbG93ZXIgcGVyZm9ybWFuY2UnLFxuICAgIGhlaWdodDogJ0hlaWdodCcsXG4gICAgaGVpZ2h0RGVzY3JpcHRpb246ICdDbGljayBidXR0b24gYXQgdG9wIHJpZ2h0IG9mIHRoZSBtYXAgdG8gc3dpdGNoIHRvIDNkIHZpZXcnLFxuICAgIGxhYmVsczogJ0xhYmVscycsXG4gICAgZmlsbDogJ0ZpbGwnLFxuICAgIGVuYWJsZVBvbHlnb25IZWlnaHQ6ICdFbmFibGUgUG9seWdvbiBIZWlnaHQnLFxuICAgIHNob3dXaXJlZnJhbWU6ICdTaG93IFdpcmVmcmFtZScsXG4gICAgd2VpZ2h0SW50ZW5zaXR5OiAnV2VpZ2h0IEludGVuc2l0eScsXG4gICAgem9vbVNjYWxlOiAnWm9vbSBTY2FsZScsXG4gICAgaGVpZ2h0UmFuZ2U6ICdIZWlnaHQgUmFuZ2UnLFxuICAgIGhlaWdodE11bHRpcGxpZXI6ICdIZWlnaHQgTXVsdGlwbGllcicsXG4gICAgY3VzdG9tTWFya2VyczogJ0N1c3RvbSBtYXJrZXJzJyxcbiAgICB1cmw6ICdBZGQgVVJMJ1xuICB9LFxuICBsYXllclZpc2liaWxpdHk6IHtcbiAgICB0aXRsZTogJ1Zpc2liaWxpdHkgYnkgem9vbSBsZXZlbCdcbiAgfSxcbiAgbGF5ZXJNYW5hZ2VyOiB7XG4gICAgYWRkRGF0YTogJ0FkZCBEYXRhJyxcbiAgICBhZGRMYXllcjogJ0FkZCBMYXllcicsXG4gICAgbGF5ZXJCbGVuZGluZzogJ0xheWVyIEJsZW5kaW5nJ1xuICB9LFxuICBtYXBNYW5hZ2VyOiB7XG4gICAgbWFwU3R5bGU6ICdNYXAgc3R5bGUnLFxuICAgIGFkZE1hcFN0eWxlOiAnQWRkIE1hcCBTdHlsZScsXG4gICAgJzNkQnVpbGRpbmdDb2xvcic6ICczRCBCdWlsZGluZyBDb2xvcidcbiAgfSxcbiAgbGF5ZXJDb25maWd1cmF0aW9uOiB7XG4gICAgZGVmYXVsdERlc2NyaXB0aW9uOiAnQ2FsY3VsYXRlIHtwcm9wZXJ0eX0gYmFzZWQgb24gc2VsZWN0ZWQgZmllbGQnLFxuICAgIGhvd1RvOiAnSG93IHRvJ1xuICB9LFxuICBmaWx0ZXJNYW5hZ2VyOiB7XG4gICAgYWRkRmlsdGVyOiAnQWRkIEZpbHRlcidcbiAgfSxcbiAgZGF0YXNldFRpdGxlOiB7XG4gICAgc2hvd0RhdGFUYWJsZTogJ1Nob3cgZGF0YSB0YWJsZScsXG4gICAgcmVtb3ZlRGF0YXNldDogJ1JlbW92ZSBkYXRhc2V0J1xuICB9LFxuICBkYXRhc2V0SW5mbzoge1xuICAgIHJvd0NvdW50OiAne3Jvd0NvdW50fSByb3dzJ1xuICB9LFxuICB0b29sdGlwOiB7XG4gICAgaGlkZUxheWVyOiAnaGlkZSBsYXllcicsXG4gICAgc2hvd0xheWVyOiAnc2hvdyBsYXllcicsXG4gICAgaGlkZUZlYXR1cmU6ICdIaWRlIEZlYXR1cmUnLFxuICAgIHNob3dGZWF0dXJlOiAnU2hvdyBmZWF0dXJlJyxcbiAgICBoaWRlOiAnaGlkZScsXG4gICAgc2hvdzogJ3Nob3cnLFxuICAgIHJlbW92ZUxheWVyOiAnUmVtb3ZlIGxheWVyJyxcbiAgICBkdXBsaWNhdGVMYXllcjogJ0R1cGxpY2F0ZSBsYXllcicsXG4gICAgbGF5ZXJTZXR0aW5nczogJ0xheWVyIHNldHRpbmdzJyxcbiAgICBjbG9zZVBhbmVsOiAnQ2xvc2UgY3VycmVudCBwYW5lbCcsXG4gICAgc3dpdGNoVG9EdWFsVmlldzogJ1N3aXRjaCB0byBkdWFsIG1hcCB2aWV3JyxcbiAgICBzaG93TGVnZW5kOiAnc2hvdyBsZWdlbmQnLFxuICAgIGRpc2FibGUzRE1hcDogJ0Rpc2FibGUgM0QgTWFwJyxcbiAgICBEcmF3T25NYXA6ICdEcmF3IG9uIG1hcCcsXG4gICAgc2VsZWN0TG9jYWxlOiAnU2VsZWN0IGxvY2FsZScsXG4gICAgaGlkZUxheWVyUGFuZWw6ICdIaWRlIGxheWVyIHBhbmVsJyxcbiAgICBzaG93TGF5ZXJQYW5lbDogJ1Nob3cgbGF5ZXIgcGFuZWwnLFxuICAgIG1vdmVUb1RvcDogJ01vdmUgdG8gdG9wIG9mIGRhdGEgbGF5ZXJzJyxcbiAgICBzZWxlY3RCYXNlTWFwU3R5bGU6ICdTZWxlY3QgQmFzZSBNYXAgU3R5bGUnLFxuICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgdGltZVBsYXliYWNrOiAnVGltZSBQbGF5YmFjaycsXG4gICAgY2xvdWRTdG9yYWdlOiAnQ2xvdWQgU3RvcmFnZScsXG4gICAgJzNETWFwJzogJzNEIE1hcCcsXG4gICAgYW5pbWF0aW9uQnlXaW5kb3c6ICdNb3ZpbmcgVGltZSBXaW5kb3cnLFxuICAgIGFuaW1hdGlvbkJ5SW5jcmVtZW50YWw6ICdJbmNyZW1lbnRhbCBUaW1lIFdpbmRvdycsXG4gICAgc3BlZWQ6ICdzcGVlZCcsXG4gICAgcGxheTogJ3BsYXknLFxuICAgIHBhdXNlOiAncGF1c2UnLFxuICAgIHJlc2V0OiAncmVzZXQnXG4gIH0sXG4gIHRvb2xiYXI6IHtcbiAgICBleHBvcnRJbWFnZTogJ0V4cG9ydCBJbWFnZScsXG4gICAgZXhwb3J0RGF0YTogJ0V4cG9ydCBEYXRhJyxcbiAgICBleHBvcnRNYXA6ICdFeHBvcnQgTWFwJyxcbiAgICBzaGFyZU1hcFVSTDogJ1NoYXJlIE1hcCBVUkwnLFxuICAgIHNhdmVNYXA6ICdTYXZlIE1hcCcsXG4gICAgc2VsZWN0OiAnU2VsZWN0JyxcbiAgICBwb2x5Z29uOiAnUG9seWdvbicsXG4gICAgcmVjdGFuZ2xlOiAnUmVjdGFuZ2xlJyxcbiAgICBoaWRlOiAnSGlkZScsXG4gICAgc2hvdzogJ1Nob3cnLFxuICAgIC4uLkxPQ0FMRVNcbiAgfSxcbiAgZWRpdG9yOiB7XG4gICAgZmlsdGVyTGF5ZXI6ICdGaWx0ZXIgTGF5ZXJzJyxcbiAgICBjb3B5R2VvbWV0cnk6ICdDb3B5IEdlb21ldHJ5J1xuICB9LFxuXG4gIG1vZGFsOiB7XG4gICAgdGl0bGU6IHtcbiAgICAgIGRlbGV0ZURhdGFzZXQ6ICdEZWxldGUgRGF0YXNldCcsXG4gICAgICBhZGREYXRhVG9NYXA6ICdBZGQgRGF0YSBUbyBNYXAnLFxuICAgICAgZXhwb3J0SW1hZ2U6ICdFeHBvcnQgSW1hZ2UnLFxuICAgICAgZXhwb3J0RGF0YTogJ0V4cG9ydCBEYXRhJyxcbiAgICAgIGV4cG9ydE1hcDogJ0V4cG9ydCBNYXAnLFxuICAgICAgYWRkQ3VzdG9tTWFwYm94U3R5bGU6ICdBZGQgQ3VzdG9tIE1hcCBTdHlsZScsXG4gICAgICBzYXZlTWFwOiAnU2F2ZSBNYXAnLFxuICAgICAgc2hhcmVVUkw6ICdTaGFyZSBVUkwnXG4gICAgfSxcbiAgICBidXR0b246IHtcbiAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgICBkb3dubG9hZDogJ0Rvd25sb2FkJyxcbiAgICAgIGV4cG9ydDogJ0V4cG9ydCcsXG4gICAgICBhZGRTdHlsZTogJ0FkZCBTdHlsZScsXG4gICAgICBzYXZlOiAnU2F2ZScsXG4gICAgICBkZWZhdWx0Q2FuY2VsOiAnQ2FuY2VsJyxcbiAgICAgIGRlZmF1bHRDb25maXJtOiAnQ29uZmlybSdcbiAgICB9LFxuICAgIGV4cG9ydEltYWdlOiB7XG4gICAgICByYXRpb1RpdGxlOiAnUmF0aW8nLFxuICAgICAgcmF0aW9EZXNjcmlwdGlvbjogJ0Nob29zZSB0aGUgcmF0aW8gZm9yIHZhcmlvdXMgdXNhZ2VzLicsXG4gICAgICByYXRpb09yaWdpbmFsU2NyZWVuOiAnT3JpZ2luYWwgU2NyZWVuJyxcbiAgICAgIHJhdGlvQ3VzdG9tOiAnQ3VzdG9tJyxcbiAgICAgIHJhdGlvNF8zOiAnNDozJyxcbiAgICAgIHJhdGlvMTZfOTogJzE2OjknLFxuICAgICAgcmVzb2x1dGlvblRpdGxlOiAnUmVzb2x1dGlvbicsXG4gICAgICByZXNvbHV0aW9uRGVzY3JpcHRpb246ICdIaWdoIHJlc29sdXRpb24gaXMgYmV0dGVyIGZvciBwcmludHMuJyxcbiAgICAgIG1hcExlZ2VuZFRpdGxlOiAnTWFwIExlZ2VuZCcsXG4gICAgICBtYXBMZWdlbmRBZGQ6ICdBZGQgbGVnZW5kIG9uIG1hcCdcbiAgICB9LFxuICAgIGV4cG9ydERhdGE6IHtcbiAgICAgIGRhdGFzZXRUaXRsZTogJ0RhdGFzZXQnLFxuICAgICAgZGF0YXNldFN1YnRpdGxlOiAnQ2hvb3NlIHRoZSBkYXRhc2V0cyB5b3Ugd2FudCB0byBleHBvcnQnLFxuICAgICAgYWxsRGF0YXNldHM6ICdBbGwnLFxuICAgICAgZGF0YVR5cGVUaXRsZTogJ0RhdGEgVHlwZScsXG4gICAgICBkYXRhVHlwZVN1YnRpdGxlOiAnQ2hvb3NlIHRoZSB0eXBlIG9mIGRhdGEgeW91IHdhbnQgdG8gZXhwb3J0JyxcbiAgICAgIGZpbHRlckRhdGFUaXRsZTogJ0ZpbHRlciBEYXRhJyxcbiAgICAgIGZpbHRlckRhdGFTdWJ0aXRsZTogJ1lvdSBjYW4gY2hvb3NlIGV4cG9ydGluZyBvcmlnaW5hbCBkYXRhIG9yIGZpbHRlcmVkIGRhdGEnLFxuICAgICAgZmlsdGVyZWREYXRhOiAnRmlsdGVyZWQgZGF0YScsXG4gICAgICB1bmZpbHRlcmVkRGF0YTogJ1VuZmlsdGVyZWQgRGF0YScsXG4gICAgICBmaWxlQ291bnQ6ICd7ZmlsZUNvdW50fSBGaWxlcycsXG4gICAgICByb3dDb3VudDogJ3tyb3dDb3VudH0gUm93cydcbiAgICB9LFxuICAgIGRlbGV0ZURhdGE6IHtcbiAgICAgIHdhcm5pbmc6ICd5b3UgYXJlIGdvaW5nIHRvIGRlbGV0ZSB0aGlzIGRhdGFzZXQuIEl0IHdpbGwgYWZmZWN0IHtsZW5ndGh9IGxheWVycydcbiAgICB9LFxuICAgIGFkZFN0eWxlOiB7XG4gICAgICBwdWJsaXNoVGl0bGU6XG4gICAgICAgICcyLiBJZiBlbnRlcmVkIG1hcGJveCBzdHVsZSB1cmwgaW4gc3RlcC4xLCBwdWJsaXNoIHlvdXIgc3R5bGUgYXQgbWFwYm94IG9yIHByb3ZpZGUgYWNjZXNzIHRva2VuLiAoT3B0aW9uYWwpJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTE6ICdZb3UgY2FuIGNyZWF0ZSB5b3VyIG93biBtYXAgc3R5bGUgYXQnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlMjogJ2FuZCcsXG4gICAgICBwdWJsaXNoU3VidGl0bGUzOiAncHVibGlzaCcsXG4gICAgICBwdWJsaXNoU3VidGl0bGU0OiAnaXQuJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTU6ICdUbyB1c2UgcHJpdmF0ZSBzdHlsZSwgcGFzdGUgeW91cicsXG4gICAgICBwdWJsaXNoU3VidGl0bGU2OiAnYWNjZXNzIHRva2VuJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTc6XG4gICAgICAgICdoZXJlLiAqa2VwbGVyLmdsIGlzIGEgY2xpZW50LXNpZGUgYXBwbGljYXRpb24sIGRhdGEgc3RheXMgaW4geW91ciBicm93c2VyLi4nLFxuICAgICAgZXhhbXBsZVRva2VuOiAnZS5nLiBway5hYmNkZWZnLnh4eHh4eCcsXG4gICAgICBwYXN0ZVRpdGxlOiAnMS4gUGFzdGUgc3R5bGUgdXJsJyxcbiAgICAgIHBhc3RlU3VidGl0bGUwOiAnU3R5bGUgdXJsIGNhbiBiZSBhIG1hcGJveCcsXG4gICAgICBwYXN0ZVN1YnRpdGxlMTogJ1doYXQgaXMgYScsXG4gICAgICBwYXN0ZVN1YnRpdGxlMjogJ3N0eWxlIFVSTCcsXG4gICAgICBwYXN0ZVN1YnRpdGxlMzogJ29yIGEgc3R5bGUuanNvbiB1c2luZyB0aGUnLFxuICAgICAgcGFzdGVTdWJ0aXRsZTQ6ICdNYXBib3ggR0wgU3R5bGUgU3BlYycsXG4gICAgICBuYW1pbmdUaXRsZTogJzMuIE5hbWUgeW91ciBzdHlsZSdcbiAgICB9LFxuICAgIHNoYXJlTWFwOiB7XG4gICAgICBzaGFyZVVyaVRpdGxlOiAnU2hhcmUgTWFwIFVybCcsXG4gICAgICBzaGFyZVVyaVN1YnRpdGxlOiAnR2VuZXJhdGUgYSBtYXAgdXJsIHRvIHNoYXJlIHdpdGggb3RoZXJzJyxcbiAgICAgIGNsb3VkVGl0bGU6ICdDbG91ZCBzdG9yYWdlJyxcbiAgICAgIGNsb3VkU3VidGl0bGU6ICdMb2dpbiBhbmQgdXBsb2FkIG1hcCBkYXRhIHRvIHlvdXIgcGVyc29uYWwgY2xvdWQgc3RvcmFnZScsXG4gICAgICBzaGFyZURpc2NsYWltZXI6XG4gICAgICAgICdrZXBsZXIuZ2wgd2lsbCBzYXZlIHlvdXIgbWFwIGRhdGEgdG8geW91ciBwZXJzb25hbCBjbG91ZCBzdG9yYWdlLCBvbmx5IHBlb3BsZSB3aXRoIHRoZSBVUkwgY2FuIGFjY2VzcyB5b3VyIG1hcCBhbmQgZGF0YS4gJyArXG4gICAgICAgICdZb3UgY2FuIGVkaXQvZGVsZXRlIHRoZSBkYXRhIGZpbGUgaW4geW91ciBjbG91ZCBhY2NvdW50IGFueXRpbWUuJyxcbiAgICAgIGdvdG9QYWdlOiAnR28gdG8geW91ciBLZXBsZXIuZ2wge2N1cnJlbnRQcm92aWRlcn0gcGFnZSdcbiAgICB9LFxuICAgIHN0YXR1c1BhbmVsOiB7XG4gICAgICBtYXBVcGxvYWRpbmc6ICdNYXAgVXBsb2FkaW5nJyxcbiAgICAgIGVycm9yOiAnRXJyb3InXG4gICAgfSxcbiAgICBzYXZlTWFwOiB7XG4gICAgICB0aXRsZTogJ0Nsb3VkIHN0b3JhZ2UnLFxuICAgICAgc3VidGl0bGU6ICdMb2dpbiB0byBzYXZlIG1hcCB0byB5b3VyIHBlcnNvbmFsIGNsb3VkIHN0b3JhZ2UnXG4gICAgfSxcbiAgICBleHBvcnRNYXA6IHtcbiAgICAgIGZvcm1hdFRpdGxlOiAnTWFwIGZvcm1hdCcsXG4gICAgICBmb3JtYXRTdWJ0aXRsZTogJ0Nob29zZSB0aGUgZm9ybWF0IHRvIGV4cG9ydCB5b3VyIG1hcCB0bycsXG4gICAgICBodG1sOiB7XG4gICAgICAgIHNlbGVjdGlvbjogJ0V4cG9ydCB5b3VyIG1hcCBpbnRvIGFuIGludGVyYWN0aXZlIGh0bWwgZmlsZS4nLFxuICAgICAgICB0b2tlblRpdGxlOiAnTWFwYm94IGFjY2VzcyB0b2tlbicsXG4gICAgICAgIHRva2VuU3VidGl0bGU6ICdVc2UgeW91ciBvd24gTWFwYm94IGFjY2VzcyB0b2tlbiBpbiB0aGUgaHRtbCAob3B0aW9uYWwpJyxcbiAgICAgICAgdG9rZW5QbGFjZWhvbGRlcjogJ1Bhc3RlIHlvdXIgTWFwYm94IGFjY2VzcyB0b2tlbicsXG4gICAgICAgIHRva2VuTWlzdXNlV2FybmluZzpcbiAgICAgICAgICAnKiBJZiB5b3UgZG8gbm90IHByb3ZpZGUgeW91ciBvd24gdG9rZW4sIHRoZSBtYXAgbWF5IGZhaWwgdG8gZGlzcGxheSBhdCBhbnkgdGltZSB3aGVuIHdlIHJlcGxhY2Ugb3VycyB0byBhdm9pZCBtaXN1c2UuICcsXG4gICAgICAgIHRva2VuRGlzY2xhaW1lcjogJ1lvdSBjYW4gY2hhbmdlIHRoZSBNYXBib3ggdG9rZW4gbGF0ZXIgdXNpbmcgdGhlIGZvbGxvd2luZyBpbnN0cnVjdGlvbnM6ICcsXG4gICAgICAgIHRva2VuVXBkYXRlOiAnSG93IHRvIHVwZGF0ZSBhbiBleGlzdGluZyBtYXAgdG9rZW4uJyxcbiAgICAgICAgbW9kZVRpdGxlOiAnTWFwIE1vZGUnLFxuICAgICAgICBtb2RlU3VidGl0bGUxOiAnU2VsZWN0IHRoZSBhcHAgbW9kZS4gTW9yZSAnLFxuICAgICAgICBtb2RlU3VidGl0bGUyOiAnaW5mbycsXG4gICAgICAgIG1vZGVEZXNjcmlwdGlvbjogJ0FsbG93IHVzZXJzIHRvIHttb2RlfSB0aGUgbWFwJyxcbiAgICAgICAgcmVhZDogJ3JlYWQnLFxuICAgICAgICBlZGl0OiAnZWRpdCdcbiAgICAgIH0sXG4gICAgICBqc29uOiB7XG4gICAgICAgIGNvbmZpZ1RpdGxlOiAnTWFwIENvbmZpZycsXG4gICAgICAgIGNvbmZpZ0Rpc2NsYWltZXI6XG4gICAgICAgICAgJ01hcCBjb25maWcgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgSnNvbiBmaWxlLiBJZiB5b3UgYXJlIHVzaW5nIGtlcGxlci5nbCBpbiB5b3VyIG93biBhcHAuIFlvdSBjYW4gY29weSB0aGlzIGNvbmZpZyBhbmQgcGFzcyBpdCB0byAnLFxuICAgICAgICBzZWxlY3Rpb246XG4gICAgICAgICAgJ0V4cG9ydCBjdXJyZW50IG1hcCBkYXRhIGFuZCBjb25maWcgaW50byBhIHNpbmdsZSBKc29uIGZpbGUuIFlvdSBjYW4gbGF0ZXIgb3BlbiB0aGUgc2FtZSBtYXAgYnkgdXBsb2FkaW5nIHRoaXMgZmlsZSB0byBrZXBsZXIuZ2wuJyxcbiAgICAgICAgZGlzY2xhaW1lcjpcbiAgICAgICAgICAnKiBNYXAgY29uZmlnIGlzIGNvdXBsZWQgd2l0aCBsb2FkZWQgZGF0YXNldHMuIOKAmGRhdGFJZOKAmSBpcyB1c2VkIHRvIGJpbmQgbGF5ZXJzLCBmaWx0ZXJzLCBhbmQgdG9vbHRpcHMgdG8gYSBzcGVjaWZpYyBkYXRhc2V0LiAnICtcbiAgICAgICAgICAnV2hlbiBwYXNzaW5nIHRoaXMgY29uZmlnIHRvIGFkZERhdGFUb01hcCwgbWFrZSBzdXJlIHRoZSBkYXRhc2V0IGlkIG1hdGNoZXMgdGhlIGRhdGFJZC9zIGluIHRoaXMgY29uZmlnLidcbiAgICAgIH1cbiAgICB9LFxuICAgIGxvYWRpbmdEaWFsb2c6IHtcbiAgICAgIGxvYWRpbmc6ICdMb2FkaW5nLi4uJ1xuICAgIH0sXG4gICAgbG9hZERhdGE6IHtcbiAgICAgIHVwbG9hZDogJ0xvYWQgRmlsZXMnLFxuICAgICAgc3RvcmFnZTogJ0xvYWQgZnJvbSBTdG9yYWdlJ1xuICAgIH0sXG4gICAgdHJpcEluZm86IHtcbiAgICAgIHRpdGxlOiAnSG93IHRvIGVuYWJsZSB0cmlwIGFuaW1hdGlvbicsXG4gICAgICBkZXNjcmlwdGlvbjE6XG4gICAgICAgICdJbiBvcmRlciB0byBhbmltYXRlIHRoZSBwYXRoLCB0aGUgZ2VvSlNPTiBkYXRhIG5lZWRzIHRvIGNvbnRhaW4gYExpbmVTdHJpbmdgIGluIGl0cyBmZWF0dXJlIGdlb21ldHJ5LCBhbmQgdGhlIGNvb3JkaW5hdGVzIGluIHRoZSBMaW5lU3RyaW5nIG5lZWQgdG8gaGF2ZSA0IGVsZW1lbnRzIGluIHRoZSBmb3JtYXRzIG9mJyxcbiAgICAgIGNvZGU6ICcgW2xvbmdpdHVkZSwgbGF0aXR1ZGUsIGFsdGl0dWRlLCB0aW1lc3RhbXBdICcsXG4gICAgICBkZXNjcmlwdGlvbjI6XG4gICAgICAgICd3aXRoIHRoZSBsYXN0IGVsZW1lbnQgYmVpbmcgYSB0aW1lc3RhbXAuIFZhbGlkIHRpbWVzdGFtcCBmb3JtYXRzIGluY2x1ZGUgdW5peCBpbiBzZWNvbmRzIHN1Y2ggYXMgYDE1NjQxODQzNjNgIG9yIGluIG1pbGxpc2Vjb25kcyBzdWNoIGFzIGAxNTY0MTg0MzYzMDAwYC4nLFxuICAgICAgZXhhbXBsZTogJ0V4YW1wbGU6J1xuICAgIH0sXG4gICAgaWNvbkluZm86IHtcbiAgICAgIHRpdGxlOiAnSG93IHRvIGRyYXcgaWNvbnMnLFxuICAgICAgZGVzY3JpcHRpb24xOlxuICAgICAgICAnSW4geW91ciBjc3YsIGNyZWF0ZSBhIGNvbHVtbiwgcHV0IHRoZSBuYW1lIG9mIHRoZSBpY29uIHlvdSB3YW50IHRvIGRyYXcgaW4gaXQuIFlvdSBjYW4gbGVhdmUgdGhlIGNlbGwgZW1wdHkgaWYgeW91IGRvIG5vdCB3YW50IHRoZSBpY29uIHRvIHNob3cgZm9yIHNvbWUgcG9pbnRzLiBXaGVuIHRoZSBjb2x1bW4gaXMgbmFtZWQnLFxuICAgICAgY29kZTogJ2ljb24nLFxuICAgICAgZGVzY3JpcHRpb24yOiAnIGtlcGxlci5nbCB3aWxsIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgaWNvbiBsYXllciBmb3IgeW91LicsXG4gICAgICBleGFtcGxlOiAnRXhhbXBsZTonLFxuICAgICAgaWNvbnM6ICdJY29ucydcbiAgICB9LFxuICAgIHN0b3JhZ2VNYXBWaWV3ZXI6IHtcbiAgICAgIGxhc3RNb2RpZmllZDogJ0xhc3QgbW9kaWZpZWQge2xhc3RVcGRhdGVkfSBhZ28nLFxuICAgICAgYmFjazogJ0JhY2snXG4gICAgfSxcbiAgICBvdmVyd3JpdGVNYXA6IHtcbiAgICAgIHRpdGxlOiAnU2F2aW5nIG1hcC4uLicsXG4gICAgICBhbHJlYWR5RXhpc3RzOiAnYWxyZWFkeSBleGlzdHMgaW4geW91ciB7bWFwU2F2ZWR9LiBXb3VsZCB5b3UgbGlrZSB0byBvdmVyd3JpdGUgaXQ/J1xuICAgIH0sXG4gICAgbG9hZFN0b3JhZ2VNYXA6IHtcbiAgICAgIGJhY2s6ICdCYWNrJyxcbiAgICAgIGdvVG9QYWdlOiAnR28gdG8geW91ciBLZXBsZXIuZ2wge2Rpc3BsYXlOYW1lfSBwYWdlJyxcbiAgICAgIHN0b3JhZ2VNYXBzOiAnU3RvcmFnZSAvIE1hcHMnLFxuICAgICAgbm9TYXZlZE1hcHM6ICdObyBzYXZlZCBtYXBzIHlldCdcbiAgICB9XG4gIH0sXG4gIGhlYWRlcjoge1xuICAgIHZpc2libGVMYXllcnM6ICdWaXNpYmxlIGxheWVycycsXG4gICAgbGF5ZXJMZWdlbmQ6ICdMZWdlbmQnXG4gIH0sXG4gIGludGVyYWN0aW9uczoge1xuICAgIHRvb2x0aXA6ICdUb29sdGlwJyxcbiAgICBicnVzaDogJ0JydXNoJyxcbiAgICBjb29yZGluYXRlOiAnQ29vcmRpbmF0ZXMnLFxuICAgIGdlb2NvZGVyOiAnR2VvY29kZXInXG4gIH0sXG4gIGxheWVyQmxlbmRpbmc6IHtcbiAgICB0aXRsZTogJ0xheWVyIEJsZW5kaW5nJyxcbiAgICBhZGRpdGl2ZTogJ2FkZGl0aXZlJyxcbiAgICBub3JtYWw6ICdub3JtYWwnLFxuICAgIHN1YnRyYWN0aXZlOiAnc3VidHJhY3RpdmUnXG4gIH0sXG4gIGNvbHVtbnM6IHtcbiAgICB0aXRsZTogJ0NvbHVtbnMnLFxuICAgIGxhdDogJ2xhdCcsXG4gICAgbG5nOiAnbG9uJyxcbiAgICBhbHRpdHVkZTogJ2FsdGl0dWRlJyxcbiAgICBpY29uOiAnaWNvbicsXG4gICAgZ2VvanNvbjogJ2dlb2pzb24nLFxuICAgIHRva2VuOiAndG9rZW4nLFxuICAgIGFyYzoge1xuICAgICAgbGF0MDogJ3NvdXJjZSBsYXQnLFxuICAgICAgbG5nMDogJ3NvdXJjZSBsbmcnLFxuICAgICAgbGF0MTogJ3RhcmdldCBsYXQnLFxuICAgICAgbG5nMTogJ3RhcmdldCBsbmcnXG4gICAgfSxcbiAgICBsaW5lOiB7XG4gICAgICBhbHQwOiAnc291cmNlIGFsdGl0dWRlJyxcbiAgICAgIGFsdDE6ICd0YXJnZXQgYWx0aXR1ZGUnXG4gICAgfSxcbiAgICBncmlkOiB7XG4gICAgICB3b3JsZFVuaXRTaXplOiAnR3JpZCBTaXplIChrbSknXG4gICAgfSxcbiAgICBoZXhhZ29uOiB7XG4gICAgICB3b3JsZFVuaXRTaXplOiAnSGV4YWdvbiBSYWRpdXMgKGttKSdcbiAgICB9LFxuICAgIGhleF9pZDogJ2hleCBpZCdcbiAgfSxcbiAgY29sb3I6IHtcbiAgICBjdXN0b21QYWxldHRlOiAnQ3VzdG9tIFBhbGV0dGUnLFxuICAgIHN0ZXBzOiAnc3RlcHMnLFxuICAgIHR5cGU6ICd0eXBlJyxcbiAgICByZXZlcnNlZDogJ3JldmVyc2VkJ1xuICB9LFxuICBjdXN0b21QYWxldHRlOiB7XG4gICAgYXBwbHk6ICdBcHBseScsXG4gICAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgICBhZGRTdGVwOiAnKyBBZGQgU3RlcCdcbiAgfSxcbiAgc2NhbGU6IHtcbiAgICBjb2xvclNjYWxlOiAnQ29sb3IgU2NhbGUnLFxuICAgIHNpemVTY2FsZTogJ1NpemUgU2NhbGUnLFxuICAgIHN0cm9rZVNjYWxlOiAnU3Ryb2tlIFNjYWxlJyxcbiAgICBzY2FsZTogJ1NjYWxlJ1xuICB9LFxuICBmaWxlVXBsb2FkZXI6IHtcbiAgICBtZXNzYWdlOiAnRHJhZyAmIERyb3AgWW91ciBGaWxlKHMpIEhlcmUnLFxuICAgIGNocm9tZU1lc3NhZ2U6XG4gICAgICAnKkNocm9tZSB1c2VyOiBMaW1pdCBmaWxlIHNpemUgdG8gMjUwbWIsIGlmIG5lZWQgdG8gdXBsb2FkIGxhcmdlciBmaWxlLCB0cnkgU2FmYXJpJyxcbiAgICBkaXNjbGFpbWVyOlxuICAgICAgJyprZXBsZXIuZ2wgaXMgYSBjbGllbnQtc2lkZSBhcHBsaWNhdGlvbiB3aXRoIG5vIHNlcnZlciBiYWNrZW5kLiBEYXRhIGxpdmVzIG9ubHkgb24geW91ciBtYWNoaW5lL2Jyb3dzZXIuICcgK1xuICAgICAgJ05vIGluZm9ybWF0aW9uIG9yIG1hcCBkYXRhIGlzIHNlbnQgdG8gYW55IHNlcnZlci4nLFxuICAgIGNvbmZpZ1VwbG9hZE1lc3NhZ2U6XG4gICAgICAnVXBsb2FkIHtmaWxlRm9ybWF0TmFtZXN9IG9yIHNhdmVkIG1hcCAqKkpzb24qKi4gUmVhZCBtb3JlIGFib3V0IFsqKnN1cHBvcnRlZCBmaWxlIGZvcm1hdHMqKl0nLFxuICAgIGJyb3dzZUZpbGVzOiAnYnJvd3NlIHlvdXIgZmlsZXMnLFxuICAgIHVwbG9hZGluZzogJ1VwbG9hZGluZycsXG4gICAgZmlsZU5vdFN1cHBvcnRlZDogJ0ZpbGUge2Vycm9yRmlsZXN9IGlzIG5vdCBzdXBwb3J0ZWQuJyxcbiAgICBvcjogJ29yJ1xuICB9LFxuICBnZW9jb2Rlcjoge1xuICAgIHRpdGxlOiAnRW50ZXIgYW4gYWRkcmVzcyBvciBjb29yZGluYXRlcywgZXggMzcuNzksLTEyMi40MCdcbiAgfSxcbiAgZmllbGRTZWxlY3Rvcjoge1xuICAgIGNsZWFyQWxsOiAnQ2xlYXIgQWxsJyxcbiAgICBmb3JtYXR0aW5nOiAnRm9ybWF0dGluZydcbiAgfSxcbiAgY29tcGFyZToge1xuICAgIG1vZGVMYWJlbDogJ0NvbXBhcmlzb24gTW9kZScsXG4gICAgdHlwZUxhYmVsOiAnQ29tcGFyaXNvbiBUeXBlJyxcbiAgICB0eXBlczoge1xuICAgICAgYWJzb2x1dGU6ICdBYnNvbHV0ZScsXG4gICAgICByZWxhdGl2ZTogJ1JlbGF0aXZlJ1xuICAgIH1cbiAgfSxcbiAgbWFwUG9wb3Zlcjoge1xuICAgIHByaW1hcnk6ICdQcmltYXJ5J1xuICB9LFxuICBkZW5zaXR5OiAnZGVuc2l0eScsXG4gICdCdWcgUmVwb3J0JzogJ0J1ZyBSZXBvcnQnLFxuICAnVXNlciBHdWlkZSc6ICdVc2VyIEd1aWRlJyxcbiAgU2F2ZTogJ1NhdmUnLFxuICBTaGFyZTogJ1NoYXJlJ1xufTtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@carto/kepler.gl",
|
|
3
3
|
"author": "CARTO",
|
|
4
4
|
"homepage": "https://github.com/CartoDB/carto-kepler#readme",
|
|
5
|
-
"version": "0.0.65-alpha.labels.
|
|
5
|
+
"version": "0.0.65-alpha.labels.7",
|
|
6
6
|
"description": "kepler.gl is a webgl based application to visualize large scale location data in the browser",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"main": "dist/index.js",
|
|
Binary file
|
|
@@ -1,10 +1,30 @@
|
|
|
1
1
|
import {CompositeLayer} from '@deck.gl/core';
|
|
2
|
-
import {TextLayer} from '@deck.gl/layers';
|
|
2
|
+
import {TextLayer, _TextBackgroundLayer as TextBackgroundLayer} from '@deck.gl/layers';
|
|
3
3
|
|
|
4
4
|
// TODO remove prior to release
|
|
5
5
|
const SHOW_TEXT_BORDER = false;
|
|
6
6
|
|
|
7
7
|
const [LEFT, TOP, RIGHT, BOTTOM] = [0, 1, 2, 3];
|
|
8
|
+
|
|
9
|
+
class EnhancedTextBackgroundLayer extends TextBackgroundLayer {
|
|
10
|
+
getShaders() {
|
|
11
|
+
const shaders = super.getShaders();
|
|
12
|
+
let vs = shaders.vs;
|
|
13
|
+
|
|
14
|
+
// Modify shader so that the padding is offset by the pixel offset to ensure the padding
|
|
15
|
+
// always captures the anchor point. As padding is uniform we cannot pass it a per-label value
|
|
16
|
+
vs = vs.replaceAll('padding.', '_padding.');
|
|
17
|
+
vs = vs.replace(
|
|
18
|
+
'void main(void) {',
|
|
19
|
+
'void main(void) {\n vec4 _padding = padding + instancePixelOffsets.xyxy * vec4(1.0, 1.0, -1.0, -1.0);'
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
return {...shaders, vs};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// TextLayer which includes modified text-background-layer-vertex shader and only renders the
|
|
27
|
+
// primary background layer in the collision pass
|
|
8
28
|
class EnhancedTextLayer extends TextLayer {
|
|
9
29
|
filterSubLayer({layer, renderPass}) {
|
|
10
30
|
const background = layer.id.includes('primary-background');
|
|
@@ -16,9 +36,6 @@ class EnhancedTextLayer extends TextLayer {
|
|
|
16
36
|
}
|
|
17
37
|
}
|
|
18
38
|
|
|
19
|
-
// TODO remove once https://github.com/visgl/deck.gl/pull/7757 out
|
|
20
|
-
TextLayer.defaultProps.fontSettings = {type: 'object', value: {}, optional: true, compare: 1};
|
|
21
|
-
|
|
22
39
|
const defaultProps = {
|
|
23
40
|
...TextLayer.defaultProps,
|
|
24
41
|
getRadius: {type: 'accessor', value: 1},
|
|
@@ -26,6 +43,7 @@ const defaultProps = {
|
|
|
26
43
|
};
|
|
27
44
|
|
|
28
45
|
export class PointLabelLayer extends CompositeLayer {
|
|
46
|
+
static layerName = 'PointLabelLayer';
|
|
29
47
|
static defaultProps = defaultProps;
|
|
30
48
|
|
|
31
49
|
calculatePixelOffset(secondary) {
|
|
@@ -43,10 +61,10 @@ export class PointLabelLayer extends CompositeLayer {
|
|
|
43
61
|
|
|
44
62
|
// Padding based on font size (font size / 4)
|
|
45
63
|
const xPadding = sizeScale / 4;
|
|
46
|
-
const yPadding = sizeScale + 1 / 4;
|
|
64
|
+
const yPadding = sizeScale * (1 + 1 / 4);
|
|
47
65
|
|
|
48
|
-
// Place secondary label under main label (
|
|
49
|
-
const secondaryOffset =
|
|
66
|
+
// Place secondary label under main label (secondary label always 'top' baseline aligned)
|
|
67
|
+
const secondaryOffset = 0.6 * (1 - yMult) * sizeScale;
|
|
50
68
|
let yOffset = secondary ? secondaryOffset : 0;
|
|
51
69
|
|
|
52
70
|
// Special case, position relative to secondary label
|
|
@@ -60,8 +78,8 @@ export class PointLabelLayer extends CompositeLayer {
|
|
|
60
78
|
const radiusPadding = 1 + 1 / 4;
|
|
61
79
|
|
|
62
80
|
return typeof getRadius === 'function'
|
|
63
|
-
? d => {
|
|
64
|
-
const r = (
|
|
81
|
+
? (d, info) => {
|
|
82
|
+
const r = (info ? getRadius(d, info) : 1) * radiusScale * radiusPadding;
|
|
65
83
|
return [xMult * (r + xPadding), yMult * (r + yPadding) + yOffset];
|
|
66
84
|
}
|
|
67
85
|
: [
|
|
@@ -70,7 +88,7 @@ export class PointLabelLayer extends CompositeLayer {
|
|
|
70
88
|
];
|
|
71
89
|
}
|
|
72
90
|
|
|
73
|
-
calculateBackgroundPadding(
|
|
91
|
+
calculateBackgroundPadding() {
|
|
74
92
|
const {getTextAnchor: anchor, getAlignmentBaseline: alignment, sizeScale} = this.props;
|
|
75
93
|
|
|
76
94
|
// Heuristics to avoid label overlap (should we base this on the text length?)
|
|
@@ -94,13 +112,6 @@ export class PointLabelLayer extends CompositeLayer {
|
|
|
94
112
|
backgroundPadding[RIGHT] = 0.5 * paddingX;
|
|
95
113
|
}
|
|
96
114
|
|
|
97
|
-
// For getRadius function, invoke without data, as there is no backgroundPadding accessor
|
|
98
|
-
const pixelOffset = Array.isArray(getPixelOffset) ? getPixelOffset : getPixelOffset();
|
|
99
|
-
backgroundPadding[LEFT] += pixelOffset[0];
|
|
100
|
-
backgroundPadding[RIGHT] -= pixelOffset[0];
|
|
101
|
-
backgroundPadding[TOP] += pixelOffset[1];
|
|
102
|
-
backgroundPadding[BOTTOM] -= pixelOffset[1];
|
|
103
|
-
|
|
104
115
|
return backgroundPadding;
|
|
105
116
|
}
|
|
106
117
|
|
|
@@ -156,7 +167,8 @@ export class PointLabelLayer extends CompositeLayer {
|
|
|
156
167
|
}
|
|
157
168
|
}),
|
|
158
169
|
{
|
|
159
|
-
getSize: 1
|
|
170
|
+
getSize: 1,
|
|
171
|
+
_subLayerProps: {background: {type: EnhancedTextBackgroundLayer}}
|
|
160
172
|
},
|
|
161
173
|
// DEBUG
|
|
162
174
|
SHOW_TEXT_BORDER
|
|
@@ -176,7 +188,7 @@ export class PointLabelLayer extends CompositeLayer {
|
|
|
176
188
|
updateTriggers
|
|
177
189
|
} = this.props;
|
|
178
190
|
const getPixelOffset = this.calculatePixelOffset(false);
|
|
179
|
-
const backgroundPadding = this.calculateBackgroundPadding(
|
|
191
|
+
const backgroundPadding = this.calculateBackgroundPadding();
|
|
180
192
|
const out = [
|
|
181
193
|
this.renderTextLayer('primary', {
|
|
182
194
|
backgroundPadding,
|
package/src/localization/en.js
CHANGED
|
Binary file
|
|
Binary file
|