@abp/ng.core 4.4.0 → 4.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.
@@ -24,7 +24,6 @@ export class DynamicLayoutComponent {
24
24
  this.route = injector.get(ActivatedRoute);
25
25
  this.router = injector.get(Router);
26
26
  this.routes = injector.get(RoutesService);
27
- this.getLayout();
28
27
  this.checkLayoutOnNavigationEnd();
29
28
  this.listenToLanguageChange();
30
29
  }
@@ -85,4 +84,4 @@ DynamicLayoutComponent.ctorParameters = () => [
85
84
  { type: RouterEvents },
86
85
  { type: DynamicLayoutComponent, decorators: [{ type: Optional }, { type: SkipSelf }] }
87
86
  ];
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUl6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFjL0QsTUFBTSxPQUFPLHNCQUFzQjtJQWlCakMsWUFDRSxRQUFrQixFQUNWLG1CQUF3QyxFQUN4QyxxQkFBbUQsRUFDbkQsWUFBaUMsRUFDakMsWUFBMEIsRUFDVixzQkFBOEM7UUFKOUQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QywwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ25ELGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWxCcEMsMEVBQTBFO1FBQ2pFLFlBQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUN6QixDQUFDLGFBQWEsRUFBRSxrQ0FBa0MsQ0FBQztZQUNuRCxDQUFDLFNBQVMsRUFBRSw4QkFB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c0IsdUJBQXJFLFFBQVEsWUFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT3B0aW9uYWwsIFNraXBTZWxmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGVMYXlvdXRUeXBlIH0gZnJvbSAnLi4vZW51bXMvY29tbW9uJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZXBsYWNlYWJsZUNvbXBvbmVudHMgfSBmcm9tICcuLi9tb2RlbHMvcmVwbGFjZWFibGUtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbG9jYWxpemF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVwbGFjZWFibGVDb21wb25lbnRzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JlcGxhY2VhYmxlLWNvbXBvbmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXJFdmVudHMgfSBmcm9tICcuLi9zZXJ2aWNlcy9yb3V0ZXItZXZlbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUm91dGVzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JvdXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zdWJzY3JpcHRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBmaW5kUm91dGUsIGdldFJvdXRlUGF0aCB9IGZyb20gJy4uL3V0aWxzL3JvdXRlLXV0aWxzJztcbmltcG9ydCB7IFRyZWVOb2RlIH0gZnJvbSAnLi4vdXRpbHMvdHJlZS11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1keW5hbWljLWxheW91dCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxheW91dCA/IGNvbXBvbmVudE91dGxldCA6IHJvdXRlck91dGxldFwiPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjcm91dGVyT3V0bGV0Pjxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50T3V0bGV0XG4gICAgICA+PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGF5b3V0VmlzaWJsZVwiIFtuZ0NvbXBvbmVudE91dGxldF09XCJsYXlvdXRcIj48L25nLWNvbnRhaW5lclxuICAgID48L25nLXRlbXBsYXRlPlxuICBgLFxuICBwcm92aWRlcnM6IFtTdWJzY3JpcHRpb25TZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0xheW91dENvbXBvbmVudCB7XG4gIGxheW91dDogVHlwZTxhbnk+O1xuICBsYXlvdXRLZXk6IGVMYXlvdXRUeXBlO1xuXG4gIC8vIFRPRE86IENvbnNpZGVyIGEgc2hhcmVkIGVudW0gKGVUaGVtZVNoYXJlZENvbXBvbmVudHMpIGZvciBrbm93biBsYXlvdXRzXG4gIHJlYWRvbmx5IGxheW91dHMgPSBuZXcgTWFwKFtcbiAgICBbJ2FwcGxpY2F0aW9uJywgJ1RoZW1lLkFwcGxpY2F0aW9uTGF5b3V0Q29tcG9uZW50J10sXG4gICAgWydhY2NvdW50JywgJ1RoZW1lLkFjY291bnRMYXlvdXRDb21wb25lbnQnXSxcbiAgICBbJ2VtcHR5JywgJ1RoZW1lLkVtcHR5TGF5b3V0Q29tcG9uZW50J10sXG4gIF0pO1xuXG4gIGlzTGF5b3V0VmlzaWJsZSA9IHRydWU7XG5cbiAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcjtcbiAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGU7XG4gIHByaXZhdGUgcm91dGVzOiBSb3V0ZXNTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGxvY2FsaXphdGlvblNlcnZpY2U6IExvY2FsaXphdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZXBsYWNlYWJsZUNvbXBvbmVudHM6IFJlcGxhY2VhYmxlQ29tcG9uZW50c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXJFdmVudHM6IFJvdXRlckV2ZW50cyxcbiAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBkeW5hbWljTGF5b3V0Q29tcG9uZW50OiBEeW5hbWljTGF5b3V0Q29tcG9uZW50LFxuICApIHtcbiAgICBpZiAoZHluYW1pY0xheW91dENvbXBvbmVudCkgcmV0dXJuO1xuICAgIHRoaXMucm91dGUgPSBpbmplY3Rvci5nZXQoQWN0aXZhdGVkUm91dGUpO1xuICAgIHRoaXMucm91dGVyID0gaW5qZWN0b3IuZ2V0KFJvdXRlcik7XG4gICAgdGhpcy5yb3V0ZXMgPSBpbmplY3Rvci5nZXQoUm91dGVzU2VydmljZSk7XG5cbiAgICB0aGlzLmdldExheW91dCgpO1xuICAgIHRoaXMuY2hlY2tMYXlvdXRPbk5hdmlnYXRpb25FbmQoKTtcblxuICAgIHRoaXMubGlzdGVuVG9MYW5ndWFnZUNoYW5nZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0xheW91dE9uTmF2aWdhdGlvbkVuZCgpIHtcbiAgICBjb25zdCBuYXZpZ2F0aW9uRW5kJCA9IHRoaXMucm91dGVyRXZlbnRzLmdldE5hdmlnYXRpb25FdmVudHMoJ0VuZCcpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZE9uZShuYXZpZ2F0aW9uRW5kJCwgKCkgPT4gdGhpcy5nZXRMYXlvdXQoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldExheW91dCgpIHtcbiAgICBsZXQgZXhwZWN0ZWRMYXlvdXQgPSAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhIHx8IHt9KS5sYXlvdXQ7XG5cbiAgICBpZiAoIWV4cGVjdGVkTGF5b3V0KSB7XG4gICAgICBsZXQgbm9kZSA9IGZpbmRSb3V0ZSh0aGlzLnJvdXRlcywgZ2V0Um91dGVQYXRoKHRoaXMucm91dGVyKSk7XG4gICAgICBub2RlID0geyBwYXJlbnQ6IG5vZGUgfSBhcyBUcmVlTm9kZTxBQlAuUm91dGU+O1xuXG4gICAgICB3aGlsZSAobm9kZS5wYXJlbnQpIHtcbiAgICAgICAgbm9kZSA9IG5vZGUucGFyZW50O1xuXG4gICAgICAgIGlmIChub2RlLmxheW91dCkge1xuICAgICAgICAgIGV4cGVjdGVkTGF5b3V0ID0gbm9kZS5sYXlvdXQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWV4cGVjdGVkTGF5b3V0KSBleHBlY3RlZExheW91dCA9IGVMYXlvdXRUeXBlLmVtcHR5O1xuXG4gICAgaWYgKHRoaXMubGF5b3V0S2V5ID09PSBleHBlY3RlZExheW91dCkgcmV0dXJuO1xuXG4gICAgY29uc3Qga2V5ID0gdGhpcy5sYXlvdXRzLmdldChleHBlY3RlZExheW91dCk7XG4gICAgdGhpcy5sYXlvdXQgPSB0aGlzLmdldENvbXBvbmVudChrZXkpPy5jb21wb25lbnQ7XG4gICAgdGhpcy5sYXlvdXRLZXkgPSBleHBlY3RlZExheW91dDtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9MYW5ndWFnZUNoYW5nZSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGRPbmUodGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmxhbmd1YWdlQ2hhbmdlJCwgKCkgPT4ge1xuICAgICAgdGhpcy5pc0xheW91dFZpc2libGUgPSBmYWxzZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaXNMYXlvdXRWaXNpYmxlID0gdHJ1ZSksIDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb21wb25lbnQoa2V5OiBzdHJpbmcpOiBSZXBsYWNlYWJsZUNvbXBvbmVudHMuUmVwbGFjZWFibGVDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnJlcGxhY2VhYmxlQ29tcG9uZW50cy5nZXQoa2V5KTtcbiAgfVxufVxuIl19
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUl6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFjL0QsTUFBTSxPQUFPLHNCQUFzQjtJQWlCakMsWUFDRSxRQUFrQixFQUNWLG1CQUF3QyxFQUN4QyxxQkFBbUQsRUFDbkQsWUFBaUMsRUFDakMsWUFBMEIsRUFDVixzQkFBOEM7UUFKOUQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QywwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ25ELGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWxCcEMsMEVBQTBFO1FBQ2pFLFlBQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUN6QixDQUFDLGFBQWEsRUFBRSxrQ0FBa0MsQ0FBQztZQUNuRCxDQUFDLFNBQVMsRUFBRSw4QkFB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Y2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPcHRpb25hbCwgU2tpcFNlbGYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZUxheW91dFR5cGUgfSBmcm9tICcuLi9lbnVtcy9jb21tb24nO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFJlcGxhY2VhYmxlQ29tcG9uZW50cyB9IGZyb20gJy4uL21vZGVscy9yZXBsYWNlYWJsZS1jb21wb25lbnRzJztcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2NhbGl6YXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBSZXBsYWNlYWJsZUNvbXBvbmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcmVwbGFjZWFibGUtY29tcG9uZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlckV2ZW50cyB9IGZyb20gJy4uL3NlcnZpY2VzL3JvdXRlci1ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcm91dGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3N1YnNjcmlwdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGZpbmRSb3V0ZSwgZ2V0Um91dGVQYXRoIH0gZnJvbSAnLi4vdXRpbHMvcm91dGUtdXRpbHMnO1xuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICcuLi91dGlscy90cmVlLXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWR5bmFtaWMtbGF5b3V0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGF5b3V0ID8gY29tcG9uZW50T3V0bGV0IDogcm91dGVyT3V0bGV0XCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNyb3V0ZXJPdXRsZXQ+PHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjb21wb25lbnRPdXRsZXRcbiAgICAgID48bmctY29udGFpbmVyICpuZ0lmPVwiaXNMYXlvdXRWaXNpYmxlXCIgW25nQ29tcG9uZW50T3V0bGV0XT1cImxheW91dFwiPjwvbmctY29udGFpbmVyXG4gICAgPjwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIHByb3ZpZGVyczogW1N1YnNjcmlwdGlvblNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljTGF5b3V0Q29tcG9uZW50IHtcbiAgbGF5b3V0OiBUeXBlPGFueT47XG4gIGxheW91dEtleTogZUxheW91dFR5cGU7XG5cbiAgLy8gVE9ETzogQ29uc2lkZXIgYSBzaGFyZWQgZW51bSAoZVRoZW1lU2hhcmVkQ29tcG9uZW50cykgZm9yIGtub3duIGxheW91dHNcbiAgcmVhZG9ubHkgbGF5b3V0cyA9IG5ldyBNYXAoW1xuICAgIFsnYXBwbGljYXRpb24nLCAnVGhlbWUuQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQnXSxcbiAgICBbJ2FjY291bnQnLCAnVGhlbWUuQWNjb3VudExheW91dENvbXBvbmVudCddLFxuICAgIFsnZW1wdHknLCAnVGhlbWUuRW1wdHlMYXlvdXRDb21wb25lbnQnXSxcbiAgXSk7XG5cbiAgaXNMYXlvdXRWaXNpYmxlID0gdHJ1ZTtcblxuICBwcml2YXRlIHJvdXRlcjogUm91dGVyO1xuICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcbiAgcHJpdmF0ZSByb3V0ZXM6IFJvdXRlc1NlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgbG9jYWxpemF0aW9uU2VydmljZTogTG9jYWxpemF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlcGxhY2VhYmxlQ29tcG9uZW50czogUmVwbGFjZWFibGVDb21wb25lbnRzU2VydmljZSxcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlckV2ZW50czogUm91dGVyRXZlbnRzLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIGR5bmFtaWNMYXlvdXRDb21wb25lbnQ6IER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICkge1xuICAgIGlmIChkeW5hbWljTGF5b3V0Q29tcG9uZW50KSByZXR1cm47XG4gICAgdGhpcy5yb3V0ZSA9IGluamVjdG9yLmdldChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgdGhpcy5yb3V0ZXIgPSBpbmplY3Rvci5nZXQoUm91dGVyKTtcbiAgICB0aGlzLnJvdXRlcyA9IGluamVjdG9yLmdldChSb3V0ZXNTZXJ2aWNlKTtcblxuICAgIHRoaXMuY2hlY2tMYXlvdXRPbk5hdmlnYXRpb25FbmQoKTtcbiAgICB0aGlzLmxpc3RlblRvTGFuZ3VhZ2VDaGFuZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tMYXlvdXRPbk5hdmlnYXRpb25FbmQoKSB7XG4gICAgY29uc3QgbmF2aWdhdGlvbkVuZCQgPSB0aGlzLnJvdXRlckV2ZW50cy5nZXROYXZpZ2F0aW9uRXZlbnRzKCdFbmQnKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGRPbmUobmF2aWdhdGlvbkVuZCQsICgpID0+IHRoaXMuZ2V0TGF5b3V0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMYXlvdXQoKSB7XG4gICAgbGV0IGV4cGVjdGVkTGF5b3V0ID0gKHRoaXMucm91dGUuc25hcHNob3QuZGF0YSB8fCB7fSkubGF5b3V0O1xuXG4gICAgaWYgKCFleHBlY3RlZExheW91dCkge1xuICAgICAgbGV0IG5vZGUgPSBmaW5kUm91dGUodGhpcy5yb3V0ZXMsIGdldFJvdXRlUGF0aCh0aGlzLnJvdXRlcikpO1xuICAgICAgbm9kZSA9IHsgcGFyZW50OiBub2RlIH0gYXMgVHJlZU5vZGU8QUJQLlJvdXRlPjtcblxuICAgICAgd2hpbGUgKG5vZGUucGFyZW50KSB7XG4gICAgICAgIG5vZGUgPSBub2RlLnBhcmVudDtcblxuICAgICAgICBpZiAobm9kZS5sYXlvdXQpIHtcbiAgICAgICAgICBleHBlY3RlZExheW91dCA9IG5vZGUubGF5b3V0O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFleHBlY3RlZExheW91dCkgZXhwZWN0ZWRMYXlvdXQgPSBlTGF5b3V0VHlwZS5lbXB0eTtcblxuICAgIGlmICh0aGlzLmxheW91dEtleSA9PT0gZXhwZWN0ZWRMYXlvdXQpIHJldHVybjtcblxuICAgIGNvbnN0IGtleSA9IHRoaXMubGF5b3V0cy5nZXQoZXhwZWN0ZWRMYXlvdXQpO1xuICAgIHRoaXMubGF5b3V0ID0gdGhpcy5nZXRDb21wb25lbnQoa2V5KT8uY29tcG9uZW50O1xuICAgIHRoaXMubGF5b3V0S2V5ID0gZXhwZWN0ZWRMYXlvdXQ7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvTGFuZ3VhZ2VDaGFuZ2UoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkT25lKHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5sYW5ndWFnZUNoYW5nZSQsICgpID0+IHtcbiAgICAgIHRoaXMuaXNMYXlvdXRWaXNpYmxlID0gZmFsc2U7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmlzTGF5b3V0VmlzaWJsZSA9IHRydWUpLCAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29tcG9uZW50KGtleTogc3RyaW5nKTogUmVwbGFjZWFibGVDb21wb25lbnRzLlJlcGxhY2VhYmxlQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5yZXBsYWNlYWJsZUNvbXBvbmVudHMuZ2V0KGtleSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { map, tap } from 'rxjs/operators';
2
+ import { Subject } from 'rxjs';
3
+ import { map, take, switchMap } from 'rxjs/operators';
3
4
  import { InternalStore } from '../utils/internal-store-utils';
