@esolve/ng-esolve-connect 0.9.0 → 0.10.2

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 (46) hide show
  1. package/esm2020/lib/account/esolve-account.service.mjs +106 -41
  2. package/esm2020/lib/account/esolve-transaction-list.mjs +4 -0
  3. package/esm2020/lib/account/esolve-transaction-options.mjs +2 -0
  4. package/esm2020/lib/account/esolve-transaction-record.mjs +2 -0
  5. package/esm2020/lib/account/esolve-transaction.mjs +145 -0
  6. package/esm2020/lib/auth/esolve-auth-interceptor.service.mjs +1 -1
  7. package/esm2020/lib/auth/esolve-auth.service.mjs +25 -25
  8. package/esm2020/lib/banners/esolve-banner.service.mjs +26 -26
  9. package/esm2020/lib/cart/esolve-cart.service.mjs +25 -25
  10. package/esm2020/lib/category-tree/esolve-category-tree.service.mjs +45 -45
  11. package/esm2020/lib/locations/esolve-locations.service.mjs +15 -15
  12. package/esm2020/lib/locations/esolve-stock-location-record.mjs +1 -1
  13. package/esm2020/lib/locations/esolve-stock-location.mjs +16 -16
  14. package/esm2020/lib/media/esolve-media.service.mjs +25 -25
  15. package/esm2020/lib/menu/esolve-menu.service.mjs +1 -1
  16. package/esm2020/lib/payment/esolve-payment-method-record.mjs +1 -1
  17. package/esm2020/lib/payment/esolve-payment-method.mjs +1 -5
  18. package/esm2020/lib/payment/esolve-payment.service.mjs +2 -2
  19. package/esm2020/lib/shared/error-handler/esolve-error-handler.service.mjs +5 -3
  20. package/esm2020/lib/shared/esolve-list.mjs +9 -0
  21. package/esm2020/lib/topics/esolve-topic.service.mjs +11 -11
  22. package/esm2020/public-api.mjs +6 -2
  23. package/fesm2015/esolve-ng-esolve-connect.mjs +507 -293
  24. package/fesm2015/esolve-ng-esolve-connect.mjs.map +1 -1
  25. package/fesm2020/esolve-ng-esolve-connect.mjs +509 -292
  26. package/fesm2020/esolve-ng-esolve-connect.mjs.map +1 -1
  27. package/lib/account/esolve-account.service.d.ts +11 -4
  28. package/lib/account/esolve-transaction-list.d.ts +4 -0
  29. package/lib/account/esolve-transaction-options.d.ts +8 -0
  30. package/lib/account/esolve-transaction-record.d.ts +98 -0
  31. package/lib/account/esolve-transaction.d.ts +132 -0
  32. package/lib/auth/esolve-auth.service.d.ts +1 -1
  33. package/lib/banners/esolve-banner.service.d.ts +6 -6
  34. package/lib/cart/esolve-cart.service.d.ts +12 -12
  35. package/lib/category-tree/esolve-category-tree.service.d.ts +7 -7
  36. package/lib/locations/esolve-locations.service.d.ts +5 -5
  37. package/lib/locations/esolve-stock-location-record.d.ts +1 -1
  38. package/lib/locations/esolve-stock-location.d.ts +7 -8
  39. package/lib/media/esolve-media.service.d.ts +7 -7
  40. package/lib/payment/esolve-payment-method-record.d.ts +0 -4
  41. package/lib/payment/esolve-payment-method.d.ts +0 -4
  42. package/lib/shared/error-handler/esolve-error-handler.service.d.ts +1 -0
  43. package/lib/shared/esolve-list.d.ts +7 -0
  44. package/lib/topics/esolve-topic.service.d.ts +1 -1
  45. package/package.json +1 -1
  46. package/public-api.d.ts +5 -1
@@ -16,30 +16,6 @@ export class EsolveAuthService {
16
16
  this.errorHandler = errorHandler;
17
17
  this.cookieService = cookieService;
18
18
  }
