@kando-env/kando-ui 1.2.301 → 1.2.303-alpha.0

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 (39) hide show
  1. package/lib/Widgets/Map/Map.js +10 -4
  2. package/lib/Widgets/Map/MapUtils.js +6 -4
  3. package/lib/Widgets/Map/areas/AreaPolygon.js +12 -22
  4. package/lib/Widgets/Map/areas/AreaPolygons.js +8 -3
  5. package/lib/Widgets/Map/areas/AreaUtils.js +35 -16
  6. package/lib/Widgets/Map/areas/Patterns.js +28 -0
  7. package/lib/Widgets/Map/events/EventUtils.js +7 -7
  8. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +5 -2
  9. package/lib/Widgets/Map/events/PointOfEvent.js +6 -2
  10. package/lib/Widgets/Map/points/PointUtils.js +20 -4
  11. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +11 -14
  12. package/lib/hooks/useMap.js +2 -2
  13. package/lib/i18n/en.json +5 -3
  14. package/lib/i18n/he.json +5 -4
  15. package/lib/index.js +1 -1
  16. package/lib/macros/getVersion.js +2 -2
  17. package/lib/pages/DashboardMap/AreaCard.js +31 -24
  18. package/lib/pages/DashboardMap/FactoryCard.js +32 -12
  19. package/lib/pages/DashboardMap/List.js +2 -2
  20. package/lib/pages/DashboardMap/SeverityBadge.js +43 -0
  21. package/lib/pages/DashboardMap/WWTPMap.js +6 -5
  22. package/lib/pages/DashboardMap/Widget.js +12 -24
  23. package/lib/pages/DashboardMap/svgs/icon_assessment.svg +22 -0
  24. package/lib/pages/DashboardMap/svgs/icon_monitored.svg +4 -0
  25. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +2 -2
  26. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterConsumptionPerDay.js +2 -2
  27. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +27 -0
  28. package/lib/pages/ProfilePage/ProfilePage.js +6 -3
  29. package/lib/pages/WbeDashboard/WbeDashboardPage.js +7 -4
  30. package/lib/pages/WwtpPage/DashboardCard.js +6 -5
  31. package/lib/pages/WwtpPage/DischargePatternCard.js +1 -1
  32. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +2 -2
  33. package/lib/pages/WwtpPage/TrendCard.js +2 -2
  34. package/lib/store/events/models/IEvent.js +1 -1
  35. package/lib/store/points/models/IPoint.js +1 -1
  36. package/lib/styles/theme/theme.js +4 -2
  37. package/lib/ui-kit/ContentCard/ContentCard.js +9 -4
  38. package/lib/utilities/scoreToData.js +4 -4
  39. package/package.json +6 -5
@@ -74,8 +74,11 @@ var ProfilePage = function ProfilePage() {
74
74
  label: 'Italiano'
75
75
  }];
76
76
  var flowRateUnitOptions = [{
77
- value: 'mgd',
78
- label: _i18n.default.t('dashboard_v2.profile.flow_rate_unit_options.mgd')
77
+ value: 'gd_us',
78
+ label: _i18n.default.t('dashboard_v2.profile.flow_rate_unit_options.gd_us')
79
+ }, {
80
+ value: 'gd_uk',
81
+ label: _i18n.default.t('dashboard_v2.profile.flow_rate_unit_options.gd_uk')
79
82
  }, {
80
83
  value: 'm3d',
81
84
  label: _i18n.default.t('dashboard_v2.profile.flow_rate_unit_options.m3d')
@@ -596,4 +599,4 @@ var ProfilePage = function ProfilePage() {
596
599
  }));
597
600
  };
598
601
  exports.ProfilePage = ProfilePage;
