@eui/core 16.2.4-snapshot-1697737832725 → 16.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.
Files changed (38) hide show
  1. package/docs/dependencies.html +32 -32
  2. package/docs/js/search/search_index.js +2 -2
  3. package/esm2022/lib/eui-core.module.mjs +5 -5
  4. package/esm2022/lib/interceptors/add-lang-param.interceptor.mjs +4 -4
  5. package/esm2022/lib/interceptors/cache-prevention.interceptor.mjs +4 -4
  6. package/esm2022/lib/interceptors/cors-security.interceptor.mjs +4 -4
  7. package/esm2022/lib/interceptors/csrf-prevention.interceptor.mjs +4 -4
  8. package/esm2022/lib/interceptors/eu-login-session-timeout-handling.interceptor.mjs +4 -4
  9. package/esm2022/lib/interceptors/openid/openid-connect.interceptor.mjs +4 -4
  10. package/esm2022/lib/interceptors/openid/openid-connect.service.mjs +4 -4
  11. package/esm2022/lib/interceptors/ux-request-error-model.interceptor.mjs +4 -4
  12. package/esm2022/lib/services/errors/global-error-handler.mjs +4 -4
  13. package/esm2022/lib/services/errors/http-error-handler.interceptor.mjs +4 -4
  14. package/esm2022/lib/services/i18n/i18n.loader.mjs +4 -4
  15. package/esm2022/lib/services/i18n/i18n.service.mjs +4 -4
  16. package/esm2022/lib/services/i18n/i18n.service.mock.mjs +4 -4
  17. package/esm2022/lib/services/locale/locale.service.mjs +4 -4
  18. package/esm2022/lib/services/locale/locale.service.mock.mjs +4 -4
  19. package/esm2022/lib/services/log/log.module.mjs +5 -5
  20. package/esm2022/lib/services/log/log.service.mjs +4 -4
  21. package/esm2022/lib/services/permission/permission.service.mjs +4 -4
  22. package/esm2022/lib/services/queue/api-queue.service.mjs +4 -4
  23. package/esm2022/lib/services/storage/local-forage.service.mjs +4 -4
  24. package/esm2022/lib/services/storage/local-storage.service.mjs +4 -4
  25. package/esm2022/lib/services/storage/session-storage.service.mjs +4 -4
  26. package/esm2022/lib/services/store/effects/app.effects.mjs +4 -4
  27. package/esm2022/lib/services/store/store.service.mjs +4 -4
  28. package/esm2022/lib/services/store/store.service.mock.mjs +4 -4
  29. package/esm2022/lib/services/user/user.service.mjs +4 -4
  30. package/esm2022/lib/services/user/user.service.mock.mjs +4 -4
  31. package/esm2022/lib/services/ux-app-shell.service.mjs +4 -4
  32. package/esm2022/lib/services/ux-dynamic-component/ux-dynamic-component.service.mjs +4 -4
  33. package/esm2022/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.mjs +4 -4
  34. package/esm2022/lib/services/ux-error-feedback/ux-error-feedback.service.mjs +4 -4
  35. package/esm2022/lib/services/ux-timezone.service.mjs +4 -4
  36. package/fesm2022/eui-core.mjs +101 -101
  37. package/fesm2022/eui-core.mjs.map +1 -1
  38. package/package.json +2 -2
@@ -208,10 +208,10 @@ export class I18nService extends EuiLazyService {
208
208
  updateHTMLDOMLang(lang) {
209
209
  this.document.documentElement.lang = lang;
210
210
  }
211
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: I18nService, deps: [{ token: GLOBAL_CONFIG_TOKEN }, { token: i1.TranslateService }, { token: i2.LogService, optional: true }, { token: i3.StoreService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
212
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: I18nService, providedIn: 'root' }); }
211
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: I18nService, deps: [{ token: GLOBAL_CONFIG_TOKEN }, { token: i1.TranslateService }, { token: i2.LogService, optional: true }, { token: i3.StoreService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
212
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: I18nService, providedIn: 'root' }); }
213
213
  }