19
- checkAccessToken(session) {
20
- session = session || this.session.currentSession;
21
- const token = session?.key ?? '';
22
- const params = new HttpParams({
23
- fromObject: {
24
- key: token,
25
- ws_id: this.config.wsid
26
- }
27
- });
28
- return this.http.get(`${this.config.api_url}/service/get-access-token.php`, {
29
- params,
30
- headers: new HttpHeaders({
31
- 'Accept-Language': '*'
32
- })
33
- }).pipe(map(responseData => {
34
- if ((responseData.type === 'error') ||
35
- (responseData.type === 'exception') ||
36
- (!responseData.additional_data.key_okay)) {
37
- throw responseData;
38
- }
39
- responseData.additional_data.key = token;
40
- return responseData;
41
- })).toPromise();
42
- }
43
19
  getAccessToken(email, password, anonymous = false) {
44
20
  let params = new HttpParams();
45
21
  if (anonymous) {
@@ -115,6 +91,30 @@ export class EsolveAuthService {
115
91
  this.cookieService.delete('_ws_id');
116
92
  return this.getAccessToken('', '', true).toPromise();
117
93
  }
94
+ checkAccessToken(session) {
95
+ session = session || this.session.currentSession;
96
+ const token = session?.key ?? '';
97
+ const params = new HttpParams({
98
+ fromObject: {
99
+ key: token,
100
+ ws_id: this.config.wsid
101
+ }
102
+ });
103
+ return this.http.get(`${this.config.api_url}/service/get-access-token.php`, {
104
+ params,
105
+ headers: new HttpHeaders({
106
+ 'Accept-Language': '*'
107
+ })
108
+ }).pipe(map(responseData => {
109
+ if ((responseData.type === 'error') ||
110
+ (responseData.type === 'exception') ||
111
+ (!responseData.additional_data.key_okay)) {
112
+ throw responseData;
113
+ }
114
+ responseData.additional_data.key = token;
115
+ return responseData;
116
+ })).toPromise();
117
+ }
118
118
  // Handlers
119
119
  handleExpiration() {
120
120
  return (session) => {
@@ -160,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
160
160
  type: Inject,
161
161
  args: [ESOLVE_CONNECT_CONFIG]
162
162
  }] }, { type: i1.HttpClient }, { type: i2.EsolveSessionService }, { type: i3.EsolveErrorHandlerService }, { type: i4.CookieService }]; } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYXV0aC9lc29sdmUtYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFFSCxVQUFVLEVBRVYsV0FBVyxFQUNkLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl0RCxPQUFPLEVBQXVCLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQXNCdEYsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixZQUMyQyxNQUEyQixFQUMxRCxJQUFnQixFQUNoQixPQUE2QixFQUM3QixZQUF1QyxFQUN2QyxhQUE0QjtRQUpHLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQzFELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFDN0IsaUJBQVksR0FBWixZQUFZLENBQTJCO1FBQ3ZDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ3BDLENBQUM7SUFFRyxnQkFBZ0IsQ0FBQyxPQUF1QjtRQUM1QyxPQUFPLEdBQUcsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1FBRWpELE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1FBRWpDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDO1lBQzFCLFVBQVUsRUFBRTtnQkFDUixHQUFHLEVBQUUsS0FBSztnQkFDVixLQUFLLEVBQUUsSUFBSSxDQUFDLE1B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ZUFBZSxDQUFDLE9BQU8sRUFDckMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQzFCLENBQUM7U0FDTDtJQUNMLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBZ0M7UUFDaEQsTUFBTSxLQUFLLEdBQUc7WUFDVixPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLElBQUksRUFBRSxFQUFFO1NBQ1gsQ0FBQztRQUVGLElBQ0ksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDaEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDeEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFDckI7WUFDRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtRQUVELElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDaEMsS0FBSyxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxRQUFRLENBQUMsZUFBZSxFQUFFO1lBQzFCLEtBQUssQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztTQUN6QztRQUVELE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7OzhHQXhOUSxpQkFBaUIsa0JBRWQscUJBQXFCO2tIQUZ4QixpQkFBaUIsY0FGZCxNQUFNOzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUdRLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBIdHRwQ2xpZW50LFxyXG4gICAgSHR0cFBhcmFtcyxcclxuICAgIEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gICAgSHR0cEhlYWRlcnNcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRhcCwgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnLCBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uIH0gZnJvbSAnLi4vc2Vzc2lvbi9lc29sdmUtc2Vzc2lvbic7XHJcbmltcG9ydCB7IEVzb2x2ZVNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi9lc29sdmUtc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXNvbHZlU2V0UmVzcG9uc2UsIEVzb2x2ZVBvc3RSZXNwb25zZUl0ZW0gfSBmcm9tICcuLi9zaGFyZWQvZXNvbHZlLXJlc3BvbnNlJztcclxuaW1wb3J0IHsgRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9lcnJvci1oYW5kbGVyL2Vzb2x2ZS1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xyXG5cclxuaW50ZXJmYWNlIEVzb2x2ZUF1dGhSZXNwb25zZURhdGEge1xyXG4gICAgc2VydmljZV90eXBlOiBzdHJpbmc7XHJcbiAgICB0eXBlOiBzdHJpbmc7XHJcbiAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBhZGRpdGlvbmFsX2RhdGE6IHtcclxuICAgICAgICBleHBpcmVzOiBudW1iZXIsXHJcbiAgICAgICAgZXhwaXJ5X3RpbWU6IG51bWJlcixcclxuICAgICAgICB1c2VyX2lkOiBudW1iZXIsXHJcbiAgICAgICAga2V5Pzogc3RyaW5nLFxyXG4gICAgICAgIGtleV9va2F5PzogYm9vbGVhbixcclxuICAgIH07XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNvbHZlQXV0aFNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIHNlc3Npb246IEVzb2x2ZVNlc3Npb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyOiBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZVxyXG4gICAgKSB7IH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrQWNjZXNzVG9rZW4oc2Vzc2lvbj86IEVzb2x2ZVNlc3Npb24pOiBQcm9taXNlPEVzb2x2ZUF1dGhSZXNwb25zZURhdGE+IHtcclxuICAgICAgICBzZXNzaW9uID0gc2Vzc2lvbiB8fCB0aGlzLnNlc3Npb24uY3VycmVudFNlc3Npb247XHJcblxyXG4gICAgICAgIGNvbnN0IHRva2VuID0gc2Vzc2lvbj8ua2V5ID8/ICcnO1xyXG5cclxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7XHJcbiAgICAgICAgICAgIGZyb21PYmplY3Q6IHtcclxuICAgICAgICAgICAgICAgIGtleTogdG9rZW4sXHJcbiAgICAgICAgICAgICAgICB3c19pZDogdGhpcy5jb25maWcud3NpZFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUF1dGhSZXNwb25zZURhdGE+KFxyXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL2dldC1hY2Nlc3MtdG9rZW4ucGhwYCxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogJyonXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2VEYXRhID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2VEYXRhLnR5cGUgPT09ICdlcnJvcicpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlRGF0YS50eXBlID09PSAnZXhjZXB0aW9uJykgfHxcclxuICAgICAgICAgICAgICAgICAgICAoIXJlc3BvbnNlRGF0YS5hZGRpdGlvbmFsX2RhdGEua2V5X29rYXkpXHJcbiAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZURhdGE7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VEYXRhLmFkZGl0aW9uYWxfZGF0YS5rZXkgPSB0b2tlbjtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2VEYXRhO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICkudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEFjY2Vzc1Rva2VuKFxyXG4gICAgICAgIGVtYWlsOiBzdHJpbmcsXHJcbiAgICAgICAgcGFzc3dvcmQ6IHN0cmluZyxcclxuICAgICAgICBhbm9ueW1vdXM6IGJvb2xlYW4gPSBmYWxzZVxyXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVBdXRoUmVzcG9uc2VEYXRhPiB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcblxyXG4gICAgICAgIGlmIChhbm9ueW1vdXMpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnYW5vbnltb3VzJywgJzEnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChlbWFpbCAhPT0gJycpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZW1haWwnLCBlbWFpbCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocGFzc3dvcmQgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Bhc3N3b3JkJywgcGFzc3dvcmQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnd3NfaWQnLCB0aGlzLmNvbmZpZy53c2lkKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RXNvbHZlQXV0aFJlc3BvbnNlRGF0YT4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2UvZ2V0LWFjY2Vzcy10b2tlbi5waHBgLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiAnKidcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcChyZXNwb25zZURhdGEgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZURhdGEudHlwZSA9PT0gJ2Vycm9yJykgfHxcclxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2VEYXRhLnR5cGUgPT09ICdleGNlcHRpb24nKVxyXG4gICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2VEYXRhO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSxcclxuICAgICAgICAgICAgdGFwKHJlc3BvbnNlRGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUF1dGhlbnRpY2F0aW9uKHJlc3BvbnNlRGF0YSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXV0b0xvZ2luKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2Vzc2lvbi5yZXN0b3JlKFxyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUV4cGlyYXRpb24oKSxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBY2Nlc3NUb2tlbignJywgJycsIHRydWUpLnRvUHJvbWlzZSgpLnRoZW4oXHJcbiAgICAgICAgICAgICAgICAgICAgXyA9PiB7IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGxvZ2luKGVtYWlsOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XHJcbiAgICAgICAgICAgIGxvZ2luOiB7XHJcbiAgICAgICAgICAgICAgICBlbWFpbCxcclxuICAgICAgICAgICAgICAgIHBhc3N3b3JkXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlUG9zdFJlc3BvbnNlSXRlbT4+KFxyXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL3NldC1sb2dpbi5waHBgLFxyXG4gICAgICAgICAgICBib2R5LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd3NfaWQ6IHRoaXMuY29uZmlnLndzaWRcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcclxuICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5J1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZXNwb25zZXMgPT09IHVuZGVmaW5lZCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVzcG9uc2VzLmxlbmd0aCA8PSAwKVxyXG4gICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgbG9naW5fcmVzcG9uc2UgPSByZXNwb25zZS5yZXNwb25zZXNbMF07XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgIChsb2dpbl9yZXNwb25zZS5zdGF0dXMuc3RhdGUgIT09ICdzdWNjZXNzJykgJiZcclxuICAgICAgICAgICAgICAgICAgICAobG9naW5fcmVzcG9uc2Uuc3RhdHVzLnN0YXRlICE9PSAnd2FybmluZycpXHJcbiAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBsb2dpbl9yZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHJlc3BvbnNlX2xvZyBvZiBsb2dpbl9yZXNwb25zZS5sb2cpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoKHJlc3BvbnNlX2xvZy50eXBlID09PSAnc3VjY2VzcycpICYmIChyZXNwb25zZV9sb2cubWVzc2FnZV9jb2RlID09PSAnbG9naW5fc3VjY2VzcycpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvbi5oYW5kbGVVcGRhdGVTZXNzaW9uKGxvZ2luX3Jlc3BvbnNlLmVzb2x2ZV9pZCBhcyBudW1iZXIpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ2luX3Jlc3BvbnNlLmVzb2x2ZV9pZCBhcyBudW1iZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRocm93IGxvZ2luX3Jlc3BvbnNlO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcignc2V0LWxvZ2luJywgZXJyb3JSZXMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGxvZ291dCgpOiBQcm9taXNlPEVzb2x2ZUF1dGhSZXNwb25zZURhdGE+IHtcclxuICAgICAgICB0aGlzLnNlc3Npb24uY2xlYXJUaW1lcigpO1xyXG4gICAgICAgIHRoaXMuY29va2llU2VydmljZS5kZWxldGUoJ193c19pZCcpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRBY2Nlc3NUb2tlbignJywgJycsIHRydWUpLnRvUHJvbWlzZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhhbmRsZXJzXHJcbiAgICBwcml2YXRlIGhhbmRsZUV4cGlyYXRpb24oKTogKHNlc3Npb24/OiBFc29sdmVTZXNzaW9uKSA9PiB2b2lkIHtcclxuICAgICAgICByZXR1cm4gKHNlc3Npb24/OiBFc29sdmVTZXNzaW9uKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tBY2Nlc3NUb2tlbihzZXNzaW9uKS50aGVuKFxyXG4gICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBdXRoZW50aWNhdGlvbihyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nb3V0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZUF1dGhlbnRpY2F0aW9uKHJlc3BvbnNlRGF0YTogRXNvbHZlQXV0aFJlc3BvbnNlRGF0YSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChyZXNwb25zZURhdGEuYWRkaXRpb25hbF9kYXRhLmtleSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlc3Npb24uaGFuZGxlU2Vzc2lvbihcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlRGF0YS5hZGRpdGlvbmFsX2RhdGEudXNlcl9pZCxcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlRGF0YS5hZGRpdGlvbmFsX2RhdGEua2V5LFxyXG4gICAgICAgICAgICAgICAgK3Jlc3BvbnNlRGF0YS5hZGRpdGlvbmFsX2RhdGEuZXhwaXJ5X3RpbWUsXHJcbiAgICAgICAgICAgICAgICArcmVzcG9uc2VEYXRhLmFkZGl0aW9uYWxfZGF0YS5leHBpcmVzLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFeHBpcmF0aW9uKClcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvclJlczogRXNvbHZlQXV0aFJlc3BvbnNlRGF0YSk6IE9ic2VydmFibGU8bmV2ZXI+IHtcclxuICAgICAgICBjb25zdCBlcnJvciA9IHtcclxuICAgICAgICAgICAgbWVzc2FnZTogJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQnLFxyXG4gICAgICAgICAgICBkYXRhOiB7fVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgKCFlcnJvclJlcy50eXBlKSB8fFxyXG4gICAgICAgICAgICAoIWVycm9yUmVzLnNlcnZpY2VfdHlwZSkgfHxcclxuICAgICAgICAgICAgKCFlcnJvclJlcy5tZXNzYWdlKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZXJyb3JSZXMubWVzc2FnZS50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBlcnJvclJlcy5tZXNzYWdlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGVycm9yUmVzLmFkZGl0aW9uYWxfZGF0YSkge1xyXG4gICAgICAgICAgICBlcnJvci5kYXRhID0gZXJyb3JSZXMuYWRkaXRpb25hbF9kYXRhO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYXV0aC9lc29sdmUtYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFFSCxVQUFVLEVBRVYsV0FBVyxFQUNkLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl0RCxPQUFPLEVBQXVCLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQXNCdEYsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixZQUMyQyxNQUEyQixFQUMxRCxJQUFnQixFQUNoQixPQUE2QixFQUM3QixZQUF1QyxFQUN2QyxhQUE0QjtRQUpHLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQzFELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFDN0IsaUJBQVksR0FBWixZQUFZLENBQTJCO1FBQ3ZDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ3BDLENBQUM7SUFFRSxjQUFjLENBQ2pCLEtBQWEsRUFDYixRQUFnQixFQUNoQixZQUFxQixLQUFLO1FBRTFCLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFFOUIsSUFBSSxTQUFTLEVBQUU7WUFDWCxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDekM7UUFFRCxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7WUFDZCxNQUFNLEdBQUcsTUFBTSxDQUFD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ZUFBZSxDQUFDLE9BQU8sRUFDckMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQzFCLENBQUM7U0FDTDtJQUNMLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBZ0M7UUFDaEQsTUFBTSxLQUFLLEdBQUc7WUFDVixPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLElBQUksRUFBRSxFQUFFO1NBQ1gsQ0FBQztRQUVGLElBQ0ksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDaEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDeEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFDckI7WUFDRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtRQUVELElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDaEMsS0FBSyxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxRQUFRLENBQUMsZUFBZSxFQUFFO1lBQzFCLEtBQUssQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztTQUN6QztRQUVELE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7OzhHQXhOUSxpQkFBaUIsa0JBRWQscUJBQXFCO2tIQUZ4QixpQkFBaUIsY0FGZCxNQUFNOzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUdRLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBIdHRwQ2xpZW50LFxyXG4gICAgSHR0cFBhcmFtcyxcclxuICAgIEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gICAgSHR0cEhlYWRlcnNcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRhcCwgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnLCBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uIH0gZnJvbSAnLi4vc2Vzc2lvbi9lc29sdmUtc2Vzc2lvbic7XHJcbmltcG9ydCB7IEVzb2x2ZVNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi9lc29sdmUtc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXNvbHZlU2V0UmVzcG9uc2UsIEVzb2x2ZVBvc3RSZXNwb25zZUl0ZW0gfSBmcm9tICcuLi9zaGFyZWQvZXNvbHZlLXJlc3BvbnNlJztcclxuaW1wb3J0IHsgRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9lcnJvci1oYW5kbGVyL2Vzb2x2ZS1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xyXG5cclxuaW50ZXJmYWNlIEVzb2x2ZUF1dGhSZXNwb25zZURhdGEge1xyXG4gICAgc2VydmljZV90eXBlOiBzdHJpbmc7XHJcbiAgICB0eXBlOiBzdHJpbmc7XHJcbiAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBhZGRpdGlvbmFsX2RhdGE6IHtcclxuICAgICAgICBleHBpcmVzOiBudW1iZXIsXHJcbiAgICAgICAgZXhwaXJ5X3RpbWU6IG51bWJlcixcclxuICAgICAgICB1c2VyX2lkOiBudW1iZXIsXHJcbiAgICAgICAga2V5Pzogc3RyaW5nLFxyXG4gICAgICAgIGtleV9va2F5PzogYm9vbGVhbixcclxuICAgIH07XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNvbHZlQXV0aFNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIHNlc3Npb246IEVzb2x2ZVNlc3Npb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyOiBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZVxyXG4gICAgKSB7IH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QWNjZXNzVG9rZW4oXHJcbiAgICAgICAgZW1haWw6IHN0cmluZyxcclxuICAgICAgICBwYXNzd29yZDogc3RyaW5nLFxyXG4gICAgICAgIGFub255bW91czogYm9vbGVhbiA9IGZhbHNlXHJcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUF1dGhSZXNwb25zZURhdGE+IHtcclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuXHJcbiAgICAgICAgaWYgKGFub255bW91cykge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdhbm9ueW1vdXMnLCAnMScpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGVtYWlsICE9PSAnJykge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdlbWFpbCcsIGVtYWlsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChwYXNzd29yZCAhPT0gJycpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGFzc3dvcmQnLCBwYXNzd29yZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd3c19pZCcsIHRoaXMuY29uZmlnLndzaWQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVBdXRoUmVzcG9uc2VEYXRhPihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtYWNjZXNzLXRva2VuLnBocGAsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHBhcmFtcyxcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6ICcqJ1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgdGFwKHJlc3BvbnNlRGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlRGF0YS50eXBlID09PSAnZXJyb3InKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZURhdGEudHlwZSA9PT0gJ2V4Y2VwdGlvbicpXHJcbiAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZURhdGE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpLFxyXG4gICAgICAgICAgICB0YXAocmVzcG9uc2VEYXRhID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0aGVudGljYXRpb24ocmVzcG9uc2VEYXRhKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhdXRvTG9naW4oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZXNzaW9uLnJlc3RvcmUoXHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXhwaXJhdGlvbigpLFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldEFjY2Vzc1Rva2VuKCcnLCAnJywgdHJ1ZSkudG9Qcm9taXNlKCkudGhlbihcclxuICAgICAgICAgICAgICAgICAgICBfID0+IHsgfSxcclxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbG9naW4oZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHtcclxuICAgICAgICAgICAgbG9naW46IHtcclxuICAgICAgICAgICAgICAgIGVtYWlsLFxyXG4gICAgICAgICAgICAgICAgcGFzc3dvcmRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVQb3N0UmVzcG9uc2VJdGVtPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2Uvc2V0LWxvZ2luLnBocGAsXHJcbiAgICAgICAgICAgIGJvZHksXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OydcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgICAgICB3c19pZDogdGhpcy5jb25maWcud3NpZFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlLnJlc3BvbnNlcyA9PT0gdW5kZWZpbmVkKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZXNwb25zZXMubGVuZ3RoIDw9IDApXHJcbiAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBsb2dpbl9yZXNwb25zZSA9IHJlc3BvbnNlLnJlc3BvbnNlc1swXTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgKGxvZ2luX3Jlc3BvbnNlLnN0YXR1cy5zdGF0ZSAhPT0gJ3N1Y2Nlc3MnKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgIChsb2dpbl9yZXNwb25zZS5zdGF0dXMuc3RhdGUgIT09ICd3YXJuaW5nJylcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IGxvZ2luX3Jlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcmVzcG9uc2VfbG9nIG9mIGxvZ2luX3Jlc3BvbnNlLmxvZykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICgocmVzcG9uc2VfbG9nLnR5cGUgPT09ICdzdWNjZXNzJykgJiYgKHJlc3BvbnNlX2xvZy5tZXNzYWdlX2NvZGUgPT09ICdsb2dpbl9zdWNjZXNzJykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uLmhhbmRsZVVwZGF0ZVNlc3Npb24obG9naW5fcmVzcG9uc2UuZXNvbHZlX2lkIGFzIG51bWJlcik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9naW5fcmVzcG9uc2UuZXNvbHZlX2lkIGFzIG51bWJlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhyb3cgbG9naW5fcmVzcG9uc2U7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKCdzZXQtbG9naW4nLCBlcnJvclJlcyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbG9nb3V0KCk6IFByb21pc2U8RXNvbHZlQXV0aFJlc3BvbnNlRGF0YT4ge1xyXG4gICAgICAgIHRoaXMuc2Vzc2lvbi5jbGVhclRpbWVyKCk7XHJcbiAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLmRlbGV0ZSgnX3dzX2lkJyk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEFjY2Vzc1Rva2VuKCcnLCAnJywgdHJ1ZSkudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjaGVja0FjY2Vzc1Rva2VuKHNlc3Npb24/OiBFc29sdmVTZXNzaW9uKTogUHJvbWlzZTxFc29sdmVBdXRoUmVzcG9uc2VEYXRhPiB7XHJcbiAgICAgICAgc2Vzc2lvbiA9IHNlc3Npb24gfHwgdGhpcy5zZXNzaW9uLmN1cnJlbnRTZXNzaW9uO1xyXG5cclxuICAgICAgICBjb25zdCB0b2tlbiA9IHNlc3Npb24/LmtleSA/PyAnJztcclxuXHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoe1xyXG4gICAgICAgICAgICBmcm9tT2JqZWN0OiB7XHJcbiAgICAgICAgICAgICAgICBrZXk6IHRva2VuLFxyXG4gICAgICAgICAgICAgICAgd3NfaWQ6IHRoaXMuY29uZmlnLndzaWRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVBdXRoUmVzcG9uc2VEYXRhPihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtYWNjZXNzLXRva2VuLnBocGAsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHBhcmFtcyxcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6ICcqJ1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlRGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlRGF0YS50eXBlID09PSAnZXJyb3InKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgIChyZXNwb25zZURhdGEudHlwZSA9PT0gJ2V4Y2VwdGlvbicpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKCFyZXNwb25zZURhdGEuYWRkaXRpb25hbF9kYXRhLmtleV9va2F5KVxyXG4gICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2VEYXRhO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlRGF0YS5hZGRpdGlvbmFsX2RhdGEua2V5ID0gdG9rZW47XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlRGF0YTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApLnRvUHJvbWlzZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhhbmRsZXJzXHJcbiAgICBwcml2YXRlIGhhbmRsZUV4cGlyYXRpb24oKTogKHNlc3Npb24/OiBFc29sdmVTZXNzaW9uKSA9PiB2b2lkIHtcclxuICAgICAgICByZXR1cm4gKHNlc3Npb24/OiBFc29sdmVTZXNzaW9uKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tBY2Nlc3NUb2tlbihzZXNzaW9uKS50aGVuKFxyXG4gICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBdXRoZW50aWNhdGlvbihyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nb3V0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZUF1dGhlbnRpY2F0aW9uKHJlc3BvbnNlRGF0YTogRXNvbHZlQXV0aFJlc3BvbnNlRGF0YSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChyZXNwb25zZURhdGEuYWRkaXRpb25hbF9kYXRhLmtleSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlc3Npb24uaGFuZGxlU2Vzc2lvbihcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlRGF0YS5hZGRpdGlvbmFsX2RhdGEudXNlcl9pZCxcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlRGF0YS5hZGRpdGlvbmFsX2RhdGEua2V5LFxyXG4gICAgICAgICAgICAgICAgK3Jlc3BvbnNlRGF0YS5hZGRpdGlvbmFsX2RhdGEuZXhwaXJ5X3RpbWUsXHJcbiAgICAgICAgICAgICAgICArcmVzcG9uc2VEYXRhLmFkZGl0aW9uYWxfZGF0YS5leHBpcmVzLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFeHBpcmF0aW9uKClcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvclJlczogRXNvbHZlQXV0aFJlc3BvbnNlRGF0YSk6IE9ic2VydmFibGU8bmV2ZXI+IHtcclxuICAgICAgICBjb25zdCBlcnJvciA9IHtcclxuICAgICAgICAgICAgbWVzc2FnZTogJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQnLFxyXG4gICAgICAgICAgICBkYXRhOiB7fVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgKCFlcnJvclJlcy50eXBlKSB8fFxyXG4gICAgICAgICAgICAoIWVycm9yUmVzLnNlcnZpY2VfdHlwZSkgfHxcclxuICAgICAgICAgICAgKCFlcnJvclJlcy5tZXNzYWdlKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZXJyb3JSZXMubWVzc2FnZS50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBlcnJvclJlcy5tZXNzYWdlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGVycm9yUmVzLmFkZGl0aW9uYWxfZGF0YSkge1xyXG4gICAgICAgICAgICBlcnJvci5kYXRhID0gZXJyb3JSZXMuYWRkaXRpb25hbF9kYXRhO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -12,6 +12,31 @@ export class EsolveBannerService {
12
12
  this.config = config;
13
13
  this.http = http;
14
14
  }