599
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfU2VsZWN0IiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Bhc3N3b3JkTW9kYWwiLCJfcGVuIiwiX2NhbmNlbCIsIl9yZWFjdFBob25lSW5wdXQiLCJfVGVsZWdyYW1Nb2RhbCIsIl9heGlvcyIsIl9Db250YWluZXIiLCJfbW9tZW50VGltZXpvbmUiLCJfQW5hbHl0aWNzIiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RUb2FzdGlmeSIsIl9wZXJtaXNzaW9uc1NsaWNlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJQcm9maWxlUGFnZSIsInRpbWV6b25lc0FycmF5IiwibW9tZW50IiwidHoiLCJuYW1lcyIsImRhdGVUaW1lRm9ybWF0T3B0aW9ucyIsInZhbHVlIiwibGFiZWwiLCJmb3JtYXQiLCJtb250aCIsImRheSIsInllYXIiLCJob3VyIiwibWludXRlIiwiaG91cjEyIiwidGltZXpvbmVzIiwibWFwIiwidCIsImxvY2FsZU9wdGlvbnMiLCJmbG93UmF0ZVVuaXRPcHRpb25zIiwiaTE4biIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImxvY2FsZSIsInNldExvY2FsZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZmxvd1JhdGVVbml0Iiwic2V0Rmxvd1JhdGVVbml0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJkYXRlVGltZUZvcm1hdCIsInNldERhdGVUaW1lRm9ybWF0IiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJ0aW1lem9uZSIsInNldFRpbWV6b25lIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwiZGVwYXJ0bWVudHMiLCJzZXREZXBhcnRtZW50cyIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJidXNpbmVzc1JvbGVzIiwic2V0QnVzaW5lc3NSb2xlcyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJkZXBhcnRtZW50Iiwic2V0RGVwYXJ0bWVudCIsIl91c2VTdGF0ZTE1IiwiX3VzZVN0YXRlMTYiLCJidXNpbmVzc1JvbGUiLCJzZXRCdXNpbmVzc1JvbGUiLCJpbml0aWFsUGFyYW1zU3RhdGUiLCJmaXJzdF9uYW1lIiwibGFzdF9uYW1lIiwicGhvbmUiLCJlbWFpbCIsInRpbWVfem9uZSIsImRhdGVfdGltZV9mb3JtYXQiLCJ0ZWxlZ3JhbV9uYW1lIiwib3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lIiwib3RoZXJfZGVwYXJ0bWVudF9uYW1lIiwiYnVzaW5lc3Nfcm9sZSIsImZsb3dfcmF0ZV91bml0IiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsImlzVGVsZWdyYW1PcGVuIiwic2V0SXNUZWxlZ3JhbU9wZW4iLCJfdXNlU3RhdGUxOSIsIl91c2VTdGF0ZTIwIiwic2hvd1Bhc3N3b3JkTW9kYWwiLCJzZXRTaG93UGFzc3dvcmRNb2RhbCIsIl91c2VTdGF0ZTIxIiwiX3VzZVN0YXRlMjIiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsIl91c2VTdGF0ZTIzIiwiX3VzZVN0YXRlMjQiLCJzaG93U3VjY2Vzc01lc3NhZ2UiLCJzZXRTaG93U3VjY2Vzc01lc3NhZ2UiLCJfdXNlU3RhdGUyNSIsIl91c2VTdGF0ZTI2Iiwic2hvd0Vycm9yTWVzc2FnZSIsInNldFNob3dFcnJvck1lc3NhZ2UiLCJfdXNlU3RhdGUyNyIsInNob3ciLCJzdGF0dXMiLCJtZXNzYWdlIiwiX3VzZVN0YXRlMjgiLCJzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJfdXNlU3RhdGUyOSIsIl91c2VTdGF0ZTMwIiwicGFyYW1zIiwic2V0UGFyYW1zIiwiaGFuZGxlT25DaGFuZ2UiLCJlIiwic3RhcnRzV2l0aCIsInJlcGxhY2UiLCJwcmV2U3RhdGUiLCJfb2JqZWN0U3ByZWFkMyIsIl9lJHRhcmdldCIsInRhcmdldCIsIm5hbWUiLCJfZGVmaW5lUHJvcGVydHkyIiwiaGFuZGxlQnVzaW5lc3NSb2xlQ2hhbmdlIiwiaGFuZGxlRGVwYXJ0bWVudENoYW5nZSIsImdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzIiwiZGVwYXJ0bWVudF9pZCIsInVuZGVmaW5lZCIsImJ1c2luZXNzX3JvbGVfaWQiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJzaG93VG9hc3QiLCJkYXRhIiwidXNlcm5hbWUiLCJlcnJvciIsInRvYXN0Iiwic3VjY2VzcyIsImNvbmNhdCIsInBvc2l0aW9uIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImhhbmRsZVN1Ym1pdCIsInByZXZlbnREZWZhdWx0IiwiYXhpb3MiLCJwdXQiLCJ1c2VyIiwidGhlbiIsInJlc3AiLCJlcnJvcnMiLCJQZXJtaXNzaW9uc1NsaWNlIiwiYWN0aW9ucyIsInNldFVzZXJJbmZvIiwiSlNPTiIsInBhcnNlIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInAiLCJpbm5lckhUTUwiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJmaW5kTG9jYWxlIiwiZmluZCIsImZpbmRGbG93UmF0ZVVuaXQiLCJmaW5kRGF0ZVRpbWVGb3JtYXQiLCJmaW5kVGltZXpvbmUiLCJzZXRUaW1lb3V0IiwiZmluZEVsZW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwicGFyZW50IiwiY2xvc2VzdCIsImZpbmRJbnB1dCIsImFkZCIsImNhdGNoIiwidXNlRWZmZWN0IiwiYW5hbHl0aWNzVHJhY2siLCJ1dGlsaXR5X25hbWUiLCJ0b2tlbiIsImNvbnRlbnQiLCJkZWZhdWx0cyIsImhlYWRlcnMiLCJjb21tb24iLCJmaW5kUHJvcGVydHkiLCJvYmplY3QiLCJwcm9wZXJ0eSIsImJ1c2luZXNzX3JvbGVzIiwiYWxlcnQiLCJjcmVhdGVFbGVtZW50IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwiYWN0aW9uIiwib25TdWJtaXQiLCJ0eXBlIiwib25DaGFuZ2UiLCJyZWFkT25seSIsImNvdW50cnkiLCJsb2NhbGl6YXRpb24iLCJpbnB1dENsYXNzIiwiY29udGFpbmVyQ2xhc3MiLCJidXR0b25DbGFzcyIsImRyb3Bkb3duQ2xhc3MiLCJlbmFibGVTZWFyY2giLCJzZWFyY2hQbGFjZWhvbGRlciIsImNvdW50cnlDb2RlRWRpdGFibGUiLCJpbnB1dFByb3BzIiwiRnJhZ21lbnQiLCJTZWxlY3QiLCJzZXRWYWx1ZSIsIm9wdGlvbnMiLCJjYW5jZWxUZXh0V2lkdGgiLCJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGlvbl9rZXkiLCJsZW5ndGgiLCJvbkNsaWNrIiwiUmVhY3RDb21wb25lbnQiLCJ3aWR0aCIsImhlaWdodCIsImZpbGwiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9VcHBlckNhc2UiLCJzdWJzdHJpbmciLCJkaXNhYmxlZCIsIlBhc3N3b3JkTW9kYWwiLCJjbG9zZSIsInNhdmUiLCJUZWxlZ3JhbU1vZGFsIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Qcm9maWxlUGFnZS9Qcm9maWxlUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICdzcmMvY29tcG9uZW50cy9DdXN0b21JbnB1dHMvU2VsZWN0L1NlbGVjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgUGFzc3dvcmRNb2RhbCB9IGZyb20gJy4vUGFzc3dvcmRNb2RhbC9QYXNzd29yZE1vZGFsJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFBlblN2ZyB9IGZyb20gJy4vcGVuLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDYW5jZWwgfSBmcm9tICcuL2NhbmNlbC5zdmcnO1xuaW1wb3J0IFBob25lSW5wdXQgZnJvbSAncmVhY3QtcGhvbmUtaW5wdXQtMic7XG5pbXBvcnQgJ3JlYWN0LXBob25lLWlucHV0LTIvbGliL3N0eWxlLmNzcyc7XG5pbXBvcnQgeyBUZWxlZ3JhbU1vZGFsIH0gZnJvbSAnLi9UZWxlZ3JhbU1vZGFsL1RlbGVncmFtTW9kYWwnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gJy4vQ29udGFpbmVyJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gJ3JlYWN0LXRvYXN0aWZ5JztcbmltcG9ydCB7IFBlcm1pc3Npb25zU2xpY2UgfSBmcm9tICdzcmMvc3RvcmUvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNTbGljZSc7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZXpvbmVzQXJyYXkgPSBtb21lbnQudHoubmFtZXMoKTtcbiAgY29uc3QgZGF0ZVRpbWVGb3JtYXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAndXMnLFxuICAgICAgbGFiZWw6ICdVbml0ZWQgU3RhdGVzJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ2V1JyxcbiAgICAgIGxhYmVsOiAnRXVyb3BlJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgICAgbW9udGg6ICdudW1lcmljJyxcbiAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICBob3VyMTI6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IHRpbWV6b25lcyA9IHRpbWV6b25lc0FycmF5Lm1hcCgodCkgPT4ge1xuICAgIHJldHVybiB7IHZhbHVlOiB0LCBsYWJlbDogdCB9O1xuICB9KTtcblxuICBjb25zdCBsb2NhbGVPcHRpb25zID0gW1xuICAgIHsgdmFsdWU6ICdlbicsIGxhYmVsOiAnRW5nbGlzaCcgfSxcbiAgICB7IHZhbHVlOiAnZW5fdWsnLCBsYWJlbDogJ0VuZ2xpc2ggKFVLKScgfSxcbiAgICB7IHZhbHVlOiAnaGUnLCBsYWJlbDogJ9ei15HXqNeZ16onIH0sXG4gICAgeyB2YWx1ZTogJ2ZyJywgbGFiZWw6ICdGcmFuw6dhaXMnIH0sXG4gICAgeyB2YWx1ZTogJ2l0JywgbGFiZWw6ICdJdGFsaWFubycgfSxcbiAgXTtcblxuICBjb25zdCBmbG93UmF0ZVVuaXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAnbWdkJyxcbiAgICAgIGxhYmVsOiBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmZsb3dfcmF0ZV91bml0X29wdGlvbnMubWdkJyksXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ20zZCcsXG4gICAgICBsYWJlbDogaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdF9vcHRpb25zLm0zZCcpLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3QgW2xvY2FsZSwgc2V0TG9jYWxlXSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gIH0+KGxvY2FsZU9wdGlvbnNbMF0pO1xuXG4gIGNvbnN0IFtmbG93UmF0ZVVuaXQsIHNldEZsb3dSYXRlVW5pdF0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9PihmbG93UmF0ZVVuaXRPcHRpb25zWzBdKTtcblxuICBjb25zdCBbZGF0ZVRpbWVGb3JtYXQsIHNldERhdGVUaW1lRm9ybWF0XSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgZm9ybWF0OiBvYmplY3Q7XG4gIH0+KGRhdGVUaW1lRm9ybWF0T3B0aW9uc1swXSk7XG5cbiAgY29uc3QgW3RpbWV6b25lLCBzZXRUaW1lem9uZV0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9Pih0aW1lem9uZXNbMjBdKTtcblxuICBjb25zdCBbZGVwYXJ0bWVudHMsIHNldERlcGFydG1lbnRzXSA9IHVzZVN0YXRlPFxuICAgIHtcbiAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICBsYWJlbDogc3RyaW5nO1xuICAgIH1bXVxuICA+KFt7IHZhbHVlOiAnJywgbGFiZWw6ICcnIH1dKTtcblxuICBjb25zdCBbYnVzaW5lc3NSb2xlcywgc2V0QnVzaW5lc3NSb2xlc10gPSB1c2VTdGF0ZTxcbiAgICB7XG4gICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgbGFiZWw6IHN0cmluZztcbiAgICB9W11cbiAgPihbeyB2YWx1ZTogJycsIGxhYmVsOiAnJyB9XSk7XG5cbiAgY29uc3QgW2RlcGFydG1lbnQsIHNldERlcGFydG1lbnRdID0gdXNlU3RhdGU8YW55PihkZXBhcnRtZW50c1swXSk7XG5cbiAgY29uc3QgW2J1c2luZXNzUm9sZSwgc2V0QnVzaW5lc3NSb2xlXSA9IHVzZVN0YXRlPGFueT4oYnVzaW5lc3NSb2xlc1swXSk7XG5cbiAgY29uc3QgaW5pdGlhbFBhcmFtc1N0YXRlID0ge1xuICAgIGZpcnN0X25hbWU6ICcnLFxuICAgIGxhc3RfbmFtZTogJycsXG4gICAgcGhvbmU6ICcnLFxuICAgIGVtYWlsOiAnJyxcbiAgICB0aW1lX3pvbmU6ICcnLFxuICAgIGRhdGVfdGltZV9mb3JtYXQ6ICcnLFxuICAgIGxvY2FsZTogJycsXG4gICAgdGVsZWdyYW1fbmFtZTogJycsXG4gICAgb3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lOiAnJyxcbiAgICBvdGhlcl9kZXBhcnRtZW50X25hbWU6ICcnLFxuICAgIGJ1c2luZXNzX3JvbGU6ICcnLFxuICAgIGRlcGFydG1lbnQ6ICcnLFxuICAgIGZsb3dfcmF0ZV91bml0OiAnJyxcbiAgfTtcblxuICBjb25zdCBbaXNUZWxlZ3JhbU9wZW4sIHNldElzVGVsZWdyYW1PcGVuXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dQYXNzd29yZE1vZGFsLCBzZXRTaG93UGFzc3dvcmRNb2RhbF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzdWJtaXR0aW5nLCBzZXRTdWJtaXR0aW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dTdWNjZXNzTWVzc2FnZSwgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dFcnJvck1lc3NhZ2UsIHNldFNob3dFcnJvck1lc3NhZ2VdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLCBzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2VdID1cbiAgICB1c2VTdGF0ZTx7XG4gICAgICBzaG93OiBib29sZWFuO1xuICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgfT4oe1xuICAgICAgc2hvdzogZmFsc2UsXG4gICAgICBzdGF0dXM6ICcnLFxuICAgICAgbWVzc2FnZTogJycsXG4gICAgfSk7XG4gIGNvbnN0IFtwYXJhbXMsIHNldFBhcmFtc10gPSB1c2VTdGF0ZTx7XG4gICAgZmlyc3RfbmFtZTogc3RyaW5nO1xuICAgIGxhc3RfbmFtZTogc3RyaW5nO1xuICAgIHBob25lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICB0aW1lX3pvbmU6IHN0cmluZztcbiAgICBkYXRlX3RpbWVfZm9ybWF0OiBzdHJpbmc7XG4gICAgbG9jYWxlOiBzdHJpbmc7XG4gICAgdGVsZWdyYW1fbmFtZTogc3RyaW5nO1xuICAgIG90aGVyX2J1c2luZXNzX3JvbGVfbmFtZTogc3RyaW5nO1xuICAgIG90aGVyX2RlcGFydG1lbnRfbmFtZTogc3RyaW5nO1xuICAgIGZsb3dfcmF0ZV91bml0OiBzdHJpbmc7XG4gIH0+KGluaXRpYWxQYXJhbXNTdGF0ZSk7XG5cbiAgY29uc3QgaGFuZGxlT25DaGFuZ2UgPSAoZSkgPT4ge1xuICAgIGlmICh0eXBlb2YgZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChlLnN0YXJ0c1dpdGgoJzk3MjAnKSkge1xuICAgICAgICBlID0gZS5yZXBsYWNlKC8oOTcyMCkvZywgJzk3MicpO1xuICAgICAgfVxuICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgcGhvbmU6IGUsXG4gICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIG5hbWUgfSA9IGUudGFyZ2V0O1xuICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgW25hbWVdOiB2YWx1ZSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQnVzaW5lc3NSb2xlQ2hhbmdlID0gKGUpID0+IHtcbiAgICBpZiAoZS50YXJnZXQgIT09IG51bGwpIHtcbiAgICAgIHNldFBhcmFtcyh7XG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgYnVzaW5lc3Nfcm9sZTogZS52YWx1ZSxcbiAgICAgICAgb3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lOiBlLnRhcmdldC52YWx1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVEZXBhcnRtZW50Q2hhbmdlID0gKGUpID0+IHtcbiAgICBpZiAoZS50YXJnZXQgIT09IG51bGwpIHtcbiAgICAgIHNldFBhcmFtcyh7XG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgZGVwYXJ0bWVudDogZS52YWx1ZSxcbiAgICAgICAgb3RoZXJfZGVwYXJ0bWVudF9uYW1lOiBlLnRhcmdldC52YWx1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcyA9ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgZGF0ZV90aW1lX2Zvcm1hdDogZGF0ZVRpbWVGb3JtYXQudmFsdWUsXG4gICAgICBsb2NhbGU6IGxvY2FsZS52YWx1ZSxcbiAgICAgIHRpbWVfem9uZTogdGltZXpvbmUudmFsdWUsXG4gICAgICBkZXBhcnRtZW50X2lkOiBkZXBhcnRtZW50ID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwYXJ0bWVudC52YWx1ZSxcbiAgICAgIGJ1c2luZXNzX3JvbGVfaWQ6IGJ1c2luZXNzUm9sZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGJ1c2luZXNzUm9sZS52YWx1ZSxcbiAgICAgIGZsb3dfcmF0ZV91bml0OiBmbG93UmF0ZVVuaXQudmFsdWUsXG4gICAgfTtcbiAgfTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcblxuICBjb25zdCBzaG93VG9hc3QgPSAoZGF0YSkgPT4ge1xuICAgIGNvbnN0IHVzZXJuYW1lID0gZGF0YS51c2VybmFtZTtcbiAgICBjb25zdCBlcnJvciA9IGRhdGEuZXJyb3I7XG4gICAgaWYgKGRhdGEuc3RhdHVzID09PSAnc3VjY2VzcycpIHtcbiAgICAgIHRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgIGkxOG4udChgbXlfcHJvZmlsZV90YWIudGVsZWdyYW1fbWVzc2FnZXMuJHtkYXRhLm1lc3NhZ2V9YCwge1xuICAgICAgICAgIHVzZXJuYW1lLFxuICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHBvc2l0aW9uOiAndG9wLWNlbnRlcicsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0b2FzdC5lcnJvcihcbiAgICAgICAgaTE4bi50KGBteV9wcm9maWxlX3RhYi50ZWxlZ3JhbV9tZXNzYWdlcy4ke2RhdGEubWVzc2FnZX1gLCB7XG4gICAgICAgICAgZXJyb3I6IGVycm9yLFxuICAgICAgICAgIHVzZXJuYW1lOiB1c2VybmFtZSxcbiAgICAgICAgfSksXG4gICAgICAgIHtcbiAgICAgICAgICBwb3NpdGlvbjogJ3RvcC1jZW50ZXInLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHNldFN1Ym1pdHRpbmcodHJ1ZSk7XG4gICAgYXhpb3NcbiAgICAgIC5wdXQoJy9wcm9maWxlcycsIHsgdXNlcjogZ2V0UGFyYW1zV2l0aEFnZ3JlZ2F0ZWRWYWx1ZXMoKSB9KVxuICAgICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgICAgaWYgKHJlc3AuZGF0YS5lcnJvcnMgPT09IG51bGwpIHtcbiAgICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICAgIFBlcm1pc3Npb25zU2xpY2UuYWN0aW9ucy5zZXRVc2VySW5mbyhKU09OLnBhcnNlKHJlc3AuZGF0YS51c2VyKSksXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGRvY3VtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmVycm9yLW1lc3NhZ2UnKVxuICAgICAgICAgICAgLmZvckVhY2goKHApID0+IChwLmlubmVySFRNTCA9ICcnKSk7XG5cbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnZhbGlkLWZpZWxkJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiBwLmNsYXNzTGlzdC5yZW1vdmUoJ2ludmFsaWQtZmllbGQnKSk7XG4gICAgICAgICAgbGV0IHVzZXIgPSBKU09OLnBhcnNlKHJlc3AuZGF0YS51c2VyKTtcbiAgICAgICAgICBjb25zdCBmaW5kTG9jYWxlID0gbG9jYWxlT3B0aW9ucy5maW5kKChlKSA9PiBlLnZhbHVlID09PSB1c2VyLmxvY2FsZSk7XG4gICAgICAgICAgY29uc3QgZmluZEZsb3dSYXRlVW5pdCA9IGZsb3dSYXRlVW5pdE9wdGlvbnMuZmluZChcbiAgICAgICAgICAgIChlKSA9PiBlLnZhbHVlID09PSB1c2VyLmZsb3dfcmF0ZV91bml0LFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgZmluZERhdGVUaW1lRm9ybWF0ID0gZGF0ZVRpbWVGb3JtYXRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci5kYXRlX3RpbWVfZm9ybWF0LFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgZmluZFRpbWV6b25lID0gdGltZXpvbmVzLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci50aW1lX3pvbmUsXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHNldFBhcmFtcyh1c2VyKTtcbiAgICAgICAgICBzZXRMb2NhbGUoZmluZExvY2FsZSEpO1xuICAgICAgICAgIHNldEZsb3dSYXRlVW5pdChmaW5kRmxvd1JhdGVVbml0ISk7XG4gICAgICAgICAgc2V0RGF0ZVRpbWVGb3JtYXQoZmluZERhdGVUaW1lRm9ybWF0ISk7XG4gICAgICAgICAgc2V0VGltZXpvbmUoZmluZFRpbWV6b25lISk7XG4gICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKHRydWUpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICB9LCA2MDAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5lcnJvci1tZXNzYWdlJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiAocC5pbm5lckhUTUwgPSAnJykpO1xuICAgICAgICAgIGxldCBlcnJvcnMgPSByZXNwLmRhdGEudXNlci5lcnJvcnM7XG4gICAgICAgICAgZm9yIChjb25zdCBlcnJvciBpbiBlcnJvcnMpIHtcbiAgICAgICAgICAgIGxldCBmaW5kRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGlucHV0W25hbWU9JyR7ZXJyb3J9J11gKTtcbiAgICAgICAgICAgIGxldCBwYXJlbnQgPSBmaW5kRWxlbWVudCEuY2xvc2VzdCgnLmZpZWxkJyk7XG4gICAgICAgICAgICBsZXQgZmluZElucHV0ID0gcGFyZW50IS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuICAgICAgICAgICAgZmluZElucHV0IS5jbGFzc0xpc3QuYWRkKCdpbnZhbGlkLWZpZWxkJyk7XG4gICAgICAgICAgICBwYXJlbnQhLnF1ZXJ5U2VsZWN0b3IoJy5lcnJvci1tZXNzYWdlJykhLmlubmVySFRNTCA9IGkxOG4udChcbiAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmVycm9ycy4ke2Vycm9yfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0U3VibWl0dGluZyhmYWxzZSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBzZXRTaG93RXJyb3JNZXNzYWdlKHRydWUpO1xuICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UoZmFsc2UpO1xuICAgICAgICBzZXRTdWJtaXR0aW5nKGZhbHNlKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgc2V0U2hvd0Vycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgIH0sIDYwMDApO1xuICAgICAgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjaygnVmlld2VkIFByb2ZpbGUgUGFnZScsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCB0b2tlbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tuYW1lPWNzcmYtdG9rZW5dJykhLmNvbnRlbnQ7XG4gICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ1gtQ1NSRi1UT0tFTiddID0gdG9rZW47XG4gICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzJztcbiAgICBheGlvc1xuICAgICAgLmdldChgL3Byb2ZpbGVzL3Jlc291cmNlYClcbiAgICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICAgIHNldFBhcmFtcyhyZXNwLmRhdGEudXNlcik7XG4gICAgICAgIGNvbnN0IGZpbmRQcm9wZXJ0eSA9IChvYmplY3QsIHByb3BlcnR5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdC5maW5kKChlKSA9PiBlLnZhbHVlID09PSBwcm9wZXJ0eSk7XG4gICAgICAgIH07XG4gICAgICAgIHNldExvY2FsZShmaW5kUHJvcGVydHkobG9jYWxlT3B0aW9ucywgcmVzcC5kYXRhLnVzZXIubG9jYWxlKSk7XG4gICAgICAgIHNldEZsb3dSYXRlVW5pdChcbiAgICAgICAgICBmaW5kUHJvcGVydHkoZmxvd1JhdGVVbml0T3B0aW9ucywgcmVzcC5kYXRhLnVzZXIuZmxvd19yYXRlX3VuaXQpLFxuICAgICAgICApO1xuICAgICAgICBzZXREYXRlVGltZUZvcm1hdChcbiAgICAgICAgICBmaW5kUHJvcGVydHkoZGF0ZVRpbWVGb3JtYXRPcHRpb25zLCByZXNwLmRhdGEudXNlci5kYXRlX3RpbWVfZm9ybWF0KSxcbiAgICAgICAgKTtcbiAgICAgICAgc2V0VGltZXpvbmUoZmluZFByb3BlcnR5KHRpbWV6b25lcywgcmVzcC5kYXRhLnVzZXIudGltZV96b25lKSk7XG4gICAgICAgIHNldEJ1c2luZXNzUm9sZShcbiAgICAgICAgICBmaW5kUHJvcGVydHkoXG4gICAgICAgICAgICByZXNwLmRhdGEuYnVzaW5lc3Nfcm9sZXMsXG4gICAgICAgICAgICByZXNwLmRhdGEudXNlci5idXNpbmVzc19yb2xlX2lkLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIHNldERlcGFydG1lbnQoXG4gICAgICAgICAgZmluZFByb3BlcnR5KHJlc3AuZGF0YS5kZXBhcnRtZW50cywgcmVzcC5kYXRhLnVzZXIuZGVwYXJ0bWVudF9pZCksXG4gICAgICAgICk7XG4gICAgICAgIHNldERlcGFydG1lbnRzKHJlc3AuZGF0YS5kZXBhcnRtZW50cyk7XG4gICAgICAgIHNldEJ1c2luZXNzUm9sZXMocmVzcC5kYXRhLmJ1c2luZXNzX3JvbGVzKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiBhbGVydChlcnJvcikpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoZWFkZXItdGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aXRsZScpfTwvZGl2PlxuICAgICAgPGZvcm0gYWN0aW9uPVwiXCIgb25TdWJtaXQ9eyhlKSA9PiBoYW5kbGVTdWJtaXQoZSl9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5wZXJzb25hbC1kZXRhaWxzJyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwicGVyc29uYWxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmZpcnN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2ZpcnN0X25hbWUnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMuZmlyc3RfbmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZU9uQ2hhbmdlKGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5sYXN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2xhc3RfbmFtZSd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5sYXN0X25hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVPbkNoYW5nZShlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZCBmaWVsZC0tcmVhZG9ubHlcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmVtYWlsJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICByZWFkT25seT17dHJ1ZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9eydlbWFpbCd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5lbWFpbH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUucGhvbmUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxQaG9uZUlucHV0XG4gICAgICAgICAgICAgICAgY291bnRyeT17J2lsJ31cbiAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb249e2kxOG4udCgnY291bnRyaWVzJyl9XG4gICAgICAgICAgICAgICAgaW5wdXRDbGFzcz1cInBob25lLWlucHV0XCJcbiAgICAgICAgICAgICAgICBjb250YWluZXJDbGFzcz1cIm15LXBob25lXCJcbiAgICAgICAgICAgICAgICBidXR0b25DbGFzcz1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBkcm9wZG93bkNsYXNzPVwicGhvbmUtZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMucGhvbmV9XG4gICAgICAgICAgICAgICAgZW5hYmxlU2VhcmNoXG4gICAgICAgICAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI9e2kxOG4udCgnc2VhcmNoJyl9XG4gICAgICAgICAgICAgICAgY291bnRyeUNvZGVFZGl0YWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlT25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaW5wdXRQcm9wcz17eyBuYW1lOiAncGhvbmUnIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtkZXBhcnRtZW50c1swXS52YWx1ZSAhPT0gJycgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZGVwYXJ0bWVudCcpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0RGVwYXJ0bWVudH1cbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRzLiR7ZGVwYXJ0bWVudD8ubGFiZWx9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZGVwYXJ0bWVudD8udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zPXtkZXBhcnRtZW50c31cbiAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGRlcGFydG1lbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25fa2V5OiAnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZGVwYXJ0bWVudHMnLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmJ1c2luZXNzX3JvbGUnKX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldEJ1c2luZXNzUm9sZX1cbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmJ1c2luZXNzX3JvbGVzLiR7YnVzaW5lc3NSb2xlPy5sYWJlbH1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBidXNpbmVzc1JvbGU/LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz17YnVzaW5lc3NSb2xlc31cbiAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGJ1c2luZXNzUm9sZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbl9rZXk6ICdkYXNoYm9hcmRfdjIucHJvZmlsZS5idXNpbmVzc19yb2xlcycsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7ZGVwYXJ0bWVudHNbMF0udmFsdWUgIT09ICcnICYmIChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BmaWVsZCAke1xuICAgICAgICAgICAgICAgICAgICBkZXBhcnRtZW50ICYmXG4gICAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnQ/LnZhbHVlID09PVxuICAgICAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRzW2RlcGFydG1lbnRzLmxlbmd0aCAtIDFdLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpZWxkLS1oaWRkZW4nXG4gICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRfYWx0Jyl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPXsnb3RoZXJfZGVwYXJ0bWVudF9uYW1lJ31cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5vdGhlcl9kZXBhcnRtZW50X25hbWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gaGFuZGxlRGVwYXJ0bWVudENoYW5nZShlKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZmllbGQgJHtcbiAgICAgICAgICAgICAgICAgICAgYnVzaW5lc3NSb2xlICYmXG4gICAgICAgICAgICAgICAgICAgIGJ1c2luZXNzUm9sZT8udmFsdWUgPT09XG4gICAgICAgICAgICAgICAgICAgICAgYnVzaW5lc3NSb2xlc1tidXNpbmVzc1JvbGVzLmxlbmd0aCAtIDFdLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpZWxkLS1oaWRkZW4nXG4gICAgICAgICAgICAgICAgICB9IGB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5idXNpbmVzc19yb2xlX2FsdCcpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT17J290aGVyX2J1c2luZXNzX3JvbGVfbmFtZSd9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMub3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZUJ1c2luZXNzUm9sZUNoYW5nZShlKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNoYW5nZS1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd1Bhc3N3b3JkTW9kYWwodHJ1ZSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGVuU3ZnIHdpZHRoPVwiMTJweFwiIGhlaWdodD1cIjEycHhcIiBmaWxsPVwiI2YwMTM0Y1wiIC8+XG4gICAgICAgICAgICAgICAgeycgICd9XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLXBhc3N3b3JkJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zZXR0aW5ncycpfTwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNldHRpbmdzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aW1lLXpvbmUnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldFRpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3RpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGltZXpvbmVzfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRhdGUtdGltZS1mb3JtYXQnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17ZGF0ZVRpbWVGb3JtYXRPcHRpb25zfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2RhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldERhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZGF0ZS10aW1lLWZvcm1hdCd9PlxuICAgICAgICAgICAgICAgIHtkYXRlVGltZUZvcm1hdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tVVMnLCBkYXRlVGltZUZvcm1hdC5mb3JtYXQpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUubGFuZ3VhZ2UnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J215LWlucHV0J30+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17bG9jYWxlT3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0TG9jYWxlfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGQgZmllbGQtLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAge3BhcmFtcy50ZWxlZ3JhbV9uYW1lID09PSAnJyAmJiAoXG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwidGVsZWdyYW1cIiBvbkNsaWNrPXsoKSA9PiBzZXRJc1RlbGVncmFtT3Blbih0cnVlKX0+XG4gICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5jb25uZWN0LXRvLXRlbGVncmFtJyl9XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7cGFyYW1zLnRlbGVncmFtX25hbWUgIT09ICcnICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUudGVsZWdyYW1fbmFtZScpfVxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKHRydWUpfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQZW5Tdmcgd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMTJweFwiIGZpbGw9XCIjZjAxMzRjXCIgLz57JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLW5hbWUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXQnfT5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17J3RlbGVncmFtX25hbWUnfVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy50ZWxlZ3JhbV9uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXRfX2NhbmNlbC1idXR0b24nfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbGVncmFtX25hbWU6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYW5jZWwgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0gb3Blbid9XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXhpb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldChgL3RlbGVncmFtL3NlbmRfdGVzdF9tZXNzYWdlLmpzb25gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YS51c2VyLnN0YXR1c1swXS50b1VwcGVyQ2FzZSgpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhLnVzZXIuc3RhdHVzLnN1YnN0cmluZygxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHJlc3AuZGF0YS51c2VyLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNjAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RvYXN0KHJlc3AuZGF0YS51c2VyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gYWxlcnQoZXJyb3IpKTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgeyFzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uuc2hvdyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zZW5kX3RlbGVncmFtX21lc3NhZ2UnKX1cbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLnNob3cgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZS5zdGF0dXN9XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdHMnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnbXktaW5wdXQnfT5cbiAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICBvcHRpb25zPXtmbG93UmF0ZVVuaXRPcHRpb25zfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2Zsb3dSYXRlVW5pdH1cbiAgICAgICAgICAgICAgICAgIHNldFZhbHVlPXtzZXRGbG93UmF0ZVVuaXR9XG4gICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9eydzdWJtaXQnfSBjbGFzc05hbWU9eydzYXZlJ30gZGlzYWJsZWQ9e3N1Ym1pdHRpbmd9PlxuICAgICAgICAgICAgeyFzdWJtaXR0aW5nICYmXG4gICAgICAgICAgICAgICFzaG93U3VjY2Vzc01lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgIXNob3dFcnJvck1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWJtaXQnKX1cbiAgICAgICAgICAgIHtzdWJtaXR0aW5nICYmXG4gICAgICAgICAgICAgICFzaG93U3VjY2Vzc01lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgIXNob3dFcnJvck1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWJtaXR0aW5nJyl9XG4gICAgICAgICAgICB7c2hvd1N1Y2Nlc3NNZXNzYWdlICYmIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VjY2VzcycpfVxuICAgICAgICAgICAge3Nob3dFcnJvck1lc3NhZ2UgJiYgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5lcnJvcicpfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cblxuICAgICAge3Nob3dQYXNzd29yZE1vZGFsICYmIChcbiAgICAgICAgPFBhc3N3b3JkTW9kYWxcbiAgICAgICAgICBjbG9zZT17KCkgPT4gc2V0U2hvd1Bhc3N3b3JkTW9kYWwoZmFsc2UpfVxuICAgICAgICAgIHNhdmU9eygpID0+IHt9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtpc1RlbGVncmFtT3BlbiAmJiAoXG4gICAgICAgIDxUZWxlZ3JhbU1vZGFsXG4gICAgICAgICAgY2xvc2U9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKGZhbHNlKX1cbiAgICAgICAgICBoYW5kbGVPbkNoYW5nZT17aGFuZGxlT25DaGFuZ2V9XG4gICAgICAgICAgaGFuZGxlU3VibWl0PXtoYW5kbGVTdWJtaXR9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFB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
602
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfU2VsZWN0IiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Bhc3N3b3JkTW9kYWwiLCJfcGVuIiwiX2NhbmNlbCIsIl9yZWFjdFBob25lSW5wdXQiLCJfVGVsZWdyYW1Nb2RhbCIsIl9heGlvcyIsIl9Db250YWluZXIiLCJfbW9tZW50VGltZXpvbmUiLCJfQW5hbHl0aWNzIiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RUb2FzdGlmeSIsIl9wZXJtaXNzaW9uc1NsaWNlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJQcm9maWxlUGFnZSIsInRpbWV6b25lc0FycmF5IiwibW9tZW50IiwidHoiLCJuYW1lcyIsImRhdGVUaW1lRm9ybWF0T3B0aW9ucyIsInZhbHVlIiwibGFiZWwiLCJmb3JtYXQiLCJtb250aCIsImRheSIsInllYXIiLCJob3VyIiwibWludXRlIiwiaG91cjEyIiwidGltZXpvbmVzIiwibWFwIiwidCIsImxvY2FsZU9wdGlvbnMiLCJmbG93UmF0ZVVuaXRPcHRpb25zIiwiaTE4biIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImxvY2FsZSIsInNldExvY2FsZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZmxvd1JhdGVVbml0Iiwic2V0Rmxvd1JhdGVVbml0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJkYXRlVGltZUZvcm1hdCIsInNldERhdGVUaW1lRm9ybWF0IiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJ0aW1lem9uZSIsInNldFRpbWV6b25lIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwiZGVwYXJ0bWVudHMiLCJzZXREZXBhcnRtZW50cyIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJidXNpbmVzc1JvbGVzIiwic2V0QnVzaW5lc3NSb2xlcyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJkZXBhcnRtZW50Iiwic2V0RGVwYXJ0bWVudCIsIl91c2VTdGF0ZTE1IiwiX3VzZVN0YXRlMTYiLCJidXNpbmVzc1JvbGUiLCJzZXRCdXNpbmVzc1JvbGUiLCJpbml0aWFsUGFyYW1zU3RhdGUiLCJmaXJzdF9uYW1lIiwibGFzdF9uYW1lIiwicGhvbmUiLCJlbWFpbCIsInRpbWVfem9uZSIsImRhdGVfdGltZV9mb3JtYXQiLCJ0ZWxlZ3JhbV9uYW1lIiwib3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lIiwib3RoZXJfZGVwYXJ0bWVudF9uYW1lIiwiYnVzaW5lc3Nfcm9sZSIsImZsb3dfcmF0ZV91bml0IiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsImlzVGVsZWdyYW1PcGVuIiwic2V0SXNUZWxlZ3JhbU9wZW4iLCJfdXNlU3RhdGUxOSIsIl91c2VTdGF0ZTIwIiwic2hvd1Bhc3N3b3JkTW9kYWwiLCJzZXRTaG93UGFzc3dvcmRNb2RhbCIsIl91c2VTdGF0ZTIxIiwiX3VzZVN0YXRlMjIiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsIl91c2VTdGF0ZTIzIiwiX3VzZVN0YXRlMjQiLCJzaG93U3VjY2Vzc01lc3NhZ2UiLCJzZXRTaG93U3VjY2Vzc01lc3NhZ2UiLCJfdXNlU3RhdGUyNSIsIl91c2VTdGF0ZTI2Iiwic2hvd0Vycm9yTWVzc2FnZSIsInNldFNob3dFcnJvck1lc3NhZ2UiLCJfdXNlU3RhdGUyNyIsInNob3ciLCJzdGF0dXMiLCJtZXNzYWdlIiwiX3VzZVN0YXRlMjgiLCJzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJfdXNlU3RhdGUyOSIsIl91c2VTdGF0ZTMwIiwicGFyYW1zIiwic2V0UGFyYW1zIiwiaGFuZGxlT25DaGFuZ2UiLCJlIiwic3RhcnRzV2l0aCIsInJlcGxhY2UiLCJwcmV2U3RhdGUiLCJfb2JqZWN0U3ByZWFkMyIsIl9lJHRhcmdldCIsInRhcmdldCIsIm5hbWUiLCJfZGVmaW5lUHJvcGVydHkyIiwiaGFuZGxlQnVzaW5lc3NSb2xlQ2hhbmdlIiwiaGFuZGxlRGVwYXJ0bWVudENoYW5nZSIsImdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzIiwiZGVwYXJ0bWVudF9pZCIsInVuZGVmaW5lZCIsImJ1c2luZXNzX3JvbGVfaWQiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJzaG93VG9hc3QiLCJkYXRhIiwidXNlcm5hbWUiLCJlcnJvciIsInRvYXN0Iiwic3VjY2VzcyIsImNvbmNhdCIsInBvc2l0aW9uIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImhhbmRsZVN1Ym1pdCIsInByZXZlbnREZWZhdWx0IiwiYXhpb3MiLCJwdXQiLCJ1c2VyIiwidGhlbiIsInJlc3AiLCJlcnJvcnMiLCJQZXJtaXNzaW9uc1NsaWNlIiwiYWN0aW9ucyIsInNldFVzZXJJbmZvIiwiSlNPTiIsInBhcnNlIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInAiLCJpbm5lckhUTUwiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJmaW5kTG9jYWxlIiwiZmluZCIsImZpbmRGbG93UmF0ZVVuaXQiLCJmaW5kRGF0ZVRpbWVGb3JtYXQiLCJmaW5kVGltZXpvbmUiLCJzZXRUaW1lb3V0IiwiZmluZEVsZW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwicGFyZW50IiwiY2xvc2VzdCIsImZpbmRJbnB1dCIsImFkZCIsImNhdGNoIiwidXNlRWZmZWN0IiwiYW5hbHl0aWNzVHJhY2siLCJ1dGlsaXR5X25hbWUiLCJ0b2tlbiIsImNvbnRlbnQiLCJkZWZhdWx0cyIsImhlYWRlcnMiLCJjb21tb24iLCJmaW5kUHJvcGVydHkiLCJvYmplY3QiLCJwcm9wZXJ0eSIsImJ1c2luZXNzX3JvbGVzIiwiYWxlcnQiLCJjcmVhdGVFbGVtZW50IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwiYWN0aW9uIiwib25TdWJtaXQiLCJ0eXBlIiwib25DaGFuZ2UiLCJyZWFkT25seSIsImNvdW50cnkiLCJsb2NhbGl6YXRpb24iLCJpbnB1dENsYXNzIiwiY29udGFpbmVyQ2xhc3MiLCJidXR0b25DbGFzcyIsImRyb3Bkb3duQ2xhc3MiLCJlbmFibGVTZWFyY2giLCJzZWFyY2hQbGFjZWhvbGRlciIsImNvdW50cnlDb2RlRWRpdGFibGUiLCJpbnB1dFByb3BzIiwiRnJhZ21lbnQiLCJTZWxlY3QiLCJzZXRWYWx1ZSIsIm9wdGlvbnMiLCJjYW5jZWxUZXh0V2lkdGgiLCJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGlvbl9rZXkiLCJsZW5ndGgiLCJvbkNsaWNrIiwiUmVhY3RDb21wb25lbnQiLCJ3aWR0aCIsImhlaWdodCIsImZpbGwiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9VcHBlckNhc2UiLCJzdWJzdHJpbmciLCJkaXNhYmxlZCIsIlBhc3N3b3JkTW9kYWwiLCJjbG9zZSIsInNhdmUiLCJUZWxlZ3JhbU1vZGFsIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Qcm9maWxlUGFnZS9Qcm9maWxlUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICdzcmMvY29tcG9uZW50cy9DdXN0b21JbnB1dHMvU2VsZWN0L1NlbGVjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgUGFzc3dvcmRNb2RhbCB9IGZyb20gJy4vUGFzc3dvcmRNb2RhbC9QYXNzd29yZE1vZGFsJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFBlblN2ZyB9IGZyb20gJy4vcGVuLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDYW5jZWwgfSBmcm9tICcuL2NhbmNlbC5zdmcnO1xuaW1wb3J0IFBob25lSW5wdXQgZnJvbSAncmVhY3QtcGhvbmUtaW5wdXQtMic7XG5pbXBvcnQgJ3JlYWN0LXBob25lLWlucHV0LTIvbGliL3N0eWxlLmNzcyc7XG5pbXBvcnQgeyBUZWxlZ3JhbU1vZGFsIH0gZnJvbSAnLi9UZWxlZ3JhbU1vZGFsL1RlbGVncmFtTW9kYWwnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gJy4vQ29udGFpbmVyJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gJ3JlYWN0LXRvYXN0aWZ5JztcbmltcG9ydCB7IFBlcm1pc3Npb25zU2xpY2UgfSBmcm9tICdzcmMvc3RvcmUvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNTbGljZSc7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZXpvbmVzQXJyYXkgPSBtb21lbnQudHoubmFtZXMoKTtcbiAgY29uc3QgZGF0ZVRpbWVGb3JtYXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAndXMnLFxuICAgICAgbGFiZWw6ICdVbml0ZWQgU3RhdGVzJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ2V1JyxcbiAgICAgIGxhYmVsOiAnRXVyb3BlJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgICAgbW9udGg6ICdudW1lcmljJyxcbiAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICBob3VyMTI6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IHRpbWV6b25lcyA9IHRpbWV6b25lc0FycmF5Lm1hcCgodCkgPT4ge1xuICAgIHJldHVybiB7IHZhbHVlOiB0LCBsYWJlbDogdCB9O1xuICB9KTtcblxuICBjb25zdCBsb2NhbGVPcHRpb25zID0gW1xuICAgIHsgdmFsdWU6ICdlbicsIGxhYmVsOiAnRW5nbGlzaCcgfSxcbiAgICB7IHZhbHVlOiAnZW5fdWsnLCBsYWJlbDogJ0VuZ2xpc2ggKFVLKScgfSxcbiAgICB7IHZhbHVlOiAnaGUnLCBsYWJlbDogJ9ei15HXqNeZ16onIH0sXG4gICAgeyB2YWx1ZTogJ2ZyJywgbGFiZWw6ICdGcmFuw6dhaXMnIH0sXG4gICAgeyB2YWx1ZTogJ2l0JywgbGFiZWw6ICdJdGFsaWFubycgfSxcbiAgXTtcblxuICBjb25zdCBmbG93UmF0ZVVuaXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAnZ2RfdXMnLFxuICAgICAgbGFiZWw6IGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRfb3B0aW9ucy5nZF91cycpLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFsdWU6ICdnZF91aycsXG4gICAgICBsYWJlbDogaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdF9vcHRpb25zLmdkX3VrJyksXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ20zZCcsXG4gICAgICBsYWJlbDogaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdF9vcHRpb25zLm0zZCcpLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3QgW2xvY2FsZSwgc2V0TG9jYWxlXSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gIH0+KGxvY2FsZU9wdGlvbnNbMF0pO1xuXG4gIGNvbnN0IFtmbG93UmF0ZVVuaXQsIHNldEZsb3dSYXRlVW5pdF0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9PihmbG93UmF0ZVVuaXRPcHRpb25zWzBdKTtcblxuICBjb25zdCBbZGF0ZVRpbWVGb3JtYXQsIHNldERhdGVUaW1lRm9ybWF0XSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgZm9ybWF0OiBvYmplY3Q7XG4gIH0+KGRhdGVUaW1lRm9ybWF0T3B0aW9uc1swXSk7XG5cbiAgY29uc3QgW3RpbWV6b25lLCBzZXRUaW1lem9uZV0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9Pih0aW1lem9uZXNbMjBdKTtcblxuICBjb25zdCBbZGVwYXJ0bWVudHMsIHNldERlcGFydG1lbnRzXSA9IHVzZVN0YXRlPFxuICAgIHtcbiAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICBsYWJlbDogc3RyaW5nO1xuICAgIH1bXVxuICA+KFt7IHZhbHVlOiAnJywgbGFiZWw6ICcnIH1dKTtcblxuICBjb25zdCBbYnVzaW5lc3NSb2xlcywgc2V0QnVzaW5lc3NSb2xlc10gPSB1c2VTdGF0ZTxcbiAgICB7XG4gICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgbGFiZWw6IHN0cmluZztcbiAgICB9W11cbiAgPihbeyB2YWx1ZTogJycsIGxhYmVsOiAnJyB9XSk7XG5cbiAgY29uc3QgW2RlcGFydG1lbnQsIHNldERlcGFydG1lbnRdID0gdXNlU3RhdGU8YW55PihkZXBhcnRtZW50c1swXSk7XG5cbiAgY29uc3QgW2J1c2luZXNzUm9sZSwgc2V0QnVzaW5lc3NSb2xlXSA9IHVzZVN0YXRlPGFueT4oYnVzaW5lc3NSb2xlc1swXSk7XG5cbiAgY29uc3QgaW5pdGlhbFBhcmFtc1N0YXRlID0ge1xuICAgIGZpcnN0X25hbWU6ICcnLFxuICAgIGxhc3RfbmFtZTogJycsXG4gICAgcGhvbmU6ICcnLFxuICAgIGVtYWlsOiAnJyxcbiAgICB0aW1lX3pvbmU6ICcnLFxuICAgIGRhdGVfdGltZV9mb3JtYXQ6ICcnLFxuICAgIGxvY2FsZTogJycsXG4gICAgdGVsZWdyYW1fbmFtZTogJycsXG4gICAgb3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lOiAnJyxcbiAgICBvdGhlcl9kZXBhcnRtZW50X25hbWU6ICcnLFxuICAgIGJ1c2luZXNzX3JvbGU6ICcnLFxuICAgIGRlcGFydG1lbnQ6ICcnLFxuICAgIGZsb3dfcmF0ZV91bml0OiAnJyxcbiAgfTtcblxuICBjb25zdCBbaXNUZWxlZ3JhbU9wZW4sIHNldElzVGVsZWdyYW1PcGVuXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dQYXNzd29yZE1vZGFsLCBzZXRTaG93UGFzc3dvcmRNb2RhbF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzdWJtaXR0aW5nLCBzZXRTdWJtaXR0aW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dTdWNjZXNzTWVzc2FnZSwgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dFcnJvck1lc3NhZ2UsIHNldFNob3dFcnJvck1lc3NhZ2VdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLCBzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2VdID1cbiAgICB1c2VTdGF0ZTx7XG4gICAgICBzaG93OiBib29sZWFuO1xuICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgfT4oe1xuICAgICAgc2hvdzogZmFsc2UsXG4gICAgICBzdGF0dXM6ICcnLFxuICAgICAgbWVzc2FnZTogJycsXG4gICAgfSk7XG4gIGNvbnN0IFtwYXJhbXMsIHNldFBhcmFtc10gPSB1c2VTdGF0ZTx7XG4gICAgZmlyc3RfbmFtZTogc3RyaW5nO1xuICAgIGxhc3RfbmFtZTogc3RyaW5nO1xuICAgIHBob25lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICB0aW1lX3pvbmU6IHN0cmluZztcbiAgICBkYXRlX3RpbWVfZm9ybWF0OiBzdHJpbmc7XG4gICAgbG9jYWxlOiBzdHJpbmc7XG4gICAgdGVsZWdyYW1fbmFtZTogc3RyaW5nO1xuICAgIG90aGVyX2J1c2luZXNzX3JvbGVfbmFtZTogc3RyaW5nO1xuICAgIG90aGVyX2RlcGFydG1lbnRfbmFtZTogc3RyaW5nO1xuICAgIGZsb3dfcmF0ZV91bml0OiBzdHJpbmc7XG4gIH0+KGluaXRpYWxQYXJhbXNTdGF0ZSk7XG5cbiAgY29uc3QgaGFuZGxlT25DaGFuZ2UgPSAoZSkgPT4ge1xuICAgIGlmICh0eXBlb2YgZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChlLnN0YXJ0c1dpdGgoJzk3MjAnKSkge1xuICAgICAgICBlID0gZS5yZXBsYWNlKC8oOTcyMCkvZywgJzk3MicpO1xuICAgICAgfVxuICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgcGhvbmU6IGUsXG4gICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIG5hbWUgfSA9IGUudGFyZ2V0O1xuICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgW25hbWVdOiB2YWx1ZSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQnVzaW5lc3NSb2xlQ2hhbmdlID0gKGUpID0+IHtcbiAgICBpZiAoZS50YXJnZXQgIT09IG51bGwpIHtcbiAgICAgIHNldFBhcmFtcyh7XG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgYnVzaW5lc3Nfcm9sZTogZS52YWx1ZSxcbiAgICAgICAgb3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lOiBlLnRhcmdldC52YWx1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVEZXBhcnRtZW50Q2hhbmdlID0gKGUpID0+IHtcbiAgICBpZiAoZS50YXJnZXQgIT09IG51bGwpIHtcbiAgICAgIHNldFBhcmFtcyh7XG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgZGVwYXJ0bWVudDogZS52YWx1ZSxcbiAgICAgICAgb3RoZXJfZGVwYXJ0bWVudF9uYW1lOiBlLnRhcmdldC52YWx1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcyA9ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgZGF0ZV90aW1lX2Zvcm1hdDogZGF0ZVRpbWVGb3JtYXQudmFsdWUsXG4gICAgICBsb2NhbGU6IGxvY2FsZS52YWx1ZSxcbiAgICAgIHRpbWVfem9uZTogdGltZXpvbmUudmFsdWUsXG4gICAgICBkZXBhcnRtZW50X2lkOiBkZXBhcnRtZW50ID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwYXJ0bWVudC52YWx1ZSxcbiAgICAgIGJ1c2luZXNzX3JvbGVfaWQ6IGJ1c2luZXNzUm9sZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGJ1c2luZXNzUm9sZS52YWx1ZSxcbiAgICAgIGZsb3dfcmF0ZV91bml0OiBmbG93UmF0ZVVuaXQudmFsdWUsXG4gICAgfTtcbiAgfTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcblxuICBjb25zdCBzaG93VG9hc3QgPSAoZGF0YSkgPT4ge1xuICAgIGNvbnN0IHVzZXJuYW1lID0gZGF0YS51c2VybmFtZTtcbiAgICBjb25zdCBlcnJvciA9IGRhdGEuZXJyb3I7XG4gICAgaWYgKGRhdGEuc3RhdHVzID09PSAnc3VjY2VzcycpIHtcbiAgICAgIHRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgIGkxOG4udChgbXlfcHJvZmlsZV90YWIudGVsZWdyYW1fbWVzc2FnZXMuJHtkYXRhLm1lc3NhZ2V9YCwge1xuICAgICAgICAgIHVzZXJuYW1lLFxuICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHBvc2l0aW9uOiAndG9wLWNlbnRlcicsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0b2FzdC5lcnJvcihcbiAgICAgICAgaTE4bi50KGBteV9wcm9maWxlX3RhYi50ZWxlZ3JhbV9tZXNzYWdlcy4ke2RhdGEubWVzc2FnZX1gLCB7XG4gICAgICAgICAgZXJyb3I6IGVycm9yLFxuICAgICAgICAgIHVzZXJuYW1lOiB1c2VybmFtZSxcbiAgICAgICAgfSksXG4gICAgICAgIHtcbiAgICAgICAgICBwb3NpdGlvbjogJ3RvcC1jZW50ZXInLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHNldFN1Ym1pdHRpbmcodHJ1ZSk7XG4gICAgYXhpb3NcbiAgICAgIC5wdXQoJy9wcm9maWxlcycsIHsgdXNlcjogZ2V0UGFyYW1zV2l0aEFnZ3JlZ2F0ZWRWYWx1ZXMoKSB9KVxuICAgICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgICAgaWYgKHJlc3AuZGF0YS5lcnJvcnMgPT09IG51bGwpIHtcbiAgICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICAgIFBlcm1pc3Npb25zU2xpY2UuYWN0aW9ucy5zZXRVc2VySW5mbyhKU09OLnBhcnNlKHJlc3AuZGF0YS51c2VyKSksXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGRvY3VtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmVycm9yLW1lc3NhZ2UnKVxuICAgICAgICAgICAgLmZvckVhY2goKHApID0+IChwLmlubmVySFRNTCA9ICcnKSk7XG5cbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnZhbGlkLWZpZWxkJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiBwLmNsYXNzTGlzdC5yZW1vdmUoJ2ludmFsaWQtZmllbGQnKSk7XG4gICAgICAgICAgbGV0IHVzZXIgPSBKU09OLnBhcnNlKHJlc3AuZGF0YS51c2VyKTtcbiAgICAgICAgICBjb25zdCBmaW5kTG9jYWxlID0gbG9jYWxlT3B0aW9ucy5maW5kKChlKSA9PiBlLnZhbHVlID09PSB1c2VyLmxvY2FsZSk7XG4gICAgICAgICAgY29uc3QgZmluZEZsb3dSYXRlVW5pdCA9IGZsb3dSYXRlVW5pdE9wdGlvbnMuZmluZChcbiAgICAgICAgICAgIChlKSA9PiBlLnZhbHVlID09PSB1c2VyLmZsb3dfcmF0ZV91bml0LFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgZmluZERhdGVUaW1lRm9ybWF0ID0gZGF0ZVRpbWVGb3JtYXRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci5kYXRlX3RpbWVfZm9ybWF0LFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgZmluZFRpbWV6b25lID0gdGltZXpvbmVzLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci50aW1lX3pvbmUsXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHNldFBhcmFtcyh1c2VyKTtcbiAgICAgICAgICBzZXRMb2NhbGUoZmluZExvY2FsZSEpO1xuICAgICAgICAgIHNldEZsb3dSYXRlVW5pdChmaW5kRmxvd1JhdGVVbml0ISk7XG4gICAgICAgICAgc2V0RGF0ZVRpbWVGb3JtYXQoZmluZERhdGVUaW1lRm9ybWF0ISk7XG4gICAgICAgICAgc2V0VGltZXpvbmUoZmluZFRpbWV6b25lISk7XG4gICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKHRydWUpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICB9LCA2MDAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5lcnJvci1tZXNzYWdlJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiAocC5pbm5lckhUTUwgPSAnJykpO1xuICAgICAgICAgIGxldCBlcnJvcnMgPSByZXNwLmRhdGEudXNlci5lcnJvcnM7XG4gICAgICAgICAgZm9yIChjb25zdCBlcnJvciBpbiBlcnJvcnMpIHtcbiAgICAgICAgICAgIGxldCBmaW5kRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGlucHV0W25hbWU9JyR7ZXJyb3J9J11gKTtcbiAgICAgICAgICAgIGxldCBwYXJlbnQgPSBmaW5kRWxlbWVudCEuY2xvc2VzdCgnLmZpZWxkJyk7XG4gICAgICAgICAgICBsZXQgZmluZElucHV0ID0gcGFyZW50IS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuICAgICAgICAgICAgZmluZElucHV0IS5jbGFzc0xpc3QuYWRkKCdpbnZhbGlkLWZpZWxkJyk7XG4gICAgICAgICAgICBwYXJlbnQhLnF1ZXJ5U2VsZWN0b3IoJy5lcnJvci1tZXNzYWdlJykhLmlubmVySFRNTCA9IGkxOG4udChcbiAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmVycm9ycy4ke2Vycm9yfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0U3VibWl0dGluZyhmYWxzZSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBzZXRTaG93RXJyb3JNZXNzYWdlKHRydWUpO1xuICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UoZmFsc2UpO1xuICAgICAgICBzZXRTdWJtaXR0aW5nKGZhbHNlKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgc2V0U2hvd0Vycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgIH0sIDYwMDApO1xuICAgICAgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjaygnVmlld2VkIFByb2ZpbGUgUGFnZScsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCB0b2tlbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tuYW1lPWNzcmYtdG9rZW5dJykhLmNvbnRlbnQ7XG4gICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ1gtQ1NSRi1UT0tFTiddID0gdG9rZW47XG4gICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzJztcbiAgICBheGlvc1xuICAgICAgLmdldChgL3Byb2ZpbGVzL3Jlc291cmNlYClcbiAgICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICAgIHNldFBhcmFtcyhyZXNwLmRhdGEudXNlcik7XG4gICAgICAgIGNvbnN0IGZpbmRQcm9wZXJ0eSA9IChvYmplY3QsIHByb3BlcnR5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdC5maW5kKChlKSA9PiBlLnZhbHVlID09PSBwcm9wZXJ0eSk7XG4gICAgICAgIH07XG4gICAgICAgIHNldExvY2FsZShmaW5kUHJvcGVydHkobG9jYWxlT3B0aW9ucywgcmVzcC5kYXRhLnVzZXIubG9jYWxlKSk7XG4gICAgICAgIHNldEZsb3dSYXRlVW5pdChcbiAgICAgICAgICBmaW5kUHJvcGVydHkoZmxvd1JhdGVVbml0T3B0aW9ucywgcmVzcC5kYXRhLnVzZXIuZmxvd19yYXRlX3VuaXQpLFxuICAgICAgICApO1xuICAgICAgICBzZXREYXRlVGltZUZvcm1hdChcbiAgICAgICAgICBmaW5kUHJvcGVydHkoZGF0ZVRpbWVGb3JtYXRPcHRpb25zLCByZXNwLmRhdGEudXNlci5kYXRlX3RpbWVfZm9ybWF0KSxcbiAgICAgICAgKTtcbiAgICAgICAgc2V0VGltZXpvbmUoZmluZFByb3BlcnR5KHRpbWV6b25lcywgcmVzcC5kYXRhLnVzZXIudGltZV96b25lKSk7XG4gICAgICAgIHNldEJ1c2luZXNzUm9sZShcbiAgICAgICAgICBmaW5kUHJvcGVydHkoXG4gICAgICAgICAgICByZXNwLmRhdGEuYnVzaW5lc3Nfcm9sZXMsXG4gICAgICAgICAgICByZXNwLmRhdGEudXNlci5idXNpbmVzc19yb2xlX2lkLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIHNldERlcGFydG1lbnQoXG4gICAgICAgICAgZmluZFByb3BlcnR5KHJlc3AuZGF0YS5kZXBhcnRtZW50cywgcmVzcC5kYXRhLnVzZXIuZGVwYXJ0bWVudF9pZCksXG4gICAgICAgICk7XG4gICAgICAgIHNldERlcGFydG1lbnRzKHJlc3AuZGF0YS5kZXBhcnRtZW50cyk7XG4gICAgICAgIHNldEJ1c2luZXNzUm9sZXMocmVzcC5kYXRhLmJ1c2luZXNzX3JvbGVzKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiBhbGVydChlcnJvcikpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoZWFkZXItdGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aXRsZScpfTwvZGl2PlxuICAgICAgPGZvcm0gYWN0aW9uPVwiXCIgb25TdWJtaXQ9eyhlKSA9PiBoYW5kbGVTdWJtaXQoZSl9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5wZXJzb25hbC1kZXRhaWxzJyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwicGVyc29uYWxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmZpcnN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2ZpcnN0X25hbWUnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMuZmlyc3RfbmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZU9uQ2hhbmdlKGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5sYXN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2xhc3RfbmFtZSd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5sYXN0X25hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVPbkNoYW5nZShlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZCBmaWVsZC0tcmVhZG9ubHlcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmVtYWlsJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICByZWFkT25seT17dHJ1ZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9eydlbWFpbCd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5lbWFpbH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUucGhvbmUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxQaG9uZUlucHV0XG4gICAgICAgICAgICAgICAgY291bnRyeT17J2lsJ31cbiAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb249e2kxOG4udCgnY291bnRyaWVzJyl9XG4gICAgICAgICAgICAgICAgaW5wdXRDbGFzcz1cInBob25lLWlucHV0XCJcbiAgICAgICAgICAgICAgICBjb250YWluZXJDbGFzcz1cIm15LXBob25lXCJcbiAgICAgICAgICAgICAgICBidXR0b25DbGFzcz1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBkcm9wZG93bkNsYXNzPVwicGhvbmUtZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMucGhvbmV9XG4gICAgICAgICAgICAgICAgZW5hYmxlU2VhcmNoXG4gICAgICAgICAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI9e2kxOG4udCgnc2VhcmNoJyl9XG4gICAgICAgICAgICAgICAgY291bnRyeUNvZGVFZGl0YWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlT25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaW5wdXRQcm9wcz17eyBuYW1lOiAncGhvbmUnIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtkZXBhcnRtZW50c1swXS52YWx1ZSAhPT0gJycgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZGVwYXJ0bWVudCcpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0RGVwYXJ0bWVudH1cbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRzLiR7ZGVwYXJ0bWVudD8ubGFiZWx9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZGVwYXJ0bWVudD8udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zPXtkZXBhcnRtZW50c31cbiAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGRlcGFydG1lbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25fa2V5OiAnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZGVwYXJ0bWVudHMnLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmJ1c2luZXNzX3JvbGUnKX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldEJ1c2luZXNzUm9sZX1cbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmJ1c2luZXNzX3JvbGVzLiR7YnVzaW5lc3NSb2xlPy5sYWJlbH1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBidXNpbmVzc1JvbGU/LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz17YnVzaW5lc3NSb2xlc31cbiAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGJ1c2luZXNzUm9sZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbl9rZXk6ICdkYXNoYm9hcmRfdjIucHJvZmlsZS5idXNpbmVzc19yb2xlcycsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7ZGVwYXJ0bWVudHNbMF0udmFsdWUgIT09ICcnICYmIChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BmaWVsZCAke1xuICAgICAgICAgICAgICAgICAgICBkZXBhcnRtZW50ICYmXG4gICAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnQ/LnZhbHVlID09PVxuICAgICAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRzW2RlcGFydG1lbnRzLmxlbmd0aCAtIDFdLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpZWxkLS1oaWRkZW4nXG4gICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRfYWx0Jyl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPXsnb3RoZXJfZGVwYXJ0bWVudF9uYW1lJ31cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5vdGhlcl9kZXBhcnRtZW50X25hbWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gaGFuZGxlRGVwYXJ0bWVudENoYW5nZShlKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZmllbGQgJHtcbiAgICAgICAgICAgICAgICAgICAgYnVzaW5lc3NSb2xlICYmXG4gICAgICAgICAgICAgICAgICAgIGJ1c2luZXNzUm9sZT8udmFsdWUgPT09XG4gICAgICAgICAgICAgICAgICAgICAgYnVzaW5lc3NSb2xlc1tidXNpbmVzc1JvbGVzLmxlbmd0aCAtIDFdLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpZWxkLS1oaWRkZW4nXG4gICAgICAgICAgICAgICAgICB9IGB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5idXNpbmVzc19yb2xlX2FsdCcpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT17J290aGVyX2J1c2luZXNzX3JvbGVfbmFtZSd9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMub3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZUJ1c2luZXNzUm9sZUNoYW5nZShlKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNoYW5nZS1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd1Bhc3N3b3JkTW9kYWwodHJ1ZSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGVuU3ZnIHdpZHRoPVwiMTJweFwiIGhlaWdodD1cIjEycHhcIiBmaWxsPVwiI2YwMTM0Y1wiIC8+XG4gICAgICAgICAgICAgICAgeycgICd9XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLXBhc3N3b3JkJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zZXR0aW5ncycpfTwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNldHRpbmdzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aW1lLXpvbmUnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldFRpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3RpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGltZXpvbmVzfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRhdGUtdGltZS1mb3JtYXQnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17ZGF0ZVRpbWVGb3JtYXRPcHRpb25zfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2RhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldERhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZGF0ZS10aW1lLWZvcm1hdCd9PlxuICAgICAgICAgICAgICAgIHtkYXRlVGltZUZvcm1hdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tVVMnLCBkYXRlVGltZUZvcm1hdC5mb3JtYXQpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUubGFuZ3VhZ2UnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J215LWlucHV0J30+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17bG9jYWxlT3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0TG9jYWxlfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGQgZmllbGQtLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAge3BhcmFtcy50ZWxlZ3JhbV9uYW1lID09PSAnJyAmJiAoXG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwidGVsZWdyYW1cIiBvbkNsaWNrPXsoKSA9PiBzZXRJc1RlbGVncmFtT3Blbih0cnVlKX0+XG4gICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5jb25uZWN0LXRvLXRlbGVncmFtJyl9XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7cGFyYW1zLnRlbGVncmFtX25hbWUgIT09ICcnICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUudGVsZWdyYW1fbmFtZScpfVxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKHRydWUpfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQZW5Tdmcgd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMTJweFwiIGZpbGw9XCIjZjAxMzRjXCIgLz57JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLW5hbWUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXQnfT5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17J3RlbGVncmFtX25hbWUnfVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy50ZWxlZ3JhbV9uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXRfX2NhbmNlbC1idXR0b24nfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbGVncmFtX25hbWU6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYW5jZWwgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0gb3Blbid9XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXhpb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldChgL3RlbGVncmFtL3NlbmRfdGVzdF9tZXNzYWdlLmpzb25gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YS51c2VyLnN0YXR1c1swXS50b1VwcGVyQ2FzZSgpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhLnVzZXIuc3RhdHVzLnN1YnN0cmluZygxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHJlc3AuZGF0YS51c2VyLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNjAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RvYXN0KHJlc3AuZGF0YS51c2VyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gYWxlcnQoZXJyb3IpKTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgeyFzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uuc2hvdyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zZW5kX3RlbGVncmFtX21lc3NhZ2UnKX1cbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLnNob3cgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZS5zdGF0dXN9XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdHMnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnbXktaW5wdXQnfT5cbiAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICBvcHRpb25zPXtmbG93UmF0ZVVuaXRPcHRpb25zfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2Zsb3dSYXRlVW5pdH1cbiAgICAgICAgICAgICAgICAgIHNldFZhbHVlPXtzZXRGbG93UmF0ZVVuaXR9XG4gICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9eydzdWJtaXQnfSBjbGFzc05hbWU9eydzYXZlJ30gZGlzYWJsZWQ9e3N1Ym1pdHRpbmd9PlxuICAgICAgICAgICAgeyFzdWJtaXR0aW5nICYmXG4gICAgICAgICAgICAgICFzaG93U3VjY2Vzc01lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgIXNob3dFcnJvck1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWJtaXQnKX1cbiAgICAgICAgICAgIHtzdWJtaXR0aW5nICYmXG4gICAgICAgICAgICAgICFzaG93U3VjY2Vzc01lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgIXNob3dFcnJvck1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWJtaXR0aW5nJyl9XG4gICAgICAgICAgICB7c2hvd1N1Y2Nlc3NNZXNzYWdlICYmIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VjY2VzcycpfVxuICAgICAgICAgICAge3Nob3dFcnJvck1lc3NhZ2UgJiYgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5lcnJvcicpfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cblxuICAgICAge3Nob3dQYXNzd29yZE1vZGFsICYmIChcbiAgICAgICAgPFBhc3N3b3JkTW9kYWxcbiAgICAgICAgICBjbG9zZT17KCkgPT4gc2V0U2hvd1Bhc3N3b3JkTW9kYWwoZmFsc2UpfVxuICAgICAgICAgIHNhdmU9eygpID0+IHt9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtpc1RlbGVncmFtT3BlbiAmJiAoXG4gICAgICAgIDxUZWxlZ3JhbU1vZGFsXG4gICAgICAgICAgY2xvc2U9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKGZhbHNlKX1cbiAgICAgICAgICBoYW5kbGVPbkNoYW5nZT17aGFuZGxlT25DaGFuZ2V9XG4gICAgICAgICAgaGFuZGxlU3VibWl0PXtoYW5kbGVTdWJtaXR9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvQ29udGFp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
@@ -45,6 +45,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
45
45
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
46
46
  var TABLE_ROWS_PER_PAGE = 25;
