@seniorsistemas/exclusion-process-component 0.4.3 → 0.4.4

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.
@@ -1,15 +1,15 @@
1
1
  import { __decorate } from "tslib";
2
- import * as moment from "moment";
3
- import { Component, Output, ViewEncapsulation, EventEmitter } from "@angular/core";
2
+ import { Component, EventEmitter, Output, ViewEncapsulation } from "@angular/core";
4
3
  import { ActivatedRoute } from "@angular/router";
5
4
  import { TranslateService } from "@ngx-translate/core";
5
+ import { WebsocketService } from "@senior-gestao-empresarial/angular-components";
6
+ import { EnumBadgeColors, EnumColumnFieldType } from "@seniorsistemas/angular-components";
7
+ import * as moment from "moment";
6
8
  import { Subject } from "rxjs";
7
9
  import { finalize, takeUntil } from "rxjs/operators";
8
- import { EnumBadgeColors, EnumColumnFieldType } from "@seniorsistemas/angular-components";
9
- import { WebsocketService } from "@senior-gestao-empresarial/angular-components";
10
10
  import { EnumExclusionProcessStatus } from "../enums/enum-exclusion-process-status";
11
- import { LogicalDeleteService } from "../services/logical-delete.service";
12
11
  import { LogicalDeleteConfigService } from "../services/logical-delete-config.service";
12
+ import { LogicalDeleteService } from "../services/logical-delete.service";
13
13
  const EXCLUSION_PROCESS_STATUS_BADGE = [
14
14
  {
15
15
  enumValue: EnumExclusionProcessStatus.ERROR,
@@ -372,4 +372,4 @@ ExclusionDetailsComponent = __decorate([
372
372
  })
373
373
  ], ExclusionDetailsComponent);
374
374
  export { ExclusionDetailsComponent };
