geonetwork-ui 2.6.0-dev.9df114cd4 → 2.6.0-dev.d216c4dea
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.
- package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -4
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +2 -10
- package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +2 -3
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -5
- package/esm2022/libs/feature/record/src/index.mjs +1 -2
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +5 -9
- package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +7 -11
- package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +8 -5
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -6
- package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
- package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
- package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +4 -4
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -15
- package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +26 -10
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/index.mjs +2 -1
- package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +8 -5
- package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +161 -0
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +15 -3
- package/esm2022/libs/ui/map/src/index.mjs +2 -1
- package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +79 -0
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +5 -4
- package/esm2022/libs/util/app-config/src/lib/app-config.mjs +2 -1
- package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
- package/esm2022/libs/util/shared/src/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
- package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +13 -6
- package/esm2022/translations/de.json +24 -3
- package/esm2022/translations/en.json +26 -5
- package/esm2022/translations/es.json +24 -3
- package/esm2022/translations/fr.json +24 -3
- package/esm2022/translations/it.json +24 -3
- package/esm2022/translations/nl.json +24 -3
- package/esm2022/translations/pt.json +24 -3
- package/fesm2022/geonetwork-ui.mjs +882 -451
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +2 -2
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
- package/libs/feature/record/src/index.d.ts +0 -1
- package/libs/feature/record/src/index.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +9 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +2 -2
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts +3 -1
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/constants.d.ts +2 -0
- package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
- package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/record-url.token.d.ts +3 -1
- package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
- package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +1 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +30 -0
- package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +2 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
- package/libs/ui/map/src/index.d.ts +1 -0
- package/libs/ui/map/src/index.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
- package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
- package/libs/util/shared/src/index.d.ts +1 -0
- package/libs/util/shared/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
- package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +14 -7
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -3
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +1 -9
- package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +2 -2
- package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +26 -26
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +2 -2
- package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
- package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +1 -2
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
- package/src/libs/feature/record/src/index.ts +0 -1
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -3
- package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +4 -5
- package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
- package/src/libs/feature/record/src/lib/state/mdview.effects.ts +5 -3
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +4 -7
- package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
- package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
- package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
- package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -2
- package/src/libs/feature/search/src/lib/feature-search.module.ts +0 -8
- package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +24 -5
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
- package/src/libs/ui/elements/src/index.ts +1 -0
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +1 -1
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +13 -4
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -4
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +96 -0
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +183 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +3 -7
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -0
- package/src/libs/ui/map/src/index.ts +1 -0
- package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
- package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
- package/src/libs/{feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts → ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts} +7 -8
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +7 -4
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +2 -1
- package/src/libs/util/app-config/src/lib/app-config.ts +1 -0
- package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
- package/src/libs/util/shared/src/index.ts +1 -0
- package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +12 -3
- package/src/libs/util/shared/src/lib/links/link-utils.ts +30 -12
- package/tailwind.base.css +3 -3
- package/translations/de.json +24 -3
- package/translations/en.json +26 -5
- package/translations/es.json +24 -3
- package/translations/fr.json +24 -3
- package/translations/it.json +24 -3
- package/translations/nl.json +24 -3
- package/translations/pt.json +24 -3
- package/translations/sk.json +24 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
- package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +0 -1
- package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
- package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
- package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
- /package/src/libs/{feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css → ui/elements/src/lib/service-capabilities/service-capabilities.component.css} +0 -0
|
@@ -224,14 +224,6 @@ export class ElasticsearchService {
|
|
|
224
224
|
}
|
|
225
225
|
mustNotFilters() {
|
|
226
226
|
return [
|
|
227
|
-
{
|
|
228
|
-
...this.queryFilterOnValues('resourceType', [
|
|
229
|
-
'service',
|
|
230
|
-
'map',
|
|
231
|
-
'map/static',
|
|
232
|
-
'mapDigital',
|
|
233
|
-
]),
|
|
234
|
-
},
|
|
235
227
|
{
|
|
236
228
|
query_string: {
|
|
237
229
|
query: 'resourceType:featureCatalog AND !resourceType:dataset AND !cl_level.key:dataset',
|
|
@@ -330,7 +322,7 @@ export class ElasticsearchService {
|
|
|
330
322
|
must_not: this.mustNotFilters(),
|
|
331
323
|
},
|
|
332
324
|
},
|
|
333
|
-
_source: ['resourceTitleObject', 'uuid'],
|
|
325
|
+
_source: ['resourceTitleObject', 'uuid', 'resourceType'],
|
|
334
326
|
from: 0,
|
|
335
327
|
size: 20,
|
|
336
328
|
};
|
|
@@ -512,4 +504,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
512
504
|
type: Inject,
|
|
513
505
|
args: [METADATA_LANGUAGE]
|
|
514
506
|
}] }] });
|
|
515
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY3NlYXJjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMvbGliL2duNC9lbGFzdGljc2VhcmNoL2VsYXN0aWNzZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFNUQsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixpQkFBaUIsR0FFbEIsTUFBTSxZQUFZLENBQUE7QUFXbkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFXM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7OztBQVE1RCxNQUFNLE9BQU8sb0JBQW9CO0lBTS9CLFlBQ1UsV0FBd0IsRUFDZSxZQUFvQjtRQUQzRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNlLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBUHJFLHNEQUFzRDtRQUN0RCxtR0FBbUc7UUFDM0Ysa0JBQWEsR0FBMkIsRUFBRSxDQUFBO1FBQzFDLFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQTtJQUtsQyxDQUFDO0lBRUosb0JBQW9CLENBQ2xCLGVBQW9CLEVBQUUsRUFDdEIsSUFBSSxHQUFHLENBQUMsRUFDUixJQUFJLEdBQUcsQ0FBQyxFQUNSLFNBQXNCLElBQUksRUFDMUIsZ0JBQStCLElBQUksRUFDbkMsZ0JBQStCLEVBQUUsRUFDakMsZ0JBQStCLEVBQUUsRUFDakMsS0FBZ0IsRUFDaEIsUUFBbUI7UUFFbkIsTUFBTSxPQUFPLEdBQUc7WUFDZCxZQUFZO1lBQ1osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJLEVB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RSxFQUFFLENBQUMsQ0FBQztvQkFDeEMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHO29CQUNwQixTQUFTLEVBQUUsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUseUVBQXlFO29CQUM3RyxLQUFLLEVBQUUsTUFBTSxDQUFDLFNBQVM7aUJBQ3hCLENBQUMsQ0FBQyxDQUFBO2dCQUNILE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQSxDQUFDLFlBQVk7Z0JBQzFCLE9BQU87b0JBQ0wsT0FBTztpQkFDUixDQUFBO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOytHQXhrQlUsb0JBQW9CLDZDQVFULGlCQUFpQjttSEFSNUIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5pbXBvcnQge1xuICBFU19RVUVSWV9GSUVMRFNfUFJJT1JJVFksXG4gIEVTX1NPVVJDRV9TVU1NQVJZLFxuICBFc1F1ZXJ5RmllbGRzUHJpb3JpdHlUeXBlLFxufSBmcm9tICcuL2NvbnN0YW50J1xuaW1wb3J0IHtcbiAgQWdncmVnYXRpb24sXG4gIEFnZ3JlZ2F0aW9uUGFyYW1zLFxuICBBZ2dyZWdhdGlvbnNQYXJhbXMsXG4gIEZpZWxkRmlsdGVyLFxuICBGaWVsZEZpbHRlcnMsXG4gIEZpbHRlclF1ZXJ5LFxuICBGaWx0ZXJzQWdncmVnYXRpb25QYXJhbXMsXG4gIFNvcnRCeUZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9zZWFyY2gnXG5pbXBvcnQgeyBNRVRBREFUQV9MQU5HVUFHRSB9IGZyb20gJy4uLy4uL21ldGFkYXRhLWxhbmd1YWdlJ1xuaW1wb3J0IHtcbiAgQWdncmVnYXRpb25SZXN1bHQsXG4gIEVzU2VhcmNoUGFyYW1zLFxuICBGaWx0ZXJzQWdncmVnYXRpb25SZXN1bHQsXG4gIEhpc3RvZ3JhbUFnZ3JlZ2F0aW9uUmVzdWx0LFxuICBSZXF1ZXN0RmllbGRzLFxuICBTZWFyY2hGaWx0ZXJzLFxuICBTb3J0UGFyYW1zLFxuICBUZXJtc0FnZ3JlZ2F0aW9uUmVzdWx0LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjJ1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMnXG5pbXBvcnQgeyBmb3JtYXREYXRlLCBpc0RhdGVSYW5nZSB9IGZyb20gJy4vZGF0ZS1yYW5nZS51dGlscydcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbmV4cG9ydCB0eXBlIERhdGVSYW5nZSA9IHsgc3RhcnQ/OiBEYXRlOyBlbmQ/OiBEYXRlIH1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVsYXN0aWNzZWFyY2hTZXJ2aWNlIHtcbiAgLy8gcnVudGltZSBmaWVsZHMgYXJlIGNvbXB1dGVkIHVzaW5nIGEgUGFpbmxlc3Mgc2NyaXB0XG4gIC8vIHNlZTogaHR0cHM6Ly93d3cuZWxhc3RpYy5jby9ndWlkZS9lbi9lbGFzdGljc2VhcmNoL3JlZmVyZW5jZS9jdXJyZW50L3J1bnRpbWUtbWFwcGluZy1maWVsZHMuaHRtbFxuICBwcml2YXRlIHJ1bnRpbWVGaWVsZHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fVxuICBwcml2YXRlIGxhbmczID0gdGhpcy5sYW5nU2VydmljZS5pc28zXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsYW5nU2VydmljZTogTGFuZ1NlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNRVRBREFUQV9MQU5HVUFHRSkgcHJpdmF0ZSBtZXRhZGF0YUxhbmc6IHN0cmluZ1xuICApIHt9XG5cbiAgZ2V0U2VhcmNoUmVxdWVzdEJvZHkoXG4gICAgYWdncmVnYXRpb25zOiBhbnkgPSB7fSxcbiAgICBzaXplID0gMCxcbiAgICBmcm9tID0gMCxcbiAgICBzb3J0Qnk6IFNvcnRCeUZpZWxkID0gbnVsbCxcbiAgICByZXF1ZXN0RmllbGRzOiBSZXF1ZXN0RmllbGRzID0gbnVsbCxcbiAgICBzZWFyY2hGaWx0ZXJzOiBTZWFyY2hGaWx0ZXJzID0ge30sXG4gICAgY29uZmlnRmlsdGVyczogU2VhcmNoRmlsdGVycyA9IHt9LFxuICAgIHV1aWRzPzogc3RyaW5nW10sXG4gICAgZ2VvbWV0cnk/OiBHZW9tZXRyeVxuICApOiBFc1NlYXJjaFBhcmFtcyB7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIGFnZ3JlZ2F0aW9ucyxcbiAgICAgIGZyb20sXG4gICAgICBzaXplLFxuICAgICAgc29ydDogdGhpcy5idWlsZFBheWxvYWRTb3J0KHNvcnRCeSksXG4gICAgICBxdWVyeTogdGhpcy5idWlsZFBheWxvYWRRdWVyeShcbiAgICAgICAgc2VhcmNoRmlsdGVycyxcbiAgICAgICAgY29uZmlnRmlsdGVycyxcbiAgICAgICAgdXVpZHMsXG4gICAgICAgIGdlb21ldHJ5XG4gICAgICApLFxuICAgICAgLi4uKHNpemUgPiAwID8geyB0cmFja190b3RhbF9oaXRzOiB0cnVlIH0gOiB7fSksXG4gICAgICAuLi4ocmVxdWVzdEZpZWxkcyAmJiB7IF9zb3VyY2U6IHJlcXVlc3RGaWVsZHMgfSksXG4gICAgfVxuICAgIHRoaXMucHJvY2Vzc1J1bnRpbWVGaWVsZHMocGF5bG9hZClcbiAgICByZXR1cm4gcGF5bG9hZFxuICB9XG5cbiAgLy8gcGF5bG9hZCBvYmplY3Qgd2lsbCBiZSBtdXRhdGVkXG4gIHByaXZhdGUgcHJvY2Vzc1J1bnRpbWVGaWVsZHMocGF5bG9hZDogRXNTZWFyY2hQYXJhbXMpOiBFc1NlYXJjaFBhcmFtcyB7XG4gICAgY29uc3QgYWRkTWFwcGluZyA9IChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCFwYXlsb2FkLnJ1bnRpbWVfbWFwcGluZ3MpIHBheWxvYWQucnVudGltZV9tYXBwaW5ncyA9IHt9XG4gICAgICBwYXlsb2FkLnJ1bnRpbWVfbWFwcGluZ3NbZmllbGROYW1lXSA9IHtcbiAgICAgICAgdHlwZTogJ2tleXdvcmQnLFxuICAgICAgICBzY3JpcHQ6IHRoaXMucnVudGltZUZpZWxkc1tmaWVsZE5hbWVdLFxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBsb29rRm9yRmllbGQgPSAobm9kZTogdW5rbm93bikgPT4ge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobm9kZSkpIHtcbiAgICAgICAgbm9kZS5mb3JFYWNoKGxvb2tGb3JGaWVsZClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIG5vZGUgIT09ICdvYmplY3QnKSByZXR1cm5cbiAgICAgIGlmICgnZmllbGQnIGluIG5vZGUgJiYgdHlwZW9mIG5vZGUuZmllbGQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmIChub2RlLmZpZWxkIGluIHRoaXMucnVudGltZUZpZWxkcykge1xuICAgICAgICAgIGFkZE1hcHBpbmcobm9kZS5maWVsZClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBydW50aW1lRmllbGQgaW4gdGhpcy5ydW50aW1lRmllbGRzKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBydW50aW1lRmllbGQgaW4gbm9kZSAmJlxuICAgICAgICAgIChub2RlW3J1bnRpbWVGaWVsZF0gPT09ICdhc2MnIHx8IG5vZGVbcnVudGltZUZpZWxkXSA9PT0gJ2Rlc2MnKVxuICAgICAgICApIHtcbiAgICAgICAgICBhZGRNYXBwaW5nKHJ1bnRpbWVGaWVsZClcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgJ3F1ZXJ5JyBpbiBub2RlICYmXG4gICAgICAgICAgdHlwZW9mIG5vZGUucXVlcnkgPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgbm9kZS5xdWVyeS5pbmRleE9mKHJ1bnRpbWVGaWVsZCArICc6JykgPiAtMVxuICAgICAgICApIHtcbiAgICAgICAgICBhZGRNYXBwaW5nKHJ1bnRpbWVGaWVsZClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gbm9kZSkge1xuICAgICAgICBpZiAodHlwZW9mIG5vZGVba2V5XSA9PT0gJ29iamVjdCcpIGxvb2tGb3JGaWVsZChub2RlW2tleV0pXG4gICAgICB9XG4gICAgfVxuICAgIGxvb2tGb3JGaWVsZChwYXlsb2FkLmFnZ3JlZ2F0aW9ucylcbiAgICBsb29rRm9yRmllbGQocGF5bG9hZC5zb3J0KVxuICAgIGxvb2tGb3JGaWVsZChwYXlsb2FkLnF1ZXJ5KVxuICAgIHJldHVybiBwYXlsb2FkXG4gIH1cblxuICByZWdpc3RlclJ1bnRpbWVGaWVsZChmaWVsZE5hbWU6IHN0cmluZywgZXhwcmVzc2lvbjogc3RyaW5nKSB7XG4gICAgdGhpcy5ydW50aW1lRmllbGRzW2ZpZWxkTmFtZV0gPSBleHByZXNzaW9uXG4gIH1cblxuICBnZXRNZXRhZGF0YUJ5SWRQYXlsb2FkKHV1aWQ6IHN0cmluZyk6IEVzU2VhcmNoUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6IHtcbiAgICAgICAgaWRzOiB7XG4gICAgICAgICAgdmFsdWVzOiBbdXVpZF0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH1cbiAgfVxuXG4gIGdldFJlbGF0ZWRSZWNvcmRQYXlsb2FkKFxuICAgIHJlY29yZDogQ2F0YWxvZ1JlY29yZCxcbiAgICBzaXplID0gNixcbiAgICBfc291cmNlID0gWy4uLkVTX1NPVVJDRV9TVU1NQVJZLCAnYWxsS2V5d29yZHMnLCAnY3JlYXRlRGF0ZSddXG4gICk6IEVzU2VhcmNoUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6IHtcbiAgICAgICAgYm9vbDoge1xuICAgICAgICAgIG11c3Q6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbW9yZV9saWtlX3RoaXM6IHtcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgICdyZXNvdXJjZVRpdGxlT2JqZWN0LmRlZmF1bHQnLFxuICAgICAgICAgICAgICAgICAgJ3Jlc291cmNlQWJzdHJhY3RPYmplY3QuZGVmYXVsdCcsXG4gICAgICAgICAgICAgICAgICAnYWxsS2V5d29yZHMnLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgbGlrZTogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkb2M6IHtcbiAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZVRpdGxlT2JqZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiByZWNvcmQudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZUFic3RyYWN0T2JqZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiByZWNvcmQuYWJzdHJhY3QsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBhbGxLZXl3b3JkczogcmVjb3JkLmtleXdvcmRzLm1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXl3b3JkKSA9PiBrZXl3b3JkLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBtaW5fdGVybV9mcmVxOiAxLFxuICAgICAgICAgICAgICAgIG1heF9xdWVyeV90ZXJtczogMTIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXJtczoge1xuICAgICAgICAgICAgICAgIGlzVGVtcGxhdGU6IFsnbiddLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGVybXM6IHtcbiAgICAgICAgICAgICAgICBkcmFmdDogWyduJywgJ2UnXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBtdXN0X25vdDogW3sgd2lsZGNhcmQ6IHsgdXVpZDogcmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIgfSB9XSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzaXplLFxuICAgICAgX3NvdXJjZSxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUGF5bG9hZFNvcnQoc29ydEJ5OiBTb3J0QnlGaWVsZCk6IFNvcnRQYXJhbXMge1xuICAgIGlmIChzb3J0QnkgPT09IG51bGwpIHJldHVybiB1bmRlZmluZWRcbiAgICBjb25zdCBmaWVsZHMgPSBBcnJheS5pc0FycmF5KHNvcnRCeVswXSkgPyBzb3J0QnkgOiBbc29ydEJ5XVxuICAgIHJldHVybiBmaWVsZHMubWFwKChmaWVsZCkgPT4gKHsgW2ZpZWxkWzFdXTogZmllbGRbMF0gfSkpXG4gIH1cblxuICBwcml2YXRlIGluamVjdExhbmdJblF1ZXJ5U3RyaW5nRmllbGRzKFxuICAgIHF1ZXJ5RmllbGRzUHJpb3JpdHk6IEVzUXVlcnlGaWVsZHNQcmlvcml0eVR5cGVcbiAgKSB7XG4gICAgY29uc3QgcXVlcnlMYW5nID0gdGhpcy5nZXRRdWVyeUxhbmcoKVxuICAgIHJldHVybiBPYmplY3Qua2V5cyhxdWVyeUZpZWxkc1ByaW9yaXR5KS5yZWR1Y2UoKHF1ZXJ5LCBmaWVsZCkgPT4ge1xuICAgICAgY29uc3QgbXVsdGlMYW5nUmVnRXhwID0gL1xcJFxce3NlYXJjaExhbmdcXH0vZ1xuICAgICAgY29uc3QgaXNNdWx0aWxhbmdGaWVsZCA9IG11bHRpTGFuZ1JlZ0V4cC50ZXN0KGZpZWxkKVxuICAgICAgY29uc3QgZmllbGRQcmlvcml0eSA9IHF1ZXJ5RmllbGRzUHJpb3JpdHlbZmllbGRdXG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5xdWVyeSxcbiAgICAgICAgLi4uKHRoaXMuaXNDdXJyZW50U2VhcmNoTGFuZygpICYmIGlzTXVsdGlsYW5nRmllbGRcbiAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgYCR7ZmllbGQucmVwbGFjZShtdWx0aUxhbmdSZWdFeHAsIHF1ZXJ5TGFuZyl9XiR7XG4gICAgICAgICAgICAgICAgZmllbGRQcmlvcml0eSArIDEwXG4gICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgICBmaWVsZC5yZXBsYWNlKG11bHRpTGFuZ1JlZ0V4cCwgJyonKSArXG4gICAgICAgICAgICAgICAgKGZpZWxkUHJpb3JpdHkgPiAxID8gYF4ke2ZpZWxkUHJpb3JpdHl9YCA6ICcnKSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgZmllbGQucmVwbGFjZShtdWx0aUxhbmdSZWdFeHAsIHF1ZXJ5TGFuZykgK1xuICAgICAgICAgICAgICAgIChmaWVsZFByaW9yaXR5ID4gMSA/IGBeJHtmaWVsZFByaW9yaXR5fWAgOiAnJyksXG4gICAgICAgICAgICBdKSxcbiAgICAgIF1cbiAgICB9LCBbXSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UXVlcnlMYW5nKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubWV0YWRhdGFMYW5nKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0N1cnJlbnRTZWFyY2hMYW5nKClcbiAgICAgICAgPyBgbGFuZyR7dGhpcy5sYW5nM31gXG4gICAgICAgIDogYGxhbmcke3RoaXMubWV0YWRhdGFMYW5nfWBcbiAgICB9IGVsc2UgcmV0dXJuICcqJ1xuICB9XG4gIHByaXZhdGUgaXNDdXJyZW50U2VhcmNoTGFuZygpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhZGF0YUxhbmcgPT09ICdjdXJyZW50J1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJzVG9RdWVyeShcbiAgICBmaWx0ZXJzOiBGaWVsZEZpbHRlcnMgfCBGaWx0ZXJzQWdncmVnYXRpb25QYXJhbXMgfCBzdHJpbmdcbiAgKTogRmlsdGVyUXVlcnkge1xuICAgIGNvbnN0IGFkZFF1b3RlID0gKGtleTogc3RyaW5nKSA9PiAoL15cXC8uK1xcLyQvLnRlc3Qoa2V5KSA/IGtleSA6IGBcIiR7a2V5fVwiYClcbiAgICBjb25zdCBtYWtlUXVlcnkgPSAoZmlsdGVyOiBGaWVsZEZpbHRlcik6IHN0cmluZyA9PiB7XG4gICAgICBpZiAodHlwZW9mIGZpbHRlciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGZpbHRlclxuICAgICAgfVxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGZpbHRlcilcbiAgICAgICAgLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgICAgaWYgKGZpbHRlcltrZXldID09PSB0cnVlKSB7XG4gICAgICAgICAgICByZXR1cm4gYWRkUXVvdGUoa2V5KVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYC0ke2FkZFF1b3RlKGtleSl9YFxuICAgICAgICB9KVxuICAgICAgICAuam9pbignIE9SICcpXG4gICAgfVxuICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID1cbiAgICAgIHR5cGVvZiBmaWx0ZXJzID09PSAnc3RyaW5nJ1xuICAgICAgICA/IGZpbHRlcnNcbiAgICAgICAgOiBPYmplY3Qua2V5cyhmaWx0ZXJzKVxuICAgICAgICAgICAgLmZpbHRlcigoZmllbGRuYW1lKSA9PiAhaXNEYXRlUmFuZ2UoZmlsdGVyc1tmaWVsZG5hbWVdKSlcbiAgICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAgIChmaWVsZG5hbWUpID0+XG4gICAgICAgICAgICAgICAgZmlsdGVyc1tmaWVsZG5hbWVdICYmXG4gICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoZmlsdGVyc1tmaWVsZG5hbWVdKSAhPT0gJ3t9J1xuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgKGZpZWxkbmFtZSkgPT4gYCR7ZmllbGRuYW1lfTooJHttYWtlUXVlcnkoZmlsdGVyc1tmaWVsZG5hbWVdKX0pYFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmpvaW4oJyBBTkQgJylcbiAgICBjb25zdCBxdWVyeVJhbmdlID0gT2JqZWN0LmVudHJpZXMoZmlsdGVycylcbiAgICAgIC5maWx0ZXIoKFssIHZhbHVlXSkgPT4gaXNEYXRlUmFuZ2UodmFsdWUpKVxuICAgICAgLm1hcCgoW3NlYXJjaEZpZWxkLCBkYXRlUmFuZ2VdKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc2VhcmNoRmllbGQsXG4gICAgICAgICAgZGF0ZVJhbmdlLFxuICAgICAgICB9IGFzIHtcbiAgICAgICAgICBzZWFyY2hGaWVsZDogc3RyaW5nXG4gICAgICAgICAgZGF0ZVJhbmdlOiBEYXRlUmFuZ2VcbiAgICAgICAgfVxuICAgICAgfSlbMF1cbiAgICBjb25zdCBxdWVyeVBhcnRzID0gW1xuICAgICAgcXVlcnlTdHJpbmcgJiYge1xuICAgICAgICBxdWVyeV9zdHJpbmc6IHtcbiAgICAgICAgICBxdWVyeTogcXVlcnlTdHJpbmcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcXVlcnlSYW5nZSAmJlxuICAgICAgICBxdWVyeVJhbmdlLmRhdGVSYW5nZSAmJiB7XG4gICAgICAgICAgcmFuZ2U6IHtcbiAgICAgICAgICAgIFtxdWVyeVJhbmdlLnNlYXJjaEZpZWxkXToge1xuICAgICAgICAgICAgICAuLi4ocXVlcnlSYW5nZS5kYXRlUmFuZ2Uuc3RhcnQgJiYge1xuICAgICAgICAgICAgICAgIGd0ZTogZm9ybWF0RGF0ZShxdWVyeVJhbmdlLmRhdGVSYW5nZS5zdGFydCksXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAuLi4ocXVlcnlSYW5nZS5kYXRlUmFuZ2UuZW5kICYmIHtcbiAgICAgICAgICAgICAgICBsdGU6IGZvcm1hdERhdGUocXVlcnlSYW5nZS5kYXRlUmFuZ2UuZW5kKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIGZvcm1hdDogJ3l5eXktTU0tZGQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pXG4gICAgcmV0dXJuIHF1ZXJ5UGFydHMubGVuZ3RoID4gMCA/IChxdWVyeVBhcnRzIGFzIEZpbHRlclF1ZXJ5KSA6IHVuZGVmaW5lZFxuICB9XG5cbiAgcHJpdmF0ZSBtdXN0Tm90RmlsdGVycygpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICAuLi50aGlzLnF1ZXJ5RmlsdGVyT25WYWx1ZXMoJ3Jlc291cmNlVHlwZScsIFtcbiAgICAgICAgICAnc2VydmljZScsXG4gICAgICAgICAgJ21hcCcsXG4gICAgICAgICAgJ21hcC9zdGF0aWMnLFxuICAgICAgICAgICdtYXBEaWdpdGFsJyxcbiAgICAgICAgXSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBxdWVyeV9zdHJpbmc6IHtcbiAgICAgICAgICBxdWVyeTpcbiAgICAgICAgICAgICdyZXNvdXJjZVR5cGU6ZmVhdHVyZUNhdGFsb2cgQU5EICFyZXNvdXJjZVR5cGU6ZGF0YXNldCBBTkQgIWNsX2xldmVsLmtleTpkYXRhc2V0JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFBheWxvYWRRdWVyeShcbiAgICB7IGFueSwgLi4uZmllbGRTZWFyY2hGaWx0ZXJzIH06IFNlYXJjaEZpbHRlcnMsXG4gICAgY29uZmlnRmlsdGVyczogU2VhcmNoRmlsdGVycyxcbiAgICB1dWlkcz86IHN0cmluZ1tdLFxuICAgIGdlb21ldHJ5PzogR2VvbWV0cnlcbiAgKSB7XG4gICAgY29uc3QgbXVzdCA9IFtdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICBjb25zdCBtdXN0X25vdCA9IHRoaXMubXVzdE5vdEZpbHRlcnMoKVxuICAgIGNvbnN0IHNob3VsZCA9IFtdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICBjb25zdCBmaWx0ZXIgPSBbdGhpcy5xdWVyeUZpbHRlck9uVmFsdWVzKCdpc1RlbXBsYXRlJywgJ24nKV0gYXMgUmVjb3JkPFxuICAgICAgc3RyaW5nLFxuICAgICAgdW5rbm93blxuICAgID5bXVxuXG4gICAgaWYgKGFueSkge1xuICAgICAgbXVzdC5wdXNoKHtcbiAgICAgICAgcXVlcnlfc3RyaW5nOiB7XG4gICAgICAgICAgcXVlcnk6IHRoaXMuZXNjYXBlU3BlY2lhbENoYXJhY3RlcnMoYW55KSxcbiAgICAgICAgICBkZWZhdWx0X29wZXJhdG9yOiAnQU5EJyxcbiAgICAgICAgICBmaWVsZHM6IHRoaXMuaW5qZWN0TGFuZ0luUXVlcnlTdHJpbmdGaWVsZHMoRVNfUVVFUllfRklFTERTX1BSSU9SSVRZKSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfVxuICAgIGNvbnN0IHF1ZXJ5RmlsdGVycyA9IHRoaXMuZmlsdGVyc1RvUXVlcnkoZmllbGRTZWFyY2hGaWx0ZXJzKVxuICAgIGlmIChxdWVyeUZpbHRlcnMpIHtcbiAgICAgIGZpbHRlci5wdXNoKC4uLnF1ZXJ5RmlsdGVycylcbiAgICB9XG4gICAgaWYgKHV1aWRzKSB7XG4gICAgICBmaWx0ZXIucHVzaCh7XG4gICAgICAgIGlkczoge1xuICAgICAgICAgIHZhbHVlczogdXVpZHMsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAoZ2VvbWV0cnkpIHtcbiAgICAgIHNob3VsZC5wdXNoKFxuICAgICAgICB7XG4gICAgICAgICAgZ2VvX3NoYXBlOiB7XG4gICAgICAgICAgICBnZW9tOiB7XG4gICAgICAgICAgICAgIHNoYXBlOiBnZW9tZXRyeSxcbiAgICAgICAgICAgICAgcmVsYXRpb246ICd3aXRoaW4nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJvb3N0OiAxMC4wLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBnZW9fc2hhcGU6IHtcbiAgICAgICAgICAgIGdlb206IHtcbiAgICAgICAgICAgICAgc2hhcGU6IGdlb21ldHJ5LFxuICAgICAgICAgICAgICByZWxhdGlvbjogJ2ludGVyc2VjdHMnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJvb3N0OiA3LjAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBib29sOiB7XG4gICAgICAgIG11c3QsXG4gICAgICAgIG11c3Rfbm90LFxuICAgICAgICBzaG91bGQsXG4gICAgICAgIGZpbHRlcixcbiAgICAgIH0sXG4gICAgfVxuICB9XG5cbiAgYnVpbGRNb3JlT25BZ2dyZWdhdGlvblBheWxvYWQoXG4gICAgYWdncmVnYXRpb25zOiBhbnksXG4gICAga2V5OiBzdHJpbmcsXG4gICAgc2VhcmNoRmlsdGVyczogU2VhcmNoRmlsdGVycyxcbiAgICBjb25maWdGaWx0ZXJzOiBTZWFyY2hGaWx0ZXJzXG4gICk6IEVzU2VhcmNoUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgYWdncmVnYXRpb25zOiB7IFtrZXldOiBhZ2dyZWdhdGlvbnNba2V5XSB9LFxuICAgICAgc2l6ZTogMCxcbiAgICAgIHF1ZXJ5OiB0aGlzLmJ1aWxkUGF5bG9hZFF1ZXJ5KHNlYXJjaEZpbHRlcnMsIGNvbmZpZ0ZpbHRlcnMpLFxuICAgIH1cbiAgfVxuXG4gIHF1ZXJ5RmlsdGVyT25WYWx1ZXMoa2V5LCB2YWx1ZXMpIHtcbiAgICByZXR1cm4gIXZhbHVlcyB8fCB2YWx1ZXMubGVuZ3RoIDw9IDBcbiAgICAgID8ge31cbiAgICAgIDoge1xuICAgICAgICAgIHRlcm1zOiB7XG4gICAgICAgICAgICBba2V5XTogWy4uLnZhbHVlc10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICB9XG5cbiAgYnVpbGRBdXRvY29tcGxldGVQYXlsb2FkKHF1ZXJ5OiBzdHJpbmcpOiBFc1NlYXJjaFBhcmFtcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHF1ZXJ5OiB7XG4gICAgICAgIGJvb2w6IHtcbiAgICAgICAgICBtdXN0OiBbXG4gICAgICAgICAgICB0aGlzLnF1ZXJ5RmlsdGVyT25WYWx1ZXMoJ2lzVGVtcGxhdGUnLCAnbicpLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBtdWx0aV9tYXRjaDoge1xuICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgIHR5cGU6ICdib29sX3ByZWZpeCcsXG4gICAgICAgICAgICAgICAgZmllbGRzOiB0aGlzLmluamVjdExhbmdJblF1ZXJ5U3RyaW5nRmllbGRzKHtcbiAgICAgICAgICAgICAgICAgICdyZXNvdXJjZVRpdGxlT2JqZWN0LiR7c2VhcmNoTGFuZ30nOiA0LFxuICAgICAgICAgICAgICAgICAgJ3Jlc291cmNlQWJzdHJhY3RPYmplY3QuJHtzZWFyY2hMYW5nfSc6IDMsXG4gICAgICAgICAgICAgICAgICB0YWc6IDIsXG4gICAgICAgICAgICAgICAgICByZXNvdXJjZUlkZW50aWZpZXI6IDEsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG5cbiAgICAgICAgICBtdXN0X25vdDogdGhpcy5tdXN0Tm90RmlsdGVycygpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIF9zb3VyY2U6IFsncmVzb3VyY2VUaXRsZU9iamVjdCcsICd1dWlkJ10sXG4gICAgICBmcm9tOiAwLFxuICAgICAgc2l6ZTogMjAsXG4gICAgfVxuICB9XG5cbiAgY29tYmluZVF1ZXJ5R3JvdXBzKHF1ZXJ5R3JvdXBzKSB7XG4gICAgcmV0dXJuIHF1ZXJ5R3JvdXBzID8gcXVlcnlHcm91cHMuam9pbignIEFORCAnKS50cmltKCkgOiAnJ1xuICB9XG5cbiAgLyoqXG4gICAqIEZhY2V0cyBzdGF0ZSBpcyBhbiBvYmplY3QgbGlrZSB0aGlzOlxuICAgKlxuICAgKiB7XG4gICAqICAgJ3RhZyc6IHtcbiAgICogICAgICd3b3JsZCc6IHRydWUsXG4gICAqICAgICAndmVjdG9yJzogdHJ1ZVxuICAgKiAgIH0sXG4gICAqICAgJ2F2YWlsYWJsZUluU2VydmljZScgOiB7XG4gICAqICAgICAnYXZhaWxhYmxlSW5WaWV3U2VydmljZSc6ICcrbGlua1Byb3RvY29sOlxcL09HQzpXTVMuKlxcLydcbiAgICogICB9LFxuICAgKiAgICdyZXNvdXJjZVR5cGUnOiB7XG4gICAqICAgICAnc2VydmljZSc6IHtcbiAgICogICAgICAgJ3NlcnZpY2VUeXBlJzoge1xuICAgKiAgICAgICAgICdPR0M6V01TJzogdHJ1ZVxuICAgKiAgICAgICAgICdPR0M6V0ZTJzogZmFsc2VcbiAgICogICAgICAgfVxuICAgKiAgICAgfSxcbiAgICogICAgICdkb3dubG9hZCc6IHtcbiAgICogICAgICAgJ3NlcnZpY2VUeXBlJzoge1xuICAgKiAgICAgICB9XG4gICAqICAgICB9LFxuICAgKiAgICAgJ2RhdGFzZXQnOiB0cnVlXG4gICAqICAgfVxuICAgKiB9XG4gICAqL1xuICAvLyBGSVhNRTogdGhpcyBpcyBub3QgdXNlZCBhbnltb3JlXG4gIHN0YXRlRmlsdGVyc1RvUXVlcnlTdHJpbmcoZmFjZXRzU3RhdGUpIHtcbiAgICBjb25zdCBxdWVyeSA9IFtdXG4gICAgZm9yIChjb25zdCBpbmRleEtleSBpbiBmYWNldHNTdGF0ZSkge1xuICAgICAgaWYgKGluZGV4S2V5IGluIGZhY2V0c1N0YXRlKSB7XG4gICAgICAgIGNvbnN0IHF1ZXJ5Q2h1bmsgPSB0aGlzLnBhcnNlU3RhdGVOb2RlKFxuICAgICAgICAgIGluZGV4S2V5LFxuICAgICAgICAgIGZhY2V0c1N0YXRlW2luZGV4S2V5XSxcbiAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgKVxuICAgICAgICBpZiAocXVlcnlDaHVuaykge1xuICAgICAgICAgIHF1ZXJ5LnB1c2gocXVlcnlDaHVuaylcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb21iaW5lUXVlcnlHcm91cHMocXVlcnkpXG4gIH1cblxuICAvLyBGSVhNRTogdGhpcyBpcyBub3QgdXNlZCBhbnltb3JlXG4gIHByaXZhdGUgcGFyc2VTdGF0ZU5vZGUobm9kZU5hbWUsIG5vZGUsIGluZGV4S2V5KSB7XG4gICAgbGV0IHF1ZXJ5U3RyaW5nID0gJydcbiAgICBpZiAobm9kZSAmJiB0eXBlb2Ygbm9kZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGNvbnN0IGNodW5rcyA9IFtdXG4gICAgICBmb3IgKGNvbnN0IHAgaW4gbm9kZSkge1xuICAgICAgICAvLyBuZXN0aW5nXG4gICAgICAgIGlmIChub2RlW3BdICYmIHR5cGVvZiBub2RlW3BdID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIGNvbnN0IG5leHRMdmxLZXkgPSBPYmplY3Qua2V5cyhub2RlW3BdKVswXVxuICAgICAgICAgIGNvbnN0IG5leHRMdmxTdGF0ZSA9IG5vZGVbcF1bbmV4dEx2bEtleV1cbiAgICAgICAgICBpZiAoT2JqZWN0LmtleXMobmV4dEx2bFN0YXRlKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5lc3RlZENodW5rcyA9IFtub2RlTmFtZSArICc6JyArICdcIicgKyBwICsgJ1wiJ11cbiAgICAgICAgICAgIGNvbnN0IGNodW5rID0gdGhpcy5wYXJzZVN0YXRlTm9kZShcbiAgICAgICAgICAgICAgbmV4dEx2bEtleSxcbiAgICAgICAgICAgICAgbmV4dEx2bFN0YXRlLFxuICAgICAgICAgICAgICBuZXh0THZsS2V5XG4gICAgICAgICAgICApLnRyaW0oKVxuICAgICAgICAgICAgaWYgKGNodW5rKSB7XG4gICAgICAgICAgICAgIG5lc3RlZENodW5rcy5wdXNoKGNodW5rKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2h1bmtzLnB1c2goJygnICsgbmVzdGVkQ2h1bmtzLmpvaW4oJyBBTkQgJykgKyAnKScpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGNodW5rID0gdGhpcy5wYXJzZVN0YXRlTm9kZShwLCBub2RlW3BdLCBub2RlTmFtZSkudHJpbSgpXG4gICAgICAgICAgaWYgKGNodW5rKSB7XG4gICAgICAgICAgICBjaHVua3MucHVzaChjaHVuaylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChjaHVua3MgJiYgY2h1bmtzLmxlbmd0aCkge1xuICAgICAgICBxdWVyeVN0cmluZyArPSAnKCdcbiAgICAgICAgcXVlcnlTdHJpbmcgKz0gY2h1bmtzLmpvaW4oJyAnKVxuICAgICAgICBxdWVyeVN0cmluZyArPSAnKSdcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBub2RlID09PSAnc3RyaW5nJykge1xuICAgICAgcXVlcnlTdHJpbmcgKz0gbm9kZVxuICAgIH0gZWxzZSBpZiAobm9kZSA9PT0gdHJ1ZSkge1xuICAgICAgcXVlcnlTdHJpbmcgKz0gaW5kZXhLZXkgKyAnOlwiJyArIG5vZGVOYW1lICsgJ1wiJ1xuICAgIH0gZWxzZSBpZiAobm9kZSA9PT0gZmFsc2UpIHtcbiAgICAgIHF1ZXJ5U3RyaW5nICs9ICctJyArIGluZGV4S2V5ICsgJzpcIicgKyBub2RlTmFtZSArICdcIidcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5U3RyaW5nXG4gIH1cblxuICBwcml2YXRlIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzKHF1ZXJ5c3RyaW5nKSB7XG4gICAgcmV0dXJuIHF1ZXJ5c3RyaW5nLnJlcGxhY2UoXG4gICAgICAvKFxcK3wtfFxcL3wmJnxcXHxcXHx8IXxcXHt8XFx9fFxcW3xcXF1cXF58fnxcXD98OnxcXFxcezF9fFxcKHxcXCkpL2csXG4gICAgICAnXFxcXCQxJ1xuICAgIClcbiAgfVxuXG4gIGJ1aWxkQWdncmVnYXRpb25zUGF5bG9hZChhZ2dyZWdhdGlvbnM6IEFnZ3JlZ2F0aW9uc1BhcmFtcyk6IGFueSB7XG4gICAgY29uc3QgbWFwVG9FU0FnZ3JlZ2F0aW9uID0gKGFnZ3JlZ2F0aW9uOiBBZ2dyZWdhdGlvblBhcmFtcykgPT4ge1xuICAgICAgc3dpdGNoIChhZ2dyZWdhdGlvbi50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2ZpbHRlcnMnOlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmaWx0ZXJzOiB7XG4gICAgICAgICAgICAgIGZpbHRlcnM6IE9iamVjdC5rZXlzKGFnZ3JlZ2F0aW9uLmZpbHRlcnMpLnJlZHVjZSgocHJldiwgY3VycikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IGFnZ3JlZ2F0aW9uLmZpbHRlcnNbY3Vycl1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICAgICAgICAgIFtjdXJyXTogdGhpcy5maWx0ZXJzVG9RdWVyeShmaWx0ZXIpWzBdLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSwge30pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3Rlcm1zJzpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdGVybXM6IHtcbiAgICAgICAgICAgICAgc2l6ZTogYWdncmVnYXRpb24ubGltaXQsXG4gICAgICAgICAgICAgIGZpZWxkOiBhZ2dyZWdhdGlvbi5maWVsZCxcbiAgICAgICAgICAgICAgb3JkZXI6IHtcbiAgICAgICAgICAgICAgICBbYF8ke2FnZ3JlZ2F0aW9uLnNvcnRbMV19YF06IGFnZ3JlZ2F0aW9uLnNvcnRbMF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgY2FzZSAnaGlzdG9ncmFtJzpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGlzdG9ncmFtOiB7XG4gICAgICAgICAgICAgIGZpZWxkOiBhZ2dyZWdhdGlvbi5maWVsZCxcbiAgICAgICAgICAgICAgaW50ZXJ2YWw6IGFnZ3JlZ2F0aW9uLmludGVydmFsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBPYmplY3Qua2V5cyhhZ2dyZWdhdGlvbnMpLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyKSA9PiAoe1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgICBbY3Vycl06IG1hcFRvRVNBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbnNbY3Vycl0pLFxuICAgICAgfSksXG4gICAgICB7fVxuICAgIClcbiAgfVxuXG4gIHBhcnNlQWdncmVnYXRpb25SZXN1bHQoXG4gICAgcmVzdWx0OiBBZ2dyZWdhdGlvblJlc3VsdCxcbiAgICByZXF1ZXN0UGFyYW06IEFnZ3JlZ2F0aW9uUGFyYW1zXG4gICk6IEFnZ3JlZ2F0aW9uIHtcbiAgICBzd2l0Y2ggKHJlcXVlc3RQYXJhbS50eXBlKSB7XG4gICAgICBjYXNlICdmaWx0ZXJzJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBidWNrZXRzOiBPYmplY3Qua2V5cyhcbiAgICAgICAgICAgIChyZXN1bHQgYXMgRmlsdGVyc0FnZ3JlZ2F0aW9uUmVzdWx0KS5idWNrZXRzXG4gICAgICAgICAgKS5tYXAoKGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYnVja2V0ID0gKHJlc3VsdCBhcyBGaWx0ZXJzQWdncmVnYXRpb25SZXN1bHQpLmJ1Y2tldHNba2V5XVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdGVybToga2V5LFxuICAgICAgICAgICAgICBjb3VudDogYnVja2V0LmRvY19jb3VudCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgfVxuICAgICAgY2FzZSAndGVybXMnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJ1Y2tldHM6IChyZXN1bHQgYXMgVGVybXNBZ2dyZWdhdGlvblJlc3VsdCkuYnVja2V0cy5tYXAoKGJ1Y2tldCkgPT4gKHtcbiAgICAgICAgICAgIHRlcm06IGJ1Y2tldC5rZXksXG4gICAgICAgICAgICBjb3VudDogYnVja2V0LmRvY19jb3VudCxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH1cbiAgICAgIGNhc2UgJ2hpc3RvZ3JhbSc6IHtcbiAgICAgICAgY29uc3QgaGlzdG9ncmFtUmVzdWx0ID0gcmVzdWx0IGFzIEhpc3RvZ3JhbUFnZ3JlZ2F0aW9uUmVzdWx0XG4gICAgICAgIGxldCBidWNrZXRzID0gQXJyYXkuaXNBcnJheShoaXN0b2dyYW1SZXN1bHQuYnVja2V0cylcbiAgICAgICAgICA/IGhpc3RvZ3JhbVJlc3VsdC5idWNrZXRzXG4gICAgICAgICAgOiBPYmplY3Qua2V5cyhoaXN0b2dyYW1SZXN1bHQuYnVja2V0cykubWFwKFxuICAgICAgICAgICAgICAoa2V5KSA9PiBoaXN0b2dyYW1SZXN1bHQuYnVja2V0c1trZXldXG4gICAgICAgICAgICApXG4gICAgICAgIGJ1Y2tldHMgPSBidWNrZXRzLm1hcCgoYnVja2V0LCBpbmRleCkgPT4gKHtcbiAgICAgICAgICBsb3dWYWx1ZTogYnVja2V0LmtleSxcbiAgICAgICAgICBoaWdoVmFsdWU6IGJ1Y2tldHNbaW5kZXggKyAxXT8ua2V5LCAvLyB0aGlzIHdpbGwgcmV0dXJuIHVuZGVmaW5lZCBvbiB0aGUgbGFzdCBlbGVtZW50ICh3aGljaCB3ZSByZW1vdmUgbGF0ZXIpXG4gICAgICAgICAgY291bnQ6IGJ1Y2tldC5kb2NfY291bnQsXG4gICAgICAgIH0pKVxuICAgICAgICBidWNrZXRzLnBvcCgpIC8vIHNlZSBhYm92ZVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJ1Y2tldHMsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
507
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY3NlYXJjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMvbGliL2duNC9lbGFzdGljc2VhcmNoL2VsYXN0aWNzZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFNUQsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixpQkFBaUIsR0FFbEIsTUFBTSxZQUFZLENBQUE7QUFXbkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFXM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7OztBQVE1RCxNQUFNLE9BQU8sb0JBQW9CO0lBTS9CLFlBQ1UsV0FBd0IsRUFDZSxZQUFvQjtRQUQzRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNlLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBUHJFLHNEQUFzRDtRQUN0RCxtR0FBbUc7UUFDM0Ysa0JBQWEsR0FBMkIsRUFBRSxDQUFBO1FBQzFDLFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQTtJQUtsQyxDQUFDO0lBRUosb0JBQW9CLENBQ2xCLGVBQW9CLEVBQUUsRUFDdEIsSUFBSSxHQUFHLENBQUMsRUFDUixJQUFJLEdBQUcsQ0FBQyxFQUNSLFNBQXNCLElBQUksRUFDMUIsZ0JBQStCLElBQUksRUFDbkMsZ0JBQStCLEVBQUUsRUFDakMsZ0JBQStCLEVBQUUsRUFDakMsS0FBZ0IsRUFDaEIsUUFBbUI7UUFFbkIsTUFBTSxPQUFPLEdBQUc7WUFDZCxZQUFZO1lBQ1osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJLEVB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RSxHQUFHLEVBQUUseUVBQXlFO29CQUM3RyxLQUFLLEVBQUUsTUFBTSxDQUFDLFNBQVM7aUJBQ3hCLENBQUMsQ0FBQyxDQUFBO2dCQUNILE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQSxDQUFDLFlBQVk7Z0JBQzFCLE9BQU87b0JBQ0wsT0FBTztpQkFDUixDQUFBO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOytHQWhrQlUsb0JBQW9CLDZDQVFULGlCQUFpQjttSEFSNUIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5pbXBvcnQge1xuICBFU19RVUVSWV9GSUVMRFNfUFJJT1JJVFksXG4gIEVTX1NPVVJDRV9TVU1NQVJZLFxuICBFc1F1ZXJ5RmllbGRzUHJpb3JpdHlUeXBlLFxufSBmcm9tICcuL2NvbnN0YW50J1xuaW1wb3J0IHtcbiAgQWdncmVnYXRpb24sXG4gIEFnZ3JlZ2F0aW9uUGFyYW1zLFxuICBBZ2dyZWdhdGlvbnNQYXJhbXMsXG4gIEZpZWxkRmlsdGVyLFxuICBGaWVsZEZpbHRlcnMsXG4gIEZpbHRlclF1ZXJ5LFxuICBGaWx0ZXJzQWdncmVnYXRpb25QYXJhbXMsXG4gIFNvcnRCeUZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9zZWFyY2gnXG5pbXBvcnQgeyBNRVRBREFUQV9MQU5HVUFHRSB9IGZyb20gJy4uLy4uL21ldGFkYXRhLWxhbmd1YWdlJ1xuaW1wb3J0IHtcbiAgQWdncmVnYXRpb25SZXN1bHQsXG4gIEVzU2VhcmNoUGFyYW1zLFxuICBGaWx0ZXJzQWdncmVnYXRpb25SZXN1bHQsXG4gIEhpc3RvZ3JhbUFnZ3JlZ2F0aW9uUmVzdWx0LFxuICBSZXF1ZXN0RmllbGRzLFxuICBTZWFyY2hGaWx0ZXJzLFxuICBTb3J0UGFyYW1zLFxuICBUZXJtc0FnZ3JlZ2F0aW9uUmVzdWx0LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjJ1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMnXG5pbXBvcnQgeyBmb3JtYXREYXRlLCBpc0RhdGVSYW5nZSB9IGZyb20gJy4vZGF0ZS1yYW5nZS51dGlscydcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbmV4cG9ydCB0eXBlIERhdGVSYW5nZSA9IHsgc3RhcnQ/OiBEYXRlOyBlbmQ/OiBEYXRlIH1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVsYXN0aWNzZWFyY2hTZXJ2aWNlIHtcbiAgLy8gcnVudGltZSBmaWVsZHMgYXJlIGNvbXB1dGVkIHVzaW5nIGEgUGFpbmxlc3Mgc2NyaXB0XG4gIC8vIHNlZTogaHR0cHM6Ly93d3cuZWxhc3RpYy5jby9ndWlkZS9lbi9lbGFzdGljc2VhcmNoL3JlZmVyZW5jZS9jdXJyZW50L3J1bnRpbWUtbWFwcGluZy1maWVsZHMuaHRtbFxuICBwcml2YXRlIHJ1bnRpbWVGaWVsZHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fVxuICBwcml2YXRlIGxhbmczID0gdGhpcy5sYW5nU2VydmljZS5pc28zXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsYW5nU2VydmljZTogTGFuZ1NlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNRVRBREFUQV9MQU5HVUFHRSkgcHJpdmF0ZSBtZXRhZGF0YUxhbmc6IHN0cmluZ1xuICApIHt9XG5cbiAgZ2V0U2VhcmNoUmVxdWVzdEJvZHkoXG4gICAgYWdncmVnYXRpb25zOiBhbnkgPSB7fSxcbiAgICBzaXplID0gMCxcbiAgICBmcm9tID0gMCxcbiAgICBzb3J0Qnk6IFNvcnRCeUZpZWxkID0gbnVsbCxcbiAgICByZXF1ZXN0RmllbGRzOiBSZXF1ZXN0RmllbGRzID0gbnVsbCxcbiAgICBzZWFyY2hGaWx0ZXJzOiBTZWFyY2hGaWx0ZXJzID0ge30sXG4gICAgY29uZmlnRmlsdGVyczogU2VhcmNoRmlsdGVycyA9IHt9LFxuICAgIHV1aWRzPzogc3RyaW5nW10sXG4gICAgZ2VvbWV0cnk/OiBHZW9tZXRyeVxuICApOiBFc1NlYXJjaFBhcmFtcyB7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIGFnZ3JlZ2F0aW9ucyxcbiAgICAgIGZyb20sXG4gICAgICBzaXplLFxuICAgICAgc29ydDogdGhpcy5idWlsZFBheWxvYWRTb3J0KHNvcnRCeSksXG4gICAgICBxdWVyeTogdGhpcy5idWlsZFBheWxvYWRRdWVyeShcbiAgICAgICAgc2VhcmNoRmlsdGVycyxcbiAgICAgICAgY29uZmlnRmlsdGVycyxcbiAgICAgICAgdXVpZHMsXG4gICAgICAgIGdlb21ldHJ5XG4gICAgICApLFxuICAgICAgLi4uKHNpemUgPiAwID8geyB0cmFja190b3RhbF9oaXRzOiB0cnVlIH0gOiB7fSksXG4gICAgICAuLi4ocmVxdWVzdEZpZWxkcyAmJiB7IF9zb3VyY2U6IHJlcXVlc3RGaWVsZHMgfSksXG4gICAgfVxuICAgIHRoaXMucHJvY2Vzc1J1bnRpbWVGaWVsZHMocGF5bG9hZClcbiAgICByZXR1cm4gcGF5bG9hZFxuICB9XG5cbiAgLy8gcGF5bG9hZCBvYmplY3Qgd2lsbCBiZSBtdXRhdGVkXG4gIHByaXZhdGUgcHJvY2Vzc1J1bnRpbWVGaWVsZHMocGF5bG9hZDogRXNTZWFyY2hQYXJhbXMpOiBFc1NlYXJjaFBhcmFtcyB7XG4gICAgY29uc3QgYWRkTWFwcGluZyA9IChmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCFwYXlsb2FkLnJ1bnRpbWVfbWFwcGluZ3MpIHBheWxvYWQucnVudGltZV9tYXBwaW5ncyA9IHt9XG4gICAgICBwYXlsb2FkLnJ1bnRpbWVfbWFwcGluZ3NbZmllbGROYW1lXSA9IHtcbiAgICAgICAgdHlwZTogJ2tleXdvcmQnLFxuICAgICAgICBzY3JpcHQ6IHRoaXMucnVudGltZUZpZWxkc1tmaWVsZE5hbWVdLFxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBsb29rRm9yRmllbGQgPSAobm9kZTogdW5rbm93bikgPT4ge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobm9kZSkpIHtcbiAgICAgICAgbm9kZS5mb3JFYWNoKGxvb2tGb3JGaWVsZClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIG5vZGUgIT09ICdvYmplY3QnKSByZXR1cm5cbiAgICAgIGlmICgnZmllbGQnIGluIG5vZGUgJiYgdHlwZW9mIG5vZGUuZmllbGQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmIChub2RlLmZpZWxkIGluIHRoaXMucnVudGltZUZpZWxkcykge1xuICAgICAgICAgIGFkZE1hcHBpbmcobm9kZS5maWVsZClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBydW50aW1lRmllbGQgaW4gdGhpcy5ydW50aW1lRmllbGRzKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBydW50aW1lRmllbGQgaW4gbm9kZSAmJlxuICAgICAgICAgIChub2RlW3J1bnRpbWVGaWVsZF0gPT09ICdhc2MnIHx8IG5vZGVbcnVudGltZUZpZWxkXSA9PT0gJ2Rlc2MnKVxuICAgICAgICApIHtcbiAgICAgICAgICBhZGRNYXBwaW5nKHJ1bnRpbWVGaWVsZClcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgJ3F1ZXJ5JyBpbiBub2RlICYmXG4gICAgICAgICAgdHlwZW9mIG5vZGUucXVlcnkgPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgbm9kZS5xdWVyeS5pbmRleE9mKHJ1bnRpbWVGaWVsZCArICc6JykgPiAtMVxuICAgICAgICApIHtcbiAgICAgICAgICBhZGRNYXBwaW5nKHJ1bnRpbWVGaWVsZClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gbm9kZSkge1xuICAgICAgICBpZiAodHlwZW9mIG5vZGVba2V5XSA9PT0gJ29iamVjdCcpIGxvb2tGb3JGaWVsZChub2RlW2tleV0pXG4gICAgICB9XG4gICAgfVxuICAgIGxvb2tGb3JGaWVsZChwYXlsb2FkLmFnZ3JlZ2F0aW9ucylcbiAgICBsb29rRm9yRmllbGQocGF5bG9hZC5zb3J0KVxuICAgIGxvb2tGb3JGaWVsZChwYXlsb2FkLnF1ZXJ5KVxuICAgIHJldHVybiBwYXlsb2FkXG4gIH1cblxuICByZWdpc3RlclJ1bnRpbWVGaWVsZChmaWVsZE5hbWU6IHN0cmluZywgZXhwcmVzc2lvbjogc3RyaW5nKSB7XG4gICAgdGhpcy5ydW50aW1lRmllbGRzW2ZpZWxkTmFtZV0gPSBleHByZXNzaW9uXG4gIH1cblxuICBnZXRNZXRhZGF0YUJ5SWRQYXlsb2FkKHV1aWQ6IHN0cmluZyk6IEVzU2VhcmNoUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6IHtcbiAgICAgICAgaWRzOiB7XG4gICAgICAgICAgdmFsdWVzOiBbdXVpZF0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH1cbiAgfVxuXG4gIGdldFJlbGF0ZWRSZWNvcmRQYXlsb2FkKFxuICAgIHJlY29yZDogQ2F0YWxvZ1JlY29yZCxcbiAgICBzaXplID0gNixcbiAgICBfc291cmNlID0gWy4uLkVTX1NPVVJDRV9TVU1NQVJZLCAnYWxsS2V5d29yZHMnLCAnY3JlYXRlRGF0ZSddXG4gICk6IEVzU2VhcmNoUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6IHtcbiAgICAgICAgYm9vbDoge1xuICAgICAgICAgIG11c3Q6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbW9yZV9saWtlX3RoaXM6IHtcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgICdyZXNvdXJjZVRpdGxlT2JqZWN0LmRlZmF1bHQnLFxuICAgICAgICAgICAgICAgICAgJ3Jlc291cmNlQWJzdHJhY3RPYmplY3QuZGVmYXVsdCcsXG4gICAgICAgICAgICAgICAgICAnYWxsS2V5d29yZHMnLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgbGlrZTogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkb2M6IHtcbiAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZVRpdGxlT2JqZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiByZWNvcmQudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZUFic3RyYWN0T2JqZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiByZWNvcmQuYWJzdHJhY3QsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBhbGxLZXl3b3JkczogcmVjb3JkLmtleXdvcmRzLm1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXl3b3JkKSA9PiBrZXl3b3JkLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBtaW5fdGVybV9mcmVxOiAxLFxuICAgICAgICAgICAgICAgIG1heF9xdWVyeV90ZXJtczogMTIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXJtczoge1xuICAgICAgICAgICAgICAgIGlzVGVtcGxhdGU6IFsnbiddLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGVybXM6IHtcbiAgICAgICAgICAgICAgICBkcmFmdDogWyduJywgJ2UnXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBtdXN0X25vdDogW3sgd2lsZGNhcmQ6IHsgdXVpZDogcmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIgfSB9XSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzaXplLFxuICAgICAgX3NvdXJjZSxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUGF5bG9hZFNvcnQoc29ydEJ5OiBTb3J0QnlGaWVsZCk6IFNvcnRQYXJhbXMge1xuICAgIGlmIChzb3J0QnkgPT09IG51bGwpIHJldHVybiB1bmRlZmluZWRcbiAgICBjb25zdCBmaWVsZHMgPSBBcnJheS5pc0FycmF5KHNvcnRCeVswXSkgPyBzb3J0QnkgOiBbc29ydEJ5XVxuICAgIHJldHVybiBmaWVsZHMubWFwKChmaWVsZCkgPT4gKHsgW2ZpZWxkWzFdXTogZmllbGRbMF0gfSkpXG4gIH1cblxuICBwcml2YXRlIGluamVjdExhbmdJblF1ZXJ5U3RyaW5nRmllbGRzKFxuICAgIHF1ZXJ5RmllbGRzUHJpb3JpdHk6IEVzUXVlcnlGaWVsZHNQcmlvcml0eVR5cGVcbiAgKSB7XG4gICAgY29uc3QgcXVlcnlMYW5nID0gdGhpcy5nZXRRdWVyeUxhbmcoKVxuICAgIHJldHVybiBPYmplY3Qua2V5cyhxdWVyeUZpZWxkc1ByaW9yaXR5KS5yZWR1Y2UoKHF1ZXJ5LCBmaWVsZCkgPT4ge1xuICAgICAgY29uc3QgbXVsdGlMYW5nUmVnRXhwID0gL1xcJFxce3NlYXJjaExhbmdcXH0vZ1xuICAgICAgY29uc3QgaXNNdWx0aWxhbmdGaWVsZCA9IG11bHRpTGFuZ1JlZ0V4cC50ZXN0KGZpZWxkKVxuICAgICAgY29uc3QgZmllbGRQcmlvcml0eSA9IHF1ZXJ5RmllbGRzUHJpb3JpdHlbZmllbGRdXG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5xdWVyeSxcbiAgICAgICAgLi4uKHRoaXMuaXNDdXJyZW50U2VhcmNoTGFuZygpICYmIGlzTXVsdGlsYW5nRmllbGRcbiAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgYCR7ZmllbGQucmVwbGFjZShtdWx0aUxhbmdSZWdFeHAsIHF1ZXJ5TGFuZyl9XiR7XG4gICAgICAgICAgICAgICAgZmllbGRQcmlvcml0eSArIDEwXG4gICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgICBmaWVsZC5yZXBsYWNlKG11bHRpTGFuZ1JlZ0V4cCwgJyonKSArXG4gICAgICAgICAgICAgICAgKGZpZWxkUHJpb3JpdHkgPiAxID8gYF4ke2ZpZWxkUHJpb3JpdHl9YCA6ICcnKSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgZmllbGQucmVwbGFjZShtdWx0aUxhbmdSZWdFeHAsIHF1ZXJ5TGFuZykgK1xuICAgICAgICAgICAgICAgIChmaWVsZFByaW9yaXR5ID4gMSA/IGBeJHtmaWVsZFByaW9yaXR5fWAgOiAnJyksXG4gICAgICAgICAgICBdKSxcbiAgICAgIF1cbiAgICB9LCBbXSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UXVlcnlMYW5nKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubWV0YWRhdGFMYW5nKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0N1cnJlbnRTZWFyY2hMYW5nKClcbiAgICAgICAgPyBgbGFuZyR7dGhpcy5sYW5nM31gXG4gICAgICAgIDogYGxhbmcke3RoaXMubWV0YWRhdGFMYW5nfWBcbiAgICB9IGVsc2UgcmV0dXJuICcqJ1xuICB9XG4gIHByaXZhdGUgaXNDdXJyZW50U2VhcmNoTGFuZygpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhZGF0YUxhbmcgPT09ICdjdXJyZW50J1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJzVG9RdWVyeShcbiAgICBmaWx0ZXJzOiBGaWVsZEZpbHRlcnMgfCBGaWx0ZXJzQWdncmVnYXRpb25QYXJhbXMgfCBzdHJpbmdcbiAgKTogRmlsdGVyUXVlcnkge1xuICAgIGNvbnN0IGFkZFF1b3RlID0gKGtleTogc3RyaW5nKSA9PiAoL15cXC8uK1xcLyQvLnRlc3Qoa2V5KSA/IGtleSA6IGBcIiR7a2V5fVwiYClcbiAgICBjb25zdCBtYWtlUXVlcnkgPSAoZmlsdGVyOiBGaWVsZEZpbHRlcik6IHN0cmluZyA9PiB7XG4gICAgICBpZiAodHlwZW9mIGZpbHRlciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGZpbHRlclxuICAgICAgfVxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGZpbHRlcilcbiAgICAgICAgLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgICAgaWYgKGZpbHRlcltrZXldID09PSB0cnVlKSB7XG4gICAgICAgICAgICByZXR1cm4gYWRkUXVvdGUoa2V5KVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYC0ke2FkZFF1b3RlKGtleSl9YFxuICAgICAgICB9KVxuICAgICAgICAuam9pbignIE9SICcpXG4gICAgfVxuICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID1cbiAgICAgIHR5cGVvZiBmaWx0ZXJzID09PSAnc3RyaW5nJ1xuICAgICAgICA/IGZpbHRlcnNcbiAgICAgICAgOiBPYmplY3Qua2V5cyhmaWx0ZXJzKVxuICAgICAgICAgICAgLmZpbHRlcigoZmllbGRuYW1lKSA9PiAhaXNEYXRlUmFuZ2UoZmlsdGVyc1tmaWVsZG5hbWVdKSlcbiAgICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAgIChmaWVsZG5hbWUpID0+XG4gICAgICAgICAgICAgICAgZmlsdGVyc1tmaWVsZG5hbWVdICYmXG4gICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoZmlsdGVyc1tmaWVsZG5hbWVdKSAhPT0gJ3t9J1xuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgKGZpZWxkbmFtZSkgPT4gYCR7ZmllbGRuYW1lfTooJHttYWtlUXVlcnkoZmlsdGVyc1tmaWVsZG5hbWVdKX0pYFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmpvaW4oJyBBTkQgJylcbiAgICBjb25zdCBxdWVyeVJhbmdlID0gT2JqZWN0LmVudHJpZXMoZmlsdGVycylcbiAgICAgIC5maWx0ZXIoKFssIHZhbHVlXSkgPT4gaXNEYXRlUmFuZ2UodmFsdWUpKVxuICAgICAgLm1hcCgoW3NlYXJjaEZpZWxkLCBkYXRlUmFuZ2VdKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc2VhcmNoRmllbGQsXG4gICAgICAgICAgZGF0ZVJhbmdlLFxuICAgICAgICB9IGFzIHtcbiAgICAgICAgICBzZWFyY2hGaWVsZDogc3RyaW5nXG4gICAgICAgICAgZGF0ZVJhbmdlOiBEYXRlUmFuZ2VcbiAgICAgICAgfVxuICAgICAgfSlbMF1cbiAgICBjb25zdCBxdWVyeVBhcnRzID0gW1xuICAgICAgcXVlcnlTdHJpbmcgJiYge1xuICAgICAgICBxdWVyeV9zdHJpbmc6IHtcbiAgICAgICAgICBxdWVyeTogcXVlcnlTdHJpbmcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcXVlcnlSYW5nZSAmJlxuICAgICAgICBxdWVyeVJhbmdlLmRhdGVSYW5nZSAmJiB7XG4gICAgICAgICAgcmFuZ2U6IHtcbiAgICAgICAgICAgIFtxdWVyeVJhbmdlLnNlYXJjaEZpZWxkXToge1xuICAgICAgICAgICAgICAuLi4ocXVlcnlSYW5nZS5kYXRlUmFuZ2Uuc3RhcnQgJiYge1xuICAgICAgICAgICAgICAgIGd0ZTogZm9ybWF0RGF0ZShxdWVyeVJhbmdlLmRhdGVSYW5nZS5zdGFydCksXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAuLi4ocXVlcnlSYW5nZS5kYXRlUmFuZ2UuZW5kICYmIHtcbiAgICAgICAgICAgICAgICBsdGU6IGZvcm1hdERhdGUocXVlcnlSYW5nZS5kYXRlUmFuZ2UuZW5kKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIGZvcm1hdDogJ3l5eXktTU0tZGQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pXG4gICAgcmV0dXJuIHF1ZXJ5UGFydHMubGVuZ3RoID4gMCA/IChxdWVyeVBhcnRzIGFzIEZpbHRlclF1ZXJ5KSA6IHVuZGVmaW5lZFxuICB9XG5cbiAgcHJpdmF0ZSBtdXN0Tm90RmlsdGVycygpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBxdWVyeV9zdHJpbmc6IHtcbiAgICAgICAgICBxdWVyeTpcbiAgICAgICAgICAgICdyZXNvdXJjZVR5cGU6ZmVhdHVyZUNhdGFsb2cgQU5EICFyZXNvdXJjZVR5cGU6ZGF0YXNldCBBTkQgIWNsX2xldmVsLmtleTpkYXRhc2V0JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFBheWxvYWRRdWVyeShcbiAgICB7IGFueSwgLi4uZmllbGRTZWFyY2hGaWx0ZXJzIH06IFNlYXJjaEZpbHRlcnMsXG4gICAgY29uZmlnRmlsdGVyczogU2VhcmNoRmlsdGVycyxcbiAgICB1dWlkcz86IHN0cmluZ1tdLFxuICAgIGdlb21ldHJ5PzogR2VvbWV0cnlcbiAgKSB7XG4gICAgY29uc3QgbXVzdCA9IFtdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICBjb25zdCBtdXN0X25vdCA9IHRoaXMubXVzdE5vdEZpbHRlcnMoKVxuICAgIGNvbnN0IHNob3VsZCA9IFtdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICBjb25zdCBmaWx0ZXIgPSBbdGhpcy5xdWVyeUZpbHRlck9uVmFsdWVzKCdpc1RlbXBsYXRlJywgJ24nKV0gYXMgUmVjb3JkPFxuICAgICAgc3RyaW5nLFxuICAgICAgdW5rbm93blxuICAgID5bXVxuXG4gICAgaWYgKGFueSkge1xuICAgICAgbXVzdC5wdXNoKHtcbiAgICAgICAgcXVlcnlfc3RyaW5nOiB7XG4gICAgICAgICAgcXVlcnk6IHRoaXMuZXNjYXBlU3BlY2lhbENoYXJhY3RlcnMoYW55KSxcbiAgICAgICAgICBkZWZhdWx0X29wZXJhdG9yOiAnQU5EJyxcbiAgICAgICAgICBmaWVsZHM6IHRoaXMuaW5qZWN0TGFuZ0luUXVlcnlTdHJpbmdGaWVsZHMoRVNfUVVFUllfRklFTERTX1BSSU9SSVRZKSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfVxuICAgIGNvbnN0IHF1ZXJ5RmlsdGVycyA9IHRoaXMuZmlsdGVyc1RvUXVlcnkoZmllbGRTZWFyY2hGaWx0ZXJzKVxuICAgIGlmIChxdWVyeUZpbHRlcnMpIHtcbiAgICAgIGZpbHRlci5wdXNoKC4uLnF1ZXJ5RmlsdGVycylcbiAgICB9XG4gICAgaWYgKHV1aWRzKSB7XG4gICAgICBmaWx0ZXIucHVzaCh7XG4gICAgICAgIGlkczoge1xuICAgICAgICAgIHZhbHVlczogdXVpZHMsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAoZ2VvbWV0cnkpIHtcbiAgICAgIHNob3VsZC5wdXNoKFxuICAgICAgICB7XG4gICAgICAgICAgZ2VvX3NoYXBlOiB7XG4gICAgICAgICAgICBnZW9tOiB7XG4gICAgICAgICAgICAgIHNoYXBlOiBnZW9tZXRyeSxcbiAgICAgICAgICAgICAgcmVsYXRpb246ICd3aXRoaW4nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJvb3N0OiAxMC4wLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBnZW9fc2hhcGU6IHtcbiAgICAgICAgICAgIGdlb206IHtcbiAgICAgICAgICAgICAgc2hhcGU6IGdlb21ldHJ5LFxuICAgICAgICAgICAgICByZWxhdGlvbjogJ2ludGVyc2VjdHMnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJvb3N0OiA3LjAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBib29sOiB7XG4gICAgICAgIG11c3QsXG4gICAgICAgIG11c3Rfbm90LFxuICAgICAgICBzaG91bGQsXG4gICAgICAgIGZpbHRlcixcbiAgICAgIH0sXG4gICAgfVxuICB9XG5cbiAgYnVpbGRNb3JlT25BZ2dyZWdhdGlvblBheWxvYWQoXG4gICAgYWdncmVnYXRpb25zOiBhbnksXG4gICAga2V5OiBzdHJpbmcsXG4gICAgc2VhcmNoRmlsdGVyczogU2VhcmNoRmlsdGVycyxcbiAgICBjb25maWdGaWx0ZXJzOiBTZWFyY2hGaWx0ZXJzXG4gICk6IEVzU2VhcmNoUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgYWdncmVnYXRpb25zOiB7IFtrZXldOiBhZ2dyZWdhdGlvbnNba2V5XSB9LFxuICAgICAgc2l6ZTogMCxcbiAgICAgIHF1ZXJ5OiB0aGlzLmJ1aWxkUGF5bG9hZFF1ZXJ5KHNlYXJjaEZpbHRlcnMsIGNvbmZpZ0ZpbHRlcnMpLFxuICAgIH1cbiAgfVxuXG4gIHF1ZXJ5RmlsdGVyT25WYWx1ZXMoa2V5LCB2YWx1ZXMpIHtcbiAgICByZXR1cm4gIXZhbHVlcyB8fCB2YWx1ZXMubGVuZ3RoIDw9IDBcbiAgICAgID8ge31cbiAgICAgIDoge1xuICAgICAgICAgIHRlcm1zOiB7XG4gICAgICAgICAgICBba2V5XTogWy4uLnZhbHVlc10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICB9XG5cbiAgYnVpbGRBdXRvY29tcGxldGVQYXlsb2FkKHF1ZXJ5OiBzdHJpbmcpOiBFc1NlYXJjaFBhcmFtcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHF1ZXJ5OiB7XG4gICAgICAgIGJvb2w6IHtcbiAgICAgICAgICBtdXN0OiBbXG4gICAgICAgICAgICB0aGlzLnF1ZXJ5RmlsdGVyT25WYWx1ZXMoJ2lzVGVtcGxhdGUnLCAnbicpLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBtdWx0aV9tYXRjaDoge1xuICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgIHR5cGU6ICdib29sX3ByZWZpeCcsXG4gICAgICAgICAgICAgICAgZmllbGRzOiB0aGlzLmluamVjdExhbmdJblF1ZXJ5U3RyaW5nRmllbGRzKHtcbiAgICAgICAgICAgICAgICAgICdyZXNvdXJjZVRpdGxlT2JqZWN0LiR7c2VhcmNoTGFuZ30nOiA0LFxuICAgICAgICAgICAgICAgICAgJ3Jlc291cmNlQWJzdHJhY3RPYmplY3QuJHtzZWFyY2hMYW5nfSc6IDMsXG4gICAgICAgICAgICAgICAgICB0YWc6IDIsXG4gICAgICAgICAgICAgICAgICByZXNvdXJjZUlkZW50aWZpZXI6IDEsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG5cbiAgICAgICAgICBtdXN0X25vdDogdGhpcy5tdXN0Tm90RmlsdGVycygpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIF9zb3VyY2U6IFsncmVzb3VyY2VUaXRsZU9iamVjdCcsICd1dWlkJywgJ3Jlc291cmNlVHlwZSddLFxuICAgICAgZnJvbTogMCxcbiAgICAgIHNpemU6IDIwLFxuICAgIH1cbiAgfVxuXG4gIGNvbWJpbmVRdWVyeUdyb3VwcyhxdWVyeUdyb3Vwcykge1xuICAgIHJldHVybiBxdWVyeUdyb3VwcyA/IHF1ZXJ5R3JvdXBzLmpvaW4oJyBBTkQgJykudHJpbSgpIDogJydcbiAgfVxuXG4gIC8qKlxuICAgKiBGYWNldHMgc3RhdGUgaXMgYW4gb2JqZWN0IGxpa2UgdGhpczpcbiAgICpcbiAgICoge1xuICAgKiAgICd0YWcnOiB7XG4gICAqICAgICAnd29ybGQnOiB0cnVlLFxuICAgKiAgICAgJ3ZlY3Rvcic6IHRydWVcbiAgICogICB9LFxuICAgKiAgICdhdmFpbGFibGVJblNlcnZpY2UnIDoge1xuICAgKiAgICAgJ2F2YWlsYWJsZUluVmlld1NlcnZpY2UnOiAnK2xpbmtQcm90b2NvbDpcXC9PR0M6V01TLipcXC8nXG4gICAqICAgfSxcbiAgICogICAncmVzb3VyY2VUeXBlJzoge1xuICAgKiAgICAgJ3NlcnZpY2UnOiB7XG4gICAqICAgICAgICdzZXJ2aWNlVHlwZSc6IHtcbiAgICogICAgICAgICAnT0dDOldNUyc6IHRydWVcbiAgICogICAgICAgICAnT0dDOldGUyc6IGZhbHNlXG4gICAqICAgICAgIH1cbiAgICogICAgIH0sXG4gICAqICAgICAnZG93bmxvYWQnOiB7XG4gICAqICAgICAgICdzZXJ2aWNlVHlwZSc6IHtcbiAgICogICAgICAgfVxuICAgKiAgICAgfSxcbiAgICogICAgICdkYXRhc2V0JzogdHJ1ZVxuICAgKiAgIH1cbiAgICogfVxuICAgKi9cbiAgLy8gRklYTUU6IHRoaXMgaXMgbm90IHVzZWQgYW55bW9yZVxuICBzdGF0ZUZpbHRlcnNUb1F1ZXJ5U3RyaW5nKGZhY2V0c1N0YXRlKSB7XG4gICAgY29uc3QgcXVlcnkgPSBbXVxuICAgIGZvciAoY29uc3QgaW5kZXhLZXkgaW4gZmFjZXRzU3RhdGUpIHtcbiAgICAgIGlmIChpbmRleEtleSBpbiBmYWNldHNTdGF0ZSkge1xuICAgICAgICBjb25zdCBxdWVyeUNodW5rID0gdGhpcy5wYXJzZVN0YXRlTm9kZShcbiAgICAgICAgICBpbmRleEtleSxcbiAgICAgICAgICBmYWNldHNTdGF0ZVtpbmRleEtleV0sXG4gICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgIClcbiAgICAgICAgaWYgKHF1ZXJ5Q2h1bmspIHtcbiAgICAgICAgICBxdWVyeS5wdXNoKHF1ZXJ5Q2h1bmspXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29tYmluZVF1ZXJ5R3JvdXBzKHF1ZXJ5KVxuICB9XG5cbiAgLy8gRklYTUU6IHRoaXMgaXMgbm90IHVzZWQgYW55bW9yZVxuICBwcml2YXRlIHBhcnNlU3RhdGVOb2RlKG5vZGVOYW1lLCBub2RlLCBpbmRleEtleSkge1xuICAgIGxldCBxdWVyeVN0cmluZyA9ICcnXG4gICAgaWYgKG5vZGUgJiYgdHlwZW9mIG5vZGUgPT09ICdvYmplY3QnKSB7XG4gICAgICBjb25zdCBjaHVua3MgPSBbXVxuICAgICAgZm9yIChjb25zdCBwIGluIG5vZGUpIHtcbiAgICAgICAgLy8gbmVzdGluZ1xuICAgICAgICBpZiAobm9kZVtwXSAmJiB0eXBlb2Ygbm9kZVtwXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBjb25zdCBuZXh0THZsS2V5ID0gT2JqZWN0LmtleXMobm9kZVtwXSlbMF1cbiAgICAgICAgICBjb25zdCBuZXh0THZsU3RhdGUgPSBub2RlW3BdW25leHRMdmxLZXldXG4gICAgICAgICAgaWYgKE9iamVjdC5rZXlzKG5leHRMdmxTdGF0ZSkubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBuZXN0ZWRDaHVua3MgPSBbbm9kZU5hbWUgKyAnOicgKyAnXCInICsgcCArICdcIiddXG4gICAgICAgICAgICBjb25zdCBjaHVuayA9IHRoaXMucGFyc2VTdGF0ZU5vZGUoXG4gICAgICAgICAgICAgIG5leHRMdmxLZXksXG4gICAgICAgICAgICAgIG5leHRMdmxTdGF0ZSxcbiAgICAgICAgICAgICAgbmV4dEx2bEtleVxuICAgICAgICAgICAgKS50cmltKClcbiAgICAgICAgICAgIGlmIChjaHVuaykge1xuICAgICAgICAgICAgICBuZXN0ZWRDaHVua3MucHVzaChjaHVuaylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNodW5rcy5wdXNoKCcoJyArIG5lc3RlZENodW5rcy5qb2luKCcgQU5EICcpICsgJyknKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBjaHVuayA9IHRoaXMucGFyc2VTdGF0ZU5vZGUocCwgbm9kZVtwXSwgbm9kZU5hbWUpLnRyaW0oKVxuICAgICAgICAgIGlmIChjaHVuaykge1xuICAgICAgICAgICAgY2h1bmtzLnB1c2goY2h1bmspXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY2h1bmtzICYmIGNodW5rcy5sZW5ndGgpIHtcbiAgICAgICAgcXVlcnlTdHJpbmcgKz0gJygnXG4gICAgICAgIHF1ZXJ5U3RyaW5nICs9IGNodW5rcy5qb2luKCcgJylcbiAgICAgICAgcXVlcnlTdHJpbmcgKz0gJyknXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygbm9kZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHF1ZXJ5U3RyaW5nICs9IG5vZGVcbiAgICB9IGVsc2UgaWYgKG5vZGUgPT09IHRydWUpIHtcbiAgICAgIHF1ZXJ5U3RyaW5nICs9IGluZGV4S2V5ICsgJzpcIicgKyBub2RlTmFtZSArICdcIidcbiAgICB9IGVsc2UgaWYgKG5vZGUgPT09IGZhbHNlKSB7XG4gICAgICBxdWVyeVN0cmluZyArPSAnLScgKyBpbmRleEtleSArICc6XCInICsgbm9kZU5hbWUgKyAnXCInXG4gICAgfVxuICAgIHJldHVybiBxdWVyeVN0cmluZ1xuICB9XG5cbiAgcHJpdmF0ZSBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVycyhxdWVyeXN0cmluZykge1xuICAgIHJldHVybiBxdWVyeXN0cmluZy5yZXBsYWNlKFxuICAgICAgLyhcXCt8LXxcXC98JiZ8XFx8XFx8fCF8XFx7fFxcfXxcXFt8XFxdXFxefH58XFw/fDp8XFxcXHsxfXxcXCh8XFwpKS9nLFxuICAgICAgJ1xcXFwkMSdcbiAgICApXG4gIH1cblxuICBidWlsZEFnZ3JlZ2F0aW9uc1BheWxvYWQoYWdncmVnYXRpb25zOiBBZ2dyZWdhdGlvbnNQYXJhbXMpOiBhbnkge1xuICAgIGNvbnN0IG1hcFRvRVNBZ2dyZWdhdGlvbiA9IChhZ2dyZWdhdGlvbjogQWdncmVnYXRpb25QYXJhbXMpID0+IHtcbiAgICAgIHN3aXRjaCAoYWdncmVnYXRpb24udHlwZSkge1xuICAgICAgICBjYXNlICdmaWx0ZXJzJzpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZmlsdGVyczoge1xuICAgICAgICAgICAgICBmaWx0ZXJzOiBPYmplY3Qua2V5cyhhZ2dyZWdhdGlvbi5maWx0ZXJzKS5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBhZ2dyZWdhdGlvbi5maWx0ZXJzW2N1cnJdXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgICAgICBbY3Vycl06IHRoaXMuZmlsdGVyc1RvUXVlcnkoZmlsdGVyKVswXSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sIHt9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICBjYXNlICd0ZXJtcyc6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRlcm1zOiB7XG4gICAgICAgICAgICAgIHNpemU6IGFnZ3JlZ2F0aW9uLmxpbWl0LFxuICAgICAgICAgICAgICBmaWVsZDogYWdncmVnYXRpb24uZmllbGQsXG4gICAgICAgICAgICAgIG9yZGVyOiB7XG4gICAgICAgICAgICAgICAgW2BfJHthZ2dyZWdhdGlvbi5zb3J0WzFdfWBdOiBhZ2dyZWdhdGlvbi5zb3J0WzBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIGNhc2UgJ2hpc3RvZ3JhbSc6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhpc3RvZ3JhbToge1xuICAgICAgICAgICAgICBmaWVsZDogYWdncmVnYXRpb24uZmllbGQsXG4gICAgICAgICAgICAgIGludGVydmFsOiBhZ2dyZWdhdGlvbi5pbnRlcnZhbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoYWdncmVnYXRpb25zKS5yZWR1Y2UoXG4gICAgICAocHJldiwgY3VycikgPT4gKHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgW2N1cnJdOiBtYXBUb0VTQWdncmVnYXRpb24oYWdncmVnYXRpb25zW2N1cnJdKSxcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApXG4gIH1cblxuICBwYXJzZUFnZ3JlZ2F0aW9uUmVzdWx0KFxuICAgIHJlc3VsdDogQWdncmVnYXRpb25SZXN1bHQsXG4gICAgcmVxdWVzdFBhcmFtOiBBZ2dyZWdhdGlvblBhcmFtc1xuICApOiBBZ2dyZWdhdGlvbiB7XG4gICAgc3dpdGNoIChyZXF1ZXN0UGFyYW0udHlwZSkge1xuICAgICAgY2FzZSAnZmlsdGVycyc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYnVja2V0czogT2JqZWN0LmtleXMoXG4gICAgICAgICAgICAocmVzdWx0IGFzIEZpbHRlcnNBZ2dyZWdhdGlvblJlc3VsdCkuYnVja2V0c1xuICAgICAgICAgICkubWFwKChrZXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJ1Y2tldCA9IChyZXN1bHQgYXMgRmlsdGVyc0FnZ3JlZ2F0aW9uUmVzdWx0KS5idWNrZXRzW2tleV1cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHRlcm06IGtleSxcbiAgICAgICAgICAgICAgY291bnQ6IGJ1Y2tldC5kb2NfY291bnQsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgIH1cbiAgICAgIGNhc2UgJ3Rlcm1zJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBidWNrZXRzOiAocmVzdWx0IGFzIFRlcm1zQWdncmVnYXRpb25SZXN1bHQpLmJ1Y2tldHMubWFwKChidWNrZXQpID0+ICh7XG4gICAgICAgICAgICB0ZXJtOiBidWNrZXQua2V5LFxuICAgICAgICAgICAgY291bnQ6IGJ1Y2tldC5kb2NfY291bnQsXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9XG4gICAgICBjYXNlICdoaXN0b2dyYW0nOiB7XG4gICAgICAgIGNvbnN0IGhpc3RvZ3JhbVJlc3VsdCA9IHJlc3VsdCBhcyBIaXN0b2dyYW1BZ2dyZWdhdGlvblJlc3VsdFxuICAgICAgICBsZXQgYnVja2V0cyA9IEFycmF5LmlzQXJyYXkoaGlzdG9ncmFtUmVzdWx0LmJ1Y2tldHMpXG4gICAgICAgICAgPyBoaXN0b2dyYW1SZXN1bHQuYnVja2V0c1xuICAgICAgICAgIDogT2JqZWN0LmtleXMoaGlzdG9ncmFtUmVzdWx0LmJ1Y2tldHMpLm1hcChcbiAgICAgICAgICAgICAgKGtleSkgPT4gaGlzdG9ncmFtUmVzdWx0LmJ1Y2tldHNba2V5XVxuICAgICAgICAgICAgKVxuICAgICAgICBidWNrZXRzID0gYnVja2V0cy5tYXAoKGJ1Y2tldCwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgbG93VmFsdWU6IGJ1Y2tldC5rZXksXG4gICAgICAgICAgaGlnaFZhbHVlOiBidWNrZXRzW2luZGV4ICsgMV0/LmtleSwgLy8gdGhpcyB3aWxsIHJldHVybiB1bmRlZmluZWQgb24gdGhlIGxhc3QgZWxlbWVudCAod2hpY2ggd2UgcmVtb3ZlIGxhdGVyKVxuICAgICAgICAgIGNvdW50OiBidWNrZXQuZG9jX2NvdW50LFxuICAgICAgICB9KSlcbiAgICAgICAgYnVja2V0cy5wb3AoKSAvLyBzZWUgYWJvdmVcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBidWNrZXRzLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { PlatformServiceInterface } from '../../../../../../libs/common/domain/src/lib/platform.service.interface';
|
|
2
2
|
import { Gn4PlatformService } from './platform/gn4-platform.service';
|
|
3
3
|
import { Gn4PlatformMapper } from './platform/gn4-platform.mapper';
|
|
4
|
+
import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain/src/lib/repository/records-repository.interface';
|
|
5
|
+
import { Gn4Repository } from './gn4-repository';
|
|
4
6
|
export function provideGn4() {
|
|
5
7
|
return [
|
|
6
8
|
{
|
|
7
9
|
provide: PlatformServiceInterface,
|
|
8
10
|
useClass: Gn4PlatformService,
|
|
9
11
|
},
|
|
12
|
+
{
|
|
13
|
+
provide: RecordsRepositoryInterface,
|
|
14
|
+
useClass: Gn4Repository,
|
|
15
|
+
},
|
|
10
16
|
Gn4PlatformMapper,
|
|
11
17
|
];
|
|
12
18
|
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMvbGliL2duNC9nbjQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUVBQXlFLENBQUE7QUFDbEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0ZBQXNGLENBQUE7QUFDakksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWhELE1BQU0sVUFBVSxVQUFVO0lBQ3hCLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsUUFBUSxFQUFFLGtCQUFrQjtTQUM3QjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxRQUFRLEVBQUUsYUFBYTtTQUN4QjtRQUNELGlCQUFpQjtLQUNsQixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgR240UGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9wbGF0Zm9ybS9nbjQtcGxhdGZvcm0uc2VydmljZSdcbmltcG9ydCB7IEduNFBsYXRmb3JtTWFwcGVyIH0gZnJvbSAnLi9wbGF0Zm9ybS9nbjQtcGxhdGZvcm0ubWFwcGVyJ1xuaW1wb3J0IHsgUmVjb3Jkc1JlcG9zaXRvcnlJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9yZXBvc2l0b3J5L3JlY29yZHMtcmVwb3NpdG9yeS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBHbjRSZXBvc2l0b3J5IH0gZnJvbSAnLi9nbjQtcmVwb3NpdG9yeSdcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVHbjQoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlLFxuICAgICAgdXNlQ2xhc3M6IEduNFBsYXRmb3JtU2VydmljZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlLFxuICAgICAgdXNlQ2xhc3M6IEduNFJlcG9zaXRvcnksXG4gICAgfSxcbiAgICBHbjRQbGF0Zm9ybU1hcHBlcixcbiAgXVxufVxuIl19
|
|
@@ -47,4 +47,4 @@ export const RecordStatusValues = [
|
|
|
47
47
|
'deprecated',
|
|
48
48
|
'removed',
|
|
49
49
|
];
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBZ0JoRSxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUVoRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxTQUFTO0lBQ1QsWUFBWTtJQUNaLFVBQVU7SUFDVixXQUFXO0lBQ1gsV0FBVztJQUNYLFVBQVU7SUFDVixPQUFPO0lBQ1AsUUFBUTtJQUNSLGFBQWE7SUFDYixhQUFhO0lBQ2IsU0FBUztJQUNULFdBQVc7SUFDWCxZQUFZO0lBQ1osVUFBVTtJQUNWLFlBQVk7Q0FDSixDQUFBO0FBSVYsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUE7QUFDM0MsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUE7QUFDNUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFDN0MsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUE7QUFFNUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFDN0MsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUE7QUFDL0MsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7QUFDakQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDbEQsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFVbEQsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7QUFDeEMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUE7QUFDekMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFFdEMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsV0FBVztJQUNYLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFNBQVM7Q0FDVixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHR5cGUgeyBJbmRpdmlkdWFsIH0gZnJvbSAnLi9jb250YWN0Lm1vZGVsJ1xuaW1wb3J0IHR5cGUgeyBPcmdhbml6YXRpb24gfSBmcm9tICcuL29yZ2FuaXphdGlvbi5tb2RlbCdcbmltcG9ydCB0eXBlIHsgR2VvbWV0cnkgfSBmcm9tICdnZW9qc29uJ1xuaW1wb3J0IHsgS2V5d29yZFR5cGUsIFRoZXNhdXJ1c01vZGVsIH0gZnJvbSAnLi4vdGhlc2F1cnVzJ1xuaW1wb3J0IHtcbiAgQ29uc3RyYWludFRyYW5zbGF0aW9ucyxcbiAgS2V5d29yZFRyYW5zbGF0aW9ucyxcbiAgTGFuZ3VhZ2VDb2RlLFxuICBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9ucyxcbiAgUmVjb3JkVHJhbnNsYXRpb25zLFxuICBTcGF0aWFsRXh0ZW50VHJhbnNsYXRpb25zLFxufSBmcm9tICcuL3RyYW5zbGF0aW9uLm1vZGVsJ1xuXG50eXBlIFV1aWQgPSBzdHJpbmdcblxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS51bmtub3duJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kubm90UGxhbm5lZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmFzTmVlZGVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuaXJyZWd1bGFyJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuY29udGludWFsJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kucGVyaW9kaWMnKVxuXG5leHBvcnQgY29uc3QgdXBkYXRlRnJlcXVlbmN5Q29kZVZhbHVlcyA9IFtcbiAgJ3Vua25vd24nLFxuICAnbm90UGxhbm5lZCcsXG4gICdhc05lZWRlZCcsXG4gICdpcnJlZ3VsYXInLFxuICAnY29udGludWFsJyxcbiAgJ3BlcmlvZGljJyxcbiAgJ2RhaWx5JyxcbiAgJ3dlZWtseScsXG4gICdmb3J0bmlnaHRseScsXG4gICdzZW1pbW9udGhseScsXG4gICdtb250aGx5JyxcbiAgJ3F1YXJ0ZXJseScsXG4gICdiaWFubnVhbGx5JyxcbiAgJ2FubnVhbGx5JyxcbiAgJ2JpZW5uaWFsbHknLFxuXSBhcyBjb25zdFxuXG5leHBvcnQgdHlwZSBVcGRhdGVGcmVxdWVuY3lDb2RlID0gKHR5cGVvZiB1cGRhdGVGcmVxdWVuY3lDb2RlVmFsdWVzKVtudW1iZXJdXG5cbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuZGF5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kud2VlaycpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5Lm1vbnRoJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kueWVhcicpXG5cbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuZGFpbHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS53ZWVrbHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5mb3J0bmlnaHRseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5Lm1vbnRobHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5xdWFydGVybHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5iaWFubnVhbGx5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuYW5udWFsbHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5zZW1pbW9udGhseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmJpZW5uaWFsbHknKVxuXG5leHBvcnQgdHlwZSBVcGRhdGVGcmVxdWVuY3lDdXN0b20gPSB7XG4gIHVwZGF0ZWRUaW1lczogbnVtYmVyIC8vIHRoaXMgc2hvdWxkIGJlIGFuIGludGVnZXJcbiAgcGVyOiAnZGF5JyB8ICd3ZWVrJyB8ICdtb250aCcgfCAneWVhcidcbn1cbmV4cG9ydCB0eXBlIFVwZGF0ZUZyZXF1ZW5jeSA9IFVwZGF0ZUZyZXF1ZW5jeUNvZGUgfCBVcGRhdGVGcmVxdWVuY3lDdXN0b21cblxuZXhwb3J0IHR5cGUgUmVjb3JkS2luZCA9ICdkYXRhc2V0JyB8ICdzZXJ2aWNlJyB8ICdyZXVzZSdcblxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy5jb21wbGV0ZWQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy5vbmdvaW5nJylcbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMudW5kZXJfZGV2ZWxvcG1lbnQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy5kZXByZWNhdGVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMucmVtb3ZlZCcpXG5cbmV4cG9ydCBjb25zdCBSZWNvcmRTdGF0dXNWYWx1ZXMgPSBbXG4gICdjb21wbGV0ZWQnLFxuICAnb25nb2luZycsXG4gICd1bmRlcl9kZXZlbG9wbWVudCcsXG4gICdkZXByZWNhdGVkJyxcbiAgJ3JlbW92ZWQnLFxuXVxuZXhwb3J0IHR5cGUgUmVjb3JkU3RhdHVzID0gKHR5cGVvZiBSZWNvcmRTdGF0dXNWYWx1ZXMpW251bWJlcl1cblxuZXhwb3J0IHR5cGUgQ29uc3RyYWludCA9IHtcbiAgdGV4dDogc3RyaW5nXG4gIHVybD86IFVSTFxuXG4gIHRyYW5zbGF0aW9ucz86IENvbnN0cmFpbnRUcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IHR5cGUgU3BhdGlhbFJlcHJlc2VudGF0aW9uVHlwZSA9XG4gIHwgJ2dyaWQnXG4gIHwgJ3ZlY3RvcidcbiAgfCAndGluJ1xuICB8ICd0YWJsZSdcbiAgfCAncG9pbnQnXG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5d29yZCB7XG4gIGtleT86IHN0cmluZ1xuICBsYWJlbDogc3RyaW5nXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIHR5cGU6IEtleXdvcmRUeXBlXG4gIHRoZXNhdXJ1cz86IFRoZXNhdXJ1c01vZGVsXG4gIGJib3g/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXVxuXG4gIHRyYW5zbGF0aW9ucz86IEtleXdvcmRUcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlUmVjb3JkIHtcbiAgdW5pcXVlSWRlbnRpZmllcjogVXVpZFxuICBvd25lck9yZ2FuaXphdGlvbjogT3JnYW5pemF0aW9uXG4gIGNvbnRhY3RzOiBBcnJheTxJbmRpdmlkdWFsPlxuICB0aXRsZTogc3RyaW5nXG4gIGFic3RyYWN0OiBzdHJpbmdcbiAgcmVjb3JkQ3JlYXRlZD86IERhdGVcbiAgcmVjb3JkUHVibGlzaGVkPzogRGF0ZVxuICByZWNvcmRVcGRhdGVkOiBEYXRlXG4gIGtpbmQ6IFJlY29yZEtpbmRcbiAgdG9waWNzOiBBcnJheTxzdHJpbmc+IC8vIFRPRE86IGhhbmRsZSBjb2RlbGlzdHNcbiAga2V5d29yZHM6IEFycmF5PEtleXdvcmQ+XG4gIGxpY2Vuc2VzOiBBcnJheTxDb25zdHJhaW50PlxuICBsZWdhbENvbnN0cmFpbnRzOiBBcnJheTxDb25zdHJhaW50PlxuICBzZWN1cml0eUNvbnN0cmFpbnRzOiBBcnJheTxDb25zdHJhaW50PlxuICBvdGhlckNvbnN0cmFpbnRzOiBBcnJheTxDb25zdHJhaW50PlxuICBvdmVydmlld3M6IEFycmF5PEdyYXBoaWNPdmVydmlldz5cbiAgZXh0cmFzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgbGFuZGluZ1BhZ2U/OiBVUkxcbiAgdXBkYXRlRnJlcXVlbmN5PzogVXBkYXRlRnJlcXVlbmN5XG5cbiAgLy8gaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGUgcmVzb3VyY2UgKGRhdGFzZXQsIHNlcnZpY2UpXG4gIHJlc291cmNlSWRlbnRpZmllcj86IHN0cmluZ1xuICBjb250YWN0c0ZvclJlc291cmNlOiBBcnJheTxJbmRpdmlkdWFsPlxuICByZXNvdXJjZUNyZWF0ZWQ/OiBEYXRlXG4gIHJlc291cmNlUHVibGlzaGVkPzogRGF0ZVxuICByZXNvdXJjZVVwZGF0ZWQ/OiBEYXRlXG5cbiAgLy8gbXVsdGlsaW5ndWFsIHN1cHBvcnRcbiAgZGVmYXVsdExhbmd1YWdlOiBMYW5ndWFnZUNvZGVcbiAgb3RoZXJMYW5ndWFnZXM6IEFycmF5PExhbmd1YWdlQ29kZT4gLy8gdGhpcyBzaG91bGQgaW5jbHVkZSBhbGwgbm9uLWRlZmF1bHQgbGFuZ3VhZ2VzIHByZXNlbnQgaW4gdGhlIG1ldGFkYXRhLCBldmVuIGlmIGluY29tcGxldGVseSB0cmFuc2xhdGVkXG5cbiAgdHJhbnNsYXRpb25zPzogUmVjb3JkVHJhbnNsYXRpb25zXG5cbiAgLy8gdG8gYWRkOiBjYW5vbmljYWwgdXJsXG4gIC8vIHRvIGFkZDogc291cmNlIGNhdGFsb2cgKD8/KVxuICAvLyB0byBhZGQ6IGlzIG9wZW4gZGF0YSA/XG59XG5cbi8vIFRPRE86IGhhbmRsZSBhY3R1YWwgY29kZWxpc3RzXG5leHBvcnQgdHlwZSBTZXJ2aWNlUHJvdG9jb2wgPVxuICB8ICd3bXMnXG4gIHwgJ3dmcydcbiAgfCAnd3BzJ1xuICB8ICd3bXRzJ1xuICB8ICdlc3JpUmVzdCdcbiAgfCAnb2djRmVhdHVyZXMnXG4gIHwgJ0dQRkRMJ1xuICB8ICdvdGhlcidcblxuZXhwb3J0IHR5cGUgT25saW5lUmVzb3VyY2VUeXBlID0gJ3NlcnZpY2UnIHwgJ2Rvd25sb2FkJyB8ICdsaW5rJyB8ICdlbmRwb2ludCdcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbiB7XG4gIHR5cGU6ICdzZXJ2aWNlJ1xuICB1cmw6IFVSTFxuICBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2w6IFNlcnZpY2VQcm90b2NvbFxuICBpZGVudGlmaWVySW5TZXJ2aWNlPzogc3RyaW5nIC8vIHNob3VsZCB3ZSBrZWVwIHRoZSBpZGVudGlmaWVySW5TZXJ2aWNlPyByZWFkLXdyaXRlIGR1cGxpY2F0ZSB3aXRoIG5hbWVcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9uc1xuICBhY2Nlc3NSZXN0cmljdGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvbiB7XG4gIHR5cGU6ICdkb3dubG9hZCdcbiAgdXJsOiBVUkxcbiAgbWltZVR5cGU/OiBzdHJpbmdcbiAgc2l6ZUJ5dGVzPzogbnVtYmVyXG4gIC8vIHJlbW92ZWQgYmVjYXVzZSB3aGF0J3MgdGhlIHVzZT8gZW5jb2RpbmcgY2FuIGJlIGV4cG9zZWQgYnkgdGhlIGZpbGUgc2VydmVyIG9yXG4gIC8vIGV2ZW4gZm91bmQgb3V0IGJ5IHRyaWFsIGFuZCBlcnJvcjsgYmVzaWRlcyB3ZSBjYW4gcmVhc29uYWJseSBleHBlY3QgdW5pY29kZSBvciBpc28gbW9zdCBvZiB0aGUgdGltZVxuICAvLyB0ZXh0RW5jb2Rpbmc/OiBzdHJpbmdcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2w/OiBTZXJ2aWNlUHJvdG9jb2xcbiAgdHJhbnNsYXRpb25zPzogT25saW5lUmVzb3VyY2VUcmFuc2xhdGlvbnNcbiAgYWNjZXNzUmVzdHJpY3RlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmxpbmVMaW5rUmVzb3VyY2Uge1xuICB0eXBlOiAnbGluaydcbiAgdXJsOiBVUkxcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9uc1xuICBtaW1lVHlwZT86IHN0cmluZ1xuICBhY2Nlc3NSZXN0cmljdGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBEYXRhc2V0T25saW5lUmVzb3VyY2UgPSAoXG4gIHwgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb25cbiAgfCBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb25cbiAgfCBPbmxpbmVMaW5rUmVzb3VyY2VcbikgJiB7XG4gIHR5cGU6IE9ubGluZVJlc291cmNlVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoaWNPdmVydmlldyB7XG4gIHVybDogVVJMXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldFNwYXRpYWxFeHRlbnQge1xuICBiYm94PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAgZ2VvbWV0cnk/OiBHZW9tZXRyeVxuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBTcGF0aWFsRXh0ZW50VHJhbnNsYXRpb25zXG59XG5cbi8qKlxuICogUGVyaW9kIGlmIGJvdGggc3RhcnQgYW5kIGVuZCBhcmUgcHJvdmlkZWRcbiAqIEluc3RhbnQgaWYgb25seSBzdGFydCBpcyBwcm92aWRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRUZW1wb3JhbEV4dGVudCB7XG4gIHN0YXJ0OiBEYXRlXG4gIGVuZD86IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0UmVjb3JkIGV4dGVuZHMgQmFzZVJlY29yZCB7XG4gIGtpbmQ6ICdkYXRhc2V0J1xuICBzdGF0dXM6IFJlY29yZFN0YXR1c1xuICBsaW5lYWdlOiBzdHJpbmcgLy8gRXhwbGFuYXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGlzIHJlY29yZCAoZS5nOiBob3csIHdoeSlcIlxuICBvbmxpbmVSZXNvdXJjZXM6IEFycmF5PERhdGFzZXRPbmxpbmVSZXNvdXJjZT5cbiAgc3BhdGlhbEV4dGVudHM6IEFycmF5PERhdGFzZXRTcGF0aWFsRXh0ZW50PlxuICB0ZW1wb3JhbEV4dGVudHM6IEFycmF5PERhdGFzZXRUZW1wb3JhbEV4dGVudD5cbiAgc3BhdGlhbFJlcHJlc2VudGF0aW9uPzogU3BhdGlhbFJlcHJlc2VudGF0aW9uVHlwZVxufVxuXG5leHBvcnQgdHlwZSBEYXRhc2V0RmVhdHVyZUNhdGFsb2cgPSB7XG4gIGZlYXR1cmVUeXBlczogQXJyYXk8e1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGRlZmluaXRpb246IHN0cmluZ1xuICAgIGF0dHJpYnV0ZXM6IEFycmF5PHsgbmFtZTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0+XG4gIH0+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUVuZHBvaW50IHtcbiAgZW5kcG9pbnRVcmw6IFVSTFxuICBwcm90b2NvbDogc3RyaW5nXG4gIHR5cGU6ICdlbmRwb2ludCdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgdHJhbnNsYXRpb25zPzogT25saW5lUmVzb3VyY2VUcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IHR5cGUgU2VydmljZU9ubGluZVJlc291cmNlID0gKFNlcnZpY2VFbmRwb2ludCB8IE9ubGluZUxpbmtSZXNvdXJjZSkgJiB7XG4gIHR5cGU6IE9ubGluZVJlc291cmNlVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VSZWNvcmQgZXh0ZW5kcyBCYXNlUmVjb3JkIHtcbiAga2luZDogJ3NlcnZpY2UnXG4gIG9ubGluZVJlc291cmNlczogQXJyYXk8U2VydmljZU9ubGluZVJlc291cmNlPlxuICBzcGF0aWFsRXh0ZW50czogQXJyYXk8RGF0YXNldFNwYXRpYWxFeHRlbnQ+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV1c2VSZWNvcmQgZXh0ZW5kcyBCYXNlUmVjb3JkIHtcbiAga2luZDogJ3JldXNlJ1xuICBsaW5lYWdlOiBzdHJpbmcgLy8gRXhwbGFuYXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGlzIHJlY29yZCAoZS5nOiBob3csIHdoeSlcIlxuICBvbmxpbmVSZXNvdXJjZXM6IEFycmF5PE9ubGluZUxpbmtSZXNvdXJjZT5cbiAgcmV1c2VUeXBlOiBSZXVzZVR5cGVcbiAgc3BhdGlhbEV4dGVudHM6IEFycmF5PERhdGFzZXRTcGF0aWFsRXh0ZW50PlxuICB0ZW1wb3JhbEV4dGVudHM6IEFycmF5PERhdGFzZXRUZW1wb3JhbEV4dGVudD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0RmVhdHVyZVR5cGUge1xuICBhbGlhc2VzOiBzdHJpbmdcbiAgY29kZTogc3RyaW5nXG4gIGlzQWJzdHJhY3Q6IHN0cmluZ1xuICB0eXBlTmFtZTogc3RyaW5nXG4gIGRlZmluaXRpb246IHN0cmluZ1xuICBhdHRyaWJ1dGVUYWJsZTogQXJyYXk8eyBuYW1lOiBzdHJpbmc7IGRlZmluaXRpb246IHN0cmluZyB9PlxufVxuXG5leHBvcnQgdHlwZSBSZXVzZVR5cGUgPSAnYXBwbGljYXRpb24nIHwgJ21hcCcgfCAnb3RoZXInXG5cbmV4cG9ydCB0eXBlIE9ubGluZVJlc291cmNlID0gRGF0YXNldE9ubGluZVJlc291cmNlIHwgU2VydmljZU9ubGluZVJlc291cmNlXG5cbmV4cG9ydCB0eXBlIENhdGFsb2dSZWNvcmQgPSBEYXRhc2V0UmVjb3JkIHwgUmV1c2VSZWNvcmQgfCBTZXJ2aWNlUmVjb3JkXG5cbmV4cG9ydCB0eXBlIENhdGFsb2dSZWNvcmRLZXlzID1cbiAgfCBrZXlvZiBEYXRhc2V0UmVjb3JkXG4gIHwga2V5b2YgUmV1c2VSZWNvcmRcbiAgfCBrZXlvZiBTZXJ2aWNlUmVjb3JkXG4iXX0=
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBZ0JoRSxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUVoRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxTQUFTO0lBQ1QsWUFBWTtJQUNaLFVBQVU7SUFDVixXQUFXO0lBQ1gsV0FBVztJQUNYLFVBQVU7SUFDVixPQUFPO0lBQ1AsUUFBUTtJQUNSLGFBQWE7SUFDYixhQUFhO0lBQ2IsU0FBUztJQUNULFdBQVc7SUFDWCxZQUFZO0lBQ1osVUFBVTtJQUNWLFlBQVk7Q0FDSixDQUFBO0FBSVYsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUE7QUFDM0MsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUE7QUFDNUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFDN0MsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUE7QUFFNUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFDN0MsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUE7QUFDL0MsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7QUFDakQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDbEQsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFVbEQsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7QUFDeEMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUE7QUFDekMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFFdEMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsV0FBVztJQUNYLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFNBQVM7Q0FDVixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHR5cGUgeyBJbmRpdmlkdWFsIH0gZnJvbSAnLi9jb250YWN0Lm1vZGVsJ1xuaW1wb3J0IHR5cGUgeyBPcmdhbml6YXRpb24gfSBmcm9tICcuL29yZ2FuaXphdGlvbi5tb2RlbCdcbmltcG9ydCB0eXBlIHsgR2VvbWV0cnkgfSBmcm9tICdnZW9qc29uJ1xuaW1wb3J0IHsgS2V5d29yZFR5cGUsIFRoZXNhdXJ1c01vZGVsIH0gZnJvbSAnLi4vdGhlc2F1cnVzJ1xuaW1wb3J0IHtcbiAgQ29uc3RyYWludFRyYW5zbGF0aW9ucyxcbiAgS2V5d29yZFRyYW5zbGF0aW9ucyxcbiAgTGFuZ3VhZ2VDb2RlLFxuICBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9ucyxcbiAgUmVjb3JkVHJhbnNsYXRpb25zLFxuICBTcGF0aWFsRXh0ZW50VHJhbnNsYXRpb25zLFxufSBmcm9tICcuL3RyYW5zbGF0aW9uLm1vZGVsJ1xuXG50eXBlIFV1aWQgPSBzdHJpbmdcblxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS51bmtub3duJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kubm90UGxhbm5lZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmFzTmVlZGVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuaXJyZWd1bGFyJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuY29udGludWFsJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kucGVyaW9kaWMnKVxuXG5leHBvcnQgY29uc3QgdXBkYXRlRnJlcXVlbmN5Q29kZVZhbHVlcyA9IFtcbiAgJ3Vua25vd24nLFxuICAnbm90UGxhbm5lZCcsXG4gICdhc05lZWRlZCcsXG4gICdpcnJlZ3VsYXInLFxuICAnY29udGludWFsJyxcbiAgJ3BlcmlvZGljJyxcbiAgJ2RhaWx5JyxcbiAgJ3dlZWtseScsXG4gICdmb3J0bmlnaHRseScsXG4gICdzZW1pbW9udGhseScsXG4gICdtb250aGx5JyxcbiAgJ3F1YXJ0ZXJseScsXG4gICdiaWFubnVhbGx5JyxcbiAgJ2FubnVhbGx5JyxcbiAgJ2JpZW5uaWFsbHknLFxuXSBhcyBjb25zdFxuXG5leHBvcnQgdHlwZSBVcGRhdGVGcmVxdWVuY3lDb2RlID0gKHR5cGVvZiB1cGRhdGVGcmVxdWVuY3lDb2RlVmFsdWVzKVtudW1iZXJdXG5cbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuZGF5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kud2VlaycpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5Lm1vbnRoJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kueWVhcicpXG5cbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuZGFpbHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS53ZWVrbHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5mb3J0bmlnaHRseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5Lm1vbnRobHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5xdWFydGVybHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5iaWFubnVhbGx5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuYW5udWFsbHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5zZW1pbW9udGhseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmJpZW5uaWFsbHknKVxuXG5leHBvcnQgdHlwZSBVcGRhdGVGcmVxdWVuY3lDdXN0b20gPSB7XG4gIHVwZGF0ZWRUaW1lczogbnVtYmVyIC8vIHRoaXMgc2hvdWxkIGJlIGFuIGludGVnZXJcbiAgcGVyOiAnZGF5JyB8ICd3ZWVrJyB8ICdtb250aCcgfCAneWVhcidcbn1cbmV4cG9ydCB0eXBlIFVwZGF0ZUZyZXF1ZW5jeSA9IFVwZGF0ZUZyZXF1ZW5jeUNvZGUgfCBVcGRhdGVGcmVxdWVuY3lDdXN0b21cblxuZXhwb3J0IHR5cGUgUmVjb3JkS2luZCA9ICdkYXRhc2V0JyB8ICdzZXJ2aWNlJyB8ICdyZXVzZSdcblxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy5jb21wbGV0ZWQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy5vbmdvaW5nJylcbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMudW5kZXJfZGV2ZWxvcG1lbnQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy5kZXByZWNhdGVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMucmVtb3ZlZCcpXG5cbmV4cG9ydCBjb25zdCBSZWNvcmRTdGF0dXNWYWx1ZXMgPSBbXG4gICdjb21wbGV0ZWQnLFxuICAnb25nb2luZycsXG4gICd1bmRlcl9kZXZlbG9wbWVudCcsXG4gICdkZXByZWNhdGVkJyxcbiAgJ3JlbW92ZWQnLFxuXVxuZXhwb3J0IHR5cGUgUmVjb3JkU3RhdHVzID0gKHR5cGVvZiBSZWNvcmRTdGF0dXNWYWx1ZXMpW251bWJlcl1cblxuZXhwb3J0IHR5cGUgQ29uc3RyYWludCA9IHtcbiAgdGV4dDogc3RyaW5nXG4gIHVybD86IFVSTFxuXG4gIHRyYW5zbGF0aW9ucz86IENvbnN0cmFpbnRUcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IHR5cGUgU3BhdGlhbFJlcHJlc2VudGF0aW9uVHlwZSA9XG4gIHwgJ2dyaWQnXG4gIHwgJ3ZlY3RvcidcbiAgfCAndGluJ1xuICB8ICd0YWJsZSdcbiAgfCAncG9pbnQnXG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5d29yZCB7XG4gIGtleT86IHN0cmluZ1xuICBsYWJlbDogc3RyaW5nXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIHR5cGU6IEtleXdvcmRUeXBlXG4gIHRoZXNhdXJ1cz86IFRoZXNhdXJ1c01vZGVsXG4gIGJib3g/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXVxuXG4gIHRyYW5zbGF0aW9ucz86IEtleXdvcmRUcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlUmVjb3JkIHtcbiAgdW5pcXVlSWRlbnRpZmllcjogVXVpZFxuICBvd25lck9yZ2FuaXphdGlvbjogT3JnYW5pemF0aW9uXG4gIGNvbnRhY3RzOiBBcnJheTxJbmRpdmlkdWFsPlxuICB0aXRsZTogc3RyaW5nXG4gIGFic3RyYWN0OiBzdHJpbmdcbiAgcmVjb3JkQ3JlYXRlZD86IERhdGVcbiAgcmVjb3JkUHVibGlzaGVkPzogRGF0ZVxuICByZWNvcmRVcGRhdGVkOiBEYXRlXG4gIGtpbmQ6IFJlY29yZEtpbmRcbiAgdG9waWNzOiBBcnJheTxzdHJpbmc+IC8vIFRPRE86IGhhbmRsZSBjb2RlbGlzdHNcbiAga2V5d29yZHM6IEFycmF5PEtleXdvcmQ+XG4gIGxpY2Vuc2VzOiBBcnJheTxDb25zdHJhaW50PlxuICBsZWdhbENvbnN0cmFpbnRzOiBBcnJheTxDb25zdHJhaW50PlxuICBzZWN1cml0eUNvbnN0cmFpbnRzOiBBcnJheTxDb25zdHJhaW50PlxuICBvdGhlckNvbnN0cmFpbnRzOiBBcnJheTxDb25zdHJhaW50PlxuICBvdmVydmlld3M6IEFycmF5PEdyYXBoaWNPdmVydmlldz5cbiAgZXh0cmFzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgbGFuZGluZ1BhZ2U/OiBVUkxcbiAgdXBkYXRlRnJlcXVlbmN5PzogVXBkYXRlRnJlcXVlbmN5XG5cbiAgLy8gaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGUgcmVzb3VyY2UgKGRhdGFzZXQsIHNlcnZpY2UpXG4gIHJlc291cmNlSWRlbnRpZmllcj86IHN0cmluZ1xuICBjb250YWN0c0ZvclJlc291cmNlOiBBcnJheTxJbmRpdmlkdWFsPlxuICByZXNvdXJjZUNyZWF0ZWQ/OiBEYXRlXG4gIHJlc291cmNlUHVibGlzaGVkPzogRGF0ZVxuICByZXNvdXJjZVVwZGF0ZWQ/OiBEYXRlXG5cbiAgLy8gbXVsdGlsaW5ndWFsIHN1cHBvcnRcbiAgZGVmYXVsdExhbmd1YWdlOiBMYW5ndWFnZUNvZGVcbiAgb3RoZXJMYW5ndWFnZXM6IEFycmF5PExhbmd1YWdlQ29kZT4gLy8gdGhpcyBzaG91bGQgaW5jbHVkZSBhbGwgbm9uLWRlZmF1bHQgbGFuZ3VhZ2VzIHByZXNlbnQgaW4gdGhlIG1ldGFkYXRhLCBldmVuIGlmIGluY29tcGxldGVseSB0cmFuc2xhdGVkXG5cbiAgdHJhbnNsYXRpb25zPzogUmVjb3JkVHJhbnNsYXRpb25zXG5cbiAgLy8gdG8gYWRkOiBjYW5vbmljYWwgdXJsXG4gIC8vIHRvIGFkZDogc291cmNlIGNhdGFsb2cgKD8/KVxuICAvLyB0byBhZGQ6IGlzIG9wZW4gZGF0YSA/XG59XG5cbi8vIFRPRE86IGhhbmRsZSBhY3R1YWwgY29kZWxpc3RzXG5leHBvcnQgdHlwZSBTZXJ2aWNlUHJvdG9jb2wgPVxuICB8ICd3bXMnXG4gIHwgJ3dmcydcbiAgfCAnd3BzJ1xuICB8ICd3bXRzJ1xuICB8ICdlc3JpUmVzdCdcbiAgfCAnb2djRmVhdHVyZXMnXG4gIHwgJ0dQRkRMJ1xuICB8ICdvdGhlcidcblxuZXhwb3J0IHR5cGUgT25saW5lUmVzb3VyY2VUeXBlID0gJ3NlcnZpY2UnIHwgJ2Rvd25sb2FkJyB8ICdsaW5rJyB8ICdlbmRwb2ludCdcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbiB7XG4gIHR5cGU6ICdzZXJ2aWNlJ1xuICB1cmw6IFVSTFxuICBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2w6IFNlcnZpY2VQcm90b2NvbFxuICBpZGVudGlmaWVySW5TZXJ2aWNlPzogc3RyaW5nIC8vIHNob3VsZCB3ZSBrZWVwIHRoZSBpZGVudGlmaWVySW5TZXJ2aWNlPyByZWFkLXdyaXRlIGR1cGxpY2F0ZSB3aXRoIG5hbWVcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9uc1xuICBhY2Nlc3NSZXN0cmljdGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvbiB7XG4gIHR5cGU6ICdkb3dubG9hZCdcbiAgdXJsOiBVUkxcbiAgbWltZVR5cGU/OiBzdHJpbmdcbiAgc2l6ZUJ5dGVzPzogbnVtYmVyXG4gIC8vIHJlbW92ZWQgYmVjYXVzZSB3aGF0J3MgdGhlIHVzZT8gZW5jb2RpbmcgY2FuIGJlIGV4cG9zZWQgYnkgdGhlIGZpbGUgc2VydmVyIG9yXG4gIC8vIGV2ZW4gZm91bmQgb3V0IGJ5IHRyaWFsIGFuZCBlcnJvcjsgYmVzaWRlcyB3ZSBjYW4gcmVhc29uYWJseSBleHBlY3QgdW5pY29kZSBvciBpc28gbW9zdCBvZiB0aGUgdGltZVxuICAvLyB0ZXh0RW5jb2Rpbmc/OiBzdHJpbmdcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2w/OiBTZXJ2aWNlUHJvdG9jb2xcbiAgdHJhbnNsYXRpb25zPzogT25saW5lUmVzb3VyY2VUcmFuc2xhdGlvbnNcbiAgYWNjZXNzUmVzdHJpY3RlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmxpbmVMaW5rUmVzb3VyY2Uge1xuICB0eXBlOiAnbGluaydcbiAgdXJsOiBVUkxcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9uc1xuICBtaW1lVHlwZT86IHN0cmluZ1xuICBhY2Nlc3NSZXN0cmljdGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBEYXRhc2V0T25saW5lUmVzb3VyY2UgPSAoXG4gIHwgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb25cbiAgfCBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb25cbiAgfCBPbmxpbmVMaW5rUmVzb3VyY2VcbikgJiB7XG4gIHR5cGU6IE9ubGluZVJlc291cmNlVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoaWNPdmVydmlldyB7XG4gIHVybDogVVJMXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldFNwYXRpYWxFeHRlbnQge1xuICBiYm94PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAgZ2VvbWV0cnk/OiBHZW9tZXRyeVxuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBTcGF0aWFsRXh0ZW50VHJhbnNsYXRpb25zXG59XG5cbi8qKlxuICogUGVyaW9kIGlmIGJvdGggc3RhcnQgYW5kIGVuZCBhcmUgcHJvdmlkZWRcbiAqIEluc3RhbnQgaWYgb25seSBzdGFydCBpcyBwcm92aWRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRUZW1wb3JhbEV4dGVudCB7XG4gIHN0YXJ0OiBEYXRlXG4gIGVuZD86IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0UmVjb3JkIGV4dGVuZHMgQmFzZVJlY29yZCB7XG4gIGtpbmQ6ICdkYXRhc2V0J1xuICBzdGF0dXM6IFJlY29yZFN0YXR1c1xuICBsaW5lYWdlOiBzdHJpbmcgLy8gRXhwbGFuYXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGlzIHJlY29yZCAoZS5nOiBob3csIHdoeSlcIlxuICBvbmxpbmVSZXNvdXJjZXM6IEFycmF5PERhdGFzZXRPbmxpbmVSZXNvdXJjZT5cbiAgc3BhdGlhbEV4dGVudHM6IEFycmF5PERhdGFzZXRTcGF0aWFsRXh0ZW50PlxuICB0ZW1wb3JhbEV4dGVudHM6IEFycmF5PERhdGFzZXRUZW1wb3JhbEV4dGVudD5cbiAgc3BhdGlhbFJlcHJlc2VudGF0aW9uPzogU3BhdGlhbFJlcHJlc2VudGF0aW9uVHlwZVxufVxuXG5leHBvcnQgdHlwZSBEYXRhc2V0RmVhdHVyZUNhdGFsb2cgPSB7XG4gIGZlYXR1cmVUeXBlczogQXJyYXk8e1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGRlZmluaXRpb246IHN0cmluZ1xuICAgIGF0dHJpYnV0ZXM6IEFycmF5PHsgbmFtZTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0+XG4gIH0+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUVuZHBvaW50IHtcbiAgdXJsOiBVUkxcbiAgYWNjZXNzU2VydmljZVByb3RvY29sOiBTZXJ2aWNlUHJvdG9jb2xcbiAgdHlwZTogJ2VuZHBvaW50J1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9uc1xufVxuXG5leHBvcnQgdHlwZSBTZXJ2aWNlT25saW5lUmVzb3VyY2UgPSAoU2VydmljZUVuZHBvaW50IHwgT25saW5lTGlua1Jlc291cmNlKSAmIHtcbiAgdHlwZTogT25saW5lUmVzb3VyY2VUeXBlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVJlY29yZCBleHRlbmRzIEJhc2VSZWNvcmQge1xuICBraW5kOiAnc2VydmljZSdcbiAgb25saW5lUmVzb3VyY2VzOiBBcnJheTxTZXJ2aWNlT25saW5lUmVzb3VyY2U+XG4gIHNwYXRpYWxFeHRlbnRzOiBBcnJheTxEYXRhc2V0U3BhdGlhbEV4dGVudD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXVzZVJlY29yZCBleHRlbmRzIEJhc2VSZWNvcmQge1xuICBraW5kOiAncmV1c2UnXG4gIGxpbmVhZ2U6IHN0cmluZyAvLyBFeHBsYW5hdGlvbiBvZiB0aGUgb3JpZ2luIG9mIHRoaXMgcmVjb3JkIChlLmc6IGhvdywgd2h5KVwiXG4gIG9ubGluZVJlc291cmNlczogQXJyYXk8T25saW5lTGlua1Jlc291cmNlPlxuICByZXVzZVR5cGU6IFJldXNlVHlwZVxuICBzcGF0aWFsRXh0ZW50czogQXJyYXk8RGF0YXNldFNwYXRpYWxFeHRlbnQ+XG4gIHRlbXBvcmFsRXh0ZW50czogQXJyYXk8RGF0YXNldFRlbXBvcmFsRXh0ZW50PlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRGZWF0dXJlVHlwZSB7XG4gIGFsaWFzZXM6IHN0cmluZ1xuICBjb2RlOiBzdHJpbmdcbiAgaXNBYnN0cmFjdDogc3RyaW5nXG4gIHR5cGVOYW1lOiBzdHJpbmdcbiAgZGVmaW5pdGlvbjogc3RyaW5nXG4gIGF0dHJpYnV0ZVRhYmxlOiBBcnJheTx7IG5hbWU6IHN0cmluZzsgZGVmaW5pdGlvbjogc3RyaW5nIH0+XG59XG5cbmV4cG9ydCB0eXBlIFJldXNlVHlwZSA9ICdhcHBsaWNhdGlvbicgfCAnbWFwJyB8ICdvdGhlcidcblxuZXhwb3J0IHR5cGUgT25saW5lUmVzb3VyY2UgPSBEYXRhc2V0T25saW5lUmVzb3VyY2UgfCBTZXJ2aWNlT25saW5lUmVzb3VyY2VcblxuZXhwb3J0IHR5cGUgQ2F0YWxvZ1JlY29yZCA9IERhdGFzZXRSZWNvcmQgfCBSZXVzZVJlY29yZCB8IFNlcnZpY2VSZWNvcmRcblxuZXhwb3J0IHR5cGUgQ2F0YWxvZ1JlY29yZEtleXMgPVxuICB8IGtleW9mIERhdGFzZXRSZWNvcmRcbiAgfCBrZXlvZiBSZXVzZVJlY29yZFxuICB8IGtleW9mIFNlcnZpY2VSZWNvcmRcbiJdfQ==
|
|
@@ -28,9 +28,8 @@ export class OnlineResourceCardComponent {
|
|
|
28
28
|
get subtitle() {
|
|
29
29
|
switch (this.onlineResource.type) {
|
|
30
30
|
case 'service':
|
|
31
|
-
return `${this.onlineResource.accessServiceProtocol}`;
|
|
32
31
|
case 'endpoint':
|
|
33
|
-
return `${this.onlineResource.
|
|
32
|
+
return `${this.onlineResource.accessServiceProtocol}`;
|
|
34
33
|
case 'link':
|
|
35
34
|
case 'download':
|
|
36
35
|
return this.getFormat(this.onlineResource);
|
|
@@ -82,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
82
81
|
}], modifyClick: [{
|
|
83
82
|
type: Output
|
|
84
83
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25saW5lLXJlc291cmNlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvb25saW5lLXJlc291cmNlLWNhcmQvb25saW5lLXJlc291cmNlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvb25saW5lLXJlc291cmNlLWNhcmQvb25saW5lLXJlc291cmNlLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBTTlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUMzRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFDTCxlQUFlLEVBQ2YsWUFBWSxFQUNaLG9CQUFvQixHQUNyQixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBOzs7O0FBd0JyRCxNQUFNLE9BQU8sMkJBQTJCO0lBdEJ4QztRQXdCWSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFBO0tBMEMzRDtJQXhDQyxJQUFJLEtBQUs7UUFDUCxRQUFRLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakMsS0FBSyxNQUFNLENBQUM7WUFDWixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssVUFBVTtnQkFDYixPQUFPLENBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXO29CQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUk7b0JBQ3hCLFdBQVcsQ0FDWixDQUFBO1lBQ0gsS0FBSyxVQUFVO2dCQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUE7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixRQUFRLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakMsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtZQUN2RCxLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssVUFBVTtnQkFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQzlDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksS0FBSyxVQUFVO1lBQUUsT0FBTyxFQUFFLENBQUE7UUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUztZQUFFLE9BQU8sRUFBRSxDQUFBO1FBQzdDLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUN6RSxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksS0FBSyxTQUFTO1lBQUUsT0FBTyxFQUFFLENBQUE7UUFDckQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQTtJQUN0RCxDQUFDO0lBRUQsU0FBUyxDQUFDLGNBQWdFO1FBQ3hFLE9BQU8sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDNUQsQ0FBQzsrR0EzQ1UsMkJBQTJCO21HQUEzQiwyQkFBMkIsZ0tBWjNCO1lBQ1QsWUFBWSxDQUFDO2dCQUNYLGlCQUFpQjthQUNsQixDQUFDO1lBQ0Ysb0JBQW9CLENBQUM7Z0JBQ25CLElBQUksRUFBRSxPQUFPO2FBQ2QsQ0FBQztTQUNILDBCQ3pDSCxtbENBbUNBLHlERFBJLFlBQVksa0lBR1osZUFBZSxtT0FDZixlQUFlOzs0RkFjTiwyQkFBMkI7a0JBdEJ2QyxTQUFTOytCQUNFLDRCQUE0QixjQUMxQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixlQUFlO3FCQUNoQixhQUNVO3dCQUNULFlBQVksQ0FBQzs0QkFDWCxpQkFBaUI7eUJBQ2xCLENBQUM7d0JBQ0Ysb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxPQUFPO3lCQUNkLENBQUM7cUJBQ0gsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvbixcbiAgT25saW5lTGlua1Jlc291cmNlLFxuICBPbmxpbmVSZXNvdXJjZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5pbXBvcnQgeyBieXRlc1RvTWVnYWJ5dGVzLCBnZXRGaWxlRm9ybWF0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHtcbiAgTmdJY29uQ29tcG9uZW50LFxuICBwcm92aWRlSWNvbnMsXG4gIHByb3ZpZGVOZ0ljb25zQ29uZmlnLFxufSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IGljb25vaXJBdHRhY2htZW50IH0gZnJvbSAnQG5nLWljb25zL2ljb25vaXInXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW9ubGluZS1yZXNvdXJjZS1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUaHVtYm5haWxDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBOZ0ljb25Db21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBpY29ub2lyQXR0YWNobWVudCxcbiAgICB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41ZW0nLFxuICAgIH0pLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vb25saW5lLXJlc291cmNlLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vbmxpbmUtcmVzb3VyY2UtY2FyZC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBPbmxpbmVSZXNvdXJjZUNhcmRDb21wb25lbnQge1xuICBASW5wdXQoKSBvbmxpbmVSZXNvdXJjZTogT25saW5lUmVzb3VyY2VcbiAgQE91dHB1dCgpIG1vZGlmeUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxPbmxpbmVSZXNvdXJjZT4oKVxuXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy5vbmxpbmVSZXNvdXJjZS50eXBlKSB7XG4gICAgICBjYXNlICdsaW5rJzpcbiAgICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAgY2FzZSAnZG93bmxvYWQnOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHRoaXMub25saW5lUmVzb3VyY2UuZGVzY3JpcHRpb24gfHxcbiAgICAgICAgICB0aGlzLm9ubGluZVJlc291cmNlLm5hbWUgfHxcbiAgICAgICAgICAnKHVua25vd24pJ1xuICAgICAgICApXG4gICAgICBjYXNlICdlbmRwb2ludCc6XG4gICAgICAgIHJldHVybiB0aGlzLm9ubGluZVJlc291cmNlLmRlc2NyaXB0aW9uXG4gICAgfVxuICB9XG5cbiAgZ2V0IHN1YnRpdGxlKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLm9ubGluZVJlc291cmNlLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAgY2FzZSAnZW5kcG9pbnQnOlxuICAgICAgICByZXR1cm4gYCR7dGhpcy5vbmxpbmVSZXNvdXJjZS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2x9YFxuICAgICAgY2FzZSAnbGluayc6XG4gICAgICBjYXNlICdkb3dubG9hZCc6XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZvcm1hdCh0aGlzLm9ubGluZVJlc291cmNlKVxuICAgIH1cbiAgfVxuXG4gIGdldCBmaWxlU2l6ZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLm9ubGluZVJlc291cmNlLnR5cGUgIT09ICdkb3dubG9hZCcpIHJldHVybiAnJ1xuICAgIGlmICghdGhpcy5vbmxpbmVSZXNvdXJjZS5zaXplQnl0ZXMpIHJldHVybiAnJ1xuICAgIHJldHVybiBieXRlc1RvTWVnYWJ5dGVzKHRoaXMub25saW5lUmVzb3VyY2Uuc2l6ZUJ5dGVzKS50b0xvY2FsZVN0cmluZygpXG4gIH1cblxuICBnZXQgaWRlbnRpZmllckluU2VydmljZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLm9ubGluZVJlc291cmNlLnR5cGUgIT09ICdzZXJ2aWNlJykgcmV0dXJuICcnXG4gICAgcmV0dXJuIHRoaXMub25saW5lUmVzb3VyY2UuaWRlbnRpZmllckluU2VydmljZSA/PyAnJ1xuICB9XG5cbiAgZ2V0Rm9ybWF0KG9ubGluZVJlc291cmNlOiBPbmxpbmVMaW5rUmVzb3VyY2UgfCBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb24pIHtcbiAgICByZXR1cm4gKGdldEZpbGVGb3JtYXQob25saW5lUmVzb3VyY2UpIHx8ICcnKS50b1VwcGVyQ2FzZSgpXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnbi11aS1jYXJkXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImJnLWdyYXktMTAwIHctWzU2cHhdIGgtWzU2cHhdIHJvdW5kZWQtWzRweF0gdGV4dC1wcmltYXJ5IGdyaWQganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIHNocmluay0wXCJcbiAgPlxuICAgIDxuZy1pY29uIG5hbWU9XCJpY29ub2lyQXR0YWNobWVudFwiPjwvbmctaWNvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHctZnVsbCBpdGVtcy1zdGFydCBvdmVyZmxvdy1oaWRkZW4gbGVhZGluZy1zbnVnXCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtWzE2cHhdIGZvbnQtYm9sZCB0ZXh0LW1haW5cIiBkYXRhLXRlc3Q9XCJjYXJkLXRpdGxlXCI+XG4gICAgICB7eyB0aXRsZSB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwidGV4dC1bMTRweF0gdGV4dC1ncmF5LTkwMFwiXG4gICAgICAqbmdJZj1cInN1YnRpdGxlXCJcbiAgICAgIGRhdGEtdGVzdD1cImNhcmQtc3VidGl0bGVcIlxuICAgID5cbiAgICAgIDxzcGFuPnt7IHN1YnRpdGxlIH19PC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJmaWxlU2l6ZVwiPlxuICAgICAgICDigKJcbiAgICAgICAge3tcbiAgICAgICAgICAnZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlLmZpbGVTaXplJ1xuICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsgc2l6ZU1COiBmaWxlU2l6ZSB9XG4gICAgICAgIH19PC9zcGFuXG4gICAgICA+XG4gICAgICA8c3BhbiAqbmdJZj1cImlkZW50aWZpZXJJblNlcnZpY2VcIj4g4oCiIHt7IGlkZW50aWZpZXJJblNlcnZpY2UgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJnbi11aS1saW5rIHRleHQtWzE0cHhdXCJcbiAgICAgIHRyYW5zbGF0ZVxuICAgICAgKGNsaWNrKT1cIm1vZGlmeUNsaWNrLmVtaXQob25saW5lUmVzb3VyY2UpXCJcbiAgICAgIGRhdGEtdGVzdD1cImNhcmQtbW9kaWZ5XCJcbiAgICA+XG4gICAgICBlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2UubW9kaWZ5XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -169,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
169
169
|
}], serviceChange: [{
|
|
170
170
|
type: Output
|
|
171
171
|
}] } });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUtoRSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsaUJBQWlCLEdBQ2xCLE1BQU0seUNBQXlDLENBQUE7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBQ3hGLE9BQU8sRUFDTCxlQUFlLEVBQ2YsWUFBWSxFQUNaLG9CQUFvQixHQUNyQixN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QUFtQztrQkF6Qi9DLFNBQVM7K0JBQ0UscUNBQXFDLG1CQUc5Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCLGFBQ1U7d0JBQ1QsWUFBWSxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUM7d0JBQ2hDLG9CQUFvQixDQUFDOzRCQUNuQixJQUFJLEVBQUUsT0FBTzt5QkFDZCxDQUFDO3FCQUNIO3NGQUlZLE9BQU87c0JBQW5CLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbydcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb24sXG4gIFNlcnZpY2VQcm90b2NvbCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHtcbiAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICBCdXR0b25Db21wb25lbnQsXG4gIFRleHRJbnB1dENvbXBvbmVudCxcbiAgVXJsSW5wdXRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IGNyZWF0ZUZ1enp5RmlsdGVyLCBnZXRMYXllcnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBpY29ub2lyUmVmcmVzaCB9IGZyb20gJ0BuZy1pY29ucy9pY29ub2lyJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgT2JzZXJ2YWJsZSxcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJ1xuXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LmlkZW50aWZpZXIucGxhY2Vob2xkZXInKVxubWFya2VyKFxuICAnZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlLmVkaXQuaWRlbnRpZmllci5wbGFjZWhvbGRlci53cHMnXG4pXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW9ubGluZS1zZXJ2aWNlLXJlc291cmNlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL29ubGluZS1zZXJ2aWNlLXJlc291cmNlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgTmdJY29uQ29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgVXJsSW5wdXRDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7IGljb25vaXJSZWZyZXNoIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHtcbiAgICAgIHNpemU6ICcxLjVlbScsXG4gICAgfSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE9ubGluZVNlcnZpY2VSZXNvdXJjZUlucHV0Q29tcG9uZW50IHtcbiAgX3NlcnZpY2U6IERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uXG4gIEBJbnB1dCgpIHNldCBzZXJ2aWNlKHNlcnZpY2U6IERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uKSB7XG4gICAgdGhpcy5fc2VydmljZSA9IHsgLi4uc2VydmljZSB9XG4gIH1cbiAgQElucHV0KCkgcHJvdG9jb2xIaW50Pzogc3RyaW5nXG4gIEBJbnB1dCgpIGRpc2FibGVkPyA9IGZhbHNlXG4gIEBJbnB1dCgpIG1vZGlmeU1vZGU/ID0gZmFsc2VcbiAgQE91dHB1dCgpIHNlcnZpY2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGVycm9yTWVzc2FnZSA9IGZhbHNlXG4gIHJlc2V0VXJsT25DaGFuZ2UgPSBNYXRoLnJhbmRvbSgpXG5cbiAgbGF5ZXJzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBuYW1lOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfVtdPihbXSlcbiAgbGF5ZXJzJDogT2JzZXJ2YWJsZTx7IG5hbWU6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9W10+ID1cbiAgICB0aGlzLmxheWVyc1N1YmplY3QuYXNPYnNlcnZhYmxlKClcblxuICBwcm90b2NvbE9wdGlvbnM6IHtcbiAgICBsYWJlbDogc3RyaW5nXG4gICAgdmFsdWU6IFNlcnZpY2VQcm90b2NvbFxuICB9W10gPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdPR0MgQVBJJyxcbiAgICAgIHZhbHVlOiAnb2djRmVhdHVyZXMnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdXRlMnLFxuICAgICAgdmFsdWU6ICd3ZnMnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdXTVMnLFxuICAgICAgdmFsdWU6ICd3bXMnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdXTVRTJyxcbiAgICAgIHZhbHVlOiAnd210cycsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ1dQUycsXG4gICAgICB2YWx1ZTogJ3dwcycsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0VTUkkgUkVTVCcsXG4gICAgICB2YWx1ZTogJ2VzcmlSZXN0JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQub25saW5lUmVzb3VyY2UucHJvdG9jb2wub3RoZXInKSxcbiAgICAgIHZhbHVlOiAnb3RoZXInLFxuICAgIH0sXG4gIF1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgZ2V0IGFjdGl2ZUxheWVyU3VnZ2VzdGlvbigpIHtcbiAgICByZXR1cm4gIVsnd3BzJywgJ0dQRkRMJywgJ2VzcmlSZXN0JywgJ290aGVyJ10uaW5jbHVkZXMoXG4gICAgICB0aGlzLl9zZXJ2aWNlLmFjY2Vzc1NlcnZpY2VQcm90b2NvbFxuICAgIClcbiAgfVxuXG4gIGhhbmRsZVVybFZhbHVlQ2hhbmdlKHVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2VydmljZS51cmwgPSB1cmwgPyBuZXcgVVJMKHVybCkgOiB1bmRlZmluZWRcbiAgICB0aGlzLnJlc2V0TGF5ZXJzU3VnZ2VzdGlvbigpXG4gIH1cblxuICBhc3luYyBoYW5kbGVVcGxvYWRDbGljayh1cmw6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBsYXllcnMgPSBhd2FpdCBnZXRMYXllcnModXJsLCB0aGlzLl9zZXJ2aWNlLmFjY2Vzc1NlcnZpY2VQcm90b2NvbClcblxuICAgICAgaWYgKGxheWVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBsYXllcnMgZm91bmQnKVxuICAgICAgfVxuXG4gICAgICB0aGlzLmxheWVyc1N1YmplY3QubmV4dChbLi4ubGF5ZXJzXSlcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRydWVcbiAgICAgIHRoaXMubGF5ZXJzU3ViamVjdC5uZXh0KFtdKVxuICAgIH1cblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgcmVzZXRBbGxGb3JtRmllbGRzKCkge1xuICAgIHRoaXMucmVzZXRVcmxPbkNoYW5nZSA9IE1hdGgucmFuZG9tKClcbiAgICB0aGlzLl9zZXJ2aWNlLnVybCA9IG51bGxcbiAgICB0aGlzLnJlc2V0TGF5ZXJzU3VnZ2VzdGlvbigpXG4gIH1cblxuICByZXNldExheWVyc1N1Z2dlc3Rpb24oKSB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBmYWxzZVxuICAgIHRoaXMubGF5ZXJzU3ViamVjdC5uZXh0KFtdKVxuICAgIHRoaXMuX3NlcnZpY2UuaWRlbnRpZmllckluU2VydmljZSA9IG51bGxcbiAgfVxuXG4gIHN1Ym1pdCgpIHtcbiAgICB0aGlzLnNlcnZpY2VDaGFuZ2UuZW1pdCh7XG4gICAgICAuLi50aGlzLl9zZXJ2aWNlLFxuICAgICAgbmFtZTogdGhpcy5fc2VydmljZS5pZGVudGlmaWVySW5TZXJ2aWNlLCAvLyBzaG91bGQgd2Uga2VlcCB0aGUgaWRlbnRpZmllckluU2VydmljZT8gcmVhZC13cml0ZSBkdXBsaWNhdGUgd2l0aCBuYW1lXG4gICAgfSlcbiAgICB0aGlzLl9zZXJ2aWNlLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9ICdvZ2NGZWF0dXJlcydcbiAgICB0aGlzLnJlc2V0QWxsRm9ybUZpZWxkcygpXG4gIH1cblxuICBnZXRJZGVudGlmaWVyUGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlS2V5ID1cbiAgICAgICdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2UuZWRpdC5pZGVudGlmaWVyLnBsYWNlaG9sZGVyJ1xuICAgIHJldHVybiB0aGlzLl9zZXJ2aWNlLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dwcydcbiAgICAgID8gYCR7YmFzZUtleX0ud3BzYFxuICAgICAgOiBiYXNlS2V5XG4gIH1cblxuICAvKipcbiAgICogZ24tdWktYXV0b2NvbXBsZXRlXG4gICAqL1xuICBkaXNwbGF5V2l0aEZuKGl0ZW06IHsgbmFtZTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4gaXRlbS50aXRsZVxuICAgICAgPyBgJHtpdGVtLnRpdGxlfSAke2l0ZW0ubmFtZSA/IGAoJHtpdGVtLm5hbWV9KWAgOiAnJ31gXG4gICAgICA6IGl0ZW0ubmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIGduLXVpLWF1dG9jb21wbGV0ZVxuICAgKi9cbiAgYXV0b0NvbXBsZXRlQWN0aW9uID0gKHF1ZXJ5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBmdXp6eUZpbHRlciA9IGNyZWF0ZUZ1enp5RmlsdGVyKHF1ZXJ5KVxuICAgIHJldHVybiB0aGlzLmxheWVycyQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgobGF5ZXJzKSA9PiBbXG4gICAgICAgIGxheWVycy5maWx0ZXIoKGxheWVyKSA9PiBmdXp6eUZpbHRlcihsYXllci5uYW1lKSksXG4gICAgICBdKSxcbiAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBnbi11aS1hdXRvY29tcGxldGVcbiAgICovXG4gIGhhbmRsZVNlbGVjdFZhbHVlKHZhbDogeyBuYW1lOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfSkge1xuICAgIHRoaXMuX3NlcnZpY2UuaWRlbnRpZmllckluU2VydmljZSA9IHZhbC5uYW1lIC8vIHNob3VsZCB3ZSBrZWVwIHRoZSBpZGVudGlmaWVySW5TZXJ2aWNlPyByZWFkLXdyaXRlIGR1cGxpY2F0ZSB3aXRoIG5hbWVcbiAgICB0aGlzLl9zZXJ2aWNlLmRlc2NyaXB0aW9uID0gdmFsLnRpdGxlXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktYmV0d2VlblwiPlxuICA8aDMgY2xhc3M9XCJ0ZXh0LVsxNnB4XSBmb250LWJvbGQgdGV4dC1tYWluIG1iLVsxMnB4XVwiIHRyYW5zbGF0ZT5cbiAgICBlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2UuZWRpdC5wcm90b2NvbFxuICA8L2gzPlxuICA8c3BhblxuICAgICpuZ0lmPVwicHJvdG9jb2xIaW50XCJcbiAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgbS0yIGduLXVpLWljb24tc21hbGxcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3RvY29sSGludFwiXG4gICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuICA+XG4gICAgaGVscFxuICA8L3NwYW4+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGl0ZW1zLWNlbnRlciBnYXAtNCBoLVs0OHB4XVwiPlxuICA8bWF0LXJhZGlvLWdyb3VwXG4gICAgYXJpYS1sYWJlbGxlZGJ5PVwiZXhhbXBsZS1yYWRpby1ncm91cC1sYWJlbFwiXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC1bOHB4XVwiXG4gICAgWyhuZ01vZGVsKV09XCJfc2VydmljZS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2xcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKGNoYW5nZSk9XCJyZXNldEFsbEZvcm1GaWVsZHMoKVwiXG4gID5cbiAgICA8bWF0LXJhZGlvLWJ1dHRvblxuICAgICAgKm5nRm9yPVwibGV0IHByb3RvY29sT3B0aW9uIG9mIHByb3RvY29sT3B0aW9uc1wiXG4gICAgICBbdmFsdWVdPVwicHJvdG9jb2xPcHRpb24udmFsdWVcIlxuICAgID5cbiAgICAgIHt7IHByb3RvY29sT3B0aW9uLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICA8L21hdC1yYWRpby1ncm91cD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNFwiPlxuICA8Z24tdWktdXJsLWlucHV0XG4gICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICh1cGxvYWRDbGljayk9XCJoYW5kbGVVcGxvYWRDbGljaygkZXZlbnQpXCJcbiAgICAodmFsdWVDaGFuZ2UpPVwiaGFuZGxlVXJsVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbdmFsdWVdPVwiX3NlcnZpY2UudXJsPy50b1N0cmluZygpXCJcbiAgICBbc2hvd1ZhbGlkYXRlQnV0dG9uXT1cImFjdGl2ZUxheWVyU3VnZ2VzdGlvblwiXG4gICAgW3Jlc2V0VXJsT25DaGFuZ2VdPVwicmVzZXRVcmxPbkNoYW5nZVwiXG4gID5cbiAgICA8bmctY29udGVudCAqbmdJZj1cImFjdGl2ZUxheWVyU3VnZ2VzdGlvblwiPlxuICAgICAgPG5nLWljb24gbmFtZT1cImljb25vaXJSZWZyZXNoXCI+PC9uZy1pY29uPlxuICAgIDwvbmctY29udGVudD5cbiAgPC9nbi11aS11cmwtaW5wdXQ+XG5cbiAgPHAgY2xhc3M9XCJ0ZXh0LXNtIHRleHQtcmVkLTUwMCBwbC00XCIgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIiB0cmFuc2xhdGU+XG4gICAgZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlLmVkaXQuaWRlbnRpZmllci5lcnJvclxuICA8L3A+XG5cbiAgPGduLXVpLXRleHQtaW5wdXRcbiAgICBjbGFzcz1cImdyb3cgYm9yZGVyLWIgYm9yZGVyLWdyYXktMzAwIHBiLTRcIlxuICAgIFsodmFsdWUpXT1cIl9zZXJ2aWNlLmlkZW50aWZpZXJJblNlcnZpY2VcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJnZXRJZGVudGlmaWVyUGxhY2Vob2xkZXIoKSB8IHRyYW5zbGF0ZVwiXG4gICAgZGF0YS1jeT1cImlkZW50aWZpZXItaW4tc2VydmljZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAqbmdJZj1cIlxuICAgICAgIWFjdGl2ZUxheWVyU3VnZ2VzdGlvbiB8fFxuICAgICAgKF9zZXJ2aWNlLnVybCAmJiBlcnJvck1lc3NhZ2UpIHx8XG4gICAgICAobW9kaWZ5TW9kZSAmJiAobGF5ZXJzJCB8IGFzeW5jKS5sZW5ndGggPT09IDApXG4gICAgXCJcbiAgPjwvZ24tdWktdGV4dC1pbnB1dD5cbiAgPGduLXVpLWF1dG9jb21wbGV0ZVxuICAgIGNsYXNzPVwiYm9yZGVyLWIgYm9yZGVyLWdyYXktMzAwIHBiLTRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgICdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2UuZWRpdC5pZGVudGlmaWVyLnNlbGVjdC5sYWJlbCdcbiAgICAgICAgfCB0cmFuc2xhdGVcbiAgICBcIlxuICAgIFthY3Rpb25dPVwiYXV0b0NvbXBsZXRlQWN0aW9uXCJcbiAgICAoaXRlbVNlbGVjdGVkKT1cImhhbmRsZVNlbGVjdFZhbHVlKCRldmVudClcIlxuICAgIFtkaXNwbGF5V2l0aEZuXT1cImRpc3BsYXlXaXRoRm5cIlxuICAgIFttaW5DaGFyYWN0ZXJDb3VudF09XCIwXCJcbiAgICBbY2xlYXJPblNlbGVjdGlvbl09XCJmYWxzZVwiXG4gICAgKm5nSWY9XCJhY3RpdmVMYXllclN1Z2dlc3Rpb24gJiYgKGxheWVycyQgfCBhc3luYyk/Lmxlbmd0aCA+IDBcIlxuICA+XG4gIDwvZ24tdWktYXV0b2NvbXBsZXRlPlxuICA8Z24tdWktYnV0dG9uXG4gICAgKGJ1dHRvbkNsaWNrKT1cInN1Ym1pdCgpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgIV9zZXJ2aWNlLmlkZW50aWZpZXJJblNlcnZpY2VcIlxuICAgIHR5cGU9XCJwcmltYXJ5XCJcbiAgICAqbmdJZj1cIlxuICAgICAgIW1vZGlmeU1vZGUgJiZcbiAgICAgICgoYWN0aXZlTGF5ZXJTdWdnZXN0aW9uICYmIChsYXllcnMkIHwgYXN5bmMpKSB8fFxuICAgICAgICAhYWN0aXZlTGF5ZXJTdWdnZXN0aW9uIHx8XG4gICAgICAgIChfc2VydmljZS51cmwgJiYgZXJyb3JNZXNzYWdlKSlcbiAgICBcIlxuICA+XG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXdoaXRlIGZvbnQtYm9sZFwiIHRyYW5zbGF0ZT5cbiAgICAgIGVkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LmlkZW50aWZpZXIuc3VibWl0PC9zcGFuXG4gICAgPlxuICA8L2duLXVpLWJ1dHRvbj5cbjwvZGl2PlxuIl19
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUtoRSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsaUJBQWlCLEdBQ2xCLE1BQU0seUNBQXlDLENBQUE7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBQ3hGLE9BQU8sRUFDTCxlQUFlLEVBQ2YsWUFBWSxFQUNaLG9CQUFvQixHQUNyQixN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QUFtQztrQkF6Qi9DLFNBQVM7K0JBQ0UscUNBQXFDLG1CQUc5Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCLGFBQ1U7d0JBQ1QsWUFBWSxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUM7d0JBQ2hDLG9CQUFvQixDQUFDOzRCQUNuQixJQUFJLEVBQUUsT0FBTzt5QkFDZCxDQUFDO3FCQUNIO3NGQUlZLE9BQU87c0JBQW5CLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbydcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb24sXG4gIFNlcnZpY2VQcm90b2NvbCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHtcbiAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICBCdXR0b25Db21wb25lbnQsXG4gIFRleHRJbnB1dENvbXBvbmVudCxcbiAgVXJsSW5wdXRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IGNyZWF0ZUZ1enp5RmlsdGVyLCBnZXRMYXllcnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBpY29ub2lyUmVmcmVzaCB9IGZyb20gJ0BuZy1pY29ucy9pY29ub2lyJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgT2JzZXJ2YWJsZSxcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJ1xuXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LmlkZW50aWZpZXIucGxhY2Vob2xkZXInKVxubWFya2VyKFxuICAnZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlLmVkaXQuaWRlbnRpZmllci5wbGFjZWhvbGRlci53cHMnXG4pXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW9ubGluZS1zZXJ2aWNlLXJlc291cmNlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL29ubGluZS1zZXJ2aWNlLXJlc291cmNlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgTmdJY29uQ29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgVXJsSW5wdXRDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7IGljb25vaXJSZWZyZXNoIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHtcbiAgICAgIHNpemU6ICcxLjVlbScsXG4gICAgfSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE9ubGluZVNlcnZpY2VSZXNvdXJjZUlucHV0Q29tcG9uZW50IHtcbiAgX3NlcnZpY2U6IERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uXG4gIEBJbnB1dCgpIHNldCBzZXJ2aWNlKHNlcnZpY2U6IERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uKSB7XG4gICAgdGhpcy5fc2VydmljZSA9IHsgLi4uc2VydmljZSB9XG4gIH1cbiAgQElucHV0KCkgcHJvdG9jb2xIaW50Pzogc3RyaW5nXG4gIEBJbnB1dCgpIGRpc2FibGVkPyA9IGZhbHNlXG4gIEBJbnB1dCgpIG1vZGlmeU1vZGU/ID0gZmFsc2VcbiAgQE91dHB1dCgpIHNlcnZpY2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGVycm9yTWVzc2FnZSA9IGZhbHNlXG4gIHJlc2V0VXJsT25DaGFuZ2UgPSBNYXRoLnJhbmRvbSgpXG5cbiAgbGF5ZXJzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBuYW1lPzogc3RyaW5nOyB0aXRsZT86IHN0cmluZyB9W10+KFtdKVxuICBsYXllcnMkOiBPYnNlcnZhYmxlPHsgbmFtZT86IHN0cmluZzsgdGl0bGU/OiBzdHJpbmcgfVtdPiA9XG4gICAgdGhpcy5sYXllcnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXG5cbiAgcHJvdG9jb2xPcHRpb25zOiB7XG4gICAgbGFiZWw6IHN0cmluZ1xuICAgIHZhbHVlOiBTZXJ2aWNlUHJvdG9jb2xcbiAgfVtdID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnT0dDIEFQSScsXG4gICAgICB2YWx1ZTogJ29nY0ZlYXR1cmVzJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnV0ZTJyxcbiAgICAgIHZhbHVlOiAnd2ZzJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnV01TJyxcbiAgICAgIHZhbHVlOiAnd21zJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnV01UUycsXG4gICAgICB2YWx1ZTogJ3dtdHMnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdXUFMnLFxuICAgICAgdmFsdWU6ICd3cHMnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdFU1JJIFJFU1QnLFxuICAgICAgdmFsdWU6ICdlc3JpUmVzdCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogbWFya2VyKCdlZGl0b3IucmVjb3JkLm9ubGluZVJlc291cmNlLnByb3RvY29sLm90aGVyJyksXG4gICAgICB2YWx1ZTogJ290aGVyJyxcbiAgICB9LFxuICBdXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIGdldCBhY3RpdmVMYXllclN1Z2dlc3Rpb24oKSB7XG4gICAgcmV0dXJuICFbJ3dwcycsICdHUEZETCcsICdlc3JpUmVzdCcsICdvdGhlciddLmluY2x1ZGVzKFxuICAgICAgdGhpcy5fc2VydmljZS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2xcbiAgICApXG4gIH1cblxuICBoYW5kbGVVcmxWYWx1ZUNoYW5nZSh1cmw6IHN0cmluZykge1xuICAgIHRoaXMuX3NlcnZpY2UudXJsID0gdXJsID8gbmV3IFVSTCh1cmwpIDogdW5kZWZpbmVkXG4gICAgdGhpcy5yZXNldExheWVyc1N1Z2dlc3Rpb24oKVxuICB9XG5cbiAgYXN5bmMgaGFuZGxlVXBsb2FkQ2xpY2sodXJsOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbGF5ZXJzID0gYXdhaXQgZ2V0TGF5ZXJzKHVybCwgdGhpcy5fc2VydmljZS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wpXG5cbiAgICAgIGlmIChsYXllcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gbGF5ZXJzIGZvdW5kJylcbiAgICAgIH1cblxuICAgICAgdGhpcy5sYXllcnNTdWJqZWN0Lm5leHQoWy4uLmxheWVyc10pXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0cnVlXG4gICAgICB0aGlzLmxheWVyc1N1YmplY3QubmV4dChbXSlcbiAgICB9XG5cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIHJlc2V0QWxsRm9ybUZpZWxkcygpIHtcbiAgICB0aGlzLnJlc2V0VXJsT25DaGFuZ2UgPSBNYXRoLnJhbmRvbSgpXG4gICAgdGhpcy5fc2VydmljZS51cmwgPSBudWxsXG4gICAgdGhpcy5yZXNldExheWVyc1N1Z2dlc3Rpb24oKVxuICB9XG5cbiAgcmVzZXRMYXllcnNTdWdnZXN0aW9uKCkge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZmFsc2VcbiAgICB0aGlzLmxheWVyc1N1YmplY3QubmV4dChbXSlcbiAgICB0aGlzLl9zZXJ2aWNlLmlkZW50aWZpZXJJblNlcnZpY2UgPSBudWxsXG4gIH1cblxuICBzdWJtaXQoKSB7XG4gICAgdGhpcy5zZXJ2aWNlQ2hhbmdlLmVtaXQoe1xuICAgICAgLi4udGhpcy5fc2VydmljZSxcbiAgICAgIG5hbWU6IHRoaXMuX3NlcnZpY2UuaWRlbnRpZmllckluU2VydmljZSwgLy8gc2hvdWxkIHdlIGtlZXAgdGhlIGlkZW50aWZpZXJJblNlcnZpY2U/IHJlYWQtd3JpdGUgZHVwbGljYXRlIHdpdGggbmFtZVxuICAgIH0pXG4gICAgdGhpcy5fc2VydmljZS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPSAnb2djRmVhdHVyZXMnXG4gICAgdGhpcy5yZXNldEFsbEZvcm1GaWVsZHMoKVxuICB9XG5cbiAgZ2V0SWRlbnRpZmllclBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZUtleSA9XG4gICAgICAnZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlLmVkaXQuaWRlbnRpZmllci5wbGFjZWhvbGRlcidcbiAgICByZXR1cm4gdGhpcy5fc2VydmljZS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3cHMnXG4gICAgICA/IGAke2Jhc2VLZXl9Lndwc2BcbiAgICAgIDogYmFzZUtleVxuICB9XG5cbiAgLyoqXG4gICAqIGduLXVpLWF1dG9jb21wbGV0ZVxuICAgKi9cbiAgZGlzcGxheVdpdGhGbihpdGVtOiB7IG5hbWU6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIGl0ZW0udGl0bGVcbiAgICAgID8gYCR7aXRlbS50aXRsZX0gJHtpdGVtLm5hbWUgPyBgKCR7aXRlbS5uYW1lfSlgIDogJyd9YFxuICAgICAgOiBpdGVtLm5hbWVcbiAgfVxuXG4gIC8qKlxuICAgKiBnbi11aS1hdXRvY29tcGxldGVcbiAgICovXG4gIGF1dG9Db21wbGV0ZUFjdGlvbiA9IChxdWVyeTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZnV6enlGaWx0ZXIgPSBjcmVhdGVGdXp6eUZpbHRlcihxdWVyeSlcbiAgICByZXR1cm4gdGhpcy5sYXllcnMkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGxheWVycykgPT4gW1xuICAgICAgICBsYXllcnMuZmlsdGVyKChsYXllcikgPT4gZnV6enlGaWx0ZXIobGF5ZXIubmFtZSkpLFxuICAgICAgXSksXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApXG4gIH1cblxuICAvKipcbiAgICogZ24tdWktYXV0b2NvbXBsZXRlXG4gICAqL1xuICBoYW5kbGVTZWxlY3RWYWx1ZSh2YWw6IHsgbmFtZTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0pIHtcbiAgICB0aGlzLl9zZXJ2aWNlLmlkZW50aWZpZXJJblNlcnZpY2UgPSB2YWwubmFtZSAvLyBzaG91bGQgd2Uga2VlcCB0aGUgaWRlbnRpZmllckluU2VydmljZT8gcmVhZC13cml0ZSBkdXBsaWNhdGUgd2l0aCBuYW1lXG4gICAgdGhpcy5fc2VydmljZS5kZXNjcmlwdGlvbiA9IHZhbC50aXRsZVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgPGgzIGNsYXNzPVwidGV4dC1bMTZweF0gZm9udC1ib2xkIHRleHQtbWFpbiBtYi1bMTJweF1cIiB0cmFuc2xhdGU+XG4gICAgZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlLmVkaXQucHJvdG9jb2xcbiAgPC9oMz5cbiAgPHNwYW5cbiAgICAqbmdJZj1cInByb3RvY29sSGludFwiXG4gICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIG0tMiBnbi11aS1pY29uLXNtYWxsXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm90b2NvbEhpbnRcIlxuICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcbiAgPlxuICAgIGhlbHBcbiAgPC9zcGFuPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgZ2FwLTQgaC1bNDhweF1cIj5cbiAgPG1hdC1yYWRpby1ncm91cFxuICAgIGFyaWEtbGFiZWxsZWRieT1cImV4YW1wbGUtcmFkaW8tZ3JvdXAtbGFiZWxcIlxuICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtWzhweF1cIlxuICAgIFsobmdNb2RlbCldPVwiX3NlcnZpY2UuYWNjZXNzU2VydmljZVByb3RvY29sXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIChjaGFuZ2UpPVwicmVzZXRBbGxGb3JtRmllbGRzKClcIlxuICA+XG4gICAgPG1hdC1yYWRpby1idXR0b25cbiAgICAgICpuZ0Zvcj1cImxldCBwcm90b2NvbE9wdGlvbiBvZiBwcm90b2NvbE9wdGlvbnNcIlxuICAgICAgW3ZhbHVlXT1cInByb3RvY29sT3B0aW9uLnZhbHVlXCJcbiAgICA+XG4gICAgICB7eyBwcm90b2NvbE9wdGlvbi5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgPC9tYXQtcmFkaW8tZ3JvdXA+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTRcIj5cbiAgPGduLXVpLXVybC1pbnB1dFxuICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAodXBsb2FkQ2xpY2spPVwiaGFuZGxlVXBsb2FkQ2xpY2soJGV2ZW50KVwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cImhhbmRsZVVybFZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3ZhbHVlXT1cIl9zZXJ2aWNlLnVybD8udG9TdHJpbmcoKVwiXG4gICAgW3Nob3dWYWxpZGF0ZUJ1dHRvbl09XCJhY3RpdmVMYXllclN1Z2dlc3Rpb25cIlxuICAgIFtyZXNldFVybE9uQ2hhbmdlXT1cInJlc2V0VXJsT25DaGFuZ2VcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQgKm5nSWY9XCJhY3RpdmVMYXllclN1Z2dlc3Rpb25cIj5cbiAgICAgIDxuZy1pY29uIG5hbWU9XCJpY29ub2lyUmVmcmVzaFwiPjwvbmctaWNvbj5cbiAgICA8L25nLWNvbnRlbnQ+XG4gIDwvZ24tdWktdXJsLWlucHV0PlxuXG4gIDxwIGNsYXNzPVwidGV4dC1zbSB0ZXh0LXJlZC01MDAgcGwtNFwiICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCIgdHJhbnNsYXRlPlxuICAgIGVkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LmlkZW50aWZpZXIuZXJyb3JcbiAgPC9wPlxuXG4gIDxnbi11aS10ZXh0LWlucHV0XG4gICAgY2xhc3M9XCJncm93IGJvcmRlci1iIGJvcmRlci1ncmF5LTMwMCBwYi00XCJcbiAgICBbKHZhbHVlKV09XCJfc2VydmljZS5pZGVudGlmaWVySW5TZXJ2aWNlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZ2V0SWRlbnRpZmllclBsYWNlaG9sZGVyKCkgfCB0cmFuc2xhdGVcIlxuICAgIGRhdGEtY3k9XCJpZGVudGlmaWVyLWluLXNlcnZpY2VcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKm5nSWY9XCJcbiAgICAgICFhY3RpdmVMYXllclN1Z2dlc3Rpb24gfHxcbiAgICAgIChfc2VydmljZS51cmwgJiYgZXJyb3JNZXNzYWdlKSB8fFxuICAgICAgKG1vZGlmeU1vZGUgJiYgKGxheWVycyQgfCBhc3luYykubGVuZ3RoID09PSAwKVxuICAgIFwiXG4gID48L2duLXVpLXRleHQtaW5wdXQ+XG4gIDxnbi11aS1hdXRvY29tcGxldGVcbiAgICBjbGFzcz1cImJvcmRlci1iIGJvcmRlci1ncmF5LTMwMCBwYi00XCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiXG4gICAgICAnZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlLmVkaXQuaWRlbnRpZmllci5zZWxlY3QubGFiZWwnXG4gICAgICAgIHwgdHJhbnNsYXRlXG4gICAgXCJcbiAgICBbYWN0aW9uXT1cImF1dG9Db21wbGV0ZUFjdGlvblwiXG4gICAgKGl0ZW1TZWxlY3RlZCk9XCJoYW5kbGVTZWxlY3RWYWx1ZSgkZXZlbnQpXCJcbiAgICBbZGlzcGxheVdpdGhGbl09XCJkaXNwbGF5V2l0aEZuXCJcbiAgICBbbWluQ2hhcmFjdGVyQ291bnRdPVwiMFwiXG4gICAgW2NsZWFyT25TZWxlY3Rpb25dPVwiZmFsc2VcIlxuICAgICpuZ0lmPVwiYWN0aXZlTGF5ZXJTdWdnZXN0aW9uICYmIChsYXllcnMkIHwgYXN5bmMpPy5sZW5ndGggPiAwXCJcbiAgPlxuICA8L2duLXVpLWF1dG9jb21wbGV0ZT5cbiAgPGduLXVpLWJ1dHRvblxuICAgIChidXR0b25DbGljayk9XCJzdWJtaXQoKVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8ICFfc2VydmljZS5pZGVudGlmaWVySW5TZXJ2aWNlXCJcbiAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgKm5nSWY9XCJcbiAgICAgICFtb2RpZnlNb2RlICYmXG4gICAgICAoKGFjdGl2ZUxheWVyU3VnZ2VzdGlvbiAmJiAobGF5ZXJzJCB8IGFzeW5jKSkgfHxcbiAgICAgICAgIWFjdGl2ZUxheWVyU3VnZ2VzdGlvbiB8fFxuICAgICAgICAoX3NlcnZpY2UudXJsICYmIGVycm9yTWVzc2FnZSkpXG4gICAgXCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC13aGl0ZSBmb250LWJvbGRcIiB0cmFuc2xhdGU+XG4gICAgICBlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2UuZWRpdC5pZGVudGlmaWVyLnN1Ym1pdDwvc3BhblxuICAgID5cbiAgPC9nbi11aS1idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -5,9 +5,9 @@ import { PlatformServiceInterface } from '../../../../../../../../../libs/common
|
|
|
5
5
|
import { firstValueFrom, map, shareReplay } from 'rxjs';
|
|
6
6
|
import { EditorFacade } from '../../../../+state/editor.facade';
|
|
7
7
|
import { switchMap } from 'rxjs/operators';
|
|
8
|
-
import { FormFieldMapContainerComponent } from '../form-field-map-container/form-field-map-container.component';
|
|
9
8
|
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
10
9
|
import { SPATIAL_SCOPES } from '../../../../fields.config';
|
|
10
|
+
import { SpatialExtentComponent } from '../../../../../../../../../libs/ui/map/src';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "../../../../../../../../../libs/common/domain/src/lib/platform.service.interface";
|
|
13
13
|
import * as i2 from "../../../../+state/editor.facade";
|
|
@@ -109,15 +109,15 @@ export class FormFieldSpatialExtentComponent {
|
|
|
109
109
|
this.editorFacade.updateRecordField('spatialExtents', spatialExtents);
|
|
110
110
|
}
|
|
111
111
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldSpatialExtentComponent, deps: [{ token: i1.PlatformServiceInterface }, { token: i2.EditorFacade }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
112
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldSpatialExtentComponent, isStandalone: true, selector: "gn-ui-form-field-spatial-extent", ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [placeholder]=\"'editor.record.form.keywords.place.placeholder' | translate\"\n [keywords]=\"shownKeywords$ | async\"\n [keywordTypes]=\"['place']\"\n (deletedKeyword)=\"handleKeywordDelete($event)\"\n (addedKeyword)=\"handleKeywordAdd($event)\"\n >\n </gn-ui-generic-keywords>\n <div class=\"w-full h-96 mt-2\">\n <gn-ui-
|
|
112
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldSpatialExtentComponent, isStandalone: true, selector: "gn-ui-form-field-spatial-extent", ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [placeholder]=\"'editor.record.form.keywords.place.placeholder' | translate\"\n [keywords]=\"shownKeywords$ | async\"\n [keywordTypes]=\"['place']\"\n (deletedKeyword)=\"handleKeywordDelete($event)\"\n (addedKeyword)=\"handleKeywordAdd($event)\"\n >\n </gn-ui-generic-keywords>\n <div class=\"w-full h-96 mt-2\">\n <gn-ui-spatial-extent\n [spatialExtents]=\"spatialExtents$ | async\"\n ></gn-ui-spatial-extent>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: GenericKeywordsComponent, selector: "gn-ui-generic-keywords", inputs: ["keywords", "keywordTypes", "placeholder", "allowSubmit"], outputs: ["changedKeywords", "addedKeyword", "deletedKeyword"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: SpatialExtentComponent, selector: "gn-ui-spatial-extent", inputs: ["spatialExtents"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
113
113
|
}
|
|
114
114
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldSpatialExtentComponent, decorators: [{
|
|
115
115
|
type: Component,
|
|
116
116
|
args: [{ selector: 'gn-ui-form-field-spatial-extent', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
117
117
|
CommonModule,
|
|
118
118
|
GenericKeywordsComponent,
|
|
119
|
-
FormFieldMapContainerComponent,
|
|
120
119
|
TranslateModule,
|
|
121
|
-
|
|
120
|
+
SpatialExtentComponent,
|
|
121
|
+
], template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [placeholder]=\"'editor.record.form.keywords.place.placeholder' | translate\"\n [keywords]=\"shownKeywords$ | async\"\n [keywordTypes]=\"['place']\"\n (deletedKeyword)=\"handleKeywordDelete($event)\"\n (addedKeyword)=\"handleKeywordAdd($event)\"\n >\n </gn-ui-generic-keywords>\n <div class=\"w-full h-96 mt-2\">\n <gn-ui-spatial-extent\n [spatialExtents]=\"spatialExtents$ | async\"\n ></gn-ui-spatial-extent>\n </div>\n</div>\n" }]
|
|
122
122
|
}], ctorParameters: () => [{ type: i1.PlatformServiceInterface }, { type: i2.EditorFacade }, { type: i3.TranslateService }] });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQvZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQvZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUtsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQTtBQUMvRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQTtBQUMzSCxPQUFPLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQTtBQUMvRyxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFN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UyxFQUFFLENBQUM7U0FDaEMsQ0FBWSxDQUNoQixDQUFBO1FBRUgsTUFBTSwyQkFBMkIsR0FBRyxNQUFNLGNBQWMsQ0FDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNiLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUNwQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPO1lBQ2xCLGNBQWMsQ0FBQyxJQUFJLENBQ2pCLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsaUNBQWlDO2FBQ25GLENBQ0osQ0FDRixDQUNGLENBQ0YsQ0FBQTtRQUVELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLEdBQUcsMkJBQTJCO1lBQzlCLEdBQUcscUJBQXFCO1NBQ3pCLENBQUE7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUM1RCxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7K0dBM0lVLCtCQUErQjttR0FBL0IsK0JBQStCLDJGQ3pDNUMsa2lCQWVBLHlERG9CSSxZQUFZLG9GQUNaLHdCQUF3Qix1TUFDeEIsOEJBQThCLHNHQUM5QixlQUFlOzs0RkFHTiwrQkFBK0I7a0JBYjNDLFNBQVM7K0JBQ0UsaUNBQWlDLG1CQUcxQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5QixlQUFlO3FCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgRGF0YXNldFNwYXRpYWxFeHRlbnQsXG4gIEtleXdvcmQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IEdlbmVyaWNLZXl3b3Jkc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dlbmVyaWMta2V5d29yZHMvZ2VuZXJpYy1rZXl3b3Jkcy5jb21wb25lbnQnXG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZSdcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEVkaXRvckZhY2FkZSB9IGZyb20gJy4uLy4uLy4uLy4uLytzdGF0ZS9lZGl0b3IuZmFjYWRlJ1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBGb3JtRmllbGRNYXBDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLWZpZWxkLW1hcC1jb250YWluZXIvZm9ybS1maWVsZC1tYXAtY29udGFpbmVyLmNvbXBvbmVudCdcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBTUEFUSUFMX1NDT1BFUyB9IGZyb20gJy4uLy4uLy4uLy4uL2ZpZWxkcy5jb25maWcnXG5cbi8vIFRoaXMgaW50ZXJtZWRpYXJ5IHR5cGUgd2lsbCBsZXQgdXMga2VlcCB0cmFjayBvZiB3aGljaCBrZXl3b3JkIGlzIGJvdW5kIHRvXG4vLyB3aGljaCBleHRlbnQ7IHRoZXNlIHByb3BlcnRpZXMgd2lsbCBub3QgYmUgcGVyc2lzdGVkXG50eXBlIEtleXdvcmRXaXRoRXh0ZW50ID0gS2V5d29yZCAmIHtcbiAgX2xpbmtlZEV4dGVudDogRGF0YXNldFNwYXRpYWxFeHRlbnRcbiAgX2RvTm90U2F2ZTogYm9vbGVhblxufVxuXG4vKipcbiAqIFRoaXMgZm9ybSBmaWVsZCBpcyBub3QgbGlrZSB0aGUgb3RoZXJzLCBhcyBpdCB3aWxsIHJlYWQgZGlyZWN0bHkgZnJvbSB0aGUgc3RhdGUgdG8gaGFuZGxlIGJvdGggc3BhdGlhbCBleHRlbnRzXG4gKiBhbmQgcGxhY2Uga2V5d29yZHMuXG4gKiBPdGhlciB0eXBlcyBvZiBrZXl3b3JkcyB3aWxsIG5vdCBiZSB0b3VjaGVkIGJ5IHRoaXMgZmllbGQuXG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEdlbmVyaWNLZXl3b3Jkc0NvbXBvbmVudCxcbiAgICBGb3JtRmllbGRNYXBDb250YWluZXJDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50IHtcbiAgc3BhdGlhbEV4dGVudHMkID0gdGhpcy5lZGl0b3JGYWNhZGUucmVjb3JkJC5waXBlKFxuICAgIG1hcCgocmVjb3JkKSA9PiAoJ3NwYXRpYWxFeHRlbnRzJyBpbiByZWNvcmQgPyByZWNvcmQ/LnNwYXRpYWxFeHRlbnRzIDogW10pKVxuICApXG5cbiAgYWxsS2V5d29yZHMkID0gdGhpcy5lZGl0b3JGYWNhZGUucmVjb3JkJC5waXBlKFxuICAgIG1hcCgocmVjb3JkKSA9PiByZWNvcmQ/LmtleXdvcmRzKVxuICApXG5cbiAgc2hvd25LZXl3b3JkcyQgPSB0aGlzLmVkaXRvckZhY2FkZS5yZWNvcmQkLnBpcGUoXG4gICAgbWFwKChyZWNvcmQpID0+IHJlY29yZD8ua2V5d29yZHMuZmlsdGVyKChrKSA9PiBrLnR5cGUgPT09ICdwbGFjZScpKSxcbiAgICAvLyBsb29rIGZvciBmdWxsIGtleXdvcmRzIGluIHRoZSB0aGVzYXVyaVxuICAgIHN3aXRjaE1hcCgoa2V5d29yZHMpID0+XG4gICAgICBQcm9taXNlLmFsbChcbiAgICAgICAga2V5d29yZHMubWFwKGFzeW5jIChrZXl3b3JkKSA9PiB7XG4gICAgICAgICAgaWYgKCFrZXl3b3JkLnRoZXNhdXJ1cykgcmV0dXJuIGtleXdvcmRcbiAgICAgICAgICBjb25zdCBhbGxLZXl3b3JkcyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5wbGF0Zm9ybVNlcnZpY2Uuc2VhcmNoS2V5d29yZHNJblRoZXNhdXJ1cyhcbiAgICAgICAgICAgICAga2V5d29yZC5sYWJlbCxcbiAgICAgICAgICAgICAga2V5d29yZC50aGVzYXVydXMuaWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICAgY29uc3QgZm91bmQgPSBhbGxLZXl3b3Jkcy5maW5kKChrKSA9PiBrLmxhYmVsID09PSBrZXl3b3JkLmxhYmVsKVxuICAgICAgICAgIHJldHVybiBmb3VuZCA/PyBrZXl3b3JkXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKSxcbiAgICAvLyBhZGQgYWRkaXRpb25hbCBcInVubmFtZWRcIiBrZXl3b3JkcyBmb3IgZXh0ZW50cyB3aXRob3V0IGEgbWF0Y2hpbmcga2V5d29yZFxuICAgIHN3aXRjaE1hcChhc3luYyAoa2V5d29yZHMpID0+IHtcbiAgICAgIGNvbnN0IHNwYXRpYWxFeHRlbnRzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zcGF0aWFsRXh0ZW50cyQpXG4gICAgICBjb25zdCBrZXl3b3Jkc0Zyb21FeHRlbnRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIHNwYXRpYWxFeHRlbnRzLm1hcChhc3luYyAoZXh0ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdLZXl3b3JkID1cbiAgICAgICAgICAgIGV4dGVudC5kZXNjcmlwdGlvbiAmJlxuICAgICAgICAgICAgKGtleXdvcmRzLmZpbmQoXG4gICAgICAgICAgICAgIChrKSA9PiBrLmtleSA9PT0gZXh0ZW50LmRlc2NyaXB0aW9uXG4gICAgICAgICAgICApIGFzIEtleXdvcmRXaXRoRXh0ZW50KVxuICAgICAgICAgIGlmIChleGlzdGluZ0tleXdvcmQpIHtcbiAgICAgICAgICAgIGV4aXN0aW5nS2V5d29yZC5fbGlua2VkRXh0ZW50ID0gZXh0ZW50XG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgICBsZXQgYmJveCA9IG51bGxcbiAgICAgICAgICBpZiAoJ2dlb21ldHJ5JyBpbiBleHRlbnQpIHtcbiAgICAgICAgICAgIGJib3ggPSBleHRlbnQuZ2VvbWV0cnkgLy8gRklYTUU6IHRoaXMgc2hvdWxkIGJlIGEgYmJveCB0b28gYnV0IGZvciBub3cgaXQgd29ya3MuLi5cbiAgICAgICAgICB9IGVsc2UgaWYgKCdiYm94JyBpbiBleHRlbnQpIHtcbiAgICAgICAgICAgIGJib3ggPSBleHRlbnQuYmJveFxuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBsYWJlbCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCgnZWRpdG9yLnJlY29yZC5wbGFjZUtleXdvcmRXaXRob3V0TGFiZWwnKVxuICAgICAgICAgIClcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICB0eXBlOiAncGxhY2UnLFxuICAgICAgICAgICAgLi4uKGJib3ggJiYgeyBiYm94IH0pLFxuICAgICAgICAgICAgX2xpbmtlZEV4dGVudDogZXh0ZW50LFxuICAgICAgICAgICAgX2RvTm90U2F2ZTogdHJ1ZSxcbiAgICAgICAgICB9IGFzIEtleXdvcmRXaXRoRXh0ZW50XG4gICAgICAgIH0pXG4gICAgICApLnRoZW4oKGtleXdvcmRzKSA9PiBrZXl3b3Jkcy5maWx0ZXIoKGspID0+ICEhaykpXG5cbiAgICAgIHJldHVybiBbLi4ua2V5d29yZHMsIC4uLmtleXdvcmRzRnJvbUV4dGVudHNdXG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGxhdGZvcm1TZXJ2aWNlOiBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgcHJpdmF0ZSBlZGl0b3JGYWNhZGU6IEVkaXRvckZhY2FkZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGhhbmRsZUtleXdvcmREZWxldGUoa2V5d29yZDogS2V5d29yZCkge1xuICAgIGNvbnN0IHNwYXRpYWxFeHRlbnRzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zcGF0aWFsRXh0ZW50cyQpXG4gICAgY29uc3Qgc2hvd25LZXl3b3JkcyA9IChhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc2hvd25LZXl3b3JkcyRcbiAgICApKSBhcyBLZXl3b3JkV2l0aEV4dGVudFtdXG4gICAgY29uc3QgbmV3S2V5d29yZHMgPSBzaG93bktleXdvcmRzLmZpbHRlcigoaykgPT4gayAhPT0ga2V5d29yZClcbiAgICBjb25zdCBsaW5rZWRFeHRlbnQgPVxuICAgICAgJ19saW5rZWRFeHRlbnQnIGluIGtleXdvcmQgPyBrZXl3b3JkLl9saW5rZWRFeHRlbnQgOiBudWxsXG4gICAgY29uc3QgbmV3RXh0ZW50cyA9IGxpbmtlZEV4dGVudFxuICAgICAgPyBzcGF0aWFsRXh0ZW50cy5maWx0ZXIoKGV4dGVudCkgPT4gbGlua2VkRXh0ZW50ICE9PSBleHRlbnQpXG4gICAgICA6IHNwYXRpYWxFeHRlbnRzXG4gICAgcmV0dXJuIHRoaXMuZW1pdENoYW5nZXMobmV3S2V5d29yZHMsIG5ld0V4dGVudHMpXG4gIH1cblxuICBhc3luYyBoYW5kbGVLZXl3b3JkQWRkKGtleXdvcmQ6IEtleXdvcmQpIHtcbiAgICBjb25zdCBzcGF0aWFsRXh0ZW50cyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc3BhdGlhbEV4dGVudHMkKVxuICAgIGNvbnN0IHNob3duS2V5d29yZHMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNob3duS2V5d29yZHMkKVxuICAgIGNvbnN0IG5ld0tleXdvcmRzID0gWy4uLnNob3duS2V5d29yZHMsIGtleXdvcmRdIGFzIEtleXdvcmRXaXRoRXh0ZW50W11cbiAgICBsZXQgbmV3RXh0ZW50cyA9IHNwYXRpYWxFeHRlbnRzXG4gICAgaWYgKGtleXdvcmQuYmJveCkge1xuICAgICAgbmV3RXh0ZW50cyA9IFtcbiAgICAgICAgLi4uc3BhdGlhbEV4dGVudHMsXG4gICAgICAgIHtcbiAgICAgICAgICBiYm94OiBrZXl3b3JkLmJib3gsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGtleXdvcmQua2V5ID8/IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZW1pdENoYW5nZXMobmV3S2V5d29yZHMsIG5ld0V4dGVudHMpXG4gIH1cblxuICBhc3luYyBlbWl0Q2hhbmdlcyhcbiAgICBwbGFjZUtleXdvcmRzOiBLZXl3b3JkV2l0aEV4dGVudFtdLFxuICAgIHNwYXRpYWxFeHRlbnRzOiBEYXRhc2V0U3BhdGlhbEV4dGVudFtdXG4gICkge1xuICAgIC8vIHNvbWUga2V5d29yZHMgYXJlIG9ubHkgcHJlc2VudCB0byBhbGxvdyBjb250cm9sIG92ZXIgZXh0ZW50czsgdGhleSAqKnNob3VsZCBub3QqKiBiZSBzYXZlZCFcbiAgICBjb25zdCBmaWx0ZXJlZFBsYWNlS2V5d29yZHMgPSBwbGFjZUtleXdvcmRzXG4gICAgICAuZmlsdGVyKChrZXl3b3JkKSA9PiAha2V5d29yZC5fZG9Ob3RTYXZlKVxuICAgICAgLm1hcChcbiAgICAgICAgKHsgbGFiZWwsIHRoZXNhdXJ1cywgdHlwZSB9KSA9PlxuICAgICAgICAgICh7XG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAuLi4odGhlc2F1cnVzICYmIHsgdGhlc2F1cnVzIH0pLFxuICAgICAgICAgIH0pIGFzIEtleXdvcmRcbiAgICAgIClcblxuICAgIGNvbnN0IG5vdFBsYWNlS3dBbmRTcGF0aWFsU2NvcGVLdyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5lZGl0b3JGYWNhZGUucmVjb3JkJC5waXBlKFxuICAgICAgICBtYXAoKHJlY29yZCkgPT5cbiAgICAgICAgICByZWNvcmQua2V5d29yZHMuZmlsdGVyKFxuICAgICAgICAgICAgKGspID0+XG4gICAgICAgICAgICAgIGsudHlwZSAhPT0gJ3BsYWNlJyB8fFxuICAgICAgICAgICAgICBTUEFUSUFMX1NDT1BFUy5zb21lKFxuICAgICAgICAgICAgICAgIChzcGF0aWFsU2NvcGUpID0+IHNwYXRpYWxTY29wZS5sYWJlbCA9PT0gay5sYWJlbCAvLyBnZXQgYmFjayBzcGF0aWFsU2NvcGUga2V5d29yZHNcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcblxuICAgIGNvbnN0IGFsbEtleXdvcmRzID0gW1xuICAgICAgLi4ubm90UGxhY2VLd0FuZFNwYXRpYWxTY29wZUt3LFxuICAgICAgLi4uZmlsdGVyZWRQbGFjZUtleXdvcmRzLFxuICAgIF1cblxuICAgIHRoaXMuZWRpdG9yRmFjYWRlLnVwZGF0ZVJlY29yZEZpZWxkKCdrZXl3b3JkcycsIGFsbEtleXdvcmRzKVxuICAgIHRoaXMuZWRpdG9yRmFjYWRlLnVwZGF0ZVJlY29yZEZpZWxkKCdzcGF0aWFsRXh0ZW50cycsIHNwYXRpYWxFeHRlbnRzKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxuICA8Z24tdWktZ2VuZXJpYy1rZXl3b3Jkc1xuICAgIFtwbGFjZWhvbGRlcl09XCInZWRpdG9yLnJlY29yZC5mb3JtLmtleXdvcmRzLnBsYWNlLnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2tleXdvcmRzXT1cInNob3duS2V5d29yZHMkIHwgYXN5bmNcIlxuICAgIFtrZXl3b3JkVHlwZXNdPVwiWydwbGFjZSddXCJcbiAgICAoZGVsZXRlZEtleXdvcmQpPVwiaGFuZGxlS2V5d29yZERlbGV0ZSgkZXZlbnQpXCJcbiAgICAoYWRkZWRLZXl3b3JkKT1cImhhbmRsZUtleXdvcmRBZGQoJGV2ZW50KVwiXG4gID5cbiAgPC9nbi11aS1nZW5lcmljLWtleXdvcmRzPlxuICA8ZGl2IGNsYXNzPVwidy1mdWxsIGgtOTYgbXQtMlwiPlxuICAgIDxnbi11aS1mb3JtLWZpZWxkLW1hcC1jb250YWluZXJcbiAgICAgIFtzcGF0aWFsRXh0ZW50c109XCJzcGF0aWFsRXh0ZW50cyQgfCBhc3luY1wiXG4gICAgPjwvZ24tdWktZm9ybS1maWVsZC1tYXAtY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQvZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtc3BhdGlhbC1leHRlbnQvZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUtsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQTtBQUMvRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQTtBQUMzSCxPQUFPLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFN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UyxFQUFFLENBQUM7U0FDaEMsQ0FBWSxDQUNoQixDQUFBO1FBRUgsTUFBTSwyQkFBMkIsR0FBRyxNQUFNLGNBQWMsQ0FDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNiLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUNwQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPO1lBQ2xCLGNBQWMsQ0FBQyxJQUFJLENBQ2pCLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsaUNBQWlDO2FBQ25GLENBQ0osQ0FDRixDQUNGLENBQ0YsQ0FBQTtRQUVELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLEdBQUcsMkJBQTJCO1lBQzlCLEdBQUcscUJBQXFCO1NBQ3pCLENBQUE7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUM1RCxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7K0dBM0lVLCtCQUErQjttR0FBL0IsK0JBQStCLDJGQ3pDNUMsOGdCQWVBLHlERG9CSSxZQUFZLG9GQUNaLHdCQUF3QixzTUFDeEIsZUFBZSw0RkFDZixzQkFBc0I7OzRGQUdiLCtCQUErQjtrQkFiM0MsU0FBUzsrQkFDRSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLHNCQUFzQjtxQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIERhdGFzZXRTcGF0aWFsRXh0ZW50LFxuICBLZXl3b3JkLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBHZW5lcmljS2V5d29yZHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9nZW5lcmljLWtleXdvcmRzL2dlbmVyaWMta2V5d29yZHMuY29tcG9uZW50J1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBFZGl0b3JGYWNhZGUgfSBmcm9tICcuLi8uLi8uLi8uLi8rc3RhdGUvZWRpdG9yLmZhY2FkZSdcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFNQQVRJQUxfU0NPUEVTIH0gZnJvbSAnLi4vLi4vLi4vLi4vZmllbGRzLmNvbmZpZydcbmltcG9ydCB7IFNwYXRpYWxFeHRlbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMnXG5cbi8vIFRoaXMgaW50ZXJtZWRpYXJ5IHR5cGUgd2lsbCBsZXQgdXMga2VlcCB0cmFjayBvZiB3aGljaCBrZXl3b3JkIGlzIGJvdW5kIHRvXG4vLyB3aGljaCBleHRlbnQ7IHRoZXNlIHByb3BlcnRpZXMgd2lsbCBub3QgYmUgcGVyc2lzdGVkXG50eXBlIEtleXdvcmRXaXRoRXh0ZW50ID0gS2V5d29yZCAmIHtcbiAgX2xpbmtlZEV4dGVudDogRGF0YXNldFNwYXRpYWxFeHRlbnRcbiAgX2RvTm90U2F2ZTogYm9vbGVhblxufVxuXG4vKipcbiAqIFRoaXMgZm9ybSBmaWVsZCBpcyBub3QgbGlrZSB0aGUgb3RoZXJzLCBhcyBpdCB3aWxsIHJlYWQgZGlyZWN0bHkgZnJvbSB0aGUgc3RhdGUgdG8gaGFuZGxlIGJvdGggc3BhdGlhbCBleHRlbnRzXG4gKiBhbmQgcGxhY2Uga2V5d29yZHMuXG4gKiBPdGhlciB0eXBlcyBvZiBrZXl3b3JkcyB3aWxsIG5vdCBiZSB0b3VjaGVkIGJ5IHRoaXMgZmllbGQuXG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLXNwYXRpYWwtZXh0ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1maWVsZC1zcGF0aWFsLWV4dGVudC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEdlbmVyaWNLZXl3b3Jkc0NvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgU3BhdGlhbEV4dGVudENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkU3BhdGlhbEV4dGVudENvbXBvbmVudCB7XG4gIHNwYXRpYWxFeHRlbnRzJCA9IHRoaXMuZWRpdG9yRmFjYWRlLnJlY29yZCQucGlwZShcbiAgICBtYXAoKHJlY29yZCkgPT4gKCdzcGF0aWFsRXh0ZW50cycgaW4gcmVjb3JkID8gcmVjb3JkPy5zcGF0aWFsRXh0ZW50cyA6IFtdKSlcbiAgKVxuXG4gIGFsbEtleXdvcmRzJCA9IHRoaXMuZWRpdG9yRmFjYWRlLnJlY29yZCQucGlwZShcbiAgICBtYXAoKHJlY29yZCkgPT4gcmVjb3JkPy5rZXl3b3JkcylcbiAgKVxuXG4gIHNob3duS2V5d29yZHMkID0gdGhpcy5lZGl0b3JGYWNhZGUucmVjb3JkJC5waXBlKFxuICAgIG1hcCgocmVjb3JkKSA9PiByZWNvcmQ/LmtleXdvcmRzLmZpbHRlcigoaykgPT4gay50eXBlID09PSAncGxhY2UnKSksXG4gICAgLy8gbG9vayBmb3IgZnVsbCBrZXl3b3JkcyBpbiB0aGUgdGhlc2F1cmlcbiAgICBzd2l0Y2hNYXAoKGtleXdvcmRzKSA9PlxuICAgICAgUHJvbWlzZS5hbGwoXG4gICAgICAgIGtleXdvcmRzLm1hcChhc3luYyAoa2V5d29yZCkgPT4ge1xuICAgICAgICAgIGlmICgha2V5d29yZC50aGVzYXVydXMpIHJldHVybiBrZXl3b3JkXG4gICAgICAgICAgY29uc3QgYWxsS2V5d29yZHMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMucGxhdGZvcm1TZXJ2aWNlLnNlYXJjaEtleXdvcmRzSW5UaGVzYXVydXMoXG4gICAgICAgICAgICAgIGtleXdvcmQubGFiZWwsXG4gICAgICAgICAgICAgIGtleXdvcmQudGhlc2F1cnVzLmlkXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICAgIGNvbnN0IGZvdW5kID0gYWxsS2V5d29yZHMuZmluZCgoaykgPT4gay5sYWJlbCA9PT0ga2V5d29yZC5sYWJlbClcbiAgICAgICAgICByZXR1cm4gZm91bmQgPz8ga2V5d29yZFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICksXG4gICAgLy8gYWRkIGFkZGl0aW9uYWwgXCJ1bm5hbWVkXCIga2V5d29yZHMgZm9yIGV4dGVudHMgd2l0aG91dCBhIG1hdGNoaW5nIGtleXdvcmRcbiAgICBzd2l0Y2hNYXAoYXN5bmMgKGtleXdvcmRzKSA9PiB7XG4gICAgICBjb25zdCBzcGF0aWFsRXh0ZW50cyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc3BhdGlhbEV4dGVudHMkKVxuICAgICAgY29uc3Qga2V5d29yZHNGcm9tRXh0ZW50cyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICBzcGF0aWFsRXh0ZW50cy5tYXAoYXN5bmMgKGV4dGVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGV4aXN0aW5nS2V5d29yZCA9XG4gICAgICAgICAgICBleHRlbnQuZGVzY3JpcHRpb24gJiZcbiAgICAgICAgICAgIChrZXl3b3Jkcy5maW5kKFxuICAgICAgICAgICAgICAoaykgPT4gay5rZXkgPT09IGV4dGVudC5kZXNjcmlwdGlvblxuICAgICAgICAgICAgKSBhcyBLZXl3b3JkV2l0aEV4dGVudClcbiAgICAgICAgICBpZiAoZXhpc3RpbmdLZXl3b3JkKSB7XG4gICAgICAgICAgICBleGlzdGluZ0tleXdvcmQuX2xpbmtlZEV4dGVudCA9IGV4dGVudFxuICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICB9XG4gICAgICAgICAgbGV0IGJib3ggPSBudWxsXG4gICAgICAgICAgaWYgKCdnZW9tZXRyeScgaW4gZXh0ZW50KSB7XG4gICAgICAgICAgICBiYm94ID0gZXh0ZW50Lmdlb21ldHJ5IC8vIEZJWE1FOiB0aGlzIHNob3VsZCBiZSBhIGJib3ggdG9vIGJ1dCBmb3Igbm93IGl0IHdvcmtzLi4uXG4gICAgICAgICAgfSBlbHNlIGlmICgnYmJveCcgaW4gZXh0ZW50KSB7XG4gICAgICAgICAgICBiYm94ID0gZXh0ZW50LmJib3hcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgbGFiZWwgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQoJ2VkaXRvci5yZWNvcmQucGxhY2VLZXl3b3JkV2l0aG91dExhYmVsJylcbiAgICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgdHlwZTogJ3BsYWNlJyxcbiAgICAgICAgICAgIC4uLihiYm94ICYmIHsgYmJveCB9KSxcbiAgICAgICAgICAgIF9saW5rZWRFeHRlbnQ6IGV4dGVudCxcbiAgICAgICAgICAgIF9kb05vdFNhdmU6IHRydWUsXG4gICAgICAgICAgfSBhcyBLZXl3b3JkV2l0aEV4dGVudFxuICAgICAgICB9KVxuICAgICAgKS50aGVuKChrZXl3b3JkcykgPT4ga2V5d29yZHMuZmlsdGVyKChrKSA9PiAhIWspKVxuXG4gICAgICByZXR1cm4gWy4uLmtleXdvcmRzLCAuLi5rZXl3b3Jkc0Zyb21FeHRlbnRzXVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gIClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsYXRmb3JtU2VydmljZTogUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlLFxuICAgIHByaXZhdGUgZWRpdG9yRmFjYWRlOiBFZGl0b3JGYWNhZGUsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBoYW5kbGVLZXl3b3JkRGVsZXRlKGtleXdvcmQ6IEtleXdvcmQpIHtcbiAgICBjb25zdCBzcGF0aWFsRXh0ZW50cyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc3BhdGlhbEV4dGVudHMkKVxuICAgIGNvbnN0IHNob3duS2V5d29yZHMgPSAoYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnNob3duS2V5d29yZHMkXG4gICAgKSkgYXMgS2V5d29yZFdpdGhFeHRlbnRbXVxuICAgIGNvbnN0IG5ld0tleXdvcmRzID0gc2hvd25LZXl3b3Jkcy5maWx0ZXIoKGspID0+IGsgIT09IGtleXdvcmQpXG4gICAgY29uc3QgbGlua2VkRXh0ZW50ID1cbiAgICAgICdfbGlua2VkRXh0ZW50JyBpbiBrZXl3b3JkID8ga2V5d29yZC5fbGlua2VkRXh0ZW50IDogbnVsbFxuICAgIGNvbnN0IG5ld0V4dGVudHMgPSBsaW5rZWRFeHRlbnRcbiAgICAgID8gc3BhdGlhbEV4dGVudHMuZmlsdGVyKChleHRlbnQpID0+IGxpbmtlZEV4dGVudCAhPT0gZXh0ZW50KVxuICAgICAgOiBzcGF0aWFsRXh0ZW50c1xuICAgIHJldHVybiB0aGlzLmVtaXRDaGFuZ2VzKG5ld0tleXdvcmRzLCBuZXdFeHRlbnRzKVxuICB9XG5cbiAgYXN5bmMgaGFuZGxlS2V5d29yZEFkZChrZXl3b3JkOiBLZXl3b3JkKSB7XG4gICAgY29uc3Qgc3BhdGlhbEV4dGVudHMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnNwYXRpYWxFeHRlbnRzJClcbiAgICBjb25zdCBzaG93bktleXdvcmRzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zaG93bktleXdvcmRzJClcbiAgICBjb25zdCBuZXdLZXl3b3JkcyA9IFsuLi5zaG93bktleXdvcmRzLCBrZXl3b3JkXSBhcyBLZXl3b3JkV2l0aEV4dGVudFtdXG4gICAgbGV0IG5ld0V4dGVudHMgPSBzcGF0aWFsRXh0ZW50c1xuICAgIGlmIChrZXl3b3JkLmJib3gpIHtcbiAgICAgIG5ld0V4dGVudHMgPSBbXG4gICAgICAgIC4uLnNwYXRpYWxFeHRlbnRzLFxuICAgICAgICB7XG4gICAgICAgICAgYmJveDoga2V5d29yZC5iYm94LFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBrZXl3b3JkLmtleSA/PyB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmVtaXRDaGFuZ2VzKG5ld0tleXdvcmRzLCBuZXdFeHRlbnRzKVxuICB9XG5cbiAgYXN5bmMgZW1pdENoYW5nZXMoXG4gICAgcGxhY2VLZXl3b3JkczogS2V5d29yZFdpdGhFeHRlbnRbXSxcbiAgICBzcGF0aWFsRXh0ZW50czogRGF0YXNldFNwYXRpYWxFeHRlbnRbXVxuICApIHtcbiAgICAvLyBzb21lIGtleXdvcmRzIGFyZSBvbmx5IHByZXNlbnQgdG8gYWxsb3cgY29udHJvbCBvdmVyIGV4dGVudHM7IHRoZXkgKipzaG91bGQgbm90KiogYmUgc2F2ZWQhXG4gICAgY29uc3QgZmlsdGVyZWRQbGFjZUtleXdvcmRzID0gcGxhY2VLZXl3b3Jkc1xuICAgICAgLmZpbHRlcigoa2V5d29yZCkgPT4gIWtleXdvcmQuX2RvTm90U2F2ZSlcbiAgICAgIC5tYXAoXG4gICAgICAgICh7IGxhYmVsLCB0aGVzYXVydXMsIHR5cGUgfSkgPT5cbiAgICAgICAgICAoe1xuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgLi4uKHRoZXNhdXJ1cyAmJiB7IHRoZXNhdXJ1cyB9KSxcbiAgICAgICAgICB9KSBhcyBLZXl3b3JkXG4gICAgICApXG5cbiAgICBjb25zdCBub3RQbGFjZUt3QW5kU3BhdGlhbFNjb3BlS3cgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuZWRpdG9yRmFjYWRlLnJlY29yZCQucGlwZShcbiAgICAgICAgbWFwKChyZWNvcmQpID0+XG4gICAgICAgICAgcmVjb3JkLmtleXdvcmRzLmZpbHRlcihcbiAgICAgICAgICAgIChrKSA9PlxuICAgICAgICAgICAgICBrLnR5cGUgIT09ICdwbGFjZScgfHxcbiAgICAgICAgICAgICAgU1BBVElBTF9TQ09QRVMuc29tZShcbiAgICAgICAgICAgICAgICAoc3BhdGlhbFNjb3BlKSA9PiBzcGF0aWFsU2NvcGUubGFiZWwgPT09IGsubGFiZWwgLy8gZ2V0IGJhY2sgc3BhdGlhbFNjb3BlIGtleXdvcmRzXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG5cbiAgICBjb25zdCBhbGxLZXl3b3JkcyA9IFtcbiAgICAgIC4uLm5vdFBsYWNlS3dBbmRTcGF0aWFsU2NvcGVLdyxcbiAgICAgIC4uLmZpbHRlcmVkUGxhY2VLZXl3b3JkcyxcbiAgICBdXG5cbiAgICB0aGlzLmVkaXRvckZhY2FkZS51cGRhdGVSZWNvcmRGaWVsZCgna2V5d29yZHMnLCBhbGxLZXl3b3JkcylcbiAgICB0aGlzLmVkaXRvckZhY2FkZS51cGRhdGVSZWNvcmRGaWVsZCgnc3BhdGlhbEV4dGVudHMnLCBzcGF0aWFsRXh0ZW50cylcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgPGduLXVpLWdlbmVyaWMta2V5d29yZHNcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2VkaXRvci5yZWNvcmQuZm9ybS5rZXl3b3Jkcy5wbGFjZS5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgIFtrZXl3b3Jkc109XCJzaG93bktleXdvcmRzJCB8IGFzeW5jXCJcbiAgICBba2V5d29yZFR5cGVzXT1cIlsncGxhY2UnXVwiXG4gICAgKGRlbGV0ZWRLZXl3b3JkKT1cImhhbmRsZUtleXdvcmREZWxldGUoJGV2ZW50KVwiXG4gICAgKGFkZGVkS2V5d29yZCk9XCJoYW5kbGVLZXl3b3JkQWRkKCRldmVudClcIlxuICA+XG4gIDwvZ24tdWktZ2VuZXJpYy1rZXl3b3Jkcz5cbiAgPGRpdiBjbGFzcz1cInctZnVsbCBoLTk2IG10LTJcIj5cbiAgICA8Z24tdWktc3BhdGlhbC1leHRlbnRcbiAgICAgIFtzcGF0aWFsRXh0ZW50c109XCJzcGF0aWFsRXh0ZW50cyQgfCBhc3luY1wiXG4gICAgPjwvZ24tdWktc3BhdGlhbC1leHRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from './lib/feature-record.module';
|
|
2
|
-
export * from './lib/gn-ui-version.token';
|
|
3
2
|
export * from './lib/state';
|
|
4
3
|
export * from './lib/data-view-permalink/data-view-permalink.component';
|
|
5
4
|
export * from './lib/data-view/data-view.component';
|
|
@@ -10,4 +9,4 @@ export * from './lib/map-view/map-view.component';
|
|
|
10
9
|
export * from './lib/gpf-api-dl/gpf-api-dl.component';
|
|
11
10
|
export * from './lib/record-meta/record-meta.component';
|
|
12
11
|
export * from './lib/external-viewer-button/external-viewer-button.component';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsaUVBQWlFLENBQUE7QUFDL0UsY0FBYywrREFBK0QsQ0FBQTtBQUM3RSxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLCtEQUErRCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZmVhdHVyZS1yZWNvcmQubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXZpZXctcGVybWFsaW5rL2RhdGEtdmlldy1wZXJtYWxpbmsuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS12aWV3L2RhdGEtdmlldy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXZpZXctc2hhcmUvZGF0YS12aWV3LXNoYXJlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtdmlldy13ZWItY29tcG9uZW50L2RhdGEtdmlldy13ZWItY29tcG9uZW50LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4dGVybmFsLXZpZXdlci1idXR0b24vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncGYtYXBpLWRsL2dwZi1hcGktZGwuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLW1ldGEvcmVjb3JkLW1ldGEuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi9leHRlcm5hbC12aWV3ZXItYnV0dG9uLmNvbXBvbmVudCdcbiJdfQ==
|