214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: I18nService, decorators: [{
214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: I18nService, decorators: [{
215
215
  type: Injectable,
216
216
  args: [{
217
217
  providedIn: 'root',
@@ -225,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
225
225
  type: Inject,
226
226
  args: [DOCUMENT]
227
227
  }] }]; } });
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBRUgsY0FBYyxFQUVkLDRCQUE0QixFQUM1QixZQUFZLEVBQ1osYUFBYSxFQUNiLGtCQUFrQixFQUtsQix5QkFBeUIsRUFDekIsYUFBYSxHQUNoQixNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsVUFBVSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztBQVc3QyxNQUFNLE9BQU8sV0FBNkMsU0FBUSxjQUE2QjtJQUkzRixZQUMyQyxnQkFBOEIsRUFDM0QsZ0JBQWtDLEVBQ3RCLFVBQXNCLEVBQ2xDLEtBQW1CLEVBQ0gsUUFBa0I7UUFFNUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFOVyxxQkFBZ0IsR0FB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ZUFBdUI7UUFDOUMsNEdBQTRHO1FBQzVHLHVGQUF1RjtRQUN2RixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3RELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsZUFBZSxFQUFFLENBQUMsQ0FBQztTQUMzRTtJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxHQUFHLENBQUMsSUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxpQkFBaUIsQ0FBQyxJQUFZO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDOUMsQ0FBQztpSUF2UFEsV0FBVyxrQkFLUixtQkFBbUIsbUhBSW5CLFFBQVE7cUlBVFgsV0FBVyxjQUZSLE1BQU07OzJGQUVULFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFNUSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBRTFCLFFBQVE7OzBCQUVSLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmdDaGFuZ2VFdmVudCwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCB0YWtlLCB0YXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgR2xvYmFsQ29uZmlnLFxuICAgIEV1aUxhenlTZXJ2aWNlLFxuICAgIEV1aVNlcnZpY2VTdGF0dXMsXG4gICAgZ2V0STE4blNlcnZpY2VDb25maWdGcm9tQmFzZSxcbiAgICBnZXRJMThuU3RhdGUsXG4gICAgZ2V0QWN0aXZlTGFuZyxcbiAgICBnZXRMYXN0QWRkZWRNb2R1bGUsXG4gICAgSTE4bkxvYWRlckNvbmZpZyxcbiAgICBJMThuU2VydmljZUNvbmZpZyxcbiAgICBJMThuU3RhdGUsXG4gICAgTW9kdWxlQ29uZmlnLFxuICAgIGdldEJyb3dzZXJEZWZhdWx0TGFuZ3VhZ2UsXG4gICAgVXhFdUxhbmd1YWdlcyxcbn0gZnJvbSAnQGV1aS9iYXNlJztcblxuaW1wb3J0IHsgSTE4bkxvYWRlciwgTG9hZGVkUmVzb3VyY2VzIH0gZnJvbSAnLi9pMThuLmxvYWRlcic7XG5pbXBvcnQgeyBHTE9CQUxfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi4vY29uZmlnL3Rva2Vucyc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSB9IGZyb20gJy4uL3N0b3JlL3N0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBkYXRlSTE4blN0YXRlQWN0aW9uIH0gZnJvbSAnLi4vc3RvcmUvYWN0aW9ucy9pMThuLmFjdGlvbnMnO1xuaW1wb3J0IHsgREVGQVVMVF9JMThOX1NFUlZJQ0VfQ09ORklHIH0gZnJvbSAnLi4vY29uZmlnL2RlZmF1bHRzJztcbmltcG9ydCB7IGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbnRlcmZhY2UgTW9kdWxlTG9hZEV2ZW50IHtcbiAgICByZWFkeTogYm9vbGVhbjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZXJyb3I/OiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEkxOG5TZXJ2aWNlPFQgZXh0ZW5kcyBJMThuU3RhdGUgPSBJMThuU3RhdGU+IGV4dGVuZHMgRXVpTGF6eVNlcnZpY2U8VCB8IEkxOG5TdGF0ZT4ge1xuICAgIHByb3RlY3RlZCBjb25maWc6IEkxOG5TZXJ2aWNlQ29uZmlnO1xuICAgIHByb3RlY3RlZCBvbk1vZHVsZUxvYWQ6IEJlaGF2aW9yU3ViamVjdDxNb2R1bGVMb2FkRXZlbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoR0xPQkFMX0NPTkZJR19UT0tFTikgcHJvdGVjdGVkIGJhc2VHbG9iYWxDb25maWc6IEdsb2JhbENvbmZpZyxcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlU2VydmljZSxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnRcbiAgICApIHtcbiAgICAgICAgc3VwZXIoeyBhY3RpdmVMYW5nOiAnZW4nIH0pO1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGdldEkxOG5TZXJ2aWNlQ29uZmlnRnJvbUJhc2UodGhpcy5iYXNlR2xvYmFsQ29uZmlnKTtcbiAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1vZHVsZUxvYWRFdmVudD4oeyByZWFkeTogZmFsc2UsIG5hbWU6IG51bGwgfSk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGU8SyA9IFQ+KG1hcEZuPzogKHN0YXRlOiBUKSA9PiBLKTogT2JzZXJ2YWJsZTxLPjtcbiAgICBnZXRTdGF0ZTxhIGV4dGVuZHMga2V5b2YgVD4oa2V5PzogYSk6IE9ic2VydmFibGU8VFthXT47XG4gICAgZ2V0U3RhdGU8Sz4oa2V5T3JNYXBGbj86ICgoc3RhdGU6IFQpID0+IEspIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxLPiB7XG4gICAgICAgIGxldCBzZWxlY3RvcjogYW55ID0gZ2V0STE4blN0YXRlO1xuICAgICAgICBsZXQgZG90Tm90YXRpb25Ub09iamVjdCA9IChvYmosIGtleSkgPT4ga2V5LnNwbGl0KCcuJykucmVkdWNlKChzbGljZSwgaSkgPT4gc2xpY2VbaV0sIG9iaik7XG5cbiAgICAgICAgaWYgKGtleU9yTWFwRm4pIHtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZW9mIGtleU9yTWFwRm4pIHtcbiAgICAgICAgICAgICAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoZ2V0STE4blN0YXRlLCBrZXlPck1hcEZuKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihnZXRJMThuU3RhdGUsIChzdGF0ZSkgPT4gZG90Tm90YXRpb25Ub09iamVjdChzdGF0ZSwga2V5T3JNYXBGbikpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3IpO1xuICAgIH1cblxuICAgIHVwZGF0ZVN0YXRlKGxhbmdTdGF0ZTogVCB8IEkxOG5TdGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhUTUxET01MYW5nKGxhbmdTdGF0ZS5hY3RpdmVMYW5nKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlSTE4blN0YXRlQWN0aW9uKGxhbmdTdGF0ZSkpO1xuICAgIH1cblxuICAgIGluaXQobGFuZ1N0YXRlPzogVCk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBpbml0TGFuZyA9IGxhbmdTdGF0ZSAmJiBsYW5nU3RhdGUuYWN0aXZlTGFuZyA/IGxhbmdTdGF0ZS5hY3RpdmVMYW5nIDogdGhpcy5wcmVwYXJlZERlZmF1bHRMYW5ndWFnZSgpO1xuICAgICAgICBjb25zdCBpbml0U3RhdGUgPSB7XG4gICAgICAgICAgICAuLi5sYW5nU3RhdGUsXG4gICAgICAgICAgICBhY3RpdmVMYW5nOiBpbml0TGFuZyxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHR5cGVvZiBpbml0TGFuZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHN1cGVyLmluaXRFdWlTZXJ2aWNlKHRoaXMuc3RvcmUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShpbml0U3RhdGUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0dXAoaW5pdExhbmcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ0luaXRpYWwgYWN0aXZlIGxhbmcgc2hvdWxkIGJlIHN0cmluZycgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBwaXBlIGZ1bmN0aW9uIHRoYXQgY291bGQgc2VydmUgYXMgYSB3cmFwcGVyIG9mIGFub3RoZXIgb2JzZXJ2YWJsZVxuICAgICAqIGUuZy4gbmd4LXRyYW5zbGF0ZSBpMThuLm9uUmVhZHkoJ215X21vZHVsZScpLnBpcGUoc3dpdGNoTWFwKCgpPT50cmFuc2xhdGUuZ2V0KCdldWkuS0VZJykpKTtcbiAgICAgKiBXQVJOSU5HOiBvblJlYWR5IHdpbGwgZW1pdCBvbmx5IG9uY2UgZm9yIGEgbG9hZGVkIE1vZHVsZSwgZ29pbmcgdG8gYW5vdGhlciBhbmQgdGhlbiBnb2luZyBiYWNrIHdpbGwgbm90IHJlc3VsdFxuICAgICAqIGludG8gYW5vdGhlciBlbWlzc2lvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBtb2R1bGVOYW1lIHRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdGhhdCBoYXMgYmVlbiBnaXZlbiB0aHJvdWdoIHRoZSBlVUkgZ2xvYmFsQ29uZmlnLiBJbiBjYXNlIG5vbiBwcm92aWRlZFxuICAgICAqIGZldGNoIG1vZHVsZSBuYW1lIGZyb20gdGhlIHN0YXRlLlxuICAgICAqL1xuICAgIG9uUmVhZHkobW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9uTW9kdWxlTG9hZC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChldnQ6IE1vZHVsZUxvYWRFdmVudCkgPT5cbiAgICAgICAgICAgICAgICBtb2R1bGVOYW1lXG4gICAgICAgICAgICAgICAgICAgID8gb2YoZXZ0KVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc3RvcmUuc2VsZWN0KGdldExhc3RBZGRlZE1vZHVsZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGFwKChtKSA9PiAobW9kdWxlTmFtZSA9IG0pKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IGV2dClcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gZW1pdCBvbmx5IGlmIGV2ZW50IGVtaXR0ZWQgbWF0Y2hlcyB0aGUgbW9kdWxlIG5hbWUgYW5kIGlzIHJlYWR5XG4gICAgICAgICAgICBmaWx0ZXIoKGV2dDogTW9kdWxlTG9hZEV2ZW50KSA9PiBldnQucmVhZHkgPT09IHRydWUgJiYgZXZ0Lm5hbWUgPT09IG1vZHVsZU5hbWUpLFxuICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgb2JzZXJ2YWJsZSBjb21wbGV0ZXNcbiAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGF6eUxvYWQoY29uZmlnOiBJMThuTG9hZGVyQ29uZmlnKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIGNvbnN0IG1vZHVsZUlkID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwICsgMSkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkUmVzb3VyY2VzKGNvbmZpZywgbW9kdWxlSWQpO1xuICAgIH1cblxuICAgIGxhenlMb2FkSW5pdChtb2R1bGVDb25maWc6IE1vZHVsZUNvbmZpZywgbW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBpMThuTG9hZGVyQ29uZmlnID0gbW9kdWxlQ29uZmlnIGFzIEkxOG5Mb2FkZXJDb25maWc7XG4gICAgICAgIC8vIGFkZCByZXNvdXJjZXNcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkUmVzb3VyY2VzKGkxOG5Mb2FkZXJDb25maWcsIG1vZHVsZU5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCByZXNvdXJjZXMgYmFzZWQgb2YgYSBjb25maWcgbG9hZGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29uZmlnIEkxOG5Mb2FkZXJDb25maWdcbiAgICAgKiBAcmV0dXJuIFByb21pc2U8RXVpU2VydmljZVN0YXR1cz4gYW4gRXVpU2VydmljZVN0YXR1cyB3aGVuIHRyYW5zbGF0aW9uIGhhcyBmdWxseSBsb2FkZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkUmVzb3VyY2VzKGNvbmZpZzogSTE4bkxvYWRlckNvbmZpZywgbW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICAvLyBlbWl0IHRoYXQgbW9kdWxlIGlzIGxvYWRpbmdcbiAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQubmV4dCh7IHJlYWR5OiBmYWxzZSwgbmFtZTogbW9kdWxlTmFtZSB9KTtcblxuICAgICAgICBjb25zdCBsb2FkZXIgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExvYWRlcjtcbiAgICAgICAgaWYgKGxvYWRlciBpbnN0YW5jZW9mIEkxOG5Mb2FkZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhbmdTdWJzY3JpcHRpb246IE9ic2VydmFibGU8YW55PltdID0gW107XG4gICAgICAgICAgICBjb25zdCBpMThuTG9hZGVyID0gPEkxOG5Mb2FkZXI+bG9hZGVyO1xuXG4gICAgICAgICAgICAvLyBhZGQgdGhlIHJlc291cmNlcyB0byB0aGUgbG9hZGVyXG4gICAgICAgICAgICBjb25zdCByZXNvdXJjZXMgPSBpMThuTG9hZGVyLmFkZFJlc291cmNlcyhjb25maWcpO1xuXG4gICAgICAgICAgICAvLyBtYW51YWxseSBsb2FkIHRoZSByZXNvdXJjZXMgZm9yIHRoZSBDVVJSRU5UIGxhbmd1YWdlIGFuZCBhZGQgdGhlbSB0byB0aGUgdHJhbnNsYXRlIHNlcnZpY2VcbiAgICAgICAgICAgIGxhbmdTdWJzY3JpcHRpb24ucHVzaChcbiAgICAgICAgICAgICAgICBpMThuTG9hZGVyLmxvYWRSZXNvdXJjZXMocmVzb3VyY2VzLCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgobG9hZGVkUmVzb3VyY2VzOiBMb2FkZWRSZXNvdXJjZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCB0aGUgbmV3IHNldCBvZiB0cmFuc2xhdGlvbnMgdG8gdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbih0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcsIGxvYWRlZFJlc291cmNlcy50cmFuc2xhdGlvbnMsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIGlmIHRoZSBjdXJyZW50IGxhbmd1YWdlIGlzIGRpZmZlcmVudCB0aGFuIHRoZSBERUZBVUxUIGxhbmd1YWdlXG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0TGFuZyA9IHRoaXMuY29uZmlnLmRlZmF1bHRMYW5ndWFnZSB8fCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZGVmYXVsdExhbmc7XG4gICAgICAgICAgICBpZiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nICE9PSBkZWZhdWx0TGFuZykge1xuICAgICAgICAgICAgICAgIC8vIG1hbnVhbGx5IGxvYWQgdGhlIHJlc291cmNlcyBmb3IgdGhlIGRlZmF1bHQgbGFuZ3VhZ2UgYW5kIGFkZCB0aGVtIHRvIHRoZSB0cmFuc2xhdGUgc2VydmljZVxuICAgICAgICAgICAgICAgIGxhbmdTdWJzY3JpcHRpb24ucHVzaChcbiAgICAgICAgICAgICAgICAgICAgaTE4bkxvYWRlci5sb2FkUmVzb3VyY2VzKHJlc291cmNlcywgZGVmYXVsdExhbmcpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFwKChsb2FkZWRSZXNvdXJjZXM6IExvYWRlZFJlc291cmNlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbihkZWZhdWx0TGFuZywgbG9hZGVkUmVzb3VyY2VzLnRyYW5zbGF0aW9ucywgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZvcmtKb2luKGxhbmdTdWJzY3JpcHRpb24pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChsb2FkZWRSZXNvdXJjZXNBcnI6IExvYWRlZFJlc291cmNlc1tdKSA9PlxuICAgICAgICAgICAgICAgICAgICAhbG9hZGVkUmVzb3VyY2VzQXJyWzBdLmhhc0Vycm9yID8geyBzdWNjZXNzOiB0cnVlIH0gOiB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogbG9hZGVkUmVzb3VyY2VzQXJyWzBdLmVycm9ycyB9XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBlbWl0IHN0YXR1cyBvZiBtb2R1bGUgbG9hZGluZyBwcm9ncmVzc1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTW9kdWxlTG9hZC5uZXh0KHsgcmVhZHk6IHRydWUsIG5hbWU6IG1vZHVsZU5hbWUgfSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZW1pdCBzdGF0dXMgb2YgbW9kdWxlIGxvYWRpbmcgcHJvZ3Jlc3NcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQubmV4dCh7IHJlYWR5OiB0cnVlLCBuYW1lOiBtb2R1bGVOYW1lLCBlcnJvciB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yIH0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiAnY3VycmVudExvYWRlciBpcyBub3QgYW4gSTE4bkxvYWRlci4nIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJlcGFyZXMgdGhlIGRlZmF1bHQgbGFuZ3VhZ2VcbiAgICAgKi9cbiAgICBwcml2YXRlIHByZXBhcmVkRGVmYXVsdExhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGJyb3dzZXJQcmVmID0gZ2V0QnJvd3NlckRlZmF1bHRMYW5ndWFnZSgpO1xuICAgICAgICAvLyBJZiB1c2VyIGhhcyBicm93c2VyIHByZWZlcnJlZCBsYW5nLCBhbmQgdGhhdCBsYW5ndWFnZSBpcyBwYXJ0IG9mIHRoZSBsYW5ndWFnZXMgYXJyYXlcbiAgICAgICAgaWYgKGJyb3dzZXJQcmVmICYmIHRoaXMuY29uZmlnLmxhbmd1YWdlcyAmJiBVeEV1TGFuZ3VhZ2VzLmdldExhbmd1YWdlQ29kZXModGhpcy5jb25maWcubGFuZ3VhZ2VzKS5pbmNsdWRlcyhicm93c2VyUHJlZikpIHtcbiAgICAgICAgICAgIHJldHVybiBicm93c2VyUHJlZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcuZGVmYXVsdExhbmd1YWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkZWZhdWx0X2xhbmd1YWdlIGlmIGdpdmVuIGRlZmF1bHQgbGFuZ3VhZ2UgdG8gb3ZlcnJpZGUgZGVmYXVsdCBsYW5ndWFnZSBjb21pbmcgZnJvbSB0aGVcbiAgICAgKiBjb25maWd1cmF0aW9uIHRva2VuLlxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0dXAoaW5pdExhbmd1YWdlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgLy8gdXNlIHRoZSBkZWZhdWx0IGNvbmZpZyBhcyBhIHJlZmVyZW5jZSBiYXNlXG4gICAgICAgIHRoaXMuY29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9JMThOX1NFUlZJQ0VfQ09ORklHLCB0aGlzLmNvbmZpZyk7XG4gICAgICAgIC8vIGNvbmZpZ3VyZSB0aGUgdHJhbnNsYXRlIGNvbmZpZyBzZXJ2aWNlXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5sYW5ndWFnZXMpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5hZGRMYW5ncyhVeEV1TGFuZ3VhZ2VzLmdldExhbmd1YWdlQ29kZXModGhpcy5jb25maWcubGFuZ3VhZ2VzKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oYEkxOG4gYWNjZXB0ZWQgbGFuZ3VhZ2VzIHNldCB0byAke1V4RXVMYW5ndWFnZXMuZ2V0TGFuZ3VhZ2VDb2Rlcyh0aGlzLmNvbmZpZy5sYW5ndWFnZXMpfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHNldCB0aGUgY3VycmVudCBsYW5ndWFnZSwgY2F1c2luZyB0byBsb2FkIHRyYW5zbGF0aW9uc1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShpbml0TGFuZ3VhZ2UpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYmluZEFjdGl2ZUxhbmdTdGF0ZVRvVHJhbnNsYXRlU2VydmljZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmluZFRyYW5zbGF0ZVNlcnZpY2VMYW5nQ2hhbmdlVG9TdGF0ZSgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0TGFuZ3VhZ2UodGhpcy5jb25maWcuZGVmYXVsdExhbmd1YWdlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TG9hZGVyIGluc3RhbmNlb2YgSTE4bkxvYWRlcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmYWlsZWRSZXNvdXJjZXMgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExvYWRlci5nZXRGYWlsZWRSZXNvdXJjZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZhaWxlZFJlc291cmNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGZhaWxlZFJlc291cmNlcyB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yIH0pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmluZEFjdGl2ZUxhbmdTdGF0ZVRvVHJhbnNsYXRlU2VydmljZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoZ2V0QWN0aXZlTGFuZykuc3Vic2NyaWJlKChsYW5nOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmIChsYW5nICE9PSBudWxsICYmIHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyAhPT0gbGFuZykge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlKGxhbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJpbmRUcmFuc2xhdGVTZXJ2aWNlTGFuZ0NoYW5nZVRvU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudDogTGFuZ0NoYW5nZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZUluc3RhbmNlLmFjdGl2ZUxhbmcgIT09IGV2ZW50LmxhbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHsgYWN0aXZlTGFuZzogZXZlbnQubGFuZyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhgSTE4biBjdXJyZW50IGxhbmd1YWdlIHNldCB0byAke2V2ZW50Lmxhbmd9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdExhbmd1YWdlKGRlZmF1bHRMYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgICAgIC8vIHJlbW92ZWQsIGN1cnJlbnQgbGFuZ3VhZ2UgaXMgYWxyZWFkeSBjYWxjdWxhdGVkIGluIGluaXQsIHNldHVwIGZ1bmN0aW9uIGZpbGwgdXNlIGl0IGRpcmVjdGx5LCBub3QgZGVmYXVsdFxuICAgICAgICAvLyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgPSBkZWZhdWx0X2xhbmd1YWdlIHx8IHRoaXMuY29uZmlnLmRlZmF1bHRMYW5ndWFnZTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldERlZmF1bHRMYW5nKGRlZmF1bHRMYW5ndWFnZSk7XG4gICAgICAgIGlmICh0aGlzLmxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMubG9nU2VydmljZS5pbmZvKGBJMThuIGRlZmF1bHQgbGFuZ3VhZ2Ugc2V0IHRvICR7ZGVmYXVsdExhbmd1YWdlfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hhbmdlIHRoZSBjdXJyZW50bHkgdXNlZCBsYW5ndWFnZVxuICAgICAqXG4gICAgICogQHBhcmFtIGxhbmcgaXMgdGhlIGxhbmd1YWdlIGNvZGUgYmFzZWQgb24gdGhlIGNvbnZlbnRpb24geW91IHVzZWQgZS5nLiAoZW4gb3IgZW4tRU4pXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW4gdGhlIG9iamVjdCB0cmFuc2xhdGlvbiBmb3IgZ2l2ZW4gbGFuZ3VhZ2UgYWZ0ZXIgbGFuZ3VhZ2VcbiAgICAgKiBmdWxseSBsb2FkZWQuXG4gICAgICovXG4gICAgcHJpdmF0ZSB1c2UobGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobGFuZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdXBkYXRlcyB0aGUgSFRNTCBlbGVtZW50IGxhbmcgYXR0cmlidXRlXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgdXBkYXRlSFRNTERPTUxhbmcobGFuZzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmxhbmcgPSBsYW5nO1xuICAgIH1cbn1cbiJdfQ==
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBRUgsY0FBYyxFQUVkLDRCQUE0QixFQUM1QixZQUFZLEVBQ1osYUFBYSxFQUNiLGtCQUFrQixFQUtsQix5QkFBeUIsRUFDekIsYUFBYSxHQUNoQixNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsVUFBVSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztBQVc3QyxNQUFNLE9BQU8sV0FBNkMsU0FBUSxjQUE2QjtJQUkzRixZQUMyQyxnQkFBOEIsRUFDM0QsZ0JBQWtDLEVBQ3RCLFVBQXNCLEVBQ2xDLEtBQW1CLEVBQ0gsUUFBa0I7UUFFNUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFOVyxxQkFBZ0IsR0FB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ZUFBdUI7UUFDOUMsNEdBQTRHO1FBQzVHLHVGQUF1RjtRQUN2RixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3RELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsZUFBZSxFQUFFLENBQUMsQ0FBQztTQUMzRTtJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxHQUFHLENBQUMsSUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxpQkFBaUIsQ0FBQyxJQUFZO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDOUMsQ0FBQztrSUF2UFEsV0FBVyxrQkFLUixtQkFBbUIsbUhBSW5CLFFBQVE7c0lBVFgsV0FBVyxjQUZSLE1BQU07OzRGQUVULFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFNUSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBRTFCLFFBQVE7OzBCQUVSLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmdDaGFuZ2VFdmVudCwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCB0YWtlLCB0YXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgR2xvYmFsQ29uZmlnLFxuICAgIEV1aUxhenlTZXJ2aWNlLFxuICAgIEV1aVNlcnZpY2VTdGF0dXMsXG4gICAgZ2V0STE4blNlcnZpY2VDb25maWdGcm9tQmFzZSxcbiAgICBnZXRJMThuU3RhdGUsXG4gICAgZ2V0QWN0aXZlTGFuZyxcbiAgICBnZXRMYXN0QWRkZWRNb2R1bGUsXG4gICAgSTE4bkxvYWRlckNvbmZpZyxcbiAgICBJMThuU2VydmljZUNvbmZpZyxcbiAgICBJMThuU3RhdGUsXG4gICAgTW9kdWxlQ29uZmlnLFxuICAgIGdldEJyb3dzZXJEZWZhdWx0TGFuZ3VhZ2UsXG4gICAgVXhFdUxhbmd1YWdlcyxcbn0gZnJvbSAnQGV1aS9iYXNlJztcblxuaW1wb3J0IHsgSTE4bkxvYWRlciwgTG9hZGVkUmVzb3VyY2VzIH0gZnJvbSAnLi9pMThuLmxvYWRlcic7XG5pbXBvcnQgeyBHTE9CQUxfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi4vY29uZmlnL3Rva2Vucyc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSB9IGZyb20gJy4uL3N0b3JlL3N0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBkYXRlSTE4blN0YXRlQWN0aW9uIH0gZnJvbSAnLi4vc3RvcmUvYWN0aW9ucy9pMThuLmFjdGlvbnMnO1xuaW1wb3J0IHsgREVGQVVMVF9JMThOX1NFUlZJQ0VfQ09ORklHIH0gZnJvbSAnLi4vY29uZmlnL2RlZmF1bHRzJztcbmltcG9ydCB7IGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbnRlcmZhY2UgTW9kdWxlTG9hZEV2ZW50IHtcbiAgICByZWFkeTogYm9vbGVhbjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZXJyb3I/OiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEkxOG5TZXJ2aWNlPFQgZXh0ZW5kcyBJMThuU3RhdGUgPSBJMThuU3RhdGU+IGV4dGVuZHMgRXVpTGF6eVNlcnZpY2U8VCB8IEkxOG5TdGF0ZT4ge1xuICAgIHByb3RlY3RlZCBjb25maWc6IEkxOG5TZXJ2aWNlQ29uZmlnO1xuICAgIHByb3RlY3RlZCBvbk1vZHVsZUxvYWQ6IEJlaGF2aW9yU3ViamVjdDxNb2R1bGVMb2FkRXZlbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoR0xPQkFMX0NPTkZJR19UT0tFTikgcHJvdGVjdGVkIGJhc2VHbG9iYWxDb25maWc6IEdsb2JhbENvbmZpZyxcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlU2VydmljZSxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnRcbiAgICApIHtcbiAgICAgICAgc3VwZXIoeyBhY3RpdmVMYW5nOiAnZW4nIH0pO1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGdldEkxOG5TZXJ2aWNlQ29uZmlnRnJvbUJhc2UodGhpcy5iYXNlR2xvYmFsQ29uZmlnKTtcbiAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1vZHVsZUxvYWRFdmVudD4oeyByZWFkeTogZmFsc2UsIG5hbWU6IG51bGwgfSk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGU8SyA9IFQ+KG1hcEZuPzogKHN0YXRlOiBUKSA9PiBLKTogT2JzZXJ2YWJsZTxLPjtcbiAgICBnZXRTdGF0ZTxhIGV4dGVuZHMga2V5b2YgVD4oa2V5PzogYSk6IE9ic2VydmFibGU8VFthXT47XG4gICAgZ2V0U3RhdGU8Sz4oa2V5T3JNYXBGbj86ICgoc3RhdGU6IFQpID0+IEspIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxLPiB7XG4gICAgICAgIGxldCBzZWxlY3RvcjogYW55ID0gZ2V0STE4blN0YXRlO1xuICAgICAgICBsZXQgZG90Tm90YXRpb25Ub09iamVjdCA9IChvYmosIGtleSkgPT4ga2V5LnNwbGl0KCcuJykucmVkdWNlKChzbGljZSwgaSkgPT4gc2xpY2VbaV0sIG9iaik7XG5cbiAgICAgICAgaWYgKGtleU9yTWFwRm4pIHtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZW9mIGtleU9yTWFwRm4pIHtcbiAgICAgICAgICAgICAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoZ2V0STE4blN0YXRlLCBrZXlPck1hcEZuKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihnZXRJMThuU3RhdGUsIChzdGF0ZSkgPT4gZG90Tm90YXRpb25Ub09iamVjdChzdGF0ZSwga2V5T3JNYXBGbikpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3IpO1xuICAgIH1cblxuICAgIHVwZGF0ZVN0YXRlKGxhbmdTdGF0ZTogVCB8IEkxOG5TdGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhUTUxET01MYW5nKGxhbmdTdGF0ZS5hY3RpdmVMYW5nKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlSTE4blN0YXRlQWN0aW9uKGxhbmdTdGF0ZSkpO1xuICAgIH1cblxuICAgIGluaXQobGFuZ1N0YXRlPzogVCk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBpbml0TGFuZyA9IGxhbmdTdGF0ZSAmJiBsYW5nU3RhdGUuYWN0aXZlTGFuZyA/IGxhbmdTdGF0ZS5hY3RpdmVMYW5nIDogdGhpcy5wcmVwYXJlZERlZmF1bHRMYW5ndWFnZSgpO1xuICAgICAgICBjb25zdCBpbml0U3RhdGUgPSB7XG4gICAgICAgICAgICAuLi5sYW5nU3RhdGUsXG4gICAgICAgICAgICBhY3RpdmVMYW5nOiBpbml0TGFuZyxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHR5cGVvZiBpbml0TGFuZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHN1cGVyLmluaXRFdWlTZXJ2aWNlKHRoaXMuc3RvcmUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShpbml0U3RhdGUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0dXAoaW5pdExhbmcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ0luaXRpYWwgYWN0aXZlIGxhbmcgc2hvdWxkIGJlIHN0cmluZycgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBwaXBlIGZ1bmN0aW9uIHRoYXQgY291bGQgc2VydmUgYXMgYSB3cmFwcGVyIG9mIGFub3RoZXIgb2JzZXJ2YWJsZVxuICAgICAqIGUuZy4gbmd4LXRyYW5zbGF0ZSBpMThuLm9uUmVhZHkoJ215X21vZHVsZScpLnBpcGUoc3dpdGNoTWFwKCgpPT50cmFuc2xhdGUuZ2V0KCdldWkuS0VZJykpKTtcbiAgICAgKiBXQVJOSU5HOiBvblJlYWR5IHdpbGwgZW1pdCBvbmx5IG9uY2UgZm9yIGEgbG9hZGVkIE1vZHVsZSwgZ29pbmcgdG8gYW5vdGhlciBhbmQgdGhlbiBnb2luZyBiYWNrIHdpbGwgbm90IHJlc3VsdFxuICAgICAqIGludG8gYW5vdGhlciBlbWlzc2lvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBtb2R1bGVOYW1lIHRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdGhhdCBoYXMgYmVlbiBnaXZlbiB0aHJvdWdoIHRoZSBlVUkgZ2xvYmFsQ29uZmlnLiBJbiBjYXNlIG5vbiBwcm92aWRlZFxuICAgICAqIGZldGNoIG1vZHVsZSBuYW1lIGZyb20gdGhlIHN0YXRlLlxuICAgICAqL1xuICAgIG9uUmVhZHkobW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9uTW9kdWxlTG9hZC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChldnQ6IE1vZHVsZUxvYWRFdmVudCkgPT5cbiAgICAgICAgICAgICAgICBtb2R1bGVOYW1lXG4gICAgICAgICAgICAgICAgICAgID8gb2YoZXZ0KVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc3RvcmUuc2VsZWN0KGdldExhc3RBZGRlZE1vZHVsZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGFwKChtKSA9PiAobW9kdWxlTmFtZSA9IG0pKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IGV2dClcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gZW1pdCBvbmx5IGlmIGV2ZW50IGVtaXR0ZWQgbWF0Y2hlcyB0aGUgbW9kdWxlIG5hbWUgYW5kIGlzIHJlYWR5XG4gICAgICAgICAgICBmaWx0ZXIoKGV2dDogTW9kdWxlTG9hZEV2ZW50KSA9PiBldnQucmVhZHkgPT09IHRydWUgJiYgZXZ0Lm5hbWUgPT09IG1vZHVsZU5hbWUpLFxuICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgb2JzZXJ2YWJsZSBjb21wbGV0ZXNcbiAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGF6eUxvYWQoY29uZmlnOiBJMThuTG9hZGVyQ29uZmlnKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIGNvbnN0IG1vZHVsZUlkID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwICsgMSkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkUmVzb3VyY2VzKGNvbmZpZywgbW9kdWxlSWQpO1xuICAgIH1cblxuICAgIGxhenlMb2FkSW5pdChtb2R1bGVDb25maWc6IE1vZHVsZUNvbmZpZywgbW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBpMThuTG9hZGVyQ29uZmlnID0gbW9kdWxlQ29uZmlnIGFzIEkxOG5Mb2FkZXJDb25maWc7XG4gICAgICAgIC8vIGFkZCByZXNvdXJjZXNcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkUmVzb3VyY2VzKGkxOG5Mb2FkZXJDb25maWcsIG1vZHVsZU5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCByZXNvdXJjZXMgYmFzZWQgb2YgYSBjb25maWcgbG9hZGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29uZmlnIEkxOG5Mb2FkZXJDb25maWdcbiAgICAgKiBAcmV0dXJuIFByb21pc2U8RXVpU2VydmljZVN0YXR1cz4gYW4gRXVpU2VydmljZVN0YXR1cyB3aGVuIHRyYW5zbGF0aW9uIGhhcyBmdWxseSBsb2FkZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkUmVzb3VyY2VzKGNvbmZpZzogSTE4bkxvYWRlckNvbmZpZywgbW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICAvLyBlbWl0IHRoYXQgbW9kdWxlIGlzIGxvYWRpbmdcbiAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQubmV4dCh7IHJlYWR5OiBmYWxzZSwgbmFtZTogbW9kdWxlTmFtZSB9KTtcblxuICAgICAgICBjb25zdCBsb2FkZXIgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExvYWRlcjtcbiAgICAgICAgaWYgKGxvYWRlciBpbnN0YW5jZW9mIEkxOG5Mb2FkZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhbmdTdWJzY3JpcHRpb246IE9ic2VydmFibGU8YW55PltdID0gW107XG4gICAgICAgICAgICBjb25zdCBpMThuTG9hZGVyID0gPEkxOG5Mb2FkZXI+bG9hZGVyO1xuXG4gICAgICAgICAgICAvLyBhZGQgdGhlIHJlc291cmNlcyB0byB0aGUgbG9hZGVyXG4gICAgICAgICAgICBjb25zdCByZXNvdXJjZXMgPSBpMThuTG9hZGVyLmFkZFJlc291cmNlcyhjb25maWcpO1xuXG4gICAgICAgICAgICAvLyBtYW51YWxseSBsb2FkIHRoZSByZXNvdXJjZXMgZm9yIHRoZSBDVVJSRU5UIGxhbmd1YWdlIGFuZCBhZGQgdGhlbSB0byB0aGUgdHJhbnNsYXRlIHNlcnZpY2VcbiAgICAgICAgICAgIGxhbmdTdWJzY3JpcHRpb24ucHVzaChcbiAgICAgICAgICAgICAgICBpMThuTG9hZGVyLmxvYWRSZXNvdXJjZXMocmVzb3VyY2VzLCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgobG9hZGVkUmVzb3VyY2VzOiBMb2FkZWRSZXNvdXJjZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCB0aGUgbmV3IHNldCBvZiB0cmFuc2xhdGlvbnMgdG8gdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbih0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcsIGxvYWRlZFJlc291cmNlcy50cmFuc2xhdGlvbnMsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIGlmIHRoZSBjdXJyZW50IGxhbmd1YWdlIGlzIGRpZmZlcmVudCB0aGFuIHRoZSBERUZBVUxUIGxhbmd1YWdlXG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0TGFuZyA9IHRoaXMuY29uZmlnLmRlZmF1bHRMYW5ndWFnZSB8fCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZGVmYXVsdExhbmc7XG4gICAgICAgICAgICBpZiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nICE9PSBkZWZhdWx0TGFuZykge1xuICAgICAgICAgICAgICAgIC8vIG1hbnVhbGx5IGxvYWQgdGhlIHJlc291cmNlcyBmb3IgdGhlIGRlZmF1bHQgbGFuZ3VhZ2UgYW5kIGFkZCB0aGVtIHRvIHRoZSB0cmFuc2xhdGUgc2VydmljZVxuICAgICAgICAgICAgICAgIGxhbmdTdWJzY3JpcHRpb24ucHVzaChcbiAgICAgICAgICAgICAgICAgICAgaTE4bkxvYWRlci5sb2FkUmVzb3VyY2VzKHJlc291cmNlcywgZGVmYXVsdExhbmcpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFwKChsb2FkZWRSZXNvdXJjZXM6IExvYWRlZFJlc291cmNlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbihkZWZhdWx0TGFuZywgbG9hZGVkUmVzb3VyY2VzLnRyYW5zbGF0aW9ucywgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZvcmtKb2luKGxhbmdTdWJzY3JpcHRpb24pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChsb2FkZWRSZXNvdXJjZXNBcnI6IExvYWRlZFJlc291cmNlc1tdKSA9PlxuICAgICAgICAgICAgICAgICAgICAhbG9hZGVkUmVzb3VyY2VzQXJyWzBdLmhhc0Vycm9yID8geyBzdWNjZXNzOiB0cnVlIH0gOiB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogbG9hZGVkUmVzb3VyY2VzQXJyWzBdLmVycm9ycyB9XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBlbWl0IHN0YXR1cyBvZiBtb2R1bGUgbG9hZGluZyBwcm9ncmVzc1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTW9kdWxlTG9hZC5uZXh0KHsgcmVhZHk6IHRydWUsIG5hbWU6IG1vZHVsZU5hbWUgfSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZW1pdCBzdGF0dXMgb2YgbW9kdWxlIGxvYWRpbmcgcHJvZ3Jlc3NcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQubmV4dCh7IHJlYWR5OiB0cnVlLCBuYW1lOiBtb2R1bGVOYW1lLCBlcnJvciB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yIH0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiAnY3VycmVudExvYWRlciBpcyBub3QgYW4gSTE4bkxvYWRlci4nIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJlcGFyZXMgdGhlIGRlZmF1bHQgbGFuZ3VhZ2VcbiAgICAgKi9cbiAgICBwcml2YXRlIHByZXBhcmVkRGVmYXVsdExhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGJyb3dzZXJQcmVmID0gZ2V0QnJvd3NlckRlZmF1bHRMYW5ndWFnZSgpO1xuICAgICAgICAvLyBJZiB1c2VyIGhhcyBicm93c2VyIHByZWZlcnJlZCBsYW5nLCBhbmQgdGhhdCBsYW5ndWFnZSBpcyBwYXJ0IG9mIHRoZSBsYW5ndWFnZXMgYXJyYXlcbiAgICAgICAgaWYgKGJyb3dzZXJQcmVmICYmIHRoaXMuY29uZmlnLmxhbmd1YWdlcyAmJiBVeEV1TGFuZ3VhZ2VzLmdldExhbmd1YWdlQ29kZXModGhpcy5jb25maWcubGFuZ3VhZ2VzKS5pbmNsdWRlcyhicm93c2VyUHJlZikpIHtcbiAgICAgICAgICAgIHJldHVybiBicm93c2VyUHJlZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcuZGVmYXVsdExhbmd1YWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkZWZhdWx0X2xhbmd1YWdlIGlmIGdpdmVuIGRlZmF1bHQgbGFuZ3VhZ2UgdG8gb3ZlcnJpZGUgZGVmYXVsdCBsYW5ndWFnZSBjb21pbmcgZnJvbSB0aGVcbiAgICAgKiBjb25maWd1cmF0aW9uIHRva2VuLlxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0dXAoaW5pdExhbmd1YWdlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgLy8gdXNlIHRoZSBkZWZhdWx0IGNvbmZpZyBhcyBhIHJlZmVyZW5jZSBiYXNlXG4gICAgICAgIHRoaXMuY29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9JMThOX1NFUlZJQ0VfQ09ORklHLCB0aGlzLmNvbmZpZyk7XG4gICAgICAgIC8vIGNvbmZpZ3VyZSB0aGUgdHJhbnNsYXRlIGNvbmZpZyBzZXJ2aWNlXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5sYW5ndWFnZXMpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5hZGRMYW5ncyhVeEV1TGFuZ3VhZ2VzLmdldExhbmd1YWdlQ29kZXModGhpcy5jb25maWcubGFuZ3VhZ2VzKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oYEkxOG4gYWNjZXB0ZWQgbGFuZ3VhZ2VzIHNldCB0byAke1V4RXVMYW5ndWFnZXMuZ2V0TGFuZ3VhZ2VDb2Rlcyh0aGlzLmNvbmZpZy5sYW5ndWFnZXMpfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHNldCB0aGUgY3VycmVudCBsYW5ndWFnZSwgY2F1c2luZyB0byBsb2FkIHRyYW5zbGF0aW9uc1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShpbml0TGFuZ3VhZ2UpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYmluZEFjdGl2ZUxhbmdTdGF0ZVRvVHJhbnNsYXRlU2VydmljZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmluZFRyYW5zbGF0ZVNlcnZpY2VMYW5nQ2hhbmdlVG9TdGF0ZSgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0TGFuZ3VhZ2UodGhpcy5jb25maWcuZGVmYXVsdExhbmd1YWdlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TG9hZGVyIGluc3RhbmNlb2YgSTE4bkxvYWRlcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmYWlsZWRSZXNvdXJjZXMgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExvYWRlci5nZXRGYWlsZWRSZXNvdXJjZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZhaWxlZFJlc291cmNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGZhaWxlZFJlc291cmNlcyB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yIH0pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmluZEFjdGl2ZUxhbmdTdGF0ZVRvVHJhbnNsYXRlU2VydmljZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoZ2V0QWN0aXZlTGFuZykuc3Vic2NyaWJlKChsYW5nOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmIChsYW5nICE9PSBudWxsICYmIHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyAhPT0gbGFuZykge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlKGxhbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJpbmRUcmFuc2xhdGVTZXJ2aWNlTGFuZ0NoYW5nZVRvU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudDogTGFuZ0NoYW5nZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZUluc3RhbmNlLmFjdGl2ZUxhbmcgIT09IGV2ZW50LmxhbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHsgYWN0aXZlTGFuZzogZXZlbnQubGFuZyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhgSTE4biBjdXJyZW50IGxhbmd1YWdlIHNldCB0byAke2V2ZW50Lmxhbmd9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdExhbmd1YWdlKGRlZmF1bHRMYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgICAgIC8vIHJlbW92ZWQsIGN1cnJlbnQgbGFuZ3VhZ2UgaXMgYWxyZWFkeSBjYWxjdWxhdGVkIGluIGluaXQsIHNldHVwIGZ1bmN0aW9uIGZpbGwgdXNlIGl0IGRpcmVjdGx5LCBub3QgZGVmYXVsdFxuICAgICAgICAvLyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgPSBkZWZhdWx0X2xhbmd1YWdlIHx8IHRoaXMuY29uZmlnLmRlZmF1bHRMYW5ndWFnZTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldERlZmF1bHRMYW5nKGRlZmF1bHRMYW5ndWFnZSk7XG4gICAgICAgIGlmICh0aGlzLmxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMubG9nU2VydmljZS5pbmZvKGBJMThuIGRlZmF1bHQgbGFuZ3VhZ2Ugc2V0IHRvICR7ZGVmYXVsdExhbmd1YWdlfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hhbmdlIHRoZSBjdXJyZW50bHkgdXNlZCBsYW5ndWFnZVxuICAgICAqXG4gICAgICogQHBhcmFtIGxhbmcgaXMgdGhlIGxhbmd1YWdlIGNvZGUgYmFzZWQgb24gdGhlIGNvbnZlbnRpb24geW91IHVzZWQgZS5nLiAoZW4gb3IgZW4tRU4pXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW4gdGhlIG9iamVjdCB0cmFuc2xhdGlvbiBmb3IgZ2l2ZW4gbGFuZ3VhZ2UgYWZ0ZXIgbGFuZ3VhZ2VcbiAgICAgKiBmdWxseSBsb2FkZWQuXG4gICAgICovXG4gICAgcHJpdmF0ZSB1c2UobGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobGFuZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdXBkYXRlcyB0aGUgSFRNTCBlbGVtZW50IGxhbmcgYXR0cmlidXRlXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgdXBkYXRlSFRNTERPTUxhbmcobGFuZzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmxhbmcgPSBsYW5nO1xuICAgIH1cbn1cbiJdfQ==
@@ -29,10 +29,10 @@ export class I18nServiceMock extends I18nService {
29
29
  lazyLoadInit() {
30
30
  return of({ success: true });
31
31
  }
32
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: I18nServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
33
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: I18nServiceMock }); }
32
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: I18nServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
33
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: I18nServiceMock }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: I18nServiceMock, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: I18nServiceMock, decorators: [{
36
36
  type: Injectable
37
37
  }], ctorParameters: function () { return []; } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLm1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2kxOG4vaTE4bi5zZXJ2aWNlLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzdDLE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQVc7SUFHNUM7UUFDSSxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBSGhDLHFCQUFnQixHQUFHLElBQUksQ0FBQztJQUloQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLFlBQVksRUFBbUIsQ0FBQztJQUMvQyxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQW9CO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBSSxDQUFDLFNBQXFCO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztRQUNyRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO2lJQWxDUSxlQUFlO3FJQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmdDaGFuZ2VFdmVudCB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV1aVNlcnZpY2VTdGF0dXMsIEkxOG5TdGF0ZSB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4vaTE4bi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEkxOG5TZXJ2aWNlTW9jayBleHRlbmRzIEkxOG5TZXJ2aWNlIHtcbiAgICBwcml2YXRlIERFRkFVTFRfTEFOR1VBR0UgPSAnZW4nO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwpO1xuICAgIH1cblxuICAgIGdldCBvbkxhbmdDaGFuZ2UoKTogRXZlbnRFbWl0dGVyPExhbmdDaGFuZ2VFdmVudD4ge1xuICAgICAgICByZXR1cm4gbmV3IEV2ZW50RW1pdHRlcjxMYW5nQ2hhbmdlRXZlbnQ+KCk7XG4gICAgfVxuXG4gICAgYWRkUmVzb3VyY2VzKCk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGdldCBjdXJyZW50TGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuREVGQVVMVF9MQU5HVUFHRTtcbiAgICB9XG5cbiAgICBnZXRTdGF0ZSgpOiBPYnNlcnZhYmxlPEkxOG5TdGF0ZT4ge1xuICAgICAgICByZXR1cm4gb2YoeyBhY3RpdmVMYW5nOiB0aGlzLkRFRkFVTFRfTEFOR1VBR0UgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlU3RhdGUoaTE4blN0YXRlOiBJMThuU3RhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ERUZBVUxUX0xBTkdVQUdFID0gaTE4blN0YXRlLmFjdGl2ZUxhbmcgfHwgJ2VuJztcbiAgICB9XG5cbiAgICBpbml0KGkxOG5TdGF0ZT86IEkxOG5TdGF0ZSk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICB0aGlzLkRFRkFVTFRfTEFOR1VBR0UgPSBpMThuU3RhdGUuYWN0aXZlTGFuZyB8fCAnZW4nO1xuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGxhenlMb2FkSW5pdCgpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogdHJ1ZSB9KTtcbiAgICB9XG59XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLm1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2kxOG4vaTE4bi5zZXJ2aWNlLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzdDLE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQVc7SUFHNUM7UUFDSSxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBSGhDLHFCQUFnQixHQUFHLElBQUksQ0FBQztJQUloQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLFlBQVksRUFBbUIsQ0FBQztJQUMvQyxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQW9CO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBSSxDQUFDLFNBQXFCO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztRQUNyRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO2tJQWxDUSxlQUFlO3NJQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmdDaGFuZ2VFdmVudCB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV1aVNlcnZpY2VTdGF0dXMsIEkxOG5TdGF0ZSB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4vaTE4bi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEkxOG5TZXJ2aWNlTW9jayBleHRlbmRzIEkxOG5TZXJ2aWNlIHtcbiAgICBwcml2YXRlIERFRkFVTFRfTEFOR1VBR0UgPSAnZW4nO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwpO1xuICAgIH1cblxuICAgIGdldCBvbkxhbmdDaGFuZ2UoKTogRXZlbnRFbWl0dGVyPExhbmdDaGFuZ2VFdmVudD4ge1xuICAgICAgICByZXR1cm4gbmV3IEV2ZW50RW1pdHRlcjxMYW5nQ2hhbmdlRXZlbnQ+KCk7XG4gICAgfVxuXG4gICAgYWRkUmVzb3VyY2VzKCk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGdldCBjdXJyZW50TGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuREVGQVVMVF9MQU5HVUFHRTtcbiAgICB9XG5cbiAgICBnZXRTdGF0ZSgpOiBPYnNlcnZhYmxlPEkxOG5TdGF0ZT4ge1xuICAgICAgICByZXR1cm4gb2YoeyBhY3RpdmVMYW5nOiB0aGlzLkRFRkFVTFRfTEFOR1VBR0UgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlU3RhdGUoaTE4blN0YXRlOiBJMThuU3RhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ERUZBVUxUX0xBTkdVQUdFID0gaTE4blN0YXRlLmFjdGl2ZUxhbmcgfHwgJ2VuJztcbiAgICB9XG5cbiAgICBpbml0KGkxOG5TdGF0ZT86IEkxOG5TdGF0ZSk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICB0aGlzLkRFRkFVTFRfTEFOR1VBR0UgPSBpMThuU3RhdGUuYWN0aXZlTGFuZyB8fCAnZW4nO1xuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGxhenlMb2FkSW5pdCgpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogdHJ1ZSB9KTtcbiAgICB9XG59XG4iXX0=
