@tilde-nlp/ngx-translate 2.0.3 → 2.1.0

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 (130) hide show
  1. package/esm2020/lib/factories/file-api-service.factory.mjs +1 -1
  2. package/esm2020/lib/factories/mt-term-term-api.factory.mjs +12 -0
  3. package/esm2020/lib/factories/text-api-service.factory.mjs +3 -3
  4. package/esm2020/lib/i18n/de.mjs +2 -7
  5. package/esm2020/lib/i18n/en.mjs +2 -6
  6. package/esm2020/lib/i18n/et.mjs +1 -6
  7. package/esm2020/lib/i18n/fi.mjs +1 -6
  8. package/esm2020/lib/i18n/lt.mjs +1 -6
  9. package/esm2020/lib/i18n/lv.mjs +2 -7
  10. package/esm2020/lib/i18n/pl.mjs +1 -6
  11. package/esm2020/lib/i18n/sv.mjs +1 -4
  12. package/esm2020/lib/injection-tokens/index.mjs +2 -1
  13. package/esm2020/lib/injection-tokens/mt-term-api.token.mjs +2 -0
  14. package/esm2020/lib/modules/tld-common/models/configs/tld-term-config.model.mjs +1 -1
  15. package/esm2020/lib/modules/tld-common/services/tld-translate-config.service.mjs +2 -1
  16. package/esm2020/lib/modules/tld-document/services/api/file-api.service.mjs +7 -7
  17. package/esm2020/lib/modules/tld-term/create-collection/create-collection.component.mjs +51 -0
  18. package/esm2020/lib/modules/tld-term/index.mjs +2 -1
  19. package/esm2020/lib/modules/tld-term/services/api-v1/models/mt-term-collection-v1-status.enum.mjs +7 -0
  20. package/esm2020/lib/modules/tld-term/services/api-v1/models/mt-term-collection-v1.model.mjs +2 -0
  21. package/esm2020/lib/modules/tld-term/services/api-v1/mt-term-v1.service.mjs +53 -0
  22. package/esm2020/lib/modules/tld-term/services/api-v2/mt-term-v2.service.mjs +67 -0
  23. package/esm2020/lib/modules/tld-term/services/engine-term/eninge-term-api.service.mjs +32 -0
  24. package/esm2020/lib/modules/tld-term/services/engine-term/models/add-engine-terms-request-params.model.mjs +2 -0
  25. package/esm2020/lib/modules/tld-term/services/engine-term/models/engine-term-collection-list.model.mjs +2 -0
  26. package/esm2020/lib/modules/tld-term/services/engine-term/models/engine-term-collection-scope.enum.mjs +6 -0
  27. package/esm2020/lib/modules/tld-term/services/engine-term/models/engine-term-collection-source.enum.mjs +6 -0
  28. package/esm2020/lib/modules/tld-term/services/engine-term/models/engine-term-collection-status.enum.mjs +11 -0
  29. package/esm2020/lib/modules/tld-term/services/engine-term/models/engine-term-collection.model.mjs +2 -0
  30. package/esm2020/lib/modules/tld-term/services/engine-term/models/index.mjs +8 -0
  31. package/esm2020/lib/modules/tld-term/services/engine-term/models/update-engine-terms-request-params.model.mjs +2 -0
  32. package/esm2020/lib/modules/tld-term/services/index.mjs +4 -4
  33. package/esm2020/lib/modules/tld-term/services/models/combined-collection-tooltip-key.enum.mjs +6 -0
  34. package/esm2020/lib/modules/tld-term/services/models/combined-collection.model.mjs +190 -0
  35. package/esm2020/lib/modules/tld-term/services/models/index.mjs +6 -0
  36. package/esm2020/lib/modules/tld-term/services/models/mt-collection-status.enum.mjs +14 -0
  37. package/esm2020/lib/modules/tld-term/services/models/mt-collection.model.mjs +2 -0
  38. package/esm2020/lib/modules/tld-term/services/models/mt-term-service.model.mjs +2 -0
  39. package/esm2020/lib/modules/tld-term/services/term-api/index.mjs +3 -0
  40. package/esm2020/lib/modules/tld-term/services/term-api/models/index.mjs +3 -0
  41. package/esm2020/lib/modules/tld-term/services/term-api/models/tld-term-collection-languages.model.mjs +2 -0
  42. package/esm2020/lib/modules/tld-term/services/term-api/models/tld-term-collection.model.mjs +2 -0
  43. package/esm2020/lib/modules/tld-term/services/term-api/term-api.service.mjs +58 -0
  44. package/esm2020/lib/modules/tld-term/services/terminology.service.mjs +292 -0
  45. package/esm2020/lib/modules/tld-term/tld-term-collection/tld-term-collection.component.mjs +27 -12
  46. package/esm2020/lib/modules/tld-term/tld-term-collection-list/tld-term-collection-list.component.mjs +24 -51
  47. package/esm2020/lib/modules/tld-term/tld-term-menu/tld-term-menu.component.mjs +19 -12
  48. package/esm2020/lib/modules/tld-term/tld-term.module.mjs +6 -5
  49. package/esm2020/lib/modules/tld-text/services/api/tld-translate-text-api.service.mjs +7 -7
  50. package/esm2020/lib/modules/tld-tooltip/services/api-v2/tld-system-api-v2.service.mjs +4 -2
  51. package/esm2020/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.mjs +8 -8
  52. package/esm2020/lib/tld-translate.module.mjs +17 -4
  53. package/esm2020/public-api.mjs +4 -2
  54. package/fesm2015/tilde-nlp-ngx-translate.mjs +749 -435
  55. package/fesm2015/tilde-nlp-ngx-translate.mjs.map +1 -1
  56. package/fesm2020/tilde-nlp-ngx-translate.mjs +724 -431
  57. package/fesm2020/tilde-nlp-ngx-translate.mjs.map +1 -1
  58. package/lib/factories/file-api-service.factory.d.ts +2 -2
  59. package/lib/factories/mt-term-term-api.factory.d.ts +7 -0
  60. package/lib/factories/text-api-service.factory.d.ts +3 -3
  61. package/lib/i18n/de.d.ts +0 -5
  62. package/lib/i18n/en.d.ts +1 -5
  63. package/lib/i18n/et.d.ts +0 -5
  64. package/lib/i18n/fi.d.ts +0 -5
  65. package/lib/i18n/lt.d.ts +0 -5
  66. package/lib/i18n/lv.d.ts +0 -5
  67. package/lib/i18n/pl.d.ts +0 -5
  68. package/lib/i18n/sv.d.ts +0 -3
  69. package/lib/injection-tokens/index.d.ts +1 -0
  70. package/lib/injection-tokens/mt-term-api.token.d.ts +1 -0
  71. package/lib/modules/tld-common/models/configs/tld-term-config.model.d.ts +1 -0
  72. package/lib/modules/tld-document/services/api/file-api.service.d.ts +3 -3
  73. package/lib/modules/tld-term/create-collection/create-collection.component.d.ts +17 -0
  74. package/lib/modules/tld-term/index.d.ts +1 -0
  75. package/lib/modules/tld-term/{models/mt-collection-status.model.d.ts → services/api-v1/models/mt-term-collection-v1-status.enum.d.ts} +1 -1
  76. package/lib/modules/tld-term/services/api-v1/models/mt-term-collection-v1.model.d.ts +12 -0
  77. package/lib/modules/tld-term/services/api-v1/mt-term-v1.service.d.ts +17 -0
  78. package/lib/modules/tld-term/services/api-v2/mt-term-v2.service.d.ts +18 -0
  79. package/lib/modules/tld-term/services/engine-term/eninge-term-api.service.d.ts +17 -0
  80. package/lib/modules/tld-term/services/engine-term/models/add-engine-terms-request-params.model.d.ts +8 -0
  81. package/lib/modules/tld-term/services/engine-term/models/engine-term-collection-list.model.d.ts +4 -0
  82. package/lib/modules/tld-term/services/engine-term/models/engine-term-collection-scope.enum.d.ts +4 -0
  83. package/lib/modules/tld-term/services/engine-term/models/engine-term-collection-source.enum.d.ts +4 -0
  84. package/lib/modules/tld-term/services/engine-term/models/engine-term-collection-status.enum.d.ts +9 -0
  85. package/lib/modules/tld-term/services/engine-term/models/engine-term-collection.model.d.ts +14 -0
  86. package/lib/modules/tld-term/services/engine-term/models/index.d.ts +7 -0
  87. package/lib/modules/tld-term/services/engine-term/models/update-engine-terms-request-params.model.d.ts +5 -0
  88. package/lib/modules/tld-term/services/index.d.ts +3 -3
  89. package/lib/modules/tld-term/services/models/combined-collection-tooltip-key.enum.d.ts +4 -0
  90. package/lib/modules/tld-term/services/models/combined-collection.model.d.ts +87 -0
  91. package/lib/modules/tld-term/services/models/index.d.ts +5 -0
  92. package/lib/modules/tld-term/services/models/mt-collection-status.enum.d.ts +11 -0
  93. package/lib/modules/tld-term/services/models/mt-collection.model.d.ts +14 -0
  94. package/lib/modules/tld-term/services/models/mt-term-service.model.d.ts +7 -0
  95. package/lib/modules/tld-term/services/term-api/index.d.ts +2 -0
  96. package/lib/modules/tld-term/services/term-api/models/index.d.ts +2 -0
  97. package/lib/modules/tld-term/{models/term-api → services/term-api/models}/tld-term-collection.model.d.ts +2 -2
  98. package/lib/modules/tld-term/services/term-api/term-api.service.d.ts +17 -0
  99. package/lib/modules/tld-term/services/terminology.service.d.ts +63 -0
  100. package/lib/modules/tld-term/tld-term-collection/tld-term-collection.component.d.ts +13 -4
  101. package/lib/modules/tld-term/tld-term-collection-list/tld-term-collection-list.component.d.ts +13 -17
  102. package/lib/modules/tld-term/tld-term-menu/tld-term-menu.component.d.ts +11 -7
  103. package/lib/modules/tld-term/tld-term.module.d.ts +13 -12
  104. package/lib/modules/tld-text/services/api/tld-translate-text-api.service.d.ts +3 -3
  105. package/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.d.ts +3 -3
  106. package/package.json +1 -1
  107. package/public-api.d.ts +3 -1
  108. package/src/assets/webcomponent/tld-translate.js +1 -1
  109. package/tilde-nlp-ngx-translate-2.1.0.tgz +0 -0
  110. package/esm2020/lib/modules/tld-term/models/converted-collection-tooltip-key.model.mjs +0 -7
  111. package/esm2020/lib/modules/tld-term/models/converted-collection-type.model.mjs +0 -9
  112. package/esm2020/lib/modules/tld-term/models/index.mjs +0 -7
  113. package/esm2020/lib/modules/tld-term/models/mt-api/tld-mt-term-collection.model.mjs +0 -2
  114. package/esm2020/lib/modules/tld-term/models/mt-collection-status.model.mjs +0 -7
  115. package/esm2020/lib/modules/tld-term/models/term-api/tld-term-collection-languages.model.mjs +0 -2
  116. package/esm2020/lib/modules/tld-term/models/term-api/tld-term-collection.model.mjs +0 -2
  117. package/esm2020/lib/modules/tld-term/models/tld-converted-collection.model.mjs +0 -114
  118. package/esm2020/lib/modules/tld-term/services/mt-collections-api.service.mjs +0 -33
  119. package/esm2020/lib/modules/tld-term/services/term-api.service.mjs +0 -34
  120. package/esm2020/lib/modules/tld-term/services/tld-term-collections.service.mjs +0 -253
  121. package/lib/modules/tld-term/models/converted-collection-tooltip-key.model.d.ts +0 -5
  122. package/lib/modules/tld-term/models/converted-collection-type.model.d.ts +0 -7
  123. package/lib/modules/tld-term/models/index.d.ts +0 -6
  124. package/lib/modules/tld-term/models/mt-api/tld-mt-term-collection.model.d.ts +0 -15
  125. package/lib/modules/tld-term/models/tld-converted-collection.model.d.ts +0 -43
  126. package/lib/modules/tld-term/services/mt-collections-api.service.d.ts +0 -13
  127. package/lib/modules/tld-term/services/term-api.service.d.ts +0 -15
  128. package/lib/modules/tld-term/services/tld-term-collections.service.d.ts +0 -57
  129. package/tilde-nlp-ngx-translate-2.0.3.tgz +0 -0
  130. /package/lib/modules/tld-term/{models/term-api → services/term-api/models}/tld-term-collection-languages.model.d.ts +0 -0
@@ -1,51 +1,48 @@
1
1
  import { Component } from '@angular/core';
2
- import { ErrorCode } from '../../tld-common/models/errors/error-codes.enum';
3
- import { MtCollectionStatus } from '../models/mt-collection-status.model';
4
- import { TldTermCreateCollectionDialogComponent } from '../tld-term-create-collection-dialog/tld-term-create-collection-dialog.component';
2
+ import { MtCollectionStatus } from '../services/models/mt-collection-status.enum';
5
3
  import * as i0 from "@angular/core";
6
- import * as i1 from "../services/tld-term-collections.service";
4
+ import * as i1 from "../services/terminology.service";
7
5
  import * as i2 from "../../tld-common/services";
8
6
  import * as i3 from "../../tld-tooltip/services";
9
- import * as i4 from "@angular/material/dialog";
10
- import * as i5 from "@ngx-translate/core";
11
- import * as i6 from "@angular/forms";
12
- import * as i7 from "@angular/common";
13
- import * as i8 from "@angular/material/button";
7
+ import * as i4 from "../services/term-api/term-api.service";
8
+ import * as i5 from "@angular/forms";
9
+ import * as i6 from "@angular/common";
10
+ import * as i7 from "@angular/material/button";
11
+ import * as i8 from "@angular/material/icon";
14
12
  import * as i9 from "@angular/material/tooltip";
15
13
  import * as i10 from "@angular/material/radio";
16
14
  import * as i11 from "@angular/flex-layout/flex";
17
15
  import * as i12 from "@angular/flex-layout/extended";
18
16
  import * as i13 from "@angular/material/progress-spinner";
