vcomply-workflow-engine 0.0.2 → 0.0.6

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 (62) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +450 -252
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.js +3 -3
  4. package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.ngfactory.js +5 -5
  5. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +3 -3
  6. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.ngfactory.js +5 -5
  7. package/esm2015/lib/log-an-issue/log-an-issue.component.js +1 -1
  8. package/esm2015/lib/more-option/more-option.component.js +23 -4
  9. package/esm2015/lib/more-option/more-option.component.ngfactory.js +29 -13
  10. package/esm2015/lib/more-option/more-option.component.ngsummary.json +1 -1
  11. package/esm2015/lib/sharedComponents/bulk-view/bulk-view.component.js +2 -2
  12. package/esm2015/lib/sharedComponents/bulk-view/bulk-view.component.ngfactory.js +4 -4
  13. package/esm2015/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.js +1 -1
  14. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.js +1 -1
  15. package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.js +1 -1
  16. package/esm2015/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.js +2 -20
  17. package/esm2015/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.js +2 -2
  18. package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.js +2 -2
  19. package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.js +3 -3
  20. package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.ngfactory.js +3 -3
  21. package/esm2015/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.js +2 -2
  22. package/esm2015/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.js +1 -1
  23. package/esm2015/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.js +4 -2
  24. package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.js +11 -15
  25. package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.ngfactory.js +5 -5
  26. package/esm2015/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.js +2 -2
  27. package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.js +1 -1
  28. package/esm2015/lib/sharedComponents/owner-list/owner-list.component.js +1 -1
  29. package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.js +1 -1
  30. package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.js +1 -1
  31. package/esm2015/lib/ui-kit/tooltip/tooltip.directive.js +2 -2
  32. package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +54 -54
  33. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngfactory.js +4 -4
  34. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngsummary.json +1 -1
  35. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +12 -3
  36. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +33 -27
  37. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +1 -1
  38. package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
  39. package/esm2015/lib/workflow-policy/workflow-policy.component.js +5 -5
  40. package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +2 -2
  41. package/esm2015/lib/workflow-risk/workflow-risk.component.js +160 -15
  42. package/esm2015/lib/workflow-risk/workflow-risk.component.ngfactory.js +156 -89
  43. package/esm2015/lib/workflow-risk/workflow-risk.component.ngsummary.json +1 -1
  44. package/esm2015/lib/workflow-services/auth.service.js +17 -9
  45. package/esm2015/lib/workflow-services/auth.service.ngsummary.json +1 -1
  46. package/esm2015/lib/workflow-services/responsibility.service.js +4 -4
  47. package/esm2015/lib/workflow-services/token-decoder.service.js +38 -0
  48. package/esm2015/lib/workflow-services/token-decoder.service.ngsummary.json +1 -0
  49. package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.js +1 -1
  50. package/esm2015/vcomply-workflow-engine.js +113 -112
  51. package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
  52. package/fesm2015/vcomply-workflow-engine.js +337 -143
  53. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  54. package/lib/more-option/more-option.component.d.ts +1 -0
  55. package/lib/workflow-compliance/workflow-compliance.component.d.ts +2 -1
  56. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +4 -0
  57. package/lib/workflow-risk/workflow-risk.component.d.ts +12 -0
  58. package/lib/workflow-services/auth.service.d.ts +3 -1
  59. package/lib/workflow-services/token-decoder.service.d.ts +4 -0
  60. package/package.json +1 -1
  61. package/vcomply-workflow-engine.d.ts +112 -111
  62. package/vcomply-workflow-engine.metadata.json +1 -1
