@netgrif/components-core 6.1.1 → 6.2.0-rc.11
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/esm2020/assets/i18n/de.json +19 -1
- package/esm2020/assets/i18n/en.json +19 -1
- package/esm2020/assets/i18n/sk.json +20 -2
- package/esm2020/lib/authorization/permission/access.service.mjs +74 -0
- package/esm2020/lib/authorization/public-api.mjs +2 -1
- package/esm2020/lib/data-fields/file-field/abstract-file-field.component.mjs +8 -3
- package/esm2020/lib/data-fields/file-list-field/abstract-file-list-field.component.mjs +7 -2
- package/esm2020/lib/dialog/components/prompt-dialog/prompt-dialog.component.mjs +3 -3
- package/esm2020/lib/filter/models/case-search-request-body.mjs +1 -1
- package/esm2020/lib/header/abstract-header-service.mjs +15 -8
- package/esm2020/lib/header/abstract-header.component.mjs +2 -2
- package/esm2020/lib/header/case-header/case-header.service.mjs +2 -2
- package/esm2020/lib/header/header-modes/search-mode/abstract-search-mode.component.mjs +3 -2
- package/esm2020/lib/header/task-header/task-header.service.mjs +7 -4
- package/esm2020/lib/header/workflow-header/workflow-header.service.mjs +11 -8
- package/esm2020/lib/navigation/model/uri-resource.mjs +6 -0
- package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +386 -0
- package/esm2020/lib/navigation/navigation-tree/abstract-navigation-tree.component.mjs +15 -62
- package/esm2020/lib/navigation/public-api.mjs +5 -1
- package/esm2020/lib/navigation/service/uri-resource.service.mjs +35 -0
- package/esm2020/lib/navigation/service/uri.service.mjs +194 -0
- package/esm2020/lib/panel/abstract/panel-with-immediate-data.mjs +51 -20
- package/esm2020/lib/panel/abstract-panel.component.mjs +23 -5
- package/esm2020/lib/panel/case-panel/abstract-case-panel.component.mjs +2 -2
- package/esm2020/lib/panel/configuration/config-params.mjs +5 -0
- package/esm2020/lib/panel/public-api.mjs +5 -1
- package/esm2020/lib/panel/task-panel/abstract-task-panel.component.mjs +36 -6
- package/esm2020/lib/panel/task-panel/models/task-panel-context.mjs +2 -0
- package/esm2020/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.mjs +2 -2
- package/esm2020/lib/panel/task-panel-single/abstract-single-task.component.mjs +81 -0
- package/esm2020/lib/panel/workflow-panel/abstract-workflow-panel.component.mjs +9 -4
- package/esm2020/lib/process/net.mjs +8 -1
- package/esm2020/lib/process/public-api.mjs +3 -1
- package/esm2020/lib/public/factories/public-factory-resolver.mjs +3 -3
- package/esm2020/lib/resources/engine-endpoint/petri-net-resource.service.mjs +2 -2
- package/esm2020/lib/resources/engine-endpoint/public/public-task-resource.service.mjs +1 -40
- package/esm2020/lib/resources/engine-endpoint/task-resource.service.mjs +4 -1
- package/esm2020/lib/resources/interface/case.mjs +1 -1
- package/esm2020/lib/resources/interface/petri-net-reference.mjs +1 -1
- package/esm2020/lib/resources/interface/task-pair.mjs +2 -0
- package/esm2020/lib/resources/public-api.mjs +2 -1
- package/esm2020/lib/routing/redirect-service/redirect.service.mjs +2 -1
- package/esm2020/lib/routing/routing-builder/routing-builder.service.mjs +5 -1
- package/esm2020/lib/search/models/category/case/case-dataset.mjs +3 -1
- package/esm2020/lib/search/models/category/case/case-simple-dataset.mjs +5 -1
- package/esm2020/lib/side-menu/content-components/save-filter/abstract-save-filter.component.mjs +8 -7
- package/esm2020/lib/tabs/classes/opened-tab.mjs +19 -1
- package/esm2020/lib/tabs/classes/tab-label-stream.mjs +15 -0
- package/esm2020/lib/tabs/classes/tab-view.mjs +11 -3
- package/esm2020/lib/tabs/interfaces.mjs +1 -1
- package/esm2020/lib/tabs/public-api.mjs +3 -1
- package/esm2020/lib/task/services/assign-task.service.mjs +7 -6
- package/esm2020/lib/task/services/cancel-task.service.mjs +7 -6
- package/esm2020/lib/task/services/delegate-task.service.mjs +9 -8
- package/esm2020/lib/task/services/finish-task.service.mjs +7 -6
- package/esm2020/lib/task/services/task-data.service.mjs +51 -13
- package/esm2020/lib/task-content/field-component-resolver/abstract-field-component-resolver.component.mjs +3 -2
- package/esm2020/lib/task-content/model/task-event-notification.mjs +5 -3
- package/esm2020/lib/task-content/services/task-content.service.mjs +5 -2
- package/esm2020/lib/utility/tests/utility/create-mock-net.mjs +2 -1
- package/esm2020/lib/view/abstract/view-with-headers.mjs +13 -4
- package/esm2020/lib/view/case-view/abstract-case-view.mjs +7 -5
- package/esm2020/lib/view/case-view/tabbed-case-view.mjs +7 -5
- package/esm2020/lib/view/public-api.mjs +4 -1
- package/esm2020/lib/view/task-view/abstract-single-task-view.component.mjs +55 -0
- package/esm2020/lib/view/task-view/abstract-task-view.mjs +6 -5
- package/esm2020/lib/view/task-view/tabbed-task-view.mjs +6 -5
- package/esm2020/lib/view/workflow-view/abstract-workflow-view.component.mjs +6 -5
- package/fesm2015/netgrif-components-core.mjs +5900 -4921
- package/fesm2015/netgrif-components-core.mjs.map +1 -1
- package/fesm2020/netgrif-components-core.mjs +5841 -4870
- package/fesm2020/netgrif-components-core.mjs.map +1 -1
- package/lib/authorization/permission/access.service.d.ts +40 -0
- package/lib/authorization/public-api.d.ts +1 -0
- package/lib/filter/models/case-search-request-body.d.ts +1 -0
- package/lib/header/abstract-header-service.d.ts +6 -3
- package/lib/header/abstract-header.component.d.ts +1 -1
- package/lib/header/task-header/task-header.service.d.ts +3 -2
- package/lib/header/workflow-header/workflow-header.service.d.ts +3 -2
- package/lib/navigation/model/uri-resource.d.ts +15 -0
- package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +138 -0
- package/lib/navigation/navigation-tree/abstract-navigation-tree.component.d.ts +3 -30
- package/lib/navigation/public-api.d.ts +4 -0
- package/lib/navigation/service/uri-resource.service.d.ts +18 -0
- package/lib/navigation/service/uri.service.d.ts +75 -0
- package/lib/panel/abstract/panel-with-immediate-data.d.ts +4 -1
- package/lib/panel/abstract-panel.component.d.ts +8 -2
- package/lib/panel/configuration/config-params.d.ts +3 -0
- package/lib/panel/public-api.d.ts +3 -0
- package/lib/panel/task-panel/abstract-task-panel.component.d.ts +11 -4
- package/lib/panel/task-panel/models/task-panel-context.d.ts +19 -0
- package/lib/panel/task-panel-single/abstract-single-task.component.d.ts +42 -0
- package/lib/panel/workflow-panel/abstract-workflow-panel.component.d.ts +4 -1
- package/lib/process/net.d.ts +6 -0
- package/lib/process/public-api.d.ts +2 -0
- package/lib/public/factories/public-factory-resolver.d.ts +2 -1
- package/lib/resources/engine-endpoint/public/public-task-resource.service.d.ts +0 -12
- package/lib/resources/interface/case.d.ts +8 -0
- package/lib/resources/interface/petri-net-reference.d.ts +4 -0
- package/lib/resources/interface/task-pair.d.ts +4 -0
- package/lib/resources/public-api.d.ts +1 -0
- package/lib/routing/routing-builder/routing-builder.service.d.ts +1 -0
- package/lib/side-menu/content-components/save-filter/abstract-save-filter.component.d.ts +2 -1
- package/lib/tabs/classes/opened-tab.d.ts +8 -1
- package/lib/tabs/classes/tab-label-stream.d.ts +7 -0
- package/lib/tabs/interfaces.d.ts +12 -1
- package/lib/tabs/public-api.d.ts +2 -0
- package/lib/task/services/assign-task.service.d.ts +4 -2
- package/lib/task/services/cancel-task.service.d.ts +4 -2
- package/lib/task/services/delegate-task.service.d.ts +5 -3
- package/lib/task/services/finish-task.service.d.ts +4 -2
- package/lib/task/services/task-data.service.d.ts +12 -3
- package/lib/task-content/model/task-event-notification.d.ts +7 -1
- package/lib/task-content/services/task-content.service.d.ts +1 -0
- package/lib/view/abstract/view-with-headers.d.ts +5 -1
- package/lib/view/case-view/abstract-case-view.d.ts +4 -2
- package/lib/view/case-view/tabbed-case-view.d.ts +4 -2
- package/lib/view/public-api.d.ts +3 -0
- package/lib/view/task-view/abstract-single-task-view.component.d.ts +25 -0
- package/lib/view/task-view/abstract-task-view.d.ts +2 -1
- package/lib/view/task-view/tabbed-task-view.d.ts +2 -1
- package/lib/view/workflow-view/abstract-workflow-view.component.d.ts +2 -1
- package/package.json +1 -1
- package/src/assets/i18n/de.json +19 -1
- package/src/assets/i18n/en.json +19 -1
- package/src/assets/i18n/sk.json +20 -2
|
@@ -205,14 +205,22 @@ export class TabView {
|
|
|
205
205
|
if (!tab.isTabInitialized) {
|
|
206
206
|
Object.assign(tab.injectedObject, {
|
|
207
207
|
tabUniqueId: tab.uniqueId,
|
|
208
|
-
tabViewRef:
|
|
208
|
+
tabViewRef: Object.assign({
|
|
209
|
+
setIcon: t => tab.setIcon(t),
|
|
210
|
+
setText: t => tab.setText(t),
|
|
211
|
+
getIcon$: () => tab.getIcon$(),
|
|
212
|
+
getText$: () => tab.getText$(),
|
|
213
|
+
}, this.tabViewInterface),
|
|
209
214
|
tabSelected$: tab.tabSelected$.asObservable(),
|
|
210
215
|
tabClosed$: tab.tabClosed$.asObservable(),
|
|
211
216
|
});
|
|
212
217
|
const providers = [
|
|
213
218
|
{ provide: NAE_TAB_DATA, useValue: tab.injectedObject }
|
|
214
219
|
];
|
|
215
|
-
providers.push({
|
|
220
|
+
providers.push({
|
|
221
|
+
provide: NAE_VIEW_ID_SEGMENT,
|
|
222
|
+
useValue: tab.initial ? tab.uniqueId : TabView.DYNAMIC_TAB_VIEW_ID_SEGMENT
|
|
223
|
+
});
|
|
216
224
|
const injector = Injector.create({ providers, parent: this._parentInjector });
|
|
217
225
|
tab.portal = new ComponentPortal(tab.tabContentComponent, null, injector);
|
|
218
226
|
tab.isTabInitialized = true;
|
|
@@ -252,4 +260,4 @@ export class TabView {
|
|
|
252
260
|
}
|
|
253
261
|
}
|
|
254
262
|
TabView.DYNAMIC_TAB_VIEW_ID_SEGMENT = 'dynamic';
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3RhYnMvY2xhc3Nlcy90YWItdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxRQUFRLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBTWxGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sT0FBTztJQTZCaEI7Ozs7OztPQU1HO0lBQ0gsWUFBb0IsWUFBeUIsRUFDekIsT0FBc0IsRUFDdEIsWUFBK0IsRUFDL0IsZUFBeUI7UUFIekIsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDL0Isb0JBQWUsR0FBZixlQUFlLENBQVU7UUF4QnJDLG9CQUFlLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3BEOzs7V0FHRztRQUNLLHFCQUFnQixHQUFxQjtZQUN6QyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDdkQsT0FBTyxFQUFFLENBQUMsVUFBc0IsRUFBRSxVQUFVLEdBQUcsS0FBSyxF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LGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLFdBQVcsQ0FBQyxRQUFnQjtRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDMUUsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixRQUFRLFNBQVMsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFhO1FBQ2pDLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsS0FBSyxTQUFTLENBQUMsQ0FBQztTQUN4RDtJQUNMLENBQUM7O0FBdFJzQixtQ0FBMkIsR0FBRyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGVkVGFiRGF0YSwgVGFiQ29udGVudCwgVGFiVmlld0ludGVyZmFjZX0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge09wZW5lZFRhYn0gZnJvbSAnLi9vcGVuZWQtdGFiJztcbmltcG9ydCB7SW5qZWN0b3IsIFN0YXRpY1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7b3JkZXJCeX0gZnJvbSAnbmF0dXJhbC1vcmRlcmJ5JztcbmltcG9ydCB7TkFFX1RBQl9EQVRBfSBmcm9tICcuLi90YWItZGF0YS1pbmplY3Rpb24tdG9rZW4vdGFiLWRhdGEtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7Vmlld1NlcnZpY2V9IGZyb20gJy4uLy4uL3JvdXRpbmcvdmlldy1zZXJ2aWNlL3ZpZXcuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0luamVjdGVkVGFiYmVkVGFza1ZpZXdEYXRhfSBmcm9tICcuLi8uLi92aWV3L3Rhc2stdmlldy9tb2RlbHMvaW5qZWN0ZWQtdGFiYmVkLXRhc2stdmlldy1kYXRhJztcbmltcG9ydCB7VGFza1NlYXJjaENhc2VRdWVyeSwgVGFza1NlYXJjaFJlcXVlc3RCb2R5fSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL3Rhc2stc2VhcmNoLXJlcXVlc3QtYm9keSc7XG5pbXBvcnQge01hdFRhYkNoYW5nZUV2ZW50fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7SW5jcmVtZW50aW5nQ291bnRlcn0gZnJvbSAnLi4vLi4vdXRpbGl0eS9pbmNyZW1lbnRpbmctY291bnRlcic7XG5pbXBvcnQge05BRV9WSUVXX0lEX1NFR01FTlR9IGZyb20gJy4uLy4uL3VzZXIvbW9kZWxzL3ZpZXctaWQtaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQge0Zvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogSG9sZHMgdGhlIGxvZ2ljIGZvciB0YWIgbWFuYWdlbWVudCBpbiB7QGxpbmsgQWJzdHJhY3RUYWJWaWV3Q29tcG9uZW50fS5cbiAqIElmIHlvdSB3YW50IHRvIGltcGxlbWVudCB5b3VyIG93biBUYWJWaWV3Q29tcG9uZW50LCB5b3UgbWlnaHQgd2FudCB0byBleHRlbmQgdGhpcyBjbGFzcyB0byBob2xkIHlvdXIgbG9naWMuXG4gKi9cbmV4cG9ydCBjbGFzcyBUYWJWaWV3IGltcGxlbWVudHMgVGFiVmlld0ludGVyZmFjZSB7XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERZTkFNSUNfVEFCX1ZJRVdfSURfU0VHTUVOVCA9ICdkeW5hbWljJztcblxuICAgIC8qKlxuICAgICAqIEhvbGRzIHRoZSB0YWJzIHRoYXQgYXJlIG9wZW5lZCBpbiB0aGUgdGFiIHZpZXcsIGFuZCBhbGxvd3MgdGhlbSB0byBiZSBib3VuZCB0byBIVE1MLlxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuZWRUYWJzOiBBcnJheTxPcGVuZWRUYWI+O1xuICAgIC8qKlxuICAgICAqIEhvbGRzIHRoZSBpbmRleCBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRhYi5cbiAgICAgKlxuICAgICAqIFNlbGVjdGVkIGluZGV4IGluaXRpYWxpemVzIHRvIGAwYC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0ZWRJbmRleDogRm9ybUNvbnRyb2w7XG5cbiAgICBwcml2YXRlIHVuaXF1ZUlkQ291bnRlciA9IG5ldyBJbmNyZW1lbnRpbmdDb3VudGVyKCk7XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIEhvbGRzIGEgcmVmZXJlbmNlIHRvIGFuIG9iamVjdCB0aGF0IGhpZGVzIHNvbWUgcHVibGljIGF0dHJpYnV0ZXMgYW5kIG1ldGhvZHMgZnJvbSB0YWJzLlxuICAgICAqL1xuICAgIHByaXZhdGUgdGFiVmlld0ludGVyZmFjZTogVGFiVmlld0ludGVyZmFjZSA9IHtcbiAgICAgICAgY3VycmVudGx5U2VsZWN0ZWRUYWI6ICgpID0+IHRoaXMuY3VycmVudGx5U2VsZWN0ZWRUYWIoKSxcbiAgICAgICAgb3BlblRhYjogKHRhYkNvbnRlbnQ6IFRhYkNvbnRlbnQsIGF1dG9zd2l0Y2ggPSBmYWxzZSkgPT4gdGhpcy5vcGVuVGFiKHRhYkNvbnRlbnQsIGF1dG9zd2l0Y2gpLFxuICAgICAgICBzd2l0Y2hUb1RhYkluZGV4OiAoaW5kZXg6IG51bWJlcikgPT4gdGhpcy5zd2l0Y2hUb1RhYkluZGV4KGluZGV4KSxcbiAgICAgICAgc3dpdGNoVG9UYWJVbmlxdWVJZDogKHVuaXF1ZUlkOiBzdHJpbmcpID0+IHRoaXMuc3dpdGNoVG9UYWJVbmlxdWVJZCh1bmlxdWVJZCksXG4gICAgICAgIGNsb3NlVGFiSW5kZXg6IChpbmRleDogbnVtYmVyLCBmb3JjZSA9IGZhbHNlKSA9PiB0aGlzLmNsb3NlVGFiSW5kZXgoaW5kZXgsIGZvcmNlKSxcbiAgICAgICAgY2xvc2VUYWJVbmlxdWVJZDogKHVuaXF1ZUlkOiBzdHJpbmcsIGZvcmNlID0gZmFsc2UpID0+IHRoaXMuY2xvc2VUYWJVbmlxdWVJZCh1bmlxdWVJZCwgZm9yY2UpXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBfdmlld1NlcnZpY2UgW1ZpZXdTZXJ2aWNlXXtAbGluayBWaWV3U2VydmljZX0gcmVmZXJlbmNlXG4gICAgICogQHBhcmFtIF9sb2dnZXIgW0xvZ2dlcl17QGxpbmsgTG9nZ2VyU2VydmljZX0gcmVmZXJlbmNlXG4gICAgICogQHBhcmFtIF9pbml0aWFsVGFicyBUYWJzIHRoYXQgc2hvdWxkIGJlIGluaXRpYWxseSBvcGVuZWQgaW4gdGhlIHRhYiB2aWV3XG4gICAgICogQHBhcmFtIF9wYXJlbnRJbmplY3RvciBgSW5qZWN0b3JgIGluc3RhbmNlIG9mIHRoZSBbVGFiVmlld0NvbXBvbmVudF17QGxpbmsgQWJzdHJhY3RUYWJWaWV3Q29tcG9uZW50fSxcbiAgICAgKiB0byBiZSBwYXNzZWQgb250byBlYWNoIHRhYiwgc28gdGhhdCB0aGUgZGVwZW5kZW5jeSBpbmplY3Rpb24gdHJlZSBpcyBub3QgYnJva2VuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfdmlld1NlcnZpY2U6IFZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2xvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9pbml0aWFsVGFiczogQXJyYXk8VGFiQ29udGVudD4sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcGFyZW50SW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHRoaXMuX2luaXRpYWxUYWJzLmZvckVhY2godGFiID0+IHtcbiAgICAgICAgICAgIGlmICh0YWIub3JkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRhYi5vcmRlciA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0YWIuaW5pdGlhbCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBuZXcgRm9ybUNvbnRyb2woMCk7XG5cbiAgICAgICAgLy8gb3JkZXJCeSBpcyBhIHN0YWJsZSBzb3J0XG4gICAgICAgIC8vIE5hdGl2ZSBqYXZhc2NyaXB0IGltcGxlbWVudGF0aW9uIGhhcyB1bmRlZmluZWQgc3RhYmlsaXR5IGFuZCBpdCBkZXBlbmRzIG9uIGl0J3MgaW1wbGVtZW50YXRpb24gKGJyb3dzZXIpXG4gICAgICAgIHRoaXMub3BlbmVkVGFicyA9IG9yZGVyQnkodGhpcy5faW5pdGlhbFRhYnMsIHYgPT4gdi5vcmRlciwgJ2FzYycpLm1hcCh0YWJEYXRhID0+XG4gICAgICAgICAgICBuZXcgT3BlbmVkVGFiKHRhYkRhdGEsIGAke3RoaXMudW5pcXVlSWRDb3VudGVyLm5leHQoKX1gKSk7XG4gICAgICAgIGlmICh0aGlzLm9wZW5lZFRhYnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5vcGVuZWRUYWJzWzBdLnRhYlNlbGVjdGVkJC5uZXh0KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGFiXG4gICAgICovXG4gICAgcHVibGljIGN1cnJlbnRseVNlbGVjdGVkVGFiKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSW5kZXgudmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbnMgYSBuZXcgdGFiIHdpdGggdGhlIHByb3ZpZGVkIGNvbnRlbnQuXG4gICAgICogQHBhcmFtIHRhYkNvbnRlbnQgLSBjb250ZW50IG9mIHRoZSBuZXcgdGFiXG4gICAgICogQHBhcmFtIGF1dG9zd2l0Y2ggLSB3aGV0aGVyIHRoZSBuZXdseSBvcGVuZWQgdGFiIHNob3VsZCBiZSBzd2l0Y2hlZCB0by4gRGVmYXVsdHMgdG8gYGZhbHNlYC5cbiAgICAgKiBAcGFyYW0gb3BlbkV4aXN0aW5nIC0gd2hldGhlciB0aGUgb3BlbmVkIHRhYiBhbHJlYWR5IGV4aXN0aW5nIHNob3VsZCBiZSBzd2l0Y2hlZCB0byBleGlzdGluZyBvbmUuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICAgKiBAcmV0dXJucyB0aGUgYHRhYlVuaXF1ZUlkYCBvZiB0aGUgbmV3bHkgb3BlbmVkIHRhYlxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuVGFiKHRhYkNvbnRlbnQ6IFRhYkNvbnRlbnQsIGF1dG9zd2l0Y2ggPSBmYWxzZSwgb3BlbkV4aXN0aW5nID0gdHJ1ZSk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0YWJDb250ZW50LmluaXRpYWwpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvZ2dlci53YXJuKGAnaW5pdGlhbCcgYXR0cmlidXRlIGlzIG5vdCBtZWFudCB0byBiZSB1c2VkIHdpdGggbmV3IHRhYnMgYW5kIHdpbGwgYmUgaWdub3JlZGApO1xuICAgICAgICAgICAgZGVsZXRlIHRhYkNvbnRlbnQuaW5pdGlhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1RhYiA9IG5ldyBPcGVuZWRUYWIodGFiQ29udGVudCwgYCR7dGhpcy51bmlxdWVJZENvdW50ZXIubmV4dCgpfWApO1xuICAgICAgICBjb25zdCBpbmRleEV4aXN0aW5nID0gdGhpcy5maW5kSW5kZXhFeGlzdGluZ1RhYihuZXdUYWIpO1xuICAgICAgICBpZiAoaW5kZXhFeGlzdGluZyA9PT0gLTEgfHwgIW9wZW5FeGlzdGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3Blbk5ld1RhYihuZXdUYWIsIGF1dG9zd2l0Y2gpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRUYWJJbmRleFdpdGhOb3RpZmljYXRpb24oaW5kZXhFeGlzdGluZyk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcGVuZWRUYWJzW2luZGV4RXhpc3RpbmddLnVuaXF1ZUlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZpbmRJbmRleEV4aXN0aW5nVGFiKG5ld1RhYjogT3BlbmVkVGFiKSB7XG4gICAgICAgIGlmICghdGhpcy5zZWFyY2hlc0Zvck9uZUNhc2VJZChuZXdUYWIpKSB7XG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbmVkVGFicy5maW5kSW5kZXgoZXhpc3RpbmdUYWIgPT5cbiAgICAgICAgICAgIHRoaXMuc2VhcmNoZXNGb3JPbmVDYXNlSWQoZXhpc3RpbmdUYWIpICYmIHRoaXMuZ2V0U2VhcmNoZWRDYXNlSWQoZXhpc3RpbmdUYWIpID09PSB0aGlzLmdldFNlYXJjaGVkQ2FzZUlkKG5ld1RhYikpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VhcmNoZXNGb3JPbmVDYXNlSWQodGFiOiBPcGVuZWRUYWIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ2FzZUZpbHRlclBhcmFtU2V0KHRhYilcbiAgICAgICAgICAgICYmICFBcnJheS5pc0FycmF5KHRoaXMuZ2V0U2VhcmNoZWRDYXNlKHRhYikpXG4gICAgICAgICAgICAmJiAhIXRoaXMuZ2V0U2VhcmNoZWRDYXNlSWQodGFiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlYXJjaGVkQ2FzZUlkKHRhYjogT3BlbmVkVGFiKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmdldFNlYXJjaGVkQ2FzZSh0YWIpIGFzIFRhc2tTZWFyY2hDYXNlUXVlcnkpLmlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VhcmNoZWRDYXNlKHRhYjogT3BlbmVkVGFiKTogVGFza1NlYXJjaENhc2VRdWVyeSB8IEFycmF5PFRhc2tTZWFyY2hDYXNlUXVlcnk+IHtcbiAgICAgICAgcmV0dXJuICgodGFiLmluamVjdGVkT2JqZWN0IGFzIEluamVjdGVkVGFiYmVkVGFza1ZpZXdEYXRhKS5iYXNlRmlsdGVyLmdldFJlcXVlc3RCb2R5KCkgYXMgVGFza1NlYXJjaFJlcXVlc3RCb2R5KS5jYXNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzQ2FzZUZpbHRlclBhcmFtU2V0KHRhYjogT3BlbmVkVGFiKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0Jhc2VGaWx0ZXIodGFiKVxuICAgICAgICAgICAgJiYgISEoKCh0YWIuaW5qZWN0ZWRPYmplY3QgYXMgSW5qZWN0ZWRUYWJiZWRUYXNrVmlld0RhdGEpLmJhc2VGaWx0ZXIuZ2V0UmVxdWVzdEJvZHkoKSBhcyBUYXNrU2VhcmNoUmVxdWVzdEJvZHkpLmNhc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzQmFzZUZpbHRlcih0YWI6IE9wZW5lZFRhYik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNJbmplY3RlZE9iamVjdCh0YWIpICYmICEhKCh0YWIuaW5qZWN0ZWRPYmplY3QgYXMgSW5qZWN0ZWRUYWJiZWRUYXNrVmlld0RhdGEpLmJhc2VGaWx0ZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzSW5qZWN0ZWRPYmplY3QodGFiOiBPcGVuZWRUYWIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGFiLmluamVjdGVkT2JqZWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYSBuZXcgdGFiIGludG8gdGhlIGNvcnJlY3QgcG9zaXRpb24gYmFzZWQgb24gaXRzIGBvcmRlcmAgcHJvcGVydHkuXG4gICAgICogQHBhcmFtIG5ld1RhYiB0aGUgdGFiIHRoYXQgc2hvdWxkIGJlIG9wZW5lZFxuICAgICAqIEBwYXJhbSBhdXRvc3dpdGNoIHdoZXRoZXIgdGhlIG5ldyB0YWIgc2hvdWxkIGJlIHN3aXRjaGVkIHRvIGFmdGVyIGl0IGlzIGNyZWF0ZWRcbiAgICAgKiBAcmV0dXJucyB0aGUgYHVuaXF1ZUlkYCBvZiB0aGUgb3BlbmVkIHRhYlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvcGVuTmV3VGFiKG5ld1RhYjogT3BlbmVkVGFiLCBhdXRvc3dpdGNoOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5vcGVuZWRUYWJzLmZpbmRJbmRleChleGlzdGluZ1RhYiA9PiBleGlzdGluZ1RhYi5vcmRlciA+IG5ld1RhYi5vcmRlcik7XG4gICAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIGluZGV4ID0gdGhpcy5vcGVuZWRUYWJzLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW5lZFRhYnMuc3BsaWNlKGluZGV4LCAwLCBuZXdUYWIpO1xuXG4gICAgICAgIGlmIChhdXRvc3dpdGNoIHx8IHRoaXMub3BlbmVkVGFicy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VGFiSW5kZXhXaXRoTm90aWZpY2F0aW9uKGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3VGFiLnVuaXF1ZUlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN3aXRjaGVzIHRvIGEgdGFiIHdpdGggdGhlIGdpdmVuIGBpbmRleGAuXG4gICAgICpcbiAgICAgKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIGBpbmRleGAgaXMgaW52YWxpZC5cbiAgICAgKiBAcGFyYW0gaW5kZXggLSBpbmRleCBvZiB0aGUgdGFiIHRoYXQgc2hvdWxkIGJlIHN3aXRjaGVkIHRvXG4gICAgICovXG4gICAgcHVibGljIHN3aXRjaFRvVGFiSW5kZXgoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrSW5kZXhSYW5nZShpbmRleCk7XG4gICAgICAgIHRoaXMuc2V0VGFiSW5kZXhXaXRoTm90aWZpY2F0aW9uKGluZGV4KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN3aXRjaGVzIHRvIGEgdGFiIHdpdGggdGhlIGdpdmVuIGB1bmlxdWVJZGAuXG4gICAgICpcbiAgICAgKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIGB1bmlxdWVJZGAgaXMgaW52YWxpZC5cbiAgICAgKiBAcGFyYW0gdW5pcXVlSWQgLSBpZCBvZiB0aGUgdGFiIHRoYXQgc2hvdWxkIGJlIHN3aXRjaGVkIHRvXG4gICAgICovXG4gICAgcHVibGljIHN3aXRjaFRvVGFiVW5pcXVlSWQodW5pcXVlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFRhYkluZGV4V2l0aE5vdGlmaWNhdGlvbih0aGlzLmdldFRhYkluZGV4KHVuaXF1ZUlkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRUYWJJbmRleFdpdGhOb3RpZmljYXRpb24oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5lZFRhYnNbdGhpcy5zZWxlY3RlZEluZGV4LnZhbHVlXS50YWJTZWxlY3RlZCQubmV4dChmYWxzZSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleC5zZXRWYWx1ZShpbmRleCk7XG4gICAgICAgIHRoaXMub3BlbmVkVGFic1t0aGlzLnNlbGVjdGVkSW5kZXgudmFsdWVdLnRhYlNlbGVjdGVkJC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgdGFiIHdpdGggdGhlIGdpdmVuIGBpbmRleGAuXG4gICAgICpcbiAgICAgKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIGBpbmRleGAgaXMgaW52YWxpZC5cbiAgICAgKlxuICAgICAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgdGFiIGhhcyBpdCdzIGBjYW5CZUNsb3NlZGAgcHJvcGVydHkgc2V0IHRvIGBmYWxzZWAuXG4gICAgICogQHBhcmFtIGluZGV4IGluZGV4IG9mIHRoZSB0YWIgdGhhdCBzaG91bGQgYmUgY2xvc2VkXG4gICAgICogQHBhcmFtIGZvcmNlIHdoZW4gYHRydWVgIGNsb3NlcyBhIHRhYiBldmVuIGlmIGl0J3MgYGNhbnRCZUNsb3NlZGAgYXR0cmlidXRlIGlzIHNldCB0byBgdHJ1ZWBcbiAgICAgKi9cbiAgICBwdWJsaWMgY2xvc2VUYWJJbmRleChpbmRleDogbnVtYmVyLCBmb3JjZSA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VUYWIoaW5kZXgsIGZvcmNlLCBgVGFiIGF0IGluZGV4ICR7aW5kZXh9IGNhbid0IGJlIGNsb3NlZGApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgdGFiIHdpdGggdGhlIGdpdmVuIGB1bmlxdWVJZGAuIFRocm93cyBhbiBlcnJvciBpZiB0aGUgYHVuaXF1ZUlkYCBpcyBpbnZhbGlkLlxuICAgICAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgdGFiIGhhcyBpdCdzIGBjYW5CZUNsb3NlZGAgcHJvcGVydHkgc2V0IHRvIGBmYWxzZWAuXG4gICAgICogQHBhcmFtIHVuaXF1ZUlkIC0gaWQgb2YgdGhlIHRhYiB0aGF0IHNob3VsZCBiZSBjbG9zZWRcbiAgICAgKiBAcGFyYW0gZm9yY2Ugd2hlbiBgdHJ1ZWAgY2xvc2VzIGEgdGFiIGV2ZW4gaWYgaXQncyBgY2FudEJlQ2xvc2VkYCBhdHRyaWJ1dGUgaXMgc2V0IHRvIGB0cnVlYFxuICAgICAqL1xuICAgIHB1YmxpYyBjbG9zZVRhYlVuaXF1ZUlkKHVuaXF1ZUlkOiBzdHJpbmcsIGZvcmNlID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmdldFRhYkluZGV4KHVuaXF1ZUlkKTtcbiAgICAgICAgdGhpcy5jbG9zZVRhYihpbmRleCwgZm9yY2UsIGBUYWIgd2l0aCBJRCAke3VuaXF1ZUlkfSBjYW4ndCBiZSBjbG9zZWRgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbG9zZXMgdGhlIHRhYiBhdCB0aGUgZ2l2ZW4gaW5kZXguXG4gICAgICpcbiAgICAgKiBJZiB0aGUgY29uZGl0aW9ucyBmb3IgY2xvc2luZyBhIHRhYiBhcmUgbm90IG1ldCB0aHJvd3MgYW4gYEVycm9yYCB3aXRoIHRoZSBnaXZlbiBtZXNzYWdlLlxuICAgICAqIEBwYXJhbSBpbmRleCBpbmRleCBvZiB0aGUgdGFiIHRoYXQgc2hvdWxkIGJlIGNsb3NlZFxuICAgICAqIEBwYXJhbSBmb3JjZSB3aGVuIGB0cnVlYCBjbG9zZXMgYSB0YWIgZXZlbiBpZiBpdCdzIGBjYW50QmVDbG9zZWRgIGF0dHJpYnV0ZSBpcyBzZXQgdG8gYHRydWVgXG4gICAgICogQHBhcmFtIGVycm9yIHRoZSBtZXNzYWdlIHRoYXQgc2hvdWxkIGJlIGRpc3BsYXllZCBpZiB0aGUgY29uZGl0aW9ucyBmb3IgY2xvc2luZyBhIHRhYiBhcmUgbm90IG1ldFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjbG9zZVRhYihpbmRleDogbnVtYmVyLCBmb3JjZTogYm9vbGVhbiwgZXJyb3I6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrSW5kZXhSYW5nZShpbmRleCk7XG4gICAgICAgIGlmICghZm9yY2UgJiYgIXRoaXMub3BlbmVkVGFic1tpbmRleF0uY2FuQmVDbG9zZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLnNlbGVjdGVkSW5kZXgudmFsdWUgJiYgdGhpcy5vcGVuZWRUYWJzW2luZGV4XS5wYXJlbnRVbmlxdWVJZCkge1xuICAgICAgICAgICAgdGhpcy5zd2l0Y2hUb1RhYlVuaXF1ZUlkKHRoaXMub3BlbmVkVGFic1tpbmRleF0ucGFyZW50VW5pcXVlSWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5zZWxlY3RlZEluZGV4LnZhbHVlICYmIHRoaXMuc2VsZWN0ZWRJbmRleC52YWx1ZSArIDEgPCB0aGlzLm9wZW5lZFRhYnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5lZFRhYnNbaW5kZXggKyAxXS50YWJTZWxlY3RlZCQubmV4dCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW5lZFRhYnNbaW5kZXhdLnRhYkNsb3NlZCQubmV4dCgpO1xuICAgICAgICBjb25zdCBkZWxldGVkID0gdGhpcy5vcGVuZWRUYWJzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIGRlbGV0ZWRbMF0uZGVzdHJveSgpO1xuICAgICAgICBpZiAoaW5kZXggPCB0aGlzLnNlbGVjdGVkSW5kZXgudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleC5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkSW5kZXgudmFsdWUgLSAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemVzIHRoZSB0YWIgaWYgaXQgd2Fzbid0IGluaXRpYWxpemVkIHlldC5cbiAgICAgKiBDcmVhdGVzIGEgbmV3IHtAbGluayBDb21wb25lbnRQb3J0YWx9IGZvciB0aGUgdGFiIGFuZCBwcm92aWRlcyB0aGUgZGF0YSBmb3IgdGhlIHRhYiB1bmRlciB0aGUgYE5BRV9UQUJfREFUQWAgaW5qZWN0aW9uIHRva2VuLlxuICAgICAqIEBwYXJhbSBpbmRleCAtIGluZGV4IG9mIHRoZSB0YWIgdGhhdCBzaG91bGQgYmUgaW5pdGlhbGl6ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgaW5pdGlhbGl6ZVRhYihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tJbmRleFJhbmdlKGluZGV4KTtcbiAgICAgICAgY29uc3QgdGFiID0gdGhpcy5vcGVuZWRUYWJzW2luZGV4XTtcbiAgICAgICAgaWYgKCF0YWIuaXNUYWJJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0YWIuaW5qZWN0ZWRPYmplY3QsIHtcbiAgICAgICAgICAgICAgICB0YWJVbmlxdWVJZDogdGFiLnVuaXF1ZUlkLFxuICAgICAgICAgICAgICAgIHRhYlZpZXdSZWY6IHRoaXMudGFiVmlld0ludGVyZmFjZSxcbiAgICAgICAgICAgICAgICB0YWJTZWxlY3RlZCQ6IHRhYi50YWJTZWxlY3RlZCQuYXNPYnNlcnZhYmxlKCksXG4gICAgICAgICAgICAgICAgdGFiQ2xvc2VkJDogdGFiLnRhYkNsb3NlZCQuYXNPYnNlcnZhYmxlKCksXG4gICAgICAgICAgICB9IGFzIEluamVjdGVkVGFiRGF0YSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHByb3ZpZGVyczogQXJyYXk8U3RhdGljUHJvdmlkZXI+ID0gW1xuICAgICAgICAgICAgICAgIHtwcm92aWRlOiBOQUVfVEFCX0RBVEEsIHVzZVZhbHVlOiB0YWIuaW5qZWN0ZWRPYmplY3R9XG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgcHJvdmlkZXJzLnB1c2goe3Byb3ZpZGU6IE5BRV9WSUVXX0lEX1NFR01FTlQsIHVzZVZhbHVlOiB0YWIuaW5pdGlhbCA/IHRhYi51bmlxdWVJZCA6IFRhYlZpZXcuRFlOQU1JQ19UQUJfVklFV19JRF9TRUdNRU5UfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtwcm92aWRlcnMsIHBhcmVudDogdGhpcy5fcGFyZW50SW5qZWN0b3J9KTtcblxuICAgICAgICAgICAgdGFiLnBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGFiLnRhYkNvbnRlbnRDb21wb25lbnQsIG51bGwsIGluamVjdG9yKTtcbiAgICAgICAgICAgIHRhYi5pc1RhYkluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB0YWJDaGFuZ2UoZXZlbnQ6IE1hdFRhYkNoYW5nZUV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5pbmRleCAhPT0gdGhpcy5zZWxlY3RlZEluZGV4LnZhbHVlKSB7XG4gICAgICAgICAgICBsZXQgdGFiID0gdGhpcy5vcGVuZWRUYWJzW3RoaXMuc2VsZWN0ZWRJbmRleC52YWx1ZV07XG4gICAgICAgICAgICBpZiAodGFiKSB7XG4gICAgICAgICAgICAgICAgdGFiLnRhYlNlbGVjdGVkJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRhYiA9IHRoaXMub3BlbmVkVGFic1tldmVudC5pbmRleF07XG4gICAgICAgICAgICBpZiAodGFiKSB7XG4gICAgICAgICAgICAgICAgdGFiLnRhYlNlbGVjdGVkJC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4LnNldFZhbHVlKGV2ZW50LmluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybXMgYSB0YWIgYHVuaXF1ZUlkYCBpbnRvIGl0J3MgaW5kZXguXG4gICAgICpcbiAgICAgKiBUaHJvd3MgYW4gZXJyb3IgaWYgbm8gdGFiIHdpdGggdGhlIGdpdmVuIGB1bmlxdWVJZGAgZXhpc3RzLlxuICAgICAqIEBwYXJhbSB1bmlxdWVJZCAtIGlkIG9mIHRoZSB0YWIgdGhhdCB3ZSB3YW50IHRvIGZpbmQgaW5kZXggZm9yXG4gICAgICogQHJldHVybnMgaW5kZXggb2YgdGhlIHRhYiB3aXRoIHRoZSBnaXZlbiBpZFxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0VGFiSW5kZXgodW5pcXVlSWQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vcGVuZWRUYWJzLmZpbmRJbmRleCh0YWIgPT4gdGFiLnVuaXF1ZUlkID09PSB1bmlxdWVJZCk7XG4gICAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gdGFiIHdpdGggSUQgJHt1bmlxdWVJZH0gZXhpc3RzYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tJbmRleFJhbmdlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLm9wZW5lZFRhYnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHRhYiB3aXRoIGluZGV4ICR7aW5kZXh9IGV4aXN0c2ApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3RhYnMvY2xhc3Nlcy90YWItdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxRQUFRLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBTWxGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sT0FBTztJQTZCaEI7Ozs7OztPQU1HO0lBQ0gsWUFBb0IsWUFBeUIsRUFDekIsT0FBc0IsRUFDdEIsWUFBK0IsRUFDL0IsZUFBeUI7UUFIekIsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDL0Isb0JBQWUsR0FBZixlQUFlLENBQVU7UUF4QnJDLG9CQUFlLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3BEOzs7V0FHRztRQUNLLHFCQUFnQixHQUFxQjtZQUN6QyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDdkQsT0FBTyxFQUFFLENBQUMsVUFBc0IsRUFBRSxVQUFVLEdBQUcsS0FBSyxF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QUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsSUFBSSxHQUFHLEVBQUU7Z0JBQ0wsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDaEM7WUFDRCxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsSUFBSSxHQUFHLEVBQUU7Z0JBQ0wsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0I7WUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUM7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssV0FBVyxDQUFDLFFBQWdCO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQztRQUMxRSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLFFBQVEsU0FBUyxDQUFDLENBQUM7U0FDeEQ7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQWE7UUFDakMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixLQUFLLFNBQVMsQ0FBQyxDQUFDO1NBQ3hEO0lBQ0wsQ0FBQzs7QUE5UnNCLG1DQUEyQixHQUFHLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0ZWRUYWJEYXRhLCBUYWJDb250ZW50LCBUYWJWaWV3SW50ZXJmYWNlfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7T3BlbmVkVGFifSBmcm9tICcuL29wZW5lZC10YWInO1xuaW1wb3J0IHtJbmplY3RvciwgU3RhdGljUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnRQb3J0YWx9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtvcmRlckJ5fSBmcm9tICduYXR1cmFsLW9yZGVyYnknO1xuaW1wb3J0IHtOQUVfVEFCX0RBVEF9IGZyb20gJy4uL3RhYi1kYXRhLWluamVjdGlvbi10b2tlbi90YWItZGF0YS1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtWaWV3U2VydmljZX0gZnJvbSAnLi4vLi4vcm91dGluZy92aWV3LXNlcnZpY2Uvdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7SW5qZWN0ZWRUYWJiZWRUYXNrVmlld0RhdGF9IGZyb20gJy4uLy4uL3ZpZXcvdGFzay12aWV3L21vZGVscy9pbmplY3RlZC10YWJiZWQtdGFzay12aWV3LWRhdGEnO1xuaW1wb3J0IHtUYXNrU2VhcmNoQ2FzZVF1ZXJ5LCBUYXNrU2VhcmNoUmVxdWVzdEJvZHl9IGZyb20gJy4uLy4uL2ZpbHRlci9tb2RlbHMvdGFzay1zZWFyY2gtcmVxdWVzdC1ib2R5JztcbmltcG9ydCB7TWF0VGFiQ2hhbmdlRXZlbnR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHtJbmNyZW1lbnRpbmdDb3VudGVyfSBmcm9tICcuLi8uLi91dGlsaXR5L2luY3JlbWVudGluZy1jb3VudGVyJztcbmltcG9ydCB7TkFFX1ZJRVdfSURfU0VHTUVOVH0gZnJvbSAnLi4vLi4vdXNlci9tb2RlbHMvdmlldy1pZC1pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBIb2xkcyB0aGUgbG9naWMgZm9yIHRhYiBtYW5hZ2VtZW50IGluIHtAbGluayBBYnN0cmFjdFRhYlZpZXdDb21wb25lbnR9LlxuICogSWYgeW91IHdhbnQgdG8gaW1wbGVtZW50IHlvdXIgb3duIFRhYlZpZXdDb21wb25lbnQsIHlvdSBtaWdodCB3YW50IHRvIGV4dGVuZCB0aGlzIGNsYXNzIHRvIGhvbGQgeW91ciBsb2dpYy5cbiAqL1xuZXhwb3J0IGNsYXNzIFRhYlZpZXcgaW1wbGVtZW50cyBUYWJWaWV3SW50ZXJmYWNlIHtcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFlOQU1JQ19UQUJfVklFV19JRF9TRUdNRU5UID0gJ2R5bmFtaWMnO1xuXG4gICAgLyoqXG4gICAgICogSG9sZHMgdGhlIHRhYnMgdGhhdCBhcmUgb3BlbmVkIGluIHRoZSB0YWIgdmlldywgYW5kIGFsbG93cyB0aGVtIHRvIGJlIGJvdW5kIHRvIEhUTUwuXG4gICAgICovXG4gICAgcHVibGljIG9wZW5lZFRhYnM6IEFycmF5PE9wZW5lZFRhYj47XG4gICAgLyoqXG4gICAgICogSG9sZHMgdGhlIGluZGV4IG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGFiLlxuICAgICAqXG4gICAgICogU2VsZWN0ZWQgaW5kZXggaW5pdGlhbGl6ZXMgdG8gYDBgLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZWxlY3RlZEluZGV4OiBGb3JtQ29udHJvbDtcblxuICAgIHByaXZhdGUgdW5pcXVlSWRDb3VudGVyID0gbmV3IEluY3JlbWVudGluZ0NvdW50ZXIoKTtcbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogSG9sZHMgYSByZWZlcmVuY2UgdG8gYW4gb2JqZWN0IHRoYXQgaGlkZXMgc29tZSBwdWJsaWMgYXR0cmlidXRlcyBhbmQgbWV0aG9kcyBmcm9tIHRhYnMuXG4gICAgICovXG4gICAgcHJpdmF0ZSB0YWJWaWV3SW50ZXJmYWNlOiBUYWJWaWV3SW50ZXJmYWNlID0ge1xuICAgICAgICBjdXJyZW50bHlTZWxlY3RlZFRhYjogKCkgPT4gdGhpcy5jdXJyZW50bHlTZWxlY3RlZFRhYigpLFxuICAgICAgICBvcGVuVGFiOiAodGFiQ29udGVudDogVGFiQ29udGVudCwgYXV0b3N3aXRjaCA9IGZhbHNlKSA9PiB0aGlzLm9wZW5UYWIodGFiQ29udGVudCwgYXV0b3N3aXRjaCksXG4gICAgICAgIHN3aXRjaFRvVGFiSW5kZXg6IChpbmRleDogbnVtYmVyKSA9PiB0aGlzLnN3aXRjaFRvVGFiSW5kZXgoaW5kZXgpLFxuICAgICAgICBzd2l0Y2hUb1RhYlVuaXF1ZUlkOiAodW5pcXVlSWQ6IHN0cmluZykgPT4gdGhpcy5zd2l0Y2hUb1RhYlVuaXF1ZUlkKHVuaXF1ZUlkKSxcbiAgICAgICAgY2xvc2VUYWJJbmRleDogKGluZGV4OiBudW1iZXIsIGZvcmNlID0gZmFsc2UpID0+IHRoaXMuY2xvc2VUYWJJbmRleChpbmRleCwgZm9yY2UpLFxuICAgICAgICBjbG9zZVRhYlVuaXF1ZUlkOiAodW5pcXVlSWQ6IHN0cmluZywgZm9yY2UgPSBmYWxzZSkgPT4gdGhpcy5jbG9zZVRhYlVuaXF1ZUlkKHVuaXF1ZUlkLCBmb3JjZSlcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIF92aWV3U2VydmljZSBbVmlld1NlcnZpY2Vde0BsaW5rIFZpZXdTZXJ2aWNlfSByZWZlcmVuY2VcbiAgICAgKiBAcGFyYW0gX2xvZ2dlciBbTG9nZ2VyXXtAbGluayBMb2dnZXJTZXJ2aWNlfSByZWZlcmVuY2VcbiAgICAgKiBAcGFyYW0gX2luaXRpYWxUYWJzIFRhYnMgdGhhdCBzaG91bGQgYmUgaW5pdGlhbGx5IG9wZW5lZCBpbiB0aGUgdGFiIHZpZXdcbiAgICAgKiBAcGFyYW0gX3BhcmVudEluamVjdG9yIGBJbmplY3RvcmAgaW5zdGFuY2Ugb2YgdGhlIFtUYWJWaWV3Q29tcG9uZW50XXtAbGluayBBYnN0cmFjdFRhYlZpZXdDb21wb25lbnR9LFxuICAgICAqIHRvIGJlIHBhc3NlZCBvbnRvIGVhY2ggdGFiLCBzbyB0aGF0IHRoZSBkZXBlbmRlbmN5IGluamVjdGlvbiB0cmVlIGlzIG5vdCBicm9rZW5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF92aWV3U2VydmljZTogVmlld1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2luaXRpYWxUYWJzOiBBcnJheTxUYWJDb250ZW50PixcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9wYXJlbnRJbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgdGhpcy5faW5pdGlhbFRhYnMuZm9yRWFjaCh0YWIgPT4ge1xuICAgICAgICAgICAgaWYgKHRhYi5vcmRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGFiLm9yZGVyID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRhYi5pbml0aWFsID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IG5ldyBGb3JtQ29udHJvbCgwKTtcblxuICAgICAgICAvLyBvcmRlckJ5IGlzIGEgc3RhYmxlIHNvcnRcbiAgICAgICAgLy8gTmF0aXZlIGphdmFzY3JpcHQgaW1wbGVtZW50YXRpb24gaGFzIHVuZGVmaW5lZCBzdGFiaWxpdHkgYW5kIGl0IGRlcGVuZHMgb24gaXQncyBpbXBsZW1lbnRhdGlvbiAoYnJvd3NlcilcbiAgICAgICAgdGhpcy5vcGVuZWRUYWJzID0gb3JkZXJCeSh0aGlzLl9pbml0aWFsVGFicywgdiA9PiB2Lm9yZGVyLCAnYXNjJykubWFwKHRhYkRhdGEgPT5cbiAgICAgICAgICAgIG5ldyBPcGVuZWRUYWIodGFiRGF0YSwgYCR7dGhpcy51bmlxdWVJZENvdW50ZXIubmV4dCgpfWApKTtcbiAgICAgICAgaWYgKHRoaXMub3BlbmVkVGFicy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5lZFRhYnNbMF0udGFiU2VsZWN0ZWQkLm5leHQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB0YWJcbiAgICAgKi9cbiAgICBwdWJsaWMgY3VycmVudGx5U2VsZWN0ZWRUYWIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJbmRleC52YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPcGVucyBhIG5ldyB0YWIgd2l0aCB0aGUgcHJvdmlkZWQgY29udGVudC5cbiAgICAgKiBAcGFyYW0gdGFiQ29udGVudCAtIGNvbnRlbnQgb2YgdGhlIG5ldyB0YWJcbiAgICAgKiBAcGFyYW0gYXV0b3N3aXRjaCAtIHdoZXRoZXIgdGhlIG5ld2x5IG9wZW5lZCB0YWIgc2hvdWxkIGJlIHN3aXRjaGVkIHRvLiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuICAgICAqIEBwYXJhbSBvcGVuRXhpc3RpbmcgLSB3aGV0aGVyIHRoZSBvcGVuZWQgdGFiIGFscmVhZHkgZXhpc3Rpbmcgc2hvdWxkIGJlIHN3aXRjaGVkIHRvIGV4aXN0aW5nIG9uZS4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgICAqIEByZXR1cm5zIHRoZSBgdGFiVW5pcXVlSWRgIG9mIHRoZSBuZXdseSBvcGVuZWQgdGFiXG4gICAgICovXG4gICAgcHVibGljIG9wZW5UYWIodGFiQ29udGVudDogVGFiQ29udGVudCwgYXV0b3N3aXRjaCA9IGZhbHNlLCBvcGVuRXhpc3RpbmcgPSB0cnVlKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRhYkNvbnRlbnQuaW5pdGlhbCkge1xuICAgICAgICAgICAgdGhpcy5fbG9nZ2VyLndhcm4oYCdpbml0aWFsJyBhdHRyaWJ1dGUgaXMgbm90IG1lYW50IHRvIGJlIHVzZWQgd2l0aCBuZXcgdGFicyBhbmQgd2lsbCBiZSBpZ25vcmVkYCk7XG4gICAgICAgICAgICBkZWxldGUgdGFiQ29udGVudC5pbml0aWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3VGFiID0gbmV3IE9wZW5lZFRhYih0YWJDb250ZW50LCBgJHt0aGlzLnVuaXF1ZUlkQ291bnRlci5uZXh0KCl9YCk7XG4gICAgICAgIGNvbnN0IGluZGV4RXhpc3RpbmcgPSB0aGlzLmZpbmRJbmRleEV4aXN0aW5nVGFiKG5ld1RhYik7XG4gICAgICAgIGlmIChpbmRleEV4aXN0aW5nID09PSAtMSB8fCAhb3BlbkV4aXN0aW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcGVuTmV3VGFiKG5ld1RhYiwgYXV0b3N3aXRjaCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldFRhYkluZGV4V2l0aE5vdGlmaWNhdGlvbihpbmRleEV4aXN0aW5nKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9wZW5lZFRhYnNbaW5kZXhFeGlzdGluZ10udW5pcXVlSWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZmluZEluZGV4RXhpc3RpbmdUYWIobmV3VGFiOiBPcGVuZWRUYWIpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlYXJjaGVzRm9yT25lQ2FzZUlkKG5ld1RhYikpIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuZWRUYWJzLmZpbmRJbmRleChleGlzdGluZ1RhYiA9PlxuICAgICAgICAgICAgdGhpcy5zZWFyY2hlc0Zvck9uZUNhc2VJZChleGlzdGluZ1RhYikgJiYgdGhpcy5nZXRTZWFyY2hlZENhc2VJZChleGlzdGluZ1RhYikgPT09IHRoaXMuZ2V0U2VhcmNoZWRDYXNlSWQobmV3VGFiKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWFyY2hlc0Zvck9uZUNhc2VJZCh0YWI6IE9wZW5lZFRhYik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNDYXNlRmlsdGVyUGFyYW1TZXQodGFiKVxuICAgICAgICAgICAgJiYgIUFycmF5LmlzQXJyYXkodGhpcy5nZXRTZWFyY2hlZENhc2UodGFiKSlcbiAgICAgICAgICAgICYmICEhdGhpcy5nZXRTZWFyY2hlZENhc2VJZCh0YWIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VhcmNoZWRDYXNlSWQodGFiOiBPcGVuZWRUYWIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKHRoaXMuZ2V0U2VhcmNoZWRDYXNlKHRhYikgYXMgVGFza1NlYXJjaENhc2VRdWVyeSkuaWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWFyY2hlZENhc2UodGFiOiBPcGVuZWRUYWIpOiBUYXNrU2VhcmNoQ2FzZVF1ZXJ5IHwgQXJyYXk8VGFza1NlYXJjaENhc2VRdWVyeT4ge1xuICAgICAgICByZXR1cm4gKCh0YWIuaW5qZWN0ZWRPYmplY3QgYXMgSW5qZWN0ZWRUYWJiZWRUYXNrVmlld0RhdGEpLmJhc2VGaWx0ZXIuZ2V0UmVxdWVzdEJvZHkoKSBhcyBUYXNrU2VhcmNoUmVxdWVzdEJvZHkpLmNhc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNDYXNlRmlsdGVyUGFyYW1TZXQodGFiOiBPcGVuZWRUYWIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQmFzZUZpbHRlcih0YWIpXG4gICAgICAgICAgICAmJiAhISgoKHRhYi5pbmplY3RlZE9iamVjdCBhcyBJbmplY3RlZFRhYmJlZFRhc2tWaWV3RGF0YSkuYmFzZUZpbHRlci5nZXRSZXF1ZXN0Qm9keSgpIGFzIFRhc2tTZWFyY2hSZXF1ZXN0Qm9keSkuY2FzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNCYXNlRmlsdGVyKHRhYjogT3BlbmVkVGFiKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0luamVjdGVkT2JqZWN0KHRhYikgJiYgISEoKHRhYi5pbmplY3RlZE9iamVjdCBhcyBJbmplY3RlZFRhYmJlZFRhc2tWaWV3RGF0YSkuYmFzZUZpbHRlcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNJbmplY3RlZE9iamVjdCh0YWI6IE9wZW5lZFRhYik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0YWIuaW5qZWN0ZWRPYmplY3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIG5ldyB0YWIgaW50byB0aGUgY29ycmVjdCBwb3NpdGlvbiBiYXNlZCBvbiBpdHMgYG9yZGVyYCBwcm9wZXJ0eS5cbiAgICAgKiBAcGFyYW0gbmV3VGFiIHRoZSB0YWIgdGhhdCBzaG91bGQgYmUgb3BlbmVkXG4gICAgICogQHBhcmFtIGF1dG9zd2l0Y2ggd2hldGhlciB0aGUgbmV3IHRhYiBzaG91bGQgYmUgc3dpdGNoZWQgdG8gYWZ0ZXIgaXQgaXMgY3JlYXRlZFxuICAgICAqIEByZXR1cm5zIHRoZSBgdW5pcXVlSWRgIG9mIHRoZSBvcGVuZWQgdGFiXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9wZW5OZXdUYWIobmV3VGFiOiBPcGVuZWRUYWIsIGF1dG9zd2l0Y2g6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgICBsZXQgaW5kZXggPSB0aGlzLm9wZW5lZFRhYnMuZmluZEluZGV4KGV4aXN0aW5nVGFiID0+IGV4aXN0aW5nVGFiLm9yZGVyID4gbmV3VGFiLm9yZGVyKTtcbiAgICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgaW5kZXggPSB0aGlzLm9wZW5lZFRhYnMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3BlbmVkVGFicy5zcGxpY2UoaW5kZXgsIDAsIG5ld1RhYik7XG5cbiAgICAgICAgaWYgKGF1dG9zd2l0Y2ggfHwgdGhpcy5vcGVuZWRUYWJzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5zZXRUYWJJbmRleFdpdGhOb3RpZmljYXRpb24oaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXdUYWIudW5pcXVlSWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3dpdGNoZXMgdG8gYSB0YWIgd2l0aCB0aGUgZ2l2ZW4gYGluZGV4YC5cbiAgICAgKlxuICAgICAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgYGluZGV4YCBpcyBpbnZhbGlkLlxuICAgICAqIEBwYXJhbSBpbmRleCAtIGluZGV4IG9mIHRoZSB0YWIgdGhhdCBzaG91bGQgYmUgc3dpdGNoZWQgdG9cbiAgICAgKi9cbiAgICBwdWJsaWMgc3dpdGNoVG9UYWJJbmRleChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tJbmRleFJhbmdlKGluZGV4KTtcbiAgICAgICAgdGhpcy5zZXRUYWJJbmRleFdpdGhOb3RpZmljYXRpb24oaW5kZXgpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3dpdGNoZXMgdG8gYSB0YWIgd2l0aCB0aGUgZ2l2ZW4gYHVuaXF1ZUlkYC5cbiAgICAgKlxuICAgICAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgYHVuaXF1ZUlkYCBpcyBpbnZhbGlkLlxuICAgICAqIEBwYXJhbSB1bmlxdWVJZCAtIGlkIG9mIHRoZSB0YWIgdGhhdCBzaG91bGQgYmUgc3dpdGNoZWQgdG9cbiAgICAgKi9cbiAgICBwdWJsaWMgc3dpdGNoVG9UYWJVbmlxdWVJZCh1bmlxdWVJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0VGFiSW5kZXhXaXRoTm90aWZpY2F0aW9uKHRoaXMuZ2V0VGFiSW5kZXgodW5pcXVlSWQpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFRhYkluZGV4V2l0aE5vdGlmaWNhdGlvbihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbmVkVGFic1t0aGlzLnNlbGVjdGVkSW5kZXgudmFsdWVdLnRhYlNlbGVjdGVkJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4LnNldFZhbHVlKGluZGV4KTtcbiAgICAgICAgdGhpcy5vcGVuZWRUYWJzW3RoaXMuc2VsZWN0ZWRJbmRleC52YWx1ZV0udGFiU2VsZWN0ZWQkLm5leHQodHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2VzIHRoZSB0YWIgd2l0aCB0aGUgZ2l2ZW4gYGluZGV4YC5cbiAgICAgKlxuICAgICAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgYGluZGV4YCBpcyBpbnZhbGlkLlxuICAgICAqXG4gICAgICogVGhyb3dzIGFuIGVycm9yIGlmIHRoZSB0YWIgaGFzIGl0J3MgYGNhbkJlQ2xvc2VkYCBwcm9wZXJ0eSBzZXQgdG8gYGZhbHNlYC5cbiAgICAgKiBAcGFyYW0gaW5kZXggaW5kZXggb2YgdGhlIHRhYiB0aGF0IHNob3VsZCBiZSBjbG9zZWRcbiAgICAgKiBAcGFyYW0gZm9yY2Ugd2hlbiBgdHJ1ZWAgY2xvc2VzIGEgdGFiIGV2ZW4gaWYgaXQncyBgY2FudEJlQ2xvc2VkYCBhdHRyaWJ1dGUgaXMgc2V0IHRvIGB0cnVlYFxuICAgICAqL1xuICAgIHB1YmxpYyBjbG9zZVRhYkluZGV4KGluZGV4OiBudW1iZXIsIGZvcmNlID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZVRhYihpbmRleCwgZm9yY2UsIGBUYWIgYXQgaW5kZXggJHtpbmRleH0gY2FuJ3QgYmUgY2xvc2VkYCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2VzIHRoZSB0YWIgd2l0aCB0aGUgZ2l2ZW4gYHVuaXF1ZUlkYC4gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBgdW5pcXVlSWRgIGlzIGludmFsaWQuXG4gICAgICogVGhyb3dzIGFuIGVycm9yIGlmIHRoZSB0YWIgaGFzIGl0J3MgYGNhbkJlQ2xvc2VkYCBwcm9wZXJ0eSBzZXQgdG8gYGZhbHNlYC5cbiAgICAgKiBAcGFyYW0gdW5pcXVlSWQgLSBpZCBvZiB0aGUgdGFiIHRoYXQgc2hvdWxkIGJlIGNsb3NlZFxuICAgICAqIEBwYXJhbSBmb3JjZSB3aGVuIGB0cnVlYCBjbG9zZXMgYSB0YWIgZXZlbiBpZiBpdCdzIGBjYW50QmVDbG9zZWRgIGF0dHJpYnV0ZSBpcyBzZXQgdG8gYHRydWVgXG4gICAgICovXG4gICAgcHVibGljIGNsb3NlVGFiVW5pcXVlSWQodW5pcXVlSWQ6IHN0cmluZywgZm9yY2UgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0VGFiSW5kZXgodW5pcXVlSWQpO1xuICAgICAgICB0aGlzLmNsb3NlVGFiKGluZGV4LCBmb3JjZSwgYFRhYiB3aXRoIElEICR7dW5pcXVlSWR9IGNhbid0IGJlIGNsb3NlZGApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgdGFiIGF0IHRoZSBnaXZlbiBpbmRleC5cbiAgICAgKlxuICAgICAqIElmIHRoZSBjb25kaXRpb25zIGZvciBjbG9zaW5nIGEgdGFiIGFyZSBub3QgbWV0IHRocm93cyBhbiBgRXJyb3JgIHdpdGggdGhlIGdpdmVuIG1lc3NhZ2UuXG4gICAgICogQHBhcmFtIGluZGV4IGluZGV4IG9mIHRoZSB0YWIgdGhhdCBzaG91bGQgYmUgY2xvc2VkXG4gICAgICogQHBhcmFtIGZvcmNlIHdoZW4gYHRydWVgIGNsb3NlcyBhIHRhYiBldmVuIGlmIGl0J3MgYGNhbnRCZUNsb3NlZGAgYXR0cmlidXRlIGlzIHNldCB0byBgdHJ1ZWBcbiAgICAgKiBAcGFyYW0gZXJyb3IgdGhlIG1lc3NhZ2UgdGhhdCBzaG91bGQgYmUgZGlzcGxheWVkIGlmIHRoZSBjb25kaXRpb25zIGZvciBjbG9zaW5nIGEgdGFiIGFyZSBub3QgbWV0XG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNsb3NlVGFiKGluZGV4OiBudW1iZXIsIGZvcmNlOiBib29sZWFuLCBlcnJvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tJbmRleFJhbmdlKGluZGV4KTtcbiAgICAgICAgaWYgKCFmb3JjZSAmJiAhdGhpcy5vcGVuZWRUYWJzW2luZGV4XS5jYW5CZUNsb3NlZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuc2VsZWN0ZWRJbmRleC52YWx1ZSAmJiB0aGlzLm9wZW5lZFRhYnNbaW5kZXhdLnBhcmVudFVuaXF1ZUlkKSB7XG4gICAgICAgICAgICB0aGlzLnN3aXRjaFRvVGFiVW5pcXVlSWQodGhpcy5vcGVuZWRUYWJzW2luZGV4XS5wYXJlbnRVbmlxdWVJZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLnNlbGVjdGVkSW5kZXgudmFsdWUgJiYgdGhpcy5zZWxlY3RlZEluZGV4LnZhbHVlICsgMSA8IHRoaXMub3BlbmVkVGFicy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbmVkVGFic1tpbmRleCArIDFdLnRhYlNlbGVjdGVkJC5uZXh0KHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3BlbmVkVGFic1tpbmRleF0udGFiQ2xvc2VkJC5uZXh0KCk7XG4gICAgICAgIGNvbnN0IGRlbGV0ZWQgPSB0aGlzLm9wZW5lZFRhYnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgZGVsZXRlZFswXS5kZXN0cm95KCk7XG4gICAgICAgIGlmIChpbmRleCA8IHRoaXMuc2VsZWN0ZWRJbmRleC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRJbmRleC52YWx1ZSAtIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgdGhlIHRhYiBpZiBpdCB3YXNuJ3QgaW5pdGlhbGl6ZWQgeWV0LlxuICAgICAqIENyZWF0ZXMgYSBuZXcge0BsaW5rIENvbXBvbmVudFBvcnRhbH0gZm9yIHRoZSB0YWIgYW5kIHByb3ZpZGVzIHRoZSBkYXRhIGZvciB0aGUgdGFiIHVuZGVyIHRoZSBgTkFFX1RBQl9EQVRBYCBpbmplY3Rpb24gdG9rZW4uXG4gICAgICogQHBhcmFtIGluZGV4IC0gaW5kZXggb2YgdGhlIHRhYiB0aGF0IHNob3VsZCBiZSBpbml0aWFsaXplZFxuICAgICAqL1xuICAgIHB1YmxpYyBpbml0aWFsaXplVGFiKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0luZGV4UmFuZ2UoaW5kZXgpO1xuICAgICAgICBjb25zdCB0YWIgPSB0aGlzLm9wZW5lZFRhYnNbaW5kZXhdO1xuICAgICAgICBpZiAoIXRhYi5pc1RhYkluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRhYi5pbmplY3RlZE9iamVjdCwge1xuICAgICAgICAgICAgICAgIHRhYlVuaXF1ZUlkOiB0YWIudW5pcXVlSWQsXG4gICAgICAgICAgICAgICAgdGFiVmlld1JlZjogT2JqZWN0LmFzc2lnbih7XG4gICAgICAgICAgICAgICAgICAgIHNldEljb246IHQgPT4gdGFiLnNldEljb24odCksXG4gICAgICAgICAgICAgICAgICAgIHNldFRleHQ6IHQgPT4gdGFiLnNldFRleHQodCksXG4gICAgICAgICAgICAgICAgICAgIGdldEljb24kOiAoKSA9PiB0YWIuZ2V0SWNvbiQoKSxcbiAgICAgICAgICAgICAgICAgICAgZ2V0VGV4dCQ6ICgpID0+IHRhYi5nZXRUZXh0JCgpLFxuICAgICAgICAgICAgICAgIH0sIHRoaXMudGFiVmlld0ludGVyZmFjZSksXG4gICAgICAgICAgICAgICAgdGFiU2VsZWN0ZWQkOiB0YWIudGFiU2VsZWN0ZWQkLmFzT2JzZXJ2YWJsZSgpLFxuICAgICAgICAgICAgICAgIHRhYkNsb3NlZCQ6IHRhYi50YWJDbG9zZWQkLmFzT2JzZXJ2YWJsZSgpLFxuICAgICAgICAgICAgfSBhcyBJbmplY3RlZFRhYkRhdGEpO1xuXG4gICAgICAgICAgICBjb25zdCBwcm92aWRlcnM6IEFycmF5PFN0YXRpY1Byb3ZpZGVyPiA9IFtcbiAgICAgICAgICAgICAgICB7cHJvdmlkZTogTkFFX1RBQl9EQVRBLCB1c2VWYWx1ZTogdGFiLmluamVjdGVkT2JqZWN0fVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIHByb3ZpZGVycy5wdXNoKHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBOQUVfVklFV19JRF9TRUdNRU5ULFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB0YWIuaW5pdGlhbCA/IHRhYi51bmlxdWVJZCA6IFRhYlZpZXcuRFlOQU1JQ19UQUJfVklFV19JRF9TRUdNRU5UXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe3Byb3ZpZGVycywgcGFyZW50OiB0aGlzLl9wYXJlbnRJbmplY3Rvcn0pO1xuXG4gICAgICAgICAgICB0YWIucG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbCh0YWIudGFiQ29udGVudENvbXBvbmVudCwgbnVsbCwgaW5qZWN0b3IpO1xuICAgICAgICAgICAgdGFiLmlzVGFiSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHRhYkNoYW5nZShldmVudDogTWF0VGFiQ2hhbmdlRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmluZGV4ICE9PSB0aGlzLnNlbGVjdGVkSW5kZXgudmFsdWUpIHtcbiAgICAgICAgICAgIGxldCB0YWIgPSB0aGlzLm9wZW5lZFRhYnNbdGhpcy5zZWxlY3RlZEluZGV4LnZhbHVlXTtcbiAgICAgICAgICAgIGlmICh0YWIpIHtcbiAgICAgICAgICAgICAgICB0YWIudGFiU2VsZWN0ZWQkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGFiID0gdGhpcy5vcGVuZWRUYWJzW2V2ZW50LmluZGV4XTtcbiAgICAgICAgICAgIGlmICh0YWIpIHtcbiAgICAgICAgICAgICAgICB0YWIudGFiU2VsZWN0ZWQkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXguc2V0VmFsdWUoZXZlbnQuaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtcyBhIHRhYiBgdW5pcXVlSWRgIGludG8gaXQncyBpbmRleC5cbiAgICAgKlxuICAgICAqIFRocm93cyBhbiBlcnJvciBpZiBubyB0YWIgd2l0aCB0aGUgZ2l2ZW4gYHVuaXF1ZUlkYCBleGlzdHMuXG4gICAgICogQHBhcmFtIHVuaXF1ZUlkIC0gaWQgb2YgdGhlIHRhYiB0aGF0IHdlIHdhbnQgdG8gZmluZCBpbmRleCBmb3JcbiAgICAgKiBAcmV0dXJucyBpbmRleCBvZiB0aGUgdGFiIHdpdGggdGhlIGdpdmVuIGlkXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRUYWJJbmRleCh1bmlxdWVJZDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm9wZW5lZFRhYnMuZmluZEluZGV4KHRhYiA9PiB0YWIudW5pcXVlSWQgPT09IHVuaXF1ZUlkKTtcbiAgICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyB0YWIgd2l0aCBJRCAke3VuaXF1ZUlkfSBleGlzdHNgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0luZGV4UmFuZ2UoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID49IHRoaXMub3BlbmVkVGFicy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gdGFiIHdpdGggaW5kZXggJHtpbmRleH0gZXhpc3RzYCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdGFicy9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBTdG9yZXMgaW5mb3JtYXRpb24gYWJvdXQgY29udGVudCBvZiBvbmUgb3BlbmVkIHRhYiBpbiB0YWIgdmlldy5cbiAqXG4gKiBTZWUge0BsaW5rIFRhYlZpZXd9IGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2FnZSBvZiB0aGlzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWJDb250ZW50IHtcbiAgICAvKipcbiAgICAgKiBDb250ZW50cyBvZiB0aGUgdGFiIGxhYmVsLlxuICAgICAqXG4gICAgICogT25seSBhdHRyaWJ1dGVzIHdpdGggZGVmaW5lZCB2YWx1ZXMgYXJlIGRpc3BsYXllZCBpbiB0aGUgbGFiZWwuXG4gICAgICogWW91IGNhbiBoYXZlIGJvdGggaWNvbiBhbmQgdGV4dCBkaXNwbGF5ZWQsIGVpdGhlciBvbmUsIG9yIG5laXRoZXIuXG4gICAgICogSWNvbiBpcyBkaXNwbGF5ZWQgaW4gZnJvbnQgb2YgdGhlIHRleHQuXG4gICAgICovXG4gICAgbGFiZWw/OiBUYWJMYWJlbDtcbiAgICAvKipcbiAgICAgKiBBIGNsb3NlIGJ1dHRvbiB3aWxsIGJlIGRpc3BsYXllZCBhZnRlciB0aGUgdGV4dCBpbiB0aGUgbGFiZWwgaWYgdGhlIHRhYiBjYW4gYmUgY2xvc2VkLlxuICAgICAqL1xuICAgIGNhbkJlQ2xvc2VkOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIENvbXBvbmVudCB0aGF0IHNob3VsZCBiZSBkaXNwbGF5ZWQgYXMgdGhlIHRhYiBjb250ZW50LlxuICAgICAqL1xuICAgIHRhYkNvbnRlbnRDb21wb25lbnQ6IFR5cGU8YW55PjtcbiAgICAvKipcbiAgICAgKiBEYXRhIHRoYXQgeW91IHdhbnQgdG8gbWFrZSBhdmFpbGFibGUgZm9yIGluamVjdGlvbiB0byB0aGUgdGFiIGNvbnRlbnQgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogVGhlIGRhdGEgY2FuIGJlIGluamVjdGVkIHRyb3VnaCB0aGUgYE5BRV9UQUJfREFUQWAgaW5qZWN0aW9uIHRva2VuLlxuICAgICAqXG4gICAgICogU2VlIFtJbmplY3RlZFRhYkRhdGFde0BsaW5rIEluamVjdGVkVGFiRGF0YX0gZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZvcm1hdCBvZiB0aGUgaW5qZWN0ZWQgb2JqZWN0LlxuICAgICAqL1xuICAgIGluamVjdGVkT2JqZWN0Pzogb2JqZWN0O1xuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgdGhlIG5hdHVyYWwgb3JkZXJpbmcgb2YgdGhlIHRhYnMuXG4gICAgICpcbiAgICAgKiBUYWJzIGFyZSBvcmRlcmVkIGZyb20gbGVmdCB0byByaWdodCBpbiBhc2NlbmRpbmcgb3JkZXIuXG4gICAgICogSWYgdHdvIHRhYnMgaGF2ZSB0aGUgc2FtZSBvcmRlciB0aGUgb25lIHRoYXQgd2FzIGNyZWF0ZWQgbGF0ZXIgd2lsbCBhcHBlYXIgZnVydGhlciB0byB0aGUgcmlnaHQuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0cyB0byBgMGAuXG4gICAgICovXG4gICAgb3JkZXI/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdGFiIHdhcyBpbml0aWFsbHkgb3BlbmVkLiBPbmx5IGluaXRpYWxseSBvcGVuZWQgdGFicyBoYXZlIHRoZWlyIHZpZXcgSUQgZGVmaW5lZC5cbiAgICAgKiBUYWJzIHRoYXQgYXJlIG9wZW5lZCBkeW5hbWljYWxseSBkb24ndCBoYXZlIGEgdmlldyBJRCBhbmQgdGh1cyBjYW5ub3Qgc2F2ZSB0aGVpciBzdGF0ZSBpbnRvIHVzZXIgcHJlZmVyZW5jZXMuXG4gICAgICpcbiAgICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyBvbmx5IHVzZWQgd2hlbiBpbml0aWFsIHRhYnMgYXJlIGNyZWF0ZWQuIFRoZSBbb3BlblRhYl17QGxpbmsgVGFiVmlldyNvcGVuVGFifSBtZXRob2QgaWdub3JlcyB0aGlzIGF0dHJpYnV0ZVxuICAgICAqIGFuZCBsb2dzIGEgd2FybmluZyBpZiBpdCBpcyBzZXQgb24gdGhlIHByb3ZpZGVkIG9iamVjdC5cbiAgICAgKi9cbiAgICBpbml0aWFsPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBXaGVuIHdlIG5lZWQgdG8ga25vdywgdGhvIHdoaWNoIHRhYiB3ZSBuZWVkIHRvIHN3aXRjaCB3aGVuIHdlIGNsb3NlIGN1cnJlbnQgdGFiLCB3ZSBuZWVkIGEgcGFyZW50IHVuaXF1ZSBpZCwgaXRzXG4gICAgICogYSB1bmlxdWUgSUQgb2YgdGFiLCBmcm9tIHdoaWNoIHdlIG9wZW4gY3VycmVudCB0YWIuIEluaXRpYWwgdGFicyBhbmQgY2FzZSB0YWJzIGRvbnQgaGF2ZSB0aG9zZSBwcm9wZXJ0eS5cbiAgICAgKi9cbiAgICBwYXJlbnRVbmlxdWVJZD86IHN0cmluZztcbn1cblxuXG4vKipcbiAqIFN0b3JlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbGFiZWwgb2YgYSB0YWIgaW4gdGFiIHZpZXcuXG4gKlxuICogU2VlIHtAbGluayBUYWJDb250ZW50I2xhYmVsfSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWJMYWJlbCB7XG4gICAgLyoqXG4gICAgICogTWF0ZXJpYWwgZGVzaWduIGljb24gbmFtZS5cbiAgICAgKlxuICAgICAqIFNlZSBbbWF0ZXJpYWwgd2Vic2l0ZV17QGxpbmsgaHR0cHM6Ly9tYXRlcmlhbC5pby9yZXNvdXJjZXMvaWNvbnN9IGZvciBzdXBwb3J0ZWQgaWNvbiBsaXN0LlxuICAgICAqL1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGFiIG5hbWUgdGhhdCBpcyBkaXNwbGF5ZWQgaW4gaXQncyBsYWJlbC5cbiAgICAgKlxuICAgICAqIFRoZSB0ZXh0IGlzIHBhc3NlZCB0cm91Z2ggdGhlIHRyYW5zbGF0ZSBwaXBlLiBJZiB5b3Ugd2FudCB0aGUgdGFiIGxhYmVsIHRvIGJlIHRyYW5zbGF0ZWQgc2ltcGx5IHBhc3MgdGhlIHRyYW5zbGF0aW9uIGtleSBhcyB2YWx1ZS5cbiAgICAgKi9cbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRhYiBjb3VudCBpcyBkaXNwbGF5ZWQgaW4gaXQncyBsYWJlbCwgaWNoIHN0cmVhbSBpcyBwcm92aWRlZFxuICAgICAqL1xuICAgIGNvdW50PzogUmVwbGF5U3ViamVjdDxudW1iZXI+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdGFicy9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBTdG9yZXMgaW5mb3JtYXRpb24gYWJvdXQgY29udGVudCBvZiBvbmUgb3BlbmVkIHRhYiBpbiB0YWIgdmlldy5cbiAqXG4gKiBTZWUge0BsaW5rIFRhYlZpZXd9IGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2FnZSBvZiB0aGlzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWJDb250ZW50IHtcbiAgICAvKipcbiAgICAgKiBDb250ZW50cyBvZiB0aGUgdGFiIGxhYmVsLlxuICAgICAqXG4gICAgICogT25seSBhdHRyaWJ1dGVzIHdpdGggZGVmaW5lZCB2YWx1ZXMgYXJlIGRpc3BsYXllZCBpbiB0aGUgbGFiZWwuXG4gICAgICogWW91IGNhbiBoYXZlIGJvdGggaWNvbiBhbmQgdGV4dCBkaXNwbGF5ZWQsIGVpdGhlciBvbmUsIG9yIG5laXRoZXIuXG4gICAgICogSWNvbiBpcyBkaXNwbGF5ZWQgaW4gZnJvbnQgb2YgdGhlIHRleHQuXG4gICAgICovXG4gICAgbGFiZWw/OiBUYWJMYWJlbDtcbiAgICAvKipcbiAgICAgKiBBIGNsb3NlIGJ1dHRvbiB3aWxsIGJlIGRpc3BsYXllZCBhZnRlciB0aGUgdGV4dCBpbiB0aGUgbGFiZWwgaWYgdGhlIHRhYiBjYW4gYmUgY2xvc2VkLlxuICAgICAqL1xuICAgIGNhbkJlQ2xvc2VkOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIENvbXBvbmVudCB0aGF0IHNob3VsZCBiZSBkaXNwbGF5ZWQgYXMgdGhlIHRhYiBjb250ZW50LlxuICAgICAqL1xuICAgIHRhYkNvbnRlbnRDb21wb25lbnQ6IFR5cGU8YW55PjtcbiAgICAvKipcbiAgICAgKiBEYXRhIHRoYXQgeW91IHdhbnQgdG8gbWFrZSBhdmFpbGFibGUgZm9yIGluamVjdGlvbiB0byB0aGUgdGFiIGNvbnRlbnQgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogVGhlIGRhdGEgY2FuIGJlIGluamVjdGVkIHRyb3VnaCB0aGUgYE5BRV9UQUJfREFUQWAgaW5qZWN0aW9uIHRva2VuLlxuICAgICAqXG4gICAgICogU2VlIFtJbmplY3RlZFRhYkRhdGFde0BsaW5rIEluamVjdGVkVGFiRGF0YX0gZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZvcm1hdCBvZiB0aGUgaW5qZWN0ZWQgb2JqZWN0LlxuICAgICAqL1xuICAgIGluamVjdGVkT2JqZWN0Pzogb2JqZWN0O1xuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgdGhlIG5hdHVyYWwgb3JkZXJpbmcgb2YgdGhlIHRhYnMuXG4gICAgICpcbiAgICAgKiBUYWJzIGFyZSBvcmRlcmVkIGZyb20gbGVmdCB0byByaWdodCBpbiBhc2NlbmRpbmcgb3JkZXIuXG4gICAgICogSWYgdHdvIHRhYnMgaGF2ZSB0aGUgc2FtZSBvcmRlciB0aGUgb25lIHRoYXQgd2FzIGNyZWF0ZWQgbGF0ZXIgd2lsbCBhcHBlYXIgZnVydGhlciB0byB0aGUgcmlnaHQuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0cyB0byBgMGAuXG4gICAgICovXG4gICAgb3JkZXI/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdGFiIHdhcyBpbml0aWFsbHkgb3BlbmVkLiBPbmx5IGluaXRpYWxseSBvcGVuZWQgdGFicyBoYXZlIHRoZWlyIHZpZXcgSUQgZGVmaW5lZC5cbiAgICAgKiBUYWJzIHRoYXQgYXJlIG9wZW5lZCBkeW5hbWljYWxseSBkb24ndCBoYXZlIGEgdmlldyBJRCBhbmQgdGh1cyBjYW5ub3Qgc2F2ZSB0aGVpciBzdGF0ZSBpbnRvIHVzZXIgcHJlZmVyZW5jZXMuXG4gICAgICpcbiAgICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyBvbmx5IHVzZWQgd2hlbiBpbml0aWFsIHRhYnMgYXJlIGNyZWF0ZWQuIFRoZSBbb3BlblRhYl17QGxpbmsgVGFiVmlldyNvcGVuVGFifSBtZXRob2QgaWdub3JlcyB0aGlzIGF0dHJpYnV0ZVxuICAgICAqIGFuZCBsb2dzIGEgd2FybmluZyBpZiBpdCBpcyBzZXQgb24gdGhlIHByb3ZpZGVkIG9iamVjdC5cbiAgICAgKi9cbiAgICBpbml0aWFsPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBXaGVuIHdlIG5lZWQgdG8ga25vdywgdGhvIHdoaWNoIHRhYiB3ZSBuZWVkIHRvIHN3aXRjaCB3aGVuIHdlIGNsb3NlIGN1cnJlbnQgdGFiLCB3ZSBuZWVkIGEgcGFyZW50IHVuaXF1ZSBpZCwgaXRzXG4gICAgICogYSB1bmlxdWUgSUQgb2YgdGFiLCBmcm9tIHdoaWNoIHdlIG9wZW4gY3VycmVudCB0YWIuIEluaXRpYWwgdGFicyBhbmQgY2FzZSB0YWJzIGRvbnQgaGF2ZSB0aG9zZSBwcm9wZXJ0eS5cbiAgICAgKi9cbiAgICBwYXJlbnRVbmlxdWVJZD86IHN0cmluZztcbn1cblxuXG4vKipcbiAqIFN0b3JlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbGFiZWwgb2YgYSB0YWIgaW4gdGFiIHZpZXcuXG4gKlxuICogU2VlIHtAbGluayBUYWJDb250ZW50I2xhYmVsfSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWJMYWJlbCB7XG4gICAgLyoqXG4gICAgICogTWF0ZXJpYWwgZGVzaWduIGljb24gbmFtZS5cbiAgICAgKlxuICAgICAqIFNlZSBbbWF0ZXJpYWwgd2Vic2l0ZV17QGxpbmsgaHR0cHM6Ly9tYXRlcmlhbC5pby9yZXNvdXJjZXMvaWNvbnN9IGZvciBzdXBwb3J0ZWQgaWNvbiBsaXN0LlxuICAgICAqL1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGFiIG5hbWUgdGhhdCBpcyBkaXNwbGF5ZWQgaW4gaXQncyBsYWJlbC5cbiAgICAgKlxuICAgICAqIFRoZSB0ZXh0IGlzIHBhc3NlZCB0cm91Z2ggdGhlIHRyYW5zbGF0ZSBwaXBlLiBJZiB5b3Ugd2FudCB0aGUgdGFiIGxhYmVsIHRvIGJlIHRyYW5zbGF0ZWQgc2ltcGx5IHBhc3MgdGhlIHRyYW5zbGF0aW9uIGtleSBhcyB2YWx1ZS5cbiAgICAgKi9cbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRhYiBjb3VudCBpcyBkaXNwbGF5ZWQgaW4gaXQncyBsYWJlbCwgaWNoIHN0cmVhbSBpcyBwcm92aWRlZFxuICAgICAqL1xuICAgIGNvdW50PzogUmVwbGF5U3ViamVjdDxudW1iZXI+O1xuXG59XG5cblxuLyoqXG4gKiBUaGUgYmFzZSBpbnRlcmZhY2UgZm9yIGRhdGEgaW5qZWN0ZWQgaW50byB0YWJzLlxuICogVGhpcyBpbmZvcm1hdGlvbiBpcyBtYWRlIGF2YWlsYWJsZSBmb3IgaW5qZWN0aW9uIHRvIGFueSB0YWIgY29udGVudCBjb21wb25lbnQgdHJvdWdoIHRoZSBgTkFFX1RBQl9EQVRBYCBpbmplY3Rpb24gdG9rZW4uXG4gKiBJZiB7QGxpbmsgVGFiQ29udGVudH0gaGFzIHRoZSBgaW5qZWN0ZWRPYmplY3RgIGRlZmluZWQsIHRoZW4gdGhhdCBkYXRhIGlzIHByb3ZpZGVkIGFzIHdlbGwuXG4gKiBTaG91bGQgdGhlcmUgYmUgYSBrZXkgY29uZmxpY3QgaW4gdGhlIG9iamVjdHMsIHRoZW4gdmFsdWVzIGZyb20gdGhpcyBpbnRlcmZhY2UgdGFrZSBwcmVjZWRlbmNlIGFuZCByZXBsYWNlIHRoZSBwcm92aWRlZCBkYXRhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEluamVjdGVkVGFiRGF0YSB7XG4gICAgLyoqXG4gICAgICogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGUgdGFiIHdpdGhpbiB0aGUgdGFiIHZpZXcuXG4gICAgICovXG4gICAgdGFiVW5pcXVlSWQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gdGhlIHBhcmVudCB0YWIgdmlldyBhbGxvd2luZyBzb21lIGNvbnRyb2wgb3ZlciBpdCBmcm9tIHRoZSB0YWIgY29udGVudCBjb21wb25lbnQuXG4gICAgICovXG4gICAgdGFiVmlld1JlZjogT3BlbmVkVGFiVmlld0ludGVyZmFjZTtcbiAgICAvKipcbiAgICAgKiBgdHJ1ZWAgaXMgZW1pdHRlZCBpbnRvIHRoaXMgc3RyZWFtIHdoZW4gdGhlIHRhYiBpcyBzd2l0Y2hlZCBpbnRvLlxuICAgICAqXG4gICAgICogYGZhbHNlYCBpcyBlbWl0dGVkIGludG8gdGhpcyBzdHJlYW0gd2hlbiB0aGUgdGFiIGlzIHN3aXRjaGVkIGF3YXkgZnJvbS5cbiAgICAgKi9cbiAgICB0YWJTZWxlY3RlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgLyoqXG4gICAgICogc3RyZWFtIGVtaXRzIHdoZW4gdGhlIHRhYiBpcyBjbG9zZWQgYnkgYW55IG1lYW5zIGV4Y2VwdCBmb3IgdGhlIGRlc3RydWN0aW9uIG9mIHRoZSBwYXJlbnQgY29tcG9uZW50XG4gICAgICovXG4gICAgdGFiQ2xvc2VkJDogT2JzZXJ2YWJsZTx2b2lkPjtcbn1cblxuXG4vKipcbiAqIE1ldGhvZHMgb2YgcGFyZW50IHRhYiB2aWV3LCB0aGF0IHRhYnMgY2FuIGFjY2Vzcy5cbiAqXG4gKiBTZWUge0BsaW5rIFRhYlZpZXd9IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYlZpZXdJbnRlcmZhY2Uge1xuICAgIC8qKlxuICAgICAqIFNlZSBbVGFiVmlldy5jdXJyZW50bHlTZWxlY3RlZFRhYl17QGxpbmsgVGFiVmlldyNjdXJyZW50bHlTZWxlY3RlZFRhYn1cbiAgICAgKi9cbiAgICBjdXJyZW50bHlTZWxlY3RlZFRhYigpOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBTZWUgW1RhYlZpZXcub3BlblRhYl17QGxpbmsgVGFiVmlldyNvcGVuVGFifVxuICAgICAqL1xuICAgIG9wZW5UYWIodGFiQ29udGVudDogVGFiQ29udGVudCwgYXV0b3N3aXRjaD86IGJvb2xlYW4sIG9wZW5FeGlzaW5nPzogYm9vbGVhbik6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFNlZSBbVGFiVmlldy5zd2l0Y2hUb1RhYkluZGV4XXtAbGluayBUYWJWaWV3I3N3aXRjaFRvVGFiSW5kZXh9XG4gICAgICovXG4gICAgc3dpdGNoVG9UYWJJbmRleChpbmRleDogbnVtYmVyKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFNlZSBbVGFiVmlldy51bmlxdWVJZF17QGxpbmsgVGFiVmlldyN1bmlxdWVJZH1cbiAgICAgKi9cbiAgICBzd2l0Y2hUb1RhYlVuaXF1ZUlkKHVuaXF1ZUlkOiBzdHJpbmcpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogU2VlIFtUYWJWaWV3LmNsb3NlVGFiSW5kZXhde0BsaW5rIFRhYlZpZXcjY2xvc2VUYWJJbmRleH1cbiAgICAgKi9cbiAgICBjbG9zZVRhYkluZGV4KGluZGV4OiBudW1iZXIsIGZvcmNlPzogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBTZWUgW1RhYlZpZXcuY2xvc2VUYWJVbmlxdWVJZF17QGxpbmsgVGFiVmlldyNjbG9zZVRhYlVuaXF1ZUlkfVxuICAgICAqL1xuICAgIGNsb3NlVGFiVW5pcXVlSWQodW5pcXVlSWQ6IHN0cmluZywgZm9yY2U/OiBib29sZWFuKTogdm9pZDtcbn1cblxuLyoqXG4gKiBVcGRhdGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGxhYmVsIG9mIGEgdGFiIGluIHRhYiB2aWV3LlxuICpcbiAqIFNlZSB7QGxpbmsgVGFiQ29udGVudCNsYWJlbH0gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gKiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVuZWRUYWJWaWV3SW50ZXJmYWNlIGV4dGVuZHMgVGFiVmlld0ludGVyZmFjZSB7XG5cbiAgICBzZXRJY29uKGljb246IHN0cmluZyk7XG5cbiAgICBzZXRUZXh0KHRleHQ6IHN0cmluZyk7XG5cbiAgICBnZXRJY29uJCgpOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBnZXRUZXh0JCgpOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbn1cbiJdfQ==
|
|
@@ -2,5 +2,7 @@ export * from './interfaces';
|
|
|
2
2
|
export * from './tab-data-injection-token/tab-data-injection-token';
|
|
3
3
|
export * from './tab-view/abstract-tab-view.component';
|
|
4
4
|
export * from './tab-creation-detector/abstract-tab-creation-detector.component';
|
|
5
|
+
export * from './classes/opened-tab';
|
|
6
|
+
export * from './classes/tab-label-stream';
|
|
5
7
|
export * from './classes/tab-view';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdGFicy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWUsc0JBQXNCLENBQUE7QUFDckMsY0FBZSw0QkFBNEIsQ0FBQTtBQUMzQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vdGFiLWRhdGEtaW5qZWN0aW9uLXRva2VuL3RhYi1kYXRhLWluamVjdGlvbi10b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL3RhYi12aWV3L2Fic3RyYWN0LXRhYi12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYi1jcmVhdGlvbi1kZXRlY3Rvci9hYnN0cmFjdC10YWItY3JlYXRpb24tZGV0ZWN0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gICcuL2NsYXNzZXMvb3BlbmVkLXRhYidcbmV4cG9ydCAqIGZyb20gICcuL2NsYXNzZXMvdGFiLWxhYmVsLXN0cmVhbSdcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy90YWItdmlldyc7XG4iXX0=
|
|
@@ -103,7 +103,7 @@ export class AssignTaskService extends TaskHandlingService {
|
|
|
103
103
|
this._changedFieldsService.emitChangedFields(changedFieldsMap);
|
|
104
104
|
}
|
|
105
105
|
forceReload ? this._taskOperations.forceReload() : this._taskOperations.reload();
|
|
106
|
-
this.completeActions(afterAction, nextEvent, true);
|
|
106
|
+
this.completeActions(afterAction, nextEvent, true, outcomeResource.outcome);
|
|
107
107
|
this._snackBar.openSuccessSnackBar(!!outcomeResource.outcome.message
|
|
108
108
|
? outcomeResource.outcome.message
|
|
109
109
|
: this._translate.instant('tasks.snackbar.assignTaskSuccess'));
|
|
@@ -141,17 +141,18 @@ export class AssignTaskService extends TaskHandlingService {
|
|
|
141
141
|
/**
|
|
142
142
|
* complete all action streams and send notification with selected boolean
|
|
143
143
|
*/
|
|
144
|
-
completeActions(afterAction, nextEvent, bool) {
|
|
145
|
-
this.sendNotification(bool);
|
|
144
|
+
completeActions(afterAction, nextEvent, bool, outcome) {
|
|
145
|
+
this.sendNotification(bool, outcome);
|
|
146
146
|
afterAction.resolve(bool);
|
|
147
147
|
nextEvent.resolve(bool);
|
|
148
148
|
}
|
|
149
149
|
/**
|
|
150
150
|
* Publishes an assign notification to the {@link TaskEventService}
|
|
151
151
|
* @param success whether the assign operation was successful or not
|
|
152
|
+
* @param outcome
|
|
152
153
|
*/
|
|
153
|
-
sendNotification(success) {
|
|
154
|
-
this._taskEvent.publishTaskEvent(createTaskEventNotification(this._safeTask, TaskEvent.ASSIGN, success));
|
|
154
|
+
sendNotification(success, outcome) {
|
|
155
|
+
this._taskEvent.publishTaskEvent(createTaskEventNotification(this._safeTask, TaskEvent.ASSIGN, success, outcome));
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
158
|
AssignTaskService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AssignTaskService, deps: [{ token: i1.LoggerService }, { token: i2.TaskResourceService }, { token: i3.SnackBarService }, { token: i4.TranslateService }, { token: i5.TaskRequestStateService }, { token: i6.TaskEventService }, { token: i7.TaskDataService }, { token: i8.EventQueueService }, { token: i9.EventService }, { token: i10.ChangedFieldsService }, { token: NAE_TASK_OPERATIONS }, { token: i11.SelectedCaseService, optional: true }, { token: i12.TaskViewService, optional: true }, { token: i13.TaskContentService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -166,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
166
167
|
}] }, { type: i12.TaskViewService, decorators: [{
|
|
167
168
|
type: Optional
|
|
168
169
|
}] }, { type: i13.TaskContentService }]; } });
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLXRhc2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdGFzay9zZXJ2aWNlcy9hc3NpZ24tdGFzay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU8zRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUk5RSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFOUQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR3BDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVFsRTs7R0FFRztBQUVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxtQkFBbUI7SUFFdEQsWUFBc0IsSUFBbUIsRUFDbkIsb0JBQXlDLEVBQ3pDLFNBQTBCLEVBQzFCLFVBQTRCLEVBQzVCLFVBQW1DLEVBQ25DLFVBQTRCLEVBQzVCLGdCQUFpQyxFQUNqQyxXQUE4QixFQUM5QixhQUEyQixFQUMzQixxQkFBMkMsRUFDZCxlQUErQixFQUMxRCxvQkFBeUMsRUFDL0IsZ0JBQWlDLEVBQ3ZELG1CQUF1QztRQUMvQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQWQvQixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FB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MkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RyxDQUFDOzsrR0FwSlEsaUJBQWlCLHlWQVlOLG1CQUFtQjttSEFaOUIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQWFNLE1BQU07MkJBQUMsbUJBQW1COzswQkFDMUIsUUFBUTs7MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tDb250ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L3NlcnZpY2VzL3Rhc2stY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7VGFza1Jlc291cmNlU2VydmljZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC90YXNrLXJlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtTbmFja0JhclNlcnZpY2V9IGZyb20gJy4uLy4uL3NuYWNrLWJhci9zZXJ2aWNlcy9zbmFjay1iYXIuc2VydmljZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtUYXNrUmVxdWVzdFN0YXRlU2VydmljZX0gZnJvbSAnLi90YXNrLXJlcXVlc3Qtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tIYW5kbGluZ1NlcnZpY2V9IGZyb20gJy4vdGFzay1oYW5kbGluZy1zZXJ2aWNlJztcbmltcG9ydCB7TkFFX1RBU0tfT1BFUkFUSU9OU30gZnJvbSAnLi4vbW9kZWxzL3Rhc2stb3BlcmF0aW9ucy1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtUYXNrT3BlcmF0aW9uc30gZnJvbSAnLi4vaW50ZXJmYWNlcy90YXNrLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHtTZWxlY3RlZENhc2VTZXJ2aWNlfSBmcm9tICcuL3NlbGVjdGVkLWNhc2Uuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tFdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9zZXJ2aWNlcy90YXNrLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtjcmVhdGVUYXNrRXZlbnROb3RpZmljYXRpb259IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9tb2RlbC90YXNrLWV2ZW50LW5vdGlmaWNhdGlvbic7XG5pbXBvcnQge1Rhc2tFdmVudH0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L21vZGVsL3Rhc2stZXZlbnQnO1xuaW1wb3J0IHtUYXNrRGF0YVNlcnZpY2V9IGZyb20gJy4vdGFzay1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1Rhc2tWaWV3U2VydmljZX0gZnJvbSAnLi4vLi4vdmlldy90YXNrLXZpZXcvc2VydmljZS90YXNrLXZpZXcuc2VydmljZSc7XG5pbXBvcnQge0V2ZW50UXVldWVTZXJ2aWNlfSBmcm9tICcuLi8uLi9ldmVudC1xdWV1ZS9zZXJ2aWNlcy9ldmVudC1xdWV1ZS5zZXJ2aWNlJztcbmltcG9ydCB7UXVldWVkRXZlbnR9IGZyb20gJy4uLy4uL2V2ZW50LXF1ZXVlL21vZGVsL3F1ZXVlZC1ldmVudCc7XG5pbXBvcnQge0FmdGVyQWN0aW9ufSBmcm9tICcuLi8uLi91dGlsaXR5L2NhbGwtY2hhaW4vYWZ0ZXItYWN0aW9uJztcbmltcG9ydCB7QXNzaWduVGFza0V2ZW50T3V0Y29tZX0gZnJvbSAnLi4vLi4vZXZlbnQvbW9kZWwvZXZlbnQtb3V0Y29tZXMvdGFzay1vdXRjb21lcy9hc3NpZ24tdGFzay1ldmVudC1vdXRjb21lJztcbmltcG9ydCB7RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL21lc3NhZ2UtcmVzb3VyY2UnO1xuaW1wb3J0IHtDaGFuZ2VkRmllbGRzU2VydmljZX0gZnJvbSAnLi4vLi4vY2hhbmdlZC1maWVsZHMvc2VydmljZXMvY2hhbmdlZC1maWVsZHMuc2VydmljZSc7XG5pbXBvcnQge0V2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vZXZlbnQvc2VydmljZXMvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0NoYW5nZWRGaWVsZHNNYXB9IGZyb20gJy4uLy4uL2V2ZW50L3NlcnZpY2VzL2ludGVyZmFjZXMvY2hhbmdlZC1maWVsZHMtbWFwJztcblxuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBoYW5kbGVzIHRoZSBsb2dpYyBvZiBhc3NpZ25pbmcgYSB0YXNrLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXNzaWduVGFza1NlcnZpY2UgZXh0ZW5kcyBUYXNrSGFuZGxpbmdTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza1Jlc291cmNlU2VydmljZTogVGFza1Jlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3NuYWNrQmFyOiBTbmFja0JhclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90YXNrU3RhdGU6IFRhc2tSZXF1ZXN0U3RhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza0V2ZW50OiBUYXNrRXZlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza0RhdGFTZXJ2aWNlOiBUYXNrRGF0YVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9ldmVudFF1ZXVlOiBFdmVudFF1ZXVlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2V2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2hhbmdlZEZpZWxkc1NlcnZpY2U6IENoYW5nZWRGaWVsZHNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTkFFX1RBU0tfT1BFUkFUSU9OUykgcHJvdGVjdGVkIF90YXNrT3BlcmF0aW9uczogVGFza09wZXJhdGlvbnMsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgX3NlbGVjdGVkQ2FzZVNlcnZpY2U6IFNlbGVjdGVkQ2FzZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF90YXNrVmlld1NlcnZpY2U6IFRhc2tWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBfdGFza0NvbnRlbnRTZXJ2aWNlOiBUYXNrQ29udGVudFNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoX3Rhc2tDb250ZW50U2VydmljZSwgX3NlbGVjdGVkQ2FzZVNlcnZpY2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIHRoZSAnYXNzaWduJyBvcGVyYXRpb24gb24gdGhlIHRhc2sgaGVsZCBieSB7QGxpbmsgVGFza0NvbnRlbnRTZXJ2aWNlfS5cbiAgICAgKlxuICAgICAqIERvZXNuJ3Qgc2VuZCBhbnkgcmVxdWVzdHMgaWYgdGhlIGxvYWRpbmcgaW5kaWNhdG9yIGlzIGluIGl0J3MgYWN0aXZlIHN0YXRlLlxuICAgICAqIE90aGVyd2lzZSBzZXRzIHRoZSBpbmRpY2F0b3IgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBhbmQgZGlzYWJsZXMgaXQgb25jZSB0aGUgcmVxdWVzdCByZXNwb25zZSBpcyByZWNlaXZlZC5cbiAgICAgKlxuICAgICAqIFRoZSBhcmd1bWVudCBjYW4gYmUgdXNlZCB0byBjaGFpbiBvcGVyYXRpb25zIHRvZ2V0aGVyLFxuICAgICAqIG9yIHRvIGV4ZWN1dGUgY29kZSBjb25kaXRpb25hbGx5IGJhc2VkIG9uIHRoZSBzdWNjZXNzIHN0YXRlIG9mIHRoZSBhc3NpZ24gb3BlcmF0aW9uLlxuICAgICAqXG4gICAgICogSWYgdGhlIHRhc2sgaGVsZCB3aXRoaW4gdGhlIHtAbGluayBUYXNrQ29udGVudFNlcnZpY2V9IGNoYW5nZXMgYmVmb3JlIGEgcmVzcG9uc2UgaXMgcmVjZWl2ZWQsIHRoZSByZXNwb25zZSB3aWxsIGJlIGlnbm9yZWRcbiAgICAgKiBhbmQgdGhlIGBhZnRlckFjdGlvbmAgd2lsbCBub3QgYmUgZXhlY3V0ZWQuXG4gICAgICogQHBhcmFtIGFmdGVyQWN0aW9uIGlmIGFzc2lnbiBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IGB0cnVlYCB3aWxsIGJlIGVtaXR0ZWQgaW50byB0aGlzIFN1YmplY3QsIG90aGVyd2lzZSBgZmFsc2VgIHdpbGwgYmUgZW1pdHRlZFxuICAgICAqL1xuICAgIHB1YmxpYyBhc3NpZ24oYWZ0ZXJBY3Rpb246IEFmdGVyQWN0aW9uID0gbmV3IEFmdGVyQWN0aW9uKCkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZXZlbnRRdWV1ZS5zY2hlZHVsZUV2ZW50KG5ldyBRdWV1ZWRFdmVudChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuX3NhZmVUYXNrLnVzZXI7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dEV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBlcmZvcm1Bc3NpZ25SZXF1ZXN0KGFmdGVyQWN0aW9uLCBuZXh0RXZlbnQsIHRoaXMuX3Rhc2tWaWV3U2VydmljZSAhPT0gbnVsbCAmJiAhdGhpcy5fdGFza1ZpZXdTZXJ2aWNlLmFsbG93TXVsdGlPcGVuKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXh0RXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVTdWNjZXNzKGFmdGVyQWN0aW9uLCBuZXh0RXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyBhbiBgYXNzaWduYCByZXF1ZXN0IG9uIHRoZSB0YXNrIGN1cnJlbnRseSBzdG9yZWQgaW4gdGhlIGB0YXNrQ29udGVudGAgc2VydmljZVxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciB0aGUgcmVxdWVzdCBpcyBwcm9jZXNzZWRcbiAgICAgKiBAcGFyYW0gbmV4dEV2ZW50IGluZGljYXRlcyB0byB0aGUgZXZlbnQgcXVldWUgdGhhdCB0aGUgbmV4dCBldmVudCBjYW4gYmUgcHJvY2Vzc2VkXG4gICAgICogQHBhcmFtIGZvcmNlUmVsb2FkIHdoZXRoZXIgYSBmb3JjZSByZWxvYWQgb2YgdGhlIHRhc2sgZGF0YSBzaG91bGQgYmUgcGVyZm9ybWVkIGFmdGVyIGFzc2lnbi5cbiAgICAgKiBJZiBzZXQgdG8gYGZhbHNlYCBhIHJlZ3VsYXIgcmVsb2FkIGlzIHBlcmZvcm1lZCBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwZXJmb3JtQXNzaWduUmVxdWVzdChhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24sIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24sIGZvcmNlUmVsb2FkOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IGFzc2lnbmVkVGFza0lkID0gdGhpcy5fc2FmZVRhc2suc3RyaW5nSWQ7XG5cbiAgICAgICAgLy8gdGhpcyBpcyBwcm9iYWJseSBubyBsb25nZXIgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgdGhlIGV2ZW50IHF1ZXVlXG4gICAgICAgIGlmICh0aGlzLl90YXNrU3RhdGUuaXNMb2FkaW5nKGFzc2lnbmVkVGFza0lkKSkge1xuICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUodHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RhcnRMb2FkaW5nKGFzc2lnbmVkVGFza0lkKTtcbiAgICAgICAgdGhpcy5hc3NpZ25SZXF1ZXN0KGFmdGVyQWN0aW9uLCBhc3NpZ25lZFRhc2tJZCwgbmV4dEV2ZW50LCBmb3JjZVJlbG9hZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbHMgdGhlIGVuZHBvaW50IGFuZCBwcm9jZXNzZXMgdGhlIHBvc3NpYmxlIHJlc3BvbnNlcy5cbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQgYWZ0ZXIgdGhlIHJlcXVlc3QgaXMgcHJvY2Vzc2VkXG4gICAgICogQHBhcmFtIGFzc2lnbmVkVGFza0lkIHRoZSBpZCBvZiB0aGUgdGFzayB0aGF0IGlzIGJlaW5nIGFzc2lnbmVkXG4gICAgICogQHBhcmFtIG5leHRFdmVudCBpbmRpY2F0ZXMgdG8gdGhlIGV2ZW50IHF1ZXVlIHRoYXQgdGhlIG5leHQgZXZlbnQgY2FuIGJlIHByb2Nlc3NlZFxuICAgICAqIEBwYXJhbSBmb3JjZVJlbG9hZCB3aGV0aGVyIGEgZm9yY2UgcmVsb2FkIG9mIHRoZSB0YXNrIGRhdGEgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciBhc3NpZ24uXG4gICAgICogSWYgc2V0IHRvIGBmYWxzZWAgYSByZWd1bGFyIHJlbG9hZCBpcyBwZXJmb3JtZWQgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXNzaWduUmVxdWVzdChhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24gPSBuZXcgQWZ0ZXJBY3Rpb24oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NpZ25lZFRhc2tJZDogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24gPSBuZXcgQWZ0ZXJBY3Rpb24oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZVJlbG9hZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl90YXNrUmVzb3VyY2VTZXJ2aWNlLmFzc2lnblRhc2sodGhpcy5fc2FmZVRhc2suc3RyaW5nSWQpLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG91dGNvbWVSZXNvdXJjZTogRXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFza1N0YXRlLnN0b3BMb2FkaW5nKGFzc2lnbmVkVGFza0lkKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNUYXNrUmVsZXZhbnQoYXNzaWduZWRUYXNrSWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnY3VycmVudCB0YXNrIGNoYW5nZWQgYmVmb3JlIHRoZSBhc3NpZ24gcmVzcG9uc2UgY291bGQgYmUgcmVjZWl2ZWQsIGRpc2NhcmRpbmcuLi4nKTtcbiAgICAgICAgICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG91dGNvbWVSZXNvdXJjZS5zdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Rhc2tDb250ZW50U2VydmljZS51cGRhdGVTdGF0ZURhdGEob3V0Y29tZVJlc291cmNlLm91dGNvbWUgYXMgQXNzaWduVGFza0V2ZW50T3V0Y29tZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYW5nZWRGaWVsZHNNYXA6IENoYW5nZWRGaWVsZHNNYXAgPSB0aGlzLl9ldmVudFNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wYXJzZUNoYW5nZWRGaWVsZHNGcm9tT3V0Y29tZVRyZWUob3V0Y29tZVJlc291cmNlLm91dGNvbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoISFjaGFuZ2VkRmllbGRzTWFwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VkRmllbGRzU2VydmljZS5lbWl0Q2hhbmdlZEZpZWxkcyhjaGFuZ2VkRmllbGRzTWFwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBmb3JjZVJlbG9hZCA/IHRoaXMuX3Rhc2tPcGVyYXRpb25zLmZvcmNlUmVsb2FkKCkgOiB0aGlzLl90YXNrT3BlcmF0aW9ucy5yZWxvYWQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZUFjdGlvbnMoYWZ0ZXJBY3Rpb24sIG5leHRFdmVudCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NuYWNrQmFyLm9wZW5TdWNjZXNzU25hY2tCYXIoISFvdXRjb21lUmVzb3VyY2Uub3V0Y29tZS5tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICA/IG91dGNvbWVSZXNvdXJjZS5vdXRjb21lLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLmFzc2lnblRhc2tTdWNjZXNzJykpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3V0Y29tZVJlc291cmNlLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvdXRjb21lUmVzb3VyY2UuZXJyb3IgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zbmFja0Jhci5vcGVuRXJyb3JTbmFja0JhcihvdXRjb21lUmVzb3VyY2UuZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvdXRjb21lUmVzb3VyY2Uub3V0Y29tZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFuZ2VkRmllbGRzTWFwID0gdGhpcy5fZXZlbnRTZXJ2aWNlLnBhcnNlQ2hhbmdlZEZpZWxkc0Zyb21PdXRjb21lVHJlZShvdXRjb21lUmVzb3VyY2Uub3V0Y29tZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VkRmllbGRzU2VydmljZS5lbWl0Q2hhbmdlZEZpZWxkcyhjaGFuZ2VkRmllbGRzTWFwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlQWN0aW9ucyhhZnRlckFjdGlvbiwgbmV4dEV2ZW50LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Rhc2tTdGF0ZS5zdG9wTG9hZGluZyhhc3NpZ25lZFRhc2tJZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdhc3NpZ25pbmcgdGFzayBmYWlsZWQnLCBlcnJvcik7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNUYXNrUmVsZXZhbnQoYXNzaWduZWRUYXNrSWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnY3VycmVudCB0YXNrIGNoYW5nZWQgYmVmb3JlIHRoZSBhc3NpZ24gZXJyb3IgY291bGQgYmUgcmVjZWl2ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5fc25hY2tCYXIub3BlbkVycm9yU25hY2tCYXIoYCR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLmFzc2lnblRhc2snKX1cbiAgICAgICAgICAgICAke3RoaXMuX3Rhc2tDb250ZW50U2VydmljZS50YXNrfSAke3RoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCd0YXNrcy5zbmFja2Jhci5mYWlsZWQnKX1gKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlQWN0aW9ucyhhZnRlckFjdGlvbiwgbmV4dEV2ZW50LCBmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWxvYWRzIHRoZSB0YXNrIGFuZCBlbWl0cyBgdHJ1ZWAgdG8gdGhlIGBhZnRlckFjdGlvbmAgc3RyZWFtXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNvbXBsZXRlU3VjY2VzcyhhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24sIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFza09wZXJhdGlvbnMucmVsb2FkKCk7XG4gICAgICAgIHRoaXMuY29tcGxldGVBY3Rpb25zKGFmdGVyQWN0aW9uLCBuZXh0RXZlbnQsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNvbXBsZXRlIGFsbCBhY3Rpb24gc3RyZWFtcyBhbmQgc2VuZCBub3RpZmljYXRpb24gd2l0aCBzZWxlY3RlZCBib29sZWFuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNvbXBsZXRlQWN0aW9ucyhhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24sIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24sIGJvb2w6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZW5kTm90aWZpY2F0aW9uKGJvb2wpO1xuICAgICAgICBhZnRlckFjdGlvbi5yZXNvbHZlKGJvb2wpO1xuICAgICAgICBuZXh0RXZlbnQucmVzb2x2ZShib29sKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQdWJsaXNoZXMgYW4gYXNzaWduIG5vdGlmaWNhdGlvbiB0byB0aGUge0BsaW5rIFRhc2tFdmVudFNlcnZpY2V9XG4gICAgICogQHBhcmFtIHN1Y2Nlc3Mgd2hldGhlciB0aGUgYXNzaWduIG9wZXJhdGlvbiB3YXMgc3VjY2Vzc2Z1bCBvciBub3RcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc2VuZE5vdGlmaWNhdGlvbihzdWNjZXNzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Rhc2tFdmVudC5wdWJsaXNoVGFza0V2ZW50KGNyZWF0ZVRhc2tFdmVudE5vdGlmaWNhdGlvbih0aGlzLl9zYWZlVGFzaywgVGFza0V2ZW50LkFTU0lHTiwgc3VjY2VzcykpO1xuICAgIH1cbn1cbiJdfQ==
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLXRhc2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdGFzay9zZXJ2aWNlcy9hc3NpZ24tdGFzay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU8zRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUk5RSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFOUQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR3BDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVNsRTs7R0FFRztBQUVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxtQkFBbUI7SUFFdEQsWUFBc0IsSUFBbUIsRUFDbkIsb0JBQXlDLEVBQ3pDLFNBQTBCLEVBQzFCLFVBQTRCLEVBQzVCLFVBQW1DLEVBQ25DLFVBQTRCLEVBQzVCLGdCQUFpQyxFQUNqQyxXQUE4QixFQUM5QixhQUEyQixFQUMzQixxQkFBMkMsRUFDZCxlQUErQixFQUMxRCxvQkFBeUMsRUFDL0IsZ0JBQWlDLEVBQ3ZELG1CQUF1QztRQUMvQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQWQvQixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FB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LEVBQUUsT0FBMEI7UUFDbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdEgsQ0FBQzs7K0dBckpRLGlCQUFpQix5VkFZTixtQkFBbUI7bUhBWjlCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOzswQkFhTSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtUYXNrQ29udGVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9zZXJ2aWNlcy90YXNrLWNvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tSZXNvdXJjZVNlcnZpY2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvdGFzay1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7U25hY2tCYXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zbmFjay1iYXIvc2VydmljZXMvc25hY2stYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7VGFza1JlcXVlc3RTdGF0ZVNlcnZpY2V9IGZyb20gJy4vdGFzay1yZXF1ZXN0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtUYXNrSGFuZGxpbmdTZXJ2aWNlfSBmcm9tICcuL3Rhc2staGFuZGxpbmctc2VydmljZSc7XG5pbXBvcnQge05BRV9UQVNLX09QRVJBVElPTlN9IGZyb20gJy4uL21vZGVscy90YXNrLW9wZXJhdGlvbnMtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7VGFza09wZXJhdGlvbnN9IGZyb20gJy4uL2ludGVyZmFjZXMvdGFzay1vcGVyYXRpb25zJztcbmltcG9ydCB7U2VsZWN0ZWRDYXNlU2VydmljZX0gZnJvbSAnLi9zZWxlY3RlZC1jYXNlLnNlcnZpY2UnO1xuaW1wb3J0IHtUYXNrRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi90YXNrLWNvbnRlbnQvc2VydmljZXMvdGFzay1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7Y3JlYXRlVGFza0V2ZW50Tm90aWZpY2F0aW9ufSBmcm9tICcuLi8uLi90YXNrLWNvbnRlbnQvbW9kZWwvdGFzay1ldmVudC1ub3RpZmljYXRpb24nO1xuaW1wb3J0IHtUYXNrRXZlbnR9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9tb2RlbC90YXNrLWV2ZW50JztcbmltcG9ydCB7VGFza0RhdGFTZXJ2aWNlfSBmcm9tICcuL3Rhc2stZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUYXNrVmlld1NlcnZpY2V9IGZyb20gJy4uLy4uL3ZpZXcvdGFzay12aWV3L3NlcnZpY2UvdGFzay12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHtFdmVudFF1ZXVlU2VydmljZX0gZnJvbSAnLi4vLi4vZXZlbnQtcXVldWUvc2VydmljZXMvZXZlbnQtcXVldWUuc2VydmljZSc7XG5pbXBvcnQge1F1ZXVlZEV2ZW50fSBmcm9tICcuLi8uLi9ldmVudC1xdWV1ZS9tb2RlbC9xdWV1ZWQtZXZlbnQnO1xuaW1wb3J0IHtBZnRlckFjdGlvbn0gZnJvbSAnLi4vLi4vdXRpbGl0eS9jYWxsLWNoYWluL2FmdGVyLWFjdGlvbic7XG5pbXBvcnQge0Fzc2lnblRhc2tFdmVudE91dGNvbWV9IGZyb20gJy4uLy4uL2V2ZW50L21vZGVsL2V2ZW50LW91dGNvbWVzL3Rhc2stb3V0Y29tZXMvYXNzaWduLXRhc2stZXZlbnQtb3V0Y29tZSc7XG5pbXBvcnQge0V2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9tZXNzYWdlLXJlc291cmNlJztcbmltcG9ydCB7Q2hhbmdlZEZpZWxkc1NlcnZpY2V9IGZyb20gJy4uLy4uL2NoYW5nZWQtZmllbGRzL3NlcnZpY2VzL2NoYW5nZWQtZmllbGRzLnNlcnZpY2UnO1xuaW1wb3J0IHtFdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL2V2ZW50L3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtDaGFuZ2VkRmllbGRzTWFwfSBmcm9tICcuLi8uLi9ldmVudC9zZXJ2aWNlcy9pbnRlcmZhY2VzL2NoYW5nZWQtZmllbGRzLW1hcCc7XG5pbXBvcnQge1Rhc2tFdmVudE91dGNvbWV9IGZyb20gJy4uLy4uL2V2ZW50L21vZGVsL2V2ZW50LW91dGNvbWVzL3Rhc2stb3V0Y29tZXMvdGFzay1ldmVudC1vdXRjb21lJztcblxuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBoYW5kbGVzIHRoZSBsb2dpYyBvZiBhc3NpZ25pbmcgYSB0YXNrLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXNzaWduVGFza1NlcnZpY2UgZXh0ZW5kcyBUYXNrSGFuZGxpbmdTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza1Jlc291cmNlU2VydmljZTogVGFza1Jlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3NuYWNrQmFyOiBTbmFja0JhclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90YXNrU3RhdGU6IFRhc2tSZXF1ZXN0U3RhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza0V2ZW50OiBUYXNrRXZlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza0RhdGFTZXJ2aWNlOiBUYXNrRGF0YVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9ldmVudFF1ZXVlOiBFdmVudFF1ZXVlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2V2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2hhbmdlZEZpZWxkc1NlcnZpY2U6IENoYW5nZWRGaWVsZHNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTkFFX1RBU0tfT1BFUkFUSU9OUykgcHJvdGVjdGVkIF90YXNrT3BlcmF0aW9uczogVGFza09wZXJhdGlvbnMsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgX3NlbGVjdGVkQ2FzZVNlcnZpY2U6IFNlbGVjdGVkQ2FzZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF90YXNrVmlld1NlcnZpY2U6IFRhc2tWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBfdGFza0NvbnRlbnRTZXJ2aWNlOiBUYXNrQ29udGVudFNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoX3Rhc2tDb250ZW50U2VydmljZSwgX3NlbGVjdGVkQ2FzZVNlcnZpY2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIHRoZSAnYXNzaWduJyBvcGVyYXRpb24gb24gdGhlIHRhc2sgaGVsZCBieSB7QGxpbmsgVGFza0NvbnRlbnRTZXJ2aWNlfS5cbiAgICAgKlxuICAgICAqIERvZXNuJ3Qgc2VuZCBhbnkgcmVxdWVzdHMgaWYgdGhlIGxvYWRpbmcgaW5kaWNhdG9yIGlzIGluIGl0J3MgYWN0aXZlIHN0YXRlLlxuICAgICAqIE90aGVyd2lzZSBzZXRzIHRoZSBpbmRpY2F0b3IgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBhbmQgZGlzYWJsZXMgaXQgb25jZSB0aGUgcmVxdWVzdCByZXNwb25zZSBpcyByZWNlaXZlZC5cbiAgICAgKlxuICAgICAqIFRoZSBhcmd1bWVudCBjYW4gYmUgdXNlZCB0byBjaGFpbiBvcGVyYXRpb25zIHRvZ2V0aGVyLFxuICAgICAqIG9yIHRvIGV4ZWN1dGUgY29kZSBjb25kaXRpb25hbGx5IGJhc2VkIG9uIHRoZSBzdWNjZXNzIHN0YXRlIG9mIHRoZSBhc3NpZ24gb3BlcmF0aW9uLlxuICAgICAqXG4gICAgICogSWYgdGhlIHRhc2sgaGVsZCB3aXRoaW4gdGhlIHtAbGluayBUYXNrQ29udGVudFNlcnZpY2V9IGNoYW5nZXMgYmVmb3JlIGEgcmVzcG9uc2UgaXMgcmVjZWl2ZWQsIHRoZSByZXNwb25zZSB3aWxsIGJlIGlnbm9yZWRcbiAgICAgKiBhbmQgdGhlIGBhZnRlckFjdGlvbmAgd2lsbCBub3QgYmUgZXhlY3V0ZWQuXG4gICAgICogQHBhcmFtIGFmdGVyQWN0aW9uIGlmIGFzc2lnbiBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5IGB0cnVlYCB3aWxsIGJlIGVtaXR0ZWQgaW50byB0aGlzIFN1YmplY3QsIG90aGVyd2lzZSBgZmFsc2VgIHdpbGwgYmUgZW1pdHRlZFxuICAgICAqL1xuICAgIHB1YmxpYyBhc3NpZ24oYWZ0ZXJBY3Rpb246IEFmdGVyQWN0aW9uID0gbmV3IEFmdGVyQWN0aW9uKCkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZXZlbnRRdWV1ZS5zY2hlZHVsZUV2ZW50KG5ldyBRdWV1ZWRFdmVudChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuX3NhZmVUYXNrLnVzZXI7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dEV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBlcmZvcm1Bc3NpZ25SZXF1ZXN0KGFmdGVyQWN0aW9uLCBuZXh0RXZlbnQsIHRoaXMuX3Rhc2tWaWV3U2VydmljZSAhPT0gbnVsbCAmJiAhdGhpcy5fdGFza1ZpZXdTZXJ2aWNlLmFsbG93TXVsdGlPcGVuKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXh0RXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVTdWNjZXNzKGFmdGVyQWN0aW9uLCBuZXh0RXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyBhbiBgYXNzaWduYCByZXF1ZXN0IG9uIHRoZSB0YXNrIGN1cnJlbnRseSBzdG9yZWQgaW4gdGhlIGB0YXNrQ29udGVudGAgc2VydmljZVxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciB0aGUgcmVxdWVzdCBpcyBwcm9jZXNzZWRcbiAgICAgKiBAcGFyYW0gbmV4dEV2ZW50IGluZGljYXRlcyB0byB0aGUgZXZlbnQgcXVldWUgdGhhdCB0aGUgbmV4dCBldmVudCBjYW4gYmUgcHJvY2Vzc2VkXG4gICAgICogQHBhcmFtIGZvcmNlUmVsb2FkIHdoZXRoZXIgYSBmb3JjZSByZWxvYWQgb2YgdGhlIHRhc2sgZGF0YSBzaG91bGQgYmUgcGVyZm9ybWVkIGFmdGVyIGFzc2lnbi5cbiAgICAgKiBJZiBzZXQgdG8gYGZhbHNlYCBhIHJlZ3VsYXIgcmVsb2FkIGlzIHBlcmZvcm1lZCBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwZXJmb3JtQXNzaWduUmVxdWVzdChhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24sIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24sIGZvcmNlUmVsb2FkOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IGFzc2lnbmVkVGFza0lkID0gdGhpcy5fc2FmZVRhc2suc3RyaW5nSWQ7XG5cbiAgICAgICAgLy8gdGhpcyBpcyBwcm9iYWJseSBubyBsb25nZXIgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgdGhlIGV2ZW50IHF1ZXVlXG4gICAgICAgIGlmICh0aGlzLl90YXNrU3RhdGUuaXNMb2FkaW5nKGFzc2lnbmVkVGFza0lkKSkge1xuICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUodHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RhcnRMb2FkaW5nKGFzc2lnbmVkVGFza0lkKTtcbiAgICAgICAgdGhpcy5hc3NpZ25SZXF1ZXN0KGFmdGVyQWN0aW9uLCBhc3NpZ25lZFRhc2tJZCwgbmV4dEV2ZW50LCBmb3JjZVJlbG9hZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbHMgdGhlIGVuZHBvaW50IGFuZCBwcm9jZXNzZXMgdGhlIHBvc3NpYmxlIHJlc3BvbnNlcy5cbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQgYWZ0ZXIgdGhlIHJlcXVlc3QgaXMgcHJvY2Vzc2VkXG4gICAgICogQHBhcmFtIGFzc2lnbmVkVGFza0lkIHRoZSBpZCBvZiB0aGUgdGFzayB0aGF0IGlzIGJlaW5nIGFzc2lnbmVkXG4gICAgICogQHBhcmFtIG5leHRFdmVudCBpbmRpY2F0ZXMgdG8gdGhlIGV2ZW50IHF1ZXVlIHRoYXQgdGhlIG5leHQgZXZlbnQgY2FuIGJlIHByb2Nlc3NlZFxuICAgICAqIEBwYXJhbSBmb3JjZVJlbG9hZCB3aGV0aGVyIGEgZm9yY2UgcmVsb2FkIG9mIHRoZSB0YXNrIGRhdGEgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciBhc3NpZ24uXG4gICAgICogSWYgc2V0IHRvIGBmYWxzZWAgYSByZWd1bGFyIHJlbG9hZCBpcyBwZXJmb3JtZWQgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXNzaWduUmVxdWVzdChhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24gPSBuZXcgQWZ0ZXJBY3Rpb24oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NpZ25lZFRhc2tJZDogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24gPSBuZXcgQWZ0ZXJBY3Rpb24oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZVJlbG9hZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl90YXNrUmVzb3VyY2VTZXJ2aWNlLmFzc2lnblRhc2sodGhpcy5fc2FmZVRhc2suc3RyaW5nSWQpLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG91dGNvbWVSZXNvdXJjZTogRXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFza1N0YXRlLnN0b3BMb2FkaW5nKGFzc2lnbmVkVGFza0lkKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNUYXNrUmVsZXZhbnQoYXNzaWduZWRUYXNrSWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnY3VycmVudCB0YXNrIGNoYW5nZWQgYmVmb3JlIHRoZSBhc3NpZ24gcmVzcG9uc2UgY291bGQgYmUgcmVjZWl2ZWQsIGRpc2NhcmRpbmcuLi4nKTtcbiAgICAgICAgICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG91dGNvbWVSZXNvdXJjZS5zdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Rhc2tDb250ZW50U2VydmljZS51cGRhdGVTdGF0ZURhdGEob3V0Y29tZVJlc291cmNlLm91dGNvbWUgYXMgQXNzaWduVGFza0V2ZW50T3V0Y29tZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYW5nZWRGaWVsZHNNYXA6IENoYW5nZWRGaWVsZHNNYXAgPSB0aGlzLl9ldmVudFNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wYXJzZUNoYW5nZWRGaWVsZHNGcm9tT3V0Y29tZVRyZWUob3V0Y29tZVJlc291cmNlLm91dGNvbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoISFjaGFuZ2VkRmllbGRzTWFwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VkRmllbGRzU2VydmljZS5lbWl0Q2hhbmdlZEZpZWxkcyhjaGFuZ2VkRmllbGRzTWFwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBmb3JjZVJlbG9hZCA/IHRoaXMuX3Rhc2tPcGVyYXRpb25zLmZvcmNlUmVsb2FkKCkgOiB0aGlzLl90YXNrT3BlcmF0aW9ucy5yZWxvYWQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZUFjdGlvbnMoYWZ0ZXJBY3Rpb24sIG5leHRFdmVudCwgdHJ1ZSwgb3V0Y29tZVJlc291cmNlLm91dGNvbWUgYXMgQXNzaWduVGFza0V2ZW50T3V0Y29tZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NuYWNrQmFyLm9wZW5TdWNjZXNzU25hY2tCYXIoISFvdXRjb21lUmVzb3VyY2Uub3V0Y29tZS5tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICA/IG91dGNvbWVSZXNvdXJjZS5vdXRjb21lLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLmFzc2lnblRhc2tTdWNjZXNzJykpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3V0Y29tZVJlc291cmNlLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvdXRjb21lUmVzb3VyY2UuZXJyb3IgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zbmFja0Jhci5vcGVuRXJyb3JTbmFja0JhcihvdXRjb21lUmVzb3VyY2UuZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvdXRjb21lUmVzb3VyY2Uub3V0Y29tZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFuZ2VkRmllbGRzTWFwID0gdGhpcy5fZXZlbnRTZXJ2aWNlLnBhcnNlQ2hhbmdlZEZpZWxkc0Zyb21PdXRjb21lVHJlZShvdXRjb21lUmVzb3VyY2Uub3V0Y29tZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VkRmllbGRzU2VydmljZS5lbWl0Q2hhbmdlZEZpZWxkcyhjaGFuZ2VkRmllbGRzTWFwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlQWN0aW9ucyhhZnRlckFjdGlvbiwgbmV4dEV2ZW50LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Rhc2tTdGF0ZS5zdG9wTG9hZGluZyhhc3NpZ25lZFRhc2tJZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdhc3NpZ25pbmcgdGFzayBmYWlsZWQnLCBlcnJvcik7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNUYXNrUmVsZXZhbnQoYXNzaWduZWRUYXNrSWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnY3VycmVudCB0YXNrIGNoYW5nZWQgYmVmb3JlIHRoZSBhc3NpZ24gZXJyb3IgY291bGQgYmUgcmVjZWl2ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5fc25hY2tCYXIub3BlbkVycm9yU25hY2tCYXIoYCR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLmFzc2lnblRhc2snKX1cbiAgICAgICAgICAgICAke3RoaXMuX3Rhc2tDb250ZW50U2VydmljZS50YXNrfSAke3RoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCd0YXNrcy5zbmFja2Jhci5mYWlsZWQnKX1gKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlQWN0aW9ucyhhZnRlckFjdGlvbiwgbmV4dEV2ZW50LCBmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWxvYWRzIHRoZSB0YXNrIGFuZCBlbWl0cyBgdHJ1ZWAgdG8gdGhlIGBhZnRlckFjdGlvbmAgc3RyZWFtXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNvbXBsZXRlU3VjY2VzcyhhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24sIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFza09wZXJhdGlvbnMucmVsb2FkKCk7XG4gICAgICAgIHRoaXMuY29tcGxldGVBY3Rpb25zKGFmdGVyQWN0aW9uLCBuZXh0RXZlbnQsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNvbXBsZXRlIGFsbCBhY3Rpb24gc3RyZWFtcyBhbmQgc2VuZCBub3RpZmljYXRpb24gd2l0aCBzZWxlY3RlZCBib29sZWFuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNvbXBsZXRlQWN0aW9ucyhhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24sIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24sIGJvb2w6IGJvb2xlYW4sIG91dGNvbWU/OiBUYXNrRXZlbnRPdXRjb21lKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VuZE5vdGlmaWNhdGlvbihib29sLCBvdXRjb21lKTtcbiAgICAgICAgYWZ0ZXJBY3Rpb24ucmVzb2x2ZShib29sKTtcbiAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoYm9vbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaGVzIGFuIGFzc2lnbiBub3RpZmljYXRpb24gdG8gdGhlIHtAbGluayBUYXNrRXZlbnRTZXJ2aWNlfVxuICAgICAqIEBwYXJhbSBzdWNjZXNzIHdoZXRoZXIgdGhlIGFzc2lnbiBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwgb3Igbm90XG4gICAgICogQHBhcmFtIG91dGNvbWVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc2VuZE5vdGlmaWNhdGlvbihzdWNjZXNzOiBib29sZWFuLCBvdXRjb21lPzogVGFza0V2ZW50T3V0Y29tZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YXNrRXZlbnQucHVibGlzaFRhc2tFdmVudChjcmVhdGVUYXNrRXZlbnROb3RpZmljYXRpb24odGhpcy5fc2FmZVRhc2ssIFRhc2tFdmVudC5BU1NJR04sIHN1Y2Nlc3MsIG91dGNvbWUpKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -105,7 +105,7 @@ export class CancelTaskService extends TaskHandlingService {
|
|
|
105
105
|
this._changedFieldsService.emitChangedFields(changedFieldsMap);
|
|
106
106
|
}
|
|
107
107
|
forceReload ? this._taskOperations.forceReload() : this._taskOperations.reload();
|
|
108
|
-
this.completeActions(afterAction, nextEvent, true);
|
|
108
|
+
this.completeActions(afterAction, nextEvent, true, outcomeResource.outcome);
|
|
109
109
|
}
|
|
110
110
|
else if (outcomeResource.error !== undefined) {
|
|
111
111
|
if (outcomeResource.error !== '') {
|
|
@@ -133,17 +133,18 @@ export class CancelTaskService extends TaskHandlingService {
|
|
|
133
133
|
/**
|
|
134
134
|
* complete all action streams and send notification with selected boolean
|
|
135
135
|
*/
|
|
136
|
-
completeActions(afterAction, nextEvent, bool) {
|
|
137
|
-
this.sendNotification(bool);
|
|
136
|
+
completeActions(afterAction, nextEvent, bool, outcome) {
|
|
137
|
+
this.sendNotification(bool, outcome);
|
|
138
138
|
afterAction.resolve(bool);
|
|
139
139
|
nextEvent.resolve(bool);
|
|
140
140
|
}
|
|
141
141
|
/**
|
|
142
142
|
* Publishes a cancel notification to the {@link TaskEventService}
|
|
143
143
|
* @param success whether the cancel operation was successful or not
|
|
144
|
+
* @param outcome
|
|
144
145
|
*/
|
|
145
|
-
sendNotification(success) {
|
|
146
|
-
this._taskEvent.publishTaskEvent(createTaskEventNotification(this._safeTask, TaskEvent.CANCEL, success));
|
|
146
|
+
sendNotification(success, outcome) {
|
|
147
|
+
this._taskEvent.publishTaskEvent(createTaskEventNotification(this._safeTask, TaskEvent.CANCEL, success, outcome));
|
|
147
148
|
}
|
|
148
149
|
}
|
|
149
150
|
CancelTaskService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CancelTaskService, deps: [{ token: i1.LoggerService }, { token: i2.TaskEventService }, { token: i3.TaskResourceService }, { token: i4.TranslateService }, { token: i5.SnackBarService }, { token: i6.TaskRequestStateService }, { token: i7.UserComparatorService }, { token: i2.TaskEventService }, { token: i8.TaskDataService }, { token: i9.EventQueueService }, { token: i10.EventService }, { token: i11.ChangedFieldsService }, { token: NAE_TASK_OPERATIONS }, { token: i12.SelectedCaseService, optional: true }, { token: i13.TaskViewService, optional: true }, { token: i14.TaskContentService }, { token: i15.PermissionService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -158,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
158
159
|
}] }, { type: i13.TaskViewService, decorators: [{
|
|
159
160
|
type: Optional
|
|
160
161
|
}] }, { type: i14.TaskContentService }, { type: i15.PermissionService }]; } });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLXRhc2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdGFzay9zZXJ2aWNlcy9jYW5jZWwtdGFzay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVEzRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUk5RSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFOUQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBS3BDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTWxFOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG1CQUFtQjtJQUV0RCxZQUFzQixJQUFtQixFQUNuQixpQkFBbUMsRUFDbkMsb0JBQXlDLEVBQ3pDLFVBQTRCLEVBQzVCLFNBQTBCLEVBQzFCLFVBQW1DLEVBQ25DLGVBQXNDLEVBQ3RDLFVBQTRCLEVBQzVCLGdCQUFpQyxFQUNqQyxXQUE4QixFQUM5QixhQUEyQixFQUMzQixxQkFBMkMsRUFDZCxlQUErQixFQUMxRCxvQkFBeUMsRUFDL0IsZ0JBQWlDLEVBQ3ZELG1CQUF1QyxFQUM3QixpQkFBb0M7UUFDdEQsS0FBSyxDQUFDLG1CQUFtQixFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFqQi9CLFNBQUksR0FB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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tDb250ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L3NlcnZpY2VzL3Rhc2stY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7VGFza0V2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L3NlcnZpY2VzL3Rhc2stZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tSZXNvdXJjZVNlcnZpY2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvdGFzay1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1NuYWNrQmFyU2VydmljZX0gZnJvbSAnLi4vLi4vc25hY2stYmFyL3NlcnZpY2VzL3NuYWNrLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7VGFza1JlcXVlc3RTdGF0ZVNlcnZpY2V9IGZyb20gJy4vdGFzay1yZXF1ZXN0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtUYXNrSGFuZGxpbmdTZXJ2aWNlfSBmcm9tICcuL3Rhc2staGFuZGxpbmctc2VydmljZSc7XG5pbXBvcnQge05BRV9UQVNLX09QRVJBVElPTlN9IGZyb20gJy4uL21vZGVscy90YXNrLW9wZXJhdGlvbnMtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7VGFza09wZXJhdGlvbnN9IGZyb20gJy4uL2ludGVyZmFjZXMvdGFzay1vcGVyYXRpb25zJztcbmltcG9ydCB7VXNlckNvbXBhcmF0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi91c2VyL3NlcnZpY2VzL3VzZXItY29tcGFyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7U2VsZWN0ZWRDYXNlU2VydmljZX0gZnJvbSAnLi9zZWxlY3RlZC1jYXNlLnNlcnZpY2UnO1xuaW1wb3J0IHtjcmVhdGVUYXNrRXZlbnROb3RpZmljYXRpb259IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9tb2RlbC90YXNrLWV2ZW50LW5vdGlmaWNhdGlvbic7XG5pbXBvcnQge1Rhc2tFdmVudH0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L21vZGVsL3Rhc2stZXZlbnQnO1xuaW1wb3J0IHtUYXNrRGF0YVNlcnZpY2V9IGZyb20gJy4vdGFzay1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1Rhc2tWaWV3U2VydmljZX0gZnJvbSAnLi4vLi4vdmlldy90YXNrLXZpZXcvc2VydmljZS90YXNrLXZpZXcuc2VydmljZSc7XG5pbXBvcnQge0NhbmNlbFRhc2tFdmVudE91dGNvbWV9IGZyb20gJy4uLy4uL2V2ZW50L21vZGVsL2V2ZW50LW91dGNvbWVzL3Rhc2stb3V0Y29tZXMvY2FuY2VsLXRhc2stZXZlbnQtb3V0Y29tZSc7XG5pbXBvcnQge0V2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9tZXNzYWdlLXJlc291cmNlJztcbmltcG9ydCB7RXZlbnRRdWV1ZVNlcnZpY2V9IGZyb20gJy4uLy4uL2V2ZW50LXF1ZXVlL3NlcnZpY2VzL2V2ZW50LXF1ZXVlLnNlcnZpY2UnO1xuaW1wb3J0IHtRdWV1ZWRFdmVudH0gZnJvbSAnLi4vLi4vZXZlbnQtcXVldWUvbW9kZWwvcXVldWVkLWV2ZW50JztcbmltcG9ydCB7QWZ0ZXJBY3Rpb259IGZyb20gJy4uLy4uL3V0aWxpdHkvY2FsbC1jaGFpbi9hZnRlci1hY3Rpb24nO1xuaW1wb3J0IHtQZXJtaXNzaW9uU2VydmljZX0gZnJvbSAnLi4vLi4vYXV0aG9yaXphdGlvbi9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZSc7XG5pbXBvcnQge0NoYW5nZWRGaWVsZHNTZXJ2aWNlfSBmcm9tICcuLi8uLi9jaGFuZ2VkLWZpZWxkcy9zZXJ2aWNlcy9jaGFuZ2VkLWZpZWxkcy5zZXJ2aWNlJztcbmltcG9ydCB7IEV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vZXZlbnQvc2VydmljZXMvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0NoYW5nZWRGaWVsZHNNYXB9IGZyb20gJy4uLy4uL2V2ZW50L3NlcnZpY2VzL2ludGVyZmFjZXMvY2hhbmdlZC1maWVsZHMtbWFwJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgaGFuZGxlcyB0aGUgbG9naWMgb2YgY2FuY2VsaW5nIGEgdGFzay5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbmNlbFRhc2tTZXJ2aWNlIGV4dGVuZHMgVGFza0hhbmRsaW5nU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tFdmVudFNlcnZpY2U6IFRhc2tFdmVudFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90YXNrUmVzb3VyY2VTZXJ2aWNlOiBUYXNrUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tTdGF0ZTogVGFza1JlcXVlc3RTdGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF91c2VyQ29tcGFyYXRvcjogVXNlckNvbXBhcmF0b3JTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza0V2ZW50OiBUYXNrRXZlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza0RhdGFTZXJ2aWNlOiBUYXNrRGF0YVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9ldmVudFF1ZXVlOiBFdmVudFF1ZXVlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2V2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2hhbmdlZEZpZWxkc1NlcnZpY2U6IENoYW5nZWRGaWVsZHNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTkFFX1RBU0tfT1BFUkFUSU9OUykgcHJvdGVjdGVkIF90YXNrT3BlcmF0aW9uczogVGFza09wZXJhdGlvbnMsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgX3NlbGVjdGVkQ2FzZVNlcnZpY2U6IFNlbGVjdGVkQ2FzZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF90YXNrVmlld1NlcnZpY2U6IFRhc2tWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBfdGFza0NvbnRlbnRTZXJ2aWNlOiBUYXNrQ29udGVudFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIHBlcm1pc3Npb25TZXJ2aWNlOiBQZXJtaXNzaW9uU2VydmljZSkge1xuICAgICAgICBzdXBlcihfdGFza0NvbnRlbnRTZXJ2aWNlLCBfc2VsZWN0ZWRDYXNlU2VydmljZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgdGhlICdjYW5jZWwnIG9wZXJhdGlvbiBvbiB0aGUgdGFzayBoZWxkIGJ5IHtAbGluayBUYXNrQ29udGVudFNlcnZpY2V9LlxuICAgICAqXG4gICAgICogRG9lc24ndCBzZW5kIGFueSByZXF1ZXN0cyBpZiB0aGUgbG9hZGluZyBpbmRpY2F0b3IgaXMgaW4gaXQncyBhY3RpdmUgc3RhdGUuXG4gICAgICogT3RoZXJ3aXNlIHNldHMgdGhlIGluZGljYXRvciB0byB0aGUgYWN0aXZlIHN0YXRlIGFuZCBkaXNhYmxlcyBpdCBvbmNlIHRoZSByZXF1ZXN0IHJlc3BvbnNlIGlzIHJlY2VpdmVkLlxuICAgICAqXG4gICAgICogVGhlIGFyZ3VtZW50IGNhbiBiZSB1c2VkIHRvIGNoYWluIG9wZXJhdGlvbnMgdG9nZXRoZXIsXG4gICAgICogb3IgdG8gZXhlY3V0ZSBjb2RlIGNvbmRpdGlvbmFsbHkgYmFzZWQgb24gdGhlIHN1Y2Nlc3Mgc3RhdGUgb2YgdGhlIGNhbmNlbCBvcGVyYXRpb24uXG4gICAgICpcbiAgICAgKiBJZiB0aGUgdGFzayBoZWxkIHdpdGhpbiB0aGUge0BsaW5rIFRhc2tDb250ZW50U2VydmljZX0gY2hhbmdlcyBiZWZvcmUgYSByZXNwb25zZSBpcyByZWNlaXZlZCwgdGhlIHJlc3BvbnNlIHdpbGwgYmUgaWdub3JlZFxuICAgICAqIGFuZCB0aGUgYGFmdGVyQWN0aW9uYCB3aWxsIG5vdCBiZSBleGVjdXRlZC5cbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gaWYgY2FuY2VsIGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkgYHRydWVgIHdpbGwgYmUgZW1pdHRlZCBpbnRvIHRoaXMgU3ViamVjdCwgb3RoZXJ3aXNlIGBmYWxzZWAgd2lsbCBiZSBlbWl0dGVkXG4gICAgICovXG4gICAgcHVibGljIGNhbmNlbChhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24gPSBuZXcgQWZ0ZXJBY3Rpb24oKSkge1xuICAgICAgICB0aGlzLl9ldmVudFF1ZXVlLnNjaGVkdWxlRXZlbnQobmV3IFF1ZXVlZEV2ZW50KFxuICAgICAgICAgICAgKCkgPT4gdGhpcy5wZXJtaXNzaW9uU2VydmljZS5jYW5DYW5jZWwodGhpcy5fc2FmZVRhc2spLFxuICAgICAgICAgICAgbmV4dEV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBlcmZvcm1DYW5jZWxSZXF1ZXN0KGFmdGVyQWN0aW9uLCBuZXh0RXZlbnQsIHRoaXMuX3Rhc2tWaWV3U2VydmljZSAhPT0gbnVsbCAmJiAhdGhpcy5fdGFza1ZpZXdTZXJ2aWNlLmFsbG93TXVsdGlPcGVuKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXh0RXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVBY3Rpb25zKGFmdGVyQWN0aW9uLCBuZXh0RXZlbnQsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgYSBgY2FuY2VsYCByZXF1ZXN0IG9uIHRoZSB0YXNrIGN1cnJlbnRseSBzdG9yZWQgaW4gdGhlIGB0YXNrQ29udGVudGAgc2VydmljZVxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciB0aGUgcmVxdWVzdCBpcyBwcm9jZXNzZWRcbiAgICAgKiBAcGFyYW0gbmV4dEV2ZW50IGluZGljYXRlcyB0byB0aGUgZXZlbnQgcXVldWUgdGhhdCB0aGUgbmV4dCBldmVudCBjYW4gYmUgcHJvY2Vzc2VkXG4gICAgICogQHBhcmFtIGZvcmNlUmVsb2FkIHdoZXRoZXIgYSBmb3JjZSByZWxvYWQgb2YgdGhlIHRhc2sgZGF0YSBzaG91bGQgYmUgcGVyZm9ybWVkIGFmdGVyIGNhbmNlbC5cbiAgICAgKiBJZiBzZXQgdG8gYGZhbHNlYCBhIHJlZ3VsYXIgcmVsb2FkIGlzIHBlcmZvcm1lZCBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwZXJmb3JtQ2FuY2VsUmVxdWVzdChhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24sIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24sIGZvcmNlUmVsb2FkOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IGNhbmNlbGVkVGFza0lkID0gdGhpcy5fc2FmZVRhc2suc3RyaW5nSWQ7XG5cbiAgICAgICAgLy8gdGhpcyBpcyBwcm9iYWJseSBubyBsb25nZXIgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgdGhlIGV2ZW50IHF1ZXVlXG4gICAgICAgIGlmICh0aGlzLl90YXNrU3RhdGUuaXNMb2FkaW5nKGNhbmNlbGVkVGFza0lkKSkge1xuICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUodHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RhcnRMb2FkaW5nKGNhbmNlbGVkVGFza0lkKTtcbiAgICAgICAgdGhpcy5jYW5jZWxSZXF1ZXN0KGFmdGVyQWN0aW9uLCBjYW5jZWxlZFRhc2tJZCwgbmV4dEV2ZW50LCBmb3JjZVJlbG9hZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbHMgdGhlIGVuZHBvaW50IGFuZCBwcm9jZXNzZXMgdGhlIHBvc3NpYmxlIHJlc3BvbnNlcy5cbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQgYWZ0ZXIgdGhlIHJlcXVlc3QgaXMgcHJvY2Vzc2VkXG4gICAgICogQHBhcmFtIGNhbmNlbGVkVGFza0lkIHRoZSBpZCBvZiB0aGUgdGFzayB0aGF0IGlzIGJlaW5nIGNhbmNlbGVkXG4gICAgICogQHBhcmFtIG5leHRFdmVudCBpbmRpY2F0ZXMgdG8gdGhlIGV2ZW50IHF1ZXVlIHRoYXQgdGhlIG5leHQgZXZlbnQgY2FuIGJlIHByb2Nlc3NlZFxuICAgICAqIEBwYXJhbSBmb3JjZVJlbG9hZCB3aGV0aGVyIGEgZm9yY2UgcmVsb2FkIG9mIHRoZSB0YXNrIGRhdGEgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciBjYW5jZWwuXG4gICAgICogSWYgc2V0IHRvIGBmYWxzZWAgYSByZWd1bGFyIHJlbG9hZCBpcyBwZXJmb3JtZWQgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY2FuY2VsUmVxdWVzdChhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24gPSBuZXcgQWZ0ZXJBY3Rpb24oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxlZFRhc2tJZDogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24gPSBuZXcgQWZ0ZXJBY3Rpb24oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZVJlbG9hZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl90YXNrUmVzb3VyY2VTZXJ2aWNlLmNhbmNlbFRhc2sodGhpcy5fc2FmZVRhc2suc3RyaW5nSWQpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKG91dGNvbWVSZXNvdXJjZTogRXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RvcExvYWRpbmcoY2FuY2VsZWRUYXNrSWQpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzVGFza1JlbGV2YW50KGNhbmNlbGVkVGFza0lkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnY3VycmVudCB0YXNrIGNoYW5nZWQgYmVmb3JlIHRoZSBjYW5jZWwgcmVzcG9uc2UgY291bGQgYmUgcmVjZWl2ZWQsIGRpc2NhcmRpbmcuLi4nKTtcbiAgICAgICAgICAgICAgICBuZXh0RXZlbnQucmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3V0Y29tZVJlc291cmNlLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90YXNrQ29udGVudFNlcnZpY2UudXBkYXRlU3RhdGVEYXRhKG91dGNvbWVSZXNvdXJjZS5vdXRjb21lIGFzIENhbmNlbFRhc2tFdmVudE91dGNvbWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoYW5nZWRGaWVsZHNNYXA6IENoYW5nZWRGaWVsZHNNYXAgPSB0aGlzLl9ldmVudFNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLnBhcnNlQ2hhbmdlZEZpZWxkc0Zyb21PdXRjb21lVHJlZShvdXRjb21lUmVzb3VyY2Uub3V0Y29tZSk7XG4gICAgICAgICAgICAgICAgaWYgKCEhY2hhbmdlZEZpZWxkc01hcCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VkRmllbGRzU2VydmljZS5lbWl0Q2hhbmdlZEZpZWxkcyhjaGFuZ2VkRmllbGRzTWFwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9yY2VSZWxvYWQgPyB0aGlzLl90YXNrT3BlcmF0aW9ucy5mb3JjZVJlbG9hZCgpIDogdGhpcy5fdGFza09wZXJhdGlvbnMucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZUFjdGlvbnMoYWZ0ZXJBY3Rpb24sIG5leHRFdmVudCwgdHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG91dGNvbWVSZXNvdXJjZS5lcnJvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKG91dGNvbWVSZXNvdXJjZS5lcnJvciAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc25hY2tCYXIub3BlbkVycm9yU25hY2tCYXIob3V0Y29tZVJlc291cmNlLmVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG91dGNvbWVSZXNvdXJjZS5vdXRjb21lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhbmdlZEZpZWxkc01hcCA9IHRoaXMuX2V2ZW50U2VydmljZS5wYXJzZUNoYW5nZWRGaWVsZHNGcm9tT3V0Y29tZVRyZWUob3V0Y29tZVJlc291cmNlLm91dGNvbWUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VkRmllbGRzU2VydmljZS5lbWl0Q2hhbmdlZEZpZWxkcyhjaGFuZ2VkRmllbGRzTWFwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZUFjdGlvbnMoYWZ0ZXJBY3Rpb24sIG5leHRFdmVudCwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RvcExvYWRpbmcoY2FuY2VsZWRUYXNrSWQpO1xuICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdjYW5jZWxpbmcgdGFzayBmYWlsZWQnLCBlcnJvcik7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pc1Rhc2tSZWxldmFudChjYW5jZWxlZFRhc2tJZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuZGVidWcoJ2N1cnJlbnQgdGFzayBjaGFuZ2VkIGJlZm9yZSB0aGUgY2FuY2VsIGVycm9yIGNvdWxkIGJlIHJlY2VpdmVkJyk7XG4gICAgICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fc25hY2tCYXIub3BlbkVycm9yU25hY2tCYXIoYCR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLmNhbmNlbFRhc2snKX1cbiAgICAgICAgICAgICAke3RoaXMuX3Rhc2t9ICR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLmZhaWxlZCcpfWApO1xuICAgICAgICAgICAgdGhpcy5jb21wbGV0ZUFjdGlvbnMoYWZ0ZXJBY3Rpb24sIG5leHRFdmVudCwgZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb21wbGV0ZSBhbGwgYWN0aW9uIHN0cmVhbXMgYW5kIHNlbmQgbm90aWZpY2F0aW9uIHdpdGggc2VsZWN0ZWQgYm9vbGVhblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjb21wbGV0ZUFjdGlvbnMoYWZ0ZXJBY3Rpb246IEFmdGVyQWN0aW9uLCBuZXh0RXZlbnQ6IEFmdGVyQWN0aW9uLCBib29sOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VuZE5vdGlmaWNhdGlvbihib29sKTtcbiAgICAgICAgYWZ0ZXJBY3Rpb24ucmVzb2x2ZShib29sKTtcbiAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoYm9vbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaGVzIGEgY2FuY2VsIG5vdGlmaWNhdGlvbiB0byB0aGUge0BsaW5rIFRhc2tFdmVudFNlcnZpY2V9XG4gICAgICogQHBhcmFtIHN1Y2Nlc3Mgd2hldGhlciB0aGUgY2FuY2VsIG9wZXJhdGlvbiB3YXMgc3VjY2Vzc2Z1bCBvciBub3RcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc2VuZE5vdGlmaWNhdGlvbihzdWNjZXNzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Rhc2tFdmVudC5wdWJsaXNoVGFza0V2ZW50KGNyZWF0ZVRhc2tFdmVudE5vdGlmaWNhdGlvbih0aGlzLl9zYWZlVGFzaywgVGFza0V2ZW50LkNBTkNFTCwgc3VjY2VzcykpO1xuICAgIH1cbn1cbiJdfQ==
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLXRhc2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdGFzay9zZXJ2aWNlcy9jYW5jZWwtdGFzay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVEzRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUk5RSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFOUQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBS3BDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT2xFOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG1CQUFtQjtJQUV0RCxZQUFzQixJQUFtQixFQUNuQixpQkFBbUMsRUFDbkMsb0JBQXlDLEVBQ3pDLFVBQTRCLEVBQzVCLFNBQTBCLEVBQzFCLFVBQW1DLEVBQ25DLGVBQXNDLEVBQ3RDLFVBQTRCLEVBQzVCLGdCQUFpQyxFQUNqQyxXQUE4QixFQUM5QixhQUEyQixFQUMzQixxQkFBMkMsRUFDZCxlQUErQixFQUMxRCxvQkFBeUMsRUFDL0IsZ0JBQWlDLEVBQ3ZELG1CQUF1QyxFQUM3QixpQkFBb0M7UUFDdEQsS0FBSyxDQUFDLG1CQUFtQixFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFqQi9CLFNBQUksR0FB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O2tCQUQ3QixVQUFVOzswQkFlTSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtUYXNrQ29udGVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9zZXJ2aWNlcy90YXNrLWNvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tFdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9zZXJ2aWNlcy90YXNrLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtUYXNrUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L3Rhc2stcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtTbmFja0JhclNlcnZpY2V9IGZyb20gJy4uLy4uL3NuYWNrLWJhci9zZXJ2aWNlcy9zbmFjay1iYXIuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tSZXF1ZXN0U3RhdGVTZXJ2aWNlfSBmcm9tICcuL3Rhc2stcmVxdWVzdC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7VGFza0hhbmRsaW5nU2VydmljZX0gZnJvbSAnLi90YXNrLWhhbmRsaW5nLXNlcnZpY2UnO1xuaW1wb3J0IHtOQUVfVEFTS19PUEVSQVRJT05TfSBmcm9tICcuLi9tb2RlbHMvdGFzay1vcGVyYXRpb25zLWluamVjdGlvbi10b2tlbic7XG5pbXBvcnQge1Rhc2tPcGVyYXRpb25zfSBmcm9tICcuLi9pbnRlcmZhY2VzL3Rhc2stb3BlcmF0aW9ucyc7XG5pbXBvcnQge1VzZXJDb21wYXJhdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vdXNlci9zZXJ2aWNlcy91c2VyLWNvbXBhcmF0b3Iuc2VydmljZSc7XG5pbXBvcnQge1NlbGVjdGVkQ2FzZVNlcnZpY2V9IGZyb20gJy4vc2VsZWN0ZWQtY2FzZS5zZXJ2aWNlJztcbmltcG9ydCB7Y3JlYXRlVGFza0V2ZW50Tm90aWZpY2F0aW9ufSBmcm9tICcuLi8uLi90YXNrLWNvbnRlbnQvbW9kZWwvdGFzay1ldmVudC1ub3RpZmljYXRpb24nO1xuaW1wb3J0IHtUYXNrRXZlbnR9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9tb2RlbC90YXNrLWV2ZW50JztcbmltcG9ydCB7VGFza0RhdGFTZXJ2aWNlfSBmcm9tICcuL3Rhc2stZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUYXNrVmlld1NlcnZpY2V9IGZyb20gJy4uLy4uL3ZpZXcvdGFzay12aWV3L3NlcnZpY2UvdGFzay12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHtDYW5jZWxUYXNrRXZlbnRPdXRjb21lfSBmcm9tICcuLi8uLi9ldmVudC9tb2RlbC9ldmVudC1vdXRjb21lcy90YXNrLW91dGNvbWVzL2NhbmNlbC10YXNrLWV2ZW50LW91dGNvbWUnO1xuaW1wb3J0IHtFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvbWVzc2FnZS1yZXNvdXJjZSc7XG5pbXBvcnQge0V2ZW50UXVldWVTZXJ2aWNlfSBmcm9tICcuLi8uLi9ldmVudC1xdWV1ZS9zZXJ2aWNlcy9ldmVudC1xdWV1ZS5zZXJ2aWNlJztcbmltcG9ydCB7UXVldWVkRXZlbnR9IGZyb20gJy4uLy4uL2V2ZW50LXF1ZXVlL21vZGVsL3F1ZXVlZC1ldmVudCc7XG5pbXBvcnQge0FmdGVyQWN0aW9ufSBmcm9tICcuLi8uLi91dGlsaXR5L2NhbGwtY2hhaW4vYWZ0ZXItYWN0aW9uJztcbmltcG9ydCB7UGVybWlzc2lvblNlcnZpY2V9IGZyb20gJy4uLy4uL2F1dGhvcml6YXRpb24vcGVybWlzc2lvbi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtDaGFuZ2VkRmllbGRzU2VydmljZX0gZnJvbSAnLi4vLi4vY2hhbmdlZC1maWVsZHMvc2VydmljZXMvY2hhbmdlZC1maWVsZHMuc2VydmljZSc7XG5pbXBvcnQgeyBFdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL2V2ZW50L3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtDaGFuZ2VkRmllbGRzTWFwfSBmcm9tICcuLi8uLi9ldmVudC9zZXJ2aWNlcy9pbnRlcmZhY2VzL2NoYW5nZWQtZmllbGRzLW1hcCc7XG5pbXBvcnQge1Rhc2tFdmVudE91dGNvbWV9IGZyb20gJy4uLy4uL2V2ZW50L21vZGVsL2V2ZW50LW91dGNvbWVzL3Rhc2stb3V0Y29tZXMvdGFzay1ldmVudC1vdXRjb21lJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgaGFuZGxlcyB0aGUgbG9naWMgb2YgY2FuY2VsaW5nIGEgdGFzay5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbmNlbFRhc2tTZXJ2aWNlIGV4dGVuZHMgVGFza0hhbmRsaW5nU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tFdmVudFNlcnZpY2U6IFRhc2tFdmVudFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90YXNrUmVzb3VyY2VTZXJ2aWNlOiBUYXNrUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tTdGF0ZTogVGFza1JlcXVlc3RTdGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF91c2VyQ29tcGFyYXRvcjogVXNlckNvbXBhcmF0b3JTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza0V2ZW50OiBUYXNrRXZlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza0RhdGFTZXJ2aWNlOiBUYXNrRGF0YVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9ldmVudFF1ZXVlOiBFdmVudFF1ZXVlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2V2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2hhbmdlZEZpZWxkc1NlcnZpY2U6IENoYW5nZWRGaWVsZHNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTkFFX1RBU0tfT1BFUkFUSU9OUykgcHJvdGVjdGVkIF90YXNrT3BlcmF0aW9uczogVGFza09wZXJhdGlvbnMsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgX3NlbGVjdGVkQ2FzZVNlcnZpY2U6IFNlbGVjdGVkQ2FzZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF90YXNrVmlld1NlcnZpY2U6IFRhc2tWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBfdGFza0NvbnRlbnRTZXJ2aWNlOiBUYXNrQ29udGVudFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIHBlcm1pc3Npb25TZXJ2aWNlOiBQZXJtaXNzaW9uU2VydmljZSkge1xuICAgICAgICBzdXBlcihfdGFza0NvbnRlbnRTZXJ2aWNlLCBfc2VsZWN0ZWRDYXNlU2VydmljZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgdGhlICdjYW5jZWwnIG9wZXJhdGlvbiBvbiB0aGUgdGFzayBoZWxkIGJ5IHtAbGluayBUYXNrQ29udGVudFNlcnZpY2V9LlxuICAgICAqXG4gICAgICogRG9lc24ndCBzZW5kIGFueSByZXF1ZXN0cyBpZiB0aGUgbG9hZGluZyBpbmRpY2F0b3IgaXMgaW4gaXQncyBhY3RpdmUgc3RhdGUuXG4gICAgICogT3RoZXJ3aXNlIHNldHMgdGhlIGluZGljYXRvciB0byB0aGUgYWN0aXZlIHN0YXRlIGFuZCBkaXNhYmxlcyBpdCBvbmNlIHRoZSByZXF1ZXN0IHJlc3BvbnNlIGlzIHJlY2VpdmVkLlxuICAgICAqXG4gICAgICogVGhlIGFyZ3VtZW50IGNhbiBiZSB1c2VkIHRvIGNoYWluIG9wZXJhdGlvbnMgdG9nZXRoZXIsXG4gICAgICogb3IgdG8gZXhlY3V0ZSBjb2RlIGNvbmRpdGlvbmFsbHkgYmFzZWQgb24gdGhlIHN1Y2Nlc3Mgc3RhdGUgb2YgdGhlIGNhbmNlbCBvcGVyYXRpb24uXG4gICAgICpcbiAgICAgKiBJZiB0aGUgdGFzayBoZWxkIHdpdGhpbiB0aGUge0BsaW5rIFRhc2tDb250ZW50U2VydmljZX0gY2hhbmdlcyBiZWZvcmUgYSByZXNwb25zZSBpcyByZWNlaXZlZCwgdGhlIHJlc3BvbnNlIHdpbGwgYmUgaWdub3JlZFxuICAgICAqIGFuZCB0aGUgYGFmdGVyQWN0aW9uYCB3aWxsIG5vdCBiZSBleGVjdXRlZC5cbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gaWYgY2FuY2VsIGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkgYHRydWVgIHdpbGwgYmUgZW1pdHRlZCBpbnRvIHRoaXMgU3ViamVjdCwgb3RoZXJ3aXNlIGBmYWxzZWAgd2lsbCBiZSBlbWl0dGVkXG4gICAgICovXG4gICAgcHVibGljIGNhbmNlbChhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24gPSBuZXcgQWZ0ZXJBY3Rpb24oKSkge1xuICAgICAgICB0aGlzLl9ldmVudFF1ZXVlLnNjaGVkdWxlRXZlbnQobmV3IFF1ZXVlZEV2ZW50KFxuICAgICAgICAgICAgKCkgPT4gdGhpcy5wZXJtaXNzaW9uU2VydmljZS5jYW5DYW5jZWwodGhpcy5fc2FmZVRhc2spLFxuICAgICAgICAgICAgbmV4dEV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBlcmZvcm1DYW5jZWxSZXF1ZXN0KGFmdGVyQWN0aW9uLCBuZXh0RXZlbnQsIHRoaXMuX3Rhc2tWaWV3U2VydmljZSAhPT0gbnVsbCAmJiAhdGhpcy5fdGFza1ZpZXdTZXJ2aWNlLmFsbG93TXVsdGlPcGVuKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXh0RXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVBY3Rpb25zKGFmdGVyQWN0aW9uLCBuZXh0RXZlbnQsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgYSBgY2FuY2VsYCByZXF1ZXN0IG9uIHRoZSB0YXNrIGN1cnJlbnRseSBzdG9yZWQgaW4gdGhlIGB0YXNrQ29udGVudGAgc2VydmljZVxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciB0aGUgcmVxdWVzdCBpcyBwcm9jZXNzZWRcbiAgICAgKiBAcGFyYW0gbmV4dEV2ZW50IGluZGljYXRlcyB0byB0aGUgZXZlbnQgcXVldWUgdGhhdCB0aGUgbmV4dCBldmVudCBjYW4gYmUgcHJvY2Vzc2VkXG4gICAgICogQHBhcmFtIGZvcmNlUmVsb2FkIHdoZXRoZXIgYSBmb3JjZSByZWxvYWQgb2YgdGhlIHRhc2sgZGF0YSBzaG91bGQgYmUgcGVyZm9ybWVkIGFmdGVyIGNhbmNlbC5cbiAgICAgKiBJZiBzZXQgdG8gYGZhbHNlYCBhIHJlZ3VsYXIgcmVsb2FkIGlzIHBlcmZvcm1lZCBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwZXJmb3JtQ2FuY2VsUmVxdWVzdChhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24sIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24sIGZvcmNlUmVsb2FkOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IGNhbmNlbGVkVGFza0lkID0gdGhpcy5fc2FmZVRhc2suc3RyaW5nSWQ7XG5cbiAgICAgICAgLy8gdGhpcyBpcyBwcm9iYWJseSBubyBsb25nZXIgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgdGhlIGV2ZW50IHF1ZXVlXG4gICAgICAgIGlmICh0aGlzLl90YXNrU3RhdGUuaXNMb2FkaW5nKGNhbmNlbGVkVGFza0lkKSkge1xuICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUodHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RhcnRMb2FkaW5nKGNhbmNlbGVkVGFza0lkKTtcbiAgICAgICAgdGhpcy5jYW5jZWxSZXF1ZXN0KGFmdGVyQWN0aW9uLCBjYW5jZWxlZFRhc2tJZCwgbmV4dEV2ZW50LCBmb3JjZVJlbG9hZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbHMgdGhlIGVuZHBvaW50IGFuZCBwcm9jZXNzZXMgdGhlIHBvc3NpYmxlIHJlc3BvbnNlcy5cbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQgYWZ0ZXIgdGhlIHJlcXVlc3QgaXMgcHJvY2Vzc2VkXG4gICAgICogQHBhcmFtIGNhbmNlbGVkVGFza0lkIHRoZSBpZCBvZiB0aGUgdGFzayB0aGF0IGlzIGJlaW5nIGNhbmNlbGVkXG4gICAgICogQHBhcmFtIG5leHRFdmVudCBpbmRpY2F0ZXMgdG8gdGhlIGV2ZW50IHF1ZXVlIHRoYXQgdGhlIG5leHQgZXZlbnQgY2FuIGJlIHByb2Nlc3NlZFxuICAgICAqIEBwYXJhbSBmb3JjZVJlbG9hZCB3aGV0aGVyIGEgZm9yY2UgcmVsb2FkIG9mIHRoZSB0YXNrIGRhdGEgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciBjYW5jZWwuXG4gICAgICogSWYgc2V0IHRvIGBmYWxzZWAgYSByZWd1bGFyIHJlbG9hZCBpcyBwZXJmb3JtZWQgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY2FuY2VsUmVxdWVzdChhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24gPSBuZXcgQWZ0ZXJBY3Rpb24oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxlZFRhc2tJZDogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24gPSBuZXcgQWZ0ZXJBY3Rpb24oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZVJlbG9hZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl90YXNrUmVzb3VyY2VTZXJ2aWNlLmNhbmNlbFRhc2sodGhpcy5fc2FmZVRhc2suc3RyaW5nSWQpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKG91dGNvbWVSZXNvdXJjZTogRXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RvcExvYWRpbmcoY2FuY2VsZWRUYXNrSWQpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzVGFza1JlbGV2YW50KGNhbmNlbGVkVGFza0lkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnY3VycmVudCB0YXNrIGNoYW5nZWQgYmVmb3JlIHRoZSBjYW5jZWwgcmVzcG9uc2UgY291bGQgYmUgcmVjZWl2ZWQsIGRpc2NhcmRpbmcuLi4nKTtcbiAgICAgICAgICAgICAgICBuZXh0RXZlbnQucmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3V0Y29tZVJlc291cmNlLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90YXNrQ29udGVudFNlcnZpY2UudXBkYXRlU3RhdGVEYXRhKG91dGNvbWVSZXNvdXJjZS5vdXRjb21lIGFzIENhbmNlbFRhc2tFdmVudE91dGNvbWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoYW5nZWRGaWVsZHNNYXA6IENoYW5nZWRGaWVsZHNNYXAgPSB0aGlzLl9ldmVudFNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLnBhcnNlQ2hhbmdlZEZpZWxkc0Zyb21PdXRjb21lVHJlZShvdXRjb21lUmVzb3VyY2Uub3V0Y29tZSk7XG4gICAgICAgICAgICAgICAgaWYgKCEhY2hhbmdlZEZpZWxkc01hcCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VkRmllbGRzU2VydmljZS5lbWl0Q2hhbmdlZEZpZWxkcyhjaGFuZ2VkRmllbGRzTWFwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9yY2VSZWxvYWQgPyB0aGlzLl90YXNrT3BlcmF0aW9ucy5mb3JjZVJlbG9hZCgpIDogdGhpcy5fdGFza09wZXJhdGlvbnMucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZUFjdGlvbnMoYWZ0ZXJBY3Rpb24sIG5leHRFdmVudCwgdHJ1ZSwgb3V0Y29tZVJlc291cmNlLm91dGNvbWUgYXMgQ2FuY2VsVGFza0V2ZW50T3V0Y29tZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG91dGNvbWVSZXNvdXJjZS5lcnJvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKG91dGNvbWVSZXNvdXJjZS5lcnJvciAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc25hY2tCYXIub3BlbkVycm9yU25hY2tCYXIob3V0Y29tZVJlc291cmNlLmVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG91dGNvbWVSZXNvdXJjZS5vdXRjb21lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhbmdlZEZpZWxkc01hcCA9IHRoaXMuX2V2ZW50U2VydmljZS5wYXJzZUNoYW5nZWRGaWVsZHNGcm9tT3V0Y29tZVRyZWUob3V0Y29tZVJlc291cmNlLm91dGNvbWUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VkRmllbGRzU2VydmljZS5lbWl0Q2hhbmdlZEZpZWxkcyhjaGFuZ2VkRmllbGRzTWFwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZUFjdGlvbnMoYWZ0ZXJBY3Rpb24sIG5leHRFdmVudCwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RvcExvYWRpbmcoY2FuY2VsZWRUYXNrSWQpO1xuICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdjYW5jZWxpbmcgdGFzayBmYWlsZWQnLCBlcnJvcik7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pc1Rhc2tSZWxldmFudChjYW5jZWxlZFRhc2tJZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuZGVidWcoJ2N1cnJlbnQgdGFzayBjaGFuZ2VkIGJlZm9yZSB0aGUgY2FuY2VsIGVycm9yIGNvdWxkIGJlIHJlY2VpdmVkJyk7XG4gICAgICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fc25hY2tCYXIub3BlbkVycm9yU25hY2tCYXIoYCR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLmNhbmNlbFRhc2snKX1cbiAgICAgICAgICAgICAke3RoaXMuX3Rhc2t9ICR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLmZhaWxlZCcpfWApO1xuICAgICAgICAgICAgdGhpcy5jb21wbGV0ZUFjdGlvbnMoYWZ0ZXJBY3Rpb24sIG5leHRFdmVudCwgZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb21wbGV0ZSBhbGwgYWN0aW9uIHN0cmVhbXMgYW5kIHNlbmQgbm90aWZpY2F0aW9uIHdpdGggc2VsZWN0ZWQgYm9vbGVhblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjb21wbGV0ZUFjdGlvbnMoYWZ0ZXJBY3Rpb246IEFmdGVyQWN0aW9uLCBuZXh0RXZlbnQ6IEFmdGVyQWN0aW9uLCBib29sOiBib29sZWFuLCBvdXRjb21lPzogVGFza0V2ZW50T3V0Y29tZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbmROb3RpZmljYXRpb24oYm9vbCwgb3V0Y29tZSk7XG4gICAgICAgIGFmdGVyQWN0aW9uLnJlc29sdmUoYm9vbCk7XG4gICAgICAgIG5leHRFdmVudC5yZXNvbHZlKGJvb2wpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2hlcyBhIGNhbmNlbCBub3RpZmljYXRpb24gdG8gdGhlIHtAbGluayBUYXNrRXZlbnRTZXJ2aWNlfVxuICAgICAqIEBwYXJhbSBzdWNjZXNzIHdoZXRoZXIgdGhlIGNhbmNlbCBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwgb3Igbm90XG4gICAgICogQHBhcmFtIG91dGNvbWVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc2VuZE5vdGlmaWNhdGlvbihzdWNjZXNzOiBib29sZWFuLCBvdXRjb21lPzogVGFza0V2ZW50T3V0Y29tZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YXNrRXZlbnQucHVibGlzaFRhc2tFdmVudChjcmVhdGVUYXNrRXZlbnROb3RpZmljYXRpb24odGhpcy5fc2FmZVRhc2ssIFRhc2tFdmVudC5DQU5DRUwsIHN1Y2Nlc3MsIG91dGNvbWUpKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -104,7 +104,7 @@ export class DelegateTaskService extends TaskHandlingService {
|
|
|
104
104
|
if (!!changedFieldsMap) {
|
|
105
105
|
this._changedFieldsService.emitChangedFields(changedFieldsMap);
|
|
106
106
|
}
|
|
107
|
-
this.completeSuccess(afterAction, nextEvent);
|
|
107
|
+
this.completeSuccess(afterAction, nextEvent, outcomeResource.outcome);
|
|
108
108
|
}
|
|
109
109
|
else if (outcomeResource.error) {
|
|
110
110
|
this._snackBar.openErrorSnackBar(outcomeResource.error);
|
|
@@ -126,24 +126,25 @@ export class DelegateTaskService extends TaskHandlingService {
|
|
|
126
126
|
/**
|
|
127
127
|
* Reloads the task and emits `true` to the `afterAction` stream
|
|
128
128
|
*/
|
|
129
|
-
completeSuccess(afterAction, nextEvent) {
|
|
129
|
+
completeSuccess(afterAction, nextEvent, outcome) {
|
|
130
130
|
this._taskOperations.reload();
|
|
131
|
-
this.completeActions(afterAction, nextEvent, true);
|
|
131
|
+
this.completeActions(afterAction, nextEvent, true, outcome);
|
|
132
132
|
}
|
|
133
133
|
/**
|
|
134
134
|
* Completes all the action streams and sends the notification, with the provided result
|
|
135
135
|
*/
|
|
136
|
-
completeActions(afterAction, nextEvent, result) {
|
|
137
|
-
this.sendNotification(result);
|
|
136
|
+
completeActions(afterAction, nextEvent, result, outcome) {
|
|
137
|
+
this.sendNotification(result, outcome);
|
|
138
138
|
afterAction.resolve(result);
|
|
139
139
|
nextEvent.resolve(result);
|
|
140
140
|
}
|
|
141
141
|
/**
|
|
142
142
|
* Publishes a delegate notification to the {@link TaskEventService}
|
|
143
143
|
* @param success whether the delegate operation was successful or not
|
|
144
|
+
* @param outcome
|
|
144
145
|
*/
|
|
145
|
-
sendNotification(success) {
|
|
146
|
-
this._taskEvent.publishTaskEvent(createTaskEventNotification(this._safeTask, TaskEvent.DELEGATE, success));
|
|
146
|
+
sendNotification(success, outcome) {
|
|
147
|
+
this._taskEvent.publishTaskEvent(createTaskEventNotification(this._safeTask, TaskEvent.DELEGATE, success, outcome));
|
|
147
148
|
}
|
|
148
149
|
}
|
|
149
150
|
DelegateTaskService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DelegateTaskService, deps: [{ token: i1.LoggerService }, { token: i2.SideMenuService }, { token: i3.TaskResourceService }, { token: i4.SnackBarService }, { token: i5.TranslateService }, { token: i6.TaskRequestStateService }, { token: i7.TaskEventService }, { token: i8.TaskDataService }, { token: i9.EventQueueService }, { token: i10.EventService }, { token: i11.ChangedFieldsService }, { token: NAE_TASK_OPERATIONS }, { token: NAE_USER_ASSIGN_COMPONENT, optional: true }, { token: i12.SelectedCaseService, optional: true }, { token: i13.TaskContentService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -161,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
161
162
|
}] }, { type: i12.SelectedCaseService, decorators: [{
|
|
162
163
|
type: Optional
|
|
163
164
|
}] }, { type: i13.TaskContentService }]; } });
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGUtdGFzay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi90YXNrL3NlcnZpY2VzL2RlbGVnYXRlLXRhc2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBUW5FLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBRzlFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUV6RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM5RixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFHOUQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSXBDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQU1sRTs7R0FFRztBQUVILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFFeEQsWUFBc0IsSUFBbUIsRUFDbkIsZ0JBQWlDLEVBQ2pDLG9CQUF5QyxFQUN6QyxTQUEwQixFQUMxQixVQUE0QixFQUM1QixVQUFtQyxFQUNuQyxVQUE0QixFQUM1QixnQkFBaUMsRUFDakMsV0FBOEIsRUFDOUIsYUFBMkIsRUFDM0IscUJBQTJDLEVBQ2QsZUFBK0IsRUFDYixvQkFBeUIsRUFDdEUsb0JBQXlDLEVBQ3JELG1CQUF1QztRQUMvQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQWYvQixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ2pDLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQ2Qsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQ2IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFLO0lBSTlGLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxRQUFRLENBQUMsY0FBMkIsSUFBSSxXQUFXLEVBQUU7UUFDeEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFFaEQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUM1QyxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxZQUFZLENBQUMsTUFBTSxFQUNyRTtZQUNJLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvRixLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FDbkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUMzRztZQUNELGFBQWEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQzNELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzNFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBRXJELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQ3BELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQzFCLE9BQU87YUFDVjtZQUVELElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUMxQyxHQUFHLEVBQUU7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxxRkFBcUYsQ0FBQyxDQUFDO2lCQUMxRztnQkFDRCxPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDLEVBQ0QsU0FBUyxDQUFDLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDeEYsQ0FBQyxDQUNKLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNPLHNCQUFzQixDQUFDLFdBQXdCLEVBQUUsZUFBdUIsRUFBRSxlQUFvQixFQUFFLFNBQXNCO1FBQzVILElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDcEcsQ0FBQyxlQUE0QyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG9GQUFvRixDQUFDLENBQUM7Z0JBQ3RHLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pCLE9BQU87YUFDVjtZQUVELElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRTtnQkFDekIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsT0FBbUMsQ0FBQyxDQUFDO2dCQUM5RixNQUFNLGdCQUFnQixHQUFxQixJQUFJLENBQUMsYUFBYTtxQkFDeEQsaUNBQWlDLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUM7aUJBQ2xFO2dCQUNELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ2hEO2lCQUFNLElBQUksZUFBZSxDQUFDLEtBQUssRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUN2RDtRQUNMLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRW5ELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO2dCQUNwRixTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QixPQUFPO2FBQ1Y7WUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUM7dUJBQzdFLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ08sZUFBZSxDQUFDLFdBQXdCLEVBQUUsU0FBc0I7UUFDdEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ08sZUFBZSxDQUFDLFdBQXdCLEVBQUUsU0FBc0IsRUFBRSxNQUFlO1FBQ3ZGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGdCQUFnQixDQUFDLE9BQWdCO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0csQ0FBQzs7aUhBM0lRLG1CQUFtQix5WEFhUixtQkFBbUIsYUFDUCx5QkFBeUI7cUhBZGhELG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVOzswQkFjTSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMseUJBQXlCOzswQkFDNUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NpZGVNZW51U2l6ZX0gZnJvbSAnLi4vLi4vc2lkZS1tZW51L21vZGVscy9zaWRlLW1lbnUtc2l6ZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge1NpZGVNZW51U2VydmljZX0gZnJvbSAnLi4vLi4vc2lkZS1tZW51L3NlcnZpY2VzL3NpZGUtbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7VGFza1Jlc291cmNlU2VydmljZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC90YXNrLXJlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtUYXNrQ29udGVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9zZXJ2aWNlcy90YXNrLWNvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQge1NuYWNrQmFyU2VydmljZX0gZnJvbSAnLi4vLi4vc25hY2stYmFyL3NlcnZpY2VzL3NuYWNrLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1Rhc2tSZXF1ZXN0U3RhdGVTZXJ2aWNlfSBmcm9tICcuL3Rhc2stcmVxdWVzdC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7VGFza0hhbmRsaW5nU2VydmljZX0gZnJvbSAnLi90YXNrLWhhbmRsaW5nLXNlcnZpY2UnO1xuaW1wb3J0IHtOQUVfVEFTS19PUEVSQVRJT05TfSBmcm9tICcuLi9tb2RlbHMvdGFzay1vcGVyYXRpb25zLWluamVjdGlvbi10b2tlbic7XG5pbXBvcnQge1Rhc2tPcGVyYXRpb25zfSBmcm9tICcuLi9pbnRlcmZhY2VzL3Rhc2stb3BlcmF0aW9ucyc7XG5pbXBvcnQge1VzZXJMaXN0SW5qZWN0ZWREYXRhfSBmcm9tICcuLi8uLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL3VzZXItYXNzaWduL21vZGVsL3VzZXItbGlzdC1pbmplY3RlZC1kYXRhJztcbmltcG9ydCB7VXNlclZhbHVlfSBmcm9tICcuLi8uLi9kYXRhLWZpZWxkcy91c2VyLWZpZWxkL21vZGVscy91c2VyLXZhbHVlJztcbmltcG9ydCB7U2VsZWN0ZWRDYXNlU2VydmljZX0gZnJvbSAnLi9zZWxlY3RlZC1jYXNlLnNlcnZpY2UnO1xuaW1wb3J0IHtOQUVfVVNFUl9BU1NJR05fQ09NUE9ORU5UfSBmcm9tICcuLi8uLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHtjcmVhdGVUYXNrRXZlbnROb3RpZmljYXRpb259IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9tb2RlbC90YXNrLWV2ZW50LW5vdGlmaWNhdGlvbic7XG5pbXBvcnQge1Rhc2tFdmVudH0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L21vZGVsL3Rhc2stZXZlbnQnO1xuaW1wb3J0IHtUYXNrRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi90YXNrLWNvbnRlbnQvc2VydmljZXMvdGFzay1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7VGFza0RhdGFTZXJ2aWNlfSBmcm9tICcuL3Rhc2stZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtEZWxlZ2F0ZVRhc2tFdmVudE91dGNvbWV9IGZyb20gJy4uLy4uL2V2ZW50L21vZGVsL2V2ZW50LW91dGNvbWVzL3Rhc2stb3V0Y29tZXMvZGVsZWdhdGUtdGFzay1ldmVudC1vdXRjb21lJztcbmltcG9ydCB7RXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL21lc3NhZ2UtcmVzb3VyY2UnO1xuaW1wb3J0IHtFdmVudFF1ZXVlU2VydmljZX0gZnJvbSAnLi4vLi4vZXZlbnQtcXVldWUvc2VydmljZXMvZXZlbnQtcXVldWUuc2VydmljZSc7XG5pbXBvcnQge1F1ZXVlZEV2ZW50fSBmcm9tICcuLi8uLi9ldmVudC1xdWV1ZS9tb2RlbC9xdWV1ZWQtZXZlbnQnO1xuaW1wb3J0IHtBZnRlckFjdGlvbn0gZnJvbSAnLi4vLi4vdXRpbGl0eS9jYWxsLWNoYWluL2FmdGVyLWFjdGlvbic7XG5pbXBvcnQge0NoYW5nZWRGaWVsZHNTZXJ2aWNlfSBmcm9tICcuLi8uLi9jaGFuZ2VkLWZpZWxkcy9zZXJ2aWNlcy9jaGFuZ2VkLWZpZWxkcy5zZXJ2aWNlJztcbmltcG9ydCB7RXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9ldmVudC9zZXJ2aWNlcy9ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7Q2hhbmdlZEZpZWxkc01hcH0gZnJvbSAnLi4vLi4vZXZlbnQvc2VydmljZXMvaW50ZXJmYWNlcy9jaGFuZ2VkLWZpZWxkcy1tYXAnO1xuXG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhhbmRsZXMgdGhlIGxvZ2ljIG9mIGRlbGVnYXRpbmcgYSB0YXNrLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGVsZWdhdGVUYXNrU2VydmljZSBleHRlbmRzIFRhc2tIYW5kbGluZ1NlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zaWRlTWVudVNlcnZpY2U6IFNpZGVNZW51U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tSZXNvdXJjZVNlcnZpY2U6IFRhc2tSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja0JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza1N0YXRlOiBUYXNrUmVxdWVzdFN0YXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tFdmVudDogVGFza0V2ZW50U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tEYXRhU2VydmljZTogVGFza0RhdGFTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZXZlbnRRdWV1ZTogRXZlbnRRdWV1ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9ldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NoYW5nZWRGaWVsZHNTZXJ2aWNlOiBDaGFuZ2VkRmllbGRzU2VydmljZSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KE5BRV9UQVNLX09QRVJBVElPTlMpIHByb3RlY3RlZCBfdGFza09wZXJhdGlvbnM6IFRhc2tPcGVyYXRpb25zLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX1VTRVJfQVNTSUdOX0NPTVBPTkVOVCkgcHJvdGVjdGVkIF91c2VyQXNzaWduQ29tcG9uZW50OiBhbnksXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgX3NlbGVjdGVkQ2FzZVNlcnZpY2U6IFNlbGVjdGVkQ2FzZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX3Rhc2tDb250ZW50U2VydmljZTogVGFza0NvbnRlbnRTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKF90YXNrQ29udGVudFNlcnZpY2UsIF9zZWxlY3RlZENhc2VTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyB0aGUgJ2RlbGVnYXRlJyBvcGVyYXRpb24gb24gdGhlIHRhc2sgaGVsZCBieSB7QGxpbmsgVGFza0NvbnRlbnRTZXJ2aWNlfS5cbiAgICAgKlxuICAgICAqIERvZXNuJ3Qgc2VuZCBhbnkgcmVxdWVzdHMgaWYgdGhlIGxvYWRpbmcgaW5kaWNhdG9yIGlzIGluIGl0J3MgYWN0aXZlIHN0YXRlLlxuICAgICAqIE90aGVyd2lzZSBzZXRzIHRoZSBpbmRpY2F0b3IgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBhbmQgZGlzYWJsZXMgaXQgb25jZSB0aGUgcmVxdWVzdCByZXNwb25zZSBpcyByZWNlaXZlZC5cbiAgICAgKlxuICAgICAqIFRoZSBhcmd1bWVudCBjYW4gYmUgdXNlZCB0byBjaGFpbiBvcGVyYXRpb25zIHRvZ2V0aGVyLFxuICAgICAqIG9yIHRvIGV4ZWN1dGUgY29kZSBjb25kaXRpb25hbGx5IGJhc2VkIG9uIHRoZSBzdWNjZXNzIHN0YXRlIG9mIHRoZSBkZWxlZ2F0ZSBvcGVyYXRpb24uXG4gICAgICpcbiAgICAgKiBJZiB0aGUgdGFzayBoZWxkIHdpdGhpbiB0aGUge0BsaW5rIFRhc2tDb250ZW50U2VydmljZX0gY2hhbmdlcyBiZWZvcmUgYSByZXNwb25zZSBpcyByZWNlaXZlZCwgdGhlIHJlc3BvbnNlIHdpbGwgYmUgaWdub3JlZFxuICAgICAqIGFuZCB0aGUgYGFmdGVyQWN0aW9uYCB3aWxsIG5vdCBiZSBleGVjdXRlZC5cbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gaWYgZGVsZWdhdGUgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSBgdHJ1ZWAgd2lsbCBiZSBlbWl0dGVkIGludG8gdGhpcyBTdWJqZWN0LCBvdGhlcndpc2UgYGZhbHNlYCB3aWxsIGJlIGVtaXR0ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZWdhdGUoYWZ0ZXJBY3Rpb246IEFmdGVyQWN0aW9uID0gbmV3IEFmdGVyQWN0aW9uKCkpIHtcbiAgICAgICAgY29uc3QgZGVsZWdhdGVkVGFza0lkID0gdGhpcy5fc2FmZVRhc2suc3RyaW5nSWQ7XG5cbiAgICAgICAgaWYgKHRoaXMuX3Rhc2tTdGF0ZS5pc0xvYWRpbmcoZGVsZWdhdGVkVGFza0lkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NpZGVNZW51U2VydmljZS5vcGVuKHRoaXMuX3VzZXJBc3NpZ25Db21wb25lbnQsIFNpZGVNZW51U2l6ZS5NRURJVU0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcm9sZXM6IE9iamVjdC5rZXlzKHRoaXMuX3NhZmVUYXNrLnJvbGVzKS5maWx0ZXIocm9sZSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zYWZlVGFzay5yb2xlc1tyb2xlXVsnYXNzaWduJ10gIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9zYWZlVGFzay5yb2xlc1tyb2xlXVsnYXNzaWduJ10pLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAhdGhpcy5fc2FmZVRhc2sudXNlciA/IHVuZGVmaW5lZCA6IG5ldyBVc2VyVmFsdWUoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NhZmVUYXNrLnVzZXIuaWQsIHRoaXMuX3NhZmVUYXNrLnVzZXIubmFtZSwgdGhpcy5fc2FmZVRhc2sudXNlci5zdXJuYW1lLCB0aGlzLl9zYWZlVGFzay51c2VyLmVtYWlsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBuZWdhdGl2ZVJvbGVzOiBPYmplY3Qua2V5cyh0aGlzLl9zYWZlVGFzay5yb2xlcykuZmlsdGVyKHJvbGUgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2FmZVRhc2sucm9sZXNbcm9sZV1bJ2Fzc2lnbiddICE9PSB1bmRlZmluZWQgJiYgIXRoaXMuX3NhZmVUYXNrLnJvbGVzW3JvbGVdWydhc3NpZ24nXSlcbiAgICAgICAgICAgIH0gYXMgVXNlckxpc3RJbmplY3RlZERhdGEpLm9uQ2xvc2Uuc3Vic2NyaWJlKGV2ZW50ID0+IHtcblxuICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdEZWxlZ2F0ZSBzaWRlbWVudSBldmVudDonICsgZXZlbnQpO1xuICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fZXZlbnRRdWV1ZS5zY2hlZHVsZUV2ZW50KG5ldyBRdWV1ZWRFdmVudChcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuaXNUYXNrUmVsZXZhbnQoZGVsZWdhdGVkVGFza0lkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnY3VycmVudCB0YXNrIGNoYW5nZWQgYmVmb3JlIHRoZSBkZWxlZ2F0ZSBzaWRlIG1lbnUgZGF0YSB3YXMgcmVjZWl2ZWQsIGRpc2NhcmRpbmcuLi4nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbmV4dEV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXJmb3JtRGVsZWdhdGVSZXF1ZXN0KGFmdGVyQWN0aW9uLCBkZWxlZ2F0ZWRUYXNrSWQsIGV2ZW50LmRhdGEuaWQsIG5leHRFdmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIGEgYGRlbGVnYXRlYCByZXF1ZXN0IG9uIHRoZSB0YXNrIGN1cnJlbnRseSBzdG9yZWQgaW4gdGhlIGB0YXNrQ29udGVudGAgc2VydmljZVxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciB0aGUgcmVxdWVzdCBpcyBwcm9jZXNzZWRcbiAgICAgKiBAcGFyYW0gZGVsZWdhdGVkVGFza0lkIGlkIG9mIHRoZSB0YXNrIHRoYXQgaXMgYmVpbmcgZGVsZWdhdGVkXG4gICAgICogQHBhcmFtIGRlbGVnYXRlZFVzZXJJZCBpZCBvZiB0aGUgdXNlciB3aG9tIHRoZSB0YXNrIGlzIGJlaW5nIGRlbGVnYXRlZFxuICAgICAqIEBwYXJhbSBuZXh0RXZlbnQgaW5kaWNhdGVzIHRvIHRoZSBldmVudCBxdWV1ZSB0aGF0IHRoZSBuZXh0IGV2ZW50IGNhbiBiZSBwcm9jZXNzZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGVyZm9ybURlbGVnYXRlUmVxdWVzdChhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24sIGRlbGVnYXRlZFRhc2tJZDogc3RyaW5nLCBkZWxlZ2F0ZWRVc2VySWQ6IGFueSwgbmV4dEV2ZW50OiBBZnRlckFjdGlvbikge1xuICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RhcnRMb2FkaW5nKGRlbGVnYXRlZFRhc2tJZCk7XG4gICAgICAgIHRoaXMuX3Rhc2tSZXNvdXJjZVNlcnZpY2UuZGVsZWdhdGVUYXNrKHRoaXMuX3NhZmVUYXNrLnN0cmluZ0lkLCBkZWxlZ2F0ZWRVc2VySWQpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKG91dGNvbWVSZXNvdXJjZTogRXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RvcExvYWRpbmcoZGVsZWdhdGVkVGFza0lkKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1Rhc2tSZWxldmFudChkZWxlZ2F0ZWRUYXNrSWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdjdXJyZW50IHRhc2sgY2hhbmdlZCBiZWZvcmUgdGhlIGRlbGVnYXRlIHJlc3BvbnNlIGNvdWxkIGJlIHJlY2VpdmVkLCBkaXNjYXJkaW5nLi4uJyk7XG4gICAgICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG91dGNvbWVSZXNvdXJjZS5zdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFza0NvbnRlbnRTZXJ2aWNlLnVwZGF0ZVN0YXRlRGF0YShvdXRjb21lUmVzb3VyY2Uub3V0Y29tZSBhcyBEZWxlZ2F0ZVRhc2tFdmVudE91dGNvbWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoYW5nZWRGaWVsZHNNYXA6IENoYW5nZWRGaWVsZHNNYXAgPSB0aGlzLl9ldmVudFNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLnBhcnNlQ2hhbmdlZEZpZWxkc0Zyb21PdXRjb21lVHJlZShvdXRjb21lUmVzb3VyY2Uub3V0Y29tZSk7XG4gICAgICAgICAgICAgICAgaWYgKCEhY2hhbmdlZEZpZWxkc01hcCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VkRmllbGRzU2VydmljZS5lbWl0Q2hhbmdlZEZpZWxkcyhjaGFuZ2VkRmllbGRzTWFwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZVN1Y2Nlc3MoYWZ0ZXJBY3Rpb24sIG5leHRFdmVudCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG91dGNvbWVSZXNvdXJjZS5lcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NuYWNrQmFyLm9wZW5FcnJvclNuYWNrQmFyKG91dGNvbWVSZXNvdXJjZS5lcnJvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZUFjdGlvbnMoYWZ0ZXJBY3Rpb24sIG5leHRFdmVudCwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RvcExvYWRpbmcoZGVsZWdhdGVkVGFza0lkKTtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnZ2V0dGluZyB0YXNrIGRhdGEgZmFpbGVkJywgZXJyb3IpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNUYXNrUmVsZXZhbnQoZGVsZWdhdGVkVGFza0lkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnY3VycmVudCB0YXNrIGNoYW5nZWQgYmVmb3JlIHRoZSBkZWxlZ2F0ZSBlcnJvciBjb3VsZCBiZSByZWNlaXZlZCcpO1xuICAgICAgICAgICAgICAgIG5leHRFdmVudC5yZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX3NuYWNrQmFyLm9wZW5FcnJvclNuYWNrQmFyKGAke3RoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCd0YXNrcy5zbmFja2Jhci5hc3NpZ25UYXNrJyl9XG4gICAgICAgICAgICAgICAgICAgICAke3RoaXMuX3Rhc2t9ICR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLmZhaWxlZCcpfWApO1xuICAgICAgICAgICAgdGhpcy5jb21wbGV0ZUFjdGlvbnMoYWZ0ZXJBY3Rpb24sIG5leHRFdmVudCwgZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWxvYWRzIHRoZSB0YXNrIGFuZCBlbWl0cyBgdHJ1ZWAgdG8gdGhlIGBhZnRlckFjdGlvbmAgc3RyZWFtXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNvbXBsZXRlU3VjY2VzcyhhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24sIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFza09wZXJhdGlvbnMucmVsb2FkKCk7XG4gICAgICAgIHRoaXMuY29tcGxldGVBY3Rpb25zKGFmdGVyQWN0aW9uLCBuZXh0RXZlbnQsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXBsZXRlcyBhbGwgdGhlIGFjdGlvbiBzdHJlYW1zIGFuZCBzZW5kcyB0aGUgbm90aWZpY2F0aW9uLCB3aXRoIHRoZSBwcm92aWRlZCByZXN1bHRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY29tcGxldGVBY3Rpb25zKGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbiwgbmV4dEV2ZW50OiBBZnRlckFjdGlvbiwgcmVzdWx0OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2VuZE5vdGlmaWNhdGlvbihyZXN1bHQpO1xuICAgICAgICBhZnRlckFjdGlvbi5yZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIG5leHRFdmVudC5yZXNvbHZlKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaGVzIGEgZGVsZWdhdGUgbm90aWZpY2F0aW9uIHRvIHRoZSB7QGxpbmsgVGFza0V2ZW50U2VydmljZX1cbiAgICAgKiBAcGFyYW0gc3VjY2VzcyB3aGV0aGVyIHRoZSBkZWxlZ2F0ZSBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwgb3Igbm90XG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNlbmROb3RpZmljYXRpb24oc3VjY2VzczogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl90YXNrRXZlbnQucHVibGlzaFRhc2tFdmVudChjcmVhdGVUYXNrRXZlbnROb3RpZmljYXRpb24odGhpcy5fc2FmZVRhc2ssIFRhc2tFdmVudC5ERUxFR0FURSwgc3VjY2VzcykpO1xuICAgIH1cbn1cbiJdfQ==
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGUtdGFzay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi90YXNrL3NlcnZpY2VzL2RlbGVnYXRlLXRhc2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBUW5FLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBRzlFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUV6RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM5RixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFHOUQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSXBDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQU9sRTs7R0FFRztBQUVILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFFeEQsWUFBc0IsSUFBbUIsRUFDbkIsZ0JBQWlDLEVBQ2pDLG9CQUF5QyxFQUN6QyxTQUEwQixFQUMxQixVQUE0QixFQUM1QixVQUFtQyxFQUNuQyxVQUE0QixFQUM1QixnQkFBaUMsRUFDakMsV0FBOEIsRUFDOUIsYUFBMkIsRUFDM0IscUJBQTJDLEVBQ2QsZUFBK0IsRUFDYixvQkFBeUIsRUFDdEUsb0JBQXlDLEVBQ3JELG1CQUF1QztRQUMvQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQWYvQixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ2pDLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQ2Qsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQ2IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFLO0lBSTlGLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxRQUFRLENBQUMsY0FBMkIsSUFBSSxXQUFXLEVBQUU7UUFDeEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFFaEQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUM1QyxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxZQUFZLENBQUMsTUFBTSxFQUNyRTtZQUNJLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvRixLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FDbkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUMzRztZQUNELGFBQWEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQzNELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzNFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBRXJELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQ3BELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQzFCLE9BQU87YUFDVjtZQUVELElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUMxQyxHQUFHLEVBQUU7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxxRkFBcUYsQ0FBQyxDQUFDO2lCQUMxRztnQkFDRCxPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDLEVBQ0QsU0FBUyxDQUFDLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDeEYsQ0FBQyxDQUNKLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNPLHNCQUFzQixDQUFDLFdBQXdCLEVBQUUsZUFBdUIsRUFBRSxlQUFvQixFQUFFLFNBQXNCO1FBQzVILElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDcEcsQ0FBQyxlQUE0QyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG9GQUFvRixDQUFDLENBQUM7Z0JBQ3RHLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pCLE9BQU87YUFDVjtZQUVELElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRTtnQkFDekIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsT0FBbUMsQ0FBQyxDQUFDO2dCQUM5RixNQUFNLGdCQUFnQixHQUFxQixJQUFJLENBQUMsYUFBYTtxQkFDeEQsaUNBQWlDLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUM7aUJBQ2xFO2dCQUNELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxlQUFlLENBQUMsT0FBbUMsQ0FBQyxDQUFDO2FBQ3JHO2lCQUFNLElBQUksZUFBZSxDQUFDLEtBQUssRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUN2RDtRQUNMLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRW5ELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO2dCQUNwRixTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QixPQUFPO2FBQ1Y7WUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUM7dUJBQzdFLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ08sZUFBZSxDQUFDLFdBQXdCLEVBQUUsU0FBc0IsRUFBRSxPQUEwQjtRQUNsRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ08sZUFBZSxDQUFDLFdBQXdCLEVBQUUsU0FBc0IsRUFBRSxNQUFlLEVBQUUsT0FBMEI7UUFDbkgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN2QyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxnQkFBZ0IsQ0FBQyxPQUFnQixFQUFFLE9BQTBCO1FBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3hILENBQUM7O2lIQTVJUSxtQkFBbUIseVhBYVIsbUJBQW1CLGFBQ1AseUJBQXlCO3FIQWRoRCxtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVTs7MEJBY00sTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUMxQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBQzVDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTaWRlTWVudVNpemV9IGZyb20gJy4uLy4uL3NpZGUtbWVudS9tb2RlbHMvc2lkZS1tZW51LXNpemUnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtTaWRlTWVudVNlcnZpY2V9IGZyb20gJy4uLy4uL3NpZGUtbWVudS9zZXJ2aWNlcy9zaWRlLW1lbnUuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tSZXNvdXJjZVNlcnZpY2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvdGFzay1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7VGFza0NvbnRlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi90YXNrLWNvbnRlbnQvc2VydmljZXMvdGFzay1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtTbmFja0JhclNlcnZpY2V9IGZyb20gJy4uLy4uL3NuYWNrLWJhci9zZXJ2aWNlcy9zbmFjay1iYXIuc2VydmljZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtUYXNrUmVxdWVzdFN0YXRlU2VydmljZX0gZnJvbSAnLi90YXNrLXJlcXVlc3Qtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tIYW5kbGluZ1NlcnZpY2V9IGZyb20gJy4vdGFzay1oYW5kbGluZy1zZXJ2aWNlJztcbmltcG9ydCB7TkFFX1RBU0tfT1BFUkFUSU9OU30gZnJvbSAnLi4vbW9kZWxzL3Rhc2stb3BlcmF0aW9ucy1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtUYXNrT3BlcmF0aW9uc30gZnJvbSAnLi4vaW50ZXJmYWNlcy90YXNrLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHtVc2VyTGlzdEluamVjdGVkRGF0YX0gZnJvbSAnLi4vLi4vc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy91c2VyLWFzc2lnbi9tb2RlbC91c2VyLWxpc3QtaW5qZWN0ZWQtZGF0YSc7XG5pbXBvcnQge1VzZXJWYWx1ZX0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvdXNlci1maWVsZC9tb2RlbHMvdXNlci12YWx1ZSc7XG5pbXBvcnQge1NlbGVjdGVkQ2FzZVNlcnZpY2V9IGZyb20gJy4vc2VsZWN0ZWQtY2FzZS5zZXJ2aWNlJztcbmltcG9ydCB7TkFFX1VTRVJfQVNTSUdOX0NPTVBPTkVOVH0gZnJvbSAnLi4vLi4vc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7Y3JlYXRlVGFza0V2ZW50Tm90aWZpY2F0aW9ufSBmcm9tICcuLi8uLi90YXNrLWNvbnRlbnQvbW9kZWwvdGFzay1ldmVudC1ub3RpZmljYXRpb24nO1xuaW1wb3J0IHtUYXNrRXZlbnR9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9tb2RlbC90YXNrLWV2ZW50JztcbmltcG9ydCB7VGFza0V2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L3NlcnZpY2VzL3Rhc2stZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tEYXRhU2VydmljZX0gZnJvbSAnLi90YXNrLWRhdGEuc2VydmljZSc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RGVsZWdhdGVUYXNrRXZlbnRPdXRjb21lfSBmcm9tICcuLi8uLi9ldmVudC9tb2RlbC9ldmVudC1vdXRjb21lcy90YXNrLW91dGNvbWVzL2RlbGVnYXRlLXRhc2stZXZlbnQtb3V0Y29tZSc7XG5pbXBvcnQge0V2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9tZXNzYWdlLXJlc291cmNlJztcbmltcG9ydCB7RXZlbnRRdWV1ZVNlcnZpY2V9IGZyb20gJy4uLy4uL2V2ZW50LXF1ZXVlL3NlcnZpY2VzL2V2ZW50LXF1ZXVlLnNlcnZpY2UnO1xuaW1wb3J0IHtRdWV1ZWRFdmVudH0gZnJvbSAnLi4vLi4vZXZlbnQtcXVldWUvbW9kZWwvcXVldWVkLWV2ZW50JztcbmltcG9ydCB7QWZ0ZXJBY3Rpb259IGZyb20gJy4uLy4uL3V0aWxpdHkvY2FsbC1jaGFpbi9hZnRlci1hY3Rpb24nO1xuaW1wb3J0IHtDaGFuZ2VkRmllbGRzU2VydmljZX0gZnJvbSAnLi4vLi4vY2hhbmdlZC1maWVsZHMvc2VydmljZXMvY2hhbmdlZC1maWVsZHMuc2VydmljZSc7XG5pbXBvcnQge0V2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vZXZlbnQvc2VydmljZXMvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0NoYW5nZWRGaWVsZHNNYXB9IGZyb20gJy4uLy4uL2V2ZW50L3NlcnZpY2VzL2ludGVyZmFjZXMvY2hhbmdlZC1maWVsZHMtbWFwJztcbmltcG9ydCB7VGFza0V2ZW50T3V0Y29tZX0gZnJvbSAnLi4vLi4vZXZlbnQvbW9kZWwvZXZlbnQtb3V0Y29tZXMvdGFzay1vdXRjb21lcy90YXNrLWV2ZW50LW91dGNvbWUnO1xuXG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhhbmRsZXMgdGhlIGxvZ2ljIG9mIGRlbGVnYXRpbmcgYSB0YXNrLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGVsZWdhdGVUYXNrU2VydmljZSBleHRlbmRzIFRhc2tIYW5kbGluZ1NlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zaWRlTWVudVNlcnZpY2U6IFNpZGVNZW51U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tSZXNvdXJjZVNlcnZpY2U6IFRhc2tSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja0JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza1N0YXRlOiBUYXNrUmVxdWVzdFN0YXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tFdmVudDogVGFza0V2ZW50U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tEYXRhU2VydmljZTogVGFza0RhdGFTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZXZlbnRRdWV1ZTogRXZlbnRRdWV1ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9ldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NoYW5nZWRGaWVsZHNTZXJ2aWNlOiBDaGFuZ2VkRmllbGRzU2VydmljZSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KE5BRV9UQVNLX09QRVJBVElPTlMpIHByb3RlY3RlZCBfdGFza09wZXJhdGlvbnM6IFRhc2tPcGVyYXRpb25zLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX1VTRVJfQVNTSUdOX0NPTVBPTkVOVCkgcHJvdGVjdGVkIF91c2VyQXNzaWduQ29tcG9uZW50OiBhbnksXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgX3NlbGVjdGVkQ2FzZVNlcnZpY2U6IFNlbGVjdGVkQ2FzZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX3Rhc2tDb250ZW50U2VydmljZTogVGFza0NvbnRlbnRTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKF90YXNrQ29udGVudFNlcnZpY2UsIF9zZWxlY3RlZENhc2VTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyB0aGUgJ2RlbGVnYXRlJyBvcGVyYXRpb24gb24gdGhlIHRhc2sgaGVsZCBieSB7QGxpbmsgVGFza0NvbnRlbnRTZXJ2aWNlfS5cbiAgICAgKlxuICAgICAqIERvZXNuJ3Qgc2VuZCBhbnkgcmVxdWVzdHMgaWYgdGhlIGxvYWRpbmcgaW5kaWNhdG9yIGlzIGluIGl0J3MgYWN0aXZlIHN0YXRlLlxuICAgICAqIE90aGVyd2lzZSBzZXRzIHRoZSBpbmRpY2F0b3IgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBhbmQgZGlzYWJsZXMgaXQgb25jZSB0aGUgcmVxdWVzdCByZXNwb25zZSBpcyByZWNlaXZlZC5cbiAgICAgKlxuICAgICAqIFRoZSBhcmd1bWVudCBjYW4gYmUgdXNlZCB0byBjaGFpbiBvcGVyYXRpb25zIHRvZ2V0aGVyLFxuICAgICAqIG9yIHRvIGV4ZWN1dGUgY29kZSBjb25kaXRpb25hbGx5IGJhc2VkIG9uIHRoZSBzdWNjZXNzIHN0YXRlIG9mIHRoZSBkZWxlZ2F0ZSBvcGVyYXRpb24uXG4gICAgICpcbiAgICAgKiBJZiB0aGUgdGFzayBoZWxkIHdpdGhpbiB0aGUge0BsaW5rIFRhc2tDb250ZW50U2VydmljZX0gY2hhbmdlcyBiZWZvcmUgYSByZXNwb25zZSBpcyByZWNlaXZlZCwgdGhlIHJlc3BvbnNlIHdpbGwgYmUgaWdub3JlZFxuICAgICAqIGFuZCB0aGUgYGFmdGVyQWN0aW9uYCB3aWxsIG5vdCBiZSBleGVjdXRlZC5cbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gaWYgZGVsZWdhdGUgY29tcGxldGVzIHN1Y2Nlc3NmdWxseSBgdHJ1ZWAgd2lsbCBiZSBlbWl0dGVkIGludG8gdGhpcyBTdWJqZWN0LCBvdGhlcndpc2UgYGZhbHNlYCB3aWxsIGJlIGVtaXR0ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZWdhdGUoYWZ0ZXJBY3Rpb246IEFmdGVyQWN0aW9uID0gbmV3IEFmdGVyQWN0aW9uKCkpIHtcbiAgICAgICAgY29uc3QgZGVsZWdhdGVkVGFza0lkID0gdGhpcy5fc2FmZVRhc2suc3RyaW5nSWQ7XG5cbiAgICAgICAgaWYgKHRoaXMuX3Rhc2tTdGF0ZS5pc0xvYWRpbmcoZGVsZWdhdGVkVGFza0lkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NpZGVNZW51U2VydmljZS5vcGVuKHRoaXMuX3VzZXJBc3NpZ25Db21wb25lbnQsIFNpZGVNZW51U2l6ZS5NRURJVU0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcm9sZXM6IE9iamVjdC5rZXlzKHRoaXMuX3NhZmVUYXNrLnJvbGVzKS5maWx0ZXIocm9sZSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zYWZlVGFzay5yb2xlc1tyb2xlXVsnYXNzaWduJ10gIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9zYWZlVGFzay5yb2xlc1tyb2xlXVsnYXNzaWduJ10pLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAhdGhpcy5fc2FmZVRhc2sudXNlciA/IHVuZGVmaW5lZCA6IG5ldyBVc2VyVmFsdWUoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NhZmVUYXNrLnVzZXIuaWQsIHRoaXMuX3NhZmVUYXNrLnVzZXIubmFtZSwgdGhpcy5fc2FmZVRhc2sudXNlci5zdXJuYW1lLCB0aGlzLl9zYWZlVGFzay51c2VyLmVtYWlsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBuZWdhdGl2ZVJvbGVzOiBPYmplY3Qua2V5cyh0aGlzLl9zYWZlVGFzay5yb2xlcykuZmlsdGVyKHJvbGUgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2FmZVRhc2sucm9sZXNbcm9sZV1bJ2Fzc2lnbiddICE9PSB1bmRlZmluZWQgJiYgIXRoaXMuX3NhZmVUYXNrLnJvbGVzW3JvbGVdWydhc3NpZ24nXSlcbiAgICAgICAgICAgIH0gYXMgVXNlckxpc3RJbmplY3RlZERhdGEpLm9uQ2xvc2Uuc3Vic2NyaWJlKGV2ZW50ID0+IHtcblxuICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdEZWxlZ2F0ZSBzaWRlbWVudSBldmVudDonICsgZXZlbnQpO1xuICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fZXZlbnRRdWV1ZS5zY2hlZHVsZUV2ZW50KG5ldyBRdWV1ZWRFdmVudChcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuaXNUYXNrUmVsZXZhbnQoZGVsZWdhdGVkVGFza0lkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnY3VycmVudCB0YXNrIGNoYW5nZWQgYmVmb3JlIHRoZSBkZWxlZ2F0ZSBzaWRlIG1lbnUgZGF0YSB3YXMgcmVjZWl2ZWQsIGRpc2NhcmRpbmcuLi4nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbmV4dEV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXJmb3JtRGVsZWdhdGVSZXF1ZXN0KGFmdGVyQWN0aW9uLCBkZWxlZ2F0ZWRUYXNrSWQsIGV2ZW50LmRhdGEuaWQsIG5leHRFdmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIGEgYGRlbGVnYXRlYCByZXF1ZXN0IG9uIHRoZSB0YXNrIGN1cnJlbnRseSBzdG9yZWQgaW4gdGhlIGB0YXNrQ29udGVudGAgc2VydmljZVxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciB0aGUgcmVxdWVzdCBpcyBwcm9jZXNzZWRcbiAgICAgKiBAcGFyYW0gZGVsZWdhdGVkVGFza0lkIGlkIG9mIHRoZSB0YXNrIHRoYXQgaXMgYmVpbmcgZGVsZWdhdGVkXG4gICAgICogQHBhcmFtIGRlbGVnYXRlZFVzZXJJZCBpZCBvZiB0aGUgdXNlciB3aG9tIHRoZSB0YXNrIGlzIGJlaW5nIGRlbGVnYXRlZFxuICAgICAqIEBwYXJhbSBuZXh0RXZlbnQgaW5kaWNhdGVzIHRvIHRoZSBldmVudCBxdWV1ZSB0aGF0IHRoZSBuZXh0IGV2ZW50IGNhbiBiZSBwcm9jZXNzZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGVyZm9ybURlbGVnYXRlUmVxdWVzdChhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24sIGRlbGVnYXRlZFRhc2tJZDogc3RyaW5nLCBkZWxlZ2F0ZWRVc2VySWQ6IGFueSwgbmV4dEV2ZW50OiBBZnRlckFjdGlvbikge1xuICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RhcnRMb2FkaW5nKGRlbGVnYXRlZFRhc2tJZCk7XG4gICAgICAgIHRoaXMuX3Rhc2tSZXNvdXJjZVNlcnZpY2UuZGVsZWdhdGVUYXNrKHRoaXMuX3NhZmVUYXNrLnN0cmluZ0lkLCBkZWxlZ2F0ZWRVc2VySWQpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKG91dGNvbWVSZXNvdXJjZTogRXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RvcExvYWRpbmcoZGVsZWdhdGVkVGFza0lkKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1Rhc2tSZWxldmFudChkZWxlZ2F0ZWRUYXNrSWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdjdXJyZW50IHRhc2sgY2hhbmdlZCBiZWZvcmUgdGhlIGRlbGVnYXRlIHJlc3BvbnNlIGNvdWxkIGJlIHJlY2VpdmVkLCBkaXNjYXJkaW5nLi4uJyk7XG4gICAgICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG91dGNvbWVSZXNvdXJjZS5zdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFza0NvbnRlbnRTZXJ2aWNlLnVwZGF0ZVN0YXRlRGF0YShvdXRjb21lUmVzb3VyY2Uub3V0Y29tZSBhcyBEZWxlZ2F0ZVRhc2tFdmVudE91dGNvbWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoYW5nZWRGaWVsZHNNYXA6IENoYW5nZWRGaWVsZHNNYXAgPSB0aGlzLl9ldmVudFNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLnBhcnNlQ2hhbmdlZEZpZWxkc0Zyb21PdXRjb21lVHJlZShvdXRjb21lUmVzb3VyY2Uub3V0Y29tZSk7XG4gICAgICAgICAgICAgICAgaWYgKCEhY2hhbmdlZEZpZWxkc01hcCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VkRmllbGRzU2VydmljZS5lbWl0Q2hhbmdlZEZpZWxkcyhjaGFuZ2VkRmllbGRzTWFwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZVN1Y2Nlc3MoYWZ0ZXJBY3Rpb24sIG5leHRFdmVudCwgb3V0Y29tZVJlc291cmNlLm91dGNvbWUgYXMgRGVsZWdhdGVUYXNrRXZlbnRPdXRjb21lKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAob3V0Y29tZVJlc291cmNlLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc25hY2tCYXIub3BlbkVycm9yU25hY2tCYXIob3V0Y29tZVJlc291cmNlLmVycm9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlQWN0aW9ucyhhZnRlckFjdGlvbiwgbmV4dEV2ZW50LCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2tTdGF0ZS5zdG9wTG9hZGluZyhkZWxlZ2F0ZWRUYXNrSWQpO1xuICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdnZXR0aW5nIHRhc2sgZGF0YSBmYWlsZWQnLCBlcnJvcik7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pc1Rhc2tSZWxldmFudChkZWxlZ2F0ZWRUYXNrSWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdjdXJyZW50IHRhc2sgY2hhbmdlZCBiZWZvcmUgdGhlIGRlbGVnYXRlIGVycm9yIGNvdWxkIGJlIHJlY2VpdmVkJyk7XG4gICAgICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fc25hY2tCYXIub3BlbkVycm9yU25hY2tCYXIoYCR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLmFzc2lnblRhc2snKX1cbiAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5fdGFza30gJHt0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgndGFza3Muc25hY2tiYXIuZmFpbGVkJyl9YCk7XG4gICAgICAgICAgICB0aGlzLmNvbXBsZXRlQWN0aW9ucyhhZnRlckFjdGlvbiwgbmV4dEV2ZW50LCBmYWxzZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbG9hZHMgdGhlIHRhc2sgYW5kIGVtaXRzIGB0cnVlYCB0byB0aGUgYGFmdGVyQWN0aW9uYCBzdHJlYW1cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY29tcGxldGVTdWNjZXNzKGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbiwgbmV4dEV2ZW50OiBBZnRlckFjdGlvbiwgb3V0Y29tZT86IFRhc2tFdmVudE91dGNvbWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFza09wZXJhdGlvbnMucmVsb2FkKCk7XG4gICAgICAgIHRoaXMuY29tcGxldGVBY3Rpb25zKGFmdGVyQWN0aW9uLCBuZXh0RXZlbnQsIHRydWUsIG91dGNvbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXBsZXRlcyBhbGwgdGhlIGFjdGlvbiBzdHJlYW1zIGFuZCBzZW5kcyB0aGUgbm90aWZpY2F0aW9uLCB3aXRoIHRoZSBwcm92aWRlZCByZXN1bHRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY29tcGxldGVBY3Rpb25zKGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbiwgbmV4dEV2ZW50OiBBZnRlckFjdGlvbiwgcmVzdWx0OiBib29sZWFuLCBvdXRjb21lPzogVGFza0V2ZW50T3V0Y29tZSkge1xuICAgICAgICB0aGlzLnNlbmROb3RpZmljYXRpb24ocmVzdWx0LCBvdXRjb21lKTtcbiAgICAgICAgYWZ0ZXJBY3Rpb24ucmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICBuZXh0RXZlbnQucmVzb2x2ZShyZXN1bHQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2hlcyBhIGRlbGVnYXRlIG5vdGlmaWNhdGlvbiB0byB0aGUge0BsaW5rIFRhc2tFdmVudFNlcnZpY2V9XG4gICAgICogQHBhcmFtIHN1Y2Nlc3Mgd2hldGhlciB0aGUgZGVsZWdhdGUgb3BlcmF0aW9uIHdhcyBzdWNjZXNzZnVsIG9yIG5vdFxuICAgICAqIEBwYXJhbSBvdXRjb21lXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNlbmROb3RpZmljYXRpb24oc3VjY2VzczogYm9vbGVhbiwgb3V0Y29tZT86IFRhc2tFdmVudE91dGNvbWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFza0V2ZW50LnB1Ymxpc2hUYXNrRXZlbnQoY3JlYXRlVGFza0V2ZW50Tm90aWZpY2F0aW9uKHRoaXMuX3NhZmVUYXNrLCBUYXNrRXZlbnQuREVMRUdBVEUsIHN1Y2Nlc3MsIG91dGNvbWUpKTtcbiAgICB9XG59XG4iXX0=
|