15
+ /**
16
+ * Retrieves banners records from eSolve instance
17
+ *
18
+ * @returns An observable of eSolve banners.
19
+ */
20
+ getBanners(identifier, banner_display_container, enable_date_filter = false) {
21
+ let params = new HttpParams({
22
+ fromObject: {
23
+ ws_id: this.config.wsid,
24
+ enable_date_filter
25
+ }
26
+ });
27
+ if (identifier) {
28
+ params = params.set('identifier', identifier);
29
+ }
30
+ if (banner_display_container) {
31
+ params = params.set('banner_display_container', banner_display_container);
32
+ }
33
+ return this.http.get(`${this.config.api_url}/service/get-banners.php`, { params }).pipe(map(response => {
34
+ if (response.records === undefined) {
35
+ throw response;
36
+ }
37
+ return this.processBanners(response.records);
38
+ }));
39
+ }
15
40
  processBannerImageHotspots(hotspot_records) {
16
41
  const hotspots = [];
17
42
  if (hotspot_records.length > 0) {
@@ -64,31 +89,6 @@ export class EsolveBannerService {
64
89
  }
65
90
  return banners;
66
91
  }
67
- /**
68
- * Retrieves banners records from eSolve instance
69
- *
70
- * @returns An observable of eSolve banners.
71
- */
72
- getBanners(identifier, banner_display_container, enable_date_filter = false) {
73
- let params = new HttpParams({
74
- fromObject: {
75
- ws_id: this.config.wsid,
76
- enable_date_filter
77
- }
78
- });
79
- if (identifier) {
80
- params = params.set('identifier', identifier);
81
- }
82
- if (banner_display_container) {
83
- params = params.set('banner_display_container', banner_display_container);
84
- }
85
- return this.http.get(`${this.config.api_url}/service/get-banners.php`, { params }).pipe(map(response => {
86
- if (response.records === undefined) {
87
- throw response;
88
- }
89
- return this.processBanners(response.records);
90
- }));
91
- }
92
92
  }
93
93
  EsolveBannerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveBannerService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
94
94
  EsolveBannerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveBannerService, providedIn: 'root' });
@@ -101,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
101
101
  type: Inject,
102
102
  args: [ESOLVE_CONNECT_CONFIG]
103
103
  }] }, { type: i1.HttpClient }]; } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWJhbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9iYW5uZXJzL2Vzb2x2ZS1iYW5uZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBdUIscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd0RixPQUFPLEVBQUUsWUFBWSxFQUF3QixNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFRekUsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixZQUMyQyxNQUEyQixFQUMxRCxJQUFnQjtRQURlLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQzFELFNBQUksR0FBSixJQUFJLENBQVk7SUFDeEIsQ0FBQztJQUVHLDBCQUEwQixDQUFDLGVBQWlEO1FBQ2hGLE1BQU0sUUFBUSxHQUErQixFQUFFLENBQUM7UUFFaEQsSUFBSSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM1QixLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsRUFBRTtnQkFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSx3QkFBd0IsQ0FDeEMsY0FBYyxDQUFDLEdBQUcsRUFDbEIsY0FBYyxDQUFDLE1BQU0sRUFDckIsY0FBYyxDQUFDLE1BQU0sRUFDckIsY0FBYyxDQUFDLGFBQWEsQ0FDL0IsQ0FBQztnQkFFRixRQUFRLENBQUMsSUFBSSxD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QUU7Z0JBQ1IsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtnQkFDdkIsa0JBQWtCO2FBQ3JCO1NBQ0osQ0FBQyxDQUFDO1FBRUgsSUFBSSxVQUFVLEVBQUU7WUFDWixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDakQ7UUFFRCxJQUFJLHdCQUF3QixFQUFFO1lBQzFCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDBCQUEwQixFQUFFLHdCQUF3QixDQUFDLENBQUM7U0FDN0U7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNoQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTywwQkFBMEIsRUFDaEQsRUFBRSxNQUFNLEVBQUUsQ0FDYixDQUFDLElBQUksQ0FDRixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDWCxJQUFJLFFBQVEsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO2dCQUNoQyxNQUFNLFFBQVEsQ0FBQzthQUNsQjtZQUVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7O2dIQXhJUSxtQkFBbUIsa0JBRWhCLHFCQUFxQjtvSEFGeEIsbUJBQW1CLGNBRmhCLE1BQU07MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBR1EsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnLCBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFc29sdmVHZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9lc29sdmUtcmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFc29sdmVCYW5uZXJUeXBlIH0gZnJvbSAnLi9lc29sdmUtYmFubmVyLXR5cGUnO1xyXG5pbXBvcnQgeyBFc29sdmVCYW5uZXIsIEVzb2x2ZUJhbm5lckltYWdlU2V0IH0gZnJvbSAnLi9lc29sdmUtYmFubmVyJztcclxuaW1wb3J0IHsgRXNvbHZlQmFubmVySW1hZ2UgfSBmcm9tICcuL2Vzb2x2ZS1iYW5uZXItaW1hZ2UnO1xyXG5pbXBvcnQgeyBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3QgfSBmcm9tICcuL2Vzb2x2ZS1iYW5uZXItaW1hZ2UtaG90c3BvdCc7XHJcbmltcG9ydCB7IEVzb2x2ZUJhbm5lclJlY29yZCB9IGZyb20gJy4vZXNvbHZlLWJhbm5lci1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3RSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1iYW5uZXItaW1hZ2UtaG90c3BvdC1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVCYW5uZXJJbWFnZVJlY29yZCB9IGZyb20gJy4vZXNvbHZlLWJhbm5lci1pbWFnZS1yZWNvcmQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVCYW5uZXJTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoRVNPTFZFX0NPTk5FQ1RfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRXNvbHZlQ29ubmVjdENvbmZpZyxcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcclxuICAgICkgeyB9XHJcblxyXG4gICAgcHJpdmF0ZSBwcm9jZXNzQmFubmVySW1hZ2VIb3RzcG90cyhob3RzcG90X3JlY29yZHM6IEVzb2x2ZUJhbm5lckltYWdlSG90c3BvdFJlY29yZFtdKTogRXNvbHZlQmFubmVySW1hZ2VIb3RzcG90W10ge1xyXG4gICAgICAgIGNvbnN0IGhvdHNwb3RzOiBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3RbXSA9IFtdO1xyXG5cclxuICAgICAgICBpZiAoaG90c3BvdF9yZWNvcmRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBob3RzcG90X3JlY29yZCBvZiBob3RzcG90X3JlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhvdHNwb3QgPSBuZXcgRXNvbHZlQmFubmVySW1hZ2VIb3RzcG90KFxyXG4gICAgICAgICAgICAgICAgICAgIGhvdHNwb3RfcmVjb3JkLnVybCxcclxuICAgICAgICAgICAgICAgICAgICBob3RzcG90X3JlY29yZC50YXJnZXQsXHJcbiAgICAgICAgICAgICAgICAgICAgaG90c3BvdF9yZWNvcmQuY29vcmRzLFxyXG4gICAgICAgICAgICAgICAgICAgIGhvdHNwb3RfcmVjb3JkLmNvb3Jkc19zdHJpbmdcclxuICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgaG90c3BvdHMucHVzaChob3RzcG90KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGhvdHNwb3RzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcHJvY2Vzc0Jhbm5lckltYWdlcyhcclxuICAgICAgICBpbWFnZV9yZWNvcmRzOiBFc29sdmVCYW5uZXJJbWFnZVJlY29yZFtdLFxyXG4gICAgICAgIGJhbm5lcl90eXBlOiBFc29sdmVCYW5uZXJUeXBlXHJcbiAgICApOiBFc29sdmVCYW5uZXJJbWFnZVtdIHtcclxuICAgICAgICBjb25zdCBpbWFnZXM6IEVzb2x2ZUJhbm5lckltYWdlW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKGltYWdlX3JlY29yZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGltYWdlX3JlY29yZCBvZiBpbWFnZV9yZWNvcmRzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpbWFnZSA9IG5ldyBFc29sdmVCYW5uZXJJbWFnZShcclxuICAgICAgICAgICAgICAgICAgICAraW1hZ2VfcmVjb3JkLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIGltYWdlX3JlY29yZC5pbWFnZV90eXBlLFxyXG4gICAgICAgICAgICAgICAgICAgICtpbWFnZV9yZWNvcmQud2lkdGgsXHJcbiAgICAgICAgICAgICAgICAgICAgK2ltYWdlX3JlY29yZC5oZWlnaHQsXHJcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2VfcmVjb3JkLmZpbGVuYW1lXHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICgoYmFubmVyX3R5cGUgPT09ICdob3RzcG90JykgJiYgKGltYWdlX3JlY29yZC5ob3RzcG90cykpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBob3RzcG90cyA9IHRoaXMucHJvY2Vzc0Jhbm5lckltYWdlSG90c3BvdHMoaW1hZ2VfcmVjb3JkLmhvdHNwb3RzKTtcclxuICAgICAgICAgICAgICAgICAgICBpbWFnZS5ob3RzcG90cyA9IGhvdHNwb3RzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGltYWdlcy5wdXNoKGltYWdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGltYWdlcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2Nlc3MgYmFubmVyIHJlY29yZHMgaW50byBiYW5uZXIgb2JqZWN0c1xyXG4gICAgICogQHBhcmFtIHJlY29yZHMgQXJyYXkgb2YgcmVjb3Jkc1xyXG4gICAgICogQHJldHVybnMgTGlzdCBvZiBiYW5uZXJzXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcHJvY2Vzc0Jhbm5lcnMocmVjb3JkczogRXNvbHZlQmFubmVyUmVjb3JkW10pOiBFc29sdmVCYW5uZXJbXSB7XHJcbiAgICAgICAgY29uc3QgYmFubmVyczogRXNvbHZlQmFubmVyW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKChyZWNvcmRzKSAmJiAocmVjb3Jkcy5sZW5ndGggPiAwKSkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpbWFnZV9zZXRzOiBFc29sdmVCYW5uZXJJbWFnZVNldCA9IHt9O1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChyZWNvcmQuaW1hZ2VzLmRlc2t0b3ApIHtcclxuICAgICAgICAgICAgICAgICAgICBpbWFnZV9zZXRzLmRlc2t0b3AgPSB0aGlzLnByb2Nlc3NCYW5uZXJJbWFnZXMocmVjb3JkLmltYWdlcy5kZXNrdG9wLCByZWNvcmQudHlwZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHJlY29yZC5pbWFnZXMubW9iaWxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2Vfc2V0cy5tb2JpbGUgPSB0aGlzLnByb2Nlc3NCYW5uZXJJbWFnZXMocmVjb3JkLmltYWdlcy5tb2JpbGUsIHJlY29yZC50eXBlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocmVjb3JkLmltYWdlcy5zdWIpIHtcclxuICAgICAgICAgICAgICAgICAgICBpbWFnZV9zZXRzLnN1YiA9IHRoaXMucHJvY2Vzc0Jhbm5lckltYWdlcyhyZWNvcmQuaW1hZ2VzLnN1YiwgcmVjb3JkLnR5cGUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IGJhbm5lciA9IG5ldyBFc29sdmVCYW5uZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5pZCxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuYmFubmVyX2Rpc3BsYXlfY29udGFpbmVyLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5pZGVudGlmaWVyLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC50eXBlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC50aXRsZSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuYXJ0aWNsZSxcclxuICAgICAgICAgICAgICAgICAgICArcmVjb3JkLnNvcnRfcHJpb3JpdHksXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHJlY29yZC5saW5rLnVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiByZWNvcmQubGluay50YXJnZXRcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGltYWdlX3NldHNcclxuICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgYmFubmVycy5wdXNoKGJhbm5lcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBiYW5uZXJzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIGJhbm5lcnMgcmVjb3JkcyBmcm9tIGVTb2x2ZSBpbnN0YW5jZVxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgZVNvbHZlIGJhbm5lcnMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRCYW5uZXJzKFxyXG4gICAgICAgIGlkZW50aWZpZXI/OiBzdHJpbmcsXHJcbiAgICAgICAgYmFubmVyX2Rpc3BsYXlfY29udGFpbmVyPzogc3RyaW5nLFxyXG4gICAgICAgIGVuYWJsZV9kYXRlX2ZpbHRlcjogYm9vbGVhbiA9IGZhbHNlXHJcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUJhbm5lcltdPiB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHtcclxuICAgICAgICAgICAgZnJvbU9iamVjdDoge1xyXG4gICAgICAgICAgICAgICAgd3NfaWQ6IHRoaXMuY29uZmlnLndzaWQsXHJcbiAgICAgICAgICAgICAgICBlbmFibGVfZGF0ZV9maWx0ZXJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoaWRlbnRpZmllcikge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdpZGVudGlmaWVyJywgaWRlbnRpZmllcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoYmFubmVyX2Rpc3BsYXlfY29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2Jhbm5lcl9kaXNwbGF5X2NvbnRhaW5lcicsIGJhbm5lcl9kaXNwbGF5X2NvbnRhaW5lcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVCYW5uZXJSZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL2dldC1iYW5uZXJzLnBocGAsXHJcbiAgICAgICAgICAgIHsgcGFyYW1zIH1cclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0Jhbm5lcnMocmVzcG9uc2UucmVjb3Jkcyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWJhbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9iYW5uZXJzL2Vzb2x2ZS1iYW5uZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBdUIscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd0RixPQUFPLEVBQUUsWUFBWSxFQUF3QixNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFRekUsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixZQUMyQyxNQUEyQixFQUMxRCxJQUFnQjtRQURlLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQzFELFNBQUksR0FBSixJQUFJLENBQVk7SUFDeEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSSxVQUFVLENBQ2IsVUFBbUIsRUFDbkIsd0JBQWlDLEVBQ2pDLHFCQUE4QixLQUFLO1FBRW5DLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDO1lBQ3hCLFVBQVUsRUFBRTtnQkFDUixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dCQUN2QixrQkFBa0I7YUFDckI7U0FDSixDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsRUFBRTtZQUNaLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNqRDtRQUVE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QyxJQUFJLENBQUMsQ0FBQztpQkFDbkY7Z0JBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtvQkFDbkIsVUFBVSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM3RTtnQkFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksQ0FDM0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUNWLE1BQU0sQ0FBQyx3QkFBd0IsRUFDL0IsTUFBTSxDQUFDLFVBQVUsRUFDakIsTUFBTSxDQUFDLElBQUksRUFDWCxNQUFNLENBQUMsS0FBSyxFQUNaLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUNyQjtvQkFDSSxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHO29CQUNwQixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNO2lCQUM3QixFQUNELFVBQVUsQ0FDYixDQUFDO2dCQUVGLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDeEI7U0FDSjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7O2dIQXhJUSxtQkFBbUIsa0JBRWhCLHFCQUFxQjtvSEFGeEIsbUJBQW1CLGNBRmhCLE1BQU07MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBR1EsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnLCBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFc29sdmVHZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9lc29sdmUtcmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFc29sdmVCYW5uZXJUeXBlIH0gZnJvbSAnLi9lc29sdmUtYmFubmVyLXR5cGUnO1xyXG5pbXBvcnQgeyBFc29sdmVCYW5uZXIsIEVzb2x2ZUJhbm5lckltYWdlU2V0IH0gZnJvbSAnLi9lc29sdmUtYmFubmVyJztcclxuaW1wb3J0IHsgRXNvbHZlQmFubmVySW1hZ2UgfSBmcm9tICcuL2Vzb2x2ZS1iYW5uZXItaW1hZ2UnO1xyXG5pbXBvcnQgeyBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3QgfSBmcm9tICcuL2Vzb2x2ZS1iYW5uZXItaW1hZ2UtaG90c3BvdCc7XHJcbmltcG9ydCB7IEVzb2x2ZUJhbm5lclJlY29yZCB9IGZyb20gJy4vZXNvbHZlLWJhbm5lci1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3RSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1iYW5uZXItaW1hZ2UtaG90c3BvdC1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVCYW5uZXJJbWFnZVJlY29yZCB9IGZyb20gJy4vZXNvbHZlLWJhbm5lci1pbWFnZS1yZWNvcmQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVCYW5uZXJTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoRVNPTFZFX0NPTk5FQ1RfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRXNvbHZlQ29ubmVjdENvbmZpZyxcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcclxuICAgICkgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgYmFubmVycyByZWNvcmRzIGZyb20gZVNvbHZlIGluc3RhbmNlXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiBlU29sdmUgYmFubmVycy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEJhbm5lcnMoXHJcbiAgICAgICAgaWRlbnRpZmllcj86IHN0cmluZyxcclxuICAgICAgICBiYW5uZXJfZGlzcGxheV9jb250YWluZXI/OiBzdHJpbmcsXHJcbiAgICAgICAgZW5hYmxlX2RhdGVfZmlsdGVyOiBib29sZWFuID0gZmFsc2VcclxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQmFubmVyW10+IHtcclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoe1xyXG4gICAgICAgICAgICBmcm9tT2JqZWN0OiB7XHJcbiAgICAgICAgICAgICAgICB3c19pZDogdGhpcy5jb25maWcud3NpZCxcclxuICAgICAgICAgICAgICAgIGVuYWJsZV9kYXRlX2ZpbHRlclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmIChpZGVudGlmaWVyKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2lkZW50aWZpZXInLCBpZGVudGlmaWVyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChiYW5uZXJfZGlzcGxheV9jb250YWluZXIpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnYmFubmVyX2Rpc3BsYXlfY29udGFpbmVyJywgYmFubmVyX2Rpc3BsYXlfY29udGFpbmVyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUJhbm5lclJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2UvZ2V0LWJhbm5lcnMucGhwYCxcclxuICAgICAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQmFubmVycyhyZXNwb25zZS5yZWNvcmRzKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcHJvY2Vzc0Jhbm5lckltYWdlSG90c3BvdHMoaG90c3BvdF9yZWNvcmRzOiBFc29sdmVCYW5uZXJJbWFnZUhvdHNwb3RSZWNvcmRbXSk6IEVzb2x2ZUJhbm5lckltYWdlSG90c3BvdFtdIHtcclxuICAgICAgICBjb25zdCBob3RzcG90czogRXNvbHZlQmFubmVySW1hZ2VIb3RzcG90W10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKGhvdHNwb3RfcmVjb3Jkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgaG90c3BvdF9yZWNvcmQgb2YgaG90c3BvdF9yZWNvcmRzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBob3RzcG90ID0gbmV3IEVzb2x2ZUJhbm5lckltYWdlSG90c3BvdChcclxuICAgICAgICAgICAgICAgICAgICBob3RzcG90X3JlY29yZC51cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgaG90c3BvdF9yZWNvcmQudGFyZ2V0LFxyXG4gICAgICAgICAgICAgICAgICAgIGhvdHNwb3RfcmVjb3JkLmNvb3JkcyxcclxuICAgICAgICAgICAgICAgICAgICBob3RzcG90X3JlY29yZC5jb29yZHNfc3RyaW5nXHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIGhvdHNwb3RzLnB1c2goaG90c3BvdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBob3RzcG90cztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByb2Nlc3NCYW5uZXJJbWFnZXMoXHJcbiAgICAgICAgaW1hZ2VfcmVjb3JkczogRXNvbHZlQmFubmVySW1hZ2VSZWNvcmRbXSxcclxuICAgICAgICBiYW5uZXJfdHlwZTogRXNvbHZlQmFubmVyVHlwZVxyXG4gICAgKTogRXNvbHZlQmFubmVySW1hZ2VbXSB7XHJcbiAgICAgICAgY29uc3QgaW1hZ2VzOiBFc29sdmVCYW5uZXJJbWFnZVtdID0gW107XHJcblxyXG4gICAgICAgIGlmIChpbWFnZV9yZWNvcmRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBpbWFnZV9yZWNvcmQgb2YgaW1hZ2VfcmVjb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaW1hZ2UgPSBuZXcgRXNvbHZlQmFubmVySW1hZ2UoXHJcbiAgICAgICAgICAgICAgICAgICAgK2ltYWdlX3JlY29yZC5pZCxcclxuICAgICAgICAgICAgICAgICAgICBpbWFnZV9yZWNvcmQuaW1hZ2VfdHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAraW1hZ2VfcmVjb3JkLndpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgICtpbWFnZV9yZWNvcmQuaGVpZ2h0LFxyXG4gICAgICAgICAgICAgICAgICAgIGltYWdlX3JlY29yZC5maWxlbmFtZVxyXG4gICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoKGJhbm5lcl90eXBlID09PSAnaG90c3BvdCcpICYmIChpbWFnZV9yZWNvcmQuaG90c3BvdHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaG90c3BvdHMgPSB0aGlzLnByb2Nlc3NCYW5uZXJJbWFnZUhvdHNwb3RzKGltYWdlX3JlY29yZC5ob3RzcG90cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2UuaG90c3BvdHMgPSBob3RzcG90cztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpbWFnZXMucHVzaChpbWFnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBpbWFnZXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzIGJhbm5lciByZWNvcmRzIGludG8gYmFubmVyIG9iamVjdHNcclxuICAgICAqIEBwYXJhbSByZWNvcmRzIEFycmF5IG9mIHJlY29yZHNcclxuICAgICAqIEByZXR1cm5zIExpc3Qgb2YgYmFubmVyc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NCYW5uZXJzKHJlY29yZHM6IEVzb2x2ZUJhbm5lclJlY29yZFtdKTogRXNvbHZlQmFubmVyW10ge1xyXG4gICAgICAgIGNvbnN0IGJhbm5lcnM6IEVzb2x2ZUJhbm5lcltdID0gW107XHJcblxyXG4gICAgICAgIGlmICgocmVjb3JkcykgJiYgKHJlY29yZHMubGVuZ3RoID4gMCkpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaW1hZ2Vfc2V0czogRXNvbHZlQmFubmVySW1hZ2VTZXQgPSB7fTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocmVjb3JkLmltYWdlcy5kZXNrdG9wKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2Vfc2V0cy5kZXNrdG9wID0gdGhpcy5wcm9jZXNzQmFubmVySW1hZ2VzKHJlY29yZC5pbWFnZXMuZGVza3RvcCwgcmVjb3JkLnR5cGUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChyZWNvcmQuaW1hZ2VzLm1vYmlsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGltYWdlX3NldHMubW9iaWxlID0gdGhpcy5wcm9jZXNzQmFubmVySW1hZ2VzKHJlY29yZC5pbWFnZXMubW9iaWxlLCByZWNvcmQudHlwZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHJlY29yZC5pbWFnZXMuc3ViKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2Vfc2V0cy5zdWIgPSB0aGlzLnByb2Nlc3NCYW5uZXJJbWFnZXMocmVjb3JkLmltYWdlcy5zdWIsIHJlY29yZC50eXBlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBiYW5uZXIgPSBuZXcgRXNvbHZlQmFubmVyKFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmJhbm5lcl9kaXNwbGF5X2NvbnRhaW5lcixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuaWRlbnRpZmllcixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQudHlwZSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQudGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmFydGljbGUsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5zb3J0X3ByaW9yaXR5LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiByZWNvcmQubGluay51cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogcmVjb3JkLmxpbmsudGFyZ2V0XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBpbWFnZV9zZXRzXHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIGJhbm5lcnMucHVzaChiYW5uZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gYmFubmVycztcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -18,30 +18,6 @@ export class EsolveCartService {
18
18
  this.responseHandler = responseHandler;
19
19
  this._cached_tracking = 0;
20
20
  }