4
5
  import { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';
5
6
  import * as i0 from "@angular/core";
@@ -8,15 +9,27 @@ export class ConfigStateService {
8
9
  constructor(abpConfigService) {
9
10
  this.abpConfigService = abpConfigService;
10
11
  this.store = new InternalStore({});
12
+ this.updateSubject = new Subject();
13
+ this.initUpdateStream();
11
14
  }
12
15
  get createOnUpdateStream() {
13
16
  return this.store.sliceUpdate;
14
17
  }
18
+ initUpdateStream() {
19
+ this.updateSubject
20
+ .pipe(switchMap(() => this.abpConfigService.get()))
21
+ .subscribe(res => this.setState(res));
22
+ }
23
+ /**
24
+ * @deprecated do not use this method directly, instead call refreshAppState
25
+ * This method will be private in v5.0
26
+ */
15
27
  setState(state) {
16
28
  this.store.set(state);
17
29
  }
18
30
  refreshAppState() {
19
- return this.abpConfigService.get().pipe(tap(res => this.setState(res)));
31
+ this.updateSubject.next();
32
+ return this.createOnUpdateStream(state => state).pipe(take(1));
20
33
  }
21
34
  getOne$(key) {
22
35
  return this.store.sliceState(state => state[key]);
@@ -122,4 +135,4 @@ function splitKeys(keys) {
122
135
  }
123
136
  return keys;
124
137
  }
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvY29uZmlnLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxR0FBcUcsQ0FBQzs7O0FBS3pKLE1BQU0sT0FBTyxrQkFBa0I7SUFPN0IsWUFBb0IsZ0JBQW9EO1FBQXBELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0M7UUFOdkQsVUFBSyxHQUFHLElBQUksYUFBYSxDQUFDLEVBQWlDLENBQUMsQ0FBQztJQU1ILENBQUM7SUFKNUUsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztJQUNoQyxDQUFDO0lBSUQsUUFBUSxDQUFDLEtBQWtDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVztRQUNqQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7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T0FBTztnQkFBRSxPQUFPLFFBQVEsQ0FBQztZQUU5QixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVqRixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ25DLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pCLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7Ozs7WUE3SEYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFKUSxrQ0FBa0M7O0FBa0kzQyxTQUFTLFNBQVMsQ0FBQyxJQUF1QjtJQUN4QyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUN4QjtJQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztLQUMxRTtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvIH0gZnJvbSAnLi4vcHJveHkvdm9sby9hYnAvYXNwLW5ldC1jb3JlL212Yy9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9ucy9tb2RlbHMnO1xuaW1wb3J0IHsgSW50ZXJuYWxTdG9yZSB9IGZyb20gJy4uL3V0aWxzL2ludGVybmFsLXN0b3JlLXV0aWxzJztcbmltcG9ydCB7IEFicEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9wcm94eS92b2xvL2FicC9hc3AtbmV0LWNvcmUvbXZjL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb25zL2FicC1hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlnU3RhdGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdG9yZSA9IG5ldyBJbnRlcm5hbFN0b3JlKHt9IGFzIEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkR0byk7XG5cbiAgZ2V0IGNyZWF0ZU9uVXBkYXRlU3RyZWFtKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlVXBkYXRlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhYnBDb25maWdTZXJ2aWNlOiBBYnBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7fVxuXG4gIHNldFN0YXRlKHN0YXRlOiBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25EdG8pIHtcbiAgICB0aGlzLnN0b3JlLnNldChzdGF0ZSk7XG4gIH1cblxuICByZWZyZXNoQXBwU3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWJwQ29uZmlnU2VydmljZS5nZXQoKS5waXBlKHRhcChyZXMgPT4gdGhpcy5zZXRTdGF0ZShyZXMpKSk7XG4gIH1cblxuICBnZXRPbmUkKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZVtrZXldKTtcbiAgfVxuXG4gIGdldE9uZShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnN0YXRlW2tleV07XG4gIH1cblxuICBnZXRBbGwkKCk6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZSk7XG4gIH1cblxuICBnZXRBbGwoKTogQXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zdGF0ZTtcbiAgfVxuXG4gIGdldERlZXAkKGtleXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XG4gICAga2V5cyA9IHNwbGl0S2V5cyhrZXlzKTtcblxuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoc3RhdGUgPT4ge1xuICAgICAgICAgIHJldHVybiAoa2V5cyBhcyBzdHJpbmdbXSkucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFjYykge1xuICAgICAgICAgICAgICByZXR1cm4gYWNjW3ZhbF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgfSwgc3RhdGUpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBnZXREZWVwKGtleXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XG4gICAga2V5cyA9IHNwbGl0S2V5cyhrZXlzKTtcblxuICAgIHJldHVybiAoa2V5cyBhcyBzdHJpbmdbXSkucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgICAgaWYgKGFjYykge1xuICAgICAgICByZXR1cm4gYWNjW3ZhbF07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSwgdGhpcy5zdG9yZS5zdGF0ZSk7XG4gIH1cblxuICBnZXRGZWF0dXJlKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc3RhdGUuZmVhdHVyZXM/LnZhbHVlcz8uW2tleV07XG4gIH1cblxuICBnZXRGZWF0dXJlJChrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlU3RhdGUoc3RhdGUgPT4gc3RhdGUuZmVhdHVyZXM/LnZhbHVlcz8uW2tleV0pO1xuICB9XG5cbiAgZ2V0RmVhdHVyZXMoa2V5czogc3RyaW5nW10pIHtcbiAgICBjb25zdCB7IGZlYXR1cmVzIH0gPSB0aGlzLnN0b3JlLnN0YXRlO1xuICAgIGlmICghZmVhdHVyZXMpIHJldHVybjtcblxuICAgIHJldHVybiBrZXlzLnJlZHVjZSgoYWNjLCBrZXkpID0+ICh7IC4uLmFjYywgW2tleV06IGZlYXR1cmVzLnZhbHVlc1trZXldIH0pLCB7fSk7XG4gIH1cblxuICBnZXRGZWF0dXJlcyQoa2V5czogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zbGljZVN0YXRlKCh7IGZlYXR1cmVzIH0pID0+IHtcbiAgICAgIGlmICghZmVhdHVyZXM/LnZhbHVlcykgcmV0dXJuO1xuXG4gICAgICByZXR1cm4ga2V5cy5yZWR1Y2UoKGFjYywga2V5KSA9PiAoeyAuLi5hY2MsIFtrZXldOiBmZWF0dXJlcy52YWx1ZXNba2V5XSB9KSwge30pO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0U2V0dGluZyhrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnN0YXRlLnNldHRpbmc/LnZhbHVlcz8uW2tleV07XG4gIH1cblxuICBnZXRTZXR0aW5nJChrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlU3RhdGUoc3RhdGUgPT4gc3RhdGUuc2V0dGluZz8udmFsdWVzPy5ba2V5XSk7XG4gIH1cblxuICBnZXRTZXR0aW5ncyhrZXl3b3JkPzogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLnN0b3JlLnN0YXRlLnNldHRpbmc/LnZhbHVlcyB8fCB7fTtcblxuICAgIGlmICgha2V5d29yZCkgcmV0dXJuIHNldHRpbmdzO1xuXG4gICAgY29uc3Qga2V5c0ZvdW5kID0gT2JqZWN0LmtleXMoc2V0dGluZ3MpLmZpbHRlcihrZXkgPT4ga2V5LmluZGV4T2Yoa2V5d29yZCkgPiAtMSk7XG5cbiAgICByZXR1cm4ga2V5c0ZvdW5kLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgIGFjY1trZXldID0gc2V0dGluZ3Nba2V5XTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICB9XG5cbiAgZ2V0U2V0dGluZ3MkKGtleXdvcmQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNsaWNlU3RhdGUoc3RhdGUgPT4gc3RhdGUuc2V0dGluZz8udmFsdWVzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoc2V0dGluZ3MgPSB7fSkgPT4ge1xuICAgICAgICAgIGlmICgha2V5d29yZCkgcmV0dXJuIHNldHRpbmdzO1xuXG4gICAgICAgICAgY29uc3Qga2V5c0ZvdW5kID0gT2JqZWN0LmtleXMoc2V0dGluZ3MpLmZpbHRlcihrZXkgPT4ga2V5LmluZGV4T2Yoa2V5d29yZCkgPiAtMSk7XG5cbiAgICAgICAgICByZXR1cm4ga2V5c0ZvdW5kLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGFjY1trZXldID0gc2V0dGluZ3Nba2V5XTtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfSwge30pO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3BsaXRLZXlzKGtleXM6IHN0cmluZ1tdIHwgc3RyaW5nKTogc3RyaW5nW10ge1xuICBpZiAodHlwZW9mIGtleXMgPT09ICdzdHJpbmcnKSB7XG4gICAga2V5cyA9IGtleXMuc3BsaXQoJy4nKTtcbiAgfVxuXG4gIGlmICghQXJyYXkuaXNBcnJheShrZXlzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBkb3Qgc3RyaW5nIG9yIGFuIHN0cmluZyBhcnJheS4nKTtcbiAgfVxuXG4gIHJldHVybiBrZXlzO1xufVxuIl19
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvY29uZmlnLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxR0FBcUcsQ0FBQzs7O0FBS3pKLE1BQU0sT0FBTyxrQkFBa0I7SUFTN0IsWUFBb0IsZ0JBQW9EO1FBQXBELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0M7UUFSdkQsVUFBSyxHQUFHLElBQUksYUFBYSxDQUFDLEVBQWlDLENBQUMsQ0FBQztRQU10RSxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFHcEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQVJELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFDaEMsQ0FBQztJQVFPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsYUFBYTthQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7YUFDbEQsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENB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QUN4QjtJQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztLQUMxRTtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvIH0gZnJvbSAnLi4vcHJveHkvdm9sby9hYnAvYXNwLW5ldC1jb3JlL212Yy9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9ucy9tb2RlbHMnO1xuaW1wb3J0IHsgSW50ZXJuYWxTdG9yZSB9IGZyb20gJy4uL3V0aWxzL2ludGVybmFsLXN0b3JlLXV0aWxzJztcbmltcG9ydCB7IEFicEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9wcm94eS92b2xvL2FicC9hc3AtbmV0LWNvcmUvbXZjL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb25zL2FicC1hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlnU3RhdGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdG9yZSA9IG5ldyBJbnRlcm5hbFN0b3JlKHt9IGFzIEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkR0byk7XG5cbiAgZ2V0IGNyZWF0ZU9uVXBkYXRlU3RyZWFtKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlVXBkYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFicENvbmZpZ1NlcnZpY2U6IEFicEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UpIHtcbiAgICB0aGlzLmluaXRVcGRhdGVTdHJlYW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFVwZGF0ZVN0cmVhbSgpIHtcbiAgICB0aGlzLnVwZGF0ZVN1YmplY3RcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLmFicENvbmZpZ1NlcnZpY2UuZ2V0KCkpKVxuICAgICAgLnN1YnNjcmliZShyZXMgPT4gdGhpcy5zZXRTdGF0ZShyZXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBkbyBub3QgdXNlIHRoaXMgbWV0aG9kIGRpcmVjdGx5LCBpbnN0ZWFkIGNhbGwgcmVmcmVzaEFwcFN0YXRlXG4gICAqIFRoaXMgbWV0aG9kIHdpbGwgYmUgcHJpdmF0ZSBpbiB2NS4wXG4gICAqL1xuICBzZXRTdGF0ZShzdGF0ZTogQXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvKSB7XG4gICAgdGhpcy5zdG9yZS5zZXQoc3RhdGUpO1xuICB9XG5cbiAgcmVmcmVzaEFwcFN0YXRlKCkge1xuICAgIHRoaXMudXBkYXRlU3ViamVjdC5uZXh0KCk7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlT25VcGRhdGVTdHJlYW0oc3RhdGUgPT4gc3RhdGUpLnBpcGUodGFrZSgxKSk7XG4gIH1cblxuICBnZXRPbmUkKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZVtrZXldKTtcbiAgfVxuXG4gIGdldE9uZShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnN0YXRlW2tleV07XG4gIH1cblxuICBnZXRBbGwkKCk6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZSk7XG4gIH1cblxuICBnZXRBbGwoKTogQXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zdGF0ZTtcbiAgfVxuXG4gIGdldERlZXAkKGtleXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XG4gICAga2V5cyA9IHNwbGl0S2V5cyhrZXlzKTtcblxuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoc3RhdGUgPT4ge1xuICAgICAgICAgIHJldHVybiAoa2V5cyBhcyBzdHJpbmdbXSkucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFjYykge1xuICAgICAgICAgICAgICByZXR1cm4gYWNjW3ZhbF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgfSwgc3RhdGUpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBnZXREZWVwKGtleXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XG4gICAga2V5cyA9IHNwbGl0S2V5cyhrZXlzKTtcblxuICAgIHJldHVybiAoa2V5cyBhcyBzdHJpbmdbXSkucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgICAgaWYgKGFjYykge1xuICAgICAgICByZXR1cm4gYWNjW3ZhbF07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSwgdGhpcy5zdG9yZS5zdGF0ZSk7XG4gIH1cblxuICBnZXRGZWF0dXJlKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc3RhdGUuZmVhdHVyZXM/LnZhbHVlcz8uW2tleV07XG4gIH1cblxuICBnZXRGZWF0dXJlJChrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlU3RhdGUoc3RhdGUgPT4gc3RhdGUuZmVhdHVyZXM/LnZhbHVlcz8uW2tleV0pO1xuICB9XG5cbiAgZ2V0RmVhdHVyZXMoa2V5czogc3RyaW5nW10pIHtcbiAgICBjb25zdCB7IGZlYXR1cmVzIH0gPSB0aGlzLnN0b3JlLnN0YXRlO1xuICAgIGlmICghZmVhdHVyZXMpIHJldHVybjtcblxuICAgIHJldHVybiBrZXlzLnJlZHVjZSgoYWNjLCBrZXkpID0+ICh7IC4uLmFjYywgW2tleV06IGZlYXR1cmVzLnZhbHVlc1trZXldIH0pLCB7fSk7XG4gIH1cblxuICBnZXRGZWF0dXJlcyQoa2V5czogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zbGljZVN0YXRlKCh7IGZlYXR1cmVzIH0pID0+IHtcbiAgICAgIGlmICghZmVhdHVyZXM/LnZhbHVlcykgcmV0dXJuO1xuXG4gICAgICByZXR1cm4ga2V5cy5yZWR1Y2UoKGFjYywga2V5KSA9PiAoeyAuLi5hY2MsIFtrZXldOiBmZWF0dXJlcy52YWx1ZXNba2V5XSB9KSwge30pO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0U2V0dGluZyhrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnN0YXRlLnNldHRpbmc/LnZhbHVlcz8uW2tleV07XG4gIH1cblxuICBnZXRTZXR0aW5nJChrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlU3RhdGUoc3RhdGUgPT4gc3RhdGUuc2V0dGluZz8udmFsdWVzPy5ba2V5XSk7XG4gIH1cblxuICBnZXRTZXR0aW5ncyhrZXl3b3JkPzogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLnN0b3JlLnN0YXRlLnNldHRpbmc/LnZhbHVlcyB8fCB7fTtcblxuICAgIGlmICgha2V5d29yZCkgcmV0dXJuIHNldHRpbmdzO1xuXG4gICAgY29uc3Qga2V5c0ZvdW5kID0gT2JqZWN0LmtleXMoc2V0dGluZ3MpLmZpbHRlcihrZXkgPT4ga2V5LmluZGV4T2Yoa2V5d29yZCkgPiAtMSk7XG5cbiAgICByZXR1cm4ga2V5c0ZvdW5kLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgIGFjY1trZXldID0gc2V0dGluZ3Nba2V5XTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICB9XG5cbiAgZ2V0U2V0dGluZ3MkKGtleXdvcmQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNsaWNlU3RhdGUoc3RhdGUgPT4gc3RhdGUuc2V0dGluZz8udmFsdWVzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoc2V0dGluZ3MgPSB7fSkgPT4ge1xuICAgICAgICAgIGlmICgha2V5d29yZCkgcmV0dXJuIHNldHRpbmdzO1xuXG4gICAgICAgICAgY29uc3Qga2V5c0ZvdW5kID0gT2JqZWN0LmtleXMoc2V0dGluZ3MpLmZpbHRlcihrZXkgPT4ga2V5LmluZGV4T2Yoa2V5d29yZCkgPiAtMSk7XG5cbiAgICAgICAgICByZXR1cm4ga2V5c0ZvdW5kLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGFjY1trZXldID0gc2V0dGluZ3Nba2V5XTtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfSwge30pO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3BsaXRLZXlzKGtleXM6IHN0cmluZ1tdIHwgc3RyaW5nKTogc3RyaW5nW10ge1xuICBpZiAodHlwZW9mIGtleXMgPT09ICdzdHJpbmcnKSB7XG4gICAga2V5cyA9IGtleXMuc3BsaXQoJy4nKTtcbiAgfVxuXG4gIGlmICghQXJyYXkuaXNBcnJheShrZXlzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBkb3Qgc3RyaW5nIG9yIGFuIHN0cmluZyBhcnJheS4nKTtcbiAgfVxuXG4gIHJldHVybiBrZXlzO1xufVxuIl19
@@ -1,8 +1,7 @@
1
1
  import { registerLocaleData } from '@angular/common';
2
2
  import { Injectable, Injector, isDevMode, Optional, SkipSelf } from '@angular/core';
3
3
  import { from, Subject } from 'rxjs';
4
- import { filter, map, mapTo, switchMap, tap } from 'rxjs/operators';
5
- import { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';
4
+ import { filter, map, mapTo, switchMap } from 'rxjs/operators';
6
5
  import { CORE_OPTIONS } from '../tokens/options.token';
7
6
  import { createLocalizer, createLocalizerWithFallback } from '../utils/localization-utils';
8
7
  import { interpolate } from '../utils/string-utils';
@@ -11,13 +10,11 @@ import { SessionStateService } from './session-state.service';
11
10
  import * as i0 from "@angular/core";
12
11
  import * as i1 from "./session-state.service";
13
12
  import * as i2 from "./config-state.service";
14
- import * as i3 from "../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service";
15
13
  export class LocalizationService {
16
- constructor(sessionState, injector, otherInstance, configState, appConfigService) {
14
+ constructor(sessionState, injector, otherInstance, configState) {
17
15
  this.sessionState = sessionState;
18
16
  this.injector = injector;
19
17
  this.configState = configState;
20
- this.appConfigService = appConfigService;
21
18
  this.latestLang = this.sessionState.getLanguage();
22
19
  this._languageChange$ = new Subject();
23
20
  if (otherInstance)
@@ -36,10 +33,7 @@ export class LocalizationService {
36
33
  listenToSetLanguage() {
37
34
  this.sessionState
38
35
  .onLanguageChange$()
39
- .pipe(filter(lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang), switchMap(lang => this.appConfigService
40
- .get()
41
- .pipe(tap(res => this.configState.setState(res)))
42
- .pipe(mapTo(lang))), switchMap(lang => from(this.registerLocale(lang).then(() => lang))))
36
+ .pipe(filter(lang => this.configState.getDeep('localization.currentCulture.cultureName') !== lang), switchMap(lang => this.configState.refreshAppState().pipe(mapTo(lang))), switchMap(lang => from(this.registerLocale(lang).then(() => lang))))
43
37
  .subscribe(lang => this._languageChange$.next(lang));
44
38
  }
45
39
  registerLocale(locale) {
@@ -89,7 +83,7 @@ export class LocalizationService {
89
83
  return createLocalizerWithFallback(localization)(resourceNames, keys, defaultValue);
90
84
  }
91
85
  }
92
- LocalizationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(i0.ɵɵinject(i1.SessionStateService), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(LocalizationService, 12), i0.ɵɵinject(i2.ConfigStateService), i0.ɵɵinject(i3.AbpApplicationConfigurationService)); }, token: LocalizationService, providedIn: "root" });
86
+ LocalizationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(i0.ɵɵinject(i1.SessionStateService), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(LocalizationService, 12), i0.ɵɵinject(i2.ConfigStateService)); }, token: LocalizationService, providedIn: "root" });
93
87
  LocalizationService.decorators = [
94
88
  { type: Injectable, args: [{ providedIn: 'root' },] }
95
89
  ];
@@ -97,8 +91,7 @@ LocalizationService.ctorParameters = () => [
97
91
  { type: SessionStateService },
98
92
  { type: Injector },
99
93
  { type: LocalizationService, decorators: [{ type: Optional }, { type: SkipSelf }] },
100
- { type: ConfigStateService },
101
- { type: AbpApplicationConfigurationService }
94
+ { type: ConfigStateService }
102
95
  ];
103
96
  function getLocalization(state, key, ...interpolateParams) {
104
97
  if (!key)
@@ -144,4 +137,4 @@ function getLocalization(state, key, ...interpolateParams) {
144
137
  localization = '';
145
138
  return localization || defaultValue || key;
146
139
  }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLElBQUksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxR0FBcUcsQ0FBQztBQUV6SixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFHOUQsTUFBTSxPQUFPLG1CQUFtQjtJQWU5QixZQUNVLFlBQWlDLEVBQ2pDLFFBQWtCLEVBRzFCLGFBQWtDLEVBQzFCLFdBQStCLEVBQy9CLGdCQUFvRDtRQU5wRCxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUlsQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQztRQXJCdEQsZUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0MscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQXNCL0MsSUFBSSxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBRXpGLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUF2QkQ7O09BRUc7SUFDSCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFnQk8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxZQUFZO2FBQ2QsaUJBQWlCLEVBQUU7YUFDbkIsSUFBSSxDQUNILE1BQU0sQ0FDSixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLHlDQUF5QyxDQUFDLEtBQUssSUFBSSxDQUNyRixFQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNmLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsR0FBRyxFQUFFO2FBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNyQixFQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ3BFO2FBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxjQUFjLENBQUMsTUFBYztRQUMzQixNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBYSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV2RSxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QyxJQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxPQUFPO2dCQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsR0FBRyxDQUNELEdBQTRDLEVBQzVDLEdBQUcsaUJBQTJCO1FBRTlCLE9BQU8sSUFBSSxDQUFDLFdBQVc7YUFDcEIsT0FBTyxFQUFFO2FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELFdBQVcsQ0FBQyxZQUFvQjtRQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLHVCQUF1QixZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxZQUFZLENBQUMsWUFBb0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxHQUE0QyxFQUFFLEdBQUcsaUJBQTJCO1FBQ2xGLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsUUFBUSxDQUFDLFlBQW9CLEVBQUUsR0FBVyxFQUFFLFlBQW9CO1FBQzlELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUNsRCxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQ3BCLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQzNELENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLFlBQW9CLEVBQUUsR0FBVyxFQUFFLFlBQW9CO1FBQ2xFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdELE9BQU8sZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELG9CQUFvQixDQUNsQixhQUF1QixFQUN2QixJQUFjLEVBQ2QsWUFBb0I7UUFFcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQ2xELEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxFQUNoQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FDckYsQ0FBQztJQUNKLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxhQUF1QixFQUFFLElBQWMsRUFBRSxZQUFvQjtRQUNwRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM3RCxPQUFPLDJCQUEyQixDQUFDLFlBQVksQ0FBQyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdEYsQ0FBQzs7OztZQWxIRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7WUFGekIsbUJBQW1CO1lBWFAsUUFBUTtZQWtDVixtQkFBbUIsdUJBRmpDLFFBQVEsWUFDUixRQUFRO1lBdkJKLGtCQUFrQjtZQUxsQixrQ0FBa0M7O0FBNkgzQyxTQUFTLGVBQWUsQ0FDdEIsS0FBa0MsRUFDbEMsR0FBNEMsRUFDNUMsR0FBRyxpQkFBMkI7SUFFOUIsSUFBSSxDQUFDLEdBQUc7UUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ25CLElBQUksWUFBb0IsQ0FBQztJQUV6QixJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtRQUMzQixZQUFZLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQztRQUNoQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztLQUNmO0lBRUQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQWEsQ0FBQztJQUN6QyxNQUFNLElBQUksR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO1FBQy9CLElBQUksU0FBUztZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFDO0lBRUYsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNuQixJQUFJLENBQUMsbURBQW1ELENBQUMsQ0FBQztRQUMxRCxPQUFPLFlBQVksSUFBSyxHQUFjLENBQUM7S0FDeEM7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7UUFBRSxPQUFPLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFeEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUM7SUFDckUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTFCLElBQUksVUFBVSxLQUFLLEdBQUcsRUFBRTtRQUN0QixPQUFPLFlBQVksSUFBSSxTQUFTLENBQUM7S0FDbEM7SUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ2YsSUFBSSxDQUFDLHdGQUF3RixDQUFDLENBQUM7UUFFL0YsT0FBTyxZQUFZLElBQUksU0FBUyxDQUFDO0tBQ2xDO0lBRUQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLElBQUksQ0FBQyxzQ0FBc0MsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUMxRCxPQUFPLFlBQVksSUFBSSxTQUFTLENBQUM7S0FDbEM7SUFFRCxJQUFJLFlBQVksR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsSUFBSSxPQUFPLFlBQVksS0FBSyxXQUFXLEVBQUU7UUFDdkMsT0FBTyxZQUFZLElBQUksU0FBUyxDQUFDO0tBQ2xDO0lBRUQsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ3ZFLElBQUksWUFBWTtRQUFFLFlBQVksR0FBRyxXQUFXLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFFOUUsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRO1FBQUUsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUV4RCxPQUFPLFlBQVksSUFBSSxZQUFZLElBQUssR0FBYyxDQUFDO0FBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWdpc3RlckxvY2FsZURhdGEgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIGlzRGV2TW9kZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgbWFwVG8sIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi4vbW9kZWxzL2NvbW1vbic7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlnJztcbmltcG9ydCB7IEFicEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9wcm94eS92b2xvL2FicC9hc3AtbmV0LWNvcmUvbXZjL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb25zL2FicC1hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvIH0gZnJvbSAnLi4vcHJveHkvdm9sby9hYnAvYXNwLW5ldC1jb3JlL212Yy9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9ucy9tb2RlbHMnO1xuaW1wb3J0IHsgQ09SRV9PUFRJT05TIH0gZnJvbSAnLi4vdG9rZW5zL29wdGlvbnMudG9rZW4nO1xuaW1wb3J0IHsgY3JlYXRlTG9jYWxpemVyLCBjcmVhdGVMb2NhbGl6ZXJXaXRoRmFsbGJhY2sgfSBmcm9tICcuLi91dGlscy9sb2NhbGl6YXRpb24tdXRpbHMnO1xuaW1wb3J0IHsgaW50ZXJwb2xhdGUgfSBmcm9tICcuLi91dGlscy9zdHJpbmctdXRpbHMnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWctc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXNzaW9uLXN0YXRlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIGxhdGVzdExhbmcgPSB0aGlzLnNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSgpO1xuICBwcml2YXRlIF9sYW5ndWFnZUNoYW5nZSQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgY3VycmVudGx5IHNlbGVjdGVkIGxhbmd1YWdlXG4gICAqL1xuICBnZXQgY3VycmVudExhbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5sYXRlc3RMYW5nIHx8IHRoaXMuc2Vzc2lvblN0YXRlLmdldExhbmd1YWdlKCk7XG4gIH1cblxuICBnZXQgbGFuZ3VhZ2VDaGFuZ2UkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX2xhbmd1YWdlQ2hhbmdlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2Vzc2lvblN0YXRlOiBTZXNzaW9uU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQFNraXBTZWxmKClcbiAgICBvdGhlckluc3RhbmNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU3RhdGU6IENvbmZpZ1N0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGFwcENvbmZpZ1NlcnZpY2U6IEFicEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICkge1xuICAgIGlmIChvdGhlckluc3RhbmNlKSB0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsaXphdGlvblNlcnZpY2Ugc2hvdWxkIGhhdmUgb25seSBvbmUgaW5zdGFuY2UuJyk7XG5cbiAgICB0aGlzLmxpc3RlblRvU2V0TGFuZ3VhZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9TZXRMYW5ndWFnZSgpIHtcbiAgICB0aGlzLnNlc3Npb25TdGF0ZVxuICAgICAgLm9uTGFuZ3VhZ2VDaGFuZ2UkKClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgbGFuZyA9PiB0aGlzLmNvbmZpZ1N0YXRlLmdldERlZXAoJ2xvY2FsaXphdGlvbi5jdXJyZW50Q3VsdHVyZS5jdWx0dXJlTmFtZScpICE9PSBsYW5nLFxuICAgICAgICApLFxuICAgICAgICBzd2l0Y2hNYXAobGFuZyA9PlxuICAgICAgICAgIHRoaXMuYXBwQ29uZmlnU2VydmljZVxuICAgICAgICAgICAgLmdldCgpXG4gICAgICAgICAgICAucGlwZSh0YXAocmVzID0+IHRoaXMuY29uZmlnU3RhdGUuc2V0U3RhdGUocmVzKSkpXG4gICAgICAgICAgICAucGlwZShtYXBUbyhsYW5nKSksXG4gICAgICAgICksXG4gICAgICAgIHN3aXRjaE1hcChsYW5nID0+IGZyb20odGhpcy5yZWdpc3RlckxvY2FsZShsYW5nKS50aGVuKCgpID0+IGxhbmcpKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGxhbmcgPT4gdGhpcy5fbGFuZ3VhZ2VDaGFuZ2UkLm5leHQobGFuZykpO1xuICB9XG5cbiAgcmVnaXN0ZXJMb2NhbGUobG9jYWxlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IHJlZ2lzdGVyTG9jYWxlRm4gfTogQUJQLlJvb3QgPSB0aGlzLmluamVjdG9yLmdldChDT1JFX09QVElPTlMpO1xuXG4gICAgcmV0dXJuIHJlZ2lzdGVyTG9jYWxlRm4obG9jYWxlKS50aGVuKG1vZHVsZSA9PiB7XG4gICAgICBpZiAobW9kdWxlPy5kZWZhdWx0KSByZWdpc3RlckxvY2FsZURhdGEobW9kdWxlLmRlZmF1bHQpO1xuICAgICAgdGhpcy5sYXRlc3RMYW5nID0gbG9jYWxlO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSBsb2NhbGl6ZWQgdGV4dCB3aXRoIHRoZSBnaXZlbiBpbnRlcnBvbGF0aW9uIHBhcmFtZXRlcnMgaW4gY3VycmVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIGtleSBMb2NhbGl6YXRvbiBrZXkgdG8gcmVwbGFjZSB3aXRoIGxvY2FsaXplZCB0ZXh0XG4gICAqIEBwYXJhbSBpbnRlcnBvbGF0ZVBhcmFtcyBWYWx1ZXMgdG8gaW50ZXJwb2xhdGVcbiAgICovXG4gIGdldChcbiAgICBrZXk6IHN0cmluZyB8IENvbmZpZy5Mb2NhbGl6YXRpb25XaXRoRGVmYXVsdCxcbiAgICAuLi5pbnRlcnBvbGF0ZVBhcmFtczogc3RyaW5nW11cbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdTdGF0ZVxuICAgICAgLmdldEFsbCQoKVxuICAgICAgLnBpcGUobWFwKHN0YXRlID0+IGdldExvY2FsaXphdGlvbihzdGF0ZSwga2V5LCAuLi5pbnRlcnBvbGF0ZVBhcmFtcykpKTtcbiAgfVxuXG4gIGdldFJlc291cmNlKHJlc291cmNlTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU3RhdGUuZ2V0RGVlcChgbG9jYWxpemF0aW9uLnZhbHVlcy4ke3Jlc291cmNlTmFtZX1gKTtcbiAgfVxuXG4gIGdldFJlc291cmNlJChyZXNvdXJjZU5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N0YXRlLmdldERlZXAkKGBsb2NhbGl6YXRpb24udmFsdWVzLiR7cmVzb3VyY2VOYW1lfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgbG9jYWxpemVkIHRleHQgd2l0aCB0aGUgZ2l2ZW4gaW50ZXJwb2xhdGlvbiBwYXJhbWV0ZXJzIGluIGN1cnJlbnQgbGFuZ3VhZ2UuXG4gICAqIEBwYXJhbSBrZXkgTG9jYWxpemF0aW9uIGtleSB0byByZXBsYWNlIHdpdGggbG9jYWxpemVkIHRleHRcbiAgICogQHBhcmFtIGludGVycG9sYXRlUGFyYW1zIFZhbHVlcyB0byBpbnRlcG9sYXRlLlxuICAgKi9cbiAgaW5zdGFudChrZXk6IHN0cmluZyB8IENvbmZpZy5Mb2NhbGl6YXRpb25XaXRoRGVmYXVsdCwgLi4uaW50ZXJwb2xhdGVQYXJhbXM6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0TG9jYWxpemF0aW9uKHRoaXMuY29uZmlnU3RhdGUuZ2V0QWxsKCksIGtleSwgLi4uaW50ZXJwb2xhdGVQYXJhbXMpO1xuICB9XG5cbiAgbG9jYWxpemUocmVzb3VyY2VOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU3RhdGUuZ2V0T25lJCgnbG9jYWxpemF0aW9uJykucGlwZShcbiAgICAgIG1hcChjcmVhdGVMb2NhbGl6ZXIpLFxuICAgICAgbWFwKGxvY2FsaXplID0+IGxvY2FsaXplKHJlc291cmNlTmFtZSwga2V5LCBkZWZhdWx0VmFsdWUpKSxcbiAgICApO1xuICB9XG5cbiAgbG9jYWxpemVTeW5jKHJlc291cmNlTmFtZTogc3RyaW5nLCBrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxvY2FsaXphdGlvbiA9IHRoaXMuY29uZmlnU3RhdGUuZ2V0T25lKCdsb2NhbGl6YXRpb24nKTtcbiAgICByZXR1cm4gY3JlYXRlTG9jYWxpemVyKGxvY2FsaXphdGlvbikocmVzb3VyY2VOYW1lLCBrZXksIGRlZmF1bHRWYWx1ZSk7XG4gIH1cblxuICBsb2NhbGl6ZVdpdGhGYWxsYmFjayhcbiAgICByZXNvdXJjZU5hbWVzOiBzdHJpbmdbXSxcbiAgICBrZXlzOiBzdHJpbmdbXSxcbiAgICBkZWZhdWx0VmFsdWU6IHN0cmluZyxcbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdTdGF0ZS5nZXRPbmUkKCdsb2NhbGl6YXRpb24nKS5waXBlKFxuICAgICAgbWFwKGNyZWF0ZUxvY2FsaXplcldpdGhGYWxsYmFjayksXG4gICAgICBtYXAobG9jYWxpemVXaXRoRmFsbGJhY2sgPT4gbG9jYWxpemVXaXRoRmFsbGJhY2socmVzb3VyY2VOYW1lcywga2V5cywgZGVmYXVsdFZhbHVlKSksXG4gICAgKTtcbiAgfVxuXG4gIGxvY2FsaXplV2l0aEZhbGxiYWNrU3luYyhyZXNvdXJjZU5hbWVzOiBzdHJpbmdbXSwga2V5czogc3RyaW5nW10sIGRlZmF1bHRWYWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBsb2NhbGl6YXRpb24gPSB0aGlzLmNvbmZpZ1N0YXRlLmdldE9uZSgnbG9jYWxpemF0aW9uJyk7XG4gICAgcmV0dXJuIGNyZWF0ZUxvY2FsaXplcldpdGhGYWxsYmFjayhsb2NhbGl6YXRpb24pKHJlc291cmNlTmFtZXMsIGtleXMsIGRlZmF1bHRWYWx1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0TG9jYWxpemF0aW9uKFxuICBzdGF0ZTogQXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvLFxuICBrZXk6IHN0cmluZyB8IENvbmZpZy5Mb2NhbGl6YXRpb25XaXRoRGVmYXVsdCxcbiAgLi4uaW50ZXJwb2xhdGVQYXJhbXM6IHN0cmluZ1tdXG4pIHtcbiAgaWYgKCFrZXkpIGtleSA9ICcnO1xuICBsZXQgZGVmYXVsdFZhbHVlOiBzdHJpbmc7XG5cbiAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKSB7XG4gICAgZGVmYXVsdFZhbHVlID0ga2V5LmRlZmF1bHRWYWx1ZTtcbiAgICBrZXkgPSBrZXkua2V5O1xuICB9XG5cbiAgY29uc3Qga2V5cyA9IGtleS5zcGxpdCgnOjonKSBhcyBzdHJpbmdbXTtcbiAgY29uc3Qgd2FybiA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoaXNEZXZNb2RlKSBjb25zb2xlLndhcm4obWVzc2FnZSk7XG4gIH07XG5cbiAgaWYgKGtleXMubGVuZ3RoIDwgMikge1xuICAgIHdhcm4oJ1RoZSBsb2NhbGl6YXRpb24gc291cmNlIHNlcGFyYXRvciAoOjopIG5vdCBmb3VuZC4nKTtcbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlIHx8IChrZXkgYXMgc3RyaW5nKTtcbiAgfVxuICBpZiAoIXN0YXRlLmxvY2FsaXphdGlvbikgcmV0dXJuIGRlZmF1bHRWYWx1ZSB8fCBrZXlzWzFdO1xuXG4gIGNvbnN0IHNvdXJjZU5hbWUgPSBrZXlzWzBdIHx8IHN0YXRlLmxvY2FsaXphdGlvbi5kZWZhdWx0UmVzb3VyY2VOYW1lO1xuICBjb25zdCBzb3VyY2VLZXkgPSBrZXlzWzFdO1xuXG4gIGlmIChzb3VyY2VOYW1lID09PSAnXycpIHtcbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlIHx8IHNvdXJjZUtleTtcbiAgfVxuXG4gIGlmICghc291cmNlTmFtZSkge1xuICAgIHdhcm4oJ0xvY2FsaXphdGlvbiBzb3VyY2UgbmFtZSBpcyBub3Qgc3BlY2lmaWVkIGFuZCB0aGUgZGVmYXVsdFJlc291cmNlTmFtZSB3YXMgbm90IGRlZmluZWQhJyk7XG5cbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlIHx8IHNvdXJjZUtleTtcbiAgfVxuXG4gIGNvbnN0IHNvdXJjZSA9IHN0YXRlLmxvY2FsaXphdGlvbi52YWx1ZXNbc291cmNlTmFtZV07XG4gIGlmICghc291cmNlKSB7XG4gICAgd2FybignQ291bGQgbm90IGZpbmQgbG9jYWxpemF0aW9uIHNvdXJjZTogJyArIHNvdXJjZU5hbWUpO1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWUgfHwgc291cmNlS2V5O1xuICB9XG5cbiAgbGV0IGxvY2FsaXphdGlvbiA9IHNvdXJjZVtzb3VyY2VLZXldO1xuICBpZiAodHlwZW9mIGxvY2FsaXphdGlvbiA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlIHx8IHNvdXJjZUtleTtcbiAgfVxuXG4gIGludGVycG9sYXRlUGFyYW1zID0gaW50ZXJwb2xhdGVQYXJhbXMuZmlsdGVyKHBhcmFtcyA9PiBwYXJhbXMgIT0gbnVsbCk7XG4gIGlmIChsb2NhbGl6YXRpb24pIGxvY2FsaXphdGlvbiA9IGludGVycG9sYXRlKGxvY2FsaXphdGlvbiwgaW50ZXJwb2xhdGVQYXJhbXMpO1xuXG4gIGlmICh0eXBlb2YgbG9jYWxpemF0aW9uICE9PSAnc3RyaW5nJykgbG9jYWxpemF0aW9uID0gJyc7XG5cbiAgcmV0dXJuIGxvY2FsaXphdGlvbiB8fCBkZWZhdWx0VmFsdWUgfHwgKGtleSBhcyBzdHJpbmcpO1xufVxuIl19
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLElBQUksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSS9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBRzlELE1BQU0sT0FBTyxtQkFBbUI7SUFlOUIsWUFDVSxZQUFpQyxFQUNqQyxRQUFrQixFQUcxQixhQUFrQyxFQUMxQixXQUErQjtRQUwvQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUlsQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFwQmpDLGVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdDLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7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Q1gsSUFBSSxDQUFDLHNDQUFzQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQzFELE9BQU8sWUFBWSxJQUFJLFNBQVMsQ0FBQztLQUNsQztJQUVELElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxJQUFJLE9BQU8sWUFBWSxLQUFLLFdBQVcsRUFBRTtRQUN2QyxPQUFPLFlBQVksSUFBSSxTQUFTLENBQUM7S0FDbEM7SUFFRCxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUM7SUFDdkUsSUFBSSxZQUFZO1FBQUUsWUFBWSxHQUFHLFdBQVcsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUU5RSxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVE7UUFBRSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRXhELE9BQU8sWUFBWSxJQUFJLFlBQVksSUFBSyxHQUFjLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgaXNEZXZNb2RlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBtYXBUbywgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi4vbW9kZWxzL2NvbW1vbic7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlnJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkR0byB9IGZyb20gJy4uL3Byb3h5L3ZvbG8vYWJwL2FzcC1uZXQtY29yZS9tdmMvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbnMvbW9kZWxzJztcbmltcG9ydCB7IENPUkVfT1BUSU9OUyB9IGZyb20gJy4uL3Rva2Vucy9vcHRpb25zLnRva2VuJztcbmltcG9ydCB7IGNyZWF0ZUxvY2FsaXplciwgY3JlYXRlTG9jYWxpemVyV2l0aEZhbGxiYWNrIH0gZnJvbSAnLi4vdXRpbHMvbG9jYWxpemF0aW9uLXV0aWxzJztcbmltcG9ydCB7IGludGVycG9sYXRlIH0gZnJvbSAnLi4vdXRpbHMvc3RyaW5nLXV0aWxzJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJy4vY29uZmlnLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlU2VydmljZSB9IGZyb20gJy4vc2Vzc2lvbi1zdGF0ZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6YXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBsYXRlc3RMYW5nID0gdGhpcy5zZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UoKTtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2VDaGFuZ2UkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnRseSBzZWxlY3RlZCBsYW5ndWFnZVxuICAgKi9cbiAgZ2V0IGN1cnJlbnRMYW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubGF0ZXN0TGFuZyB8fCB0aGlzLnNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSgpO1xuICB9XG5cbiAgZ2V0IGxhbmd1YWdlQ2hhbmdlJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9sYW5ndWFnZUNoYW5nZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlc3Npb25TdGF0ZTogU2Vzc2lvblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBTa2lwU2VsZigpXG4gICAgb3RoZXJJbnN0YW5jZTogTG9jYWxpemF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1N0YXRlOiBDb25maWdTdGF0ZVNlcnZpY2UsXG4gICkge1xuICAgIGlmIChvdGhlckluc3RhbmNlKSB0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsaXphdGlvblNlcnZpY2Ugc2hvdWxkIGhhdmUgb25seSBvbmUgaW5zdGFuY2UuJyk7XG5cbiAgICB0aGlzLmxpc3RlblRvU2V0TGFuZ3VhZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9TZXRMYW5ndWFnZSgpIHtcbiAgICB0aGlzLnNlc3Npb25TdGF0ZVxuICAgICAgLm9uTGFuZ3VhZ2VDaGFuZ2UkKClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgbGFuZyA9PiB0aGlzLmNvbmZpZ1N0YXRlLmdldERlZXAoJ2xvY2FsaXphdGlvbi5jdXJyZW50Q3VsdHVyZS5jdWx0dXJlTmFtZScpICE9PSBsYW5nLFxuICAgICAgICApLFxuICAgICAgICBzd2l0Y2hNYXAobGFuZyA9PiB0aGlzLmNvbmZpZ1N0YXRlLnJlZnJlc2hBcHBTdGF0ZSgpLnBpcGUobWFwVG8obGFuZykpKSxcbiAgICAgICAgc3dpdGNoTWFwKGxhbmcgPT4gZnJvbSh0aGlzLnJlZ2lzdGVyTG9jYWxlKGxhbmcpLnRoZW4oKCkgPT4gbGFuZykpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUobGFuZyA9PiB0aGlzLl9sYW5ndWFnZUNoYW5nZSQubmV4dChsYW5nKSk7XG4gIH1cblxuICByZWdpc3RlckxvY2FsZShsb2NhbGU6IHN0cmluZykge1xuICAgIGNvbnN0IHsgcmVnaXN0ZXJMb2NhbGVGbiB9OiBBQlAuUm9vdCA9IHRoaXMuaW5qZWN0b3IuZ2V0KENPUkVfT1BUSU9OUyk7XG5cbiAgICByZXR1cm4gcmVnaXN0ZXJMb2NhbGVGbihsb2NhbGUpLnRoZW4obW9kdWxlID0+IHtcbiAgICAgIGlmIChtb2R1bGU/LmRlZmF1bHQpIHJlZ2lzdGVyTG9jYWxlRGF0YShtb2R1bGUuZGVmYXVsdCk7XG4gICAgICB0aGlzLmxhdGVzdExhbmcgPSBsb2NhbGU7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIGxvY2FsaXplZCB0ZXh0IHdpdGggdGhlIGdpdmVuIGludGVycG9sYXRpb24gcGFyYW1ldGVycyBpbiBjdXJyZW50IGxhbmd1YWdlLlxuICAgKiBAcGFyYW0ga2V5IExvY2FsaXphdG9uIGtleSB0byByZXBsYWNlIHdpdGggbG9jYWxpemVkIHRleHRcbiAgICogQHBhcmFtIGludGVycG9sYXRlUGFyYW1zIFZhbHVlcyB0byBpbnRlcnBvbGF0ZVxuICAgKi9cbiAgZ2V0KFxuICAgIGtleTogc3RyaW5nIHwgQ29uZmlnLkxvY2FsaXphdGlvbldpdGhEZWZhdWx0LFxuICAgIC4uLmludGVycG9sYXRlUGFyYW1zOiBzdHJpbmdbXVxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N0YXRlXG4gICAgICAuZ2V0QWxsJCgpXG4gICAgICAucGlwZShtYXAoc3RhdGUgPT4gZ2V0TG9jYWxpemF0aW9uKHN0YXRlLCBrZXksIC4uLmludGVycG9sYXRlUGFyYW1zKSkpO1xuICB9XG5cbiAgZ2V0UmVzb3VyY2UocmVzb3VyY2VOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdTdGF0ZS5nZXREZWVwKGBsb2NhbGl6YXRpb24udmFsdWVzLiR7cmVzb3VyY2VOYW1lfWApO1xuICB9XG5cbiAgZ2V0UmVzb3VyY2UkKHJlc291cmNlTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU3RhdGUuZ2V0RGVlcCQoYGxvY2FsaXphdGlvbi52YWx1ZXMuJHtyZXNvdXJjZU5hbWV9YCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBsb2NhbGl6ZWQgdGV4dCB3aXRoIHRoZSBnaXZlbiBpbnRlcnBvbGF0aW9uIHBhcmFtZXRlcnMgaW4gY3VycmVudCBsYW5ndWFnZS5cbiAgICogQHBhcmFtIGtleSBMb2NhbGl6YXRpb24ga2V5IHRvIHJlcGxhY2Ugd2l0aCBsb2NhbGl6ZWQgdGV4dFxuICAgKiBAcGFyYW0gaW50ZXJwb2xhdGVQYXJhbXMgVmFsdWVzIHRvIGludGVwb2xhdGUuXG4gICAqL1xuICBpbnN0YW50KGtleTogc3RyaW5nIHwgQ29uZmlnLkxvY2FsaXphdGlvbldpdGhEZWZhdWx0LCAuLi5pbnRlcnBvbGF0ZVBhcmFtczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRMb2NhbGl6YXRpb24odGhpcy5jb25maWdTdGF0ZS5nZXRBbGwoKSwga2V5LCAuLi5pbnRlcnBvbGF0ZVBhcmFtcyk7XG4gIH1cblxuICBsb2NhbGl6ZShyZXNvdXJjZU5hbWU6IHN0cmluZywga2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdTdGF0ZS5nZXRPbmUkKCdsb2NhbGl6YXRpb24nKS5waXBlKFxuICAgICAgbWFwKGNyZWF0ZUxvY2FsaXplciksXG4gICAgICBtYXAobG9jYWxpemUgPT4gbG9jYWxpemUocmVzb3VyY2VOYW1lLCBrZXksIGRlZmF1bHRWYWx1ZSkpLFxuICAgICk7XG4gIH1cblxuICBsb2NhbGl6ZVN5bmMocmVzb3VyY2VOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbG9jYWxpemF0aW9uID0gdGhpcy5jb25maWdTdGF0ZS5nZXRPbmUoJ2xvY2FsaXphdGlvbicpO1xuICAgIHJldHVybiBjcmVhdGVMb2NhbGl6ZXIobG9jYWxpemF0aW9uKShyZXNvdXJjZU5hbWUsIGtleSwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIGxvY2FsaXplV2l0aEZhbGxiYWNrKFxuICAgIHJlc291cmNlTmFtZXM6IHN0cmluZ1tdLFxuICAgIGtleXM6IHN0cmluZ1tdLFxuICAgIGRlZmF1bHRWYWx1ZTogc3RyaW5nLFxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N0YXRlLmdldE9uZSQoJ2xvY2FsaXphdGlvbicpLnBpcGUoXG4gICAgICBtYXAoY3JlYXRlTG9jYWxpemVyV2l0aEZhbGxiYWNrKSxcbiAgICAgIG1hcChsb2NhbGl6ZVdpdGhGYWxsYmFjayA9PiBsb2NhbGl6ZVdpdGhGYWxsYmFjayhyZXNvdXJjZU5hbWVzLCBrZXlzLCBkZWZhdWx0VmFsdWUpKSxcbiAgICApO1xuICB9XG5cbiAgbG9jYWxpemVXaXRoRmFsbGJhY2tTeW5jKHJlc291cmNlTmFtZXM6IHN0cmluZ1tdLCBrZXlzOiBzdHJpbmdbXSwgZGVmYXVsdFZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxvY2FsaXphdGlvbiA9IHRoaXMuY29uZmlnU3RhdGUuZ2V0T25lKCdsb2NhbGl6YXRpb24nKTtcbiAgICByZXR1cm4gY3JlYXRlTG9jYWxpemVyV2l0aEZhbGxiYWNrKGxvY2FsaXphdGlvbikocmVzb3VyY2VOYW1lcywga2V5cywgZGVmYXVsdFZhbHVlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRMb2NhbGl6YXRpb24oXG4gIHN0YXRlOiBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25EdG8sXG4gIGtleTogc3RyaW5nIHwgQ29uZmlnLkxvY2FsaXphdGlvbldpdGhEZWZhdWx0LFxuICAuLi5pbnRlcnBvbGF0ZVBhcmFtczogc3RyaW5nW11cbikge1xuICBpZiAoIWtleSkga2V5ID0gJyc7XG4gIGxldCBkZWZhdWx0VmFsdWU6IHN0cmluZztcblxuICBpZiAodHlwZW9mIGtleSAhPT0gJ3N0cmluZycpIHtcbiAgICBkZWZhdWx0VmFsdWUgPSBrZXkuZGVmYXVsdFZhbHVlO1xuICAgIGtleSA9IGtleS5rZXk7XG4gIH1cblxuICBjb25zdCBrZXlzID0ga2V5LnNwbGl0KCc6OicpIGFzIHN0cmluZ1tdO1xuICBjb25zdCB3YXJuID0gKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xuICAgIGlmIChpc0Rldk1vZGUpIGNvbnNvbGUud2FybihtZXNzYWdlKTtcbiAgfTtcblxuICBpZiAoa2V5cy5sZW5ndGggPCAyKSB7XG4gICAgd2FybignVGhlIGxvY2FsaXphdGlvbiBzb3VyY2Ugc2VwYXJhdG9yICg6Oikgbm90IGZvdW5kLicpO1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWUgfHwgKGtleSBhcyBzdHJpbmcpO1xuICB9XG4gIGlmICghc3RhdGUubG9jYWxpemF0aW9uKSByZXR1cm4gZGVmYXVsdFZhbHVlIHx8IGtleXNbMV07XG5cbiAgY29uc3Qgc291cmNlTmFtZSA9IGtleXNbMF0gfHwgc3RhdGUubG9jYWxpemF0aW9uLmRlZmF1bHRSZXNvdXJjZU5hbWU7XG4gIGNvbnN0IHNvdXJjZUtleSA9IGtleXNbMV07XG5cbiAgaWYgKHNvdXJjZU5hbWUgPT09ICdfJykge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWUgfHwgc291cmNlS2V5O1xuICB9XG5cbiAgaWYgKCFzb3VyY2VOYW1lKSB7XG4gICAgd2FybignTG9jYWxpemF0aW9uIHNvdXJjZSBuYW1lIGlzIG5vdCBzcGVjaWZpZWQgYW5kIHRoZSBkZWZhdWx0UmVzb3VyY2VOYW1lIHdhcyBub3QgZGVmaW5lZCEnKTtcblxuICAgIHJldHVybiBkZWZhdWx0VmFsdWUgfHwgc291cmNlS2V5O1xuICB9XG5cbiAgY29uc3Qgc291cmNlID0gc3RhdGUubG9jYWxpemF0aW9uLnZhbHVlc1tzb3VyY2VOYW1lXTtcbiAgaWYgKCFzb3VyY2UpIHtcbiAgICB3YXJuKCdDb3VsZCBub3QgZmluZCBsb2NhbGl6YXRpb24gc291cmNlOiAnICsgc291cmNlTmFtZSk7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZSB8fCBzb3VyY2VLZXk7XG4gIH1cblxuICBsZXQgbG9jYWxpemF0aW9uID0gc291cmNlW3NvdXJjZUtleV07XG4gIGlmICh0eXBlb2YgbG9jYWxpemF0aW9uID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWUgfHwgc291cmNlS2V5O1xuICB9XG5cbiAgaW50ZXJwb2xhdGVQYXJhbXMgPSBpbnRlcnBvbGF0ZVBhcmFtcy5maWx0ZXIocGFyYW1zID0+IHBhcmFtcyAhPSBudWxsKTtcbiAgaWYgKGxvY2FsaXphdGlvbikgbG9jYWxpemF0aW9uID0gaW50ZXJwb2xhdGUobG9jYWxpemF0aW9uLCBpbnRlcnBvbGF0ZVBhcmFtcyk7XG5cbiAgaWYgKHR5cGVvZiBsb2NhbGl6YXRpb24gIT09ICdzdHJpbmcnKSBsb2NhbGl6YXRpb24gPSAnJztcblxuICByZXR1cm4gbG9jYWxpemF0aW9uIHx8IGRlZmF1bHRWYWx1ZSB8fCAoa2V5IGFzIHN0cmluZyk7XG59XG4iXX0=
@@ -1,26 +1,22 @@
1
1
  var ConfigState_1;
2
2
  import { __decorate } from "tslib";
3
- import { HttpClient } from '@angular/common/http';
4
3
  import { Injectable } from '@angular/core';
5
4
  import { Action, createSelector, Selector, State, Store } from '@ngxs/store';
6
5
  import { throwError } from 'rxjs';
7
- import { catchError, distinctUntilChanged, tap } from 'rxjs/operators';
6
+ import { catchError, distinctUntilChanged } from 'rxjs/operators';
8
7
  import snq from 'snq';
9
8
  import { GetAppConfiguration, PatchConfigState, SetEnvironment } from '../actions/config.actions';
10
9
  import { RestOccurError } from '../actions/rest.actions';
11
10
  import { ConfigStateService } from '../services/config-state.service';
12
11
  import { EnvironmentService } from '../services/environment.service';
13
- import { SessionStateService } from '../services/session-state.service';
14
12
  import { interpolate } from '../utils/string-utils';
15
13
  import compare from 'just-compare';
16
14
  /**
17
15
  * @deprecated Use ConfigStateService instead. To be deleted in v5.0.
18
16
  */
19
17
  let ConfigState = ConfigState_1 = class ConfigState {
20
- constructor(http, store, sessionState, environmentService, configState) {
21
- this.http = http;
18
+ constructor(store, environmentService, configState) {
22
19
  this.store = store;
23
- this.sessionState = sessionState;
24
20
  this.environmentService = environmentService;
25
21
  this.configState = configState;
26
22
  this.syncConfigState();
@@ -186,9 +182,7 @@ let ConfigState = ConfigState_1 = class ConfigState {
186
182
  addData({ patchState, dispatch }) {
187
183
  const apiName = 'default';
188
184
  const api = this.store.selectSnapshot(ConfigState_1.getApiUrl(apiName));
189
- return this.http
190
- .get(`${api}/api/abp/application-configuration`)
191
- .pipe(tap(configuration => this.configState.setState(configuration)), catchError((err) => {
185
+ return this.configState.refreshAppState().pipe(catchError((err) => {
192
186
  dispatch(new RestOccurError(err));
193
187
  return throwError(err);
194
188
  }));
@@ -204,9 +198,7 @@ ConfigState.decorators = [
204
198
  { type: Injectable }
205
199
  ];
206
200
  ConfigState.ctorParameters = () => [
207
- { type: HttpClient },
208
201
  { type: Store },
209
- { type: SessionStateService },
210
202
  { type: EnvironmentService },
211
203
  { type: ConfigStateService }
212
204
  ];
@@ -235,4 +227,4 @@ ConfigState = ConfigState_1 = __decorate([
235
227
  })
236
228
  ], ConfigState);
237
229
  export { ConfigState };
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0YXRlcy9jb25maWcuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBZ0IsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNGLE9BQU8sRUFBTSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBYSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBR25DOztHQUVHO0lBTVUsV0FBVyx5QkFBWCxXQUFXO0lBaU10QixZQUNVLElBQWdCLEVBQ2hCLEtBQVksRUFDWixZQUFpQyxFQUNqQyxrQkFBc0MsRUFDdEMsV0FBK0I7UUFKL0IsU0FBSSxHQUFKLElBQUksQ0FBWTtR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QUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBR0QsY0FBYyxDQUFDLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBa0I7UUFDL0MsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFHRCxTQUFTLENBQUMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUE4QixFQUFFLEVBQUUsS0FBSyxFQUFvQjtRQUN6RixVQUFVLGlDQUFNLFFBQVEsRUFBRSxHQUFLLEtBQUssRUFBRyxDQUFDO0lBQzFDLENBQUM7Q0FDRixDQUFBOztZQW5QQSxVQUFVOzs7WUF4QkYsVUFBVTtZQUU2QyxLQUFLO1lBVTVELG1CQUFtQjtZQURuQixrQkFBa0I7WUFEbEIsa0JBQWtCOztBQTBPekI7SUFEQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7MENBYTNCO0FBR0Q7SUFEQyxNQUFNLENBQUMsY0FBYyxDQUFDO2lEQUd0QjtBQUdEO0lBREMsTUFBTSxDQUFDLGdCQUFnQixDQUFDOzRDQUd4QjtBQS9PRDtJQURDLFFBQVEsRUFBRTsrQkFHVjtBQUdEO0lBREMsUUFBUSxFQUFFOzJDQUdWO0FBR0Q7SUFEQyxRQUFRLEVBQUU7dUNBR1Y7QUFkVSxXQUFXO0lBTHZCLEtBQUssQ0FBZTtRQUNuQixJQUFJLEVBQUUsYUFBYTtRQUNuQixRQUFRLEVBQUUsRUFBa0I7S0FDN0IsQ0FBQztHQUVXLFdBQVcsQ0FrUHZCO1NBbFBZLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbiwgY3JlYXRlU2VsZWN0b3IsIFNlbGVjdG9yLCBTdGF0ZSwgU3RhdGVDb250ZXh0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQgeyBHZXRBcHBDb25maWd1cmF0aW9uLCBQYXRjaENvbmZpZ1N0YXRlLCBTZXRFbnZpcm9ubWVudCB9IGZyb20gJy4uL2FjdGlvbnMvY29uZmlnLmFjdGlvbnMnO1xuaW1wb3J0IHsgUmVzdE9jY3VyRXJyb3IgfSBmcm9tICcuLi9hY3Rpb25zL3Jlc3QuYWN0aW9ucyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY29uZmlnJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Nlc3Npb24tc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBpbnRlcnBvbGF0ZSB9IGZyb20gJy4uL3V0aWxzL3N0cmluZy11dGlscyc7XG5pbXBvcnQgY29tcGFyZSBmcm9tICdqdXN0LWNvbXBhcmUnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvIH0gZnJvbSAnLi4vcHJveHkvdm9sby9hYnAvYXNwLW5ldC1jb3JlL212Yy9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9ucy9tb2RlbHMnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBDb25maWdTdGF0ZVNlcnZpY2UgaW5zdGVhZC4gVG8gYmUgZGVsZXRlZCBpbiB2NS4wLlxuICovXG5AU3RhdGU8Q29uZmlnLlN0YXRlPih7XG4gIG5hbWU6ICdDb25maWdTdGF0ZScsXG4gIGRlZmF1bHRzOiB7fSBhcyBDb25maWcuU3RhdGUsXG59KVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ1N0YXRlIHtcbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldEFsbChzdGF0ZTogQ29uZmlnLlN0YXRlKSB7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldEFwcGxpY2F0aW9uSW5mbyhzdGF0ZTogQ29uZmlnLlN0YXRlKTogQ29uZmlnLkFwcGxpY2F0aW9uIHtcbiAgICByZXR1cm4gc3RhdGUuZW52aXJvbm1lbnQuYXBwbGljYXRpb24gfHwgKHt9IGFzIENvbmZpZy5BcHBsaWNhdGlvbik7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgZ2V0RW52aXJvbm1lbnQoc3RhdGU6IENvbmZpZy5TdGF0ZSk6IENvbmZpZy5FbnZpcm9ubWVudCB7XG4gICAgcmV0dXJuIHN0YXRlLmVudmlyb25tZW50O1xuICB9XG5cbiAgc3RhdGljIGdldE9uZShrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoW0NvbmZpZ1N0YXRlXSwgKHN0YXRlOiBDb25maWcuU3RhdGUpID0+IHtcbiAgICAgIHJldHVybiBzdGF0ZVtrZXldO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldERlZXAoa2V5czogc3RyaW5nW10gfCBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIGtleXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICBrZXlzID0ga2V5cy5zcGxpdCgnLicpO1xuICAgIH1cblxuICAgIGlmICghQXJyYXkuaXNBcnJheShrZXlzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgYXJndW1lbnQgbXVzdCBiZSBhIGRvdCBzdHJpbmcgb3IgYW4gc3RyaW5nIGFycmF5LicpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoW0NvbmZpZ1N0YXRlXSwgKHN0YXRlOiBDb25maWcuU3RhdGUpID0+IHtcbiAgICAgIHJldHVybiAoa2V5cyBhcyBzdHJpbmdbXSkucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgICAgICBpZiAoYWNjKSB7XG4gICAgICAgICAgcmV0dXJuIGFjY1t2YWxdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH0sIHN0YXRlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRBcGlVcmwoa2V5Pzogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihbQ29uZmlnU3RhdGVdLCAoc3RhdGU6IENvbmZpZy5TdGF0ZSk6IHN0cmluZyA9PiB7XG4gICAgICByZXR1cm4gKHN0YXRlLmVudmlyb25tZW50LmFwaXNba2V5IHx8ICdkZWZhdWx0J10gfHwgc3RhdGUuZW52aXJvbm1lbnQuYXBpcy5kZWZhdWx0KS51cmw7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0RmVhdHVyZShrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoW0NvbmZpZ1N0YXRlXSwgKHN0YXRlOiBDb25maWcuU3RhdGUpID0+IHtcbiAgICAgIHJldHVybiBzbnEoKCkgPT4gc3RhdGUuZmVhdHVyZXMudmFsdWVzW2tleV0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldFNldHRpbmcoa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFtDb25maWdTdGF0ZV0sIChzdGF0ZTogQ29uZmlnLlN0YXRlKSA9PiB7XG4gICAgICByZXR1cm4gc25xKCgpID0+IHN0YXRlLnNldHRpbmcudmFsdWVzW2tleV0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldFNldHRpbmdzKGtleXdvcmQ/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFtDb25maWdTdGF0ZV0sIChzdGF0ZTogQ29uZmlnLlN0YXRlKSA9PiB7XG4gICAgICBjb25zdCBzZXR0aW5ncyA9IHNucSgoKSA9PiBzdGF0ZS5zZXR0aW5nLnZhbHVlcywge30pO1xuXG4gICAgICBpZiAoIWtleXdvcmQpIHJldHVybiBzZXR0aW5ncztcblxuICAgICAgY29uc3Qga2V5c0ZvdW5kID0gT2JqZWN0LmtleXMoc2V0dGluZ3MpLmZpbHRlcihrZXkgPT4ga2V5LmluZGV4T2Yoa2V5d29yZCkgPiAtMSk7XG5cbiAgICAgIHJldHVybiBrZXlzRm91bmQucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICBhY2Nba2V5XSA9IHNldHRpbmdzW2tleV07XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIFBlcm1pc3Npb25TZXJ2aWNlJ3MgZ2V0R3JhbnRlZFBvbGljeVN0cmVhbSBvciBnZXRHcmFudGVkUG9saWN5IG1ldGhvZHMuXG4gICAqL1xuICBzdGF0aWMgZ2V0R3JhbnRlZFBvbGljeShrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoW0NvbmZpZ1N0YXRlXSwgKHN0YXRlOiBDb25maWcuU3RhdGUpOiBib29sZWFuID0+IHtcbiAgICAgIGlmICgha2V5KSByZXR1cm4gdHJ1ZTtcbiAgICAgIGNvbnN0IGdldFBvbGljeSA9IChrOiBzdHJpbmcpID0+IHNucSgoKSA9PiBzdGF0ZS5hdXRoLmdyYW50ZWRQb2xpY2llc1trXSwgZmFsc2UpO1xuXG4gICAgICBjb25zdCBvclJlZ2V4cCA9IC9cXHxcXHwvZztcbiAgICAgIGNvbnN0IGFuZFJlZ2V4cCA9IC8mJi9nO1xuXG4gICAgICAvLyBUT0RPOiBBbGxvdyBjb21iaW5hdGlvbiBvZiBBTkRzICYgT1JzXG4gICAgICBpZiAob3JSZWdleHAudGVzdChrZXkpKSB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBrZXkuc3BsaXQoJ3x8JykuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgICAgIGlmIChrZXlzLmxlbmd0aCA8IDIpIHJldHVybiBmYWxzZTtcblxuICAgICAgICByZXR1cm4ga2V5cy5zb21lKGsgPT4gZ2V0UG9saWN5KGsudHJpbSgpKSk7XG4gICAgICB9IGVsc2UgaWYgKGFuZFJlZ2V4cC50ZXN0KGtleSkpIHtcbiAgICAgICAgY29uc3Qga2V5cyA9IGtleS5zcGxpdCgnJiYnKS5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICAgICAgaWYgKGtleXMubGVuZ3RoIDwgMikgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHJldHVybiBrZXlzLmV2ZXJ5KGsgPT4gZ2V0UG9saWN5KGsudHJpbSgpKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBnZXRQb2xpY3koa2V5KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRMb2NhbGl6YXRpb25SZXNvdXJjZShyZXNvdXJjZU5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoW0NvbmZpZ1N0YXRlXSwgKHN0YXRlOiBDb25maWcuU3RhdGUpOiB7XG4gICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gICAgfSA9PiB7XG4gICAgICByZXR1cm4gc3RhdGUubG9jYWxpemF0aW9uLnZhbHVlc1tyZXNvdXJjZU5hbWVdO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldExvY2FsaXphdGlvbihcbiAgICBrZXk6IHN0cmluZyB8IENvbmZpZy5Mb2NhbGl6YXRpb25XaXRoRGVmYXVsdCxcbiAgICAuLi5pbnRlcnBvbGF0ZVBhcmFtczogc3RyaW5nW11cbiAgKSB7XG4gICAgaWYgKCFrZXkpIGtleSA9ICcnO1xuICAgIGxldCBkZWZhdWx0VmFsdWU6IHN0cmluZztcblxuICAgIGlmICh0eXBlb2Yga2V5ICE9PSAnc3RyaW5nJykge1xuICAgICAgZGVmYXVsdFZhbHVlID0ga2V5LmRlZmF1bHRWYWx1ZTtcbiAgICAgIGtleSA9IGtleS5rZXk7XG4gICAgfVxuXG4gICAgY29uc3Qga2V5cyA9IGtleS5zcGxpdCgnOjonKSBhcyBzdHJpbmdbXTtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFtDb25maWdTdGF0ZV0sIChzdGF0ZTogQ29uZmlnLlN0YXRlKTogc3RyaW5nID0+IHtcbiAgICAgIGNvbnN0IHdhcm4gPSAobWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGlmICghc3RhdGUuZW52aXJvbm1lbnQucHJvZHVjdGlvbikgY29uc29sZS53YXJuKG1lc3NhZ2UpO1xuICAgICAgfTtcblxuICAgICAgaWYgKGtleXMubGVuZ3RoIDwgMikge1xuICAgICAgICB3YXJuKCdUaGUgbG9jYWxpemF0aW9uIHNvdXJjZSBzZXBhcmF0b3IgKDo6KSBub3QgZm91bmQuJyk7XG4gICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWUgfHwgKGtleSBhcyBzdHJpbmcpO1xuICAgICAgfVxuICAgICAgaWYgKCFzdGF0ZS5sb2NhbGl6YXRpb24pIHJldHVybiBkZWZhdWx0VmFsdWUgfHwga2V5c1sxXTtcblxuICAgICAgY29uc3Qgc291cmNlTmFtZSA9XG4gICAgICAgIGtleXNbMF0gfHxcbiAgICAgICAgc25xKCgpID0+IHN0YXRlLmVudmlyb25tZW50LmxvY2FsaXphdGlvbi5kZWZhdWx0UmVzb3VyY2VOYW1lKSB8fFxuICAgICAgICBzdGF0ZS5sb2NhbGl6YXRpb24uZGVmYXVsdFJlc291cmNlTmFtZTtcbiAgICAgIGNvbnN0IHNvdXJjZUtleSA9IGtleXNbMV07XG5cbiAgICAgIGlmIChzb3VyY2VOYW1lID09PSAnXycpIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZSB8fCBzb3VyY2VLZXk7XG4gICAgICB9XG5cbiAgICAgIGlmICghc291cmNlTmFtZSkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgICdMb2NhbGl6YXRpb24gc291cmNlIG5hbWUgaXMgbm90IHNwZWNpZmllZCBhbmQgdGhlIGRlZmF1bHRSZXNvdXJjZU5hbWUgd2FzIG5vdCBkZWZpbmVkIScsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZSB8fCBzb3VyY2VLZXk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNvdXJjZSA9IHN0YXRlLmxvY2FsaXphdGlvbi52YWx1ZXNbc291cmNlTmFtZV07XG4gICAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgICB3YXJuKCdDb3VsZCBub3QgZmluZCBsb2NhbGl6YXRpb24gc291cmNlOiAnICsgc291cmNlTmFtZSk7XG4gICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWUgfHwgc291cmNlS2V5O1xuICAgICAgfVxuXG4gICAgICBsZXQgbG9jYWxpemF0aW9uID0gc291cmNlW3NvdXJjZUtleV07XG4gICAgICBpZiAodHlwZW9mIGxvY2FsaXphdGlvbiA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZSB8fCBzb3VyY2VLZXk7XG4gICAgICB9XG5cbiAgICAgIGludGVycG9sYXRlUGFyYW1zID0gaW50ZXJwb2xhdGVQYXJhbXMuZmlsdGVyKHBhcmFtcyA9PiBwYXJhbXMgIT0gbnVsbCk7XG4gICAgICBpZiAobG9jYWxpemF0aW9uKSBsb2NhbGl6YXRpb24gPSBpbnRlcnBvbGF0ZShsb2NhbGl6YXRpb24sIGludGVycG9sYXRlUGFyYW1zKTtcblxuICAgICAgaWYgKHR5cGVvZiBsb2NhbGl6YXRpb24gIT09ICdzdHJpbmcnKSBsb2NhbGl6YXRpb24gPSAnJztcblxuICAgICAgcmV0dXJuIGxvY2FsaXphdGlvbiB8fCBkZWZhdWx0VmFsdWUgfHwgKGtleSBhcyBzdHJpbmcpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgc2Vzc2lvblN0YXRlOiBTZXNzaW9uU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZW52aXJvbm1lbnRTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnN5bmNDb25maWdTdGF0ZSgpO1xuICAgIHRoaXMuc3luY0Vudmlyb25tZW50KCk7XG4gIH1cblxuICBwcml2YXRlIHN5bmNDb25maWdTdGF0ZSgpIHtcbiAgICB0aGlzLmNvbmZpZ1N0YXRlXG4gICAgICAuY3JlYXRlT25VcGRhdGVTdHJlYW0oc3RhdGUgPT4gc3RhdGUpXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZChjb21wYXJlKSlcbiAgICAgIC5zdWJzY3JpYmUoY29uZmlnID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFBhdGNoQ29uZmlnU3RhdGUoY29uZmlnIGFzIGFueSkpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3luY0Vudmlyb25tZW50KCkge1xuICAgIHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlXG4gICAgICAuY3JlYXRlT25VcGRhdGVTdHJlYW0oc3RhdGUgPT4gc3RhdGUpXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZChjb21wYXJlKSlcbiAgICAgIC5zdWJzY3JpYmUoZW52ID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFBhdGNoQ29uZmlnU3RhdGUoeyBlbnZpcm9ubWVudDogZW52IH0gYXMgYW55KSkpO1xuICB9XG5cbiAgQEFjdGlvbihHZXRBcHBDb25maWd1cmF0aW9uKVxuICBhZGREYXRhKHsgcGF0Y2hTdGF0ZSwgZGlzcGF0Y2ggfTogU3RhdGVDb250ZXh0PENvbmZpZy5TdGF0ZT4pIHtcbiAgICBjb25zdCBhcGlOYW1lID0gJ2RlZmF1bHQnO1xuICAgIGNvbnN0IGFwaSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoQ29uZmlnU3RhdGUuZ2V0QXBpVXJsKGFwaU5hbWUpKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkR0bz4oYCR7YXBpfS9hcGkvYWJwL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb25gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcChjb25maWd1cmF0aW9uID0+IHRoaXMuY29uZmlnU3RhdGUuc2V0U3RhdGUoY29uZmlndXJhdGlvbikpLFxuICAgICAgICBjYXRjaEVycm9yKChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgZGlzcGF0Y2gobmV3IFJlc3RPY2N1ckVycm9yKGVycikpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oU2V0RW52aXJvbm1lbnQpXG4gIHNldEVudmlyb25tZW50KF8sIHsgZW52aXJvbm1lbnQgfTogU2V0RW52aXJvbm1lbnQpIHtcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudFNlcnZpY2Uuc2V0U3RhdGUoZW52aXJvbm1lbnQpO1xuICB9XG5cbiAgQEFjdGlvbihQYXRjaENvbmZpZ1N0YXRlKVxuICBzZXRDb25maWcoeyBwYXRjaFN0YXRlLCBnZXRTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8Q29uZmlnLlN0YXRlPiwgeyBzdGF0ZSB9OiBQYXRjaENvbmZpZ1N0YXRlKSB7XG4gICAgcGF0Y2hTdGF0ZSh7IC4uLmdldFN0YXRlKCksIC4uLnN0YXRlIH0pO1xuICB9XG59XG4iXX0=
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0YXRlcy9jb25maWcuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWdCLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRW5DOztHQUVHO0lBTVUsV0FBVyx5QkFBWCxXQUFXO0lBc010QixZQUNVLEtBQVksRUFDWixrQkFBc0MsRUFDdEMsV0FBK0I7UUFGL0IsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBRXZDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFD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Q0FBQztDQUNGLENBQUE7O1lBblBBLFVBQVU7OztZQXBCcUQsS0FBSztZQVE1RCxrQkFBa0I7WUFEbEIsa0JBQWtCOztBQTRPekI7SUFEQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7MENBVTNCO0FBR0Q7SUFEQyxNQUFNLENBQUMsY0FBYyxDQUFDO2lEQUd0QjtBQUdEO0lBREMsTUFBTSxDQUFDLGdCQUFnQixDQUFDOzRDQUd4QjtBQS9PRDtJQURDLFFBQVEsRUFBRTsrQkFHVjtBQUdEO0lBREMsUUFBUSxFQUFFOzJDQUdWO0FBR0Q7SUFEQyxRQUFRLEVBQUU7dUNBR1Y7QUFkVSxXQUFXO0lBTHZCLEtBQUssQ0FBZTtRQUNuQixJQUFJLEVBQUUsYUFBYTtRQUNuQixRQUFRLEVBQUUsRUFBa0I7S0FDN0IsQ0FBQztHQUVXLFdBQVcsQ0FrUHZCO1NBbFBZLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbiwgY3JlYXRlU2VsZWN0b3IsIFNlbGVjdG9yLCBTdGF0ZSwgU3RhdGVDb250ZXh0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHNucSBmcm9tICdzbnEnO1xuaW1wb3J0IHsgR2V0QXBwQ29uZmlndXJhdGlvbiwgUGF0Y2hDb25maWdTdGF0ZSwgU2V0RW52aXJvbm1lbnQgfSBmcm9tICcuLi9hY3Rpb25zL2NvbmZpZy5hY3Rpb25zJztcbmltcG9ydCB7IFJlc3RPY2N1ckVycm9yIH0gZnJvbSAnLi4vYWN0aW9ucy9yZXN0LmFjdGlvbnMnO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWctc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lbnZpcm9ubWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zZXNzaW9uLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgaW50ZXJwb2xhdGUgfSBmcm9tICcuLi91dGlscy9zdHJpbmctdXRpbHMnO1xuaW1wb3J0IGNvbXBhcmUgZnJvbSAnanVzdC1jb21wYXJlJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQ29uZmlnU3RhdGVTZXJ2aWNlIGluc3RlYWQuIFRvIGJlIGRlbGV0ZWQgaW4gdjUuMC5cbiAqL1xuQFN0YXRlPENvbmZpZy5TdGF0ZT4oe1xuICBuYW1lOiAnQ29uZmlnU3RhdGUnLFxuICBkZWZhdWx0czoge30gYXMgQ29uZmlnLlN0YXRlLFxufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWdTdGF0ZSB7XG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRBbGwoc3RhdGU6IENvbmZpZy5TdGF0ZSkge1xuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBnZXRBcHBsaWNhdGlvbkluZm8oc3RhdGU6IENvbmZpZy5TdGF0ZSk6IENvbmZpZy5BcHBsaWNhdGlvbiB7XG4gICAgcmV0dXJuIHN0YXRlLmVudmlyb25tZW50LmFwcGxpY2F0aW9uIHx8ICh7fSBhcyBDb25maWcuQXBwbGljYXRpb24pO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGdldEVudmlyb25tZW50KHN0YXRlOiBDb25maWcuU3RhdGUpOiBDb25maWcuRW52aXJvbm1lbnQge1xuICAgIHJldHVybiBzdGF0ZS5lbnZpcm9ubWVudDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRPbmUoa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFtDb25maWdTdGF0ZV0sIChzdGF0ZTogQ29uZmlnLlN0YXRlKSA9PiB7XG4gICAgICByZXR1cm4gc3RhdGVba2V5XTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXREZWVwKGtleXM6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBrZXlzID09PSAnc3RyaW5nJykge1xuICAgICAga2V5cyA9IGtleXMuc3BsaXQoJy4nKTtcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoa2V5cykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBkb3Qgc3RyaW5nIG9yIGFuIHN0cmluZyBhcnJheS4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFtDb25maWdTdGF0ZV0sIChzdGF0ZTogQ29uZmlnLlN0YXRlKSA9PiB7XG4gICAgICByZXR1cm4gKGtleXMgYXMgc3RyaW5nW10pLnJlZHVjZSgoYWNjLCB2YWwpID0+IHtcbiAgICAgICAgaWYgKGFjYykge1xuICAgICAgICAgIHJldHVybiBhY2NbdmFsXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9LCBzdGF0ZSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0QXBpVXJsKGtleT86IHN0cmluZykge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoW0NvbmZpZ1N0YXRlXSwgKHN0YXRlOiBDb25maWcuU3RhdGUpOiBzdHJpbmcgPT4ge1xuICAgICAgcmV0dXJuIChzdGF0ZS5lbnZpcm9ubWVudC5hcGlzW2tleSB8fCAnZGVmYXVsdCddIHx8IHN0YXRlLmVudmlyb25tZW50LmFwaXMuZGVmYXVsdCkudXJsO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGdldEZlYXR1cmUoa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFtDb25maWdTdGF0ZV0sIChzdGF0ZTogQ29uZmlnLlN0YXRlKSA9PiB7XG4gICAgICByZXR1cm4gc25xKCgpID0+IHN0YXRlLmZlYXR1cmVzLnZhbHVlc1trZXldKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRTZXR0aW5nKGtleTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihbQ29uZmlnU3RhdGVdLCAoc3RhdGU6IENvbmZpZy5TdGF0ZSkgPT4ge1xuICAgICAgcmV0dXJuIHNucSgoKSA9PiBzdGF0ZS5zZXR0aW5nLnZhbHVlc1trZXldKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRTZXR0aW5ncyhrZXl3b3JkPzogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihbQ29uZmlnU3RhdGVdLCAoc3RhdGU6IENvbmZpZy5TdGF0ZSkgPT4ge1xuICAgICAgY29uc3Qgc2V0dGluZ3MgPSBzbnEoKCkgPT4gc3RhdGUuc2V0dGluZy52YWx1ZXMsIHt9KTtcblxuICAgICAgaWYgKCFrZXl3b3JkKSByZXR1cm4gc2V0dGluZ3M7XG5cbiAgICAgIGNvbnN0IGtleXNGb3VuZCA9IE9iamVjdC5rZXlzKHNldHRpbmdzKS5maWx0ZXIoa2V5ID0+IGtleS5pbmRleE9mKGtleXdvcmQpID4gLTEpO1xuXG4gICAgICByZXR1cm4ga2V5c0ZvdW5kLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgYWNjW2tleV0gPSBzZXR0aW5nc1trZXldO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBQZXJtaXNzaW9uU2VydmljZSdzIGdldEdyYW50ZWRQb2xpY3lTdHJlYW0gb3IgZ2V0R3JhbnRlZFBvbGljeSBtZXRob2RzLlxuICAgKi9cbiAgc3RhdGljIGdldEdyYW50ZWRQb2xpY3koa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFtDb25maWdTdGF0ZV0sIChzdGF0ZTogQ29uZmlnLlN0YXRlKTogYm9vbGVhbiA9PiB7XG4gICAgICBpZiAoIWtleSkgcmV0dXJuIHRydWU7XG4gICAgICBjb25zdCBnZXRQb2xpY3kgPSAoazogc3RyaW5nKSA9PiBzbnEoKCkgPT4gc3RhdGUuYXV0aC5ncmFudGVkUG9saWNpZXNba10sIGZhbHNlKTtcblxuICAgICAgY29uc3Qgb3JSZWdleHAgPSAvXFx8XFx8L2c7XG4gICAgICBjb25zdCBhbmRSZWdleHAgPSAvJiYvZztcblxuICAgICAgLy8gVE9ETzogQWxsb3cgY29tYmluYXRpb24gb2YgQU5EcyAmIE9Sc1xuICAgICAgaWYgKG9yUmVnZXhwLnRlc3Qoa2V5KSkge1xuICAgICAgICBjb25zdCBrZXlzID0ga2V5LnNwbGl0KCd8fCcpLmZpbHRlcihCb29sZWFuKTtcblxuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPCAyKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIGtleXMuc29tZShrID0+IGdldFBvbGljeShrLnRyaW0oKSkpO1xuICAgICAgfSBlbHNlIGlmIChhbmRSZWdleHAudGVzdChrZXkpKSB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBrZXkuc3BsaXQoJyYmJykuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgICAgIGlmIChrZXlzLmxlbmd0aCA8IDIpIHJldHVybiBmYWxzZTtcblxuICAgICAgICByZXR1cm4ga2V5cy5ldmVyeShrID0+IGdldFBvbGljeShrLnRyaW0oKSkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZ2V0UG9saWN5KGtleSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0TG9jYWxpemF0aW9uUmVzb3VyY2UocmVzb3VyY2VOYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgW0NvbmZpZ1N0YXRlXSxcbiAgICAgIChcbiAgICAgICAgc3RhdGU6IENvbmZpZy5TdGF0ZSxcbiAgICAgICk6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICAgICAgfSA9PiB7XG4gICAgICAgIHJldHVybiBzdGF0ZS5sb2NhbGl6YXRpb24udmFsdWVzW3Jlc291cmNlTmFtZV07XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZ2V0TG9jYWxpemF0aW9uKFxuICAgIGtleTogc3RyaW5nIHwgQ29uZmlnLkxvY2FsaXphdGlvbldpdGhEZWZhdWx0LFxuICAgIC4uLmludGVycG9sYXRlUGFyYW1zOiBzdHJpbmdbXVxuICApIHtcbiAgICBpZiAoIWtleSkga2V5ID0gJyc7XG4gICAgbGV0IGRlZmF1bHRWYWx1ZTogc3RyaW5nO1xuXG4gICAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKSB7XG4gICAgICBkZWZhdWx0VmFsdWUgPSBrZXkuZGVmYXVsdFZhbHVlO1xuICAgICAga2V5ID0ga2V5LmtleTtcbiAgICB9XG5cbiAgICBjb25zdCBrZXlzID0ga2V5LnNwbGl0KCc6OicpIGFzIHN0cmluZ1tdO1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoW0NvbmZpZ1N0YXRlXSwgKHN0YXRlOiBDb25maWcuU3RhdGUpOiBzdHJpbmcgPT4ge1xuICAgICAgY29uc3Qgd2FybiA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKCFzdGF0ZS5lbnZpcm9ubWVudC5wcm9kdWN0aW9uKSBjb25zb2xlLndhcm4obWVzc2FnZSk7XG4gICAgICB9O1xuXG4gICAgICBpZiAoa2V5cy5sZW5ndGggPCAyKSB7XG4gICAgICAgIHdhcm4oJ1RoZSBsb2NhbGl6YXRpb24gc291cmNlIHNlcGFyYXRvciAoOjopIG5vdCBmb3VuZC4nKTtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZSB8fCAoa2V5IGFzIHN0cmluZyk7XG4gICAgICB9XG4gICAgICBpZiAoIXN0YXRlLmxvY2FsaXphdGlvbikgcmV0dXJuIGRlZmF1bHRWYWx1ZSB8fCBrZXlzWzFdO1xuXG4gICAgICBjb25zdCBzb3VyY2VOYW1lID1cbiAgICAgICAga2V5c1swXSB8fFxuICAgICAgICBzbnEoKCkgPT4gc3RhdGUuZW52aXJvbm1lbnQubG9jYWxpemF0aW9uLmRlZmF1bHRSZXNvdXJjZU5hbWUpIHx8XG4gICAgICAgIHN0YXRlLmxvY2FsaXphdGlvbi5kZWZhdWx0UmVzb3VyY2VOYW1lO1xuICAgICAgY29uc3Qgc291cmNlS2V5ID0ga2V5c1sxXTtcblxuICAgICAgaWYgKHNvdXJjZU5hbWUgPT09ICdfJykge1xuICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlIHx8IHNvdXJjZUtleTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFzb3VyY2VOYW1lKSB7XG4gICAgICAgIHdhcm4oXG4gICAgICAgICAgJ0xvY2FsaXphdGlvbiBzb3VyY2UgbmFtZSBpcyBub3Qgc3BlY2lmaWVkIGFuZCB0aGUgZGVmYXVsdFJlc291cmNlTmFtZSB3YXMgbm90IGRlZmluZWQhJyxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlIHx8IHNvdXJjZUtleTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc291cmNlID0gc3RhdGUubG9jYWxpemF0aW9uLnZhbHVlc1tzb3VyY2VOYW1lXTtcbiAgICAgIGlmICghc291cmNlKSB7XG4gICAgICAgIHdhcm4oJ0NvdWxkIG5vdCBmaW5kIGxvY2FsaXphdGlvbiBzb3VyY2U6ICcgKyBzb3VyY2VOYW1lKTtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZSB8fCBzb3VyY2VLZXk7XG4gICAgICB9XG5cbiAgICAgIGxldCBsb2NhbGl6YXRpb24gPSBzb3VyY2Vbc291cmNlS2V5XTtcbiAgICAgIGlmICh0eXBlb2YgbG9jYWxpemF0aW9uID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlIHx8IHNvdXJjZUtleTtcbiAgICAgIH1cblxuICAgICAgaW50ZXJwb2xhdGVQYXJhbXMgPSBpbnRlcnBvbGF0ZVBhcmFtcy5maWx0ZXIocGFyYW1zID0+IHBhcmFtcyAhPSBudWxsKTtcbiAgICAgIGlmIChsb2NhbGl6YXRpb24pIGxvY2FsaXphdGlvbiA9IGludGVycG9sYXRlKGxvY2FsaXphdGlvbiwgaW50ZXJwb2xhdGVQYXJhbXMpO1xuXG4gICAgICBpZiAodHlwZW9mIGxvY2FsaXphdGlvbiAhPT0gJ3N0cmluZycpIGxvY2FsaXphdGlvbiA9ICcnO1xuXG4gICAgICByZXR1cm4gbG9jYWxpemF0aW9uIHx8IGRlZmF1bHRWYWx1ZSB8fCAoa2V5IGFzIHN0cmluZyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3I7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIGVudmlyb25tZW50U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU3RhdGU6IENvbmZpZ1N0YXRlU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5zeW5jQ29uZmlnU3RhdGUoKTtcbiAgICB0aGlzLnN5bmNFbnZpcm9ubWVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzeW5jQ29uZmlnU3RhdGUoKSB7XG4gICAgdGhpcy5jb25maWdTdGF0ZVxuICAgICAgLmNyZWF0ZU9uVXBkYXRlU3RyZWFtKHN0YXRlID0+IHN0YXRlKVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoY29tcGFyZSkpXG4gICAgICAuc3Vic2NyaWJlKGNvbmZpZyA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBQYXRjaENvbmZpZ1N0YXRlKGNvbmZpZyBhcyBhbnkpKSk7XG4gIH1cblxuICBwcml2YXRlIHN5bmNFbnZpcm9ubWVudCgpIHtcbiAgICB0aGlzLmVudmlyb25tZW50U2VydmljZVxuICAgICAgLmNyZWF0ZU9uVXBkYXRlU3RyZWFtKHN0YXRlID0+IHN0YXRlKVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoY29tcGFyZSkpXG4gICAgICAuc3Vic2NyaWJlKGVudiA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBQYXRjaENvbmZpZ1N0YXRlKHsgZW52aXJvbm1lbnQ6IGVudiB9IGFzIGFueSkpKTtcbiAgfVxuXG4gIEBBY3Rpb24oR2V0QXBwQ29uZmlndXJhdGlvbilcbiAgYWRkRGF0YSh7IHBhdGNoU3RhdGUsIGRpc3BhdGNoIH06IFN0YXRlQ29udGV4dDxDb25maWcuU3RhdGU+KSB7XG4gICAgY29uc3QgYXBpTmFtZSA9ICdkZWZhdWx0JztcbiAgICBjb25zdCBhcGkgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KENvbmZpZ1N0YXRlLmdldEFwaVVybChhcGlOYW1lKSk7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU3RhdGUucmVmcmVzaEFwcFN0YXRlKCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgZGlzcGF0Y2gobmV3IFJlc3RPY2N1ckVycm9yKGVycikpO1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oU2V0RW52aXJvbm1lbnQpXG4gIHNldEVudmlyb25tZW50KF8sIHsgZW52aXJvbm1lbnQgfTogU2V0RW52aXJvbm1lbnQpIHtcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudFNlcnZpY2Uuc2V0U3RhdGUoZW52aXJvbm1lbnQpO1xuICB9XG5cbiAgQEFjdGlvbihQYXRjaENvbmZpZ1N0YXRlKVxuICBzZXRDb25maWcoeyBwYXRjaFN0YXRlLCBnZXRTdGF0ZSB9OiBTdGF0ZUNvbnRleHQ8Q29uZmlnLlN0YXRlPiwgeyBzdGF0ZSB9OiBQYXRjaENvbmZpZ1N0YXRlKSB7XG4gICAgcGF0Y2hTdGF0ZSh7IC4uLmdldFN0YXRlKCksIC4uLnN0YXRlIH0pO1xuICB9XG59XG4iXX0=
@@ -6,7 +6,6 @@ import { OAuthErrorEvent, OAuthInfoEvent, OAuthService, } from 'angular-oauth2-o
6
6
  import { from, of, pipe } from 'rxjs';
7
7
  import { filter, switchMap, tap } from 'rxjs/operators';
8
8
  import { RestOccurError } from '../actions/rest.actions';
9
- import { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';
10
9
  import { ConfigStateService } from '../services/config-state.service';
11
10
  import { EnvironmentService } from '../services/environment.service';
12
11
  import { SessionStateService } from '../services/session-state.service';
@@ -22,7 +21,6 @@ export class AuthFlowStrategy {
22
21
  this.environment = injector.get(EnvironmentService);
23
22
  this.configState = injector.get(ConfigStateService);
24
23
  this.oAuthService = injector.get(OAuthService);
25
- this.appConfigService = injector.get(AbpApplicationConfigurationService);
26
24
  this.sessionState = injector.get(SessionStateService);
27
25
  this.oAuthConfig = this.environment.getEnvironment().oAuthConfig;
28
26
  this.tenantKey = injector.get(TENANT_KEY);
@@ -34,6 +32,9 @@ export class AuthFlowStrategy {
34
32
  if (shouldClear)
35
33
  clearOAuthStorage(oAuthStorage);
36
34
  this.oAuthService.configure(this.oAuthConfig);
35
+ this.oAuthService.events
36
+ .pipe(filter(event => event.type === 'token_refresh_error'))
37
+ .subscribe(() => this.navigateToLogin());
37
38
  return this.oAuthService
38
39
  .loadDiscoveryDocument()
39
40
  .then(() => {
@@ -50,10 +51,8 @@ export class AuthFlowStrategy {
50
51
  }
51
52
  listenToOauthErrors() {
52
53
  this.oAuthService.events
53
- .pipe(filter(event => event instanceof OAuthErrorEvent), tap(() => clearOAuthStorage()), switchMap(() => this.appConfigService.get()))
54
- .subscribe(res => {
55
- this.configState.setState(res);
56
- });
54
+ .pipe(filter(event => event instanceof OAuthErrorEvent), tap(() => clearOAuthStorage()), switchMap(() => this.configState.refreshAppState()))
55
+ .subscribe();
57
56
  }
58
57
  }
59
58
  export class AuthCodeFlowStrategy extends AuthFlowStrategy {
@@ -110,9 +109,7 @@ export class AuthPasswordFlowStrategy extends AuthFlowStrategy {
110
109
  else {
111
110
  this.oAuthService.logOut();
112
111
  removeRememberMe();
113
- this.appConfigService.get().subscribe(res => {
114
- this.configState.setState(res);
115
- });
112
+ this.configState.refreshAppState().subscribe();
116
113
  }
117
114
  });
118
115
  }
@@ -140,8 +137,7 @@ export class AuthPasswordFlowStrategy extends AuthFlowStrategy {
140
137
  }
141
138
  pipeToLogin(params) {
142
139
  const router = this.injector.get(Router);
143
- return pipe(switchMap(() => this.appConfigService.get()), tap(res => {
144
- this.configState.setState(res);
140
+ return pipe(switchMap(() => this.configState.refreshAppState()), tap(() => {
145
141
  setRememberMe(params.rememberMe);
146
142
  if (params.redirectUrl)
147
143
  router.navigate([params.redirectUrl]);
@@ -149,8 +145,7 @@ export class AuthPasswordFlowStrategy extends AuthFlowStrategy {
149
145
  }
150
146
  logout(queryParams) {
151
147
  const router = this.injector.get(Router);
152
- return from(this.oAuthService.revokeTokenAndLogout(queryParams)).pipe(switchMap(() => this.appConfigService.get()), tap(res => {
153
- this.configState.setState(res);
148
+ return from(this.oAuthService.revokeTokenAndLogout(queryParams)).pipe(switchMap(() => this.configState.refreshAppState()), tap(() => {
154
149
  router.navigateByUrl('/');
155
150
  removeRememberMe();
156
151
  }));
@@ -202,4 +197,4 @@ function getCookieValueByName(name) {
202
197
  const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
203
198
  return match ? match[2] : '';
204
199
  }
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mbG93LnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0cmF0ZWdpZXMvYXV0aC1mbG93LnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUVMLGVBQWUsRUFDZixjQUFjLEVBQ2QsWUFBWSxHQUViLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxR0FBcUcsQ0FBQztBQUN6SixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDO0FBRXpDLE1BQU0sT0FB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QUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7XG4gIEF1dGhDb25maWcsXG4gIE9BdXRoRXJyb3JFdmVudCxcbiAgT0F1dGhJbmZvRXZlbnQsXG4gIE9BdXRoU2VydmljZSxcbiAgT0F1dGhTdG9yYWdlLFxufSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mLCBwaXBlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmVzdE9jY3VyRXJyb3IgfSBmcm9tICcuLi9hY3Rpb25zL3Jlc3QuYWN0aW9ucyc7XG5pbXBvcnQgeyBMb2dpblBhcmFtcyB9IGZyb20gJy4uL21vZGVscy9hdXRoJztcbmltcG9ydCB7IEFicEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9wcm94eS92b2xvL2FicC9hc3AtbmV0LWNvcmUvbXZjL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb25zL2FicC1hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZW52aXJvbm1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc2Vzc2lvbi1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IHJlbW92ZVJlbWVtYmVyTWUsIHNldFJlbWVtYmVyTWUgfSBmcm9tICcuLi91dGlscy9hdXRoLXV0aWxzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi91dGlscy9jb21tb24tdXRpbHMnO1xuaW1wb3J0IHsgVEVOQU5UX0tFWSB9IGZyb20gJy4uL3Rva2Vucy90ZW5hbnQta2V5LnRva2VuJztcblxuZXhwb3J0IGNvbnN0IG9BdXRoU3RvcmFnZSA9IGxvY2FsU3RvcmFnZTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF1dGhGbG93U3RyYXRlZ3kge1xuICBhYnN0cmFjdCByZWFkb25seSBpc0ludGVybmFsQXV0aDogYm9vbGVhbjtcblxuICBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlO1xuICBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50U2VydmljZTtcbiAgcHJvdGVjdGVkIGNvbmZpZ1N0YXRlOiBDb25maWdTdGF0ZVNlcnZpY2U7XG4gIHByb3RlY3RlZCBvQXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZTtcbiAgcHJvdGVjdGVkIG9BdXRoQ29uZmlnOiBBdXRoQ29uZmlnO1xuICBwcm90ZWN0ZWQgc2Vzc2lvblN0YXRlOiBTZXNzaW9uU3RhdGVTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgYXBwQ29uZmlnU2VydmljZTogQWJwQXBwbGljYXRpb25Db25maWd1cmF0aW9uU2VydmljZTtcbiAgcHJvdGVjdGVkIHRlbmFudEtleTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGNoZWNrSWZJbnRlcm5hbEF1dGgocXVlcnlQYXJhbXM/OiBQYXJhbXMpOiBib29sZWFuO1xuICBhYnN0cmFjdCBuYXZpZ2F0ZVRvTG9naW4ocXVlcnlQYXJhbXM/OiBQYXJhbXMpOiB2b2lkO1xuICBhYnN0cmFjdCBsb2dvdXQocXVlcnlQYXJhbXM/OiBQYXJhbXMpOiBPYnNlcnZhYmxlPGFueT47XG4gIGFic3RyYWN0IGxvZ2luKHBhcmFtcz86IExvZ2luUGFyYW1zIHwgUGFyYW1zKTogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gIHByaXZhdGUgY2F0Y2hFcnJvciA9IGVyciA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBSZXN0T2NjdXJFcnJvcihlcnIpKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5zdG9yZSA9IGluamVjdG9yLmdldChTdG9yZSk7XG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IGluamVjdG9yLmdldChFbnZpcm9ubWVudFNlcnZpY2UpO1xuICAgIHRoaXMuY29uZmlnU3RhdGUgPSBpbmplY3Rvci5nZXQoQ29uZmlnU3RhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLm9BdXRoU2VydmljZSA9IGluamVjdG9yLmdldChPQXV0aFNlcnZpY2UpO1xuICAgIHRoaXMuYXBwQ29uZmlnU2VydmljZSA9IGluamVjdG9yLmdldChBYnBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25TZXJ2aWNlKTtcbiAgICB0aGlzLnNlc3Npb25TdGF0ZSA9IGluamVjdG9yLmdldChTZXNzaW9uU3RhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLm9BdXRoQ29uZmlnID0gdGhpcy5lbnZpcm9ubWVudC5nZXRFbnZpcm9ubWVudCgpLm9BdXRoQ29uZmlnO1xuICAgIHRoaXMudGVuYW50S2V5ID0gaW5qZWN0b3IuZ2V0KFRFTkFOVF9LRVkpO1xuXG4gICAgdGhpcy5saXN0ZW5Ub09hdXRoRXJyb3JzKCk7XG4gIH1cblxuICBhc3luYyBpbml0KCk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3Qgc2hvdWxkQ2xlYXIgPSBzaG91bGRTdG9yYWdlQ2xlYXIoXG4gICAgICB0aGlzLmVudmlyb25tZW50LmdldEVudmlyb25tZW50KCkub0F1dGhDb25maWcuY2xpZW50SWQsXG4gICAgICBvQXV0aFN0b3JhZ2UsXG4gICAgKTtcbiAgICBpZiAoc2hvdWxkQ2xlYXIpIGNsZWFyT0F1dGhTdG9yYWdlKG9BdXRoU3RvcmFnZSk7XG5cbiAgICB0aGlzLm9BdXRoU2VydmljZS5jb25maWd1cmUodGhpcy5vQXV0aENvbmZpZyk7XG4gICAgcmV0dXJuIHRoaXMub0F1dGhTZXJ2aWNlXG4gICAgICAubG9hZERpc2NvdmVyeURvY3VtZW50KClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMub0F1dGhTZXJ2aWNlLmhhc1ZhbGlkQWNjZXNzVG9rZW4oKSB8fCAhdGhpcy5vQXV0aFNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuKCkpIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5yZWZyZXNoVG9rZW4oKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2godGhpcy5jYXRjaEVycm9yKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWZyZXNoVG9rZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMub0F1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbigpLmNhdGNoKCgpID0+IGNsZWFyT0F1dGhTdG9yYWdlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGxpc3RlblRvT2F1dGhFcnJvcnMoKSB7XG4gICAgdGhpcy5vQXV0aFNlcnZpY2UuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgT0F1dGhFcnJvckV2ZW50KSxcbiAgICAgICAgdGFwKCgpID0+IGNsZWFyT0F1dGhTdG9yYWdlKCkpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldCgpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgdGhpcy5jb25maWdTdGF0ZS5zZXRTdGF0ZShyZXMpO1xuICAgICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEF1dGhDb2RlRmxvd1N0cmF0ZWd5IGV4dGVuZHMgQXV0aEZsb3dTdHJhdGVneSB7XG4gIHJlYWRvbmx5IGlzSW50ZXJuYWxBdXRoID0gZmFsc2U7XG5cbiAgYXN5bmMgaW5pdCgpIHtcbiAgICByZXR1cm4gc3VwZXJcbiAgICAgIC5pbml0KClcbiAgICAgIC50aGVuKCgpID0+IHRoaXMub0F1dGhTZXJ2aWNlLnRyeUxvZ2luKCkuY2F0Y2gobm9vcCkpXG4gICAgICAudGhlbigoKSA9PiB0aGlzLm9BdXRoU2VydmljZS5zZXR1cEF1dG9tYXRpY1NpbGVudFJlZnJlc2goe30sICdhY2Nlc3NfdG9rZW4nKSk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvTG9naW4ocXVlcnlQYXJhbXM/OiBQYXJhbXMpIHtcbiAgICB0aGlzLm9BdXRoU2VydmljZS5pbml0Q29kZUZsb3coJycsIHRoaXMuZ2V0Q3VsdHVyZVBhcmFtcyhxdWVyeVBhcmFtcykpO1xuICB9XG5cbiAgY2hlY2tJZkludGVybmFsQXV0aChxdWVyeVBhcmFtcz86IFBhcmFtcykge1xuICAgIHRoaXMub0F1dGhTZXJ2aWNlLmluaXRDb2RlRmxvdygnJywgdGhpcy5nZXRDdWx0dXJlUGFyYW1zKHF1ZXJ5UGFyYW1zKSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbG9nb3V0KHF1ZXJ5UGFyYW1zPzogUGFyYW1zKSB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5vQXV0aFNlcnZpY2UucmV2b2tlVG9rZW5BbmRMb2dvdXQodGhpcy5nZXRDdWx0dXJlUGFyYW1zKHF1ZXJ5UGFyYW1zKSkpO1xuICB9XG5cbiAgbG9naW4ocXVlcnlQYXJhbXM/OiBQYXJhbXMpIHtcbiAgICB0aGlzLm9BdXRoU2VydmljZS5pbml0Q29kZUZsb3coJycsIHRoaXMuZ2V0Q3VsdHVyZVBhcmFtcyhxdWVyeVBhcmFtcykpO1xuICAgIHJldHVybiBvZihudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q3VsdHVyZVBhcmFtcyhxdWVyeVBhcmFtcz86IFBhcmFtcykge1xuICAgIGNvbnN0IGxhbmcgPSB0aGlzLnNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSgpO1xuICAgIGNvbnN0IGN1bHR1cmUgPSB7IGN1bHR1cmU6IGxhbmcsICd1aS1jdWx0dXJlJzogbGFuZyB9O1xuICAgIHJldHVybiB7IC4uLihsYW5nICYmIGN1bHR1cmUpLCAuLi5xdWVyeVBhcmFtcyB9O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBdXRoUGFzc3dvcmRGbG93U3RyYXRlZ3kgZXh0ZW5kcyBBdXRoRmxvd1N0cmF0ZWd5IHtcbiAgcmVhZG9ubHkgaXNJbnRlcm5hbEF1dGggPSB0cnVlO1xuICBwcml2YXRlIGNvb2tpZUtleSA9ICdyZW1lbWJlck1lJztcbiAgcHJpdmF0ZSBzdG9yYWdlS2V5ID0gJ3Bhc3N3b3JkRmxvdyc7XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1Rva2VuRXhwaXJhdGlvbigpIHtcbiAgICB0aGlzLm9BdXRoU2VydmljZS5ldmVudHNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgZXZlbnQgPT5cbiAgICAgICAgICAgIGV2ZW50IGluc3RhbmNlb2YgT0F1dGhJbmZvRXZlbnQgJiZcbiAgICAgICAgICAgIGV2ZW50LnR5cGUgPT09ICd0b2tlbl9leHBpcmVzJyAmJlxuICAgICAgICAgICAgZXZlbnQuaW5mbyA9PT0gJ2FjY2Vzc190b2tlbicsXG4gICAgICAgICksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMub0F1dGhTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbigpKSB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9BdXRoU2VydmljZS5sb2dPdXQoKTtcbiAgICAgICAgICByZW1vdmVSZW1lbWJlck1lKCk7XG4gICAgICAgICAgdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldCgpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb25maWdTdGF0ZS5zZXRTdGF0ZShyZXMpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGluaXQoKSB7XG4gICAgaWYgKCFnZXRDb29raWVWYWx1ZUJ5TmFtZSh0aGlzLmNvb2tpZUtleSkgJiYgbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlS2V5KSkge1xuICAgICAgdGhpcy5vQXV0aFNlcnZpY2UubG9nT3V0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyLmluaXQoKS50aGVuKCgpID0+IHRoaXMubGlzdGVuVG9Ub2tlbkV4cGlyYXRpb24oKSk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvTG9naW4ocXVlcnlQYXJhbXM/OiBQYXJhbXMpIHtcbiAgICBjb25zdCByb3V0ZXIgPSB0aGlzLmluamVjdG9yLmdldChSb3V0ZXIpO1xuICAgIHJvdXRlci5uYXZpZ2F0ZShbJy9hY2NvdW50L2xvZ2luJ10sIHsgcXVlcnlQYXJhbXMgfSk7XG4gIH1cblxuICBjaGVja0lmSW50ZXJuYWxBdXRoKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgbG9naW4ocGFyYW1zOiBMb2dpblBhcmFtcyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdGVuYW50ID0gdGhpcy5zZXNzaW9uU3RhdGUuZ2V0VGVuYW50KCk7XG5cbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMub0F1dGhTZXJ2aWNlLmZldGNoVG9rZW5Vc2luZ1Bhc3N3b3JkRmxvdyhcbiAgICAgICAgcGFyYW1zLnVzZXJuYW1lLFxuICAgICAgICBwYXJhbXMucGFzc3dvcmQsXG4gICAgICAgIG5ldyBIdHRwSGVhZGVycyh7IC4uLih0ZW5hbnQgJiYgdGVuYW50LmlkICYmIHsgW3RoaXMudGVuYW50S2V5XTogdGVuYW50LmlkIH0pIH0pLFxuICAgICAgKSxcbiAgICApLnBpcGUodGhpcy5waXBlVG9Mb2dpbihwYXJhbXMpKTtcbiAgfVxuXG4gIHBpcGVUb0xvZ2luKHBhcmFtczogUGljazxMb2dpblBhcmFtcywgJ3JlZGlyZWN0VXJsJyB8ICdyZW1lbWJlck1lJz4pIHtcbiAgICBjb25zdCByb3V0ZXIgPSB0aGlzLmluamVjdG9yLmdldChSb3V0ZXIpO1xuXG4gICAgcmV0dXJuIHBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldCgpKSxcbiAgICAgIHRhcChyZXMgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZ1N0YXRlLnNldFN0YXRlKHJlcyk7XG4gICAgICAgIHNldFJlbWVtYmVyTWUocGFyYW1zLnJlbWVtYmVyTWUpO1xuICAgICAgICBpZiAocGFyYW1zLnJlZGlyZWN0VXJsKSByb3V0ZXIubmF2aWdhdGUoW3BhcmFtcy5yZWRpcmVjdFVybF0pO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGxvZ291dChxdWVyeVBhcmFtcz86IFBhcmFtcykge1xuICAgIGNvbnN0IHJvdXRlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KFJvdXRlcik7XG5cbiAgICByZXR1cm4gZnJvbSh0aGlzLm9BdXRoU2VydmljZS5yZXZva2VUb2tlbkFuZExvZ291dChxdWVyeVBhcmFtcykpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldCgpKSxcbiAgICAgIHRhcChyZXMgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZ1N0YXRlLnNldFN0YXRlKHJlcyk7XG4gICAgICAgIHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvJyk7XG4gICAgICAgIHJlbW92ZVJlbWVtYmVyTWUoKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVmcmVzaFRva2VuKCkge1xuICAgIHJldHVybiB0aGlzLm9BdXRoU2VydmljZS5yZWZyZXNoVG9rZW4oKS5jYXRjaCgoKSA9PiB7XG4gICAgICBjbGVhck9BdXRoU3RvcmFnZSgpO1xuICAgICAgcmVtb3ZlUmVtZW1iZXJNZSgpO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBVVRIX0ZMT1dfU1RSQVRFR1kgPSB7XG4gIENvZGUoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgcmV0dXJuIG5ldyBBdXRoQ29kZUZsb3dTdHJhdGVneShpbmplY3Rvcik7XG4gIH0sXG4gIFBhc3N3b3JkKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHJldHVybiBuZXcgQXV0aFBhc3N3b3JkRmxvd1N0cmF0ZWd5KGluamVjdG9yKTtcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhck9BdXRoU3RvcmFnZShzdG9yYWdlOiBPQXV0aFN0b3JhZ2UgPSBvQXV0aFN0b3JhZ2UpIHtcbiAgY29uc3Qga2V5cyA9IFtcbiAgICAnYWNjZXNzX3Rva2VuJyxcbiAgICAnaWRfdG9rZW4nLFxuICAgICdyZWZyZXNoX3Rva2VuJyxcbiAgICAnbm9uY2UnLFxuICAgICdQS0NFX3ZlcmlmaWVyJyxcbiAgICAnZXhwaXJlc19hdCcsXG4gICAgJ2lkX3Rva2VuX2NsYWltc19vYmonLFxuICAgICdpZF90b2tlbl9leHBpcmVzX2F0JyxcbiAgICAnaWRfdG9rZW5fc3RvcmVkX2F0JyxcbiAgICAnYWNjZXNzX3Rva2VuX3N0b3JlZF9hdCcsXG4gICAgJ2dyYW50ZWRfc2NvcGVzJyxcbiAgICAnc2Vzc2lvbl9zdGF0ZScsXG4gIF07XG5cbiAga2V5cy5mb3JFYWNoKGtleSA9PiBzdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KSk7XG59XG5cbmZ1bmN0aW9uIHNob3VsZFN0b3JhZ2VDbGVhcihjbGllbnRJZDogc3RyaW5nLCBzdG9yYWdlOiBPQXV0aFN0b3JhZ2UpOiBib29sZWFuIHtcbiAgY29uc3Qga2V5ID0gJ2FicE9BdXRoQ2xpZW50SWQnO1xuICBpZiAoIXN0b3JhZ2UuZ2V0SXRlbShrZXkpKSB7XG4gICAgc3RvcmFnZS5zZXRJdGVtKGtleSwgY2xpZW50SWQpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHNob3VsZENsZWFyID0gc3RvcmFnZS5nZXRJdGVtKGtleSkgIT09IGNsaWVudElkO1xuICBpZiAoc2hvdWxkQ2xlYXIpIHN0b3JhZ2Uuc2V0SXRlbShrZXksIGNsaWVudElkKTtcbiAgcmV0dXJuIHNob3VsZENsZWFyO1xufVxuXG5mdW5jdGlvbiBnZXRDb29raWVWYWx1ZUJ5TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgbWF0Y2ggPSBkb2N1bWVudC5jb29raWUubWF0Y2gobmV3IFJlZ0V4cCgnKF58ICknICsgbmFtZSArICc9KFteO10rKScpKTtcbiAgcmV0dXJuIG1hdGNoID8gbWF0Y2hbMl0gOiAnJztcbn1cbiJdfQ==
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mbG93LnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0cmF0ZWdpZXMvYXV0aC1mbG93LnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUVMLGVBQWUsRUFDZixjQUFjLEVBQ2QsWUFBWSxHQUViLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDO0FBRXpDLE1BQU0sT0FBZ0IsZ0JBQWdCO0lBa0JwQyxZQUFzQixRQUFrQjtRQUFsQixhQUFRLEdBQVIs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Q3JCLG9CQUFvQjtRQUNwQix3QkFBd0I7UUFDeEIsZ0JBQWdCO1FBQ2hCLGVBQWU7S0FDaEIsQ0FBQztJQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxPQUFxQjtJQUNqRSxNQUFNLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQztJQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN6QixPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvQixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLENBQUM7SUFDdEQsSUFBSSxXQUFXO1FBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEQsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsSUFBWTtJQUN4QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDN0UsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7XG4gIEF1dGhDb25maWcsXG4gIE9BdXRoRXJyb3JFdmVudCxcbiAgT0F1dGhJbmZvRXZlbnQsXG4gIE9BdXRoU2VydmljZSxcbiAgT0F1dGhTdG9yYWdlLFxufSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mLCBwaXBlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmVzdE9jY3VyRXJyb3IgfSBmcm9tICcuLi9hY3Rpb25zL3Jlc3QuYWN0aW9ucyc7XG5pbXBvcnQgeyBMb2dpblBhcmFtcyB9IGZyb20gJy4uL21vZGVscy9hdXRoJztcbmltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Nlc3Npb24tc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyByZW1vdmVSZW1lbWJlck1lLCBzZXRSZW1lbWJlck1lIH0gZnJvbSAnLi4vdXRpbHMvYXV0aC11dGlscyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vdXRpbHMvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7IFRFTkFOVF9LRVkgfSBmcm9tICcuLi90b2tlbnMvdGVuYW50LWtleS50b2tlbic7XG5cbmV4cG9ydCBjb25zdCBvQXV0aFN0b3JhZ2UgPSBsb2NhbFN0b3JhZ2U7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdXRoRmxvd1N0cmF0ZWd5IHtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgaXNJbnRlcm5hbEF1dGg6IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZTtcbiAgcHJvdGVjdGVkIGVudmlyb25tZW50OiBFbnZpcm9ubWVudFNlcnZpY2U7XG4gIHByb3RlY3RlZCBjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgb0F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2U7XG4gIHByb3RlY3RlZCBvQXV0aENvbmZpZzogQXV0aENvbmZpZztcbiAgcHJvdGVjdGVkIHNlc3Npb25TdGF0ZTogU2Vzc2lvblN0YXRlU2VydmljZTtcbiAgcHJvdGVjdGVkIHRlbmFudEtleTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGNoZWNrSWZJbnRlcm5hbEF1dGgocXVlcnlQYXJhbXM/OiBQYXJhbXMpOiBib29sZWFuO1xuICBhYnN0cmFjdCBuYXZpZ2F0ZVRvTG9naW4ocXVlcnlQYXJhbXM/OiBQYXJhbXMpOiB2b2lkO1xuICBhYnN0cmFjdCBsb2dvdXQocXVlcnlQYXJhbXM/OiBQYXJhbXMpOiBPYnNlcnZhYmxlPGFueT47XG4gIGFic3RyYWN0IGxvZ2luKHBhcmFtcz86IExvZ2luUGFyYW1zIHwgUGFyYW1zKTogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gIHByaXZhdGUgY2F0Y2hFcnJvciA9IGVyciA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBSZXN0T2NjdXJFcnJvcihlcnIpKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5zdG9yZSA9IGluamVjdG9yLmdldChTdG9yZSk7XG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IGluamVjdG9yLmdldChFbnZpcm9ubWVudFNlcnZpY2UpO1xuICAgIHRoaXMuY29uZmlnU3RhdGUgPSBpbmplY3Rvci5nZXQoQ29uZmlnU3RhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLm9BdXRoU2VydmljZSA9IGluamVjdG9yLmdldChPQXV0aFNlcnZpY2UpO1xuICAgIHRoaXMuc2Vzc2lvblN0YXRlID0gaW5qZWN0b3IuZ2V0KFNlc3Npb25TdGF0ZVNlcnZpY2UpO1xuICAgIHRoaXMub0F1dGhDb25maWcgPSB0aGlzLmVudmlyb25tZW50LmdldEVudmlyb25tZW50KCkub0F1dGhDb25maWc7XG4gICAgdGhpcy50ZW5hbnRLZXkgPSBpbmplY3Rvci5nZXQoVEVOQU5UX0tFWSk7XG5cbiAgICB0aGlzLmxpc3RlblRvT2F1dGhFcnJvcnMoKTtcbiAgfVxuXG4gIGFzeW5jIGluaXQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBzaG91bGRDbGVhciA9IHNob3VsZFN0b3JhZ2VDbGVhcihcbiAgICAgIHRoaXMuZW52aXJvbm1lbnQuZ2V0RW52aXJvbm1lbnQoKS5vQXV0aENvbmZpZy5jbGllbnRJZCxcbiAgICAgIG9BdXRoU3RvcmFnZSxcbiAgICApO1xuICAgIGlmIChzaG91bGRDbGVhcikgY2xlYXJPQXV0aFN0b3JhZ2Uob0F1dGhTdG9yYWdlKTtcblxuICAgIHRoaXMub0F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLm9BdXRoQ29uZmlnKTtcblxuICAgIHRoaXMub0F1dGhTZXJ2aWNlLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50LnR5cGUgPT09ICd0b2tlbl9yZWZyZXNoX2Vycm9yJykpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMubmF2aWdhdGVUb0xvZ2luKCkpO1xuXG4gICAgcmV0dXJuIHRoaXMub0F1dGhTZXJ2aWNlXG4gICAgICAubG9hZERpc2NvdmVyeURvY3VtZW50KClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMub0F1dGhTZXJ2aWNlLmhhc1ZhbGlkQWNjZXNzVG9rZW4oKSB8fCAhdGhpcy5vQXV0aFNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuKCkpIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5yZWZyZXNoVG9rZW4oKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2godGhpcy5jYXRjaEVycm9yKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWZyZXNoVG9rZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMub0F1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbigpLmNhdGNoKCgpID0+IGNsZWFyT0F1dGhTdG9yYWdlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGxpc3RlblRvT2F1dGhFcnJvcnMoKSB7XG4gICAgdGhpcy5vQXV0aFNlcnZpY2UuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgT0F1dGhFcnJvckV2ZW50KSxcbiAgICAgICAgdGFwKCgpID0+IGNsZWFyT0F1dGhTdG9yYWdlKCkpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jb25maWdTdGF0ZS5yZWZyZXNoQXBwU3RhdGUoKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEF1dGhDb2RlRmxvd1N0cmF0ZWd5IGV4dGVuZHMgQXV0aEZsb3dTdHJhdGVneSB7XG4gIHJlYWRvbmx5IGlzSW50ZXJuYWxBdXRoID0gZmFsc2U7XG5cbiAgYXN5bmMgaW5pdCgpIHtcbiAgICByZXR1cm4gc3VwZXJcbiAgICAgIC5pbml0KClcbiAgICAgIC50aGVuKCgpID0+IHRoaXMub0F1dGhTZXJ2aWNlLnRyeUxvZ2luKCkuY2F0Y2gobm9vcCkpXG4gICAgICAudGhlbigoKSA9PiB0aGlzLm9BdXRoU2VydmljZS5zZXR1cEF1dG9tYXRpY1NpbGVudFJlZnJlc2goe30sICdhY2Nlc3NfdG9rZW4nKSk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvTG9naW4ocXVlcnlQYXJhbXM/OiBQYXJhbXMpIHtcbiAgICB0aGlzLm9BdXRoU2VydmljZS5pbml0Q29kZUZsb3coJycsIHRoaXMuZ2V0Q3VsdHVyZVBhcmFtcyhxdWVyeVBhcmFtcykpO1xuICB9XG5cbiAgY2hlY2tJZkludGVybmFsQXV0aChxdWVyeVBhcmFtcz86IFBhcmFtcykge1xuICAgIHRoaXMub0F1dGhTZXJ2aWNlLmluaXRDb2RlRmxvdygnJywgdGhpcy5nZXRDdWx0dXJlUGFyYW1zKHF1ZXJ5UGFyYW1zKSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbG9nb3V0KHF1ZXJ5UGFyYW1zPzogUGFyYW1zKSB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5vQXV0aFNlcnZpY2UucmV2b2tlVG9rZW5BbmRMb2dvdXQodGhpcy5nZXRDdWx0dXJlUGFyYW1zKHF1ZXJ5UGFyYW1zKSkpO1xuICB9XG5cbiAgbG9naW4ocXVlcnlQYXJhbXM/OiBQYXJhbXMpIHtcbiAgICB0aGlzLm9BdXRoU2VydmljZS5pbml0Q29kZUZsb3coJycsIHRoaXMuZ2V0Q3VsdHVyZVBhcmFtcyhxdWVyeVBhcmFtcykpO1xuICAgIHJldHVybiBvZihudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q3VsdHVyZVBhcmFtcyhxdWVyeVBhcmFtcz86IFBhcmFtcykge1xuICAgIGNvbnN0IGxhbmcgPSB0aGlzLnNlc3Npb25TdGF0ZS5nZXRMYW5ndWFnZSgpO1xuICAgIGNvbnN0IGN1bHR1cmUgPSB7IGN1bHR1cmU6IGxhbmcsICd1aS1jdWx0dXJlJzogbGFuZyB9O1xuICAgIHJldHVybiB7IC4uLihsYW5nICYmIGN1bHR1cmUpLCAuLi5xdWVyeVBhcmFtcyB9O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBdXRoUGFzc3dvcmRGbG93U3RyYXRlZ3kgZXh0ZW5kcyBBdXRoRmxvd1N0cmF0ZWd5IHtcbiAgcmVhZG9ubHkgaXNJbnRlcm5hbEF1dGggPSB0cnVlO1xuICBwcml2YXRlIGNvb2tpZUtleSA9ICdyZW1lbWJlck1lJztcbiAgcHJpdmF0ZSBzdG9yYWdlS2V5ID0gJ3Bhc3N3b3JkRmxvdyc7XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1Rva2VuRXhwaXJhdGlvbigpIHtcbiAgICB0aGlzLm9BdXRoU2VydmljZS5ldmVudHNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgZXZlbnQgPT5cbiAgICAgICAgICAgIGV2ZW50IGluc3RhbmNlb2YgT0F1dGhJbmZvRXZlbnQgJiZcbiAgICAgICAgICAgIGV2ZW50LnR5cGUgPT09ICd0b2tlbl9leHBpcmVzJyAmJlxuICAgICAgICAgICAgZXZlbnQuaW5mbyA9PT0gJ2FjY2Vzc190b2tlbicsXG4gICAgICAgICksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMub0F1dGhTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbigpKSB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9BdXRoU2VydmljZS5sb2dPdXQoKTtcbiAgICAgICAgICByZW1vdmVSZW1lbWJlck1lKCk7XG4gICAgICAgICAgdGhpcy5jb25maWdTdGF0ZS5yZWZyZXNoQXBwU3RhdGUoKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyBpbml0KCkge1xuICAgIGlmICghZ2V0Q29va2llVmFsdWVCeU5hbWUodGhpcy5jb29raWVLZXkpICYmIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZUtleSkpIHtcbiAgICAgIHRoaXMub0F1dGhTZXJ2aWNlLmxvZ091dCgpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5pbml0KCkudGhlbigoKSA9PiB0aGlzLmxpc3RlblRvVG9rZW5FeHBpcmF0aW9uKCkpO1xuICB9XG5cbiAgbmF2aWdhdGVUb0xvZ2luKHF1ZXJ5UGFyYW1zPzogUGFyYW1zKSB7XG4gICAgY29uc3Qgcm91dGVyID0gdGhpcy5pbmplY3Rvci5nZXQoUm91dGVyKTtcbiAgICByb3V0ZXIubmF2aWdhdGUoWycvYWNjb3VudC9sb2dpbiddLCB7IHF1ZXJ5UGFyYW1zIH0pO1xuICB9XG5cbiAgY2hlY2tJZkludGVybmFsQXV0aCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGxvZ2luKHBhcmFtczogTG9naW5QYXJhbXMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHRlbmFudCA9IHRoaXMuc2Vzc2lvblN0YXRlLmdldFRlbmFudCgpO1xuXG4gICAgcmV0dXJuIGZyb20oXG4gICAgICB0aGlzLm9BdXRoU2VydmljZS5mZXRjaFRva2VuVXNpbmdQYXNzd29yZEZsb3coXG4gICAgICAgIHBhcmFtcy51c2VybmFtZSxcbiAgICAgICAgcGFyYW1zLnBhc3N3b3JkLFxuICAgICAgICBuZXcgSHR0cEhlYWRlcnMoeyAuLi4odGVuYW50ICYmIHRlbmFudC5pZCAmJiB7IFt0aGlzLnRlbmFudEtleV06IHRlbmFudC5pZCB9KSB9KSxcbiAgICAgICksXG4gICAgKS5waXBlKHRoaXMucGlwZVRvTG9naW4ocGFyYW1zKSk7XG4gIH1cblxuICBwaXBlVG9Mb2dpbihwYXJhbXM6IFBpY2s8TG9naW5QYXJhbXMsICdyZWRpcmVjdFVybCcgfCAncmVtZW1iZXJNZSc+KSB7XG4gICAgY29uc3Qgcm91dGVyID0gdGhpcy5pbmplY3Rvci5nZXQoUm91dGVyKTtcblxuICAgIHJldHVybiBwaXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlnU3RhdGUucmVmcmVzaEFwcFN0YXRlKCkpLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgc2V0UmVtZW1iZXJNZShwYXJhbXMucmVtZW1iZXJNZSk7XG4gICAgICAgIGlmIChwYXJhbXMucmVkaXJlY3RVcmwpIHJvdXRlci5uYXZpZ2F0ZShbcGFyYW1zLnJlZGlyZWN0VXJsXSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgbG9nb3V0KHF1ZXJ5UGFyYW1zPzogUGFyYW1zKSB7XG4gICAgY29uc3Qgcm91dGVyID0gdGhpcy5pbmplY3Rvci5nZXQoUm91dGVyKTtcblxuICAgIHJldHVybiBmcm9tKHRoaXMub0F1dGhTZXJ2aWNlLnJldm9rZVRva2VuQW5kTG9nb3V0KHF1ZXJ5UGFyYW1zKSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ1N0YXRlLnJlZnJlc2hBcHBTdGF0ZSgpKSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvJyk7XG4gICAgICAgIHJlbW92ZVJlbWVtYmVyTWUoKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVmcmVzaFRva2VuKCkge1xuICAgIHJldHVybiB0aGlzLm9BdXRoU2VydmljZS5yZWZyZXNoVG9rZW4oKS5jYXRjaCgoKSA9PiB7XG4gICAgICBjbGVhck9BdXRoU3RvcmFnZSgpO1xuICAgICAgcmVtb3ZlUmVtZW1iZXJNZSgpO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBVVRIX0ZMT1dfU1RSQVRFR1kgPSB7XG4gIENvZGUoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgcmV0dXJuIG5ldyBBdXRoQ29kZUZsb3dTdHJhdGVneShpbmplY3Rvcik7XG4gIH0sXG4gIFBhc3N3b3JkKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHJldHVybiBuZXcgQXV0aFBhc3N3b3JkRmxvd1N0cmF0ZWd5KGluamVjdG9yKTtcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhck9BdXRoU3RvcmFnZShzdG9yYWdlOiBPQXV0aFN0b3JhZ2UgPSBvQXV0aFN0b3JhZ2UpIHtcbiAgY29uc3Qga2V5cyA9IFtcbiAgICAnYWNjZXNzX3Rva2VuJyxcbiAgICAnaWRfdG9rZW4nLFxuICAgICdyZWZyZXNoX3Rva2VuJyxcbiAgICAnbm9uY2UnLFxuICAgICdQS0NFX3ZlcmlmaWVyJyxcbiAgICAnZXhwaXJlc19hdCcsXG4gICAgJ2lkX3Rva2VuX2NsYWltc19vYmonLFxuICAgICdpZF90b2tlbl9leHBpcmVzX2F0JyxcbiAgICAnaWRfdG9rZW5fc3RvcmVkX2F0JyxcbiAgICAnYWNjZXNzX3Rva2VuX3N0b3JlZF9hdCcsXG4gICAgJ2dyYW50ZWRfc2NvcGVzJyxcbiAgICAnc2Vzc2lvbl9zdGF0ZScsXG4gIF07XG5cbiAga2V5cy5mb3JFYWNoKGtleSA9PiBzdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KSk7XG59XG5cbmZ1bmN0aW9uIHNob3VsZFN0b3JhZ2VDbGVhcihjbGllbnRJZDogc3RyaW5nLCBzdG9yYWdlOiBPQXV0aFN0b3JhZ2UpOiBib29sZWFuIHtcbiAgY29uc3Qga2V5ID0gJ2FicE9BdXRoQ2xpZW50SWQnO1xuICBpZiAoIXN0b3JhZ2UuZ2V0SXRlbShrZXkpKSB7XG4gICAgc3RvcmFnZS5zZXRJdGVtKGtleSwgY2xpZW50SWQpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHNob3VsZENsZWFyID0gc3RvcmFnZS5nZXRJdGVtKGtleSkgIT09IGNsaWVudElkO1xuICBpZiAoc2hvdWxkQ2xlYXIpIHN0b3JhZ2Uuc2V0SXRlbShrZXksIGNsaWVudElkKTtcbiAgcmV0dXJuIHNob3VsZENsZWFyO1xufVxuXG5mdW5jdGlvbiBnZXRDb29raWVWYWx1ZUJ5TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgbWF0Y2ggPSBkb2N1bWVudC5jb29raWUubWF0Y2gobmV3IFJlZ0V4cCgnKF58ICknICsgbmFtZSArICc9KFteO10rKScpKTtcbiAgcmV0dXJuIG1hdGNoID8gbWF0Y2hbMl0gOiAnJztcbn1cbiJdfQ==