@symphony-talent/component-library 3.40.0 → 3.41.0

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 (23) hide show
  1. package/esm2020/lib/organisms/invoice-area/invoice-area.component.mjs +7 -8
  2. package/esm2020/lib/organisms/invoice-area/invoice-area.model.mjs +1 -1
  3. package/esm2020/lib/organisms/order-summary/order-summary.component.mjs +4 -4
  4. package/esm2020/lib/organisms/upload-resume-modal/upload-resume-modal.component.mjs +2 -2
  5. package/esm2020/lib/pages/modals/advertise-modal/advertise-modal.component.mjs +46 -31
  6. package/esm2020/projects/component-library/lib/organisms/invoice-area/invoice-area.component.mjs +7 -8
  7. package/esm2020/projects/component-library/lib/organisms/invoice-area/invoice-area.model.mjs +1 -1
  8. package/esm2020/projects/component-library/lib/organisms/order-summary/order-summary.component.mjs +4 -4
  9. package/esm2020/projects/component-library/lib/organisms/upload-resume-modal/upload-resume-modal.component.mjs +2 -2
  10. package/esm2020/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.component.mjs +46 -31
  11. package/fesm2015/symphony-talent-component-library-projects-component-library.mjs +51 -36
  12. package/fesm2015/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
  13. package/fesm2015/symphony-talent-component-library.mjs +51 -36
  14. package/fesm2015/symphony-talent-component-library.mjs.map +1 -1
  15. package/fesm2020/symphony-talent-component-library-projects-component-library.mjs +51 -36
  16. package/fesm2020/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
  17. package/fesm2020/symphony-talent-component-library.mjs +51 -36
  18. package/fesm2020/symphony-talent-component-library.mjs.map +1 -1
  19. package/lib/organisms/invoice-area/invoice-area.model.d.ts +2 -1
  20. package/lib/organisms/upload-resume-modal/upload-resume-modal.component.d.ts +1 -1
  21. package/package.json +1 -1
  22. package/projects/component-library/lib/organisms/invoice-area/invoice-area.model.d.ts +2 -1
  23. package/projects/component-library/lib/organisms/upload-resume-modal/upload-resume-modal.component.d.ts +1 -1