@@ -206,10 +206,10 @@ export class LocaleService extends EuiService {
206
206
  }
207
207
  });
208
208
  }
209
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LocaleService, deps: [{ token: i1.StoreService }, { token: GLOBAL_CONFIG_TOKEN }, { token: LOCALE_ID }, { token: LOCALE_ID_MAPPER, optional: true }, { token: i2.I18nService, optional: true }, { token: i3.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
210
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LocaleService, providedIn: 'root' }); }
209
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LocaleService, deps: [{ token: i1.StoreService }, { token: GLOBAL_CONFIG_TOKEN }, { token: LOCALE_ID }, { token: LOCALE_ID_MAPPER, optional: true }, { token: i2.I18nService, optional: true }, { token: i3.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
210
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LocaleService, providedIn: 'root' }); }
211
211
  }
212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LocaleService, decorators: [{
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LocaleService, decorators: [{
213
213
  type: Injectable,
214
214
  args: [{
215
215
  providedIn: 'root',
@@ -230,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
230
230
  }] }, { type: i3.LogService, decorators: [{
231
231
  type: Optional
232
232
  }] }]; } });
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvY2FsZS9sb2NhbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFDSCxVQUFVLEVBRVYsY0FBYyxFQUNkLDhCQUE4QixHQUtqQyxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBZ0IsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFHN0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWUsZ0JBQWdCLENBQUMsQ0FBQztBQUtuRixNQUFNLE9BQU8sYUFBbUQsU0FBUSxVQUEyQjtJQUsvRixZQUNjLEtBQW1CLEVBQ1UsZ0JBQThCLEVBQ3hDLFNBQWlCLEVBQ0EsWUFBMEIsRUFDcEQsSUFBaUIsRUFDakIsR0FBZTtRQUVuQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQVA1QixV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QUMsQ0FBQztJQUNQLENBQUM7aUlBaE9RLGFBQWEsOENBT1YsbUJBQW1CLGFBQ25CLFNBQVMsYUFDRyxnQkFBZ0I7cUlBVC9CLGFBQWEsY0FGVixNQUFNOzsyRkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBUVEsTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUMxQixNQUFNOzJCQUFDLFNBQVM7OzBCQUNoQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQ25DLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFuZ3VsYXIgaXMgdXNpbmcgYSBndWxwIHRhc2sgdG8gZ2VuZXJhdGUgdGhlIGxvY2FsZXMgdGhhdCB3ZSBkeW5hbWljYWxseSBpbXBvcnQuIFRoaXMgdGFzayBjYW4gYmUgZm91bmQgaGVyZVxuICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iL21hc3Rlci90b29scy9ndWxwLXRhc2tzL2NsZHIvY2xkci1kYXRhLmpzXG4gKiBUaGF0IHRhc2sgaXMgdXRpbGl6aW5nIHRoZSBDTERSIGxpYnJhcnkgdG8gbG9hZCBhbmQgY29uc3RydWN0IHRoZSBsb2NhbGUgZm9yIGVhY2ggcmVnaW9uLiBUaGlzIHNlcnZpY2UgaXMgcmVzcG9uc2libGVcbiAqIHRvIGxvYWQgdGhvc2UgbG9jYWxlIGR5bmFtaWNhbGx5IHVwb24gcmVxdWVzdCBhbmQgdG8gdXBkYXRlIHRoZSBzdGF0ZSBvZiB0aGUgZVVJIGFwcC5cbiAqXG4gKiBQYXJ0cyB0aGF0IGFyZSBoYW5kbGVzIHRocm91Z2ggY29uZmlndXJhdGlvbjpcbiAqICAtIHVwZGF0ZSBvZiB0aGUgTE9DQUxFX0lEIHRva2VuXG4gKiAgLSBpbml0aWFsIGR5bmFtaWNhbCBsb2FkIG9mIGxvY2FsZXNcbiAqICAtIGJpbmQgdG8gdHJhbnNsYXRpb24gc2VydmljZSBmb3IgbG9jYWxlIGNoYW5nZXNcbiAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBMT0NBTEVfSUQsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldExvY2FsZUlkIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgRXVpU2VydmljZSxcbiAgICBFdWlTZXJ2aWNlU3RhdHVzLFxuICAgIGdldExvY2FsZVN0YXRlLFxuICAgIGdldExvY2FsZVNlcnZpY2VDb25maWdGcm9tQmFzZSxcbiAgICBHbG9iYWxDb25maWcsXG4gICAgTG9jYWxlU2VydmljZUNvbmZpZyxcbiAgICBMb2NhbGVTdGF0ZSxcbiAgICBMb2dnZXIsXG59IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UsIFVwZGF0ZUxvY2FsZVN0YXRlQWN0aW9uIH0gZnJvbSAnLi4vc3RvcmUnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uL2kxOG4nO1xuaW1wb3J0IHsgR0xPQkFMX0NPTkZJR19UT0tFTiB9IGZyb20gJy4uL2NvbmZpZy90b2tlbnMnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmV4cG9ydCB0eXBlIExvY2FsZU1hcHBlciA9IChsb2NhbGU6IHN0cmluZykgPT4gYW55O1xuZXhwb3J0IGNvbnN0IExPQ0FMRV9JRF9NQVBQRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9jYWxlTWFwcGVyPignbG9jYWxlSWRNYXBwZXInKTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTG9jYWxlU2VydmljZTxUIGV4dGVuZHMgTG9jYWxlU3RhdGUgPSBMb2NhbGVTdGF0ZT4gZXh0ZW5kcyBFdWlTZXJ2aWNlPFQgfCBMb2NhbGVTdGF0ZT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG4gICAgcHJpdmF0ZSBzdWJOb3RpZmllcjogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcm90ZWN0ZWQgY29uZmlnOiBMb2NhbGVTZXJ2aWNlQ29uZmlnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmVTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEdMT0JBTF9DT05GSUdfVE9LRU4pIHByb3RlY3RlZCBiYXNlR2xvYmFsQ29uZmlnOiBHbG9iYWxDb25maWcsXG4gICAgICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwcm90ZWN0ZWQgbG9jYWxlX2lkOiBzdHJpbmcsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTE9DQUxFX0lEX01BUFBFUikgcHJpdmF0ZSBsb2NhbGVNYXBwZXI6IExvY2FsZU1hcHBlcixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBpMThuOiBJMThuU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBsb2c6IExvZ1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoeyBpZDogZ2V0TG9jYWxlSWQobG9jYWxlX2lkKSB9KTtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2cuZ2V0TG9nZ2VyKCdjb3JlLkxvY2FsZVNlcnZpY2UnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29uZmlnID0gZ2V0TG9jYWxlU2VydmljZUNvbmZpZ0Zyb21CYXNlKHRoaXMuYmFzZUdsb2JhbENvbmZpZyk7XG4gICAgICAgIC8vIGluIGNhc2Ugbm8gbG9jYWxlTWFwcGVyIHByb3ZpZGVkLCBzZXQgdGhlIGFuZ3VsYXIgZ2V0TG9jYWxlSWQgYXMgZGVmYXVsdFxuICAgICAgICBpZiAoIXRoaXMubG9jYWxlTWFwcGVyKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2FsZU1hcHBlciA9IGdldExvY2FsZUlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3ViTm90aWZpZXIubmV4dCh2b2lkIDApO1xuICAgICAgICB0aGlzLnN1Yk5vdGlmaWVyLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGU8SyA9IFQ+KG1hcEZuPzogKHN0YXRlOiBUKSA9PiBLKTogT2JzZXJ2YWJsZTxLPjtcbiAgICBnZXRTdGF0ZTxhIGV4dGVuZHMga2V5b2YgVD4oa2V5PzogYSk6IE9ic2VydmFibGU8VFthXT47XG4gICAgZ2V0U3RhdGU8Sz4oa2V5T3JNYXBGbj86ICgoc3RhdGU6IFQpID0+IEspIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxLPiB7XG4gICAgICAgIGxldCBzZWxlY3RvcjogYW55ID0gZ2V0TG9jYWxlU3RhdGU7XG4gICAgICAgIGxldCBkb3ROb3RhdGlvblRvT2JqZWN0ID0gKG9iaiwga2V5KSA9PiBrZXkuc3BsaXQoJy4nKS5yZWR1Y2UoKHNsaWNlLCBpKSA9PiBzbGljZVtpXSwgb2JqKTtcblxuICAgICAgICBpZiAoa2V5T3JNYXBGbikge1xuICAgICAgICAgICAgc3dpdGNoICh0eXBlb2Yga2V5T3JNYXBGbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihnZXRMb2NhbGVTdGF0ZSwga2V5T3JNYXBGbik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoZ2V0TG9jYWxlU3RhdGUsIChzdGF0ZSkgPT4gZG90Tm90YXRpb25Ub09iamVjdChzdGF0ZSwga2V5T3JNYXBGbikpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3IpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5zdWJOb3RpZmllciksXG4gICAgICAgICAgICAvLyBpbiBjYXNlIHNlcnZpY2UgZGlkbid0IGluaXQgZmFsbGJhY2sgdG8gTE9DQUxFX0lEIHRva2VuIHZhbHVlXG4gICAgICAgICAgICBtYXAoKHN0YXRlKSA9PiAoc3RhdGUgPyBzdGF0ZSA6IHRoaXMuc3RhdGVJbnN0YW5jZSA/IHRoaXMuc3RhdGVJbnN0YW5jZSA6IHRoaXMubG9jYWxlX2lkKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpbml0KHN0YXRlPzogTG9jYWxlU3RhdGUgfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgc3VwZXIuaW5pdEV1aVNlcnZpY2UoKTtcblxuICAgICAgICAvLyBiaW5kIGxhbmd1YWdlIGNoYW5nZXMgdG8gbG9jYWxlIGNoYW5nZXNcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnPy5iaW5kV2l0aFRyYW5zbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5iaW5kVHJhbnNsYXRlU2VydmljZUxhbmdDaGFuZ2VUb1N0YXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBkeW5hbWljYWxseSBsb2FkIGxvY2FsZSBiYXNlZCBvbiBwcm92aWRlZCBjb25maWd1cmF0aW9uXG4gICAgICAgIGNvbnN0IGF2YWlsYWJsZUxvY2FsZXMgPSBzdGF0ZT8uYXZhaWxhYmxlIHx8IHRoaXMuY29uZmlnPy5hdmFpbGFibGUgfHwgdGhpcy5nZXRCcm93c2VyTG9jYWxlcygpIHx8IFt0aGlzLmN1cnJlbnRMb2NhbGVdO1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkTG9jYWxlKGF2YWlsYWJsZUxvY2FsZXMpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5zdWJOb3RpZmllciksXG4gICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy51cGRhdGVTdGF0ZShzdGF0ZSB8fCB7IGlkOiB0aGlzLmN1cnJlbnRMb2NhbGUgfSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZHluYW1pY2FsbHkgbG9hZCBsb2NhbGUgYW5kIHVwZGF0ZSB0aGUgc3RhdGVcbiAgICAgKi9cbiAgICB1cGRhdGVTdGF0ZShzdGF0ZTogTG9jYWxlU3RhdGUpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGlkID0gdGhpcy5sb2NhbGVNYXBwZXIoc3RhdGUuaWQpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlTG9jYWxlU3RhdGVBY3Rpb24oeyAuLi5zdGF0ZSwgaWQgfSkpO1xuICAgICAgICAgICAgLy8gdXBkYXRlIGdsb2JhbCBUT0tFTiBJRCBiYXNlZCBvbiBjb25maWd1cmF0aW9uXG4gICAgICAgICAgICBpZiAodGhpcy5jb25maWcuYWZmZWN0R2xvYmFsTG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbGVfaWQgPSBpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBMb2NhbGUgZm9yICcke3N0YXRlLmlkfScgaXMgbm90IGF2YWlsYWJsZS5cbiAgICAgICAgICAgICAgICAgUGxlYXNlIHVzZSBhZGRMb2NhbGUoJyR7c3RhdGUuaWR9JykgZmlyc3RgO1xuICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhtZXNzYWdlLCBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFkZExvY2FsZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRMb2NhbGUoaWQpO1xuICAgIH1cblxuICAgIGdldCBwcmV2aW91c0xvY2FsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmV2U3RhdGVJbnN0YW5jZT8uaWQgfHwgdGhpcy5jdXJyZW50TG9jYWxlO1xuICAgIH1cblxuICAgIGdldCBjdXJyZW50TG9jYWxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlSW5zdGFuY2U/LmlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvYWQgYW5kIHJlZ2lzdGVyIGxvY2FsZSBkYXRhIGR5bmFtaWNhbGx5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9jYWxlIGFycmF5IG9mIGxvY2FsZSB0byBsb2FkXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHByaXZhdGUgbG9hZExvY2FsZShsb2NhbGU6IHN0cmluZ1tdIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIC8vIGxvY2FsZSA9IEFycmF5LmlzQXJyYXkobG9jYWxlKSA/IGxvY2FsZSA6IFtsb2NhbGVdO1xuICAgICAgICAvLyBjb25zdCBsb2NhbGVJbXBvcnRzOiBPYnNlcnZhYmxlPHsgZGF0YTogYW55LCBsb2NhbGVJZDogc3RyaW5nLCBleHRyYURhdGE6IGFueSB9PltdXG4gICAgICAgIC8vICAgICA9IHRoaXMuZmlsdGVyUmVnaXN0ZXJlZExvY2FsZXMobG9jYWxlKS5tYXAodGhpcy5pbXBvcnREYXRhQW5kRXh0cmFMb2NhbGUuYmluZCh0aGlzKSk7XG4gICAgICAgIC8vXG4gICAgICAgIC8vIC8vIGluIGNhc2UgbG9jYWxlSW1wb3J0cyBhcnJheSBpcyBlbXB0eSBiZWNhdXNlIGxvY2FsZSBleGlzdHMsIE9ic2VydmFibGUgc3RpbGwgbmVlZHMgdG8gY29tcGxldGVcbiAgICAgICAgLy8gaWYgKGxvY2FsZUltcG9ydHMubGVuZ3RoIDwgMSkge1xuICAgICAgICAvLyAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogdHJ1ZSB9KTtcbiAgICAgICAgLy8gfVxuICAgICAgICAvL1xuICAgICAgICAvLyByZXR1cm4gZm9ya0pvaW4oLi4ubG9jYWxlSW1wb3J0cykucGlwZShcbiAgICAgICAgLy8gICAgIHRha2VVbnRpbCh0aGlzLnN1Yk5vdGlmaWVyKSxcbiAgICAgICAgLy8gICAgIG1hcChsb2NhbGVEYXRhID0+IHtcbiAgICAgICAgLy8gICAgICAgICAvLyBmaWx0ZXIgb3V0IG51bGwgcmVzdWx0cyBhbmQgcmVnaXN0ZXJMb2NhbGVEYXRhIGluY2x1ZGluZyBleHRyYVxuICAgICAgICAvLyAgICAgICAgIGxvY2FsZURhdGEuZmlsdGVyKCh7IGRhdGEgfSkgPT4gZGF0YSlcbiAgICAgICAgLy8gICAgICAgICAgICAgLmZvckVhY2goKHsgZGF0YSwgbG9jYWxlSWQsIGV4dHJhRGF0YSB9KSA9PiByZWdpc3RlckxvY2FsZURhdGEoZGF0YSwgbG9jYWxlSWQsIGV4dHJhRGF0YSkpO1xuICAgICAgICAvLyAgICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICAgICAgLy8gICAgIH0pLFxuICAgICAgICAvLyAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgIC8vICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBMb2NhbGUgbG9hZCBlcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsIGVycm9yKTtcbiAgICAgICAgLy8gICAgICAgICB9XG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiBlcnJvciB9KTtcbiAgICAgICAgLy8gICAgIH0pXG4gICAgICAgIC8vICk7XG4gICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbGlzdGVuIGZvciBsYW5ndWFnZSBjaGFuZ2VzIGFuZCBkeW5hbWljYWxseSBzZXQgbG9jYWxlIGFjY29yZGluZ2x5LiBJbiBjYXNlIG9mIG5vbiByZWdpc3RlcmVkIGxvY2FsZSByZWdpc3RlciBpdFxuICAgICAqIGR5bmFtaWNhbGx5LlxuICAgICAqL1xuICAgIHByaXZhdGUgYmluZFRyYW5zbGF0ZVNlcnZpY2VMYW5nQ2hhbmdlVG9TdGF0ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaTE4bikge1xuICAgICAgICAgICAgdGhpcy5pMThuLm9uU3RhdGVDaGFuZ2VcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuc3ViTm90aWZpZXIpLFxuICAgICAgICAgICAgICAgICAgICAvLyBmaWx0ZXIgb3V0IG51bGwgdmFsdWVzXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoc3RhdGUpID0+IHN0YXRlPy5hY3RpdmVMYW5nICE9PSBudWxsICYmIHN0YXRlPy5hY3RpdmVMYW5nICE9PSB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgICAgICAvLyBCRVdBUkU6IGZpbHRlciBpcyBiYXNlZCBvbiBjb252ZW50aW9uIHRoYXQgbG9jYWxlIGlkIHNsaWNlZCgyKSB3aWxsIG1hdGNoIGFjdGl2ZUxhbmcgZS5nLiBlbi1VUyA9PiBlblxuICAgICAgICAgICAgICAgICAgICAvLyBBbHNvLCBpZiBhY3RpdmVMYW5nIGlzICdlbicgYW5kIGxvY2FsZSBpcyAnZW4tR0InIGl0IHdpbGwgbm90IHRyaWdnZXIgbG9jYWxlIGNoYW5nZVxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHN0YXRlKSA9PiBzdGF0ZS5hY3RpdmVMYW5nLnRvTG93ZXJDYXNlKCkgIT09IHRoaXMuc3RhdGVJbnN0YW5jZT8uaWQuc2xpY2UoMCwgMikudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICAgICAgICAgICAgIC8vIHRvIGNoZWNrIGlmIHJlZ2lzdHJhdGlvbiBvZiBsb2NhbGUgb3RoZXJ3aXNlIHJlZ2lzdGVyIGl0XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBvZih2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBnZXRMb2NhbGVJZCBtYXkgdGhyb3cgRXJyb3IoYE1pc3NpbmcgbG9jYWxlIGRhdGEgZm9yIHRoZSBsb2NhbGUgXCIke2xvY2FsZX1cIi5gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGkxOHN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIGFjdGl2ZUxhbmcgaXMgbnVsbCBvciB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpMThzdGF0ZS5hY3RpdmVMYW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcignSGFzIGkxOG5TZXJ2aWNlIGluaXRpYWxpemVkPyBJZiBub3QgbWFrZSBzdXJlIGkxOG5TZXJ2aWNlLmluaXQoKS5zdWJzY3JpYmUoLi4pJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMubG9jYWxlTWFwcGVyKGkxOHN0YXRlLmFjdGl2ZUxhbmcpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkTG9jYWxlKHZhbHVlPy5hY3RpdmVMYW5nKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChzOiBFdWlTZXJ2aWNlU3RhdHVzKSA9PiBzLnN1Y2Nlc3MpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMubG9jYWxlTWFwcGVyKHZhbHVlPy5hY3RpdmVMYW5nKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTb21ldGhpbmcgd2VudCB0ZXJyaWJseSByZWFsbHkgd3JvbmcgZHVyaW5nIGxvY2FsZSBsb2FkaW5nJywgZS5lcnIubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBcImF2YWlsYWJsZVwiIGFycmF5IGF0dHJpYnV0ZSB3aXRoIG5ld2x5IHJlZ2lzdGVyZWRcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKChpZCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0U3RhdGUoKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChzdGF0ZTogTG9jYWxlU3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYXZhaWxhYmxlID0gc3RhdGU/LmF2YWlsYWJsZSA/IHN0YXRlLmF2YWlsYWJsZSA6IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSwgaWQsIGF2YWlsYWJsZTogQXJyYXkuZnJvbShuZXcgU2V0KFsuLi5hdmFpbGFibGUsIGlkXSkpIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZTogTG9jYWxlU3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShzdGF0ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXRyaWV2ZSBsb2NhbGVzIGZyb20gYnJvd3NlclxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEJyb3dzZXJMb2NhbGVzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgYnJvd3NlckxvY2FsZXMgPSBuYXZpZ2F0b3IubGFuZ3VhZ2VzID09PSB1bmRlZmluZWQgPyBbbmF2aWdhdG9yLmxhbmd1YWdlXSA6IG5hdmlnYXRvci5sYW5ndWFnZXM7XG5cbiAgICAgICAgaWYgKCFicm93c2VyTG9jYWxlcykge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBicm93c2VyTG9jYWxlcy5tYXAoKGxvY2FsZSkgPT4gbG9jYWxlLnRyaW0oKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogaWYgbG9jYWxlIGlzIGFscmVhZHkgcmVnaXN0ZXJlZCBmaWx0ZXJlZCBvdXQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9jYWxlcyBBIHN0cmluZyBhcnJheSBjb250YWlucyBhbGwgbG9jYWxlIGlkIGUuZy4gW1wiZWxcIiwgXCJlbC1DWVwiXVxuICAgICAqL1xuICAgIHByaXZhdGUgZmlsdGVyUmVnaXN0ZXJlZExvY2FsZXMobG9jYWxlczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBsb2NhbGVzLmZpbHRlcigobG9jOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgZ2V0TG9jYWxlSWQobG9jKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB3aGljaCBsb2FkcyB0aGUgbG9jYWxlIGJhc2VkIG9uIHByb3ZpZGVkIElEXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWQgdGhlIGxvY2FsZSBpZCBlLmcuIGVuLCBlbC1DWVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgLy8gcHJpdmF0ZSBpbXBvcnRMb2NhbGUoaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgLy8gICAgIC8vIGluIGNhc2Ugb2YgYW4gZXJyb3IsIGNhdGNoIGl0IGFuZCByZXR1cm4gbnVsbFxuICAgIC8vICAgICByZXR1cm4gaW1wb3J0KFxuICAgIC8vICAgICAgICAgLyogd2VicGFja0V4Y2x1ZGU6IC9cXC5kXFwudHMkLyAqL1xuICAgIC8vICAgICAgICAgLyogd2VicGFja01vZGU6IFwibGF6eS1vbmNlXCIgKi9cbiAgICAvLyAgICAgICAgIC8qIHdlYnBhY2tDaHVua05hbWU6IFwiaTE4bi1iYXNlXCIgKi9cbiAgICAvLyAgICAgICAgIGBALy4uL25vZGVfbW9kdWxlcy9AYW5ndWxhci9jb21tb24vbG9jYWxlcy8ke2lkfWApXG4gICAgLy8gICAgICAgICAudGhlbihtID0+IG0uZGVmYXVsdClcbiAgICAvLyAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgLy8gICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgLy8gICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBMb2NhbGUgd2l0aCBJRDogXCIke2lkfVwiIGZhaWxlZCB0byBsb2FkLiBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsIGVycm9yKTtcbiAgICAvLyAgICAgICAgICAgICB9XG4gICAgLy8gICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgLy8gICAgICAgICB9KTtcbiAgICAvLyB9XG5cbiAgICAvKipcbiAgICAgKiByZXR1cm5zIGEgUHJvbWlzZSB3aGljaCBsb2FkcyB0aGUgbG9jYWxlIGJhc2VkIG9uIHByb3ZpZGVkIElEXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWQgdGhlIGxvY2FsZSBpZCBlLmcuIGVuLCBlbC1DWVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgLy8gcHJpdmF0ZSBpbXBvcnRFeHRyYUxvY2FsZShpZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICAvLyAgICAgLy8gaW4gY2FzZSBvZiBhbiBlcnJvciwgY2F0Y2ggaXQgYW5kIHJldHVybiBudWxsXG4gICAgLy8gICAgIHJldHVybiBpbXBvcnQoXG4gICAgLy8gICAgICAgICAvKiB3ZWJwYWNrRXhjbHVkZTogL1xcLmRcXC50cyQvICovXG4gICAgLy8gICAgICAgICAvKiB3ZWJwYWNrTW9kZTogXCJsYXp5LW9uY2VcIiAqL1xuICAgIC8vICAgICAgICAgLyogd2VicGFja0NodW5rTmFtZTogXCJpMThuLWV4dHJhXCIgKi9cbiAgICAvLyAgICAgICAgIGBALy4uL25vZGVfbW9kdWxlcy9AYW5ndWxhci9jb21tb24vbG9jYWxlcy9leHRyYS8ke2lkfWApXG4gICAgLy8gICAgICAgICAudGhlbihtID0+IG0uZGVmYXVsdClcbiAgICAvLyAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgLy8gICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgLy8gICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBFeHRyYSBMb2NhbGUgd2l0aCBJRDogXCIke2lkfVwiIGZhaWxlZCB0byBsb2FkLiBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsIGVycm9yKTtcbiAgICAvLyAgICAgICAgICAgICB9XG4gICAgLy8gICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgLy8gICAgICAgICB9KTtcbiAgICAvLyB9XG5cbiAgICAvKipcbiAgICAgKiBJbXBvcnRzIExvY2FsZSBhbmQgdGhlbiBFeHRyYS4gSXQgcmV0dXJucyB0aGUgT2JqZWN0IHdoaWNoIHJlZ2lzdGVyTG9jYWxlKC4uLikgZnVuY3Rpb24gbmVlZHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9jYWxlSWQgVGhlIGlkIG9mIHRoZSBsb2NhbGVcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIC8vIHByaXZhdGUgaW1wb3J0RGF0YUFuZEV4dHJhTG9jYWxlKGxvY2FsZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgZGF0YTogYW55LCBsb2NhbGVJZDogc3RyaW5nLCBleHRyYURhdGE6IGFueSB9PiB7XG4gICAgLy8gICAgIHJldHVybiBmcm9tKHRoaXMuaW1wb3J0TG9jYWxlKGxvY2FsZUlkKSkucGlwZShcbiAgICAvLyAgICAgICAgIG1lcmdlTWFwKChkYXRhKSA9PiBmcm9tKHRoaXMuaW1wb3J0RXh0cmFMb2NhbGUobG9jYWxlSWQpKS5waXBlKG1hcCgoZXh0cmFEYXRhKSA9PlxuICAgIC8vICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHt9LCB7IGRhdGEsIGxvY2FsZUlkLCBleHRyYURhdGEgfSkpKSxcbiAgICAvLyAgICAgICAgICAgICAxXG4gICAgLy8gICAgICAgICApKTtcbiAgICAvLyB9XG59XG4iXX0=
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvY2FsZS9sb2NhbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFDSCxVQUFVLEVBRVYsY0FBYyxFQUNkLDhCQUE4QixHQUtqQyxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBZ0IsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFHN0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWUsZ0JBQWdCLENBQUMsQ0FBQztBQUtuRixNQUFNLE9BQU8sYUFBbUQsU0FBUSxVQUEyQjtJQUsvRixZQUNjLEtBQW1CLEVBQ1UsZ0JBQThCLEVBQ3hDLFNBQWlCLEVBQ0EsWUFBMEIsRUFDcEQsSUFBaUIsRUFDakIsR0FBZTtRQUVuQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQVA1QixV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QUMsQ0FBQztJQUNQLENBQUM7a0lBaE9RLGFBQWEsOENBT1YsbUJBQW1CLGFBQ25CLFNBQVMsYUFDRyxnQkFBZ0I7c0lBVC9CLGFBQWEsY0FGVixNQUFNOzs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBUVEsTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUMxQixNQUFNOzJCQUFDLFNBQVM7OzBCQUNoQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQ25DLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFuZ3VsYXIgaXMgdXNpbmcgYSBndWxwIHRhc2sgdG8gZ2VuZXJhdGUgdGhlIGxvY2FsZXMgdGhhdCB3ZSBkeW5hbWljYWxseSBpbXBvcnQuIFRoaXMgdGFzayBjYW4gYmUgZm91bmQgaGVyZVxuICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iL21hc3Rlci90b29scy9ndWxwLXRhc2tzL2NsZHIvY2xkci1kYXRhLmpzXG4gKiBUaGF0IHRhc2sgaXMgdXRpbGl6aW5nIHRoZSBDTERSIGxpYnJhcnkgdG8gbG9hZCBhbmQgY29uc3RydWN0IHRoZSBsb2NhbGUgZm9yIGVhY2ggcmVnaW9uLiBUaGlzIHNlcnZpY2UgaXMgcmVzcG9uc2libGVcbiAqIHRvIGxvYWQgdGhvc2UgbG9jYWxlIGR5bmFtaWNhbGx5IHVwb24gcmVxdWVzdCBhbmQgdG8gdXBkYXRlIHRoZSBzdGF0ZSBvZiB0aGUgZVVJIGFwcC5cbiAqXG4gKiBQYXJ0cyB0aGF0IGFyZSBoYW5kbGVzIHRocm91Z2ggY29uZmlndXJhdGlvbjpcbiAqICAtIHVwZGF0ZSBvZiB0aGUgTE9DQUxFX0lEIHRva2VuXG4gKiAgLSBpbml0aWFsIGR5bmFtaWNhbCBsb2FkIG9mIGxvY2FsZXNcbiAqICAtIGJpbmQgdG8gdHJhbnNsYXRpb24gc2VydmljZSBmb3IgbG9jYWxlIGNoYW5nZXNcbiAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBMT0NBTEVfSUQsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldExvY2FsZUlkIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgRXVpU2VydmljZSxcbiAgICBFdWlTZXJ2aWNlU3RhdHVzLFxuICAgIGdldExvY2FsZVN0YXRlLFxuICAgIGdldExvY2FsZVNlcnZpY2VDb25maWdGcm9tQmFzZSxcbiAgICBHbG9iYWxDb25maWcsXG4gICAgTG9jYWxlU2VydmljZUNvbmZpZyxcbiAgICBMb2NhbGVTdGF0ZSxcbiAgICBMb2dnZXIsXG59IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UsIFVwZGF0ZUxvY2FsZVN0YXRlQWN0aW9uIH0gZnJvbSAnLi4vc3RvcmUnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uL2kxOG4nO1xuaW1wb3J0IHsgR0xPQkFMX0NPTkZJR19UT0tFTiB9IGZyb20gJy4uL2NvbmZpZy90b2tlbnMnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmV4cG9ydCB0eXBlIExvY2FsZU1hcHBlciA9IChsb2NhbGU6IHN0cmluZykgPT4gYW55O1xuZXhwb3J0IGNvbnN0IExPQ0FMRV9JRF9NQVBQRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9jYWxlTWFwcGVyPignbG9jYWxlSWRNYXBwZXInKTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTG9jYWxlU2VydmljZTxUIGV4dGVuZHMgTG9jYWxlU3RhdGUgPSBMb2NhbGVTdGF0ZT4gZXh0ZW5kcyBFdWlTZXJ2aWNlPFQgfCBMb2NhbGVTdGF0ZT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG4gICAgcHJpdmF0ZSBzdWJOb3RpZmllcjogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcm90ZWN0ZWQgY29uZmlnOiBMb2NhbGVTZXJ2aWNlQ29uZmlnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmVTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEdMT0JBTF9DT05GSUdfVE9LRU4pIHByb3RlY3RlZCBiYXNlR2xvYmFsQ29uZmlnOiBHbG9iYWxDb25maWcsXG4gICAgICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwcm90ZWN0ZWQgbG9jYWxlX2lkOiBzdHJpbmcsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTE9DQUxFX0lEX01BUFBFUikgcHJpdmF0ZSBsb2NhbGVNYXBwZXI6IExvY2FsZU1hcHBlcixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBpMThuOiBJMThuU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBsb2c6IExvZ1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoeyBpZDogZ2V0TG9jYWxlSWQobG9jYWxlX2lkKSB9KTtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2cuZ2V0TG9nZ2VyKCdjb3JlLkxvY2FsZVNlcnZpY2UnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29uZmlnID0gZ2V0TG9jYWxlU2VydmljZUNvbmZpZ0Zyb21CYXNlKHRoaXMuYmFzZUdsb2JhbENvbmZpZyk7XG4gICAgICAgIC8vIGluIGNhc2Ugbm8gbG9jYWxlTWFwcGVyIHByb3ZpZGVkLCBzZXQgdGhlIGFuZ3VsYXIgZ2V0TG9jYWxlSWQgYXMgZGVmYXVsdFxuICAgICAgICBpZiAoIXRoaXMubG9jYWxlTWFwcGVyKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2FsZU1hcHBlciA9IGdldExvY2FsZUlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3ViTm90aWZpZXIubmV4dCh2b2lkIDApO1xuICAgICAgICB0aGlzLnN1Yk5vdGlmaWVyLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGU8SyA9IFQ+KG1hcEZuPzogKHN0YXRlOiBUKSA9PiBLKTogT2JzZXJ2YWJsZTxLPjtcbiAgICBnZXRTdGF0ZTxhIGV4dGVuZHMga2V5b2YgVD4oa2V5PzogYSk6IE9ic2VydmFibGU8VFthXT47XG4gICAgZ2V0U3RhdGU8Sz4oa2V5T3JNYXBGbj86ICgoc3RhdGU6IFQpID0+IEspIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxLPiB7XG4gICAgICAgIGxldCBzZWxlY3RvcjogYW55ID0gZ2V0TG9jYWxlU3RhdGU7XG4gICAgICAgIGxldCBkb3ROb3RhdGlvblRvT2JqZWN0ID0gKG9iaiwga2V5KSA9PiBrZXkuc3BsaXQoJy4nKS5yZWR1Y2UoKHNsaWNlLCBpKSA9PiBzbGljZVtpXSwgb2JqKTtcblxuICAgICAgICBpZiAoa2V5T3JNYXBGbikge1xuICAgICAgICAgICAgc3dpdGNoICh0eXBlb2Yga2V5T3JNYXBGbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihnZXRMb2NhbGVTdGF0ZSwga2V5T3JNYXBGbik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoZ2V0TG9jYWxlU3RhdGUsIChzdGF0ZSkgPT4gZG90Tm90YXRpb25Ub09iamVjdChzdGF0ZSwga2V5T3JNYXBGbikpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3IpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5zdWJOb3RpZmllciksXG4gICAgICAgICAgICAvLyBpbiBjYXNlIHNlcnZpY2UgZGlkbid0IGluaXQgZmFsbGJhY2sgdG8gTE9DQUxFX0lEIHRva2VuIHZhbHVlXG4gICAgICAgICAgICBtYXAoKHN0YXRlKSA9PiAoc3RhdGUgPyBzdGF0ZSA6IHRoaXMuc3RhdGVJbnN0YW5jZSA/IHRoaXMuc3RhdGVJbnN0YW5jZSA6IHRoaXMubG9jYWxlX2lkKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpbml0KHN0YXRlPzogTG9jYWxlU3RhdGUgfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgc3VwZXIuaW5pdEV1aVNlcnZpY2UoKTtcblxuICAgICAgICAvLyBiaW5kIGxhbmd1YWdlIGNoYW5nZXMgdG8gbG9jYWxlIGNoYW5nZXNcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnPy5iaW5kV2l0aFRyYW5zbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5iaW5kVHJhbnNsYXRlU2VydmljZUxhbmdDaGFuZ2VUb1N0YXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBkeW5hbWljYWxseSBsb2FkIGxvY2FsZSBiYXNlZCBvbiBwcm92aWRlZCBjb25maWd1cmF0aW9uXG4gICAgICAgIGNvbnN0IGF2YWlsYWJsZUxvY2FsZXMgPSBzdGF0ZT8uYXZhaWxhYmxlIHx8IHRoaXMuY29uZmlnPy5hdmFpbGFibGUgfHwgdGhpcy5nZXRCcm93c2VyTG9jYWxlcygpIHx8IFt0aGlzLmN1cnJlbnRMb2NhbGVdO1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkTG9jYWxlKGF2YWlsYWJsZUxvY2FsZXMpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5zdWJOb3RpZmllciksXG4gICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy51cGRhdGVTdGF0ZShzdGF0ZSB8fCB7IGlkOiB0aGlzLmN1cnJlbnRMb2NhbGUgfSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZHluYW1pY2FsbHkgbG9hZCBsb2NhbGUgYW5kIHVwZGF0ZSB0aGUgc3RhdGVcbiAgICAgKi9cbiAgICB1cGRhdGVTdGF0ZShzdGF0ZTogTG9jYWxlU3RhdGUpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGlkID0gdGhpcy5sb2NhbGVNYXBwZXIoc3RhdGUuaWQpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlTG9jYWxlU3RhdGVBY3Rpb24oeyAuLi5zdGF0ZSwgaWQgfSkpO1xuICAgICAgICAgICAgLy8gdXBkYXRlIGdsb2JhbCBUT0tFTiBJRCBiYXNlZCBvbiBjb25maWd1cmF0aW9uXG4gICAgICAgICAgICBpZiAodGhpcy5jb25maWcuYWZmZWN0R2xvYmFsTG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbGVfaWQgPSBpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBMb2NhbGUgZm9yICcke3N0YXRlLmlkfScgaXMgbm90IGF2YWlsYWJsZS5cbiAgICAgICAgICAgICAgICAgUGxlYXNlIHVzZSBhZGRMb2NhbGUoJyR7c3RhdGUuaWR9JykgZmlyc3RgO1xuICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhtZXNzYWdlLCBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFkZExvY2FsZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRMb2NhbGUoaWQpO1xuICAgIH1cblxuICAgIGdldCBwcmV2aW91c0xvY2FsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmV2U3RhdGVJbnN0YW5jZT8uaWQgfHwgdGhpcy5jdXJyZW50TG9jYWxlO1xuICAgIH1cblxuICAgIGdldCBjdXJyZW50TG9jYWxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlSW5zdGFuY2U/LmlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvYWQgYW5kIHJlZ2lzdGVyIGxvY2FsZSBkYXRhIGR5bmFtaWNhbGx5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9jYWxlIGFycmF5IG9mIGxvY2FsZSB0byBsb2FkXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHByaXZhdGUgbG9hZExvY2FsZShsb2NhbGU6IHN0cmluZ1tdIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIC8vIGxvY2FsZSA9IEFycmF5LmlzQXJyYXkobG9jYWxlKSA/IGxvY2FsZSA6IFtsb2NhbGVdO1xuICAgICAgICAvLyBjb25zdCBsb2NhbGVJbXBvcnRzOiBPYnNlcnZhYmxlPHsgZGF0YTogYW55LCBsb2NhbGVJZDogc3RyaW5nLCBleHRyYURhdGE6IGFueSB9PltdXG4gICAgICAgIC8vICAgICA9IHRoaXMuZmlsdGVyUmVnaXN0ZXJlZExvY2FsZXMobG9jYWxlKS5tYXAodGhpcy5pbXBvcnREYXRhQW5kRXh0cmFMb2NhbGUuYmluZCh0aGlzKSk7XG4gICAgICAgIC8vXG4gICAgICAgIC8vIC8vIGluIGNhc2UgbG9jYWxlSW1wb3J0cyBhcnJheSBpcyBlbXB0eSBiZWNhdXNlIGxvY2FsZSBleGlzdHMsIE9ic2VydmFibGUgc3RpbGwgbmVlZHMgdG8gY29tcGxldGVcbiAgICAgICAgLy8gaWYgKGxvY2FsZUltcG9ydHMubGVuZ3RoIDwgMSkge1xuICAgICAgICAvLyAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogdHJ1ZSB9KTtcbiAgICAgICAgLy8gfVxuICAgICAgICAvL1xuICAgICAgICAvLyByZXR1cm4gZm9ya0pvaW4oLi4ubG9jYWxlSW1wb3J0cykucGlwZShcbiAgICAgICAgLy8gICAgIHRha2VVbnRpbCh0aGlzLnN1Yk5vdGlmaWVyKSxcbiAgICAgICAgLy8gICAgIG1hcChsb2NhbGVEYXRhID0+IHtcbiAgICAgICAgLy8gICAgICAgICAvLyBmaWx0ZXIgb3V0IG51bGwgcmVzdWx0cyBhbmQgcmVnaXN0ZXJMb2NhbGVEYXRhIGluY2x1ZGluZyBleHRyYVxuICAgICAgICAvLyAgICAgICAgIGxvY2FsZURhdGEuZmlsdGVyKCh7IGRhdGEgfSkgPT4gZGF0YSlcbiAgICAgICAgLy8gICAgICAgICAgICAgLmZvckVhY2goKHsgZGF0YSwgbG9jYWxlSWQsIGV4dHJhRGF0YSB9KSA9PiByZWdpc3RlckxvY2FsZURhdGEoZGF0YSwgbG9jYWxlSWQsIGV4dHJhRGF0YSkpO1xuICAgICAgICAvLyAgICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICAgICAgLy8gICAgIH0pLFxuICAgICAgICAvLyAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgIC8vICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBMb2NhbGUgbG9hZCBlcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsIGVycm9yKTtcbiAgICAgICAgLy8gICAgICAgICB9XG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiBlcnJvciB9KTtcbiAgICAgICAgLy8gICAgIH0pXG4gICAgICAgIC8vICk7XG4gICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbGlzdGVuIGZvciBsYW5ndWFnZSBjaGFuZ2VzIGFuZCBkeW5hbWljYWxseSBzZXQgbG9jYWxlIGFjY29yZGluZ2x5LiBJbiBjYXNlIG9mIG5vbiByZWdpc3RlcmVkIGxvY2FsZSByZWdpc3RlciBpdFxuICAgICAqIGR5bmFtaWNhbGx5LlxuICAgICAqL1xuICAgIHByaXZhdGUgYmluZFRyYW5zbGF0ZVNlcnZpY2VMYW5nQ2hhbmdlVG9TdGF0ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaTE4bikge1xuICAgICAgICAgICAgdGhpcy5pMThuLm9uU3RhdGVDaGFuZ2VcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuc3ViTm90aWZpZXIpLFxuICAgICAgICAgICAgICAgICAgICAvLyBmaWx0ZXIgb3V0IG51bGwgdmFsdWVzXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoc3RhdGUpID0+IHN0YXRlPy5hY3RpdmVMYW5nICE9PSBudWxsICYmIHN0YXRlPy5hY3RpdmVMYW5nICE9PSB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgICAgICAvLyBCRVdBUkU6IGZpbHRlciBpcyBiYXNlZCBvbiBjb252ZW50aW9uIHRoYXQgbG9jYWxlIGlkIHNsaWNlZCgyKSB3aWxsIG1hdGNoIGFjdGl2ZUxhbmcgZS5nLiBlbi1VUyA9PiBlblxuICAgICAgICAgICAgICAgICAgICAvLyBBbHNvLCBpZiBhY3RpdmVMYW5nIGlzICdlbicgYW5kIGxvY2FsZSBpcyAnZW4tR0InIGl0IHdpbGwgbm90IHRyaWdnZXIgbG9jYWxlIGNoYW5nZVxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHN0YXRlKSA9PiBzdGF0ZS5hY3RpdmVMYW5nLnRvTG93ZXJDYXNlKCkgIT09IHRoaXMuc3RhdGVJbnN0YW5jZT8uaWQuc2xpY2UoMCwgMikudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICAgICAgICAgICAgIC8vIHRvIGNoZWNrIGlmIHJlZ2lzdHJhdGlvbiBvZiBsb2NhbGUgb3RoZXJ3aXNlIHJlZ2lzdGVyIGl0XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBvZih2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBnZXRMb2NhbGVJZCBtYXkgdGhyb3cgRXJyb3IoYE1pc3NpbmcgbG9jYWxlIGRhdGEgZm9yIHRoZSBsb2NhbGUgXCIke2xvY2FsZX1cIi5gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGkxOHN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIGFjdGl2ZUxhbmcgaXMgbnVsbCBvciB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpMThzdGF0ZS5hY3RpdmVMYW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcignSGFzIGkxOG5TZXJ2aWNlIGluaXRpYWxpemVkPyBJZiBub3QgbWFrZSBzdXJlIGkxOG5TZXJ2aWNlLmluaXQoKS5zdWJzY3JpYmUoLi4pJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMubG9jYWxlTWFwcGVyKGkxOHN0YXRlLmFjdGl2ZUxhbmcpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkTG9jYWxlKHZhbHVlPy5hY3RpdmVMYW5nKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChzOiBFdWlTZXJ2aWNlU3RhdHVzKSA9PiBzLnN1Y2Nlc3MpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMubG9jYWxlTWFwcGVyKHZhbHVlPy5hY3RpdmVMYW5nKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTb21ldGhpbmcgd2VudCB0ZXJyaWJseSByZWFsbHkgd3JvbmcgZHVyaW5nIGxvY2FsZSBsb2FkaW5nJywgZS5lcnIubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBcImF2YWlsYWJsZVwiIGFycmF5IGF0dHJpYnV0ZSB3aXRoIG5ld2x5IHJlZ2lzdGVyZWRcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKChpZCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0U3RhdGUoKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChzdGF0ZTogTG9jYWxlU3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYXZhaWxhYmxlID0gc3RhdGU/LmF2YWlsYWJsZSA/IHN0YXRlLmF2YWlsYWJsZSA6IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSwgaWQsIGF2YWlsYWJsZTogQXJyYXkuZnJvbShuZXcgU2V0KFsuLi5hdmFpbGFibGUsIGlkXSkpIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZTogTG9jYWxlU3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShzdGF0ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXRyaWV2ZSBsb2NhbGVzIGZyb20gYnJvd3NlclxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEJyb3dzZXJMb2NhbGVzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgYnJvd3NlckxvY2FsZXMgPSBuYXZpZ2F0b3IubGFuZ3VhZ2VzID09PSB1bmRlZmluZWQgPyBbbmF2aWdhdG9yLmxhbmd1YWdlXSA6IG5hdmlnYXRvci5sYW5ndWFnZXM7XG5cbiAgICAgICAgaWYgKCFicm93c2VyTG9jYWxlcykge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBicm93c2VyTG9jYWxlcy5tYXAoKGxvY2FsZSkgPT4gbG9jYWxlLnRyaW0oKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogaWYgbG9jYWxlIGlzIGFscmVhZHkgcmVnaXN0ZXJlZCBmaWx0ZXJlZCBvdXQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9jYWxlcyBBIHN0cmluZyBhcnJheSBjb250YWlucyBhbGwgbG9jYWxlIGlkIGUuZy4gW1wiZWxcIiwgXCJlbC1DWVwiXVxuICAgICAqL1xuICAgIHByaXZhdGUgZmlsdGVyUmVnaXN0ZXJlZExvY2FsZXMobG9jYWxlczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBsb2NhbGVzLmZpbHRlcigobG9jOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgZ2V0TG9jYWxlSWQobG9jKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB3aGljaCBsb2FkcyB0aGUgbG9jYWxlIGJhc2VkIG9uIHByb3ZpZGVkIElEXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWQgdGhlIGxvY2FsZSBpZCBlLmcuIGVuLCBlbC1DWVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgLy8gcHJpdmF0ZSBpbXBvcnRMb2NhbGUoaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgLy8gICAgIC8vIGluIGNhc2Ugb2YgYW4gZXJyb3IsIGNhdGNoIGl0IGFuZCByZXR1cm4gbnVsbFxuICAgIC8vICAgICByZXR1cm4gaW1wb3J0KFxuICAgIC8vICAgICAgICAgLyogd2VicGFja0V4Y2x1ZGU6IC9cXC5kXFwudHMkLyAqL1xuICAgIC8vICAgICAgICAgLyogd2VicGFja01vZGU6IFwibGF6eS1vbmNlXCIgKi9cbiAgICAvLyAgICAgICAgIC8qIHdlYnBhY2tDaHVua05hbWU6IFwiaTE4bi1iYXNlXCIgKi9cbiAgICAvLyAgICAgICAgIGBALy4uL25vZGVfbW9kdWxlcy9AYW5ndWxhci9jb21tb24vbG9jYWxlcy8ke2lkfWApXG4gICAgLy8gICAgICAgICAudGhlbihtID0+IG0uZGVmYXVsdClcbiAgICAvLyAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgLy8gICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgLy8gICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBMb2NhbGUgd2l0aCBJRDogXCIke2lkfVwiIGZhaWxlZCB0byBsb2FkLiBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsIGVycm9yKTtcbiAgICAvLyAgICAgICAgICAgICB9XG4gICAgLy8gICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgLy8gICAgICAgICB9KTtcbiAgICAvLyB9XG5cbiAgICAvKipcbiAgICAgKiByZXR1cm5zIGEgUHJvbWlzZSB3aGljaCBsb2FkcyB0aGUgbG9jYWxlIGJhc2VkIG9uIHByb3ZpZGVkIElEXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWQgdGhlIGxvY2FsZSBpZCBlLmcuIGVuLCBlbC1DWVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgLy8gcHJpdmF0ZSBpbXBvcnRFeHRyYUxvY2FsZShpZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICAvLyAgICAgLy8gaW4gY2FzZSBvZiBhbiBlcnJvciwgY2F0Y2ggaXQgYW5kIHJldHVybiBudWxsXG4gICAgLy8gICAgIHJldHVybiBpbXBvcnQoXG4gICAgLy8gICAgICAgICAvKiB3ZWJwYWNrRXhjbHVkZTogL1xcLmRcXC50cyQvICovXG4gICAgLy8gICAgICAgICAvKiB3ZWJwYWNrTW9kZTogXCJsYXp5LW9uY2VcIiAqL1xuICAgIC8vICAgICAgICAgLyogd2VicGFja0NodW5rTmFtZTogXCJpMThuLWV4dHJhXCIgKi9cbiAgICAvLyAgICAgICAgIGBALy4uL25vZGVfbW9kdWxlcy9AYW5ndWxhci9jb21tb24vbG9jYWxlcy9leHRyYS8ke2lkfWApXG4gICAgLy8gICAgICAgICAudGhlbihtID0+IG0uZGVmYXVsdClcbiAgICAvLyAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgLy8gICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgLy8gICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBFeHRyYSBMb2NhbGUgd2l0aCBJRDogXCIke2lkfVwiIGZhaWxlZCB0byBsb2FkLiBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsIGVycm9yKTtcbiAgICAvLyAgICAgICAgICAgICB9XG4gICAgLy8gICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgLy8gICAgICAgICB9KTtcbiAgICAvLyB9XG5cbiAgICAvKipcbiAgICAgKiBJbXBvcnRzIExvY2FsZSBhbmQgdGhlbiBFeHRyYS4gSXQgcmV0dXJucyB0aGUgT2JqZWN0IHdoaWNoIHJlZ2lzdGVyTG9jYWxlKC4uLikgZnVuY3Rpb24gbmVlZHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9jYWxlSWQgVGhlIGlkIG9mIHRoZSBsb2NhbGVcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIC8vIHByaXZhdGUgaW1wb3J0RGF0YUFuZEV4dHJhTG9jYWxlKGxvY2FsZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgZGF0YTogYW55LCBsb2NhbGVJZDogc3RyaW5nLCBleHRyYURhdGE6IGFueSB9PiB7XG4gICAgLy8gICAgIHJldHVybiBmcm9tKHRoaXMuaW1wb3J0TG9jYWxlKGxvY2FsZUlkKSkucGlwZShcbiAgICAvLyAgICAgICAgIG1lcmdlTWFwKChkYXRhKSA9PiBmcm9tKHRoaXMuaW1wb3J0RXh0cmFMb2NhbGUobG9jYWxlSWQpKS5waXBlKG1hcCgoZXh0cmFEYXRhKSA9PlxuICAgIC8vICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHt9LCB7IGRhdGEsIGxvY2FsZUlkLCBleHRyYURhdGEgfSkpKSxcbiAgICAvLyAgICAgICAgICAgICAxXG4gICAgLy8gICAgICAgICApKTtcbiAgICAvLyB9XG59XG4iXX0=
@@ -29,10 +29,10 @@ export class LocaleServiceMock extends LocaleService {
29
29
  this.DEFAULT_LOCALE = state.id || 'en';
30
30
  return of({ success: true });
31
31
  }
