@colijnit/sharedcomponents 1.0.26 → 1.0.28

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 (132) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +2710 -72
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.d.ts +24 -0
  4. package/colijnit-sharedcomponents.metadata.json +1 -1
  5. package/esm2015/colijnit-sharedcomponents.js +25 -1
  6. package/esm2015/lib/components/circular-gauge/co-circular-gauge.component.js +3 -4
  7. package/esm2015/lib/components/date-planning/component/agenda/agenda-base-view.component.js +61 -0
  8. package/esm2015/lib/components/date-planning/component/agenda/agenda-day-view.component.js +32 -0
  9. package/esm2015/lib/components/date-planning/component/agenda/agenda-event.component.js +54 -0
  10. package/esm2015/lib/components/date-planning/component/agenda/agenda-events.component.js +43 -0
  11. package/esm2015/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.js +68 -0
  12. package/esm2015/lib/components/date-planning/component/agenda/agenda-header.component.js +232 -0
  13. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-cell.component.js +36 -0
  14. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.js +50 -0
  15. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view.component.js +46 -0
  16. package/esm2015/lib/components/date-planning/component/agenda/agenda-month-view.component.js +61 -0
  17. package/esm2015/lib/components/date-planning/component/agenda/agenda-select-event.component.js +39 -0
  18. package/esm2015/lib/components/date-planning/component/agenda/agenda-view.component.js +35 -0
  19. package/esm2015/lib/components/date-planning/component/agenda/agenda-week-select-view.component.js +64 -0
  20. package/esm2015/lib/components/date-planning/component/agenda/agenda-week-view.component.js +48 -0
  21. package/esm2015/lib/components/date-planning/component/agenda/view-select.component.js +42 -0
  22. package/esm2015/lib/components/date-planning/component/calendar/calendar-all-months.component.js +34 -0
  23. package/esm2015/lib/components/date-planning/component/calendar/calendar-all-years.component.js +48 -0
  24. package/esm2015/lib/components/date-planning/component/calendar/calendar-header.component.js +107 -0
  25. package/esm2015/lib/components/date-planning/component/calendar/calendar-view.component.js +178 -0
  26. package/esm2015/lib/components/date-planning/component/calendar/calendar.component.js +34 -0
  27. package/esm2015/lib/components/date-planning/date-planning.component.js +106 -0
  28. package/esm2015/lib/components/date-planning/date-planning.module.js +63 -0
  29. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +83 -54
  30. package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +6 -3
  31. package/esm2015/lib/components/send-method-dialog/send-method-params.interface.js +2 -0
  32. package/esm2015/lib/components/statusbar/statusbar.component.js +2 -2
  33. package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +7 -4
  34. package/esm2015/lib/enum/calendar-view.enum.js +8 -0
  35. package/esm2015/lib/enum/icon.enum.js +6 -1
  36. package/esm2015/lib/enum/month.enum.js +17 -0
  37. package/esm2015/lib/enum/thumb-three-way-state.js +19 -0
  38. package/esm2015/lib/enum/time-period.enum.js +11 -0
  39. package/esm2015/lib/model/agenda-event-per-day.model.js +6 -0
  40. package/esm2015/lib/model/agenda-event.model.js +8 -0
  41. package/esm2015/lib/model/agenda-null-objects.js +11 -0
  42. package/esm2015/lib/model/constant/all-months.js +17 -0
  43. package/esm2015/lib/model/date-range.js +5 -0
  44. package/esm2015/lib/model/day.model.js +7 -0
  45. package/esm2015/lib/model/icon-svg.js +6 -1
  46. package/esm2015/lib/model/month.model.js +11 -0
  47. package/esm2015/lib/model/time-window.bo.js +26 -0
  48. package/esm2015/lib/model/week.model.js +6 -0
  49. package/esm2015/lib/model/weekday.model.js +10 -0
  50. package/esm2015/lib/pipe/array-number.pipe.js +15 -0
  51. package/esm2015/lib/pipe/master-pipes.js +7 -0
  52. package/esm2015/lib/pipe/ucfirst.pipe.js +16 -0
  53. package/esm2015/lib/service/shared-connector.service.js +49 -1
  54. package/esm2015/lib/service/stock.service.js +16 -5
  55. package/esm2015/lib/utils/array-utils.js +24 -5
  56. package/esm2015/lib/utils/calendar.utils.js +69 -0
  57. package/esm2015/lib/utils/check-precision-and-scale-result.js +2 -0
  58. package/esm2015/lib/utils/check-within-stepped-bounds-result.js +2 -0
  59. package/esm2015/lib/utils/date-utils.js +264 -0
  60. package/esm2015/lib/utils/function/not-nill.function.js +5 -0
  61. package/esm2015/lib/utils/map-utils.js +41 -0
  62. package/esm2015/lib/utils/number-utils.js +390 -0
  63. package/esm2015/lib/utils/object-utils.js +278 -0
  64. package/esm2015/public-api.js +3 -1
  65. package/fesm2015/colijnit-sharedcomponents.js +2789 -98
  66. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  67. package/lib/components/date-planning/component/agenda/agenda-base-view.component.d.ts +21 -0
  68. package/lib/components/date-planning/component/agenda/agenda-day-view.component.d.ts +6 -0
  69. package/lib/components/date-planning/component/agenda/agenda-event.component.d.ts +17 -0
  70. package/lib/components/date-planning/component/agenda/agenda-events.component.d.ts +12 -0
  71. package/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.d.ts +18 -0
  72. package/lib/components/date-planning/component/agenda/agenda-header.component.d.ts +47 -0
  73. package/lib/components/date-planning/component/agenda/agenda-hour-cell.component.d.ts +9 -0
  74. package/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.d.ts +8 -0
  75. package/lib/components/date-planning/component/agenda/agenda-hour-view.component.d.ts +7 -0
  76. package/lib/components/date-planning/component/agenda/agenda-month-view.component.d.ts +10 -0
  77. package/lib/components/date-planning/component/agenda/agenda-select-event.component.d.ts +12 -0
  78. package/lib/components/date-planning/component/agenda/agenda-view.component.d.ts +11 -0
  79. package/lib/components/date-planning/component/agenda/agenda-week-select-view.component.d.ts +10 -0
  80. package/lib/components/date-planning/component/agenda/agenda-week-view.component.d.ts +8 -0
  81. package/lib/components/date-planning/component/agenda/view-select.component.d.ts +11 -0
  82. package/lib/components/date-planning/component/calendar/calendar-all-months.component.d.ts +9 -0
  83. package/lib/components/date-planning/component/calendar/calendar-all-years.component.d.ts +9 -0
  84. package/lib/components/date-planning/component/calendar/calendar-header.component.d.ts +23 -0
  85. package/lib/components/date-planning/component/calendar/calendar-view.component.d.ts +31 -0
  86. package/lib/components/date-planning/component/calendar/calendar.component.d.ts +10 -0
  87. package/lib/components/date-planning/date-planning.component.d.ts +25 -0
  88. package/lib/components/date-planning/date-planning.module.d.ts +2 -0
  89. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +24 -7
  90. package/lib/components/send-method-dialog/send-method-params.interface.d.ts +13 -0
  91. package/lib/components/send-method-dialog/style/_layout.scss +5 -0
  92. package/lib/components/statusbar/statusbar.component.d.ts +1 -0
  93. package/lib/components/tags/component/style/_layout.scss +67 -0
  94. package/lib/components/tags/component/style/_material-definition.scss +1 -0
  95. package/lib/components/tags/component/style/_theme.scss +8 -0
  96. package/lib/components/tags/component/style/material.scss +3 -0
  97. package/lib/components/tags/component/tag-join-label/style/_layout.scss +97 -0
  98. package/lib/components/tags/component/tag-join-label/style/_material-definition.scss +4 -0
  99. package/lib/components/tags/component/tag-join-label/style/_theme.scss +8 -0
  100. package/lib/components/tags/component/tag-join-label/style/material.scss +3 -0
  101. package/lib/enum/calendar-view.enum.d.ts +6 -0
  102. package/lib/enum/icon.enum.d.ts +5 -0
  103. package/lib/enum/month.enum.d.ts +14 -0
  104. package/lib/enum/thumb-three-way-state.d.ts +6 -0
  105. package/lib/enum/time-period.enum.d.ts +8 -0
  106. package/lib/model/agenda-event-per-day.model.d.ts +5 -0
  107. package/lib/model/agenda-event.model.d.ts +16 -0
  108. package/lib/model/agenda-null-objects.d.ts +10 -0
  109. package/lib/model/constant/all-months.d.ts +2 -0
  110. package/lib/model/date-range.d.ts +7 -0
  111. package/lib/model/day.model.d.ts +8 -0
  112. package/lib/model/month.model.d.ts +5 -0
  113. package/lib/model/time-window.bo.d.ts +13 -0
  114. package/lib/model/week.model.d.ts +4 -0
  115. package/lib/model/weekday.model.d.ts +16 -0
  116. package/lib/pipe/array-number.pipe.d.ts +4 -0
  117. package/lib/pipe/master-pipes.d.ts +1 -0
  118. package/lib/pipe/ucfirst.pipe.d.ts +4 -0
  119. package/lib/service/shared-connector.service.d.ts +4 -0
  120. package/lib/service/stock.service.d.ts +6 -2
  121. package/lib/style/_mixin.scss +5 -0
  122. package/lib/utils/array-utils.d.ts +6 -0
  123. package/lib/utils/calendar.utils.d.ts +10 -0
  124. package/lib/utils/check-precision-and-scale-result.d.ts +4 -0
  125. package/lib/utils/check-within-stepped-bounds-result.d.ts +8 -0
  126. package/lib/utils/date-utils.d.ts +44 -0
  127. package/lib/utils/function/not-nill.function.d.ts +1 -0
  128. package/lib/utils/map-utils.d.ts +16 -0
  129. package/lib/utils/number-utils.d.ts +125 -0
  130. package/lib/utils/object-utils.d.ts +40 -0
  131. package/package.json +1 -1
  132. package/public-api.d.ts +2 -0
@@ -5,9 +5,9 @@ import { IconCacheService } from "../../service/icon-cache.service";
5
5
  import { SendOption } from "./enums/send-option";
