ngx-histaff-alpha 3.2.2 → 3.2.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.
@@ -162,6 +162,7 @@ export class StaffProfileComponent extends BaseComponent {
162
162
  this.avatar;
163
163
  }
164
164
  onOrgIdsChange(orgIds) {
165
+ console.log("STAFFPROFILE onOrgIdsChange", orgIds);
165
166
  this.orgIds = orgIds;
166
167
  this.outerInOperators = [
167
168
  {
@@ -314,4 +315,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
314
315
  }], columns: [{
315
316
  type: Input
316
317
  }] } });
317
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhZmZwcm9maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9zdGFmZnByb2ZpbGUvc3RhZmZwcm9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9zdGFmZnByb2ZpbGUvc3RhZmZwcm9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE4QixLQUFLLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxxQkFBcUIsRUFBMkUsTUFBTSw0Q0FBNEMsQ0FBQztBQU01SixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUU3RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3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Q3JCLFlBQVk7cUJBQ2I7K1JBTVEsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRWUsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQTJCVixZQUFZO3NCQUFwQixLQUFLO2dCQW1CRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYsIEFmdGVyVmlld0luaXQsIElucHV0LCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1jb21wb25lbnQvYmFzZS9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVudW1UcmFuc2xhdGVLZXkgfSBmcm9tIFwiYWxwaGEtZ2xvYmFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBhcGkgfSBmcm9tIFwiYWxwaGEtZ2xvYmFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBFbnVtU29ydERpcmVjdGlvbiB9IGZyb20gJy4uLy4uL2VudW0vRW51bVNvcnREaXJlY3Rpb24nO1xyXG5pbXBvcnQgeyBJRmlsdGVyT3BlcmF0b3IsIElJbk9wZXJhdG9yLCBJU29ydEl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lRdWVyeUxpc3RSZXF1ZXN0JztcclxuaW1wb3J0IHsgQ29yZVBhZ2VMaXN0Q29tcG9uZW50LCBJQ29yZVBhZ2VMaXN0QXBpRGVmaW5pdGlvbiwgSUNvcmVQYWdlTGlzdENSVUQsIElDb3JlUGFnZUxpc3RFZGl0Um91dGluZyB9IGZyb20gJy4uL2NvcmUtcGFnZS1saXN0L2NvcmUtcGFnZS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbXVsdGktbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFJhbmRvbUF2YXRhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yYW5kb20tYXZhdGFyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPcmdhbml6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JnYW5pemF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi9hbGVydC9hbGVydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW51bUNvcmVCdXR0b25WTlNDb2RlIH0gZnJvbSAnLi4vY29yZS1idXR0b24tZ3JvdXAtdm5zL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9FbnVtQ29yZUJ1dHRvblZOU0NvZGUnO1xyXG5pbXBvcnQgeyBJQ29yZUJ1dHRvblZOUyB9IGZyb20gJy4uL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMvSUNvcmVCdXR0b25WTlMnO1xyXG5pbXBvcnQgeyBhbGVydE9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvYWxlcnRPcHRpb25zJztcclxuaW1wb3J0IHsgSUdlbmVyYXRlVGVtcGxhdGVSZXF1ZXN0IH0gZnJvbSAnLi4vY29yZS1wYWdlLWxpc3QvY29yZS1wYWdlLWxpc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IElDb3JlVGFibGVDb2x1bW5JdGVtIH0gZnJvbSAnLi4vY29yZS10YWJsZS9JQ29yZVRhYmxlQ29sdW1uSXRlbSc7XHJcbmltcG9ydCB7IEVudW1Db3JlVGFibGVQaXBlVHlwZSB9IGZyb20gJy4uL2NvcmUtdGFibGUvRW51bUNvcmVUYWJsZVBpcGVUeXBlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvcmVPcmdUcmVlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS1vcmctdHJlZS9jb3JlLW9yZy10cmVlL2NvcmUtb3JnLXRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnVsbHNjcmVlbk1vZGFsTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZnVsbHNjcmVlbi1tb2RhbC1sb2FkZXIvZnVsbHNjcmVlbi1tb2RhbC1sb2FkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL2FwcC1waXBlcy90cmFuc2xhdGUucGlwZSc7XHJcbmltcG9ydCB7IE1hcEF2YXRhclRvU2VydmVyUGlwZSB9IGZyb20gJy4uLy4uL2FwcC1waXBlcy9tYXAtYXZhdGFyLXRvLXNlcnZlci5waXBlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY21zLXByb2ZpbGUtc3RhZmZwcm9maWxlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvcmVQYWdlTGlzdENvbXBvbmVudCwgXHJcbiAgICBDb3JlT3JnVHJlZUNvbXBvbmVudCwgXHJcbiAgICBGb3Jtc01vZHVsZSwgXHJcbiAgICBGdWxsc2NyZWVuTW9kYWxMb2FkZXJDb21wb25lbnQsXHJcbiAgICBUcmFuc2xhdGVQaXBlLFxyXG4gICAgTWFwQXZhdGFyVG9TZXJ2ZXJQaXBlLFxyXG4gICAgQ29tbW9uTW9kdWxlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RhZmZwcm9maWxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zdGFmZnByb2ZpbGUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0YWZmUHJvZmlsZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBcclxuICBASW5wdXQoKSBoaWRlSGVhZGVyITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoZWlnaHQhOiBudW1iZXI7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2F2YXRhcicpIGF2YXRhciE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIC8qIFNUQVJUOiBMb2NhbCBmaWx0ZXIgcGFyYW1zICovXHJcbiAgb3JnSWRzITogbnVtYmVyW107XHJcbiAgLyogRU5EOiBMb2NhbCBmaWx0ZXIgcGFyYW1zICovXHJcblxyXG4gIC8qXHJcbiAgUHJvcGVydGllcyBiZWluZyBwYXNzZWQgdG8gY29yZS1wYWdlLWxpc3RcclxuICAqL1xyXG4gIGRhdGVQZXJpb2RDb21wYXJpc29uRm9yOiBzdHJpbmcgPSAnam9pbkRhdGUnO1xyXG4gIGRhdGVQZXJpb2RDb21wYXJpc29uRm9yTGFiZWxLZXk6IEVudW1UcmFuc2xhdGVLZXkgPVxyXG4gICAgRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9QUk9GSUxFX0pPSU5fREFURTtcclxuICBzdGF0dXNJbmNsdXNpb25Gb3I6IHN0cmluZyA9ICd3b3JrU3RhdHVzSWQnO1xyXG4gIHN0YXR1c0luY2x1c2lvbkZvckxhYmVsS2V5OiBFbnVtVHJhbnNsYXRlS2V5ID1cclxuICAgIEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fREVNT19BVFRBQ0hNRU5UX1NUQVRVU19JRDtcclxuICBzdGF0dXNPcHRpb25zQXBpOiBhcGkgPSBhcGkuSFVfRU1QTE9ZRUVfQ1ZfR0VUX0VNUExPWUVFX1NUQVRVU19MSVNUO1xyXG4gIGxvYWRpbmchOiBib29sZWFuO1xyXG4gIHRpdGxlID0gRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfVElUTEVfU1RBRkZfUFJPRklMRTtcclxuXHJcbiAgb3V0ZXJTb3J0OiBJU29ydEl0ZW1bXSA9IFtcclxuICAgIHtcclxuICAgICAgZmllbGQ6IFwiam9iT3JkZXJOdW1cIixcclxuICAgICAgc29ydERpcmVjdGlvbjogRW51bVNvcnREaXJlY3Rpb24uQVNDXHJcbiAgICB9XHJcbiAgXVxyXG5cclxuICBvdXRlclBhcmFtJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICBASW5wdXQoKSBvdXRlckZpbHRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElGaWx0ZXJPcGVyYXRvcltdIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gIG91dGVyRmlsdGVyT3BlcmF0b3JzOiBJRmlsdGVyT3BlcmF0b3JbXSA9IFtdO1xyXG4gIG91dGVySW5PcGVyYXRvcnM6IElJbk9wZXJhdG9yW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGZpZWxkOiAnb3JnSWQnLFxyXG4gICAgICB2YWx1ZXM6IHRoaXMub3JnSWRzIHx8IFtdLFxyXG4gICAgfSxcclxuICBdO1xyXG5cclxuICBhcGlEZWZpbml0aW9uOiBJQ29yZVBhZ2VMaXN0QXBpRGVmaW5pdGlvbiA9IHtcclxuICAgIHF1ZXJ5TGlzdFJlbGF0aXZlUGF0aDogYXBpLkhVX0VNUExPWUVFX1FVRVJZX0xJU1QsXHJcbiAgfTtcclxuXHJcbiAgY3J1ZDogSUNvcmVQYWdlTGlzdENSVUQgPSB7XHJcbiAgICBkZWxldGVJZHM6IGFwaS5IVV9FTVBMT1lFRV9ERUxFVEVfSURTLFxyXG4gIH07XHJcblxyXG4gIGF2YXRhclRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQElucHV0KCkgY29sdW1uczogSUNvcmVUYWJsZUNvbHVtbkl0ZW1bXSA9IFtcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9DT01NT05fSUQsXHJcbiAgICAgIGZpZWxkOiAnaWQnLFxyXG4gICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICBhbGlnbjogJ3JpZ2h0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9BVkFUQVIsIC8vIHRvIGJlIGFzaWduZWQgdG8gRW51bVRyYW5zbGF0ZUtleVxyXG4gICAgICBmaWVsZDogJ2F2YXRhcicsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2NlbnRlcicsXHJcbiAgICAgIGhpZGVTZWFyY2hCb3g6IHRydWUsXHJcbiAgICAgIHdpZHRoOiA4MCxcclxuICAgICAgdGVtcGxhdGVSZWY6IHRoaXMuYXZhdGFyVGVtcGxhdGUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOlxyXG4gICAgICAgIEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9FTVBMT1lFRV9DT0RFLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICdjb2RlJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiA4MCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9GVUxMTkFNRSwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAnZnVsbG5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDE1MCxcclxuICAgICAgcGlwZTogRW51bUNvcmVUYWJsZVBpcGVUeXBlLk5PUk1BTElaRV9IVU1BTl9OQU1FLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjpcclxuICAgICAgICBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1NZU19VU0VSX0VNUExPWUVFX1BST0ZJTEVfQ09ERSwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAncHJvZmlsZUNvZGUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDgwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjpcclxuICAgICAgICBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1NUQUZGX1BST0ZJTEVfUE9TSVRJT05fTkFNRSwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAnbmFtZU9uUHJvZmlsZUVtcGxveWVlJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAzMDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1NUQUZGX1BST0ZJTEVfT1JHX05BTUUsIC8vIHRvIGJlIGFzaWduZWQgdG8gRW51bVRyYW5zbGF0ZUtleVxyXG4gICAgICBmaWVsZDogJ29yZ05hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfV09SS19TVEFUVVNfTkFNRSwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAnd29ya1N0YXR1c05hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgXTtcclxuXHJcbiAgZGVmYXVsdEF2YXRhciE6IHN0cmluZztcclxuXHJcbiAgZWRpdFJvdXRlOiBJQ29yZVBhZ2VMaXN0RWRpdFJvdXRpbmcgPSB7XHJcbiAgICBhdXhpbGlhcnk6ICdwb3B1cEF1eCcsXHJcbiAgfTtcclxuXHJcbiAgZ2VuZXJhdGVUZW1wbGF0ZVJlcXVlc3QhOiBJR2VuZXJhdGVUZW1wbGF0ZVJlcXVlc3Q7XHJcblxyXG4gIGlkOiBhbnk7XHJcblxyXG4gIC8qIEVuZCBQcm9wZXJ0aWVzIGJlaW5nIHBhc3NlZCB0byBjb3JlLXBhZ2UtbGlzdCAqL1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBvdmVycmlkZSBtbHM6IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJhczogUmFuZG9tQXZhdGFyU2VydmljZSxcclxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcclxuICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwdWJsaWMgb3JnYW5pemF0aW9uU2VydmljZTogT3JnYW5pemF0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihtbHMpO1xyXG4gICAgdGhpcy5kZWZhdWx0QXZhdGFyID0gcmFzLmdldCgpO1xyXG5cclxuICAgIC8qIEdldCBvcmdJZHMgc3RhcnR1cCB2YWx1ZSAqL1xyXG4gICAgY29uc3QgbmV3T3JnSWRzOiBudW1iZXJbXSA9IFtdO1xyXG4gICAgdGhpcy5vcmdhbml6YXRpb25TZXJ2aWNlLnN0YXR1cyQudmFsdWUuYWN0aXZlS2V5cy5tYXAoKHgpID0+XHJcbiAgICAgIG5ld09yZ0lkcy5wdXNoKE51bWJlcih4KSlcclxuICAgICk7XHJcbiAgICB0aGlzLm9uT3JnSWRzQ2hhbmdlKG5ld09yZ0lkcyk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubWxzLmxhbmckLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgdGhpcy5sYW5nID0geDtcclxuICAgICAgdGhpcy5nZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCA9IHtcclxuICAgICAgICBleENvZGU6ICdTVEFGRl9QUk9GSUxFJyxcclxuICAgICAgICBsYW5nOiB4XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgLy8gTuG6v3UgY2hp4buBdSBjYW8gaGVpZ2h0IGPhu6dhIFN0YWZmUHJvZmlsZUNvbXBvbmVudCBraMO0bmcgxJHGsOG7o2MgdHJ1eeG7gW4gdsOgb1xyXG4gICAgLy8gVGjDrCBjaGnhu4F1IGNhbyBj4bunYSBuw7Mgc+G6vSBi4bqxbmcgZ2nDoSB0cuG7iyBiaeG6v24gdGhpw6puIGPhu6dhIGNvbnRlbnRDb250YWluZXJIZWlnaHQkXHJcbiAgICAvLyB0cuG7qyDEkWkga2hv4bqjbmcgcGFkZGluZ0JvdHRvbSAoYmFzaWNTcGFjaW5nKSBcclxuICAgIGlmICghdGhpcy5oZWlnaHQpIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbnRlbnRDb250YWluZXJIZWlnaHQkLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgICAgIHRoaXMuaGVpZ2h0ID0geCAtIHRoaXMubGF5b3V0U2VydmljZS5iYXNpY1NwYWNpbmc7XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgfVxyXG4gICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbHVtbnMuZmlsdGVyKChjKSA9PiBjLmZpZWxkID09PSAnYXZhdGFyJylbMF0udGVtcGxhdGVSZWYgPVxyXG4gICAgICB0aGlzLmF2YXRhcjtcclxuICB9XHJcblxyXG4gIG9uT3JnSWRzQ2hhbmdlKG9yZ0lkczogbnVtYmVyW10pIHtcclxuICAgIHRoaXMub3JnSWRzID0gb3JnSWRzO1xyXG4gICAgdGhpcy5vdXRlckluT3BlcmF0b3JzID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdvcmdJZCcsXHJcbiAgICAgICAgdmFsdWVzOiBvcmdJZHMsXHJcbiAgICAgIH0sXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgb25Sb3dEb3VibGVDbGljayhlOiBhbnkpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtidG9hKGUuaWQudG9TdHJpbmcoKSldLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZElkczogYW55W10gPSBbXTtcclxuXHJcbiAgb25TZWxlY3RlZElkc0NoYW5nZTEoZTogc3RyaW5nW10gfCBudW1iZXJbXSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZElkcyA9IGU7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkSWRzKTtcclxuICB9XHJcblxyXG4gIG9uUm93Q2xpY2soZTogYW55KSB7XHJcbiAgICB0aGlzLmlkID0gZS5pZDtcclxuICB9XHJcblxyXG4gIG9uQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGljayhlOiBJQ29yZUJ1dHRvblZOUykge1xyXG4gICAgY29uc29sZS5sb2coJ1N0YWZmUHJvZmlsZUNvbXBvbmVudCBvbkNvcmVQYWdlSGVhZGVyQnV0dG9uQ2xpY2snLCBlKTtcclxuICAgIGxldCBmaWxlbmFtZSA9ICcnO1xyXG4gICAgc3dpdGNoIChlLmNvZGUpIHtcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0NSRUFURTpcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2FwcC1zdGFmZi1wcm9maWxlLWVkaXQnXSwge1xyXG4gICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0VESVQ6XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2J0b2EodGhpcy5pZC50b1N0cmluZygpKV0sIHtcclxuICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9ERUxFVEU6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9QUklOVDpcclxuICAgICAgICBjb25zb2xlLmxvZygnY2FsbCcpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfUFJJTlRfMkNfMjAwODpcclxuICAgICAgICBkZWJ1Z2dlcjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJZHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uud2Fybih0aGlzLm1scy50cmFucygnUFJJTlRfT05FX1JFQ09SRCcpLCBhbGVydE9wdGlvbnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuaHR0cC5nZXQoYXBpLkhVX0VNUExPWUVFX0NWX0dFVF9GSUxFX05BTUUgKyB0aGlzLnNlbGVjdGVkSWRzWzBdLnRvU3RyaW5nKCkpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBmaWxlbmFtZSA9IHJlc3BvbnNlLmlubmVyQm9keTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5nZXQoYXBpLkhVX0VNUExPWUVFX0NWX0dFVF8yQzIwMDgsIHtcclxuICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcclxuICAgICAgICAgICAgICBwYXJhbXM6IHsgaWQ6IHRoaXMuc2VsZWN0ZWRJZHNbMF0udG9TdHJpbmcoKSB9LFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmxvYikgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXNwb25zZS50eXBlID09PSAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZG93bmxvYWRVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICAgICAgICBsaW5rLmhyZWYgPSBkb3dubG9hZFVybDtcclxuICAgICAgICAgICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsICcyQ19CTlZfMjAwOF8nICsgZmlsZW5hbWUgKyAnLmRvYycpO1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgICAgICAgICAgICAgIGxpbmsuY2xpY2soKTtcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XHJcbiAgICAgICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGRvd25sb2FkVXJsKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QganNvbkJvZHkgPSByZWFkZXIucmVzdWx0IGFzIHN0cmluZztcclxuICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoanNvbkJvZHkpO1xyXG4gICAgICAgICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXNDb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoZGF0YS5tZXNzYWdlQ29kZSwgYWxlcnRPcHRpb25zKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcihkYXRhLm1lc3NhZ2VDb2RlLCBhbGVydE9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9QUklOVF8yQ185ODpcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJZHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uud2Fybih0aGlzLm1scy50cmFucygnUFJJTlRfT05FX1JFQ09SRCcpLCBhbGVydE9wdGlvbnMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmh0dHAuZ2V0KGFwaS5IVV9FTVBMT1lFRV9DVl9HRVRfRklMRV9OQU1FICsgdGhpcy5zZWxlY3RlZElkc1swXS50b1N0cmluZygpKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgZmlsZW5hbWUgPSByZXNwb25zZS5pbm5lckJvZHk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldChhcGkuSFVfRU1QTE9ZRUVfQ1ZfR0VUXzJDOTgsIHtcclxuICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcclxuICAgICAgICAgICAgICBwYXJhbXM6IHsgaWQ6IHRoaXMuc2VsZWN0ZWRJZHNbMF0udG9TdHJpbmcoKSB9LFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmxvYikgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXNwb25zZS50eXBlID09PSAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZG93bmxvYWRVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICAgICAgICBsaW5rLmhyZWYgPSBkb3dubG9hZFVybDtcclxuICAgICAgICAgICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsICcyQ19CTlZfOThfJyArIGZpbGVuYW1lICsgJy5kb2MnKTtcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICAgICAgICAgICAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG4gICAgICAgICAgICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChkb3dubG9hZFVybCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGpzb25Cb2R5ID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGpzb25Cb2R5KTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uud2FybihkYXRhLm1lc3NhZ2VDb2RlLCBhbGVydE9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX1VQREFURTpcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkSWRzWzBdKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInN0YWZmLXByb2ZpbGUtY29udGFpbmVyXCI+XHJcbiAgPGNvcmUtcGFnZS1saXN0IFxyXG4gICAgW2hlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgW2FwaURlZmluaXRpb25dPVwiYXBpRGVmaW5pdGlvblwiIFtjb2x1bW5zXT1cImNvbHVtbnNcIiBbZWRpdFJvdXRlXT1cImVkaXRSb3V0ZVwiIFtjcnVkXT1cImNydWRcIlxyXG4gICAgW3RpdGxlXT1cInRpdGxlXCIgW2xlZnRdPVwib3JnVHJlZVwiICpuZ0lmPVwiISFhdmF0YXJcIlxyXG4gICAgW291dGVyUGFyYW0kXT1cIm91dGVyUGFyYW0kXCJcclxuICAgIFtvdXRlckluT3BlcmF0b3JzXT1cIm91dGVySW5PcGVyYXRvcnNcIlxyXG4gICAgW2F1dG9SZXNpemVXaXRoV2luZG93XT1cInRydWVcIlxyXG4gICAgW3NlbGZSZXNvbHZlQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGlja109XCJ0cnVlXCJcclxuICAgIChyb3dEb3VibGVDbGljayk9XCJvblJvd0RvdWJsZUNsaWNrKCRldmVudClcIlxyXG4gICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAoY29yZVBhZ2VIZWFkZXJCdXR0b25DbGljayk9XCJvbkNvcmVQYWdlSGVhZGVyQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAoc2VsZWN0ZWRJZHNDaGFuZ2UpPVwib25TZWxlY3RlZElkc0NoYW5nZTEoJGV2ZW50KVwiXHJcbiAgICBbZnJvemVuXT1cIjNcIlxyXG4gICAgW291dGVyU29ydF09XCJvdXRlclNvcnRcIlxyXG4gICAgW3Nob3dQYXJhbUtpdF09XCJ0cnVlXCJcclxuICAgIFtkYXRlUGVyaW9kQ29tcGFyaXNvbkZvcl09XCJkYXRlUGVyaW9kQ29tcGFyaXNvbkZvclwiXHJcbiAgICBbZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JMYWJlbEtleV09XCJkYXRlUGVyaW9kQ29tcGFyaXNvbkZvckxhYmVsS2V5XCJcclxuICAgIFtoaWRlU3RhdHVzSW5jbHVzaW9uXT1cImZhbHNlXCJcclxuICAgIFtzdGF0dXNJbmNsdXNpb25Gb3JdPVwic3RhdHVzSW5jbHVzaW9uRm9yXCJcclxuICAgIFtzdGF0dXNJbmNsdXNpb25Gb3JMYWJlbEtleV09XCJzdGF0dXNJbmNsdXNpb25Gb3JMYWJlbEtleVwiXHJcbiAgICBbc3RhdHVzT3B0aW9uc0FwaV09XCJzdGF0dXNPcHRpb25zQXBpXCJcclxuICAgIFtnZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdF09XCJnZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdFwiXHJcbiAgICBbaW1wb3J0UHJldmlld1BhdGhdPVwiJ3N0YWZmcHJvZmlsZS1pbXBvcnQnXCIgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgPjwvY29yZS1wYWdlLWxpc3Q+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjb3JnVHJlZT5cclxuICAgIDxjb3JlLW9yZy10cmVlIFsobmdNb2RlbCldPVwib3JnSWRzXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25PcmdJZHNDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgPC9jb3JlLW9yZy10cmVlPlxyXG5cclxuICAgIFxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYXZhdGFyIGxldC1hdmF0YXI9XCJjb250ZXh0LmF2YXRhclwiPlxyXG4gICAgPGltZyAqbmdJZj1cImF2YXRhciAhPSBudWxsXCIgW3NyY109XCJhdmF0YXIgfCBtYXBBdmF0YXJUb1NlcnZlclwiIGNsYXNzPVwiaW4tdGFibGUtYXZhdGFyXCIgYXBwSW1hZ2VFcnJvclJlc29sdmVyPlxyXG4gICAgPGltZyAqbmdJZj1cImF2YXRhciA9PSBudWxsXCIgW3NyY109XCJkZWZhdWx0QXZhdGFyXCIgY2xhc3M9XCJpbi10YWJsZS1hdmF0YXJcIiBhcHBJbWFnZUVycm9yUmVzb2x2ZXI+XHJcblxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG48L2Rpdj5cclxuPGFwcC1mdWxsc2NyZWVuLW1vZGFsLWxvYWRlciAqbmdJZj1cImxvYWRpbmdcIj48L2FwcC1mdWxsc2NyZWVuLW1vZGFsLWxvYWRlcj4iXX0=
318
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhZmZwcm9maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9zdGFmZnByb2ZpbGUvc3RhZmZwcm9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9zdGFmZnByb2ZpbGUvc3RhZmZwcm9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE4QixLQUFLLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxxQkFBcUIsRUFBMkUsTUFBTSw0Q0FBNEMsQ0FBQztBQU01SixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUU3RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3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d0JBQ3BCLFdBQVc7d0JBQ1gsOEJBQThCO3dCQUM5QixhQUFhO3dCQUNiLHFCQUFxQjt3QkFDckIsWUFBWTtxQkFDYjsrUkFNUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFZSxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBMkJWLFlBQVk7c0JBQXBCLEtBQUs7Z0JBbUJHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWNvbXBvbmVudC9iYXNlL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRW51bVRyYW5zbGF0ZUtleSB9IGZyb20gXCJhbHBoYS1nbG9iYWwtY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJhbHBoYS1nbG9iYWwtY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IEVudW1Tb3J0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vZW51bS9FbnVtU29ydERpcmVjdGlvbic7XHJcbmltcG9ydCB7IElGaWx0ZXJPcGVyYXRvciwgSUluT3BlcmF0b3IsIElTb3J0SXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVF1ZXJ5TGlzdFJlcXVlc3QnO1xyXG5pbXBvcnQgeyBDb3JlUGFnZUxpc3RDb21wb25lbnQsIElDb3JlUGFnZUxpc3RBcGlEZWZpbml0aW9uLCBJQ29yZVBhZ2VMaXN0Q1JVRCwgSUNvcmVQYWdlTGlzdEVkaXRSb3V0aW5nIH0gZnJvbSAnLi4vY29yZS1wYWdlLWxpc3QvY29yZS1wYWdlLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTXVsdGlMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tdWx0aS1sYW5ndWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmFuZG9tQXZhdGFyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JhbmRvbS1hdmF0YXIuc2VydmljZSc7XHJcbmltcG9ydCB7IE9yZ2FuaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcmdhbml6YXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnVtQ29yZUJ1dHRvblZOU0NvZGUgfSBmcm9tICcuLi9jb3JlLWJ1dHRvbi1ncm91cC12bnMvY29yZS1idXR0b24tZ3JvdXAtdm5zL0VudW1Db3JlQnV0dG9uVk5TQ29kZSc7XHJcbmltcG9ydCB7IElDb3JlQnV0dG9uVk5TIH0gZnJvbSAnLi4vY29yZS1idXR0b24tZ3JvdXAtdm5zL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9JQ29yZUJ1dHRvblZOUyc7XHJcbmltcG9ydCB7IGFsZXJ0T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hbGVydE9wdGlvbnMnO1xyXG5pbXBvcnQgeyBJR2VuZXJhdGVUZW1wbGF0ZVJlcXVlc3QgfSBmcm9tICcuLi9jb3JlLXBhZ2UtbGlzdC9jb3JlLXBhZ2UtbGlzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUNvcmVUYWJsZUNvbHVtbkl0ZW0gfSBmcm9tICcuLi9jb3JlLXRhYmxlL0lDb3JlVGFibGVDb2x1bW5JdGVtJztcclxuaW1wb3J0IHsgRW51bUNvcmVUYWJsZVBpcGVUeXBlIH0gZnJvbSAnLi4vY29yZS10YWJsZS9FbnVtQ29yZVRhYmxlUGlwZVR5cGUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29yZU9yZ1RyZWVDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlLW9yZy10cmVlL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGdWxsc2NyZWVuTW9kYWxMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9mdWxsc2NyZWVuLW1vZGFsLWxvYWRlci9mdWxsc2NyZWVuLW1vZGFsLWxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vYXBwLXBpcGVzL3RyYW5zbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgTWFwQXZhdGFyVG9TZXJ2ZXJQaXBlIH0gZnJvbSAnLi4vLi4vYXBwLXBpcGVzL21hcC1hdmF0YXItdG8tc2VydmVyLnBpcGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjbXMtcHJvZmlsZS1zdGFmZnByb2ZpbGUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29yZVBhZ2VMaXN0Q29tcG9uZW50LCBcclxuICAgIENvcmVPcmdUcmVlQ29tcG9uZW50LCBcclxuICAgIEZvcm1zTW9kdWxlLCBcclxuICAgIEZ1bGxzY3JlZW5Nb2RhbExvYWRlckNvbXBvbmVudCxcclxuICAgIFRyYW5zbGF0ZVBpcGUsXHJcbiAgICBNYXBBdmF0YXJUb1NlcnZlclBpcGUsXHJcbiAgICBDb21tb25Nb2R1bGVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGFmZnByb2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N0YWZmcHJvZmlsZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RhZmZQcm9maWxlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIFxyXG4gIEBJbnB1dCgpIGhpZGVIZWFkZXIhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGhlaWdodCE6IG51bWJlcjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnYXZhdGFyJykgYXZhdGFyITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLyogU1RBUlQ6IExvY2FsIGZpbHRlciBwYXJhbXMgKi9cclxuICBvcmdJZHMhOiBudW1iZXJbXTtcclxuICAvKiBFTkQ6IExvY2FsIGZpbHRlciBwYXJhbXMgKi9cclxuXHJcbiAgLypcclxuICBQcm9wZXJ0aWVzIGJlaW5nIHBhc3NlZCB0byBjb3JlLXBhZ2UtbGlzdFxyXG4gICovXHJcbiAgZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3I6IHN0cmluZyA9ICdqb2luRGF0ZSc7XHJcbiAgZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JMYWJlbEtleTogRW51bVRyYW5zbGF0ZUtleSA9XHJcbiAgICBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1NUQUZGX1BST0ZJTEVfSk9JTl9EQVRFO1xyXG4gIHN0YXR1c0luY2x1c2lvbkZvcjogc3RyaW5nID0gJ3dvcmtTdGF0dXNJZCc7XHJcbiAgc3RhdHVzSW5jbHVzaW9uRm9yTGFiZWxLZXk6IEVudW1UcmFuc2xhdGVLZXkgPVxyXG4gICAgRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9ERU1PX0FUVEFDSE1FTlRfU1RBVFVTX0lEO1xyXG4gIHN0YXR1c09wdGlvbnNBcGk6IGFwaSA9IGFwaS5IVV9FTVBMT1lFRV9DVl9HRVRfRU1QTE9ZRUVfU1RBVFVTX0xJU1Q7XHJcbiAgbG9hZGluZyE6IGJvb2xlYW47XHJcbiAgdGl0bGUgPSBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9USVRMRV9TVEFGRl9QUk9GSUxFO1xyXG5cclxuICBvdXRlclNvcnQ6IElTb3J0SXRlbVtdID0gW1xyXG4gICAge1xyXG4gICAgICBmaWVsZDogXCJqb2JPcmRlck51bVwiLFxyXG4gICAgICBzb3J0RGlyZWN0aW9uOiBFbnVtU29ydERpcmVjdGlvbi5BU0NcclxuICAgIH1cclxuICBdXHJcblxyXG4gIG91dGVyUGFyYW0kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG4gIEBJbnB1dCgpIG91dGVyRmlsdGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUZpbHRlck9wZXJhdG9yW10gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgb3V0ZXJGaWx0ZXJPcGVyYXRvcnM6IElGaWx0ZXJPcGVyYXRvcltdID0gW107XHJcbiAgb3V0ZXJJbk9wZXJhdG9yczogSUluT3BlcmF0b3JbXSA9IFtcclxuICAgIHtcclxuICAgICAgZmllbGQ6ICdvcmdJZCcsXHJcbiAgICAgIHZhbHVlczogdGhpcy5vcmdJZHMgfHwgW10sXHJcbiAgICB9LFxyXG4gIF07XHJcblxyXG4gIGFwaURlZmluaXRpb246IElDb3JlUGFnZUxpc3RBcGlEZWZpbml0aW9uID0ge1xyXG4gICAgcXVlcnlMaXN0UmVsYXRpdmVQYXRoOiBhcGkuSFVfRU1QTE9ZRUVfUVVFUllfTElTVCxcclxuICB9O1xyXG5cclxuICBjcnVkOiBJQ29yZVBhZ2VMaXN0Q1JVRCA9IHtcclxuICAgIGRlbGV0ZUlkczogYXBpLkhVX0VNUExPWUVFX0RFTEVURV9JRFMsXHJcbiAgfTtcclxuXHJcbiAgYXZhdGFyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKSBjb2x1bW5zOiBJQ29yZVRhYmxlQ29sdW1uSXRlbVtdID0gW1xyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0NPTU1PTl9JRCxcclxuICAgICAgZmllbGQ6ICdpZCcsXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgIGFsaWduOiAncmlnaHQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9QUk9GSUxFX0FWQVRBUiwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAnYXZhdGFyJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnY2VudGVyJyxcclxuICAgICAgaGlkZVNlYXJjaEJveDogdHJ1ZSxcclxuICAgICAgd2lkdGg6IDgwLFxyXG4gICAgICB0ZW1wbGF0ZVJlZjogdGhpcy5hdmF0YXJUZW1wbGF0ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246XHJcbiAgICAgICAgRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9QUk9GSUxFX0VNUExPWUVFX0NPREUsIC8vIHRvIGJlIGFzaWduZWQgdG8gRW51bVRyYW5zbGF0ZUtleVxyXG4gICAgICBmaWVsZDogJ2NvZGUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDgwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9QUk9GSUxFX0ZVTExOQU1FLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICdmdWxsbmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMTUwLFxyXG4gICAgICBwaXBlOiBFbnVtQ29yZVRhYmxlUGlwZVR5cGUuTk9STUFMSVpFX0hVTUFOX05BTUUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOlxyXG4gICAgICAgIEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1lTX1VTRVJfRU1QTE9ZRUVfUFJPRklMRV9DT0RFLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICdwcm9maWxlQ29kZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogODAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOlxyXG4gICAgICAgIEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9QT1NJVElPTl9OQU1FLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICduYW1lT25Qcm9maWxlRW1wbG95ZWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDMwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9PUkdfTkFNRSwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAnb3JnTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9XT1JLX1NUQVRVU19OQU1FLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICd3b3JrU3RhdHVzTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICBdO1xyXG5cclxuICBkZWZhdWx0QXZhdGFyITogc3RyaW5nO1xyXG5cclxuICBlZGl0Um91dGU6IElDb3JlUGFnZUxpc3RFZGl0Um91dGluZyA9IHtcclxuICAgIGF1eGlsaWFyeTogJ3BvcHVwQXV4JyxcclxuICB9O1xyXG5cclxuICBnZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCE6IElHZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdDtcclxuXHJcbiAgaWQ6IGFueTtcclxuXHJcbiAgLyogRW5kIFByb3BlcnRpZXMgYmVpbmcgcGFzc2VkIHRvIGNvcmUtcGFnZS1saXN0ICovXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIG92ZXJyaWRlIG1sczogTXVsdGlMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmFzOiBSYW5kb21BdmF0YXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHB1YmxpYyBvcmdhbml6YXRpb25TZXJ2aWNlOiBPcmdhbml6YXRpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcclxuICAgIHB1YmxpYyBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKG1scyk7XHJcbiAgICB0aGlzLmRlZmF1bHRBdmF0YXIgPSByYXMuZ2V0KCk7XHJcblxyXG4gICAgLyogR2V0IG9yZ0lkcyBzdGFydHVwIHZhbHVlICovXHJcbiAgICBjb25zdCBuZXdPcmdJZHM6IG51bWJlcltdID0gW107XHJcbiAgICB0aGlzLm9yZ2FuaXphdGlvblNlcnZpY2Uuc3RhdHVzJC52YWx1ZS5hY3RpdmVLZXlzLm1hcCgoeCkgPT5cclxuICAgICAgbmV3T3JnSWRzLnB1c2goTnVtYmVyKHgpKVxyXG4gICAgKTtcclxuICAgIHRoaXMub25PcmdJZHNDaGFuZ2UobmV3T3JnSWRzKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tbHMubGFuZyQuc3Vic2NyaWJlKHggPT4ge1xyXG4gICAgICB0aGlzLmxhbmcgPSB4O1xyXG4gICAgICB0aGlzLmdlbmVyYXRlVGVtcGxhdGVSZXF1ZXN0ID0ge1xyXG4gICAgICAgIGV4Q29kZTogJ1NUQUZGX1BST0ZJTEUnLFxyXG4gICAgICAgIGxhbmc6IHhcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgICAvLyBO4bq/dSBjaGnhu4F1IGNhbyBoZWlnaHQgY+G7p2EgU3RhZmZQcm9maWxlQ29tcG9uZW50IGtow7RuZyDEkcaw4bujYyB0cnV54buBbiB2w6BvXHJcbiAgICAvLyBUaMOsIGNoaeG7gXUgY2FvIGPhu6dhIG7DsyBz4bq9IGLhurFuZyBnacOhIHRy4buLIGJp4bq/biB0aGnDqm4gY+G7p2EgY29udGVudENvbnRhaW5lckhlaWdodCRcclxuICAgIC8vIHRy4burIMSRaSBraG/huqNuZyBwYWRkaW5nQm90dG9tIChiYXNpY1NwYWNpbmcpIFxyXG4gICAgaWYgKCF0aGlzLmhlaWdodCkge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UuY29udGVudENvbnRhaW5lckhlaWdodCQuc3Vic2NyaWJlKHggPT4ge1xyXG4gICAgICAgICAgdGhpcy5oZWlnaHQgPSB4IC0gdGhpcy5sYXlvdXRTZXJ2aWNlLmJhc2ljU3BhY2luZztcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9XHJcbiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29sdW1ucy5maWx0ZXIoKGMpID0+IGMuZmllbGQgPT09ICdhdmF0YXInKVswXS50ZW1wbGF0ZVJlZiA9XHJcbiAgICAgIHRoaXMuYXZhdGFyO1xyXG4gIH1cclxuXHJcbiAgb25PcmdJZHNDaGFuZ2Uob3JnSWRzOiBudW1iZXJbXSkge1xyXG4gICAgY29uc29sZS5sb2coXCJTVEFGRlBST0ZJTEUgb25PcmdJZHNDaGFuZ2VcIiwgb3JnSWRzKVxyXG4gICAgdGhpcy5vcmdJZHMgPSBvcmdJZHM7XHJcbiAgICB0aGlzLm91dGVySW5PcGVyYXRvcnMgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBmaWVsZDogJ29yZ0lkJyxcclxuICAgICAgICB2YWx1ZXM6IG9yZ0lkcyxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgfVxyXG5cclxuICBvblJvd0RvdWJsZUNsaWNrKGU6IGFueSkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2J0b2EoZS5pZC50b1N0cmluZygpKV0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcclxuICB9XHJcblxyXG4gIHNlbGVjdGVkSWRzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBvblNlbGVjdGVkSWRzQ2hhbmdlMShlOiBzdHJpbmdbXSB8IG51bWJlcltdKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSWRzID0gZTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRJZHMpO1xyXG4gIH1cclxuXHJcbiAgb25Sb3dDbGljayhlOiBhbnkpIHtcclxuICAgIHRoaXMuaWQgPSBlLmlkO1xyXG4gIH1cclxuXHJcbiAgb25Db3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrKGU6IElDb3JlQnV0dG9uVk5TKSB7XHJcbiAgICBjb25zb2xlLmxvZygnU3RhZmZQcm9maWxlQ29tcG9uZW50IG9uQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGljaycsIGUpO1xyXG4gICAgbGV0IGZpbGVuYW1lID0gJyc7XHJcbiAgICBzd2l0Y2ggKGUuY29kZSkge1xyXG4gICAgICBjYXNlIEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfQ1JFQVRFOlxyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnYXBwLXN0YWZmLXByb2ZpbGUtZWRpdCddLCB7XHJcbiAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfRURJVDpcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYnRvYSh0aGlzLmlkLnRvU3RyaW5nKCkpXSwge1xyXG4gICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX0RFTEVURTpcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX1BSSU5UOlxyXG4gICAgICAgIGNvbnNvbGUubG9nKCdjYWxsJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9QUklOVF8yQ18yMDA4OlxyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZElkcy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS53YXJuKHRoaXMubWxzLnRyYW5zKCdQUklOVF9PTkVfUkVDT1JEJyksIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5odHRwLmdldChhcGkuSFVfRU1QTE9ZRUVfQ1ZfR0VUX0ZJTEVfTkFNRSArIHRoaXMuc2VsZWN0ZWRJZHNbMF0udG9TdHJpbmcoKSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGZpbGVuYW1lID0gcmVzcG9uc2UuaW5uZXJCb2R5O1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldChhcGkuSFVfRU1QTE9ZRUVfQ1ZfR0VUXzJDMjAwOCwge1xyXG4gICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxyXG4gICAgICAgICAgICAgIHBhcmFtczogeyBpZDogdGhpcy5zZWxlY3RlZElkc1swXS50b1N0cmluZygpIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCbG9iKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnR5cGUgPT09ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkb3dubG9hZFVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgICAgICAgIGxpbmsuaHJlZiA9IGRvd25sb2FkVXJsO1xyXG4gICAgICAgICAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgJzJDX0JOVl8yMDA4XycgKyBmaWxlbmFtZSArICcuZG9jJyk7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xyXG4gICAgICAgICAgICAgICAgbGluay5jbGljaygpO1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcclxuICAgICAgICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoZG93bmxvYWRVcmwpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBqc29uQm9keSA9IHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nO1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShqc29uQm9keSk7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcyhkYXRhLm1lc3NhZ2VDb2RlLCBhbGVydE9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKGRhdGEubWVzc2FnZUNvZGUsIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICByZWFkZXIucmVhZEFzVGV4dChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBFbnVtQ29yZUJ1dHRvblZOU0NvZGUuSEVBREVSX1BSSU5UXzJDXzk4OlxyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZElkcy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS53YXJuKHRoaXMubWxzLnRyYW5zKCdQUklOVF9PTkVfUkVDT1JEJyksIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuaHR0cC5nZXQoYXBpLkhVX0VNUExPWUVFX0NWX0dFVF9GSUxFX05BTUUgKyB0aGlzLnNlbGVjdGVkSWRzWzBdLnRvU3RyaW5nKCkpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBmaWxlbmFtZSA9IHJlc3BvbnNlLmlubmVyQm9keTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0KGFwaS5IVV9FTVBMT1lFRV9DVl9HRVRfMkM5OCwge1xyXG4gICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxyXG4gICAgICAgICAgICAgIHBhcmFtczogeyBpZDogdGhpcy5zZWxlY3RlZElkc1swXS50b1N0cmluZygpIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCbG9iKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnR5cGUgPT09ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkb3dubG9hZFVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgICAgICAgIGxpbmsuaHJlZiA9IGRvd25sb2FkVXJsO1xyXG4gICAgICAgICAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgJzJDX0JOVl85OF8nICsgZmlsZW5hbWUgKyAnLmRvYycpO1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgICAgICAgICAgICAgIGxpbmsuY2xpY2soKTtcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XHJcbiAgICAgICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGRvd25sb2FkVXJsKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QganNvbkJvZHkgPSByZWFkZXIucmVzdWx0IGFzIHN0cmluZztcclxuICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoanNvbkJvZHkpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS53YXJuKGRhdGEubWVzc2FnZUNvZGUsIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEVudW1Db3JlQnV0dG9uVk5TQ29kZS5IRUFERVJfVVBEQVRFOlxyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRJZHNbMF0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic3RhZmYtcHJvZmlsZS1jb250YWluZXJcIj5cclxuICA8Y29yZS1wYWdlLWxpc3QgXHJcbiAgICBbaGVpZ2h0XT1cImhlaWdodFwiXHJcbiAgICBbYXBpRGVmaW5pdGlvbl09XCJhcGlEZWZpbml0aW9uXCIgW2NvbHVtbnNdPVwiY29sdW1uc1wiIFtlZGl0Um91dGVdPVwiZWRpdFJvdXRlXCIgW2NydWRdPVwiY3J1ZFwiXHJcbiAgICBbdGl0bGVdPVwidGl0bGVcIiBbbGVmdF09XCJvcmdUcmVlXCIgKm5nSWY9XCIhIWF2YXRhclwiXHJcbiAgICBbb3V0ZXJQYXJhbSRdPVwib3V0ZXJQYXJhbSRcIlxyXG4gICAgW291dGVySW5PcGVyYXRvcnNdPVwib3V0ZXJJbk9wZXJhdG9yc1wiXHJcbiAgICBbYXV0b1Jlc2l6ZVdpdGhXaW5kb3ddPVwidHJ1ZVwiXHJcbiAgICBbc2VsZlJlc29sdmVDb3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrXT1cInRydWVcIlxyXG4gICAgKHJvd0RvdWJsZUNsaWNrKT1cIm9uUm93RG91YmxlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgIChjb3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrKT1cIm9uQ29yZVBhZ2VIZWFkZXJCdXR0b25DbGljaygkZXZlbnQpXCJcclxuICAgIChzZWxlY3RlZElkc0NoYW5nZSk9XCJvblNlbGVjdGVkSWRzQ2hhbmdlMSgkZXZlbnQpXCJcclxuICAgIFtmcm96ZW5dPVwiM1wiXHJcbiAgICBbb3V0ZXJTb3J0XT1cIm91dGVyU29ydFwiXHJcbiAgICBbc2hvd1BhcmFtS2l0XT1cInRydWVcIlxyXG4gICAgW2RhdGVQZXJpb2RDb21wYXJpc29uRm9yXT1cImRhdGVQZXJpb2RDb21wYXJpc29uRm9yXCJcclxuICAgIFtkYXRlUGVyaW9kQ29tcGFyaXNvbkZvckxhYmVsS2V5XT1cImRhdGVQZXJpb2RDb21wYXJpc29uRm9yTGFiZWxLZXlcIlxyXG4gICAgW2hpZGVTdGF0dXNJbmNsdXNpb25dPVwiZmFsc2VcIlxyXG4gICAgW3N0YXR1c0luY2x1c2lvbkZvcl09XCJzdGF0dXNJbmNsdXNpb25Gb3JcIlxyXG4gICAgW3N0YXR1c0luY2x1c2lvbkZvckxhYmVsS2V5XT1cInN0YXR1c0luY2x1c2lvbkZvckxhYmVsS2V5XCJcclxuICAgIFtzdGF0dXNPcHRpb25zQXBpXT1cInN0YXR1c09wdGlvbnNBcGlcIlxyXG4gICAgW2dlbmVyYXRlVGVtcGxhdGVSZXF1ZXN0XT1cImdlbmVyYXRlVGVtcGxhdGVSZXF1ZXN0XCJcclxuICAgIFtpbXBvcnRQcmV2aWV3UGF0aF09XCInc3RhZmZwcm9maWxlLWltcG9ydCdcIiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICA+PC9jb3JlLXBhZ2UtbGlzdD5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNvcmdUcmVlPlxyXG4gICAgPGNvcmUtb3JnLXRyZWUgWyhuZ01vZGVsKV09XCJvcmdJZHNcIiAobmdNb2RlbENoYW5nZSk9XCJvbk9yZ0lkc0NoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICA8L2NvcmUtb3JnLXRyZWU+XHJcblxyXG4gICAgXHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhdmF0YXIgbGV0LWF2YXRhcj1cImNvbnRleHQuYXZhdGFyXCI+XHJcbiAgICA8aW1nICpuZ0lmPVwiYXZhdGFyICE9IG51bGxcIiBbc3JjXT1cImF2YXRhciB8IG1hcEF2YXRhclRvU2VydmVyXCIgY2xhc3M9XCJpbi10YWJsZS1hdmF0YXJcIiBhcHBJbWFnZUVycm9yUmVzb2x2ZXI+XHJcbiAgICA8aW1nICpuZ0lmPVwiYXZhdGFyID09IG51bGxcIiBbc3JjXT1cImRlZmF1bHRBdmF0YXJcIiBjbGFzcz1cImluLXRhYmxlLWF2YXRhclwiIGFwcEltYWdlRXJyb3JSZXNvbHZlcj5cclxuXHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwvZGl2PlxyXG48YXBwLWZ1bGxzY3JlZW4tbW9kYWwtbG9hZGVyICpuZ0lmPVwibG9hZGluZ1wiPjwvYXBwLWZ1bGxzY3JlZW4tbW9kYWwtbG9hZGVyPiJdfQ==
@@ -8022,6 +8022,7 @@ class CoreOrgParamComponent extends CoreFormControlBaseComponent {
8022
8022
  this.organizationService = organizationService;
8023
8023
  this.accessorMode = EnumCoreOrgTreeaAccessorMode.ACTIVATED_INHERITANCE;
8024
8024
  this.pendingIds = [];
8025
+ this.subscriptions = [];
8025
8026
  this.seekerService.sourceSpaceHeight$.subscribe(x => {
8026
8027
  this.sourceSpaceHeight = x;
8027
8028
  this.sourceContainerHeight = this.showPageHeader ? x - this.layoutService.corePageHeaderHeight - 68 : x - 68;
@@ -8031,27 +8032,24 @@ class CoreOrgParamComponent extends CoreFormControlBaseComponent {
8031
8032
  ngAfterViewInit() {
8032
8033
  setTimeout(() => {
8033
8034
  this.writeValue(this.organizationService.status$.value.activeKeys.map(x => Number(x)));
8035
+ this.subscriptions.push(this.organizationService.status$.subscribe(x => {
8036
+ if (!!x.selectedKey) {
8037
+ const filteredLinearData = this.organizationService.linerData$.value.filter(i => i.id === Number(x.selectedKey));
8038
+ if (!!filteredLinearData.length) {
8039
+ this.valueToShow = filteredLinearData[0].tree$Title || filteredLinearData[0].name;
8040
+ }
8041
+ else {
8042
+ this.valueToShow = '';
8043
+ }
8044
+ }
8045
+ else {
8046
+ this.valueToShow = '';
8047
+ }
8048
+ }));
8034
8049
  });
8035
8050
  }
8036
8051
  writeValue(obj) {
8037
8052
  this.value = obj;
8038
- const filteredLinearData = this.organizationService.linerData$.value
8039
- .filter(x => obj?.includes(x.id));
8040
- if (!filteredLinearData.length) {
8041
- this.valueToShow = '';
8042
- }
8043
- else {
8044
- try {
8045
- const tryFindTheShortedPath = filteredLinearData
8046
- .reduce((shortest, current) => {
8047
- return current.tree$Path.length < shortest.tree$Path.length ? current : shortest;
8048
- }, filteredLinearData[0]);
8049
- this.valueToShow = tryFindTheShortedPath.tree$Title;
8050
- }
8051
- catch {
8052
- this.valueToShow = "";
8053
- }
8054
- }
8055
8053
  }
8056
8054
  onCancel() {
8057
8055
  this.sourceOpen = false;
@@ -9904,6 +9902,7 @@ class CorePageListComponent extends CoreFormControlBaseComponent {
9904
9902
  /** END setTimeout*/
9905
9903
  }
9906
9904
  onParamKitValueChange(data) {
9905
+ console.log("onParamKitValueChange", data);
9907
9906
  switch (data.field) {
9908
9907
  case 'orgIds':
9909
9908
  const newOrgInOperators = JSON.parse(JSON.stringify(this.inOperators$.value));
@@ -10500,7 +10499,7 @@ class CorePageListComponent extends CoreFormControlBaseComponent {
10500
10499
  useExisting: CorePageListComponent,
10501
10500
  },
10502
10501
  CorePageListState,
10503
- ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "corePageListContainer", first: true, predicate: ["corePageListContainer"], descendants: true }, { propertyName: "paginationContainer", first: true, predicate: ["paginationContainer"], descendants: true }, { propertyName: "fileImport", first: true, predicate: ["fileImport"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-page-list-container\" #corePageListContainer [ngStyle]=\"{ height: height + 'px' }\">\r\n\r\n <core-page-header *ngIf=\"!!!hideHeader\" [instanceNumber]=\"corePageListInstanceNumber\" [title]=\"title\" (buttonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n [hideButtonGroup]=\"!!seekerMode || !!hideButtonGroup\"></core-page-header>\r\n\r\n <input #fileImport type=\"file\" name=\"name\"\r\n accept=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\"\r\n style=\"display: none;\" (change)='inputFile($event)' />\r\n\r\n <!--\r\n Khi \u0111\u00E3 t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao compositionHeight c\u1EE7a core-composition\r\n C\u1EA7n t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao coreTableHeight c\u1EE7a CoreTable\r\n N\u1EBFu ph\u1EA7n top c\u1EE7a composition c\u1ED1 \u0111\u1ECBnh (v\u00ED d\u1EE5 khi s\u1EED d\u1EE5ng CoreParamKit) th\u00EC ph\u00E9p tr\u1EEB \u0111\u01A1n gi\u1EA3n\r\n Nh\u01B0ng n\u1EBFu ph\u1EA7n top \u0111\u01B0\u1EE3c customize, ta ph\u1EA3i s\u1EED d\u1EE5ng extraManualOffset\r\n -->\r\n <core-composition \r\n [coreCompositionInstanceNumber]=\"corePageListInstanceNumber\" \r\n [top]=\"topPlace\" \r\n [left]=\"!!hideLeft? undefined :left\" \r\n [main]=\"coreTable\" \r\n [height]=\"compositionHeight\">\r\n </core-composition>\r\n\r\n <router-outlet name=\"corePageListAux\"></router-outlet>\r\n\r\n</div>\r\n\r\n<ng-template #topPlace>\r\n\r\n <ng-container *ngIf=\"!!showParamKit\">\r\n <core-common-param-kit [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [enableTimeZoneConverterForDateTimePeriodParameters]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\" [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\"\r\n [statusOptions$]=\"statusOptions$\"\r\n [showOrgParam]=\"showOrgParam\"\r\n [hideGeneralSearch]=\"hideGeneralSearch\"\r\n [hideDatePeriodComparison]=\"hideDatePeriodComparison\" \r\n [hideStatusInclusion]=\"hideStatusInclusion\"\r\n (onChange)=\"onParamKitValueChange($event)\"></core-common-param-kit>\r\n </ng-container>\r\n\r\n <ng-container *ngTemplateOutlet=\"top\">\r\n\r\n </ng-container>\r\n\r\n</ng-template>\r\n\r\n<ng-template #coreTable>\r\n\r\n <div [class.opacity0]=\"!!!geometricDone\">\r\n\r\n <!--\r\n Khi \u0111\u00E3 t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao compositionHeight c\u1EE7a core-composition\r\n C\u1EA7n t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao coreTableHeight c\u1EE7a CoreTable\r\n N\u1EBFu ph\u1EA7n top c\u1EE7a composition c\u1ED1 \u0111\u1ECBnh (v\u00ED d\u1EE5 khi s\u1EED d\u1EE5ng CoreParamKit) th\u00EC ph\u00E9p tr\u1EEB \u0111\u01A1n gi\u1EA3n\r\n Nh\u01B0ng n\u1EBFu ph\u1EA7n top \u0111\u01B0\u1EE3c customize, ta ph\u1EA3i s\u1EED d\u1EE5ng extraManualOffset\r\n\r\n C\u1EA7n t\u00EDnh tableHeight nh\u01B0 th\u1EBF n\u00E0o?\r\n -->\r\n <core-table #coreTableAlone width=\"100%\" [height]=\"tableHeight\" [rowHeight]=\"rowHeight || '46px'\" [wrap]=\"wrap\"\r\n [columns]=\"columns\" [data]=\"list\" [showCheckbox]=\"!!!hideCheck\" headerHeight=\"60px\" [showTools]=\"showListInlineTools\"\r\n [tools]=\"inlineTools\" (onToolClick)=\"onToolClick($event)\" (onRowClick)=\"onRowClick($event)\"\r\n (onRowDoubleClick)=\"onRowDoubleClick($event)\" (onSelectedIdsChange)=\"onSelectedIdsChange($event)\"\r\n (onSelectedDataChange)=\"onSelectedDataChange($event)\" [frozen]=\"frozen || 1\"\r\n (onSearching)=\"onSearching($event)\" (onColumnCaptionClick)=\"onColumnCaptionClick($event)\"\r\n [corePageListInstanceNumber]=\"corePageListInstanceNumber\" [loading]=\"loading\"\r\n [columnSearchDefaultOpen]=\"columnSearchDefaultOpen\" [lazyLoading]=\"true\"\r\n [headerWrap]=\"headerWrap\"\r\n [headerFirstRowHeight]=\"headerFirstRowHeight\"\r\n [noPaddingCell]=\"noPaddingCell\"\r\n [disableHighlightOnClick]=\"disableHighlightOnClick\"\r\n ></core-table>\r\n\r\n <div class=\"d-flex-end pagination-wrapper\" #paginationContainer>\r\n <core-pagination-full [height]=\"paginationHeight\" [currentPage$]=\"currentPage$\" [pageSize$]=\"pageSize$\"\r\n [pageCount]=\"pageCount\" [innerBodyCount$]=\"innerBodyCount$\" [pagination$]=\"pagination$\"\r\n [loading]=\"loading\" [fixedPageSize]=\"fixedPageSize\" [background]=\"'#848484'\"></core-pagination-full>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n</ng-template>\r\n\r\n<core-api-progress *ngIf=\"longApiRunning\" (onClose)=\"onProgressWindowClose($event)\"></core-api-progress>\r\n\r\n<app-fullscreen-modal-loader *ngIf=\"prefetchLoading\"></app-fullscreen-modal-loader>", styles: [".core-page-list-container{--height: auto;box-sizing:border-box!important;border:none!important;height:var(--height)}.core-page-list-container *{box-sizing:border-box}.core-page-list-container .column-caption{text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: CoreTableComponent, selector: "core-table", inputs: ["id", "width", "height", "showCheckbox", "checkboxSize", "outerButtons", "showTools", "tools", "checkingResetFlag", "borderRadius", "headerBackgroundColor", "headerWrap", "headerFirstRowHeight", "headerSecondRowHeight", "wrap", "allowCellScrollY", "loading", "rowHeight", "frozen", "footer", "columns", "data", "selectedIds", "corePageListInstanceNumber", "disableHighlightOnClick", "freeMode", "searchSwitchDisabled", "disableSorting", "inlineToolItems", "columnSearchDefaultOpen", "lazyLoading", "noPaddingCell"], outputs: ["onSearching", "onToolClick", "onRowClick", "onRowDoubleClick", "onSelectedIdsChange", "onSelectedDataChange", "onColumnCaptionClick"] }, { kind: "component", type: CorePaginationFullComponent, selector: "core-pagination-full", inputs: ["currentPage$", "height", "pageCount", "loading", "showAdd", "background", "pageSize$", "innerBodyCount$", "pagination$", "fixedPageSize"], outputs: ["onClickAdd", "onCurrentPageChange"] }, { kind: "component", type: CorePageHeaderComponent, selector: "core-page-header", inputs: ["instanceNumber", "shownItems", "title", "hideButtonGroup"], outputs: ["buttonClick"] }, { kind: "component", type: CoreCompositionComponent, selector: "core-composition", inputs: ["coreCompositionInstanceNumber", "top", "left", "leftWidth", "main", "height", "defaultResizeOff"] }, { kind: "component", type: CoreCommonParamKitComponent, selector: "core-common-param-kit", inputs: ["enableTimeZoneConverterForDateTimePeriodParameters", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "showOrgParam", "hideDatePeriodComparison", "hideStatusInclusion", "hideGeneralSearch", "statusOptions$"], outputs: ["onChange"] }, { kind: "component", type: CoreApiProgressComponent, selector: "core-api-progress", outputs: ["onClose"] }, { kind: "component", type: FullscreenModalLoaderComponent, selector: "app-fullscreen-modal-loader", inputs: ["content"] }] }); }
10502
+ ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "corePageListContainer", first: true, predicate: ["corePageListContainer"], descendants: true }, { propertyName: "paginationContainer", first: true, predicate: ["paginationContainer"], descendants: true }, { propertyName: "fileImport", first: true, predicate: ["fileImport"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-page-list-container\" #corePageListContainer [ngStyle]=\"{ height: height + 'px' }\">\r\n\r\n <core-page-header *ngIf=\"!!!hideHeader\" [instanceNumber]=\"corePageListInstanceNumber\" [title]=\"title\" (buttonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n [hideButtonGroup]=\"!!seekerMode || !!hideButtonGroup\"></core-page-header>\r\n\r\n <input #fileImport type=\"file\" name=\"name\"\r\n accept=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\"\r\n style=\"display: none;\" (change)='inputFile($event)' />\r\n\r\n <!--\r\n Khi \u0111\u00E3 t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao compositionHeight c\u1EE7a core-composition\r\n C\u1EA7n t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao coreTableHeight c\u1EE7a CoreTable\r\n N\u1EBFu ph\u1EA7n top c\u1EE7a composition c\u1ED1 \u0111\u1ECBnh (v\u00ED d\u1EE5 khi s\u1EED d\u1EE5ng CoreParamKit) th\u00EC ph\u00E9p tr\u1EEB \u0111\u01A1n gi\u1EA3n\r\n Nh\u01B0ng n\u1EBFu ph\u1EA7n top \u0111\u01B0\u1EE3c customize, ta ph\u1EA3i s\u1EED d\u1EE5ng extraManualOffset\r\n -->\r\n <core-composition \r\n [coreCompositionInstanceNumber]=\"corePageListInstanceNumber\" \r\n [top]=\"topPlace\" \r\n [left]=\"!!hideLeft? undefined :left\" \r\n [main]=\"coreTable\" \r\n [height]=\"compositionHeight\">\r\n </core-composition>\r\n\r\n <router-outlet name=\"corePageListAux\"></router-outlet>\r\n\r\n</div>\r\n\r\n<ng-template #topPlace>\r\n\r\n <ng-container *ngIf=\"!!showParamKit\">\r\n <core-common-param-kit \r\n [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [enableTimeZoneConverterForDateTimePeriodParameters]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\" [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\"\r\n [statusOptions$]=\"statusOptions$\"\r\n [showOrgParam]=\"showOrgParam\"\r\n [hideGeneralSearch]=\"hideGeneralSearch\"\r\n [hideDatePeriodComparison]=\"hideDatePeriodComparison\" \r\n [hideStatusInclusion]=\"hideStatusInclusion\"\r\n (onChange)=\"onParamKitValueChange($event)\"></core-common-param-kit>\r\n </ng-container>\r\n\r\n <ng-container *ngTemplateOutlet=\"top\">\r\n\r\n </ng-container>\r\n\r\n</ng-template>\r\n\r\n<ng-template #coreTable>\r\n\r\n <div [class.opacity0]=\"!!!geometricDone\">\r\n\r\n <!--\r\n Khi \u0111\u00E3 t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao compositionHeight c\u1EE7a core-composition\r\n C\u1EA7n t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao coreTableHeight c\u1EE7a CoreTable\r\n N\u1EBFu ph\u1EA7n top c\u1EE7a composition c\u1ED1 \u0111\u1ECBnh (v\u00ED d\u1EE5 khi s\u1EED d\u1EE5ng CoreParamKit) th\u00EC ph\u00E9p tr\u1EEB \u0111\u01A1n gi\u1EA3n\r\n Nh\u01B0ng n\u1EBFu ph\u1EA7n top \u0111\u01B0\u1EE3c customize, ta ph\u1EA3i s\u1EED d\u1EE5ng extraManualOffset\r\n\r\n C\u1EA7n t\u00EDnh tableHeight nh\u01B0 th\u1EBF n\u00E0o?\r\n -->\r\n <core-table #coreTableAlone width=\"100%\" [height]=\"tableHeight\" [rowHeight]=\"rowHeight || '46px'\" [wrap]=\"wrap\"\r\n [columns]=\"columns\" [data]=\"list\" [showCheckbox]=\"!!!hideCheck\" headerHeight=\"60px\" [showTools]=\"showListInlineTools\"\r\n [tools]=\"inlineTools\" (onToolClick)=\"onToolClick($event)\" (onRowClick)=\"onRowClick($event)\"\r\n (onRowDoubleClick)=\"onRowDoubleClick($event)\" (onSelectedIdsChange)=\"onSelectedIdsChange($event)\"\r\n (onSelectedDataChange)=\"onSelectedDataChange($event)\" [frozen]=\"frozen || 1\"\r\n (onSearching)=\"onSearching($event)\" (onColumnCaptionClick)=\"onColumnCaptionClick($event)\"\r\n [corePageListInstanceNumber]=\"corePageListInstanceNumber\" [loading]=\"loading\"\r\n [columnSearchDefaultOpen]=\"columnSearchDefaultOpen\" [lazyLoading]=\"true\"\r\n [headerWrap]=\"headerWrap\"\r\n [headerFirstRowHeight]=\"headerFirstRowHeight\"\r\n [noPaddingCell]=\"noPaddingCell\"\r\n [disableHighlightOnClick]=\"disableHighlightOnClick\"\r\n ></core-table>\r\n\r\n <div class=\"d-flex-end pagination-wrapper\" #paginationContainer>\r\n <core-pagination-full [height]=\"paginationHeight\" [currentPage$]=\"currentPage$\" [pageSize$]=\"pageSize$\"\r\n [pageCount]=\"pageCount\" [innerBodyCount$]=\"innerBodyCount$\" [pagination$]=\"pagination$\"\r\n [loading]=\"loading\" [fixedPageSize]=\"fixedPageSize\" [background]=\"'#848484'\"></core-pagination-full>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n</ng-template>\r\n\r\n<core-api-progress *ngIf=\"longApiRunning\" (onClose)=\"onProgressWindowClose($event)\"></core-api-progress>\r\n\r\n<app-fullscreen-modal-loader *ngIf=\"prefetchLoading\"></app-fullscreen-modal-loader>", styles: [".core-page-list-container{--height: auto;box-sizing:border-box!important;border:none!important;height:var(--height)}.core-page-list-container *{box-sizing:border-box}.core-page-list-container .column-caption{text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: CoreTableComponent, selector: "core-table", inputs: ["id", "width", "height", "showCheckbox", "checkboxSize", "outerButtons", "showTools", "tools", "checkingResetFlag", "borderRadius", "headerBackgroundColor", "headerWrap", "headerFirstRowHeight", "headerSecondRowHeight", "wrap", "allowCellScrollY", "loading", "rowHeight", "frozen", "footer", "columns", "data", "selectedIds", "corePageListInstanceNumber", "disableHighlightOnClick", "freeMode", "searchSwitchDisabled", "disableSorting", "inlineToolItems", "columnSearchDefaultOpen", "lazyLoading", "noPaddingCell"], outputs: ["onSearching", "onToolClick", "onRowClick", "onRowDoubleClick", "onSelectedIdsChange", "onSelectedDataChange", "onColumnCaptionClick"] }, { kind: "component", type: CorePaginationFullComponent, selector: "core-pagination-full", inputs: ["currentPage$", "height", "pageCount", "loading", "showAdd", "background", "pageSize$", "innerBodyCount$", "pagination$", "fixedPageSize"], outputs: ["onClickAdd", "onCurrentPageChange"] }, { kind: "component", type: CorePageHeaderComponent, selector: "core-page-header", inputs: ["instanceNumber", "shownItems", "title", "hideButtonGroup"], outputs: ["buttonClick"] }, { kind: "component", type: CoreCompositionComponent, selector: "core-composition", inputs: ["coreCompositionInstanceNumber", "top", "left", "leftWidth", "main", "height", "defaultResizeOff"] }, { kind: "component", type: CoreCommonParamKitComponent, selector: "core-common-param-kit", inputs: ["enableTimeZoneConverterForDateTimePeriodParameters", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "showOrgParam", "hideDatePeriodComparison", "hideStatusInclusion", "hideGeneralSearch", "statusOptions$"], outputs: ["onChange"] }, { kind: "component", type: CoreApiProgressComponent, selector: "core-api-progress", outputs: ["onClose"] }, { kind: "component", type: FullscreenModalLoaderComponent, selector: "app-fullscreen-modal-loader", inputs: ["content"] }] }); }
10504
10503
  }
10505
10504
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CorePageListComponent, decorators: [{
10506
10505
  type: Component,
@@ -10521,7 +10520,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
10521
10520
  useExisting: CorePageListComponent,
10522
10521
  },
10523
10522
  CorePageListState,
10524
- ], template: "<div #container class=\"core-page-list-container\" #corePageListContainer [ngStyle]=\"{ height: height + 'px' }\">\r\n\r\n <core-page-header *ngIf=\"!!!hideHeader\" [instanceNumber]=\"corePageListInstanceNumber\" [title]=\"title\" (buttonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n [hideButtonGroup]=\"!!seekerMode || !!hideButtonGroup\"></core-page-header>\r\n\r\n <input #fileImport type=\"file\" name=\"name\"\r\n accept=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\"\r\n style=\"display: none;\" (change)='inputFile($event)' />\r\n\r\n <!--\r\n Khi \u0111\u00E3 t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao compositionHeight c\u1EE7a core-composition\r\n C\u1EA7n t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao coreTableHeight c\u1EE7a CoreTable\r\n N\u1EBFu ph\u1EA7n top c\u1EE7a composition c\u1ED1 \u0111\u1ECBnh (v\u00ED d\u1EE5 khi s\u1EED d\u1EE5ng CoreParamKit) th\u00EC ph\u00E9p tr\u1EEB \u0111\u01A1n gi\u1EA3n\r\n Nh\u01B0ng n\u1EBFu ph\u1EA7n top \u0111\u01B0\u1EE3c customize, ta ph\u1EA3i s\u1EED d\u1EE5ng extraManualOffset\r\n -->\r\n <core-composition \r\n [coreCompositionInstanceNumber]=\"corePageListInstanceNumber\" \r\n [top]=\"topPlace\" \r\n [left]=\"!!hideLeft? undefined :left\" \r\n [main]=\"coreTable\" \r\n [height]=\"compositionHeight\">\r\n </core-composition>\r\n\r\n <router-outlet name=\"corePageListAux\"></router-outlet>\r\n\r\n</div>\r\n\r\n<ng-template #topPlace>\r\n\r\n <ng-container *ngIf=\"!!showParamKit\">\r\n <core-common-param-kit [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [enableTimeZoneConverterForDateTimePeriodParameters]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\" [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\"\r\n [statusOptions$]=\"statusOptions$\"\r\n [showOrgParam]=\"showOrgParam\"\r\n [hideGeneralSearch]=\"hideGeneralSearch\"\r\n [hideDatePeriodComparison]=\"hideDatePeriodComparison\" \r\n [hideStatusInclusion]=\"hideStatusInclusion\"\r\n (onChange)=\"onParamKitValueChange($event)\"></core-common-param-kit>\r\n </ng-container>\r\n\r\n <ng-container *ngTemplateOutlet=\"top\">\r\n\r\n </ng-container>\r\n\r\n</ng-template>\r\n\r\n<ng-template #coreTable>\r\n\r\n <div [class.opacity0]=\"!!!geometricDone\">\r\n\r\n <!--\r\n Khi \u0111\u00E3 t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao compositionHeight c\u1EE7a core-composition\r\n C\u1EA7n t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao coreTableHeight c\u1EE7a CoreTable\r\n N\u1EBFu ph\u1EA7n top c\u1EE7a composition c\u1ED1 \u0111\u1ECBnh (v\u00ED d\u1EE5 khi s\u1EED d\u1EE5ng CoreParamKit) th\u00EC ph\u00E9p tr\u1EEB \u0111\u01A1n gi\u1EA3n\r\n Nh\u01B0ng n\u1EBFu ph\u1EA7n top \u0111\u01B0\u1EE3c customize, ta ph\u1EA3i s\u1EED d\u1EE5ng extraManualOffset\r\n\r\n C\u1EA7n t\u00EDnh tableHeight nh\u01B0 th\u1EBF n\u00E0o?\r\n -->\r\n <core-table #coreTableAlone width=\"100%\" [height]=\"tableHeight\" [rowHeight]=\"rowHeight || '46px'\" [wrap]=\"wrap\"\r\n [columns]=\"columns\" [data]=\"list\" [showCheckbox]=\"!!!hideCheck\" headerHeight=\"60px\" [showTools]=\"showListInlineTools\"\r\n [tools]=\"inlineTools\" (onToolClick)=\"onToolClick($event)\" (onRowClick)=\"onRowClick($event)\"\r\n (onRowDoubleClick)=\"onRowDoubleClick($event)\" (onSelectedIdsChange)=\"onSelectedIdsChange($event)\"\r\n (onSelectedDataChange)=\"onSelectedDataChange($event)\" [frozen]=\"frozen || 1\"\r\n (onSearching)=\"onSearching($event)\" (onColumnCaptionClick)=\"onColumnCaptionClick($event)\"\r\n [corePageListInstanceNumber]=\"corePageListInstanceNumber\" [loading]=\"loading\"\r\n [columnSearchDefaultOpen]=\"columnSearchDefaultOpen\" [lazyLoading]=\"true\"\r\n [headerWrap]=\"headerWrap\"\r\n [headerFirstRowHeight]=\"headerFirstRowHeight\"\r\n [noPaddingCell]=\"noPaddingCell\"\r\n [disableHighlightOnClick]=\"disableHighlightOnClick\"\r\n ></core-table>\r\n\r\n <div class=\"d-flex-end pagination-wrapper\" #paginationContainer>\r\n <core-pagination-full [height]=\"paginationHeight\" [currentPage$]=\"currentPage$\" [pageSize$]=\"pageSize$\"\r\n [pageCount]=\"pageCount\" [innerBodyCount$]=\"innerBodyCount$\" [pagination$]=\"pagination$\"\r\n [loading]=\"loading\" [fixedPageSize]=\"fixedPageSize\" [background]=\"'#848484'\"></core-pagination-full>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n</ng-template>\r\n\r\n<core-api-progress *ngIf=\"longApiRunning\" (onClose)=\"onProgressWindowClose($event)\"></core-api-progress>\r\n\r\n<app-fullscreen-modal-loader *ngIf=\"prefetchLoading\"></app-fullscreen-modal-loader>", styles: [".core-page-list-container{--height: auto;box-sizing:border-box!important;border:none!important;height:var(--height)}.core-page-list-container *{box-sizing:border-box}.core-page-list-container .column-caption{text-align:center}\n"] }]
10523
+ ], template: "<div #container class=\"core-page-list-container\" #corePageListContainer [ngStyle]=\"{ height: height + 'px' }\">\r\n\r\n <core-page-header *ngIf=\"!!!hideHeader\" [instanceNumber]=\"corePageListInstanceNumber\" [title]=\"title\" (buttonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n [hideButtonGroup]=\"!!seekerMode || !!hideButtonGroup\"></core-page-header>\r\n\r\n <input #fileImport type=\"file\" name=\"name\"\r\n accept=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\"\r\n style=\"display: none;\" (change)='inputFile($event)' />\r\n\r\n <!--\r\n Khi \u0111\u00E3 t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao compositionHeight c\u1EE7a core-composition\r\n C\u1EA7n t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao coreTableHeight c\u1EE7a CoreTable\r\n N\u1EBFu ph\u1EA7n top c\u1EE7a composition c\u1ED1 \u0111\u1ECBnh (v\u00ED d\u1EE5 khi s\u1EED d\u1EE5ng CoreParamKit) th\u00EC ph\u00E9p tr\u1EEB \u0111\u01A1n gi\u1EA3n\r\n Nh\u01B0ng n\u1EBFu ph\u1EA7n top \u0111\u01B0\u1EE3c customize, ta ph\u1EA3i s\u1EED d\u1EE5ng extraManualOffset\r\n -->\r\n <core-composition \r\n [coreCompositionInstanceNumber]=\"corePageListInstanceNumber\" \r\n [top]=\"topPlace\" \r\n [left]=\"!!hideLeft? undefined :left\" \r\n [main]=\"coreTable\" \r\n [height]=\"compositionHeight\">\r\n </core-composition>\r\n\r\n <router-outlet name=\"corePageListAux\"></router-outlet>\r\n\r\n</div>\r\n\r\n<ng-template #topPlace>\r\n\r\n <ng-container *ngIf=\"!!showParamKit\">\r\n <core-common-param-kit \r\n [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [enableTimeZoneConverterForDateTimePeriodParameters]=\"enableTimeZoneConverterForDateTimePeriodParameters\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\" [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\"\r\n [statusOptions$]=\"statusOptions$\"\r\n [showOrgParam]=\"showOrgParam\"\r\n [hideGeneralSearch]=\"hideGeneralSearch\"\r\n [hideDatePeriodComparison]=\"hideDatePeriodComparison\" \r\n [hideStatusInclusion]=\"hideStatusInclusion\"\r\n (onChange)=\"onParamKitValueChange($event)\"></core-common-param-kit>\r\n </ng-container>\r\n\r\n <ng-container *ngTemplateOutlet=\"top\">\r\n\r\n </ng-container>\r\n\r\n</ng-template>\r\n\r\n<ng-template #coreTable>\r\n\r\n <div [class.opacity0]=\"!!!geometricDone\">\r\n\r\n <!--\r\n Khi \u0111\u00E3 t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao compositionHeight c\u1EE7a core-composition\r\n C\u1EA7n t\u00EDnh \u0111\u01B0\u1EE3c ch\u00EDnh x\u00E1c chi\u1EC1u cao coreTableHeight c\u1EE7a CoreTable\r\n N\u1EBFu ph\u1EA7n top c\u1EE7a composition c\u1ED1 \u0111\u1ECBnh (v\u00ED d\u1EE5 khi s\u1EED d\u1EE5ng CoreParamKit) th\u00EC ph\u00E9p tr\u1EEB \u0111\u01A1n gi\u1EA3n\r\n Nh\u01B0ng n\u1EBFu ph\u1EA7n top \u0111\u01B0\u1EE3c customize, ta ph\u1EA3i s\u1EED d\u1EE5ng extraManualOffset\r\n\r\n C\u1EA7n t\u00EDnh tableHeight nh\u01B0 th\u1EBF n\u00E0o?\r\n -->\r\n <core-table #coreTableAlone width=\"100%\" [height]=\"tableHeight\" [rowHeight]=\"rowHeight || '46px'\" [wrap]=\"wrap\"\r\n [columns]=\"columns\" [data]=\"list\" [showCheckbox]=\"!!!hideCheck\" headerHeight=\"60px\" [showTools]=\"showListInlineTools\"\r\n [tools]=\"inlineTools\" (onToolClick)=\"onToolClick($event)\" (onRowClick)=\"onRowClick($event)\"\r\n (onRowDoubleClick)=\"onRowDoubleClick($event)\" (onSelectedIdsChange)=\"onSelectedIdsChange($event)\"\r\n (onSelectedDataChange)=\"onSelectedDataChange($event)\" [frozen]=\"frozen || 1\"\r\n (onSearching)=\"onSearching($event)\" (onColumnCaptionClick)=\"onColumnCaptionClick($event)\"\r\n [corePageListInstanceNumber]=\"corePageListInstanceNumber\" [loading]=\"loading\"\r\n [columnSearchDefaultOpen]=\"columnSearchDefaultOpen\" [lazyLoading]=\"true\"\r\n [headerWrap]=\"headerWrap\"\r\n [headerFirstRowHeight]=\"headerFirstRowHeight\"\r\n [noPaddingCell]=\"noPaddingCell\"\r\n [disableHighlightOnClick]=\"disableHighlightOnClick\"\r\n ></core-table>\r\n\r\n <div class=\"d-flex-end pagination-wrapper\" #paginationContainer>\r\n <core-pagination-full [height]=\"paginationHeight\" [currentPage$]=\"currentPage$\" [pageSize$]=\"pageSize$\"\r\n [pageCount]=\"pageCount\" [innerBodyCount$]=\"innerBodyCount$\" [pagination$]=\"pagination$\"\r\n [loading]=\"loading\" [fixedPageSize]=\"fixedPageSize\" [background]=\"'#848484'\"></core-pagination-full>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n</ng-template>\r\n\r\n<core-api-progress *ngIf=\"longApiRunning\" (onClose)=\"onProgressWindowClose($event)\"></core-api-progress>\r\n\r\n<app-fullscreen-modal-loader *ngIf=\"prefetchLoading\"></app-fullscreen-modal-loader>", styles: [".core-page-list-container{--height: auto;box-sizing:border-box!important;border:none!important;height:var(--height)}.core-page-list-container *{box-sizing:border-box}.core-page-list-container .column-caption{text-align:center}\n"] }]
10525
10524
  }], ctorParameters: () => [{ type: CorePageListService }, { type: CorePageListState }, { type: CorePageEditService }, { type: i1$2.Router }, { type: i1$2.ActivatedRoute }, { type: MultiLanguageService }, { type: AlertService }, { type: AuthService }, { type: AppService }, { type: DialogService }, { type: RoutingService }, { type: LongTaskService }, { type: LayoutService }, { type: CoreCompositionService }, { type: CoreButtonGroupService }, { type: JsonService }], propDecorators: { normalMode: [{
10526
10525
  type: Input
10527
10526
  }], hideHeader: [{
@@ -11297,6 +11296,7 @@ class StaffProfileComponent extends BaseComponent {
11297
11296
  this.avatar;
11298
11297
  }
11299
11298
  onOrgIdsChange(orgIds) {
11299
+ console.log("STAFFPROFILE onOrgIdsChange", orgIds);
11300
11300
  this.orgIds = orgIds;
11301
11301
  this.outerInOperators = [
11302
11302
  {