32
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LocaleServiceMock, deps: [{ token: LOCALE_ID, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
33
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LocaleServiceMock }); }
32
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LocaleServiceMock, deps: [{ token: LOCALE_ID, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
33
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LocaleServiceMock }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LocaleServiceMock, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LocaleServiceMock, decorators: [{
36
36
  type: Injectable
37
37
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
38
38
  type: Optional
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
40
40
  type: Inject,
41
41
  args: [LOCALE_ID]
42
42
  }] }]; } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnNlcnZpY2UubW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbG9jYWxlL2xvY2FsZS5zZXJ2aWNlLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBSWhELFlBQXFELFNBQWlCO1FBQ2xFLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRGpDLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFIOUQsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsaUJBQVksR0FBaUMsSUFBSSxlQUFlLENBQWMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFJbkgsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFrQjtRQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDO1FBQ3ZDLElBQUksS0FBSyxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDbkIsa0JBQWtCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3RDO2FBQU0sSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUMxQixrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQW1CO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUM7UUFDdkMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO2lJQXpCUSxpQkFBaUIsa0JBSU0sU0FBUztxSUFKaEMsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOzswQkFLTSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25hbCwgSW5qZWN0LCBJbmplY3RhYmxlLCBMT0NBTEVfSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV1aVNlcnZpY2VTdGF0dXMsIExvY2FsZVN0YXRlIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsZS5zZXJ2aWNlJztcbmltcG9ydCBsb2NhbGVGciBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9mcic7XG5pbXBvcnQgbG9jYWxlRWwgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZWwnO1xuaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsZVNlcnZpY2VNb2NrIGV4dGVuZHMgTG9jYWxlU2VydmljZSB7XG4gICAgcHJpdmF0ZSBERUZBVUxUX0xPQ0FMRSA9ICdlbic7XG4gICAgcHJpdmF0ZSBzdGF0ZVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxMb2NhbGVTdGF0ZT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExvY2FsZVN0YXRlPih7IGlkOiB0aGlzLkRFRkFVTFRfTE9DQUxFIH0pO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChMT0NBTEVfSUQpIHByb3RlY3RlZCBsb2NhbGVfaWQ6IHN0cmluZykge1xuICAgICAgICBzdXBlcihudWxsLCB7IGxvY2FsZTogeyBpZDogJ2VuJywgYXZhaWxhYmxlOiBbXSB9IH0sIGxvY2FsZV9pZCwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGUoKTogT2JzZXJ2YWJsZTxMb2NhbGVTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlU3RhdGUoc3RhdGU6IExvY2FsZVN0YXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuREVGQVVMVF9MT0NBTEUgPSBzdGF0ZS5pZCB8fCAnZW4nO1xuICAgICAgICBpZiAoc3RhdGUuaWQgPT09ICdmcicpIHtcbiAgICAgICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVGciwgJ2ZyJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdGUuaWQgPT09ICdlbCcpIHtcbiAgICAgICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVFbCwgJ2ZyJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdGF0ZVN1YmplY3QubmV4dChzdGF0ZSk7XG4gICAgfVxuXG4gICAgaW5pdChzdGF0ZT86IExvY2FsZVN0YXRlKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIHRoaXMuREVGQVVMVF9MT0NBTEUgPSBzdGF0ZS5pZCB8fCAnZW4nO1xuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgIH1cbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnNlcnZpY2UubW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbG9jYWxlL2xvY2FsZS5zZXJ2aWNlLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBSWhELFlBQXFELFNBQWlCO1FBQ2xFLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRGpDLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFIOUQsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsaUJBQVksR0FBaUMsSUFBSSxlQUFlLENBQWMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFJbkgsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFrQjtRQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDO1FBQ3ZDLElBQUksS0FBSyxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDbkIsa0JBQWtCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3RDO2FBQU0sSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUMxQixrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQW1CO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUM7UUFDdkMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO2tJQXpCUSxpQkFBaUIsa0JBSU0sU0FBUztzSUFKaEMsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOzswQkFLTSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25hbCwgSW5qZWN0LCBJbmplY3RhYmxlLCBMT0NBTEVfSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV1aVNlcnZpY2VTdGF0dXMsIExvY2FsZVN0YXRlIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsZS5zZXJ2aWNlJztcbmltcG9ydCBsb2NhbGVGciBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9mcic7XG5pbXBvcnQgbG9jYWxlRWwgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZWwnO1xuaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsZVNlcnZpY2VNb2NrIGV4dGVuZHMgTG9jYWxlU2VydmljZSB7XG4gICAgcHJpdmF0ZSBERUZBVUxUX0xPQ0FMRSA9ICdlbic7XG4gICAgcHJpdmF0ZSBzdGF0ZVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxMb2NhbGVTdGF0ZT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExvY2FsZVN0YXRlPih7IGlkOiB0aGlzLkRFRkFVTFRfTE9DQUxFIH0pO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChMT0NBTEVfSUQpIHByb3RlY3RlZCBsb2NhbGVfaWQ6IHN0cmluZykge1xuICAgICAgICBzdXBlcihudWxsLCB7IGxvY2FsZTogeyBpZDogJ2VuJywgYXZhaWxhYmxlOiBbXSB9IH0sIGxvY2FsZV9pZCwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGUoKTogT2JzZXJ2YWJsZTxMb2NhbGVTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlU3RhdGUoc3RhdGU6IExvY2FsZVN0YXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuREVGQVVMVF9MT0NBTEUgPSBzdGF0ZS5pZCB8fCAnZW4nO1xuICAgICAgICBpZiAoc3RhdGUuaWQgPT09ICdmcicpIHtcbiAgICAgICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVGciwgJ2ZyJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdGUuaWQgPT09ICdlbCcpIHtcbiAgICAgICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVFbCwgJ2ZyJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdGF0ZVN1YmplY3QubmV4dChzdGF0ZSk7XG4gICAgfVxuXG4gICAgaW5pdChzdGF0ZT86IExvY2FsZVN0YXRlKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIHRoaXMuREVGQVVMVF9MT0NBTEUgPSBzdGF0ZS5pZCB8fCAnZW4nO1xuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -28,11 +28,11 @@ export class LogModule {
28
28
  ],
