nuxeo-development-framework 5.6.6 → 5.6.8

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.
Files changed (17) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +35 -14
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +13 -9
  4. package/esm2015/lib/components/ndf-config-editor/containers/ndf-config-editor/ndf-config-editor.component.js +6 -1
  5. package/esm2015/lib/components/ndf-filters/base/base-checkbox-radio.component.js +2 -1
  6. package/esm2015/lib/components/ndf-filters/components/aggregation-checkbox/aggregation-checkbox.component.js +2 -2
  7. package/esm2015/lib/components/ndf-filters/custom-components/aggregation-group/aggregation-group.component.js +12 -2
  8. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +3 -3
  9. package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +1 -1
  10. package/esm2015/lib/shared/components/nuxeo-dialog/models/dialog-option.model.js +1 -1
  11. package/esm2015/lib/shared/components/nuxeo-dialog/services/nuxeo-dialog.service.js +3 -2
  12. package/fesm2015/nuxeo-development-framework.js +34 -13
  13. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  14. package/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.d.ts +1 -0
  15. package/lib/components/ndf-filters/custom-components/aggregation-group/aggregation-group.component.d.ts +1 -0
  16. package/lib/shared/components/nuxeo-dialog/models/dialog-option.model.d.ts +1 -0
  17. package/package.json +1 -1
@@ -287,11 +287,11 @@ export class NdfReportsComponent extends DestroySubject {
287
287
  const value = _.cloneDeep(config);
288
288
  this._checkConfigChange(value);
289
289
  this._configSubject.next(value);
290
- if (value === null || value === void 0 ? void 0 : value.activeQuery) {
290
+ if ((value === null || value === void 0 ? void 0 : value.activeQuery) && !!Object.keys(value === null || value === void 0 ? void 0 : value.activeQuery).length) {
291
291
  this._updateActiveQuery(value === null || value === void 0 ? void 0 : value.activeQuery);
292
292
  this._filtersCriteriaSubject.next(this._prepareMappedQuery(value === null || value === void 0 ? void 0 : value.activeQuery, this.filtersConfig.mode));
293
293
  }
294
- else if (!!Object.keys(this.activeQuery).length) {
294
+ else if (!this.activeQuery || Object.keys(this.activeQuery).length == 0) {
295
295
  this._resetQueryAndFiltersCriteria();
296
296
  }
297
297
  this.isPanelOpened = false;
@@ -331,4 +331,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
331
331
  }], onQueryChange: [{
332
332
  type: Output
333
333
  }] } });