17
+ import * as i14 from "@ngx-translate/core";
19
18
  export class TldTermCollectionListComponent {
20
- constructor(collectionService, config, tldSystem, dialog, translate, alerts) {
21
- this.collectionService = collectionService;
19
+ constructor(terminologyService, config, tldSystem, termApiService) {
20
+ this.terminologyService = terminologyService;
22
21
  this.config = config;
23
22
  this.tldSystem = tldSystem;
24
- this.dialog = dialog;
25
- this.translate = translate;
26
- this.alerts = alerts;
23
+ this.termApiService = termApiService;
27
24
  this.localizationKey = "TERM_COLLECTIONS.";
28
25
  this.tooltipLocalizationKey = "TERM_COLLECTIONS.TOOLTIPS.";
29
26
  this.readyStatus = "Ready";
30
27
  this.collectionErrorStatus = MtCollectionStatus.ERROR;
31
28
  }
32
29
  get selected() {
33
- return this.collectionService.selected;
30
+ return this.terminologyService.selected;
34
31
  }
35
32
  set selected(val) {
36
- this.collectionService.selected = val;
33
+ this.terminologyService.selected = val;
37
34
  }
38
35
  get collections() {
39
- return this.collectionService?.collections;
36
+ return this.terminologyService?.collections;
40
37
  }
41
38
  get hasAnyCollections() {
42
- return this.collectionService.hasAnyCollections;
39
+ return this.terminologyService.hasAnyCollections;
43
40
  }
44
41
  get isRefreshingCollections() {
45
- return this.collectionService?.isRefreshingCollections;
42
+ return this.terminologyService?.isRefreshingCollections;
46
43
  }
47
44
  get hasEditPermissions() {
48
- return this.collectionService.hasEditPermissions;
45
+ return this.terminologyService.hasEditPermissions;
49
46
  }
50
47
  get appName() {
51
48
  return this.config.coreConfig.appName;
@@ -60,40 +57,16 @@ export class TldTermCollectionListComponent {
60
57
  this.subscription.unsubscribe();
61
58
  }
62
59
  getEditLink(collection) {
63
- return `${this.config.termConfig.apiUrl}/collections/${collection.termId}/mt/${this.sourceLanguageCode}/${this.targetLanguageCode}`;
64
- }
65
- createNew() {
66
- const localizationKey = "TERM_COLLECTIONS.DEFAULT_COLLECTION_NAME";
67
- this.translate.get(localizationKey).subscribe((collectionName) => {
68
- const dialogRef = this.dialog.open(TldTermCreateCollectionDialogComponent, {
69
- minWidth: '300px',
70
- maxWidth: '700px',
71
- data: { collectionName: collectionName }
72
- });
73
- dialogRef.afterClosed().subscribe(collectionName => {
74
- if (!collectionName) {
75
- return;
76
- }
77
- const languages = [this.sourceLanguageCode, this.targetLanguageCode];
78
- this.collectionService.create(languages, collectionName).subscribe((collection) => {
79
- window.open(this.getEditLink(collection), "_blank");
80
- }, (err) => {
81
- console.error(err);
82
- const error = { ErrorCode: ErrorCode.COLLECTION_CREATE };
83
- this.alerts.unhandeledError(error);
84
- throw error;
85
- });
86
- });
87
- });
60
+ return this.termApiService.getEditLink(collection.termCollection?.id, this.sourceLanguageCode, this.targetLanguageCode);
88
61
  }
89
62
  attach(collection) {
90
- this.collectionService.addCollectionToSystem(collection);
63
+ this.terminologyService.addToEngine(collection);
91
64
  }
92
65
  }
93
- TldTermCollectionListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTermCollectionListComponent, deps: [{ token: i1.TldTermCollectionsService }, { token: i2.TldTranslateConfigService }, { token: i3.TldSystemService }, { token: i4.MatDialog }, { token: i5.TranslateService }, { token: i2.TldAlertService }], target: i0.ɵɵFactoryTarget.Component });
94
- TldTermCollectionListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldTermCollectionListComponent, selector: "tld-term-collection-list", ngImport: i0, template: "<header class=\"tld-collection-list-header\">\r\n <ng-container *ngIf=\"hasAnyCollections\">\r\n <h1 class=\"term-window-title\">\r\n <span fxHide.lt-sm>{{localizationKey + 'TITLE' | translate}}</span>\r\n <span fxHide.gt-xs>{{localizationKey + 'TITLE_MOBILE' | translate}}</span>\r\n </h1>\r\n <p class=\"term-window-description\">\r\n <span>{{localizationKey + 'DESCRIPTION_1' | translate}}</span>\r\n <span fxHide.lt-sm *ngIf=\"hasEditPermissions\">{{localizationKey + 'DESCRIPTION_2' | translate}}</span>\r\n <span fxHide.gt-xs *ngIf=\"hasEditPermissions\">{{localizationKey + 'DESCRIPTION_2_MOBILE' | translate}}</span>\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasAnyCollections\">\r\n <h1 class=\"term-window-title\">{{localizationKey + 'TITLE_EMPTY' | translate}}</h1>\r\n <p class=\"term-window-description\" fxHide.lt-sm>{{localizationKey + 'DESCRIPTION_EMPTY' | translate: {appName: appName} }}</p>\r\n <p class=\"term-window-description\" fxHide.gt-xs>{{localizationKey + 'DESCRIPTION_EMPTY_MOBILE' | translate: {appName: appName} }}</p>\r\n </ng-container>\r\n</header>\r\n<div *ngIf=\"hasAnyCollections\" class=\"tld-collection-list-body\">\r\n <mat-radio-group [attr.aria-label]=\"localizationKey + 'ARIA_LABELS.RADIO_GROUP' | translate\"\r\n [(ngModel)]=\"selected\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n <mat-radio-button [value]=\"null\">\r\n {{localizationKey + 'SELECTED_NONE' | translate}}\r\n </mat-radio-button>\r\n </div>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" *ngFor=\"let collection of collections\"\r\n [matTooltip]=\"collection.tooltipKey? (tooltipLocalizationKey + collection.tooltipKey | translate) : ''\">\r\n <mat-radio-button [value]=\"collection\" fxFlex\r\n [disabled]=\"collection.termId !== null && collection.entryCount<=0\" fxLayoutAlign=\"center center\">\r\n <span class=\"collection-label\" [matTooltip]=\"collection.tooltipKey? '' : collection.title\">\r\n {{collection.title}}</span>\r\n <span class=\"collection-label entries-count-label\"\r\n *ngIf=\"collection.entryCount!==undefined && !collection.mtAttachmentDateTime\"\r\n [matTooltip]=\"collection.tooltipKey? '' : (tooltipLocalizationKey+'ENTRY_COUNT' | translate)\">\r\n {{localizationKey + (collection.languagesString?'ENTRY_COUNT_WITH_LANGUGAES':'ENTRY_COUNT') |\r\n translate: {count: collection.entryCount, languages: collection.languagesString} }}\r\n </span>\r\n\r\n <span class=\"collection-label entries-count-label\"\r\n *ngIf=\"collection.mtEntryCount!==undefined && collection.mtAttachmentDateTime\"\r\n [matTooltip]=\"collection.tooltipKey? '' : (tooltipLocalizationKey+'MT_ENTRY_COUNT' | translate)\">\r\n {{localizationKey + ('MT_ENTRY_COUNT') |\r\n translate: {count: collection.mtEntryCount} }}\r\n </span>\r\n </mat-radio-button>\r\n\r\n <span *ngIf=\" collection.mtStatus === collectionErrorStatus\" color=\"accent\" class=\"material-icons\"\r\n [matTooltip]=\"(collection.errorKey? 'ERRORS.'+collection.errorKey : tooltipLocalizationKey + 'ATTACH_TO_SYSTEM_ERROR') | translate: { termId: collection.termId} \">\r\n error\r\n </span>\r\n\r\n <mat-spinner color=\"accent\" diameter=\"20\" *ngIf=\"collection.isImporting\"></mat-spinner>\r\n <ng-container *ngIf=\"hasEditPermissions\">\r\n <button mat-button *ngIf=\"collection.syncButtonVissible\" (click)=\"attach(collection)\" color=\"primary\"\r\n [matTooltip]=\"tooltipLocalizationKey + 'SYNC' | translate\" [disabled]=\"collection.isImporting\">\r\n {{localizationKey + (collectionErrorStatus === collection.mtStatus? 'SYNC_ERROR': 'SYNC') | translate}}\r\n </button>\r\n <a mat-button color=\"accent\" target=\"_blank\"\r\n [matTooltip]=\"collection.tooltipKey? '' : (tooltipLocalizationKey + 'EDIT' | translate)\"\r\n [attr.href]=\"getEditLink(collection)\" *ngIf=\"collection.termId\" fxHide.lt-sm>\r\n <span>\r\n {{localizationKey + 'EDIT' | translate}}\r\n </span>\r\n </a>\r\n </ng-container>\r\n </div>\r\n </mat-radio-group>\r\n</div>\r\n<footer class=\"tld-collection-list-footer\" fxLayout=\"row\" *ngIf=\"hasEditPermissions\">\r\n <button mat-flat-button color=\"primary\" (click)=\"createNew()\" fxHide.lt-sm>\r\n {{localizationKey + 'CREATE' | translate}}\r\n </button>\r\n</footer>\r\n", styles: [".tld-collection-list-body,.tld-collection-list-header,.tld-collection-list-footer{padding:1em .75em}.collection-label{display:block;max-width:215px;overflow:hidden;text-overflow:ellipsis}.collection-label.entries-count-label{font-size:small;color:#9aa5b1}:host ::ng-deep .mat-radio-button{overflow:hidden;padding:5px 0}:host ::ng-deep .mat-radio-button .mat-radio-ripple{display:none}:host ::ng-deep .mat-radio-button .mat-radio-label-content{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i10.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i10.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i11.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i11.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i12.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "component", type: i13.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
66
+ TldTermCollectionListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTermCollectionListComponent, deps: [{ token: i1.TerminologyService }, { token: i2.TldTranslateConfigService }, { token: i3.TldSystemService }, { token: i4.TermApiService }], target: i0.ɵɵFactoryTarget.Component });
67
+ TldTermCollectionListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldTermCollectionListComponent, selector: "tld-term-collection-list", ngImport: i0, template: "<header class=\"tld-collection-list-header\">\r\n <ng-container *ngIf=\"hasAnyCollections\">\r\n <h1 class=\"term-window-title\">\r\n <span fxHide.lt-sm>{{localizationKey + 'TITLE' | translate}}</span>\r\n <span fxHide.gt-xs>{{localizationKey + 'TITLE_MOBILE' | translate}}</span>\r\n </h1>\r\n <p class=\"term-window-description\">\r\n <span>{{localizationKey + 'DESCRIPTION_1' | translate}}</span>\r\n <span fxHide.lt-sm *ngIf=\"hasEditPermissions\">{{localizationKey + 'DESCRIPTION_2' | translate}}</span>\r\n <span fxHide.gt-xs *ngIf=\"hasEditPermissions\">{{localizationKey + 'DESCRIPTION_2_MOBILE' | translate}}</span>\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasAnyCollections\">\r\n <h1 class=\"term-window-title\">{{localizationKey + 'TITLE_EMPTY' | translate}}</h1>\r\n <p class=\"term-window-description\" fxHide.lt-sm>{{localizationKey + 'DESCRIPTION_EMPTY' | translate: {appName:\r\n appName} }}</p>\r\n <p class=\"term-window-description\" fxHide.gt-xs>{{localizationKey + 'DESCRIPTION_EMPTY_MOBILE' | translate:\r\n {appName: appName} }}</p>\r\n </ng-container>\r\n</header>\r\n<div *ngIf=\"hasAnyCollections\" class=\"tld-collection-list-body\">\r\n <mat-radio-group [attr.aria-label]=\"localizationKey + 'ARIA_LABELS.RADIO_GROUP' | translate\" [(ngModel)]=\"selected\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n <mat-radio-button [value]=\"null\">\r\n <span class=\"text-m-semi-bold\">\r\n {{localizationKey + 'SELECTED_NONE' | translate}}\r\n </span>\r\n </mat-radio-button>\r\n </div>\r\n <div class=\"collection\" fxLayout=\"row\" fxLayoutAlign=\"start center\" *ngFor=\"let collection of collections\"\r\n [matTooltip]=\"collection.termTooltipKey? (tooltipLocalizationKey + collection.termTooltipKey | translate) : ''\">\r\n <mat-radio-button [value]=\"collection\" fxFlex [disabled]=\"collection.termId !== null && collection.termEntries<=0\"\r\n fxLayoutAlign=\"center center\">\r\n <span class=\"collection-label text-m-semi-bold\" [matTooltip]=\"collection.termTooltipKey? '' : collection.name\">\r\n {{collection.name}}\r\n </span>\r\n\r\n <span *ngIf=\"collection.lastUpdated\" class=\"collection-label last-updated-label\">\r\n {{ localizationKey + ('LAST_UPDATED') | translate: { date: collection.lastUpdated | date: 'dd.MM.yy\r\n HH:mm' } }}\r\n </span>\r\n </mat-radio-button>\r\n\r\n <span *ngIf=\" collection.mtStatus === collectionErrorStatus\" color=\"accent\" class=\"material-icons\">\r\n error\r\n </span>\r\n\r\n <mat-spinner color=\"accent\" diameter=\"20\" *ngIf=\"collection.isImporting\"></mat-spinner>\r\n <ng-container *ngIf=\"hasEditPermissions\">\r\n <button mat-button *ngIf=\"collection.syncButtonVissible\" (click)=\"attach(collection)\" color=\"primary\"\r\n [matTooltip]=\"tooltipLocalizationKey + 'SYNC' | translate\" [disabled]=\"collection.isImporting\">\r\n {{localizationKey + (collectionErrorStatus === collection.mtStatus? 'SYNC_ERROR': 'SYNC') | translate}}\r\n </button>\r\n <a mat-icon-button target=\"_blank\"\r\n [matTooltip]=\"collection.termTooltipKey? '' : (tooltipLocalizationKey + 'EDIT' | translate)\"\r\n [attr.href]=\"getEditLink(collection)\" *ngIf=\"collection.termCollection\" fxHide.lt-sm>\r\n <mat-icon class=\"material-icons\">edit</mat-icon>\r\n </a>\r\n </ng-container>\r\n </div>\r\n </mat-radio-group>\r\n</div>\r\n", styles: [".tld-collection-list-body,.tld-collection-list-header{padding:1em .75em}.collection-label{display:block;max-width:215px;overflow:hidden;text-overflow:ellipsis}.collection-label.last-updated-label{font-size:small;color:#5a6672}:host ::ng-deep .mat-radio-button{overflow:hidden;padding:5px 0}:host ::ng-deep .mat-radio-button .mat-radio-ripple{display:none}:host ::ng-deep .mat-radio-button .mat-radio-label-content{overflow:hidden}.collection{min-height:70px;border-top:1px solid #cbd2d9}\n"], dependencies: [{ kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i10.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i10.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i11.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i11.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i12.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "component", type: i13.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i6.DatePipe, name: "date" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] });
95
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTermCollectionListComponent, decorators: [{
96
69
  type: Component,
97
- args: [{ selector: 'tld-term-collection-list', template: "<header class=\"tld-collection-list-header\">\r\n <ng-container *ngIf=\"hasAnyCollections\">\r\n <h1 class=\"term-window-title\">\r\n <span fxHide.lt-sm>{{localizationKey + 'TITLE' | translate}}</span>\r\n <span fxHide.gt-xs>{{localizationKey + 'TITLE_MOBILE' | translate}}</span>\r\n </h1>\r\n <p class=\"term-window-description\">\r\n <span>{{localizationKey + 'DESCRIPTION_1' | translate}}</span>\r\n <span fxHide.lt-sm *ngIf=\"hasEditPermissions\">{{localizationKey + 'DESCRIPTION_2' | translate}}</span>\r\n <span fxHide.gt-xs *ngIf=\"hasEditPermissions\">{{localizationKey + 'DESCRIPTION_2_MOBILE' | translate}}</span>\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasAnyCollections\">\r\n <h1 class=\"term-window-title\">{{localizationKey + 'TITLE_EMPTY' | translate}}</h1>\r\n <p class=\"term-window-description\" fxHide.lt-sm>{{localizationKey + 'DESCRIPTION_EMPTY' | translate: {appName: appName} }}</p>\r\n <p class=\"term-window-description\" fxHide.gt-xs>{{localizationKey + 'DESCRIPTION_EMPTY_MOBILE' | translate: {appName: appName} }}</p>\r\n </ng-container>\r\n</header>\r\n<div *ngIf=\"hasAnyCollections\" class=\"tld-collection-list-body\">\r\n <mat-radio-group [attr.aria-label]=\"localizationKey + 'ARIA_LABELS.RADIO_GROUP' | translate\"\r\n [(ngModel)]=\"selected\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n <mat-radio-button [value]=\"null\">\r\n {{localizationKey + 'SELECTED_NONE' | translate}}\r\n </mat-radio-button>\r\n </div>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" *ngFor=\"let collection of collections\"\r\n [matTooltip]=\"collection.tooltipKey? (tooltipLocalizationKey + collection.tooltipKey | translate) : ''\">\r\n <mat-radio-button [value]=\"collection\" fxFlex\r\n [disabled]=\"collection.termId !== null && collection.entryCount<=0\" fxLayoutAlign=\"center center\">\r\n <span class=\"collection-label\" [matTooltip]=\"collection.tooltipKey? '' : collection.title\">\r\n {{collection.title}}</span>\r\n <span class=\"collection-label entries-count-label\"\r\n *ngIf=\"collection.entryCount!==undefined && !collection.mtAttachmentDateTime\"\r\n [matTooltip]=\"collection.tooltipKey? '' : (tooltipLocalizationKey+'ENTRY_COUNT' | translate)\">\r\n {{localizationKey + (collection.languagesString?'ENTRY_COUNT_WITH_LANGUGAES':'ENTRY_COUNT') |\r\n translate: {count: collection.entryCount, languages: collection.languagesString} }}\r\n </span>\r\n\r\n <span class=\"collection-label entries-count-label\"\r\n *ngIf=\"collection.mtEntryCount!==undefined && collection.mtAttachmentDateTime\"\r\n [matTooltip]=\"collection.tooltipKey? '' : (tooltipLocalizationKey+'MT_ENTRY_COUNT' | translate)\">\r\n {{localizationKey + ('MT_ENTRY_COUNT') |\r\n translate: {count: collection.mtEntryCount} }}\r\n </span>\r\n </mat-radio-button>\r\n\r\n <span *ngIf=\" collection.mtStatus === collectionErrorStatus\" color=\"accent\" class=\"material-icons\"\r\n [matTooltip]=\"(collection.errorKey? 'ERRORS.'+collection.errorKey : tooltipLocalizationKey + 'ATTACH_TO_SYSTEM_ERROR') | translate: { termId: collection.termId} \">\r\n error\r\n </span>\r\n\r\n <mat-spinner color=\"accent\" diameter=\"20\" *ngIf=\"collection.isImporting\"></mat-spinner>\r\n <ng-container *ngIf=\"hasEditPermissions\">\r\n <button mat-button *ngIf=\"collection.syncButtonVissible\" (click)=\"attach(collection)\" color=\"primary\"\r\n [matTooltip]=\"tooltipLocalizationKey + 'SYNC' | translate\" [disabled]=\"collection.isImporting\">\r\n {{localizationKey + (collectionErrorStatus === collection.mtStatus? 'SYNC_ERROR': 'SYNC') | translate}}\r\n </button>\r\n <a mat-button color=\"accent\" target=\"_blank\"\r\n [matTooltip]=\"collection.tooltipKey? '' : (tooltipLocalizationKey + 'EDIT' | translate)\"\r\n [attr.href]=\"getEditLink(collection)\" *ngIf=\"collection.termId\" fxHide.lt-sm>\r\n <span>\r\n {{localizationKey + 'EDIT' | translate}}\r\n </span>\r\n </a>\r\n </ng-container>\r\n </div>\r\n </mat-radio-group>\r\n</div>\r\n<footer class=\"tld-collection-list-footer\" fxLayout=\"row\" *ngIf=\"hasEditPermissions\">\r\n <button mat-flat-button color=\"primary\" (click)=\"createNew()\" fxHide.lt-sm>\r\n {{localizationKey + 'CREATE' | translate}}\r\n </button>\r\n</footer>\r\n", styles: [".tld-collection-list-body,.tld-collection-list-header,.tld-collection-list-footer{padding:1em .75em}.collection-label{display:block;max-width:215px;overflow:hidden;text-overflow:ellipsis}.collection-label.entries-count-label{font-size:small;color:#9aa5b1}:host ::ng-deep .mat-radio-button{overflow:hidden;padding:5px 0}:host ::ng-deep .mat-radio-button .mat-radio-ripple{display:none}:host ::ng-deep .mat-radio-button .mat-radio-label-content{overflow:hidden}\n"] }]
98
- }], ctorParameters: function () { return [{ type: i1.TldTermCollectionsService }, { type: i2.TldTranslateConfigService }, { type: i3.TldSystemService }, { type: i4.MatDialog }, { type: i5.TranslateService }, { type: i2.TldAlertService }]; } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRlcm0tY29sbGVjdGlvbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXJtL3RsZC10ZXJtLWNvbGxlY3Rpb24tbGlzdC90bGQtdGVybS1jb2xsZWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRlcm0vdGxkLXRlcm0tY29sbGVjdGlvbi1saXN0L3RsZC10ZXJtLWNvbGxlY3Rpb24tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUk3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saURBQWlELENBQUM7QUFHNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHMUUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQU8xSSxNQUFNLE9BQU8sOEJBQThCO0lBc0N6QyxZQUE2QixpQkFBNEMsRUFDdEQsTUFBaUMsRUFDakMsU0FBMkIsRUFDM0IsTUFBaUIsRUFDakIsU0FBMkIsRUFDM0IsTUFBdUI7UUFMYixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTJCO1FBQ3RELFdBQU0sR0FBTixNQUFNLENBQTJCO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFkakMsb0JBQWUsR0FBRyxtQkFBbUIsQ0FBQztRQUN0QywyQkFBc0IsR0FBRyw0QkFBNEIsQ0FBQztRQUN0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QVMsRUFBRSxTQUFTLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztvQkFDekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ25DLE1BQU0sS0FBSyxDQUFDO2dCQUNkLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBa0M7UUFDdkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNELENBQUM7OzJIQTFGVSw4QkFBOEI7K0dBQTlCLDhCQUE4QixnRUNqQjNDLGcvSUEwRUE7MkZEekRhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEVycm9yQ29kZSB9IGZyb20gJy4uLy4uL3RsZC1jb21tb24vbW9kZWxzL2Vycm9ycy9lcnJvci1jb2Rlcy5lbnVtJztcclxuaW1wb3J0IHsgVGxkQWxlcnRTZXJ2aWNlLCBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFRsZFN5c3RlbVNlcnZpY2UgfSBmcm9tICcuLi8uLi90bGQtdG9vbHRpcC9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IE10Q29sbGVjdGlvblN0YXR1cyB9IGZyb20gJy4uL21vZGVscy9tdC1jb2xsZWN0aW9uLXN0YXR1cy5tb2RlbCc7XHJcbmltcG9ydCB7IFRsZENvbnZlcnRlZENvbGxlY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvdGxkLWNvbnZlcnRlZC1jb2xsZWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgVGxkVGVybUNvbGxlY3Rpb25zU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RsZC10ZXJtLWNvbGxlY3Rpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUbGRUZXJtQ3JlYXRlQ29sbGVjdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3RsZC10ZXJtLWNyZWF0ZS1jb2xsZWN0aW9uLWRpYWxvZy90bGQtdGVybS1jcmVhdGUtY29sbGVjdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLXRlcm0tY29sbGVjdGlvbi1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGxkLXRlcm0tY29sbGVjdGlvbi1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90bGQtdGVybS1jb2xsZWN0aW9uLWxpc3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkVGVybUNvbGxlY3Rpb25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGdldCBzZWxlY3RlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb25TZXJ2aWNlLnNlbGVjdGVkO1xyXG4gIH1cclxuXHJcbiAgc2V0IHNlbGVjdGVkKHZhbDogVGxkQ29udmVydGVkQ29sbGVjdGlvbikge1xyXG4gICAgdGhpcy5jb2xsZWN0aW9uU2VydmljZS5zZWxlY3RlZCA9IHZhbDtcclxuICB9XHJcblxyXG4gIGdldCBjb2xsZWN0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb25TZXJ2aWNlPy5jb2xsZWN0aW9ucztcclxuICB9XHJcblxyXG4gIGdldCBoYXNBbnlDb2xsZWN0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb25TZXJ2aWNlLmhhc0FueUNvbGxlY3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzUmVmcmVzaGluZ0NvbGxlY3Rpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sbGVjdGlvblNlcnZpY2U/LmlzUmVmcmVzaGluZ0NvbGxlY3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0VkaXRQZXJtaXNzaW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb25TZXJ2aWNlLmhhc0VkaXRQZXJtaXNzaW9ucztcclxuICB9XHJcblxyXG4gIGdldCBhcHBOYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuYXBwTmFtZTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IGxvY2FsaXphdGlvbktleSA9IFwiVEVSTV9DT0xMRUNUSU9OUy5cIjtcclxuICByZWFkb25seSB0b29sdGlwTG9jYWxpemF0aW9uS2V5ID0gXCJURVJNX0NPTExFQ1RJT05TLlRPT0xUSVBTLlwiO1xyXG4gIHJlYWRvbmx5IHJlYWR5U3RhdHVzID0gXCJSZWFkeVwiO1xyXG4gIHByaXZhdGUgc291cmNlTGFuZ3VhZ2VDb2RlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSB0YXJnZXRMYW5ndWFnZUNvZGU6IHN0cmluZztcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICByZWFkb25seSBjb2xsZWN0aW9uRXJyb3JTdGF0dXMgPSBNdENvbGxlY3Rpb25TdGF0dXMuRVJST1I7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29sbGVjdGlvblNlcnZpY2U6IFRsZFRlcm1Db2xsZWN0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU3lzdGVtOiBUbGRTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydHM6IFRsZEFsZXJ0U2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMudGxkU3lzdGVtLmdldEFjdGl2ZURhdGEoKS5zdWJzY3JpYmUoKGFjdGl2ZSkgPT4ge1xyXG4gICAgICB0aGlzLnNvdXJjZUxhbmd1YWdlQ29kZSA9IGFjdGl2ZS5zb3VyY2VMYW5nLmxhbmc7XHJcbiAgICAgIHRoaXMudGFyZ2V0TGFuZ3VhZ2VDb2RlID0gYWN0aXZlLnRhcmdldExhbmcubGFuZztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRFZGl0TGluayhjb2xsZWN0aW9uOiBUbGRDb252ZXJ0ZWRDb2xsZWN0aW9uKSB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5jb25maWcudGVybUNvbmZpZy5hcGlVcmx9L2NvbGxlY3Rpb25zLyR7Y29sbGVjdGlvbi50ZXJtSWR9L210LyR7dGhpcy5zb3VyY2VMYW5ndWFnZUNvZGV9LyR7dGhpcy50YXJnZXRMYW5ndWFnZUNvZGV9YDtcclxuICB9XHJcblxyXG4gIGNyZWF0ZU5ldygpIHtcclxuICAgIGNvbnN0IGxvY2FsaXphdGlvbktleSA9IFwiVEVSTV9DT0xMRUNUSU9OUy5ERUZBVUxUX0NPTExFQ1RJT05fTkFNRVwiO1xyXG4gICAgdGhpcy50cmFuc2xhdGUuZ2V0KGxvY2FsaXphdGlvbktleSkuc3Vic2NyaWJlKChjb2xsZWN0aW9uTmFtZSkgPT4ge1xyXG4gICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFRsZFRlcm1DcmVhdGVDb2xsZWN0aW9uRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgbWluV2lkdGg6ICczMDBweCcsXHJcbiAgICAgICAgbWF4V2lkdGg6ICc3MDBweCcsXHJcbiAgICAgICAgZGF0YTogeyBjb2xsZWN0aW9uTmFtZTogY29sbGVjdGlvbk5hbWUgfVxyXG4gICAgICB9KTtcclxuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGNvbGxlY3Rpb25OYW1lID0+IHtcclxuICAgICAgICBpZiAoIWNvbGxlY3Rpb25OYW1lKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBsYW5ndWFnZXMgPSBbdGhpcy5zb3VyY2VMYW5ndWFnZUNvZGUsIHRoaXMudGFyZ2V0TGFuZ3VhZ2VDb2RlXTtcclxuICAgICAgICB0aGlzLmNvbGxlY3Rpb25TZXJ2aWNlLmNyZWF0ZShsYW5ndWFnZXMsIGNvbGxlY3Rpb25OYW1lKS5zdWJzY3JpYmUoKGNvbGxlY3Rpb24pID0+IHtcclxuICAgICAgICAgIHdpbmRvdy5vcGVuKHRoaXMuZ2V0RWRpdExpbmsoY29sbGVjdGlvbiksIFwiX2JsYW5rXCIpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgY29uc3QgZXJyb3IgPSB7IEVycm9yQ29kZTogRXJyb3JDb2RlLkNPTExFQ1RJT05fQ1JFQVRFIH07XHJcbiAgICAgICAgICAgIHRoaXMuYWxlcnRzLnVuaGFuZGVsZWRFcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhdHRhY2goY29sbGVjdGlvbjogVGxkQ29udmVydGVkQ29sbGVjdGlvbikge1xyXG4gICAgdGhpcy5jb2xsZWN0aW9uU2VydmljZS5hZGRDb2xsZWN0aW9uVG9TeXN0ZW0oY29sbGVjdGlvbik7XHJcbiAgfVxyXG59XHJcbiIsIjxoZWFkZXIgY2xhc3M9XCJ0bGQtY29sbGVjdGlvbi1saXN0LWhlYWRlclwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNBbnlDb2xsZWN0aW9uc1wiPlxyXG4gICAgPGgxIGNsYXNzPVwidGVybS13aW5kb3ctdGl0bGVcIj5cclxuICAgICAgPHNwYW4gZnhIaWRlLmx0LXNtPnt7bG9jYWxpemF0aW9uS2V5ICsgJ1RJVExFJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICA8c3BhbiBmeEhpZGUuZ3QteHM+e3tsb2NhbGl6YXRpb25LZXkgKyAnVElUTEVfTU9CSUxFJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgPC9oMT5cclxuICAgIDxwIGNsYXNzPVwidGVybS13aW5kb3ctZGVzY3JpcHRpb25cIj5cclxuICAgICAgPHNwYW4+e3tsb2NhbGl6YXRpb25LZXkgKyAnREVTQ1JJUFRJT05fMScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgPHNwYW4gZnhIaWRlLmx0LXNtICpuZ0lmPVwiaGFzRWRpdFBlcm1pc3Npb25zXCI+e3tsb2NhbGl6YXRpb25LZXkgKyAnREVTQ1JJUFRJT05fMicgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgPHNwYW4gZnhIaWRlLmd0LXhzICpuZ0lmPVwiaGFzRWRpdFBlcm1pc3Npb25zXCI+e3tsb2NhbGl6YXRpb25LZXkgKyAnREVTQ1JJUFRJT05fMl9NT0JJTEUnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICA8L3A+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNBbnlDb2xsZWN0aW9uc1wiPlxyXG4gICAgPGgxIGNsYXNzPVwidGVybS13aW5kb3ctdGl0bGVcIj57e2xvY2FsaXphdGlvbktleSArICdUSVRMRV9FTVBUWScgfCB0cmFuc2xhdGV9fTwvaDE+XHJcbiAgICA8cCBjbGFzcz1cInRlcm0td2luZG93LWRlc2NyaXB0aW9uXCIgZnhIaWRlLmx0LXNtPnt7bG9jYWxpemF0aW9uS2V5ICsgJ0RFU0NSSVBUSU9OX0VNUFRZJyB8IHRyYW5zbGF0ZToge2FwcE5hbWU6IGFwcE5hbWV9IH19PC9wPlxyXG4gICAgPHAgY2xhc3M9XCJ0ZXJtLXdpbmRvdy1kZXNjcmlwdGlvblwiIGZ4SGlkZS5ndC14cz57e2xvY2FsaXphdGlvbktleSArICdERVNDUklQVElPTl9FTVBUWV9NT0JJTEUnIHwgdHJhbnNsYXRlOiB7YXBwTmFtZTogYXBwTmFtZX0gfX08L3A+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvaGVhZGVyPlxyXG48ZGl2ICpuZ0lmPVwiaGFzQW55Q29sbGVjdGlvbnNcIiBjbGFzcz1cInRsZC1jb2xsZWN0aW9uLWxpc3QtYm9keVwiPlxyXG4gIDxtYXQtcmFkaW8tZ3JvdXAgW2F0dHIuYXJpYS1sYWJlbF09XCJsb2NhbGl6YXRpb25LZXkgKyAnQVJJQV9MQUJFTFMuUkFESU9fR1JPVVAnIHwgdHJhbnNsYXRlXCJcclxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRcIj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XHJcbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJudWxsXCI+XHJcbiAgICAgICAge3tsb2NhbGl6YXRpb25LZXkgKyAnU0VMRUNURURfTk9ORScgfCB0cmFuc2xhdGV9fVxyXG4gICAgICA8L21hdC1yYWRpby1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgKm5nRm9yPVwibGV0IGNvbGxlY3Rpb24gb2YgY29sbGVjdGlvbnNcIlxyXG4gICAgICBbbWF0VG9vbHRpcF09XCJjb2xsZWN0aW9uLnRvb2x0aXBLZXk/ICh0b29sdGlwTG9jYWxpemF0aW9uS2V5ICsgY29sbGVjdGlvbi50b29sdGlwS2V5IHwgdHJhbnNsYXRlKSA6ICcnXCI+XHJcbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJjb2xsZWN0aW9uXCIgZnhGbGV4XHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbGxlY3Rpb24udGVybUlkICE9PSBudWxsICYmIGNvbGxlY3Rpb24uZW50cnlDb3VudDw9MFwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2xsZWN0aW9uLWxhYmVsXCIgW21hdFRvb2x0aXBdPVwiY29sbGVjdGlvbi50b29sdGlwS2V5PyAnJyA6IGNvbGxlY3Rpb24udGl0bGVcIj5cclxuICAgICAgICAgIHt7Y29sbGVjdGlvbi50aXRsZX19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY29sbGVjdGlvbi1sYWJlbCBlbnRyaWVzLWNvdW50LWxhYmVsXCJcclxuICAgICAgICAgICpuZ0lmPVwiY29sbGVjdGlvbi5lbnRyeUNvdW50IT09dW5kZWZpbmVkICYmICFjb2xsZWN0aW9uLm10QXR0YWNobWVudERhdGVUaW1lXCJcclxuICAgICAgICAgIFttYXRUb29sdGlwXT1cImNvbGxlY3Rpb24udG9vbHRpcEtleT8gJycgOiAodG9vbHRpcExvY2FsaXphdGlvbktleSsnRU5UUllfQ09VTlQnIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAge3tsb2NhbGl6YXRpb25LZXkgKyAoY29sbGVjdGlvbi5sYW5ndWFnZXNTdHJpbmc/J0VOVFJZX0NPVU5UX1dJVEhfTEFOR1VHQUVTJzonRU5UUllfQ09VTlQnKSB8XHJcbiAgICAgICAgICB0cmFuc2xhdGU6IHtjb3VudDogY29sbGVjdGlvbi5lbnRyeUNvdW50LCBsYW5ndWFnZXM6IGNvbGxlY3Rpb24ubGFuZ3VhZ2VzU3RyaW5nfSB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2xsZWN0aW9uLWxhYmVsIGVudHJpZXMtY291bnQtbGFiZWxcIlxyXG4gICAgICAgICAgKm5nSWY9XCJjb2xsZWN0aW9uLm10RW50cnlDb3VudCE9PXVuZGVmaW5lZCAmJiBjb2xsZWN0aW9uLm10QXR0YWNobWVudERhdGVUaW1lXCJcclxuICAgICAgICAgIFttYXRUb29sdGlwXT1cImNvbGxlY3Rpb24udG9vbHRpcEtleT8gJycgOiAodG9vbHRpcExvY2FsaXphdGlvbktleSsnTVRfRU5UUllfQ09VTlQnIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAge3tsb2NhbGl6YXRpb25LZXkgKyAoJ01UX0VOVFJZX0NPVU5UJykgfFxyXG4gICAgICAgICAgdHJhbnNsYXRlOiB7Y291bnQ6IGNvbGxlY3Rpb24ubXRFbnRyeUNvdW50fSB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG5cclxuICAgICAgPHNwYW4gKm5nSWY9XCIgY29sbGVjdGlvbi5tdFN0YXR1cyA9PT0gY29sbGVjdGlvbkVycm9yU3RhdHVzXCIgY29sb3I9XCJhY2NlbnRcIiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCJcclxuICAgICAgICBbbWF0VG9vbHRpcF09XCIoY29sbGVjdGlvbi5lcnJvcktleT8gJ0VSUk9SUy4nK2NvbGxlY3Rpb24uZXJyb3JLZXkgOiB0b29sdGlwTG9jYWxpemF0aW9uS2V5ICsgJ0FUVEFDSF9UT19TWVNURU1fRVJST1InKSB8IHRyYW5zbGF0ZTogeyB0ZXJtSWQ6IGNvbGxlY3Rpb24udGVybUlkfSBcIj5cclxuICAgICAgICBlcnJvclxyXG4gICAgICA8L3NwYW4+XHJcblxyXG4gICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJhY2NlbnRcIiBkaWFtZXRlcj1cIjIwXCIgKm5nSWY9XCJjb2xsZWN0aW9uLmlzSW1wb3J0aW5nXCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0VkaXRQZXJtaXNzaW9uc1wiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cImNvbGxlY3Rpb24uc3luY0J1dHRvblZpc3NpYmxlXCIgKGNsaWNrKT1cImF0dGFjaChjb2xsZWN0aW9uKVwiIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwTG9jYWxpemF0aW9uS2V5ICsgJ1NZTkMnIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cImNvbGxlY3Rpb24uaXNJbXBvcnRpbmdcIj5cclxuICAgICAgICAgIHt7bG9jYWxpemF0aW9uS2V5ICsgKGNvbGxlY3Rpb25FcnJvclN0YXR1cyA9PT0gY29sbGVjdGlvbi5tdFN0YXR1cz8gJ1NZTkNfRVJST1InOiAnU1lOQycpIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YSBtYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgdGFyZ2V0PVwiX2JsYW5rXCJcclxuICAgICAgICAgIFttYXRUb29sdGlwXT1cImNvbGxlY3Rpb24udG9vbHRpcEtleT8gJycgOiAodG9vbHRpcExvY2FsaXphdGlvbktleSArICdFRElUJyB8IHRyYW5zbGF0ZSlcIlxyXG4gICAgICAgICAgW2F0dHIuaHJlZl09XCJnZXRFZGl0TGluayhjb2xsZWN0aW9uKVwiICpuZ0lmPVwiY29sbGVjdGlvbi50ZXJtSWRcIiBmeEhpZGUubHQtc20+XHJcbiAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAge3tsb2NhbGl6YXRpb25LZXkgKyAnRURJVCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1yYWRpby1ncm91cD5cclxuPC9kaXY+XHJcbjxmb290ZXIgY2xhc3M9XCJ0bGQtY29sbGVjdGlvbi1saXN0LWZvb3RlclwiIGZ4TGF5b3V0PVwicm93XCIgKm5nSWY9XCJoYXNFZGl0UGVybWlzc2lvbnNcIj5cclxuICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY3JlYXRlTmV3KClcIiBmeEhpZGUubHQtc20+XHJcbiAgICB7e2xvY2FsaXphdGlvbktleSArICdDUkVBVEUnIHwgdHJhbnNsYXRlfX1cclxuICA8L2J1dHRvbj5cclxuPC9mb290ZXI+XHJcbiJdfQ==
70
+ args: [{ selector: 'tld-term-collection-list', template: "<header class=\"tld-collection-list-header\">\r\n <ng-container *ngIf=\"hasAnyCollections\">\r\n <h1 class=\"term-window-title\">\r\n <span fxHide.lt-sm>{{localizationKey + 'TITLE' | translate}}</span>\r\n <span fxHide.gt-xs>{{localizationKey + 'TITLE_MOBILE' | translate}}</span>\r\n </h1>\r\n <p class=\"term-window-description\">\r\n <span>{{localizationKey + 'DESCRIPTION_1' | translate}}</span>\r\n <span fxHide.lt-sm *ngIf=\"hasEditPermissions\">{{localizationKey + 'DESCRIPTION_2' | translate}}</span>\r\n <span fxHide.gt-xs *ngIf=\"hasEditPermissions\">{{localizationKey + 'DESCRIPTION_2_MOBILE' | translate}}</span>\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasAnyCollections\">\r\n <h1 class=\"term-window-title\">{{localizationKey + 'TITLE_EMPTY' | translate}}</h1>\r\n <p class=\"term-window-description\" fxHide.lt-sm>{{localizationKey + 'DESCRIPTION_EMPTY' | translate: {appName:\r\n appName} }}</p>\r\n <p class=\"term-window-description\" fxHide.gt-xs>{{localizationKey + 'DESCRIPTION_EMPTY_MOBILE' | translate:\r\n {appName: appName} }}</p>\r\n </ng-container>\r\n</header>\r\n<div *ngIf=\"hasAnyCollections\" class=\"tld-collection-list-body\">\r\n <mat-radio-group [attr.aria-label]=\"localizationKey + 'ARIA_LABELS.RADIO_GROUP' | translate\" [(ngModel)]=\"selected\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n <mat-radio-button [value]=\"null\">\r\n <span class=\"text-m-semi-bold\">\r\n {{localizationKey + 'SELECTED_NONE' | translate}}\r\n </span>\r\n </mat-radio-button>\r\n </div>\r\n <div class=\"collection\" fxLayout=\"row\" fxLayoutAlign=\"start center\" *ngFor=\"let collection of collections\"\r\n [matTooltip]=\"collection.termTooltipKey? (tooltipLocalizationKey + collection.termTooltipKey | translate) : ''\">\r\n <mat-radio-button [value]=\"collection\" fxFlex [disabled]=\"collection.termId !== null && collection.termEntries<=0\"\r\n fxLayoutAlign=\"center center\">\r\n <span class=\"collection-label text-m-semi-bold\" [matTooltip]=\"collection.termTooltipKey? '' : collection.name\">\r\n {{collection.name}}\r\n </span>\r\n\r\n <span *ngIf=\"collection.lastUpdated\" class=\"collection-label last-updated-label\">\r\n {{ localizationKey + ('LAST_UPDATED') | translate: { date: collection.lastUpdated | date: 'dd.MM.yy\r\n HH:mm' } }}\r\n </span>\r\n </mat-radio-button>\r\n\r\n <span *ngIf=\" collection.mtStatus === collectionErrorStatus\" color=\"accent\" class=\"material-icons\">\r\n error\r\n </span>\r\n\r\n <mat-spinner color=\"accent\" diameter=\"20\" *ngIf=\"collection.isImporting\"></mat-spinner>\r\n <ng-container *ngIf=\"hasEditPermissions\">\r\n <button mat-button *ngIf=\"collection.syncButtonVissible\" (click)=\"attach(collection)\" color=\"primary\"\r\n [matTooltip]=\"tooltipLocalizationKey + 'SYNC' | translate\" [disabled]=\"collection.isImporting\">\r\n {{localizationKey + (collectionErrorStatus === collection.mtStatus? 'SYNC_ERROR': 'SYNC') | translate}}\r\n </button>\r\n <a mat-icon-button target=\"_blank\"\r\n [matTooltip]=\"collection.termTooltipKey? '' : (tooltipLocalizationKey + 'EDIT' | translate)\"\r\n [attr.href]=\"getEditLink(collection)\" *ngIf=\"collection.termCollection\" fxHide.lt-sm>\r\n <mat-icon class=\"material-icons\">edit</mat-icon>\r\n </a>\r\n </ng-container>\r\n </div>\r\n </mat-radio-group>\r\n</div>\r\n", styles: [".tld-collection-list-body,.tld-collection-list-header{padding:1em .75em}.collection-label{display:block;max-width:215px;overflow:hidden;text-overflow:ellipsis}.collection-label.last-updated-label{font-size:small;color:#5a6672}:host ::ng-deep .mat-radio-button{overflow:hidden;padding:5px 0}:host ::ng-deep .mat-radio-button .mat-radio-ripple{display:none}:host ::ng-deep .mat-radio-button .mat-radio-label-content{overflow:hidden}.collection{min-height:70px;border-top:1px solid #cbd2d9}\n"] }]
71
+ }], ctorParameters: function () { return [{ type: i1.TerminologyService }, { type: i2.TldTranslateConfigService }, { type: i3.TldSystemService }, { type: i4.TermApiService }]; } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRlcm0tY29sbGVjdGlvbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXJtL3RsZC10ZXJtLWNvbGxlY3Rpb24tbGlzdC90bGQtdGVybS1jb2xsZWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRlcm0vdGxkLXRlcm0tY29sbGVjdGlvbi1saXN0L3RsZC10ZXJtLWNvbGxlY3Rpb24tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUs3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVNsRixNQUFNLE9BQU8sOEJBQThCO0lBc0N6QyxZQUE2QixrQkFBc0MsRUFDaEQsTUFBaUMsRUFDakMsU0FBMkIsRUFDM0IsY0FBOEI7UUFIcEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNoRCxXQUFNLEdBQU4sTUFBTSxDQUEyQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFaeEMsb0JBQWUsR0FBRyxtQkFBbUIsQ0FBQztRQUN0QywyQkFBc0IsR0FBRyw0QkFBNEIsQ0FBQztRQUN0RCxnQkFBVyxHQUFHLE9BQU8sQ0FBQztRQUt0QiwwQkFBcUIsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7SUFNMUQsQ0FBQztJQXpDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQXVCO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLHVCQUF1QjtRQUN6QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSx1QkFBdUIsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO0lBQ3hDLENBQUM7SUFpQkQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN0RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxXQUFXLENBQUMsVUFBOEI7UUFDeEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUE4QjtRQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7OzJIQTdEVSw4QkFBOEI7K0dBQTlCLDhCQUE4QixnRUNkM0MsdWlIQThEQTsyRkRoRGEsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi90bGQtY29tbW9uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVGxkU3lzdGVtU2VydmljZSB9IGZyb20gJy4uLy4uL3RsZC10b29sdGlwL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgQ29tYmluZWRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWxzL2NvbWJpbmVkLWNvbGxlY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBNdENvbGxlY3Rpb25TdGF0dXMgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbHMvbXQtY29sbGVjdGlvbi1zdGF0dXMuZW51bSc7XHJcbmltcG9ydCB7IFRlcm1BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGVybS1hcGkvdGVybS1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFRlcm1pbm9sb2d5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Rlcm1pbm9sb2d5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0bGQtdGVybS1jb2xsZWN0aW9uLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90bGQtdGVybS1jb2xsZWN0aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RsZC10ZXJtLWNvbGxlY3Rpb24tbGlzdC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUZXJtQ29sbGVjdGlvbkxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZ2V0IHNlbGVjdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLnNlbGVjdGVkO1xyXG4gIH1cclxuXHJcbiAgc2V0IHNlbGVjdGVkKHZhbDogQ29tYmluZWRDb2xsZWN0aW9uKSB7XHJcbiAgICB0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5zZWxlY3RlZCA9IHZhbDtcclxuICB9XHJcblxyXG4gIGdldCBjb2xsZWN0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLnRlcm1pbm9sb2d5U2VydmljZT8uY29sbGVjdGlvbnM7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzQW55Q29sbGVjdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXJtaW5vbG9neVNlcnZpY2UuaGFzQW55Q29sbGVjdGlvbnM7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNSZWZyZXNoaW5nQ29sbGVjdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXJtaW5vbG9neVNlcnZpY2U/LmlzUmVmcmVzaGluZ0NvbGxlY3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0VkaXRQZXJtaXNzaW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5oYXNFZGl0UGVybWlzc2lvbnM7XHJcbiAgfVxyXG5cclxuICBnZXQgYXBwTmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmFwcE5hbWU7XHJcbiAgfVxyXG5cclxuICByZWFkb25seSBsb2NhbGl6YXRpb25LZXkgPSBcIlRFUk1fQ09MTEVDVElPTlMuXCI7XHJcbiAgcmVhZG9ubHkgdG9vbHRpcExvY2FsaXphdGlvbktleSA9IFwiVEVSTV9DT0xMRUNUSU9OUy5UT09MVElQUy5cIjtcclxuICByZWFkb25seSByZWFkeVN0YXR1cyA9IFwiUmVhZHlcIjtcclxuICBwcml2YXRlIHNvdXJjZUxhbmd1YWdlQ29kZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgdGFyZ2V0TGFuZ3VhZ2VDb2RlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcmVhZG9ubHkgY29sbGVjdGlvbkVycm9yU3RhdHVzID0gTXRDb2xsZWN0aW9uU3RhdHVzLkVSUk9SO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRlcm1pbm9sb2d5U2VydmljZTogVGVybWlub2xvZ3lTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRsZFN5c3RlbTogVGxkU3lzdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVybUFwaVNlcnZpY2U6IFRlcm1BcGlTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy50bGRTeXN0ZW0uZ2V0QWN0aXZlRGF0YSgpLnN1YnNjcmliZSgoYWN0aXZlKSA9PiB7XHJcbiAgICAgIHRoaXMuc291cmNlTGFuZ3VhZ2VDb2RlID0gYWN0aXZlLnNvdXJjZUxhbmcubGFuZztcclxuICAgICAgdGhpcy50YXJnZXRMYW5ndWFnZUNvZGUgPSBhY3RpdmUudGFyZ2V0TGFuZy5sYW5nO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGdldEVkaXRMaW5rKGNvbGxlY3Rpb246IENvbWJpbmVkQ29sbGVjdGlvbikge1xyXG4gICAgcmV0dXJuIHRoaXMudGVybUFwaVNlcnZpY2UuZ2V0RWRpdExpbmsoY29sbGVjdGlvbi50ZXJtQ29sbGVjdGlvbj8uaWQsIHRoaXMuc291cmNlTGFuZ3VhZ2VDb2RlLCB0aGlzLnRhcmdldExhbmd1YWdlQ29kZSk7XHJcbiAgfVxyXG5cclxuICBhdHRhY2goY29sbGVjdGlvbjogQ29tYmluZWRDb2xsZWN0aW9uKSB7XHJcbiAgICB0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5hZGRUb0VuZ2luZShjb2xsZWN0aW9uKTtcclxuICB9XHJcbn1cclxuIiwiPGhlYWRlciBjbGFzcz1cInRsZC1jb2xsZWN0aW9uLWxpc3QtaGVhZGVyXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0FueUNvbGxlY3Rpb25zXCI+XHJcbiAgICA8aDEgY2xhc3M9XCJ0ZXJtLXdpbmRvdy10aXRsZVwiPlxyXG4gICAgICA8c3BhbiBmeEhpZGUubHQtc20+e3tsb2NhbGl6YXRpb25LZXkgKyAnVElUTEUnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDxzcGFuIGZ4SGlkZS5ndC14cz57e2xvY2FsaXphdGlvbktleSArICdUSVRMRV9NT0JJTEUnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICA8L2gxPlxyXG4gICAgPHAgY2xhc3M9XCJ0ZXJtLXdpbmRvdy1kZXNjcmlwdGlvblwiPlxyXG4gICAgICA8c3Bhbj57e2xvY2FsaXphdGlvbktleSArICdERVNDUklQVElPTl8xJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICA8c3BhbiBmeEhpZGUubHQtc20gKm5nSWY9XCJoYXNFZGl0UGVybWlzc2lvbnNcIj57e2xvY2FsaXphdGlvbktleSArICdERVNDUklQVElPTl8yJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICA8c3BhbiBmeEhpZGUuZ3QteHMgKm5nSWY9XCJoYXNFZGl0UGVybWlzc2lvbnNcIj57e2xvY2FsaXphdGlvbktleSArICdERVNDUklQVElPTl8yX01PQklMRScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgIDwvcD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0FueUNvbGxlY3Rpb25zXCI+XHJcbiAgICA8aDEgY2xhc3M9XCJ0ZXJtLXdpbmRvdy10aXRsZVwiPnt7bG9jYWxpemF0aW9uS2V5ICsgJ1RJVExFX0VNUFRZJyB8IHRyYW5zbGF0ZX19PC9oMT5cclxuICAgIDxwIGNsYXNzPVwidGVybS13aW5kb3ctZGVzY3JpcHRpb25cIiBmeEhpZGUubHQtc20+e3tsb2NhbGl6YXRpb25LZXkgKyAnREVTQ1JJUFRJT05fRU1QVFknIHwgdHJhbnNsYXRlOiB7YXBwTmFtZTpcclxuICAgICAgYXBwTmFtZX0gfX08L3A+XHJcbiAgICA8cCBjbGFzcz1cInRlcm0td2luZG93LWRlc2NyaXB0aW9uXCIgZnhIaWRlLmd0LXhzPnt7bG9jYWxpemF0aW9uS2V5ICsgJ0RFU0NSSVBUSU9OX0VNUFRZX01PQklMRScgfCB0cmFuc2xhdGU6XHJcbiAgICAgIHthcHBOYW1lOiBhcHBOYW1lfSB9fTwvcD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9oZWFkZXI+XHJcbjxkaXYgKm5nSWY9XCJoYXNBbnlDb2xsZWN0aW9uc1wiIGNsYXNzPVwidGxkLWNvbGxlY3Rpb24tbGlzdC1ib2R5XCI+XHJcbiAgPG1hdC1yYWRpby1ncm91cCBbYXR0ci5hcmlhLWxhYmVsXT1cImxvY2FsaXphdGlvbktleSArICdBUklBX0xBQkVMUy5SQURJT19HUk9VUCcgfCB0cmFuc2xhdGVcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkXCI+XHJcbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBbdmFsdWVdPVwibnVsbFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tLXNlbWktYm9sZFwiPlxyXG4gICAgICAgICAge3tsb2NhbGl6YXRpb25LZXkgKyAnU0VMRUNURURfTk9ORScgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sbGVjdGlvblwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiICpuZ0Zvcj1cImxldCBjb2xsZWN0aW9uIG9mIGNvbGxlY3Rpb25zXCJcclxuICAgICAgW21hdFRvb2x0aXBdPVwiY29sbGVjdGlvbi50ZXJtVG9vbHRpcEtleT8gKHRvb2x0aXBMb2NhbGl6YXRpb25LZXkgKyBjb2xsZWN0aW9uLnRlcm1Ub29sdGlwS2V5IHwgdHJhbnNsYXRlKSA6ICcnXCI+XHJcbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJjb2xsZWN0aW9uXCIgZnhGbGV4IFtkaXNhYmxlZF09XCJjb2xsZWN0aW9uLnRlcm1JZCAhPT0gbnVsbCAmJiBjb2xsZWN0aW9uLnRlcm1FbnRyaWVzPD0wXCJcclxuICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY29sbGVjdGlvbi1sYWJlbCB0ZXh0LW0tc2VtaS1ib2xkXCIgW21hdFRvb2x0aXBdPVwiY29sbGVjdGlvbi50ZXJtVG9vbHRpcEtleT8gJycgOiBjb2xsZWN0aW9uLm5hbWVcIj5cclxuICAgICAgICAgIHt7Y29sbGVjdGlvbi5uYW1lfX1cclxuICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiY29sbGVjdGlvbi5sYXN0VXBkYXRlZFwiIGNsYXNzPVwiY29sbGVjdGlvbi1sYWJlbCBsYXN0LXVwZGF0ZWQtbGFiZWxcIj5cclxuICAgICAgICAgIHt7IGxvY2FsaXphdGlvbktleSArICgnTEFTVF9VUERBVEVEJykgfCB0cmFuc2xhdGU6IHsgZGF0ZTogY29sbGVjdGlvbi5sYXN0VXBkYXRlZCB8IGRhdGU6ICdkZC5NTS55eVxyXG4gICAgICAgICAgSEg6bW0nIH0gfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuXHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiIGNvbGxlY3Rpb24ubXRTdGF0dXMgPT09IGNvbGxlY3Rpb25FcnJvclN0YXR1c1wiIGNvbG9yPVwiYWNjZW50XCIgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPlxyXG4gICAgICAgIGVycm9yXHJcbiAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgIDxtYXQtc3Bpbm5lciBjb2xvcj1cImFjY2VudFwiIGRpYW1ldGVyPVwiMjBcIiAqbmdJZj1cImNvbGxlY3Rpb24uaXNJbXBvcnRpbmdcIj48L21hdC1zcGlubmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzRWRpdFBlcm1pc3Npb25zXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uICpuZ0lmPVwiY29sbGVjdGlvbi5zeW5jQnV0dG9uVmlzc2libGVcIiAoY2xpY2spPVwiYXR0YWNoKGNvbGxlY3Rpb24pXCIgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXBMb2NhbGl6YXRpb25LZXkgKyAnU1lOQycgfCB0cmFuc2xhdGVcIiBbZGlzYWJsZWRdPVwiY29sbGVjdGlvbi5pc0ltcG9ydGluZ1wiPlxyXG4gICAgICAgICAge3tsb2NhbGl6YXRpb25LZXkgKyAoY29sbGVjdGlvbkVycm9yU3RhdHVzID09PSBjb2xsZWN0aW9uLm10U3RhdHVzPyAnU1lOQ19FUlJPUic6ICdTWU5DJykgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxhIG1hdC1pY29uLWJ1dHRvbiB0YXJnZXQ9XCJfYmxhbmtcIlxyXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiY29sbGVjdGlvbi50ZXJtVG9vbHRpcEtleT8gJycgOiAodG9vbHRpcExvY2FsaXphdGlvbktleSArICdFRElUJyB8IHRyYW5zbGF0ZSlcIlxyXG4gICAgICAgICAgW2F0dHIuaHJlZl09XCJnZXRFZGl0TGluayhjb2xsZWN0aW9uKVwiICpuZ0lmPVwiY29sbGVjdGlvbi50ZXJtQ29sbGVjdGlvblwiIGZ4SGlkZS5sdC1zbT5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+ZWRpdDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG48L2Rpdj5cclxuIl19
@@ -1,6 +1,6 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "../services";
3
+ import * as i1 from "../services/terminology.service";
4
4
  import * as i2 from "@angular/common";