21
- /**
22
- * Processes the eSolve tree records.
23
- * @param cart_item_records Records to process
24
- * @returns An array of processed cart items
25
- */
26
- processCart(cart_item_records) {
27
- const cart_items = [];
28
- if (cart_item_records) {
29
- for (const cart_item_record of cart_item_records) {
30
- const cart_stock_item = new EsolveCartStockItem(cart_item_record.code, cart_item_record.name, cart_item_record.sef_name, cart_item_record.description, cart_item_record.is_active, +cart_item_record.items_in_pack, cart_item_record.delivery_category, cart_item_record.image_name);
31
- cart_items.push(new EsolveCartItem(+cart_item_record.id, cart_stock_item, +cart_item_record.qty, cart_item_record.type, +cart_item_record.price, +cart_item_record.discount, +cart_item_record.discount_interval, cart_item_record.vat_rate, cart_item_record.allow_quotes, cart_item_record.allow_orders, cart_item_record.must_collect, cart_item_record.requested_assembly, +cart_item_record.price_incl, +cart_item_record.discount_price, +cart_item_record.discount_price_incl, +cart_item_record.discount_total, +cart_item_record.vat_total, +cart_item_record.line_total, +cart_item_record.line_total_incl));
32
- }
33
- }
34
- return cart_items;
35
- }
36
- /**
37
- * Processes the eSolve cart totals
38
- * @param record Data to process
39
- * @returns Processed cart totals
40
- */
41
- processCartTotals(record) {
42
- const cart_totals = new EsolveCartTotals(+record.records, +record.items, +record.total, +record.vat, +record.discount);
43
- return cart_totals;
44
- }
45
21
  /**
46
22
  * Retrieves the current cart
47
23
  * @returns An `Observable` with an array of cart items
@@ -160,6 +136,30 @@ export class EsolveCartService {
160
136
  }));
161
137
  }));
162
138
  }
139
+ /**
140
+ * Processes the eSolve tree records.
141
+ * @param cart_item_records Records to process
142
+ * @returns An array of processed cart items
143
+ */
144
+ processCart(cart_item_records) {
145
+ const cart_items = [];
146
+ if (cart_item_records) {
147
+ for (const cart_item_record of cart_item_records) {
148
+ const cart_stock_item = new EsolveCartStockItem(cart_item_record.code, cart_item_record.name, cart_item_record.sef_name, cart_item_record.description, cart_item_record.is_active, +cart_item_record.items_in_pack, cart_item_record.delivery_category, cart_item_record.image_name);
149
+ cart_items.push(new EsolveCartItem(+cart_item_record.id, cart_stock_item, +cart_item_record.qty, cart_item_record.type, +cart_item_record.price, +cart_item_record.discount, +cart_item_record.discount_interval, cart_item_record.vat_rate, cart_item_record.allow_quotes, cart_item_record.allow_orders, cart_item_record.must_collect, cart_item_record.requested_assembly, +cart_item_record.price_incl, +cart_item_record.discount_price, +cart_item_record.discount_price_incl, +cart_item_record.discount_total, +cart_item_record.vat_total, +cart_item_record.line_total, +cart_item_record.line_total_incl));
150
+ }
151
+ }
152
+ return cart_items;
153
+ }
154
+ /**
155
+ * Processes the eSolve cart totals
156
+ * @param record Data to process
157
+ * @returns Processed cart totals
158
+ */
159
+ processCartTotals(record) {
160
+ const cart_totals = new EsolveCartTotals(+record.records, +record.items, +record.total, +record.vat, +record.discount);
161
+ return cart_totals;
162
+ }
163
163
  }
164
164
  EsolveCartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveCartService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }, { token: i2.EsolveErrorHandlerService }, { token: i3.EsolveResponseHandlerService }], target: i0.ɵɵFactoryTarget.Injectable });
165
165
  EsolveCartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveCartService, providedIn: 'root' });
@@ -172,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
172
172
  type: Inject,
173
173
  args: [ESOLVE_CONNECT_CONFIG]
