@eo-sdk/client 11.14.31 → 11.14.32

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.
@@ -50,6 +50,9 @@ let MediaComponent = class MediaComponent {
50
50
  this.hasContentLoaded.emit(true);
51
51
  }
52
52
  set dmsObject(item) {
53
+ if (!item) {
54
+ return;
55
+ }
53
56
  this._dmsObject = item;
54
57
  this.dmsObjectTitle = item.title || '...';
55
58
  this.setAttachments = [];
@@ -381,4 +384,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
381
384
  }], dmsObject: [{
382
385
  type: Input
383
386
  }] } });
384
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvbWVkaWEvbWVkaWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvbWVkaWEvbWVkaWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWEsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBVWxJLE9BQU8sRUFBQyxlQUFlLEVBQUUscUJBQXFCLEVBQXFCLE1BQU0sMkJBQTJCLENBQUM7QUFDckcsT0FBTyxFQUFDLFNBQVMsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUc3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7O0FBRW5FLGVBQWUsQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHO0lBQ3RDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ3ZELENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNqRCxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQTJCSyxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFjOzthQUVsQixpQkFBWSxHQUFHLHFIQUFxSCxBQUF4SCxDQUF5SDthQUNySSxlQUFVLEdBQUcsa09BQWtPLEFBQXJPLENBQXNPO0lBOEZ2UCxJQUNJLGNBQWMsQ0FBQyxXQUFXO1FBQzVCLElB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QyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7SUFDWCxDQUFDOzhHQTNYVSxjQUFjO2tHQUFkLGNBQWMsc2FBRmQsQ0FBQyxxQkFBcUIsQ0FBQywyT0M5Q3BDLGsrREFzQ0E7O0FEVWEsY0FBYztJQVAxQixZQUFZLEVBQUU7R0FPRixjQUFjLENBNlgxQjs7MkZBN1hZLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsVUFBVSxhQUdULENBQUMscUJBQXFCLENBQUM7b05BMkJ4QixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBNkRFLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNxQixJQUFJO3NCQUE5QixXQUFXO3VCQUFDLFlBQVk7Z0JBRVksTUFBTTtzQkFBMUMsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNFLE1BQU07c0JBQTFDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFHL0IsY0FBYztzQkFEakIsS0FBSzt1QkFBQyxhQUFhO2dCQU9oQixhQUFhO3NCQURoQixLQUFLO3VCQUFDLFlBQVk7Z0JBTWYsVUFBVTtzQkFEYixLQUFLO2dCQVdGLFdBQVc7c0JBRGQsS0FBSztnQkFjRixTQUFTO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb25maWcsXG4gIERtc09iamVjdCxcbiAgRG1zT2JqZWN0QXR0YWNobWVudCxcbiAgRG1zU2VydmljZSxcbiAgT2JqZWN0VHlwZSxcbiAgU3lzdGVtU2VydmljZSxcbiAgVHJhbnNsYXRlU2VydmljZSxcbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7UG9wb3V0Q29tcG9uZW50LCBQb3BvdXRUcmlnZ2VyUG9zaXRpb24sIFBvcG91dFdpbmRvd0NvbmZpZ30gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL3BvcG91dCc7XG5pbXBvcnQge2Zyb21FdmVudCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmlsZVNpemVQaXBlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9waXBlcy9maWxlc2l6ZS5waXBlJztcbmltcG9ydCB7UGx1Z2luc1NlcnZpY2V9IGZyb20gJy4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvYXBpL3BsdWdpbnMuc2VydmljZSc7XG5pbXBvcnQge0NvbnRlbnRQcmV2aWV3U2VydmljZX0gZnJvbSAnLi9jb250ZW50LXByZXZpZXcuc2VydmljZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5cblBvcG91dENvbXBvbmVudC5wcm90b3R5cGUubmdPbkRlc3Ryb3kgPSBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IHcgPSB3aW5kb3dbXCJfcG9wb3V0V2luZG93XCJdID0gdGhpcy5fcG9wb3V0V2luZG93O1xuICB3ICYmIHcuZG9jdW1lbnQuYm9keS5maXJzdEVsZW1lbnRDaGlsZD8ucmVtb3ZlKCk7XG4gIHRoaXMuX29ic2VydmVyPy5kaXNjb25uZWN0KCk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdlckNvbmZpZyB7XG4gIG1pbWVUeXBlPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGZpbGVFeHRlbnNpb24/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgdmlld2VyOiBzdHJpbmc7XG4gIGVycm9yPzogYm9vbGVhbjtcbiAgdHlwZT86ICdjb21wYXJlJyB8ICdleHRlbmQnIHwgJ2Vycm9yJyB8ICdkZWZhdWx0JztcbiAgZGlzYWJsZWQ/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFByZXZpZXdGaWxlIHtcbiAgdXJpOiBzdHJpbmc7XG4gIHVyaVBkZjogc3RyaW5nO1xuICBtaW1ldHlwZTogc3RyaW5nO1xuICBtaW1lZ3JvdXA6IHN0cmluZztcbiAgc2l6ZTogbnVtYmVyO1xuICBwYXRoPzogc3RyaW5nO1xuICBmaWxlRXh0ZW5zaW9uPzogc3RyaW5nO1xuICBtZWRpYVR5cGVOYW1lPzogc3RyaW5nO1xufVxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1tZWRpYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZWRpYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lZGlhLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0NvbnRlbnRQcmV2aWV3U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgTWVkaWFDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIHN0YXRpYyBWSURFT19WSUVXRVIgPSAndmlld2VyL3ZpZXcvYXBpL3ZpZGVvLz9wYXRoPSR7cGF0aH0mbWltZVR5cGU9JHttaW1lVHlwZX0mZmlsZUV4dGVuc2lvbj0ke2ZpbGVFeHRlbnNpb259Jmxhbmc9JHtsYW5nfSZ0aGVtZT0ke3RoZW1lfSc7XG4gIHN0YXRpYyBQREZfVklFV0VSID0gJ3ZpZXdlci92aWV3L2FwaS9wZGYvd2ViL3ZpZXdlci5odG1sP2ZpbGU9JnBhdGg9JHtwYXRofSZwYXRoUGRmPSR7cGF0aFBkZn0mbWltZVR5cGU9JHttaW1lVHlwZX0mZmlsZUV4dGVuc2lvbj0ke2ZpbGVFeHRlbnNpb259Jmxhbmc9JHtsYW5nfSZ0aGVtZT0ke3RoZW1lfSZjc3M9JTIzdG9vbGJhclZpZXdlclJpZ2h0JTIwJTIzcHJpbnQlN0JkaXNwbGF5JTNBYmxvY2shaW1wb3J0YW50JTNCJTdEJztcblxuICBwcml2YXRlIFNJWkVfTElNSVQgPSAxMDI0ICogMTAyNCAqIDEwOyAvLyAxME1CXG4gIHByaXZhdGUgcGRmanM6IGFueTtcbiAgbGF0ZXN0VXJpOiBzdHJpbmc7XG4gIHNsaWRlVXJpOiBzdHJpbmc7XG4gIHZpZXdlcjogYW55O1xuICBkbXNPYmplY3RUaXRsZTogc3RyaW5nO1xuICBwcml2YXRlIF9wcmV2aWV3VXJpOiBzdHJpbmc7XG4gIHByaXZhdGUgX2Rtc09iamVjdDogRG1zT2JqZWN0O1xuICBmaWxlU2l6ZVBpcGU6IEZpbGVTaXplUGlwZTtcbiAgY3VycmVudEluZGV4OiBudW1iZXI7XG4gIGF0dGFjaG1lbnRzOiBEbXNPYmplY3RBdHRhY2htZW50W10gPSBbXTtcbiAgYXR0YWNobWVudHNMb2FkaW5nOiBTdWJzY3JpcHRpb247XG4gIGF0dGFjaG1lbnRzU2hvd246IGJvb2xlYW47XG4gIHNlYXJjaFRlcm06IHN0cmluZztcbiAgbWVkaWFUeXBlOiBPYmplY3RUeXBlO1xuICBjdXN0b21Db25maWc6IGFueVtdID0gW107XG5cbiAgcG9wb3V0VHJpZ2dlclBvc2l0aW9uID0gUG9wb3V0VHJpZ2dlclBvc2l0aW9uLkJPVFRPTV9SSUdIVFxuICBwb3BvdXRXaW5kb3dDb25maWc6IFBvcG91dFdpbmRvd0NvbmZpZztcblxuICBAT3V0cHV0KCkgaGFzQ29udGVudExvYWRlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGRlZmF1bHRWaWV3ZXJzID0gW1xuICAgIHtcbiAgICAgIFwibWltZVR5cGVcIjogW1wiYXBwbGljYXRpb24vanNvblwiLCBcInRleHQvanNvblwiLCBcInRleHQvcGxhaW5cIiwgXCJ0ZXh0L3htbFwiLCBcInRleHQvamF2YVwiLCBcInRleHQvamF2YXNjcmlwdFwiLCBcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIiwgXCJ0ZXh0L2h0bWxcIiwgXCJ0ZXh0L21hcmtkb3duXCIsIFwidGV4dC94LXdlYi1tYXJrZG93blwiLCBcInRleHQveC1tYXJrZG93blwiXSxcbiAgICAgIFwidmlld2VyXCI6IFwidmlld2VyL3ZpZXcvYXBpL21vbmFjby8/cGF0aD0ke3BhdGh9Jm1pbWVUeXBlPSR7bWltZVR5cGV9JmZpbGVFeHRlbnNpb249JHtmaWxlRXh0ZW5zaW9ufSZsYW5nPSR7bGFuZ30mdGhlbWU9JHt0aGVtZX1cIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJtaW1lVHlwZVwiOiBbXCJhdWRpby9tcDNcIiwgXCJhdWRpby93ZWJtXCIsIFwiYXVkaW8vb2dnXCIsIFwiYXVkaW8vbXBlZ1wiLCBcInZpZGVvL21wNFwiLCBcInZpZGVvL3dlYm1cIiwgXCJ2aWRlby9vZ2dcIiwgXCJhcHBsaWNhdGlvbi9vZ2dcIl0sXG4gICAgICBcInZpZXdlclwiOiBcInZpZXdlci92aWV3L2FwaS92aWRlby8/cGF0aD0ke3BhdGh9Jm1pbWVUeXBlPSR7bWltZVR5cGV9JmZpbGVFeHRlbnNpb249JHtmaWxlRXh0ZW5zaW9ufSZsYW5nPSR7bGFuZ30mdGhlbWU9JHt0aGVtZX1cIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJtaW1lVHlwZVwiOiBbXCJpbWFnZS90aWZmXCIsIFwiaW1hZ2UvanBlZ1wiLCBcImltYWdlL3BuZ1wiLCBcImltYWdlL2FwbmdcIiwgXCJpbWFnZS9naWZcIiwgXCJpbWFnZS9zdmcreG1sXCIsIFwiaW1hZ2Uvd2VicFwiXSxcbiAgICAgIFwidmlld2VyXCI6IFwidmlld2VyL3ZpZXcvYXBpL2ltZy8/cGF0aD0ke3BhdGh9Jm1pbWVUeXBlPSR7bWltZVR5cGV9JmZpbGVFeHRlbnNpb249JHtmaWxlRXh0ZW5zaW9ufSZsYW5nPSR7bGFuZ30mdGhlbWU9JHt0aGVtZX1cIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJtaW1lVHlwZVwiOiBbXCJtZXNzYWdlL3JmYzgyMlwiLCBcImFwcGxpY2F0aW9uL3ZuZC5tcy1vdXRsb29rXCJdLFxuICAgICAgXCJ2aWV3ZXJcIjogXCJ2aWV3ZXIvdmlldy9hcGkvbWFpbC8/cGF0aD0ke3BhdGh9Jm1pbWVUeXBlPSR7bWltZVR5cGV9JmZpbGVFeHRlbnNpb249JHtmaWxlRXh0ZW5zaW9ufSZsYW5nPSR7bGFuZ30mdGhlbWU9JHt0aGVtZX1cIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJkaXNhYmxlZFwiOiBcIigpID0+IHsgcmV0dXJuIGF2YWlsYWJsZVNlcnZpY2VzLmluZGV4T2YoJ29mZmljZTM2NScpIDwgMCB8fCBmaWxlLnVyaVBkZi5tYXRjaChuZXcgUmVnRXhwKCdhdHRhY2htZW50PShcXFxcXFxcXGQrKScpKTt9XCIsIC8vIGRpc2FibGUgb2ZmaWNlMzY1IHZpZXdlciBpZiBub3QgYXZhaWxhYmxlXG4gICAgICBcIm1pbWVUeXBlXCI6IFtcbiAgICAgICAgXCJhcHBsaWNhdGlvbi9tc3dvcmRcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudFwiLFxuICAgICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13b3JkLmRvY3VtZW50Lm1hY3JvRW5hYmxlZC4xMlwiLFxuICAgICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLnRlbXBsYXRlXCIsXG4gICAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdvcmQudGVtcGxhdGUubWFjcm9FbmFibGVkLjEyXCIsXG4gICAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsXCIsXG4gICAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXRcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQubWFjcm9FbmFibGVkLjEyXCIsXG4gICAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudGVtcGxhdGVcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwudGVtcGxhdGUubWFjcm9FbmFibGVkLjEyXCIsXG4gICAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnNoZWV0LmJpbmFyeS5tYWNyb0VuYWJsZWQuMTJcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuYWRkaW4ubWFjcm9FbmFibGVkLjEyXCIsXG4gICAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnRcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uXCIsXG4gICAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnRlbXBsYXRlXCIsXG4gICAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRlc2hvd1wiLFxuICAgICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LmFkZGluLm1hY3JvRW5hYmxlZC4xMlwiLFxuICAgICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LnByZXNlbnRhdGlvbi5tYWNyb0VuYWJsZWQuMTJcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC50ZW1wbGF0ZS5tYWNyb0VuYWJsZWQuMTJcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC5zbGlkZXNob3cubWFjcm9FbmFibGVkLjEyXCJcbiAgICAgIF0sXG4gICAgICBcInZpZXdlclwiOiBcIigpID0+IHsgdmFyIGNvbnRlbnQgPSBkbXNPYmplY3QuY29udGVudCB8fCB7fTsgdmFyIGlkID0gY29udGVudC5pZCB8fCBkbXNPYmplY3QuaWQ7IHZhciB0eXBlID0gY29udGVudC50eXBlIHx8IGRtc09iamVjdC50eXBlTmFtZSB8fCAnJzsgdmFyIGlzTGlua2VkRG9jdW1lbnQgPSBkbXNPYmplY3QuaWQgIT09IGlkOyByZXR1cm4gbG9jYXRpb24ub3JpZ2luICsgJy9kYXNobGV0MzY1Lz9pZD0nICsgaWQgKyAnJnZlcnNpb249JyArICghaXNMaW5rZWREb2N1bWVudCA/IGRtc09iamVjdC52ZXJzaW9uIDogLTEpICsgJyZ0eXBlPScgKyB0eXBlICsgKHBhcmFtZXRlcnMubWltZVR5cGUgPyAnJm1pbWVUeXBlPScgKyBwYXJhbWV0ZXJzLm1pbWVUeXBlIDogJycpICsgJyZsb2NhbGU9JHtsYW5nfSc7IH1cIlxuICAgICAgLy8gXCJ2aWV3ZXJcIjogXCIoKSA9PiB7ICAgICAgICAgICAgcGFyYW1ldGVycy5wYXRoID0gcGFyYW1ldGVycy5wYXRoLnJlcGxhY2UoJ2xvY2FsaG9zdDo0MjAwJywgJ2tvbGlicmlwcm9saWFudC5vcHRpbWFsLXN5c3RlbXMuZGUnKTsgICAgICAgICAgICAgICAgdmFyIGVkaXQgPSB0cnVlOyAgICAgICAgICAgICAgICByZXR1cm4gJ2Rhc2hsZXQzNjUvP2lkPScgKyBkbXNPYmplY3QuY29udGVudC5pZCArIChlZGl0ID8gJycgOiAnXycgKyBkbXNPYmplY3QudmVyc2lvbikgKyAnJnZlcnNpb249JyArIGRtc09iamVjdC52ZXJzaW9uICsgJyZtaW1lVHlwZT0ke21pbWVUeXBlfSZwYXRoPSR7cGF0aH0mZmlsZUV4dGVuc2lvbj0ke2ZpbGVFeHRlbnNpb259JmxvY2FsZT0ke2xhbmd9JmFsbG93ZWRFeHRlbnNpb25zPWRvYyxkb2N4LHhscyx4bHN4LHBwdCxwcHR4JmVkaXRNb2RlPScgKyBlZGl0ICsgJyZkaXNwbGF5TmFtZT0nICsgJyc7ICAgICAgICAgICAgfVwiXG5cbiAgICB9LFxuICAgIC8vIE9OTFkgYXBwbGllcyB0byBsb2NhbGhvc3QgZW52OyBmaXhlZCBlbWFpbCBjb3JzIGZvciBsb2NhbGhvc3QgdGVzdGluZ1xuICAgIHtcbiAgICAgIFwidHlwZVwiOiBcImV4dGVuZFwiLFxuICAgICAgXCJ2aWV3ZXJcIjogXCIoKSA9PiB7IGlmIChwYXJhbWV0ZXJzLnZpZXdlci5tYXRjaCgnL3ZpZXcvYXBpL21haWwvJykgJiYgcGFyYW1ldGVycy5wYXRoLm1hdGNoKCdsb2NhbGhvc3QnKSkgeyB2YXIgaG9zdCA9ICdsb2NhbGhvc3Q6NDIwMCc7IHZhciBjb3JzID0gJ2tvbGlicmlwcm9saWFudC5vcHRpbWFsLXN5c3RlbXMuZGUnOyBwYXJhbWV0ZXJzLnBhdGggPSBwYXJhbWV0ZXJzLnBhdGgucmVwbGFjZShob3N0LCBjb3JzKTsgcmV0dXJuIHBhcmFtZXRlcnMudmlld2VyICsgJyZjb3JzPScgKyBjb3JzO30gcmV0dXJuIHBhcmFtZXRlcnMudmlld2VyOyB9XCJcbiAgICB9LFxuICAgIC8vIFdlIG5lZWQgYW5vdGhlciBwYXRoUGRmIGZvciBlbWFpbCBhdHRhY2htZW50IGZpbGVzLiBUaGlzIHdpbGwgb25seSBjb21lIGluIHBsYWNlIGlmIHRoZSBtaW1ldHlwZSBpcyBwZGYgb3Igb25lIG9mIHRoZSBub3Qgc3VwcG9ydGVkIG9uZXMuICh2aWV3ZXIgYXR0YWNobWVudHMgJiBhcGkgYXR0YWNobWVudHMgY2FuIGJlIHBhcnNlZCBpbiBkaWZmZXJlbnQgb3JkZXIsIHNvIHdlIGhhdmUgdG8gbWF0Y2ggdGhlbSBieSBmaWxlbmFtZSlcbiAgICB7XCJ2aWV3ZXJcIjogXCIoKSA9PiB7dmFyIGF0dGFjaG1lbnQgPSBwYXJhbWV0ZXJzLnBhdGhQZGYubWF0Y2gobmV3IFJlZ0V4cCgnYXR0YWNobWVudD0oXFxcXFxcXFxkKyknKSk7IHZhciBhID0gYXR0YWNobWVudCAmJiBhcGkuY29udGVudC52aWV3ZXIoKS5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKS5jb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcignYVtkYXRhLXNyYyQ9XFxcIicgKyBhdHRhY2htZW50WzBdICsgJ1xcXCJdJyk7ICB2YXIgcGFyYW1zID0gYSAmJiAoYXBpLmNvbnRlbnQuYXR0YWNobWVudHMgfHwgW10pLmZpbmQoYXR0ID0+IGFwaS51dGlsLmRlY29kZUh0bWxDaGFyQ29kZXMoYXR0Lm5hbWUpID09PSBhLmdldEF0dHJpYnV0ZSgnZGF0YS1maWxlbmFtZScpKTsgaWYocGFyYW1zICYmIHBhcmFtcy5wcmV2aWV3VXJpKSB7IHBhcmFtZXRlcnMucGF0aFBkZiA9IGxvY2F0aW9uLm9yaWdpbiArIHBhcmFtcy5wcmV2aWV3VXJpOyB9IHJldHVybiBwYXJhbWV0ZXJzLmRlZmF1bHRWaWV3ZXI7fVwifSxcbiAgICB7XCJlcnJvclwiOiB0cnVlLCBcInR5cGVcIjogXCJlcnJvclwiLCBcInZpZXdlclwiOiBcInZpZXdlci92aWV3L2FwaS9lcnJvci8/cGF0aD0ke3BhdGh9Jm1pbWVUeXBlPSR7bWltZVR5cGV9JmZpbGVFeHRlbnNpb249JHtmaWxlRXh0ZW5zaW9ufSZsYW5nPSR7bGFuZ30mdGhlbWU9JHt0aGVtZX1cIn1cbiAgXTtcblxuICBpc1VuZG9ja2VkOiBib29sZWFuO1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBwcml2YXRlIF9wcmV2aWV3RmlsZTogUHJldmlld0ZpbGU7XG5cbiAgQElucHV0KCkgdW5kb2NrRGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBlbmFibGVDbG9zZUJ0biA9IGZhbHNlO1xuICAvLyBieSBkZWZhdWx0LCB0aGUgdmlld2VyIGlnbm9yZXMgdGhlIHZlcnNpb24gb2YgdGhlIGRtcyBvYmplY3QuIFRoaXMgd2lsbCBhbHdheXMgc2hvdyB0aGUgbGF0ZXN0IHZlcnNpb24uXG4gIC8vIFdlIG5lZWQgdGhpcyB0byBiZSBhYmxlIHRvIHJlZnJlc2ggdGhlIHZpZXdlciBiZWNhdXNlIG90aGVyd2lzZSBwZGZqcyB3b3JrZXIgd2lsbCBmYWlsLlxuICBASW5wdXQoKSB1c2VWZXJzaW9uID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3Mub3BlbicpIG9wZW47XG5cbiAgQFZpZXdDaGlsZCgnaWZyYW1lJywge3N0YXRpYzogdHJ1ZX0pIGlmcmFtZTtcbiAgQFZpZXdDaGlsZCgncG9wb3V0Jywge3N0YXRpYzogdHJ1ZX0pIHBvcG91dDogUG9wb3V0Q29tcG9uZW50O1xuXG4gIEBJbnB1dCgnYXR0YWNobWVudHMnKVxuICBzZXQgc2V0QXR0YWNobWVudHMoYXR0YWNobWVudHMpIHtcbiAgICB0aGlzLmF0dGFjaG1lbnRzID0gYXR0YWNobWVudHM7XG4gICAgdGhpcy5hdHRhY2htZW50c1Nob3duID0gZmFsc2U7XG4gIH1cblxuICBASW5wdXQoJ3NlYXJjaFRlcm0nKVxuICBzZXQgc2V0U2VhcmNoVGVybShzZWFyY2hUZXJtKSB7XG4gICAgdGhpcy5zZWFyY2hUZXJtID0gc2VhcmNoVGVybSB8fCAnJztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBwcmV2aWV3VXJpKHVyaTogc3RyaW5nKSB7XG4gICAgdGhpcy5fcHJldmlld1VyaSA9IHVyaTtcbiAgICB0aGlzLnRvZ2dsZVZpZXdlcigpO1xuICB9XG5cbiAgZ2V0IHByZXZpZXdVcmkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZXZpZXdVcmk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgcHJldmlld0ZpbGUoZmlsZTogUHJldmlld0ZpbGUpIHtcbiAgICB0aGlzLl9wcmV2aWV3RmlsZSA9IGZpbGU7XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIHRoaXMuc2V0dXBWaWV3ZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcmV2aWV3VXJpID0gJyc7XG4gICAgICB0aGlzLnBvcG91dFdpbmRvd0NvbmZpZyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy5fc2V0UG9wb3V0V2luZG93Q29uZmlnKCFmaWxlKTtcbiAgICB0aGlzLmhhc0NvbnRlbnRMb2FkZWQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBkbXNPYmplY3QoaXRlbTogRG1zT2JqZWN0KSB7XG4gICAgdGhpcy5fZG1zT2JqZWN0ID0gaXRlbTtcbiAgICB0aGlzLmRtc09iamVjdFRpdGxlID0gaXRlbS50aXRsZSB8fCAnLi4uJztcbiAgICB0aGlzLnNldEF0dGFjaG1lbnRzID0gW107XG4gICAgaWYgKHRoaXMuYXR0YWNobWVudHNMb2FkaW5nKSB7XG4gICAgICAvLyBjYW5jZWwgYW55IHBlbmRpbmcgcmVxdWVzdHNcbiAgICAgIHRoaXMuYXR0YWNobWVudHNMb2FkaW5nLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmIChpdGVtLmNvbnRlbnQgJiYgaXRlbS5jb250ZW50LmNvbnRlbnRzICYmIGl0ZW0uY29udGVudC5jb250ZW50cy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGZpbGUgPSBpdGVtLmNvbnRlbnQuY29udGVudHNbMF0gfHwge307XG5cbiAgICAgIHRoaXMucHJldmlld0ZpbGUgPSB7XG4gICAgICAgIHVyaTogdGhpcy5kbXMuZ2V0UHJldmlldyhpdGVtLmNvbnRlbnQuaWQsIGl0ZW0uY29udGVudC50eXBlLCB0aGlzLnVzZVZlcnNpb24gPyBpdGVtLnZlcnNpb24gOiBudWxsLCB1bmRlZmluZWQsIHRydWUpLFxuICAgICAgICB1cmlQZGY6IHRoaXMuZG1zLmdldFByZXZpZXcoaXRlbS5jb250ZW50LmlkLCBpdGVtLmNvbnRlbnQudHlwZSwgdGhpcy51c2VWZXJzaW9uID8gaXRlbS52ZXJzaW9uIDogbnVsbCwgJ1BERicsIHRydWUpLFxuICAgICAgICBtaW1ldHlwZTogZmlsZS5taW1ldHlwZSxcbiAgICAgICAgbWltZWdyb3VwOiBmaWxlLm1pbWVncm91cCxcbiAgICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgICBwYXRoOiBmaWxlLnBhdGgsXG4gICAgICAgIG1lZGlhVHlwZU5hbWU6IGl0ZW0udHlwZU5hbWVcbiAgICAgIH07XG4gICAgICB0aGlzLnNldHVwVmlld2VyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJldmlld1VyaSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkbXM6IERtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWcsXG4gICAgcHJpdmF0ZSBwbHVnaW5zU2VydmljZTogUGx1Z2luc1NlcnZpY2VcbiAgICApIHtcbiAgICB0aGlzLlNJWkVfTElNSVQgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ3ByZXZpZXcuZmlsZVNpemVMaW1pdCcpIHx8IHRoaXMuU0laRV9MSU1JVDtcbiAgICB0aGlzLmN1c3RvbUNvbmZpZyA9ICh0aGlzLmNvbmZpZy5nZXRSYXcoJ3ByZXZpZXcudmlld2VycycpIHx8IFtdKS5jb25jYXQodGhpcy5kZWZhdWx0Vmlld2Vycyk7XG5cbiAgICB0aGlzLnBsdWdpbnNTZXJ2aWNlLmFwaS5jb250ZW50LmNhdGNoRXJyb3IoKS5zdWJzY3JpYmUoKGV2dDogYW55KSA9PiB7XG4gICAgICBjb25zdCB7ZXJyLCB3aW4sIHBhcmFtZXRlcnN9ID0gZXZ0LmRhdGE7XG4gICAgICBjb25zdCB1cmkgPSB0aGlzLnBsdWdpbnNTZXJ2aWNlLmFwcGx5RnVuY3Rpb24odGhpcy5jdXN0b21Db25maWc/LmZpbmQoKHYpID0+IHYuZXJyb3IpPy52aWV3ZXIsICdhcGksIGVyciwgd2luLCBwYXJhbWV0ZXJzJywgW1xuICAgICAgICB0aGlzLnBsdWdpbnNTZXJ2aWNlLmFwaSxcbiAgICAgICAgZXJyLFxuICAgICAgICB3aW4sXG4gICAgICAgIHBhcmFtZXRlcnNcbiAgICAgIF0pO1xuICAgICAgdXJpICYmIHdpbiAmJiAod2luLmxvY2F0aW9uLmhyZWYgPSB0aGlzLnJlc29sdmVVcmkodXJpLCBwYXJhbWV0ZXJzKSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwVmlld2VyKCkge1xuICAgIGlmICghdGhpcy5fcHJldmlld0ZpbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnBsdWdpbnNTZXJ2aWNlLmlzUmVhZHkub2JzZXJ2ZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnBsdWdpbnNTZXJ2aWNlLmlzUmVhZHkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0dXBWaWV3ZXIoKSk7XG4gICAgfVxuICAgIHRoaXMudmlld2VyID0gdGhpcy5nZXRWaWV3ZXIodGhpcy5fcHJldmlld0ZpbGUpO1xuICAgIHRoaXMubWVkaWFUeXBlID0gdGhpcy5fcHJldmlld0ZpbGUubWVkaWFUeXBlTmFtZSAmJiB0aGlzLnN5c3RlbS5nZXRPYmplY3RUeXBlKHRoaXMuX3ByZXZpZXdGaWxlLm1lZGlhVHlwZU5hbWUpO1xuICAgIHRoaXMucHJldmlld1VyaSA9IHRoaXMudmlld2VyLnByZXZpZXdVcmk7XG4gICAgaWYgKHRoaXMuX2Rtc09iamVjdD8uY29udGVudCkge1xuICAgICAgaWYgKCEhdGhpcy5fcHJldmlld0ZpbGUubWltZWdyb3VwPy5tYXRjaCgvXm1haWx8b2N0ZXQtc3RyZWFtLykgJiYgdGhpcy52aWV3ZXIudmlld2VyLm1hdGNoKCcvdmlldy9hcGkvcGRmLycpKSB7XG4gICAgICAgIHRoaXMuc2xpZGVVcmkgPSB0aGlzLmRtcy5nZXRTbGlkZSh0aGlzLl9kbXNPYmplY3QuY29udGVudC5pZCwgdGhpcy5fZG1zT2JqZWN0LmNvbnRlbnQudHlwZSwgdGhpcy51c2VWZXJzaW9uID8gdGhpcy5fZG1zT2JqZWN0LnZlcnNpb24gOiBudWxsLCAyNTYpO1xuICAgICAgICB0aGlzLmF0dGFjaG1lbnRzTG9hZGluZyA9IHRoaXMuZG1zLmdldEF0dGFjaG1lbnRzKHRoaXMuX2Rtc09iamVjdCkuc3Vic2NyaWJlKGEgPT4gdGhpcy5zZXRBdHRhY2htZW50cyA9IGEpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudmlld2VyLnZpZXdlci5tYXRjaCgnL3ZpZXcvYXBpL21haWwvJykpIHtcbiAgICAgICAgdGhpcy5kbXMuZ2V0QXR0YWNobWVudHModGhpcy5fZG1zT2JqZWN0KS5zdWJzY3JpYmUoYSA9PiB7XG4gICAgICAgICAgd2luZG93LmFwaS5jb250ZW50LmF0dGFjaG1lbnRzID0gYTtcbiAgICAgICAgICB0aGlzLnNldEF0dGFjaG1lbnRzID0gYTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0UG9wb3V0V2luZG93Q29uZmlnKHJlc2V0PzogYm9vbGVhbikge1xuICAgIGNvbnN0IHdpbkluc2V0ID0gMjA7XG4gICAgdGhpcy5wb3BvdXRXaW5kb3dDb25maWcgPSAhcmVzZXQgPyB7XG4gICAgICB0aXRsZTogdGhpcy5kbXNPYmplY3RUaXRsZSxcbiAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgIGJsb2NrU3RhcnQ6IHdpbkluc2V0LFxuICAgICAgICBpbmxpbmVTdGFydDogd2luZG93LnNjcmVlbi53aWR0aCAvIDJcbiAgICAgIH0sIHNpemU6IHtcbiAgICAgICAgd2lkdGg6IHdpbmRvdy5zY3JlZW4ud2lkdGggLyAyIC0gd2luSW5zZXQsXG4gICAgICAgIGhlaWdodDogd2luZG93LnNjcmVlbi5oZWlnaHQgLSB3aW5JbnNldCAqIDIsXG4gICAgICB9XG4gICAgfSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNlbGVjdEF0dGFjaG1lbnQoYXR0YWNobWVudD86IGFueSkge1xuICAgIGNvbnN0IHByZXZpZXdVcmkgPSBhdHRhY2htZW50ICYmIHRoaXMuZ2V0Vmlld2VyKHt1cmlQZGY6IGF0dGFjaG1lbnQucHJldmlld1VyaX0gYXMgUHJldmlld0ZpbGUpLnByZXZpZXdVcmk7XG4gICAgdGhpcy5sb2FkRG9jdW1lbnQocHJldmlld1VyaSB8fCB0aGlzLnByZXZpZXdVcmksIHRydWUpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVZpZXdlcigpIHtcbiAgICB0aGlzLm9wZW4gPSAhIXRoaXMucHJldmlld1VyaTtcbiAgICBpZiAoISF0aGlzLnByZXZpZXdVcmkpIHtcbiAgICAgIHRoaXMubG9hZERvY3VtZW50KHRoaXMucHJldmlld1VyaSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZnJlc2goKSB7XG4gICAgdGhpcy5sb2FkRG9jdW1lbnQodGhpcy5wcmV2aWV3VXJpLCB0cnVlKTtcbiAgfVxuXG4gIGdldE1hdGNoaW5nQ29uZmlnKGZpbGVFeHRlbnNpb24sIG1pbWVUeXBlLCBmaWxlKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tQ29uZmlnLmZpbmQoKGM6IFZpZXdlckNvbmZpZykgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hNVCA9ICFjLm1pbWVUeXBlIHx8ICh0eXBlb2YgYy5taW1lVHlwZSA9PT0gJ3N0cmluZycgPyBbYy5taW1lVHlwZV0gOiBjLm1pbWVUeXBlKS5pbmNsdWRlcyhtaW1lVHlwZT8udG9Mb3dlckNhc2UoKSk7XG4gICAgICBjb25zdCBtYXRjaEZFID0gIWMuZmlsZUV4dGVuc2lvbiB8fCAodHlwZW9mIGMuZmlsZUV4dGVuc2lvbiA9PT0gJ3N0cmluZycgPyBbYy5maWxlRXh0ZW5zaW9uXSA6IGMuZmlsZUV4dGVuc2lvbikuaW5jbHVkZXMoKGZpbGVFeHRlbnNpb24pLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgcmV0dXJuIG1hdGNoTVQgJiYgbWF0Y2hGRSAmJiAoIWMudHlwZSB8fCBjLnR5cGUgPT09ICdkZWZhdWx0JykgJiYgIXRoaXMucGx1Z2luc1NlcnZpY2UuYXBwbHlGdW5jdGlvbihjLmRpc2FibGVkIHx8IGZhbHNlLCAnZG1zT2JqZWN0LCBmaWxlLCBhdmFpbGFibGVTZXJ2aWNlcycsIFt0aGlzLl9kbXNPYmplY3QsIGZpbGUsIHRoaXMucGx1Z2luc1NlcnZpY2UuYXZhaWxhYmxlU2VydmljZXNdKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Vmlld2VyKGZpbGU6IFByZXZpZXdGaWxlKTogYW55IHtcbiAgICBjb25zdCBpc1ZpZGVvID0gISFmaWxlLm1pbWVncm91cD8ubWF0Y2goL15hdWRpb3xedmlkZW8vKTtcbiAgICBjb25zdCBkZWZhdWx0Vmlld2VyID0gaXNWaWRlbyA/IE1lZGlhQ29tcG9uZW50LlZJREVPX1ZJRVdFUiA6IE1lZGlhQ29tcG9uZW50LlBERl9WSUVXRVI7XG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGZpbGUuZmlsZUV4dGVuc2lvbiB8fCAoZmlsZS5wYXRoPy5pbmNsdWRlcygnLicpID8gZmlsZS5wYXRoLnNwbGl0KCcuJykucG9wKCkgOiAnJyk7XG4gICAgY29uc3QgbWltZVR5cGUgPSBmaWxlLm1pbWV0eXBlO1xuICAgIGxldCBjb25maWcgPSB0aGlzLmdldE1hdGNoaW5nQ29uZmlnKGZpbGVFeHRlbnNpb24sIG1pbWVUeXBlLCBmaWxlKTtcbiAgICBjb25zdCBwYXJhbWV0ZXJzID0ge1xuICAgICAgZmlsZSxcbiAgICAgIHBhdGg6IGxvY2F0aW9uLm9yaWdpbiArIGZpbGUudXJpLFxuICAgICAgcGF0aFBkZjogbG9jYXRpb24ub3JpZ2luICsgZmlsZS51cmlQZGYsXG4gICAgICB2aWV3ZXI6IGNvbmZpZz8udmlld2VyIHx8IGRlZmF1bHRWaWV3ZXIsXG4gICAgICBsb2FkOiBjb25maWc/LmxvYWQsXG4gICAgICBmaWxlRXh0ZW5zaW9uLFxuICAgICAgbWltZVR5cGUsXG4gICAgICB0aGVtZTogJycsXG4gICAgICBkZWZhdWx0Vmlld2VyLFxuICAgICAgcHJldmlld1VyaTogJydcbiAgICB9O1xuICAgIHBhcmFtZXRlcnMudmlld2VyID0gdGhpcy5wbHVnaW5zU2VydmljZS5hcHBseUZ1bmN0aW9uKHBhcmFtZXRlcnMudmlld2VyLCAnY29tcG9uZW50LCBkbXNPYmplY3QsIHBhcmFtZXRlcnMnLCBbdGhpcywgdGhpcy5fZG1zT2JqZWN0LCBwYXJhbWV0ZXJzXSkgfHwgZGVmYXVsdFZpZXdlcjtcblxuICAgIGNvbnN0IGV4dGVuZCA9IHRoaXMuY3VzdG9tQ29uZmlnLmZpbmQoKGMpID0+IGMudHlwZSA9PT0gJ2V4dGVuZCcpO1xuICAgIGlmIChleHRlbmQpIHBhcmFtZXRlcnMudmlld2VyID0gdGhpcy5wbHVnaW5zU2VydmljZS5hcHBseUZ1bmN0aW9uKGV4dGVuZC52aWV3ZXIsICdjb21wb25lbnQsIGRtc09iamVjdCwgcGFyYW1ldGVycycsIFt0aGlzLCB0aGlzLl9kbXNPYmplY3QsIHBhcmFtZXRlcnNdKTtcblxuICAgIHBhcmFtZXRlcnMucHJldmlld1VyaSA9IHRoaXMucmVzb2x2ZVVyaShwYXJhbWV0ZXJzLnZpZXdlciwgcGFyYW1ldGVycyk7XG4gICAgcmV0dXJuIHBhcmFtZXRlcnM7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVVcmkodmlld2VyOiBzdHJpbmcsIHBhcmFtZXRlcnM6IGFueSkge1xuICAgIGxldCBvcmlnaW4gPSAnJztcbiAgICBpZiAoIXZpZXdlci5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgIG9yaWdpbiA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB0aGlzLmNvbmZpZy5nZXRSYXcoJ3VyaS5jb250ZXh0UGF0aCcpO1xuICAgICAgaWYgKCFvcmlnaW4uZW5kc1dpdGgoJy8nKSAmJiAhdmlld2VyLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICBvcmlnaW4gKz0gJy8nO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb3JpZ2luICsgdmlld2VyXG4gICAgICAucmVwbGFjZSgnJHtvcmlnaW5hbFBhdGh9JywgcGFyYW1ldGVycy5wYXRoKVxuICAgICAgLnJlcGxhY2UoJyR7cGF0aH0nLCBlbmNvZGVVUklDb21wb25lbnQocGFyYW1ldGVycy5wYXRoKSlcbiAgICAgIC5yZXBsYWNlKCcke3BhdGhQZGZ9JywgZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtZXRlcnMucGF0aFBkZikpXG4gICAgICAucmVwbGFjZSgnJHtmaWxlRXh0ZW5zaW9ufScsIGVuY29kZVVSSUNvbXBvbmVudChwYXJhbWV0ZXJzLmZpbGVFeHRlbnNpb24pKVxuICAgICAgLnJlcGxhY2UoJyR7bWltZVR5cGV9JywgZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtZXRlcnMubWltZVR5cGUpKVxuICAgICAgLnJlcGxhY2UoJyR7dGhlbWV9JywgZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtZXRlcnMudGhlbWUpKVxuICAgICAgLnJlcGxhY2UoJyR7bGFuZ30nLCBDb250ZW50UHJldmlld1NlcnZpY2UubWFwTGFuZyh0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZykpO1xuICB9XG5cbiAgbG9hZERvY3VtZW50KHVyaTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pIHtcbiAgICBpZiAoIWZvcmNlICYmICghdXJpIHx8ICh1cmkgPT09IHRoaXMubGF0ZXN0VXJpKSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5sYXRlc3RVcmkgPSB1cmkgfHwgJyc7XG5cbiAgICBpZiAodGhpcy5wcmV2aWV3VXJpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmlmcmFtZS5uYXRpdmVFbGVtZW50LCAnc3JjJywgdGhpcy5sYXRlc3RVcmkpO1xuICAgICAgY29uc3Qgb25sb2FkID0gKCkgPT4gdGhpcy5wbHVnaW5zU2VydmljZS5hcHBseUZ1bmN0aW9uKHRoaXMudmlld2VyPy5sb2FkLCAnaWZyYW1lLCBjb21wb25lbnQnLCBbdGhpcy5pZnJhbWUubmF0aXZlRWxlbWVudCwgdGhpc10pO1xuICAgICAgdGhpcy5pZnJhbWVJbml0KHRoaXMuaWZyYW1lLm5hdGl2ZUVsZW1lbnQsIHRoaXMudmlld2VyPy5sb2FkICYmIG9ubG9hZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuaWZyYW1lLm5hdGl2ZUVsZW1lbnQsICdzcmMnLCB0aGlzLmxhdGVzdFVyaSk7XG4gICAgICBjb25zdCBvbmxvYWQgPSAoKSA9PiB0aGlzLnBsdWdpbnNTZXJ2aWNlLmFwcGx5RnVuY3Rpb24odGhpcy52aWV3ZXI/LmxvYWQsICdpZnJhbWUsIGNvbXBvbmVudCcsIFt0aGlzLmlmcmFtZS5uYXRpdmVFbGVtZW50LCB0aGlzXSk7XG4gICAgICB0aGlzLmlmcmFtZUluaXQodGhpcy5pZnJhbWUubmF0aXZlRWxlbWVudCwgdGhpcy52aWV3ZXI/LmxvYWQgJiYgb25sb2FkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3VzdG9tIHNlYXJjaCBpbnNpZGUgUERGLkpTIGJhc2VkIG9uIHNlYXJjaCB0ZXJtXG4gICAqIEBwYXJhbSB0ZXJtIHNlYXJjaCB0ZXJtXG4gICAqIEBwYXJhbSB3aW4gaWZyYW1lIHdpbmRvd1xuICAgKi9cbiAgcHJpdmF0ZSBzZWFyY2hQREYodGVybSA9ICcnLCB3aW46IGFueSkge1xuICAgIC8vIHJlbW92ZSBhbGwgc3BlY2lhbCBjaGFyYWN0ZXJzXG4gICAgdGVybSA9ICh0ZXJtIHx8ICcnKS5yZXBsYWNlKC9bXFxcInxcXCpdL2csICcnKS50cmltKCk7XG4gICAgaWYgKHRlcm0gJiYgd2luPy5QREZWaWV3ZXJBcHBsaWNhdGlvbj8uYXBwQ29uZmlnPy5maW5kQmFyKSB7XG4gICAgICB3aW4uUERGVmlld2VyQXBwbGljYXRpb24uYXBwQ29uZmlnLmZpbmRCYXIuZmluZEZpZWxkLnZhbHVlID0gdGVybTtcbiAgICAgIHdpbi5QREZWaWV3ZXJBcHBsaWNhdGlvbi5hcHBDb25maWcuZmluZEJhci5oaWdobGlnaHRBbGxDaGVja2JveC5jaGVja2VkID0gdHJ1ZTtcbiAgICAgIHdpbi5QREZWaWV3ZXJBcHBsaWNhdGlvbi5hcHBDb25maWcuZmluZEJhci5jYXNlU2Vuc2l0aXZlQ2hlY2tib3guY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgLy8gdHJpZ2dlciBmaW5kIGV2ZW50IG9uIHBkZi5qcyBsb2FkXG4gICAgICB3aW4uUERGVmlld2VyQXBwbGljYXRpb24uaW5pdGlhbGl6ZWRQcm9taXNlPy50aGVuKCgpID0+IHdpbi5QREZWaWV3ZXJBcHBsaWNhdGlvbi5maW5kQmFyLmRpc3BhdGNoRXZlbnQoKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcmV2ZW50RHJvcEV2ZW50KHdpbjogYW55KSB7XG4gICAgaWYgKHdpbj8ubG9jYXRpb24/Lm9yaWdpbiA9PT0gd2luZG93LmxvY2F0aW9uLm9yaWdpbikge1xuICAgICAgd2luPy5kb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIChlKSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpKTtcbiAgICAgIC8vIGRpc3BhY2ggZHJhZyAmIGRyb3AgZXZlbnRzIHRvIG1haW4gd2luZG93XG4gICAgICB3aW4/LmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdkcmFnZW50ZXInLCAoZSkgPT4ge1xuICAgICAgICB3aW5kb3cuZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRHJhZ0V2ZW50KCdkcmFnZW50ZXInLCBlKSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gd2luZG93LmRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IERyYWdFdmVudCgnZHJhZ2xlYXZlJywgZSkpLCAxMCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpZnJhbWVJbml0KGlmcmFtZSA9IHRoaXMuaWZyYW1lLCBvbmxvYWQ/OiBGdW5jdGlvbikge1xuICAgIGlmIChpZnJhbWUpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICBpZnJhbWUuX2luaXQgfHwgZnJvbUV2ZW50KGlmcmFtZSwgJ2xvYWQnKVxuICAgICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgd2luID0gdGhpcy5zZXRBcGkoaWZyYW1lKTtcbiAgICAgICAgICBvbmxvYWQgJiYgb25sb2FkKCk7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFBERih0aGlzLnNlYXJjaFRlcm0sIHdpbik7XG4gICAgICAgICAgICB0aGlzLnByZXZlbnREcm9wRXZlbnQod2luKTtcbiAgICAgICAgICB9LCAxMDApO1xuICAgICAgICB9KTtcbiAgICAgIGlmcmFtZS5faW5pdCA9ICEhdGhpcy5zZXRBcGkoaWZyYW1lKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEFwaShpZnJhbWU6IGFueSkge1xuICAgIC8vIHNldCBhcGkgdG8gaWZyYW1lIHdpbmRvd1xuICAgIGNvbnN0IHdpbiA9IGlmcmFtZT8uY29udGVudFdpbmRvdyB8fCBpZnJhbWU7XG4gICAgd2luWydhcGknXSA9IHdpbmRvd1snYXBpJ107XG5cbiAgICAvLyBkaXNhYmxlIGJlZm9yZXVubG9hZCBwb3B1cCAoUmVsb2FkIHNpdGU/IENoYW5nZXMgdGhhdCB5b3UgbWFkZSBtYXkgbm90IGJlIHNhdmVkLilcbiAgICB3aW4uYWRkRXZlbnRMaXN0ZW5lcignYmVmb3JldW5sb2FkJywgKGV2ZW50OiBFdmVudCkgPT4gZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpO1xuXG4gICAgaWYgKHdpblsnYXBpJ10/LmNvbnRlbnQpIHtcbiAgICAgIHdpblsnYXBpJ10uY29udGVudC5yZXNvbHZlVmlld2VyUGFyYW1zID0gKHBhcmFtZXRlcnM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB1cmkgPSBwYXJhbWV0ZXJzLnBhdGgucmVwbGFjZShsb2NhdGlvbi5vcmlnaW4sICcnKTtcbiAgICAgICAgY29uc3Qgdmlld2VyID0gdGhpcy5nZXRWaWV3ZXIoe3VyaSwgbWltZXR5cGU6IHBhcmFtZXRlcnMubWltZVR5cGUsIGZpbGVFeHRlbnNpb246IHBhcmFtZXRlcnMuZmlsZUV4dGVuc2lvbiwgdXJpUGRmOiB1cmksIG1pbWVncm91cDogJycsIHNpemU6IDF9KTtcbiAgICAgICAgcmV0dXJuIHt1cmk6IHZpZXdlci5wcmV2aWV3VXJpIHx8IHBhcmFtZXRlcnMucGF0aH07XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gd2luO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IHcgPSB3aW5kb3dbXCJfcG9wb3V0V2luZG93XCJdO1xuICAgIHRoaXMucG9wb3V0W1wiX3BvcG91dFdpbmRvd1wiXSA9IHdpbmRvd1tcIl9wb3BvdXRXaW5kb3dcIl0gPSAhdyB8fCB3LmNsb3NlZCA/IG51bGwgOiB3O1xuICAgIGlmICh0aGlzLnBvcG91dFtcIl9wb3BvdXRXaW5kb3dcIl0pIHtcbiAgICAgIHcuZG9jdW1lbnQuYm9keS5maXJzdEVsZW1lbnRDaGlsZD8ucmVtb3ZlKCk7XG4gICAgICB0aGlzLnBvcG91dFtcInJlbmRlcmVyMlwiXS5hcHBlbmRDaGlsZCh3LmRvY3VtZW50LmJvZHksIHRoaXMucG9wb3V0W1wiaW5uZXJXcmFwcGVyXCJdLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgdGhpcy5wb3BvdXRbXCJjZFwiXS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB3LmFkZEV2ZW50TGlzdGVuZXIoJ3VubG9hZCcsICgpID0+IHRoaXMucG9wb3V0Py5bXCJfcG9wSW5cIl0oKSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gIH1cblxufVxuIiwiPGRpdiBbaGlkZGVuXT1cIiFvcGVuXCI+XG4gIDwhLS0gYXR0YWNobWVudHMgb3ZlcmxheSAtLT5cbiAgPGRpdiBjbGFzcz1cImF0dGFjaG1lbnRzXCIgKm5nSWY9XCJhdHRhY2htZW50cz8ubGVuZ3RoXCJcbiAgICBbbmdDbGFzc109XCJ7bm90bWFpbjogbGF0ZXN0VXJpICE9PSBwcmV2aWV3VXJpICYmICFhdHRhY2htZW50c1Nob3duLCBhY3RpdmU6IGF0dGFjaG1lbnRzU2hvd259XCJcbiAgICAoZW9PdXRzaWRlQ2xpY2spPVwiYXR0YWNobWVudHNTaG93biA9IGZhbHNlXCI+XG4gICAgPGRpdiBjbGFzcz1cImF0dGFjaG1lbnRzLWxpc3RcIiAqbmdJZj1cImF0dGFjaG1lbnRzU2hvd25cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhdHRhY2htZW50IG1haW5cIiAoY2xpY2spPVwic2VsZWN0QXR0YWNobWVudChudWxsKVwiIFtuZ0NsYXNzXT1cIntjdXJyZW50OiBsYXRlc3RVcmkgPT09IHByZXZpZXdVcml9XCI+e3tkbXNPYmplY3RUaXRsZX19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXR0YWNobWVudFwiICpuZ0Zvcj1cImxldCBhIG9mIGF0dGFjaG1lbnRzXCIgKGNsaWNrKT1cInNlbGVjdEF0dGFjaG1lbnQoYSlcIiBbbmdDbGFzc109XCJ7Y3VycmVudDogbGF0ZXN0VXJpID09PSBhLnByZXZpZXdVcml9XCI+XG4gICAgICAgIHt7YS5uYW1lfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGVvLWljb24gY2xhc3M9XCJidXR0b25cIiBbYmFkZ2VdPVwiYXR0YWNobWVudHM/Lmxlbmd0aFwiIChjbGljayk9XCJhdHRhY2htZW50c1Nob3duID0gIWF0dGFjaG1lbnRzU2hvd25cIlxuICAgICAgW2ljb25TcmNdPVwiYXR0YWNobWVudHNTaG93biA/ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2NsZWFyLnN2ZycgOiAnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hdHRhY2htZW50LnN2ZydcIj48L2VvLWljb24+XG4gIDwvZGl2PlxuXG4gIDx5dmMtcG9wb3V0ICNwb3BvdXRcbiAgW3BvcG91dFdpbmRvd0NvbmZpZ109XCJwb3BvdXRXaW5kb3dDb25maWdcIlxuICBbdHJpZ2dlclBvc2l0aW9uXT1cInBvcG91dFRyaWdnZXJQb3NpdGlvblwiIFt0cmlnZ2VyVG9vbHRpcF09XCIoJ2VvLm9iamVjdC5kZXRhaWxzLmNvbnRlbnQudW5kb2NrJ3wgdHJhbnNsYXRlKVwiIFtkaXNhYmxlZF09XCJ1bmRvY2tEaXNhYmxlZFwiPlxuXG4gICAgPGRpdiBbaGlkZGVuXT1cIiFwcmV2aWV3VXJpXCIgY2xhc3M9XCJwcmV2aWV3LWNvbnRhaW5lclwiIFtzdHlsZS5vdmVyZmxvd109XCInaGlkZGVuJ1wiPlxuICAgICAgPGlmcmFtZSBbaGlkZGVuXT1cImlzVW5kb2NrZWQgfHwgbG9hZGluZ1wiICNpZnJhbWUgaGVpZ2h0PVwiMTAwJVwiIHdpZHRoPVwiMTAwJVwiIGZyYW1lYm9yZGVyPVwiMFwiPjwvaWZyYW1lPlxuICAgICAgPGRpdiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgY2xhc3M9XCJpZnJhbWVfX2xvYWRlclwiPjwvZW8tbG9hZGluZy1zcGlubmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2xpZGVcIiAqbmdJZj1cImlzVW5kb2NrZWRcIj5cbiAgICAgICAgPGVvLWljb24gKm5nSWY9XCJtZWRpYVR5cGVcIiBbb2JqZWN0VHlwZV09XCJtZWRpYVR5cGVcIj48L2VvLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IFtoaWRkZW5dPVwiISFwcmV2aWV3VXJpXCIgY2xhc3M9XCJlbXB0eS1jb250YWluZXJcIj5cbiAgICAgIDxlby1pY29uIGNsYXNzPVwibm9maWxlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfbm8tZmlsZS5zdmcnXCI+PC9lby1pY29uPlxuICAgIDwvZGl2PlxuICA8L3l2Yy1wb3BvdXQ+XG48L2Rpdj5cblxuPGRpdiBbaGlkZGVuXT1cIm9wZW5cIiBjbGFzcz1cImVtcHR5LWNvbnRhaW5lclwiPlxuICA8ZW8taWNvbiBjbGFzcz1cIm5vZmlsZVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX25vLWZpbGUuc3ZnJ1wiPjwvZW8taWNvbj5cbjwvZGl2PlxuIl19
387
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvbWVkaWEvbWVkaWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvbWVkaWEvbWVkaWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWEsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBVWxJLE9BQU8sRUFBQyxlQUFlLEVBQUUscUJBQXFCLEVBQXFCLE1BQU0sMkJBQTJCLENBQUM7QUFDckcsT0FBTyxFQUFDLFNBQVMsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUc3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7O0FBRW5FLGVBQWUsQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHO0lBQ3RDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ3ZELENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNqRCxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQTJCSyxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFjOzthQUVsQixpQkFBWSxHQUFHLHFIQUFxSCxBQUF4SCxDQUF5SDthQUNySSxlQUFVLEdBQUcsa09BQWtPLEFBQXJPLENBQXNPO0lBOEZ2UCxJQUNJLGNBQWMsQ0FBQyxXQUFXO1FBQzVCLElB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QUFDLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbEMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztJQUNYLENBQUM7OEdBOVhVLGNBQWM7a0dBQWQsY0FBYyxzYUFGZCxDQUFDLHFCQUFxQixDQUFDLDJPQzlDcEMsaytEQXNDQTs7QURVYSxjQUFjO0lBUDFCLFlBQVksRUFBRTtHQU9GLGNBQWMsQ0FnWTFCOzsyRkFoWVksY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxVQUFVLGFBR1QsQ0FBQyxxQkFBcUIsQ0FBQztvTkEyQnhCLGdCQUFnQjtzQkFBekIsTUFBTTtnQkE2REUsY0FBYztzQkFBdEIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ3FCLElBQUk7c0JBQTlCLFdBQVc7dUJBQUMsWUFBWTtnQkFFWSxNQUFNO3NCQUExQyxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ0UsTUFBTTtzQkFBMUMsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUcvQixjQUFjO3NCQURqQixLQUFLO3VCQUFDLGFBQWE7Z0JBT2hCLGFBQWE7c0JBRGhCLEtBQUs7dUJBQUMsWUFBWTtnQkFNZixVQUFVO3NCQURiLEtBQUs7Z0JBV0YsV0FBVztzQkFEZCxLQUFLO2dCQWNGLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbmZpZyxcbiAgRG1zT2JqZWN0LFxuICBEbXNPYmplY3RBdHRhY2htZW50LFxuICBEbXNTZXJ2aWNlLFxuICBPYmplY3RUeXBlLFxuICBTeXN0ZW1TZXJ2aWNlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtQb3BvdXRDb21wb25lbnQsIFBvcG91dFRyaWdnZXJQb3NpdGlvbiwgUG9wb3V0V2luZG93Q29uZmlnfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvcG9wb3V0JztcbmltcG9ydCB7ZnJvbUV2ZW50LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGaWxlU2l6ZVBpcGV9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BpcGVzL2ZpbGVzaXplLnBpcGUnO1xuaW1wb3J0IHtQbHVnaW5zU2VydmljZX0gZnJvbSAnLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9hcGkvcGx1Z2lucy5zZXJ2aWNlJztcbmltcG9ydCB7Q29udGVudFByZXZpZXdTZXJ2aWNlfSBmcm9tICcuL2NvbnRlbnQtcHJldmlldy5zZXJ2aWNlJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcblxuUG9wb3V0Q29tcG9uZW50LnByb3RvdHlwZS5uZ09uRGVzdHJveSA9IGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgdyA9IHdpbmRvd1tcIl9wb3BvdXRXaW5kb3dcIl0gPSB0aGlzLl9wb3BvdXRXaW5kb3c7XG4gIHcgJiYgdy5kb2N1bWVudC5ib2R5LmZpcnN0RWxlbWVudENoaWxkPy5yZW1vdmUoKTtcbiAgdGhpcy5fb2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld2VyQ29uZmlnIHtcbiAgbWltZVR5cGU/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgZmlsZUV4dGVuc2lvbj86IHN0cmluZyB8IHN0cmluZ1tdO1xuICB2aWV3ZXI6IHN0cmluZztcbiAgZXJyb3I/OiBib29sZWFuO1xuICB0eXBlPzogJ2NvbXBhcmUnIHwgJ2V4dGVuZCcgfCAnZXJyb3InIHwgJ2RlZmF1bHQnO1xuICBkaXNhYmxlZD86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJldmlld0ZpbGUge1xuICB1cmk6IHN0cmluZztcbiAgdXJpUGRmOiBzdHJpbmc7XG4gIG1pbWV0eXBlOiBzdHJpbmc7XG4gIG1pbWVncm91cDogc3RyaW5nO1xuICBzaXplOiBudW1iZXI7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIGZpbGVFeHRlbnNpb24/OiBzdHJpbmc7XG4gIG1lZGlhVHlwZU5hbWU/OiBzdHJpbmc7XG59XG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLW1lZGlhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lZGlhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVkaWEuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbQ29udGVudFByZXZpZXdTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBNZWRpYUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgc3RhdGljIFZJREVPX1ZJRVdFUiA9ICd2aWV3ZXIvdmlldy9hcGkvdmlkZW8vP3BhdGg9JHtwYXRofSZtaW1lVHlwZT0ke21pbWVUeXBlfSZmaWxlRXh0ZW5zaW9uPSR7ZmlsZUV4dGVuc2lvbn0mbGFuZz0ke2xhbmd9JnRoZW1lPSR7dGhlbWV9JztcbiAgc3RhdGljIFBERl9WSUVXRVIgPSAndmlld2VyL3ZpZXcvYXBpL3BkZi93ZWIvdmlld2VyLmh0bWw/ZmlsZT0mcGF0aD0ke3BhdGh9JnBhdGhQZGY9JHtwYXRoUGRmfSZtaW1lVHlwZT0ke21pbWVUeXBlfSZmaWxlRXh0ZW5zaW9uPSR7ZmlsZUV4dGVuc2lvbn0mbGFuZz0ke2xhbmd9JnRoZW1lPSR7dGhlbWV9JmNzcz0lMjN0b29sYmFyVmlld2VyUmlnaHQlMjAlMjNwcmludCU3QmRpc3BsYXklM0FibG9jayFpbXBvcnRhbnQlM0IlN0QnO1xuXG4gIHByaXZhdGUgU0laRV9MSU1JVCA9IDEwMjQgKiAxMDI0ICogMTA7IC8vIDEwTUJcbiAgcHJpdmF0ZSBwZGZqczogYW55O1xuICBsYXRlc3RVcmk6IHN0cmluZztcbiAgc2xpZGVVcmk6IHN0cmluZztcbiAgdmlld2VyOiBhbnk7XG4gIGRtc09iamVjdFRpdGxlOiBzdHJpbmc7XG4gIHByaXZhdGUgX3ByZXZpZXdVcmk6IHN0cmluZztcbiAgcHJpdmF0ZSBfZG1zT2JqZWN0OiBEbXNPYmplY3Q7XG4gIGZpbGVTaXplUGlwZTogRmlsZVNpemVQaXBlO1xuICBjdXJyZW50SW5kZXg6IG51bWJlcjtcbiAgYXR0YWNobWVudHM6IERtc09iamVjdEF0dGFjaG1lbnRbXSA9IFtdO1xuICBhdHRhY2htZW50c0xvYWRpbmc6IFN1YnNjcmlwdGlvbjtcbiAgYXR0YWNobWVudHNTaG93bjogYm9vbGVhbjtcbiAgc2VhcmNoVGVybTogc3RyaW5nO1xuICBtZWRpYVR5cGU6IE9iamVjdFR5cGU7XG4gIGN1c3RvbUNvbmZpZzogYW55W10gPSBbXTtcblxuICBwb3BvdXRUcmlnZ2VyUG9zaXRpb24gPSBQb3BvdXRUcmlnZ2VyUG9zaXRpb24uQk9UVE9NX1JJR0hUXG4gIHBvcG91dFdpbmRvd0NvbmZpZzogUG9wb3V0V2luZG93Q29uZmlnO1xuXG4gIEBPdXRwdXQoKSBoYXNDb250ZW50TG9hZGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgZGVmYXVsdFZpZXdlcnMgPSBbXG4gICAge1xuICAgICAgXCJtaW1lVHlwZVwiOiBbXCJhcHBsaWNhdGlvbi9qc29uXCIsIFwidGV4dC9qc29uXCIsIFwidGV4dC9wbGFpblwiLCBcInRleHQveG1sXCIsIFwidGV4dC9qYXZhXCIsIFwidGV4dC9qYXZhc2NyaXB0XCIsIFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiLCBcInRleHQvaHRtbFwiLCBcInRleHQvbWFya2Rvd25cIiwgXCJ0ZXh0L3gtd2ViLW1hcmtkb3duXCIsIFwidGV4dC94LW1hcmtkb3duXCJdLFxuICAgICAgXCJ2aWV3ZXJcIjogXCJ2aWV3ZXIvdmlldy9hcGkvbW9uYWNvLz9wYXRoPSR7cGF0aH0mbWltZVR5cGU9JHttaW1lVHlwZX0mZmlsZUV4dGVuc2lvbj0ke2ZpbGVFeHRlbnNpb259Jmxhbmc9JHtsYW5nfSZ0aGVtZT0ke3RoZW1lfVwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm1pbWVUeXBlXCI6IFtcImF1ZGlvL21wM1wiLCBcImF1ZGlvL3dlYm1cIiwgXCJhdWRpby9vZ2dcIiwgXCJhdWRpby9tcGVnXCIsIFwidmlkZW8vbXA0XCIsIFwidmlkZW8vd2VibVwiLCBcInZpZGVvL29nZ1wiLCBcImFwcGxpY2F0aW9uL29nZ1wiXSxcbiAgICAgIFwidmlld2VyXCI6IFwidmlld2VyL3ZpZXcvYXBpL3ZpZGVvLz9wYXRoPSR7cGF0aH0mbWltZVR5cGU9JHttaW1lVHlwZX0mZmlsZUV4dGVuc2lvbj0ke2ZpbGVFeHRlbnNpb259Jmxhbmc9JHtsYW5nfSZ0aGVtZT0ke3RoZW1lfVwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm1pbWVUeXBlXCI6IFtcImltYWdlL3RpZmZcIiwgXCJpbWFnZS9qcGVnXCIsIFwiaW1hZ2UvcG5nXCIsIFwiaW1hZ2UvYXBuZ1wiLCBcImltYWdlL2dpZlwiLCBcImltYWdlL3N2Zyt4bWxcIiwgXCJpbWFnZS93ZWJwXCJdLFxuICAgICAgXCJ2aWV3ZXJcIjogXCJ2aWV3ZXIvdmlldy9hcGkvaW1nLz9wYXRoPSR7cGF0aH0mbWltZVR5cGU9JHttaW1lVHlwZX0mZmlsZUV4dGVuc2lvbj0ke2ZpbGVFeHRlbnNpb259Jmxhbmc9JHtsYW5nfSZ0aGVtZT0ke3RoZW1lfVwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm1pbWVUeXBlXCI6IFtcIm1lc3NhZ2UvcmZjODIyXCIsIFwiYXBwbGljYXRpb24vdm5kLm1zLW91dGxvb2tcIl0sXG4gICAgICBcInZpZXdlclwiOiBcInZpZXdlci92aWV3L2FwaS9tYWlsLz9wYXRoPSR7cGF0aH0mbWltZVR5cGU9JHttaW1lVHlwZX0mZmlsZUV4dGVuc2lvbj0ke2ZpbGVFeHRlbnNpb259Jmxhbmc9JHtsYW5nfSZ0aGVtZT0ke3RoZW1lfVwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImRpc2FibGVkXCI6IFwiKCkgPT4geyByZXR1cm4gYXZhaWxhYmxlU2VydmljZXMuaW5kZXhPZignb2ZmaWNlMzY1JykgPCAwIHx8IGZpbGUudXJpUGRmLm1hdGNoKG5ldyBSZWdFeHAoJ2F0dGFjaG1lbnQ9KFxcXFxcXFxcZCspJykpO31cIiwgLy8gZGlzYWJsZSBvZmZpY2UzNjUgdmlld2VyIGlmIG5vdCBhdmFpbGFibGVcbiAgICAgIFwibWltZVR5cGVcIjogW1xuICAgICAgICBcImFwcGxpY2F0aW9uL21zd29yZFwiLFxuICAgICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50XCIsXG4gICAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdvcmQuZG9jdW1lbnQubWFjcm9FbmFibGVkLjEyXCIsXG4gICAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwudGVtcGxhdGVcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd29yZC50ZW1wbGF0ZS5tYWNyb0VuYWJsZWQuMTJcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWxcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldFwiLFxuICAgICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5tYWNyb0VuYWJsZWQuMTJcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC50ZW1wbGF0ZVwiLFxuICAgICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC50ZW1wbGF0ZS5tYWNyb0VuYWJsZWQuMTJcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQuYmluYXJ5Lm1hY3JvRW5hYmxlZC4xMlwiLFxuICAgICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5hZGRpbi5tYWNyb0VuYWJsZWQuMTJcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludFwiLFxuICAgICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5wcmVzZW50YXRpb25cIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwudGVtcGxhdGVcIixcbiAgICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGVzaG93XCIsXG4gICAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQuYWRkaW4ubWFjcm9FbmFibGVkLjEyXCIsXG4gICAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQucHJlc2VudGF0aW9uLm1hY3JvRW5hYmxlZC4xMlwiLFxuICAgICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LnRlbXBsYXRlLm1hY3JvRW5hYmxlZC4xMlwiLFxuICAgICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LnNsaWRlc2hvdy5tYWNyb0VuYWJsZWQuMTJcIlxuICAgICAgXSxcbiAgICAgIFwidmlld2VyXCI6IFwiKCkgPT4geyB2YXIgY29udGVudCA9IGRtc09iamVjdC5jb250ZW50IHx8IHt9OyB2YXIgaWQgPSBjb250ZW50LmlkIHx8IGRtc09iamVjdC5pZDsgdmFyIHR5cGUgPSBjb250ZW50LnR5cGUgfHwgZG1zT2JqZWN0LnR5cGVOYW1lIHx8ICcnOyB2YXIgaXNMaW5rZWREb2N1bWVudCA9IGRtc09iamVjdC5pZCAhPT0gaWQ7IHJldHVybiBsb2NhdGlvbi5vcmlnaW4gKyAnL2Rhc2hsZXQzNjUvP2lkPScgKyBpZCArICcmdmVyc2lvbj0nICsgKCFpc0xpbmtlZERvY3VtZW50ID8gZG1zT2JqZWN0LnZlcnNpb24gOiAtMSkgKyAnJnR5cGU9JyArIHR5cGUgKyAocGFyYW1ldGVycy5taW1lVHlwZSA/ICcmbWltZVR5cGU9JyArIHBhcmFtZXRlcnMubWltZVR5cGUgOiAnJykgKyAnJmxvY2FsZT0ke2xhbmd9JzsgfVwiXG4gICAgICAvLyBcInZpZXdlclwiOiBcIigpID0+IHsgICAgICAgICAgICBwYXJhbWV0ZXJzLnBhdGggPSBwYXJhbWV0ZXJzLnBhdGgucmVwbGFjZSgnbG9jYWxob3N0OjQyMDAnLCAna29saWJyaXByb2xpYW50Lm9wdGltYWwtc3lzdGVtcy5kZScpOyAgICAgICAgICAgICAgICB2YXIgZWRpdCA9IHRydWU7ICAgICAgICAgICAgICAgIHJldHVybiAnZGFzaGxldDM2NS8/aWQ9JyArIGRtc09iamVjdC5jb250ZW50LmlkICsgKGVkaXQgPyAnJyA6ICdfJyArIGRtc09iamVjdC52ZXJzaW9uKSArICcmdmVyc2lvbj0nICsgZG1zT2JqZWN0LnZlcnNpb24gKyAnJm1pbWVUeXBlPSR7bWltZVR5cGV9JnBhdGg9JHtwYXRofSZmaWxlRXh0ZW5zaW9uPSR7ZmlsZUV4dGVuc2lvbn0mbG9jYWxlPSR7bGFuZ30mYWxsb3dlZEV4dGVuc2lvbnM9ZG9jLGRvY3gseGxzLHhsc3gscHB0LHBwdHgmZWRpdE1vZGU9JyArIGVkaXQgKyAnJmRpc3BsYXlOYW1lPScgKyAnJzsgICAgICAgICAgICB9XCJcblxuICAgIH0sXG4gICAgLy8gT05MWSBhcHBsaWVzIHRvIGxvY2FsaG9zdCBlbnY7IGZpeGVkIGVtYWlsIGNvcnMgZm9yIGxvY2FsaG9zdCB0ZXN0aW5nXG4gICAge1xuICAgICAgXCJ0eXBlXCI6IFwiZXh0ZW5kXCIsXG4gICAgICBcInZpZXdlclwiOiBcIigpID0+IHsgaWYgKHBhcmFtZXRlcnMudmlld2VyLm1hdGNoKCcvdmlldy9hcGkvbWFpbC8nKSAmJiBwYXJhbWV0ZXJzLnBhdGgubWF0Y2goJ2xvY2FsaG9zdCcpKSB7IHZhciBob3N0ID0gJ2xvY2FsaG9zdDo0MjAwJzsgdmFyIGNvcnMgPSAna29saWJyaXByb2xpYW50Lm9wdGltYWwtc3lzdGVtcy5kZSc7IHBhcmFtZXRlcnMucGF0aCA9IHBhcmFtZXRlcnMucGF0aC5yZXBsYWNlKGhvc3QsIGNvcnMpOyByZXR1cm4gcGFyYW1ldGVycy52aWV3ZXIgKyAnJmNvcnM9JyArIGNvcnM7fSByZXR1cm4gcGFyYW1ldGVycy52aWV3ZXI7IH1cIlxuICAgIH0sXG4gICAgLy8gV2UgbmVlZCBhbm90aGVyIHBhdGhQZGYgZm9yIGVtYWlsIGF0dGFjaG1lbnQgZmlsZXMuIFRoaXMgd2lsbCBvbmx5IGNvbWUgaW4gcGxhY2UgaWYgdGhlIG1pbWV0eXBlIGlzIHBkZiBvciBvbmUgb2YgdGhlIG5vdCBzdXBwb3J0ZWQgb25lcy4gKHZpZXdlciBhdHRhY2htZW50cyAmIGFwaSBhdHRhY2htZW50cyBjYW4gYmUgcGFyc2VkIGluIGRpZmZlcmVudCBvcmRlciwgc28gd2UgaGF2ZSB0byBtYXRjaCB0aGVtIGJ5IGZpbGVuYW1lKVxuICAgIHtcInZpZXdlclwiOiBcIigpID0+IHt2YXIgYXR0YWNobWVudCA9IHBhcmFtZXRlcnMucGF0aFBkZi5tYXRjaChuZXcgUmVnRXhwKCdhdHRhY2htZW50PShcXFxcXFxcXGQrKScpKTsgdmFyIGEgPSBhdHRhY2htZW50ICYmIGFwaS5jb250ZW50LnZpZXdlcigpLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpLmNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhW2RhdGEtc3JjJD1cXFwiJyArIGF0dGFjaG1lbnRbMF0gKyAnXFxcIl0nKTsgIHZhciBwYXJhbXMgPSBhICYmIChhcGkuY29udGVudC5hdHRhY2htZW50cyB8fCBbXSkuZmluZChhdHQgPT4gYXBpLnV0aWwuZGVjb2RlSHRtbENoYXJDb2RlcyhhdHQubmFtZSkgPT09IGEuZ2V0QXR0cmlidXRlKCdkYXRhLWZpbGVuYW1lJykpOyBpZihwYXJhbXMgJiYgcGFyYW1zLnByZXZpZXdVcmkpIHsgcGFyYW1ldGVycy5wYXRoUGRmID0gbG9jYXRpb24ub3JpZ2luICsgcGFyYW1zLnByZXZpZXdVcmk7IH0gcmV0dXJuIHBhcmFtZXRlcnMuZGVmYXVsdFZpZXdlcjt9XCJ9LFxuICAgIHtcImVycm9yXCI6IHRydWUsIFwidHlwZVwiOiBcImVycm9yXCIsIFwidmlld2VyXCI6IFwidmlld2VyL3ZpZXcvYXBpL2Vycm9yLz9wYXRoPSR7cGF0aH0mbWltZVR5cGU9JHttaW1lVHlwZX0mZmlsZUV4dGVuc2lvbj0ke2ZpbGVFeHRlbnNpb259Jmxhbmc9JHtsYW5nfSZ0aGVtZT0ke3RoZW1lfVwifVxuICBdO1xuXG4gIGlzVW5kb2NrZWQ6IGJvb2xlYW47XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIHByaXZhdGUgX3ByZXZpZXdGaWxlOiBQcmV2aWV3RmlsZTtcblxuICBASW5wdXQoKSB1bmRvY2tEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGVuYWJsZUNsb3NlQnRuID0gZmFsc2U7XG4gIC8vIGJ5IGRlZmF1bHQsIHRoZSB2aWV3ZXIgaWdub3JlcyB0aGUgdmVyc2lvbiBvZiB0aGUgZG1zIG9iamVjdC4gVGhpcyB3aWxsIGFsd2F5cyBzaG93IHRoZSBsYXRlc3QgdmVyc2lvbi5cbiAgLy8gV2UgbmVlZCB0aGlzIHRvIGJlIGFibGUgdG8gcmVmcmVzaCB0aGUgdmlld2VyIGJlY2F1c2Ugb3RoZXJ3aXNlIHBkZmpzIHdvcmtlciB3aWxsIGZhaWwuXG4gIEBJbnB1dCgpIHVzZVZlcnNpb24gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vcGVuJykgb3BlbjtcblxuICBAVmlld0NoaWxkKCdpZnJhbWUnLCB7c3RhdGljOiB0cnVlfSkgaWZyYW1lO1xuICBAVmlld0NoaWxkKCdwb3BvdXQnLCB7c3RhdGljOiB0cnVlfSkgcG9wb3V0OiBQb3BvdXRDb21wb25lbnQ7XG5cbiAgQElucHV0KCdhdHRhY2htZW50cycpXG4gIHNldCBzZXRBdHRhY2htZW50cyhhdHRhY2htZW50cykge1xuICAgIHRoaXMuYXR0YWNobWVudHMgPSBhdHRhY2htZW50cztcbiAgICB0aGlzLmF0dGFjaG1lbnRzU2hvd24gPSBmYWxzZTtcbiAgfVxuXG4gIEBJbnB1dCgnc2VhcmNoVGVybScpXG4gIHNldCBzZXRTZWFyY2hUZXJtKHNlYXJjaFRlcm0pIHtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSBzZWFyY2hUZXJtIHx8ICcnO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHByZXZpZXdVcmkodXJpOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wcmV2aWV3VXJpID0gdXJpO1xuICAgIHRoaXMudG9nZ2xlVmlld2VyKCk7XG4gIH1cblxuICBnZXQgcHJldmlld1VyaSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcHJldmlld1VyaTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBwcmV2aWV3RmlsZShmaWxlOiBQcmV2aWV3RmlsZSkge1xuICAgIHRoaXMuX3ByZXZpZXdGaWxlID0gZmlsZTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgdGhpcy5zZXR1cFZpZXdlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByZXZpZXdVcmkgPSAnJztcbiAgICAgIHRoaXMucG9wb3V0V2luZG93Q29uZmlnID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLl9zZXRQb3BvdXRXaW5kb3dDb25maWcoIWZpbGUpO1xuICAgIHRoaXMuaGFzQ29udGVudExvYWRlZC5lbWl0KHRydWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRtc09iamVjdChpdGVtOiBEbXNPYmplY3QpIHtcbiAgICBpZiAoIWl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fZG1zT2JqZWN0ID0gaXRlbTtcbiAgICB0aGlzLmRtc09iamVjdFRpdGxlID0gaXRlbS50aXRsZSB8fCAnLi4uJztcbiAgICB0aGlzLnNldEF0dGFjaG1lbnRzID0gW107XG4gICAgaWYgKHRoaXMuYXR0YWNobWVudHNMb2FkaW5nKSB7XG4gICAgICAvLyBjYW5jZWwgYW55IHBlbmRpbmcgcmVxdWVzdHNcbiAgICAgIHRoaXMuYXR0YWNobWVudHNMb2FkaW5nLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmIChpdGVtLmNvbnRlbnQgJiYgaXRlbS5jb250ZW50LmNvbnRlbnRzICYmIGl0ZW0uY29udGVudC5jb250ZW50cy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGZpbGUgPSBpdGVtLmNvbnRlbnQuY29udGVudHNbMF0gfHwge307XG5cbiAgICAgIHRoaXMucHJldmlld0ZpbGUgPSB7XG4gICAgICAgIHVyaTogdGhpcy5kbXMuZ2V0UHJldmlldyhpdGVtLmNvbnRlbnQuaWQsIGl0ZW0uY29udGVudC50eXBlLCB0aGlzLnVzZVZlcnNpb24gPyBpdGVtLnZlcnNpb24gOiBudWxsLCB1bmRlZmluZWQsIHRydWUpLFxuICAgICAgICB1cmlQZGY6IHRoaXMuZG1zLmdldFByZXZpZXcoaXRlbS5jb250ZW50LmlkLCBpdGVtLmNvbnRlbnQudHlwZSwgdGhpcy51c2VWZXJzaW9uID8gaXRlbS52ZXJzaW9uIDogbnVsbCwgJ1BERicsIHRydWUpLFxuICAgICAgICBtaW1ldHlwZTogZmlsZS5taW1ldHlwZSxcbiAgICAgICAgbWltZWdyb3VwOiBmaWxlLm1pbWVncm91cCxcbiAgICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgICBwYXRoOiBmaWxlLnBhdGgsXG4gICAgICAgIG1lZGlhVHlwZU5hbWU6IGl0ZW0udHlwZU5hbWVcbiAgICAgIH07XG4gICAgICB0aGlzLnNldHVwVmlld2VyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJldmlld1VyaSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkbXM6IERtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWcsXG4gICAgcHJpdmF0ZSBwbHVnaW5zU2VydmljZTogUGx1Z2luc1NlcnZpY2VcbiAgICApIHtcbiAgICB0aGlzLlNJWkVfTElNSVQgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ3ByZXZpZXcuZmlsZVNpemVMaW1pdCcpIHx8IHRoaXMuU0laRV9MSU1JVDtcbiAgICB0aGlzLmN1c3RvbUNvbmZpZyA9ICh0aGlzLmNvbmZpZy5nZXRSYXcoJ3ByZXZpZXcudmlld2VycycpIHx8IFtdKS5jb25jYXQodGhpcy5kZWZhdWx0Vmlld2Vycyk7XG5cbiAgICB0aGlzLnBsdWdpbnNTZXJ2aWNlLmFwaS5jb250ZW50LmNhdGNoRXJyb3IoKS5zdWJzY3JpYmUoKGV2dDogYW55KSA9PiB7XG4gICAgICBjb25zdCB7ZXJyLCB3aW4sIHBhcmFtZXRlcnN9ID0gZXZ0LmRhdGE7XG4gICAgICBjb25zdCB1cmkgPSB0aGlzLnBsdWdpbnNTZXJ2aWNlLmFwcGx5RnVuY3Rpb24odGhpcy5jdXN0b21Db25maWc/LmZpbmQoKHYpID0+IHYuZXJyb3IpPy52aWV3ZXIsICdhcGksIGVyciwgd2luLCBwYXJhbWV0ZXJzJywgW1xuICAgICAgICB0aGlzLnBsdWdpbnNTZXJ2aWNlLmFwaSxcbiAgICAgICAgZXJyLFxuICAgICAgICB3aW4sXG4gICAgICAgIHBhcmFtZXRlcnNcbiAgICAgIF0pO1xuICAgICAgdXJpICYmIHdpbiAmJiAod2luLmxvY2F0aW9uLmhyZWYgPSB0aGlzLnJlc29sdmVVcmkodXJpLCBwYXJhbWV0ZXJzKSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwVmlld2VyKCkge1xuICAgIGlmICghdGhpcy5fcHJldmlld0ZpbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnBsdWdpbnNTZXJ2aWNlLmlzUmVhZHkub2JzZXJ2ZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnBsdWdpbnNTZXJ2aWNlLmlzUmVhZHkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0dXBWaWV3ZXIoKSk7XG4gICAgfVxuICAgIHRoaXMudmlld2VyID0gdGhpcy5nZXRWaWV3ZXIodGhpcy5fcHJldmlld0ZpbGUpO1xuICAgIHRoaXMubWVkaWFUeXBlID0gdGhpcy5fcHJldmlld0ZpbGUubWVkaWFUeXBlTmFtZSAmJiB0aGlzLnN5c3RlbS5nZXRPYmplY3RUeXBlKHRoaXMuX3ByZXZpZXdGaWxlLm1lZGlhVHlwZU5hbWUpO1xuICAgIHRoaXMucHJldmlld1VyaSA9IHRoaXMudmlld2VyLnByZXZpZXdVcmk7XG4gICAgaWYgKHRoaXMuX2Rtc09iamVjdD8uY29udGVudCkge1xuICAgICAgaWYgKCEhdGhpcy5fcHJldmlld0ZpbGUubWltZWdyb3VwPy5tYXRjaCgvXm1haWx8b2N0ZXQtc3RyZWFtLykgJiYgdGhpcy52aWV3ZXIudmlld2VyLm1hdGNoKCcvdmlldy9hcGkvcGRmLycpKSB7XG4gICAgICAgIHRoaXMuc2xpZGVVcmkgPSB0aGlzLmRtcy5nZXRTbGlkZSh0aGlzLl9kbXNPYmplY3QuY29udGVudC5pZCwgdGhpcy5fZG1zT2JqZWN0LmNvbnRlbnQudHlwZSwgdGhpcy51c2VWZXJzaW9uID8gdGhpcy5fZG1zT2JqZWN0LnZlcnNpb24gOiBudWxsLCAyNTYpO1xuICAgICAgICB0aGlzLmF0dGFjaG1lbnRzTG9hZGluZyA9IHRoaXMuZG1zLmdldEF0dGFjaG1lbnRzKHRoaXMuX2Rtc09iamVjdCkuc3Vic2NyaWJlKGEgPT4gdGhpcy5zZXRBdHRhY2htZW50cyA9IGEpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudmlld2VyLnZpZXdlci5tYXRjaCgnL3ZpZXcvYXBpL21haWwvJykpIHtcbiAgICAgICAgdGhpcy5kbXMuZ2V0QXR0YWNobWVudHModGhpcy5fZG1zT2JqZWN0KS5zdWJzY3JpYmUoYSA9PiB7XG4gICAgICAgICAgd2luZG93LmFwaS5jb250ZW50LmF0dGFjaG1lbnRzID0gYTtcbiAgICAgICAgICB0aGlzLnNldEF0dGFjaG1lbnRzID0gYTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0UG9wb3V0V2luZG93Q29uZmlnKHJlc2V0PzogYm9vbGVhbikge1xuICAgIGNvbnN0IHdpbkluc2V0ID0gMjA7XG4gICAgdGhpcy5wb3BvdXRXaW5kb3dDb25maWcgPSAhcmVzZXQgPyB7XG4gICAgICB0aXRsZTogdGhpcy5kbXNPYmplY3RUaXRsZSxcbiAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgIGJsb2NrU3RhcnQ6IHdpbkluc2V0LFxuICAgICAgICBpbmxpbmVTdGFydDogd2luZG93LnNjcmVlbi53aWR0aCAvIDJcbiAgICAgIH0sIHNpemU6IHtcbiAgICAgICAgd2lkdGg6IHdpbmRvdy5zY3JlZW4ud2lkdGggLyAyIC0gd2luSW5zZXQsXG4gICAgICAgIGhlaWdodDogd2luZG93LnNjcmVlbi5oZWlnaHQgLSB3aW5JbnNldCAqIDIsXG4gICAgICB9XG4gICAgfSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNlbGVjdEF0dGFjaG1lbnQoYXR0YWNobWVudD86IGFueSkge1xuICAgIGNvbnN0IHByZXZpZXdVcmkgPSBhdHRhY2htZW50ICYmIHRoaXMuZ2V0Vmlld2VyKHt1cmlQZGY6IGF0dGFjaG1lbnQucHJldmlld1VyaX0gYXMgUHJldmlld0ZpbGUpLnByZXZpZXdVcmk7XG4gICAgdGhpcy5sb2FkRG9jdW1lbnQocHJldmlld1VyaSB8fCB0aGlzLnByZXZpZXdVcmksIHRydWUpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVZpZXdlcigpIHtcbiAgICB0aGlzLm9wZW4gPSAhIXRoaXMucHJldmlld1VyaTtcbiAgICBpZiAoISF0aGlzLnByZXZpZXdVcmkpIHtcbiAgICAgIHRoaXMubG9hZERvY3VtZW50KHRoaXMucHJldmlld1VyaSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZnJlc2goKSB7XG4gICAgdGhpcy5sb2FkRG9jdW1lbnQodGhpcy5wcmV2aWV3VXJpLCB0cnVlKTtcbiAgfVxuXG4gIGdldE1hdGNoaW5nQ29uZmlnKGZpbGVFeHRlbnNpb24sIG1pbWVUeXBlLCBmaWxlKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tQ29uZmlnLmZpbmQoKGM6IFZpZXdlckNvbmZpZykgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hNVCA9ICFjLm1pbWVUeXBlIHx8ICh0eXBlb2YgYy5taW1lVHlwZSA9PT0gJ3N0cmluZycgPyBbYy5taW1lVHlwZV0gOiBjLm1pbWVUeXBlKS5pbmNsdWRlcyhtaW1lVHlwZT8udG9Mb3dlckNhc2UoKSk7XG4gICAgICBjb25zdCBtYXRjaEZFID0gIWMuZmlsZUV4dGVuc2lvbiB8fCAodHlwZW9mIGMuZmlsZUV4dGVuc2lvbiA9PT0gJ3N0cmluZycgPyBbYy5maWxlRXh0ZW5zaW9uXSA6IGMuZmlsZUV4dGVuc2lvbikuaW5jbHVkZXMoKGZpbGVFeHRlbnNpb24pLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgcmV0dXJuIG1hdGNoTVQgJiYgbWF0Y2hGRSAmJiAoIWMudHlwZSB8fCBjLnR5cGUgPT09ICdkZWZhdWx0JykgJiYgIXRoaXMucGx1Z2luc1NlcnZpY2UuYXBwbHlGdW5jdGlvbihjLmRpc2FibGVkIHx8IGZhbHNlLCAnZG1zT2JqZWN0LCBmaWxlLCBhdmFpbGFibGVTZXJ2aWNlcycsIFt0aGlzLl9kbXNPYmplY3QsIGZpbGUsIHRoaXMucGx1Z2luc1NlcnZpY2UuYXZhaWxhYmxlU2VydmljZXNdKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Vmlld2VyKGZpbGU6IFByZXZpZXdGaWxlKTogYW55IHtcbiAgICBjb25zdCBpc1ZpZGVvID0gISFmaWxlLm1pbWVncm91cD8ubWF0Y2goL15hdWRpb3xedmlkZW8vKTtcbiAgICBjb25zdCBkZWZhdWx0Vmlld2VyID0gaXNWaWRlbyA/IE1lZGlhQ29tcG9uZW50LlZJREVPX1ZJRVdFUiA6IE1lZGlhQ29tcG9uZW50LlBERl9WSUVXRVI7XG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGZpbGUuZmlsZUV4dGVuc2lvbiB8fCAoZmlsZS5wYXRoPy5pbmNsdWRlcygnLicpID8gZmlsZS5wYXRoLnNwbGl0KCcuJykucG9wKCkgOiAnJyk7XG4gICAgY29uc3QgbWltZVR5cGUgPSBmaWxlLm1pbWV0eXBlO1xuICAgIGxldCBjb25maWcgPSB0aGlzLmdldE1hdGNoaW5nQ29uZmlnKGZpbGVFeHRlbnNpb24sIG1pbWVUeXBlLCBmaWxlKTtcbiAgICBjb25zdCBwYXJhbWV0ZXJzID0ge1xuICAgICAgZmlsZSxcbiAgICAgIHBhdGg6IGxvY2F0aW9uLm9yaWdpbiArIGZpbGUudXJpLFxuICAgICAgcGF0aFBkZjogbG9jYXRpb24ub3JpZ2luICsgZmlsZS51cmlQZGYsXG4gICAgICB2aWV3ZXI6IGNvbmZpZz8udmlld2VyIHx8IGRlZmF1bHRWaWV3ZXIsXG4gICAgICBsb2FkOiBjb25maWc/LmxvYWQsXG4gICAgICBmaWxlRXh0ZW5zaW9uLFxuICAgICAgbWltZVR5cGUsXG4gICAgICB0aGVtZTogJycsXG4gICAgICBkZWZhdWx0Vmlld2VyLFxuICAgICAgcHJldmlld1VyaTogJydcbiAgICB9O1xuICAgIHBhcmFtZXRlcnMudmlld2VyID0gdGhpcy5wbHVnaW5zU2VydmljZS5hcHBseUZ1bmN0aW9uKHBhcmFtZXRlcnMudmlld2VyLCAnY29tcG9uZW50LCBkbXNPYmplY3QsIHBhcmFtZXRlcnMnLCBbdGhpcywgdGhpcy5fZG1zT2JqZWN0LCBwYXJhbWV0ZXJzXSkgfHwgZGVmYXVsdFZpZXdlcjtcblxuICAgIGNvbnN0IGV4dGVuZCA9IHRoaXMuY3VzdG9tQ29uZmlnLmZpbmQoKGMpID0+IGMudHlwZSA9PT0gJ2V4dGVuZCcpO1xuICAgIGlmIChleHRlbmQpIHBhcmFtZXRlcnMudmlld2VyID0gdGhpcy5wbHVnaW5zU2VydmljZS5hcHBseUZ1bmN0aW9uKGV4dGVuZC52aWV3ZXIsICdjb21wb25lbnQsIGRtc09iamVjdCwgcGFyYW1ldGVycycsIFt0aGlzLCB0aGlzLl9kbXNPYmplY3QsIHBhcmFtZXRlcnNdKTtcblxuICAgIHBhcmFtZXRlcnMucHJldmlld1VyaSA9IHRoaXMucmVzb2x2ZVVyaShwYXJhbWV0ZXJzLnZpZXdlciwgcGFyYW1ldGVycyk7XG4gICAgcmV0dXJuIHBhcmFtZXRlcnM7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVVcmkodmlld2VyOiBzdHJpbmcsIHBhcmFtZXRlcnM6IGFueSkge1xuICAgIGxldCBvcmlnaW4gPSAnJztcbiAgICBpZiAoIXZpZXdlci5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgIG9yaWdpbiA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB0aGlzLmNvbmZpZy5nZXRSYXcoJ3VyaS5jb250ZXh0UGF0aCcpO1xuICAgICAgaWYgKCFvcmlnaW4uZW5kc1dpdGgoJy8nKSAmJiAhdmlld2VyLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICBvcmlnaW4gKz0gJy8nO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb3JpZ2luICsgdmlld2VyXG4gICAgICAucmVwbGFjZSgnJHtvcmlnaW5hbFBhdGh9JywgcGFyYW1ldGVycy5wYXRoKVxuICAgICAgLnJlcGxhY2UoJyR7cGF0aH0nLCBlbmNvZGVVUklDb21wb25lbnQocGFyYW1ldGVycy5wYXRoKSlcbiAgICAgIC5yZXBsYWNlKCcke3BhdGhQZGZ9JywgZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtZXRlcnMucGF0aFBkZikpXG4gICAgICAucmVwbGFjZSgnJHtmaWxlRXh0ZW5zaW9ufScsIGVuY29kZVVSSUNvbXBvbmVudChwYXJhbWV0ZXJzLmZpbGVFeHRlbnNpb24pKVxuICAgICAgLnJlcGxhY2UoJyR7bWltZVR5cGV9JywgZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtZXRlcnMubWltZVR5cGUpKVxuICAgICAgLnJlcGxhY2UoJyR7dGhlbWV9JywgZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtZXRlcnMudGhlbWUpKVxuICAgICAgLnJlcGxhY2UoJyR7bGFuZ30nLCBDb250ZW50UHJldmlld1NlcnZpY2UubWFwTGFuZyh0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZykpO1xuICB9XG5cbiAgbG9hZERvY3VtZW50KHVyaTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pIHtcbiAgICBpZiAoIWZvcmNlICYmICghdXJpIHx8ICh1cmkgPT09IHRoaXMubGF0ZXN0VXJpKSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5sYXRlc3RVcmkgPSB1cmkgfHwgJyc7XG5cbiAgICBpZiAodGhpcy5wcmV2aWV3VXJpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmlmcmFtZS5uYXRpdmVFbGVtZW50LCAnc3JjJywgdGhpcy5sYXRlc3RVcmkpO1xuICAgICAgY29uc3Qgb25sb2FkID0gKCkgPT4gdGhpcy5wbHVnaW5zU2VydmljZS5hcHBseUZ1bmN0aW9uKHRoaXMudmlld2VyPy5sb2FkLCAnaWZyYW1lLCBjb21wb25lbnQnLCBbdGhpcy5pZnJhbWUubmF0aXZlRWxlbWVudCwgdGhpc10pO1xuICAgICAgdGhpcy5pZnJhbWVJbml0KHRoaXMuaWZyYW1lLm5hdGl2ZUVsZW1lbnQsIHRoaXMudmlld2VyPy5sb2FkICYmIG9ubG9hZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuaWZyYW1lLm5hdGl2ZUVsZW1lbnQsICdzcmMnLCB0aGlzLmxhdGVzdFVyaSk7XG4gICAgICBjb25zdCBvbmxvYWQgPSAoKSA9PiB0aGlzLnBsdWdpbnNTZXJ2aWNlLmFwcGx5RnVuY3Rpb24odGhpcy52aWV3ZXI/LmxvYWQsICdpZnJhbWUsIGNvbXBvbmVudCcsIFt0aGlzLmlmcmFtZS5uYXRpdmVFbGVtZW50LCB0aGlzXSk7XG4gICAgICB0aGlzLmlmcmFtZUluaXQodGhpcy5pZnJhbWUubmF0aXZlRWxlbWVudCwgdGhpcy52aWV3ZXI/LmxvYWQgJiYgb25sb2FkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3VzdG9tIHNlYXJjaCBpbnNpZGUgUERGLkpTIGJhc2VkIG9uIHNlYXJjaCB0ZXJtXG4gICAqIEBwYXJhbSB0ZXJtIHNlYXJjaCB0ZXJtXG4gICAqIEBwYXJhbSB3aW4gaWZyYW1lIHdpbmRvd1xuICAgKi9cbiAgcHJpdmF0ZSBzZWFyY2hQREYodGVybSA9ICcnLCB3aW46IGFueSkge1xuICAgIC8vIHJlbW92ZSBhbGwgc3BlY2lhbCBjaGFyYWN0ZXJzXG4gICAgdGVybSA9ICh0ZXJtIHx8ICcnKS5yZXBsYWNlKC9bXFxcInxcXCpdL2csICcnKS50cmltKCk7XG4gICAgaWYgKHRlcm0gJiYgd2luPy5QREZWaWV3ZXJBcHBsaWNhdGlvbj8uYXBwQ29uZmlnPy5maW5kQmFyKSB7XG4gICAgICB3aW4uUERGVmlld2VyQXBwbGljYXRpb24uYXBwQ29uZmlnLmZpbmRCYXIuZmluZEZpZWxkLnZhbHVlID0gdGVybTtcbiAgICAgIHdpbi5QREZWaWV3ZXJBcHBsaWNhdGlvbi5hcHBDb25maWcuZmluZEJhci5oaWdobGlnaHRBbGxDaGVja2JveC5jaGVja2VkID0gdHJ1ZTtcbiAgICAgIHdpbi5QREZWaWV3ZXJBcHBsaWNhdGlvbi5hcHBDb25maWcuZmluZEJhci5jYXNlU2Vuc2l0aXZlQ2hlY2tib3guY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgLy8gdHJpZ2dlciBmaW5kIGV2ZW50IG9uIHBkZi5qcyBsb2FkXG4gICAgICB3aW4uUERGVmlld2VyQXBwbGljYXRpb24uaW5pdGlhbGl6ZWRQcm9taXNlPy50aGVuKCgpID0+IHdpbi5QREZWaWV3ZXJBcHBsaWNhdGlvbi5maW5kQmFyLmRpc3BhdGNoRXZlbnQoKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcmV2ZW50RHJvcEV2ZW50KHdpbjogYW55KSB7XG4gICAgaWYgKHdpbj8ubG9jYXRpb24/Lm9yaWdpbiA9PT0gd2luZG93LmxvY2F0aW9uLm9yaWdpbikge1xuICAgICAgd2luPy5kb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIChlKSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpKTtcbiAgICAgIC8vIGRpc3BhY2ggZHJhZyAmIGRyb3AgZXZlbnRzIHRvIG1haW4gd2luZG93XG4gICAgICB3aW4/LmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdkcmFnZW50ZXInLCAoZSkgPT4ge1xuICAgICAgICB3aW5kb3cuZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRHJhZ0V2ZW50KCdkcmFnZW50ZXInLCBlKSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gd2luZG93LmRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IERyYWdFdmVudCgnZHJhZ2xlYXZlJywgZSkpLCAxMCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpZnJhbWVJbml0KGlmcmFtZSA9IHRoaXMuaWZyYW1lLCBvbmxvYWQ/OiBGdW5jdGlvbikge1xuICAgIGlmIChpZnJhbWUpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICBpZnJhbWUuX2luaXQgfHwgZnJvbUV2ZW50KGlmcmFtZSwgJ2xvYWQnKVxuICAgICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgd2luID0gdGhpcy5zZXRBcGkoaWZyYW1lKTtcbiAgICAgICAgICBvbmxvYWQgJiYgb25sb2FkKCk7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFBERih0aGlzLnNlYXJjaFRlcm0sIHdpbik7XG4gICAgICAgICAgICB0aGlzLnByZXZlbnREcm9wRXZlbnQod2luKTtcbiAgICAgICAgICB9LCAxMDApO1xuICAgICAgICB9KTtcbiAgICAgIGlmcmFtZS5faW5pdCA9ICEhdGhpcy5zZXRBcGkoaWZyYW1lKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEFwaShpZnJhbWU6IGFueSkge1xuICAgIC8vIHNldCBhcGkgdG8gaWZyYW1lIHdpbmRvd1xuICAgIGNvbnN0IHdpbiA9IGlmcmFtZT8uY29udGVudFdpbmRvdyB8fCBpZnJhbWU7XG4gICAgd2luWydhcGknXSA9IHdpbmRvd1snYXBpJ107XG5cbiAgICAvLyBkaXNhYmxlIGJlZm9yZXVubG9hZCBwb3B1cCAoUmVsb2FkIHNpdGU/IENoYW5nZXMgdGhhdCB5b3UgbWFkZSBtYXkgbm90IGJlIHNhdmVkLilcbiAgICB3aW4uYWRkRXZlbnRMaXN0ZW5lcignYmVmb3JldW5sb2FkJywgKGV2ZW50OiBFdmVudCkgPT4gZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpO1xuXG4gICAgaWYgKHdpblsnYXBpJ10/LmNvbnRlbnQpIHtcbiAgICAgIHdpblsnYXBpJ10uY29udGVudC5yZXNvbHZlVmlld2VyUGFyYW1zID0gKHBhcmFtZXRlcnM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB1cmkgPSBwYXJhbWV0ZXJzLnBhdGgucmVwbGFjZShsb2NhdGlvbi5vcmlnaW4sICcnKTtcbiAgICAgICAgY29uc3Qgdmlld2VyID0gdGhpcy5nZXRWaWV3ZXIoe3VyaSwgbWltZXR5cGU6IHBhcmFtZXRlcnMubWltZVR5cGUsIGZpbGVFeHRlbnNpb246IHBhcmFtZXRlcnMuZmlsZUV4dGVuc2lvbiwgdXJpUGRmOiB1cmksIG1pbWVncm91cDogJycsIHNpemU6IDF9KTtcbiAgICAgICAgcmV0dXJuIHt1cmk6IHZpZXdlci5wcmV2aWV3VXJpIHx8IHBhcmFtZXRlcnMucGF0aH07XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gd2luO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IHcgPSB3aW5kb3dbXCJfcG9wb3V0V2luZG93XCJdO1xuICAgIHRoaXMucG9wb3V0W1wiX3BvcG91dFdpbmRvd1wiXSA9IHdpbmRvd1tcIl9wb3BvdXRXaW5kb3dcIl0gPSAhdyB8fCB3LmNsb3NlZCA/IG51bGwgOiB3O1xuICAgIGlmICh0aGlzLnBvcG91dFtcIl9wb3BvdXRXaW5kb3dcIl0pIHtcbiAgICAgIHcuZG9jdW1lbnQuYm9keS5maXJzdEVsZW1lbnRDaGlsZD8ucmVtb3ZlKCk7XG4gICAgICB0aGlzLnBvcG91dFtcInJlbmRlcmVyMlwiXS5hcHBlbmRDaGlsZCh3LmRvY3VtZW50LmJvZHksIHRoaXMucG9wb3V0W1wiaW5uZXJXcmFwcGVyXCJdLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgdGhpcy5wb3BvdXRbXCJjZFwiXS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB3LmFkZEV2ZW50TGlzdGVuZXIoJ3VubG9hZCcsICgpID0+IHRoaXMucG9wb3V0Py5bXCJfcG9wSW5cIl0oKSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gIH1cblxufVxuIiwiPGRpdiBbaGlkZGVuXT1cIiFvcGVuXCI+XG4gIDwhLS0gYXR0YWNobWVudHMgb3ZlcmxheSAtLT5cbiAgPGRpdiBjbGFzcz1cImF0dGFjaG1lbnRzXCIgKm5nSWY9XCJhdHRhY2htZW50cz8ubGVuZ3RoXCJcbiAgICBbbmdDbGFzc109XCJ7bm90bWFpbjogbGF0ZXN0VXJpICE9PSBwcmV2aWV3VXJpICYmICFhdHRhY2htZW50c1Nob3duLCBhY3RpdmU6IGF0dGFjaG1lbnRzU2hvd259XCJcbiAgICAoZW9PdXRzaWRlQ2xpY2spPVwiYXR0YWNobWVudHNTaG93biA9IGZhbHNlXCI+XG4gICAgPGRpdiBjbGFzcz1cImF0dGFjaG1lbnRzLWxpc3RcIiAqbmdJZj1cImF0dGFjaG1lbnRzU2hvd25cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhdHRhY2htZW50IG1haW5cIiAoY2xpY2spPVwic2VsZWN0QXR0YWNobWVudChudWxsKVwiIFtuZ0NsYXNzXT1cIntjdXJyZW50OiBsYXRlc3RVcmkgPT09IHByZXZpZXdVcml9XCI+e3tkbXNPYmplY3RUaXRsZX19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXR0YWNobWVudFwiICpuZ0Zvcj1cImxldCBhIG9mIGF0dGFjaG1lbnRzXCIgKGNsaWNrKT1cInNlbGVjdEF0dGFjaG1lbnQoYSlcIiBbbmdDbGFzc109XCJ7Y3VycmVudDogbGF0ZXN0VXJpID09PSBhLnByZXZpZXdVcml9XCI+XG4gICAgICAgIHt7YS5uYW1lfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGVvLWljb24gY2xhc3M9XCJidXR0b25cIiBbYmFkZ2VdPVwiYXR0YWNobWVudHM/Lmxlbmd0aFwiIChjbGljayk9XCJhdHRhY2htZW50c1Nob3duID0gIWF0dGFjaG1lbnRzU2hvd25cIlxuICAgICAgW2ljb25TcmNdPVwiYXR0YWNobWVudHNTaG93biA/ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2NsZWFyLnN2ZycgOiAnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hdHRhY2htZW50LnN2ZydcIj48L2VvLWljb24+XG4gIDwvZGl2PlxuXG4gIDx5dmMtcG9wb3V0ICNwb3BvdXRcbiAgW3BvcG91dFdpbmRvd0NvbmZpZ109XCJwb3BvdXRXaW5kb3dDb25maWdcIlxuICBbdHJpZ2dlclBvc2l0aW9uXT1cInBvcG91dFRyaWdnZXJQb3NpdGlvblwiIFt0cmlnZ2VyVG9vbHRpcF09XCIoJ2VvLm9iamVjdC5kZXRhaWxzLmNvbnRlbnQudW5kb2NrJ3wgdHJhbnNsYXRlKVwiIFtkaXNhYmxlZF09XCJ1bmRvY2tEaXNhYmxlZFwiPlxuXG4gICAgPGRpdiBbaGlkZGVuXT1cIiFwcmV2aWV3VXJpXCIgY2xhc3M9XCJwcmV2aWV3LWNvbnRhaW5lclwiIFtzdHlsZS5vdmVyZmxvd109XCInaGlkZGVuJ1wiPlxuICAgICAgPGlmcmFtZSBbaGlkZGVuXT1cImlzVW5kb2NrZWQgfHwgbG9hZGluZ1wiICNpZnJhbWUgaGVpZ2h0PVwiMTAwJVwiIHdpZHRoPVwiMTAwJVwiIGZyYW1lYm9yZGVyPVwiMFwiPjwvaWZyYW1lPlxuICAgICAgPGRpdiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgY2xhc3M9XCJpZnJhbWVfX2xvYWRlclwiPjwvZW8tbG9hZGluZy1zcGlubmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2xpZGVcIiAqbmdJZj1cImlzVW5kb2NrZWRcIj5cbiAgICAgICAgPGVvLWljb24gKm5nSWY9XCJtZWRpYVR5cGVcIiBbb2JqZWN0VHlwZV09XCJtZWRpYVR5cGVcIj48L2VvLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IFtoaWRkZW5dPVwiISFwcmV2aWV3VXJpXCIgY2xhc3M9XCJlbXB0eS1jb250YWluZXJcIj5cbiAgICAgIDxlby1pY29uIGNsYXNzPVwibm9maWxlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfbm8tZmlsZS5zdmcnXCI+PC9lby1pY29uPlxuICAgIDwvZGl2PlxuICA8L3l2Yy1wb3BvdXQ+XG48L2Rpdj5cblxuPGRpdiBbaGlkZGVuXT1cIm9wZW5cIiBjbGFzcz1cImVtcHR5LWNvbnRhaW5lclwiPlxuICA8ZW8taWNvbiBjbGFzcz1cIm5vZmlsZVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX25vLWZpbGUuc3ZnJ1wiPjwvZW8taWNvbj5cbjwvZGl2PlxuIl19
@@ -66,7 +66,7 @@ let ObjectHistoryComponent = class ObjectHistoryComponent {
66
66
  res.description = this.translate.instant('eo.object.history.entry.type.' + (res.intent ? res.intent : res.type) + '.description', res.parameter);
67
67
  });
