@kando-env/kando-ui 1.2.238-alpha.6 → 1.2.239

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/lib/Widgets/Map/Map.js +17 -86
  2. package/lib/Widgets/Map/Map.scss +0 -65
  3. package/lib/Widgets/Map/MapUtils.js +15 -27
  4. package/lib/Widgets/Map/areas/AreaPolygons.js +2 -2
  5. package/lib/Widgets/Map/edges/Edges.js +2 -17
  6. package/lib/Widgets/Map/events/EventUtils.js +9 -13
  7. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +2 -9
  8. package/lib/Widgets/Map/events/PointOfEvent.js +9 -12
  9. package/lib/Widgets/Map/points/PointMarker.js +20 -22
  10. package/lib/Widgets/Map/points/PointMarkers.js +22 -90
  11. package/lib/Widgets/Map/points/PointUtils.js +32 -93
  12. package/lib/assets/icons/pin/pin-matash-white.svg +42 -8
  13. package/lib/assets/map/pin-matash-white.svg +28 -8
  14. package/lib/assets/map/pin-plant-white.svg +28 -6
  15. package/lib/assets/map/pin-water.svg +17 -7
  16. package/lib/assets/point_icons/WWTP-icon.svg +21 -8
  17. package/lib/assets/point_icons/factory-icon.svg +21 -6
  18. package/lib/assets/point_icons/pump-station-icon.svg +16 -6
  19. package/lib/components/CustomInputs/Select/Select.js +4 -24
  20. package/lib/components/Header/Slideshow/Slideshow.js +5 -5
  21. package/lib/hooks/useInitializeHeaders.js +3 -2
  22. package/lib/hooks/useMap.js +18 -4
  23. package/lib/i18n/en.json +7 -34
  24. package/lib/i18n/en_uk.json +0 -22
  25. package/lib/i18n/fr.json +0 -22
  26. package/lib/i18n/he.json +0 -29
  27. package/lib/i18n/it.json +0 -22
  28. package/lib/macros/getVersion.js +2 -2
  29. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +2 -4
  30. package/lib/pages/EventsPage/events/EventsStyle.scss +0 -1
  31. package/lib/pages/EventsPage/events/events_list/EventsList.js +2 -2
  32. package/lib/pages/ProfilePage/Container.js +2 -2
  33. package/lib/pages/ProfilePage/ProfilePage.js +50 -164
  34. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +1 -4
  35. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +2 -2
  36. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +4 -4
  37. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +2 -2
  38. package/lib/pages/WbeDashboard/WbeDashboardPage.js +2 -2
  39. package/lib/store/events/actions.js +3 -3
  40. package/lib/ui-kit/KandoTable/KandoTable.js +5 -5
  41. package/lib/utilities/edgesMath.js +3 -6
  42. package/lib/utilities/map/icons.js +7 -23
  43. package/package.json +3 -5
  44. package/lib/Widgets/Map/points/PointIcon.js +0 -60
  45. package/lib/Widgets/Map/points/PointIcon.scss +0 -244
  46. package/lib/assets/icons/plus_v.svg +0 -13
  47. package/lib/assets/icons/water_reuse.svg +0 -27
  48. package/lib/assets/map/pin-matash-clicked.svg +0 -12
  49. package/lib/assets/map/pin-plant-clicked.svg +0 -10
  50. package/lib/assets/map/pin-suction-clicked.svg +0 -10
  51. package/lib/assets/map/pin-water-clicked.svg +0 -11
