@magic-xpa/angular 4.1100.0-dev4110.13 → 4.1100.0-dev4110.138
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/README.md +5 -5
- package/esm2020/index.mjs +1 -1
- package/esm2020/src/services/OverlayWindowService.mjs +37 -9
- package/esm2020/src/services/magic-color.service.mjs +1 -1
- package/esm2020/src/services/subform.magic.service.mjs +1 -1
- package/esm2020/src/services/table.magic.service.mjs +1 -1
- package/esm2020/src/services/task.magics.service.mjs +3 -3
- package/esm2020/src/ui/GuiInteractiveExecutor.mjs +8 -1
- package/esm2020/src/ui/components/base-magic-alert.component.mjs +1 -1
- package/esm2020/src/ui/components/base-magic-confirm.component.mjs +1 -1
- package/esm2020/src/ui/components/magic-alert.component.mjs +8 -8
- package/esm2020/src/ui/components/magic-confirmation-box.component.mjs +11 -11
- package/esm2020/src/ui/directives/magic-focus.directive.mjs +1 -1
- package/esm2020/src/ui/directives/magicViewContainerRef.directive.mjs +1 -1
- package/esm2020/src/ui/magic-root.component.mjs +2 -2
- package/fesm2015/magic-xpa-angular.mjs +57 -24
- package/fesm2015/magic-xpa-angular.mjs.map +1 -1
- package/fesm2020/magic-xpa-angular.mjs +57 -24
- package/fesm2020/magic-xpa-angular.mjs.map +1 -1
- package/package.json +3 -3
- package/src/services/OverlayWindowService.d.ts +9 -3
- package/src/ui/GuiInteractiveExecutor.d.ts +1 -0
package/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
# Magic-xpa/angular
|
2
|
-
|
3
|
-
This package is part of Magic xpa Web Application Framework.
|
4
|
-
It is used to easily create modern business apps powered by Angular to provide a rich user experience and meet the increasingly complex enterprise business expectations for digital transformation.
|
5
|
-
|
1
|
+
# Magic-xpa/angular
|
2
|
+
|
3
|
+
This package is part of Magic xpa Web Application Framework.
|
4
|
+
It is used to easily create modern business apps powered by Angular to provide a rich user experience and meet the increasingly complex enterprise business expectations for digital transformation.
|
5
|
+
|
package/esm2020/index.mjs
CHANGED
@@ -56,4 +56,4 @@ export * from "./src/ui/magic-modal/magic-overlay-container";
|
|
56
56
|
export * from "./src/ui/pipes/date.magic.pipe";
|
57
57
|
export * from "./src/ui/pipes/time.magic.pipe";
|
58
58
|
export * from "./src/ui/pipes/time24.magic.pipe";
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHdGQUF3RixDQUFDO0FBQ3ZHLGNBQWMsb0ZBQW9GLENBQUM7QUFDbkcsY0FBYyx1RkFBdUYsQ0FBQztBQUN0RyxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGJhcnJlbHNieS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvY29udHJvbHMubWV0YWRhdGEubW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9tYWdpYy5jb3JlLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL2ludGVyZmFjZXMvc3ViLWZvcm0tZGVmaW5pdGlvbi5pdGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3NlcnZpY2VzL2FjY2Vzc29yLm1hZ2ljLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9zZXJ2aWNlcy9jb21tYW5kcy1jb2xsZWN0b3IubWFnaWMuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3NlcnZpY2VzL2NvbXBvbmVudC1saXN0Lm1hZ2ljLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9zZXJ2aWNlcy9jb25maXJtYXRpb24uY29tcG9uZW50cy5tYWdpYy5wcm92aWRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3NlcnZpY2VzL2VuZ2luZS5tYWdpYy5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvc2VydmljZXMvZXhpdC5tYWdpYy5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvc2VydmljZXMvSVN1YmZvcm1NYWdpY1NlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9zZXJ2aWNlcy9tYWdpYy1jb2xvci5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvc2VydmljZXMvbWFnaWMubGF6eS5sb2FkZXIuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3NlcnZpY2VzL21hZ2ljLnByb3ZpZGVyc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3NlcnZpY2VzL21hZ2ljLnNlcnZpY2VzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvc2VydmljZXMvbWctZGF0ZS1hZGFwdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvc2VydmljZXMvb3ZlcmxheS5jb25haW5lci5tYWdpYy5wcm92aWRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3NlcnZpY2VzL092ZXJsYXlXaW5kb3dTZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvc2VydmljZXMvcm91dGVyLWNvbW1hbmRzLm1hZ2ljLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9zZXJ2aWNlcy9TdHlsZXNNYXBNYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvc2VydmljZXMvc3ViZm9ybS5tYWdpYy5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvc2VydmljZXMvdGFibGUubWFnaWMuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3NlcnZpY2VzL3Rhc2subWFnaWNzLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9zZXJ2aWNlcy90aXRsZS5tYWdpYy5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvR3VpSW50ZXJhY3RpdmVFeGVjdXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3VpL21hZ2ljLWNvbmZpcm1hdGlvbkJveFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3VpL21hZ2ljLXJvb3QuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvbWdlcnJvci5tYWdpYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy91aS9yb3V0ZXItY29udGFpbmVyLm1hZ2ljLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3VpL3N1YmZvcm0ubWFnaWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvdGFzay1iYXNlLm1hZ2ljLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3VpL3V0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvY29tcG9uZW50cy9iYXNlLW1hZ2ljLWFsZXJ0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3VpL2NvbXBvbmVudHMvYmFzZS1tYWdpYy1jb25maXJtLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3VpL2NvbXBvbmVudHMvbWFnaWMtYWxlcnQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvY29tcG9uZW50cy9tYWdpYy1jb25maXJtYXRpb24tYm94LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3VpL2RpcmVjdGl2ZXMvbWFnaWMtZm9jdXMuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy91aS9kaXJlY3RpdmVzL21hZ2ljVmlld0NvbnRhaW5lclJlZi5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy91aS9kaXJlY3RpdmVzL21nZm9ybWF0Lm1hZ2ljLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3VpL2RpcmVjdGl2ZXMvTm9uTWFnaWNDb250cm9sRGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvZGlyZWN0aXZlcy9yYW5nZS12YWxpZGF0b3IubWFnaWMuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy9jaGVja2JveC1ub2Zvcm1jb250cm9sLm1hZ2ljLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3VpL2RpcmVjdGl2ZXMvbWFnaWMvY2hlY2tib3gubWFnaWMuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy9jb21ib2JveC5tYWdpYy5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy91aS9kaXJlY3RpdmVzL21hZ2ljL2lucHV0Lm5vZm9ybWNvbnRyb2wubWFnaWMuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy9ub2NvbnRyb2wubWFnaWMuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy9yb3cubWFnaWMuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy9mb3JtLWNvbnRyb2xzL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL2NoZWNrYm94LmN2YS5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy91aS9kaXJlY3RpdmVzL21hZ2ljL2Zvcm0tY29udHJvbHMvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvZGF0ZS5jdmEuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy9mb3JtLWNvbnRyb2xzL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL2RlZmF1bHQuY3ZhLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3VpL21hZ2ljLW1vZGFsL2Jhc2UtbWFnaWMtb3ZlcmxheS1jb250YWluZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy91aS9tYWdpYy1tb2RhbC9tYWdpYy1tb2RhbC1mb3JtXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvbWFnaWMtbW9kYWwvbWFnaWMtbW9kYWwtaW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvbWFnaWMtbW9kYWwvbWFnaWMtb3ZlcmxheS1jb250YWluZXItd3JhcHBlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3VpL21hZ2ljLW1vZGFsL21hZ2ljLW92ZXJsYXktY29udGFpbmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvcGlwZXMvZGF0ZS5tYWdpYy5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvcGlwZXMvdGltZS5tYWdpYy5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvdWkvcGlwZXMvdGltZTI0Lm1hZ2ljLnBpcGVcIjtcbiJdfQ==
|
@@ -1,30 +1,57 @@
|
|
1
|
-
import { ComponentFactoryResolver, Injectable } from "@angular/core";
|
1
|
+
import { ComponentFactoryResolver, Injectable, Injector, Compiler } from "@angular/core";
|
2
2
|
import { ComponentListMagicService } from "./component-list.magic.service";
|
3
3
|
import { EngineMagicService } from "./engine.magic.service";
|
4
4
|
import { getGuiEventObj } from "@magic-xpa/engine";
|
5
5
|
import { OverlayContainerMagicProvider } from "./overlay.conainer.magic.provider";
|
6
6
|
import { MagicOverlayContainerWrapper } from "../ui/magic-modal/magic-overlay-container-wrapper";
|
7
7
|
import { ConfirmationComponentsMagicProvider } from "./confirmation.components.magic.provider";
|
8
|
-
import { OverlayType } from "@magic-xpa/gui";
|
8
|
+
import { OverlayType, Styles } from "@magic-xpa/gui";
|
9
9
|
import { confirmationBox } from "../ui/magic-confirmationBox";
|
10
10
|
import { isNullOrUndefined } from "@magic-xpa/mscorelib";
|
11
|
+
import { MagicLazyLoaderService } from "./magic.lazy.loader.service";
|
11
12
|
import * as i0 from "@angular/core";
|
12
13
|
import * as i1 from "./component-list.magic.service";
|
13
14
|
import * as i2 from "./engine.magic.service";
|
14
|
-
import * as i3 from "./
|
15
|
-
import * as i4 from "./
|
15
|
+
import * as i3 from "./magic.lazy.loader.service";
|
16
|
+
import * as i4 from "./overlay.conainer.magic.provider";
|
17
|
+
import * as i5 from "./confirmation.components.magic.provider";
|
16
18
|
export class OverlayWindowService {
|
17
|
-
constructor(componentFactoryResolver, componentList, engineMagicService, overlayContainerMagicProvider, confirmationComponentsMagicProvider) {
|
19
|
+
constructor(componentFactoryResolver, componentList, engineMagicService, magicLazyModuleLoader, injector, compiler, overlayContainerMagicProvider, confirmationComponentsMagicProvider) {
|
18
20
|
this.componentFactoryResolver = componentFactoryResolver;
|
19
21
|
this.componentList = componentList;
|
20
22
|
this.engineMagicService = engineMagicService;
|
23
|
+
this.magicLazyModuleLoader = magicLazyModuleLoader;
|
24
|
+
this.injector = injector;
|
25
|
+
this.compiler = compiler;
|
21
26
|
this.overlayContainerMagicProvider = overlayContainerMagicProvider;
|
22
27
|
this.confirmationComponentsMagicProvider = confirmationComponentsMagicProvider;
|
23
28
|
this.overlayWindowFocusManager = null;
|
29
|
+
this.changeDetectorRef = null;
|
24
30
|
}
|
25
|
-
init(overlayWindowsContainerViewRef, rootMagicElement) {
|
31
|
+
init(overlayWindowsContainerViewRef, rootMagicElement, changeDetectorRef) {
|
26
32
|
this.overlayWindowsContainerViewRef = overlayWindowsContainerViewRef;
|
27
33
|
this.overlayWindowFocusManager = new OverlayWindowFocusManager(rootMagicElement);
|
34
|
+
this.changeDetectorRef = changeDetectorRef;
|
35
|
+
}
|
36
|
+
loadAndOpenModule(formName, taskId, taskDescription) {
|
37
|
+
let moduleRef = this.componentList.getModuleRef(formName);
|
38
|
+
if (moduleRef == null) {
|
39
|
+
let lazyLoadModule = this.componentList.getLazyLoadModuleData(formName);
|
40
|
+
if (lazyLoadModule != null) {
|
41
|
+
let moduleName = lazyLoadModule.moduleName.replace("Magic", "");
|
42
|
+
moduleName = moduleName.replace("Module", "");
|
43
|
+
this.magicLazyModuleLoader.Load(moduleName).then(m => {
|
44
|
+
const compiled = this.compiler.compileModuleAndAllComponentsSync(m[lazyLoadModule.moduleName]);
|
45
|
+
moduleRef = compiled.ngModuleFactory.create(this.injector);
|
46
|
+
this.open(formName, taskId, taskDescription);
|
47
|
+
this.finishConfirmation(Styles.MSGBOX_BUTTON_OK, true);
|
48
|
+
});
|
49
|
+
}
|
50
|
+
}
|
51
|
+
else {
|
52
|
+
this.open(formName, taskId, taskDescription);
|
53
|
+
this.finishConfirmation(Styles.MSGBOX_BUTTON_OK, true);
|
54
|
+
}
|
28
55
|
}
|
29
56
|
open(formName, taskId, taskDescription) {
|
30
57
|
let comp = this.componentList.lazyLoadModulesMap != null && this.componentList.lazyLoadModulesMap.hasOwnProperty(formName) ? null : this.componentList.getComponent(formName);
|
@@ -35,6 +62,7 @@ export class OverlayWindowService {
|
|
35
62
|
guiEvent.TaskID = taskId;
|
36
63
|
this.engineMagicService.insertEvent(guiEvent);
|
37
64
|
});
|
65
|
+
this.changeDetectorRef.detectChanges();
|
38
66
|
}
|
39
67
|
close(commandStr) {
|
40
68
|
this.overlayWindowsContainerViewRef.remove();
|
@@ -80,14 +108,14 @@ export class OverlayWindowService {
|
|
80
108
|
return componentRef;
|
81
109
|
}
|
82
110
|
}
|
83
|
-
OverlayWindowService.ɵfac = function OverlayWindowService_Factory(t) { return new (t || OverlayWindowService)(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i1.ComponentListMagicService), i0.ɵɵinject(i2.EngineMagicService), i0.ɵɵinject(i3.
|
111
|
+
OverlayWindowService.ɵfac = function OverlayWindowService_Factory(t) { return new (t || OverlayWindowService)(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i1.ComponentListMagicService), i0.ɵɵinject(i2.EngineMagicService), i0.ɵɵinject(i3.MagicLazyLoaderService), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(i0.Compiler), i0.ɵɵinject(i4.OverlayContainerMagicProvider), i0.ɵɵinject(i5.ConfirmationComponentsMagicProvider)); };
|
84
112
|
OverlayWindowService.ɵprov = i0.ɵɵdefineInjectable({ token: OverlayWindowService, factory: OverlayWindowService.ɵfac, providedIn: 'root' });
|
85
113
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OverlayWindowService, [{
|
86
114
|
type: Injectable,
|
87
115
|
args: [{
|
88
116
|
providedIn: 'root'
|
89
117
|
}]
|
90
|
-
}], function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.ComponentListMagicService }, { type: i2.EngineMagicService }, { type: i3.
|
118
|
+
}], function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.ComponentListMagicService }, { type: i2.EngineMagicService }, { type: i3.MagicLazyLoaderService }, { type: i0.Injector }, { type: i0.Compiler }, { type: i4.OverlayContainerMagicProvider }, { type: i5.ConfirmationComponentsMagicProvider }]; }, null); })();
|
91
119
|
class OverlayWindowFocusManager {
|
92
120
|
constructor(rootMagicElement) {
|
93
121
|
this.rootMagicElement = null;
|
@@ -205,4 +233,4 @@ class DialogInfo {
|
|
205
233
|
return this.focusElementOnClose;
|
206
234
|
}
|
207
235
|
}
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3ZlcmxheVdpbmRvd1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9zZXJ2aWNlcy9PdmVybGF5V2luZG93U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsd0JBQXdCLEVBQWdCLFVBQVUsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFZLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxXQUFXLEVBQVUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVd6RCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQW9CLHdCQUFrRCxFQUNoRCxhQUF1QyxFQUN2QyxrQkFBc0MsRUFDeEMsNkJBQTRELEVBQzVELG1DQUF3RTtRQUp4RSw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2hELGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3hDLGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBK0I7UUFDNUQsd0NBQW1DLEdBQW5DLG1DQUFtQyxDQUFxQztRQU1wRiw4QkFBeUIsR0FBOEIsSUFB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RUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tcG9uZW50TGlzdE1hZ2ljU2VydmljZX0gZnJvbSBcIi4vY29tcG9uZW50LWxpc3QubWFnaWMuc2VydmljZVwiO1xyXG5pbXBvcnQge0VuZ2luZU1hZ2ljU2VydmljZX0gZnJvbSBcIi4vZW5naW5lLm1hZ2ljLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJR3VpRXZlbnQsIGdldEd1aUV2ZW50T2JqfSBmcm9tIFwiQG1hZ2ljLXhwYS9lbmdpbmVcIjtcclxuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lck1hZ2ljUHJvdmlkZXIgfSBmcm9tIFwiLi9vdmVybGF5LmNvbmFpbmVyLm1hZ2ljLnByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IE1hZ2ljT3ZlcmxheUNvbnRhaW5lcldyYXBwZXIgfSBmcm9tIFwiLi4vdWkvbWFnaWMtbW9kYWwvbWFnaWMtb3ZlcmxheS1jb250YWluZXItd3JhcHBlclwiO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnRzTWFnaWNQcm92aWRlciB9IGZyb20gXCIuL2NvbmZpcm1hdGlvbi5jb21wb25lbnRzLm1hZ2ljLnByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IE92ZXJsYXlUeXBlLCBTdHlsZXMgfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHsgY29uZmlybWF0aW9uQm94IH0gZnJvbSBcIi4uL3VpL21hZ2ljLWNvbmZpcm1hdGlvbkJveFwiO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgbWFuYWdpbmcgb3ZlcmxheSB3aW5kb3dzXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjoncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE92ZXJsYXlXaW5kb3dTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29tcG9uZW50TGlzdDpDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBlbmdpbmVNYWdpY1NlcnZpY2U6IEVuZ2luZU1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIG92ZXJsYXlDb250YWluZXJNYWdpY1Byb3ZpZGVyOiBPdmVybGF5Q29udGFpbmVyTWFnaWNQcm92aWRlcixcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvbmZpcm1hdGlvbkNvbXBvbmVudHNNYWdpY1Byb3ZpZGVyOiBDb25maXJtYXRpb25Db21wb25lbnRzTWFnaWNQcm92aWRlcikge1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlIHZpZXcgcmVmZXJlbmNlIG9mIGNvbnRhaW5lciBvZiBvdmVybGF5IHdpbmRvd1xyXG4gIHByaXZhdGUgb3ZlcmxheVdpbmRvd3NDb250YWluZXJWaWV3UmVmOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBwcml2YXRlIG92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXI6IE92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIgPSBudWxsO1xyXG5cclxuICBpbml0KG92ZXJsYXlXaW5kb3dzQ29udGFpbmVyVmlld1JlZjogVmlld0NvbnRhaW5lclJlZiwgcm9vdE1hZ2ljRWxlbWVudDogRWxlbWVudCkge1xyXG4gICAgdGhpcy5vdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWYgPSBvdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWY7XHJcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIgPSBuZXcgT3ZlcmxheVdpbmRvd0ZvY3VzTWFuYWdlcihyb290TWFnaWNFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIG9wZW4oZm9ybU5hbWU6IHN0cmluZywgdGFza0lkOiBzdHJpbmcsIHRhc2tEZXNjcmlwdGlvbjogc3RyaW5nKSB7XHJcblxyXG4gICAgLy8gZm9yIG92ZXJsYXkgd2hpY2ggYXJlIGxhenkgbG9hZGVkIGRvbid0IGZpbmQgZGF0YSBpbiBjb21wb25lbnQtbGlzdFxyXG4gICAgbGV0IGNvbXAgPSAgdGhpcy5jb21wb25lbnRMaXN0LmxhenlMb2FkTW9kdWxlc01hcCAhPSBudWxsICYmIHRoaXMuY29tcG9uZW50TGlzdC5sYXp5TG9hZE1vZHVsZXNNYXAuaGFzT3duUHJvcGVydHkoZm9ybU5hbWUpID8gbnVsbCA6dGhpcy5jb21wb25lbnRMaXN0LmdldENvbXBvbmVudChmb3JtTmFtZSk7XHJcbiAgICBsZXQgcGFyYW1ldGVycyA9IHsgdGFza0lkUGFyYW06IHRhc2tJZCwgdGFza0Rlc2NyaXB0aW9uOiB0YXNrRGVzY3JpcHRpb24gfTtcclxuXHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVNb2RhbENvbXBvbmVudCh7IE1hZ2ljRm9ybU5hbWU6IGZvcm1OYW1lLCBNb2RhbENvbXA6IGNvbXAsIE1vZGFsQ29tcFBhcmFtZXRlcnM6IHBhcmFtZXRlcnN9LCA8Q29tcG9uZW50PnRoaXMub3ZlcmxheUNvbnRhaW5lck1hZ2ljUHJvdmlkZXIuZ2V0Q29tcG9uZW50KCksIE92ZXJsYXlUeXBlLk92ZXJsYXkpO1xyXG5cclxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5vbkNsb3NlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJjbG9zZVwiLCBudWxsLCAwKTtcclxuICAgICAgZ3VpRXZlbnQuVGFza0lEID0gdGFza0lkO1xyXG4gICAgICB0aGlzLmVuZ2luZU1hZ2ljU2VydmljZS5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNsb3NlKGNvbW1hbmRTdHI6IHN0cmluZykge1xyXG4gICAgLy8gQ2xvc2UgdGhlIG92ZXJsYXkgYnkgcmVtb3ZpbmcgdGhlIG92ZXJsYXkgd2luZG93IGZyb20gaXRzIGNvbnRhaW5lclxyXG4gICAgdGhpcy5vdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWYucmVtb3ZlKCk7XHJcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIucG9wRGlhbG9nKCk7XHJcblxyXG4gICAgbGV0IGd1aUV2ZW50MTogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJkaXNwb3NlXCIsIG51bGwsIDApO1xyXG4gICAgZ3VpRXZlbnQxLlRhc2tJRCA9IGNvbW1hbmRTdHI7XHJcbiAgICB0aGlzLmVuZ2luZU1hZ2ljU2VydmljZS5pbnNlcnRFdmVudChndWlFdmVudDEpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIE9wZW4gQ29uZmlybWF0aW9uIGJveFxyXG4gICAqIEBwYXJhbSB0aXRsZSB0aXRsZSBvZiB0aGUgYm94XHJcbiAgICogQHBhcmFtIG1zZyBtZXNzYWdlXHJcbiAgICogQHBhcmFtIHN0eWxlIE1hZ2ljIHN0eWxlXHJcbiAgICovXHJcbiAgIG9wZW5Db25maXJtYXRpb25Cb3goIHRpdGxlOiBzdHJpbmcsIG1zZzogc3RyaW5nLCBzdHlsZTogU3R5bGVzKSB7XHJcblxyXG4gICAgIC8vc2hvdyBkZWZhdWx0IGNvbmZpcm1hdGlvbnNcclxuICAgIGlmICh0aGlzLmNvbmZpcm1hdGlvbkNvbXBvbmVudHNNYWdpY1Byb3ZpZGVyLnNob3dEZWZhdWx0Q29uZmlybWF0aW9ucygpKVxyXG4gICAge1xyXG4gICAgICBsZXQgcmVzID0gY29uZmlybWF0aW9uQm94LnNob3dDb25maXJtYXRpb25Cb3godGl0bGUsIG1zZywgc3R5bGUpO1xyXG4gICAgICB0aGlzLmZpbmlzaENvbmZpcm1hdGlvbiggc3R5bGUsIHJlcyk7XHJcblxyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAge1xyXG4gICAgICAvL3Nob3cgY3VzdG9tIGNvbmZpcm1hdGlvbnNcclxuICAgICAgbGV0IGNvbXAgPSBjb25maXJtYXRpb25Cb3guaXNDb25maXJtQm94KHN0eWxlKSA/IHRoaXMuY29uZmlybWF0aW9uQ29tcG9uZW50c01hZ2ljUHJvdmlkZXIuZ2V0Q29uZmlybXRpb25Db21wb25lbnQoKSA6dGhpcy5jb25maXJtYXRpb25Db21wb25lbnRzTWFnaWNQcm92aWRlci5nZXRBbGVydENvbXBvbmVudCgpICA7XHJcbiAgICAgIGxldCBvdmVybGF5VHlwZSA9IGNvbmZpcm1hdGlvbkJveC5pc0NvbmZpcm1Cb3goc3R5bGUpPyBPdmVybGF5VHlwZS5Db25maXJtYXRpb25Cb3ggOiBPdmVybGF5VHlwZS5BbGVydDtcclxuICAgICAgbGV0IGNvbXBvbmVudFJlZiA9IHRoaXMuY3JlYXRlTW9kYWxDb21wb25lbnQoeyB0aXRsZTogdGl0bGUsIG1lc3NhZ2U6IG1zZyB9LCBjb21wLCBvdmVybGF5VHlwZSk7XHJcblxyXG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uub25DbG9zZS5zdWJzY3JpYmUoKHJlcyA6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICB0aGlzLm92ZXJsYXlXaW5kb3dzQ29udGFpbmVyVmlld1JlZi5yZW1vdmUoKTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIucG9wRGlhbG9nKCk7XHJcbiAgICAgICAgdGhpcy5maW5pc2hDb25maXJtYXRpb24oIHN0eWxlLCByZXMpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIG9uIGNsb3NlIG9mIHRoZSBjb25maXJtYXRpb25cclxuICAgKiBAcGFyYW0gc3R5bGUgTWFnaWMgc3R5bGVcclxuICAgKiBAcGFyYW0gcmVzdWx0XHJcbiAgICovXHJcbiAgZmluaXNoQ29uZmlybWF0aW9uKHN0eWxlOiBTdHlsZXMsIHJlc3VsdDogYm9vbGVhbiApIHtcclxuICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJjb25maXJtYXRpb25DbG9zZWRcIiwgbnVsbCwgMCk7XHJcbiAgICBndWlFdmVudC5rZXlDb2RlID0gPG51bWJlcj5jb25maXJtYXRpb25Cb3guY29udmVydFRvRXhjcGVjdGVkUmVzdWx0Qm94KHN0eWxlLCByZXN1bHQpO1xyXG4gICAgdGhpcy5lbmdpbmVNYWdpY1NlcnZpY2UuaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogY3JlYXRlcyBhIG1vZGFsIGNvbXBvbmVudC4gQ2FuIGJlIHVzZWQgZm9yIG92ZXJsYXksIG1lc3NhZ2UgYm94IG9yIGNvbmZpcm1hdGlvbiBib3hcclxuICAgKiBAcGFyYW0gcGFyYW1ldGVycyBjb21wb25lbnQncyBwYXJhbWV0ZXJzXHJcbiAgICogQHBhcmFtIGNvbXBvbmVudCBjb21wb25lbnRzIHRvIGNyZWF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgY3JlYXRlTW9kYWxDb21wb25lbnQocGFyYW1ldGVyczogYW55LCBjb21wb25lbnQ6IENvbXBvbmVudCwgb3ZlcmxheVR5cGU6IE92ZXJsYXlUeXBlKTogQ29tcG9uZW50UmVmPGFueT4ge1xyXG4gICAgbGV0IGNvbXBvbmVudFJlZjtcclxuICAgIGxldCBtYWdpY01vZGFsQ29udGFpbmVyUGFyYW1ldGVycyA9IHtcclxuICAgICAgQ29tcG9uZW50OiBjb21wb25lbnQsXHJcbiAgICAgIFBhcmFtZXRlcnM6IHBhcmFtZXRlcnMsXHJcbiAgICAgIE92ZXJsYXlUeXBlUGFyYW06IG92ZXJsYXlUeXBlXHJcblxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBDcmVhdGUgdGhlIFVJIGNvbXBvbmVudCBvZiBtb2RhbCB3aW5kb3dcclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNYWdpY092ZXJsYXlDb250YWluZXJXcmFwcGVyKTtcclxuICAgIGxldCB2aWV3Q1JlZiA6IFZpZXdDb250YWluZXJSZWYgPSA8Vmlld0NvbnRhaW5lclJlZj50aGlzLm92ZXJsYXlXaW5kb3dzQ29udGFpbmVyVmlld1JlZjtcclxuICAgIGNvbXBvbmVudFJlZiA9IHZpZXdDUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuXHJcbiAgICAvLyBTZXQgdGhlIGRhdGEgdG8gbmV3bHkgY3JlYXRlZCBjb21wb25lbnRcclxuICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50UmVmLmluc3RhbmNlLCBtYWdpY01vZGFsQ29udGFpbmVyUGFyYW1ldGVycyk7XHJcblxyXG4gICAgdGhpcy5vdmVybGF5V2luZG93Rm9jdXNNYW5hZ2VyLnB1c2hEaWFsb2coY29tcG9uZW50UmVmLmluc3RhbmNlLkdldFJvb3RFbGVtZW50KCkpO1xyXG5cclxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5EZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIE92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXJcclxue1xyXG4gIHByaXZhdGUgcm9vdE1hZ2ljRWxlbWVudDogRWxlbWVudCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBvcGVuRGlhbG9nTGlzdDogQXJyYXk8RGlhbG9nSW5mbz4gPSBuZXcgQXJyYXkoMCk7XHJcbiAgcHJpdmF0ZSBpZ25vcmVVdGlsRm9jdXNDaGFuZ2VzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBsYXN0Rm9jdXMgPSBudWxsO1xyXG4gIHByaXZhdGUgZm9jdXNMaXN0ZW5lciA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yIChyb290TWFnaWNFbGVtZW50OiBFbGVtZW50KSB7XHJcbiAgICB0aGlzLnJvb3RNYWdpY0VsZW1lbnQgPSByb290TWFnaWNFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgcHVzaERpYWxvZyhyb290RWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuICAgIGlmICh0aGlzLm9wZW5EaWFsb2dMaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmZvY3VzTGlzdGVuZXIgPSB0aGlzLnRyYXBGb2N1cy5iaW5kKHRoaXMpO1xyXG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIHRoaXMuZm9jdXNMaXN0ZW5lciwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vcGVuRGlhbG9nTGlzdC5wdXNoKG5ldyBEaWFsb2dJbmZvKHJvb3RFbGVtZW50LCAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ID8gPEhUTUxFbGVtZW50PmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgOiBudWxsKSkpO1xyXG4gIH1cclxuXHJcbiAgcG9wRGlhbG9nKCkge1xyXG4gICAgY29uc3QgZGlhbG9nSW5mbyA9IHRoaXMub3BlbkRpYWxvZ0xpc3QucG9wKCk7XHJcbiAgICB0aGlzLmF0dGVtcHRGb2N1cyhkaWFsb2dJbmZvLkZvY3VzRWxlbWVudE9uQ2xvc2UpO1xyXG5cclxuICAgIGlmICh0aGlzLm9wZW5EaWFsb2dMaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsIHRoaXMuZm9jdXNMaXN0ZW5lciwgdHJ1ZSk7XHJcbiAgICAgIHRoaXMuZm9jdXNMaXN0ZW5lciA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0cmFwRm9jdXMgKGV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5pZ25vcmVVdGlsRm9jdXNDaGFuZ2VzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcGVuRGlhbG9nTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHZhciBjdXJyZW50RGlhbG9nID0gdGhpcy5vcGVuRGlhbG9nTGlzdFt0aGlzLm9wZW5EaWFsb2dMaXN0Lmxlbmd0aCAtIDFdLlJvb3RFbGVtZW50O1xyXG4gICAgICBpZiAoY3VycmVudERpYWxvZy5jb250YWlucyhldmVudC50YXJnZXQpKSB7XHJcbiAgICAgICAgdGhpcy5sYXN0Rm9jdXMgPSBldmVudC50YXJnZXQ7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMucm9vdE1hZ2ljRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XHJcbiAgICAgICAgICB0aGlzLmZvY3VzRmlyc3REZXNjZW5kYW50KGN1cnJlbnREaWFsb2cpO1xyXG4gICAgICAgICAgaWYgKHRoaXMubGFzdEZvY3VzID09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5mb2N1c0xhc3REZXNjZW5kYW50KGN1cnJlbnREaWFsb2cpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxhc3RGb2N1cyA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9jdXNGaXJzdERlc2NlbmRhbnQgKGVsZW1lbnQpIHtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbWVudC5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHZhciBjaGlsZCA9IGVsZW1lbnQuY2hpbGROb2Rlc1tpXTtcclxuICAgICAgaWYgKHRoaXMuYXR0ZW1wdEZvY3VzKGNoaWxkKSB8fFxyXG4gICAgICAgIHRoaXMuZm9jdXNGaXJzdERlc2NlbmRhbnQoY2hpbGQpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGZvY3VzTGFzdERlc2NlbmRhbnQgKGVsZW1lbnQpIHtcclxuICAgIGZvciAodmFyIGkgPSBlbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgdmFyIGNoaWxkID0gZWxlbWVudC5jaGlsZE5vZGVzW2ldO1xyXG4gICAgICBpZiAodGhpcy5hdHRlbXB0Rm9jdXMoY2hpbGQpIHx8XHJcbiAgICAgICAgdGhpcy5mb2N1c0xhc3REZXNjZW5kYW50KGNoaWxkKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBhdHRlbXB0Rm9jdXMgKGVsZW1lbnQpIHtcclxuICAgIGlmICghdGhpcy5pc0ZvY3VzYWJsZShlbGVtZW50KSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pZ25vcmVVdGlsRm9jdXNDaGFuZ2VzID0gdHJ1ZTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlKSB7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlnbm9yZVV0aWxGb2N1c0NoYW5nZXMgPSBmYWxzZTtcclxuICAgIHJldHVybiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZWxlbWVudCk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBpc0ZvY3VzYWJsZSAoZWxlbWVudCkge1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKGVsZW1lbnQpKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgaWYgKGVsZW1lbnQudGFiSW5kZXggPiAwIHx8IChlbGVtZW50LnRhYkluZGV4ID09PSAwICYmIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YWJJbmRleCcpICE9PSBudWxsKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGVsZW1lbnQudGFiSW5kZXggPCAwKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgaWYgKGVsZW1lbnQuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAoZWxlbWVudC5ub2RlTmFtZSkge1xyXG4gICAgICBjYXNlICdBJzpcclxuICAgICAgICByZXR1cm4gISFlbGVtZW50LmhyZWYgJiYgZWxlbWVudC5yZWwgIT0gJ2lnbm9yZSc7XHJcbiAgICAgIGNhc2UgJ0lOUFVUJzpcclxuICAgICAgICByZXR1cm4gZWxlbWVudC50eXBlICE9ICdoaWRkZW4nICYmIGVsZW1lbnQudHlwZSAhPSAnZmlsZSc7XHJcbiAgICAgIGNhc2UgJ0JVVFRPTic6XHJcbiAgICAgIGNhc2UgJ1NFTEVDVCc6XHJcbiAgICAgIGNhc2UgJ1RFWFRBUkVBJzpcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5jbGFzcyBEaWFsb2dJbmZvXHJcbntcclxuICBwcml2YXRlIHJvb3RFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIGZvY3VzRWxlbWVudE9uQ2xvc2U6IEhUTUxFbGVtZW50O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihyb290RWxlbWVudDogSFRNTEVsZW1lbnQsIGZvY3VzRWxlbWVudE9uQ2xvc2U6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLnJvb3RFbGVtZW50ID0gcm9vdEVsZW1lbnQ7XHJcbiAgICB0aGlzLmZvY3VzRWxlbWVudE9uQ2xvc2UgPSBmb2N1c0VsZW1lbnRPbkNsb3NlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IFJvb3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcclxuICAgIHJldHVybiB0aGlzLnJvb3RFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0IEZvY3VzRWxlbWVudE9uQ2xvc2UoKTogSFRNTEVsZW1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9jdXNFbGVtZW50T25DbG9zZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3ZlcmxheVdpbmRvd1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9zZXJ2aWNlcy9PdmVybGF5V2luZG93U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsd0JBQXdCLEVBQWdCLFVBQVUsRUFBRSxRQUFRLEVBQXFCLFFBQVEsRUFHNUcsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHlCQUF5QixFQUFhLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFZLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBV25FLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBb0Isd0JBQWtELEVBQ2hELGFBQXVDLEVBQ3ZDLGtCQUFzQyxFQUN4QyxxQkFBNkMsRUFDN0MsUUFBa0IsRUFDbEIsUUFBa0IsRUFDbEIsNkJBQTRELEVBQzVELG1DQUF3RTtRQVB4RSw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2hELGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2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LFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQztZQUM1RCxLQUFLLFFBQVEsQ0FBQztZQUNkLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxVQUFVO2dCQUNiLE9BQU8sSUFBSSxDQUFDO1lBQ2Q7Z0JBQ0UsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVU7SUFLZCxZQUFZLFdBQXdCLEVBQUUsbUJBQWdDO1FBQ3BFLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3RvciwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBpbGVyLFxyXG4gIE5nTW9kdWxlUmVmLFxyXG4gIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UsIE1vZHVsZURhdGF9IGZyb20gXCIuL2NvbXBvbmVudC1saXN0Lm1hZ2ljLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtFbmdpbmVNYWdpY1NlcnZpY2V9IGZyb20gXCIuL2VuZ2luZS5tYWdpYy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SUd1aUV2ZW50LCBnZXRHdWlFdmVudE9ian0gZnJvbSBcIkBtYWdpYy14cGEvZW5naW5lXCI7XHJcbmltcG9ydCB7IE92ZXJsYXlDb250YWluZXJNYWdpY1Byb3ZpZGVyIH0gZnJvbSBcIi4vb3ZlcmxheS5jb25haW5lci5tYWdpYy5wcm92aWRlclwiO1xyXG5pbXBvcnQgeyBNYWdpY092ZXJsYXlDb250YWluZXJXcmFwcGVyIH0gZnJvbSBcIi4uL3VpL21hZ2ljLW1vZGFsL21hZ2ljLW92ZXJsYXktY29udGFpbmVyLXdyYXBwZXJcIjtcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50c01hZ2ljUHJvdmlkZXIgfSBmcm9tIFwiLi9jb25maXJtYXRpb24uY29tcG9uZW50cy5tYWdpYy5wcm92aWRlclwiO1xyXG5pbXBvcnQgeyBPdmVybGF5VHlwZSwgU3R5bGVzIH0gZnJvbSBcIkBtYWdpYy14cGEvZ3VpXCI7XHJcbmltcG9ydCB7IGNvbmZpcm1hdGlvbkJveCB9IGZyb20gXCIuLi91aS9tYWdpYy1jb25maXJtYXRpb25Cb3hcIjtcclxuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtNYWdpY0xhenlMb2FkZXJTZXJ2aWNlfSBmcm9tIFwiLi9tYWdpYy5sYXp5LmxvYWRlci5zZXJ2aWNlXCI7XHJcblxyXG5cclxuXHJcblxyXG4vKipcclxuICogU2VydmljZSBtYW5hZ2luZyBvdmVybGF5IHdpbmRvd3NcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOidyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgT3ZlcmxheVdpbmRvd1NlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBjb21wb25lbnRMaXN0OkNvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIGVuZ2luZU1hZ2ljU2VydmljZTogRW5naW5lTWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgbWFnaWNMYXp5TW9kdWxlTG9hZGVyOiBNYWdpY0xhenlMb2FkZXJTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgb3ZlcmxheUNvbnRhaW5lck1hZ2ljUHJvdmlkZXI6IE92ZXJsYXlDb250YWluZXJNYWdpY1Byb3ZpZGVyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY29uZmlybWF0aW9uQ29tcG9uZW50c01hZ2ljUHJvdmlkZXI6IENvbmZpcm1hdGlvbkNvbXBvbmVudHNNYWdpY1Byb3ZpZGVyKSB7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgdmlldyByZWZlcmVuY2Ugb2YgY29udGFpbmVyIG9mIG92ZXJsYXkgd2luZG93XHJcbiAgcHJpdmF0ZSBvdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWY6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIHByaXZhdGUgb3ZlcmxheVdpbmRvd0ZvY3VzTWFuYWdlcjogT3ZlcmxheVdpbmRvd0ZvY3VzTWFuYWdlciA9IG51bGw7XHJcblxyXG4gIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmID0gbnVsbDtcclxuXHJcbiAgaW5pdChvdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWY6IFZpZXdDb250YWluZXJSZWYsIHJvb3RNYWdpY0VsZW1lbnQ6IEVsZW1lbnQsIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy5vdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWYgPSBvdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWY7XHJcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIgPSBuZXcgT3ZlcmxheVdpbmRvd0ZvY3VzTWFuYWdlcihyb290TWFnaWNFbGVtZW50KTtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYgPSBjaGFuZ2VEZXRlY3RvclJlZjtcclxuICB9XHJcblxyXG4gIGxvYWRBbmRPcGVuTW9kdWxlIChmb3JtTmFtZTogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZywgdGFza0Rlc2NyaXB0aW9uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxldCBtb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4gPSB0aGlzLmNvbXBvbmVudExpc3QuZ2V0TW9kdWxlUmVmKGZvcm1OYW1lKTtcclxuXHJcbiAgICBpZiAobW9kdWxlUmVmID09IG51bGwpIHtcclxuICAgICAgbGV0IGxhenlMb2FkTW9kdWxlOiBNb2R1bGVEYXRhID0gdGhpcy5jb21wb25lbnRMaXN0LmdldExhenlMb2FkTW9kdWxlRGF0YShmb3JtTmFtZSk7XHJcblxyXG4gICAgICBpZiAobGF6eUxvYWRNb2R1bGUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgbGV0IG1vZHVsZU5hbWUgPSBsYXp5TG9hZE1vZHVsZS5tb2R1bGVOYW1lLnJlcGxhY2UoXCJNYWdpY1wiLCBcIlwiKTtcclxuICAgICAgICAgIG1vZHVsZU5hbWUgPSBtb2R1bGVOYW1lLnJlcGxhY2UoXCJNb2R1bGVcIiwgXCJcIik7XHJcbiAgICAgICAgICB0aGlzLm1hZ2ljTGF6eU1vZHVsZUxvYWRlci5Mb2FkKG1vZHVsZU5hbWUpLnRoZW4obSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbXBpbGVkID0gdGhpcy5jb21waWxlci5jb21waWxlTW9kdWxlQW5kQWxsQ29tcG9uZW50c1N5bmMoPGFueT5tW2xhenlMb2FkTW9kdWxlLm1vZHVsZU5hbWVdKTtcclxuICAgICAgICAgICAgbW9kdWxlUmVmID0gY29tcGlsZWQubmdNb2R1bGVGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuICAgICAgICAgICAgdGhpcy5vcGVuKGZvcm1OYW1lLCB0YXNrSWQsIHRhc2tEZXNjcmlwdGlvbik7XHJcbiAgICAgICAgICAgIHRoaXMuZmluaXNoQ29uZmlybWF0aW9uKFN0eWxlcy5NU0dCT1hfQlVUVE9OX09LLCB0cnVlKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5vcGVuKGZvcm1OYW1lLCB0YXNrSWQsIHRhc2tEZXNjcmlwdGlvbik7XHJcbiAgICAgIHRoaXMuZmluaXNoQ29uZmlybWF0aW9uKFN0eWxlcy5NU0dCT1hfQlVUVE9OX09LLCB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW4oZm9ybU5hbWU6IHN0cmluZywgdGFza0lkOiBzdHJpbmcsIHRhc2tEZXNjcmlwdGlvbjogc3RyaW5nKSB7XHJcblxyXG4gICAgLy8gZm9yIG92ZXJsYXkgd2hpY2ggYXJlIGxhenkgbG9hZGVkIGRvbid0IGZpbmQgZGF0YSBpbiBjb21wb25lbnQtbGlzdFxyXG4gICAgbGV0IGNvbXAgPSAgdGhpcy5jb21wb25lbnRMaXN0LmxhenlMb2FkTW9kdWxlc01hcCAhPSBudWxsICYmIHRoaXMuY29tcG9uZW50TGlzdC5sYXp5TG9hZE1vZHVsZXNNYXAuaGFzT3duUHJvcGVydHkoZm9ybU5hbWUpID8gbnVsbCA6dGhpcy5jb21wb25lbnRMaXN0LmdldENvbXBvbmVudChmb3JtTmFtZSk7XHJcbiAgICBsZXQgcGFyYW1ldGVycyA9IHsgdGFza0lkUGFyYW06IHRhc2tJZCwgdGFza0Rlc2NyaXB0aW9uOiB0YXNrRGVzY3JpcHRpb24gfTtcclxuXHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVNb2RhbENvbXBvbmVudCh7IE1hZ2ljRm9ybU5hbWU6IGZvcm1OYW1lLCBNb2RhbENvbXA6IGNvbXAsIE1vZGFsQ29tcFBhcmFtZXRlcnM6IHBhcmFtZXRlcnN9LCA8Q29tcG9uZW50PnRoaXMub3ZlcmxheUNvbnRhaW5lck1hZ2ljUHJvdmlkZXIuZ2V0Q29tcG9uZW50KCksIE92ZXJsYXlUeXBlLk92ZXJsYXkpO1xyXG5cclxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5vbkNsb3NlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJjbG9zZVwiLCBudWxsLCAwKTtcclxuICAgICAgZ3VpRXZlbnQuVGFza0lEID0gdGFza0lkO1xyXG4gICAgICB0aGlzLmVuZ2luZU1hZ2ljU2VydmljZS5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvL3VzaW5nIHRoZSBzYW1lIGNoYW5nZURldGVjdG9yUmVmIGZyb20gcm9vdC1jb21wb25lbnRcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoY29tbWFuZFN0cjogc3RyaW5nKSB7XHJcbiAgICAvLyBDbG9zZSB0aGUgb3ZlcmxheSBieSByZW1vdmluZyB0aGUgb3ZlcmxheSB3aW5kb3cgZnJvbSBpdHMgY29udGFpbmVyXHJcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3dzQ29udGFpbmVyVmlld1JlZi5yZW1vdmUoKTtcclxuICAgIHRoaXMub3ZlcmxheVdpbmRvd0ZvY3VzTWFuYWdlci5wb3BEaWFsb2coKTtcclxuXHJcbiAgICBsZXQgZ3VpRXZlbnQxOiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaihcImRpc3Bvc2VcIiwgbnVsbCwgMCk7XHJcbiAgICBndWlFdmVudDEuVGFza0lEID0gY29tbWFuZFN0cjtcclxuICAgIHRoaXMuZW5naW5lTWFnaWNTZXJ2aWNlLmluc2VydEV2ZW50KGd1aUV2ZW50MSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogT3BlbiBDb25maXJtYXRpb24gYm94XHJcbiAgICogQHBhcmFtIHRpdGxlIHRpdGxlIG9mIHRoZSBib3hcclxuICAgKiBAcGFyYW0gbXNnIG1lc3NhZ2VcclxuICAgKiBAcGFyYW0gc3R5bGUgTWFnaWMgc3R5bGVcclxuICAgKi9cclxuICAgb3BlbkNvbmZpcm1hdGlvbkJveCggdGl0bGU6IHN0cmluZywgbXNnOiBzdHJpbmcsIHN0eWxlOiBTdHlsZXMpIHtcclxuXHJcbiAgICAgLy9zaG93IGRlZmF1bHQgY29uZmlybWF0aW9uc1xyXG4gICAgaWYgKHRoaXMuY29uZmlybWF0aW9uQ29tcG9uZW50c01hZ2ljUHJvdmlkZXIuc2hvd0RlZmF1bHRDb25maXJtYXRpb25zKCkpXHJcbiAgICB7XHJcbiAgICAgIGxldCByZXMgPSBjb25maXJtYXRpb25Cb3guc2hvd0NvbmZpcm1hdGlvbkJveCh0aXRsZSwgbXNnLCBzdHlsZSk7XHJcbiAgICAgIHRoaXMuZmluaXNoQ29uZmlybWF0aW9uKCBzdHlsZSwgcmVzKTtcclxuXHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICB7XHJcbiAgICAgIC8vc2hvdyBjdXN0b20gY29uZmlybWF0aW9uc1xyXG4gICAgICBsZXQgY29tcCA9IGNvbmZpcm1hdGlvbkJveC5pc0NvbmZpcm1Cb3goc3R5bGUpID8gdGhpcy5jb25maXJtYXRpb25Db21wb25lbnRzTWFnaWNQcm92aWRlci5nZXRDb25maXJtdGlvbkNvbXBvbmVudCgpIDp0aGlzLmNvbmZpcm1hdGlvbkNvbXBvbmVudHNNYWdpY1Byb3ZpZGVyLmdldEFsZXJ0Q29tcG9uZW50KCkgIDtcclxuICAgICAgbGV0IG92ZXJsYXlUeXBlID0gY29uZmlybWF0aW9uQm94LmlzQ29uZmlybUJveChzdHlsZSk/IE92ZXJsYXlUeXBlLkNvbmZpcm1hdGlvbkJveCA6IE92ZXJsYXlUeXBlLkFsZXJ0O1xyXG4gICAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVNb2RhbENvbXBvbmVudCh7IHRpdGxlOiB0aXRsZSwgbWVzc2FnZTogbXNnIH0sIGNvbXAsIG92ZXJsYXlUeXBlKTtcclxuXHJcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5vbkNsb3NlLnN1YnNjcmliZSgocmVzIDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIHRoaXMub3ZlcmxheVdpbmRvd3NDb250YWluZXJWaWV3UmVmLnJlbW92ZSgpO1xyXG4gICAgICAgIHRoaXMub3ZlcmxheVdpbmRvd0ZvY3VzTWFuYWdlci5wb3BEaWFsb2coKTtcclxuICAgICAgICB0aGlzLmZpbmlzaENvbmZpcm1hdGlvbiggc3R5bGUsIHJlcyk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgb24gY2xvc2Ugb2YgdGhlIGNvbmZpcm1hdGlvblxyXG4gICAqIEBwYXJhbSBzdHlsZSBNYWdpYyBzdHlsZVxyXG4gICAqIEBwYXJhbSByZXN1bHRcclxuICAgKi9cclxuICBmaW5pc2hDb25maXJtYXRpb24oc3R5bGU6IFN0eWxlcywgcmVzdWx0OiBib29sZWFuICkge1xyXG4gICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaihcImNvbmZpcm1hdGlvbkNsb3NlZFwiLCBudWxsLCAwKTtcclxuICAgIGd1aUV2ZW50LmtleUNvZGUgPSA8bnVtYmVyPmNvbmZpcm1hdGlvbkJveC5jb252ZXJ0VG9FeGNwZWN0ZWRSZXN1bHRCb3goc3R5bGUsIHJlc3VsdCk7XHJcbiAgICB0aGlzLmVuZ2luZU1hZ2ljU2VydmljZS5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBjcmVhdGVzIGEgbW9kYWwgY29tcG9uZW50LiBDYW4gYmUgdXNlZCBmb3Igb3ZlcmxheSwgbWVzc2FnZSBib3ggb3IgY29uZmlybWF0aW9uIGJveFxyXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJzIGNvbXBvbmVudCdzIHBhcmFtZXRlcnNcclxuICAgKiBAcGFyYW0gY29tcG9uZW50IGNvbXBvbmVudHMgdG8gY3JlYXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVNb2RhbENvbXBvbmVudChwYXJhbWV0ZXJzOiBhbnksIGNvbXBvbmVudDogQ29tcG9uZW50LCBvdmVybGF5VHlwZTogT3ZlcmxheVR5cGUpOiBDb21wb25lbnRSZWY8YW55PiB7XHJcbiAgICBsZXQgY29tcG9uZW50UmVmO1xyXG4gICAgbGV0IG1hZ2ljTW9kYWxDb250YWluZXJQYXJhbWV0ZXJzID0ge1xyXG4gICAgICBDb21wb25lbnQ6IGNvbXBvbmVudCxcclxuICAgICAgUGFyYW1ldGVyczogcGFyYW1ldGVycyxcclxuICAgICAgT3ZlcmxheVR5cGVQYXJhbTogb3ZlcmxheVR5cGVcclxuXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIENyZWF0ZSB0aGUgVUkgY29tcG9uZW50IG9mIG1vZGFsIHdpbmRvd1xyXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KE1hZ2ljT3ZlcmxheUNvbnRhaW5lcldyYXBwZXIpO1xyXG4gICAgbGV0IHZpZXdDUmVmIDogVmlld0NvbnRhaW5lclJlZiA9IDxWaWV3Q29udGFpbmVyUmVmPnRoaXMub3ZlcmxheVdpbmRvd3NDb250YWluZXJWaWV3UmVmO1xyXG4gICAgY29tcG9uZW50UmVmID0gdmlld0NSZWYuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xyXG5cclxuICAgIC8vIFNldCB0aGUgZGF0YSB0byBuZXdseSBjcmVhdGVkIGNvbXBvbmVudFxyXG4gICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIG1hZ2ljTW9kYWxDb250YWluZXJQYXJhbWV0ZXJzKTtcclxuXHJcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIucHVzaERpYWxvZyhjb21wb25lbnRSZWYuaW5zdGFuY2UuR2V0Um9vdEVsZW1lbnQoKSk7XHJcblxyXG4gICAgY29tcG9uZW50UmVmLmluc3RhbmNlLkRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gIH1cclxufVxyXG5cclxuY2xhc3MgT3ZlcmxheVdpbmRvd0ZvY3VzTWFuYWdlclxyXG57XHJcbiAgcHJpdmF0ZSByb290TWFnaWNFbGVtZW50OiBFbGVtZW50ID0gbnVsbDtcclxuICBwcml2YXRlIG9wZW5EaWFsb2dMaXN0OiBBcnJheTxEaWFsb2dJbmZvPiA9IG5ldyBBcnJheSgwKTtcclxuICBwcml2YXRlIGlnbm9yZVV0aWxGb2N1c0NoYW5nZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIGxhc3RGb2N1cyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBmb2N1c0xpc3RlbmVyID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IgKHJvb3RNYWdpY0VsZW1lbnQ6IEVsZW1lbnQpIHtcclxuICAgIHRoaXMucm9vdE1hZ2ljRWxlbWVudCA9IHJvb3RNYWdpY0VsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBwdXNoRGlhbG9nKHJvb3RFbGVtZW50OiBIVE1MRWxlbWVudCkge1xyXG4gICAgaWYgKHRoaXMub3BlbkRpYWxvZ0xpc3QubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuZm9jdXNMaXN0ZW5lciA9IHRoaXMudHJhcEZvY3VzLmJpbmQodGhpcyk7XHJcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgdGhpcy5mb2N1c0xpc3RlbmVyLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9wZW5EaWFsb2dMaXN0LnB1c2gobmV3IERpYWxvZ0luZm8ocm9vdEVsZW1lbnQsIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgPyA8SFRNTEVsZW1lbnQ+ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA6IG51bGwpKSk7XHJcbiAgfVxyXG5cclxuICBwb3BEaWFsb2coKSB7XHJcbiAgICBjb25zdCBkaWFsb2dJbmZvID0gdGhpcy5vcGVuRGlhbG9nTGlzdC5wb3AoKTtcclxuICAgIHRoaXMuYXR0ZW1wdEZvY3VzKGRpYWxvZ0luZm8uRm9jdXNFbGVtZW50T25DbG9zZSk7XHJcblxyXG4gICAgaWYgKHRoaXMub3BlbkRpYWxvZ0xpc3QubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgdGhpcy5mb2N1c0xpc3RlbmVyLCB0cnVlKTtcclxuICAgICAgdGhpcy5mb2N1c0xpc3RlbmVyID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRyYXBGb2N1cyAoZXZlbnQpIHtcclxuICAgIGlmICh0aGlzLmlnbm9yZVV0aWxGb2N1c0NoYW5nZXMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9wZW5EaWFsb2dMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdmFyIGN1cnJlbnREaWFsb2cgPSB0aGlzLm9wZW5EaWFsb2dMaXN0W3RoaXMub3BlbkRpYWxvZ0xpc3QubGVuZ3RoIC0gMV0uUm9vdEVsZW1lbnQ7XHJcbiAgICAgIGlmIChjdXJyZW50RGlhbG9nLmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcclxuICAgICAgICB0aGlzLmxhc3RGb2N1cyA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5yb290TWFnaWNFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcclxuICAgICAgICAgIHRoaXMuZm9jdXNGaXJzdERlc2NlbmRhbnQoY3VycmVudERpYWxvZyk7XHJcbiAgICAgICAgICBpZiAodGhpcy5sYXN0Rm9jdXMgPT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmZvY3VzTGFzdERlc2NlbmRhbnQoY3VycmVudERpYWxvZyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdEZvY3VzID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb2N1c0ZpcnN0RGVzY2VuZGFudCAoZWxlbWVudCkge1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdmFyIGNoaWxkID0gZWxlbWVudC5jaGlsZE5vZGVzW2ldO1xyXG4gICAgICBpZiAodGhpcy5hdHRlbXB0Rm9jdXMoY2hpbGQpIHx8XHJcbiAgICAgICAgdGhpcy5mb2N1c0ZpcnN0RGVzY2VuZGFudChjaGlsZCkpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgZm9jdXNMYXN0RGVzY2VuZGFudCAoZWxlbWVudCkge1xyXG4gICAgZm9yICh2YXIgaSA9IGVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICB2YXIgY2hpbGQgPSBlbGVtZW50LmNoaWxkTm9kZXNbaV07XHJcbiAgICAgIGlmICh0aGlzLmF0dGVtcHRGb2N1cyhjaGlsZCkgfHxcclxuICAgICAgICB0aGlzLmZvY3VzTGFzdERlc2NlbmRhbnQoY2hpbGQpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGF0dGVtcHRGb2N1cyAoZWxlbWVudCkge1xyXG4gICAgaWYgKCF0aGlzLmlzRm9jdXNhYmxlKGVsZW1lbnQpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlnbm9yZVV0aWxGb2N1c0NoYW5nZXMgPSB0cnVlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgZWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGUpIHtcclxuICAgIH1cclxuICAgIHRoaXMuaWdub3JlVXRpbEZvY3VzQ2hhbmdlcyA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlbGVtZW50KTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGlzRm9jdXNhYmxlIChlbGVtZW50KSB7XHJcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQoZWxlbWVudCkpXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBpZiAoZWxlbWVudC50YWJJbmRleCA+IDAgfHwgKGVsZW1lbnQudGFiSW5kZXggPT09IDAgJiYgZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhYkluZGV4JykgIT09IG51bGwpKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZWxlbWVudC50YWJJbmRleCA8IDApXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBpZiAoZWxlbWVudC5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc3dpdGNoIChlbGVtZW50Lm5vZGVOYW1lKSB7XHJcbiAgICAgIGNhc2UgJ0EnOlxyXG4gICAgICAgIHJldHVybiAhIWVsZW1lbnQuaHJlZiAmJiBlbGVtZW50LnJlbCAhPSAnaWdub3JlJztcclxuICAgICAgY2FzZSAnSU5QVVQnOlxyXG4gICAgICAgIHJldHVybiBlbGVtZW50LnR5cGUgIT0gJ2hpZGRlbicgJiYgZWxlbWVudC50eXBlICE9ICdmaWxlJztcclxuICAgICAgY2FzZSAnQlVUVE9OJzpcclxuICAgICAgY2FzZSAnU0VMRUNUJzpcclxuICAgICAgY2FzZSAnVEVYVEFSRUEnOlxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIERpYWxvZ0luZm9cclxue1xyXG4gIHByaXZhdGUgcm9vdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgZm9jdXNFbGVtZW50T25DbG9zZTogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJvb3RFbGVtZW50OiBIVE1MRWxlbWVudCwgZm9jdXNFbGVtZW50T25DbG9zZTogSFRNTEVsZW1lbnQpIHtcclxuICAgIHRoaXMucm9vdEVsZW1lbnQgPSByb290RWxlbWVudDtcclxuICAgIHRoaXMuZm9jdXNFbGVtZW50T25DbG9zZSA9IGZvY3VzRWxlbWVudE9uQ2xvc2U7XHJcbiAgfVxyXG5cclxuICBnZXQgUm9vdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMucm9vdEVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBnZXQgRm9jdXNFbGVtZW50T25DbG9zZSgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5mb2N1c0VsZW1lbnRPbkNsb3NlO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiJdfQ==
|
@@ -96,4 +96,4 @@ MagicColorService.ɵprov = i0.ɵɵdefineInjectable({ token: MagicColorService, f
|
|
96
96
|
type: Inject,
|
97
97
|
args: [COLOR_FILE_NAME]
|
98
98
|
}] }]; }, null); })();
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtY29sb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3NlcnZpY2VzL21hZ2ljLWNvbG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBR2xELE1BQU0sQ0FBQyxJQUFJLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBUyxXQUFXLEVBQUU7SUFDbkUsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWE7Q0FDN0IsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFXLENBQUMsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQVcsQ0FBQyxDQUFDO0FBR3hDLE1BQU0sU0FBUyxHQUFXLENBQUMsQ0FBQztBQUM1QixNQUFNLFNBQVMsR0FBVyxDQUFDLENBQUM7QUFDNUIsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLENBQUU7QUFDbkMsTUFBTSxjQUFjLEdBQVcsQ0FBQyxDQUFDO0FBS2pDLE1BQU0sT0FBTyxpQkFBaUI7SUFHckIsZ0JBQWdCO1FBQ3JCLE9BQU8sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQU1ELFlBQW9CLElBQWdCLEVBQTJCLGFBQXFCLGFBQWE7UUFBN0UsU0FBSSxHQUFKLElBQUksQ0FBWTtRQVY3QixrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQU83QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUkzQixJQUFJLFVBQVU7WUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQzs7WUFFaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7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LElBQUcsdUJBQXVCOzRCQUMzRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDbkIsTUFBTTtvQkFDUixLQUFLLGNBQWM7d0JBQ2pCLElBQUksZUFBZSxJQUFJLFNBQVMsSUFBSSxlQUFlLElBQUcsdUJBQXVCLEVBQUU7NEJBQzdFLElBQUksZUFBZSxJQUFJLGNBQWM7Z0NBQ25DLGFBQWEsR0FBRyxJQUFJLENBQUM7NEJBQ3ZCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUNsQjt3QkFDRCxNQUFNO29CQUNSO3dCQUNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkNBQTZDLEdBQUcsVUFBVSxDQUFDLENBQUM7d0JBQ3hFLE9BQU8sRUFBRSxDQUFDO2lCQUNiO2dCQUVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQ2pEOztnQkFDQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1NBQy9EO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztrRkFuR1UsaUJBQWlCLDBDQVdrQixlQUFlO3lEQVhsRCxpQkFBaUIsV0FBakIsaUJBQWlCLG1CQUZoQixNQUFNO3VGQUVQLGlCQUFpQjtjQUg3QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O3NCQVl3QyxNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5cbmV4cG9ydCBsZXQgQ09MT1JfRklMRV9OQU1FID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ2NvbG9yRmlsZScsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiAnY2xyX3JudC5lbmcnXG59KTtcbmV4cG9ydCBjb25zdCBNQUdJQ19GR19DT0xPUjogbnVtYmVyID0gMTtcbmV4cG9ydCBjb25zdCBNQUdJQ19CR19DT0xPUjogbnVtYmVyID0gMjtcblxuXG5jb25zdCBTWVNURU1fRkc6IG51bWJlciA9IDI7XG5jb25zdCBTWVNURU1fQkc6IG51bWJlciA9IDQ7XG5jb25zdCBTWVNURU1fRkdfQU5EX1NZU1RFTV9CRyA9IDYgO1xuY29uc3QgVFJBTlNQRVJFTlRfQkc6IG51bWJlciA9IDE7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1hZ2ljQ29sb3JTZXJ2aWNlIHtcbiAgcHVibGljIGNvbG9yRmlsZU5hbWUgPSAnY2xyX3JudC5lbmcnO1xuXG4gIHB1YmxpYyBnZXRDb2xvckZpbGVQYXRoKCkge1xuICAgIHJldHVybiAnYXNzZXRzLycgKyB0aGlzLmNvbG9yRmlsZU5hbWU7XG4gIH1cblxuICBwcml2YXRlIGNvbG9yc0RhdGE7XG4gIHByaXZhdGUgZmlsZU5vdEZvdW5kID0gZmFsc2U7XG5cbiAgLy8gcHVibGljIHN0YXRpYyBGSUxFX05BTUU7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgQEluamVjdChDT0xPUl9GSUxFX05BTUUpIGNvbG9yRmlsZTE6IHN0cmluZyA9ICdjbHJfcm50LmVuZycpIHtcbiAgICBpZiAoY29sb3JGaWxlMSlcbiAgICAgIHRoaXMuY29sb3JGaWxlTmFtZSA9IGNvbG9yRmlsZTE7XG4gICAgZWxzZVxuICAgICAgdGhpcy5jb2xvckZpbGVOYW1lID0gJ2Nscl9ybnQuZW5nJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29sb3JEYXRhKCkge1xuXG4gICAgaWYgKCF0aGlzLmNvbG9yc0RhdGEpIHtcbiAgICAgIHRoaXMuaHR0cC5nZXQodGhpcy5nZXRDb2xvckZpbGVQYXRoKCksIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSkuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgICAgIHRoaXMuY29sb3JzRGF0YSA9IHJlc3AucmVwbGFjZSgvXFxuL2csICdAJykuc3BsaXQoJ0AnKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3IxID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdGaWxlIG5vdCBmb3VuZCAnICsgdGhpcy5jb2xvckZpbGVOYW1lKTtcbiAgICAgICAgICB0aGlzLmZpbGVOb3RGb3VuZCA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gIH1cblxuICBwcml2YXRlIGhleFRvUmdiYShoZXg6IGFueSwgaXNUcmFuc3BlcmVudDogYm9vbGVhbik6IGFueSB7XG4gICAgbGV0IHNob3J0aGFuZFJlZ2V4ID0gL14jPyhbYS1mXFxkXSkoW2EtZlxcZF0pKFthLWZcXGRdKShbYS1mXFxkXSkkL2k7XG4gICAgLy8gY29udmVydCBpdCB0byBmb3JtYXQgOiBhYXJyZ2diYlxuICAgIGhleCA9IGhleC5yZXBsYWNlKHNob3J0aGFuZFJlZ2V4LCBmdW5jdGlvbihtOiBhbnksIHI6IGFueSwgZzogYW55LCBiOiBhbnksIGE6IGFueSkge1xuICAgICAgcmV0dXJuIGEgKyBhICsgciArIHIgKyBnICsgZyArIGIgKyBiO1xuICAgIH0pO1xuXG4gICAgbGV0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pJC9pLmV4ZWMoaGV4KTtcblxuICAgIGxldCByZ2IgPSB7XG4gICAgICAncmVkJzogcGFyc2VJbnQocmVzdWx0IVs0XSwgMTYpLFxuICAgICAgJ2dyZWVuJzogcGFyc2VJbnQocmVzdWx0IVszXSwgMTYpLFxuICAgICAgJ2JsdWUnOiBwYXJzZUludChyZXN1bHQhWzJdLCAxNiksXG4gICAgICAnYWxwaGEnOiAoMjU1IC0gcGFyc2VJbnQocmVzdWx0IVsxXSwgMTYpKSAvIDI1NVxuICAgIH07XG4gICAgaWYgKGlzVHJhbnNwZXJlbnQpXG4gICAgICByZ2IuYWxwaGEgPSAwO1xuXG4gICAgcmV0dXJuICdyZ2JhKCcgKyByZ2IucmVkICsgJywnICsgcmdiLmdyZWVuICsgJywnICsgcmdiLmJsdWUgKyAnLCcgKyByZ2IuYWxwaGEgKyAnKSc7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcmdiYSB2YWx1ZSBvZiBzcGVjaWZpZWQgY29sb3JcbiAgICogQHJldHVybnMgOiB2YWx1ZSBpbiBmb3JtYXQgcmdiYSgxMjgsMTI4LDEyOCwxKVxuICAgKiBAcGFyYW0gOiBjb2xvck51bWJlciAtMCBiYXNlZCBpbmRleCBvZiBjb2xvciBmb3Igd2hpY2ggUkdCQSB2YWx1ZXMgYXJlIHJldHVybmVkXG4gICAqIEBwYXJhbTogY29sb3JUeXBlIDogMS1NQUdJQ19GR19DT0xPUiwgMi1NQUdJQ19CR19DT0xPUlxuICAgKi9cbiAgcHVibGljIGdldENvbG9yKGNvbG9ySW5kZXg6IG51bWJlciwgY29sb3JUeXBlOiBudW1iZXIpIHtcbiAgICBsZXQgaXNUcmFuc3BlcmVudCA9IGZhbHNlO1xuICAgIGlmICghdGhpcy5jb2xvcnNEYXRhICYmICF0aGlzLmZpbGVOb3RGb3VuZClcbiAgICAgIHRoaXMuZ2V0Q29sb3JEYXRhKCk7XG4gICAgaWYgKHRoaXMuY29sb3JzRGF0YSkgeyAvLyBjb2xvciBleGlzdHNcbiAgICAgIGlmICh0aGlzLmNvbG9yc0RhdGFbY29sb3JJbmRleCAtIDFdKSB7XG5cbiAgICAgICAgY29uc3QgZ3JheUhhc2hDb2RlID0gJzAwODA4MDgwJztcbiAgICAgICAgbGV0IGhleCA9IGdyYXlIYXNoQ29kZTtcbiAgICAgICAgbGV0IGNvbG9yOiBzdHJpbmdbXSA9IHRoaXMuY29sb3JzRGF0YVtjb2xvckluZGV4IC0gMV0uc3BsaXQoJywnKTsgLy8gZ2V0IHRoZSBjb2xvciBkZXRhaWxzXG4gICAgICAgIGxldCBjb2xvckF0cnJpYnV0ZXMgPSArY29sb3JbM107XG5cbiAgICAgICAgLy8gY29sb3JbMF0gLSBuYW1lLCBjb2xvclsxXSAtIEZHIGNvbG9yLCBjb2xvclsyXSAtIEJHIGNvbG9yXG4gICAgICAgIC8vIGNvbG9yWzNdIC0gYXR0ciBmbGFncyAoMSAtIHRyYW5zcGVyZW50LCAyIC0gc3lzdGVtIEZHLCA0IC0gc3lzdGVtIGJnKVxuXG5cbiAgICAgICAgc3dpdGNoIChjb2xvclR5cGUpIHtcbiAgICAgICAgICBjYXNlIE1BR0lDX0ZHX0NPTE9SOlxuICAgICAgICAgICAgaWYgKGNvbG9yQXRycmlidXRlcyAhPSBTWVNURU1fRkcgJiYgY29sb3JBdHJyaWJ1dGVzICE9U1lTVEVNX0ZHX0FORF9TWVNURU1fQkcpXG4gICAgICAgICAgICAgIGhleCA9IChjb2xvclsxXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIE1BR0lDX0JHX0NPTE9SOlxuICAgICAgICAgICAgaWYgKGNvbG9yQXRycmlidXRlcyAhPSBTWVNURU1fQkcgJiYgY29sb3JBdHJyaWJ1dGVzICE9U1lTVEVNX0ZHX0FORF9TWVNURU1fQkcpIHtcbiAgICAgICAgICAgICAgaWYgKGNvbG9yQXRycmlidXRlcyA9PSBUUkFOU1BFUkVOVF9CRylcbiAgICAgICAgICAgICAgICBpc1RyYW5zcGVyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgaGV4ID0gKGNvbG9yWzJdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnUGxlYXNlIGVudGVyIHZhbGlkIGNvbG9yIHR5cGUgOiAxLUZHLCAyLUJHICcgKyBjb2xvckluZGV4KTtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmhleFRvUmdiYSgnIycgKyBoZXgsIGlzVHJhbnNwZXJlbnQpO1xuICAgICAgfSBlbHNlXG4gICAgICAgIGNvbnNvbGUubG9nKCdDb3VsZCBub3QgZ2V0IGNvbG9yIGZvciBudW1iZXIgJyArIGNvbG9ySW5kZXgpO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIl19
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtY29sb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3NlcnZpY2VzL21hZ2ljLWNvbG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBR2xELE1BQU0sQ0FBQyxJQUFJLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBUyxXQUFXLEVBQUU7SUFDbkUsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWE7Q0FDN0IsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFXLENBQUMsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQVcsQ0FBQyxDQUFDO0FBR3hDLE1BQU0sU0FBUyxHQUFXLENBQUMsQ0FBQztBQUM1QixNQUFNLFNBQVMsR0FBVyxDQUFDLENBQUM7QUFDNUIsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLENBQUU7QUFDbkMsTUFBTSxjQUFjLEdBQVcsQ0FBQyxDQUFDO0FBS2pDLE1BQU0sT0FBTyxpQkFBaUI7SUFHckIsZ0JBQWdCO1FBQ3JCLE9BQU8sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQU1ELFlBQW9CLElBQWdCLEVBQTJCLGFBQXFCLGFBQWE7UUFBN0UsU0FBSSxHQUFKLElBQUksQ0FBWTtRQVY3QixrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQU83QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUkzQixJQUFJLFVBQVU7WUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQzs7WUFFaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUVPLFlBQVk7UUFFbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzlFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELENBQUMsRUFDRCxNQUFNLENBQUMsRUFBRTtnQkFDUCxPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7U0FFTjtJQUVILENBQUM7SUFFTyxTQUFTLENBQUMsR0FBUSxFQUFFLGFBQXNCO1FBQ2hELElBQUksY0FBYyxHQUFHLDJDQUEyQyxDQUFDO1FBRWpFLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxVQUFTLENBQU0sRUFBRSxDQUFNLEVBQUUsQ0FBTSxFQUFFLENBQU0sRUFBRSxDQUFNO1lBQy9FLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksTUFBTSxHQUFHLHVEQUF1RCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUvRSxJQUFJLEdBQUcsR0FBRztZQUNSLEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLE1BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDakMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sRUFBRSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRztTQUNoRCxDQUFDO1FBQ0YsSUFBSSxhQUFhO1lBQ2YsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFaEIsT0FBTyxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDdEYsQ0FBQztJQVFNLFFBQVEsQ0FBQyxVQUFrQixFQUFFLFNBQWlCO1FBQ25ELElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQ3hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFFbkMsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDO2dCQUNoQyxJQUFJLEdBQUcsR0FBRyxZQUFZLENBQUM7Z0JBQ3ZCLElBQUksS0FBSyxHQUFhLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakUsSUFBSSxlQUFlLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBTWhDLFFBQVEsU0FBUyxFQUFFO29CQUNqQixLQUFLLGNBQWM7d0JBQ2pCLElBQUksZUFBZSxJQUFJLFNBQVMsSUFBSSxlQUFlLElBQUcsdUJBQXVCOzRCQUMzRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDbkIsTUFBTTtvQkFDUixLQUFLLGNBQWM7d0JBQ2pCLElBQUksZUFBZSxJQUFJLFNBQVMsSUFBSSxlQUFlLElBQUcsdUJBQXVCLEVBQUU7NEJBQzdFLElBQUksZUFBZSxJQUFJLGNBQWM7Z0NBQ25DLGFBQWEsR0FBRyxJQUFJLENBQUM7NEJBQ3ZCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUNsQjt3QkFDRCxNQUFNO29CQUNSO3dCQUNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkNBQTZDLEdBQUcsVUFBVSxDQUFDLENBQUM7d0JBQ3hFLE9BQU8sRUFBRSxDQUFDO2lCQUNiO2dCQUVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQ2pEOztnQkFDQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1NBQy9EO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztrRkFuR1UsaUJBQWlCLDBDQVdrQixlQUFlO3lEQVhsRCxpQkFBaUIsV0FBakIsaUJBQWlCLG1CQUZoQixNQUFNO3VGQUVQLGlCQUFpQjtjQUg3QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O3NCQVl3QyxNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5cclxuZXhwb3J0IGxldCBDT0xPUl9GSUxFX05BTUUgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignY29sb3JGaWxlJywge1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxuICBmYWN0b3J5OiAoKSA9PiAnY2xyX3JudC5lbmcnXHJcbn0pO1xyXG5leHBvcnQgY29uc3QgTUFHSUNfRkdfQ09MT1I6IG51bWJlciA9IDE7XHJcbmV4cG9ydCBjb25zdCBNQUdJQ19CR19DT0xPUjogbnVtYmVyID0gMjtcclxuXHJcblxyXG5jb25zdCBTWVNURU1fRkc6IG51bWJlciA9IDI7XHJcbmNvbnN0IFNZU1RFTV9CRzogbnVtYmVyID0gNDtcclxuY29uc3QgU1lTVEVNX0ZHX0FORF9TWVNURU1fQkcgPSA2IDtcclxuY29uc3QgVFJBTlNQRVJFTlRfQkc6IG51bWJlciA9IDE7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYWdpY0NvbG9yU2VydmljZSB7XHJcbiAgcHVibGljIGNvbG9yRmlsZU5hbWUgPSAnY2xyX3JudC5lbmcnO1xyXG5cclxuICBwdWJsaWMgZ2V0Q29sb3JGaWxlUGF0aCgpIHtcclxuICAgIHJldHVybiAnYXNzZXRzLycgKyB0aGlzLmNvbG9yRmlsZU5hbWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbG9yc0RhdGE7XHJcbiAgcHJpdmF0ZSBmaWxlTm90Rm91bmQgPSBmYWxzZTtcclxuXHJcbiAgLy8gcHVibGljIHN0YXRpYyBGSUxFX05BTUU7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KENPTE9SX0ZJTEVfTkFNRSkgY29sb3JGaWxlMTogc3RyaW5nID0gJ2Nscl9ybnQuZW5nJykge1xyXG4gICAgaWYgKGNvbG9yRmlsZTEpXHJcbiAgICAgIHRoaXMuY29sb3JGaWxlTmFtZSA9IGNvbG9yRmlsZTE7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuY29sb3JGaWxlTmFtZSA9ICdjbHJfcm50LmVuZyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENvbG9yRGF0YSgpIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuY29sb3JzRGF0YSkge1xyXG4gICAgICB0aGlzLmh0dHAuZ2V0KHRoaXMuZ2V0Q29sb3JGaWxlUGF0aCgpLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pLnN1YnNjcmliZShyZXNwID0+IHtcclxuICAgICAgICAgIHRoaXMuY29sb3JzRGF0YSA9IHJlc3AucmVwbGFjZSgvXFxuL2csICdAJykuc3BsaXQoJ0AnKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yMSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdGaWxlIG5vdCBmb3VuZCAnICsgdGhpcy5jb2xvckZpbGVOYW1lKTtcclxuICAgICAgICAgIHRoaXMuZmlsZU5vdEZvdW5kID0gdHJ1ZTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoZXhUb1JnYmEoaGV4OiBhbnksIGlzVHJhbnNwZXJlbnQ6IGJvb2xlYW4pOiBhbnkge1xyXG4gICAgbGV0IHNob3J0aGFuZFJlZ2V4ID0gL14jPyhbYS1mXFxkXSkoW2EtZlxcZF0pKFthLWZcXGRdKShbYS1mXFxkXSkkL2k7XHJcbiAgICAvLyBjb252ZXJ0IGl0IHRvIGZvcm1hdCA6IGFhcnJnZ2JiXHJcbiAgICBoZXggPSBoZXgucmVwbGFjZShzaG9ydGhhbmRSZWdleCwgZnVuY3Rpb24obTogYW55LCByOiBhbnksIGc6IGFueSwgYjogYW55LCBhOiBhbnkpIHtcclxuICAgICAgcmV0dXJuIGEgKyBhICsgciArIHIgKyBnICsgZyArIGIgKyBiO1xyXG4gICAgfSk7XHJcblxyXG4gICAgbGV0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pJC9pLmV4ZWMoaGV4KTtcclxuXHJcbiAgICBsZXQgcmdiID0ge1xyXG4gICAgICAncmVkJzogcGFyc2VJbnQocmVzdWx0IVs0XSwgMTYpLFxyXG4gICAgICAnZ3JlZW4nOiBwYXJzZUludChyZXN1bHQhWzNdLCAxNiksXHJcbiAgICAgICdibHVlJzogcGFyc2VJbnQocmVzdWx0IVsyXSwgMTYpLFxyXG4gICAgICAnYWxwaGEnOiAoMjU1IC0gcGFyc2VJbnQocmVzdWx0IVsxXSwgMTYpKSAvIDI1NVxyXG4gICAgfTtcclxuICAgIGlmIChpc1RyYW5zcGVyZW50KVxyXG4gICAgICByZ2IuYWxwaGEgPSAwO1xyXG5cclxuICAgIHJldHVybiAncmdiYSgnICsgcmdiLnJlZCArICcsJyArIHJnYi5ncmVlbiArICcsJyArIHJnYi5ibHVlICsgJywnICsgcmdiLmFscGhhICsgJyknO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgcmdiYSB2YWx1ZSBvZiBzcGVjaWZpZWQgY29sb3JcclxuICAgKiBAcmV0dXJucyA6IHZhbHVlIGluIGZvcm1hdCByZ2JhKDEyOCwxMjgsMTI4LDEpXHJcbiAgICogQHBhcmFtIDogY29sb3JOdW1iZXIgLTAgYmFzZWQgaW5kZXggb2YgY29sb3IgZm9yIHdoaWNoIFJHQkEgdmFsdWVzIGFyZSByZXR1cm5lZFxyXG4gICAqIEBwYXJhbTogY29sb3JUeXBlIDogMS1NQUdJQ19GR19DT0xPUiwgMi1NQUdJQ19CR19DT0xPUlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRDb2xvcihjb2xvckluZGV4OiBudW1iZXIsIGNvbG9yVHlwZTogbnVtYmVyKSB7XHJcbiAgICBsZXQgaXNUcmFuc3BlcmVudCA9IGZhbHNlO1xyXG4gICAgaWYgKCF0aGlzLmNvbG9yc0RhdGEgJiYgIXRoaXMuZmlsZU5vdEZvdW5kKVxyXG4gICAgICB0aGlzLmdldENvbG9yRGF0YSgpO1xyXG4gICAgaWYgKHRoaXMuY29sb3JzRGF0YSkgeyAvLyBjb2xvciBleGlzdHNcclxuICAgICAgaWYgKHRoaXMuY29sb3JzRGF0YVtjb2xvckluZGV4IC0gMV0pIHtcclxuXHJcbiAgICAgICAgY29uc3QgZ3JheUhhc2hDb2RlID0gJzAwODA4MDgwJztcclxuICAgICAgICBsZXQgaGV4ID0gZ3JheUhhc2hDb2RlO1xyXG4gICAgICAgIGxldCBjb2xvcjogc3RyaW5nW10gPSB0aGlzLmNvbG9yc0RhdGFbY29sb3JJbmRleCAtIDFdLnNwbGl0KCcsJyk7IC8vIGdldCB0aGUgY29sb3IgZGV0YWlsc1xyXG4gICAgICAgIGxldCBjb2xvckF0cnJpYnV0ZXMgPSArY29sb3JbM107XHJcblxyXG4gICAgICAgIC8vIGNvbG9yWzBdIC0gbmFtZSwgY29sb3JbMV0gLSBGRyBjb2xvciwgY29sb3JbMl0gLSBCRyBjb2xvclxyXG4gICAgICAgIC8vIGNvbG9yWzNdIC0gYXR0ciBmbGFncyAoMSAtIHRyYW5zcGVyZW50LCAyIC0gc3lzdGVtIEZHLCA0IC0gc3lzdGVtIGJnKVxyXG5cclxuXHJcbiAgICAgICAgc3dpdGNoIChjb2xvclR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgTUFHSUNfRkdfQ09MT1I6XHJcbiAgICAgICAgICAgIGlmIChjb2xvckF0cnJpYnV0ZXMgIT0gU1lTVEVNX0ZHICYmIGNvbG9yQXRycmlidXRlcyAhPVNZU1RFTV9GR19BTkRfU1lTVEVNX0JHKVxyXG4gICAgICAgICAgICAgIGhleCA9IChjb2xvclsxXSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBNQUdJQ19CR19DT0xPUjpcclxuICAgICAgICAgICAgaWYgKGNvbG9yQXRycmlidXRlcyAhPSBTWVNURU1fQkcgJiYgY29sb3JBdHJyaWJ1dGVzICE9U1lTVEVNX0ZHX0FORF9TWVNURU1fQkcpIHtcclxuICAgICAgICAgICAgICBpZiAoY29sb3JBdHJyaWJ1dGVzID09IFRSQU5TUEVSRU5UX0JHKVxyXG4gICAgICAgICAgICAgICAgaXNUcmFuc3BlcmVudCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgaGV4ID0gKGNvbG9yWzJdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdQbGVhc2UgZW50ZXIgdmFsaWQgY29sb3IgdHlwZSA6IDEtRkcsIDItQkcgJyArIGNvbG9ySW5kZXgpO1xyXG4gICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5oZXhUb1JnYmEoJyMnICsgaGV4LCBpc1RyYW5zcGVyZW50KTtcclxuICAgICAgfSBlbHNlXHJcbiAgICAgICAgY29uc29sZS5sb2coJ0NvdWxkIG5vdCBnZXQgY29sb3IgZm9yIG51bWJlciAnICsgY29sb3JJbmRleCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -181,4 +181,4 @@ SubformMagicService.ɵprov = i0.ɵɵdefineInjectable({ token: SubformMagicServic
|
|
181
181
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SubformMagicService, [{
|
182
182
|
type: Injectable
|
183
183
|
}], function () { return [{ type: i1.TaskMagicService }, { type: i2.ActivatedRoute }, { type: i3.ComponentListMagicService }, { type: i4.CommandsCollectorMagicService }, { type: i2.Router }, { type: i5.RouterCommandsMagicService }, { type: i3.ComponentListMagicService }, { type: i6.MagicLazyLoaderService }, { type: i0.Injector }, { type: i0.Compiler }]; }, null); })();
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZm9ybS5tYWdpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvc2VydmljZXMvc3ViZm9ybS5tYWdpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWEsVUFBVSxFQUFFLFFBQVEsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsT0FBTyxFQUFDLHlCQUF5QixFQUFhLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRixPQUFPLEVBQWdCLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHckcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7O0FBT3JFLE1BQU0sT0FBTyxtQkFBbUI7SUFVOUIsWUFBb0IsSUFBc0IsRUFDcEIsY0FBOEIsRUFDOUIsYUFBd0MsRUFDeEMsd0JBQXVELEVBQ3ZELE1BQWMsRUFDZCwwQkFBc0QsRUFDeEQseUJBQW9ELEVBQ3BELE1BQThCLEVBQzlCLFFBQWtCLEVBQ2xCLFFBQWtCO1FBVGxCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBQ3BCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFDeEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUErQjtRQUN2RCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN4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UUFDRCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7O0FBck9NLG9EQUFnQyxHQUFRLElBQUksQ0FBQztBQUU3QyxvQ0FBZ0IsR0FBeUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztzRkFSakUsbUJBQW1COzJEQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1CO3VGQUFuQixtQkFBbUI7Y0FEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBpbGVyLCBDb21wb25lbnQsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ01vZHVsZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFza01hZ2ljU2VydmljZSB9IGZyb20gJy4vdGFzay5tYWdpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBMaXN0LCBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcbmltcG9ydCB7IEd1aUNvbW1hbmQgfSBmcm9tICdAbWFnaWMteHBhL2d1aSc7XG5pbXBvcnQge0NvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UsIE1vZHVsZURhdGF9IGZyb20gJy4vY29tcG9uZW50LWxpc3QubWFnaWMuc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbW1hbmRzQ29sbGVjdG9yTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi9jb21tYW5kcy1jb2xsZWN0b3IubWFnaWMuc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZURlZmluaXRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3N1Yi1mb3JtLWRlZmluaXRpb24uaXRlcmZhY2UnO1xuaW1wb3J0IHsgUm91dGVDb21tYW5kLCBSb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JvdXRlci1jb21tYW5kcy5tYWdpYy5zZXJ2aWNlJztcbmltcG9ydCB7IElTdWJmb3JtTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi9JU3ViZm9ybU1hZ2ljU2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXJDb250YWluZXJNYWdpY0NvbXBvbmVudCB9IGZyb20gJy4uL3VpL3JvdXRlci1jb250YWluZXIubWFnaWMuY29tcG9uZW50JztcbmltcG9ydCB7IE1hZ2ljTGF6eUxvYWRlclNlcnZpY2UgfSBmcm9tICcuL21hZ2ljLmxhenkubG9hZGVyLnNlcnZpY2UnO1xuXG5cbi8qKlxuICogU2VydmljZSBmb3IgbWFuYWdpbmcgc3ViZm9ybXMgYW5kIHJvdXRpbmdcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN1YmZvcm1NYWdpY1NlcnZpY2UgaW1wbGVtZW50cyBJU3ViZm9ybU1hZ2ljU2VydmljZXtcblxuICBzdWJmb3Jtc0RpY3QgLyo6eyBbeDogc3RyaW5nXTogU3ViZm9ybURlZmluaXRpb24gfSovID0ge307XG4gIHJvdXRlc0RpY3Q6IHsgW3g6IHN0cmluZ106IHN0cmluZyB9ID0ge307IC8vIGRpY3Rpb25hcnkgb2Ygcm91dGVyIG91dGxldCB0byByb3V0ZXIgcGF0aFxuICBjdXJyZW50Um91dGVEZWZpbml0aW9uOiBSb3V0ZURlZmluaXRpb24gPSBudWxsO1xuXG4gIHN0YXRpYyBjdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZjogYW55ID0gbnVsbDtcblxuICBzdGF0aWMgcm91dGVyQ29udGFpbmVyczogQXJyYXk8Um91dGVyQ29udGFpbmVyTWFnaWNDb21wb25lbnQ+ID0gbmV3IEFycmF5KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0YXNrOiBUYXNrTWFnaWNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29tcG9uZW50TGlzdDogQ29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSxcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHBlbmRpbmdDb21tYW5kc0NvbGxlY3RvcjogQ29tbWFuZHNDb2xsZWN0b3JNYWdpY1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHJvdXRlckNvbW1hbmRzTWFnaWNTZXJ2aWNlOiBSb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlOiBDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGxvYWRlcjogTWFnaWNMYXp5TG9hZGVyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyKSB7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGNvbXBvbmVudCBhY2NvcmRpbmcgdG8gdGhlIHN1YmZvcm0gbmFtZVxuICAgKiBAcGFyYW0gc3ViZm9ybU5hbWVcbiAgICogQHJldHVybnNcbiAgICovXG4gIG1nR2V0Q29tcChzdWJmb3JtTmFtZTogc3RyaW5nKTogQ29tcG9uZW50IHtcbiAgICBpZiAoc3ViZm9ybU5hbWUgaW4gdGhpcy5zdWJmb3Jtc0RpY3QpIHtcbiAgICAgIGxldCBmb3JtTmFtZTogc3RyaW5nID0gdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybU5hbWVdLmZvcm1OYW1lO1xuICAgICAgaWYgKGZvcm1OYW1lKVxuICAgICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRMaXN0LmdldENvbXBvbmVudChmb3JtTmFtZSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIHN1YmZvcm1cbiAgICogQHBhcmFtIHN1YmZvcm1OYW1lXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBtZ0dldFBhcmFtZXRlcnMoc3ViZm9ybU5hbWU6IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKHN1YmZvcm1OYW1lIGluIHRoaXMuc3ViZm9ybXNEaWN0KSB7XG4gICAgICByZXR1cm4gdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybU5hbWVdLnBhcmFtZXRlcnM7XG4gICAgfVxuICAgIGVsc2VcbiAgICAgIHJldHVybiAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBkZWxldGVTdWJmb3JtQ29tcCAoc3ViZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcsIGZvcm1OYW1lOiBzdHJpbmcpICB7XG5cbiAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLnN1YmZvcm1zRGljdCkuaW5kZXhPZihzdWJmb3JtQ29udHJvbE5hbWUpID49IDApXG4gICAgICB7XG4gICAgICAgIGlmICh0aGlzLnN1YmZvcm1zRGljdFtzdWJmb3JtQ29udHJvbE5hbWVdLmZvcm1OYW1lID09PSBmb3JtTmFtZSkge1xuXG4gICAgICAgIHRoaXMuc3ViZm9ybXNEaWN0W3N1YmZvcm1Db250cm9sTmFtZV0gPSB7fTtcbiAgICAgICAgdGhpcy50YXNrLnJlZnJlc2hWaWV3KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBhZGRTdWJmb3JtQ29tcCAoc3ViZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcsIGZvcm1OYW1lOiBzdHJpbmcsIHRhc2tJZDogc3RyaW5nLCB0YXNrRGVzY3JpcHRpb246IGFueSwgcm91dGVyUGF0aDogc3RyaW5nLCBwYXJhbXM6IExpc3Q8YW55PiwgaW5EZWZhdWx0T3V0bGV0OiBib29sZWFuKSAge1xuICAgIHRoaXMucGVuZGluZ0NvbW1hbmRzQ29sbGVjdG9yLnN0YXJ0Q29sbGVjdGluZygpO1xuXG4gICAgbGV0IHJlZnJlc2hOZWVkZWQgPSBmYWxzZTtcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQocm91dGVyUGF0aCkpIHsgLy8gY2FsbCBpbiBkZXN0aW5hdGlvbiBzdWJmb3JtXG4gICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5zdWJmb3Jtc0RpY3QpLmluZGV4T2Yoc3ViZm9ybUNvbnRyb2xOYW1lKSA+PSAwKVxuICAgICAge1xuICAgICAgICBpZiAodGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybUNvbnRyb2xOYW1lXS5mb3JtTmFtZSA9PT0gZm9ybU5hbWUpIHtcblxuICAgICAgICAgIHRoaXMuc3ViZm9ybXNEaWN0W3N1YmZvcm1Db250cm9sTmFtZV0gPSB7fTtcbiAgICAgICAgICB0aGlzLnRhc2sucmVmcmVzaFZpZXcoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBMb2FkIHRoZSBsYXp5IGxvYWQgbW9kdWxlLCBpZiBuZWVkZWRcbiAgICAgIGxldCBtb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4gPSB0aGlzLmNvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UuZ2V0TW9kdWxlUmVmKGZvcm1OYW1lKTtcblxuICAgICAgaWYgKG1vZHVsZVJlZiA9PSBudWxsKSB7XG4gICAgICAgIGxldCBsYXp5TG9hZE1vZHVsZTogTW9kdWxlRGF0YSA9IHRoaXMuY29tcG9uZW50TGlzdE1hZ2ljU2VydmljZS5nZXRMYXp5TG9hZE1vZHVsZURhdGEoZm9ybU5hbWUpO1xuXG4gICAgICAgIGlmIChsYXp5TG9hZE1vZHVsZSAhPSBudWxsKSB7XG4gICAgICAgICAgLy8gZXh0cmFjdCBuYW1lIG9mIG1vZHVsZShYWCkgZnJvbSAnTWFnaWNYWE1vZHVsZSdcbiAgICAgICAgICBsZXQgbW9kdWxlTmFtZSA9IGxhenlMb2FkTW9kdWxlLm1vZHVsZU5hbWUucmVwbGFjZSgnTWFnaWMnLCAnJyk7XG4gICAgICAgICAgbW9kdWxlTmFtZSA9IG1vZHVsZU5hbWUucmVwbGFjZSgnTW9kdWxlJywgJycpO1xuICAgICAgICAgIHRoaXMubG9hZGVyLkxvYWQobW9kdWxlTmFtZSkudGhlbiggbSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21waWxlZCA9IHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNTeW5jKDxhbnk+bVtsYXp5TG9hZE1vZHVsZS5tb2R1bGVOYW1lXSk7XG4gICAgICAgICAgICBtb2R1bGVSZWYgPSBjb21waWxlZC5uZ01vZHVsZUZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgICB0aGlzLnN1YmZvcm1zRGljdFtzdWJmb3JtQ29udHJvbE5hbWVdID0ge1xuICAgICAgICAgICAgICAgIGZvcm1OYW1lLFxuICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHt0YXNrSWRQYXJhbTogdGFza0lkLCB0YXNrRGVzY3JpcHRpb246IHRhc2tEZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgdGhpcy50YXNrLnJlZnJlc2hWaWV3KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuc3ViZm9ybXNEaWN0W3N1YmZvcm1Db250cm9sTmFtZV0gPSB7XG4gICAgICAgICAgZm9ybU5hbWUsXG4gICAgICAgICAgcGFyYW1ldGVyczoge3Rhc2tJZFBhcmFtOiB0YXNrSWQsIHRhc2tEZXNjcmlwdGlvbjogdGFza0Rlc2NyaXB0aW9ufVxuICAgICAgICB9O1xuICAgICAgICAvL3RoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgcmVmcmVzaE5lZWRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgeyAvLyBjYWxsIHJvdXRlXG4gICAgICBpZiAoaW5EZWZhdWx0T3V0bGV0KVxuICAgICAgICBzdWJmb3JtQ29udHJvbE5hbWUgPSAncHJpbWFyeSc7XG5cbiAgICAgIGxldCByb3V0ZVBhcmFtczogTGlzdDxhbnk+ID0gbmV3IExpc3QoKTtcbiAgICAgIHJvdXRlUGFyYW1zLnB1c2gocm91dGVyUGF0aCk7XG4gICAgICBpZiAocGFyYW1zICE9PSBudWxsKSB7XG4gICAgICAgIHJvdXRlUGFyYW1zID0gPExpc3Q8YW55Pj5yb3V0ZVBhcmFtcy5jb25jYXQocGFyYW1zKTtcbiAgICAgIH1cblxuICAgICAgbGV0IHJvdXRlQ29tbWFuZDogUm91dGVDb21tYW5kID0ge1xuICAgICAgICBjYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmOiB0aGlzLFxuICAgICAgICByb3V0ZXJPdXRsZXROYW1lOiBzdWJmb3JtQ29udHJvbE5hbWUsXG4gICAgICAgIGZvcm1OYW1lOiBmb3JtTmFtZSxcbiAgICAgICAgcGFyYW1ldGVyczoge3Rhc2tJZFBhcmFtOiB0YXNrSWQsIHRhc2tEZXNjcmlwdGlvbjogdGFza0Rlc2NyaXB0aW9ufSxcbiAgICAgICAgcm91dGVQYXJhbXM6IHJvdXRlUGFyYW1zXG4gICAgICB9O1xuXG4gICAgICAvLyBJZiBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmICE9PSBudWxsIG1lYW5zIHRoYXQgcm91dGVyLm5hdmlnYXRlKCkgaXMgYWxyZWFkeVxuICAgICAgLy8gY2FsbGVkIG9uY2UsIGJ1dCBhbmd1bGFyIGhhcyBub3QgeWV0IGV4ZWN1dGVkIGl0IChuZ09uSW5pdCBvZiB0aGUgbmV3IGNvbXBvbmVudCBpcyBub3QgY2FsbGVkKS5cbiAgICAgIC8vIEluIHN1Y2ggYSBjYXNlLCBkbyBub3QgZXhlY3V0ZWQgcm91dGVyLm5hdmlnYXRlKCkgYWdhaW4uIEJlY2F1c2UsIGFuZ3VsYXIgaWdub3JlcyB0aGUgcHJldmlvdXMgb25lLlxuICAgICAgLy8gU28sIHB1dCBhIGNvbW1hbmQgaW4gdGhlIHF1ZXVlIHdoaWNoIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgdGhlIGZpcnN0IG9uZSBpcyBleGVjdXRlZC5cbiAgICBpZiAoU3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZiA9PT0gbnVsbClcbiAgICAgICAgdGhpcy5FeGVjdXRlUm91dGVDb21tYW5kKHJvdXRlQ29tbWFuZCk7XG4gICAgICBlbHNlXG4gICAgICAgIHRoaXMucm91dGVyQ29tbWFuZHNNYWdpY1NlcnZpY2UuQWRkUm91dGVDb21tYW5kKHJvdXRlQ29tbWFuZCk7XG4gICAgfVxuICAgIGlmICggcmVmcmVzaE5lZWRlZClcbiAgICAgIHRoaXMudGFzay5yZWZyZXNoVmlldygpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW4gdGhlIHN1YmZvcm0gdXNpbmcgYSByb3V0ZSBjb21tYW5kXG4gICAqL1xuICBFeGVjdXRlUm91dGVDb21tYW5kKHJvdXRlQ29tbWFuZDogUm91dGVDb21tYW5kKVxuICB7XG4gICAgbGV0IGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlOiBTdWJmb3JtTWFnaWNTZXJ2aWNlID0gPFN1YmZvcm1NYWdpY1NlcnZpY2U+cm91dGVDb21tYW5kLmNhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWY7XG4gICAgbGV0IHJlbGF0aXZlUm91dGUgPSAgU3ViZm9ybU1hZ2ljU2VydmljZS5nZXRSZWxhdGl2ZVJvdXRlKGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLmFjdGl2YXRlZFJvdXRlKTtcblxuICAgIGlmIChjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXNEaWN0W3JvdXRlQ29tbWFuZC5yb3V0ZXJPdXRsZXROYW1lXSA9PT0gcm91dGVDb21tYW5kLnJvdXRlUGFyYW1zWzBdKVxuICAgIHtcbiAgICAgIC8vIElmIHRoZSBzcGVjaWZpZWQgcm91dGVyIG91dGxldCBhbHJlYWR5IGhvc3RzIHRoZSBzYW1lIHJvdXRlciBwYXRoLCByb3V0ZXIubmF2aWdhdGUoKSBkb2Vzbid0IGFjdHVhbGx5IG5hdmlnYXRlLlxuICAgICAgLy8gU28sIGZpcnN0IGNsZWFyIHRoZSBvdXRsZXQgKHBhc3NpbmcgbnVsbCByb3V0ZSBwYXJhbXMsIGNsZWFycyB0aGUgb3V0bGV0KSBhbmQgdGhlbiBuYXZpZ2F0ZSBhZ2Fpbi5cbiAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLnJvdXRlci5uYXZpZ2F0ZShbe291dGxldHM6IHtbcm91dGVDb21tYW5kLnJvdXRlck91dGxldE5hbWVdOiBudWxsfX1dLCB7cmVsYXRpdmVUbzogcmVsYXRpdmVSb3V0ZX0pXG4gICAgICAgIC50aGVuKChyZXN1bHQ6Ym9vbGVhbikgPT4ge1xuICAgICAgICAgIFN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudENhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWYgPSBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZTtcbiAgICAgICAgICBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uID0ge1xuICAgICAgICAgICAgZm9ybU5hbWU6IHJvdXRlQ29tbWFuZC5mb3JtTmFtZSxcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHJvdXRlQ29tbWFuZC5wYXJhbWV0ZXJzXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLlBlcmZvcm1Sb3V0ZXJOYXZpZ2F0ZShyb3V0ZUNvbW1hbmQucm91dGVyT3V0bGV0TmFtZSwgcm91dGVDb21tYW5kLnJvdXRlUGFyYW1zKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIFN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudENhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWYgPSBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZTtcbiAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRSb3V0ZURlZmluaXRpb24gPSB7XG4gICAgICAgIGZvcm1OYW1lOiByb3V0ZUNvbW1hbmQuZm9ybU5hbWUsXG4gICAgICAgIHBhcmFtZXRlcnM6IHJvdXRlQ29tbWFuZC5wYXJhbWV0ZXJzXG4gICAgICB9O1xuXG4gICAgICBpZiAoU3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb250YWluZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbGV0IHJvdXRlQ29udGFpbmVyID0gU3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb250YWluZXJzWzBdO1xuICAgICAgICBTdWJmb3JtTWFnaWNTZXJ2aWNlLnJvdXRlckNvbnRhaW5lcnMuc2hpZnQoKTtcbiAgICAgICAgcm91dGVDb250YWluZXIuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLlBlcmZvcm1Sb3V0ZXJOYXZpZ2F0ZShyb3V0ZUNvbW1hbmQucm91dGVyT3V0bGV0TmFtZSwgcm91dGVDb21tYW5kLnJvdXRlUGFyYW1zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIFBlcmZvcm1Sb3V0ZXJOYXZpZ2F0ZShyb3V0ZXJPdXRsZXROYW1lOiBzdHJpbmcsIHJvdXRlUGFyYW1zOiBMaXN0PGFueT4pXG4gIHtcbiAgICBsZXQgcmVsYXRpdmVSb3V0ZSA9ICBTdWJmb3JtTWFnaWNTZXJ2aWNlLmdldFJlbGF0aXZlUm91dGUodGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbeyBvdXRsZXRzOiB7IFtyb3V0ZXJPdXRsZXROYW1lXTogcm91dGVQYXJhbXMgfSB9XSwgeyByZWxhdGl2ZVRvOiByZWxhdGl2ZVJvdXRlIH0pXG4gICAgICAudGhlbigocmVzdWx0OmJvb2xlYW4pPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwgJiYgIXJlc3VsdCkge1xuICAgICAgICAgICAgbGV0IHN1YmZvcm1NYWdpY1NlcnZpY2U6IFN1YmZvcm1NYWdpY1NlcnZpY2UgPSBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmO1xuICAgICAgICAgICAgc3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uID0gbnVsbDtcblxuICAgICAgICAgICAgU3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZiA9IG51bGw7XG4gICAgICAgICAgICBzdWJmb3JtTWFnaWNTZXJ2aWNlLnBlbmRpbmdDb21tYW5kc0NvbGxlY3Rvci5zdG9wQ29sbGVjdGluZygpO1xuICAgICAgICAgICAgc3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZS5FeGVjdXRlTmV4dENvbW1hbmQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaW5pdCgpXG4gIHtcbiAgICAvLyBJZiBjb21tYW5kcyB3ZXJlIGlzc3VlZCBmb3IgdGhpcyB0YXNrIGJlZm9yZSBuZ09uSW5pdCgpLCB0aGV5IHdlcmUgbm90IGV4ZWN1dGVkIGJlY2F1c2UgdGFzayBoYWQgbm90IHJlZ2lzdGVyZWQgZm9yIHRoZW0uXG4gICAgLy8gU28sIGV4ZWN1dGUgdGhlbSBub3cuXG4gICAgY29uc3QgcGVuZGluZ0NvbW1hbmRzOiBHdWlDb21tYW5kW10gPSB0aGlzLnBlbmRpbmdDb21tYW5kc0NvbGxlY3Rvci5HZXRDb21tYW5kcyh0aGlzLnRhc2sudGFza0lkKTtcbiAgICBpZiAocGVuZGluZ0NvbW1hbmRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21tYW5kcy5mb3JFYWNoKGNvbW1hbmQgPT4ge3RoaXMudGFzay5leGVjdXRlQ29tbWFuZChjb21tYW5kKTt9KTtcbiAgICAgIHRoaXMudGFzay5yZWZyZXNoVmlldygpO1xuICAgIH1cblxuICAgIHRoaXMucGVuZGluZ0NvbW1hbmRzQ29sbGVjdG9yLnN0b3BDb2xsZWN0aW5nKCk7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcmVmcmVzaFZpZXcoKSB7XG4gICAgdGhpcy50YXNrLnJlZnJlc2hWaWV3KCk7XG4gIH1cblxuICAvLy9cbiAgLy8gcmV0dXJuIHRoZSByZWxhdGl2ZSByb3V0ZVxuICAvL1xuICBzdGF0aWMgZ2V0UmVsYXRpdmVSb3V0ZShzZW5kQWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKXtcbiAgICBsZXQgY3VycmVudEFjdGl2ZVJvdXRlID0gc2VuZEFjdGl2YXRlZFJvdXRlO1xuICAgIGlmIChjdXJyZW50QWN0aXZlUm91dGUuc25hcHNob3Qucm91dGVDb25maWcgIT09IG51bGwgJiYgY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90LnJvdXRlQ29uZmlnLnBhdGggPT09ICcnKSB7XG4gICAgICBjdXJyZW50QWN0aXZlUm91dGUgPSBjdXJyZW50QWN0aXZlUm91dGUucGFyZW50O1xuICAgICAgaWYgKCFjdXJyZW50QWN0aXZlUm91dGUuc25hcHNob3Qucm91dGVDb25maWcubG9hZENoaWxkcmVuKVxuICAgICAgICBjb25zb2xlLmxvZygnZ2V0UmVsYXRpdmVSb3V0ZSgpOiBib3RoIHBhdGggYW5kIGN1cnJlbnRBY3RpdmVSb3V0ZS5zbmFwc2hvdC5yb3V0ZUNvbmZpZy5sb2FkQ2hpbGRyZW4gYXJlIGVtcHR5LicpO1xuICAgIH1cbiAgICByZXR1cm4gY3VycmVudEFjdGl2ZVJvdXRlO1xuICB9XG59XG4iXX0=
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZm9ybS5tYWdpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvc2VydmljZXMvc3ViZm9ybS5tYWdpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWEsVUFBVSxFQUFFLFFBQVEsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsT0FBTyxFQUFDLHlCQUF5QixFQUFhLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRixPQUFPLEVBQWdCLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHckcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7O0FBT3JFLE1BQU0sT0FBTyxtQkFBbUI7SUFVOUIsWUFBb0IsSUFBc0IsRUFDcEIsY0FBOEIsRUFDOUIsYUFBd0MsRUFDeEMsd0JBQXVELEVBQ3ZELE1BQWMsRUFDZCwwQkFBc0QsRUFDeEQseUJBQW9ELEVBQ3BELE1BQThCLEVBQzlCLFFBQWtCLEVBQ2xCLFFBQWtCO1FBVGxCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBQ3BCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFDeEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUErQjtRQUN2RCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN4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UUFDRCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7O0FBck9NLG9EQUFnQyxHQUFRLElBQUksQ0FBQztBQUU3QyxvQ0FBZ0IsR0FBeUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztzRkFSakUsbUJBQW1COzJEQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1CO3VGQUFuQixtQkFBbUI7Y0FEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBpbGVyLCBDb21wb25lbnQsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ01vZHVsZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUYXNrTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi90YXNrLm1hZ2ljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGlzdCwgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IEd1aUNvbW1hbmQgfSBmcm9tICdAbWFnaWMteHBhL2d1aSc7XHJcbmltcG9ydCB7Q29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSwgTW9kdWxlRGF0YX0gZnJvbSAnLi9jb21wb25lbnQtbGlzdC5tYWdpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbW1hbmRzQ29sbGVjdG9yTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi9jb21tYW5kcy1jb2xsZWN0b3IubWFnaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlRGVmaW5pdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvc3ViLWZvcm0tZGVmaW5pdGlvbi5pdGVyZmFjZSc7XHJcbmltcG9ydCB7IFJvdXRlQ29tbWFuZCwgUm91dGVyQ29tbWFuZHNNYWdpY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9yb3V0ZXItY29tbWFuZHMubWFnaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IElTdWJmb3JtTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi9JU3ViZm9ybU1hZ2ljU2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlckNvbnRhaW5lck1hZ2ljQ29tcG9uZW50IH0gZnJvbSAnLi4vdWkvcm91dGVyLWNvbnRhaW5lci5tYWdpYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYWdpY0xhenlMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9tYWdpYy5sYXp5LmxvYWRlci5zZXJ2aWNlJztcclxuXHJcblxyXG4vKipcclxuICogU2VydmljZSBmb3IgbWFuYWdpbmcgc3ViZm9ybXMgYW5kIHJvdXRpbmdcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN1YmZvcm1NYWdpY1NlcnZpY2UgaW1wbGVtZW50cyBJU3ViZm9ybU1hZ2ljU2VydmljZXtcclxuXHJcbiAgc3ViZm9ybXNEaWN0IC8qOnsgW3g6IHN0cmluZ106IFN1YmZvcm1EZWZpbml0aW9uIH0qLyA9IHt9O1xyXG4gIHJvdXRlc0RpY3Q6IHsgW3g6IHN0cmluZ106IHN0cmluZyB9ID0ge307IC8vIGRpY3Rpb25hcnkgb2Ygcm91dGVyIG91dGxldCB0byByb3V0ZXIgcGF0aFxyXG4gIGN1cnJlbnRSb3V0ZURlZmluaXRpb246IFJvdXRlRGVmaW5pdGlvbiA9IG51bGw7XHJcblxyXG4gIHN0YXRpYyBjdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZjogYW55ID0gbnVsbDtcclxuXHJcbiAgc3RhdGljIHJvdXRlckNvbnRhaW5lcnM6IEFycmF5PFJvdXRlckNvbnRhaW5lck1hZ2ljQ29tcG9uZW50PiA9IG5ldyBBcnJheSgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRhc2s6IFRhc2tNYWdpY1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29tcG9uZW50TGlzdDogQ29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgcGVuZGluZ0NvbW1hbmRzQ29sbGVjdG9yOiBDb21tYW5kc0NvbGxlY3Rvck1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHJvdXRlckNvbW1hbmRzTWFnaWNTZXJ2aWNlOiBSb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvbXBvbmVudExpc3RNYWdpY1NlcnZpY2U6IENvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBsb2FkZXI6IE1hZ2ljTGF6eUxvYWRlclNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIpIHtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbmRzIGFuZCByZXR1cm5zIHRoZSBjb21wb25lbnQgYWNjb3JkaW5nIHRvIHRoZSBzdWJmb3JtIG5hbWVcclxuICAgKiBAcGFyYW0gc3ViZm9ybU5hbWVcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIG1nR2V0Q29tcChzdWJmb3JtTmFtZTogc3RyaW5nKTogQ29tcG9uZW50IHtcclxuICAgIGlmIChzdWJmb3JtTmFtZSBpbiB0aGlzLnN1YmZvcm1zRGljdCkge1xyXG4gICAgICBsZXQgZm9ybU5hbWU6IHN0cmluZyA9IHRoaXMuc3ViZm9ybXNEaWN0W3N1YmZvcm1OYW1lXS5mb3JtTmFtZTtcclxuICAgICAgaWYgKGZvcm1OYW1lKVxyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBvbmVudExpc3QuZ2V0Q29tcG9uZW50KGZvcm1OYW1lKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgc3ViZm9ybVxyXG4gICAqIEBwYXJhbSBzdWJmb3JtTmFtZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgbWdHZXRQYXJhbWV0ZXJzKHN1YmZvcm1OYW1lOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgaWYgKHN1YmZvcm1OYW1lIGluIHRoaXMuc3ViZm9ybXNEaWN0KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnN1YmZvcm1zRGljdFtzdWJmb3JtTmFtZV0ucGFyYW1ldGVycztcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGRlbGV0ZVN1YmZvcm1Db21wIChzdWJmb3JtQ29udHJvbE5hbWU6IHN0cmluZywgZm9ybU5hbWU6IHN0cmluZykgIHtcclxuXHJcbiAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLnN1YmZvcm1zRGljdCkuaW5kZXhPZihzdWJmb3JtQ29udHJvbE5hbWUpID49IDApXHJcbiAgICAgIHtcclxuICAgICAgICBpZiAodGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybUNvbnRyb2xOYW1lXS5mb3JtTmFtZSA9PT0gZm9ybU5hbWUpIHtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybUNvbnRyb2xOYW1lXSA9IHt9O1xyXG4gICAgICAgIHRoaXMudGFzay5yZWZyZXNoVmlldygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGFkZFN1YmZvcm1Db21wIChzdWJmb3JtQ29udHJvbE5hbWU6IHN0cmluZywgZm9ybU5hbWU6IHN0cmluZywgdGFza0lkOiBzdHJpbmcsIHRhc2tEZXNjcmlwdGlvbjogYW55LCByb3V0ZXJQYXRoOiBzdHJpbmcsIHBhcmFtczogTGlzdDxhbnk+LCBpbkRlZmF1bHRPdXRsZXQ6IGJvb2xlYW4pICB7XHJcbiAgICB0aGlzLnBlbmRpbmdDb21tYW5kc0NvbGxlY3Rvci5zdGFydENvbGxlY3RpbmcoKTtcclxuXHJcbiAgICBsZXQgcmVmcmVzaE5lZWRlZCA9IGZhbHNlO1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHJvdXRlclBhdGgpKSB7IC8vIGNhbGwgaW4gZGVzdGluYXRpb24gc3ViZm9ybVxyXG4gICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5zdWJmb3Jtc0RpY3QpLmluZGV4T2Yoc3ViZm9ybUNvbnRyb2xOYW1lKSA+PSAwKVxyXG4gICAgICB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3ViZm9ybXNEaWN0W3N1YmZvcm1Db250cm9sTmFtZV0uZm9ybU5hbWUgPT09IGZvcm1OYW1lKSB7XHJcblxyXG4gICAgICAgICAgdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybUNvbnRyb2xOYW1lXSA9IHt9O1xyXG4gICAgICAgICAgdGhpcy50YXNrLnJlZnJlc2hWaWV3KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBMb2FkIHRoZSBsYXp5IGxvYWQgbW9kdWxlLCBpZiBuZWVkZWRcclxuICAgICAgbGV0IG1vZHVsZVJlZjogTmdNb2R1bGVSZWY8YW55PiA9IHRoaXMuY29tcG9uZW50TGlzdE1hZ2ljU2VydmljZS5nZXRNb2R1bGVSZWYoZm9ybU5hbWUpO1xyXG5cclxuICAgICAgaWYgKG1vZHVsZVJlZiA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGxhenlMb2FkTW9kdWxlOiBNb2R1bGVEYXRhID0gdGhpcy5jb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLmdldExhenlMb2FkTW9kdWxlRGF0YShmb3JtTmFtZSk7XHJcblxyXG4gICAgICAgIGlmIChsYXp5TG9hZE1vZHVsZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAvLyBleHRyYWN0IG5hbWUgb2YgbW9kdWxlKFhYKSBmcm9tICdNYWdpY1hYTW9kdWxlJ1xyXG4gICAgICAgICAgbGV0IG1vZHVsZU5hbWUgPSBsYXp5TG9hZE1vZHVsZS5tb2R1bGVOYW1lLnJlcGxhY2UoJ01hZ2ljJywgJycpO1xyXG4gICAgICAgICAgbW9kdWxlTmFtZSA9IG1vZHVsZU5hbWUucmVwbGFjZSgnTW9kdWxlJywgJycpO1xyXG4gICAgICAgICAgdGhpcy5sb2FkZXIuTG9hZChtb2R1bGVOYW1lKS50aGVuKCBtID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY29tcGlsZWQgPSB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBbmRBbGxDb21wb25lbnRzU3luYyg8YW55Pm1bbGF6eUxvYWRNb2R1bGUubW9kdWxlTmFtZV0pO1xyXG4gICAgICAgICAgICBtb2R1bGVSZWYgPSBjb21waWxlZC5uZ01vZHVsZUZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xyXG4gICAgICAgICAgICAgIHRoaXMuc3ViZm9ybXNEaWN0W3N1YmZvcm1Db250cm9sTmFtZV0gPSB7XHJcbiAgICAgICAgICAgICAgICBmb3JtTmFtZSxcclxuICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHt0YXNrSWRQYXJhbTogdGFza0lkLCB0YXNrRGVzY3JpcHRpb246IHRhc2tEZXNjcmlwdGlvbn1cclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIHRoaXMudGFzay5yZWZyZXNoVmlldygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zdWJmb3Jtc0RpY3Rbc3ViZm9ybUNvbnRyb2xOYW1lXSA9IHtcclxuICAgICAgICAgIGZvcm1OYW1lLFxyXG4gICAgICAgICAgcGFyYW1ldGVyczoge3Rhc2tJZFBhcmFtOiB0YXNrSWQsIHRhc2tEZXNjcmlwdGlvbjogdGFza0Rlc2NyaXB0aW9ufVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgLy90aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgcmVmcmVzaE5lZWRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgeyAvLyBjYWxsIHJvdXRlXHJcbiAgICAgIGlmIChpbkRlZmF1bHRPdXRsZXQpXHJcbiAgICAgICAgc3ViZm9ybUNvbnRyb2xOYW1lID0gJ3ByaW1hcnknO1xyXG5cclxuICAgICAgbGV0IHJvdXRlUGFyYW1zOiBMaXN0PGFueT4gPSBuZXcgTGlzdCgpO1xyXG4gICAgICByb3V0ZVBhcmFtcy5wdXNoKHJvdXRlclBhdGgpO1xyXG4gICAgICBpZiAocGFyYW1zICE9PSBudWxsKSB7XHJcbiAgICAgICAgcm91dGVQYXJhbXMgPSA8TGlzdDxhbnk+PnJvdXRlUGFyYW1zLmNvbmNhdChwYXJhbXMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgcm91dGVDb21tYW5kOiBSb3V0ZUNvbW1hbmQgPSB7XHJcbiAgICAgICAgY2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZjogdGhpcyxcclxuICAgICAgICByb3V0ZXJPdXRsZXROYW1lOiBzdWJmb3JtQ29udHJvbE5hbWUsXHJcbiAgICAgICAgZm9ybU5hbWU6IGZvcm1OYW1lLFxyXG4gICAgICAgIHBhcmFtZXRlcnM6IHt0YXNrSWRQYXJhbTogdGFza0lkLCB0YXNrRGVzY3JpcHRpb246IHRhc2tEZXNjcmlwdGlvbn0sXHJcbiAgICAgICAgcm91dGVQYXJhbXM6IHJvdXRlUGFyYW1zXHJcbiAgICAgIH07XHJcblxyXG4gICAgICAvLyBJZiBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmICE9PSBudWxsIG1lYW5zIHRoYXQgcm91dGVyLm5hdmlnYXRlKCkgaXMgYWxyZWFkeVxyXG4gICAgICAvLyBjYWxsZWQgb25jZSwgYnV0IGFuZ3VsYXIgaGFzIG5vdCB5ZXQgZXhlY3V0ZWQgaXQgKG5nT25Jbml0IG9mIHRoZSBuZXcgY29tcG9uZW50IGlzIG5vdCBjYWxsZWQpLlxyXG4gICAgICAvLyBJbiBzdWNoIGEgY2FzZSwgZG8gbm90IGV4ZWN1dGVkIHJvdXRlci5uYXZpZ2F0ZSgpIGFnYWluLiBCZWNhdXNlLCBhbmd1bGFyIGlnbm9yZXMgdGhlIHByZXZpb3VzIG9uZS5cclxuICAgICAgLy8gU28sIHB1dCBhIGNvbW1hbmQgaW4gdGhlIHF1ZXVlIHdoaWNoIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgdGhlIGZpcnN0IG9uZSBpcyBleGVjdXRlZC5cclxuICAgIGlmIChTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmID09PSBudWxsKVxyXG4gICAgICAgIHRoaXMuRXhlY3V0ZVJvdXRlQ29tbWFuZChyb3V0ZUNvbW1hbmQpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5yb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZS5BZGRSb3V0ZUNvbW1hbmQocm91dGVDb21tYW5kKTtcclxuICAgIH1cclxuICAgIGlmICggcmVmcmVzaE5lZWRlZClcclxuICAgICAgdGhpcy50YXNrLnJlZnJlc2hWaWV3KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPcGVuIHRoZSBzdWJmb3JtIHVzaW5nIGEgcm91dGUgY29tbWFuZFxyXG4gICAqL1xyXG4gIEV4ZWN1dGVSb3V0ZUNvbW1hbmQocm91dGVDb21tYW5kOiBSb3V0ZUNvbW1hbmQpXHJcbiAge1xyXG4gICAgbGV0IGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlOiBTdWJmb3JtTWFnaWNTZXJ2aWNlID0gPFN1YmZvcm1NYWdpY1NlcnZpY2U+cm91dGVDb21tYW5kLmNhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWY7XHJcbiAgICBsZXQgcmVsYXRpdmVSb3V0ZSA9ICBTdWJmb3JtTWFnaWNTZXJ2aWNlLmdldFJlbGF0aXZlUm91dGUoY3VycmVudFN1YmZvcm1NYWdpY1NlcnZpY2UuYWN0aXZhdGVkUm91dGUpO1xyXG5cclxuICAgIGlmIChjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXNEaWN0W3JvdXRlQ29tbWFuZC5yb3V0ZXJPdXRsZXROYW1lXSA9PT0gcm91dGVDb21tYW5kLnJvdXRlUGFyYW1zWzBdKVxyXG4gICAge1xyXG4gICAgICAvLyBJZiB0aGUgc3BlY2lmaWVkIHJvdXRlciBvdXRsZXQgYWxyZWFkeSBob3N0cyB0aGUgc2FtZSByb3V0ZXIgcGF0aCwgcm91dGVyLm5hdmlnYXRlKCkgZG9lc24ndCBhY3R1YWxseSBuYXZpZ2F0ZS5cclxuICAgICAgLy8gU28sIGZpcnN0IGNsZWFyIHRoZSBvdXRsZXQgKHBhc3NpbmcgbnVsbCByb3V0ZSBwYXJhbXMsIGNsZWFycyB0aGUgb3V0bGV0KSBhbmQgdGhlbiBuYXZpZ2F0ZSBhZ2Fpbi5cclxuICAgICAgY3VycmVudFN1YmZvcm1NYWdpY1NlcnZpY2Uucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge1tyb3V0ZUNvbW1hbmQucm91dGVyT3V0bGV0TmFtZV06IG51bGx9fV0sIHtyZWxhdGl2ZVRvOiByZWxhdGl2ZVJvdXRlfSlcclxuICAgICAgICAudGhlbigocmVzdWx0OmJvb2xlYW4pID0+IHtcclxuICAgICAgICAgIFN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudENhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWYgPSBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZTtcclxuICAgICAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRSb3V0ZURlZmluaXRpb24gPSB7XHJcbiAgICAgICAgICAgIGZvcm1OYW1lOiByb3V0ZUNvbW1hbmQuZm9ybU5hbWUsXHJcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHJvdXRlQ29tbWFuZC5wYXJhbWV0ZXJzXHJcbiAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgIGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlLlBlcmZvcm1Sb3V0ZXJOYXZpZ2F0ZShyb3V0ZUNvbW1hbmQucm91dGVyT3V0bGV0TmFtZSwgcm91dGVDb21tYW5kLnJvdXRlUGFyYW1zKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgU3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZiA9IGN1cnJlbnRTdWJmb3JtTWFnaWNTZXJ2aWNlO1xyXG4gICAgICBjdXJyZW50U3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uID0ge1xyXG4gICAgICAgIGZvcm1OYW1lOiByb3V0ZUNvbW1hbmQuZm9ybU5hbWUsXHJcbiAgICAgICAgcGFyYW1ldGVyczogcm91dGVDb21tYW5kLnBhcmFtZXRlcnNcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGlmIChTdWJmb3JtTWFnaWNTZXJ2aWNlLnJvdXRlckNvbnRhaW5lcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGxldCByb3V0ZUNvbnRhaW5lciA9IFN1YmZvcm1NYWdpY1NlcnZpY2Uucm91dGVyQ29udGFpbmVyc1swXTtcclxuICAgICAgICBTdWJmb3JtTWFnaWNTZXJ2aWNlLnJvdXRlckNvbnRhaW5lcnMuc2hpZnQoKTtcclxuICAgICAgICByb3V0ZUNvbnRhaW5lci5pbml0aWFsaXplQ29tcG9uZW50KCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY3VycmVudFN1YmZvcm1NYWdpY1NlcnZpY2UuUGVyZm9ybVJvdXRlck5hdmlnYXRlKHJvdXRlQ29tbWFuZC5yb3V0ZXJPdXRsZXROYW1lLCByb3V0ZUNvbW1hbmQucm91dGVQYXJhbXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIFBlcmZvcm1Sb3V0ZXJOYXZpZ2F0ZShyb3V0ZXJPdXRsZXROYW1lOiBzdHJpbmcsIHJvdXRlUGFyYW1zOiBMaXN0PGFueT4pXHJcbiAge1xyXG4gICAgbGV0IHJlbGF0aXZlUm91dGUgPSAgU3ViZm9ybU1hZ2ljU2VydmljZS5nZXRSZWxhdGl2ZVJvdXRlKHRoaXMuYWN0aXZhdGVkUm91dGUpO1xyXG5cclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7IG91dGxldHM6IHsgW3JvdXRlck91dGxldE5hbWVdOiByb3V0ZVBhcmFtcyB9IH1dLCB7IHJlbGF0aXZlVG86IHJlbGF0aXZlUm91dGUgfSlcclxuICAgICAgLnRoZW4oKHJlc3VsdDpib29sZWFuKT0+IHtcclxuICAgICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwgJiYgIXJlc3VsdCkge1xyXG4gICAgICAgICAgICBsZXQgc3ViZm9ybU1hZ2ljU2VydmljZTogU3ViZm9ybU1hZ2ljU2VydmljZSA9IFN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudENhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWY7XHJcbiAgICAgICAgICAgIHN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudFJvdXRlRGVmaW5pdGlvbiA9IG51bGw7XHJcblxyXG4gICAgICAgICAgICBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmID0gbnVsbDtcclxuICAgICAgICAgICAgc3ViZm9ybU1hZ2ljU2VydmljZS5wZW5kaW5nQ29tbWFuZHNDb2xsZWN0b3Iuc3RvcENvbGxlY3RpbmcoKTtcclxuICAgICAgICAgICAgc3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZS5FeGVjdXRlTmV4dENvbW1hbmQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgaW5pdCgpXHJcbiAge1xyXG4gICAgLy8gSWYgY29tbWFuZHMgd2VyZSBpc3N1ZWQgZm9yIHRoaXMgdGFzayBiZWZvcmUgbmdPbkluaXQoKSwgdGhleSB3ZXJlIG5vdCBleGVjdXRlZCBiZWNhdXNlIHRhc2sgaGFkIG5vdCByZWdpc3RlcmVkIGZvciB0aGVtLlxyXG4gICAgLy8gU28sIGV4ZWN1dGUgdGhlbSBub3cuXHJcbiAgICBjb25zdCBwZW5kaW5nQ29tbWFuZHM6IEd1aUNvbW1hbmRbXSA9IHRoaXMucGVuZGluZ0NvbW1hbmRzQ29sbGVjdG9yLkdldENvbW1hbmRzKHRoaXMudGFzay50YXNrSWQpO1xyXG4gICAgaWYgKHBlbmRpbmdDb21tYW5kcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHBlbmRpbmdDb21tYW5kcy5mb3JFYWNoKGNvbW1hbmQgPT4ge3RoaXMudGFzay5leGVjdXRlQ29tbWFuZChjb21tYW5kKTt9KTtcclxuICAgICAgdGhpcy50YXNrLnJlZnJlc2hWaWV3KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5wZW5kaW5nQ29tbWFuZHNDb2xsZWN0b3Iuc3RvcENvbGxlY3RpbmcoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICByZWZyZXNoVmlldygpIHtcclxuICAgIHRoaXMudGFzay5yZWZyZXNoVmlldygpO1xyXG4gIH1cclxuXHJcbiAgLy8vXHJcbiAgLy8gcmV0dXJuIHRoZSByZWxhdGl2ZSByb3V0ZVxyXG4gIC8vXHJcbiAgc3RhdGljIGdldFJlbGF0aXZlUm91dGUoc2VuZEFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSl7XHJcbiAgICBsZXQgY3VycmVudEFjdGl2ZVJvdXRlID0gc2VuZEFjdGl2YXRlZFJvdXRlO1xyXG4gICAgaWYgKGN1cnJlbnRBY3RpdmVSb3V0ZS5zbmFwc2hvdC5yb3V0ZUNvbmZpZyAhPT0gbnVsbCAmJiBjdXJyZW50QWN0aXZlUm91dGUuc25hcHNob3Qucm91dGVDb25maWcucGF0aCA9PT0gJycpIHtcclxuICAgICAgY3VycmVudEFjdGl2ZVJvdXRlID0gY3VycmVudEFjdGl2ZVJvdXRlLnBhcmVudDtcclxuICAgICAgaWYgKCFjdXJyZW50QWN0aXZlUm91dGUuc25hcHNob3Qucm91dGVDb25maWcubG9hZENoaWxkcmVuKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKCdnZXRSZWxhdGl2ZVJvdXRlKCk6IGJvdGggcGF0aCBhbmQgY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90LnJvdXRlQ29uZmlnLmxvYWRDaGlsZHJlbiBhcmUgZW1wdHkuJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY3VycmVudEFjdGl2ZVJvdXRlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -74,4 +74,4 @@ TableMagicService.ɵprov = i0.ɵɵdefineInjectable({ token: TableMagicService, f
|
|
74
74
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableMagicService, [{
|
75
75
|
type: Injectable
|
76
76
|
}], function () { return [{ type: i1.ComponentListMagicService }, { type: i2.TaskMagicService }]; }, null); })();
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubWFnaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3NlcnZpY2VzL3RhYmxlLm1hZ2ljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQU0zRSxNQUFNLE9BQU8saUJBQWlCO0lBVTVCLFlBQXdCLGFBQXdDLEVBQVksSUFBc0I7UUFBMUUsa0JBQWEsR0FBYixhQUFhLENBQTJCO1FBQVksU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFHMUYsOEJBQXlCLEdBQVksSUFBSSxDQUFDO0lBRmpELENBQUM7SUFPRixpQkFBaUI7SUFDakIsQ0FBQztJQU1ELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFLRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkMsQ0FBQztJQU1ELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFLRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBTUQsVUFBVSxDQUFDLE1BQWM7SUFDekIsQ0FBQztJQU9ELG9CQUFvQixDQUFDLE9BQW9CO1FBRXZDLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxZQUFZLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxjQUFjO1lBQ3RFLE9BQU8sQ0FBQyxPQUFPLEtBQUssT0FBTztZQUMzQixPQUFPLENBQUMsT0FBTyxLQUFLLFFBQVE7WUFDOUIsT0FBTyxLQUFLLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFLRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBS0QsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUtELFFBQVEsQ0FBQyxDQUFDLElBQUUsQ0FBQztJQUtiLGtCQUFrQixDQUFDLENBQUMsRUFBRSxpQkFBMkIsSUFBRSxDQUFDO0lBRXBELGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQztJQU10QixlQUFlLENBQUMsSUFBWTtRQUMxQixJQUFJLElBQUksS0FBSyxDQUFDLEVBQ2Q7WUFDRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM3RDtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUtELGdCQUFnQixDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWE7WUFDbEMsS0FBSyxFQUFFLENBQUM7UUFFVixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUtELGdCQUFnQjtRQUVkLElBQUksUUFBUSxHQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRTFELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQ2xDLFFBQVEsRUFBRSxDQUFDO1FBRWIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7a0ZBL0lVLGlCQUFpQjt5REFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQjt1RkFBakIsaUJBQWlCO2NBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRhc2tNYWdpY1NlcnZpY2UgfSBmcm9tIFwiLi90YXNrLm1hZ2ljcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UgfSBmcm9tIFwiLi9jb21wb25lbnQtbGlzdC5tYWdpYy5zZXJ2aWNlXCI7XHJcblxyXG4vKipcclxuICogSW1wbGVtZW50cyB2YXJpb3VzIHRhYmxlLXJlbGF0ZWQgZnVuY3Rpb25hbGl0aWVzXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUYWJsZU1hZ2ljU2VydmljZSB7XHJcblxyXG4gIHNlbGVjdGVkSXRlbSA6IGFueTtcclxuICBwcml2YXRlIGNodW5rU2l6ZTogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBjb21wb25lbnRMaXN0IENvbXBvbmVudC1tYXBwaW5nIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gdGFzayBNYWdpYyB0YXNrIHNlcnZpY2VcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvciggIHByb3RlY3RlZCBjb21wb25lbnRMaXN0OiBDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLCBwcm90ZWN0ZWQgdGFzazogVGFza01hZ2ljU2VydmljZSkge1xyXG4gICB9XHJcblxyXG4gICBwdWJsaWMgc2hvdWxkT3BlbkZpZWxkVGV4dEVkaXRvcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZnJlc2hlcyB0aGUgRGF0YVNvdXJjZVxyXG4gICAqL1xyXG4gIHJlZnJlc2hEYXRhU291cmNlKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgdGFibGUgcGFnZSBzaXplXHJcbiAgICogY2h1bmtTaXplIGFzIGRlZmF1bHQgdmFsdWUgZm9yIG5vbi1wYWdpbmF0ZWQgdGFibGVzLlxyXG4gICAqL1xyXG4gIGdldFBhZ2VTaXplKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5jaHVua1NpemU7XHJcbiAgfVxyXG5cclxuICBzZXRDaHVua1NpemUoc2l6ZTogbnVtYmVyKTogdm9pZHtcclxuICAgIHRoaXMuY2h1bmtTaXplID0gc2l6ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgbWF4IG5vIG9mIHJvd3MgaW4gdGhlIHRhYmxlLlxyXG4gICAqL1xyXG4gIGdldE1heFJvd3NJblRhYmxlKCk6IG51bWJlcntcclxuICAgIHJldHVybiB0aGlzLnRhc2suUmVjb3Jkcy5saXN0Lmxlbmd0aDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdHMgdGhlIHNwZWNpZmllZCByb3dcclxuICAgKiBAcGFyYW0gcm93SWQgVGhlIHJvdyB0byBzZWxlY3RcclxuICAgKi9cclxuICBzZWxlY3RSb3cocm93SWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSByb3dJZDtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkUm93KCkgOiBhbnl7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBzZWxlY3RlZCByb3dcclxuICAgKi9cclxuICBzZWxlY3RlZFJvdygpOiBhbnkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWxlY3RzIHRoZSBzcGVjaWZpZWQgcGFnZVxyXG4gICAqIEBwYXJhbSAgcGFnZUlkIFRoZSBwYWdlIHRvIHNlbGVjdFxyXG4gICAqL1xyXG4gIHNlbGVjdFBhZ2UocGFnZUlkOiBudW1iZXIpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgd2hldGhlciBhIGRpYWxvZyBzaG91bGQgYmUgb3BlbmVkIGZvciB0aGUgSFRNTCBlbGVtZW50XHJcbiAgICogQHBhcmFtICBlbGVtZW50IFRoZSBIVE1MIGVsZW1lbnQgZm9yIHdoaWNoIGEgZGlhbG9nIG1heSBiZSBuZWVkZWRcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIE9wZW5EaWFsb2dGb3JDb250cm9sKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhblxyXG4gIHtcclxuICAgIGlmIChlbGVtZW50LnRhZ05hbWUgPT09IFwiTUFULVNFTEVDVFwiIHx8IGVsZW1lbnQudGFnTmFtZSA9PT0gXCJNQVQtQ0hFQ0tCT1hcIiB8fFxyXG4gICAgICAgIGVsZW1lbnQudGFnTmFtZSA9PT0gXCJJTlBVVFwiIHx8XHJcbiAgICAgICAgZWxlbWVudC50YWdOYW1lID09PSBcIlNFTEVDVFwiKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIGRpYWxvZyB1c2VkIHRvIGVkaXQgdmFsdWVzXHJcbiAgICovXHJcbiAgZ2V0RGlhbG9nKCk6IGFueSAge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSB0YWJsZSBcInNjcm9sbGVkXCIgZXZlbnRcclxuICAgKi9cclxuICBvblNjcm9sbERvd24oKSB7XHJcbiAgICB0aGlzLnRhc2sub25TY3JvbGxEb3duKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUbyBiZSBvdmVyd2l0dGVuIGluIHNwZWNpZmljIGltcGxlbGVtdGF0aW9uc1xyXG4gICAqL1xyXG4gIHNvcnREYXRhKGUpe31cclxuXHJcbiAgLyoqXHJcbiAgICogVG8gYmUgb3ZlcndpdHRlbiBpbiBzcGVjaWZpYyBpbXBsZWxlbXRhdGlvbnNcclxuICAgKi9cclxuICBtZ09uUGFnaW5hdGVDaGFuZ2UoZSwgY2hhbmdlU2VsZWN0ZWRSb3c/OiBib29sZWFuKXt9XHJcblxyXG4gIG1nT3B0aW9uQ2hhbmdlZChlKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hhbmdlIHRoZSBudW1iZXIgb2YgbGluZXMgaW4gYSB0YWJsZVxyXG4gICAqIEBwYXJhbSAgc2l6ZSBOZXcgbnVtYmVyIG9mIGxpbmVzIGluIHRhYmxlXHJcbiAgICovXHJcbiAgdXBkYXRlVGFibGVTaXplKHNpemU6IG51bWJlcikge1xyXG4gICAgaWYgKHNpemUgPT09IDApIC8vIG5ldmVyIHJlbW92ZSByb3cgMCBmb3Igbm93XHJcbiAgICB7XHJcbiAgICAgIHNpemUgPSAxO1xyXG4gICAgICB0aGlzLnRhc2suUmVjb3Jkcy5jbGVhckZpcnN0VGFibGVSZWNvcmQodGhpcy50YXNrLnRlbXBsYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRhc2suZm9ybUdyb3Vwcy5sZW5ndGggPSBzaXplO1xyXG4gICAgdGhpcy50YXNrLlJlY29yZHMudXBkYXRlU2l6ZShzaXplKTtcclxuICAgIHRoaXMudGFzay5zZXRJbmNsdWRlc0ZpcnN0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBzZXRUYWJsZVRvcEluZGV4KHZhbHVlOiBudW1iZXIpIHtcclxuICAgIGlmICghdGhpcy50YXNrLlJlY29yZHMuaW5jbHVkZXNGaXJzdClcclxuICAgICAgdmFsdWUrKztcclxuXHJcbiAgICB0aGlzLnRhc2suUmVjb3Jkcy5zZXRHdWlUb3BJbmRleCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgZ2V0VGFibGVUb3BJbmRleCgpOm51bWJlclxyXG4gIHtcclxuICAgIGxldCB0b3BJbmRleDogbnVtYmVyID0gdGhpcy50YXNrLlJlY29yZHMuZ2V0R3VpVG9wSW5kZXgoKTtcclxuXHJcbiAgICBpZiAoIXRoaXMudGFzay5SZWNvcmRzLmluY2x1ZGVzRmlyc3QpXHJcbiAgICAgIHRvcEluZGV4LS07XHJcblxyXG4gICAgcmV0dXJuIHRvcEluZGV4O1xyXG4gIH1cclxufVxyXG5cclxuIl19
|