47
47
  var MAPBOX_WBE_DASHBOARD_STYLE = 'ckzzkjsi7005f14o9im0mczs9';
48
+ // This is specifically for customer AF-Eldoret
49
+ // There are two ids, one for staging and one for prodution
50
+ var CLEAR_TITLE_FOR_WA_IDS = [565, 558];
48
51
  var WbeDashboardPage = function WbeDashboardPage() {
49
52
  var getWAId = function getWAId() {
50
53
  return query.get('water_authority_id');
@@ -336,11 +339,11 @@ var WbeDashboardPage = function WbeDashboardPage() {
336
339
  initializeComponent();
337
340
  }
338
341
  }, [isFetching, selectedPathogen, data]);
339
- var pathogenTitle = !isFetchingPathogens && (pathogens === null || pathogens === void 0 ? void 0 : pathogens.find(function (item) {
342
+ var pathogenTitle = !isFetchingPathogens && waterAuthorityId && !CLEAR_TITLE_FOR_WA_IDS.includes(waterAuthorityId) && "(".concat((pathogens === null || pathogens === void 0 ? void 0 : pathogens.find(function (item) {
340
343
  return item.toLowerCase() === selectedPathogen.toLowerCase();
341
- })) || '';
344
+ })) || getPathogen(), ")") || '';
342
345
  var dropDownTitle = pathogenTitle || _i18n.default.t('components.wbe_dashboard.pathogen_not_found');