5
5
  import * as i3 from "@angular/material/button";
6
6
  import * as i4 from "@angular/material/icon";
@@ -14,23 +14,30 @@ import * as i11 from "@tilde-nlp/ngx-common";
14
14
  import * as i12 from "../tld-term-collection/tld-term-collection.component";
15
15
  import * as i13 from "@ngx-translate/core";
16
16
  export class TldTermMenuComponent {
17
- constructor(collectionService) {
18
- this.collectionService = collectionService;
17
+ constructor(terminologyService) {
18
+ this.terminologyService = terminologyService;
19
19
  }
20
- get selected() { return this.collectionService.selected; }
20
+ get selected() { return this.terminologyService.selected; }
21
21
  ;
22
- set selected(val) { this.collectionService.selected = val; }
22
+ set selected(val) { this.terminologyService.selected = val; }
23
+ get title() {
24
+ return this.selected?.termCollection?.name ?? this.selected.mtCollection?.name;
25
+ }
26
+ ngOnDestroy() {
27
+ this.menuClosed();
28
+ }
23
29
  menuOpened() {
24
- this.collectionService.onMenuOpen();
30
+ this.subscription = this.terminologyService.startAutoRefresh().subscribe();
25
31
  }
26
32
  menuClosed() {
27
- this.collectionService.onMenuClose();
33
+ this.terminologyService.stopAutoRefresh();
34
+ this.subscription?.unsubscribe();
28
35
  }
29
36
  }
30
- TldTermMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTermMenuComponent, deps: [{ token: i1.TldTermCollectionsService }], target: i0.ɵɵFactoryTarget.Component });
31
- TldTermMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldTermMenuComponent, selector: "tld-term-menu", ngImport: i0, template: "<div fxLayoutAlign=\"center center\" [ngClass.lt-sm]=\"'tld-term-collection-wrapper-mobile'\" fxLayoutGap=\"8px\">\r\n <span fxHide.lt-md>\r\n {{'TERM_COLLECTIONS.GLOSSARY' | translate}}\r\n </span>\r\n <tld-open-close-button fxHide.lt-sm #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\"\r\n (menuOpened)=\"menuOpened()\" (menuClosed)=\"menuClosed()\"\r\n [matTooltip]=\"selected? selected.title:''\" [isOpened]=\"state.menuOpen\" class=\"tld-collection-menu-button\"\r\n [attr.aria-label]=\"'TERM_COLLECTIONS.ARIA_LABELS.OTHER_COLLECTIONS' | translate\">\r\n <span class=\"selected-collection\">\r\n {{selected? selected.title : ('TERM_COLLECTIONS.SELECTED_NONE' | translate)}}\r\n </span>\r\n <mat-spinner class=\"selected-col-spinner\" color=\"accent\" diameter=\"16\" *ngIf=\"selected?.isImporting\"></mat-spinner>\r\n </tld-open-close-button>\r\n <button mat-icon-button fxHide.gt-xs [matMenuTriggerFor]=\"menu\">\r\n <mat-icon svgIcon=\"collections_menu\" [attr.color]=\"selected?'accent':''\"></mat-icon>\r\n </button>\r\n\r\n</div>\r\n\r\n<mat-menu #menu=\"matMenu\" class=\"tld-collection-menu\">\r\n <tld-close-button fxHide.gt-xs></tld-close-button>\r\n <div class=\"tld-term-collection\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\r\n <tld-term-collection></tld-term-collection>\r\n </div>\r\n</mat-menu>\r\n", styles: [".tld-collection-menu-button .selected-collection{overflow:hidden;text-overflow:ellipsis;max-width:140px;display:inline-block}.selected-col-spinner{margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i8.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i8.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i10.TldOpenCloseButtonComponent, selector: "tld-open-close-button", inputs: ["disableFocusOnAction", "isOpened", "disabled", "isIcon", "ariaLabelCode"] }, { kind: "component", type: i11.CloseButtonComponent, selector: "tld-close-button", inputs: ["ariaCode", "disabled", "tooltip"], outputs: ["tldClick"] }, { kind: "component", type: i12.TldTermCollectionComponent, selector: "tld-term-collection" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
37
+ TldTermMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTermMenuComponent, deps: [{ token: i1.TerminologyService }], target: i0.ɵɵFactoryTarget.Component });
38
+ TldTermMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldTermMenuComponent, selector: "tld-term-menu", ngImport: i0, template: "<div fxLayoutAlign=\"center center\" [ngClass.lt-sm]=\"'tld-term-collection-wrapper-mobile'\" fxLayoutGap=\"8px\">\r\n <span fxHide.lt-md>\r\n {{'TERM_COLLECTIONS.GLOSSARY' | translate}}\r\n </span>\r\n <tld-open-close-button fxHide.lt-sm #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" (menuOpened)=\"menuOpened()\"\r\n (menuClosed)=\"menuClosed()\" [matTooltip]=\"selected? title:''\" [isOpened]=\"state.menuOpen\"\r\n class=\"tld-collection-menu-button\" [attr.aria-label]=\"'TERM_COLLECTIONS.ARIA_LABELS.OTHER_COLLECTIONS' | translate\">\r\n <span class=\"selected-collection\">\r\n {{selected? title : ('TERM_COLLECTIONS.SELECTED_NONE' | translate)}}\r\n </span>\r\n <mat-spinner class=\"selected-col-spinner\" color=\"accent\" diameter=\"16\" *ngIf=\"selected?.isImporting\"></mat-spinner>\r\n </tld-open-close-button>\r\n <button mat-icon-button fxHide.gt-xs [matMenuTriggerFor]=\"menu\">\r\n <mat-icon svgIcon=\"collections_menu\" [attr.color]=\"selected?'accent':''\"></mat-icon>\r\n </button>\r\n\r\n</div>\r\n\r\n<mat-menu #menu=\"matMenu\" class=\"tld-collection-menu\">\r\n <tld-close-button fxHide.gt-xs></tld-close-button>\r\n <div class=\"tld-term-collection\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\r\n <tld-term-collection></tld-term-collection>\r\n </div>\r\n</mat-menu>\r\n", styles: [".tld-collection-menu-button .selected-collection{overflow:hidden;text-overflow:ellipsis;max-width:140px;display:inline-block}.selected-col-spinner{margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i8.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i8.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i10.TldOpenCloseButtonComponent, selector: "tld-open-close-button", inputs: ["disableFocusOnAction", "isOpened", "disabled", "isIcon", "ariaLabelCode"] }, { kind: "component", type: i11.CloseButtonComponent, selector: "tld-close-button", inputs: ["ariaCode", "disabled", "tooltip"], outputs: ["tldClick"] }, { kind: "component", type: i12.TldTermCollectionComponent, selector: "tld-term-collection" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
32
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTermMenuComponent, decorators: [{
33
40
  type: Component,
34
- args: [{ selector: 'tld-term-menu', template: "<div fxLayoutAlign=\"center center\" [ngClass.lt-sm]=\"'tld-term-collection-wrapper-mobile'\" fxLayoutGap=\"8px\">\r\n <span fxHide.lt-md>\r\n {{'TERM_COLLECTIONS.GLOSSARY' | translate}}\r\n </span>\r\n <tld-open-close-button fxHide.lt-sm #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\"\r\n (menuOpened)=\"menuOpened()\" (menuClosed)=\"menuClosed()\"\r\n [matTooltip]=\"selected? selected.title:''\" [isOpened]=\"state.menuOpen\" class=\"tld-collection-menu-button\"\r\n [attr.aria-label]=\"'TERM_COLLECTIONS.ARIA_LABELS.OTHER_COLLECTIONS' | translate\">\r\n <span class=\"selected-collection\">\r\n {{selected? selected.title : ('TERM_COLLECTIONS.SELECTED_NONE' | translate)}}\r\n </span>\r\n <mat-spinner class=\"selected-col-spinner\" color=\"accent\" diameter=\"16\" *ngIf=\"selected?.isImporting\"></mat-spinner>\r\n </tld-open-close-button>\r\n <button mat-icon-button fxHide.gt-xs [matMenuTriggerFor]=\"menu\">\r\n <mat-icon svgIcon=\"collections_menu\" [attr.color]=\"selected?'accent':''\"></mat-icon>\r\n </button>\r\n\r\n</div>\r\n\r\n<mat-menu #menu=\"matMenu\" class=\"tld-collection-menu\">\r\n <tld-close-button fxHide.gt-xs></tld-close-button>\r\n <div class=\"tld-term-collection\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\r\n <tld-term-collection></tld-term-collection>\r\n </div>\r\n</mat-menu>\r\n", styles: [".tld-collection-menu-button .selected-collection{overflow:hidden;text-overflow:ellipsis;max-width:140px;display:inline-block}.selected-col-spinner{margin-left:5px}\n"] }]
35
- }], ctorParameters: function () { return [{ type: i1.TldTermCollectionsService }]; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRlcm0tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGVybS90bGQtdGVybS1tZW51L3RsZC10ZXJtLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRlcm0vdGxkLXRlcm0tbWVudS90bGQtdGVybS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVUxQyxNQUFNLE9BQU8sb0JBQW9CO0lBSS9CLFlBQTZCLGlCQUE0QztRQUE1QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTJCO0lBQUksQ0FBQztJQUg5RSxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUEsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUMxRCxJQUFJLFFBQVEsQ0FBQyxHQUEyQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUlwRixVQUFVO1FBQ1IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7O2lIQVpVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHFEQ1ZqQywyM0NBeUJBOzJGRGZhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRsZENvbnZlcnRlZENvbGxlY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUbGRUZXJtQ29sbGVjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLXRlcm0tbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RsZC10ZXJtLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RsZC10ZXJtLW1lbnUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkVGVybU1lbnVDb21wb25lbnQge1xyXG4gIGdldCBzZWxlY3RlZCgpIHsgcmV0dXJuIHRoaXMuY29sbGVjdGlvblNlcnZpY2Uuc2VsZWN0ZWQgfTtcclxuICBzZXQgc2VsZWN0ZWQodmFsOiBUbGRDb252ZXJ0ZWRDb2xsZWN0aW9uKSB7IHRoaXMuY29sbGVjdGlvblNlcnZpY2Uuc2VsZWN0ZWQgPSB2YWw7IH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb2xsZWN0aW9uU2VydmljZTogVGxkVGVybUNvbGxlY3Rpb25zU2VydmljZSkgeyB9XHJcblxyXG4gIG1lbnVPcGVuZWQoKXtcclxuICAgIHRoaXMuY29sbGVjdGlvblNlcnZpY2Uub25NZW51T3BlbigpO1xyXG4gIH1cclxuICBcclxuICBtZW51Q2xvc2VkKCl7XHJcbiAgICB0aGlzLmNvbGxlY3Rpb25TZXJ2aWNlLm9uTWVudUNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBbbmdDbGFzcy5sdC1zbV09XCIndGxkLXRlcm0tY29sbGVjdGlvbi13cmFwcGVyLW1vYmlsZSdcIiBmeExheW91dEdhcD1cIjhweFwiPlxyXG4gIDxzcGFuIGZ4SGlkZS5sdC1tZD5cclxuICAgIHt7J1RFUk1fQ09MTEVDVElPTlMuR0xPU1NBUlknIHwgdHJhbnNsYXRlfX1cclxuICA8L3NwYW4+XHJcbiAgPHRsZC1vcGVuLWNsb3NlLWJ1dHRvbiBmeEhpZGUubHQtc20gI3N0YXRlPVwibWF0TWVudVRyaWdnZXJcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXHJcbiAgICAobWVudU9wZW5lZCk9XCJtZW51T3BlbmVkKClcIiAobWVudUNsb3NlZCk9XCJtZW51Q2xvc2VkKClcIlxyXG4gICAgW21hdFRvb2x0aXBdPVwic2VsZWN0ZWQ/IHNlbGVjdGVkLnRpdGxlOicnXCIgW2lzT3BlbmVkXT1cInN0YXRlLm1lbnVPcGVuXCIgY2xhc3M9XCJ0bGQtY29sbGVjdGlvbi1tZW51LWJ1dHRvblwiXHJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidURVJNX0NPTExFQ1RJT05TLkFSSUFfTEFCRUxTLk9USEVSX0NPTExFQ1RJT05TJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3RlZC1jb2xsZWN0aW9uXCI+XHJcbiAgICAgIHt7c2VsZWN0ZWQ/IHNlbGVjdGVkLnRpdGxlIDogKCdURVJNX0NPTExFQ1RJT05TLlNFTEVDVEVEX05PTkUnIHwgdHJhbnNsYXRlKX19XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8bWF0LXNwaW5uZXIgY2xhc3M9XCJzZWxlY3RlZC1jb2wtc3Bpbm5lclwiIGNvbG9yPVwiYWNjZW50XCIgZGlhbWV0ZXI9XCIxNlwiICpuZ0lmPVwic2VsZWN0ZWQ/LmlzSW1wb3J0aW5nXCI+PC9tYXQtc3Bpbm5lcj5cclxuICA8L3RsZC1vcGVuLWNsb3NlLWJ1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBmeEhpZGUuZ3QteHMgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cclxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY29sbGVjdGlvbnNfbWVudVwiIFthdHRyLmNvbG9yXT1cInNlbGVjdGVkPydhY2NlbnQnOicnXCI+PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuXHJcbjwvZGl2PlxyXG5cclxuPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwidGxkLWNvbGxlY3Rpb24tbWVudVwiPlxyXG4gIDx0bGQtY2xvc2UtYnV0dG9uIGZ4SGlkZS5ndC14cz48L3RsZC1jbG9zZS1idXR0b24+XHJcbiAgPGRpdiBjbGFzcz1cInRsZC10ZXJtLWNvbGxlY3Rpb25cIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgKGtleWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICA8dGxkLXRlcm0tY29sbGVjdGlvbj48L3RsZC10ZXJtLWNvbGxlY3Rpb24+XHJcbiAgPC9kaXY+XHJcbjwvbWF0LW1lbnU+XHJcbiJdfQ==
41
+ args: [{ selector: 'tld-term-menu', template: "<div fxLayoutAlign=\"center center\" [ngClass.lt-sm]=\"'tld-term-collection-wrapper-mobile'\" fxLayoutGap=\"8px\">\r\n <span fxHide.lt-md>\r\n {{'TERM_COLLECTIONS.GLOSSARY' | translate}}\r\n </span>\r\n <tld-open-close-button fxHide.lt-sm #state=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" (menuOpened)=\"menuOpened()\"\r\n (menuClosed)=\"menuClosed()\" [matTooltip]=\"selected? title:''\" [isOpened]=\"state.menuOpen\"\r\n class=\"tld-collection-menu-button\" [attr.aria-label]=\"'TERM_COLLECTIONS.ARIA_LABELS.OTHER_COLLECTIONS' | translate\">\r\n <span class=\"selected-collection\">\r\n {{selected? title : ('TERM_COLLECTIONS.SELECTED_NONE' | translate)}}\r\n </span>\r\n <mat-spinner class=\"selected-col-spinner\" color=\"accent\" diameter=\"16\" *ngIf=\"selected?.isImporting\"></mat-spinner>\r\n </tld-open-close-button>\r\n <button mat-icon-button fxHide.gt-xs [matMenuTriggerFor]=\"menu\">\r\n <mat-icon svgIcon=\"collections_menu\" [attr.color]=\"selected?'accent':''\"></mat-icon>\r\n </button>\r\n\r\n</div>\r\n\r\n<mat-menu #menu=\"matMenu\" class=\"tld-collection-menu\">\r\n <tld-close-button fxHide.gt-xs></tld-close-button>\r\n <div class=\"tld-term-collection\" (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\r\n <tld-term-collection></tld-term-collection>\r\n </div>\r\n</mat-menu>\r\n", styles: [".tld-collection-menu-button .selected-collection{overflow:hidden;text-overflow:ellipsis;max-width:140px;display:inline-block}.selected-col-spinner{margin-left:5px}\n"] }]
42
+ }], ctorParameters: function () { return [{ type: i1.TerminologyService }]; } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRlcm0tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGVybS90bGQtdGVybS1tZW51L3RsZC10ZXJtLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRlcm0vdGxkLXRlcm0tbWVudS90bGQtdGVybS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVdyRCxNQUFNLE9BQU8sb0JBQW9CO0lBVS9CLFlBQTZCLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQUksQ0FBQztJQVR4RSxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUEsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUMzRCxJQUFJLFFBQVEsQ0FBQyxHQUF1QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVqRixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUM7SUFDakYsQ0FBQztJQU1ELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzdFLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQzs7aUhBdkJVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHFEQ1hqQyxrMkNBd0JBOzJGRGJhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbWJpbmVkQ29sbGVjdGlvbiB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVscy9jb21iaW5lZC1jb2xsZWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgVGVybWlub2xvZ3lTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGVybWlub2xvZ3kuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0bGQtdGVybS1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGxkLXRlcm0tbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGxkLXRlcm0tbWVudS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUZXJtTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgZ2V0IHNlbGVjdGVkKCkgeyByZXR1cm4gdGhpcy50ZXJtaW5vbG9neVNlcnZpY2Uuc2VsZWN0ZWQgfTtcclxuICBzZXQgc2VsZWN0ZWQodmFsOiBDb21iaW5lZENvbGxlY3Rpb24pIHsgdGhpcy50ZXJtaW5vbG9neVNlcnZpY2Uuc2VsZWN0ZWQgPSB2YWw7IH1cclxuXHJcbiAgZ2V0IHRpdGxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQ/LnRlcm1Db2xsZWN0aW9uPy5uYW1lID8/IHRoaXMuc2VsZWN0ZWQubXRDb2xsZWN0aW9uPy5uYW1lO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0ZXJtaW5vbG9neVNlcnZpY2U6IFRlcm1pbm9sb2d5U2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZW51Q2xvc2VkKCk7XHJcbiAgfVxyXG5cclxuICBtZW51T3BlbmVkKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5zdGFydEF1dG9SZWZyZXNoKCkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBtZW51Q2xvc2VkKCkge1xyXG4gICAgdGhpcy50ZXJtaW5vbG9neVNlcnZpY2Uuc3RvcEF1dG9SZWZyZXNoKCk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIFtuZ0NsYXNzLmx0LXNtXT1cIid0bGQtdGVybS1jb2xsZWN0aW9uLXdyYXBwZXItbW9iaWxlJ1wiIGZ4TGF5b3V0R2FwPVwiOHB4XCI+XHJcbiAgPHNwYW4gZnhIaWRlLmx0LW1kPlxyXG4gICAge3snVEVSTV9DT0xMRUNUSU9OUy5HTE9TU0FSWScgfCB0cmFuc2xhdGV9fVxyXG4gIDwvc3Bhbj5cclxuICA8dGxkLW9wZW4tY2xvc2UtYnV0dG9uIGZ4SGlkZS5sdC1zbSAjc3RhdGU9XCJtYXRNZW51VHJpZ2dlclwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgKG1lbnVPcGVuZWQpPVwibWVudU9wZW5lZCgpXCJcclxuICAgIChtZW51Q2xvc2VkKT1cIm1lbnVDbG9zZWQoKVwiIFttYXRUb29sdGlwXT1cInNlbGVjdGVkPyB0aXRsZTonJ1wiIFtpc09wZW5lZF09XCJzdGF0ZS5tZW51T3BlblwiXHJcbiAgICBjbGFzcz1cInRsZC1jb2xsZWN0aW9uLW1lbnUtYnV0dG9uXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInVEVSTV9DT0xMRUNUSU9OUy5BUklBX0xBQkVMUy5PVEhFUl9DT0xMRUNUSU9OUycgfCB0cmFuc2xhdGVcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtY29sbGVjdGlvblwiPlxyXG4gICAgICB7e3NlbGVjdGVkPyB0aXRsZSA6ICgnVEVSTV9DT0xMRUNUSU9OUy5TRUxFQ1RFRF9OT05FJyB8IHRyYW5zbGF0ZSl9fVxyXG4gICAgPC9zcGFuPlxyXG4gICAgPG1hdC1zcGlubmVyIGNsYXNzPVwic2VsZWN0ZWQtY29sLXNwaW5uZXJcIiBjb2xvcj1cImFjY2VudFwiIGRpYW1ldGVyPVwiMTZcIiAqbmdJZj1cInNlbGVjdGVkPy5pc0ltcG9ydGluZ1wiPjwvbWF0LXNwaW5uZXI+XHJcbiAgPC90bGQtb3Blbi1jbG9zZS1idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZnhIaWRlLmd0LXhzIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XHJcbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNvbGxlY3Rpb25zX21lbnVcIiBbYXR0ci5jb2xvcl09XCJzZWxlY3RlZD8nYWNjZW50JzonJ1wiPjwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcblxyXG48L2Rpdj5cclxuXHJcbjxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cInRsZC1jb2xsZWN0aW9uLW1lbnVcIj5cclxuICA8dGxkLWNsb3NlLWJ1dHRvbiBmeEhpZGUuZ3QteHM+PC90bGQtY2xvc2UtYnV0dG9uPlxyXG4gIDxkaXYgY2xhc3M9XCJ0bGQtdGVybS1jb2xsZWN0aW9uXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIChrZXlkb3duKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgPHRsZC10ZXJtLWNvbGxlY3Rpb24+PC90bGQtdGVybS1jb2xsZWN0aW9uPlxyXG4gIDwvZGl2PlxyXG48L21hdC1tZW51PlxyXG4iXX0=
@@ -15,11 +15,12 @@ import { TldTermCollectionListComponent } from './tld-term-collection-list/tld-t
15
15
  import { TldTermMenuComponent } from './tld-term-menu/tld-term-menu.component';