375
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9uLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2V4Y2x1c2lvbi1wcm9jZXNzLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImV4Y2x1c2lvbi1kZXRhaWxzL2V4Y2x1c2lvbi1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQXFCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUE0QixNQUFNLG9DQUFvQyxDQUFDO0FBQ3BILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBS3ZGLE1BQU0sOEJBQThCLEdBQUU7SUFDbEM7UUFDSSxTQUFTLEVBQUUsMEJBQTBCLENBQUMsS0FBSztRQUMzQyxLQUFLLEVBQUUsZUFBZSxDQUFDLEdBQUc7S0FDN0I7SUFDRDtRQUNJLFNBQVMsRUFBRSwwQkFBMEIsQ0FBQyxPQUFPO1FBQzdDLEtBQUssRUFBRSxlQUFlLENBQUMsTUFBTTtL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cyBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkluaXQsIE9uRGVzdHJveSwgRXZlbnRFbWl0dGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZmluYWxpemUsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgRW51bUJhZGdlQ29sb3JzLCBFbnVtQ29sdW1uRmllbGRUeXBlLCBUYWJsZUNvbHVtbkxvY2FsZU9wdGlvbnMgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgV2Vic29ja2V0U2VydmljZSB9IGZyb20gXCJAc2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzIH0gZnJvbSBcIi4uL2VudW1zL2VudW0tZXhjbHVzaW9uLXByb2Nlc3Mtc3RhdHVzXCI7XG5pbXBvcnQgeyBFeGNsdXNpb25EZXRhaWxzIH0gZnJvbSBcIi4vcHJvdG9jb2xzL2V4Y2x1c2lvbi1kZXRhaWxzXCI7XG5pbXBvcnQgeyBMb2dpY2FsRGVsZXRlU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9sb2dpY2FsLWRlbGV0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFeGNsdXNpb25Qcm9jZXNzLCBFeGNsdXNpb25Qcm9jZXNzU3RlcCwgRXhjbHVzaW9uUHJvY2Vzc1N0ZXBHcm91cCB9IGZyb20gXCIuLi9tb2RlbHMvaW5kZXhcIjtcbmltcG9ydCB7IExvZ2ljYWxEZWxldGVDb25maWdTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2xvZ2ljYWwtZGVsZXRlLWNvbmZpZy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBTaG93RGV0YWlsc0luZm9ybWF0aW9uIH0gZnJvbSBcIi4vcHJvdG9jb2xzXCI7XG5pbXBvcnQgeyBFeGNsdXNpb25Qcm9jZXNzU3RhdHVzQ2hhbmdlZCB9IGZyb20gXCIuL3Byb3RvY29scy9leGNsdXNpb24tcHJvY2Vzcy1zdGF0dXMtY2hhbmdlZFwiO1xuaW1wb3J0IHsgV2Vic29ja2V0RXZlbnREYXRhIH0gZnJvbSBcIi4vcHJvdG9jb2xzL3dlYi1zb2NrZXQtZXZlbnQtZGF0YVwiO1xuXG5jb25zdCBFWENMVVNJT05fUFJPQ0VTU19TVEFUVVNfQkFER0UgPVtcbiAgICB7XG4gICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuRVJST1IsXG4gICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuUkVEXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuUEVORElORyxcbiAgICAgICAgY29sb3I6IEVudW1CYWRnZUNvbG9ycy5ZRUxMT1dcbiAgICB9LFxuICAgIHtcbiAgICAgICAgZW51bVZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5QUk9DRVNTSU5HLFxuICAgICAgICBjb2xvcjogRW51bUJhZGdlQ29sb3JzLkJMVUVcbiAgICB9LFxuICAgIHtcbiAgICAgICAgZW51bVZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5TVUNDRVNTLFxuICAgICAgICBjb2xvcjogRW51bUJhZGdlQ29sb3JzLkdSRUVOXG4gICAgfVxuXTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1leGNsdXNpb24tZGV0YWlsc1wiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZXhjbHVzaW9uLWRldGFpbHMuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vZXhjbHVzaW9uLWRldGFpbHMuY29tcG9uZW50LnNjc3NcIl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBFeGNsdXNpb25EZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBsb2NhbGUhOiBUYWJsZUNvbHVtbkxvY2FsZU9wdGlvbnM7XG5cbiAgICBAT3V0cHV0KClcbiAgICBnZXQgaXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNWaXNpYmxlO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGdldCBpc0xvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0xvYWRpbmc7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgZ2V0IHByb2Nlc3NHcm91cERhdGEoKTogRXhjbHVzaW9uRGV0YWlsc1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NHcm91cERhdGE7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgZ2V0IHByb2Nlc3NHcm91cENvbHVtbnMoKTogYW55W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvY2Vzc0dyb3VwQ29sdW1ucztcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBnZXQgcHJvY2Vzc1N0ZXBDb2x1bW5zKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NTdGVwQ29sdW1ucztcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcHJvY2Vzc0RldGFpbHM6IEV4Y2x1c2lvblByb2Nlc3M7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZW50aXR5RGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBleHBhbmRlZFJvd3M6IGFueSA9IHt9O1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uUHJvY2Vzc0ZpbmlzaGVkU3VjY2Vzc2Z1bGx5OiBFdmVudEVtaXR0ZXI8RXhjbHVzaW9uUHJvY2Vzcz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwcml2YXRlIF9pc1Zpc2libGUgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9wcm9jZXNzR3JvdXBEYXRhOiBFeGNsdXNpb25Qcm9jZXNzU3RlcEdyb3VwW10gPSBbXTtcbiAgICBwcml2YXRlIF9wcm9jZXNzR3JvdXBDb2x1bW5zOiBhbnlbXSA9IFtdO1xuICAgIHByaXZhdGUgX3Byb2Nlc3NTdGVwQ29sdW1uczogYW55W10gPSBbXTtcbiAgICBwcml2YXRlIF93ZWJzb2NrZXRTZXJ2aWNlOiBXZWJzb2NrZXRTZXJ2aWNlO1xuICAgIHByaXZhdGUgX2V4Y2x1c2lvblByb2Nlc3NTdGF0dXNDaGFuZ2VkU3Vic2NyaWJlOiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBfZXhjbHVzaW9uRGV0YWlsczogU2hvd0RldGFpbHNJbmZvcm1hdGlvbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uTG9hZFByb2Nlc3M6IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2ljYWxEZWxldGVTZXJ2aWNlOiBMb2dpY2FsRGVsZXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9qZWN0Q29uZmlnczogTG9naWNhbERlbGV0ZUNvbmZpZ1NlcnZpY2VcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yb3V0ZS5kYXRhXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IHsgW2NvbmZpZ3M6IHN0cmluZ106IGFueSwgbG9jYWxlQ29uZmlnOiBUYWJsZUNvbHVtbkxvY2FsZU9wdGlvbnMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxlID0gZGF0YS5sb2NhbGVDb25maWc7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0dyb3VwQ29sdW1ucyA9IHRoaXMuZ2V0R3JvdXBDb2x1bW5zKCk7XG4gICAgICAgIHRoaXMuX3Byb2Nlc3NTdGVwQ29sdW1ucyA9IHRoaXMuZ2V0U3RlcENvbHVtbnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuXG4gICAgICAgIHRoaXMuZGlzY29ubmVjdFdlYlNvY2tldCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaG93RGV0YWlscyhkZXRhaWxzOiBTaG93RGV0YWlsc0luZm9ybWF0aW9uKSB7XG4gICAgICAgIHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMgPSBkZXRhaWxzO1xuICAgICAgICB0aGlzLl9pc1Zpc2libGUgPSB0cnVlO1xuICAgICAgICB0aGlzLl9wcm9jZXNzR3JvdXBEYXRhID0gW107XG5cbiAgICAgICAgdGhpcy5wcm9jZXNzRGV0YWlscyA9IG51bGw7XG4gICAgICAgIHRoaXMuZW50aXR5RGVzY3JpcHRpb24gPSBkZXRhaWxzLmVudGl0eURlc2NyaXB0aW9uO1xuXG4gICAgICAgIHRoaXMubG9hZFByb2Nlc3NEZXRhaWxzKGRldGFpbHMsIHRydWUpO1xuXG4gICAgICAgIHRoaXMuY29ubmVjdFdlYlNvY2tldCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblZpc2liaWxpdHlDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5jbG9zZURldGFpbHMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VEZXRhaWxzKCkge1xuICAgICAgICB0aGlzLl9pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fZXhjbHVzaW9uRGV0YWlscyA9IG51bGw7XG4gICAgICAgIHRoaXMuX3Byb2Nlc3NHcm91cERhdGEgPSBbXTtcbiAgICAgICAgdGhpcy5kaXNjb25uZWN0V2ViU29ja2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJlY29yZERlc2NyaXB0aW9uKCkge1xuICAgICAgICBpZiAoIXRoaXMucHJvY2Vzc0RldGFpbHM/LmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NEZXRhaWxzLmRlc2NyaXB0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJbmljaWFsRGF0ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnByb2Nlc3NEZXRhaWxzPy5zdGFydERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLnByb2Nlc3NEZXRhaWxzLnN0YXJ0RGF0ZSkuZm9ybWF0KFwiREQvTU0vWVlZWSBISDptbTpzc1wiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmluaXNoRGF0ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnByb2Nlc3NEZXRhaWxzPy5maW5pc2hEYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtb21lbnQodGhpcy5wcm9jZXNzRGV0YWlscy5maW5pc2hEYXRlKS5mb3JtYXQoXCJERC9NTS9ZWVlZIEhIOm1tOnNzXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0ZpbmlzaGVkKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLnByb2Nlc3NEZXRhaWxzPy5maW5pc2hEYXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTaG93RXhjbHVzaW9uc0J1dHRvbkxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX3Nob3dfZGVsZXRpb25zYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENsb3NlQnV0dG9uTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfY2xvc2VgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VXBkYXRlQnV0dG9uTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfdXBkYXRlYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFN1bW1hcnlMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zdW1tYXJ5YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFN0YXJ0RGF0ZUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX3N0YXJ0YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpbmlzaERhdGVMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9maW5pc2hgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2lkZWJhclRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2RldGFpbHNfdGl0bGVgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RW1wdHlTdGF0ZVRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2VtcHR5X3N0YXRlX3RpdGxlYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEVtcHR5U3RhdGVEZXNjcmlwdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9lbXB0eV9zdGF0ZV9kZXNjcmlwdGlvbmApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0R3JvdXBDb2x1bW5zKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcImRlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogW1wiZGVzY3JpcHRpb25cIl0sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZ3JvdXBgKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnVtQ29sdW1uRmllbGRUeXBlLlNUUklORyxcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIzNDBweFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJzdGF0dXNcIixcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXCJzdGF0dXNcIl0sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfc3RhdHVzYCksXG4gICAgICAgICAgICAgICAgdHlwZTogRW51bUNvbHVtbkZpZWxkVHlwZS5FTlVNLFxuICAgICAgICAgICAgICAgIGVudW1QcmVmaXg6IGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZW51bV9leGNsdXNpb25fcHJvY2Vzc19zdGF0dXNfYCxcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxMDBweFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0b29sdGlwOiB0aGlzLmdldENvbHVtblN0YXR1c1Rvb2x0aXAsXG4gICAgICAgICAgICAgICAgYmFkZ2VDb25maWdzOiBFWENMVVNJT05fUFJPQ0VTU19TVEFUVVNfQkFER0VcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFN0ZXBDb2x1bW5zKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcImRlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogW1wiZGVzY3JpcHRpb25cIl0sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfc3RlcGApLFxuICAgICAgICAgICAgICAgIHR5cGU6IEVudW1Db2x1bW5GaWVsZFR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjM0MHB4XCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcInN0YXR1c1wiLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtcInN0YXR1c1wiXSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zdGF0dXNgKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnVtQ29sdW1uRmllbGRUeXBlLkVOVU0sXG4gICAgICAgICAgICAgICAgZW51bVByZWZpeDogYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9lbnVtX2V4Y2x1c2lvbl9wcm9jZXNzX3N0YXR1c19gLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwMHB4XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRvb2x0aXA6IHRoaXMuZ2V0Q29sdW1uU3RhdHVzVG9vbHRpcCxcbiAgICAgICAgICAgICAgICBiYWRnZUNvbmZpZ3M6IEVYQ0xVU0lPTl9QUk9DRVNTX1NUQVRVU19CQURHRVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29sdW1uU3RhdHVzVG9vbHRpcChyb3dWYWx1ZTogRXhjbHVzaW9uRGV0YWlscykge1xuICAgICAgICBpZiAocm93VmFsdWUuZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gcm93VmFsdWUuZXJyb3JNZXNzYWdlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZURldGFpbHMoKSB7XG4gICAgICAgIGlmICghdGhpcy5fZXhjbHVzaW9uRGV0YWlscykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9hZFByb2Nlc3NEZXRhaWxzKHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWJvcnRSdW5uaW5nTG9hZFByb2Nlc3NDYWxsKCkge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb25Mb2FkUHJvY2Vzcykge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uTG9hZFByb2Nlc3MuY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25Mb2FkUHJvY2VzcyA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uTG9hZFByb2Nlc3MudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkxvYWRQcm9jZXNzID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFByb2Nlc3NEZXRhaWxzKGRldGFpbHM6IFNob3dEZXRhaWxzSW5mb3JtYXRpb24sIGZpcnN0TG9hZCA9IGZhbHNlKSB7XG4gICAgICAgIHRoaXMuX2lzTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5hYm9ydFJ1bm5pbmdMb2FkUHJvY2Vzc0NhbGwoKTtcblxuICAgICAgICBjb25zdCBwcm9jZXNzT2JzZXJ2YWJsZSA9IGRldGFpbHMucHJvY2Vzc0lkXG4gICAgICAgICAgICA/IHRoaXMubG9naWNhbERlbGV0ZVNlcnZpY2UuZ2V0UHJvY2Vzc0RldGFpbHMoZGV0YWlscy5wcm9jZXNzSWQpXG4gICAgICAgICAgICA6IHRoaXMubG9naWNhbERlbGV0ZVNlcnZpY2UuZ2V0TGF0ZXN0UHJvY2Vzc0RldGFpbHMoZGV0YWlscy5yZWNvcmRJZCk7XG5cbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25Mb2FkUHJvY2VzcyA9IHByb2Nlc3NPYnNlcnZhYmxlXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuX2lzTG9hZGluZyA9IGZhbHNlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHByb2Nlc3M6IEV4Y2x1c2lvblByb2Nlc3MpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXByb2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RldGFpbHMgPSBwcm9jZXNzO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NHcm91cERhdGEgPSB0aGlzLnNvcnRHcm91cHNCeVN0YXJ0RGF0ZShwcm9jZXNzLmdyb3VwcylcbiAgICAgICAgICAgICAgICAgICAgLm1hcChwID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5wLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RlcHM6IHRoaXMuc29ydFN0ZXBzQnlTdGFydERhdGUocC5zdGVwcylcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRlZFJvd3MgPSB7fTtcbiAgICAgICAgICAgICAgICB0aGlzLl9wcm9jZXNzR3JvdXBEYXRhXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIocCA9PiBwLnN0YXR1cyAhPT0gRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuU1VDQ0VTUylcbiAgICAgICAgICAgICAgICAgICAgLmZvckVhY2gocCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkUm93c1twLmlkXSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNQcm9jZXNzRmluaXNoZWQoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2Nvbm5lY3RXZWJTb2NrZXQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFmaXJzdExvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja0lmUHJvY2Vzc1dhc1N1Y2Nlc3N1ZnVsKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1Byb2Nlc3NGaW5pc2hlZCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9wcm9jZXNzR3JvdXBEYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NHcm91cERhdGFcbiAgICAgICAgICAgIC5ldmVyeShwID0+IHAuc3RhdHVzID09PSBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5FUlJPUiB8fCBwLnN0YXR1cyA9PT0gRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuU1VDQ0VTUyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0lmUHJvY2Vzc1dhc1N1Y2Nlc3N1ZnVsKCkge1xuICAgICAgICBjb25zdCBpc1Byb2Nlc3NTdWNjZXNzZnVsID0gdGhpcy5fcHJvY2Vzc0dyb3VwRGF0YVxuICAgICAgICAgICAgLmV2ZXJ5KHAgPT4gcC5zdGF0dXMgPT09IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlNVQ0NFU1MpO1xuICAgICAgICBpZiAoaXNQcm9jZXNzU3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgdGhpcy5ub3RpZnlQcm9jZXNzRmluaXNoZWRTdWNjZXNzZnVsbHkoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbm90aWZ5UHJvY2Vzc0ZpbmlzaGVkU3VjY2Vzc2Z1bGx5KCkge1xuICAgICAgICB0aGlzLm9uUHJvY2Vzc0ZpbmlzaGVkU3VjY2Vzc2Z1bGx5LmVtaXQodGhpcy5wcm9jZXNzRGV0YWlscyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzb3J0QnlEYXRlKGZpcnN0RGF0ZTogRGF0ZSwgc2Vjb25kRGF0ZTogRGF0ZSkge1xuICAgICAgICBpZiAoIWZpcnN0RGF0ZSB8fCAhc2Vjb25kRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlyc3REYXRlLmdldFRpbWUoKSA+IHNlY29uZERhdGUuZ2V0VGltZSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlyc3REYXRlLmdldFRpbWUoKSA8IHNlY29uZERhdGUuZ2V0VGltZSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzb3J0R3JvdXBzQnlTdGFydERhdGUoZ3JvdXBzOiBFeGNsdXNpb25Qcm9jZXNzU3RlcEdyb3VwW10pIHtcbiAgICAgICAgcmV0dXJuIGdyb3Vwcz8ubGVuZ3RoID8gZ3JvdXBzLnNvcnQoKGEsIGIpID0+IHRoaXMuc29ydEJ5RGF0ZShhLnN0YXJ0RGF0ZSwgYi5zdGFydERhdGUpKSA6IGdyb3VwcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNvcnRTdGVwc0J5U3RhcnREYXRlKHN0ZXBzOiBFeGNsdXNpb25Qcm9jZXNzU3RlcFtdKSB7XG4gICAgICAgIHJldHVybiBzdGVwcz8ubGVuZ3RoID8gc3RlcHMuc29ydCgoYSwgYikgPT4gdGhpcy5zb3J0QnlEYXRlKGEuc3RhcnREYXRlLCBiLnN0YXJ0RGF0ZSkpIDogc3RlcHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkaXNjb25uZWN0V2ViU29ja2V0KCkge1xuICAgICAgICBpZiAodGhpcy5fZXhjbHVzaW9uUHJvY2Vzc1N0YXR1c0NoYW5nZWRTdWJzY3JpYmUpIHtcbiAgICAgICAgICAgIHRoaXMuX2V4Y2x1c2lvblByb2Nlc3NTdGF0dXNDaGFuZ2VkU3Vic2NyaWJlLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLl9leGNsdXNpb25Qcm9jZXNzU3RhdHVzQ2hhbmdlZFN1YnNjcmliZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fd2Vic29ja2V0U2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5fd2Vic29ja2V0U2VydmljZS5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICB0aGlzLl93ZWJzb2NrZXRTZXJ2aWNlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY29ubmVjdFdlYlNvY2tldCgpIHtcbiAgICAgICAgaWYgKHRoaXMuX3dlYnNvY2tldFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzY29ubmVjdFdlYlNvY2tldCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fd2Vic29ja2V0U2VydmljZSA9IG5ldyBXZWJzb2NrZXRTZXJ2aWNlKCk7XG4gICAgICAgIHRoaXMuX3dlYnNvY2tldFNlcnZpY2VcbiAgICAgICAgICAgIC5vbkNvbm5lY3QoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0TGlzdGVuaW5nV2ViaG9va0V2ZW50cygpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb2Nlc3NEZXRhaWxzICYmICF0aGlzLmlzUHJvY2Vzc0ZpbmlzaGVkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc0RldGFpbHModGhpcy5fZXhjbHVzaW9uRGV0YWlscyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydExpc3RlbmluZ1dlYmhvb2tFdmVudHMoKSB7XG4gICAgICAgIHRoaXMuX3dlYnNvY2tldFNlcnZpY2VcbiAgICAgICAgICAgIC5vbkVycm9yKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiBjb25zb2xlLmVycm9yKCdvbldTRXJyb3InLCBkYXRhKSk7XG5cbiAgICAgICAgdGhpcy5fZXhjbHVzaW9uUHJvY2Vzc1N0YXR1c0NoYW5nZWRTdWJzY3JpYmUgPSB0aGlzLl93ZWJzb2NrZXRTZXJ2aWNlXG4gICAgICAgICAgICAub25FdmVudDxXZWJzb2NrZXRFdmVudERhdGE8RXhjbHVzaW9uUHJvY2Vzc1N0YXR1c0NoYW5nZWQ+Pih7XG4gICAgICAgICAgICAgICAgZG9tYWluOiB0aGlzLnByb2plY3RDb25maWdzLmdldERvbWFpbigpLFxuICAgICAgICAgICAgICAgIHNlcnZpY2U6IHRoaXMucHJvamVjdENvbmZpZ3MuZ2V0U2VydmljZSgpLFxuICAgICAgICAgICAgICAgIHByaW1pdGl2ZTogXCJleGNsdXNpb25Qcm9jZXNzU3RhdHVzQ2hhbmdlZFwiXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogV2Vic29ja2V0RXZlbnREYXRhPEV4Y2x1c2lvblByb2Nlc3NTdGF0dXNDaGFuZ2VkPikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gZXZlbnQ7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fZXhjbHVzaW9uRGV0YWlscy5wcm9jZXNzSWQgJiYgZGF0YS5waWQgPT09IHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMucHJvY2Vzc0lkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZFByb2Nlc3NEZXRhaWxzKHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMucmVjb3JkSWQgJiYgZGF0YS5yZWNvcmRJZCA9PT0gdGhpcy5fZXhjbHVzaW9uRGV0YWlscy5yZWNvcmRJZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRQcm9jZXNzRGV0YWlscyh0aGlzLl9leGNsdXNpb25EZXRhaWxzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
375
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9uLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2V4Y2x1c2lvbi1wcm9jZXNzLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImV4Y2x1c2lvbi1kZXRhaWxzL2V4Y2x1c2lvbi1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXFCLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBNEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwSCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSXBGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBTTFFLE1BQU0sOEJBQThCLEdBQUU7SUFDbEM7UUFDSSxTQUFTLEVBQUUsMEJBQTBCLENBQUMsS0FBSztRQUMzQyxLQUFLLEVBQUUsZUFBZSxDQUFDLEdBQUc7S0FDN0I7SUFDRDtRQUNJLFNBQVMsRUFBRSwwQkFBMEIsQ0FBQyxPQUFPO1FBQzdDLEtBQUssRUFBRSxlQUFlLENBQUMsTUFBTTtL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b21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IFdlYnNvY2tldFNlcnZpY2UgfSBmcm9tIFwiQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBFbnVtQmFkZ2VDb2xvcnMsIEVudW1Db2x1bW5GaWVsZFR5cGUsIFRhYmxlQ29sdW1uTG9jYWxlT3B0aW9ucyB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzIH0gZnJvbSBcIi4uL2VudW1zL2VudW0tZXhjbHVzaW9uLXByb2Nlc3Mtc3RhdHVzXCI7XG5pbXBvcnQgeyBFeGNsdXNpb25Qcm9jZXNzIH0gZnJvbSBcIi4uL21vZGVscy9leGNsdXNpb24tcHJvY2Vzc1wiO1xuaW1wb3J0IHsgRXhjbHVzaW9uUHJvY2Vzc1N0ZXAgfSBmcm9tIFwiLi4vbW9kZWxzL2V4Y2x1c2lvbi1wcm9jZXNzLXN0ZXBcIjtcbmltcG9ydCB7IEV4Y2x1c2lvblByb2Nlc3NTdGVwR3JvdXAgfSBmcm9tIFwiLi4vbW9kZWxzL2V4Y2x1c2lvbi1wcm9jZXNzLXN0ZXAtZ3JvdXBcIjtcbmltcG9ydCB7IExvZ2ljYWxEZWxldGVDb25maWdTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2xvZ2ljYWwtZGVsZXRlLWNvbmZpZy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBMb2dpY2FsRGVsZXRlU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9sb2dpY2FsLWRlbGV0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFeGNsdXNpb25EZXRhaWxzIH0gZnJvbSBcIi4vcHJvdG9jb2xzL2V4Y2x1c2lvbi1kZXRhaWxzXCI7XG5pbXBvcnQgeyBFeGNsdXNpb25Qcm9jZXNzU3RhdHVzQ2hhbmdlZCB9IGZyb20gXCIuL3Byb3RvY29scy9leGNsdXNpb24tcHJvY2Vzcy1zdGF0dXMtY2hhbmdlZFwiO1xuaW1wb3J0IHsgU2hvd0RldGFpbHNJbmZvcm1hdGlvbiB9IGZyb20gXCIuL3Byb3RvY29scy9zaG93LWRldGFpbHMtaW5mb3JtYXRpb25cIjtcbmltcG9ydCB7IFdlYnNvY2tldEV2ZW50RGF0YSB9IGZyb20gXCIuL3Byb3RvY29scy93ZWItc29ja2V0LWV2ZW50LWRhdGFcIjtcblxuY29uc3QgRVhDTFVTSU9OX1BST0NFU1NfU1RBVFVTX0JBREdFID1bXG4gICAge1xuICAgICAgICBlbnVtVmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLkVSUk9SLFxuICAgICAgICBjb2xvcjogRW51bUJhZGdlQ29sb3JzLlJFRFxuICAgIH0sXG4gICAge1xuICAgICAgICBlbnVtVmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlBFTkRJTkcsXG4gICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuWUVMTE9XXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuUFJPQ0VTU0lORyxcbiAgICAgICAgY29sb3I6IEVudW1CYWRnZUNvbG9ycy5CTFVFXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuU1VDQ0VTUyxcbiAgICAgICAgY29sb3I6IEVudW1CYWRnZUNvbG9ycy5HUkVFTlxuICAgIH1cbl07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtZXhjbHVzaW9uLWRldGFpbHNcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2V4Y2x1c2lvbi1kZXRhaWxzLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2V4Y2x1c2lvbi1kZXRhaWxzLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRXhjbHVzaW9uRGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgbG9jYWxlITogVGFibGVDb2x1bW5Mb2NhbGVPcHRpb25zO1xuXG4gICAgQE91dHB1dCgpXG4gICAgZ2V0IGlzVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVmlzaWJsZTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBnZXQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNMb2FkaW5nO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGdldCBwcm9jZXNzR3JvdXBEYXRhKCk6IEV4Y2x1c2lvbkRldGFpbHNbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm9jZXNzR3JvdXBEYXRhO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGdldCBwcm9jZXNzR3JvdXBDb2x1bW5zKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NHcm91cENvbHVtbnM7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgZ2V0IHByb2Nlc3NTdGVwQ29sdW1ucygpOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm9jZXNzU3RlcENvbHVtbnM7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHByb2Nlc3NEZXRhaWxzOiBFeGNsdXNpb25Qcm9jZXNzO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGVudGl0eURlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZXhwYW5kZWRSb3dzOiBhbnkgPSB7fTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvblByb2Nlc3NGaW5pc2hlZFN1Y2Nlc3NmdWxseTogRXZlbnRFbWl0dGVyPEV4Y2x1c2lvblByb2Nlc3M+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSBfaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfcHJvY2Vzc0dyb3VwRGF0YTogRXhjbHVzaW9uUHJvY2Vzc1N0ZXBHcm91cFtdID0gW107XG4gICAgcHJpdmF0ZSBfcHJvY2Vzc0dyb3VwQ29sdW1uczogYW55W10gPSBbXTtcbiAgICBwcml2YXRlIF9wcm9jZXNzU3RlcENvbHVtbnM6IGFueVtdID0gW107XG4gICAgcHJpdmF0ZSBfd2Vic29ja2V0U2VydmljZTogV2Vic29ja2V0U2VydmljZTtcbiAgICBwcml2YXRlIF9leGNsdXNpb25Qcm9jZXNzU3RhdHVzQ2hhbmdlZFN1YnNjcmliZTogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgX2V4Y2x1c2lvbkRldGFpbHM6IFNob3dEZXRhaWxzSW5mb3JtYXRpb247XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbkxvYWRQcm9jZXNzOiBTdWJzY3JpcHRpb24gPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBsb2dpY2FsRGVsZXRlU2VydmljZTogTG9naWNhbERlbGV0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvamVjdENvbmZpZ3M6IExvZ2ljYWxEZWxldGVDb25maWdTZXJ2aWNlXG4gICAgKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGUuZGF0YVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiB7IFtjb25maWdzOiBzdHJpbmddOiBhbnksIGxvY2FsZUNvbmZpZzogVGFibGVDb2x1bW5Mb2NhbGVPcHRpb25zIH0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsZSA9IGRhdGEubG9jYWxlQ29uZmlnO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3Byb2Nlc3NHcm91cENvbHVtbnMgPSB0aGlzLmdldEdyb3VwQ29sdW1ucygpO1xuICAgICAgICB0aGlzLl9wcm9jZXNzU3RlcENvbHVtbnMgPSB0aGlzLmdldFN0ZXBDb2x1bW5zKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgICAgICB0aGlzLmRpc2Nvbm5lY3RXZWJTb2NrZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvd0RldGFpbHMoZGV0YWlsczogU2hvd0RldGFpbHNJbmZvcm1hdGlvbikge1xuICAgICAgICB0aGlzLl9leGNsdXNpb25EZXRhaWxzID0gZGV0YWlscztcbiAgICAgICAgdGhpcy5faXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0dyb3VwRGF0YSA9IFtdO1xuXG4gICAgICAgIHRoaXMucHJvY2Vzc0RldGFpbHMgPSBudWxsO1xuICAgICAgICB0aGlzLmVudGl0eURlc2NyaXB0aW9uID0gZGV0YWlscy5lbnRpdHlEZXNjcmlwdGlvbjtcblxuICAgICAgICB0aGlzLmxvYWRQcm9jZXNzRGV0YWlscyhkZXRhaWxzLCB0cnVlKTtcblxuICAgICAgICB0aGlzLmNvbm5lY3RXZWJTb2NrZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25WaXNpYmlsaXR5Q2hhbmdlZChldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMuY2xvc2VEZXRhaWxzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlRGV0YWlscygpIHtcbiAgICAgICAgdGhpcy5faXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMgPSBudWxsO1xuICAgICAgICB0aGlzLl9wcm9jZXNzR3JvdXBEYXRhID0gW107XG4gICAgICAgIHRoaXMuZGlzY29ubmVjdFdlYlNvY2tldCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSZWNvcmREZXNjcmlwdGlvbigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnByb2Nlc3NEZXRhaWxzPy5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzRGV0YWlscy5kZXNjcmlwdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SW5pY2lhbERhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5wcm9jZXNzRGV0YWlscz8uc3RhcnREYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtb21lbnQodGhpcy5wcm9jZXNzRGV0YWlscy5zdGFydERhdGUpLmZvcm1hdChcIkREL01NL1lZWVkgSEg6bW06c3NcIik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpbmlzaERhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5wcm9jZXNzRGV0YWlscz8uZmluaXNoRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbW9tZW50KHRoaXMucHJvY2Vzc0RldGFpbHMuZmluaXNoRGF0ZSkuZm9ybWF0KFwiREQvTU0vWVlZWSBISDptbTpzc1wiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNGaW5pc2hlZCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5wcm9jZXNzRGV0YWlscz8uZmluaXNoRGF0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2hvd0V4Y2x1c2lvbnNCdXR0b25MYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zaG93X2RlbGV0aW9uc2ApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDbG9zZUJ1dHRvbkxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2Nsb3NlYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFVwZGF0ZUJ1dHRvbkxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX3VwZGF0ZWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTdW1tYXJ5TGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfc3VtbWFyeWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTdGFydERhdGVMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zdGFydGApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGaW5pc2hEYXRlTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZmluaXNoYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNpZGViYXJUaXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9kZXRhaWxzX3RpdGxlYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEVtcHR5U3RhdGVUaXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9lbXB0eV9zdGF0ZV90aXRsZWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFbXB0eVN0YXRlRGVzY3JpcHRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZW1wdHlfc3RhdGVfZGVzY3JpcHRpb25gKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEdyb3VwQ29sdW1ucygpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJkZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtcImRlc2NyaXB0aW9uXCJdLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2dyb3VwYCksXG4gICAgICAgICAgICAgICAgdHlwZTogRW51bUNvbHVtbkZpZWxkVHlwZS5TVFJJTkcsXG4gICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMzQwcHhcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwic3RhdHVzXCIsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogW1wic3RhdHVzXCJdLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX3N0YXR1c2ApLFxuICAgICAgICAgICAgICAgIHR5cGU6IEVudW1Db2x1bW5GaWVsZFR5cGUuRU5VTSxcbiAgICAgICAgICAgICAgICBlbnVtUHJlZml4OiBgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2VudW1fZXhjbHVzaW9uX3Byb2Nlc3Nfc3RhdHVzX2AsXG4gICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwcHhcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdG9vbHRpcDogdGhpcy5nZXRDb2x1bW5TdGF0dXNUb29sdGlwLFxuICAgICAgICAgICAgICAgIGJhZGdlQ29uZmlnczogRVhDTFVTSU9OX1BST0NFU1NfU1RBVFVTX0JBREdFXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTdGVwQ29sdW1ucygpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJkZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtcImRlc2NyaXB0aW9uXCJdLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX3N0ZXBgKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnVtQ29sdW1uRmllbGRUeXBlLlNUUklORyxcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIzNDBweFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJzdGF0dXNcIixcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXCJzdGF0dXNcIl0sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfc3RhdHVzYCksXG4gICAgICAgICAgICAgICAgdHlwZTogRW51bUNvbHVtbkZpZWxkVHlwZS5FTlVNLFxuICAgICAgICAgICAgICAgIGVudW1QcmVmaXg6IGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZW51bV9leGNsdXNpb25fcHJvY2Vzc19zdGF0dXNfYCxcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxMDBweFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0b29sdGlwOiB0aGlzLmdldENvbHVtblN0YXR1c1Rvb2x0aXAsXG4gICAgICAgICAgICAgICAgYmFkZ2VDb25maWdzOiBFWENMVVNJT05fUFJPQ0VTU19TVEFUVVNfQkFER0VcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbHVtblN0YXR1c1Rvb2x0aXAocm93VmFsdWU6IEV4Y2x1c2lvbkRldGFpbHMpIHtcbiAgICAgICAgaWYgKHJvd1ZhbHVlLmVycm9yTWVzc2FnZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJvd1ZhbHVlLmVycm9yTWVzc2FnZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVEZXRhaWxzKCkge1xuICAgICAgICBpZiAoIXRoaXMuX2V4Y2x1c2lvbkRldGFpbHMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRQcm9jZXNzRGV0YWlscyh0aGlzLl9leGNsdXNpb25EZXRhaWxzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFib3J0UnVubmluZ0xvYWRQcm9jZXNzQ2FsbCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uTG9hZFByb2Nlc3MpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbkxvYWRQcm9jZXNzLmNsb3NlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uTG9hZFByb2Nlc3MgPSBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkxvYWRQcm9jZXNzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25Mb2FkUHJvY2VzcyA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRQcm9jZXNzRGV0YWlscyhkZXRhaWxzOiBTaG93RGV0YWlsc0luZm9ybWF0aW9uLCBmaXJzdExvYWQgPSBmYWxzZSkge1xuICAgICAgICB0aGlzLl9pc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuYWJvcnRSdW5uaW5nTG9hZFByb2Nlc3NDYWxsKCk7XG5cbiAgICAgICAgY29uc3QgcHJvY2Vzc09ic2VydmFibGUgPSBkZXRhaWxzLnByb2Nlc3NJZFxuICAgICAgICAgICAgPyB0aGlzLmxvZ2ljYWxEZWxldGVTZXJ2aWNlLmdldFByb2Nlc3NEZXRhaWxzKGRldGFpbHMucHJvY2Vzc0lkKVxuICAgICAgICAgICAgOiB0aGlzLmxvZ2ljYWxEZWxldGVTZXJ2aWNlLmdldExhdGVzdFByb2Nlc3NEZXRhaWxzKGRldGFpbHMucmVjb3JkSWQpO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uTG9hZFByb2Nlc3MgPSBwcm9jZXNzT2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLl9pc0xvYWRpbmcgPSBmYWxzZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChwcm9jZXNzOiBFeGNsdXNpb25Qcm9jZXNzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFwcm9jZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NEZXRhaWxzID0gcHJvY2VzcztcbiAgICAgICAgICAgICAgICB0aGlzLl9wcm9jZXNzR3JvdXBEYXRhID0gdGhpcy5zb3J0R3JvdXBzQnlTdGFydERhdGUocHJvY2Vzcy5ncm91cHMpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAocCA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ucCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXBzOiB0aGlzLnNvcnRTdGVwc0J5U3RhcnREYXRlKHAuc3RlcHMpXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWRSb3dzID0ge307XG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc0dyb3VwRGF0YVxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKHAgPT4gcC5zdGF0dXMgIT09IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlNVQ0NFU1MpXG4gICAgICAgICAgICAgICAgICAgIC5mb3JFYWNoKHAgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5leHBhbmRlZFJvd3NbcC5pZF0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzUHJvY2Vzc0ZpbmlzaGVkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNjb25uZWN0V2ViU29ja2V0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghZmlyc3RMb2FkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tJZlByb2Nlc3NXYXNTdWNjZXNzdWZ1bCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNQcm9jZXNzRmluaXNoZWQoKSB7XG4gICAgICAgIGlmICghdGhpcy5fcHJvY2Vzc0dyb3VwRGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9wcm9jZXNzR3JvdXBEYXRhXG4gICAgICAgICAgICAuZXZlcnkocCA9PiBwLnN0YXR1cyA9PT0gRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuRVJST1IgfHwgcC5zdGF0dXMgPT09IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlNVQ0NFU1MpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tJZlByb2Nlc3NXYXNTdWNjZXNzdWZ1bCgpIHtcbiAgICAgICAgY29uc3QgaXNQcm9jZXNzU3VjY2Vzc2Z1bCA9IHRoaXMuX3Byb2Nlc3NHcm91cERhdGFcbiAgICAgICAgICAgIC5ldmVyeShwID0+IHAuc3RhdHVzID09PSBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5TVUNDRVNTKTtcbiAgICAgICAgaWYgKGlzUHJvY2Vzc1N1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHRoaXMubm90aWZ5UHJvY2Vzc0ZpbmlzaGVkU3VjY2Vzc2Z1bGx5KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG5vdGlmeVByb2Nlc3NGaW5pc2hlZFN1Y2Nlc3NmdWxseSgpIHtcbiAgICAgICAgdGhpcy5vblByb2Nlc3NGaW5pc2hlZFN1Y2Nlc3NmdWxseS5lbWl0KHRoaXMucHJvY2Vzc0RldGFpbHMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc29ydEJ5RGF0ZShmaXJzdERhdGU6IERhdGUsIHNlY29uZERhdGU6IERhdGUpIHtcbiAgICAgICAgaWYgKCFmaXJzdERhdGUgfHwgIXNlY29uZERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpcnN0RGF0ZS5nZXRUaW1lKCkgPiBzZWNvbmREYXRlLmdldFRpbWUoKSkge1xuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpcnN0RGF0ZS5nZXRUaW1lKCkgPCBzZWNvbmREYXRlLmdldFRpbWUoKSkge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgc29ydEdyb3Vwc0J5U3RhcnREYXRlKGdyb3VwczogRXhjbHVzaW9uUHJvY2Vzc1N0ZXBHcm91cFtdKSB7XG4gICAgICAgIHJldHVybiBncm91cHM/Lmxlbmd0aCA/IGdyb3Vwcy5zb3J0KChhLCBiKSA9PiB0aGlzLnNvcnRCeURhdGUoYS5zdGFydERhdGUsIGIuc3RhcnREYXRlKSkgOiBncm91cHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzb3J0U3RlcHNCeVN0YXJ0RGF0ZShzdGVwczogRXhjbHVzaW9uUHJvY2Vzc1N0ZXBbXSkge1xuICAgICAgICByZXR1cm4gc3RlcHM/Lmxlbmd0aCA/IHN0ZXBzLnNvcnQoKGEsIGIpID0+IHRoaXMuc29ydEJ5RGF0ZShhLnN0YXJ0RGF0ZSwgYi5zdGFydERhdGUpKSA6IHN0ZXBzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGlzY29ubmVjdFdlYlNvY2tldCgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2V4Y2x1c2lvblByb2Nlc3NTdGF0dXNDaGFuZ2VkU3Vic2NyaWJlKSB7XG4gICAgICAgICAgICB0aGlzLl9leGNsdXNpb25Qcm9jZXNzU3RhdHVzQ2hhbmdlZFN1YnNjcmliZS51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5fZXhjbHVzaW9uUHJvY2Vzc1N0YXR1c0NoYW5nZWRTdWJzY3JpYmUgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX3dlYnNvY2tldFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3dlYnNvY2tldFNlcnZpY2UuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgdGhpcy5fd2Vic29ja2V0U2VydmljZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbm5lY3RXZWJTb2NrZXQoKSB7XG4gICAgICAgIGlmICh0aGlzLl93ZWJzb2NrZXRTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLmRpc2Nvbm5lY3RXZWJTb2NrZXQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3dlYnNvY2tldFNlcnZpY2UgPSBuZXcgV2Vic29ja2V0U2VydmljZSgpO1xuICAgICAgICB0aGlzLl93ZWJzb2NrZXRTZXJ2aWNlXG4gICAgICAgICAgICAub25Db25uZWN0KClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydExpc3RlbmluZ1dlYmhvb2tFdmVudHMoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9jZXNzRGV0YWlscyAmJiAhdGhpcy5pc1Byb2Nlc3NGaW5pc2hlZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZFByb2Nlc3NEZXRhaWxzKHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhcnRMaXN0ZW5pbmdXZWJob29rRXZlbnRzKCkge1xuICAgICAgICB0aGlzLl93ZWJzb2NrZXRTZXJ2aWNlXG4gICAgICAgICAgICAub25FcnJvcigpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4gY29uc29sZS5lcnJvcignb25XU0Vycm9yJywgZGF0YSkpO1xuXG4gICAgICAgIHRoaXMuX2V4Y2x1c2lvblByb2Nlc3NTdGF0dXNDaGFuZ2VkU3Vic2NyaWJlID0gdGhpcy5fd2Vic29ja2V0U2VydmljZVxuICAgICAgICAgICAgLm9uRXZlbnQ8V2Vic29ja2V0RXZlbnREYXRhPEV4Y2x1c2lvblByb2Nlc3NTdGF0dXNDaGFuZ2VkPj4oe1xuICAgICAgICAgICAgICAgIGRvbWFpbjogdGhpcy5wcm9qZWN0Q29uZmlncy5nZXREb21haW4oKSxcbiAgICAgICAgICAgICAgICBzZXJ2aWNlOiB0aGlzLnByb2plY3RDb25maWdzLmdldFNlcnZpY2UoKSxcbiAgICAgICAgICAgICAgICBwcmltaXRpdmU6IFwiZXhjbHVzaW9uUHJvY2Vzc1N0YXR1c0NoYW5nZWRcIlxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IFdlYnNvY2tldEV2ZW50RGF0YTxFeGNsdXNpb25Qcm9jZXNzU3RhdHVzQ2hhbmdlZD4pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGV2ZW50O1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMucHJvY2Vzc0lkICYmIGRhdGEucGlkID09PSB0aGlzLl9leGNsdXNpb25EZXRhaWxzLnByb2Nlc3NJZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRQcm9jZXNzRGV0YWlscyh0aGlzLl9leGNsdXNpb25EZXRhaWxzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9leGNsdXNpb25EZXRhaWxzLnJlY29yZElkICYmIGRhdGEucmVjb3JkSWQgPT09IHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMucmVjb3JkSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc0RldGFpbHModGhpcy5fZXhjbHVzaW9uRGV0YWlscyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,15 +1,15 @@
1
1
  import { __assign, __decorate } from "tslib";