343
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Content, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h1", null, "".concat(_i18n.default.t('components.wbe_dashboard.table_name'), " (").concat(pathogenTitle || getPathogen(), ")")), !isFetchingPathogens && pathogens.length === 0 && /*#__PURE__*/_react.default.createElement("h3", null, _i18n.default.t('components.wbe_dashboard.pathogen_not_found')), /*#__PURE__*/_react.default.createElement(ActionsContainer, null, !isFetchingPathogens && pathogens.length > 1 && /*#__PURE__*/_react.default.createElement(_DropdownButton.default, {
346
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Content, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h1", null, "".concat(_i18n.default.t('components.wbe_dashboard.table_name'), " ").concat(pathogenTitle)), !isFetchingPathogens && (pathogens === null || pathogens === void 0 ? void 0 : pathogens.length) === 0 && /*#__PURE__*/_react.default.createElement("h3", null, _i18n.default.t('components.wbe_dashboard.pathogen_not_found')), /*#__PURE__*/_react.default.createElement(ActionsContainer, null, !isFetchingPathogens && (pathogens === null || pathogens === void 0 ? void 0 : pathogens.length) > 1 && /*#__PURE__*/_react.default.createElement(_DropdownButton.default, {
344
347
  id: "dropdown-basic-button",
345
348
  className: 'button button--sort',
