angular-toolbox 1.2.0 → 1.2.1

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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  A library that provides useful tools for Angular apps development.
4
4
 
5
- [![Angular Toolbox version](https://img.shields.io/badge/Angular%20Toolbox:1.2.0-%231E90FF.svg)]()
5
+ [![Angular Toolbox version](https://img.shields.io/badge/Angular%20Toolbox:1.2.1-%231E90FF.svg)]()
6
6
 
7
7
  ## License
8
8
 
@@ -5,12 +5,17 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be found in
6
6
  * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
7
7
  */
8
+ import { EventEmitter } from "@angular/core";
8
9
  /**
9
10
  * The abstract class that must be implemented by services that provide
10
11
  * functionality to display Angular component within a new browser window.
11
12
  */
12
13
  export class AbstractWindowService {
13
14
  constructor() {
15
+ /**
16
+ * An event triggered each time a window is closed.
17
+ */
18
+ this.windowClose = new EventEmitter();
14
19
  /**
15
20
  * @private
16
21
  */
@@ -41,4 +46,4 @@ export class AbstractWindowService {
41
46
  this.windowRefMap.clear();
42
47
  }
43
48
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtd2luZG93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9zZXJ2aWNlL3VpL3dpbmRvdy9hYnN0cmFjdC13aW5kb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFNSDs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLHFCQUFxQjtJQUEzQztRQUVFOztXQUVHO1FBQ08saUJBQVksR0FBbUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQXFEckUsQ0FBQztJQW5EQzs7Ozs7O09BTUc7SUFDSSxHQUFHLENBQUMsSUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTTtRQUNYLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQTBCRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBVdWlkIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxcIjtcclxuaW1wb3J0IHsgRGVzdHJveWFibGUsIFdpbmRvd1JlZiB9IGZyb20gXCIuLi8uLi8uLi9idXNpbmVzc1wiO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBhYnN0cmFjdCBjbGFzcyB0aGF0IG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc2VydmljZXMgdGhhdCBwcm92aWRlXHJcbiAqIGZ1bmN0aW9uYWxpdHkgdG8gZGlzcGxheSBBbmd1bGFyIGNvbXBvbmVudCB3aXRoaW4gYSBuZXcgYnJvd3NlciB3aW5kb3cuXHJcbiAqL1xyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RXaW5kb3dTZXJ2aWNlIGltcGxlbWVudHMgRGVzdHJveWFibGUge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCB3aW5kb3dSZWZNYXA6IE1hcDxVdWlkLCBXaW5kb3dSZWY8YW55LCBhbnk+PiA9IG5ldyBNYXAoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgd2luZG93IHJlZmVyZW5jZSBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgYFV1aWRgIG9iamVjdC5cclxuICAgKiBcclxuICAgKiBAcGFyYW0gdXVpZCBUaGUgYFV1aWRgIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIHdpbmRvdyByZWZlcmVuY2UgdG8gZ2V0LlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIEEgYFdpbmRvd1JlZmAgb2JqZWN0LCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgcmVmZXJlbmNlIGNhbm5vdCBiZSBmb3VuZC5cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0KHV1aWQ6IFV1aWQpOiBXaW5kb3dSZWY8YW55LCBhbnk+IHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLndpbmRvd1JlZk1hcC5nZXQodXVpZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGFsbCB0aGUgd2luZG93IHJlZmVyZW5jZSBvYmplY3RzIGNyZWF0ZWQgYnkgdGhlIHNlcnZpY2UuXHJcbiAgICogXHJcbiAgICogQHJldHVybnMgQSBsaXN0IG9mIGBXaW5kb3dSZWZgIG9iamVjdHMgY3JlYXRlZCBieSB0aGlzIHNlcnZpY2UuXHJcbiAgICovXHJcbiAgcHVibGljIGdldEFsbCgpOiBXaW5kb3dSZWY8YW55LCBhbnk+W10ge1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy53aW5kb3dSZWZNYXAudmFsdWVzKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMud2luZG93UmVmTWFwLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPcGVucyBhIG5ldyBicm93c2VyIHdpbmRvdyB3aXRoIHRoZSBzcGVjaWZpZWQgcHJvcGVydGllcyBhbmQgYXR0YWNoZXMgYW4gaW5zdGFuY2Ugb2YgXHJcbiAgICogdGhlIHNwZWNpZmllZCBjb21wb25lbnQgaW50byB0aGUgd2luZG93IGNvbnRhaW5lci5cclxuICAgKiBcclxuICAgKiBAcGFyYW0gY29tcG9uZW50IFRoZSBjb21wb25lbnQgdG8gYXR0YWNoIGluIHRoZSBuZXcgd2luZG93LlxyXG4gICAqIEBwYXJhbSBpbml0IFRoZSBjb25maWcgdXNlZCB0byBpbml0aWFsaXplIHRoZSB3aW5kb3cuXHJcbiAgICogXHJcbiAgICogQHJldHVybnMgQSBgVXVpZGAgb2JqZWN0LlxyXG4gICAqL1xyXG4gIGFic3RyYWN0IG9wZW48VD4oY29tcG9uZW50OiBUeXBlPFQ+LCBpbml0PzogYW55KTogVXVpZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2xvc2VzIHRoZSB3aW5kb3cgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgYFV1aWRgIG9iamVjdC5cclxuICAgKiBcclxuICAgKiBAcGFyYW0gdXVpZCBUaGUgYFV1aWRgIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIHdpbmRvdyB0byBjbG9zZS5cclxuICAgKiBcclxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgd2hldGhlciB0aGUgd2luZG93IGV4aXN0cyBhbmQgaXMgY2xvc2VkOyBgZmFsc2VgIG90aGVyd2lzZS5cclxuICAgKi9cclxuICBhYnN0cmFjdCBjbG9zZSh1dWlkOiBVdWlkKTogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2xvc2VzIGFsbCBvcGVuZWQgd2luZG93cy5cclxuICAgKi9cclxuICBhYnN0cmFjdCBjbG9zZUFsbCgpOiB2b2lkO1xyXG59Il19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtd2luZG93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9zZXJ2aWNlL3VpL3dpbmRvdy9hYnN0cmFjdC13aW5kb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBSW5EOzs7R0FHRztBQUNILE1BQU0sT0FBZ0IscUJBQXFCO0lBQTNDO1FBRUU7O1dBRUc7UUFDYSxnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXJFOztXQUVHO1FBQ08saUJBQVksR0FBbUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQXFEckUsQ0FBQztJQW5EQzs7Ozs7O09BTUc7SUFDSSxHQUFHLENBQUMsSUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTTtRQUNYLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQTBCRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFV1aWQgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbFwiO1xyXG5pbXBvcnQgeyBEZXN0cm95YWJsZSwgV2luZG93UmVmIH0gZnJvbSBcIi4uLy4uLy4uL2J1c2luZXNzXCI7XHJcblxyXG4vKipcclxuICogVGhlIGFic3RyYWN0IGNsYXNzIHRoYXQgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzZXJ2aWNlcyB0aGF0IHByb3ZpZGVcclxuICogZnVuY3Rpb25hbGl0eSB0byBkaXNwbGF5IEFuZ3VsYXIgY29tcG9uZW50IHdpdGhpbiBhIG5ldyBicm93c2VyIHdpbmRvdy5cclxuICovXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFdpbmRvd1NlcnZpY2UgaW1wbGVtZW50cyBEZXN0cm95YWJsZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFuIGV2ZW50IHRyaWdnZXJlZCBlYWNoIHRpbWUgYSB3aW5kb3cgaXMgY2xvc2VkLlxyXG4gICAqL1xyXG4gIHB1YmxpYyByZWFkb25seSB3aW5kb3dDbG9zZTogRXZlbnRFbWl0dGVyPFV1aWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCB3aW5kb3dSZWZNYXA6IE1hcDxVdWlkLCBXaW5kb3dSZWY8YW55LCBhbnk+PiA9IG5ldyBNYXAoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgd2luZG93IHJlZmVyZW5jZSBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgYFV1aWRgIG9iamVjdC5cclxuICAgKiBcclxuICAgKiBAcGFyYW0gdXVpZCBUaGUgYFV1aWRgIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIHdpbmRvdyByZWZlcmVuY2UgdG8gZ2V0LlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIEEgYFdpbmRvd1JlZmAgb2JqZWN0LCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgcmVmZXJlbmNlIGNhbm5vdCBiZSBmb3VuZC5cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0KHV1aWQ6IFV1aWQpOiBXaW5kb3dSZWY8YW55LCBhbnk+IHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLndpbmRvd1JlZk1hcC5nZXQodXVpZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGFsbCB0aGUgd2luZG93IHJlZmVyZW5jZSBvYmplY3RzIGNyZWF0ZWQgYnkgdGhlIHNlcnZpY2UuXHJcbiAgICogXHJcbiAgICogQHJldHVybnMgQSBsaXN0IG9mIGBXaW5kb3dSZWZgIG9iamVjdHMgY3JlYXRlZCBieSB0aGlzIHNlcnZpY2UuXHJcbiAgICovXHJcbiAgcHVibGljIGdldEFsbCgpOiBXaW5kb3dSZWY8YW55LCBhbnk+W10ge1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy53aW5kb3dSZWZNYXAudmFsdWVzKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMud2luZG93UmVmTWFwLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPcGVucyBhIG5ldyBicm93c2VyIHdpbmRvdyB3aXRoIHRoZSBzcGVjaWZpZWQgcHJvcGVydGllcyBhbmQgYXR0YWNoZXMgYW4gaW5zdGFuY2Ugb2YgXHJcbiAgICogdGhlIHNwZWNpZmllZCBjb21wb25lbnQgaW50byB0aGUgd2luZG93IGNvbnRhaW5lci5cclxuICAgKiBcclxuICAgKiBAcGFyYW0gY29tcG9uZW50IFRoZSBjb21wb25lbnQgdG8gYXR0YWNoIGluIHRoZSBuZXcgd2luZG93LlxyXG4gICAqIEBwYXJhbSBpbml0IFRoZSBjb25maWcgdXNlZCB0byBpbml0aWFsaXplIHRoZSB3aW5kb3cuXHJcbiAgICogXHJcbiAgICogQHJldHVybnMgQSBgVXVpZGAgb2JqZWN0LlxyXG4gICAqL1xyXG4gIGFic3RyYWN0IG9wZW48VD4oY29tcG9uZW50OiBUeXBlPFQ+LCBpbml0PzogYW55KTogVXVpZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2xvc2VzIHRoZSB3aW5kb3cgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgYFV1aWRgIG9iamVjdC5cclxuICAgKiBcclxuICAgKiBAcGFyYW0gdXVpZCBUaGUgYFV1aWRgIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIHdpbmRvdyB0byBjbG9zZS5cclxuICAgKiBcclxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgd2hldGhlciB0aGUgd2luZG93IGV4aXN0cyBhbmQgaXMgY2xvc2VkOyBgZmFsc2VgIG90aGVyd2lzZS5cclxuICAgKi9cclxuICBhYnN0cmFjdCBjbG9zZSh1dWlkOiBVdWlkKTogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2xvc2VzIGFsbCBvcGVuZWQgd2luZG93cy5cclxuICAgKi9cclxuICBhYnN0cmFjdCBjbG9zZUFsbCgpOiB2b2lkO1xyXG59Il19
@@ -53,6 +53,7 @@ export class WindowService extends AbstractWindowService {
53
53
  winRef.window = null;
54
54
  winRef.componentRef.destroy();
55
55
  winRef.componentRef;
56
+ this.windowClose.emit(uuid);
56
57
  return true;
57
58
  }
58
59
  /**
@@ -94,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
94
95
  providedIn: 'root'
95
96
  }]
96
97
  }], ctorParameters: () => [{ type: i0.ApplicationRef }] });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9zZXJ2aWNlL3VpL3dpbmRvdy93aW5kb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQWdDLFVBQVUsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRWxFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWMsU0FBUSxxQkFBcUI7SUFFdEQ7O09BRUc7SUFDSCxZQUFvQixPQUF1QjtRQUN6QyxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBRXpDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJLENBQUksU0FBa0IsRUFBRSxJQUFpQjtRQUNsRCxNQUFNLEVBQUUsR0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQVcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sR0FBRyxHQUFnQixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBZ0IsQ0FBQztRQUNsRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxZQUFZLEdBQW9CLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNGLE1BQU0sTUFBTSxHQUF5QjtZQUNuQyxNQUFNLEVBQUUsR0FBYTtZQUNyQixZQUFZLEVBQUUsWUFBWTtTQUMzQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQVU7UUFDckIsTUFBTSxNQUFNLEdBQXVDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixNQUFNLENBQUMsTUFBTSxHQUFFLElBQVcsQ0FBQztRQUMzQixNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxZQUFtQixDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE1BQU0sSUFBSSxHQUEyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNLLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7T0FFRztJQUNLLFNBQVMsQ0FBQyxJQUFpQjtRQUNqQyxJQUFJLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQztRQUNuRCxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQzs4R0F4RVUsYUFBYTtrSEFBYixhQUFhLGNBRlosTUFBTTs7MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIFV1aWQgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbFwiO1xyXG5pbXBvcnQgeyBXaW5kb3dJbml0LCBXaW5kb3dSZWYgfSBmcm9tIFwiLi4vLi4vLi4vYnVzaW5lc3NcIjtcclxuaW1wb3J0IHsgV2luZG93VGFyZ2V0IH0gZnJvbSBcIi4uLy4uLy4uL2J1c2luZXNzL3VpL3dpbmRvdy93aW5kb3ctdGFyZ2V0XCI7XHJcbmltcG9ydCB7IEJyb3dzZXJXaW5kb3dGZWF0dXJlc0J1aWxkZXIgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbC93aW5kb3cvd2luZG93LWZlYXR1cmVzLWJ1aWxkZXJcIjtcclxuaW1wb3J0IHsgV2luZG93SGVhZGVyVGFnVXRpbCB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlsL3dpbmRvdy93aW5kb3ctaGVhZGVyLXRhZy11dGlsXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0V2luZG93U2VydmljZSB9IGZyb20gXCIuL2Fic3RyYWN0LXdpbmRvdy5zZXJ2aWNlXCI7XHJcblxyXG4vKipcclxuICogUHJvdmlkZXMgZnVuY3Rpb25hbGl0eSB0byBkaXNwbGF5IEFuZ3VsYXIgY29tcG9uZW50IHdpdGhpbiBhIG5ldyBicm93c2VyIHdpbmRvdy5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdpbmRvd1NlcnZpY2UgZXh0ZW5kcyBBYnN0cmFjdFdpbmRvd1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FwcFJlZjogQXBwbGljYXRpb25SZWYpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImJlZm9yZXVubG9hZFwiLCAoKSA9PiB0aGlzLmJlZm9yVW5sb2FkSGFuZGxlcigpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbmhlcml0ZG9jXHJcbiAgICovXHJcbiAgcHVibGljIG9wZW48VD4oY29tcG9uZW50OiBUeXBlPFQ+LCBpbml0PzogV2luZG93SW5pdCk6IFV1aWQge1xyXG4gICAgY29uc3QgaWQ6IFV1aWQgPSBVdWlkLmJ1aWxkKCk7XHJcbiAgICBjb25zdCBmZWF0dXJlczogc3RyaW5nID0gQnJvd3NlcldpbmRvd0ZlYXR1cmVzQnVpbGRlci5idWlsZChpbml0KTtcclxuICAgIGNvbnN0IHdpbjogV2luZG93UHJveHkgPSB3aW5kb3cub3BlbihFTVBUWV9TVFJJTkcsIHRoaXMuZ2V0VGFyZ2V0KGluaXQpLCBmZWF0dXJlcykgYXMgV2luZG93UHJveHk7XHJcbiAgICBXaW5kb3dIZWFkZXJUYWdVdGlsLnNldFRpdGxlKHdpbiwgaW5pdCk7XHJcbiAgICBXaW5kb3dIZWFkZXJUYWdVdGlsLnNldEljb24od2luLCBpbml0KTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+ID0gdGhpcy5fYXBwUmVmLmJvb3RzdHJhcChjb21wb25lbnQsIHdpbi5kb2N1bWVudC5ib2R5KTtcclxuICAgIGNvbnN0IHdpblJlZjogV2luZG93UmVmPFQsIFdpbmRvdz4gPSB7XHJcbiAgICAgIHdpbmRvdzogd2luIGFzIFdpbmRvdyxcclxuICAgICAgY29tcG9uZW50UmVmOiBjb21wb25lbnRSZWZcclxuICAgIH07XHJcbiAgICB0aGlzLndpbmRvd1JlZk1hcC5zZXQoaWQsIHdpblJlZik7XHJcbiAgICByZXR1cm4gaWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW5oZXJpdGRvY1xyXG4gICAqL1xyXG4gIHB1YmxpYyBjbG9zZSh1dWlkOiBVdWlkKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB3aW5SZWY6IFdpbmRvd1JlZjxhbnksIFdpbmRvdz4gfCB1bmRlZmluZWQgPSB0aGlzLndpbmRvd1JlZk1hcC5nZXQodXVpZCk7XHJcbiAgICBpZiAoIXdpblJlZikgcmV0dXJuIGZhbHNlO1xyXG4gICAgdGhpcy53aW5kb3dSZWZNYXAuZGVsZXRlKHV1aWQpO1xyXG4gICAgd2luUmVmLndpbmRvdy5jbG9zZSgpO1xyXG4gICAgd2luUmVmLndpbmRvdz0gbnVsbCBhcyBhbnk7XHJcbiAgICB3aW5SZWYuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgIHdpblJlZi5jb21wb25lbnRSZWYgYXMgYW55O1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW5oZXJpdGRvY1xyXG4gICAqL1xyXG4gIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGtleXM6IEl0ZXJhYmxlSXRlcmF0b3I8VXVpZD4gPSB0aGlzLndpbmRvd1JlZk1hcC5rZXlzKCk7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB0aGlzLmNsb3NlKGtleSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VBbGwoKTtcclxuICAgIHRoaXMuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGJlZm9yVW5sb2FkSGFuZGxlcigpOiB2b2lkIHtcclxuICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwiYmVmb3JldW5sb2FkXCIsICgpID0+IHRoaXMuYmVmb3JVbmxvYWRIYW5kbGVyKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGdldFRhcmdldChpbml0PzogV2luZG93SW5pdCk6IFdpbmRvd1RhcmdldCB7XHJcbiAgICBpZiAoaW5pdCkgcmV0dXJuIGluaXQudGFyZ2V0IHx8IFdpbmRvd1RhcmdldC5CTEFOSztcclxuICAgIHJldHVybiBXaW5kb3dUYXJnZXQuQkxBTks7XHJcbiAgfVxyXG59Il19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9zZXJ2aWNlL3VpL3dpbmRvdy93aW5kb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQWdDLFVBQVUsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRWxFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWMsU0FBUSxxQkFBcUI7SUFFdEQ7O09BRUc7SUFDSCxZQUFvQixPQUF1QjtRQUN6QyxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBRXpDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJLENBQUksU0FBa0IsRUFBRSxJQUFpQjtRQUNsRCxNQUFNLEVBQUUsR0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQVcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sR0FBRyxHQUFnQixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBZ0IsQ0FBQztRQUNsRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxZQUFZLEdBQW9CLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNGLE1BQU0sTUFBTSxHQUF5QjtZQUNuQyxNQUFNLEVBQUUsR0FBYTtZQUNyQixZQUFZLEVBQUUsWUFBWTtTQUMzQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQVU7UUFDckIsTUFBTSxNQUFNLEdBQXVDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixNQUFNLENBQUMsTUFBTSxHQUFFLElBQVcsQ0FBQztRQUMzQixNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxZQUFtQixDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE1BQU0sSUFBSSxHQUEyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNLLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7T0FFRztJQUNLLFNBQVMsQ0FBQyxJQUFpQjtRQUNqQyxJQUFJLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQztRQUNuRCxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQzs4R0F6RVUsYUFBYTtrSEFBYixhQUFhLGNBRlosTUFBTTs7MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIFV1aWQgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbFwiO1xyXG5pbXBvcnQgeyBXaW5kb3dJbml0LCBXaW5kb3dSZWYgfSBmcm9tIFwiLi4vLi4vLi4vYnVzaW5lc3NcIjtcclxuaW1wb3J0IHsgV2luZG93VGFyZ2V0IH0gZnJvbSBcIi4uLy4uLy4uL2J1c2luZXNzL3VpL3dpbmRvdy93aW5kb3ctdGFyZ2V0XCI7XHJcbmltcG9ydCB7IEJyb3dzZXJXaW5kb3dGZWF0dXJlc0J1aWxkZXIgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbC93aW5kb3cvd2luZG93LWZlYXR1cmVzLWJ1aWxkZXJcIjtcclxuaW1wb3J0IHsgV2luZG93SGVhZGVyVGFnVXRpbCB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlsL3dpbmRvdy93aW5kb3ctaGVhZGVyLXRhZy11dGlsXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0V2luZG93U2VydmljZSB9IGZyb20gXCIuL2Fic3RyYWN0LXdpbmRvdy5zZXJ2aWNlXCI7XHJcblxyXG4vKipcclxuICogUHJvdmlkZXMgZnVuY3Rpb25hbGl0eSB0byBkaXNwbGF5IEFuZ3VsYXIgY29tcG9uZW50IHdpdGhpbiBhIG5ldyBicm93c2VyIHdpbmRvdy5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdpbmRvd1NlcnZpY2UgZXh0ZW5kcyBBYnN0cmFjdFdpbmRvd1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FwcFJlZjogQXBwbGljYXRpb25SZWYpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImJlZm9yZXVubG9hZFwiLCAoKSA9PiB0aGlzLmJlZm9yVW5sb2FkSGFuZGxlcigpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbmhlcml0ZG9jXHJcbiAgICovXHJcbiAgcHVibGljIG9wZW48VD4oY29tcG9uZW50OiBUeXBlPFQ+LCBpbml0PzogV2luZG93SW5pdCk6IFV1aWQge1xyXG4gICAgY29uc3QgaWQ6IFV1aWQgPSBVdWlkLmJ1aWxkKCk7XHJcbiAgICBjb25zdCBmZWF0dXJlczogc3RyaW5nID0gQnJvd3NlcldpbmRvd0ZlYXR1cmVzQnVpbGRlci5idWlsZChpbml0KTtcclxuICAgIGNvbnN0IHdpbjogV2luZG93UHJveHkgPSB3aW5kb3cub3BlbihFTVBUWV9TVFJJTkcsIHRoaXMuZ2V0VGFyZ2V0KGluaXQpLCBmZWF0dXJlcykgYXMgV2luZG93UHJveHk7XHJcbiAgICBXaW5kb3dIZWFkZXJUYWdVdGlsLnNldFRpdGxlKHdpbiwgaW5pdCk7XHJcbiAgICBXaW5kb3dIZWFkZXJUYWdVdGlsLnNldEljb24od2luLCBpbml0KTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+ID0gdGhpcy5fYXBwUmVmLmJvb3RzdHJhcChjb21wb25lbnQsIHdpbi5kb2N1bWVudC5ib2R5KTtcclxuICAgIGNvbnN0IHdpblJlZjogV2luZG93UmVmPFQsIFdpbmRvdz4gPSB7XHJcbiAgICAgIHdpbmRvdzogd2luIGFzIFdpbmRvdyxcclxuICAgICAgY29tcG9uZW50UmVmOiBjb21wb25lbnRSZWZcclxuICAgIH07XHJcbiAgICB0aGlzLndpbmRvd1JlZk1hcC5zZXQoaWQsIHdpblJlZik7XHJcbiAgICByZXR1cm4gaWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW5oZXJpdGRvY1xyXG4gICAqL1xyXG4gIHB1YmxpYyBjbG9zZSh1dWlkOiBVdWlkKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB3aW5SZWY6IFdpbmRvd1JlZjxhbnksIFdpbmRvdz4gfCB1bmRlZmluZWQgPSB0aGlzLndpbmRvd1JlZk1hcC5nZXQodXVpZCk7XHJcbiAgICBpZiAoIXdpblJlZikgcmV0dXJuIGZhbHNlO1xyXG4gICAgdGhpcy53aW5kb3dSZWZNYXAuZGVsZXRlKHV1aWQpO1xyXG4gICAgd2luUmVmLndpbmRvdy5jbG9zZSgpO1xyXG4gICAgd2luUmVmLndpbmRvdz0gbnVsbCBhcyBhbnk7XHJcbiAgICB3aW5SZWYuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgIHdpblJlZi5jb21wb25lbnRSZWYgYXMgYW55O1xyXG4gICAgdGhpcy53aW5kb3dDbG9zZS5lbWl0KHV1aWQpO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW5oZXJpdGRvY1xyXG4gICAqL1xyXG4gIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGtleXM6IEl0ZXJhYmxlSXRlcmF0b3I8VXVpZD4gPSB0aGlzLndpbmRvd1JlZk1hcC5rZXlzKCk7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB0aGlzLmNsb3NlKGtleSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VBbGwoKTtcclxuICAgIHRoaXMuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGJlZm9yVW5sb2FkSGFuZGxlcigpOiB2b2lkIHtcclxuICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwiYmVmb3JldW5sb2FkXCIsICgpID0+IHRoaXMuYmVmb3JVbmxvYWRIYW5kbGVyKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGdldFRhcmdldChpbml0PzogV2luZG93SW5pdCk6IFdpbmRvd1RhcmdldCB7XHJcbiAgICBpZiAoaW5pdCkgcmV0dXJuIGluaXQudGFyZ2V0IHx8IFdpbmRvd1RhcmdldC5CTEFOSztcclxuICAgIHJldHVybiBXaW5kb3dUYXJnZXQuQkxBTks7XHJcbiAgfVxyXG59Il19
@@ -15,8 +15,8 @@ import * as i0 from "@angular/core";
15
15
  const LAYERS_VERSION_CONFIG = {
16
16
  major: 1,
17
17
  minor: 2,
18
- patch: 0,
19
- buildTimestamp: 1725808881311
18
+ patch: 1,
19
+ buildTimestamp: 1725880857406
20
20
  };
21
21
  /**
22
22
  * The public service that exposes the current version of the Angular Toolbox library.
@@ -34,4 +34,4 @@ export class AngularToolboxVersionService extends AbstractVersionManager {
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxVersionService, decorators: [{
35
35
  type: Injectable
36
36
  }], ctorParameters: () => [] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10b29sYm94LXZlcnNpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL21vZGVsL3NlcnZpY2UvdmVyc2lvbi9hbmd1bGFyLXRvb2xib3gtdmVyc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd2RDs7O0dBR0c7QUFDSCxNQUFNLHFCQUFxQixHQUFrQjtJQUMzQyxLQUFLLEVBQUUsQ0FBQztJQUNSLEtBQUssRUFBRSxDQUFDO0lBQ1IsS0FBSyxFQUFFLENBQUM7SUFDUixjQUFjLEVBQUUsYUFBYTtDQUM5QixDQUFDO0FBRUY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsc0JBQXNCO0lBRXRFOztPQUVHO0lBQ0g7UUFDRSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQVBVLDRCQUE0QjtrSEFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdFZlcnNpb25NYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XHJcbmltcG9ydCB7IFZlcnNpb25Db25maWcgfSBmcm9tICcuLi8uLi9idXNpbmVzcyc7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgQW5ndWxhciBUb29sYm94IGxpYnJhcnkuXHJcbiAqL1xyXG5jb25zdCBMQVlFUlNfVkVSU0lPTl9DT05GSUc6IFZlcnNpb25Db25maWcgPSB7XHJcbiAgbWFqb3I6IDEsXHJcbiAgbWlub3I6IDIsXHJcbiAgcGF0Y2g6IDAsXHJcbiAgYnVpbGRUaW1lc3RhbXA6IDE3MjU4MDg4ODEzMTFcclxufTtcclxuXHJcbi8qKlxyXG4gKiBUaGUgcHVibGljIHNlcnZpY2UgdGhhdCBleHBvc2VzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIEFuZ3VsYXIgVG9vbGJveCBsaWJyYXJ5LlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhclRvb2xib3hWZXJzaW9uU2VydmljZSBleHRlbmRzIEFic3RyYWN0VmVyc2lvbk1hbmFnZXIge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoTEFZRVJTX1ZFUlNJT05fQ09ORklHKTtcclxuICB9XHJcbn1cclxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10b29sYm94LXZlcnNpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL21vZGVsL3NlcnZpY2UvdmVyc2lvbi9hbmd1bGFyLXRvb2xib3gtdmVyc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd2RDs7O0dBR0c7QUFDSCxNQUFNLHFCQUFxQixHQUFrQjtJQUMzQyxLQUFLLEVBQUUsQ0FBQztJQUNSLEtBQUssRUFBRSxDQUFDO0lBQ1IsS0FBSyxFQUFFLENBQUM7SUFDUixjQUFjLEVBQUUsYUFBYTtDQUM5QixDQUFDO0FBRUY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsc0JBQXNCO0lBRXRFOztPQUVHO0lBQ0g7UUFDRSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQVBVLDRCQUE0QjtrSEFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdFZlcnNpb25NYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XHJcbmltcG9ydCB7IFZlcnNpb25Db25maWcgfSBmcm9tICcuLi8uLi9idXNpbmVzcyc7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgQW5ndWxhciBUb29sYm94IGxpYnJhcnkuXHJcbiAqL1xyXG5jb25zdCBMQVlFUlNfVkVSU0lPTl9DT05GSUc6IFZlcnNpb25Db25maWcgPSB7XHJcbiAgbWFqb3I6IDEsXHJcbiAgbWlub3I6IDIsXHJcbiAgcGF0Y2g6IDEsXHJcbiAgYnVpbGRUaW1lc3RhbXA6IDE3MjU4ODA4NTc0MDZcclxufTtcclxuXHJcbi8qKlxyXG4gKiBUaGUgcHVibGljIHNlcnZpY2UgdGhhdCBleHBvc2VzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIEFuZ3VsYXIgVG9vbGJveCBsaWJyYXJ5LlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhclRvb2xib3hWZXJzaW9uU2VydmljZSBleHRlbmRzIEFic3RyYWN0VmVyc2lvbk1hbmFnZXIge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoTEFZRVJTX1ZFUlNJT05fQ09ORklHKTtcclxuICB9XHJcbn1cclxuIl19
@@ -544,8 +544,8 @@ class AbstractVersionManager {
544
544
  const LAYERS_VERSION_CONFIG = {
545
545
  major: 1,
546
546
  minor: 2,
547
- patch: 0,
548
- buildTimestamp: 1725808881311
547
+ patch: 1,
548
+ buildTimestamp: 1725880857406
549
549
  };
550
550
  /**
551
551
  * The public service that exposes the current version of the Angular Toolbox library.
@@ -2175,6 +2175,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
2175
2175
  */
2176
2176
  class AbstractWindowService {
2177
2177
  constructor() {
2178
+ /**
2179
+ * An event triggered each time a window is closed.
2180
+ */
2181
+ this.windowClose = new EventEmitter();
2178
2182
  /**
2179
2183
  * @private
2180
2184
  */
@@ -2373,6 +2377,7 @@ class WindowService extends AbstractWindowService {
2373
2377
  winRef.window = null;
2374
2378
  winRef.componentRef.destroy();
2375
2379
  winRef.componentRef;
2380
+ this.windowClose.emit(uuid);
2376
2381
  return true;
2377
2382
  }
2378
2383
  /**