@carto/kepler.gl 0.0.37 → 0.0.40-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/index.js +8 -1
- package/dist/components/map-container.js +4 -3
- package/dist/components/side-panel/layer-panel/layer-configurator.js +2 -2
- package/dist/constants/default-settings.js +2 -2
- package/dist/layers/base-layer.js +9 -6
- package/dist/layers/layer-factory.js +12 -1
- package/dist/reducers/vis-state-merger.js +2 -2
- package/dist/reducers/vis-state-updaters.js +29 -29
- package/package.json +1 -1
- package/src/components/index.js +2 -1
- package/src/components/map-container.js +1 -1
- package/src/components/side-panel/layer-panel/layer-configurator.js +1 -1
- package/src/layers/base-layer.js +6 -1
- package/src/layers/layer-factory.js +9 -0
- package/src/reducers/vis-state-merger.js +3 -3
- package/src/reducers/vis-state-updaters.js +3 -1
- package/umd/keplergl.min.js +18 -18
package/dist/components/index.js
CHANGED
|
@@ -32,6 +32,7 @@ var _exportNames = {
|
|
|
32
32
|
HowToButton: true,
|
|
33
33
|
LayerColorRangeSelector: true,
|
|
34
34
|
LayerColorSelector: true,
|
|
35
|
+
AggregationTypeSelector: true,
|
|
35
36
|
ColorDimensionScaleSelectorFactory: true,
|
|
36
37
|
FieldListItemFactoryFactory: true,
|
|
37
38
|
FieldSelectorFactory: true,
|
|
@@ -246,6 +247,12 @@ Object.defineProperty(exports, "LayerColorSelector", {
|
|
|
246
247
|
return _layerConfigurator.LayerColorSelector;
|
|
247
248
|
}
|
|
248
249
|
});
|
|
250
|
+
Object.defineProperty(exports, "AggregationTypeSelector", {
|
|
251
|
+
enumerable: true,
|
|
252
|
+
get: function get() {
|
|
253
|
+
return _layerConfigurator.AggregationTypeSelector;
|
|
254
|
+
}
|
|
255
|
+
});
|
|
249
256
|
Object.defineProperty(exports, "ColorDimensionScaleSelectorFactory", {
|
|
250
257
|
enumerable: true,
|
|
251
258
|
get: function get() {
|
|
@@ -1426,4 +1433,4 @@ exports.FieldListItemFactory = FieldListItemFactory;
|
|
|
1426
1433
|
var InfoHelper = _container.appInjector.get(_infoHelper["default"]);
|
|
1427
1434
|
|
|
1428
1435
|
exports.InfoHelper = InfoHelper;
|
|
1429
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2luZGV4LmpzIl0sIm5hbWVzIjpbIlRpbWVSYW5nZVNsaWRlciIsImFwcEluamVjdG9yIiwiZ2V0IiwiVGltZVJhbmdlU2xpZGVyRmFjdG9yeSIsIlJhbmdlU2xpZGVyIiwiUmFuZ2VTbGlkZXJGYWN0b3J5IiwiVmlzQ29uZmlnU2xpZGVyIiwiVmlzQ29uZmlnU2xpZGVyRmFjdG9yeSIsIlZpc0NvbmZpZ1N3aXRjaCIsIlZpc0NvbmZpZ1N3aXRjaEZhY3RvcnkiLCJMYXllckNvbmZpZ0dyb3VwIiwiTGF5ZXJDb25maWdHcm91cEZhY3RvcnkiLCJDaGFubmVsQnlWYWx1ZVNlbGVjdG9yIiwiQ2hhbm5lbEJ5VmFsdWVTZWxlY3RvckZhY3RvcnkiLCJDb2xvckRpbWVuc2lvblNjYWxlU2VsZWN0b3IiLCJDb2xvckRpbWVuc2lvblNjYWxlU2VsZWN0b3JGYWN0b3J5IiwiRmllbGRTZWxlY3RvciIsIkZpZWxkU2VsZWN0b3JGYWN0b3J5IiwiRmllbGRUb2tlbiIsIkZpZWxkVG9rZW5GYWN0b3J5IiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkiLCJGaWVsZExpc3RJdGVtRmFjdG9yeSIsIkZpZWxkTGlzdEl0ZW1GYWN0b3J5RmFjdG9yeSIsIkluZm9IZWxwZXIiLCJJbmZvSGVscGVyRmFjdG9yeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFNQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFLQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFNQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFLQTs7QUFDQTs7QUFFQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFLQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFHQTs7QUFDQTs7QUFHQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUE2QkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUE1QkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBYUE7O0FBR0E7Ozs7QUFnQ0E7O0FBNU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFHQTtBQWVBO0FBdUNBO0FBb0JBO0FBY0E7QUFjQTtBQVVBO0FBSUE7QUFHQTtBQTJCQTtBQTBCQTtBQUNPLElBQU1BLGVBQWUsR0FBR0MsdUJBQVlDLEdBQVosQ0FBZ0JDLDJCQUFoQixDQUF4Qjs7OztBQUNBLElBQU1DLFdBQVcsR0FBR0gsdUJBQVlDLEdBQVosQ0FBZ0JHLHVCQUFoQixDQUFwQjs7OztBQUNBLElBQU1DLGVBQWUsR0FBR0wsdUJBQVlDLEdBQVosQ0FBZ0JLLDJCQUFoQixDQUF4Qjs7OztBQUNBLElBQU1DLGVBQWUsR0FBR1AsdUJBQVlDLEdBQVosQ0FBZ0JPLDJCQUFoQixDQUF4Qjs7OztBQUNBLElBQU1DLGdCQUFnQixHQUFHVCx1QkFBWUMsR0FBWixDQUFnQlMsNEJBQWhCLENBQXpCOzs7O0FBQ0EsSUFBTUMsc0JBQXNCLEdBQUdYLHVCQUFZQyxHQUFaLENBQWdCVyxnREFBaEIsQ0FBL0I7Ozs7QUFDQSxJQUFNQywyQkFBMkIsR0FBR2IsdUJBQVlDLEdBQVosQ0FBZ0JhLHVDQUFoQixDQUFwQzs7OztBQUNBLElBQU1DLGFBQWEsR0FBR2YsdUJBQVlDLEdBQVosQ0FBZ0JlLHlCQUFoQixDQUF0Qjs7OztBQUNBLElBQU1DLFVBQVUsR0FBR2pCLHVCQUFZQyxHQUFaLENBQWdCaUIsc0JBQWhCLENBQW5COzs7O0FBQ0EsSUFBTUMsaUJBQWlCLEdBQUduQix1QkFBWUMsR0FBWixDQUFnQm1CLDZCQUFoQixDQUExQjs7OztBQUNBLElBQU1DLG9CQUFvQixHQUFHckIsdUJBQVlDLEdBQVosQ0FBZ0JxQiwwQ0FBaEIsQ0FBN0I7Ozs7QUFDQSxJQUFNQyxVQUFVLEdBQUd2Qix1QkFBWUMsR0FBWixDQUFnQnVCLHNCQUFoQixDQUFuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBUaW1lUmFuZ2VTbGlkZXJGYWN0b3J5IGZyb20gJy4vY29tbW9uL3RpbWUtcmFuZ2Utc2xpZGVyJztcbmltcG9ydCBSYW5nZVNsaWRlckZhY3RvcnkgZnJvbSAnLi9jb21tb24vcmFuZ2Utc2xpZGVyJztcbmltcG9ydCBWaXNDb25maWdTbGlkZXJGYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC92aXMtY29uZmlnLXNsaWRlcic7XG5pbXBvcnQgVmlzQ29uZmlnU3dpdGNoRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvdmlzLWNvbmZpZy1zd2l0Y2gnO1xuaW1wb3J0IExheWVyQ29uZmlnR3JvdXBGYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC9sYXllci1jb25maWctZ3JvdXAnO1xuaW1wb3J0IHtDaGFubmVsQnlWYWx1ZVNlbGVjdG9yRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLWNvbmZpZ3VyYXRvcic7XG5pbXBvcnQgQ29sb3JEaW1lbnNpb25TY2FsZVNlbGVjdG9yRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItZGltZW5zaW9uLXNjYWxlLXNlbGVjdG9yJztcbmltcG9ydCBGaWVsZFNlbGVjdG9yRmFjdG9yeSwge0ZpZWxkTGlzdEl0ZW1GYWN0b3J5RmFjdG9yeX0gZnJvbSAnLi9jb21tb24vZmllbGQtc2VsZWN0b3InO1xuaW1wb3J0IEZpZWxkVG9rZW5GYWN0b3J5IGZyb20gJy4vY29tbW9uL2ZpZWxkLXRva2VuJztcbmltcG9ydCBQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL3BhbmVsLWhlYWRlci1hY3Rpb24nO1xuaW1wb3J0IEluZm9IZWxwZXJGYWN0b3J5IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2luZm8taGVscGVyJztcbmltcG9ydCB7YXBwSW5qZWN0b3J9IGZyb20gJy4vY29udGFpbmVyJztcblxuLy8gQ29tcG9uZW50c1xuZXhwb3J0IHtkZWZhdWx0IGFzIEtlcGxlckdsLCBkZWZhdWx0LCBpbmplY3RDb21wb25lbnRzLCBDb250YWluZXJGYWN0b3J5fSBmcm9tICcuL2NvbnRhaW5lcic7XG5cbi8vIGZhY3Rvcmllc1xuZXhwb3J0IHtkZWZhdWx0IGFzIEtlcGxlckdsRmFjdG9yeSwgREVGQVVMVF9LRVBMRVJfR0xfUFJPUFN9IGZyb20gJy4va2VwbGVyLWdsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBTaWRlUGFuZWxGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFBhbmVsVGl0bGVGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvcGFuZWwtdGl0bGUnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1hcENvbnRhaW5lckZhY3RvcnksIEF0dHJpYnV0aW9ufSBmcm9tICcuL21hcC1jb250YWluZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1hcHNMYXlvdXRGYWN0b3J5fSBmcm9tICcuL21hcHMtbGF5b3V0JztcbmV4cG9ydCB7XG4gIGRlZmF1bHQgYXMgQm90dG9tV2lkZ2V0RmFjdG9yeSxcbiAgTGF5ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSxcbiAgRmlsdGVyQW5pbWF0aW9uQ29udHJvbGxlckZhY3Rvcnlcbn0gZnJvbSAnLi9ib3R0b20td2lkZ2V0JztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNb2RhbENvbnRhaW5lckZhY3Rvcnl9IGZyb20gJy4vbW9kYWwtY29udGFpbmVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBQbG90Q29udGFpbmVyRmFjdG9yeX0gZnJvbSAnLi9wbG90LWNvbnRhaW5lcic7XG5leHBvcnQge2RlZmF1bHQgYXMgR2VvY29kZXJQYW5lbEZhY3Rvcnl9IGZyb20gJy4vZ2VvY29kZXItcGFuZWwnO1xuXG4vLyAvLyBzaWRlIHBhbmVsIGZhY3Rvcmllc1xuZXhwb3J0IHtcbiAgZGVmYXVsdCBhcyBQYW5lbEhlYWRlckZhY3RvcnksXG4gIFNhdmVFeHBvcnREcm9wZG93bkZhY3RvcnksXG4gIFBhbmVsSGVhZGVyRHJvcGRvd25GYWN0b3J5XG59IGZyb20gJy4vc2lkZS1wYW5lbC9wYW5lbC1oZWFkZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL3BhbmVsLWhlYWRlci1hY3Rpb24nO1xuZXhwb3J0IHtDb2xsYXBzZUJ1dHRvbkZhY3RvcnksIGRlZmF1bHQgYXMgU2lkZWJhckZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9zaWRlLWJhcic7XG5leHBvcnQge2RlZmF1bHQgYXMgUGFuZWxUb2dnbGVGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvcGFuZWwtdG9nZ2xlJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBQYW5lbFRhYkZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9wYW5lbC10YWInO1xuXG5leHBvcnQge1xuICBBZGREYXRhQnV0dG9uRmFjdG9yeSxcbiAgTGF5ZXJCbGVuZGluZ1NlbGVjdG9yRmFjdG9yeSxcbiAgZGVmYXVsdCBhcyBMYXllck1hbmFnZXJGYWN0b3J5XG59IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1tYW5hZ2VyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBMYXllclBhbmVsRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXBhbmVsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBMYXllclBhbmVsSGVhZGVyRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXBhbmVsLWhlYWRlcic7XG5leHBvcnQge2RlZmF1bHQgYXMgTGF5ZXJDb25maWd1cmF0b3JGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItY29uZmlndXJhdG9yJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBUZXh0TGFiZWxQYW5lbEZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC90ZXh0LWxhYmVsLXBhbmVsJztcbmV4cG9ydCB7TGF5ZXJDb25maWdHcm91cExhYmVsRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLWNvbmZpZy1ncm91cCc7XG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9jb21tb24vc291cmNlLWRhdGEtY2F0YWxvZyc7XG5leHBvcnQge2RlZmF1bHQgYXMgU291cmNlRGF0YVNlbGVjdG9yRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2NvbW1vbi9zb3VyY2UtZGF0YS1zZWxlY3Rvcic7XG5leHBvcnQge2RlZmF1bHQgYXMgRGF0YXNldFRpdGxlRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2NvbW1vbi9kYXRhc2V0LXRpdGxlJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBEYXRhc2V0SW5mb0ZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9jb21tb24vZGF0YXNldC1pbmZvJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBEYXRhc2V0VGFnRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2NvbW1vbi9kYXRhc2V0LXRhZyc7XG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBGaWx0ZXJNYW5hZ2VyRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2ZpbHRlci1tYW5hZ2VyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBGaWx0ZXJQYW5lbEZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9maWx0ZXItcGFuZWwvZmlsdGVyLXBhbmVsJztcblxuZXhwb3J0IHtkZWZhdWx0IGFzIEludGVyYWN0aW9uTWFuYWdlckZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9pbnRlcmFjdGlvbi1tYW5hZ2VyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBCcnVzaENvbmZpZ0ZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9pbnRlcmFjdGlvbi1wYW5lbC9icnVzaC1jb25maWcnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFRvb2x0aXBDb25maWdGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvaW50ZXJhY3Rpb24tcGFuZWwvdG9vbHRpcC1jb25maWcnO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgTWFwTWFuYWdlckZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9tYXAtbWFuYWdlcic7XG5leHBvcnQge2RlZmF1bHQgYXMgTGF5ZXJHcm91cFNlbGVjdG9yRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL21hcC1zdHlsZS1wYW5lbC9tYXAtbGF5ZXItc2VsZWN0b3InO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1hcFN0eWxlU2VsZWN0b3JGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvbWFwLXN0eWxlLXBhbmVsL21hcC1zdHlsZS1zZWxlY3Rvcic7XG5leHBvcnQge2RlZmF1bHQgYXMgQ3VzdG9tUGFuZWxzRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2N1c3RvbS1wYW5lbCc7XG4vLyAvLyBtYXAgZmFjdG9yaWVzXG5leHBvcnQge2RlZmF1bHQgYXMgTWFwUG9wb3ZlckZhY3Rvcnl9IGZyb20gJy4vbWFwL21hcC1wb3BvdmVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNYXBDb250cm9sRmFjdG9yeX0gZnJvbSAnLi9tYXAvbWFwLWNvbnRyb2wnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIExheWVySG92ZXJJbmZvRmFjdG9yeX0gZnJvbSAnLi9tYXAvbGF5ZXItaG92ZXItaW5mbyc7XG5leHBvcnQge2RlZmF1bHQgYXMgQ29vcmRpbmF0ZUluZm9GYWN0b3J5fSBmcm9tICcuL21hcC9jb29yZGluYXRlLWluZm8nO1xuZXhwb3J0IHtkZWZhdWx0IGFzIExheWVyU2VsZWN0b3JQYW5lbEZhY3Rvcnl9IGZyb20gJy4vbWFwL2xheWVyLXNlbGVjdG9yLXBhbmVsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBMb2NhbGVQYW5lbEZhY3Rvcnl9IGZyb20gJy4vbWFwL2xvY2FsZS1wYW5lbCc7XG5leHBvcnQge2RlZmF1bHQgYXMgTWFwQ29udHJvbFBhbmVsRmFjdG9yeX0gZnJvbSAnLi9tYXAvbWFwLWNvbnRyb2wtcGFuZWwnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeX0gZnJvbSAnLi9tYXAvbWFwLWNvbnRyb2wtdG9vbHRpcCc7XG5leHBvcnQge1xuICBkZWZhdWx0IGFzIE1hcExlZ2VuZEZhY3RvcnksXG4gIExheWVyTGVnZW5kSGVhZGVyRmFjdG9yeSxcbiAgTGF5ZXJMZWdlbmRDb250ZW50RmFjdG9yeVxufSBmcm9tICcuL21hcC9tYXAtbGVnZW5kJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNYXBEcmF3UGFuZWxGYWN0b3J5fSBmcm9tICcuL21hcC9tYXAtZHJhdy1wYW5lbCc7XG5leHBvcnQge2RlZmF1bHQgYXMgU3BsaXRNYXBCdXR0b25GYWN0b3J5fSBmcm9tICcuL21hcC9zcGxpdC1tYXAtYnV0dG9uJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNYXBMZWdlbmRQYW5lbEZhY3Rvcnl9IGZyb20gJy4vbWFwL21hcC1sZWdlbmQtcGFuZWwnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFRvZ2dsZTNkQnV0dG9uRmFjdG9yeX0gZnJvbSAnLi9tYXAvdG9nZ2xlLTNkLWJ1dHRvbic7XG5leHBvcnQge2RlZmF1bHQgYXMgTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5fSBmcm9tICcuL21hcC9tYXAtY29udHJvbC10b29sYmFyJztcblxuLy8gLy8gbW9kYWwgZmFjdG9yaWVzXG5leHBvcnQge2RlZmF1bHQgYXMgTW9kYWxEaWFsb2dGYWN0b3J5fSBmcm9tICcuL21vZGFscy9tb2RhbC1kaWFsb2cnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIERlbGV0ZURhdGFzZXRNb2RhbEZhY3Rvcnl9IGZyb20gJy4vbW9kYWxzL2RlbGV0ZS1kYXRhLW1vZGFsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBEYXRhVGFibGVNb2RhbEZhY3Rvcnl9IGZyb20gJy4vbW9kYWxzL2RhdGEtdGFibGUtbW9kYWwnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIExvYWREYXRhTW9kYWxGYWN0b3J5fSBmcm9tICcuL21vZGFscy9sb2FkLWRhdGEtbW9kYWwnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEV4cG9ydEltYWdlTW9kYWxGYWN0b3J5fSBmcm9tICcuL21vZGFscy9leHBvcnQtaW1hZ2UtbW9kYWwnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEV4cG9ydERhdGFNb2RhbEZhY3Rvcnl9IGZyb20gJy4vbW9kYWxzL2V4cG9ydC1kYXRhLW1vZGFsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeX0gZnJvbSAnLi9tb2RhbHMvYWRkLW1hcC1zdHlsZS1tb2RhbCc7XG5leHBvcnQge2RlZmF1bHQgYXMgRXhwb3J0TWFwTW9kYWxGYWN0b3J5fSBmcm9tICcuL21vZGFscy9leHBvcnQtbWFwLW1vZGFsL2V4cG9ydC1tYXAtbW9kYWwnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1vZGFsVGFic0ZhY3Rvcnl9IGZyb20gJy4vbW9kYWxzL21vZGFsLXRhYnMnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIExvYWRTdG9yYWdlTWFwRmFjdG9yeX0gZnJvbSAnLi9tb2RhbHMvbG9hZC1zdG9yYWdlLW1hcCc7XG5leHBvcnQge2RlZmF1bHQgYXMgRXhwb3J0SnNvbk1hcEZhY3Rvcnl9IGZyb20gJy4vbW9kYWxzL2V4cG9ydC1tYXAtbW9kYWwvZXhwb3J0LWpzb24tbWFwJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBFeHBvcnRIdG1sTWFwRmFjdG9yeX0gZnJvbSAnLi9tb2RhbHMvZXhwb3J0LW1hcC1tb2RhbC9leHBvcnQtaHRtbC1tYXAnO1xuXG4vLyAvLyBjb21tb24gZmFjdG9yeVxuZXhwb3J0IHtkZWZhdWx0IGFzIEFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5fSBmcm9tICcuL2NvbW1vbi9hbmltYXRpb24tY29udHJvbC9hbmltYXRpb24tY29udHJvbCc7XG5leHBvcnQge2RlZmF1bHQgYXMgQW5pbWF0aW9uQ29udHJvbGxlckZhY3Rvcnl9IGZyb20gJy4vY29tbW9uL2FuaW1hdGlvbi1jb250cm9sL2FuaW1hdGlvbi1jb250cm9sbGVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBTcGVlZENvbnRyb2xGYWN0b3J5fSBmcm9tICcuL2NvbW1vbi9hbmltYXRpb24tY29udHJvbC9zcGVlZC1jb250cm9sJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBQbGF5YmFja0NvbnRyb2xzRmFjdG9yeX0gZnJvbSAnLi9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvcGxheWJhY2stY29udHJvbHMnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5fSBmcm9tICcuL2NvbW1vbi9hbmltYXRpb24tY29udHJvbC9mbG9hdGluZy10aW1lLWRpc3BsYXknO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEFuaW1hdGlvblNwZWVkU2xpZGVyRmFjdG9yeX0gZnJvbSAnLi9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLXNwZWVkLXNsaWRlcic7XG5leHBvcnQge2RlZmF1bHQgYXMgUmFuZ2VQbG90RmFjdG9yeX0gZnJvbSAnLi9jb21tb24vcmFuZ2UtcGxvdCc7XG5leHBvcnQge2RlZmF1bHQgYXMgSGlzdG9ncmFtUGxvdEZhY3Rvcnl9IGZyb20gJy4vY29tbW9uL2hpc3RvZ3JhbS1wbG90JztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBMaW5lQ2hhcnRGYWN0b3J5fSBmcm9tICcuL2NvbW1vbi9saW5lLWNoYXJ0JztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBSYW5nZUJydXNoRmFjdG9yeX0gZnJvbSAnLi9jb21tb24vcmFuZ2UtYnJ1c2gnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFRpbWVTbGlkZXJNYXJrZXJGYWN0b3J5fSBmcm9tICcuL2NvbW1vbi90aW1lLXNsaWRlci1tYXJrZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFRpbWVSYW5nZVNsaWRlclRpbWVUaXRsZUZhY3Rvcnl9IGZyb20gJy4vY29tbW9uL3RpbWUtcmFuZ2Utc2xpZGVyLXRpbWUtdGl0bGUnO1xuXG4vLyAvLyBGaWx0ZXJzIGZhY3RvcnlcbmV4cG9ydCB7ZGVmYXVsdCBhcyBUaW1lV2lkZ2V0RmFjdG9yeSwgVGltZVdpZGdldFRvcEZhY3Rvcnl9IGZyb20gJy4vZmlsdGVycy90aW1lLXdpZGdldCc7XG5leHBvcnQge2RlZmF1bHQgYXMgU2luZ2xlU2VsZWN0RmlsdGVyRmFjdG9yeX0gZnJvbSAnLi9maWx0ZXJzL3NpbmdsZS1zZWxlY3QtZmlsdGVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNdWx0aVNlbGVjdEZpbHRlckZhY3Rvcnl9IGZyb20gJy4vZmlsdGVycy9tdWx0aS1zZWxlY3QtZmlsdGVyJztcbmV4cG9ydCB7XG4gIHRpbWVSYW5nZVNsaWRlckZpZWxkc1NlbGVjdG9yLFxuICBkZWZhdWx0IGFzIFRpbWVSYW5nZUZpbHRlckZhY3Rvcnlcbn0gZnJvbSAnLi9maWx0ZXJzL3RpbWUtcmFuZ2UtZmlsdGVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBSYW5nZUZpbHRlckZhY3Rvcnl9IGZyb20gJy4vZmlsdGVycy9yYW5nZS1maWx0ZXInO1xuXG4vLyAvLyBFZGl0b3IgRmFjdG9yeVxuZXhwb3J0IHtkZWZhdWx0IGFzIEVkaXRvckZhY3Rvcnl9IGZyb20gJy4vZWRpdG9yL2VkaXRvcic7XG5leHBvcnQge2RlZmF1bHQgYXMgRmVhdHVyZUFjdGlvblBhbmVsRmFjdG9yeX0gZnJvbSAnLi9lZGl0b3IvZmVhdHVyZS1hY3Rpb24tcGFuZWwnO1xuXG4vLyBJbmplY3RvclxuZXhwb3J0IHtpbmplY3RvciwgcHJvdmlkZVJlY2lwZXNUb0luamVjdG9yLCB3aXRoU3RhdGV9IGZyb20gJy4vaW5qZWN0b3InO1xuXG4vLyBDb21tb24gQ29tcG9uZW50c1xuZXhwb3J0IHtkZWZhdWx0IGFzIENsb3VkVGlsZX0gZnJvbSAnLi9tb2RhbHMvY2xvdWQtdGlsZSc7XG5leHBvcnQge2RlZmF1bHQgYXMgRmlsZVVwbG9hZEZhY3RvcnksIEZpbGVVcGxvYWR9IGZyb20gJy4vY29tbW9uL2ZpbGUtdXBsb2FkZXIvZmlsZS11cGxvYWQnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIERhdGFzZXRMYWJlbH0gZnJvbSAnLi9jb21tb24vZGF0YXNldC1sYWJlbCc7XG5leHBvcnQge2RlZmF1bHQgYXMgSXRlbVNlbGVjdG9yfSBmcm9tICcuL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2l0ZW0tc2VsZWN0b3InO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFR5cGVhaGVhZH0gZnJvbSAnLi9jb21tb24vaXRlbS1zZWxlY3Rvci90eXBlYWhlYWQnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIERyb3Bkb3duTGlzdH0gZnJvbSAnLi9jb21tb24vaXRlbS1zZWxlY3Rvci9kcm9wZG93bi1saXN0JztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBGaWVsZFNlbGVjdG9yRmFjdG9yeX0gZnJvbSAnLi9jb21tb24vZmllbGQtc2VsZWN0b3InO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1vZGFsLCBNb2RhbEZvb3RlciwgTW9kYWxUaXRsZX0gZnJvbSAnLi9jb21tb24vbW9kYWwnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEFwcExvZ299IGZyb20gJy4vY29tbW9uL2xvZ28nO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFN3aXRjaH0gZnJvbSAnLi9jb21tb24vc3dpdGNoJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBDaGVja2JveH0gZnJvbSAnLi9jb21tb24vY2hlY2tib3gnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIExvYWRpbmdTcGlubmVyfSBmcm9tICcuL2NvbW1vbi9sb2FkaW5nLXNwaW5uZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIExvYWRpbmdEaWFsb2d9IGZyb20gJy4vbW9kYWxzL2xvYWRpbmctZGlhbG9nJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBGaWVsZFRva2VuRmFjdG9yeX0gZnJvbSAnLi9jb21tb24vZmllbGQtdG9rZW4nO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFBvcnRhbGVkfSBmcm9tICcuL2NvbW1vbi9wb3J0YWxlZCc7XG5leHBvcnQge2RlZmF1bHQgYXMgUHJvZ3Jlc3NCYXJ9IGZyb20gJy4vY29tbW9uL3Byb2dyZXNzLWJhcic7XG5leHBvcnQge2RlZmF1bHQgYXMgRmlsZVVwbG9hZFByb2dyZXNzfSBmcm9tICcuL2NvbW1vbi9maWxlLXVwbG9hZGVyL2ZpbGUtdXBsb2FkLXByb2dyZXNzJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBTbGlkZXJ9IGZyb20gJy4vY29tbW9uL3NsaWRlci9zbGlkZXInO1xuZXhwb3J0IHtEYXRhc2V0U3F1YXJlfSBmcm9tICcuL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5leHBvcnQge2RlZmF1bHQgYXMgQWN0aW9uUGFuZWwsIEFjdGlvblBhbmVsSXRlbX0gZnJvbSAnLi9jb21tb24vYWN0aW9uLXBhbmVsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBEYXRhVGFibGVGYWN0b3J5fSBmcm9tICcuL2NvbW1vbi9kYXRhLXRhYmxlJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBDYW52YXNIYWNrfSBmcm9tICcuL2NvbW1vbi9kYXRhLXRhYmxlL2NhbnZhcyc7XG5leHBvcnQge2RlZmF1bHQgYXMgTWFwTGF5ZXJTZWxlY3Rvcn0gZnJvbSAnLi9jb21tb24vbWFwLWxheWVyLXNlbGVjdG9yJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBWZXJ0aWNhbFRvb2xiYXJ9IGZyb20gJy4vY29tbW9uL3ZlcnRpY2FsLXRvb2xiYXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFRvb2xiYXJJdGVtfSBmcm9tICcuL2NvbW1vbi90b29sYmFyLWl0ZW0nO1xuXG4vLyBzaWRlIHBhbmUgY29tcG9uZW50c1xuZXhwb3J0IHtkZWZhdWx0IGFzIExheWVyVHlwZVNlbGVjdG9yRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXR5cGUtc2VsZWN0b3InO1xuZXhwb3J0IHtkZWZhdWx0IGFzIExheWVyVHlwZURyb3Bkb3duTGlzdEZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC9sYXllci10eXBlLWRyb3Bkb3duLWxpc3QnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIExheWVyVHlwZUxpc3RJdGVtRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXR5cGUtbGlzdC1pdGVtJztcbmV4cG9ydCB7Q29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnR9IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC9sYXllci1jb25maWctZ3JvdXAnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIENvbHVtblNlbGVjdG9yRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2NvbHVtbi1zZWxlY3Rvcic7XG5leHBvcnQge2RlZmF1bHQgYXMgRmlsdGVyUGFuZWxIZWFkZXJGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvZmlsdGVyLXBhbmVsL2ZpbHRlci1wYW5lbC1oZWFkZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFN0eWxlZERyb3Bkb3duU2VsZWN0fSBmcm9tICcuL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2l0ZW0tc2VsZWN0b3InO1xuZXhwb3J0IHtcbiAgTGF5ZXJMYWJlbEVkaXRvcixcbiAgTGF5ZXJUaXRsZVNlY3Rpb25GYWN0b3J5XG59IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC9sYXllci1wYW5lbC1oZWFkZXInO1xuXG5leHBvcnQge1xuICBIb3dUb0J1dHRvbixcbiAgTGF5ZXJDb2xvclJhbmdlU2VsZWN0b3IsXG4gIExheWVyQ29sb3JTZWxlY3RvclxufSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItY29uZmlndXJhdG9yJztcblxuZXhwb3J0IHtkZWZhdWx0IGFzIENvbG9yUGFsZXR0ZX0gZnJvbSAnLi9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2NvbG9yLXBhbGV0dGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgKiBhcyBJY29ucyBmcm9tICcuL2NvbW1vbi9pY29ucyc7XG5cbmV4cG9ydCB7SWNvbnN9O1xuXG4vLyBJbmRpdmlkdWFsIENvbXBvbmVudCBmcm9tIERlcGVuZGVuY3kgVHJlZVxuZXhwb3J0IGNvbnN0IFRpbWVSYW5nZVNsaWRlciA9IGFwcEluamVjdG9yLmdldChUaW1lUmFuZ2VTbGlkZXJGYWN0b3J5KTtcbmV4cG9ydCBjb25zdCBSYW5nZVNsaWRlciA9IGFwcEluamVjdG9yLmdldChSYW5nZVNsaWRlckZhY3RvcnkpO1xuZXhwb3J0IGNvbnN0IFZpc0NvbmZpZ1NsaWRlciA9IGFwcEluamVjdG9yLmdldChWaXNDb25maWdTbGlkZXJGYWN0b3J5KTtcbmV4cG9ydCBjb25zdCBWaXNDb25maWdTd2l0Y2ggPSBhcHBJbmplY3Rvci5nZXQoVmlzQ29uZmlnU3dpdGNoRmFjdG9yeSk7XG5leHBvcnQgY29uc3QgTGF5ZXJDb25maWdHcm91cCA9IGFwcEluamVjdG9yLmdldChMYXllckNvbmZpZ0dyb3VwRmFjdG9yeSk7XG5leHBvcnQgY29uc3QgQ2hhbm5lbEJ5VmFsdWVTZWxlY3RvciA9IGFwcEluamVjdG9yLmdldChDaGFubmVsQnlWYWx1ZVNlbGVjdG9yRmFjdG9yeSk7XG5leHBvcnQgY29uc3QgQ29sb3JEaW1lbnNpb25TY2FsZVNlbGVjdG9yID0gYXBwSW5qZWN0b3IuZ2V0KENvbG9yRGltZW5zaW9uU2NhbGVTZWxlY3RvckZhY3RvcnkpO1xuZXhwb3J0IGNvbnN0IEZpZWxkU2VsZWN0b3IgPSBhcHBJbmplY3Rvci5nZXQoRmllbGRTZWxlY3RvckZhY3RvcnkpO1xuZXhwb3J0IGNvbnN0IEZpZWxkVG9rZW4gPSBhcHBJbmplY3Rvci5nZXQoRmllbGRUb2tlbkZhY3RvcnkpO1xuZXhwb3J0IGNvbnN0IFBhbmVsSGVhZGVyQWN0aW9uID0gYXBwSW5qZWN0b3IuZ2V0KFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSk7XG5leHBvcnQgY29uc3QgRmllbGRMaXN0SXRlbUZhY3RvcnkgPSBhcHBJbmplY3Rvci5nZXQoRmllbGRMaXN0SXRlbUZhY3RvcnlGYWN0b3J5KTtcbmV4cG9ydCBjb25zdCBJbmZvSGVscGVyID0gYXBwSW5qZWN0b3IuZ2V0KEluZm9IZWxwZXJGYWN0b3J5KTtcblxuZXhwb3J0IHtcbiAgYXBwSW5qZWN0b3IsXG4gIFRpbWVSYW5nZVNsaWRlckZhY3RvcnksXG4gIFJhbmdlU2xpZGVyRmFjdG9yeSxcbiAgVmlzQ29uZmlnU2xpZGVyRmFjdG9yeSxcbiAgVmlzQ29uZmlnU3dpdGNoRmFjdG9yeSxcbiAgTGF5ZXJDb25maWdHcm91cEZhY3RvcnksXG4gIENoYW5uZWxCeVZhbHVlU2VsZWN0b3JGYWN0b3J5LFxuICBDb2xvckRpbWVuc2lvblNjYWxlU2VsZWN0b3JGYWN0b3J5LFxuICBGaWVsZExpc3RJdGVtRmFjdG9yeUZhY3RvcnksXG4gIEluZm9IZWxwZXJGYWN0b3J5XG59O1xuXG4vLyBDb250ZXh0XG5leHBvcnQge2RlZmF1bHQgYXMgS2VwbGVyR2xDb250ZXh0LCBSb290Q29udGV4dH0gZnJvbSAnY29tcG9uZW50cy9jb250ZXh0JztcbiJdfQ==
|
|
1436
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2luZGV4LmpzIl0sIm5hbWVzIjpbIlRpbWVSYW5nZVNsaWRlciIsImFwcEluamVjdG9yIiwiZ2V0IiwiVGltZVJhbmdlU2xpZGVyRmFjdG9yeSIsIlJhbmdlU2xpZGVyIiwiUmFuZ2VTbGlkZXJGYWN0b3J5IiwiVmlzQ29uZmlnU2xpZGVyIiwiVmlzQ29uZmlnU2xpZGVyRmFjdG9yeSIsIlZpc0NvbmZpZ1N3aXRjaCIsIlZpc0NvbmZpZ1N3aXRjaEZhY3RvcnkiLCJMYXllckNvbmZpZ0dyb3VwIiwiTGF5ZXJDb25maWdHcm91cEZhY3RvcnkiLCJDaGFubmVsQnlWYWx1ZVNlbGVjdG9yIiwiQ2hhbm5lbEJ5VmFsdWVTZWxlY3RvckZhY3RvcnkiLCJDb2xvckRpbWVuc2lvblNjYWxlU2VsZWN0b3IiLCJDb2xvckRpbWVuc2lvblNjYWxlU2VsZWN0b3JGYWN0b3J5IiwiRmllbGRTZWxlY3RvciIsIkZpZWxkU2VsZWN0b3JGYWN0b3J5IiwiRmllbGRUb2tlbiIsIkZpZWxkVG9rZW5GYWN0b3J5IiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkiLCJGaWVsZExpc3RJdGVtRmFjdG9yeSIsIkZpZWxkTGlzdEl0ZW1GYWN0b3J5RmFjdG9yeSIsIkluZm9IZWxwZXIiLCJJbmZvSGVscGVyRmFjdG9yeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBTUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBS0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBTUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBS0E7O0FBQ0E7O0FBRUE7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBS0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBR0E7O0FBQ0E7O0FBR0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBOEJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBN0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUdBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQWNBOztBQUdBOzs7O0FBZ0NBOztBQTdPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBR0E7QUFlQTtBQXVDQTtBQW9CQTtBQWNBO0FBY0E7QUFVQTtBQUlBO0FBR0E7QUEyQkE7QUEyQkE7QUFDTyxJQUFNQSxlQUFlLEdBQUdDLHVCQUFZQyxHQUFaLENBQWdCQywyQkFBaEIsQ0FBeEI7Ozs7QUFDQSxJQUFNQyxXQUFXLEdBQUdILHVCQUFZQyxHQUFaLENBQWdCRyx1QkFBaEIsQ0FBcEI7Ozs7QUFDQSxJQUFNQyxlQUFlLEdBQUdMLHVCQUFZQyxHQUFaLENBQWdCSywyQkFBaEIsQ0FBeEI7Ozs7QUFDQSxJQUFNQyxlQUFlLEdBQUdQLHVCQUFZQyxHQUFaLENBQWdCTywyQkFBaEIsQ0FBeEI7Ozs7QUFDQSxJQUFNQyxnQkFBZ0IsR0FBR1QsdUJBQVlDLEdBQVosQ0FBZ0JTLDRCQUFoQixDQUF6Qjs7OztBQUNBLElBQU1DLHNCQUFzQixHQUFHWCx1QkFBWUMsR0FBWixDQUFnQlcsZ0RBQWhCLENBQS9COzs7O0FBQ0EsSUFBTUMsMkJBQTJCLEdBQUdiLHVCQUFZQyxHQUFaLENBQWdCYSx1Q0FBaEIsQ0FBcEM7Ozs7QUFDQSxJQUFNQyxhQUFhLEdBQUdmLHVCQUFZQyxHQUFaLENBQWdCZSx5QkFBaEIsQ0FBdEI7Ozs7QUFDQSxJQUFNQyxVQUFVLEdBQUdqQix1QkFBWUMsR0FBWixDQUFnQmlCLHNCQUFoQixDQUFuQjs7OztBQUNBLElBQU1DLGlCQUFpQixHQUFHbkIsdUJBQVlDLEdBQVosQ0FBZ0JtQiw2QkFBaEIsQ0FBMUI7Ozs7QUFDQSxJQUFNQyxvQkFBb0IsR0FBR3JCLHVCQUFZQyxHQUFaLENBQWdCcUIsMENBQWhCLENBQTdCOzs7O0FBQ0EsSUFBTUMsVUFBVSxHQUFHdkIsdUJBQVlDLEdBQVosQ0FBZ0J1QixzQkFBaEIsQ0FBbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgVGltZVJhbmdlU2xpZGVyRmFjdG9yeSBmcm9tICcuL2NvbW1vbi90aW1lLXJhbmdlLXNsaWRlcic7XG5pbXBvcnQgUmFuZ2VTbGlkZXJGYWN0b3J5IGZyb20gJy4vY29tbW9uL3JhbmdlLXNsaWRlcic7XG5pbXBvcnQgVmlzQ29uZmlnU2xpZGVyRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvdmlzLWNvbmZpZy1zbGlkZXInO1xuaW1wb3J0IFZpc0NvbmZpZ1N3aXRjaEZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL3Zpcy1jb25maWctc3dpdGNoJztcbmltcG9ydCBMYXllckNvbmZpZ0dyb3VwRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItY29uZmlnLWdyb3VwJztcbmltcG9ydCB7Q2hhbm5lbEJ5VmFsdWVTZWxlY3RvckZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC9sYXllci1jb25maWd1cmF0b3InO1xuaW1wb3J0IENvbG9yRGltZW5zaW9uU2NhbGVTZWxlY3RvckZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2NvbG9yLWRpbWVuc2lvbi1zY2FsZS1zZWxlY3Rvcic7XG5pbXBvcnQgRmllbGRTZWxlY3RvckZhY3RvcnksIHtGaWVsZExpc3RJdGVtRmFjdG9yeUZhY3Rvcnl9IGZyb20gJy4vY29tbW9uL2ZpZWxkLXNlbGVjdG9yJztcbmltcG9ydCBGaWVsZFRva2VuRmFjdG9yeSBmcm9tICcuL2NvbW1vbi9maWVsZC10b2tlbic7XG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC9wYW5lbC1oZWFkZXItYWN0aW9uJztcbmltcG9ydCBJbmZvSGVscGVyRmFjdG9yeSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pbmZvLWhlbHBlcic7XG5pbXBvcnQge2FwcEluamVjdG9yfSBmcm9tICcuL2NvbnRhaW5lcic7XG5cbi8vIENvbXBvbmVudHNcbmV4cG9ydCB7ZGVmYXVsdCBhcyBLZXBsZXJHbCwgZGVmYXVsdCwgaW5qZWN0Q29tcG9uZW50cywgQ29udGFpbmVyRmFjdG9yeX0gZnJvbSAnLi9jb250YWluZXInO1xuXG4vLyBmYWN0b3JpZXNcbmV4cG9ydCB7ZGVmYXVsdCBhcyBLZXBsZXJHbEZhY3RvcnksIERFRkFVTFRfS0VQTEVSX0dMX1BST1BTfSBmcm9tICcuL2tlcGxlci1nbCc7XG5leHBvcnQge2RlZmF1bHQgYXMgU2lkZVBhbmVsRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBQYW5lbFRpdGxlRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL3BhbmVsLXRpdGxlJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNYXBDb250YWluZXJGYWN0b3J5LCBBdHRyaWJ1dGlvbn0gZnJvbSAnLi9tYXAtY29udGFpbmVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNYXBzTGF5b3V0RmFjdG9yeX0gZnJvbSAnLi9tYXBzLWxheW91dCc7XG5leHBvcnQge1xuICBkZWZhdWx0IGFzIEJvdHRvbVdpZGdldEZhY3RvcnksXG4gIExheWVyQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnksXG4gIEZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5XG59IGZyb20gJy4vYm90dG9tLXdpZGdldCc7XG5leHBvcnQge2RlZmF1bHQgYXMgTW9kYWxDb250YWluZXJGYWN0b3J5fSBmcm9tICcuL21vZGFsLWNvbnRhaW5lcic7XG5leHBvcnQge2RlZmF1bHQgYXMgUGxvdENvbnRhaW5lckZhY3Rvcnl9IGZyb20gJy4vcGxvdC1jb250YWluZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEdlb2NvZGVyUGFuZWxGYWN0b3J5fSBmcm9tICcuL2dlb2NvZGVyLXBhbmVsJztcblxuLy8gLy8gc2lkZSBwYW5lbCBmYWN0b3JpZXNcbmV4cG9ydCB7XG4gIGRlZmF1bHQgYXMgUGFuZWxIZWFkZXJGYWN0b3J5LFxuICBTYXZlRXhwb3J0RHJvcGRvd25GYWN0b3J5LFxuICBQYW5lbEhlYWRlckRyb3Bkb3duRmFjdG9yeVxufSBmcm9tICcuL3NpZGUtcGFuZWwvcGFuZWwtaGVhZGVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9wYW5lbC1oZWFkZXItYWN0aW9uJztcbmV4cG9ydCB7Q29sbGFwc2VCdXR0b25GYWN0b3J5LCBkZWZhdWx0IGFzIFNpZGViYXJGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvc2lkZS1iYXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFBhbmVsVG9nZ2xlRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL3BhbmVsLXRvZ2dsZSc7XG5leHBvcnQge2RlZmF1bHQgYXMgUGFuZWxUYWJGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvcGFuZWwtdGFiJztcblxuZXhwb3J0IHtcbiAgQWRkRGF0YUJ1dHRvbkZhY3RvcnksXG4gIExheWVyQmxlbmRpbmdTZWxlY3RvckZhY3RvcnksXG4gIGRlZmF1bHQgYXMgTGF5ZXJNYW5hZ2VyRmFjdG9yeVxufSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItbWFuYWdlcic7XG5leHBvcnQge2RlZmF1bHQgYXMgTGF5ZXJQYW5lbEZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC9sYXllci1wYW5lbCc7XG5leHBvcnQge2RlZmF1bHQgYXMgTGF5ZXJQYW5lbEhlYWRlckZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC9sYXllci1wYW5lbC1oZWFkZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIExheWVyQ29uZmlndXJhdG9yRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLWNvbmZpZ3VyYXRvcic7XG5leHBvcnQge2RlZmF1bHQgYXMgVGV4dExhYmVsUGFuZWxGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvdGV4dC1sYWJlbC1wYW5lbCc7XG5leHBvcnQge0xheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC9sYXllci1jb25maWctZ3JvdXAnO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvY29tbW9uL3NvdXJjZS1kYXRhLWNhdGFsb2cnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFNvdXJjZURhdGFTZWxlY3RvckZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9jb21tb24vc291cmNlLWRhdGEtc2VsZWN0b3InO1xuZXhwb3J0IHtkZWZhdWx0IGFzIERhdGFzZXRUaXRsZUZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9jb21tb24vZGF0YXNldC10aXRsZSc7XG5leHBvcnQge2RlZmF1bHQgYXMgRGF0YXNldEluZm9GYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvY29tbW9uL2RhdGFzZXQtaW5mbyc7XG5leHBvcnQge2RlZmF1bHQgYXMgRGF0YXNldFRhZ0ZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9jb21tb24vZGF0YXNldC10YWcnO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgRmlsdGVyTWFuYWdlckZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9maWx0ZXItbWFuYWdlcic7XG5leHBvcnQge2RlZmF1bHQgYXMgRmlsdGVyUGFuZWxGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvZmlsdGVyLXBhbmVsL2ZpbHRlci1wYW5lbCc7XG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBJbnRlcmFjdGlvbk1hbmFnZXJGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvaW50ZXJhY3Rpb24tbWFuYWdlcic7XG5leHBvcnQge2RlZmF1bHQgYXMgQnJ1c2hDb25maWdGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvaW50ZXJhY3Rpb24tcGFuZWwvYnJ1c2gtY29uZmlnJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBUb29sdGlwQ29uZmlnRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2ludGVyYWN0aW9uLXBhbmVsL3Rvb2x0aXAtY29uZmlnJztcblxuZXhwb3J0IHtkZWZhdWx0IGFzIE1hcE1hbmFnZXJGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvbWFwLW1hbmFnZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIExheWVyR3JvdXBTZWxlY3RvckZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9tYXAtc3R5bGUtcGFuZWwvbWFwLWxheWVyLXNlbGVjdG9yJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNYXBTdHlsZVNlbGVjdG9yRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL21hcC1zdHlsZS1wYW5lbC9tYXAtc3R5bGUtc2VsZWN0b3InO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEN1c3RvbVBhbmVsc0ZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9jdXN0b20tcGFuZWwnO1xuLy8gLy8gbWFwIGZhY3Rvcmllc1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1hcFBvcG92ZXJGYWN0b3J5fSBmcm9tICcuL21hcC9tYXAtcG9wb3Zlcic7XG5leHBvcnQge2RlZmF1bHQgYXMgTWFwQ29udHJvbEZhY3Rvcnl9IGZyb20gJy4vbWFwL21hcC1jb250cm9sJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBMYXllckhvdmVySW5mb0ZhY3Rvcnl9IGZyb20gJy4vbWFwL2xheWVyLWhvdmVyLWluZm8nO1xuZXhwb3J0IHtkZWZhdWx0IGFzIENvb3JkaW5hdGVJbmZvRmFjdG9yeX0gZnJvbSAnLi9tYXAvY29vcmRpbmF0ZS1pbmZvJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBMYXllclNlbGVjdG9yUGFuZWxGYWN0b3J5fSBmcm9tICcuL21hcC9sYXllci1zZWxlY3Rvci1wYW5lbCc7XG5leHBvcnQge2RlZmF1bHQgYXMgTG9jYWxlUGFuZWxGYWN0b3J5fSBmcm9tICcuL21hcC9sb2NhbGUtcGFuZWwnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1hcENvbnRyb2xQYW5lbEZhY3Rvcnl9IGZyb20gJy4vbWFwL21hcC1jb250cm9sLXBhbmVsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNYXBDb250cm9sVG9vbHRpcEZhY3Rvcnl9IGZyb20gJy4vbWFwL21hcC1jb250cm9sLXRvb2x0aXAnO1xuZXhwb3J0IHtcbiAgZGVmYXVsdCBhcyBNYXBMZWdlbmRGYWN0b3J5LFxuICBMYXllckxlZ2VuZEhlYWRlckZhY3RvcnksXG4gIExheWVyTGVnZW5kQ29udGVudEZhY3Rvcnlcbn0gZnJvbSAnLi9tYXAvbWFwLWxlZ2VuZCc7XG5leHBvcnQge2RlZmF1bHQgYXMgTWFwRHJhd1BhbmVsRmFjdG9yeX0gZnJvbSAnLi9tYXAvbWFwLWRyYXctcGFuZWwnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFNwbGl0TWFwQnV0dG9uRmFjdG9yeX0gZnJvbSAnLi9tYXAvc3BsaXQtbWFwLWJ1dHRvbic7XG5leHBvcnQge2RlZmF1bHQgYXMgTWFwTGVnZW5kUGFuZWxGYWN0b3J5fSBmcm9tICcuL21hcC9tYXAtbGVnZW5kLXBhbmVsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBUb2dnbGUzZEJ1dHRvbkZhY3Rvcnl9IGZyb20gJy4vbWFwL3RvZ2dsZS0zZC1idXR0b24nO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1hcENvbnRyb2xUb29sYmFyRmFjdG9yeX0gZnJvbSAnLi9tYXAvbWFwLWNvbnRyb2wtdG9vbGJhcic7XG5cbi8vIC8vIG1vZGFsIGZhY3Rvcmllc1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1vZGFsRGlhbG9nRmFjdG9yeX0gZnJvbSAnLi9tb2RhbHMvbW9kYWwtZGlhbG9nJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5fSBmcm9tICcuL21vZGFscy9kZWxldGUtZGF0YS1tb2RhbCc7XG5leHBvcnQge2RlZmF1bHQgYXMgRGF0YVRhYmxlTW9kYWxGYWN0b3J5fSBmcm9tICcuL21vZGFscy9kYXRhLXRhYmxlLW1vZGFsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBMb2FkRGF0YU1vZGFsRmFjdG9yeX0gZnJvbSAnLi9tb2RhbHMvbG9hZC1kYXRhLW1vZGFsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBFeHBvcnRJbWFnZU1vZGFsRmFjdG9yeX0gZnJvbSAnLi9tb2RhbHMvZXhwb3J0LWltYWdlLW1vZGFsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBFeHBvcnREYXRhTW9kYWxGYWN0b3J5fSBmcm9tICcuL21vZGFscy9leHBvcnQtZGF0YS1tb2RhbCc7XG5leHBvcnQge2RlZmF1bHQgYXMgQWRkTWFwU3R5bGVNb2RhbEZhY3Rvcnl9IGZyb20gJy4vbW9kYWxzL2FkZC1tYXAtc3R5bGUtbW9kYWwnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEV4cG9ydE1hcE1vZGFsRmFjdG9yeX0gZnJvbSAnLi9tb2RhbHMvZXhwb3J0LW1hcC1tb2RhbC9leHBvcnQtbWFwLW1vZGFsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNb2RhbFRhYnNGYWN0b3J5fSBmcm9tICcuL21vZGFscy9tb2RhbC10YWJzJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBMb2FkU3RvcmFnZU1hcEZhY3Rvcnl9IGZyb20gJy4vbW9kYWxzL2xvYWQtc3RvcmFnZS1tYXAnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEV4cG9ydEpzb25NYXBGYWN0b3J5fSBmcm9tICcuL21vZGFscy9leHBvcnQtbWFwLW1vZGFsL2V4cG9ydC1qc29uLW1hcCc7XG5leHBvcnQge2RlZmF1bHQgYXMgRXhwb3J0SHRtbE1hcEZhY3Rvcnl9IGZyb20gJy4vbW9kYWxzL2V4cG9ydC1tYXAtbW9kYWwvZXhwb3J0LWh0bWwtbWFwJztcblxuLy8gLy8gY29tbW9uIGZhY3RvcnlcbmV4cG9ydCB7ZGVmYXVsdCBhcyBBbmltYXRpb25Db250cm9sRmFjdG9yeX0gZnJvbSAnLi9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLWNvbnRyb2wnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5fSBmcm9tICcuL2NvbW1vbi9hbmltYXRpb24tY29udHJvbC9hbmltYXRpb24tY29udHJvbGxlcic7XG5leHBvcnQge2RlZmF1bHQgYXMgU3BlZWRDb250cm9sRmFjdG9yeX0gZnJvbSAnLi9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvc3BlZWQtY29udHJvbCc7XG5leHBvcnQge2RlZmF1bHQgYXMgUGxheWJhY2tDb250cm9sc0ZhY3Rvcnl9IGZyb20gJy4vY29tbW9uL2FuaW1hdGlvbi1jb250cm9sL3BsYXliYWNrLWNvbnRyb2xzJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBGbG9hdGluZ1RpbWVEaXNwbGF5RmFjdG9yeX0gZnJvbSAnLi9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvZmxvYXRpbmctdGltZS1kaXNwbGF5JztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBBbmltYXRpb25TcGVlZFNsaWRlckZhY3Rvcnl9IGZyb20gJy4vY29tbW9uL2FuaW1hdGlvbi1jb250cm9sL2FuaW1hdGlvbi1zcGVlZC1zbGlkZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFJhbmdlUGxvdEZhY3Rvcnl9IGZyb20gJy4vY29tbW9uL3JhbmdlLXBsb3QnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEhpc3RvZ3JhbVBsb3RGYWN0b3J5fSBmcm9tICcuL2NvbW1vbi9oaXN0b2dyYW0tcGxvdCc7XG5leHBvcnQge2RlZmF1bHQgYXMgTGluZUNoYXJ0RmFjdG9yeX0gZnJvbSAnLi9jb21tb24vbGluZS1jaGFydCc7XG5leHBvcnQge2RlZmF1bHQgYXMgUmFuZ2VCcnVzaEZhY3Rvcnl9IGZyb20gJy4vY29tbW9uL3JhbmdlLWJydXNoJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBUaW1lU2xpZGVyTWFya2VyRmFjdG9yeX0gZnJvbSAnLi9jb21tb24vdGltZS1zbGlkZXItbWFya2VyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBUaW1lUmFuZ2VTbGlkZXJUaW1lVGl0bGVGYWN0b3J5fSBmcm9tICcuL2NvbW1vbi90aW1lLXJhbmdlLXNsaWRlci10aW1lLXRpdGxlJztcblxuLy8gLy8gRmlsdGVycyBmYWN0b3J5XG5leHBvcnQge2RlZmF1bHQgYXMgVGltZVdpZGdldEZhY3RvcnksIFRpbWVXaWRnZXRUb3BGYWN0b3J5fSBmcm9tICcuL2ZpbHRlcnMvdGltZS13aWRnZXQnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFNpbmdsZVNlbGVjdEZpbHRlckZhY3Rvcnl9IGZyb20gJy4vZmlsdGVycy9zaW5nbGUtc2VsZWN0LWZpbHRlcic7XG5leHBvcnQge2RlZmF1bHQgYXMgTXVsdGlTZWxlY3RGaWx0ZXJGYWN0b3J5fSBmcm9tICcuL2ZpbHRlcnMvbXVsdGktc2VsZWN0LWZpbHRlcic7XG5leHBvcnQge1xuICB0aW1lUmFuZ2VTbGlkZXJGaWVsZHNTZWxlY3RvcixcbiAgZGVmYXVsdCBhcyBUaW1lUmFuZ2VGaWx0ZXJGYWN0b3J5XG59IGZyb20gJy4vZmlsdGVycy90aW1lLXJhbmdlLWZpbHRlcic7XG5leHBvcnQge2RlZmF1bHQgYXMgUmFuZ2VGaWx0ZXJGYWN0b3J5fSBmcm9tICcuL2ZpbHRlcnMvcmFuZ2UtZmlsdGVyJztcblxuLy8gLy8gRWRpdG9yIEZhY3RvcnlcbmV4cG9ydCB7ZGVmYXVsdCBhcyBFZGl0b3JGYWN0b3J5fSBmcm9tICcuL2VkaXRvci9lZGl0b3InO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEZlYXR1cmVBY3Rpb25QYW5lbEZhY3Rvcnl9IGZyb20gJy4vZWRpdG9yL2ZlYXR1cmUtYWN0aW9uLXBhbmVsJztcblxuLy8gSW5qZWN0b3JcbmV4cG9ydCB7aW5qZWN0b3IsIHByb3ZpZGVSZWNpcGVzVG9JbmplY3Rvciwgd2l0aFN0YXRlfSBmcm9tICcuL2luamVjdG9yJztcblxuLy8gQ29tbW9uIENvbXBvbmVudHNcbmV4cG9ydCB7ZGVmYXVsdCBhcyBDbG91ZFRpbGV9IGZyb20gJy4vbW9kYWxzL2Nsb3VkLXRpbGUnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEZpbGVVcGxvYWRGYWN0b3J5LCBGaWxlVXBsb2FkfSBmcm9tICcuL2NvbW1vbi9maWxlLXVwbG9hZGVyL2ZpbGUtdXBsb2FkJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBEYXRhc2V0TGFiZWx9IGZyb20gJy4vY29tbW9uL2RhdGFzZXQtbGFiZWwnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEl0ZW1TZWxlY3Rvcn0gZnJvbSAnLi9jb21tb24vaXRlbS1zZWxlY3Rvci9pdGVtLXNlbGVjdG9yJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBUeXBlYWhlYWR9IGZyb20gJy4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvdHlwZWFoZWFkJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBEcm9wZG93bkxpc3R9IGZyb20gJy4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvZHJvcGRvd24tbGlzdCc7XG5leHBvcnQge2RlZmF1bHQgYXMgRmllbGRTZWxlY3RvckZhY3Rvcnl9IGZyb20gJy4vY29tbW9uL2ZpZWxkLXNlbGVjdG9yJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNb2RhbCwgTW9kYWxGb290ZXIsIE1vZGFsVGl0bGV9IGZyb20gJy4vY29tbW9uL21vZGFsJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBBcHBMb2dvfSBmcm9tICcuL2NvbW1vbi9sb2dvJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBTd2l0Y2h9IGZyb20gJy4vY29tbW9uL3N3aXRjaCc7XG5leHBvcnQge2RlZmF1bHQgYXMgQ2hlY2tib3h9IGZyb20gJy4vY29tbW9uL2NoZWNrYm94JztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBMb2FkaW5nU3Bpbm5lcn0gZnJvbSAnLi9jb21tb24vbG9hZGluZy1zcGlubmVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBMb2FkaW5nRGlhbG9nfSBmcm9tICcuL21vZGFscy9sb2FkaW5nLWRpYWxvZyc7XG5leHBvcnQge2RlZmF1bHQgYXMgRmllbGRUb2tlbkZhY3Rvcnl9IGZyb20gJy4vY29tbW9uL2ZpZWxkLXRva2VuJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBQb3J0YWxlZH0gZnJvbSAnLi9jb21tb24vcG9ydGFsZWQnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFByb2dyZXNzQmFyfSBmcm9tICcuL2NvbW1vbi9wcm9ncmVzcy1iYXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEZpbGVVcGxvYWRQcm9ncmVzc30gZnJvbSAnLi9jb21tb24vZmlsZS11cGxvYWRlci9maWxlLXVwbG9hZC1wcm9ncmVzcyc7XG5leHBvcnQge2RlZmF1bHQgYXMgU2xpZGVyfSBmcm9tICcuL2NvbW1vbi9zbGlkZXIvc2xpZGVyJztcbmV4cG9ydCB7RGF0YXNldFNxdWFyZX0gZnJvbSAnLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEFjdGlvblBhbmVsLCBBY3Rpb25QYW5lbEl0ZW19IGZyb20gJy4vY29tbW9uL2FjdGlvbi1wYW5lbCc7XG5leHBvcnQge2RlZmF1bHQgYXMgRGF0YVRhYmxlRmFjdG9yeX0gZnJvbSAnLi9jb21tb24vZGF0YS10YWJsZSc7XG5leHBvcnQge2RlZmF1bHQgYXMgQ2FudmFzSGFja30gZnJvbSAnLi9jb21tb24vZGF0YS10YWJsZS9jYW52YXMnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1hcExheWVyU2VsZWN0b3J9IGZyb20gJy4vY29tbW9uL21hcC1sYXllci1zZWxlY3Rvcic7XG5leHBvcnQge2RlZmF1bHQgYXMgVmVydGljYWxUb29sYmFyfSBmcm9tICcuL2NvbW1vbi92ZXJ0aWNhbC10b29sYmFyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBUb29sYmFySXRlbX0gZnJvbSAnLi9jb21tb24vdG9vbGJhci1pdGVtJztcblxuLy8gc2lkZSBwYW5lIGNvbXBvbmVudHNcbmV4cG9ydCB7ZGVmYXVsdCBhcyBMYXllclR5cGVTZWxlY3RvckZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC9sYXllci10eXBlLXNlbGVjdG9yJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBMYXllclR5cGVEcm9wZG93bkxpc3RGYWN0b3J5fSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItdHlwZS1kcm9wZG93bi1saXN0JztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBMYXllclR5cGVMaXN0SXRlbUZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC9sYXllci10eXBlLWxpc3QtaXRlbSc7XG5leHBvcnQge0NvbmZpZ0dyb3VwQ29sbGFwc2libGVDb250ZW50fSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItY29uZmlnLWdyb3VwJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBDb2x1bW5TZWxlY3RvckZhY3Rvcnl9IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC9jb2x1bW4tc2VsZWN0b3InO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEZpbHRlclBhbmVsSGVhZGVyRmFjdG9yeX0gZnJvbSAnLi9zaWRlLXBhbmVsL2ZpbHRlci1wYW5lbC9maWx0ZXItcGFuZWwtaGVhZGVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBTdHlsZWREcm9wZG93blNlbGVjdH0gZnJvbSAnLi9jb21tb24vaXRlbS1zZWxlY3Rvci9pdGVtLXNlbGVjdG9yJztcbmV4cG9ydCB7XG4gIExheWVyTGFiZWxFZGl0b3IsXG4gIExheWVyVGl0bGVTZWN0aW9uRmFjdG9yeVxufSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItcGFuZWwtaGVhZGVyJztcblxuZXhwb3J0IHtcbiAgSG93VG9CdXR0b24sXG4gIExheWVyQ29sb3JSYW5nZVNlbGVjdG9yLFxuICBMYXllckNvbG9yU2VsZWN0b3IsXG4gIEFnZ3JlZ2F0aW9uVHlwZVNlbGVjdG9yXG59IGZyb20gJy4vc2lkZS1wYW5lbC9sYXllci1wYW5lbC9sYXllci1jb25maWd1cmF0b3InO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgQ29sb3JQYWxldHRlfSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItcGFsZXR0ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCAqIGFzIEljb25zIGZyb20gJy4vY29tbW9uL2ljb25zJztcblxuZXhwb3J0IHtJY29uc307XG5cbi8vIEluZGl2aWR1YWwgQ29tcG9uZW50IGZyb20gRGVwZW5kZW5jeSBUcmVlXG5leHBvcnQgY29uc3QgVGltZVJhbmdlU2xpZGVyID0gYXBwSW5qZWN0b3IuZ2V0KFRpbWVSYW5nZVNsaWRlckZhY3RvcnkpO1xuZXhwb3J0IGNvbnN0IFJhbmdlU2xpZGVyID0gYXBwSW5qZWN0b3IuZ2V0KFJhbmdlU2xpZGVyRmFjdG9yeSk7XG5leHBvcnQgY29uc3QgVmlzQ29uZmlnU2xpZGVyID0gYXBwSW5qZWN0b3IuZ2V0KFZpc0NvbmZpZ1NsaWRlckZhY3RvcnkpO1xuZXhwb3J0IGNvbnN0IFZpc0NvbmZpZ1N3aXRjaCA9IGFwcEluamVjdG9yLmdldChWaXNDb25maWdTd2l0Y2hGYWN0b3J5KTtcbmV4cG9ydCBjb25zdCBMYXllckNvbmZpZ0dyb3VwID0gYXBwSW5qZWN0b3IuZ2V0KExheWVyQ29uZmlnR3JvdXBGYWN0b3J5KTtcbmV4cG9ydCBjb25zdCBDaGFubmVsQnlWYWx1ZVNlbGVjdG9yID0gYXBwSW5qZWN0b3IuZ2V0KENoYW5uZWxCeVZhbHVlU2VsZWN0b3JGYWN0b3J5KTtcbmV4cG9ydCBjb25zdCBDb2xvckRpbWVuc2lvblNjYWxlU2VsZWN0b3IgPSBhcHBJbmplY3Rvci5nZXQoQ29sb3JEaW1lbnNpb25TY2FsZVNlbGVjdG9yRmFjdG9yeSk7XG5leHBvcnQgY29uc3QgRmllbGRTZWxlY3RvciA9IGFwcEluamVjdG9yLmdldChGaWVsZFNlbGVjdG9yRmFjdG9yeSk7XG5leHBvcnQgY29uc3QgRmllbGRUb2tlbiA9IGFwcEluamVjdG9yLmdldChGaWVsZFRva2VuRmFjdG9yeSk7XG5leHBvcnQgY29uc3QgUGFuZWxIZWFkZXJBY3Rpb24gPSBhcHBJbmplY3Rvci5nZXQoUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5KTtcbmV4cG9ydCBjb25zdCBGaWVsZExpc3RJdGVtRmFjdG9yeSA9IGFwcEluamVjdG9yLmdldChGaWVsZExpc3RJdGVtRmFjdG9yeUZhY3RvcnkpO1xuZXhwb3J0IGNvbnN0IEluZm9IZWxwZXIgPSBhcHBJbmplY3Rvci5nZXQoSW5mb0hlbHBlckZhY3RvcnkpO1xuXG5leHBvcnQge1xuICBhcHBJbmplY3RvcixcbiAgVGltZVJhbmdlU2xpZGVyRmFjdG9yeSxcbiAgUmFuZ2VTbGlkZXJGYWN0b3J5LFxuICBWaXNDb25maWdTbGlkZXJGYWN0b3J5LFxuICBWaXNDb25maWdTd2l0Y2hGYWN0b3J5LFxuICBMYXllckNvbmZpZ0dyb3VwRmFjdG9yeSxcbiAgQ2hhbm5lbEJ5VmFsdWVTZWxlY3RvckZhY3RvcnksXG4gIENvbG9yRGltZW5zaW9uU2NhbGVTZWxlY3RvckZhY3RvcnksXG4gIEZpZWxkTGlzdEl0ZW1GYWN0b3J5RmFjdG9yeSxcbiAgSW5mb0hlbHBlckZhY3Rvcnlcbn07XG5cbi8vIENvbnRleHRcbmV4cG9ydCB7ZGVmYXVsdCBhcyBLZXBsZXJHbENvbnRleHQsIFJvb3RDb250ZXh0fSBmcm9tICdjb21wb25lbnRzL2NvbnRleHQnO1xuIl19
|
|
@@ -478,9 +478,10 @@ function MapContainerFactory(MapPopover, MapControl, Editor) {
|
|
|
478
478
|
}));
|
|
479
479
|
}
|
|
480
480
|
|
|
481
|
-
return /*#__PURE__*/_react["default"].createElement(_react2["default"], (0, _extends2["default"])({
|
|
481
|
+
return /*#__PURE__*/_react["default"].createElement(_react2["default"], (0, _extends2["default"])({
|
|
482
|
+
controller: true
|
|
483
|
+
}, this.props.deckGlProps, {
|
|
482
484
|
viewState: mapState,
|
|
483
|
-
controller: true,
|
|
484
485
|
onViewStateChange: function onViewStateChange(_ref2) {
|
|
485
486
|
var viewState = _ref2.viewState;
|
|
486
487
|
return _this2._onViewportChange(viewState);
|
|
@@ -680,4 +681,4 @@ function MapContainerFactory(MapPopover, MapControl, Editor) {
|
|
|
680
681
|
MapContainer.displayName = 'MapContainer';
|
|
681
682
|
return MapContainer;
|
|
682
683
|
}
|
|
683
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL21hcC1jb250YWluZXIuanMiXSwibmFtZXMiOlsiTUFQX1NUWUxFIiwiY29udGFpbmVyIiwiZGlzcGxheSIsInBvc2l0aW9uIiwid2lkdGgiLCJoZWlnaHQiLCJ0b3AiLCJwb2ludGVyRXZlbnRzIiwiTUFQQk9YR0xfU1RZTEVfVVBEQVRFIiwiTUFQQk9YR0xfUkVOREVSIiwiVFJBTlNJVElPTl9EVVJBVElPTiIsIkF0dHJpYnV0aW9uIiwiTWFwQ29udGFpbmVyRmFjdG9yeSIsImRlcHMiLCJNYXBQb3BvdmVyRmFjdG9yeSIsIk1hcENvbnRyb2xGYWN0b3J5IiwiRWRpdG9yRmFjdG9yeSIsIk1hcFBvcG92ZXIiLCJNYXBDb250cm9sIiwiRWRpdG9yIiwiTWFwQ29udGFpbmVyIiwicHJvcHMiLCJkaW1lbnNpb25zIiwicHJpbWFyeSIsImlzRXhwb3J0IiwibWFwU3RhdGVBY3Rpb25zIiwidXBkYXRlTWFwIiwibGF5ZXJzIiwibGF5ZXJEYXRhIiwibWFwTGF5ZXJzIiwibGF5ZXJPcmRlciIsImxheWVyc1NlbGVjdG9yIiwibGF5ZXJEYXRhU2VsZWN0b3IiLCJtYXBMYXllcnNTZWxlY3RvciIsInByZXBhcmVMYXllcnNUb1JlbmRlciIsInByZXBhcmVMYXllcnNGb3JEZWNrIiwiZmlsdGVycyIsImZpbHRlcnNTZWxlY3RvciIsImZpbHRlciIsImYiLCJ0eXBlIiwiRklMVEVSX1RZUEVTIiwicG9seWdvbiIsImxheWVyT3JkZXJTZWxlY3RvciIsImxheWVyc1RvUmVuZGVyU2VsZWN0b3IiLCJnZW5lcmF0ZU1hcGJveExheWVycyIsInZpc1N0YXRlQWN0aW9ucyIsIm9uTGF5ZXJDbGljayIsImlkeCIsImNvbG9yRG9tYWluIiwibGF5ZXJDb25maWdDaGFuZ2UiLCJsYXllcklkIiwiaW5kZXgiLCJtYXBJbmRleCIsInRvZ2dsZUxheWVyRm9yTWFwIiwicHJldmlvdXNMYXllcnMiLCJfdXBkYXRlTWFwYm94TGF5ZXJzIiwib25NYXBTdHlsZUxvYWRlZCIsIl9tYXAiLCJtYXBib3giLCJnZXRNYXAiLCJvbiIsIl9vbk1hcGJveFN0eWxlVXBkYXRlIiwib25NYXBSZW5kZXIiLCJnZXRNYXBib3hSZWYiLCJnbCIsImxheWVyQmxlbmRpbmciLCJlcnJvciIsImxheWVyIiwibWVzc2FnZSIsInNldFN0YXRlIiwiY29udGV4dExvc3QiLCJlcnJvck1lc3NhZ2UiLCJpZCIsIm5vdGlmaWNhdGlvbklkIiwiX2RlY2tHTEVycm9yc0VsYXBzZWQiLCJsYXN0U2hvd24iLCJEYXRlIiwibm93IiwiVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUiLCJ1aVN0YXRlQWN0aW9ucyIsImFkZE5vdGlmaWNhdGlvbiIsInZpZXdTdGF0ZSIsInJlc3RWaWV3U3RhdGUiLCJuZXh0IiwidHJhbnNpdGlvbkR1cmF0aW9uIiwib25WaWV3U3RhdGVDaGFuZ2UiLCJwYW5lbElkIiwidG9nZ2xlTWFwQ29udHJvbCIsIl9kZWNrIiwiX3JlZiIsImN1cnJlbnQiLCJfaGFuZGxlUmVzaXplIiwic3RhdGUiLCJvZmYiLCJvbkRlY2tJbml0aWFsaXplZCIsImxheWVyc1RvUmVuZGVyIiwibWFwU3RhdGUiLCJob3ZlckluZm8iLCJjbGlja2VkIiwiZGF0YXNldHMiLCJpbnRlcmFjdGlvbkNvbmZpZyIsIm1vdXNlUG9zIiwibW91c2VQb3NpdGlvbiIsImNvb3JkaW5hdGUiLCJwaW5uZWQiLCJ0b29sdGlwIiwibGF5ZXJIb3ZlclByb3AiLCJjb21wYXJlTW9kZSIsImNvbmZpZyIsInBpbm5lZFBvc2l0aW9uIiwibGF5ZXJQaW5uZWRQcm9wIiwidmlld3BvcnQiLCJXZWJNZXJjYXRvclZpZXdwb3J0IiwibG5nTGF0IiwiX2dldEhvdmVyWFkiLCJwcmltYXJ5RGF0YSIsImRhdGEiLCJjb21wYXJlVHlwZSIsImNvbW1vblByb3AiLCJvbkNsb3NlIiwiX29uQ2xvc2VNYXBQb3BvdmVyIiwiem9vbSIsImVuYWJsZWQiLCJzY3JlZW5Db29yZCIsInByb2plY3QiLCJ4IiwieSIsImxheWVyc0ZvckRlY2siLCJtYXBTdHlsZSIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwibWFwYm94QXBpVXJsIiwibWFza1BvbHlnb24iLCJkZWNrR2xMYXllcnMiLCJkZWNrR2xQcm9wcyIsImxlbmd0aCIsImRhdGFMYXllcnMiLCJzbGljZSIsInJldmVyc2UiLCJyZWR1Y2UiLCJvdmVybGF5cyIsImxheWVyQ2FsbGJhY2tzIiwib25TZXRMYXllckRvbWFpbiIsInZhbCIsIl9vbkxheWVyU2V0RG9tYWluIiwibGF5ZXJPdmVybGF5IiwiY29uY2F0IiwibGF5ZXJzT25Ub3AiLCJwdXNoIiwiU29saWRQb2x5Z29uTGF5ZXIiLCJNQVNLX0xBWUVSX0lEIiwib3BlcmF0aW9uIiwiT1BFUkFUSU9OIiwiTUFTSyIsImdldEZpbGxDb2xvciIsInZpc2libGVMYXllckdyb3VwcyIsIlRocmVlREJ1aWxkaW5nTGF5ZXIiLCJ0aHJlZURCdWlsZGluZ0NvbG9yIiwidXBkYXRlVHJpZ2dlcnMiLCJfb25WaWV3cG9ydENoYW5nZSIsIl9vbkJlZm9yZVJlbmRlciIsIm9uTGF5ZXJIb3ZlciIsIl9vbkRlY2tFcnJvciIsImNvbXAiLCJkZWNrIiwiX29uRGVja0luaXRpYWxpemVkIiwibWFwYm94TGF5ZXJzIiwibWFwYm94TGF5ZXJzU2VsZWN0b3IiLCJPYmplY3QiLCJrZXlzIiwiaXNTdHlsZUxvYWRlZCIsIk1hcENvbXBvbmVudCIsIm1hcENvbnRyb2xzIiwibG9jYWxlIiwiZWRpdG9yIiwibGF5ZXJzRm9yRGVja1NlbGVjdG9yIiwibWFwUHJvcHMiLCJwcmVzZXJ2ZURyYXdpbmdCdWZmZXIiLCJ0cmFuc2Zvcm1SZXF1ZXN0IiwiaXNFZGl0IiwibWFwRHJhdyIsImFjdGl2ZSIsImhhc0dlb2NvZGVyTGF5ZXIiLCJmaW5kIiwibCIsIkdFT0NPREVSX0xBWUVSX0lEIiwiaXNTcGxpdCIsIkJvb2xlYW4iLCJMT0NBTEVfQ09ERVMiLCJkcmFnUm90YXRlIiwicmVhZE9ubHkiLCJzY2FsZSIsImdlb2NvZGVyIiwidG9nZ2xlUGVyc3BlY3RpdmUiLCJ0b2dnbGVTcGxpdE1hcCIsIl9oYW5kbGVNYXBUb2dnbGVMYXllciIsIl90b2dnbGVNYXBDb250cm9sIiwic2V0RWRpdG9yTW9kZSIsInNldExvY2FsZSIsInRvZ2dsZUVkaXRvclZpc2liaWxpdHkiLCJfc2V0TWFwYm94TWFwIiwiYm90dG9tTWFwU3R5bGUiLCJ1bmRlZmluZWQiLCJvbk1vdXNlTW92ZSIsIl9yZW5kZXJEZWNrT3ZlcmxheSIsIl9yZW5kZXJNYXBib3hPdmVybGF5cyIsInBvbHlnb25GaWx0ZXJzIiwiZGVsZXRlRmVhdHVyZSIsInNldFNlbGVjdGVkRmVhdHVyZSIsInNldEZlYXR1cmVzIiwic2V0UG9seWdvbkZpbHRlckxheWVyIiwidmlzaWJsZSIsInRvcE1hcFN0eWxlIiwiX3JlbmRlck1hcFBvcG92ZXIiLCJnbG9iZSIsIl9yZW5kZXJNYXAiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwic3RyaW5nIiwiYXJyYXlPZiIsImFueSIsImJvb2wiLCJvbk1hcFRvZ2dsZUxheWVyIiwiZnVuYyIsIm51bWJlciIsIk1hcGJveEdMTWFwIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFRQTs7QUFDQTs7QUFPQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsU0FBUyxHQUFHO0FBQ2hCQyxFQUFBQSxTQUFTLEVBQUU7QUFDVEMsSUFBQUEsT0FBTyxFQUFFLGNBREE7QUFFVEMsSUFBQUEsUUFBUSxFQUFFLFVBRkQ7QUFHVEMsSUFBQUEsS0FBSyxFQUFFLE1BSEU7QUFJVEMsSUFBQUEsTUFBTSxFQUFFO0FBSkMsR0FESztBQU9oQkMsRUFBQUEsR0FBRyxFQUFFO0FBQ0hI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O0FBQ3pCakMsSUFBQUEsUUFBUSxFQUFFMkIsc0JBQVVNLElBckJIO0FBc0JqQnZNLElBQUFBLFFBQVEsRUFBRWlNLHNCQUFVTSxJQXRCSDtBQXVCakI1SCxJQUFBQSxPQUFPLEVBQUVzSCxzQkFBVUMsTUF2QkY7QUF3QmpCeEgsSUFBQUEsU0FBUyxFQUFFdUgsc0JBQVVDLE1BeEJKO0FBeUJqQjdMLElBQUFBLFNBQVMsRUFBRTRMLHNCQUFVQyxNQXpCSjtBQTBCakJNLElBQUFBLGdCQUFnQixFQUFFUCxzQkFBVVEsSUExQlg7QUEyQmpCeEssSUFBQUEsZ0JBQWdCLEVBQUVnSyxzQkFBVVEsSUEzQlg7QUE0QmpCbEssSUFBQUEsV0FBVyxFQUFFMEosc0JBQVVRLElBNUJOO0FBNkJqQmpLLElBQUFBLFlBQVksRUFBRXlKLHNCQUFVUSxJQTdCUDtBQThCakI3SyxJQUFBQSxLQUFLLEVBQUVxSyxzQkFBVVM7QUE5QkEsR0FGcUQ7QUFBQSxtQ0FDcEU5TSxZQURvRSxrQkFtQ2xEO0FBQ3BCdUosSUFBQUEsWUFBWSxFQUFFd0Qsc0JBRE07QUFFcEI3RixJQUFBQSxXQUFXLEVBQUUsRUFGTztBQUdwQmxGLElBQUFBLEtBQUssRUFBRSxDQUhhO0FBSXBCN0IsSUFBQUEsT0FBTyxFQUFFO0FBSlcsR0FuQ2tEO0FBMmhCMUVILEVBQUFBLFlBQVksQ0FBQ2dOLFdBQWIsR0FBMkIsY0FBM0I7QUFFQSxTQUFPaE4sWUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuLy8gbGlicmFyaWVzXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIGNyZWF0ZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBNYXBib3hHTE1hcCBmcm9tICdyZWFjdC1tYXAtZ2wnO1xuaW1wb3J0IERlY2tHTCBmcm9tICdAZGVjay5nbC9yZWFjdCc7XG5pbXBvcnQge2NyZWF0ZVNlbGVjdG9yfSBmcm9tICdyZXNlbGVjdCc7XG5pbXBvcnQge09QRVJBVElPTn0gZnJvbSAnQGRlY2suZ2wvY29yZSc7XG5pbXBvcnQge1NvbGlkUG9seWdvbkxheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuaW1wb3J0IFdlYk1lcmNhdG9yVmlld3BvcnQgZnJvbSAndmlld3BvcnQtbWVyY2F0b3ItcHJvamVjdCc7XG5pbXBvcnQge2Vycm9yTm90aWZpY2F0aW9ufSBmcm9tICd1dGlscy9ub3RpZmljYXRpb25zLXV0aWxzJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IE1hcFBvcG92ZXJGYWN0b3J5IGZyb20gJ2NvbXBvbmVudHMvbWFwL21hcC1wb3BvdmVyJztcbmltcG9ydCBNYXBDb250cm9sRmFjdG9yeSBmcm9tICdjb21wb25lbnRzL21hcC9tYXAtY29udHJvbCc7XG5pbXBvcnQge1N0eWxlZE1hcENvbnRhaW5lciwgU3R5bGVkQXR0cmJ1dGlvbn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgRWRpdG9yRmFjdG9yeSBmcm9tICcuL2VkaXRvci9lZGl0b3InO1xuXG4vLyB1dGlsc1xuaW1wb3J0IHtnZW5lcmF0ZU1hcGJveExheWVycywgdXBkYXRlTWFwYm94TGF5ZXJzfSBmcm9tICdsYXllcnMvbWFwYm94LXV0aWxzJztcbmltcG9ydCB7c2V0TGF5ZXJCbGVuZGluZ30gZnJvbSAndXRpbHMvZ2wtdXRpbHMnO1xuaW1wb3J0IHt0cmFuc2Zvcm1SZXF1ZXN0fSBmcm9tICd1dGlscy9tYXAtc3R5bGUtdXRpbHMvbWFwYm94LXV0aWxzJztcbmltcG9ydCB7XG4gIGdldExheWVySG92ZXJQcm9wLFxuICByZW5kZXJEZWNrR2xMYXllcixcbiAgcHJlcGFyZUxheWVyc1RvUmVuZGVyLFxuICBwcmVwYXJlTGF5ZXJzRm9yRGVja1xufSBmcm9tICd1dGlscy9sYXllci11dGlscyc7XG5cbi8vIGRlZmF1bHQtc2V0dGluZ3NcbmltcG9ydCBUaHJlZURCdWlsZGluZ0xheWVyIGZyb20gJ2RlY2tnbC1sYXllcnMvM2QtYnVpbGRpbmctbGF5ZXIvM2QtYnVpbGRpbmctbGF5ZXInO1xuaW1wb3J0IHtcbiAgRklMVEVSX1RZUEVTLFxuICBHRU9DT0RFUl9MQVlFUl9JRCxcbiAgTUFTS19MQVlFUl9JRCxcbiAgVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUVcbn0gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9lcnJvci1ib3VuZGFyeSc7XG5pbXBvcnQge29ic2VydmVEaW1lbnNpb25zLCB1bm9ic2VydmVEaW1lbnNpb25zfSBmcm9tICcuLi91dGlscy9vYnNlcnZlLWRpbWVuc2lvbnMnO1xuaW1wb3J0IHtMT0NBTEVfQ09ERVN9IGZyb20gJ2xvY2FsaXphdGlvbi9sb2NhbGVzJztcblxuLyoqIEB0eXBlIHt7W2tleTogc3RyaW5nXTogUmVhY3QuQ1NTUHJvcGVydGllc319ICovXG5jb25zdCBNQVBfU1RZTEUgPSB7XG4gIGNvbnRhaW5lcjoge1xuICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgaGVpZ2h0OiAnMTAwJSdcbiAgfSxcbiAgdG9wOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdG9wOiAnMHB4JyxcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBoZWlnaHQ6ICcxMDAlJ1xuICB9XG59O1xuXG5jb25zdCBNQVBCT1hHTF9TVFlMRV9VUERBVEUgPSAnc3R5bGUubG9hZCc7XG5jb25zdCBNQVBCT1hHTF9SRU5ERVIgPSAncmVuZGVyJztcbmNvbnN0IFRSQU5TSVRJT05fRFVSQVRJT04gPSAwO1xuXG5leHBvcnQgY29uc3QgQXR0cmlidXRpb24gPSAoKSA9PiAoXG4gIDxTdHlsZWRBdHRyYnV0aW9uPlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYXR0cml0aW9uLWxvZ29cIj5cbiAgICAgIEJhc2VtYXAgYnk6XG4gICAgICA8YVxuICAgICAgICBjbGFzc05hbWU9XCJtYXBib3hnbC1jdHJsLWxvZ29cIlxuICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIk1hcGJveCBsb2dvXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJhdHRyaXRpb24tbGlua1wiPlxuICAgICAgPGEgaHJlZj1cImh0dHBzOi8va2VwbGVyLmdsL3BvbGljeS9cIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+XG4gICAgICAgIMKpIGtlcGxlci5nbCB8eycgJ31cbiAgICAgIDwvYT5cbiAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL2Fib3V0L21hcHMvXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPlxuICAgICAgICDCqSBNYXBib3ggfHsnICd9XG4gICAgICA8L2E+XG4gICAgICA8YSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+XG4gICAgICAgIMKpIE9wZW5TdHJlZXRNYXAgfHsnICd9XG4gICAgICA8L2E+XG4gICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9tYXAtZmVlZGJhY2svXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPlxuICAgICAgICA8c3Ryb25nPkltcHJvdmUgdGhpcyBtYXA8L3N0cm9uZz5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9TdHlsZWRBdHRyYnV0aW9uPlxuKTtcblxuTWFwQ29udGFpbmVyRmFjdG9yeS5kZXBzID0gW01hcFBvcG92ZXJGYWN0b3J5LCBNYXBDb250cm9sRmFjdG9yeSwgRWRpdG9yRmFjdG9yeV07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1hcENvbnRhaW5lckZhY3RvcnkoTWFwUG9wb3ZlciwgTWFwQ29udHJvbCwgRWRpdG9yKSB7XG4gIGNsYXNzIE1hcENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIC8vIHJlcXVpcmVkXG4gICAgICBkYXRhc2V0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIGludGVyYWN0aW9uQ29uZmlnOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBsYXllckJsZW5kaW5nOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBsYXllck9yZGVyOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KS5pc1JlcXVpcmVkLFxuICAgICAgbGF5ZXJEYXRhOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KS5pc1JlcXVpcmVkLFxuICAgICAgbGF5ZXJzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KS5pc1JlcXVpcmVkLFxuICAgICAgZmlsdGVyczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSkuaXNSZXF1aXJlZCxcbiAgICAgIG1hcFN0YXRlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBtYXBDb250cm9sczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgbWFwU3R5bGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIG1vdXNlUG9zOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgbWFwYm94QXBpVXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgdmlzU3RhdGVBY3Rpb25zOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBtYXBTdGF0ZUFjdGlvbnM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIHVpU3RhdGVBY3Rpb25zOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG5cbiAgICAgIC8vIG9wdGlvbmFsXG4gICAgICBwcmltYXJ5OiBQcm9wVHlwZXMuYm9vbCwgLy8gcHJpbWFyeSBvbmUgd2lsbCBiZSByZXBvcnRpbmcgaXRzIHNpemUgdG8gYXBwU3RhdGVcbiAgICAgIHJlYWRPbmx5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgIGlzRXhwb3J0OiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgIGNsaWNrZWQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICBob3ZlckluZm86IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICBtYXBMYXllcnM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICBvbk1hcFRvZ2dsZUxheWVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIG9uTWFwU3R5bGVMb2FkZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25NYXBSZW5kZXI6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgZ2V0TWFwYm94UmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIGluZGV4OiBQcm9wVHlwZXMubnVtYmVyXG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICBNYXBDb21wb25lbnQ6IE1hcGJveEdMTWFwLFxuICAgICAgZGVja0dsUHJvcHM6IHt9LFxuICAgICAgaW5kZXg6IDAsXG4gICAgICBwcmltYXJ5OiB0cnVlXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG5cbiAgICAgIHRoaXMucHJldmlvdXNMYXllcnMgPSB7XG4gICAgICAgIC8vIFtsYXllcnMuaWRdOiBtYXBib3hMYXllckNvbmZpZ1xuICAgICAgfTtcblxuICAgICAgdGhpcy5fZGVjayA9IG51bGw7XG4gICAgICB0aGlzLl9yZWYgPSBjcmVhdGVSZWYoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIG9ic2VydmVEaW1lbnNpb25zKHRoaXMuX3JlZi5jdXJyZW50LCB0aGlzLl9oYW5kbGVSZXNpemUpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IGNvbnRleHRMb3N0ID0gdGhpcy5zdGF0ZT8uY29udGV4dExvc3Q7XG5cbiAgICAgIGlmIChjb250ZXh0TG9zdCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tZGlkLXVwZGF0ZS1zZXQtc3RhdGVcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7Y29udGV4dExvc3Q6IGZhbHNlfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICAvLyB1bmJpbmQgbWFwYm94Z2wgZXZlbnQgbGlzdGVuZXJcbiAgICAgIGlmICh0aGlzLl9tYXApIHtcbiAgICAgICAgdGhpcy5fbWFwLm9mZihNQVBCT1hHTF9TVFlMRV9VUERBVEUpO1xuICAgICAgICB0aGlzLl9tYXAub2ZmKE1BUEJPWEdMX1JFTkRFUik7XG4gICAgICB9XG4gICAgICB1bm9ic2VydmVEaW1lbnNpb25zKHRoaXMuX3JlZi5jdXJyZW50KTtcbiAgICB9XG5cbiAgICBfaGFuZGxlUmVzaXplID0gZGltZW5zaW9ucyA9PiB7XG4gICAgICBjb25zdCB7cHJpbWFyeSwgaXNFeHBvcnR9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmIChwcmltYXJ5KSB7XG4gICAgICAgIGNvbnN0IHttYXBTdGF0ZUFjdGlvbnN9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgaWYgKCFpc0V4cG9ydCAmJiBkaW1lbnNpb25zICYmIGRpbWVuc2lvbnMud2lkdGggPiAwICYmIGRpbWVuc2lvbnMuaGVpZ2h0ID4gMCkge1xuICAgICAgICAgIG1hcFN0YXRlQWN0aW9ucy51cGRhdGVNYXAoZGltZW5zaW9ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgbGF5ZXJzU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5sYXllcnM7XG4gICAgbGF5ZXJEYXRhU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5sYXllckRhdGE7XG4gICAgbWFwTGF5ZXJzU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5tYXBMYXllcnM7XG4gICAgbGF5ZXJPcmRlclNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMubGF5ZXJPcmRlcjtcbiAgICBsYXllcnNUb1JlbmRlclNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICB0aGlzLmxheWVyc1NlbGVjdG9yLFxuICAgICAgdGhpcy5sYXllckRhdGFTZWxlY3RvcixcbiAgICAgIHRoaXMubWFwTGF5ZXJzU2VsZWN0b3IsXG4gICAgICBwcmVwYXJlTGF5ZXJzVG9SZW5kZXJcbiAgICApO1xuICAgIGxheWVyc0ZvckRlY2tTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgdGhpcy5sYXllcnNTZWxlY3RvcixcbiAgICAgIHRoaXMubGF5ZXJEYXRhU2VsZWN0b3IsXG4gICAgICBwcmVwYXJlTGF5ZXJzRm9yRGVja1xuICAgICk7XG4gICAgZmlsdGVyc1NlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuZmlsdGVycztcbiAgICBwb2x5Z29uRmlsdGVycyA9IGNyZWF0ZVNlbGVjdG9yKHRoaXMuZmlsdGVyc1NlbGVjdG9yLCBmaWx0ZXJzID0+XG4gICAgICBmaWx0ZXJzLmZpbHRlcihmID0+IGYudHlwZSA9PT0gRklMVEVSX1RZUEVTLnBvbHlnb24pXG4gICAgKTtcblxuICAgIG1hcGJveExheWVyc1NlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICB0aGlzLmxheWVyc1NlbGVjdG9yLFxuICAgICAgdGhpcy5sYXllckRhdGFTZWxlY3RvcixcbiAgICAgIHRoaXMubGF5ZXJPcmRlclNlbGVjdG9yLFxuICAgICAgdGhpcy5sYXllcnNUb1JlbmRlclNlbGVjdG9yLFxuICAgICAgZ2VuZXJhdGVNYXBib3hMYXllcnNcbiAgICApO1xuXG4gICAgLyogY29tcG9uZW50IHByaXZhdGUgZnVuY3Rpb25zICovXG4gICAgX29uQ2xvc2VNYXBQb3BvdmVyID0gKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy52aXNTdGF0ZUFjdGlvbnMub25MYXllckNsaWNrKG51bGwpO1xuICAgIH07XG5cbiAgICBfb25MYXllclNldERvbWFpbiA9IChpZHgsIGNvbG9yRG9tYWluKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy5sYXllckNvbmZpZ0NoYW5nZSh0aGlzLnByb3BzLmxheWVyc1tpZHhdLCB7XG4gICAgICAgIGNvbG9yRG9tYWluXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX2hhbmRsZU1hcFRvZ2dsZUxheWVyID0gbGF5ZXJJZCA9PiB7XG4gICAgICBjb25zdCB7aW5kZXg6IG1hcEluZGV4ID0gMCwgdmlzU3RhdGVBY3Rpb25zfSA9IHRoaXMucHJvcHM7XG4gICAgICB2aXNTdGF0ZUFjdGlvbnMudG9nZ2xlTGF5ZXJGb3JNYXAobWFwSW5kZXgsIGxheWVySWQpO1xuICAgIH07XG5cbiAgICBfb25NYXBib3hTdHlsZVVwZGF0ZSA9ICgpID0+IHtcbiAgICAgIC8vIGZvcmNlIHJlZnJlc2ggbWFwYm94Z2wgbGF5ZXJzXG4gICAgICB0aGlzLnByZXZpb3VzTGF5ZXJzID0ge307XG4gICAgICB0aGlzLl91cGRhdGVNYXBib3hMYXllcnMoKTtcblxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLm9uTWFwU3R5bGVMb2FkZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5vbk1hcFN0eWxlTG9hZGVkKHRoaXMuX21hcCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9zZXRNYXBib3hNYXAgPSBtYXBib3ggPT4ge1xuICAgICAgaWYgKCF0aGlzLl9tYXAgJiYgbWFwYm94KSB7XG4gICAgICAgIHRoaXMuX21hcCA9IG1hcGJveC5nZXRNYXAoKTtcbiAgICAgICAgLy8gaSBub3RpY2VkIGluIGNlcnRhaW4gY29udGV4dCB3ZSBkb24ndCBhY2Nlc3MgdGhlIGFjdHVhbCBtYXAgZWxlbWVudFxuICAgICAgICBpZiAoIXRoaXMuX21hcCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBiaW5kIG1hcGJveGdsIGV2ZW50IGxpc3RlbmVyXG4gICAgICAgIHRoaXMuX21hcC5vbihNQVBCT1hHTF9TVFlMRV9VUERBVEUsIHRoaXMuX29uTWFwYm94U3R5bGVVcGRhdGUpO1xuXG4gICAgICAgIHRoaXMuX21hcC5vbihNQVBCT1hHTF9SRU5ERVIsICgpID0+IHtcbiAgICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJvcHMub25NYXBSZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMub25NYXBSZW5kZXIodGhpcy5fbWFwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5wcm9wcy5nZXRNYXBib3hSZWYpIHtcbiAgICAgICAgLy8gVGhlIHBhcmVudCBjb21wb25lbnQgY2FuIGdhaW4gYWNjZXNzIHRvIG91ciBNYXBib3hHbE1hcCBieVxuICAgICAgICAvLyBwcm92aWRpbmcgdGhpcyBjYWxsYmFjay4gTm90ZSB0aGF0ICdtYXBib3gnIHdpbGwgYmUgbnVsbCB3aGVuIHRoZVxuICAgICAgICAvLyByZWYgaXMgdW5zZXQgKGUuZy4gd2hlbiBhIHNwbGl0IG1hcCBpcyBjbG9zZWQpLlxuICAgICAgICB0aGlzLnByb3BzLmdldE1hcGJveFJlZihtYXBib3gsIHRoaXMucHJvcHMuaW5kZXgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfb25EZWNrSW5pdGlhbGl6ZWQoZ2wpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLm9uRGVja0luaXRpYWxpemVkKSB7XG4gICAgICAgIHRoaXMucHJvcHMub25EZWNrSW5pdGlhbGl6ZWQodGhpcy5fZGVjaywgZ2wpO1xuICAgICAgfVxuICAgIH1cblxuICAgIF9vbkJlZm9yZVJlbmRlciA9ICh7Z2x9KSA9PiB7XG4gICAgICBzZXRMYXllckJsZW5kaW5nKGdsLCB0aGlzLnByb3BzLmxheWVyQmxlbmRpbmcpO1xuICAgIH07XG5cbiAgICBfb25EZWNrRXJyb3IgPSAoZXJyb3IsIGxheWVyKSA9PiB7XG4gICAgICBpZiAoZXJyb3I/Lm1lc3NhZ2UgPT09ICdXZWJHTCBjb250ZXh0IGlzIGxvc3QnKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2NvbnRleHRMb3N0OiB0cnVlfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYEFuIGVycm9yIGluIGRlY2suZ2w6ICR7ZXJyb3I/Lm1lc3NhZ2V9IGluICR7bGF5ZXI/LmlkfWA7XG4gICAgICBjb25zdCBub3RpZmljYXRpb25JZCA9IGAke2xheWVyPy5pZH0tJHtlcnJvcj8ubWVzc2FnZX1gO1xuXG4gICAgICAvLyBUaHJvdHRsZSBlcnJvciBub3RpZmljYXRpb25zLCBhcyBSZWFjdCBkb2Vzbid0IGxpa2UgdG9vIG1hbnkgc3RhdGUgY2hhbmdlcyBmcm9tIGhlcmUuXG4gICAgICB0aGlzLl9kZWNrR0xFcnJvcnNFbGFwc2VkID0gdGhpcy5fZGVja0dMRXJyb3JzRWxhcHNlZCB8fCB7fTtcbiAgICAgIGNvbnN0IGxhc3RTaG93biA9IHRoaXMuX2RlY2tHTEVycm9yc0VsYXBzZWRbbm90aWZpY2F0aW9uSWRdO1xuICAgICAgaWYgKCFsYXN0U2hvd24gfHwgbGFzdFNob3duIDwgRGF0ZS5ub3coKSAtIFRIUk9UVExFX05PVElGSUNBVElPTl9USU1FKSB7XG4gICAgICAgIHRoaXMuX2RlY2tHTEVycm9yc0VsYXBzZWRbbm90aWZpY2F0aW9uSWRdID0gRGF0ZS5ub3coKTtcblxuICAgICAgICAvLyBDcmVhdGUgbmV3IGVycm9yIG5vdGlmaWNhdGlvbiBvciB1cGRhdGUgZXhpc3Rpbmcgb25lIHdpdGggc2FtZSBpZC5cbiAgICAgICAgLy8gVXBkYXRlIGlzIHJlcXVpcmVkIHRvIHByZXNlcnZlIHRoZSBvcmRlciBvZiBub3RpZmljYXRpb25zIGFzIHRoZXkgcHJvYmFibHkgYXJlIGdvaW5nIHRvIFwianVtcFwiIGJhc2VkIG9uIG9yZGVyIG9mIGVycm9ycy5cbiAgICAgICAgY29uc3Qge3VpU3RhdGVBY3Rpb25zfSA9IHRoaXMucHJvcHM7XG4gICAgICAgIHVpU3RhdGVBY3Rpb25zLmFkZE5vdGlmaWNhdGlvbihcbiAgICAgICAgICBlcnJvck5vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgICBpZDogbm90aWZpY2F0aW9uSWRcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvKiBjb21wb25lbnQgcmVuZGVyIGZ1bmN0aW9ucyAqL1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuICAgIF9yZW5kZXJNYXBQb3BvdmVyKGxheWVyc1RvUmVuZGVyKSB7XG4gICAgICAvLyBUT0RPOiBtb3ZlIHRoaXMgaW50byByZWR1Y2VyIHNvIGl0IGNhbiBiZSB0ZXN0ZWRcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgbWFwU3RhdGUsXG4gICAgICAgIGhvdmVySW5mbyxcbiAgICAgICAgY2xpY2tlZCxcbiAgICAgICAgZGF0YXNldHMsXG4gICAgICAgIGludGVyYWN0aW9uQ29uZmlnLFxuICAgICAgICBsYXllcnMsXG4gICAgICAgIG1vdXNlUG9zOiB7bW91c2VQb3NpdGlvbiwgY29vcmRpbmF0ZSwgcGlubmVkfVxuICAgICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmICghbW91c2VQb3NpdGlvbiB8fCAhaW50ZXJhY3Rpb25Db25maWcudG9vbHRpcCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGF5ZXJIb3ZlclByb3AgPSBnZXRMYXllckhvdmVyUHJvcCh7XG4gICAgICAgIGludGVyYWN0aW9uQ29uZmlnLFxuICAgICAgICBob3ZlckluZm8sXG4gICAgICAgIGxheWVycyxcbiAgICAgICAgbGF5ZXJzVG9SZW5kZXIsXG4gICAgICAgIGRhdGFzZXRzXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgY29tcGFyZU1vZGUgPSBpbnRlcmFjdGlvbkNvbmZpZy50b29sdGlwLmNvbmZpZ1xuICAgICAgICA/IGludGVyYWN0aW9uQ29uZmlnLnRvb2x0aXAuY29uZmlnLmNvbXBhcmVNb2RlXG4gICAgICAgIDogZmFsc2U7XG5cbiAgICAgIGxldCBwaW5uZWRQb3NpdGlvbiA9IHt9O1xuICAgICAgbGV0IGxheWVyUGlubmVkUHJvcCA9IG51bGw7XG4gICAgICBpZiAocGlubmVkIHx8IGNsaWNrZWQpIHtcbiAgICAgICAgLy8gcHJvamVjdCBsbmdsYXQgdG8gc2NyZWVuIHNvIHRoYXQgdG9vbHRpcCBmb2xsb3dzIHRoZSBvYmplY3Qgb24gem9vbVxuICAgICAgICBjb25zdCB2aWV3cG9ydCA9IG5ldyBXZWJNZXJjYXRvclZpZXdwb3J0KG1hcFN0YXRlKTtcbiAgICAgICAgY29uc3QgbG5nTGF0ID0gY2xpY2tlZCA/IGNsaWNrZWQubG5nTGF0IDogcGlubmVkLmNvb3JkaW5hdGU7XG4gICAgICAgIHBpbm5lZFBvc2l0aW9uID0gdGhpcy5fZ2V0SG92ZXJYWSh2aWV3cG9ydCwgbG5nTGF0KTtcbiAgICAgICAgbGF5ZXJQaW5uZWRQcm9wID0gZ2V0TGF5ZXJIb3ZlclByb3Aoe1xuICAgICAgICAgIGludGVyYWN0aW9uQ29uZmlnLFxuICAgICAgICAgIGhvdmVySW5mbzogY2xpY2tlZCxcbiAgICAgICAgICBsYXllcnMsXG4gICAgICAgICAgbGF5ZXJzVG9SZW5kZXIsXG4gICAgICAgICAgZGF0YXNldHNcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChsYXllckhvdmVyUHJvcCAmJiBsYXllclBpbm5lZFByb3ApIHtcbiAgICAgICAgICBsYXllckhvdmVyUHJvcC5wcmltYXJ5RGF0YSA9IGxheWVyUGlubmVkUHJvcC5kYXRhO1xuICAgICAgICAgIGxheWVySG92ZXJQcm9wLmNvbXBhcmVUeXBlID0gaW50ZXJhY3Rpb25Db25maWcudG9vbHRpcC5jb25maWcuY29tcGFyZVR5cGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgY29tbW9uUHJvcCA9IHtcbiAgICAgICAgb25DbG9zZTogdGhpcy5fb25DbG9zZU1hcFBvcG92ZXIsXG4gICAgICAgIHpvb206IG1hcFN0YXRlLnpvb20sXG4gICAgICAgIGNvbnRhaW5lcjogdGhpcy5fcmVmLmN1cnJlbnRcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgIHtsYXllclBpbm5lZFByb3AgJiYgKFxuICAgICAgICAgICAgPE1hcFBvcG92ZXJcbiAgICAgICAgICAgICAgey4uLnBpbm5lZFBvc2l0aW9ufVxuICAgICAgICAgICAgICB7Li4uY29tbW9uUHJvcH1cbiAgICAgICAgICAgICAgbGF5ZXJIb3ZlclByb3A9e2xheWVyUGlubmVkUHJvcH1cbiAgICAgICAgICAgICAgY29vcmRpbmF0ZT17aW50ZXJhY3Rpb25Db25maWcuY29vcmRpbmF0ZS5lbmFibGVkICYmIChwaW5uZWQgfHwge30pLmNvb3JkaW5hdGV9XG4gICAgICAgICAgICAgIGZyb3plbj17dHJ1ZX1cbiAgICAgICAgICAgICAgaXNCYXNlPXtjb21wYXJlTW9kZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7bGF5ZXJIb3ZlclByb3AgJiYgKCFsYXllclBpbm5lZFByb3AgfHwgY29tcGFyZU1vZGUpICYmIChcbiAgICAgICAgICAgIDxNYXBQb3BvdmVyXG4gICAgICAgICAgICAgIHg9e21vdXNlUG9zaXRpb25bMF19XG4gICAgICAgICAgICAgIHk9e21vdXNlUG9zaXRpb25bMV19XG4gICAgICAgICAgICAgIHsuLi5jb21tb25Qcm9wfVxuICAgICAgICAgICAgICBsYXllckhvdmVyUHJvcD17bGF5ZXJIb3ZlclByb3B9XG4gICAgICAgICAgICAgIGZyb3plbj17ZmFsc2V9XG4gICAgICAgICAgICAgIGNvb3JkaW5hdGU9e2ludGVyYWN0aW9uQ29uZmlnLmNvb3JkaW5hdGUuZW5hYmxlZCAmJiBjb29yZGluYXRlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICApO1xuICAgIH1cblxuICAgIC8qIGVzbGludC1lbmFibGUgY29tcGxleGl0eSAqL1xuXG4gICAgX2dldEhvdmVyWFkodmlld3BvcnQsIGxuZ0xhdCkge1xuICAgICAgY29uc3Qgc2NyZWVuQ29vcmQgPSAhdmlld3BvcnQgfHwgIWxuZ0xhdCA/IG51bGwgOiB2aWV3cG9ydC5wcm9qZWN0KGxuZ0xhdCk7XG4gICAgICByZXR1cm4gc2NyZWVuQ29vcmQgJiYge3g6IHNjcmVlbkNvb3JkWzBdLCB5OiBzY3JlZW5Db29yZFsxXX07XG4gICAgfVxuXG4gICAgX3JlbmRlckRlY2tPdmVybGF5KGxheWVyc0ZvckRlY2spIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgbWFwU3RhdGUsXG4gICAgICAgIG1hcFN0eWxlLFxuICAgICAgICBsYXllckRhdGEsXG4gICAgICAgIGxheWVyT3JkZXIsXG4gICAgICAgIGxheWVycyxcbiAgICAgICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgICAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgICAgICAgbWFwYm94QXBpVXJsLFxuICAgICAgICBtYXNrUG9seWdvblxuICAgICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIC8vIGluaXRpYWxpc2UgbGF5ZXJzIGZyb20gcHJvcHMgaWYgZXhpc3RzXG4gICAgICBsZXQgZGVja0dsTGF5ZXJzID0gdGhpcy5wcm9wcy5kZWNrR2xQcm9wcz8ubGF5ZXJzIHx8IFtdO1xuXG4gICAgICAvLyB3YWl0IHVudGlsIGRhdGEgaXMgcmVhZHkgYmVmb3JlIHJlbmRlciBkYXRhIGxheWVyc1xuICAgICAgaWYgKGxheWVyRGF0YSAmJiBsYXllckRhdGEubGVuZ3RoKSB7XG4gICAgICAgIC8vIGxhc3QgbGF5ZXIgcmVuZGVyIGZpcnN0XG4gICAgICAgIGNvbnN0IGRhdGFMYXllcnMgPSBsYXllck9yZGVyXG4gICAgICAgICAgLnNsaWNlKClcbiAgICAgICAgICAucmV2ZXJzZSgpXG4gICAgICAgICAgLmZpbHRlcihpZHggPT4gbGF5ZXJzRm9yRGVja1tsYXllcnNbaWR4XS5pZF0pXG4gICAgICAgICAgLnJlZHVjZSgob3ZlcmxheXMsIGlkeCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF5ZXJDYWxsYmFja3MgPSB7XG4gICAgICAgICAgICAgIG9uU2V0TGF5ZXJEb21haW46IHZhbCA9PiB0aGlzLl9vbkxheWVyU2V0RG9tYWluKGlkeCwgdmFsKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGxheWVyT3ZlcmxheSA9IHJlbmRlckRlY2tHbExheWVyKHRoaXMucHJvcHMsIGxheWVyQ2FsbGJhY2tzLCBpZHgpO1xuICAgICAgICAgICAgcmV0dXJuIG92ZXJsYXlzLmNvbmNhdChsYXllck92ZXJsYXkgfHwgW10pO1xuICAgICAgICAgIH0sIFtdKTtcbiAgICAgICAgZGVja0dsTGF5ZXJzID0gZGVja0dsTGF5ZXJzLmNvbmNhdChkYXRhTGF5ZXJzKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMucHJvcHMuZGVja0dsUHJvcHM/LmxheWVyc09uVG9wKSB7XG4gICAgICAgIGRlY2tHbExheWVycyA9IGRlY2tHbExheWVycy5jb25jYXQodGhpcy5wcm9wcy5kZWNrR2xQcm9wcy5sYXllcnNPblRvcCk7XG4gICAgICB9XG5cbiAgICAgIGRlY2tHbExheWVycy5wdXNoKFxuICAgICAgICBuZXcgU29saWRQb2x5Z29uTGF5ZXIoe1xuICAgICAgICAgIGlkOiBNQVNLX0xBWUVSX0lELFxuICAgICAgICAgIG9wZXJhdGlvbjogT1BFUkFUSU9OLk1BU0ssXG4gICAgICAgICAgZGF0YTogbWFza1BvbHlnb24gPyBbe3BvbHlnb246IG1hc2tQb2x5Z29ufV0gOiBbXSxcbiAgICAgICAgICBnZXRGaWxsQ29sb3I6IFsyNTUsIDI1NSwgMjU1LCAyNTVdXG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICBpZiAobWFwU3R5bGUudmlzaWJsZUxheWVyR3JvdXBzWyczZCBidWlsZGluZyddKSB7XG4gICAgICAgIGRlY2tHbExheWVycy5wdXNoKFxuICAgICAgICAgIG5ldyBUaHJlZURCdWlsZGluZ0xheWVyKHtcbiAgICAgICAgICAgIGlkOiAnX2tlcGxlcmdsXzNkLWJ1aWxkaW5nJyxcbiAgICAgICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgICAgICAgICAgbWFwYm94QXBpVXJsLFxuICAgICAgICAgICAgdGhyZWVEQnVpbGRpbmdDb2xvcjogbWFwU3R5bGUudGhyZWVEQnVpbGRpbmdDb2xvcixcbiAgICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB7XG4gICAgICAgICAgICAgIGdldEZpbGxDb2xvcjogbWFwU3R5bGUudGhyZWVEQnVpbGRpbmdDb2xvclxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxEZWNrR0xcbiAgICAgICAgICB7Li4udGhpcy5wcm9wcy5kZWNrR2xQcm9wc31cbiAgICAgICAgICB2aWV3U3RhdGU9e21hcFN0YXRlfVxuICAgICAgICAgIGNvbnRyb2xsZXI9e3RydWV9XG4gICAgICAgICAgb25WaWV3U3RhdGVDaGFuZ2U9eyh7dmlld1N0YXRlfSkgPT4gdGhpcy5fb25WaWV3cG9ydENoYW5nZSh2aWV3U3RhdGUpfVxuICAgICAgICAgIGlkPVwiZGVmYXVsdC1kZWNrZ2wtb3ZlcmxheVwiXG4gICAgICAgICAgbGF5ZXJzPXtkZWNrR2xMYXllcnN9XG4gICAgICAgICAgb25CZWZvcmVSZW5kZXI9e3RoaXMuX29uQmVmb3JlUmVuZGVyfVxuICAgICAgICAgIG9uSG92ZXI9e3Zpc1N0YXRlQWN0aW9ucy5vbkxheWVySG92ZXJ9XG4gICAgICAgICAgb25DbGljaz17dmlzU3RhdGVBY3Rpb25zLm9uTGF5ZXJDbGlja31cbiAgICAgICAgICBvbkVycm9yPXt0aGlzLl9vbkRlY2tFcnJvcn1cbiAgICAgICAgICByZWY9e2NvbXAgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbXAgJiYgY29tcC5kZWNrICYmIGNvbXAuZGVjayAhPT0gdGhpcy5fZGVjaykge1xuICAgICAgICAgICAgICB0aGlzLl9kZWNrID0gY29tcC5kZWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25XZWJHTEluaXRpYWxpemVkPXtnbCA9PiB0aGlzLl9vbkRlY2tJbml0aWFsaXplZChnbCl9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH1cblxuICAgIF91cGRhdGVNYXBib3hMYXllcnMoKSB7XG4gICAgICBjb25zdCBtYXBib3hMYXllcnMgPSB0aGlzLm1hcGJveExheWVyc1NlbGVjdG9yKHRoaXMucHJvcHMpO1xuICAgICAgaWYgKCFPYmplY3Qua2V5cyhtYXBib3hMYXllcnMpLmxlbmd0aCAmJiAhT2JqZWN0LmtleXModGhpcy5wcmV2aW91c0xheWVycykubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdXBkYXRlTWFwYm94TGF5ZXJzKHRoaXMuX21hcCwgbWFwYm94TGF5ZXJzLCB0aGlzLnByZXZpb3VzTGF5ZXJzKTtcblxuICAgICAgdGhpcy5wcmV2aW91c0xheWVycyA9IG1hcGJveExheWVycztcbiAgICB9XG5cbiAgICBfcmVuZGVyTWFwYm94T3ZlcmxheXMoKSB7XG4gICAgICBpZiAodGhpcy5fbWFwICYmIHRoaXMuX21hcC5pc1N0eWxlTG9hZGVkKCkpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlTWFwYm94TGF5ZXJzKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgX29uVmlld3BvcnRDaGFuZ2UgPSB2aWV3U3RhdGUgPT4ge1xuICAgICAgY29uc3Qge3dpZHRoLCBoZWlnaHQsIC4uLnJlc3RWaWV3U3RhdGV9ID0gdmlld1N0YXRlO1xuICAgICAgY29uc3Qge3ByaW1hcnksIGlzRXhwb3J0fSA9IHRoaXMucHJvcHM7XG4gICAgICAvLyByZWFjdC1tYXAtZ2wgc2VuZHMgMCwwIGRpbWVuc2lvbnMgZHVyaW5nIGluaXRpYWxpemF0aW9uXG4gICAgICAvLyBhZnRlciB3ZSBoYXZlIHJlY2VpdmVkIHByb3BlciBkaW1lbnNpb25zIGZyb20gb2JzZXJ2ZURpbWVuc2lvbnNcbiAgICAgIGNvbnN0IG5leHQgPSB7XG4gICAgICAgIC4uLih3aWR0aCA+IDAgJiYgaGVpZ2h0ID4gMCA/IHZpZXdTdGF0ZSA6IHJlc3RWaWV3U3RhdGUpLFxuICAgICAgICAvLyBlbmFibGluZyB0cmFuc2l0aW9uIGluIHR3byBtYXBzIG1heSBsZWFkIHRvIGVuZGxlc3MgdXBkYXRlIGxvb3BzXG4gICAgICAgIHRyYW5zaXRpb25EdXJhdGlvbjogcHJpbWFyeSA/IFRSQU5TSVRJT05fRFVSQVRJT04gOiAwXG4gICAgICB9O1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLm9uVmlld1N0YXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRoaXMucHJvcHMub25WaWV3U3RhdGVDaGFuZ2UobmV4dCk7XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNFeHBvcnQpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5tYXBTdGF0ZUFjdGlvbnMudXBkYXRlTWFwKG5leHQpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfdG9nZ2xlTWFwQ29udHJvbCA9IHBhbmVsSWQgPT4ge1xuICAgICAgY29uc3Qge2luZGV4LCB1aVN0YXRlQWN0aW9uc30gPSB0aGlzLnByb3BzO1xuXG4gICAgICB1aVN0YXRlQWN0aW9ucy50b2dnbGVNYXBDb250cm9sKHBhbmVsSWQsIGluZGV4KTtcbiAgICB9O1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuICAgIF9yZW5kZXJNYXAoKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIG1hcFN0YXRlLFxuICAgICAgICBtYXBTdHlsZSxcbiAgICAgICAgbWFwU3RhdGVBY3Rpb25zLFxuICAgICAgICBsYXllcnMsXG4gICAgICAgIE1hcENvbXBvbmVudCxcbiAgICAgICAgZGF0YXNldHMsXG4gICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgICAgICBtYXBib3hBcGlVcmwsXG4gICAgICAgIG1hcENvbnRyb2xzLFxuICAgICAgICBpc0V4cG9ydCxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICAgICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgICAgICBpbnRlcmFjdGlvbkNvbmZpZyxcbiAgICAgICAgZWRpdG9yLFxuICAgICAgICBpbmRleCxcbiAgICAgICAgcHJpbWFyeVxuICAgICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IGxheWVyc1RvUmVuZGVyID0gdGhpcy5sYXllcnNUb1JlbmRlclNlbGVjdG9yKHRoaXMucHJvcHMpO1xuICAgICAgY29uc3QgbGF5ZXJzRm9yRGVjayA9IHRoaXMubGF5ZXJzRm9yRGVja1NlbGVjdG9yKHRoaXMucHJvcHMpO1xuXG4gICAgICBjb25zdCBtYXBQcm9wcyA9IHtcbiAgICAgICAgLi4ubWFwU3RhdGUsXG4gICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWUsXG4gICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgICAgICBtYXBib3hBcGlVcmwsXG4gICAgICAgIHRyYW5zZm9ybVJlcXVlc3RcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGlzRWRpdCA9IChtYXBDb250cm9scy5tYXBEcmF3IHx8IHt9KS5hY3RpdmU7XG5cbiAgICAgIGNvbnN0IGhhc0dlb2NvZGVyTGF5ZXIgPSBsYXllcnMuZmluZChsID0+IGwuaWQgPT09IEdFT0NPREVSX0xBWUVSX0lEKTtcbiAgICAgIGNvbnN0IGlzU3BsaXQgPSBCb29sZWFuKG1hcFN0YXRlLmlzU3BsaXQpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxNYXBDb250cm9sXG4gICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICBhdmFpbGFibGVMb2NhbGVzPXtPYmplY3Qua2V5cyhMT0NBTEVfQ09ERVMpfVxuICAgICAgICAgICAgZHJhZ1JvdGF0ZT17bWFwU3RhdGUuZHJhZ1JvdGF0ZX1cbiAgICAgICAgICAgIGlzU3BsaXQ9e2lzU3BsaXR9XG4gICAgICAgICAgICBwcmltYXJ5PXtwcmltYXJ5fVxuICAgICAgICAgICAgaXNFeHBvcnQ9e2lzRXhwb3J0fVxuICAgICAgICAgICAgbGF5ZXJzPXtsYXllcnN9XG4gICAgICAgICAgICBsYXllcnNUb1JlbmRlcj17bGF5ZXJzVG9SZW5kZXJ9XG4gICAgICAgICAgICBtYXBJbmRleD17aW5kZXh9XG4gICAgICAgICAgICBtYXBDb250cm9scz17bWFwQ29udHJvbHN9XG4gICAgICAgICAgICByZWFkT25seT17dGhpcy5wcm9wcy5yZWFkT25seX1cbiAgICAgICAgICAgIHNjYWxlPXttYXBTdGF0ZS5zY2FsZSB8fCAxfVxuICAgICAgICAgICAgdG9wPXtpbnRlcmFjdGlvbkNvbmZpZy5nZW9jb2RlciAmJiBpbnRlcmFjdGlvbkNvbmZpZy5nZW9jb2Rlci5lbmFibGVkID8gNTIgOiAwfVxuICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICBsb2NhbGU9e2xvY2FsZX1cbiAgICAgICAgICAgIG9uVG9nZ2xlUGVyc3BlY3RpdmU9e21hcFN0YXRlQWN0aW9ucy50b2dnbGVQZXJzcGVjdGl2ZX1cbiAgICAgICAgICAgIG9uVG9nZ2xlU3BsaXRNYXA9e21hcFN0YXRlQWN0aW9ucy50b2dnbGVTcGxpdE1hcH1cbiAgICAgICAgICAgIG9uTWFwVG9nZ2xlTGF5ZXI9e3RoaXMuX2hhbmRsZU1hcFRvZ2dsZUxheWVyfVxuICAgICAgICAgICAgb25Ub2dnbGVNYXBDb250cm9sPXt0aGlzLl90b2dnbGVNYXBDb250cm9sfVxuICAgICAgICAgICAgb25TZXRFZGl0b3JNb2RlPXt2aXNTdGF0ZUFjdGlvbnMuc2V0RWRpdG9yTW9kZX1cbiAgICAgICAgICAgIG9uU2V0TG9jYWxlPXt1aVN0YXRlQWN0aW9ucy5zZXRMb2NhbGV9XG4gICAgICAgICAgICBvblRvZ2dsZUVkaXRvclZpc2liaWxpdHk9e3Zpc1N0YXRlQWN0aW9ucy50b2dnbGVFZGl0b3JWaXNpYmlsaXR5fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPE1hcENvbXBvbmVudFxuICAgICAgICAgICAgey4uLm1hcFByb3BzfVxuICAgICAgICAgICAga2V5PVwiYm90dG9tXCJcbiAgICAgICAgICAgIHJlZj17dGhpcy5fc2V0TWFwYm94TWFwfVxuICAgICAgICAgICAgbWFwU3R5bGU9e21hcFN0eWxlLmJvdHRvbU1hcFN0eWxlfVxuICAgICAgICAgICAgZ2V0Q3Vyc29yPXt0aGlzLnByb3BzLmhvdmVySW5mbyA/ICgpID0+ICdwb2ludGVyJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIG9uTW91c2VNb3ZlPXt0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy5vbk1vdXNlTW92ZX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dGhpcy5fcmVuZGVyRGVja092ZXJsYXkobGF5ZXJzRm9yRGVjayl9XG4gICAgICAgICAgICB7dGhpcy5fcmVuZGVyTWFwYm94T3ZlcmxheXMoKX1cbiAgICAgICAgICAgIDxFZGl0b3JcbiAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgIGVkaXRvcj17ZWRpdG9yfVxuICAgICAgICAgICAgICBmaWx0ZXJzPXt0aGlzLnBvbHlnb25GaWx0ZXJzKHRoaXMucHJvcHMpfVxuICAgICAgICAgICAgICBpc0VuYWJsZWQ9e2lzRWRpdH1cbiAgICAgICAgICAgICAgbGF5ZXJzPXtsYXllcnN9XG4gICAgICAgICAgICAgIGxheWVyc1RvUmVuZGVyPXtsYXllcnNUb1JlbmRlcn1cbiAgICAgICAgICAgICAgb25EZWxldGVGZWF0dXJlPXt2aXNTdGF0ZUFjdGlvbnMuZGVsZXRlRmVhdHVyZX1cbiAgICAgICAgICAgICAgb25TZWxlY3Q9e3Zpc1N0YXRlQWN0aW9ucy5zZXRTZWxlY3RlZEZlYXR1cmV9XG4gICAgICAgICAgICAgIG9uVXBkYXRlPXt2aXNTdGF0ZUFjdGlvbnMuc2V0RmVhdHVyZXN9XG4gICAgICAgICAgICAgIG9uVG9nZ2xlUG9seWdvbkZpbHRlcj17dmlzU3RhdGVBY3Rpb25zLnNldFBvbHlnb25GaWx0ZXJMYXllcn1cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBwb2ludGVyRXZlbnRzOiBpc0VkaXQgPyAnYWxsJyA6ICdub25lJyxcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBlZGl0b3IudmlzaWJsZSA/ICdibG9jaycgOiAnbm9uZSdcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9NYXBDb21wb25lbnQ+XG4gICAgICAgICAge21hcFN0eWxlLnRvcE1hcFN0eWxlIHx8IGhhc0dlb2NvZGVyTGF5ZXIgPyAoXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXtNQVBfU1RZTEUudG9wfT5cbiAgICAgICAgICAgICAgPE1hcENvbXBvbmVudCB7Li4ubWFwUHJvcHN9IGtleT1cInRvcFwiIG1hcFN0eWxlPXttYXBTdHlsZS50b3BNYXBTdHlsZX0+XG4gICAgICAgICAgICAgICAge3RoaXMuX3JlbmRlckRlY2tPdmVybGF5KHtbR0VPQ09ERVJfTEFZRVJfSURdOiB0cnVlfSl9XG4gICAgICAgICAgICAgIDwvTWFwQ29tcG9uZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge3RoaXMuX3JlbmRlck1hcFBvcG92ZXIobGF5ZXJzVG9SZW5kZXIpfVxuICAgICAgICAgIHshaXNTcGxpdCB8fCBpbmRleCA9PT0gMSA/IDxBdHRyaWJ1dGlvbiAvPiA6IG51bGx9XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7bWFwU3RhdGUsIG1hcFN0eWxlfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBjb250ZXh0TG9zdCA9IHRoaXMuc3RhdGU/LmNvbnRleHRMb3N0O1xuXG4gICAgICBpZiAoY29udGV4dExvc3QpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTdHlsZWRNYXBDb250YWluZXIgcmVmPXt0aGlzLl9yZWZ9IHN0eWxlPXtNQVBfU1RZTEUuY29udGFpbmVyfSBnbG9iZT17bWFwU3RhdGUuZ2xvYmV9PlxuICAgICAgICAgIHttYXBTdHlsZS5ib3R0b21NYXBTdHlsZSAmJiB0aGlzLl9yZW5kZXJNYXAoKX1cbiAgICAgICAgPC9TdHlsZWRNYXBDb250YWluZXI+XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIE1hcENvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdNYXBDb250YWluZXInO1xuXG4gIHJldHVybiBNYXBDb250YWluZXI7XG59XG4iXX0=
|
|
684
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL21hcC1jb250YWluZXIuanMiXSwibmFtZXMiOlsiTUFQX1NUWUxFIiwiY29udGFpbmVyIiwiZGlzcGxheSIsInBvc2l0aW9uIiwid2lkdGgiLCJoZWlnaHQiLCJ0b3AiLCJwb2ludGVyRXZlbnRzIiwiTUFQQk9YR0xfU1RZTEVfVVBEQVRFIiwiTUFQQk9YR0xfUkVOREVSIiwiVFJBTlNJVElPTl9EVVJBVElPTiIsIkF0dHJpYnV0aW9uIiwiTWFwQ29udGFpbmVyRmFjdG9yeSIsImRlcHMiLCJNYXBQb3BvdmVyRmFjdG9yeSIsIk1hcENvbnRyb2xGYWN0b3J5IiwiRWRpdG9yRmFjdG9yeSIsIk1hcFBvcG92ZXIiLCJNYXBDb250cm9sIiwiRWRpdG9yIiwiTWFwQ29udGFpbmVyIiwicHJvcHMiLCJkaW1lbnNpb25zIiwicHJpbWFyeSIsImlzRXhwb3J0IiwibWFwU3RhdGVBY3Rpb25zIiwidXBkYXRlTWFwIiwibGF5ZXJzIiwibGF5ZXJEYXRhIiwibWFwTGF5ZXJzIiwibGF5ZXJPcmRlciIsImxheWVyc1NlbGVjdG9yIiwibGF5ZXJEYXRhU2VsZWN0b3IiLCJtYXBMYXllcnNTZWxlY3RvciIsInByZXBhcmVMYXllcnNUb1JlbmRlciIsInByZXBhcmVMYXllcnNGb3JEZWNrIiwiZmlsdGVycyIsImZpbHRlcnNTZWxlY3RvciIsImZpbHRlciIsImYiLCJ0eXBlIiwiRklMVEVSX1RZUEVTIiwicG9seWdvbiIsImxheWVyT3JkZXJTZWxlY3RvciIsImxheWVyc1RvUmVuZGVyU2VsZWN0b3IiLCJnZW5lcmF0ZU1hcGJveExheWVycyIsInZpc1N0YXRlQWN0aW9ucyIsIm9uTGF5ZXJDbGljayIsImlkeCIsImNvbG9yRG9tYWluIiwibGF5ZXJDb25maWdDaGFuZ2UiLCJsYXllcklkIiwiaW5kZXgiLCJtYXBJbmRleCIsInRvZ2dsZUxheWVyRm9yTWFwIiwicHJldmlvdXNMYXllcnMiLCJfdXBkYXRlTWFwYm94TGF5ZXJzIiwib25NYXBTdHlsZUxvYWRlZCIsIl9tYXAiLCJtYXBib3giLCJnZXRNYXAiLCJvbiIsIl9vbk1hcGJveFN0eWxlVXBkYXRlIiwib25NYXBSZW5kZXIiLCJnZXRNYXBib3hSZWYiLCJnbCIsImxheWVyQmxlbmRpbmciLCJlcnJvciIsImxheWVyIiwibWVzc2FnZSIsInNldFN0YXRlIiwiY29udGV4dExvc3QiLCJlcnJvck1lc3NhZ2UiLCJpZCIsIm5vdGlmaWNhdGlvbklkIiwiX2RlY2tHTEVycm9yc0VsYXBzZWQiLCJsYXN0U2hvd24iLCJEYXRlIiwibm93IiwiVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUiLCJ1aVN0YXRlQWN0aW9ucyIsImFkZE5vdGlmaWNhdGlvbiIsInZpZXdTdGF0ZSIsInJlc3RWaWV3U3RhdGUiLCJuZXh0IiwidHJhbnNpdGlvbkR1cmF0aW9uIiwib25WaWV3U3RhdGVDaGFuZ2UiLCJwYW5lbElkIiwidG9nZ2xlTWFwQ29udHJvbCIsIl9kZWNrIiwiX3JlZiIsImN1cnJlbnQiLCJfaGFuZGxlUmVzaXplIiwic3RhdGUiLCJvZmYiLCJvbkRlY2tJbml0aWFsaXplZCIsImxheWVyc1RvUmVuZGVyIiwibWFwU3RhdGUiLCJob3ZlckluZm8iLCJjbGlja2VkIiwiZGF0YXNldHMiLCJpbnRlcmFjdGlvbkNvbmZpZyIsIm1vdXNlUG9zIiwibW91c2VQb3NpdGlvbiIsImNvb3JkaW5hdGUiLCJwaW5uZWQiLCJ0b29sdGlwIiwibGF5ZXJIb3ZlclByb3AiLCJjb21wYXJlTW9kZSIsImNvbmZpZyIsInBpbm5lZFBvc2l0aW9uIiwibGF5ZXJQaW5uZWRQcm9wIiwidmlld3BvcnQiLCJXZWJNZXJjYXRvclZpZXdwb3J0IiwibG5nTGF0IiwiX2dldEhvdmVyWFkiLCJwcmltYXJ5RGF0YSIsImRhdGEiLCJjb21wYXJlVHlwZSIsImNvbW1vblByb3AiLCJvbkNsb3NlIiwiX29uQ2xvc2VNYXBQb3BvdmVyIiwiem9vbSIsImVuYWJsZWQiLCJzY3JlZW5Db29yZCIsInByb2plY3QiLCJ4IiwieSIsImxheWVyc0ZvckRlY2siLCJtYXBTdHlsZSIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwibWFwYm94QXBpVXJsIiwibWFza1BvbHlnb24iLCJkZWNrR2xMYXllcnMiLCJkZWNrR2xQcm9wcyIsImxlbmd0aCIsImRhdGFMYXllcnMiLCJzbGljZSIsInJldmVyc2UiLCJyZWR1Y2UiLCJvdmVybGF5cyIsImxheWVyQ2FsbGJhY2tzIiwib25TZXRMYXllckRvbWFpbiIsInZhbCIsIl9vbkxheWVyU2V0RG9tYWluIiwibGF5ZXJPdmVybGF5IiwiY29uY2F0IiwibGF5ZXJzT25Ub3AiLCJwdXNoIiwiU29saWRQb2x5Z29uTGF5ZXIiLCJNQVNLX0xBWUVSX0lEIiwib3BlcmF0aW9uIiwiT1BFUkFUSU9OIiwiTUFTSyIsImdldEZpbGxDb2xvciIsInZpc2libGVMYXllckdyb3VwcyIsIlRocmVlREJ1aWxkaW5nTGF5ZXIiLCJ0aHJlZURCdWlsZGluZ0NvbG9yIiwidXBkYXRlVHJpZ2dlcnMiLCJfb25WaWV3cG9ydENoYW5nZSIsIl9vbkJlZm9yZVJlbmRlciIsIm9uTGF5ZXJIb3ZlciIsIl9vbkRlY2tFcnJvciIsImNvbXAiLCJkZWNrIiwiX29uRGVja0luaXRpYWxpemVkIiwibWFwYm94TGF5ZXJzIiwibWFwYm94TGF5ZXJzU2VsZWN0b3IiLCJPYmplY3QiLCJrZXlzIiwiaXNTdHlsZUxvYWRlZCIsIk1hcENvbXBvbmVudCIsIm1hcENvbnRyb2xzIiwibG9jYWxlIiwiZWRpdG9yIiwibGF5ZXJzRm9yRGVja1NlbGVjdG9yIiwibWFwUHJvcHMiLCJwcmVzZXJ2ZURyYXdpbmdCdWZmZXIiLCJ0cmFuc2Zvcm1SZXF1ZXN0IiwiaXNFZGl0IiwibWFwRHJhdyIsImFjdGl2ZSIsImhhc0dlb2NvZGVyTGF5ZXIiLCJmaW5kIiwibCIsIkdFT0NPREVSX0xBWUVSX0lEIiwiaXNTcGxpdCIsIkJvb2xlYW4iLCJMT0NBTEVfQ09ERVMiLCJkcmFnUm90YXRlIiwicmVhZE9ubHkiLCJzY2FsZSIsImdlb2NvZGVyIiwidG9nZ2xlUGVyc3BlY3RpdmUiLCJ0b2dnbGVTcGxpdE1hcCIsIl9oYW5kbGVNYXBUb2dnbGVMYXllciIsIl90b2dnbGVNYXBDb250cm9sIiwic2V0RWRpdG9yTW9kZSIsInNldExvY2FsZSIsInRvZ2dsZUVkaXRvclZpc2liaWxpdHkiLCJfc2V0TWFwYm94TWFwIiwiYm90dG9tTWFwU3R5bGUiLCJ1bmRlZmluZWQiLCJvbk1vdXNlTW92ZSIsIl9yZW5kZXJEZWNrT3ZlcmxheSIsIl9yZW5kZXJNYXBib3hPdmVybGF5cyIsInBvbHlnb25GaWx0ZXJzIiwiZGVsZXRlRmVhdHVyZSIsInNldFNlbGVjdGVkRmVhdHVyZSIsInNldEZlYXR1cmVzIiwic2V0UG9seWdvbkZpbHRlckxheWVyIiwidmlzaWJsZSIsInRvcE1hcFN0eWxlIiwiX3JlbmRlck1hcFBvcG92ZXIiLCJnbG9iZSIsIl9yZW5kZXJNYXAiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwic3RyaW5nIiwiYXJyYXlPZiIsImFueSIsImJvb2wiLCJvbk1hcFRvZ2dsZUxheWVyIiwiZnVuYyIsIm51bWJlciIsIk1hcGJveEdMTWFwIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFRQTs7QUFDQTs7QUFPQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsU0FBUyxHQUFHO0FBQ2hCQyxFQUFBQSxTQUFTLEVBQUU7QUFDVEMsSUFBQUEsT0FBTyxFQUFFLGNBREE7QUFFVEMsSUFBQUEsUUFBUSxFQUFFLFVBRkQ7QUFHVEMsSUFBQUEsS0FBSyxFQUFFLE1BSEU7QUFJVEMsSUFBQUEsTUFBTSxFQUFFO0FBSkMsR0FESztBQU9oQkMsRUFBQUEsR0FBRyxFQUFFO0FBQ0hI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QUFDekJqQyxJQUFBQSxRQUFRLEVBQUUyQixzQkFBVU0sSUFyQkg7QUFzQmpCdk0sSUFBQUEsUUFBUSxFQUFFaU0sc0JBQVVNLElBdEJIO0FBdUJqQjVILElBQUFBLE9BQU8sRUFBRXNILHNCQUFVQyxNQXZCRjtBQXdCakJ4SCxJQUFBQSxTQUFTLEVBQUV1SCxzQkFBVUMsTUF4Qko7QUF5QmpCN0wsSUFBQUEsU0FBUyxFQUFFNEwsc0JBQVVDLE1BekJKO0FBMEJqQk0sSUFBQUEsZ0JBQWdCLEVBQUVQLHNCQUFVUSxJQTFCWDtBQTJCakJ4SyxJQUFBQSxnQkFBZ0IsRUFBRWdLLHNCQUFVUSxJQTNCWDtBQTRCakJsSyxJQUFBQSxXQUFXLEVBQUUwSixzQkFBVVEsSUE1Qk47QUE2QmpCakssSUFBQUEsWUFBWSxFQUFFeUosc0JBQVVRLElBN0JQO0FBOEJqQjdLLElBQUFBLEtBQUssRUFBRXFLLHNCQUFVUztBQTlCQSxHQUZxRDtBQUFBLG1DQUNwRTlNLFlBRG9FLGtCQW1DbEQ7QUFDcEJ1SixJQUFBQSxZQUFZLEVBQUV3RCxzQkFETTtBQUVwQjdGLElBQUFBLFdBQVcsRUFBRSxFQUZPO0FBR3BCbEYsSUFBQUEsS0FBSyxFQUFFLENBSGE7QUFJcEI3QixJQUFBQSxPQUFPLEVBQUU7QUFKVyxHQW5Da0Q7QUEyaEIxRUgsRUFBQUEsWUFBWSxDQUFDZ04sV0FBYixHQUEyQixjQUEzQjtBQUVBLFNBQU9oTixZQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG4vLyBsaWJyYXJpZXNcbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgY3JlYXRlUmVmfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IE1hcGJveEdMTWFwIGZyb20gJ3JlYWN0LW1hcC1nbCc7XG5pbXBvcnQgRGVja0dMIGZyb20gJ0BkZWNrLmdsL3JlYWN0JztcbmltcG9ydCB7Y3JlYXRlU2VsZWN0b3J9IGZyb20gJ3Jlc2VsZWN0JztcbmltcG9ydCB7T1BFUkFUSU9OfSBmcm9tICdAZGVjay5nbC9jb3JlJztcbmltcG9ydCB7U29saWRQb2x5Z29uTGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2xheWVycyc7XG5pbXBvcnQgV2ViTWVyY2F0b3JWaWV3cG9ydCBmcm9tICd2aWV3cG9ydC1tZXJjYXRvci1wcm9qZWN0JztcbmltcG9ydCB7ZXJyb3JOb3RpZmljYXRpb259IGZyb20gJ3V0aWxzL25vdGlmaWNhdGlvbnMtdXRpbHMnO1xuXG4vLyBjb21wb25lbnRzXG5pbXBvcnQgTWFwUG9wb3ZlckZhY3RvcnkgZnJvbSAnY29tcG9uZW50cy9tYXAvbWFwLXBvcG92ZXInO1xuaW1wb3J0IE1hcENvbnRyb2xGYWN0b3J5IGZyb20gJ2NvbXBvbmVudHMvbWFwL21hcC1jb250cm9sJztcbmltcG9ydCB7U3R5bGVkTWFwQ29udGFpbmVyLCBTdHlsZWRBdHRyYnV0aW9ufSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCBFZGl0b3JGYWN0b3J5IGZyb20gJy4vZWRpdG9yL2VkaXRvcic7XG5cbi8vIHV0aWxzXG5pbXBvcnQge2dlbmVyYXRlTWFwYm94TGF5ZXJzLCB1cGRhdGVNYXBib3hMYXllcnN9IGZyb20gJ2xheWVycy9tYXBib3gtdXRpbHMnO1xuaW1wb3J0IHtzZXRMYXllckJsZW5kaW5nfSBmcm9tICd1dGlscy9nbC11dGlscyc7XG5pbXBvcnQge3RyYW5zZm9ybVJlcXVlc3R9IGZyb20gJ3V0aWxzL21hcC1zdHlsZS11dGlscy9tYXBib3gtdXRpbHMnO1xuaW1wb3J0IHtcbiAgZ2V0TGF5ZXJIb3ZlclByb3AsXG4gIHJlbmRlckRlY2tHbExheWVyLFxuICBwcmVwYXJlTGF5ZXJzVG9SZW5kZXIsXG4gIHByZXBhcmVMYXllcnNGb3JEZWNrXG59IGZyb20gJ3V0aWxzL2xheWVyLXV0aWxzJztcblxuLy8gZGVmYXVsdC1zZXR0aW5nc1xuaW1wb3J0IFRocmVlREJ1aWxkaW5nTGF5ZXIgZnJvbSAnZGVja2dsLWxheWVycy8zZC1idWlsZGluZy1sYXllci8zZC1idWlsZGluZy1sYXllcic7XG5pbXBvcnQge1xuICBGSUxURVJfVFlQRVMsXG4gIEdFT0NPREVSX0xBWUVSX0lELFxuICBNQVNLX0xBWUVSX0lELFxuICBUSFJPVFRMRV9OT1RJRklDQVRJT05fVElNRVxufSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5cbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2Vycm9yLWJvdW5kYXJ5JztcbmltcG9ydCB7b2JzZXJ2ZURpbWVuc2lvbnMsIHVub2JzZXJ2ZURpbWVuc2lvbnN9IGZyb20gJy4uL3V0aWxzL29ic2VydmUtZGltZW5zaW9ucyc7XG5pbXBvcnQge0xPQ0FMRV9DT0RFU30gZnJvbSAnbG9jYWxpemF0aW9uL2xvY2FsZXMnO1xuXG4vKiogQHR5cGUge3tba2V5OiBzdHJpbmddOiBSZWFjdC5DU1NQcm9wZXJ0aWVzfX0gKi9cbmNvbnN0IE1BUF9TVFlMRSA9IHtcbiAgY29udGFpbmVyOiB7XG4gICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBoZWlnaHQ6ICcxMDAlJ1xuICB9LFxuICB0b3A6IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0b3A6ICcwcHgnLFxuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGhlaWdodDogJzEwMCUnXG4gIH1cbn07XG5cbmNvbnN0IE1BUEJPWEdMX1NUWUxFX1VQREFURSA9ICdzdHlsZS5sb2FkJztcbmNvbnN0IE1BUEJPWEdMX1JFTkRFUiA9ICdyZW5kZXInO1xuY29uc3QgVFJBTlNJVElPTl9EVVJBVElPTiA9IDA7XG5cbmV4cG9ydCBjb25zdCBBdHRyaWJ1dGlvbiA9ICgpID0+IChcbiAgPFN0eWxlZEF0dHJidXRpb24+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJhdHRyaXRpb24tbG9nb1wiPlxuICAgICAgQmFzZW1hcCBieTpcbiAgICAgIDxhXG4gICAgICAgIGNsYXNzTmFtZT1cIm1hcGJveGdsLWN0cmwtbG9nb1wiXG4gICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9cIlxuICAgICAgICBhcmlhLWxhYmVsPVwiTWFwYm94IGxvZ29cIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cImF0dHJpdGlvbi1saW5rXCI+XG4gICAgICA8YSBocmVmPVwiaHR0cHM6Ly9rZXBsZXIuZ2wvcG9saWN5L1wiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cbiAgICAgICAgwqkga2VwbGVyLmdsIHx7JyAnfVxuICAgICAgPC9hPlxuICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vYWJvdXQvbWFwcy9cIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+XG4gICAgICAgIMKpIE1hcGJveCB8eycgJ31cbiAgICAgIDwvYT5cbiAgICAgIDxhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cbiAgICAgICAgwqkgT3BlblN0cmVldE1hcCB8eycgJ31cbiAgICAgIDwvYT5cbiAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL21hcC1mZWVkYmFjay9cIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+XG4gICAgICAgIDxzdHJvbmc+SW1wcm92ZSB0aGlzIG1hcDwvc3Ryb25nPlxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICA8L1N0eWxlZEF0dHJidXRpb24+XG4pO1xuXG5NYXBDb250YWluZXJGYWN0b3J5LmRlcHMgPSBbTWFwUG9wb3ZlckZhY3RvcnksIE1hcENvbnRyb2xGYWN0b3J5LCBFZGl0b3JGYWN0b3J5XTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWFwQ29udGFpbmVyRmFjdG9yeShNYXBQb3BvdmVyLCBNYXBDb250cm9sLCBFZGl0b3IpIHtcbiAgY2xhc3MgTWFwQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgLy8gcmVxdWlyZWRcbiAgICAgIGRhdGFzZXRzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgaW50ZXJhY3Rpb25Db25maWc6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIGxheWVyQmxlbmRpbmc6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIGxheWVyT3JkZXI6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLmlzUmVxdWlyZWQsXG4gICAgICBsYXllckRhdGE6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLmlzUmVxdWlyZWQsXG4gICAgICBsYXllcnM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLmlzUmVxdWlyZWQsXG4gICAgICBmaWx0ZXJzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KS5pc1JlcXVpcmVkLFxuICAgICAgbWFwU3RhdGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIG1hcENvbnRyb2xzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBtYXBTdHlsZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgbW91c2VQb3M6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBtYXBib3hBcGlVcmw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICB2aXNTdGF0ZUFjdGlvbnM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIG1hcFN0YXRlQWN0aW9uczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgdWlTdGF0ZUFjdGlvbnM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcblxuICAgICAgLy8gb3B0aW9uYWxcbiAgICAgIHByaW1hcnk6IFByb3BUeXBlcy5ib29sLCAvLyBwcmltYXJ5IG9uZSB3aWxsIGJlIHJlcG9ydGluZyBpdHMgc2l6ZSB0byBhcHBTdGF0ZVxuICAgICAgcmVhZE9ubHk6IFByb3BUeXBlcy5ib29sLFxuICAgICAgaXNFeHBvcnQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgY2xpY2tlZDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIGhvdmVySW5mbzogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIG1hcExheWVyczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIG9uTWFwVG9nZ2xlTGF5ZXI6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25NYXBTdHlsZUxvYWRlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBvbk1hcFJlbmRlcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBnZXRNYXBib3hSZWY6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgaW5kZXg6IFByb3BUeXBlcy5udW1iZXJcbiAgICB9O1xuXG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIE1hcENvbXBvbmVudDogTWFwYm94R0xNYXAsXG4gICAgICBkZWNrR2xQcm9wczoge30sXG4gICAgICBpbmRleDogMCxcbiAgICAgIHByaW1hcnk6IHRydWVcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcblxuICAgICAgdGhpcy5wcmV2aW91c0xheWVycyA9IHtcbiAgICAgICAgLy8gW2xheWVycy5pZF06IG1hcGJveExheWVyQ29uZmlnXG4gICAgICB9O1xuXG4gICAgICB0aGlzLl9kZWNrID0gbnVsbDtcbiAgICAgIHRoaXMuX3JlZiA9IGNyZWF0ZVJlZigpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgb2JzZXJ2ZURpbWVuc2lvbnModGhpcy5fcmVmLmN1cnJlbnQsIHRoaXMuX2hhbmRsZVJlc2l6ZSk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgICAgY29uc3QgY29udGV4dExvc3QgPSB0aGlzLnN0YXRlPy5jb250ZXh0TG9zdDtcblxuICAgICAgaWYgKGNvbnRleHRMb3N0KSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1kaWQtdXBkYXRlLXNldC1zdGF0ZVxuICAgICAgICB0aGlzLnNldFN0YXRlKHtjb250ZXh0TG9zdDogZmFsc2V9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIC8vIHVuYmluZCBtYXBib3hnbCBldmVudCBsaXN0ZW5lclxuICAgICAgaWYgKHRoaXMuX21hcCkge1xuICAgICAgICB0aGlzLl9tYXAub2ZmKE1BUEJPWEdMX1NUWUxFX1VQREFURSk7XG4gICAgICAgIHRoaXMuX21hcC5vZmYoTUFQQk9YR0xfUkVOREVSKTtcbiAgICAgIH1cbiAgICAgIHVub2JzZXJ2ZURpbWVuc2lvbnModGhpcy5fcmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIF9oYW5kbGVSZXNpemUgPSBkaW1lbnNpb25zID0+IHtcbiAgICAgIGNvbnN0IHtwcmltYXJ5LCBpc0V4cG9ydH0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKHByaW1hcnkpIHtcbiAgICAgICAgY29uc3Qge21hcFN0YXRlQWN0aW9uc30gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZiAoIWlzRXhwb3J0ICYmIGRpbWVuc2lvbnMgJiYgZGltZW5zaW9ucy53aWR0aCA+IDAgJiYgZGltZW5zaW9ucy5oZWlnaHQgPiAwKSB7XG4gICAgICAgICAgbWFwU3RhdGVBY3Rpb25zLnVwZGF0ZU1hcChkaW1lbnNpb25zKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBsYXllcnNTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLmxheWVycztcbiAgICBsYXllckRhdGFTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLmxheWVyRGF0YTtcbiAgICBtYXBMYXllcnNTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLm1hcExheWVycztcbiAgICBsYXllck9yZGVyU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5sYXllck9yZGVyO1xuICAgIGxheWVyc1RvUmVuZGVyU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIHRoaXMubGF5ZXJzU2VsZWN0b3IsXG4gICAgICB0aGlzLmxheWVyRGF0YVNlbGVjdG9yLFxuICAgICAgdGhpcy5tYXBMYXllcnNTZWxlY3RvcixcbiAgICAgIHByZXBhcmVMYXllcnNUb1JlbmRlclxuICAgICk7XG4gICAgbGF5ZXJzRm9yRGVja1NlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICB0aGlzLmxheWVyc1NlbGVjdG9yLFxuICAgICAgdGhpcy5sYXllckRhdGFTZWxlY3RvcixcbiAgICAgIHByZXBhcmVMYXllcnNGb3JEZWNrXG4gICAgKTtcbiAgICBmaWx0ZXJzU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5maWx0ZXJzO1xuICAgIHBvbHlnb25GaWx0ZXJzID0gY3JlYXRlU2VsZWN0b3IodGhpcy5maWx0ZXJzU2VsZWN0b3IsIGZpbHRlcnMgPT5cbiAgICAgIGZpbHRlcnMuZmlsdGVyKGYgPT4gZi50eXBlID09PSBGSUxURVJfVFlQRVMucG9seWdvbilcbiAgICApO1xuXG4gICAgbWFwYm94TGF5ZXJzU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIHRoaXMubGF5ZXJzU2VsZWN0b3IsXG4gICAgICB0aGlzLmxheWVyRGF0YVNlbGVjdG9yLFxuICAgICAgdGhpcy5sYXllck9yZGVyU2VsZWN0b3IsXG4gICAgICB0aGlzLmxheWVyc1RvUmVuZGVyU2VsZWN0b3IsXG4gICAgICBnZW5lcmF0ZU1hcGJveExheWVyc1xuICAgICk7XG5cbiAgICAvKiBjb21wb25lbnQgcHJpdmF0ZSBmdW5jdGlvbnMgKi9cbiAgICBfb25DbG9zZU1hcFBvcG92ZXIgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy5vbkxheWVyQ2xpY2sobnVsbCk7XG4gICAgfTtcblxuICAgIF9vbkxheWVyU2V0RG9tYWluID0gKGlkeCwgY29sb3JEb21haW4pID0+IHtcbiAgICAgIHRoaXMucHJvcHMudmlzU3RhdGVBY3Rpb25zLmxheWVyQ29uZmlnQ2hhbmdlKHRoaXMucHJvcHMubGF5ZXJzW2lkeF0sIHtcbiAgICAgICAgY29sb3JEb21haW5cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfaGFuZGxlTWFwVG9nZ2xlTGF5ZXIgPSBsYXllcklkID0+IHtcbiAgICAgIGNvbnN0IHtpbmRleDogbWFwSW5kZXggPSAwLCB2aXNTdGF0ZUFjdGlvbnN9ID0gdGhpcy5wcm9wcztcbiAgICAgIHZpc1N0YXRlQWN0aW9ucy50b2dnbGVMYXllckZvck1hcChtYXBJbmRleCwgbGF5ZXJJZCk7XG4gICAgfTtcblxuICAgIF9vbk1hcGJveFN0eWxlVXBkYXRlID0gKCkgPT4ge1xuICAgICAgLy8gZm9yY2UgcmVmcmVzaCBtYXBib3hnbCBsYXllcnNcbiAgICAgIHRoaXMucHJldmlvdXNMYXllcnMgPSB7fTtcbiAgICAgIHRoaXMuX3VwZGF0ZU1hcGJveExheWVycygpO1xuXG4gICAgICBpZiAodHlwZW9mIHRoaXMucHJvcHMub25NYXBTdHlsZUxvYWRlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aGlzLnByb3BzLm9uTWFwU3R5bGVMb2FkZWQodGhpcy5fbWFwKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3NldE1hcGJveE1hcCA9IG1hcGJveCA9PiB7XG4gICAgICBpZiAoIXRoaXMuX21hcCAmJiBtYXBib3gpIHtcbiAgICAgICAgdGhpcy5fbWFwID0gbWFwYm94LmdldE1hcCgpO1xuICAgICAgICAvLyBpIG5vdGljZWQgaW4gY2VydGFpbiBjb250ZXh0IHdlIGRvbid0IGFjY2VzcyB0aGUgYWN0dWFsIG1hcCBlbGVtZW50XG4gICAgICAgIGlmICghdGhpcy5fbWFwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIGJpbmQgbWFwYm94Z2wgZXZlbnQgbGlzdGVuZXJcbiAgICAgICAgdGhpcy5fbWFwLm9uKE1BUEJPWEdMX1NUWUxFX1VQREFURSwgdGhpcy5fb25NYXBib3hTdHlsZVVwZGF0ZSk7XG5cbiAgICAgICAgdGhpcy5fbWFwLm9uKE1BUEJPWEdMX1JFTkRFUiwgKCkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5vbk1hcFJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5vbk1hcFJlbmRlcih0aGlzLl9tYXApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnByb3BzLmdldE1hcGJveFJlZikge1xuICAgICAgICAvLyBUaGUgcGFyZW50IGNvbXBvbmVudCBjYW4gZ2FpbiBhY2Nlc3MgdG8gb3VyIE1hcGJveEdsTWFwIGJ5XG4gICAgICAgIC8vIHByb3ZpZGluZyB0aGlzIGNhbGxiYWNrLiBOb3RlIHRoYXQgJ21hcGJveCcgd2lsbCBiZSBudWxsIHdoZW4gdGhlXG4gICAgICAgIC8vIHJlZiBpcyB1bnNldCAoZS5nLiB3aGVuIGEgc3BsaXQgbWFwIGlzIGNsb3NlZCkuXG4gICAgICAgIHRoaXMucHJvcHMuZ2V0TWFwYm94UmVmKG1hcGJveCwgdGhpcy5wcm9wcy5pbmRleCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9vbkRlY2tJbml0aWFsaXplZChnbCkge1xuICAgICAgaWYgKHRoaXMucHJvcHMub25EZWNrSW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5vbkRlY2tJbml0aWFsaXplZCh0aGlzLl9kZWNrLCBnbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgX29uQmVmb3JlUmVuZGVyID0gKHtnbH0pID0+IHtcbiAgICAgIHNldExheWVyQmxlbmRpbmcoZ2wsIHRoaXMucHJvcHMubGF5ZXJCbGVuZGluZyk7XG4gICAgfTtcblxuICAgIF9vbkRlY2tFcnJvciA9IChlcnJvciwgbGF5ZXIpID0+IHtcbiAgICAgIGlmIChlcnJvcj8ubWVzc2FnZSA9PT0gJ1dlYkdMIGNvbnRleHQgaXMgbG9zdCcpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7Y29udGV4dExvc3Q6IHRydWV9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgQW4gZXJyb3IgaW4gZGVjay5nbDogJHtlcnJvcj8ubWVzc2FnZX0gaW4gJHtsYXllcj8uaWR9YDtcbiAgICAgIGNvbnN0IG5vdGlmaWNhdGlvbklkID0gYCR7bGF5ZXI/LmlkfS0ke2Vycm9yPy5tZXNzYWdlfWA7XG5cbiAgICAgIC8vIFRocm90dGxlIGVycm9yIG5vdGlmaWNhdGlvbnMsIGFzIFJlYWN0IGRvZXNuJ3QgbGlrZSB0b28gbWFueSBzdGF0ZSBjaGFuZ2VzIGZyb20gaGVyZS5cbiAgICAgIHRoaXMuX2RlY2tHTEVycm9yc0VsYXBzZWQgPSB0aGlzLl9kZWNrR0xFcnJvcnNFbGFwc2VkIHx8IHt9O1xuICAgICAgY29uc3QgbGFzdFNob3duID0gdGhpcy5fZGVja0dMRXJyb3JzRWxhcHNlZFtub3RpZmljYXRpb25JZF07XG4gICAgICBpZiAoIWxhc3RTaG93biB8fCBsYXN0U2hvd24gPCBEYXRlLm5vdygpIC0gVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUpIHtcbiAgICAgICAgdGhpcy5fZGVja0dMRXJyb3JzRWxhcHNlZFtub3RpZmljYXRpb25JZF0gPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIC8vIENyZWF0ZSBuZXcgZXJyb3Igbm90aWZpY2F0aW9uIG9yIHVwZGF0ZSBleGlzdGluZyBvbmUgd2l0aCBzYW1lIGlkLlxuICAgICAgICAvLyBVcGRhdGUgaXMgcmVxdWlyZWQgdG8gcHJlc2VydmUgdGhlIG9yZGVyIG9mIG5vdGlmaWNhdGlvbnMgYXMgdGhleSBwcm9iYWJseSBhcmUgZ29pbmcgdG8gXCJqdW1wXCIgYmFzZWQgb24gb3JkZXIgb2YgZXJyb3JzLlxuICAgICAgICBjb25zdCB7dWlTdGF0ZUFjdGlvbnN9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgdWlTdGF0ZUFjdGlvbnMuYWRkTm90aWZpY2F0aW9uKFxuICAgICAgICAgIGVycm9yTm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgICAgIGlkOiBub3RpZmljYXRpb25JZFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8qIGNvbXBvbmVudCByZW5kZXIgZnVuY3Rpb25zICovXG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG4gICAgX3JlbmRlck1hcFBvcG92ZXIobGF5ZXJzVG9SZW5kZXIpIHtcbiAgICAgIC8vIFRPRE86IG1vdmUgdGhpcyBpbnRvIHJlZHVjZXIgc28gaXQgY2FuIGJlIHRlc3RlZFxuICAgICAgY29uc3Qge1xuICAgICAgICBtYXBTdGF0ZSxcbiAgICAgICAgaG92ZXJJbmZvLFxuICAgICAgICBjbGlja2VkLFxuICAgICAgICBkYXRhc2V0cyxcbiAgICAgICAgaW50ZXJhY3Rpb25Db25maWcsXG4gICAgICAgIGxheWVycyxcbiAgICAgICAgbW91c2VQb3M6IHttb3VzZVBvc2l0aW9uLCBjb29yZGluYXRlLCBwaW5uZWR9XG4gICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKCFtb3VzZVBvc2l0aW9uIHx8ICFpbnRlcmFjdGlvbkNvbmZpZy50b29sdGlwKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsYXllckhvdmVyUHJvcCA9IGdldExheWVySG92ZXJQcm9wKHtcbiAgICAgICAgaW50ZXJhY3Rpb25Db25maWcsXG4gICAgICAgIGhvdmVySW5mbyxcbiAgICAgICAgbGF5ZXJzLFxuICAgICAgICBsYXllcnNUb1JlbmRlcixcbiAgICAgICAgZGF0YXNldHNcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjb21wYXJlTW9kZSA9IGludGVyYWN0aW9uQ29uZmlnLnRvb2x0aXAuY29uZmlnXG4gICAgICAgID8gaW50ZXJhY3Rpb25Db25maWcudG9vbHRpcC5jb25maWcuY29tcGFyZU1vZGVcbiAgICAgICAgOiBmYWxzZTtcblxuICAgICAgbGV0IHBpbm5lZFBvc2l0aW9uID0ge307XG4gICAgICBsZXQgbGF5ZXJQaW5uZWRQcm9wID0gbnVsbDtcbiAgICAgIGlmIChwaW5uZWQgfHwgY2xpY2tlZCkge1xuICAgICAgICAvLyBwcm9qZWN0IGxuZ2xhdCB0byBzY3JlZW4gc28gdGhhdCB0b29sdGlwIGZvbGxvd3MgdGhlIG9iamVjdCBvbiB6b29tXG4gICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gbmV3IFdlYk1lcmNhdG9yVmlld3BvcnQobWFwU3RhdGUpO1xuICAgICAgICBjb25zdCBsbmdMYXQgPSBjbGlja2VkID8gY2xpY2tlZC5sbmdMYXQgOiBwaW5uZWQuY29vcmRpbmF0ZTtcbiAgICAgICAgcGlubmVkUG9zaXRpb24gPSB0aGlzLl9nZXRIb3ZlclhZKHZpZXdwb3J0LCBsbmdMYXQpO1xuICAgICAgICBsYXllclBpbm5lZFByb3AgPSBnZXRMYXllckhvdmVyUHJvcCh7XG4gICAgICAgICAgaW50ZXJhY3Rpb25Db25maWcsXG4gICAgICAgICAgaG92ZXJJbmZvOiBjbGlja2VkLFxuICAgICAgICAgIGxheWVycyxcbiAgICAgICAgICBsYXllcnNUb1JlbmRlcixcbiAgICAgICAgICBkYXRhc2V0c1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGxheWVySG92ZXJQcm9wICYmIGxheWVyUGlubmVkUHJvcCkge1xuICAgICAgICAgIGxheWVySG92ZXJQcm9wLnByaW1hcnlEYXRhID0gbGF5ZXJQaW5uZWRQcm9wLmRhdGE7XG4gICAgICAgICAgbGF5ZXJIb3ZlclByb3AuY29tcGFyZVR5cGUgPSBpbnRlcmFjdGlvbkNvbmZpZy50b29sdGlwLmNvbmZpZy5jb21wYXJlVHlwZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBjb21tb25Qcm9wID0ge1xuICAgICAgICBvbkNsb3NlOiB0aGlzLl9vbkNsb3NlTWFwUG9wb3ZlcixcbiAgICAgICAgem9vbTogbWFwU3RhdGUuem9vbSxcbiAgICAgICAgY29udGFpbmVyOiB0aGlzLl9yZWYuY3VycmVudFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAge2xheWVyUGlubmVkUHJvcCAmJiAoXG4gICAgICAgICAgICA8TWFwUG9wb3ZlclxuICAgICAgICAgICAgICB7Li4ucGlubmVkUG9zaXRpb259XG4gICAgICAgICAgICAgIHsuLi5jb21tb25Qcm9wfVxuICAgICAgICAgICAgICBsYXllckhvdmVyUHJvcD17bGF5ZXJQaW5uZWRQcm9wfVxuICAgICAgICAgICAgICBjb29yZGluYXRlPXtpbnRlcmFjdGlvbkNvbmZpZy5jb29yZGluYXRlLmVuYWJsZWQgJiYgKHBpbm5lZCB8fCB7fSkuY29vcmRpbmF0ZX1cbiAgICAgICAgICAgICAgZnJvemVuPXt0cnVlfVxuICAgICAgICAgICAgICBpc0Jhc2U9e2NvbXBhcmVNb2RlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtsYXllckhvdmVyUHJvcCAmJiAoIWxheWVyUGlubmVkUHJvcCB8fCBjb21wYXJlTW9kZSkgJiYgKFxuICAgICAgICAgICAgPE1hcFBvcG92ZXJcbiAgICAgICAgICAgICAgeD17bW91c2VQb3NpdGlvblswXX1cbiAgICAgICAgICAgICAgeT17bW91c2VQb3NpdGlvblsxXX1cbiAgICAgICAgICAgICAgey4uLmNvbW1vblByb3B9XG4gICAgICAgICAgICAgIGxheWVySG92ZXJQcm9wPXtsYXllckhvdmVyUHJvcH1cbiAgICAgICAgICAgICAgZnJvemVuPXtmYWxzZX1cbiAgICAgICAgICAgICAgY29vcmRpbmF0ZT17aW50ZXJhY3Rpb25Db25maWcuY29vcmRpbmF0ZS5lbmFibGVkICYmIGNvb3JkaW5hdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLyogZXNsaW50LWVuYWJsZSBjb21wbGV4aXR5ICovXG5cbiAgICBfZ2V0SG92ZXJYWSh2aWV3cG9ydCwgbG5nTGF0KSB7XG4gICAgICBjb25zdCBzY3JlZW5Db29yZCA9ICF2aWV3cG9ydCB8fCAhbG5nTGF0ID8gbnVsbCA6IHZpZXdwb3J0LnByb2plY3QobG5nTGF0KTtcbiAgICAgIHJldHVybiBzY3JlZW5Db29yZCAmJiB7eDogc2NyZWVuQ29vcmRbMF0sIHk6IHNjcmVlbkNvb3JkWzFdfTtcbiAgICB9XG5cbiAgICBfcmVuZGVyRGVja092ZXJsYXkobGF5ZXJzRm9yRGVjaykge1xuICAgICAgY29uc3Qge1xuICAgICAgICBtYXBTdGF0ZSxcbiAgICAgICAgbWFwU3R5bGUsXG4gICAgICAgIGxheWVyRGF0YSxcbiAgICAgICAgbGF5ZXJPcmRlcixcbiAgICAgICAgbGF5ZXJzLFxuICAgICAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgICAgICBtYXBib3hBcGlVcmwsXG4gICAgICAgIG1hc2tQb2x5Z29uXG4gICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgLy8gaW5pdGlhbGlzZSBsYXllcnMgZnJvbSBwcm9wcyBpZiBleGlzdHNcbiAgICAgIGxldCBkZWNrR2xMYXllcnMgPSB0aGlzLnByb3BzLmRlY2tHbFByb3BzPy5sYXllcnMgfHwgW107XG5cbiAgICAgIC8vIHdhaXQgdW50aWwgZGF0YSBpcyByZWFkeSBiZWZvcmUgcmVuZGVyIGRhdGEgbGF5ZXJzXG4gICAgICBpZiAobGF5ZXJEYXRhICYmIGxheWVyRGF0YS5sZW5ndGgpIHtcbiAgICAgICAgLy8gbGFzdCBsYXllciByZW5kZXIgZmlyc3RcbiAgICAgICAgY29uc3QgZGF0YUxheWVycyA9IGxheWVyT3JkZXJcbiAgICAgICAgICAuc2xpY2UoKVxuICAgICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgICAuZmlsdGVyKGlkeCA9PiBsYXllcnNGb3JEZWNrW2xheWVyc1tpZHhdLmlkXSlcbiAgICAgICAgICAucmVkdWNlKChvdmVybGF5cywgaWR4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYXllckNhbGxiYWNrcyA9IHtcbiAgICAgICAgICAgICAgb25TZXRMYXllckRvbWFpbjogdmFsID0+IHRoaXMuX29uTGF5ZXJTZXREb21haW4oaWR4LCB2YWwpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbGF5ZXJPdmVybGF5ID0gcmVuZGVyRGVja0dsTGF5ZXIodGhpcy5wcm9wcywgbGF5ZXJDYWxsYmFja3MsIGlkeCk7XG4gICAgICAgICAgICByZXR1cm4gb3ZlcmxheXMuY29uY2F0KGxheWVyT3ZlcmxheSB8fCBbXSk7XG4gICAgICAgICAgfSwgW10pO1xuICAgICAgICBkZWNrR2xMYXllcnMgPSBkZWNrR2xMYXllcnMuY29uY2F0KGRhdGFMYXllcnMpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5wcm9wcy5kZWNrR2xQcm9wcz8ubGF5ZXJzT25Ub3ApIHtcbiAgICAgICAgZGVja0dsTGF5ZXJzID0gZGVja0dsTGF5ZXJzLmNvbmNhdCh0aGlzLnByb3BzLmRlY2tHbFByb3BzLmxheWVyc09uVG9wKTtcbiAgICAgIH1cblxuICAgICAgZGVja0dsTGF5ZXJzLnB1c2goXG4gICAgICAgIG5ldyBTb2xpZFBvbHlnb25MYXllcih7XG4gICAgICAgICAgaWQ6IE1BU0tfTEFZRVJfSUQsXG4gICAgICAgICAgb3BlcmF0aW9uOiBPUEVSQVRJT04uTUFTSyxcbiAgICAgICAgICBkYXRhOiBtYXNrUG9seWdvbiA/IFt7cG9seWdvbjogbWFza1BvbHlnb259XSA6IFtdLFxuICAgICAgICAgIGdldEZpbGxDb2xvcjogWzI1NSwgMjU1LCAyNTUsIDI1NV1cbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICAgIGlmIChtYXBTdHlsZS52aXNpYmxlTGF5ZXJHcm91cHNbJzNkIGJ1aWxkaW5nJ10pIHtcbiAgICAgICAgZGVja0dsTGF5ZXJzLnB1c2goXG4gICAgICAgICAgbmV3IFRocmVlREJ1aWxkaW5nTGF5ZXIoe1xuICAgICAgICAgICAgaWQ6ICdfa2VwbGVyZ2xfM2QtYnVpbGRpbmcnLFxuICAgICAgICAgICAgbWFwYm94QXBpQWNjZXNzVG9rZW4sXG4gICAgICAgICAgICBtYXBib3hBcGlVcmwsXG4gICAgICAgICAgICB0aHJlZURCdWlsZGluZ0NvbG9yOiBtYXBTdHlsZS50aHJlZURCdWlsZGluZ0NvbG9yLFxuICAgICAgICAgICAgdXBkYXRlVHJpZ2dlcnM6IHtcbiAgICAgICAgICAgICAgZ2V0RmlsbENvbG9yOiBtYXBTdHlsZS50aHJlZURCdWlsZGluZ0NvbG9yXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPERlY2tHTFxuICAgICAgICAgIGNvbnRyb2xsZXI9e3RydWV9XG4gICAgICAgICAgey4uLnRoaXMucHJvcHMuZGVja0dsUHJvcHN9XG4gICAgICAgICAgdmlld1N0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICBvblZpZXdTdGF0ZUNoYW5nZT17KHt2aWV3U3RhdGV9KSA9PiB0aGlzLl9vblZpZXdwb3J0Q2hhbmdlKHZpZXdTdGF0ZSl9XG4gICAgICAgICAgaWQ9XCJkZWZhdWx0LWRlY2tnbC1vdmVybGF5XCJcbiAgICAgICAgICBsYXllcnM9e2RlY2tHbExheWVyc31cbiAgICAgICAgICBvbkJlZm9yZVJlbmRlcj17dGhpcy5fb25CZWZvcmVSZW5kZXJ9XG4gICAgICAgICAgb25Ib3Zlcj17dmlzU3RhdGVBY3Rpb25zLm9uTGF5ZXJIb3Zlcn1cbiAgICAgICAgICBvbkNsaWNrPXt2aXNTdGF0ZUFjdGlvbnMub25MYXllckNsaWNrfVxuICAgICAgICAgIG9uRXJyb3I9e3RoaXMuX29uRGVja0Vycm9yfVxuICAgICAgICAgIHJlZj17Y29tcCA9PiB7XG4gICAgICAgICAgICBpZiAoY29tcCAmJiBjb21wLmRlY2sgJiYgY29tcC5kZWNrICE9PSB0aGlzLl9kZWNrKSB7XG4gICAgICAgICAgICAgIHRoaXMuX2RlY2sgPSBjb21wLmRlY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICBvbldlYkdMSW5pdGlhbGl6ZWQ9e2dsID0+IHRoaXMuX29uRGVja0luaXRpYWxpemVkKGdsKX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgX3VwZGF0ZU1hcGJveExheWVycygpIHtcbiAgICAgIGNvbnN0IG1hcGJveExheWVycyA9IHRoaXMubWFwYm94TGF5ZXJzU2VsZWN0b3IodGhpcy5wcm9wcyk7XG4gICAgICBpZiAoIU9iamVjdC5rZXlzKG1hcGJveExheWVycykubGVuZ3RoICYmICFPYmplY3Qua2V5cyh0aGlzLnByZXZpb3VzTGF5ZXJzKS5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGVNYXBib3hMYXllcnModGhpcy5fbWFwLCBtYXBib3hMYXllcnMsIHRoaXMucHJldmlvdXNMYXllcnMpO1xuXG4gICAgICB0aGlzLnByZXZpb3VzTGF5ZXJzID0gbWFwYm94TGF5ZXJzO1xuICAgIH1cblxuICAgIF9yZW5kZXJNYXBib3hPdmVybGF5cygpIHtcbiAgICAgIGlmICh0aGlzLl9tYXAgJiYgdGhpcy5fbWFwLmlzU3R5bGVMb2FkZWQoKSkge1xuICAgICAgICB0aGlzLl91cGRhdGVNYXBib3hMYXllcnMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfb25WaWV3cG9ydENoYW5nZSA9IHZpZXdTdGF0ZSA9PiB7XG4gICAgICBjb25zdCB7d2lkdGgsIGhlaWdodCwgLi4ucmVzdFZpZXdTdGF0ZX0gPSB2aWV3U3RhdGU7XG4gICAgICBjb25zdCB7cHJpbWFyeSwgaXNFeHBvcnR9ID0gdGhpcy5wcm9wcztcbiAgICAgIC8vIHJlYWN0LW1hcC1nbCBzZW5kcyAwLDAgZGltZW5zaW9ucyBkdXJpbmcgaW5pdGlhbGl6YXRpb25cbiAgICAgIC8vIGFmdGVyIHdlIGhhdmUgcmVjZWl2ZWQgcHJvcGVyIGRpbWVuc2lvbnMgZnJvbSBvYnNlcnZlRGltZW5zaW9uc1xuICAgICAgY29uc3QgbmV4dCA9IHtcbiAgICAgICAgLi4uKHdpZHRoID4gMCAmJiBoZWlnaHQgPiAwID8gdmlld1N0YXRlIDogcmVzdFZpZXdTdGF0ZSksXG4gICAgICAgIC8vIGVuYWJsaW5nIHRyYW5zaXRpb24gaW4gdHdvIG1hcHMgbWF5IGxlYWQgdG8gZW5kbGVzcyB1cGRhdGUgbG9vcHNcbiAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uOiBwcmltYXJ5ID8gVFJBTlNJVElPTl9EVVJBVElPTiA6IDBcbiAgICAgIH07XG4gICAgICBpZiAodHlwZW9mIHRoaXMucHJvcHMub25WaWV3U3RhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5vblZpZXdTdGF0ZUNoYW5nZShuZXh0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFpc0V4cG9ydCkge1xuICAgICAgICB0aGlzLnByb3BzLm1hcFN0YXRlQWN0aW9ucy51cGRhdGVNYXAobmV4dCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF90b2dnbGVNYXBDb250cm9sID0gcGFuZWxJZCA9PiB7XG4gICAgICBjb25zdCB7aW5kZXgsIHVpU3RhdGVBY3Rpb25zfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIHVpU3RhdGVBY3Rpb25zLnRvZ2dsZU1hcENvbnRyb2wocGFuZWxJZCwgaW5kZXgpO1xuICAgIH07XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG4gICAgX3JlbmRlck1hcCgpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgbWFwU3RhdGUsXG4gICAgICAgIG1hcFN0eWxlLFxuICAgICAgICBtYXBTdGF0ZUFjdGlvbnMsXG4gICAgICAgIGxheWVycyxcbiAgICAgICAgTWFwQ29tcG9uZW50LFxuICAgICAgICBkYXRhc2V0cyxcbiAgICAgICAgbWFwYm94QXBpQWNjZXNzVG9rZW4sXG4gICAgICAgIG1hcGJveEFwaVVybCxcbiAgICAgICAgbWFwQ29udHJvbHMsXG4gICAgICAgIGlzRXhwb3J0LFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHVpU3RhdGVBY3Rpb25zLFxuICAgICAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgICAgIGludGVyYWN0aW9uQ29uZmlnLFxuICAgICAgICBlZGl0b3IsXG4gICAgICAgIGluZGV4LFxuICAgICAgICBwcmltYXJ5XG4gICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3QgbGF5ZXJzVG9SZW5kZXIgPSB0aGlzLmxheWVyc1RvUmVuZGVyU2VsZWN0b3IodGhpcy5wcm9wcyk7XG4gICAgICBjb25zdCBsYXllcnNGb3JEZWNrID0gdGhpcy5sYXllcnNGb3JEZWNrU2VsZWN0b3IodGhpcy5wcm9wcyk7XG5cbiAgICAgIGNvbnN0IG1hcFByb3BzID0ge1xuICAgICAgICAuLi5tYXBTdGF0ZSxcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZSxcbiAgICAgICAgbWFwYm94QXBpQWNjZXNzVG9rZW4sXG4gICAgICAgIG1hcGJveEFwaVVybCxcbiAgICAgICAgdHJhbnNmb3JtUmVxdWVzdFxuICAgICAgfTtcblxuICAgICAgY29uc3QgaXNFZGl0ID0gKG1hcENvbnRyb2xzLm1hcERyYXcgfHwge30pLmFjdGl2ZTtcblxuICAgICAgY29uc3QgaGFzR2VvY29kZXJMYXllciA9IGxheWVycy5maW5kKGwgPT4gbC5pZCA9PT0gR0VPQ09ERVJfTEFZRVJfSUQpO1xuICAgICAgY29uc3QgaXNTcGxpdCA9IEJvb2xlYW4obWFwU3RhdGUuaXNTcGxpdCk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPE1hcENvbnRyb2xcbiAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgIGF2YWlsYWJsZUxvY2FsZXM9e09iamVjdC5rZXlzKExPQ0FMRV9DT0RFUyl9XG4gICAgICAgICAgICBkcmFnUm90YXRlPXttYXBTdGF0ZS5kcmFnUm90YXRlfVxuICAgICAgICAgICAgaXNTcGxpdD17aXNTcGxpdH1cbiAgICAgICAgICAgIHByaW1hcnk9e3ByaW1hcnl9XG4gICAgICAgICAgICBpc0V4cG9ydD17aXNFeHBvcnR9XG4gICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgIGxheWVyc1RvUmVuZGVyPXtsYXllcnNUb1JlbmRlcn1cbiAgICAgICAgICAgIG1hcEluZGV4PXtpbmRleH1cbiAgICAgICAgICAgIG1hcENvbnRyb2xzPXttYXBDb250cm9sc31cbiAgICAgICAgICAgIHJlYWRPbmx5PXt0aGlzLnByb3BzLnJlYWRPbmx5fVxuICAgICAgICAgICAgc2NhbGU9e21hcFN0YXRlLnNjYWxlIHx8IDF9XG4gICAgICAgICAgICB0b3A9e2ludGVyYWN0aW9uQ29uZmlnLmdlb2NvZGVyICYmIGludGVyYWN0aW9uQ29uZmlnLmdlb2NvZGVyLmVuYWJsZWQgPyA1MiA6IDB9XG4gICAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgb25Ub2dnbGVQZXJzcGVjdGl2ZT17bWFwU3RhdGVBY3Rpb25zLnRvZ2dsZVBlcnNwZWN0aXZlfVxuICAgICAgICAgICAgb25Ub2dnbGVTcGxpdE1hcD17bWFwU3RhdGVBY3Rpb25zLnRvZ2dsZVNwbGl0TWFwfVxuICAgICAgICAgICAgb25NYXBUb2dnbGVMYXllcj17dGhpcy5faGFuZGxlTWFwVG9nZ2xlTGF5ZXJ9XG4gICAgICAgICAgICBvblRvZ2dsZU1hcENvbnRyb2w9e3RoaXMuX3RvZ2dsZU1hcENvbnRyb2x9XG4gICAgICAgICAgICBvblNldEVkaXRvck1vZGU9e3Zpc1N0YXRlQWN0aW9ucy5zZXRFZGl0b3JNb2RlfVxuICAgICAgICAgICAgb25TZXRMb2NhbGU9e3VpU3RhdGVBY3Rpb25zLnNldExvY2FsZX1cbiAgICAgICAgICAgIG9uVG9nZ2xlRWRpdG9yVmlzaWJpbGl0eT17dmlzU3RhdGVBY3Rpb25zLnRvZ2dsZUVkaXRvclZpc2liaWxpdHl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8TWFwQ29tcG9uZW50XG4gICAgICAgICAgICB7Li4ubWFwUHJvcHN9XG4gICAgICAgICAgICBrZXk9XCJib3R0b21cIlxuICAgICAgICAgICAgcmVmPXt0aGlzLl9zZXRNYXBib3hNYXB9XG4gICAgICAgICAgICBtYXBTdHlsZT17bWFwU3R5bGUuYm90dG9tTWFwU3R5bGV9XG4gICAgICAgICAgICBnZXRDdXJzb3I9e3RoaXMucHJvcHMuaG92ZXJJbmZvID8gKCkgPT4gJ3BvaW50ZXInIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgb25Nb3VzZU1vdmU9e3RoaXMucHJvcHMudmlzU3RhdGVBY3Rpb25zLm9uTW91c2VNb3ZlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0aGlzLl9yZW5kZXJEZWNrT3ZlcmxheShsYXllcnNGb3JEZWNrKX1cbiAgICAgICAgICAgIHt0aGlzLl9yZW5kZXJNYXBib3hPdmVybGF5cygpfVxuICAgICAgICAgICAgPEVkaXRvclxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgIGZpbHRlcnM9e3RoaXMucG9seWdvbkZpbHRlcnModGhpcy5wcm9wcyl9XG4gICAgICAgICAgICAgIGlzRW5hYmxlZD17aXNFZGl0fVxuICAgICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgICAgbGF5ZXJzVG9SZW5kZXI9e2xheWVyc1RvUmVuZGVyfVxuICAgICAgICAgICAgICBvbkRlbGV0ZUZlYXR1cmU9e3Zpc1N0YXRlQWN0aW9ucy5kZWxldGVGZWF0dXJlfVxuICAgICAgICAgICAgICBvblNlbGVjdD17dmlzU3RhdGVBY3Rpb25zLnNldFNlbGVjdGVkRmVhdHVyZX1cbiAgICAgICAgICAgICAgb25VcGRhdGU9e3Zpc1N0YXRlQWN0aW9ucy5zZXRGZWF0dXJlc31cbiAgICAgICAgICAgICAgb25Ub2dnbGVQb2x5Z29uRmlsdGVyPXt2aXNTdGF0ZUFjdGlvbnMuc2V0UG9seWdvbkZpbHRlckxheWVyfVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6IGlzRWRpdCA/ICdhbGwnIDogJ25vbmUnLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGVkaXRvci52aXNpYmxlID8gJ2Jsb2NrJyA6ICdub25lJ1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L01hcENvbXBvbmVudD5cbiAgICAgICAgICB7bWFwU3R5bGUudG9wTWFwU3R5bGUgfHwgaGFzR2VvY29kZXJMYXllciA/IChcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e01BUF9TVFlMRS50b3B9PlxuICAgICAgICAgICAgICA8TWFwQ29tcG9uZW50IHsuLi5tYXBQcm9wc30ga2V5PVwidG9wXCIgbWFwU3R5bGU9e21hcFN0eWxlLnRvcE1hcFN0eWxlfT5cbiAgICAgICAgICAgICAgICB7dGhpcy5fcmVuZGVyRGVja092ZXJsYXkoe1tHRU9DT0RFUl9MQVlFUl9JRF06IHRydWV9KX1cbiAgICAgICAgICAgICAgPC9NYXBDb21wb25lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICB7dGhpcy5fcmVuZGVyTWFwUG9wb3ZlcihsYXllcnNUb1JlbmRlcil9XG4gICAgICAgICAgeyFpc1NwbGl0IHx8IGluZGV4ID09PSAxID8gPEF0dHJpYnV0aW9uIC8+IDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHttYXBTdGF0ZSwgbWFwU3R5bGV9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IGNvbnRleHRMb3N0ID0gdGhpcy5zdGF0ZT8uY29udGV4dExvc3Q7XG5cbiAgICAgIGlmIChjb250ZXh0TG9zdCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZE1hcENvbnRhaW5lciByZWY9e3RoaXMuX3JlZn0gc3R5bGU9e01BUF9TVFlMRS5jb250YWluZXJ9IGdsb2JlPXttYXBTdGF0ZS5nbG9iZX0+XG4gICAgICAgICAge21hcFN0eWxlLmJvdHRvbU1hcFN0eWxlICYmIHRoaXMuX3JlbmRlck1hcCgpfVxuICAgICAgICA8L1N0eWxlZE1hcENvbnRhaW5lcj5cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgTWFwQ29udGFpbmVyLmRpc3BsYXlOYW1lID0gJ01hcENvbnRhaW5lcic7XG5cbiAgcmV0dXJuIE1hcENvbnRhaW5lcjtcbn1cbiJdfQ==
|