346
349
  title: dropDownTitle + ' ',
@@ -420,4 +423,4 @@ var Content = _styledComponents.default.div.withConfig({
420
423
  displayName: "WbeDashboardPage__Content",
421
424
  componentId: "sc-14f81cv-5"
422
425
  })(["@media (max-width:576px){padding:20px;}h1{font-weight:bold;}padding:60px 60px;"]);
423
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9BbmFseXRpY3MiLCJfU2VhcmNoSW5wdXQiLCJfcmVhY3RGb250YXdlc29tZSIsIl9HcmFwaFdyYXBwZXIiLCJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJfYWN0aW9ucyIsIl9UaG91c2FuZHNUb0siLCJfRHJpbGxEb3duSWNvbiIsIl9CYXNlTGV2ZWwiLCJfcmVhY3REYXRhVGFibGVDb21wb25lbnQiLCJfbnZsU3RhdHVzSGVscGVyIiwiX01hcCIsIl9LYW5kb1RhYmxlIiwiX1RhYnMiLCJfdXNlS2FuZG9GZXRjaDIiLCJfdXNlUXVlcnlVUkwiLCJfRHJvcGRvd24iLCJfRHJvcGRvd25CdXR0b24iLCJfYXhpb3MiLCJfVHJ1bmNhdGUiLCJfRXhwYW5kYWJsZUNvbXBvbmVudCIsIl9TcGlubmVyIiwiX1diZVN1bW1hcnlCYXIiLCJfRXJyb3JCb3VuZGFyeSIsIl90aGVtZSIsIl91c2VLYW5kb0ZldGNoMyIsIl91cmxzIiwiX3VzZVVzZXJUaW1lWm9uZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiVEFCTEVfUk9XU19QRVJfUEFHRSIsIk1BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFIiwiV2JlRGFzaGJvYXJkUGFnZSIsImdldFdBSWQiLCJxdWVyeSIsImZldGNoVXJsIiwiZmlyc3RQYXJhbSIsImNvbmNhdCIsInNlbGVjdGVkUGF0aG9nZW4iLCJwYXRob2dlbnNVcmwiLCJ1cmxzIiwid2F0ZXJBdXRob3JpdHlJZCIsIndiZURhc2hib2FyZCIsInBhdGhvZ2VucyIsInVybCIsIkRFRkFVTFRfVEFCUyIsImkxOG4iLCJ0IiwiY29udmVydFRhYk5hbWVUb1BhcmFtIiwidGFiX25hbWUiLCJ1c2VRdWVyeVVSTCIsImdldFBhdGhvZ2VuIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiY3VycmVudERhdGEiLCJzZXRDdXJyZW50RGF0YSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibWFwQXJlYXMiLCJzZXRNYXBBcmVhcyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwibWFwWm9vbSIsInNldE1hcFpvb20iLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInJvd3MiLCJzZXRSb3dzIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwidGFicyIsInNldFRhYnMiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwic2VsZWN0ZWRUYWIiLCJzZXRTZWxlY3RlZFRhYiIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJzZXRTZWxlY3RlZFBhdGhvZ2VuIiwiX3VzZUthbmRvRmV0Y2giLCJ1c2VLYW5kb0ZldGNoIiwiZGF0YSIsImlzRmV0Y2hpbmciLCJzZXRGZXRjaGluZyIsIl9Vc2VLYW5kb0ZldGNoIiwiVXNlS2FuZG9GZXRjaCIsImlzRmV0Y2hpbmdQYXRob2dlbnMiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwibmF2Q29udGV4dCIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJuYXZfY29udGV4dF9kYXRhIiwiZ2xvYmFsRGF0YSIsImdsb2JhbF9kYXRhIiwiaXNSdGwiLCJsb2NhbGUiLCJjb2xvckZvclJvdyIsInJvdyIsInF1YWxpdHkiLCJzYW1wbGVfYWN0aXZlIiwiaXNJbmZlY3RlZCIsIm52bCIsInVzZXJGb3JtYXQiLCJ1c2VVc2VyU2VsZWN0ZWREYXRlRm9ybWF0IiwiY29sdW1ucyIsIlJlYWN0IiwidXNlTWVtbyIsIm5hbWUiLCJzZWxlY3RvciIsInNvcnRhYmxlIiwiY2VsbCIsImNyZWF0ZUVsZW1lbnQiLCJSb3dOYW1lIiwiY2xhc3NOYW1lIiwib25DbGljayIsImhhbmRsZUFyZWFDbGljayIsImhhc19jaGlsZHJlbiIsIlJlYWN0Q29tcG9uZW50IiwiY2hhcmFjdGVycyIsImluaGVyaXRUZXh0QWxpZ24iLCJudmxfY2hhbmdlIiwic3R5bGUiLCJkaXJlY3Rpb24iLCJjb2xvciIsIm1hcmdpbiIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUNoZXZyb25VcCIsImZhQ2hldnJvbkRvd24iLCJsYXN0X3VwZGF0ZWQiLCJkYXlGb3JtYXRGcm9tVGltZSIsIkdyYXBoV3JhcHBlciIsImlkIiwid2F0ZXJfYXV0aG9yaXR5X2lkIiwicGF0aG9nZW4iLCJwb3B1bGF0aW9uIiwia0Zvcm1hdHRlciIsInBhcnNlSW50IiwiaW5pdGlhbGl6ZU1hcEFyZWFzIiwiYXJlYXMiLCJtYXBwZWRXaXRoQ29sb3IiLCJtYXAiLCJhIiwid2JlX2Rhc2hib2FyZF9uYW1lIiwic2hvd0NvbG9yT25seUluQm9yZGVycyIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjYwIiwiUjEwMCIsIkcxMDAiLCJ6b29tVG9BcmVhIiwiYXJlYSIsInNoYXBlX2RhdGEiLCJ1bmRlZmluZWQiLCJ6b29tQWxsQXJlYXMiLCJzaGFwZURhdGEiLCJkYXR1bSIsImxldmVsTlZMIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJkaXIiLCJEaXJlY3Rpb24iLCJSVEwiLCJMVFIiLCJmaWx0ZXJSZXN1bHRzQW5kU2V0Um93cyIsInRleHQiLCJyZXN1bHRzIiwiZmlsdGVyIiwiZWwiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwiaGFuZGxlT25Sb3dFeHBhbmQiLCJleHBhbmRlZCIsIndhdGVyQXV0aG9yaXR5TmFtZSIsImhhbmRsZVNlbGVjdFBhdGhvZ2VuQ2xpY2siLCJhbmFseXRpY3NUcmFjayIsInV0aWxpdHlfbmFtZSIsInB1c2giLCJmZXRjaEZvclRhYlNlbGVjdGlvbiIsInRhYiIsImF4aW9zIiwidGhlbiIsInJlc3BvbnNlIiwicmVzcG9uc2VEYXRhIiwiaGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2siLCJpbml0aWFsaXplRHJpbGxlZEFyZWEiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiaW5pdGlhbGl6ZUNvbXBvbmVudCIsInVwZGF0ZU5hdkNvbnRleHQiLCJ1c2VFZmZlY3QiLCJwYXRob2dlblRpdGxlIiwiZmluZCIsIml0ZW0iLCJkcm9wRG93blRpdGxlIiwiRnJhZ21lbnQiLCJDb250ZW50IiwibGVuZ3RoIiwiQWN0aW9uc0NvbnRhaW5lciIsInRpdGxlIiwidmFyaWFudCIsIkl0ZW0iLCJocmVmIiwidGV4dEFsaWduIiwiRmlyc3RTZWN0aW9uIiwiV2JlU3VtbWFyeUJhciIsIlNlY29uZFNlY3Rpb24iLCJTZWFyY2hJbnB1dCIsIm9uQ2hhbmdlQmVoYXZpb3IiLCJUYWJzIiwiaGFuZGxlT25DbGljayIsIk1hcFRhYmxlQ29udGFpbmVyIiwiU3Bpbm5lciIsIk1hcCIsImFyZWFUb0NlbnRlckJ5IiwiZWRnZXMiLCJwb2ludHMiLCJtYXBCb3hTdHlsZSIsIkthbmRvVGFibGUiLCJvblJvd0V4cGFuZFRvZ2dsZWQiLCJleHBhbmRhYmxlUm93cyIsInBhZ2luYXRpb25QZXJQYWdlIiwicm93Q29tcG9uZW50IiwiRXhwYW5kZWRDb21wb25lbnQiLCJleHBhbmRhYmxlUm93c0NvbXBvbmVudFByb3BzIiwiZGVmYXVsdFNvcnRGaWVsZElkIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwicCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9XYmVEYXNoYm9hcmQvV2JlRGFzaGJvYXJkUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IFNlYXJjaElucHV0IH0gZnJvbSAnLi9TZWFyY2hJbnB1dCc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgR3JhcGhXcmFwcGVyIH0gZnJvbSAnLi9HcmFwaFdyYXBwZXInO1xuaW1wb3J0IHsgZmFDaGV2cm9uRG93biwgZmFDaGV2cm9uVXAgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IHVwZGF0ZU5hdkNvbnRleHQgfSBmcm9tICcuLi8uLi9zdG9yZS9jb250ZXh0L2FjdGlvbnMnO1xuaW1wb3J0IHsga0Zvcm1hdHRlciB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9UaG91c2FuZHNUb0snO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgRHJpbGxEb3duSWNvbiB9IGZyb20gJy4vRHJpbGxEb3duSWNvbi5zdmcnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQmFzZUxldmVsIH0gZnJvbSAnLi9CYXNlTGV2ZWwuc3ZnJztcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ3JlYWN0LWRhdGEtdGFibGUtY29tcG9uZW50JztcbmltcG9ydCB7IGxldmVsTlZMIH0gZnJvbSAnLi4vQ292aWRQYWdlL2NvbXBvbmVudHMvbnZsU3RhdHVzSGVscGVyJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJy4uLy4uL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgeyBLYW5kb1RhYmxlIH0gZnJvbSAnc3JjL3VpLWtpdC9LYW5kb1RhYmxlL0thbmRvVGFibGUnO1xuaW1wb3J0IHsgVGFicyB9IGZyb20gJy4vVGFicyc7XG5pbXBvcnQgdXNlS2FuZG9GZXRjaCBmcm9tICcuLi8uLi9ob29rcy91c2VLYW5kb0ZldGNoJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICcuLi8uLi9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCBEcm9wZG93biBmcm9tICdyZWFjdC1ib290c3RyYXAvY2pzL0Ryb3Bkb3duJztcbmltcG9ydCBEcm9wZG93bkJ1dHRvbiBmcm9tICdyZWFjdC1ib290c3RyYXAvY2pzL0Ryb3Bkb3duQnV0dG9uJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgVHJ1bmNhdGUgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL1RydW5jYXRlJztcbmltcG9ydCB7IEV4cGFuZGVkQ29tcG9uZW50IH0gZnJvbSAnLi9FeHBhbmRhYmxlQ29tcG9uZW50JztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL1NwaW5uZXIvU3Bpbm5lcic7XG5pbXBvcnQgeyBXYmVTdW1tYXJ5QmFyIH0gZnJvbSAnLi9XYmVTdW1tYXJ5QmFyJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJy4uLy4uL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCBVc2VLYW5kb0ZldGNoIGZyb20gJ3NyYy9ob29rcy91c2VLYW5kb0ZldGNoJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHtcbiAgZGF5Rm9ybWF0RnJvbVRpbWUsXG4gIHVzZVVzZXJTZWxlY3RlZERhdGVGb3JtYXQsXG59IGZyb20gJ3NyYy9ob29rcy91c2VVc2VyVGltZVpvbmUnO1xuY29uc3QgVEFCTEVfUk9XU19QRVJfUEFHRSA9IDI1O1xuY29uc3QgTUFQQk9YX1dCRV9EQVNIQk9BUkRfU1RZTEUgPSAnY2t6emtqc2k3MDA1ZjE0bzlpbTBtY3pzOSc7XG5cbmV4cG9ydCBjb25zdCBXYmVEYXNoYm9hcmRQYWdlID0gKCkgPT4ge1xuICBjb25zdCBnZXRXQUlkID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3dhdGVyX2F1dGhvcml0eV9pZCcpO1xuICB9O1xuICBjb25zdCBmZXRjaFVybCA9IChmaXJzdFBhcmFtKSA9PiB7XG4gICAgcmV0dXJuIGAvYXBpX3VpL3diZV9kYXNoYm9hcmQvJHtzZWxlY3RlZFBhdGhvZ2VufS8ke2ZpcnN0UGFyYW19P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dldFdBSWQoKX1gO1xuICB9O1xuICBjb25zdCBwYXRob2dlbnNVcmwgPSAoKSA9PlxuICAgIHVybHMoeyB3YXRlckF1dGhvcml0eUlkOiBnZXRXQUlkKCkgfSkud2JlRGFzaGJvYXJkLnBhdGhvZ2Vucy51cmw7XG4gIGNvbnN0IERFRkFVTFRfVEFCUyA9IFtcbiAgICBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jaXRpZXMnKSxcbiAgICBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5tb25pdG9yZWRfYXJlYXMnKSxcbiAgXTtcbiAgY29uc3QgY29udmVydFRhYk5hbWVUb1BhcmFtID0gKHRhYl9uYW1lOiBzdHJpbmcpID0+IHtcbiAgICBpZiAodGFiX25hbWUgPT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmNpdGllcycpKSB7XG4gICAgICByZXR1cm4gJ2NpdHknO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0YWJfbmFtZSA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJylcbiAgICApIHtcbiAgICAgIHJldHVybiAnbW9uaXRvcmVkJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ2NpdHknO1xuICB9O1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGdldFBhdGhvZ2VuID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3BhdGhvZ2VuJykgfHwgJ2NvdmlkJztcbiAgfTtcblxuICBjb25zdCBbY3VycmVudERhdGEsIHNldEN1cnJlbnREYXRhXSA9IHVzZVN0YXRlKFtdKTtcbiAgY29uc3QgW21hcEFyZWFzLCBzZXRNYXBBcmVhc10gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuICBjb25zdCBbbWFwWm9vbSwgc2V0TWFwWm9vbV0gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuICBjb25zdCBbcm93cywgc2V0Um93c10gPSB1c2VTdGF0ZTxhbnk+KFtdKTtcbiAgY29uc3QgW3RhYnMsIHNldFRhYnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KERFRkFVTFRfVEFCUyk7XG4gIGNvbnN0IFtzZWxlY3RlZFRhYiwgc2V0U2VsZWN0ZWRUYWJdID0gdXNlU3RhdGU8c3RyaW5nPih0YWJzWzBdKTtcbiAgY29uc3QgW3NlbGVjdGVkUGF0aG9nZW4sIHNldFNlbGVjdGVkUGF0aG9nZW5dID0gdXNlU3RhdGU8c3RyaW5nPihcbiAgICBnZXRQYXRob2dlbigpLFxuICApO1xuICBjb25zdCB7IGRhdGEsIGlzRmV0Y2hpbmcsIHNldEZldGNoaW5nIH0gPSB1c2VLYW5kb0ZldGNoKFxuICAgIGZldGNoVXJsKGNvbnZlcnRUYWJOYW1lVG9QYXJhbShzZWxlY3RlZFRhYikpLFxuICApO1xuICBjb25zdCB7IGRhdGE6IHBhdGhvZ2VucywgaXNGZXRjaGluZzogaXNGZXRjaGluZ1BhdGhvZ2VucyB9ID0gVXNlS2FuZG9GZXRjaChcbiAgICBwYXRob2dlbnNVcmwoKSxcbiAgKTtcblxuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG4gIGNvbnN0IGdsb2JhbERhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5nbG9iYWxfZGF0YSxcbiAgKTtcbiAgY29uc3QgaXNSdGw6IGJvb2xlYW4gPSBuYXZDb250ZXh0LmxvY2FsZSA9PT0gJ2hlJyA/IHRydWUgOiBmYWxzZTtcbiAgY29uc3QgY29sb3JGb3JSb3cgPSAocm93KSA9PiB7XG4gICAgbGV0IHF1YWxpdHk7XG4gICAgaWYgKCFyb3cuc2FtcGxlX2FjdGl2ZSkge1xuICAgICAgcXVhbGl0eSA9ICdpbmFjdGl2ZS1zYW1wbGluZyc7XG4gICAgfSBlbHNlIGlmIChpc0luZmVjdGVkKHJvdy5udmwpKSB7XG4gICAgICBxdWFsaXR5ID0gJ2luZmVjdGVkJztcbiAgICB9IGVsc2Uge1xuICAgICAgcXVhbGl0eSA9ICdjbGVhbic7XG4gICAgfVxuXG4gICAgcmV0dXJuIGByb3dfbmFtZS0tJHtxdWFsaXR5fWA7XG4gIH07XG5cbiAgY29uc3QgdXNlckZvcm1hdCA9IHVzZVVzZXJTZWxlY3RlZERhdGVGb3JtYXQoKTtcbiAgY29uc3QgY29sdW1uczogYW55ID0gUmVhY3QudXNlTWVtbyhcbiAgICAoKSA9PiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLm5hbWUnKSxcbiAgICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5uYW1lLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBuYW1lOiBzdHJpbmc7IG52bDogbnVtYmVyOyBoYXNfY2hpbGRyZW46IGJvb2xlYW4gfSkgPT4gKFxuICAgICAgICAgIDxSb3dOYW1lIGlzUnRsPXtpc1J0bH0+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Byb3dfbmFtZSAke2NvbG9yRm9yUm93KHJvdyl9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZUFyZWFDbGljayhyb3cpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V4cGFuZGFibGUtaWNvbid9PlxuICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAge3Jvdy5oYXNfY2hpbGRyZW4gJiYgPERyaWxsRG93bkljb24gLz59XG4gICAgICAgICAgICAgICAgICB7IXJvdy5oYXNfY2hpbGRyZW4gJiYgPEJhc2VMZXZlbCAvPn1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eyduYW1lJ30+XG4gICAgICAgICAgICAgICAgPFRydW5jYXRlIGNoYXJhY3RlcnM9ezN9IGluaGVyaXRUZXh0QWxpZ249e3RydWV9PlxuICAgICAgICAgICAgICAgICAge3Jvdy5uYW1lfVxuICAgICAgICAgICAgICAgIDwvVHJ1bmNhdGU+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvUm93TmFtZT5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLm52bF9zY29yZScpLFxuICAgICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm52bCxcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgbnZsOiBudW1iZXIgfSkgPT4gKFxuICAgICAgICAgIDxkaXYgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiPntyb3cubnZsfTwvZGl2PlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQucGVyY2VudGFnZV9mcm9tX2xhc3Rfc2FtcGxpbmcnKSxcbiAgICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5udmxfY2hhbmdlLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBudmxfY2hhbmdlOiBudW1iZXIgfSkgPT4gKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6ICcjMDAwMDAwJywgbWFyZ2luOiAnMCA2cHgnIH19PlxuICAgICAgICAgICAgICB7cm93Lm52bF9jaGFuZ2V9JVxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIDxGb250QXdlc29tZUljb25cbiAgICAgICAgICAgICAgICBpY29uPXtyb3cubnZsX2NoYW5nZSA+IDAgPyBmYUNoZXZyb25VcCA6IGZhQ2hldnJvbkRvd259XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5sYXN0X3NhbXBsZWQnKSxcbiAgICAgICAgc2VsZWN0b3I6ICdsYXN0X3NhbXBsZWQnLFxuICAgICAgICBzb3J0YWJsZTogKHJvdykgPT4gcm93Lmxhc3RfdXBkYXRlZCxcbiAgICAgICAgY2VsbDogKHJvdzogeyBsYXN0X3VwZGF0ZWQ6IHN0cmluZyB9KSA9PiAoXG4gICAgICAgICAgPGRpdiBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCI+XG4gICAgICAgICAgICB7cm93Lmxhc3RfdXBkYXRlZCA9PT0gbnVsbFxuICAgICAgICAgICAgICA/ICctJ1xuICAgICAgICAgICAgICA6IGRheUZvcm1hdEZyb21UaW1lKHJvdy5sYXN0X3VwZGF0ZWQsIHVzZXJGb3JtYXQpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQudHJlbmRfZ3JhcGgnKSxcbiAgICAgICAgc2VsZWN0b3I6ICd0cmVuZF9ncmFwaCcsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IGlkOiBudW1iZXIgfSkgPT4gKFxuICAgICAgICAgIDxkaXYgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiPlxuICAgICAgICAgICAgPEdyYXBoV3JhcHBlclxuICAgICAgICAgICAgICBrZXk9e3Jvdy5pZH1cbiAgICAgICAgICAgICAgcm93PXtyb3d9XG4gICAgICAgICAgICAgIHdhdGVyX2F1dGhvcml0eV9pZD17Z2V0V0FJZCgpfVxuICAgICAgICAgICAgICBwYXRob2dlbj17c2VsZWN0ZWRQYXRob2dlbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wb3B1bGF0aW9uJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cucG9wdWxhdGlvbixcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgcG9wdWxhdGlvbjogc3RyaW5nIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIHtrRm9ybWF0dGVyKHBhcnNlSW50KHJvdy5wb3B1bGF0aW9uKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgIF0sXG4gICAgW2lzUnRsLCBzZWxlY3RlZFBhdGhvZ2VuLCB1c2VyRm9ybWF0XSxcbiAgKTtcblxuICBjb25zdCBpbml0aWFsaXplTWFwQXJlYXMgPSAoYXJlYXMpID0+IHtcbiAgICBjb25zdCBtYXBwZWRXaXRoQ29sb3IgPSBhcmVhcy5tYXAoKGE6IGFueSkgPT4ge1xuICAgICAgYS53YmVfZGFzaGJvYXJkX25hbWUgPSBhLm5hbWU7XG4gICAgICBhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPSB0cnVlO1xuXG4gICAgICBpZiAoIWEuc2FtcGxlX2FjdGl2ZSkge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjA7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNJbmZlY3RlZChhLm52bCkpIHtcbiAgICAgICAgYS5jb2xvciA9IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuUjEwMDtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUuZGF0YS5HMTAwO1xuICAgICAgICByZXR1cm4gYTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHNldE1hcEFyZWFzKG1hcHBlZFdpdGhDb2xvcik7XG4gIH07XG5cbiAgY29uc3Qgem9vbVRvQXJlYSA9IChhcmVhKSA9PiB7XG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiYgc2V0TWFwWm9vbShhcmVhLnNoYXBlX2RhdGEpO1xuICB9O1xuXG4gIGNvbnN0IHpvb21BbGxBcmVhcyA9IChkYXRhKSA9PiB7XG4gICAgY29uc3Qgc2hhcGVEYXRhID0gZGF0YS5tYXAoKGRhdHVtKSA9PiB7XG4gICAgICByZXR1cm4gZGF0dW0uc2hhcGVfZGF0YTtcbiAgICB9KTtcblxuICAgIHNldE1hcFpvb20oc2hhcGVEYXRhKTtcbiAgfTtcblxuICBjb25zdCBpc0luZmVjdGVkID0gKG52bDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGxldmVsTlZMKG52bCkgPT09ICdjbGVhbicpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbGV2ZWxOVkwobnZsKSA9PT0gJ2xvdycgfHxcbiAgICAgIGxldmVsTlZMKG52bCkgPT09ICdtZWRpdW0nIHx8XG4gICAgICBsZXZlbE5WTChudmwpID09PSAnaGlnaCdcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICApO1xuXG4gIGNvbnN0IGRpcjogRGlyZWN0aW9uID1cbiAgICBuYXZDb250ZXh0LmxvY2FsZSA9PT0gJ2hlJyA/IERpcmVjdGlvbi5SVEwgOiBEaXJlY3Rpb24uTFRSO1xuXG4gIGNvbnN0IGZpbHRlclJlc3VsdHNBbmRTZXRSb3dzID0gKHRleHQ6IHN0cmluZykgPT4ge1xuICAgIGxldCByZXN1bHRzID0gY3VycmVudERhdGEuZmlsdGVyKGZ1bmN0aW9uIChlbDogYW55KSB7XG4gICAgICByZXR1cm4gZWwubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRleHQudG9Mb3dlckNhc2UoKSk7XG4gICAgfSk7XG5cbiAgICBzZXRSb3dzKHJlc3VsdHMpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZU9uUm93RXhwYW5kID0gKGV4cGFuZGVkLCByb3cpID0+IHtcbiAgICBleHBhbmRlZCAmJiB6b29tVG9BcmVhKHJvdyk7XG4gICAgIWV4cGFuZGVkICYmIHpvb21BbGxBcmVhcyhkYXRhKTtcbiAgfTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVTZWxlY3RQYXRob2dlbkNsaWNrID0gKHBhdGhvZ2VuKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1dCRSBTdGF0dXMgUmVwb3J0IC0gUGF0aG9nZW4gY2hhbmdlIGNsaWNrZWQnLCB7XG4gICAgICBwYXRob2dlbjogcGF0aG9nZW4sXG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBzZXRTZWxlY3RlZFBhdGhvZ2VuKHBhdGhvZ2VuKTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgL3diZV9kYXNoYm9hcmQvaW5kZXg/bG9jYWxlPSR7bmF2Q29udGV4dC5sb2NhbGV9JndhdGVyX2F1dGhvcml0eV9pZD0ke3dhdGVyQXV0aG9yaXR5SWR9JnBhdGhvZ2VuPSR7cGF0aG9nZW59YCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoRm9yVGFiU2VsZWN0aW9uID0gKHRhYikgPT4ge1xuICAgIHNldEZldGNoaW5nKHRydWUpO1xuICAgIGF4aW9zLmdldChmZXRjaFVybCh0YWIpKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgbGV0IHJlc3BvbnNlRGF0YSA9IHJlc3BvbnNlLmRhdGEuZGF0YTtcblxuICAgICAgc2V0RmV0Y2hpbmcoZmFsc2UpO1xuICAgICAgc2V0VGFicyhERUZBVUxUX1RBQlMpO1xuICAgICAgc2V0Um93cyhyZXNwb25zZURhdGEpO1xuICAgICAgc2V0Q3VycmVudERhdGEocmVzcG9uc2VEYXRhKTtcbiAgICAgIGluaXRpYWxpemVNYXBBcmVhcyhyZXNwb25zZURhdGEpO1xuICAgICAgem9vbUFsbEFyZWFzKHJlc3BvbnNlRGF0YSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2sgPSAodGFiKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nKSB7XG4gICAgICBzZXRTZWxlY3RlZFRhYih0YWIpO1xuXG4gICAgICBpZiAodGFiICE9PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jdXN0b20nKSkge1xuICAgICAgICB0YWIgPVxuICAgICAgICAgIHRhYiA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY2l0aWVzJylcbiAgICAgICAgICAgID8gJ2NpdHknXG4gICAgICAgICAgICA6IHRhYiA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJylcbiAgICAgICAgICAgID8gJ21vbml0b3JlZCdcbiAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgZmV0Y2hGb3JUYWJTZWxlY3Rpb24odGFiKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaW5pdGlhbGl6ZURyaWxsZWRBcmVhID0gKHJlc3BvbnNlKSA9PiB7XG4gICAgbGV0IGRhdGEgPSByZXNwb25zZS5kYXRhLmRhdGE7XG4gICAgc2V0Um93cyhkYXRhKTtcbiAgICBzZXRDdXJyZW50RGF0YShkYXRhKTtcbiAgICBpbml0aWFsaXplTWFwQXJlYXMoZGF0YSk7XG4gICAgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUFyZWFDbGljayA9IChhcmVhKSA9PiB7XG4gICAgem9vbVRvQXJlYShhcmVhKTtcblxuICAgIGlmIChhcmVhLmhhc19jaGlsZHJlbikge1xuICAgICAgc2V0VGFicyhbLi4udGFicywgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY3VzdG9tJyldKTtcbiAgICAgIHNldFNlbGVjdGVkVGFiKGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmN1c3RvbScpKTtcblxuICAgICAgYXhpb3MuZ2V0KGZldGNoVXJsKGFyZWEuaWQpKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpbml0aWFsaXplRHJpbGxlZEFyZWEocmVzcG9uc2UpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGluaXRpYWxpemVDb21wb25lbnQgPSAoKSA9PiB7XG4gICAgc2V0Q3VycmVudERhdGEoZGF0YSk7XG4gICAgc2V0Um93cyhkYXRhKTtcbiAgICBhbmFseXRpY3NUcmFjaygnV0JFIFN0YXR1cyBSZXBvcnQnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBkaXNwYXRjaCh1cGRhdGVOYXZDb250ZXh0KHsgbmFtZTogJ3diZV9kYXNoYm9hcmQnIH0pKTtcbiAgICBpbml0aWFsaXplTWFwQXJlYXMoZGF0YSk7XG4gICAgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nICYmIGRhdGEgIT09IG51bGwpIHtcbiAgICAgIGluaXRpYWxpemVDb21wb25lbnQoKTtcbiAgICB9XG4gIH0sIFtpc0ZldGNoaW5nLCBzZWxlY3RlZFBhdGhvZ2VuLCBkYXRhXSk7XG5cbiAgY29uc3QgcGF0aG9nZW5UaXRsZSA9XG4gICAgKCFpc0ZldGNoaW5nUGF0aG9nZW5zICYmXG4gICAgICBwYXRob2dlbnM/LmZpbmQoXG4gICAgICAgIChpdGVtKSA9PiBpdGVtLnRvTG93ZXJDYXNlKCkgPT09IHNlbGVjdGVkUGF0aG9nZW4udG9Mb3dlckNhc2UoKSxcbiAgICAgICkpIHx8XG4gICAgJyc7XG4gIGNvbnN0IGRyb3BEb3duVGl0bGUgPVxuICAgIHBhdGhvZ2VuVGl0bGUgfHwgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQucGF0aG9nZW5fbm90X2ZvdW5kJyk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPENvbnRlbnQ+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGgxPlxuICAgICAgICAgICAge2Ake2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnRhYmxlX25hbWUnKX0gKCR7XG4gICAgICAgICAgICAgIHBhdGhvZ2VuVGl0bGUgfHwgZ2V0UGF0aG9nZW4oKVxuICAgICAgICAgICAgfSlgfVxuICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgeyFpc0ZldGNoaW5nUGF0aG9nZW5zICYmIHBhdGhvZ2Vucy5sZW5ndGggPT09IDAgJiYgKFxuICAgICAgICAgICAgPGgzPntpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wYXRob2dlbl9ub3RfZm91bmQnKX08L2gzPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPEFjdGlvbnNDb250YWluZXI+XG4gICAgICAgICAgICB7IWlzRmV0Y2hpbmdQYXRob2dlbnMgJiYgcGF0aG9nZW5zLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICAgICAgICA8RHJvcGRvd25CdXR0b25cbiAgICAgICAgICAgICAgICBpZD1cImRyb3Bkb3duLWJhc2ljLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnYnV0dG9uIGJ1dHRvbi0tc29ydCd9XG4gICAgICAgICAgICAgICAgdGl0bGU9e2Ryb3BEb3duVGl0bGUgKyAnICd9XG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cGF0aG9nZW5zLm1hcCgocGF0aG9nZW4pID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bi5JdGVtXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtwYXRob2dlbn1cbiAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlU2VsZWN0UGF0aG9nZW5DbGljayhwYXRob2dlbil9XG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbmF2Q29udGV4dC5sb2NhbGUgPT09ICdoZScgPyAncmlnaHQnIDogJ2xlZnQnLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7cGF0aG9nZW59XG4gICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd24uSXRlbT5cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIDwvRHJvcGRvd25CdXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQWN0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxGaXJzdFNlY3Rpb24+XG4gICAgICAgICAgPFdiZVN1bW1hcnlCYXJcbiAgICAgICAgICAgIHBhdGhvZ2VuPXtzZWxlY3RlZFBhdGhvZ2VufVxuICAgICAgICAgICAgd2F0ZXJBdXRob3JpdHlJZD17d2F0ZXJBdXRob3JpdHlJZH1cbiAgICAgICAgICAgIGlzUnRsPXtpc1J0bH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0ZpcnN0U2VjdGlvbj5cblxuICAgICAgICA8U2Vjb25kU2VjdGlvbj5cbiAgICAgICAgICA8U2VhcmNoSW5wdXQgb25DaGFuZ2VCZWhhdmlvcj17ZmlsdGVyUmVzdWx0c0FuZFNldFJvd3N9IC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eyd0YWJzLWNvbnRhaW5lcid9PlxuICAgICAgICAgICAgPFRhYnNcbiAgICAgICAgICAgICAgdGFicz17dGFic31cbiAgICAgICAgICAgICAgc2VsZWN0ZWRUYWI9e3NlbGVjdGVkVGFifVxuICAgICAgICAgICAgICBoYW5kbGVPbkNsaWNrPXtoYW5kbGVUYWJTZWxlY3Rpb25DbGlja31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPE1hcFRhYmxlQ29udGFpbmVyIGlzUnRsPXtpc1J0bH0+XG4gICAgICAgICAgICB7aXNGZXRjaGluZyAmJiA8U3Bpbm5lciAvPn1cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnbWFwLWNvbnRhaW5lcid9PlxuICAgICAgICAgICAgICB7IWlzRmV0Y2hpbmcgJiYgcm93cyAhPT0gbnVsbCAmJiBtYXBab29tICE9PSBudWxsICYmIChcbiAgICAgICAgICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICAgICAgICAgIDxNYXBcbiAgICAgICAgICAgICAgICAgICAgYXJlYXM9e21hcEFyZWFzfVxuICAgICAgICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17bWFwWm9vbX1cbiAgICAgICAgICAgICAgICAgICAgZWRnZXM9e1tdfVxuICAgICAgICAgICAgICAgICAgICBwb2ludHM9e1tdfVxuICAgICAgICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsRGF0YX1cbiAgICAgICAgICAgICAgICAgICAgbWFwQm94U3R5bGU9e01BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHshaXNGZXRjaGluZyAmJiByb3dzICE9PSBudWxsICYmIChcbiAgICAgICAgICAgICAgPEthbmRvVGFibGVcbiAgICAgICAgICAgICAgICBvblJvd0V4cGFuZFRvZ2dsZWQ9e2hhbmRsZU9uUm93RXhwYW5kfVxuICAgICAgICAgICAgICAgIGRhdGE9e3Jvd3N9XG4gICAgICAgICAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgICAgICAgICBkaXJlY3Rpb249e2Rpcn1cbiAgICAgICAgICAgICAgICBleHBhbmRhYmxlUm93cz17dHJ1ZX1cbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uUGVyUGFnZT17VEFCTEVfUk9XU19QRVJfUEFHRX1cbiAgICAgICAgICAgICAgICByb3dDb21wb25lbnQ9e0V4cGFuZGVkQ29tcG9uZW50fVxuICAgICAgICAgICAgICAgIGV4cGFuZGFibGVSb3dzQ29tcG9uZW50UHJvcHM9e3sgcGF0aG9nZW46IHNlbGVjdGVkUGF0aG9nZW4gfX1cbiAgICAgICAgICAgICAgICBkZWZhdWx0U29ydEZpZWxkSWQ9ezN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvTWFwVGFibGVDb250YWluZXI+XG4gICAgICAgIDwvU2Vjb25kU2VjdGlvbj5cbiAgICAgIDwvQ29udGVudD5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmNvbnN0IFJvd05hbWUgPSBzdHlsZWQuZGl2PHsgaXNSdGw6IGJvb2xlYW4gfT5gXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgICBcbiAgICAucm93X25hbWUge1xuICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBlYXNlLWluOyAgICAgIFxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICBcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLS1jbGVhbiB7XG4gICAgICAgICBjb2xvcjogIzI3YTYzYTsgXG4gICAgICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyN2E2M2E7ICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYtLWluZmVjdGVkIHtcbiAgICAgICAgICBjb2xvcjogI2UxMDAzNjtcbiAgICAgICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlMTAwMzY7ICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYtLWluYWN0aXZlLXNhbXBsaW5nIHtcbiAgICAgICAgICBjb2xvcjogJHt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07XG4gICAgICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAke3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTsgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgICR7KHApID0+IChwLmlzUnRsID8gJ3JpZ2h0OiA1MXB4OycgOiAnbGVmdDogNTFweDsnKX1cbiAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgd2lkdGg6IDcuNWVtO1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDNweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgYDtcblxuY29uc3QgQWN0aW9uc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBGaXJzdFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBtYXJnaW46IDg1cHggMCAyMHB4IDA7XG5gO1xuXG5jb25zdCBTZWNvbmRTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZDogI2ZjZmNmYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuYDtcblxuY29uc3QgTWFwVGFibGVDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgaXNSdGw6IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgLm1hcC1jb250YWluZXIge1xuICAgIHdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIC5ldmVudC10aW1lcmFuZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDY5dmg7XG4gICAgICB3aWR0aDogMzB2dztcbiAgICB9XG4gIH1cbiAgW2RhdGEtdGVzdGlkPSdrYW5kby10YWJsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBbZGF0YS1jb2x1bW4taWQ9JzEnXSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIC5uYW1lIHtcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTIwcHggKyAxdncpO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGN1YmljLWJlemllcigwLjY1LCAwLjA1LCAwLjM2LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3Bpbm5lci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG5cbiAgaDEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgcGFkZGluZzogNjBweCA2MHB4O1xuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxlQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsYUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsa0JBQUEsR0FBQVQsT0FBQTtBQUVBLElBQUFVLFFBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLGFBQUEsR0FBQVgsT0FBQTtBQUEwRCxJQUFBWSxjQUFBLEdBQUFaLE9BQUE7QUFBQSxJQUFBYSxVQUFBLEdBQUFiLE9BQUE7QUFHMUQsSUFBQWMsd0JBQUEsR0FBQWQsT0FBQTtBQUNBLElBQUFlLGdCQUFBLEdBQUFmLE9BQUE7QUFDQSxJQUFBZ0IsSUFBQSxHQUFBaEIsT0FBQTtBQUNBLElBQUFpQixXQUFBLEdBQUFqQixPQUFBO0FBQ0EsSUFBQWtCLEtBQUEsR0FBQWxCLE9BQUE7QUFDQSxJQUFBbUIsZUFBQSxHQUFBakIsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFvQixZQUFBLEdBQUFsQixzQkFBQSxD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
426
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9BbmFseXRpY3MiLCJfU2VhcmNoSW5wdXQiLCJfcmVhY3RGb250YXdlc29tZSIsIl9HcmFwaFdyYXBwZXIiLCJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJfYWN0aW9ucyIsIl9UaG91c2FuZHNUb0siLCJfRHJpbGxEb3duSWNvbiIsIl9CYXNlTGV2ZWwiLCJfcmVhY3REYXRhVGFibGVDb21wb25lbnQiLCJfbnZsU3RhdHVzSGVscGVyIiwiX01hcCIsIl9LYW5kb1RhYmxlIiwiX1RhYnMiLCJfdXNlS2FuZG9GZXRjaDIiLCJfdXNlUXVlcnlVUkwiLCJfRHJvcGRvd24iLCJfRHJvcGRvd25CdXR0b24iLCJfYXhpb3MiLCJfVHJ1bmNhdGUiLCJfRXhwYW5kYWJsZUNvbXBvbmVudCIsIl9TcGlubmVyIiwiX1diZVN1bW1hcnlCYXIiLCJfRXJyb3JCb3VuZGFyeSIsIl90aGVtZSIsIl91c2VLYW5kb0ZldGNoMyIsIl91cmxzIiwiX3VzZVVzZXJUaW1lWm9uZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiVEFCTEVfUk9XU19QRVJfUEFHRSIsIk1BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFIiwiQ0xFQVJfVElUTEVfRk9SX1dBX0lEUyIsIldiZURhc2hib2FyZFBhZ2UiLCJnZXRXQUlkIiwicXVlcnkiLCJmZXRjaFVybCIsImZpcnN0UGFyYW0iLCJjb25jYXQiLCJzZWxlY3RlZFBhdGhvZ2VuIiwicGF0aG9nZW5zVXJsIiwidXJscyIsIndhdGVyQXV0aG9yaXR5SWQiLCJ3YmVEYXNoYm9hcmQiLCJwYXRob2dlbnMiLCJ1cmwiLCJERUZBVUxUX1RBQlMiLCJpMThuIiwidCIsImNvbnZlcnRUYWJOYW1lVG9QYXJhbSIsInRhYl9uYW1lIiwidXNlUXVlcnlVUkwiLCJnZXRQYXRob2dlbiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImN1cnJlbnREYXRhIiwic2V0Q3VycmVudERhdGEiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIm1hcEFyZWFzIiwic2V0TWFwQXJlYXMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsIm1hcFpvb20iLCJzZXRNYXBab29tIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJyb3dzIiwic2V0Um93cyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsInRhYnMiLCJzZXRUYWJzIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNlbGVjdGVkVGFiIiwic2V0U2VsZWN0ZWRUYWIiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0Iiwic2V0U2VsZWN0ZWRQYXRob2dlbiIsIl91c2VLYW5kb0ZldGNoIiwidXNlS2FuZG9GZXRjaCIsImRhdGEiLCJpc0ZldGNoaW5nIiwic2V0RmV0Y2hpbmciLCJfVXNlS2FuZG9GZXRjaCIsIlVzZUthbmRvRmV0Y2giLCJpc0ZldGNoaW5nUGF0aG9nZW5zIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIm5hdkNvbnRleHQiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsImdsb2JhbERhdGEiLCJnbG9iYWxfZGF0YSIsImlzUnRsIiwibG9jYWxlIiwiY29sb3JGb3JSb3ciLCJyb3ciLCJxdWFsaXR5Iiwic2FtcGxlX2FjdGl2ZSIsImlzSW5mZWN0ZWQiLCJudmwiLCJ1c2VyRm9ybWF0IiwidXNlVXNlclNlbGVjdGVkRGF0ZUZvcm1hdCIsImNvbHVtbnMiLCJSZWFjdCIsInVzZU1lbW8iLCJuYW1lIiwic2VsZWN0b3IiLCJzb3J0YWJsZSIsImNlbGwiLCJjcmVhdGVFbGVtZW50IiwiUm93TmFtZSIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJoYW5kbGVBcmVhQ2xpY2siLCJoYXNfY2hpbGRyZW4iLCJSZWFjdENvbXBvbmVudCIsImNoYXJhY3RlcnMiLCJpbmhlcml0VGV4dEFsaWduIiwibnZsX2NoYW5nZSIsInN0eWxlIiwiZGlyZWN0aW9uIiwiY29sb3IiLCJtYXJnaW4iLCJGb250QXdlc29tZUljb24iLCJpY29uIiwiZmFDaGV2cm9uVXAiLCJmYUNoZXZyb25Eb3duIiwibGFzdF91cGRhdGVkIiwiZGF5Rm9ybWF0RnJvbVRpbWUiLCJHcmFwaFdyYXBwZXIiLCJpZCIsIndhdGVyX2F1dGhvcml0eV9pZCIsInBhdGhvZ2VuIiwicG9wdWxhdGlvbiIsImtGb3JtYXR0ZXIiLCJwYXJzZUludCIsImluaXRpYWxpemVNYXBBcmVhcyIsImFyZWFzIiwibWFwcGVkV2l0aENvbG9yIiwibWFwIiwiYSIsIndiZV9kYXNoYm9hcmRfbmFtZSIsInNob3dDb2xvck9ubHlJbkJvcmRlcnMiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm42MCIsIlIxMDAiLCJHMTAwIiwiem9vbVRvQXJlYSIsImFyZWEiLCJzaGFwZV9kYXRhIiwidW5kZWZpbmVkIiwiem9vbUFsbEFyZWFzIiwic2hhcGVEYXRhIiwiZGF0dW0iLCJsZXZlbE5WTCIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwiZGlyIiwiRGlyZWN0aW9uIiwiUlRMIiwiTFRSIiwiZmlsdGVyUmVzdWx0c0FuZFNldFJvd3MiLCJ0ZXh0IiwicmVzdWx0cyIsImZpbHRlciIsImVsIiwidG9Mb3dlckNhc2UiLCJpbmNsdWRlcyIsImhhbmRsZU9uUm93RXhwYW5kIiwiZXhwYW5kZWQiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJoYW5kbGVTZWxlY3RQYXRob2dlbkNsaWNrIiwiYW5hbHl0aWNzVHJhY2siLCJ1dGlsaXR5X25hbWUiLCJwdXNoIiwiZmV0Y2hGb3JUYWJTZWxlY3Rpb24iLCJ0YWIiLCJheGlvcyIsInRoZW4iLCJyZXNwb25zZSIsInJlc3BvbnNlRGF0YSIsImhhbmRsZVRhYlNlbGVjdGlvbkNsaWNrIiwiaW5pdGlhbGl6ZURyaWxsZWRBcmVhIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsImluaXRpYWxpemVDb21wb25lbnQiLCJ1cGRhdGVOYXZDb250ZXh0IiwidXNlRWZmZWN0IiwicGF0aG9nZW5UaXRsZSIsImZpbmQiLCJpdGVtIiwiZHJvcERvd25UaXRsZSIsIkZyYWdtZW50IiwiQ29udGVudCIsImxlbmd0aCIsIkFjdGlvbnNDb250YWluZXIiLCJ0aXRsZSIsInZhcmlhbnQiLCJJdGVtIiwiaHJlZiIsInRleHRBbGlnbiIsIkZpcnN0U2VjdGlvbiIsIldiZVN1bW1hcnlCYXIiLCJTZWNvbmRTZWN0aW9uIiwiU2VhcmNoSW5wdXQiLCJvbkNoYW5nZUJlaGF2aW9yIiwiVGFicyIsImhhbmRsZU9uQ2xpY2siLCJNYXBUYWJsZUNvbnRhaW5lciIsIlNwaW5uZXIiLCJNYXAiLCJhcmVhVG9DZW50ZXJCeSIsImVkZ2VzIiwicG9pbnRzIiwibWFwQm94U3R5bGUiLCJLYW5kb1RhYmxlIiwib25Sb3dFeHBhbmRUb2dnbGVkIiwiZXhwYW5kYWJsZVJvd3MiLCJwYWdpbmF0aW9uUGVyUGFnZSIsInJvd0NvbXBvbmVudCIsIkV4cGFuZGVkQ29tcG9uZW50IiwiZXhwYW5kYWJsZVJvd3NDb21wb25lbnRQcm9wcyIsImRlZmF1bHRTb3J0RmllbGRJZCIsImV4cG9ydHMiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsInAiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvV2JlRGFzaGJvYXJkL1diZURhc2hib2FyZFBhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZUhpc3RvcnkgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyBTZWFyY2hJbnB1dCB9IGZyb20gJy4vU2VhcmNoSW5wdXQnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IEdyYXBoV3JhcHBlciB9IGZyb20gJy4vR3JhcGhXcmFwcGVyJztcbmltcG9ydCB7IGZhQ2hldnJvbkRvd24sIGZhQ2hldnJvblVwIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICcuLi8uLi9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyB1cGRhdGVOYXZDb250ZXh0IH0gZnJvbSAnLi4vLi4vc3RvcmUvY29udGV4dC9hY3Rpb25zJztcbmltcG9ydCB7IGtGb3JtYXR0ZXIgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvVGhvdXNhbmRzVG9LJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIERyaWxsRG93bkljb24gfSBmcm9tICcuL0RyaWxsRG93bkljb24uc3ZnJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEJhc2VMZXZlbCB9IGZyb20gJy4vQmFzZUxldmVsLnN2Zyc7XG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdyZWFjdC1kYXRhLXRhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBsZXZlbE5WTCB9IGZyb20gJy4uL0NvdmlkUGFnZS9jb21wb25lbnRzL252bFN0YXR1c0hlbHBlcic7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICcuLi8uLi9XaWRnZXRzL01hcC9NYXAnO1xuaW1wb3J0IHsgS2FuZG9UYWJsZSB9IGZyb20gJ3NyYy91aS1raXQvS2FuZG9UYWJsZS9LYW5kb1RhYmxlJztcbmltcG9ydCB7IFRhYnMgfSBmcm9tICcuL1RhYnMnO1xuaW1wb3J0IHVzZUthbmRvRmV0Y2ggZnJvbSAnLi4vLi4vaG9va3MvdXNlS2FuZG9GZXRjaCc7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgRHJvcGRvd24gZnJvbSAncmVhY3QtYm9vdHN0cmFwL2Nqcy9Ecm9wZG93bic7XG5pbXBvcnQgRHJvcGRvd25CdXR0b24gZnJvbSAncmVhY3QtYm9vdHN0cmFwL2Nqcy9Ecm9wZG93bkJ1dHRvbic7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IFRydW5jYXRlIGZyb20gJy4uLy4uL3V0aWxpdGllcy9UcnVuY2F0ZSc7XG5pbXBvcnQgeyBFeHBhbmRlZENvbXBvbmVudCB9IGZyb20gJy4vRXhwYW5kYWJsZUNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9TcGlubmVyL1NwaW5uZXInO1xuaW1wb3J0IHsgV2JlU3VtbWFyeUJhciB9IGZyb20gJy4vV2JlU3VtbWFyeUJhcic7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICcuLi8uLi91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgVXNlS2FuZG9GZXRjaCBmcm9tICdzcmMvaG9va3MvdXNlS2FuZG9GZXRjaCc7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcbmltcG9ydCB7XG4gIGRheUZvcm1hdEZyb21UaW1lLFxuICB1c2VVc2VyU2VsZWN0ZWREYXRlRm9ybWF0LFxufSBmcm9tICdzcmMvaG9va3MvdXNlVXNlclRpbWVab25lJztcbmNvbnN0IFRBQkxFX1JPV1NfUEVSX1BBR0UgPSAyNTtcbmNvbnN0IE1BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFID0gJ2NrenpranNpNzAwNWYxNG85aW0wbWN6czknO1xuLy8gVGhpcyBpcyBzcGVjaWZpY2FsbHkgZm9yIGN1c3RvbWVyIEFGLUVsZG9yZXRcbi8vIFRoZXJlIGFyZSB0d28gaWRzLCBvbmUgZm9yIHN0YWdpbmcgYW5kIG9uZSBmb3IgcHJvZHV0aW9uXG5jb25zdCBDTEVBUl9USVRMRV9GT1JfV0FfSURTID0gWzU2NSwgNTU4XTtcblxuZXhwb3J0IGNvbnN0IFdiZURhc2hib2FyZFBhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IGdldFdBSWQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgnd2F0ZXJfYXV0aG9yaXR5X2lkJyk7XG4gIH07XG4gIGNvbnN0IGZldGNoVXJsID0gKGZpcnN0UGFyYW0pID0+IHtcbiAgICByZXR1cm4gYC9hcGlfdWkvd2JlX2Rhc2hib2FyZC8ke3NlbGVjdGVkUGF0aG9nZW59LyR7Zmlyc3RQYXJhbX0/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2V0V0FJZCgpfWA7XG4gIH07XG4gIGNvbnN0IHBhdGhvZ2Vuc1VybCA9ICgpID0+XG4gICAgdXJscyh7IHdhdGVyQXV0aG9yaXR5SWQ6IGdldFdBSWQoKSB9KS53YmVEYXNoYm9hcmQucGF0aG9nZW5zLnVybDtcbiAgY29uc3QgREVGQVVMVF9UQUJTID0gW1xuICAgIGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmNpdGllcycpLFxuICAgIGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLm1vbml0b3JlZF9hcmVhcycpLFxuICBdO1xuICBjb25zdCBjb252ZXJ0VGFiTmFtZVRvUGFyYW0gPSAodGFiX25hbWU6IHN0cmluZykgPT4ge1xuICAgIGlmICh0YWJfbmFtZSA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY2l0aWVzJykpIHtcbiAgICAgIHJldHVybiAnY2l0eSc7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRhYl9uYW1lID09PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5tb25pdG9yZWRfYXJlYXMnKVxuICAgICkge1xuICAgICAgcmV0dXJuICdtb25pdG9yZWQnO1xuICAgIH1cblxuICAgIHJldHVybiAnY2l0eSc7XG4gIH07XG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgZ2V0UGF0aG9nZW4gPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgncGF0aG9nZW4nKSB8fCAnY292aWQnO1xuICB9O1xuXG4gIGNvbnN0IFtjdXJyZW50RGF0YSwgc2V0Q3VycmVudERhdGFdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbbWFwQXJlYXMsIHNldE1hcEFyZWFzXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG4gIGNvbnN0IFttYXBab29tLCBzZXRNYXBab29tXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG4gIGNvbnN0IFtyb3dzLCBzZXRSb3dzXSA9IHVzZVN0YXRlPGFueT4oW10pO1xuICBjb25zdCBbdGFicywgc2V0VGFic10gPSB1c2VTdGF0ZTxzdHJpbmdbXT4oREVGQVVMVF9UQUJTKTtcbiAgY29uc3QgW3NlbGVjdGVkVGFiLCBzZXRTZWxlY3RlZFRhYl0gPSB1c2VTdGF0ZTxzdHJpbmc+KHRhYnNbMF0pO1xuICBjb25zdCBbc2VsZWN0ZWRQYXRob2dlbiwgc2V0U2VsZWN0ZWRQYXRob2dlbl0gPSB1c2VTdGF0ZTxzdHJpbmc+KFxuICAgIGdldFBhdGhvZ2VuKCksXG4gICk7XG4gIGNvbnN0IHsgZGF0YSwgaXNGZXRjaGluZywgc2V0RmV0Y2hpbmcgfSA9IHVzZUthbmRvRmV0Y2goXG4gICAgZmV0Y2hVcmwoY29udmVydFRhYk5hbWVUb1BhcmFtKHNlbGVjdGVkVGFiKSksXG4gICk7XG4gIGNvbnN0IHsgZGF0YTogcGF0aG9nZW5zLCBpc0ZldGNoaW5nOiBpc0ZldGNoaW5nUGF0aG9nZW5zIH0gPSBVc2VLYW5kb0ZldGNoKFxuICAgIHBhdGhvZ2Vuc1VybCgpLFxuICApO1xuXG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2Q29udGV4dCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLm5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dCxcbiAgKTtcbiAgY29uc3QgZ2xvYmFsRGF0YSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLmdsb2JhbF9kYXRhLFxuICApO1xuICBjb25zdCBpc1J0bDogYm9vbGVhbiA9IG5hdkNvbnRleHQubG9jYWxlID09PSAnaGUnID8gdHJ1ZSA6IGZhbHNlO1xuICBjb25zdCBjb2xvckZvclJvdyA9IChyb3cpID0+IHtcbiAgICBsZXQgcXVhbGl0eTtcbiAgICBpZiAoIXJvdy5zYW1wbGVfYWN0aXZlKSB7XG4gICAgICBxdWFsaXR5ID0gJ2luYWN0aXZlLXNhbXBsaW5nJztcbiAgICB9IGVsc2UgaWYgKGlzSW5mZWN0ZWQocm93Lm52bCkpIHtcbiAgICAgIHF1YWxpdHkgPSAnaW5mZWN0ZWQnO1xuICAgIH0gZWxzZSB7XG4gICAgICBxdWFsaXR5ID0gJ2NsZWFuJztcbiAgICB9XG5cbiAgICByZXR1cm4gYHJvd19uYW1lLS0ke3F1YWxpdHl9YDtcbiAgfTtcblxuICBjb25zdCB1c2VyRm9ybWF0ID0gdXNlVXNlclNlbGVjdGVkRGF0ZUZvcm1hdCgpO1xuICBjb25zdCBjb2x1bW5zOiBhbnkgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubmFtZScpLFxuICAgICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm5hbWUsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG5hbWU6IHN0cmluZzsgbnZsOiBudW1iZXI7IGhhc19jaGlsZHJlbjogYm9vbGVhbiB9KSA9PiAoXG4gICAgICAgICAgPFJvd05hbWUgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHJvd19uYW1lICR7Y29sb3JGb3JSb3cocm93KX1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlQXJlYUNsaWNrKHJvdyk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXhwYW5kYWJsZS1pY29uJ30+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICB7cm93Lmhhc19jaGlsZHJlbiAmJiA8RHJpbGxEb3duSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgIHshcm93Lmhhc19jaGlsZHJlbiAmJiA8QmFzZUxldmVsIC8+fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J25hbWUnfT5cbiAgICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17M30gaW5oZXJpdFRleHRBbGlnbj17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgICB7cm93Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9UcnVuY2F0ZT5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9Sb3dOYW1lPlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubnZsX3Njb3JlJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cubnZsLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBudmw6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdiBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCI+e3Jvdy5udmx9PC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wZXJjZW50YWdlX2Zyb21fbGFzdF9zYW1wbGluZycpLFxuICAgICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm52bF9jaGFuZ2UsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG52bF9jaGFuZ2U6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXJlY3Rpb246ICdsdHInLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBjb2xvcjogJyMwMDAwMDAnLCBtYXJnaW46ICcwIDZweCcgfX0+XG4gICAgICAgICAgICAgIHtyb3cubnZsX2NoYW5nZX0lXG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgICAgIGljb249e3Jvdy5udmxfY2hhbmdlID4gMCA/IGZhQ2hldnJvblVwIDogZmFDaGV2cm9uRG93bn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmxhc3Rfc2FtcGxlZCcpLFxuICAgICAgICBzZWxlY3RvcjogJ2xhc3Rfc2FtcGxlZCcsXG4gICAgICAgIHNvcnRhYmxlOiAocm93KSA9PiByb3cubGFzdF91cGRhdGVkLFxuICAgICAgICBjZWxsOiAocm93OiB7IGxhc3RfdXBkYXRlZDogc3RyaW5nIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIHtyb3cubGFzdF91cGRhdGVkID09PSBudWxsXG4gICAgICAgICAgICAgID8gJy0nXG4gICAgICAgICAgICAgIDogZGF5Rm9ybWF0RnJvbVRpbWUocm93Lmxhc3RfdXBkYXRlZCwgdXNlckZvcm1hdCl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC50cmVuZF9ncmFwaCcpLFxuICAgICAgICBzZWxlY3RvcjogJ3RyZW5kX2dyYXBoJyxcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgaWQ6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdiBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCI+XG4gICAgICAgICAgICA8R3JhcGhXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cm93LmlkfVxuICAgICAgICAgICAgICByb3c9e3Jvd31cbiAgICAgICAgICAgICAgd2F0ZXJfYXV0aG9yaXR5X2lkPXtnZXRXQUlkKCl9XG4gICAgICAgICAgICAgIHBhdGhvZ2VuPXtzZWxlY3RlZFBhdGhvZ2VufVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnBvcHVsYXRpb24nKSxcbiAgICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5wb3B1bGF0aW9uLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBwb3B1bGF0aW9uOiBzdHJpbmcgfSkgPT4gKFxuICAgICAgICAgIDxkaXYgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiPlxuICAgICAgICAgICAge2tGb3JtYXR0ZXIocGFyc2VJbnQocm93LnBvcHVsYXRpb24pKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbaXNSdGwsIHNlbGVjdGVkUGF0aG9nZW4sIHVzZXJGb3JtYXRdLFxuICApO1xuXG4gIGNvbnN0IGluaXRpYWxpemVNYXBBcmVhcyA9IChhcmVhcykgPT4ge1xuICAgIGNvbnN0IG1hcHBlZFdpdGhDb2xvciA9IGFyZWFzLm1hcCgoYTogYW55KSA9PiB7XG4gICAgICBhLndiZV9kYXNoYm9hcmRfbmFtZSA9IGEubmFtZTtcbiAgICAgIGEuc2hvd0NvbG9yT25seUluQm9yZGVycyA9IHRydWU7XG5cbiAgICAgIGlmICghYS5zYW1wbGVfYWN0aXZlKSB7XG4gICAgICAgIGEuY29sb3IgPSB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MDtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0luZmVjdGVkKGEubnZsKSkge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUuZGF0YS5SMTAwO1xuICAgICAgICByZXR1cm4gYTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGEuY29sb3IgPSB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLkcxMDA7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgc2V0TWFwQXJlYXMobWFwcGVkV2l0aENvbG9yKTtcbiAgfTtcblxuICBjb25zdCB6b29tVG9BcmVhID0gKGFyZWEpID0+IHtcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJiBzZXRNYXBab29tKGFyZWEuc2hhcGVfZGF0YSk7XG4gIH07XG5cbiAgY29uc3Qgem9vbUFsbEFyZWFzID0gKGRhdGEpID0+IHtcbiAgICBjb25zdCBzaGFwZURhdGEgPSBkYXRhLm1hcCgoZGF0dW0pID0+IHtcbiAgICAgIHJldHVybiBkYXR1bS5zaGFwZV9kYXRhO1xuICAgIH0pO1xuXG4gICAgc2V0TWFwWm9vbShzaGFwZURhdGEpO1xuICB9O1xuXG4gIGNvbnN0IGlzSW5mZWN0ZWQgPSAobnZsOiBudW1iZXIpID0+IHtcbiAgICBpZiAobGV2ZWxOVkwobnZsKSA9PT0gJ2NsZWFuJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsZXZlbE5WTChudmwpID09PSAnbG93JyB8fFxuICAgICAgbGV2ZWxOVkwobnZsKSA9PT0gJ21lZGl1bScgfHxcbiAgICAgIGxldmVsTlZMKG52bCkgPT09ICdoaWdoJ1xuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9O1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCB3YXRlckF1dGhvcml0eUlkID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT5cbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICk7XG5cbiAgY29uc3QgZGlyOiBEaXJlY3Rpb24gPVxuICAgIG5hdkNvbnRleHQubG9jYWxlID09PSAnaGUnID8gRGlyZWN0aW9uLlJUTCA6IERpcmVjdGlvbi5MVFI7XG5cbiAgY29uc3QgZmlsdGVyUmVzdWx0c0FuZFNldFJvd3MgPSAodGV4dDogc3RyaW5nKSA9PiB7XG4gICAgbGV0IHJlc3VsdHMgPSBjdXJyZW50RGF0YS5maWx0ZXIoZnVuY3Rpb24gKGVsOiBhbnkpIHtcbiAgICAgIHJldHVybiBlbC5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGV4dC50b0xvd2VyQ2FzZSgpKTtcbiAgICB9KTtcblxuICAgIHNldFJvd3MocmVzdWx0cyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlT25Sb3dFeHBhbmQgPSAoZXhwYW5kZWQsIHJvdykgPT4ge1xuICAgIGV4cGFuZGVkICYmIHpvb21Ub0FyZWEocm93KTtcbiAgICAhZXhwYW5kZWQgJiYgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5TmFtZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdFBhdGhvZ2VuQ2xpY2sgPSAocGF0aG9nZW4pID0+IHtcbiAgICBhbmFseXRpY3NUcmFjaygnV0JFIFN0YXR1cyBSZXBvcnQgLSBQYXRob2dlbiBjaGFuZ2UgY2xpY2tlZCcsIHtcbiAgICAgIHBhdGhvZ2VuOiBwYXRob2dlbixcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIHNldFNlbGVjdGVkUGF0aG9nZW4ocGF0aG9nZW4pO1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIGAvd2JlX2Rhc2hib2FyZC9pbmRleD9sb2NhbGU9JHtuYXZDb250ZXh0LmxvY2FsZX0md2F0ZXJfYXV0aG9yaXR5X2lkPSR7d2F0ZXJBdXRob3JpdHlJZH0mcGF0aG9nZW49JHtwYXRob2dlbn1gLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZmV0Y2hGb3JUYWJTZWxlY3Rpb24gPSAodGFiKSA9PiB7XG4gICAgc2V0RmV0Y2hpbmcodHJ1ZSk7XG4gICAgYXhpb3MuZ2V0KGZldGNoVXJsKHRhYikpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICBsZXQgcmVzcG9uc2VEYXRhID0gcmVzcG9uc2UuZGF0YS5kYXRhO1xuXG4gICAgICBzZXRGZXRjaGluZyhmYWxzZSk7XG4gICAgICBzZXRUYWJzKERFRkFVTFRfVEFCUyk7XG4gICAgICBzZXRSb3dzKHJlc3BvbnNlRGF0YSk7XG4gICAgICBzZXRDdXJyZW50RGF0YShyZXNwb25zZURhdGEpO1xuICAgICAgaW5pdGlhbGl6ZU1hcEFyZWFzKHJlc3BvbnNlRGF0YSk7XG4gICAgICB6b29tQWxsQXJlYXMocmVzcG9uc2VEYXRhKTtcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVUYWJTZWxlY3Rpb25DbGljayA9ICh0YWIpID0+IHtcbiAgICBpZiAoIWlzRmV0Y2hpbmcpIHtcbiAgICAgIHNldFNlbGVjdGVkVGFiKHRhYik7XG5cbiAgICAgIGlmICh0YWIgIT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmN1c3RvbScpKSB7XG4gICAgICAgIHRhYiA9XG4gICAgICAgICAgdGFiID09PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jaXRpZXMnKVxuICAgICAgICAgICAgPyAnY2l0eSdcbiAgICAgICAgICAgIDogdGFiID09PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5tb25pdG9yZWRfYXJlYXMnKVxuICAgICAgICAgICAgPyAnbW9uaXRvcmVkJ1xuICAgICAgICAgICAgOiAnJztcblxuICAgICAgICBmZXRjaEZvclRhYlNlbGVjdGlvbih0YWIpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBpbml0aWFsaXplRHJpbGxlZEFyZWEgPSAocmVzcG9uc2UpID0+IHtcbiAgICBsZXQgZGF0YSA9IHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICBzZXRSb3dzKGRhdGEpO1xuICAgIHNldEN1cnJlbnREYXRhKGRhdGEpO1xuICAgIGluaXRpYWxpemVNYXBBcmVhcyhkYXRhKTtcbiAgICB6b29tQWxsQXJlYXMoZGF0YSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQXJlYUNsaWNrID0gKGFyZWEpID0+IHtcbiAgICB6b29tVG9BcmVhKGFyZWEpO1xuXG4gICAgaWYgKGFyZWEuaGFzX2NoaWxkcmVuKSB7XG4gICAgICBzZXRUYWJzKFsuLi50YWJzLCBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jdXN0b20nKV0pO1xuICAgICAgc2V0U2VsZWN0ZWRUYWIoaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY3VzdG9tJykpO1xuXG4gICAgICBheGlvcy5nZXQoZmV0Y2hVcmwoYXJlYS5pZCkpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGluaXRpYWxpemVEcmlsbGVkQXJlYShyZXNwb25zZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaW5pdGlhbGl6ZUNvbXBvbmVudCA9ICgpID0+IHtcbiAgICBzZXRDdXJyZW50RGF0YShkYXRhKTtcbiAgICBzZXRSb3dzKGRhdGEpO1xuICAgIGFuYWx5dGljc1RyYWNrKCdXQkUgU3RhdHVzIFJlcG9ydCcsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIGRpc3BhdGNoKHVwZGF0ZU5hdkNvbnRleHQoeyBuYW1lOiAnd2JlX2Rhc2hib2FyZCcgfSkpO1xuICAgIGluaXRpYWxpemVNYXBBcmVhcyhkYXRhKTtcbiAgICB6b29tQWxsQXJlYXMoZGF0YSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzRmV0Y2hpbmcgJiYgZGF0YSAhPT0gbnVsbCkge1xuICAgICAgaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xuICAgIH1cbiAgfSwgW2lzRmV0Y2hpbmcsIHNlbGVjdGVkUGF0aG9nZW4sIGRhdGFdKTtcblxuICBjb25zdCBwYXRob2dlblRpdGxlID1cbiAgICAoIWlzRmV0Y2hpbmdQYXRob2dlbnMgJiZcbiAgICAgIHdhdGVyQXV0aG9yaXR5SWQgJiZcbiAgICAgICFDTEVBUl9USVRMRV9GT1JfV0FfSURTLmluY2x1ZGVzKHdhdGVyQXV0aG9yaXR5SWQpICYmXG4gICAgICBgKCR7XG4gICAgICAgIHBhdGhvZ2Vucz8uZmluZChcbiAgICAgICAgICAoaXRlbSkgPT4gaXRlbS50b0xvd2VyQ2FzZSgpID09PSBzZWxlY3RlZFBhdGhvZ2VuLnRvTG93ZXJDYXNlKCksXG4gICAgICAgICkgfHwgZ2V0UGF0aG9nZW4oKVxuICAgICAgfSlgKSB8fFxuICAgICcnO1xuXG4gIGNvbnN0IGRyb3BEb3duVGl0bGUgPVxuICAgIHBhdGhvZ2VuVGl0bGUgfHwgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQucGF0aG9nZW5fbm90X2ZvdW5kJyk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPENvbnRlbnQ+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGgxPlxuICAgICAgICAgICAge2Ake2kxOG4udChcbiAgICAgICAgICAgICAgJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC50YWJsZV9uYW1lJyxcbiAgICAgICAgICAgICl9ICR7cGF0aG9nZW5UaXRsZX1gfVxuICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgeyFpc0ZldGNoaW5nUGF0aG9nZW5zICYmIHBhdGhvZ2Vucz8ubGVuZ3RoID09PSAwICYmIChcbiAgICAgICAgICAgIDxoMz57aTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQucGF0aG9nZW5fbm90X2ZvdW5kJyl9PC9oMz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxBY3Rpb25zQ29udGFpbmVyPlxuICAgICAgICAgICAgeyFpc0ZldGNoaW5nUGF0aG9nZW5zICYmIHBhdGhvZ2Vucz8ubGVuZ3RoID4gMSAmJiAoXG4gICAgICAgICAgICAgIDxEcm9wZG93bkJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwiZHJvcGRvd24tYmFzaWMtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9eydidXR0b24gYnV0dG9uLS1zb3J0J31cbiAgICAgICAgICAgICAgICB0aXRsZT17ZHJvcERvd25UaXRsZSArICcgJ31cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtwYXRob2dlbnMubWFwKChwYXRob2dlbikgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duLkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e3BhdGhvZ2VufVxuICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVTZWxlY3RQYXRob2dlbkNsaWNrKHBhdGhvZ2VuKX1cbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOlxuICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZDb250ZXh0LmxvY2FsZSA9PT0gJ2hlJyA/ICdyaWdodCcgOiAnbGVmdCcsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHtwYXRob2dlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bi5JdGVtPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPC9Ecm9wZG93bkJ1dHRvbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9BY3Rpb25zQ29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPEZpcnN0U2VjdGlvbj5cbiAgICAgICAgICA8V2JlU3VtbWFyeUJhclxuICAgICAgICAgICAgcGF0aG9nZW49e3NlbGVjdGVkUGF0aG9nZW59XG4gICAgICAgICAgICB3YXRlckF1dGhvcml0eUlkPXt3YXRlckF1dGhvcml0eUlkfVxuICAgICAgICAgICAgaXNSdGw9e2lzUnRsfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvRmlyc3RTZWN0aW9uPlxuXG4gICAgICAgIDxTZWNvbmRTZWN0aW9uPlxuICAgICAgICAgIDxTZWFyY2hJbnB1dCBvbkNoYW5nZUJlaGF2aW9yPXtmaWx0ZXJSZXN1bHRzQW5kU2V0Um93c30gLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3RhYnMtY29udGFpbmVyJ30+XG4gICAgICAgICAgICA8VGFic1xuICAgICAgICAgICAgICB0YWJzPXt0YWJzfVxuICAgICAgICAgICAgICBzZWxlY3RlZFRhYj17c2VsZWN0ZWRUYWJ9XG4gICAgICAgICAgICAgIGhhbmRsZU9uQ2xpY2s9e2hhbmRsZVRhYlNlbGVjdGlvbkNsaWNrfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8TWFwVGFibGVDb250YWluZXIgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIHtpc0ZldGNoaW5nICYmIDxTcGlubmVyIC8+fVxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydtYXAtY29udGFpbmVyJ30+XG4gICAgICAgICAgICAgIHshaXNGZXRjaGluZyAmJiByb3dzICE9PSBudWxsICYmIG1hcFpvb20gIT09IG51bGwgJiYgKFxuICAgICAgICAgICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICAgICAgICBhcmVhcz17bWFwQXJlYXN9XG4gICAgICAgICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXttYXBab29tfVxuICAgICAgICAgICAgICAgICAgICBlZGdlcz17W119XG4gICAgICAgICAgICAgICAgICAgIHBvaW50cz17W119XG4gICAgICAgICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxEYXRhfVxuICAgICAgICAgICAgICAgICAgICBtYXBCb3hTdHlsZT17TUFQQk9YX1dCRV9EQVNIQk9BUkRfU1RZTEV9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgeyFpc0ZldGNoaW5nICYmIHJvd3MgIT09IG51bGwgJiYgKFxuICAgICAgICAgICAgICA8S2FuZG9UYWJsZVxuICAgICAgICAgICAgICAgIG9uUm93RXhwYW5kVG9nZ2xlZD17aGFuZGxlT25Sb3dFeHBhbmR9XG4gICAgICAgICAgICAgICAgZGF0YT17cm93c31cbiAgICAgICAgICAgICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj17ZGlyfVxuICAgICAgICAgICAgICAgIGV4cGFuZGFibGVSb3dzPXt0cnVlfVxuICAgICAgICAgICAgICAgIHBhZ2luYXRpb25QZXJQYWdlPXtUQUJMRV9ST1dTX1BFUl9QQUdFfVxuICAgICAgICAgICAgICAgIHJvd0NvbXBvbmVudD17RXhwYW5kZWRDb21wb25lbnR9XG4gICAgICAgICAgICAgICAgZXhwYW5kYWJsZVJvd3NDb21wb25lbnRQcm9wcz17eyBwYXRob2dlbjogc2VsZWN0ZWRQYXRob2dlbiB9fVxuICAgICAgICAgICAgICAgIGRlZmF1bHRTb3J0RmllbGRJZD17M31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9NYXBUYWJsZUNvbnRhaW5lcj5cbiAgICAgICAgPC9TZWNvbmRTZWN0aW9uPlxuICAgICAgPC9Db250ZW50PlxuICAgIDwvPlxuICApO1xufTtcblxuY29uc3QgUm93TmFtZSA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgICB3aWR0aDogMTAwJTtcbiAgICAgIFxuICAgIC5yb3dfbmFtZSB7XG4gICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIGVhc2UtaW47ICAgICAgXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgIFxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYtLWNsZWFuIHtcbiAgICAgICAgIGNvbG9yOiAjMjdhNjNhOyBcbiAgICAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzI3YTYzYTsgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi0taW5mZWN0ZWQge1xuICAgICAgICAgIGNvbG9yOiAjZTEwMDM2O1xuICAgICAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2UxMDAzNjsgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi0taW5hY3RpdmUtc2FtcGxpbmcge1xuICAgICAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTtcbiAgICAgICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9OyAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgJHsocCkgPT4gKHAuaXNSdGwgPyAncmlnaHQ6IDUxcHg7JyA6ICdsZWZ0OiA1MXB4OycpfVxuICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICB3aWR0aDogNy41ZW07XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogM3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBgO1xuXG5jb25zdCBBY3Rpb25zQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IEZpcnN0U2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbjogODVweCAwIDIwcHggMDtcbmA7XG5cbmNvbnN0IFNlY29uZFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG5gO1xuXG5jb25zdCBNYXBUYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAubWFwLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgLmV2ZW50LXRpbWVyYW5nZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjbWFwIHtcbiAgICAgIGhlaWdodDogNjl2aDtcbiAgICAgIHdpZHRoOiAzMHZ3O1xuICAgIH1cbiAgfVxuICBbZGF0YS10ZXN0aWQ9J2thbmRvLXRhYmxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFtkYXRhLWNvbHVtbi1pZD0nMSddIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6aG92ZXIge1xuICAgICAgLm5hbWUge1xuICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICB3aWR0aDogY2FsYygxMjBweCArIDF2dyk7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgY3ViaWMtYmV6aWVyKDAuNjUsIDAuMDUsIDAuMzYsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zcGlubmVyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuYDtcblxuY29uc3QgQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cblxuICBoMSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICBwYWRkaW5nOiA2MHB4IDYwcHg7XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGVBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFlBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGlCQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxhQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxrQkFBQSxHQUFBVCxPQUFBO0FBRUEsSUFBQVUsUUFBQSxHQUFBVixPQUFB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