174
174
  }] }, { type: i1.HttpClient }, { type: i2.EsolveErrorHandlerService }, { type: i3.EsolveResponseHandlerService }]; } });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY2FydC9lc29sdmUtY2FydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBdUIscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl0RixPQUFPLEVBRUgsY0FBYyxFQUdqQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztBQUtoRSxNQUFNLE9BQU8saUJBQWlCO0lBRzFCLFlBQzJDLE1BQTJCLEVBQzFELElBQWdCLEVBQ2hCLFlBQXVDLEVBQ3ZDLGVBQTZDO1FBSGQsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBMkI7UUFDdkMsb0JBQWUsR0FBZixlQUFlLENBQThCO1FBTmpELHFCQUFnQixHQUFHLENBQUMsQ0FBQztJQU96QixDQUFDO0lBRUw7Ozs7T0FJRztJQUNLLFdBQVcsQ0FBQyxpQkFBeUM7UUFDekQsTUFBTSxVQUFVLEdBQXFCLEVBQUUsQ0FBQztRQUV4QyxJQUFJLGlCQUFpQixFQUFFO1lBQ25CLEtBQUssTUFBTSxn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SSxDQUFDLGVBQWUsQ0FBQywwQkFBMEIsQ0FDaEUsYUFBYSxFQUNiLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztnQkFFMUIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLENBQUMsQ0FDSixDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsUUFBaUMsRUFBRSxFQUFFO2dCQUM3QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzNFLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFDTixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7OEdBMVBRLGlCQUFpQixrQkFJZCxxQkFBcUI7a0hBSnhCLGlCQUFpQixjQUZkLE1BQU07MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS1EsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBpaWYsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlQ29ubmVjdENvbmZpZywgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcclxuaW1wb3J0IHsgRXNvbHZlR2V0UmVzcG9uc2UsIEVzb2x2ZVNldFJlc3BvbnNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vzb2x2ZS1yZXNwb25zZSc7XHJcbmltcG9ydCB7IEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZXJyb3ItaGFuZGxlci9lc29sdmUtZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXNvbHZlUmVzcG9uc2VIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZS1oYW5kbGVyL2Vzb2x2ZS1yZXNwb25zZS1oYW5kbGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gICAgRXNvbHZlQ2FydCxcclxuICAgIEVzb2x2ZUNhcnRJdGVtLFxyXG4gICAgRXNvbHZlQ2FydFNldEFjdGlvbixcclxuICAgIEVzb2x2ZUNhcnRTZXRJdGVtXHJcbn0gZnJvbSAnLi9lc29sdmUtY2FydC1pdGVtJztcclxuaW1wb3J0IHsgRXNvbHZlQ2FydFN0b2NrSXRlbSB9IGZyb20gJy4vZXNvbHZlLWNhcnQtc3RvY2staXRlbSc7XHJcbmltcG9ydCB7IEVzb2x2ZUNhcnRJdGVtUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtY2FydC1pdGVtLXJlY29yZCc7XHJcbmltcG9ydCB7IEVzb2x2ZUNhcnRJdGVtUmVzcG9uc2UgfSBmcm9tICcuL2Vzb2x2ZS1jYXJ0LWl0ZW0tcmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFc29sdmVDYXJ0VG90YWxzIH0gZnJvbSAnLi9lc29sdmUtY2FydC10b3RhbHMnO1xyXG5pbXBvcnQgeyBFc29sdmVDYXJ0VG90YWxzUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtY2FydC10b3RhbHMtcmVjb3JkJztcclxuaW1wb3J0IHsgRXNvbHZlQ2hlY2tvdXRSZXNwb25zZSwgRXNvbHZlVHJhY2tpbmdDb2RlIH0gZnJvbSAnLi9lc29sdmUtY2hlY2tvdXQnO1xyXG5pbXBvcnQgeyBFc29sdmVDaGVja291dFJlc3VsdCB9IGZyb20gJy4vZXNvbHZlLWNoZWNrb3V0LXJlc3VsdCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZUNhcnRTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgX2NhY2hlZF90cmFja2luZyA9IDA7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlcjogRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlc3BvbnNlSGFuZGxlcjogRXNvbHZlUmVzcG9uc2VIYW5kbGVyU2VydmljZVxyXG4gICAgKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHRyZWUgcmVjb3Jkcy5cclxuICAgICAqIEBwYXJhbSBjYXJ0X2l0ZW1fcmVjb3JkcyBSZWNvcmRzIHRvIHByb2Nlc3NcclxuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHByb2Nlc3NlZCBjYXJ0IGl0ZW1zXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcHJvY2Vzc0NhcnQoY2FydF9pdGVtX3JlY29yZHM6IEVzb2x2ZUNhcnRJdGVtUmVjb3JkW10pOiBFc29sdmVDYXJ0IHtcclxuICAgICAgICBjb25zdCBjYXJ0X2l0ZW1zOiBFc29sdmVDYXJ0SXRlbVtdID0gW107XHJcblxyXG4gICAgICAgIGlmIChjYXJ0X2l0ZW1fcmVjb3Jkcykge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNhcnRfaXRlbV9yZWNvcmQgb2YgY2FydF9pdGVtX3JlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNhcnRfc3RvY2tfaXRlbSA9IG5ldyBFc29sdmVDYXJ0U3RvY2tJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQuY29kZSxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1fcmVjb3JkLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5zZWZfbmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1fcmVjb3JkLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQuaXNfYWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLml0ZW1zX2luX3BhY2ssXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5kZWxpdmVyeV9jYXRlZ29yeSxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1fcmVjb3JkLmltYWdlX25hbWVcclxuICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FydF9pdGVtcy5wdXNoKG5ldyBFc29sdmVDYXJ0SXRlbShcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5pZCxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X3N0b2NrX2l0ZW0sXHJcbiAgICAgICAgICAgICAgICAgICAgK2NhcnRfaXRlbV9yZWNvcmQucXR5LFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQudHlwZSxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5wcmljZSxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5kaXNjb3VudCxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5kaXNjb3VudF9pbnRlcnZhbCxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1fcmVjb3JkLnZhdF9yYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQuYWxsb3dfcXVvdGVzLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQuYWxsb3dfb3JkZXJzLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQubXVzdF9jb2xsZWN0LFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQucmVxdWVzdGVkX2Fzc2VtYmx5LFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLnByaWNlX2luY2wsXHJcbiAgICAgICAgICAgICAgICAgICAgK2NhcnRfaXRlbV9yZWNvcmQuZGlzY291bnRfcHJpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgK2NhcnRfaXRlbV9yZWNvcmQuZGlzY291bnRfcHJpY2VfaW5jbCxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5kaXNjb3VudF90b3RhbCxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC52YXRfdG90YWwsXHJcbiAgICAgICAgICAgICAgICAgICAgK2NhcnRfaXRlbV9yZWNvcmQubGluZV90b3RhbCxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5saW5lX3RvdGFsX2luY2xcclxuICAgICAgICAgICAgICAgICkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gY2FydF9pdGVtcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIGNhcnQgdG90YWxzXHJcbiAgICAgKiBAcGFyYW0gcmVjb3JkIERhdGEgdG8gcHJvY2Vzc1xyXG4gICAgICogQHJldHVybnMgUHJvY2Vzc2VkIGNhcnQgdG90YWxzXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcHJvY2Vzc0NhcnRUb3RhbHMocmVjb3JkOiBFc29sdmVDYXJ0VG90YWxzUmVjb3JkKTogRXNvbHZlQ2FydFRvdGFscyB7XHJcbiAgICAgICAgY29uc3QgY2FydF90b3RhbHMgPSBuZXcgRXNvbHZlQ2FydFRvdGFscyhcclxuICAgICAgICAgICAgK3JlY29yZC5yZWNvcmRzLFxyXG4gICAgICAgICAgICArcmVjb3JkLml0ZW1zLFxyXG4gICAgICAgICAgICArcmVjb3JkLnRvdGFsLFxyXG4gICAgICAgICAgICArcmVjb3JkLnZhdCxcclxuICAgICAgICAgICAgK3JlY29yZC5kaXNjb3VudFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJldHVybiBjYXJ0X3RvdGFscztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyB0aGUgY3VycmVudCBjYXJ0XHJcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBhcnJheSBvZiBjYXJ0IGl0ZW1zXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRDYXJ0KCk6IE9ic2VydmFibGU8RXNvbHZlQ2FydD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUNhcnRJdGVtUmVjb3JkW10+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtY2FydC5waHBgLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgICAgICB3c19pZDogdGhpcy5jb25maWcud3NpZFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NDYXJ0KHJlc3BvbnNlLnJlY29yZHMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGVzIHRoZSBjYXJ0IGJ5IHByZWZvcm1pbmcgdmFyaW91cyBhY3Rpb25zLCBzdWNoIGFzIGFkZGluZywgZWRpdGluZyBvciByZW1vdmluZyBpdGVtcyBmcm9tIHRoZSBjYXJ0LlxyXG4gICAgICogQHBhcmFtIGl0ZW1zIEFuIGFycmF5IG9mIG9wdGlvbnMgdG8gdXBkYXRlIHRoZSBjYXJ0XHJcbiAgICAgKiBAcGFyYW0gYWN0aW9uIFRoZSBkZWZhdWx0IGFjdGlvbiB0byBwcmVmb3JtXHJcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBhcnJheSBvZiByZXNwb25zZXMgdGhhdCBnaXZlcyBmZWVkYmFjayBvbiB0aGUgcmVxdWVzdGVkIGNoYW5nZXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldENhcnQoaXRlbXM6IEVzb2x2ZUNhcnRTZXRJdGVtW10sIGFjdGlvbjogRXNvbHZlQ2FydFNldEFjdGlvbiA9ICdhZGQnKTogT2JzZXJ2YWJsZTxFc29sdmVDYXJ0SXRlbVJlc3BvbnNlW10+IHtcclxuICAgICAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICAgICAgICBpdGVtcyxcclxuICAgICAgICAgICAgYWN0aW9uXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZUNhcnRJdGVtUmVzcG9uc2U+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9zZXQtY2FydC1pdGVtLnBocGAsXHJcbiAgICAgICAgICAgIGJvZHksXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OydcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgICAgICB3c19pZDogdGhpcy5jb25maWcud3NpZFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVzcG9uc2VzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzcG9uc2VzO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHRvdGFscyBvZiB0aGUgY2FydCB3aXRoIGFsbCB0aGUgdG90YWxzIGNhbGN1bGF0ZWRcclxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIG9iamVjdCBjb250YWluaW5nIGNhcnQgdG90YWxzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRUb3RhbHMoKTogT2JzZXJ2YWJsZTxFc29sdmVDYXJ0VG90YWxzPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlQ2FydFRvdGFsc1JlY29yZD4+KFxyXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL2dldC1jYXJ0LXRvdGFscy5waHBgLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgICAgICB3c19pZDogdGhpcy5jb25maWcud3NpZFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NDYXJ0VG90YWxzKHJlc3BvbnNlLnJlY29yZHMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgYSB0cmFja2luZyBjb2RlIGZvciB0aGUgY2FydFxyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggdGhlIGNhcnQgdHJhY2tpbmcgY29kZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0VHJhY2tpbmdDb2RlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICAgICAgcmV0dXJuIGlpZihcclxuICAgICAgICAgICAgKCkgPT4gdGhpcy5fY2FjaGVkX3RyYWNraW5nID4gMCxcclxuICAgICAgICAgICAgb2YodGhpcy5fY2FjaGVkX3RyYWNraW5nKSxcclxuICAgICAgICAgICAgdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVUcmFja2luZ0NvZGU+PihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2UvZ2V0LWNoZWNrb3V0LXRyYWNraW5nLnBocGAsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdzX2lkOiB0aGlzLmNvbmZpZy53c2lkXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRfdHJhY2tpbmcgPSByZXNwb25zZS5yZWNvcmRzLnRyYWNraW5nO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVjb3Jkcy50cmFja2luZztcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhdGVzIGNoZWNrb3V0IG9mIHRoZSBjYXJ0IGl0ZW1zXHJcbiAgICAgKiBAcGFyYW0gdHlwZSBUaGUgY2FydCB0eXBlIHRoYXQgbmVlZHMgdG8gYmUgY2hlY2tlZCBvdXRcclxuICAgICAqIEBwYXJhbSBhZGRyZXNzZXNfaWQgVGhlIElEIG9mIHRoZSBkZWxpdmVyeSBhZGRyZXNzXHJcbiAgICAgKiBAcGFyYW0gc2hpcHBpbmdfaWQgVGhlIElEIG9mIHRoZSBzaGlwcGluZyBtZXRob2RcclxuICAgICAqIEBwYXJhbSBwYXltZW50X21ldGhvZF9pZCBUaGUgSUQgb2YgdGhlIHNlbGVjdGVkIHBheW1lbnQgbWV0aG9kXHJcbiAgICAgKiBAcGFyYW0gbG9jYXRpb25faWQgVGhlIElEIG9mIHRoZSBzZWxlY3RlZCBicmFuY2ggZnJvbSB3aXRoIHNoaXBwaW5nIG5lZWRzIHRvIGJlIGNhbGN1bGF0ZWRcclxuICAgICAqIEBwYXJhbSBjb21tZW50cyBBZGRpdGlvbmFsIGNvbW1lbnRzIG9uIHRoZSBjYXJ0XHJcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgdHJhbnNhY3Rpb24gSURcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNoZWNrb3V0KFxyXG4gICAgICAgIHR5cGU6ICdvcmRlcicgfCAncXVvdGUnLFxyXG4gICAgICAgIGFkZHJlc3Nlc19pZDogbnVtYmVyLFxyXG4gICAgICAgIHNoaXBwaW5nX2lkOiBudW1iZXIsXHJcbiAgICAgICAgcGF5bWVudF9tZXRob2RfaWQgPSAwLFxyXG4gICAgICAgIGxvY2F0aW9uX2lkID0gMCxcclxuICAgICAgICBjb21tZW50cyA9ICcnXHJcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUNoZWNrb3V0UmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHtcclxuICAgICAgICAgICAgdHlwZSxcclxuICAgICAgICAgICAgYWRkcmVzc2VzX2lkLFxyXG4gICAgICAgICAgICBzaGlwcGluZ19pZCxcclxuICAgICAgICAgICAgcGF5bWVudF9tZXRob2RfaWQsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICBjb21tZW50cyxcclxuICAgICAgICAgICAgdHJhY2tpbmc6IDBcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFja2luZ0NvZGUoKS5waXBlKFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHRyYWNraW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodHJhY2tpbmcgPD0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHRyYWNraW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGJvZHkudHJhY2tpbmcgPSB0cmFja2luZztcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlQ2hlY2tvdXRSZXNwb25zZT4+KFxyXG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2Uvc2V0LWNoZWNrb3V0LnBocGAsXHJcbiAgICAgICAgICAgICAgICAgICAgYm9keSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdzX2lkOiB0aGlzLmNvbmZpZy53c2lkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keSdcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgbWFwKGh0dHBfcmVzcG9uc2UgPT4gdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2FjaGVkX3RyYWNraW5nID0gMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUNoZWNrb3V0UmVzdWx0KHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICkpLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcignc2V0LWNoZWNrb3V0JywgZXJyb3JSZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY2FydC9lc29sdmUtY2FydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBdUIscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl0RixPQUFPLEVBRUgsY0FBYyxFQUdqQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztBQUtoRSxNQUFNLE9BQU8saUJBQWlCO0lBRzFCLFlBQzJDLE1BQTJCLEVBQzFELElBQWdCLEVBQ2hCLFlBQXVDLEVBQ3ZDLGVBQTZDO1FBSGQsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBMkI7UUFDdkMsb0JBQWUsR0FBZixlQUFlLENBQThCO1FBTmpELHFCQUFnQixHQUFHLENBQUMsQ0FBQztJQU96QixDQUFDO0lBRUw7OztPQUdHO0lBQ0ksT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2hCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLHVCQUF1QixFQUM3QztZ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QUMsVUFBVSxFQUM1QixDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FDcEMsQ0FBQyxDQUFDO2FBQ047U0FDSjtRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssaUJBQWlCLENBQUMsTUFBOEI7UUFDcEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxnQkFBZ0IsQ0FDcEMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUNmLENBQUMsTUFBTSxDQUFDLEtBQUssRUFDYixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQ2IsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUNYLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDbkIsQ0FBQztRQUVGLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7OzhHQTdQUSxpQkFBaUIsa0JBSWQscUJBQXFCO2tIQUp4QixpQkFBaUIsY0FGZCxNQUFNOzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUtRLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgaWlmLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcsIEVTT0xWRV9DT05ORUNUX0NPTkZJRyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LmNvbmZpZyc7XHJcbmltcG9ydCB7IEVzb2x2ZUdldFJlc3BvbnNlLCBFc29sdmVTZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9lc29sdmUtcmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9yLWhhbmRsZXIvZXNvbHZlLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UtaGFuZGxlci9lc29sdmUtcmVzcG9uc2UtaGFuZGxlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICAgIEVzb2x2ZUNhcnQsXHJcbiAgICBFc29sdmVDYXJ0SXRlbSxcclxuICAgIEVzb2x2ZUNhcnRTZXRBY3Rpb24sXHJcbiAgICBFc29sdmVDYXJ0U2V0SXRlbVxyXG59IGZyb20gJy4vZXNvbHZlLWNhcnQtaXRlbSc7XHJcbmltcG9ydCB7IEVzb2x2ZUNhcnRTdG9ja0l0ZW0gfSBmcm9tICcuL2Vzb2x2ZS1jYXJ0LXN0b2NrLWl0ZW0nO1xyXG5pbXBvcnQgeyBFc29sdmVDYXJ0SXRlbVJlY29yZCB9IGZyb20gJy4vZXNvbHZlLWNhcnQtaXRlbS1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVDYXJ0SXRlbVJlc3BvbnNlIH0gZnJvbSAnLi9lc29sdmUtY2FydC1pdGVtLXJlc3BvbnNlJztcclxuaW1wb3J0IHsgRXNvbHZlQ2FydFRvdGFscyB9IGZyb20gJy4vZXNvbHZlLWNhcnQtdG90YWxzJztcclxuaW1wb3J0IHsgRXNvbHZlQ2FydFRvdGFsc1JlY29yZCB9IGZyb20gJy4vZXNvbHZlLWNhcnQtdG90YWxzLXJlY29yZCc7XHJcbmltcG9ydCB7IEVzb2x2ZUNoZWNrb3V0UmVzcG9uc2UsIEVzb2x2ZVRyYWNraW5nQ29kZSB9IGZyb20gJy4vZXNvbHZlLWNoZWNrb3V0JztcclxuaW1wb3J0IHsgRXNvbHZlQ2hlY2tvdXRSZXN1bHQgfSBmcm9tICcuL2Vzb2x2ZS1jaGVja291dC1yZXN1bHQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVDYXJ0U2VydmljZSB7XHJcbiAgICBwcml2YXRlIF9jYWNoZWRfdHJhY2tpbmcgPSAwO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoRVNPTFZFX0NPTk5FQ1RfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRXNvbHZlQ29ubmVjdENvbmZpZyxcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZXNwb25zZUhhbmRsZXI6IEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2VcclxuICAgICkgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgY2FydFxyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2YgY2FydCBpdGVtc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0Q2FydCgpOiBPYnNlcnZhYmxlPEVzb2x2ZUNhcnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVDYXJ0SXRlbVJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2UvZ2V0LWNhcnQucGhwYCxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd3NfaWQ6IHRoaXMuY29uZmlnLndzaWRcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ2FydChyZXNwb25zZS5yZWNvcmRzKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB0aGUgY2FydCBieSBwcmVmb3JtaW5nIHZhcmlvdXMgYWN0aW9ucywgc3VjaCBhcyBhZGRpbmcsIGVkaXRpbmcgb3IgcmVtb3ZpbmcgaXRlbXMgZnJvbSB0aGUgY2FydC5cclxuICAgICAqIEBwYXJhbSBpdGVtcyBBbiBhcnJheSBvZiBvcHRpb25zIHRvIHVwZGF0ZSB0aGUgY2FydFxyXG4gICAgICogQHBhcmFtIGFjdGlvbiBUaGUgZGVmYXVsdCBhY3Rpb24gdG8gcHJlZm9ybVxyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2YgcmVzcG9uc2VzIHRoYXQgZ2l2ZXMgZmVlZGJhY2sgb24gdGhlIHJlcXVlc3RlZCBjaGFuZ2VzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRDYXJ0KFxyXG4gICAgICAgIGl0ZW1zOiBFc29sdmVDYXJ0U2V0SXRlbVtdLFxyXG4gICAgICAgIGFjdGlvbjogRXNvbHZlQ2FydFNldEFjdGlvbiA9ICdhZGQnXHJcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUNhcnRJdGVtUmVzcG9uc2VbXT4ge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XHJcbiAgICAgICAgICAgIGl0ZW1zLFxyXG4gICAgICAgICAgICBhY3Rpb25cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlQ2FydEl0ZW1SZXNwb25zZT4+KFxyXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL3NldC1jYXJ0LWl0ZW0ucGhwYCxcclxuICAgICAgICAgICAgYm9keSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7J1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHdzX2lkOiB0aGlzLmNvbmZpZy53c2lkXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keSdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZXNwb25zZXMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5yZXNwb25zZXM7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyB0aGUgdG90YWxzIG9mIHRoZSBjYXJ0IHdpdGggYWxsIHRoZSB0b3RhbHMgY2FsY3VsYXRlZFxyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gb2JqZWN0IGNvbnRhaW5pbmcgY2FydCB0b3RhbHNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFRvdGFscygpOiBPYnNlcnZhYmxlPEVzb2x2ZUNhcnRUb3RhbHM+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVDYXJ0VG90YWxzUmVjb3JkPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2UvZ2V0LWNhcnQtdG90YWxzLnBocGAsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHdzX2lkOiB0aGlzLmNvbmZpZy53c2lkXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0NhcnRUb3RhbHMocmVzcG9uc2UucmVjb3Jkcyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyBhIHRyYWNraW5nIGNvZGUgZm9yIHRoZSBjYXJ0XHJcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgY2FydCB0cmFja2luZyBjb2RlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRUcmFja2luZ0NvZGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgICAgICByZXR1cm4gaWlmKFxyXG4gICAgICAgICAgICAoKSA9PiB0aGlzLl9jYWNoZWRfdHJhY2tpbmcgPiAwLFxyXG4gICAgICAgICAgICBvZih0aGlzLl9jYWNoZWRfdHJhY2tpbmcpLFxyXG4gICAgICAgICAgICB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVRyYWNraW5nQ29kZT4+KFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtY2hlY2tvdXQtdHJhY2tpbmcucGhwYCxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd3NfaWQ6IHRoaXMuY29uZmlnLndzaWRcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NhY2hlZF90cmFja2luZyA9IHJlc3BvbnNlLnJlY29yZHMudHJhY2tpbmc7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5yZWNvcmRzLnRyYWNraW5nO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbml0aWF0ZXMgY2hlY2tvdXQgb2YgdGhlIGNhcnQgaXRlbXNcclxuICAgICAqIEBwYXJhbSB0eXBlIFRoZSBjYXJ0IHR5cGUgdGhhdCBuZWVkcyB0byBiZSBjaGVja2VkIG91dFxyXG4gICAgICogQHBhcmFtIGFkZHJlc3Nlc19pZCBUaGUgSUQgb2YgdGhlIGRlbGl2ZXJ5IGFkZHJlc3NcclxuICAgICAqIEBwYXJhbSBzaGlwcGluZ19pZCBUaGUgSUQgb2YgdGhlIHNoaXBwaW5nIG1ldGhvZFxyXG4gICAgICogQHBhcmFtIHBheW1lbnRfbWV0aG9kX2lkIFRoZSBJRCBvZiB0aGUgc2VsZWN0ZWQgcGF5bWVudCBtZXRob2RcclxuICAgICAqIEBwYXJhbSBsb2NhdGlvbl9pZCBUaGUgSUQgb2YgdGhlIHNlbGVjdGVkIGJyYW5jaCBmcm9tIHdpdGggc2hpcHBpbmcgbmVlZHMgdG8gYmUgY2FsY3VsYXRlZFxyXG4gICAgICogQHBhcmFtIGNvbW1lbnRzIEFkZGl0aW9uYWwgY29tbWVudHMgb24gdGhlIGNhcnRcclxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIHRoZSB0cmFuc2FjdGlvbiBJRFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2hlY2tvdXQoXHJcbiAgICAgICAgdHlwZTogJ29yZGVyJyB8ICdxdW90ZScsXHJcbiAgICAgICAgYWRkcmVzc2VzX2lkOiBudW1iZXIsXHJcbiAgICAgICAgc2hpcHBpbmdfaWQ6IG51bWJlcixcclxuICAgICAgICBwYXltZW50X21ldGhvZF9pZCA9IDAsXHJcbiAgICAgICAgbG9jYXRpb25faWQgPSAwLFxyXG4gICAgICAgIGNvbW1lbnRzID0gJydcclxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQ2hlY2tvdXRSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICAgICAgICB0eXBlLFxyXG4gICAgICAgICAgICBhZGRyZXNzZXNfaWQsXHJcbiAgICAgICAgICAgIHNoaXBwaW5nX2lkLFxyXG4gICAgICAgICAgICBwYXltZW50X21ldGhvZF9pZCxcclxuICAgICAgICAgICAgbG9jYXRpb25faWQsXHJcbiAgICAgICAgICAgIGNvbW1lbnRzLFxyXG4gICAgICAgICAgICB0cmFja2luZzogMFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFRyYWNraW5nQ29kZSgpLnBpcGUoXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodHJhY2tpbmcpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0cmFja2luZyA8PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgdHJhY2tpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYm9keS50cmFja2luZyA9IHRyYWNraW5nO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVDaGVja291dFJlc3BvbnNlPj4oXHJcbiAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9zZXQtY2hlY2tvdXQucGhwYCxcclxuICAgICAgICAgICAgICAgICAgICBib2R5LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd3NfaWQ6IHRoaXMuY29uZmlnLndzaWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5J1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgICAgICAgICBtYXAoaHR0cF9yZXNwb25zZSA9PiB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRfdHJhY2tpbmcgPSAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlQ2hlY2tvdXRSZXN1bHQocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgKSksXHJcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKCdzZXQtY2hlY2tvdXQnLCBlcnJvclJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHRyZWUgcmVjb3Jkcy5cclxuICAgICAqIEBwYXJhbSBjYXJ0X2l0ZW1fcmVjb3JkcyBSZWNvcmRzIHRvIHByb2Nlc3NcclxuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHByb2Nlc3NlZCBjYXJ0IGl0ZW1zXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcHJvY2Vzc0NhcnQoY2FydF9pdGVtX3JlY29yZHM6IEVzb2x2ZUNhcnRJdGVtUmVjb3JkW10pOiBFc29sdmVDYXJ0IHtcclxuICAgICAgICBjb25zdCBjYXJ0X2l0ZW1zOiBFc29sdmVDYXJ0SXRlbVtdID0gW107XHJcblxyXG4gICAgICAgIGlmIChjYXJ0X2l0ZW1fcmVjb3Jkcykge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNhcnRfaXRlbV9yZWNvcmQgb2YgY2FydF9pdGVtX3JlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNhcnRfc3RvY2tfaXRlbSA9IG5ldyBFc29sdmVDYXJ0U3RvY2tJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQuY29kZSxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1fcmVjb3JkLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5zZWZfbmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1fcmVjb3JkLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQuaXNfYWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLml0ZW1zX2luX3BhY2ssXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5kZWxpdmVyeV9jYXRlZ29yeSxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1fcmVjb3JkLmltYWdlX25hbWVcclxuICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FydF9pdGVtcy5wdXNoKG5ldyBFc29sdmVDYXJ0SXRlbShcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5pZCxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X3N0b2NrX2l0ZW0sXHJcbiAgICAgICAgICAgICAgICAgICAgK2NhcnRfaXRlbV9yZWNvcmQucXR5LFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQudHlwZSxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5wcmljZSxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5kaXNjb3VudCxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5kaXNjb3VudF9pbnRlcnZhbCxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1fcmVjb3JkLnZhdF9yYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQuYWxsb3dfcXVvdGVzLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQuYWxsb3dfb3JkZXJzLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQubXVzdF9jb2xsZWN0LFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQucmVxdWVzdGVkX2Fzc2VtYmx5LFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLnByaWNlX2luY2wsXHJcbiAgICAgICAgICAgICAgICAgICAgK2NhcnRfaXRlbV9yZWNvcmQuZGlzY291bnRfcHJpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgK2NhcnRfaXRlbV9yZWNvcmQuZGlzY291bnRfcHJpY2VfaW5jbCxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5kaXNjb3VudF90b3RhbCxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC52YXRfdG90YWwsXHJcbiAgICAgICAgICAgICAgICAgICAgK2NhcnRfaXRlbV9yZWNvcmQubGluZV90b3RhbCxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5saW5lX3RvdGFsX2luY2xcclxuICAgICAgICAgICAgICAgICkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gY2FydF9pdGVtcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIGNhcnQgdG90YWxzXHJcbiAgICAgKiBAcGFyYW0gcmVjb3JkIERhdGEgdG8gcHJvY2Vzc1xyXG4gICAgICogQHJldHVybnMgUHJvY2Vzc2VkIGNhcnQgdG90YWxzXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcHJvY2Vzc0NhcnRUb3RhbHMocmVjb3JkOiBFc29sdmVDYXJ0VG90YWxzUmVjb3JkKTogRXNvbHZlQ2FydFRvdGFscyB7XHJcbiAgICAgICAgY29uc3QgY2FydF90b3RhbHMgPSBuZXcgRXNvbHZlQ2FydFRvdGFscyhcclxuICAgICAgICAgICAgK3JlY29yZC5yZWNvcmRzLFxyXG4gICAgICAgICAgICArcmVjb3JkLml0ZW1zLFxyXG4gICAgICAgICAgICArcmVjb3JkLnRvdGFsLFxyXG4gICAgICAgICAgICArcmVjb3JkLnZhdCxcclxuICAgICAgICAgICAgK3JlY29yZC5kaXNjb3VudFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJldHVybiBjYXJ0X3RvdGFscztcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -11,50 +11,6 @@ export class EsolveCategoryTreeService {
11
11
  this.config = config;
12
12
  this.http = http;
13
13
  }