2
- import * as moment from "moment";
3
- import { Component, Output, ViewEncapsulation, EventEmitter } from "@angular/core";
2
+ import { Component, EventEmitter, Output, ViewEncapsulation } from "@angular/core";
4
3
  import { ActivatedRoute } from "@angular/router";
5
4
  import { TranslateService } from "@ngx-translate/core";
5
+ import { WebsocketService } from "@senior-gestao-empresarial/angular-components";
6
+ import { EnumBadgeColors, EnumColumnFieldType } from "@seniorsistemas/angular-components";
7
+ import * as moment from "moment";
6
8
  import { Subject } from "rxjs";
7
9
  import { finalize, takeUntil } from "rxjs/operators";
8
- import { EnumBadgeColors, EnumColumnFieldType } from "@seniorsistemas/angular-components";
9
- import { WebsocketService } from "@senior-gestao-empresarial/angular-components";
10
10
  import { EnumExclusionProcessStatus } from "../enums/enum-exclusion-process-status";
11
- import { LogicalDeleteService } from "../services/logical-delete.service";
12
11
  import { LogicalDeleteConfigService } from "../services/logical-delete-config.service";
12
+ import { LogicalDeleteService } from "../services/logical-delete.service";
13
13
  var EXCLUSION_PROCESS_STATUS_BADGE = [
14
14
  {
15
15
  enumValue: EnumExclusionProcessStatus.ERROR,
@@ -400,4 +400,4 @@ var ExclusionDetailsComponent = /** @class */ (function () {
400
400
  return ExclusionDetailsComponent;
401
401
  }());
402
402
  export { ExclusionDetailsComponent };
403
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9uLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2V4Y2x1c2lvbi1wcm9jZXNzLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImV4Y2x1c2lvbi1kZXRhaWxzL2V4Y2x1c2lvbi1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQXFCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUE0QixNQUFNLG9DQUFvQyxDQUFDO0FBQ3BILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBS3ZGLElBQU0sOEJBQThCLEdBQUU7SUFDbEM7UUFDSSxTQUFTLEVBQUUsMEJBQTBCLENBQUMsS0FBSztRQUMzQyxLQUFLLEVBQUUsZUFBZSxDQUFDLEdBQUc7S0FDN0I7SUFDRDtRQUNJLFNBQVMsRUFBRSwwQkFBMEIsQ0FBQyxPQUFPO1FBQzdDLEtBQUssRUFBRSxlQUFlLENBQUMsTUFBTTtL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LE1BQU0sRUFBRTt3RUFDd0I7SUFHakM7UUFEQyxNQUFNLEVBQUU7bUVBQ3FCO0lBRzlCO1FBREMsTUFBTSxFQUFFO29GQUNpRjtJQXRDakYseUJBQXlCO1FBTnJDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IscW1NQUFpRDtZQUVqRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7U0FDeEMsQ0FBQztPQUNXLHlCQUF5QixDQTRYckM7SUFBRCxnQ0FBQztDQUFBLEFBNVhELElBNFhDO1NBNVhZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIE9uSW5pdCwgT25EZXN0cm95LCBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBFbnVtQmFkZ2VDb2xvcnMsIEVudW1Db2x1bW5GaWVsZFR5cGUsIFRhYmxlQ29sdW1uTG9jYWxlT3B0aW9ucyB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBXZWJzb2NrZXRTZXJ2aWNlIH0gZnJvbSBcIkBzZW5pb3ItZ2VzdGFvLWVtcHJlc2FyaWFsL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMgfSBmcm9tIFwiLi4vZW51bXMvZW51bS1leGNsdXNpb24tcHJvY2Vzcy1zdGF0dXNcIjtcbmltcG9ydCB7IEV4Y2x1c2lvbkRldGFpbHMgfSBmcm9tIFwiLi9wcm90b2NvbHMvZXhjbHVzaW9uLWRldGFpbHNcIjtcbmltcG9ydCB7IExvZ2ljYWxEZWxldGVTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2xvZ2ljYWwtZGVsZXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7IEV4Y2x1c2lvblByb2Nlc3MsIEV4Y2x1c2lvblByb2Nlc3NTdGVwLCBFeGNsdXNpb25Qcm9jZXNzU3RlcEdyb3VwIH0gZnJvbSBcIi4uL21vZGVscy9pbmRleFwiO1xuaW1wb3J0IHsgTG9naWNhbERlbGV0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvbG9naWNhbC1kZWxldGUtY29uZmlnLnNlcnZpY2VcIjtcbmltcG9ydCB7IFNob3dEZXRhaWxzSW5mb3JtYXRpb24gfSBmcm9tIFwiLi9wcm90b2NvbHNcIjtcbmltcG9ydCB7IEV4Y2x1c2lvblByb2Nlc3NTdGF0dXNDaGFuZ2VkIH0gZnJvbSBcIi4vcHJvdG9jb2xzL2V4Y2x1c2lvbi1wcm9jZXNzLXN0YXR1cy1jaGFuZ2VkXCI7XG5pbXBvcnQgeyBXZWJzb2NrZXRFdmVudERhdGEgfSBmcm9tIFwiLi9wcm90b2NvbHMvd2ViLXNvY2tldC1ldmVudC1kYXRhXCI7XG5cbmNvbnN0IEVYQ0xVU0lPTl9QUk9DRVNTX1NUQVRVU19CQURHRSA9W1xuICAgIHtcbiAgICAgICAgZW51bVZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5FUlJPUixcbiAgICAgICAgY29sb3I6IEVudW1CYWRnZUNvbG9ycy5SRURcbiAgICB9LFxuICAgIHtcbiAgICAgICAgZW51bVZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5QRU5ESU5HLFxuICAgICAgICBjb2xvcjogRW51bUJhZGdlQ29sb3JzLllFTExPV1xuICAgIH0sXG4gICAge1xuICAgICAgICBlbnVtVmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlBST0NFU1NJTkcsXG4gICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuQkxVRVxuICAgIH0sXG4gICAge1xuICAgICAgICBlbnVtVmFsdWU6IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlNVQ0NFU1MsXG4gICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuR1JFRU5cbiAgICB9XG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLWV4Y2x1c2lvbi1kZXRhaWxzXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9leGNsdXNpb24tZGV0YWlscy5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9leGNsdXNpb24tZGV0YWlscy5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEV4Y2x1c2lvbkRldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIGxvY2FsZSE6IFRhYmxlQ29sdW1uTG9jYWxlT3B0aW9ucztcblxuICAgIEBPdXRwdXQoKVxuICAgIGdldCBpc1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Zpc2libGU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgZ2V0IGlzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzTG9hZGluZztcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBnZXQgcHJvY2Vzc0dyb3VwRGF0YSgpOiBFeGNsdXNpb25EZXRhaWxzW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvY2Vzc0dyb3VwRGF0YTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBnZXQgcHJvY2Vzc0dyb3VwQ29sdW1ucygpOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm9jZXNzR3JvdXBDb2x1bW5zO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGdldCBwcm9jZXNzU3RlcENvbHVtbnMoKTogYW55W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvY2Vzc1N0ZXBDb2x1bW5zO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBwcm9jZXNzRGV0YWlsczogRXhjbHVzaW9uUHJvY2VzcztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBlbnRpdHlEZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGV4cGFuZGVkUm93czogYW55ID0ge307XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Qcm9jZXNzRmluaXNoZWRTdWNjZXNzZnVsbHk6IEV2ZW50RW1pdHRlcjxFeGNsdXNpb25Qcm9jZXNzPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHByaXZhdGUgX2lzVmlzaWJsZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzTG9hZGluZyA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3Byb2Nlc3NHcm91cERhdGE6IEV4Y2x1c2lvblByb2Nlc3NTdGVwR3JvdXBbXSA9IFtdO1xuICAgIHByaXZhdGUgX3Byb2Nlc3NHcm91cENvbHVtbnM6IGFueVtdID0gW107XG4gICAgcHJpdmF0ZSBfcHJvY2Vzc1N0ZXBDb2x1bW5zOiBhbnlbXSA9IFtdO1xuICAgIHByaXZhdGUgX3dlYnNvY2tldFNlcnZpY2U6IFdlYnNvY2tldFNlcnZpY2U7XG4gICAgcHJpdmF0ZSBfZXhjbHVzaW9uUHJvY2Vzc1N0YXR1c0NoYW5nZWRTdWJzY3JpYmU6IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIF9leGNsdXNpb25EZXRhaWxzOiBTaG93RGV0YWlsc0luZm9ybWF0aW9uO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25Mb2FkUHJvY2VzczogU3Vic2NyaXB0aW9uID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbG9naWNhbERlbGV0ZVNlcnZpY2U6IExvZ2ljYWxEZWxldGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByb2plY3RDb25maWdzOiBMb2dpY2FsRGVsZXRlQ29uZmlnU2VydmljZVxuICAgICkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlLmRhdGFcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogeyBbY29uZmlnczogc3RyaW5nXTogYW55LCBsb2NhbGVDb25maWc6IFRhYmxlQ29sdW1uTG9jYWxlT3B0aW9ucyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbGUgPSBkYXRhLmxvY2FsZUNvbmZpZztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9wcm9jZXNzR3JvdXBDb2x1bW5zID0gdGhpcy5nZXRHcm91cENvbHVtbnMoKTtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc1N0ZXBDb2x1bW5zID0gdGhpcy5nZXRTdGVwQ29sdW1ucygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG5cbiAgICAgICAgdGhpcy5kaXNjb25uZWN0V2ViU29ja2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3dEZXRhaWxzKGRldGFpbHM6IFNob3dEZXRhaWxzSW5mb3JtYXRpb24pIHtcbiAgICAgICAgdGhpcy5fZXhjbHVzaW9uRGV0YWlscyA9IGRldGFpbHM7XG4gICAgICAgIHRoaXMuX2lzVmlzaWJsZSA9IHRydWU7XG4gICAgICAgIHRoaXMuX3Byb2Nlc3NHcm91cERhdGEgPSBbXTtcblxuICAgICAgICB0aGlzLnByb2Nlc3NEZXRhaWxzID0gbnVsbDtcbiAgICAgICAgdGhpcy5lbnRpdHlEZXNjcmlwdGlvbiA9IGRldGFpbHMuZW50aXR5RGVzY3JpcHRpb247XG5cbiAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc0RldGFpbHMoZGV0YWlscywgdHJ1ZSk7XG5cbiAgICAgICAgdGhpcy5jb25uZWN0V2ViU29ja2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVmlzaWJpbGl0eUNoYW5nZWQoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmNsb3NlRGV0YWlscygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZURldGFpbHMoKSB7XG4gICAgICAgIHRoaXMuX2lzVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9leGNsdXNpb25EZXRhaWxzID0gbnVsbDtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0dyb3VwRGF0YSA9IFtdO1xuICAgICAgICB0aGlzLmRpc2Nvbm5lY3RXZWJTb2NrZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVjb3JkRGVzY3JpcHRpb24oKSB7XG4gICAgICAgIGlmICghdGhpcy5wcm9jZXNzRGV0YWlscz8uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0RldGFpbHMuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldEluaWNpYWxEYXRlKCkge1xuICAgICAgICBpZiAoIXRoaXMucHJvY2Vzc0RldGFpbHM/LnN0YXJ0RGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbW9tZW50KHRoaXMucHJvY2Vzc0RldGFpbHMuc3RhcnREYXRlKS5mb3JtYXQoXCJERC9NTS9ZWVlZIEhIOm1tOnNzXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGaW5pc2hEYXRlKCkge1xuICAgICAgICBpZiAoIXRoaXMucHJvY2Vzc0RldGFpbHM/LmZpbmlzaERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLnByb2Nlc3NEZXRhaWxzLmZpbmlzaERhdGUpLmZvcm1hdChcIkREL01NL1lZWVkgSEg6bW06c3NcIik7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRmluaXNoZWQoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucHJvY2Vzc0RldGFpbHM/LmZpbmlzaERhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNob3dFeGNsdXNpb25zQnV0dG9uTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfc2hvd19kZWxldGlvbnNgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2xvc2VCdXR0b25MYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9jbG9zZWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRVcGRhdGVCdXR0b25MYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV91cGRhdGVgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3VtbWFyeUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX3N1bW1hcnlgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3RhcnREYXRlTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfc3RhcnRgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmluaXNoRGF0ZUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2ZpbmlzaGApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTaWRlYmFyVGl0bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZGV0YWlsc190aXRsZWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFbXB0eVN0YXRlVGl0bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZW1wdHlfc3RhdGVfdGl0bGVgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RW1wdHlTdGF0ZURlc2NyaXB0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2VtcHR5X3N0YXRlX2Rlc2NyaXB0aW9uYCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRHcm91cENvbHVtbnMoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwiZGVzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXCJkZXNjcmlwdGlvblwiXSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9ncm91cGApLFxuICAgICAgICAgICAgICAgIHR5cGU6IEVudW1Db2x1bW5GaWVsZFR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjM0MHB4XCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcInN0YXR1c1wiLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtcInN0YXR1c1wiXSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zdGF0dXNgKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnVtQ29sdW1uRmllbGRUeXBlLkVOVU0sXG4gICAgICAgICAgICAgICAgZW51bVByZWZpeDogYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9lbnVtX2V4Y2x1c2lvbl9wcm9jZXNzX3N0YXR1c19gLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwMHB4XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRvb2x0aXA6IHRoaXMuZ2V0Q29sdW1uU3RhdHVzVG9vbHRpcCxcbiAgICAgICAgICAgICAgICBiYWRnZUNvbmZpZ3M6IEVYQ0xVU0lPTl9QUk9DRVNTX1NUQVRVU19CQURHRVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U3RlcENvbHVtbnMoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwiZGVzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXCJkZXNjcmlwdGlvblwiXSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zdGVwYCksXG4gICAgICAgICAgICAgICAgdHlwZTogRW51bUNvbHVtbkZpZWxkVHlwZS5TVFJJTkcsXG4gICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMzQwcHhcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwic3RhdHVzXCIsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogW1wic3RhdHVzXCJdLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX3N0YXR1c2ApLFxuICAgICAgICAgICAgICAgIHR5cGU6IEVudW1Db2x1bW5GaWVsZFR5cGUuRU5VTSxcbiAgICAgICAgICAgICAgICBlbnVtUHJlZml4OiBgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2VudW1fZXhjbHVzaW9uX3Byb2Nlc3Nfc3RhdHVzX2AsXG4gICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwcHhcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdG9vbHRpcDogdGhpcy5nZXRDb2x1bW5TdGF0dXNUb29sdGlwLFxuICAgICAgICAgICAgICAgIGJhZGdlQ29uZmlnczogRVhDTFVTSU9OX1BST0NFU1NfU1RBVFVTX0JBREdFXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb2x1bW5TdGF0dXNUb29sdGlwKHJvd1ZhbHVlOiBFeGNsdXNpb25EZXRhaWxzKSB7XG4gICAgICAgIGlmIChyb3dWYWx1ZS5lcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiByb3dWYWx1ZS5lcnJvck1lc3NhZ2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlRGV0YWlscygpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9leGNsdXNpb25EZXRhaWxzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc0RldGFpbHModGhpcy5fZXhjbHVzaW9uRGV0YWlscyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhYm9ydFJ1bm5pbmdMb2FkUHJvY2Vzc0NhbGwoKSB7XG4gICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbkxvYWRQcm9jZXNzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb25Mb2FkUHJvY2Vzcy5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkxvYWRQcm9jZXNzID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25Mb2FkUHJvY2Vzcy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uTG9hZFByb2Nlc3MgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkUHJvY2Vzc0RldGFpbHMoZGV0YWlsczogU2hvd0RldGFpbHNJbmZvcm1hdGlvbiwgZmlyc3RMb2FkID0gZmFsc2UpIHtcbiAgICAgICAgdGhpcy5faXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmFib3J0UnVubmluZ0xvYWRQcm9jZXNzQ2FsbCgpO1xuXG4gICAgICAgIGNvbnN0IHByb2Nlc3NPYnNlcnZhYmxlID0gZGV0YWlscy5wcm9jZXNzSWRcbiAgICAgICAgICAgID8gdGhpcy5sb2dpY2FsRGVsZXRlU2VydmljZS5nZXRQcm9jZXNzRGV0YWlscyhkZXRhaWxzLnByb2Nlc3NJZClcbiAgICAgICAgICAgIDogdGhpcy5sb2dpY2FsRGVsZXRlU2VydmljZS5nZXRMYXRlc3RQcm9jZXNzRGV0YWlscyhkZXRhaWxzLnJlY29yZElkKTtcblxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkxvYWRQcm9jZXNzID0gcHJvY2Vzc09ic2VydmFibGVcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5faXNMb2FkaW5nID0gZmFsc2UpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocHJvY2VzczogRXhjbHVzaW9uUHJvY2VzcykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcHJvY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRGV0YWlscyA9IHByb2Nlc3M7XG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc0dyb3VwRGF0YSA9IHRoaXMuc29ydEdyb3Vwc0J5U3RhcnREYXRlKHByb2Nlc3MuZ3JvdXBzKVxuICAgICAgICAgICAgICAgICAgICAubWFwKHAgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnAsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGVwczogdGhpcy5zb3J0U3RlcHNCeVN0YXJ0RGF0ZShwLnN0ZXBzKVxuICAgICAgICAgICAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkUm93cyA9IHt9O1xuICAgICAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NHcm91cERhdGFcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihwID0+IHAuc3RhdHVzICE9PSBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5TVUNDRVNTKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaChwID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWRSb3dzW3AuaWRdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1Byb2Nlc3NGaW5pc2hlZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzY29ubmVjdFdlYlNvY2tldCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIWZpcnN0TG9hZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrSWZQcm9jZXNzV2FzU3VjY2Vzc3VmdWwoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzUHJvY2Vzc0ZpbmlzaGVkKCkge1xuICAgICAgICBpZiAoIXRoaXMuX3Byb2Nlc3NHcm91cERhdGEubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fcHJvY2Vzc0dyb3VwRGF0YVxuICAgICAgICAgICAgLmV2ZXJ5KHAgPT4gcC5zdGF0dXMgPT09IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLkVSUk9SIHx8IHAuc3RhdHVzID09PSBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5TVUNDRVNTKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrSWZQcm9jZXNzV2FzU3VjY2Vzc3VmdWwoKSB7XG4gICAgICAgIGNvbnN0IGlzUHJvY2Vzc1N1Y2Nlc3NmdWwgPSB0aGlzLl9wcm9jZXNzR3JvdXBEYXRhXG4gICAgICAgICAgICAuZXZlcnkocCA9PiBwLnN0YXR1cyA9PT0gRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuU1VDQ0VTUyk7XG4gICAgICAgIGlmIChpc1Byb2Nlc3NTdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICB0aGlzLm5vdGlmeVByb2Nlc3NGaW5pc2hlZFN1Y2Nlc3NmdWxseSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBub3RpZnlQcm9jZXNzRmluaXNoZWRTdWNjZXNzZnVsbHkoKSB7XG4gICAgICAgIHRoaXMub25Qcm9jZXNzRmluaXNoZWRTdWNjZXNzZnVsbHkuZW1pdCh0aGlzLnByb2Nlc3NEZXRhaWxzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNvcnRCeURhdGUoZmlyc3REYXRlOiBEYXRlLCBzZWNvbmREYXRlOiBEYXRlKSB7XG4gICAgICAgIGlmICghZmlyc3REYXRlIHx8ICFzZWNvbmREYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaXJzdERhdGUuZ2V0VGltZSgpID4gc2Vjb25kRGF0ZS5nZXRUaW1lKCkpIHtcbiAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaXJzdERhdGUuZ2V0VGltZSgpIDwgc2Vjb25kRGF0ZS5nZXRUaW1lKCkpIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNvcnRHcm91cHNCeVN0YXJ0RGF0ZShncm91cHM6IEV4Y2x1c2lvblByb2Nlc3NTdGVwR3JvdXBbXSkge1xuICAgICAgICByZXR1cm4gZ3JvdXBzPy5sZW5ndGggPyBncm91cHMuc29ydCgoYSwgYikgPT4gdGhpcy5zb3J0QnlEYXRlKGEuc3RhcnREYXRlLCBiLnN0YXJ0RGF0ZSkpIDogZ3JvdXBzO1xuICAgIH1cblxuICAgIHByaXZhdGUgc29ydFN0ZXBzQnlTdGFydERhdGUoc3RlcHM6IEV4Y2x1c2lvblByb2Nlc3NTdGVwW10pIHtcbiAgICAgICAgcmV0dXJuIHN0ZXBzPy5sZW5ndGggPyBzdGVwcy5zb3J0KChhLCBiKSA9PiB0aGlzLnNvcnRCeURhdGUoYS5zdGFydERhdGUsIGIuc3RhcnREYXRlKSkgOiBzdGVwcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGRpc2Nvbm5lY3RXZWJTb2NrZXQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9leGNsdXNpb25Qcm9jZXNzU3RhdHVzQ2hhbmdlZFN1YnNjcmliZSkge1xuICAgICAgICAgICAgdGhpcy5fZXhjbHVzaW9uUHJvY2Vzc1N0YXR1c0NoYW5nZWRTdWJzY3JpYmUudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuX2V4Y2x1c2lvblByb2Nlc3NTdGF0dXNDaGFuZ2VkU3Vic2NyaWJlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl93ZWJzb2NrZXRTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLl93ZWJzb2NrZXRTZXJ2aWNlLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgIHRoaXMuX3dlYnNvY2tldFNlcnZpY2UgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25uZWN0V2ViU29ja2V0KCkge1xuICAgICAgICBpZiAodGhpcy5fd2Vic29ja2V0U2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5kaXNjb25uZWN0V2ViU29ja2V0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl93ZWJzb2NrZXRTZXJ2aWNlID0gbmV3IFdlYnNvY2tldFNlcnZpY2UoKTtcbiAgICAgICAgdGhpcy5fd2Vic29ja2V0U2VydmljZVxuICAgICAgICAgICAgLm9uQ29ubmVjdCgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRMaXN0ZW5pbmdXZWJob29rRXZlbnRzKCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvY2Vzc0RldGFpbHMgJiYgIXRoaXMuaXNQcm9jZXNzRmluaXNoZWQoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRQcm9jZXNzRGV0YWlscyh0aGlzLl9leGNsdXNpb25EZXRhaWxzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXJ0TGlzdGVuaW5nV2ViaG9va0V2ZW50cygpIHtcbiAgICAgICAgdGhpcy5fd2Vic29ja2V0U2VydmljZVxuICAgICAgICAgICAgLm9uRXJyb3IoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IGNvbnNvbGUuZXJyb3IoJ29uV1NFcnJvcicsIGRhdGEpKTtcblxuICAgICAgICB0aGlzLl9leGNsdXNpb25Qcm9jZXNzU3RhdHVzQ2hhbmdlZFN1YnNjcmliZSA9IHRoaXMuX3dlYnNvY2tldFNlcnZpY2VcbiAgICAgICAgICAgIC5vbkV2ZW50PFdlYnNvY2tldEV2ZW50RGF0YTxFeGNsdXNpb25Qcm9jZXNzU3RhdHVzQ2hhbmdlZD4+KHtcbiAgICAgICAgICAgICAgICBkb21haW46IHRoaXMucHJvamVjdENvbmZpZ3MuZ2V0RG9tYWluKCksXG4gICAgICAgICAgICAgICAgc2VydmljZTogdGhpcy5wcm9qZWN0Q29uZmlncy5nZXRTZXJ2aWNlKCksXG4gICAgICAgICAgICAgICAgcHJpbWl0aXZlOiBcImV4Y2x1c2lvblByb2Nlc3NTdGF0dXNDaGFuZ2VkXCJcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBXZWJzb2NrZXRFdmVudERhdGE8RXhjbHVzaW9uUHJvY2Vzc1N0YXR1c0NoYW5nZWQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBkYXRhIH0gPSBldmVudDtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9leGNsdXNpb25EZXRhaWxzLnByb2Nlc3NJZCAmJiBkYXRhLnBpZCA9PT0gdGhpcy5fZXhjbHVzaW9uRGV0YWlscy5wcm9jZXNzSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc0RldGFpbHModGhpcy5fZXhjbHVzaW9uRGV0YWlscyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fZXhjbHVzaW9uRGV0YWlscy5yZWNvcmRJZCAmJiBkYXRhLnJlY29yZElkID09PSB0aGlzLl9leGNsdXNpb25EZXRhaWxzLnJlY29yZElkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZFByb2Nlc3NEZXRhaWxzKHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
403
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVzaW9uLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2V4Y2x1c2lvbi1wcm9jZXNzLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImV4Y2x1c2lvbi1kZXRhaWxzL2V4Y2x1c2lvbi1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXFCLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBNEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwSCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSXBGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBTTFFLElBQU0sOEJBQThCLEdBQUU7SUFDbEM7UUFDSSxTQUFTLEVBQUUsMEJBQTBCLENBQUMsS0FBSztRQUMzQyxLQUFLLEVBQUUsZUFBZSxDQUFDLEdBQUc7S0FDN0I7SUFDRDtRQUNJLFNBQVMsRUFBRSwwQkFBMEIsQ0FBQyxPQUFPO1FBQzdDLEtBQUssRUFBRSxlQUFlLENBQUMsTUFBTTtL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LE1BQU0sRUFBRTt3RUFDd0I7SUFHakM7UUFEQyxNQUFNLEVBQUU7bUVBQ3FCO0lBRzlCO1FBREMsTUFBTSxFQUFFO29GQUNpRjtJQXRDakYseUJBQXlCO1FBTnJDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IscW1NQUFpRDtZQUVqRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7U0FDeEMsQ0FBQztPQUNXLHlCQUF5QixDQTRYckM7SUFBRCxnQ0FBQztDQUFBLEFBNVhELElBNFhDO1NBNVhZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgV2Vic29ja2V0U2VydmljZSB9IGZyb20gXCJAc2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IEVudW1CYWRnZUNvbG9ycywgRW51bUNvbHVtbkZpZWxkVHlwZSwgVGFibGVDb2x1bW5Mb2NhbGVPcHRpb25zIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZmluYWxpemUsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMgfSBmcm9tIFwiLi4vZW51bXMvZW51bS1leGNsdXNpb24tcHJvY2Vzcy1zdGF0dXNcIjtcbmltcG9ydCB7IEV4Y2x1c2lvblByb2Nlc3MgfSBmcm9tIFwiLi4vbW9kZWxzL2V4Y2x1c2lvbi1wcm9jZXNzXCI7XG5pbXBvcnQgeyBFeGNsdXNpb25Qcm9jZXNzU3RlcCB9IGZyb20gXCIuLi9tb2RlbHMvZXhjbHVzaW9uLXByb2Nlc3Mtc3RlcFwiO1xuaW1wb3J0IHsgRXhjbHVzaW9uUHJvY2Vzc1N0ZXBHcm91cCB9IGZyb20gXCIuLi9tb2RlbHMvZXhjbHVzaW9uLXByb2Nlc3Mtc3RlcC1ncm91cFwiO1xuaW1wb3J0IHsgTG9naWNhbERlbGV0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvbG9naWNhbC1kZWxldGUtY29uZmlnLnNlcnZpY2VcIjtcbmltcG9ydCB7IExvZ2ljYWxEZWxldGVTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2xvZ2ljYWwtZGVsZXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7IEV4Y2x1c2lvbkRldGFpbHMgfSBmcm9tIFwiLi9wcm90b2NvbHMvZXhjbHVzaW9uLWRldGFpbHNcIjtcbmltcG9ydCB7IEV4Y2x1c2lvblByb2Nlc3NTdGF0dXNDaGFuZ2VkIH0gZnJvbSBcIi4vcHJvdG9jb2xzL2V4Y2x1c2lvbi1wcm9jZXNzLXN0YXR1cy1jaGFuZ2VkXCI7XG5pbXBvcnQgeyBTaG93RGV0YWlsc0luZm9ybWF0aW9uIH0gZnJvbSBcIi4vcHJvdG9jb2xzL3Nob3ctZGV0YWlscy1pbmZvcm1hdGlvblwiO1xuaW1wb3J0IHsgV2Vic29ja2V0RXZlbnREYXRhIH0gZnJvbSBcIi4vcHJvdG9jb2xzL3dlYi1zb2NrZXQtZXZlbnQtZGF0YVwiO1xuXG5jb25zdCBFWENMVVNJT05fUFJPQ0VTU19TVEFUVVNfQkFER0UgPVtcbiAgICB7XG4gICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuRVJST1IsXG4gICAgICAgIGNvbG9yOiBFbnVtQmFkZ2VDb2xvcnMuUkVEXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGVudW1WYWx1ZTogRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuUEVORElORyxcbiAgICAgICAgY29sb3I6IEVudW1CYWRnZUNvbG9ycy5ZRUxMT1dcbiAgICB9LFxuICAgIHtcbiAgICAgICAgZW51bVZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5QUk9DRVNTSU5HLFxuICAgICAgICBjb2xvcjogRW51bUJhZGdlQ29sb3JzLkJMVUVcbiAgICB9LFxuICAgIHtcbiAgICAgICAgZW51bVZhbHVlOiBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5TVUNDRVNTLFxuICAgICAgICBjb2xvcjogRW51bUJhZGdlQ29sb3JzLkdSRUVOXG4gICAgfVxuXTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1leGNsdXNpb24tZGV0YWlsc1wiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZXhjbHVzaW9uLWRldGFpbHMuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vZXhjbHVzaW9uLWRldGFpbHMuY29tcG9uZW50LnNjc3NcIl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBFeGNsdXNpb25EZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBsb2NhbGUhOiBUYWJsZUNvbHVtbkxvY2FsZU9wdGlvbnM7XG5cbiAgICBAT3V0cHV0KClcbiAgICBnZXQgaXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNWaXNpYmxlO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGdldCBpc0xvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0xvYWRpbmc7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgZ2V0IHByb2Nlc3NHcm91cERhdGEoKTogRXhjbHVzaW9uRGV0YWlsc1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NHcm91cERhdGE7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgZ2V0IHByb2Nlc3NHcm91cENvbHVtbnMoKTogYW55W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvY2Vzc0dyb3VwQ29sdW1ucztcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBnZXQgcHJvY2Vzc1N0ZXBDb2x1bW5zKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NTdGVwQ29sdW1ucztcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcHJvY2Vzc0RldGFpbHM6IEV4Y2x1c2lvblByb2Nlc3M7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZW50aXR5RGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBleHBhbmRlZFJvd3M6IGFueSA9IHt9O1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uUHJvY2Vzc0ZpbmlzaGVkU3VjY2Vzc2Z1bGx5OiBFdmVudEVtaXR0ZXI8RXhjbHVzaW9uUHJvY2Vzcz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwcml2YXRlIF9pc1Zpc2libGUgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9wcm9jZXNzR3JvdXBEYXRhOiBFeGNsdXNpb25Qcm9jZXNzU3RlcEdyb3VwW10gPSBbXTtcbiAgICBwcml2YXRlIF9wcm9jZXNzR3JvdXBDb2x1bW5zOiBhbnlbXSA9IFtdO1xuICAgIHByaXZhdGUgX3Byb2Nlc3NTdGVwQ29sdW1uczogYW55W10gPSBbXTtcbiAgICBwcml2YXRlIF93ZWJzb2NrZXRTZXJ2aWNlOiBXZWJzb2NrZXRTZXJ2aWNlO1xuICAgIHByaXZhdGUgX2V4Y2x1c2lvblByb2Nlc3NTdGF0dXNDaGFuZ2VkU3Vic2NyaWJlOiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBfZXhjbHVzaW9uRGV0YWlsczogU2hvd0RldGFpbHNJbmZvcm1hdGlvbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uTG9hZFByb2Nlc3M6IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2ljYWxEZWxldGVTZXJ2aWNlOiBMb2dpY2FsRGVsZXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9qZWN0Q29uZmlnczogTG9naWNhbERlbGV0ZUNvbmZpZ1NlcnZpY2VcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yb3V0ZS5kYXRhXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IHsgW2NvbmZpZ3M6IHN0cmluZ106IGFueSwgbG9jYWxlQ29uZmlnOiBUYWJsZUNvbHVtbkxvY2FsZU9wdGlvbnMgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxlID0gZGF0YS5sb2NhbGVDb25maWc7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc0dyb3VwQ29sdW1ucyA9IHRoaXMuZ2V0R3JvdXBDb2x1bW5zKCk7XG4gICAgICAgIHRoaXMuX3Byb2Nlc3NTdGVwQ29sdW1ucyA9IHRoaXMuZ2V0U3RlcENvbHVtbnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuXG4gICAgICAgIHRoaXMuZGlzY29ubmVjdFdlYlNvY2tldCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaG93RGV0YWlscyhkZXRhaWxzOiBTaG93RGV0YWlsc0luZm9ybWF0aW9uKSB7XG4gICAgICAgIHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMgPSBkZXRhaWxzO1xuICAgICAgICB0aGlzLl9pc1Zpc2libGUgPSB0cnVlO1xuICAgICAgICB0aGlzLl9wcm9jZXNzR3JvdXBEYXRhID0gW107XG5cbiAgICAgICAgdGhpcy5wcm9jZXNzRGV0YWlscyA9IG51bGw7XG4gICAgICAgIHRoaXMuZW50aXR5RGVzY3JpcHRpb24gPSBkZXRhaWxzLmVudGl0eURlc2NyaXB0aW9uO1xuXG4gICAgICAgIHRoaXMubG9hZFByb2Nlc3NEZXRhaWxzKGRldGFpbHMsIHRydWUpO1xuXG4gICAgICAgIHRoaXMuY29ubmVjdFdlYlNvY2tldCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblZpc2liaWxpdHlDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5jbG9zZURldGFpbHMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VEZXRhaWxzKCkge1xuICAgICAgICB0aGlzLl9pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fZXhjbHVzaW9uRGV0YWlscyA9IG51bGw7XG4gICAgICAgIHRoaXMuX3Byb2Nlc3NHcm91cERhdGEgPSBbXTtcbiAgICAgICAgdGhpcy5kaXNjb25uZWN0V2ViU29ja2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJlY29yZERlc2NyaXB0aW9uKCkge1xuICAgICAgICBpZiAoIXRoaXMucHJvY2Vzc0RldGFpbHM/LmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NEZXRhaWxzLmRlc2NyaXB0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJbmljaWFsRGF0ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnByb2Nlc3NEZXRhaWxzPy5zdGFydERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLnByb2Nlc3NEZXRhaWxzLnN0YXJ0RGF0ZSkuZm9ybWF0KFwiREQvTU0vWVlZWSBISDptbTpzc1wiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmluaXNoRGF0ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnByb2Nlc3NEZXRhaWxzPy5maW5pc2hEYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtb21lbnQodGhpcy5wcm9jZXNzRGV0YWlscy5maW5pc2hEYXRlKS5mb3JtYXQoXCJERC9NTS9ZWVlZIEhIOm1tOnNzXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0ZpbmlzaGVkKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLnByb2Nlc3NEZXRhaWxzPy5maW5pc2hEYXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTaG93RXhjbHVzaW9uc0J1dHRvbkxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX3Nob3dfZGVsZXRpb25zYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENsb3NlQnV0dG9uTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfY2xvc2VgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VXBkYXRlQnV0dG9uTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfdXBkYXRlYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFN1bW1hcnlMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zdW1tYXJ5YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFN0YXJ0RGF0ZUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX3N0YXJ0YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpbmlzaERhdGVMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9maW5pc2hgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2lkZWJhclRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2RldGFpbHNfdGl0bGVgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RW1wdHlTdGF0ZVRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHt0aGlzLnByb2plY3RDb25maWdzLmdldFRyYW5zbGF0aW9uUHJlZml4KCl9LmxvZ2ljYWxfZGVsZXRlX2VtcHR5X3N0YXRlX3RpdGxlYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEVtcHR5U3RhdGVEZXNjcmlwdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9lbXB0eV9zdGF0ZV9kZXNjcmlwdGlvbmApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0R3JvdXBDb2x1bW5zKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcImRlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogW1wiZGVzY3JpcHRpb25cIl0sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZ3JvdXBgKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnVtQ29sdW1uRmllbGRUeXBlLlNUUklORyxcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIzNDBweFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJzdGF0dXNcIixcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXCJzdGF0dXNcIl0sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfc3RhdHVzYCksXG4gICAgICAgICAgICAgICAgdHlwZTogRW51bUNvbHVtbkZpZWxkVHlwZS5FTlVNLFxuICAgICAgICAgICAgICAgIGVudW1QcmVmaXg6IGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfZW51bV9leGNsdXNpb25fcHJvY2Vzc19zdGF0dXNfYCxcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxMDBweFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0b29sdGlwOiB0aGlzLmdldENvbHVtblN0YXR1c1Rvb2x0aXAsXG4gICAgICAgICAgICAgICAgYmFkZ2VDb25maWdzOiBFWENMVVNJT05fUFJPQ0VTU19TVEFUVVNfQkFER0VcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFN0ZXBDb2x1bW5zKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcImRlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogW1wiZGVzY3JpcHRpb25cIl0sXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3RoaXMucHJvamVjdENvbmZpZ3MuZ2V0VHJhbnNsYXRpb25QcmVmaXgoKX0ubG9naWNhbF9kZWxldGVfc3RlcGApLFxuICAgICAgICAgICAgICAgIHR5cGU6IEVudW1Db2x1bW5GaWVsZFR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjM0MHB4XCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcInN0YXR1c1wiLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtcInN0YXR1c1wiXSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9zdGF0dXNgKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnVtQ29sdW1uRmllbGRUeXBlLkVOVU0sXG4gICAgICAgICAgICAgICAgZW51bVByZWZpeDogYCR7dGhpcy5wcm9qZWN0Q29uZmlncy5nZXRUcmFuc2xhdGlvblByZWZpeCgpfS5sb2dpY2FsX2RlbGV0ZV9lbnVtX2V4Y2x1c2lvbl9wcm9jZXNzX3N0YXR1c19gLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwMHB4XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRvb2x0aXA6IHRoaXMuZ2V0Q29sdW1uU3RhdHVzVG9vbHRpcCxcbiAgICAgICAgICAgICAgICBiYWRnZUNvbmZpZ3M6IEVYQ0xVU0lPTl9QUk9DRVNTX1NUQVRVU19CQURHRVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29sdW1uU3RhdHVzVG9vbHRpcChyb3dWYWx1ZTogRXhjbHVzaW9uRGV0YWlscykge1xuICAgICAgICBpZiAocm93VmFsdWUuZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gcm93VmFsdWUuZXJyb3JNZXNzYWdlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZURldGFpbHMoKSB7XG4gICAgICAgIGlmICghdGhpcy5fZXhjbHVzaW9uRGV0YWlscykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9hZFByb2Nlc3NEZXRhaWxzKHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWJvcnRSdW5uaW5nTG9hZFByb2Nlc3NDYWxsKCkge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb25Mb2FkUHJvY2Vzcykge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uTG9hZFByb2Nlc3MuY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25Mb2FkUHJvY2VzcyA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uTG9hZFByb2Nlc3MudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkxvYWRQcm9jZXNzID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFByb2Nlc3NEZXRhaWxzKGRldGFpbHM6IFNob3dEZXRhaWxzSW5mb3JtYXRpb24sIGZpcnN0TG9hZCA9IGZhbHNlKSB7XG4gICAgICAgIHRoaXMuX2lzTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5hYm9ydFJ1bm5pbmdMb2FkUHJvY2Vzc0NhbGwoKTtcblxuICAgICAgICBjb25zdCBwcm9jZXNzT2JzZXJ2YWJsZSA9IGRldGFpbHMucHJvY2Vzc0lkXG4gICAgICAgICAgICA/IHRoaXMubG9naWNhbERlbGV0ZVNlcnZpY2UuZ2V0UHJvY2Vzc0RldGFpbHMoZGV0YWlscy5wcm9jZXNzSWQpXG4gICAgICAgICAgICA6IHRoaXMubG9naWNhbERlbGV0ZVNlcnZpY2UuZ2V0TGF0ZXN0UHJvY2Vzc0RldGFpbHMoZGV0YWlscy5yZWNvcmRJZCk7XG5cbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25Mb2FkUHJvY2VzcyA9IHByb2Nlc3NPYnNlcnZhYmxlXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuX2lzTG9hZGluZyA9IGZhbHNlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHByb2Nlc3M6IEV4Y2x1c2lvblByb2Nlc3MpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXByb2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RldGFpbHMgPSBwcm9jZXNzO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NHcm91cERhdGEgPSB0aGlzLnNvcnRHcm91cHNCeVN0YXJ0RGF0ZShwcm9jZXNzLmdyb3VwcylcbiAgICAgICAgICAgICAgICAgICAgLm1hcChwID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5wLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RlcHM6IHRoaXMuc29ydFN0ZXBzQnlTdGFydERhdGUocC5zdGVwcylcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRlZFJvd3MgPSB7fTtcbiAgICAgICAgICAgICAgICB0aGlzLl9wcm9jZXNzR3JvdXBEYXRhXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIocCA9PiBwLnN0YXR1cyAhPT0gRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuU1VDQ0VTUylcbiAgICAgICAgICAgICAgICAgICAgLmZvckVhY2gocCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkUm93c1twLmlkXSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNQcm9jZXNzRmluaXNoZWQoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2Nvbm5lY3RXZWJTb2NrZXQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFmaXJzdExvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja0lmUHJvY2Vzc1dhc1N1Y2Nlc3N1ZnVsKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1Byb2Nlc3NGaW5pc2hlZCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9wcm9jZXNzR3JvdXBEYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NHcm91cERhdGFcbiAgICAgICAgICAgIC5ldmVyeShwID0+IHAuc3RhdHVzID09PSBFbnVtRXhjbHVzaW9uUHJvY2Vzc1N0YXR1cy5FUlJPUiB8fCBwLnN0YXR1cyA9PT0gRW51bUV4Y2x1c2lvblByb2Nlc3NTdGF0dXMuU1VDQ0VTUyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0lmUHJvY2Vzc1dhc1N1Y2Nlc3N1ZnVsKCkge1xuICAgICAgICBjb25zdCBpc1Byb2Nlc3NTdWNjZXNzZnVsID0gdGhpcy5fcHJvY2Vzc0dyb3VwRGF0YVxuICAgICAgICAgICAgLmV2ZXJ5KHAgPT4gcC5zdGF0dXMgPT09IEVudW1FeGNsdXNpb25Qcm9jZXNzU3RhdHVzLlNVQ0NFU1MpO1xuICAgICAgICBpZiAoaXNQcm9jZXNzU3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgdGhpcy5ub3RpZnlQcm9jZXNzRmluaXNoZWRTdWNjZXNzZnVsbHkoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbm90aWZ5UHJvY2Vzc0ZpbmlzaGVkU3VjY2Vzc2Z1bGx5KCkge1xuICAgICAgICB0aGlzLm9uUHJvY2Vzc0ZpbmlzaGVkU3VjY2Vzc2Z1bGx5LmVtaXQodGhpcy5wcm9jZXNzRGV0YWlscyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzb3J0QnlEYXRlKGZpcnN0RGF0ZTogRGF0ZSwgc2Vjb25kRGF0ZTogRGF0ZSkge1xuICAgICAgICBpZiAoIWZpcnN0RGF0ZSB8fCAhc2Vjb25kRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlyc3REYXRlLmdldFRpbWUoKSA+IHNlY29uZERhdGUuZ2V0VGltZSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlyc3REYXRlLmdldFRpbWUoKSA8IHNlY29uZERhdGUuZ2V0VGltZSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzb3J0R3JvdXBzQnlTdGFydERhdGUoZ3JvdXBzOiBFeGNsdXNpb25Qcm9jZXNzU3RlcEdyb3VwW10pIHtcbiAgICAgICAgcmV0dXJuIGdyb3Vwcz8ubGVuZ3RoID8gZ3JvdXBzLnNvcnQoKGEsIGIpID0+IHRoaXMuc29ydEJ5RGF0ZShhLnN0YXJ0RGF0ZSwgYi5zdGFydERhdGUpKSA6IGdyb3VwcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNvcnRTdGVwc0J5U3RhcnREYXRlKHN0ZXBzOiBFeGNsdXNpb25Qcm9jZXNzU3RlcFtdKSB7XG4gICAgICAgIHJldHVybiBzdGVwcz8ubGVuZ3RoID8gc3RlcHMuc29ydCgoYSwgYikgPT4gdGhpcy5zb3J0QnlEYXRlKGEuc3RhcnREYXRlLCBiLnN0YXJ0RGF0ZSkpIDogc3RlcHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkaXNjb25uZWN0V2ViU29ja2V0KCkge1xuICAgICAgICBpZiAodGhpcy5fZXhjbHVzaW9uUHJvY2Vzc1N0YXR1c0NoYW5nZWRTdWJzY3JpYmUpIHtcbiAgICAgICAgICAgIHRoaXMuX2V4Y2x1c2lvblByb2Nlc3NTdGF0dXNDaGFuZ2VkU3Vic2NyaWJlLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLl9leGNsdXNpb25Qcm9jZXNzU3RhdHVzQ2hhbmdlZFN1YnNjcmliZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fd2Vic29ja2V0U2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5fd2Vic29ja2V0U2VydmljZS5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICB0aGlzLl93ZWJzb2NrZXRTZXJ2aWNlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY29ubmVjdFdlYlNvY2tldCgpIHtcbiAgICAgICAgaWYgKHRoaXMuX3dlYnNvY2tldFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzY29ubmVjdFdlYlNvY2tldCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fd2Vic29ja2V0U2VydmljZSA9IG5ldyBXZWJzb2NrZXRTZXJ2aWNlKCk7XG4gICAgICAgIHRoaXMuX3dlYnNvY2tldFNlcnZpY2VcbiAgICAgICAgICAgIC5vbkNvbm5lY3QoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0TGlzdGVuaW5nV2ViaG9va0V2ZW50cygpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb2Nlc3NEZXRhaWxzICYmICF0aGlzLmlzUHJvY2Vzc0ZpbmlzaGVkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkUHJvY2Vzc0RldGFpbHModGhpcy5fZXhjbHVzaW9uRGV0YWlscyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydExpc3RlbmluZ1dlYmhvb2tFdmVudHMoKSB7XG4gICAgICAgIHRoaXMuX3dlYnNvY2tldFNlcnZpY2VcbiAgICAgICAgICAgIC5vbkVycm9yKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiBjb25zb2xlLmVycm9yKCdvbldTRXJyb3InLCBkYXRhKSk7XG5cbiAgICAgICAgdGhpcy5fZXhjbHVzaW9uUHJvY2Vzc1N0YXR1c0NoYW5nZWRTdWJzY3JpYmUgPSB0aGlzLl93ZWJzb2NrZXRTZXJ2aWNlXG4gICAgICAgICAgICAub25FdmVudDxXZWJzb2NrZXRFdmVudERhdGE8RXhjbHVzaW9uUHJvY2Vzc1N0YXR1c0NoYW5nZWQ+Pih7XG4gICAgICAgICAgICAgICAgZG9tYWluOiB0aGlzLnByb2plY3RDb25maWdzLmdldERvbWFpbigpLFxuICAgICAgICAgICAgICAgIHNlcnZpY2U6IHRoaXMucHJvamVjdENvbmZpZ3MuZ2V0U2VydmljZSgpLFxuICAgICAgICAgICAgICAgIHByaW1pdGl2ZTogXCJleGNsdXNpb25Qcm9jZXNzU3RhdHVzQ2hhbmdlZFwiXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogV2Vic29ja2V0RXZlbnREYXRhPEV4Y2x1c2lvblByb2Nlc3NTdGF0dXNDaGFuZ2VkPikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gZXZlbnQ7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fZXhjbHVzaW9uRGV0YWlscy5wcm9jZXNzSWQgJiYgZGF0YS5waWQgPT09IHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMucHJvY2Vzc0lkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZFByb2Nlc3NEZXRhaWxzKHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2V4Y2x1c2lvbkRldGFpbHMucmVjb3JkSWQgJiYgZGF0YS5yZWNvcmRJZCA9PT0gdGhpcy5fZXhjbHVzaW9uRGV0YWlscy5yZWNvcmRJZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRQcm9jZXNzRGV0YWlscyh0aGlzLl9leGNsdXNpb25EZXRhaWxzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -1,12 +1,12 @@
1
- import { OnInit, OnDestroy, EventEmitter } from "@angular/core";
1
+ import { EventEmitter, OnDestroy, OnInit } from "@angular/core";
2
2
  import { ActivatedRoute } from "@angular/router";
3
3
  import { TranslateService } from "@ngx-translate/core";
4
4
  import { TableColumnLocaleOptions } from "@seniorsistemas/angular-components";
5
- import { ExclusionDetails } from "./protocols/exclusion-details";
6
- import { LogicalDeleteService } from "../services/logical-delete.service";
7
- import { ExclusionProcess } from "../models/index";
5
+ import { ExclusionProcess } from "../models/exclusion-process";
8
6
  import { LogicalDeleteConfigService } from "../services/logical-delete-config.service";
9
- import { ShowDetailsInformation } from "./protocols";
7
+ import { LogicalDeleteService } from "../services/logical-delete.service";
8
+ import { ExclusionDetails } from "./protocols/exclusion-details";
9
+ import { ShowDetailsInformation } from "./protocols/show-details-information";
10
10
  export declare class ExclusionDetailsComponent implements OnInit, OnDestroy {
11
11
  private readonly route;
12
12
  private readonly translate;
@@ -4,12 +4,12 @@ import { InjectionToken, Inject, Injectable, EventEmitter, Output, Component, Vi
4
4
  import { PanelModule } from 'primeng/panel';
5
5
  import { TableModule } from 'primeng/table';
6
6
  import { EnumBadgeColors, EnumColumnFieldType, SidebarModule, ButtonModule, TableModule as TableModule$1, LoadingStateModule, LocaleModule, EmptyStateModule, FieldType, FormField, LocaleService, ControlErrorsModule, InfoSignModule, DynamicFormModule, TokenListModule } from '@seniorsistemas/angular-components';
7
- import * as moment from 'moment';
8
7
  import { ActivatedRoute, Router, RouterModule } from '@angular/router';
9
8
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
9
+ import { WebsocketService } from '@senior-gestao-empresarial/angular-components';
10
+ import * as moment from 'moment';
10
11
  import { throwError, Subject } from 'rxjs';
11
12
  import { catchError, map, takeUntil, finalize } from 'rxjs/operators';
12
- import { WebsocketService } from '@senior-gestao-empresarial/angular-components';
13
13
  import { HttpParams, HttpClient } from '@angular/common/http';
14
14
  import { MessageService } from 'primeng/api';
15
15
  import { Validators, FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms';