ezlibrary_v2 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/esm2020/ezlibrary_v2.mjs +5 -0
  2. package/esm2020/lib/admin-service/admin-service.service.mjs +36 -0
  3. package/esm2020/lib/analysis-search/analysis-search.component.mjs +1083 -0
  4. package/esm2020/lib/assort-service/assort-service.service.mjs +31 -0
  5. package/esm2020/lib/attribute-definition/attribute-definition.component.mjs +231 -0
  6. package/esm2020/lib/auth/auth.guard.mjs +40 -0
  7. package/esm2020/lib/bi-service/bi.service.mjs +58 -0
  8. package/esm2020/lib/call-info/callinfo.component.mjs +126 -0
  9. package/esm2020/lib/comman-service/comman-service.service.mjs +679 -0
  10. package/esm2020/lib/comman-service/share-data-service.service.mjs +23 -0
  11. package/esm2020/lib/contact-search/contact-search.component.mjs +679 -0
  12. package/esm2020/lib/contact-service/contact-service.service.mjs +47 -0
  13. package/esm2020/lib/ezheader/header.component.mjs +383 -0
  14. package/esm2020/lib/ezlib.module.mjs +220 -0
  15. package/esm2020/lib/file-upload/fileupload.component.mjs +920 -0
  16. package/esm2020/lib/file-upload-log/file-upload-log.component.mjs +175 -0
  17. package/esm2020/lib/fileupload-module/fileupload-dashboard/fileupload-dashboard.component.mjs +14 -0
  18. package/esm2020/lib/fileupload-module/fileupload-routing.module.mjs +28 -0
  19. package/esm2020/lib/footer/footer.component.mjs +18 -0
  20. package/esm2020/lib/globle/common-pdf.service.mjs +28 -0
  21. package/esm2020/lib/globle/globle-env.service.mjs +45 -0
  22. package/esm2020/lib/globle/memo-report.service.mjs +2800 -0
  23. package/esm2020/lib/globle/pdf-service.service.mjs +18848 -0
  24. package/esm2020/lib/globle/shared-services.service.mjs +27 -0
  25. package/esm2020/lib/globle/upload-service.service.mjs +69 -0
  26. package/esm2020/lib/header/header.component.mjs +179 -0
  27. package/esm2020/lib/invalid/invalid.component.mjs +71 -0
  28. package/esm2020/lib/logout/logout.component.mjs +107 -0
  29. package/esm2020/lib/menu-right/menu-right.component.mjs +252 -0
  30. package/esm2020/lib/pipes/number-with-commas.pipe.mjs +24 -0
  31. package/esm2020/lib/pipes/order-by-pipe.pipe.mjs +17 -0
  32. package/esm2020/lib/pipes/selectedCount.mjs +19 -0
  33. package/esm2020/lib/pipes/sum.pipe.mjs +16 -0
  34. package/esm2020/lib/pkt-data/pkt-data.component.mjs +1107 -0
  35. package/esm2020/lib/pricing-service/pricing.service.mjs +58 -0
  36. package/esm2020/lib/qa-analysis/qa-analysis.component.mjs +1035 -0
  37. package/esm2020/lib/report-format/report-format.component.mjs +400 -0
  38. package/esm2020/lib/sessionend/session-end.guard.mjs +28 -0
  39. package/esm2020/lib/stock-service/lazyload.service.mjs +21 -0
  40. package/esm2020/lib/stock-service/stock-service.service.mjs +62 -0
  41. package/esm2020/lib/system-module/subform/subform.component.mjs +2481 -0
  42. package/esm2020/lib/system-module/system/system.component.mjs +959 -0
  43. package/esm2020/lib/system-module/system-service/system-service.service.mjs +85 -0
  44. package/esm2020/lib/system-module/system-service/upload-file.service.mjs +86 -0
  45. package/esm2020/lib/utility/app-no-dbl-click.directive.mjs +23 -0
  46. package/esm2020/lib/utility/constants.mjs +5 -0
  47. package/esm2020/lib/utility/contact-table-search.pipe.mjs +25 -0
  48. package/esm2020/lib/utility/formate-num-field.pipe.mjs +19 -0
  49. package/esm2020/lib/utility/search-pipe.pipe.mjs +26 -0
  50. package/esm2020/lib/utility/selective-preloading-strategy.mjs +23 -0
  51. package/esm2020/lib/utility/table-search.pipe.mjs +25 -0
  52. package/esm2020/lib/utility/tranform.directive.mjs +27 -0
  53. package/esm2020/lib/websearch-history/websearch-history.component.mjs +273 -0
  54. package/esm2020/public_api.mjs +57 -0
  55. package/ezlibrary_v2.d.ts +5 -0
  56. package/fesm2015/ezlibrary_v2.mjs +33543 -0
  57. package/fesm2015/ezlibrary_v2.mjs.map +1 -0
  58. package/fesm2020/ezlibrary_v2.mjs +33533 -0
  59. package/fesm2020/ezlibrary_v2.mjs.map +1 -0
  60. package/lib/admin-service/admin-service.service.d.ts +13 -0
  61. package/lib/analysis-search/analysis-search.component.d.ts +122 -0
  62. package/lib/assort-service/assort-service.service.d.ts +12 -0
  63. package/lib/attribute-definition/attribute-definition.component.d.ts +47 -0
  64. package/lib/auth/auth.guard.d.ts +16 -0
  65. package/lib/bi-service/bi.service.d.ts +20 -0
  66. package/lib/call-info/callinfo.component.d.ts +30 -0
  67. package/lib/comman-service/comman-service.service.d.ts +111 -0
  68. package/lib/comman-service/share-data-service.service.d.ts +10 -0
  69. package/lib/contact-search/contact-search.component.d.ts +115 -0
  70. package/lib/contact-service/contact-service.service.d.ts +15 -0
  71. package/lib/ezheader/header.component.d.ts +61 -0
  72. package/lib/ezlib.module.d.ts +47 -0
  73. package/lib/file-upload/fileupload.component.d.ts +131 -0
  74. package/lib/file-upload-log/file-upload-log.component.d.ts +53 -0
  75. package/lib/fileupload-module/fileupload-dashboard/fileupload-dashboard.component.d.ts +8 -0
  76. package/lib/fileupload-module/fileupload-routing.module.d.ts +7 -0
  77. package/lib/footer/footer.component.d.ts +9 -0
  78. package/lib/globle/common-pdf.service.d.ts +9 -0
  79. package/lib/globle/globle-env.service.d.ts +16 -0
  80. package/lib/globle/memo-report.service.d.ts +107 -0
  81. package/lib/globle/pdf-service.service.d.ts +459 -0
  82. package/lib/globle/shared-services.service.d.ts +12 -0
  83. package/lib/globle/upload-service.service.d.ts +20 -0
  84. package/lib/header/header.component.d.ts +45 -0
  85. package/lib/invalid/invalid.component.d.ts +12 -0
  86. package/lib/logout/logout.component.d.ts +21 -0
  87. package/lib/menu-right/menu-right.component.d.ts +47 -0
  88. package/lib/pipes/number-with-commas.pipe.d.ts +7 -0
  89. package/lib/pipes/order-by-pipe.pipe.d.ts +7 -0
  90. package/lib/pipes/selectedCount.d.ts +7 -0
  91. package/lib/pipes/sum.pipe.d.ts +7 -0
  92. package/lib/pkt-data/pkt-data.component.d.ts +189 -0
  93. package/lib/pricing-service/pricing.service.d.ts +20 -0
  94. package/lib/qa-analysis/qa-analysis.component.d.ts +99 -0
  95. package/lib/report-format/report-format.component.d.ts +74 -0
  96. package/lib/sessionend/session-end.guard.d.ts +10 -0
  97. package/lib/stock-service/lazyload.service.d.ts +7 -0
  98. package/lib/stock-service/stock-service.service.d.ts +19 -0
  99. package/lib/system-module/subform/subform.component.d.ts +227 -0
  100. package/lib/system-module/system/system.component.d.ts +113 -0
  101. package/lib/system-module/system-service/system-service.service.d.ts +23 -0
  102. package/lib/system-module/system-service/upload-file.service.d.ts +12 -0
  103. package/lib/utility/app-no-dbl-click.directive.d.ts +7 -0
  104. package/lib/utility/constants.d.ts +4 -0
  105. package/lib/utility/contact-table-search.pipe.d.ts +7 -0
  106. package/lib/utility/formate-num-field.pipe.d.ts +7 -0
  107. package/lib/utility/search-pipe.pipe.d.ts +7 -0
  108. package/lib/utility/selective-preloading-strategy.d.ts +9 -0
  109. package/lib/utility/table-search.pipe.d.ts +7 -0
  110. package/lib/utility/tranform.directive.d.ts +10 -0
  111. package/lib/websearch-history/websearch-history.component.d.ts +62 -0
  112. package/package.json +48 -0
  113. package/public_api.d.ts +52 -0