14
- /**
15
- * Processes the eSolve tree records and converts them into the correct format.
16
- * @param tree_records Records to process
17
- */
18
- processTree(tree_records) {
19
- const tree_items = [];
20
- if (tree_records) {
21
- for (const tree_record of tree_records) {
22
- let esolve_id = '';
23
- let parent_id = '';
24
- let children = [];
25
- if (tree_record.type === 'category') {
26
- children = this.processTree(tree_record.children);
27
- esolve_id = tree_record.menu_id;
28
- parent_id = tree_record.owner_menu_id;
29
- }
30
- else {
31
- esolve_id = tree_record.id;
32
- parent_id = tree_record.menu_id;
33
- }
34
- tree_items.push(new EsolveCategoryTreeItem(tree_record.type, esolve_id, parent_id, tree_record.description, tree_record.sef_description, tree_record.seo_description, tree_record.sort_priority, tree_record.active, tree_record.display_only, tree_record.image, tree_record.seo_page_title, tree_record.seo_keywords, tree_record.short_description, children));
35
- }
36
- }
37
- return tree_items;
38
- }
39
- processTreeItem(record) {
40
- return new EsolveCategoryTreeItem(record.type, record.id, record.parent_id, record.description, record.sef_description, record.short_description, record.sort_priority, record.active, record.display_only, '', record.seo_page_title, record.seo_keywords, record.seo_description);
41
- }
42
- processID(id) {
43
- let type;
44
- let esolve_id;
45
- const type_code_regex = /^\<\<(CAT|SUB)\>\>/g;
46
- const match_results = id.match(type_code_regex);
47
- if (match_results) {
48
- const type_code = match_results[0];
49
- type = (type_code === '<<CAT>>' ? 'category' : 'subcategory');
50
- esolve_id = id.replace(type_code_regex, '');
51
- return {
52
- type,
53
- esolve_id
54
- };
55
- }
56
- return null;
57
- }
58
14
  /**
59
15
  * Retrieves the category tree from eSolve instance and coverts it to the correct format.
60
16
  */
