geonetwork-ui 2.6.0-dev.97a89c313 → 2.6.0-dev.9b9a26109

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 (133) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +39 -4
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +8 -4
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +5 -2
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +3 -3
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +2 -2
  7. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +3 -3
  8. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +60 -9
  9. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +7 -1
  10. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +2 -1
  11. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  12. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +266 -11
  13. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +3 -1
  14. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -1
  15. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +3 -1
  16. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +7 -1
  17. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +3 -1
  18. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +13 -10
  19. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +19 -34
  20. package/esm2022/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.mjs +59 -0
  21. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +20 -10
  22. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  23. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +21 -12
  24. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +39 -18
  25. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +10 -4
  26. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +42 -1
  27. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +24 -2
  28. package/esm2022/translations/de.json +32 -6
  29. package/esm2022/translations/en.json +32 -6
  30. package/esm2022/translations/es.json +31 -5
  31. package/esm2022/translations/fr.json +32 -6
  32. package/esm2022/translations/it.json +31 -5
  33. package/esm2022/translations/nl.json +31 -5
  34. package/esm2022/translations/pt.json +31 -5
  35. package/fesm2022/geonetwork-ui.mjs +887 -205
  36. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  37. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  38. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +0 -1
  39. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  40. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +1 -0
  41. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  42. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  43. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  44. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  45. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -1
  46. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  47. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +13 -2
  48. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  49. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +2 -0
  50. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  51. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts +1 -0
  52. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
  53. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +6 -0
  54. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  55. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +48 -3
  56. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -1
  57. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +10 -0
  58. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  59. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +6 -0
  60. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  61. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +2 -0
  62. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  63. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +2 -0
  64. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  65. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
  66. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  67. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +6 -5
  68. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  69. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +3 -6
  70. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
  71. package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts +14 -0
  72. package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts.map +1 -0
  73. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +4 -2
  74. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  75. package/libs/ui/search/src/index.d.ts +1 -0
  76. package/libs/ui/search/src/index.d.ts.map +1 -1
  77. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -3
  78. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  79. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +10 -4
  80. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  81. package/libs/ui/search/src/lib/ui-search.module.d.ts +2 -1
  82. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  83. package/libs/util/i18n/src/lib/i18n.constants.d.ts +1 -0
  84. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  85. package/libs/util/i18n/src/lib/language-codes.d.ts +23 -1
  86. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
  89. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +61 -4
  90. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +0 -1
  91. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +13 -3
  92. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +5 -1
  93. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +6 -3
  94. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +4 -1
  95. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +2 -2
  96. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +96 -9
  97. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +11 -0
  98. package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -0
  99. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +6 -0
  100. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +49 -0
  101. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +117 -11
  102. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +316 -6
  103. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +10 -0
  104. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +22 -0
  105. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +4 -0
  106. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +12 -0
  107. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +9 -0
  108. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
  109. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +13 -3
  110. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +7 -75
  111. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +20 -51
  112. package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.html +69 -0
  113. package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.ts +61 -0
  114. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +3 -2
  115. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -6
  116. package/src/libs/ui/search/src/index.ts +1 -0
  117. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +16 -6
  118. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +15 -11
  119. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +4 -0
  120. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +31 -27
  121. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +33 -15
  122. package/src/libs/ui/search/src/lib/ui-search.module.ts +3 -0
  123. package/src/libs/util/i18n/src/lib/i18n.constants.ts +42 -0
  124. package/src/libs/util/i18n/src/lib/language-codes.ts +23 -1
  125. package/tailwind.base.css +1 -1
  126. package/translations/de.json +32 -6
  127. package/translations/en.json +32 -6
  128. package/translations/es.json +31 -5
  129. package/translations/fr.json +32 -6
  130. package/translations/it.json +31 -5
  131. package/translations/nl.json +31 -5
  132. package/translations/pt.json +31 -5
  133. package/translations/sk.json +31 -5
@@ -4,15 +4,15 @@ import { GeoDataBadgeComponent } from '../geo-data-badge/geo-data-badge.componen
4
4
  import { KindBadgeComponent } from '../kind-badge/kind-badge.component';
5
5
  import { MarkdownParserComponent } from '../markdown-parser/markdown-parser.component';
6
6
  import { MetadataQualityComponent } from '../metadata-quality/metadata-quality.component';
7
- import { ThumbnailComponent } from '../thumbnail/thumbnail.component';
8
- import { removeWhitespace, stripHtml, } from '../../../../../../libs/util/shared/src';
9
- import { NgIconComponent, provideIcons, provideNgIconsConfig, } from '@ng-icons/core';
10
- import { matLocationSearchingOutline, matEmailOutline, matPhoneOutline, matLocationOnOutline, } from '@ng-icons/material-icons/outline';
7
+ import { InternalLinkCardContactComponent } from '../internal-link-card-contact/internal-link-card-contact.component';
8
+ import { removeWhitespace, stripHtml } from '../../../../../../libs/util/shared/src';
9
+ import { provideIcons, provideNgIconsConfig } from '@ng-icons/core';
10
+ import { matLocationSearchingOutline } from '@ng-icons/material-icons/outline';
11
11
  import { iconoirInternet } from '@ng-icons/iconoir';
12
12
  import { TranslateModule } from '@ngx-translate/core';
13
13
  import { fromEvent, Subscription } from 'rxjs';
14
+ import { ThumbnailComponent } from '../thumbnail/thumbnail.component';
14
15
  import * as i0 from "@angular/core";