29
29
  };
30
30
  }
31
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: LogModule }); }
33
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LogModule }); }
31
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: LogModule }); }
33
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LogModule }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LogModule, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LogModule, decorators: [{
36
36
  type: NgModule
37
37
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbG9nL2xvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUV6RCxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUFZLFlBQVksQ0FBQyxDQUFDO0FBRTVFOztHQUVHO0FBRUgsTUFBTSxPQUFPLFNBQVM7SUFDbEIsa0VBQWtFO0lBQ2xFLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBb0Isa0JBQWtCO1FBQ2pELE9BQU87WUFDSCxRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDdEQsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsRUFBRTthQUNwRztTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsK0dBQStHO0lBQy9HLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBb0Isa0JBQWtCO1FBQ2xELE9BQU87WUFDSCxRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDdEQsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsRUFBRTthQUNwRztTQUNKLENBQUM7SUFDTixDQUFDO2lJQXJCUSxTQUFTO2tJQUFULFNBQVM7a0lBQVQsU0FBUzs7MkZBQVQsU0FBUztrQkFEckIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvZ0NvbmZpZyB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IERFRkFVTFRfTE9HX0NPTkZJRyB9IGZyb20gJy4uL2NvbmZpZy9kZWZhdWx0cyc7XG5pbXBvcnQgeyBsb2dTZXJ2aWNlRmFjdG9yeSB9IGZyb20gJy4uL2FwcC9mYWN0b3JpZXMvbG9nJztcblxuY29uc3QgTE9HX01PRFVMRV9DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9nQ29uZmlnPignTE9HX0NPTkZJRycpO1xuXG4vKipcbiAqIExvZyBNb2R1bGVcbiAqL1xuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBMb2dNb2R1bGUge1xuICAgIC8qKiBtZXRob2QgY2FsbGVkIGluIHlvdXIgcm9vdCBtb2R1bGUgdG8gcHJvdmlkZSB0aGUgTG9nU2VydmljZSAqL1xuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZzogTG9nQ29uZmlnID0gREVGQVVMVF9MT0dfQ09ORklHKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb2dNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMb2dNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExPR19NT0RVTEVfQ09ORklHX1RPS0VOLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMb2dTZXJ2aWNlLCB1c2VGYWN0b3J5OiBsb2dTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0xPR19NT0RVTEVfQ09ORklHX1RPS0VOLCBJbmplY3Rvcl0gfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqIG1ldGhvZCBjYWxsZWQgaW4geW91ciBvdGhlciAobm9uIHJvb3QsIGxhenkgbG9hZGVkKSBtb2R1bGVzIHRvIGltcG9ydCBhIGRpZmZlcmVudCBpbnN0YW5jZSBvZiBMb2dTZXJ2aWNlICovXG4gICAgc3RhdGljIGZvckNoaWxkKGNvbmZpZzogTG9nQ29uZmlnID0gREVGQVVMVF9MT0dfQ09ORklHKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb2dNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMb2dNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExPR19NT0RVTEVfQ09ORklHX1RPS0VOLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMb2dTZXJ2aWNlLCB1c2VGYWN0b3J5OiBsb2dTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0xPR19NT0RVTEVfQ09ORklHX1RPS0VOLCBJbmplY3Rvcl0gfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbG9nL2xvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUV6RCxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUFZLFlBQVksQ0FBQyxDQUFDO0FBRTVFOztHQUVHO0FBRUgsTUFBTSxPQUFPLFNBQVM7SUFDbEIsa0VBQWtFO0lBQ2xFLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBb0Isa0JBQWtCO1FBQ2pELE9BQU87WUFDSCxRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDdEQsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsRUFBRTthQUNwRztTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsK0dBQStHO0lBQy9HLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBb0Isa0JBQWtCO1FBQ2xELE9BQU87WUFDSCxRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDdEQsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsRUFBRTthQUNwRztTQUNKLENBQUM7SUFDTixDQUFDO2tJQXJCUSxTQUFTO21JQUFULFNBQVM7bUlBQVQsU0FBUzs7NEZBQVQsU0FBUztrQkFEckIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvZ0NvbmZpZyB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IERFRkFVTFRfTE9HX0NPTkZJRyB9IGZyb20gJy4uL2NvbmZpZy9kZWZhdWx0cyc7XG5pbXBvcnQgeyBsb2dTZXJ2aWNlRmFjdG9yeSB9IGZyb20gJy4uL2FwcC9mYWN0b3JpZXMvbG9nJztcblxuY29uc3QgTE9HX01PRFVMRV9DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9nQ29uZmlnPignTE9HX0NPTkZJRycpO1xuXG4vKipcbiAqIExvZyBNb2R1bGVcbiAqL1xuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBMb2dNb2R1bGUge1xuICAgIC8qKiBtZXRob2QgY2FsbGVkIGluIHlvdXIgcm9vdCBtb2R1bGUgdG8gcHJvdmlkZSB0aGUgTG9nU2VydmljZSAqL1xuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZzogTG9nQ29uZmlnID0gREVGQVVMVF9MT0dfQ09ORklHKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb2dNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMb2dNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExPR19NT0RVTEVfQ09ORklHX1RPS0VOLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMb2dTZXJ2aWNlLCB1c2VGYWN0b3J5OiBsb2dTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0xPR19NT0RVTEVfQ09ORklHX1RPS0VOLCBJbmplY3Rvcl0gfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqIG1ldGhvZCBjYWxsZWQgaW4geW91ciBvdGhlciAobm9uIHJvb3QsIGxhenkgbG9hZGVkKSBtb2R1bGVzIHRvIGltcG9ydCBhIGRpZmZlcmVudCBpbnN0YW5jZSBvZiBMb2dTZXJ2aWNlICovXG4gICAgc3RhdGljIGZvckNoaWxkKGNvbmZpZzogTG9nQ29uZmlnID0gREVGQVVMVF9MT0dfQ09ORklHKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb2dNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMb2dNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExPR19NT0RVTEVfQ09ORklHX1RPS0VOLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMb2dTZXJ2aWNlLCB1c2VGYWN0b3J5OiBsb2dTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0xPR19NT0RVTEVfQ09ORklHX1RPS0VOLCBJbmplY3Rvcl0gfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
@@ -33,10 +33,10 @@ export class LogService extends Logger {
33
33
  }
34
34
  return logger;
35
35
  }
36
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LogService, deps: [{ token: BASE_LOGGER_NAME_TOKEN }, { token: LOG_LEVEL_TOKEN }, { token: LOG_APPENDERS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LogService }); }
36
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LogService, deps: [{ token: BASE_LOGGER_NAME_TOKEN }, { token: LOG_LEVEL_TOKEN }, { token: LOG_APPENDERS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LogService }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: LogService, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LogService, decorators: [{
40
40
  type: Injectable
41
41
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
42
42
  type: Inject,
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
48
48
  type: Inject,
49
49
  args: [LOG_APPENDERS_TOKEN]
50
50
  }] }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZy9sb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFlLE1BQU0sRUFBWSxNQUFNLFdBQVcsQ0FBQzs7O0FBRTFELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUFTLGtCQUFrQixDQUFDLENBQUM7QUFDckYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFnQixlQUFlLENBQUMsQ0FBQztBQUV0Rjs7R0FFRztBQUVILE1BQU0sT0FBTyxVQUFXLFNBQVEsTUFBTTtJQUlsQyxZQUM4QyxJQUFZLEVBQ25CLEtBQWUsRUFDWCxTQUF3QjtRQUUvRCxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUpZLFNBQUksR0FBSixJQUFJLENBQVE7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNYLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFObkUscUNBQXFDO1FBQzNCLFlBQU8sR0FBRyxFQUFFLENBQUM7SUFRdkIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFNBQVMsQ0FBQyxVQUFrQixFQUFFLFVBQW1CLEtBQUs7UUFDbEQsa0NBQWtDO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBTyxJQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbkgsd0VBQXdFO1FBQ3hFLElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUM7U0FDckM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO2lJQTdCUSxVQUFVLGtCQUtQLHNCQUFzQixhQUN0QixlQUFlLGFBQ2YsbUJBQW1CO3FJQVB0QixVQUFVOzsyRkFBVixVQUFVO2tCQUR0QixVQUFVOzswQkFNRixNQUFNOzJCQUFDLHNCQUFzQjs7MEJBQzdCLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nQXBwZW5kZXIsIExvZ2dlciwgTG9nTGV2ZWwgfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgQkFTRV9MT0dHRVJfTkFNRV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdCQVNFX0xPR0dFUl9OQU1FJyk7XG5leHBvcnQgY29uc3QgTE9HX0xFVkVMX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPExvZ0xldmVsPignTE9HX0xFVkVMJyk7XG5leHBvcnQgY29uc3QgTE9HX0FQUEVOREVSU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxMb2dBcHBlbmRlcltdPignTE9HX0FQUEVOREVSUycpO1xuXG4vKipcbiAqIExvZyBzZXJ2aWNlLCByZXNwb25zaWJsZSBmb3IgZ2V0dGluZyBvciBjcmVhdGluZyBsb2dnZXJzLiBJdCBpdHNlbGYgYWN0cyBhcyBhIGJhc2UgbG9nZ2VyXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2dTZXJ2aWNlIGV4dGVuZHMgTG9nZ2VyIHtcbiAgICAvKiogdGhlIGxpc3Qgb2YgcGVyc2lzdGVudCBsb2dnZXJzICovXG4gICAgcHJvdGVjdGVkIGxvZ2dlcnMgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEJBU0VfTE9HR0VSX05BTUVfVE9LRU4pIHByb3RlY3RlZCBuYW1lOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoTE9HX0xFVkVMX1RPS0VOKSBwcm90ZWN0ZWQgbGV2ZWw6IExvZ0xldmVsLFxuICAgICAgICBASW5qZWN0KExPR19BUFBFTkRFUlNfVE9LRU4pIHByb3RlY3RlZCBhcHBlbmRlcnM6IExvZ0FwcGVuZGVyW11cbiAgICApIHtcbiAgICAgICAgc3VwZXIobmFtZSwgbGV2ZWwsIGFwcGVuZGVycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIGxvZ2dlciBieSBuYW1lLiBJZiB0aGUgbG9nZ2VyIGRvZXMgbm90IGV4aXN0LCBpdCBpcyBjcmVhdGVkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9nZ2VyTmFtZSBsb2dnZXIgbmFtZVxuICAgICAqIEBwYXJhbSBwZXJzaXN0IG9wdGlvbmFsIHBhcmFtZXRlci4gU2V0IGl0IHRvIHRydWUgaWYgeW91IHdhbnQgdG8gcmV1c2UgdGhlIGxvZ2dlci4gQnkgZGVmYXVsdCwgaXQgaXMgc2V0IHRvIGZhbHNlXG4gICAgICogQHJldHVybnMgdGhlIGxvZ2dlclxuICAgICAqL1xuICAgIGdldExvZ2dlcihsb2dnZXJOYW1lOiBzdHJpbmcsIHBlcnNpc3Q6IGJvb2xlYW4gPSBmYWxzZSk6IExvZ2dlciB7XG4gICAgICAgIC8vIGNyZWF0ZSB0aGUgbG9nZ2VyLCBpZiBuZWNlc3NhcnlcbiAgICAgICAgY29uc3QgbG9nZ2VyID0gKHBlcnNpc3QgJiYgPExvZ2dlcj50aGlzLmxvZ2dlcnNbbG9nZ2VyTmFtZV0pIHx8IG5ldyBMb2dnZXIobG9nZ2VyTmFtZSwgdGhpcy5sZXZlbCwgdGhpcy5hcHBlbmRlcnMpO1xuXG4gICAgICAgIC8vIGlmIHRoZSBsb2dnZXIgaXMgcGVyc2lzdGVudCwgYWRkIGl0IHRvIHRoZSBsaXN0IG9mIHBlcnNpc3RlbnQgbG9nZ2Vyc1xuICAgICAgICBpZiAocGVyc2lzdCkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJzW2xvZ2dlck5hbWVdID0gbG9nZ2VyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxvZ2dlcjtcbiAgICB9XG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZy9sb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFlLE1BQU0sRUFBWSxNQUFNLFdBQVcsQ0FBQzs7O0FBRTFELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUFTLGtCQUFrQixDQUFDLENBQUM7QUFDckYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFnQixlQUFlLENBQUMsQ0FBQztBQUV0Rjs7R0FFRztBQUVILE1BQU0sT0FBTyxVQUFXLFNBQVEsTUFBTTtJQUlsQyxZQUM4QyxJQUFZLEVBQ25CLEtBQWUsRUFDWCxTQUF3QjtRQUUvRCxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUpZLFNBQUksR0FBSixJQUFJLENBQVE7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNYLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFObkUscUNBQXFDO1FBQzNCLFlBQU8sR0FBRyxFQUFFLENBQUM7SUFRdkIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFNBQVMsQ0FBQyxVQUFrQixFQUFFLFVBQW1CLEtBQUs7UUFDbEQsa0NBQWtDO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBTyxJQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbkgsd0VBQXdFO1FBQ3hFLElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUM7U0FDckM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO2tJQTdCUSxVQUFVLGtCQUtQLHNCQUFzQixhQUN0QixlQUFlLGFBQ2YsbUJBQW1CO3NJQVB0QixVQUFVOzs0RkFBVixVQUFVO2tCQUR0QixVQUFVOzswQkFNRixNQUFNOzJCQUFDLHNCQUFzQjs7MEJBQzdCLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nQXBwZW5kZXIsIExvZ2dlciwgTG9nTGV2ZWwgfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgQkFTRV9MT0dHRVJfTkFNRV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdCQVNFX0xPR0dFUl9OQU1FJyk7XG5leHBvcnQgY29uc3QgTE9HX0xFVkVMX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPExvZ0xldmVsPignTE9HX0xFVkVMJyk7XG5leHBvcnQgY29uc3QgTE9HX0FQUEVOREVSU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxMb2dBcHBlbmRlcltdPignTE9HX0FQUEVOREVSUycpO1xuXG4vKipcbiAqIExvZyBzZXJ2aWNlLCByZXNwb25zaWJsZSBmb3IgZ2V0dGluZyBvciBjcmVhdGluZyBsb2dnZXJzLiBJdCBpdHNlbGYgYWN0cyBhcyBhIGJhc2UgbG9nZ2VyXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2dTZXJ2aWNlIGV4dGVuZHMgTG9nZ2VyIHtcbiAgICAvKiogdGhlIGxpc3Qgb2YgcGVyc2lzdGVudCBsb2dnZXJzICovXG4gICAgcHJvdGVjdGVkIGxvZ2dlcnMgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEJBU0VfTE9HR0VSX05BTUVfVE9LRU4pIHByb3RlY3RlZCBuYW1lOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoTE9HX0xFVkVMX1RPS0VOKSBwcm90ZWN0ZWQgbGV2ZWw6IExvZ0xldmVsLFxuICAgICAgICBASW5qZWN0KExPR19BUFBFTkRFUlNfVE9LRU4pIHByb3RlY3RlZCBhcHBlbmRlcnM6IExvZ0FwcGVuZGVyW11cbiAgICApIHtcbiAgICAgICAgc3VwZXIobmFtZSwgbGV2ZWwsIGFwcGVuZGVycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIGxvZ2dlciBieSBuYW1lLiBJZiB0aGUgbG9nZ2VyIGRvZXMgbm90IGV4aXN0LCBpdCBpcyBjcmVhdGVkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9nZ2VyTmFtZSBsb2dnZXIgbmFtZVxuICAgICAqIEBwYXJhbSBwZXJzaXN0IG9wdGlvbmFsIHBhcmFtZXRlci4gU2V0IGl0IHRvIHRydWUgaWYgeW91IHdhbnQgdG8gcmV1c2UgdGhlIGxvZ2dlci4gQnkgZGVmYXVsdCwgaXQgaXMgc2V0IHRvIGZhbHNlXG4gICAgICogQHJldHVybnMgdGhlIGxvZ2dlclxuICAgICAqL1xuICAgIGdldExvZ2dlcihsb2dnZXJOYW1lOiBzdHJpbmcsIHBlcnNpc3Q6IGJvb2xlYW4gPSBmYWxzZSk6IExvZ2dlciB7XG4gICAgICAgIC8vIGNyZWF0ZSB0aGUgbG9nZ2VyLCBpZiBuZWNlc3NhcnlcbiAgICAgICAgY29uc3QgbG9nZ2VyID0gKHBlcnNpc3QgJiYgPExvZ2dlcj50aGlzLmxvZ2dlcnNbbG9nZ2VyTmFtZV0pIHx8IG5ldyBMb2dnZXIobG9nZ2VyTmFtZSwgdGhpcy5sZXZlbCwgdGhpcy5hcHBlbmRlcnMpO1xuXG4gICAgICAgIC8vIGlmIHRoZSBsb2dnZXIgaXMgcGVyc2lzdGVudCwgYWRkIGl0IHRvIHRoZSBsaXN0IG9mIHBlcnNpc3RlbnQgbG9nZ2Vyc1xuICAgICAgICBpZiAocGVyc2lzdCkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJzW2xvZ2dlck5hbWVdID0gbG9nZ2VyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxvZ2dlcjtcbiAgICB9XG59XG4iXX0=
