@c8y/ngx-components 1021.29.4 → 1021.31.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/device-profile/device-profile.component.d.ts.map +1 -1
- package/device-profile/device-profile.model.d.ts +3 -0
- package/device-profile/device-profile.model.d.ts.map +1 -1
- package/device-profile/device-profile.service.d.ts +1 -1
- package/device-profile/device-profile.service.d.ts.map +1 -1
- package/device-profile/device-tab-profile/device-tab-profile.component.d.ts +2 -1
- package/device-profile/device-tab-profile/device-tab-profile.component.d.ts.map +1 -1
- package/esm2022/core/i18n/translation-loader.service.mjs +2 -2
- package/esm2022/device-profile/device-profile.component.mjs +4 -3
- package/esm2022/device-profile/device-profile.model.mjs +1 -1
- package/esm2022/device-profile/device-profile.service.mjs +17 -16
- package/esm2022/device-profile/device-tab-profile/device-profile-item-list.component.mjs +3 -3
- package/esm2022/device-profile/device-tab-profile/device-tab-profile.component.mjs +20 -4
- package/esm2022/repository/shared/repository.model.mjs +1 -1
- package/esm2022/widgets/implementations/alarms/alarm-widget.service.mjs +2 -2
- package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.mjs +2 -2
- package/esm2022/widgets/implementations/kpi/kpi-widget-config/kpi-widget-config.component.mjs +2 -2
- package/esm2022/widgets/implementations/linear-gauge/linear-gauge-widget-config/linear-gauge-widget-config.component.mjs +2 -2
- package/fesm2022/c8y-ngx-components-device-profile.mjs +38 -20
- package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +1 -1
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +1 -1
- package/locales/es.po +1 -1
- package/locales/fr.po +1 -1
- package/locales/nl.po +1 -1
- package/locales/pl.po +1 -1
- package/locales/pt_BR.po +1 -1
- package/package.json +1 -1
- package/repository/shared/repository.model.d.ts +1 -0
- package/repository/shared/repository.model.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-profile.component.d.ts","sourceRoot":"","sources":["../../device-profile/device-profile.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,MAAM,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,aAAa,CAAC;AAC5E,OAAO,EACL,YAAY,
|
|
1
|
+
{"version":3,"file":"device-profile.component.d.ts","sourceRoot":"","sources":["../../device-profile/device-profile.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,MAAM,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,aAAa,CAAC;AAC5E,OAAO,EACL,YAAY,EAIZ,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EAEd,iBAAiB,EACjB,cAAc,EACf,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEnD,OAAO,EACL,aAAa,EAKd,MAAM,wBAAwB,CAAC;;AAGhC,qBAUa,sBAAuB,YAAW,MAAM,EAAE,4BAA4B;IAmB/E,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,iBAAiB;IAtB3B,mBAAmB,iJAEjB;IACF,4BAA4B,2KAE1B;IACF,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAqC;IACvD,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,sBAAsB,CAK5C;IACF,OAAO,CAAC,WAAW,CAAc;gBAGvB,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,iBAAiB;IAKxC,QAAQ;IAcd,WAAW;IAkDX,iCAAiC,CAC/B,WAAW,EAAE,eAAe,CAAC,cAAc,CAAC,EAC5C,QAAQ,EAAE,cAAc;IAkB1B,8BAA8B,CAAC,GAAG,EAAE,cAAc,EAAE;IAOpD,gBAAgB;IAuChB,WAAW;IAuDX,IAAI,oBAAoB,YASvB;IAED,UAAU,CAAC,WAAW,KAAA,EAAE,QAAQ,KAAA;IAWhC,cAAc;IAKR,mBAAmB,CAAC,oBAAoB,KAAA;YAehC,gBAAgB;IAS9B,OAAO,CAAC,kBAAkB;yCAxQf,sBAAsB;2CAAtB,sBAAsB;CA6RlC"}
|
|
@@ -20,6 +20,7 @@ export interface DeviceProfileFirmware {
|
|
|
20
20
|
}
|
|
21
21
|
export interface DeviceProfileSoftware {
|
|
22
22
|
name: string;
|
|
23
|
+
softwareType: string;
|
|
23
24
|
version: string;
|
|
24
25
|
url: string;
|
|
25
26
|
action: string;
|
|
@@ -33,11 +34,13 @@ export interface ComparisonResult {
|
|
|
33
34
|
profile: {
|
|
34
35
|
itemName: string;
|
|
35
36
|
itemDetails?: string;
|
|
37
|
+
itemType?: string;
|
|
36
38
|
itemUrl: string;
|
|
37
39
|
};
|
|
38
40
|
device: {
|
|
39
41
|
itemName: string;
|
|
40
42
|
itemDetails?: string;
|
|
43
|
+
itemType?: string;
|
|
41
44
|
itemUrl: string;
|
|
42
45
|
};
|
|
43
46
|
comparisonAlert?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-profile.model.d.ts","sourceRoot":"","sources":["../../device-profile/device-profile.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,aAAc,SAAQ,OAAO,CAAC,cAAc,CAAC;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,iBAAiB,EAAE;QACjB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;QACjC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;QACnC,aAAa,CAAC,EAAE,0BAA0B,EAAE,CAAC;KAC9C,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,oBAAY,sBAAsB;IAChC,aAAa,sBAAsB;CACpC;AAED,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"device-profile.model.d.ts","sourceRoot":"","sources":["../../device-profile/device-profile.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,aAAc,SAAQ,OAAO,CAAC,cAAc,CAAC;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,iBAAiB,EAAE;QACjB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;QACjC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;QACnC,aAAa,CAAC,EAAE,0BAA0B,EAAE,CAAC;KAC9C,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,oBAAY,sBAAsB;IAChC,aAAa,sBAAsB;CACpC;AAED,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BpC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IManagedObject, InventoryService, IOperation, IResultList, OperationService } from '@c8y/client';
|
|
2
|
-
import { DeviceProfile, ComparisonResult } from './device-profile.model';
|
|
3
2
|
import { AlertService } from '@c8y/ngx-components';
|
|
3
|
+
import { ComparisonResult, DeviceProfile } from './device-profile.model';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class DeviceProfileService {
|
|
6
6
|
private inventoryService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-profile.service.d.ts","sourceRoot":"","sources":["../../device-profile/device-profile.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,gBAAgB,EAGjB,MAAM,aAAa,CAAC;AACrB,OAAO,
|
|
1
|
+
{"version":3,"file":"device-profile.service.d.ts","sourceRoot":"","sources":["../../device-profile/device-profile.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,gBAAgB,EAGjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAW,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EACL,gBAAgB,EAChB,aAAa,EAGd,MAAM,wBAAwB,CAAC;;AAEhC,qBACa,oBAAoB;IAY7B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY;IAbtB,QAAQ,CAAC,QAAQ,OAAe;IAChC,QAAQ,CAAC,MAAM,OAAmC;IAClD,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,qBAAqB,CAA0C;IACvE,OAAO,CAAC,yBAAyB,CAA+B;IAChE,OAAO,CAAC,gBAAgB,CAEtB;gBAGQ,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY;IAKpC,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC;IAOzD,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAWvF,iBAAiB,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAYjE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAc7C,sBAAsB,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC;IAkB1F,gBAAgB,CACd,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,GACtC,gBAAgB,EAAE;IAsBrB,gBAAgB,CACd,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,GACtC,gBAAgB,EAAE;IAarB,qBAAqB,CACnB,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,GACtC,gBAAgB,EAAE;IAkBrB,OAAO,CAAC,QAAQ;IA6BhB,OAAO,CAAC,uBAAuB;IAyB/B,OAAO,CAAC,sCAAsC;IA0B9C,OAAO,CAAC,uCAAuC;yCA/NpC,oBAAoB;6CAApB,oBAAoB;CA2PhC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { ActivatedRoute } from '@angular/router';
|
|
3
3
|
import { IManagedObject, IOperation, IResultList } from '@c8y/client';
|
|
4
|
-
import { AlertService, ManagedObjectRealtimeService, OperationRealtimeService, ProductExperienceEvent, ProductExperienceEventSource
|
|
4
|
+
import { AlertService, ForOfFilterPipe, ManagedObjectRealtimeService, OperationRealtimeService, ProductExperienceEvent, ProductExperienceEventSource } from '@c8y/ngx-components';
|
|
5
5
|
import { ComparisonResult, DeviceProfile } from '../device-profile.model';
|
|
6
6
|
import { DeviceProfileService } from '../device-profile.service';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
@@ -63,6 +63,7 @@ export declare class DeviceTabProfileComponent implements OnInit, OnDestroy, Pro
|
|
|
63
63
|
updateProfileItems(device: any, profile: any): void;
|
|
64
64
|
private subscribeToManagedObjects;
|
|
65
65
|
private subscribeToOperations;
|
|
66
|
+
private toProfileForDevice;
|
|
66
67
|
static ɵfac: i0.ɵɵFactoryDeclaration<DeviceTabProfileComponent, never>;
|
|
67
68
|
static ɵcmp: i0.ɵɵComponentDeclaration<DeviceTabProfileComponent, "c8y-device-tab-profile", never, {}, {}, never, never, false, never>;
|
|
68
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-tab-profile.component.d.ts","sourceRoot":"","sources":["../../../device-profile/device-tab-profile/device-tab-profile.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,YAAY,
|
|
1
|
+
{"version":3,"file":"device-tab-profile.component.d.ts","sourceRoot":"","sources":["../../../device-profile/device-tab-profile/device-tab-profile.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,YAAY,EACZ,eAAe,EAEf,4BAA4B,EAC5B,wBAAwB,EAExB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,gBAAgB,EAChB,aAAa,EAEd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;;AAEjE,qBAWa,yBAA0B,YAAW,MAAM,EAAE,SAAS,EAAE,4BAA4B;IAwBtF,cAAc,EAAE,4BAA4B;IACnD,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,YAAY;IA3BtB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAqC;IACvD,MAAM,EAAE,cAAc,CAAC;IACvB,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IAC5C,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,SAAS,EAAE,UAAU,CAAC;IACtB,aAAa,EAAE,gBAAgB,EAAE,CAAM;IACvC,aAAa,EAAE,gBAAgB,EAAE,CAAM;IACvC,kBAAkB,EAAE,gBAAgB,EAAE,CAAM;IAE5C,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,SAAM;IACb,SAAS,UAAS;IAClB,sBAAsB,EAAE,sBAAsB,CAK5C;IACF,OAAO,CAAC,sBAAsB,CAAe;IAC7C,OAAO,CAAC,sBAAsB,CAAe;IAC7C,OAAO,CAAC,sBAAsB,CAAe;gBAGpC,cAAc,EAAE,4BAA4B,EAC3C,oBAAoB,EAAE,oBAAoB,EAC1C,KAAK,EAAE,cAAc,EACrB,iBAAiB,EAAE,wBAAwB,EAC3C,YAAY,EAAE,YAAY;IAG9B,QAAQ;IAMR,sCAAsC;IAe5C,aAAa,CAAC,EAAE,EAAE,aAAa;IAKzB,eAAe;IAOrB,OAAO,CAAC,SAAS,EAAE,MAAM;IAWzB,WAAW;IAMX,kBAAkB,CAAC,MAAM,KAAA,EAAE,OAAO,KAAA;IAMlC,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,kBAAkB;yCAnHf,yBAAyB;2CAAzB,yBAAyB;CAqIrC"}
|
|
@@ -34,7 +34,7 @@ export class TranslationLoaderService {
|
|
|
34
34
|
this.translateService.onLangChange
|
|
35
35
|
.pipe(map(event => event.lang), distinctUntilChanged(), switchMap(lang => this.getTranslation(lang).pipe(map(translations => ({ lang, translations })))))
|
|
36
36
|
.subscribe(({ lang, translations }) => {
|
|
37
|
-
this.translateService.setTranslation(lang, translations,
|
|
37
|
+
this.translateService.setTranslation(lang, translations, true);
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
getTranslation(lang) {
|
|
@@ -129,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
129
129
|
type: Inject,
|
|
130
130
|
args: [LANGUAGES]
|
|
131
131
|
}] }] });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2kxOG4vdHJhbnNsYXRpb24tbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBRW5FOzs7Ozs7O0dBT0c7QUFJSCxNQUFNLE9BQU8sd0JBQXdCO0lBSW5DLFlBQ1UsY0FBOEIsRUFDOUIsNkJBQTRELEVBQzVELHFCQUE0QyxFQUM1QyxnQkFBa0MsRUFDYixPQUFlLElBQUksRUFDckIsWUFBd0QsSUFBSTtRQUwvRSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQUM1RCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FB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QUMsRUFBRSxDQUFDO2dCQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDNUQsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqQyxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzhHQTdIVSx3QkFBd0Isa0tBU3pCLFdBQVcsYUFDWCxTQUFTO2tIQVZSLHdCQUF3QixjQUZ2QixNQUFNOzsyRkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IENhY2hlZExvY2FsZURpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi9jYWNoZWQtbG9jYWxlLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBQbHVnaW5zUmVzb2x2ZVNlcnZpY2UgfSBmcm9tICcuLi9wbHVnaW5zJztcbmltcG9ydCB7IExPQ0FMRV9QQVRIIH0gZnJvbSAnLi9sb2NhbGUucGF0aCc7XG5pbXBvcnQgeyBMQU5HVUFHRVMgfSBmcm9tICcuL2xhbmd1YWdlcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRlZmVyLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgZ2V0RGljdGlvbmFyeVdpdGhUcmltbWVkS2V5cyB9IGZyb20gJy4vdHJhbnNsYXRpb24tdXRpbHMnO1xuXG4vKipcbiAqIEEgc2VydmljZSB0byBsb2FkIHRyYW5zbGF0aW9ucyBmcm9tIGRpZmZlcmVudCBzb3VyY2VzLlxuICogSXQgY29tYmluZXMgdHJhbnNsYXRpb25zIGZyb20gdGhlIGFwcCwgdXNlci1kZWZpbmVkIHRyYW5zbGF0aW9ucywgYW5kIHBsdWdpbnMuXG4gKiBJdCBhbHNvIGNhY2hlcyB0cmFuc2xhdGlvbnMgdG8gYXZvaWQgdW5uZWNlc3NhcnkgcmVxdWVzdHMuXG4gKlxuICogSXMgdXNlZCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IFRyYW5zbGF0ZUxvYWRlciBmdW5jdGlvbmFsaXR5IHRoYXQgbmd4LXRyYW5zbGF0ZSBwcm92aWRlcyBhcyBvdGhlcndpc2Ugb25seSB0aGUgZmlyc3QgdHJhbnNsYXRpb25zIGZyb20gVHJhbnNsYXRlTG9hZGVyIG9ic2VydmFibGUgd291bGQgaGF2ZSBiZWVuIHBpY2tlZCB1cC5cbiAqIFRoaXMgd291bGQgaGF2ZSBiZWVuIHByb2JsZW1hdGljLCBhcyB3ZSBjYW4gb25seSBsb2FkIHRoZSBwbHVnaW4gdHJhbnNsYXRpb25zIGFmdGVyIHRoZSBsb2dpbiBhbmQgd2UgbmVlZCB0byBoYXZlIGF0IGxlYXN0IHRoZSBiYXNpYyB0cmFuc2xhdGlvbnMgYWxyZWFkeSBvbiB0aGUgbG9naW4gc2NyZWVuLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbkxvYWRlclNlcnZpY2Uge1xuICBwcml2YXRlIGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfT4+KCk7XG4gIHByaXZhdGUgcmVsb2FkVHJpZ2dlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FjaGVkTG9jYWxlRGljdGlvbmFyeVNlcnZpY2U6IENhY2hlZExvY2FsZURpY3Rpb25hcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGx1Z2luUmVzb2x2ZXJTZXJ2aWNlOiBQbHVnaW5zUmVzb2x2ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIEBJbmplY3QoTE9DQUxFX1BBVEgpIHByaXZhdGUgcGF0aDogc3RyaW5nID0gbnVsbCxcbiAgICBASW5qZWN0KExBTkdVQUdFUykgcHJpdmF0ZSBsYW5ndWFnZXM6IHsgW2tleTogc3RyaW5nXTogeyB1cmw/OiBzdHJpbmcgfSB9IHwgbnVsbCA9IG51bGxcbiAgKSB7XG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChldmVudCA9PiBldmVudC5sYW5nKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc3dpdGNoTWFwKGxhbmcgPT5cbiAgICAgICAgICB0aGlzLmdldFRyYW5zbGF0aW9uKGxhbmcpLnBpcGUobWFwKHRyYW5zbGF0aW9ucyA9PiAoeyBsYW5nLCB0cmFuc2xhdGlvbnMgfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh7IGxhbmcsIHRyYW5zbGF0aW9ucyB9KSA9PiB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbihsYW5nLCB0cmFuc2xhdGlvbnMsIGZhbHNlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0VHJhbnNsYXRpb24obGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PiB7XG4gICAgY29uc3QgdHJhbnNsYXRpb25zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgZGVmZXIoKCkgPT4gdGhpcy5nZXRUcmFuc2xhdGlvbnNGcm9tQXBwKGxhbmcpKSxcbiAgICAgIGRlZmVyKCgpID0+IHRoaXMuZ2V0VXNlckRlZmluZWRUcmFuc2xhdGlvbnMobGFuZykpLFxuICAgICAgZGVmZXIoKCkgPT4gdGhpcy5vcHRpb25zU2VydmljZS5nZXQkKCdsYW5nc0RldGFpbHMnLCB7fSkpLFxuICAgICAgZGVmZXIoKCkgPT4gdGhpcy5nZXRUcmFuc2xhdGlvbnNGb3JQdWdpbnMobGFuZykpXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2FwcFRyYW5zbGF0aW9ucywgdXNlckRlZmluZWRUcmFuc2xhdGlvbnMsIGxhbmdzRGV0YWlscywgcGx1Z2luVHJhbnNsYXRpb25zXSkgPT4ge1xuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbnNGcm9tQnJhbmRpbmcgPSAobGFuZ3NEZXRhaWxzICYmIGxhbmdzRGV0YWlsc1tsYW5nXSkgfHwge307XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYXBwVHJhbnNsYXRpb25zLFxuICAgICAgICAgIC4uLnBsdWdpblRyYW5zbGF0aW9ucyxcbiAgICAgICAgICAuLi50cmFuc2xhdGlvbnNGcm9tQnJhbmRpbmcsXG4gICAgICAgICAgLi4udXNlckRlZmluZWRUcmFuc2xhdGlvbnNcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICAgdGFwKGRpY3Rpb25hcnkgPT4ge1xuICAgICAgICB0aGlzLmNhY2hlZExvY2FsZURpY3Rpb25hcnlTZXJ2aWNlLmNhY2hlZERpY3Rpb25hcnlbbGFuZ10gPSBkaWN0aW9uYXJ5O1xuICAgICAgfSksXG4gICAgICBtYXAoZGljdGlvbmFyeSA9PiBnZXREaWN0aW9uYXJ5V2l0aFRyaW1tZWRLZXlzKGRpY3Rpb25hcnkpKSxcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2Yoe30pKVxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5yZWxvYWRUcmlnZ2VyJC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0cmFuc2xhdGlvbnMkKSk7XG4gIH1cblxuICB0cmlnZ2VyUmVsb2FkKCkge1xuICAgIHRoaXMuY2xlYXJDYWNoZSgpO1xuICAgIHRoaXMucmVsb2FkVHJpZ2dlciQubmV4dCgpO1xuICB9XG5cbiAgY2xlYXJDYWNoZSgpIHtcbiAgICB0aGlzLmNhY2hlLmNsZWFyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VHJhbnNsYXRpb25zRm9yUHVnaW5zKGxhbmc6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnBsdWdpblJlc29sdmVyU2VydmljZS5jb250ZXh0UGF0aHNGcm9tV2hlcmVSZW1vdGVzSGF2ZUJlZW5Mb2FkZWQkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAocGx1Z2lucyA9PiB7XG4gICAgICAgIC8vIG5vIG5lZWQgdG8gbG9hZCB0cmFuc2xhdGlvbnMgZm9yIHNlbGYgc2NvcGVkIHBsdWdpbnNcbiAgICAgICAgcGx1Z2lucyA9IHBsdWdpbnMuZmlsdGVyKHBsdWdpbiA9PiBwbHVnaW4gIT09IHRoaXMub3B0aW9uc1NlcnZpY2UuY29udGV4dFBhdGgpO1xuICAgICAgICBpZiAoIXBsdWdpbnMubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChcbiAgICAgICAgICBwbHVnaW5zLm1hcChwbHVnaW4gPT4gdGhpcy5nZXRUcmFuc2xhdGlvbnNGb3JQbHVnaW4obGFuZywgcGx1Z2luKSlcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgIG1hcCh0cmFuc2xhdGlvbnMgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9ucy5yZWR1Y2UoKGFjYywgdHJhbnNsYXRpb24pID0+ICh7IC4uLmFjYywgLi4udHJhbnNsYXRpb24gfSksIHt9KTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFRyYW5zbGF0aW9uc0ZvclBsdWdpbihsYW5nOiBzdHJpbmcsIHBsdWdpbklkOiBzdHJpbmcpIHtcbiAgICBjb25zdCB1cmwgPSBgL2FwcHMvJHtwbHVnaW5JZH0vJHtsYW5nfS5qc29uYDtcbiAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2xhdGlvbkZyb21QYXRoKHVybCwgbGFuZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VHJhbnNsYXRpb25zRnJvbUFwcChsYW5nOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXRoID0gdGhpcy5wYXRoIHx8ICcnO1xuICAgIGxldCB1cmwgPSBgJHtwYXRofSR7bGFuZ30uanNvbmA7XG4gICAgaWYgKHRoaXMubGFuZ3VhZ2VzICYmIHRoaXMubGFuZ3VhZ2VzW2xhbmddICYmIHRoaXMubGFuZ3VhZ2VzW2xhbmddLnVybCkge1xuICAgICAgdXJsID0gdGhpcy5sYW5ndWFnZXNbbGFuZ10udXJsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uRnJvbVBhdGgodXJsLCBsYW5nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRVc2VyRGVmaW5lZFRyYW5zbGF0aW9ucyhsYW5nOiBzdHJpbmcpIHtcbiAgICBjb25zdCB1cmwgPSBgL2FwcHMvcHVibGljL3VzZXItZGVmaW5lZC10cmFuc2xhdGlvbnMvJHtsYW5nfS5qc29uYDtcbiAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2xhdGlvbkZyb21QYXRoKHVybCwgbGFuZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VHJhbnNsYXRpb25Gcm9tUGF0aChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgbGFuZzogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfT4ge1xuICAgIGlmICh0aGlzLmNhY2hlLmhhcyhwYXRoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KHBhdGgpO1xuICAgIH1cbiAgICBjb25zdCBvYnNlcnZhYmxlID0gZGVmZXIoYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZmV0Y2hSZXNwb25zZSA9IGF3YWl0IGZldGNoKHBhdGgpO1xuICAgICAgICBpZiAoIWZldGNoUmVzcG9uc2Uub2spIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgcmVzcG9uc2Ugc3RhdHVzOiAke2ZldGNoUmVzcG9uc2Uuc3RhdHVzfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2VCb2R5ID0gYXdhaXQgZmV0Y2hSZXNwb25zZS5qc29uKCk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlQm9keVtsYW5nXSkge1xuICAgICAgICAgIHJldHVybiByZXNwb25zZUJvZHlbbGFuZ107XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBGYWlsZWQgdG8gZmV0Y2ggdHJhbnNsYXRpb25zIGZyb20gJHtwYXRofWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHt9O1xuICAgIH0pLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xuICAgIHRoaXMuY2FjaGUuc2V0KHBhdGgsIG9ic2VydmFibGUpO1xuICAgIHJldHVybiBvYnNlcnZhYmxlO1xuICB9XG59XG4iXX0=
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2kxOG4vdHJhbnNsYXRpb24tbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBRW5FOzs7Ozs7O0dBT0c7QUFJSCxNQUFNLE9BQU8sd0JBQXdCO0lBSW5DLFlBQ1UsY0FBOEIsRUFDOUIsNkJBQTRELEVBQzVELHFCQUE0QyxFQUM1QyxnQkFBa0MsRUFDYixPQUFlLElBQUksRUFDckIsWUFBd0QsSUFBSTtRQUwvRSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQUM1RCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FB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QUMsRUFBRSxDQUFDO2dCQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDNUQsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqQyxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzhHQTdIVSx3QkFBd0Isa0tBU3pCLFdBQVcsYUFDWCxTQUFTO2tIQVZSLHdCQUF3QixjQUZ2QixNQUFNOzsyRkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IENhY2hlZExvY2FsZURpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi9jYWNoZWQtbG9jYWxlLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBQbHVnaW5zUmVzb2x2ZVNlcnZpY2UgfSBmcm9tICcuLi9wbHVnaW5zJztcbmltcG9ydCB7IExPQ0FMRV9QQVRIIH0gZnJvbSAnLi9sb2NhbGUucGF0aCc7XG5pbXBvcnQgeyBMQU5HVUFHRVMgfSBmcm9tICcuL2xhbmd1YWdlcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRlZmVyLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgZ2V0RGljdGlvbmFyeVdpdGhUcmltbWVkS2V5cyB9IGZyb20gJy4vdHJhbnNsYXRpb24tdXRpbHMnO1xuXG4vKipcbiAqIEEgc2VydmljZSB0byBsb2FkIHRyYW5zbGF0aW9ucyBmcm9tIGRpZmZlcmVudCBzb3VyY2VzLlxuICogSXQgY29tYmluZXMgdHJhbnNsYXRpb25zIGZyb20gdGhlIGFwcCwgdXNlci1kZWZpbmVkIHRyYW5zbGF0aW9ucywgYW5kIHBsdWdpbnMuXG4gKiBJdCBhbHNvIGNhY2hlcyB0cmFuc2xhdGlvbnMgdG8gYXZvaWQgdW5uZWNlc3NhcnkgcmVxdWVzdHMuXG4gKlxuICogSXMgdXNlZCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IFRyYW5zbGF0ZUxvYWRlciBmdW5jdGlvbmFsaXR5IHRoYXQgbmd4LXRyYW5zbGF0ZSBwcm92aWRlcyBhcyBvdGhlcndpc2Ugb25seSB0aGUgZmlyc3QgdHJhbnNsYXRpb25zIGZyb20gVHJhbnNsYXRlTG9hZGVyIG9ic2VydmFibGUgd291bGQgaGF2ZSBiZWVuIHBpY2tlZCB1cC5cbiAqIFRoaXMgd291bGQgaGF2ZSBiZWVuIHByb2JsZW1hdGljLCBhcyB3ZSBjYW4gb25seSBsb2FkIHRoZSBwbHVnaW4gdHJhbnNsYXRpb25zIGFmdGVyIHRoZSBsb2dpbiBhbmQgd2UgbmVlZCB0byBoYXZlIGF0IGxlYXN0IHRoZSBiYXNpYyB0cmFuc2xhdGlvbnMgYWxyZWFkeSBvbiB0aGUgbG9naW4gc2NyZWVuLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbkxvYWRlclNlcnZpY2Uge1xuICBwcml2YXRlIGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfT4+KCk7XG4gIHByaXZhdGUgcmVsb2FkVHJpZ2dlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FjaGVkTG9jYWxlRGljdGlvbmFyeVNlcnZpY2U6IENhY2hlZExvY2FsZURpY3Rpb25hcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGx1Z2luUmVzb2x2ZXJTZXJ2aWNlOiBQbHVnaW5zUmVzb2x2ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIEBJbmplY3QoTE9DQUxFX1BBVEgpIHByaXZhdGUgcGF0aDogc3RyaW5nID0gbnVsbCxcbiAgICBASW5qZWN0KExBTkdVQUdFUykgcHJpdmF0ZSBsYW5ndWFnZXM6IHsgW2tleTogc3RyaW5nXTogeyB1cmw/OiBzdHJpbmcgfSB9IHwgbnVsbCA9IG51bGxcbiAgKSB7XG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChldmVudCA9PiBldmVudC5sYW5nKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc3dpdGNoTWFwKGxhbmcgPT5cbiAgICAgICAgICB0aGlzLmdldFRyYW5zbGF0aW9uKGxhbmcpLnBpcGUobWFwKHRyYW5zbGF0aW9ucyA9PiAoeyBsYW5nLCB0cmFuc2xhdGlvbnMgfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh7IGxhbmcsIHRyYW5zbGF0aW9ucyB9KSA9PiB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbihsYW5nLCB0cmFuc2xhdGlvbnMsIHRydWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXRUcmFuc2xhdGlvbihsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0+IHtcbiAgICBjb25zdCB0cmFuc2xhdGlvbnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICBkZWZlcigoKSA9PiB0aGlzLmdldFRyYW5zbGF0aW9uc0Zyb21BcHAobGFuZykpLFxuICAgICAgZGVmZXIoKCkgPT4gdGhpcy5nZXRVc2VyRGVmaW5lZFRyYW5zbGF0aW9ucyhsYW5nKSksXG4gICAgICBkZWZlcigoKSA9PiB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldCQoJ2xhbmdzRGV0YWlscycsIHt9KSksXG4gICAgICBkZWZlcigoKSA9PiB0aGlzLmdldFRyYW5zbGF0aW9uc0ZvclB1Z2lucyhsYW5nKSlcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbYXBwVHJhbnNsYXRpb25zLCB1c2VyRGVmaW5lZFRyYW5zbGF0aW9ucywgbGFuZ3NEZXRhaWxzLCBwbHVnaW5UcmFuc2xhdGlvbnNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uc0Zyb21CcmFuZGluZyA9IChsYW5nc0RldGFpbHMgJiYgbGFuZ3NEZXRhaWxzW2xhbmddKSB8fCB7fTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5hcHBUcmFuc2xhdGlvbnMsXG4gICAgICAgICAgLi4ucGx1Z2luVHJhbnNsYXRpb25zLFxuICAgICAgICAgIC4uLnRyYW5zbGF0aW9uc0Zyb21CcmFuZGluZyxcbiAgICAgICAgICAuLi51c2VyRGVmaW5lZFRyYW5zbGF0aW9uc1xuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgICB0YXAoZGljdGlvbmFyeSA9PiB7XG4gICAgICAgIHRoaXMuY2FjaGVkTG9jYWxlRGljdGlvbmFyeVNlcnZpY2UuY2FjaGVkRGljdGlvbmFyeVtsYW5nXSA9IGRpY3Rpb25hcnk7XG4gICAgICB9KSxcbiAgICAgIG1hcChkaWN0aW9uYXJ5ID0+IGdldERpY3Rpb25hcnlXaXRoVHJpbW1lZEtleXMoZGljdGlvbmFyeSkpLFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZih7fSkpXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLnJlbG9hZFRyaWdnZXIkLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRyYW5zbGF0aW9ucyQpKTtcbiAgfVxuXG4gIHRyaWdnZXJSZWxvYWQoKSB7XG4gICAgdGhpcy5jbGVhckNhY2hlKCk7XG4gICAgdGhpcy5yZWxvYWRUcmlnZ2VyJC5uZXh0KCk7XG4gIH1cblxuICBjbGVhckNhY2hlKCkge1xuICAgIHRoaXMuY2FjaGUuY2xlYXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUcmFuc2xhdGlvbnNGb3JQdWdpbnMobGFuZzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucGx1Z2luUmVzb2x2ZXJTZXJ2aWNlLmNvbnRleHRQYXRoc0Zyb21XaGVyZVJlbW90ZXNIYXZlQmVlbkxvYWRlZCQucGlwZShcbiAgICAgIHN3aXRjaE1hcChwbHVnaW5zID0+IHtcbiAgICAgICAgLy8gbm8gbmVlZCB0byBsb2FkIHRyYW5zbGF0aW9ucyBmb3Igc2VsZiBzY29wZWQgcGx1Z2luc1xuICAgICAgICBwbHVnaW5zID0gcGx1Z2lucy5maWx0ZXIocGx1Z2luID0+IHBsdWdpbiAhPT0gdGhpcy5vcHRpb25zU2VydmljZS5jb250ZXh0UGF0aCk7XG4gICAgICAgIGlmICghcGx1Z2lucy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gb2Yoe30pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgIHBsdWdpbnMubWFwKHBsdWdpbiA9PiB0aGlzLmdldFRyYW5zbGF0aW9uc0ZvclBsdWdpbihsYW5nLCBwbHVnaW4pKVxuICAgICAgICApLnBpcGUoXG4gICAgICAgICAgbWFwKHRyYW5zbGF0aW9ucyA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdHJhbnNsYXRpb25zLnJlZHVjZSgoYWNjLCB0cmFuc2xhdGlvbikgPT4gKHsgLi4uYWNjLCAuLi50cmFuc2xhdGlvbiB9KSwge30pO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VHJhbnNsYXRpb25zRm9yUGx1Z2luKGxhbmc6IHN0cmluZywgcGx1Z2luSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHVybCA9IGAvYXBwcy8ke3BsdWdpbklkfS8ke2xhbmd9Lmpzb25gO1xuICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uRnJvbVBhdGgodXJsLCBsYW5nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUcmFuc2xhdGlvbnNGcm9tQXBwKGxhbmc6IHN0cmluZykge1xuICAgIGNvbnN0IHBhdGggPSB0aGlzLnBhdGggfHwgJyc7XG4gICAgbGV0IHVybCA9IGAke3BhdGh9JHtsYW5nfS5qc29uYDtcbiAgICBpZiAodGhpcy5sYW5ndWFnZXMgJiYgdGhpcy5sYW5ndWFnZXNbbGFuZ10gJiYgdGhpcy5sYW5ndWFnZXNbbGFuZ10udXJsKSB7XG4gICAgICB1cmwgPSB0aGlzLmxhbmd1YWdlc1tsYW5nXS51cmw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNsYXRpb25Gcm9tUGF0aCh1cmwsIGxhbmcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFVzZXJEZWZpbmVkVHJhbnNsYXRpb25zKGxhbmc6IHN0cmluZykge1xuICAgIGNvbnN0IHVybCA9IGAvYXBwcy9wdWJsaWMvdXNlci1kZWZpbmVkLXRyYW5zbGF0aW9ucy8ke2xhbmd9Lmpzb25gO1xuICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uRnJvbVBhdGgodXJsLCBsYW5nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUcmFuc2xhdGlvbkZyb21QYXRoKFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBsYW5nOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PiB7XG4gICAgaWYgKHRoaXMuY2FjaGUuaGFzKHBhdGgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZS5nZXQocGF0aCk7XG4gICAgfVxuICAgIGNvbnN0IG9ic2VydmFibGUgPSBkZWZlcihhc3luYyAoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBmZXRjaFJlc3BvbnNlID0gYXdhaXQgZmV0Y2gocGF0aCk7XG4gICAgICAgIGlmICghZmV0Y2hSZXNwb25zZS5vaykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCByZXNwb25zZSBzdGF0dXM6ICR7ZmV0Y2hSZXNwb25zZS5zdGF0dXN9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXNwb25zZUJvZHkgPSBhd2FpdCBmZXRjaFJlc3BvbnNlLmpzb24oKTtcblxuICAgICAgICBpZiAocmVzcG9uc2VCb2R5W2xhbmddKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlQm9keVtsYW5nXTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYEZhaWxlZCB0byBmZXRjaCB0cmFuc2xhdGlvbnMgZnJvbSAke3BhdGh9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4ge307XG4gICAgfSkucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gICAgdGhpcy5jYWNoZS5zZXQocGF0aCwgb2JzZXJ2YWJsZSk7XG4gICAgcmV0dXJuIG9ic2VydmFibGU7XG4gIH1cbn1cbiJdfQ==
|