keevo-components 1.5.94 → 1.5.96
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/esm2020/lib/api/components/chart/orchart.config.mjs +2 -0
- package/esm2020/lib/api/components/chart/orchart.item.mjs +2 -0
- package/esm2020/lib/api/models/menu/master.model.mjs +2 -0
- package/esm2020/lib/keevo-components.module.mjs +14 -7
- package/esm2020/lib/menu/kvmenu.module.mjs +15 -4
- package/esm2020/lib/menu/menu.component.mjs +86 -37
- package/esm2020/lib/orgchart/orgchart.component.mjs +90 -0
- package/esm2020/lib/orgchart/orgchart.module.mjs +24 -0
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/keevo-components.mjs +224 -57
- package/fesm2015/keevo-components.mjs.map +1 -1
- package/fesm2020/keevo-components.mjs +221 -55
- package/fesm2020/keevo-components.mjs.map +1 -1
- package/lib/api/components/chart/orchart.config.d.ts +35 -0
- package/lib/api/components/chart/orchart.item.d.ts +26 -0
- package/lib/api/models/menu/master.model.d.ts +6 -0
- package/lib/keevo-components.module.d.ts +2 -1
- package/lib/menu/kvmenu.module.d.ts +3 -1
- package/lib/menu/menu.component.d.ts +32 -8
- package/lib/orgchart/orgchart.component.d.ts +25 -0
- package/lib/orgchart/orgchart.module.d.ts +9 -0
- package/package.json +6 -2
- package/public-api.d.ts +2 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JjaGFydC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2NvbXBvbmVudHMvY2hhcnQvb3JjaGFydC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGludGVyZmFjZSBPcmdDaGFydENvbmZpZ3tcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICogRXNzZSBpdGVtIGVzcGVyYSB1bWEgc3RyaW5nIGh0bWwgdGVtcGxhdGVcclxuICAgKiAobm8gZm9ybWF0byBhbmd1bGFyIGNvbSBpbnRlcnBvbGHDp8OjbyBkZSB2YXJpYXZlaXMgdmlhIHt7ZGF0YS4nUFJPUElFREFERSBERVNFSkFEQSd9fSlcclxuICAgKiBUb2RvcyBvcyBkYWRvcyBleHBvc3RvcyBuYSBwcm9waWVkYWRlIGRhdGEgZGVcclxuICAgKiBjYWRhIGl0ZW0gZXN0w6NvIGFjZXNzaXZlaXMgcGVsbyBvYmpldG8gZGF0YTtcclxuICAgKiBQYXJhIHJlYWxpemFyIGludGVycG9sYcOnw6NvLCByZWZlcmVuY2llIGRhdGEgZW50cmUge3t9fSBlIGEgY2hhdmUgZGVzZWphZGE7XHJcbiAgICoqIEV4ZW1wbG86IGAgPGgxPiBOb21lOiB7e2RhdGEubm9tZX19IDwvaDE+ICBgXHJcbiAgICpcclxuICAgKi9cclxuICB0ZW1wbGF0ZUl0ZW06IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQHR5cGUge251bWJlcn1cclxuICAgKiBFc3NlIGl0ZW0gZXNwZXJhIHJlY2ViZXIgYSBsYXJndXJhIG1lZGlhIGRvIGNhcmQsIHBhcmEgY2FsY3VsbyBkbyBpY29uZSBkZSBjb2xsYXBzZVxyXG4gICAqL1xyXG4gIGNhcmRXaWRodDogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAqIEVzc2UgaXRlbSBlc3BlcmEgcmVjZWJlciBhIGFsdHVyYSBtZWRpYSBkbyBjYXJkLCBwYXJhIGNhbGN1bG8gZG8gaWNvbmUgZGUgY29sbGFwc2VcclxuICAgKi9cclxuICBjYXJkSGVpZ2h0OiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICogRXNzZSBpdGVtIGVzcGVyYSByZWNlYmVyIGEgY29yIGRhcyBjb25uZWN0aW9uc1xyXG4gICAqICogRGVmYXVsdCB7ICNkNmQ2ZDYgfVxyXG4gICAqL1xyXG4gIGNvbm5lY3Rpb25Db2xvcj86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAqIEVzc2UgaXRlbSBlc3BlcmEgcmVjZWJlciBhIGNvciBkYXMgY29ubmVjdGlvbnNcclxuICAgKiAqIERlZmF1bHQgeyAyIH1cclxuICAgKi9cclxuICAgIGNvbmVjdGlvbldpZHRoPzogbnVtYmVyO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JjaGFydC5pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9jb21wb25lbnRzL2NoYXJ0L29yY2hhcnQuaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgaW50ZXJmYWNlIE9yZ0NoYXJ0SXRlbXtcclxuXHJcbiAgLyoqXHJcbiAgICogQHR5cGUge251bWJlcn1cclxuICAgKiBFc3NlIGl0ZW0gZXNwZXJhIHJlY2ViZXIgbyBpZGVudGlmaWNhZG9yIGRvIGNhcmRcclxuICAgKi9cclxuICBpZDogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBAdHlwZSB7bnVtYmVyIHwgbnVsbH1cclxuICAgKiBFc3NlIGl0ZW0gZXNwZXJhIHJlY2ViZXIgbyBpZGVudGlmaWNhZG9yIGRvIGNhcmQgcGFpIGRlc3NlIGNhcmRcclxuICAgKiAqIEFjZWl0YSBudWxsIG5vIGNhc28gZGUgc2VyIG8gbsOzIHJvb3RcclxuICAgKlxyXG4gICAqIEB3YXJuaW5nIENhc28gdGVuaGEgbWFpcyBkZSB1bSBvYmpldG8gY29tIHt7IHBhcmVudElkOiBudWxsIH19IGhhdmVyYSB1bSBlcnJvIGRlIG11bHRpcGxvcyByb290c1xyXG4gICAqL1xyXG4gIHBhcmVudElkOiBudW1iZXIgfCBudWxsO1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQHR5cGUge29iamVjdH1cclxuICAgKiBFc3NlIGl0ZW0gZXNwZXJhIHJlY2ViZXIgb3MgZGFkb3MgZG8gY2FyZFxyXG4gICAqIEB3YXJuaW5nIE1hbnRlbmhhIGEgY29uc2lzdGVuY2lhIGRlIGRhZG9zLCBjYXNvIHRlbnRlIGFjZXNzYXIgdW0gZGFkbyBxdWUgbsOjbyBleGlzdGEgZW0gb3V0cm8gb2JqZXRvIGhhdmVyYSB1bSBlcnJvXHJcbiAgICovXHJcbiAgZGF0YTogb2JqZWN0O1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQHR5cGUge29iamVjdCB8IHVuZGVmaW5lZH1cclxuICAgKiBFc3NlIGl0ZW0gZXNwZXJhIHJlY2ViZXIgdW0gdGVtcGxhdGUgcGVyc29uYWxpemFkbyBwYXJhIGVzdGUgbsOzIGVtIGVzcGVjaWZpY29cclxuICAgKi9cclxuICB0ZW1wbGF0ZT86IHN0cmluZztcclxuICAvLyBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9tb2RlbHMvbWVudS9tYXN0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgbWFzdGVyTW9kZWwge1xyXG4gICAgaWRtYXN0ZXI6IG51bWJlcjtcclxuICAgIGNucGo6IHN0cmluZztcclxuICAgIHJhemFvc29jaWFsOiBzdHJpbmc7XHJcbiAgICBzaXN0ZW1hczogbnVtYmVyW107XHJcbn1cclxuIl19
|
|
@@ -7,6 +7,7 @@ import { KvChartModule } from './chart/kvchart.module';
|
|
|
7
7
|
import { KvMenuModule } from './menu/kvmenu.module';
|
|
8
8
|
import { KvPickListModule } from './picklist/kvpicklist.module';
|
|
9
9
|
import { KVTreeTableModule } from './tree-table/kv-treetable.module';
|
|
10
|
+
import { OrgchartModule } from './orgchart/orgchart.module';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
export class KeevoComponentsModule {
|
|
12
13
|
}
|
|
@@ -18,14 +19,16 @@ KeevoComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", v
|
|
|
18
19
|
KvChartModule,
|
|
19
20
|
KvMenuModule,
|
|
20
21
|
KvPickListModule,
|
|
21
|
-
KVTreeTableModule
|
|
22
|
+
KVTreeTableModule,
|
|
23
|
+
OrgchartModule], exports: [KvInputsModule,
|
|
22
24
|
KvButtonsModule,
|
|
23
25
|
KvTableModule,
|
|
24
26
|
KvtreeViewModule,
|
|
25
27
|
KvChartModule,
|
|
26
28
|
KvMenuModule,
|
|
27
29
|
KvPickListModule,
|
|
28
|
-
KVTreeTableModule
|
|
30
|
+
KVTreeTableModule,
|
|
31
|
+
OrgchartModule] });
|
|
29
32
|
KeevoComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: KeevoComponentsModule, imports: [KvInputsModule,
|
|
30
33
|
KvButtonsModule,
|
|
31
34
|
KvTableModule,
|
|
@@ -33,14 +36,16 @@ KeevoComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", v
|
|
|
33
36
|
KvChartModule,
|
|
34
37
|
KvMenuModule,
|
|
35
38
|
KvPickListModule,
|
|
36
|
-
KVTreeTableModule,
|
|
39
|
+
KVTreeTableModule,
|
|
40
|
+
OrgchartModule, KvInputsModule,
|
|
37
41
|
KvButtonsModule,
|
|
38
42
|
KvTableModule,
|
|
39
43
|
KvtreeViewModule,
|
|
40
44
|
KvChartModule,
|
|
41
45
|
KvMenuModule,
|
|
42
46
|
KvPickListModule,
|
|
43
|
-
KVTreeTableModule
|
|
47
|
+
KVTreeTableModule,
|
|
48
|
+
OrgchartModule] });
|
|
44
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: KeevoComponentsModule, decorators: [{
|
|
45
50
|
type: NgModule,
|
|
46
51
|
args: [{
|
|
@@ -53,7 +58,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
53
58
|
KvChartModule,
|
|
54
59
|
KvMenuModule,
|
|
55
60
|
KvPickListModule,
|
|
56
|
-
KVTreeTableModule
|
|
61
|
+
KVTreeTableModule,
|
|
62
|
+
OrgchartModule
|
|
57
63
|
],
|
|
58
64
|
exports: [
|
|
59
65
|
KvInputsModule,
|
|
@@ -63,8 +69,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
63
69
|
KvChartModule,
|
|
64
70
|
KvMenuModule,
|
|
65
71
|
KvPickListModule,
|
|
66
|
-
KVTreeTableModule
|
|
72
|
+
KVTreeTableModule,
|
|
73
|
+
OrgchartModule
|
|
67
74
|
]
|
|
68
75
|
}]
|
|
69
76
|
}] });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Vldm8tY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIva2Vldm8tY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUE0QjVELE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixZQXRCOUIsY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixjQUFjLGFBR2QsY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixjQUFjO21IQUdMLHFCQUFxQixZQXRCOUIsY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixjQUFjLEVBR2QsY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixjQUFjOzJGQUdMLHFCQUFxQjtrQkExQmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsY0FBYztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEt2QnV0dG9uc01vZHVsZSB9IGZyb20gJy4vYnV0dG9ucy9rdmJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdklucHV0c01vZHVsZSB9IGZyb20gJy4vaW5wdXRzL2t2aW5wdXRzLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2VGFibGVNb2R1bGUgfSBmcm9tICcuL3RhYmxlL2t2dGFibGUubW9kdWxlJztcclxuaW1wb3J0IHsgS3Z0cmVlVmlld01vZHVsZSB9IGZyb20gJy4vdHJlZS12aWV3L2t2dHJlZS12aWV3Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2Q2hhcnRNb2R1bGUgfSBmcm9tICcuL2NoYXJ0L2t2Y2hhcnQubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZNZW51TW9kdWxlIH0gZnJvbSAnLi9tZW51L2t2bWVudS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdlBpY2tMaXN0TW9kdWxlIH0gZnJvbSAnLi9waWNrbGlzdC9rdnBpY2tsaXN0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEtWVHJlZVRhYmxlTW9kdWxlIH0gZnJvbSAnLi90cmVlLXRhYmxlL2t2LXRyZWV0YWJsZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBPcmdjaGFydE1vZHVsZSB9IGZyb20gJy4vb3JnY2hhcnQvb3JnY2hhcnQubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBLdklucHV0c01vZHVsZSxcclxuICAgIEt2QnV0dG9uc01vZHVsZSxcclxuICAgIEt2VGFibGVNb2R1bGUsXHJcbiAgICBLdnRyZWVWaWV3TW9kdWxlLFxyXG4gICAgS3ZDaGFydE1vZHVsZSxcclxuICAgIEt2TWVudU1vZHVsZSxcclxuICAgIEt2UGlja0xpc3RNb2R1bGUsXHJcbiAgICBLVlRyZWVUYWJsZU1vZHVsZSxcclxuICAgIE9yZ2NoYXJ0TW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBLdklucHV0c01vZHVsZSxcclxuICAgIEt2QnV0dG9uc01vZHVsZSxcclxuICAgIEt2VGFibGVNb2R1bGUsXHJcbiAgICBLdnRyZWVWaWV3TW9kdWxlLFxyXG4gICAgS3ZDaGFydE1vZHVsZSxcclxuICAgIEt2TWVudU1vZHVsZSxcclxuICAgIEt2UGlja0xpc3RNb2R1bGUsXHJcbiAgICBLVlRyZWVUYWJsZU1vZHVsZSxcclxuICAgIE9yZ2NoYXJ0TW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS2Vldm9Db21wb25lbnRzTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { MenuComponent } from './menu.component';
|
|
4
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
5
|
import { PrimeNgModule } from '../api/modules/primeng.module';
|
|
6
|
+
import { KvInputsModule } from '../inputs/kvinputs.module';
|
|
7
|
+
import { KvButtonsModule } from '../buttons/kvbutton.module';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
export class KvMenuModule {
|
|
8
10
|
}
|
|
9
11
|
KvMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: KvMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
12
|
KvMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: KvMenuModule, declarations: [MenuComponent], imports: [CommonModule,
|
|
11
13
|
PrimeNgModule,
|
|
12
|
-
FormsModule
|
|
14
|
+
FormsModule,
|
|
15
|
+
ReactiveFormsModule,
|
|
16
|
+
KvInputsModule,
|
|
17
|
+
KvButtonsModule], exports: [MenuComponent] });
|
|
13
18
|
KvMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: KvMenuModule, imports: [CommonModule,
|
|
14
19
|
PrimeNgModule,
|
|
15
|
-
FormsModule
|
|
20
|
+
FormsModule,
|
|
21
|
+
ReactiveFormsModule,
|
|
22
|
+
KvInputsModule,
|
|
23
|
+
KvButtonsModule] });
|
|
16
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: KvMenuModule, decorators: [{
|
|
17
25
|
type: NgModule,
|
|
18
26
|
args: [{
|
|
@@ -23,10 +31,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
23
31
|
CommonModule,
|
|
24
32
|
PrimeNgModule,
|
|
25
33
|
FormsModule,
|
|
34
|
+
ReactiveFormsModule,
|
|
35
|
+
KvInputsModule,
|
|
36
|
+
KvButtonsModule
|
|
26
37
|
],
|
|
27
38
|
exports: [
|
|
28
39
|
MenuComponent
|
|
29
40
|
]
|
|
30
41
|
}]
|
|
31
42
|
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZtZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9tZW51L2t2bWVudS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFvQjdELE1BQU0sT0FBTyxZQUFZOzt5R0FBWixZQUFZOzBHQUFaLFlBQVksaUJBZHJCLGFBQWEsYUFHYixZQUFZO1FBQ1osYUFBYTtRQUNiLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGVBQWUsYUFHZixhQUFhOzBHQUdKLFlBQVksWUFYckIsWUFBWTtRQUNaLGFBQWE7UUFDYixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxlQUFlOzJGQU1OLFlBQVk7a0JBaEJ4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBQcmltZU5nTW9kdWxlIH0gZnJvbSAnLi4vYXBpL21vZHVsZXMvcHJpbWVuZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdklucHV0c01vZHVsZSB9IGZyb20gJy4uL2lucHV0cy9rdmlucHV0cy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdkJ1dHRvbnNNb2R1bGUgfSBmcm9tICcuLi9idXR0b25zL2t2YnV0dG9uLm1vZHVsZSc7XHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBNZW51Q29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQcmltZU5nTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgS3ZJbnB1dHNNb2R1bGUsXHJcbiAgICBLdkJ1dHRvbnNNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIE1lbnVDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdk1lbnVNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -1,52 +1,77 @@
|
|
|
1
|
-
import { Component, HostListener, Input, ViewChild } from '@angular/core';
|
|
1
|
+
import { Component, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
4
|
import * as i2 from "primeng/api";
|
|
5
5
|
import * as i3 from "primeng/button";
|
|
6
6
|
import * as i4 from "primeng/card";
|
|
7
|
-
import * as i5 from "
|
|
8
|
-
import * as i6 from "primeng/
|
|
9
|
-
import * as i7 from "primeng/
|
|
10
|
-
import * as i8 from "primeng/
|
|
11
|
-
import * as i9 from "primeng/
|
|
12
|
-
import * as i10 from "primeng/
|
|
13
|
-
import * as i11 from "primeng/
|
|
7
|
+
import * as i5 from "@angular/router";
|
|
8
|
+
import * as i6 from "primeng/tooltip";
|
|
9
|
+
import * as i7 from "primeng/dialog";
|
|
10
|
+
import * as i8 from "primeng/divider";
|
|
11
|
+
import * as i9 from "primeng/dropdown";
|
|
12
|
+
import * as i10 from "primeng/overlaypanel";
|
|
13
|
+
import * as i11 from "primeng/ripple";
|
|
14
|
+
import * as i12 from "primeng/sidebar";
|
|
15
|
+
import * as i13 from "primeng/styleclass";
|
|
16
|
+
import * as i14 from "primeng/breadcrumb";
|
|
17
|
+
import * as i15 from "@angular/forms";
|
|
18
|
+
import * as i16 from "../buttons/button-success/button-success.component";
|
|
14
19
|
export class MenuComponent {
|
|
15
20
|
onWindowResize() {
|
|
16
21
|
this.heigthCard = Number(document.getElementById('page-content')?.offsetHeight);
|
|
17
|
-
this.
|
|
22
|
+
this.widthCard = Number(window.innerWidth) - (this.expandMenu ? 333 : 93);
|
|
23
|
+
this.cdr.detectChanges();
|
|
18
24
|
}
|
|
19
|
-
|
|
20
|
-
this.
|
|
21
|
-
}
|
|
22
|
-
testeAlo() {
|
|
23
|
-
this.sidebarRef.style.width = '50px !importante';
|
|
24
|
-
console.log();
|
|
25
|
-
}
|
|
26
|
-
constructor() {
|
|
25
|
+
constructor(cdr) {
|
|
26
|
+
this.cdr = cdr;
|
|
27
27
|
this.menuCompleto = [];
|
|
28
|
-
this.
|
|
28
|
+
this.licencas = [];
|
|
29
|
+
this.licencasOptions = [];
|
|
30
|
+
this.menusFiltrados = [];
|
|
29
31
|
this.menus = [];
|
|
32
|
+
this.breadCrumbItems = [];
|
|
33
|
+
this.expandMenu = true;
|
|
34
|
+
this.visibleDialogLicenca = false;
|
|
30
35
|
}
|
|
31
36
|
ngOnInit() {
|
|
32
|
-
setTimeout(() => this.
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
setTimeout(() => this.setLicenca(), 1500);
|
|
38
|
+
this.licencas.forEach((x, i) => {
|
|
39
|
+
this.licencasOptions.push({
|
|
40
|
+
id: i,
|
|
41
|
+
descricao: x.razaosocial,
|
|
42
|
+
cnpj: x.cnpj
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
this.licencaSelected = this.licencasOptions.find((x) => x.descricao == this.licencaSelecionada.razaosocial) || { id: 0, descricao: '', cnpj: '' };
|
|
46
|
+
console.log(this.licencas, 'licencas');
|
|
47
|
+
console.log(this.licencasOptions, 'licencasOptions');
|
|
48
|
+
console.log(this.licencaSelecionada, 'licencaSelecionada');
|
|
49
|
+
this.breadCrumbItems = [{ label: 'Home', routerLink: '/home' },];
|
|
35
50
|
this.heigthCard = Number(document.getElementById('page-content')?.offsetHeight);
|
|
36
|
-
|
|
37
|
-
|
|
51
|
+
this.widthCard = Number(window.innerWidth) - (this.expandMenu ? 333 : 93);
|
|
52
|
+
}
|
|
53
|
+
closeCallback(e) {
|
|
54
|
+
this.sidebarRef.close(e);
|
|
55
|
+
}
|
|
56
|
+
MascaraNomeLicenca(nomeLicenca) {
|
|
57
|
+
if (nomeLicenca) {
|
|
58
|
+
if (nomeLicenca.length > 24)
|
|
59
|
+
return nomeLicenca.substring(0, 24) + '...';
|
|
60
|
+
else
|
|
61
|
+
return nomeLicenca;
|
|
62
|
+
}
|
|
63
|
+
else
|
|
64
|
+
return '';
|
|
38
65
|
}
|
|
39
|
-
|
|
40
|
-
|
|
66
|
+
MascaraCnpj(cnpj) {
|
|
67
|
+
const cnpjLimpo = cnpj.replace(/\D/g, '');
|
|
68
|
+
return cnpjLimpo.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/, '$1.$2.$3/$4-$5');
|
|
41
69
|
}
|
|
42
70
|
definirMenusPorSistema(idsistema) {
|
|
43
|
-
console.log("def", idsistema);
|
|
44
|
-
console.log("menu antes", this.menus);
|
|
45
71
|
this.menus =
|
|
46
72
|
this.menuCompleto.find((x) => x.sistema.idsistema == idsistema)?.menus ||
|
|
47
73
|
[];
|
|
48
|
-
console.log(
|
|
49
|
-
console.log('entrei', idsistema);
|
|
74
|
+
console.log(this.menuCompleto, 'menuCompleto');
|
|
50
75
|
}
|
|
51
76
|
retornarMenuFilhos(idsistema, idmenu) {
|
|
52
77
|
return this.menuCompleto
|
|
@@ -54,20 +79,44 @@ export class MenuComponent {
|
|
|
54
79
|
?.menus.filter((x) => x.idmenupai == idmenu);
|
|
55
80
|
}
|
|
56
81
|
callRoute(e) {
|
|
57
|
-
console.log(e, '
|
|
58
|
-
console.log(e.item.routerLink, 'event');
|
|
82
|
+
console.log(e.item.routerLink, 'routerLink');
|
|
59
83
|
// this.router.navigate(e.item.routerLink)
|
|
60
84
|
}
|
|
85
|
+
toggleMenu() {
|
|
86
|
+
this.expandMenu = !this.expandMenu;
|
|
87
|
+
}
|
|
88
|
+
setLicenca() {
|
|
89
|
+
var masterModelEmpty;
|
|
90
|
+
this.licencaSelecionada = this.licencas.find((licenca) => licenca.cnpj == this.licencaSelected.cnpj) || masterModelEmpty;
|
|
91
|
+
this.menusFiltrados = this.menuCompleto.filter(menu => this.licencaSelecionada.sistemas.includes(menu.sistema.codigosistema));
|
|
92
|
+
console.log(this.menusFiltrados, 'menusFiltrados');
|
|
93
|
+
this.visibleDialogLicenca = false;
|
|
94
|
+
this.definirMenusPorSistema(this.menusFiltrados[0]?.sistema.idsistema);
|
|
95
|
+
}
|
|
96
|
+
gerenciarKeePass() {
|
|
97
|
+
this.gerenciarKeePassEvent.emit();
|
|
98
|
+
}
|
|
99
|
+
sair() {
|
|
100
|
+
this.sairEvent.emit();
|
|
101
|
+
}
|
|
61
102
|
}
|
|
62
|
-
MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
-
MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MenuComponent, selector: "kv-menu", inputs: { menuCompleto: "menuCompleto", breadCrumbItems: "breadCrumbItems" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "sidebarRef", first: true, predicate: ["sidebarRef"], descendants: true }], ngImport: i0, template: "<!-- <p-sidebar\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n styleClass=\"w-3rem barrasistemas sidebar-header-sistema\"\r\n [modal]=\"false\"\r\n>\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"flex flex-column align-items-center justify-content-center\">\r\n <button\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus\"\r\n icon=\"pi pi-user\"\r\n ></button>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"footer\">\r\n <div class=\"flex flex-column gap-2 align-items-center\">\r\n <button\r\n *ngFor=\"let menu of menuCompleto\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n >\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n </button>\r\n </div>\r\n </ng-template>\r\n</p-sidebar> -->\r\n\r\n<div class=\"flex flex-row\">\r\n\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{widthTopBar: '50px'}\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"flex flex-column h-full w-full\">\r\n <div class=\"flex flex-column gap-2 justify-content-between px-4 flex-shrink-0\">\r\n <div class=\"flex flex-row align-items-center justify-content-between py-3\">\r\n <img\r\n alt=\"Card\"\r\n src=\"../../assets/images/LogoEvo.png\"\r\n width=\"150\"\r\n />\r\n\r\n <button\r\n pButton\r\n icon=\"pi pi-bars\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n [pTooltip]=\"'Ocutar Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"testeAlo()\"\r\n ></button>\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center justify-content-between\">\r\n <div class=\"flex flex-column\">\r\n <span\r\n class=\"text-sm font-semibold mr-2\"\r\n pTooltip=\"CERTMASTER TECNOLOGIA DA INFORMA\u00C7\u00C3O LTDA\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n {{\r\n MascaraNomeLincenca(\"CERTMASTER TECNOLOGIA DA INFORMA\u00C7\u00C3O LTDA\")\r\n }}\r\n </span>\r\n <span class=\"text-sm mt-1\">33.600.466/0001-87</span>\r\n </div>\r\n\r\n <button\r\n pButton\r\n icon=\"pi pi-arrow-right-arrow-left\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n [pTooltip]=\"'Alterar Licen\u00E7a'\"\r\n [tooltipPosition]=\"'right'\"\r\n ></button>\r\n </div>\r\n <p-divider type=\"solid\"></p-divider>\r\n\r\n </div>\r\n\r\n <div class=\"overflow-y-auto card-container\">\r\n <ul class=\"list-none ajuste-padding m-0 \">\r\n <!-- menus -->\r\n <li *ngFor=\"let menu of menus\">\r\n <!-- menu que n\u00E3o tem filho -->\r\n <a\r\n *ngIf=\"!menu.menupai && menu.idmenupai == 0\"\r\n pRipple\r\n class=\"flex align-items-start cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n <i class=\"pi pi-home mr-2 text-blue-900 adjust-icon-menu\"></i>\r\n <span class=\"text-base text-blue-900 font-medium\">{{ menu.descricaomenu }}</span>\r\n </a>\r\n\r\n <!-- menu com filho -->\r\n <div *ngIf=\"menu.menupai\">\r\n <a\r\n pRipple\r\n pStyleClass=\"@next\"\r\n enterClass=\"hidden\"\r\n enterActiveClass=\"slidedown\"\r\n leaveToClass=\"hidden\"\r\n leaveActiveClass=\"slideup\"\r\n class=\"flex align-items-start cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 text-blue-900 adjust-icon-menu\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n ></i>\r\n <span class=\"text-base text-blue-900 font-medium\">{{ menu.descricaomenu }}</span>\r\n <i class=\"pi pi-chevron-down ml-auto text-blue-900 adjust-icon-menu\"></i>\r\n </a>\r\n\r\n <!-- filhos -->\r\n <ul\r\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\"\r\n >\r\n <li *ngFor=\"\r\n let filho of retornarMenuFilhos(menu.idsistema, menu.idmenu)\r\n \">\r\n <a\r\n pRipple\r\n class=\"flex align-items-start cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 adjust-icon-menu\"\r\n *ngIf=\"filho.icone && filho.icone !== ''\"\r\n ></i>\r\n <span class=\"text-base text-blue-900\">{{ filho.descricaomenu }}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-sidebar>\r\n\r\n\r\n <div\r\n class=\"w-full h-screen page-content\"\r\n style=\"margin-left: 320px;\"\r\n id=\"page-content\"\r\n >\r\n\r\n <div>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between m-3 top-bar-content\"\r\n id=\"top-bar-content\"\r\n [style]=\"{width: '{{widthTopBar}}px'}\"\r\n >\r\n <div style=\"width: 400px;\">\r\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">{{breadCrumbItems[breadCrumbItems.length -\r\n 1].label}}</p>\r\n <p-breadcrumb\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem\"\r\n [model]=\"breadCrumbItems\"\r\n [style]=\"{backgroundColor: '#d4d3d3'}\"\r\n (onItemClick)=\"callRoute($event)\"\r\n ></p-breadcrumb>\r\n </div>\r\n\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <button\r\n pButton\r\n icon=\"pi pi-th-large\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n (click)=\"sistemasPanel.toggle($event)\"\r\n [pTooltip]=\"'Sistemas'\"\r\n [tooltipPosition]=\"'left'\"\r\n ></button>\r\n <button\r\n pButton\r\n icon=\"pi pi-user\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n (click)=\"meusDadosPanel.toggle($event)\"\r\n [pTooltip]=\"'Meus Dados'\"\r\n [tooltipPosition]=\"'left'\"\r\n ></button>\r\n </div>\r\n </div>\r\n\r\n <!-- <div\r\n [style]=\"{height: heigthCard - 105 + 'px'}\"\r\n class=\" overflow-y-auto overflow-x-hidden card-container\"\r\n >\r\n <p-card styleClass=\"m-3 border-noround\">\r\n\r\n <ng-content></ng-content>\r\n </p-card>\r\n </div> -->\r\n\r\n\r\n <p-card\r\n class=\"card-container\"\r\n styleClass=\"m-3 border-noround overflow-y-auto card-container\"\r\n [style]=\"{height: heigthCard - 105 + 'px'}\"\r\n >\r\n <ng-content class=\"w-full\"></ng-content>\r\n\r\n </p-card>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n<!-- \r\n<div #menu> asdasasdadas</div> -->\r\n\r\n<!-- <p-overlayPanel #overlayPanel>\r\n <ng-template pTemplate=\"content\">\r\n <h4>Custom Content</h4>\r\n </ng-template>\r\n</p-overlayPanel> -->\r\n\r\n<p-overlayPanel\r\n #sistemasPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Sistemas</p>\r\n <div\r\n class=\"flex flex-row flex-wrap align-items-center gap-2 align-items-center justify-content-center mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n >\r\n <button\r\n *ngFor=\"let menu of menuCompleto\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <!-- <img\r\n alt=\"logo\"\r\n style=\"width: 2rem; height: 2rem;\"\r\n /> -->\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n\r\n </button>\r\n\r\n\r\n <!-- <p-button styleClass=\"p-button-outlined\">\r\n <img alt=\"logo\" src=\"https://primefaces.org/cdn/primeng/images/primeng-icon.svg\" style=\"width: 1.5rem\" />\r\n <span class=\"ml-2 font-bold\">PrimeNG</span>\r\n </p-button> -->\r\n\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Ol\u00E1, Usu\u00E1rio !</p>\r\n <div\r\n class=\"mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n ></div>\r\n\r\n <p-button\r\n icon=\"pi pi-lock\"\r\n label=\"Ger\u00EAnciar KeevoPass\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n <p-button\r\n icon=\"pi pi-sign-out\"\r\n label=\"Sair\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n\r\n </ng-template>\r\n</p-overlayPanel>", styles: ["@charset \"UTF-8\";.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}::ng-deep .p-button:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}::ng-deep .p-overlaypanel .p-overlaypanel-content{padding:0}::ng-deep .hover-btn-cor-padrao.p-button:enabled:hover{background:#0c3e66;border-color:#002542}.p-button.p-button-icon-only.p-button-rounded{background:#0c3e66;border-color:#002542}::ng-deep .remove-focus:focus{border:none}::ng-deep .p-sidebar .p-sidebar-content{padding:0}::ng-deep .sidebar-header-sistema.p-sidebar .p-sidebar-header{padding-top:.5rem;padding-right:0;padding-bottom:0;padding-left:0;display:block}.ajuste-padding{padding:.8rem 1rem .8rem .7rem;color:red}.btn-sistema{display:flex;align-items:center;justify-content:center;background-color:#0c3e66;font-size:20px}::ng-deep .p-sidebar .p-sidebar-header{padding:0rem!important}::ng-deep body{margin:0!important}::ng-deep .p-breadcrumb ul li.p-breadcrumb-chevron{position:relative;top:3px}.page-content{background:linear-gradient(to bottom,#d4d3d3 20%,#ffffff 30%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .p-breadcrumb ul li:last-child .p-menuitem-text{font-weight:700}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text{color:#0c3e66!important;font-weight:500}span{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .top-bar-content{width:calc(100% - 165px)}::ng-deep .card-container{width:calc(100% - 165px)}::ng-deep .card-container::-webkit-scrollbar{width:8px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{background-color:#dededebf}.title-style{position:relative;top:10px;margin-left:20px;font-size:25px;color:#002542;border-bottom:2px solid green;font-weight:600;display:inline}.adjust-icon-menu{position:relative;top:2px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i4.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i6.Divider, selector: "p-divider", inputs: ["styleClass", "style", "layout", "type", "align"] }, { kind: "component", type: i7.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i8.Ripple, selector: "[pRipple]" }, { kind: "component", type: i9.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i10.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterClass", "enterActiveClass", "enterToClass", "leaveClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape"] }, { kind: "component", type: i11.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }] });
|
|
103
|
+
MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MenuComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
104
|
+
MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MenuComponent, selector: "kv-menu", inputs: { menuCompleto: "menuCompleto", licencas: "licencas", licencaSelecionada: "licencaSelecionada", logoImage: "logoImage" }, outputs: { gerenciarKeePassEvent: "gerenciarKeePassEvent", sairEvent: "sairEvent" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "sidebarRef", first: true, predicate: ["sidebarRef"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\r\n\r\n <div [style]=\"{minWidth: expandMenu ? '300px' : '60px'}\"></div>\r\n\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{width: expandMenu ? '300px' : '60px'}\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"flex flex-column {{expandMenu ? 'mx-1' : 'mx-1'}}\">\r\n <div class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}} py-3\"\r\n >\r\n <img\r\n *ngIf=\"expandMenu\"\r\n alt=\"Card\"\r\n [src]=\"logoImage\"\r\n width=\"150\"\r\n />\r\n\r\n <button\r\n pButton\r\n icon=\"pi pi-bars\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n [pTooltip]=\"'Ocutar Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"toggleMenu()\"\r\n ></button>\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\"\r\n >\r\n <div\r\n class=\"flex flex-column\"\r\n *ngIf=\"expandMenu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n >\r\n <span\r\n class=\"text-sm font-semibold mr-2\"\r\n [pTooltip]=\"this.licencaSelecionada.razaosocial\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n {{\r\n MascaraNomeLicenca(this.licencaSelecionada.razaosocial)\r\n }}\r\n </span>\r\n <span class=\"text-sm mt-1\">{{MascaraCnpj(this.licencaSelecionada.cnpj)}}</span>\r\n </div>\r\n\r\n <button\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n pButton\r\n icon=\"pi pi-arrow-right-arrow-left\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n [pTooltip]=\"'Alterar Licen\u00E7a'\"\r\n [tooltipPosition]=\"'right'\"\r\n ></button>\r\n </div>\r\n <p-divider type=\"solid\"></p-divider>\r\n </div>\r\n\r\n <div\r\n class=\"list-none ajuste-padding m-0 card-container {{expandMenu ? 'mx-1' : ''}}\"\r\n [style.max-height]=\"(heigthCard - 220) + 'px'\"\r\n style=\"overflow-y: auto;\"\r\n >\r\n <!-- menus -->\r\n <li *ngFor=\"let menu of menus\">\r\n <!-- menu que n\u00E3o tem filho -->\r\n <a\r\n [routerLink]=\"expandMenu ? menu.link : ''\"\r\n (click)=\"!expandMenu ? expandMenu = !expandMenu : ''\"\r\n *ngIf=\"!menu.menupai && menu.idmenupai == 0\"\r\n pRipple\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n [tooltipPosition]=\"'right'\"\r\n class=\"h-3rem flex align-items-center no-underline {{!expandMenu ? 'justify-content-center' : ''}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </a>\r\n\r\n <!-- menu com filho -->\r\n <div *ngIf=\"menu.menupai\">\r\n <a\r\n pRipple\r\n pStyleClass=\"@next\"\r\n enterClass=\"hidden\"\r\n enterActiveClass=\"slidedown\"\r\n leaveToClass=\"hidden\"\r\n leaveActiveClass=\"slideup\"\r\n class=\"h-3rem flex align-items-center {{!expandMenu ? 'justify-content-center' : 'justify-content-between'}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n [tooltipPosition]=\"'right'\"\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n (click)=\"!expandMenu ? expandMenu = !expandMenu : ''\"\r\n >\r\n <div class=\"flex flex-row align-items-center\">\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </div>\r\n <i\r\n class=\"pi pi-chevron-down text-blue-900 mr-1\"\r\n *ngIf=\"expandMenu\"\r\n ></i>\r\n </a>\r\n\r\n <!-- filhos -->\r\n <div\r\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\"\r\n >\r\n <li *ngFor=\"\r\n let filho of retornarMenuFilhos(menu.idsistema, menu.idmenu)\r\n \">\r\n <a\r\n *ngIf=\"expandMenu\"\r\n [routerLink]=\"filho.link\"\r\n pRipple\r\n class=\"flex align-items-center no-underline cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple p-2\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 ml-1 adjust-icon-menu\"\r\n *ngIf=\"filho.icone && filho.icone !== ''\"\r\n ></i>\r\n <span\r\n class=\"text-base text-blue-900\"\r\n *ngIf=\"expandMenu\"\r\n >{{ filho.descricaomenu }}</span>\r\n </a>\r\n </li>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n</ng-template>\r\n</p-sidebar>\r\n\r\n\r\n<div\r\n class=\"w-auto h-screen page-content overflow-y-hidden\"\r\n id=\"page-content\"\r\n>\r\n\r\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\r\n <div>\r\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">{{breadCrumbItems[breadCrumbItems.length -\r\n 1].label}}</p>\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem\"\r\n [model]=\"breadCrumbItems\"\r\n [style]=\"{backgroundColor: '#d4d3d3'}\"\r\n (onItemClick)=\"callRoute($event)\"\r\n ></p-breadcrumb>\r\n </div>\r\n\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <button\r\n pButton\r\n icon=\"pi pi-th-large\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n (click)=\"sistemasPanel.toggle($event)\"\r\n [pTooltip]=\"'Sistemas'\"\r\n [tooltipPosition]=\"'left'\"\r\n ></button>\r\n <button\r\n pButton\r\n icon=\"pi pi-user\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n (click)=\"meusDadosPanel.toggle($event)\"\r\n [pTooltip]=\"'Meus Dados'\"\r\n [tooltipPosition]=\"'left'\"\r\n ></button>\r\n </div>\r\n </div>\r\n\r\n <p-card\r\n class=\"card-container\"\r\n styleClass=\"m-3 border-noround overflow-y-auto card-container\"\r\n [style]=\"{height: heigthCard - (widthCard > 400 ? 105 : 83) + 'px'}\"\r\n >\r\n <div class=\"card-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n </p-card>\r\n\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n<p-overlayPanel\r\n #sistemasPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Sistemas</p>\r\n <div\r\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n >\r\n <button\r\n *ngFor=\"let menu of menusFiltrados\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <!-- <img\r\n alt=\"logo\"\r\n style=\"width: 2rem; height: 2rem;\"\r\n /> -->\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n\r\n </button>\r\n\r\n\r\n <!-- <p-button styleClass=\"p-button-outlined\">\r\n <img alt=\"logo\" src=\"https://primefaces.org/cdn/primeng/images/primeng-icon.svg\" style=\"width: 1.5rem\" />\r\n <span class=\"ml-2 font-bold\">PrimeNG</span>\r\n </p-button> -->\r\n\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Ol\u00E1, Usu\u00E1rio !</p>\r\n <div class=\"mt-5 mb-3\">\r\n\r\n </div>\r\n\r\n <p-button\r\n icon=\"pi pi-lock\"\r\n label=\"Ger\u00EAnciar KeevoPass\"\r\n (onClick)=\"gerenciarKeePass()\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n <p-button\r\n icon=\"pi pi-sign-out\"\r\n label=\"Sair\"\r\n (onClick)=\"sair()\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n </ng-template>\r\n\r\n</p-overlayPanel>\r\n\r\n<p-dialog\r\n [(visible)]=\"visibleDialogLicenca\"\r\n [modal]=\"true\"\r\n [draggable]=\"false\"\r\n header=\"Trocar Licen\u00E7a\"\r\n [style]=\"{width: '50vh' }\"\r\n>\r\n <div class=\"flex flex-column align-items-end\">\r\n\r\n <div class=\"w-full\">\r\n <p-dropdown\r\n styleClass=\"w-full\"\r\n [options]=\"licencasOptions\"\r\n [(ngModel)]=\"licencaSelected\"\r\n optionLabel=\"descricao\"\r\n ></p-dropdown>\r\n </div>\r\n\r\n\r\n <kv-button-success\r\n [label]=\"'Salvar'\"\r\n class=\"mt-2\"\r\n (onClick)=\"setLicenca()\"\r\n ></kv-button-success>\r\n\r\n </div>\r\n\r\n</p-dialog>", styles: ["@charset \"UTF-8\";.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}::ng-deep .p-button:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}::ng-deep .p-overlaypanel .p-overlaypanel-content{padding:0}::ng-deep .hover-btn-cor-padrao.p-button:enabled:hover{background:#0c3e66;border-color:#002542}.p-button.p-button-icon-only.p-button-rounded{background:#0c3e66;border-color:#002542}::ng-deep .remove-focus:focus{border:none}::ng-deep .p-sidebar .p-sidebar-content{padding:0}::ng-deep .sidebar-header-sistema.p-sidebar .p-sidebar-header{padding-top:.5rem;padding-right:0;padding-bottom:0;padding-left:0;display:block}.ajuste-padding{color:red}.btn-sistema{display:flex;align-items:center;justify-content:center;background-color:#0c3e66;font-size:20px}::ng-deep .p-sidebar .p-sidebar-header{padding:0rem!important}::ng-deep body{margin:0!important}::ng-deep .p-breadcrumb ul li.p-breadcrumb-chevron{position:relative;top:3px}.page-content{background:linear-gradient(to bottom,#d4d3d3 20%,#ffffff 30%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .p-breadcrumb ul li:last-child .p-menuitem-text{font-weight:700}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text{color:#0c3e66!important;font-weight:500}span,.breadcrumb-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.title-style{position:relative;top:10px;margin-left:20px;font-size:25px;color:#002542;border-bottom:2px solid green;font-weight:600;display:inline}::ng-deep p-sidebar .p-sidebar-content{overflow-y:hidden}::ng-deep p-dialog .p-dialog-content{overflow-y:unset}.icon-menu{color:#002542}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i4.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i7.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: i8.Divider, selector: "p-divider", inputs: ["styleClass", "style", "layout", "type", "align"] }, { kind: "component", type: i9.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i10.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i11.Ripple, selector: "[pRipple]" }, { kind: "component", type: i12.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i13.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterClass", "enterActiveClass", "enterToClass", "leaveClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape"] }, { kind: "component", type: i14.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i15.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i15.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i16.ButtonSuccessComponent, selector: "kv-button-success" }] });
|
|
64
105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MenuComponent, decorators: [{
|
|
65
106
|
type: Component,
|
|
66
|
-
args: [{ selector: 'kv-menu', template: "<!-- <p-sidebar\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n styleClass=\"w-3rem barrasistemas sidebar-header-sistema\"\r\n [modal]=\"false\"\r\n>\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"flex flex-column align-items-center justify-content-center\">\r\n <button\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus\"\r\n icon=\"pi pi-user\"\r\n ></button>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"footer\">\r\n <div class=\"flex flex-column gap-2 align-items-center\">\r\n <button\r\n *ngFor=\"let menu of menuCompleto\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n >\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n </button>\r\n </div>\r\n </ng-template>\r\n</p-sidebar> -->\r\n\r\n<div class=\"flex flex-row\">\r\n\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{widthTopBar: '50px'}\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"flex flex-column h-full w-full\">\r\n <div class=\"flex flex-column gap-2 justify-content-between px-4 flex-shrink-0\">\r\n <div class=\"flex flex-row align-items-center justify-content-between py-3\">\r\n <img\r\n alt=\"Card\"\r\n src=\"../../assets/images/LogoEvo.png\"\r\n width=\"150\"\r\n />\r\n\r\n <button\r\n pButton\r\n icon=\"pi pi-bars\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n [pTooltip]=\"'Ocutar Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"testeAlo()\"\r\n ></button>\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center justify-content-between\">\r\n <div class=\"flex flex-column\">\r\n <span\r\n class=\"text-sm font-semibold mr-2\"\r\n pTooltip=\"CERTMASTER TECNOLOGIA DA INFORMA\u00C7\u00C3O LTDA\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n {{\r\n MascaraNomeLincenca(\"CERTMASTER TECNOLOGIA DA INFORMA\u00C7\u00C3O LTDA\")\r\n }}\r\n </span>\r\n <span class=\"text-sm mt-1\">33.600.466/0001-87</span>\r\n </div>\r\n\r\n <button\r\n pButton\r\n icon=\"pi pi-arrow-right-arrow-left\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n [pTooltip]=\"'Alterar Licen\u00E7a'\"\r\n [tooltipPosition]=\"'right'\"\r\n ></button>\r\n </div>\r\n <p-divider type=\"solid\"></p-divider>\r\n\r\n </div>\r\n\r\n <div class=\"overflow-y-auto card-container\">\r\n <ul class=\"list-none ajuste-padding m-0 \">\r\n <!-- menus -->\r\n <li *ngFor=\"let menu of menus\">\r\n <!-- menu que n\u00E3o tem filho -->\r\n <a\r\n *ngIf=\"!menu.menupai && menu.idmenupai == 0\"\r\n pRipple\r\n class=\"flex align-items-start cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n <i class=\"pi pi-home mr-2 text-blue-900 adjust-icon-menu\"></i>\r\n <span class=\"text-base text-blue-900 font-medium\">{{ menu.descricaomenu }}</span>\r\n </a>\r\n\r\n <!-- menu com filho -->\r\n <div *ngIf=\"menu.menupai\">\r\n <a\r\n pRipple\r\n pStyleClass=\"@next\"\r\n enterClass=\"hidden\"\r\n enterActiveClass=\"slidedown\"\r\n leaveToClass=\"hidden\"\r\n leaveActiveClass=\"slideup\"\r\n class=\"flex align-items-start cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 text-blue-900 adjust-icon-menu\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n ></i>\r\n <span class=\"text-base text-blue-900 font-medium\">{{ menu.descricaomenu }}</span>\r\n <i class=\"pi pi-chevron-down ml-auto text-blue-900 adjust-icon-menu\"></i>\r\n </a>\r\n\r\n <!-- filhos -->\r\n <ul\r\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\"\r\n >\r\n <li *ngFor=\"\r\n let filho of retornarMenuFilhos(menu.idsistema, menu.idmenu)\r\n \">\r\n <a\r\n pRipple\r\n class=\"flex align-items-start cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 adjust-icon-menu\"\r\n *ngIf=\"filho.icone && filho.icone !== ''\"\r\n ></i>\r\n <span class=\"text-base text-blue-900\">{{ filho.descricaomenu }}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-sidebar>\r\n\r\n\r\n <div\r\n class=\"w-full h-screen page-content\"\r\n style=\"margin-left: 320px;\"\r\n id=\"page-content\"\r\n >\r\n\r\n <div>\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-between m-3 top-bar-content\"\r\n id=\"top-bar-content\"\r\n [style]=\"{width: '{{widthTopBar}}px'}\"\r\n >\r\n <div style=\"width: 400px;\">\r\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">{{breadCrumbItems[breadCrumbItems.length -\r\n 1].label}}</p>\r\n <p-breadcrumb\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem\"\r\n [model]=\"breadCrumbItems\"\r\n [style]=\"{backgroundColor: '#d4d3d3'}\"\r\n (onItemClick)=\"callRoute($event)\"\r\n ></p-breadcrumb>\r\n </div>\r\n\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <button\r\n pButton\r\n icon=\"pi pi-th-large\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n (click)=\"sistemasPanel.toggle($event)\"\r\n [pTooltip]=\"'Sistemas'\"\r\n [tooltipPosition]=\"'left'\"\r\n ></button>\r\n <button\r\n pButton\r\n icon=\"pi pi-user\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n (click)=\"meusDadosPanel.toggle($event)\"\r\n [pTooltip]=\"'Meus Dados'\"\r\n [tooltipPosition]=\"'left'\"\r\n ></button>\r\n </div>\r\n </div>\r\n\r\n <!-- <div\r\n [style]=\"{height: heigthCard - 105 + 'px'}\"\r\n class=\" overflow-y-auto overflow-x-hidden card-container\"\r\n >\r\n <p-card styleClass=\"m-3 border-noround\">\r\n\r\n <ng-content></ng-content>\r\n </p-card>\r\n </div> -->\r\n\r\n\r\n <p-card\r\n class=\"card-container\"\r\n styleClass=\"m-3 border-noround overflow-y-auto card-container\"\r\n [style]=\"{height: heigthCard - 105 + 'px'}\"\r\n >\r\n <ng-content class=\"w-full\"></ng-content>\r\n\r\n </p-card>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n<!-- \r\n<div #menu> asdasasdadas</div> -->\r\n\r\n<!-- <p-overlayPanel #overlayPanel>\r\n <ng-template pTemplate=\"content\">\r\n <h4>Custom Content</h4>\r\n </ng-template>\r\n</p-overlayPanel> -->\r\n\r\n<p-overlayPanel\r\n #sistemasPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Sistemas</p>\r\n <div\r\n class=\"flex flex-row flex-wrap align-items-center gap-2 align-items-center justify-content-center mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n >\r\n <button\r\n *ngFor=\"let menu of menuCompleto\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <!-- <img\r\n alt=\"logo\"\r\n style=\"width: 2rem; height: 2rem;\"\r\n /> -->\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n\r\n </button>\r\n\r\n\r\n <!-- <p-button styleClass=\"p-button-outlined\">\r\n <img alt=\"logo\" src=\"https://primefaces.org/cdn/primeng/images/primeng-icon.svg\" style=\"width: 1.5rem\" />\r\n <span class=\"ml-2 font-bold\">PrimeNG</span>\r\n </p-button> -->\r\n\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Ol\u00E1, Usu\u00E1rio !</p>\r\n <div\r\n class=\"mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n ></div>\r\n\r\n <p-button\r\n icon=\"pi pi-lock\"\r\n label=\"Ger\u00EAnciar KeevoPass\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n <p-button\r\n icon=\"pi pi-sign-out\"\r\n label=\"Sair\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n\r\n </ng-template>\r\n</p-overlayPanel>", styles: ["@charset \"UTF-8\";.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}::ng-deep .p-button:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}::ng-deep .p-overlaypanel .p-overlaypanel-content{padding:0}::ng-deep .hover-btn-cor-padrao.p-button:enabled:hover{background:#0c3e66;border-color:#002542}.p-button.p-button-icon-only.p-button-rounded{background:#0c3e66;border-color:#002542}::ng-deep .remove-focus:focus{border:none}::ng-deep .p-sidebar .p-sidebar-content{padding:0}::ng-deep .sidebar-header-sistema.p-sidebar .p-sidebar-header{padding-top:.5rem;padding-right:0;padding-bottom:0;padding-left:0;display:block}.ajuste-padding{padding:.8rem 1rem .8rem .7rem;color:red}.btn-sistema{display:flex;align-items:center;justify-content:center;background-color:#0c3e66;font-size:20px}::ng-deep .p-sidebar .p-sidebar-header{padding:0rem!important}::ng-deep body{margin:0!important}::ng-deep .p-breadcrumb ul li.p-breadcrumb-chevron{position:relative;top:3px}.page-content{background:linear-gradient(to bottom,#d4d3d3 20%,#ffffff 30%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .p-breadcrumb ul li:last-child .p-menuitem-text{font-weight:700}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text{color:#0c3e66!important;font-weight:500}span{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .top-bar-content{width:calc(100% - 165px)}::ng-deep .card-container{width:calc(100% - 165px)}::ng-deep .card-container::-webkit-scrollbar{width:8px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{background-color:#dededebf}.title-style{position:relative;top:10px;margin-left:20px;font-size:25px;color:#002542;border-bottom:2px solid green;font-weight:600;display:inline}.adjust-icon-menu{position:relative;top:2px}\n"] }]
|
|
67
|
-
}], ctorParameters: function () { return []; }, propDecorators: { menuCompleto: [{
|
|
107
|
+
args: [{ selector: 'kv-menu', template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\r\n\r\n <div [style]=\"{minWidth: expandMenu ? '300px' : '60px'}\"></div>\r\n\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{width: expandMenu ? '300px' : '60px'}\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"flex flex-column {{expandMenu ? 'mx-1' : 'mx-1'}}\">\r\n <div class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}} py-3\"\r\n >\r\n <img\r\n *ngIf=\"expandMenu\"\r\n alt=\"Card\"\r\n [src]=\"logoImage\"\r\n width=\"150\"\r\n />\r\n\r\n <button\r\n pButton\r\n icon=\"pi pi-bars\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n [pTooltip]=\"'Ocutar Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n (click)=\"toggleMenu()\"\r\n ></button>\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\"\r\n >\r\n <div\r\n class=\"flex flex-column\"\r\n *ngIf=\"expandMenu\"\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n >\r\n <span\r\n class=\"text-sm font-semibold mr-2\"\r\n [pTooltip]=\"this.licencaSelecionada.razaosocial\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n {{\r\n MascaraNomeLicenca(this.licencaSelecionada.razaosocial)\r\n }}\r\n </span>\r\n <span class=\"text-sm mt-1\">{{MascaraCnpj(this.licencaSelecionada.cnpj)}}</span>\r\n </div>\r\n\r\n <button\r\n (click)=\"visibleDialogLicenca = !visibleDialogLicenca\"\r\n pButton\r\n icon=\"pi pi-arrow-right-arrow-left\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n [pTooltip]=\"'Alterar Licen\u00E7a'\"\r\n [tooltipPosition]=\"'right'\"\r\n ></button>\r\n </div>\r\n <p-divider type=\"solid\"></p-divider>\r\n </div>\r\n\r\n <div\r\n class=\"list-none ajuste-padding m-0 card-container {{expandMenu ? 'mx-1' : ''}}\"\r\n [style.max-height]=\"(heigthCard - 220) + 'px'\"\r\n style=\"overflow-y: auto;\"\r\n >\r\n <!-- menus -->\r\n <li *ngFor=\"let menu of menus\">\r\n <!-- menu que n\u00E3o tem filho -->\r\n <a\r\n [routerLink]=\"expandMenu ? menu.link : ''\"\r\n (click)=\"!expandMenu ? expandMenu = !expandMenu : ''\"\r\n *ngIf=\"!menu.menupai && menu.idmenupai == 0\"\r\n pRipple\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n [tooltipPosition]=\"'right'\"\r\n class=\"h-3rem flex align-items-center no-underline {{!expandMenu ? 'justify-content-center' : ''}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </a>\r\n\r\n <!-- menu com filho -->\r\n <div *ngIf=\"menu.menupai\">\r\n <a\r\n pRipple\r\n pStyleClass=\"@next\"\r\n enterClass=\"hidden\"\r\n enterActiveClass=\"slidedown\"\r\n leaveToClass=\"hidden\"\r\n leaveActiveClass=\"slideup\"\r\n class=\"h-3rem flex align-items-center {{!expandMenu ? 'justify-content-center' : 'justify-content-between'}} cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n [tooltipPosition]=\"'right'\"\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n (click)=\"!expandMenu ? expandMenu = !expandMenu : ''\"\r\n >\r\n <div class=\"flex flex-row align-items-center\">\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </div>\r\n <i\r\n class=\"pi pi-chevron-down text-blue-900 mr-1\"\r\n *ngIf=\"expandMenu\"\r\n ></i>\r\n </a>\r\n\r\n <!-- filhos -->\r\n <div\r\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\"\r\n >\r\n <li *ngFor=\"\r\n let filho of retornarMenuFilhos(menu.idsistema, menu.idmenu)\r\n \">\r\n <a\r\n *ngIf=\"expandMenu\"\r\n [routerLink]=\"filho.link\"\r\n pRipple\r\n class=\"flex align-items-center no-underline cursor-pointer ajuste-padding border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple p-2\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 ml-1 adjust-icon-menu\"\r\n *ngIf=\"filho.icone && filho.icone !== ''\"\r\n ></i>\r\n <span\r\n class=\"text-base text-blue-900\"\r\n *ngIf=\"expandMenu\"\r\n >{{ filho.descricaomenu }}</span>\r\n </a>\r\n </li>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n</ng-template>\r\n</p-sidebar>\r\n\r\n\r\n<div\r\n class=\"w-auto h-screen page-content overflow-y-hidden\"\r\n id=\"page-content\"\r\n>\r\n\r\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\r\n <div>\r\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">{{breadCrumbItems[breadCrumbItems.length -\r\n 1].label}}</p>\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem\"\r\n [model]=\"breadCrumbItems\"\r\n [style]=\"{backgroundColor: '#d4d3d3'}\"\r\n (onItemClick)=\"callRoute($event)\"\r\n ></p-breadcrumb>\r\n </div>\r\n\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <button\r\n pButton\r\n icon=\"pi pi-th-large\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n (click)=\"sistemasPanel.toggle($event)\"\r\n [pTooltip]=\"'Sistemas'\"\r\n [tooltipPosition]=\"'left'\"\r\n ></button>\r\n <button\r\n pButton\r\n icon=\"pi pi-user\"\r\n class=\"p-button-rounded h-2rem w-2rem\"\r\n (click)=\"meusDadosPanel.toggle($event)\"\r\n [pTooltip]=\"'Meus Dados'\"\r\n [tooltipPosition]=\"'left'\"\r\n ></button>\r\n </div>\r\n </div>\r\n\r\n <p-card\r\n class=\"card-container\"\r\n styleClass=\"m-3 border-noround overflow-y-auto card-container\"\r\n [style]=\"{height: heigthCard - (widthCard > 400 ? 105 : 83) + 'px'}\"\r\n >\r\n <div class=\"card-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n </p-card>\r\n\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n<p-overlayPanel\r\n #sistemasPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Sistemas</p>\r\n <div\r\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n >\r\n <button\r\n *ngFor=\"let menu of menusFiltrados\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <!-- <img\r\n alt=\"logo\"\r\n style=\"width: 2rem; height: 2rem;\"\r\n /> -->\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n\r\n </button>\r\n\r\n\r\n <!-- <p-button styleClass=\"p-button-outlined\">\r\n <img alt=\"logo\" src=\"https://primefaces.org/cdn/primeng/images/primeng-icon.svg\" style=\"width: 1.5rem\" />\r\n <span class=\"ml-2 font-bold\">PrimeNG</span>\r\n </p-button> -->\r\n\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Ol\u00E1, Usu\u00E1rio !</p>\r\n <div class=\"mt-5 mb-3\">\r\n\r\n </div>\r\n\r\n <p-button\r\n icon=\"pi pi-lock\"\r\n label=\"Ger\u00EAnciar KeevoPass\"\r\n (onClick)=\"gerenciarKeePass()\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n <p-button\r\n icon=\"pi pi-sign-out\"\r\n label=\"Sair\"\r\n (onClick)=\"sair()\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n </ng-template>\r\n\r\n</p-overlayPanel>\r\n\r\n<p-dialog\r\n [(visible)]=\"visibleDialogLicenca\"\r\n [modal]=\"true\"\r\n [draggable]=\"false\"\r\n header=\"Trocar Licen\u00E7a\"\r\n [style]=\"{width: '50vh' }\"\r\n>\r\n <div class=\"flex flex-column align-items-end\">\r\n\r\n <div class=\"w-full\">\r\n <p-dropdown\r\n styleClass=\"w-full\"\r\n [options]=\"licencasOptions\"\r\n [(ngModel)]=\"licencaSelected\"\r\n optionLabel=\"descricao\"\r\n ></p-dropdown>\r\n </div>\r\n\r\n\r\n <kv-button-success\r\n [label]=\"'Salvar'\"\r\n class=\"mt-2\"\r\n (onClick)=\"setLicenca()\"\r\n ></kv-button-success>\r\n\r\n </div>\r\n\r\n</p-dialog>", styles: ["@charset \"UTF-8\";.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}::ng-deep .p-button:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}::ng-deep .p-overlaypanel .p-overlaypanel-content{padding:0}::ng-deep .hover-btn-cor-padrao.p-button:enabled:hover{background:#0c3e66;border-color:#002542}.p-button.p-button-icon-only.p-button-rounded{background:#0c3e66;border-color:#002542}::ng-deep .remove-focus:focus{border:none}::ng-deep .p-sidebar .p-sidebar-content{padding:0}::ng-deep .sidebar-header-sistema.p-sidebar .p-sidebar-header{padding-top:.5rem;padding-right:0;padding-bottom:0;padding-left:0;display:block}.ajuste-padding{color:red}.btn-sistema{display:flex;align-items:center;justify-content:center;background-color:#0c3e66;font-size:20px}::ng-deep .p-sidebar .p-sidebar-header{padding:0rem!important}::ng-deep body{margin:0!important}::ng-deep .p-breadcrumb ul li.p-breadcrumb-chevron{position:relative;top:3px}.page-content{background:linear-gradient(to bottom,#d4d3d3 20%,#ffffff 30%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .p-breadcrumb ul li:last-child .p-menuitem-text{font-weight:700}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text{color:#0c3e66!important;font-weight:500}span,.breadcrumb-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.title-style{position:relative;top:10px;margin-left:20px;font-size:25px;color:#002542;border-bottom:2px solid green;font-weight:600;display:inline}::ng-deep p-sidebar .p-sidebar-content{overflow-y:hidden}::ng-deep p-dialog .p-dialog-content{overflow-y:unset}.icon-menu{color:#002542}\n"] }]
|
|
108
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { menuCompleto: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], licencas: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], licencaSelecionada: [{
|
|
68
113
|
type: Input
|
|
69
|
-
}],
|
|
114
|
+
}], logoImage: [{
|
|
70
115
|
type: Input
|
|
116
|
+
}], gerenciarKeePassEvent: [{
|
|
117
|
+
type: Output
|
|
118
|
+
}], sairEvent: [{
|
|
119
|
+
type: Output
|
|
71
120
|
}], sidebarRef: [{
|
|
72
121
|
type: ViewChild,
|
|
73
122
|
args: ['sidebarRef']
|
|
@@ -75,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
75
124
|
type: HostListener,
|
|
76
125
|
args: ['window:resize', ['$event']]
|
|
77
126
|
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvbWVudS9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9tZW51L21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVlsRixNQUFNLE9BQU8sYUFBYTtJQWV4QixjQUFjO1FBQ1osSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELGFBQWEsQ0FBQyxDQUFRO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLGtCQUFrQixDQUFBO1FBQ2hELE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUNmLENBQUM7SUFFRDtRQTVCUyxpQkFBWSxHQUF3QixFQUFFLENBQUM7UUFDdkMsb0JBQWUsR0FBZSxFQUFFLENBQUM7UUFJMUMsVUFBSyxHQUFnQixFQUFFLENBQUM7SUF1QlIsQ0FBQztJQUVqQixRQUFRO1FBRU4sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUM1RixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFFMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUVoTyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRWhGLElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRTdFLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO0lBRy9CLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxXQUFtQjtRQUNyQyxPQUFPLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsU0FBaUI7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JDLElBQUksQ0FBQyxLQUFLO1lBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEtBQUs7Z0JBQ3RFLEVBQUUsQ0FBQztRQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBaUIsRUFBRSxNQUFjO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFlBQVk7YUFDckIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUM7WUFDOUMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBTTtRQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFFdkMsMENBQTBDO0lBQzVDLENBQUM7OzBHQXhFVSxhQUFhOzhGQUFiLGFBQWEsMlNDWjFCLCt6VUFtU2lCOzJGRHZSSixhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7MEVBS1YsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQVNtQixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBSXZCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG1lbnVDb21wbGV0b01vZGVsIH0gZnJvbSAnLi4vYXBpL21vZGVscy9tZW51L21lbnVjb21wbGV0by5tb2RlbCc7XHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBTaWRlYmFyIH0gZnJvbSAncHJpbWVuZy9zaWRlYmFyJztcclxuaW1wb3J0IHsgbWVudU1vZGVsIH0gZnJvbSAnLi4vYXBpL21vZGVscy9tZW51L21lbnUubW9kZWwnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbWVudUNvbXBsZXRvOiBtZW51Q29tcGxldG9Nb2RlbFtdID0gW107XHJcbiAgQElucHV0KCkgYnJlYWRDcnVtYkl0ZW1zOiBNZW51SXRlbVtdID0gW107XHJcblxyXG5cclxuXHJcbiAgbWVudXM6IG1lbnVNb2RlbFtdID0gW107XHJcblxyXG4gIGhlaWd0aENhcmQhOiBudW1iZXI7XHJcbiAgd2lkdGhUb3BCYXIhOiBudW1iZXI7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3NpZGViYXJSZWYnKSBzaWRlYmFyUmVmITogU2lkZWJhcjtcclxuICBcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgb25XaW5kb3dSZXNpemUoKSB7XHJcbiAgICB0aGlzLmhlaWd0aENhcmQgPSBOdW1iZXIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhZ2UtY29udGVudCcpPy5vZmZzZXRIZWlnaHQpO1xyXG4gICAgdGhpcy53aWR0aFRvcEJhciA9IE51bWJlcihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9wLWJhci1jb250ZW50Jyk/Lm9mZnNldFdpZHRoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlQ2FsbGJhY2soZTogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuc2lkZWJhclJlZi5jbG9zZShlKTtcclxuICB9XHJcblxyXG4gIHRlc3RlQWxvKCkge1xyXG4gICAgdGhpcy5zaWRlYmFyUmVmLnN0eWxlLndpZHRoID0gJzUwcHggIWltcG9ydGFudGUnXHJcbiAgICBjb25zb2xlLmxvZygpXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZGVmaW5pck1lbnVzUG9yU2lzdGVtYSh0aGlzLm1lbnVDb21wbGV0b1swXT8uc2lzdGVtYS5pZHNpc3RlbWEpLCAxMjAwKVxyXG4gICAgY29uc29sZS5sb2codGhpcy5tZW51Q29tcGxldG8sICdPQUtPS09EQScpXHJcblxyXG4gICAgdGhpcy5icmVhZENydW1iSXRlbXMgPSBbeyBsYWJlbDogJ0NvbXB1dGVyJywgcm91dGVyTGluazogJy9jb21wdXRlcicgfSwgeyBsYWJlbDogJ05vdGVib29rJywgcm91dGVyTGluazogJy9Ob3RlYm9vaycgfSwgeyBsYWJlbDogJ0FjY2Vzc29yaWVzJywgcm91dGVyTGluazogJy9BY2Nlc3NvcmllcycgfSwgeyBsYWJlbDogJ0JhY2twYWNrcycsIHJvdXRlckxpbms6ICcvQmFja3BhY2tzJyB9XTtcclxuXHJcbiAgICB0aGlzLmhlaWd0aENhcmQgPSBOdW1iZXIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhZ2UtY29udGVudCcpPy5vZmZzZXRIZWlnaHQpO1xyXG4gICAgXHJcbiAgICB2YXIgd2lkdGhDYXJkID0gTnVtYmVyKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLWNvbnRlbnQnKT8ub2Zmc2V0V2lkdGgpO1xyXG4gICAgXHJcbiAgICB0aGlzLndpZHRoVG9wQmFyID0gd2lkdGhDYXJkO1xyXG5cclxuXHJcbiAgfVxyXG5cclxuICBNYXNjYXJhTm9tZUxpbmNlbmNhKG5vbWVMaWNlbmNhOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG5vbWVMaWNlbmNhLnN1YnN0cmluZygwLCAyNCkgKyAnLi4uJztcclxuICB9XHJcblxyXG4gIGRlZmluaXJNZW51c1BvclNpc3RlbWEoaWRzaXN0ZW1hOiBudW1iZXIpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZGVmXCIsIGlkc2lzdGVtYSlcclxuICAgIGNvbnNvbGUubG9nKFwibWVudSBhbnRlc1wiLCB0aGlzLm1lbnVzKVxyXG4gICAgdGhpcy5tZW51cyA9XHJcbiAgICAgIHRoaXMubWVudUNvbXBsZXRvLmZpbmQoKHgpID0+IHguc2lzdGVtYS5pZHNpc3RlbWEgPT0gaWRzaXN0ZW1hKT8ubWVudXMgfHxcclxuICAgICAgW107XHJcbiAgICBjb25zb2xlLmxvZyhcIm1lbnUgZHBzXCIsIHRoaXMubWVudXMpXHJcbiAgICBjb25zb2xlLmxvZygnZW50cmVpJywgaWRzaXN0ZW1hKVxyXG4gIH1cclxuXHJcbiAgcmV0b3JuYXJNZW51RmlsaG9zKGlkc2lzdGVtYTogbnVtYmVyLCBpZG1lbnU6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMubWVudUNvbXBsZXRvXHJcbiAgICAgIC5maW5kKCh4KSA9PiB4LnNpc3RlbWEuaWRzaXN0ZW1hID09IGlkc2lzdGVtYSlcclxuICAgICAgPy5tZW51cy5maWx0ZXIoKHgpID0+IHguaWRtZW51cGFpID09IGlkbWVudSk7XHJcbiAgfVxyXG5cclxuICBjYWxsUm91dGUoZTogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhlLCAnZXZlbnQnKVxyXG4gICAgY29uc29sZS5sb2coZS5pdGVtLnJvdXRlckxpbmssICdldmVudCcpXHJcblxyXG4gICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoZS5pdGVtLnJvdXRlckxpbmspXHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPCEtLSA8cC1zaWRlYmFyXHJcbiAgW3Zpc2libGVdPVwidHJ1ZVwiXHJcbiAgW3Nob3dDbG9zZUljb25dPVwiZmFsc2VcIlxyXG4gIHN0eWxlQ2xhc3M9XCJ3LTNyZW0gYmFycmFzaXN0ZW1hcyBzaWRlYmFyLWhlYWRlci1zaXN0ZW1hXCJcclxuICBbbW9kYWxdPVwiZmFsc2VcIlxyXG4+XHJcbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIHBCdXR0b25cclxuICAgICAgICBwUmlwcGxlXHJcbiAgICAgICAgY2xhc3M9XCJidG4tc2lzdGVtYS0yIGJ0bi1zaXN0ZW1hIGhvdmVyLWJ0bi1jb3ItcGFkcmFvIHJlbW92ZS1mb2N1c1wiXHJcbiAgICAgICAgaWNvbj1cInBpIHBpLXVzZXJcIlxyXG4gICAgICA+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGdhcC0yIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IG1lbnUgb2YgbWVudUNvbXBsZXRvXCJcclxuICAgICAgICBwQnV0dG9uXHJcbiAgICAgICAgcFJpcHBsZVxyXG4gICAgICAgIGNsYXNzPVwiYnRuLXNpc3RlbWEtMiBidG4tc2lzdGVtYSBob3Zlci1idG4tY29yLXBhZHJhbyByZW1vdmUtZm9jdXNcIlxyXG4gICAgICAgIChjbGljayk9XCJkZWZpbmlyTWVudXNQb3JTaXN0ZW1hKG1lbnUuc2lzdGVtYS5pZHNpc3RlbWEpXCJcclxuICAgICAgICBbcFRvb2x0aXBdPVwibWVudS5zaXN0ZW1hLmRlc2NyaWNhb3Npc3RlbWFcIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgbWVudS5zaXN0ZW1hLm5vbWVzaXN0ZW1hLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9wLXNpZGViYXI+IC0tPlxyXG5cclxuPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3dcIj5cclxuXHJcbiAgPHAtc2lkZWJhclxyXG4gICAgI3NpZGViYXJSZWZcclxuICAgIFt2aXNpYmxlXT1cInRydWVcIlxyXG4gICAgW3Nob3dDbG9zZUljb25dPVwiZmFsc2VcIlxyXG4gICAgW21vZGFsXT1cImZhbHNlXCJcclxuICAgIFtzdHlsZV09XCJ7d2lkdGhUb3BCYXI6ICc1MHB4J31cIlxyXG4gID5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkbGVzc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBoLWZ1bGwgdy1mdWxsXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gZ2FwLTIganVzdGlmeS1jb250ZW50LWJldHdlZW4gcHgtNCBmbGV4LXNocmluay0wXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gcHktM1wiPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgYWx0PVwiQ2FyZFwiXHJcbiAgICAgICAgICAgICAgc3JjPVwiLi4vLi4vYXNzZXRzL2ltYWdlcy9Mb2dvRXZvLnBuZ1wiXHJcbiAgICAgICAgICAgICAgd2lkdGg9XCIxNTBcIlxyXG4gICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIHBCdXR0b25cclxuICAgICAgICAgICAgICBpY29uPVwicGkgcGktYmFyc1wiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIGgtMnJlbSB3LTJyZW1cIlxyXG4gICAgICAgICAgICAgIFtwVG9vbHRpcF09XCInT2N1dGFyIE1lbnUnXCJcclxuICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0ZXN0ZUFsbygpXCJcclxuICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSBmb250LXNlbWlib2xkIG1yLTJcIlxyXG4gICAgICAgICAgICAgICAgcFRvb2x0aXA9XCJDRVJUTUFTVEVSIFRFQ05PTE9HSUEgREEgSU5GT1JNQcOHw4NPIExUREFcIlxyXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgTWFzY2FyYU5vbWVMaW5jZW5jYShcIkNFUlRNQVNURVIgVEVDTk9MT0dJQSBEQSBJTkZPUk1Bw4fDg08gTFREQVwiKVxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIG10LTFcIj4zMy42MDAuNDY2LzAwMDEtODc8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIHBCdXR0b25cclxuICAgICAgICAgICAgICBpY29uPVwicGkgcGktYXJyb3ctcmlnaHQtYXJyb3ctbGVmdFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIGgtMnJlbSB3LTJyZW1cIlxyXG4gICAgICAgICAgICAgIFtwVG9vbHRpcF09XCInQWx0ZXJhciBMaWNlbsOnYSdcIlxyXG4gICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHAtZGl2aWRlciB0eXBlPVwic29saWRcIj48L3AtZGl2aWRlcj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy15LWF1dG8gY2FyZC1jb250YWluZXJcIj5cclxuICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3Qtbm9uZSBhanVzdGUtcGFkZGluZyBtLTAgXCI+XHJcbiAgICAgICAgICAgIDwhLS0gbWVudXMgLS0+XHJcbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbWVudSBvZiBtZW51c1wiPlxyXG4gICAgICAgICAgICAgIDwhLS0gbWVudSBxdWUgbsOjbyB0ZW0gZmlsaG8gLS0+XHJcbiAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIW1lbnUubWVudXBhaSAmJiBtZW51LmlkbWVudXBhaSA9PSAwXCJcclxuICAgICAgICAgICAgICAgIHBSaXBwbGVcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1zdGFydCBjdXJzb3ItcG9pbnRlciBhanVzdGUtcGFkZGluZyBib3JkZXItcm91bmQgdGV4dC03MDAgaG92ZXI6YmctZ3JlZW4tNjAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1kdXJhdGlvbi0xNTAgdHJhbnNpdGlvbi1jb2xvcnMgcC1yaXBwbGVcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktaG9tZSBtci0yIHRleHQtYmx1ZS05MDAgYWRqdXN0LWljb24tbWVudVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1iYXNlIHRleHQtYmx1ZS05MDAgZm9udC1tZWRpdW1cIj57eyBtZW51LmRlc2NyaWNhb21lbnUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9hPlxyXG5cclxuICAgICAgICAgICAgICA8IS0tIG1lbnUgY29tIGZpbGhvIC0tPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtZW51Lm1lbnVwYWlcIj5cclxuICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgIHBSaXBwbGVcclxuICAgICAgICAgICAgICAgICAgcFN0eWxlQ2xhc3M9XCJAbmV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIGVudGVyQ2xhc3M9XCJoaWRkZW5cIlxyXG4gICAgICAgICAgICAgICAgICBlbnRlckFjdGl2ZUNsYXNzPVwic2xpZGVkb3duXCJcclxuICAgICAgICAgICAgICAgICAgbGVhdmVUb0NsYXNzPVwiaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgICAgbGVhdmVBY3RpdmVDbGFzcz1cInNsaWRldXBcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtc3RhcnQgY3Vyc29yLXBvaW50ZXIgYWp1c3RlLXBhZGRpbmcgYm9yZGVyLXJvdW5kIHRleHQtNzAwIGhvdmVyOmJnLWdyZWVuLTYwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tZHVyYXRpb24tMTUwIHRyYW5zaXRpb24tY29sb3JzIHAtcmlwcGxlXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBpIHBpLWNoYXJ0LWxpbmUgbXItMiB0ZXh0LWJsdWUtOTAwIGFkanVzdC1pY29uLW1lbnVcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibWVudS5pY29uZSAmJiBtZW51Lmljb25lICE9PSAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1iYXNlIHRleHQtYmx1ZS05MDAgZm9udC1tZWRpdW1cIj57eyBtZW51LmRlc2NyaWNhb21lbnUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktY2hldnJvbi1kb3duIG1sLWF1dG8gdGV4dC1ibHVlLTkwMCBhZGp1c3QtaWNvbi1tZW51XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG5cclxuICAgICAgICAgICAgICAgIDwhLS0gZmlsaG9zIC0tPlxyXG4gICAgICAgICAgICAgICAgPHVsXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGlzdC1ub25lIHB5LTAgcGwtMyBwci0wIG0tMCBoaWRkZW4gb3ZlcmZsb3cteS1oaWRkZW4gdHJhbnNpdGlvbi1hbGwgdHJhbnNpdGlvbi1kdXJhdGlvbi00MDAgdHJhbnNpdGlvbi1lYXNlLWluLW91dFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJcclxuICAgICAgICAgICAgICAgICAgbGV0IGZpbGhvIG9mIHJldG9ybmFyTWVudUZpbGhvcyhtZW51Lmlkc2lzdGVtYSwgbWVudS5pZG1lbnUpXHJcbiAgICAgICAgICAgICAgICBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgICAgcFJpcHBsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IGN1cnNvci1wb2ludGVyIGFqdXN0ZS1wYWRkaW5nIGJvcmRlci1yb3VuZCB0ZXh0LTcwMCBob3ZlcjpiZy1ncmVlbi02MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWR1cmF0aW9uLTE1MCB0cmFuc2l0aW9uLWNvbG9ycyBwLXJpcHBsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwaSBwaS1jaGFydC1saW5lIG1yLTIgYWRqdXN0LWljb24tbWVudVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmlsaG8uaWNvbmUgJiYgZmlsaG8uaWNvbmUgIT09ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtYmFzZSB0ZXh0LWJsdWUtOTAwXCI+e3sgZmlsaG8uZGVzY3JpY2FvbWVudSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvcC1zaWRlYmFyPlxyXG5cclxuXHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJ3LWZ1bGwgaC1zY3JlZW4gcGFnZS1jb250ZW50XCJcclxuICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDMyMHB4O1wiXHJcbiAgICBpZD1cInBhZ2UtY29udGVudFwiXHJcbiAgPlxyXG5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyICBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtLTMgdG9wLWJhci1jb250ZW50XCJcclxuICAgICAgICBpZD1cInRvcC1iYXItY29udGVudFwiXHJcbiAgICAgICAgW3N0eWxlXT1cInt3aWR0aDogJ3t7d2lkdGhUb3BCYXJ9fXB4J31cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiA0MDBweDtcIj5cclxuICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC14bCBmb250LXNlbWlib2xkIHRleHQtYmx1ZS05MDAgYnJlYWRjcnVtYi10aXRsZVwiPnt7YnJlYWRDcnVtYkl0ZW1zW2JyZWFkQ3J1bWJJdGVtcy5sZW5ndGggLVxyXG4gICAgICAgICAgICAxXS5sYWJlbH19PC9wPlxyXG4gICAgICAgICAgPHAtYnJlYWRjcnVtYlxyXG4gICAgICAgICAgICBzdHlsZUNsYXNzPVwiYm9yZGVyLW5vbmUgcC0wIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGgtMnJlbVwiXHJcbiAgICAgICAgICAgIFttb2RlbF09XCJicmVhZENydW1iSXRlbXNcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwie2JhY2tncm91bmRDb2xvcjogJyNkNGQzZDMnfVwiXHJcbiAgICAgICAgICAgIChvbkl0ZW1DbGljayk9XCJjYWxsUm91dGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9wLWJyZWFkY3J1bWI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LWF1dG8gZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgcEJ1dHRvblxyXG4gICAgICAgICAgICBpY29uPVwicGkgcGktdGgtbGFyZ2VcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgaC0ycmVtIHctMnJlbVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzaXN0ZW1hc1BhbmVsLnRvZ2dsZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW3BUb29sdGlwXT1cIidTaXN0ZW1hcydcIlxyXG4gICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidsZWZ0J1wiXHJcbiAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIHBCdXR0b25cclxuICAgICAgICAgICAgaWNvbj1cInBpIHBpLXVzZXJcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgaC0ycmVtIHctMnJlbVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJtZXVzRGFkb3NQYW5lbC50b2dnbGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtwVG9vbHRpcF09XCInTWV1cyBEYWRvcydcIlxyXG4gICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidsZWZ0J1wiXHJcbiAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLSA8ZGl2XHJcbiAgICAgICAgW3N0eWxlXT1cIntoZWlnaHQ6IGhlaWd0aENhcmQgLSAxMDUgKyAncHgnfVwiXHJcbiAgICAgICAgY2xhc3M9XCIgb3ZlcmZsb3cteS1hdXRvIG92ZXJmbG93LXgtaGlkZGVuIGNhcmQtY29udGFpbmVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxwLWNhcmQgc3R5bGVDbGFzcz1cIm0tMyBib3JkZXItbm9yb3VuZFwiPlxyXG5cclxuICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8L3AtY2FyZD5cclxuICAgICAgPC9kaXY+IC0tPlxyXG5cclxuXHJcbiAgICAgIDxwLWNhcmRcclxuICAgICAgICBjbGFzcz1cImNhcmQtY29udGFpbmVyXCJcclxuICAgICAgICBzdHlsZUNsYXNzPVwibS0zIGJvcmRlci1ub3JvdW5kICBvdmVyZmxvdy15LWF1dG8gY2FyZC1jb250YWluZXJcIlxyXG4gICAgICAgIFtzdHlsZV09XCJ7aGVpZ2h0OiBoZWlndGhDYXJkIC0gMTA1ICsgJ3B4J31cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgY2xhc3M9XCJ3LWZ1bGxcIj48L25nLWNvbnRlbnQ+XHJcblxyXG4gICAgICA8L3AtY2FyZD5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuXHJcblxyXG48L2Rpdj5cclxuPCEtLSBcclxuPGRpdiAjbWVudT4gYXNkYXNhc2RhZGFzPC9kaXY+IC0tPlxyXG5cclxuPCEtLSA8cC1vdmVybGF5UGFuZWwgI292ZXJsYXlQYW5lbD5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxyXG4gICAgICA8aDQ+Q3VzdG9tIENvbnRlbnQ8L2g0PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvcC1vdmVybGF5UGFuZWw+IC0tPlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsXHJcbiAgI3Npc3RlbWFzUGFuZWxcclxuICBbc2hvd1RyYW5zaXRpb25PcHRpb25zXT1cIiczNTBtcyBlYXNlLW91dCdcIlxyXG4gIFtoaWRlVHJhbnNpdGlvbk9wdGlvbnNdPVwiJzI1MG1zIGVhc2UtaW4nXCJcclxuPlxyXG5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGFpbmVyXCI+XHJcblxyXG4gICAgPHAgY2xhc3M9XCJ0aXRsZS1zdHlsZSBtdC0zXCI+U2lzdGVtYXM8L3A+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBmbGV4LXdyYXAgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG10LTUgbWItM1wiXHJcbiAgICAgIHN0eWxlPVwid2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDEwMCU7XCJcclxuICAgID5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBtZW51IG9mIG1lbnVDb21wbGV0b1wiXHJcbiAgICAgICAgcEJ1dHRvblxyXG4gICAgICAgIHBSaXBwbGVcclxuICAgICAgICBjbGFzcz1cImJ0bi1zaXN0ZW1hLTIgYnRuLXNpc3RlbWEgaG92ZXItYnRuLWNvci1wYWRyYW8gcmVtb3ZlLWZvY3VzIGgtNHJlbSB3LTRyZW1cIlxyXG4gICAgICAgIChjbGljayk9XCJkZWZpbmlyTWVudXNQb3JTaXN0ZW1hKG1lbnUuc2lzdGVtYS5pZHNpc3RlbWEpXCJcclxuICAgICAgICBbcFRvb2x0aXBdPVwibWVudS5zaXN0ZW1hLmRlc2NyaWNhb3Npc3RlbWFcIlxyXG4gICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2xlZnQnXCJcclxuICAgICAgPlxyXG4gICAgICAgIDwhLS0gPGltZ1xyXG4gICAgICAgICAgYWx0PVwibG9nb1wiXHJcbiAgICAgICAgICBzdHlsZT1cIndpZHRoOiAycmVtOyBoZWlnaHQ6IDJyZW07XCJcclxuICAgICAgICAvPiAtLT5cclxuICAgICAgICB7eyBtZW51LnNpc3RlbWEubm9tZXNpc3RlbWEuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgfX1cclxuXHJcbiAgICAgIDwvYnV0dG9uPlxyXG5cclxuXHJcbiAgICAgIDwhLS0gPHAtYnV0dG9uIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi1vdXRsaW5lZFwiPlxyXG4gICAgICAgIDxpbWcgYWx0PVwibG9nb1wiIHNyYz1cImh0dHBzOi8vcHJpbWVmYWNlcy5vcmcvY2RuL3ByaW1lbmcvaW1hZ2VzL3ByaW1lbmctaWNvbi5zdmdcIiBzdHlsZT1cIndpZHRoOiAxLjVyZW1cIiAvPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMiBmb250LWJvbGRcIj5QcmltZU5HPC9zcGFuPlxyXG4gICAgPC9wLWJ1dHRvbj4gLS0+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9wLW92ZXJsYXlQYW5lbD5cclxuXHJcbjxwLW92ZXJsYXlQYW5lbFxyXG4gICNtZXVzRGFkb3NQYW5lbFxyXG4gIFtzaG93VHJhbnNpdGlvbk9wdGlvbnNdPVwiJzM1MG1zIGVhc2Utb3V0J1wiXHJcbiAgW2hpZGVUcmFuc2l0aW9uT3B0aW9uc109XCInMjUwbXMgZWFzZS1pbidcIlxyXG4+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250YWluZXJcIj5cclxuXHJcbiAgICA8cCBjbGFzcz1cInRpdGxlLXN0eWxlIG10LTNcIj5PbMOhLCBVc3XDoXJpbyAhPC9wPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cIm10LTUgbWItM1wiXHJcbiAgICAgIHN0eWxlPVwid2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDEwMCU7XCJcclxuICAgID48L2Rpdj5cclxuXHJcbiAgICA8cC1idXR0b25cclxuICAgICAgaWNvbj1cInBpIHBpLWxvY2tcIlxyXG4gICAgICBsYWJlbD1cIkdlcsOqbmNpYXIgS2Vldm9QYXNzXCJcclxuICAgICAgc3R5bGVDbGFzcz1cImJvcmRlci1ub3JvdW5kIHctZnVsbCBwLWJ1dHRvbi10ZXh0IHRleHQtYmx1ZS05MDBcIlxyXG4gICAgPjwvcC1idXR0b24+XHJcbiAgICA8cC1idXR0b25cclxuICAgICAgaWNvbj1cInBpIHBpLXNpZ24tb3V0XCJcclxuICAgICAgbGFiZWw9XCJTYWlyXCJcclxuICAgICAgc3R5bGVDbGFzcz1cImJvcmRlci1ub3JvdW5kIHctZnVsbCBwLWJ1dHRvbi10ZXh0IHRleHQtYmx1ZS05MDBcIlxyXG4gICAgPjwvcC1idXR0b24+XHJcblxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvcC1vdmVybGF5UGFuZWw+Il19
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvbWVudS9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9tZW51L21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQWdCLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYTNILE1BQU0sT0FBTyxhQUFhO0lBOEJ4QixjQUFjO1FBQ1osSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbENqQyxpQkFBWSxHQUF3QixFQUFFLENBQUM7UUFDdkMsYUFBUSxHQUFrQixFQUFFLENBQUE7UUFJckMsb0JBQWUsR0FBc0QsRUFBRSxDQUFBO1FBR3ZFLG1CQUFjLEdBQXdCLEVBQUUsQ0FBQztRQUN6QyxVQUFLLEdBQWdCLEVBQUUsQ0FBQztRQU14QixvQkFBZSxHQUFlLEVBQUUsQ0FBQztRQU1qQyxlQUFVLEdBQVksSUFBSSxDQUFDO1FBRTNCLHlCQUFvQixHQUFZLEtBQUssQ0FBQztJQVdRLENBQUM7SUFFL0MsUUFBUTtRQUNOLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFFekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hCLEVBQUUsRUFBRSxDQUFDO2dCQUNMLFNBQVMsRUFBRSxDQUFDLENBQUMsV0FBVztnQkFDeEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO2FBQ2IsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFFbEosT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLG9CQUFvQixDQUFDLENBQUE7UUFFMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUVqRSxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELGFBQWEsQ0FBQyxDQUFRO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxXQUFnQjtRQUNqQyxJQUFJLFdBQVcsRUFBRTtZQUNmLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxFQUFFO2dCQUN6QixPQUFPLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQzs7Z0JBQ3pDLE9BQU8sV0FBVyxDQUFDO1NBQ3pCOztZQUFNLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWTtRQUN0QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUxQyxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQ3RCLHVDQUF1QyxFQUN2QyxnQkFBZ0IsQ0FDakIsQ0FBQztJQUNKLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxTQUFpQjtRQUN0QyxJQUFJLENBQUMsS0FBSztZQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsRUFBRSxLQUFLO2dCQUN0RSxFQUFFLENBQUM7UUFFTCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFDaEQsQ0FBQztJQUVELGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsTUFBYztRQUNsRCxPQUFPLElBQUksQ0FBQyxZQUFZO2FBQ3JCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDO1lBQzlDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsU0FBUyxDQUFDLENBQU07UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBRTVDLDBDQUEwQztJQUM1QyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxnQkFBOEIsQ0FBQztRQUVuQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQztRQUV6SCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3BELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQ3RFLENBQUM7UUFFRixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtRQUVsRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFBO1FBR2pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUN2QixDQUFDOzswR0FqSVUsYUFBYTs4RkFBYixhQUFhLG9iQ2IxQixvNVZBcVRXOzJGRHhTRSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7d0dBTVYsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQVNJLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQVlrQixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBR3ZCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbWVudUNvbXBsZXRvTW9kZWwgfSBmcm9tICcuLi9hcGkvbW9kZWxzL21lbnUvbWVudWNvbXBsZXRvLm1vZGVsJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IFNpZGViYXIgfSBmcm9tICdwcmltZW5nL3NpZGViYXInO1xyXG5pbXBvcnQgeyBtZW51TW9kZWwgfSBmcm9tICcuLi9hcGkvbW9kZWxzL21lbnUvbWVudS5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IG1hc3Rlck1vZGVsIH0gZnJvbSAnLi4vYXBpL21vZGVscy9tZW51L21hc3Rlci5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgbWVudUNvbXBsZXRvOiBtZW51Q29tcGxldG9Nb2RlbFtdID0gW107XHJcbiAgQElucHV0KCkgbGljZW5jYXM6IG1hc3Rlck1vZGVsW10gPSBbXVxyXG4gIEBJbnB1dCgpIGxpY2VuY2FTZWxlY2lvbmFkYSE6IG1hc3Rlck1vZGVsO1xyXG4gIEBJbnB1dCgpIGxvZ29JbWFnZSE6IGFueTtcclxuXHJcbiAgbGljZW5jYXNPcHRpb25zOiB7IGlkOiBudW1iZXIsIGRlc2NyaWNhbzogc3RyaW5nLCBjbnBqOiBzdHJpbmcgfVtdID0gW11cclxuICBsaWNlbmNhU2VsZWN0ZWQhOiB7IGlkOiBudW1iZXIsIGRlc2NyaWNhbzogc3RyaW5nLCBjbnBqOiBzdHJpbmcgfTtcclxuXHJcbiAgbWVudXNGaWx0cmFkb3M6IG1lbnVDb21wbGV0b01vZGVsW10gPSBbXTtcclxuICBtZW51czogbWVudU1vZGVsW10gPSBbXTtcclxuXHJcblxyXG4gIEBPdXRwdXQoKSBnZXJlbmNpYXJLZWVQYXNzRXZlbnQhOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuICBAT3V0cHV0KCkgc2FpckV2ZW50ITogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gIGJyZWFkQ3J1bWJJdGVtczogTWVudUl0ZW1bXSA9IFtdO1xyXG5cclxuXHJcblxyXG4gIGhlaWd0aENhcmQhOiBudW1iZXI7XHJcbiAgd2lkdGhDYXJkITogbnVtYmVyO1xyXG4gIGV4cGFuZE1lbnU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICB2aXNpYmxlRGlhbG9nTGljZW5jYTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAVmlld0NoaWxkKCdzaWRlYmFyUmVmJykgc2lkZWJhclJlZiE6IFNpZGViYXI7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIG9uV2luZG93UmVzaXplKCkge1xyXG4gICAgdGhpcy5oZWlndGhDYXJkID0gTnVtYmVyKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLWNvbnRlbnQnKT8ub2Zmc2V0SGVpZ2h0KTtcclxuICAgIHRoaXMud2lkdGhDYXJkID0gTnVtYmVyKHdpbmRvdy5pbm5lcldpZHRoKSAtICh0aGlzLmV4cGFuZE1lbnUgPyAzMzMgOiA5Myk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRMaWNlbmNhKCksIDE1MDApXHJcblxyXG4gICAgdGhpcy5saWNlbmNhcy5mb3JFYWNoKCh4LCBpKSA9PiB7XHJcbiAgICAgIHRoaXMubGljZW5jYXNPcHRpb25zLnB1c2goe1xyXG4gICAgICAgIGlkOiBpLFxyXG4gICAgICAgIGRlc2NyaWNhbzogeC5yYXphb3NvY2lhbCxcclxuICAgICAgICBjbnBqOiB4LmNucGpcclxuICAgICAgfSlcclxuICAgIH0pXHJcblxyXG4gICAgdGhpcy5saWNlbmNhU2VsZWN0ZWQgPSB0aGlzLmxpY2VuY2FzT3B0aW9ucy5maW5kKCh4KSA9PiB4LmRlc2NyaWNhbyA9PSB0aGlzLmxpY2VuY2FTZWxlY2lvbmFkYS5yYXphb3NvY2lhbCkgfHwgeyBpZDogMCwgZGVzY3JpY2FvOiAnJywgY25wajogJycgfTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLmxpY2VuY2FzLCAnbGljZW5jYXMnKVxyXG4gICAgY29uc29sZS5sb2codGhpcy5saWNlbmNhc09wdGlvbnMsICdsaWNlbmNhc09wdGlvbnMnKVxyXG4gICAgY29uc29sZS5sb2codGhpcy5saWNlbmNhU2VsZWNpb25hZGEsICdsaWNlbmNhU2VsZWNpb25hZGEnKVxyXG5cclxuICAgIHRoaXMuYnJlYWRDcnVtYkl0ZW1zID0gW3sgbGFiZWw6ICdIb21lJywgcm91dGVyTGluazogJy9ob21lJyB9LF07XHJcblxyXG4gICAgdGhpcy5oZWlndGhDYXJkID0gTnVtYmVyKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLWNvbnRlbnQnKT8ub2Zmc2V0SGVpZ2h0KTtcclxuICAgIHRoaXMud2lkdGhDYXJkID0gTnVtYmVyKHdpbmRvdy5pbm5lcldpZHRoKSAtICh0aGlzLmV4cGFuZE1lbnUgPyAzMzMgOiA5Myk7XHJcbiAgfVxyXG5cclxuICBjbG9zZUNhbGxiYWNrKGU6IEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNpZGViYXJSZWYuY2xvc2UoZSk7XHJcbiAgfVxyXG5cclxuICBNYXNjYXJhTm9tZUxpY2VuY2Eobm9tZUxpY2VuY2E6IGFueSk6IHN0cmluZyB7XHJcbiAgICBpZiAobm9tZUxpY2VuY2EpIHtcclxuICAgICAgaWYgKG5vbWVMaWNlbmNhLmxlbmd0aCA+IDI0KVxyXG4gICAgICAgIHJldHVybiBub21lTGljZW5jYS5zdWJzdHJpbmcoMCwgMjQpICsgJy4uLic7XHJcbiAgICAgIGVsc2UgcmV0dXJuIG5vbWVMaWNlbmNhO1xyXG4gICAgfSBlbHNlIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIE1hc2NhcmFDbnBqKGNucGo6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjbnBqTGltcG8gPSBjbnBqLnJlcGxhY2UoL1xcRC9nLCAnJyk7XHJcblxyXG4gICAgcmV0dXJuIGNucGpMaW1wby5yZXBsYWNlKFxyXG4gICAgICAvXihcXGR7Mn0pKFxcZHszfSkoXFxkezN9KShcXGR7NH0pKFxcZHsyfSkkLyxcclxuICAgICAgJyQxLiQyLiQzLyQ0LSQ1J1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlZmluaXJNZW51c1BvclNpc3RlbWEoaWRzaXN0ZW1hOiBudW1iZXIpIHtcclxuICAgIHRoaXMubWVudXMgPVxyXG4gICAgICB0aGlzLm1lbnVDb21wbGV0by5maW5kKCh4KSA9PiB4LnNpc3RlbWEuaWRzaXN0ZW1hID09IGlkc2lzdGVtYSk/Lm1lbnVzIHx8XHJcbiAgICAgIFtdO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKHRoaXMubWVudUNvbXBsZXRvLCAnbWVudUNvbXBsZXRvJylcclxuICB9XHJcblxyXG4gIHJldG9ybmFyTWVudUZpbGhvcyhpZHNpc3RlbWE6IG51bWJlciwgaWRtZW51OiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLm1lbnVDb21wbGV0b1xyXG4gICAgICAuZmluZCgoeCkgPT4geC5zaXN0ZW1hLmlkc2lzdGVtYSA9PSBpZHNpc3RlbWEpXHJcbiAgICAgID8ubWVudXMuZmlsdGVyKCh4KSA9PiB4LmlkbWVudXBhaSA9PSBpZG1lbnUpO1xyXG4gIH1cclxuXHJcbiAgY2FsbFJvdXRlKGU6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coZS5pdGVtLnJvdXRlckxpbmssICdyb3V0ZXJMaW5rJylcclxuXHJcbiAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShlLml0ZW0ucm91dGVyTGluaylcclxuICB9XHJcblxyXG4gIHRvZ2dsZU1lbnUoKSB7XHJcbiAgICB0aGlzLmV4cGFuZE1lbnUgPSAhdGhpcy5leHBhbmRNZW51O1xyXG4gIH1cclxuXHJcbiAgc2V0TGljZW5jYSgpIHtcclxuICAgIHZhciBtYXN0ZXJNb2RlbEVtcHR5ITogbWFzdGVyTW9kZWw7XHJcblxyXG4gICAgdGhpcy5saWNlbmNhU2VsZWNpb25hZGEgPSB0aGlzLmxpY2VuY2FzLmZpbmQoKGxpY2VuY2EpID0+IGxpY2VuY2EuY25waiA9PSB0aGlzLmxpY2VuY2FTZWxlY3RlZC5jbnBqKSB8fCBtYXN0ZXJNb2RlbEVtcHR5O1xyXG5cclxuICAgIHRoaXMubWVudXNGaWx0cmFkb3MgPSB0aGlzLm1lbnVDb21wbGV0by5maWx0ZXIobWVudSA9PlxyXG4gICAgICB0aGlzLmxpY2VuY2FTZWxlY2lvbmFkYS5zaXN0ZW1hcy5pbmNsdWRlcyhtZW51LnNpc3RlbWEuY29kaWdvc2lzdGVtYSlcclxuICAgICk7XHJcblxyXG4gICAgY29uc29sZS5sb2codGhpcy5tZW51c0ZpbHRyYWRvcywgJ21lbnVzRmlsdHJhZG9zJylcclxuXHJcbiAgICB0aGlzLnZpc2libGVEaWFsb2dMaWNlbmNhID0gZmFsc2VcclxuXHJcblxyXG4gICAgdGhpcy5kZWZpbmlyTWVudXNQb3JTaXN0ZW1hKHRoaXMubWVudXNGaWx0cmFkb3NbMF0/LnNpc3RlbWEuaWRzaXN0ZW1hKVxyXG4gIH1cclxuXHJcbiAgZ2VyZW5jaWFyS2VlUGFzcygpIHtcclxuICAgIHRoaXMuZ2VyZW5jaWFyS2VlUGFzc0V2ZW50LmVtaXQoKVxyXG4gIH1cclxuXHJcbiAgc2FpcigpIHtcclxuICAgIHRoaXMuc2FpckV2ZW50LmVtaXQoKVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBvdmVyZmxvdy15LWhpZGRlbiB3LSBmdWxsLWNvbnRhaW5lclwiPlxyXG5cclxuICA8ZGl2IFtzdHlsZV09XCJ7bWluV2lkdGg6IGV4cGFuZE1lbnUgPyAnMzAwcHgnIDogJzYwcHgnfVwiPjwvZGl2PlxyXG5cclxuICA8cC1zaWRlYmFyXHJcbiAgICAjc2lkZWJhclJlZlxyXG4gICAgW3Zpc2libGVdPVwidHJ1ZVwiXHJcbiAgICBbc2hvd0Nsb3NlSWNvbl09XCJmYWxzZVwiXHJcbiAgICBbbW9kYWxdPVwiZmFsc2VcIlxyXG4gICAgW3N0eWxlXT1cInt3aWR0aDogZXhwYW5kTWVudSA/ICczMDBweCcgOiAnNjBweCd9XCJcclxuICA+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGxlc3NcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4ge3tleHBhbmRNZW51ID8gJ214LTEnIDogJ214LTEnfX1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBnYXAtMiBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBmbGV4LXNocmluay0wIG14LTJcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciB7e2V4cGFuZE1lbnUgPyAnanVzdGlmeS1jb250ZW50LWJldHdlZW4nIDogJ2p1c3RpZnktY29udGVudC1jZW50ZXInfX0gcHktM1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZE1lbnVcIlxyXG4gICAgICAgICAgICAgIGFsdD1cIkNhcmRcIlxyXG4gICAgICAgICAgICAgIFtzcmNdPVwibG9nb0ltYWdlXCJcclxuICAgICAgICAgICAgICB3aWR0aD1cIjE1MFwiXHJcbiAgICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgcEJ1dHRvblxyXG4gICAgICAgICAgICAgIGljb249XCJwaSBwaS1iYXJzXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgaC0ycmVtIHctMnJlbVwiXHJcbiAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIidPY3V0YXIgTWVudSdcIlxyXG4gICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiXHJcbiAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciB7e2V4cGFuZE1lbnUgPyAnanVzdGlmeS1jb250ZW50LWJldHdlZW4nIDogJ2p1c3RpZnktY29udGVudC1jZW50ZXInfX1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZE1lbnVcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJ2aXNpYmxlRGlhbG9nTGljZW5jYSA9ICF2aXNpYmxlRGlhbG9nTGljZW5jYVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgbXItMlwiXHJcbiAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwidGhpcy5saWNlbmNhU2VsZWNpb25hZGEucmF6YW9zb2NpYWxcIlxyXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgTWFzY2FyYU5vbWVMaWNlbmNhKHRoaXMubGljZW5jYVNlbGVjaW9uYWRhLnJhemFvc29jaWFsKVxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIG10LTFcIj57e01hc2NhcmFDbnBqKHRoaXMubGljZW5jYVNlbGVjaW9uYWRhLmNucGopfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJ2aXNpYmxlRGlhbG9nTGljZW5jYSA9ICF2aXNpYmxlRGlhbG9nTGljZW5jYVwiXHJcbiAgICAgICAgICAgICAgcEJ1dHRvblxyXG4gICAgICAgICAgICAgIGljb249XCJwaSBwaS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0XCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgaC0ycmVtIHctMnJlbVwiXHJcbiAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIidBbHRlcmFyIExpY2Vuw6dhJ1wiXHJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcclxuICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8cC1kaXZpZGVyIHR5cGU9XCJzb2xpZFwiPjwvcC1kaXZpZGVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImxpc3Qtbm9uZSBhanVzdGUtcGFkZGluZyBtLTAgIGNhcmQtY29udGFpbmVyIHt7ZXhwYW5kTWVudSA/ICdteC0xJyA6ICcnfX1cIlxyXG4gICAgICAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwiKGhlaWd0aENhcmQgLSAyMjApICsgJ3B4J1wiXHJcbiAgICAgICAgICBzdHlsZT1cIm92ZXJmbG93LXk6IGF1dG87XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8IS0tIG1lbnVzIC0tPlxyXG4gICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBtZW51IG9mIG1lbnVzXCI+XHJcbiAgICAgICAgICAgIDwhLS0gbWVudSBxdWUgbsOjbyB0ZW0gZmlsaG8gLS0+XHJcbiAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiZXhwYW5kTWVudSA/IG1lbnUubGluayA6ICcnXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiIWV4cGFuZE1lbnUgPyBleHBhbmRNZW51ID0gIWV4cGFuZE1lbnUgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhbWVudS5tZW51cGFpICYmIG1lbnUuaWRtZW51cGFpID09IDBcIlxyXG4gICAgICAgICAgICAgIHBSaXBwbGVcclxuICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiIWV4cGFuZE1lbnUgPyBtZW51LmRlc2NyaWNhb21lbnUgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImgtM3JlbSBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBuby11bmRlcmxpbmUge3shZXhwYW5kTWVudSA/ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJyA6ICcnfX0gY3Vyc29yLXBvaW50ZXIgYWp1c3RlLXBhZGRpbmcgYm9yZGVyLXJvdW5kIHRleHQtNzAwIGhvdmVyOmJnLWdyZWVuLTYwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tZHVyYXRpb24tMTUwIHRyYW5zaXRpb24tY29sb3JzIHAtcmlwcGxlXCJcclxuICAgICAgICAgICAgPlxyXG5cclxuICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tbWVudSB7e2V4cGFuZE1lbnUgPyAnbWwtMSBtci0yJyA6ICcnfX1cIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJtZW51Lmljb25lICYmIG1lbnUuaWNvbmUgIT09ICcnXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBtZW51Lmljb25lIH19XHJcbiAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtYmFzZSB0ZXh0LWJsdWUtOTAwIGZvbnQtbWVkaXVtXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kTWVudVwiXHJcbiAgICAgICAgICAgICAgPnt7IG1lbnUuZGVzY3JpY2FvbWVudSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBtZW51IGNvbSBmaWxobyAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1lbnUubWVudXBhaVwiPlxyXG4gICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICBwUmlwcGxlXHJcbiAgICAgICAgICAgICAgICBwU3R5bGVDbGFzcz1cIkBuZXh0XCJcclxuICAgICAgICAgICAgICAgIGVudGVyQ2xhc3M9XCJoaWRkZW5cIlxyXG4gICAgICAgICAgICAgICAgZW50ZXJBY3RpdmVDbGFzcz1cInNsaWRlZG93blwiXHJcbiAgICAgICAgICAgICAgICBsZWF2ZVRvQ2xhc3M9XCJoaWRkZW5cIlxyXG4gICAgICAgICAgICAgICAgbGVhdmVBY3RpdmVDbGFzcz1cInNsaWRldXBcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJoLTNyZW0gZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIge3shZXhwYW5kTWVudSA/ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJyA6ICdqdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbid9fSBjdXJzb3ItcG9pbnRlciBhanVzdGUtcGFkZGluZyBib3JkZXItcm91bmQgdGV4dC03MDAgaG92ZXI6YmctZ3JlZW4tNjAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1kdXJhdGlvbi0xNTAgdHJhbnNpdGlvbi1jb2xvcnMgcC1yaXBwbGVcIlxyXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcclxuICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCIhZXhwYW5kTWVudSA/IG1lbnUuZGVzY3JpY2FvbWVudSA6ICcnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCIhZXhwYW5kTWVudSA/IGV4cGFuZE1lbnUgPSAhZXhwYW5kTWVudSA6ICcnXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tbWVudSB7e2V4cGFuZE1lbnUgPyAnbWwtMSBtci0yJyA6ICcnfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibWVudS5pY29uZSAmJiBtZW51Lmljb25lICE9PSAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7eyBtZW51Lmljb25lIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtYmFzZSB0ZXh0LWJsdWUtOTAwIGZvbnQtbWVkaXVtXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZE1lbnVcIlxyXG4gICAgICAgICAgICAgICAgICA+e3sgbWVudS5kZXNjcmljYW9tZW51IH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInBpIHBpLWNoZXZyb24tZG93biB0ZXh0LWJsdWUtOTAwIG1yLTFcIlxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZE1lbnVcIlxyXG4gICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICA8L2E+XHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gZmlsaG9zIC0tPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibGlzdC1ub25lIHB5LTAgcGwtMyBwci0wIG0tMCBoaWRkZW4gb3ZlcmZsb3cteS1oaWRkZW4gdHJhbnNpdGlvbi1hbGwgdHJhbnNpdGlvbi1kdXJhdGlvbi00MDAgdHJhbnNpdGlvbi1lYXNlLWluLW91dFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgPGxpICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgIGxldCBmaWxobyBvZiByZXRvcm5hck1lbnVGaWxob3MobWVudS5pZHNpc3RlbWEsIG1lbnUuaWRtZW51KVxyXG4gICAgICAgICAgICBcIj5cclxuICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZE1lbnVcIlxyXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImZpbGhvLmxpbmtcIlxyXG4gICAgICAgICAgICAgIHBSaXBwbGVcclxuICAgICAgICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIG5vLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlciBhanVzdGUtcGFkZGluZyBib3JkZXItcm91bmQgdGV4dC03MDAgaG92ZXI6YmctZ3JlZW4tNjAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1kdXJhdGlvbi0xNTAgdHJhbnNpdGlvbi1jb2xvcnMgcC1yaXBwbGUgcC0yXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBpIHBpLWNoYXJ0LWxpbmUgbXItMiBtbC0xIGFkanVzdC1pY29uLW1lbnVcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJmaWxoby5pY29uZSAmJiBmaWxoby5pY29uZSAhPT0gJydcIlxyXG4gICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1iYXNlIHRleHQtYmx1ZS05MDBcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51XCJcclxuICAgICAgICAgICAgICA+e3sgZmlsaG8uZGVzY3JpY2FvbWVudSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPC9wLXNpZGViYXI+XHJcblxyXG5cclxuPGRpdlxyXG4gIGNsYXNzPVwidy1hdXRvIGgtc2NyZWVuIHBhZ2UtY29udGVudCBvdmVyZmxvdy15LWhpZGRlblwiXHJcbiAgaWQ9XCJwYWdlLWNvbnRlbnRcIlxyXG4+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtLTNcIj5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxwIGNsYXNzPVwidGV4dC14bCBmb250LXNlbWlib2xkIHRleHQtYmx1ZS05MDAgYnJlYWRjcnVtYi10aXRsZVwiPnt7YnJlYWRDcnVtYkl0ZW1zW2JyZWFkQ3J1bWJJdGVtcy5sZW5ndGggLVxyXG4gICAgICAgIDFdLmxhYmVsfX08L3A+XHJcbiAgICAgIDxwLWJyZWFkY3J1bWJcclxuICAgICAgICAqbmdJZj1cIndpZHRoQ2FyZCA+IDQwMFwiXHJcbiAgICAgICAgc3R5bGVDbGFzcz1cImJvcmRlci1ub25lIHAtMCBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBoLTJyZW1cIlxyXG4gICAgICAgIFttb2RlbF09XCJicmVhZENydW1iSXRlbXNcIlxyXG4gICAgICAgIFtzdHlsZV09XCJ7YmFja2dyb3VuZENvbG9yOiAnI2Q0ZDNkMyd9XCJcclxuICAgICAgICAob25JdGVtQ2xpY2spPVwiY2FsbFJvdXRlKCRldmVudClcIlxyXG4gICAgICA+PC9wLWJyZWFkY3J1bWI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwidy1hdXRvIGZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBwQnV0dG9uXHJcbiAgICAgICAgaWNvbj1cInBpIHBpLXRoLWxhcmdlXCJcclxuICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgaC0ycmVtIHctMnJlbVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInNpc3RlbWFzUGFuZWwudG9nZ2xlKCRldmVudClcIlxyXG4gICAgICAgIFtwVG9vbHRpcF09XCInU2lzdGVtYXMnXCJcclxuICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidsZWZ0J1wiXHJcbiAgICAgID48L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIHBCdXR0b25cclxuICAgICAgICBpY29uPVwicGkgcGktdXNlclwiXHJcbiAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIGgtMnJlbSB3LTJyZW1cIlxyXG4gICAgICAgIChjbGljayk9XCJtZXVzRGFkb3NQYW5lbC50b2dnbGUoJGV2ZW50KVwiXHJcbiAgICAgICAgW3BUb29sdGlwXT1cIidNZXVzIERhZG9zJ1wiXHJcbiAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInbGVmdCdcIlxyXG4gICAgICA+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPHAtY2FyZFxyXG4gICAgY2xhc3M9XCJjYXJkLWNvbnRhaW5lclwiXHJcbiAgICBzdHlsZUNsYXNzPVwibS0zIGJvcmRlci1ub3JvdW5kIG92ZXJmbG93LXktYXV0byBjYXJkLWNvbnRhaW5lclwiXHJcbiAgICBbc3R5bGVdPVwie2hlaWdodDogaGVpZ3RoQ2FyZCAtICh3aWR0aENhcmQgPiA0MDAgPyAgMTA1IDogODMpICsgJ3B4J31cIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWNvbnRhaW5lclwiPlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L3AtY2FyZD5cclxuXHJcbjwvZGl2PlxyXG5cclxuXHJcbjwvZGl2PlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsXHJcbiAgI3Npc3RlbWFzUGFuZWxcclxuICBbc2hvd1RyYW5zaXRpb25PcHRpb25zXT1cIiczNTBtcyBlYXNlLW91dCdcIlxyXG4gIFtoaWRlVHJhbnNpdGlvbk9wdGlvbnNdPVwiJzI1MG1zIGVhc2UtaW4nXCJcclxuPlxyXG5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGFpbmVyXCI+XHJcblxyXG4gICAgPHAgY2xhc3M9XCJ0aXRsZS1zdHlsZSBtdC0zXCI+U2lzdGVtYXM8L3A+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBmbGV4LXdyYXAgZ2FwLTIgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgbXQtNSBtYi0zXCJcclxuICAgICAgc3R5bGU9XCJ3aWR0aDogMjUwcHg7IGhlaWdodDogMTAwJTtcIlxyXG4gICAgPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IG1lbnUgb2YgbWVudXNGaWx0cmFkb3NcIlxyXG4gICAgICAgIHBCdXR0b25cclxuICAgICAgICBwUmlwcGxlXHJcbiAgICAgICAgY2xhc3M9XCJidG4tc2lzdGVtYS0yIGJ0bi1zaXN0ZW1hIGhvdmVyLWJ0bi1jb3ItcGFkcmFvIHJlbW92ZS1mb2N1cyBoLTRyZW0gdy00cmVtXCJcclxuICAgICAgICAoY2xpY2spPVwiZGVmaW5pck1lbnVzUG9yU2lzdGVtYShtZW51LnNpc3RlbWEuaWRzaXN0ZW1hKVwiXHJcbiAgICAgICAgW3BUb29sdGlwXT1cIm1lbnUuc2lzdGVtYS5kZXNjcmljYW9zaXN0ZW1hXCJcclxuICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidsZWZ0J1wiXHJcbiAgICAgID5cclxuICAgICAgICA8IS0tIDxpbWdcclxuICAgICAgICAgIGFsdD1cImxvZ29cIlxyXG4gICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMnJlbTsgaGVpZ2h0OiAycmVtO1wiXHJcbiAgICAgICAgLz4gLS0+XHJcbiAgICAgICAge3sgbWVudS5zaXN0ZW1hLm5vbWVzaXN0ZW1hLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpIH19XHJcblxyXG4gICAgICA8L2J1dHRvbj5cclxuXHJcblxyXG4gICAgICA8IS0tIDxwLWJ1dHRvbiBzdHlsZUNsYXNzPVwicC1idXR0b24tb3V0bGluZWRcIj5cclxuICAgICAgICA8aW1nIGFsdD1cImxvZ29cIiBzcmM9XCJodHRwczovL3ByaW1lZmFjZXMub3JnL2Nkbi9wcmltZW5nL2ltYWdlcy9wcmltZW5nLWljb24uc3ZnXCIgc3R5bGU9XCJ3aWR0aDogMS41cmVtXCIgLz5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTIgZm9udC1ib2xkXCI+UHJpbWVORzwvc3Bhbj5cclxuICAgIDwvcC1idXR0b24+IC0tPlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvcC1vdmVybGF5UGFuZWw+XHJcblxyXG48cC1vdmVybGF5UGFuZWxcclxuICAjbWV1c0RhZG9zUGFuZWxcclxuICBbc2hvd1RyYW5zaXRpb25PcHRpb25zXT1cIiczNTBtcyBlYXNlLW91dCdcIlxyXG4gIFtoaWRlVHJhbnNpdGlvbk9wdGlvbnNdPVwiJzI1MG1zIGVhc2UtaW4nXCJcclxuPlxyXG5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGFpbmVyXCI+XHJcblxyXG4gICAgPHAgY2xhc3M9XCJ0aXRsZS1zdHlsZSBtdC0zXCI+T2zDoSwgVXN1w6FyaW8gITwvcD5cclxuICAgIDxkaXYgY2xhc3M9XCJtdC01IG1iLTNcIj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8cC1idXR0b25cclxuICAgICAgaWNvbj1cInBpIHBpLWxvY2tcIlxyXG4gICAgICBsYWJlbD1cIkdlcsOqbmNpYXIgS2Vldm9QYXNzXCJcclxuICAgICAgKG9uQ2xpY2spPVwiZ2VyZW5jaWFyS2VlUGFzcygpXCJcclxuICAgICAgc3R5bGVDbGFzcz1cImJvcmRlci1ub3JvdW5kIHctZnVsbCBwLWJ1dHRvbi10ZXh0IHRleHQtYmx1ZS05MDBcIlxyXG4gICAgPjwvcC1idXR0b24+XHJcbiAgICA8cC1idXR0b25cclxuICAgICAgaWNvbj1cInBpIHBpLXNpZ24tb3V0XCJcclxuICAgICAgbGFiZWw9XCJTYWlyXCJcclxuICAgICAgKG9uQ2xpY2spPVwic2FpcigpXCJcclxuICAgICAgc3R5bGVDbGFzcz1cImJvcmRlci1ub3JvdW5kIHctZnVsbCBwLWJ1dHRvbi10ZXh0IHRleHQtYmx1ZS05MDBcIlxyXG4gICAgPjwvcC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwvcC1vdmVybGF5UGFuZWw+XHJcblxyXG48cC1kaWFsb2dcclxuICBbKHZpc2libGUpXT1cInZpc2libGVEaWFsb2dMaWNlbmNhXCJcclxuICBbbW9kYWxdPVwidHJ1ZVwiXHJcbiAgW2RyYWdnYWJsZV09XCJmYWxzZVwiXHJcbiAgaGVhZGVyPVwiVHJvY2FyIExpY2Vuw6dhXCJcclxuICBbc3R5bGVdPVwie3dpZHRoOiAnNTB2aCcgfVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1lbmRcIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwidy1mdWxsXCI+XHJcbiAgICAgIDxwLWRyb3Bkb3duXHJcbiAgICAgICAgc3R5bGVDbGFzcz1cInctZnVsbFwiXHJcbiAgICAgICAgW29wdGlvbnNdPVwibGljZW5jYXNPcHRpb25zXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cImxpY2VuY2FTZWxlY3RlZFwiXHJcbiAgICAgICAgb3B0aW9uTGFiZWw9XCJkZXNjcmljYW9cIlxyXG4gICAgICA+PC9wLWRyb3Bkb3duPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDxrdi1idXR0b24tc3VjY2Vzc1xyXG4gICAgICBbbGFiZWxdPVwiJ1NhbHZhcidcIlxyXG4gICAgICBjbGFzcz1cIm10LTJcIlxyXG4gICAgICAob25DbGljayk9XCJzZXRMaWNlbmNhKClcIlxyXG4gICAgPjwva3YtYnV0dG9uLXN1Y2Nlc3M+XHJcblxyXG4gIDwvZGl2PlxyXG5cclxuPC9wLWRpYWxvZz4iXX0=
|