334
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXJlcG9ydHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbnRhaW5lcnMvbmRmLXJlcG9ydHMvbmRmLXJlcG9ydHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbnRhaW5lcnMvbmRmLXJlcG9ydHMvbmRmLXJlcG9ydHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWtCLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpHLE9BQU8sRUFFTixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFLTCxNQUFNLEVBRU4sU0FBUyxFQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBbUJ4RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztB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LENBQUMsY0FBYyxDQUFDOzRGQUVoQixtQkFBbUI7a0JBVi9CLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7b0JBQzNDLElBQUksRUFBRTt3QkFDTCxLQUFLLEVBQUUsYUFBYTt3QkFDcEIsT0FBTyxFQUFFLFdBQVc7cUJBQ3BCO29CQUNELFVBQVUsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDNUI7dWFBRWlDLGNBQWM7c0JBQTlDLFNBQVM7dUJBQUMsb0JBQW9CO2dCQXdDdEIsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFLTyxNQUFNO3NCQUFsQixLQUFLO2dCQVFJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBBbmltYXRpb25FdmVudCwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHtcclxuXHRDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRDb21wb25lbnQsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdElucHV0LFxyXG5cdE5nWm9uZSxcclxuXHRPbkNoYW5nZXMsXHJcblx0T25EZXN0cm95LFxyXG5cdE9uSW5pdCxcclxuXHRPdXRwdXQsXHJcblx0U2ltcGxlQ2hhbmdlcyxcclxuXHRWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBEZXN0cm95U3ViamVjdCwgRmx1aWRIZWlnaHREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZvcmtKb2luLCBmcm9tRXZlbnQsIE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGZpbmFsaXplLCBtYXAsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBBcGlSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBOZGZUYWJsZUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL3RhYmxlcyc7XHJcbmltcG9ydCB7XHJcblx0QWdncmVnYXRpb25SZXNwb25zZSxcclxuXHRGaWVsZENvbmZpZ01vZGVsLFxyXG5cdEZpbHRlclF1ZXJ5U2VydmljZSxcclxuXHRGaWx0ZXJzTWFwcGVyU2VydmljZSxcclxuXHRGb3JtUXVlcnlNb2RlbFxyXG59IGZyb20gJy4uLy4uLy4uLy4uL25kZi1maWx0ZXJzJztcclxuaW1wb3J0IHsgQ3JpdGVyaWFNb2RlbCwgTmRmUmVwb3J0c0NvbmZpZywgUmVwb3J0Q29uZmlnTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQge1xyXG5cdENoYXJ0TWFuYWdlclNlcnZpY2UsXHJcblx0TmRmUmVwb3J0c1NlcnZpY2UsXHJcblx0UmVwb3J0Q29uZmlndXJhdGlvblNlcnZpY2UsXHJcblx0UmVwb3J0c1N0YXRlU2VydmljZSxcclxuXHRSZXBvcnRUcmFuc2Zvcm1TZXJ2aWNlXHJcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBtYXBUb05kZlRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgTkRGX0VESVRPUl9UWVBFIH0gZnJvbSAnLi4vLi4vLi4vLi4vbmRmLWNvbmZpZy1lZGl0b3IvY29uc3RhbnRzJztcclxuXHJcbmV4cG9ydCBjb25zdCBzbGlkZUFuaW1hdGlvbiA9IHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXHJcblx0c3RhdGUoJ2Nsb3NlZCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCh2YXIoLS1uZGYtcmVwb3J0cy1kZXRhaWxzLXRyYW5zbGF0ZVgsIC0xMDAlKSknIH0pKSxcclxuXHRzdGF0ZSgnb3BlbicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScgfSkpLFxyXG5cdHRyYW5zaXRpb24oJ2Nsb3NlZCA8PT4gb3BlbicsIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0JykpXHJcbl0pO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtbmRmLXJlcG9ydHMnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9uZGYtcmVwb3J0cy5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vbmRmLXJlcG9ydHMuY29tcG9uZW50LnNjc3MnXSxcclxuXHRob3N0OiB7XHJcblx0XHRjbGFzczogJ25kZi1yZXBvcnRzJyxcclxuXHRcdCdbZGlyXSc6ICdkaXJlY3Rpb24nXHJcblx0fSxcclxuXHRhbmltYXRpb25zOiBbc2xpZGVBbmltYXRpb25dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZGZSZXBvcnRzQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJveVN1YmplY3QgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuXHRAVmlld0NoaWxkKEZsdWlkSGVpZ2h0RGlyZWN0aXZlKSBmbHVpZERpcmVjdGl2ZTogRmx1aWRIZWlnaHREaXJlY3RpdmU7XHJcblx0X2lzSGVpZ2h0VXBkYXRlZCA9IGZhbHNlO1xyXG5cdGRpcmVjdGlvbjogRGlyZWN0aW9uID0gJ3J0bCc7XHJcblx0aXNQYW5lbE9wZW5lZCA9IGZhbHNlO1xyXG5cdGlzTG9hZGluZ1Jlc3VsdCA9IGZhbHNlO1xyXG5cdHJlcG9ydHNEYXRhJDogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cdGlzRXhwYW5kZWQgPSBmYWxzZTtcclxuXHJcblx0YWN0aXZlUXVlcnk6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcclxuXHRwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVGaWx0ZXJzUXVlcnlTdWIgPSBuZXcgUmVwbGF5U3ViamVjdDxGb3JtUXVlcnlNb2RlbD4oKTtcclxuXHRyZWFkb25seSBhY3RpdmVGaWx0ZXJzUXVlcnkkID0gdGhpcy5fYWN0aXZlRmlsdGVyc1F1ZXJ5U3ViLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcml2YXRlIHJlYWRvbmx5IF9jb25maWdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZGZSZXBvcnRzQ29uZmlnPihudWxsKTtcclxuXHRyZWFkb25seSByZXBvcnRDb25maWckID0gdGhpcy5fY29uZmlnU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0cHJpdmF0ZSByZWFkb25seSBfZmlsdGVyc0NyaXRlcmlhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q3JpdGVyaWFNb2RlbD4obnVsbCk7XHJcblx0cmVhZG9ubHkgZmlsdGVyc1BhcmFtcyQgPSB0aGlzLl9maWx0ZXJzQ3JpdGVyaWFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcml2YXRlIF9yZXBvcnREZXRhaWxzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8e1xyXG5cdFx0bGFiZWw/OiBzdHJpbmc7XHJcblx0XHRjb25maWc6IE5kZlRhYmxlQ29uZmlnO1xyXG5cdH0+KG51bGwpO1xyXG5cdHJlcG9ydERldGFpbHMkID0gdGhpcy5fcmVwb3J0RGV0YWlsc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdGFnZ3JlZ2F0aW9uczogUmVjb3JkPHN0cmluZywgQWdncmVnYXRpb25SZXNwb25zZT47XHJcblxyXG5cdGdldCBzaG93RGV0YWlscygpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiAhIXRoaXMuX3JlcG9ydERldGFpbHNTdWJqZWN0LmdldFZhbHVlKCk7XHJcblx0fVxyXG5cclxuXHRpc0RldGFpbHNPcGVuZWQgPSBmYWxzZTtcclxuXHJcblx0Z2V0IGZpbHRlcnNDb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5jb25maWc/LmZpbHRlcnM7XHJcblx0fVxyXG5cclxuXHRnZXQgcmVwb3J0Q29uZmlnKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuY29uZmlnPy5yZXBvcnRzO1xyXG5cdH1cclxuXHJcblx0QElucHV0KCkganNvbkVkaXRvckVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSByZXBvcnRzS2V5OiBzdHJpbmc7XHJcblx0ZWRpdG9yVHlwZSA9IE5ERl9FRElUT1JfVFlQRS5SRVBPUlRTO1xyXG5cclxuXHRASW5wdXQoKSBuYXZpZ2F0ZVJvdXRlOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuXHRwcml2YXRlIF9pc0NvbmZpZ0NoYW5nZWQgPSBmYWxzZTtcclxuXHJcblx0cHJpdmF0ZSBfY29uZmlnOiBOZGZSZXBvcnRzQ29uZmlnO1xyXG5cdEBJbnB1dCgpIHNldCBjb25maWcoY29uZmlnOiBOZGZSZXBvcnRzQ29uZmlnKSB7XHJcblx0XHR0aGlzLl9jb25maWcgPSBjb25maWc7XHJcblx0fVxyXG5cclxuXHRnZXQgY29uZmlnKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NvbmZpZ1N1YmplY3QuZ2V0VmFsdWUoKTtcclxuXHR9XHJcblxyXG5cdEBPdXRwdXQoKSBvblF1ZXJ5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHR0cmFja0J5Rm4gPSAoXzogbnVtYmVyLCByZXBvcnQ6IFJlcG9ydENvbmZpZ01vZGVsKSA9PiB7XHJcblx0XHRyZXR1cm4gcmVwb3J0LmlkO1xyXG5cdH07XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuXHRcdHByaXZhdGUgX2ZpbHRlcnNNYXBwZXI6IEZpbHRlcnNNYXBwZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfbmRmUmVwb3J0c1NlcnZpY2U6IE5kZlJlcG9ydHNTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfY2hhcnRIZWxwZXJTZXJ2aWNlOiBDaGFydE1hbmFnZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfdHJhbnNmb3JtU2VydmljZTogUmVwb3J0VHJhbnNmb3JtU2VydmljZSxcclxuXHRcdHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0XHRwcml2YXRlIF9maWx0ZXJRdWVyeVNlcnZpY2U6IEZpbHRlclF1ZXJ5U2VydmljZSxcclxuXHRcdHByaXZhdGUgX3N0YXRlU2VydmljZTogUmVwb3J0c1N0YXRlU2VydmljZSxcclxuXHRcdHByaXZhdGUgX2NvbmZpZ3VyYXRpb25TZXJ2aWNlOiBSZXBvcnRDb25maWd1cmF0aW9uU2VydmljZSxcclxuXHRcdHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxyXG5cdFx0cHJpdmF0ZSBfbmdab25lOiBOZ1pvbmVcclxuXHQpIHtcclxuXHRcdHN1cGVyKCk7XHJcblx0XHR0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0dGhpcy5kaXJlY3Rpb24gPSByZXMubGFuZyA9PT0gJ2FyJyA/ICdydGwnIDogJ2x0cic7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5yZXBvcnRzRGF0YSQgPSB0aGlzLl9wcmVwYXJlUmVwb3J0cygpO1xyXG5cdFx0dGhpcy5faGFuZGxlS2V5Ym9hcmRFdmVudCgpO1xyXG5cdH1cclxuXHJcblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG5cdFx0Y29uc3QgcmVwb3J0c0tleSA9IGNoYW5nZXMucmVwb3J0c0tleT8uY3VycmVudFZhbHVlO1xyXG5cdFx0Y29uc3QgY29uZmlnID0gY2hhbmdlcy5jb25maWc/LmN1cnJlbnRWYWx1ZTtcclxuXHJcblx0XHRpZiAocmVwb3J0c0tleSAmJiBjb25maWcpIHtcclxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdZb3UgY2Fubm90IHNldCBib3RoIHJlcG9ydHNLZXkgYW5kIHJlcG9ydHMgQ29uZmlnIGF0IHRoZSBzYW1lIHRpbWUuJyk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKGNvbmZpZykge1xyXG5cdFx0XHR0aGlzLl9pbml0UmVwb3J0c0NvbmZpZyhjb25maWcpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChyZXBvcnRzS2V5KSB7XHJcblx0XHRcdHRoaXMuX2xvYWRSZXBvcnRzQ29uZmlnKHJlcG9ydHNLZXkpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b25OYXZpZ2F0ZShkYXRhOiB7IHJlcG9ydDogUmVjb3JkPHN0cmluZywgYW55PjsgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PiB9KSB7XHJcblx0XHRjb25zdCByZXBvcnQgPSBkYXRhPy5yZXBvcnQ7XHJcblx0XHRjb25zdCBfY3VzdG9tUm91dGUgPSByZXBvcnQubmF2aWdhdGU/LnJvdXRlIHx8IFtdO1xyXG5cdFx0Ly8gbGV0IHJvdXRlID0gW1JNU19CQVNFLnJlcGxhY2UoL1xcLyQvLCAnJyldO1xyXG5cdFx0bGV0IHJvdXRlID0gdGhpcy5uYXZpZ2F0ZVJvdXRlO1xyXG5cdFx0aWYgKCEhX2N1c3RvbVJvdXRlLmxlbmd0aCkge1xyXG5cdFx0XHRyb3V0ZSA9IFsuLi5yb3V0ZSwgLi4uX2N1c3RvbVJvdXRlXTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBxdWVyeVBhcmFtcyA9IHt9O1xyXG5cdFx0aWYgKHJlcG9ydC5uYXZpZ2F0ZT8uaW5jbHVkZVBhcmFtcyA/PyB0cnVlKSB7XHJcblx0XHRcdGlmIChPYmplY3Qua2V5cyh0aGlzLmFjdGl2ZVF1ZXJ5IHx8IHt9KS5sZW5ndGgpIHtcclxuXHRcdFx0XHRjb25zdCBkYXRhID0gdGhpcy5fZmlsdGVyUXVlcnlTZXJ2aWNlLmVuY29kZVF1ZXJ5KHRoaXMuYWN0aXZlUXVlcnkpO1xyXG5cdFx0XHRcdGlmIChkYXRhKSB7XHJcblx0XHRcdFx0XHRxdWVyeVBhcmFtc1snZmlsdGVycyddID0gZGF0YTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLl9yb3V0ZXIubmF2aWdhdGUocm91dGUsIHsgcXVlcnlQYXJhbXM6IHF1ZXJ5UGFyYW1zIH0pLnRoZW4oKCkgPT4ge30pO1xyXG5cdH1cclxuXHJcblx0dG9nZ2xlUGFuZWwoKSB7XHJcblx0XHR0aGlzLmlzUGFuZWxPcGVuZWQgPSAhdGhpcy5pc1BhbmVsT3BlbmVkO1xyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdHRoaXMuX2NoYXJ0SGVscGVyU2VydmljZS5yZXNpemVDaGFydHMoKTtcclxuXHRcdH0sIDUwMCk7XHJcblx0fVxyXG5cclxuXHRwcmludEFsbCgpIHtcclxuXHRcdHdpbmRvdy5wcmludCgpO1xyXG5cdH1cclxuXHJcblx0ZmlsdGVyQ2hhbmdlZChjcml0ZXJpYTogUmVjb3JkPGFueSwgYW55Pikge1xyXG5cdFx0aWYgKF8uaXNFcXVhbCh0aGlzLmFjdGl2ZVF1ZXJ5LCBjcml0ZXJpYSkpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5vblF1ZXJ5Q2hhbmdlLmVtaXQoY3JpdGVyaWEpO1xyXG5cdFx0dGhpcy5fdXBkYXRlQWN0aXZlUXVlcnkoY3JpdGVyaWEpO1xyXG5cdFx0Y29uc3QgX2RhdGUgPSB0aGlzLl9wcmVwYXJlTWFwcGVkUXVlcnkoY3JpdGVyaWEsIHRoaXMuZmlsdGVyc0NvbmZpZy5tb2RlKTtcclxuXHRcdHRoaXMuX2ZpbHRlcnNDcml0ZXJpYVN1YmplY3QubmV4dChfZGF0ZSk7XHJcblx0fVxyXG5cclxuXHRvbkNvbnRlbnRTY3JvbGwoaXNTY3JvbGxpbmc6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHRcdHRoaXMuX3N0YXRlU2VydmljZS5vbkNvbnRlbnRTY3JvbGwoaXNTY3JvbGxpbmcpO1xyXG5cclxuXHRcdGlmIChpc1Njcm9sbGluZyAmJiAhdGhpcy5faXNIZWlnaHRVcGRhdGVkKSB7XHJcblx0XHRcdHRoaXMuX2lzSGVpZ2h0VXBkYXRlZCA9IHRydWU7XHJcblx0XHRcdHRoaXMuZmx1aWREaXJlY3RpdmUuc2NoZWR1bGVTZXRIZWlnaHQoMTAwKTtcclxuXHRcdH0gZWxzZSBpZiAoIWlzU2Nyb2xsaW5nICYmIHRoaXMuX2lzSGVpZ2h0VXBkYXRlZCkge1xyXG5cdFx0XHR0aGlzLl9pc0hlaWdodFVwZGF0ZWQgPSBmYWxzZTtcclxuXHRcdFx0dGhpcy5mbHVpZERpcmVjdGl2ZS5zY2hlZHVsZVNldEhlaWdodCgxMDApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b3BlblJlcG9ydERldGFpbHMoY3JpdGVyaWFNb2RlbDogQ3JpdGVyaWFNb2RlbCwgcmVwb3J0Q29uZmlnOiBSZXBvcnRDb25maWdNb2RlbCkge1xyXG5cdFx0aWYgKCFyZXBvcnRDb25maWc/LmRldGFpbHM/LmVuYWJsZWQpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHNvdXJjZSA9IHJlcG9ydENvbmZpZz8uZGV0YWlscz8uc291cmNlO1xyXG5cdFx0Y29uc3QgY29uZmlnJCA9XHJcblx0XHRcdHNvdXJjZSAmJiB0eXBlb2Ygc291cmNlID09PSAnc3RyaW5nJ1xyXG5cdFx0XHRcdD8gdGhpcy5fY29uZmlndXJhdGlvblNlcnZpY2UuZ2V0VGFibGVDb25maWd1cmF0aW9uKHNvdXJjZSkucGlwZShcclxuXHRcdFx0XHRcdFx0bWFwKChjb25maWcpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gXy5tZXJnZShjb25maWcsIHtcclxuXHRcdFx0XHRcdFx0XHRcdG9wdGlvbnM6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZmlsdGVyczoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1vZGU6ICdwYXlsb2FkJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRmaWVsZHM6IFtdLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhbmVsOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2aXNpYmxlOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRvZ2dsZUJ1dHRvbjogZmFsc2VcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdClcclxuXHRcdFx0XHQ6IG9mKG1hcFRvTmRmVGFibGVDb25maWcodGhpcy5jb25maWcsIHJlcG9ydENvbmZpZy5kZXRhaWxzKSk7XHJcblxyXG5cdFx0Y29uZmlnJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChjb25maWcpID0+IHtcclxuXHRcdFx0dGhpcy5fcmVwb3J0RGV0YWlsc1N1YmplY3QubmV4dCh7XHJcblx0XHRcdFx0Y29uZmlnLFxyXG5cdFx0XHRcdGxhYmVsOiByZXBvcnRDb25maWcubGFiZWxcclxuXHRcdFx0fSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGNsb3NlRGV0YWlsc1BhbmVsKCkge1xyXG5cdFx0dGhpcy5fcmVwb3J0RGV0YWlsc1N1YmplY3QubmV4dChudWxsKTtcclxuXHR9XHJcblxyXG5cdG9uRGV0YWlsc0FuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcclxuXHRcdHRoaXMuaXNEZXRhaWxzT3BlbmVkID0gZXZlbnQudG9TdGF0ZSA9PT0gJ29wZW4nO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblx0XHRzdXBlci5uZ09uRGVzdHJveSgpO1xyXG5cdFx0dGhpcy5fY2hhcnRIZWxwZXJTZXJ2aWNlLmRlc3Ryb3lBbGwoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgcHJlcGFyZUNyaXRlcmlhUGF5bG9hZChjcml0ZXJpYTogUmVjb3JkPGFueSwgYW55PiwgZmllbGRzOiBGaWVsZENvbmZpZ01vZGVsW10gPSB0aGlzLmZpbHRlcnNDb25maWcuZmllbGRzKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fZmlsdGVyc01hcHBlci5wcmVwYXJlUGF5bG9hZChmaWVsZHMsIGNyaXRlcmlhKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3N0cmluZ2lmeVZhbHVlcyhjcml0ZXJpYTogUmVjb3JkPHN0cmluZywgYW55Pikge1xyXG5cdFx0cmV0dXJuIE9iamVjdC5lbnRyaWVzKGNyaXRlcmlhKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XHJcblx0XHRcdGFjY1trZXldID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyBKU09OLnN0cmluZ2lmeSh2YWx1ZSkgOiB2YWx1ZTtcclxuXHRcdFx0cmV0dXJuIGFjYztcclxuXHRcdH0sIHt9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVSZXBvcnRzKCkge1xyXG5cdFx0dGhpcy5pc0xvYWRpbmdSZXN1bHQgPSB0cnVlO1xyXG5cdFx0cmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xyXG5cdFx0XHR0aGlzLmZpbHRlcnNQYXJhbXMkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IF8uaXNFcXVhbChhLCBiKSkpLFxyXG5cdFx0XHR0aGlzLnJlcG9ydENvbmZpZyRcclxuXHRcdF0pLnBpcGUoXHJcblx0XHRcdHRhcCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5pc0xvYWRpbmdSZXN1bHQgPSB0cnVlO1xyXG5cdFx0XHRcdHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRzd2l0Y2hNYXAoKFtjcml0ZXJpYSwgY29uZmlnXSkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHJlcXVlc3QgPSBjb25maWc/LnJlcXVlc3Q7XHJcblx0XHRcdFx0aWYgKCFyZXF1ZXN0KSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gb2YobnVsbCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCBfcGF5bG9hZCA9IGNyaXRlcmlhO1xyXG5cdFx0XHRcdGlmICghY3JpdGVyaWEgJiYgISFjb25maWcuYWN0aXZlUXVlcnkpIHtcclxuXHRcdFx0XHRcdF9wYXlsb2FkID0gdGhpcy5wcmVwYXJlQ3JpdGVyaWFQYXlsb2FkKGNvbmZpZy5hY3RpdmVRdWVyeSk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRjb25zdCBkYXRhJCA9IHRoaXMuX25kZlJlcG9ydHNTZXJ2aWNlLmdldERhdGEocmVxdWVzdCwgX3BheWxvYWQpLnBpcGUoXHJcblx0XHRcdFx0XHRzd2l0Y2hNYXAoKHJlcG9ydHM6IEFwaVJlc3BvbnNlTW9kZWwpID0+IHtcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuX3RyYW5zZm9ybVNlcnZpY2UucHJlcGFyZURhdGEocmVwb3J0cywgY29uZmlnKTtcclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmlzTG9hZGluZ1Jlc3VsdCA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHRyZXR1cm4gZm9ya0pvaW4oW29mKGNvbmZpZyksIGRhdGEkXSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRtYXAoKFtjb25maWcsIHJlc3BvbnNlXSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX3ByZXBhcmVBZ2dyZWdhdGlvbnMocmVzcG9uc2U/LmFnZ3JlZ2F0aW9ucyk7XHJcblx0XHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRcdGNvbmZpZyxcclxuXHRcdFx0XHRcdHJlc3BvbnNlXHJcblx0XHRcdFx0fTtcclxuXHRcdFx0fSlcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9oYW5kbGVLZXlib2FyZEV2ZW50KCkge1xyXG5cdFx0dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuXHRcdFx0ZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGRvY3VtZW50LCAna2V5ZG93bicpXHJcblx0XHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0XHRmaWx0ZXIoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBldmVudC5rZXkgPT09ICdFc2NhcGUnICYmIHRoaXMuc2hvd0RldGFpbHMpLFxyXG5cdFx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcblx0XHRcdFx0KVxyXG5cdFx0XHRcdC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5jbG9zZURldGFpbHNQYW5lbCgpO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9wcmVwYXJlTWFwcGVkUXVlcnkoY3JpdGVyaWE6IFJlY29yZDxzdHJpbmcsIGFueT4sIG1vZGU6ICdwYXlsb2FkJyB8ICdwYXJhbXMnKSB7XHJcblx0XHRyZXR1cm4gbW9kZSA9PSAncGF5bG9hZCdcclxuXHRcdFx0PyB0aGlzLnByZXBhcmVDcml0ZXJpYVBheWxvYWQoY3JpdGVyaWEpXHJcblx0XHRcdDoge1xyXG5cdFx0XHRcdFx0cGFyYW1zOiB0aGlzLl9zdHJpbmdpZnlWYWx1ZXMoY3JpdGVyaWEpXHJcblx0XHRcdFx0fTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3VwZGF0ZUFjdGl2ZVF1ZXJ5KHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcblx0XHR0aGlzLmFjdGl2ZVF1ZXJ5ID0gcXVlcnk7XHJcblx0XHR0aGlzLl9hY3RpdmVGaWx0ZXJzUXVlcnlTdWIubmV4dCh7XHJcblx0XHRcdHF1ZXJ5LFxyXG5cdFx0XHRlbWl0RXZlbnQ6IGZhbHNlXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVBZ2dyZWdhdGlvbnMoYWdncmVnYXRpb25zOiBhbnkpIHtcclxuXHRcdGlmICh0aGlzLl9pc0NvbmZpZ0NoYW5nZWQgJiYgdGhpcy5hZ2dyZWdhdGlvbnMpIHtcclxuXHRcdFx0dGhpcy5hZ2dyZWdhdGlvbnMgPSBudWxsO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLmFnZ3JlZ2F0aW9ucyAmJiB0aGlzLmNvbmZpZy5maWx0ZXJzPy5yZWxvYWRTdHJhdGVneSA9PT0gJ25ldmVyJykge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5hZ2dyZWdhdGlvbnMgPSBhZ2dyZWdhdGlvbnM7XHJcblx0XHR0aGlzLl9pc0NvbmZpZ0NoYW5nZWQgPSBmYWxzZTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2NoZWNrQ29uZmlnQ2hhbmdlKHZhbHVlOiBOZGZSZXBvcnRzQ29uZmlnKSB7XHJcblx0XHRjb25zdCB7IGFjdGl2ZVF1ZXJ5LCAuLi5jb25maWcgfSA9IHZhbHVlO1xyXG5cdFx0Y29uc3QgeyBhY3RpdmVRdWVyeTogYXEsIC4uLmN1cnJlbnRDb25maWcgfSA9IHRoaXMuX2NvbmZpZ1N1YmplY3QuZ2V0VmFsdWUoKSB8fCB7fTtcclxuXHJcblx0XHR0aGlzLl9pc0NvbmZpZ0NoYW5nZWQgPSAhXy5pc0VxdWFsKGN1cnJlbnRDb25maWcsIGNvbmZpZyk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9sb2FkUmVwb3J0c0NvbmZpZyhrZXk6IHN0cmluZykge1xyXG5cdFx0dGhpcy5fY29uZmlndXJhdGlvblNlcnZpY2VcclxuXHRcdFx0LmdldFJlcG9ydHNDb25maWd1cmF0aW9uKGtleSlcclxuXHRcdFx0LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG5cdFx0XHQuc3Vic2NyaWJlKChjb25maWcpID0+IHtcclxuXHRcdFx0XHRpZiAoY29uZmlnKSB7XHJcblx0XHRcdFx0XHR0aGlzLl9pbml0UmVwb3J0c0NvbmZpZyhjb25maWcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9pbml0UmVwb3J0c0NvbmZpZyhjb25maWc6IE5kZlJlcG9ydHNDb25maWcpIHtcclxuXHRcdGNvbnN0IHZhbHVlID0gXy5jbG9uZURlZXAoY29uZmlnKTtcclxuXHRcdHRoaXMuX2NoZWNrQ29uZmlnQ2hhbmdlKHZhbHVlKTtcclxuXHRcdHRoaXMuX2NvbmZpZ1N1YmplY3QubmV4dCh2YWx1ZSk7XHJcblx0XHRpZiAodmFsdWU/LmFjdGl2ZVF1ZXJ5KSB7XHJcblx0XHRcdHRoaXMuX3VwZGF0ZUFjdGl2ZVF1ZXJ5KHZhbHVlPy5hY3RpdmVRdWVyeSk7XHJcblx0XHRcdHRoaXMuX2ZpbHRlcnNDcml0ZXJpYVN1YmplY3QubmV4dCh0aGlzLl9wcmVwYXJlTWFwcGVkUXVlcnkodmFsdWU/LmFjdGl2ZVF1ZXJ5LCB0aGlzLmZpbHRlcnNDb25maWcubW9kZSkpO1xyXG5cdFx0fSBlbHNlIGlmICghIU9iamVjdC5rZXlzKHRoaXMuYWN0aXZlUXVlcnkpLmxlbmd0aCkge1xyXG5cdFx0XHR0aGlzLl9yZXNldFF1ZXJ5QW5kRmlsdGVyc0NyaXRlcmlhKCk7XHJcblx0XHR9XHJcblx0XHR0aGlzLmlzUGFuZWxPcGVuZWQgPSBmYWxzZTtcclxuXHRcdHRoaXMuaXNEZXRhaWxzT3BlbmVkID0gZmFsc2U7XHJcblx0XHR0aGlzLl9yZXBvcnREZXRhaWxzU3ViamVjdC5uZXh0KG51bGwpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcmVzZXRRdWVyeUFuZEZpbHRlcnNDcml0ZXJpYSgpIHtcclxuXHRcdHRoaXMuX3VwZGF0ZUFjdGl2ZVF1ZXJ5KHt9KTtcclxuXHRcdHRoaXMuX2ZpbHRlcnNDcml0ZXJpYVN1YmplY3QubmV4dChudWxsKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdlxyXG5cdCpuZ0lmPVwicmVwb3J0c0RhdGEkIHwgYXN5bmMgYXMgcmVwb3J0c1wiXHJcblx0Y2xhc3M9XCJuZGYtcmVwb3J0c19fY29udGFpbmVyXCJcclxuXHRbY2xhc3MucGFuZWwtb3BlbmVkXT1cImlzUGFuZWxPcGVuZWQgJiYgZmlsdGVyc0NvbmZpZ1wiXHJcblx0W2Rpcl09XCJkaXJlY3Rpb25cIlxyXG5cdG5kZkZsdWlkSGVpZ2h0XHJcbj5cclxuXHQ8ZGl2IGNsYXNzPVwibmRmLXJlcG9ydHNfX3BhbmVsIHByaW50OmhpZGRlblwiICpuZ0lmPVwiISFmaWx0ZXJzQ29uZmlnPy5maWVsZHM/Lmxlbmd0aFwiPlxyXG5cdFx0PGFwcC1maWx0ZXJzLXBhbmVsXHJcblx0XHRcdFtmaWVsZHNdPVwiZmlsdGVyc0NvbmZpZz8uZmllbGRzXCJcclxuXHRcdFx0W2FnZ3JlZ2F0aW9uc109XCJhZ2dyZWdhdGlvbnNcIlxyXG5cdFx0XHQoZmlsdGVyQ2hhbmdlZCk9XCJmaWx0ZXJDaGFuZ2VkKCRldmVudClcIlxyXG5cdFx0XHRbYWN0aXZlUXVlcnldPVwiYWN0aXZlRmlsdGVyc1F1ZXJ5JCB8IGFzeW5jXCJcclxuXHRcdFx0Y2xhc3M9XCJuZGYtcmVwb3J0c19fZmlsdGVyc1wiXHJcblx0XHQ+PC9hcHAtZmlsdGVycy1wYW5lbD5cclxuXHQ8L2Rpdj5cclxuXHJcblx0PGRpdiBjbGFzcz1cIm5kZi1yZXBvcnRzX19jb250ZW50XCIgKHNjcm9sbGVkKT1cIm9uQ29udGVudFNjcm9sbCgkZXZlbnQpXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwibmRmLXJlcG9ydHNfX2hlYWRlciBmbGV4IHB0LTQgcHJpbnQ6aGlkZGVuXCI+XHJcblx0XHRcdDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidG9nZ2xlLWJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVQYW5lbCgpXCI+XHJcblx0XHRcdFx0PG1hdC1pY29uPiBmaWx0ZXJfYWx0PC9tYXQtaWNvbj5cclxuXHRcdFx0PC9idXR0b24+XHJcblx0XHRcdDxhcHAtZWRpdG9yLWJ1dHRvblxyXG5cdFx0XHRcdCpuZ0lmPVwianNvbkVkaXRvckVuYWJsZWQgJiYgcmVwb3J0c0tleVwiXHJcblx0XHRcdFx0W2tleV09XCJyZXBvcnRzS2V5XCJcclxuXHRcdFx0XHRbdHlwZV09XCJlZGl0b3JUeXBlXCJcclxuXHRcdFx0PjwvYXBwLWVkaXRvci1idXR0b24+XHJcblx0XHRcdDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uICpuZ0lmPVwiY29uZmlnPy5vcHRpb25zPy5wcmludFwiIGNsYXNzPVwicHJpbnQtYnV0dG9uXCIgKGNsaWNrKT1cInByaW50QWxsKClcIj5cclxuXHRcdFx0XHQ8bWF0LWljb24+IHByaW50PC9tYXQtaWNvbj5cclxuXHRcdFx0PC9idXR0b24+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDxtYXQtc3Bpbm5lciAqbmdJZj1cImlzTG9hZGluZ1Jlc3VsdFwiIGNsYXNzPVwibXQtNSBteC1hdXRvXCIgW2RpYW1ldGVyXT1cIjQ4XCI+PC9tYXQtc3Bpbm5lcj5cclxuXHJcblx0XHQ8ZGl2IGNsYXNzPVwicmVwb3J0cy1ncmlkXCIgKm5nSWY9XCIhaXNMb2FkaW5nUmVzdWx0XCI+XHJcblx0XHRcdDxhcHAtbmRmLXJlcG9ydFxyXG5cdFx0XHRcdCpuZ0Zvcj1cImxldCBjb25maWcgb2YgcmVwb3J0Q29uZmlnLml0ZW1zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG5cdFx0XHRcdFtjb25maWddPVwiY29uZmlnXCJcclxuXHRcdFx0XHRbZGF0YV09XCJyZXBvcnRzPy5yZXNwb25zZVwiXHJcblx0XHRcdFx0W2NyaXRlcmlhXT1cImZpbHRlcnNQYXJhbXMkIHwgYXN5bmNcIlxyXG5cdFx0XHRcdFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCJcclxuXHRcdFx0XHRbYXR0ci5kYXRhLXdpZHRoXT1cImNvbmZpZz8ubGF5b3V0Py53aWR0aCB8fCA0XCJcclxuXHRcdFx0XHRbYXR0ci5kYXRhLWhlaWdodF09XCJjb25maWc/LmxheW91dD8uaGVpZ2h0IHx8ICdhdXRvJ1wiXHJcblx0XHRcdFx0W2F0dHIuZGF0YS1zdGFydC1jb2x1bW5dPVwiY29uZmlnPy5sYXlvdXQ/LmNvbHVtblBvc2l0aW9uIHx8ICdhdXRvJ1wiXHJcblx0XHRcdFx0W2F0dHIuZGF0YS1zdGFydC1yb3ddPVwiY29uZmlnPy5sYXlvdXQ/LnJvd1Bvc2l0aW9uIHx8ICdhdXRvJ1wiXHJcblx0XHRcdFx0W2NsYXNzLndpZGVdPVwiY29uZmlnPy5sYXlvdXQ/LndpZHRoID49IDZcIlxyXG5cdFx0XHRcdGNsYXNzPVwicmVwb3J0cy1ncmlkX19pdGVtIHt7IGNvbmZpZz8ubGF5b3V0Py5zdHlsZUNsYXNzIH19IFwiXHJcblx0XHRcdFx0KG9uTmF2aWdhdGUpPVwib25OYXZpZ2F0ZSgkZXZlbnQpXCJcclxuXHRcdFx0XHQob25PcGVuKT1cIm9wZW5SZXBvcnREZXRhaWxzKCRldmVudCwgY29uZmlnKVwiXHJcblx0XHRcdD48L2FwcC1uZGYtcmVwb3J0PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblx0PGRpdlxyXG5cdFx0Y2xhc3M9XCJuZGYtcmVwb3J0c19fZGV0YWlscyBwcmludDpoaWRkZW5cIlxyXG5cdFx0W2NsYXNzLm9wZW5lZF09XCJzaG93RGV0YWlsc1wiXHJcblx0XHRbQHNsaWRlSW5PdXRdPVwic2hvd0RldGFpbHMgPyAnb3BlbicgOiAnY2xvc2VkJ1wiXHJcblx0XHQoQHNsaWRlSW5PdXQuZG9uZSk9XCJvbkRldGFpbHNBbmltYXRpb25FbmQoJGV2ZW50KVwiXHJcblx0PlxyXG5cdFx0PGFwcC1uZGYtdGFibGVcclxuXHRcdFx0Km5nSWY9XCJyZXBvcnREZXRhaWxzJCB8IGFzeW5jIGFzIHJlcG9ydFwiXHJcblx0XHRcdFtjb25maWddPVwicmVwb3J0LmNvbmZpZ1wiXHJcblx0XHRcdFthY3RpdmVRdWVyeV09XCJhY3RpdmVGaWx0ZXJzUXVlcnkkIHwgYXN5bmNcIlxyXG5cdFx0XHRbY3VzdG9tQ3JpdGVyaWFdPVwiZmlsdGVyc1BhcmFtcyQgfCBhc3luY1wiXHJcblx0XHQ+XHJcblx0XHRcdDxuZy10ZW1wbGF0ZSBzZWFyY2hUYWJsZVRlbXBsYXRlPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJuZGYtcmVwb3J0c19fZGV0YWlsc19faGVhZGVyIGZsZXggZ2FwLTJcIj5cclxuXHRcdFx0XHRcdDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidG9nZ2xlLWJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVQYW5lbCgpXCI+XHJcblx0XHRcdFx0XHRcdDxtYXQtaWNvbj4gZmlsdGVyX2FsdDwvbWF0LWljb24+XHJcblx0XHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0XHRcdDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlRGV0YWlsc1BhbmVsKClcIj5cclxuXHRcdFx0XHRcdFx0PG1hdC1pY29uPiBjbG9zZTwvbWF0LWljb24+XHJcblx0XHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8aDM+XHJcblx0XHRcdFx0XHR7eyByZXBvcnQubGFiZWwgfCB0cmFuc2xhdGUgfX1cclxuXHRcdFx0XHQ8L2gzPlxyXG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0PC9hcHAtbmRmLXRhYmxlPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
334
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXJlcG9ydHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbnRhaW5lcnMvbmRmLXJlcG9ydHMvbmRmLXJlcG9ydHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbnRhaW5lcnMvbmRmLXJlcG9ydHMvbmRmLXJlcG9ydHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWtCLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpHLE9BQU8sRUFFTixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFLTCxNQUFNLEVBRU4sU0FBUyxFQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBbUJ4RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztB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Qyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7aUhBbFZXLG1CQUFtQjtxR0FBbkIsbUJBQW1CLGlXQUNwQixvQkFBb0IsNEZDM0RoQywrdUdBK0VBLHd3U0R2QmEsQ0FBQyxjQUFjLENBQUM7NEZBRWhCLG1CQUFtQjtrQkFWL0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUsOEJBQThCO29CQUMzQyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztvQkFDM0MsSUFBSSxFQUFFO3dCQUNMLEtBQUssRUFBRSxhQUFhO3dCQUNwQixPQUFPLEVBQUUsV0FBVztxQkFDcEI7b0JBQ0QsVUFBVSxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM1Qjt1YUFFaUMsY0FBYztzQkFBOUMsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBd0N0QixpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtPLE1BQU07c0JBQWxCLEtBQUs7Z0JBUUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQge1xyXG5cdENoYW5nZURldGVjdG9yUmVmLFxyXG5cdENvbXBvbmVudCxcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5wdXQsXHJcblx0Tmdab25lLFxyXG5cdE9uQ2hhbmdlcyxcclxuXHRPbkRlc3Ryb3ksXHJcblx0T25Jbml0LFxyXG5cdE91dHB1dCxcclxuXHRTaW1wbGVDaGFuZ2VzLFxyXG5cdFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IERlc3Ryb3lTdWJqZWN0LCBGbHVpZEhlaWdodERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZm9ya0pvaW4sIGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgZmluYWxpemUsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IE5kZlRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vdGFibGVzJztcclxuaW1wb3J0IHtcclxuXHRBZ2dyZWdhdGlvblJlc3BvbnNlLFxyXG5cdEZpZWxkQ29uZmlnTW9kZWwsXHJcblx0RmlsdGVyUXVlcnlTZXJ2aWNlLFxyXG5cdEZpbHRlcnNNYXBwZXJTZXJ2aWNlLFxyXG5cdEZvcm1RdWVyeU1vZGVsXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vbmRmLWZpbHRlcnMnO1xyXG5pbXBvcnQgeyBDcml0ZXJpYU1vZGVsLCBOZGZSZXBvcnRzQ29uZmlnLCBSZXBvcnRDb25maWdNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7XHJcblx0Q2hhcnRNYW5hZ2VyU2VydmljZSxcclxuXHROZGZSZXBvcnRzU2VydmljZSxcclxuXHRSZXBvcnRDb25maWd1cmF0aW9uU2VydmljZSxcclxuXHRSZXBvcnRzU3RhdGVTZXJ2aWNlLFxyXG5cdFJlcG9ydFRyYW5zZm9ybVNlcnZpY2VcclxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IG1hcFRvTmRmVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBOREZfRURJVE9SX1RZUEUgfSBmcm9tICcuLi8uLi8uLi8uLi9uZGYtY29uZmlnLWVkaXRvci9jb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IHNsaWRlQW5pbWF0aW9uID0gdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcclxuXHRzdGF0ZSgnY2xvc2VkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHZhcigtLW5kZi1yZXBvcnRzLWRldGFpbHMtdHJhbnNsYXRlWCwgLTEwMCUpKScgfSkpLFxyXG5cdHN0YXRlKCdvcGVuJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyB9KSksXHJcblx0dHJhbnNpdGlvbignY2xvc2VkIDw9PiBvcGVuJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnKSlcclxuXSk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1uZGYtcmVwb3J0cycsXHJcblx0dGVtcGxhdGVVcmw6ICcuL25kZi1yZXBvcnRzLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9uZGYtcmVwb3J0cy5jb21wb25lbnQuc2NzcyddLFxyXG5cdGhvc3Q6IHtcclxuXHRcdGNsYXNzOiAnbmRmLXJlcG9ydHMnLFxyXG5cdFx0J1tkaXJdJzogJ2RpcmVjdGlvbidcclxuXHR9LFxyXG5cdGFuaW1hdGlvbnM6IFtzbGlkZUFuaW1hdGlvbl1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5kZlJlcG9ydHNDb21wb25lbnQgZXh0ZW5kcyBEZXN0cm95U3ViamVjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG5cdEBWaWV3Q2hpbGQoRmx1aWRIZWlnaHREaXJlY3RpdmUpIGZsdWlkRGlyZWN0aXZlOiBGbHVpZEhlaWdodERpcmVjdGl2ZTtcclxuXHRfaXNIZWlnaHRVcGRhdGVkID0gZmFsc2U7XHJcblx0ZGlyZWN0aW9uOiBEaXJlY3Rpb24gPSAncnRsJztcclxuXHRpc1BhbmVsT3BlbmVkID0gZmFsc2U7XHJcblx0aXNMb2FkaW5nUmVzdWx0ID0gZmFsc2U7XHJcblx0cmVwb3J0c0RhdGEkOiBPYnNlcnZhYmxlPGFueT47XHJcblx0aXNFeHBhbmRlZCA9IGZhbHNlO1xyXG5cclxuXHRhY3RpdmVRdWVyeTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZUZpbHRlcnNRdWVyeVN1YiA9IG5ldyBSZXBsYXlTdWJqZWN0PEZvcm1RdWVyeU1vZGVsPigpO1xyXG5cdHJlYWRvbmx5IGFjdGl2ZUZpbHRlcnNRdWVyeSQgPSB0aGlzLl9hY3RpdmVGaWx0ZXJzUXVlcnlTdWIuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5kZlJlcG9ydHNDb25maWc+KG51bGwpO1xyXG5cdHJlYWRvbmx5IHJlcG9ydENvbmZpZyQgPSB0aGlzLl9jb25maWdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJzQ3JpdGVyaWFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDcml0ZXJpYU1vZGVsPihudWxsKTtcclxuXHRyZWFkb25seSBmaWx0ZXJzUGFyYW1zJCA9IHRoaXMuX2ZpbHRlcnNDcml0ZXJpYVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHByaXZhdGUgX3JlcG9ydERldGFpbHNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7XHJcblx0XHRsYWJlbD86IHN0cmluZztcclxuXHRcdGNvbmZpZzogTmRmVGFibGVDb25maWc7XHJcblx0fT4obnVsbCk7XHJcblx0cmVwb3J0RGV0YWlscyQgPSB0aGlzLl9yZXBvcnREZXRhaWxzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0YWdncmVnYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBBZ2dyZWdhdGlvblJlc3BvbnNlPjtcclxuXHJcblx0Z2V0IHNob3dEZXRhaWxzKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuICEhdGhpcy5fcmVwb3J0RGV0YWlsc1N1YmplY3QuZ2V0VmFsdWUoKTtcclxuXHR9XHJcblxyXG5cdGlzRGV0YWlsc09wZW5lZCA9IGZhbHNlO1xyXG5cclxuXHRnZXQgZmlsdGVyc0NvbmZpZygpIHtcclxuXHRcdHJldHVybiB0aGlzLmNvbmZpZz8uZmlsdGVycztcclxuXHR9XHJcblxyXG5cdGdldCByZXBvcnRDb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5jb25maWc/LnJlcG9ydHM7XHJcblx0fVxyXG5cclxuXHRASW5wdXQoKSBqc29uRWRpdG9yRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHJlcG9ydHNLZXk6IHN0cmluZztcclxuXHRlZGl0b3JUeXBlID0gTkRGX0VESVRPUl9UWVBFLlJFUE9SVFM7XHJcblxyXG5cdEBJbnB1dCgpIG5hdmlnYXRlUm91dGU6IHN0cmluZ1tdID0gW107XHJcblxyXG5cdHByaXZhdGUgX2lzQ29uZmlnQ2hhbmdlZCA9IGZhbHNlO1xyXG5cclxuXHRwcml2YXRlIF9jb25maWc6IE5kZlJlcG9ydHNDb25maWc7XHJcblx0QElucHV0KCkgc2V0IGNvbmZpZyhjb25maWc6IE5kZlJlcG9ydHNDb25maWcpIHtcclxuXHRcdHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcclxuXHR9XHJcblxyXG5cdGdldCBjb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fY29uZmlnU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG5cdH1cclxuXHJcblx0QE91dHB1dCgpIG9uUXVlcnlDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdHRyYWNrQnlGbiA9IChfOiBudW1iZXIsIHJlcG9ydDogUmVwb3J0Q29uZmlnTW9kZWwpID0+IHtcclxuXHRcdHJldHVybiByZXBvcnQuaWQ7XHJcblx0fTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfZmlsdGVyc01hcHBlcjogRmlsdGVyc01hcHBlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9uZGZSZXBvcnRzU2VydmljZTogTmRmUmVwb3J0c1NlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9jaGFydEhlbHBlclNlcnZpY2U6IENoYXJ0TWFuYWdlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF90cmFuc2Zvcm1TZXJ2aWNlOiBSZXBvcnRUcmFuc2Zvcm1TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRcdHByaXZhdGUgX2ZpbHRlclF1ZXJ5U2VydmljZTogRmlsdGVyUXVlcnlTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfc3RhdGVTZXJ2aWNlOiBSZXBvcnRzU3RhdGVTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfY29uZmlndXJhdGlvblNlcnZpY2U6IFJlcG9ydENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXHJcblx0XHRwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZVxyXG5cdCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHRcdHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHR0aGlzLmRpcmVjdGlvbiA9IHJlcy5sYW5nID09PSAnYXInID8gJ3J0bCcgOiAnbHRyJztcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLnJlcG9ydHNEYXRhJCA9IHRoaXMuX3ByZXBhcmVSZXBvcnRzKCk7XHJcblx0XHR0aGlzLl9oYW5kbGVLZXlib2FyZEV2ZW50KCk7XHJcblx0fVxyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcblx0XHRjb25zdCByZXBvcnRzS2V5ID0gY2hhbmdlcy5yZXBvcnRzS2V5Py5jdXJyZW50VmFsdWU7XHJcblx0XHRjb25zdCBjb25maWcgPSBjaGFuZ2VzLmNvbmZpZz8uY3VycmVudFZhbHVlO1xyXG5cclxuXHRcdGlmIChyZXBvcnRzS2V5ICYmIGNvbmZpZykge1xyXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3Qgc2V0IGJvdGggcmVwb3J0c0tleSBhbmQgcmVwb3J0cyBDb25maWcgYXQgdGhlIHNhbWUgdGltZS4nKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoY29uZmlnKSB7XHJcblx0XHRcdHRoaXMuX2luaXRSZXBvcnRzQ29uZmlnKGNvbmZpZyk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHJlcG9ydHNLZXkpIHtcclxuXHRcdFx0dGhpcy5fbG9hZFJlcG9ydHNDb25maWcocmVwb3J0c0tleSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvbk5hdmlnYXRlKGRhdGE6IHsgcmVwb3J0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+OyBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0pIHtcclxuXHRcdGNvbnN0IHJlcG9ydCA9IGRhdGE/LnJlcG9ydDtcclxuXHRcdGNvbnN0IF9jdXN0b21Sb3V0ZSA9IHJlcG9ydC5uYXZpZ2F0ZT8ucm91dGUgfHwgW107XHJcblx0XHQvLyBsZXQgcm91dGUgPSBbUk1TX0JBU0UucmVwbGFjZSgvXFwvJC8sICcnKV07XHJcblx0XHRsZXQgcm91dGUgPSB0aGlzLm5hdmlnYXRlUm91dGU7XHJcblx0XHRpZiAoISFfY3VzdG9tUm91dGUubGVuZ3RoKSB7XHJcblx0XHRcdHJvdXRlID0gWy4uLnJvdXRlLCAuLi5fY3VzdG9tUm91dGVdO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHF1ZXJ5UGFyYW1zID0ge307XHJcblx0XHRpZiAocmVwb3J0Lm5hdmlnYXRlPy5pbmNsdWRlUGFyYW1zID8/IHRydWUpIHtcclxuXHRcdFx0aWYgKE9iamVjdC5rZXlzKHRoaXMuYWN0aXZlUXVlcnkgfHwge30pLmxlbmd0aCkge1xyXG5cdFx0XHRcdGNvbnN0IGRhdGEgPSB0aGlzLl9maWx0ZXJRdWVyeVNlcnZpY2UuZW5jb2RlUXVlcnkodGhpcy5hY3RpdmVRdWVyeSk7XHJcblx0XHRcdFx0aWYgKGRhdGEpIHtcclxuXHRcdFx0XHRcdHF1ZXJ5UGFyYW1zWydmaWx0ZXJzJ10gPSBkYXRhO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShyb3V0ZSwgeyBxdWVyeVBhcmFtczogcXVlcnlQYXJhbXMgfSkudGhlbigoKSA9PiB7fSk7XHJcblx0fVxyXG5cclxuXHR0b2dnbGVQYW5lbCgpIHtcclxuXHRcdHRoaXMuaXNQYW5lbE9wZW5lZCA9ICF0aGlzLmlzUGFuZWxPcGVuZWQ7XHJcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0dGhpcy5fY2hhcnRIZWxwZXJTZXJ2aWNlLnJlc2l6ZUNoYXJ0cygpO1xyXG5cdFx0fSwgNTAwKTtcclxuXHR9XHJcblxyXG5cdHByaW50QWxsKCkge1xyXG5cdFx0d2luZG93LnByaW50KCk7XHJcblx0fVxyXG5cclxuXHRmaWx0ZXJDaGFuZ2VkKGNyaXRlcmlhOiBSZWNvcmQ8YW55LCBhbnk+KSB7XHJcblx0XHRpZiAoXy5pc0VxdWFsKHRoaXMuYWN0aXZlUXVlcnksIGNyaXRlcmlhKSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLm9uUXVlcnlDaGFuZ2UuZW1pdChjcml0ZXJpYSk7XHJcblx0XHR0aGlzLl91cGRhdGVBY3RpdmVRdWVyeShjcml0ZXJpYSk7XHJcblx0XHRjb25zdCBfZGF0ZSA9IHRoaXMuX3ByZXBhcmVNYXBwZWRRdWVyeShjcml0ZXJpYSwgdGhpcy5maWx0ZXJzQ29uZmlnLm1vZGUpO1xyXG5cdFx0dGhpcy5fZmlsdGVyc0NyaXRlcmlhU3ViamVjdC5uZXh0KF9kYXRlKTtcclxuXHR9XHJcblxyXG5cdG9uQ29udGVudFNjcm9sbChpc1Njcm9sbGluZzogYm9vbGVhbik6IHZvaWQge1xyXG5cdFx0dGhpcy5fc3RhdGVTZXJ2aWNlLm9uQ29udGVudFNjcm9sbChpc1Njcm9sbGluZyk7XHJcblxyXG5cdFx0aWYgKGlzU2Nyb2xsaW5nICYmICF0aGlzLl9pc0hlaWdodFVwZGF0ZWQpIHtcclxuXHRcdFx0dGhpcy5faXNIZWlnaHRVcGRhdGVkID0gdHJ1ZTtcclxuXHRcdFx0dGhpcy5mbHVpZERpcmVjdGl2ZS5zY2hlZHVsZVNldEhlaWdodCgxMDApO1xyXG5cdFx0fSBlbHNlIGlmICghaXNTY3JvbGxpbmcgJiYgdGhpcy5faXNIZWlnaHRVcGRhdGVkKSB7XHJcblx0XHRcdHRoaXMuX2lzSGVpZ2h0VXBkYXRlZCA9IGZhbHNlO1xyXG5cdFx0XHR0aGlzLmZsdWlkRGlyZWN0aXZlLnNjaGVkdWxlU2V0SGVpZ2h0KDEwMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvcGVuUmVwb3J0RGV0YWlscyhjcml0ZXJpYU1vZGVsOiBDcml0ZXJpYU1vZGVsLCByZXBvcnRDb25maWc6IFJlcG9ydENvbmZpZ01vZGVsKSB7XHJcblx0XHRpZiAoIXJlcG9ydENvbmZpZz8uZGV0YWlscz8uZW5hYmxlZCkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3Qgc291cmNlID0gcmVwb3J0Q29uZmlnPy5kZXRhaWxzPy5zb3VyY2U7XHJcblx0XHRjb25zdCBjb25maWckID1cclxuXHRcdFx0c291cmNlICYmIHR5cGVvZiBzb3VyY2UgPT09ICdzdHJpbmcnXHJcblx0XHRcdFx0PyB0aGlzLl9jb25maWd1cmF0aW9uU2VydmljZS5nZXRUYWJsZUNvbmZpZ3VyYXRpb24oc291cmNlKS5waXBlKFxyXG5cdFx0XHRcdFx0XHRtYXAoKGNvbmZpZykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBfLm1lcmdlKGNvbmZpZywge1xyXG5cdFx0XHRcdFx0XHRcdFx0b3B0aW9uczoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRmaWx0ZXJzOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bW9kZTogJ3BheWxvYWQnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZpZWxkczogW10sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFuZWw6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dG9nZ2xlQnV0dG9uOiBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0KVxyXG5cdFx0XHRcdDogb2YobWFwVG9OZGZUYWJsZUNvbmZpZyh0aGlzLmNvbmZpZywgcmVwb3J0Q29uZmlnLmRldGFpbHMpKTtcclxuXHJcblx0XHRjb25maWckLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xyXG5cdFx0XHR0aGlzLl9yZXBvcnREZXRhaWxzU3ViamVjdC5uZXh0KHtcclxuXHRcdFx0XHRjb25maWcsXHJcblx0XHRcdFx0bGFiZWw6IHJlcG9ydENvbmZpZy5sYWJlbFxyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Y2xvc2VEZXRhaWxzUGFuZWwoKSB7XHJcblx0XHR0aGlzLl9yZXBvcnREZXRhaWxzU3ViamVjdC5uZXh0KG51bGwpO1xyXG5cdH1cclxuXHJcblx0b25EZXRhaWxzQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xyXG5cdFx0dGhpcy5pc0RldGFpbHNPcGVuZWQgPSBldmVudC50b1N0YXRlID09PSAnb3Blbic7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdHN1cGVyLm5nT25EZXN0cm95KCk7XHJcblx0XHR0aGlzLl9jaGFydEhlbHBlclNlcnZpY2UuZGVzdHJveUFsbCgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBwcmVwYXJlQ3JpdGVyaWFQYXlsb2FkKGNyaXRlcmlhOiBSZWNvcmQ8YW55LCBhbnk+LCBmaWVsZHM6IEZpZWxkQ29uZmlnTW9kZWxbXSA9IHRoaXMuZmlsdGVyc0NvbmZpZy5maWVsZHMpIHtcclxuXHRcdHJldHVybiB0aGlzLl9maWx0ZXJzTWFwcGVyLnByZXBhcmVQYXlsb2FkKGZpZWxkcywgY3JpdGVyaWEpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfc3RyaW5naWZ5VmFsdWVzKGNyaXRlcmlhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcblx0XHRyZXR1cm4gT2JqZWN0LmVudHJpZXMoY3JpdGVyaWEpLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcclxuXHRcdFx0YWNjW2tleV0gPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6IHZhbHVlO1xyXG5cdFx0XHRyZXR1cm4gYWNjO1xyXG5cdFx0fSwge30pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcHJlcGFyZVJlcG9ydHMoKSB7XHJcblx0XHR0aGlzLmlzTG9hZGluZ1Jlc3VsdCA9IHRydWU7XHJcblx0XHRyZXR1cm4gY29tYmluZUxhdGVzdChbXHJcblx0XHRcdHRoaXMuZmlsdGVyc1BhcmFtcyQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gXy5pc0VxdWFsKGEsIGIpKSksXHJcblx0XHRcdHRoaXMucmVwb3J0Q29uZmlnJFxyXG5cdFx0XSkucGlwZShcclxuXHRcdFx0dGFwKCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLmlzTG9hZGluZ1Jlc3VsdCA9IHRydWU7XHJcblx0XHRcdFx0dGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuXHRcdFx0fSksXHJcblx0XHRcdHN3aXRjaE1hcCgoW2NyaXRlcmlhLCBjb25maWddKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgcmVxdWVzdCA9IGNvbmZpZz8ucmVxdWVzdDtcclxuXHRcdFx0XHRpZiAoIXJlcXVlc3QpIHtcclxuXHRcdFx0XHRcdHJldHVybiBvZihudWxsKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGV0IF9wYXlsb2FkID0gY3JpdGVyaWE7XHJcblx0XHRcdFx0aWYgKCFjcml0ZXJpYSAmJiAhIWNvbmZpZy5hY3RpdmVRdWVyeSkge1xyXG5cdFx0XHRcdFx0X3BheWxvYWQgPSB0aGlzLnByZXBhcmVDcml0ZXJpYVBheWxvYWQoY29uZmlnLmFjdGl2ZVF1ZXJ5KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGNvbnN0IGRhdGEkID0gdGhpcy5fbmRmUmVwb3J0c1NlcnZpY2UuZ2V0RGF0YShyZXF1ZXN0LCBfcGF5bG9hZCkucGlwZShcclxuXHRcdFx0XHRcdHN3aXRjaE1hcCgocmVwb3J0czogQXBpUmVzcG9uc2VNb2RlbCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5fdHJhbnNmb3JtU2VydmljZS5wcmVwYXJlRGF0YShyZXBvcnRzLCBjb25maWcpO1xyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXNMb2FkaW5nUmVzdWx0ID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdHJldHVybiBmb3JrSm9pbihbb2YoY29uZmlnKSwgZGF0YSRdKTtcclxuXHRcdFx0fSksXHJcblx0XHRcdG1hcCgoW2NvbmZpZywgcmVzcG9uc2VdKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5fcHJlcGFyZUFnZ3JlZ2F0aW9ucyhyZXNwb25zZT8uYWdncmVnYXRpb25zKTtcclxuXHRcdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdFx0Y29uZmlnLFxyXG5cdFx0XHRcdFx0cmVzcG9uc2VcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2hhbmRsZUtleWJvYXJkRXZlbnQoKSB7XHJcblx0XHR0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG5cdFx0XHRmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oZG9jdW1lbnQsICdrZXlkb3duJylcclxuXHRcdFx0XHQucGlwZShcclxuXHRcdFx0XHRcdGZpbHRlcigoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IGV2ZW50LmtleSA9PT0gJ0VzY2FwZScgJiYgdGhpcy5zaG93RGV0YWlscyksXHJcblx0XHRcdFx0XHR0YWtlVW50aWwodGhpcy5kZXN0cm95JClcclxuXHRcdFx0XHQpXHJcblx0XHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmNsb3NlRGV0YWlsc1BhbmVsKCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVNYXBwZWRRdWVyeShjcml0ZXJpYTogUmVjb3JkPHN0cmluZywgYW55PiwgbW9kZTogJ3BheWxvYWQnIHwgJ3BhcmFtcycpIHtcclxuXHRcdHJldHVybiBtb2RlID09ICdwYXlsb2FkJ1xyXG5cdFx0XHQ/IHRoaXMucHJlcGFyZUNyaXRlcmlhUGF5bG9hZChjcml0ZXJpYSlcclxuXHRcdFx0OiB7XHJcblx0XHRcdFx0XHRwYXJhbXM6IHRoaXMuX3N0cmluZ2lmeVZhbHVlcyhjcml0ZXJpYSlcclxuXHRcdFx0XHR9O1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfdXBkYXRlQWN0aXZlUXVlcnkocXVlcnk6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcclxuXHRcdHRoaXMuYWN0aXZlUXVlcnkgPSBxdWVyeTtcclxuXHRcdHRoaXMuX2FjdGl2ZUZpbHRlcnNRdWVyeVN1Yi5uZXh0KHtcclxuXHRcdFx0cXVlcnksXHJcblx0XHRcdGVtaXRFdmVudDogZmFsc2VcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcHJlcGFyZUFnZ3JlZ2F0aW9ucyhhZ2dyZWdhdGlvbnM6IGFueSkge1xyXG5cdFx0aWYgKHRoaXMuX2lzQ29uZmlnQ2hhbmdlZCAmJiB0aGlzLmFnZ3JlZ2F0aW9ucykge1xyXG5cdFx0XHR0aGlzLmFnZ3JlZ2F0aW9ucyA9IG51bGw7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMuYWdncmVnYXRpb25zICYmIHRoaXMuY29uZmlnLmZpbHRlcnM/LnJlbG9hZFN0cmF0ZWd5ID09PSAnbmV2ZXInKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmFnZ3JlZ2F0aW9ucyA9IGFnZ3JlZ2F0aW9ucztcclxuXHRcdHRoaXMuX2lzQ29uZmlnQ2hhbmdlZCA9IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfY2hlY2tDb25maWdDaGFuZ2UodmFsdWU6IE5kZlJlcG9ydHNDb25maWcpIHtcclxuXHRcdGNvbnN0IHsgYWN0aXZlUXVlcnksIC4uLmNvbmZpZyB9ID0gdmFsdWU7XHJcblx0XHRjb25zdCB7IGFjdGl2ZVF1ZXJ5OiBhcSwgLi4uY3VycmVudENvbmZpZyB9ID0gdGhpcy5fY29uZmlnU3ViamVjdC5nZXRWYWx1ZSgpIHx8IHt9O1xyXG5cclxuXHRcdHRoaXMuX2lzQ29uZmlnQ2hhbmdlZCA9ICFfLmlzRXF1YWwoY3VycmVudENvbmZpZywgY29uZmlnKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2xvYWRSZXBvcnRzQ29uZmlnKGtleTogc3RyaW5nKSB7XHJcblx0XHR0aGlzLl9jb25maWd1cmF0aW9uU2VydmljZVxyXG5cdFx0XHQuZ2V0UmVwb3J0c0NvbmZpZ3VyYXRpb24oa2V5KVxyXG5cdFx0XHQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcblx0XHRcdC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xyXG5cdFx0XHRcdGlmIChjb25maWcpIHtcclxuXHRcdFx0XHRcdHRoaXMuX2luaXRSZXBvcnRzQ29uZmlnKGNvbmZpZyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2luaXRSZXBvcnRzQ29uZmlnKGNvbmZpZzogTmRmUmVwb3J0c0NvbmZpZykge1xyXG5cdFx0Y29uc3QgdmFsdWUgPSBfLmNsb25lRGVlcChjb25maWcpO1xyXG5cdFx0dGhpcy5fY2hlY2tDb25maWdDaGFuZ2UodmFsdWUpO1xyXG5cdFx0dGhpcy5fY29uZmlnU3ViamVjdC5uZXh0KHZhbHVlKTtcclxuXHRcdGlmICh2YWx1ZT8uYWN0aXZlUXVlcnkgJiYgISFPYmplY3Qua2V5cyh2YWx1ZT8uYWN0aXZlUXVlcnkpLmxlbmd0aCkge1xyXG5cdFx0XHR0aGlzLl91cGRhdGVBY3RpdmVRdWVyeSh2YWx1ZT8uYWN0aXZlUXVlcnkpO1xyXG5cdFx0XHR0aGlzLl9maWx0ZXJzQ3JpdGVyaWFTdWJqZWN0Lm5leHQodGhpcy5fcHJlcGFyZU1hcHBlZFF1ZXJ5KHZhbHVlPy5hY3RpdmVRdWVyeSwgdGhpcy5maWx0ZXJzQ29uZmlnLm1vZGUpKTtcclxuXHRcdH0gZWxzZSBpZiAoIXRoaXMuYWN0aXZlUXVlcnkgfHwgT2JqZWN0LmtleXModGhpcy5hY3RpdmVRdWVyeSkubGVuZ3RoID09IDApIHtcclxuXHRcdFx0dGhpcy5fcmVzZXRRdWVyeUFuZEZpbHRlcnNDcml0ZXJpYSgpO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5pc1BhbmVsT3BlbmVkID0gZmFsc2U7XHJcblx0XHR0aGlzLmlzRGV0YWlsc09wZW5lZCA9IGZhbHNlO1xyXG5cdFx0dGhpcy5fcmVwb3J0RGV0YWlsc1N1YmplY3QubmV4dChudWxsKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3Jlc2V0UXVlcnlBbmRGaWx0ZXJzQ3JpdGVyaWEoKSB7XHJcblx0XHR0aGlzLl91cGRhdGVBY3RpdmVRdWVyeSh7fSk7XHJcblx0XHR0aGlzLl9maWx0ZXJzQ3JpdGVyaWFTdWJqZWN0Lm5leHQobnVsbCk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXZcclxuXHQqbmdJZj1cInJlcG9ydHNEYXRhJCB8IGFzeW5jIGFzIHJlcG9ydHNcIlxyXG5cdGNsYXNzPVwibmRmLXJlcG9ydHNfX2NvbnRhaW5lclwiXHJcblx0W2NsYXNzLnBhbmVsLW9wZW5lZF09XCJpc1BhbmVsT3BlbmVkICYmIGZpbHRlcnNDb25maWdcIlxyXG5cdFtkaXJdPVwiZGlyZWN0aW9uXCJcclxuXHRuZGZGbHVpZEhlaWdodFxyXG4+XHJcblx0PGRpdiBjbGFzcz1cIm5kZi1yZXBvcnRzX19wYW5lbCBwcmludDpoaWRkZW5cIiAqbmdJZj1cIiEhZmlsdGVyc0NvbmZpZz8uZmllbGRzPy5sZW5ndGhcIj5cclxuXHRcdDxhcHAtZmlsdGVycy1wYW5lbFxyXG5cdFx0XHRbZmllbGRzXT1cImZpbHRlcnNDb25maWc/LmZpZWxkc1wiXHJcblx0XHRcdFthZ2dyZWdhdGlvbnNdPVwiYWdncmVnYXRpb25zXCJcclxuXHRcdFx0KGZpbHRlckNoYW5nZWQpPVwiZmlsdGVyQ2hhbmdlZCgkZXZlbnQpXCJcclxuXHRcdFx0W2FjdGl2ZVF1ZXJ5XT1cImFjdGl2ZUZpbHRlcnNRdWVyeSQgfCBhc3luY1wiXHJcblx0XHRcdGNsYXNzPVwibmRmLXJlcG9ydHNfX2ZpbHRlcnNcIlxyXG5cdFx0PjwvYXBwLWZpbHRlcnMtcGFuZWw+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJuZGYtcmVwb3J0c19fY29udGVudFwiIChzY3JvbGxlZCk9XCJvbkNvbnRlbnRTY3JvbGwoJGV2ZW50KVwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cIm5kZi1yZXBvcnRzX19oZWFkZXIgZmxleCBwdC00IHByaW50OmhpZGRlblwiPlxyXG5cdFx0XHQ8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvZ2dsZS1idXR0b25cIiAoY2xpY2spPVwidG9nZ2xlUGFuZWwoKVwiPlxyXG5cdFx0XHRcdDxtYXQtaWNvbj4gZmlsdGVyX2FsdDwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHQ8YXBwLWVkaXRvci1idXR0b25cclxuXHRcdFx0XHQqbmdJZj1cImpzb25FZGl0b3JFbmFibGVkICYmIHJlcG9ydHNLZXlcIlxyXG5cdFx0XHRcdFtrZXldPVwicmVwb3J0c0tleVwiXHJcblx0XHRcdFx0W3R5cGVdPVwiZWRpdG9yVHlwZVwiXHJcblx0XHRcdD48L2FwcC1lZGl0b3ItYnV0dG9uPlxyXG5cdFx0XHQ8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAqbmdJZj1cImNvbmZpZz8ub3B0aW9ucz8ucHJpbnRcIiBjbGFzcz1cInByaW50LWJ1dHRvblwiIChjbGljayk9XCJwcmludEFsbCgpXCI+XHJcblx0XHRcdFx0PG1hdC1pY29uPiBwcmludDwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8bWF0LXNwaW5uZXIgKm5nSWY9XCJpc0xvYWRpbmdSZXN1bHRcIiBjbGFzcz1cIm10LTUgbXgtYXV0b1wiIFtkaWFtZXRlcl09XCI0OFwiPjwvbWF0LXNwaW5uZXI+XHJcblxyXG5cdFx0PGRpdiBjbGFzcz1cInJlcG9ydHMtZ3JpZFwiICpuZ0lmPVwiIWlzTG9hZGluZ1Jlc3VsdFwiPlxyXG5cdFx0XHQ8YXBwLW5kZi1yZXBvcnRcclxuXHRcdFx0XHQqbmdGb3I9XCJsZXQgY29uZmlnIG9mIHJlcG9ydENvbmZpZy5pdGVtczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuXHRcdFx0XHRbY29uZmlnXT1cImNvbmZpZ1wiXHJcblx0XHRcdFx0W2RhdGFdPVwicmVwb3J0cz8ucmVzcG9uc2VcIlxyXG5cdFx0XHRcdFtjcml0ZXJpYV09XCJmaWx0ZXJzUGFyYW1zJCB8IGFzeW5jXCJcclxuXHRcdFx0XHRbZGlyZWN0aW9uXT1cImRpcmVjdGlvblwiXHJcblx0XHRcdFx0W2F0dHIuZGF0YS13aWR0aF09XCJjb25maWc/LmxheW91dD8ud2lkdGggfHwgNFwiXHJcblx0XHRcdFx0W2F0dHIuZGF0YS1oZWlnaHRdPVwiY29uZmlnPy5sYXlvdXQ/LmhlaWdodCB8fCAnYXV0bydcIlxyXG5cdFx0XHRcdFthdHRyLmRhdGEtc3RhcnQtY29sdW1uXT1cImNvbmZpZz8ubGF5b3V0Py5jb2x1bW5Qb3NpdGlvbiB8fCAnYXV0bydcIlxyXG5cdFx0XHRcdFthdHRyLmRhdGEtc3RhcnQtcm93XT1cImNvbmZpZz8ubGF5b3V0Py5yb3dQb3NpdGlvbiB8fCAnYXV0bydcIlxyXG5cdFx0XHRcdFtjbGFzcy53aWRlXT1cImNvbmZpZz8ubGF5b3V0Py53aWR0aCA+PSA2XCJcclxuXHRcdFx0XHRjbGFzcz1cInJlcG9ydHMtZ3JpZF9faXRlbSB7eyBjb25maWc/LmxheW91dD8uc3R5bGVDbGFzcyB9fSBcIlxyXG5cdFx0XHRcdChvbk5hdmlnYXRlKT1cIm9uTmF2aWdhdGUoJGV2ZW50KVwiXHJcblx0XHRcdFx0KG9uT3Blbik9XCJvcGVuUmVwb3J0RGV0YWlscygkZXZlbnQsIGNvbmZpZylcIlxyXG5cdFx0XHQ+PC9hcHAtbmRmLXJlcG9ydD5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cdDxkaXZcclxuXHRcdGNsYXNzPVwibmRmLXJlcG9ydHNfX2RldGFpbHMgcHJpbnQ6aGlkZGVuXCJcclxuXHRcdFtjbGFzcy5vcGVuZWRdPVwic2hvd0RldGFpbHNcIlxyXG5cdFx0W0BzbGlkZUluT3V0XT1cInNob3dEZXRhaWxzID8gJ29wZW4nIDogJ2Nsb3NlZCdcIlxyXG5cdFx0KEBzbGlkZUluT3V0LmRvbmUpPVwib25EZXRhaWxzQW5pbWF0aW9uRW5kKCRldmVudClcIlxyXG5cdD5cclxuXHRcdDxhcHAtbmRmLXRhYmxlXHJcblx0XHRcdCpuZ0lmPVwicmVwb3J0RGV0YWlscyQgfCBhc3luYyBhcyByZXBvcnRcIlxyXG5cdFx0XHRbY29uZmlnXT1cInJlcG9ydC5jb25maWdcIlxyXG5cdFx0XHRbYWN0aXZlUXVlcnldPVwiYWN0aXZlRmlsdGVyc1F1ZXJ5JCB8IGFzeW5jXCJcclxuXHRcdFx0W2N1c3RvbUNyaXRlcmlhXT1cImZpbHRlcnNQYXJhbXMkIHwgYXN5bmNcIlxyXG5cdFx0PlxyXG5cdFx0XHQ8bmctdGVtcGxhdGUgc2VhcmNoVGFibGVUZW1wbGF0ZT5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibmRmLXJlcG9ydHNfX2RldGFpbHNfX2hlYWRlciBmbGV4IGdhcC0yXCI+XHJcblx0XHRcdFx0XHQ8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvZ2dsZS1idXR0b25cIiAoY2xpY2spPVwidG9nZ2xlUGFuZWwoKVwiPlxyXG5cdFx0XHRcdFx0XHQ8bWF0LWljb24+IGZpbHRlcl9hbHQ8L21hdC1pY29uPlxyXG5cdFx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdFx0XHQ8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiIChjbGljayk9XCJjbG9zZURldGFpbHNQYW5lbCgpXCI+XHJcblx0XHRcdFx0XHRcdDxtYXQtaWNvbj4gY2xvc2U8L21hdC1pY29uPlxyXG5cdFx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PGgzPlxyXG5cdFx0XHRcdFx0e3sgcmVwb3J0LmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcblx0XHRcdFx0PC9oMz5cclxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdDwvYXBwLW5kZi10YWJsZT5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
34
34
  ]
