gamma-app-controller 1.2.3 → 1.2.4

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.
Files changed (25) hide show
  1. package/esm2020/lib/shared/advanced-component/gamma-advance-operator-table/gamma-advance-operator-table.component.mjs +4 -4
  2. package/esm2020/lib/template-module/bookmarked-template/bookmarked-template.component.mjs +7 -11
  3. package/esm2020/lib/template-module/defaulLandingComponent/landing-component.component.mjs +7 -11
  4. package/esm2020/lib/template-module/kpiWithMultiLayout/kpi-with-multilayout.component.mjs +2 -2
  5. package/esm2020/lib/template-module/kpiWithMultiLayout/kpiWithMultiayout.module.mjs +2 -2
  6. package/esm2020/lib/template-module/kpiWithMultiLayout/muili.tokenStorage.servce.mjs +36 -0
  7. package/esm2020/lib/template-module/kpiWithSingleLayout/kpi-with-dataset.component.mjs +2 -2
  8. package/esm2020/lib/template-module/kpiWithSingleLayout/kpiWithSingleLayout.module.mjs +4 -3
  9. package/esm2020/lib/template-module/kpiWithSingleLayout/single.tokenStorage.servce.mjs +36 -0
  10. package/esm2020/public-api.mjs +3 -3
  11. package/fesm2015/gamma-app-controller.mjs +11 -17
  12. package/fesm2015/gamma-app-controller.mjs.map +1 -1
  13. package/fesm2020/gamma-app-controller.mjs +11 -17
  14. package/fesm2020/gamma-app-controller.mjs.map +1 -1
  15. package/lib/shared/advanced-component/gamma-advance-operator-table/gamma-advance-operator-table.component.d.ts +1 -1
  16. package/lib/template-module/bookmarked-template/bookmarked-template.component.d.ts +1 -3
  17. package/lib/template-module/defaulLandingComponent/landing-component.component.d.ts +1 -3
  18. package/lib/template-module/kpiWithMultiLayout/kpi-with-multilayout.component.d.ts +1 -1
  19. package/lib/template-module/kpiWithSingleLayout/kpi-with-dataset.component.d.ts +1 -1
  20. package/package.json +1 -1
  21. package/public-api.d.ts +2 -2
  22. package/esm2020/lib/template-module/kpiWithMultiLayout/tokenStorage.servce.mjs +0 -36
  23. package/esm2020/lib/template-module/kpiWithSingleLayout/tokenStorage.servce.mjs +0 -36
  24. /package/lib/template-module/kpiWithMultiLayout/{tokenStorage.servce.d.ts → muili.tokenStorage.servce.d.ts} +0 -0
  25. /package/lib/template-module/kpiWithSingleLayout/{tokenStorage.servce.d.ts → single.tokenStorage.servce.d.ts} +0 -0
@@ -32,5 +32,5 @@ export declare class GammaAdvanceOperatorTableComponent implements OnInit {
32
32
  callServiceFunction(functionName: string, value: any): any;
33
33
  shouldShowColumn(field: string): boolean;
34
34
  static ɵfac: i0.ɵɵFactoryDeclaration<GammaAdvanceOperatorTableComponent, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<GammaAdvanceOperatorTableComponent, "app-gamma-advance-operator-table", never, { "rightClickEnable": "rightClickEnable"; "chartDataSource": "chartDataSource"; }, { "getTableConfigOutPut": "getTableConfigOutPut"; "oRowClick": "oRowClick"; "onrightClickContextSelection": "onrightClickContextSelection"; }, never, never, false>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<GammaAdvanceOperatorTableComponent, "app-gamma-advance-operator-table", never, { "chartDataSource": "chartDataSource"; }, { "getTableConfigOutPut": "getTableConfigOutPut"; "oRowClick": "oRowClick"; "onrightClickContextSelection": "onrightClickContextSelection"; }, never, never, false>;
36
36
  }
@@ -11,7 +11,6 @@ import { AdvanceWidgetHeaderFilterComponent } from '../../shared/advanced-compon
11
11
  import { BookmarkedApplicationDatssetsCall } from './bookmarked-dataset-call.service';
12
12
  import { ToastrService } from 'ngx-toastr';
13
13
  import { BookmarkedService } from './bookmarked-layout.service';
14
- import { AppLocalStorage } from '../../application-controller/tokenStorage.servce';
15
14
  import * as i0 from "@angular/core";