68
68
  this.completeHistory = reversedRes;
69
- this.history = reversedRes;
69
+ this.history = reversedRes.filter(entry => this.filters.indexOf(entry.group) === -1);
70
70
  this.cd.markForCheck();
71
71
  }))
72
72
  .subscribe();
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
84
84
  }], ctorParameters: () => [{ type: i1.DmsService }, { type: i0.ChangeDetectorRef }, { type: i1.EventService }, { type: i1.TranslateService }], propDecorators: { params: [{
85
85
  type: Input
86
86
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvb2JqZWN0LWhpc3Rvcnkvb2JqZWN0LWhpc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvb2JqZWN0LWhpc3Rvcnkvb2JqZWN0LWhpc3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQStDLFVBQVUsRUFBaUMsTUFBTSxjQUFjLENBQUM7QUFDdEgsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFVNUIsSUFBTSxzQkFBc0IsR0FBNUIsTUFBTSxzQkFBc0I7SUFTakMsSUFBSSxPQUFPLENBQUMsVUFBbUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxNQUFNLENBQUMsQ0FBWTtRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQW9C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UyxFQUFFLENBQUM7SUFDakIsQ0FBQzs4R0FsRVUsc0JBQXNCO2tHQUF0QixzQkFBc0IsdUZDYm5DLHFrR0FrRUE7O0FEckRhLHNCQUFzQjtJQVBsQyxZQUFZLEVBQUU7R0FPRixzQkFBc0IsQ0FtRWxDOzsyRkFuRVksc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNO3lLQW9CM0MsTUFBTTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEbXNPYmplY3RIaXN0b3J5RW50cnksIERtc1BhcmFtcywgRG1zU2VydmljZSwgRW5haW9FdmVudCwgRXZlbnRTZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SVZpc2libGVGaWx0ZXJ9IGZyb20gJy4vaGlzdG9yeS1maWx0ZXIvaGlzdG9yeS1maWx0ZXInO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLW9iamVjdC1oaXN0b3J5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL29iamVjdC1oaXN0b3J5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb2JqZWN0LWhpc3RvcnkuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0SGlzdG9yeUNvbXBvbmVudCB7XG5cbiAgX3BhcmFtczogRG1zUGFyYW1zO1xuICBwcml2YXRlIF9oaXN0b3J5OiBEbXNPYmplY3RIaXN0b3J5RW50cnlbXSA9IFtdO1xuICBjb21wbGV0ZUhpc3Rvcnk6IERtc09iamVjdEhpc3RvcnlFbnRyeVtdID0gW107XG4gIGZpbHRlcnM6IHN0cmluZ1tdID0gW107XG4gIGZpbHRlcnRlcm06IHN0cmluZztcbiAgdmlzaWJsZUZpbHRlcjogSVZpc2libGVGaWx0ZXIgPSB7c2VsZWN0OiB0cnVlLCBpbnB1dDogdHJ1ZX07XG5cbiAgc2V0IGhpc3RvcnkoaGlzdG9yeU9iajogRG1zT2JqZWN0SGlzdG9yeUVudHJ5W10pIHtcbiAgICB0aGlzLl9oaXN0b3J5ID0gaGlzdG9yeU9iajtcbiAgfVxuXG4gIGdldCBoaXN0b3J5KCk6IERtc09iamVjdEhpc3RvcnlFbnRyeVtdIHtcbiAgICByZXR1cm4gdGhpcy5faGlzdG9yeTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBwYXJhbXMocDogRG1zUGFyYW1zKSB7XG4gICAgdGhpcy5fcGFyYW1zID0gcDtcbiAgICB0aGlzLmZldGNoSGlzdG9yeShwLmlkLCBwLnR5cGUpO1xuICB9XG5cbiAgZ2V0IHBhcmFtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyYW1zO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkbXNTZXJ2aWNlOiBEbXNTZXJ2aWNlLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICB0aGlzLmV2ZW50U2VydmljZVxuICAgICAgLm9uKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9VUERBVEVEKS5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQuZGF0YSAmJiB0aGlzLnBhcmFtcy5pZCA9PT0gZXZlbnQuZGF0YS5pZCkge1xuICAgICAgICAgIHRoaXMucGFyYW1zID0gdGhpcy5wYXJhbXM7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlRmlsdGVyKGZpbHRlcikge1xuICAgIGNvbnN0IFt0eXBlLCBoYXNGaWx0ZXJdID0gZmlsdGVyO1xuICAgIGlmIChoYXNGaWx0ZXIpIHtcbiAgICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuZmlsdGVycy5maWx0ZXIocyA9PiBzICE9PSB0eXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJzLnB1c2godHlwZSk7XG4gICAgfVxuICAgIHRoaXMuaGlzdG9yeSA9IHRoaXMuY29tcGxldGVIaXN0b3J5LmZpbHRlcihlbnRyeSA9PiB0aGlzLmZpbHRlcnMuaW5kZXhPZihlbnRyeS5ncm91cCkgPT09IC0xKTtcbiAgfVxuXG4gIHRyYWNrQnlJbmRleChpbmRleCwgaXRlbSkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hIaXN0b3J5KGlkOiBzdHJpbmcsIHR5cGU/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmRtc1NlcnZpY2VcbiAgICAgIC5nZXRIaXN0b3J5KGlkLCB0eXBlLCB0cnVlKVxuICAgICAgLnBpcGUobWFwKChyZXM6IERtc09iamVjdEhpc3RvcnlFbnRyeVtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJldmVyc2VkUmVzID0gcmVzLnJldmVyc2UoKTtcbiAgICAgICAgcmV2ZXJzZWRSZXMuZm9yRWFjaChyZXMgPT4ge1xuICAgICAgICAgIHJlcy50aXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLm9iamVjdC5oaXN0b3J5LmVudHJ5LnR5cGUuJyArIHJlcy50eXBlICsgJy50aXRsZScpO1xuICAgICAgICAgIHJlcy5kZXNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLm9iamVjdC5oaXN0b3J5LmVudHJ5LnR5cGUuJyArIChyZXMuaW50ZW50ID8gcmVzLmludGVudCA6IHJlcy50eXBlKSArICcuZGVzY3JpcHRpb24nLCByZXMucGFyYW1ldGVyKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29tcGxldGVIaXN0b3J5ID0gcmV2ZXJzZWRSZXM7XG4gICAgICAgIHRoaXMuaGlzdG9yeSA9IHJldmVyc2VkUmVzO1xuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvYmplY3QtaGlzdG9yeVwiPlxuXG4gIDxlby1oaXN0b3J5LWZpbHRlciBbZmlsdGVyc109XCJmaWx0ZXJzXCJcbiAgICAgICAgICAgICAgICAgICAgIFtoaXN0b3J5XT1cImhpc3RvcnlcIlxuICAgICAgICAgICAgICAgICAgICAgWyh0ZXJtKV09XCJmaWx0ZXJ0ZXJtXCJcbiAgICAgICAgICAgICAgICAgICAgIFt2aXNpYmxlRmlsdGVyXT1cInZpc2libGVGaWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgKG9uVG9nZ2xlRmlsdGVyKT1cInRvZ2dsZUZpbHRlcigkZXZlbnQpXCI+XG4gIDwvZW8taGlzdG9yeS1maWx0ZXI+XG5cblxuICA8bmctdGVtcGxhdGUgI2VtcHR5PlxuICAgIDxkaXYgY2xhc3M9XCJoaXN0b3J5IGVtcHR5XCIgdHJhbnNsYXRlPmVvLnRpbWVsaW5lLmVtcHR5PC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPGRpdiBjbGFzcz1cImhpc3RvcnkgZW8tdGltZWxpbmVcIiBbbmdDbGFzc109XCJ7c2luZ2xlOiBoaXN0b3J5Py5sZW5ndGggPT09IDF9XCIgKm5nSWY9XCJoaXN0b3J5Py5sZW5ndGg7IGVsc2UgZW1wdHlcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZS1lbnRyeVwiIFtuZ0NsYXNzXT1cInt1c2VyOiAhIWVudHJ5LnVzZXIsIGNvbW1lbnQ6IGVudHJ5LmNvbW1lbnR9XCJcbiAgICAgICAgICpuZ0Zvcj1cImxldCBlbnRyeSBvZiBoaXN0b3J5IHwgaGlzdG9yeUZpbHRlcjogZmlsdGVydGVybTsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3aGVuXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCI+e3tlbnRyeS50aW1lIHwgbG9jYWxlRGF0ZTogJ2VvU2hvcnREYXRlJ319PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+e3tlbnRyeS50aW1lIHwgbG9jYWxlRGF0ZTogJ2VvU2hvcnRUaW1lJ319PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYXJrZXJcIiBbbmdDbGFzc109XCJ7YnBtOiBlbnRyeS5ncm91cCA9PT0gJ1BST0NFU1MnLCBtb2Q6IGVudHJ5Lmdyb3VwID09PSAnTU9ESUZJQ0FUSU9OJ31cIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3aGF0XCI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+PHNwYW4+e3tlbnRyeS50aXRsZX19PC9zcGFuPlxuICAgICAgICAgIDxhIGNsYXNzPVwidmVyc2lvblwiIFtyb3V0ZXJMaW5rXT1cIicvdmVyc2lvbnMvJyArIHBhcmFtcy5pZFwiIFtxdWVyeVBhcmFtc109XCJ7dHlwZTogcGFyYW1zLnR5cGUsIHZlcnNpb246IGVudHJ5LnZlcnNpb259XCI+XG4gICAgICAgICAgICA8c3Bhbj57eydlby5vYmplY3QuaGlzdG9yeS52ZXJzaW9uJyB8IHRyYW5zbGF0ZX19IHt7ZW50cnkudmVyc2lvbn19PC9zcGFuPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7ZW50cnkuZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudFwiPiZxdW90O3t7ZW50cnkuY29tbWVudH19JnF1b3Q7PC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGFcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImVudHJ5LnVzZXI/LnR5cGUgPT09ICdzZXJ2ZXJ1c2VyJzsgZWxzZSB1c2VyXCI+e3tlbnRyeS51c2VyPy50aXRsZX19PC9zcGFuPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdXNlcj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZW50cnkudXNlcjsgZWxzZSBkZWxldGVkXCIgW25nQ2xhc3NdPVwie2luYWN0aXZlOiAhZW50cnkudXNlcj8uYWN0aXZlfVwiPnt7ZW50cnkudXNlcj8ubGFzdG5hbWV9fSwge3tlbnRyeS51c2VyPy5maXJzdG5hbWV9fSAoe3tlbnRyeS51c2VyPy5uYW1lfX0pPC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlbGV0ZWQ+XG4gICAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5vcmdhbml6YXRpb24uZXJyb3IudXNlcm5vdGZvdW5kPC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJicG0tbWV0YVwiICpuZ0lmPVwiZW50cnkucGFyYW1ldGVyICYmIGVudHJ5LnBhcmFtZXRlci50eXBlID09PSAnYnBtJ1wiPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZW50cnkucGFyYW1ldGVyLnByb2Nlc3NOYW1lXCI+XG4gICAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+ZW8ub2JqZWN0Lmhpc3Rvcnkud29ya2Zsb3dwcm9jZXNzPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+J3t7ZW50cnkucGFyYW1ldGVyLnByb2Nlc3NOYW1lfX0nPC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImVudHJ5LnBhcmFtZXRlci5hY3Rpdml0eU5hbWVcIj5cbiAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5lby5vYmplY3QuaGlzdG9yeS5hY3Rpdml0eTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPid7e2VudHJ5LnBhcmFtZXRlci5hY3Rpdml0eU5hbWV9fSc8L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibW92ZS1tZXRhXCIgKm5nSWY9XCJlbnRyeS5wYXJhbWV0ZXIgJiYgZW50cnkudHlwZSA9PT0gJ09CSkVDVF9NT1ZFRCdcIj5cbiAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+ZW8ub2JqZWN0Lmhpc3RvcnkuZW50cnkudHlwZS5PQkpFQ1RfTU9WRUQubWV0YS50aXRsZTwvc3Bhbj5cbiAgICAgICAgICA8YSB0cmFuc2xhdGUgW3JvdXRlckxpbmtdPVwiJy9vYmplY3QvJyArIGVudHJ5LnBhcmFtZXRlci5vbGRwYXJlbnRpZFwiPmVvLm9iamVjdC5oaXN0b3J5LmVudHJ5LnR5cGUuT0JKRUNUX01PVkVELm1ldGEub2xkPC9hPlxuICAgICAgICAgIDxzcGFuPiAtLT4gPC9zcGFuPlxuICAgICAgICAgIDxhIHRyYW5zbGF0ZSBbcm91dGVyTGlua109XCInL29iamVjdC8nICsgZW50cnkucGFyYW1ldGVyLm5ld3BhcmVudGlkXCI+ZW8ub2JqZWN0Lmhpc3RvcnkuZW50cnkudHlwZS5PQkpFQ1RfTU9WRUQubWV0YS5uZXc8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvb2JqZWN0LWhpc3Rvcnkvb2JqZWN0LWhpc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvb2JqZWN0LWhpc3Rvcnkvb2JqZWN0LWhpc3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQStDLFVBQVUsRUFBaUMsTUFBTSxjQUFjLENBQUM7QUFDdEgsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFVNUIsSUFBTSxzQkFBc0IsR0FBNUIsTUFBTSxzQkFBc0I7SUFTakMsSUFBSSxPQUFPLENBQUMsVUFBbUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxNQUFNLENBQUMsQ0FBWTtRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQW9C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S0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO2FBQ0YsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzs4R0FsRVUsc0JBQXNCO2tHQUF0QixzQkFBc0IsdUZDYm5DLHFrR0FrRUE7O0FEckRhLHNCQUFzQjtJQVBsQyxZQUFZLEVBQUU7R0FPRixzQkFBc0IsQ0FtRWxDOzsyRkFuRVksc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNO3lLQW9CM0MsTUFBTTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEbXNPYmplY3RIaXN0b3J5RW50cnksIERtc1BhcmFtcywgRG1zU2VydmljZSwgRW5haW9FdmVudCwgRXZlbnRTZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SVZpc2libGVGaWx0ZXJ9IGZyb20gJy4vaGlzdG9yeS1maWx0ZXIvaGlzdG9yeS1maWx0ZXInO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLW9iamVjdC1oaXN0b3J5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL29iamVjdC1oaXN0b3J5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb2JqZWN0LWhpc3RvcnkuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0SGlzdG9yeUNvbXBvbmVudCB7XG5cbiAgX3BhcmFtczogRG1zUGFyYW1zO1xuICBwcml2YXRlIF9oaXN0b3J5OiBEbXNPYmplY3RIaXN0b3J5RW50cnlbXSA9IFtdO1xuICBjb21wbGV0ZUhpc3Rvcnk6IERtc09iamVjdEhpc3RvcnlFbnRyeVtdID0gW107XG4gIGZpbHRlcnM6IHN0cmluZ1tdID0gW107XG4gIGZpbHRlcnRlcm06IHN0cmluZztcbiAgdmlzaWJsZUZpbHRlcjogSVZpc2libGVGaWx0ZXIgPSB7c2VsZWN0OiB0cnVlLCBpbnB1dDogdHJ1ZX07XG5cbiAgc2V0IGhpc3RvcnkoaGlzdG9yeU9iajogRG1zT2JqZWN0SGlzdG9yeUVudHJ5W10pIHtcbiAgICB0aGlzLl9oaXN0b3J5ID0gaGlzdG9yeU9iajtcbiAgfVxuXG4gIGdldCBoaXN0b3J5KCk6IERtc09iamVjdEhpc3RvcnlFbnRyeVtdIHtcbiAgICByZXR1cm4gdGhpcy5faGlzdG9yeTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBwYXJhbXMocDogRG1zUGFyYW1zKSB7XG4gICAgdGhpcy5fcGFyYW1zID0gcDtcbiAgICB0aGlzLmZldGNoSGlzdG9yeShwLmlkLCBwLnR5cGUpO1xuICB9XG5cbiAgZ2V0IHBhcmFtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyYW1zO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkbXNTZXJ2aWNlOiBEbXNTZXJ2aWNlLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICB0aGlzLmV2ZW50U2VydmljZVxuICAgICAgLm9uKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9VUERBVEVEKS5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQuZGF0YSAmJiB0aGlzLnBhcmFtcy5pZCA9PT0gZXZlbnQuZGF0YS5pZCkge1xuICAgICAgICAgIHRoaXMucGFyYW1zID0gdGhpcy5wYXJhbXM7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlRmlsdGVyKGZpbHRlcikge1xuICAgIGNvbnN0IFt0eXBlLCBoYXNGaWx0ZXJdID0gZmlsdGVyO1xuICAgIGlmIChoYXNGaWx0ZXIpIHtcbiAgICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuZmlsdGVycy5maWx0ZXIocyA9PiBzICE9PSB0eXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJzLnB1c2godHlwZSk7XG4gICAgfVxuICAgIHRoaXMuaGlzdG9yeSA9IHRoaXMuY29tcGxldGVIaXN0b3J5LmZpbHRlcihlbnRyeSA9PiB0aGlzLmZpbHRlcnMuaW5kZXhPZihlbnRyeS5ncm91cCkgPT09IC0xKTtcbiAgfVxuXG4gIHRyYWNrQnlJbmRleChpbmRleCwgaXRlbSkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hIaXN0b3J5KGlkOiBzdHJpbmcsIHR5cGU/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmRtc1NlcnZpY2VcbiAgICAgIC5nZXRIaXN0b3J5KGlkLCB0eXBlLCB0cnVlKVxuICAgICAgLnBpcGUobWFwKChyZXM6IERtc09iamVjdEhpc3RvcnlFbnRyeVtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJldmVyc2VkUmVzID0gcmVzLnJldmVyc2UoKTtcbiAgICAgICAgcmV2ZXJzZWRSZXMuZm9yRWFjaChyZXMgPT4ge1xuICAgICAgICAgIHJlcy50aXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLm9iamVjdC5oaXN0b3J5LmVudHJ5LnR5cGUuJyArIHJlcy50eXBlICsgJy50aXRsZScpO1xuICAgICAgICAgIHJlcy5kZXNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLm9iamVjdC5oaXN0b3J5LmVudHJ5LnR5cGUuJyArIChyZXMuaW50ZW50ID8gcmVzLmludGVudCA6IHJlcy50eXBlKSArICcuZGVzY3JpcHRpb24nLCByZXMucGFyYW1ldGVyKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29tcGxldGVIaXN0b3J5ID0gcmV2ZXJzZWRSZXM7XG4gICAgICAgIHRoaXMuaGlzdG9yeSA9IHJldmVyc2VkUmVzLmZpbHRlcihlbnRyeSA9PiB0aGlzLmZpbHRlcnMuaW5kZXhPZihlbnRyeS5ncm91cCkgPT09IC0xKTtcbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwib2JqZWN0LWhpc3RvcnlcIj5cblxuICA8ZW8taGlzdG9yeS1maWx0ZXIgW2ZpbHRlcnNdPVwiZmlsdGVyc1wiXG4gICAgICAgICAgICAgICAgICAgICBbaGlzdG9yeV09XCJoaXN0b3J5XCJcbiAgICAgICAgICAgICAgICAgICAgIFsodGVybSldPVwiZmlsdGVydGVybVwiXG4gICAgICAgICAgICAgICAgICAgICBbdmlzaWJsZUZpbHRlcl09XCJ2aXNpYmxlRmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgIChvblRvZ2dsZUZpbHRlcik9XCJ0b2dnbGVGaWx0ZXIoJGV2ZW50KVwiPlxuICA8L2VvLWhpc3RvcnktZmlsdGVyPlxuXG5cbiAgPG5nLXRlbXBsYXRlICNlbXB0eT5cbiAgICA8ZGl2IGNsYXNzPVwiaGlzdG9yeSBlbXB0eVwiIHRyYW5zbGF0ZT5lby50aW1lbGluZS5lbXB0eTwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxkaXYgY2xhc3M9XCJoaXN0b3J5IGVvLXRpbWVsaW5lXCIgW25nQ2xhc3NdPVwie3NpbmdsZTogaGlzdG9yeT8ubGVuZ3RoID09PSAxfVwiICpuZ0lmPVwiaGlzdG9yeT8ubGVuZ3RoOyBlbHNlIGVtcHR5XCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmUtZW50cnlcIiBbbmdDbGFzc109XCJ7dXNlcjogISFlbnRyeS51c2VyLCBjb21tZW50OiBlbnRyeS5jb21tZW50fVwiXG4gICAgICAgICAqbmdGb3I9XCJsZXQgZW50cnkgb2YgaGlzdG9yeSB8IGhpc3RvcnlGaWx0ZXI6IGZpbHRlcnRlcm07IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwid2hlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPnt7ZW50cnkudGltZSB8IGxvY2FsZURhdGU6ICdlb1Nob3J0RGF0ZSd9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGltZVwiPnt7ZW50cnkudGltZSB8IGxvY2FsZURhdGU6ICdlb1Nob3J0VGltZSd9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWFya2VyXCIgW25nQ2xhc3NdPVwie2JwbTogZW50cnkuZ3JvdXAgPT09ICdQUk9DRVNTJywgbW9kOiBlbnRyeS5ncm91cCA9PT0gJ01PRElGSUNBVElPTid9XCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwid2hhdFwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPjxzcGFuPnt7ZW50cnkudGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICA8YSBjbGFzcz1cInZlcnNpb25cIiBbcm91dGVyTGlua109XCInL3ZlcnNpb25zLycgKyBwYXJhbXMuaWRcIiBbcXVlcnlQYXJhbXNdPVwie3R5cGU6IHBhcmFtcy50eXBlLCB2ZXJzaW9uOiBlbnRyeS52ZXJzaW9ufVwiPlxuICAgICAgICAgICAgPHNwYW4+e3snZW8ub2JqZWN0Lmhpc3RvcnkudmVyc2lvbicgfCB0cmFuc2xhdGV9fSB7e2VudHJ5LnZlcnNpb259fTwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj57e2VudHJ5LmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRcIj4mcXVvdDt7e2VudHJ5LmNvbW1lbnR9fSZxdW90OzwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJlbnRyeS51c2VyPy50eXBlID09PSAnc2VydmVydXNlcic7IGVsc2UgdXNlclwiPnt7ZW50cnkudXNlcj8udGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3VzZXI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImVudHJ5LnVzZXI7IGVsc2UgZGVsZXRlZFwiIFtuZ0NsYXNzXT1cIntpbmFjdGl2ZTogIWVudHJ5LnVzZXI/LmFjdGl2ZX1cIj57e2VudHJ5LnVzZXI/Lmxhc3RuYW1lfX0sIHt7ZW50cnkudXNlcj8uZmlyc3RuYW1lfX0gKHt7ZW50cnkudXNlcj8ubmFtZX19KTwvc3Bhbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWxldGVkPlxuICAgICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkub3JnYW5pemF0aW9uLmVycm9yLnVzZXJub3Rmb3VuZDwvc3Bhbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnBtLW1ldGFcIiAqbmdJZj1cImVudHJ5LnBhcmFtZXRlciAmJiBlbnRyeS5wYXJhbWV0ZXIudHlwZSA9PT0gJ2JwbSdcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImVudHJ5LnBhcmFtZXRlci5wcm9jZXNzTmFtZVwiPlxuICAgICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPmVvLm9iamVjdC5oaXN0b3J5LndvcmtmbG93cHJvY2Vzczwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPid7e2VudHJ5LnBhcmFtZXRlci5wcm9jZXNzTmFtZX19Jzwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJlbnRyeS5wYXJhbWV0ZXIuYWN0aXZpdHlOYW1lXCI+XG4gICAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+ZW8ub2JqZWN0Lmhpc3RvcnkuYWN0aXZpdHk8L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj4ne3tlbnRyeS5wYXJhbWV0ZXIuYWN0aXZpdHlOYW1lfX0nPC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vdmUtbWV0YVwiICpuZ0lmPVwiZW50cnkucGFyYW1ldGVyICYmIGVudHJ5LnR5cGUgPT09ICdPQkpFQ1RfTU9WRUQnXCI+XG4gICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPmVvLm9iamVjdC5oaXN0b3J5LmVudHJ5LnR5cGUuT0JKRUNUX01PVkVELm1ldGEudGl0bGU8L3NwYW4+XG4gICAgICAgICAgPGEgdHJhbnNsYXRlIFtyb3V0ZXJMaW5rXT1cIicvb2JqZWN0LycgKyBlbnRyeS5wYXJhbWV0ZXIub2xkcGFyZW50aWRcIj5lby5vYmplY3QuaGlzdG9yeS5lbnRyeS50eXBlLk9CSkVDVF9NT1ZFRC5tZXRhLm9sZDwvYT5cbiAgICAgICAgICA8c3Bhbj4gLS0+IDwvc3Bhbj5cbiAgICAgICAgICA8YSB0cmFuc2xhdGUgW3JvdXRlckxpbmtdPVwiJy9vYmplY3QvJyArIGVudHJ5LnBhcmFtZXRlci5uZXdwYXJlbnRpZFwiPmVvLm9iamVjdC5oaXN0b3J5LmVudHJ5LnR5cGUuT0JKRUNUX01PVkVELm1ldGEubmV3PC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19