@@ -96,10 +96,10 @@ export class EuiPermissionService extends EuiService {
96
96
  }
97
97
  return rights.every((right) => this.userRights.find((uRight) => uRight.id === right.id));
98
98
  }
99
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: EuiPermissionService, deps: [{ token: i1.LogService, optional: true }, { token: i2.StoreService }], target: i0.ɵɵFactoryTarget.Injectable }); }
100
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: EuiPermissionService, providedIn: 'root' }); }
99
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: EuiPermissionService, deps: [{ token: i1.LogService, optional: true }, { token: i2.StoreService }], target: i0.ɵɵFactoryTarget.Injectable }); }
100
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: EuiPermissionService, providedIn: 'root' }); }
101
101
  }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: EuiPermissionService, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: EuiPermissionService, decorators: [{
103
103
  type: Injectable,
104
104
  args: [{
105
105
  providedIn: 'root',
@@ -107,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
107
107
  }], ctorParameters: function () { return [{ type: i1.LogService, decorators: [{
108
108
  type: Optional
109
109
  }] }, { type: i2.StoreService }]; } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFvQixhQUFhLEVBQXVCLE1BQU0sV0FBVyxDQUFDO0FBQzdGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUsxQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsVUFBeUI7SUFHL0QsWUFDd0IsR0FBZSxFQUN6QixLQUFtQjtRQUU3QixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFIVSxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ3pCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFHN0IsSUFBSSxHQUFHLEVBQUU7WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsQ0FBQztTQUN6RDtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLENBQUMsTUFBcUI7UUFDdEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLENBQUMsTUFB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b3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aVNlcnZpY2UsIEV1aVNlcnZpY2VTdGF0dXMsIGdldFVzZXJSaWdodHMsIFV4VXNlclJpZ2h0LCBMb2dnZXIgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBVcGRhdGVVc2VyUmlnaHRzQWN0aW9uIH0gZnJvbSAnLi4vc3RvcmUvYWN0aW9ucy91c2VyLmFjdGlvbnMnO1xuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVBlcm1pc3Npb25TZXJ2aWNlIGV4dGVuZHMgRXVpU2VydmljZTxVeFVzZXJSaWdodFtdPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGxvZzogTG9nU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoW10pO1xuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlciA9IGxvZy5nZXRMb2dnZXIoJ2NvcmUuUGVybWlzc2lvblNlcnZpY2UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGluaXRpYWxpemUgdGhlIHNlcnZpY2UgYnkgcHJvdmlkaW5nIGEgc3RhdGVcbiAgICAgKiBAcGFyYW0gcmlnaHRzXG4gICAgICovXG4gICAgaW5pdChyaWdodHM6IFV4VXNlclJpZ2h0W10pOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgc3VwZXIuaW5pdEV1aVNlcnZpY2UoKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmlnaHRzKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShyaWdodHMpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogdHJ1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxvZ2dlcikge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0luaXQgb2JqZWN0IHNob3VsZCBiZSBpbnN0YW5jZSBvZiBCYXNlVXNlclN0YXRlJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiAnSW5pdCBvYmplY3Qgc2hvdWxkIGJlIGluc3RhbmNlIG9mIEJhc2VVc2VyU3RhdGUnIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgdXNlclJpZ2h0cygpOiBVeFVzZXJSaWdodFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbnN0YW5jZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBnZXQgdGhlIHVzZXIncyBSaWdodHMgZnJvbSB0aGUgc3RhdGVcbiAgICAgKi9cbiAgICBnZXRTdGF0ZTxLID0gVXhVc2VyUmlnaHRbXT4oKTogT2JzZXJ2YWJsZTxLPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRVc2VyUmlnaHRzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB1cGRhdGUgdGhlIHN0YXRlIHdpdGggdGhlIGdpdmVuIHVzZXIncyByaWdodHNcbiAgICAgKiBAcGFyYW0gcmlnaHRzXG4gICAgICovXG4gICAgdXBkYXRlU3RhdGUocmlnaHRzOiBVeFVzZXJSaWdodFtdKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFVwZGF0ZVVzZXJSaWdodHNBY3Rpb24ocmlnaHRzIHx8IFtdKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogYWNjZXB0cyBhIHN0cmluZyBvZiByaWdodCBhbmQgb3IgYSBwZXJtaXNzaW9uLiBJbiBzdHJpbmcgZmlyc3QgY29tZXMgdGhlIHJpZ2h0IGFuZCBvciBmb2xsb3dlZCBieSBwZXJtaXNzaW9uIGluXG4gICAgICogYSBkb3Qgc2VwYXJhdGVkIHdheSBlLmcuICdSSUdIVC5QRVJNSVNTSU9OJyBvciAnUklHSFQnLiBUaGUgc3RyaW5nIGNhbiBjb250YWluIG1vcmUgdGhhdCAyIHNlcGFyYXRlZCBmaWVsZHMuXG4gICAgICogSW4gdGhhdCBjYXNlIHRoZSBsYXN0IGZpZWxkIHNob3VsZCBiZSB0aGUgcGVybWlzc2lvbiBhbmQgYWxsIHRoZSBvdGhlcnMgYSBSaWdodC4gZS5nLiAnUklHSFQxLlJJR0hUMi5QRVJNSVNTSU9OJ1xuICAgICAqIFRoZSBsYXN0IHBhcnQgaXMgdXNlZnVsIHdoZXJlIHlvdSB3YW50IGEgdXNlciB0byBoYXZlIG11bHRpcGxlIHJpZ2h0cyBhbmQgdGhlIHBlcm1pc3Npb24gb2YgdGhlIGxhc3QgcmlnaHQuXG4gICAgICogQHBhcmFtIHJpZ2h0c0FuZFBlcm1pc3Npb25cbiAgICAgKi9cbiAgICBjaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24ocmlnaHRzQW5kUGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHBlcm1Qcm9wcyA9IHJpZ2h0c0FuZFBlcm1pc3Npb24uc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgcmlnaHRJZCA9IHBlcm1Qcm9wc1swXTtcbiAgICAgICAgY29uc3QgaGFzUmlnaHQgPSB0aGlzLmNoZWNrUmlnaHQocmlnaHRJZCk7XG5cbiAgICAgICAgaWYgKGhhc1JpZ2h0KSB7XG4gICAgICAgICAgICBpZiAocGVybVByb3BzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgICAgIC8vIGluIGNhc2Ugb2YgJ1JJR0hULlBFUk1JU1NJT04nXG4gICAgICAgICAgICAgICAgY29uc3QgcGVybWlzc2lvbiA9IHBlcm1Qcm9wc1sxXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb24ocmlnaHRJZCwgcGVybWlzc2lvbik7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBlcm1Qcm9wcy5sZW5ndGggPiAyKSB7XG4gICAgICAgICAgICAgICAgLy8gaW4gY2FzZSBvZiAnUklHSFQxLlJJR0hUMi4uLi4uUEVSTUlTU0lPTicgc3RyaW5nIGNhbGwgcmVjdXJzaXZlbHlcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24ocmlnaHRzQW5kUGVybWlzc2lvbi5zbGljZShyaWdodElkLmxlbmd0aCArIDEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoYXNSaWdodDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVjayBpZiBhIHVzZXIgaGFzIHRoZSByaWdodC5cbiAgICAgKiBAcGFyYW0gcmlnaHRJZCB0aGUgaWQgb2YgUmlnaHRcbiAgICAgKi9cbiAgICBjaGVja1JpZ2h0KHJpZ2h0SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyUmlnaHRzLnNvbWUoKHJpZ2h0KSA9PiByaWdodCAmJiByaWdodC5pZCA9PT0gcmlnaHRJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hlY2sgaWYgYSB1c2VyIGhhcyB0aGF0IHJpZ2h0IGFuZCB0aGF0IHJpZ2h0IGhhcyB0aGUgcGVybWlzc2lvbiBnaXZlbi5cbiAgICAgKiBAcGFyYW0gcmlnaHRJZCB0aGUgcmlnaHQgb2YgdGhlIHVzZXJcbiAgICAgKiBAcGFyYW0gcGVybWlzc2lvbiB0aGUgcGVybWlzc2lvbiBvZiB0aGUgcmlnaHRcbiAgICAgKi9cbiAgICBjaGVja1Blcm1pc3Npb24ocmlnaHRJZDogc3RyaW5nLCBwZXJtaXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgLy8gdGhlIHVzZXIgaGFzIHRvIGhhdmUgdGhhdCByaWdodCBhbmQgdGhhdCByaWdodCBoYXMgdG8gaGF2ZSB0aGUgZ2l2ZW4gcGVybWlzc2lvblxuICAgICAgICByZXR1cm4gdGhpcy51c2VyUmlnaHRzLnNvbWUoXG4gICAgICAgICAgICAocmlnaHQpID0+IHJpZ2h0ICYmIHJpZ2h0LmlkID09PSByaWdodElkICYmIHJpZ2h0LnBlcm1pc3Npb25zICYmIHJpZ2h0LnBlcm1pc3Npb25zLmluY2x1ZGVzKHBlcm1pc3Npb24pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hlY2tzIHdoZXRoZXIgYSB1c2VyIGhhdmUgYWxsIHJpZ2h0cyBwYXNzZWQgYXMgYW4gYXJndW1lbnRcbiAgICAgKiBAcGFyYW0gcmlnaHRzIGFuIGFycmF5IG9mIFV4VXNlclJpZ2h0XG4gICAgICovXG4gICAgcHJpdmF0ZSBoYXZlQWxsUmlnaHRzKHJpZ2h0czogVXhVc2VyUmlnaHRbXSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWlzRGVmaW5lZChyaWdodHMpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgVGhlIHJpZ2h0cyBzaG91bGQgYmUgYW4gYXJyYXkgYnV0IGluc3RlYWQgaXQncyBub3QgZGVmaW5lZCFgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByaWdodHMuZXZlcnkoKHJpZ2h0OiBVeFVzZXJSaWdodCkgPT4gdGhpcy51c2VyUmlnaHRzLmZpbmQoKHVSaWdodDogVXhVc2VyUmlnaHQpID0+IHVSaWdodC5pZCA9PT0gcmlnaHQuaWQpKTtcbiAgICB9XG59XG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFvQixhQUFhLEVBQXVCLE1BQU0sV0FBVyxDQUFDO0FBQzdGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUsxQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsVUFBeUI7SUFHL0QsWUFDd0IsR0FBZSxFQUN6QixLQUFtQjtRQUU3QixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFIVSxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ3pCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFHN0IsSUFBSSxHQUFHLEVBQUU7WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsQ0FBQztTQUN6RDtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLENBQUMsTUFBcUI7UUFDdEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLENBQUMsTUFB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b3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aVNlcnZpY2UsIEV1aVNlcnZpY2VTdGF0dXMsIGdldFVzZXJSaWdodHMsIFV4VXNlclJpZ2h0LCBMb2dnZXIgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBVcGRhdGVVc2VyUmlnaHRzQWN0aW9uIH0gZnJvbSAnLi4vc3RvcmUvYWN0aW9ucy91c2VyLmFjdGlvbnMnO1xuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVBlcm1pc3Npb25TZXJ2aWNlIGV4dGVuZHMgRXVpU2VydmljZTxVeFVzZXJSaWdodFtdPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGxvZzogTG9nU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoW10pO1xuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlciA9IGxvZy5nZXRMb2dnZXIoJ2NvcmUuUGVybWlzc2lvblNlcnZpY2UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGluaXRpYWxpemUgdGhlIHNlcnZpY2UgYnkgcHJvdmlkaW5nIGEgc3RhdGVcbiAgICAgKiBAcGFyYW0gcmlnaHRzXG4gICAgICovXG4gICAgaW5pdChyaWdodHM6IFV4VXNlclJpZ2h0W10pOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgc3VwZXIuaW5pdEV1aVNlcnZpY2UoKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmlnaHRzKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShyaWdodHMpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogdHJ1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxvZ2dlcikge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0luaXQgb2JqZWN0IHNob3VsZCBiZSBpbnN0YW5jZSBvZiBCYXNlVXNlclN0YXRlJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiAnSW5pdCBvYmplY3Qgc2hvdWxkIGJlIGluc3RhbmNlIG9mIEJhc2VVc2VyU3RhdGUnIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgdXNlclJpZ2h0cygpOiBVeFVzZXJSaWdodFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbnN0YW5jZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBnZXQgdGhlIHVzZXIncyBSaWdodHMgZnJvbSB0aGUgc3RhdGVcbiAgICAgKi9cbiAgICBnZXRTdGF0ZTxLID0gVXhVc2VyUmlnaHRbXT4oKTogT2JzZXJ2YWJsZTxLPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRVc2VyUmlnaHRzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB1cGRhdGUgdGhlIHN0YXRlIHdpdGggdGhlIGdpdmVuIHVzZXIncyByaWdodHNcbiAgICAgKiBAcGFyYW0gcmlnaHRzXG4gICAgICovXG4gICAgdXBkYXRlU3RhdGUocmlnaHRzOiBVeFVzZXJSaWdodFtdKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFVwZGF0ZVVzZXJSaWdodHNBY3Rpb24ocmlnaHRzIHx8IFtdKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogYWNjZXB0cyBhIHN0cmluZyBvZiByaWdodCBhbmQgb3IgYSBwZXJtaXNzaW9uLiBJbiBzdHJpbmcgZmlyc3QgY29tZXMgdGhlIHJpZ2h0IGFuZCBvciBmb2xsb3dlZCBieSBwZXJtaXNzaW9uIGluXG4gICAgICogYSBkb3Qgc2VwYXJhdGVkIHdheSBlLmcuICdSSUdIVC5QRVJNSVNTSU9OJyBvciAnUklHSFQnLiBUaGUgc3RyaW5nIGNhbiBjb250YWluIG1vcmUgdGhhdCAyIHNlcGFyYXRlZCBmaWVsZHMuXG4gICAgICogSW4gdGhhdCBjYXNlIHRoZSBsYXN0IGZpZWxkIHNob3VsZCBiZSB0aGUgcGVybWlzc2lvbiBhbmQgYWxsIHRoZSBvdGhlcnMgYSBSaWdodC4gZS5nLiAnUklHSFQxLlJJR0hUMi5QRVJNSVNTSU9OJ1xuICAgICAqIFRoZSBsYXN0IHBhcnQgaXMgdXNlZnVsIHdoZXJlIHlvdSB3YW50IGEgdXNlciB0byBoYXZlIG11bHRpcGxlIHJpZ2h0cyBhbmQgdGhlIHBlcm1pc3Npb24gb2YgdGhlIGxhc3QgcmlnaHQuXG4gICAgICogQHBhcmFtIHJpZ2h0c0FuZFBlcm1pc3Npb25cbiAgICAgKi9cbiAgICBjaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24ocmlnaHRzQW5kUGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHBlcm1Qcm9wcyA9IHJpZ2h0c0FuZFBlcm1pc3Npb24uc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgcmlnaHRJZCA9IHBlcm1Qcm9wc1swXTtcbiAgICAgICAgY29uc3QgaGFzUmlnaHQgPSB0aGlzLmNoZWNrUmlnaHQocmlnaHRJZCk7XG5cbiAgICAgICAgaWYgKGhhc1JpZ2h0KSB7XG4gICAgICAgICAgICBpZiAocGVybVByb3BzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgICAgIC8vIGluIGNhc2Ugb2YgJ1JJR0hULlBFUk1JU1NJT04nXG4gICAgICAgICAgICAgICAgY29uc3QgcGVybWlzc2lvbiA9IHBlcm1Qcm9wc1sxXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb24ocmlnaHRJZCwgcGVybWlzc2lvbik7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBlcm1Qcm9wcy5sZW5ndGggPiAyKSB7XG4gICAgICAgICAgICAgICAgLy8gaW4gY2FzZSBvZiAnUklHSFQxLlJJR0hUMi4uLi4uUEVSTUlTU0lPTicgc3RyaW5nIGNhbGwgcmVjdXJzaXZlbHlcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24ocmlnaHRzQW5kUGVybWlzc2lvbi5zbGljZShyaWdodElkLmxlbmd0aCArIDEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoYXNSaWdodDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVjayBpZiBhIHVzZXIgaGFzIHRoZSByaWdodC5cbiAgICAgKiBAcGFyYW0gcmlnaHRJZCB0aGUgaWQgb2YgUmlnaHRcbiAgICAgKi9cbiAgICBjaGVja1JpZ2h0KHJpZ2h0SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyUmlnaHRzLnNvbWUoKHJpZ2h0KSA9PiByaWdodCAmJiByaWdodC5pZCA9PT0gcmlnaHRJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hlY2sgaWYgYSB1c2VyIGhhcyB0aGF0IHJpZ2h0IGFuZCB0aGF0IHJpZ2h0IGhhcyB0aGUgcGVybWlzc2lvbiBnaXZlbi5cbiAgICAgKiBAcGFyYW0gcmlnaHRJZCB0aGUgcmlnaHQgb2YgdGhlIHVzZXJcbiAgICAgKiBAcGFyYW0gcGVybWlzc2lvbiB0aGUgcGVybWlzc2lvbiBvZiB0aGUgcmlnaHRcbiAgICAgKi9cbiAgICBjaGVja1Blcm1pc3Npb24ocmlnaHRJZDogc3RyaW5nLCBwZXJtaXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgLy8gdGhlIHVzZXIgaGFzIHRvIGhhdmUgdGhhdCByaWdodCBhbmQgdGhhdCByaWdodCBoYXMgdG8gaGF2ZSB0aGUgZ2l2ZW4gcGVybWlzc2lvblxuICAgICAgICByZXR1cm4gdGhpcy51c2VyUmlnaHRzLnNvbWUoXG4gICAgICAgICAgICAocmlnaHQpID0+IHJpZ2h0ICYmIHJpZ2h0LmlkID09PSByaWdodElkICYmIHJpZ2h0LnBlcm1pc3Npb25zICYmIHJpZ2h0LnBlcm1pc3Npb25zLmluY2x1ZGVzKHBlcm1pc3Npb24pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hlY2tzIHdoZXRoZXIgYSB1c2VyIGhhdmUgYWxsIHJpZ2h0cyBwYXNzZWQgYXMgYW4gYXJndW1lbnRcbiAgICAgKiBAcGFyYW0gcmlnaHRzIGFuIGFycmF5IG9mIFV4VXNlclJpZ2h0XG4gICAgICovXG4gICAgcHJpdmF0ZSBoYXZlQWxsUmlnaHRzKHJpZ2h0czogVXhVc2VyUmlnaHRbXSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWlzRGVmaW5lZChyaWdodHMpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgVGhlIHJpZ2h0cyBzaG91bGQgYmUgYW4gYXJyYXkgYnV0IGluc3RlYWQgaXQncyBub3QgZGVmaW5lZCFgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByaWdodHMuZXZlcnkoKHJpZ2h0OiBVeFVzZXJSaWdodCkgPT4gdGhpcy51c2VyUmlnaHRzLmZpbmQoKHVSaWdodDogVXhVc2VyUmlnaHQpID0+IHVSaWdodC5pZCA9PT0gcmlnaHQuaWQpKTtcbiAgICB9XG59XG4iXX0=
@@ -125,13 +125,13 @@ export class ApiQueueService {
125
125
  buildHttpRequest(id, item) {
126
126
  return this.http[item.method.toLowerCase()](item.uri, item.payload).pipe(tap(() => this.removeQueueItem(id)));
127
127
  }
128
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ApiQueueService, deps: [{ token: i1.StoreService }, { token: i2.HttpClient }, { token: i3.LogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
129
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ApiQueueService, providedIn: 'root' }); }
128
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: ApiQueueService, deps: [{ token: i1.StoreService }, { token: i2.HttpClient }, { token: i3.LogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
129
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: ApiQueueService, providedIn: 'root' }); }
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ApiQueueService, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: ApiQueueService, decorators: [{
132
132
  type: Injectable,
133
133
  args: [{
134
134
  providedIn: 'root',
135
135
  }]
136
136
  }], ctorParameters: function () { return [{ type: i1.StoreService }, { type: i2.HttpClient }, { type: i3.LogService }]; } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3F1ZXVlL2FwaS1xdWV1ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQTBCLE1BQU0sV0FBVyxDQUFDO0FBS2pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUt0RyxNQUFNLE9BQU8sZUFBZTtJQUN4QixZQUNjLEtBQW1CLEVBQ25CLElBQWdCLEVBQ2hCLFVBQXNCO1FBRnRCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQ2pDLENBQUM7SUFFSjs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxFQUFVLEVBQUUsSUFBa0I7UUFDdkMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTlDLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQyxNQUFNLGtCQUFrQixDQUFDLENBQUM7U0FDeEU7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLHFC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Q0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssZ0JBQWdCLENBQUMsRUFBVSxFQUFFLElBQWtCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsSCxDQUFDO2lJQTNKUSxlQUFlO3FJQUFmLGVBQWUsY0FGWixNQUFNOzsyRkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCwgc3dpdGNoTWFwLCB0YWtlLCBtYXAsIGNhdGNoRXJyb3IsIGNvbmNhdE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGdldEFwaVF1ZXVlLCBnZXRBcGlRdWV1ZUl0ZW0sIEFwaVF1ZXVlLCBBcGlRdWV1ZUl0ZW0gfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSB9IGZyb20gJy4uL3N0b3JlL3N0b3JlLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBBZGRBcGlRdWV1ZUl0ZW1BY3Rpb24sIFJlbW92ZUFwaVF1ZXVlSXRlbUFjdGlvbiwgRW1wdHlBcGlRdWV1ZUFjdGlvbiB9IGZyb20gJy4uL3N0b3JlL2luZGV4JztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBpUXVldWVTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwcm90ZWN0ZWQgbG9nU2VydmljZTogTG9nU2VydmljZVxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYW4gaXRlbSBpbiB0aGUgcXVldWUgYnkgZGlzcGF0Y2hpbmcgYW4gYWN0aW9uIHRvIHRoZSBzdG9yZS5cbiAgICAgKiBAcGFyYW0gaWQgLSBUaGUgaWQgb2YgdGhlIGl0ZW0gaW5zaWRlIHRoZSBxdWV1ZS5cbiAgICAgKiBXQVJOSU5HIGlmIG1hdGNoZXMgYW55IG90aGVyIHF1ZXVlIGl0ZW0gaWQgd2lsbCBvdmVyd3JpdGUgaXQuXG4gICAgICogQHBhcmFtIGl0ZW0gLSBhbiBpdGVtIGZvciBRdWV1ZVxuICAgICAqL1xuICAgIGFkZFF1ZXVlSXRlbShpZDogc3RyaW5nLCBpdGVtOiBBcGlRdWV1ZUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWxsb3dlZE1ldGhvZHMgPSBbJ3Bvc3QnLCAncHV0JywgJ2dldCddO1xuXG4gICAgICAgIGlmIChhbGxvd2VkTWV0aG9kcy5pbmRleE9mKGl0ZW0ubWV0aG9kKSA8IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgW0FwaVF1ZXVlXSBtZXRob2QgXCIke2l0ZW0ubWV0aG9kfVwiIGlzIG5vdCBhbGxvd2VkYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBBZGRBcGlRdWV1ZUl0ZW1BY3Rpb24oeyBpZCwgaXRlbSB9KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3Vic2NyaWJlcyB0byB0aGUgc3RvcmUgdG8gcmV0cmlldmUgcXVldWUgYW5kIHRoZW4gY29udmVydHMgdGhlIHF1ZXVlIG9iamVjdCB0byBhbiBhcnJheSBvZiBpdGVtcy5cbiAgICAgKiBAcmV0dXJuIEFuIE9ic2VydmFibGUgb2YgYXJyYXkgb2YgYWxsIGl0ZW1zIGluc2lkZSB0aGUgY3VycmVudCBxdWV1ZSAoQXBpUXVldWVJdGVtW10pXG4gICAgICovXG4gICAgZ2V0UXVldWUoKTogT2JzZXJ2YWJsZTxBcGlRdWV1ZUl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0QXBpUXVldWUpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgbWFwKChxdWV1ZTogQXBpUXVldWUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBxdWV1ZUFycmF5ID0gcXVldWUgJiYgT2JqZWN0LnZhbHVlczxBcGlRdWV1ZUl0ZW0+KHF1ZXVlKTtcbiAgICAgICAgICAgICAgICBpZiAoIXF1ZXVlQXJyYXkgfHwgcXVldWVBcnJheS5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nU2VydmljZS53YXJuKCdObyBpdGVtcyBpbiB0aGUgcXVldWUgZXhpc3QuJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHF1ZXVlQXJyYXk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN1YnNjcmliZXMgdG8gdGhlIHN0b3JlIHRvIHJldHJpZXZlIGFuIGl0ZW0gZnJvbSB0aGUgcXVldWUuXG4gICAgICogQHBhcmFtIGlkIC0gaWQgb2YgdGhlIGl0ZW0gaW5zaWRlIHRoZSBxdWV1ZVxuICAgICAqIEByZXR1cm4gQW4gT2JzZXJ2YWJsZSBvZiBBcGlRdWV1ZUl0ZW0gdHlwZVxuICAgICAqL1xuICAgIGdldFF1ZXVlSXRlbShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcGlRdWV1ZUl0ZW0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlSXRlbShpZCkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgbWFwKChxdWV1ZTogQXBpUXVldWVJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFxdWV1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2Uud2FybihgUXVldWUgaXRlbSB3aXRoIGlkIFwiJHtpZH1cIiBkb2VzIG5vdCBleGlzdGApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHF1ZXVlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgZ2l2ZW4gaXRlbSBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKiBAcGFyYW0gaWQgLSBpZCBvZiB0aGUgaXRlbSBpbnNpZGUgdGhlIHF1ZXVlXG4gICAgICovXG4gICAgcmVtb3ZlUXVldWVJdGVtKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgUmVtb3ZlQXBpUXVldWVJdGVtQWN0aW9uKGlkKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbGwgaXRlbXMgcGxhY2VkIGluIHRoZSBxdWV1ZS5cbiAgICAgKi9cbiAgICByZW1vdmVBbGxRdWV1ZUl0ZW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEVtcHR5QXBpUXVldWVBY3Rpb24obnVsbCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3MgYW4gaXRlbSBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKiBAcGFyYW0gaWQgLSBpZCBvZiB0aGUgaXRlbSBpbnNpZGUgdGhlIHF1ZXVlXG4gICAgICogQHJldHVybiBBbiBPYnNlcnZhYmxlIG9mIHR5cGUgYW55XG4gICAgICovXG4gICAgcHJvY2Vzc1F1ZXVlSXRlbShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlSXRlbShpZCkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChxdWV1ZTogQXBpUXVldWVJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFxdWV1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2Uud2FybihgUXVldWUgaXRlbSB3aXRoIGlkIFwiJHtpZH1cIiBkb2VzIG5vdCBleGlzdGApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRIdHRwUmVxdWVzdChpZCwgcXVldWUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzIGFsbCB0aGUgaXRlbXMgaW5zaWRlIHRoZSBxdWV1ZS5cbiAgICAgKiBAcGFyYW0gW2NvbnRpbnVlT25FcnJvcj10cnVlXSAtIGluIGNhc2Ugb2YgYW4gaXRlbSByZXF1ZXN0IGZhaWxzIGNvbnRpbnVlIHdpdGggdGhlIHJlc3QgaW4gcXVldWVcbiAgICAgKiBAcmV0dXJuIEFuIE9ic2VydmFibGUgd2l0aCBhbiBhcnJheSB3aGljaCBjb250YWlucyBhbGwgcmVzcG9uc2VzIGZyb20gYWxsIGl0ZW1zIGluIHF1ZXVlLlxuICAgICAqL1xuICAgIHByb2Nlc3NBbGxRdWV1ZUl0ZW1zKGNvbnRpbnVlT25FcnJvcjogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZSkucGlwZShcbiAgICAgICAgICAgIG1hcCgocXVldWU6IEFwaVF1ZXVlKSA9PlxuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHF1ZXVlKS5tYXAoKFtrZXksIHZhbHVlXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idWlsZEh0dHBSZXF1ZXN0KGtleSwgdmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuZXJyb3IoYFF1ZXVlIEl0ZW0gd2l0aCBpZCAke2tleX0gZmFpbGVkLmAsIGVycm9yLm1lc3NhZ2UsIGVycm9yLnN0YWNrKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY29udGludWVPbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgob2JzUXVldWU6IE9ic2VydmFibGU8YW55PltdKSA9PiBmb3JrSm9pbihBcnJheS5mcm9tKG9ic1F1ZXVlKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2VzcyBhbGwgaXRlbXMgaW4gcXVldWUgYWZ0ZXIgaXQgb3JkZXIgdGhlbSBiYXNlZCBvbiB0aGVpciB0aW1lc3RhbXAuIEJld2FyZSB0aGF0IG9yZGVyXG4gICAgICogbWF0dGVyIGluIGV4ZWN1dGlvbiBvZiBIdHRwIFJlcXVlc3QgaW4gcXVldWUuIFdoZW4gYSByZXF1ZXN0IGNvbXBsZXRlcyBvbmx5IHRoZW4gbmV4dCB3aWxsIGJlZ2luLiBFbWlzc2lvblxuICAgICAqIG9yIEh0dHAgcmVzcG9uc2UgZm9sbG93cyBvcmRlci5cbiAgICAgKiBAcGFyYW0gW2FzY2VuZGluZz10cnVlXSAtIHNldHMgdGhlIG9yZGVyIG9mIHF1ZXVlIGl0ZW1zIGJhc2VkIG9uIHRpbWVzdGFtcFxuICAgICAqL1xuICAgIHByb2Nlc3NBbGxRdWV1ZUl0ZW1zU2VxdWVudGlhbChhc2NlbmRpbmc6IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlKS5waXBlKFxuICAgICAgICAgICAgY29uY2F0TWFwKChxdWV1ZTogQXBpUXVldWUpID0+XG4gICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMocXVldWUpXG4gICAgICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiAoYXNjZW5kaW5nID8gdGhpcy5zb3J0T25UaW1lc3RhbXAoYSwgYikgOiB0aGlzLnNvcnRPblRpbWVzdGFtcChiLCBhKSkpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKFtpZCwgaXRlbV0pID0+IHRoaXMuYnVpbGRIdHRwUmVxdWVzdChpZCwgaXRlbSkpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvcnQgZGF0ZXMgYXNjZW5kaW5nIGJhc2VkIG9uIGlucHV0XG4gICAgICogQHBhcmFtIGEgLSBEYXRlIG9uZVxuICAgICAqIEBwYXJhbSBiIC0gRGF0ZSB0d29cbiAgICAgKlxuICAgICAqIEBiZXRhXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNvcnRPblRpbWVzdGFtcChhOiBbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dLCBiOiBbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dKSB7XG4gICAgICAgIHJldHVybiArbmV3IERhdGUoYVsxXS50aW1lc3RhbXApIC0gK25ldyBEYXRlKGJbMV0udGltZXN0YW1wKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBidWlsZCBhbmQgSHR0cFJlcXVlc3QgT2JzZXJ2YWJsZSBiYXNlZCBvbiB0aGUgZ2l2ZW4gcXVldWUuXG4gICAgICogQWZ0ZXIgc3VjY2Vzc2Z1bCByZXF1ZXN0IGNvbXBsZXRpb24gcmVtb3ZlcyB0aGUgaXRlbSBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKiBAcGFyYW0gaWQgLSBpZCBvZiB0aGUgaXRlbSBpbnNpZGUgdGhlIHF1ZXVlXG4gICAgICogQHBhcmFtIGl0ZW0gLSB0aGUgaXRlbSBvZiB0aGUgcXVldWUgdGhhdCBtYXRjaGVzIHRoZSBpZC5cbiAgICAgKiBAcmV0dXJuIEFuIE9ic2VydmFibGUgb2YgSHR0cENsaWVudCBSZXF1ZXN0XG4gICAgICovXG4gICAgcHJpdmF0ZSBidWlsZEh0dHBSZXF1ZXN0KGlkOiBzdHJpbmcsIGl0ZW06IEFwaVF1ZXVlSXRlbSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBbaXRlbS5tZXRob2QudG9Mb3dlckNhc2UoKV0oaXRlbS51cmksIGl0ZW0ucGF5bG9hZCkucGlwZSh0YXAoKCkgPT4gdGhpcy5yZW1vdmVRdWV1ZUl0ZW0oaWQpKSk7XG4gICAgfVxufVxuIl19
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3F1ZXVlL2FwaS1xdWV1ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQTBCLE1BQU0sV0FBVyxDQUFDO0FBS2pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUt0RyxNQUFNLE9BQU8sZUFBZTtJQUN4QixZQUNjLEtBQW1CLEVBQ25CLElBQWdCLEVBQ2hCLFVBQXNCO1FBRnRCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQ2pDLENBQUM7SUFFSjs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxFQUFVLEVBQUUsSUFBa0I7UUFDdkMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTlDLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQyxNQUFNLGtCQUFrQixDQUFDLENBQUM7U0FDeEU7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLHFC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Q0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssZ0JBQWdCLENBQUMsRUFBVSxFQUFFLElBQWtCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsSCxDQUFDO2tJQTNKUSxlQUFlO3NJQUFmLGVBQWUsY0FGWixNQUFNOzs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCwgc3dpdGNoTWFwLCB0YWtlLCBtYXAsIGNhdGNoRXJyb3IsIGNvbmNhdE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGdldEFwaVF1ZXVlLCBnZXRBcGlRdWV1ZUl0ZW0sIEFwaVF1ZXVlLCBBcGlRdWV1ZUl0ZW0gfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSB9IGZyb20gJy4uL3N0b3JlL3N0b3JlLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBBZGRBcGlRdWV1ZUl0ZW1BY3Rpb24sIFJlbW92ZUFwaVF1ZXVlSXRlbUFjdGlvbiwgRW1wdHlBcGlRdWV1ZUFjdGlvbiB9IGZyb20gJy4uL3N0b3JlL2luZGV4JztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBpUXVldWVTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwcm90ZWN0ZWQgbG9nU2VydmljZTogTG9nU2VydmljZVxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYW4gaXRlbSBpbiB0aGUgcXVldWUgYnkgZGlzcGF0Y2hpbmcgYW4gYWN0aW9uIHRvIHRoZSBzdG9yZS5cbiAgICAgKiBAcGFyYW0gaWQgLSBUaGUgaWQgb2YgdGhlIGl0ZW0gaW5zaWRlIHRoZSBxdWV1ZS5cbiAgICAgKiBXQVJOSU5HIGlmIG1hdGNoZXMgYW55IG90aGVyIHF1ZXVlIGl0ZW0gaWQgd2lsbCBvdmVyd3JpdGUgaXQuXG4gICAgICogQHBhcmFtIGl0ZW0gLSBhbiBpdGVtIGZvciBRdWV1ZVxuICAgICAqL1xuICAgIGFkZFF1ZXVlSXRlbShpZDogc3RyaW5nLCBpdGVtOiBBcGlRdWV1ZUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWxsb3dlZE1ldGhvZHMgPSBbJ3Bvc3QnLCAncHV0JywgJ2dldCddO1xuXG4gICAgICAgIGlmIChhbGxvd2VkTWV0aG9kcy5pbmRleE9mKGl0ZW0ubWV0aG9kKSA8IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgW0FwaVF1ZXVlXSBtZXRob2QgXCIke2l0ZW0ubWV0aG9kfVwiIGlzIG5vdCBhbGxvd2VkYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBBZGRBcGlRdWV1ZUl0ZW1BY3Rpb24oeyBpZCwgaXRlbSB9KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3Vic2NyaWJlcyB0byB0aGUgc3RvcmUgdG8gcmV0cmlldmUgcXVldWUgYW5kIHRoZW4gY29udmVydHMgdGhlIHF1ZXVlIG9iamVjdCB0byBhbiBhcnJheSBvZiBpdGVtcy5cbiAgICAgKiBAcmV0dXJuIEFuIE9ic2VydmFibGUgb2YgYXJyYXkgb2YgYWxsIGl0ZW1zIGluc2lkZSB0aGUgY3VycmVudCBxdWV1ZSAoQXBpUXVldWVJdGVtW10pXG4gICAgICovXG4gICAgZ2V0UXVldWUoKTogT2JzZXJ2YWJsZTxBcGlRdWV1ZUl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0QXBpUXVldWUpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgbWFwKChxdWV1ZTogQXBpUXVldWUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBxdWV1ZUFycmF5ID0gcXVldWUgJiYgT2JqZWN0LnZhbHVlczxBcGlRdWV1ZUl0ZW0+KHF1ZXVlKTtcbiAgICAgICAgICAgICAgICBpZiAoIXF1ZXVlQXJyYXkgfHwgcXVldWVBcnJheS5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nU2VydmljZS53YXJuKCdObyBpdGVtcyBpbiB0aGUgcXVldWUgZXhpc3QuJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHF1ZXVlQXJyYXk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN1YnNjcmliZXMgdG8gdGhlIHN0b3JlIHRvIHJldHJpZXZlIGFuIGl0ZW0gZnJvbSB0aGUgcXVldWUuXG4gICAgICogQHBhcmFtIGlkIC0gaWQgb2YgdGhlIGl0ZW0gaW5zaWRlIHRoZSBxdWV1ZVxuICAgICAqIEByZXR1cm4gQW4gT2JzZXJ2YWJsZSBvZiBBcGlRdWV1ZUl0ZW0gdHlwZVxuICAgICAqL1xuICAgIGdldFF1ZXVlSXRlbShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcGlRdWV1ZUl0ZW0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlSXRlbShpZCkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgbWFwKChxdWV1ZTogQXBpUXVldWVJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFxdWV1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2Uud2FybihgUXVldWUgaXRlbSB3aXRoIGlkIFwiJHtpZH1cIiBkb2VzIG5vdCBleGlzdGApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHF1ZXVlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgZ2l2ZW4gaXRlbSBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKiBAcGFyYW0gaWQgLSBpZCBvZiB0aGUgaXRlbSBpbnNpZGUgdGhlIHF1ZXVlXG4gICAgICovXG4gICAgcmVtb3ZlUXVldWVJdGVtKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgUmVtb3ZlQXBpUXVldWVJdGVtQWN0aW9uKGlkKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbGwgaXRlbXMgcGxhY2VkIGluIHRoZSBxdWV1ZS5cbiAgICAgKi9cbiAgICByZW1vdmVBbGxRdWV1ZUl0ZW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEVtcHR5QXBpUXVldWVBY3Rpb24obnVsbCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3MgYW4gaXRlbSBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKiBAcGFyYW0gaWQgLSBpZCBvZiB0aGUgaXRlbSBpbnNpZGUgdGhlIHF1ZXVlXG4gICAgICogQHJldHVybiBBbiBPYnNlcnZhYmxlIG9mIHR5cGUgYW55XG4gICAgICovXG4gICAgcHJvY2Vzc1F1ZXVlSXRlbShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlSXRlbShpZCkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChxdWV1ZTogQXBpUXVldWVJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFxdWV1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2Uud2FybihgUXVldWUgaXRlbSB3aXRoIGlkIFwiJHtpZH1cIiBkb2VzIG5vdCBleGlzdGApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRIdHRwUmVxdWVzdChpZCwgcXVldWUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzIGFsbCB0aGUgaXRlbXMgaW5zaWRlIHRoZSBxdWV1ZS5cbiAgICAgKiBAcGFyYW0gW2NvbnRpbnVlT25FcnJvcj10cnVlXSAtIGluIGNhc2Ugb2YgYW4gaXRlbSByZXF1ZXN0IGZhaWxzIGNvbnRpbnVlIHdpdGggdGhlIHJlc3QgaW4gcXVldWVcbiAgICAgKiBAcmV0dXJuIEFuIE9ic2VydmFibGUgd2l0aCBhbiBhcnJheSB3aGljaCBjb250YWlucyBhbGwgcmVzcG9uc2VzIGZyb20gYWxsIGl0ZW1zIGluIHF1ZXVlLlxuICAgICAqL1xuICAgIHByb2Nlc3NBbGxRdWV1ZUl0ZW1zKGNvbnRpbnVlT25FcnJvcjogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZSkucGlwZShcbiAgICAgICAgICAgIG1hcCgocXVldWU6IEFwaVF1ZXVlKSA9PlxuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHF1ZXVlKS5tYXAoKFtrZXksIHZhbHVlXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idWlsZEh0dHBSZXF1ZXN0KGtleSwgdmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuZXJyb3IoYFF1ZXVlIEl0ZW0gd2l0aCBpZCAke2tleX0gZmFpbGVkLmAsIGVycm9yLm1lc3NhZ2UsIGVycm9yLnN0YWNrKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY29udGludWVPbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgob2JzUXVldWU6IE9ic2VydmFibGU8YW55PltdKSA9PiBmb3JrSm9pbihBcnJheS5mcm9tKG9ic1F1ZXVlKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2VzcyBhbGwgaXRlbXMgaW4gcXVldWUgYWZ0ZXIgaXQgb3JkZXIgdGhlbSBiYXNlZCBvbiB0aGVpciB0aW1lc3RhbXAuIEJld2FyZSB0aGF0IG9yZGVyXG4gICAgICogbWF0dGVyIGluIGV4ZWN1dGlvbiBvZiBIdHRwIFJlcXVlc3QgaW4gcXVldWUuIFdoZW4gYSByZXF1ZXN0IGNvbXBsZXRlcyBvbmx5IHRoZW4gbmV4dCB3aWxsIGJlZ2luLiBFbWlzc2lvblxuICAgICAqIG9yIEh0dHAgcmVzcG9uc2UgZm9sbG93cyBvcmRlci5cbiAgICAgKiBAcGFyYW0gW2FzY2VuZGluZz10cnVlXSAtIHNldHMgdGhlIG9yZGVyIG9mIHF1ZXVlIGl0ZW1zIGJhc2VkIG9uIHRpbWVzdGFtcFxuICAgICAqL1xuICAgIHByb2Nlc3NBbGxRdWV1ZUl0ZW1zU2VxdWVudGlhbChhc2NlbmRpbmc6IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlKS5waXBlKFxuICAgICAgICAgICAgY29uY2F0TWFwKChxdWV1ZTogQXBpUXVldWUpID0+XG4gICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMocXVldWUpXG4gICAgICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiAoYXNjZW5kaW5nID8gdGhpcy5zb3J0T25UaW1lc3RhbXAoYSwgYikgOiB0aGlzLnNvcnRPblRpbWVzdGFtcChiLCBhKSkpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKFtpZCwgaXRlbV0pID0+IHRoaXMuYnVpbGRIdHRwUmVxdWVzdChpZCwgaXRlbSkpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvcnQgZGF0ZXMgYXNjZW5kaW5nIGJhc2VkIG9uIGlucHV0XG4gICAgICogQHBhcmFtIGEgLSBEYXRlIG9uZVxuICAgICAqIEBwYXJhbSBiIC0gRGF0ZSB0d29cbiAgICAgKlxuICAgICAqIEBiZXRhXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNvcnRPblRpbWVzdGFtcChhOiBbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dLCBiOiBbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dKSB7XG4gICAgICAgIHJldHVybiArbmV3IERhdGUoYVsxXS50aW1lc3RhbXApIC0gK25ldyBEYXRlKGJbMV0udGltZXN0YW1wKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBidWlsZCBhbmQgSHR0cFJlcXVlc3QgT2JzZXJ2YWJsZSBiYXNlZCBvbiB0aGUgZ2l2ZW4gcXVldWUuXG4gICAgICogQWZ0ZXIgc3VjY2Vzc2Z1bCByZXF1ZXN0IGNvbXBsZXRpb24gcmVtb3ZlcyB0aGUgaXRlbSBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKiBAcGFyYW0gaWQgLSBpZCBvZiB0aGUgaXRlbSBpbnNpZGUgdGhlIHF1ZXVlXG4gICAgICogQHBhcmFtIGl0ZW0gLSB0aGUgaXRlbSBvZiB0aGUgcXVldWUgdGhhdCBtYXRjaGVzIHRoZSBpZC5cbiAgICAgKiBAcmV0dXJuIEFuIE9ic2VydmFibGUgb2YgSHR0cENsaWVudCBSZXF1ZXN0XG4gICAgICovXG4gICAgcHJpdmF0ZSBidWlsZEh0dHBSZXF1ZXN0KGlkOiBzdHJpbmcsIGl0ZW06IEFwaVF1ZXVlSXRlbSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBbaXRlbS5tZXRob2QudG9Mb3dlckNhc2UoKV0oaXRlbS51cmksIGl0ZW0ucGF5bG9hZCkucGlwZSh0YXAoKCkgPT4gdGhpcy5yZW1vdmVRdWV1ZUl0ZW0oaWQpKSk7XG4gICAgfVxufVxuIl19