@@ -36,12 +36,15 @@ export class AdvertiseModalComponent {
36
36
  ngOnInit() {
37
37
  this.initialiseDefaultValues();
38
38
  this.updateModalHeader();
39
- this.updateOrderSummary();
39
+ const selectedJobBoards = this.model.jobBoards.filter((jb) => jb.isSelected).length;
40
+ if (selectedJobBoards > 0) {
41
+ this.updateOrderSummary();
42
+ }
40
43
  this.cancelContent = {
41
44
  title: 'Are you sure you want to abandon your order?',
42
45
  content: 'All selections will be deleted and you will have to start over.',
43
46
  btnPrimary: 'Continue Order',
44
- btnSecondary: 'Abandon Order'
47
+ btnSecondary: 'Abandon Order',
45
48
  };
46
49
  }
47
50
  ngOnChanges(changes) {
@@ -52,29 +55,8 @@ export class AdvertiseModalComponent {
52
55
  this.jobCount = this.model.jobsToAdvertise.length;
53
56
  this.orderSummary = {
54
57
  title: 'Your Order',
55
- invoiceAreas: [
56
- {
57
- lineItems: [],
58
- title: 'Pay-Per-Click',
59
- total: {
60
- textLeft: 'Cost Programatic Boards',
61
- textRight: `x (${this.jobCount}) Jobs = $0`
62
- }
63
- },
64
- {
65
- lineItems: [],
66
- title: 'Job Boards',
67
- total: {
68
- textLeft: 'Cost Job Boards',
69
- textRight: `x (${this.jobCount}) Jobs = $0`
70
- }
71
- }
72
- ],
73
- total: {
74
- textLeft: '',
75
- textRight: '$0',
76
- label: 'Total:'
77
- }
58
+ invoiceAreas: [],
59
+ total: {},
78
60
  };
79
61
  }
80
62
  updateModalHeader() {
@@ -118,7 +100,8 @@ export class AdvertiseModalComponent {
118
100
  this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.forEach(li => {
119
101
  invoiceAreaTotal = invoiceAreaTotal + +li.textRight.replace('$', '');
120
102
  });
121
- this.orderSummary.invoiceAreas[invoiceAreaIndex].total.textRight = `x (${this.model.jobsToAdvertise.length}) Jobs = $${invoiceAreaTotal * this.model.jobsToAdvertise.length}`;
103
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].subTotal.textRight = `$${invoiceAreaTotal * this.model.jobsToAdvertise.length}`;
104
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].total.textRight = `$${invoiceAreaTotal}`;
122
105
  return invoiceAreaTotal * this.model.jobsToAdvertise.length;
123
106
  }
124
107
  calculateOrderTotal(payPerClickAreaTotal, jobBoardAreaTotal) {
@@ -127,14 +110,46 @@ export class AdvertiseModalComponent {
127
110
  const jobToAdvertiseCount = this.model.jobsToAdvertise.length;
128
111
  const orderSummaryText = `(${selectedJobBoards}) Boards x ${this.model.jobsToAdvertise.length} Jobs = (${selectedJobBoards * jobToAdvertiseCount}) Ads`;
129
112
  this.orderSummary.total = {
130
- label: 'Total:',
131
- textLeft: orderSummaryText,
113
+ label: 'Current Total',
114
+ textLeft: '',
132
115
  textRight: `$${payPerClickAreaTotal + jobBoardAreaTotal}`
133
116
  };
134
117
  }
135
118
  updateOrderSummary() {
136
- this.orderSummary.invoiceAreas[0].lineItems = [];
137
- this.orderSummary.invoiceAreas[1].lineItems = [];
119
+ this.orderSummary = {
120
+ title: 'Your Order',
121
+ invoiceAreas: [
122
+ {
123
+ lineItems: [],
124
+ total: {
125
+ textLeft: 'Pay-Per-Click Sites, Subtotal Per Job:',
126
+ textRight: ``
127
+ },
128
+ subTotal: {
129
+ textLeft: 'Pay-Per-Click Sites Subtotal',
130
+ textRight: `x (${this.jobCount}) Jobs = $0`
131
+ },
132
+ jobsToAdvertise: `x (${this.model.jobsToAdvertise.length}) Jobs Selected`
133
+ },
134
+ {
135
+ lineItems: [],
136
+ subTotal: {
137
+ textLeft: 'Job Boards Subtotal',
138
+ textRight: `x (${this.jobCount}) Jobs = $0`
139
+ },
140
+ total: {
141
+ textLeft: 'Duration Job Boards, Subtotal Per Job:',
142
+ textRight: ``
143
+ },
144
+ jobsToAdvertise: `x (${this.model.jobsToAdvertise.length}) Jobs Selected`
145
+ }
146
+ ],
147
+ total: {
148
+ textLeft: '',
149
+ textRight: '',
150
+ label: 'Current Total'
151
+ },
152
+ };
138
153
  this.model.jobBoards.forEach(jb => {
139
154
  if (jb.isSelected) {
140
155
  if (jb.isPayPerClick) {
@@ -173,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
173
188
  }], keywordSearchChange: [{
174
189
  type: Output
175
190
  }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFldEQsTUFBTSxPQUFPLHVCQUF1QjtJQTJCbEM7UUF4QlUsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzNDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBRTVDLENBQUM7UUFDTSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS3BELGNBQVMsR0FBb0I7WUFDbEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ3hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO1FBR0ssc0JBQWlCLEdBQW1CLEVBQUUsQ0FBQztRQUN2QyxjQUFTLEdBQW1CLEVBQUUsQ0FBQztRQUMvQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxFQUFFLENBQUM7SUFHaEIsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixLQUFLLEVBQUUsOENBQThDO1lBQ3JELE9BQU8sRUFDTCxpRUFBaUU7WUFDbkUsVUFBVSxFQUFFLGdCQUFnQjtZQUM1QixZQUFZLEVBQUUsZUFBZTtTQUM5QixDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7SUFDdkQsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7UUFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNsQixLQUFLLEVBQUUsWUFBWTtZQUNuQixZQUFZLEVBQUU7Z0JBQ1o7b0JBQ0UsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsS0FBSyxFQUFFLGVBQWU7b0JBQ3RCLEtBQUssRUFBRTt3QkFDTCxRQUFRLEVBQUUseUJBQXlCO3dCQUNuQyxTQUFTLEVBQUUsTUFBTSxJQUFJLENBQUMsUUFBUSxhQUFhO3FCQUM1QztpQkFDRjtnQkFDRDtvQkFDRSxTQUFTLEVBQUUsRUFBRTtvQkFDYixLQUFLLEVBQUUsWUFBWTtvQkFDbkIsS0FBSyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxpQkFBaUI7d0JBQzNCLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQyxRQUFRLGFBQWE7cUJBQzVDO2lCQUNGO2FBQ0Y7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osU0FBUyxFQUFFLElBQUk7Z0JBQ2YsS0FBSyxFQUFFLFFBQVE7YUFDaEI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksZUFBZSxHQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZDLGVBQWUsR0FBRyxlQUFlLEdBQUcsR0FBRyxHQUFHLENBQUMsUUFBUSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUNsRSxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2xELGVBQWUsR0FBRyxlQUFlLEdBQUcsT0FBTyxDQUFDO2FBQzdDO1lBQ0QsU0FBUyxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxXQUFXLEVBQUUsZUFBZTtZQUM1QixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLE9BQU87WUFDakQsU0FBUyxFQUFFLEtBQUs7WUFDaEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLFNBQVMsRUFBRSxPQUFPO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQWU7UUFDN0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELG9CQUFvQixDQUFDLGFBQTBDO1FBQzdELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQ1QsZ0JBQXdCLEVBQ3hCLGFBQTBDO1FBRTFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUM5RCxRQUFRLEVBQUUsYUFBYSxDQUFDLFNBQVM7WUFDakMsU0FBUyxFQUFFLElBQUksYUFBYSxDQUFDLFVBQVUsRUFBRTtTQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQseUJBQXlCLENBQUMsZ0JBQXdCO1FBQ2hELElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUN0RSxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxNQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUM3QixhQUFhLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BFLE9BQU8sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO0lBQzlELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxvQkFBNEIsRUFBRSxpQkFBeUI7UUFDekUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO2FBQ3ZFLE1BQU0sQ0FBQztRQUVWLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1FBRTlELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxpQkFBaUIsY0FDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsTUFDN0IsWUFBWSxpQkFBaUIsR0FBRyxtQkFBbUIsT0FBTyxDQUFDO1FBRTNELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHO1lBQ3hCLEtBQUssRUFBRSxRQUFRO1lBQ2YsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUUsSUFBSSxvQkFBb0IsR0FBRyxpQkFBaUIsRUFBRTtTQUMxRCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRTtnQkFDakIsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFO29CQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztpQkFDekI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQ3pCO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDakUsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEtBQUssQ0FBQztTQUMzQztRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7O29IQTVLVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw4UkN6QnBDLHF1TEFvTEE7MkZEM0phLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSwwQkFBMEI7MEVBSzNCLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBR0csbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvaWNvbi9pY29uLmVudW0nO1xuaW1wb3J0IHsgT3JkZXJTdW1tYXJ5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvb3JkZXItc3VtbWFyeS9vcmRlci1zdW1tYXJ5Lm1vZGVsJztcbmltcG9ydCB7IEg1V2l0aEljb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vbGVjdWxlcy9oNS13aXRoLWljb24vaDUtd2l0aC1pY29uLm1vZGVsJztcbmltcG9ydCB7XG4gIEFkdmVydGlzZU1vZGFsTW9kZWwsXG4gIFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFxufSBmcm9tICcuL2FkdmVydGlzZS1tb2RhbC5tb2RlbCc7XG5pbXBvcnQgeyBJbnZvaWNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvaW52b2ljZS1saW5lLWl0ZW0vaW52b2ljZS1saW5lLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWw6IFBhcnRpYWw8QWR2ZXJ0aXNlTW9kYWxNb2RlbD47XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcG9zdGluZ0JvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBQYXJ0aWFsPEFkdmVydGlzZU1vZGFsTW9kZWw+XG4gID4oKTtcbiAgQE91dHB1dCgpIGtleXdvcmRTZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0OiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxbXTtcbiAgcHVibGljIG9yZGVyU3VtbWFyeTogT3JkZXJTdW1tYXJ5TW9kZWw7XG4gIHB1YmxpYyBzdWJUaXRsZTogSDVXaXRoSWNvbk1vZGVsO1xuICBwdWJsaWMgZnVuZHNJbmZvOiBINVdpdGhJY29uTW9kZWwgPSB7XG4gICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgIGljb25GaXJzdDogdHJ1ZSxcbiAgICB0ZXh0OiAnU3VmZmljaWVudCBGdW5kcycsXG4gICAgaWNvbkNvbG9yOiAnIzAwRDU2QidcbiAgfTtcbiAgcHVibGljIGNhbmNlbENvbnRlbnQ6IENvbmZpcm1hdGlvbk1vZGVsO1xuXG4gIHB1YmxpYyBwYXlQZXJDbGlja0JvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkJvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkNvdW50OiBudW1iZXIgPSAwO1xuICBwdWJsaWMgbW9kYWxUaXRsZTogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBpc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpc2VEZWZhdWx0VmFsdWVzKCk7XG4gICAgdGhpcy51cGRhdGVNb2RhbEhlYWRlcigpO1xuICAgIHRoaXMudXBkYXRlT3JkZXJTdW1tYXJ5KCk7XG4gICAgdGhpcy5jYW5jZWxDb250ZW50ID0ge1xuICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gYWJhbmRvbiB5b3VyIG9yZGVyPycsXG4gICAgICBjb250ZW50OlxuICAgICAgICAnQWxsIHNlbGVjdGlvbnMgd2lsbCBiZSBkZWxldGVkIGFuZCB5b3Ugd2lsbCBoYXZlIHRvIHN0YXJ0IG92ZXIuJyxcbiAgICAgIGJ0blByaW1hcnk6ICdDb250aW51ZSBPcmRlcicsXG4gICAgICBidG5TZWNvbmRhcnk6ICdBYmFuZG9uIE9yZGVyJ1xuICAgIH07XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJlZFBvc3RpbmdCb2FyZExpc3QgPSB0aGlzLm1vZGVsLmpvYkJvYXJkcztcbiAgfVxuXG4gIGluaXRpYWxpc2VEZWZhdWx0VmFsdWVzKCkge1xuICAgIHRoaXMuZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0ID0gdGhpcy5tb2RlbC5qb2JCb2FyZHM7XG4gICAgdGhpcy5qb2JDb3VudCA9IHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aDtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeSA9IHtcbiAgICAgIHRpdGxlOiAnWW91ciBPcmRlcicsXG4gICAgICBpbnZvaWNlQXJlYXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxpbmVJdGVtczogW10sXG4gICAgICAgICAgdGl0bGU6ICdQYXktUGVyLUNsaWNrJyxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdDb3N0IFByb2dyYW1hdGljIEJvYXJkcycsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGB4ICgke3RoaXMuam9iQ291bnR9KSBKb2JzID0gJDBgXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICB0aXRsZTogJ0pvYiBCb2FyZHMnLFxuICAgICAgICAgIHRvdGFsOiB7XG4gICAgICAgICAgICB0ZXh0TGVmdDogJ0Nvc3QgSm9iIEJvYXJkcycsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGB4ICgke3RoaXMuam9iQ291bnR9KSBKb2JzID0gJDBgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgdG90YWw6IHtcbiAgICAgICAgdGV4dExlZnQ6ICcnLFxuICAgICAgICB0ZXh0UmlnaHQ6ICckMCcsXG4gICAgICAgIGxhYmVsOiAnVG90YWw6J1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICB1cGRhdGVNb2RhbEhlYWRlcigpIHtcbiAgICBsZXQgc3ViVGl0bGVUb29sdGlwOiBzdHJpbmcgPSAnJztcbiAgICBsZXQgam9iTnVtYmVyID0gMTtcbiAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5mb3JFYWNoKGpvYiA9PiB7XG4gICAgICBzdWJUaXRsZVRvb2x0aXAgPSBzdWJUaXRsZVRvb2x0aXAgKyBgJHtqb2Iuam9iVGl0bGV9IFske2pvYi5pZH1dYDtcbiAgICAgIGlmIChqb2JOdW1iZXIgIT0gdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoKSB7XG4gICAgICAgIHN1YlRpdGxlVG9vbHRpcCA9IHN1YlRpdGxlVG9vbHRpcCArICc8L2JyPic7XG4gICAgICB9XG4gICAgICBqb2JOdW1iZXIrKztcbiAgICB9KTtcbiAgICB0aGlzLnN1YlRpdGxlID0ge1xuICAgICAgdG9vbHRpcEh0bWw6IHN1YlRpdGxlVG9vbHRpcCxcbiAgICAgIHRleHQ6IGAke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0gSm9ic2AsXG4gICAgICBpY29uRmlyc3Q6IGZhbHNlLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIHBsYWNlbWVudDogJ3JpZ2h0J1xuICAgIH07XG4gIH1cblxuICBvbktleXdvcmRTZWFyY2goa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkU2VhcmNoQ2hhbmdlLmVtaXQoa2V5d29yZCk7XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKHRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KHRleHQpO1xuICB9XG5cbiAgb25DbG9zZUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuY2xvc2VCdXR0b25DbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uUG9zdGluZ0JvYXJkQ2hhbmdlKHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCkge1xuICAgIHRoaXMudXBkYXRlT3JkZXJTdW1tYXJ5KCk7XG4gIH1cblxuICBhZGRMaW5lSXRlbShcbiAgICBpbnZvaWNlQXJlYUluZGV4OiBudW1iZXIsXG4gICAgc2VsZWN0ZWRCb2FyZDogUG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsXG4gICkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tpbnZvaWNlQXJlYUluZGV4XS5saW5lSXRlbXMucHVzaCh7XG4gICAgICB0ZXh0TGVmdDogc2VsZWN0ZWRCb2FyZC5ib2FyZE5hbWUsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtzZWxlY3RlZEJvYXJkLmJvYXJkUHJpY2V9YFxuICAgIH0pO1xuICB9XG5cbiAgY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbChpbnZvaWNlQXJlYUluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGxldCBpbnZvaWNlQXJlYVRvdGFsID0gMDtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbaW52b2ljZUFyZWFJbmRleF0ubGluZUl0ZW1zLmZvckVhY2gobGkgPT4ge1xuICAgICAgaW52b2ljZUFyZWFUb3RhbCA9IGludm9pY2VBcmVhVG90YWwgKyArbGkudGV4dFJpZ2h0LnJlcGxhY2UoJyQnLCAnJyk7XG4gICAgfSk7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLnRvdGFsLnRleHRSaWdodCA9IGB4ICgke1xuICAgICAgdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoXG4gICAgfSkgSm9icyA9ICQke2ludm9pY2VBcmVhVG90YWwgKiB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGh9YDtcbiAgICByZXR1cm4gaW52b2ljZUFyZWFUb3RhbCAqIHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aDtcbiAgfVxuXG4gIGNhbGN1bGF0ZU9yZGVyVG90YWwocGF5UGVyQ2xpY2tBcmVhVG90YWw6IG51bWJlciwgam9iQm9hcmRBcmVhVG90YWw6IG51bWJlcikge1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzU2VsZWN0ZWQpXG4gICAgICAubGVuZ3RoO1xuXG4gICAgY29uc3Qgam9iVG9BZHZlcnRpc2VDb3VudCA9IHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aDtcblxuICAgIGNvbnN0IG9yZGVyU3VtbWFyeVRleHQgPSBgKCR7c2VsZWN0ZWRKb2JCb2FyZHN9KSBCb2FyZHMgeCAke1xuICAgICAgdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoXG4gICAgfSBKb2JzID0gKCR7c2VsZWN0ZWRKb2JCb2FyZHMgKiBqb2JUb0FkdmVydGlzZUNvdW50fSkgQWRzYDtcblxuICAgIHRoaXMub3JkZXJTdW1tYXJ5LnRvdGFsID0ge1xuICAgICAgbGFiZWw6ICdUb3RhbDonLFxuICAgICAgdGV4dExlZnQ6IG9yZGVyU3VtbWFyeVRleHQsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtwYXlQZXJDbGlja0FyZWFUb3RhbCArIGpvYkJvYXJkQXJlYVRvdGFsfWBcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlT3JkZXJTdW1tYXJ5KCkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1swXS5saW5lSXRlbXMgPSBbXTtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbMV0ubGluZUl0ZW1zID0gW107XG4gICAgdGhpcy5tb2RlbC5qb2JCb2FyZHMuZm9yRWFjaChqYiA9PiB7XG4gICAgICBpZiAoamIuaXNTZWxlY3RlZCkge1xuICAgICAgICBpZiAoamIuaXNQYXlQZXJDbGljaykge1xuICAgICAgICAgIHRoaXMuYWRkTGluZUl0ZW0oMCwgamIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWRkTGluZUl0ZW0oMSwgamIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBwYXlQZXJDbGlja0FyZWFUb3RhbCA9IHRoaXMuY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbCgwKTtcbiAgICBjb25zdCBqb2JCb2FyZEFyZWFUb3RhbCA9IHRoaXMuY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbCgxKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU9yZGVyVG90YWwocGF5UGVyQ2xpY2tBcmVhVG90YWwsIGpvYkJvYXJkQXJlYVRvdGFsKTtcbiAgICBpZiAodGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzU2VsZWN0ZWQpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5pc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMucG9zdGluZ0JvYXJkQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XG4gIH1cbn1cbiIsIjxzeW1waG9ueS10d28tY29sdW1uLW1vZGFsLXRlbXBsYXRlICpuZ0lmPVwiIW1vZGVsLm5hdmlnYXRpb24uc2hvd0NhbmNlbFwiPlxuICA8c3ltcGhvbnktaDRcbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvbiAmJiAhbW9kZWwuaXNMb2FkaW5nXCJcbiAgICBzZngtbW9kYWwtdGl0bGVcbiAgICA+U2VsZWN0IFlvdXIgSm9iIEFkIEJ1eXM8L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWg0ICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIiBzZngtbW9kYWwtdGl0bGVcbiAgICA+UmV2aWV3IHlvdSBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dDb25maXJtYXRpb25cIiBzZngtbW9kYWwtdGl0bGVcbiAgICA+Q29uZmlybWF0aW9uIG9mIHlvdXIgSm9iIEFkIEJ1eXM8L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWg0ICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93UHJvY2Vzc2luZ1wiIHNmeC1tb2RhbC10aXRsZVxuICAgID5Qcm9jZXNzaW5nIE9yZGVyLi4uPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLmlzTG9hZGluZ1wiIHNmeC1tb2RhbC10aXRsZVxuICAgID5Mb2FkaW5nIEpvYiBCb2FyZHMuLi48L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWljb25cbiAgICBzZngtY2xvc2UtYnV0dG9uXG4gICAgW2ljb25dPVwiJ3NpLWNsb3NlLW1vZGFsJ1wiXG4gICAgKGNsaWNrZWQpPVwib25DbG9zZUJ1dHRvbkNsaWNrKClcIlxuICA+PC9zeW1waG9ueS1pY29uPlxuICA8c3ltcGhvbnktaDUtd2l0aC1pY29uIHNmeC1tb2RhbC1zdWJ0aXRsZSBbbW9kZWxdPVwic3ViVGl0bGVcIj5cbiAgPC9zeW1waG9ueS1oNS13aXRoLWljb24+XG5cbiAgPHN5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZVxuICAgICpuZ0lmPVwiIW1vZGVsLmlzTG9hZGluZyAmJiBtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb25cIlxuICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgPlxuICAgIDxzeW1waG9ueS1pbnB1dC10ZXh0XG4gICAgICBzZngtbGVmdC1jb2wtaGVhZGVyXG4gICAgICBbbm9NYXJnaW5dPVwidHJ1ZVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NlYXJjaCBBZCBCb2FyZHMnXCJcbiAgICAgIFtpY29uXT1cIidzaS1zZWFyY2gtbmV3J1wiXG4gICAgICAodGV4dENoYW5nZSk9XCJvbktleXdvcmRTZWFyY2goJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvc3ltcGhvbnktaW5wdXQtdGV4dD5cbiAgICA8ZGl2IGNsYXNzPVwicmlnaHQtY29sLWhlYWRlci1pbm5lclwiIHNmeC1yaWdodC1jb2wtaGVhZGVyPlxuICAgICAgPHN5bXBob255LWg1LXdpdGgtaWNvblxuICAgICAgICBzZngtcmlnaHQtY29sLWhlYWRlclxuICAgICAgICAqbmdJZj1cIm1vZGVsLnNob3dGdW5kc1wiXG4gICAgICAgIGNsYXNzPVwicHVsbC1yaWdodFwiXG4gICAgICAgIFttb2RlbF09XCJmdW5kc0luZm9cIlxuICAgICAgPjwvc3ltcGhvbnktaDUtd2l0aC1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgc2Z4LWxlZnQtY29sdW1uIGNsYXNzPVwicG9zdGluZy1ib2FyZHMgc2Z4LXByLTEwXCI+XG4gICAgICA8c3ltcGhvbnktYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdFxuICAgICAgICBbbW9kZWxdPVwibW9kZWwuam9iQm9hcmRzXCJcbiAgICAgICAgKHBvc3RpbmdCb2FyZENoYW5nZSk9XCJvblBvc3RpbmdCb2FyZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgID48L3N5bXBob255LWFkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWxpc3Q+XG4gICAgPC9kaXY+XG5cbiAgICA8c3ltcGhvbnktb3JkZXItc3VtbWFyeVxuICAgICAgc2Z4LXJpZ2h0LWNvbHVtblxuICAgICAgW21vZGVsXT1cIm9yZGVyU3VtbWFyeVwiXG4gICAgPjwvc3ltcGhvbnktb3JkZXItc3VtbWFyeT5cbiAgPC9zeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGU+XG5cbiAgPHN5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZVxuICAgICpuZ0lmPVwiIW1vZGVsLmlzTG9hZGluZyAmJiBtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICA+XG4gICAgPGRpdiBzZngtbGVmdC1jb2x1bW4gY2xhc3M9XCJwb3N0aW5nLWJvYXJkc1wiPlxuICAgICAgPHN5bXBob255LWFkdmVydGlzZS1vcmRlci1yZXZpZXc+PC9zeW1waG9ueS1hZHZlcnRpc2Utb3JkZXItcmV2aWV3PlxuICAgIDwvZGl2PlxuXG4gICAgPHN5bXBob255LW9yZGVyLXN1bW1hcnlcbiAgICAgIHNmeC1yaWdodC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxzeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGVcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gID5cbiAgICA8c3ltcGhvbnktb3JkZXItc3VtbWFyeVxuICAgICAgc2Z4LWxlZnQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuICAgIDxkaXYgc2Z4LXJpZ2h0LWNvbHVtbiBjbGFzcz1cInBvc3RpbmctYm9hcmRzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RhZ2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJveCBib3VuY2UtN1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21wbGV0ZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxzeW1waG9ueS1oMj5Zb3VyIG9yZGVyIGlzIGNvbXBsZXRlPC9zeW1waG9ueS1oMj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWNjZXNzLWljb24tc3BhY2luZ1wiPlxuICAgICAgICAgICAgICA8c3ltcGhvbnktaWNvblxuICAgICAgICAgICAgICAgIFtpY29uXT1cIidzaS1jb25maXJtYXRpb24nXCJcbiAgICAgICAgICAgICAgICBbaWNvbkNvbG9yXT1cIicjMDBENTZCJ1wiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiJzUwcHgnXCJcbiAgICAgICAgICAgICAgPjwvc3ltcGhvbnktaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd1Byb2Nlc3NpbmdcIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgICBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHNmeC1wLTMwXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzaW5nLWNvbnRhaW5lclwiPlxuICAgICAgPHN5bXBob255LXBhcmFncmFwaFxuICAgICAgICA+PGI+U21hc2hGbHlYPC9iPiBpcyBzdWJtaXR0aW5nIHlvdXIgb3JkZXIgdG8geW91ciBzZWxlY3RlZCBqb2IgYm9hcmRzLlxuICAgICAgICBTb21lIG9yZGVycyBoYXBwZW4gaW1tZWRpYXRlbHksIHdoaWxlIG90aGVycyB0YWtlIGEgbGl0dGxlIG1vcmUgdGltZS5cbiAgICAgICAgQ2hlY2sgeW91ciBvcmRlciBzdGF0dXMgaWYgeW91IGRvbid0IHJlY2lldmUgYSBjb25maXJtYXRpb24gaW4gdGhlIG5leHRcbiAgICAgICAgMjRob3Vycy48L3N5bXBob255LXBhcmFncmFwaFxuICAgICAgPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZngtbXQtODBcIj5cbiAgICAgIDxzeW1waG9ueS1zZngtbG9hZGVyPjwvc3ltcGhvbnktc2Z4LWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImxvYWRlci1jb250YWluZXJcIiAqbmdJZj1cIm1vZGVsLmlzTG9hZGluZ1wiIHNmeC1tb2RhbC1ib2R5LWFyZWE+XG4gICAgPHN5bXBob255LXNmeC1sb2FkZXI+PC9zeW1waG9ueS1zZngtbG9hZGVyPlxuICA8L2Rpdj5cblxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb25cIlxuICAgIHNmeC1idXR0b24tc2Vjb25kYXJ5XG4gICAgW3RleHRdPVwiJ0NhbmNlbCdcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uXCJcbiAgICBzZngtYnV0dG9uLXByaW1hcnlcbiAgICBbdGV4dF09XCInUmV2aWV3IE9yZGVyJ1wiXG4gICAgW2Rpc2FibGVkXT1cImlzSm9iQm9hcmROZXh0QnV0dG9uRGlzYWJsZWRcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCJcbiAgICBzZngtYnV0dG9uLWJhY2tcbiAgICBbdGV4dF09XCInRWRpdCBPcmRlcidcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tc2Vjb25kYXJ5XG4gICAgW3RleHRdPVwiJ0NhbmNlbCdcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tcHJpbWFyeVxuICAgIFt0ZXh0XT1cIidCdXknXCJcbiAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiXG4gICAgc2Z4LWJ1dHRvbi1wcmltYXJ5XG4gICAgW3RleHRdPVwiJ0ZpbmlzaCAmIENsb3NlJ1wiXG4gICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbjwvc3ltcGhvbnktdHdvLWNvbHVtbi1tb2RhbC10ZW1wbGF0ZT5cbjxzeW1waG9ueS1jb25maXJtYXRpb24tbW9kYWxcbiAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0NhbmNlbFwiXG4gIChidXR0b25DbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gIChjbG9zZUJ1dHRvbkNsaWNrZWQpPVwib25DbG9zZUJ1dHRvbkNsaWNrKClcIlxuICBbbW9kZWxdPVwiY2FuY2VsQ29udGVudFwiXG4+XG48L3N5bXBob255LWNvbmZpcm1hdGlvbi1tb2RhbD5cbiJdfQ==
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFldEQsTUFBTSxPQUFPLHVCQUF1QjtJQTJCbEM7UUF4QlUsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzNDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBRTVDLENBQUM7UUFDTSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS3BELGNBQVMsR0FBb0I7WUFDbEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ3hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO1FBR0ssc0JBQWlCLEdBQW1CLEVBQUUsQ0FBQztRQUN2QyxjQUFTLEdBQW1CLEVBQUUsQ0FBQztRQUMvQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxFQUFFLENBQUM7SUFHaEIsQ0FBQztJQUVoQixR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dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvaWNvbi9pY29uLmVudW0nO1xuaW1wb3J0IHsgT3JkZXJTdW1tYXJ5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvb3JkZXItc3VtbWFyeS9vcmRlci1zdW1tYXJ5Lm1vZGVsJztcbmltcG9ydCB7IEg1V2l0aEljb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vbGVjdWxlcy9oNS13aXRoLWljb24vaDUtd2l0aC1pY29uLm1vZGVsJztcbmltcG9ydCB7XG4gIEFkdmVydGlzZU1vZGFsTW9kZWwsXG4gIFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFxufSBmcm9tICcuL2FkdmVydGlzZS1tb2RhbC5tb2RlbCc7XG5pbXBvcnQgeyBJbnZvaWNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvaW52b2ljZS1saW5lLWl0ZW0vaW52b2ljZS1saW5lLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9vcmdhbmlzbXMvY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWw6IFBhcnRpYWw8QWR2ZXJ0aXNlTW9kYWxNb2RlbD47XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcG9zdGluZ0JvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBQYXJ0aWFsPEFkdmVydGlzZU1vZGFsTW9kZWw+XG4gID4oKTtcbiAgQE91dHB1dCgpIGtleXdvcmRTZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0OiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxbXTtcbiAgcHVibGljIG9yZGVyU3VtbWFyeTogT3JkZXJTdW1tYXJ5TW9kZWw7XG4gIHB1YmxpYyBzdWJUaXRsZTogSDVXaXRoSWNvbk1vZGVsO1xuICBwdWJsaWMgZnVuZHNJbmZvOiBINVdpdGhJY29uTW9kZWwgPSB7XG4gICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgIGljb25GaXJzdDogdHJ1ZSxcbiAgICB0ZXh0OiAnU3VmZmljaWVudCBGdW5kcycsXG4gICAgaWNvbkNvbG9yOiAnIzAwRDU2QidcbiAgfTtcbiAgcHVibGljIGNhbmNlbENvbnRlbnQ6IENvbmZpcm1hdGlvbk1vZGVsO1xuXG4gIHB1YmxpYyBwYXlQZXJDbGlja0JvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkJvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkNvdW50OiBudW1iZXIgPSAwO1xuICBwdWJsaWMgbW9kYWxUaXRsZTogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBpc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpc2VEZWZhdWx0VmFsdWVzKCk7XG4gICAgdGhpcy51cGRhdGVNb2RhbEhlYWRlcigpO1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKFxuICAgICAgKGpiKSA9PiBqYi5pc1NlbGVjdGVkXG4gICAgKS5sZW5ndGg7XG4gICAgaWYgKHNlbGVjdGVkSm9iQm9hcmRzID4gMCkge1xuICAgICAgdGhpcy51cGRhdGVPcmRlclN1bW1hcnkoKTtcbiAgICB9XG4gICAgdGhpcy5jYW5jZWxDb250ZW50ID0ge1xuICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gYWJhbmRvbiB5b3VyIG9yZGVyPycsXG4gICAgICBjb250ZW50OlxuICAgICAgICAnQWxsIHNlbGVjdGlvbnMgd2lsbCBiZSBkZWxldGVkIGFuZCB5b3Ugd2lsbCBoYXZlIHRvIHN0YXJ0IG92ZXIuJyxcbiAgICAgIGJ0blByaW1hcnk6ICdDb250aW51ZSBPcmRlcicsXG4gICAgICBidG5TZWNvbmRhcnk6ICdBYmFuZG9uIE9yZGVyJyxcbiAgICB9O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0ID0gdGhpcy5tb2RlbC5qb2JCb2FyZHM7XG4gIH1cblxuICBpbml0aWFsaXNlRGVmYXVsdFZhbHVlcygpIHtcbiAgICB0aGlzLmZpbHRlcmVkUG9zdGluZ0JvYXJkTGlzdCA9IHRoaXMubW9kZWwuam9iQm9hcmRzO1xuICAgIHRoaXMuam9iQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkgPSB7XG4gICAgICB0aXRsZTogJ1lvdXIgT3JkZXInLFxuICAgICAgaW52b2ljZUFyZWFzOiBbXSxcbiAgICAgIHRvdGFsOiB7fSBhcyBhbnksXG4gICAgfTsgXG4gIH1cblxuICB1cGRhdGVNb2RhbEhlYWRlcigpIHtcbiAgICBsZXQgc3ViVGl0bGVUb29sdGlwOiBzdHJpbmcgPSAnJztcbiAgICBsZXQgam9iTnVtYmVyID0gMTtcbiAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5mb3JFYWNoKGpvYiA9PiB7XG4gICAgICBzdWJUaXRsZVRvb2x0aXAgPSBzdWJUaXRsZVRvb2x0aXAgKyBgJHtqb2Iuam9iVGl0bGV9IFske2pvYi5pZH1dYDtcbiAgICAgIGlmIChqb2JOdW1iZXIgIT0gdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoKSB7XG4gICAgICAgIHN1YlRpdGxlVG9vbHRpcCA9IHN1YlRpdGxlVG9vbHRpcCArICc8L2JyPic7XG4gICAgICB9XG4gICAgICBqb2JOdW1iZXIrKztcbiAgICB9KTtcbiAgICB0aGlzLnN1YlRpdGxlID0ge1xuICAgICAgdG9vbHRpcEh0bWw6IHN1YlRpdGxlVG9vbHRpcCxcbiAgICAgIHRleHQ6IGAke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0gSm9ic2AsXG4gICAgICBpY29uRmlyc3Q6IGZhbHNlLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIHBsYWNlbWVudDogJ3JpZ2h0J1xuICAgIH07XG4gIH1cblxuICBvbktleXdvcmRTZWFyY2goa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkU2VhcmNoQ2hhbmdlLmVtaXQoa2V5d29yZCk7XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKHRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KHRleHQpO1xuICB9XG5cbiAgb25DbG9zZUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuY2xvc2VCdXR0b25DbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uUG9zdGluZ0JvYXJkQ2hhbmdlKHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCkge1xuICAgIHRoaXMudXBkYXRlT3JkZXJTdW1tYXJ5KCk7XG4gIH1cblxuICBhZGRMaW5lSXRlbShcbiAgICBpbnZvaWNlQXJlYUluZGV4OiBudW1iZXIsXG4gICAgc2VsZWN0ZWRCb2FyZDogUG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsXG4gICkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tpbnZvaWNlQXJlYUluZGV4XS5saW5lSXRlbXMucHVzaCh7XG4gICAgICB0ZXh0TGVmdDogc2VsZWN0ZWRCb2FyZC5ib2FyZE5hbWUsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtzZWxlY3RlZEJvYXJkLmJvYXJkUHJpY2V9YFxuICAgIH0pO1xuICB9XG5cbiAgY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbChpbnZvaWNlQXJlYUluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGxldCBpbnZvaWNlQXJlYVRvdGFsID0gMDtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbaW52b2ljZUFyZWFJbmRleF0ubGluZUl0ZW1zLmZvckVhY2gobGkgPT4ge1xuICAgICAgaW52b2ljZUFyZWFUb3RhbCA9IGludm9pY2VBcmVhVG90YWwgKyArbGkudGV4dFJpZ2h0LnJlcGxhY2UoJyQnLCAnJyk7XG4gICAgfSk7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLnN1YlRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsICogdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RofWA7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLnRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsfWA7XG4gICAgcmV0dXJuIGludm9pY2VBcmVhVG90YWwgKiB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gIH1cblxuICBjYWxjdWxhdGVPcmRlclRvdGFsKHBheVBlckNsaWNrQXJlYVRvdGFsOiBudW1iZXIsIGpvYkJvYXJkQXJlYVRvdGFsOiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcblxuICAgIGNvbnN0IGpvYlRvQWR2ZXJ0aXNlQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG5cbiAgICBjb25zdCBvcmRlclN1bW1hcnlUZXh0ID0gYCgke3NlbGVjdGVkSm9iQm9hcmRzfSkgQm9hcmRzIHggJHtcbiAgICAgIHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aFxuICAgIH0gSm9icyA9ICgke3NlbGVjdGVkSm9iQm9hcmRzICogam9iVG9BZHZlcnRpc2VDb3VudH0pIEFkc2A7XG5cbiAgICB0aGlzLm9yZGVyU3VtbWFyeS50b3RhbCA9IHtcbiAgICAgIGxhYmVsOiAnQ3VycmVudCBUb3RhbCcsXG4gICAgICB0ZXh0TGVmdDogJycsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtwYXlQZXJDbGlja0FyZWFUb3RhbCArIGpvYkJvYXJkQXJlYVRvdGFsfWBcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlT3JkZXJTdW1tYXJ5KCkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5ID0ge1xuICAgICAgdGl0bGU6ICdZb3VyIE9yZGVyJyxcbiAgICAgIGludm9pY2VBcmVhczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzLCBTdWJ0b3RhbCBQZXIgSm9iOicsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGhcbiAgICAgICAgICB9KSBKb2JzIFNlbGVjdGVkYFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdKb2IgQm9hcmRzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRvdGFsOiB7XG4gICAgICAgICAgICB0ZXh0TGVmdDogJ0R1cmF0aW9uIEpvYiBCb2FyZHMsIFN1YnRvdGFsIFBlciBKb2I6JyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGhcbiAgICAgICAgICB9KSBKb2JzIFNlbGVjdGVkYFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgdG90YWw6IHtcbiAgICAgICAgdGV4dExlZnQ6ICcnLFxuICAgICAgICB0ZXh0UmlnaHQ6ICcnLFxuICAgICAgICBsYWJlbDogJ0N1cnJlbnQgVG90YWwnXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5tb2RlbC5qb2JCb2FyZHMuZm9yRWFjaChqYiA9PiB7XG4gICAgICBpZiAoamIuaXNTZWxlY3RlZCkge1xuICAgICAgICBpZiAoamIuaXNQYXlQZXJDbGljaykge1xuICAgICAgICAgIHRoaXMuYWRkTGluZUl0ZW0oMCwgamIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWRkTGluZUl0ZW0oMSwgamIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBwYXlQZXJDbGlja0FyZWFUb3RhbCA9IHRoaXMuY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbCgwKTtcbiAgICBjb25zdCBqb2JCb2FyZEFyZWFUb3RhbCA9IHRoaXMuY2FsY3VsYXRlSW52b2ljZUFyZWFUb3RhbCgxKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU9yZGVyVG90YWwocGF5UGVyQ2xpY2tBcmVhVG90YWwsIGpvYkJvYXJkQXJlYVRvdGFsKTtcbiAgICBpZiAodGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzU2VsZWN0ZWQpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5pc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMucG9zdGluZ0JvYXJkQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XG4gIH1cblxufVxuIiwiPHN5bXBob255LXR3by1jb2x1bW4tbW9kYWwtdGVtcGxhdGUgKm5nSWY9XCIhbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCI+XG4gIDxzeW1waG9ueS1oNFxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uICYmICFtb2RlbC5pc0xvYWRpbmdcIlxuICAgIHNmeC1tb2RhbC10aXRsZVxuICAgID5TZWxlY3QgWW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiIHNmeC1tb2RhbC10aXRsZVxuICAgID5SZXZpZXcgeW91IEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiIHNmeC1tb2RhbC10aXRsZVxuICAgID5Db25maXJtYXRpb24gb2YgeW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dQcm9jZXNzaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlByb2Nlc3NpbmcgT3JkZXIuLi48L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWg0ICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPkxvYWRpbmcgSm9iIEJvYXJkcy4uLjwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaWNvblxuICAgIHNmeC1jbG9zZS1idXR0b25cbiAgICBbaWNvbl09XCInc2ktY2xvc2UtbW9kYWwnXCJcbiAgICAoY2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gID48L3N5bXBob255LWljb24+XG4gIDxzeW1waG9ueS1oNS13aXRoLWljb24gc2Z4LW1vZGFsLXN1YnRpdGxlIFttb2RlbF09XCJzdWJUaXRsZVwiPlxuICA8L3N5bXBob255LWg1LXdpdGgtaWNvbj5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICA+XG4gICAgPHN5bXBob255LWlucHV0LXRleHRcbiAgICAgIHNmeC1sZWZ0LWNvbC1oZWFkZXJcbiAgICAgIFtub01hcmdpbl09XCJ0cnVlXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VhcmNoIEFkIEJvYXJkcydcIlxuICAgICAgW2ljb25dPVwiJ3NpLXNlYXJjaC1uZXcnXCJcbiAgICAgICh0ZXh0Q2hhbmdlKT1cIm9uS2V5d29yZFNlYXJjaCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9zeW1waG9ueS1pbnB1dC10ZXh0PlxuICAgIDxkaXYgY2xhc3M9XCJyaWdodC1jb2wtaGVhZGVyLWlubmVyXCIgc2Z4LXJpZ2h0LWNvbC1oZWFkZXI+XG4gICAgICA8c3ltcGhvbnktaDUtd2l0aC1pY29uXG4gICAgICAgIHNmeC1yaWdodC1jb2wtaGVhZGVyXG4gICAgICAgICpuZ0lmPVwibW9kZWwuc2hvd0Z1bmRzXCJcbiAgICAgICAgY2xhc3M9XCJwdWxsLXJpZ2h0XCJcbiAgICAgICAgW21vZGVsXT1cImZ1bmRzSW5mb1wiXG4gICAgICA+PC9zeW1waG9ueS1oNS13aXRoLWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzZngtbGVmdC1jb2x1bW4gY2xhc3M9XCJwb3N0aW5nLWJvYXJkcyBzZngtcHItMTBcIj5cbiAgICAgIDxzeW1waG9ueS1hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0XG4gICAgICAgIFttb2RlbF09XCJtb2RlbC5qb2JCb2FyZHNcIlxuICAgICAgICAocG9zdGluZ0JvYXJkQ2hhbmdlKT1cIm9uUG9zdGluZ0JvYXJkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvc3ltcGhvbnktYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdD5cbiAgICA8L2Rpdj5cblxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtcmlnaHQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gID5cbiAgICA8ZGl2IHNmeC1sZWZ0LWNvbHVtbiBjbGFzcz1cInBvc3RpbmctYm9hcmRzXCI+XG4gICAgICA8c3ltcGhvbnktYWR2ZXJ0aXNlLW9yZGVyLXJldmlldz48L3N5bXBob255LWFkdmVydGlzZS1vcmRlci1yZXZpZXc+XG4gICAgPC9kaXY+XG5cbiAgICA8c3ltcGhvbnktb3JkZXItc3VtbWFyeVxuICAgICAgc2Z4LXJpZ2h0LWNvbHVtblxuICAgICAgW21vZGVsXT1cIm9yZGVyU3VtbWFyeVwiXG4gICAgPjwvc3ltcGhvbnktb3JkZXItc3VtbWFyeT5cbiAgPC9zeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGU+XG5cbiAgPHN5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZVxuICAgICpuZ0lmPVwiIW1vZGVsLmlzTG9hZGluZyAmJiBtb2RlbC5uYXZpZ2F0aW9uLnNob3dDb25maXJtYXRpb25cIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgPlxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtbGVmdC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG4gICAgPGRpdiBzZngtcmlnaHQtY29sdW1uIGNsYXNzPVwicG9zdGluZy1ib2FyZHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGFnZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm94IGJvdW5jZS03XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbXBsZXRlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHN5bXBob255LWgyPllvdXIgb3JkZXIgaXMgY29tcGxldGU8L3N5bXBob255LWgyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Y2Nlc3MtaWNvbi1zcGFjaW5nXCI+XG4gICAgICAgICAgICAgIDxzeW1waG9ueS1pY29uXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiJ3NpLWNvbmZpcm1hdGlvbidcIlxuICAgICAgICAgICAgICAgIFtpY29uQ29sb3JdPVwiJyMwMEQ1NkInXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCInNTBweCdcIlxuICAgICAgICAgICAgICA+PC9zeW1waG9ueS1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxkaXZcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93UHJvY2Vzc2luZ1wiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICAgIGNsYXNzPVwicG9zdGluZy1ib2FyZHMgc2Z4LXAtMzBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInByb2Nlc3NpbmctY29udGFpbmVyXCI+XG4gICAgICA8c3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICAgID48Yj5TbWFzaEZseVg8L2I+IGlzIHN1Ym1pdHRpbmcgeW91ciBvcmRlciB0byB5b3VyIHNlbGVjdGVkIGpvYiBib2FyZHMuXG4gICAgICAgIFNvbWUgb3JkZXJzIGhhcHBlbiBpbW1lZGlhdGVseSwgd2hpbGUgb3RoZXJzIHRha2UgYSBsaXR0bGUgbW9yZSB0aW1lLlxuICAgICAgICBDaGVjayB5b3VyIG9yZGVyIHN0YXR1cyBpZiB5b3UgZG9uJ3QgcmVjaWV2ZSBhIGNvbmZpcm1hdGlvbiBpbiB0aGUgbmV4dFxuICAgICAgICAyNGhvdXJzLjwvc3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICA+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNmeC1tdC04MFwiPlxuICAgICAgPHN5bXBob255LXNmeC1sb2FkZXI+PC9zeW1waG9ueS1zZngtbG9hZGVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibG9hZGVyLWNvbnRhaW5lclwiICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLWJvZHktYXJlYT5cbiAgICA8c3ltcGhvbnktc2Z4LWxvYWRlcj48L3N5bXBob255LXNmeC1sb2FkZXI+XG4gIDwvZGl2PlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb25cIlxuICAgIHNmeC1idXR0b24tcHJpbWFyeVxuICAgIFt0ZXh0XT1cIidSZXZpZXcgT3JkZXInXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tYmFja1xuICAgIFt0ZXh0XT1cIidFZGl0IE9yZGVyJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1wcmltYXJ5XG4gICAgW3RleHRdPVwiJ0J1eSdcIlxuICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCJcbiAgICBzZngtYnV0dG9uLXByaW1hcnlcbiAgICBbdGV4dF09XCInRmluaXNoICYgQ2xvc2UnXCJcbiAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuPC9zeW1waG9ueS10d28tY29sdW1uLW1vZGFsLXRlbXBsYXRlPlxuPHN5bXBob255LWNvbmZpcm1hdGlvbi1tb2RhbFxuICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCJcbiAgKGJ1dHRvbkNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgKGNsb3NlQnV0dG9uQ2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gIFttb2RlbF09XCJjYW5jZWxDb250ZW50XCJcbj5cbjwvc3ltcGhvbnktY29uZmlybWF0aW9uLW1vZGFsPlxuIl19
@@ -3064,7 +3064,7 @@ class UploadResumeModalComponent {
3064
3064
  this.docTypeDropdowChange.emit(selectedModel.value);
3065
3065
  }
3066
3066
  onResumeCheckSelect(updateResumeCheckEvent) {
3067
- this.updateResumeChecked.emit(updateResumeCheckEvent.label);
3067
+ this.updateResumeChecked.emit(updateResumeCheckEvent);
3068
3068
  }
3069
3069
  }
3070
3070
  UploadResumeModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: UploadResumeModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -5052,15 +5052,15 @@ class InvoiceAreaComponent {
5052
5052
  constructor() {
5053
5053
  this.model = {
5054
5054
  lineItems: [],
5055
- title: '',
5055
+ jobsToAdvertise: '',
5056
5056
  };
5057
5057
  }
5058
5058
  }
5059
5059
  InvoiceAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5060
- InvoiceAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: InvoiceAreaComponent, selector: "symphony-invoice-area", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"job-type-summary sfx-px-20\">\n <div class=\"job-type-title\">\n <symphony-h5 [text]=\"model.title\"></symphony-h5>\n </div>\n <ul class=\"invoice-list list-unstyled sfx-mb-20\">\n <li class=\"invoice-line-item\" *ngFor=\"let lineItem of model.lineItems\">\n <symphony-invoice-line-item\n [model]=\"lineItem\"\n ></symphony-invoice-line-item>\n </li>\n </ul>\n <symphony-invoice-line-item\n [model]=\"model.total\"\n ></symphony-invoice-line-item>\n</div>\n", styles: [".job-type-summary{border-bottom:1px solid #d9d9d9}\n"], components: [{ type: H5Component, selector: "symphony-h5", inputs: ["text", "isSecondary"] }, { type: InvoiceLineItemComponent, selector: "symphony-invoice-line-item", inputs: ["model"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
5060
+ InvoiceAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: InvoiceAreaComponent, selector: "symphony-invoice-area", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"job-type-summary sfx-px-20\">\n <ul class=\"invoice-list list-unstyled sfx-mb-20\">\n <li class=\"invoice-line-item\" *ngFor=\"let lineItem of model.lineItems\">\n <symphony-invoice-line-item\n [model]=\"lineItem\"\n ></symphony-invoice-line-item>\n </li>\n </ul>\n <div class=\"sfx-mb-20\">\n <symphony-invoice-line-item\n [model]=\"model.total\"\n ></symphony-invoice-line-item>\n </div>\n <span>{{model.jobsToAdvertise}}</span>\n <div class=\"job-bold-txt\">\n <symphony-invoice-line-item\n [model]=\"model.subTotal\"\n ></symphony-invoice-line-item>\n </div>\n</div>", styles: [".job-type-summary{border-bottom:1px solid #d9d9d9;padding-bottom:.3rem}.job-bold-txt .body-copy-primary{font-family:neuzeit_groteskbold,sans-serif}\n"], components: [{ type: InvoiceLineItemComponent, selector: "symphony-invoice-line-item", inputs: ["model"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.None });
5061
5061
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InvoiceAreaComponent, decorators: [{
5062
5062
  type: Component,
5063
- args: [{ selector: 'symphony-invoice-area', template: "<div class=\"job-type-summary sfx-px-20\">\n <div class=\"job-type-title\">\n <symphony-h5 [text]=\"model.title\"></symphony-h5>\n </div>\n <ul class=\"invoice-list list-unstyled sfx-mb-20\">\n <li class=\"invoice-line-item\" *ngFor=\"let lineItem of model.lineItems\">\n <symphony-invoice-line-item\n [model]=\"lineItem\"\n ></symphony-invoice-line-item>\n </li>\n </ul>\n <symphony-invoice-line-item\n [model]=\"model.total\"\n ></symphony-invoice-line-item>\n</div>\n", styles: [".job-type-summary{border-bottom:1px solid #d9d9d9}\n"] }]
5063
+ args: [{ selector: 'symphony-invoice-area', encapsulation: ViewEncapsulation.None, template: "<div class=\"job-type-summary sfx-px-20\">\n <ul class=\"invoice-list list-unstyled sfx-mb-20\">\n <li class=\"invoice-line-item\" *ngFor=\"let lineItem of model.lineItems\">\n <symphony-invoice-line-item\n [model]=\"lineItem\"\n ></symphony-invoice-line-item>\n </li>\n </ul>\n <div class=\"sfx-mb-20\">\n <symphony-invoice-line-item\n [model]=\"model.total\"\n ></symphony-invoice-line-item>\n </div>\n <span>{{model.jobsToAdvertise}}</span>\n <div class=\"job-bold-txt\">\n <symphony-invoice-line-item\n [model]=\"model.subTotal\"\n ></symphony-invoice-line-item>\n </div>\n</div>", styles: [".job-type-summary{border-bottom:1px solid #d9d9d9;padding-bottom:.3rem}.job-bold-txt .body-copy-primary{font-family:neuzeit_groteskbold,sans-serif}\n"] }]
5064
5064
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
5065
5065
  type: Input
5066
5066
  }] } });
@@ -5074,10 +5074,10 @@ class OrderSummaryComponent {
5074
5074
  }
5075
5075
  }
5076
5076
  OrderSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrderSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5077
- OrderSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: OrderSummaryComponent, selector: "symphony-order-summary", inputs: { model: "model" }, ngImport: i0, template: "<section class=\"order-summary\">\n <symphony-h4>{{ model.title }}</symphony-h4>\n <ul class=\"invoice-area-list list-unstyled sfx-mb-20\">\n <li\n class=\"invoice-area-item\"\n *ngFor=\"let invoiceArea of model.invoiceAreas\"\n >\n <symphony-invoice-area [model]=\"invoiceArea\"></symphony-invoice-area>\n </li>\n </ul>\n <symphony-invoice-line-item\n [model]=\"model.total\"\n ></symphony-invoice-line-item>\n</section>\n", styles: [""], components: [{ type: H4Component, selector: "symphony-h4", inputs: ["text", "isSecondary"] }, { type: InvoiceAreaComponent, selector: "symphony-invoice-area", inputs: ["model"] }, { type: InvoiceLineItemComponent, selector: "symphony-invoice-line-item", inputs: ["model"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
5077
+ OrderSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: OrderSummaryComponent, selector: "symphony-order-summary", inputs: { model: "model" }, ngImport: i0, template: "<section class=\"order-summary\">\n <symphony-h4>{{ model.title }}</symphony-h4>\n <ul class=\"invoice-area-list list-unstyled sfx-mb-20\">\n <li\n class=\"invoice-area-item\"\n *ngFor=\"let invoiceArea of model.invoiceAreas\"\n >\n <symphony-invoice-area [model]=\"invoiceArea\"></symphony-invoice-area>\n </li>\n </ul>\n <div class=\"total-wrap sfx-pb-10\" *ngIf=\"model.invoiceAreas.length > 0\">\n <symphony-invoice-line-item\n [model]=\"model.total\"\n ></symphony-invoice-line-item>\n </div>\n</section>\n", styles: [".total-wrap{border-bottom:1px solid #000}.total-wrap .text-right p{font-family:neuzeit_groteskbold,sans-serif}\n"], components: [{ type: H4Component, selector: "symphony-h4", inputs: ["text", "isSecondary"] }, { type: InvoiceAreaComponent, selector: "symphony-invoice-area", inputs: ["model"] }, { type: InvoiceLineItemComponent, selector: "symphony-invoice-line-item", inputs: ["model"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
5078
5078
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrderSummaryComponent, decorators: [{
5079
5079
  type: Component,
5080
- args: [{ selector: 'symphony-order-summary', template: "<section class=\"order-summary\">\n <symphony-h4>{{ model.title }}</symphony-h4>\n <ul class=\"invoice-area-list list-unstyled sfx-mb-20\">\n <li\n class=\"invoice-area-item\"\n *ngFor=\"let invoiceArea of model.invoiceAreas\"\n >\n <symphony-invoice-area [model]=\"invoiceArea\"></symphony-invoice-area>\n </li>\n </ul>\n <symphony-invoice-line-item\n [model]=\"model.total\"\n ></symphony-invoice-line-item>\n</section>\n", styles: [""] }]
5080
+ args: [{ selector: 'symphony-order-summary', encapsulation: ViewEncapsulation.None, template: "<section class=\"order-summary\">\n <symphony-h4>{{ model.title }}</symphony-h4>\n <ul class=\"invoice-area-list list-unstyled sfx-mb-20\">\n <li\n class=\"invoice-area-item\"\n *ngFor=\"let invoiceArea of model.invoiceAreas\"\n >\n <symphony-invoice-area [model]=\"invoiceArea\"></symphony-invoice-area>\n </li>\n </ul>\n <div class=\"total-wrap sfx-pb-10\" *ngIf=\"model.invoiceAreas.length > 0\">\n <symphony-invoice-line-item\n [model]=\"model.total\"\n ></symphony-invoice-line-item>\n </div>\n</section>\n", styles: [".total-wrap{border-bottom:1px solid #000}.total-wrap .text-right p{font-family:neuzeit_groteskbold,sans-serif}\n"] }]
5081
5081
  }], ctorParameters: function () { return []; }, propDecorators: { model: [{
5082
5082
  type: Input
5083
5083
  }] } });
@@ -5112,12 +5112,15 @@ class AdvertiseModalComponent {
5112
5112
  ngOnInit() {
5113
5113
  this.initialiseDefaultValues();
5114
5114
  this.updateModalHeader();
5115
- this.updateOrderSummary();
5115
+ const selectedJobBoards = this.model.jobBoards.filter((jb) => jb.isSelected).length;
5116
+ if (selectedJobBoards > 0) {
5117
+ this.updateOrderSummary();
5118
+ }
5116
5119
  this.cancelContent = {
5117
5120
  title: 'Are you sure you want to abandon your order?',
5118
5121
  content: 'All selections will be deleted and you will have to start over.',
5119
5122
  btnPrimary: 'Continue Order',
5120
- btnSecondary: 'Abandon Order'
5123
+ btnSecondary: 'Abandon Order',
5121
5124
  };
5122
5125
  }
5123
5126
  ngOnChanges(changes) {
@@ -5128,29 +5131,8 @@ class AdvertiseModalComponent {
5128
5131
  this.jobCount = this.model.jobsToAdvertise.length;
5129
5132
  this.orderSummary = {
5130
5133
  title: 'Your Order',
5131
- invoiceAreas: [
5132
- {
5133
- lineItems: [],
5134
- title: 'Pay-Per-Click',
5135
- total: {
5136
- textLeft: 'Cost Programatic Boards',
5137
- textRight: `x (${this.jobCount}) Jobs = $0`
5138
- }
5139
- },
5140
- {
5141
- lineItems: [],
5142
- title: 'Job Boards',
5143
- total: {
5144
- textLeft: 'Cost Job Boards',
5145
- textRight: `x (${this.jobCount}) Jobs = $0`
5146
- }
5147
- }
5148
- ],
5149
- total: {
5150
- textLeft: '',
5151
- textRight: '$0',
5152
- label: 'Total:'
5153
- }
5134
+ invoiceAreas: [],
5135
+ total: {},
5154
5136
  };
5155
5137
  }
5156
5138
  updateModalHeader() {
@@ -5194,7 +5176,8 @@ class AdvertiseModalComponent {
5194
5176
  this.orderSummary.invoiceAreas[invoiceAreaIndex].lineItems.forEach(li => {
5195
5177
  invoiceAreaTotal = invoiceAreaTotal + +li.textRight.replace('$', '');
5196
5178
  });
5197
- this.orderSummary.invoiceAreas[invoiceAreaIndex].total.textRight = `x (${this.model.jobsToAdvertise.length}) Jobs = $${invoiceAreaTotal * this.model.jobsToAdvertise.length}`;
5179
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].subTotal.textRight = `$${invoiceAreaTotal * this.model.jobsToAdvertise.length}`;
5180
+ this.orderSummary.invoiceAreas[invoiceAreaIndex].total.textRight = `$${invoiceAreaTotal}`;
5198
5181
  return invoiceAreaTotal * this.model.jobsToAdvertise.length;
5199
5182
  }
5200
5183
  calculateOrderTotal(payPerClickAreaTotal, jobBoardAreaTotal) {
@@ -5203,14 +5186,46 @@ class AdvertiseModalComponent {
5203
5186
  const jobToAdvertiseCount = this.model.jobsToAdvertise.length;
5204
5187
  const orderSummaryText = `(${selectedJobBoards}) Boards x ${this.model.jobsToAdvertise.length} Jobs = (${selectedJobBoards * jobToAdvertiseCount}) Ads`;
5205
5188
  this.orderSummary.total = {
5206
- label: 'Total:',
5207
- textLeft: orderSummaryText,
5189
+ label: 'Current Total',
5190
+ textLeft: '',
5208
5191
  textRight: `$${payPerClickAreaTotal + jobBoardAreaTotal}`
5209
5192
  };
5210
5193
  }
5211
5194
  updateOrderSummary() {
5212
- this.orderSummary.invoiceAreas[0].lineItems = [];
5213
- this.orderSummary.invoiceAreas[1].lineItems = [];
5195
+ this.orderSummary = {
5196
+ title: 'Your Order',
5197
+ invoiceAreas: [
5198
+ {
5199
+ lineItems: [],
5200
+ total: {
5201
+ textLeft: 'Pay-Per-Click Sites, Subtotal Per Job:',
5202
+ textRight: ``
5203
+ },
5204
+ subTotal: {
5205
+ textLeft: 'Pay-Per-Click Sites Subtotal',
5206
+ textRight: `x (${this.jobCount}) Jobs = $0`
5207
+ },
5208
+ jobsToAdvertise: `x (${this.model.jobsToAdvertise.length}) Jobs Selected`
5209
+ },
5210
+ {
5211
+ lineItems: [],
5212
+ subTotal: {
5213
+ textLeft: 'Job Boards Subtotal',
5214
+ textRight: `x (${this.jobCount}) Jobs = $0`
5215
+ },
5216
+ total: {
5217
+ textLeft: 'Duration Job Boards, Subtotal Per Job:',
5218
+ textRight: ``
5219
+ },
5220
+ jobsToAdvertise: `x (${this.model.jobsToAdvertise.length}) Jobs Selected`
5221
+ }
5222
+ ],
5223
+ total: {
5224
+ textLeft: '',
5225
+ textRight: '',
5226
+ label: 'Current Total'
5227
+ },
5228
+ };
5214
5229
  this.model.jobBoards.forEach(jb => {
5215
5230
  if (jb.isSelected) {
5216
5231
  if (jb.isPayPerClick) {