15
- import * as i1 from "@ngx-translate/core";
16
16
  export class InternalLinkCardComponent {
17
17
  set size(value) {
18
18
  this._size = value;
@@ -54,28 +54,19 @@ export class InternalLinkCardComponent {
54
54
  this.abstract = removeWhitespace(stripHtml(this.record?.abstract));
55
55
  this.subscription.add(fromEvent(this.elementRef.nativeElement, 'click').subscribe(() => this.mdSelect.emit(this.record)));
56
56
  }
57
- get organization() {
58
- return this.record.ownerOrganization;
59
- }
60
- get contacts() {
61
- return ((this.record.kind === 'dataset'
62
- ? this.record.contactsForResource
63
- : this.record.contacts) || []);
64
- }
65
57
  getTitleClass() {
66
58
  return this.titleClassMap[this._size];
67
59
  }
68
- openExternalUrl(event, url) {
69
- event.stopPropagation();
70
- window.open(url, '_blank');
60
+ getAbstractClass() {
61
+ const marginClass = ['S', 'XS'].includes(this.size) ? 'ml-2' : '';
62
+ const clampClass = this.size === 'L' && !this.record.ownerOrganization?.name
63
+ ? 'line-clamp-6'
64
+ : 'line-clamp-2';
65
+ return `${clampClass} ${marginClass}`.trim();
71
66
  }
72
- openMailto(event, email) {
73
- event.stopPropagation();
74
- window.open(`mailto:${email}`, '_blank');
75
- }
76
- copyToClipboard(event, text) {
77
- event.stopPropagation();
78
- navigator.clipboard.writeText(text);
67
+ displayAbstract() {
68
+ return (this.size === 'L' ||
69
+ (['M', 'S'].includes(this.size) && !this.record.ownerOrganization?.name));
79
70
  }
80
71
  get shouldShowThumbnail() {
81
72
  return this.size === 'L' || this.size === 'M';
@@ -85,40 +76,34 @@ export class InternalLinkCardComponent {
85
76
  provideIcons({
86
77
  iconoirInternet,
87
78
  matLocationSearchingOutline,
88
- matEmailOutline,
89
- matPhoneOutline,
90
- matLocationOnOutline,
91
79
  }),
92
80
  provideNgIconsConfig({
93
81
  size: '1.2em',
94
82
  }),
95
- ], ngImport: i0, template: "<a [attr.href]=\"linkHref\" [target]=\"linkTarget\">\n <div\n class=\"group rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden w-full\"\n [ngClass]=\"cardClass\"\n >\n <div\n class=\"flex flex-row md:gap-0 justify-between w-full\"\n [ngClass]=\"{ 'flex-wrap md:flex-nowrap gap-3': size === 'L' }\"\n >\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"border mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow flex flex-col gap-3\">\n <div class=\"flex items-center gap-2\">\n <div class=\"grow flex flex-wrap items-center gap-2\">\n <gn-ui-kind-badge\n [styling]=\"'default'\"\n [kind]=\"record?.kind\"\n ></gn-ui-kind-badge>\n <gn-ui-geo-data-badge\n [showLabel]=\"size === 'L'\"\n [styling]=\"'light'\"\n [record]=\"record\"\n ></gn-ui-geo-data-badge>\n <gn-ui-metadata-quality\n class=\"flex items-center\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div *ngIf=\"size !== 'XS'\" data-cy=\"recordFav\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n\n <div class=\"grow flex flex-col gap-2\">\n <div\n class=\"font-medium text-title group-hover:text-primary\"\n [title]=\"record.title\"\n >\n <h4\n class=\"mr-6 overflow-hidden\"\n [ngClass]=\"getTitleClass()\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n </div>\n <div\n *ngIf=\"size === 'L'\"\n class=\"mr-6 text-xs text-gray-900 line-clamp-2 overflow-hidden\"\n data-cy=\"recordAbstract\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n </div>\n\n <div\n data-cy=\"recordOrg\"\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n >\n <div class=\"flex items-center flex-1 min-w-0\">\n <div\n class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\"\n >\n <gn-ui-thumbnail\n [thumbnailUrl]=\"\n record.ownerOrganization?.logoUrl?.toString() || ''\n \"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div\n data-cy=\"recordOrgName\"\n class=\"text-xl text-primary-black font-medium truncate\"\n >\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</a>\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: GeoDataBadgeComponent, selector: "gn-ui-geo-data-badge", inputs: ["showLabel", "styling", "record"] }, { kind: "component", type: KindBadgeComponent, selector: "gn-ui-kind-badge", inputs: ["styling", "contentTemplate", "kind"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }] }); }
83
+ ], ngImport: i0, template: "<a [attr.href]=\"linkHref\" [target]=\"linkTarget\">\n <div\n class=\"group rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden w-full\"\n [ngClass]=\"cardClass\"\n >\n <div\n class=\"flex flex-row md:gap-0 justify-between w-full\"\n [ngClass]=\"{ 'flex-wrap md:flex-nowrap gap-3': size === 'L' }\"\n >\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"border mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow flex flex-col gap-3\">\n <div class=\"flex items-center gap-2\">\n <div class=\"grow flex flex-wrap items-center gap-2\">\n <gn-ui-kind-badge\n [styling]=\"'default'\"\n [kind]=\"record?.kind\"\n ></gn-ui-kind-badge>\n <gn-ui-geo-data-badge\n [showLabel]=\"size === 'L'\"\n [styling]=\"'light'\"\n [record]=\"record\"\n ></gn-ui-geo-data-badge>\n <gn-ui-metadata-quality\n class=\"flex items-center\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div *ngIf=\"size !== 'XS'\" data-cy=\"recordFav\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n\n <div class=\"grow flex flex-col gap-2\">\n <div\n class=\"font-medium text-title group-hover:text-primary\"\n [title]=\"record.title\"\n >\n <h4\n class=\"mr-6 overflow-hidden\"\n [ngClass]=\"getTitleClass()\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n </div>\n <div\n *ngIf=\"displayAbstract()\"\n class=\"mr-6 text-xs text-gray-900 overflow-hidden\"\n [ngClass]=\"getAbstractClass()\"\n data-cy=\"recordAbstract\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n </div>\n\n <gn-ui-internal-link-card-contact\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n [record]=\"record\"\n [size]=\"size\"\n ></gn-ui-internal-link-card-contact>\n </div>\n </div>\n </div>\n</a>\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: GeoDataBadgeComponent, selector: "gn-ui-geo-data-badge", inputs: ["showLabel", "styling", "record"] }, { kind: "component", type: KindBadgeComponent, selector: "gn-ui-kind-badge", inputs: ["styling", "contentTemplate", "kind"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }, { kind: "component", type: InternalLinkCardContactComponent, selector: "gn-ui-internal-link-card-contact", inputs: ["record", "size"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }] }); }
96
84
  }
97
85
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardComponent, decorators: [{
98
86
  type: Component,
99
87
  args: [{ selector: 'gn-ui-internal-link-card', standalone: true, imports: [
100
88
  NgClass,
101
89
  NgIf,
102
- ThumbnailComponent,
103
90
  MetadataQualityComponent,
104
91
  NgTemplateOutlet,
105
- NgIconComponent,
106
92
  TranslateModule,
107
93
  GeoDataBadgeComponent,
108
94
  KindBadgeComponent,
109
95
  MarkdownParserComponent,
96
+ InternalLinkCardContactComponent,
97
+ ThumbnailComponent,
110
98
  ], providers: [
111
99
  provideIcons({
112
100
  iconoirInternet,
113
101
  matLocationSearchingOutline,
114
- matEmailOutline,
115
- matPhoneOutline,
116
- matLocationOnOutline,
117
102
  }),
118
103
  provideNgIconsConfig({
119
104
  size: '1.2em',
120
105
  }),
121
- ], template: "<a [attr.href]=\"linkHref\" [target]=\"linkTarget\">\n <div\n class=\"group rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden w-full\"\n [ngClass]=\"cardClass\"\n >\n <div\n class=\"flex flex-row md:gap-0 justify-between w-full\"\n [ngClass]=\"{ 'flex-wrap md:flex-nowrap gap-3': size === 'L' }\"\n >\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"border mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow flex flex-col gap-3\">\n <div class=\"flex items-center gap-2\">\n <div class=\"grow flex flex-wrap items-center gap-2\">\n <gn-ui-kind-badge\n [styling]=\"'default'\"\n [kind]=\"record?.kind\"\n ></gn-ui-kind-badge>\n <gn-ui-geo-data-badge\n [showLabel]=\"size === 'L'\"\n [styling]=\"'light'\"\n [record]=\"record\"\n ></gn-ui-geo-data-badge>\n <gn-ui-metadata-quality\n class=\"flex items-center\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div *ngIf=\"size !== 'XS'\" data-cy=\"recordFav\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n\n <div class=\"grow flex flex-col gap-2\">\n <div\n class=\"font-medium text-title group-hover:text-primary\"\n [title]=\"record.title\"\n >\n <h4\n class=\"mr-6 overflow-hidden\"\n [ngClass]=\"getTitleClass()\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n </div>\n <div\n *ngIf=\"size === 'L'\"\n class=\"mr-6 text-xs text-gray-900 line-clamp-2 overflow-hidden\"\n data-cy=\"recordAbstract\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n </div>\n\n <div\n data-cy=\"recordOrg\"\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n >\n <div class=\"flex items-center flex-1 min-w-0\">\n <div\n class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\"\n >\n <gn-ui-thumbnail\n [thumbnailUrl]=\"\n record.ownerOrganization?.logoUrl?.toString() || ''\n \"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div\n data-cy=\"recordOrgName\"\n class=\"text-xl text-primary-black font-medium truncate\"\n >\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</a>\n" }]
106
+ ], template: "<a [attr.href]=\"linkHref\" [target]=\"linkTarget\">\n <div\n class=\"group rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden w-full\"\n [ngClass]=\"cardClass\"\n >\n <div\n class=\"flex flex-row md:gap-0 justify-between w-full\"\n [ngClass]=\"{ 'flex-wrap md:flex-nowrap gap-3': size === 'L' }\"\n >\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"border mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow flex flex-col gap-3\">\n <div class=\"flex items-center gap-2\">\n <div class=\"grow flex flex-wrap items-center gap-2\">\n <gn-ui-kind-badge\n [styling]=\"'default'\"\n [kind]=\"record?.kind\"\n ></gn-ui-kind-badge>\n <gn-ui-geo-data-badge\n [showLabel]=\"size === 'L'\"\n [styling]=\"'light'\"\n [record]=\"record\"\n ></gn-ui-geo-data-badge>\n <gn-ui-metadata-quality\n class=\"flex items-center\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div *ngIf=\"size !== 'XS'\" data-cy=\"recordFav\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n\n <div class=\"grow flex flex-col gap-2\">\n <div\n class=\"font-medium text-title group-hover:text-primary\"\n [title]=\"record.title\"\n >\n <h4\n class=\"mr-6 overflow-hidden\"\n [ngClass]=\"getTitleClass()\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n </div>\n <div\n *ngIf=\"displayAbstract()\"\n class=\"mr-6 text-xs text-gray-900 overflow-hidden\"\n [ngClass]=\"getAbstractClass()\"\n data-cy=\"recordAbstract\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n </div>\n\n <gn-ui-internal-link-card-contact\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n [record]=\"record\"\n [size]=\"size\"\n ></gn-ui-internal-link-card-contact>\n </div>\n </div>\n </div>\n</a>\n" }]
122
107
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { record: [{
123
108
  type: Input
124
109
  }], linkTarget: [{
@@ -134,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
134
119
  }], mdSelect: [{
135
120
  type: Output
136
121
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFFWCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQTtBQUt0QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3JFLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsU0FBUyxHQUNWLE1BQU0sd0NBQXdDLENBQUE7QUFDL0MsT0FBTyxFQUNMLGVBQWUsRUFDZixZQUFZLEVBQ1osb0JBQW9CLEdBQ3JCLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixlQUFlLEVBQ2YsZUFBZSxFQUNmLG9CQUFvQixHQUNyQixNQUFNLGtDQUFrQyxDQUFBO0FBQ3pDLE9B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QkFBMkI7NEJBQzNCLGVBQWU7NEJBQ2YsZUFBZTs0QkFDZixvQkFBb0I7eUJBQ3JCLENBQUM7d0JBQ0Ysb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxPQUFPO3lCQUNkLENBQUM7cUJBQ0g7K0VBS1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNPLElBQUk7c0JBQWhCLEtBQUs7Z0JBUUksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBFbGVtZW50UmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ1JlY29yZCxcbiAgT3JnYW5pemF0aW9uLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgR2VvRGF0YUJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLWRhdGEtYmFkZ2UvZ2VvLWRhdGEtYmFkZ2UuY29tcG9uZW50J1xuaW1wb3J0IHsgS2luZEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4va2luZC1iYWRnZS9raW5kLWJhZGdlLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hcmtkb3duUGFyc2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWFya2Rvd24tcGFyc2VyL21hcmtkb3duLXBhcnNlci5jb21wb25lbnQnXG5pbXBvcnQgeyBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50J1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQge1xuICBwcm9wYWdhdGVUb0RvY3VtZW50T25seSxcbiAgcmVtb3ZlV2hpdGVzcGFjZSxcbiAgc3RyaXBIdG1sLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQge1xuICBtYXRMb2NhdGlvblNlYXJjaGluZ091dGxpbmUsXG4gIG1hdEVtYWlsT3V0bGluZSxcbiAgbWF0UGhvbmVPdXRsaW5lLFxuICBtYXRMb2NhdGlvbk9uT3V0bGluZSxcbn0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL291dGxpbmUnXG5pbXBvcnQgeyBpY29ub2lySW50ZXJuZXQgfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5cbnR5cGUgQ2FyZFNpemUgPSAnTCcgfCAnTScgfCAnUycgfCAnWFMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWludGVybmFsLWxpbmstY2FyZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gICAgVGh1bWJuYWlsQ29tcG9uZW50LFxuICAgIE1ldGFkYXRhUXVhbGl0eUNvbXBvbmVudCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgR2VvRGF0YUJhZGdlQ29tcG9uZW50LFxuICAgIEtpbmRCYWRnZUNvbXBvbmVudCxcbiAgICBNYXJrZG93blBhcnNlckNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHtcbiAgICAgIGljb25vaXJJbnRlcm5ldCxcbiAgICAgIG1hdExvY2F0aW9uU2VhcmNoaW5nT3V0bGluZSxcbiAgICAgIG1hdEVtYWlsT3V0bGluZSxcbiAgICAgIG1hdFBob25lT3V0bGluZSxcbiAgICAgIG1hdExvY2F0aW9uT25PdXRsaW5lLFxuICAgIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHtcbiAgICAgIHNpemU6ICcxLjJlbScsXG4gICAgfSksXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnRlcm5hbC1saW5rLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnRlcm5hbC1saW5rLWNhcmQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbExpbmtDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcmVjb3JkOiBDYXRhbG9nUmVjb3JkXG4gIEBJbnB1dCgpIGxpbmtUYXJnZXQgPSAnX2JsYW5rJ1xuICBASW5wdXQoKSBsaW5rSHJlZjogc3RyaW5nID0gbnVsbFxuICBASW5wdXQoKSBtZXRhZGF0YVF1YWxpdHlEaXNwbGF5OiBib29sZWFuXG4gIEBJbnB1dCgpIGZhdm9yaXRlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBDYXRhbG9nUmVjb3JkIH0+XG4gIEBJbnB1dCgpIHNldCBzaXplKHZhbHVlOiBDYXJkU2l6ZSkge1xuICAgIHRoaXMuX3NpemUgPSB2YWx1ZVxuICAgIHRoaXMuY2FyZENsYXNzID0gdGhpcy5zaXplQ2xhc3NNYXBbdmFsdWVdIHx8ICcnXG4gICAgdGhpcy50aHVtYm5haWxDb250YWluZXJDbGFzcyA9IHRoaXMudGh1bWJuYWlsU2l6ZUNsYXNzTWFwW3ZhbHVlXSB8fCAnaGlkZGVuJ1xuICB9XG4gIGdldCBzaXplKCk6IENhcmRTaXplIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZVxuICB9XG4gIEBPdXRwdXQoKSBtZFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2F0YWxvZ1JlY29yZD4oKVxuICBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKClcblxuICBhYnN0cmFjdDogc3RyaW5nXG5cbiAgY2FyZENsYXNzID0gJydcbiAgdGh1bWJuYWlsQ29udGFpbmVyQ2xhc3MgPSAnJ1xuXG4gIHByaXZhdGUgX3NpemU6IENhcmRTaXplID0gJ00nXG5cbiAgcHJpdmF0ZSByZWFkb25seSBzaXplQ2xhc3NNYXA6IFJlY29yZDxDYXJkU2l6ZSwgc3RyaW5nPiA9IHtcbiAgICBMOiAnbWluLWgtWzE5MHB4XSB3LWZ1bGwgcHktMyBweC0zIGZsZXggaXRlbXMtc3RhcnQgZ2FwLTUnLFxuICAgIE06ICdtaW4taC1bMTQwcHhdIHB5LTMgcHgtMyBmbGV4IGl0ZW1zLXN0YXJ0IGdhcC00JyxcbiAgICBTOiAnbWluLWgtWzIyMHB4XSBweS0zIHB4LTMgZmxleCBnYXAtNCcsXG4gICAgWFM6ICdtaW4taC1bMTA4cHhdIHB5LTMgcHgtMyBmbGV4IGdhcC00JyxcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGh1bWJuYWlsU2l6ZUNsYXNzTWFwOiBSZWNvcmQ8Q2FyZFNpemUsIHN0cmluZz4gPSB7XG4gICAgTDogJ3ctZnVsbCBtZDp3LVsxOTBweF0gaC1bMTgwcHhdIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuIHNocmluay0wJyxcbiAgICBNOiAndy1bMTEwcHhdIGgtWzE0MHB4XSByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlbiBzaHJpbmstMCcsXG4gICAgUzogJ2hpZGRlbicsXG4gICAgWFM6ICdoaWRkZW4nLFxuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0aXRsZUNsYXNzTWFwOiBSZWNvcmQ8Q2FyZFNpemUsIHN0cmluZz4gPSB7XG4gICAgTDogJ3RleHQteGwgbGluZS1jbGFtcC0xJyxcbiAgICBNOiAndGV4dC1iYXNlIGxpbmUtY2xhbXAtMicsXG4gICAgUzogJ3RleHQtYmFzZSBsaW5lLWNsYW1wLTMgbWwtMicsXG4gICAgWFM6ICd0ZXh0LWJhc2UgbGluZS1jbGFtcC0xIG1sLTInLFxuICB9XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hYnN0cmFjdCA9IHJlbW92ZVdoaXRlc3BhY2Uoc3RyaXBIdG1sKHRoaXMucmVjb3JkPy5hYnN0cmFjdCkpXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgdGhpcy5tZFNlbGVjdC5lbWl0KHRoaXMucmVjb3JkKVxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIGdldCBvcmdhbml6YXRpb24oKTogT3JnYW5pemF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5yZWNvcmQub3duZXJPcmdhbml6YXRpb25cbiAgfVxuXG4gIGdldCBjb250YWN0cygpIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMucmVjb3JkLmtpbmQgPT09ICdkYXRhc2V0J1xuICAgICAgICA/IHRoaXMucmVjb3JkLmNvbnRhY3RzRm9yUmVzb3VyY2VcbiAgICAgICAgOiB0aGlzLnJlY29yZC5jb250YWN0cykgfHwgW11cbiAgICApXG4gIH1cblxuICBnZXRUaXRsZUNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLnRpdGxlQ2xhc3NNYXBbdGhpcy5fc2l6ZV1cbiAgfVxuXG4gIG9wZW5FeHRlcm5hbFVybChldmVudDogRXZlbnQsIHVybDogVVJMKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKVxuICB9XG5cbiAgb3Blbk1haWx0byhldmVudDogRXZlbnQsIGVtYWlsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIHdpbmRvdy5vcGVuKGBtYWlsdG86JHtlbWFpbH1gLCAnX2JsYW5rJylcbiAgfVxuXG4gIGNvcHlUb0NsaXBib2FyZChldmVudDogRXZlbnQsIHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dClcbiAgfVxuXG4gIGdldCBzaG91bGRTaG93VGh1bWJuYWlsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdMJyB8fCB0aGlzLnNpemUgPT09ICdNJ1xuICB9XG59XG4iLCI8YSBbYXR0ci5ocmVmXT1cImxpbmtIcmVmXCIgW3RhcmdldF09XCJsaW5rVGFyZ2V0XCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImdyb3VwIHJvdW5kZWQtbWQgYmctd2hpdGUgaG92ZXI6Y3Vyc29yLXBvaW50ZXIgaG92ZXI6Ymctc2xhdGUtNTAgb3ZlcmZsb3ctaGlkZGVuIHctZnVsbFwiXG4gICAgW25nQ2xhc3NdPVwiY2FyZENsYXNzXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtZDpnYXAtMCBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZsZXgtd3JhcCBtZDpmbGV4LW5vd3JhcCBnYXAtMyc6IHNpemUgPT09ICdMJyB9XCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2hvdWxkU2hvd1RodW1ibmFpbFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInRodW1ibmFpbENvbnRhaW5lckNsYXNzXCJcbiAgICAgICAgY2xhc3M9XCJib3JkZXIgbXItNCBmbGV4IGZsZXgtY29sXCJcbiAgICAgID5cbiAgICAgICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXJcIlxuICAgICAgICAgIFt0aHVtYm5haWxVcmxdPVwicmVjb3JkLm92ZXJ2aWV3cz8uWzBdPy51cmw/LnRvU3RyaW5nKCkgfHwgJydcIlxuICAgICAgICAgIFtmaXRdPVwiJ2NvdmVyJ1wiXG4gICAgICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3cgZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdyBmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgIDxnbi11aS1raW5kLWJhZGdlXG4gICAgICAgICAgICAgIFtzdHlsaW5nXT1cIidkZWZhdWx0J1wiXG4gICAgICAgICAgICAgIFtraW5kXT1cInJlY29yZD8ua2luZFwiXG4gICAgICAgICAgICA+PC9nbi11aS1raW5kLWJhZGdlPlxuICAgICAgICAgICAgPGduLXVpLWdlby1kYXRhLWJhZGdlXG4gICAgICAgICAgICAgIFtzaG93TGFiZWxdPVwic2l6ZSA9PT0gJ0wnXCJcbiAgICAgICAgICAgICAgW3N0eWxpbmddPVwiJ2xpZ2h0J1wiXG4gICAgICAgICAgICAgIFtyZWNvcmRdPVwicmVjb3JkXCJcbiAgICAgICAgICAgID48L2duLXVpLWdlby1kYXRhLWJhZGdlPlxuICAgICAgICAgICAgPGduLXVpLW1ldGFkYXRhLXF1YWxpdHlcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgIFtzbWFsbGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICBbbWV0YWRhdGFdPVwicmVjb3JkXCJcbiAgICAgICAgICAgICAgW21ldGFkYXRhUXVhbGl0eURpc3BsYXldPVwibWV0YWRhdGFRdWFsaXR5RGlzcGxheVwiXG4gICAgICAgICAgICA+PC9nbi11aS1tZXRhZGF0YS1xdWFsaXR5PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaXplICE9PSAnWFMnXCIgZGF0YS1jeT1cInJlY29yZEZhdlwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmYXZvcml0ZVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByZWNvcmQgfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncm93IGZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtdGl0bGUgZ3JvdXAtaG92ZXI6dGV4dC1wcmltYXJ5XCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJyZWNvcmQudGl0bGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxoNFxuICAgICAgICAgICAgICBjbGFzcz1cIm1yLTYgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0VGl0bGVDbGFzcygpXCJcbiAgICAgICAgICAgICAgZGF0YS1jeT1cInJlY29yZFRpdGxlXCJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cInJlY29yZC50aXRsZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IHJlY29yZC50aXRsZSB9fVxuICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInNpemUgPT09ICdMJ1wiXG4gICAgICAgICAgICBjbGFzcz1cIm1yLTYgdGV4dC14cyB0ZXh0LWdyYXktOTAwIGxpbmUtY2xhbXAtMiBvdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgZGF0YS1jeT1cInJlY29yZEFic3RyYWN0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Z24tdWktbWFya2Rvd24tcGFyc2VyXG4gICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJhYnN0cmFjdFwiXG4gICAgICAgICAgICAgIFt3aGl0b3V0U3R5bGVzXT1cInRydWVcIlxuICAgICAgICAgICAgPjwvZ24tdWktbWFya2Rvd24tcGFyc2VyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgZGF0YS1jeT1cInJlY29yZE9yZ1wiXG4gICAgICAgICAgKm5nSWY9XCJzaXplICE9PSAnWFMnICYmIHJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubmFtZVwiXG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWV2ZW5seSBiZy1ncmF5LTUwIHJvdW5kZWQtbGcgaC1bNTNweF0gcHgtMlwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZmxleC0xIG1pbi13LTBcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LVs0NXB4XSBoLVs0NXB4XSByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlbiBzaHJpbmstMCBtci0zXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgICAgICAgICAgIFt0aHVtYm5haWxVcmxdPVwiXG4gICAgICAgICAgICAgICAgICByZWNvcmQub3duZXJPcmdhbml6YXRpb24/LmxvZ29Vcmw/LnRvU3RyaW5nKCkgfHwgJydcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtmaXRdPVwiJ2NvbnRhaW4nXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBoLWZ1bGwgcm91bmRlZC1sZ1wiXG4gICAgICAgICAgICAgID48L2duLXVpLXRodW1ibmFpbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9yZ2FuaXphdGlvbj8ubmFtZVwiIGNsYXNzPVwiZmxleC0xIHctMCBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC14cyB0ZXh0LWJsYWNrIGZvbnQtbm9ybWFsIGxlYWRpbmctdGlnaHQgdHJ1bmNhdGVcIlxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgcmVjb3JkLmNhcmQubWV0YWRhdGEuY29udGFjdFxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGRhdGEtY3k9XCJyZWNvcmRPcmdOYW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQteGwgdGV4dC1wcmltYXJ5LWJsYWNrIGZvbnQtbWVkaXVtIHRydW5jYXRlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IG9yZ2FuaXphdGlvbi5uYW1lIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInNpemUgPT09ICdMJ1wiIGNsYXNzPVwibWwtMiBmbGV4IHNwYWNlLXgtMlwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9yZ2FuaXphdGlvbj8ud2Vic2l0ZVwiIGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIm9yZ2FuaXphdGlvbi53ZWJzaXRlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctWzQwcHhdIGgtWzMycHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1bI0Q0RDNEN10gcHgtWzhweF0gcHktWzRweF0gaG92ZXI6YmctcHJpbWFyeS1saWdodGVzdFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5FeHRlcm5hbFVybCgkZXZlbnQsIG9yZ2FuaXphdGlvbi53ZWJzaXRlKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctaWNvbiBuYW1lPVwiaWNvbm9pckludGVybmV0XCI+PC9uZy1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbnRhY3RzWzBdPy5lbWFpbFwiIGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImNvbnRhY3RzWzBdLmVtYWlsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctWzQwcHhdIGgtWzMycHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1bI0Q0RDNEN10gcHgtWzhweF0gcHktWzRweF0gaG92ZXI6YmctcHJpbWFyeS1saWdodGVzdFwiXG4gICAgICAgICAgICAgICAgZGF0YS1jeT1cImNvbnRhY3QtZW1haWxcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuTWFpbHRvKCRldmVudCwgY29udGFjdHNbMF0uZW1haWwpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRFbWFpbE91dGxpbmVcIj48L25nLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LnBob25lXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0NvcHkgdG8gY2xpcGJvYXJkJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LVs0MHB4XSBoLVszMnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNENEQzRDddIHB4LVs4cHhdIHB5LVs0cHhdIGhvdmVyOmJnLXByaW1hcnktbGlnaHRlc3QgcmVsYXRpdmUgZ3JvdXBcIlxuICAgICAgICAgICAgICAgIGRhdGEtY3k9XCJjb250YWN0LXBob25lXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29weVRvQ2xpcGJvYXJkKCRldmVudCwgY29udGFjdHNbMF0ucGhvbmUpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRQaG9uZU91dGxpbmVcIj48L25nLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LmFkZHJlc3NcIiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQ29weSB0byBjbGlwYm9hcmQnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctWzQwcHhdIGgtWzMycHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1bI0Q0RDNEN10gcHgtWzhweF0gcHktWzRweF0gaG92ZXI6YmctcHJpbWFyeS1saWdodGVzdCByZWxhdGl2ZSBncm91cFwiXG4gICAgICAgICAgICAgICAgZGF0YS1jeT1cImNvbnRhY3QtcGhvbmVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoJGV2ZW50LCBjb250YWN0c1swXS5hZGRyZXNzKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0TG9jYXRpb25Pbk91dGxpbmVcIj48L25nLWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9hPlxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFFWCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9FQUFvRSxDQUFBO0FBQ3JILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8s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QkFBaEIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNPLElBQUk7c0JBQWhCLEtBQUs7Z0JBUUksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBFbGVtZW50UmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBHZW9EYXRhQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9nZW8tZGF0YS1iYWRnZS9nZW8tZGF0YS1iYWRnZS5jb21wb25lbnQnXG5pbXBvcnQgeyBLaW5kQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9raW5kLWJhZGdlL2tpbmQtYmFkZ2UuY29tcG9uZW50J1xuaW1wb3J0IHsgTWFya2Rvd25QYXJzZXJDb21wb25lbnQgfSBmcm9tICcuLi9tYXJrZG93bi1wYXJzZXIvbWFya2Rvd24tcGFyc2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IE1ldGFkYXRhUXVhbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uL21ldGFkYXRhLXF1YWxpdHkvbWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQnXG5pbXBvcnQgeyBJbnRlcm5hbExpbmtDYXJkQ29udGFjdENvbXBvbmVudCB9IGZyb20gJy4uL2ludGVybmFsLWxpbmstY2FyZC1jb250YWN0L2ludGVybmFsLWxpbmstY2FyZC1jb250YWN0LmNvbXBvbmVudCdcbmltcG9ydCB7IHJlbW92ZVdoaXRlc3BhY2UsIHN0cmlwSHRtbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgcHJvdmlkZUljb25zLCBwcm92aWRlTmdJY29uc0NvbmZpZyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgbWF0TG9jYXRpb25TZWFyY2hpbmdPdXRsaW5lIH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL291dGxpbmUnXG5pbXBvcnQgeyBpY29ub2lySW50ZXJuZXQgfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBUaHVtYm5haWxDb21wb25lbnQgfSBmcm9tICcuLi90aHVtYm5haWwvdGh1bWJuYWlsLmNvbXBvbmVudCdcblxudHlwZSBDYXJkU2l6ZSA9ICdMJyB8ICdNJyB8ICdTJyB8ICdYUydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktaW50ZXJuYWwtbGluay1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgTmdJZixcbiAgICBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgR2VvRGF0YUJhZGdlQ29tcG9uZW50LFxuICAgIEtpbmRCYWRnZUNvbXBvbmVudCxcbiAgICBNYXJrZG93blBhcnNlckNvbXBvbmVudCxcbiAgICBJbnRlcm5hbExpbmtDYXJkQ29udGFjdENvbXBvbmVudCxcbiAgICBUaHVtYm5haWxDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBpY29ub2lySW50ZXJuZXQsXG4gICAgICBtYXRMb2NhdGlvblNlYXJjaGluZ091dGxpbmUsXG4gICAgfSksXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuMmVtJyxcbiAgICB9KSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludGVybmFsLWxpbmstY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ludGVybmFsLWxpbmstY2FyZC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEludGVybmFsTGlua0NhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSByZWNvcmQ6IENhdGFsb2dSZWNvcmRcbiAgQElucHV0KCkgbGlua1RhcmdldCA9ICdfYmxhbmsnXG4gIEBJbnB1dCgpIGxpbmtIcmVmOiBzdHJpbmcgPSBudWxsXG4gIEBJbnB1dCgpIG1ldGFkYXRhUXVhbGl0eURpc3BsYXk6IGJvb2xlYW5cbiAgQElucHV0KCkgZmF2b3JpdGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IENhdGFsb2dSZWNvcmQgfT5cbiAgQElucHV0KCkgc2V0IHNpemUodmFsdWU6IENhcmRTaXplKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHZhbHVlXG4gICAgdGhpcy5jYXJkQ2xhc3MgPSB0aGlzLnNpemVDbGFzc01hcFt2YWx1ZV0gfHwgJydcbiAgICB0aGlzLnRodW1ibmFpbENvbnRhaW5lckNsYXNzID0gdGhpcy50aHVtYm5haWxTaXplQ2xhc3NNYXBbdmFsdWVdIHx8ICdoaWRkZW4nXG4gIH1cbiAgZ2V0IHNpemUoKTogQ2FyZFNpemUge1xuICAgIHJldHVybiB0aGlzLl9zaXplXG4gIH1cbiAgQE91dHB1dCgpIG1kU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXRhbG9nUmVjb3JkPigpXG4gIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKVxuXG4gIGFic3RyYWN0OiBzdHJpbmdcblxuICBjYXJkQ2xhc3MgPSAnJ1xuICB0aHVtYm5haWxDb250YWluZXJDbGFzcyA9ICcnXG5cbiAgcHJpdmF0ZSBfc2l6ZTogQ2FyZFNpemUgPSAnTSdcblxuICBwcml2YXRlIHJlYWRvbmx5IHNpemVDbGFzc01hcDogUmVjb3JkPENhcmRTaXplLCBzdHJpbmc+ID0ge1xuICAgIEw6ICdtaW4taC1bMTkwcHhdIHctZnVsbCBweS0zIHB4LTMgZmxleCBpdGVtcy1zdGFydCBnYXAtNScsXG4gICAgTTogJ21pbi1oLVsxNDBweF0gcHktMyBweC0zIGZsZXggaXRlbXMtc3RhcnQgZ2FwLTQnLFxuICAgIFM6ICdtaW4taC1bMjIwcHhdIHB5LTMgcHgtMyBmbGV4IGdhcC00JyxcbiAgICBYUzogJ21pbi1oLVsxMDhweF0gcHktMyBweC0zIGZsZXggZ2FwLTQnLFxuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0aHVtYm5haWxTaXplQ2xhc3NNYXA6IFJlY29yZDxDYXJkU2l6ZSwgc3RyaW5nPiA9IHtcbiAgICBMOiAndy1mdWxsIG1kOnctWzE5MHB4XSBoLVsxODBweF0gcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gc2hyaW5rLTAnLFxuICAgIE06ICd3LVsxMTBweF0gaC1bMTQwcHhdIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuIHNocmluay0wJyxcbiAgICBTOiAnaGlkZGVuJyxcbiAgICBYUzogJ2hpZGRlbicsXG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlQ2xhc3NNYXA6IFJlY29yZDxDYXJkU2l6ZSwgc3RyaW5nPiA9IHtcbiAgICBMOiAndGV4dC14bCBsaW5lLWNsYW1wLTEnLFxuICAgIE06ICd0ZXh0LWJhc2UgbGluZS1jbGFtcC0yJyxcbiAgICBTOiAndGV4dC1iYXNlIGxpbmUtY2xhbXAtMyBtbC0yJyxcbiAgICBYUzogJ3RleHQtYmFzZSBsaW5lLWNsYW1wLTEgbWwtMicsXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFic3RyYWN0ID0gcmVtb3ZlV2hpdGVzcGFjZShzdHJpcEh0bWwodGhpcy5yZWNvcmQ/LmFic3RyYWN0KSlcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnN1YnNjcmliZSgoKSA9PlxuICAgICAgICB0aGlzLm1kU2VsZWN0LmVtaXQodGhpcy5yZWNvcmQpXG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgZ2V0VGl0bGVDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZUNsYXNzTWFwW3RoaXMuX3NpemVdXG4gIH1cbiAgZ2V0QWJzdHJhY3RDbGFzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1hcmdpbkNsYXNzID0gWydTJywgJ1hTJ10uaW5jbHVkZXModGhpcy5zaXplKSA/ICdtbC0yJyA6ICcnXG4gICAgY29uc3QgY2xhbXBDbGFzcyA9XG4gICAgICB0aGlzLnNpemUgPT09ICdMJyAmJiAhdGhpcy5yZWNvcmQub3duZXJPcmdhbml6YXRpb24/Lm5hbWVcbiAgICAgICAgPyAnbGluZS1jbGFtcC02J1xuICAgICAgICA6ICdsaW5lLWNsYW1wLTInXG4gICAgcmV0dXJuIGAke2NsYW1wQ2xhc3N9ICR7bWFyZ2luQ2xhc3N9YC50cmltKClcbiAgfVxuICBkaXNwbGF5QWJzdHJhY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2l6ZSA9PT0gJ0wnIHx8XG4gICAgICAoWydNJywgJ1MnXS5pbmNsdWRlcyh0aGlzLnNpemUpICYmICF0aGlzLnJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubmFtZSlcbiAgICApXG4gIH1cblxuICBnZXQgc2hvdWxkU2hvd1RodW1ibmFpbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSAnTCcgfHwgdGhpcy5zaXplID09PSAnTSdcbiAgfVxufVxuIiwiPGEgW2F0dHIuaHJlZl09XCJsaW5rSHJlZlwiIFt0YXJnZXRdPVwibGlua1RhcmdldFwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJncm91cCByb3VuZGVkLW1kIGJnLXdoaXRlIGhvdmVyOmN1cnNvci1wb2ludGVyIGhvdmVyOmJnLXNsYXRlLTUwIG92ZXJmbG93LWhpZGRlbiB3LWZ1bGxcIlxuICAgIFtuZ0NsYXNzXT1cImNhcmRDbGFzc1wiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgbWQ6Z2FwLTAganVzdGlmeS1iZXR3ZWVuIHctZnVsbFwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdmbGV4LXdyYXAgbWQ6ZmxleC1ub3dyYXAgZ2FwLTMnOiBzaXplID09PSAnTCcgfVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInNob3VsZFNob3dUaHVtYm5haWxcIlxuICAgICAgICBbbmdDbGFzc109XCJ0aHVtYm5haWxDb250YWluZXJDbGFzc1wiXG4gICAgICAgIGNsYXNzPVwiYm9yZGVyIG1yLTQgZmxleCBmbGV4LWNvbFwiXG4gICAgICA+XG4gICAgICAgIDxnbi11aS10aHVtYm5haWxcbiAgICAgICAgICBjbGFzcz1cInctZnVsbCBoLWZ1bGwgb2JqZWN0LWNvdmVyXCJcbiAgICAgICAgICBbdGh1bWJuYWlsVXJsXT1cInJlY29yZC5vdmVydmlld3M/LlswXT8udXJsPy50b1N0cmluZygpIHx8ICcnXCJcbiAgICAgICAgICBbZml0XT1cIidjb3ZlcidcIlxuICAgICAgICA+PC9nbi11aS10aHVtYm5haWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJncm93IGZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3cgZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICA8Z24tdWkta2luZC1iYWRnZVxuICAgICAgICAgICAgICBbc3R5bGluZ109XCInZGVmYXVsdCdcIlxuICAgICAgICAgICAgICBba2luZF09XCJyZWNvcmQ/LmtpbmRcIlxuICAgICAgICAgICAgPjwvZ24tdWkta2luZC1iYWRnZT5cbiAgICAgICAgICAgIDxnbi11aS1nZW8tZGF0YS1iYWRnZVxuICAgICAgICAgICAgICBbc2hvd0xhYmVsXT1cInNpemUgPT09ICdMJ1wiXG4gICAgICAgICAgICAgIFtzdHlsaW5nXT1cIidsaWdodCdcIlxuICAgICAgICAgICAgICBbcmVjb3JkXT1cInJlY29yZFwiXG4gICAgICAgICAgICA+PC9nbi11aS1nZW8tZGF0YS1iYWRnZT5cbiAgICAgICAgICAgIDxnbi11aS1tZXRhZGF0YS1xdWFsaXR5XG4gICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICBbc21hbGxlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW21ldGFkYXRhXT1cInJlY29yZFwiXG4gICAgICAgICAgICAgIFttZXRhZGF0YVF1YWxpdHlEaXNwbGF5XT1cIm1ldGFkYXRhUXVhbGl0eURpc3BsYXlcIlxuICAgICAgICAgICAgPjwvZ24tdWktbWV0YWRhdGEtcXVhbGl0eT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2l6ZSAhPT0gJ1hTJ1wiIGRhdGEtY3k9XCJyZWNvcmRGYXZcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmF2b3JpdGVUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcmVjb3JkIH1cIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdyBmbGV4IGZsZXgtY29sIGdhcC0yXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmb250LW1lZGl1bSB0ZXh0LXRpdGxlIGdyb3VwLWhvdmVyOnRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwicmVjb3JkLnRpdGxlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aDRcbiAgICAgICAgICAgICAgY2xhc3M9XCJtci02IG92ZXJmbG93LWhpZGRlblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdldFRpdGxlQ2xhc3MoKVwiXG4gICAgICAgICAgICAgIGRhdGEtY3k9XCJyZWNvcmRUaXRsZVwiXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJyZWNvcmQudGl0bGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyByZWNvcmQudGl0bGUgfX1cbiAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJkaXNwbGF5QWJzdHJhY3QoKVwiXG4gICAgICAgICAgICBjbGFzcz1cIm1yLTYgdGV4dC14cyB0ZXh0LWdyYXktOTAwIG92ZXJmbG93LWhpZGRlblwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJnZXRBYnN0cmFjdENsYXNzKClcIlxuICAgICAgICAgICAgZGF0YS1jeT1cInJlY29yZEFic3RyYWN0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Z24tdWktbWFya2Rvd24tcGFyc2VyXG4gICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJhYnN0cmFjdFwiXG4gICAgICAgICAgICAgIFt3aGl0b3V0U3R5bGVzXT1cInRydWVcIlxuICAgICAgICAgICAgPjwvZ24tdWktbWFya2Rvd24tcGFyc2VyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8Z24tdWktaW50ZXJuYWwtbGluay1jYXJkLWNvbnRhY3RcbiAgICAgICAgICAqbmdJZj1cInNpemUgIT09ICdYUycgJiYgcmVjb3JkLm93bmVyT3JnYW5pemF0aW9uPy5uYW1lXCJcbiAgICAgICAgICBbcmVjb3JkXT1cInJlY29yZFwiXG4gICAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgID48L2duLXVpLWludGVybmFsLWxpbmstY2FyZC1jb250YWN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9hPlxuIl19
@@ -0,0 +1,59 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { NgIf } from '@angular/common';
3
+ import { ThumbnailComponent } from '../thumbnail/thumbnail.component';
4
+ import { NgIconComponent, provideIcons } from '@ng-icons/core';
5
+ import { matEmailOutline, matPhoneOutline, matLocationOnOutline, } from '@ng-icons/material-icons/outline';
6
+ import { iconoirInternet } from '@ng-icons/iconoir';
7
+ import { TranslateModule } from '@ngx-translate/core';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@ngx-translate/core";
10
+ export class InternalLinkCardContactComponent {
11
+ constructor() {
12
+ this.size = 'M';
13
+ }
14
+ get organization() {
15
+ return this.record.ownerOrganization;
16
+ }
17
+ get contacts() {
18
+ return ((this.record.kind === 'dataset'
19
+ ? this.record.contactsForResource
20
+ : this.record.contacts) || []);
21
+ }
22
+ openExternalUrl(event, url) {
23
+ event.stopPropagation();
24
+ window.open(url, '_blank');
25
+ }
26
+ openMailto(event, email) {
27
+ event.stopPropagation();
28
+ window.open(`mailto:${email}`, '_blank');
29
+ }
30
+ copyToClipboard(event, text) {
31
+ event.stopPropagation();
32
+ navigator.clipboard.writeText(text);
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardContactComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InternalLinkCardContactComponent, isStandalone: true, selector: "gn-ui-internal-link-card-contact", inputs: { record: "record", size: "size" }, providers: [
36
+ provideIcons({
37
+ iconoirInternet,
38
+ matEmailOutline,
39
+ matPhoneOutline,
40
+ matLocationOnOutline,
41
+ }),
42
+ ], ngImport: i0, template: "<div\n data-cy=\"recordOrg\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n>\n <div class=\"flex items-center flex-1 min-w-0\">\n <div class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\">\n <gn-ui-thumbnail\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString() || ''\"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div\n data-cy=\"recordOrgName\"\n class=\"text-xl text-primary-black font-medium truncate\"\n >\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardContactComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: 'gn-ui-internal-link-card-contact', standalone: true, imports: [NgIf, ThumbnailComponent, NgIconComponent, TranslateModule], providers: [
47
+ provideIcons({
48
+ iconoirInternet,
49
+ matEmailOutline,
50
+ matPhoneOutline,
51
+ matLocationOnOutline,
52
+ }),
53
+ ], template: "<div\n data-cy=\"recordOrg\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n>\n <div class=\"flex items-center flex-1 min-w-0\">\n <div class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\">\n <gn-ui-thumbnail\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString() || ''\"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div\n data-cy=\"recordOrgName\"\n class=\"text-xl text-primary-black font-medium truncate\"\n >\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n</div>\n" }]
54
+ }], propDecorators: { record: [{
55
+ type: Input
56
+ }], size: [{
57
+ type: Input
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbGluay1jYXJkLWNvbnRhY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL2ludGVybmFsLWxpbmstY2FyZC1jb250YWN0L2ludGVybmFsLWxpbmstY2FyZC1jb250YWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbnRlcm5hbC1saW5rLWNhcmQtY29udGFjdC9pbnRlcm5hbC1saW5rLWNhcmQtY29udGFjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFLdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM5RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGVBQWUsRUFDZixvQkFBb0IsR0FDckIsTUFBTSxrQ0FBa0MsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7QUFnQnJELE1BQU0sT0FBTyxnQ0FBZ0M7SUFkN0M7UUFnQlcsU0FBSSxHQUEyQixHQUFHLENBQUE7S0E0QjVDO0lBMUJDLElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQTtJQUN0QyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUztZQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUI7WUFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUNoQyxDQUFBO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFZLEVBQUUsR0FBUTtRQUNwQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFZLEVBQUUsS0FBYTtRQUNwQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBWSxFQUFFLElBQVk7UUFDeEMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3ZCLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3JDLENBQUM7K0dBN0JVLGdDQUFnQzttR0FBaEMsZ0NBQWdDLDJIQVZoQztZQUNULFlBQVksQ0FBQztnQkFDWCxlQUFlO2dCQUNmLGVBQWU7Z0JBQ2YsZUFBZTtnQkFDZixvQkFBb0I7YUFDckIsQ0FBQztTQUNILDBCQzNCSCxvdUZBcUVBLDRDRGxEWSxJQUFJLDZGQUFFLGtCQUFrQiw0SEFBRSxlQUFlLDRHQUFFLGVBQWU7OzRGQVd6RCxnQ0FBZ0M7a0JBZDVDLFNBQVM7K0JBQ0Usa0NBQWtDLGNBQ2hDLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDLGFBQzFEO3dCQUNULFlBQVksQ0FBQzs0QkFDWCxlQUFlOzRCQUNmLGVBQWU7NEJBQ2YsZUFBZTs0QkFDZixvQkFBb0I7eUJBQ3JCLENBQUM7cUJBQ0g7OEJBSVEsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIE9yZ2FuaXphdGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ0ljb25Db21wb25lbnQsIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHtcbiAgbWF0RW1haWxPdXRsaW5lLFxuICBtYXRQaG9uZU91dGxpbmUsXG4gIG1hdExvY2F0aW9uT25PdXRsaW5lLFxufSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcbmltcG9ydCB7IGljb25vaXJJbnRlcm5ldCB9IGZyb20gJ0BuZy1pY29ucy9pY29ub2lyJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktaW50ZXJuYWwtbGluay1jYXJkLWNvbnRhY3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgVGh1bWJuYWlsQ29tcG9uZW50LCBOZ0ljb25Db21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBpY29ub2lySW50ZXJuZXQsXG4gICAgICBtYXRFbWFpbE91dGxpbmUsXG4gICAgICBtYXRQaG9uZU91dGxpbmUsXG4gICAgICBtYXRMb2NhdGlvbk9uT3V0bGluZSxcbiAgICB9KSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludGVybmFsLWxpbmstY2FyZC1jb250YWN0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxMaW5rQ2FyZENvbnRhY3RDb21wb25lbnQge1xuICBASW5wdXQoKSByZWNvcmQ6IENhdGFsb2dSZWNvcmRcbiAgQElucHV0KCkgc2l6ZTogJ0wnIHwgJ00nIHwgJ1MnIHwgJ1hTJyA9ICdNJ1xuXG4gIGdldCBvcmdhbml6YXRpb24oKTogT3JnYW5pemF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5yZWNvcmQub3duZXJPcmdhbml6YXRpb25cbiAgfVxuXG4gIGdldCBjb250YWN0cygpIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMucmVjb3JkLmtpbmQgPT09ICdkYXRhc2V0J1xuICAgICAgICA/IHRoaXMucmVjb3JkLmNvbnRhY3RzRm9yUmVzb3VyY2VcbiAgICAgICAgOiB0aGlzLnJlY29yZC5jb250YWN0cykgfHwgW11cbiAgICApXG4gIH1cblxuICBvcGVuRXh0ZXJuYWxVcmwoZXZlbnQ6IEV2ZW50LCB1cmw6IFVSTCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJylcbiAgfVxuXG4gIG9wZW5NYWlsdG8oZXZlbnQ6IEV2ZW50LCBlbWFpbDogc3RyaW5nKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB3aW5kb3cub3BlbihgbWFpbHRvOiR7ZW1haWx9YCwgJ19ibGFuaycpXG4gIH1cblxuICBjb3B5VG9DbGlwYm9hcmQoZXZlbnQ6IEV2ZW50LCB0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRleHQpXG4gIH1cbn1cbiIsIjxkaXZcbiAgZGF0YS1jeT1cInJlY29yZE9yZ1wiXG4gIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1ldmVubHkgYmctZ3JheS01MCByb3VuZGVkLWxnIGgtWzUzcHhdIHB4LTJcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZmxleC0xIG1pbi13LTBcIj5cbiAgICA8ZGl2IGNsYXNzPVwidy1bNDVweF0gaC1bNDVweF0gcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gc2hyaW5rLTAgbXItM1wiPlxuICAgICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgICBbdGh1bWJuYWlsVXJsXT1cInJlY29yZC5vd25lck9yZ2FuaXphdGlvbj8ubG9nb1VybD8udG9TdHJpbmcoKSB8fCAnJ1wiXG4gICAgICAgIFtmaXRdPVwiJ2NvbnRhaW4nXCJcbiAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIHJvdW5kZWQtbGdcIlxuICAgICAgPjwvZ24tdWktdGh1bWJuYWlsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJvcmdhbml6YXRpb24/Lm5hbWVcIiBjbGFzcz1cImZsZXgtMSB3LTAgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGV4dC14cyB0ZXh0LWJsYWNrIGZvbnQtbm9ybWFsIGxlYWRpbmctdGlnaHQgdHJ1bmNhdGVcIlxuICAgICAgICB0cmFuc2xhdGVcbiAgICAgID5cbiAgICAgICAgcmVjb3JkLmNhcmQubWV0YWRhdGEuY29udGFjdFxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGRhdGEtY3k9XCJyZWNvcmRPcmdOYW1lXCJcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXhsIHRleHQtcHJpbWFyeS1ibGFjayBmb250LW1lZGl1bSB0cnVuY2F0ZVwiXG4gICAgICA+XG4gICAgICAgIHt7IG9yZ2FuaXphdGlvbi5uYW1lIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJzaXplID09PSAnTCdcIiBjbGFzcz1cIm1sLTIgZmxleCBzcGFjZS14LTJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwib3JnYW5pemF0aW9uPy53ZWJzaXRlXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFt0aXRsZV09XCJvcmdhbml6YXRpb24ud2Vic2l0ZVwiXG4gICAgICAgIGNsYXNzPVwidy1bNDBweF0gaC1bMzJweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLVsjRDREM0Q3XSBweC1bOHB4XSBweS1bNHB4XSBob3ZlcjpiZy1wcmltYXJ5LWxpZ2h0ZXN0XCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5FeHRlcm5hbFVybCgkZXZlbnQsIG9yZ2FuaXphdGlvbi53ZWJzaXRlKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1pY29uIG5hbWU9XCJpY29ub2lySW50ZXJuZXRcIj48L25nLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LmVtYWlsXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFt0aXRsZV09XCJjb250YWN0c1swXS5lbWFpbFwiXG4gICAgICAgIGNsYXNzPVwidy1bNDBweF0gaC1bMzJweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLVsjRDREM0Q3XSBweC1bOHB4XSBweS1bNHB4XSBob3ZlcjpiZy1wcmltYXJ5LWxpZ2h0ZXN0XCJcbiAgICAgICAgZGF0YS1jeT1cImNvbnRhY3QtZW1haWxcIlxuICAgICAgICAoY2xpY2spPVwib3Blbk1haWx0bygkZXZlbnQsIGNvbnRhY3RzWzBdLmVtYWlsKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRFbWFpbE91dGxpbmVcIj48L25nLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdHNbMF0/LnBob25lXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFt0aXRsZV09XCInQ29weSB0byBjbGlwYm9hcmQnXCJcbiAgICAgICAgY2xhc3M9XCJ3LVs0MHB4XSBoLVszMnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNENEQzRDddIHB4LVs4cHhdIHB5LVs0cHhdIGhvdmVyOmJnLXByaW1hcnktbGlnaHRlc3QgcmVsYXRpdmUgZ3JvdXBcIlxuICAgICAgICBkYXRhLWN5PVwiY29udGFjdC1waG9uZVwiXG4gICAgICAgIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoJGV2ZW50LCBjb250YWN0c1swXS5waG9uZSlcIlxuICAgICAgPlxuICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0UGhvbmVPdXRsaW5lXCI+PC9uZy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImNvbnRhY3RzWzBdPy5hZGRyZXNzXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFt0aXRsZV09XCInQ29weSB0byBjbGlwYm9hcmQnXCJcbiAgICAgICAgY2xhc3M9XCJ3LVs0MHB4XSBoLVszMnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNENEQzRDddIHB4LVs4cHhdIHB5LVs0cHhdIGhvdmVyOmJnLXByaW1hcnktbGlnaHRlc3QgcmVsYXRpdmUgZ3JvdXBcIlxuICAgICAgICBkYXRhLWN5PVwiY29udGFjdC1waG9uZVwiXG4gICAgICAgIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoJGV2ZW50LCBjb250YWN0c1swXS5hZGRyZXNzKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRMb2NhdGlvbk9uT3V0bGluZVwiPjwvbmctaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -5,14 +5,17 @@ import { NgIconComponent, provideIcons } from '@ng-icons/core';
5
5
  import { iconoirNavArrowDown, iconoirNavArrowUp } from '@ng-icons/iconoir';
6
6
  import { TranslateModule } from '@ngx-translate/core';
7
7
  import { marker } from '@biesbjerg/ngx-translate-extract-marker';
8
+ import { of } from 'rxjs';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@angular/common";
10
11
  import * as i2 from "@ngx-translate/core";
11
- marker('editor.record.lock.reason');
12
- marker('editor.record.lock.format');
12
+ marker('editor.record.lock.resourceType');
13
+ marker('editor.record.lock.harvested');
14
+ marker('editor.record.lock.owner');
13
15
  export class InteractiveTableComponent {
14
16
  constructor() {
15
17
  this.items = [];
18
+ this.canEditItem = () => of(true);
16
19
  this.isDraftPage = false;
17
20
  this.itemClick = new EventEmitter();
18
21
  }
@@ -28,11 +31,16 @@ export class InteractiveTableComponent {
28
31
  };
29
32
  }
30
33
  getItemTitle(item) {
31
- if (!item.extras?.edit && !this.isDraftPage && item.kind === 'dataset') {
32
- return 'editor.record.lock.reason';
33
- }
34
- else if (item.kind !== 'dataset') {
35
- return 'editor.record.lock.format';
34
+ if (!this.isDraftPage) {
35
+ if (item.kind !== 'dataset') {
36
+ return 'editor.record.lock.resourceType';
37
+ }
38
+ else if (item.extras?.isHarvested) {
39
+ return 'editor.record.lock.harvested';
40
+ }
41
+ else if (!item.extras?.edit) {
42
+ return 'editor.record.lock.owner';
43
+ }
36
44
  }
37
45
  return '';
38
46
  }
@@ -40,19 +48,21 @@ export class InteractiveTableComponent {
40
48
  this.itemClick.emit(item);
41
49
  }
42
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InteractiveTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InteractiveTableComponent, isStandalone: true, selector: "gn-ui-interactive-table", inputs: { items: "items", isDraftPage: "isDraftPage" }, outputs: { itemClick: "itemClick" }, providers: [provideIcons({ iconoirNavArrowDown, iconoirNavArrowUp })], queries: [{ propertyName: "columns", predicate: InteractiveTableColumnComponent }], ngImport: i0, template: "<div class=\"grid w-full\" [ngStyle]=\"gridStyle\">\n <div class=\"contents w-full\">\n <ng-container *ngFor=\"let column of columns\">\n <button\n *ngIf=\"column.sortable\"\n type=\"button\"\n class=\"table-header-cell gap-1\"\n (click)=\"column.sortable && column.handleSortChange()\"\n >\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n <div class=\"sort-button flex flex-col\" *ngIf=\"column.sortable\">\n <ng-icon\n class=\"text-gray-600 -mb-2\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'asc' }\"\n name=\"iconoirNavArrowUp\"\n ></ng-icon>\n <ng-icon\n class=\"text-gray-600\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'desc' }\"\n name=\"iconoirNavArrowDown\"\n ></ng-icon>\n </div>\n </button>\n <div *ngIf=\"!column.sortable\" class=\"table-header-cell\">\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n </div>\n </ng-container>\n </div>\n <div\n class=\"contents text-gray-900 cursor-pointer group\"\n *ngFor=\"let item of items\"\n (click)=\"handleRowClick(item)\"\n data-cy=\"table-row\"\n [title]=\"getItemTitle(item) | translate\"\n >\n <div\n class=\"relative h-0\"\n [ngStyle]=\"{ 'grid-column': 'span ' + this.columns.length }\"\n >\n <!-- this element is only used in keyboard navigation -->\n <button\n type=\"button\"\n class=\"absolute inset-x-0 h-[50px] bg-transparent pointer-events-none\"\n ></button>\n </div>\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"table-row-cell px-3 py-1.5 flex items-center bg-white transition-colors duration-75 truncate border-b border-gray-200\"\n [ngClass]=\"{\n 'text-purple-light cursor-default':\n (!item.extras?.edit && !isDraftPage) || item.kind !== 'dataset',\n 'group-hover:text-main group-hover:bg-gray-50':\n (item.extras?.edit || isDraftPage) && item.kind === 'dataset',\n }\"\n >\n <ng-container\n *ngTemplateOutlet=\"column.cell; context: { $implicit: item }\"\n ></ng-container>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".table-header-cell{@apply text-gray-700 px-3 py-3 flex items-center truncate bg-white;}button.table-header-cell{@apply transition-colors duration-75 hover:text-main hover:bg-gray-50 focus:text-main focus:bg-gray-50;}ng-icon{@apply w-4 h-4;}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InteractiveTableComponent, isStandalone: true, selector: "gn-ui-interactive-table", inputs: { items: "items", canEditItem: "canEditItem", isDraftPage: "isDraftPage" }, outputs: { itemClick: "itemClick" }, providers: [provideIcons({ iconoirNavArrowDown, iconoirNavArrowUp })], queries: [{ propertyName: "columns", predicate: InteractiveTableColumnComponent }], ngImport: i0, template: "<div class=\"grid w-full\" [ngStyle]=\"gridStyle\">\n <div class=\"contents w-full\">\n <ng-container *ngFor=\"let column of columns\">\n <button\n *ngIf=\"column.sortable\"\n type=\"button\"\n class=\"table-header-cell gap-1\"\n (click)=\"column.sortable && column.handleSortChange()\"\n >\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n <div class=\"sort-button flex flex-col\" *ngIf=\"column.sortable\">\n <ng-icon\n class=\"text-gray-600 -mb-2\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'asc' }\"\n name=\"iconoirNavArrowUp\"\n ></ng-icon>\n <ng-icon\n class=\"text-gray-600\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'desc' }\"\n name=\"iconoirNavArrowDown\"\n ></ng-icon>\n </div>\n </button>\n <div *ngIf=\"!column.sortable\" class=\"table-header-cell\">\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n </div>\n </ng-container>\n </div>\n <div\n class=\"contents text-gray-900 cursor-pointer group\"\n *ngFor=\"let item of items\"\n (click)=\"handleRowClick(item)\"\n data-cy=\"table-row\"\n [attr.data-cy-title]=\"item.title\"\n [title]=\"getItemTitle(item) | translate\"\n >\n <div\n class=\"relative h-0\"\n [ngStyle]=\"{ 'grid-column': 'span ' + this.columns.length }\"\n >\n <!-- this element is only used in keyboard navigation -->\n <button\n type=\"button\"\n class=\"absolute inset-x-0 h-[50px] bg-transparent pointer-events-none\"\n ></button>\n </div>\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"table-row-cell px-3 py-1.5 flex items-center bg-white transition-colors duration-75 truncate border-b border-gray-200\"\n [ngClass]=\"{\n 'text-purple-light cursor-default':\n (canEditItem(item) | async) === false,\n 'group-hover:text-main group-hover:bg-gray-50':\n canEditItem(item) | async,\n }\"\n >\n <ng-container\n *ngTemplateOutlet=\"column.cell; context: { $implicit: item }\"\n ></ng-container>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".table-header-cell{@apply text-gray-700 px-3 py-3 flex items-center truncate bg-white;}button.table-header-cell{@apply transition-colors duration-75 hover:text-main hover:bg-gray-50 focus:text-main focus:bg-gray-50;}ng-icon{@apply w-4 h-4;}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
52
  }
45
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InteractiveTableComponent, decorators: [{
46
54
  type: Component,
47
- args: [{ selector: 'gn-ui-interactive-table', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIconComponent, TranslateModule], providers: [provideIcons({ iconoirNavArrowDown, iconoirNavArrowUp })], template: "<div class=\"grid w-full\" [ngStyle]=\"gridStyle\">\n <div class=\"contents w-full\">\n <ng-container *ngFor=\"let column of columns\">\n <button\n *ngIf=\"column.sortable\"\n type=\"button\"\n class=\"table-header-cell gap-1\"\n (click)=\"column.sortable && column.handleSortChange()\"\n >\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n <div class=\"sort-button flex flex-col\" *ngIf=\"column.sortable\">\n <ng-icon\n class=\"text-gray-600 -mb-2\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'asc' }\"\n name=\"iconoirNavArrowUp\"\n ></ng-icon>\n <ng-icon\n class=\"text-gray-600\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'desc' }\"\n name=\"iconoirNavArrowDown\"\n ></ng-icon>\n </div>\n </button>\n <div *ngIf=\"!column.sortable\" class=\"table-header-cell\">\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n </div>\n </ng-container>\n </div>\n <div\n class=\"contents text-gray-900 cursor-pointer group\"\n *ngFor=\"let item of items\"\n (click)=\"handleRowClick(item)\"\n data-cy=\"table-row\"\n [title]=\"getItemTitle(item) | translate\"\n >\n <div\n class=\"relative h-0\"\n [ngStyle]=\"{ 'grid-column': 'span ' + this.columns.length }\"\n >\n <!-- this element is only used in keyboard navigation -->\n <button\n type=\"button\"\n class=\"absolute inset-x-0 h-[50px] bg-transparent pointer-events-none\"\n ></button>\n </div>\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"table-row-cell px-3 py-1.5 flex items-center bg-white transition-colors duration-75 truncate border-b border-gray-200\"\n [ngClass]=\"{\n 'text-purple-light cursor-default':\n (!item.extras?.edit && !isDraftPage) || item.kind !== 'dataset',\n 'group-hover:text-main group-hover:bg-gray-50':\n (item.extras?.edit || isDraftPage) && item.kind === 'dataset',\n }\"\n >\n <ng-container\n *ngTemplateOutlet=\"column.cell; context: { $implicit: item }\"\n ></ng-container>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".table-header-cell{@apply text-gray-700 px-3 py-3 flex items-center truncate bg-white;}button.table-header-cell{@apply transition-colors duration-75 hover:text-main hover:bg-gray-50 focus:text-main focus:bg-gray-50;}ng-icon{@apply w-4 h-4;}\n"] }]
55
+ args: [{ selector: 'gn-ui-interactive-table', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIconComponent, TranslateModule], providers: [provideIcons({ iconoirNavArrowDown, iconoirNavArrowUp })], template: "<div class=\"grid w-full\" [ngStyle]=\"gridStyle\">\n <div class=\"contents w-full\">\n <ng-container *ngFor=\"let column of columns\">\n <button\n *ngIf=\"column.sortable\"\n type=\"button\"\n class=\"table-header-cell gap-1\"\n (click)=\"column.sortable && column.handleSortChange()\"\n >\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n <div class=\"sort-button flex flex-col\" *ngIf=\"column.sortable\">\n <ng-icon\n class=\"text-gray-600 -mb-2\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'asc' }\"\n name=\"iconoirNavArrowUp\"\n ></ng-icon>\n <ng-icon\n class=\"text-gray-600\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'desc' }\"\n name=\"iconoirNavArrowDown\"\n ></ng-icon>\n </div>\n </button>\n <div *ngIf=\"!column.sortable\" class=\"table-header-cell\">\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n </div>\n </ng-container>\n </div>\n <div\n class=\"contents text-gray-900 cursor-pointer group\"\n *ngFor=\"let item of items\"\n (click)=\"handleRowClick(item)\"\n data-cy=\"table-row\"\n [attr.data-cy-title]=\"item.title\"\n [title]=\"getItemTitle(item) | translate\"\n >\n <div\n class=\"relative h-0\"\n [ngStyle]=\"{ 'grid-column': 'span ' + this.columns.length }\"\n >\n <!-- this element is only used in keyboard navigation -->\n <button\n type=\"button\"\n class=\"absolute inset-x-0 h-[50px] bg-transparent pointer-events-none\"\n ></button>\n </div>\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"table-row-cell px-3 py-1.5 flex items-center bg-white transition-colors duration-75 truncate border-b border-gray-200\"\n [ngClass]=\"{\n 'text-purple-light cursor-default':\n (canEditItem(item) | async) === false,\n 'group-hover:text-main group-hover:bg-gray-50':\n canEditItem(item) | async,\n }\"\n >\n <ng-container\n *ngTemplateOutlet=\"column.cell; context: { $implicit: item }\"\n ></ng-container>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".table-header-cell{@apply text-gray-700 px-3 py-3 flex items-center truncate bg-white;}button.table-header-cell{@apply transition-colors duration-75 hover:text-main hover:bg-gray-50 focus:text-main focus:bg-gray-50;}ng-icon{@apply w-4 h-4;}\n"] }]
48
56
  }], propDecorators: { columns: [{
49
57
  type: ContentChildren,
50
58
  args: [InteractiveTableColumnComponent]
51
59
  }], items: [{
52
60
  type: Input
61
+ }], canEditItem: [{
62
+ type: Input
53
63
  }], isDraftPage: [{
54
64
  type: Input
55
65
  }], itemClick: [{
56
66
  type: Output
57
67
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjL2xpYi9pbnRlcmFjdGl2ZS10YWJsZS9pbnRlcmFjdGl2ZS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvbGliL2ludGVyYWN0aXZlLXRhYmxlL2ludGVyYWN0aXZlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0RBQStELENBQUE7QUFDL0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTs7OztBQUdoRSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtBQUNuQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtBQVVuQyxNQUFNLE9BQU8seUJBQXlCO0lBVHRDO1FBYVcsVUFBSyxHQUFjLEVBQUUsQ0FBQTtRQUNyQixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUNsQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQTRCbEQ7SUExQkMsSUFBSSxTQUFTO1FBQ1gsT0FBTztZQUNMLHVCQUF1QixFQUFFLElBQUksQ0FBQyxPQUFPO2lCQUNsQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNkLE1BQU0sQ0FBQyxLQUFLO2dCQUNWLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSztnQkFDZCxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUk7b0JBQ1gsQ0FBQyxDQUFDLGlCQUFpQjtvQkFDbkIsQ0FBQyxDQUFDLHlCQUF5QixDQUNoQztpQkFDQSxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2IsQ0FBQTtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsSUFBbUI7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZFLE9BQU8sMkJBQTJCLENBQUE7UUFDcEMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxPQUFPLDJCQUEyQixDQUFBO1FBQ3BDLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBYTtRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMzQixDQUFDOytHQWpDVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixtS0FGekIsQ0FBQyxZQUFZLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUMsa0RBR3BELCtCQUErQiw2QkM3QmxELG15RUE4REEsMlNEckNZLFlBQVksMGxCQUFFLGVBQWUsNEdBQUUsZUFBZTs7NEZBRzdDLHlCQUF5QjtrQkFUckMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUMsYUFDOUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7OEJBSXJFLE9BQU87c0JBRE4sZUFBZTt1QkFBQywrQkFBK0I7Z0JBR3ZDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgSW50ZXJhY3RpdmVUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ0ljb25Db21wb25lbnQsIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgaWNvbm9pck5hdkFycm93RG93biwgaWNvbm9pck5hdkFycm93VXAgfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBDYXRhbG9nUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQubG9jay5yZWFzb24nKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmxvY2suZm9ybWF0JylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWludGVyYWN0aXZlLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludGVyYWN0aXZlLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW50ZXJhY3RpdmUtdGFibGUuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdJY29uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtwcm92aWRlSWNvbnMoeyBpY29ub2lyTmF2QXJyb3dEb3duLCBpY29ub2lyTmF2QXJyb3dVcCB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aXZlVGFibGVDb21wb25lbnQge1xuICBAQ29udGVudENoaWxkcmVuKEludGVyYWN0aXZlVGFibGVDb2x1bW5Db21wb25lbnQpXG4gIGNvbHVtbnM6IFF1ZXJ5TGlzdDxJbnRlcmFjdGl2ZVRhYmxlQ29sdW1uQ29tcG9uZW50PlxuXG4gIEBJbnB1dCgpIGl0ZW1zOiB1bmtub3duW10gPSBbXVxuICBASW5wdXQoKSBpc0RyYWZ0UGFnZSA9IGZhbHNlXG4gIEBPdXRwdXQoKSBpdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KClcblxuICBnZXQgZ3JpZFN0eWxlKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJzogdGhpcy5jb2x1bW5zXG4gICAgICAgIC5tYXAoKGNvbHVtbikgPT5cbiAgICAgICAgICBjb2x1bW4ud2lkdGhcbiAgICAgICAgICAgID8gY29sdW1uLndpZHRoXG4gICAgICAgICAgICA6IGNvbHVtbi5ncm93XG4gICAgICAgICAgICAgID8gYG1pbm1heCgwcHgsMWZyKWBcbiAgICAgICAgICAgICAgOiBgbWlubWF4KDBweCxtYXgtY29udGVudClgXG4gICAgICAgIClcbiAgICAgICAgLmpvaW4oJyAnKSxcbiAgICB9XG4gIH1cblxuICBnZXRJdGVtVGl0bGUoaXRlbTogQ2F0YWxvZ1JlY29yZCkge1xuICAgIGlmICghaXRlbS5leHRyYXM/LmVkaXQgJiYgIXRoaXMuaXNEcmFmdFBhZ2UgJiYgaXRlbS5raW5kID09PSAnZGF0YXNldCcpIHtcbiAgICAgIHJldHVybiAnZWRpdG9yLnJlY29yZC5sb2NrLnJlYXNvbidcbiAgICB9IGVsc2UgaWYgKGl0ZW0ua2luZCAhPT0gJ2RhdGFzZXQnKSB7XG4gICAgICByZXR1cm4gJ2VkaXRvci5yZWNvcmQubG9jay5mb3JtYXQnXG4gICAgfVxuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgaGFuZGxlUm93Q2xpY2soaXRlbTogdW5rbm93bikge1xuICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdyaWQgdy1mdWxsXCIgW25nU3R5bGVdPVwiZ3JpZFN0eWxlXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50cyB3LWZ1bGxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImNvbHVtbi5zb3J0YWJsZVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInRhYmxlLWhlYWRlci1jZWxsIGdhcC0xXCJcbiAgICAgICAgKGNsaWNrKT1cImNvbHVtbi5zb3J0YWJsZSAmJiBjb2x1bW4uaGFuZGxlU29ydENoYW5nZSgpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbi5oZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtYnV0dG9uIGZsZXggZmxleC1jb2xcIiAqbmdJZj1cImNvbHVtbi5zb3J0YWJsZVwiPlxuICAgICAgICAgIDxuZy1pY29uXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtZ3JheS02MDAgLW1iLTJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAndGV4dC1tYWluJzogY29sdW1uLmFjdGl2ZVNvcnQgPT09ICdhc2MnIH1cIlxuICAgICAgICAgICAgbmFtZT1cImljb25vaXJOYXZBcnJvd1VwXCJcbiAgICAgICAgICA+PC9uZy1pY29uPlxuICAgICAgICAgIDxuZy1pY29uXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtZ3JheS02MDBcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAndGV4dC1tYWluJzogY29sdW1uLmFjdGl2ZVNvcnQgPT09ICdkZXNjJyB9XCJcbiAgICAgICAgICAgIG5hbWU9XCJpY29ub2lyTmF2QXJyb3dEb3duXCJcbiAgICAgICAgICA+PC9uZy1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdiAqbmdJZj1cIiFjb2x1bW4uc29ydGFibGVcIiBjbGFzcz1cInRhYmxlLWhlYWRlci1jZWxsXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW4uaGVhZGVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNvbnRlbnRzIHRleHQtZ3JheS05MDAgY3Vyc29yLXBvaW50ZXIgZ3JvdXBcIlxuICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlUm93Q2xpY2soaXRlbSlcIlxuICAgIGRhdGEtY3k9XCJ0YWJsZS1yb3dcIlxuICAgIFt0aXRsZV09XCJnZXRJdGVtVGl0bGUoaXRlbSkgfCB0cmFuc2xhdGVcIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJyZWxhdGl2ZSBoLTBcIlxuICAgICAgW25nU3R5bGVdPVwieyAnZ3JpZC1jb2x1bW4nOiAnc3BhbiAnICsgdGhpcy5jb2x1bW5zLmxlbmd0aCB9XCJcbiAgICA+XG4gICAgICA8IS0tIHRoaXMgZWxlbWVudCBpcyBvbmx5IHVzZWQgaW4ga2V5Ym9hcmQgbmF2aWdhdGlvbiAtLT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQteC0wIGgtWzUwcHhdIGJnLXRyYW5zcGFyZW50IHBvaW50ZXItZXZlbnRzLW5vbmVcIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGFibGUtcm93LWNlbGwgcHgtMyBweS0xLjUgZmxleCBpdGVtcy1jZW50ZXIgYmctd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tNzUgdHJ1bmNhdGUgYm9yZGVyLWIgYm9yZGVyLWdyYXktMjAwXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICd0ZXh0LXB1cnBsZS1saWdodCBjdXJzb3ItZGVmYXVsdCc6XG4gICAgICAgICAgICAoIWl0ZW0uZXh0cmFzPy5lZGl0ICYmICFpc0RyYWZ0UGFnZSkgfHwgaXRlbS5raW5kICE9PSAnZGF0YXNldCcsXG4gICAgICAgICAgJ2dyb3VwLWhvdmVyOnRleHQtbWFpbiBncm91cC1ob3ZlcjpiZy1ncmF5LTUwJzpcbiAgICAgICAgICAgIChpdGVtLmV4dHJhcz8uZWRpdCB8fCBpc0RyYWZ0UGFnZSkgJiYgaXRlbS5raW5kID09PSAnZGF0YXNldCcsXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW4uY2VsbDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjL2xpYi9pbnRlcmFjdGl2ZS10YWJsZS9pbnRlcmFjdGl2ZS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvbGliL2ludGVyYWN0aXZlLXRhYmxlL2ludGVyYWN0aXZlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0RBQStELENBQUE7QUFDL0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUVoRSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBOzs7O0FBRXJDLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO0FBQ3pDLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO0FBQ3RDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0FBVWxDLE1BQU0sT0FBTyx5QkFBeUI7SUFUdEM7UUFhVyxVQUFLLEdBQWMsRUFBRSxDQUFBO1FBQ3JCLGdCQUFXLEdBQTJDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNwRSxnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUNsQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQWdDbEQ7SUE5QkMsSUFBSSxTQUFTO1FBQ1gsT0FBTztZQUNMLHVCQUF1QixFQUFFLElBQUksQ0FBQyxPQUFPO2lCQUNsQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNkLE1BQU0sQ0FBQyxLQUFLO2dCQUNWLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSztnQkFDZCxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUk7b0JBQ1gsQ0FBQyxDQUFDLGlCQUFpQjtvQkFDbkIsQ0FBQyxDQUFDLHlCQUF5QixDQUNoQztpQkFDQSxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2IsQ0FBQTtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsSUFBbUI7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQzVCLE9BQU8saUNBQWlDLENBQUE7WUFDMUMsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sOEJBQThCLENBQUE7WUFDdkMsQ0FBQztpQkFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDOUIsT0FBTywwQkFBMEIsQ0FBQTtZQUNuQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzNCLENBQUM7K0dBdENVLHlCQUF5QjttR0FBekIseUJBQXlCLCtMQUZ6QixDQUFDLFlBQVksQ0FBQyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxrREFHcEQsK0JBQStCLDZCQy9CbEQsOHdFQStEQSwyU0RwQ1ksWUFBWSwrb0JBQUUsZUFBZSw0R0FBRSxlQUFlOzs0RkFHN0MseUJBQXlCO2tCQVRyQyxTQUFTOytCQUNFLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxhQUM5QyxDQUFDLFlBQVksQ0FBQyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQzs4QkFJckUsT0FBTztzQkFETixlQUFlO3VCQUFDLCtCQUErQjtnQkFHdkMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEludGVyYWN0aXZlVGFibGVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi9pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4uY29tcG9uZW50J1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdJY29uQ29tcG9uZW50LCBwcm92aWRlSWNvbnMgfSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IGljb25vaXJOYXZBcnJvd0Rvd24sIGljb25vaXJOYXZBcnJvd1VwIH0gZnJvbSAnQG5nLWljb25zL2ljb25vaXInXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcydcblxubWFya2VyKCdlZGl0b3IucmVjb3JkLmxvY2sucmVzb3VyY2VUeXBlJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5sb2NrLmhhcnZlc3RlZCcpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQubG9jay5vd25lcicpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1pbnRlcmFjdGl2ZS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnRlcmFjdGl2ZS10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ludGVyYWN0aXZlLXRhYmxlLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nSWNvbkNvbXBvbmVudCwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZUljb25zKHsgaWNvbm9pck5hdkFycm93RG93biwgaWNvbm9pck5hdkFycm93VXAgfSldLFxufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGl2ZVRhYmxlQ29tcG9uZW50IHtcbiAgQENvbnRlbnRDaGlsZHJlbihJbnRlcmFjdGl2ZVRhYmxlQ29sdW1uQ29tcG9uZW50KVxuICBjb2x1bW5zOiBRdWVyeUxpc3Q8SW50ZXJhY3RpdmVUYWJsZUNvbHVtbkNvbXBvbmVudD5cblxuICBASW5wdXQoKSBpdGVtczogdW5rbm93bltdID0gW11cbiAgQElucHV0KCkgY2FuRWRpdEl0ZW06IChpdGVtOiB1bmtub3duKSA9PiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gKCkgPT4gb2YodHJ1ZSlcbiAgQElucHV0KCkgaXNEcmFmdFBhZ2UgPSBmYWxzZVxuICBAT3V0cHV0KCkgaXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpXG5cbiAgZ2V0IGdyaWRTdHlsZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucyc6IHRoaXMuY29sdW1uc1xuICAgICAgICAubWFwKChjb2x1bW4pID0+XG4gICAgICAgICAgY29sdW1uLndpZHRoXG4gICAgICAgICAgICA/IGNvbHVtbi53aWR0aFxuICAgICAgICAgICAgOiBjb2x1bW4uZ3Jvd1xuICAgICAgICAgICAgICA/IGBtaW5tYXgoMHB4LDFmcilgXG4gICAgICAgICAgICAgIDogYG1pbm1heCgwcHgsbWF4LWNvbnRlbnQpYFxuICAgICAgICApXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgfVxuICB9XG5cbiAgZ2V0SXRlbVRpdGxlKGl0ZW06IENhdGFsb2dSZWNvcmQpIHtcbiAgICBpZiAoIXRoaXMuaXNEcmFmdFBhZ2UpIHtcbiAgICAgIGlmIChpdGVtLmtpbmQgIT09ICdkYXRhc2V0Jykge1xuICAgICAgICByZXR1cm4gJ2VkaXRvci5yZWNvcmQubG9jay5yZXNvdXJjZVR5cGUnXG4gICAgICB9IGVsc2UgaWYgKGl0ZW0uZXh0cmFzPy5pc0hhcnZlc3RlZCkge1xuICAgICAgICByZXR1cm4gJ2VkaXRvci5yZWNvcmQubG9jay5oYXJ2ZXN0ZWQnXG4gICAgICB9IGVsc2UgaWYgKCFpdGVtLmV4dHJhcz8uZWRpdCkge1xuICAgICAgICByZXR1cm4gJ2VkaXRvci5yZWNvcmQubG9jay5vd25lcidcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBoYW5kbGVSb3dDbGljayhpdGVtOiB1bmtub3duKSB7XG4gICAgdGhpcy5pdGVtQ2xpY2suZW1pdChpdGVtKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ3JpZCB3LWZ1bGxcIiBbbmdTdHlsZV09XCJncmlkU3R5bGVcIj5cbiAgPGRpdiBjbGFzcz1cImNvbnRlbnRzIHctZnVsbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiY29sdW1uLnNvcnRhYmxlXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidGFibGUtaGVhZGVyLWNlbGwgZ2FwLTFcIlxuICAgICAgICAoY2xpY2spPVwiY29sdW1uLnNvcnRhYmxlICYmIGNvbHVtbi5oYW5kbGVTb3J0Q2hhbmdlKClcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uLmhlYWRlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic29ydC1idXR0b24gZmxleCBmbGV4LWNvbFwiICpuZ0lmPVwiY29sdW1uLnNvcnRhYmxlXCI+XG4gICAgICAgICAgPG5nLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1ncmF5LTYwMCAtbWItMlwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICd0ZXh0LW1haW4nOiBjb2x1bW4uYWN0aXZlU29ydCA9PT0gJ2FzYycgfVwiXG4gICAgICAgICAgICBuYW1lPVwiaWNvbm9pck5hdkFycm93VXBcIlxuICAgICAgICAgID48L25nLWljb24+XG4gICAgICAgICAgPG5nLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1ncmF5LTYwMFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICd0ZXh0LW1haW4nOiBjb2x1bW4uYWN0aXZlU29ydCA9PT0gJ2Rlc2MnIH1cIlxuICAgICAgICAgICAgbmFtZT1cImljb25vaXJOYXZBcnJvd0Rvd25cIlxuICAgICAgICAgID48L25nLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWNvbHVtbi5zb3J0YWJsZVwiIGNsYXNzPVwidGFibGUtaGVhZGVyLWNlbGxcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbi5oZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY29udGVudHMgdGV4dC1ncmF5LTkwMCBjdXJzb3ItcG9pbnRlciBncm91cFwiXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgIChjbGljayk9XCJoYW5kbGVSb3dDbGljayhpdGVtKVwiXG4gICAgZGF0YS1jeT1cInRhYmxlLXJvd1wiXG4gICAgW2F0dHIuZGF0YS1jeS10aXRsZV09XCJpdGVtLnRpdGxlXCJcbiAgICBbdGl0bGVdPVwiZ2V0SXRlbVRpdGxlKGl0ZW0pIHwgdHJhbnNsYXRlXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwicmVsYXRpdmUgaC0wXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsgJ2dyaWQtY29sdW1uJzogJ3NwYW4gJyArIHRoaXMuY29sdW1ucy5sZW5ndGggfVwiXG4gICAgPlxuICAgICAgPCEtLSB0aGlzIGVsZW1lbnQgaXMgb25seSB1c2VkIGluIGtleWJvYXJkIG5hdmlnYXRpb24gLS0+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImFic29sdXRlIGluc2V0LXgtMCBoLVs1MHB4XSBiZy10cmFuc3BhcmVudCBwb2ludGVyLWV2ZW50cy1ub25lXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInRhYmxlLXJvdy1jZWxsIHB4LTMgcHktMS41IGZsZXggaXRlbXMtY2VudGVyIGJnLXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTc1IHRydW5jYXRlIGJvcmRlci1iIGJvcmRlci1ncmF5LTIwMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAndGV4dC1wdXJwbGUtbGlnaHQgY3Vyc29yLWRlZmF1bHQnOlxuICAgICAgICAgICAgKGNhbkVkaXRJdGVtKGl0ZW0pIHwgYXN5bmMpID09PSBmYWxzZSxcbiAgICAgICAgICAnZ3JvdXAtaG92ZXI6dGV4dC1tYWluIGdyb3VwLWhvdmVyOmJnLWdyYXktNTAnOlxuICAgICAgICAgICAgY2FuRWRpdEl0ZW0oaXRlbSkgfCBhc3luYyxcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbi5jZWxsOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -19,4 +19,5 @@ export * from './lib/results-list-item/results-list-item.component';
19
19
  export * from './lib/results-hits-search-kind/results-hits-search-kind.component';
20
20
  export * from './lib/results-hits-number/results-hits-number.component';
21
21
  export * from './lib/results-table/results-table.component';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksSUFBSSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMzRSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsOENBQThDLENBQUE7QUFDNUQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYywyREFBMkQsQ0FBQTtBQUN6RSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsNkNBQTZDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGYWNldHNNb2R1bGUgYXMgVWlGYWNldHNNb2R1bGUgfSBmcm9tICcuL2xpYi9mYWNldHMvZmFjZXRzLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldHMubW9kZWwnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWNldHMvZml4dHVyZXMnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWNldHMvZmFjZXQtYmxvY2svZmFjZXQtYmxvY2suY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0LWxpc3QvZmFjZXQtbGlzdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWNldHMvZmFjZXQtaXRlbS9mYWNldC1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXNlYXJjaC5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWxpc3QvcmVzdWx0cy1sYXlvdXQuY29uZmlnJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy1saXN0L3Jlc3VsdHMtbGlzdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy9yZWNvcmQtcHJldmlldy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy1mZWVkL3JlY29yZC1wcmV2aWV3LWZlZWQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctcm93L3JlY29yZC1wcmV2aWV3LXJvdy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy1jYXJkL3JlY29yZC1wcmV2aWV3LWNhcmQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctbGlzdC9yZWNvcmQtcHJldmlldy1saXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LXRleHQvcmVjb3JkLXByZXZpZXctdGV4dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy10aXRsZS9yZWNvcmQtcHJldmlldy10aXRsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtbWV0cmljL3JlY29yZC1tZXRyaWMuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy1saXN0LWl0ZW0vcmVzdWx0cy1saXN0LWl0ZW0uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy1oaXRzLXNlYXJjaC1raW5kL3Jlc3VsdHMtaGl0cy1zZWFyY2gta2luZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWhpdHMtbnVtYmVyL3Jlc3VsdHMtaGl0cy1udW1iZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy10YWJsZS9yZXN1bHRzLXRhYmxlLmNvbXBvbmVudCdcbiJdfQ==
22
+ export * from './lib/results-table/action-menu/action-menu.component';
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksSUFBSSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMzRSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsOENBQThDLENBQUE7QUFDNUQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYywyREFBMkQsQ0FBQTtBQUN6RSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyx1REFBdUQsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZhY2V0c01vZHVsZSBhcyBVaUZhY2V0c01vZHVsZSB9IGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldHMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0cy5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9maXh0dXJlcydcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldC1ibG9jay9mYWNldC1ibG9jay5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWNldHMvZmFjZXQtbGlzdC9mYWNldC1saXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldC1pdGVtL2ZhY2V0LWl0ZW0uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktc2VhcmNoLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxheW91dC5jb25maWcnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWxpc3QvcmVzdWx0cy1saXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3L3JlY29yZC1wcmV2aWV3LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LWZlZWQvcmVjb3JkLXByZXZpZXctZmVlZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy1yb3cvcmVjb3JkLXByZXZpZXctcm93LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LWNhcmQvcmVjb3JkLXByZXZpZXctY2FyZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy1saXN0L3JlY29yZC1wcmV2aWV3LWxpc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctdGV4dC9yZWNvcmQtcHJldmlldy10ZXh0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LXRpdGxlL3JlY29yZC1wcmV2aWV3LXRpdGxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1tZXRyaWMvcmVjb3JkLW1ldHJpYy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWxpc3QtaXRlbS9yZXN1bHRzLWxpc3QtaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWhpdHMtc2VhcmNoLWtpbmQvcmVzdWx0cy1oaXRzLXNlYXJjaC1raW5kLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3VsdHMtaGl0cy1udW1iZXIvcmVzdWx0cy1oaXRzLW51bWJlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLXRhYmxlL3Jlc3VsdHMtdGFibGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzdWx0cy10YWJsZS9hY3Rpb24tbWVudS9hY3Rpb24tbWVudS5jb21wb25lbnQnXG4iXX0=