@siemens/ix-angular 3.1.0 → 3.1.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/READMEOSS.html +69 -17
- package/angular-component-lib/utils.d.ts +9 -0
- package/common/directives/control-value-accessors/boolean-value-accessor.d.ts +10 -0
- package/common/directives/control-value-accessors/date-value-accessor.d.ts +9 -0
- package/common/directives/control-value-accessors/index.d.ts +5 -0
- package/common/directives/control-value-accessors/radio-value-accessor.d.ts +10 -0
- package/common/directives/control-value-accessors/select-value-accessor.d.ts +9 -0
- package/common/directives/control-value-accessors/text-value-accessor.d.ts +9 -0
- package/common/directives/control-value-accessors/value-accessor.d.ts +30 -0
- package/common/directives/dropdown-trigger.d.ts +10 -0
- package/common/directives/tree.d.ts +26 -0
- package/common/index.d.ts +6 -0
- package/common/providers/modal/index.d.ts +3 -0
- package/common/providers/modal/modal-ref.d.ts +21 -0
- package/common/providers/modal/modal.config.d.ts +6 -0
- package/common/providers/modal/modal.service.d.ts +20 -0
- package/common/providers/toast/index.d.ts +2 -0
- package/common/providers/toast/toast.config.d.ts +5 -0
- package/common/providers/toast/toast.service.d.ts +9 -0
- package/common/utils/create-value-accessor-provider.d.ts +2 -0
- package/components.d.ts +1342 -0
- package/declare-components.d.ts +2 -0
- package/directives/control-value-accessors/boolean-value-accessor.d.ts +8 -0
- package/directives/control-value-accessors/date-value-accessor.d.ts +8 -0
- package/directives/control-value-accessors/index.d.ts +5 -0
- package/directives/control-value-accessors/radio-value-accessor.d.ts +8 -0
- package/directives/control-value-accessors/select-value-accessor.d.ts +8 -0
- package/directives/control-value-accessors/text-value-accessor.d.ts +8 -0
- package/directives/dropdown-trigger.d.ts +10 -0
- package/esm2022/angular-component-lib/utils.mjs +59 -0
- package/esm2022/common/directives/control-value-accessors/boolean-value-accessor.mjs +32 -0
- package/esm2022/common/directives/control-value-accessors/date-value-accessor.mjs +28 -0
- package/esm2022/common/directives/control-value-accessors/index.mjs +14 -0
- package/esm2022/common/directives/control-value-accessors/radio-value-accessor.mjs +34 -0
- package/esm2022/common/directives/control-value-accessors/select-value-accessor.mjs +28 -0
- package/esm2022/common/directives/control-value-accessors/text-value-accessor.mjs +31 -0
- package/esm2022/common/directives/control-value-accessors/value-accessor.mjs +157 -0
- package/esm2022/common/directives/dropdown-trigger.mjs +28 -0
- package/esm2022/common/directives/tree.mjs +70 -0
- package/esm2022/common/index.mjs +15 -0
- package/esm2022/common/providers/modal/index.mjs +11 -0
- package/esm2022/common/providers/modal/modal-ref.mjs +41 -0
- package/esm2022/common/providers/modal/modal.config.mjs +10 -0
- package/esm2022/common/providers/modal/modal.service.mjs +90 -0
- package/esm2022/common/providers/toast/index.mjs +11 -0
- package/esm2022/common/providers/toast/toast.config.mjs +10 -0
- package/esm2022/common/providers/toast/toast.service.mjs +52 -0
- package/esm2022/common/siemens-ix-angular-common.mjs +5 -0
- package/esm2022/common/utils/create-value-accessor-provider.mjs +17 -0
- package/esm2022/components.mjs +2809 -0
- package/esm2022/declare-components.mjs +106 -0
- package/esm2022/directives/control-value-accessors/boolean-value-accessor.mjs +26 -0
- package/esm2022/directives/control-value-accessors/date-value-accessor.mjs +26 -0
- package/esm2022/directives/control-value-accessors/index.mjs +14 -0
- package/esm2022/directives/control-value-accessors/radio-value-accessor.mjs +26 -0
- package/esm2022/directives/control-value-accessors/select-value-accessor.mjs +26 -0
- package/esm2022/directives/control-value-accessors/text-value-accessor.mjs +26 -0
- package/esm2022/directives/dropdown-trigger.mjs +31 -0
- package/esm2022/index.mjs +19 -0
- package/esm2022/ix-icon.mjs +40 -0
- package/esm2022/module.mjs +78 -0
- package/esm2022/providers/modal/index.mjs +11 -0
- package/esm2022/providers/modal/modal.service.mjs +28 -0
- package/esm2022/providers/theme/index.mjs +10 -0
- package/esm2022/providers/theme/theme.service.mjs +40 -0
- package/esm2022/providers/toast/index.mjs +2 -0
- package/esm2022/providers/toast/toast.service.mjs +52 -0
- package/esm2022/siemens-ix-angular.mjs +5 -0
- package/esm2022/standalone/angular-component-lib/utils.mjs +59 -0
- package/esm2022/standalone/components.mjs +3126 -0
- package/esm2022/standalone/directives/control-value-accessors/boolean-value-accessor.mjs +30 -0
- package/esm2022/standalone/directives/control-value-accessors/date-value-accessor.mjs +30 -0
- package/esm2022/standalone/directives/control-value-accessors/index.mjs +14 -0
- package/esm2022/standalone/directives/control-value-accessors/radio-value-accessor.mjs +30 -0
- package/esm2022/standalone/directives/control-value-accessors/select-value-accessor.mjs +30 -0
- package/esm2022/standalone/directives/control-value-accessors/text-value-accessor.mjs +30 -0
- package/esm2022/standalone/directives/dropdown-trigger.mjs +32 -0
- package/esm2022/standalone/index.mjs +18 -0
- package/esm2022/standalone/internal-components.mjs +19 -0
- package/esm2022/standalone/ix-icon.mjs +44 -0
- package/esm2022/standalone/providers/modal.mjs +28 -0
- package/esm2022/standalone/providers/toast.mjs +35 -0
- package/esm2022/standalone/siemens-ix-angular-standalone.mjs +5 -0
- package/esm2022/standalone/tree.mjs +41 -0
- package/esm2022/standalone/utils/value-accessor-directives.mjs +23 -0
- package/esm2022/tree.mjs +39 -0
- package/esm2022/utils/app-initialize.mjs +25 -0
- package/fesm2022/siemens-ix-angular-common.mjs +633 -0
- package/fesm2022/siemens-ix-angular-common.mjs.map +1 -0
- package/fesm2022/siemens-ix-angular-standalone.mjs +3418 -0
- package/fesm2022/siemens-ix-angular-standalone.mjs.map +1 -0
- package/fesm2022/siemens-ix-angular.mjs +3307 -0
- package/fesm2022/siemens-ix-angular.mjs.map +1 -0
- package/index.d.ts +10 -0
- package/ix-icon.d.ts +12 -0
- package/module.d.ts +17 -0
- package/package.json +1 -6
- package/providers/modal/index.d.ts +2 -0
- package/providers/modal/modal.service.d.ts +15 -0
- package/providers/theme/index.d.ts +1 -0
- package/providers/theme/theme.service.d.ts +15 -0
- package/providers/toast/index.d.ts +2 -0
- package/providers/toast/toast.service.d.ts +9 -0
- package/standalone/angular-component-lib/utils.d.ts +9 -0
- package/standalone/components.d.ts +1342 -0
- package/standalone/directives/control-value-accessors/boolean-value-accessor.d.ts +11 -0
- package/standalone/directives/control-value-accessors/date-value-accessor.d.ts +11 -0
- package/standalone/directives/control-value-accessors/index.d.ts +5 -0
- package/standalone/directives/control-value-accessors/radio-value-accessor.d.ts +11 -0
- package/standalone/directives/control-value-accessors/select-value-accessor.d.ts +11 -0
- package/standalone/directives/control-value-accessors/text-value-accessor.d.ts +11 -0
- package/standalone/directives/dropdown-trigger.d.ts +10 -0
- package/standalone/index.d.ts +9 -0
- package/standalone/internal-components.d.ts +1 -0
- package/standalone/ix-icon.d.ts +9 -0
- package/standalone/providers/modal.d.ts +11 -0
- package/standalone/providers/toast.d.ts +11 -0
- package/standalone/tree.d.ts +9 -0
- package/standalone/utils/value-accessor-directives.d.ts +16 -0
- package/tree.d.ts +9 -0
- package/utils/app-initialize.d.ts +1 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2024 Siemens AG
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
import { Injectable } from '@angular/core';
|
|
10
|
+
import { getToastContainer, toast, } from '@siemens/ix';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export class ToastService {
|
|
13
|
+
setPosition(position) {
|
|
14
|
+
getToastContainer().position = position;
|
|
15
|
+
}
|
|
16
|
+
getPosition() {
|
|
17
|
+
return getToastContainer().position;
|
|
18
|
+
}
|
|
19
|
+
async show(config) {
|
|
20
|
+
if (typeof config.message === 'string') {
|
|
21
|
+
return toast(config);
|
|
22
|
+
}
|
|
23
|
+
const context = {
|
|
24
|
+
close: null,
|
|
25
|
+
};
|
|
26
|
+
const embeddedView = config.message.createEmbeddedView({
|
|
27
|
+
$implicit: context,
|
|
28
|
+
});
|
|
29
|
+
const node = embeddedView.rootNodes[0];
|
|
30
|
+
const instance = await toast({
|
|
31
|
+
...config,
|
|
32
|
+
message: node,
|
|
33
|
+
});
|
|
34
|
+
context.close = () => {
|
|
35
|
+
instance.close();
|
|
36
|
+
};
|
|
37
|
+
embeddedView.detectChanges();
|
|
38
|
+
instance.onClose.once(() => {
|
|
39
|
+
embeddedView.destroy();
|
|
40
|
+
});
|
|
41
|
+
return instance;
|
|
42
|
+
}
|
|
43
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
44
|
+
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, providedIn: 'root' });
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, decorators: [{
|
|
47
|
+
type: Injectable,
|
|
48
|
+
args: [{
|
|
49
|
+
providedIn: 'root',
|
|
50
|
+
}]
|
|
51
|
+
}] });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvdG9hc3QvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLEtBQUssR0FFTixNQUFNLGFBQWEsQ0FBQzs7QUFNckIsTUFBTSxPQUFPLFlBQVk7SUFDdkIsV0FBVyxDQUFDLFFBQXNDO1FBQ2hELGlCQUFpQixFQUFFLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8saUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBbUI7UUFDNUIsSUFBSSxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdkMsT0FBTyxLQUFLLENBQUMsTUFBdUIsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FFVDtZQUNGLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7WUFDckQsU0FBUyxFQUFFLE9BQU87U0FDbkIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQWdCLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUM7WUFDM0IsR0FBRyxNQUFNO1lBQ1QsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRTtZQUNuQixRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDO1FBRUYsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTdCLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN6QixZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzJIQXpDVSxZQUFZOytIQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDI0IFNpZW1lbnMgQUdcbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0VG9hc3RDb250YWluZXIsXG4gIHRvYXN0LFxuICBUb2FzdENvbmZpZyBhcyBJeFRvYXN0Q29uZmlnLFxufSBmcm9tICdAc2llbWVucy9peCc7XG5pbXBvcnQgeyBUb2FzdENvbmZpZyB9IGZyb20gJ0BzaWVtZW5zL2l4LWFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XG4gIHNldFBvc2l0aW9uKHBvc2l0aW9uOiAnYm90dG9tLXJpZ2h0JyB8ICd0b3AtcmlnaHQnKSB7XG4gICAgZ2V0VG9hc3RDb250YWluZXIoKS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICB9XG5cbiAgZ2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIGdldFRvYXN0Q29udGFpbmVyKCkucG9zaXRpb247XG4gIH1cblxuICBhc3luYyBzaG93KGNvbmZpZzogVG9hc3RDb25maWcpIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5tZXNzYWdlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRvYXN0KGNvbmZpZyBhcyBJeFRvYXN0Q29uZmlnKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZXh0OiB7XG4gICAgICBjbG9zZTogKCgpID0+IHZvaWQpIHwgbnVsbDtcbiAgICB9ID0ge1xuICAgICAgY2xvc2U6IG51bGwsXG4gICAgfTtcblxuICAgIGNvbnN0IGVtYmVkZGVkVmlldyA9IGNvbmZpZy5tZXNzYWdlLmNyZWF0ZUVtYmVkZGVkVmlldyh7XG4gICAgICAkaW1wbGljaXQ6IGNvbnRleHQsXG4gICAgfSk7XG5cbiAgICBjb25zdCBub2RlOiBIVE1MRWxlbWVudCA9IGVtYmVkZGVkVmlldy5yb290Tm9kZXNbMF07XG4gICAgY29uc3QgaW5zdGFuY2UgPSBhd2FpdCB0b2FzdCh7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBtZXNzYWdlOiBub2RlLFxuICAgIH0pO1xuXG4gICAgY29udGV4dC5jbG9zZSA9ICgpID0+IHtcbiAgICAgIGluc3RhbmNlLmNsb3NlKCk7XG4gICAgfTtcblxuICAgIGVtYmVkZGVkVmlldy5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpbnN0YW5jZS5vbkNsb3NlLm9uY2UoKCkgPT4ge1xuICAgICAgZW1iZWRkZWRWaWV3LmRlc3Ryb3koKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2llbWVucy1peC1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpZW1lbnMtaXgtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
import { fromEvent } from 'rxjs';
|
|
4
|
+
export const proxyInputs = (Cmp, inputs) => {
|
|
5
|
+
const Prototype = Cmp.prototype;
|
|
6
|
+
inputs.forEach((item) => {
|
|
7
|
+
Object.defineProperty(Prototype, item, {
|
|
8
|
+
get() {
|
|
9
|
+
return this.el[item];
|
|
10
|
+
},
|
|
11
|
+
set(val) {
|
|
12
|
+
this.z.runOutsideAngular(() => (this.el[item] = val));
|
|
13
|
+
},
|
|
14
|
+
/**
|
|
15
|
+
* In the event that proxyInputs is called
|
|
16
|
+
* multiple times re-defining these inputs
|
|
17
|
+
* will cause an error to be thrown. As a result
|
|
18
|
+
* we set configurable: true to indicate these
|
|
19
|
+
* properties can be changed.
|
|
20
|
+
*/
|
|
21
|
+
configurable: true,
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
export const proxyMethods = (Cmp, methods) => {
|
|
26
|
+
const Prototype = Cmp.prototype;
|
|
27
|
+
methods.forEach((methodName) => {
|
|
28
|
+
Prototype[methodName] = function () {
|
|
29
|
+
const args = arguments;
|
|
30
|
+
return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
export const proxyOutputs = (instance, el, events) => {
|
|
35
|
+
events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));
|
|
36
|
+
};
|
|
37
|
+
export const defineCustomElement = (tagName, customElement) => {
|
|
38
|
+
if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {
|
|
39
|
+
customElements.define(tagName, customElement);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
// tslint:disable-next-line: only-arrow-functions
|
|
43
|
+
export function ProxyCmp(opts) {
|
|
44
|
+
const decorator = function (cls) {
|
|
45
|
+
const { defineCustomElementFn, inputs, methods } = opts;
|
|
46
|
+
if (defineCustomElementFn !== undefined) {
|
|
47
|
+
defineCustomElementFn();
|
|
48
|
+
}
|
|
49
|
+
if (inputs) {
|
|
50
|
+
proxyInputs(cls, inputs);
|
|
51
|
+
}
|
|
52
|
+
if (methods) {
|
|
53
|
+
proxyMethods(cls, methods);
|
|
54
|
+
}
|
|
55
|
+
return cls;
|
|
56
|
+
};
|
|
57
|
+
return decorator;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zdGFuZGFsb25lL3NyYy9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVEsRUFBRSxNQUFnQixFQUFFLEVBQUU7SUFDeEQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztJQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDdEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFO1lBQ3JDLEdBQUc7Z0JBQ0QsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxHQUFHLENBQUMsR0FBUTtnQkFDVixJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFDRDs7Ozs7O2VBTUc7WUFDSCxZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQVEsRUFBRSxPQUFpQixFQUFFLEVBQUU7SUFDMUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztJQUNoQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDN0IsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsUUFBYSxFQUFFLEVBQU8sRUFBRSxNQUFnQixFQUFFLEVBQUU7SUFDdkUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxPQUFlLEVBQUUsYUFBa0IsRUFBRSxFQUFFO0lBQ3pFLElBQUksYUFBYSxLQUFLLFNBQVMsSUFBSSxPQUFPLGNBQWMsS0FBSyxXQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDekcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEQsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLGlEQUFpRDtBQUNqRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQXlFO0lBQ2hHLE1BQU0sU0FBUyxHQUFHLFVBQVUsR0FBUTtRQUNsQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztRQUV4RCxJQUFJLHFCQUFxQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLHFCQUFxQixFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUVELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxXQUFXLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7SUFDRixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cbi8qIHRzbGludDpkaXNhYmxlICovXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IHByb3h5SW5wdXRzID0gKENtcDogYW55LCBpbnB1dHM6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IFByb3RvdHlwZSA9IENtcC5wcm90b3R5cGU7XG4gIGlucHV0cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFByb3RvdHlwZSwgaXRlbSwge1xuICAgICAgZ2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbFtpdGVtXTtcbiAgICAgIH0sXG4gICAgICBzZXQodmFsOiBhbnkpIHtcbiAgICAgICAgdGhpcy56LnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+ICh0aGlzLmVsW2l0ZW1dID0gdmFsKSk7XG4gICAgICB9LFxuICAgICAgLyoqXG4gICAgICAgKiBJbiB0aGUgZXZlbnQgdGhhdCBwcm94eUlucHV0cyBpcyBjYWxsZWRcbiAgICAgICAqIG11bHRpcGxlIHRpbWVzIHJlLWRlZmluaW5nIHRoZXNlIGlucHV0c1xuICAgICAgICogd2lsbCBjYXVzZSBhbiBlcnJvciB0byBiZSB0aHJvd24uIEFzIGEgcmVzdWx0XG4gICAgICAgKiB3ZSBzZXQgY29uZmlndXJhYmxlOiB0cnVlIHRvIGluZGljYXRlIHRoZXNlXG4gICAgICAgKiBwcm9wZXJ0aWVzIGNhbiBiZSBjaGFuZ2VkLlxuICAgICAgICovXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHByb3h5TWV0aG9kcyA9IChDbXA6IGFueSwgbWV0aG9kczogc3RyaW5nW10pID0+IHtcbiAgY29uc3QgUHJvdG90eXBlID0gQ21wLnByb3RvdHlwZTtcbiAgbWV0aG9kcy5mb3JFYWNoKChtZXRob2ROYW1lKSA9PiB7XG4gICAgUHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYXJncyA9IGFyZ3VtZW50cztcbiAgICAgIHJldHVybiB0aGlzLnoucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gdGhpcy5lbFttZXRob2ROYW1lXS5hcHBseSh0aGlzLmVsLCBhcmdzKSk7XG4gICAgfTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcHJveHlPdXRwdXRzID0gKGluc3RhbmNlOiBhbnksIGVsOiBhbnksIGV2ZW50czogc3RyaW5nW10pID0+IHtcbiAgZXZlbnRzLmZvckVhY2goKGV2ZW50TmFtZSkgPT4gKGluc3RhbmNlW2V2ZW50TmFtZV0gPSBmcm9tRXZlbnQoZWwsIGV2ZW50TmFtZSkpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVDdXN0b21FbGVtZW50ID0gKHRhZ05hbWU6IHN0cmluZywgY3VzdG9tRWxlbWVudDogYW55KSA9PiB7XG4gIGlmIChjdXN0b21FbGVtZW50ICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGN1c3RvbUVsZW1lbnRzICE9PSAndW5kZWZpbmVkJyAmJiAhY3VzdG9tRWxlbWVudHMuZ2V0KHRhZ05hbWUpKSB7XG4gICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKHRhZ05hbWUsIGN1c3RvbUVsZW1lbnQpO1xuICB9XG59O1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG9ubHktYXJyb3ctZnVuY3Rpb25zXG5leHBvcnQgZnVuY3Rpb24gUHJveHlDbXAob3B0czogeyBkZWZpbmVDdXN0b21FbGVtZW50Rm4/OiAoKSA9PiB2b2lkOyBpbnB1dHM/OiBhbnk7IG1ldGhvZHM/OiBhbnkgfSkge1xuICBjb25zdCBkZWNvcmF0b3IgPSBmdW5jdGlvbiAoY2xzOiBhbnkpIHtcbiAgICBjb25zdCB7IGRlZmluZUN1c3RvbUVsZW1lbnRGbiwgaW5wdXRzLCBtZXRob2RzIH0gPSBvcHRzO1xuXG4gICAgaWYgKGRlZmluZUN1c3RvbUVsZW1lbnRGbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZWZpbmVDdXN0b21FbGVtZW50Rm4oKTtcbiAgICB9XG5cbiAgICBpZiAoaW5wdXRzKSB7XG4gICAgICBwcm94eUlucHV0cyhjbHMsIGlucHV0cyk7XG4gICAgfVxuICAgIGlmIChtZXRob2RzKSB7XG4gICAgICBwcm94eU1ldGhvZHMoY2xzLCBtZXRob2RzKTtcbiAgICB9XG4gICAgcmV0dXJuIGNscztcbiAgfTtcbiAgcmV0dXJuIGRlY29yYXRvcjtcbn1cbiJdfQ==
|