6
6
  import { animate, state, style, transition, trigger } from "@angular/animations";
7
7
  import { StockService } from "../../service/stock.service";
8
- import { StockStickersPrintLayouts } from "@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo";
9
8
  import { OptionsService } from "../../service/options.service";
10
9
  import { DictionaryService } from "../../service/dictionary.service";
10
+ import { PrintPriceStickers } from "@colijnit/sharedapi/build/model/print-price-stickers.bo";
11
11
  export class SendMethodDialogComponent {
12
12
  constructor(iconCacheService, stockService, _optionsService, _dictionary, _changeDetector) {
13
13
  this.iconCacheService = iconCacheService;
@@ -21,46 +21,62 @@ export class SendMethodDialogComponent {
21
21
  this.showPrintOption = true;
22
22
  this.showPdfOption = true;
23
23
  this.showXmlOption = true;
24
- this.showPrintPriceStickers = false;
25
- this.showPrintStockStickers = true;
24
+ this.showPrintPriceStickers = true;
26
25
  this.sendOptions = [
27
26
  { option: SendOption.Email,
28
- iconName: this.icons.Email,
27
+ iconName: this.icons.EnvelopeRegular,
29
28
  },
30
29
  { option: SendOption.Print,
31
- iconName: this.icons.Print,
30
+ iconName: this.icons.PrintRegular,
32
31
  },
33
32
  { option: SendOption.Pdf,
34
- iconName: this.icons.Pdf,
33
+ iconName: this.icons.FilePdfRegular,
35
34
  },
36
35
  { option: SendOption.Xml,
37
- iconName: this.icons.Xml,
36
+ iconName: this.icons.FilePdfRegular,
38
37
  }
39
38
  ];
40
39
  this.activeSendOption = SendOption.Email;
41
40
  this.showStandardPrinterOptions = false;
42
41
  this.showPrinterSelections = false;
43
42
  this.showExitButton = true;
43
+ this.printTemplates = [];
44
44
  this.printTemplatesField = { text: "name", value: "reportId" };
45
+ this.emailLayoutField = { text: "name", value: "reportId" };
45
46
  this.priceListDataField = { text: "name", value: "priceListCode" };
46
47
  this.upAndLoaded = false;
47
- this.emails = ['lars.vdv@colijn-it.nl', 'david@colijn-it.nl', 'ruben@colijn-it.nl'];
48
48
  this.models = [false, false, true];
49
- this.layouts = ['Layout 1', 'Layout 2', 'Layout 3'];
50
49
  this.showDialog = false;
50
+ this.emailAdresses = [];
51
+ this.printLayouts = [];
52
+ this.isDocSignEnabled = false;
53
+ this.docSign = false;
51
54
  this.startSignatureClicked = new EventEmitter();
55
+ this.sendEmailClicked = new EventEmitter();
52
56
  this.printButtonClicked = new EventEmitter();
57
+ this.emailLayoutClicked = new EventEmitter();
58
+ this.printTemplatesClicked = new EventEmitter();
59
+ this.defaultSendMethodClicked = new EventEmitter();
60
+ this.printLayoutParams = new EventEmitter();
61
+ this.sendMethodParams = new class {
62
+ };
53
63
  this._subscriptions = [];
54
64
  this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
55
65
  }
56
66
  set articleData(data) {
57
- this.stockService.printSticker.goodId = data.goodId;
58
- this.stockService.printSticker.warehouse = data.warehouseNo;
67
+ if (!(this.printLayoutParams instanceof PrintPriceStickers)) {
68
+ this.sendMethodParams.goodId = data.goodId;
69
+ this.sendMethodParams.warehouse = data.warehouseNo;
70
+ }
59
71
  }
60
72
  ;
61
73
  showClass() {
62
74
  return true;
63
75
  }
76
+ ngOnInit() {
77
+ this.getDefaultSendMethod();
78
+ this.getDefaultEmailLayouts();
79
+ }
64
80
  ngOnDestroy() {
65
81
  this._subscriptions.forEach(subscription => subscription.unsubscribe());
66
82
  }
@@ -75,12 +91,16 @@ export class SendMethodDialogComponent {
75
91
  this.showDialog = false;
76
92
  }
77
93
  handleSignatureStart() {
94
+ this.docSign = !this.docSign;
78
95
  this.startSignatureClicked.emit();
79
96
  }
97
+ sendEmail() {
98
+ this.sendEmailClicked.emit();
99
+ this.printLayoutParams.emit(this.sendMethodParams);
100
+ }
80
101
  handlePrintClicked() {
81
- // this.printButtonClicked.emit();
82
- if (this.stockService.printSticker.printerName) {
83
- this.stockService.getPrintStockStickers(this.stockService.printSticker);
102
+ if (this.sendMethodParams.printerName) {
103
+ this.printButtonClicked.emit();
84
104
  }
85
105
  }
86
106
  togglePrinterSelection() {
@@ -96,16 +116,19 @@ export class SendMethodDialogComponent {
96
116
  }
97
117
  onPrinterClicked(printer) {
98
118
  this.defaultPrinter = printer.name;
99
- this.stockService.printSticker.printerName = printer.name;
119
+ this.sendMethodParams.printerName = printer.name;
100
120
  this.showPrinterSelections = !this.showPrinterSelections;
101
121
  }
102
122
  getPrintTemplates() {
103
- if (!this.printTemplates) {
104
- const data = new StockStickersPrintLayouts();
105
- this.stockService.getStockStickerTemplates(data).then((templates) => {
106
- this.printTemplates = templates;
107
- });
108
- }
123
+ this.printTemplatesClicked.emit();
124
+ }
125
+ getDefaultSendMethod() {
126
+ this.defaultSendMethodClicked.emit();
127
+ }
128
+ getDefaultEmailLayouts() {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ this.emailLayoutClicked.emit();
131
+ });
109
132
  }
110
133
  _handleSettingsLoaded(loaded) {
111
134
  return __awaiter(this, void 0, void 0, function* () {
@@ -133,10 +156,10 @@ SendMethodDialogComponent.decorators = [
133
156
  selector: "ione-send-method-dialog",
134
157
  template: `
135
158
  <div class="send-method-dialog-wrapper">
136
- <co-dialog-wizard id="sendOptionsDialog" *ngIf="showDialog" [showCloseIcon]="showExitButton" (closeClick)="closeDialogClick()">
137
- <ng-container header>
138
- <span [textContent]="headerTitle"></span>
139
- </ng-container>
159
+ <co-dialog id="sendOptionsDialog" [headerTemplate]="headerTemplate" *ngIf="showDialog" [showCloseIcon]="showExitButton" (closeClick)="closeDialogClick()">
160
+ <ng-template #headerTemplate>
161
+ <h2 [textContent]="headerTitle"></h2>
162
+ </ng-template>
140
163
  <div class="dialog-content-wrapper">
141
164
  <div class="main-content-container" *ngIf="!showPrinterSelections">
142
165
  <div class="send-options-wrapper">
@@ -151,43 +174,47 @@ SendMethodDialogComponent.decorators = [
151
174
  <div class="email-option-content" *ngIf="activeSendOption === sendOption.Email || activeSendOption === sendOption.Pdf">
152
175
  <div class="emails-container" *ngIf="activeSendOption === sendOption.Email">
153
176
  <co-input-checkbox
154
- *ngFor="let email, let index of emails"
155
- [name]="email"
156
- [(model)]="models[index]"
177
+ *ngFor="let email of emailAdresses"
178
+ [(model)]="email.name"
157
179
  [label]="email"
158
180
  [cssClass]="'input-checkbox-wrapper'"
159
181
  ></co-input-checkbox>
160
182
  </div>
161
183
 
162
- <div class="lov-wrapper">
184
+ <div class="lov-wrapper" (click)="getDefaultEmailLayouts()">
163
185
  <co-input-combo-box
164
- [(model)]="selectedLayout"
165
- [collection]="layouts"
166
- [forceReadonly]="true"
186
+ [(model)]="sendMethodParams.reportId"
187
+ [collection]="emailLayouts"
188
+ [fields]="emailLayoutField"
167
189
  placeholder="Layout"
168
190
  ></co-input-combo-box>
169
191
  </div>
170
192
 
171
- <div class="signature-button-wrapper">
193
+ <div *ngIf="isDocSignEnabled" class="signature-button-wrapper">
172
194
  <div class="custom-button-wrapper signature-button" (click)="handleSignatureStart()">
173
195
  <co-icon [iconData]="iconCacheService.getIcon(icons.SignatureField)"></co-icon>
174
196
  </div>
197
+ <div class="custom-button-wrapper send-button" (click)="sendEmail()">
198
+ <co-icon [iconData]="iconCacheService.getIcon(icons.Email)"></co-icon>
199
+ </div>
175
200
  </div>
201
+
202
+ <ione-docsign *ngIf="docSign"></ione-docsign>
176
203
  </div>
177
204
 
178
205
  <div class="email-option-content" *ngIf="activeSendOption === sendOption.Print" (click)="getPrintTemplates()">
179
206
  <div *ngIf="showPrintPriceStickers">
180
207
  <div class="lov-wrapper">
181
208
  <co-input-combo-box
182
- [(model)]="stockService.printPriceSticker.reportId"
183
- [collection]="printTemplates"
209
+ [(model)]="sendMethodParams.reportId"
210
+ [collection]="printLayouts"
184
211
  [fields]="printTemplatesField"
185
212
  placeholder="Layout"
186
213
  ></co-input-combo-box>
187
214
  </div>
188
215
  <div class="lov-wrapper" *ngIf="priceListCodeData">
189
216
  <co-input-combo-box
190
- [(model)]="stockService.printPriceSticker.priceListCode"
217
+ [(model)]="sendMethodParams.priceListCode"
191
218
  [collection]="priceListCodeData"
192
219
  [fields]="priceListDataField"
193
220
  placeholder="Layout"
@@ -195,21 +222,10 @@ SendMethodDialogComponent.decorators = [
195
222
  </div>
196
223
  </div>
197
224
 
198
- <div *ngIf="showPrintStockStickers">
199
- <div class="lov-wrapper">
200
- <co-input-combo-box
201
- [(model)]="stockService.printSticker.reportId"
202
- [collection]="printTemplates"
203
- [fields]="printTemplatesField"
204
- placeholder="Layout"
205
- ></co-input-combo-box>
206
- </div>
207
- </div>
208
-
209
225
  <div class="lov-wrapper clickable" (click)="togglePrinterSelection()">
210
226
  <div class="selected-printer-wrapper">
211
227
  <div class="printer-option-list-item">
212
- <co-icon class="printer-icon" [iconData]="iconCacheService.getIcon(icons.Print)"></co-icon>
228
+ <co-icon class="printer-icon" [iconData]="iconCacheService.getIcon(icons.PrintRegular)"></co-icon>
213
229
  <div class="printer-details" *ngIf="printerList">
214
230
  <span class="printer-name" [textContent]="defaultPrinter"></span>
215
231
  <span class="printer-status" [textContent]="defaultPrinter.acceptingJobs"></span>
@@ -242,7 +258,7 @@ SendMethodDialogComponent.decorators = [
242
258
  <div class="print-footer-wrapper">
243
259
  <div class="input-number-wrapper">
244
260
  <co-input-number-picker class="number-picker"
245
- [step]="1" [(model)]="stockService.printSticker.amount" [min]="1"
261
+ [step]="1" [(model)]="sendMethodParams.amount" [min]="1"
246
262
  [ngModelOptions]="{debounce: 1}">
247
263
  </co-input-number-picker>
248
264
  </div>
@@ -259,7 +275,7 @@ SendMethodDialogComponent.decorators = [
259
275
  <div class="printer-content-container" @slideInOut *ngIf="showPrinterSelections">
260
276
  <div class="selected-printer-wrapper selection clickable" *ngFor="let printers of printerList" (click)="onPrinterClicked(printers)">
261
277
  <div class="printer-option-list-item">
262
- <co-icon class="printer-icon" [iconData]="iconCacheService.getIcon(icons.Print)"></co-icon>
278
+ <co-icon class="printer-icon" [iconData]="iconCacheService.getIcon(icons.PrintRegular)"></co-icon>
263
279
  <div class="printer-details">
264
280
  <span class="printer-name" [textContent]="printers.name"></span>
265
281
  <span class="printer-status" [textContent]="printers.acceptingJobs"></span>
@@ -270,7 +286,7 @@ SendMethodDialogComponent.decorators = [
270
286
  </div>
271
287
  </div>
272
288
  </div>
273
- </co-dialog-wizard>
289
+ </co-dialog>
274
290
  </div>
275
291
  `,
276
292
  encapsulation: ViewEncapsulation.None,
@@ -296,14 +312,27 @@ SendMethodDialogComponent.propDecorators = {
296
312
  showPdfOption: [{ type: Input }],
297
313
  showXmlOption: [{ type: Input }],
298
314
  showPrintPriceStickers: [{ type: Input }],
299
- showPrintStockStickers: [{ type: Input }],
300
315
  priceListCodeData: [{ type: Input }],
316
+ transactionUUID: [{ type: Input }],
301
317
  showDialog: [{ type: Input }],
302
318
  headerTitle: [{ type: Input }],
303
319
  printerList: [{ type: Input }],
320
+ relationId: [{ type: Input }],
321
+ emailAdresses: [{ type: Input }],
322
+ emailLayouts: [{ type: Input }],
323
+ printLayouts: [{ type: Input }],
324
+ defaultSendMethod: [{ type: Input }],
325
+ defaultEmailAdresses: [{ type: Input }],
326
+ isDocSignEnabled: [{ type: Input }],
327
+ docSign: [{ type: Input }],
304
328
  articleData: [{ type: Input }],
305
329
  startSignatureClicked: [{ type: Output }],
330
+ sendEmailClicked: [{ type: Output }],
306
331
  printButtonClicked: [{ type: Output }],
307
- showClass: [{ type: HostBinding, args: ["class.ione-send-method-dialog",] }]
332
+ emailLayoutClicked: [{ type: Output }],
333
+ showClass: [{ type: HostBinding, args: ["class.ione-send-method-dialog",] }],
334
+ printTemplatesClicked: [{ type: Output }],
335
+ defaultSendMethodClicked: [{ type: Output }],
336
+ printLayoutParams: [{ type: Output }]
308
337
  };
309
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFHakgsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBNEpuRSxNQUFNLE9BQU8seUJBQXlCO0lBb0ZwQyxZQUNTLGdCQUFrQyxFQUNsQyxZQUEwQixFQUN6QixlQUErQixFQUMvQixXQUE4QixFQUM5QixlQUFrQztRQUpuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3pCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMv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O0dBNklUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLFlBQVksRUFBRTt3QkFDcEIsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQzt3QkFDN0UsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7d0JBQ25FLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUN0QyxDQUFDO2lCQUNIO2FBQ0Y7OztZQW5LTyxnQkFBZ0I7WUFJaEIsWUFBWTtZQUlaLGNBQWM7WUFDZCxpQkFBaUI7WUFsQnZCLGlCQUFpQjs7OzhCQWtMaEIsS0FBSzs4QkFHTCxLQUFLOzRCQUdMLEtBQUs7NEJBR0wsS0FBSztxQ0FHTCxLQUFLO3FDQUdMLEtBQUs7Z0NBR0wsS0FBSzt5QkFrQ0wsS0FBSzswQkFHTCxLQUFLOzBCQUdMLEtBQUs7MEJBR0wsS0FBSztvQ0FNTCxNQUFNO2lDQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCwgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U2VuZE9wdGlvbn0gZnJvbSBcIi4vZW51bXMvc2VuZC1vcHRpb25cIjtcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcmVwb3J0L3ByaW50ZXIuYm9cIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9yZXBvcnQvc3RvY2stc3RpY2tlcnMtcHJpbnQtbGF5b3V0cy5ib1wiO1xyXG5pbXBvcnQge0NvRHJvcERvd25MaXN0RmllbGRzfSBmcm9tIFwiLi4vc3RvY2svc3RvY2stdHJhbnNmZXIvY28tZHJvcC1kb3duLWxpc3QtZmllbGRzLmludGVyZmFjZVwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtPcHRpb25zU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvb3B0aW9ucy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaW9uZS1zZW5kLW1ldGhvZC1kaWFsb2dcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInNlbmQtbWV0aG9kLWRpYWxvZy13cmFwcGVyXCI+XHJcbiAgICAgIDxjby1kaWFsb2ctd2l6YXJkIGlkPVwic2VuZE9wdGlvbnNEaWFsb2dcIiAqbmdJZj1cInNob3dEaWFsb2dcIiBbc2hvd0Nsb3NlSWNvbl09XCJzaG93RXhpdEJ1dHRvblwiIChjbG9zZUNsaWNrKT1cImNsb3NlRGlhbG9nQ2xpY2soKVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgaGVhZGVyPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImhlYWRlclRpdGxlXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50LWNvbnRhaW5lclwiICpuZ0lmPVwiIXNob3dQcmludGVyU2VsZWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VuZC1vcHRpb25zLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi13cmFwcGVyXCJcclxuICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZW5kT3B0aW9uIG9mIHNlbmRPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1vcHRpb25dPVwic2VuZE9wdGlvbi5vcHRpb24gPT09IGFjdGl2ZVNlbmRPcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2ZVNlbmRPcHRpb24gPSBzZW5kT3B0aW9uLm9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihzZW5kT3B0aW9uLmljb25OYW1lKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWwtb3B0aW9uLWNvbnRlbnRcIiAqbmdJZj1cImFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uRW1haWwgfHwgYWN0aXZlU2VuZE9wdGlvbiA9PT0gc2VuZE9wdGlvbi5QZGZcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWxzLWNvbnRhaW5lclwiICpuZ0lmPVwiYWN0aXZlU2VuZE9wdGlvbiA9PT0gc2VuZE9wdGlvbi5FbWFpbFwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlbWFpbCwgbGV0IGluZGV4IG9mIGVtYWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImVtYWlsXCJcclxuICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWxzW2luZGV4XVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJlbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjc3NDbGFzc109XCInaW5wdXQtY2hlY2tib3gtd3JhcHBlcidcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveFxyXG4gICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWxlY3RlZExheW91dFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImxheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9yY2VSZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY29tYm8tYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lnbmF0dXJlLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi13cmFwcGVyIHNpZ25hdHVyZS1idXR0b25cIiAoY2xpY2spPVwiaGFuZGxlU2lnbmF0dXJlU3RhcnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNpZ25hdHVyZUZpZWxkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbWFpbC1vcHRpb24tY29udGVudFwiICpuZ0lmPVwiYWN0aXZlU2VuZE9wdGlvbiA9PT0gc2VuZE9wdGlvbi5QcmludFwiIChjbGljayk9XCJnZXRQcmludFRlbXBsYXRlcygpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dQcmludFByaWNlU3RpY2tlcnNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY29tYm8tYm94XHJcbiAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic3RvY2tTZXJ2aWNlLnByaW50UHJpY2VTdGlja2VyLnJlcG9ydElkXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJwcmludFRlbXBsYXRlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2ZpZWxkc109XCJwcmludFRlbXBsYXRlc0ZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkxheW91dFwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNvbWJvLWJveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvdi13cmFwcGVyXCIgKm5nSWY9XCJwcmljZUxpc3RDb2RlRGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY29tYm8tYm94XHJcbiAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic3RvY2tTZXJ2aWNlLnByaW50UHJpY2VTdGlja2VyLnByaWNlTGlzdENvZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInByaWNlTGlzdENvZGVEYXRhXCJcclxuICAgICAgICAgICAgICAgICAgICBbZmllbGRzXT1cInByaWNlTGlzdERhdGFGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jb21iby1ib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dQcmludFN0b2NrU3RpY2tlcnNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY29tYm8tYm94XHJcbiAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic3RvY2tTZXJ2aWNlLnByaW50U3RpY2tlci5yZXBvcnRJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwicHJpbnRUZW1wbGF0ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwicHJpbnRUZW1wbGF0ZXNGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jb21iby1ib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvdi13cmFwcGVyIGNsaWNrYWJsZVwiIChjbGljayk9XCJ0b2dnbGVQcmludGVyU2VsZWN0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1wcmludGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItb3B0aW9uLWxpc3QtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwicHJpbnRlci1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QcmludClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItZGV0YWlsc1wiICpuZ0lmPVwicHJpbnRlckxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbnRlci1uYW1lXCIgW3RleHRDb250ZW50XT1cImRlZmF1bHRQcmludGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmludGVyLXN0YXR1c1wiIFt0ZXh0Q29udGVudF09XCJkZWZhdWx0UHJpbnRlci5hY2NlcHRpbmdKb2JzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJzZWxlY3QtcHJpbnRlci1hcnJvd1wiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci1saW5rXCIgKGNsaWNrKT1cInNob3dTdGFuZGFyZFByaW50ZXJPcHRpb25zID0gIXNob3dTdGFuZGFyZFByaW50ZXJPcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiYXJyb3ctaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dGYXRSaWdodClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci1tZXNzYWdlXCIgW3RleHRDb250ZW50XT1cIidTdGFuZGFhcmQgcHJpbnRlciB2b29yIGxheS1vdXQgaW5zdGVsbGVuJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGFuZGFyZC1wcmludGVyLXNlbGVjdGlvbnNcIiAqbmdJZj1cInNob3dTdGFuZGFyZFByaW50ZXJPcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsc1swXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidQZXIgZ2VicnVpa2VyIGluc3RlbGxlbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjc3NDbGFzc109XCInaW5wdXQtY2hlY2tib3gtd3JhcHBlcidcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWxzWzFdXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1Zvb3IgYWxsZSBnZWJydWlrZXJzIGluc3RlbGxlbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjc3NDbGFzc109XCInaW5wdXQtY2hlY2tib3gtd3JhcHBlcidcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnQtZm9vdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1udW1iZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtbnVtYmVyLXBpY2tlciBjbGFzcz1cIm51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RlcF09XCIxXCIgWyhtb2RlbCldPVwic3RvY2tTZXJ2aWNlLnByaW50U3RpY2tlci5hbW91bnRcIiBbbWluXT1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie2RlYm91bmNlOiAxfVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LW51bWJlci1waWNrZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXdyYXBwZXIgcHJpbnQtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVByaW50Q2xpY2tlZCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInUHJpbnQnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi13cmFwcGVyIHNpZ25hdHVyZS1idXR0b25cIiAoY2xpY2spPVwiaGFuZGxlU2lnbmF0dXJlU3RhcnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNpZ25hdHVyZUZpZWxkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLWNvbnRlbnQtY29udGFpbmVyXCIgQHNsaWRlSW5PdXQgKm5nSWY9XCJzaG93UHJpbnRlclNlbGVjdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLXByaW50ZXItd3JhcHBlciBzZWxlY3Rpb24gY2xpY2thYmxlXCIgKm5nRm9yPVwibGV0IHByaW50ZXJzIG9mIHByaW50ZXJMaXN0XCIgKGNsaWNrKT1cIm9uUHJpbnRlckNsaWNrZWQocHJpbnRlcnMpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItb3B0aW9uLWxpc3QtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJwcmludGVyLWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlByaW50KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLWRldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmludGVyLW5hbWVcIiBbdGV4dENvbnRlbnRdPVwicHJpbnRlcnMubmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmludGVyLXN0YXR1c1wiIFt0ZXh0Q29udGVudF09XCJwcmludGVycy5hY2NlcHRpbmdKb2JzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJzZWxlY3QtcHJpbnRlci1hcnJvd1wiICpuZ0lmPVwiIXNob3dQcmludGVyU2VsZWN0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50UmlnaHQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2NvLWRpYWxvZy13aXphcmQ+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcclxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknLCB3aWR0aDogJzEwMCUnLCBvcGFjaXR5OiAnMSd9KSksXHJcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTUwJSknLCBvcGFjaXR5OiAnMCd9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIGFuaW1hdGUoMjUwKSlcclxuICAgIF0pXHJcbiAgXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlbmRNZXRob2REaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBzZW5kT3B0aW9uOiB0eXBlb2YgU2VuZE9wdGlvbiA9IFNlbmRPcHRpb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dFbWFpbE9wdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dQcmludE9wdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dQZGZPcHRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93WG1sT3B0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1ByaW50UHJpY2VTdGlja2VyczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UHJpbnRTdG9ja1N0aWNrZXJzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpY2VMaXN0Q29kZURhdGE6IGFueVxyXG5cclxuICBwdWJsaWMgc2VuZE9wdGlvbnM6IHtvcHRpb246IFNlbmRPcHRpb24sIGljb25OYW1lOiBJY29ufVtdID0gW1xyXG4gICAgeyBvcHRpb246IFNlbmRPcHRpb24uRW1haWwsXHJcbiAgICAgIGljb25OYW1lOiB0aGlzLmljb25zLkVtYWlsLFxyXG4gICAgfSxcclxuICAgIHsgb3B0aW9uOiBTZW5kT3B0aW9uLlByaW50LFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5QcmludCxcclxuICAgIH0sXHJcbiAgICB7IG9wdGlvbjogU2VuZE9wdGlvbi5QZGYsXHJcbiAgICAgIGljb25OYW1lOiB0aGlzLmljb25zLlBkZixcclxuICAgIH0sXHJcbiAgICB7IG9wdGlvbjogU2VuZE9wdGlvbi5YbWwsXHJcbiAgICAgIGljb25OYW1lOiB0aGlzLmljb25zLlhtbCxcclxuICAgIH1cclxuICBdXHJcblxyXG4gIHB1YmxpYyBhY3RpdmVTZW5kT3B0aW9uOiBTZW5kT3B0aW9uID0gU2VuZE9wdGlvbi5FbWFpbDtcclxuICBwdWJsaWMgc2hvd1N0YW5kYXJkUHJpbnRlck9wdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1ByaW50ZXJTZWxlY3Rpb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dFeGl0QnV0dG9uID0gdHJ1ZTtcclxuICBwdWJsaWMgZGVmYXVsdFByaW50ZXI6IFByaW50ZXI7XHJcbiAgcHVibGljIHByaW50VGVtcGxhdGVzOiBTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzW107XHJcbiAgcHVibGljIHByaW50VGVtcGxhdGVzRmllbGQ6IENvRHJvcERvd25MaXN0RmllbGRzID0ge3RleHQ6IFwibmFtZVwiLCB2YWx1ZTogXCJyZXBvcnRJZFwifTtcclxuICBwdWJsaWMgcHJpY2VMaXN0RGF0YUZpZWxkOiBDb0Ryb3BEb3duTGlzdEZpZWxkcyA9IHt0ZXh0OiBcIm5hbWVcIiwgdmFsdWU6IFwicHJpY2VMaXN0Q29kZVwifTtcclxuICBwdWJsaWMgdXBBbmRMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGVtYWlsczogYW55W10gPSBbJ2xhcnMudmR2QGNvbGlqbi1pdC5ubCcsICdkYXZpZEBjb2xpam4taXQubmwnLCAncnViZW5AY29saWpuLWl0Lm5sJ107XHJcbiAgcHVibGljIG1vZGVsczogYm9vbGVhbltdID0gW2ZhbHNlLCBmYWxzZSwgdHJ1ZV07XHJcblxyXG4gIHB1YmxpYyBsYXlvdXRzOiBhbnlbXSA9IFsnTGF5b3V0IDEnLCAnTGF5b3V0IDInLCAnTGF5b3V0IDMnXTtcclxuICBwdWJsaWMgc2VsZWN0ZWRMYXlvdXQ6ICdMYXlvdXQgMSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGVhZGVyVGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRlckxpc3Q6IFByaW50ZXJbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFydGljbGVEYXRhKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5zdG9ja1NlcnZpY2UucHJpbnRTdGlja2VyLmdvb2RJZCA9IGRhdGEuZ29vZElkO1xyXG4gICAgdGhpcy5zdG9ja1NlcnZpY2UucHJpbnRTdGlja2VyLndhcmVob3VzZSA9IGRhdGEud2FyZWhvdXNlTm87XHJcbiAgfTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHN0YXJ0U2lnbmF0dXJlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHByaW50QnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaW9uZS1zZW5kLW1ldGhvZC1kaWFsb2dcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHN0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGljdGlvbmFyeTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnNMb2FkZWQuc3Vic2NyaWJlKGxvYWRlZCA9PiB0aGlzLl9oYW5kbGVTZXR0aW5nc0xvYWRlZChsb2FkZWQpKSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHJpbnRlcnMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9ja1NlcnZpY2UuZ2V0QWxsUHJpbnRlcnModHJ1ZSkudGhlbigobGlzdCkgPT4ge1xyXG4gICAgICB0aGlzLnByaW50ZXJMaXN0ID0gbGlzdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlRGlhbG9nQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dEaWFsb2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaWduYXR1cmVTdGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhcnRTaWduYXR1cmVDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVQcmludENsaWNrZWQoKTogdm9pZCB7XHJcbiAgICAvLyB0aGlzLnByaW50QnV0dG9uQ2xpY2tlZC5lbWl0KCk7XHJcbiAgICBpZiAodGhpcy5zdG9ja1NlcnZpY2UucHJpbnRTdGlja2VyLnByaW50ZXJOYW1lKSB7XHJcbiAgICAgIHRoaXMuc3RvY2tTZXJ2aWNlLmdldFByaW50U3RvY2tTdGlja2Vycyh0aGlzLnN0b2NrU2VydmljZS5wcmludFN0aWNrZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZVByaW50ZXJTZWxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldFByaW50ZXJzKCk7XHJcbiAgICBpZiAoIXRoaXMuc2hvd1ByaW50ZXJTZWxlY3Rpb25zKSB7XHJcbiAgICAgIHRoaXMuc2hvd1ByaW50ZXJTZWxlY3Rpb25zID0gdHJ1ZTtcclxuICAgICAgdGhpcy5oZWFkZXJUaXRsZSA9ICdQcmludGVyIHNlbGVjdGllJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd1ByaW50ZXJTZWxlY3Rpb25zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaGVhZGVyVGl0bGUgPSAnVmVyemVuZG9wdGllcyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25QcmludGVyQ2xpY2tlZChwcmludGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlZmF1bHRQcmludGVyID0gcHJpbnRlci5uYW1lO1xyXG4gICAgdGhpcy5zdG9ja1NlcnZpY2UucHJpbnRTdGlja2VyLnByaW50ZXJOYW1lID0gcHJpbnRlci5uYW1lO1xyXG4gICAgdGhpcy5zaG93UHJpbnRlclNlbGVjdGlvbnMgPSEgdGhpcy5zaG93UHJpbnRlclNlbGVjdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UHJpbnRUZW1wbGF0ZXMoKTogYW55IHtcclxuICAgIGlmICghdGhpcy5wcmludFRlbXBsYXRlcykge1xyXG4gICAgICBjb25zdCBkYXRhID0gbmV3IFN0b2NrU3RpY2tlcnNQcmludExheW91dHMoKTtcclxuICAgICAgdGhpcy5zdG9ja1NlcnZpY2UuZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGEpLnRoZW4oKHRlbXBsYXRlczogU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c1tdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcmludFRlbXBsYXRlcyA9IHRlbXBsYXRlcztcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9oYW5kbGVTZXR0aW5nc0xvYWRlZChsb2FkZWQ6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChsb2FkZWQpIHtcclxuICAgICAgYXdhaXQgdGhpcy5faW5pdENvbm5lY3Rpb24oKS50aGVuKCk7XHJcbiAgICAgIHRoaXMudXBBbmRMb2FkZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfaW5pdENvbm5lY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBhd2FpdCB0aGlzLl9jb25uZWN0b3IuY29ubmVjdCh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zKTtcclxuXHJcbiAgICBpZiAodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy51cmwpIHtcclxuICAgICAgdGhpcy5fZGljdGlvbmFyeS5yb290VXJsID0gdGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy51cmwucmVwbGFjZShcIi9hamF4c2VydmljZVwiLCBcIlwiKTtcclxuICAgIH1cclxuICAgIGF3YWl0IHRoaXMuX2RpY3Rpb25hcnkuc2V0RGljdGlvbmFyeSh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmxhbmd1YWdlQ29kZSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
338
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFJekQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRW5FLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBc0ozRixNQUFNLE9BQU8seUJBQXlCO0lBeUlwQyxZQUNTLGdCQUFrQyxFQUNsQyxZQUEwQixFQUN6QixlQUErQixFQUMvQixXQUE4QixFQUM5QixlQUFrQztRQUpuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3pCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMv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QkFBaUI7WUFsQnZCLGlCQUFpQjs7OzhCQThLaEIsS0FBSzs4QkFHTCxLQUFLOzRCQUdMLEtBQUs7NEJBR0wsS0FBSztxQ0FHTCxLQUFLO2dDQUdMLEtBQUs7OEJBR0wsS0FBSzt5QkFnQ0wsS0FBSzswQkFHTCxLQUFLOzBCQUdMLEtBQUs7eUJBR0wsS0FBSzs0QkFHTCxLQUFLOzJCQUdMLEtBQUs7MkJBR0wsS0FBSztnQ0FHTCxLQUFLO21DQUdMLEtBQUs7K0JBR0wsS0FBSztzQkFHTCxLQUFLOzBCQUdMLEtBQUs7b0NBUUwsTUFBTTsrQkFHTixNQUFNO2lDQUdOLE1BQU07aUNBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsK0JBQStCO29DQUszQyxNQUFNO3VDQUdOLE1BQU07Z0NBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTZW5kT3B0aW9ufSBmcm9tIFwiLi9lbnVtcy9zZW5kLW9wdGlvblwiO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9yZXBvcnQvcHJpbnRlci5ib1wiO1xyXG5pbXBvcnQge1N0b2NrU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZVwiO1xyXG5pbXBvcnQge1N0b2NrU3RpY2tlcnNQcmludExheW91dHN9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3JlcG9ydC9zdG9jay1zdGlja2Vycy1wcmludC1sYXlvdXRzLmJvXCI7XHJcbmltcG9ydCB7Q29Ecm9wRG93bkxpc3RGaWVsZHN9IGZyb20gXCIuLi9zdG9jay9zdG9jay10cmFuc2Zlci9jby1kcm9wLWRvd24tbGlzdC1maWVsZHMuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9vcHRpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvY2tTdGlja2Vyc0VtYWlsTGF5b3V0c30gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcmVwb3J0L3N0b2NrLXN0aWNrZXJzLWVtYWlsLWxheW91dHMuYm9cIjtcclxuaW1wb3J0IHtQcmludFByaWNlU3RpY2tlcnN9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50LXByaWNlLXN0aWNrZXJzLmJvXCI7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFBhcmFtc30gZnJvbSBcIi4vc2VuZC1tZXRob2QtcGFyYW1zLmludGVyZmFjZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaW9uZS1zZW5kLW1ldGhvZC1kaWFsb2dcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInNlbmQtbWV0aG9kLWRpYWxvZy13cmFwcGVyXCI+XHJcbiAgICAgIDxjby1kaWFsb2cgaWQ9XCJzZW5kT3B0aW9uc0RpYWxvZ1wiIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiICpuZ0lmPVwic2hvd0RpYWxvZ1wiIFtzaG93Q2xvc2VJY29uXT1cInNob3dFeGl0QnV0dG9uXCIgKGNsb3NlQ2xpY2spPVwiY2xvc2VEaWFsb2dDbGljaygpXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgIDxoMiBbdGV4dENvbnRlbnRdPVwiaGVhZGVyVGl0bGVcIj48L2gyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQtY29udGFpbmVyXCIgKm5nSWY9XCIhc2hvd1ByaW50ZXJTZWxlY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZW5kLW9wdGlvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNlbmRPcHRpb24gb2Ygc2VuZE9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkLW9wdGlvbl09XCJzZW5kT3B0aW9uLm9wdGlvbiA9PT0gYWN0aXZlU2VuZE9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aXZlU2VuZE9wdGlvbiA9IHNlbmRPcHRpb24ub3B0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKHNlbmRPcHRpb24uaWNvbk5hbWUpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbWFpbC1vcHRpb24tY29udGVudFwiICpuZ0lmPVwiYWN0aXZlU2VuZE9wdGlvbiA9PT0gc2VuZE9wdGlvbi5FbWFpbCB8fCBhY3RpdmVTZW5kT3B0aW9uID09PSBzZW5kT3B0aW9uLlBkZlwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbWFpbHMtY29udGFpbmVyXCIgKm5nSWY9XCJhY3RpdmVTZW5kT3B0aW9uID09PSBzZW5kT3B0aW9uLkVtYWlsXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGVtYWlsIG9mIGVtYWlsQWRyZXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJlbWFpbC5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImVtYWlsXCJcclxuICAgICAgICAgICAgICAgICAgW2Nzc0NsYXNzXT1cIidpbnB1dC1jaGVja2JveC13cmFwcGVyJ1wiXHJcbiAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvdi13cmFwcGVyXCIgKGNsaWNrKT1cImdldERlZmF1bHRFbWFpbExheW91dHMoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveFxyXG4gICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZW5kTWV0aG9kUGFyYW1zLnJlcG9ydElkXCJcclxuICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiZW1haWxMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgW2ZpZWxkc109XCJlbWFpbExheW91dEZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY29tYm8tYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNEb2NTaWduRW5hYmxlZFwiIGNsYXNzPVwic2lnbmF0dXJlLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi13cmFwcGVyIHNpZ25hdHVyZS1idXR0b25cIiAoY2xpY2spPVwiaGFuZGxlU2lnbmF0dXJlU3RhcnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNpZ25hdHVyZUZpZWxkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlciBzZW5kLWJ1dHRvblwiIChjbGljayk9XCJzZW5kRW1haWwoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkVtYWlsKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8aW9uZS1kb2NzaWduICpuZ0lmPVwiZG9jU2lnblwiPjwvaW9uZS1kb2NzaWduPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbWFpbC1vcHRpb24tY29udGVudFwiICpuZ0lmPVwiYWN0aXZlU2VuZE9wdGlvbiA9PT0gc2VuZE9wdGlvbi5QcmludFwiIChjbGljayk9XCJnZXRQcmludFRlbXBsYXRlcygpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dQcmludFByaWNlU3RpY2tlcnNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY29tYm8tYm94XHJcbiAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VuZE1ldGhvZFBhcmFtcy5yZXBvcnRJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICBbZmllbGRzXT1cInByaW50VGVtcGxhdGVzRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY29tYm8tYm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXJcIiAqbmdJZj1cInByaWNlTGlzdENvZGVEYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jb21iby1ib3hcclxuICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZW5kTWV0aG9kUGFyYW1zLnByaWNlTGlzdENvZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInByaWNlTGlzdENvZGVEYXRhXCJcclxuICAgICAgICAgICAgICAgICAgICBbZmllbGRzXT1cInByaWNlTGlzdERhdGFGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jb21iby1ib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvdi13cmFwcGVyIGNsaWNrYWJsZVwiIChjbGljayk9XCJ0b2dnbGVQcmludGVyU2VsZWN0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1wcmludGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItb3B0aW9uLWxpc3QtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwicHJpbnRlci1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QcmludFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLWRldGFpbHNcIiAqbmdJZj1cInByaW50ZXJMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItbmFtZVwiIFt0ZXh0Q29udGVudF09XCJkZWZhdWx0UHJpbnRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbnRlci1zdGF0dXNcIiBbdGV4dENvbnRlbnRdPVwiZGVmYXVsdFByaW50ZXIuYWNjZXB0aW5nSm9ic1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwic2VsZWN0LXByaW50ZXItYXJyb3dcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRSaWdodClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItbGlua1wiIChjbGljayk9XCJzaG93U3RhbmRhcmRQcmludGVyT3B0aW9ucyA9ICFzaG93U3RhbmRhcmRQcmludGVyT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImFycm93LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93RmF0UmlnaHQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0YW5kYXJkLXByaW50ZXItbWVzc2FnZVwiIFt0ZXh0Q29udGVudF09XCInU3RhbmRhYXJkIHByaW50ZXIgdm9vciBsYXktb3V0IGluc3RlbGxlbidcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci1zZWxlY3Rpb25zXCIgKm5nSWY9XCJzaG93U3RhbmRhcmRQcmludGVyT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJtb2RlbHNbMF1cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInUGVyIGdlYnJ1aWtlciBpbnN0ZWxsZW4nXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsc1sxXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidWb29yIGFsbGUgZ2VicnVpa2VycyBpbnN0ZWxsZW4nXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50LWZvb3Rlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtbnVtYmVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXIgY2xhc3M9XCJudW1iZXItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwiMVwiIFsobW9kZWwpXT1cInNlbmRNZXRob2RQYXJhbXMuYW1vdW50XCIgW21pbl09XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntkZWJvdW5jZTogMX1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi13cmFwcGVyIHByaW50LWJ1dHRvblwiIChjbGljayk9XCJoYW5kbGVQcmludENsaWNrZWQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ1ByaW50J1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlciBzaWduYXR1cmUtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVNpZ25hdHVyZVN0YXJ0KClcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TaWduYXR1cmVGaWVsZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1jb250ZW50LWNvbnRhaW5lclwiIEBzbGlkZUluT3V0ICpuZ0lmPVwic2hvd1ByaW50ZXJTZWxlY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1wcmludGVyLXdyYXBwZXIgc2VsZWN0aW9uIGNsaWNrYWJsZVwiICpuZ0Zvcj1cImxldCBwcmludGVycyBvZiBwcmludGVyTGlzdFwiIChjbGljayk9XCJvblByaW50ZXJDbGlja2VkKHByaW50ZXJzKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLW9wdGlvbi1saXN0LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwicHJpbnRlci1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QcmludFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItbmFtZVwiIFt0ZXh0Q29udGVudF09XCJwcmludGVycy5uYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItc3RhdHVzXCIgW3RleHRDb250ZW50XT1cInByaW50ZXJzLmFjY2VwdGluZ0pvYnNcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInNlbGVjdC1wcmludGVyLWFycm93XCIgKm5nSWY9XCIhc2hvd1ByaW50ZXJTZWxlY3Rpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRSaWdodClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvY28tZGlhbG9nPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKCcqJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJywgd2lkdGg6ICcxMDAlJywgb3BhY2l0eTogJzEnfSkpLFxyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDE1MCUpJywgb3BhY2l0eTogJzAnfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKDI1MCkpXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBzZW5kT3B0aW9uOiB0eXBlb2YgU2VuZE9wdGlvbiA9IFNlbmRPcHRpb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dFbWFpbE9wdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dQcmludE9wdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dQZGZPcHRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93WG1sT3B0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1ByaW50UHJpY2VTdGlja2VyczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaWNlTGlzdENvZGVEYXRhOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uVVVJRDogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgc2VuZE9wdGlvbnM6IHtvcHRpb246IFNlbmRPcHRpb24sIGljb25OYW1lOiBJY29ufVtdID0gW1xyXG4gICAgeyBvcHRpb246IFNlbmRPcHRpb24uRW1haWwsXHJcbiAgICAgIGljb25OYW1lOiB0aGlzLmljb25zLkVudmVsb3BlUmVndWxhcixcclxuICAgIH0sXHJcbiAgICB7IG9wdGlvbjogU2VuZE9wdGlvbi5QcmludCxcclxuICAgICAgaWNvbk5hbWU6IHRoaXMuaWNvbnMuUHJpbnRSZWd1bGFyLFxyXG4gICAgfSxcclxuICAgIHsgb3B0aW9uOiBTZW5kT3B0aW9uLlBkZixcclxuICAgICAgaWNvbk5hbWU6IHRoaXMuaWNvbnMuRmlsZVBkZlJlZ3VsYXIsXHJcbiAgICB9LFxyXG4gICAgeyBvcHRpb246IFNlbmRPcHRpb24uWG1sLFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5GaWxlUGRmUmVndWxhcixcclxuICAgIH1cclxuICBdXHJcblxyXG4gIHB1YmxpYyBhY3RpdmVTZW5kT3B0aW9uOiBTZW5kT3B0aW9uID0gU2VuZE9wdGlvbi5FbWFpbDtcclxuICBwdWJsaWMgc2hvd1N0YW5kYXJkUHJpbnRlck9wdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1ByaW50ZXJTZWxlY3Rpb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dFeGl0QnV0dG9uID0gdHJ1ZTtcclxuICBwdWJsaWMgZGVmYXVsdFByaW50ZXI6IFByaW50ZXI7XHJcbiAgcHVibGljIHByaW50VGVtcGxhdGVzOiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBwcmludFRlbXBsYXRlc0ZpZWxkOiBDb0Ryb3BEb3duTGlzdEZpZWxkcyA9IHt0ZXh0OiBcIm5hbWVcIiwgdmFsdWU6IFwicmVwb3J0SWRcIn07XHJcbiAgcHVibGljIGVtYWlsTGF5b3V0RmllbGQ6IENvRHJvcERvd25MaXN0RmllbGRzID0ge3RleHQ6IFwibmFtZVwiLCB2YWx1ZTogXCJyZXBvcnRJZFwifTtcclxuICBwdWJsaWMgcHJpY2VMaXN0RGF0YUZpZWxkOiBDb0Ryb3BEb3duTGlzdEZpZWxkcyA9IHt0ZXh0OiBcIm5hbWVcIiwgdmFsdWU6IFwicHJpY2VMaXN0Q29kZVwifTtcclxuICBwdWJsaWMgdXBBbmRMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgbW9kZWxzOiBib29sZWFuW10gPSBbZmFsc2UsIGZhbHNlLCB0cnVlXTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkTGF5b3V0OiAnTGF5b3V0IDEnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93RGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlclRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaW50ZXJMaXN0OiBQcmludGVyW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlbGF0aW9uSWQ6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1haWxBZHJlc3NlczogYW55W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1haWxMYXlvdXRzOiBhbnlbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRMYXlvdXRzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZWZhdWx0U2VuZE1ldGhvZDogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZWZhdWx0RW1haWxBZHJlc3NlczogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc0RvY1NpZ25FbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRvY1NpZ246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFydGljbGVEYXRhKGRhdGE6IGFueSkge1xyXG4gICAgaWYgKCEodGhpcy5wcmludExheW91dFBhcmFtcyBpbnN0YW5jZW9mIFByaW50UHJpY2VTdGlja2VycykpIHtcclxuICAgICAgdGhpcy5zZW5kTWV0aG9kUGFyYW1zLmdvb2RJZCA9IGRhdGEuZ29vZElkO1xyXG4gICAgICB0aGlzLnNlbmRNZXRob2RQYXJhbXMud2FyZWhvdXNlID0gZGF0YS53YXJlaG91c2VObztcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc3RhcnRTaWduYXR1cmVDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2VuZEVtYWlsQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHByaW50QnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGVtYWlsTGF5b3V0Q2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaW9uZS1zZW5kLW1ldGhvZC1kaWFsb2dcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcHJpbnRUZW1wbGF0ZXNDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGVmYXVsdFNlbmRNZXRob2RDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcHJpbnRMYXlvdXRQYXJhbXM6IEV2ZW50RW1pdHRlcjxTZW5kTWV0aG9kUGFyYW1zPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2VuZE1ldGhvZFBhcmFtcz4oKTtcclxuXHJcbiAgcHVibGljIHNlbmRNZXRob2RQYXJhbXM6IFNlbmRNZXRob2RQYXJhbXMgPSBuZXcgY2xhc3MgaW1wbGVtZW50cyBTZW5kTWV0aG9kUGFyYW1zIHtcclxuICAgIGFtb3VudDogbnVtYmVyO1xyXG4gICAgYmF0Y2g6IHN0cmluZztcclxuICAgIGdvb2RJZDogbnVtYmVyO1xyXG4gICAgZ29vZElkczogbnVtYmVyW107XHJcbiAgICBsb2NhdGlvbjogc3RyaW5nO1xyXG4gICAgcHJpY2VMaXN0Q29kZTogc3RyaW5nO1xyXG4gICAgcHJpbnRlck5hbWU6IHN0cmluZztcclxuICAgIHJlcG9ydElkOiBudW1iZXI7XHJcbiAgICBzZXJpYWw6IHN0cmluZztcclxuICAgIHdhcmVob3VzZTogbnVtYmVyO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc3RvY2tTZXJ2aWNlOiBTdG9ja1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9vcHRpb25zU2VydmljZTogT3B0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9uc0xvYWRlZC5zdWJzY3JpYmUobG9hZGVkID0+IHRoaXMuX2hhbmRsZVNldHRpbmdzTG9hZGVkKGxvYWRlZCkpLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmdldERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB0aGlzLmdldERlZmF1bHRFbWFpbExheW91dHMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UHJpbnRlcnMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9ja1NlcnZpY2UuZ2V0QWxsUHJpbnRlcnModHJ1ZSkudGhlbigobGlzdCkgPT4ge1xyXG4gICAgICB0aGlzLnByaW50ZXJMaXN0ID0gbGlzdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlRGlhbG9nQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dEaWFsb2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaWduYXR1cmVTdGFydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZG9jU2lnbiA9ICF0aGlzLmRvY1NpZ247XHJcbiAgICB0aGlzLnN0YXJ0U2lnbmF0dXJlQ2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VuZEVtYWlsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZW5kRW1haWxDbGlja2VkLmVtaXQoKTtcclxuICAgIHRoaXMucHJpbnRMYXlvdXRQYXJhbXMuZW1pdCh0aGlzLnNlbmRNZXRob2RQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVByaW50Q2xpY2tlZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbmRNZXRob2RQYXJhbXMucHJpbnRlck5hbWUpIHtcclxuICAgICAgdGhpcy5wcmludEJ1dHRvbkNsaWNrZWQuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZVByaW50ZXJTZWxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldFByaW50ZXJzKCk7XHJcbiAgICBpZiAoIXRoaXMuc2hvd1ByaW50ZXJTZWxlY3Rpb25zKSB7XHJcbiAgICAgIHRoaXMuc2hvd1ByaW50ZXJTZWxlY3Rpb25zID0gdHJ1ZTtcclxuICAgICAgdGhpcy5oZWFkZXJUaXRsZSA9ICdQcmludGVyIHNlbGVjdGllJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd1ByaW50ZXJTZWxlY3Rpb25zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaGVhZGVyVGl0bGUgPSAnVmVyemVuZG9wdGllcyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25QcmludGVyQ2xpY2tlZChwcmludGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlZmF1bHRQcmludGVyID0gcHJpbnRlci5uYW1lO1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kUGFyYW1zLnByaW50ZXJOYW1lID0gcHJpbnRlci5uYW1lO1xyXG4gICAgdGhpcy5zaG93UHJpbnRlclNlbGVjdGlvbnMgPSEgdGhpcy5zaG93UHJpbnRlclNlbGVjdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UHJpbnRUZW1wbGF0ZXMoKTogYW55IHtcclxuICAgIHRoaXMucHJpbnRUZW1wbGF0ZXNDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXREZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVmYXVsdFNlbmRNZXRob2RDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREZWZhdWx0RW1haWxMYXlvdXRzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5lbWFpbExheW91dENsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAobG9hZGVkKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX2luaXRDb25uZWN0aW9uKCkudGhlbigpO1xyXG4gICAgICB0aGlzLnVwQW5kTG9hZGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2luaXRDb25uZWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gYXdhaXQgdGhpcy5fY29ubmVjdG9yLmNvbm5lY3QodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucyk7XHJcblxyXG4gICAgaWYgKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMudXJsKSB7XHJcbiAgICAgIHRoaXMuX2RpY3Rpb25hcnkucm9vdFVybCA9IHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMudXJsLnJlcGxhY2UoXCIvYWpheHNlcnZpY2VcIiwgXCJcIik7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLl9kaWN0aW9uYXJ5LnNldERpY3Rpb25hcnkodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5sYW5ndWFnZUNvZGUpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,8 +1,9 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { ButtonModule, CoDialogPromptModule, CoDialogWizardModule, IconModule, InputCheckboxModule, InputComboBoxModule, InputNumberPickerModule } from "@colijnit/corecomponents_v12";
3
+ import { ButtonModule, CoDialogModule, CoDialogPromptModule, CoDialogWizardModule, IconModule, InputCheckboxModule, InputComboBoxModule, InputNumberPickerModule } from "@colijnit/corecomponents_v12";
4
4
  import { SendMethodDialogComponent } from "./send-method-dialog.component";
5
5
  import { StockService } from "../../service/stock.service";
6
+ import { DocsignModule } from "../docsign/docsign.module";
6
7
  export class SendMethodDialogModule {
7
8
  }
8
9
  SendMethodDialogModule.decorators = [
@@ -18,7 +19,9 @@ SendMethodDialogModule.decorators = [
18
19
  IconModule,
19
20
  InputNumberPickerModule,
20
21
  CoDialogWizardModule,
21
- ButtonModule
22
+ ButtonModule,
23
+ DocsignModule,
24
+ CoDialogModule
22
25
  ],
23
26
  exports: [
24
27
  SendMethodDialogComponent
@@ -28,4 +31,4 @@ SendMethodDialogModule.decorators = [
28
31
  ]
29
32
  },] }
30
33
  ];
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxZQUFZLEVBQ1osb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUN0RCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQzdDLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBdUJ6RCxNQUFNLE9BQU8sc0JBQXNCOzs7WUFyQmxDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1oseUJBQXlCO2lCQUMxQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixvQkFBb0I7b0JBQ3BCLG1CQUFtQjtvQkFDbkIsbUJBQW1CO29CQUNuQixVQUFVO29CQUNWLHVCQUF1QjtvQkFDdkIsb0JBQW9CO29CQUNwQixZQUFZO2lCQUNiO2dCQUNELE9BQU8sRUFBRTtvQkFDUCx5QkFBeUI7aUJBQzFCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxZQUFZO2lCQUNiO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIEJ1dHRvbk1vZHVsZSxcclxuICBDb0RpYWxvZ1Byb21wdE1vZHVsZSwgQ29EaWFsb2dXaXphcmRNb2R1bGUsIEljb25Nb2R1bGUsXHJcbiAgSW5wdXRDaGVja2JveE1vZHVsZSxcclxuICBJbnB1dENvbWJvQm94TW9kdWxlLCBJbnB1dE51bWJlclBpY2tlck1vZHVsZVxyXG59IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7U2VuZE1ldGhvZERpYWxvZ0NvbXBvbmVudH0gZnJvbSBcIi4vc2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1N0b2NrU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNlbmRNZXRob2REaWFsb2dDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIENvRGlhbG9nUHJvbXB0TW9kdWxlLFxyXG4gICAgSW5wdXRDaGVja2JveE1vZHVsZSxcclxuICAgIElucHV0Q29tYm9Cb3hNb2R1bGUsXHJcbiAgICBJY29uTW9kdWxlLFxyXG4gICAgSW5wdXROdW1iZXJQaWNrZXJNb2R1bGUsXHJcbiAgICBDb0RpYWxvZ1dpemFyZE1vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2VuZE1ldGhvZERpYWxvZ0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBTdG9ja1NlcnZpY2VcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kRGlhbG9nTW9kdWxlIHsgfVxyXG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCxZQUFZLEVBQUUsY0FBYyxFQUM1QixvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQ3RELG1CQUFtQixFQUNuQixtQkFBbUIsRUFBRSx1QkFBdUIsRUFDL0MsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBeUJ4RCxNQUFNLE9BQU8sc0JBQXNCOzs7WUF2QmxDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1oseUJBQXlCO2lCQUMxQjtnQkFDQyxPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixvQkFBb0I7b0JBQ3BCLG1CQUFtQjtvQkFDbkIsbUJBQW1CO29CQUNuQixVQUFVO29CQUNWLHVCQUF1QjtvQkFDdkIsb0JBQW9CO29CQUNwQixZQUFZO29CQUNaLGFBQWE7b0JBQ2IsY0FBYztpQkFDakI7Z0JBQ0gsT0FBTyxFQUFFO29CQUNQLHlCQUF5QjtpQkFDMUI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULFlBQVk7aUJBQ2I7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgICBCdXR0b25Nb2R1bGUsIENvRGlhbG9nTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dQcm9tcHRNb2R1bGUsIENvRGlhbG9nV2l6YXJkTW9kdWxlLCBJY29uTW9kdWxlLFxyXG4gICAgSW5wdXRDaGVja2JveE1vZHVsZSxcclxuICAgIElucHV0Q29tYm9Cb3hNb2R1bGUsIElucHV0TnVtYmVyUGlja2VyTW9kdWxlXHJcbn0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtTZW5kTWV0aG9kRGlhbG9nQ29tcG9uZW50fSBmcm9tIFwiLi9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RG9jc2lnbk1vZHVsZX0gZnJvbSBcIi4uL2RvY3NpZ24vZG9jc2lnbi5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTZW5kTWV0aG9kRGlhbG9nQ29tcG9uZW50XHJcbiAgXSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgQ29EaWFsb2dQcm9tcHRNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRDaGVja2JveE1vZHVsZSxcclxuICAgICAgICBJbnB1dENvbWJvQm94TW9kdWxlLFxyXG4gICAgICAgIEljb25Nb2R1bGUsXHJcbiAgICAgICAgSW5wdXROdW1iZXJQaWNrZXJNb2R1bGUsXHJcbiAgICAgICAgQ29EaWFsb2dXaXphcmRNb2R1bGUsXHJcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIERvY3NpZ25Nb2R1bGUsXHJcbiAgICAgICAgQ29EaWFsb2dNb2R1bGVcclxuICAgIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2VuZE1ldGhvZERpYWxvZ0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBTdG9ja1NlcnZpY2VcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kRGlhbG9nTW9kdWxlIHsgfVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtcGFyYW1zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1wYXJhbXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNlbmRNZXRob2RQYXJhbXMge1xyXG4gIGdvb2RJZD86IG51bWJlcjtcclxuICB3YXJlaG91c2U/OiBudW1iZXI7XHJcbiAgbG9jYXRpb24/OiBzdHJpbmc7XHJcbiAgYmF0Y2g/OiBzdHJpbmc7XHJcbiAgc2VyaWFsPzogc3RyaW5nO1xyXG4gIGFtb3VudD86IG51bWJlcjtcclxuICByZXBvcnRJZD86IG51bWJlcjtcclxuICBwcmludGVyTmFtZT86IHN0cmluZztcclxuICBwcmljZUxpc3RDb2RlPzogc3RyaW5nO1xyXG4gIGdvb2RJZHM/OiBudW1iZXJbXTtcclxuICBuYW1lPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -49,7 +49,7 @@ StatusbarComponent.decorators = [
49
49
  (click)="onStatusbarClick()">
50
50
  <div class="statuses">
51
51
  <div *ngFor="let data of statusbarData; let index = index" class="status">
52
- <co-linear-gauge [value]="data.percentage" [count]="!!data.count ? data.count : undefined"></co-linear-gauge>
52
+ <co-linear-gauge [value]="data.percentage" [count]="data.count ? data.count : undefined"></co-linear-gauge>
53
53
  </div>
54
54
  </div>
55
55
  <div class=status-description-popup *ngIf="showPopup" @showHidePopup [ngClass]="popupClass">
@@ -78,4 +78,4 @@ StatusbarComponent.propDecorators = {
78
78
  statusbarClick: [{ type: Output }],
79
79
  showClass: [{ type: HostBinding, args: ["class.co-statusbar",] }]
80
80
  };
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0YXR1c2Jhci9zdGF0dXNiYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF3Q3ZHLE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCO1FBUEEsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQVV2RCxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGVBQVUsR0FBVyxVQUFVLENBQUM7SUFIdkMsQ0FBQztJQWxCRCxJQUNXLGFBQWEsQ0FBQyxLQUFzQjtRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBTU0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVdNLE9BQU8sQ0FBQyxLQUFLO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXRCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDeEMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNuRCxJQUFJLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRTFFLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7U0FDOUI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFBO1NBQzNCO0lBQ0gsQ0FBQzs7O1lBckZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVDtnQkFDRCxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLGVBQWUsRUFBRTt3QkFDdkIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDbEMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDL0IsVUFBVSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztxQkFDdkQsQ0FBQztpQkFDSDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7Ozs0QkFHRSxLQUFLOzZCQVNMLE1BQU07d0JBR04sV0FBVyxTQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdGF0dXNiYXJEYXRhIHtcclxuICBsYWJlbDogc3RyaW5nLFxyXG4gIHBlcmNlbnRhZ2U6IG51bWJlcixcclxuICBjb3VudD86IG51bWJlcixcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tc3RhdHVzYmFyXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJjby1zdGF0dXNiYXItd3JhcHBlclwiXHJcbiAgICAgICAgICpuZ0lmPVwic3RhdHVzYmFyRGF0YVwiXHJcbiAgICAgICAgIChtb3VzZW92ZXIpPVwib25Ib3ZlcigkZXZlbnQpXCJcclxuICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25MZWF2ZSgpXCJcclxuICAgICAgICAgKGNsaWNrKT1cIm9uU3RhdHVzYmFyQ2xpY2soKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzZXNcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkYXRhIG9mIHN0YXR1c2JhckRhdGE7IGxldCBpbmRleCA9IGluZGV4XCIgY2xhc3M9XCJzdGF0dXNcIj5cclxuICAgICAgICAgIDxjby1saW5lYXItZ2F1Z2UgW3ZhbHVlXT1cImRhdGEucGVyY2VudGFnZVwiIFtjb3VudF09XCIhIWRhdGEuY291bnQgPyBkYXRhLmNvdW50IDogdW5kZWZpbmVkXCI+PC9jby1saW5lYXItZ2F1Z2U+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPXN0YXR1cy1kZXNjcmlwdGlvbi1wb3B1cCAqbmdJZj1cInNob3dQb3B1cFwiIEBzaG93SGlkZVBvcHVwIFtuZ0NsYXNzXT1cInBvcHVwQ2xhc3NcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWRlc2NyaXB0aW9uc1wiPlxyXG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzdGF0dXNiYXJEYXRhOyBsZXQgaW5kZXggPSBpbmRleFwiIGNsYXNzPVwic3RhdHVzLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgIDxjby1jaXJjdWxhci1nYXVnZSBbdmFsdWVdPVwiZGF0YS5wZXJjZW50YWdlXCI+PC9jby1jaXJjdWxhci1nYXVnZT5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImRhdGEubGFiZWxcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXCJzaG93SGlkZVBvcHVwXCIsIFtcclxuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtvcGFjaXR5OiAwfSkpLFxyXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe29wYWNpdHk6IDF9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXCJ2b2lkIDw9PiAqXCIsIGFuaW1hdGUoXCIyNTBtcyBlYXNlLWluLW91dFwiKSksXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RhdHVzYmFyQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHN0YXR1c2JhckRhdGEodmFsdWU6IFN0YXR1c2JhckRhdGFbXSkge1xyXG4gICAgdGhpcy5fc3RhdHVzYmFyRGF0YSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzdGF0dXNiYXJEYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0YXR1c2JhckRhdGE7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBzdGF0dXNiYXJDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1zdGF0dXNiYXJcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93UG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgcG9wdXBDbGFzczogc3RyaW5nID0gJ2Ryb3Bkb3duJztcclxuICBwcml2YXRlIF9zdGF0dXNiYXJEYXRhOiBTdGF0dXNiYXJEYXRhW107XHJcbiAgcHJpdmF0ZSBfbW91c2VZOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfd2luZG93SGVpZ2h0OiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBvbkhvdmVyKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dQb3B1cCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5fbW91c2VZID0gZXZlbnQuc2NyZWVuWTtcclxuICAgIHRoaXMuX3dpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgIHRoaXMuc2V0UG9wdXBDbGFzcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTGVhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dQb3B1cCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU3RhdHVzYmFyQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXR1c2JhckNsaWNrLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRQb3B1cENsYXNzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcG9wdXBIZWlnaHQgPSB0aGlzLnN0YXR1c2JhckRhdGEubGVuZ3RoICogMzA7XHJcbiAgICBsZXQgZHJvcGRvd25JblNjcmVlbiA9ICh0aGlzLl9tb3VzZVkgKyBwb3B1cEhlaWdodCkgPD0gdGhpcy5fd2luZG93SGVpZ2h0O1xyXG5cclxuICAgIGlmIChkcm9wZG93bkluU2NyZWVuKSB7XHJcbiAgICAgIHRoaXMucG9wdXBDbGFzcyA9ICdkcm9wZG93bic7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBvcHVwQ2xhc3MgPSAnZHJvcHVwJ1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0YXR1c2Jhci9zdGF0dXNiYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF5Q3ZHLE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCO1FBUEEsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQVV2RCxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGVBQVUsR0FBVyxVQUFVLENBQUM7SUFIdkMsQ0FBQztJQWxCRCxJQUNXLGFBQWEsQ0FBQyxLQUFzQjtRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBTU0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVdNLE9BQU8sQ0FBQyxLQUFLO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXRCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDeEMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNuRCxJQUFJLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRTFFLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7U0FDOUI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFBO1NBQzNCO0lBQ0gsQ0FBQzs7O1lBckZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVDtnQkFDRCxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLGVBQWUsRUFBRTt3QkFDdkIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDbEMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDL0IsVUFBVSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztxQkFDdkQsQ0FBQztpQkFDSDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7Ozs0QkFHRSxLQUFLOzZCQVNMLE1BQU07d0JBR04sV0FBVyxTQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdGF0dXNiYXJEYXRhIHtcclxuICBsYWJlbDogc3RyaW5nLFxyXG4gIHBlcmNlbnRhZ2U6IG51bWJlcixcclxuICBjb3VudD86IG51bWJlcixcclxuICB0b3RhbENvdW50PzogbnVtYmVyLFxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdGF0dXNiYXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImNvLXN0YXR1c2Jhci13cmFwcGVyXCJcclxuICAgICAgICAgKm5nSWY9XCJzdGF0dXNiYXJEYXRhXCJcclxuICAgICAgICAgKG1vdXNlb3Zlcik9XCJvbkhvdmVyKCRldmVudClcIlxyXG4gICAgICAgICAobW91c2VsZWF2ZSk9XCJvbkxlYXZlKClcIlxyXG4gICAgICAgICAoY2xpY2spPVwib25TdGF0dXNiYXJDbGljaygpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXNlc1wiPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRhdGEgb2Ygc3RhdHVzYmFyRGF0YTsgbGV0IGluZGV4ID0gaW5kZXhcIiBjbGFzcz1cInN0YXR1c1wiPlxyXG4gICAgICAgICAgPGNvLWxpbmVhci1nYXVnZSBbdmFsdWVdPVwiZGF0YS5wZXJjZW50YWdlXCIgW2NvdW50XT1cImRhdGEuY291bnQgPyBkYXRhLmNvdW50IDogdW5kZWZpbmVkXCI+PC9jby1saW5lYXItZ2F1Z2U+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPXN0YXR1cy1kZXNjcmlwdGlvbi1wb3B1cCAqbmdJZj1cInNob3dQb3B1cFwiIEBzaG93SGlkZVBvcHVwIFtuZ0NsYXNzXT1cInBvcHVwQ2xhc3NcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWRlc2NyaXB0aW9uc1wiPlxyXG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzdGF0dXNiYXJEYXRhOyBsZXQgaW5kZXggPSBpbmRleFwiIGNsYXNzPVwic3RhdHVzLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgIDxjby1jaXJjdWxhci1nYXVnZSBbdmFsdWVdPVwiZGF0YS5wZXJjZW50YWdlXCI+PC9jby1jaXJjdWxhci1nYXVnZT5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImRhdGEubGFiZWxcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXCJzaG93SGlkZVBvcHVwXCIsIFtcclxuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtvcGFjaXR5OiAwfSkpLFxyXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe29wYWNpdHk6IDF9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXCJ2b2lkIDw9PiAqXCIsIGFuaW1hdGUoXCIyNTBtcyBlYXNlLWluLW91dFwiKSksXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RhdHVzYmFyQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHN0YXR1c2JhckRhdGEodmFsdWU6IFN0YXR1c2JhckRhdGFbXSkge1xyXG4gICAgdGhpcy5fc3RhdHVzYmFyRGF0YSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzdGF0dXNiYXJEYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0YXR1c2JhckRhdGE7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBzdGF0dXNiYXJDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1zdGF0dXNiYXJcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93UG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgcG9wdXBDbGFzczogc3RyaW5nID0gJ2Ryb3Bkb3duJztcclxuICBwcml2YXRlIF9zdGF0dXNiYXJEYXRhOiBTdGF0dXNiYXJEYXRhW107XHJcbiAgcHJpdmF0ZSBfbW91c2VZOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfd2luZG93SGVpZ2h0OiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBvbkhvdmVyKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dQb3B1cCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5fbW91c2VZID0gZXZlbnQuc2NyZWVuWTtcclxuICAgIHRoaXMuX3dpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgIHRoaXMuc2V0UG9wdXBDbGFzcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTGVhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dQb3B1cCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU3RhdHVzYmFyQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXR1c2JhckNsaWNrLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRQb3B1cENsYXNzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcG9wdXBIZWlnaHQgPSB0aGlzLnN0YXR1c2JhckRhdGEubGVuZ3RoICogMzA7XHJcbiAgICBsZXQgZHJvcGRvd25JblNjcmVlbiA9ICh0aGlzLl9tb3VzZVkgKyBwb3B1cEhlaWdodCkgPD0gdGhpcy5fd2luZG93SGVpZ2h0O1xyXG5cclxuICAgIGlmIChkcm9wZG93bkluU2NyZWVuKSB7XHJcbiAgICAgIHRoaXMucG9wdXBDbGFzcyA9ICdkcm9wZG93bic7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBvcHVwQ2xhc3MgPSAnZHJvcHVwJ1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19