@colijnit/sharedcomponents 254.1.2 → 254.1.4

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 (50) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +688 -152
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.d.ts +45 -45
  4. package/colijnit-sharedcomponents.metadata.json +1 -1
  5. package/esm2015/colijnit-sharedcomponents.js +46 -46
  6. package/esm2015/lib/components/activity-list/activity-list.component.js +7 -3
  7. package/esm2015/lib/components/open-activity-list/component-activity-list.component.js +7 -1
  8. package/esm2015/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.js +3 -3
  9. package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +28 -2
  10. package/esm2015/lib/components/stock/localization/translation.js +3 -1
  11. package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +7 -2
  12. package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +144 -85
  13. package/esm2015/lib/components/stock/stock.component.js +11 -42
  14. package/esm2015/lib/components/stock/stock.module.js +4 -3
  15. package/esm2015/lib/components/task-creator/task-creator.component.js +275 -0
  16. package/esm2015/lib/components/task-creator/task-creator.module.js +34 -0
  17. package/esm2015/lib/enum/icon.enum.js +2 -1
  18. package/esm2015/lib/model/icon-svg.js +2 -1
  19. package/esm2015/lib/service/shared-connector.service.js +72 -3
  20. package/esm2015/lib/service/shared.service.js +52 -4
  21. package/esm2015/public-api.js +3 -1
  22. package/fesm2015/colijnit-sharedcomponents.js +616 -139
  23. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  24. package/lib/components/activity-list/style/_layout.scss +17 -6
  25. package/lib/components/open-activity-list/component-activity-list.component.d.ts +1 -0
  26. package/lib/components/stock/components/stock-location/stock-location.component.d.ts +7 -1
  27. package/lib/components/stock/localization/translation.d.ts +2 -0
  28. package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +2 -0
  29. package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +19 -6
  30. package/lib/components/stock/stock.component.d.ts +3 -0
  31. package/lib/components/stock/style/_layout.scss +64 -31
  32. package/lib/components/task-creator/style/_layout.scss +18 -0
  33. package/lib/components/task-creator/style/_material-definition.scss +0 -0
  34. package/lib/components/task-creator/style/_theme.scss +4 -0
  35. package/lib/components/task-creator/style/material.scss +4 -0
  36. package/lib/components/task-creator/task-creator.component.d.ts +53 -0
  37. package/lib/components/task-creator/task-creator.module.d.ts +2 -0
  38. package/lib/enum/icon.enum.d.ts +1 -0
  39. package/lib/service/shared-connector.service.d.ts +10 -1
  40. package/lib/service/shared.service.d.ts +12 -1
  41. package/lib/style/_variables.scss +2 -0
  42. package/package.json +3 -3
  43. package/public-api.d.ts +2 -0
  44. package/3rdpartylicenses.txt +0 -1408
  45. package/favicon.ico +0 -0
  46. package/index.html +0 -12
  47. package/main.894c3ac9caba556953e2.js +0 -1
  48. package/polyfills.907fe9d1887c5de17993.js +0 -1
  49. package/runtime.8aac21847ed3d3829cca.js +0 -1
  50. package/styles.b92683eab3a233f3fb51.css +0 -1