16
16
  import { TldTermPromotionComponent } from './tld-term-promotion/tld-term-promotion.component';
17
17
  import { CloseButtonModule } from '@tilde-nlp/ngx-common';
18
+ import { CreateCollectionComponent } from './create-collection/create-collection.component';
18
19
  import * as i0 from "@angular/core";
19
20
  export class TldTermModule {
20
21
  }
21
22
  TldTermModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTermModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
- TldTermModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: TldTermModule, declarations: [TldTermCollectionComponent, TldTermCollectionListComponent, TldTermCreateCollectionDialogComponent, TldTermMenuComponent, TldTermPromotionComponent], imports: [FormsModule,
23
+ TldTermModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: TldTermModule, declarations: [TldTermCollectionComponent, TldTermCollectionListComponent, TldTermCreateCollectionDialogComponent, TldTermMenuComponent, TldTermPromotionComponent, CreateCollectionComponent], imports: [FormsModule,
23
24
  CommonModule,
24
25
  MaterialModule,
25
26
  TranslateModule,
@@ -30,7 +31,7 @@ TldTermModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
30
31
  MatTooltipModule,
31
32
  TldCommonModule,
32
33
  ReactiveFormsModule,
33
- CloseButtonModule], exports: [TldTermMenuComponent] });
34
+ CloseButtonModule], exports: [TldTermMenuComponent, CreateCollectionComponent] });
34
35
  TldTermModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTermModule, imports: [FormsModule,
35
36
  CommonModule,
36
37
  MaterialModule,
@@ -46,7 +47,7 @@ TldTermModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
46
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTermModule, decorators: [{
47
48
  type: NgModule,
48
49
  args: [{
49
- declarations: [TldTermCollectionComponent, TldTermCollectionListComponent, TldTermCreateCollectionDialogComponent, TldTermMenuComponent, TldTermPromotionComponent],
50
+ declarations: [TldTermCollectionComponent, TldTermCollectionListComponent, TldTermCreateCollectionDialogComponent, TldTermMenuComponent, TldTermPromotionComponent, CreateCollectionComponent],
50
51
  imports: [
51
52
  FormsModule,
52
53
  CommonModule,
@@ -61,7 +62,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
61
62
  ReactiveFormsModule,
62
63
  CloseButtonModule
63
64
  ],
64
- exports: [TldTermMenuComponent]
65
+ exports: [TldTermMenuComponent, CreateCollectionComponent]
65
66
  }]
66
67
  }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRlcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRlcm0vdGxkLXRlcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxpRkFBaUYsQ0FBQztBQUN6SSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFxQjFELE1BQU0sT0FBTyxhQUFhOzswR0FBYixhQUFhOzJHQUFiLGFBQWEsaUJBakJULDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLHNDQUFzQyxFQUFFLG9CQUFvQixFQUFFLHlCQUF5QixhQUVoSyxXQUFXO1FBQ1gsWUFBWTtRQUNaLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGlCQUFpQixhQUVULG9CQUFvQjsyR0FFbkIsYUFBYSxZQWZ0QixXQUFXO1FBQ1gsWUFBWTtRQUNaLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGlCQUFpQjsyRkFJUixhQUFhO2tCQWxCekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSw4QkFBOEIsRUFBRSxzQ0FBc0MsRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsQ0FBRTtvQkFDcEssT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL21hdGVyaWFsLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFRsZENvbW1vbk1vZHVsZSB9IGZyb20gJy4uL3RsZC1jb21tb24nO1xyXG5pbXBvcnQgeyBUbGRUZXJtQ29sbGVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdGxkLXRlcm0tY29sbGVjdGlvbi90bGQtdGVybS1jb2xsZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRsZFRlcm1DcmVhdGVDb2xsZWN0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi90bGQtdGVybS1jcmVhdGUtY29sbGVjdGlvbi1kaWFsb2cvdGxkLXRlcm0tY3JlYXRlLWNvbGxlY3Rpb24tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRsZFRlcm1Db2xsZWN0aW9uTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdGxkLXRlcm0tY29sbGVjdGlvbi1saXN0L3RsZC10ZXJtLWNvbGxlY3Rpb24tbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUbGRUZXJtTWVudUNvbXBvbmVudCB9IGZyb20gJy4vdGxkLXRlcm0tbWVudS90bGQtdGVybS1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRsZFRlcm1Qcm9tb3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3RsZC10ZXJtLXByb21vdGlvbi90bGQtdGVybS1wcm9tb3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2xvc2VCdXR0b25Nb2R1bGUgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbVGxkVGVybUNvbGxlY3Rpb25Db21wb25lbnQsIFRsZFRlcm1Db2xsZWN0aW9uTGlzdENvbXBvbmVudCwgVGxkVGVybUNyZWF0ZUNvbGxlY3Rpb25EaWFsb2dDb21wb25lbnQsIFRsZFRlcm1NZW51Q29tcG9uZW50LCBUbGRUZXJtUHJvbW90aW9uQ29tcG9uZW50IF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRlcmlhbE1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgVGxkQ29tbW9uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIENsb3NlQnV0dG9uTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbVGxkVGVybU1lbnVDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUZXJtTW9kdWxlIHsgfVxyXG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRlcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRlcm0vdGxkLXRlcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxpRkFBaUYsQ0FBQztBQUN6SSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFxQjVGLE1BQU0sT0FBTyxhQUFhOzswR0FBYixhQUFhOzJHQUFiLGFBQWEsaUJBakJULDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLHNDQUFzQyxFQUFFLG9CQUFvQixFQUFFLHlCQUF5QixFQUFFLHlCQUF5QixhQUUzTCxXQUFXO1FBQ1gsWUFBWTtRQUNaLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGlCQUFpQixhQUVULG9CQUFvQixFQUFFLHlCQUF5QjsyR0FFOUMsYUFBYSxZQWZ0QixXQUFXO1FBQ1gsWUFBWTtRQUNaLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGlCQUFpQjsyRkFJUixhQUFhO2tCQWxCekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSw4QkFBOEIsRUFBRSxzQ0FBc0MsRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUIsQ0FBQztvQkFDOUwsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixDQUFDO2lCQUMzRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL21hdGVyaWFsLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFRsZENvbW1vbk1vZHVsZSB9IGZyb20gJy4uL3RsZC1jb21tb24nO1xyXG5pbXBvcnQgeyBUbGRUZXJtQ29sbGVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdGxkLXRlcm0tY29sbGVjdGlvbi90bGQtdGVybS1jb2xsZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRsZFRlcm1DcmVhdGVDb2xsZWN0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi90bGQtdGVybS1jcmVhdGUtY29sbGVjdGlvbi1kaWFsb2cvdGxkLXRlcm0tY3JlYXRlLWNvbGxlY3Rpb24tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRsZFRlcm1Db2xsZWN0aW9uTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdGxkLXRlcm0tY29sbGVjdGlvbi1saXN0L3RsZC10ZXJtLWNvbGxlY3Rpb24tbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUbGRUZXJtTWVudUNvbXBvbmVudCB9IGZyb20gJy4vdGxkLXRlcm0tbWVudS90bGQtdGVybS1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRsZFRlcm1Qcm9tb3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3RsZC10ZXJtLXByb21vdGlvbi90bGQtdGVybS1wcm9tb3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2xvc2VCdXR0b25Nb2R1bGUgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBDcmVhdGVDb2xsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jcmVhdGUtY29sbGVjdGlvbi9jcmVhdGUtY29sbGVjdGlvbi5jb21wb25lbnQnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbVGxkVGVybUNvbGxlY3Rpb25Db21wb25lbnQsIFRsZFRlcm1Db2xsZWN0aW9uTGlzdENvbXBvbmVudCwgVGxkVGVybUNyZWF0ZUNvbGxlY3Rpb25EaWFsb2dDb21wb25lbnQsIFRsZFRlcm1NZW51Q29tcG9uZW50LCBUbGRUZXJtUHJvbW90aW9uQ29tcG9uZW50LCBDcmVhdGVDb2xsZWN0aW9uQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdGVyaWFsTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBNYXRSYWRpb01vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBUbGRDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQ2xvc2VCdXR0b25Nb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtUbGRUZXJtTWVudUNvbXBvbmVudCwgQ3JlYXRlQ29sbGVjdGlvbkNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRlcm1Nb2R1bGUgeyB9XHJcbiJdfQ==
@@ -4,12 +4,12 @@ import { Common } from '../../../tld-common/models';
4
4
  import { HighlightParams } from '../../models/highlight-params.model';
5
5
  import { HighlightTreeType } from '../../models/highlight-tree-type.model';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../../../tld-term/services";
7
+ import * as i1 from "../../../tld-term/services/terminology.service";
8
8
  import * as i2 from "@angular/common/http";
9
9
  import * as i3 from "../../../tld-common/services";
10
10
  export class TldTranslateTextApiService {
11
- constructor(collectionService, http, config, alerts) {
12
- this.collectionService = collectionService;
11
+ constructor(terminologyService, http, config, alerts) {
12
+ this.terminologyService = terminologyService;
13
13
  this.http = http;
14
14
  this.config = config;
15
15
  this.alerts = alerts;
@@ -45,7 +45,7 @@ export class TldTranslateTextApiService {
45
45
  systemID: requestParams.system.id,
46
46
  text: requestParams.text,
47
47
  };
48
- const selectedCollectionId = this.collectionService.selectedIdForTranslation();
48
+ const selectedCollectionId = this.terminologyService.selectedIdForTranslation();
49
49
  if (selectedCollectionId) {
50
50
  params.options += `,termCorpusId=${selectedCollectionId}`;
51
51
  }
@@ -176,12 +176,12 @@ export class TldTranslateTextApiService {
176
176
  });
177
177
  }
178
178
  }
179
- TldTranslateTextApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateTextApiService, deps: [{ token: i1.TldTermCollectionsService }, { token: i2.HttpClient }, { token: i3.TldTranslateConfigService }, { token: i3.TldAlertService }], target: i0.ɵɵFactoryTarget.Injectable });
179
+ TldTranslateTextApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateTextApiService, deps: [{ token: i1.TerminologyService }, { token: i2.HttpClient }, { token: i3.TldTranslateConfigService }, { token: i3.TldAlertService }], target: i0.ɵɵFactoryTarget.Injectable });
180
180
  TldTranslateTextApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateTextApiService, providedIn: 'root' });