@@ -111,6 +67,50 @@ export class EsolveCategoryTreeService {
111
67
  }
112
68
  return throwError('Invalid options');
113
69
  }
70
+ /**
71
+ * Processes the eSolve tree records and converts them into the correct format.
72
+ * @param tree_records Records to process
73
+ */
74
+ processTree(tree_records) {
75
+ const tree_items = [];
76
+ if (tree_records) {
77
+ for (const tree_record of tree_records) {
78
+ let esolve_id = '';
79
+ let parent_id = '';
80
+ let children = [];
81
+ if (tree_record.type === 'category') {
82
+ children = this.processTree(tree_record.children);
83
+ esolve_id = tree_record.menu_id;
84
+ parent_id = tree_record.owner_menu_id;
85
+ }
86
+ else {
87
+ esolve_id = tree_record.id;
88
+ parent_id = tree_record.menu_id;
89
+ }
90
+ tree_items.push(new EsolveCategoryTreeItem(tree_record.type, esolve_id, parent_id, tree_record.description, tree_record.sef_description, tree_record.seo_description, tree_record.sort_priority, tree_record.active, tree_record.display_only, tree_record.image, tree_record.seo_page_title, tree_record.seo_keywords, tree_record.short_description, children));
91
+ }
92
+ }
93
+ return tree_items;
94
+ }
95
+ processTreeItem(record) {
96
+ return new EsolveCategoryTreeItem(record.type, record.id, record.parent_id, record.description, record.sef_description, record.short_description, record.sort_priority, record.active, record.display_only, '', record.seo_page_title, record.seo_keywords, record.seo_description);
97
+ }
98
+ processID(id) {
99
+ let type;
100
+ let esolve_id;
101
+ const type_code_regex = /^\<\<(CAT|SUB)\>\>/g;
102
+ const match_results = id.match(type_code_regex);
103
+ if (match_results) {
104
+ const type_code = match_results[0];
105
+ type = (type_code === '<<CAT>>' ? 'category' : 'subcategory');
106
+ esolve_id = id.replace(type_code_regex, '');
107
+ return {
108
+ type,
109
+ esolve_id
110
+ };
111
+ }
112
+ return null;
113
+ }
114
114
  }
115
115
  EsolveCategoryTreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveCategoryTreeService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
116
116
  EsolveCategoryTreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveCategoryTreeService, providedIn: 'root' });
@@ -123,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
123
123
  type: Inject,
124
124
  args: [ESOLVE_CONNECT_CONFIG]