@@ -0,0 +1,28 @@
1
+ import { Cookie } from 'ng2-cookies/ng2-cookies';
2
+ import { Injectable } from '@angular/core';
3
+ import { Router } from '@angular/router';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ export class SessionEndGuard {
7
+ constructor(route) {
8
+ this.route = route;
9
+ }
10
+ canActivate(next, state) {
11
+ if (Cookie.get('_ck') != null) {
12
+ return true;
13
+ }
14
+ else {
15
+ this.route.navigate(['/session-end']);
16
+ return false;
17
+ }
18
+ }
19
+ }
20
+ /** @nocollapse */ /** @nocollapse */ SessionEndGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SessionEndGuard, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
21
+ /** @nocollapse */ /** @nocollapse */ SessionEndGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SessionEndGuard, providedIn: 'root' });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SessionEndGuard, decorators: [{
23
+ type: Injectable,
24
+ args: [{
25
+ providedIn: 'root'
26
+ }]
27
+ }], ctorParameters: function () { return [{ type: i1.Router }]; } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1lbmQuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lemxpYi9zcmMvbGliL3Nlc3Npb25lbmQvc2Vzc2lvbi1lbmQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUE0RCxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTW5HLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ1UsS0FBYTtRQUFiLFVBQUssR0FBTCxLQUFLLENBQVE7SUFDbkIsQ0FBQztJQUNMLFdBQVcsQ0FDVCxJQUE0QixFQUM1QixLQUEwQjtRQUN4QixJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUN0QyxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0wsQ0FBQzs7a0pBYlUsZUFBZTtzSkFBZixlQUFlLGNBRmQsTUFBTTsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvb2tpZSB9IGZyb20gJ25nMi1jb29raWVzL25nMi1jb29raWVzJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYW5BY3RpdmF0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyU3RhdGVTbmFwc2hvdCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2Vzc2lvbkVuZEd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogUm91dGVyLFxyXG4gICkgeyB9XHJcbiAgY2FuQWN0aXZhdGUoXHJcbiAgICBuZXh0OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW4ge1xyXG4gICAgICBpZiAoQ29va2llLmdldCgnX2NrJykgIT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucm91dGUubmF2aWdhdGUoWycvc2Vzc2lvbi1lbmQnXSk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlOyBcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LazyloadService {
4
+ constructor() { }
5
+ onScrollDown(mA, dA) {
6
+ if (mA.length < dA.length) {
7
+ let len = mA.length;
8
+ console.log(len);
9
+ for (let i = len; i <= len + 20; i++) {
10
+ console.log(i);
11
+ return mA.push(dA[i]);
12
+ }
13
+ }
14
+ }
15
+ }
16
+ /** @nocollapse */ /** @nocollapse */ LazyloadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: LazyloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
17
+ /** @nocollapse */ /** @nocollapse */ LazyloadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: LazyloadService });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: LazyloadService, decorators: [{
19
+ type: Injectable
20
+ }], ctorParameters: function () { return []; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eWxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V6bGliL3NyYy9saWIvc3RvY2stc2VydmljZS9sYXp5bG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxlQUFlO0lBQzFCLGdCQUFnQixDQUFDO0lBQ2pCLFlBQVksQ0FBQyxFQUFFLEVBQUMsRUFBRTtRQUNoQixJQUFHLEVBQUUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBQztZQUN2QixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsS0FBSSxJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsR0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUM7Z0JBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2YsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZCO1NBQ0Y7SUFDSCxDQUFDOztrSkFYVSxlQUFlO3NKQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFGM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuXHJcbmV4cG9ydCBjbGFzcyBMYXp5bG9hZFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgb25TY3JvbGxEb3duKG1BLGRBKXtcclxuICAgIGlmKG1BLmxlbmd0aCA8IGRBLmxlbmd0aCl7IFxyXG4gICAgICBsZXQgbGVuID0gbUEubGVuZ3RoO1xyXG4gICAgICBjb25zb2xlLmxvZyhsZW4pO1xyXG4gICAgICBmb3IobGV0IGkgPSBsZW47IGkgPD0gbGVuKzIwOyBpKyspeyBcclxuICAgICAgICBjb25zb2xlLmxvZyhpKTtcclxuICAgICAgICByZXR1cm4gbUEucHVzaChkQVtpXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,62 @@
1
+ import { NgxSpinnerService } from "ngx-spinner";
2
+ import { ToastrService } from 'ngx-toastr';
3
+ import { Injectable } from '@angular/core';
4
+ import { HttpClient } from '@angular/common/http';
5
+ import { Cookie } from 'ng2-cookies/ng2-cookies';
6
+ import { GlobleEnvService } from '../globle/globle-env.service';
7
+ import { throwError, forkJoin } from 'rxjs';
8
+ import { HttpHeaders } from '@angular/common/http';
9
+ import { catchError } from 'rxjs/operators';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common/http";
12
+ import * as i2 from "../globle/globle-env.service";
13
+ import * as i3 from "ngx-toastr";
14
+ import * as i4 from "ngx-spinner";
15
+ export class StockServiceService {
16
+ constructor(http, glbEnv, toastr, spinnerService) {
17
+ this.http = http;
18
+ this.glbEnv = glbEnv;
19
+ this.toastr = toastr;
20
+ this.spinnerService = spinnerService;
21
+ }
22
+ load(reqObj, headers, url) {
23
+ console.log("url", this.glbEnv.baseUrl + url);
24
+ console.log("headers", headers);
25
+ return this.http.post(this.glbEnv.baseUrl + url, typeof (reqObj) == "object" ? JSON.stringify(reqObj) : reqObj, headers)
26
+ .toPromise()
27
+ .then((response) => response).catch(err => {
28
+ this.spinnerService.hide();
29
+ this.toastr.error(err.message);
30
+ });
31
+ }
32
+ Getdata(reqObj, header, url) {
33
+ let options = ({ headers: new HttpHeaders(header) });
34
+ return this.http.post(this.glbEnv.baseUrl + url, JSON.stringify(reqObj), options)
35
+ .pipe(catchError((error) => {
36
+ this.spinnerService.hide();
37
+ this.toastr.error(error.message);
38
+ return throwError(error);
39
+ }));
40
+ }
41
+ requestDataFromMultipleSources(MultipleReqList) {
42
+ if (MultipleReqList.length > 0) {
43
+ let forkJoinReqList = [];
44
+ MultipleReqList.forEach(element => {
45
+ forkJoinReqList.push(this.Getdata(element.reqObj, element.header, element.url));
46
+ });
47
+ return forkJoin(forkJoinReqList);
48
+ }
49
+ }
50
+ getCookies() {
51
+ return Cookie.get('_logid');
52
+ }
53
+ }
54
+ /** @nocollapse */ /** @nocollapse */ StockServiceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: StockServiceService, deps: [{ token: i1.HttpClient }, { token: i2.GlobleEnvService }, { token: i3.ToastrService }, { token: i4.NgxSpinnerService }], target: i0.ɵɵFactoryTarget.Injectable });
55
+ /** @nocollapse */ /** @nocollapse */ StockServiceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: StockServiceService, providedIn: 'root' });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: StockServiceService, decorators: [{
57
+ type: Injectable,
58
+ args: [{
59
+ providedIn: 'root'
60
+ }]
61
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.GlobleEnvService }, { type: i3.ToastrService }, { type: i4.NgxSpinnerService }]; } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stc2VydmljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXpsaWIvc3JjL2xpYi9zdG9jay1zZXJ2aWNlL3N0b2NrLXNlcnZpY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBQyxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBSzVDLE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsWUFDVSxJQUFnQixFQUNqQixNQUF3QixFQUN2QixNQUFxQixFQUNyQixjQUFpQztRQUhqQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO0lBQ3ZDLENBQUM7SUFFTCxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHO1FBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLE9BQU0sQ0FBQyxNQUFNLENBQUMsSUFBRSxRQUFRLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQyxDQUFBLE1BQU0sRUFBRSxPQUFPLENBQUM7YUFDL0csU0FBUyxFQUFFO2FBQ1gsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRztRQUV6QixJQUFJLE9BQU8sR0FBUSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQzthQUM5RSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakMsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFTSw4QkFBOEIsQ0FBQyxlQUFlO1FBQ25ELElBQUcsZUFBZSxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUM7WUFDMUIsSUFBSSxlQUFlLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2hDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDaEYsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNsQztJQUdILENBQUM7SUFDRCxVQUFVO1FBQ1IsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7O3NKQTVDVSxtQkFBbUI7MEpBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3hTcGlubmVyU2VydmljZSB9IGZyb20gXCJuZ3gtc3Bpbm5lclwiO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29va2llIH0gZnJvbSAnbmcyLWNvb2tpZXMvbmcyLWNvb2tpZXMnO1xyXG5pbXBvcnQgeyBHbG9ibGVFbnZTZXJ2aWNlIH0gZnJvbSAnLi4vZ2xvYmxlL2dsb2JsZS1lbnYuc2VydmljZSc7XHJcbmltcG9ydCB7IHRocm93RXJyb3IsZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIdHRwSGVhZGVycyAgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja1NlcnZpY2VTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwdWJsaWMgZ2xiRW52OiBHbG9ibGVFbnZTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdHI6IFRvYXN0clNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNwaW5uZXJTZXJ2aWNlOiBOZ3hTcGlubmVyU2VydmljZSBcclxuICApIHsgfVxyXG5cclxuICBsb2FkKHJlcU9iaiwgaGVhZGVycywgdXJsKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcInVybFwiLHRoaXMuZ2xiRW52LmJhc2VVcmwgKyB1cmwpO1xyXG4gICAgY29uc29sZS5sb2coXCJoZWFkZXJzXCIsaGVhZGVycyk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5nbGJFbnYuYmFzZVVybCArIHVybCwgdHlwZW9mKHJlcU9iaik9PVwib2JqZWN0XCI/IEpTT04uc3RyaW5naWZ5KHJlcU9iaik6cmVxT2JqLCBoZWFkZXJzKVxyXG4gICAgICAudG9Qcm9taXNlKClcclxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZSkuY2F0Y2goZXJyID0+IHtcclxuICAgICAgICB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcihlcnIubWVzc2FnZSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgR2V0ZGF0YShyZXFPYmosIGhlYWRlciwgdXJsKSB7XHJcbiAgXHJcbiAgICBsZXQgb3B0aW9uczogYW55ID0gKHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKGhlYWRlcikgfSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5nbGJFbnYuYmFzZVVybCArIHVybCwgSlNPTi5zdHJpbmdpZnkocmVxT2JqKSwgb3B0aW9ucylcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcihlcnJvci5tZXNzYWdlKTtcclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXF1ZXN0RGF0YUZyb21NdWx0aXBsZVNvdXJjZXMoTXVsdGlwbGVSZXFMaXN0KTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgaWYoTXVsdGlwbGVSZXFMaXN0Lmxlbmd0aD4wKXtcclxuICAgICAgbGV0IGZvcmtKb2luUmVxTGlzdCA9IFtdO1xyXG4gICAgICBNdWx0aXBsZVJlcUxpc3QuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICBmb3JrSm9pblJlcUxpc3QucHVzaCh0aGlzLkdldGRhdGEoZWxlbWVudC5yZXFPYmosZWxlbWVudC5oZWFkZXIsZWxlbWVudC51cmwpKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBmb3JrSm9pbihmb3JrSm9pblJlcUxpc3QpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG4gIGdldENvb2tpZXMoKSB7XHJcbiAgICByZXR1cm4gQ29va2llLmdldCgnX2xvZ2lkJyk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbi8vIGdldElwKGhlYWRlcikge1xyXG4vLyAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFwiaHR0cDovL2ZyZWVnZW9pcC5uZXQvanNvbi9cIiwgaGVhZGVyKVxyXG4vLyAgICAgLnRvUHJvbWlzZSgpXHJcbi8vICAgICAudGhlbigocmVzcG9uc2UpID0+IHJlc3BvbnNlKTtcclxuLy8gfSJdfQ==