@sunbird-cb/utils-v2 0.0.21 → 0.0.22-ang-9-12

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 (164) hide show
  1. package/bundles/sunbird-cb-utils-v2.umd.js +1284 -2508
  2. package/bundles/sunbird-cb-utils-v2.umd.js.map +1 -1
  3. package/bundles/sunbird-cb-utils-v2.umd.min.js +1 -1
  4. package/bundles/sunbird-cb-utils-v2.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/image-crop/image-crop.component.js +19 -47
  6. package/esm2015/lib/components/image-crop/image-crop.module.js +8 -2
  7. package/esm2015/lib/constants/features.enum.js +555 -555
  8. package/esm2015/lib/constants/instances.enum.js +5 -5
  9. package/esm2015/lib/constants/misc.constants.js +1 -0
  10. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +11 -21
  11. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +1 -7
  12. package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +6 -11
  13. package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +9 -12
  14. package/esm2015/lib/directives/navigation/navigation.directive.js +1 -6
  15. package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +4 -4
  16. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +10 -19
  17. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +4 -2
  18. package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +15 -31
  19. package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +4 -2
  20. package/esm2015/lib/helpers/logout/logout.component.js +11 -14
  21. package/esm2015/lib/helpers/logout/logout.module.js +3 -2
  22. package/esm2015/lib/models/profile-v3.models.js +2 -104
  23. package/esm2015/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +4 -4
  24. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +1 -7
  25. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +1 -1
  26. package/esm2015/lib/pipes/pipe-coursename/pipe-coursename.pipe.js +1 -1
  27. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +1 -11
  28. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +1 -1
  29. package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +3 -3
  30. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +5 -5
  31. package/esm2015/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +3 -3
  32. package/esm2015/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +6 -6
  33. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +1 -1
  34. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +4 -4
  35. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +1 -6
  36. package/esm2015/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.js +4 -4
  37. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +1 -4
  38. package/esm2015/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +1 -1
  39. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +1 -1
  40. package/esm2015/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +4 -4
  41. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +5 -5
  42. package/esm2015/lib/resolvers/explore-detail.resolver.js +17 -19
  43. package/esm2015/lib/resolvers/marketing-offering.resolve.js +10 -10
  44. package/esm2015/lib/resolvers/module-name.resolver.js +2 -5
  45. package/esm2015/lib/resolvers/page-name.resolver.js +2 -2
  46. package/esm2015/lib/resolvers/page.constant.js +1 -1
  47. package/esm2015/lib/resolvers/page.model.js +2 -48
  48. package/esm2015/lib/resolvers/page.resolver.js +16 -17
  49. package/esm2015/lib/resolvers/resolver.model.js +2 -6
  50. package/esm2015/lib/services/auth-keycloak.service.js +35 -35
  51. package/esm2015/lib/services/auth-microsoft.service.js +21 -17
  52. package/esm2015/lib/services/card-content.model.js +1 -21
  53. package/esm2015/lib/services/configurations.model.js +2 -551
  54. package/esm2015/lib/services/configurations.service.js +2 -63
  55. package/esm2015/lib/services/content-strip-multiple.model.js +2 -75
  56. package/esm2015/lib/services/event.model.js +1 -114
  57. package/esm2015/lib/services/event.service.js +31 -24
  58. package/esm2015/lib/services/logger.service.js +8 -13
  59. package/esm2015/lib/services/ms-office.model.js +2 -8
  60. package/esm2015/lib/services/multilingual-translations.service.js +11 -15
  61. package/esm2015/lib/services/nps-grid.service.js +6 -8
  62. package/esm2015/lib/services/subapplication-respond.service.js +16 -20
  63. package/esm2015/lib/services/telemetry.service.js +73 -80
  64. package/esm2015/lib/services/user-preference.model.js +2 -38
  65. package/esm2015/lib/services/user-preference.service.js +23 -15
  66. package/esm2015/lib/services/utility.service.js +16 -27
  67. package/esm2015/lib/services/value.service.js +8 -10
  68. package/esm2015/lib/services/widget-content.model.js +1 -242
  69. package/esm2015/lib/services/widget-content.service.js +29 -21
  70. package/esm2015/lib/services/widget-resolver.model.js +2 -57
  71. package/esm2015/lib/services/widget-search.model.js +2 -126
  72. package/esm2015/public-api.js +96 -88
  73. package/esm2015/sunbird-cb-utils-v2.js +2 -10
  74. package/esm5/lib/components/image-crop/image-crop.component.js +30 -48
  75. package/esm5/lib/components/image-crop/image-crop.module.js +8 -2
  76. package/esm5/lib/constants/features.enum.js +555 -555
  77. package/esm5/lib/constants/instances.enum.js +5 -5
  78. package/esm5/lib/constants/misc.constants.js +1 -0
  79. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +14 -24
  80. package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +1 -7
  81. package/esm5/lib/directives/image-responsive/image-responsive.directive.js +6 -11
  82. package/esm5/lib/directives/in-view-port/in-view-port.directive.js +9 -12
  83. package/esm5/lib/directives/navigation/navigation.directive.js +1 -6
  84. package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +4 -4
  85. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +10 -19
  86. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +4 -2
  87. package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +15 -31
  88. package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +4 -2
  89. package/esm5/lib/helpers/logout/logout.component.js +12 -15
  90. package/esm5/lib/helpers/logout/logout.module.js +3 -2
  91. package/esm5/lib/models/profile-v3.models.js +2 -104
  92. package/esm5/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +4 -4
  93. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +1 -7
  94. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +1 -1
  95. package/esm5/lib/pipes/pipe-coursename/pipe-coursename.pipe.js +1 -1
  96. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +1 -11
  97. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +1 -1
  98. package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +3 -3
  99. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +5 -5
  100. package/esm5/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +3 -3
  101. package/esm5/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +9 -9
  102. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +1 -1
  103. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +4 -4
  104. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +1 -6
  105. package/esm5/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.js +4 -4
  106. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +1 -4
  107. package/esm5/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +1 -1
  108. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +13 -3
  109. package/esm5/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +4 -4
  110. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +5 -5
  111. package/esm5/lib/resolvers/explore-detail.resolver.js +17 -19
  112. package/esm5/lib/resolvers/marketing-offering.resolve.js +10 -10
  113. package/esm5/lib/resolvers/module-name.resolver.js +2 -5
  114. package/esm5/lib/resolvers/page-name.resolver.js +2 -2
  115. package/esm5/lib/resolvers/page.constant.js +1 -1
  116. package/esm5/lib/resolvers/page.model.js +2 -48
  117. package/esm5/lib/resolvers/page.resolver.js +36 -22
  118. package/esm5/lib/resolvers/resolver.model.js +2 -6
  119. package/esm5/lib/services/auth-keycloak.service.js +86 -48
  120. package/esm5/lib/services/auth-microsoft.service.js +55 -24
  121. package/esm5/lib/services/card-content.model.js +1 -21
  122. package/esm5/lib/services/configurations.model.js +2 -551
  123. package/esm5/lib/services/configurations.service.js +2 -63
  124. package/esm5/lib/services/content-strip-multiple.model.js +2 -75
  125. package/esm5/lib/services/event.model.js +1 -114
  126. package/esm5/lib/services/event.service.js +66 -28
  127. package/esm5/lib/services/logger.service.js +12 -17
  128. package/esm5/lib/services/ms-office.model.js +2 -8
  129. package/esm5/lib/services/multilingual-translations.service.js +11 -15
  130. package/esm5/lib/services/nps-grid.service.js +6 -8
  131. package/esm5/lib/services/subapplication-respond.service.js +30 -24
  132. package/esm5/lib/services/telemetry.service.js +94 -91
  133. package/esm5/lib/services/user-preference.model.js +2 -38
  134. package/esm5/lib/services/user-preference.service.js +63 -17
  135. package/esm5/lib/services/utility.service.js +23 -34
  136. package/esm5/lib/services/value.service.js +8 -10
  137. package/esm5/lib/services/widget-content.model.js +1 -242
  138. package/esm5/lib/services/widget-content.service.js +69 -23
  139. package/esm5/lib/services/widget-resolver.model.js +2 -57
  140. package/esm5/lib/services/widget-search.model.js +2 -126
  141. package/esm5/public-api.js +96 -88
  142. package/esm5/sunbird-cb-utils-v2.js +2 -10
  143. package/fesm2015/sunbird-cb-utils-v2.js +972 -2207
  144. package/fesm2015/sunbird-cb-utils-v2.js.map +1 -1
  145. package/fesm5/sunbird-cb-utils-v2.js +1262 -2264
  146. package/fesm5/sunbird-cb-utils-v2.js.map +1 -1
  147. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +3 -3
  148. package/lib/helpers/logout/logout.component.d.ts +2 -2
  149. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +4 -4
  150. package/lib/resolvers/page.model.d.ts +1 -1
  151. package/lib/services/auth-keycloak.service.d.ts +9 -9
  152. package/lib/services/auth-microsoft.service.d.ts +2 -2
  153. package/lib/services/configurations.model.d.ts +29 -27
  154. package/lib/services/content-strip-multiple.model.d.ts +7 -6
  155. package/lib/services/event.service.d.ts +2 -0
  156. package/lib/services/logger.service.d.ts +4 -4
  157. package/lib/services/telemetry.service.d.ts +3 -3
  158. package/lib/services/utility.service.d.ts +7 -7
  159. package/lib/services/widget-content.model.d.ts +21 -20
  160. package/package.json +12 -12
  161. package/public-api.d.ts +8 -0
  162. package/sunbird-cb-utils-v2-0.0.22-ang-9-12.tgz +0 -0
  163. package/sunbird-cb-utils-v2.d.ts +0 -8
  164. package/sunbird-cb-utils-v2.metadata.json +1 -1
