@valtimo/connector-management 4.17.0 → 4.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/valtimo-connector-management.umd.js +242 -265
- package/bundles/valtimo-connector-management.umd.js.map +1 -1
- package/bundles/valtimo-connector-management.umd.min.js +2 -2
- package/bundles/valtimo-connector-management.umd.min.js.map +1 -1
- package/esm2015/lib/components/add-connector/add-connector.component.js +1 -1
- package/esm2015/lib/components/connector-link-extension/connector-link-extension.component.js +2 -2
- package/esm2015/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.js +1 -1
- package/esm2015/lib/components/connector-management/connector-management.component.js +2 -2
- package/esm2015/lib/components/connector-modal/connector-modal.component.js +1 -1
- package/esm2015/lib/components/edit-connector-form/edit-connector-form.component.js +4 -2
- package/esm2015/lib/components/edit-connector-properties/edit-connector-properties.component.js +1 -1
- package/esm2015/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.js +30 -29
- package/esm2015/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.js +36 -235
- package/esm2015/lib/components/edit-taak-connector/edit-taak-connector.component.js +125 -0
- package/esm2015/lib/components/edit-taak-connector/edit-taak-connector.form.js +63 -0
- package/esm2015/lib/components/modify-connector/modify-connector.component.js +1 -1
- package/esm2015/lib/components/multi-value-connector-property/multi-value-connector-property.component.js +1 -1
- package/esm2015/lib/connector-management-routing.js +1 -1
- package/esm2015/lib/connector-management.module.js +4 -1
- package/esm2015/lib/extension/connector-management.extension.init.js +1 -1
- package/esm2015/lib/models/connector.model.js +1 -1
- package/esm2015/lib/models/index.js +1 -1
- package/esm2015/lib/models/object-sync.js +1 -1
- package/esm2015/lib/services/connector-management/connector-management.service.js +1 -1
- package/esm2015/lib/services/connector-management-state/connector-management-state.service.js +1 -1
- package/esm2015/lib/services/object-api-sync/object-api-sync.service.js +1 -1
- package/esm2015/public-api.js +1 -1
- package/esm2015/valtimo-connector-management.js +3 -2
- package/fesm2015/valtimo-connector-management.js +250 -266
- package/fesm2015/valtimo-connector-management.js.map +1 -1
- package/lib/components/edit-connector-form/edit-connector-form.component.d.ts +2 -0
- package/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.d.ts +5 -1
- package/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.d.ts +62 -0
- package/lib/components/edit-taak-connector/edit-taak-connector.component.d.ts +38 -0
- package/lib/components/edit-taak-connector/edit-taak-connector.form.d.ts +57 -0
- package/package.json +1 -1
- package/valtimo-connector-management.d.ts +2 -1
- package/valtimo-connector-management.metadata.json +1 -1
|
@@ -21,12 +21,14 @@ import { BehaviorSubject, combineLatest, Subject } from 'rxjs';
|
|
|
21
21
|
import { cloneDeep } from 'lodash';
|
|
22
22
|
import { TranslateService } from '@ngx-translate/core';
|
|
23
23
|
import { map, switchMap, tap } from 'rxjs/operators';
|
|
24
|
+
import { ConnectorManagementService } from '../../services/connector-management/connector-management.service';
|
|
24
25
|
export class EditProductAanvragenConnectorComponent {
|
|
25
|
-
constructor(formTranslationService, formMappingService, documentService, translateService) {
|
|
26
|
+
constructor(formTranslationService, formMappingService, documentService, translateService, connectorManagementService) {
|
|
26
27
|
this.formTranslationService = formTranslationService;
|
|
27
28
|
this.formMappingService = formMappingService;
|
|
28
29
|
this.documentService = documentService;
|
|
29
30
|
this.translateService = translateService;
|
|
31
|
+
this.connectorManagementService = connectorManagementService;
|
|
30
32
|
this.showDeleteButton = false;
|
|
31
33
|
this.propertiesSave = new EventEmitter();
|
|
32
34
|
this.connectorDelete = new EventEmitter();
|
|
@@ -49,6 +51,7 @@ export class EditProductAanvragenConnectorComponent {
|
|
|
49
51
|
window['productRequestDefinitions'] = {};
|
|
50
52
|
this.openFormDefinitionSubscription();
|
|
51
53
|
this.formDefinition$.next(editProductAanvragenConnectorForm);
|
|
54
|
+
this.loadConnectorNames();
|
|
52
55
|
this.loadDefinitions();
|
|
53
56
|
}
|
|
54
57
|
ngOnDestroy() {
|
|
@@ -59,19 +62,8 @@ export class EditProductAanvragenConnectorComponent {
|
|
|
59
62
|
onSubmit(event) {
|
|
60
63
|
const submission = event.data;
|
|
61
64
|
const properties = cloneDeep(this.properties);
|
|
62
|
-
properties.
|
|
63
|
-
properties.
|
|
64
|
-
properties.objectsApiProperties.objectsTypeApi.url = submission.objectTypesApiUrl;
|
|
65
|
-
properties.objectsApiProperties.objectsTypeApi.token = submission.objectTypesApiToken;
|
|
66
|
-
properties.objectsApiProperties.objectType.name = submission.objectTypeName;
|
|
67
|
-
properties.objectsApiProperties.objectType.title = submission.objectTypeTitle;
|
|
68
|
-
properties.objectsApiProperties.objectType.url = submission.objectTypeUrl;
|
|
69
|
-
properties.objectsApiProperties.objectType.typeVersion = submission.objectTypeVersion;
|
|
70
|
-
properties.openNotificatieProperties.baseUrl = submission.openNotificationsBaseUrl;
|
|
71
|
-
properties.openNotificatieProperties.clientId = submission.openNotificationsClientId;
|
|
72
|
-
properties.openNotificatieProperties.secret = submission.openNotificationsSecret;
|
|
73
|
-
properties.openNotificatieProperties.callbackBaseUrl =
|
|
74
|
-
submission.openNotificationsCallbackBaseUrl;
|
|
65
|
+
properties.objectsApiConnectionName = submission.objectsApiConnectionName;
|
|
66
|
+
properties.openNotificatieConnectionName = submission.openNotificatieConnectionName;
|
|
75
67
|
properties.aanvragerRolTypeUrl = submission.applicantRoleTypeUrl;
|
|
76
68
|
properties.typeMapping = submission.productAanvraagTypes;
|
|
77
69
|
this.propertiesSave.emit({ properties, name: submission.connectorName });
|
|
@@ -91,19 +83,8 @@ export class EditProductAanvragenConnectorComponent {
|
|
|
91
83
|
prefillForm() {
|
|
92
84
|
const properties = cloneDeep(this.properties);
|
|
93
85
|
const submission = {};
|
|
94
|
-
submission.
|
|
95
|
-
submission.
|
|
96
|
-
submission.objectTypesApiUrl = properties.objectsApiProperties.objectsTypeApi.url;
|
|
97
|
-
submission.objectTypesApiToken = properties.objectsApiProperties.objectsTypeApi.token;
|
|
98
|
-
submission.objectTypeName = properties.objectsApiProperties.objectType.name;
|
|
99
|
-
submission.objectTypeTitle = properties.objectsApiProperties.objectType.title;
|
|
100
|
-
submission.objectTypeUrl = properties.objectsApiProperties.objectType.url;
|
|
101
|
-
submission.objectTypeVersion = properties.objectsApiProperties.objectType.typeVersion;
|
|
102
|
-
submission.openNotificationsBaseUrl = properties.openNotificatieProperties.baseUrl;
|
|
103
|
-
submission.openNotificationsClientId = properties.openNotificatieProperties.clientId;
|
|
104
|
-
submission.openNotificationsSecret = properties.openNotificatieProperties.secret;
|
|
105
|
-
submission.openNotificationsCallbackBaseUrl =
|
|
106
|
-
properties.openNotificatieProperties.callbackBaseUrl;
|
|
86
|
+
submission.objectsApiConnectionName = properties.objectsApiConnectionName;
|
|
87
|
+
submission.openNotificatieConnectionName = properties.openNotificatieConnectionName;
|
|
107
88
|
submission.applicantRoleTypeUrl = properties.aanvragerRolTypeUrl;
|
|
108
89
|
submission.productAanvraagTypes = properties.typeMapping;
|
|
109
90
|
submission.connectorName = this.defaultName;
|
|
@@ -133,6 +114,25 @@ export class EditProductAanvragenConnectorComponent {
|
|
|
133
114
|
}))
|
|
134
115
|
.subscribe();
|
|
135
116
|
}
|
|
117
|
+
loadConnectorNames() {
|
|
118
|
+
this.connectorManagementService.getConnectorTypes()
|
|
119
|
+
.pipe(tap(res => {
|
|
120
|
+
res.forEach(connectorType => {
|
|
121
|
+
if (connectorType.name === 'ObjectsApi') {
|
|
122
|
+
this.loadConnectorNamesByType('objectApiConnectorNames', connectorType.id);
|
|
123
|
+
}
|
|
124
|
+
else if (connectorType.name === 'OpenNotificatie') {
|
|
125
|
+
this.loadConnectorNamesByType('openNotificatieConnectorNames', connectorType.id);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}))
|
|
129
|
+
.subscribe();
|
|
130
|
+
}
|
|
131
|
+
loadConnectorNamesByType(windowKey, connectorTypeId) {
|
|
132
|
+
this.connectorManagementService.getConnectorInstancesByType(connectorTypeId)
|
|
133
|
+
.pipe(map(res => window[windowKey] = res.content.map(connector => connector.name)))
|
|
134
|
+
.subscribe();
|
|
135
|
+
}
|
|
136
136
|
}
|
|
137
137
|
EditProductAanvragenConnectorComponent.decorators = [
|
|
138
138
|
{ type: Component, args: [{
|
|
@@ -145,7 +145,8 @@ EditProductAanvragenConnectorComponent.ctorParameters = () => [
|
|
|
145
145
|
{ type: FormTranslationService },
|
|
146
146
|
{ type: FormMappingService },
|
|
147
147
|
{ type: DocumentService },
|
|
148
|
-
{ type: TranslateService }
|
|
148
|
+
{ type: TranslateService },
|
|
149
|
+
{ type: ConnectorManagementService }
|
|
149
150
|
];
|
|
150
151
|
EditProductAanvragenConnectorComponent.propDecorators = {
|
|
151
152
|
properties: [{ type: Input }],
|
|
@@ -154,4 +155,4 @@ EditProductAanvragenConnectorComponent.propDecorators = {
|
|
|
154
155
|
propertiesSave: [{ type: Output }],
|
|
155
156
|
connectorDelete: [{ type: Output }]
|
|
156
157
|
};
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii90bXAvamVua2lucy0zZmYzYTE5YS93b3Jrc3BhY2Uvcm9udGVuZF9saWJyYXJpZXNfLV9yZWxlYXNlX21haW4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUNMLGVBQWUsR0FJaEIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFJM0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQU9uRCxNQUFNLE9BQU8sc0NBQXNDO0lBdUJqRCxZQUNtQixzQkFBOEMsRUFDOUMsa0JBQXNDLEVBQ3RDLGVBQWdDLEVBQ2hDLGdCQUFrQztRQUhsQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLHVCQUFrQixHQUFs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QyxFQUFFLENBQUMsb0JBQW9CLENBQy9FLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQztZQUU1RSxNQUFNLG1DQUFtQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQy9FLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQy9CLElBQUksQ0FBQyw2QkFBNkIsQ0FDbkMsQ0FBQztZQUVGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7WUFFL0QsVUFBSSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxtQkFBbUIsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3BCO1FBQ0gsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7WUEzS0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQ0FBMEM7Z0JBQ3BELCtyQ0FBZ0U7O2FBRWpFOzs7WUFwQjJCLHNCQUFzQjtZQUExQyxrQkFBa0I7WUFFeEIsZUFBZTtZQVdULGdCQUFnQjs7O3lCQVNyQixLQUFLOzBCQUNMLEtBQUs7K0JBQ0wsS0FBSzs2QkFFTCxNQUFNOzhCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMSBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2VkaXRQcm9kdWN0QWFudnJhZ2VuQ29ubmVjdG9yRm9ybX0gZnJvbSAnLi9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci5mb3JtJztcbmltcG9ydCB7Rm9ybU1hcHBpbmdTZXJ2aWNlLCBGb3JtVHJhbnNsYXRpb25TZXJ2aWNlfSBmcm9tICdAdmFsdGltby9mb3JtJztcbmltcG9ydCB7XG4gIERvY3VtZW50U2VydmljZSxcbiAgRG9jdW1lbnREZWZpbml0aW9uLFxuICBEb2N1bWVudERlZmluaXRpb25zLFxuICBQcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uLFxufSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge0V4dGVuZGVkQ29tcG9uZW50U2NoZW1hfSBmcm9tICdmb3JtaW9qcyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q29ubmVjdG9yUHJvcGVydGllc30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7Rm9ybWlvRm9ybSwgRm9ybWlvUmVmcmVzaFZhbHVlfSBmcm9tICdhbmd1bGFyLWZvcm1pbyc7XG5pbXBvcnQge0Zvcm1pb09wdGlvbnN9IGZyb20gJ2FuZ3VsYXItZm9ybWlvL2Zvcm1pby5jb21tb24nO1xuaW1wb3J0IHtjbG9uZURlZXB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0UHJvZHVjdEFhbnZyYWdlbkNvbm5lY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHJvcGVydGllczogQ29ubmVjdG9yUHJvcGVydGllcztcbiAgQElucHV0KCkgZGVmYXVsdE5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dEZWxldGVCdXR0b24gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcHJvcGVydGllc1NhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHtwcm9wZXJ0aWVzOiBDb25uZWN0b3JQcm9wZXJ0aWVzOyBuYW1lOiBzdHJpbmd9PigpO1xuICBAT3V0cHV0KCkgY29ubmVjdG9yRGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZm9ybVJlZnJlc2gkID0gbmV3IFN1YmplY3Q8Rm9ybWlvUmVmcmVzaFZhbHVlPigpO1xuICBmb3JtRGVmaW5pdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1pb0Zvcm0+KHVuZGVmaW5lZCk7XG4gIHRyYW5zbGF0ZWRGb3JtRGVmaW5pdGlvbiQgPSB0aGlzLmZvcm1EZWZpbml0aW9uJC5waXBlKFxuICAgIG1hcChkZWZpbml0aW9uID0+IHRoaXMuZm9ybVRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVGb3JtKGRlZmluaXRpb24pKVxuICApO1xuICBjYXNlRGVmaW5pdGlvbk9wdGlvbnM6IEFycmF5PHtsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nfT4gPSBbXTtcbiAgcHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbk9wdGlvbnM6IHtbY2FzZURlZmluaXRpb25JZDogc3RyaW5nXTogQXJyYXk8c3RyaW5nPn0gPSB7fTtcblxuICByZWFkb25seSBvcHRpb25zOiBGb3JtaW9PcHRpb25zID0ge1xuICAgIGRpc2FibGVBbGVydHM6IHRydWUsXG4gIH07XG5cbiAgcHJpdmF0ZSBmb3JtRGVmaW5pdGlvblN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtVHJhbnNsYXRpb25TZXJ2aWNlOiBGb3JtVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybU1hcHBpbmdTZXJ2aWNlOiBGb3JtTWFwcGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHdpbmRvd1sncHJvZHVjdFJlcXVlc3REZWZpbml0aW9ucyddID0ge307XG4gICAgdGhpcy5vcGVuRm9ybURlZmluaXRpb25TdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uJC5uZXh0KGVkaXRQcm9kdWN0QWFudnJhZ2VuQ29ubmVjdG9yRm9ybSk7XG4gICAgdGhpcy5sb2FkRGVmaW5pdGlvbnMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybURlZmluaXRpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy50cmFuc2xhdGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvblN1Ym1pdChldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc3VibWlzc2lvbiA9IGV2ZW50LmRhdGE7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IGNsb25lRGVlcCh0aGlzLnByb3BlcnRpZXMpO1xuXG4gICAgcHJvcGVydGllcy5vYmplY3RzQXBpUHJvcGVydGllcy5vYmplY3RzQXBpLnVybCA9IHN1Ym1pc3Npb24ub2JqZWN0c0FwaVVybDtcbiAgICBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdHNBcGkudG9rZW4gPSBzdWJtaXNzaW9uLm9iamVjdHNBcGlUb2tlbjtcbiAgICBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdHNUeXBlQXBpLnVybCA9IHN1Ym1pc3Npb24ub2JqZWN0VHlwZXNBcGlVcmw7XG4gICAgcHJvcGVydGllcy5vYmplY3RzQXBpUHJvcGVydGllcy5vYmplY3RzVHlwZUFwaS50b2tlbiA9IHN1Ym1pc3Npb24ub2JqZWN0VHlwZXNBcGlUb2tlbjtcblxuICAgIHByb3BlcnRpZXMub2JqZWN0c0FwaVByb3BlcnRpZXMub2JqZWN0VHlwZS5uYW1lID0gc3VibWlzc2lvbi5vYmplY3RUeXBlTmFtZTtcbiAgICBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdFR5cGUudGl0bGUgPSBzdWJtaXNzaW9uLm9iamVjdFR5cGVUaXRsZTtcbiAgICBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdFR5cGUudXJsID0gc3VibWlzc2lvbi5vYmplY3RUeXBlVXJsO1xuICAgIHByb3BlcnRpZXMub2JqZWN0c0FwaVByb3BlcnRpZXMub2JqZWN0VHlwZS50eXBlVmVyc2lvbiA9IHN1Ym1pc3Npb24ub2JqZWN0VHlwZVZlcnNpb247XG5cbiAgICBwcm9wZXJ0aWVzLm9wZW5Ob3RpZmljYXRpZVByb3BlcnRpZXMuYmFzZVVybCA9IHN1Ym1pc3Npb24ub3Blbk5vdGlmaWNhdGlvbnNCYXNlVXJsO1xuICAgIHByb3BlcnRpZXMub3Blbk5vdGlmaWNhdGllUHJvcGVydGllcy5jbGllbnRJZCA9IHN1Ym1pc3Npb24ub3Blbk5vdGlmaWNhdGlvbnNDbGllbnRJZDtcbiAgICBwcm9wZXJ0aWVzLm9wZW5Ob3RpZmljYXRpZVByb3BlcnRpZXMuc2VjcmV0ID0gc3VibWlzc2lvbi5vcGVuTm90aWZpY2F0aW9uc1NlY3JldDtcbiAgICBwcm9wZXJ0aWVzLm9wZW5Ob3RpZmljYXRpZVByb3BlcnRpZXMuY2FsbGJhY2tCYXNlVXJsID1cbiAgICAgIHN1Ym1pc3Npb24ub3Blbk5vdGlmaWNhdGlvbnNDYWxsYmFja0Jhc2VVcmw7XG5cbiAgICBwcm9wZXJ0aWVzLmFhbnZyYWdlclJvbFR5cGVVcmwgPSBzdWJtaXNzaW9uLmFwcGxpY2FudFJvbGVUeXBlVXJsO1xuXG4gICAgcHJvcGVydGllcy50eXBlTWFwcGluZyA9IHN1Ym1pc3Npb24ucHJvZHVjdEFhbnZyYWFnVHlwZXM7XG5cbiAgICB0aGlzLnByb3BlcnRpZXNTYXZlLmVtaXQoe3Byb3BlcnRpZXMsIG5hbWU6IHN1Ym1pc3Npb24uY29ubmVjdG9yTmFtZX0pO1xuICB9XG5cbiAgb25EZWxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JEZWxldGUuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRm9ybURlZmluaXRpb25TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtRGVmaW5pdGlvblN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5mb3JtRGVmaW5pdGlvbiQsXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgICBdKS5zdWJzY3JpYmUoKFtmb3JtXSkgPT4ge1xuICAgICAgY29uc3QgdHJhbnNsYXRlZEZvcm0gPSB0aGlzLmZvcm1UcmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlRm9ybShmb3JtKTtcbiAgICAgIHRoaXMucmVmcmVzaEZvcm0oe2Zvcm06IHRyYW5zbGF0ZWRGb3JtfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByZWZpbGxGb3JtKCk6IHZvaWQge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBjbG9uZURlZXAodGhpcy5wcm9wZXJ0aWVzKTtcbiAgICBjb25zdCBzdWJtaXNzaW9uOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IHt9O1xuXG4gICAgc3VibWlzc2lvbi5vYmplY3RzQXBpVXJsID0gcHJvcGVydGllcy5vYmplY3RzQXBpUHJvcGVydGllcy5vYmplY3RzQXBpLnVybDtcbiAgICBzdWJtaXNzaW9uLm9iamVjdHNBcGlUb2tlbiA9IHByb3BlcnRpZXMub2JqZWN0c0FwaVByb3BlcnRpZXMub2JqZWN0c0FwaS50b2tlbjtcbiAgICBzdWJtaXNzaW9uLm9iamVjdFR5cGVzQXBpVXJsID0gcHJvcGVydGllcy5vYmplY3RzQXBpUHJvcGVydGllcy5vYmplY3RzVHlwZUFwaS51cmw7XG4gICAgc3VibWlzc2lvbi5vYmplY3RUeXBlc0FwaVRva2VuID0gcHJvcGVydGllcy5vYmplY3RzQXBpUHJvcGVydGllcy5vYmplY3RzVHlwZUFwaS50b2tlbjtcblxuICAgIHN1Ym1pc3Npb24ub2JqZWN0VHlwZU5hbWUgPSBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdFR5cGUubmFtZTtcbiAgICBzdWJtaXNzaW9uLm9iamVjdFR5cGVUaXRsZSA9IHByb3BlcnRpZXMub2JqZWN0c0FwaVByb3BlcnRpZXMub2JqZWN0VHlwZS50aXRsZTtcbiAgICBzdWJtaXNzaW9uLm9iamVjdFR5cGVVcmwgPSBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdFR5cGUudXJsO1xuICAgIHN1Ym1pc3Npb24ub2JqZWN0VHlwZVZlcnNpb24gPSBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdFR5cGUudHlwZVZlcnNpb247XG5cbiAgICBzdWJtaXNzaW9uLm9wZW5Ob3RpZmljYXRpb25zQmFzZVVybCA9IHByb3BlcnRpZXMub3Blbk5vdGlmaWNhdGllUHJvcGVydGllcy5iYXNlVXJsO1xuICAgIHN1Ym1pc3Npb24ub3Blbk5vdGlmaWNhdGlvbnNDbGllbnRJZCA9IHByb3BlcnRpZXMub3Blbk5vdGlmaWNhdGllUHJvcGVydGllcy5jbGllbnRJZDtcbiAgICBzdWJtaXNzaW9uLm9wZW5Ob3RpZmljYXRpb25zU2VjcmV0ID0gcHJvcGVydGllcy5vcGVuTm90aWZpY2F0aWVQcm9wZXJ0aWVzLnNlY3JldDtcbiAgICBzdWJtaXNzaW9uLm9wZW5Ob3RpZmljYXRpb25zQ2FsbGJhY2tCYXNlVXJsID1cbiAgICAgIHByb3BlcnRpZXMub3Blbk5vdGlmaWNhdGllUHJvcGVydGllcy5jYWxsYmFja0Jhc2VVcmw7XG5cbiAgICBzdWJtaXNzaW9uLmFwcGxpY2FudFJvbGVUeXBlVXJsID0gcHJvcGVydGllcy5hYW52cmFnZXJSb2xUeXBlVXJsO1xuXG4gICAgc3VibWlzc2lvbi5wcm9kdWN0QWFudnJhYWdUeXBlcyA9IHByb3BlcnRpZXMudHlwZU1hcHBpbmc7XG5cbiAgICBzdWJtaXNzaW9uLmNvbm5lY3Rvck5hbWUgPSB0aGlzLmRlZmF1bHROYW1lO1xuXG4gICAgdGhpcy5yZWZyZXNoRm9ybSh7c3VibWlzc2lvbjoge2RhdGE6IHN1Ym1pc3Npb259fSk7XG4gIH1cblxuICBwcml2YXRlIG1hcENhc2VEZWZpbml0aW9uS2V5Q29tcG9uZW50ID0gKFxuICAgIGNvbXBvbmVudDogRXh0ZW5kZWRDb21wb25lbnRTY2hlbWFcbiAgKTogRXh0ZW5kZWRDb21wb25lbnRTY2hlbWEgPT4ge1xuICAgIGlmIChjb21wb25lbnQua2V5ID09PSAnY2FzZURlZmluaXRpb25LZXknKSB7XG4gICAgICByZXR1cm4gey4uLmNvbXBvbmVudCwgZGlzYWJsZWQ6IGZhbHNlLCBkYXRhOiB7dmFsdWVzOiB0aGlzLmNhc2VEZWZpbml0aW9uT3B0aW9uc319O1xuICAgIH1cblxuICAgIHJldHVybiBjb21wb25lbnQ7XG4gIH07XG5cbiAgcHJpdmF0ZSByZWZyZXNoRm9ybShyZWZyZXNoVmFsdWU6IEZvcm1pb1JlZnJlc2hWYWx1ZSk6IHZvaWQge1xuICAgIHRoaXMuZm9ybVJlZnJlc2gkLm5leHQocmVmcmVzaFZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZERlZmluaXRpb25zKCk6IHZvaWQge1xuICAgIGxldCBkb2N1bWVudERlZmluaXRpb25zOiBBcnJheTxEb2N1bWVudERlZmluaXRpb24+O1xuXG4gICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcbiAgICAgIC5nZXRBbGxEZWZpbml0aW9ucygpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHJlc0RvY3VtZW50RGVmaW5pdGlvbnMgPT4gKGRvY3VtZW50RGVmaW5pdGlvbnMgPSByZXNEb2N1bWVudERlZmluaXRpb25zLmNvbnRlbnQpKSxcbiAgICAgICAgc3dpdGNoTWFwKHJlc0RvY3VtZW50RGVmaW5pdGlvbnMgPT5cbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgcmVzRG9jdW1lbnREZWZpbml0aW9ucy5jb250ZW50Lm1hcChkZWZpbml0aW9uID0+XG4gICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmZpbmRQcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucyhkZWZpbml0aW9uLmlkLm5hbWUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICB0YXAocmVzID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VEZWZpbml0aW9uT3B0aW9ucyA9IGRvY3VtZW50RGVmaW5pdGlvbnMubWFwKGRvY3VtZW50RGVmaW5pdGlvbiA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge2xhYmVsOiBkb2N1bWVudERlZmluaXRpb24uaWQubmFtZSwgdmFsdWU6IGRvY3VtZW50RGVmaW5pdGlvbi5pZC5uYW1lfTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbnMuZm9yRWFjaCgoZG9jdW1lbnREZWZpbml0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uT3B0aW9uc1tkb2N1bWVudERlZmluaXRpb24uaWQubmFtZV0gPSByZXNbaW5kZXhdLm1hcChcbiAgICAgICAgICAgICAgcHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbiA9PiBwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uLmlkLnByb2Nlc3NEZWZpbml0aW9uS2V5XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgd2luZG93Wydwcm9kdWN0UmVxdWVzdERlZmluaXRpb25zJ10gPSB0aGlzLnByb2Nlc3NEb2N1bWVudERlZmluaXRpb25PcHRpb25zO1xuXG4gICAgICAgICAgY29uc3QgZGVmaW5pdGlvbldpdGhDYXNlRGVmaW5pdGlvbk9wdGlvbnMgPSB0aGlzLmZvcm1NYXBwaW5nU2VydmljZS5tYXBDb21wb25lbnRzKFxuICAgICAgICAgICAgdGhpcy5mb3JtRGVmaW5pdGlvbiQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIHRoaXMubWFwQ2FzZURlZmluaXRpb25LZXlDb21wb25lbnRcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy5mb3JtRGVmaW5pdGlvbiQubmV4dChkZWZpbml0aW9uV2l0aENhc2VEZWZpbml0aW9uT3B0aW9ucyk7XG5cbiAgICAgICAgICBpZiAodGhpcy5wcm9wZXJ0aWVzPy5hYW52cmFnZXJSb2xUeXBlVXJsKSB7XG4gICAgICAgICAgICB0aGlzLnByZWZpbGxGb3JtKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii90bXAvamVua2lucy1hYWI3YTY1ZC93b3Jrc3BhY2Uvcm9udGVuZF9saWJyYXJpZXNfLV9yZWxlYXNlX21haW4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFxQixlQUFlLEdBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RSxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFJM0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQU81RyxNQUFNLE9BQU8sc0NBQXNDO0lBdUJqRCxZQUNtQixzQkFBOEMsRUFDOUMsa0JBQXNDLEVBQ3RDLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUNs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S0FBSzsrQkFDTCxLQUFLOzZCQUVMLE1BQU07OEJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIxIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZWRpdFByb2R1Y3RBYW52cmFnZW5Db25uZWN0b3JGb3JtfSBmcm9tICcuL2VkaXQtcHJvZHVjdC1hYW52cmFnZW4tY29ubmVjdG9yLmZvcm0nO1xuaW1wb3J0IHtGb3JtTWFwcGluZ1NlcnZpY2UsIEZvcm1UcmFuc2xhdGlvblNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2Zvcm0nO1xuaW1wb3J0IHtEb2N1bWVudERlZmluaXRpb24sIERvY3VtZW50U2VydmljZSx9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7RXh0ZW5kZWRDb21wb25lbnRTY2hlbWF9IGZyb20gJ2Zvcm1pb2pzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb25uZWN0b3JQcm9wZXJ0aWVzfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtGb3JtaW9Gb3JtLCBGb3JtaW9SZWZyZXNoVmFsdWV9IGZyb20gJ2FuZ3VsYXItZm9ybWlvJztcbmltcG9ydCB7Rm9ybWlvT3B0aW9uc30gZnJvbSAnYW5ndWxhci1mb3JtaW8vZm9ybWlvLmNvbW1vbic7XG5pbXBvcnQge2Nsb25lRGVlcH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Q29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nvbm5lY3Rvci1tYW5hZ2VtZW50L2Nvbm5lY3Rvci1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWVkaXQtcHJvZHVjdC1hYW52cmFnZW4tY29ubmVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtcHJvZHVjdC1hYW52cmFnZW4tY29ubmVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdFByb2R1Y3RBYW52cmFnZW5Db25uZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHByb3BlcnRpZXM6IENvbm5lY3RvclByb3BlcnRpZXM7XG4gIEBJbnB1dCgpIGRlZmF1bHROYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBzaG93RGVsZXRlQnV0dG9uID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHByb3BlcnRpZXNTYXZlID0gbmV3IEV2ZW50RW1pdHRlcjx7IHByb3BlcnRpZXM6IENvbm5lY3RvclByb3BlcnRpZXM7IG5hbWU6IHN0cmluZyB9PigpO1xuICBAT3V0cHV0KCkgY29ubmVjdG9yRGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZm9ybVJlZnJlc2gkID0gbmV3IFN1YmplY3Q8Rm9ybWlvUmVmcmVzaFZhbHVlPigpO1xuICBmb3JtRGVmaW5pdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1pb0Zvcm0+KHVuZGVmaW5lZCk7XG4gIHRyYW5zbGF0ZWRGb3JtRGVmaW5pdGlvbiQgPSB0aGlzLmZvcm1EZWZpbml0aW9uJC5waXBlKFxuICAgIG1hcChkZWZpbml0aW9uID0+IHRoaXMuZm9ybVRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVGb3JtKGRlZmluaXRpb24pKVxuICApO1xuICBjYXNlRGVmaW5pdGlvbk9wdGlvbnM6IEFycmF5PHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PiA9IFtdO1xuICBwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uT3B0aW9uczogeyBbY2FzZURlZmluaXRpb25JZDogc3RyaW5nXTogQXJyYXk8c3RyaW5nPiB9ID0ge307XG5cbiAgcmVhZG9ubHkgb3B0aW9uczogRm9ybWlvT3B0aW9ucyA9IHtcbiAgICBkaXNhYmxlQWxlcnRzOiB0cnVlLFxuICB9O1xuXG4gIHByaXZhdGUgZm9ybURlZmluaXRpb25TdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgdHJhbnNsYXRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybVRyYW5zbGF0aW9uU2VydmljZTogRm9ybVRyYW5zbGF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1NYXBwaW5nU2VydmljZTogRm9ybU1hcHBpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2U6IENvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgd2luZG93Wydwcm9kdWN0UmVxdWVzdERlZmluaXRpb25zJ10gPSB7fTtcbiAgICB0aGlzLm9wZW5Gb3JtRGVmaW5pdGlvblN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMuZm9ybURlZmluaXRpb24kLm5leHQoZWRpdFByb2R1Y3RBYW52cmFnZW5Db25uZWN0b3JGb3JtKTtcbiAgICB0aGlzLmxvYWRDb25uZWN0b3JOYW1lcygpO1xuICAgIHRoaXMubG9hZERlZmluaXRpb25zKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMudHJhbnNsYXRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHN1Ym1pc3Npb24gPSBldmVudC5kYXRhO1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBjbG9uZURlZXAodGhpcy5wcm9wZXJ0aWVzKTtcblxuICAgIHByb3BlcnRpZXMub2JqZWN0c0FwaUNvbm5lY3Rpb25OYW1lID0gc3VibWlzc2lvbi5vYmplY3RzQXBpQ29ubmVjdGlvbk5hbWU7XG4gICAgcHJvcGVydGllcy5vcGVuTm90aWZpY2F0aWVDb25uZWN0aW9uTmFtZSA9IHN1Ym1pc3Npb24ub3Blbk5vdGlmaWNhdGllQ29ubmVjdGlvbk5hbWU7XG4gICAgcHJvcGVydGllcy5hYW52cmFnZXJSb2xUeXBlVXJsID0gc3VibWlzc2lvbi5hcHBsaWNhbnRSb2xlVHlwZVVybDtcbiAgICBwcm9wZXJ0aWVzLnR5cGVNYXBwaW5nID0gc3VibWlzc2lvbi5wcm9kdWN0QWFudnJhYWdUeXBlcztcblxuICAgIHRoaXMucHJvcGVydGllc1NhdmUuZW1pdCh7cHJvcGVydGllcywgbmFtZTogc3VibWlzc2lvbi5jb25uZWN0b3JOYW1lfSk7XG4gIH1cblxuICBvbkRlbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbm5lY3RvckRlbGV0ZS5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5Gb3JtRGVmaW5pdGlvblN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmZvcm1EZWZpbml0aW9uJCxcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICAgIF0pLnN1YnNjcmliZSgoW2Zvcm1dKSA9PiB7XG4gICAgICBjb25zdCB0cmFuc2xhdGVkRm9ybSA9IHRoaXMuZm9ybVRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVGb3JtKGZvcm0pO1xuICAgICAgdGhpcy5yZWZyZXNoRm9ybSh7Zm9ybTogdHJhbnNsYXRlZEZvcm19KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlZmlsbEZvcm0oKTogdm9pZCB7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IGNsb25lRGVlcCh0aGlzLnByb3BlcnRpZXMpO1xuICAgIGNvbnN0IHN1Ym1pc3Npb246IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuICAgIHN1Ym1pc3Npb24ub2JqZWN0c0FwaUNvbm5lY3Rpb25OYW1lID0gcHJvcGVydGllcy5vYmplY3RzQXBpQ29ubmVjdGlvbk5hbWU7XG4gICAgc3VibWlzc2lvbi5vcGVuTm90aWZpY2F0aWVDb25uZWN0aW9uTmFtZSA9IHByb3BlcnRpZXMub3Blbk5vdGlmaWNhdGllQ29ubmVjdGlvbk5hbWU7XG4gICAgc3VibWlzc2lvbi5hcHBsaWNhbnRSb2xlVHlwZVVybCA9IHByb3BlcnRpZXMuYWFudnJhZ2VyUm9sVHlwZVVybDtcbiAgICBzdWJtaXNzaW9uLnByb2R1Y3RBYW52cmFhZ1R5cGVzID0gcHJvcGVydGllcy50eXBlTWFwcGluZztcbiAgICBzdWJtaXNzaW9uLmNvbm5lY3Rvck5hbWUgPSB0aGlzLmRlZmF1bHROYW1lO1xuXG4gICAgdGhpcy5yZWZyZXNoRm9ybSh7c3VibWlzc2lvbjoge2RhdGE6IHN1Ym1pc3Npb259fSk7XG4gIH1cblxuICBwcml2YXRlIG1hcENhc2VEZWZpbml0aW9uS2V5Q29tcG9uZW50ID0gKFxuICAgIGNvbXBvbmVudDogRXh0ZW5kZWRDb21wb25lbnRTY2hlbWFcbiAgKTogRXh0ZW5kZWRDb21wb25lbnRTY2hlbWEgPT4ge1xuICAgIGlmIChjb21wb25lbnQua2V5ID09PSAnY2FzZURlZmluaXRpb25LZXknKSB7XG4gICAgICByZXR1cm4gey4uLmNvbXBvbmVudCwgZGlzYWJsZWQ6IGZhbHNlLCBkYXRhOiB7dmFsdWVzOiB0aGlzLmNhc2VEZWZpbml0aW9uT3B0aW9uc319O1xuICAgIH1cblxuICAgIHJldHVybiBjb21wb25lbnQ7XG4gIH07XG5cbiAgcHJpdmF0ZSByZWZyZXNoRm9ybShyZWZyZXNoVmFsdWU6IEZvcm1pb1JlZnJlc2hWYWx1ZSk6IHZvaWQge1xuICAgIHRoaXMuZm9ybVJlZnJlc2gkLm5leHQocmVmcmVzaFZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZERlZmluaXRpb25zKCk6IHZvaWQge1xuICAgIGxldCBkb2N1bWVudERlZmluaXRpb25zOiBBcnJheTxEb2N1bWVudERlZmluaXRpb24+O1xuXG4gICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcbiAgICAgIC5nZXRBbGxEZWZpbml0aW9ucygpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHJlc0RvY3VtZW50RGVmaW5pdGlvbnMgPT4gKGRvY3VtZW50RGVmaW5pdGlvbnMgPSByZXNEb2N1bWVudERlZmluaXRpb25zLmNvbnRlbnQpKSxcbiAgICAgICAgc3dpdGNoTWFwKHJlc0RvY3VtZW50RGVmaW5pdGlvbnMgPT5cbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgcmVzRG9jdW1lbnREZWZpbml0aW9ucy5jb250ZW50Lm1hcChkZWZpbml0aW9uID0+XG4gICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmZpbmRQcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucyhkZWZpbml0aW9uLmlkLm5hbWUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICB0YXAocmVzID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VEZWZpbml0aW9uT3B0aW9ucyA9IGRvY3VtZW50RGVmaW5pdGlvbnMubWFwKGRvY3VtZW50RGVmaW5pdGlvbiA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge2xhYmVsOiBkb2N1bWVudERlZmluaXRpb24uaWQubmFtZSwgdmFsdWU6IGRvY3VtZW50RGVmaW5pdGlvbi5pZC5uYW1lfTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbnMuZm9yRWFjaCgoZG9jdW1lbnREZWZpbml0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uT3B0aW9uc1tkb2N1bWVudERlZmluaXRpb24uaWQubmFtZV0gPSByZXNbaW5kZXhdLm1hcChcbiAgICAgICAgICAgICAgcHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbiA9PiBwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uLmlkLnByb2Nlc3NEZWZpbml0aW9uS2V5XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgd2luZG93Wydwcm9kdWN0UmVxdWVzdERlZmluaXRpb25zJ10gPSB0aGlzLnByb2Nlc3NEb2N1bWVudERlZmluaXRpb25PcHRpb25zO1xuXG4gICAgICAgICAgY29uc3QgZGVmaW5pdGlvbldpdGhDYXNlRGVmaW5pdGlvbk9wdGlvbnMgPSB0aGlzLmZvcm1NYXBwaW5nU2VydmljZS5tYXBDb21wb25lbnRzKFxuICAgICAgICAgICAgdGhpcy5mb3JtRGVmaW5pdGlvbiQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIHRoaXMubWFwQ2FzZURlZmluaXRpb25LZXlDb21wb25lbnRcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy5mb3JtRGVmaW5pdGlvbiQubmV4dChkZWZpbml0aW9uV2l0aENhc2VEZWZpbml0aW9uT3B0aW9ucyk7XG5cbiAgICAgICAgICBpZiAodGhpcy5wcm9wZXJ0aWVzPy5hYW52cmFnZXJSb2xUeXBlVXJsKSB7XG4gICAgICAgICAgICB0aGlzLnByZWZpbGxGb3JtKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQ29ubmVjdG9yTmFtZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JNYW5hZ2VtZW50U2VydmljZS5nZXRDb25uZWN0b3JUeXBlcygpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHJlcyA9PiB7XG4gICAgICAgICAgcmVzLmZvckVhY2goY29ubmVjdG9yVHlwZSA9PiB7XG4gICAgICAgICAgICBpZiAoY29ubmVjdG9yVHlwZS5uYW1lID09PSAnT2JqZWN0c0FwaScpIHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkQ29ubmVjdG9yTmFtZXNCeVR5cGUoJ29iamVjdEFwaUNvbm5lY3Rvck5hbWVzJywgY29ubmVjdG9yVHlwZS5pZCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNvbm5lY3RvclR5cGUubmFtZSA9PT0gJ09wZW5Ob3RpZmljYXRpZScpIHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkQ29ubmVjdG9yTmFtZXNCeVR5cGUoJ29wZW5Ob3RpZmljYXRpZUNvbm5lY3Rvck5hbWVzJywgY29ubmVjdG9yVHlwZS5pZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRDb25uZWN0b3JOYW1lc0J5VHlwZSh3aW5kb3dLZXk6IHN0cmluZywgY29ubmVjdG9yVHlwZUlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlLmdldENvbm5lY3Rvckluc3RhbmNlc0J5VHlwZShjb25uZWN0b3JUeXBlSWQpXG4gICAgICAucGlwZShtYXAocmVzID0+IHdpbmRvd1t3aW5kb3dLZXldID0gcmVzLmNvbnRlbnQubWFwKGNvbm5lY3RvciA9PiBjb25uZWN0b3IubmFtZSkpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|