@@ -0,0 +1,275 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from "@angular/core";
3
+ import { Icon } from "../../enum/icon.enum";
4
+ import { IconCacheService } from "../../service/icon-cache.service";
5
+ import { Activity } from "@colijnit/mainapi/build/model/activity.bo";
6
+ import { ActivityType } from "@colijnit/mainapi/build/enum/activity-type";
7
+ import { Remark } from "@colijnit/mainapi/build/model/remark.bo";
8
+ import { TableName } from "@colijnit/mainapi/build/enum/table-name.enum";
9
+ import { Work } from "@colijnit/mainapi/build/model/work.bo";
10
+ import { Task } from "@colijnit/mainapi/build/model/task.bo";
11
+ import { ArrayUtils } from "../../utils/array-utils";
12
+ import { activityEmailRequestData } from "@colijnit/mainapi/build/model/activity-email-request-data";
13
+ import { SharedService } from "../../service/shared.service";
14
+ import { ReportType } from "@colijnit/mainapi/build/enum/report-type.enum";
15
+ import { FormComponent } from "@colijnit/corecomponents_v12";
16
+ export class TaskCreatorComponent {
17
+ constructor(iconService, sharedService) {
18
+ this.iconService = iconService;
19
+ this.sharedService = sharedService;
20
+ this.icons = Icon;
21
+ this.table = TableName.Transactions;
22
+ this.activityCreated = new EventEmitter();
23
+ this.showFilesDialog = false;
24
+ this.documents = [];
25
+ this.showEmailDialog = false;
26
+ this.emailAddressesAvailable = [];
27
+ this.emailRequest = null;
28
+ this.optionCollection = [{ id: 'Opmerking' }, { id: 'Werkzaamheid' }, { id: 'Taak' }];
29
+ this.remarkText = "";
30
+ this.workDescription = "";
31
+ this.taskName = "";
32
+ this.taskDescription = "";
33
+ }
34
+ showClass() {
35
+ return true;
36
+ }
37
+ ngOnInit() {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ this.chosenActivityType = this.optionCollection[1];
40
+ this.emailAddressesAvailable = yield this.sharedService.getRoleEmailAddressesByWorkflowCategoryAndKey('SERVICE_ORDER', this.RemarkAndWorkKey);
41
+ this.senderAddress = yield this.sharedService.getEmailSenderByWorkflowCategoryAndKey('SERVICE_ORDER', this.RemarkAndWorkKey);
42
+ });
43
+ }
44
+ createRemarkClicked() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ this.createForm.submit();
47
+ if (this.createForm.isValid()) {
48
+ let remark = new Remark();
49
+ remark.author = this.author;
50
+ remark.author.image = undefined;
51
+ if (this.documents.length !== 0) {
52
+ remark.documents = this.documents;
53
+ }
54
+ remark.remark = this.remarkText;
55
+ remark.dateTime = new Date();
56
+ remark.table = this.table;
57
+ remark.key = this.RemarkAndWorkKey;
58
+ remark.read = false;
59
+ remark.current = true;
60
+ let activity = new Activity();
61
+ activity.activityType = ActivityType.Remark;
62
+ activity.remark = remark;
63
+ let remarkMade = yield this.sharedService.insertActivity(activity);
64
+ if (remarkMade) {
65
+ this.activityCreated.emit();
66
+ //await this.sendEmailIfNeccesary();
67
+ this.clearFields();
68
+ }
69
+ }
70
+ });
71
+ }
72
+ createWorkClicked() {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ this.createForm.submit();
75
+ if (this.createForm.isValid()) {
76
+ let work = new Work();
77
+ work.executive = this.author;
78
+ work.executive.image = undefined;
79
+ work.documents = this.documents;
80
+ work.workedTime = 0;
81
+ work.workDescription = this.workDescription;
82
+ work.dateTime = new Date();
83
+ work.table = this.table;
84
+ work.key = this.RemarkAndWorkKey;
85
+ let activity = new Activity();
86
+ activity.activityType = ActivityType.Work;
87
+ activity.work = work;
88
+ let workMade = yield this.sharedService.insertActivity(activity);
89
+ if (workMade) {
90
+ this.activityCreated.emit();
91
+ //await this.sendEmailIfNeccesary();
92
+ this.clearFields();
93
+ }
94
+ }
95
+ });
96
+ }
97
+ createTaskClicked() {
98
+ return __awaiter(this, void 0, void 0, function* () {
99
+ this.createForm.submit();
100
+ if (this.createForm.isValid()) {
101
+ let task = new Task();
102
+ task.executive = this.author;
103
+ task.executive.image = undefined;
104
+ task.documents = this.documents;
105
+ task.name = this.taskName;
106
+ task.description = this.taskDescription;
107
+ task.creationDateTime = new Date();
108
+ task.dateDefinate = false;
109
+ task.needsPlanning = true;
110
+ task.priority = 0;
111
+ task.workflowCategory = this.workflowCategoryType;
112
+ task.reference = this.TaskKey;
113
+ let activity = new Activity();
114
+ activity.activityType = ActivityType.Task;
115
+ activity.task = task;
116
+ let taskMade = yield this.sharedService.insertActivity(activity);
117
+ if (taskMade) {
118
+ this.activityCreated.emit();
119
+ //await this.sendEmailIfNeccesary();
120
+ this.clearFields();
121
+ }
122
+ }
123
+ });
124
+ }
125
+ addedDocument(docs) {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ this.documents = this.documents.concat(docs);
128
+ });
129
+ }
130
+ deletedDocument(doc) {
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ ArrayUtils.RemoveElement(doc, this.documents);
133
+ });
134
+ }
135
+ emailDialogClosed() {
136
+ if (this.emailAddresses.length >= 0) {
137
+ this.emailRequest = new activityEmailRequestData;
138
+ this.emailRequest.table = this.table;
139
+ this.emailRequest.key = this.RemarkAndWorkKey;
140
+ this.emailRequest.senderAddress = this.senderAddress;
141
+ this.emailRequest.sendAddresses = this.createAddressList(this.emailAddresses);
142
+ this.emailRequest.ccAddresses = this.createAddressList(this.ccEmailAddresses);
143
+ }
144
+ else {
145
+ this.emailRequest = null;
146
+ }
147
+ this.showEmailDialog = false;
148
+ }
149
+ createAddressList(addresses) {
150
+ let addressStrings = [];
151
+ if (addresses && addresses.length !== 0) {
152
+ addresses.forEach(r => {
153
+ r.emailAddresses.forEach(e => {
154
+ addressStrings.push(e);
155
+ });
156
+ });
157
+ }
158
+ return addressStrings;
159
+ }
160
+ sendEmailIfNeccesary() {
161
+ return __awaiter(this, void 0, void 0, function* () {
162
+ if (this.emailRequest) {
163
+ let templates = yield this.sharedService.getDefaultEmailReportTemplatesForBranch(this.branchNo, this.findReportType());
164
+ if (templates.length != 0) {
165
+ let template = this.findDefault(templates);
166
+ if (template) {
167
+ this.startEmailing(template);
168
+ }
169
+ }
170
+ }
171
+ });
172
+ }
173
+ findReportType() {
174
+ if (this.chosenActivityType === this.optionCollection[0]) {
175
+ return ReportType.RemarkMessage;
176
+ }
177
+ else if (this.chosenActivityType === this.optionCollection[1]) {
178
+ return ReportType.WorkMessage;
179
+ }
180
+ else {
181
+ return ReportType.TaskMessage;
182
+ }
183
+ }
184
+ startEmailing(template) {
185
+ return __awaiter(this, void 0, void 0, function* () {
186
+ this.emailRequest.sendAddresses.forEach(a => {
187
+ this.sharedService.emailViaTemplate(template, a, 'emailtiteeeel', "", [], {});
188
+ });
189
+ });
190
+ }
191
+ findDefault(reportList) {
192
+ let defaultTemplate = null;
193
+ reportList.forEach(r => {
194
+ if (r.isDefault) {
195
+ defaultTemplate = r;
196
+ }
197
+ });
198
+ return defaultTemplate;
199
+ }
200
+ clearFields() {
201
+ this.remarkText = "";
202
+ this.workDescription = "";
203
+ this.taskName = "";
204
+ this.taskDescription = "";
205
+ this.senderAddress = "";
206
+ this.emailAddresses = [];
207
+ this.ccEmailAddresses = [];
208
+ this.emailRequest = null;
209
+ }
210
+ }
211
+ TaskCreatorComponent.decorators = [
212
+ { type: Component, args: [{
213
+ selector: "co-task-creator",
214
+ template: `
215
+ <div class="input-fields">
216
+ <co-form #createForm>
217
+ <co-list-of-values [collection]="optionCollection" [(model)]="chosenActivityType"
218
+ [displayField]="'id'"></co-list-of-values>
219
+ <co-input-text *ngIf="chosenActivityType === optionCollection[0]" [required]="chosenActivityType === optionCollection[0]"
220
+ [placeholder]="'REMARK' | localize" [(model)]="remarkText"
221
+ [rightIconData]="iconService.getIcon(icons.PaperPlaneTopSolid)"
222
+ (rightIconClick)="createRemarkClicked()"></co-input-text>
223
+ <co-input-text *ngIf="chosenActivityType === optionCollection[1]" [required]="chosenActivityType === optionCollection[1]"
224
+ [placeholder]="'DESCRIPTION' | localize" [(model)]="workDescription"
225
+ [rightIconData]="iconService.getIcon(icons.PaperPlaneTopSolid)"
226
+ (rightIconClick)="createWorkClicked()"></co-input-text>
227
+ <div class="task-input-fields" *ngIf="chosenActivityType === optionCollection[2]">
228
+ <co-input-text [(model)]="taskName" [placeholder]="'NAME' | localize" [required]="chosenActivityType === optionCollection[2]"
229
+ [rightIconData]="iconService.getIcon(icons.PaperPlaneTopSolid)"
230
+ (rightIconClick)="createTaskClicked()"></co-input-text>
231
+ <co-input-text [(model)]="taskDescription" [placeholder]="'DESCRIPTION' | localize" [required]="chosenActivityType === optionCollection[2]"></co-input-text>
232
+ </div>
233
+ </co-form>
234
+ </div>
235
+ <div class="extras-buttons">
236
+ <co-button [iconData]="iconService.getIcon(icons.Email)" (click)="showEmailDialog = true"></co-button>
237
+ <co-button [iconData]="iconService.getIcon(icons.PaperclipRegular)" (click)="showFilesDialog = true"
238
+ [label]="documents.length === 0 ? '' : documents.length.toString()" ></co-button>
239
+ </div>
240
+
241
+ <co-dialog *ngIf="showFilesDialog" (closeClick)="showFilesDialog = false">
242
+ <co-files-upload (documentsAdded)="addedDocument($event)" (documentDeleted)="deletedDocument"
243
+ [documents]="documents" [useWithoutSettingProps]="true"></co-files-upload>
244
+ </co-dialog>
245
+ <co-dialog *ngIf="showEmailDialog" (closeClick)="emailDialogClosed()">
246
+ <co-list-of-values [multiselect]="true" [label]="'RECIPIENTS' | localize"
247
+ [collection]="emailAddressesAvailable" [displayField]="'role'"
248
+ [(model)]="emailAddresses">
249
+ </co-list-of-values>
250
+ <co-list-of-values [multiselect]="true" [label]="'BCC' | localize"
251
+ [collection]="emailAddressesAvailable" [displayField]="'role'"
252
+ [(model)]="ccEmailAddresses">
253
+ </co-list-of-values>
254
+ <co-input-text [readonly]="false" [label]="'SENDER' | localize" [model]="senderAddress"></co-input-text>
255
+ </co-dialog>
256
+
257
+ `
258
+ },] }
259
+ ];
260
+ TaskCreatorComponent.ctorParameters = () => [
261
+ { type: IconCacheService },
262
+ { type: SharedService }
263
+ ];
264
+ TaskCreatorComponent.propDecorators = {
265
+ createForm: [{ type: ViewChild, args: [FormComponent,] }],
266
+ author: [{ type: Input }],
267
+ branchNo: [{ type: Input }],
268
+ table: [{ type: Input }],
269
+ RemarkAndWorkKey: [{ type: Input }],
270
+ TaskKey: [{ type: Input }],
271
+ workflowCategoryType: [{ type: Input }],
272
+ activityCreated: [{ type: Output }],
273
+ showClass: [{ type: HostBinding, args: ["class.co-task-creator",] }]
274
+ };
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRS9ELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0QsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRzNELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBRXpFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQWtEM0QsTUFBTSxPQUFPLG9CQUFvQjtJQWtEL0IsWUFBbUIsV0FBNkIs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YU4sV0FBVyxTQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBY3Rpdml0eX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LmJvXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9hY3Rpdml0eS10eXBlXCI7XHJcbmltcG9ydCB7UmVtYXJrfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVtYXJrLmJvXCI7XHJcbmltcG9ydCB7UmVsYXRpb25TbWFsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXNtYWxsLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge1RhYmxlTmFtZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vdGFibGUtbmFtZS5lbnVtXCI7XHJcbmltcG9ydCB7V29ya30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3dvcmsuYm9cIjtcclxuaW1wb3J0IHtUYXNrfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFzay5ib1wiO1xyXG5pbXBvcnQge1dvcmtmbG93Q2F0ZWdvcnlUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS93b3JrZmxvdy1jYXRlZ29yeS5lbnVtXCI7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50XCI7XHJcbmltcG9ydCB7QXJyYXlVdGlsc30gZnJvbSBcIi4uLy4uL3V0aWxzL2FycmF5LXV0aWxzXCI7XHJcbmltcG9ydCB7Um9sZUVtYWlsYWRkcmVzc30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JvbGUtZW1haWwtYWRkcmVzc1wiO1xyXG5pbXBvcnQge2FjdGl2aXR5RW1haWxSZXF1ZXN0RGF0YX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LWVtYWlsLXJlcXVlc3QtZGF0YVwiO1xyXG5pbXBvcnQge1NoYXJlZFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3NoYXJlZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UmVwb3J0VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vcmVwb3J0LXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge1JlcG9ydH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC5ib1wiO1xyXG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby10YXNrLWNyZWF0b3JcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1maWVsZHNcIj5cclxuICAgICAgICA8Y28tZm9ybSAjY3JlYXRlRm9ybT5cclxuICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlcyBbY29sbGVjdGlvbl09XCJvcHRpb25Db2xsZWN0aW9uXCIgWyhtb2RlbCldPVwiY2hvc2VuQWN0aXZpdHlUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZpZWxkXT1cIidpZCdcIj48L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMF1cIiBbcmVxdWlyZWRdPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzBdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUkVNQVJLJyB8IGxvY2FsaXplXCIgWyhtb2RlbCldPVwicmVtYXJrVGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcmlnaHRJY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyUGxhbmVUb3BTb2xpZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKHJpZ2h0SWNvbkNsaWNrKT1cImNyZWF0ZVJlbWFya0NsaWNrZWQoKVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0ICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzFdXCIgW3JlcXVpcmVkXT1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblsxXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCIgWyhtb2RlbCldPVwid29ya0Rlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtyaWdodEljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJQbGFuZVRvcFNvbGlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAocmlnaHRJY29uQ2xpY2spPVwiY3JlYXRlV29ya0NsaWNrZWQoKVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YXNrLWlucHV0LWZpZWxkc1wiICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzJdXCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInRhc2tOYW1lXCIgW3BsYWNlaG9sZGVyXT1cIidOQU1FJyB8IGxvY2FsaXplXCIgIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmlnaHRJY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyUGxhbmVUb3BTb2xpZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAocmlnaHRJY29uQ2xpY2spPVwiY3JlYXRlVGFza0NsaWNrZWQoKVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwidGFza0Rlc2NyaXB0aW9uXCIgW3BsYWNlaG9sZGVyXT1cIidERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2NvLWZvcm0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZXh0cmFzLWJ1dHRvbnNcIj5cclxuICAgICAgICA8Y28tYnV0dG9uIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLkVtYWlsKVwiICAoY2xpY2spPVwic2hvd0VtYWlsRGlhbG9nID0gdHJ1ZVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDxjby1idXR0b24gW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJjbGlwUmVndWxhcilcIiAgKGNsaWNrKT1cInNob3dGaWxlc0RpYWxvZyA9IHRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImRvY3VtZW50cy5sZW5ndGggPT09IDAgPyAnJyA6IGRvY3VtZW50cy5sZW5ndGgudG9TdHJpbmcoKVwiID48L2NvLWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8Y28tZGlhbG9nICpuZ0lmPVwic2hvd0ZpbGVzRGlhbG9nXCIgKGNsb3NlQ2xpY2spPVwic2hvd0ZpbGVzRGlhbG9nID0gZmFsc2VcIj5cclxuICAgICAgICA8Y28tZmlsZXMtdXBsb2FkIChkb2N1bWVudHNBZGRlZCk9XCJhZGRlZERvY3VtZW50KCRldmVudClcIiAoZG9jdW1lbnREZWxldGVkKT1cImRlbGV0ZWREb2N1bWVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZG9jdW1lbnRzXT1cImRvY3VtZW50c1wiIFt1c2VXaXRob3V0U2V0dGluZ1Byb3BzXT1cInRydWVcIj48L2NvLWZpbGVzLXVwbG9hZD5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgICAgIDxjby1kaWFsb2cgKm5nSWY9XCJzaG93RW1haWxEaWFsb2dcIiAoY2xvc2VDbGljayk9XCJlbWFpbERpYWxvZ0Nsb3NlZCgpXCI+XHJcbiAgICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgW211bHRpc2VsZWN0XT1cInRydWVcIiBbbGFiZWxdPVwiJ1JFQ0lQSUVOVFMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImVtYWlsQWRkcmVzc2VzQXZhaWxhYmxlXCIgW2Rpc3BsYXlGaWVsZF09XCIncm9sZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImVtYWlsQWRkcmVzc2VzXCI+XHJcbiAgICAgICAgICA8L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gICAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzIFttdWx0aXNlbGVjdF09XCJ0cnVlXCIgW2xhYmVsXT1cIidCQ0MnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImVtYWlsQWRkcmVzc2VzQXZhaWxhYmxlXCIgW2Rpc3BsYXlGaWVsZF09XCIncm9sZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImNjRW1haWxBZGRyZXNzZXNcIj5cclxuICAgICAgICAgIDwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbcmVhZG9ubHldPVwiZmFsc2VcIiBbbGFiZWxdPVwiJ1NFTkRFUicgfCBsb2NhbGl6ZVwiIFttb2RlbF09XCJzZW5kZXJBZGRyZXNzXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICA8L2NvLWRpYWxvZz5cclxuXHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFza0NyZWF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBWaWV3Q2hpbGQoRm9ybUNvbXBvbmVudClcclxuICBwdWJsaWMgY3JlYXRlRm9ybTogRm9ybUNvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXV0aG9yOiBSZWxhdGlvblNtYWxsT2JqZWN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBicmFuY2hObzogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YWJsZTogVGFibGVOYW1lID0gVGFibGVOYW1lLlRyYW5zYWN0aW9ucztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgUmVtYXJrQW5kV29ya0tleTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBUYXNrS2V5OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHdvcmtmbG93Q2F0ZWdvcnlUeXBlOiBXb3JrZmxvd0NhdGVnb3J5VHlwZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFjdGl2aXR5Q3JlYXRlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBwdWJsaWMgc2hvd0ZpbGVzRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGRvY3VtZW50czogQ29Eb2N1bWVudFtdID0gW107XHJcblxyXG4gIHB1YmxpYyBzaG93RW1haWxEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZW1haWxBZGRyZXNzZXNBdmFpbGFibGU6IFJvbGVFbWFpbGFkZHJlc3NbXSA9IFtdO1xyXG4gIHB1YmxpYyBzZW5kZXJBZGRyZXNzOiBzdHJpbmc7XHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzOiBSb2xlRW1haWxhZGRyZXNzW107XHJcbiAgcHVibGljIGNjRW1haWxBZGRyZXNzZXM6IFJvbGVFbWFpbGFkZHJlc3NbXTtcclxuICBwdWJsaWMgZW1haWxSZXF1ZXN0OiBhY3Rpdml0eUVtYWlsUmVxdWVzdERhdGEgPSBudWxsO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10YXNrLWNyZWF0b3JcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3B0aW9uQ29sbGVjdGlvbjogb2JqZWN0W10gPSBbe2lkOiAnT3BtZXJraW5nJ30sIHtpZDogJ1dlcmt6YWFtaGVpZCd9LCB7aWQ6ICdUYWFrJ30gXTtcclxuICBwdWJsaWMgY2hvc2VuQWN0aXZpdHlUeXBlOiBvYmplY3Q7XHJcblxyXG4gIHB1YmxpYyByZW1hcmtUZXh0OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB3b3JrRGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIHRhc2tOYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB0YXNrRGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9IHRoaXMub3B0aW9uQ29sbGVjdGlvblsxXTtcclxuICAgIHRoaXMuZW1haWxBZGRyZXNzZXNBdmFpbGFibGUgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0Um9sZUVtYWlsQWRkcmVzc2VzQnlXb3JrZmxvd0NhdGVnb3J5QW5kS2V5KCdTRVJWSUNFX09SREVSJywgdGhpcy5SZW1hcmtBbmRXb3JrS2V5KTtcclxuICAgIHRoaXMuc2VuZGVyQWRkcmVzcyA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXRFbWFpbFNlbmRlckJ5V29ya2Zsb3dDYXRlZ29yeUFuZEtleSgnU0VSVklDRV9PUkRFUicsIHRoaXMuUmVtYXJrQW5kV29ya0tleSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlUmVtYXJrQ2xpY2tlZCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybS5zdWJtaXQoKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XHJcbiAgICAgIGxldCByZW1hcms6IFJlbWFyayA9IG5ldyBSZW1hcmsoKTtcclxuICAgICAgcmVtYXJrLmF1dGhvciA9IHRoaXMuYXV0aG9yO1xyXG4gICAgICByZW1hcmsuYXV0aG9yLmltYWdlID0gdW5kZWZpbmVkO1xyXG4gICAgICBpZiAodGhpcy5kb2N1bWVudHMubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgICAgcmVtYXJrLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzO1xyXG4gICAgICB9XHJcbiAgICAgIHJlbWFyay5yZW1hcmsgPSB0aGlzLnJlbWFya1RleHQ7XHJcbiAgICAgIHJlbWFyay5kYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIHJlbWFyay50YWJsZSA9IHRoaXMudGFibGU7XHJcbiAgICAgIHJlbWFyay5rZXkgPSB0aGlzLlJlbWFya0FuZFdvcmtLZXk7XHJcbiAgICAgIHJlbWFyay5yZWFkID0gZmFsc2U7XHJcbiAgICAgIHJlbWFyay5jdXJyZW50ID0gdHJ1ZTtcclxuXHJcbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcclxuICAgICAgYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLlJlbWFyaztcclxuICAgICAgYWN0aXZpdHkucmVtYXJrID0gcmVtYXJrO1xyXG5cclxuICAgICAgbGV0IHJlbWFya01hZGU6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0QWN0aXZpdHkoYWN0aXZpdHkpO1xyXG4gICAgICBpZiAocmVtYXJrTWFkZSkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZpdHlDcmVhdGVkLmVtaXQoKTtcclxuICAgICAgICAvL2F3YWl0IHRoaXMuc2VuZEVtYWlsSWZOZWNjZXNhcnkoKTtcclxuICAgICAgICB0aGlzLmNsZWFyRmllbGRzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVXb3JrQ2xpY2tlZCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybS5zdWJtaXQoKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XHJcbiAgICAgIGxldCB3b3JrOiBXb3JrID0gbmV3IFdvcmsoKTtcclxuICAgICAgd29yay5leGVjdXRpdmUgPSB0aGlzLmF1dGhvcjtcclxuICAgICAgd29yay5leGVjdXRpdmUuaW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHdvcmsuZG9jdW1lbnRzID0gdGhpcy5kb2N1bWVudHM7XHJcbiAgICAgIHdvcmsud29ya2VkVGltZSA9IDA7XHJcbiAgICAgIHdvcmsud29ya0Rlc2NyaXB0aW9uID0gdGhpcy53b3JrRGVzY3JpcHRpb25cclxuICAgICAgd29yay5kYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIHdvcmsudGFibGUgPSB0aGlzLnRhYmxlO1xyXG4gICAgICB3b3JrLmtleSA9IHRoaXMuUmVtYXJrQW5kV29ya0tleTtcclxuXHJcbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcclxuICAgICAgYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLldvcms7XHJcbiAgICAgIGFjdGl2aXR5LndvcmsgPSB3b3JrO1xyXG5cclxuICAgICAgbGV0IHdvcmtNYWRlOiBib29sZWFuID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEFjdGl2aXR5KGFjdGl2aXR5KTtcclxuICAgICAgaWYgKHdvcmtNYWRlKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0eUNyZWF0ZWQuZW1pdCgpO1xyXG4gICAgICAgIC8vYXdhaXQgdGhpcy5zZW5kRW1haWxJZk5lY2Nlc2FyeSgpO1xyXG4gICAgICAgIHRoaXMuY2xlYXJGaWVsZHMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlVGFza0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm0uc3VibWl0KCk7XHJcbiAgICBpZiAodGhpcy5jcmVhdGVGb3JtLmlzVmFsaWQoKSkge1xyXG4gICAgICBsZXQgdGFzazogVGFzayA9IG5ldyBUYXNrKCk7XHJcbiAgICAgIHRhc2suZXhlY3V0aXZlID0gdGhpcy5hdXRob3I7XHJcbiAgICAgIHRhc2suZXhlY3V0aXZlLmltYWdlID0gdW5kZWZpbmVkO1xyXG4gICAgICB0YXNrLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzO1xyXG4gICAgICB0YXNrLm5hbWUgPSB0aGlzLnRhc2tOYW1lO1xyXG4gICAgICB0YXNrLmRlc2NyaXB0aW9uID0gdGhpcy50YXNrRGVzY3JpcHRpb247XHJcbiAgICAgIHRhc2suY3JlYXRpb25EYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIHRhc2suZGF0ZURlZmluYXRlID0gZmFsc2U7XHJcbiAgICAgIHRhc2submVlZHNQbGFubmluZyA9IHRydWU7XHJcbiAgICAgIHRhc2sucHJpb3JpdHkgPSAwO1xyXG4gICAgICB0YXNrLndvcmtmbG93Q2F0ZWdvcnkgPSB0aGlzLndvcmtmbG93Q2F0ZWdvcnlUeXBlO1xyXG4gICAgICB0YXNrLnJlZmVyZW5jZSA9IHRoaXMuVGFza0tleTtcclxuXHJcbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcclxuICAgICAgYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLlRhc2s7XHJcbiAgICAgIGFjdGl2aXR5LnRhc2sgPSB0YXNrO1xyXG5cclxuICAgICAgbGV0IHRhc2tNYWRlOiBib29sZWFuID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEFjdGl2aXR5KGFjdGl2aXR5KTtcclxuICAgICAgaWYgKHRhc2tNYWRlKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0eUNyZWF0ZWQuZW1pdCgpO1xyXG4gICAgICAgIC8vYXdhaXQgdGhpcy5zZW5kRW1haWxJZk5lY2Nlc2FyeSgpO1xyXG4gICAgICAgIHRoaXMuY2xlYXJGaWVsZHMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGFkZGVkRG9jdW1lbnQoZG9jczogQ29Eb2N1bWVudFtdKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzLmNvbmNhdChkb2NzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBkZWxldGVkRG9jdW1lbnQoZG9jOiBDb0RvY3VtZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBBcnJheVV0aWxzLlJlbW92ZUVsZW1lbnQoZG9jLCB0aGlzLmRvY3VtZW50cyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW1haWxEaWFsb2dDbG9zZWQoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmVtYWlsQWRkcmVzc2VzLmxlbmd0aCA+PSAwKXtcclxuICAgICAgdGhpcy5lbWFpbFJlcXVlc3QgPSBuZXcgYWN0aXZpdHlFbWFpbFJlcXVlc3REYXRhO1xyXG4gICAgICB0aGlzLmVtYWlsUmVxdWVzdC50YWJsZSA9IHRoaXMudGFibGU7XHJcbiAgICAgIHRoaXMuZW1haWxSZXF1ZXN0LmtleSA9IHRoaXMuUmVtYXJrQW5kV29ya0tleTtcclxuICAgICAgdGhpcy5lbWFpbFJlcXVlc3Quc2VuZGVyQWRkcmVzcyA9IHRoaXMuc2VuZGVyQWRkcmVzcztcclxuICAgICAgdGhpcy5lbWFpbFJlcXVlc3Quc2VuZEFkZHJlc3NlcyA9IHRoaXMuY3JlYXRlQWRkcmVzc0xpc3QodGhpcy5lbWFpbEFkZHJlc3Nlcyk7XHJcbiAgICAgIHRoaXMuZW1haWxSZXF1ZXN0LmNjQWRkcmVzc2VzID0gdGhpcy5jcmVhdGVBZGRyZXNzTGlzdCh0aGlzLmNjRW1haWxBZGRyZXNzZXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lbWFpbFJlcXVlc3QgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93RW1haWxEaWFsb2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjcmVhdGVBZGRyZXNzTGlzdChhZGRyZXNzZXM6Um9sZUVtYWlsYWRkcmVzc1tdKTogc3RyaW5nW10ge1xyXG4gICAgbGV0IGFkZHJlc3NTdHJpbmdzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgaWYoYWRkcmVzc2VzICYmIGFkZHJlc3Nlcy5sZW5ndGggIT09IDApIHtcclxuICAgICAgYWRkcmVzc2VzLmZvckVhY2gociA9PiB7XHJcbiAgICAgICAgci5lbWFpbEFkZHJlc3Nlcy5mb3JFYWNoKGUgPT4ge1xyXG4gICAgICAgICAgYWRkcmVzc1N0cmluZ3MucHVzaChlKVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBhZGRyZXNzU3RyaW5ncztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc2VuZEVtYWlsSWZOZWNjZXNhcnkoKTogUHJvbWlzZTx2b2lkPiB7XHJcblxyXG4gICAgaWYgKHRoaXMuZW1haWxSZXF1ZXN0KSB7XHJcbiAgICAgIGxldCB0ZW1wbGF0ZXM6IFJlcG9ydFtdID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmdldERlZmF1bHRFbWFpbFJlcG9ydFRlbXBsYXRlc0ZvckJyYW5jaCh0aGlzLmJyYW5jaE5vLCB0aGlzLmZpbmRSZXBvcnRUeXBlKCkpO1xyXG4gICAgICBpZiAodGVtcGxhdGVzLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgICAgbGV0IHRlbXBsYXRlOiBSZXBvcnQgPSB0aGlzLmZpbmREZWZhdWx0KHRlbXBsYXRlcyk7XHJcbiAgICAgICAgaWYgKHRlbXBsYXRlKSB7XHJcbiAgICAgICAgICB0aGlzLnN0YXJ0RW1haWxpbmcodGVtcGxhdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kUmVwb3J0VHlwZSgpOiBSZXBvcnRUeXBlIHtcclxuICAgIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzBdKSB7XHJcbiAgICAgIHJldHVybiBSZXBvcnRUeXBlLlJlbWFya01lc3NhZ2U7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2hvc2VuQWN0aXZpdHlUeXBlID09PSB0aGlzLm9wdGlvbkNvbGxlY3Rpb25bMV0pIHtcclxuICAgICAgcmV0dXJuIFJlcG9ydFR5cGUuV29ya01lc3NhZ2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gUmVwb3J0VHlwZS5UYXNrTWVzc2FnZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc3RhcnRFbWFpbGluZyh0ZW1wbGF0ZTogUmVwb3J0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgdGhpcy5lbWFpbFJlcXVlc3Quc2VuZEFkZHJlc3Nlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmVtYWlsVmlhVGVtcGxhdGUgKHRlbXBsYXRlLCBhLCAnZW1haWx0aXRlZWVlbCcsIFwiXCIsIFtdLCB7fSlcclxuICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZERlZmF1bHQocmVwb3J0TGlzdDogUmVwb3J0W10pOiBSZXBvcnQge1xyXG4gICAgbGV0IGRlZmF1bHRUZW1wbGF0ZTogUmVwb3J0ID0gbnVsbDtcclxuICAgIHJlcG9ydExpc3QuZm9yRWFjaChyID0+IHtcclxuICAgICAgaWYoci5pc0RlZmF1bHQpIHtcclxuICAgICAgICBkZWZhdWx0VGVtcGxhdGUgPSAgcjtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZGVmYXVsdFRlbXBsYXRlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhckZpZWxkcygpOiB2b2lkIHtcclxuICAgIHRoaXMucmVtYXJrVGV4dCA9IFwiXCI7XHJcbiAgICB0aGlzLndvcmtEZXNjcmlwdGlvbiA9IFwiXCI7XHJcbiAgICB0aGlzLnRhc2tOYW1lID0gXCJcIjtcclxuICAgIHRoaXMudGFza0Rlc2NyaXB0aW9uID0gXCJcIjtcclxuXHJcbiAgICB0aGlzLnNlbmRlckFkZHJlc3MgPSBcIlwiO1xyXG4gICAgdGhpcy5lbWFpbEFkZHJlc3NlcyA9IFtdO1xyXG4gICAgdGhpcy5jY0VtYWlsQWRkcmVzc2VzID0gW107XHJcbiAgICB0aGlzLmVtYWlsUmVxdWVzdCA9IG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { TaskCreatorComponent } from "./task-creator.component";
3
+ import { BusinessObjectFactory } from "@colijnit/ioneconnector/build/service/business-object-factory";
4
+ import { ButtonModule, CoDialogModule, FormModule, InputTextModule, ListOfIconsModule, ListOfValuesModule } from "@colijnit/corecomponents_v12";
5
+ import { CommonModule } from "@angular/common";
6
+ import { FilesUploadModule } from "../files-upload/files-upload.module";
7
+ import { LocalizationModule } from "../../localization/localization.module";
8
+ export class TaskCreatorModule {
9
+ }
10
+ TaskCreatorModule.decorators = [
11
+ { type: NgModule, args: [{
12
+ imports: [
13
+ ListOfValuesModule,
14
+ InputTextModule,
15
+ ButtonModule,
16
+ CommonModule,
17
+ CoDialogModule,
18
+ FilesUploadModule,
19
+ LocalizationModule,
20
+ ListOfIconsModule,
21
+ FormModule
22
+ ],
23
+ declarations: [
24
+ TaskCreatorComponent
25
+ ],
26
+ exports: [
27
+ TaskCreatorComponent
28
+ ],
29
+ providers: [
30
+ BusinessObjectFactory
31
+ ]
32
+ },] }
33
+ ];
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDcEcsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBQUUsVUFBVSxFQUMxQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNuQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQXlCMUUsTUFBTSxPQUFPLGlCQUFpQjs7O1lBdEI3QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLGtCQUFrQjtvQkFDbEIsZUFBZTtvQkFDZixZQUFZO29CQUNaLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxpQkFBaUI7b0JBQ2pCLGtCQUFrQjtvQkFDbEIsaUJBQWlCO29CQUNqQixVQUFVO2lCQUNYO2dCQUNELFlBQVksRUFBRTtvQkFDWixvQkFBb0I7aUJBQ3JCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxvQkFBb0I7aUJBQ3JCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxxQkFBcUI7aUJBQ3RCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1Rhc2tDcmVhdG9yQ29tcG9uZW50fSBmcm9tIFwiLi90YXNrLWNyZWF0b3IuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RGYWN0b3J5fSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvc2VydmljZS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeVwiO1xyXG5pbXBvcnQge1xyXG4gIEJ1dHRvbk1vZHVsZSxcclxuICBDb0RpYWxvZ01vZHVsZSwgRm9ybU1vZHVsZSxcclxuICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgTGlzdE9mSWNvbnNNb2R1bGUsXHJcbiAgTGlzdE9mVmFsdWVzTW9kdWxlXHJcbn0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtGaWxlc1VwbG9hZE1vZHVsZX0gZnJvbSBcIi4uL2ZpbGVzLXVwbG9hZC9maWxlcy11cGxvYWQubW9kdWxlXCI7XHJcbmltcG9ydCB7TG9jYWxpemF0aW9uTW9kdWxlfSBmcm9tIFwiLi4vLi4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvbi5tb2R1bGVcIjtcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIExpc3RPZlZhbHVlc01vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIENvRGlhbG9nTW9kdWxlLFxyXG4gICAgRmlsZXNVcGxvYWRNb2R1bGUsXHJcbiAgICBMb2NhbGl6YXRpb25Nb2R1bGUsXHJcbiAgICBMaXN0T2ZJY29uc01vZHVsZSxcclxuICAgIEZvcm1Nb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVGFza0NyZWF0b3JDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFRhc2tDcmVhdG9yQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEJ1c2luZXNzT2JqZWN0RmFjdG9yeVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhc2tDcmVhdG9yTW9kdWxlIHtcclxuXHJcbn1cclxuIl19
@@ -45,6 +45,7 @@ export var Icon;
45
45
  Icon["MessageSmsSolid"] = "message_sms_solid";