35
35
  }]
36
36
  }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlbGwtY2hlY2tlci1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3NwZWxsLWNoZWNrZXItZmllbGQvc3BlbGwtY2hlY2tlci1maWVsZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7QUFrQi9HLE1BQU0sT0FBTyx1QkFBdUI7O3FIQUF2Qix1QkFBdUI7c0hBQXZCLHVCQUF1QixpQkFaaEMsOEJBQThCLGFBRzlCLFlBQVk7UUFDWixXQUFXO1FBQ1gsZUFBZTtRQUNmLG1CQUFtQixhQUduQiw4QkFBOEI7c0hBR3JCLHVCQUF1QixZQVZ6QjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLG1CQUFtQjtTQUNwQjs0RkFLVSx1QkFBdUI7a0JBZG5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDhCQUE4QjtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxlQUFlO3dCQUNmLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDhCQUE4QjtxQkFDL0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTcGVsbENoZWNrZXJUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3NwZWxsLWNoZWNrZXItdGV4dC1maWVsZC9zcGVsbC1jaGVja2VyLXRleHQtZmllbGQuY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNwZWxsQ2hlY2tlclRleHRGaWVsZENvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTcGVsbENoZWNrZXJUZXh0RmllbGRDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGVsbENoZWNrZXJGaWVsZE1vZHVsZSB7IH1cclxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlbGwtY2hlY2tlci1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3NwZWxsLWNoZWNrZXItZmllbGQvc3BlbGwtY2hlY2tlci1maWVsZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7QUFrQi9HLE1BQU0sT0FBTyx1QkFBdUI7O3FIQUF2Qix1QkFBdUI7c0hBQXZCLHVCQUF1QixpQkFaaEMsOEJBQThCLGFBRzlCLFlBQVk7UUFDWixXQUFXO1FBQ1gsZUFBZTtRQUNmLG1CQUFtQixhQUduQiw4QkFBOEI7c0hBR3JCLHVCQUF1QixZQVZ6QjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLG1CQUFtQjtTQUNwQjs0RkFLVSx1QkFBdUI7a0JBZG5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDhCQUE4QjtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxlQUFlO3dCQUNmLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDhCQUE4QjtxQkFDL0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IFNwZWxsQ2hlY2tlclRleHRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vc3BlbGwtY2hlY2tlci10ZXh0LWZpZWxkL3NwZWxsLWNoZWNrZXItdGV4dC1maWVsZC5jb21wb25lbnQnO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU3BlbGxDaGVja2VyVGV4dEZpZWxkQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNwZWxsQ2hlY2tlclRleHRGaWVsZENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNwZWxsQ2hlY2tlckZpZWxkTW9kdWxlIHsgfVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLW9wdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9tb2RlbHMvZGlhbG9nLW9wdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5leHBvcnQgdHlwZSBEaWFsb2dBY3Rpb25UeXBlID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBPYnNlcnZhYmxlPGFueT47XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nT3B0aW9ucyB7XHJcblx0Y29tcG9uZW50OiBUeXBlPGFueT4gfCBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cdHdpZHRoPzogc3RyaW5nO1xyXG5cdGhlaWdodD86IHN0cmluZztcclxuXHRwYW5lbENsYXNzPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcclxuXHRjb25maWc/OiB7XHJcblx0XHR0aXRsZT86IHN0cmluZztcclxuXHRcdHN1YlRpdGxlPzogc3RyaW5nO1xyXG5cdFx0Y29udGVudFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHRcdGFjdGlvbnNUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcblx0fTtcclxuXHRkYXRhPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLW9wdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9tb2RlbHMvZGlhbG9nLW9wdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5leHBvcnQgdHlwZSBEaWFsb2dBY3Rpb25UeXBlID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBPYnNlcnZhYmxlPGFueT47XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nT3B0aW9ucyB7XHJcblx0Y29tcG9uZW50OiBUeXBlPGFueT4gfCBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cdHdpZHRoPzogc3RyaW5nO1xyXG5cdGhlaWdodD86IHN0cmluZztcclxuXHRtYXhXaWR0aD86IHN0cmluZyxcclxuXHRwYW5lbENsYXNzPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcclxuXHRjb25maWc/OiB7XHJcblx0XHR0aXRsZT86IHN0cmluZztcclxuXHRcdHN1YlRpdGxlPzogc3RyaW5nO1xyXG5cdFx0Y29udGVudFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHRcdGFjdGlvbnNUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcblx0fTtcclxuXHRkYXRhPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxufVxyXG4iXX0=