181
181
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateTextApiService, decorators: [{
182
182
  type: Injectable,
183
183
  args: [{
184
184
  providedIn: 'root'
185
185
  }]
186
- }], ctorParameters: function () { return [{ type: i1.TldTermCollectionsService }, { type: i2.HttpClient }, { type: i3.TldTranslateConfigService }, { type: i3.TldAlertService }]; } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvc2VydmljZXMvYXBpL3RsZC10cmFuc2xhdGUtdGV4dC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFpRSxNQUFNLDRCQUE0QixDQUFDO0FBSW5ILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7QUFRM0UsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxZQUE2QixpQkFBNEMsRUFDdEQsSUFBZ0IsRUFDaEIsTUFBaUMsRUFDakMsTUFBdUI7UUFIYixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTJCO1FBQ3RELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7SUFBSSxDQUFDO0lBRS9DLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxRQUFnQixFQUFFLElBQVksRUFBRSxXQUFtQjtRQUNwRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztRQUN4RCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRCxNQUFNLE1BQU0sR0FBRztZQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFL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Q0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sR0FBRyxHQUFHLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sWUFBWSxDQUFDLGFBQXlCLEVBQUUsV0FBNkIsRUFBRSxXQUE2QjtRQUMxRyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDOUIsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDN0MsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRTdDLElBQUksVUFBVSxJQUFJLFVBQVUsRUFBRTtnQkFDNUIsVUFBVSxDQUFDLEtBQUssSUFBSSxJQUFJLGVBQWUsQ0FBQyxZQUFZLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMvRSxVQUFVLENBQUMsS0FBSyxJQUFJLElBQUksZUFBZSxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDaEY7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7O3VIQTFMVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb21tb24sIElUbGRUcmFuc2xhdGVUZXh0QXBpU2VydmljZSwgSVRyYW5zbGF0ZVBhcmFncmFwaFJlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZEFsZXJ0U2VydmljZSwgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUbGRUZXJtQ29sbGVjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLXRlcm0vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBJR2V0U2VudGVuY2VWMVJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2V0LXNlbnRlbmNlLXYxLXJlc3BvbnNlLm1vZGVsJztcclxuaW1wb3J0IHsgSGlnaGxpZ2h0UGFyYW1zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hpZ2hsaWdodC1wYXJhbXMubW9kZWwnO1xyXG5pbXBvcnQgeyBIaWdobGlnaHRUcmVlVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9oaWdobGlnaHQtdHJlZS10eXBlLm1vZGVsJztcclxuaW1wb3J0IHsgSUhpZ2hsaWdodFRyZWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGlnaGxpZ2h0LXRyZWUubW9kZWwnO1xyXG5pbXBvcnQgeyBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2VWMSB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2xhdGUtcGFyYWdyYXBoLXJlc3BvbnNlLXYxLm1vZGVsJztcclxuaW1wb3J0IHsgSVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zbGF0ZS1wYXJhZ3JhcGgtcmVzcG9uc2UubW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkVHJhbnNsYXRlVGV4dEFwaVNlcnZpY2UgaW1wbGVtZW50cyBJVGxkVHJhbnNsYXRlVGV4dEFwaVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbGxlY3Rpb25TZXJ2aWNlOiBUbGRUZXJtQ29sbGVjdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0czogVGxkQWxlcnRTZXJ2aWNlKSB7IH1cclxuXHJcbiAgdXBkYXRlVHJhbnNsYXRpb24ob3B0aW9uczogc3RyaW5nLCBzeXN0ZW1JRDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcsIHRyYW5zbGF0aW9uOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLnRleHRDb25maWcudXBkYXRlVHJhbnNsYXRpb25Vcmw7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gQ29tbW9uLmdldEF1dGhIZWFkZXJzKHRoaXMuY29uZmlnKTtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHtcclxuICAgICAgYXBwSUQ6IHRoaXMuY29uZmlnLmNvcmVDb25maWcuYXBwSWQsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIHN5c3RlbUlELFxyXG4gICAgICB0ZXh0LFxyXG4gICAgICB0cmFuc2xhdGlvblxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgcGFyYW1zLCB7IGhlYWRlcnMgfSk7XHJcbiAgfVxyXG5cclxuICBkaWN0aW9uYXJ5VHJhbnNsYXRpb24odGV4dDogc3RyaW5nLCBzcmNDb2RlOiBzdHJpbmcsIHRyZ0NvZGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgYXV0aEhlYWRlcnMgPSBDb21tb24uZ2V0QXV0aEhlYWRlcnModGhpcy5jb25maWcpO1xyXG4gICAgLy8gVE9ETy4gQ3JlYXRlIHR5cGUgZm9yIHBhcmFtcy5cclxuICAgIGNvbnN0IHBhcmFtczogYW55ID0ge1xyXG4gICAgICB3b3JkOiB0ZXh0LFxyXG4gICAgICBzb3VyY2VMYW5ndWFnZTogc3JjQ29kZSxcclxuICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IHRyZ0NvZGVcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5jb25maWcudGV4dENvbmZpZy5kaWN0aW9uYXJ5VXJsLCB7IGhlYWRlcnM6IGF1dGhIZWFkZXJzLCBwYXJhbXM6IHBhcmFtcyB9KVxyXG4gIH1cclxuXHJcbiAgdHJhbnNsYXRlUGFyYWdyYXBoKHJlcXVlc3RQYXJhbXM6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXF1ZXN0UGFyYW1zKTogT2JzZXJ2YWJsZTxJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBDb21tb24uZ2V0QXV0aEhlYWRlcnModGhpcy5jb25maWcpO1xyXG4gICAgLy8gVE9ETy4gQ3JlYXRlIHR5cGUgZm9yIHBhcmFtcy5cclxuICAgIGNvbnN0IHBhcmFtczogYW55ID0ge1xyXG4gICAgICBhcHBJRDogdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBJZCxcclxuICAgICAgb3B0aW9uczogXCJ3aWRnZXQ9dGV4dCxhbGlnbm1lbnQsbWFya1NlbnRlbmNlc1wiLFxyXG4gICAgICBzeXN0ZW1JRDogcmVxdWVzdFBhcmFtcy5zeXN0ZW0uaWQsXHJcbiAgICAgIHRleHQ6IHJlcXVlc3RQYXJhbXMudGV4dCxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0ZWRDb2xsZWN0aW9uSWQgPSB0aGlzLmNvbGxlY3Rpb25TZXJ2aWNlLnNlbGVjdGVkSWRGb3JUcmFuc2xhdGlvbigpO1xyXG4gICAgaWYgKHNlbGVjdGVkQ29sbGVjdGlvbklkKSB7XHJcbiAgICAgIHBhcmFtcy5vcHRpb25zICs9IGAsdGVybUNvcnB1c0lkPSR7c2VsZWN0ZWRDb2xsZWN0aW9uSWR9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2VWMT4odGhpcy5jb25maWc/LnRleHRDb25maWc/LnRyYW5zbGF0aW9uVXJsLCB7IGhlYWRlcnM6IGhlYWRlcnMsIHBhcmFtczogcGFyYW1zIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZVYxKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLkVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgdGhpcy5hbGVydHMudW5oYW5kZWxlZEVycm9yKHJlc3BvbnNlLkVycm9yTWVzc2FnZSk7XHJcbiAgICAgICAgICB0aHJvdyByZXNwb25zZS5FcnJvck1lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZCA9IHRoaXMuY29udmVydFBhcmFncmFwaFJlc3BvbnNlKHJlcXVlc3RQYXJhbXMsIHJlc3BvbnNlKTtcclxuICAgICAgICByZXR1cm4gY29udmVydGVkO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGNvbnZlcnRQYXJhZ3JhcGhSZXNwb25zZShyZXF1ZXN0OiBJVHJhbnNsYXRlUGFyYWdyYXBoUmVxdWVzdFBhcmFtcywgcmVzcG9uc2U6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZVYxKTogSVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlIHtcclxuICAgIGlmICh0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmhpZ2hsaWdodCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVIaWdobGlnaHRUcmVlcyhyZXF1ZXN0LnRleHQsIHJlc3BvbnNlLCByZXF1ZXN0LnBhcmFncmFwaEl4KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHNvdXJjZVRyZWU6IHsgdGV4dDogcmVxdWVzdC50ZXh0LCBwYXJhZ3JhcGhJeDogcmVxdWVzdC5wYXJhZ3JhcGhJeCwgdHlwZTogSGlnaGxpZ2h0VHJlZVR5cGUuUEFSQUdSQVBILCByb290OiBudWxsLCBvcmlnaW5hbFRleHQ6IHJlcXVlc3QudGV4dCB9LFxyXG4gICAgICAgIHRhcmdldFRyZWU6IHsgdGV4dDogcmVzcG9uc2UudHJhbnNsYXRpb24sIHBhcmFncmFwaEl4OiByZXF1ZXN0LnBhcmFncmFwaEl4LCB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5QQVJBR1JBUEgsIHJvb3Q6IG51bGwsIG9yaWdpbmFsVGV4dDogcmVzcG9uc2UudHJhbnNsYXRpb24gfVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVIaWdobGlnaHRUcmVlcyhzb3VyY2VUZXh0OiBzdHJpbmcsIHJlc3BvbnNlOiBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2VWMSwgcGFyYWdyYXBoSXg6IG51bWJlcik6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZSB7XHJcbiAgICBjb25zdCB0YXJnZXRUcmVlID0gdGhpcy5nZXRTZW50ZW5jZShyZXNwb25zZS50cmFuc2xhdGlvbiwgcmVzcG9uc2UudHJhbnNsYXRpb25TZW50ZW5jZVJhbmdlcywgcmVzcG9uc2UudGFyZ2V0V29yZFJhbmdlcywgcGFyYWdyYXBoSXgpO1xyXG4gICAgY29uc3Qgc291cmNlVHJlZSA9IHRoaXMuZ2V0U2VudGVuY2Uoc291cmNlVGV4dCwgcmVzcG9uc2Uub3JpZ2luYWxTZW50ZW5jZVJhbmdlcywgcmVzcG9uc2Uuc291cmNlV29yZFJhbmdlcywgcGFyYWdyYXBoSXgpO1xyXG4gICAgdGhpcy5maW5kU2libGluZ3MocmVzcG9uc2Uud29yZEFsaWdubWVudCwgc291cmNlVHJlZS53b3JkcywgdGFyZ2V0VHJlZS53b3Jkcyk7XHJcbiAgICByZXR1cm4geyBzb3VyY2VUcmVlOiBzb3VyY2VUcmVlLnRyZWUsIHRhcmdldFRyZWU6IHRhcmdldFRyZWUudHJlZSB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTZW50ZW5jZSh0ZXh0OiBzdHJpbmcsIHNlbnRlbmNlUmFuZ2VzOiBudW1iZXJbXVtdLCB3b3JkUmFuZ2VzOiBudW1iZXJbXVtdLCBwYXJhZ3JhcGhJeDogbnVtYmVyKTogSUdldFNlbnRlbmNlVjFSZXNwb25zZU1vZGVsIHtcclxuICAgIGNvbnN0IHRyZWU6IElIaWdobGlnaHRUcmVlID0geyB0ZXh0OiB0ZXh0LCBjaGlsZHJlbjogW10sIHBhcmFncmFwaEl4LCB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5QQVJBR1JBUEgsIHJvb3Q6IG51bGwsIG9yaWdpbmFsVGV4dDogdGV4dCB9O1xyXG4gICAgY29uc3Qgd29yZHM6IElIaWdobGlnaHRUcmVlW10gPSBbXTtcclxuICAgIGxldCB3b3JkUmFuZ2VJeCA9IC0xO1xyXG4gICAgbGV0IGxhc3RQcm9jZXNzZWRDaGFySXggPSAwO1xyXG5cclxuICAgIHNlbnRlbmNlUmFuZ2VzLmZvckVhY2goKHNlbnRlbmNlUmFuZ2UsIHNlbnRlbmNlSXgpID0+IHtcclxuICAgICAgY29uc3Qgc2VudGVuY2VTdHJpbmcgPSB0aGlzLmdldFNlbnRlbmNlRnJvbVJhbmdlKHNlbnRlbmNlUmFuZ2UsIHRleHQpO1xyXG4gICAgICB0cmVlLmNoaWxkcmVuW3NlbnRlbmNlSXhdID0ge1xyXG4gICAgICAgIHRleHQ6IHNlbnRlbmNlU3RyaW5nLCBjaGlsZHJlbjogW10sXHJcbiAgICAgICAgY2xhc3M6IGAke0hpZ2hsaWdodFBhcmFtcy5zZW50ZW5jZUNsYXNzfSAke0hpZ2hsaWdodFBhcmFtcy5zZW50ZW5jZUNsYXNzfS0ke3BhcmFncmFwaEl4fS0ke3NlbnRlbmNlSXh9YCxcclxuICAgICAgICBlbGVtZW50SWQ6IHNlbnRlbmNlSXgudG9TdHJpbmcoKSxcclxuICAgICAgICB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5TRU5URU5DRSxcclxuICAgICAgICByb290OiB0cmVlLFxyXG4gICAgICAgIG9yaWdpbmFsVGV4dDogc2VudGVuY2VTdHJpbmdcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGNvbnN0IHNlbnRlbmNlU3RhcnRJeCA9IHNlbnRlbmNlUmFuZ2VbMF07XHJcbiAgICAgIGNvbnN0IHNlbnRlbmNlRW5kSXggPSBzZW50ZW5jZVN0YXJ0SXggKyBzZW50ZW5jZVJhbmdlWzFdO1xyXG5cclxuICAgICAgbGV0IG11bHRpcGxlV29yZFdyYXBwZXI6IElIaWdobGlnaHRUcmVlO1xyXG4gICAgICBmb3IgKGxldCB3b3JkSXggPSB3b3JkUmFuZ2VJeCArIDE7IHdvcmRJeCA8IHdvcmRSYW5nZXMubGVuZ3RoOyB3b3JkSXgrKykge1xyXG4gICAgICAgIGNvbnN0IHdvcmRTdGFydEl4ID0gd29yZFJhbmdlc1t3b3JkSXhdWzBdO1xyXG4gICAgICAgIGNvbnN0IHdvcmRFbmRJeCA9IHdvcmRSYW5nZXNbd29yZEl4XVsxXTtcclxuICAgICAgICBjb25zdCBuZXh0V29yZFN0YXJ0SXggPSB3b3JkUmFuZ2VzW3dvcmRJeCArIDFdPy5bMF07XHJcblxyXG4gICAgICAgIGlmICh3b3JkU3RhcnRJeCA+PSBzZW50ZW5jZVN0YXJ0SXggJiYgd29yZEVuZEl4IDw9IHNlbnRlbmNlRW5kSXgpIHtcclxuICAgICAgICAgIHdvcmRSYW5nZUl4ID0gd29yZEl4O1xyXG4gICAgICAgICAgaWYgKGxhc3RQcm9jZXNzZWRDaGFySXggPCB3b3JkU3RhcnRJeCkge1xyXG4gICAgICAgICAgICAvLyB3b3JkcyBhcmUgbm90IHRvZ2V0aGVyIGFueW1vcmUuXHJcbiAgICAgICAgICAgIG11bHRpcGxlV29yZFdyYXBwZXIgPSBudWxsO1xyXG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbFRleHQgPSB0ZXh0LnNsaWNlKGxhc3RQcm9jZXNzZWRDaGFySXgsIHdvcmRTdGFydEl4KTtcclxuICAgICAgICAgICAgLy8gbm90IGEgd29yZC5cclxuICAgICAgICAgICAgY29uc3QgZXNjYXBlZCA9IENvbW1vbi5lc2NhcGVIdG1sU3RyaW5nKG9yaWdpbmFsVGV4dCk7XHJcbiAgICAgICAgICAgIHRyZWUuY2hpbGRyZW5bc2VudGVuY2VJeF0uY2hpbGRyZW4ucHVzaCh7XHJcbiAgICAgICAgICAgICAgdGV4dDogZXNjYXBlZCxcclxuICAgICAgICAgICAgICB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5PVEhFUixcclxuICAgICAgICAgICAgICByb290OiB0cmVlLFxyXG4gICAgICAgICAgICAgIG9yaWdpbmFsVGV4dFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgbGFzdFByb2Nlc3NlZENoYXJJeCA9IHdvcmRTdGFydEl4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3Qgb3JpZ2luYWxUZXh0ID0gdGV4dC5zbGljZSh3b3JkU3RhcnRJeCwgd29yZEVuZEl4KTtcclxuICAgICAgICAgIGNvbnN0IGVzY2FwZWQgPSBDb21tb24uZXNjYXBlSHRtbFN0cmluZyhvcmlnaW5hbFRleHQpO1xyXG4gICAgICAgICAgY29uc3QgZWxlbWVudElkID0gYCR7cGFyYWdyYXBoSXh9LSR7c2VudGVuY2VJeH0tJHt3b3JkSXh9YDtcclxuICAgICAgICAgIGNvbnN0IHdvcmQ6IElIaWdobGlnaHRUcmVlID0ge1xyXG4gICAgICAgICAgICB0ZXh0OiBlc2NhcGVkLFxyXG4gICAgICAgICAgICBjbGFzczogYCR7SGlnaGxpZ2h0UGFyYW1zLndvcmRDbGFzc30gJHtIaWdobGlnaHRQYXJhbXMud29yZENsYXNzfS0ke2VsZW1lbnRJZH1gLFxyXG4gICAgICAgICAgICBlbGVtZW50SWQ6IGVsZW1lbnRJZCxcclxuICAgICAgICAgICAgdHlwZTogb3JpZ2luYWxUZXh0ID09PSBcIi1cIiA/IEhpZ2hsaWdodFRyZWVUeXBlLkhZUEVOIDogSGlnaGxpZ2h0VHJlZVR5cGUuV09SRCxcclxuICAgICAgICAgICAgcm9vdDogdHJlZSxcclxuICAgICAgICAgICAgb3JpZ2luYWxUZXh0XHJcbiAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgIGlmICh3b3JkLnR5cGUgPT09IEhpZ2hsaWdodFRyZWVUeXBlLkhZUEVOKSB7XHJcbiAgICAgICAgICAgIG11bHRpcGxlV29yZFdyYXBwZXIgPSBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSBpZiAod29yZEVuZEl4ID09PSBuZXh0V29yZFN0YXJ0SXgpIHtcclxuICAgICAgICAgICAgaWYgKCFtdWx0aXBsZVdvcmRXcmFwcGVyKSB7XHJcbiAgICAgICAgICAgICAgbXVsdGlwbGVXb3JkV3JhcHBlciA9IHtcclxuICAgICAgICAgICAgICAgIG9yaWdpbmFsVGV4dDogXCJcIixcclxuICAgICAgICAgICAgICAgIHJvb3Q6IHRyZWUsXHJcbiAgICAgICAgICAgICAgICB0ZXh0OiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogSGlnaGxpZ2h0VHJlZVR5cGUuV09SRF9XUkFQUEVSLFxyXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxyXG4gICAgICAgICAgICAgICAgY2xhc3M6IEhpZ2hsaWdodFBhcmFtcy5tdWx0aXBsZVdvcmRXcmFwcGVyXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRyZWUuY2hpbGRyZW5bc2VudGVuY2VJeF0uY2hpbGRyZW4ucHVzaChtdWx0aXBsZVdvcmRXcmFwcGVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKG11bHRpcGxlV29yZFdyYXBwZXIpIHtcclxuICAgICAgICAgICAgbXVsdGlwbGVXb3JkV3JhcHBlci5vcmlnaW5hbFRleHQgKz0gb3JpZ2luYWxUZXh0O1xyXG4gICAgICAgICAgICBtdWx0aXBsZVdvcmRXcmFwcGVyLnRleHQgKz0gZXNjYXBlZDtcclxuICAgICAgICAgICAgbXVsdGlwbGVXb3JkV3JhcHBlci5jaGlsZHJlbi5wdXNoKHdvcmQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRyZWUuY2hpbGRyZW5bc2VudGVuY2VJeF0uY2hpbGRyZW4ucHVzaCh3b3JkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHdvcmRzLnB1c2god29yZCk7XHJcbiAgICAgICAgICBsYXN0UHJvY2Vzc2VkQ2hhckl4ID0gd29yZEVuZEl4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiB7IHRyZWUsIHdvcmRzIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFNlbnRlbmNlRnJvbVJhbmdlKHJhbmdlOiBudW1iZXJbXSwgdGV4dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHN0YXJ0ID0gcmFuZ2VbMF0gPT0gMCA/IHJhbmdlWzBdIDogcmFuZ2VbMF0gKyAxO1xyXG4gICAgY29uc3QgZW5kID0gc3RhcnQgKyByYW5nZVsxXTtcclxuICAgIHJldHVybiB0ZXh0LnNsaWNlKHN0YXJ0LCBlbmQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kU2libGluZ3Mod29yZEFsaWdubWVudDogbnVtYmVyW11bXSwgc291cmNlV29yZHM6IElIaWdobGlnaHRUcmVlW10sIHRhcmdldFdvcmRzOiBJSGlnaGxpZ2h0VHJlZVtdKSB7XHJcbiAgICB3b3JkQWxpZ25tZW50LmZvckVhY2goKHJhbmdlKSA9PiB7XHJcbiAgICAgIGNvbnN0IHNvdXJjZVdvcmRJeCA9IHJhbmdlWzBdO1xyXG4gICAgICBjb25zdCB0YXJnZXRXb3JkSXggPSByYW5nZVsxXTtcclxuICAgICAgY29uc3Qgc291cmNlV29yZCA9IHNvdXJjZVdvcmRzW3NvdXJjZVdvcmRJeF07XHJcbiAgICAgIGNvbnN0IHRhcmdldFdvcmQgPSB0YXJnZXRXb3Jkc1t0YXJnZXRXb3JkSXhdO1xyXG5cclxuICAgICAgaWYgKHNvdXJjZVdvcmQgJiYgdGFyZ2V0V29yZCkge1xyXG4gICAgICAgIHNvdXJjZVdvcmQuY2xhc3MgKz0gYCAke0hpZ2hsaWdodFBhcmFtcy5zaWJsaW5nQ2xhc3N9LSR7dGFyZ2V0V29yZC5lbGVtZW50SWR9YDtcclxuICAgICAgICB0YXJnZXRXb3JkLmNsYXNzICs9IGAgJHtIaWdobGlnaHRQYXJhbXMuc2libGluZ0NsYXNzfS0ke3NvdXJjZVdvcmQuZWxlbWVudElkfWA7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==
186
+ }], ctorParameters: function () { return [{ type: i1.TerminologyService }, { type: i2.HttpClient }, { type: i3.TldTranslateConfigService }, { type: i3.TldAlertService }]; } });
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvc2VydmljZXMvYXBpL3RsZC10cmFuc2xhdGUtdGV4dC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFpRSxNQUFNLDRCQUE0QixDQUFDO0FBSW5ILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7QUFRM0UsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxZQUE2QixrQkFBc0MsRUFDaEQsSUFBZ0IsRUFDaEIsTUFBaUMsRUFDakMsTUFBdUI7UUFIYix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ2hELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7SUFBSSxDQUFDO0lBRS9DLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxRQUFnQixFQUFFLElBQVksRUFBRSxXQUFtQjtRQUNwRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztRQUN4RCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRCxNQUFNLE1BQU0sR0FBRztZQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFL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Q0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sR0FBRyxHQUFHLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sWUFBWSxDQUFDLGFBQXlCLEVBQUUsV0FBNkIsRUFBRSxXQUE2QjtRQUMxRyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDOUIsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDN0MsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRTdDLElBQUksVUFBVSxJQUFJLFVBQVUsRUFBRTtnQkFDNUIsVUFBVSxDQUFDLEtBQUssSUFBSSxJQUFJLGVBQWUsQ0FBQyxZQUFZLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMvRSxVQUFVLENBQUMsS0FBSyxJQUFJLElBQUksZUFBZSxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDaEY7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7O3VIQTFMVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb21tb24sIElUbGRUcmFuc2xhdGVUZXh0QXBpU2VydmljZSwgSVRyYW5zbGF0ZVBhcmFncmFwaFJlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZEFsZXJ0U2VydmljZSwgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUZXJtaW5vbG9neVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtdGVybS9zZXJ2aWNlcy90ZXJtaW5vbG9neS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUdldFNlbnRlbmNlVjFSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dldC1zZW50ZW5jZS12MS1yZXNwb25zZS5tb2RlbCc7XHJcbmltcG9ydCB7IEhpZ2hsaWdodFBhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9oaWdobGlnaHQtcGFyYW1zLm1vZGVsJztcclxuaW1wb3J0IHsgSGlnaGxpZ2h0VHJlZVR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGlnaGxpZ2h0LXRyZWUtdHlwZS5tb2RlbCc7XHJcbmltcG9ydCB7IElIaWdobGlnaHRUcmVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hpZ2hsaWdodC10cmVlLm1vZGVsJztcclxuaW1wb3J0IHsgSVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlVjEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNsYXRlLXBhcmFncmFwaC1yZXNwb25zZS12MS5tb2RlbCc7XHJcbmltcG9ydCB7IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZSB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2xhdGUtcGFyYWdyYXBoLXJlc3BvbnNlLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZVRleHRBcGlTZXJ2aWNlIGltcGxlbWVudHMgSVRsZFRyYW5zbGF0ZVRleHRBcGlTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0ZXJtaW5vbG9neVNlcnZpY2U6IFRlcm1pbm9sb2d5U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydHM6IFRsZEFsZXJ0U2VydmljZSkgeyB9XHJcblxyXG4gIHVwZGF0ZVRyYW5zbGF0aW9uKG9wdGlvbnM6IHN0cmluZywgc3lzdGVtSUQ6IHN0cmluZywgdGV4dDogc3RyaW5nLCB0cmFuc2xhdGlvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnVwZGF0ZVRyYW5zbGF0aW9uVXJsO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IENvbW1vbi5nZXRBdXRoSGVhZGVycyh0aGlzLmNvbmZpZyk7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIGFwcElEOiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmFwcElkLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBzeXN0ZW1JRCxcclxuICAgICAgdGV4dCxcclxuICAgICAgdHJhbnNsYXRpb25cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIHBhcmFtcywgeyBoZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgZGljdGlvbmFyeVRyYW5zbGF0aW9uKHRleHQ6IHN0cmluZywgc3JjQ29kZTogc3RyaW5nLCB0cmdDb2RlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGF1dGhIZWFkZXJzID0gQ29tbW9uLmdldEF1dGhIZWFkZXJzKHRoaXMuY29uZmlnKTtcclxuICAgIC8vIFRPRE8uIENyZWF0ZSB0eXBlIGZvciBwYXJhbXMuXHJcbiAgICBjb25zdCBwYXJhbXM6IGFueSA9IHtcclxuICAgICAgd29yZDogdGV4dCxcclxuICAgICAgc291cmNlTGFuZ3VhZ2U6IHNyY0NvZGUsXHJcbiAgICAgIHRhcmdldExhbmd1YWdlOiB0cmdDb2RlXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuY29uZmlnLnRleHRDb25maWcuZGljdGlvbmFyeVVybCwgeyBoZWFkZXJzOiBhdXRoSGVhZGVycywgcGFyYW1zOiBwYXJhbXMgfSlcclxuICB9XHJcblxyXG4gIHRyYW5zbGF0ZVBhcmFncmFwaChyZXF1ZXN0UGFyYW1zOiBJVHJhbnNsYXRlUGFyYWdyYXBoUmVxdWVzdFBhcmFtcyk6IE9ic2VydmFibGU8SVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gQ29tbW9uLmdldEF1dGhIZWFkZXJzKHRoaXMuY29uZmlnKTtcclxuICAgIC8vIFRPRE8uIENyZWF0ZSB0eXBlIGZvciBwYXJhbXMuXHJcbiAgICBjb25zdCBwYXJhbXM6IGFueSA9IHtcclxuICAgICAgYXBwSUQ6IHRoaXMuY29uZmlnLmNvcmVDb25maWcuYXBwSWQsXHJcbiAgICAgIG9wdGlvbnM6IFwid2lkZ2V0PXRleHQsYWxpZ25tZW50LG1hcmtTZW50ZW5jZXNcIixcclxuICAgICAgc3lzdGVtSUQ6IHJlcXVlc3RQYXJhbXMuc3lzdGVtLmlkLFxyXG4gICAgICB0ZXh0OiByZXF1ZXN0UGFyYW1zLnRleHQsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHNlbGVjdGVkQ29sbGVjdGlvbklkID0gdGhpcy50ZXJtaW5vbG9neVNlcnZpY2Uuc2VsZWN0ZWRJZEZvclRyYW5zbGF0aW9uKCk7XHJcbiAgICBpZiAoc2VsZWN0ZWRDb2xsZWN0aW9uSWQpIHtcclxuICAgICAgcGFyYW1zLm9wdGlvbnMgKz0gYCx0ZXJtQ29ycHVzSWQ9JHtzZWxlY3RlZENvbGxlY3Rpb25JZH1gO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZVYxPih0aGlzLmNvbmZpZz8udGV4dENvbmZpZz8udHJhbnNsYXRpb25VcmwsIHsgaGVhZGVyczogaGVhZGVycywgcGFyYW1zOiBwYXJhbXMgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogSVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlVjEpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UuRXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0cy51bmhhbmRlbGVkRXJyb3IocmVzcG9uc2UuRXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgIHRocm93IHJlc3BvbnNlLkVycm9yTWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgY29udmVydGVkID0gdGhpcy5jb252ZXJ0UGFyYWdyYXBoUmVzcG9uc2UocmVxdWVzdFBhcmFtcywgcmVzcG9uc2UpO1xyXG4gICAgICAgIHJldHVybiBjb252ZXJ0ZWQ7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgY29udmVydFBhcmFncmFwaFJlc3BvbnNlKHJlcXVlc3Q6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXF1ZXN0UGFyYW1zLCByZXNwb25zZTogSVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlVjEpOiBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2Uge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLnRleHRDb25maWcuaGlnaGxpZ2h0KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUhpZ2hsaWdodFRyZWVzKHJlcXVlc3QudGV4dCwgcmVzcG9uc2UsIHJlcXVlc3QucGFyYWdyYXBoSXgpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgc291cmNlVHJlZTogeyB0ZXh0OiByZXF1ZXN0LnRleHQsIHBhcmFncmFwaEl4OiByZXF1ZXN0LnBhcmFncmFwaEl4LCB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5QQVJBR1JBUEgsIHJvb3Q6IG51bGwsIG9yaWdpbmFsVGV4dDogcmVxdWVzdC50ZXh0IH0sXHJcbiAgICAgICAgdGFyZ2V0VHJlZTogeyB0ZXh0OiByZXNwb25zZS50cmFuc2xhdGlvbiwgcGFyYWdyYXBoSXg6IHJlcXVlc3QucGFyYWdyYXBoSXgsIHR5cGU6IEhpZ2hsaWdodFRyZWVUeXBlLlBBUkFHUkFQSCwgcm9vdDogbnVsbCwgb3JpZ2luYWxUZXh0OiByZXNwb25zZS50cmFuc2xhdGlvbiB9XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUhpZ2hsaWdodFRyZWVzKHNvdXJjZVRleHQ6IHN0cmluZywgcmVzcG9uc2U6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZVYxLCBwYXJhZ3JhcGhJeDogbnVtYmVyKTogSVRyYW5zbGF0ZVBhcmFncmFwaFJlc3BvbnNlIHtcclxuICAgIGNvbnN0IHRhcmdldFRyZWUgPSB0aGlzLmdldFNlbnRlbmNlKHJlc3BvbnNlLnRyYW5zbGF0aW9uLCByZXNwb25zZS50cmFuc2xhdGlvblNlbnRlbmNlUmFuZ2VzLCByZXNwb25zZS50YXJnZXRXb3JkUmFuZ2VzLCBwYXJhZ3JhcGhJeCk7XHJcbiAgICBjb25zdCBzb3VyY2VUcmVlID0gdGhpcy5nZXRTZW50ZW5jZShzb3VyY2VUZXh0LCByZXNwb25zZS5vcmlnaW5hbFNlbnRlbmNlUmFuZ2VzLCByZXNwb25zZS5zb3VyY2VXb3JkUmFuZ2VzLCBwYXJhZ3JhcGhJeCk7XHJcbiAgICB0aGlzLmZpbmRTaWJsaW5ncyhyZXNwb25zZS53b3JkQWxpZ25tZW50LCBzb3VyY2VUcmVlLndvcmRzLCB0YXJnZXRUcmVlLndvcmRzKTtcclxuICAgIHJldHVybiB7IHNvdXJjZVRyZWU6IHNvdXJjZVRyZWUudHJlZSwgdGFyZ2V0VHJlZTogdGFyZ2V0VHJlZS50cmVlIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFNlbnRlbmNlKHRleHQ6IHN0cmluZywgc2VudGVuY2VSYW5nZXM6IG51bWJlcltdW10sIHdvcmRSYW5nZXM6IG51bWJlcltdW10sIHBhcmFncmFwaEl4OiBudW1iZXIpOiBJR2V0U2VudGVuY2VWMVJlc3BvbnNlTW9kZWwge1xyXG4gICAgY29uc3QgdHJlZTogSUhpZ2hsaWdodFRyZWUgPSB7IHRleHQ6IHRleHQsIGNoaWxkcmVuOiBbXSwgcGFyYWdyYXBoSXgsIHR5cGU6IEhpZ2hsaWdodFRyZWVUeXBlLlBBUkFHUkFQSCwgcm9vdDogbnVsbCwgb3JpZ2luYWxUZXh0OiB0ZXh0IH07XHJcbiAgICBjb25zdCB3b3JkczogSUhpZ2hsaWdodFRyZWVbXSA9IFtdO1xyXG4gICAgbGV0IHdvcmRSYW5nZUl4ID0gLTE7XHJcbiAgICBsZXQgbGFzdFByb2Nlc3NlZENoYXJJeCA9IDA7XHJcblxyXG4gICAgc2VudGVuY2VSYW5nZXMuZm9yRWFjaCgoc2VudGVuY2VSYW5nZSwgc2VudGVuY2VJeCkgPT4ge1xyXG4gICAgICBjb25zdCBzZW50ZW5jZVN0cmluZyA9IHRoaXMuZ2V0U2VudGVuY2VGcm9tUmFuZ2Uoc2VudGVuY2VSYW5nZSwgdGV4dCk7XHJcbiAgICAgIHRyZWUuY2hpbGRyZW5bc2VudGVuY2VJeF0gPSB7XHJcbiAgICAgICAgdGV4dDogc2VudGVuY2VTdHJpbmcsIGNoaWxkcmVuOiBbXSxcclxuICAgICAgICBjbGFzczogYCR7SGlnaGxpZ2h0UGFyYW1zLnNlbnRlbmNlQ2xhc3N9ICR7SGlnaGxpZ2h0UGFyYW1zLnNlbnRlbmNlQ2xhc3N9LSR7cGFyYWdyYXBoSXh9LSR7c2VudGVuY2VJeH1gLFxyXG4gICAgICAgIGVsZW1lbnRJZDogc2VudGVuY2VJeC50b1N0cmluZygpLFxyXG4gICAgICAgIHR5cGU6IEhpZ2hsaWdodFRyZWVUeXBlLlNFTlRFTkNFLFxyXG4gICAgICAgIHJvb3Q6IHRyZWUsXHJcbiAgICAgICAgb3JpZ2luYWxUZXh0OiBzZW50ZW5jZVN0cmluZ1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29uc3Qgc2VudGVuY2VTdGFydEl4ID0gc2VudGVuY2VSYW5nZVswXTtcclxuICAgICAgY29uc3Qgc2VudGVuY2VFbmRJeCA9IHNlbnRlbmNlU3RhcnRJeCArIHNlbnRlbmNlUmFuZ2VbMV07XHJcblxyXG4gICAgICBsZXQgbXVsdGlwbGVXb3JkV3JhcHBlcjogSUhpZ2hsaWdodFRyZWU7XHJcbiAgICAgIGZvciAobGV0IHdvcmRJeCA9IHdvcmRSYW5nZUl4ICsgMTsgd29yZEl4IDwgd29yZFJhbmdlcy5sZW5ndGg7IHdvcmRJeCsrKSB7XHJcbiAgICAgICAgY29uc3Qgd29yZFN0YXJ0SXggPSB3b3JkUmFuZ2VzW3dvcmRJeF1bMF07XHJcbiAgICAgICAgY29uc3Qgd29yZEVuZEl4ID0gd29yZFJhbmdlc1t3b3JkSXhdWzFdO1xyXG4gICAgICAgIGNvbnN0IG5leHRXb3JkU3RhcnRJeCA9IHdvcmRSYW5nZXNbd29yZEl4ICsgMV0/LlswXTtcclxuXHJcbiAgICAgICAgaWYgKHdvcmRTdGFydEl4ID49IHNlbnRlbmNlU3RhcnRJeCAmJiB3b3JkRW5kSXggPD0gc2VudGVuY2VFbmRJeCkge1xyXG4gICAgICAgICAgd29yZFJhbmdlSXggPSB3b3JkSXg7XHJcbiAgICAgICAgICBpZiAobGFzdFByb2Nlc3NlZENoYXJJeCA8IHdvcmRTdGFydEl4KSB7XHJcbiAgICAgICAgICAgIC8vIHdvcmRzIGFyZSBub3QgdG9nZXRoZXIgYW55bW9yZS5cclxuICAgICAgICAgICAgbXVsdGlwbGVXb3JkV3JhcHBlciA9IG51bGw7XHJcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVGV4dCA9IHRleHQuc2xpY2UobGFzdFByb2Nlc3NlZENoYXJJeCwgd29yZFN0YXJ0SXgpO1xyXG4gICAgICAgICAgICAvLyBub3QgYSB3b3JkLlxyXG4gICAgICAgICAgICBjb25zdCBlc2NhcGVkID0gQ29tbW9uLmVzY2FwZUh0bWxTdHJpbmcob3JpZ2luYWxUZXh0KTtcclxuICAgICAgICAgICAgdHJlZS5jaGlsZHJlbltzZW50ZW5jZUl4XS5jaGlsZHJlbi5wdXNoKHtcclxuICAgICAgICAgICAgICB0ZXh0OiBlc2NhcGVkLFxyXG4gICAgICAgICAgICAgIHR5cGU6IEhpZ2hsaWdodFRyZWVUeXBlLk9USEVSLFxyXG4gICAgICAgICAgICAgIHJvb3Q6IHRyZWUsXHJcbiAgICAgICAgICAgICAgb3JpZ2luYWxUZXh0XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBsYXN0UHJvY2Vzc2VkQ2hhckl4ID0gd29yZFN0YXJ0SXg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zdCBvcmlnaW5hbFRleHQgPSB0ZXh0LnNsaWNlKHdvcmRTdGFydEl4LCB3b3JkRW5kSXgpO1xyXG4gICAgICAgICAgY29uc3QgZXNjYXBlZCA9IENvbW1vbi5lc2NhcGVIdG1sU3RyaW5nKG9yaWdpbmFsVGV4dCk7XHJcbiAgICAgICAgICBjb25zdCBlbGVtZW50SWQgPSBgJHtwYXJhZ3JhcGhJeH0tJHtzZW50ZW5jZUl4fS0ke3dvcmRJeH1gO1xyXG4gICAgICAgICAgY29uc3Qgd29yZDogSUhpZ2hsaWdodFRyZWUgPSB7XHJcbiAgICAgICAgICAgIHRleHQ6IGVzY2FwZWQsXHJcbiAgICAgICAgICAgIGNsYXNzOiBgJHtIaWdobGlnaHRQYXJhbXMud29yZENsYXNzfSAke0hpZ2hsaWdodFBhcmFtcy53b3JkQ2xhc3N9LSR7ZWxlbWVudElkfWAsXHJcbiAgICAgICAgICAgIGVsZW1lbnRJZDogZWxlbWVudElkLFxyXG4gICAgICAgICAgICB0eXBlOiBvcmlnaW5hbFRleHQgPT09IFwiLVwiID8gSGlnaGxpZ2h0VHJlZVR5cGUuSFlQRU4gOiBIaWdobGlnaHRUcmVlVHlwZS5XT1JELFxyXG4gICAgICAgICAgICByb290OiB0cmVlLFxyXG4gICAgICAgICAgICBvcmlnaW5hbFRleHRcclxuICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgaWYgKHdvcmQudHlwZSA9PT0gSGlnaGxpZ2h0VHJlZVR5cGUuSFlQRU4pIHtcclxuICAgICAgICAgICAgbXVsdGlwbGVXb3JkV3JhcHBlciA9IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmICh3b3JkRW5kSXggPT09IG5leHRXb3JkU3RhcnRJeCkge1xyXG4gICAgICAgICAgICBpZiAoIW11bHRpcGxlV29yZFdyYXBwZXIpIHtcclxuICAgICAgICAgICAgICBtdWx0aXBsZVdvcmRXcmFwcGVyID0ge1xyXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxUZXh0OiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgcm9vdDogdHJlZSxcclxuICAgICAgICAgICAgICAgIHRleHQ6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5XT1JEX1dSQVBQRVIsXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW10sXHJcbiAgICAgICAgICAgICAgICBjbGFzczogSGlnaGxpZ2h0UGFyYW1zLm11bHRpcGxlV29yZFdyYXBwZXJcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdHJlZS5jaGlsZHJlbltzZW50ZW5jZUl4XS5jaGlsZHJlbi5wdXNoKG11bHRpcGxlV29yZFdyYXBwZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAobXVsdGlwbGVXb3JkV3JhcHBlcikge1xyXG4gICAgICAgICAgICBtdWx0aXBsZVdvcmRXcmFwcGVyLm9yaWdpbmFsVGV4dCArPSBvcmlnaW5hbFRleHQ7XHJcbiAgICAgICAgICAgIG11bHRpcGxlV29yZFdyYXBwZXIudGV4dCArPSBlc2NhcGVkO1xyXG4gICAgICAgICAgICBtdWx0aXBsZVdvcmRXcmFwcGVyLmNoaWxkcmVuLnB1c2god29yZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdHJlZS5jaGlsZHJlbltzZW50ZW5jZUl4XS5jaGlsZHJlbi5wdXNoKHdvcmQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgd29yZHMucHVzaCh3b3JkKTtcclxuICAgICAgICAgIGxhc3RQcm9jZXNzZWRDaGFySXggPSB3b3JkRW5kSXg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIHsgdHJlZSwgd29yZHMgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2VudGVuY2VGcm9tUmFuZ2UocmFuZ2U6IG51bWJlcltdLCB0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgc3RhcnQgPSByYW5nZVswXSA9PSAwID8gcmFuZ2VbMF0gOiByYW5nZVswXSArIDE7XHJcbiAgICBjb25zdCBlbmQgPSBzdGFydCArIHJhbmdlWzFdO1xyXG4gICAgcmV0dXJuIHRleHQuc2xpY2Uoc3RhcnQsIGVuZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRTaWJsaW5ncyh3b3JkQWxpZ25tZW50OiBudW1iZXJbXVtdLCBzb3VyY2VXb3JkczogSUhpZ2hsaWdodFRyZWVbXSwgdGFyZ2V0V29yZHM6IElIaWdobGlnaHRUcmVlW10pIHtcclxuICAgIHdvcmRBbGlnbm1lbnQuZm9yRWFjaCgocmFuZ2UpID0+IHtcclxuICAgICAgY29uc3Qgc291cmNlV29yZEl4ID0gcmFuZ2VbMF07XHJcbiAgICAgIGNvbnN0IHRhcmdldFdvcmRJeCA9IHJhbmdlWzFdO1xyXG4gICAgICBjb25zdCBzb3VyY2VXb3JkID0gc291cmNlV29yZHNbc291cmNlV29yZEl4XTtcclxuICAgICAgY29uc3QgdGFyZ2V0V29yZCA9IHRhcmdldFdvcmRzW3RhcmdldFdvcmRJeF07XHJcblxyXG4gICAgICBpZiAoc291cmNlV29yZCAmJiB0YXJnZXRXb3JkKSB7XHJcbiAgICAgICAgc291cmNlV29yZC5jbGFzcyArPSBgICR7SGlnaGxpZ2h0UGFyYW1zLnNpYmxpbmdDbGFzc30tJHt0YXJnZXRXb3JkLmVsZW1lbnRJZH1gO1xyXG4gICAgICAgIHRhcmdldFdvcmQuY2xhc3MgKz0gYCAke0hpZ2hsaWdodFBhcmFtcy5zaWJsaW5nQ2xhc3N9LSR7c291cmNlV29yZC5lbGVtZW50SWR9YDtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19