@@ -26,8 +26,6 @@ export class FrequencyAnnualComponent {
26
26
  this.monthList = this.frequencyService.monthArray;
27
27
  this.frequencyInfo = Object.assign(this.frequencyService.frequencyInfo);
28
28
  this.shortMonth = this.frequencyService.monthArray.map(month => month.substring(0, 3));
29
- console.log("this.shortMonth ==>", this.shortMonth);
30
- console.log("this.frequencyData ==>", this.frequencyData);
31
29
  if (this.frequencyData.pattern != '' && parseInt(this.frequencyData.pattern.split('~')[0]) === 4) {
32
30
  this.populateFrequency();
33
31
  }
@@ -52,7 +50,6 @@ export class FrequencyAnnualComponent {
52
50
  const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix();
53
51
  this.yearlyLifeCycleEndTime = new Date(dateSelected * 1000);
54
52
  }
55
- console.log("lifecycleInfo[0] ==>", lifecycleInfo[0]);
56
53
  this.lifecycleDetails = this.frequencyData.lifecycle;
57
54
  if (this.frequencyData.lifecycle == '0000-00-00~~0') {
58
55
  this.yearlySeletedLifecycleType = 2;
@@ -65,27 +62,22 @@ export class FrequencyAnnualComponent {
65
62
  }
66
63
  }
67
64
  onTimeChanged(event) {
68
- console.log("time event =>", event);
69
65
  this.yearlyInterval = event;
70
66
  this.getAnnualFrequency();
71
67
  }
72
68
  dateChange(event) {
73
- console.log("date changed number", event);
74
69
  this.yearlyDay = event;
75
70
  this.getAnnualFrequency();
76
71
  }
77
72
  valueChangedFirst(event) {
78
- console.log('event ==>', event);
79
73
  this.yearlyInput = event.value;
80
74
  this.getAnnualFrequency();
81
75
  }
82
76
  selectedMonth(event) {
83
- console.log("event ==>", event);
84
77
  this.yearlySelected = parseInt(event.target.value);
85
78
  this.getAnnualFrequency();
86
79
  }
87
80
  lifecycleChange(event) {
88
- console.log('event==>', event);
89
81
  switch (event.type) {
90
82
  case 0:
91
83
  this.lifecycleDetails = event.endsBy + '~~0';
@@ -98,19 +90,14 @@ export class FrequencyAnnualComponent {
98
90
  break;
99
91
  }
100
92
  if (event.startFrom.toString().length > 10) {
101
- console.log("start 1111");
102
93
  this.startDate = Math.floor(event.startFrom / 1000);
103
94
  }
104
95
  else {
105
- console.log("start 11112222");
106
96
  this.startDate = Math.floor(event.startFrom);
107
97
  }
108
98
  let endByDate = Math.floor(new Date().getTime() / 1000 + 86400000);
109
- console.log('strat date ====>', this.startDate);
110
- console.log('end date', endByDate);
111
99
  if (event.type === 0) {
112
100
  endByDate = event.endsBy ? moment(event.endsBy + ' 00:00:00', 'DD-MMM-YYYY HH:mm:ss').unix() : endByDate;
113
- console.log('endByDate', endByDate);
114
101
  }
115
102
  this.frequencyInfo.failed_time_utc = endByDate;
116
103
  this.getAnnualFrequency();
@@ -126,7 +113,7 @@ export class FrequencyAnnualComponent {
126
113
  }
127
114
  // frequency pattern and details info
128
115
  getAnnualFrequency() {
129
- this.frequencyInfo.placeholder = this.getFrequencyPlaceholder(this.yearlyInput);
116
+ this.frequencyInfo.placeholder = this.getFrequencyPlaceholder(Number(this.yearlyInput));
130
117
  this.frequencyInfo.pattern = 4 + '~' + this.yearlyDay + '~' + (this.yearlySelected + 1) + '~' + this.yearlyInput;
131
118
  this.frequencyInfo.case = 'yearly';
132
119
  this.frequencyInfo.failedAfter = this.yearlyFailed;
@@ -137,11 +124,9 @@ export class FrequencyAnnualComponent {
137
124
  this.frequencyInfo.startFrom = this.startDate;
138
125
  this.frequencyInfo.reportId = 0;
139
126
  this.frequencyDetails.emit(this.frequencyInfo);
140
- console.log(" this.frequencyInfo ==>", this.frequencyInfo);
141
127
  }
142
128
  getFrequencyPlaceholder(yearlyInput) {
143
129
  let placeholder = '';
144
- console.log("yearlyInput ==>", yearlyInput);
145
130
  if (yearlyInput === 1) {
146
131
  placeholder = this.getPlaceholderForSt2();
147
132
  }
@@ -152,7 +137,6 @@ export class FrequencyAnnualComponent {
152
137
  }
153
138
  // if yearlyInput is smaller than 2 then this function will called
154
139
  getPlaceholderForSt2() {
155
- console.log("this.yearlyDay ==>", this.yearlyDay);
156
140
  let placeholder = '';
157
141
  if (this.yearlyDay === 1) {
158
142
  placeholder = '1st of every ' + this.shortMonth[this.yearlySelected] + ' by ' + this.yearlyInterval;
@@ -175,7 +159,6 @@ export class FrequencyAnnualComponent {
175
159
  if (this.yearlyDay === 23) {
176
160
  placeholder = this.yearlyDay + 'rd of every ' + this.shortMonth[this.yearlySelected] + ' by ' + this.yearlyInterval;
177
161
  }
178
- console.log("place holder ==>", placeholder);
179
162
  return placeholder;
180
163
  }
181
164
  // if yearlyInput is greater than 1 then this function will called
@@ -204,7 +187,6 @@ export class FrequencyAnnualComponent {
204
187
  if (this.yearlyDay === 23) {
205
188
  placeholder = this.yearlyDay + 'rd of every ' + this.shortMonth[this.yearlySelected] + ' by ' + this.yearlyInterval;
206
189
  }
207
- console.log("place holder ==>", placeholder);
208
190
  return placeholder;
209
191
  }
210
192
  }
@@ -224,4 +206,4 @@ FrequencyAnnualComponent.propDecorators = {
224
206
  startDate: [{ type: Input }],
225
207
  frequencyDetails: [{ type: Output }]
226
208
  };
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWFubnVhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktYW5udWFsL2ZyZXF1ZW5jeS1hbm51YWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxLQUFLLE1BQU0sTUFBTyxRQUFRLENBQUM7QUFPbEMsTUFBTSxPQUFPLHdCQUF3QjtJQTJCbkMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6QnRELGNBQVMsR0FBZSxFQUFFLENBQUM7UUFFM0IsbUJBQWMsR0FBVyxVQUFVLENBQUM7UUFDcEMsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFDeEIsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsY0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakMseUJBQW9CLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQywyQkFBc0IsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDbEYsNkJBQXdCLEdBQVcsRUFBRSxDQUFDO1FBQ3RDLCtCQUEwQixHQUFXLENBQUMsQ0FBQztRQUN2QyxtQkFBYyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkMscUJBQWdCLEdBQVEsZUFB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SUFBSSxDQUFDLFNBQVMsR0FBRyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDckg7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQzdDLE9BQU8sV0FBVyxDQUFDO0lBRXJCLENBQUM7OztZQXJPRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsdTNDQUFnRDs7YUFFakQ7OztZQVBRLGdCQUFnQjs7OzRCQTJCdEIsS0FBSzttQkFDTCxLQUFLO3dCQUVMLEtBQUs7K0JBRUwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gICdtb21lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LWFubnVhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1hbm51YWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1hbm51YWwuY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5QW5udWFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgbW9udGhMaXN0OiBBcnJheTxhbnk+ID0gW107XHJcblxyXG4gIHllYXJseUludGVydmFsOiBzdHJpbmcgPSAnMTE6NTkgcG0nO1xyXG4gIHllYXJseUlucHV0OiBudW1iZXIgPSAxO1xyXG4gIHllYXJseUZhaWxlZDogbnVtYmVyID0gNTtcclxuICB5ZWFybHlXaW5kb3c6IG51bWJlciA9IDMwO1xyXG4gIHllYXJseURheSA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG4gIHllYXJseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoKTtcclxuICB5ZWFybHlMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUodGhpcy55ZWFybHlMaWZlQ3ljbGVTdGFydC5nZXRUaW1lKCkgKyA4NjQwMDAwMCk7XHJcbiAgeWVhcmx5TGlmZWN5Y2xlT2NjdXJhbmNlOiBudW1iZXIgPSAxMDtcclxuICB5ZWFybHlTZWxldGVkTGlmZWN5Y2xlVHlwZTogbnVtYmVyID0gMjtcclxuICB5ZWFybHlTZWxlY3RlZCA9IG5ldyBEYXRlKCkuZ2V0TW9udGgoKTtcclxuICBsaWZlY3ljbGVEZXRhaWxzOiBhbnkgPSAnMDAwMC0wMC0wMH5+MCc7XHJcbiAgcHJldmlvdXNTdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuICBmcmVxdWVuY3lJbmZvOiBhbnk7XHJcbiAgc2hvcnRNb250aDpBcnJheTxzdHJpbmc+ID0gW107XHJcblxyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURhdGE6IGFueTtcclxuICBASW5wdXQoKSBtb2RlOiBhbnk9Jyc7XHJcblxyXG4gIEBJbnB1dCgpIHN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xyXG5cclxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1vbnRoTGlzdCA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5tb250aEFycmF5O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvID0gT2JqZWN0LmFzc2lnbih0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICB0aGlzLnNob3J0TW9udGggPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheS5tYXAobW9udGggPT4gbW9udGguc3Vic3RyaW5nKDAsIDMpKTtcclxuICAgIGNvbnNvbGUubG9nKFwidGhpcy5zaG9ydE1vbnRoID09PlwiLCB0aGlzLnNob3J0TW9udGgpO1xyXG4gICAgY29uc29sZS5sb2coXCJ0aGlzLmZyZXF1ZW5jeURhdGEgPT0+XCIsIHRoaXMuZnJlcXVlbmN5RGF0YSlcclxuICAgIGlmKHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuICE9ICcnICYmIHBhcnNlSW50KHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuLnNwbGl0KCd+JylbMF0pID09PSA0KSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKS5tYXAoTnVtYmVyKTtcclxuICAgIHRoaXMueWVhcmx5U2VsZWN0ZWQgPSBwYXR0ZXJuSW5mb1syXSAtIDE7XHJcbiAgICBjb25zdCBsaWZlY3ljbGVJbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZS5zcGxpdCgnfn4nKTtcclxuICAgIHRoaXMueWVhcmx5SW50ZXJ2YWwgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkVGltZTtcclxuICAgIHRoaXMueWVhcmx5V2luZG93ID0gdGhpcy5mcmVxdWVuY3lEYXRhLndpbmRvdztcclxuICAgIHRoaXMueWVhcmx5SW5wdXQgPSBwYXR0ZXJuSW5mb1szXTtcclxuICAgIHRoaXMueWVhcmx5RGF5ID0gcGF0dGVybkluZm9bMV1cclxuICAgIGlmKE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKSA+IDApIHtcclxuICAgICAgdGhpcy55ZWFybHlMaWZlY3ljbGVPY2N1cmFuY2UgPSBOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRoaXMueWVhcmx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSh0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlICogMTAwMClcclxuICAgIHRoaXMuc3RhcnREYXRlID0gdGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RnJvbSA/PyB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlXHJcbiAgICB0aGlzLnllYXJseUZhaWxlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWQ7XHJcbiAgICBpZiggbGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIGNvbnN0IGRhdGVTZWxlY3RlZCA9IG1vbWVudChsaWZlY3ljbGVJbmZvWzBdICsgJyAxMTo1OSBwbScsICdERC1NTU1NLVlZWVkgSEg6bW0gYScpLnVuaXgoKVxyXG4gICAgICB0aGlzLnllYXJseUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShkYXRlU2VsZWN0ZWQgKiAxMDAwKTtcclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKFwibGlmZWN5Y2xlSW5mb1swXSA9PT5cIiwgbGlmZWN5Y2xlSW5mb1swXSlcclxuICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGU7XHJcbiAgICBpZiggdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZSA9PSAnMDAwMC0wMC0wMH5+MCcpIHtcclxuICAgICAgdGhpcy55ZWFybHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDI7XHJcbiAgICB9IGVsc2UgaWYobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMueWVhcmx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy55ZWFybHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OnN0cmluZykge1xyXG4gICAgY29uc29sZS5sb2coXCJ0aW1lIGV2ZW50ID0+XCIsIGV2ZW50KVxyXG4gICAgdGhpcy55ZWFybHlJbnRlcnZhbCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRBbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGRhdGVDaGFuZ2UoZXZlbnQ6IG51bWJlcikge1xyXG4gICAgY29uc29sZS5sb2coXCJkYXRlIGNoYW5nZWQgbnVtYmVyXCIsIGV2ZW50KTtcclxuICAgIHRoaXMueWVhcmx5RGF5ID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldEFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgdmFsdWVDaGFuZ2VkRmlyc3QoZXZlbnQ6IGFueSkge1xyXG4gICBjb25zb2xlLmxvZygnZXZlbnQgPT0+JywgZXZlbnQpO1xyXG4gICB0aGlzLnllYXJseUlucHV0ID0gZXZlbnQudmFsdWU7XHJcbiAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZE1vbnRoKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZXZlbnQgPT0+XCIsIGV2ZW50KVxyXG4gICAgdGhpcy55ZWFybHlTZWxlY3RlZCA9IHBhcnNlSW50KGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICB0aGlzLmdldEFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgbGlmZWN5Y2xlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKCdldmVudD09PicsIGV2ZW50KTtcclxuXHJcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IGV2ZW50LmVuZHNCeSArICd+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+ficgKyBldmVudC5lbmRhZnRlcjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGlmIChldmVudC5zdGFydEZyb20udG9TdHJpbmcoKS5sZW5ndGggPiAxMCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcInN0YXJ0IDExMTFcIilcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSAvIDEwMDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5sb2coXCJzdGFydCAxMTExMjIyMlwiKVxyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tKTtcclxuICAgIH1cclxuICAgIGxldCBlbmRCeURhdGUgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCArIDg2NDAwMDAwKTtcclxuICAgIGNvbnNvbGUubG9nKCdzdHJhdCBkYXRlID09PT0+JywgdGhpcy5zdGFydERhdGUpO1xyXG4gICAgY29uc29sZS5sb2coJ2VuZCBkYXRlJywgZW5kQnlEYXRlKTtcclxuICAgIGlmIChldmVudC50eXBlID09PSAwKSB7XHJcbiAgICAgIGVuZEJ5RGF0ZSA9IGV2ZW50LmVuZHNCeSA/IG1vbWVudChldmVudC5lbmRzQnkgKyAnIDAwOjAwOjAwJywgJ0RELU1NTS1ZWVlZIEhIOm1tOnNzJykudW5peCgpIDogZW5kQnlEYXRlO1xyXG4gICAgICBjb25zb2xlLmxvZygnZW5kQnlEYXRlJywgZW5kQnlEYXRlKTtcclxuICAgICAgXHJcbiAgICB9XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkX3RpbWVfdXRjID0gZW5kQnlEYXRlO1xyXG4gICAgdGhpcy5nZXRBbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIFxyXG4gIG9uVmFsdWVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgICAgIGlmIChldmVudC50eXBlID09PSAnY29tcGxldGVkJykge1xyXG4gICAgICAgICAgdGhpcy55ZWFybHlXaW5kb3cgPSBldmVudC52YWx1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy55ZWFybHlGYWlsZWQgPSBldmVudC52YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRBbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG5cclxuICAvLyBmcmVxdWVuY3kgcGF0dGVybiBhbmQgZGV0YWlscyBpbmZvXHJcbiAgZ2V0QW5udWFsRnJlcXVlbmN5KCkge1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBsYWNlaG9sZGVyID0gIHRoaXMuZ2V0RnJlcXVlbmN5UGxhY2Vob2xkZXIodGhpcy55ZWFybHlJbnB1dCk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9IDQgKyAnficgKyB0aGlzLnllYXJseURheSArICd+JyArICh0aGlzLnllYXJseVNlbGVjdGVkICsgMSkgKyAnficgKyB0aGlzLnllYXJseUlucHV0O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNhc2UgPSAneWVhcmx5JztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMueWVhcmx5RmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMueWVhcmx5V2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjEyaHIgPSB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aCh0aGlzLnllYXJseUludGVydmFsKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5saWZlY3ljbGVEZXRhaWxzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnN0YXJ0RnJvbSA9IHRoaXMuc3RhcnREYXRlO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJlcG9ydElkID0gMDtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5lbWl0KHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICBjb25zb2xlLmxvZyhcIiB0aGlzLmZyZXF1ZW5jeUluZm8gPT0+XCIsICB0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RnJlcXVlbmN5UGxhY2Vob2xkZXIoeWVhcmx5SW5wdXQ6IGFueSkgeyBcclxuICAgIGxldCBwbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgY29uc29sZS5sb2coXCJ5ZWFybHlJbnB1dCA9PT5cIiwgeWVhcmx5SW5wdXQpXHJcbiAgICBpZih5ZWFybHlJbnB1dCA9PT0gMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9ICB0aGlzLmdldFBsYWNlaG9sZGVyRm9yU3QyKCk7IFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAgdGhpcy5nZXRQbGFjZWhvbGRlckZvckd0MSgpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG5cclxuICAvLyBpZiB5ZWFybHlJbnB1dCBpcyBzbWFsbGVyIHRoYW4gMiB0aGVuIHRoaXMgZnVuY3Rpb24gd2lsbCBjYWxsZWRcclxuICBnZXRQbGFjZWhvbGRlckZvclN0MigpIHtcclxuICAgIGNvbnNvbGUubG9nKFwidGhpcy55ZWFybHlEYXkgPT0+XCIsIHRoaXMueWVhcmx5RGF5KVxyXG4gICAgbGV0IHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAnMXN0IG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAyKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzJuZCBvZiBldmVyeSAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9ICczcmQgb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPiAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gdGhpcy55ZWFybHlEYXkgKyAndGggb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDMxIHx8IHRoaXMueWVhcmx5RGF5ID09PSAyMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMueWVhcmx5RGF5ICsgJ3N0IG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAyMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMueWVhcmx5RGF5ICsgJ25kIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAyMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMueWVhcmx5RGF5ICsgJ3JkIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coXCJwbGFjZSBob2xkZXIgID09PlwiLCBwbGFjZWhvbGRlcilcclxuICAgIHJldHVybiBwbGFjZWhvbGRlcjtcclxuICB9XHJcblxyXG4gIC8vIGlmIHllYXJseUlucHV0IGlzIGdyZWF0ZXIgdGhhbiAxIHRoZW4gdGhpcyBmdW5jdGlvbiB3aWxsIGNhbGxlZFxyXG4gIGdldFBsYWNlaG9sZGVyRm9yR3QxKCkge1xyXG4gICAgbGV0IHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAnMXN0ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnLCBJbnRlcnZhbDogZXZlcnkgJyArIHRoaXMueWVhcmx5SW5wdXQgKyAnIHllYXJzIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAyKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzJuZCAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgKyB0aGlzLnllYXJseUlucHV0ICsgJyB5ZWFycyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9ICczcmQgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcsIEludGVydmFsOiBldmVyeSAnICsgdGhpcy55ZWFybHlJbnB1dCArICcgeWVhcnMgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPiAzKSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICB0aGlzLnllYXJseURheSArICd0aCBvZiAgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcsIEludGVydmFsOiBldmVyeSAnICsgdGhpcy55ZWFybHlJbnB1dCArICcgeWVhcnMgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDMxIHx8IHRoaXMueWVhcmx5RGF5ID09PSAyMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMueWVhcmx5RGF5ICsgJ3N0IG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAyMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMueWVhcmx5RGF5ICsgJ25kIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAyMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMueWVhcmx5RGF5ICsgJ3JkIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coXCJwbGFjZSBob2xkZXIgID09PlwiLCBwbGFjZWhvbGRlcilcclxuICAgIHJldHVybiBwbGFjZWhvbGRlcjtcclxuICAgIFxyXG4gIH1cclxuXHJcbn1cclxuIl19
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWFubnVhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktYW5udWFsL2ZyZXF1ZW5jeS1hbm51YWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxLQUFLLE1BQU0sTUFBTyxRQUFRLENBQUM7QUFPbEMsTUFBTSxPQUFPLHdCQUF3QjtJQTJCbkMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6QnRELGNBQVMsR0FBZSxFQUFFLENBQUM7UUFFM0IsbUJBQWMsR0FBVyxVQUFVLENBQUM7UUFDcEMsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFDeEIsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsY0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakMseUJBQW9CLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQywyQkFBc0IsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDbEYsNkJBQXdCLEdBQVcsRUFBRSxDQUFDO1FBQ3RDLCtCQUEwQixHQUFXLENBQUMsQ0FBQztRQUN2QyxtQkFBYyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkMscUJBQWdCLEdBQVEsZUFB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QUcsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3JIO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFFckIsQ0FBQzs7O1lBbk5GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyx1M0NBQWdEOzthQUVqRDs7O1lBUFEsZ0JBQWdCOzs7NEJBMkJ0QixLQUFLO21CQUNMLEtBQUs7d0JBRUwsS0FBSzsrQkFFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vZnJlcXVlbmN5LnNlcnZpY2UnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAgJ21vbWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktYW5udWFsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LWFubnVhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LWFubnVhbC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lBbm51YWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBtb250aExpc3Q6IEFycmF5PGFueT4gPSBbXTtcclxuXHJcbiAgeWVhcmx5SW50ZXJ2YWw6IHN0cmluZyA9ICcxMTo1OSBwbSc7XHJcbiAgeWVhcmx5SW5wdXQ6IG51bWJlciA9IDE7XHJcbiAgeWVhcmx5RmFpbGVkOiBudW1iZXIgPSA1O1xyXG4gIHllYXJseVdpbmRvdzogbnVtYmVyID0gMzA7XHJcbiAgeWVhcmx5RGF5ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcbiAgeWVhcmx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSgpO1xyXG4gIHllYXJseUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZSh0aGlzLnllYXJseUxpZmVDeWNsZVN0YXJ0LmdldFRpbWUoKSArIDg2NDAwMDAwKTtcclxuICB5ZWFybHlMaWZlY3ljbGVPY2N1cmFuY2U6IG51bWJlciA9IDEwO1xyXG4gIHllYXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlOiBudW1iZXIgPSAyO1xyXG4gIHllYXJseVNlbGVjdGVkID0gbmV3IERhdGUoKS5nZXRNb250aCgpO1xyXG4gIGxpZmVjeWNsZURldGFpbHM6IGFueSA9ICcwMDAwLTAwLTAwfn4wJztcclxuICBwcmV2aW91c1N0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xyXG4gIGZyZXF1ZW5jeUluZm86IGFueTtcclxuICBzaG9ydE1vbnRoOkFycmF5PHN0cmluZz4gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgZnJlcXVlbmN5RGF0YTogYW55O1xyXG4gIEBJbnB1dCgpIG1vZGU6IGFueT0nJztcclxuXHJcbiAgQElucHV0KCkgc3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcblxyXG4gIEBPdXRwdXQoKSBmcmVxdWVuY3lEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubW9udGhMaXN0ID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcclxuICAgIHRoaXMuc2hvcnRNb250aCA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5tb250aEFycmF5Lm1hcChtb250aCA9PiBtb250aC5zdWJzdHJpbmcoMCwgMykpO1xyXG4gICAgaWYodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4gIT0gJycgJiYgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSkgPT09IDQpIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZUZyZXF1ZW5jeSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRBbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xyXG4gICAgY29uc3QgcGF0dGVybkluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpLm1hcChOdW1iZXIpO1xyXG4gICAgdGhpcy55ZWFybHlTZWxlY3RlZCA9IHBhdHRlcm5JbmZvWzJdIC0gMTtcclxuICAgIGNvbnN0IGxpZmVjeWNsZUluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlLnNwbGl0KCd+ficpO1xyXG4gICAgdGhpcy55ZWFybHlJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWRUaW1lO1xyXG4gICAgdGhpcy55ZWFybHlXaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGEud2luZG93O1xyXG4gICAgdGhpcy55ZWFybHlJbnB1dCA9IHBhdHRlcm5JbmZvWzNdO1xyXG4gICAgdGhpcy55ZWFybHlEYXkgPSBwYXR0ZXJuSW5mb1sxXVxyXG4gICAgaWYoTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pID4gMCkge1xyXG4gICAgICB0aGlzLnllYXJseUxpZmVjeWNsZU9jY3VyYW5jZSA9IE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy55ZWFybHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGUgKiAxMDAwKVxyXG4gICAgdGhpcy5zdGFydERhdGUgPSB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnRGcm9tID8/IHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGVcclxuICAgIHRoaXMueWVhcmx5RmFpbGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZDtcclxuICAgIGlmKCBsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgICAgY29uc3QgZGF0ZVNlbGVjdGVkID0gbW9tZW50KGxpZmVjeWNsZUluZm9bMF0gKyAnIDExOjU5IHBtJywgJ0RELU1NTU0tWVlZWSBISDptbSBhJykudW5peCgpXHJcbiAgICAgIHRoaXMueWVhcmx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKGRhdGVTZWxlY3RlZCAqIDEwMDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZTtcclxuICAgIGlmKCB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlID09ICcwMDAwLTAwLTAwfn4wJykge1xyXG4gICAgICB0aGlzLnllYXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIH0gZWxzZSBpZihsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgICAgdGhpcy55ZWFybHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnllYXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6c3RyaW5nKSB7XHJcbiAgICB0aGlzLnllYXJseUludGVydmFsID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldEFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgZGF0ZUNoYW5nZShldmVudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnllYXJseURheSA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRBbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHZhbHVlQ2hhbmdlZEZpcnN0KGV2ZW50OiBhbnkpIHtcclxuICAgdGhpcy55ZWFybHlJbnB1dCA9IGV2ZW50LnZhbHVlO1xyXG4gICB0aGlzLmdldEFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRNb250aChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnllYXJseVNlbGVjdGVkID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBsaWZlY3ljbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG5cclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gZXZlbnQuZW5kc0J5ICsgJ35+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+JyArIGV2ZW50LmVuZGFmdGVyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LnN0YXJ0RnJvbS50b1N0cmluZygpLmxlbmd0aCA+IDEwKSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20pO1xyXG4gICAgfVxyXG4gICAgbGV0IGVuZEJ5RGF0ZSA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwICsgODY0MDAwMDApO1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09IDApIHtcclxuICAgICAgZW5kQnlEYXRlID0gZXZlbnQuZW5kc0J5ID8gbW9tZW50KGV2ZW50LmVuZHNCeSArICcgMDA6MDA6MDAnLCAnREQtTU1NLVlZWVkgSEg6bW06c3MnKS51bml4KCkgOiBlbmRCeURhdGU7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBcclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBsZXRlZCcpIHtcclxuICAgICAgICAgIHRoaXMueWVhcmx5V2luZG93ID0gZXZlbnQudmFsdWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMueWVhcmx5RmFpbGVkID0gZXZlbnQudmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gZnJlcXVlbmN5IHBhdHRlcm4gYW5kIGRldGFpbHMgaW5mb1xyXG4gIGdldEFubnVhbEZyZXF1ZW5jeSgpIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wbGFjZWhvbGRlciA9ICB0aGlzLmdldEZyZXF1ZW5jeVBsYWNlaG9sZGVyKE51bWJlcih0aGlzLnllYXJseUlucHV0KSk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9IDQgKyAnficgKyB0aGlzLnllYXJseURheSArICd+JyArICh0aGlzLnllYXJseVNlbGVjdGVkICsgMSkgKyAnficgKyB0aGlzLnllYXJseUlucHV0O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNhc2UgPSAneWVhcmx5JztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMueWVhcmx5RmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMueWVhcmx5V2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjEyaHIgPSB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aCh0aGlzLnllYXJseUludGVydmFsKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5saWZlY3ljbGVEZXRhaWxzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnN0YXJ0RnJvbSA9IHRoaXMuc3RhcnREYXRlO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJlcG9ydElkID0gMDtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5lbWl0KHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgfVxyXG5cclxuICBnZXRGcmVxdWVuY3lQbGFjZWhvbGRlcih5ZWFybHlJbnB1dDogYW55KSB7IFxyXG4gICAgbGV0IHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICBpZih5ZWFybHlJbnB1dCA9PT0gMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9ICB0aGlzLmdldFBsYWNlaG9sZGVyRm9yU3QyKCk7IFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAgdGhpcy5nZXRQbGFjZWhvbGRlckZvckd0MSgpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG5cclxuICAvLyBpZiB5ZWFybHlJbnB1dCBpcyBzbWFsbGVyIHRoYW4gMiB0aGVuIHRoaXMgZnVuY3Rpb24gd2lsbCBjYWxsZWRcclxuICBnZXRQbGFjZWhvbGRlckZvclN0MigpIHtcclxuICAgIGxldCBwbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzFzdCBvZiBldmVyeSAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9ICcybmQgb2YgZXZlcnkgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAnM3JkIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID4gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMueWVhcmx5RGF5ICsgJ3RoIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAzMSB8fCB0aGlzLnllYXJseURheSA9PT0gMjEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnllYXJseURheSArICdzdCBvZiBldmVyeSAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMjIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnllYXJseURheSArICduZCBvZiBldmVyeSAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMjMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnllYXJseURheSArICdyZCBvZiBldmVyeSAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIHJldHVybiBwbGFjZWhvbGRlcjtcclxuICB9XHJcblxyXG4gIC8vIGlmIHllYXJseUlucHV0IGlzIGdyZWF0ZXIgdGhhbiAxIHRoZW4gdGhpcyBmdW5jdGlvbiB3aWxsIGNhbGxlZFxyXG4gIGdldFBsYWNlaG9sZGVyRm9yR3QxKCkge1xyXG4gICAgbGV0IHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAnMXN0ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnLCBJbnRlcnZhbDogZXZlcnkgJyArIHRoaXMueWVhcmx5SW5wdXQgKyAnIHllYXJzIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAyKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gJzJuZCAnICsgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICsgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgKyB0aGlzLnllYXJseUlucHV0ICsgJyB5ZWFycyBieSAnICsgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9ICczcmQgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcsIEludGVydmFsOiBldmVyeSAnICsgdGhpcy55ZWFybHlJbnB1dCArICcgeWVhcnMgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPiAzKSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICB0aGlzLnllYXJseURheSArICd0aCBvZiAgJyArIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArICcsIEludGVydmFsOiBldmVyeSAnICsgdGhpcy55ZWFybHlJbnB1dCArICcgeWVhcnMgYnkgJyArIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDMxIHx8IHRoaXMueWVhcmx5RGF5ID09PSAyMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMueWVhcmx5RGF5ICsgJ3N0IG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAyMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMueWVhcmx5RGF5ICsgJ25kIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAyMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMueWVhcmx5RGF5ICsgJ3JkIG9mIGV2ZXJ5ICcgKyB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gKyAnIGJ5ICcgKyB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xyXG4gICAgXHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -132,7 +132,7 @@ export class FrequencyBiannualComponent {
132
132
  this.frequencyInfo.lifecycleDetails = this.lifecycleDetails;
133
133
  this.frequencyInfo.startFrom = this.startDate;
134
134
  this.frequencyInfo.reportId = 0;
135
- this.frequencyInfo.placeholder = this.getFrequencyPlaceholder(this.biannualInput);
135
+ this.frequencyInfo.placeholder = this.getFrequencyPlaceholder(Number(this.biannualInput));
136
136
  this.frequencyDetails.emit(this.frequencyInfo);
137
137
  console.log(" this.frequencyInfo ==>", this.frequencyInfo);
138
138
  }
@@ -181,4 +181,4 @@ FrequencyBiannualComponent.propDecorators = {
181
181
  frequencyData: [{ type: Input }],
182
182
  frequencyDetails: [{ type: Output }]
183
183
  };
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWJpYW5udWFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1iaWFubnVhbC9mcmVxdWVuY3ktYmlhbm51YWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU8sc0JBQXNCLENBQUM7QUFPekQsTUFBTSxPQUFPLDBCQUEwQjtJQTJCckMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6QnRELHFCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUM5QixrQkFBYSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25DLDJCQUFzQixHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDcEMsNkJBQXdCLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ3RGLCtCQUEwQixHQUFHLEVBQUUsQ0FBQztRQUNoQyxpQ0FBNEIsR0FBRyxDQUFDLENBQUM7UUFDakMscUJBQWdCLEdBQWtCLEVBQUUsQ0FBQztRQUNyQyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFMUIsbUJB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SSxhQUFhLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLFdBQVcsR0FBRyxhQUFhLEdBQUcsY0FBYyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUMxRztRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7OztZQS9LRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsdzFDQUFrRDs7YUFFbkQ7OztZQU5RLGdCQUFnQjs7O21CQXlCdEIsS0FBSzt3QkFFTCxLQUFLOzRCQUNMLEtBQUs7K0JBR0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICBcIi4uL2ZyZXF1ZW5jeS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktYmlhbm51YWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktYmlhbm51YWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1iaWFubnVhbC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lCaWFubnVhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGJpYW5udWFsSW50ZXJ2YWwgPSAnMTE6NTkgcG0nO1xyXG4gIGJpYW5udWFsSW5wdXQgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcclxuICBiaWFubnVhbEZhaWxlZCA9IDU7XHJcbiAgYmlhbm51YWxXaW5kb3cgPSAzMDtcclxuICBiaWFubnVhbERheSA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG4gIGJpYW5udWFsTGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSgpO1xyXG4gIGJpYW5udWFsTGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKHRoaXMuYmlhbm51YWxMaWZlQ3ljbGVTdGFydC5nZXRUaW1lKCkgKyA4NjQwMDAwMCk7XHJcbiAgYmlhbm51YWxMaWZlY3ljbGVPY2N1cmFuY2UgPSAxMDtcclxuICBiaWFubnVhbFNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICBiaWFubnVhbFNlbGVjdGVkOiBBcnJheTxudW1iZXI+ID0gW107XHJcbiAgYmlhbm51YWxMaWZlY3ljbGUgPSBmYWxzZTtcclxuICBmcmVxdWVuY3lJbmZvOiBhbnk7XHJcbiAgbW9udGhOYW1lQXJyYXk6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuICBzaG9ydE1vbnRoOiBBcnJheTxzdHJpbmc+ID0gW107XHJcbiAgc2VsZWN0ZWRNb250aGx5OiBBcnJheTxudW1iZXI+ID0gW107XHJcblxyXG4gIEBJbnB1dCgpIG1vZGU6IGFueT0nJztcclxuXHJcbiAgQElucHV0KCkgc3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcbiAgQElucHV0KCkgZnJlcXVlbmN5RGF0YTogYW55O1xyXG4gIGxpZmVjeWNsZURldGFpbHM6IGFueSA9ICcwMDAwLTAwLTAwfn4wJztcclxuXHJcbiAgQE91dHB1dCgpIGZyZXF1ZW5jeURldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcclxuICAgIHRoaXMubW9udGhOYW1lQXJyYXkgPSBbLi4ubmV3IFNldCh0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheSldO1xyXG4gICAgdGhpcy5zaG9ydE1vbnRoID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXkubWFwKG1vbnRoID0+IG1vbnRoLnN1YnN0cmluZygwLCAzKSk7XHJcbiAgICBjb25zb2xlLmxvZyhcInRoaXMuZnJlcXVlbmN5RGF0YSA9PT5cIiwgdGhpcy5mcmVxdWVuY3lEYXRhKVxyXG4gICAgaWYodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4gIT0gJycgJiYgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSkgPT09IDkpIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZUZyZXF1ZW5jeSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpXHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVxyXG4gICAgdGhpcy5iaWFubnVhbFNlbGVjdGVkID0gcGF0dGVybkluZm9bMl0uc3BsaXQoJywnKS5tYXAoKGVsZTogYW55KSA9PiBOdW1iZXIoZWxlKSAtIDEpXHJcbiAgICBjb25zdCBsaWZlY3ljbGVJbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZS5zcGxpdCgnfn4nKTtcclxuICAgIHRoaXMuYmlhbm51YWxJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWRUaW1lO1xyXG4gICAgdGhpcy5iaWFubnVhbFdpbmRvdyA9IHRoaXMuZnJlcXVlbmN5RGF0YS53aW5kb3c7XHJcbiAgICB0aGlzLmJpYW5udWFsSW5wdXQgPSBwYXR0ZXJuSW5mb1sxXTtcclxuICAgIGlmKE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKSA+IDApIHtcclxuICAgICAgdGhpcy5iaWFubnVhbExpZmVjeWNsZU9jY3VyYW5jZSA9IE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKTtcclxuICAgIH1cclxuICBcclxuICAgIHRoaXMuYmlhbm51YWxMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGUgKiAxMDAwKSBcclxuICAgIHRoaXMuYmlhbm51YWxGYWlsZWQgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkO1xyXG4gICAgaWYoIGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQobGlmZWN5Y2xlSW5mb1swXSArICcgMTE6NTkgcG0nLCAnREQtTU1NTS1ZWVlZIEhIOm1tIGEnKS51bml4KClcclxuICAgICAgdGhpcy5iaWFubnVhbExpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShkYXRlU2VsZWN0ZWQgKiAxMDAwKTtcclxuICAgIH1cclxuICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGU7XHJcbiAgICBpZiggIHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUgPT0gJzAwMDAtMDAtMDB+fjAnKSB7XHJcbiAgICAgIHRoaXMuYmlhbm51YWxTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDI7XHJcbiAgICB9IGVsc2UgaWYobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMuYmlhbm51YWxTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmJpYW5udWFsU2VsZXRlZExpZmVjeWNsZVR5cGUgPSAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Nb250aFNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZXZlbnRcIiwgZXZlbnQpXHJcbiAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xyXG4gICAgIHRoaXMuYmlhbm51YWxTZWxlY3RlZC5wdXNoKGV2ZW50LmluZGV4KTtcclxuICAgfSBlbHNlIHtcclxuICAgICB0aGlzLmJpYW5udWFsU2VsZWN0ZWQgPSB0aGlzLmJpYW5udWFsU2VsZWN0ZWQuZmlsdGVyKChlbGUpID0+IGVsZSAhPT0gZXZlbnQuaW5kZXgpO1xyXG4gICB9XHJcbiAgIHRoaXMuZ2V0Qmlhbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHZhbHVlQ2hhbmdlZEZpcnN0KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKCdldmVudCA9PT4nLCBldmVudCk7XHJcbiAgICB0aGlzLmJpYW5udWFsSW5wdXQgPSBldmVudC52YWx1ZTtcclxuICAgIHRoaXMuZ2V0Qmlhbm51YWxGcmVxdWVuY3koKTtcclxuICAgfVxyXG5cclxuICAgb25UaW1lQ2hhbmdlZChldmVudDpzdHJpbmcpIHtcclxuICAgIGNvbnNvbGUubG9nKFwidGltZSBldmVudCA9PlwiLCBldmVudClcclxuICAgIHRoaXMuYmlhbm51YWxJbnRlcnZhbCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBsZXRlZCcpIHtcclxuICAgICAgdGhpcy5iaWFubnVhbFdpbmRvdyA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5iaWFubnVhbEZhaWxlZCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG59XHJcblxyXG4gIGxpZmVjeWNsZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygnZXZlbnQ9PT4nLCBldmVudCk7XHJcblxyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgMDpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSBldmVudC5lbmRzQnkgKyAnfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4nICsgZXZlbnQuZW5kYWZ0ZXI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQuc3RhcnRGcm9tLnRvU3RyaW5nKCkubGVuZ3RoID4gMTApIHtcclxuICAgICAgY29uc29sZS5sb2coXCJzdGFydCAxMTExXCIpXHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwic3RhcnQgMTExMTIyMjJcIilcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSk7XHJcbiAgICB9XHJcbiAgICBsZXQgZW5kQnlEYXRlID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDAgKyA4NjQwMDAwMCk7XHJcbiAgICBjb25zb2xlLmxvZygnc3RyYXQgZGF0ZSA9PT09PicsIHRoaXMuc3RhcnREYXRlKTtcclxuICAgIGNvbnNvbGUubG9nKCdlbmQgZGF0ZScsIGVuZEJ5RGF0ZSk7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gMCkge1xyXG4gICAgICBlbmRCeURhdGUgPSBldmVudC5lbmRzQnkgPyBtb21lbnQoZXZlbnQuZW5kc0J5ICsgJyAwMDowMDowMCcsICdERC1NTU0tWVlZWSBISDptbTpzcycpLnVuaXgoKSA6IGVuZEJ5RGF0ZTtcclxuICAgICAgY29uc29sZS5sb2coJ2VuZEJ5RGF0ZScsIGVuZEJ5RGF0ZSk7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0Qmlhbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGdldEJpYW5udWFsRnJlcXVlbmN5KCkge1xyXG4gICAgdGhpcy5iaWFubnVhbFNlbGVjdGVkID0gdGhpcy5iaWFubnVhbFNlbGVjdGVkLnNvcnQoKG4xLCBuMikgPT4gbjEgLSBuMik7XHJcbiAgICBjb25zdCBtb250aEluZGV4ID0gdGhpcy5iaWFubnVhbFNlbGVjdGVkLm1hcCgoZWxlKSA9PiBlbGUgKyAxKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wYXR0ZXJuID0gOSArICd+JyArIHRoaXMuYmlhbm51YWxJbnB1dCArICd+JyArIG1vbnRoSW5kZXguam9pbignLCcpICsgJ34wJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ2JpYW5udWFsJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMuYmlhbm51YWxGYWlsZWQ7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ud2luZG93ID0gdGhpcy5iaWFubnVhbFdpbmRvdztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aCh0aGlzLmJpYW5udWFsSW50ZXJ2YWwpO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmxpZmVjeWNsZURldGFpbHMgPSB0aGlzLmxpZmVjeWNsZURldGFpbHM7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uc3RhcnRGcm9tID0gdGhpcy5zdGFydERhdGU7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucmVwb3J0SWQgPSAwO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBsYWNlaG9sZGVyID0gdGhpcy5nZXRGcmVxdWVuY3lQbGFjZWhvbGRlcih0aGlzLmJpYW5udWFsSW5wdXQpO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmVtaXQodGhpcy5mcmVxdWVuY3lJbmZvKTtcclxuICAgIGNvbnNvbGUubG9nKFwiIHRoaXMuZnJlcXVlbmN5SW5mbyA9PT5cIiwgIHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgfVxyXG5cclxuICBnZXRGcmVxdWVuY3lQbGFjZWhvbGRlcihiaWFubnVhbElucHV0OiBudW1iZXIpIHtcclxuICAgIGxldCBwbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRNb250aCA9IHRoaXMuYmlhbm51YWxTZWxlY3RlZC5tYXAoKGVsZSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5zaG9ydE1vbnRoW2VsZV07XHJcbiAgICB9KTtcclxuICAgIFxyXG4gICAgaWYgKGJpYW5udWFsSW5wdXQgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAnMXN0IG9mIGV2ZXJ5ICcgKyBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgKyAnIGJ5ICcgKyB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKGJpYW5udWFsSW5wdXQgPT09IDIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAnMm5kIG9mIGV2ZXJ5ICcgKyBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgKyAnIGJ5ICcgKyB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKGJpYW5udWFsSW5wdXQgPT09IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSAnM3JkIG9mIGV2ZXJ5ICcgKyBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgKyAnIGJ5ICcgKyB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKGJpYW5udWFsSW5wdXQgPT09IDIxIHx8IGJpYW5udWFsSW5wdXQgPT09IDMxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gYmlhbm51YWxJbnB1dCArICdzdCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID09PSAyMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IGJpYW5udWFsSW5wdXQgKyAnbmQgb2YgZXZlcnkgJyArIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArICcgYnkgJyArIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAoYmlhbm51YWxJbnB1dCA9PT0gMjMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSBiaWFubnVhbElucHV0ICsgJ3JkIG9mIGV2ZXJ5ICcgKyBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgKyAnIGJ5ICcgKyB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKGJpYW5udWFsSW5wdXQgPiAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gYmlhbm51YWxJbnB1dCArICd0aCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWJpYW5udWFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1iaWFubnVhbC9mcmVxdWVuY3ktYmlhbm51YWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU8sc0JBQXNCLENBQUM7QUFPekQsTUFBTSxPQUFPLDBCQUEwQjtJQTJCckMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6QnRELHFCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUM5QixrQkFBYSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25DLDJCQUFzQixHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDcEMsNkJBQXdCLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ3RGLCtCQUEwQixHQUFHLEVBQUUsQ0FBQztRQUNoQyxpQ0FBNEIsR0FBRyxDQUFDLENBQUM7UUFDakMscUJBQWdCLEdBQWtCLEVBQUUsQ0FBQztRQUNyQyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFMUIsbUJB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O1NBQzFHO2FBQU0sSUFBSSxhQUFhLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLFdBQVcsR0FBRyxhQUFhLEdBQUcsY0FBYyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUMxRztRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7OztZQS9LRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsdzFDQUFrRDs7YUFFbkQ7OztZQU5RLGdCQUFnQjs7O21CQXlCdEIsS0FBSzt3QkFFTCxLQUFLOzRCQUNMLEtBQUs7K0JBR0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICBcIi4uL2ZyZXF1ZW5jeS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktYmlhbm51YWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktYmlhbm51YWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1iaWFubnVhbC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lCaWFubnVhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGJpYW5udWFsSW50ZXJ2YWwgPSAnMTE6NTkgcG0nO1xyXG4gIGJpYW5udWFsSW5wdXQgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcclxuICBiaWFubnVhbEZhaWxlZCA9IDU7XHJcbiAgYmlhbm51YWxXaW5kb3cgPSAzMDtcclxuICBiaWFubnVhbERheSA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG4gIGJpYW5udWFsTGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSgpO1xyXG4gIGJpYW5udWFsTGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKHRoaXMuYmlhbm51YWxMaWZlQ3ljbGVTdGFydC5nZXRUaW1lKCkgKyA4NjQwMDAwMCk7XHJcbiAgYmlhbm51YWxMaWZlY3ljbGVPY2N1cmFuY2UgPSAxMDtcclxuICBiaWFubnVhbFNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICBiaWFubnVhbFNlbGVjdGVkOiBBcnJheTxudW1iZXI+ID0gW107XHJcbiAgYmlhbm51YWxMaWZlY3ljbGUgPSBmYWxzZTtcclxuICBmcmVxdWVuY3lJbmZvOiBhbnk7XHJcbiAgbW9udGhOYW1lQXJyYXk6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuICBzaG9ydE1vbnRoOiBBcnJheTxzdHJpbmc+ID0gW107XHJcbiAgc2VsZWN0ZWRNb250aGx5OiBBcnJheTxudW1iZXI+ID0gW107XHJcblxyXG4gIEBJbnB1dCgpIG1vZGU6IGFueT0nJztcclxuXHJcbiAgQElucHV0KCkgc3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcbiAgQElucHV0KCkgZnJlcXVlbmN5RGF0YTogYW55O1xyXG4gIGxpZmVjeWNsZURldGFpbHM6IGFueSA9ICcwMDAwLTAwLTAwfn4wJztcclxuXHJcbiAgQE91dHB1dCgpIGZyZXF1ZW5jeURldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcclxuICAgIHRoaXMubW9udGhOYW1lQXJyYXkgPSBbLi4ubmV3IFNldCh0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheSldO1xyXG4gICAgdGhpcy5zaG9ydE1vbnRoID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXkubWFwKG1vbnRoID0+IG1vbnRoLnN1YnN0cmluZygwLCAzKSk7XHJcbiAgICBjb25zb2xlLmxvZyhcInRoaXMuZnJlcXVlbmN5RGF0YSA9PT5cIiwgdGhpcy5mcmVxdWVuY3lEYXRhKVxyXG4gICAgaWYodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4gIT0gJycgJiYgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSkgPT09IDkpIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZUZyZXF1ZW5jeSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpXHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVxyXG4gICAgdGhpcy5iaWFubnVhbFNlbGVjdGVkID0gcGF0dGVybkluZm9bMl0uc3BsaXQoJywnKS5tYXAoKGVsZTogYW55KSA9PiBOdW1iZXIoZWxlKSAtIDEpXHJcbiAgICBjb25zdCBsaWZlY3ljbGVJbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZS5zcGxpdCgnfn4nKTtcclxuICAgIHRoaXMuYmlhbm51YWxJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWRUaW1lO1xyXG4gICAgdGhpcy5iaWFubnVhbFdpbmRvdyA9IHRoaXMuZnJlcXVlbmN5RGF0YS53aW5kb3c7XHJcbiAgICB0aGlzLmJpYW5udWFsSW5wdXQgPSBwYXR0ZXJuSW5mb1sxXTtcclxuICAgIGlmKE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKSA+IDApIHtcclxuICAgICAgdGhpcy5iaWFubnVhbExpZmVjeWNsZU9jY3VyYW5jZSA9IE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKTtcclxuICAgIH1cclxuICBcclxuICAgIHRoaXMuYmlhbm51YWxMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGUgKiAxMDAwKSBcclxuICAgIHRoaXMuYmlhbm51YWxGYWlsZWQgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkO1xyXG4gICAgaWYoIGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQobGlmZWN5Y2xlSW5mb1swXSArICcgMTE6NTkgcG0nLCAnREQtTU1NTS1ZWVlZIEhIOm1tIGEnKS51bml4KClcclxuICAgICAgdGhpcy5iaWFubnVhbExpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShkYXRlU2VsZWN0ZWQgKiAxMDAwKTtcclxuICAgIH1cclxuICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGU7XHJcbiAgICBpZiggIHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUgPT0gJzAwMDAtMDAtMDB+fjAnKSB7XHJcbiAgICAgIHRoaXMuYmlhbm51YWxTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDI7XHJcbiAgICB9IGVsc2UgaWYobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMuYmlhbm51YWxTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmJpYW5udWFsU2VsZXRlZExpZmVjeWNsZVR5cGUgPSAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Nb250aFNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZXZlbnRcIiwgZXZlbnQpXHJcbiAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xyXG4gICAgIHRoaXMuYmlhbm51YWxTZWxlY3RlZC5wdXNoKGV2ZW50LmluZGV4KTtcclxuICAgfSBlbHNlIHtcclxuICAgICB0aGlzLmJpYW5udWFsU2VsZWN0ZWQgPSB0aGlzLmJpYW5udWFsU2VsZWN0ZWQuZmlsdGVyKChlbGUpID0+IGVsZSAhPT0gZXZlbnQuaW5kZXgpO1xyXG4gICB9XHJcbiAgIHRoaXMuZ2V0Qmlhbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHZhbHVlQ2hhbmdlZEZpcnN0KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKCdldmVudCA9PT4nLCBldmVudCk7XHJcbiAgICB0aGlzLmJpYW5udWFsSW5wdXQgPSBldmVudC52YWx1ZTtcclxuICAgIHRoaXMuZ2V0Qmlhbm51YWxGcmVxdWVuY3koKTtcclxuICAgfVxyXG5cclxuICAgb25UaW1lQ2hhbmdlZChldmVudDpzdHJpbmcpIHtcclxuICAgIGNvbnNvbGUubG9nKFwidGltZSBldmVudCA9PlwiLCBldmVudClcclxuICAgIHRoaXMuYmlhbm51YWxJbnRlcnZhbCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBsZXRlZCcpIHtcclxuICAgICAgdGhpcy5iaWFubnVhbFdpbmRvdyA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5iaWFubnVhbEZhaWxlZCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG59XHJcblxyXG4gIGxpZmVjeWNsZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygnZXZlbnQ9PT4nLCBldmVudCk7XHJcblxyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgMDpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSBldmVudC5lbmRzQnkgKyAnfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4nICsgZXZlbnQuZW5kYWZ0ZXI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQuc3RhcnRGcm9tLnRvU3RyaW5nKCkubGVuZ3RoID4gMTApIHtcclxuICAgICAgY29uc29sZS5sb2coXCJzdGFydCAxMTExXCIpXHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwic3RhcnQgMTExMTIyMjJcIilcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSk7XHJcbiAgICB9XHJcbiAgICBsZXQgZW5kQnlEYXRlID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDAgKyA4NjQwMDAwMCk7XHJcbiAgICBjb25zb2xlLmxvZygnc3RyYXQgZGF0ZSA9PT09PicsIHRoaXMuc3RhcnREYXRlKTtcclxuICAgIGNvbnNvbGUubG9nKCdlbmQgZGF0ZScsIGVuZEJ5RGF0ZSk7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gMCkge1xyXG4gICAgICBlbmRCeURhdGUgPSBldmVudC5lbmRzQnkgPyBtb21lbnQoZXZlbnQuZW5kc0J5ICsgJyAwMDowMDowMCcsICdERC1NTU0tWVlZWSBISDptbTpzcycpLnVuaXgoKSA6IGVuZEJ5RGF0ZTtcclxuICAgICAgY29uc29sZS5sb2coJ2VuZEJ5RGF0ZScsIGVuZEJ5RGF0ZSk7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0Qmlhbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGdldEJpYW5udWFsRnJlcXVlbmN5KCkge1xyXG4gICAgdGhpcy5iaWFubnVhbFNlbGVjdGVkID0gdGhpcy5iaWFubnVhbFNlbGVjdGVkLnNvcnQoKG4xLCBuMikgPT4gbjEgLSBuMik7XHJcbiAgICBjb25zdCBtb250aEluZGV4ID0gdGhpcy5iaWFubnVhbFNlbGVjdGVkLm1hcCgoZWxlKSA9PiBlbGUgKyAxKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wYXR0ZXJuID0gOSArICd+JyArIHRoaXMuYmlhbm51YWxJbnB1dCArICd+JyArIG1vbnRoSW5kZXguam9pbignLCcpICsgJ34wJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ2JpYW5udWFsJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMuYmlhbm51YWxGYWlsZWQ7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ud2luZG93ID0gdGhpcy5iaWFubnVhbFdpbmRvdztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aCh0aGlzLmJpYW5udWFsSW50ZXJ2YWwpO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmxpZmVjeWNsZURldGFpbHMgPSB0aGlzLmxpZmVjeWNsZURldGFpbHM7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uc3RhcnRGcm9tID0gdGhpcy5zdGFydERhdGU7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucmVwb3J0SWQgPSAwO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBsYWNlaG9sZGVyID0gdGhpcy5nZXRGcmVxdWVuY3lQbGFjZWhvbGRlcihOdW1iZXIodGhpcy5iaWFubnVhbElucHV0KSk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gICAgY29uc29sZS5sb2coXCIgdGhpcy5mcmVxdWVuY3lJbmZvID09PlwiLCAgdGhpcy5mcmVxdWVuY3lJbmZvKTtcclxuICB9XHJcblxyXG4gIGdldEZyZXF1ZW5jeVBsYWNlaG9sZGVyKGJpYW5udWFsSW5wdXQ6IG51bWJlcikge1xyXG4gICAgbGV0IHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICBjb25zdCBzZWxlY3RlZE1vbnRoID0gdGhpcy5iaWFubnVhbFNlbGVjdGVkLm1hcCgoZWxlKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNob3J0TW9udGhbZWxlXTtcclxuICAgIH0pO1xyXG4gICAgXHJcbiAgICBpZiAoYmlhbm51YWxJbnB1dCA9PT0gMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9ICcxc3Qgb2YgZXZlcnkgJyArIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArICcgYnkgJyArIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAoYmlhbm51YWxJbnB1dCA9PT0gMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9ICcybmQgb2YgZXZlcnkgJyArIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArICcgYnkgJyArIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAoYmlhbm51YWxJbnB1dCA9PT0gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9ICczcmQgb2YgZXZlcnkgJyArIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArICcgYnkgJyArIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAoYmlhbm51YWxJbnB1dCA9PT0gMjEgfHwgYmlhbm51YWxJbnB1dCA9PT0gMzEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSBiaWFubnVhbElucHV0ICsgJ3N0IG9mIGV2ZXJ5ICcgKyBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgKyAnIGJ5ICcgKyB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKGJpYW5udWFsSW5wdXQgPT09IDIyKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gYmlhbm51YWxJbnB1dCArICduZCBvZiBldmVyeSAnICsgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID09PSAyMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IGJpYW5udWFsSW5wdXQgKyAncmQgb2YgZXZlcnkgJyArIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArICcgYnkgJyArIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAoYmlhbm51YWxJbnB1dCA+IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSBiaWFubnVhbElucHV0ICsgJ3RoIG9mIGV2ZXJ5ICcgKyBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgKyAnIGJ5ICcgKyB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -240,10 +240,10 @@ export class FrequencyContainerComponent {
240
240
  break;
241
241
  default: isInvalid = false;
242
242
  }
243
- debugger;
244
243
  return isInvalid;
245
244
  }
246
245
  onFrequencySelected(event) {
246
+ console.log("event.....", event);
247
247
  this.frequencyData = event;
248
248
  this.isNextDisabled = this.isInvalid();
249
249
  }
@@ -274,4 +274,4 @@ FrequencyContainerComponent.propDecorators = {
274
274
  closeFrequency: [{ type: Output }],
275
275
  mode: [{ type: Input }]
276
276
  };
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktY29udGFpbmVyL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBTzlFLE1BQU0sT0FBTywyQkFBMkI7SUEyRHRDLFlBQ1UsZ0JBQWtDLEVBQ2xDLFFBQXlCO1FBRHpCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUE1RG5DLGlCQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsU0FBUyxDQUFDO1FBR2pCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLFNBQUksR0FBTSxFQUFFLENBQUM7UUFPdEIsa0JBQWEsR0FBRztZQUNkO2dCQUNFLElBQUksRUFBRSxPQUFPO2dCQUNiLElBQUksRUFBRSxPQUFPO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxJQUFJLEVB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QVEsZ0JBQWdCLEVBQUU7WUFDeEIsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO2dCQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDO2dCQUFDLE1BQU07WUFDakYsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO2dCQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO2dCQUFDLE1BQU07WUFDN0UsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO2dCQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDO2dCQUFDLE1BQU07WUFDL0UsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO2dCQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDO2dCQUFDLE1BQU07WUFDakYsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO2dCQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDO2dCQUFBLE1BQU07WUFDaEYsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO2dCQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO2dCQUFDLE1BQU07WUFDN0UsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztnQkFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDO2dCQUFDLE1BQU07WUFDdkssS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO2dCQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO2dCQUFDLE1BQU07WUFDckYsS0FBSyxDQUFDO2dCQUFF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QUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7O1lBaFBGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyx1akpBQW1EOzthQUVwRDs7O1lBUFEsZ0JBQWdCO1lBQ2hCLGVBQWU7OzsrQkFXckIsS0FBSztnQ0FDTCxNQUFNOzZCQUNOLE1BQU07bUJBQ04sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gXCIuLi9mcmVxdWVuY3kuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktY29udGFpbmVyLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBmcmVxdWVuY3lUYWIgPSAnZGFpbHknO1xyXG4gIGN1cnJlbnRUYWJOYW1lID0gJ2EgRGFpbHknO1xyXG5cclxuICBASW5wdXQoKSBmcmVxdWVuY3lEZXRhaWxzOiBhbnk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgbW9kZTogYW55PScnO1xyXG5cclxuXHJcblxyXG5cclxuICBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcblxyXG4gIGZyZXF1ZW5jeUxpc3QgPSBbXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdEYWlseScsXHJcbiAgICAgIHR5cGU6ICdkYWlseSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdXZWVrbHknLFxyXG4gICAgICB0eXBlOiAnd2Vla2x5J1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ01vbnRobHknLFxyXG4gICAgICB0eXBlOiAnbW9udGhseSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdRdWFydGVybHknLFxyXG4gICAgICB0eXBlOiAncXVhcnRlcmx5J1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0JpYW5udWFsJyxcclxuICAgICAgdHlwZTogJ2JpYW5udWFsJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0FubnVhbCcsXHJcbiAgICAgIHR5cGU6ICdhbm51YWwnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnT25lIFRpbWUnLFxyXG4gICAgICB0eXBlOiAnb25lVGltZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdSYW5kb20nLFxyXG4gICAgICB0eXBlOiAncmFuZG9tJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ09uIENvbXBsZXRpb24gT2YnLFxyXG4gICAgICB0eXBlOiAnb25Db21wbGV0aW9uT2YnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnT25nb2luZycsXHJcbiAgICAgIHR5cGU6ICdvbmdvaW5nJ1xyXG4gICAgfSxcclxuICBdXHJcblxyXG4gIHNlbGVjdGVkRnJlcXVlbmN5RGF0YTogYW55O1xyXG4gIGlzTmV4dERpc2FibGVkIDphbnkgID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNuYWNrYmFyOiBTbmFja0JhclNlcnZpY2VcclxuICAgICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5RGV0YWlscy5wYXR0ZXJuICE9ICcnKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKVxyXG4gICAgfVxyXG4gICAgY29uc3QgaGlkZUVsZW1lbnRzID0gWydyYW5kb20nLCdvbkNvbXBsZXRpb25PZicsJ29uZ29pbmcnXVxyXG4gICAgaWYodGhpcy5tb2RlPT0ncG9saWN5Jyl7XHJcbiAgICAgIGhpZGVFbGVtZW50cy5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4geyAgICAgICAgXHJcbiAgICAgICAgICBcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mcmVxdWVuY3lMaXN0LmZpbmRJbmRleCgoZWxlbWVudEluZGV4OmFueSk9PmVsZW1lbnRJbmRleC50eXBlPT1lbGVtZW50KTtcclxuICAgICAgICAgIHRoaXMuZnJlcXVlbmN5TGlzdC5zcGxpY2UoaW5kZXgsMSlcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBoaWRlRWxlbWVudHMyID0gWydkYWlseScsJ3JhbmRvbScsJ29uQ29tcGxldGlvbk9mJywnb25nb2luZyddXHJcbiAgICBpZih0aGlzLm1vZGU9PSdyZXZpZXdlckZyZXF1ZW5jeScpe1xyXG4gICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9IHRoaXMuZnJlcXVlbmN5RGV0YWlscz8ucGF0dGVybiA9PSAnJyA/ICd3ZWVrbHknOiB0aGlzLmZyZXF1ZW5jeVRhYlxyXG4gICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gdGhpcy5mcmVxdWVuY3lEZXRhaWxzPy5wYXR0ZXJuID09ICcnID8gJ2Egd2Vla2x5JzogdGhpcy5jdXJyZW50VGFiTmFtZVxyXG4gICAgICBcclxuICAgICAgaGlkZUVsZW1lbnRzMi5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4geyAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZyZXF1ZW5jeUxpc3QuZmluZEluZGV4KChlbGVtZW50SW5kZXg6YW55KT0+ZWxlbWVudEluZGV4LnR5cGU9PWVsZW1lbnQpO1xyXG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3lMaXN0LnNwbGljZShpbmRleCwxKVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIFxyXG5cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgXHJcbiAgICB0aGlzLnNlbGVjdGVkRnJlcXVlbmN5RGF0YSA9IE9iamVjdC5hc3NpZ24oey4uLnRoaXMuZnJlcXVlbmN5RGV0YWlsc30pO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEYXRhID0gT2JqZWN0LmFzc2lnbih7Li4udGhpcy5mcmVxdWVuY3lEZXRhaWxzfSk7XHJcbiAgICAvL3RoaXMuaXNOZXh0RGlzYWJsZWQgPSB0aGlzLmlzSW52YWxpZCgpO1xyXG4gIH1cclxuXHJcblxyXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xyXG4gICAgY29uc3QgZnJlcXVlbmN5UGF0dGVybiA9IHBhcnNlSW50KHRoaXMuZnJlcXVlbmN5RGV0YWlscy5wYXR0ZXJuLnNwbGl0KCd+JylbMF0pO1xyXG4gICAgXHJcbiAgICBzd2l0Y2ggKGZyZXF1ZW5jeVBhdHRlcm4pIHtcclxuICAgICAgY2FzZSAwOiB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdvbmVUaW1lJzsgdGhpcy5jdXJyZW50VGFiTmFtZSA9IFwiYSBvbmUgdGltZVwiOyBicmVhaztcclxuICAgICAgY2FzZSAxOiB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7ICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gXCJhIGRhaWx5XCI7IGJyZWFrO1xyXG4gICAgICBjYXNlIDI6IHRoaXMuZnJlcXVlbmN5VGFiID0gJ3dlZWtseSc7ICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gXCJhIHdlZWtseVwiOyBicmVhaztcclxuICAgICAgY2FzZSAzOiB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdtb250aGx5JzsgIHRoaXMuY3VycmVudFRhYk5hbWUgPSBcImEgbW9udGhseVwiOyBicmVhaztcclxuICAgICAgY2FzZSA0OiB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdhbm51YWwnOyAgdGhpcy5jdXJyZW50VGFiTmFtZSA9IFwiYW4gYW5udWFsIFwiO2JyZWFrO1xyXG4gICAgICBjYXNlIDU6IHRoaXMuZnJlcXVlbmN5VGFiID0gJ2RhaWx5JzsgIHRoaXMuY3VycmVudFRhYk5hbWUgPSBcImEgZGFpbHlcIjsgYnJlYWs7XHJcbiAgICAgIGNhc2UgNjogdGhpcy5mcmVxdWVuY3lUYWIgPSAnb25Db21wbGV0aW9uT2YnOyAgdGhpcy5jdXJyZW50VGFiTmFtZSA9IFwiYW4gb24gY29tcGxldGlvbiBvZlwiOyB0aGlzLmZyZXF1ZW5jeURhdGEucmVwb3J0X2lkID0gdGhpcy5mcmVxdWVuY3lEZXRhaWxzLnNlbGVjdGVkUmVwb3J0OyBicmVhaztcclxuICAgICAgY2FzZSA3OiB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdxdWFydGVybHknOyAgdGhpcy5jdXJyZW50VGFiTmFtZSA9IFwiYSBxdWFydGVybHlcIjsgYnJlYWs7XHJcbiAgICAgIGNhc2UgODogdGhpcy5mcmVxdWVuY3lUYWIgPSAncmFuZG9tJzsgIHRoaXMuY3VycmVudFRhYk5hbWUgPSBcImEgcmFuZG9tXCI7IGJyZWFrO1xyXG4gICAgICBjYXNlIDk6IHRoaXMuZnJlcXVlbmN5VGFiID0gJ2JpYW5udWFsJzsgIHRoaXMuY3VycmVudFRhYk5hbWUgPSBcImEgYmlhbm51YWxcIjsgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTA6IHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uZ29pbmcnOyB0aGlzLmN1cnJlbnRUYWJOYW1lID0gXCJhbiBvbmdvaW5nXCI7IGJyZWFrO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc05leHREaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICB9XHJcblxyXG4gIGNoYW5nZUZyZXF1ZW5jeVRhYihmcmVxdWVuY3k6IGFueSkge1xyXG4gICAgdGhpcy5mcmVxdWVuY3lUYWIgPSBmcmVxdWVuY3kudHlwZTtcclxuICAgIFxyXG4gICAgaWYgKGZyZXF1ZW5jeS5uYW1lID09ICdPbmUgVGltZScpIHtcclxuICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9J2Egb25lIHRpbWUnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9IChmcmVxdWVuY3kubmFtZS5zdGFydHNXaXRoKCdPbicpIHx8IGZyZXF1ZW5jeS5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdhbm51YWwnKSA/ICdhbiAnICArIGZyZXF1ZW5jeS5uYW1lOiAnYSAnICsgZnJlcXVlbmN5Lm5hbWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0ludmFsaWQoKSA6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgY29uc3QgZnJlcXVlbmN5RGV0YWlscyA9ICB0aGlzLmZyZXF1ZW5jeURhdGE/LnBhdHRlcm4/LnNwbGl0KCd+Jyk7XHJcbiAgICBzd2l0Y2godGhpcy5mcmVxdWVuY3lUYWIpIHtcclxuXHJcbiAgICAgIGNhc2UgJ2RhaWx5JzogXHJcbiAgICAgIFxyXG4gICAgICBpZih0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cyA8IDIpIHtcclxuICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nKTtcclxuICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNOZXh0RGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgfTsgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3dlZWtseSc6IGlmKHRoaXMuZnJlcXVlbmN5RGF0YS5jb250aW51b3VzX2ZhaWxlZF9kYXlzIDwgMikge1xyXG4gICAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnSW5wdXQgdmFsdWUgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAxLicpO1xyXG4gICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc05leHREaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9O1xyXG4gICAgICBcclxuICAgICAgaWYoZnJlcXVlbmN5RGV0YWlsc1sxXSA9PSAnJyB8fCAhZnJlcXVlbmN5RGV0YWlsc1sxXSB8fCBmcmVxdWVuY3lEZXRhaWxzLmxlbmd0aCA8IDQpIHtcclxuICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICB9ICBlbHNlIHtcclxuICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aGx5JzogIGlmKHRoaXMuZnJlcXVlbmN5RGF0YS5jb250aW51b3VzX2ZhaWxlZF9kYXlzIDwgMikge1xyXG4gICAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnSW5wdXQgdmFsdWUgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAxLicpO1xyXG4gICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc05leHREaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgaWYoZnJlcXVlbmN5RGV0YWlsc1syXSA9PSAnJyB8fCAhZnJlcXVlbmN5RGV0YWlsc1syXSB8fCBmcmVxdWVuY3lEZXRhaWxzLmxlbmd0aCA8IDQpIHtcclxuICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICB9ICBlbHNlIHtcclxuICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdiaWFubnVhbCc6XHJcbiAgICAgICAgIGlmKGZyZXF1ZW5jeURldGFpbHMubGVuZ3RoID09PSAwIHx8ZnJlcXVlbmN5RGV0YWlsc1syXSA9PT0gJycgfHwgZnJlcXVlbmN5RGV0YWlsc1syXS5zcGxpdCgnLCcpPy5sZW5ndGggPCAyKSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnb25lVGltZSc6XHJcbiAgICAgICAgaWYoZnJlcXVlbmN5RGV0YWlscz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRUaW1lID0gbW9tZW50KGAke2ZyZXF1ZW5jeURldGFpbHNbM119LSR7ZnJlcXVlbmN5RGV0YWlsc1syXX0tJHtmcmVxdWVuY3lEZXRhaWxzWzFdfSAke3RoaXMuZnJlcXVlbmN5RGF0YS50aW1lSW4xMmhyfWAsICdERC1NTS1ZWVlZIEhIOm1tIGEnKS51bml4KCk7XHJcbiAgICAgICAgICBpZihEYXRlLm5vdygpLzEwMDAgPiBzZWxlY3RlZFRpbWUpIHtcclxuICAgICAgICAgICAgdGhpcy5zbmFja2Jhci5zaG93KCdQbGVhc2Ugc2V0IGEgZnV0dXJlIGRhdGUuJyk7XHJcbiAgICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvbkNvbXBsZXRpb25PZic6XHJcbiAgICAgICAgaWYodGhpcy5mcmVxdWVuY3lEYXRhLnJlcG9ydElkID4gMCkge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAncmFuZG9tJzpcclxuICAgICAgIGlmKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID09IDIgJiYgKCBmcmVxdWVuY3lEZXRhaWxzWzJdID09ICcnIHx8ICFmcmVxdWVuY3lEZXRhaWxzWzJdIHx8IGZyZXF1ZW5jeURldGFpbHMubGVuZ3RoIDwgNCkpIHtcclxuICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICB9ICBlbHNlIHtcclxuICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgICAgfTtcclxuICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6IGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgZGVidWdnZXI7XHJcbiAgICAgcmV0dXJuIGlzSW52YWxpZDtcclxuICB9XHJcblxyXG4gIG9uRnJlcXVlbmN5U2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEYXRhID0gZXZlbnRcclxuICAgIHRoaXMuaXNOZXh0RGlzYWJsZWQgPSB0aGlzLmlzSW52YWxpZCgpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuLy8gICBjaGVja05leHRWYWxpZGl0eSgpXHJcbi8vIHtcclxuXHJcbi8vIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGcmVxdWVuY3kuZW1pdCh0aGlzLmZyZXF1ZW5jeURhdGEpXHJcbiAgfVxyXG4gIGNsb3NlKCl7XHJcbiAgICB0aGlzLmNsb3NlRnJlcXVlbmN5LmVtaXQoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktY29udGFpbmVyL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBTzlFLE1BQU0sT0FBTywyQkFBMkI7SUEyRHRDLFlBQ1UsZ0JBQWtDLEVBQ2xDLFFBQXlCO1FBRHpCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUE1RG5DLGlCQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsU0FBUyxDQUFDO1FBR2pCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLFNBQUksR0FBTSxFQUFFLENBQUM7UUFPdEIsa0JBQWEsR0FBRztZQUNkO2dCQUNFLElBQUksRUFBRSxPQUFPO2dCQUNiLElBQUksRUFBRSxPQUFPO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxJQUFJLEVB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QVEsZ0JBQWdCLEVBQUU7WUFDeEIsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO2dCQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDO2dCQUFDLE1BQU07WUFDakYsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO2dCQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO2dCQUFDLE1BQU07WUFDN0UsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO2dCQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDO2dCQUFDLE1BQU07WUFDL0UsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO2dCQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDO2dCQUFDLE1BQU07WUFDakYsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO2dCQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDO2dCQUFBLE1BQU07WUFDaEYsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO2dCQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO2dCQUFDLE1BQU07WUFDN0UsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztnQkFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDO2dCQUFDLE1BQU07WUFDdkssS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO2dCQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO2dCQUFDLE1BQU07WUFDckYsS0FBSyxDQUFDO2dCQUFF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RixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7O1lBaFBGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyx1akpBQW1EOzthQUVwRDs7O1lBUFEsZ0JBQWdCO1lBQ2hCLGVBQWU7OzsrQkFXckIsS0FBSztnQ0FDTCxNQUFNOzZCQUNOLE1BQU07bUJBQ04sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gXCIuLi9mcmVxdWVuY3kuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktY29udGFpbmVyLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBmcmVxdWVuY3lUYWIgPSAnZGFpbHknO1xyXG4gIGN1cnJlbnRUYWJOYW1lID0gJ2EgRGFpbHknO1xyXG5cclxuICBASW5wdXQoKSBmcmVxdWVuY3lEZXRhaWxzOiBhbnk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgbW9kZTogYW55PScnO1xyXG5cclxuXHJcblxyXG5cclxuICBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcblxyXG4gIGZyZXF1ZW5jeUxpc3QgPSBbXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdEYWlseScsXHJcbiAgICAgIHR5cGU6ICdkYWlseSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdXZWVrbHknLFxyXG4gICAgICB0eXBlOiAnd2Vla2x5J1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ01vbnRobHknLFxyXG4gICAgICB0eXBlOiAnbW9udGhseSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdRdWFydGVybHknLFxyXG4gICAgICB0eXBlOiAncXVhcnRlcmx5J1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0JpYW5udWFsJyxcclxuICAgICAgdHlwZTogJ2JpYW5udWFsJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0FubnVhbCcsXHJcbiAgICAgIHR5cGU6ICdhbm51YWwnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnT25lIFRpbWUnLFxyXG4gICAgICB0eXBlOiAnb25lVGltZSdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdSYW5kb20nLFxyXG4gICAgICB0eXBlOiAncmFuZG9tJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ09uIENvbXBsZXRpb24gT2YnLFxyXG4gICAgICB0eXBlOiAnb25Db21wbGV0aW9uT2YnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnT25nb2luZycsXHJcbiAgICAgIHR5cGU6ICdvbmdvaW5nJ1xyXG4gICAgfSxcclxuICBdXHJcblxyXG4gIHNlbGVjdGVkRnJlcXVlbmN5RGF0YTogYW55O1xyXG4gIGlzTmV4dERpc2FibGVkIDphbnkgID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNuYWNrYmFyOiBTbmFja0JhclNlcnZpY2VcclxuICAgICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5RGV0YWlscy5wYXR0ZXJuICE9ICcnKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKVxyXG4gICAgfVxyXG4gICAgY29uc3QgaGlkZUVsZW1lbnRzID0gWydyYW5kb20nLCdvbkNvbXBsZXRpb25PZicsJ29uZ29pbmcnXVxyXG4gICAgaWYodGhpcy5tb2RlPT0ncG9saWN5Jyl7XHJcbiAgICAgIGhpZGVFbGVtZW50cy5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4geyAgICAgICAgXHJcbiAgICAgICAgICBcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mcmVxdWVuY3lMaXN0LmZpbmRJbmRleCgoZWxlbWVudEluZGV4OmFueSk9PmVsZW1lbnRJbmRleC50eXBlPT1lbGVtZW50KTtcclxuICAgICAgICAgIHRoaXMuZnJlcXVlbmN5TGlzdC5zcGxpY2UoaW5kZXgsMSlcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBoaWRlRWxlbWVudHMyID0gWydkYWlseScsJ3JhbmRvbScsJ29uQ29tcGxldGlvbk9mJywnb25nb2luZyddXHJcbiAgICBpZih0aGlzLm1vZGU9PSdyZXZpZXdlckZyZXF1ZW5jeScpe1xyXG4gICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9IHRoaXMuZnJlcXVlbmN5RGV0YWlscz8ucGF0dGVybiA9PSAnJyA/ICd3ZWVrbHknOiB0aGlzLmZyZXF1ZW5jeVRhYlxyXG4gICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gdGhpcy5mcmVxdWVuY3lEZXRhaWxzPy5wYXR0ZXJuID09ICcnID8gJ2Egd2Vla2x5JzogdGhpcy5jdXJyZW50VGFiTmFtZVxyXG4gICAgICBcclxuICAgICAgaGlkZUVsZW1lbnRzMi5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4geyAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZyZXF1ZW5jeUxpc3QuZmluZEluZGV4KChlbGVtZW50SW5kZXg6YW55KT0+ZWxlbWVudEluZGV4LnR5cGU9PWVsZW1lbnQpO1xyXG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3lMaXN0LnNwbGljZShpbmRleCwxKVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIFxyXG5cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgXHJcbiAgICB0aGlzLnNlbGVjdGVkRnJlcXVlbmN5RGF0YSA9IE9iamVjdC5hc3NpZ24oey4uLnRoaXMuZnJlcXVlbmN5RGV0YWlsc30pO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEYXRhID0gT2JqZWN0LmFzc2lnbih7Li4udGhpcy5mcmVxdWVuY3lEZXRhaWxzfSk7XHJcbiAgICAvL3RoaXMuaXNOZXh0RGlzYWJsZWQgPSB0aGlzLmlzSW52YWxpZCgpO1xyXG4gIH1cclxuXHJcblxyXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xyXG4gICAgY29uc3QgZnJlcXVlbmN5UGF0dGVybiA9IHBhcnNlSW50KHRoaXMuZnJlcXVlbmN5RGV0YWlscy5wYXR0ZXJuLnNwbGl0KCd+JylbMF0pO1xyXG4gICAgXHJcbiAgICBzd2l0Y2ggKGZyZXF1ZW5jeVBhdHRlcm4pIHtcclxuICAgICAgY2FzZSAwOiB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdvbmVUaW1lJzsgdGhpcy5jdXJyZW50VGFiTmFtZSA9IFwiYSBvbmUgdGltZVwiOyBicmVhaztcclxuICAgICAgY2FzZSAxOiB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7ICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gXCJhIGRhaWx5XCI7IGJyZWFrO1xyXG4gICAgICBjYXNlIDI6IHRoaXMuZnJlcXVlbmN5VGFiID0gJ3dlZWtseSc7ICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gXCJhIHdlZWtseVwiOyBicmVhaztcclxuICAgICAgY2FzZSAzOiB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdtb250aGx5JzsgIHRoaXMuY3VycmVudFRhYk5hbWUgPSBcImEgbW9udGhseVwiOyBicmVhaztcclxuICAgICAgY2FzZSA0OiB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdhbm51YWwnOyAgdGhpcy5jdXJyZW50VGFiTmFtZSA9IFwiYW4gYW5udWFsIFwiO2JyZWFrO1xyXG4gICAgICBjYXNlIDU6IHRoaXMuZnJlcXVlbmN5VGFiID0gJ2RhaWx5JzsgIHRoaXMuY3VycmVudFRhYk5hbWUgPSBcImEgZGFpbHlcIjsgYnJlYWs7XHJcbiAgICAgIGNhc2UgNjogdGhpcy5mcmVxdWVuY3lUYWIgPSAnb25Db21wbGV0aW9uT2YnOyAgdGhpcy5jdXJyZW50VGFiTmFtZSA9IFwiYW4gb24gY29tcGxldGlvbiBvZlwiOyB0aGlzLmZyZXF1ZW5jeURhdGEucmVwb3J0X2lkID0gdGhpcy5mcmVxdWVuY3lEZXRhaWxzLnNlbGVjdGVkUmVwb3J0OyBicmVhaztcclxuICAgICAgY2FzZSA3OiB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdxdWFydGVybHknOyAgdGhpcy5jdXJyZW50VGFiTmFtZSA9IFwiYSBxdWFydGVybHlcIjsgYnJlYWs7XHJcbiAgICAgIGNhc2UgODogdGhpcy5mcmVxdWVuY3lUYWIgPSAncmFuZG9tJzsgIHRoaXMuY3VycmVudFRhYk5hbWUgPSBcImEgcmFuZG9tXCI7IGJyZWFrO1xyXG4gICAgICBjYXNlIDk6IHRoaXMuZnJlcXVlbmN5VGFiID0gJ2JpYW5udWFsJzsgIHRoaXMuY3VycmVudFRhYk5hbWUgPSBcImEgYmlhbm51YWxcIjsgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTA6IHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uZ29pbmcnOyB0aGlzLmN1cnJlbnRUYWJOYW1lID0gXCJhbiBvbmdvaW5nXCI7IGJyZWFrO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc05leHREaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICB9XHJcblxyXG4gIGNoYW5nZUZyZXF1ZW5jeVRhYihmcmVxdWVuY3k6IGFueSkge1xyXG4gICAgdGhpcy5mcmVxdWVuY3lUYWIgPSBmcmVxdWVuY3kudHlwZTtcclxuICAgIFxyXG4gICAgaWYgKGZyZXF1ZW5jeS5uYW1lID09ICdPbmUgVGltZScpIHtcclxuICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9J2Egb25lIHRpbWUnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9IChmcmVxdWVuY3kubmFtZS5zdGFydHNXaXRoKCdPbicpIHx8IGZyZXF1ZW5jeS5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdhbm51YWwnKSA/ICdhbiAnICArIGZyZXF1ZW5jeS5uYW1lOiAnYSAnICsgZnJlcXVlbmN5Lm5hbWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0ludmFsaWQoKSA6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgY29uc3QgZnJlcXVlbmN5RGV0YWlscyA9ICB0aGlzLmZyZXF1ZW5jeURhdGE/LnBhdHRlcm4/LnNwbGl0KCd+Jyk7XHJcbiAgICBzd2l0Y2godGhpcy5mcmVxdWVuY3lUYWIpIHtcclxuXHJcbiAgICAgIGNhc2UgJ2RhaWx5JzogXHJcbiAgICAgIFxyXG4gICAgICBpZih0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cyA8IDIpIHtcclxuICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nKTtcclxuICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNOZXh0RGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgfTsgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3dlZWtseSc6IGlmKHRoaXMuZnJlcXVlbmN5RGF0YS5jb250aW51b3VzX2ZhaWxlZF9kYXlzIDwgMikge1xyXG4gICAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnSW5wdXQgdmFsdWUgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAxLicpO1xyXG4gICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc05leHREaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9O1xyXG4gICAgICBcclxuICAgICAgaWYoZnJlcXVlbmN5RGV0YWlsc1sxXSA9PSAnJyB8fCAhZnJlcXVlbmN5RGV0YWlsc1sxXSB8fCBmcmVxdWVuY3lEZXRhaWxzLmxlbmd0aCA8IDQpIHtcclxuICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICB9ICBlbHNlIHtcclxuICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aGx5JzogIGlmKHRoaXMuZnJlcXVlbmN5RGF0YS5jb250aW51b3VzX2ZhaWxlZF9kYXlzIDwgMikge1xyXG4gICAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnSW5wdXQgdmFsdWUgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAxLicpO1xyXG4gICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc05leHREaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgaWYoZnJlcXVlbmN5RGV0YWlsc1syXSA9PSAnJyB8fCAhZnJlcXVlbmN5RGV0YWlsc1syXSB8fCBmcmVxdWVuY3lEZXRhaWxzLmxlbmd0aCA8IDQpIHtcclxuICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICB9ICBlbHNlIHtcclxuICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdiaWFubnVhbCc6XHJcbiAgICAgICAgIGlmKGZyZXF1ZW5jeURldGFpbHMubGVuZ3RoID09PSAwIHx8ZnJlcXVlbmN5RGV0YWlsc1syXSA9PT0gJycgfHwgZnJlcXVlbmN5RGV0YWlsc1syXS5zcGxpdCgnLCcpPy5sZW5ndGggPCAyKSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnb25lVGltZSc6XHJcbiAgICAgICAgaWYoZnJlcXVlbmN5RGV0YWlscz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRUaW1lID0gbW9tZW50KGAke2ZyZXF1ZW5jeURldGFpbHNbM119LSR7ZnJlcXVlbmN5RGV0YWlsc1syXX0tJHtmcmVxdWVuY3lEZXRhaWxzWzFdfSAke3RoaXMuZnJlcXVlbmN5RGF0YS50aW1lSW4xMmhyfWAsICdERC1NTS1ZWVlZIEhIOm1tIGEnKS51bml4KCk7XHJcbiAgICAgICAgICBpZihEYXRlLm5vdygpLzEwMDAgPiBzZWxlY3RlZFRpbWUpIHtcclxuICAgICAgICAgICAgdGhpcy5zbmFja2Jhci5zaG93KCdQbGVhc2Ugc2V0IGEgZnV0dXJlIGRhdGUuJyk7XHJcbiAgICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvbkNvbXBsZXRpb25PZic6XHJcbiAgICAgICAgaWYodGhpcy5mcmVxdWVuY3lEYXRhLnJlcG9ydElkID4gMCkge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAncmFuZG9tJzpcclxuICAgICAgIGlmKHBhcnNlSW50KGZyZXF1ZW5jeURldGFpbHNbMV0pID09IDIgJiYgKCBmcmVxdWVuY3lEZXRhaWxzWzJdID09ICcnIHx8ICFmcmVxdWVuY3lEZXRhaWxzWzJdIHx8IGZyZXF1ZW5jeURldGFpbHMubGVuZ3RoIDwgNCkpIHtcclxuICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICB9ICBlbHNlIHtcclxuICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgICAgfTtcclxuICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6IGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgIHJldHVybiBpc0ludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBvbkZyZXF1ZW5jeVNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZXZlbnQuLi4uLlwiLCBldmVudCk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURhdGEgPSBldmVudFxyXG4gICAgdGhpcy5pc05leHREaXNhYmxlZCA9IHRoaXMuaXNJbnZhbGlkKCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4vLyAgIGNoZWNrTmV4dFZhbGlkaXR5KClcclxuLy8ge1xyXG5cclxuLy8gfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZyZXF1ZW5jeS5lbWl0KHRoaXMuZnJlcXVlbmN5RGF0YSlcclxuICB9XHJcbiAgY2xvc2UoKXtcclxuICAgIHRoaXMuY2xvc2VGcmVxdWVuY3kuZW1pdCgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -81,7 +81,7 @@ export class FrequencyLifecycleComponent {
81
81
  // ends after selection
82
82
  endsAfter(event) {
83
83
  console.log('lifecycle occurrance', event);
84
- if (event.target.value !== '' && !Number.isNaN(Number(event.target.value)) && event.target.value !== '0' && parseInt(event.target.value) > 0) {
84
+ if (!Number.isNaN(Number(this.occurrance)) && this.occurrance !== 0 && Number(this.occurrance) > 0) {
85
85
  console.log('IN');
86
86
  this.selectedOccurance.emit({
87
87
  type: this.selectedLifecycleType,
@@ -146,7 +146,7 @@ export class FrequencyLifecycleComponent {
146
146
  FrequencyLifecycleComponent.decorators = [
147
147
  { type: Component, args: [{
148
148
  selector: 'app-frequency-lifecycle',
149
- template: "<!-- <p>frequency-lifecycle works!</p> -->\r\n<div class=\"frequency-lifecycle\">\r\n <div class=\"frequency-lifecycle-head\">\r\n <p class=\"frequency-lifecycle-title\">SET A LIFECYCLE FOR THIS RESPONSIBILITY:</p>\r\n </div>\r\n <div class=\"frequency-lifecycle-body\">\r\n <div class=\"column\">\r\n <label class=\"text\">Starts From</label>\r\n <div [id]=\"'form-field' + id\" class=\"block active\">\r\n <div class=\"date-picker\" (click)=\"openDatePicker(); datePickerOverlay = true\">\r\n <i class=\"icons\">&#xe92d;</i>\r\n <input type=\"text\" [value]=\"startDate | date: 'dd MMM yyyy'\" [placeholder]=\"startDate | date: 'dd MMM yyyy'\" readonly>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"column\">\r\n <label class=\"text\">Ends by</label>\r\n <app-cs-radio [checked]=\"selectedLifecycleType == 0\" (checkedEvent)=\"typeSelected(0)\">\r\n <div class=\"date-picker\" (click)=\"openDatePicker1(); datePickerOverlay = true\">\r\n <i class=\"icons\">&#xe92d;</i>\r\n <input type=\"text\" [value]=\"endDateObject | date: 'dd MMM yyyy'\" [placeholder]=\"endDateObject | date: 'dd MMM yyyy'\" readonly>\r\n </div>\r\n </app-cs-radio>\r\n </div>\r\n <div class=\"column\">\r\n <label class=\"text\">Ends after </label>\r\n <app-cs-radio [checked]=\"selectedLifecycleType == 1\" (checkedEvent)=\"typeSelected(1)\">\r\n <input \r\n type=\"number\" \r\n [(ngModel)]=\"occurrance\" \r\n (change)=\"endsAfter($event)\" class=\"day\"\r\n onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\"\r\n >\r\n <span> Occurrences </span>\r\n </app-cs-radio>\r\n </div>\r\n <div class=\"column\">\r\n <label class=\"text\">Ongoing</label>\r\n <app-cs-radio [checked]=\"selectedLifecycleType == 2\" (checkedEvent)=\"typeSelected(2)\">\r\n The responsibility will perpetually exist.\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n\r\n \r\n</div>\r\n<!-- start date date picker -->\r\n<dp-date-picker\r\n #datePicker\r\n [id]=\"'start-date-' + id\"\r\n [placeholder]=\"startDate | date: 'dd MMM yyyy'\"\r\n [(ngModel)]=\"startDate\"\r\n [config]=\"startDateConfig\"\r\n (onSelect)=\"openDatePicker();startFromChange($event); showDateError = false; datePickerOverlay = false\"\r\n></dp-date-picker>\r\n<div class=\"vx-overlay\" (click)=\"closeDatepicker()\" *ngIf=\"datePickerOverlay\"></div>\r\n\r\n<!-- end date date picker -->\r\n<dp-date-picker\r\n #datePicker1\r\n [(ngModel)]=\"endDate\"\r\n [placeholder]=\"endDateObject | date: 'dd MMM yyyy'\"\r\n [id]=\"'end-by-input-' + id\"\r\n [config]=\"endDateConfig\"\r\n [minDate]=\"endDateConfig['min']\"\r\n (onSelect)=\"endByChange($event); showDateError = false; datePickerOverlay = false\"\r\n></dp-date-picker> \r\n<div class=\"vx-overlay\" (click)=\"closeDatepicker()\" *ngIf=\"datePickerOverlay\"></div>\r\n",
149
+ template: "<!-- <p>frequency-lifecycle works!</p> -->\r\n<div class=\"frequency-lifecycle\">\r\n <div class=\"frequency-lifecycle-head\">\r\n <p class=\"frequency-lifecycle-title\">SET A LIFECYCLE FOR THIS RESPONSIBILITY:</p>\r\n </div>\r\n <div class=\"frequency-lifecycle-body\">\r\n <div class=\"column\">\r\n <label class=\"text\">Starts From</label>\r\n <div [id]=\"'form-field' + id\" class=\"block active\">\r\n <div class=\"date-picker\" (click)=\"openDatePicker(); datePickerOverlay = true\">\r\n <i class=\"icons\">&#xe92d;</i>\r\n <input type=\"text\" [value]=\"startDate | date: 'dd MMM yyyy'\" [placeholder]=\"startDate | date: 'dd MMM yyyy'\" readonly>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"column\">\r\n <label class=\"text\">Ends by</label>\r\n <app-cs-radio [checked]=\"selectedLifecycleType == 0\" (checkedEvent)=\"typeSelected(0)\">\r\n <div class=\"date-picker\" (click)=\"openDatePicker1(); datePickerOverlay = true\">\r\n <i class=\"icons\">&#xe92d;</i>\r\n <input type=\"text\" [value]=\"endDateObject | date: 'dd MMM yyyy'\" [placeholder]=\"endDateObject | date: 'dd MMM yyyy'\" readonly>\r\n </div>\r\n </app-cs-radio>\r\n </div>\r\n <div class=\"column\">\r\n <label class=\"text\">Ends after </label>\r\n <app-cs-radio [checked]=\"selectedLifecycleType == 1\" (checkedEvent)=\"typeSelected(1)\">\r\n <input \r\n type=\"number\" \r\n [(ngModel)]=\"occurrance\" \r\n (focusout)=\"endsAfter($event)\" class=\"day\"\r\n onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\"\r\n >\r\n <span> Occurrences </span>\r\n </app-cs-radio>\r\n </div>\r\n <div class=\"column\">\r\n <label class=\"text\">Ongoing</label>\r\n <app-cs-radio [checked]=\"selectedLifecycleType == 2\" (checkedEvent)=\"typeSelected(2)\">\r\n The responsibility will perpetually exist.\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n\r\n \r\n</div>\r\n<!-- start date date picker -->\r\n<dp-date-picker\r\n #datePicker\r\n [id]=\"'start-date-' + id\"\r\n [placeholder]=\"startDate | date: 'dd MMM yyyy'\"\r\n [(ngModel)]=\"startDate\"\r\n [config]=\"startDateConfig\"\r\n (onSelect)=\"openDatePicker();startFromChange($event); showDateError = false; datePickerOverlay = false\"\r\n></dp-date-picker>\r\n<div class=\"vx-overlay\" (click)=\"closeDatepicker()\" *ngIf=\"datePickerOverlay\"></div>\r\n\r\n<!-- end date date picker -->\r\n<dp-date-picker\r\n #datePicker1\r\n [(ngModel)]=\"endDate\"\r\n [placeholder]=\"endDateObject | date: 'dd MMM yyyy'\"\r\n [id]=\"'end-by-input-' + id\"\r\n [config]=\"endDateConfig\"\r\n [minDate]=\"endDateConfig['min']\"\r\n (onSelect)=\"endByChange($event); showDateError = false; datePickerOverlay = false\"\r\n></dp-date-picker> \r\n<div class=\"vx-overlay\" (click)=\"closeDatepicker()\" *ngIf=\"datePickerOverlay\"></div>\r\n",
150
150
  styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::ng-deep .frequency-lifecycle{border-top:1px solid #f1f1f1}::ng-deep .frequency-lifecycle-head{background:#fbfbfb;padding:8px 20px}::ng-deep .frequency-lifecycle-title{margin:0;padding:0;font-size:12px;line-height:16px;color:#747576;text-transform:uppercase}::ng-deep .frequency-lifecycle-body{padding:10px 20px;display:flex}::ng-deep .frequency-lifecycle-body .column{width:25%;padding:0;position:relative}::ng-deep .frequency-lifecycle-body .column label.text{color:#747576;font-size:11px;text-transform:uppercase;margin:0 0 4px;font-weight:500;line-height:16px;display:block}::ng-deep .frequency-lifecycle-body .column+.column{padding-left:28px}::ng-deep .frequency-lifecycle-body .column:first-child{width:20%}::ng-deep .frequency-lifecycle-body .column:last-child{width:30%}::ng-deep .frequency-lifecycle-body .column .block,::ng-deep .frequency-lifecycle-body .column span.value{display:flex;font-size:13px;color:#747576;border:1px solid #f1f1f1;border-radius:2px;padding:0 4px 0 16px;box-sizing:border-box;min-height:48px;justify-content:center;align-items:center;background:#fff;cursor:pointer;text-transform:none;margin:0!important}::ng-deep .frequency-lifecycle-body .column .block .date-picker,::ng-deep .frequency-lifecycle-body .column span.value .date-picker{display:flex;align-items:center;position:relative}::ng-deep .frequency-lifecycle-body .column .block .date-picker i,::ng-deep .frequency-lifecycle-body .column span.value .date-picker i{font-size:16px;margin-right:8px}::ng-deep .frequency-lifecycle-body .column .block .date-picker input,::ng-deep .frequency-lifecycle-body .column span.value .date-picker input{border:none;outline:none;width:100%;background:transparent;font-size:12px;cursor:pointer;line-height:40px}::ng-deep .frequency-lifecycle-body .column .block.active,::ng-deep .frequency-lifecycle-body .column span.value.active{border:1px solid #97d2a0;background:#d6f2da}::ng-deep .frequency-lifecycle-body .column app-cs-radio{display:flex}::ng-deep .frequency-lifecycle-body .column app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .frequency-lifecycle-body .column app-cs-radio label.radio-item span.radio,::ng-deep .frequency-lifecycle-body .column app-cs-radio label.radio-item svg{position:absolute;top:14px;left:-10px;height:20px;width:20px}::ng-deep .frequency-lifecycle-body .column app-cs-radio label.radio-item span.value{max-width:100%;pointer-events:none;font-size:13px;color:#747576;width:100%}::ng-deep .frequency-lifecycle-body .column app-cs-radio label.radio-item input:checked~span.value{pointer-events:auto;border:1px solid #97d2a0;background:#d6f2da}::ng-deep .frequency-lifecycle-body .column app-cs-radio label.radio-item input.day{-moz-appearance:textfield;width:40px;padding:4px;text-align:center;border:none;border-bottom:2px solid #dcdcdc;line-height:26px;color:#161b2f;font-weight:400;outline:none;background:transparent;margin:0 4px 0 0;font-size:13px}::ng-deep .frequency-lifecycle-body .column app-cs-radio label.radio-item input.day::-webkit-inner-spin-button,::ng-deep .frequency-lifecycle-body .column app-cs-radio label.radio-item input.day::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}::ng-deep .frequency-lifecycle-body .column app-cs-radio label.radio-item span{font-size:13px;color:#747576}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-26px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0!important;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@-webkit-keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}.vx-overlay{position:fixed;z-index:1;top:0;right:0;bottom:0;left:0}"]
151
151
  },] }
152
152
  ];
@@ -164,4 +164,4 @@ FrequencyLifecycleComponent.propDecorators = {
164
164
  id: [{ type: Input }],
165
165
  selectedOccurance: [{ type: Output }]
166
166
  };
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWxpZmVjeWNsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktbGlmZWN5Y2xlL2ZyZXF1ZW5jeS1saWZlY3ljbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFxQyxNQUFNLGVBQWUsQ0FBQztBQUU3SCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU94RCxNQUFNLE9BQU8sMkJBQTJCO0lBeUJ0QyxZQUFxQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQW5CdkQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBSzNCLHFCQUFxQjtRQUNaLGNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLFlBQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBRWhFLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsMEJBQXFCLEdBQUcsQ0FBQyxDQUFDLENBQUMseUNBQXlDO1FBQ3BFLE9BQUUsR0FBRyxDQUFDLENBQUM7UUFFaEIscUJBQXFCO1FBQ1gsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUdLLENBQUM7SUFFNUQsUUFBUTtRQUNOLElBQUksQ0FB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Q1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMscXZHQUFtRDs7YUFFcEQ7OztZQU5RLGdCQUFnQjs7O3lCQVN0QixTQUFTLFNBQUMsWUFBWTswQkFDdEIsU0FBUyxTQUFDLGFBQWE7d0JBV3ZCLEtBQUs7c0JBQ0wsS0FBSztvQkFDTCxLQUFLO3lCQUNMLEtBQUs7b0NBQ0wsS0FBSztpQkFDTCxLQUFLO2dDQUdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcywgRG9DaGVjayB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnbmcyLWRhdGUtcGlja2VyJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LWxpZmVjeWNsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LWxpZmVjeWNsZS5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lMaWZlY3ljbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgRG9DaGVjayB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2RhdGVQaWNrZXInKSBkYXRlUGlja2VyITogRGF0ZVBpY2tlckNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyMScpIGRhdGVQaWNrZXIxITogRGF0ZVBpY2tlckNvbXBvbmVudDtcclxuXHJcblxyXG4gIGRhdGVQaWNrZXJPdmVybGF5ID0gZmFsc2U7XHJcbiAgc2hvd0RhdGVFcnJvciA9IGZhbHNlO1xyXG4gIHN0YXJ0RGF0ZVVuaXggPSBEYXRlLm5vdygpO1xyXG4gIGVuZERhdGVPYmplY3Q6IGFueTtcclxuICBzdGFydERhdGVDb25maWc6IGFueTtcclxuICBlbmREYXRlQ29uZmlnOiBhbnk7XHJcblxyXG4gIC8vIEFsbCBpbnB1dCB2YXJpYWJsZVxyXG4gIEBJbnB1dCgpIHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgQElucHV0KCkgZW5kRGF0ZSA9IG1vbWVudChuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSkuZ2V0VGltZSgpICsgODY0MDAwMDApO1xyXG4gIEBJbnB1dCgpIGVuZEJ5OiBhbnk7XHJcbiAgQElucHV0KCkgb2NjdXJyYW5jZSA9IDEwO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkTGlmZWN5Y2xlVHlwZSA9IDI7IC8vIDAgPSBFbmQgYnkgLCAgRW5kIEFmdGVyLCAyID0gcGVycGV0dWFsXHJcbiAgQElucHV0KCkgaWQgPSAwO1xyXG5cclxuICAvLyAgbGlmZWN5Y2xlIG91dHB1dCBcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRPY2N1cmFuY2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuIFxyXG5cclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXJ0RGF0ZUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oey4uLnRoaXMuZnJlcXVlbmN5U2VydmljZS5kYXRlQ29uZmlnfSk7XHJcbiAgICB0aGlzLmVuZERhdGVDb25maWcgPSBPYmplY3QuYXNzaWduKHsuLi50aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZGF0ZUNvbmZpZ30pO1xyXG4gICAgdGhpcy5zdGFydERhdGVDb25maWdbJ21pbiddID0gbmV3IERhdGUoKS5nZXREYXRlKCkudG9TdHJpbmcoKTtcclxuICAgIC8vdGhpcy5zdGFydERhdGVVbml4ID0gdGhpcy5zdGFydERhdGUuZ2V0RGF0ZSgpLnRvU3RyaW5nKClcclxuICAgIHRoaXMuZW5kRGF0ZUNvbmZpZ1snbWluJ10gPSBtb21lbnQobmV3IERhdGUobmV3IERhdGUodGhpcy5zdGFydERhdGUpLmdldFRpbWUoKSArIDg2NDAwMDAwKSlcclxuICAgIHRoaXMuZ2V0RW5kRGF0ZSh0aGlzLnN0YXJ0RGF0ZSlcclxuICAgIHRoaXMuY2hhbmdlRW5kRGF0ZU9iaih0aGlzLmVuZERhdGUpO1xyXG4gICAgY29uc29sZS5sb2coXCJlbmREYXRlID09PlwiLCB0aGlzLmVuZERhdGUpXHJcbiAgfVxyXG5cclxuICBnZXRFbmREYXRlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHRpbWUgPSBtb21lbnQodGhpcy5lbmREYXRlKS5mb3JtYXQoXCJERC1NTS1ZWVlZIEhIOm1tOnNzXCIpO1xyXG4gICAgY29uc3QgZ2V0VW5peFRpbWUgPSBtb21lbnQodGltZS5zcGxpdCgnICcpWzBdICsgXCIgMDA6MDA6MDBcIiwgXCJERC1NTS1ZWVlZIEhIOm1tOnNzXCIpLnVuaXgoKVxyXG4gICAgY29uc29sZS5sb2coXCJlbmQgZGF0ZSA9PT50aW1lXCIsIHRpbWUsIGdldFVuaXhUaW1lKVxyXG4gICAgdGhpcy5zdGFydERhdGVVbml4ID0gbW9tZW50KGV2ZW50KS51bml4KCk7XHJcbiAgICBjb25zb2xlLmxvZyhcIiB0aGlzLnN0YXJ0RGF0ZVVuaXggPT0+XCIsIHRoaXMuc3RhcnREYXRlLCB0aGlzLnN0YXJ0RGF0ZVVuaXgpXHJcbiAgICBpZiAodGhpcy5zdGFydERhdGVVbml4ID49IGdldFVuaXhUaW1lKSB7IFxyXG4gICAgICB0aGlzLmVuZERhdGUgPSBtb21lbnQobmV3IERhdGUodGhpcy5zdGFydERhdGUpLmdldFRpbWUoKSArIDg2NDAwMDAwKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lbmREYXRlID0gbW9tZW50KHRoaXMuZW5kRGF0ZSlcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBjaGFuZ2VFbmREYXRlT2JqKGRhdGU6IGFueSkge1xyXG4gICAgdGhpcy5lbmREYXRlT2JqZWN0ID0gbmV3IERhdGUobW9tZW50KGRhdGUpLnVuaXgoKSAqIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcImNoYW5nZXMgPT0+XCIsIGNoYW5nZSwgdGhpcy5zZWxlY3RlZExpZmVjeWNsZVR5cGUpXHJcbiAgICB0aGlzLmVuZEJ5ID0gbW9tZW50KHRoaXMuZW5kRGF0ZSkuZm9ybWF0KCdERC1NTU1NLVlZWVlUSEg6bW06c3NaJykuc3BsaXQoJ1QnKVswXTtcclxuICB9XHJcblxyXG4gIG5nRG9DaGVjaygpIHtcclxuICAvLyAgY29uc29sZS5sb2coXCJ0aGlzLmVuZERhdGUgPT0+IERvQ2NoZWNrXCIsIHRoaXMuZW5kRGF0ZSwgdGhpcy5zdGFydERhdGUpXHJcbiAgfVxyXG5cclxuICBvcGVuRGF0ZVBpY2tlcigpIHtcclxuICBcclxuICAgIGNvbnN0IG5ld0RhdGUgPSBtb21lbnQodGhpcy5zdGFydERhdGUpXHJcbiAgICBjb25zb2xlLmxvZyhcIm5ld0RhdGUgPT0+XCIsIG5ld0RhdGUpXHJcbiAgICB0aGlzLmRhdGVQaWNrZXIuYXBpLm1vdmVDYWxlbmRhclRvKG5ld0RhdGUpICBcclxuICAgIHRoaXMuZGF0ZVBpY2tlci5hcGkub3BlbigpOyAgICAgXHJcbiAgICB0aGlzLmRhdGVQaWNrZXJPdmVybGF5ID0gdHJ1ZTtcclxuICB9XHJcbiAgb3BlbkRhdGVQaWNrZXIxKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJlbmQgZGF0ZSA9PT5cIiwgdGhpcy5lbmREYXRlKVxyXG4gICAgdGhpcy5kYXRlUGlja2VyMS5hcGkubW92ZUNhbGVuZGFyVG8odGhpcy5lbmREYXRlKSAgICBcclxuICAgIHRoaXMuZGF0ZVBpY2tlcjEuYXBpLm9wZW4oKTtcclxuICAgICAgIFxyXG4gICAgdGhpcy5kYXRlUGlja2VyT3ZlcmxheSA9IHRydWU7XHJcbiAgfVxyXG4gIGNsb3NlRGF0ZXBpY2tlcigpIHtcclxuICAgIHRoaXMuZGF0ZVBpY2tlci5hcGkuY2xvc2UoKTtcclxuICAgIHRoaXMuZGF0ZVBpY2tlcjEuYXBpLmNsb3NlKCk7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXJPdmVybGF5ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvLyBsaWZlY3ljbGUgdHlwZVxyXG4gIHR5cGVTZWxlY3RlZChldmVudDphbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMaWZlY3ljbGVUeXBlID0gZXZlbnQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkT2NjdXJhbmNlLmVtaXQoe1xyXG4gICAgICB0eXBlOiBldmVudCxcclxuICAgICAgZW5kc0J5OiB0aGlzLmVuZEJ5LFxyXG4gICAgICBlbmRhZnRlcjogdGhpcy5vY2N1cnJhbmNlLFxyXG4gICAgICBzdGFydEZyb206IHRoaXMuc3RhcnREYXRlVW5peCxcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRMaWZlY3ljbGVUeXBlO1xyXG4gIH1cclxuXHJcbiAgLy8gZW5kcyBhZnRlciBzZWxlY3Rpb25cclxuICBlbmRzQWZ0ZXIoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coJ2xpZmVjeWNsZSBvY2N1cnJhbmNlJywgZXZlbnQpO1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC52YWx1ZSAhPT0gJycgJiYgIU51bWJlci5pc05hTihOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKSkgJiYgZXZlbnQudGFyZ2V0LnZhbHVlICE9PSAnMCcgJiYgcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlKSA+IDApIHtcclxuICAgICAgY29uc29sZS5sb2coJ0lOJyk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRPY2N1cmFuY2UuZW1pdCh7XHJcbiAgICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZExpZmVjeWNsZVR5cGUsXHJcbiAgICAgICAgZW5kc0J5OiB0aGlzLmVuZEJ5LFxyXG4gICAgICAgIGVuZGFmdGVyOiB0aGlzLm9jY3VycmFuY2UsXHJcbiAgICAgICAgc3RhcnRGcm9tOiB0aGlzLnN0YXJ0RGF0ZVVuaXgsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5sb2coJ291dHQnKTtcclxuICAgICAgdGhpcy5vY2N1cnJhbmNlID0gMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gIHRoaXMub2NjdXJyYW5jZSBcclxuICB9XHJcblxyXG4gIC8vIEVuZCBieSBjaGFuZ2VcclxuICBlbmRCeUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIiBPbiBzZWxlY3QgPT0+XCIsIGV2ZW50KVxyXG4gICAgdGhpcy5kYXRlUGlja2VyMS5hcGkub3BlbigpO1xyXG4gICAgdGhpcy5kYXRlUGlja2VyT3ZlcmxheSA9IHRydWU7XHJcbiAgICB0aGlzLmVuZERhdGUgPSBldmVudC5kYXRlO1xyXG4gICAgdGhpcy5jaGFuZ2VFbmREYXRlT2JqKHRoaXMuZW5kRGF0ZSk7XHJcbiAvLyAgIGNvbnNvbGUubG9nKGV2ZW50LCApOyBcclxuICAgIHRoaXMuZW5kQnkgPSBtb21lbnQoZXZlbnQuZGF0ZSkuZm9ybWF0KCdERC1NTU1NLVlZWVknKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZW5kQnkpO1xyXG4gICAgY29uc3QgZGF0ZU9iamVjdCA9IHtcclxuICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZExpZmVjeWNsZVR5cGUsXHJcbiAgICAgIGVuZHNCeTogdGhpcy5lbmRCeSxcclxuICAgICAgZW5kYWZ0ZXI6IHRoaXMub2NjdXJyYW5jZSxcclxuICAgICAgc3RhcnRGcm9tOiB0aGlzLnN0YXJ0RGF0ZVVuaXgsXHJcbiAgICB9O1xyXG4gICAgY29uc29sZS5sb2coXCJkYXRlT2JqZWN0ID09PlwiLCBkYXRlT2JqZWN0KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRPY2N1cmFuY2UuZW1pdChkYXRlT2JqZWN0KTtcclxuICAgIC8vIHJldHVybiB0aGlzLmVuZEJ5XHJcbiAgfVxyXG5cclxuICAvLyBzdGFydCBmcm9tIGNoYW5nZSBldmVudFxyXG4gIHN0YXJ0RnJvbUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIiBzdGFydCBkYXRlIGNoYW5nZVwiLCBldmVudCwgdGhpcy5lbmREYXRlKVxyXG4gICAgY29uc3QgdGltZSA9IG1vbWVudCh0aGlzLmVuZERhdGUpLmZvcm1hdChcIkRELU1NLVlZWVkgSEg6bW06c3NcIik7XHJcbiAgICBjb25zdCBnZXRVbml4VGltZSA9IG1vbWVudCh0aW1lLnNwbGl0KCcgJylbMF0gKyBcIiAwMDowMDowMFwiLCBcIkRELU1NLVlZWVkgSEg6bW06c3NcIikudW5peCgpXHJcbiAgICBjb25zb2xlLmxvZyhcImVuZCBkYXRlID09PnRpbWVcIiwgdGltZSwgZ2V0VW5peFRpbWUpXHJcbiAgICB0aGlzLnN0YXJ0RGF0ZVVuaXggPSBtb21lbnQoZXZlbnQuZGF0ZSkudW5peCgpO1xyXG4gICAgY29uc29sZS5sb2coXCIgdGhpcy5zdGFydERhdGVVbml4ID09PlwiLCB0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5zdGFydERhdGVVbml4KVxyXG4gICAgaWYgKHRoaXMuc3RhcnREYXRlVW5peCA+PSBnZXRVbml4VGltZSkge1xyXG4gICAgICAgdGhpcy5lbmREYXRlID0gbW9tZW50KCh0aGlzLnN0YXJ0RGF0ZVVuaXggKiAxMDAwKSArIDg2NDAwMDAwKTtcclxuICAgICAgIFxyXG4gICAgICAgdGhpcy5jaGFuZ2VFbmREYXRlT2JqKHRoaXMuZW5kRGF0ZSk7XHJcbiAgICAgICBjb25zb2xlLmxvZyhcInRoaXMuZW5kRGF0ZSA9PT5cIiwgdGhpcy5lbmREYXRlLCB0aGlzLnN0YXJ0RGF0ZSlcclxuICAgICAgIHRoaXMuZW5kQnkgPSBtb21lbnQodGhpcy5lbmREYXRlKS5mb3JtYXQoJ0RELU1NTU0tWVlZWVRISDptbTpzc1onKS5zcGxpdCgnVCcpWzBdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lbmREYXRlQ29uZmlnWydtaW4nXSA9IE9iamVjdC5hc3NpZ24oIG1vbWVudCggbmV3IERhdGUobmV3IERhdGUoZXZlbnQuZGF0ZSkuZ2V0VGltZSgpICsgODY0MDAwMDApKSk7XHJcbiAgICBjb25zb2xlLmxvZyhcInRoaXMuZW5kRGF0ZUNvbmZpZyA9PT5cIiwgdGhpcy5lbmREYXRlQ29uZmlnKVxyXG4gICAgdGhpcy5zZWxlY3RlZE9jY3VyYW5jZS5lbWl0KHtcclxuICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZExpZmVjeWNsZVR5cGUsXHJcbiAgICAgIGVuZHNCeTogdGhpcy5lbmRCeSxcclxuICAgICAgZW5kYWZ0ZXI6IHRoaXMub2NjdXJyYW5jZSxcclxuICAgICAgc3RhcnRGcm9tOiB0aGlzLnN0YXJ0RGF0ZVVuaXgsXHJcbiAgICB9KTtcclxuICBcclxuICB9XHJcblxyXG4gIGVuZERhdGVNb2RlbENoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcImVuZERhdGVNb2RlbENoYW5nZSA9PT5cIiwgZXZlbnQpXHJcbiAgfVxyXG59XHJcbiJdfQ==
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWxpZmVjeWNsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktbGlmZWN5Y2xlL2ZyZXF1ZW5jeS1saWZlY3ljbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFxQyxNQUFNLGVBQWUsQ0FBQztBQUU3SCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU94RCxNQUFNLE9BQU8sMkJBQTJCO0lBeUJ0QyxZQUFxQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQW5CdkQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBSzNCLHFCQUFxQjtRQUNaLGNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLFlBQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBRWhFLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsMEJBQXFCLEdBQUcsQ0FBQyxDQUFDLENBQUMseUNBQXlDO1FBQ3BFLE9BQUUsR0FBRyxDQUFDLENBQUM7UUFFaEIscUJBQXFCO1FBQ1gsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUdLLENBQUM7SUFFNUQsUUFBUTtRQUNOLElBQUksQ0FB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U0FBQyxZQUFZOzBCQUN0QixTQUFTLFNBQUMsYUFBYTt3QkFXdkIsS0FBSztzQkFDTCxLQUFLO29CQUNMLEtBQUs7eUJBQ0wsS0FBSztvQ0FDTCxLQUFLO2lCQUNMLEtBQUs7Z0NBR0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzLCBEb0NoZWNrIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICduZzItZGF0ZS1waWNrZXInO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1saWZlY3ljbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktbGlmZWN5Y2xlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktbGlmZWN5Y2xlLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeUxpZmVjeWNsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBEb0NoZWNrIHtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZGF0ZVBpY2tlcicpIGRhdGVQaWNrZXIhOiBEYXRlUGlja2VyQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2RhdGVQaWNrZXIxJykgZGF0ZVBpY2tlcjEhOiBEYXRlUGlja2VyQ29tcG9uZW50O1xyXG5cclxuXHJcbiAgZGF0ZVBpY2tlck92ZXJsYXkgPSBmYWxzZTtcclxuICBzaG93RGF0ZUVycm9yID0gZmFsc2U7XHJcbiAgc3RhcnREYXRlVW5peCA9IERhdGUubm93KCk7XHJcbiAgZW5kRGF0ZU9iamVjdDogYW55O1xyXG4gIHN0YXJ0RGF0ZUNvbmZpZzogYW55O1xyXG4gIGVuZERhdGVDb25maWc6IGFueTtcclxuXHJcbiAgLy8gQWxsIGlucHV0IHZhcmlhYmxlXHJcbiAgQElucHV0KCkgc3RhcnREYXRlID0gbmV3IERhdGUoKTtcclxuICBASW5wdXQoKSBlbmREYXRlID0gbW9tZW50KG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlKS5nZXRUaW1lKCkgKyA4NjQwMDAwMCk7XHJcbiAgQElucHV0KCkgZW5kQnk6IGFueTtcclxuICBASW5wdXQoKSBvY2N1cnJhbmNlID0gMTA7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRMaWZlY3ljbGVUeXBlID0gMjsgLy8gMCA9IEVuZCBieSAsICBFbmQgQWZ0ZXIsIDIgPSBwZXJwZXR1YWxcclxuICBASW5wdXQoKSBpZCA9IDA7XHJcblxyXG4gIC8vICBsaWZlY3ljbGUgb3V0cHV0IFxyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZE9jY3VyYW5jZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gXHJcblxyXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhcnREYXRlQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7Li4udGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmRhdGVDb25maWd9KTtcclxuICAgIHRoaXMuZW5kRGF0ZUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oey4uLnRoaXMuZnJlcXVlbmN5U2VydmljZS5kYXRlQ29uZmlnfSk7XHJcbiAgICB0aGlzLnN0YXJ0RGF0ZUNvbmZpZ1snbWluJ10gPSBuZXcgRGF0ZSgpLmdldERhdGUoKS50b1N0cmluZygpO1xyXG4gICAgLy90aGlzLnN0YXJ0RGF0ZVVuaXggPSB0aGlzLnN0YXJ0RGF0ZS5nZXREYXRlKCkudG9TdHJpbmcoKVxyXG4gICAgdGhpcy5lbmREYXRlQ29uZmlnWydtaW4nXSA9IG1vbWVudChuZXcgRGF0ZShuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSkuZ2V0VGltZSgpICsgODY0MDAwMDApKVxyXG4gICAgdGhpcy5nZXRFbmREYXRlKHRoaXMuc3RhcnREYXRlKVxyXG4gICAgdGhpcy5jaGFuZ2VFbmREYXRlT2JqKHRoaXMuZW5kRGF0ZSk7XHJcbiAgICBjb25zb2xlLmxvZyhcImVuZERhdGUgPT0+XCIsIHRoaXMuZW5kRGF0ZSlcclxuICB9XHJcblxyXG4gIGdldEVuZERhdGUoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgdGltZSA9IG1vbWVudCh0aGlzLmVuZERhdGUpLmZvcm1hdChcIkRELU1NLVlZWVkgSEg6bW06c3NcIik7XHJcbiAgICBjb25zdCBnZXRVbml4VGltZSA9IG1vbWVudCh0aW1lLnNwbGl0KCcgJylbMF0gKyBcIiAwMDowMDowMFwiLCBcIkRELU1NLVlZWVkgSEg6bW06c3NcIikudW5peCgpXHJcbiAgICBjb25zb2xlLmxvZyhcImVuZCBkYXRlID09PnRpbWVcIiwgdGltZSwgZ2V0VW5peFRpbWUpXHJcbiAgICB0aGlzLnN0YXJ0RGF0ZVVuaXggPSBtb21lbnQoZXZlbnQpLnVuaXgoKTtcclxuICAgIGNvbnNvbGUubG9nKFwiIHRoaXMuc3RhcnREYXRlVW5peCA9PT5cIiwgdGhpcy5zdGFydERhdGUsIHRoaXMuc3RhcnREYXRlVW5peClcclxuICAgIGlmICh0aGlzLnN0YXJ0RGF0ZVVuaXggPj0gZ2V0VW5peFRpbWUpIHsgXHJcbiAgICAgIHRoaXMuZW5kRGF0ZSA9IG1vbWVudChuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSkuZ2V0VGltZSgpICsgODY0MDAwMDApXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmVuZERhdGUgPSBtb21lbnQodGhpcy5lbmREYXRlKVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGNoYW5nZUVuZERhdGVPYmooZGF0ZTogYW55KSB7XHJcbiAgICB0aGlzLmVuZERhdGVPYmplY3QgPSBuZXcgRGF0ZShtb21lbnQoZGF0ZSkudW5peCgpICogMTAwMCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2U6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiY2hhbmdlcyA9PT5cIiwgY2hhbmdlLCB0aGlzLnNlbGVjdGVkTGlmZWN5Y2xlVHlwZSlcclxuICAgIHRoaXMuZW5kQnkgPSBtb21lbnQodGhpcy5lbmREYXRlKS5mb3JtYXQoJ0RELU1NTU0tWVlZWVRISDptbTpzc1onKS5zcGxpdCgnVCcpWzBdO1xyXG4gIH1cclxuXHJcbiAgbmdEb0NoZWNrKCkge1xyXG4gIC8vICBjb25zb2xlLmxvZyhcInRoaXMuZW5kRGF0ZSA9PT4gRG9DY2hlY2tcIiwgdGhpcy5lbmREYXRlLCB0aGlzLnN0YXJ0RGF0ZSlcclxuICB9XHJcblxyXG4gIG9wZW5EYXRlUGlja2VyKCkge1xyXG4gIFxyXG4gICAgY29uc3QgbmV3RGF0ZSA9IG1vbWVudCh0aGlzLnN0YXJ0RGF0ZSlcclxuICAgIGNvbnNvbGUubG9nKFwibmV3RGF0ZSA9PT5cIiwgbmV3RGF0ZSlcclxuICAgIHRoaXMuZGF0ZVBpY2tlci5hcGkubW92ZUNhbGVuZGFyVG8obmV3RGF0ZSkgIFxyXG4gICAgdGhpcy5kYXRlUGlja2VyLmFwaS5vcGVuKCk7ICAgICBcclxuICAgIHRoaXMuZGF0ZVBpY2tlck92ZXJsYXkgPSB0cnVlO1xyXG4gIH1cclxuICBvcGVuRGF0ZVBpY2tlcjEoKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcImVuZCBkYXRlID09PlwiLCB0aGlzLmVuZERhdGUpXHJcbiAgICB0aGlzLmRhdGVQaWNrZXIxLmFwaS5tb3ZlQ2FsZW5kYXJUbyh0aGlzLmVuZERhdGUpICAgIFxyXG4gICAgdGhpcy5kYXRlUGlja2VyMS5hcGkub3BlbigpO1xyXG4gICAgICAgXHJcbiAgICB0aGlzLmRhdGVQaWNrZXJPdmVybGF5ID0gdHJ1ZTtcclxuICB9XHJcbiAgY2xvc2VEYXRlcGlja2VyKCkge1xyXG4gICAgdGhpcy5kYXRlUGlja2VyLmFwaS5jbG9zZSgpO1xyXG4gICAgdGhpcy5kYXRlUGlja2VyMS5hcGkuY2xvc2UoKTtcclxuICAgIHRoaXMuZGF0ZVBpY2tlck92ZXJsYXkgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vIGxpZmVjeWNsZSB0eXBlXHJcbiAgdHlwZVNlbGVjdGVkKGV2ZW50OmFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZExpZmVjeWNsZVR5cGUgPSBldmVudDtcclxuICAgIHRoaXMuc2VsZWN0ZWRPY2N1cmFuY2UuZW1pdCh7XHJcbiAgICAgIHR5cGU6IGV2ZW50LFxyXG4gICAgICBlbmRzQnk6IHRoaXMuZW5kQnksXHJcbiAgICAgIGVuZGFmdGVyOiB0aGlzLm9jY3VycmFuY2UsXHJcbiAgICAgIHN0YXJ0RnJvbTogdGhpcy5zdGFydERhdGVVbml4LFxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExpZmVjeWNsZVR5cGU7XHJcbiAgfVxyXG5cclxuICAvLyBlbmRzIGFmdGVyIHNlbGVjdGlvblxyXG4gIGVuZHNBZnRlcihldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygnbGlmZWN5Y2xlIG9jY3VycmFuY2UnLCBldmVudCk7XHJcbiAgICBpZiAoICFOdW1iZXIuaXNOYU4oTnVtYmVyKHRoaXMub2NjdXJyYW5jZSkpICYmIHRoaXMub2NjdXJyYW5jZSAhPT0gMCAmJiBOdW1iZXIodGhpcy5vY2N1cnJhbmNlKSA+IDApIHtcclxuICAgICAgY29uc29sZS5sb2coJ0lOJyk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRPY2N1cmFuY2UuZW1pdCh7XHJcbiAgICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZExpZmVjeWNsZVR5cGUsXHJcbiAgICAgICAgZW5kc0J5OiB0aGlzLmVuZEJ5LFxyXG4gICAgICAgIGVuZGFmdGVyOiB0aGlzLm9jY3VycmFuY2UsXHJcbiAgICAgICAgc3RhcnRGcm9tOiB0aGlzLnN0YXJ0RGF0ZVVuaXgsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5sb2coJ291dHQnKTtcclxuICAgICAgdGhpcy5vY2N1cnJhbmNlID0gMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gIHRoaXMub2NjdXJyYW5jZSBcclxuICB9XHJcblxyXG4gIC8vIEVuZCBieSBjaGFuZ2VcclxuICBlbmRCeUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIiBPbiBzZWxlY3QgPT0+XCIsIGV2ZW50KVxyXG4gICAgdGhpcy5kYXRlUGlja2VyMS5hcGkub3BlbigpO1xyXG4gICAgdGhpcy5kYXRlUGlja2VyT3ZlcmxheSA9IHRydWU7XHJcbiAgICB0aGlzLmVuZERhdGUgPSBldmVudC5kYXRlO1xyXG4gICAgdGhpcy5jaGFuZ2VFbmREYXRlT2JqKHRoaXMuZW5kRGF0ZSk7XHJcbiAvLyAgIGNvbnNvbGUubG9nKGV2ZW50LCApOyBcclxuICAgIHRoaXMuZW5kQnkgPSBtb21lbnQoZXZlbnQuZGF0ZSkuZm9ybWF0KCdERC1NTU1NLVlZWVknKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZW5kQnkpO1xyXG4gICAgY29uc3QgZGF0ZU9iamVjdCA9IHtcclxuICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZExpZmVjeWNsZVR5cGUsXHJcbiAgICAgIGVuZHNCeTogdGhpcy5lbmRCeSxcclxuICAgICAgZW5kYWZ0ZXI6IHRoaXMub2NjdXJyYW5jZSxcclxuICAgICAgc3RhcnRGcm9tOiB0aGlzLnN0YXJ0RGF0ZVVuaXgsXHJcbiAgICB9O1xyXG4gICAgY29uc29sZS5sb2coXCJkYXRlT2JqZWN0ID09PlwiLCBkYXRlT2JqZWN0KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRPY2N1cmFuY2UuZW1pdChkYXRlT2JqZWN0KTtcclxuICAgIC8vIHJldHVybiB0aGlzLmVuZEJ5XHJcbiAgfVxyXG5cclxuICAvLyBzdGFydCBmcm9tIGNoYW5nZSBldmVudFxyXG4gIHN0YXJ0RnJvbUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIiBzdGFydCBkYXRlIGNoYW5nZVwiLCBldmVudCwgdGhpcy5lbmREYXRlKVxyXG4gICAgY29uc3QgdGltZSA9IG1vbWVudCh0aGlzLmVuZERhdGUpLmZvcm1hdChcIkRELU1NLVlZWVkgSEg6bW06c3NcIik7XHJcbiAgICBjb25zdCBnZXRVbml4VGltZSA9IG1vbWVudCh0aW1lLnNwbGl0KCcgJylbMF0gKyBcIiAwMDowMDowMFwiLCBcIkRELU1NLVlZWVkgSEg6bW06c3NcIikudW5peCgpXHJcbiAgICBjb25zb2xlLmxvZyhcImVuZCBkYXRlID09PnRpbWVcIiwgdGltZSwgZ2V0VW5peFRpbWUpXHJcbiAgICB0aGlzLnN0YXJ0RGF0ZVVuaXggPSBtb21lbnQoZXZlbnQuZGF0ZSkudW5peCgpO1xyXG4gICAgY29uc29sZS5sb2coXCIgdGhpcy5zdGFydERhdGVVbml4ID09PlwiLCB0aGlzLnN0YXJ0RGF0ZSwgdGhpcy5zdGFydERhdGVVbml4KVxyXG4gICAgaWYgKHRoaXMuc3RhcnREYXRlVW5peCA+PSBnZXRVbml4VGltZSkge1xyXG4gICAgICAgdGhpcy5lbmREYXRlID0gbW9tZW50KCh0aGlzLnN0YXJ0RGF0ZVVuaXggKiAxMDAwKSArIDg2NDAwMDAwKTtcclxuICAgICAgIFxyXG4gICAgICAgdGhpcy5jaGFuZ2VFbmREYXRlT2JqKHRoaXMuZW5kRGF0ZSk7XHJcbiAgICAgICBjb25zb2xlLmxvZyhcInRoaXMuZW5kRGF0ZSA9PT5cIiwgdGhpcy5lbmREYXRlLCB0aGlzLnN0YXJ0RGF0ZSlcclxuICAgICAgIHRoaXMuZW5kQnkgPSBtb21lbnQodGhpcy5lbmREYXRlKS5mb3JtYXQoJ0RELU1NTU0tWVlZWVRISDptbTpzc1onKS5zcGxpdCgnVCcpWzBdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lbmREYXRlQ29uZmlnWydtaW4nXSA9IE9iamVjdC5hc3NpZ24oIG1vbWVudCggbmV3IERhdGUobmV3IERhdGUoZXZlbnQuZGF0ZSkuZ2V0VGltZSgpICsgODY0MDAwMDApKSk7XHJcbiAgICBjb25zb2xlLmxvZyhcInRoaXMuZW5kRGF0ZUNvbmZpZyA9PT5cIiwgdGhpcy5lbmREYXRlQ29uZmlnKVxyXG4gICAgdGhpcy5zZWxlY3RlZE9jY3VyYW5jZS5lbWl0KHtcclxuICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZExpZmVjeWNsZVR5cGUsXHJcbiAgICAgIGVuZHNCeTogdGhpcy5lbmRCeSxcclxuICAgICAgZW5kYWZ0ZXI6IHRoaXMub2NjdXJyYW5jZSxcclxuICAgICAgc3RhcnRGcm9tOiB0aGlzLnN0YXJ0RGF0ZVVuaXgsXHJcbiAgICB9KTtcclxuICBcclxuICB9XHJcblxyXG4gIGVuZERhdGVNb2RlbENoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcImVuZERhdGVNb2RlbENoYW5nZSA9PT5cIiwgZXZlbnQpXHJcbiAgfVxyXG59XHJcbiJdfQ==