16
15
  export declare class BookmarkedTemplateComponent implements OnInit {
17
16
  commonService: CommonService;
@@ -22,7 +21,6 @@ export declare class BookmarkedTemplateComponent implements OnInit {
22
21
  private toastr;
23
22
  private router;
24
23
  private datasetService;
25
- private storage;
26
24
  dashbord_container: any;
27
25
  selected_width: any;
28
26
  widget_width: string[];
@@ -80,7 +78,7 @@ export declare class BookmarkedTemplateComponent implements OnInit {
80
78
  globalDefaultFilter: any;
81
79
  pageId: any;
82
80
  kpi_breadcrumbs_container: any;
83
- constructor(commonService: CommonService, activatedRoute: ActivatedRoute, viewContainerRef: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, service: BookmarkedService, toastr: ToastrService, router: Router, datasetService: BookmarkedApplicationDatssetsCall, storage: AppLocalStorage);
81
+ constructor(commonService: CommonService, activatedRoute: ActivatedRoute, viewContainerRef: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, service: BookmarkedService, toastr: ToastrService, router: Router, datasetService: BookmarkedApplicationDatssetsCall);
84
82
  ngOnInit(): void;
85
83
  getFiltersForTemplate(filter: any): Promise<void>;
86
84
  getPadeDataSource(context: any): Promise<void>;
@@ -11,7 +11,6 @@ import { AdvanceWidgetHeaderFilterComponent } from '../../shared/advanced-compon
11
11
  import { ToastrService } from 'ngx-toastr';
12
12
  import { LandingComponentService } from './landing-component.service';
13
13
  import { LandingApplicationDatssetsCall } from './landing-dataset-call.service';
14
- import { AppLocalStorage } from '../../application-controller/tokenStorage.servce';
15
14
  import * as i0 from "@angular/core";
16
15
  export declare class LandingComponentComponent implements OnInit {
17
16
  commonService: CommonService;
@@ -22,7 +21,6 @@ export declare class LandingComponentComponent implements OnInit {
22
21
  private toastr;
23
22
  private router;
24
23
  private datasetService;
25
- private storage;
26
24
  dashbord_container: any;
27
25
  selected_width: any;
28
26
  widget_width: string[];
@@ -80,7 +78,7 @@ export declare class LandingComponentComponent implements OnInit {
80
78
  globalDefaultFilter: any;
81
79
  pageId: any;
82
80
  kpi_breadcrumbs_container: any;
83
- constructor(commonService: CommonService, activatedRoute: ActivatedRoute, viewContainerRef: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, service: LandingComponentService, toastr: ToastrService, router: Router, datasetService: LandingApplicationDatssetsCall, storage: AppLocalStorage);
81
+ constructor(commonService: CommonService, activatedRoute: ActivatedRoute, viewContainerRef: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, service: LandingComponentService, toastr: ToastrService, router: Router, datasetService: LandingApplicationDatssetsCall);
84
82
  ngOnInit(): void;
85
83
  getFiltersForTemplate(filter: any): Promise<void>;
86
84
  getPadeDataSource(context: any): Promise<void>;
@@ -13,7 +13,7 @@ import { GammaGeoChartComponent } from '../../shared/advanced-component/gamma-ge
13
13
  import { GammaHeatChartComponent } from '../../shared/advanced-component/gamma-heatmap/gamma-heatmap.component';
14
14
  import { KpiWithMultiLayoutService } from './kpi-multi-layout.service';
15
15
  import { MultilayoutApplicationDatssetsCall } from './multi-layout-dataset-call.service';
16
- import { AppMultiLayoutLocalStorage } from './tokenStorage.servce';
16
+ import { AppMultiLayoutLocalStorage } from './muili.tokenStorage.servce';
17
17
  import * as i0 from "@angular/core";
18
18
  export declare class KpiWithMultilayoutSetTestComponent implements OnInit {
19
19
  commonService: CommonService;
@@ -14,7 +14,7 @@ import { GammaHeatChartComponent } from '../../shared/advanced-component/gamma-h
14
14
  import { KpiWithSingleLayoutService } from './kpi-single-layout.service';
15
15
  import { SingleLayoutApplicationDatssetsCall } from './single-layout-dataset-call.service';
16
16
  import { ApplicationChatApiCallService } from './application-chat-api-call.service';
17
- import { AppSingleLayoutLocalStorage } from './tokenStorage.servce';
17
+ import { AppSingleLayoutLocalStorage } from './single.tokenStorage.servce';
18
18
  import * as i0 from "@angular/core";
19
19
  export declare class KpiWithDataSetTestComponent implements OnInit {
20
20
  commonService: CommonService;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gamma-app-controller",
3
- "version": "1.2.3",
3
+ "version": "1.2.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.0.0",
6
6
  "@angular/core": "^14.0.0",
package/public-api.d.ts CHANGED
@@ -77,13 +77,13 @@ export * from './lib/template-module/kpiWithSingleLayout/dynamin-modal.component
77
77
  export * from './lib/template-module/kpiWithSingleLayout/kpi-single-layout.service';
78
78
  export * from './lib/template-module/kpiWithSingleLayout/application-chat-api-call.service';
79
79
  export * from './lib/template-module/kpiWithSingleLayout/single-layout-dataset-call.service';
80
- export * from './lib/template-module/kpiWithSingleLayout/tokenStorage.servce';
80
+ export * from './lib/template-module/kpiWithSingleLayout/single.tokenStorage.servce';
81
81
  export * from './lib/template-module/kpiWithMultiLayout/dynamin-modal-multi.component';
82
82
  export * from './lib/template-module/kpiWithMultiLayout/kpi-with-multilayout.component';
83
83
  export * from './lib/template-module/kpiWithMultiLayout/kpiWithMultiayout.module';
84
84
  export * from './lib/template-module/kpiWithMultiLayout/kpi-multi-layout.service';
85
85
  export * from './lib/template-module/kpiWithMultiLayout/multi-layout-dataset-call.service';
86
- export * from './lib/template-module/kpiWithMultiLayout/tokenStorage.servce';
86
+ export * from './lib/template-module/kpiWithMultiLayout/muili.tokenStorage.servce';
87
87
  export * from './lib/template-module/defaulLandingComponent/landing-component.component';
88
88
  export * from './lib/template-module/defaulLandingComponent/defaultLandingComponent.module';
89
89
  export * from './lib/template-module/defaulLandingComponent/landing-component.service';
@@ -1,36 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { APP_ENVIRONMENT } from '../../application-controller/environment';
3
- import * as i0 from "@angular/core";
4
- const TOKEN_KEY = 'x-auth-token';
5
- export class AppMultiLayoutLocalStorage {
6
- constructor(environment) {
7
- this.environment = environment;
8
- }
9
- save(type, token) {
10
- window.localStorage[this.getAppVariableName(type)] = token;
11
- }
12
- get(type) {
13
- return window.localStorage[this.getAppVariableName(type)];
14
- }
15
- delete(type) {
16
- return window.localStorage.removeItem[this.getAppVariableName(type)];
17
- }
18
- destroy() {
19
- window.localStorage.removeItem(TOKEN_KEY);
20
- }
21
- getAppVariableName(attributeName) {
22
- return this.environment.appName + '__' + attributeName;
23
- }
24
- }
25
- AppMultiLayoutLocalStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AppMultiLayoutLocalStorage, deps: [{ token: APP_ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable });
26
- AppMultiLayoutLocalStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AppMultiLayoutLocalStorage, providedIn: 'root' });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AppMultiLayoutLocalStorage, decorators: [{
28
- type: Injectable,
29
- args: [{
30
- providedIn: 'root',
31
- }]
32
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
33
- type: Inject,
34
- args: [APP_ENVIRONMENT]
35
- }] }]; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5TdG9yYWdlLnNlcnZjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dhbW1hLWFwcC1jb250cm9sbGVyL3NyYy9saWIvdGVtcGxhdGUtbW9kdWxlL2twaVdpdGhNdWx0aUxheW91dC90b2tlblN0b3JhZ2Uuc2VydmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFFM0UsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDO0FBSWpDLE1BQU0sT0FBTywwQkFBMEI7SUFFbkMsWUFBNkMsV0FBZ0I7UUFBaEIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7SUFDN0QsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSztRQUNaLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQy9ELENBQUM7SUFFRCxHQUFHLENBQUMsSUFBSTtRQUNKLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUk7UUFDUCxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxPQUFPO1FBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGtCQUFrQixDQUFDLGFBQXFCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLGFBQWEsQ0FBQztJQUMzRCxDQUFDOzt1SEF2QlEsMEJBQTBCLGtCQUVmLGVBQWU7MkhBRjFCLDBCQUEwQixjQUZ2QixNQUFNOzJGQUVULDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUdnQixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFQUF9FTlZJUk9OTUVOVCB9IGZyb20gJy4uLy4uL2FwcGxpY2F0aW9uLWNvbnRyb2xsZXIvZW52aXJvbm1lbnQnO1xuXG5jb25zdCBUT0tFTl9LRVkgPSAneC1hdXRoLXRva2VuJztcbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcE11bHRpTGF5b3V0TG9jYWxTdG9yYWdlIHtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoQVBQX0VOVklST05NRU5UKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnkpIHtcbiAgICB9XG5cbiAgICBzYXZlKHR5cGUsIHRva2VuKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2VbdGhpcy5nZXRBcHBWYXJpYWJsZU5hbWUodHlwZSldID0gdG9rZW47XG4gICAgfVxuXG4gICAgZ2V0KHR5cGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZVt0aGlzLmdldEFwcFZhcmlhYmxlTmFtZSh0eXBlKV07XG4gICAgfVxuXG4gICAgZGVsZXRlKHR5cGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtW3RoaXMuZ2V0QXBwVmFyaWFibGVOYW1lKHR5cGUpXTtcbiAgICB9XG5cbiAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oVE9LRU5fS0VZKTtcbiAgICB9XG5cbiAgICBnZXRBcHBWYXJpYWJsZU5hbWUoYXR0cmlidXRlTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwcE5hbWUgKyAnX18nICsgYXR0cmlidXRlTmFtZTtcbiAgICB9XG59XG4iXX0=
@@ -1,36 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { APP_ENVIRONMENT } from '../../application-controller/environment';
3
- import * as i0 from "@angular/core";
4
- const TOKEN_KEY = 'x-auth-token';
5
- export class AppSingleLayoutLocalStorage {
6
- constructor(environment) {
7
- this.environment = environment;
8
- }
9
- save(type, token) {
10
- window.localStorage[this.getAppVariableName(type)] = token;
11
- }
12
- get(type) {
13
- return window.localStorage[this.getAppVariableName(type)];
14
- }
15
- delete(type) {
16
- return window.localStorage.removeItem[this.getAppVariableName(type)];
17
- }
18
- destroy() {
19
- window.localStorage.removeItem(TOKEN_KEY);
20
- }
21
- getAppVariableName(attributeName) {
22
- return this.environment.appName + '__' + attributeName;
23
- }
24
- }
25
- AppSingleLayoutLocalStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AppSingleLayoutLocalStorage, deps: [{ token: APP_ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable });
26
- AppSingleLayoutLocalStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AppSingleLayoutLocalStorage, providedIn: 'root' });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AppSingleLayoutLocalStorage, decorators: [{
28
- type: Injectable,
29
- args: [{
30
- providedIn: 'root',
31
- }]
32
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
33
- type: Inject,
34
- args: [APP_ENVIRONMENT]
35
- }] }]; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5TdG9yYWdlLnNlcnZjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dhbW1hLWFwcC1jb250cm9sbGVyL3NyYy9saWIvdGVtcGxhdGUtbW9kdWxlL2twaVdpdGhTaW5nbGVMYXlvdXQvdG9rZW5TdG9yYWdlLnNlcnZjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBRTNFLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQztBQUlqQyxNQUFNLE9BQU8sMkJBQTJCO0lBRXBDLFlBQTZDLFdBQWdCO1FBQWhCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO0lBQzdELENBQUM7SUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUs7UUFDWixNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMvRCxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUk7UUFDSixPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJO1FBQ1AsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsT0FBTztRQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxhQUFxQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxHQUFHLElBQUksR0FBRyxhQUFhLENBQUM7SUFDM0QsQ0FBQzs7d0hBdkJRLDJCQUEyQixrQkFFaEIsZUFBZTs0SEFGMUIsMkJBQTJCLGNBRnhCLE1BQU07MkZBRVQsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBR2dCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVBQX0VOVklST05NRU5UIH0gZnJvbSAnLi4vLi4vYXBwbGljYXRpb24tY29udHJvbGxlci9lbnZpcm9ubWVudCc7XG5cbmNvbnN0IFRPS0VOX0tFWSA9ICd4LWF1dGgtdG9rZW4nO1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBwU2luZ2xlTGF5b3V0TG9jYWxTdG9yYWdlIHtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoQVBQX0VOVklST05NRU5UKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnkpIHtcbiAgICB9XG5cbiAgICBzYXZlKHR5cGUsIHRva2VuKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2VbdGhpcy5nZXRBcHBWYXJpYWJsZU5hbWUodHlwZSldID0gdG9rZW47XG4gICAgfVxuXG4gICAgZ2V0KHR5cGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZVt0aGlzLmdldEFwcFZhcmlhYmxlTmFtZSh0eXBlKV07XG4gICAgfVxuXG4gICAgZGVsZXRlKHR5cGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtW3RoaXMuZ2V0QXBwVmFyaWFibGVOYW1lKHR5cGUpXTtcbiAgICB9XG5cbiAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oVE9LRU5fS0VZKTtcbiAgICB9XG5cbiAgICBnZXRBcHBWYXJpYWJsZU5hbWUoYXR0cmlidXRlTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwcE5hbWUgKyAnX18nICsgYXR0cmlidXRlTmFtZTtcbiAgICB9XG59XG4iXX0=