@limble/limble-tree 1.0.0-beta.4 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -5
- package/esm2020/lib/components/branch/branch.component.mjs +4 -4
- package/esm2020/lib/components/dragover-no-change-detect.mjs +4 -4
- package/esm2020/lib/components/dropzone/dropzone.component.mjs +4 -4
- package/esm2020/lib/components/root/root.component.mjs +4 -4
- package/esm2020/lib/core/tree-branch/tree-branch.mjs +2 -2
- package/esm2020/lib/core/tree-root/root-controller.mjs +1 -1
- package/esm2020/lib/core/tree-service/tree.service.mjs +4 -4
- package/esm2020/lib/extras/collapse/collapse.module.mjs +5 -5
- package/esm2020/lib/extras/collapse/collapse.service.mjs +4 -4
- package/esm2020/lib/extras/drag-and-drop/drag-and-drop.module.mjs +5 -5
- package/esm2020/lib/extras/drag-and-drop/drag-and-drop.service.mjs +4 -4
- package/esm2020/lib/extras/drag-and-drop/draggable.directive.mjs +4 -4
- package/esm2020/lib/legacy/limble-tree-legacy.module.mjs +5 -5
- package/esm2020/lib/legacy/limble-tree-root/limble-tree-root.component.mjs +4 -4
- package/esm2020/lib/limble-tree.module.mjs +5 -5
- package/fesm2015/limble-limble-tree.mjs +44 -44
- package/fesm2015/limble-limble-tree.mjs.map +1 -1
- package/fesm2020/limble-limble-tree.mjs +44 -44
- package/fesm2020/limble-limble-tree.mjs.map +1 -1
- package/lib/components/branch/branch.component.d.ts +1 -1
- package/lib/components/dragover-no-change-detect.d.ts +1 -1
- package/lib/components/dropzone/dropzone.component.d.ts +1 -1
- package/lib/components/root/root.component.d.ts +1 -1
- package/lib/core/tree-plot.interface.d.ts +1 -1
- package/lib/extras/drag-and-drop/draggable.directive.d.ts +1 -1
- package/lib/legacy/legacy-tree-data.interface.d.ts +1 -1
- package/lib/legacy/limble-tree-root/limble-tree-root.component.d.ts +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
# Limble Tree
|
|
2
2
|
|
|
3
|
-
This library is currently a work in progress. It may not be suitable for production environments yet.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
3
|
An Angular library for building visual tree structures. Built and used by the team at [Limble](https://limblecmms.com/);
|
|
8
4
|
|
|
9
|
-
Features
|
|
5
|
+
## Features
|
|
10
6
|
|
|
11
7
|
- Allows any number of different components to be rendered in the same tree.
|
|
12
8
|
- Collapsible tree branches
|
|
@@ -15,6 +11,13 @@ Features:
|
|
|
15
11
|
- No limit on tree depth or size.
|
|
16
12
|
- Recently redesigned to allow better performance with large/complex trees.
|
|
17
13
|
|
|
14
|
+
## Compatibility Table
|
|
15
|
+
|
|
16
|
+
| limble-tree | Angular | RxJs |
|
|
17
|
+
| ----------- | --------------- | ----- |
|
|
18
|
+
| 1.0.0 | 14.2.0 - 14.x.x | 7.x.x |
|
|
19
|
+
| 2.0.0 | 15.x.x | 7.x.x |
|
|
20
|
+
|
|
18
21
|
## Installation
|
|
19
22
|
|
|
20
23
|
```bash
|
|
@@ -53,9 +53,9 @@ export class BranchComponent {
|
|
|
53
53
|
this.hostedContent = undefined;
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
BranchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
57
|
-
BranchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
56
|
+
BranchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BranchComponent, deps: [{ token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
+
BranchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: BranchComponent, isStandalone: true, selector: "branch", inputs: { contentToHost: "contentToHost" }, outputs: { contentCreated: "contentCreated", showDropzones: "showDropzones", dropped: "dropped" }, viewQueries: [{ propertyName: "branchesContainer", first: true, predicate: ["branchesContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "dropzones", predicate: DropzoneComponent, descendants: true }], ngImport: i0, template: "<div class=\"content\" (dragoverNoChangeDetect)=\"dragoverHandler($event)\">\n <div #contentContainer></div>\n</div>\n<div class=\"branches-container\">\n <dropzone placement=\"inner\" [hidden]=\"!showInnerDropzone\"></dropzone>\n <div #branchesContainer></div>\n</div>\n<dropzone placement=\"lateral\" [hidden]=\"!showLateralDropzone\"></dropzone>\n", styles: [".branches-container{margin-left:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DropzoneComponent, selector: "dropzone", inputs: ["placement"], outputs: ["dropped"] }, { kind: "directive", type: DragoverNoChangeDetectDirective, selector: "[dragoverNoChangeDetect]", outputs: ["dragoverNoChangeDetect"] }] });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BranchComponent, decorators: [{
|
|
59
59
|
type: Component,
|
|
60
60
|
args: [{ standalone: true, selector: "branch", imports: [CommonModule, DropzoneComponent, DragoverNoChangeDetectDirective], template: "<div class=\"content\" (dragoverNoChangeDetect)=\"dragoverHandler($event)\">\n <div #contentContainer></div>\n</div>\n<div class=\"branches-container\">\n <dropzone placement=\"inner\" [hidden]=\"!showInnerDropzone\"></dropzone>\n <div #branchesContainer></div>\n</div>\n<dropzone placement=\"lateral\" [hidden]=\"!showLateralDropzone\"></dropzone>\n", styles: [".branches-container{margin-left:16px}\n"] }]
|
|
61
61
|
}], ctorParameters: function () { return [{ type: i0.ApplicationRef }]; }, propDecorators: { branchesContainer: [{
|
|
@@ -76,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
76
76
|
}], dropped: [{
|
|
77
77
|
type: Output
|
|
78
78
|
}] } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvY29tcG9uZW50cy9icmFuY2gvYnJhbmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvY29tcG9uZW50cy9icmFuY2gvYnJhbmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBR0osU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFHTixTQUFTLEVBQ1QsWUFBWSxFQUNaLGdCQUFnQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdsQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVN6QyxNQUFNLE9BQU8sZUFBZTtJQXNCekIsWUFBb0MsTUFBc0I7UUFBdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFsQjFELHNCQUFpQixHQUFpQyxTQUFTLENBQUM7UUFFNUQscUJBQWdCLEdBQWlDLFNBQVMsQ0FBQztRQUMxQixjQUFTLEdBRXpCLFNBQVMsQ0FBQztRQUlSLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztRQUN2QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ3RELFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUU5RCxzQkFBaUIsR0FBWSxLQUFLLENBQUM7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LE1BQU07Z0JBQ1ksT0FBTztzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gICB0eXBlIEFmdGVyVmlld0luaXQsXG4gICBBcHBsaWNhdGlvblJlZixcbiAgIENvbXBvbmVudCxcbiAgIHR5cGUgQ29tcG9uZW50UmVmLFxuICAgRXZlbnRFbWl0dGVyLFxuICAgSW5wdXQsXG4gICBOZ1pvbmUsXG4gICB0eXBlIE9uRGVzdHJveSxcbiAgIE91dHB1dCxcbiAgIHR5cGUgUXVlcnlMaXN0LFxuICAgdHlwZSBUeXBlLFxuICAgVmlld0NoaWxkLFxuICAgVmlld0NoaWxkcmVuLFxuICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgbWFwLCBtZXJnZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgdHlwZSB7IEhvc3RDb21wb25lbnQgfSBmcm9tIFwiLi4vaG9zdC1jb21wb25lbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgdHlwZSB7IE5vZGVDb21wb25lbnQgfSBmcm9tIFwiLi4vbm9kZS1jb21wb25lbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBEcm9wem9uZUNvbXBvbmVudCB9IGZyb20gXCIuLi9kcm9wem9uZVwiO1xuaW1wb3J0IHsgRHJhZ292ZXJOb0NoYW5nZURldGVjdERpcmVjdGl2ZSB9IGZyb20gXCIuLi9kcmFnb3Zlci1uby1jaGFuZ2UtZGV0ZWN0XCI7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkXCI7XG5cbkBDb21wb25lbnQoe1xuICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgIHNlbGVjdG9yOiBcImJyYW5jaFwiLFxuICAgdGVtcGxhdGVVcmw6IFwiLi9icmFuY2guY29tcG9uZW50Lmh0bWxcIixcbiAgIHN0eWxlVXJsczogW1wiLi9icmFuY2guY29tcG9uZW50LnNjc3NcIl0sXG4gICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEcm9wem9uZUNvbXBvbmVudCwgRHJhZ292ZXJOb0NoYW5nZURldGVjdERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgQnJhbmNoQ29tcG9uZW50PFQ+XG4gICBpbXBsZW1lbnRzIE5vZGVDb21wb25lbnQsIEhvc3RDb21wb25lbnQ8VD4sIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICAgQFZpZXdDaGlsZChcImJyYW5jaGVzQ29udGFpbmVyXCIsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxuICAgYnJhbmNoZXNDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICBAVmlld0NoaWxkKFwiY29udGVudENvbnRhaW5lclwiLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcbiAgIGNvbnRlbnRDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICBAVmlld0NoaWxkcmVuKERyb3B6b25lQ29tcG9uZW50KSBkcm9wem9uZXM6XG4gICAgICB8IFF1ZXJ5TGlzdDxEcm9wem9uZUNvbXBvbmVudD5cbiAgICAgIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICBASW5wdXQoKSBjb250ZW50VG9Ib3N0PzogVHlwZTxUPjtcblxuICAgQE91dHB1dCgpIHJlYWRvbmx5IGNvbnRlbnRDcmVhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuICAgQE91dHB1dCgpIHJlYWRvbmx5IHNob3dEcm9wem9uZXMgPSBuZXcgRXZlbnRFbWl0dGVyPFwidXBwZXJcIiB8IFwibG93ZXJcIj4oKTtcbiAgIEBPdXRwdXQoKSByZWFkb25seSBkcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjxcImlubmVyXCIgfCBcImxhdGVyYWxcIj4oKTtcblxuICAgcHVibGljIHNob3dJbm5lckRyb3B6b25lOiBib29sZWFuID0gZmFsc2U7XG4gICBwdWJsaWMgc2hvd0xhdGVyYWxEcm9wem9uZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICBwcml2YXRlIGhvc3RlZENvbnRlbnQ/OiBDb21wb25lbnRSZWY8VD47XG5cbiAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFwcFJlZjogQXBwbGljYXRpb25SZWYpIHt9XG5cbiAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICBhc3NlcnQodGhpcy5jb250ZW50Q29udGFpbmVyICE9PSB1bmRlZmluZWQpO1xuICAgICAgYXNzZXJ0KHRoaXMuY29udGVudFRvSG9zdCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIHRoaXMuaG9zdGVkQ29udGVudCA9IHRoaXMuY29udGVudENvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICB0aGlzLmNvbnRlbnRUb0hvc3RcbiAgICAgICk7XG4gICAgICB0aGlzLmNvbnRlbnRDcmVhdGVkLmVtaXQodGhpcy5ob3N0ZWRDb250ZW50Lmluc3RhbmNlKTtcbiAgICAgIGFzc2VydCh0aGlzLmRyb3B6b25lcyAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIGNvbnN0IGlubmVyID0gdGhpcy5kcm9wem9uZXMuZ2V0KDApO1xuICAgICAgY29uc3QgbGF0ZXJhbCA9IHRoaXMuZHJvcHpvbmVzLmdldCgxKTtcbiAgICAgIGFzc2VydChpbm5lciAhPT0gdW5kZWZpbmVkICYmIGxhdGVyYWwgIT09IHVuZGVmaW5lZCk7XG4gICAgICBtZXJnZShcbiAgICAgICAgIGlubmVyLmRyb3BwZWQucGlwZShtYXAoKCkgPT4gXCJpbm5lclwiIGFzIGNvbnN0KSksXG4gICAgICAgICBsYXRlcmFsLmRyb3BwZWQucGlwZShtYXAoKCkgPT4gXCJsYXRlcmFsXCIgYXMgY29uc3QpKVxuICAgICAgKS5zdWJzY3JpYmUodGhpcy5kcm9wcGVkKTtcbiAgICAgIHRoaXMuaG9zdGVkQ29udGVudC5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICB9XG5cbiAgIHB1YmxpYyBnZXRIb3N0ZWRDb250ZW50KCk6IENvbXBvbmVudFJlZjxUPiB8IHVuZGVmaW5lZCB7XG4gICAgICByZXR1cm4gdGhpcy5ob3N0ZWRDb250ZW50O1xuICAgfVxuXG4gICBwdWJsaWMgdHJpZ2dlckNoYW5nZURldGVjdGlvbigpOiB2b2lkIHtcbiAgICAgIGlmICghTmdab25lLmlzSW5Bbmd1bGFyWm9uZSgpKSB7XG4gICAgICAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gICAgICB9XG4gICB9XG5cbiAgIHByb3RlY3RlZCBkcmFnb3ZlckhhbmRsZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgY29uc3QgZWxlbWVudEhlaWdodCA9IChcbiAgICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnRcbiAgICAgICkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuICAgICAgaWYgKGV2ZW50Lm9mZnNldFkgPCBlbGVtZW50SGVpZ2h0IC8gMikge1xuICAgICAgICAgdGhpcy5zaG93RHJvcHpvbmVzLmVtaXQoXCJ1cHBlclwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICB0aGlzLnNob3dEcm9wem9uZXMuZW1pdChcImxvd2VyXCIpO1xuICAgICAgfVxuICAgfVxuXG4gICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAvL0knbSBub3QgMTAwJSBzdXJlIHdoeSwgYnV0IHdlIGhhdmUgdG8gcmVtb3ZlIGFueSByZWZlcmVuY2UgdG8gdGhlXG4gICAgICAvL2NvbXBvbmVudFJlZiBvdGhlcndpc2UgQW5ndWxhciB3aWxsIG5ldmVyIHJlbGVhc2UgaXQgZm9yIGdhcmJhZ2VcbiAgICAgIC8vY29sbGVjdGlvbi5cbiAgICAgIHRoaXMuaG9zdGVkQ29udGVudCA9IHVuZGVmaW5lZDtcbiAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250ZW50XCIgKGRyYWdvdmVyTm9DaGFuZ2VEZXRlY3QpPVwiZHJhZ292ZXJIYW5kbGVyKCRldmVudClcIj5cbiAgIDxkaXYgI2NvbnRlbnRDb250YWluZXI+PC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJicmFuY2hlcy1jb250YWluZXJcIj5cbiAgIDxkcm9wem9uZSBwbGFjZW1lbnQ9XCJpbm5lclwiIFtoaWRkZW5dPVwiIXNob3dJbm5lckRyb3B6b25lXCI+PC9kcm9wem9uZT5cbiAgIDxkaXYgI2JyYW5jaGVzQ29udGFpbmVyPjwvZGl2PlxuPC9kaXY+XG48ZHJvcHpvbmUgcGxhY2VtZW50PVwibGF0ZXJhbFwiIFtoaWRkZW5dPVwiIXNob3dMYXRlcmFsRHJvcHpvbmVcIj48L2Ryb3B6b25lPlxuIl19
|
|
@@ -25,9 +25,9 @@ export class DragoverNoChangeDetectDirective {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
DragoverNoChangeDetectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
29
|
-
DragoverNoChangeDetectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
28
|
+
DragoverNoChangeDetectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DragoverNoChangeDetectDirective, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
29
|
+
DragoverNoChangeDetectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DragoverNoChangeDetectDirective, isStandalone: true, selector: "[dragoverNoChangeDetect]", outputs: { dragoverNoChangeDetect: "dragoverNoChangeDetect" }, ngImport: i0 });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DragoverNoChangeDetectDirective, decorators: [{
|
|
31
31
|
type: Directive,
|
|
32
32
|
args: [{
|
|
33
33
|
standalone: true,
|
|
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
36
36
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ElementRef }]; }, propDecorators: { dragoverNoChangeDetect: [{
|
|
37
37
|
type: Output
|
|
38
38
|
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ292ZXItbm8tY2hhbmdlLWRldGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvY29tcG9uZW50cy9kcmFnb3Zlci1uby1jaGFuZ2UtZGV0ZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSixTQUFTLEVBRVQsWUFBWSxFQUlaLE1BQU0sRUFDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLE1BQU0sQ0FBQzs7QUFFcEQ7Ozs7R0FJRztBQUtILE1BQU0sT0FBTywrQkFBK0I7SUFJekMsWUFDb0IsTUFBYyxFQUNkLEVBQXVCO1FBRHZCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQUV4QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUMvRCxDQUFDO0lBRU0sUUFBUTtRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQy9CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUNyQixVQUFVLENBQ1osQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVNLFdBQVc7UUFDZixJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3ZDO0lBQ0osQ0FBQzs7NEhBMUJTLCtCQUErQjtnSEFBL0IsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBSjNDLFNBQVM7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3RDO3NIQUVxQixzQkFBc0I7c0JBQXhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgRGlyZWN0aXZlLFxuICAgRWxlbWVudFJlZixcbiAgIEV2ZW50RW1pdHRlcixcbiAgIE5nWm9uZSxcbiAgIHR5cGUgT25EZXN0cm95LFxuICAgdHlwZSBPbkluaXQsXG4gICBPdXRwdXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGZyb21FdmVudCwgdHlwZSBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuXG4vKipcbiAqIFdvcmtzIGp1c3QgbGlrZSBBbmd1bGFyJ3MgYnVpbHQtaW4gYChkcmFnb3ZlcilgIGV2ZW50IGJpbmRpbmcsIGJ1dCBpcyBtdWNoXG4gKiBtb3JlIHBlcmZvcm1hbnQuIEl0IHRocm90dGxlcyB0aGUgZXZlbnQgdG8gYSBjb25maWd1cmFibGUgcmF0ZSAoZGVmYXVsdCBvbmNlXG4gKiBldmVyeSAyNW1zKSBhbmQgcnVucyBvdXRzaWRlIG9mIEFuZ3VsYXIncyBjaGFuZ2UgZGV0ZWN0aW9uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICBzZWxlY3RvcjogXCJbZHJhZ292ZXJOb0NoYW5nZURldGVjdF1cIlxufSlcbmV4cG9ydCBjbGFzcyBEcmFnb3Zlck5vQ2hhbmdlRGV0ZWN0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgQE91dHB1dCgpIHJlYWRvbmx5IGRyYWdvdmVyTm9DaGFuZ2VEZXRlY3Q6IEV2ZW50RW1pdHRlcjxEcmFnRXZlbnQ+O1xuICAgcHJpdmF0ZSBldmVudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxFbGVtZW50PlxuICAgKSB7XG4gICAgICB0aGlzLmRyYWdvdmVyTm9DaGFuZ2VEZXRlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPERyYWdFdmVudD4oKTtcbiAgIH1cblxuICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgdGhpcy5ldmVudFN1YnNjcmlwdGlvbiA9IGZyb21FdmVudDxEcmFnRXZlbnQ+KFxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgXCJkcmFnb3ZlclwiXG4gICAgICAgICApLnN1YnNjcmliZSgoJGV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRyYWdvdmVyTm9DaGFuZ2VEZXRlY3QuZW1pdCgkZXZlbnQpO1xuICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgIH1cblxuICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuZXZlbnRTdWJzY3JpcHRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgdGhpcy5ldmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgfVxufVxuIl19
|
|
@@ -22,9 +22,9 @@ export class DropzoneComponent {
|
|
|
22
22
|
this.dropped.emit(event);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
DropzoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
26
|
-
DropzoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
25
|
+
DropzoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DropzoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
+
DropzoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DropzoneComponent, isStandalone: true, selector: "dropzone", inputs: { placement: "placement" }, outputs: { dropped: "dropped" }, ngImport: i0, template: "<div\n class=\"dropzone\"\n [ngClass]=\"{ active: active }\"\n (dragenter)=\"dragenterHandler()\"\n (dragleave)=\"dragleaveHandler()\"\n (dragoverNoChangeDetect)=\"dragoverHandler($event)\"\n (drop)=\"dropHandler($event)\"\n></div>\n", styles: [".dropzone{border-radius:8px;border:1px dashed #727374;background-color:#ededed;height:36px;margin:8px 0;transition:height .3s ease-out;animation:animation .3s ease-out}.dropzone.active{border-color:#289e49;border-width:2px;background-color:#d0e8d6;height:72px}@keyframes animation{0%{height:0px;opacity:0}to{height:36px;opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: DragoverNoChangeDetectDirective, selector: "[dragoverNoChangeDetect]", outputs: ["dragoverNoChangeDetect"] }] });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DropzoneComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
29
|
args: [{ standalone: true, selector: "dropzone", imports: [CommonModule, DragoverNoChangeDetectDirective], template: "<div\n class=\"dropzone\"\n [ngClass]=\"{ active: active }\"\n (dragenter)=\"dragenterHandler()\"\n (dragleave)=\"dragleaveHandler()\"\n (dragoverNoChangeDetect)=\"dragoverHandler($event)\"\n (drop)=\"dropHandler($event)\"\n></div>\n", styles: [".dropzone{border-radius:8px;border:1px dashed #727374;background-color:#ededed;height:36px;margin:8px 0;transition:height .3s ease-out;animation:animation .3s ease-out}.dropzone.active{border-color:#289e49;border-width:2px;background-color:#d0e8d6;height:72px}@keyframes animation{0%{height:0px;opacity:0}to{height:36px;opacity:1}}\n"] }]
|
|
30
30
|
}], propDecorators: { placement: [{
|
|
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
32
32
|
}], dropped: [{
|
|
33
33
|
type: Output
|
|
34
34
|
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3B6b25lL2Ryb3B6b25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvY29tcG9uZW50cy9kcm9wem9uZS9kcm9wem9uZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBUy9FLE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFTc0IsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFFakQsV0FBTSxHQUFZLEtBQUssQ0FBQztLQWtCcEM7SUFoQlMsZ0JBQWdCO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxnQkFBZ0I7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFnQjtRQUNwQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsS0FBSyxDQUFDLFlBQTZCLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztJQUM1RCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQWdCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7OzhHQXJCUyxpQkFBaUI7a0dBQWpCLGlCQUFpQix5SUNYOUIsdVBBUUEsc1lEQ2EsWUFBWSw2SEFBRSwrQkFBK0I7MkZBRTdDLGlCQUFpQjtrQkFQN0IsU0FBUztpQ0FDSyxJQUFJLFlBQ04sVUFBVSxXQUdYLENBQUMsWUFBWSxFQUFFLCtCQUErQixDQUFDOzhCQUcvQyxTQUFTO3NCQUFqQixLQUFLO2dCQUNhLE9BQU87c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEcmFnb3Zlck5vQ2hhbmdlRGV0ZWN0RGlyZWN0aXZlIH0gZnJvbSBcIi4uL2RyYWdvdmVyLW5vLWNoYW5nZS1kZXRlY3RcIjtcblxuQENvbXBvbmVudCh7XG4gICBzdGFuZGFsb25lOiB0cnVlLFxuICAgc2VsZWN0b3I6IFwiZHJvcHpvbmVcIixcbiAgIHRlbXBsYXRlVXJsOiBcIi4vZHJvcHpvbmUuY29tcG9uZW50Lmh0bWxcIixcbiAgIHN0eWxlVXJsczogW1wiLi9kcm9wem9uZS5jb21wb25lbnQuc2Nzc1wiXSxcbiAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERyYWdvdmVyTm9DaGFuZ2VEZXRlY3REaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIERyb3B6b25lQ29tcG9uZW50IHtcbiAgIEBJbnB1dCgpIHBsYWNlbWVudD86IFwiaW5uZXJcIiB8IFwibGF0ZXJhbFwiO1xuICAgQE91dHB1dCgpIHJlYWRvbmx5IGRyb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERyYWdFdmVudD4oKTtcblxuICAgcHJvdGVjdGVkIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICBwdWJsaWMgZHJhZ2VudGVySGFuZGxlcigpOiB2b2lkIHtcbiAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgIH1cblxuICAgcHVibGljIGRyYWdsZWF2ZUhhbmRsZXIoKTogdm9pZCB7XG4gICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgfVxuXG4gICBwdWJsaWMgZHJhZ292ZXJIYW5kbGVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAoZXZlbnQuZGF0YVRyYW5zZmVyIGFzIERhdGFUcmFuc2ZlcikuZHJvcEVmZmVjdCA9IFwibW92ZVwiO1xuICAgfVxuXG4gICBwdWJsaWMgZHJvcEhhbmRsZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgdGhpcy5kcm9wcGVkLmVtaXQoZXZlbnQpO1xuICAgfVxufVxuIiwiPGRpdlxuICAgY2xhc3M9XCJkcm9wem9uZVwiXG4gICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogYWN0aXZlIH1cIlxuICAgKGRyYWdlbnRlcik9XCJkcmFnZW50ZXJIYW5kbGVyKClcIlxuICAgKGRyYWdsZWF2ZSk9XCJkcmFnbGVhdmVIYW5kbGVyKClcIlxuICAgKGRyYWdvdmVyTm9DaGFuZ2VEZXRlY3QpPVwiZHJhZ292ZXJIYW5kbGVyKCRldmVudClcIlxuICAgKGRyb3ApPVwiZHJvcEhhbmRsZXIoJGV2ZW50KVwiXG4+PC9kaXY+XG4iXX0=
|
|
@@ -17,9 +17,9 @@ export class RootComponent {
|
|
|
17
17
|
this.dropzone.dropped.subscribe(this.dropped);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
RootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
21
|
-
RootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
20
|
+
RootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RootComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
RootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: RootComponent, isStandalone: true, selector: "root", outputs: { afterViewInit: "afterViewInit", dropped: "dropped" }, viewQueries: [{ propertyName: "branchesContainer", first: true, predicate: ["branchesContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "dropzone", first: true, predicate: DropzoneComponent, descendants: true }], ngImport: i0, template: "<div class=\"branches-container\">\n <dropzone placement=\"inner\" [hidden]=\"!showInnerDropzone\"></dropzone>\n <div #branchesContainer></div>\n</div>\n", styles: [".branches-container{min-width:64px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DropzoneComponent, selector: "dropzone", inputs: ["placement"], outputs: ["dropped"] }] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RootComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
24
|
args: [{ standalone: true, selector: "root", imports: [CommonModule, DropzoneComponent], template: "<div class=\"branches-container\">\n <dropzone placement=\"inner\" [hidden]=\"!showInnerDropzone\"></dropzone>\n <div #branchesContainer></div>\n</div>\n", styles: [".branches-container{min-width:64px}\n"] }]
|
|
25
25
|
}], propDecorators: { branchesContainer: [{
|
|
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
33
33
|
}], dropped: [{
|
|
34
34
|
type: Output
|
|
35
35
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2NvbXBvbmVudHMvcm9vdC9yb290LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvY29tcG9uZW50cy9yb290L3Jvb3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFSixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBVWhELE1BQU0sT0FBTyxhQUFhO0lBUDFCO1FBU0csc0JBQWlCLEdBQWlDLFNBQVMsQ0FBQztRQUM5QixhQUFRLEdBQ25DLFNBQVMsQ0FBQztRQUVNLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN6QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUvQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7S0FPNUM7SUFMUyxlQUFlO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDOzswR0FmUyxhQUFhOzhGQUFiLGFBQWEsb09BQ2lCLGdCQUFnQix3REFFN0MsaUJBQWlCLGdEQ3ZCL0IsK0pBSUEsOEZEY2EsWUFBWSwrQkFBRSxpQkFBaUI7MkZBRS9CLGFBQWE7a0JBUHpCLFNBQVM7aUNBQ0ssSUFBSSxZQUNOLE1BQU0sV0FHUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQzs4QkFJMUMsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUU1QixRQUFRO3NCQUFyQyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFHVCxhQUFhO3NCQUEvQixNQUFNO2dCQUNZLE9BQU87c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge1xuICAgdHlwZSBBZnRlclZpZXdJbml0LFxuICAgQ29tcG9uZW50LFxuICAgRXZlbnRFbWl0dGVyLFxuICAgT3V0cHV0LFxuICAgVmlld0NoaWxkLFxuICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZFwiO1xuaW1wb3J0IHsgRHJvcHpvbmVDb21wb25lbnQgfSBmcm9tIFwiLi4vZHJvcHpvbmVcIjtcbmltcG9ydCB0eXBlIHsgTm9kZUNvbXBvbmVudCB9IGZyb20gXCIuLi9ub2RlLWNvbXBvbmVudC5pbnRlcmZhY2VcIjtcblxuQENvbXBvbmVudCh7XG4gICBzdGFuZGFsb25lOiB0cnVlLFxuICAgc2VsZWN0b3I6IFwicm9vdFwiLFxuICAgdGVtcGxhdGVVcmw6IFwiLi9yb290LmNvbXBvbmVudC5odG1sXCIsXG4gICBzdHlsZVVybHM6IFtcIi4vcm9vdC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERyb3B6b25lQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBSb290Q29tcG9uZW50IGltcGxlbWVudHMgTm9kZUNvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICBAVmlld0NoaWxkKFwiYnJhbmNoZXNDb250YWluZXJcIiwgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXG4gICBicmFuY2hlc0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgIEBWaWV3Q2hpbGQoRHJvcHpvbmVDb21wb25lbnQpIGRyb3B6b25lOiBEcm9wem9uZUNvbXBvbmVudCB8IHVuZGVmaW5lZCA9XG4gICAgICB1bmRlZmluZWQ7XG5cbiAgIEBPdXRwdXQoKSByZWFkb25seSBhZnRlclZpZXdJbml0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgQE91dHB1dCgpIHJlYWRvbmx5IGRyb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgIHB1YmxpYyBzaG93SW5uZXJEcm9wem9uZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgdGhpcy5hZnRlclZpZXdJbml0LmVtaXQoKTtcbiAgICAgIGFzc2VydCh0aGlzLmRyb3B6b25lICE9PSB1bmRlZmluZWQpO1xuICAgICAgdGhpcy5kcm9wem9uZS5kcm9wcGVkLnN1YnNjcmliZSh0aGlzLmRyb3BwZWQpO1xuICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImJyYW5jaGVzLWNvbnRhaW5lclwiPlxuICAgPGRyb3B6b25lIHBsYWNlbWVudD1cImlubmVyXCIgW2hpZGRlbl09XCIhc2hvd0lubmVyRHJvcHpvbmVcIj48L2Ryb3B6b25lPlxuICAgPGRpdiAjYnJhbmNoZXNDb250YWluZXI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -391,7 +391,7 @@ export class TreeBranch {
|
|
|
391
391
|
return index < 0 || index > parent.branches().length;
|
|
392
392
|
}
|
|
393
393
|
furthestAncestor() {
|
|
394
|
-
// eslint-disable-next-line
|
|
394
|
+
// eslint-disable-next-line typescript/no-this-alias -- This code is for an iteration, not to make `this` available in other scopes (which is what the rule is intended to protect against).
|
|
395
395
|
let node = this;
|
|
396
396
|
while (node instanceof TreeBranch) {
|
|
397
397
|
const parent = node.parent();
|
|
@@ -426,4 +426,4 @@ export class TreeBranch {
|
|
|
426
426
|
branchesContainerEl.style.marginLeft = `${options?.indentation ?? 16}px`;
|
|
427
427
|
}
|
|
428
428
|
}
|
|
429
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1icmFuY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2NvcmUvdHJlZS1icmFuY2gvdHJlZS1icmFuY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBU3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQ0osZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixVQUFVLEVBRVosTUFBTSxjQUFjLENBQUM7QUFFdEI7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQVFwQixZQUNHLE1BQW1DLEVBQ25CLGFBQW1EO1FBQW5ELGtCQUFhLEdBQWIsYUFBYSxDQUFzQztRQU45RCxpQkFBWSxHQUFtQixJQUFJLENBQUM7UUFRekMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUQsTUFBTSxDQUFDLHVCQUF1QixLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUN6QyxJQUFJLEVBQ0osdUJBQXVCLENBQ3pCLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckQsSUFDRyxNQUFNLFlBQVksVUFBVTtZQUM1QixNQUFNLENBQUMsYUFBYSxDQUFDLGdCQUFnQixLQUFLLElBQUksRUFDL0M7WUFDQyxhQUFhLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO1NBQy9CO2FBQU07WUFDSix1QkFBdUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FDVixJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUU7Z0JBQ2xCLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDcEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTthQUN2QyxDQUFDLENBQ0osQ0FBQztZQUNGLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsaUZBQWlGO0lBQzFFLFFBQVE7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxPQUFPO1FBQ1gsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDckIsTUFBTSxJQUFJLFNBQVMsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGtEQUFrRDtJQUMzQyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0ksUUFBUSxDQUFDLEtBQW1DO1FBQ2hELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTTtRQUNWLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksU0FBUyxDQUFDLEtBQWE7UUFDM0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQseUVBQXlFO0lBQ2xFLG9CQUFvQjtRQUN4QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNyQixNQUFNLElBQUksU0FBUyxDQUNoQiw0REFBNEQsQ0FDOUQsQ0FBQztTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQsK0VBQStFO0lBQ3hFLG9CQUFvQjtRQUN4QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNyQixNQUFNLElBQUksU0FBUyxDQUNoQiw0REFBNEQsQ0FDOUQsQ0FBQztTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQsc0VBQXNFO0lBQy9ELFdBQVc7UUFDZixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNyQixNQUFNLElBQUksU0FBUyxDQUNoQiw2REFBNkQsQ0FDL0QsQ0FBQztTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELDREQUE0RDtJQUNyRCxnQkFBZ0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDckIsTUFBTSxJQUFJLFNBQVMsQ0FDaEIsd0RBQXdELENBQzFELENBQUM7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSx1QkFBdUI7UUFHM0IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDckIsTUFBTSxJQUFJLFNBQVMsQ0FDaEIsNERBQTRELENBQzlELENBQUM7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBQ0ksT0FBTyxDQUNYLFNBQXNDLEVBQ3RDLEtBQWM7UUFFZCxJQUFJLENBQUMsMEJBQTBCLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUN6QixNQUFNLFFBQVEsR0FBRyxLQUFLLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUN0RCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQ1YsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ2xCLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLFFBQVE7U0FDakIsQ0FBQyxDQUNKLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksSUFBSSxDQUNSLFNBQWtDLEVBQ2xDLE9BQTBDO1FBRTFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxTQUFTLENBQUMsaURBQWlELENBQUMsQ0FBQztTQUN6RTtRQUNELElBQUk7WUFDRCxPQUFPLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDekQ7UUFBQyxPQUFPLEtBQWMsRUFBRTtZQUN0QixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0ksS0FBSztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE9BQU8sU0FBUyxDQUFDO1NBQ25CO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU87YUFDdEIsUUFBUSxFQUFFO2FBQ1YsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDM0MsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNoQixDQUFDO0lBRUQsb0VBQW9FO0lBQzdELFdBQVc7UUFDZixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxJQUFJO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTTtRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTJCRztJQUNJLElBQUk7UUFDUixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNJLFFBQVE7UUFDWixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxTQUFTLENBQ2hCLHNEQUFzRCxDQUN4RCxDQUFDO1NBQ0o7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksVUFBVSxFQUFFO1lBQ3JDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0MsT0FBTyxDQUFDLEdBQUcsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDckIsTUFBTSxJQUFJLFNBQVMsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLE1BQU0sS0FBSyxTQUFTO1lBQUUsT0FBTztRQUN4RCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNoRCxNQUFNLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQ1YsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ2xCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsS0FBSyxFQUFFLElBQUk7WUFDWCxLQUFLLEVBQUUsS0FBSztTQUNkLENBQUMsQ0FDSixDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLElBQUk7UUFDUixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsSUFBSSxNQUFNLFlBQVksVUFBVSxFQUFFO1lBQy9CLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3ZCO1FBQ0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxRQUFRLElBQUksTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQzNELE9BQU8sTUFBTSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFFBQVEsQ0FDWixRQUF1RDtRQUV2RCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sMEJBQTBCLENBQy9CLFNBQXNDLEVBQ3RDLEtBQWM7UUFFZCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNyQixNQUFNLElBQUksU0FBUyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7U0FDOUQ7UUFDRCxJQUFJLFNBQVMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUMxQixNQUFNLElBQUksU0FBUyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7U0FDakU7UUFDRCxJQUNHLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFDekM7WUFDQyxNQUFNLElBQUksU0FBUyxDQUNoQixnQ0FBZ0MsS0FBSywrQkFBK0IsQ0FDdEUsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3BCLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtnQkFDckIsTUFBTSxJQUFJLFNBQVMsQ0FDaEIsK0RBQStELENBQ2pFLENBQUM7YUFDSjtRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQWM7UUFDdkMsd0VBQXdFO1FBQ3hFLHlFQUF5RTtRQUN6RSxxRUFBcUU7UUFDckUsdUNBQXVDO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLGlCQUFpQixDQUN0QixNQUFtQyxFQUNuQyxLQUFhO1FBRWIsT0FBTyxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3hELENBQUM7SUFFTyxnQkFBZ0I7UUFDckIsb01BQW9NO1FBQ3BNLElBQUksSUFBSSxHQUFnQyxJQUFJLENBQUM7UUFDN0MsT0FBTyxJQUFJLFlBQVksVUFBVSxFQUFFO1lBQ2hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QixJQUFJLE1BQU0sS0FBSyxTQUFTO2dCQUFFLE1BQU07WUFDaEMsSUFBSSxHQUFHLE1BQU0sQ0FBQztTQUNoQjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2YsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFjO1FBQ2hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUN0RCxNQUFNLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sY0FBYztRQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQztRQUNuQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUNyQixPQUFPO1NBQ1Q7UUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQjthQUM3QyxnQkFBZ0IsRUFBRTthQUNsQixzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQzthQUM1QyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDWixNQUFNLENBQUMsbUJBQW1CLFlBQVksV0FBVyxDQUFDLENBQUM7UUFDbkQsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxHQUFHLE9BQU8sRUFBRSxXQUFXLElBQUksRUFBRSxJQUFJLENBQUM7SUFDNUUsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZFwiO1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB0eXBlIHtcbiAgIENvbXBvbmVudFJlZixcbiAgIFR5cGUsXG4gICBWaWV3Q29udGFpbmVyUmVmLFxuICAgVmlld1JlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQnJhbmNoQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHNcIjtcbmltcG9ydCB7IFRyZWVFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvcnNcIjtcbmltcG9ydCB7IGRyb3B6b25lUmVuZGVyZXIgfSBmcm9tIFwiLi4vLi4vZXh0cmFzL2RyYWctYW5kLWRyb3BcIjtcbmltcG9ydCB7IFRyZWVSb290IH0gZnJvbSBcIi4uL3RyZWUtcm9vdFwiO1xuaW1wb3J0IHR5cGUgeyBUcmVlTm9kZSB9IGZyb20gXCIuLi90cmVlLW5vZGUuaW50ZXJmYWNlXCI7XG5pbXBvcnQgdHlwZSB7IFRyZWVQbG90IH0gZnJvbSBcIi4uL3RyZWUtcGxvdC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFRyZWVOb2RlQmFzZSB9IGZyb20gXCIuLi90cmVlLW5vZGUtYmFzZVwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb25cIjtcbmltcG9ydCB0eXBlIHtcbiAgIEJyYW5jaE9wdGlvbnMsXG4gICBGdWxsQnJhbmNoT3B0aW9uc1xufSBmcm9tIFwiLi4vYnJhbmNoLW9wdGlvbnMuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBCcmFuY2hDb250cm9sbGVyIH0gZnJvbSBcIi4vYnJhbmNoLWNvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIHsgR3JhZnRhYmxlIH0gZnJvbSBcIi4vZ3JhZnRhYmxlLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgdHJlZUNvbGxhcHNlciB9IGZyb20gXCIuLi8uLi9leHRyYXMvY29sbGFwc2VcIjtcbmltcG9ydCB7XG4gICBEZXN0cnVjdGlvbkV2ZW50LFxuICAgR3JhZnRFdmVudCxcbiAgIFBydW5lRXZlbnQsXG4gICB0eXBlIFRyZWVFdmVudFxufSBmcm9tIFwiLi4vLi4vZXZlbnRzXCI7XG5cbi8qKiBSZXByZXNlbnRzIGEgc3RhbmRhcmQgbm9kZSBpbiBhIHRyZWUuIFJlbmRlcnMgYSBCcmFuY2hDb21wb25lbnQuXG4gKlxuICogQHJlbWFya3NcbiAqIFRoaXMgY2xhc3MgcmVuZGVycyBhIGJyYW5jaCBjb21wb25lbnQsIHdoaWNoIGRvZXMgdGhlIGZvbGxvd2luZzpcbiAqIDEuIFJlbmRlcnMgYSBjb21wb25lbnQgcHJvdmlkZWQgYnkgdGhlIHVzZXJcbiAqIDIuIFByb3ZpZGVzIGEgY29udGFpbmVyIGluIHdoaWNoIGNoaWxkIGJyYW5jaGVzIG1heSBiZSByZW5kZXJlZFxuICogMy4gQ29udGFpbnMgdHdvIERyb3B6b25lczogb25lIGZvciBkcm9wcGluZyBicmFuY2hlcyBiZWxvdyB0aGlzIGJyYW5jaCAoYXMgYVxuICogc2libGluZyksIGFuZCBvbmUgZm9yIGRyb3BwaW5nIGJyYW5jaGVzIGFzIGEgZmlyc3QgY2hpbGQgb2YgdGhpcyBicmFuY2guXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50PlxuICAgaW1wbGVtZW50cyBUcmVlTm9kZTxVc2VybGFuZENvbXBvbmVudD4sIEdyYWZ0YWJsZTxVc2VybGFuZENvbXBvbmVudD5cbntcbiAgIHByaXZhdGUgcmVhZG9ubHkgYnJhbmNoQ29udHJvbGxlcjogQnJhbmNoQ29udHJvbGxlcjxVc2VybGFuZENvbXBvbmVudD47XG4gICBwcml2YXRlIGRldGFjaGVkVmlldzogVmlld1JlZiB8IG51bGwgPSBudWxsO1xuICAgcHJpdmF0ZSBfcGFyZW50OiBUcmVlTm9kZTxVc2VybGFuZENvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG4gICBwcml2YXRlIHJlYWRvbmx5IHRyZWVOb2RlQmFzZTogVHJlZU5vZGVCYXNlPFVzZXJsYW5kQ29tcG9uZW50PjtcblxuICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgcGFyZW50OiBUcmVlTm9kZTxVc2VybGFuZENvbXBvbmVudD4sXG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYnJhbmNoT3B0aW9uczogRnVsbEJyYW5jaE9wdGlvbnM8VXNlcmxhbmRDb21wb25lbnQ+XG4gICApIHtcbiAgICAgIHRoaXMudHJlZU5vZGVCYXNlID0gbmV3IFRyZWVOb2RlQmFzZSgpO1xuICAgICAgY29uc3QgcGFyZW50QnJhbmNoZXNDb250YWluZXIgPSBwYXJlbnQuZ2V0QnJhbmNoZXNDb250YWluZXIoKTtcbiAgICAgIGFzc2VydChwYXJlbnRCcmFuY2hlc0NvbnRhaW5lciAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIHRoaXMuYnJhbmNoQ29udHJvbGxlciA9IG5ldyBCcmFuY2hDb250cm9sbGVyKFxuICAgICAgICAgdGhpcyxcbiAgICAgICAgIHBhcmVudEJyYW5jaGVzQ29udGFpbmVyXG4gICAgICApO1xuICAgICAgY29uc3QgaG9zdFZpZXcgPSB0aGlzLmJyYW5jaENvbnRyb2xsZXIuZ2V0SG9zdFZpZXcoKTtcbiAgICAgIGlmIChcbiAgICAgICAgIHBhcmVudCBpbnN0YW5jZW9mIFRyZWVCcmFuY2ggJiZcbiAgICAgICAgIHBhcmVudC5icmFuY2hPcHRpb25zLmRlZmF1bHRDb2xsYXBzZWQgPT09IHRydWVcbiAgICAgICkge1xuICAgICAgICAgdHJlZUNvbGxhcHNlci5zdG9yZVByZWNvbGxhcHNlZE5vZGUocGFyZW50LCB0aGlzKTtcbiAgICAgICAgIHRoaXMuZGV0YWNoZWRWaWV3ID0gaG9zdFZpZXc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAgcGFyZW50QnJhbmNoZXNDb250YWluZXIuaW5zZXJ0KGhvc3RWaWV3KTtcbiAgICAgICAgIHRoaXMuX3BhcmVudCA9IHBhcmVudDtcbiAgICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBuZXcgR3JhZnRFdmVudCh0aGlzLCB7XG4gICAgICAgICAgICAgICBwYXJlbnQ6IHRoaXMuX3BhcmVudCxcbiAgICAgICAgICAgICAgIGNoaWxkOiB0aGlzLFxuICAgICAgICAgICAgICAgaW5kZXg6IHRoaXMuX3BhcmVudC5icmFuY2hlcygpLmxlbmd0aFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICk7XG4gICAgICAgICB0aGlzLnNldEluZGVudGF0aW9uKCk7XG4gICAgICB9XG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgIH1cblxuICAgLyoqIEByZXR1cm5zIEFsbCBjaGlsZCBicmFuY2hlcyBhcyBhbiBhcnJheSBvZiBUcmVlQnJhbmNoIGluc3RhbmNlcywgaW4gb3JkZXIuICovXG4gICBwdWJsaWMgYnJhbmNoZXMoKTogQXJyYXk8VHJlZUJyYW5jaDxVc2VybGFuZENvbXBvbmVudD4+IHtcbiAgICAgIHJldHVybiB0aGlzLnRyZWVOb2RlQmFzZS5icmFuY2hlcygpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIFJlY3Vyc2l2ZWx5IGRlc3Ryb3lzIGFsbCBkZXNjZW5kYW50IGJyYW5jaGVzLCBhcyB3ZWxsIGFzIGl0c2VsZi4gVGhpc1xuICAgICogcmVsZWFzZXMgYWxsIHJlc291cmNlcyBoZWxkIG9yIGNvbnN1bWVkIGJ5IHRoaXMgYnJhbmNoIGFuZCBpdHMgZGVzY2VuZGFudHMuXG4gICAgKlxuICAgICogQHJlbWFya3NcbiAgICAqIEl0IGlzIGltcG9ydGFudCB0byBjYWxsIHRoaXMgbWV0aG9kIHdoZW4gYSBicmFuY2ggaXMgZGlzY2FyZGVkLCBvdGhlcndpc2VcbiAgICAqIHRoZSBicmFuY2ggd2lsbCByZW1haW4gaW4gbWVtb3J5IGFuZCBjb250aW51ZSB0byBjb25zdW1lIHJlc291cmNlcy5cbiAgICAqL1xuICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCgpKSB7XG4gICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFwiQ2Fubm90IGRlc3Ryb3kgYSBkZXN0cm95ZWQgdHJlZSBicmFuY2hcIik7XG4gICAgICB9XG4gICAgICB0aGlzLnBydW5lKCk7XG4gICAgICB0cmVlQ29sbGFwc2VyLmV4cGFuZCh0aGlzKTtcbiAgICAgIGRyb3B6b25lUmVuZGVyZXIuY2xlYXJUcmVlRnJvbVJlZ2lzdHJ5KHRoaXMpO1xuICAgICAgdGhpcy5icmFuY2hDb250cm9sbGVyLmdldEhvc3RWaWV3KCkuZGVzdHJveSgpO1xuICAgICAgdGhpcy50cmVlTm9kZUJhc2UuZGVzdHJveSgpO1xuICAgICAgdGhpcy5icmFuY2hDb250cm9sbGVyLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2gobmV3IERlc3RydWN0aW9uRXZlbnQodGhpcykpO1xuICAgfVxuXG4gICAvKiogUnVuIEFuZ3VsYXIgY2hhbmdlIGRldGVjdGlvbiBvbiB0aGlzIGJyYW5jaCAqL1xuICAgcHVibGljIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICB0aGlzLmJyYW5jaENvbnRyb2xsZXIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIEVtaXRzIHRoZSBzcGVjaWZpZWQgVHJlZUV2ZW50LlxuICAgICpcbiAgICAqIEByZW1hcmtzXG4gICAgKiBDYXV0aW9uOiBJdCBpcyBub3QgcmVjb21tZW5kZWQgdG8gbWFudWFsbHkgZW1pdCBUcmVlRXZlbnRzIHRoYXQgYXJlIGFscmVhZHlcbiAgICAqIHByb3ZpZGVkIGJ5IHRoZSBsaWJyYXJ5LiBGb3IgZXhhbXBsZSwgaXQgaXMgbm90IHJlY29tbWVuZGVkIHRvIGVtaXQgYVxuICAgICogYEdyYWZ0RXZlbnRgLCBgRGVzdHJ1Y3Rpb25FdmVudGAsIGV0Yy4gVGhlc2UgZXZlbnRzIG1heSBiZSB1c2VkIGJ5IHRoZSB0cmVlLFxuICAgICogYW5kIGVtaXR0aW5nIHRoZW0gbWFudWFsbHkgbWF5IGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3IuIEluc3RlYWQsIHdlXG4gICAgKiByZWNvbW1lbmQgaW1wbGVtZW50aW5nIHRoZSBUcmVlRXZlbnQgaW50ZXJmYWNlIHdpdGggeW91ciBvd24gY3VzdG9tIGV2ZW50c1xuICAgICogYW5kIGRpc3BhdGNoaW5nIHRob3NlLlxuICAgICpcbiAgICAqIEBwYXJhbSBldmVudCAtIFRoZSBUcmVlRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQuXG4gICAgKi9cbiAgIHB1YmxpYyBkaXNwYXRjaChldmVudDogVHJlZUV2ZW50PFVzZXJsYW5kQ29tcG9uZW50Pik6IHZvaWQge1xuICAgICAgdGhpcy50cmVlTm9kZUJhc2UuZGlzcGF0Y2goZXZlbnQpO1xuICAgICAgdGhpcy5fcGFyZW50Py5kaXNwYXRjaChldmVudCk7XG4gICB9XG5cbiAgIC8qKlxuICAgICogQHJldHVybnNcbiAgICAqIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyBUcmVlRXZlbnRzIHdoZW5ldmVyIGFuIGV2ZW50IGlzIGRpc3BhdGNoZWRcbiAgICAqIGluIHRoaXMgYnJhbmNoIG9yIGFueSBvZiBpdHMgZGVzY2VuZGFudCBicmFuY2hlcy5cbiAgICAqL1xuICAgcHVibGljIGV2ZW50cygpOiBPYnNlcnZhYmxlPFRyZWVFdmVudDxVc2VybGFuZENvbXBvbmVudD4+IHtcbiAgICAgIHJldHVybiB0aGlzLnRyZWVOb2RlQmFzZS5ldmVudHMoKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBAcGFyYW0gaW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIGNoaWxkIGJyYW5jaCB0byByZXRyaWV2ZS5cbiAgICAqXG4gICAgKiBAcmV0dXJuc1xuICAgICogVGhlIGNoaWxkIGJyYW5jaCBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LCBvciB1bmRlZmluZWQgaWYgdGhlcmUgaXNcbiAgICAqIG5vIGNoaWxkIGJyYW5jaCBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgICovXG4gICBwdWJsaWMgZ2V0QnJhbmNoKGluZGV4OiBudW1iZXIpOiBUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50PiB8IHVuZGVmaW5lZCB7XG4gICAgICByZXR1cm4gdGhpcy50cmVlTm9kZUJhc2UuZ2V0QnJhbmNoKGluZGV4KTtcbiAgIH1cblxuICAgLyoqIEByZXR1cm5zIFRoZSBWaWV3Q29udGFpbmVyUmVmIGluIHdoaWNoIGNoaWxkIGJyYW5jaGVzIGFyZSByZW5kZXJlZCAqL1xuICAgcHVibGljIGdldEJyYW5jaGVzQ29udGFpbmVyKCk6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQge1xuICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQoKSkge1xuICAgICAgICAgdGhyb3cgbmV3IFRyZWVFcnJvcihcbiAgICAgICAgICAgIFwiQ2Fubm90IGdldCBicmFuY2hlcyBjb250YWluZXIgZnJvbSBhIGRlc3Ryb3llZCB0cmVlIGJyYW5jaFwiXG4gICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuYnJhbmNoQ29udHJvbGxlci5nZXRCcmFuY2hlc0NvbnRhaW5lcigpO1xuICAgfVxuXG4gICAvKiogQHJldHVybnMgVGhlIGluc3RhbmNlIG9mIEJyYW5jaENvbXBvbmVudCB0aGF0IGlzIHJlbmRlcmVkIGJ5IHRoaXMgY2xhc3MuICovXG4gICBwdWJsaWMgZ2V0Q29tcG9uZW50SW5zdGFuY2UoKTogQnJhbmNoQ29tcG9uZW50PFVzZXJsYW5kQ29tcG9uZW50PiB7XG4gICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCgpKSB7XG4gICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFxuICAgICAgICAgICAgXCJDYW5ub3QgZ2V0IGNvbXBvbmVudCBpbnN0YW5jZSBmcm9tIGEgZGVzdHJveWVkIHRyZWUgYnJhbmNoXCJcbiAgICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5icmFuY2hDb250cm9sbGVyLmdldENvbXBvbmVudEluc3RhbmNlKCk7XG4gICB9XG5cbiAgIC8qKiBAcmV0dXJucyBUaGUgSG9zdCBWaWV3IGluIHdoaWNoIHRoZSBCcmFuY2hDb21wb25lbnQgaXMgcmVuZGVyZWQgKi9cbiAgIHB1YmxpYyBnZXRIb3N0VmlldygpOiBWaWV3UmVmIHtcbiAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKCkpIHtcbiAgICAgICAgIHRocm93IG5ldyBUcmVlRXJyb3IoXG4gICAgICAgICAgICBcIkNhbm5vdCBnZXQgY29tcG9uZW50IGhvc3QgdmlldyBmcm9tIGEgZGVzdHJveWVkIHRyZWUgYnJhbmNoXCJcbiAgICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5icmFuY2hDb250cm9sbGVyLmdldEhvc3RWaWV3KCk7XG4gICB9XG5cbiAgIC8qKiBAcmV0dXJucyBUaGUgQnJhbmNoQ29tcG9uZW50IGFzIGEgbmF0aXZlIEhUTUwgRWxlbWVudCAqL1xuICAgcHVibGljIGdldE5hdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQoKSkge1xuICAgICAgICAgdGhyb3cgbmV3IFRyZWVFcnJvcihcbiAgICAgICAgICAgIFwiQ2Fubm90IGdldCBuYXRpdmUgZWxlbWVudCBmcm9tIGEgZGVzdHJveWVkIHRyZWUgYnJhbmNoXCJcbiAgICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5icmFuY2hDb250cm9sbGVyLmdldE5hdGl2ZUVsZW1lbnQoKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBAcmV0dXJuc1xuICAgICogQSBDb21wb25lbnRSZWYgY29udGFpbmluZyB0aGUgaW5zdGFuY2Ugb2YgdGhlIHVzZXItcHJvdmlkZWRcbiAgICAqIGNvbXBvbmVudCB3aGljaCBpcyByZW5kZXJlZCBieSB0aGlzIGJyYW5jaC5cbiAgICAqL1xuICAgcHVibGljIGdldFVzZXJsYW5kQ29tcG9uZW50UmVmKCk6XG4gICAgICB8IENvbXBvbmVudFJlZjxVc2VybGFuZENvbXBvbmVudD5cbiAgICAgIHwgdW5kZWZpbmVkIHtcbiAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKCkpIHtcbiAgICAgICAgIHRocm93IG5ldyBUcmVlRXJyb3IoXG4gICAgICAgICAgICBcIkNhbm5vdCBnZXQgdXNlcmxhbmQgY29tcG9uZW50IGZyb20gYSBkZXN0cm95ZWQgdHJlZSBicmFuY2hcIlxuICAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmJyYW5jaENvbnRyb2xsZXIuZ2V0VXNlcmxhbmRDb21wb25lbnRSZWYoKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBBdHRhY2hlcyBhIGJyYW5jaCB0byBhIG5ldyBwYXJlbnQgbm9kZS5cbiAgICAqXG4gICAgKiBAcmVtYXJrc1xuICAgICogSWYgbm90IGFscmVhZHkgcHJ1bmVkLCB0aGlzIG1ldGhvZCBwcnVuZXMgKHJlbW92ZXMpIHRoaXMgYnJhbmNoIGZyb20gaXRzXG4gICAgKiBjdXJyZW50IHBvc2l0aW9uIGluIHRoZSB0cmVlOyB0aGVuIGdyYWZ0cyAocmVhdHRhY2hlcykgaXQgYXMgYSBjaGlsZCBvZiB0aGVcbiAgICAqIHNwZWNpZmllZCBwYXJlbnQgYnJhbmNoIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguIElmIG5vIGluZGV4IGlzIHNwZWNpZmllZCxcbiAgICAqIHRoZSBicmFuY2ggaXMgYXBwZW5kZWQgYXMgdGhlIGxhc3QgY2hpbGQgb2YgdGhlIHBhcmVudC4gVGhpcyBjYXVzZXMgdGhpc1xuICAgICogYnJhbmNoJ3MgYXNzb2NpYXRlZCBCcmFuY2hDb21wb25lbnQgdG8gYmUgcmUtcmVuZGVyZWQgaW4gdGhlIERPTSBhdCB0aGVcbiAgICAqIG5ldyBsb2NhdGlvbi5cbiAgICAqXG4gICAgKiBAcGFyYW0gbmV3UGFyZW50IC0gVGhlIG5ldyBwYXJlbnQgYnJhbmNoIHVudG8gd2hpY2ggdGhpcyBicmFuY2ggd2lsbCBiZSBncmFmdGVkLlxuICAgICogQHBhcmFtIGluZGV4IC0gVGhlIGluZGV4IGF0IHdoaWNoIHRoaXMgYnJhbmNoIHdpbGwgYmUgZ3JhZnRlZC4gSWYgbm90IHNwZWNpZmllZCxcbiAgICAqIHRoaXMgYnJhbmNoIHdpbGwgYmUgYXBwZW5kZWQgYXMgdGhlIGxhc3QgY2hpbGQgb2YgdGhlIG5ldyBwYXJlbnQuXG4gICAgKlxuICAgICogQHJldHVybnMgVGhlIGluZGV4IGF0IHdoaWNoIHRoaXMgYnJhbmNoIHdhcyBncmFmdGVkLlxuICAgICovXG4gICBwdWJsaWMgZ3JhZnRUbyhcbiAgICAgIG5ld1BhcmVudDogVHJlZU5vZGU8VXNlcmxhbmRDb21wb25lbnQ+LFxuICAgICAgaW5kZXg/OiBudW1iZXJcbiAgICk6IG51bWJlciB7XG4gICAgICB0aGlzLmNoZWNrR3JhZnRMb2NhdGlvblZhbGlkaXR5KG5ld1BhcmVudCwgaW5kZXgpO1xuICAgICAgY29uc3Qgb3duSW5kZXggPSB0aGlzLmluZGV4KCk7XG4gICAgICBpZiAob3duSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgdGhpcy5wcnVuZSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5fcGFyZW50ID0gbmV3UGFyZW50O1xuICAgICAgY29uc3QgbmV3SW5kZXggPSBpbmRleCA/PyBuZXdQYXJlbnQuYnJhbmNoZXMoKS5sZW5ndGg7XG4gICAgICB0aGlzLnJlYXR0YWNoVmlldyhuZXdJbmRleCk7XG4gICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgbmV3IEdyYWZ0RXZlbnQodGhpcywge1xuICAgICAgICAgICAgcGFyZW50OiBuZXdQYXJlbnQsXG4gICAgICAgICAgICBjaGlsZDogdGhpcyxcbiAgICAgICAgICAgIGluZGV4OiBuZXdJbmRleFxuICAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gbmV3SW5kZXg7XG4gICB9XG5cbiAgIC8qKlxuICAgICogQXBwZW5kcyBhIG5ldyBjaGlsZCBicmFuY2ggdG8gdGhpcyBicmFuY2guIFRoZSBjaGlsZCBicmFuY2ggd2lsbCByZW5kZXJcbiAgICAqIHRoZSBzcGVjaWZpZWQgY29tcG9uZW50IGFjY29yZGluZyB0byB0aGUgKG9wdGlvbmFsKSBjb25maWd1cmF0aW9uIHBhcmFtZXRlci5cbiAgICAqXG4gICAgKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0byByZW5kZXIgaW4gdGhlIG5ldyBjaGlsZCBicmFuY2guXG4gICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIG5ldyBjaGlsZCBicmFuY2guXG4gICAgKlxuICAgICogQHJldHVybnNcbiAgICAqIFRoZSBuZXdseS1jcmVhdGVkIGNoaWxkIGJyYW5jaC5cbiAgICAqL1xuICAgcHVibGljIGdyb3coXG4gICAgICBjb21wb25lbnQ6IFR5cGU8VXNlcmxhbmRDb21wb25lbnQ+LFxuICAgICAgb3B0aW9ucz86IEJyYW5jaE9wdGlvbnM8VXNlcmxhbmRDb21wb25lbnQ+XG4gICApOiBUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50PiB7XG4gICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCgpKSB7XG4gICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFwiQ2Fubm90IGdyb3cgYSBicmFuY2ggb24gYSBkZXN0cm95ZWQgdHJlZSBicmFuY2hcIik7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICAgcmV0dXJuIG5ldyBUcmVlQnJhbmNoKHRoaXMsIHsgY29tcG9uZW50LCAuLi5vcHRpb25zIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgIHRoaXMuaGFuZGxlVXNlcmxhbmRFcnJvcihlcnJvcik7XG4gICAgICB9XG4gICB9XG5cbiAgIC8qKlxuICAgICogRGV0ZXJtaW5lcyB0aGlzIGJyYW5jaCdzIGluZGV4IGluIHJlbGF0aW9uIHRvIGl0cyBzaWJsaW5nIGJyYW5jaGVzLlxuICAgICpcbiAgICAqIEByZW1hcmtzXG4gICAgKiBGb3IgZXhhbXBsZSwgaWYgaXQgaXMgdGhlIGZpcnN0IGNoaWxkIG9mIGl0cyBwYXJlbnQsIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuXG4gICAgKiAwLiBJZiBpdCBpcyB0aGUgc2Vjb25kIGNoaWxkIG9mIGl0cyBwYXJlbnQsIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIDEuXG4gICAgKlxuICAgICogSWYgdGhpcyBicmFuY2ggaGFzIG5vIHBhcmVudCwgKGVnLCBpZiB0aGlzIGJyYW5jaCBoYXMgYmVlbiBwcnVuZWQpIHRoaXNcbiAgICAqIG1ldGhvZCB3aWxsIHJldHVybiB1bmRlZmluZWQuXG4gICAgKlxuICAgICogQHJldHVybnNcbiAgICAqIFRoZSBpbmRleCBvZiB0aGlzIGJyYW5jaCBpbiByZWxhdGlvbiB0byBpdHMgc2libGluZyBicmFuY2hlcywgb3IgdW5kZWZpbmVkLlxuICAgICovXG4gICBwdWJsaWMgaW5kZXgoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICAgIGlmICghdGhpcy5fcGFyZW50KSB7XG4gICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9wYXJlbnRcbiAgICAgICAgIC5icmFuY2hlcygpXG4gICAgICAgICAuZmluZEluZGV4KChicmFuY2gpID0+IGJyYW5jaCA9PT0gdGhpcyk7XG4gICAgICBhc3NlcnQoaW5kZXggPj0gMCk7XG4gICAgICByZXR1cm4gaW5kZXg7XG4gICB9XG5cbiAgIC8qKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGJyYW5jaCBpcyBkZXN0cm95ZWQsIGBmYWxzZWAgb3RoZXJ3aXNlICovXG4gICBwdWJsaWMgaXNEZXN0cm95ZWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy50cmVlTm9kZUJhc2UuaXNEZXN0cm95ZWQoKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBAcmV0dXJuc1xuICAgICogVGhlIGRhdGEgdGhhdCB3YXMgcGFzc2VkIGludG8gdGhlIGBicmFuY2hPcHRpb25zYCcgYG1ldGFgIHByb3BlcnR5XG4gICAgKiBhdCBjb25zdHJ1Y3Rpb24uXG4gICAgKi9cbiAgIHB1YmxpYyBtZXRhKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgICAgcmV0dXJuIHRoaXMuYnJhbmNoT3B0aW9ucy5tZXRhID8/IHt9O1xuICAgfVxuXG4gICAvKipcbiAgICAqIEByZXR1cm5zXG4gICAgKiBUaGlzIGJyYW5jaCdzIHBhcmVudCBub2RlICh3aGljaCBtYXkgYmUgYSBUcmVlQnJhbmNoIG9yIFRyZWVSb290KS5cbiAgICAqIElmIHRoaXMgYnJhbmNoIGhhcyBubyBwYXJlbnQsIChlZywgaWYgdGhpcyBicmFuY2ggaGFzIGJlZW4gcHJ1bmVkKSB0aGlzXG4gICAgKiBtZXRob2Qgd2lsbCByZXR1cm4gdW5kZWZpbmVkLlxuICAgICovXG4gICBwdWJsaWMgcGFyZW50KCk6IFRyZWVOb2RlPFVzZXJsYW5kQ29tcG9uZW50PiB8IHVuZGVmaW5lZCB7XG4gICAgICByZXR1cm4gdGhpcy5fcGFyZW50O1xuICAgfVxuXG4gICAvKipcbiAgICAqIFByb3ZpZGVzIGEgbW9kZWwgZGVzY3JpYmluZyB0aGlzIGJyYW5jaCdzIGRlc2NlbmRhbnRzLlxuICAgICpcbiAgICAqIEByZXR1cm5zXG4gICAgKiBBIG11bHRpLWRpbWVuc2lvbmFsIE1hcCB3aGljaCBkZXNjcmliZXMgdGhlIHNoYXBlIG9mIHRoaXMgYnJhbmNoJ3NcbiAgICAqIGRlc2NlbmRhbnRzLlxuICAgICpcbiAgICAqIEBleGFtcGxlXG4gICAgKiBBIGJyYW5jaCB3aXRoIG5vIGNoaWxkcmVuIHdpbGwgcmV0dXJuIGFuIGVtcHR5IE1hcC4gQSBicmFuY2ggd2l0aFxuICAgICogYSBzaW5nbGUgY2hpbGQgd2lsbCByZXR1cm4gYSBNYXAgd2l0aCBhIHNpbmdsZSBlbnRyeSwgd2hlcmUgdGhlIGtleSBpcyB0aGUgaW5kZXhcbiAgICAqIG9mIHRoZSBicmFuY2ggKHplcm8pIGFuZCB0aGUgdmFsdWUgaXMgYW4gZW1wdHkgTWFwLiBBIFRyZWUgbGlrZSB0aGlzOlxuICAgICpcbiAgICAqIGBgYFxuICAgICogICAgICAgICAtLS1CcmFuY2gtLS0tLS0tQnJhbmNoXG4gICAgKiAgICAgICAgL1xuICAgICogQnJhbmNoLS0tLS0tLUJyYW5jaFxuICAgICogICAgICAgIFxcXG4gICAgKiAgICAgICAgIC0tLUJyYW5jaFxuICAgICogYGBgXG4gICAgKiBXaWxsIHJldHVybiBhIE1hcCBvZiBtYXRjaGluZyBzaGFwZTpcbiAgICAqIGBgYFxuICAgICogTWFwIHtcbiAgICAqICAgIDA6IE1hcCB7IDA6IE1hcCB7fX0sXG4gICAgKiAgICAxOiBNYXAge30sXG4gICAgKiAgICAyOiBNYXAge31cbiAgICAqIH1cbiAgICAqIGBgYFxuICAgICovXG4gICBwdWJsaWMgcGxvdCgpOiBUcmVlUGxvdCB7XG4gICAgICByZXR1cm4gdGhpcy50cmVlTm9kZUJhc2UucGxvdCgpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIENhbGN1bGF0ZXMgdGhlIGJyYW5jaCdzIHBvc2l0aW9uIGluIHRoZSB0cmVlIHJlbGF0aXZlIHRvIHRoZSBSb290LlxuICAgICpcbiAgICAqIEByZW1hcmtzXG4gICAgKiBUaGUgcG9zaXRpb24gaXMgZGVzY3JpYmVkIGFzIGFuIGFycmF5IG9mIG51bWJlcnMsIHdoZXJlIGVhY2ggbnVtYmVyXG4gICAgKiByZXByZXNlbnRzIHRoZSBpbmRleCBvZiB0aGUgYnJhbmNoIGF0IHRoYXQgbGV2ZWwgb2YgdGhlIHRyZWUuXG4gICAgKlxuICAgICogRm9yIGV4YW1wbGUsIGlmIHRoaXMgYnJhbmNoIGlzIHRoZSBmaXJzdCBjaGlsZCBvZiB0aGUgUm9vdCwgdGhpcyBtZXRob2RcbiAgICAqIHdpbGwgcmV0dXJuIFswXS4gSWYgdGhpcyBicmFuY2ggaXMgdGhlIHNlY29uZCBjaGlsZCBvZiB0aGUgZmlyc3QgY2hpbGRcbiAgICAqIG9mIHRoZSBSb290LCB0aGlzIG1ldGhvZCB3aWxsIHJldHVybiBbMCwgMV0uXG4gICAgKlxuICAgICogSWYgdGhlIGJyYW5jaCBpcyBub3QgcmVsYXRlZCB0byBhIFRyZWVSb290LCAoc3VjaCBhcyB3aGVuIGl0IGhhcyBiZWVuXG4gICAgKiBwcnVuZWQsKSB0aGlzIG1ldGhvZCB3aWxsIHRocm93IGFuIGVycm9yLlxuICAgICpcbiAgICAqIEByZXR1cm5zXG4gICAgKiBBbiBhcnJheSBvZiBudW1iZXJzIHdoaWNoIGRlc2NyaWJlIHRoZSBicmFuY2gncyBwb3NpdGlvbiBpbiB0aGUgdHJlZVxuICAgICogcmVsYXRpdmUgdG8gdGhlIFJvb3QuXG4gICAgKi9cbiAgIHB1YmxpYyBwb3NpdGlvbigpOiBBcnJheTxudW1iZXI+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbmRleCgpO1xuICAgICAgaWYgKGluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgIHRocm93IG5ldyBUcmVlRXJyb3IoXG4gICAgICAgICAgICBcImJyYW5jaCBoYXMgbm8gcGFyZW50LiBQb3NpdGlvbiBjYW5ub3QgYmUgZGV0ZXJtaW5lZC5cIlxuICAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9wYXJlbnQgaW5zdGFuY2VvZiBUcmVlQnJhbmNoKSB7XG4gICAgICAgICBjb25zdCBwYXJlbnRQb3NpdGlvbiA9IHRoaXMuX3BhcmVudC5wb3NpdGlvbigpO1xuICAgICAgICAgcmV0dXJuIFsuLi5wYXJlbnRQb3NpdGlvbiwgaW5kZXhdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtpbmRleF07XG4gICB9XG5cbiAgIC8qKlxuICAgICogUmVtb3ZlcyBhIGJyYW5jaCBmcm9tIGl0cyB0cmVlIHdpdGhvdXQgZGVzdHJveWluZyBpdC5cbiAgICAqXG4gICAgKiBAcmVtYXJrc1xuICAgICogUmVtb3ZlcyB0aGlzIGJyYW5jaCBmcm9tIGl0cyBwYXJlbnQgYW5kIGRldGFjaGVzIGl0cyBhc3NvY2lhdGVkXG4gICAgKiBCcmFuY2hDb21wb25lbnQgZnJvbSB0aGUgRE9NLiBUaGlzIHB1dHMgdGhlIGJyYW5jaCBpbiBhIFwicHJ1bmVkXCIgc3RhdGUsXG4gICAgKiB3aGljaCBtYXkgYWZmZWN0IHRoZSBiZWhhdmlvciBvZiBvdGhlciBtZXRob2RzLlxuICAgICpcbiAgICAqIEEgcHJ1bmVkIGJyYW5jaCBjYW4gYmUgcmVhdHRhY2hlZCB0byBhbnkgb3RoZXIgbm9kZSB1c2luZyB0aGUgYGdyYWZ0VG9gIG1ldGhvZC5cbiAgICAqXG4gICAgKiBAcmV0dXJuc1xuICAgICogSXRzZWxmLCBvciB1bmRlZmluZWQgaWYgaXQgaXMgYWxyZWFkeSBpbiBhIHBydW5lZCBzdGF0ZS5cbiAgICAqL1xuICAgcHVibGljIHBydW5lKCk6IHRoaXMgfCB1bmRlZmluZWQge1xuICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQoKSkge1xuICAgICAgICAgdGhyb3cgbmV3IFRyZWVFcnJvcihcIkNhbm5vdCBwcnVuZSBhIGRlc3Ryb3llZCB0cmVlIGJyYW5jaFwiKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuX3BhcmVudDtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbmRleCgpO1xuICAgICAgaWYgKGluZGV4ID09PSB1bmRlZmluZWQgfHwgcGFyZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHBhcmVudC5nZXRCcmFuY2hlc0NvbnRhaW5lcigpO1xuICAgICAgYXNzZXJ0KGNvbnRhaW5lciAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIHRoaXMuZGV0YWNoZWRWaWV3ID0gY29udGFpbmVyLmRldGFjaChpbmRleCk7XG4gICAgICBhc3NlcnQodGhpcy5kZXRhY2hlZFZpZXcgIT09IG51bGwpO1xuICAgICAgdGhpcy5kZXRhY2hlZFZpZXcuZGV0YWNoKCk7XG4gICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgbmV3IFBydW5lRXZlbnQodGhpcywge1xuICAgICAgICAgICAgcGFyZW50OiBwYXJlbnQsXG4gICAgICAgICAgICBjaGlsZDogdGhpcyxcbiAgICAgICAgICAgIGluZGV4OiBpbmRleFxuICAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLl9wYXJlbnQgPSB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gdGhpcztcbiAgIH1cblxuICAgLyoqXG4gICAgKiBHZXQgdGhlIHJvb3Qgb2YgdGhlIHRyZWUgdG8gd2hpY2ggdGhpcyBCcmFuY2ggaXMgYXR0YWNoZWQuXG4gICAgKlxuICAgICogQHJldHVybnNcbiAgICAqIFRoZSBUcmVlUm9vdCBvZiB0aGUgdHJlZSB0aGlzIGJyYW5jaCBpcyBpbi4gSWYgdGhpcyBicmFuY2ggaXNcbiAgICAqIGRvZXMgbm90IGhhdmUgYSByb290IChzdWNoIGFzIHdoZW4gaXQgaGFzIGJlZW4gcHJ1bmVkKSB0aGlzIG1ldGhvZCB3aWxsXG4gICAgKiByZXR1cm4gdW5kZWZpbmVkLlxuICAgICovXG4gICBwdWJsaWMgcm9vdCgpOiBUcmVlUm9vdDxVc2VybGFuZENvbXBvbmVudD4gfCB1bmRlZmluZWQge1xuICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5wYXJlbnQoKTtcbiAgICAgIGlmIChwYXJlbnQgaW5zdGFuY2VvZiBUcmVlQnJhbmNoKSB7XG4gICAgICAgICByZXR1cm4gcGFyZW50LnJvb3QoKTtcbiAgICAgIH1cbiAgICAgIGFzc2VydChwYXJlbnQgaW5zdGFuY2VvZiBUcmVlUm9vdCB8fCBwYXJlbnQgPT09IHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm4gcGFyZW50O1xuICAgfVxuXG4gICAvKipcbiAgICAqIFRyYXZlcnNlcyB0aGlzIGJyYW5jaCdzIGRlc2NlbmRhbnRzIGluIGRlcHRoLWZpcnN0IHByZS1vcmRlciwgZXhlY3V0aW5nXG4gICAgKiB0aGUgcHJvdmlkZWQgY2FsbGJhY2sgZnVuY3Rpb24gb24gZWFjaCBub2RlLiBUcmF2ZXJzYWwgaW5jbHVkZXMgdGhpcyBicmFuY2guXG4gICAgKlxuICAgICogQHBhcmFtIGNhbGxiYWNrIC0gQSBmdW5jdGlvbiB0byBleGVjdXRlIG9uIGVhY2ggbm9kZS5cbiAgICAqL1xuICAgcHVibGljIHRyYXZlcnNlKFxuICAgICAgY2FsbGJhY2s6IChub2RlOiBUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50PikgPT4gdm9pZFxuICAgKTogdm9pZCB7XG4gICAgICBjYWxsYmFjayh0aGlzKTtcbiAgICAgIHRoaXMudHJlZU5vZGVCYXNlLnRyYXZlcnNlKGNhbGxiYWNrKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBjaGVja0dyYWZ0TG9jYXRpb25WYWxpZGl0eShcbiAgICAgIG5ld1BhcmVudDogVHJlZU5vZGU8VXNlcmxhbmRDb21wb25lbnQ+LFxuICAgICAgaW5kZXg/OiBudW1iZXJcbiAgICk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQoKSkge1xuICAgICAgICAgdGhyb3cgbmV3IFRyZWVFcnJvcihcIkNhbm5vdCBncmFmdCBhIGRlc3Ryb3llZCB0cmVlIGJyYW5jaFwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChuZXdQYXJlbnQuaXNEZXN0cm95ZWQoKSkge1xuICAgICAgICAgdGhyb3cgbmV3IFRyZWVFcnJvcihcIkNhbm5vdCBncmFmdCB0byBhIGRlc3Ryb3llZCB0cmVlIGJyYW5jaFwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgIHR5cGVvZiBpbmRleCA9PT0gXCJudW1iZXJcIiAmJlxuICAgICAgICAgdGhpcy5pbmRleElzT3V0T2ZSYW5nZShuZXdQYXJlbnQsIGluZGV4KVxuICAgICAgKSB7XG4gICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFxuICAgICAgICAgICAgYENhbm5vdCBncmFmdCBicmFuY2ggYXQgaW5kZXggJHtpbmRleH0gb2YgdGhlIHBhcmVudC4gT3V0IG9mIHJhbmdlLmBcbiAgICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLnRyYXZlcnNlKChub2RlKSA9PiB7XG4gICAgICAgICBpZiAobm9kZSA9PT0gbmV3UGFyZW50KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFxuICAgICAgICAgICAgICAgXCJDYW5ub3QgZ3JhZnQgYSBicmFuY2ggdG8gaXRzZWxmIG9yIGFueSBvZiBpdHMgb3duIGRlc2NlbmRhbnRzXCJcbiAgICAgICAgICAgICk7XG4gICAgICAgICB9XG4gICAgICB9KTtcbiAgIH1cblxuICAgcHJpdmF0ZSBoYW5kbGVVc2VybGFuZEVycm9yKGVycm9yOiB1bmtub3duKTogbmV2ZXIge1xuICAgICAgLy8gV2hlbiBhbiBlcnJvciBvY2N1cnMgaW4gYSB1c2VybGFuZCBjb21wb25lbnQgZHVyaW5nIGEgdHJlZSBvcGVyYXRpb24sXG4gICAgICAvLyBpdCBjYW4gY2F1c2UgdW5kZWZpbmVkLCBiaXphcnJlIGJlaGF2aW9yIGluIHRoZSB0cmVlLiBUbyBwcmV2ZW50IHRoaXMsXG4gICAgICAvLyB3ZSBkZXN0cm95IHRoZSB0cmVlIGFuZCB0aHJvdyBhbiBlcnJvciBpbnN0ZWFkLiBUaGlzIGhlbHBzIHByb3RlY3RcbiAgICAgIC8vIHRoZSBlbmQtdXNlcidzIGRhdGEgZnJvbSBjb3JydXB0aW9uLlxuICAgICAgdGhpcy5mdXJ0aGVzdEFuY2VzdG9yKCkuZGVzdHJveSgpO1xuICAgICAgdGhpcy50cmVlTm9kZUJhc2UuaGFuZGxlVXNlcmxhbmRFcnJvcihlcnJvcik7XG4gICB9XG5cbiAgIHByaXZhdGUgaW5kZXhJc091dE9mUmFuZ2UoXG4gICAgICBwYXJlbnQ6IFRyZWVOb2RlPFVzZXJsYW5kQ29tcG9uZW50PixcbiAgICAgIGluZGV4OiBudW1iZXJcbiAgICk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGluZGV4IDwgMCB8fCBpbmRleCA+IHBhcmVudC5icmFuY2hlcygpLmxlbmd0aDtcbiAgIH1cblxuICAgcHJpdmF0ZSBmdXJ0aGVzdEFuY2VzdG9yKCk6IFRyZWVOb2RlPFVzZXJsYW5kQ29tcG9uZW50PiB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXMgLS0gVGhpcyBjb2RlIGlzIGZvciBhbiBpdGVyYXRpb24sIG5vdCB0byBtYWtlIGB0aGlzYCBhdmFpbGFibGUgaW4gb3RoZXIgc2NvcGVzICh3aGljaCBpcyB3aGF0IHRoZSBydWxlIGlzIGludGVuZGVkIHRvIHByb3RlY3QgYWdhaW5zdCkuXG4gICAgICBsZXQgbm9kZTogVHJlZU5vZGU8VXNlcmxhbmRDb21wb25lbnQ+ID0gdGhpcztcbiAgICAgIHdoaWxlIChub2RlIGluc3RhbmNlb2YgVHJlZUJyYW5jaCkge1xuICAgICAgICAgY29uc3QgcGFyZW50ID0gbm9kZS5wYXJlbnQoKTtcbiAgICAgICAgIGlmIChwYXJlbnQgPT09IHVuZGVmaW5lZCkgYnJlYWs7XG4gICAgICAgICBub2RlID0gcGFyZW50O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5vZGU7XG4gICB9XG5cbiAgIHByaXZhdGUgcmVhdHRhY2hWaWV3KGluZGV4PzogbnVtYmVyKTogdm9pZCB7XG4gICAgICBhc3NlcnQodGhpcy5fcGFyZW50ICE9PSB1bmRlZmluZWQpO1xuICAgICAgYXNzZXJ0KHRoaXMuZGV0YWNoZWRWaWV3ICE9PSBudWxsKTtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuX3BhcmVudC5nZXRCcmFuY2hlc0NvbnRhaW5lcigpO1xuICAgICAgYXNzZXJ0KGNvbnRhaW5lciAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIHRoaXMuZGV0YWNoZWRWaWV3LnJlYXR0YWNoKCk7XG4gICAgICBjb250YWluZXIuaW5zZXJ0KHRoaXMuZGV0YWNoZWRWaWV3LCBpbmRleCk7XG4gICAgICB0aGlzLmRldGFjaGVkVmlldyA9IG51bGw7XG4gICAgICB0aGlzLnNldEluZGVudGF0aW9uKCk7XG4gICB9XG5cbiAgIHByaXZhdGUgc2V0SW5kZW50YXRpb24oKTogdm9pZCB7XG4gICAgICBhc3NlcnQodGhpcy5fcGFyZW50ICE9PSB1bmRlZmluZWQpO1xuICAgICAgY29uc3Qgcm9vdCA9IHRoaXMuX3BhcmVudC5yb290KCk7XG4gICAgICBpZiAocm9vdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBvcHRpb25zID0gY29uZmlnLmdldENvbmZpZyhyb290KTtcbiAgICAgIGNvbnN0IGJyYW5jaGVzQ29udGFpbmVyRWwgPSB0aGlzLmJyYW5jaENvbnRyb2xsZXJcbiAgICAgICAgIC5nZXROYXRpdmVFbGVtZW50KClcbiAgICAgICAgIC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiYnJhbmNoZXMtY29udGFpbmVyXCIpXG4gICAgICAgICAuaXRlbSgwKTtcbiAgICAgIGFzc2VydChicmFuY2hlc0NvbnRhaW5lckVsIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpO1xuICAgICAgYnJhbmNoZXNDb250YWluZXJFbC5zdHlsZS5tYXJnaW5MZWZ0ID0gYCR7b3B0aW9ucz8uaW5kZW50YXRpb24gPz8gMTZ9cHhgO1xuICAgfVxufVxuIl19
|
|
429
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1icmFuY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2NvcmUvdHJlZS1icmFuY2gvdHJlZS1icmFuY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBU3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQ0osZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixVQUFVLEVBRVosTUFBTSxjQUFjLENBQUM7QUFFdEI7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQVFwQixZQUNHLE1BQW1DLEVBQ25CLGFBQW1EO1FBQW5ELGtCQUFhLEdBQWIsYUFBYSxDQUFzQztRQU45RCxpQkFBWSxHQUFtQixJQUFJLENBQUM7UUFRekMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUQsTUFBTSxDQUFDLHVCQUF1QixLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUN6QyxJQUFJLEVBQ0osdUJBQXVC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YXJlZFwiO1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB0eXBlIHtcbiAgIENvbXBvbmVudFJlZixcbiAgIFR5cGUsXG4gICBWaWV3Q29udGFpbmVyUmVmLFxuICAgVmlld1JlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQnJhbmNoQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHNcIjtcbmltcG9ydCB7IFRyZWVFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvcnNcIjtcbmltcG9ydCB7IGRyb3B6b25lUmVuZGVyZXIgfSBmcm9tIFwiLi4vLi4vZXh0cmFzL2RyYWctYW5kLWRyb3BcIjtcbmltcG9ydCB7IFRyZWVSb290IH0gZnJvbSBcIi4uL3RyZWUtcm9vdFwiO1xuaW1wb3J0IHR5cGUgeyBUcmVlTm9kZSB9IGZyb20gXCIuLi90cmVlLW5vZGUuaW50ZXJmYWNlXCI7XG5pbXBvcnQgdHlwZSB7IFRyZWVQbG90IH0gZnJvbSBcIi4uL3RyZWUtcGxvdC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFRyZWVOb2RlQmFzZSB9IGZyb20gXCIuLi90cmVlLW5vZGUtYmFzZVwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb25cIjtcbmltcG9ydCB0eXBlIHtcbiAgIEJyYW5jaE9wdGlvbnMsXG4gICBGdWxsQnJhbmNoT3B0aW9uc1xufSBmcm9tIFwiLi4vYnJhbmNoLW9wdGlvbnMuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBCcmFuY2hDb250cm9sbGVyIH0gZnJvbSBcIi4vYnJhbmNoLWNvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIHsgR3JhZnRhYmxlIH0gZnJvbSBcIi4vZ3JhZnRhYmxlLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgdHJlZUNvbGxhcHNlciB9IGZyb20gXCIuLi8uLi9leHRyYXMvY29sbGFwc2VcIjtcbmltcG9ydCB7XG4gICBEZXN0cnVjdGlvbkV2ZW50LFxuICAgR3JhZnRFdmVudCxcbiAgIFBydW5lRXZlbnQsXG4gICB0eXBlIFRyZWVFdmVudFxufSBmcm9tIFwiLi4vLi4vZXZlbnRzXCI7XG5cbi8qKiBSZXByZXNlbnRzIGEgc3RhbmRhcmQgbm9kZSBpbiBhIHRyZWUuIFJlbmRlcnMgYSBCcmFuY2hDb21wb25lbnQuXG4gKlxuICogQHJlbWFya3NcbiAqIFRoaXMgY2xhc3MgcmVuZGVycyBhIGJyYW5jaCBjb21wb25lbnQsIHdoaWNoIGRvZXMgdGhlIGZvbGxvd2luZzpcbiAqIDEuIFJlbmRlcnMgYSBjb21wb25lbnQgcHJvdmlkZWQgYnkgdGhlIHVzZXJcbiAqIDIuIFByb3ZpZGVzIGEgY29udGFpbmVyIGluIHdoaWNoIGNoaWxkIGJyYW5jaGVzIG1heSBiZSByZW5kZXJlZFxuICogMy4gQ29udGFpbnMgdHdvIERyb3B6b25lczogb25lIGZvciBkcm9wcGluZyBicmFuY2hlcyBiZWxvdyB0aGlzIGJyYW5jaCAoYXMgYVxuICogc2libGluZyksIGFuZCBvbmUgZm9yIGRyb3BwaW5nIGJyYW5jaGVzIGFzIGEgZmlyc3QgY2hpbGQgb2YgdGhpcyBicmFuY2guXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50PlxuICAgaW1wbGVtZW50cyBUcmVlTm9kZTxVc2VybGFuZENvbXBvbmVudD4sIEdyYWZ0YWJsZTxVc2VybGFuZENvbXBvbmVudD5cbntcbiAgIHByaXZhdGUgcmVhZG9ubHkgYnJhbmNoQ29udHJvbGxlcjogQnJhbmNoQ29udHJvbGxlcjxVc2VybGFuZENvbXBvbmVudD47XG4gICBwcml2YXRlIGRldGFjaGVkVmlldzogVmlld1JlZiB8IG51bGwgPSBudWxsO1xuICAgcHJpdmF0ZSBfcGFyZW50OiBUcmVlTm9kZTxVc2VybGFuZENvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG4gICBwcml2YXRlIHJlYWRvbmx5IHRyZWVOb2RlQmFzZTogVHJlZU5vZGVCYXNlPFVzZXJsYW5kQ29tcG9uZW50PjtcblxuICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgcGFyZW50OiBUcmVlTm9kZTxVc2VybGFuZENvbXBvbmVudD4sXG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYnJhbmNoT3B0aW9uczogRnVsbEJyYW5jaE9wdGlvbnM8VXNlcmxhbmRDb21wb25lbnQ+XG4gICApIHtcbiAgICAgIHRoaXMudHJlZU5vZGVCYXNlID0gbmV3IFRyZWVOb2RlQmFzZSgpO1xuICAgICAgY29uc3QgcGFyZW50QnJhbmNoZXNDb250YWluZXIgPSBwYXJlbnQuZ2V0QnJhbmNoZXNDb250YWluZXIoKTtcbiAgICAgIGFzc2VydChwYXJlbnRCcmFuY2hlc0NvbnRhaW5lciAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIHRoaXMuYnJhbmNoQ29udHJvbGxlciA9IG5ldyBCcmFuY2hDb250cm9sbGVyKFxuICAgICAgICAgdGhpcyxcbiAgICAgICAgIHBhcmVudEJyYW5jaGVzQ29udGFpbmVyXG4gICAgICApO1xuICAgICAgY29uc3QgaG9zdFZpZXcgPSB0aGlzLmJyYW5jaENvbnRyb2xsZXIuZ2V0SG9zdFZpZXcoKTtcbiAgICAgIGlmIChcbiAgICAgICAgIHBhcmVudCBpbnN0YW5jZW9mIFRyZWVCcmFuY2ggJiZcbiAgICAgICAgIHBhcmVudC5icmFuY2hPcHRpb25zLmRlZmF1bHRDb2xsYXBzZWQgPT09IHRydWVcbiAgICAgICkge1xuICAgICAgICAgdHJlZUNvbGxhcHNlci5zdG9yZVByZWNvbGxhcHNlZE5vZGUocGFyZW50LCB0aGlzKTtcbiAgICAgICAgIHRoaXMuZGV0YWNoZWRWaWV3ID0gaG9zdFZpZXc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAgcGFyZW50QnJhbmNoZXNDb250YWluZXIuaW5zZXJ0KGhvc3RWaWV3KTtcbiAgICAgICAgIHRoaXMuX3BhcmVudCA9IHBhcmVudDtcbiAgICAgICAgIHRoaXMuZGlzcGF0Y2goXG4gICAgICAgICAgICBuZXcgR3JhZnRFdmVudCh0aGlzLCB7XG4gICAgICAgICAgICAgICBwYXJlbnQ6IHRoaXMuX3BhcmVudCxcbiAgICAgICAgICAgICAgIGNoaWxkOiB0aGlzLFxuICAgICAgICAgICAgICAgaW5kZXg6IHRoaXMuX3BhcmVudC5icmFuY2hlcygpLmxlbmd0aFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICk7XG4gICAgICAgICB0aGlzLnNldEluZGVudGF0aW9uKCk7XG4gICAgICB9XG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgIH1cblxuICAgLyoqIEByZXR1cm5zIEFsbCBjaGlsZCBicmFuY2hlcyBhcyBhbiBhcnJheSBvZiBUcmVlQnJhbmNoIGluc3RhbmNlcywgaW4gb3JkZXIuICovXG4gICBwdWJsaWMgYnJhbmNoZXMoKTogQXJyYXk8VHJlZUJyYW5jaDxVc2VybGFuZENvbXBvbmVudD4+IHtcbiAgICAgIHJldHVybiB0aGlzLnRyZWVOb2RlQmFzZS5icmFuY2hlcygpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIFJlY3Vyc2l2ZWx5IGRlc3Ryb3lzIGFsbCBkZXNjZW5kYW50IGJyYW5jaGVzLCBhcyB3ZWxsIGFzIGl0c2VsZi4gVGhpc1xuICAgICogcmVsZWFzZXMgYWxsIHJlc291cmNlcyBoZWxkIG9yIGNvbnN1bWVkIGJ5IHRoaXMgYnJhbmNoIGFuZCBpdHMgZGVzY2VuZGFudHMuXG4gICAgKlxuICAgICogQHJlbWFya3NcbiAgICAqIEl0IGlzIGltcG9ydGFudCB0byBjYWxsIHRoaXMgbWV0aG9kIHdoZW4gYSBicmFuY2ggaXMgZGlzY2FyZGVkLCBvdGhlcndpc2VcbiAgICAqIHRoZSBicmFuY2ggd2lsbCByZW1haW4gaW4gbWVtb3J5IGFuZCBjb250aW51ZSB0byBjb25zdW1lIHJlc291cmNlcy5cbiAgICAqL1xuICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCgpKSB7XG4gICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFwiQ2Fubm90IGRlc3Ryb3kgYSBkZXN0cm95ZWQgdHJlZSBicmFuY2hcIik7XG4gICAgICB9XG4gICAgICB0aGlzLnBydW5lKCk7XG4gICAgICB0cmVlQ29sbGFwc2VyLmV4cGFuZCh0aGlzKTtcbiAgICAgIGRyb3B6b25lUmVuZGVyZXIuY2xlYXJUcmVlRnJvbVJlZ2lzdHJ5KHRoaXMpO1xuICAgICAgdGhpcy5icmFuY2hDb250cm9sbGVyLmdldEhvc3RWaWV3KCkuZGVzdHJveSgpO1xuICAgICAgdGhpcy50cmVlTm9kZUJhc2UuZGVzdHJveSgpO1xuICAgICAgdGhpcy5icmFuY2hDb250cm9sbGVyLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2gobmV3IERlc3RydWN0aW9uRXZlbnQodGhpcykpO1xuICAgfVxuXG4gICAvKiogUnVuIEFuZ3VsYXIgY2hhbmdlIGRldGVjdGlvbiBvbiB0aGlzIGJyYW5jaCAqL1xuICAgcHVibGljIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICB0aGlzLmJyYW5jaENvbnRyb2xsZXIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIEVtaXRzIHRoZSBzcGVjaWZpZWQgVHJlZUV2ZW50LlxuICAgICpcbiAgICAqIEByZW1hcmtzXG4gICAgKiBDYXV0aW9uOiBJdCBpcyBub3QgcmVjb21tZW5kZWQgdG8gbWFudWFsbHkgZW1pdCBUcmVlRXZlbnRzIHRoYXQgYXJlIGFscmVhZHlcbiAgICAqIHByb3ZpZGVkIGJ5IHRoZSBsaWJyYXJ5LiBGb3IgZXhhbXBsZSwgaXQgaXMgbm90IHJlY29tbWVuZGVkIHRvIGVtaXQgYVxuICAgICogYEdyYWZ0RXZlbnRgLCBgRGVzdHJ1Y3Rpb25FdmVudGAsIGV0Yy4gVGhlc2UgZXZlbnRzIG1heSBiZSB1c2VkIGJ5IHRoZSB0cmVlLFxuICAgICogYW5kIGVtaXR0aW5nIHRoZW0gbWFudWFsbHkgbWF5IGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3IuIEluc3RlYWQsIHdlXG4gICAgKiByZWNvbW1lbmQgaW1wbGVtZW50aW5nIHRoZSBUcmVlRXZlbnQgaW50ZXJmYWNlIHdpdGggeW91ciBvd24gY3VzdG9tIGV2ZW50c1xuICAgICogYW5kIGRpc3BhdGNoaW5nIHRob3NlLlxuICAgICpcbiAgICAqIEBwYXJhbSBldmVudCAtIFRoZSBUcmVlRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQuXG4gICAgKi9cbiAgIHB1YmxpYyBkaXNwYXRjaChldmVudDogVHJlZUV2ZW50PFVzZXJsYW5kQ29tcG9uZW50Pik6IHZvaWQge1xuICAgICAgdGhpcy50cmVlTm9kZUJhc2UuZGlzcGF0Y2goZXZlbnQpO1xuICAgICAgdGhpcy5fcGFyZW50Py5kaXNwYXRjaChldmVudCk7XG4gICB9XG5cbiAgIC8qKlxuICAgICogQHJldHVybnNcbiAgICAqIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyBUcmVlRXZlbnRzIHdoZW5ldmVyIGFuIGV2ZW50IGlzIGRpc3BhdGNoZWRcbiAgICAqIGluIHRoaXMgYnJhbmNoIG9yIGFueSBvZiBpdHMgZGVzY2VuZGFudCBicmFuY2hlcy5cbiAgICAqL1xuICAgcHVibGljIGV2ZW50cygpOiBPYnNlcnZhYmxlPFRyZWVFdmVudDxVc2VybGFuZENvbXBvbmVudD4+IHtcbiAgICAgIHJldHVybiB0aGlzLnRyZWVOb2RlQmFzZS5ldmVudHMoKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBAcGFyYW0gaW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIGNoaWxkIGJyYW5jaCB0byByZXRyaWV2ZS5cbiAgICAqXG4gICAgKiBAcmV0dXJuc1xuICAgICogVGhlIGNoaWxkIGJyYW5jaCBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LCBvciB1bmRlZmluZWQgaWYgdGhlcmUgaXNcbiAgICAqIG5vIGNoaWxkIGJyYW5jaCBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgICovXG4gICBwdWJsaWMgZ2V0QnJhbmNoKGluZGV4OiBudW1iZXIpOiBUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50PiB8IHVuZGVmaW5lZCB7XG4gICAgICByZXR1cm4gdGhpcy50cmVlTm9kZUJhc2UuZ2V0QnJhbmNoKGluZGV4KTtcbiAgIH1cblxuICAgLyoqIEByZXR1cm5zIFRoZSBWaWV3Q29udGFpbmVyUmVmIGluIHdoaWNoIGNoaWxkIGJyYW5jaGVzIGFyZSByZW5kZXJlZCAqL1xuICAgcHVibGljIGdldEJyYW5jaGVzQ29udGFpbmVyKCk6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQge1xuICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQoKSkge1xuICAgICAgICAgdGhyb3cgbmV3IFRyZWVFcnJvcihcbiAgICAgICAgICAgIFwiQ2Fubm90IGdldCBicmFuY2hlcyBjb250YWluZXIgZnJvbSBhIGRlc3Ryb3llZCB0cmVlIGJyYW5jaFwiXG4gICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuYnJhbmNoQ29udHJvbGxlci5nZXRCcmFuY2hlc0NvbnRhaW5lcigpO1xuICAgfVxuXG4gICAvKiogQHJldHVybnMgVGhlIGluc3RhbmNlIG9mIEJyYW5jaENvbXBvbmVudCB0aGF0IGlzIHJlbmRlcmVkIGJ5IHRoaXMgY2xhc3MuICovXG4gICBwdWJsaWMgZ2V0Q29tcG9uZW50SW5zdGFuY2UoKTogQnJhbmNoQ29tcG9uZW50PFVzZXJsYW5kQ29tcG9uZW50PiB7XG4gICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCgpKSB7XG4gICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFxuICAgICAgICAgICAgXCJDYW5ub3QgZ2V0IGNvbXBvbmVudCBpbnN0YW5jZSBmcm9tIGEgZGVzdHJveWVkIHRyZWUgYnJhbmNoXCJcbiAgICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5icmFuY2hDb250cm9sbGVyLmdldENvbXBvbmVudEluc3RhbmNlKCk7XG4gICB9XG5cbiAgIC8qKiBAcmV0dXJucyBUaGUgSG9zdCBWaWV3IGluIHdoaWNoIHRoZSBCcmFuY2hDb21wb25lbnQgaXMgcmVuZGVyZWQgKi9cbiAgIHB1YmxpYyBnZXRIb3N0VmlldygpOiBWaWV3UmVmIHtcbiAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKCkpIHtcbiAgICAgICAgIHRocm93IG5ldyBUcmVlRXJyb3IoXG4gICAgICAgICAgICBcIkNhbm5vdCBnZXQgY29tcG9uZW50IGhvc3QgdmlldyBmcm9tIGEgZGVzdHJveWVkIHRyZWUgYnJhbmNoXCJcbiAgICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5icmFuY2hDb250cm9sbGVyLmdldEhvc3RWaWV3KCk7XG4gICB9XG5cbiAgIC8qKiBAcmV0dXJucyBUaGUgQnJhbmNoQ29tcG9uZW50IGFzIGEgbmF0aXZlIEhUTUwgRWxlbWVudCAqL1xuICAgcHVibGljIGdldE5hdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQoKSkge1xuICAgICAgICAgdGhyb3cgbmV3IFRyZWVFcnJvcihcbiAgICAgICAgICAgIFwiQ2Fubm90IGdldCBuYXRpdmUgZWxlbWVudCBmcm9tIGEgZGVzdHJveWVkIHRyZWUgYnJhbmNoXCJcbiAgICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5icmFuY2hDb250cm9sbGVyLmdldE5hdGl2ZUVsZW1lbnQoKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBAcmV0dXJuc1xuICAgICogQSBDb21wb25lbnRSZWYgY29udGFpbmluZyB0aGUgaW5zdGFuY2Ugb2YgdGhlIHVzZXItcHJvdmlkZWRcbiAgICAqIGNvbXBvbmVudCB3aGljaCBpcyByZW5kZXJlZCBieSB0aGlzIGJyYW5jaC5cbiAgICAqL1xuICAgcHVibGljIGdldFVzZXJsYW5kQ29tcG9uZW50UmVmKCk6XG4gICAgICB8IENvbXBvbmVudFJlZjxVc2VybGFuZENvbXBvbmVudD5cbiAgICAgIHwgdW5kZWZpbmVkIHtcbiAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKCkpIHtcbiAgICAgICAgIHRocm93IG5ldyBUcmVlRXJyb3IoXG4gICAgICAgICAgICBcIkNhbm5vdCBnZXQgdXNlcmxhbmQgY29tcG9uZW50IGZyb20gYSBkZXN0cm95ZWQgdHJlZSBicmFuY2hcIlxuICAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmJyYW5jaENvbnRyb2xsZXIuZ2V0VXNlcmxhbmRDb21wb25lbnRSZWYoKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBBdHRhY2hlcyBhIGJyYW5jaCB0byBhIG5ldyBwYXJlbnQgbm9kZS5cbiAgICAqXG4gICAgKiBAcmVtYXJrc1xuICAgICogSWYgbm90IGFscmVhZHkgcHJ1bmVkLCB0aGlzIG1ldGhvZCBwcnVuZXMgKHJlbW92ZXMpIHRoaXMgYnJhbmNoIGZyb20gaXRzXG4gICAgKiBjdXJyZW50IHBvc2l0aW9uIGluIHRoZSB0cmVlOyB0aGVuIGdyYWZ0cyAocmVhdHRhY2hlcykgaXQgYXMgYSBjaGlsZCBvZiB0aGVcbiAgICAqIHNwZWNpZmllZCBwYXJlbnQgYnJhbmNoIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguIElmIG5vIGluZGV4IGlzIHNwZWNpZmllZCxcbiAgICAqIHRoZSBicmFuY2ggaXMgYXBwZW5kZWQgYXMgdGhlIGxhc3QgY2hpbGQgb2YgdGhlIHBhcmVudC4gVGhpcyBjYXVzZXMgdGhpc1xuICAgICogYnJhbmNoJ3MgYXNzb2NpYXRlZCBCcmFuY2hDb21wb25lbnQgdG8gYmUgcmUtcmVuZGVyZWQgaW4gdGhlIERPTSBhdCB0aGVcbiAgICAqIG5ldyBsb2NhdGlvbi5cbiAgICAqXG4gICAgKiBAcGFyYW0gbmV3UGFyZW50IC0gVGhlIG5ldyBwYXJlbnQgYnJhbmNoIHVudG8gd2hpY2ggdGhpcyBicmFuY2ggd2lsbCBiZSBncmFmdGVkLlxuICAgICogQHBhcmFtIGluZGV4IC0gVGhlIGluZGV4IGF0IHdoaWNoIHRoaXMgYnJhbmNoIHdpbGwgYmUgZ3JhZnRlZC4gSWYgbm90IHNwZWNpZmllZCxcbiAgICAqIHRoaXMgYnJhbmNoIHdpbGwgYmUgYXBwZW5kZWQgYXMgdGhlIGxhc3QgY2hpbGQgb2YgdGhlIG5ldyBwYXJlbnQuXG4gICAgKlxuICAgICogQHJldHVybnMgVGhlIGluZGV4IGF0IHdoaWNoIHRoaXMgYnJhbmNoIHdhcyBncmFmdGVkLlxuICAgICovXG4gICBwdWJsaWMgZ3JhZnRUbyhcbiAgICAgIG5ld1BhcmVudDogVHJlZU5vZGU8VXNlcmxhbmRDb21wb25lbnQ+LFxuICAgICAgaW5kZXg/OiBudW1iZXJcbiAgICk6IG51bWJlciB7XG4gICAgICB0aGlzLmNoZWNrR3JhZnRMb2NhdGlvblZhbGlkaXR5KG5ld1BhcmVudCwgaW5kZXgpO1xuICAgICAgY29uc3Qgb3duSW5kZXggPSB0aGlzLmluZGV4KCk7XG4gICAgICBpZiAob3duSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgdGhpcy5wcnVuZSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5fcGFyZW50ID0gbmV3UGFyZW50O1xuICAgICAgY29uc3QgbmV3SW5kZXggPSBpbmRleCA/PyBuZXdQYXJlbnQuYnJhbmNoZXMoKS5sZW5ndGg7XG4gICAgICB0aGlzLnJlYXR0YWNoVmlldyhuZXdJbmRleCk7XG4gICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgbmV3IEdyYWZ0RXZlbnQodGhpcywge1xuICAgICAgICAgICAgcGFyZW50OiBuZXdQYXJlbnQsXG4gICAgICAgICAgICBjaGlsZDogdGhpcyxcbiAgICAgICAgICAgIGluZGV4OiBuZXdJbmRleFxuICAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gbmV3SW5kZXg7XG4gICB9XG5cbiAgIC8qKlxuICAgICogQXBwZW5kcyBhIG5ldyBjaGlsZCBicmFuY2ggdG8gdGhpcyBicmFuY2guIFRoZSBjaGlsZCBicmFuY2ggd2lsbCByZW5kZXJcbiAgICAqIHRoZSBzcGVjaWZpZWQgY29tcG9uZW50IGFjY29yZGluZyB0byB0aGUgKG9wdGlvbmFsKSBjb25maWd1cmF0aW9uIHBhcmFtZXRlci5cbiAgICAqXG4gICAgKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0byByZW5kZXIgaW4gdGhlIG5ldyBjaGlsZCBicmFuY2guXG4gICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIG5ldyBjaGlsZCBicmFuY2guXG4gICAgKlxuICAgICogQHJldHVybnNcbiAgICAqIFRoZSBuZXdseS1jcmVhdGVkIGNoaWxkIGJyYW5jaC5cbiAgICAqL1xuICAgcHVibGljIGdyb3coXG4gICAgICBjb21wb25lbnQ6IFR5cGU8VXNlcmxhbmRDb21wb25lbnQ+LFxuICAgICAgb3B0aW9ucz86IEJyYW5jaE9wdGlvbnM8VXNlcmxhbmRDb21wb25lbnQ+XG4gICApOiBUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50PiB7XG4gICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCgpKSB7XG4gICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFwiQ2Fubm90IGdyb3cgYSBicmFuY2ggb24gYSBkZXN0cm95ZWQgdHJlZSBicmFuY2hcIik7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICAgcmV0dXJuIG5ldyBUcmVlQnJhbmNoKHRoaXMsIHsgY29tcG9uZW50LCAuLi5vcHRpb25zIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgIHRoaXMuaGFuZGxlVXNlcmxhbmRFcnJvcihlcnJvcik7XG4gICAgICB9XG4gICB9XG5cbiAgIC8qKlxuICAgICogRGV0ZXJtaW5lcyB0aGlzIGJyYW5jaCdzIGluZGV4IGluIHJlbGF0aW9uIHRvIGl0cyBzaWJsaW5nIGJyYW5jaGVzLlxuICAgICpcbiAgICAqIEByZW1hcmtzXG4gICAgKiBGb3IgZXhhbXBsZSwgaWYgaXQgaXMgdGhlIGZpcnN0IGNoaWxkIG9mIGl0cyBwYXJlbnQsIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuXG4gICAgKiAwLiBJZiBpdCBpcyB0aGUgc2Vjb25kIGNoaWxkIG9mIGl0cyBwYXJlbnQsIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIDEuXG4gICAgKlxuICAgICogSWYgdGhpcyBicmFuY2ggaGFzIG5vIHBhcmVudCwgKGVnLCBpZiB0aGlzIGJyYW5jaCBoYXMgYmVlbiBwcnVuZWQpIHRoaXNcbiAgICAqIG1ldGhvZCB3aWxsIHJldHVybiB1bmRlZmluZWQuXG4gICAgKlxuICAgICogQHJldHVybnNcbiAgICAqIFRoZSBpbmRleCBvZiB0aGlzIGJyYW5jaCBpbiByZWxhdGlvbiB0byBpdHMgc2libGluZyBicmFuY2hlcywgb3IgdW5kZWZpbmVkLlxuICAgICovXG4gICBwdWJsaWMgaW5kZXgoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICAgIGlmICghdGhpcy5fcGFyZW50KSB7XG4gICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9wYXJlbnRcbiAgICAgICAgIC5icmFuY2hlcygpXG4gICAgICAgICAuZmluZEluZGV4KChicmFuY2gpID0+IGJyYW5jaCA9PT0gdGhpcyk7XG4gICAgICBhc3NlcnQoaW5kZXggPj0gMCk7XG4gICAgICByZXR1cm4gaW5kZXg7XG4gICB9XG5cbiAgIC8qKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGJyYW5jaCBpcyBkZXN0cm95ZWQsIGBmYWxzZWAgb3RoZXJ3aXNlICovXG4gICBwdWJsaWMgaXNEZXN0cm95ZWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy50cmVlTm9kZUJhc2UuaXNEZXN0cm95ZWQoKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBAcmV0dXJuc1xuICAgICogVGhlIGRhdGEgdGhhdCB3YXMgcGFzc2VkIGludG8gdGhlIGBicmFuY2hPcHRpb25zYCcgYG1ldGFgIHByb3BlcnR5XG4gICAgKiBhdCBjb25zdHJ1Y3Rpb24uXG4gICAgKi9cbiAgIHB1YmxpYyBtZXRhKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgICAgcmV0dXJuIHRoaXMuYnJhbmNoT3B0aW9ucy5tZXRhID8/IHt9O1xuICAgfVxuXG4gICAvKipcbiAgICAqIEByZXR1cm5zXG4gICAgKiBUaGlzIGJyYW5jaCdzIHBhcmVudCBub2RlICh3aGljaCBtYXkgYmUgYSBUcmVlQnJhbmNoIG9yIFRyZWVSb290KS5cbiAgICAqIElmIHRoaXMgYnJhbmNoIGhhcyBubyBwYXJlbnQsIChlZywgaWYgdGhpcyBicmFuY2ggaGFzIGJlZW4gcHJ1bmVkKSB0aGlzXG4gICAgKiBtZXRob2Qgd2lsbCByZXR1cm4gdW5kZWZpbmVkLlxuICAgICovXG4gICBwdWJsaWMgcGFyZW50KCk6IFRyZWVOb2RlPFVzZXJsYW5kQ29tcG9uZW50PiB8IHVuZGVmaW5lZCB7XG4gICAgICByZXR1cm4gdGhpcy5fcGFyZW50O1xuICAgfVxuXG4gICAvKipcbiAgICAqIFByb3ZpZGVzIGEgbW9kZWwgZGVzY3JpYmluZyB0aGlzIGJyYW5jaCdzIGRlc2NlbmRhbnRzLlxuICAgICpcbiAgICAqIEByZXR1cm5zXG4gICAgKiBBIG11bHRpLWRpbWVuc2lvbmFsIE1hcCB3aGljaCBkZXNjcmliZXMgdGhlIHNoYXBlIG9mIHRoaXMgYnJhbmNoJ3NcbiAgICAqIGRlc2NlbmRhbnRzLlxuICAgICpcbiAgICAqIEBleGFtcGxlXG4gICAgKiBBIGJyYW5jaCB3aXRoIG5vIGNoaWxkcmVuIHdpbGwgcmV0dXJuIGFuIGVtcHR5IE1hcC4gQSBicmFuY2ggd2l0aFxuICAgICogYSBzaW5nbGUgY2hpbGQgd2lsbCByZXR1cm4gYSBNYXAgd2l0aCBhIHNpbmdsZSBlbnRyeSwgd2hlcmUgdGhlIGtleSBpcyB0aGUgaW5kZXhcbiAgICAqIG9mIHRoZSBicmFuY2ggKHplcm8pIGFuZCB0aGUgdmFsdWUgaXMgYW4gZW1wdHkgTWFwLiBBIFRyZWUgbGlrZSB0aGlzOlxuICAgICpcbiAgICAqIGBgYFxuICAgICogICAgICAgICAtLS1CcmFuY2gtLS0tLS0tQnJhbmNoXG4gICAgKiAgICAgICAgL1xuICAgICogQnJhbmNoLS0tLS0tLUJyYW5jaFxuICAgICogICAgICAgIFxcXG4gICAgKiAgICAgICAgIC0tLUJyYW5jaFxuICAgICogYGBgXG4gICAgKiBXaWxsIHJldHVybiBhIE1hcCBvZiBtYXRjaGluZyBzaGFwZTpcbiAgICAqIGBgYFxuICAgICogTWFwIHtcbiAgICAqICAgIDA6IE1hcCB7IDA6IE1hcCB7fX0sXG4gICAgKiAgICAxOiBNYXAge30sXG4gICAgKiAgICAyOiBNYXAge31cbiAgICAqIH1cbiAgICAqIGBgYFxuICAgICovXG4gICBwdWJsaWMgcGxvdCgpOiBUcmVlUGxvdCB7XG4gICAgICByZXR1cm4gdGhpcy50cmVlTm9kZUJhc2UucGxvdCgpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIENhbGN1bGF0ZXMgdGhlIGJyYW5jaCdzIHBvc2l0aW9uIGluIHRoZSB0cmVlIHJlbGF0aXZlIHRvIHRoZSBSb290LlxuICAgICpcbiAgICAqIEByZW1hcmtzXG4gICAgKiBUaGUgcG9zaXRpb24gaXMgZGVzY3JpYmVkIGFzIGFuIGFycmF5IG9mIG51bWJlcnMsIHdoZXJlIGVhY2ggbnVtYmVyXG4gICAgKiByZXByZXNlbnRzIHRoZSBpbmRleCBvZiB0aGUgYnJhbmNoIGF0IHRoYXQgbGV2ZWwgb2YgdGhlIHRyZWUuXG4gICAgKlxuICAgICogRm9yIGV4YW1wbGUsIGlmIHRoaXMgYnJhbmNoIGlzIHRoZSBmaXJzdCBjaGlsZCBvZiB0aGUgUm9vdCwgdGhpcyBtZXRob2RcbiAgICAqIHdpbGwgcmV0dXJuIFswXS4gSWYgdGhpcyBicmFuY2ggaXMgdGhlIHNlY29uZCBjaGlsZCBvZiB0aGUgZmlyc3QgY2hpbGRcbiAgICAqIG9mIHRoZSBSb290LCB0aGlzIG1ldGhvZCB3aWxsIHJldHVybiBbMCwgMV0uXG4gICAgKlxuICAgICogSWYgdGhlIGJyYW5jaCBpcyBub3QgcmVsYXRlZCB0byBhIFRyZWVSb290LCAoc3VjaCBhcyB3aGVuIGl0IGhhcyBiZWVuXG4gICAgKiBwcnVuZWQsKSB0aGlzIG1ldGhvZCB3aWxsIHRocm93IGFuIGVycm9yLlxuICAgICpcbiAgICAqIEByZXR1cm5zXG4gICAgKiBBbiBhcnJheSBvZiBudW1iZXJzIHdoaWNoIGRlc2NyaWJlIHRoZSBicmFuY2gncyBwb3NpdGlvbiBpbiB0aGUgdHJlZVxuICAgICogcmVsYXRpdmUgdG8gdGhlIFJvb3QuXG4gICAgKi9cbiAgIHB1YmxpYyBwb3NpdGlvbigpOiBBcnJheTxudW1iZXI+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbmRleCgpO1xuICAgICAgaWYgKGluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgIHRocm93IG5ldyBUcmVlRXJyb3IoXG4gICAgICAgICAgICBcImJyYW5jaCBoYXMgbm8gcGFyZW50LiBQb3NpdGlvbiBjYW5ub3QgYmUgZGV0ZXJtaW5lZC5cIlxuICAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9wYXJlbnQgaW5zdGFuY2VvZiBUcmVlQnJhbmNoKSB7XG4gICAgICAgICBjb25zdCBwYXJlbnRQb3NpdGlvbiA9IHRoaXMuX3BhcmVudC5wb3NpdGlvbigpO1xuICAgICAgICAgcmV0dXJuIFsuLi5wYXJlbnRQb3NpdGlvbiwgaW5kZXhdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtpbmRleF07XG4gICB9XG5cbiAgIC8qKlxuICAgICogUmVtb3ZlcyBhIGJyYW5jaCBmcm9tIGl0cyB0cmVlIHdpdGhvdXQgZGVzdHJveWluZyBpdC5cbiAgICAqXG4gICAgKiBAcmVtYXJrc1xuICAgICogUmVtb3ZlcyB0aGlzIGJyYW5jaCBmcm9tIGl0cyBwYXJlbnQgYW5kIGRldGFjaGVzIGl0cyBhc3NvY2lhdGVkXG4gICAgKiBCcmFuY2hDb21wb25lbnQgZnJvbSB0aGUgRE9NLiBUaGlzIHB1dHMgdGhlIGJyYW5jaCBpbiBhIFwicHJ1bmVkXCIgc3RhdGUsXG4gICAgKiB3aGljaCBtYXkgYWZmZWN0IHRoZSBiZWhhdmlvciBvZiBvdGhlciBtZXRob2RzLlxuICAgICpcbiAgICAqIEEgcHJ1bmVkIGJyYW5jaCBjYW4gYmUgcmVhdHRhY2hlZCB0byBhbnkgb3RoZXIgbm9kZSB1c2luZyB0aGUgYGdyYWZ0VG9gIG1ldGhvZC5cbiAgICAqXG4gICAgKiBAcmV0dXJuc1xuICAgICogSXRzZWxmLCBvciB1bmRlZmluZWQgaWYgaXQgaXMgYWxyZWFkeSBpbiBhIHBydW5lZCBzdGF0ZS5cbiAgICAqL1xuICAgcHVibGljIHBydW5lKCk6IHRoaXMgfCB1bmRlZmluZWQge1xuICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQoKSkge1xuICAgICAgICAgdGhyb3cgbmV3IFRyZWVFcnJvcihcIkNhbm5vdCBwcnVuZSBhIGRlc3Ryb3llZCB0cmVlIGJyYW5jaFwiKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuX3BhcmVudDtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbmRleCgpO1xuICAgICAgaWYgKGluZGV4ID09PSB1bmRlZmluZWQgfHwgcGFyZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHBhcmVudC5nZXRCcmFuY2hlc0NvbnRhaW5lcigpO1xuICAgICAgYXNzZXJ0KGNvbnRhaW5lciAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIHRoaXMuZGV0YWNoZWRWaWV3ID0gY29udGFpbmVyLmRldGFjaChpbmRleCk7XG4gICAgICBhc3NlcnQodGhpcy5kZXRhY2hlZFZpZXcgIT09IG51bGwpO1xuICAgICAgdGhpcy5kZXRhY2hlZFZpZXcuZGV0YWNoKCk7XG4gICAgICB0aGlzLmRpc3BhdGNoKFxuICAgICAgICAgbmV3IFBydW5lRXZlbnQodGhpcywge1xuICAgICAgICAgICAgcGFyZW50OiBwYXJlbnQsXG4gICAgICAgICAgICBjaGlsZDogdGhpcyxcbiAgICAgICAgICAgIGluZGV4OiBpbmRleFxuICAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLl9wYXJlbnQgPSB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gdGhpcztcbiAgIH1cblxuICAgLyoqXG4gICAgKiBHZXQgdGhlIHJvb3Qgb2YgdGhlIHRyZWUgdG8gd2hpY2ggdGhpcyBCcmFuY2ggaXMgYXR0YWNoZWQuXG4gICAgKlxuICAgICogQHJldHVybnNcbiAgICAqIFRoZSBUcmVlUm9vdCBvZiB0aGUgdHJlZSB0aGlzIGJyYW5jaCBpcyBpbi4gSWYgdGhpcyBicmFuY2ggaXNcbiAgICAqIGRvZXMgbm90IGhhdmUgYSByb290IChzdWNoIGFzIHdoZW4gaXQgaGFzIGJlZW4gcHJ1bmVkKSB0aGlzIG1ldGhvZCB3aWxsXG4gICAgKiByZXR1cm4gdW5kZWZpbmVkLlxuICAgICovXG4gICBwdWJsaWMgcm9vdCgpOiBUcmVlUm9vdDxVc2VybGFuZENvbXBvbmVudD4gfCB1bmRlZmluZWQge1xuICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5wYXJlbnQoKTtcbiAgICAgIGlmIChwYXJlbnQgaW5zdGFuY2VvZiBUcmVlQnJhbmNoKSB7XG4gICAgICAgICByZXR1cm4gcGFyZW50LnJvb3QoKTtcbiAgICAgIH1cbiAgICAgIGFzc2VydChwYXJlbnQgaW5zdGFuY2VvZiBUcmVlUm9vdCB8fCBwYXJlbnQgPT09IHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm4gcGFyZW50O1xuICAgfVxuXG4gICAvKipcbiAgICAqIFRyYXZlcnNlcyB0aGlzIGJyYW5jaCdzIGRlc2NlbmRhbnRzIGluIGRlcHRoLWZpcnN0IHByZS1vcmRlciwgZXhlY3V0aW5nXG4gICAgKiB0aGUgcHJvdmlkZWQgY2FsbGJhY2sgZnVuY3Rpb24gb24gZWFjaCBub2RlLiBUcmF2ZXJzYWwgaW5jbHVkZXMgdGhpcyBicmFuY2guXG4gICAgKlxuICAgICogQHBhcmFtIGNhbGxiYWNrIC0gQSBmdW5jdGlvbiB0byBleGVjdXRlIG9uIGVhY2ggbm9kZS5cbiAgICAqL1xuICAgcHVibGljIHRyYXZlcnNlKFxuICAgICAgY2FsbGJhY2s6IChub2RlOiBUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50PikgPT4gdm9pZFxuICAgKTogdm9pZCB7XG4gICAgICBjYWxsYmFjayh0aGlzKTtcbiAgICAgIHRoaXMudHJlZU5vZGVCYXNlLnRyYXZlcnNlKGNhbGxiYWNrKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBjaGVja0dyYWZ0TG9jYXRpb25WYWxpZGl0eShcbiAgICAgIG5ld1BhcmVudDogVHJlZU5vZGU8VXNlcmxhbmRDb21wb25lbnQ+LFxuICAgICAgaW5kZXg/OiBudW1iZXJcbiAgICk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQoKSkge1xuICAgICAgICAgdGhyb3cgbmV3IFRyZWVFcnJvcihcIkNhbm5vdCBncmFmdCBhIGRlc3Ryb3llZCB0cmVlIGJyYW5jaFwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChuZXdQYXJlbnQuaXNEZXN0cm95ZWQoKSkge1xuICAgICAgICAgdGhyb3cgbmV3IFRyZWVFcnJvcihcIkNhbm5vdCBncmFmdCB0byBhIGRlc3Ryb3llZCB0cmVlIGJyYW5jaFwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgIHR5cGVvZiBpbmRleCA9PT0gXCJudW1iZXJcIiAmJlxuICAgICAgICAgdGhpcy5pbmRleElzT3V0T2ZSYW5nZShuZXdQYXJlbnQsIGluZGV4KVxuICAgICAgKSB7XG4gICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFxuICAgICAgICAgICAgYENhbm5vdCBncmFmdCBicmFuY2ggYXQgaW5kZXggJHtpbmRleH0gb2YgdGhlIHBhcmVudC4gT3V0IG9mIHJhbmdlLmBcbiAgICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLnRyYXZlcnNlKChub2RlKSA9PiB7XG4gICAgICAgICBpZiAobm9kZSA9PT0gbmV3UGFyZW50KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFxuICAgICAgICAgICAgICAgXCJDYW5ub3QgZ3JhZnQgYSBicmFuY2ggdG8gaXRzZWxmIG9yIGFueSBvZiBpdHMgb3duIGRlc2NlbmRhbnRzXCJcbiAgICAgICAgICAgICk7XG4gICAgICAgICB9XG4gICAgICB9KTtcbiAgIH1cblxuICAgcHJpdmF0ZSBoYW5kbGVVc2VybGFuZEVycm9yKGVycm9yOiB1bmtub3duKTogbmV2ZXIge1xuICAgICAgLy8gV2hlbiBhbiBlcnJvciBvY2N1cnMgaW4gYSB1c2VybGFuZCBjb21wb25lbnQgZHVyaW5nIGEgdHJlZSBvcGVyYXRpb24sXG4gICAgICAvLyBpdCBjYW4gY2F1c2UgdW5kZWZpbmVkLCBiaXphcnJlIGJlaGF2aW9yIGluIHRoZSB0cmVlLiBUbyBwcmV2ZW50IHRoaXMsXG4gICAgICAvLyB3ZSBkZXN0cm95IHRoZSB0cmVlIGFuZCB0aHJvdyBhbiBlcnJvciBpbnN0ZWFkLiBUaGlzIGhlbHBzIHByb3RlY3RcbiAgICAgIC8vIHRoZSBlbmQtdXNlcidzIGRhdGEgZnJvbSBjb3JydXB0aW9uLlxuICAgICAgdGhpcy5mdXJ0aGVzdEFuY2VzdG9yKCkuZGVzdHJveSgpO1xuICAgICAgdGhpcy50cmVlTm9kZUJhc2UuaGFuZGxlVXNlcmxhbmRFcnJvcihlcnJvcik7XG4gICB9XG5cbiAgIHByaXZhdGUgaW5kZXhJc091dE9mUmFuZ2UoXG4gICAgICBwYXJlbnQ6IFRyZWVOb2RlPFVzZXJsYW5kQ29tcG9uZW50PixcbiAgICAgIGluZGV4OiBudW1iZXJcbiAgICk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGluZGV4IDwgMCB8fCBpbmRleCA+IHBhcmVudC5icmFuY2hlcygpLmxlbmd0aDtcbiAgIH1cblxuICAgcHJpdmF0ZSBmdXJ0aGVzdEFuY2VzdG9yKCk6IFRyZWVOb2RlPFVzZXJsYW5kQ29tcG9uZW50PiB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHlwZXNjcmlwdC9uby10aGlzLWFsaWFzIC0tIFRoaXMgY29kZSBpcyBmb3IgYW4gaXRlcmF0aW9uLCBub3QgdG8gbWFrZSBgdGhpc2AgYXZhaWxhYmxlIGluIG90aGVyIHNjb3BlcyAod2hpY2ggaXMgd2hhdCB0aGUgcnVsZSBpcyBpbnRlbmRlZCB0byBwcm90ZWN0IGFnYWluc3QpLlxuICAgICAgbGV0IG5vZGU6IFRyZWVOb2RlPFVzZXJsYW5kQ29tcG9uZW50PiA9IHRoaXM7XG4gICAgICB3aGlsZSAobm9kZSBpbnN0YW5jZW9mIFRyZWVCcmFuY2gpIHtcbiAgICAgICAgIGNvbnN0IHBhcmVudCA9IG5vZGUucGFyZW50KCk7XG4gICAgICAgICBpZiAocGFyZW50ID09PSB1bmRlZmluZWQpIGJyZWFrO1xuICAgICAgICAgbm9kZSA9IHBhcmVudDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBub2RlO1xuICAgfVxuXG4gICBwcml2YXRlIHJlYXR0YWNoVmlldyhpbmRleD86IG51bWJlcik6IHZvaWQge1xuICAgICAgYXNzZXJ0KHRoaXMuX3BhcmVudCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIGFzc2VydCh0aGlzLmRldGFjaGVkVmlldyAhPT0gbnVsbCk7XG4gICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLl9wYXJlbnQuZ2V0QnJhbmNoZXNDb250YWluZXIoKTtcbiAgICAgIGFzc2VydChjb250YWluZXIgIT09IHVuZGVmaW5lZCk7XG4gICAgICB0aGlzLmRldGFjaGVkVmlldy5yZWF0dGFjaCgpO1xuICAgICAgY29udGFpbmVyLmluc2VydCh0aGlzLmRldGFjaGVkVmlldywgaW5kZXgpO1xuICAgICAgdGhpcy5kZXRhY2hlZFZpZXcgPSBudWxsO1xuICAgICAgdGhpcy5zZXRJbmRlbnRhdGlvbigpO1xuICAgfVxuXG4gICBwcml2YXRlIHNldEluZGVudGF0aW9uKCk6IHZvaWQge1xuICAgICAgYXNzZXJ0KHRoaXMuX3BhcmVudCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLl9wYXJlbnQucm9vdCgpO1xuICAgICAgaWYgKHJvb3QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qgb3B0aW9ucyA9IGNvbmZpZy5nZXRDb25maWcocm9vdCk7XG4gICAgICBjb25zdCBicmFuY2hlc0NvbnRhaW5lckVsID0gdGhpcy5icmFuY2hDb250cm9sbGVyXG4gICAgICAgICAuZ2V0TmF0aXZlRWxlbWVudCgpXG4gICAgICAgICAuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImJyYW5jaGVzLWNvbnRhaW5lclwiKVxuICAgICAgICAgLml0ZW0oMCk7XG4gICAgICBhc3NlcnQoYnJhbmNoZXNDb250YWluZXJFbCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KTtcbiAgICAgIGJyYW5jaGVzQ29udGFpbmVyRWwuc3R5bGUubWFyZ2luTGVmdCA9IGAke29wdGlvbnM/LmluZGVudGF0aW9uID8/IDE2fXB4YDtcbiAgIH1cbn1cbiJdfQ==
|
|
@@ -39,4 +39,4 @@ export class RootController {
|
|
|
39
39
|
return this.rootComponentRef.location.nativeElement;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9jb3JlL3RyZWUtcm9vdC9yb290LWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUk5RDs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBSXhCLFlBQ29CLFFBQXFCLEVBQ3RDLGdCQUFrQztRQURqQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBR3RDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEUsTUFBTSxXQUFXLEdBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUN6RCxNQUFNLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7UUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQ2hFLEdBQUcsRUFBRTtZQUNGLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxPQUFPO1FBQ1gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTSxhQUFhO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRU0sb0JBQW9CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztJQUMzRCxDQUFDO0lBRU0sb0JBQW9CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUN6QyxDQUFDO0lBRU0sV0FBVztRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUN6QyxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb21wb25lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIFZpZXdSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZFwiO1xuaW1wb3J0IHR5cGUgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgUm9vdENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBkcm9wem9uZVJlbmRlcmVyIH0gZnJvbSBcIi4uLy4uL2V4dHJhcy9kcmFnLWFuZC1kcm9wXCI7XG5pbXBvcnQgdHlwZSB7IFRyZWVSb290IH0gZnJvbSBcIi4vdHJlZS1yb290XCI7XG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudENvbnRhaW5lciB9IGZyb20gXCIuLi9jb21wb25lbnQtY29udGFpbmVyLmludGVyZmFjZVwiO1xuXG4vKipcbiAqIEEgd3JhcHBlciBhcm91bmQgdGhlIEJyYW5jaENvbXBvbmVudCB0aGF0IGhlbHBzIGluc3RhbnRpYXRlIGl0IGFuZCBoYW5kbGVzIGl0cyBldmVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBSb290Q29udHJvbGxlcjxUPiBpbXBsZW1lbnRzIENvbXBvbmVudENvbnRhaW5lcjxSb290Q29tcG9uZW50PiB7XG4gICBwcml2YXRlIHJlYWRvbmx5IHJvb3RDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxSb290Q29tcG9uZW50PjtcbiAgIHByaXZhdGUgcmVhZG9ubHkgaW5zdGFuY2VTdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+O1xuXG4gICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIHJlYWRvbmx5IHRyZWVSb290OiBUcmVlUm9vdDxUPixcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgICkge1xuICAgICAgdGhpcy5yb290Q29tcG9uZW50UmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoUm9vdENvbXBvbmVudCk7XG4gICAgICBjb25zdCB2aWV3SW5pdFN1YiA9XG4gICAgICAgICB0aGlzLnJvb3RDb21wb25lbnRSZWYuaW5zdGFuY2UuYWZ0ZXJWaWV3SW5pdC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZHJvcHpvbmUgPSB0aGlzLnJvb3RDb21wb25lbnRSZWYuaW5zdGFuY2UuZHJvcHpvbmU7XG4gICAgICAgICAgICBhc3NlcnQoZHJvcHpvbmUgIT09IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBkcm9wem9uZVJlbmRlcmVyLnJlZ2lzdGVyRHJvcHpvbmUoZHJvcHpvbmUsIHRoaXMudHJlZVJvb3QpO1xuICAgICAgICAgfSk7XG4gICAgICBjb25zdCBkcm9wcGVkU3ViID0gdGhpcy5yb290Q29tcG9uZW50UmVmLmluc3RhbmNlLmRyb3BwZWQuc3Vic2NyaWJlKFxuICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgZHJvcHpvbmVSZW5kZXJlci5oYW5kbGVEcm9wKHRoaXMudHJlZVJvb3QsIFwiaW5uZXJcIik7XG4gICAgICAgICB9XG4gICAgICApO1xuICAgICAgdGhpcy5pbnN0YW5jZVN1YnNjcmlwdGlvbnMgPSBbdmlld0luaXRTdWIsIGRyb3BwZWRTdWJdO1xuICAgfVxuXG4gICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgIHRoaXMuaW5zdGFuY2VTdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YikgPT4ge1xuICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9KTtcbiAgIH1cblxuICAgcHVibGljIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICB0aGlzLnJvb3RDb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgfVxuXG4gICBwdWJsaWMgZ2V0QnJhbmNoZXNDb250YWluZXIoKTogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZCB7XG4gICAgICByZXR1cm4gdGhpcy5yb290Q29tcG9uZW50UmVmLmluc3RhbmNlLmJyYW5jaGVzQ29udGFpbmVyO1xuICAgfVxuXG4gICBwdWJsaWMgZ2V0Q29tcG9uZW50SW5zdGFuY2UoKTogUm9vdENvbXBvbmVudCB7XG4gICAgICByZXR1cm4gdGhpcy5yb290Q29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgfVxuXG4gICBwdWJsaWMgZ2V0SG9zdFZpZXcoKTogVmlld1JlZiB7XG4gICAgICByZXR1cm4gdGhpcy5yb290Q29tcG9uZW50UmVmLmhvc3RWaWV3O1xuICAgfVxuXG4gICBwdWJsaWMgZ2V0TmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICByZXR1cm4gdGhpcy5yb290Q29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICB9XG59XG4iXX0=
|
|
@@ -16,10 +16,10 @@ export class TreeService {
|
|
|
16
16
|
return root;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
TreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
20
|
-
TreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
19
|
+
TreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
|
+
TreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeService, providedIn: "root" });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeService, decorators: [{
|
|
22
22
|
type: Injectable,
|
|
23
23
|
args: [{ providedIn: "root" }]
|
|
24
24
|
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9jb3JlL3RyZWUtc2VydmljZS90cmVlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBb0IsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUV4QyxpREFBaUQ7QUFFakQsTUFBTSxPQUFPLFdBQVc7SUFDckI7Ozs7T0FJRztJQUNJLGVBQWUsQ0FDbkIsU0FBMkIsRUFDM0IsVUFBdUIsRUFBRTtRQUV6QixTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLENBQVksU0FBUyxDQUFDLENBQUM7UUFDaEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDZixDQUFDOzt3R0FkUyxXQUFXOzRHQUFYLFdBQVcsY0FERSxNQUFNOzJGQUNuQixXQUFXO2tCQUR2QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHR5cGUgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBjb25maWcsIHR5cGUgVHJlZU9wdGlvbnMgfSBmcm9tIFwiLi4vY29uZmlndXJhdGlvblwiO1xuaW1wb3J0IHsgVHJlZVJvb3QgfSBmcm9tIFwiLi4vdHJlZS1yb290XCI7XG5cbi8qKiBSZXNwb25zaWJsZSBmb3IgdGhlIGNyZWF0aW9uIG9mIG5ldyB0cmVlcy4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogXCJyb290XCIgfSlcbmV4cG9ydCBjbGFzcyBUcmVlU2VydmljZSB7XG4gICAvKipcbiAgICAqIENyZWF0ZXMgYSBuZXcsIGVtcHR5IHRyZWUgc3RydWN0dXJlIGluc2lkZSB0aGUgcHJvdmlkZWQgY29udGFpbmVyLlxuICAgICpcbiAgICAqIEByZXR1cm5zIEEgYFRyZWVSb290YCByZXByZXNlbnRpbmcgdGhlIGJhc2Ugb2YgdGhlIG5ldyB0cmVlLlxuICAgICovXG4gICBwdWJsaWMgY3JlYXRlRW1wdHlUcmVlPENvbXBvbmVudD4oXG4gICAgICBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICBvcHRpb25zOiBUcmVlT3B0aW9ucyA9IHt9XG4gICApOiBUcmVlUm9vdDxDb21wb25lbnQ+IHtcbiAgICAgIGNvbnRhaW5lci5jbGVhcigpO1xuICAgICAgY29uc3Qgcm9vdCA9IG5ldyBUcmVlUm9vdDxDb21wb25lbnQ+KGNvbnRhaW5lcik7XG4gICAgICBjb25maWcuc2V0Q29uZmlnKHJvb3QsIG9wdGlvbnMpO1xuICAgICAgcmV0dXJuIHJvb3Q7XG4gICB9XG59XG4iXX0=
|
|
@@ -4,13 +4,13 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
/** A module containing the entities which provide collapse functionality */
|
|
5
5
|
export class TreeCollapseModule {
|
|
6
6
|
}
|
|
7
|
-
TreeCollapseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
TreeCollapseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
9
|
-
TreeCollapseModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
7
|
+
TreeCollapseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
TreeCollapseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TreeCollapseModule });
|
|
9
|
+
TreeCollapseModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeCollapseModule, providers: [TreeCollapseService] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeCollapseModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
providers: [TreeCollapseService]
|
|
14
14
|
}]
|
|
15
15
|
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9leHRyYXMvY29sbGFwc2UvY29sbGFwc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXpELDRFQUE0RTtBQUk1RSxNQUFNLE9BQU8sa0JBQWtCOzsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixhQUZqQixDQUFDLG1CQUFtQixDQUFDOzJGQUV0QixrQkFBa0I7a0JBSDlCLFFBQVE7bUJBQUM7b0JBQ1AsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVHJlZUNvbGxhcHNlU2VydmljZSB9IGZyb20gXCIuL2NvbGxhcHNlLnNlcnZpY2VcIjtcblxuLyoqIEEgbW9kdWxlIGNvbnRhaW5pbmcgdGhlIGVudGl0aWVzIHdoaWNoIHByb3ZpZGUgY29sbGFwc2UgZnVuY3Rpb25hbGl0eSAqL1xuQE5nTW9kdWxlKHtcbiAgIHByb3ZpZGVyczogW1RyZWVDb2xsYXBzZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVDb2xsYXBzZU1vZHVsZSB7fVxuIl19
|
|
@@ -37,9 +37,9 @@ export class TreeCollapseService {
|
|
|
37
37
|
return treeCollapser.isCollapsed(treeBranch);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
TreeCollapseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
41
|
-
TreeCollapseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
40
|
+
TreeCollapseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeCollapseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
41
|
+
TreeCollapseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeCollapseService });
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeCollapseService, decorators: [{
|
|
43
43
|
type: Injectable
|
|
44
44
|
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvZXh0cmFzL2NvbGxhcHNlL2NvbGxhcHNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQUUzQyx5REFBeUQ7QUFFekQsTUFBTSxPQUFPLG1CQUFtQjtJQUM3Qjs7Ozs7T0FLRztJQUNJLFFBQVEsQ0FBSSxVQUF5QjtRQUN6QyxhQUFhLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBSSxVQUF5QjtRQUN2QyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLFdBQVcsQ0FBSSxVQUF5QjtRQUM1QyxPQUFPLGFBQWEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7Z0hBbkNTLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRyZWVCcmFuY2ggfSBmcm9tIFwiLi4vLi4vY29yZVwiO1xuaW1wb3J0IHsgdHJlZUNvbGxhcHNlciB9IGZyb20gXCIuL2NvbGxhcHNlXCI7XG5cbi8qKiBBIHNlcnZpY2UgdGhhdCBjb2xsYXBzZXMgYW5kIGV4cGFuZHMgdHJlZSBicmFuY2hlcyAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyZWVDb2xsYXBzZVNlcnZpY2Uge1xuICAgLyoqXG4gICAgKiBDYXVzZXMgYSBUcmVlQnJhbmNoIHRvIGNvbGxhcHNlLCB0ZW1wb3JhcmlseSBwcnVuaW5nIGFsbCBvZiBpdHMgY2hpbGRyZW5cbiAgICAqIGZyb20gdGhlIHRyZWUuXG4gICAgKlxuICAgICogQHBhcmFtIHRyZWVCcmFuY2ggLSBUaGUgYnJhbmNoIHRvIGNvbGxhcHNlLlxuICAgICovXG4gICBwdWJsaWMgY29sbGFwc2U8VD4odHJlZUJyYW5jaDogVHJlZUJyYW5jaDxUPik6IHZvaWQge1xuICAgICAgdHJlZUNvbGxhcHNlci5jb2xsYXBzZSh0cmVlQnJhbmNoKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBDYXVzZXMgYSBUcmVlQnJhbmNoIHRvIGV4cGFuZCwgcmVzdG9yaW5nIGFsbCBvZiBpdHMgY2hpbGRyZW4gd2hpY2ggd2VyZVxuICAgICogcHJldmlvdXNseSBwcnVuZWQgYnkgYSBjYWxsIHRvIGBjb2xsYXBzZSgpYC5cbiAgICAqXG4gICAgKiBAcGFyYW0gdHJlZUJyYW5jaCAtIFRoZSBicmFuY2ggdG8gZXhwYW5kLlxuICAgICovXG4gICBwdWJsaWMgZXhwYW5kPFQ+KHRyZWVCcmFuY2g6IFRyZWVCcmFuY2g8VD4pOiB2b2lkIHtcbiAgICAgIHRyZWVDb2xsYXBzZXIuZXhwYW5kKHRyZWVCcmFuY2gpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIERldGVybWluZXMgd2hldGhlciBhIFRyZWVCcmFuY2ggY3VycmVudGx5IGhhcyBhbnkgY2hpbGRyZW4gd2hpY2ggYXJlXG4gICAgKiBwcnVuZWQgZnJvbSB0aGUgdHJlZSBkdWUgdG8gYSBjYWxsIHRvICB0aGUgYGNvbGxhcHNlKClgIG1ldGhvZC5cbiAgICAqXG4gICAgKiBAcmVtYXJrc1xuICAgICogQ2hpbGQgYnJhbmNoZXMgd2hpY2ggYXJlIHBydW5lZCBtYW51YWxseSBmcm9tIHRoZSB0cmVlLCByYXRoZXIgdGhhblxuICAgICogdGhyb3VnaCB0aGUgYGNvbGxhcHNlKClgIG1ldGhvZCwgd2lsbCBub3QgYmUgY29uc2lkZXJlZC5cbiAgICAqXG4gICAgKiBAcGFyYW0gdHJlZUJyYW5jaCAtIFRoZSBicmFuY2ggdG8gY2hlY2suXG4gICAgKlxuICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBicmFuY2ggaXMgY3VycmVudGx5IGNvbGxhcHNlZDsgYGZhbHNlYCBpZiBpdCBpcyBub3QuXG4gICAgKi9cbiAgIHB1YmxpYyBpc0NvbGxhcHNlZDxUPih0cmVlQnJhbmNoOiBUcmVlQnJhbmNoPFQ+KTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdHJlZUNvbGxhcHNlci5pc0NvbGxhcHNlZCh0cmVlQnJhbmNoKTtcbiAgIH1cbn1cbiJdfQ==
|
|
@@ -8,10 +8,10 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
*/
|
|
9
9
|
export class TreeDragAndDropModule {
|
|
10
10
|
}
|
|
11
|
-
TreeDragAndDropModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
12
|
-
TreeDragAndDropModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
13
|
-
TreeDragAndDropModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
+
TreeDragAndDropModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeDragAndDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
TreeDragAndDropModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TreeDragAndDropModule, imports: [DraggableDirective], exports: [DraggableDirective] });
|
|
13
|
+
TreeDragAndDropModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeDragAndDropModule, providers: [TreeDragAndDropService] });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeDragAndDropModule, decorators: [{
|
|
15
15
|
type: NgModule,
|
|
16
16
|
args: [{
|
|
17
17
|
imports: [DraggableDirective],
|
|
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
19
19
|
exports: [DraggableDirective]
|
|
20
20
|
}]
|
|
21
21
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V4dHJhcy9kcmFnLWFuZC1kcm9wL2RyYWctYW5kLWRyb3AubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRTNEOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixZQUpyQixrQkFBa0IsYUFFbEIsa0JBQWtCO21IQUVsQixxQkFBcUIsYUFIcEIsQ0FBQyxzQkFBc0IsQ0FBQzsyRkFHekIscUJBQXFCO2tCQUxqQyxRQUFRO21CQUFDO29CQUNQLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUM3QixTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVHJlZURyYWdBbmREcm9wU2VydmljZSB9IGZyb20gXCIuL2RyYWctYW5kLWRyb3Auc2VydmljZVwiO1xuaW1wb3J0IHsgRHJhZ2dhYmxlRGlyZWN0aXZlIH0gZnJvbSBcIi4vZHJhZ2dhYmxlLmRpcmVjdGl2ZVwiO1xuXG4vKipcbiAqIEFuIEFuZ3VsYXIgbW9kdWxlIGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBlbnRpdGllcyB3aGljaCBwcm92aWRlIERyYWctQW5kLURyb3BcbiAqIGZ1bmN0aW9uYWxpdHkuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICBpbXBvcnRzOiBbRHJhZ2dhYmxlRGlyZWN0aXZlXSxcbiAgIHByb3ZpZGVyczogW1RyZWVEcmFnQW5kRHJvcFNlcnZpY2VdLFxuICAgZXhwb3J0czogW0RyYWdnYWJsZURpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgVHJlZURyYWdBbmREcm9wTW9kdWxlIHt9XG4iXX0=
|
|
@@ -36,9 +36,9 @@ export class TreeDragAndDropService {
|
|
|
36
36
|
return dragState.events();
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
TreeDragAndDropService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
TreeDragAndDropService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
39
|
+
TreeDragAndDropService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeDragAndDropService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
TreeDragAndDropService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeDragAndDropService });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeDragAndDropService, decorators: [{
|
|
42
42
|
type: Injectable
|
|
43
43
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9leHRyYXMvZHJhZy1hbmQtZHJvcC9kcmFnLWFuZC1kcm9wLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLGNBQWMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHdkQsTUFBTSxPQUFPLHNCQUFzQjtJQUNoQywwQkFBMEI7SUFDbkIsY0FBYztRQUNsQixnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxtQ0FBbUM7UUFJdkMsT0FBTyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLGdCQUFnQixDQUFJLElBQWlCO1FBQ3pDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLO1FBQ1QsT0FBTyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7bUhBdENTLHNCQUFzQjt1SEFBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgdHlwZSB7IFRyZWVOb2RlLCBUcmVlUm9vdCB9IGZyb20gXCIuLi8uLi9jb3JlXCI7XG5pbXBvcnQgeyBkcmFnU3RhdGUsIHR5cGUgRHJhZ1N0YXRlcyB9IGZyb20gXCIuL2RyYWctc3RhdGVcIjtcbmltcG9ydCB7IGRyb3B6b25lUmVuZGVyZXIgfSBmcm9tIFwiLi9kcm9wem9uZS1yZW5kZXJlclwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHJlZURyYWdBbmREcm9wU2VydmljZSB7XG4gICAvKiogSGlkZXMgYWxsIERyb3B6b25lcyAqL1xuICAgcHVibGljIGNsZWFyRHJvcHpvbmVzKCk6IHZvaWQge1xuICAgICAgZHJvcHpvbmVSZW5kZXJlci5jbGVhckN1cnJlbnREaXNwbGF5KCk7XG4gICB9XG5cbiAgIC8qKlxuICAgICogQHJldHVybnMgQW4gb2JqZWN0IHRoYXQgaW5kaWNhdGVzIHdoaWNoIGRyb3B6b25lcyBhcmUgY3VycmVudGx5IGJlaW5nIGRpc3BsYXllZC5cbiAgICAqIElmIG5vIGRyb3B6b25lcyBhcmUgYmVpbmcgZGlzcGxheWVkLCB0aGVuIG51bGwgaXMgcmV0dXJuZWQuXG4gICAgKi9cbiAgIHB1YmxpYyBnZXRDdXJyZW50bHlEaXNwbGF5ZWREcm9wem9uZUZhbWlseSgpOiB7XG4gICAgICB0cmVlQnJhbmNoOiBUcmVlTm9kZTxhbnk+O1xuICAgICAgZGlyZWN0aW9uOiBcInVwcGVyXCIgfCBcImxvd2VyXCI7XG4gICB9IHwgbnVsbCB7XG4gICAgICByZXR1cm4gZHJvcHpvbmVSZW5kZXJlci5nZXRDdXJyZW50RGlzcGxheSgpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIENhdXNlcyB0aGUgZHJvcHpvbmUgb2YgdGhlIFRyZWVSb290IHRvIGJlIGRpc3BsYXllZC5cbiAgICAqXG4gICAgKiBAcmVtYXJrc1xuICAgICogVGhpcyBpcyBhIHVzZWZ1bCBmdW5jdGlvbiB3aGVuIHlvdSB3YW50IHRvIHNob3cgdGhlIGRyb3B6b25lIG9mIGEgVHJlZVJvb3RcbiAgICAqIHRoYXQgaGFzIG5vIGNoaWxkIGJyYW5jaGVzLlxuICAgICpcbiAgICAqIEBwYXJhbSByb290IC0gVGhlIFRyZWVSb290IHdob3NlIGRyb3B6b25lIHlvdSB3YW50IHRvIHNob3cuXG4gICAgKi9cbiAgIHB1YmxpYyBzaG93Um9vdERyb3B6b25lPFQ+KHJvb3Q6IFRyZWVSb290PFQ+KTogdm9pZCB7XG4gICAgICBkcm9wem9uZVJlbmRlcmVyLnNob3dMb3dlclpvbmVzKHJvb3QpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyBhIG51bWJlciB3aGVuZXZlciB0aGUgZHJhZyBzdGF0ZSBjaGFuZ2VzLlxuICAgICpcbiAgICAqIEByZW1hcmtzXG4gICAgKiBTZWUgdGhlIGBEcmFnU3RhdGVzYCBlbnVtIGZvciBhIGxpc3Qgb2YgcG9zc2libGUgc3RhdGVzLlxuICAgICovXG4gICBwdWJsaWMgc3RhdGUoKTogT2JzZXJ2YWJsZTxEcmFnU3RhdGVzPiB7XG4gICAgICByZXR1cm4gZHJhZ1N0YXRlLmV2ZW50cygpO1xuICAgfVxufVxuIl19
|
|
@@ -13,9 +13,9 @@ export class DraggableDirective {
|
|
|
13
13
|
dragAndDrop.dragStart(this.limbleTreeDraggable, event);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
DraggableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
17
|
-
DraggableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
16
|
+
DraggableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DraggableDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
17
|
+
DraggableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DraggableDirective, isStandalone: true, selector: "[limbleTreeDraggable]", inputs: { limbleTreeDraggable: "limbleTreeDraggable" }, host: { listeners: { "dragstart": "onDragstart($event)" } }, ngImport: i0 });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DraggableDirective, decorators: [{
|
|
19
19
|
type: Directive,
|
|
20
20
|
args: [{
|
|
21
21
|
selector: "[limbleTreeDraggable]",
|
|
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
27
27
|
type: HostListener,
|
|
28
28
|
args: ["dragstart", ["$event"]]
|
|
29
29
|
}] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvZXh0cmFzL2RyYWctYW5kLWRyb3AvZHJhZ2dhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0osU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUU5QyxxRUFBcUU7QUFLckUsTUFBTSxPQUFPLGtCQUFrQjtJQUc1QixZQUNHLFFBQW1CLEVBQ25CLFdBQW9DO1FBRXBDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRTZDLFdBQVcsQ0FDdEQsS0FBZ0I7UUFFaEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEtBQUssU0FBUztZQUFFLE9BQU87UUFDbkQsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7K0dBaEJTLGtCQUFrQjttR0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1IsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7aUJBQ2xCO3lIQUVXLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFVd0MsV0FBVztzQkFBeEQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgRGlyZWN0aXZlLFxuICAgRWxlbWVudFJlZixcbiAgIEhvc3RMaXN0ZW5lcixcbiAgIElucHV0LFxuICAgUmVuZGVyZXIyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgdHlwZSB7IFRyZWVCcmFuY2ggfSBmcm9tIFwiLi4vLi4vY29yZVwiO1xuaW1wb3J0IHsgZHJhZ0FuZERyb3AgfSBmcm9tIFwiLi9kcmFnLWFuZC1kcm9wXCI7XG5cbi8qKiBNYWtlcyBhbiBUcmVlQnJhbmNoIGRyYWdnYWJsZSB3aGVuIHRoZSBob3N0IGVsZW1lbnQgaXMgZHJhZ2dlZCAqL1xuQERpcmVjdGl2ZSh7XG4gICBzZWxlY3RvcjogXCJbbGltYmxlVHJlZURyYWdnYWJsZV1cIixcbiAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ2dhYmxlRGlyZWN0aXZlIHtcbiAgIEBJbnB1dCgpIGxpbWJsZVRyZWVEcmFnZ2FibGU/OiBUcmVlQnJhbmNoPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICBob3N0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgICkge1xuICAgICAgcmVuZGVyZXIuc2V0QXR0cmlidXRlKGhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIFwiZHJhZ2dhYmxlXCIsIFwidHJ1ZVwiKTtcbiAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIFwiY3Vyc29yXCIsIFwiZ3JhYlwiKTtcbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImRyYWdzdGFydFwiLCBbXCIkZXZlbnRcIl0pIHB1YmxpYyBvbkRyYWdzdGFydChcbiAgICAgIGV2ZW50OiBEcmFnRXZlbnRcbiAgICk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMubGltYmxlVHJlZURyYWdnYWJsZSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICBkcmFnQW5kRHJvcC5kcmFnU3RhcnQodGhpcy5saW1ibGVUcmVlRHJhZ2dhYmxlLCBldmVudCk7XG4gICB9XG59XG4iXX0=
|