@@ -112,32 +112,6 @@ var ProfilePage = function ProfilePage() {
112
112
  timezone = _useState6[0],
113
113
  setTimezone = _useState6[1];
114
114
 
115
- var _useState7 = (0, _react.useState)([{
116
- value: '',
117
- label: ''
118
- }]),
119
- _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
120
- departments = _useState8[0],
121
- setDepartments = _useState8[1];
122
-
123
- var _useState9 = (0, _react.useState)([{
124
- value: '',
125
- label: ''
126
- }]),
127
- _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
128
- businessRoles = _useState10[0],
129
- setBusinessRoles = _useState10[1];
130
-
131
- var _useState11 = (0, _react.useState)(departments[0]),
132
- _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
133
- department = _useState12[0],
134
- setDepartment = _useState12[1];
135
-
136
- var _useState13 = (0, _react.useState)(businessRoles[0]),
137
- _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
138
- businessRole = _useState14[0],
139
- setBusinessRole = _useState14[1];
140
-
141
115
  var initialParamsState = {
142
116
  first_name: '',
143
117
  last_name: '',
@@ -146,51 +120,47 @@ var ProfilePage = function ProfilePage() {
146
120
  time_zone: '',
147
121
  date_time_format: '',
148
122
  locale: '',
149
- telegram_name: '',
150
- other_business_role_name: '',
151
- other_department_name: '',
152
- business_role: '',
153
- department: ''
123
+ telegram_name: ''
154
124
  };
155
125
 
156
- var _useState15 = (0, _react.useState)(false),
157
- _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
158
- isTelegramOpen = _useState16[0],
159
- setIsTelegramOpen = _useState16[1];
126
+ var _useState7 = (0, _react.useState)(false),
127
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
128
+ isTelegramOpen = _useState8[0],
129
+ setIsTelegramOpen = _useState8[1];
160
130
 
161
- var _useState17 = (0, _react.useState)(false),
162
- _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
163
- showPasswordModal = _useState18[0],
164
- setShowPasswordModal = _useState18[1];
131
+ var _useState9 = (0, _react.useState)(false),
132
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
133
+ showPasswordModal = _useState10[0],
134
+ setShowPasswordModal = _useState10[1];
165
135
 
166
- var _useState19 = (0, _react.useState)(false),
167
- _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
168
- submitting = _useState20[0],
169
- setSubmitting = _useState20[1];
136
+ var _useState11 = (0, _react.useState)(false),
137
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
138
+ submitting = _useState12[0],
139
+ setSubmitting = _useState12[1];
170
140
 
171
- var _useState21 = (0, _react.useState)(false),
172
- _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
173
- showSuccessMessage = _useState22[0],
174
- setShowSuccessMessage = _useState22[1];
141
+ var _useState13 = (0, _react.useState)(false),
142
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
143
+ showSuccessMessage = _useState14[0],
144
+ setShowSuccessMessage = _useState14[1];
175
145
 
176
- var _useState23 = (0, _react.useState)(false),
177
- _useState24 = (0, _slicedToArray2.default)(_useState23, 2),
178
- showErrorMessage = _useState24[0],
179
- setShowErrorMessage = _useState24[1];
146
+ var _useState15 = (0, _react.useState)(false),
147
+ _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
148
+ showErrorMessage = _useState16[0],
149
+ setShowErrorMessage = _useState16[1];
180
150
 
181
- var _useState25 = (0, _react.useState)({
151
+ var _useState17 = (0, _react.useState)({
182
152
  show: false,
183
153
  status: '',
184
154
  message: ''
185
155
  }),
186
- _useState26 = (0, _slicedToArray2.default)(_useState25, 2),
187
- showTelegramResponseMessage = _useState26[0],
188
- setShowTelegramResponseMessage = _useState26[1];
156
+ _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
157
+ showTelegramResponseMessage = _useState18[0],
158
+ setShowTelegramResponseMessage = _useState18[1];
189
159
 
190
- var _useState27 = (0, _react.useState)(initialParamsState),
191
- _useState28 = (0, _slicedToArray2.default)(_useState27, 2),
192
- params = _useState28[0],
193
- setParams = _useState28[1];
160
+ var _useState19 = (0, _react.useState)(initialParamsState),
161
+ _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
162
+ params = _useState20[0],
163
+ setParams = _useState20[1];
194
164
 
195
165
  var handleOnChange = function handleOnChange(e) {
196
166
  if (typeof e === 'string') {
@@ -213,31 +183,11 @@ var ProfilePage = function ProfilePage() {
213
183
  }
214
184
  };
215
185
 
216
- var handleBusinessRoleChange = function handleBusinessRoleChange(e) {
217
- if (e.target !== null) {
218
- setParams((0, _objectSpread3.default)((0, _objectSpread3.default)({}, params), {}, {
219
- business_role: e.value,
220
- other_business_role_name: e.target.value
221
- }));
222
- }
223
- };
224
-
225
- var handleDepartmentChange = function handleDepartmentChange(e) {
226
- if (e.target !== null) {
227
- setParams((0, _objectSpread3.default)((0, _objectSpread3.default)({}, params), {}, {
228
- department: e.value,
229
- other_department_name: e.target.value
230
- }));
231
- }
232
- };
233
-
234
186
  var getParamsWithAggregatedValues = function getParamsWithAggregatedValues() {
235
187
  return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, params), {}, {
236
188
  date_time_format: dateTimeFormat.value,
237
189
  locale: locale.value,
238
- time_zone: timezone.value,
239
- department_id: department === undefined ? null : department.value,
240
- business_role_id: businessRole === undefined ? null : businessRole.value
190
+ time_zone: timezone.value
241
191
  });
242
192
  };
243
193
 
@@ -272,7 +222,7 @@ var ProfilePage = function ProfilePage() {
272
222
  _axios.default.put('/profiles', {
273
223
  user: getParamsWithAggregatedValues()
274
224
  }).then(function (resp) {
275
- if (resp.data.user.errors === null) {
225
+ if (resp.data.errors === null) {
276
226
  document.querySelectorAll('.error-message').forEach(function (p) {
277
227
  return p.innerHTML = '';
278
228
  });
@@ -301,7 +251,7 @@ var ProfilePage = function ProfilePage() {
301
251
  document.querySelectorAll('.error-message').forEach(function (p) {
302
252
  return p.innerHTML = '';
303
253
  });
304
- var errors = resp.data.user.errors;
254
+ var errors = resp.data.errors;
305
255
 
306
256
  for (var error in errors) {
307
257
  var findElement = document.querySelector("input[name='".concat(error, "']"));
@@ -334,22 +284,20 @@ var ProfilePage = function ProfilePage() {
334
284
  _axios.default.defaults.headers.common['X-CSRF-TOKEN'] = token;
335
285
  _axios.default.defaults.headers.common['Content-Type'] = 'application/js';
336
286
 
337
- _axios.default.get("/profiles/resource").then(function (resp) {
338
- setParams(resp.data.user);
339
-
340
- var findProperty = function findProperty(object, property) {
341
- return object.find(function (e) {
342
- return e.value === property;
343
- });
344
- };
345
-
346
- setLocale(findProperty(localeOptions, resp.data.user.locale));
347
- setDateTimeFormat(findProperty(dateTimeFormatOptions, resp.data.user.date_time_format));
348
- setTimezone(findProperty(timezones, resp.data.user.time_zone));
349
- setBusinessRole(findProperty(resp.data.business_roles, resp.data.user.business_role_id));
350
- setDepartment(findProperty(resp.data.departments, resp.data.user.department_id));
351
- setDepartments(resp.data.departments);
352
- setBusinessRoles(resp.data.business_roles);
287
+ _axios.default.get('/profiles/resource').then(function (resp) {
288
+ setParams(resp.data);
289
+ var findLocale = localeOptions.find(function (e) {
290
+ return e.value === resp.data.locale;
291
+ });
292
+ var findDateTimeFormat = dateTimeFormatOptions.find(function (e) {
293
+ return e.value === resp.data.date_time_format;
294
+ });
295
+ var findTimezone = timezones.find(function (e) {
296
+ return e.value === resp.data.time_zone;
297
+ });
298
+ setLocale(findLocale);
299
+ setDateTimeFormat(findDateTimeFormat);
300
+ setTimezone(findTimezone);
353
301
  }).catch(function (error) {
354
302
  return alert(error);
355
303
  });
@@ -432,68 +380,6 @@ var ProfilePage = function ProfilePage() {
432
380
  className: 'error-message'
433
381
  })), /*#__PURE__*/_react.default.createElement("div", {
434
382
  className: "field"
435
- }, /*#__PURE__*/_react.default.createElement("div", {
436
- className: "label"
437
- }, _i18n.default.t('dashboard_v2.profile.department')), /*#__PURE__*/_react.default.createElement("div", {
438
- className: "my-input"
439
- }, /*#__PURE__*/_react.default.createElement(_Select.Select, {
440
- setValue: setDepartment,
441
- value: {
442
- label: _i18n.default.t("dashboard_v2.profile.departments.".concat(department === null || department === void 0 ? void 0 : department.label)),
443
- value: department === null || department === void 0 ? void 0 : department.value
444
- },
445
- options: departments,
446
- cancelTextWidth: true,
447
- translate: {
448
- options: departments,
449
- translation_key: 'dashboard_v2.profile.departments'
450
- }
451
- }))), /*#__PURE__*/_react.default.createElement("div", {
452
- className: "field ".concat(department && (department === null || department === void 0 ? void 0 : department.value) === departments[departments.length - 1].value ? '' : 'field--hidden')
453
- }, /*#__PURE__*/_react.default.createElement("div", {
454
- className: "label"
455
- }, _i18n.default.t('dashboard_v2.profile.department_alt')), /*#__PURE__*/_react.default.createElement("input", {
456
- readOnly: false,
457
- type: "text",
458
- className: "my-input",
459
- name: 'other_department_name',
460
- value: params.other_department_name,
461
- onChange: function onChange(e) {
462
- return handleDepartmentChange(e);
463
- }
464
- })), /*#__PURE__*/_react.default.createElement("div", {
465
- className: "field"
466
- }, /*#__PURE__*/_react.default.createElement("div", {
467
- className: "label"
468
- }, _i18n.default.t('dashboard_v2.profile.business_role')), /*#__PURE__*/_react.default.createElement("div", {
469
- className: "my-input"
470
- }, /*#__PURE__*/_react.default.createElement(_Select.Select, {
471
- setValue: setBusinessRole,
472
- value: {
473
- label: _i18n.default.t("dashboard_v2.profile.business_roles.".concat(businessRole === null || businessRole === void 0 ? void 0 : businessRole.label)),
474
- value: businessRole === null || businessRole === void 0 ? void 0 : businessRole.value
475
- },
476
- options: businessRoles,
477
- cancelTextWidth: true,
478
- translate: {
479
- options: businessRoles,
480
- translation_key: 'dashboard_v2.profile.business_roles'
481
- }
482
- }))), /*#__PURE__*/_react.default.createElement("div", {
483
- className: "field ".concat(businessRole && (businessRole === null || businessRole === void 0 ? void 0 : businessRole.value) === businessRoles[businessRoles.length - 1].value ? '' : 'field--hidden', " ")
484
- }, /*#__PURE__*/_react.default.createElement("div", {
485
- className: "label"
486
- }, _i18n.default.t('dashboard_v2.profile.business_role_alt')), /*#__PURE__*/_react.default.createElement("input", {
487
- readOnly: false,
488
- type: "text",
489
- className: "my-input",
490
- name: 'other_business_role_name',
491
- value: params.other_business_role_name,
492
- onChange: function onChange(e) {
493
- return handleBusinessRoleChange(e);
494
- }
495
- })), /*#__PURE__*/_react.default.createElement("div", {
496
- className: "field"
497
383
  }, /*#__PURE__*/_react.default.createElement("div", {
498
384
  className: "change-password",
499
385
  onClick: function onClick() {
@@ -586,8 +472,8 @@ var ProfilePage = function ProfilePage() {
586
472
  onClick: function onClick() {
587
473
  _axios.default.get("/telegram/send_test_message.json").then(function (resp) {
588
474
  setShowTelegramResponseMessage({
589
- status: resp.data.user.status[0].toUpperCase() + resp.data.user.status.substring(1),
590
- message: resp.data.user.message,
475
+ status: resp.data.status[0].toUpperCase() + resp.data.status.substring(1),
476
+ message: resp.data.message,
591
477
  show: true
592
478
  });
593
479
  setTimeout(function () {
@@ -597,7 +483,7 @@ var ProfilePage = function ProfilePage() {
597
483
  show: false
598
484
  });
599
485
  }, 6000);
600
- showToast(resp.data.user);
486
+ showToast(resp.data);
601
487
  }).catch(function (error) {
602
488
  return alert(error);
603
489
  });
@@ -621,4 +507,4 @@ var ProfilePage = function ProfilePage() {
621
507
  };
622
508
 
623
509
  exports.ProfilePage = ProfilePage;
624
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Qcm9maWxlUGFnZS9Qcm9maWxlUGFnZS50c3giXSwibmFtZXMiOlsiUHJvZmlsZVBhZ2UiLCJ0aW1lem9uZXNBcnJheSIsIm1vbWVudCIsInR6IiwibmFtZXMiLCJkYXRlVGltZUZvcm1hdE9wdGlvbnMiLCJ2YWx1ZSIsImxhYmVsIiwiZm9ybWF0IiwibW9udGgiLCJkYXkiLCJ5ZWFyIiwiaG91ciIsIm1pbnV0ZSIsImhvdXIxMiIsInRpbWV6b25lcyIsIm1hcCIsInQiLCJsb2NhbGVPcHRpb25zIiwibG9jYWxlIiwic2V0TG9jYWxlIiwiZGF0ZVRpbWVGb3JtYXQiLCJzZXREYXRlVGltZUZvcm1hdCIsInRpbWV6b25lIiwic2V0VGltZXpvbmUiLCJkZXBhcnRtZW50cyIsInNldERlcGFydG1lbnRzIiwiYnVzaW5lc3NSb2xlcyIsInNldEJ1c2luZXNzUm9sZXMiLCJkZXBhcnRtZW50Iiwic2V0RGVwYXJ0bWVudCIsImJ1c2luZXNzUm9sZSIsInNldEJ1c2luZXNzUm9sZSIsImluaXRpYWxQYXJhbXNTdGF0ZSIsImZpcnN0X25hbWUiLCJsYXN0X25hbWUiLCJwaG9uZSIsImVtYWlsIiwidGltZV96b25lIiwiZGF0ZV90aW1lX2Zvcm1hdCIsInRlbGVncmFtX25hbWUiLCJvdGhlcl9idXNpbmVzc19yb2xlX25hbWUiLCJvdGhlcl9kZXBhcnRtZW50X25hbWUiLCJidXNpbmVzc19yb2xlIiwiaXNUZWxlZ3JhbU9wZW4iLCJzZXRJc1RlbGVncmFtT3BlbiIsInNob3dQYXNzd29yZE1vZGFsIiwic2V0U2hvd1Bhc3N3b3JkTW9kYWwiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsInNob3dTdWNjZXNzTWVzc2FnZSIsInNldFNob3dTdWNjZXNzTWVzc2FnZSIsInNob3dFcnJvck1lc3NhZ2UiLCJzZXRTaG93RXJyb3JNZXNzYWdlIiwic2hvdyIsInN0YXR1cyIsIm1lc3NhZ2UiLCJzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJwYXJhbXMiLCJzZXRQYXJhbXMiLCJoYW5kbGVPbkNoYW5nZSIsImUiLCJzdGFydHNXaXRoIiwicmVwbGFjZSIsInByZXZTdGF0ZSIsInRhcmdldCIsIm5hbWUiLCJoYW5kbGVCdXNpbmVzc1JvbGVDaGFuZ2UiLCJoYW5kbGVEZXBhcnRtZW50Q2hhbmdlIiwiZ2V0UGFyYW1zV2l0aEFnZ3JlZ2F0ZWRWYWx1ZXMiLCJkZXBhcnRtZW50X2lkIiwidW5kZWZpbmVkIiwiYnVzaW5lc3Nfcm9sZV9pZCIsIndhdGVyQXV0aG9yaXR5TmFtZSIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJzaG93VG9hc3QiLCJkYXRhIiwidXNlcm5hbWUiLCJlcnJvciIsInRvYXN0Iiwic3VjY2VzcyIsImkxOG4iLCJwb3NpdGlvbiIsImhhbmRsZVN1Ym1pdCIsInByZXZlbnREZWZhdWx0IiwiYXhpb3MiLCJwdXQiLCJ1c2VyIiwidGhlbiIsInJlc3AiLCJlcnJvcnMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmb3JFYWNoIiwicCIsImlubmVySFRNTCIsImNsYXNzTGlzdCIsInJlbW92ZSIsIkpTT04iLCJwYXJzZSIsImZpbmRMb2NhbGUiLCJmaW5kIiwiZmluZERhdGVUaW1lRm9ybWF0IiwiZmluZFRpbWV6b25lIiwic2V0VGltZW91dCIsImZpbmRFbGVtZW50IiwicXVlcnlTZWxlY3RvciIsInBhcmVudCIsImNsb3Nlc3QiLCJmaW5kSW5wdXQiLCJhZGQiLCJjYXRjaCIsInV0aWxpdHlfbmFtZSIsInRva2VuIiwiY29udGVudCIsImRlZmF1bHRzIiwiaGVhZGVycyIsImNvbW1vbiIsImdldCIsImZpbmRQcm9wZXJ0eSIsIm9iamVjdCIsInByb3BlcnR5IiwiYnVzaW5lc3Nfcm9sZXMiLCJhbGVydCIsIm9wdGlvbnMiLCJ0cmFuc2xhdGlvbl9rZXkiLCJsZW5ndGgiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9VcHBlckNhc2Ui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QUFLLEVBQUU7QUFBQSxhQUFNQyxpQkFBaUIsQ0FBQyxLQUFELENBQXZCO0FBQUEsS0FEVDtBQUVFLElBQUEsY0FBYyxFQUFFZ0IsY0FGbEI7QUFHRSxJQUFBLFlBQVksRUFBRXdCO0FBSGhCLElBclRKLENBREY7QUE4VEQsQ0FobUJNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICdzcmMvY29tcG9uZW50cy9DdXN0b21JbnB1dHMvU2VsZWN0L1NlbGVjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgUGFzc3dvcmRNb2RhbCB9IGZyb20gJy4vUGFzc3dvcmRNb2RhbC9QYXNzd29yZE1vZGFsJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFBlblN2ZyB9IGZyb20gJy4vcGVuLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDYW5jZWwgfSBmcm9tICcuL2NhbmNlbC5zdmcnO1xuaW1wb3J0IFBob25lSW5wdXQgZnJvbSAncmVhY3QtcGhvbmUtaW5wdXQtMic7XG5pbXBvcnQgJ3JlYWN0LXBob25lLWlucHV0LTIvbGliL3N0eWxlLmNzcyc7XG5pbXBvcnQgeyBUZWxlZ3JhbU1vZGFsIH0gZnJvbSAnLi9UZWxlZ3JhbU1vZGFsL1RlbGVncmFtTW9kYWwnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gJy4vQ29udGFpbmVyJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSAncmVhY3QtdG9hc3RpZnknO1xuXG5leHBvcnQgY29uc3QgUHJvZmlsZVBhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IHRpbWV6b25lc0FycmF5ID0gbW9tZW50LnR6Lm5hbWVzKCk7XG4gIGNvbnN0IGRhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IFtcbiAgICB7XG4gICAgICB2YWx1ZTogJ3VzJyxcbiAgICAgIGxhYmVsOiAnVW5pdGVkIFN0YXRlcycsXG4gICAgICBmb3JtYXQ6IHtcbiAgICAgICAgbW9udGg6ICdzaG9ydCcsXG4gICAgICAgIGRheTogJ251bWVyaWMnLFxuICAgICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICAgIGhvdXI6ICdudW1lcmljJyxcbiAgICAgICAgbWludXRlOiAnbnVtZXJpYycsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdmFsdWU6ICdldScsXG4gICAgICBsYWJlbDogJ0V1cm9wZScsXG4gICAgICBmb3JtYXQ6IHtcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIG1vbnRoOiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgICAgaG91cjEyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXTtcblxuICBjb25zdCB0aW1lem9uZXMgPSB0aW1lem9uZXNBcnJheS5tYXAoKHQpID0+IHtcbiAgICByZXR1cm4geyB2YWx1ZTogdCwgbGFiZWw6IHQgfTtcbiAgfSk7XG5cbiAgY29uc3QgbG9jYWxlT3B0aW9ucyA9IFtcbiAgICB7IHZhbHVlOiAnZW4nLCBsYWJlbDogJ0VuZ2xpc2gnIH0sXG4gICAgeyB2YWx1ZTogJ2VuX3VrJywgbGFiZWw6ICdFbmdsaXNoIChVSyknIH0sXG4gICAgeyB2YWx1ZTogJ2hlJywgbGFiZWw6ICfXoteR16jXmdeqJyB9LFxuICAgIHsgdmFsdWU6ICdmcicsIGxhYmVsOiAnRnJhbsOnYWlzJyB9LFxuICAgIHsgdmFsdWU6ICdpdCcsIGxhYmVsOiAnSXRhbGlhbm8nIH0sXG4gIF07XG5cbiAgY29uc3QgW2xvY2FsZSwgc2V0TG9jYWxlXSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gIH0+KGxvY2FsZU9wdGlvbnNbMF0pO1xuXG4gIGNvbnN0IFtkYXRlVGltZUZvcm1hdCwgc2V0RGF0ZVRpbWVGb3JtYXRdID0gdXNlU3RhdGU8e1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBmb3JtYXQ6IG9iamVjdDtcbiAgfT4oZGF0ZVRpbWVGb3JtYXRPcHRpb25zWzBdKTtcblxuICBjb25zdCBbdGltZXpvbmUsIHNldFRpbWV6b25lXSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gIH0+KHRpbWV6b25lc1syMF0pO1xuXG4gIGNvbnN0IFtkZXBhcnRtZW50cywgc2V0RGVwYXJ0bWVudHNdID0gdXNlU3RhdGU8XG4gICAge1xuICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgfVtdXG4gID4oW3sgdmFsdWU6ICcnLCBsYWJlbDogJycgfV0pO1xuXG4gIGNvbnN0IFtidXNpbmVzc1JvbGVzLCBzZXRCdXNpbmVzc1JvbGVzXSA9IHVzZVN0YXRlPFxuICAgIHtcbiAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICBsYWJlbDogc3RyaW5nO1xuICAgIH1bXVxuICA+KFt7IHZhbHVlOiAnJywgbGFiZWw6ICcnIH1dKTtcblxuICBjb25zdCBbZGVwYXJ0bWVudCwgc2V0RGVwYXJ0bWVudF0gPSB1c2VTdGF0ZTxhbnk+KGRlcGFydG1lbnRzWzBdKTtcblxuICBjb25zdCBbYnVzaW5lc3NSb2xlLCBzZXRCdXNpbmVzc1JvbGVdID0gdXNlU3RhdGU8YW55PihidXNpbmVzc1JvbGVzWzBdKTtcblxuICBjb25zdCBpbml0aWFsUGFyYW1zU3RhdGUgPSB7XG4gICAgZmlyc3RfbmFtZTogJycsXG4gICAgbGFzdF9uYW1lOiAnJyxcbiAgICBwaG9uZTogJycsXG4gICAgZW1haWw6ICcnLFxuICAgIHRpbWVfem9uZTogJycsXG4gICAgZGF0ZV90aW1lX2Zvcm1hdDogJycsXG4gICAgbG9jYWxlOiAnJyxcbiAgICB0ZWxlZ3JhbV9uYW1lOiAnJyxcbiAgICBvdGhlcl9idXNpbmVzc19yb2xlX25hbWU6ICcnLFxuICAgIG90aGVyX2RlcGFydG1lbnRfbmFtZTogJycsXG4gICAgYnVzaW5lc3Nfcm9sZTogJycsXG4gICAgZGVwYXJ0bWVudDogJycsXG4gIH07XG5cbiAgY29uc3QgW2lzVGVsZWdyYW1PcGVuLCBzZXRJc1RlbGVncmFtT3Blbl0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93UGFzc3dvcmRNb2RhbCwgc2V0U2hvd1Bhc3N3b3JkTW9kYWxdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc3VibWl0dGluZywgc2V0U3VibWl0dGluZ10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93U3VjY2Vzc01lc3NhZ2UsIHNldFNob3dTdWNjZXNzTWVzc2FnZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93RXJyb3JNZXNzYWdlLCBzZXRTaG93RXJyb3JNZXNzYWdlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSwgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlXSA9XG4gICAgdXNlU3RhdGU8e1xuICAgICAgc2hvdzogYm9vbGVhbjtcbiAgICAgIHN0YXR1czogc3RyaW5nO1xuICAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIH0+KHtcbiAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgc3RhdHVzOiAnJyxcbiAgICAgIG1lc3NhZ2U6ICcnLFxuICAgIH0pO1xuICBjb25zdCBbcGFyYW1zLCBzZXRQYXJhbXNdID0gdXNlU3RhdGU8e1xuICAgIGZpcnN0X25hbWU6IHN0cmluZztcbiAgICBsYXN0X25hbWU6IHN0cmluZztcbiAgICBwaG9uZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgdGltZV96b25lOiBzdHJpbmc7XG4gICAgZGF0ZV90aW1lX2Zvcm1hdDogc3RyaW5nO1xuICAgIGxvY2FsZTogc3RyaW5nO1xuICAgIHRlbGVncmFtX25hbWU6IHN0cmluZztcbiAgICBvdGhlcl9idXNpbmVzc19yb2xlX25hbWU6IHN0cmluZztcbiAgICBvdGhlcl9kZXBhcnRtZW50X25hbWU6IHN0cmluZztcbiAgfT4oaW5pdGlhbFBhcmFtc1N0YXRlKTtcblxuICBjb25zdCBoYW5kbGVPbkNoYW5nZSA9IChlKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGUuc3RhcnRzV2l0aCgnOTcyMCcpKSB7XG4gICAgICAgIGUgPSBlLnJlcGxhY2UoLyg5NzIwKS9nLCAnOTcyJyk7XG4gICAgICB9XG4gICAgICBzZXRQYXJhbXMoKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICBwaG9uZTogZSxcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyB2YWx1ZSwgbmFtZSB9ID0gZS50YXJnZXQ7XG4gICAgICBzZXRQYXJhbXMoKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICBbbmFtZV06IHZhbHVlLFxuICAgICAgfSkpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVCdXNpbmVzc1JvbGVDaGFuZ2UgPSAoZSkgPT4ge1xuICAgIGlmIChlLnRhcmdldCAhPT0gbnVsbCkge1xuICAgICAgc2V0UGFyYW1zKHtcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICBidXNpbmVzc19yb2xlOiBlLnZhbHVlLFxuICAgICAgICBvdGhlcl9idXNpbmVzc19yb2xlX25hbWU6IGUudGFyZ2V0LnZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURlcGFydG1lbnRDaGFuZ2UgPSAoZSkgPT4ge1xuICAgIGlmIChlLnRhcmdldCAhPT0gbnVsbCkge1xuICAgICAgc2V0UGFyYW1zKHtcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICBkZXBhcnRtZW50OiBlLnZhbHVlLFxuICAgICAgICBvdGhlcl9kZXBhcnRtZW50X25hbWU6IGUudGFyZ2V0LnZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzID0gKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBkYXRlX3RpbWVfZm9ybWF0OiBkYXRlVGltZUZvcm1hdC52YWx1ZSxcbiAgICAgIGxvY2FsZTogbG9jYWxlLnZhbHVlLFxuICAgICAgdGltZV96b25lOiB0aW1lem9uZS52YWx1ZSxcbiAgICAgIGRlcGFydG1lbnRfaWQ6IGRlcGFydG1lbnQgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBhcnRtZW50LnZhbHVlLFxuICAgICAgYnVzaW5lc3Nfcm9sZV9pZDogYnVzaW5lc3NSb2xlID09PSB1bmRlZmluZWQgPyBudWxsIDogYnVzaW5lc3NSb2xlLnZhbHVlLFxuICAgIH07XG4gIH07XG5cbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlOYW1lID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICk7XG5cbiAgY29uc3Qgc2hvd1RvYXN0ID0gKGRhdGEpID0+IHtcbiAgICBjb25zdCB1c2VybmFtZSA9IGRhdGEudXNlcm5hbWU7XG4gICAgY29uc3QgZXJyb3IgPSBkYXRhLmVycm9yO1xuICAgIGlmIChkYXRhLnN0YXR1cyA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICB0b2FzdC5zdWNjZXNzKFxuICAgICAgICBpMThuLnQoYG15X3Byb2ZpbGVfdGFiLnRlbGVncmFtX21lc3NhZ2VzLiR7ZGF0YS5tZXNzYWdlfWAsIHtcbiAgICAgICAgICB1c2VybmFtZSxcbiAgICAgICAgfSksXG4gICAgICAgIHtcbiAgICAgICAgICBwb3NpdGlvbjogJ3RvcC1jZW50ZXInLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdG9hc3QuZXJyb3IoXG4gICAgICAgIGkxOG4udChgbXlfcHJvZmlsZV90YWIudGVsZWdyYW1fbWVzc2FnZXMuJHtkYXRhLm1lc3NhZ2V9YCwge1xuICAgICAgICAgIGVycm9yOiBlcnJvcixcbiAgICAgICAgICB1c2VybmFtZTogdXNlcm5hbWUsXG4gICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHNldFN1Ym1pdHRpbmcodHJ1ZSk7XG4gICAgYXhpb3NcbiAgICAgIC5wdXQoJy9wcm9maWxlcycsIHsgdXNlcjogZ2V0UGFyYW1zV2l0aEFnZ3JlZ2F0ZWRWYWx1ZXMoKSB9KVxuICAgICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgICAgaWYgKHJlc3AuZGF0YS51c2VyLmVycm9ycyA9PT0gbnVsbCkge1xuICAgICAgICAgIGRvY3VtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmVycm9yLW1lc3NhZ2UnKVxuICAgICAgICAgICAgLmZvckVhY2goKHApID0+IChwLmlubmVySFRNTCA9ICcnKSk7XG5cbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnZhbGlkLWZpZWxkJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiBwLmNsYXNzTGlzdC5yZW1vdmUoJ2ludmFsaWQtZmllbGQnKSk7XG4gICAgICAgICAgbGV0IHVzZXIgPSBKU09OLnBhcnNlKHJlc3AuZGF0YS51c2VyKTtcbiAgICAgICAgICBjb25zdCBmaW5kTG9jYWxlID0gbG9jYWxlT3B0aW9ucy5maW5kKChlKSA9PiBlLnZhbHVlID09PSB1c2VyLmxvY2FsZSk7XG4gICAgICAgICAgY29uc3QgZmluZERhdGVUaW1lRm9ybWF0ID0gZGF0ZVRpbWVGb3JtYXRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci5kYXRlX3RpbWVfZm9ybWF0LFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgZmluZFRpbWV6b25lID0gdGltZXpvbmVzLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci50aW1lX3pvbmUsXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHNldFBhcmFtcyh1c2VyKTtcbiAgICAgICAgICBzZXRMb2NhbGUoZmluZExvY2FsZSEpO1xuICAgICAgICAgIHNldERhdGVUaW1lRm9ybWF0KGZpbmREYXRlVGltZUZvcm1hdCEpO1xuICAgICAgICAgIHNldFRpbWV6b25lKGZpbmRUaW1lem9uZSEpO1xuICAgICAgICAgIHNldFNob3dTdWNjZXNzTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHNldFNob3dTdWNjZXNzTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgfSwgNjAwMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZG9jdW1lbnRcbiAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCcuZXJyb3ItbWVzc2FnZScpXG4gICAgICAgICAgICAuZm9yRWFjaCgocCkgPT4gKHAuaW5uZXJIVE1MID0gJycpKTtcbiAgICAgICAgICBsZXQgZXJyb3JzID0gcmVzcC5kYXRhLnVzZXIuZXJyb3JzO1xuICAgICAgICAgIGZvciAoY29uc3QgZXJyb3IgaW4gZXJyb3JzKSB7XG4gICAgICAgICAgICBsZXQgZmluZEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBpbnB1dFtuYW1lPScke2Vycm9yfSddYCk7XG4gICAgICAgICAgICBsZXQgcGFyZW50ID0gZmluZEVsZW1lbnQhLmNsb3Nlc3QoJy5maWVsZCcpO1xuICAgICAgICAgICAgbGV0IGZpbmRJbnB1dCA9IHBhcmVudCEucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcbiAgICAgICAgICAgIGZpbmRJbnB1dCEuY2xhc3NMaXN0LmFkZCgnaW52YWxpZC1maWVsZCcpO1xuICAgICAgICAgICAgcGFyZW50IS5xdWVyeVNlbGVjdG9yKCcuZXJyb3ItbWVzc2FnZScpIS5pbm5lckhUTUwgPSBpMThuLnQoXG4gICAgICAgICAgICAgIGBkYXNoYm9hcmRfdjIucHJvZmlsZS5lcnJvcnMuJHtlcnJvcn1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFN1Ym1pdHRpbmcoZmFsc2UpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgc2V0U2hvd0Vycm9yTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgc2V0U3VibWl0dGluZyhmYWxzZSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHNldFNob3dFcnJvck1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICB9LCA2MDAwKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1ZpZXdlZCBQcm9maWxlIFBhZ2UnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgdG9rZW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdbbmFtZT1jc3JmLXRva2VuXScpIS5jb250ZW50O1xuICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydYLUNTUkYtVE9LRU4nXSA9IHRva2VuO1xuICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydDb250ZW50LVR5cGUnXSA9ICdhcHBsaWNhdGlvbi9qcyc7XG4gICAgYXhpb3NcbiAgICAgIC5nZXQoYC9wcm9maWxlcy9yZXNvdXJjZWApXG4gICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICBzZXRQYXJhbXMocmVzcC5kYXRhLnVzZXIpO1xuICAgICAgICBjb25zdCBmaW5kUHJvcGVydHkgPSAob2JqZWN0LCBwcm9wZXJ0eSkgPT4ge1xuICAgICAgICAgIHJldHVybiBvYmplY3QuZmluZCgoZSkgPT4gZS52YWx1ZSA9PT0gcHJvcGVydHkpO1xuICAgICAgICB9O1xuICAgICAgICBzZXRMb2NhbGUoZmluZFByb3BlcnR5KGxvY2FsZU9wdGlvbnMsIHJlc3AuZGF0YS51c2VyLmxvY2FsZSkpO1xuICAgICAgICBzZXREYXRlVGltZUZvcm1hdChcbiAgICAgICAgICBmaW5kUHJvcGVydHkoZGF0ZVRpbWVGb3JtYXRPcHRpb25zLCByZXNwLmRhdGEudXNlci5kYXRlX3RpbWVfZm9ybWF0KSxcbiAgICAgICAgKTtcbiAgICAgICAgc2V0VGltZXpvbmUoZmluZFByb3BlcnR5KHRpbWV6b25lcywgcmVzcC5kYXRhLnVzZXIudGltZV96b25lKSk7XG4gICAgICAgIHNldEJ1c2luZXNzUm9sZShcbiAgICAgICAgICBmaW5kUHJvcGVydHkoXG4gICAgICAgICAgICByZXNwLmRhdGEuYnVzaW5lc3Nfcm9sZXMsXG4gICAgICAgICAgICByZXNwLmRhdGEudXNlci5idXNpbmVzc19yb2xlX2lkLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIHNldERlcGFydG1lbnQoXG4gICAgICAgICAgZmluZFByb3BlcnR5KHJlc3AuZGF0YS5kZXBhcnRtZW50cywgcmVzcC5kYXRhLnVzZXIuZGVwYXJ0bWVudF9pZCksXG4gICAgICAgICk7XG4gICAgICAgIHNldERlcGFydG1lbnRzKHJlc3AuZGF0YS5kZXBhcnRtZW50cyk7XG4gICAgICAgIHNldEJ1c2luZXNzUm9sZXMocmVzcC5kYXRhLmJ1c2luZXNzX3JvbGVzKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiBhbGVydChlcnJvcikpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoZWFkZXItdGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aXRsZScpfTwvZGl2PlxuICAgICAgPGZvcm0gYWN0aW9uPVwiXCIgb25TdWJtaXQ9eyhlKSA9PiBoYW5kbGVTdWJtaXQoZSl9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5wZXJzb25hbC1kZXRhaWxzJyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwicGVyc29uYWxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmZpcnN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2ZpcnN0X25hbWUnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMuZmlyc3RfbmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZU9uQ2hhbmdlKGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5sYXN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2xhc3RfbmFtZSd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5sYXN0X25hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVPbkNoYW5nZShlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZCBmaWVsZC0tcmVhZG9ubHlcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmVtYWlsJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICByZWFkT25seT17dHJ1ZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9eydlbWFpbCd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5lbWFpbH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUucGhvbmUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxQaG9uZUlucHV0XG4gICAgICAgICAgICAgICAgY291bnRyeT17J2lsJ31cbiAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb249e2kxOG4udCgnY291bnRyaWVzJyl9XG4gICAgICAgICAgICAgICAgaW5wdXRDbGFzcz1cInBob25lLWlucHV0XCJcbiAgICAgICAgICAgICAgICBjb250YWluZXJDbGFzcz1cIm15LXBob25lXCJcbiAgICAgICAgICAgICAgICBidXR0b25DbGFzcz1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBkcm9wZG93bkNsYXNzPVwicGhvbmUtZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMucGhvbmV9XG4gICAgICAgICAgICAgICAgZW5hYmxlU2VhcmNoXG4gICAgICAgICAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI9e2kxOG4udCgnc2VhcmNoJyl9XG4gICAgICAgICAgICAgICAgY291bnRyeUNvZGVFZGl0YWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlT25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaW5wdXRQcm9wcz17eyBuYW1lOiAncGhvbmUnIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnQnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXktaW5wdXRcIj5cbiAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0RGVwYXJ0bWVudH1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXt7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRzLiR7ZGVwYXJ0bWVudD8ubGFiZWx9YCxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGRlcGFydG1lbnQ/LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e2RlcGFydG1lbnRzfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9e3tcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogZGVwYXJ0bWVudHMsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uX2tleTogJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRzJyxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZmllbGQgJHtcbiAgICAgICAgICAgICAgICBkZXBhcnRtZW50ICYmXG4gICAgICAgICAgICAgICAgZGVwYXJ0bWVudD8udmFsdWUgPT09IGRlcGFydG1lbnRzW2RlcGFydG1lbnRzLmxlbmd0aCAtIDFdLnZhbHVlXG4gICAgICAgICAgICAgICAgICA/ICcnXG4gICAgICAgICAgICAgICAgICA6ICdmaWVsZC0taGlkZGVuJ1xuICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRfYWx0Jyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICByZWFkT25seT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICBuYW1lPXsnb3RoZXJfZGVwYXJ0bWVudF9uYW1lJ31cbiAgICAgICAgICAgICAgICB2YWx1ZT17cGFyYW1zLm90aGVyX2RlcGFydG1lbnRfbmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZURlcGFydG1lbnRDaGFuZ2UoZSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmJ1c2luZXNzX3JvbGUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXktaW5wdXRcIj5cbiAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0QnVzaW5lc3NSb2xlfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3tcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICBgZGFzaGJvYXJkX3YyLnByb2ZpbGUuYnVzaW5lc3Nfcm9sZXMuJHtidXNpbmVzc1JvbGU/LmxhYmVsfWAsXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBidXNpbmVzc1JvbGU/LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e2J1c2luZXNzUm9sZXN9XG4gICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT17e1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBidXNpbmVzc1JvbGVzLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbl9rZXk6ICdkYXNoYm9hcmRfdjIucHJvZmlsZS5idXNpbmVzc19yb2xlcycsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YGZpZWxkICR7XG4gICAgICAgICAgICAgICAgYnVzaW5lc3NSb2xlICYmXG4gICAgICAgICAgICAgICAgYnVzaW5lc3NSb2xlPy52YWx1ZSA9PT1cbiAgICAgICAgICAgICAgICAgIGJ1c2luZXNzUm9sZXNbYnVzaW5lc3NSb2xlcy5sZW5ndGggLSAxXS52YWx1ZVxuICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgOiAnZmllbGQtLWhpZGRlbidcbiAgICAgICAgICAgICAgfSBgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuYnVzaW5lc3Nfcm9sZV9hbHQnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtmYWxzZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9eydvdGhlcl9idXNpbmVzc19yb2xlX25hbWUnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMub3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gaGFuZGxlQnVzaW5lc3NSb2xlQ2hhbmdlKGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjaGFuZ2UtcGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3dQYXNzd29yZE1vZGFsKHRydWUpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFBlblN2ZyB3aWR0aD1cIjEycHhcIiBoZWlnaHQ9XCIxMnB4XCIgZmlsbD1cIiNmMDEzNGNcIiAvPlxuICAgICAgICAgICAgICAgIHsnICAnfVxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmNoYW5nZS1wYXNzd29yZCcpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+e2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc2V0dGluZ3MnKX08L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZXR0aW5nc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUudGltZS16b25lJyl9KlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgIHNldFZhbHVlPXtzZXRUaW1lem9uZX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXt0aW1lem9uZX1cbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e3RpbWV6b25lc31cbiAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHRXaWR0aFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5kYXRlLXRpbWUtZm9ybWF0Jyl9KlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e2RhdGVUaW1lRm9ybWF0T3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtkYXRlVGltZUZvcm1hdH1cbiAgICAgICAgICAgICAgICAgIHNldFZhbHVlPXtzZXREYXRlVGltZUZvcm1hdH1cbiAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHRXaWR0aFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2RhdGUtdGltZS1mb3JtYXQnfT5cbiAgICAgICAgICAgICAgICB7ZGF0ZVRpbWVGb3JtYXQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgbmV3IERhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoJ2VuLVVTJywgZGF0ZVRpbWVGb3JtYXQuZm9ybWF0KX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmxhbmd1YWdlJyl9KlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydteS1pbnB1dCd9PlxuICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e2xvY2FsZU9wdGlvbnN9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldExvY2FsZX1cbiAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHRXaWR0aFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkIGZpZWxkLS1idXR0b25zXCI+XG4gICAgICAgICAgICAgIHtwYXJhbXMudGVsZWdyYW1fbmFtZSA9PT0gJycgJiYgKFxuICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInRlbGVncmFtXCIgb25DbGljaz17KCkgPT4gc2V0SXNUZWxlZ3JhbU9wZW4odHJ1ZSl9PlxuICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY29ubmVjdC10by10ZWxlZ3JhbScpfVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge3BhcmFtcy50ZWxlZ3JhbV9uYW1lICE9PSAnJyAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnRlbGVncmFtX25hbWUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc1RlbGVncmFtT3Blbih0cnVlKX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8UGVuU3ZnIHdpZHRoPVwiMTJweFwiIGhlaWdodD1cIjEycHhcIiBmaWxsPVwiI2YwMTM0Y1wiIC8+eycgJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmNoYW5nZS1uYW1lJyl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3RlbGVncmFtLWV4aXN0aW5nLWlucHV0J30+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9eyd0ZWxlZ3JhbV9uYW1lJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMudGVsZWdyYW1fbmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J3RlbGVncmFtLWV4aXN0aW5nLWlucHV0X19jYW5jZWwtYnV0dG9uJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNldFBhcmFtcygocHJldlN0YXRlKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZWxlZ3JhbV9uYW1lOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2FuY2VsIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J3RlbGVncmFtIG9wZW4nfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF4aW9zXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoYC90ZWxlZ3JhbS9zZW5kX3Rlc3RfbWVzc2FnZS5qc29uYClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGEudXNlci5zdGF0dXNbMF0udG9VcHBlckNhc2UoKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YS51c2VyLnN0YXR1cy5zdWJzdHJpbmcoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiByZXNwLmRhdGEudXNlci5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDYwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dUb2FzdChyZXNwLmRhdGEudXNlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IGFsZXJ0KGVycm9yKSk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHshc2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLnNob3cgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc2VuZF90ZWxlZ3JhbV9tZXNzYWdlJyl9XG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZS5zaG93ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uuc3RhdHVzfVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9eydzdWJtaXQnfSBjbGFzc05hbWU9eydzYXZlJ30gZGlzYWJsZWQ9e3N1Ym1pdHRpbmd9PlxuICAgICAgICAgICAgeyFzdWJtaXR0aW5nICYmXG4gICAgICAgICAgICAgICFzaG93U3VjY2Vzc01lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgIXNob3dFcnJvck1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWJtaXQnKX1cbiAgICAgICAgICAgIHtzdWJtaXR0aW5nICYmXG4gICAgICAgICAgICAgICFzaG93U3VjY2Vzc01lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgIXNob3dFcnJvck1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWJtaXR0aW5nJyl9XG4gICAgICAgICAgICB7c2hvd1N1Y2Nlc3NNZXNzYWdlICYmIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VjY2VzcycpfVxuICAgICAgICAgICAge3Nob3dFcnJvck1lc3NhZ2UgJiYgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5lcnJvcicpfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cblxuICAgICAge3Nob3dQYXNzd29yZE1vZGFsICYmIChcbiAgICAgICAgPFBhc3N3b3JkTW9kYWxcbiAgICAgICAgICBjbG9zZT17KCkgPT4gc2V0U2hvd1Bhc3N3b3JkTW9kYWwoZmFsc2UpfVxuICAgICAgICAgIHNhdmU9eygpID0+IHt9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtpc1RlbGVncmFtT3BlbiAmJiAoXG4gICAgICAgIDxUZWxlZ3JhbU1vZGFsXG4gICAgICAgICAgY2xvc2U9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKGZhbHNlKX1cbiAgICAgICAgICBoYW5kbGVPbkNoYW5nZT17aGFuZGxlT25DaGFuZ2V9XG4gICAgICAgICAgaGFuZGxlU3VibWl0PXtoYW5kbGVTdWJtaXR9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcbiJdfQ==
510
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Qcm9maWxlUGFnZS9Qcm9maWxlUGFnZS50c3giXSwibmFtZXMiOlsiUHJvZmlsZVBhZ2UiLCJ0aW1lem9uZXNBcnJheSIsIm1vbWVudCIsInR6IiwibmFtZXMiLCJkYXRlVGltZUZvcm1hdE9wdGlvbnMiLCJ2YWx1ZSIsImxhYmVsIiwiZm9ybWF0IiwibW9udGgiLCJkYXkiLCJ5ZWFyIiwiaG91ciIsIm1pbnV0ZSIsImhvdXIxMiIsInRpbWV6b25lcyIsIm1hcCIsInQiLCJsb2NhbGVPcHRpb25zIiwibG9jYWxlIiwic2V0TG9jYWxlIiwiZGF0ZVRpbWVGb3JtYXQiLCJzZXREYXRlVGltZUZvcm1hdCIsInRpbWV6b25lIiwic2V0VGltZXpvbmUiLCJpbml0aWFsUGFyYW1zU3RhdGUiLCJmaXJzdF9uYW1lIiwibGFzdF9uYW1lIiwicGhvbmUiLCJlbWFpbCIsInRpbWVfem9uZSIsImRhdGVfdGltZV9mb3JtYXQiLCJ0ZWxlZ3JhbV9uYW1lIiwiaXNUZWxlZ3JhbU9wZW4iLCJzZXRJc1RlbGVncmFtT3BlbiIsInNob3dQYXNzd29yZE1vZGFsIiwic2V0U2hvd1Bhc3N3b3JkTW9kYWwiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsInNob3dTdWNjZXNzTWVzc2FnZSIsInNldFNob3dTdWNjZXNzTWVzc2FnZSIsInNob3dFcnJvck1lc3NhZ2UiLCJzZXRTaG93RXJyb3JNZXNzYWdlIiwic2hvdyIsInN0YXR1cyIsIm1lc3NhZ2UiLCJzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJwYXJhbXMiLCJzZXRQYXJhbXMiLCJoYW5kbGVPbkNoYW5nZSIsImUiLCJzdGFydHNXaXRoIiwicmVwbGFjZSIsInByZXZTdGF0ZSIsInRhcmdldCIsIm5hbWUiLCJnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcyIsIndhdGVyQXV0aG9yaXR5TmFtZSIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJzaG93VG9hc3QiLCJkYXRhIiwidXNlcm5hbWUiLCJlcnJvciIsInRvYXN0Iiwic3VjY2VzcyIsImkxOG4iLCJwb3NpdGlvbiIsImhhbmRsZVN1Ym1pdCIsInByZXZlbnREZWZhdWx0IiwiYXhpb3MiLCJwdXQiLCJ1c2VyIiwidGhlbiIsInJlc3AiLCJlcnJvcnMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmb3JFYWNoIiwicCIsImlubmVySFRNTCIsImNsYXNzTGlzdCIsInJlbW92ZSIsIkpTT04iLCJwYXJzZSIsImZpbmRMb2NhbGUiLCJmaW5kIiwiZmluZERhdGVUaW1lRm9ybWF0IiwiZmluZFRpbWV6b25lIiwic2V0VGltZW91dCIsImZpbmRFbGVtZW50IiwicXVlcnlTZWxlY3RvciIsInBhcmVudCIsImNsb3Nlc3QiLCJmaW5kSW5wdXQiLCJhZGQiLCJjYXRjaCIsInV0aWxpdHlfbmFtZSIsInRva2VuIiwiY29udGVudCIsImRlZmF1bHRzIiwiaGVhZGVycyIsImNvbW1vbiIsImdldCIsImFsZXJ0IiwidW5kZWZpbmVkIiwiRGF0ZSIsInRvTG9jYWxlRGF0ZVN0cmluZyIsInRvVXBwZXJDYXNlIiwic3Vic3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRU8sSUFBTUEsV0FBVyxHQUFHLFNBQWRBLFdBQWMsR0FBTTtBQUMvQixNQUFNQyxjQUFjLEdBQUdDLHdCQUFPQyxFQUFQLENBQVVDLEtBQVYsRUFBdkI7O0FBQ0EsTUFBTUMscUJBQXFCLEdBQUcsQ0FDNUI7QUFDRUMsSUFBQUEsS0FBSyxFQUFFLElBRFQ7QUFFRUMsSUFBQUEsS0FBSyxFQUFFLGVBRlQ7QUFHRUMsSUFBQUEsTUFBTSxFQUFFO0FBQ05DLE1BQUFBLEtBQUssRUFBRSxPQUREO0FBRU5DLE1BQUFBLEdBQUcsRUFB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SSxFQUFFLFFBQWQ7QUFBd0IsSUFBQSxTQUFTLEVBQUUsTUFBbkM7QUFBMkMsSUFBQSxRQUFRLEVBQUVQO0FBQXJELEtBQ0csQ0FBQ0EsVUFBRCxJQUNDLENBQUNFLGtCQURGLElBRUMsQ0FBQ0UsZ0JBRkYsSUFHQzBCLGNBQUtsRCxDQUFMLENBQU8sNkJBQVAsQ0FKSixFQUtHb0IsVUFBVSxJQUNULENBQUNFLGtCQURGLElBRUMsQ0FBQ0UsZ0JBRkYsSUFHQzBCLGNBQUtsRCxDQUFMLENBQU8saUNBQVAsQ0FSSixFQVNHc0Isa0JBQWtCLElBQUk0QixjQUFLbEQsQ0FBTCxDQUFPLDhCQUFQLENBVHpCLEVBVUd3QixnQkFBZ0IsSUFBSTBCLGNBQUtsRCxDQUFMLENBQU8sNEJBQVAsQ0FWdkIsQ0F2TUYsQ0FERixDQUZGLEVBeU5Ha0IsaUJBQWlCLGlCQUNoQiw2QkFBQyw0QkFBRDtBQUNFLElBQUEsS0FBSyxFQUFFO0FBQUEsYUFBTUMsb0JBQW9CLENBQUMsS0FBRCxDQUExQjtBQUFBLEtBRFQ7QUFFRSxJQUFBLElBQUksRUFBRSxnQkFBTSxDQUFFO0FBRmhCLElBMU5KLEVBK05HSCxjQUFjLGlCQUNiLDZCQUFDLDRCQUFEO0FBQ0UsSUFBQSxLQUFLLEVBQUU7QUFBQSxhQUFNQyxpQkFBaUIsQ0FBQyxLQUFELENBQXZCO0FBQUEsS0FEVDtBQUVFLElBQUEsY0FBYyxFQUFFZ0IsY0FGbEI7QUFHRSxJQUFBLFlBQVksRUFBRW1CO0FBSGhCLElBaE9KLENBREY7QUF5T0QsQ0F0ZE0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0N1c3RvbUlucHV0cy9TZWxlY3QvU2VsZWN0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBQYXNzd29yZE1vZGFsIH0gZnJvbSAnLi9QYXNzd29yZE1vZGFsL1Bhc3N3b3JkTW9kYWwnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgUGVuU3ZnIH0gZnJvbSAnLi9wZW4uc3ZnJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIENhbmNlbCB9IGZyb20gJy4vY2FuY2VsLnN2Zyc7XG5pbXBvcnQgUGhvbmVJbnB1dCBmcm9tICdyZWFjdC1waG9uZS1pbnB1dC0yJztcbmltcG9ydCAncmVhY3QtcGhvbmUtaW5wdXQtMi9saWIvc3R5bGUuY3NzJztcbmltcG9ydCB7IFRlbGVncmFtTW9kYWwgfSBmcm9tICcuL1RlbGVncmFtTW9kYWwvVGVsZWdyYW1Nb2RhbCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnLi9Db250YWluZXInO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZXpvbmVzQXJyYXkgPSBtb21lbnQudHoubmFtZXMoKTtcbiAgY29uc3QgZGF0ZVRpbWVGb3JtYXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAndXMnLFxuICAgICAgbGFiZWw6ICdVbml0ZWQgU3RhdGVzJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ2V1JyxcbiAgICAgIGxhYmVsOiAnRXVyb3BlJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgICAgbW9udGg6ICdudW1lcmljJyxcbiAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICBob3VyMTI6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IHRpbWV6b25lcyA9IHRpbWV6b25lc0FycmF5Lm1hcCgodCkgPT4ge1xuICAgIHJldHVybiB7IHZhbHVlOiB0LCBsYWJlbDogdCB9O1xuICB9KTtcblxuICBjb25zdCBsb2NhbGVPcHRpb25zID0gW1xuICAgIHsgdmFsdWU6ICdlbicsIGxhYmVsOiAnRW5nbGlzaCcgfSxcbiAgICB7IHZhbHVlOiAnZW5fdWsnLCBsYWJlbDogJ0VuZ2xpc2ggKFVLKScgfSxcbiAgICB7IHZhbHVlOiAnaGUnLCBsYWJlbDogJ9ei15HXqNeZ16onIH0sXG4gICAgeyB2YWx1ZTogJ2ZyJywgbGFiZWw6ICdGcmFuw6dhaXMnIH0sXG4gICAgeyB2YWx1ZTogJ2l0JywgbGFiZWw6ICdJdGFsaWFubycgfSxcbiAgXTtcblxuICBjb25zdCBbbG9jYWxlLCBzZXRMb2NhbGVdID0gdXNlU3RhdGU8e1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgfT4obG9jYWxlT3B0aW9uc1swXSk7XG5cbiAgY29uc3QgW2RhdGVUaW1lRm9ybWF0LCBzZXREYXRlVGltZUZvcm1hdF0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGZvcm1hdDogb2JqZWN0O1xuICB9PihkYXRlVGltZUZvcm1hdE9wdGlvbnNbMF0pO1xuXG4gIGNvbnN0IFt0aW1lem9uZSwgc2V0VGltZXpvbmVdID0gdXNlU3RhdGU8e1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgfT4odGltZXpvbmVzWzIwXSk7XG5cbiAgY29uc3QgaW5pdGlhbFBhcmFtc1N0YXRlID0ge1xuICAgIGZpcnN0X25hbWU6ICcnLFxuICAgIGxhc3RfbmFtZTogJycsXG4gICAgcGhvbmU6ICcnLFxuICAgIGVtYWlsOiAnJyxcbiAgICB0aW1lX3pvbmU6ICcnLFxuICAgIGRhdGVfdGltZV9mb3JtYXQ6ICcnLFxuICAgIGxvY2FsZTogJycsXG4gICAgdGVsZWdyYW1fbmFtZTogJycsXG4gIH07XG5cbiAgY29uc3QgW2lzVGVsZWdyYW1PcGVuLCBzZXRJc1RlbGVncmFtT3Blbl0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93UGFzc3dvcmRNb2RhbCwgc2V0U2hvd1Bhc3N3b3JkTW9kYWxdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc3VibWl0dGluZywgc2V0U3VibWl0dGluZ10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93U3VjY2Vzc01lc3NhZ2UsIHNldFNob3dTdWNjZXNzTWVzc2FnZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93RXJyb3JNZXNzYWdlLCBzZXRTaG93RXJyb3JNZXNzYWdlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSwgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlXSA9XG4gICAgdXNlU3RhdGU8e1xuICAgICAgc2hvdzogYm9vbGVhbjtcbiAgICAgIHN0YXR1czogc3RyaW5nO1xuICAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIH0+KHtcbiAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgc3RhdHVzOiAnJyxcbiAgICAgIG1lc3NhZ2U6ICcnLFxuICAgIH0pO1xuICBjb25zdCBbcGFyYW1zLCBzZXRQYXJhbXNdID0gdXNlU3RhdGU8e1xuICAgIGZpcnN0X25hbWU6IHN0cmluZztcbiAgICBsYXN0X25hbWU6IHN0cmluZztcbiAgICBwaG9uZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgdGltZV96b25lOiBzdHJpbmc7XG4gICAgZGF0ZV90aW1lX2Zvcm1hdDogc3RyaW5nO1xuICAgIGxvY2FsZTogc3RyaW5nO1xuICAgIHRlbGVncmFtX25hbWU6IHN0cmluZztcbiAgfT4oaW5pdGlhbFBhcmFtc1N0YXRlKTtcblxuICBjb25zdCBoYW5kbGVPbkNoYW5nZSA9IChlKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGUuc3RhcnRzV2l0aCgnOTcyMCcpKSB7XG4gICAgICAgIGUgPSBlLnJlcGxhY2UoLyg5NzIwKS9nLCAnOTcyJyk7XG4gICAgICB9XG4gICAgICBzZXRQYXJhbXMoKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICBwaG9uZTogZSxcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyB2YWx1ZSwgbmFtZSB9ID0gZS50YXJnZXQ7XG4gICAgICBzZXRQYXJhbXMoKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICBbbmFtZV06IHZhbHVlLFxuICAgICAgfSkpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcyA9ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgZGF0ZV90aW1lX2Zvcm1hdDogZGF0ZVRpbWVGb3JtYXQudmFsdWUsXG4gICAgICBsb2NhbGU6IGxvY2FsZS52YWx1ZSxcbiAgICAgIHRpbWVfem9uZTogdGltZXpvbmUudmFsdWUsXG4gICAgfTtcbiAgfTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcblxuICBjb25zdCBzaG93VG9hc3QgPSAoZGF0YSkgPT4ge1xuICAgIGNvbnN0IHVzZXJuYW1lID0gZGF0YS51c2VybmFtZTtcbiAgICBjb25zdCBlcnJvciA9IGRhdGEuZXJyb3I7XG4gICAgaWYgKGRhdGEuc3RhdHVzID09PSAnc3VjY2VzcycpIHtcbiAgICAgIHRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgIGkxOG4udChgbXlfcHJvZmlsZV90YWIudGVsZWdyYW1fbWVzc2FnZXMuJHtkYXRhLm1lc3NhZ2V9YCwge1xuICAgICAgICAgIHVzZXJuYW1lLFxuICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHBvc2l0aW9uOiAndG9wLWNlbnRlcicsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0b2FzdC5lcnJvcihcbiAgICAgICAgaTE4bi50KGBteV9wcm9maWxlX3RhYi50ZWxlZ3JhbV9tZXNzYWdlcy4ke2RhdGEubWVzc2FnZX1gLCB7XG4gICAgICAgICAgZXJyb3I6IGVycm9yLFxuICAgICAgICAgIHVzZXJuYW1lOiB1c2VybmFtZSxcbiAgICAgICAgfSksXG4gICAgICAgIHtcbiAgICAgICAgICBwb3NpdGlvbjogJ3RvcC1jZW50ZXInLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgc2V0U3VibWl0dGluZyh0cnVlKTtcbiAgICBheGlvc1xuICAgICAgLnB1dCgnL3Byb2ZpbGVzJywgeyB1c2VyOiBnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcygpIH0pXG4gICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICBpZiAocmVzcC5kYXRhLmVycm9ycyA9PT0gbnVsbCkge1xuICAgICAgICAgIGRvY3VtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmVycm9yLW1lc3NhZ2UnKVxuICAgICAgICAgICAgLmZvckVhY2goKHApID0+IChwLmlubmVySFRNTCA9ICcnKSk7XG5cbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnZhbGlkLWZpZWxkJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiBwLmNsYXNzTGlzdC5yZW1vdmUoJ2ludmFsaWQtZmllbGQnKSk7XG4gICAgICAgICAgbGV0IHVzZXIgPSBKU09OLnBhcnNlKHJlc3AuZGF0YS51c2VyKTtcbiAgICAgICAgICBjb25zdCBmaW5kTG9jYWxlID0gbG9jYWxlT3B0aW9ucy5maW5kKChlKSA9PiBlLnZhbHVlID09PSB1c2VyLmxvY2FsZSk7XG4gICAgICAgICAgY29uc3QgZmluZERhdGVUaW1lRm9ybWF0ID0gZGF0ZVRpbWVGb3JtYXRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci5kYXRlX3RpbWVfZm9ybWF0LFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgZmluZFRpbWV6b25lID0gdGltZXpvbmVzLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci50aW1lX3pvbmUsXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHNldFBhcmFtcyh1c2VyKTtcbiAgICAgICAgICBzZXRMb2NhbGUoZmluZExvY2FsZSEpO1xuICAgICAgICAgIHNldERhdGVUaW1lRm9ybWF0KGZpbmREYXRlVGltZUZvcm1hdCEpO1xuICAgICAgICAgIHNldFRpbWV6b25lKGZpbmRUaW1lem9uZSEpO1xuICAgICAgICAgIHNldFNob3dTdWNjZXNzTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHNldFNob3dTdWNjZXNzTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgfSwgNjAwMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZG9jdW1lbnRcbiAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCcuZXJyb3ItbWVzc2FnZScpXG4gICAgICAgICAgICAuZm9yRWFjaCgocCkgPT4gKHAuaW5uZXJIVE1MID0gJycpKTtcbiAgICAgICAgICBsZXQgZXJyb3JzID0gcmVzcC5kYXRhLmVycm9ycztcbiAgICAgICAgICBmb3IgKGNvbnN0IGVycm9yIGluIGVycm9ycykge1xuICAgICAgICAgICAgbGV0IGZpbmRFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgaW5wdXRbbmFtZT0nJHtlcnJvcn0nXWApO1xuICAgICAgICAgICAgbGV0IHBhcmVudCA9IGZpbmRFbGVtZW50IS5jbG9zZXN0KCcuZmllbGQnKTtcbiAgICAgICAgICAgIGxldCBmaW5kSW5wdXQgPSBwYXJlbnQhLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XG4gICAgICAgICAgICBmaW5kSW5wdXQhLmNsYXNzTGlzdC5hZGQoJ2ludmFsaWQtZmllbGQnKTtcbiAgICAgICAgICAgIHBhcmVudCEucXVlcnlTZWxlY3RvcignLmVycm9yLW1lc3NhZ2UnKSEuaW5uZXJIVE1MID0gaTE4bi50KFxuICAgICAgICAgICAgICBgZGFzaGJvYXJkX3YyLnByb2ZpbGUuZXJyb3JzLiR7ZXJyb3J9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNldFNob3dTdWNjZXNzTWVzc2FnZShmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBzZXRTdWJtaXR0aW5nKGZhbHNlKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgIHNldFNob3dFcnJvck1lc3NhZ2UodHJ1ZSk7XG4gICAgICAgIHNldFNob3dTdWNjZXNzTWVzc2FnZShmYWxzZSk7XG4gICAgICAgIHNldFN1Ym1pdHRpbmcoZmFsc2UpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBzZXRTaG93RXJyb3JNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgfSwgNjAwMCk7XG4gICAgICB9KTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdWaWV3ZWQgUHJvZmlsZSBQYWdlJywge1xuICAgICAgdXRpbGl0eV9uYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHRva2VuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW25hbWU9Y3NyZi10b2tlbl0nKSEuY29udGVudDtcbiAgICBheGlvcy5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vblsnWC1DU1JGLVRPS0VOJ10gPSB0b2tlbjtcbiAgICBheGlvcy5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vblsnQ29udGVudC1UeXBlJ10gPSAnYXBwbGljYXRpb24vanMnO1xuICAgIGF4aW9zXG4gICAgICAuZ2V0KCcvcHJvZmlsZXMvcmVzb3VyY2UnKVxuICAgICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgICAgc2V0UGFyYW1zKHJlc3AuZGF0YSk7XG4gICAgICAgIGNvbnN0IGZpbmRMb2NhbGUgPSBsb2NhbGVPcHRpb25zLmZpbmQoXG4gICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHJlc3AuZGF0YS5sb2NhbGUsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGZpbmREYXRlVGltZUZvcm1hdCA9IGRhdGVUaW1lRm9ybWF0T3B0aW9ucy5maW5kKFxuICAgICAgICAgIChlKSA9PiBlLnZhbHVlID09PSByZXNwLmRhdGEuZGF0ZV90aW1lX2Zvcm1hdCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZmluZFRpbWV6b25lID0gdGltZXpvbmVzLmZpbmQoXG4gICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHJlc3AuZGF0YS50aW1lX3pvbmUsXG4gICAgICAgICk7XG4gICAgICAgIHNldExvY2FsZShmaW5kTG9jYWxlISk7XG4gICAgICAgIHNldERhdGVUaW1lRm9ybWF0KGZpbmREYXRlVGltZUZvcm1hdCEpO1xuICAgICAgICBzZXRUaW1lem9uZShmaW5kVGltZXpvbmUhKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiBhbGVydChlcnJvcikpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoZWFkZXItdGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aXRsZScpfTwvZGl2PlxuICAgICAgPGZvcm0gYWN0aW9uPVwiXCIgb25TdWJtaXQ9eyhlKSA9PiBoYW5kbGVTdWJtaXQoZSl9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5wZXJzb25hbC1kZXRhaWxzJyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwicGVyc29uYWxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmZpcnN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2ZpcnN0X25hbWUnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMuZmlyc3RfbmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZU9uQ2hhbmdlKGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5sYXN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2xhc3RfbmFtZSd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5sYXN0X25hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVPbkNoYW5nZShlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZCBmaWVsZC0tcmVhZG9ubHlcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmVtYWlsJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICByZWFkT25seT17dHJ1ZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9eydlbWFpbCd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5lbWFpbH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUucGhvbmUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxQaG9uZUlucHV0XG4gICAgICAgICAgICAgICAgY291bnRyeT17J2lsJ31cbiAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb249e2kxOG4udCgnY291bnRyaWVzJyl9XG4gICAgICAgICAgICAgICAgaW5wdXRDbGFzcz1cInBob25lLWlucHV0XCJcbiAgICAgICAgICAgICAgICBjb250YWluZXJDbGFzcz1cIm15LXBob25lXCJcbiAgICAgICAgICAgICAgICBidXR0b25DbGFzcz1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBkcm9wZG93bkNsYXNzPVwicGhvbmUtZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMucGhvbmV9XG4gICAgICAgICAgICAgICAgZW5hYmxlU2VhcmNoXG4gICAgICAgICAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI9e2kxOG4udCgnc2VhcmNoJyl9XG4gICAgICAgICAgICAgICAgY291bnRyeUNvZGVFZGl0YWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlT25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaW5wdXRQcm9wcz17eyBuYW1lOiAncGhvbmUnIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNoYW5nZS1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd1Bhc3N3b3JkTW9kYWwodHJ1ZSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGVuU3ZnIHdpZHRoPVwiMTJweFwiIGhlaWdodD1cIjEycHhcIiBmaWxsPVwiI2YwMTM0Y1wiIC8+XG4gICAgICAgICAgICAgICAgeycgICd9XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLXBhc3N3b3JkJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zZXR0aW5ncycpfTwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNldHRpbmdzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aW1lLXpvbmUnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldFRpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3RpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGltZXpvbmVzfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRhdGUtdGltZS1mb3JtYXQnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17ZGF0ZVRpbWVGb3JtYXRPcHRpb25zfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2RhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldERhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZGF0ZS10aW1lLWZvcm1hdCd9PlxuICAgICAgICAgICAgICAgIHtkYXRlVGltZUZvcm1hdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tVVMnLCBkYXRlVGltZUZvcm1hdC5mb3JtYXQpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUubGFuZ3VhZ2UnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J215LWlucHV0J30+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17bG9jYWxlT3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0TG9jYWxlfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGQgZmllbGQtLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAge3BhcmFtcy50ZWxlZ3JhbV9uYW1lID09PSAnJyAmJiAoXG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwidGVsZWdyYW1cIiBvbkNsaWNrPXsoKSA9PiBzZXRJc1RlbGVncmFtT3Blbih0cnVlKX0+XG4gICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5jb25uZWN0LXRvLXRlbGVncmFtJyl9XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7cGFyYW1zLnRlbGVncmFtX25hbWUgIT09ICcnICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUudGVsZWdyYW1fbmFtZScpfVxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKHRydWUpfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQZW5Tdmcgd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMTJweFwiIGZpbGw9XCIjZjAxMzRjXCIgLz57JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLW5hbWUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXQnfT5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17J3RlbGVncmFtX25hbWUnfVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy50ZWxlZ3JhbV9uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXRfX2NhbmNlbC1idXR0b24nfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbGVncmFtX25hbWU6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYW5jZWwgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0gb3Blbid9XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXhpb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldChgL3RlbGVncmFtL3NlbmRfdGVzdF9tZXNzYWdlLmpzb25gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YS5zdGF0dXNbMF0udG9VcHBlckNhc2UoKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YS5zdGF0dXMuc3Vic3RyaW5nKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogcmVzcC5kYXRhLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNjAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RvYXN0KHJlc3AuZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IGFsZXJ0KGVycm9yKSk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHshc2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLnNob3cgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc2VuZF90ZWxlZ3JhbV9tZXNzYWdlJyl9XG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZS5zaG93ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uuc3RhdHVzfVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9eydzdWJtaXQnfSBjbGFzc05hbWU9eydzYXZlJ30gZGlzYWJsZWQ9e3N1Ym1pdHRpbmd9PlxuICAgICAgICAgICAgeyFzdWJtaXR0aW5nICYmXG4gICAgICAgICAgICAgICFzaG93U3VjY2Vzc01lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgIXNob3dFcnJvck1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWJtaXQnKX1cbiAgICAgICAgICAgIHtzdWJtaXR0aW5nICYmXG4gICAgICAgICAgICAgICFzaG93U3VjY2Vzc01lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgIXNob3dFcnJvck1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWJtaXR0aW5nJyl9XG4gICAgICAgICAgICB7c2hvd1N1Y2Nlc3NNZXNzYWdlICYmIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VjY2VzcycpfVxuICAgICAgICAgICAge3Nob3dFcnJvck1lc3NhZ2UgJiYgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5lcnJvcicpfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cblxuICAgICAge3Nob3dQYXNzd29yZE1vZGFsICYmIChcbiAgICAgICAgPFBhc3N3b3JkTW9kYWxcbiAgICAgICAgICBjbG9zZT17KCkgPT4gc2V0U2hvd1Bhc3N3b3JkTW9kYWwoZmFsc2UpfVxuICAgICAgICAgIHNhdmU9eygpID0+IHt9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtpc1RlbGVncmFtT3BlbiAmJiAoXG4gICAgICAgIDxUZWxlZ3JhbU1vZGFsXG4gICAgICAgICAgY2xvc2U9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKGZhbHNlKX1cbiAgICAgICAgICBoYW5kbGVPbkNoYW5nZT17aGFuZGxlT25DaGFuZ2V9XG4gICAgICAgICAgaGFuZGxlU3VibWl0PXtoYW5kbGVTdWJtaXR9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcbiJdfQ==
@@ -29,8 +29,6 @@ var _actionsCreator = require("store/samplings/actionsCreator");
29
29
 
30
30
  var _urls = require("utilities/urls");
31
31
 
32
- var _useInitializeHeaders = require("hooks/useInitializeHeaders");
33
-
34
32
  var _samplingsPageUtils = require("../samplingsPageUtils");
35
33
 
36
34
  var _SamplingActions = _interopRequireDefault(require("./SamplingActions"));
@@ -46,7 +44,6 @@ var SamplingActionContainer = function SamplingActionContainer(props) {
46
44
  dropdownToggle = props.dropdownToggle;
47
45
  var allowed_actions = [_samplingsPageUtils.COLLECT_SAMPLING_OP, _samplingsPageUtils.CANCEL_SAMPLING_OP, _samplingsPageUtils.EDIT_PROPERTIES_OP, _samplingsPageUtils.REVERT_CANCELLATION];
48
46
  var history = (0, _reactRouterDom.useHistory)();
49
- (0, _useInitializeHeaders.useInitializeHeaders)();
50
47
  var dispatch = (0, _reactRedux.useDispatch)();
51
48
  var navContext = (0, _reactRedux.useSelector)(function (state) {
52
49
  return state.nav_context_data.navContext;
@@ -185,4 +182,4 @@ var SamplingActionContainer = function SamplingActionContainer(props) {
185
182
 
186
183
  var _default = SamplingActionContainer;
187
184
  exports.default = _default;
188
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL0FjdGlvbnNEcm9wRG93bi9TYW1wbGluZ0FjdGlvbkNvbnRhaW5lci50c3giXSwibmFtZXMiOlsiU2FtcGxpbmdBY3Rpb25Db250YWluZXIiLCJwcm9wcyIsInNhbXBsaW5nIiwid2F0ZXJBdXRob3JpdHlJZCIsInNob3dMYWJSZXN1bHQiLCJkcm9wZG93blRvZ2dsZSIsImFsbG93ZWRfYWN0aW9ucyIsIkNPTExFQ1RfU0FNUExJTkdfT1AiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJFRElUX1BST1BFUlRJRVNfT1AiLCJSRVZFUlRfQ0FOQ0VMTEFUSU9OIiwiaGlzdG9yeSIsImRpc3BhdGNoIiwibmF2Q29udGV4dCIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsImdsb2JhbF9kYXRhIiwic2hvd0NvbmZpcm0iLCJzZXRTaG93Q29uZmlybSIsImhhbmRsZUNsaWNrIiwidXRpbGl0eV9uYW1lIiwiZGVsZXRlU2FtcGxpbmciLCJjc3JmVG9rZW4iLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJnZXRBdHRyaWJ1dGUiLCJheGlvcyIsImRlbGV0ZSIsInNhbXBsaW5nSWQiLCJpZCIsImxvY2FsZSIsInNhbXBsaW5nUHJvcGVydGllcyIsInVybCIsImhlYWRlcnMiLCJyZXNwb25zZSIsInN0YXR1cyIsIndpbmRvdyIsImxvY2F0aW9uIiwicmVsb2FkIiwiaGFuZGxlQWN0aW9uQ2xpY2siLCJpdGVtIiwic2FtcGxpbmdfaWQiLCJERUxFVEVfU0FNUExJTkdfT1AiLCJMQUJfUkVTVUxUX09QIiwiaW5jbHVkZXMiLCJ1cmxQcmVmaXgiLCJvcCIsIlNQRUNJQUxfTUVOVV9JRF9UT19PUCIsInNhbXBsaW5nc1BhZ2UiLCJyb3V0ZSIsInNhbXBsaW5nUHJvcGVydGllc1JvdXRlIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFD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LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBEcm9wRG93bkl0ZW1UeXBlIH0gZnJvbSAnc3JjL3VpLWtpdC9Ecm9wRG93bi9Ecm9wRG93bkl0ZW0nO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICdzcmMvdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IGdldFNhbXBsaW5nQnlJZCB9IGZyb20gJ3NyYy9zdG9yZS9zYW1wbGluZ3MvYWN0aW9uc0NyZWF0b3InO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJ3NyYy91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VJbml0aWFsaXplSGVhZGVycyB9IGZyb20gJ3NyYy9ob29rcy91c2VJbml0aWFsaXplSGVhZGVycyc7XG5cbmltcG9ydCB7XG4gIENBTkNFTF9TQU1QTElOR19PUCxcbiAgQ09MTEVDVF9TQU1QTElOR19PUCxcbiAgREVMRVRFX1NBTVBMSU5HX09QLFxuICBFRElUX1BST1BFUlRJRVNfT1AsXG4gIFJFVkVSVF9DQU5DRUxMQVRJT04sXG4gIFNQRUNJQUxfTUVOVV9JRF9UT19PUCxcbiAgU2FtcGxpbmdEYXRhLFxuICBMQUJfUkVTVUxUX09QLFxufSBmcm9tICcuLi9zYW1wbGluZ3NQYWdlVXRpbHMnO1xuXG5pbXBvcnQgU2FtcGxpbmdBY3Rpb25zIGZyb20gJy4vU2FtcGxpbmdBY3Rpb25zJztcblxudHlwZSBTYW1wbGluZ0FjdGlvbkRyb3Bkb3duUHJvcHMgPSB7XG4gIHNhbXBsaW5nPzogU2FtcGxpbmdEYXRhO1xuICB3YXRlckF1dGhvcml0eUlkOiBzdHJpbmc7XG4gIHNob3dMYWJSZXN1bHQ6IEZ1bmN0aW9uO1xuICBkcm9wZG93blRvZ2dsZTogUmVhY3QuUmVhY3ROb2RlO1xufTtcblxuY29uc3QgU2FtcGxpbmdBY3Rpb25Db250YWluZXI6IEZDPFNhbXBsaW5nQWN0aW9uRHJvcGRvd25Qcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBzYW1wbGluZywgd2F0ZXJBdXRob3JpdHlJZCwgc2hvd0xhYlJlc3VsdCwgZHJvcGRvd25Ub2dnbGUgfSA9IHByb3BzO1xuICBjb25zdCBhbGxvd2VkX2FjdGlvbnMgPSBbXG4gICAgQ09MTEVDVF9TQU1QTElOR19PUCxcbiAgICBDQU5DRUxfU0FNUExJTkdfT1AsXG4gICAgRURJVF9QUk9QRVJUSUVTX09QLFxuICAgIFJFVkVSVF9DQU5DRUxMQVRJT04sXG4gIF07XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIHVzZUluaXRpYWxpemVIZWFkZXJzKCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2Q29udGV4dCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLm5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dCxcbiAgKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlOYW1lID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICk7XG4gIGNvbnN0IFtzaG93Q29uZmlybSwgc2V0U2hvd0NvbmZpcm1dID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKGBPcGVuIHdlYiBhY3Rpb25gLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBkZWxldGVTYW1wbGluZyA9IGFzeW5jIChzYW1wbGluZzogU2FtcGxpbmdEYXRhKSA9PiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGNzcmZUb2tlbiA9IGRvY3VtZW50XG4gICAgICAucXVlcnlTZWxlY3RvcignbWV0YVtuYW1lPVwiY3NyZi10b2tlblwiXScpXG4gICAgICAuZ2V0QXR0cmlidXRlKCdjb250ZW50Jyk7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5kZWxldGUoXG4gICAgICB1cmxzKHtcbiAgICAgICAgc2FtcGxpbmdJZDogc2FtcGxpbmcuaWQsXG4gICAgICAgIGxvY2FsZTogbmF2Q29udGV4dC5sb2NhbGUsXG4gICAgICAgIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgICB9KS5zYW1wbGluZ1Byb3BlcnRpZXMuZGVsZXRlU2FtcGxpbmcudXJsLFxuICAgICAgeyBoZWFkZXJzOiB7ICdYLUNTUkYtVE9LRU4nOiBjc3JmVG9rZW4gfSB9LFxuICAgICk7XG5cbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDApIHtcbiAgICAgIC8vIFJlZnJlc2ggdGhlIHNhbXBsaW5ncyBoYWNrXG4gICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUFjdGlvbkNsaWNrID1cbiAgICAoc2FtcGxpbmc6IFNhbXBsaW5nRGF0YSkgPT4gYXN5bmMgKGl0ZW06IERyb3BEb3duSXRlbVR5cGUpID0+IHtcbiAgICAgIGFuYWx5dGljc1RyYWNrKGBTYW1wbGluZyBPcGVyYXRpb24gYWN0aW9uIG1lbnUgLSBDbGlja2VkICR7aXRlbS5pZH1gLCB7XG4gICAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgICAgICBzYW1wbGluZ19pZDogc2FtcGxpbmcuaWQsXG4gICAgICB9KTtcbiAgICAgIGlmIChpdGVtLmlkID09PSBERUxFVEVfU0FNUExJTkdfT1ApIHtcbiAgICAgICAgc2V0U2hvd0NvbmZpcm0odHJ1ZSk7XG4gICAgICB9IGVsc2UgaWYgKGl0ZW0uaWQgPT09IExBQl9SRVNVTFRfT1ApIHtcbiAgICAgICAgc2hvd0xhYlJlc3VsdCgpO1xuICAgICAgfSBlbHNlIGlmICghYWxsb3dlZF9hY3Rpb25zLmluY2x1ZGVzKGl0ZW0uaWQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpc3BhdGNoKGdldFNhbXBsaW5nQnlJZChzYW1wbGluZy5pZCkpO1xuICAgICAgICBjb25zdCB1cmxQcmVmaXggPSB1cmxzKHtcbiAgICAgICAgICBpZDogc2FtcGxpbmcuaWQsXG4gICAgICAgICAgbG9jYWxlOiBuYXZDb250ZXh0LmxvY2FsZSxcbiAgICAgICAgICB3YXRlckF1dGhvcml0eUlkOiB3YXRlckF1dGhvcml0eUlkLFxuICAgICAgICAgIG9wOiBTUEVDSUFMX01FTlVfSURfVE9fT1BbaXRlbS5pZF0gfHwgaXRlbS5pZCxcbiAgICAgICAgfSkuc2FtcGxpbmdzUGFnZTtcbiAgICAgICAgY29uc3Qgcm91dGUgPSB1cmxQcmVmaXguc2FtcGxpbmdQcm9wZXJ0aWVzUm91dGU7XG4gICAgICAgIGhpc3RvcnkucHVzaChyb3V0ZS51cmwpO1xuICAgICAgfVxuICAgIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U2FtcGxpbmdBY3Rpb25zXG4gICAgICBzYW1wbGluZz17c2FtcGxpbmd9XG4gICAgICBzaG93Q29uZmlybT17c2hvd0NvbmZpcm19XG4gICAgICBzZXRTaG93Q29uZmlybT17c2V0U2hvd0NvbmZpcm19XG4gICAgICBkZWxldGVTYW1wbGluZz17ZGVsZXRlU2FtcGxpbmd9XG4gICAgICBoYW5kbGVBY3Rpb25DbGljaz17aGFuZGxlQWN0aW9uQ2xpY2t9XG4gICAgICBoYW5kbGVDbGljaz17aGFuZGxlQ2xpY2t9XG4gICAgICBkcm9wZG93blRvZ2dsZT17ZHJvcGRvd25Ub2dnbGV9XG4gICAgLz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNhbXBsaW5nQWN0aW9uQ29udGFpbmVyO1xuIl19
185
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL0FjdGlvbnNEcm9wRG93bi9TYW1wbGluZ0FjdGlvbkNvbnRhaW5lci50c3giXSwibmFtZXMiOlsiU2FtcGxpbmdBY3Rpb25Db250YWluZXIiLCJwcm9wcyIsInNhbXBsaW5nIiwid2F0ZXJBdXRob3JpdHlJZCIsInNob3dMYWJSZXN1bHQiLCJkcm9wZG93blRvZ2dsZSIsImFsbG93ZWRfYWN0aW9ucyIsIkNPTExFQ1RfU0FNUExJTkdfT1AiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJFRElUX1BST1BFUlRJRVNfT1AiLCJSRVZFUlRfQ0FOQ0VMTEFUSU9OIiwiaGlzdG9yeSIsImRpc3BhdGNoIiwibmF2Q29udGV4dCIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsImdsb2JhbF9kYXRhIiwic2hvd0NvbmZpcm0iLCJzZXRTaG93Q29uZmlybSIsImhhbmRsZUNsaWNrIiwidXRpbGl0eV9uYW1lIiwiZGVsZXRlU2FtcGxpbmciLCJjc3JmVG9rZW4iLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJnZXRBdHRyaWJ1dGUiLCJheGlvcyIsImRlbGV0ZSIsInNhbXBsaW5nSWQiLCJpZCIsImxvY2FsZSIsInNhbXBsaW5nUHJvcGVydGllcyIsInVybCIsImhlYWRlcnMiLCJyZXNwb25zZSIsInN0YXR1cyIsIndpbmRvdyIsImxvY2F0aW9uIiwicmVsb2FkIiwiaGFuZGxlQWN0aW9uQ2xpY2siLCJpdGVtIiwic2FtcGxpbmdfaWQiLCJERUxFVEVfU0FNUExJTkdfT1AiLCJMQUJfUkVTVUxUX09QIiwiaW5jbHVkZXMiLCJ1cmxQcmVmaXgiLCJvcCIsIlNQRUNJQUxfTUVOVV9JRF9UT19PUCIsInNhbXBsaW5nc1BhZ2UiLCJyb3V0ZSIsInNhbXBsaW5nUHJvcGVydGllc1JvdXRlIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFD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fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgRHJvcERvd25JdGVtVHlwZSB9IGZyb20gJ3NyYy91aS1raXQvRHJvcERvd24vRHJvcERvd25JdGVtJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBnZXRTYW1wbGluZ0J5SWQgfSBmcm9tICdzcmMvc3RvcmUvc2FtcGxpbmdzL2FjdGlvbnNDcmVhdG9yJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3VybHMnO1xuXG5pbXBvcnQge1xuICBDQU5DRUxfU0FNUExJTkdfT1AsXG4gIENPTExFQ1RfU0FNUExJTkdfT1AsXG4gIERFTEVURV9TQU1QTElOR19PUCxcbiAgRURJVF9QUk9QRVJUSUVTX09QLFxuICBSRVZFUlRfQ0FOQ0VMTEFUSU9OLFxuICBTUEVDSUFMX01FTlVfSURfVE9fT1AsXG4gIFNhbXBsaW5nRGF0YSxcbiAgTEFCX1JFU1VMVF9PUCxcbn0gZnJvbSAnLi4vc2FtcGxpbmdzUGFnZVV0aWxzJztcblxuaW1wb3J0IFNhbXBsaW5nQWN0aW9ucyBmcm9tICcuL1NhbXBsaW5nQWN0aW9ucyc7XG5cbnR5cGUgU2FtcGxpbmdBY3Rpb25Ecm9wZG93blByb3BzID0ge1xuICBzYW1wbGluZz86IFNhbXBsaW5nRGF0YTtcbiAgd2F0ZXJBdXRob3JpdHlJZDogc3RyaW5nO1xuICBzaG93TGFiUmVzdWx0OiBGdW5jdGlvbjtcbiAgZHJvcGRvd25Ub2dnbGU6IFJlYWN0LlJlYWN0Tm9kZTtcbn07XG5cbmNvbnN0IFNhbXBsaW5nQWN0aW9uQ29udGFpbmVyOiBGQzxTYW1wbGluZ0FjdGlvbkRyb3Bkb3duUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgc2FtcGxpbmcsIHdhdGVyQXV0aG9yaXR5SWQsIHNob3dMYWJSZXN1bHQsIGRyb3Bkb3duVG9nZ2xlIH0gPSBwcm9wcztcbiAgY29uc3QgYWxsb3dlZF9hY3Rpb25zID0gW1xuICAgIENPTExFQ1RfU0FNUExJTkdfT1AsXG4gICAgQ0FOQ0VMX1NBTVBMSU5HX09QLFxuICAgIEVESVRfUFJPUEVSVElFU19PUCxcbiAgICBSRVZFUlRfQ0FOQ0VMTEFUSU9OLFxuICBdO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5TmFtZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICApO1xuICBjb25zdCBbc2hvd0NvbmZpcm0sIHNldFNob3dDb25maXJtXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBoYW5kbGVDbGljayA9ICgpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjayhgT3BlbiB3ZWIgYWN0aW9uYCwge1xuICAgICAgdXRpbGl0eV9uYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgZGVsZXRlU2FtcGxpbmcgPSBhc3luYyAoc2FtcGxpbmc6IFNhbXBsaW5nRGF0YSkgPT4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBjc3JmVG9rZW4gPSBkb2N1bWVudFxuICAgICAgLnF1ZXJ5U2VsZWN0b3IoJ21ldGFbbmFtZT1cImNzcmYtdG9rZW5cIl0nKVxuICAgICAgLmdldEF0dHJpYnV0ZSgnY29udGVudCcpO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MuZGVsZXRlKFxuICAgICAgdXJscyh7XG4gICAgICAgIHNhbXBsaW5nSWQ6IHNhbXBsaW5nLmlkLFxuICAgICAgICBsb2NhbGU6IG5hdkNvbnRleHQubG9jYWxlLFxuICAgICAgICB3YXRlckF1dGhvcml0eUlkOiB3YXRlckF1dGhvcml0eUlkLFxuICAgICAgfSkuc2FtcGxpbmdQcm9wZXJ0aWVzLmRlbGV0ZVNhbXBsaW5nLnVybCxcbiAgICAgIHsgaGVhZGVyczogeyAnWC1DU1JGLVRPS0VOJzogY3NyZlRva2VuIH0gfSxcbiAgICApO1xuXG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAvLyBSZWZyZXNoIHRoZSBzYW1wbGluZ3MgaGFja1xuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVBY3Rpb25DbGljayA9XG4gICAgKHNhbXBsaW5nOiBTYW1wbGluZ0RhdGEpID0+IGFzeW5jIChpdGVtOiBEcm9wRG93bkl0ZW1UeXBlKSA9PiB7XG4gICAgICBhbmFseXRpY3NUcmFjayhgU2FtcGxpbmcgT3BlcmF0aW9uIGFjdGlvbiBtZW51IC0gQ2xpY2tlZCAke2l0ZW0uaWR9YCwge1xuICAgICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICAgICAgc2FtcGxpbmdfaWQ6IHNhbXBsaW5nLmlkLFxuICAgICAgfSk7XG4gICAgICBpZiAoaXRlbS5pZCA9PT0gREVMRVRFX1NBTVBMSU5HX09QKSB7XG4gICAgICAgIHNldFNob3dDb25maXJtKHRydWUpO1xuICAgICAgfSBlbHNlIGlmIChpdGVtLmlkID09PSBMQUJfUkVTVUxUX09QKSB7XG4gICAgICAgIHNob3dMYWJSZXN1bHQoKTtcbiAgICAgIH0gZWxzZSBpZiAoIWFsbG93ZWRfYWN0aW9ucy5pbmNsdWRlcyhpdGVtLmlkKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkaXNwYXRjaChnZXRTYW1wbGluZ0J5SWQoc2FtcGxpbmcuaWQpKTtcbiAgICAgICAgY29uc3QgdXJsUHJlZml4ID0gdXJscyh7XG4gICAgICAgICAgaWQ6IHNhbXBsaW5nLmlkLFxuICAgICAgICAgIGxvY2FsZTogbmF2Q29udGV4dC5sb2NhbGUsXG4gICAgICAgICAgd2F0ZXJBdXRob3JpdHlJZDogd2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgICAgICBvcDogU1BFQ0lBTF9NRU5VX0lEX1RPX09QW2l0ZW0uaWRdIHx8IGl0ZW0uaWQsXG4gICAgICAgIH0pLnNhbXBsaW5nc1BhZ2U7XG4gICAgICAgIGNvbnN0IHJvdXRlID0gdXJsUHJlZml4LnNhbXBsaW5nUHJvcGVydGllc1JvdXRlO1xuICAgICAgICBoaXN0b3J5LnB1c2gocm91dGUudXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFNhbXBsaW5nQWN0aW9uc1xuICAgICAgc2FtcGxpbmc9e3NhbXBsaW5nfVxuICAgICAgc2hvd0NvbmZpcm09e3Nob3dDb25maXJtfVxuICAgICAgc2V0U2hvd0NvbmZpcm09e3NldFNob3dDb25maXJtfVxuICAgICAgZGVsZXRlU2FtcGxpbmc9e2RlbGV0ZVNhbXBsaW5nfVxuICAgICAgaGFuZGxlQWN0aW9uQ2xpY2s9e2hhbmRsZUFjdGlvbkNsaWNrfVxuICAgICAgaGFuZGxlQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgZHJvcGRvd25Ub2dnbGU9e2Ryb3Bkb3duVG9nZ2xlfVxuICAgIC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTYW1wbGluZ0FjdGlvbkNvbnRhaW5lcjtcbiJdfQ==
@@ -27,7 +27,7 @@ var ImagePreviewModal = function ImagePreviewModal(_ref) {
27
27
  }, _reactDeviceDetect.isMobile && /*#__PURE__*/_react.default.createElement(CloseButtonStyle, null, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
28
28
  icon: _freeSolidSvgIcons.faTimes
29
29
  })), imgUrl && /*#__PURE__*/_react.default.createElement(ImageStyle, {
30
- alt: "sampling-preview",
30
+ alt: "manhole-preview",
31
31
  src: imgUrl
32
32
  }));
33
33
  };
@@ -67,4 +67,4 @@ var CloseButtonStyle = _styledComponents.default.div.withConfig({
67
67
 
68
68
  var _default = ImagePreviewModal;
69
69
  exports.default = _default;
70
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9JbWFnZVByZXZpZXdNb2RhbC50c3giXSwibmFtZXMiOlsiSW1hZ2VQcmV2aWV3TW9kYWwiLCJpbWdVcmwiLCJoYW5kbGVDbG9zZU1vZGFsIiwiaXNNb2JpbGUiLCJmYVRpbWVzIiwiT3ZlcmxheVN0eWxlIiwic3R5bGVkIiwiZGl2IiwidGhlbWUiLCJzYW1wbGluZ3NQYWdlIiwibW9iaWxlIiwibW9kYWxPdmVybGF5QmFja2dyb3VuZCIsInpJbmRleGVzIiwibW9kYWwiLCJJbWFnZVN0eWxlIiwiaW1nIiwiQ2xvc2VCdXR0b25TdHlsZSIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm4xMDAiLCJuMSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFPQSxJQUFNQSxpQkFBNkMsR0FBRyxTQUFoREEsaUJBQWdELE9BR2hEO0FBQUEsTUFGSkMsTUFFSSxRQUZKQSxNQUVJO0FBQUEsTUFESkMsZ0JBQ0ksUUFESkEsZ0JBQ0k7QUFDSixzQkFDRSw2QkFBQyxZQUFEO0FBQWMsSUFBQSxPQUFPLEVBQUU7QUFBQSxhQUFNQSxnQkFBZ0IsQ0FBQyxLQUFELENBQXRCO0FBQUE7QUFBdkIsS0FDR0MsNENBQ0MsNkJBQUMsZ0JBQUQscUJBQ0UsNkJBQUMsaUNBQUQ7QUFBaUIsSUFBQSxJQUFJLEVBQUVDO0FBQXZCLElBREYsQ0FGSixFQU1HSCxNQUFNLGlCQUFJLDZCQUFDLFVBQUQ7QUFBWSxJQUFBLEdBQUcsRUFBQyxrQkFBaEI7QUFBbUMsSUFBQSxHQUFHLEVBQUVBO0FBQXhDLElBTmIsQ0FERjtBQVVELENBZEQ7O0FBZ0JBLElBQU1JLFlBQVksR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsK0pBQ0k7QUFBQSxNQUFHQyxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUNsQkEsS0FBSyxDQUFDQyxhQUFOLENBQW9CQyxNQUFwQixDQUEyQkMsc0JBRFQ7QUFBQSxDQURKLEVBUUw7QUFBQSxNQUFHSCxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNJLFFBQU4sQ0FBZUMsS0FBOUI7QUFBQSxDQVJLLENBQWxCOztBQWFBLElBQU1DLFVBQVUsR0FBR1IsMEJBQU9TLEdBQVY7QUFBQTtBQUFBO0FBQUEsK0RBQ0g7QUFBQSxNQUFHUCxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNJLFFBQU4sQ0FBZUMsS0FBOUI7QUFBQSxDQURHLENBQWhCOztBQU9BLElBQU1HLGdCQUFnQixHQUFHViwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSxxTkFNTjtBQUFBLE1BQUdDLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ1MsV0FBTixDQUFrQkMsT0FBbEIsQ0FBMEJDLElBQXpDO0FBQUEsQ0FOTSxFQU9YO0FBQUEsTUFBR1gsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDUyxXQUFOLENBQWtCQyxPQUFsQixDQUEwQkUsRUFBekM7QUFBQSxDQVBXLEVBUUE7QUFBQSxNQUFHWixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNTLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCQyxJQUF6QztBQUFBLENBUkEsQ0FBdEI7O2VBZ0JlbkIsaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAncmVhY3QtZGV2aWNlLWRldGVjdCc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFUaW1lcyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5cbnR5cGUgSW1hZ2VQcmV2aWV3TW9kYWxQcm9wcyA9IHtcbiAgaW1nVXJsPzogc3RyaW5nO1xuICBoYW5kbGVDbG9zZU1vZGFsOiAoaXNPcGVuOiBib29sZWFuKSA9PiB2b2lkO1xufTtcblxuY29uc3QgSW1hZ2VQcmV2aWV3TW9kYWw6IEZDPEltYWdlUHJldmlld01vZGFsUHJvcHM+ID0gKHtcbiAgaW1nVXJsLFxuICBoYW5kbGVDbG9zZU1vZGFsLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxPdmVybGF5U3R5bGUgb25DbGljaz17KCkgPT4gaGFuZGxlQ2xvc2VNb2RhbChmYWxzZSl9PlxuICAgICAge2lzTW9iaWxlICYmIChcbiAgICAgICAgPENsb3NlQnV0dG9uU3R5bGU+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVRpbWVzfSAvPlxuICAgICAgICA8L0Nsb3NlQnV0dG9uU3R5bGU+XG4gICAgICApfVxuICAgICAge2ltZ1VybCAmJiA8SW1hZ2VTdHlsZSBhbHQ9XCJzYW1wbGluZy1wcmV2aWV3XCIgc3JjPXtpbWdVcmx9IC8+fVxuICAgIDwvT3ZlcmxheVN0eWxlPlxuICApO1xufTtcblxuY29uc3QgT3ZlcmxheVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgIHRoZW1lLnNhbXBsaW5nc1BhZ2UubW9iaWxlLm1vZGFsT3ZlcmxheUJhY2tncm91bmR9O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcbmNvbnN0IEltYWdlU3R5bGUgPSBzdHlsZWQuaW1nYFxuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbiAgZmxleDogMCAxIGF1dG87XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgQ2xvc2VCdXR0b25TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTAwfTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX07XG4gIGJvcmRlcjogMnB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgcGFkZGluZy10b3A6IDNweDtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDEwcHg7XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBJbWFnZVByZXZpZXdNb2RhbDtcbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9JbWFnZVByZXZpZXdNb2RhbC50c3giXSwibmFtZXMiOlsiSW1hZ2VQcmV2aWV3TW9kYWwiLCJpbWdVcmwiLCJoYW5kbGVDbG9zZU1vZGFsIiwiaXNNb2JpbGUiLCJmYVRpbWVzIiwiT3ZlcmxheVN0eWxlIiwic3R5bGVkIiwiZGl2IiwidGhlbWUiLCJzYW1wbGluZ3NQYWdlIiwibW9iaWxlIiwibW9kYWxPdmVybGF5QmFja2dyb3VuZCIsInpJbmRleGVzIiwibW9kYWwiLCJJbWFnZVN0eWxlIiwiaW1nIiwiQ2xvc2VCdXR0b25TdHlsZSIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm4xMDAiLCJuMSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFPQSxJQUFNQSxpQkFBNkMsR0FBRyxTQUFoREEsaUJBQWdELE9BR2hEO0FBQUEsTUFGSkMsTUFFSSxRQUZKQSxNQUVJO0FBQUEsTUFESkMsZ0JBQ0ksUUFESkEsZ0JBQ0k7QUFDSixzQkFDRSw2QkFBQyxZQUFEO0FBQWMsSUFBQSxPQUFPLEVBQUU7QUFBQSxhQUFNQSxnQkFBZ0IsQ0FBQyxLQUFELENBQXRCO0FBQUE7QUFBdkIsS0FDR0MsNENBQ0MsNkJBQUMsZ0JBQUQscUJBQ0UsNkJBQUMsaUNBQUQ7QUFBaUIsSUFBQSxJQUFJLEVBQUVDO0FBQXZCLElBREYsQ0FGSixFQU1HSCxNQUFNLGlCQUFJLDZCQUFDLFVBQUQ7QUFBWSxJQUFBLEdBQUcsRUFBQyxpQkFBaEI7QUFBa0MsSUFBQSxHQUFHLEVBQUVBO0FBQXZDLElBTmIsQ0FERjtBQVVELENBZEQ7O0FBZ0JBLElBQU1JLFlBQVksR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsK0pBQ0k7QUFBQSxNQUFHQyxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUNsQkEsS0FBSyxDQUFDQyxhQUFOLENBQW9CQyxNQUFwQixDQUEyQkMsc0JBRFQ7QUFBQSxDQURKLEVBUUw7QUFBQSxNQUFHSCxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNJLFFBQU4sQ0FBZUMsS0FBOUI7QUFBQSxDQVJLLENBQWxCOztBQWFBLElBQU1DLFVBQVUsR0FBR1IsMEJBQU9TLEdBQVY7QUFBQTtBQUFBO0FBQUEsK0RBQ0g7QUFBQSxNQUFHUCxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNJLFFBQU4sQ0FBZUMsS0FBOUI7QUFBQSxDQURHLENBQWhCOztBQU9BLElBQU1HLGdCQUFnQixHQUFHViwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSxxTkFNTjtBQUFBLE1BQUdDLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ1MsV0FBTixDQUFrQkMsT0FBbEIsQ0FBMEJDLElBQXpDO0FBQUEsQ0FOTSxFQU9YO0FBQUEsTUFBR1gsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDUyxXQUFOLENBQWtCQyxPQUFsQixDQUEwQkUsRUFBekM7QUFBQSxDQVBXLEVBUUE7QUFBQSxNQUFHWixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNTLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCQyxJQUF6QztBQUFBLENBUkEsQ0FBdEI7O2VBZ0JlbkIsaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAncmVhY3QtZGV2aWNlLWRldGVjdCc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFUaW1lcyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5cbnR5cGUgSW1hZ2VQcmV2aWV3TW9kYWxQcm9wcyA9IHtcbiAgaW1nVXJsPzogc3RyaW5nO1xuICBoYW5kbGVDbG9zZU1vZGFsOiAoaXNPcGVuOiBib29sZWFuKSA9PiB2b2lkO1xufTtcblxuY29uc3QgSW1hZ2VQcmV2aWV3TW9kYWw6IEZDPEltYWdlUHJldmlld01vZGFsUHJvcHM+ID0gKHtcbiAgaW1nVXJsLFxuICBoYW5kbGVDbG9zZU1vZGFsLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxPdmVybGF5U3R5bGUgb25DbGljaz17KCkgPT4gaGFuZGxlQ2xvc2VNb2RhbChmYWxzZSl9PlxuICAgICAge2lzTW9iaWxlICYmIChcbiAgICAgICAgPENsb3NlQnV0dG9uU3R5bGU+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVRpbWVzfSAvPlxuICAgICAgICA8L0Nsb3NlQnV0dG9uU3R5bGU+XG4gICAgICApfVxuICAgICAge2ltZ1VybCAmJiA8SW1hZ2VTdHlsZSBhbHQ9XCJtYW5ob2xlLXByZXZpZXdcIiBzcmM9e2ltZ1VybH0gLz59XG4gICAgPC9PdmVybGF5U3R5bGU+XG4gICk7XG59O1xuXG5jb25zdCBPdmVybGF5U3R5bGUgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+XG4gICAgdGhlbWUuc2FtcGxpbmdzUGFnZS5tb2JpbGUubW9kYWxPdmVybGF5QmFja2dyb3VuZH07XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuY29uc3QgSW1hZ2VTdHlsZSA9IHN0eWxlZC5pbWdgXG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBDbG9zZUJ1dHRvblN0eWxlID0gc3R5bGVkLmRpdmBcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xMDB9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xfTtcbiAgYm9yZGVyOiAycHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xMDB9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogM3B4O1xuICBtYXJnaW4taW5saW5lLWVuZDogMTBweDtcbmA7XG5cbmV4cG9ydCBkZWZhdWx0IEltYWdlUHJldmlld01vZGFsO1xuIl19