125
125
  }] }, { type: i1.HttpClient }]; } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNhdGVnb3J5LXRyZWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY2F0ZWdvcnktdHJlZS9lc29sdmUtY2F0ZWdvcnktdHJlZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQXVCLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFNdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQVdyRSxNQUFNLE9BQU8seUJBQXlCO0lBRWxDLFlBQzJDLE1BQTJCLEVBQzFELElBQWdCO1FBRGUsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN4QixDQUFDO0lBRUw7OztPQUdHO0lBQ0ssV0FBVyxDQUFDLFlBQWdFO1FBQ2hGLE1BQU0sVUFBVSxHQUE2QixFQUFFLENBQUM7UUFFaEQsSUFBSSxZQUFZLEVBQUU7WUFDZCxLQUFLLE1BQU0sV0FBVyxJQUFJLFlBQVksRUFBRTtnQkFDcEMsSUFBSSxTQUFTLEdBQW9CLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNuQixJQUFJLFFBQVEsR0FBNkIsRUFBRSxDQUFDO2dCQUU1QyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO29CQUNqQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsUUFB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RyxDQUFDLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQ3RFO1lBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDaEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sNEJBQTRCLEVBQ2xELEVBQUUsTUFBTSxFQUFFLENBQ2IsQ0FBQyxJQUFJLENBQ0YsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEVBQUU7b0JBQ3BFLE1BQU0sUUFBUSxDQUFDO2lCQUNsQjtnQkFFRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JELENBQUMsQ0FBQyxDQUNMLENBQUM7U0FDTDtRQUVELE9BQU8sVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDekMsQ0FBQzs7c0hBdktRLHlCQUF5QixrQkFHdEIscUJBQXFCOzBIQUh4Qix5QkFBeUIsY0FGdEIsTUFBTTsyRkFFVCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFJUSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVHZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9lc29sdmUtcmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnLCBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQge1xyXG4gICAgRXNvbHZlQ2F0ZWdvcnlSZWNvcmQsXHJcbiAgICBFc29sdmVDYXRlZ29yeVRyZWVJdGVtUmVjb3JkLFxyXG4gICAgRXNvbHZlU3ViY2F0ZWdvcnlSZWNvcmRcclxufSBmcm9tICcuL2Vzb2x2ZS1jYXRlZ29yeS10cmVlLWl0ZW0tcmVjb3JkJztcclxuaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbSB9IGZyb20gJy4vZXNvbHZlLWNhdGVnb3J5LXRyZWUtaXRlbSc7XHJcbmltcG9ydCB7IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1PcHRpb25zIH0gZnJvbSAnLi9lc29sdmUtY2F0ZWdvcnktdHJlZS1pdGVtLW9wdGlvbnMnO1xyXG5cclxuaW50ZXJmYWNlIEVzb2x2ZUNhdGVnb3J5SWRlbnRpZmllciB7XHJcbiAgICB0eXBlOiAnY2F0ZWdvcnknIHwgJ3N1YmNhdGVnb3J5JztcclxuICAgIGVzb2x2ZV9pZDogbnVtYmVyIHwgc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZUNhdGVnb3J5VHJlZVNlcnZpY2Uge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoRVNPTFZFX0NPTk5FQ1RfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRXNvbHZlQ29ubmVjdENvbmZpZyxcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcclxuICAgICkgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzZXMgdGhlIGVTb2x2ZSB0cmVlIHJlY29yZHMgYW5kIGNvbnZlcnRzIHRoZW0gaW50byB0aGUgY29ycmVjdCBmb3JtYXQuXHJcbiAgICAgKiBAcGFyYW0gdHJlZV9yZWNvcmRzIFJlY29yZHMgdG8gcHJvY2Vzc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NUcmVlKHRyZWVfcmVjb3JkczogKEVzb2x2ZUNhdGVnb3J5UmVjb3JkIHwgRXNvbHZlU3ViY2F0ZWdvcnlSZWNvcmQpW10pOiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtW10ge1xyXG4gICAgICAgIGNvbnN0IHRyZWVfaXRlbXM6IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1bXSA9IFtdO1xyXG5cclxuICAgICAgICBpZiAodHJlZV9yZWNvcmRzKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgdHJlZV9yZWNvcmQgb2YgdHJlZV9yZWNvcmRzKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgZXNvbHZlX2lkOiBzdHJpbmcgfCBudW1iZXIgPSAnJztcclxuICAgICAgICAgICAgICAgIGxldCBwYXJlbnRfaWQgPSAnJztcclxuICAgICAgICAgICAgICAgIGxldCBjaGlsZHJlbjogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbVtdID0gW107XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRyZWVfcmVjb3JkLnR5cGUgPT09ICdjYXRlZ29yeScpIHtcclxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbiA9IHRoaXMucHJvY2Vzc1RyZWUodHJlZV9yZWNvcmQuY2hpbGRyZW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIGVzb2x2ZV9pZCA9IHRyZWVfcmVjb3JkLm1lbnVfaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50X2lkID0gdHJlZV9yZWNvcmQub3duZXJfbWVudV9pZDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXNvbHZlX2lkID0gdHJlZV9yZWNvcmQuaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50X2lkID0gdHJlZV9yZWNvcmQubWVudV9pZDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0cmVlX2l0ZW1zLnB1c2gobmV3IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0oXHJcbiAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQudHlwZSxcclxuICAgICAgICAgICAgICAgICAgICBlc29sdmVfaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50X2lkLFxyXG4gICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLnNlZl9kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICAgICB0cmVlX3JlY29yZC5zZW9fZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuc29ydF9wcmlvcml0eSxcclxuICAgICAgICAgICAgICAgICAgICB0cmVlX3JlY29yZC5hY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuZGlzcGxheV9vbmx5LFxyXG4gICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLmltYWdlLFxyXG4gICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLnNlb19wYWdlX3RpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLnNlb19rZXl3b3JkcyxcclxuICAgICAgICAgICAgICAgICAgICB0cmVlX3JlY29yZC5zaG9ydF9kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlblxyXG4gICAgICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0cmVlX2l0ZW1zO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcHJvY2Vzc1RyZWVJdGVtKHJlY29yZDogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbVJlY29yZCk6IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0ge1xyXG4gICAgICAgIHJldHVybiBuZXcgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbShcclxuICAgICAgICAgICAgcmVjb3JkLnR5cGUsXHJcbiAgICAgICAgICAgIHJlY29yZC5pZCxcclxuICAgICAgICAgICAgcmVjb3JkLnBhcmVudF9pZCxcclxuICAgICAgICAgICAgcmVjb3JkLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICByZWNvcmQuc2VmX2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICByZWNvcmQuc2hvcnRfZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIHJlY29yZC5zb3J0X3ByaW9yaXR5LFxyXG4gICAgICAgICAgICByZWNvcmQuYWN0aXZlLFxyXG4gICAgICAgICAgICByZWNvcmQuZGlzcGxheV9vbmx5LFxyXG4gICAgICAgICAgICAnJyxcclxuICAgICAgICAgICAgcmVjb3JkLnNlb19wYWdlX3RpdGxlLFxyXG4gICAgICAgICAgICByZWNvcmQuc2VvX2tleXdvcmRzLFxyXG4gICAgICAgICAgICByZWNvcmQuc2VvX2Rlc2NyaXB0aW9uXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByb2Nlc3NJRChpZDogc3RyaW5nKTogRXNvbHZlQ2F0ZWdvcnlJZGVudGlmaWVyIHwgbnVsbCB7XHJcbiAgICAgICAgbGV0IHR5cGU6ICdjYXRlZ29yeScgfCAnc3ViY2F0ZWdvcnknO1xyXG4gICAgICAgIGxldCBlc29sdmVfaWQ6IG51bWJlciB8IHN0cmluZztcclxuXHJcbiAgICAgICAgY29uc3QgdHlwZV9jb2RlX3JlZ2V4ID0gL15cXDxcXDwoQ0FUfFNVQilcXD5cXD4vZztcclxuICAgICAgICBjb25zdCBtYXRjaF9yZXN1bHRzID0gaWQubWF0Y2godHlwZV9jb2RlX3JlZ2V4KTtcclxuXHJcbiAgICAgICAgaWYgKG1hdGNoX3Jlc3VsdHMpIHtcclxuICAgICAgICAgICAgY29uc3QgdHlwZV9jb2RlID0gbWF0Y2hfcmVzdWx0c1swXTtcclxuXHJcbiAgICAgICAgICAgIHR5cGUgPSAodHlwZV9jb2RlID09PSAnPDxDQVQ+PicgPyAnY2F0ZWdvcnknIDogJ3N1YmNhdGVnb3J5Jyk7XHJcbiAgICAgICAgICAgIGVzb2x2ZV9pZCA9IGlkLnJlcGxhY2UodHlwZV9jb2RlX3JlZ2V4LCAnJyk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgdHlwZSxcclxuICAgICAgICAgICAgICAgIGVzb2x2ZV9pZFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGNhdGVnb3J5IHRyZWUgZnJvbSBlU29sdmUgaW5zdGFuY2UgYW5kIGNvdmVydHMgaXQgdG8gdGhlIGNvcnJlY3QgZm9ybWF0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0Q2F0ZWdvcnlUcmVlKCk6IE9ic2VydmFibGU8RXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbVtdPiB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnd3NfaWQnLCB0aGlzLmNvbmZpZy53c2lkKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8KEVzb2x2ZUNhdGVnb3J5UmVjb3JkIHwgRXNvbHZlU3ViY2F0ZWdvcnlSZWNvcmQpW10+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtdHJlZS5waHBgLFxyXG4gICAgICAgICAgICB7IHBhcmFtcyB9XHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NUcmVlKHJlc3BvbnNlLnJlY29yZHMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZSB0aGUgZGV0YWlscyBvZiBhIGNhdGVnb3J5IHRyZWUgaXRlbSBmcm9tIHRoZSBlU29sdmUgaW5zdGFuY2UgYW5kIGNvbnZlcnRzIGl0IHRvIHRoZSBjb3JyZWN0IGZvcm1hdC5cclxuICAgICAqIEBwYXJhbSBvcHRpb25zIEZpbHRlciBvcHRpb25zXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRDYXRlZ29yeVRyZWVJdGVtKG9wdGlvbnM6IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1PcHRpb25zKTogT2JzZXJ2YWJsZTxFc29sdmVDYXRlZ29yeVRyZWVJdGVtPiB7XHJcbiAgICAgICAgbGV0IHR5cGUhOiAnY2F0ZWdvcnknIHwgJ3N1YmNhdGVnb3J5JztcclxuICAgICAgICBsZXQgZXNvbHZlX2lkITogbnVtYmVyIHwgc3RyaW5nO1xyXG4gICAgICAgIGxldCBzZWZfZGVzY3JpcHRpb247XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zLmlkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3J5SWRlbnRpZmllciA9IHRoaXMucHJvY2Vzc0lEKG9wdGlvbnMuaWQpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGNhdGVnb3J5SWRlbnRpZmllcikge1xyXG4gICAgICAgICAgICAgICAgdHlwZSA9IGNhdGVnb3J5SWRlbnRpZmllci50eXBlO1xyXG4gICAgICAgICAgICAgICAgZXNvbHZlX2lkID0gY2F0ZWdvcnlJZGVudGlmaWVyLmVzb2x2ZV9pZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy50eXBlKSB7XHJcbiAgICAgICAgICAgIHR5cGUgPSBvcHRpb25zLnR5cGU7XHJcblxyXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5lc29sdmVfaWQpIHtcclxuICAgICAgICAgICAgICAgIGVzb2x2ZV9pZCA9IG9wdGlvbnMuZXNvbHZlX2lkO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMuc2VmX2Rlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBzZWZfZGVzY3JpcHRpb24gPSBvcHRpb25zLnNlZl9kZXNjcmlwdGlvbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHR5cGUgJiYgKGVzb2x2ZV9pZCB8fCBzZWZfZGVzY3JpcHRpb24pKSB7XHJcbiAgICAgICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG5cclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnd3NfaWQnLCB0aGlzLmNvbmZpZy53c2lkLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0eXBlJywgdHlwZS50b1N0cmluZygpKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChlc29sdmVfaWQpIHtcclxuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2lkJywgZXNvbHZlX2lkLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoc2VmX2Rlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzZWZfZGVzY3JpcHRpb24nLCBzZWZfZGVzY3JpcHRpb24udG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1SZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtdHJlZS1pdGVtLnBocGAsXHJcbiAgICAgICAgICAgICAgICB7IHBhcmFtcyB9XHJcbiAgICAgICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHx8IChyZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA8PSAwKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NUcmVlSXRlbShyZXNwb25zZS5yZWNvcmRzWzBdKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcignSW52YWxpZCBvcHRpb25zJyk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNhdGVnb3J5LXRyZWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY2F0ZWdvcnktdHJlZS9lc29sdmUtY2F0ZWdvcnktdHJlZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQXVCLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQVdyRSxNQUFNLE9BQU8seUJBQXlCO0lBQ2xDLFlBQzJDLE1BQTJCLEVBQzFELElBQWdCO1FBRGUsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN4QixDQUFDO0lBRUw7O09BRUc7SUFDSSxlQUFlO1FBQ2xCLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDaEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sdUJBQXVCLEVBQzdDLEVBQUUsTUFBTSxFQUFFLENBQ2IsQ0FBQyxJQUFJLENBQ0YsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ1gsSUFBSSxRQUFRLENBQUMsT0FB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QU0sQ0FBQyxlQUFlLENBQ3pCLENBQUM7SUFDTixDQUFDO0lBRU8sU0FBUyxDQUFDLEVBQVU7UUFDeEIsSUFBSSxJQUFnQyxDQUFDO1FBQ3JDLElBQUksU0FBMEIsQ0FBQztRQUUvQixNQUFNLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQztRQUM5QyxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWhELElBQUksYUFBYSxFQUFFO1lBQ2YsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRW5DLElBQUksR0FBRyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDOUQsU0FBUyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRTVDLE9BQU87Z0JBQ0gsSUFBSTtnQkFDSixTQUFTO2FBQ1osQ0FBQztTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7c0hBdEtRLHlCQUF5QixrQkFFdEIscUJBQXFCOzBIQUZ4Qix5QkFBeUIsY0FGdEIsTUFBTTsyRkFFVCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFHUSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnLCBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFc29sdmVHZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9lc29sdmUtcmVzcG9uc2UnO1xyXG5pbXBvcnQge1xyXG4gICAgRXNvbHZlQ2F0ZWdvcnlSZWNvcmQsXHJcbiAgICBFc29sdmVDYXRlZ29yeVRyZWVJdGVtUmVjb3JkLFxyXG4gICAgRXNvbHZlU3ViY2F0ZWdvcnlSZWNvcmRcclxufSBmcm9tICcuL2Vzb2x2ZS1jYXRlZ29yeS10cmVlLWl0ZW0tcmVjb3JkJztcclxuaW1wb3J0IHsgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbSB9IGZyb20gJy4vZXNvbHZlLWNhdGVnb3J5LXRyZWUtaXRlbSc7XHJcbmltcG9ydCB7IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1PcHRpb25zIH0gZnJvbSAnLi9lc29sdmUtY2F0ZWdvcnktdHJlZS1pdGVtLW9wdGlvbnMnO1xyXG5cclxuaW50ZXJmYWNlIEVzb2x2ZUNhdGVnb3J5SWRlbnRpZmllciB7XHJcbiAgICB0eXBlOiAnY2F0ZWdvcnknIHwgJ3N1YmNhdGVnb3J5JztcclxuICAgIGVzb2x2ZV9pZDogbnVtYmVyIHwgc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZUNhdGVnb3J5VHJlZVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxyXG4gICAgKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyB0aGUgY2F0ZWdvcnkgdHJlZSBmcm9tIGVTb2x2ZSBpbnN0YW5jZSBhbmQgY292ZXJ0cyBpdCB0byB0aGUgY29ycmVjdCBmb3JtYXQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRDYXRlZ29yeVRyZWUoKTogT2JzZXJ2YWJsZTxFc29sdmVDYXRlZ29yeVRyZWVJdGVtW10+IHtcclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd3c19pZCcsIHRoaXMuY29uZmlnLndzaWQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTwoRXNvbHZlQ2F0ZWdvcnlSZWNvcmQgfCBFc29sdmVTdWJjYXRlZ29yeVJlY29yZClbXT4+KFxyXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL2dldC10cmVlLnBocGAsXHJcbiAgICAgICAgICAgIHsgcGFyYW1zIH1cclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1RyZWUocmVzcG9uc2UucmVjb3Jkcyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlIHRoZSBkZXRhaWxzIG9mIGEgY2F0ZWdvcnkgdHJlZSBpdGVtIGZyb20gdGhlIGVTb2x2ZSBpbnN0YW5jZSBhbmQgY29udmVydHMgaXQgdG8gdGhlIGNvcnJlY3QgZm9ybWF0LlxyXG4gICAgICogQHBhcmFtIG9wdGlvbnMgRmlsdGVyIG9wdGlvbnNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldENhdGVnb3J5VHJlZUl0ZW0ob3B0aW9uczogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbU9wdGlvbnMpOiBPYnNlcnZhYmxlPEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0+IHtcclxuICAgICAgICBsZXQgdHlwZSE6ICdjYXRlZ29yeScgfCAnc3ViY2F0ZWdvcnknO1xyXG4gICAgICAgIGxldCBlc29sdmVfaWQhOiBudW1iZXIgfCBzdHJpbmc7XHJcbiAgICAgICAgbGV0IHNlZl9kZXNjcmlwdGlvbjtcclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMuaWQpIHtcclxuICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnlJZGVudGlmaWVyID0gdGhpcy5wcm9jZXNzSUQob3B0aW9ucy5pZCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoY2F0ZWdvcnlJZGVudGlmaWVyKSB7XHJcbiAgICAgICAgICAgICAgICB0eXBlID0gY2F0ZWdvcnlJZGVudGlmaWVyLnR5cGU7XHJcbiAgICAgICAgICAgICAgICBlc29sdmVfaWQgPSBjYXRlZ29yeUlkZW50aWZpZXIuZXNvbHZlX2lkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zLnR5cGUpIHtcclxuICAgICAgICAgICAgdHlwZSA9IG9wdGlvbnMudHlwZTtcclxuXHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmVzb2x2ZV9pZCkge1xyXG4gICAgICAgICAgICAgICAgZXNvbHZlX2lkID0gb3B0aW9ucy5lc29sdmVfaWQ7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5zZWZfZGVzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgICAgIHNlZl9kZXNjcmlwdGlvbiA9IG9wdGlvbnMuc2VmX2Rlc2NyaXB0aW9uO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZSAmJiAoZXNvbHZlX2lkIHx8IHNlZl9kZXNjcmlwdGlvbikpIHtcclxuICAgICAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcblxyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd3c19pZCcsIHRoaXMuY29uZmlnLndzaWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3R5cGUnLCB0eXBlLnRvU3RyaW5nKCkpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGVzb2x2ZV9pZCkge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnaWQnLCBlc29sdmVfaWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChzZWZfZGVzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NlZl9kZXNjcmlwdGlvbicsIHNlZl9kZXNjcmlwdGlvbi50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbVJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL2dldC10cmVlLWl0ZW0ucGhwYCxcclxuICAgICAgICAgICAgICAgIHsgcGFyYW1zIH1cclxuICAgICAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkgfHwgKHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoIDw9IDApKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1RyZWVJdGVtKHJlc3BvbnNlLnJlY29yZHNbMF0pO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCdJbnZhbGlkIG9wdGlvbnMnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHRyZWUgcmVjb3JkcyBhbmQgY29udmVydHMgdGhlbSBpbnRvIHRoZSBjb3JyZWN0IGZvcm1hdC5cclxuICAgICAqIEBwYXJhbSB0cmVlX3JlY29yZHMgUmVjb3JkcyB0byBwcm9jZXNzXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcHJvY2Vzc1RyZWUodHJlZV9yZWNvcmRzOiAoRXNvbHZlQ2F0ZWdvcnlSZWNvcmQgfCBFc29sdmVTdWJjYXRlZ29yeVJlY29yZClbXSk6IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW1bXSB7XHJcbiAgICAgICAgY29uc3QgdHJlZV9pdGVtczogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbVtdID0gW107XHJcblxyXG4gICAgICAgIGlmICh0cmVlX3JlY29yZHMpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCB0cmVlX3JlY29yZCBvZiB0cmVlX3JlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgIGxldCBlc29sdmVfaWQ6IHN0cmluZyB8IG51bWJlciA9ICcnO1xyXG4gICAgICAgICAgICAgICAgbGV0IHBhcmVudF9pZCA9ICcnO1xyXG4gICAgICAgICAgICAgICAgbGV0IGNoaWxkcmVuOiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtW10gPSBbXTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodHJlZV9yZWNvcmQudHlwZSA9PT0gJ2NhdGVnb3J5Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuID0gdGhpcy5wcm9jZXNzVHJlZSh0cmVlX3JlY29yZC5jaGlsZHJlbik7XHJcbiAgICAgICAgICAgICAgICAgICAgZXNvbHZlX2lkID0gdHJlZV9yZWNvcmQubWVudV9pZDtcclxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRfaWQgPSB0cmVlX3JlY29yZC5vd25lcl9tZW51X2lkO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBlc29sdmVfaWQgPSB0cmVlX3JlY29yZC5pZDtcclxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRfaWQgPSB0cmVlX3JlY29yZC5tZW51X2lkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRyZWVfaXRlbXMucHVzaChuZXcgRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbShcclxuICAgICAgICAgICAgICAgICAgICB0cmVlX3JlY29yZC50eXBlLFxyXG4gICAgICAgICAgICAgICAgICAgIGVzb2x2ZV9pZCxcclxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRfaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuc2VmX2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLnNlb19kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICAgICB0cmVlX3JlY29yZC5zb3J0X3ByaW9yaXR5LFxyXG4gICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLmFjdGl2ZSxcclxuICAgICAgICAgICAgICAgICAgICB0cmVlX3JlY29yZC5kaXNwbGF5X29ubHksXHJcbiAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuaW1hZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuc2VvX3BhZ2VfdGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgdHJlZV9yZWNvcmQuc2VvX2tleXdvcmRzLFxyXG4gICAgICAgICAgICAgICAgICAgIHRyZWVfcmVjb3JkLnNob3J0X2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXHJcbiAgICAgICAgICAgICAgICApKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRyZWVfaXRlbXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwcm9jZXNzVHJlZUl0ZW0ocmVjb3JkOiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtUmVjb3JkKTogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtKFxyXG4gICAgICAgICAgICByZWNvcmQudHlwZSxcclxuICAgICAgICAgICAgcmVjb3JkLmlkLFxyXG4gICAgICAgICAgICByZWNvcmQucGFyZW50X2lkLFxyXG4gICAgICAgICAgICByZWNvcmQuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIHJlY29yZC5zZWZfZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIHJlY29yZC5zaG9ydF9kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgcmVjb3JkLnNvcnRfcHJpb3JpdHksXHJcbiAgICAgICAgICAgIHJlY29yZC5hY3RpdmUsXHJcbiAgICAgICAgICAgIHJlY29yZC5kaXNwbGF5X29ubHksXHJcbiAgICAgICAgICAgICcnLFxyXG4gICAgICAgICAgICByZWNvcmQuc2VvX3BhZ2VfdGl0bGUsXHJcbiAgICAgICAgICAgIHJlY29yZC5zZW9fa2V5d29yZHMsXHJcbiAgICAgICAgICAgIHJlY29yZC5zZW9fZGVzY3JpcHRpb25cclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcHJvY2Vzc0lEKGlkOiBzdHJpbmcpOiBFc29sdmVDYXRlZ29yeUlkZW50aWZpZXIgfCBudWxsIHtcclxuICAgICAgICBsZXQgdHlwZTogJ2NhdGVnb3J5JyB8ICdzdWJjYXRlZ29yeSc7XHJcbiAgICAgICAgbGV0IGVzb2x2ZV9pZDogbnVtYmVyIHwgc3RyaW5nO1xyXG5cclxuICAgICAgICBjb25zdCB0eXBlX2NvZGVfcmVnZXggPSAvXlxcPFxcPChDQVR8U1VCKVxcPlxcPi9nO1xyXG4gICAgICAgIGNvbnN0IG1hdGNoX3Jlc3VsdHMgPSBpZC5tYXRjaCh0eXBlX2NvZGVfcmVnZXgpO1xyXG5cclxuICAgICAgICBpZiAobWF0Y2hfcmVzdWx0cykge1xyXG4gICAgICAgICAgICBjb25zdCB0eXBlX2NvZGUgPSBtYXRjaF9yZXN1bHRzWzBdO1xyXG5cclxuICAgICAgICAgICAgdHlwZSA9ICh0eXBlX2NvZGUgPT09ICc8PENBVD4+JyA/ICdjYXRlZ29yeScgOiAnc3ViY2F0ZWdvcnknKTtcclxuICAgICAgICAgICAgZXNvbHZlX2lkID0gaWQucmVwbGFjZSh0eXBlX2NvZGVfcmVnZXgsICcnKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB0eXBlLFxyXG4gICAgICAgICAgICAgICAgZXNvbHZlX2lkXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufVxyXG4iXX0=