@@ -11,6 +11,7 @@ export class EventService {
11
11
  this.utilitySvc = utilitySvc;
12
12
  this.todaysEvents = [];
13
13
  this.todaysLiveEvents = [];
14
+ this.keySpeakerEvents = [];
14
15
  this.eventsSubject = new Subject();
15
16
  this.events$ = this.eventsSubject.asObservable();
16
17
  this.eventsChatbotSubject = new Subject();
@@ -142,29 +143,30 @@ export class EventService {
142
143
  return `${date} ${hour}${min}`;
143
144
  }
144
145
  sortItemByTime(eventsdata) {
145
- return eventsdata.sort(((a, b) => {
146
+ return eventsdata.sort((a, b) => {
146
147
  const firstDate = new Date(a.eventDate);
147
148
  const secondDate = new Date(b.eventDate);
148
149
  return secondDate > firstDate ? 1 : -1;
149
- }));
150
+ });
150
151
  }
151
152
  sortItemByTimeAsc(eventsdata) {
152
- return eventsdata.sort(((a, b) => {
153
+ return eventsdata.sort((a, b) => {
153
154
  const firstDate = new Date(a.eventDate);
154
155
  const secondDate = new Date(b.eventDate);
155
156
  return secondDate < firstDate ? 1 : -1;
156
- }));
157
+ });
157
158
  }
158
159
  setEventListData(eventObj) {
159
160
  if (eventObj !== undefined) {
160
161
  this.todaysEvents = [];
161
162
  this.todaysLiveEvents = [];
163
+ this.keySpeakerEvents = [];
162
164
  const data = eventObj;
163
165
  let isEventLive = false;
164
166
  let isEventRecording = false;
165
167
  let isEventPast = false;
166
168
  let isEventFuture = false;
167
- Object.keys(data).forEach(((index) => {
169
+ Object.keys(data).forEach((index) => {
168
170
  isEventRecording = false;
169
171
  isEventLive = false;
170
172
  isEventPast = false;
@@ -240,8 +242,10 @@ export class EventService {
240
242
  if (isToday && isEventLive) {
241
243
  this.todaysLiveEvents.push(eventDataObj);
242
244
  }
243
- }));
245
+ this.keySpeakerEvents.push(eventDataObj);
246
+ });
244
247
  this.todaysLiveEvents = this.sortItemByTime(this.todaysLiveEvents);
248
+ this.keySpeakerEvents = this.getKeySpeakerEvents(this.keySpeakerEvents);
245
249
  this.todaysEvents = this.getTodaysEvents(this.todaysEvents);
246
250
  }
247
251
  }
@@ -250,15 +254,33 @@ export class EventService {
250
254
  let pastEvents = [];
251
255
  let futureEvents = [];
252
256
  liveEvents = this.todaysLiveEvents;
253
- pastEvents = eventData.filter(((pastEvent) => pastEvent.isEventPast));
254
- futureEvents = eventData.filter(((futureEvent) => futureEvent.isEventFuture));
257
+ pastEvents = eventData.filter((pastEvent) => pastEvent.isEventPast);
258
+ futureEvents = eventData.filter((futureEvent) => futureEvent.isEventFuture);
255
259
  liveEvents = this.sortItemByTimeAsc(liveEvents);
256
260
  futureEvents = this.sortItemByTimeAsc(futureEvents);
257
261
  pastEvents = this.sortItemByTime(pastEvents);
258
262
  this.todaysEvents = [...liveEvents, ...futureEvents, ...pastEvents];
259
263
  return this.todaysEvents;
260
264
  }
265
+ getKeySpeakerEvents(eventData) {
266
+ let liveEvents = [];
267
+ let pastEvents = [];
268
+ let futureEvents = [];
269
+ liveEvents = this.todaysLiveEvents;
270
+ pastEvents = eventData.filter((pastEvent) => pastEvent.isEventPast);
271
+ futureEvents = eventData.filter((futureEvent) => futureEvent.isEventFuture);
272
+ liveEvents = this.sortItemByTimeAsc(liveEvents);
273
+ futureEvents = this.sortItemByTimeAsc(futureEvents);
274
+ pastEvents = this.sortItemByTime(pastEvents);
275
+ this.keySpeakerEvents = [...liveEvents, ...futureEvents, ...pastEvents];
276
+ return this.keySpeakerEvents;
277
+ }
261
278
  }
279
+ EventService.ctorParameters = () => [
280
+ { type: undefined, decorators: [{ type: Inject, args: ['environment',] }] },
281
+ { type: UtilityService }
282
+ ];
283
+ EventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EventService_Factory() { return new EventService(i0.ɵɵinject("environment"), i0.ɵɵinject(i1.UtilityService)); }, token: EventService, providedIn: "root" });
262
284
  EventService.decorators = [
263
285
  { type: Injectable, args: [{
264
286
  providedIn: 'root',
@@ -268,19 +290,4 @@ EventService.ctorParameters = () => [
268
290
  { type: undefined, decorators: [{ type: Inject, args: ['environment',] }] },
269
291
  { type: UtilityService }
270
292
  ];
271
- /** @nocollapse */ EventService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function EventService_Factory() { return new EventService(i0.ɵɵinject("environment"), i0.ɵɵinject(i1.UtilityService)); }, token: EventService, providedIn: "root" });
272
- if (false) {
273
- EventService.prototype.todaysEvents;
274
- EventService.prototype.todaysLiveEvents;
275
- EventService.prototype.eventsSubject;
276
- EventService.prototype.events$;
277
- EventService.prototype.eventsChatbotSubject;
278
- EventService.prototype.chatbotEvents$;
279
- EventService.prototype.eventsGetStartSubject;
280
- EventService.prototype.getStartEvents$;
281
- EventService.prototype.eventsPRSubject;
282
- EventService.prototype.getPREvents$;
283
- EventService.prototype.environment;
284
- EventService.prototype.utilitySvc;
285
- }
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUVsRCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUE7QUFDdEIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFBOzs7QUFJM0IsTUFBTSxPQUFPLFlBQVk7SUFpQnZCLFlBQ3lCLFdBQWdCLEVBQy9CLFVBQTBCO1FBQTFCLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBbEJwQyxpQkFBWSxHQUFRLEVBQUUsQ0FBQTtRQUN0QixxQkFBZ0IsR0FBUSxFQUFFLENBQUE7UUFFbEIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQTtRQUN2RCxZQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUUxQyx5QkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQTtRQUM5RCxtQkFBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUV4RCwwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQTtRQUMvRCxvQkFBZSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUUxRCxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUEyQixDQUFBO1FBQ3pELGlCQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQU92RCxJQUFJLENB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RCxtQ0FBZ0I7SUFHZCxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgV3NFdmVudHMgfSBmcm9tICcuL2V2ZW50Lm1vZGVsJ1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4vdXRpbGl0eS5zZXJ2aWNlJ1xyXG4vKiB0c2xpbnQ6ZGlzYWJsZSovXHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCdcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFdmVudFNlcnZpY2Uge1xyXG4gIHRvZGF5c0V2ZW50czogYW55ID0gW11cclxuICB0b2RheXNMaXZlRXZlbnRzOiBhbnkgPSBbXVxyXG4gIFxyXG4gIHByaXZhdGUgZXZlbnRzU3ViamVjdCA9IG5ldyBTdWJqZWN0PFdzRXZlbnRzLklXc0V2ZW50czxhbnk+PigpXHJcbiAgcHVibGljIGV2ZW50cyQgPSB0aGlzLmV2ZW50c1N1YmplY3QuYXNPYnNlcnZhYmxlKClcclxuXHJcbiAgcHJpdmF0ZSBldmVudHNDaGF0Ym90U3ViamVjdCA9IG5ldyBTdWJqZWN0PFdzRXZlbnRzLklXc0V2ZW50czxhbnk+PigpXHJcbiAgcHVibGljIGNoYXRib3RFdmVudHMkID0gdGhpcy5ldmVudHNDaGF0Ym90U3ViamVjdC5hc09ic2VydmFibGUoKVxyXG5cclxuICBwcml2YXRlIGV2ZW50c0dldFN0YXJ0U3ViamVjdCA9IG5ldyBTdWJqZWN0PFdzRXZlbnRzLklXc0V2ZW50czxhbnk+PigpXHJcbiAgcHVibGljIGdldFN0YXJ0RXZlbnRzJCA9IHRoaXMuZXZlbnRzR2V0U3RhcnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXHJcblxyXG4gIHByaXZhdGUgZXZlbnRzUFJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8V3NFdmVudHMuSVdzRXZlbnRzPGFueT4+KClcclxuICBwdWJsaWMgZ2V0UFJFdmVudHMkID0gdGhpcy5ldmVudHNQUlN1YmplY3QuYXNPYnNlcnZhYmxlKClcclxuXHJcbiAgZW52aXJvbm1lbnQ6IGFueVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBlbnZpcm9ubWVudDogYW55LFxyXG4gICAgcHJpdmF0ZSB1dGlsaXR5U3ZjOiBVdGlsaXR5U2VydmljZSxcclxuICApIHtcclxuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudFxyXG4gICAgLy8gdGhpcy5mb2N1c0NoYW5nZUV2ZW50TGlzdGVuZXIoKVxyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2hFdmVudDxUPihldmVudDogV3NFdmVudHMuSVdzRXZlbnRzPFQ+KSB7XHJcbiAgICBldmVudC5wYWdlQ29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dChldmVudC5wYWdlQ29udGV4dClcclxuICAgIHRoaXMuZXZlbnRzU3ViamVjdC5uZXh0KGV2ZW50KVxyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2hDaGF0Ym90RXZlbnQ8VD4oZXZlbnQ6IFdzRXZlbnRzLklXc0V2ZW50czxUPikge1xyXG4gICAgdGhpcy5ldmVudHNDaGF0Ym90U3ViamVjdC5uZXh0KGV2ZW50KVxyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2hHZXRTdGFydGVkRXZlbnQ8VD4oZXZlbnQ6IFdzRXZlbnRzLklXc0V2ZW50czxUPikge1xyXG4gICAgdGhpcy5ldmVudHNHZXRTdGFydFN1YmplY3QubmV4dChldmVudClcclxuICB9XHJcblxyXG4gIGRpc3BhdGNoUGxhdGZvcm1SYXRpbmdFdmVudDxUPihldmVudDogV3NFdmVudHMuSVdzRXZlbnRzPFQ+KSB7XHJcbiAgICB0aGlzLmV2ZW50c1BSU3ViamVjdC5uZXh0KGV2ZW50KVxyXG4gIH1cclxuXHJcblxyXG4gIC8vIGhlbHBlciBmdW5jdGlvbnNcclxuICByYWlzZUludGVyYWN0VGVsZW1ldHJ5KGVkYXRhOiBXc0V2ZW50cy5JVGVsZW1ldHJ5RWRhdGEsIG9iamVjdDogYW55LCBwYWdlQ29udGV4dD86IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCkge1xyXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50PFdzRXZlbnRzLklXc0V2ZW50VGVsZW1ldHJ5SW50ZXJhY3Q+KHtcclxuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5JbmZvLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZWRhdGEsXHJcbiAgICAgICAgb2JqZWN0LFxyXG4gICAgICAgIHBhZ2VDb250ZXh0OiB0aGlzLmdldENvbnRleHQocGFnZUNvbnRleHQpLFxyXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuSW50ZXJhY3QsXHJcbiAgICAgIH0sXHJcbiAgICAgIGZyb206ICcnLFxyXG4gICAgICB0bzogJ1RlbGVtZXRyeScsXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmFpc2VGZWVkYmFja1RlbGVtZXRyeShlZGF0YTogV3NFdmVudHMuSVRlbGVtZXRyeUVkYXRhLCBvYmplY3Q6IGFueSwgZnJvbT86IHN0cmluZykge1xyXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50PFdzRXZlbnRzLklXc0V2ZW50VGVsZW1ldHJ5SW50ZXJhY3Q+KHtcclxuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5JbmZvLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZWRhdGEsXHJcbiAgICAgICAgb2JqZWN0LFxyXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuRmVlZGJhY2ssXHJcbiAgICAgIH0sXHJcbiAgICAgIGZyb206IGZyb20gfHwgJycsXHJcbiAgICAgIHRvOiAnVGVsZW1ldHJ5JyxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyBSYWlzZSBjdXN0b20gaW1wcmVzc2lvbiBldmVudHMgZWc6b24gdGFiIGNoYW5nZVxyXG4gIHJhaXNlQ3VzdG9tSW1wcmVzc2lvbihvYmplY3Q6IGFueSwgcGFnZUNvbnRleHQ/OiBXc0V2ZW50cy5JVGVsZW1ldHJ5UGFnZUNvbnRleHQpIHtcclxuICAgIHRoaXMuZGlzcGF0Y2hFdmVudDxXc0V2ZW50cy5JV3NFdmVudFRlbGVtZXRyeUltcHJlc3Npb24+KHtcclxuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5JbmZvLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgb2JqZWN0LFxyXG4gICAgICAgIHBhZ2VDb250ZXh0OiB0aGlzLmdldENvbnRleHQocGFnZUNvbnRleHQpLFxyXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuSW1wcmVzc2lvbixcclxuICAgICAgfSxcclxuICAgICAgZnJvbTogJycsXHJcbiAgICAgIHRvOiAnVGVsZW1ldHJ5JyxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyBwcml2YXRlIGZvY3VzQ2hhbmdlRXZlbnRMaXN0ZW5lcigpIHtcclxuICAvLyAgIGZyb21FdmVudCh3aW5kb3csICdmb2N1cycpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgLy8gICAgIHRoaXMucmFpc2VJbnRlcmFjdFRlbGVtZXRyeSgnZm9jdXMnLCAnZ2FpbmVkJywge30pXHJcbiAgLy8gICB9KVxyXG4gIC8vICAgZnJvbUV2ZW50KHdpbmRvdywgJ2JsdXInKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gIC8vICAgICB0aGlzLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoJ2ZvY3VzJywgJ2xvc3QnLCB7fSlcclxuICAvLyAgIH0pXHJcbiAgLy8gfVxyXG5cclxuICAvLyBNZXRob2QgdG8gZ2V0IHRoZSBjb250ZXh0IGluZm9ybWF0aW9uIGFib3V0IHRoZSB0ZWxlbWV0cnkgaW50ZXJhY3QgZXZlbnRcclxuICBwcml2YXRlIGdldENvbnRleHQocGFnZUNvbnRleHQ6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCB8IHVuZGVmaW5lZCk6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCB7XHJcbiAgICBjb25zdCByb3V0ZURhdGFDb250ZXh0ID0gdGhpcy51dGlsaXR5U3ZjLnJvdXRlRGF0YVxyXG4gICAgLy8gaW5pdGlhbGl6ZSB3aXRoIHRoZSByb3V0ZSBkYXRhIGNvbmZpZ3VyYXRpb24gLSBjdXJyZW50IHJvdXRlJ3MgcGFnZUlEICYgbW9kdWxlXHJcbiAgICBjb25zdCBmaW5hbENvbnRleHQ6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCA9IHtcclxuICAgICAgcGFnZUlkOiByb3V0ZURhdGFDb250ZXh0LnBhZ2VJZCxcclxuICAgICAgbW9kdWxlOiByb3V0ZURhdGFDb250ZXh0Lm1vZHVsZSxcclxuICAgIH1cclxuICAgIGlmIChwYWdlQ29udGV4dCkge1xyXG4gICAgICAvLyBpZiBjb250ZXh0IGhhcyBwYWdlSWRFeHQsIGFwcGVuZCBpdCB0byB0aGUgcm91dGUncyBwYWdlSWRcclxuICAgICAgaWYgKHBhZ2VDb250ZXh0LnBhZ2VJZEV4dCkge1xyXG4gICAgICAgIGZpbmFsQ29udGV4dC5wYWdlSWQgPSBgJHtyb3V0ZURhdGFDb250ZXh0LnBhZ2VJZH1fJHtwYWdlQ29udGV4dC5wYWdlSWRFeHR9YFxyXG4gICAgICB9IGVsc2UgaWYgKHBhZ2VDb250ZXh0LnBhZ2VJZCkge1xyXG4gICAgICAgIC8vIGVsc2UgY29udGV4dCBoYXMgcGFnZUlkLCBvdmVycmlkZSBpdCB0byB0aGUgZmluYWwgcGFnZUlEXHJcbiAgICAgICAgZmluYWxDb250ZXh0LnBhZ2VJZCA9IHBhZ2VDb250ZXh0LnBhZ2VJZFxyXG4gICAgICB9XHJcbiAgICAgIC8vIGlmIGNvbnRleHQgaGFzIG1vZHVsZSwgb3ZlcnJpZGUgaXQgdG8gdGhlIGZpbmFsIG1vZHVsZVxyXG4gICAgICBpZiAocGFnZUNvbnRleHQubW9kdWxlKSB7XHJcbiAgICAgICAgZmluYWxDb250ZXh0Lm1vZHVsZSA9IHBhZ2VDb250ZXh0Lm1vZHVsZVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZpbmFsQ29udGV4dFxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVRhYlRlbGVtZXRyeShzdWJUeXBlOiBzdHJpbmcsIGRhdGE6IFdzRXZlbnRzLklUZWxlbWV0cnlUYWJEYXRhLCBvYmplY3Q/OmFueSkge1xyXG4gICAgLy8gcmFpc2UgYSB0YWIgY2xpY2sgaW50ZXJhY3QgZXZlbnRcclxuICAgIHRoaXMucmFpc2VJbnRlcmFjdFRlbGVtZXRyeShcclxuICAgICAge1xyXG4gICAgICAgIHN1YlR5cGUsXHJcbiAgICAgICAgdHlwZTogV3NFdmVudHMuRW51bUludGVyYWN0VHlwZXMuQ0xJQ0ssXHJcbiAgICAgICAgaWQ6IGAke18uY2FtZWxDYXNlKGRhdGEubGFiZWwpfS10YWJgLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgLy8gY29udGV4dDoge1xyXG4gICAgICAgIC8vICAgcG9zaXRpb246IGRhdGEuaW5kZXgsXHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgICAuLi5vYmplY3RcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICBwYWdlSWRFeHQ6IGAke18uY2FtZWxDYXNlKGRhdGEubGFiZWwpfS10YWJgLFxyXG4gICAgfSlcclxuXHJcbiAgICAvLyByYWlzZSBhIHRhYiBjbGljayBpbXByZXNzaW9uIGV2ZW50XHJcbiAgICB0aGlzLnJhaXNlQ3VzdG9tSW1wcmVzc2lvbih7XHJcbiAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGRhdGEuaW5kZXgsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4ub2JqZWN0XHJcbiAgICAgIH0se1xyXG4gICAgICBwYWdlSWRFeHQ6IGAke18uY2FtZWxDYXNlKGRhdGEubGFiZWwpfS10YWJgLFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldFB1YmxpY1VybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBtYWluVXJsID0gdXJsLnNwbGl0KCcvY29udGVudCcpLnBvcCgpIHx8ICcnXHJcbiAgICByZXR1cm4gYCR7dGhpcy5lbnZpcm9ubWVudC5jb250ZW50SG9zdH0vJHt0aGlzLmVudmlyb25tZW50LmNvbnRlbnRCdWNrZXR9L2NvbnRlbnQke21haW5Vcmx9YFxyXG4gIH1cclxuXHJcbiAgYWxsRXZlbnREYXRlRm9ybWF0KGRhdGV0aW1lOiBhbnkpIHtcclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShkYXRldGltZSkuZ2V0RGF0ZSgpXHJcbiAgICBjb25zdCB5ZWFyID0gbmV3IERhdGUoZGF0ZXRpbWUpLmdldEZ1bGxZZWFyKClcclxuICAgIGNvbnN0IG1vbnRoID0gbmV3IERhdGUoZGF0ZXRpbWUpLmdldE1vbnRoKClcclxuICAgIGNvbnN0IGhvdXJzID0gbmV3IERhdGUoZGF0ZXRpbWUpLmdldEhvdXJzKClcclxuICAgIGNvbnN0IG1pbnV0ZXMgPSBuZXcgRGF0ZShkYXRldGltZSkuZ2V0TWludXRlcygpXHJcbiAgICBjb25zdCBzZWNvbmRzID0gbmV3IERhdGUoZGF0ZXRpbWUpLmdldFNlY29uZHMoKVxyXG4gICAgY29uc3QgZm9ybWF0ZWREYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCAwKVxyXG4gICAgLy8gbGV0IGZvcm1hdCA9ICdZWVlZLU1NLUREIGhoOm1tIGEnXHJcbiAgICAvLyBpZiAoIXRpbWVBbGxvdykge1xyXG4gICAgY29uc3QgZm9ybWF0ID0gJ1lZWVktTU0tREQnXHJcbiAgICAvLyB9XHJcbiAgICBjb25zdCByZWFkYWJsZURhdGVNb250aCA9IG1vbWVudChmb3JtYXRlZERhdGUpLmZvcm1hdChmb3JtYXQpXHJcbiAgICBjb25zdCBmaW5hbERhdGVUaW1lVmFsdWUgPSBgJHtyZWFkYWJsZURhdGVNb250aH1gXHJcbiAgICByZXR1cm4gZmluYWxEYXRlVGltZVZhbHVlXHJcbiAgfVxyXG5cclxuICBjb21wYXJlRGF0ZShzdGFydERhdGU6IGFueSkge1xyXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKVxyXG5cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpwcmVmZXItdGVtcGxhdGVcclxuICAgIGNvbnN0IGRheSA9ICAoJzAnICsgKG5ldyBEYXRlKCkuZ2V0RGF0ZSgpKSkuc2xpY2UoLTIpXHJcbiAgICBjb25zdCB5ZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLXRlbXBsYXRlXHJcbiAgICBjb25zdCBtb250aCA9ICgnMCcgKyAobm93LmdldE1vbnRoKCkgKyAxKSkuc2xpY2UoLTIpXHJcbiAgICBjb25zdCB0b2RheXNkYXRlID0gYCR7eWVhcn0tJHttb250aH0tJHtkYXl9YFxyXG4gICAgaWYgKHN0YXJ0RGF0ZSA9PT0gdG9kYXlzZGF0ZSkgIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZVxyXG4gIH1cclxuXHJcbiAgY3VzdG9tRGF0ZUZvcm1hdChkYXRlOiBhbnksIHRpbWU6IGFueSkge1xyXG4gICAgY29uc3Qgc3RpbWUgPSB0aW1lLnNwbGl0KCcrJylbMF1cclxuICAgIGNvbnN0IGhvdXIgPSBzdGltZS5zdWJzdHIoMCwgMilcclxuICAgIGNvbnN0IG1pbiA9IHN0aW1lLnN1YnN0cigyLCAzKVxyXG4gICAgcmV0dXJuIGAke2RhdGV9ICR7aG91cn0ke21pbn1gXHJcbiB9XHJcbiBzb3J0SXRlbUJ5VGltZShldmVudHNkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gZXZlbnRzZGF0YS5zb3J0KChhOmFueSwgYjphbnkpPT4ge1xyXG4gICAgY29uc3QgZmlyc3REYXRlOiBhbnkgPSBuZXcgRGF0ZShhLmV2ZW50RGF0ZSlcclxuICAgICAgY29uc3Qgc2Vjb25kRGF0ZTogYW55ID0gbmV3IERhdGUoYi5ldmVudERhdGUpXHJcbiAgICAgIHJldHVybiAgc2Vjb25kRGF0ZSA+IGZpcnN0RGF0ZSAgPyAxIDogLTFcclxuICB9KTtcclxufVxyXG5zb3J0SXRlbUJ5VGltZUFzYyhldmVudHNkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gZXZlbnRzZGF0YS5zb3J0KChhOmFueSwgYjphbnkpPT4ge1xyXG4gICAgY29uc3QgZmlyc3REYXRlOiBhbnkgPSBuZXcgRGF0ZShhLmV2ZW50RGF0ZSlcclxuICAgICAgY29uc3Qgc2Vjb25kRGF0ZTogYW55ID0gbmV3IERhdGUoYi5ldmVudERhdGUpXHJcbiAgICAgIHJldHVybiAgc2Vjb25kRGF0ZSA8IGZpcnN0RGF0ZSAgPyAxIDogLTFcclxuICB9KTtcclxufVxyXG5cclxuXHJcbiBzZXRFdmVudExpc3REYXRhKGV2ZW50T2JqOiBhbnkpIHtcclxuICBpZiAoZXZlbnRPYmogIT09IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy50b2RheXNFdmVudHMgPSBbXVxyXG4gICAgdGhpcy50b2RheXNMaXZlRXZlbnRzID0gW11cclxuICAgIGNvbnN0IGRhdGEgPSBldmVudE9ialxyXG4gICAgbGV0IGlzRXZlbnRMaXZlIDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgICBsZXQgaXNFdmVudFJlY29yZGluZyA6IGJvb2xlYW4gPSBmYWxzZVxyXG4gICAgbGV0IGlzRXZlbnRQYXN0IDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgICBsZXQgaXNFdmVudEZ1dHVyZSA6IGJvb2xlYW4gPSBmYWxzZVxyXG4gICAvLyBjb25zb2xlLmxvZygnc3RyaXAgY29tcCcsIGRhdGEpXHJcbiAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKChpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIFxyXG4gICAgICBpc0V2ZW50UmVjb3JkaW5nID0gZmFsc2VcclxuICAgICAgaXNFdmVudExpdmUgPSBmYWxzZVxyXG4gICAgICBpc0V2ZW50UGFzdCA9IGZhbHNlXHJcbiAgICAgIGlzRXZlbnRGdXR1cmUgPSBmYWxzZVxyXG4gICAgICBjb25zdCBvYmogPSBkYXRhW2luZGV4XVxyXG4gICAgICBjb25zdCBmbG9vciA9IE1hdGguZmxvb3JcclxuICAgICAgY29uc3QgaG91cnMgPSBmbG9vcihvYmouZHVyYXRpb24gLyA2MClcclxuICAgICAgY29uc3QgbWludXRlcyA9IG9iai5kdXJhdGlvbiAlIDYwXHJcbiAgICAgIGNvbnN0IGR1cmF0aW9uID0gKGhvdXJzID09PSAwKSA/ICgobWludXRlcyA9PT0gMCkgPyAnLS0tJyA6IGAke21pbnV0ZXN9IG1pbnV0ZXNgKSA6IChtaW51dGVzID09PSAwKSA/IChob3VycyA9PT0gMSkgP1xyXG4gICAgICAgIGAke2hvdXJzfSBob3VyYCA6IGAke2hvdXJzfSBob3Vyc2AgOiAoaG91cnMgPT09IDEpID8gYCR7aG91cnN9IGhvdXIgJHttaW51dGVzfSBtaW51dGVzYCA6XHJcbiAgICAgICAgYCR7aG91cnN9IGhvdXJzICR7bWludXRlc30gbWludXRlc2BcclxuICAgICAgY29uc3QgY3JlYXRvcmRhdGEgPSBvYmouY3JlYXRvckRldGFpbHMgIT09IHVuZGVmaW5lZCA/IG9iai5jcmVhdG9yRGV0YWlscyA6IFtdXHJcbiAgICAgIGNvbnN0IHN0ciA9IGNyZWF0b3JkYXRhICYmIGNyZWF0b3JkYXRhLmxlbmd0aCA+IDAgPyBjcmVhdG9yZGF0YS5yZXBsYWNlKC9cXFxcL2csICcnKSA6IFtdXHJcbiAgICAgIGNvbnN0IGNyZWF0b3JEZXRhaWxzID0gc3RyICYmIHN0ci5sZW5ndGggPiAwID8gSlNPTi5wYXJzZShzdHIpIDogY3JlYXRvcmRhdGFcclxuXHJcbiAgICAgIGNvbnN0IHN0aW1lID0gb2JqLnN0YXJ0VGltZS5zcGxpdCgnKycpWzBdXHJcbiAgICAgIGNvbnN0IGhvdXIgPSBzdGltZS5zdWJzdHIoMCwgMilcclxuICAgICAgY29uc3QgbWluID0gc3RpbWUuc3Vic3RyKDIsIDMpXHJcbiAgICAgIGNvbnN0IHN0YXJ0dGltZSA9IGAke2hvdXJ9JHttaW59YFxyXG5cclxuICAgICAgY29uc3QgZXRpbWUgPSBvYmouZW5kVGltZS5zcGxpdCgnKycpWzBdXHJcbiAgICAgIGNvbnN0IGVob3VyID0gZXRpbWUuc3Vic3RyKDAsIDIpXHJcbiAgICAgIGNvbnN0IGVtaW4gPSBldGltZS5zdWJzdHIoMiwgMylcclxuICAgICAgY29uc3QgZW5kdGltZSA9IGAke2Vob3VyfSR7ZW1pbn1gXHJcbiAgICAgIGNvbnN0IGV2ZW50RGF0ZSA9IHRoaXMuY3VzdG9tRGF0ZUZvcm1hdChvYmouc3RhcnREYXRlLCBvYmouc3RhcnRUaW1lKVxyXG4gICAgICBjb25zdCBldmVudGVuZERhdGUgPSB0aGlzLmN1c3RvbURhdGVGb3JtYXQob2JqLmVuZERhdGUsIG9iai5lbmRUaW1lKVxyXG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpXHJcbiAgICAgIGNvbnN0IHRvZGF5ID0gbW9tZW50KG5vdykuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tJylcclxuICAgICAgaWYgKG1vbWVudCh0b2RheSkuaXNCZXR3ZWVuKGV2ZW50RGF0ZSwgZXZlbnRlbmREYXRlKSkge1xyXG4gICAgICAgIGlzRXZlbnRSZWNvcmRpbmcgPSBmYWxzZVxyXG4gICAgICAgIGlzRXZlbnRMaXZlID0gdHJ1ZVxyXG4gICAgICAgIGlmICh0b2RheSA+PSBldmVudGVuZERhdGUpIHtcclxuICAgICAgICAgIGlmIChvYmoucmVjb3JkZWRMaW5rcyAmJiBvYmoucmVjb3JkZWRMaW5rcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGlzRXZlbnRSZWNvcmRpbmcgPSB0cnVlXHJcbiAgICAgICAgICAgIGlzRXZlbnRMaXZlID0gZmFsc2VcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodG9kYXkgPj0gZXZlbnRlbmREYXRlKSB7XHJcbiAgICAgICAgaXNFdmVudFJlY29yZGluZyA9IHRydWVcclxuICAgICAgICBpc0V2ZW50TGl2ZSA9IGZhbHNlXHJcbiAgICAgICAgaWYobW9tZW50KHRvZGF5KS5pc0FmdGVyKGV2ZW50ZW5kRGF0ZSkgJiYgbW9tZW50KHRvZGF5KS5pc0FmdGVyKGV2ZW50RGF0ZSkpIHtcclxuICAgICAgICAgIGlzRXZlbnRQYXN0ID0gdHJ1ZVxyXG4gICAgICAgIH0gXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYobW9tZW50KHRvZGF5KS5pc0JlZm9yZShldmVudERhdGUpICYmIG1vbWVudCh0b2RheSkuaXNCZWZvcmUoZXZlbnRlbmREYXRlKSkge1xyXG4gICAgICAgICAgaXNFdmVudEZ1dHVyZSA9IHRydWVcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZXZlbnREYXRhT2JqID0ge1xyXG4gICAgICAgIGV2ZW50RGF0ZSxcclxuICAgICAgICBldmVudGVuZERhdGUsXHJcbiAgICAgICAgaXNFdmVudExpdmUsXHJcbiAgICAgICAgaXNFdmVudEZ1dHVyZSxcclxuICAgICAgICBpc0V2ZW50UGFzdCxcclxuICAgICAgICBpc0V2ZW50UmVjb3JkaW5nLFxyXG4gICAgICAgIGV2ZW50OiBvYmosXHJcbiAgICAgICAgZXZlbnROYW1lOiBvYmoubmFtZSxcclxuICAgICAgICBldmVudFN0YXJ0VGltZTogc3RhcnR0aW1lLFxyXG4gICAgICAgIGV2ZW50RW5kVGltZTogZW5kdGltZSxcclxuICAgICAgICBldmVudFN0YXJ0RGF0ZTogb2JqLnN0YXJ0RGF0ZSxcclxuICAgICAgICBldmVudENyZWF0ZWRPbjogdGhpcy5hbGxFdmVudERhdGVGb3JtYXQob2JqLmNyZWF0ZWRPbiksXHJcbiAgICAgICAgZXZlbnREdXJhdGlvbjogZHVyYXRpb24sXHJcbiAgICAgICAgZXZlbnRqb2luZWQ6IGNyZWF0b3JEZXRhaWxzLmxlbmd0aCxcclxuICAgICAgICBldmVudFRodW1ibmFpbDogb2JqLmFwcEljb24gJiYgKG9iai5hcHBJY29uICE9PSBudWxsIHx8IG9iai5hcHBJY29uICE9PSB1bmRlZmluZWQpID9cclxuICAgICAgICAgIHRoaXMuZ2V0UHVibGljVXJsKG9iai5hcHBJY29uKSA6XHJcbiAgICAgICAgICAnL2Fzc2V0cy9pY29ucy9FdmVudHNfZGVmYXVsdC5wbmcnLFxyXG4gICAgICAgIHBhc3RldmVudDogZmFsc2UsXHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaXNUb2RheSA9IHRoaXMuY29tcGFyZURhdGUob2JqLnN0YXJ0RGF0ZSlcclxuICAgICAgaWYgKGlzVG9kYXkpIHtcclxuICAgICAgICB0aGlzLnRvZGF5c0V2ZW50cy5wdXNoKGV2ZW50RGF0YU9iailcclxuICAgICAgfVxyXG4gICAgICBpZihpc1RvZGF5ICYmIGlzRXZlbnRMaXZlKSB7XHJcbiAgICAgICAgdGhpcy50b2RheXNMaXZlRXZlbnRzLnB1c2goZXZlbnREYXRhT2JqKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMudG9kYXlzTGl2ZUV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWUodGhpcy50b2RheXNMaXZlRXZlbnRzKVxyXG4gICAgdGhpcy50b2RheXNFdmVudHMgPSB0aGlzLmdldFRvZGF5c0V2ZW50cyh0aGlzLnRvZGF5c0V2ZW50cylcclxuICB9XHJcbiAgfVxyXG4gIGdldFRvZGF5c0V2ZW50cyhldmVudERhdGE6IGFueSkge1xyXG4gICAgbGV0IGxpdmVFdmVudHM6IGFueSA9IFtdXHJcbiAgICBsZXQgcGFzdEV2ZW50czogYW55ID0gW11cclxuICAgIGxldCBmdXR1cmVFdmVudHM6IGFueSA9IFtdXHJcblxyXG4gICAgbGl2ZUV2ZW50cyA9IHRoaXMudG9kYXlzTGl2ZUV2ZW50c1xyXG4gICAgcGFzdEV2ZW50cyA9IGV2ZW50RGF0YS5maWx0ZXIoKHBhc3RFdmVudDogYW55KSA9PiBwYXN0RXZlbnQuaXNFdmVudFBhc3QpXHJcbiAgICBmdXR1cmVFdmVudHMgPSBldmVudERhdGEuZmlsdGVyKChmdXR1cmVFdmVudDogYW55KSA9PiBmdXR1cmVFdmVudC5pc0V2ZW50RnV0dXJlKVxyXG4gICAgbGl2ZUV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWVBc2MobGl2ZUV2ZW50cylcclxuICAgIGZ1dHVyZUV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWVBc2MoZnV0dXJlRXZlbnRzKVxyXG4gICAgcGFzdEV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWUocGFzdEV2ZW50cylcclxuICAgIHRoaXMudG9kYXlzRXZlbnRzICA9IFsuLi5saXZlRXZlbnRzLCAuLi5mdXR1cmVFdmVudHMsIC4uLnBhc3RFdmVudHNdXHJcbiAgICBcclxuICAgIHJldHVybiB0aGlzLnRvZGF5c0V2ZW50c1xyXG4gIH1cclxuICBcclxufVxyXG4iXX0=
293
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUVsRCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUE7QUFDdEIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFBOzs7QUFJM0IsTUFBTSxPQUFPLFlBQVk7SUFrQnZCLFlBQ3lCLFdBQWdCLEVBQy9CLFVBQTBCO1FBQTFCLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBbkJwQyxpQkFBWSxHQUFRLEVBQUUsQ0FBQTtRQUN0QixxQkFBZ0IsR0FBUSxFQUFFLENBQUE7UUFDMUIscUJBQWdCLEdBQVEsRUFBRSxDQUFBO1FBRWxCLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUE7UUFDdkQsWUFBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUE7UUFFMUMseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUE7UUFDOUQsbUJBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLENBQUE7UUFFeEQsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUE7UUFDL0Qsb0JBQWUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUE7UUFFMUQsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQTtRQUN6RCxpQkFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMs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UUFDL0MsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUNuRCxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLFVBQVUsQ0FBQyxDQUFBO1FBRXZFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFBO0lBQzlCLENBQUM7Ozs0Q0EvVEUsTUFBTSxTQUFDLGFBQWE7WUFDRCxjQUFjOzs7O1lBdkJyQyxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs0Q0FvQkksTUFBTSxTQUFDLGFBQWE7WUExQmhCLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgV3NFdmVudHMgfSBmcm9tICcuL2V2ZW50Lm1vZGVsJ1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4vdXRpbGl0eS5zZXJ2aWNlJ1xyXG4vKiB0c2xpbnQ6ZGlzYWJsZSovXHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCdcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFdmVudFNlcnZpY2Uge1xyXG4gIHRvZGF5c0V2ZW50czogYW55ID0gW11cclxuICB0b2RheXNMaXZlRXZlbnRzOiBhbnkgPSBbXVxyXG4gIGtleVNwZWFrZXJFdmVudHM6IGFueSA9IFtdXHJcblxyXG4gIHByaXZhdGUgZXZlbnRzU3ViamVjdCA9IG5ldyBTdWJqZWN0PFdzRXZlbnRzLklXc0V2ZW50czxhbnk+PigpXHJcbiAgcHVibGljIGV2ZW50cyQgPSB0aGlzLmV2ZW50c1N1YmplY3QuYXNPYnNlcnZhYmxlKClcclxuXHJcbiAgcHJpdmF0ZSBldmVudHNDaGF0Ym90U3ViamVjdCA9IG5ldyBTdWJqZWN0PFdzRXZlbnRzLklXc0V2ZW50czxhbnk+PigpXHJcbiAgcHVibGljIGNoYXRib3RFdmVudHMkID0gdGhpcy5ldmVudHNDaGF0Ym90U3ViamVjdC5hc09ic2VydmFibGUoKVxyXG5cclxuICBwcml2YXRlIGV2ZW50c0dldFN0YXJ0U3ViamVjdCA9IG5ldyBTdWJqZWN0PFdzRXZlbnRzLklXc0V2ZW50czxhbnk+PigpXHJcbiAgcHVibGljIGdldFN0YXJ0RXZlbnRzJCA9IHRoaXMuZXZlbnRzR2V0U3RhcnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXHJcblxyXG4gIHByaXZhdGUgZXZlbnRzUFJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8V3NFdmVudHMuSVdzRXZlbnRzPGFueT4+KClcclxuICBwdWJsaWMgZ2V0UFJFdmVudHMkID0gdGhpcy5ldmVudHNQUlN1YmplY3QuYXNPYnNlcnZhYmxlKClcclxuXHJcbiAgZW52aXJvbm1lbnQ6IGFueVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBlbnZpcm9ubWVudDogYW55LFxyXG4gICAgcHJpdmF0ZSB1dGlsaXR5U3ZjOiBVdGlsaXR5U2VydmljZSxcclxuICApIHtcclxuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudFxyXG4gICAgLy8gdGhpcy5mb2N1c0NoYW5nZUV2ZW50TGlzdGVuZXIoKVxyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2hFdmVudDxUPihldmVudDogV3NFdmVudHMuSVdzRXZlbnRzPFQ+KSB7XHJcbiAgICBldmVudC5wYWdlQ29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dChldmVudC5wYWdlQ29udGV4dClcclxuICAgIHRoaXMuZXZlbnRzU3ViamVjdC5uZXh0KGV2ZW50KVxyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2hDaGF0Ym90RXZlbnQ8VD4oZXZlbnQ6IFdzRXZlbnRzLklXc0V2ZW50czxUPikge1xyXG4gICAgdGhpcy5ldmVudHNDaGF0Ym90U3ViamVjdC5uZXh0KGV2ZW50KVxyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2hHZXRTdGFydGVkRXZlbnQ8VD4oZXZlbnQ6IFdzRXZlbnRzLklXc0V2ZW50czxUPikge1xyXG4gICAgdGhpcy5ldmVudHNHZXRTdGFydFN1YmplY3QubmV4dChldmVudClcclxuICB9XHJcblxyXG4gIGRpc3BhdGNoUGxhdGZvcm1SYXRpbmdFdmVudDxUPihldmVudDogV3NFdmVudHMuSVdzRXZlbnRzPFQ+KSB7XHJcbiAgICB0aGlzLmV2ZW50c1BSU3ViamVjdC5uZXh0KGV2ZW50KVxyXG4gIH1cclxuXHJcblxyXG4gIC8vIGhlbHBlciBmdW5jdGlvbnNcclxuICByYWlzZUludGVyYWN0VGVsZW1ldHJ5KGVkYXRhOiBXc0V2ZW50cy5JVGVsZW1ldHJ5RWRhdGEsIG9iamVjdDogYW55LCBwYWdlQ29udGV4dD86IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCkge1xyXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50PFdzRXZlbnRzLklXc0V2ZW50VGVsZW1ldHJ5SW50ZXJhY3Q+KHtcclxuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5JbmZvLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZWRhdGEsXHJcbiAgICAgICAgb2JqZWN0LFxyXG4gICAgICAgIHBhZ2VDb250ZXh0OiB0aGlzLmdldENvbnRleHQocGFnZUNvbnRleHQpLFxyXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuSW50ZXJhY3QsXHJcbiAgICAgIH0sXHJcbiAgICAgIGZyb206ICcnLFxyXG4gICAgICB0bzogJ1RlbGVtZXRyeScsXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmFpc2VGZWVkYmFja1RlbGVtZXRyeShlZGF0YTogV3NFdmVudHMuSVRlbGVtZXRyeUVkYXRhLCBvYmplY3Q6IGFueSwgZnJvbT86IHN0cmluZykge1xyXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50PFdzRXZlbnRzLklXc0V2ZW50VGVsZW1ldHJ5SW50ZXJhY3Q+KHtcclxuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5JbmZvLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZWRhdGEsXHJcbiAgICAgICAgb2JqZWN0LFxyXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuRmVlZGJhY2ssXHJcbiAgICAgIH0sXHJcbiAgICAgIGZyb206IGZyb20gfHwgJycsXHJcbiAgICAgIHRvOiAnVGVsZW1ldHJ5JyxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyBSYWlzZSBjdXN0b20gaW1wcmVzc2lvbiBldmVudHMgZWc6b24gdGFiIGNoYW5nZVxyXG4gIHJhaXNlQ3VzdG9tSW1wcmVzc2lvbihvYmplY3Q6IGFueSwgcGFnZUNvbnRleHQ/OiBXc0V2ZW50cy5JVGVsZW1ldHJ5UGFnZUNvbnRleHQpIHtcclxuICAgIHRoaXMuZGlzcGF0Y2hFdmVudDxXc0V2ZW50cy5JV3NFdmVudFRlbGVtZXRyeUltcHJlc3Npb24+KHtcclxuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5JbmZvLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgb2JqZWN0LFxyXG4gICAgICAgIHBhZ2VDb250ZXh0OiB0aGlzLmdldENvbnRleHQocGFnZUNvbnRleHQpLFxyXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuSW1wcmVzc2lvbixcclxuICAgICAgfSxcclxuICAgICAgZnJvbTogJycsXHJcbiAgICAgIHRvOiAnVGVsZW1ldHJ5JyxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyBwcml2YXRlIGZvY3VzQ2hhbmdlRXZlbnRMaXN0ZW5lcigpIHtcclxuICAvLyAgIGZyb21FdmVudCh3aW5kb3csICdmb2N1cycpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgLy8gICAgIHRoaXMucmFpc2VJbnRlcmFjdFRlbGVtZXRyeSgnZm9jdXMnLCAnZ2FpbmVkJywge30pXHJcbiAgLy8gICB9KVxyXG4gIC8vICAgZnJvbUV2ZW50KHdpbmRvdywgJ2JsdXInKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gIC8vICAgICB0aGlzLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoJ2ZvY3VzJywgJ2xvc3QnLCB7fSlcclxuICAvLyAgIH0pXHJcbiAgLy8gfVxyXG5cclxuICAvLyBNZXRob2QgdG8gZ2V0IHRoZSBjb250ZXh0IGluZm9ybWF0aW9uIGFib3V0IHRoZSB0ZWxlbWV0cnkgaW50ZXJhY3QgZXZlbnRcclxuICBwcml2YXRlIGdldENvbnRleHQocGFnZUNvbnRleHQ6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCB8IHVuZGVmaW5lZCk6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCB7XHJcbiAgICBjb25zdCByb3V0ZURhdGFDb250ZXh0ID0gdGhpcy51dGlsaXR5U3ZjLnJvdXRlRGF0YVxyXG4gICAgLy8gaW5pdGlhbGl6ZSB3aXRoIHRoZSByb3V0ZSBkYXRhIGNvbmZpZ3VyYXRpb24gLSBjdXJyZW50IHJvdXRlJ3MgcGFnZUlEICYgbW9kdWxlXHJcbiAgICBjb25zdCBmaW5hbENvbnRleHQ6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCA9IHtcclxuICAgICAgcGFnZUlkOiByb3V0ZURhdGFDb250ZXh0LnBhZ2VJZCxcclxuICAgICAgbW9kdWxlOiByb3V0ZURhdGFDb250ZXh0Lm1vZHVsZSxcclxuICAgIH1cclxuICAgIGlmIChwYWdlQ29udGV4dCkge1xyXG4gICAgICAvLyBpZiBjb250ZXh0IGhhcyBwYWdlSWRFeHQsIGFwcGVuZCBpdCB0byB0aGUgcm91dGUncyBwYWdlSWRcclxuICAgICAgaWYgKHBhZ2VDb250ZXh0LnBhZ2VJZEV4dCkge1xyXG4gICAgICAgIGZpbmFsQ29udGV4dC5wYWdlSWQgPSBgJHtyb3V0ZURhdGFDb250ZXh0LnBhZ2VJZH1fJHtwYWdlQ29udGV4dC5wYWdlSWRFeHR9YFxyXG4gICAgICB9IGVsc2UgaWYgKHBhZ2VDb250ZXh0LnBhZ2VJZCkge1xyXG4gICAgICAgIC8vIGVsc2UgY29udGV4dCBoYXMgcGFnZUlkLCBvdmVycmlkZSBpdCB0byB0aGUgZmluYWwgcGFnZUlEXHJcbiAgICAgICAgZmluYWxDb250ZXh0LnBhZ2VJZCA9IHBhZ2VDb250ZXh0LnBhZ2VJZFxyXG4gICAgICB9XHJcbiAgICAgIC8vIGlmIGNvbnRleHQgaGFzIG1vZHVsZSwgb3ZlcnJpZGUgaXQgdG8gdGhlIGZpbmFsIG1vZHVsZVxyXG4gICAgICBpZiAocGFnZUNvbnRleHQubW9kdWxlKSB7XHJcbiAgICAgICAgZmluYWxDb250ZXh0Lm1vZHVsZSA9IHBhZ2VDb250ZXh0Lm1vZHVsZVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZpbmFsQ29udGV4dFxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVRhYlRlbGVtZXRyeShzdWJUeXBlOiBzdHJpbmcsIGRhdGE6IFdzRXZlbnRzLklUZWxlbWV0cnlUYWJEYXRhLCBvYmplY3Q/OiBhbnkpIHtcclxuICAgIC8vIHJhaXNlIGEgdGFiIGNsaWNrIGludGVyYWN0IGV2ZW50XHJcbiAgICB0aGlzLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoXHJcbiAgICAgIHtcclxuICAgICAgICBzdWJUeXBlLFxyXG4gICAgICAgIHR5cGU6IFdzRXZlbnRzLkVudW1JbnRlcmFjdFR5cGVzLkNMSUNLLFxyXG4gICAgICAgIGlkOiBgJHtfLmNhbWVsQ2FzZShkYXRhLmxhYmVsKX0tdGFiYCxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIC8vIGNvbnRleHQ6IHtcclxuICAgICAgICAvLyAgIHBvc2l0aW9uOiBkYXRhLmluZGV4LFxyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgICAgLi4ub2JqZWN0XHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwYWdlSWRFeHQ6IGAke18uY2FtZWxDYXNlKGRhdGEubGFiZWwpfS10YWJgLFxyXG4gICAgICB9KVxyXG5cclxuICAgIC8vIHJhaXNlIGEgdGFiIGNsaWNrIGltcHJlc3Npb24gZXZlbnRcclxuICAgIHRoaXMucmFpc2VDdXN0b21JbXByZXNzaW9uKHtcclxuICAgICAgY29udGV4dDoge1xyXG4gICAgICAgIHBvc2l0aW9uOiBkYXRhLmluZGV4LFxyXG4gICAgICB9LFxyXG4gICAgICAuLi5vYmplY3RcclxuICAgIH0sIHtcclxuICAgICAgcGFnZUlkRXh0OiBgJHtfLmNhbWVsQ2FzZShkYXRhLmxhYmVsKX0tdGFiYCxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRQdWJsaWNVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbWFpblVybCA9IHVybC5zcGxpdCgnL2NvbnRlbnQnKS5wb3AoKSB8fCAnJ1xyXG4gICAgcmV0dXJuIGAke3RoaXMuZW52aXJvbm1lbnQuY29udGVudEhvc3R9LyR7dGhpcy5lbnZpcm9ubWVudC5jb250ZW50QnVja2V0fS9jb250ZW50JHttYWluVXJsfWBcclxuICB9XHJcblxyXG4gIGFsbEV2ZW50RGF0ZUZvcm1hdChkYXRldGltZTogYW55KSB7XHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoZGF0ZXRpbWUpLmdldERhdGUoKVxyXG4gICAgY29uc3QgeWVhciA9IG5ldyBEYXRlKGRhdGV0aW1lKS5nZXRGdWxsWWVhcigpXHJcbiAgICBjb25zdCBtb250aCA9IG5ldyBEYXRlKGRhdGV0aW1lKS5nZXRNb250aCgpXHJcbiAgICBjb25zdCBob3VycyA9IG5ldyBEYXRlKGRhdGV0aW1lKS5nZXRIb3VycygpXHJcbiAgICBjb25zdCBtaW51dGVzID0gbmV3IERhdGUoZGF0ZXRpbWUpLmdldE1pbnV0ZXMoKVxyXG4gICAgY29uc3Qgc2Vjb25kcyA9IG5ldyBEYXRlKGRhdGV0aW1lKS5nZXRTZWNvbmRzKClcclxuICAgIGNvbnN0IGZvcm1hdGVkRGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcywgMClcclxuICAgIC8vIGxldCBmb3JtYXQgPSAnWVlZWS1NTS1ERCBoaDptbSBhJ1xyXG4gICAgLy8gaWYgKCF0aW1lQWxsb3cpIHtcclxuICAgIGNvbnN0IGZvcm1hdCA9ICdZWVlZLU1NLUREJ1xyXG4gICAgLy8gfVxyXG4gICAgY29uc3QgcmVhZGFibGVEYXRlTW9udGggPSBtb21lbnQoZm9ybWF0ZWREYXRlKS5mb3JtYXQoZm9ybWF0KVxyXG4gICAgY29uc3QgZmluYWxEYXRlVGltZVZhbHVlID0gYCR7cmVhZGFibGVEYXRlTW9udGh9YFxyXG4gICAgcmV0dXJuIGZpbmFsRGF0ZVRpbWVWYWx1ZVxyXG4gIH1cclxuXHJcbiAgY29tcGFyZURhdGUoc3RhcnREYXRlOiBhbnkpIHtcclxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKClcclxuXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLXRlbXBsYXRlXHJcbiAgICBjb25zdCBkYXkgPSAoJzAnICsgKG5ldyBEYXRlKCkuZ2V0RGF0ZSgpKSkuc2xpY2UoLTIpXHJcbiAgICBjb25zdCB5ZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLXRlbXBsYXRlXHJcbiAgICBjb25zdCBtb250aCA9ICgnMCcgKyAobm93LmdldE1vbnRoKCkgKyAxKSkuc2xpY2UoLTIpXHJcbiAgICBjb25zdCB0b2RheXNkYXRlID0gYCR7eWVhcn0tJHttb250aH0tJHtkYXl9YFxyXG4gICAgaWYgKHN0YXJ0RGF0ZSA9PT0gdG9kYXlzZGF0ZSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxuICBjdXN0b21EYXRlRm9ybWF0KGRhdGU6IGFueSwgdGltZTogYW55KSB7XHJcbiAgICBjb25zdCBzdGltZSA9IHRpbWUuc3BsaXQoJysnKVswXVxyXG4gICAgY29uc3QgaG91ciA9IHN0aW1lLnN1YnN0cigwLCAyKVxyXG4gICAgY29uc3QgbWluID0gc3RpbWUuc3Vic3RyKDIsIDMpXHJcbiAgICByZXR1cm4gYCR7ZGF0ZX0gJHtob3VyfSR7bWlufWBcclxuICB9XHJcbiAgc29ydEl0ZW1CeVRpbWUoZXZlbnRzZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gZXZlbnRzZGF0YS5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBmaXJzdERhdGU6IGFueSA9IG5ldyBEYXRlKGEuZXZlbnREYXRlKVxyXG4gICAgICBjb25zdCBzZWNvbmREYXRlOiBhbnkgPSBuZXcgRGF0ZShiLmV2ZW50RGF0ZSlcclxuICAgICAgcmV0dXJuIHNlY29uZERhdGUgPiBmaXJzdERhdGUgPyAxIDogLTFcclxuICAgIH0pXHJcbiAgfVxyXG4gIHNvcnRJdGVtQnlUaW1lQXNjKGV2ZW50c2RhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIGV2ZW50c2RhdGEuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgZmlyc3REYXRlOiBhbnkgPSBuZXcgRGF0ZShhLmV2ZW50RGF0ZSlcclxuICAgICAgY29uc3Qgc2Vjb25kRGF0ZTogYW55ID0gbmV3IERhdGUoYi5ldmVudERhdGUpXHJcbiAgICAgIHJldHVybiBzZWNvbmREYXRlIDwgZmlyc3REYXRlID8gMSA6IC0xXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcblxyXG4gIHNldEV2ZW50TGlzdERhdGEoZXZlbnRPYmo6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50T2JqICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy50b2RheXNFdmVudHMgPSBbXVxyXG4gICAgICB0aGlzLnRvZGF5c0xpdmVFdmVudHMgPSBbXVxyXG4gICAgICB0aGlzLmtleVNwZWFrZXJFdmVudHMgPSBbXVxyXG4gICAgICBjb25zdCBkYXRhID0gZXZlbnRPYmpcclxuICAgICAgbGV0IGlzRXZlbnRMaXZlOiBib29sZWFuID0gZmFsc2VcclxuICAgICAgbGV0IGlzRXZlbnRSZWNvcmRpbmc6IGJvb2xlYW4gPSBmYWxzZVxyXG4gICAgICBsZXQgaXNFdmVudFBhc3Q6IGJvb2xlYW4gPSBmYWxzZVxyXG4gICAgICBsZXQgaXNFdmVudEZ1dHVyZTogYm9vbGVhbiA9IGZhbHNlXHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdzdHJpcCBjb21wJywgZGF0YSlcclxuICAgICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaCgoaW5kZXg6IGFueSkgPT4ge1xyXG5cclxuICAgICAgICBpc0V2ZW50UmVjb3JkaW5nID0gZmFsc2VcclxuICAgICAgICBpc0V2ZW50TGl2ZSA9IGZhbHNlXHJcbiAgICAgICAgaXNFdmVudFBhc3QgPSBmYWxzZVxyXG4gICAgICAgIGlzRXZlbnRGdXR1cmUgPSBmYWxzZVxyXG4gICAgICAgIGNvbnN0IG9iaiA9IGRhdGFbaW5kZXhdXHJcbiAgICAgICAgY29uc3QgZmxvb3IgPSBNYXRoLmZsb29yXHJcbiAgICAgICAgY29uc3QgaG91cnMgPSBmbG9vcihvYmouZHVyYXRpb24gLyA2MClcclxuICAgICAgICBjb25zdCBtaW51dGVzID0gb2JqLmR1cmF0aW9uICUgNjBcclxuICAgICAgICBjb25zdCBkdXJhdGlvbiA9IChob3VycyA9PT0gMCkgPyAoKG1pbnV0ZXMgPT09IDApID8gJy0tLScgOiBgJHttaW51dGVzfSBtaW51dGVzYCkgOiAobWludXRlcyA9PT0gMCkgPyAoaG91cnMgPT09IDEpID9cclxuICAgICAgICAgIGAke2hvdXJzfSBob3VyYCA6IGAke2hvdXJzfSBob3Vyc2AgOiAoaG91cnMgPT09IDEpID8gYCR7aG91cnN9IGhvdXIgJHttaW51dGVzfSBtaW51dGVzYCA6XHJcbiAgICAgICAgICBgJHtob3Vyc30gaG91cnMgJHttaW51dGVzfSBtaW51dGVzYFxyXG4gICAgICAgIGNvbnN0IGNyZWF0b3JkYXRhID0gb2JqLmNyZWF0b3JEZXRhaWxzICE9PSB1bmRlZmluZWQgPyBvYmouY3JlYXRvckRldGFpbHMgOiBbXVxyXG4gICAgICAgIGNvbnN0IHN0ciA9IGNyZWF0b3JkYXRhICYmIGNyZWF0b3JkYXRhLmxlbmd0aCA+IDAgPyBjcmVhdG9yZGF0YS5yZXBsYWNlKC9cXFxcL2csICcnKSA6IFtdXHJcbiAgICAgICAgY29uc3QgY3JlYXRvckRldGFpbHMgPSBzdHIgJiYgc3RyLmxlbmd0aCA+IDAgPyBKU09OLnBhcnNlKHN0cikgOiBjcmVhdG9yZGF0YVxyXG5cclxuICAgICAgICBjb25zdCBzdGltZSA9IG9iai5zdGFydFRpbWUuc3BsaXQoJysnKVswXVxyXG4gICAgICAgIGNvbnN0IGhvdXIgPSBzdGltZS5zdWJzdHIoMCwgMilcclxuICAgICAgICBjb25zdCBtaW4gPSBzdGltZS5zdWJzdHIoMiwgMylcclxuICAgICAgICBjb25zdCBzdGFydHRpbWUgPSBgJHtob3VyfSR7bWlufWBcclxuXHJcbiAgICAgICAgY29uc3QgZXRpbWUgPSBvYmouZW5kVGltZS5zcGxpdCgnKycpWzBdXHJcbiAgICAgICAgY29uc3QgZWhvdXIgPSBldGltZS5zdWJzdHIoMCwgMilcclxuICAgICAgICBjb25zdCBlbWluID0gZXRpbWUuc3Vic3RyKDIsIDMpXHJcbiAgICAgICAgY29uc3QgZW5kdGltZSA9IGAke2Vob3VyfSR7ZW1pbn1gXHJcbiAgICAgICAgY29uc3QgZXZlbnREYXRlID0gdGhpcy5jdXN0b21EYXRlRm9ybWF0KG9iai5zdGFydERhdGUsIG9iai5zdGFydFRpbWUpXHJcbiAgICAgICAgY29uc3QgZXZlbnRlbmREYXRlID0gdGhpcy5jdXN0b21EYXRlRm9ybWF0KG9iai5lbmREYXRlLCBvYmouZW5kVGltZSlcclxuICAgICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpXHJcbiAgICAgICAgY29uc3QgdG9kYXkgPSBtb21lbnQobm93KS5mb3JtYXQoJ1lZWVktTU0tREQgSEg6bW0nKVxyXG4gICAgICAgIGlmIChtb21lbnQodG9kYXkpLmlzQmV0d2VlbihldmVudERhdGUsIGV2ZW50ZW5kRGF0ZSkpIHtcclxuICAgICAgICAgIGlzRXZlbnRSZWNvcmRpbmcgPSBmYWxzZVxyXG4gICAgICAgICAgaXNFdmVudExpdmUgPSB0cnVlXHJcbiAgICAgICAgICBpZiAodG9kYXkgPj0gZXZlbnRlbmREYXRlKSB7XHJcbiAgICAgICAgICAgIGlmIChvYmoucmVjb3JkZWRMaW5rcyAmJiBvYmoucmVjb3JkZWRMaW5rcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgaXNFdmVudFJlY29yZGluZyA9IHRydWVcclxuICAgICAgICAgICAgICBpc0V2ZW50TGl2ZSA9IGZhbHNlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKHRvZGF5ID49IGV2ZW50ZW5kRGF0ZSkge1xyXG4gICAgICAgICAgaXNFdmVudFJlY29yZGluZyA9IHRydWVcclxuICAgICAgICAgIGlzRXZlbnRMaXZlID0gZmFsc2VcclxuICAgICAgICAgIGlmIChtb21lbnQodG9kYXkpLmlzQWZ0ZXIoZXZlbnRlbmREYXRlKSAmJiBtb21lbnQodG9kYXkpLmlzQWZ0ZXIoZXZlbnREYXRlKSkge1xyXG4gICAgICAgICAgICBpc0V2ZW50UGFzdCA9IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKG1vbWVudCh0b2RheSkuaXNCZWZvcmUoZXZlbnREYXRlKSAmJiBtb21lbnQodG9kYXkpLmlzQmVmb3JlKGV2ZW50ZW5kRGF0ZSkpIHtcclxuICAgICAgICAgICAgaXNFdmVudEZ1dHVyZSA9IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZXZlbnREYXRhT2JqID0ge1xyXG4gICAgICAgICAgZXZlbnREYXRlLFxyXG4gICAgICAgICAgZXZlbnRlbmREYXRlLFxyXG4gICAgICAgICAgaXNFdmVudExpdmUsXHJcbiAgICAgICAgICBpc0V2ZW50RnV0dXJlLFxyXG4gICAgICAgICAgaXNFdmVudFBhc3QsXHJcbiAgICAgICAgICBpc0V2ZW50UmVjb3JkaW5nLFxyXG4gICAgICAgICAgZXZlbnQ6IG9iaixcclxuICAgICAgICAgIGV2ZW50TmFtZTogb2JqLm5hbWUsXHJcbiAgICAgICAgICBldmVudFN0YXJ0VGltZTogc3RhcnR0aW1lLFxyXG4gICAgICAgICAgZXZlbnRFbmRUaW1lOiBlbmR0aW1lLFxyXG4gICAgICAgICAgZXZlbnRTdGFydERhdGU6IG9iai5zdGFydERhdGUsXHJcbiAgICAgICAgICBldmVudENyZWF0ZWRPbjogdGhpcy5hbGxFdmVudERhdGVGb3JtYXQob2JqLmNyZWF0ZWRPbiksXHJcbiAgICAgICAgICBldmVudER1cmF0aW9uOiBkdXJhdGlvbixcclxuICAgICAgICAgIGV2ZW50am9pbmVkOiBjcmVhdG9yRGV0YWlscy5sZW5ndGgsXHJcbiAgICAgICAgICBldmVudFRodW1ibmFpbDogb2JqLmFwcEljb24gJiYgKG9iai5hcHBJY29uICE9PSBudWxsIHx8IG9iai5hcHBJY29uICE9PSB1bmRlZmluZWQpID9cclxuICAgICAgICAgICAgdGhpcy5nZXRQdWJsaWNVcmwob2JqLmFwcEljb24pIDpcclxuICAgICAgICAgICAgJy9hc3NldHMvaWNvbnMvRXZlbnRzX2RlZmF1bHQucG5nJyxcclxuICAgICAgICAgIHBhc3RldmVudDogZmFsc2UsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGlzVG9kYXkgPSB0aGlzLmNvbXBhcmVEYXRlKG9iai5zdGFydERhdGUpXHJcbiAgICAgICAgaWYgKGlzVG9kYXkpIHtcclxuICAgICAgICAgIHRoaXMudG9kYXlzRXZlbnRzLnB1c2goZXZlbnREYXRhT2JqKVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaXNUb2RheSAmJiBpc0V2ZW50TGl2ZSkge1xyXG4gICAgICAgICAgdGhpcy50b2RheXNMaXZlRXZlbnRzLnB1c2goZXZlbnREYXRhT2JqKVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmtleVNwZWFrZXJFdmVudHMucHVzaChldmVudERhdGFPYmopXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICB0aGlzLnRvZGF5c0xpdmVFdmVudHMgPSB0aGlzLnNvcnRJdGVtQnlUaW1lKHRoaXMudG9kYXlzTGl2ZUV2ZW50cylcclxuICAgICAgdGhpcy5rZXlTcGVha2VyRXZlbnRzID0gdGhpcy5nZXRLZXlTcGVha2VyRXZlbnRzKHRoaXMua2V5U3BlYWtlckV2ZW50cylcclxuICAgICAgdGhpcy50b2RheXNFdmVudHMgPSB0aGlzLmdldFRvZGF5c0V2ZW50cyh0aGlzLnRvZGF5c0V2ZW50cylcclxuXHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFRvZGF5c0V2ZW50cyhldmVudERhdGE6IGFueSkge1xyXG4gICAgbGV0IGxpdmVFdmVudHM6IGFueSA9IFtdXHJcbiAgICBsZXQgcGFzdEV2ZW50czogYW55ID0gW11cclxuICAgIGxldCBmdXR1cmVFdmVudHM6IGFueSA9IFtdXHJcblxyXG4gICAgbGl2ZUV2ZW50cyA9IHRoaXMudG9kYXlzTGl2ZUV2ZW50c1xyXG4gICAgcGFzdEV2ZW50cyA9IGV2ZW50RGF0YS5maWx0ZXIoKHBhc3RFdmVudDogYW55KSA9PiBwYXN0RXZlbnQuaXNFdmVudFBhc3QpXHJcbiAgICBmdXR1cmVFdmVudHMgPSBldmVudERhdGEuZmlsdGVyKChmdXR1cmVFdmVudDogYW55KSA9PiBmdXR1cmVFdmVudC5pc0V2ZW50RnV0dXJlKVxyXG4gICAgbGl2ZUV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWVBc2MobGl2ZUV2ZW50cylcclxuICAgIGZ1dHVyZUV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWVBc2MoZnV0dXJlRXZlbnRzKVxyXG4gICAgcGFzdEV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWUocGFzdEV2ZW50cylcclxuICAgIHRoaXMudG9kYXlzRXZlbnRzID0gWy4uLmxpdmVFdmVudHMsIC4uLmZ1dHVyZUV2ZW50cywgLi4ucGFzdEV2ZW50c11cclxuXHJcbiAgICByZXR1cm4gdGhpcy50b2RheXNFdmVudHNcclxuICB9XHJcblxyXG4gIGdldEtleVNwZWFrZXJFdmVudHMoZXZlbnREYXRhOiBhbnkpIHtcclxuICAgIGxldCBsaXZlRXZlbnRzOiBhbnkgPSBbXVxyXG4gICAgbGV0IHBhc3RFdmVudHM6IGFueSA9IFtdXHJcbiAgICBsZXQgZnV0dXJlRXZlbnRzOiBhbnkgPSBbXVxyXG5cclxuICAgIGxpdmVFdmVudHMgPSB0aGlzLnRvZGF5c0xpdmVFdmVudHNcclxuICAgIHBhc3RFdmVudHMgPSBldmVudERhdGEuZmlsdGVyKChwYXN0RXZlbnQ6IGFueSkgPT4gcGFzdEV2ZW50LmlzRXZlbnRQYXN0KVxyXG4gICAgZnV0dXJlRXZlbnRzID0gZXZlbnREYXRhLmZpbHRlcigoZnV0dXJlRXZlbnQ6IGFueSkgPT4gZnV0dXJlRXZlbnQuaXNFdmVudEZ1dHVyZSlcclxuICAgIGxpdmVFdmVudHMgPSB0aGlzLnNvcnRJdGVtQnlUaW1lQXNjKGxpdmVFdmVudHMpXHJcbiAgICBmdXR1cmVFdmVudHMgPSB0aGlzLnNvcnRJdGVtQnlUaW1lQXNjKGZ1dHVyZUV2ZW50cylcclxuICAgIHBhc3RFdmVudHMgPSB0aGlzLnNvcnRJdGVtQnlUaW1lKHBhc3RFdmVudHMpXHJcbiAgICB0aGlzLmtleVNwZWFrZXJFdmVudHMgPSBbLi4ubGl2ZUV2ZW50cywgLi4uZnV0dXJlRXZlbnRzLCAuLi5wYXN0RXZlbnRzXVxyXG5cclxuICAgIHJldHVybiB0aGlzLmtleVNwZWFrZXJFdmVudHNcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -9,7 +9,7 @@ export class LoggerService {
9
9
  this.consoleInfo = console.info;
10
10
  this.consoleLog = console.log;
11
11
  this.consoleWarn = console.warn;
12
- this.noConsole = (() => { });
12
+ this.noConsole = () => { };
13
13
  }
14
14
  get error() {
15
15
  return this.consoleError;
@@ -27,14 +27,18 @@ export class LoggerService {
27
27
  if (this.configSvc.isProduction) {
28
28
  return;
29
29
  }
30
- const noConsoleWithError = (() => {
30
+ const noConsoleWithError = () => {
31
31
  throw new Error('Console Functions Usage Are Not Allowed.');
32
- });
32
+ };
33
33
  console.warn = noConsoleWithError;
34
34
  console.info = noConsoleWithError;
35
35
  console.error = noConsoleWithError;
36
36
  }
37
37
  }
38
+ LoggerService.ctorParameters = () => [
39
+ { type: ConfigurationsService }
40
+ ];
41
+ LoggerService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LoggerService_Factory() { return new LoggerService(i0.ɵɵinject(i1.ConfigurationsService)); }, token: LoggerService, providedIn: "root" });
38
42
  LoggerService.decorators = [
39
43
  { type: Injectable, args: [{
40
44
  providedIn: 'root',
@@ -43,13 +47,4 @@ LoggerService.decorators = [
43
47
  LoggerService.ctorParameters = () => [
44
48
  { type: ConfigurationsService }
45
49
  ];
46
- /** @nocollapse */ LoggerService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LoggerService_Factory() { return new LoggerService(i0.ɵɵinject(i1.ConfigurationsService)); }, token: LoggerService, providedIn: "root" });
47
- if (false) {
48
- LoggerService.prototype.consoleError;
49
- LoggerService.prototype.consoleInfo;
50
- LoggerService.prototype.consoleLog;
51
- LoggerService.prototype.consoleWarn;
52
- LoggerService.prototype.noConsole;
53
- LoggerService.prototype.configSvc;
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBOzs7QUFNaEUsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFBb0IsU0FBZ0M7UUFBaEMsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFFNUMsaUJBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1FBQzVCLGdCQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQTtRQUMxQixlQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQTtRQUN4QixnQkFBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7UUFDMUIsY0FBUyxJQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBQTtJQU5lLENBQUM7SUFRekQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7SUFDRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFBO0lBQ3hFLENBQUM7SUFDRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFBO0lBQ3ZFLENBQUM7SUFDRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFBO0lBQ3hFLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtZQUMvQixPQUFNO1NBQ1A7Y0FDSyxrQkFBa0IsSUFBZSxHQUFHLEVBQUU7WUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFBO1FBQzdELENBQUMsQ0FBQTtRQUVELE9BQU8sQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUE7UUFDakMsT0FBTyxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQTtRQUNqQyxPQUFPLENBQUMsS0FBSyxHQUFHLGtCQUFrQixDQUFBO0lBQ3BDLENBQUM7OztZQXBDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUxRLHFCQUFxQjs7OztJQVM1QixxQ0FBb0M7SUFDcEMsb0NBQWtDO0lBQ2xDLG1DQUFnQztJQUNoQyxvQ0FBa0M7SUFDbEMsa0NBQXlDO0lBTjdCLGtDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOm5vLWNvbnNvbGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMuc2VydmljZSdcclxuXHJcbnR5cGUgY29uc29sZUZ1biA9ICguLi5hcmdzOiBhbnkpID0+IHZvaWRcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2dlclNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UpIHsgfVxyXG5cclxuICBwcml2YXRlIGNvbnNvbGVFcnJvciA9IGNvbnNvbGUuZXJyb3JcclxuICBwcml2YXRlIGNvbnNvbGVJbmZvID0gY29uc29sZS5pbmZvXHJcbiAgcHJpdmF0ZSBjb25zb2xlTG9nID0gY29uc29sZS5sb2dcclxuICBwcml2YXRlIGNvbnNvbGVXYXJuID0gY29uc29sZS53YXJuXHJcbiAgcHJpdmF0ZSBub0NvbnNvbGU6IGNvbnNvbGVGdW4gPSAoKSA9PiB7IH1cclxuXHJcbiAgZ2V0IGVycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uc29sZUVycm9yXHJcbiAgfVxyXG4gIGdldCBpbmZvKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU3ZjLmlzUHJvZHVjdGlvbiA/IHRoaXMubm9Db25zb2xlIDogdGhpcy5jb25zb2xlSW5mb1xyXG4gIH1cclxuICBnZXQgbG9nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU3ZjLmlzUHJvZHVjdGlvbiA/IHRoaXMubm9Db25zb2xlIDogdGhpcy5jb25zb2xlTG9nXHJcbiAgfVxyXG4gIGdldCB3YXJuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU3ZjLmlzUHJvZHVjdGlvbiA/IHRoaXMubm9Db25zb2xlIDogdGhpcy5jb25zb2xlV2FyblxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlQ29uc29sZUFjY2VzcygpIHtcclxuICAgIGlmICh0aGlzLmNvbmZpZ1N2Yy5pc1Byb2R1Y3Rpb24pIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICBjb25zdCBub0NvbnNvbGVXaXRoRXJyb3I6IGNvbnNvbGVGdW4gPSAoKSA9PiB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29uc29sZSBGdW5jdGlvbnMgVXNhZ2UgQXJlIE5vdCBBbGxvd2VkLicpXHJcbiAgICB9XHJcbiAgICAvLyBjb25zb2xlLmxvZyA9IG5vQ29uc29sZVdpdGhFcnJvclxyXG4gICAgY29uc29sZS53YXJuID0gbm9Db25zb2xlV2l0aEVycm9yXHJcbiAgICBjb25zb2xlLmluZm8gPSBub0NvbnNvbGVXaXRoRXJyb3JcclxuICAgIGNvbnNvbGUuZXJyb3IgPSBub0NvbnNvbGVXaXRoRXJyb3JcclxuICB9XHJcbn1cclxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBOzs7QUFNaEUsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFBb0IsU0FBZ0M7UUFBaEMsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFFNUMsaUJBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1FBQzVCLGdCQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQTtRQUMxQixlQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQTtRQUN4QixnQkFBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7UUFDMUIsY0FBUyxHQUFlLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQU5lLENBQUM7SUFRekQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7SUFDRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFBO0lBQ3hFLENBQUM7SUFDRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFBO0lBQ3ZFLENBQUM7SUFDRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFBO0lBQ3hFLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtZQUMvQixPQUFNO1NBQ1A7UUFDRCxNQUFNLGtCQUFrQixHQUFlLEdBQUcsRUFBRTtZQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUE7UUFDN0QsQ0FBQyxDQUFBO1FBRUQsT0FBTyxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQTtRQUNqQyxPQUFPLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFBO1FBQ2pDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUE7SUFDcEMsQ0FBQzs7O1lBaEM4QixxQkFBcUI7Ozs7WUFKckQsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFMUSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTpuby1jb25zb2xlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnXHJcblxyXG50eXBlIGNvbnNvbGVGdW4gPSAoLi4uYXJnczogYW55KSA9PiB2b2lkXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dnZXJTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHJpdmF0ZSBjb25zb2xlRXJyb3IgPSBjb25zb2xlLmVycm9yXHJcbiAgcHJpdmF0ZSBjb25zb2xlSW5mbyA9IGNvbnNvbGUuaW5mb1xyXG4gIHByaXZhdGUgY29uc29sZUxvZyA9IGNvbnNvbGUubG9nXHJcbiAgcHJpdmF0ZSBjb25zb2xlV2FybiA9IGNvbnNvbGUud2FyblxyXG4gIHByaXZhdGUgbm9Db25zb2xlOiBjb25zb2xlRnVuID0gKCkgPT4geyB9XHJcblxyXG4gIGdldCBlcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnNvbGVFcnJvclxyXG4gIH1cclxuICBnZXQgaW5mbygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N2Yy5pc1Byb2R1Y3Rpb24gPyB0aGlzLm5vQ29uc29sZSA6IHRoaXMuY29uc29sZUluZm9cclxuICB9XHJcbiAgZ2V0IGxvZygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N2Yy5pc1Byb2R1Y3Rpb24gPyB0aGlzLm5vQ29uc29sZSA6IHRoaXMuY29uc29sZUxvZ1xyXG4gIH1cclxuICBnZXQgd2FybigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N2Yy5pc1Byb2R1Y3Rpb24gPyB0aGlzLm5vQ29uc29sZSA6IHRoaXMuY29uc29sZVdhcm5cclxuICB9XHJcblxyXG4gIHJlbW92ZUNvbnNvbGVBY2Nlc3MoKSB7XHJcbiAgICBpZiAodGhpcy5jb25maWdTdmMuaXNQcm9kdWN0aW9uKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgY29uc3Qgbm9Db25zb2xlV2l0aEVycm9yOiBjb25zb2xlRnVuID0gKCkgPT4ge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbnNvbGUgRnVuY3Rpb25zIFVzYWdlIEFyZSBOb3QgQWxsb3dlZC4nKVxyXG4gICAgfVxyXG4gICAgLy8gY29uc29sZS5sb2cgPSBub0NvbnNvbGVXaXRoRXJyb3JcclxuICAgIGNvbnNvbGUud2FybiA9IG5vQ29uc29sZVdpdGhFcnJvclxyXG4gICAgY29uc29sZS5pbmZvID0gbm9Db25zb2xlV2l0aEVycm9yXHJcbiAgICBjb25zb2xlLmVycm9yID0gbm9Db25zb2xlV2l0aEVycm9yXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,8 +1,2 @@
1
- export function IWsMsTokenModelResponse() { }
2
- if (false) {
3
- IWsMsTokenModelResponse.prototype.accessToken;
4
- IWsMsTokenModelResponse.prototype.expiresOn;
5
- IWsMsTokenModelResponse.prototype.resource;
6
- IWsMsTokenModelResponse.prototype.tokenType;
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXMtb2ZmaWNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbXMtb2ZmaWNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZDQUtDOztJQUpDLDhDQUFvQjtJQUNwQiw0Q0FBa0I7SUFDbEIsMkNBQWlCO0lBQ2pCLDRDQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVdzTXNUb2tlbk1vZGVsUmVzcG9uc2Uge1xyXG4gIGFjY2Vzc1Rva2VuPzogc3RyaW5nXHJcbiAgZXhwaXJlc09uPzogc3RyaW5nXHJcbiAgcmVzb3VyY2U/OiBzdHJpbmdcclxuICB0b2tlblR5cGU/OiBzdHJpbmdcclxufVxyXG4iXX0=
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXMtb2ZmaWNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbXMtb2ZmaWNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElXc01zVG9rZW5Nb2RlbFJlc3BvbnNlIHtcclxuICBhY2Nlc3NUb2tlbj86IHN0cmluZ1xyXG4gIGV4cGlyZXNPbj86IHN0cmluZ1xyXG4gIHJlc291cmNlPzogc3RyaW5nXHJcbiAgdG9rZW5UeXBlPzogc3RyaW5nXHJcbn1cclxuIl19
@@ -60,11 +60,11 @@ export class MultilingualTranslationsService {
60
60
  let nlabel = label;
61
61
  nlabel = nlabel.toLowerCase();
62
62
  const sl = nlabel.split(' ');
63
- sl.forEach(((w, index) => {
63
+ sl.forEach((w, index) => {
64
64
  if (index !== 0) {
65
65
  sl[index] = w[0].toUpperCase() + w.slice(1);
66
66
  }
67
- }));
67
+ });
68
68
  nlabel = sl.join('');
69
69
  nlabel = nlabel.replace(/\s/g, '');
70
70
  if (subtype) {
@@ -77,11 +77,11 @@ export class MultilingualTranslationsService {
77
77
  translateActualLabel(label, type, subtype) {
78
78
  let nlabel = label;
79
79
  const sl = nlabel.split(' ');
80
- sl.forEach(((w, index) => {
80
+ sl.forEach((w, index) => {
81
81
  if (index !== 0) {
82
82
  sl[index] = w[0].toUpperCase() + w.slice(1);
83
83
  }
84
- }));
84
+ });
85
85
  nlabel = sl.join('');
86
86
  nlabel = nlabel.replace(/\s/g, '');
87
87
  if (subtype) {
@@ -113,6 +113,12 @@ export class MultilingualTranslationsService {
113
113
  }
114
114
  }
115
115
  }
116
+ MultilingualTranslationsService.ctorParameters = () => [
117
+ { type: TranslateService },
118
+ { type: HttpClient },
119
+ { type: ConfigurationsService }
120
+ ];
121
+ MultilingualTranslationsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MultilingualTranslationsService_Factory() { return new MultilingualTranslationsService(i0.ɵɵinject(i1.TranslateService), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.ConfigurationsService)); }, token: MultilingualTranslationsService, providedIn: "root" });
116
122
  MultilingualTranslationsService.decorators = [
117
123
  { type: Injectable, args: [{
118
124
  providedIn: 'root',
@@ -123,14 +129,4 @@ MultilingualTranslationsService.ctorParameters = () => [
123
129
  { type: HttpClient },
124
130
  { type: ConfigurationsService }
125
131
  ];
126
- /** @nocollapse */ MultilingualTranslationsService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function MultilingualTranslationsService_Factory() { return new MultilingualTranslationsService(i0.ɵɵinject(i1.TranslateService), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.ConfigurationsService)); }, token: MultilingualTranslationsService, providedIn: "root" });
127
- if (false) {
128
- MultilingualTranslationsService.prototype.selectedLang;
129
- MultilingualTranslationsService.prototype.languageSelected;
130
- MultilingualTranslationsService.prototype.languageSelectedObservable;
131
- MultilingualTranslationsService.prototype.editProfileDetails;
132
- MultilingualTranslationsService.prototype.translate;
133
- MultilingualTranslationsService.prototype.http;
134
- MultilingualTranslationsService.prototype.configSvc;
135
- }
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsaW5ndWFsLXRyYW5zbGF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbXVsdGlsaW5ndWFsLXRyYW5zbGF0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDdEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7Ozs7O0FBTWhFLE1BQU0sT0FBTywrQkFBK0I7SUFPeEMsWUFBb0IsU0FBMkIsRUFBVSxJQUFnQixFQUFVLFNBQWdDO1FBQS9GLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQXVCO1FBTm5ILGlCQUFZLEdBQUcsRUFBRSxDQUFBO1FBRWpCLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzVDLCtCQUEwQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUNqRSx1QkFBa0IsR0FBRyxtQ0FBbUMsQ0FBQTtJQUl4RCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUU7WUFDN0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxjQUFjO2dCQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsb0JBQW9CO2dCQUMvRCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVks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SSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzdELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFVLEVBQUUsSUFBUyxFQUFFLE1BQVc7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUV6QixJQUFJLE1BQU0sRUFBRTtrQkFDTCxVQUFVLEdBQUc7Z0JBQ2YsT0FBTyxFQUFFO29CQUNQLE1BQU0sRUFBRSxNQUFNO29CQUNkLGNBQWMsRUFBRTt3QkFDZCxvQkFBb0IsRUFBRTs0QkFDbEIsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZO3lCQUNuQztxQkFDRjtpQkFDRjthQUNKO1lBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO1NBQ2xEO0lBQ0osQ0FBQzs7O1lBeEhKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBTlEsZ0JBQWdCO1lBRmhCLFVBQVU7WUFJVixxQkFBcUI7Ozs7SUFPMUIsdURBQWlCO0lBRWpCLDJEQUE0QztJQUM1QyxxRUFBaUU7SUFDakUsNkRBQXdEO0lBRTVDLG9EQUFtQztJQUFFLCtDQUF3QjtJQUFFLG9EQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9ucy5zZXJ2aWNlJ1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcblxuZXhwb3J0IGNsYXNzIE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2Uge1xuICAgIHNlbGVjdGVkTGFuZyA9ICcnXG4gICAgLy8gd2Vic2l0ZSBsYW5nIGNoYW5nZVxuICAgIGxhbmd1YWdlU2VsZWN0ZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpXG4gICAgbGFuZ3VhZ2VTZWxlY3RlZE9ic2VydmFibGUgPSB0aGlzLmxhbmd1YWdlU2VsZWN0ZWQuYXNPYnNlcnZhYmxlKClcbiAgICBlZGl0UHJvZmlsZURldGFpbHMgPSAnL2FwaXMvcHJveGllcy92OC91c2VyL3YxL2V4dFBhdGNoJ1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSkge1xuICAgIC8vICAgIHRoaXMuZ2V0TGFuZ3VhZ2UoKVxuICAgIH1cblxuICAgIGdldExhbmd1YWdlKCkge1xuICAgICAgICBpZiAodGhpcy5jb25maWdTdmMudW5NYXBwZWRVc2VyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb25maWdTdmMudW5NYXBwZWRVc2VyLnByb2ZpbGVEZXRhaWxzICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWdTdmMudW5NYXBwZWRVc2VyLnByb2ZpbGVEZXRhaWxzLmFkZGl0aW9uYWxQcm9wZXJ0aWVzICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWdTdmMudW5NYXBwZWRVc2VyLnByb2ZpbGVEZXRhaWxzLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLndlYlBvcnRhbExhbmcpIHtcbiAgICAgICAgICAgICAgY29uc3QgbGFuZyA9IHRoaXMuY29uZmlnU3ZjLnVuTWFwcGVkVXNlci5wcm9maWxlRGV0YWlscy5hZGRpdGlvbmFsUHJvcGVydGllcy53ZWJQb3J0YWxMYW5nXG4gICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJywgbGFuZylcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykpIHtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZygnZW4nKVxuICAgICAgICAgICAgICAgIGxldCBsYW5nID0gSlNPTi5zdHJpbmdpZnkobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpKVxuICAgICAgICAgICAgICAgIGxhbmcgPSBsYW5nLnJlcGxhY2UoL1xcXCIvZywgJycpXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmcpXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ2VuJylcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJywgJ2VuJylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3ZWJzaXRlTGFuZ3VhZ2UnKSkge1xuICAgICAgICAgICAgICAgIC8vIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKCdlbicpXG4gICAgICAgICAgICAgICAgbGV0IGxhbmcgPSBKU09OLnN0cmluZ2lmeShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykpXG4gICAgICAgICAgICAgICAgbGFuZyA9IGxhbmcucmVwbGFjZSgvXFxcIi9nLCAnJylcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyYW5zbGF0ZUxhYmVsV2l0aG91dHNwYWNlKGxhYmVsOiBzdHJpbmcsIHR5cGU6IGFueSwgc3VidHlwZTogYW55KSB7XG4gICAgICAgIGxldCBubGFiZWwgPSBsYWJlbFxuICAgICAgICBubGFiZWwgPSBubGFiZWwgJiYgbmxhYmVsLnJlcGxhY2UoL1xccy9nLCAnJylcbiAgICAgICAgaWYgKHN1YnR5cGUpIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLXRlbXBsYXRlXG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbktleSA9IHR5cGUgKyAnLicgKyAgbmxhYmVsICsgc3VidHlwZVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpXG4gICAgICAgIH1cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItdGVtcGxhdGVcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXluID0gdHlwZSArICcuJyArICBubGFiZWxcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXluKVxuICAgIH1cblxuICAgIHRyYW5zbGF0ZUxhYmVsKGxhYmVsOiBzdHJpbmcsIHR5cGU6IGFueSwgc3VidHlwZTogYW55KSB7XG4gICAgICAgIGxldCBubGFiZWwgPSBsYWJlbFxuICAgICAgICBubGFiZWwgPSBubGFiZWwudG9Mb3dlckNhc2UoKVxuICAgICAgICBjb25zdCBzbCA9IG5sYWJlbC5zcGxpdCgnICcpXG4gICAgICAgIHNsLmZvckVhY2goKHc6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgc2xbaW5kZXhdID0gd1swXS50b1VwcGVyQ2FzZSgpICsgdy5zbGljZSgxKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICBubGFiZWwgPSBzbC5qb2luKCcnKVxuICAgICAgICBubGFiZWwgPSBubGFiZWwucmVwbGFjZSgvXFxzL2csICcnKVxuICAgICAgICBpZiAoc3VidHlwZSkge1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItdGVtcGxhdGVcbiAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbktleSA9IHR5cGUgKyAnLicgKyAgbmxhYmVsICsgc3VidHlwZVxuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KVxuICAgICAgICB9XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLXRlbXBsYXRlXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5biA9IHR5cGUgKyAnLicgKyAgbmxhYmVsXG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5bilcbiAgICB9XG5cbiAgICB0cmFuc2xhdGVBY3R1YWxMYWJlbChsYWJlbDogc3RyaW5nLCB0eXBlOiBhbnksIHN1YnR5cGU6IGFueSkge1xuICAgICAgICBsZXQgbmxhYmVsID0gbGFiZWxcbiAgICAgICAgY29uc3Qgc2wgPSBubGFiZWwuc3BsaXQoJyAnKVxuICAgICAgICBzbC5mb3JFYWNoKCh3OiBhbnksIGluZGV4OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleCAhPT0gMCkge1xuICAgICAgICAgICAgICAgIHNsW2luZGV4XSA9IHdbMF0udG9VcHBlckNhc2UoKSArIHcuc2xpY2UoMSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgbmxhYmVsID0gc2wuam9pbignJylcbiAgICAgICAgbmxhYmVsID0gbmxhYmVsLnJlcGxhY2UoL1xccy9nLCAnJylcbiAgICAgICAgaWYgKHN1YnR5cGUpIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLXRlbXBsYXRlXG4gICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSB0eXBlICsgJy4nICsgIG5sYWJlbCArIHN1YnR5cGVcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSlcbiAgICAgICAgfVxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHByZWZlci10ZW1wbGF0ZVxuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbktleW4gPSB0eXBlICsgJy4nICsgIG5sYWJlbFxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleW4pXG4gICAgfVxuXG4gICAgZWRpdFByb2ZpbGVEZXRhaWxzQVBJKGRhdGE6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih0aGlzLmVkaXRQcm9maWxlRGV0YWlscywgZGF0YSlcbiAgICB9XG5cbiAgICB1cGRhdGVsYW5ndWFnZVNlbGVjdGVkKHN0YXRlOiBhbnksIGxhbmc6IGFueSwgdXNlcmlkOiBhbnkpIHtcbiAgICAgICAgdGhpcy5sYW5ndWFnZVNlbGVjdGVkLm5leHQoc3RhdGUpXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxuICAgICAgICB0aGlzLnNlbGVjdGVkTGFuZyA9IGxhbmdcblxuICAgICAgIGlmICh1c2VyaWQpIHtcbiAgICAgICAgY29uc3QgcmVxVXBkYXRlcyA9IHtcbiAgICAgICAgICAgIHJlcXVlc3Q6IHtcbiAgICAgICAgICAgICAgdXNlcklkOiB1c2VyaWQsXG4gICAgICAgICAgICAgIHByb2ZpbGVEZXRhaWxzOiB7XG4gICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgd2ViUG9ydGFsTGFuZzogdGhpcy5zZWxlY3RlZExhbmcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lZGl0UHJvZmlsZURldGFpbHNBUEkocmVxVXBkYXRlcykuc3Vic2NyaWJlKClcbiAgICAgICB9XG4gICAgfVxufVxuIl19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsaW5ndWFsLXRyYW5zbGF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbXVsdGlsaW5ndWFsLXRyYW5zbGF0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDdEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7Ozs7O0FBTWhFLE1BQU0sT0FBTywrQkFBK0I7SUFPeEMsWUFBb0IsU0FBMkIsRUFBVSxJQUFnQixFQUFVLFNBQWdDO1FBQS9GLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQXVCO1FBTm5ILGlCQUFZLEdBQUcsRUFBRSxDQUFBO1FBRWpCLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzVDLCtCQUEwQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUNqRSx1QkFBa0IsR0FBRyxtQ0FBbUMsQ0FBQTtJQUl4RCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUU7WUFDN0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxjQUFjO2dCQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsb0JBQW9CO2dCQUMvRCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVks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Q0FBQTtRQUM1QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxJQUFTO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzdELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFVLEVBQUUsSUFBUyxFQUFFLE1BQVc7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUV6QixJQUFJLE1BQU0sRUFBRTtZQUNYLE1BQU0sVUFBVSxHQUFHO2dCQUNmLE9BQU8sRUFBRTtvQkFDUCxNQUFNLEVBQUUsTUFBTTtvQkFDZCxjQUFjLEVBQUU7d0JBQ2Qsb0JBQW9CLEVBQUU7NEJBQ2xCLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWTt5QkFDbkM7cUJBQ0Y7aUJBQ0Y7YUFDSixDQUFBO1lBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO1NBQ2xEO0lBQ0osQ0FBQzs7O1lBN0c4QixnQkFBZ0I7WUFBZ0IsVUFBVTtZQUFxQixxQkFBcUI7Ozs7WUFYdEgsVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFOUSxnQkFBZ0I7WUFGaEIsVUFBVTtZQUlWLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9ucy5zZXJ2aWNlJ1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcblxuZXhwb3J0IGNsYXNzIE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2Uge1xuICAgIHNlbGVjdGVkTGFuZyA9ICcnXG4gICAgLy8gd2Vic2l0ZSBsYW5nIGNoYW5nZVxuICAgIGxhbmd1YWdlU2VsZWN0ZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpXG4gICAgbGFuZ3VhZ2VTZWxlY3RlZE9ic2VydmFibGUgPSB0aGlzLmxhbmd1YWdlU2VsZWN0ZWQuYXNPYnNlcnZhYmxlKClcbiAgICBlZGl0UHJvZmlsZURldGFpbHMgPSAnL2FwaXMvcHJveGllcy92OC91c2VyL3YxL2V4dFBhdGNoJ1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSkge1xuICAgIC8vICAgIHRoaXMuZ2V0TGFuZ3VhZ2UoKVxuICAgIH1cblxuICAgIGdldExhbmd1YWdlKCkge1xuICAgICAgICBpZiAodGhpcy5jb25maWdTdmMudW5NYXBwZWRVc2VyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb25maWdTdmMudW5NYXBwZWRVc2VyLnByb2ZpbGVEZXRhaWxzICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWdTdmMudW5NYXBwZWRVc2VyLnByb2ZpbGVEZXRhaWxzLmFkZGl0aW9uYWxQcm9wZXJ0aWVzICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWdTdmMudW5NYXBwZWRVc2VyLnByb2ZpbGVEZXRhaWxzLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLndlYlBvcnRhbExhbmcpIHtcbiAgICAgICAgICAgICAgY29uc3QgbGFuZyA9IHRoaXMuY29uZmlnU3ZjLnVuTWFwcGVkVXNlci5wcm9maWxlRGV0YWlscy5hZGRpdGlvbmFsUHJvcGVydGllcy53ZWJQb3J0YWxMYW5nXG4gICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJywgbGFuZylcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykpIHtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZygnZW4nKVxuICAgICAgICAgICAgICAgIGxldCBsYW5nID0gSlNPTi5zdHJpbmdpZnkobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpKVxuICAgICAgICAgICAgICAgIGxhbmcgPSBsYW5nLnJlcGxhY2UoL1xcXCIvZywgJycpXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmcpXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ2VuJylcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJywgJ2VuJylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3ZWJzaXRlTGFuZ3VhZ2UnKSkge1xuICAgICAgICAgICAgICAgIC8vIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKCdlbicpXG4gICAgICAgICAgICAgICAgbGV0IGxhbmcgPSBKU09OLnN0cmluZ2lmeShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykpXG4gICAgICAgICAgICAgICAgbGFuZyA9IGxhbmcucmVwbGFjZSgvXFxcIi9nLCAnJylcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyYW5zbGF0ZUxhYmVsV2l0aG91dHNwYWNlKGxhYmVsOiBzdHJpbmcsIHR5cGU6IGFueSwgc3VidHlwZTogYW55KSB7XG4gICAgICAgIGxldCBubGFiZWwgPSBsYWJlbFxuICAgICAgICBubGFiZWwgPSBubGFiZWwgJiYgbmxhYmVsLnJlcGxhY2UoL1xccy9nLCAnJylcbiAgICAgICAgaWYgKHN1YnR5cGUpIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLXRlbXBsYXRlXG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbktleSA9IHR5cGUgKyAnLicgKyAgbmxhYmVsICsgc3VidHlwZVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpXG4gICAgICAgIH1cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItdGVtcGxhdGVcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXluID0gdHlwZSArICcuJyArICBubGFiZWxcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXluKVxuICAgIH1cblxuICAgIHRyYW5zbGF0ZUxhYmVsKGxhYmVsOiBzdHJpbmcsIHR5cGU6IGFueSwgc3VidHlwZTogYW55KSB7XG4gICAgICAgIGxldCBubGFiZWwgPSBsYWJlbFxuICAgICAgICBubGFiZWwgPSBubGFiZWwudG9Mb3dlckNhc2UoKVxuICAgICAgICBjb25zdCBzbCA9IG5sYWJlbC5zcGxpdCgnICcpXG4gICAgICAgIHNsLmZvckVhY2goKHc6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgc2xbaW5kZXhdID0gd1swXS50b1VwcGVyQ2FzZSgpICsgdy5zbGljZSgxKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICBubGFiZWwgPSBzbC5qb2luKCcnKVxuICAgICAgICBubGFiZWwgPSBubGFiZWwucmVwbGFjZSgvXFxzL2csICcnKVxuICAgICAgICBpZiAoc3VidHlwZSkge1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItdGVtcGxhdGVcbiAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbktleSA9IHR5cGUgKyAnLicgKyAgbmxhYmVsICsgc3VidHlwZVxuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KVxuICAgICAgICB9XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLXRlbXBsYXRlXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5biA9IHR5cGUgKyAnLicgKyAgbmxhYmVsXG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5bilcbiAgICB9XG5cbiAgICB0cmFuc2xhdGVBY3R1YWxMYWJlbChsYWJlbDogc3RyaW5nLCB0eXBlOiBhbnksIHN1YnR5cGU6IGFueSkge1xuICAgICAgICBsZXQgbmxhYmVsID0gbGFiZWxcbiAgICAgICAgY29uc3Qgc2wgPSBubGFiZWwuc3BsaXQoJyAnKVxuICAgICAgICBzbC5mb3JFYWNoKCh3OiBhbnksIGluZGV4OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleCAhPT0gMCkge1xuICAgICAgICAgICAgICAgIHNsW2luZGV4XSA9IHdbMF0udG9VcHBlckNhc2UoKSArIHcuc2xpY2UoMSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgbmxhYmVsID0gc2wuam9pbignJylcbiAgICAgICAgbmxhYmVsID0gbmxhYmVsLnJlcGxhY2UoL1xccy9nLCAnJylcbiAgICAgICAgaWYgKHN1YnR5cGUpIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLXRlbXBsYXRlXG4gICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSB0eXBlICsgJy4nICsgIG5sYWJlbCArIHN1YnR5cGVcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSlcbiAgICAgICAgfVxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHByZWZlci10ZW1wbGF0ZVxuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbktleW4gPSB0eXBlICsgJy4nICsgIG5sYWJlbFxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleW4pXG4gICAgfVxuXG4gICAgZWRpdFByb2ZpbGVEZXRhaWxzQVBJKGRhdGE6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih0aGlzLmVkaXRQcm9maWxlRGV0YWlscywgZGF0YSlcbiAgICB9XG5cbiAgICB1cGRhdGVsYW5ndWFnZVNlbGVjdGVkKHN0YXRlOiBhbnksIGxhbmc6IGFueSwgdXNlcmlkOiBhbnkpIHtcbiAgICAgICAgdGhpcy5sYW5ndWFnZVNlbGVjdGVkLm5leHQoc3RhdGUpXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxuICAgICAgICB0aGlzLnNlbGVjdGVkTGFuZyA9IGxhbmdcblxuICAgICAgIGlmICh1c2VyaWQpIHtcbiAgICAgICAgY29uc3QgcmVxVXBkYXRlcyA9IHtcbiAgICAgICAgICAgIHJlcXVlc3Q6IHtcbiAgICAgICAgICAgICAgdXNlcklkOiB1c2VyaWQsXG4gICAgICAgICAgICAgIHByb2ZpbGVEZXRhaWxzOiB7XG4gICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgd2ViUG9ydGFsTGFuZzogdGhpcy5zZWxlY3RlZExhbmcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lZGl0UHJvZmlsZURldGFpbHNBUEkocmVxVXBkYXRlcykuc3Vic2NyaWJlKClcbiAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -3,8 +3,8 @@ import { HttpClient } from '@angular/common/http';
3
3
  import { BehaviorSubject } from 'rxjs';
4
4
  const ɵ0 = (id) => `/apis/proxies/v8/user/v1/feed/${id}`, ɵ1 = (id) => `/apis/proxies/v8/forms/getFormById?id=${id}`;
5
5
  const API_END_POINTS = {
6
- readFeed: (ɵ0),
7
- getFormID: (ɵ1),
6
+ readFeed: ɵ0,
7
+ getFormID: ɵ1,
8
8
  submitForm: `/apis/proxies/v8/forms/v1/saveFormSubmit`,
9
9
  deleteFeed: `/apis/proxies/v8/user/feed/v1/delete`,
10
10
  };
@@ -30,16 +30,14 @@ export class NPSGridService {
30
30
  return this.http.post(API_END_POINTS.deleteFeed, req);
31
31
  }
32
32
  }
33
+ NPSGridService.ctorParameters = () => [
34
+ { type: HttpClient }
35
+ ];
33
36
  NPSGridService.decorators = [
34
37
  { type: Injectable }
35
38
  ];
36
39
  NPSGridService.ctorParameters = () => [
37
40
  { type: HttpClient }
38
41
  ];
39
- if (false) {
40
- NPSGridService.prototype.telemetryEvents;
41
- NPSGridService.prototype.updateTelemetryDataObservable;
42
- NPSGridService.prototype.http;
43
- }
44
42
  export { ɵ0, ɵ1 };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBzLWdyaWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL25wcy1ncmlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFJakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtXQUl4QixDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsaUNBQWlDLEVBQUUsRUFBRSxPQUNwRCxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMseUNBQXlDLEVBQUUsRUFBRTtNQUZ0RSxjQUFjLEdBQUc7SUFDbkIsUUFBUSxNQUF1RDtJQUMvRCxTQUFTLE1BQStEO0lBQ3hFLFVBQVUsRUFBRSwwQ0FBMEM7SUFDdEQsVUFBVSxFQUFFLHNDQUFzQztDQUNyRDtBQUdELE1BQU0sT0FBTyxjQUFjO0lBSXpCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFINUIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNwRCxrQ0FBNkIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFBO0lBRTNCLENBQUM7SUFFekMsbUJBQW1CLENBQUMsS0FBYztRQUNoQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQU87UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQzdELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUFRO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUM1RCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxjQUFjLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzVELENBQUM7OztZQXpCRixVQUFVOzs7WUFkRixVQUFVOzs7SUFnQmpCLHlDQUFvRDtJQUNwRCx1REFBbUU7SUFFdkQsOEJBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG4vLyBpbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbi8vIHRzbGludDpkaXNhYmxlXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJ1xuLy8gdHNsaW50OmVuYWJsZVxuXG5jb25zdCBBUElfRU5EX1BPSU5UUyA9IHtcbiAgICByZWFkRmVlZDogKGlkOiBzdHJpbmcpID0+IGAvYXBpcy9wcm94aWVzL3Y4L3VzZXIvdjEvZmVlZC8ke2lkfWAsXG4gICAgZ2V0Rm9ybUlEOiAoaWQ6IHN0cmluZykgPT4gYC9hcGlzL3Byb3hpZXMvdjgvZm9ybXMvZ2V0Rm9ybUJ5SWQ/aWQ9JHtpZH1gLFxuICAgIHN1Ym1pdEZvcm06IGAvYXBpcy9wcm94aWVzL3Y4L2Zvcm1zL3YxL3NhdmVGb3JtU3VibWl0YCxcbiAgICBkZWxldGVGZWVkOiBgL2FwaXMvcHJveGllcy92OC91c2VyL2ZlZWQvdjEvZGVsZXRlYCxcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5QU0dyaWRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB0ZWxlbWV0cnlFdmVudHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKVxuICB1cGRhdGVUZWxlbWV0cnlEYXRhT2JzZXJ2YWJsZSA9IHRoaXMudGVsZW1ldHJ5RXZlbnRzLmFzT2JzZXJ2YWJsZSgpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cblxuICB1cGRhdGVUZWxlbWV0cnlEYXRhKHN0YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy50ZWxlbWV0cnlFdmVudHMubmV4dChzdGF0ZSlcbiAgfVxuXG4gIGdldEZlZWRTdGF0dXMoaWQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oQVBJX0VORF9QT0lOVFMucmVhZEZlZWQoaWQpKVxuICB9XG5cbiAgZ2V0Rm9ybURhdGEoZm9ybWlkOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KEFQSV9FTkRfUE9JTlRTLmdldEZvcm1JRChmb3JtaWQpKVxuICB9XG5cbiAgc3VibWl0UGxhdGZvcm1SYXRpbmcocmVxOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihBUElfRU5EX1BPSU5UUy5zdWJtaXRGb3JtLCByZXEpXG4gIH1cblxuICBkZWxldGVGZWVkKHJlcTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oQVBJX0VORF9QT0lOVFMuZGVsZXRlRmVlZCwgcmVxKVxuICB9XG59XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBzLWdyaWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL25wcy1ncmlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFJakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtXQUl4QixDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsaUNBQWlDLEVBQUUsRUFBRSxPQUNwRCxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMseUNBQXlDLEVBQUUsRUFBRTtBQUY1RSxNQUFNLGNBQWMsR0FBRztJQUNuQixRQUFRLElBQXVEO0lBQy9ELFNBQVMsSUFBK0Q7SUFDeEUsVUFBVSxFQUFFLDBDQUEwQztJQUN0RCxVQUFVLEVBQUUsc0NBQXNDO0NBQ3JELENBQUE7QUFHRCxNQUFNLE9BQU8sY0FBYztJQUl6QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBSDVCLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDcEQsa0NBQTZCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUUzQixDQUFDO0lBRXpDLG1CQUFtQixDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFPO1FBQ25CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFFRCxXQUFXLENBQUMsTUFBVztRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBUTtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLGNBQWMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUM1RCxDQUFDOzs7WUFwQnlCLFVBQVU7OztZQUxyQyxVQUFVOzs7WUFkRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG4vLyBpbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbi8vIHRzbGludDpkaXNhYmxlXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJ1xuLy8gdHNsaW50OmVuYWJsZVxuXG5jb25zdCBBUElfRU5EX1BPSU5UUyA9IHtcbiAgICByZWFkRmVlZDogKGlkOiBzdHJpbmcpID0+IGAvYXBpcy9wcm94aWVzL3Y4L3VzZXIvdjEvZmVlZC8ke2lkfWAsXG4gICAgZ2V0Rm9ybUlEOiAoaWQ6IHN0cmluZykgPT4gYC9hcGlzL3Byb3hpZXMvdjgvZm9ybXMvZ2V0Rm9ybUJ5SWQ/aWQ9JHtpZH1gLFxuICAgIHN1Ym1pdEZvcm06IGAvYXBpcy9wcm94aWVzL3Y4L2Zvcm1zL3YxL3NhdmVGb3JtU3VibWl0YCxcbiAgICBkZWxldGVGZWVkOiBgL2FwaXMvcHJveGllcy92OC91c2VyL2ZlZWQvdjEvZGVsZXRlYCxcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5QU0dyaWRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB0ZWxlbWV0cnlFdmVudHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKVxuICB1cGRhdGVUZWxlbWV0cnlEYXRhT2JzZXJ2YWJsZSA9IHRoaXMudGVsZW1ldHJ5RXZlbnRzLmFzT2JzZXJ2YWJsZSgpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cblxuICB1cGRhdGVUZWxlbWV0cnlEYXRhKHN0YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy50ZWxlbWV0cnlFdmVudHMubmV4dChzdGF0ZSlcbiAgfVxuXG4gIGdldEZlZWRTdGF0dXMoaWQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oQVBJX0VORF9QT0lOVFMucmVhZEZlZWQoaWQpKVxuICB9XG5cbiAgZ2V0Rm9ybURhdGEoZm9ybWlkOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KEFQSV9FTkRfUE9JTlRTLmdldEZvcm1JRChmb3JtaWQpKVxuICB9XG5cbiAgc3VibWl0UGxhdGZvcm1SYXRpbmcocmVxOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihBUElfRU5EX1BPSU5UUy5zdWJtaXRGb3JtLCByZXEpXG4gIH1cblxuICBkZWxldGVGZWVkKHJlcTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oQVBJX0VORF9QT0lOVFMuZGVsZXRlRmVlZCwgcmVxKVxuICB9XG59XG4iXX0=