46
46
  Icon["Notification"] = "notification";
47
47
  Icon["PaperclipRegular"] = "paperclip_regular";
48
+ Icon["PaperPlaneTopSolid"] = "paper_plane_top_solid";
48
49
  Icon["Pdf"] = "pdf";
49
50
  Icon["PersonDiggingRegular"] = "person_digging_regular";
50
51
  Icon["PinRoundOpen"] = "pin_round_open";
@@ -58,4 +59,4 @@ export var Icon;
58
59
  Icon["Xml"] = "xml";
59
60
  Icon["XSolid"] = "x_solid";
60
61
  })(Icon || (Icon = {}));
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2VudW0vaWNvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdHQUFnRztBQUVoRyxNQUFNLENBQU4sSUFBWSxJQXlEWDtBQXpERCxXQUFZLElBQUk7SUFDWiwyQkFBbUIsQ0FBQTtJQUNuQiwyQ0FBbUMsQ0FBQTtJQUNuQyw2Q0FBcUMsQ0FBQTtJQUNyQyxnQ0FBd0IsQ0FBQTtJQUN4QiwrQ0FBdUMsQ0FBQTtJQUN2Qyx5Q0FBaUMsQ0FBQTtJQUNqQywyQ0FBbUMsQ0FBQTtJQUNuQywyQ0FBbUMsQ0FBQTtJQUNuQyw2Q0FBcUMsQ0FBQTtJQUNyQyx1Q0FBK0IsQ0FBQTtJQUMvQiw0QkFBb0IsQ0FBQTtJQUNwQixtREFBMkMsQ0FBQTtJQUMzQyxvQ0FBNEIsQ0FBQTtJQUM1QiwrQ0FBdUMsQ0FBQTtJQUN2QyxxREFBNkMsQ0FBQTtJQUM3QyxzQ0FBOEIsQ0FBQTtJQUM5QixrQ0FBMEIsQ0FBQTtJQUMxQixrQ0FBMEIsQ0FBQTtJQUMxQixxREFBNkMsQ0FBQTtJQUM3QyxzQ0FBOEIsQ0FBQTtJQUM5QiwwQ0FBa0MsQ0FBQTtJQUNsQyxvQ0FBNEIsQ0FBQTtJQUM1Qix1QkFBZSxDQUFBO0lBQ2YsaURBQXlDLENBQUE7SUFDekMsd0NBQWdDLENBQUE7SUFDaEMsa0NBQTBCLENBQUE7SUFDMUIsNkJBQXFCLENBQUE7SUFDckIsMkNBQW1DLENBQUE7SUFDbkMsdUJBQWUsQ0FBQTtJQUNmLDZCQUFxQixDQUFBO0lBQ3JCLDRDQUFvQyxDQUFBO0lBQ3BDLGtDQUEwQixDQUFBO0lBQzFCLGlEQUF5QyxDQUFBO0lBQ3pDLDZDQUFxQyxDQUFBO0lBQ3JDLDJDQUFtQyxDQUFBO0lBQ25DLHVDQUErQixDQUFBO0lBQy9CLHVEQUErQyxDQUFBO0lBQy9DLGlEQUF5QyxDQUFBO0lBQ3pDLHNDQUE4QixDQUFBO0lBQzlCLHFCQUFhLENBQUE7SUFDYixpREFBeUMsQ0FBQTtJQUN6Qyw2Q0FBcUMsQ0FBQTtJQUNyQyxxQ0FBNkIsQ0FBQTtJQUM3Qiw4Q0FBc0MsQ0FBQTtJQUN0QyxtQkFBVyxDQUFBO0lBQ1gsdURBQStDLENBQUE7SUFDL0MsdUNBQStCLENBQUE7SUFDL0IsdUJBQWUsQ0FBQTtJQUNmLHNDQUE4QixDQUFBO0lBQzlCLGtDQUEwQixDQUFBO0lBQzFCLDBDQUFrQyxDQUFBO0lBQ2xDLGtDQUEwQixDQUFBO0lBQzFCLHFCQUFhLENBQUE7SUFDYiw2QkFBcUIsQ0FBQTtJQUNyQixtQkFBVyxDQUFBO0lBQ1gsMEJBQWtCLENBQUE7QUFDdEIsQ0FBQyxFQXpEVyxJQUFJLEtBQUosSUFBSSxRQXlEZiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBBVVRPIEdFTkVSQVRFRCBGSUxFLiBETyBOT1QgQ0hBTkdFLi4gT1IgWU9VIFdJTEwgU1VGRkVSIFRIRSBDT05TRVFVRU5DRVMgT0YgWU9VUiBBQ1RJT05TICoqL1xuXG5leHBvcnQgZW51bSBJY29uIHtcbiAgICBBY2NvdW50ID0gXCJhY2NvdW50XCIsXG4gICAgQW5nbGVMZWZ0U29saWQgPSBcImFuZ2xlX2xlZnRfc29saWRcIixcbiAgICBBbmdsZVJpZ2h0U29saWQgPSBcImFuZ2xlX3JpZ2h0X3NvbGlkXCIsXG4gICAgQXJyb3dEb3duID0gXCJhcnJvd19kb3duXCIsXG4gICAgQXJyb3dEb3duUmVndWxhciA9IFwiYXJyb3dfZG93bl9yZWd1bGFyXCIsXG4gICAgQXJyb3dGYXRSaWdodCA9IFwiYXJyb3dfZmF0X3JpZ2h0XCIsXG4gICAgQXJyb3dQb2ludERvd24gPSBcImFycm93X3BvaW50X2Rvd25cIixcbiAgICBBcnJvd1BvaW50TGVmdCA9IFwiYXJyb3dfcG9pbnRfbGVmdFwiLFxuICAgIEFycm93UG9pbnRSaWdodCA9IFwiYXJyb3dfcG9pbnRfcmlnaHRcIixcbiAgICBBcnJvd1BvaW50VXAgPSBcImFycm93X3BvaW50X3VwXCIsXG4gICAgQXRTb2xpZCA9IFwiYXRfc29saWRcIixcbiAgICBCYXJjb2RlUmVhZFJlZ3VsYXIgPSBcImJhcmNvZGVfcmVhZF9yZWd1bGFyXCIsXG4gICAgQmVsbFJlZ3VsYXIgPSBcImJlbGxfcmVndWxhclwiLFxuICAgIEJlbGxTbGFzaFJlZ3VsYXIgPSBcImJlbGxfc2xhc2hfcmVndWxhclwiLFxuICAgIEJyaW5nRm9yd2FyZFJlZ3VsYXIgPSBcImJyaW5nX2ZvcndhcmRfcmVndWxhclwiLFxuICAgIENoZWNrRHVvdG9uZSA9IFwiY2hlY2tfZHVvdG9uZVwiLFxuICAgIENoZWNrUm91bmQgPSBcImNoZWNrX3JvdW5kXCIsXG4gICAgQ2hlY2tTb2xpZCA9IFwiY2hlY2tfc29saWRcIixcbiAgICBDaGV2cm9uUmlnaHRSZWd1bGFyID0gXCJjaGV2cm9uX3JpZ2h0X3JlZ3VsYXJcIixcbiAgICBDbG9ja1JlZ3VsYXIgPSBcImNsb2NrX3JlZ3VsYXJcIixcbiAgICBDb21tZW50UmVndWxhciA9IFwiY29tbWVudF9yZWd1bGFyXCIsXG4gICAgQ3Jvc3NTa2lubnkgPSBcImNyb3NzX3NraW5ueVwiLFxuICAgIEN1YmVzID0gXCJjdWJlc1wiLFxuICAgIERlbGV0ZUxlZnRSZWd1bGFyID0gXCJkZWxldGVfbGVmdF9yZWd1bGFyXCIsXG4gICAgRGVsaXZlcnlUcnVjayA9IFwiZGVsaXZlcnlfdHJ1Y2tcIixcbiAgICBEZXRhaWxWaWV3ID0gXCJkZXRhaWxfdmlld1wiLFxuICAgIERyb3B6b25lID0gXCJkcm9wem9uZVwiLFxuICAgIEVkaXRQZW5SZWd1bGFyID0gXCJlZGl0X3Blbl9yZWd1bGFyXCIsXG4gICAgRW1haWwgPSBcImVtYWlsXCIsXG4gICAgRW1wbG95ZWUgPSBcImVtcGxveWVlXCIsXG4gICAgRW52ZWxvcGVSZWd1bGFyID0gXCJlbnZlbG9wZV9yZWd1bGFyXCIsXG4gICAgRXllUmVndWxhciA9IFwiZXllX3JlZ3VsYXJcIixcbiAgICBGaWxlRXhwb3J0UmVndWxhciA9IFwiZmlsZV9leHBvcnRfcmVndWxhclwiLFxuICAgIEZpbGVFeHBvcnRTb2xpZCA9IFwiZmlsZV9leHBvcnRfc29saWRcIixcbiAgICBGaWxlUGRmUmVndWxhciA9IFwiZmlsZV9wZGZfcmVndWxhclwiLFxuICAgIEZpbGVQZGZTb2xpZCA9IFwiZmlsZV9wZGZfc29saWRcIixcbiAgICBGaWxlU2lnbmF0dXJlUmVndWxhciA9IFwiZmlsZV9zaWduYXR1cmVfcmVndWxhclwiLFxuICAgIEhvdXNlQmxhbmtSZWd1bGFyID0gXCJob3VzZV9ibGFua19yZWd1bGFyXCIsXG4gICAgSW9uZVdvcmtmbG93ID0gXCJpb25lX3dvcmtmbG93XCIsXG4gICAgTG9jayA9IFwibG9ja1wiLFxuICAgIE1lc3NhZ2VTbXNSZWd1bGFyID0gXCJtZXNzYWdlX3Ntc19yZWd1bGFyXCIsXG4gICAgTWVzc2FnZVNtc1NvbGlkID0gXCJtZXNzYWdlX3Ntc19zb2xpZFwiLFxuICAgIE5vdGlmaWNhdGlvbiA9IFwibm90aWZpY2F0aW9uXCIsXG4gICAgUGFwZXJjbGlwUmVndWxhciA9IFwicGFwZXJjbGlwX3JlZ3VsYXJcIixcbiAgICBQZGYgPSBcInBkZlwiLFxuICAgIFBlcnNvbkRpZ2dpbmdSZWd1bGFyID0gXCJwZXJzb25fZGlnZ2luZ19yZWd1bGFyXCIsXG4gICAgUGluUm91bmRPcGVuID0gXCJwaW5fcm91bmRfb3BlblwiLFxuICAgIFByaW50ID0gXCJwcmludFwiLFxuICAgIFByaW50UmVndWxhciA9IFwicHJpbnRfcmVndWxhclwiLFxuICAgIFByaW50U29saWQgPSBcInByaW50X3NvbGlkXCIsXG4gICAgU2lnbmF0dXJlRmllbGQgPSBcInNpZ25hdHVyZV9maWVsZFwiLFxuICAgIFRhZ1JlZ3VsYXIgPSBcInRhZ19yZWd1bGFyXCIsXG4gICAgVGFzayA9IFwidGFza1wiLFxuICAgIFRyYXNoYmluID0gXCJ0cmFzaGJpblwiLFxuICAgIFhtbCA9IFwieG1sXCIsXG4gICAgWFNvbGlkID0gXCJ4X3NvbGlkXCJcbn0iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2VudW0vaWNvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdHQUFnRztBQUVoRyxNQUFNLENBQU4sSUFBWSxJQTBEWDtBQTFERCxXQUFZLElBQUk7SUFDWiwyQkFBbUIsQ0FBQTtJQUNuQiwyQ0FBbUMsQ0FBQTtJQUNuQyw2Q0FBcUMsQ0FBQTtJQUNyQyxnQ0FBd0IsQ0FBQTtJQUN4QiwrQ0FBdUMsQ0FBQTtJQUN2Qyx5Q0FBaUMsQ0FBQTtJQUNqQywyQ0FBbUMsQ0FBQTtJQUNuQywyQ0FBbUMsQ0FBQTtJQUNuQyw2Q0FBcUMsQ0FBQTtJQUNyQyx1Q0FBK0IsQ0FBQTtJQUMvQiw0QkFBb0IsQ0FBQTtJQUNwQixtREFBMkMsQ0FBQTtJQUMzQyxvQ0FBNEIsQ0FBQTtJQUM1QiwrQ0FBdUMsQ0FBQTtJQUN2QyxxREFBNkMsQ0FBQTtJQUM3QyxzQ0FBOEIsQ0FBQTtJQUM5QixrQ0FBMEIsQ0FBQTtJQUMxQixrQ0FBMEIsQ0FBQTtJQUMxQixxREFBNkMsQ0FBQTtJQUM3QyxzQ0FBOEIsQ0FBQTtJQUM5QiwwQ0FBa0MsQ0FBQTtJQUNsQyxvQ0FBNEIsQ0FBQTtJQUM1Qix1QkFBZSxDQUFBO0lBQ2YsaURBQXlDLENBQUE7SUFDekMsd0NBQWdDLENBQUE7SUFDaEMsa0NBQTBCLENBQUE7SUFDMUIsNkJBQXFCLENBQUE7SUFDckIsMkNBQW1DLENBQUE7SUFDbkMsdUJBQWUsQ0FBQTtJQUNmLDZCQUFxQixDQUFBO0lBQ3JCLDRDQUFvQyxDQUFBO0lBQ3BDLGtDQUEwQixDQUFBO0lBQzFCLGlEQUF5QyxDQUFBO0lBQ3pDLDZDQUFxQyxDQUFBO0lBQ3JDLDJDQUFtQyxDQUFBO0lBQ25DLHVDQUErQixDQUFBO0lBQy9CLHVEQUErQyxDQUFBO0lBQy9DLGlEQUF5QyxDQUFBO0lBQ3pDLHNDQUE4QixDQUFBO0lBQzlCLHFCQUFhLENBQUE7SUFDYixpREFBeUMsQ0FBQTtJQUN6Qyw2Q0FBcUMsQ0FBQTtJQUNyQyxxQ0FBNkIsQ0FBQTtJQUM3Qiw4Q0FBc0MsQ0FBQTtJQUN0QyxvREFBNEMsQ0FBQTtJQUM1QyxtQkFBVyxDQUFBO0lBQ1gsdURBQStDLENBQUE7SUFDL0MsdUNBQStCLENBQUE7SUFDL0IsdUJBQWUsQ0FBQTtJQUNmLHNDQUE4QixDQUFBO0lBQzlCLGtDQUEwQixDQUFBO0lBQzFCLDBDQUFrQyxDQUFBO0lBQ2xDLGtDQUEwQixDQUFBO0lBQzFCLHFCQUFhLENBQUE7SUFDYiw2QkFBcUIsQ0FBQTtJQUNyQixtQkFBVyxDQUFBO0lBQ1gsMEJBQWtCLENBQUE7QUFDdEIsQ0FBQyxFQTFEVyxJQUFJLEtBQUosSUFBSSxRQTBEZiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBBVVRPIEdFTkVSQVRFRCBGSUxFLiBETyBOT1QgQ0hBTkdFLi4gT1IgWU9VIFdJTEwgU1VGRkVSIFRIRSBDT05TRVFVRU5DRVMgT0YgWU9VUiBBQ1RJT05TICoqL1xuXG5leHBvcnQgZW51bSBJY29uIHtcbiAgICBBY2NvdW50ID0gXCJhY2NvdW50XCIsXG4gICAgQW5nbGVMZWZ0U29saWQgPSBcImFuZ2xlX2xlZnRfc29saWRcIixcbiAgICBBbmdsZVJpZ2h0U29saWQgPSBcImFuZ2xlX3JpZ2h0X3NvbGlkXCIsXG4gICAgQXJyb3dEb3duID0gXCJhcnJvd19kb3duXCIsXG4gICAgQXJyb3dEb3duUmVndWxhciA9IFwiYXJyb3dfZG93bl9yZWd1bGFyXCIsXG4gICAgQXJyb3dGYXRSaWdodCA9IFwiYXJyb3dfZmF0X3JpZ2h0XCIsXG4gICAgQXJyb3dQb2ludERvd24gPSBcImFycm93X3BvaW50X2Rvd25cIixcbiAgICBBcnJvd1BvaW50TGVmdCA9IFwiYXJyb3dfcG9pbnRfbGVmdFwiLFxuICAgIEFycm93UG9pbnRSaWdodCA9IFwiYXJyb3dfcG9pbnRfcmlnaHRcIixcbiAgICBBcnJvd1BvaW50VXAgPSBcImFycm93X3BvaW50X3VwXCIsXG4gICAgQXRTb2xpZCA9IFwiYXRfc29saWRcIixcbiAgICBCYXJjb2RlUmVhZFJlZ3VsYXIgPSBcImJhcmNvZGVfcmVhZF9yZWd1bGFyXCIsXG4gICAgQmVsbFJlZ3VsYXIgPSBcImJlbGxfcmVndWxhclwiLFxuICAgIEJlbGxTbGFzaFJlZ3VsYXIgPSBcImJlbGxfc2xhc2hfcmVndWxhclwiLFxuICAgIEJyaW5nRm9yd2FyZFJlZ3VsYXIgPSBcImJyaW5nX2ZvcndhcmRfcmVndWxhclwiLFxuICAgIENoZWNrRHVvdG9uZSA9IFwiY2hlY2tfZHVvdG9uZVwiLFxuICAgIENoZWNrUm91bmQgPSBcImNoZWNrX3JvdW5kXCIsXG4gICAgQ2hlY2tTb2xpZCA9IFwiY2hlY2tfc29saWRcIixcbiAgICBDaGV2cm9uUmlnaHRSZWd1bGFyID0gXCJjaGV2cm9uX3JpZ2h0X3JlZ3VsYXJcIixcbiAgICBDbG9ja1JlZ3VsYXIgPSBcImNsb2NrX3JlZ3VsYXJcIixcbiAgICBDb21tZW50UmVndWxhciA9IFwiY29tbWVudF9yZWd1bGFyXCIsXG4gICAgQ3Jvc3NTa2lubnkgPSBcImNyb3NzX3NraW5ueVwiLFxuICAgIEN1YmVzID0gXCJjdWJlc1wiLFxuICAgIERlbGV0ZUxlZnRSZWd1bGFyID0gXCJkZWxldGVfbGVmdF9yZWd1bGFyXCIsXG4gICAgRGVsaXZlcnlUcnVjayA9IFwiZGVsaXZlcnlfdHJ1Y2tcIixcbiAgICBEZXRhaWxWaWV3ID0gXCJkZXRhaWxfdmlld1wiLFxuICAgIERyb3B6b25lID0gXCJkcm9wem9uZVwiLFxuICAgIEVkaXRQZW5SZWd1bGFyID0gXCJlZGl0X3Blbl9yZWd1bGFyXCIsXG4gICAgRW1haWwgPSBcImVtYWlsXCIsXG4gICAgRW1wbG95ZWUgPSBcImVtcGxveWVlXCIsXG4gICAgRW52ZWxvcGVSZWd1bGFyID0gXCJlbnZlbG9wZV9yZWd1bGFyXCIsXG4gICAgRXllUmVndWxhciA9IFwiZXllX3JlZ3VsYXJcIixcbiAgICBGaWxlRXhwb3J0UmVndWxhciA9IFwiZmlsZV9leHBvcnRfcmVndWxhclwiLFxuICAgIEZpbGVFeHBvcnRTb2xpZCA9IFwiZmlsZV9leHBvcnRfc29saWRcIixcbiAgICBGaWxlUGRmUmVndWxhciA9IFwiZmlsZV9wZGZfcmVndWxhclwiLFxuICAgIEZpbGVQZGZTb2xpZCA9IFwiZmlsZV9wZGZfc29saWRcIixcbiAgICBGaWxlU2lnbmF0dXJlUmVndWxhciA9IFwiZmlsZV9zaWduYXR1cmVfcmVndWxhclwiLFxuICAgIEhvdXNlQmxhbmtSZWd1bGFyID0gXCJob3VzZV9ibGFua19yZWd1bGFyXCIsXG4gICAgSW9uZVdvcmtmbG93ID0gXCJpb25lX3dvcmtmbG93XCIsXG4gICAgTG9jayA9IFwibG9ja1wiLFxuICAgIE1lc3NhZ2VTbXNSZWd1bGFyID0gXCJtZXNzYWdlX3Ntc19yZWd1bGFyXCIsXG4gICAgTWVzc2FnZVNtc1NvbGlkID0gXCJtZXNzYWdlX3Ntc19zb2xpZFwiLFxuICAgIE5vdGlmaWNhdGlvbiA9IFwibm90aWZpY2F0aW9uXCIsXG4gICAgUGFwZXJjbGlwUmVndWxhciA9IFwicGFwZXJjbGlwX3JlZ3VsYXJcIixcbiAgICBQYXBlclBsYW5lVG9wU29saWQgPSBcInBhcGVyX3BsYW5lX3RvcF9zb2xpZFwiLFxuICAgIFBkZiA9IFwicGRmXCIsXG4gICAgUGVyc29uRGlnZ2luZ1JlZ3VsYXIgPSBcInBlcnNvbl9kaWdnaW5nX3JlZ3VsYXJcIixcbiAgICBQaW5Sb3VuZE9wZW4gPSBcInBpbl9yb3VuZF9vcGVuXCIsXG4gICAgUHJpbnQgPSBcInByaW50XCIsXG4gICAgUHJpbnRSZWd1bGFyID0gXCJwcmludF9yZWd1bGFyXCIsXG4gICAgUHJpbnRTb2xpZCA9IFwicHJpbnRfc29saWRcIixcbiAgICBTaWduYXR1cmVGaWVsZCA9IFwic2lnbmF0dXJlX2ZpZWxkXCIsXG4gICAgVGFnUmVndWxhciA9IFwidGFnX3JlZ3VsYXJcIixcbiAgICBUYXNrID0gXCJ0YXNrXCIsXG4gICAgVHJhc2hiaW4gPSBcInRyYXNoYmluXCIsXG4gICAgWG1sID0gXCJ4bWxcIixcbiAgICBYU29saWQgPSBcInhfc29saWRcIlxufSJdfQ==