@@ -16,7 +16,8 @@ export class NuxeoDialogService {
16
16
  return this.dialog.open(options.component, {
17
17
  width: (options === null || options === void 0 ? void 0 : options.width) || 'auto',
18
18
  height: (options === null || options === void 0 ? void 0 : options.height) || 'auto',
19
- minWidth: '35%',
19
+ minWidth: (options === null || options === void 0 ? void 0 : options.height) || '35%',
20
+ maxWidth: (options === null || options === void 0 ? void 0 : options.maxWidth) || '80vw',
20
21
  panelClass: ['ndf-dialog', ...__classPrivateFieldGet(this, _NuxeoDialogService_instances, "m", _NuxeoDialogService_getPanelClass).call(this, options === null || options === void 0 ? void 0 : options.panelClass)],
21
22
  disableClose: true,
22
23
  data: Object.assign({ dialogConfig: {
@@ -53,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
53
54
  providedIn: 'root'
54
55
  }]
55
56
  }], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4ZW8tZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9udXhlby1kaWFsb2cvc2VydmljZXMvbnV4ZW8tZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFFTixvQkFBb0IsRUFDcEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7QUFLbkcsTUFBTSxPQUFPLGtCQUFrQjtJQUM5QixZQUFvQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXOztJQUFHLENBQUM7SUFFekMsSUFBSSxDQUFDLE9BQXNCOztRQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDMUMsS0FBSyxFQUFFLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssS0FBSSxNQUFNO1lBQy9CLE1BQU0sRUFBRSxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLEtBQUksTUFBTTtZQUNqQyxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxDQUFDLFlBQVksRUFBRSxHQUFHLHVCQUFBLElBQUksd0VBQWUsTUFBbkIsSUFBSSxFQUFnQixPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsVUFBVSxDQUFDLENBQUM7WUFDdkUsWUFBWSxFQUFFLElBQUk7WUFDbEIsSUFBSSxrQkFDSCxZQUFZLEVBQUU7b0JBQ2IsS0FBSyxFQUFFLE1BQUEsT0FBTyxDQUFDLE1BQU0sMENBQUUsS0FBSztvQkFDNUIsUUFBUSxFQUFFLE1BQUEsT0FBTyxDQUFDLE1BQU0sMENBQUUsUUFBUTtvQkFDbEMsZUFBZSxFQUFFLE1BQUEsT0FBTyxDQUFDLE1BQU0sMENBQUUsZUFBZTtvQkFDaEQsZUFBZSxFQUFFLE1BQUEsT0FBTyxDQUFDLE1BQU0sMENBQUUsZUFBZTtpQkFDaEQsSUFDRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQ3ZCO1NBQ0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQVVELFdBQVcsQ0FBQyxNQUFnQztRQUMzQyxnREFBZ0Q7UUFDaEQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RCxNQUFNLE9BQU8sR0FBa0I7WUFDOUIsU0FBUyxFQUFFLDhCQUE4QjtZQUN6QyxJQUFJLG9CQUFPLGFBQWEsQ0FBRTtZQUMxQixVQUFVLEVBQUUsK0JBQStCO1NBQzNDLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7OEhBakJjLFVBQWtDO0lBQ2hELElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkIsSUFBSSxVQUFVLEVBQUU7UUFDZixPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ2hFO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDaEIsQ0FBQztnSEE1Qlcsa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGbEIsTUFBTTs0RkFFTixrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgRGlhbG9nT3B0aW9ucyB9IGZyb20gJy4uL21vZGVscy9kaWFsb2ctb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHtcclxuXHRDb25maXJtYXRpb25EaWFsb2dDb25maWcsXHJcblx0ZGVmYXVsdENvbmZpcm1Db25maWdcclxufSBmcm9tICcuLi9tb2RlbHMvY29uZmlybS1vcHRpb25zLm1vZGVsJztcclxuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBOZGZDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtYXRpb24vbmRmLWNvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE51eGVvRGlhbG9nU2VydmljZSB7XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykge31cclxuXHJcblx0b3BlbihvcHRpb25zOiBEaWFsb2dPcHRpb25zKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5kaWFsb2cub3BlbihvcHRpb25zLmNvbXBvbmVudCwge1xyXG5cdFx0XHR3aWR0aDogb3B0aW9ucz8ud2lkdGggfHwgJ2F1dG8nLFxyXG5cdFx0XHRoZWlnaHQ6IG9wdGlvbnM/LmhlaWdodCB8fCAnYXV0bycsXHJcblx0XHRcdG1pbldpZHRoOiAnMzUlJyxcclxuXHRcdFx0cGFuZWxDbGFzczogWyduZGYtZGlhbG9nJywgLi4udGhpcy4jZ2V0UGFuZWxDbGFzcyhvcHRpb25zPy5wYW5lbENsYXNzKV0sXHJcblx0XHRcdGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuXHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdGRpYWxvZ0NvbmZpZzoge1xyXG5cdFx0XHRcdFx0dGl0bGU6IG9wdGlvbnMuY29uZmlnPy50aXRsZSxcclxuXHRcdFx0XHRcdHN1YlRpdGxlOiBvcHRpb25zLmNvbmZpZz8uc3ViVGl0bGUsXHJcblx0XHRcdFx0XHRjb250ZW50VGVtcGxhdGU6IG9wdGlvbnMuY29uZmlnPy5jb250ZW50VGVtcGxhdGUsXHJcblx0XHRcdFx0XHRhY3Rpb25zVGVtcGxhdGU6IG9wdGlvbnMuY29uZmlnPy5hY3Rpb25zVGVtcGxhdGVcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdC4uLihvcHRpb25zLmRhdGEgfHwge30pXHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0I2dldFBhbmVsQ2xhc3MocGFuZWxDbGFzczogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPik6IEFycmF5PHN0cmluZz4ge1xyXG5cdFx0bGV0IGNsYXNzZXMgPSBbJyddO1xyXG5cdFx0aWYgKHBhbmVsQ2xhc3MpIHtcclxuXHRcdFx0Y2xhc3NlcyA9IEFycmF5LmlzQXJyYXkocGFuZWxDbGFzcykgPyBwYW5lbENsYXNzIDogW3BhbmVsQ2xhc3NdO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIGNsYXNzZXM7XHJcblx0fVxyXG5cclxuXHRzaG93Q29uZmlybShjb25maWc6IENvbmZpcm1hdGlvbkRpYWxvZ0NvbmZpZykge1xyXG5cdFx0Ly8gTWVyZ2UgdGhlIHVzZXIgY29uZmlnIHdpdGggdGhlIGRlZmF1bHQgY29uZmlnXHJcblx0XHRjb25zdCBjb25maXJtQ29uZmlnID0gbWVyZ2Uoe30sIGRlZmF1bHRDb25maXJtQ29uZmlnLCBjb25maWcpO1xyXG5cdFx0Y29uc3Qgb3B0aW9uczogRGlhbG9nT3B0aW9ucyA9IHtcclxuXHRcdFx0Y29tcG9uZW50OiBOZGZDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsXHJcblx0XHRcdGRhdGE6IHsgLi4uY29uZmlybUNvbmZpZyB9LFxyXG5cdFx0XHRwYW5lbENsYXNzOiAnbmRmLWNvbmZpcm1hdGlvbi1kaWFsb2ctcGFuZWwnXHJcblx0XHR9O1xyXG5cdFx0cmV0dXJuIHRoaXMub3BlbihvcHRpb25zKTtcclxuXHR9XHJcbn1cclxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4ZW8tZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9udXhlby1kaWFsb2cvc2VydmljZXMvbnV4ZW8tZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFFTixvQkFBb0IsRUFDcEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7QUFLbkcsTUFBTSxPQUFPLGtCQUFrQjtJQUM5QixZQUFvQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXOztJQUFJLENBQUM7SUFFMUMsSUFBSSxDQUFDLE9BQXNCOztRQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDMUMsS0FBSyxFQUFFLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssS0FBSSxNQUFNO1lBQy9CLE1BQU0sRUFBRSxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLEtBQUksTUFBTTtZQUNqQyxRQUFRLEVBQUUsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSxLQUFJLEtBQUs7WUFDbEMsUUFBUSxFQUFFLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsS0FBSSxNQUFNO1lBQ3JDLFVBQVUsRUFBRSxDQUFDLFlBQVksRUFBRSxHQUFHLHVCQUFBLElBQUksd0VBQWUsTUFBbkIsSUFBSSxFQUFnQixPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsVUFBVSxDQUFDLENBQUM7WUFDdkUsWUFBWSxFQUFFLElBQUk7WUFDbEIsSUFBSSxrQkFDSCxZQUFZLEVBQUU7b0JBQ2IsS0FBSyxFQUFFLE1BQUEsT0FBTyxDQUFDLE1BQU0sMENBQUUsS0FBSztvQkFDNUIsUUFBUSxFQUFFLE1BQUEsT0FBTyxDQUFDLE1BQU0sMENBQUUsUUFBUTtvQkFDbEMsZUFBZSxFQUFFLE1BQUEsT0FBTyxDQUFDLE1BQU0sMENBQUUsZUFBZTtvQkFDaEQsZUFBZSxFQUFFLE1BQUEsT0FBTyxDQUFDLE1BQU0sMENBQUUsZUFBZTtpQkFDaEQsSUFDRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQ3ZCO1NBQ0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQVVELFdBQVcsQ0FBQyxNQUFnQztRQUMzQyxnREFBZ0Q7UUFDaEQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RCxNQUFNLE9BQU8sR0FBa0I7WUFDOUIsU0FBUyxFQUFFLDhCQUE4QjtZQUN6QyxJQUFJLG9CQUFPLGFBQWEsQ0FBRTtZQUMxQixVQUFVLEVBQUUsK0JBQStCO1NBQzNDLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7OEhBakJjLFVBQWtDO0lBQ2hELElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkIsSUFBSSxVQUFVLEVBQUU7UUFDZixPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ2hFO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDaEIsQ0FBQztnSEE3Qlcsa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGbEIsTUFBTTs0RkFFTixrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgRGlhbG9nT3B0aW9ucyB9IGZyb20gJy4uL21vZGVscy9kaWFsb2ctb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHtcclxuXHRDb25maXJtYXRpb25EaWFsb2dDb25maWcsXHJcblx0ZGVmYXVsdENvbmZpcm1Db25maWdcclxufSBmcm9tICcuLi9tb2RlbHMvY29uZmlybS1vcHRpb25zLm1vZGVsJztcclxuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBOZGZDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb25maXJtYXRpb24vbmRmLWNvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE51eGVvRGlhbG9nU2VydmljZSB7XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykgeyB9XHJcblxyXG5cdG9wZW4ob3B0aW9uczogRGlhbG9nT3B0aW9ucykge1xyXG5cdFx0cmV0dXJuIHRoaXMuZGlhbG9nLm9wZW4ob3B0aW9ucy5jb21wb25lbnQsIHtcclxuXHRcdFx0d2lkdGg6IG9wdGlvbnM/LndpZHRoIHx8ICdhdXRvJyxcclxuXHRcdFx0aGVpZ2h0OiBvcHRpb25zPy5oZWlnaHQgfHwgJ2F1dG8nLFxyXG5cdFx0XHRtaW5XaWR0aDogb3B0aW9ucz8uaGVpZ2h0IHx8ICczNSUnLFxyXG5cdFx0XHRtYXhXaWR0aDogb3B0aW9ucz8ubWF4V2lkdGggfHwgJzgwdncnLFxyXG5cdFx0XHRwYW5lbENsYXNzOiBbJ25kZi1kaWFsb2cnLCAuLi50aGlzLiNnZXRQYW5lbENsYXNzKG9wdGlvbnM/LnBhbmVsQ2xhc3MpXSxcclxuXHRcdFx0ZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG5cdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0ZGlhbG9nQ29uZmlnOiB7XHJcblx0XHRcdFx0XHR0aXRsZTogb3B0aW9ucy5jb25maWc/LnRpdGxlLFxyXG5cdFx0XHRcdFx0c3ViVGl0bGU6IG9wdGlvbnMuY29uZmlnPy5zdWJUaXRsZSxcclxuXHRcdFx0XHRcdGNvbnRlbnRUZW1wbGF0ZTogb3B0aW9ucy5jb25maWc/LmNvbnRlbnRUZW1wbGF0ZSxcclxuXHRcdFx0XHRcdGFjdGlvbnNUZW1wbGF0ZTogb3B0aW9ucy5jb25maWc/LmFjdGlvbnNUZW1wbGF0ZVxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0Li4uKG9wdGlvbnMuZGF0YSB8fCB7fSlcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHQjZ2V0UGFuZWxDbGFzcyhwYW5lbENsYXNzOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+KTogQXJyYXk8c3RyaW5nPiB7XHJcblx0XHRsZXQgY2xhc3NlcyA9IFsnJ107XHJcblx0XHRpZiAocGFuZWxDbGFzcykge1xyXG5cdFx0XHRjbGFzc2VzID0gQXJyYXkuaXNBcnJheShwYW5lbENsYXNzKSA/IHBhbmVsQ2xhc3MgOiBbcGFuZWxDbGFzc107XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gY2xhc3NlcztcclxuXHR9XHJcblxyXG5cdHNob3dDb25maXJtKGNvbmZpZzogQ29uZmlybWF0aW9uRGlhbG9nQ29uZmlnKSB7XHJcblx0XHQvLyBNZXJnZSB0aGUgdXNlciBjb25maWcgd2l0aCB0aGUgZGVmYXVsdCBjb25maWdcclxuXHRcdGNvbnN0IGNvbmZpcm1Db25maWcgPSBtZXJnZSh7fSwgZGVmYXVsdENvbmZpcm1Db25maWcsIGNvbmZpZyk7XHJcblx0XHRjb25zdCBvcHRpb25zOiBEaWFsb2dPcHRpb25zID0ge1xyXG5cdFx0XHRjb21wb25lbnQ6IE5kZkNvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCxcclxuXHRcdFx0ZGF0YTogeyAuLi5jb25maXJtQ29uZmlnIH0sXHJcblx0XHRcdHBhbmVsQ2xhc3M6ICduZGYtY29uZmlybWF0aW9uLWRpYWxvZy1wYW5lbCdcclxuXHRcdH07XHJcblx0XHRyZXR1cm4gdGhpcy5vcGVuKG9wdGlvbnMpO1xyXG5cdH1cclxufVxyXG4iXX0=
@@ -2395,7 +2395,8 @@ class NuxeoDialogService {
2395
2395
  return this.dialog.open(options.component, {
2396
2396
  width: (options === null || options === void 0 ? void 0 : options.width) || 'auto',
2397
2397
  height: (options === null || options === void 0 ? void 0 : options.height) || 'auto',
2398
- minWidth: '35%',
2398
+ minWidth: (options === null || options === void 0 ? void 0 : options.height) || '35%',
2399
+ maxWidth: (options === null || options === void 0 ? void 0 : options.maxWidth) || '80vw',
2399
2400
  panelClass: ['ndf-dialog', ...__classPrivateFieldGet(this, _NuxeoDialogService_instances, "m", _NuxeoDialogService_getPanelClass).call(this, options === null || options === void 0 ? void 0 : options.panelClass)],
2400
2401
  disableClose: true,
2401
2402
  data: Object.assign({ dialogConfig: {
@@ -11195,17 +11196,21 @@ class DynamicFormSelectUsersComponent {
11195
11196
  ConstructedData = this.filterUsers(data, filterValue);
11196
11197
  // Due to not using bindValue, we need to hold the selected value as the full user object, not just the username
11197
11198
  if (this.writedValue) {
11198
- let selected;
11199
- if (this.multiple) {
11200
- selected = ConstructedData.filter(user => this.writedValue.includes(user.properties.username));
11201
- }
11202
- else {
11203
- selected = ConstructedData.filter(user => user.properties.username === this.writedValue)[0];
11204
- }
11205
- this.selection = selected !== null && selected !== void 0 ? selected : this.selection;
11199
+ this.handleWrittedValue(ConstructedData);
11206
11200
  }
11207
11201
  return ConstructedData;
11208
11202
  }
11203
+ handleWrittedValue(users) {
11204
+ const userId = (value) => {
11205
+ return (typeof (value) === 'string') ? value : value.id;
11206
+ };
11207
+ this.selection = (this.multiple) ? users.filter(user => this.writedValue.some(value => user.properties.username === userId(value)))
11208
+ : users.filter(user => user.properties.username === userId(this.writedValue))[0];
11209
+ if (this.selection) {
11210
+ this.writedValue = null;
11211
+ this.emitSelection(this.selection);
11212
+ }
11213
+ }
11209
11214
  insertFUllName(data) {
11210
11215
  return data.map((user) => {
11211
11216
  var _a, _b;
@@ -17041,6 +17046,7 @@ class AggregationBaseSelectionComponent extends BaseAggregationField {
17041
17046
  }
17042
17047
  const _vals = Array.isArray(_values) ? _values : [_values];
17043
17048
  this.internalValue = _values;
17049
+ this.selectionModel.clear();
17044
17050
  this.selectionModel.select(..._vals);
17045
17051
  this._isFieldDirty = true;
17046
17052
  this.cdr.markForCheck();
@@ -17624,7 +17630,7 @@ AggregationCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
17624
17630
  useExisting: forwardRef(() => AggregationCheckboxComponent),
17625
17631
  multi: true
17626
17632
  }
17627
- ], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"options$ | async as options\">\r\n\t<field-header *ngIf=\"fieldConfig.label && !renderOptions?.hideLabel\" class=\"filter-checkbox__header\">\r\n\t\t<span>\r\n\t\t\t{{ fieldConfig.label | translate }}\r\n\t\t</span>\r\n\t\t<filter-options-sort *ngIf=\"renderOptions?.sort\" (sortChange)=\"sortChange($event)\"></filter-options-sort>\r\n\t</field-header>\r\n\r\n\t<filter-search-input\r\n\t\tclass=\"filter-checkbox__filter\"\r\n\t\t*ngIf=\"renderOptions?.filter\"\r\n\t\t[(searchText)]=\"searchText\"\r\n\t></filter-search-input>\r\n\r\n\t<filter-autocomplete-input\r\n\t\t*ngIf=\"renderOptions?.search\"\r\n\t\t[fieldConfig]=\"fieldConfig\"\r\n\t\t[language]=\"language\"\r\n\t\t[direction]=\"direction\"\r\n\t\t(searchChange)=\"emitValue($event)\"\r\n\t></filter-autocomplete-input>\r\n\r\n\t<ng-container *ngIf=\"options | filter: searchText | sortList: sort as filteredOptions\">\r\n\t\t<div class=\"filter-checkbox__wrapper\">\r\n\t\t\t<mat-checkbox\r\n\t\t\t\tclass=\"filter-checkbox__item\"\r\n\t\t\t\t*ngFor=\"let option of filteredOptions; index as index\"\r\n\t\t\t\t[checked]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t(change)=\"selectionModel.toggle(option.value)\"\r\n\t\t\t\t[class.checkedBox]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t[class.unCheckedBox]=\"!selectionModel.isSelected(option.value)\"\r\n\t\t\t\t[class.hidden]=\"renderOptions?.collapse && index + 1 > visibleItemsCount\"\r\n\t\t\t>\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"contentTemplate || defaultTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: option, fieldConfig, aggregation }\"\r\n\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t<ng-template #defaultTemplate>\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"option\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</mat-checkbox>\r\n\t\t</div>\r\n\r\n\t\t<filter-empty-message *ngIf=\"!filteredOptions.length\" class=\"filter-checkbox__empty\"></filter-empty-message>\r\n\r\n\t\t<filter-collapse-control\r\n\t\t\tclass=\"filter-checkbox__collapse\"\r\n\t\t\t*ngIf=\"renderOptions?.collapse\"\r\n\t\t\t[minCount]=\"expandedCount\"\r\n\t\t\t[(visibleCount)]=\"visibleItemsCount\"\r\n\t\t\t[totalItems]=\"filteredOptions.length\"\r\n\t\t></filter-collapse-control>\r\n\t</ng-container>\r\n</ng-container>\r\n", styles: [".filter-checkbox{display:var(--fc-display, block)}.filter-checkbox__wrapper{display:var(--fc-wrapper-display, flex);flex-direction:var(--fc-wrapper-direction, column)}.filter-checkbox__item{margin-bottom:var(--filter-row-margin-bottom, .3rem)}.filter-checkbox__item.hidden{display:none}.filter-checkbox__item .mat-checkbox-layout{display:flex}.filter-checkbox__item .mat-checkbox-layout .mat-checkbox-label{flex-grow:1}\n"], components: [{ type: FieldHeaderComponent, selector: "field-header" }, { type: FilterOptionsSortComponent, selector: "filter-options-sort", inputs: ["options", "sort"], outputs: ["sortChange"] }, { type: FilterSearchInputComponent, selector: "filter-search-input", inputs: ["searchText"], outputs: ["searchTextChange"] }, { type: FilterAutocompleteInputComponent, selector: "filter-autocomplete-input", inputs: ["direction", "language", "fieldConfig"], outputs: ["searchChange"] }, { type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: FilterOptionTextComponent, selector: "filter-option-text", inputs: ["option", "showCount", "language"] }, { type: FilterEmptyMessageComponent, selector: "filter-empty-message", inputs: ["message"] }, { type: FilterCollapseControlComponent, selector: "filter-collapse-control", inputs: ["minCount", "totalItems", "visibleCount"], outputs: ["visibleCountChange"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe, "sortList": SortListPipe, "filter": FilterPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
17633
+ ], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"options$ | async as options\">\r\n\t<field-header *ngIf=\"fieldConfig.label && !renderOptions?.hideLabel\" class=\"filter-checkbox__header\">\r\n\t\t<span>\r\n\t\t\t{{ fieldConfig.label | translate }}\r\n\t\t</span>\r\n\t\t<filter-options-sort *ngIf=\"renderOptions?.sort\" (sortChange)=\"sortChange($event)\"></filter-options-sort>\r\n\t</field-header>\r\n\r\n\t<filter-search-input\r\n\t\tclass=\"filter-checkbox__filter\"\r\n\t\t*ngIf=\"renderOptions?.filter\"\r\n\t\t[(searchText)]=\"searchText\"\r\n\t></filter-search-input>\r\n\r\n\t<filter-autocomplete-input\r\n\t\t*ngIf=\"renderOptions?.search\"\r\n\t\t[fieldConfig]=\"fieldConfig\"\r\n\t\t[language]=\"language\"\r\n\t\t[direction]=\"direction\"\r\n\t\t(searchChange)=\"emitValue($event)\"\r\n\t></filter-autocomplete-input>\r\n\r\n\t<ng-container *ngIf=\"options | filter: searchText | sortList: sort as filteredOptions\">\r\n\t\t<div class=\"filter-checkbox__wrapper\">\r\n\t\t\t<mat-checkbox\r\n\t\t\t\tclass=\"filter-checkbox__item\"\r\n\t\t\t\t*ngFor=\"let option of filteredOptions; index as index ;\"\r\n\t\t\t\t[checked]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t(change)=\"selectionModel.toggle(option.value)\"\r\n\t\t\t\t[class.checkedBox]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t[class.unCheckedBox]=\"!selectionModel.isSelected(option.value)\"\r\n\t\t\t\t[class.hidden]=\"renderOptions?.collapse && index + 1 > visibleItemsCount\"\r\n\t\t\t>\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"contentTemplate || defaultTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: option, fieldConfig, aggregation }\"\r\n\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t<ng-template #defaultTemplate>\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"option\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</mat-checkbox>\r\n\t\t</div>\r\n\r\n\t\t<filter-empty-message *ngIf=\"!filteredOptions.length\" class=\"filter-checkbox__empty\"></filter-empty-message>\r\n\r\n\t\t<filter-collapse-control\r\n\t\t\tclass=\"filter-checkbox__collapse\"\r\n\t\t\t*ngIf=\"renderOptions?.collapse\"\r\n\t\t\t[minCount]=\"expandedCount\"\r\n\t\t\t[(visibleCount)]=\"visibleItemsCount\"\r\n\t\t\t[totalItems]=\"filteredOptions.length\"\r\n\t\t></filter-collapse-control>\r\n\t</ng-container>\r\n</ng-container>\r\n\r\n", styles: [".filter-checkbox{display:var(--fc-display, block)}.filter-checkbox__wrapper{display:var(--fc-wrapper-display, flex);flex-direction:var(--fc-wrapper-direction, column)}.filter-checkbox__item{margin-bottom:var(--filter-row-margin-bottom, .3rem)}.filter-checkbox__item.hidden{display:none}.filter-checkbox__item .mat-checkbox-layout{display:flex}.filter-checkbox__item .mat-checkbox-layout .mat-checkbox-label{flex-grow:1}\n"], components: [{ type: FieldHeaderComponent, selector: "field-header" }, { type: FilterOptionsSortComponent, selector: "filter-options-sort", inputs: ["options", "sort"], outputs: ["sortChange"] }, { type: FilterSearchInputComponent, selector: "filter-search-input", inputs: ["searchText"], outputs: ["searchTextChange"] }, { type: FilterAutocompleteInputComponent, selector: "filter-autocomplete-input", inputs: ["direction", "language", "fieldConfig"], outputs: ["searchChange"] }, { type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: FilterOptionTextComponent, selector: "filter-option-text", inputs: ["option", "showCount", "language"] }, { type: FilterEmptyMessageComponent, selector: "filter-empty-message", inputs: ["message"] }, { type: FilterCollapseControlComponent, selector: "filter-collapse-control", inputs: ["minCount", "totalItems", "visibleCount"], outputs: ["visibleCountChange"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe, "sortList": SortListPipe, "filter": FilterPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
17628
17634
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationCheckboxComponent, decorators: [{
17629
17635
  type: Component,
17630
17636
  args: [{
@@ -19287,6 +19293,7 @@ class AggregationGroupComponent extends BaseCustomField {
19287
19293
  return field === null || field === void 0 ? void 0 : field.fieldKey;
19288
19294
  }
19289
19295
  writeValue(value) {
19296
+ var _a;
19290
19297
  if (value) {
19291
19298
  const _values = this._getValues(value);
19292
19299
  if (___default.isEqual(_values, this.internalValue)) {
@@ -19295,6 +19302,12 @@ class AggregationGroupComponent extends BaseCustomField {
19295
19302
  this.internalValue = _values;
19296
19303
  this.formItems.clear();
19297
19304
  this._prepareFormFields(this.internalValue);
19305
+ return;
19306
+ }
19307
+ else if (!!((_a = this.internalValue) === null || _a === void 0 ? void 0 : _a.length)) {
19308
+ this.internalValue = [];
19309
+ this._resetFormArray();
19310
+ this._prepareFormFields(this.internalValue);
19298
19311
  }
19299
19312
  }
19300
19313
  ngOnInit() {
@@ -19312,7 +19325,6 @@ class AggregationGroupComponent extends BaseCustomField {
19312
19325
  var _a;
19313
19326
  const items = ((_a = this.options) === null || _a === void 0 ? void 0 : _a.aggregations) || [];
19314
19327
  if (!!items.length) {
19315
- this.formItems.clear();
19316
19328
  items.forEach((item) => {
19317
19329
  this.formItems.push(new FormControl(values));
19318
19330
  });
@@ -19331,6 +19343,10 @@ class AggregationGroupComponent extends BaseCustomField {
19331
19343
  var _a;
19332
19344
  return Array.isArray(values) ? values : ((_a = values) === null || _a === void 0 ? void 0 : _a.value) || [];
19333
19345
  }
19346
+ _resetFormArray() {
19347
+ this.formItems = new FormArray([]);
19348
+ this.formGroup.setControl('items', this.formItems);
19349
+ }
19334
19350
  }
19335
19351
  AggregationGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
19336
19352
  AggregationGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AggregationGroupComponent, selector: "app-aggregation-group", usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"formGroup\" *ngIf=\"options?.aggregations && aggregations\">\r\n\t<div formArrayName=\"items\">\r\n\t\t<ng-container *ngFor=\"let fieldConfig of options?.aggregations; trackBy: trackByFieldKey; let i = index\">\r\n\t\t\t<ng-container *permission=\"{ name: fieldConfig?.permission }\">\r\n\t\t\t\t<app-aggregation-field\r\n\t\t\t\t\t*ngIf=\"fieldConfig?.condition | checkCondition: aggregations : currentLang\"\r\n\t\t\t\t\t[aggregation]=\"aggregations[fieldConfig.aggregation]\"\r\n\t\t\t\t\t[fieldConfig]=\"fieldConfig | mapToAggregationConfig\"\r\n\t\t\t\t\t[formControlName]=\"i\"\r\n\t\t\t\t></app-aggregation-field>\r\n\t\t\t</ng-container>\r\n\t\t</ng-container>\r\n\t</div>\r\n</div>\r\n", styles: [""], components: [{ type: AggregationFieldComponent, selector: "app-aggregation-field", inputs: ["aggregation", "contentTemplate"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2$4.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "mapToAggregationConfig": MapToAggregationConfigPipe, "checkCondition": CheckConditionPipe } });
@@ -44456,11 +44472,11 @@ class NdfReportsComponent extends DestroySubject {
44456
44472
  const value = ___default.cloneDeep(config);
44457
44473
  this._checkConfigChange(value);
44458
44474
  this._configSubject.next(value);
44459
- if (value === null || value === void 0 ? void 0 : value.activeQuery) {
44475
+ if ((value === null || value === void 0 ? void 0 : value.activeQuery) && !!Object.keys(value === null || value === void 0 ? void 0 : value.activeQuery).length) {
44460
44476
  this._updateActiveQuery(value === null || value === void 0 ? void 0 : value.activeQuery);
44461
44477
  this._filtersCriteriaSubject.next(this._prepareMappedQuery(value === null || value === void 0 ? void 0 : value.activeQuery, this.filtersConfig.mode));
44462
44478
  }
44463
- else if (!!Object.keys(this.activeQuery).length) {
44479
+ else if (!this.activeQuery || Object.keys(this.activeQuery).length == 0) {
44464
44480
  this._resetQueryAndFiltersCriteria();
44465
44481
  }
44466
44482
  this.isPanelOpened = false;
@@ -45234,10 +45250,15 @@ class NdfConfigEditorComponent extends DestroySubject {
45234
45250
  const themeValue = (_a = changes.theme) === null || _a === void 0 ? void 0 : _a.currentValue;
45235
45251
  const optionsValue = (_b = changes.options) === null || _b === void 0 ? void 0 : _b.currentValue;
45236
45252
  const isThemeFirstChange = (_c = changes === null || changes === void 0 ? void 0 : changes.theme) === null || _c === void 0 ? void 0 : _c.firstChange;
45253
+ const activeTheme = this._optionsSubject.getValue().theme;
45237
45254
  let mergedOptions = ___default.merge(this._defaultEditorOptions, optionsValue || {}, { language: 'json' });
45238
45255
  if (themeValue && isThemeFirstChange) {
45239
45256
  mergedOptions.theme = themeValue;
45240
45257
  }
45258
+ if (!optionsValue && activeTheme && themeValue && activeTheme !== themeValue) {
45259
+ const activeOptions = this._optionsSubject.getValue();
45260
+ this._optionsSubject.next(___default.merge(activeOptions, { theme: themeValue }));
45261
+ }
45241
45262
  if (optionsValue || (themeValue && isThemeFirstChange)) {
45242
45263
  this._optionsSubject.next(___default.cloneDeep(mergedOptions));
45243
45264
  }