vcomply-workflow-engine 6.1.2 → 6.1.3
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.
- package/esm2022/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +7 -34
- package/esm2022/lib/constants/api.constants.mjs +6 -1
- package/esm2022/lib/constants/assets.constants.mjs +1 -2
- package/esm2022/lib/interfaces/frequency.interface.mjs +2 -0
- package/esm2022/lib/interfaces/iframe-type.mjs +7 -0
- package/esm2022/lib/interfaces/responsibilty.interface.mjs +1 -1
- package/esm2022/lib/more-option/more-option.component.mjs +26 -191
- package/esm2022/lib/report-a-case/services/report-a-case.service.mjs +3 -2
- package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +4 -7
- package/esm2022/lib/services/common.service.mjs +40 -1
- package/esm2022/lib/services/iframe.service.mjs +14 -1
- package/esm2022/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.mjs +3 -6
- package/esm2022/lib/sharedComponents/category-list-selection/category-list-selection/category-list-selection.component.mjs +7 -7
- package/esm2022/lib/sharedComponents/category-list-selection/category-list-selection.module.mjs +27 -4
- package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +10 -21
- package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +5 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +5 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +5 -5
- package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +2 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +6 -2
- package/esm2022/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +3 -2
- package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +3 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +5 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +9 -2
- package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +4 -2
- package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +267 -5
- package/esm2022/lib/sharedComponents/group-users-list/group-users-list.component.mjs +5 -2
- package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.component.mjs +48 -16
- package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.module.mjs +8 -4
- package/esm2022/lib/sharedComponents/list-container/list-container.component.mjs +52 -0
- package/esm2022/lib/sharedComponents/program-list/constant.mjs +27 -0
- package/esm2022/lib/sharedComponents/program-list/interfaces/data-source.interface.mjs +2 -0
- package/esm2022/lib/sharedComponents/program-list/interfaces/list-item.interface.mjs +2 -0
- package/esm2022/lib/sharedComponents/program-list/pipes/check-selected-items.pipes.mjs +23 -0
- package/esm2022/lib/sharedComponents/program-list/program-list/program-list.component.mjs +273 -0
- package/esm2022/lib/sharedComponents/program-list/program-list.module.mjs +51 -0
- package/esm2022/lib/sharedComponents/program-list/services/list-utils.service.mjs +27 -0
- package/esm2022/lib/sharedComponents/program-list/services/program-list-api.service.mjs +32 -0
- package/esm2022/lib/ui-kit/loaders/loaders.module.mjs +24 -0
- package/esm2022/lib/ui-kit/loaders/table-loader/table-loader.component.mjs +19 -0
- package/esm2022/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +45 -17
- package/esm2022/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +13 -10
- package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +62 -35
- package/esm2022/lib/workflow/shared/services/grc.service.mjs +15 -2
- package/esm2022/lib/workflow/shared/workflow-pipes/get-user-details.pipe.mjs +26 -0
- package/esm2022/lib/workflow/shared/workflow-pipes/workflow-pipes.module.mjs +8 -3
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +294 -453
- package/esm2022/lib/workflow-engine-container/api-constants.mjs +3 -2
- package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +32 -53
- package/esm2022/lib/workflow-engine.module.mjs +11 -16
- package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +46 -29
- package/esm2022/lib/workflow-program/constants.mjs +3 -11
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.mjs +1 -7
- package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +13 -11
- package/esm2022/lib/workflow-program/workflow-program.component.mjs +340 -311
- package/esm2022/lib/workflow-services/policy.service.mjs +8 -9
- package/esm2022/lib/workflow-services/programs.service.mjs +26 -114
- package/esm2022/lib/workflow-services/responsibility.service.mjs +60 -56
- package/fesm2022/vcomply-workflow-engine.mjs +5848 -5338
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.d.ts +0 -1
- package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +0 -3
- package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +0 -1
- package/lib/constants/api.constants.d.ts +5 -0
- package/lib/constants/assets.constants.d.ts +0 -1
- package/lib/interfaces/frequency.interface.d.ts +37 -0
- package/lib/interfaces/iframe-type.d.ts +5 -0
- package/lib/interfaces/responsibilty.interface.d.ts +13 -13
- package/lib/log-an-issue/log-an-issue.component.d.ts +0 -1
- package/lib/more-option/more-option.component.d.ts +0 -1
- package/lib/report-a-case/components/assignee/assignee.component.d.ts +0 -1
- package/lib/report-a-case/components/case-assignees/case-assignees.component.d.ts +0 -1
- package/lib/report-a-case/components/case-category/case-category.component.d.ts +0 -1
- package/lib/report-a-case/components/case-details/case-details.component.d.ts +0 -1
- package/lib/report-a-case/components/case-owners/case-owners.component.d.ts +0 -1
- package/lib/report-a-case/components/case-priority/case-priority.component.d.ts +0 -1
- package/lib/report-a-case/components/case-resolution-deadline/case-resolution-deadline.component.d.ts +0 -1
- package/lib/report-a-case/components/case-type-dropdown/case-dropdown.component.d.ts +0 -1
- package/lib/report-a-case/components/due-date/due-date.component.d.ts +0 -1
- package/lib/report-a-case/components/field-holder/field-holder.component.d.ts +0 -1
- package/lib/report-a-case/components/linked assessment/linked-assessment.component.d.ts +0 -1
- package/lib/report-a-case/components/linked-responsibilities/linked-responsibilities.component.d.ts +0 -1
- package/lib/report-a-case/components/rc-details/rc-details.component.d.ts +0 -1
- package/lib/report-a-case/components/report-date/report-date.component.d.ts +0 -1
- package/lib/report-a-case/workflow-case/workflow-case.component.d.ts +0 -1
- package/lib/services/common.service.d.ts +28 -0
- package/lib/services/iframe.service.d.ts +6 -0
- package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts +0 -1
- package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +0 -1
- package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +0 -1
- package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts +0 -1
- package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +0 -6
- package/lib/sharedComponents/category-list/category-list.component.d.ts +0 -1
- package/lib/sharedComponents/category-list-selection/category-list-selection/category-list-selection.component.d.ts +0 -1
- package/lib/sharedComponents/category-list-selection/category-list-selection.module.d.ts +5 -5
- package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts +0 -1
- package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts +0 -1
- package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +1 -5
- package/lib/sharedComponents/framework-list/framework-list.component.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts +1 -0
- package/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.d.ts +0 -1
- package/lib/sharedComponents/frequency/frequency.service.d.ts +92 -2
- package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +0 -1
- package/lib/sharedComponents/link-program/link-program/link-program.component.d.ts +0 -1
- package/lib/sharedComponents/link-responsibility/link-responsibility.component.d.ts +2 -1
- package/lib/sharedComponents/link-responsibility/link-responsibility.module.d.ts +2 -1
- package/lib/sharedComponents/list-container/list-container.component.d.ts +9 -0
- package/lib/sharedComponents/owner-list/owner-list.component.d.ts +0 -1
- package/lib/sharedComponents/policy-access/policy-access.component.d.ts +0 -1
- package/lib/sharedComponents/program-list/constant.d.ts +20 -0
- package/lib/sharedComponents/program-list/interfaces/data-source.interface.d.ts +4 -0
- package/lib/sharedComponents/program-list/interfaces/list-item.interface.d.ts +5 -0
- package/lib/sharedComponents/program-list/pipes/check-selected-items.pipes.d.ts +7 -0
- package/lib/sharedComponents/program-list/program-list/program-list.component.d.ts +126 -0
- package/lib/sharedComponents/program-list/program-list.module.d.ts +15 -0
- package/lib/sharedComponents/program-list/services/list-utils.service.d.ts +7 -0
- package/lib/sharedComponents/program-list/services/program-list-api.service.d.ts +14 -0
- package/lib/sharedComponents/program-listing/program-listing.component.d.ts +0 -1
- package/lib/sharedComponents/radio-list/radio-list.component.d.ts +0 -1
- package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts +0 -1
- package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts +0 -1
- package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts +0 -1
- package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts +0 -1
- package/lib/sharedComponents/roles-list/roles-list.component.d.ts +0 -1
- package/lib/sharedComponents/select-approvers/select-approvers.component.d.ts +0 -1
- package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +0 -1
- package/lib/ui-kit/loaders/loaders.module.d.ts +8 -0
- package/lib/ui-kit/loaders/table-loader/table-loader.component.d.ts +9 -0
- package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +0 -1
- package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +5 -1
- package/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.d.ts +0 -1
- package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +3 -1
- package/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.d.ts +6 -2
- package/lib/workflow/shared/services/grc.service.d.ts +1 -0
- package/lib/workflow/shared/workflow-pipes/get-user-details.pipe.d.ts +7 -0
- package/lib/workflow/shared/workflow-pipes/workflow-pipes.module.d.ts +3 -2
- package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +0 -1
- package/lib/workflow-assessment/workflow-assessment.component.d.ts +0 -1
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +32 -11
- package/lib/workflow-engine-container/api-constants.d.ts +1 -0
- package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +5 -2
- package/lib/workflow-engine.module.d.ts +3 -2
- package/lib/workflow-policy/workflow-policy.component.d.ts +9 -1
- package/lib/workflow-program/constants.d.ts +0 -3
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +0 -1
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +0 -1
- package/lib/workflow-program/workflow-program.component.d.ts +9 -11
- package/lib/workflow-risk/workflow-risk.component.d.ts +1 -2
- package/lib/workflow-services/policy.service.d.ts +1 -1
- package/lib/workflow-services/programs.service.d.ts +13 -54
- package/lib/workflow-services/responsibility.service.d.ts +17 -4
- package/lib/workflow-survey-form/workflow-survey-form.component.d.ts +0 -1
- package/package.json +1 -1
- package/esm2022/lib/constants/policy.constant.mjs +0 -6
- package/esm2022/lib/constants/regix.constants.mjs +0 -4
- package/esm2022/lib/constants/responsibility.mjs +0 -8
- package/esm2022/lib/interfaces/policy.interface.mjs +0 -2
- package/esm2022/lib/sharedComponents/pipes/risk-class.pipe.mjs +0 -19
- package/lib/constants/policy.constant.d.ts +0 -2
- package/lib/constants/regix.constants.d.ts +0 -3
- package/lib/constants/responsibility.d.ts +0 -7
- package/lib/interfaces/policy.interface.d.ts +0 -5
- package/lib/sharedComponents/pipes/risk-class.pipe.d.ts +0 -7
package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs
CHANGED
|
@@ -168,6 +168,7 @@ export class FrequencyRandomComponent {
|
|
|
168
168
|
}
|
|
169
169
|
getRandomFrequency() {
|
|
170
170
|
//0: weekly 1: monthly 2:quarterly 3: yearly
|
|
171
|
+
let selectedMonth = [];
|
|
171
172
|
let frequencyDetails;
|
|
172
173
|
switch (this.randomTypeSelected) {
|
|
173
174
|
case 0:
|
|
@@ -175,9 +176,12 @@ export class FrequencyRandomComponent {
|
|
|
175
176
|
break;
|
|
176
177
|
case 1:
|
|
177
178
|
frequencyDetails = this.getMonthlyFrequency();
|
|
179
|
+
selectedMonth = this.selectedMonthly;
|
|
178
180
|
break;
|
|
179
181
|
case 2:
|
|
180
182
|
frequencyDetails = this.getQuarterlyFrequency();
|
|
183
|
+
selectedMonth = frequencyDetails.monthSequence;
|
|
184
|
+
selectedMonth = selectedMonth.map((ele) => ele - 1);
|
|
181
185
|
break;
|
|
182
186
|
case 3:
|
|
183
187
|
frequencyDetails = this.getYearlyFrequency();
|
|
@@ -188,9 +192,11 @@ export class FrequencyRandomComponent {
|
|
|
188
192
|
this.frequencyInfo.case = 'randomly';
|
|
189
193
|
this.frequencyInfo.failedAfter = this.randomFailed;
|
|
190
194
|
this.frequencyInfo.window = this.randomWindow;
|
|
191
|
-
this.frequencyInfo.selectedMonth =
|
|
195
|
+
this.frequencyInfo.selectedMonth = selectedMonth;
|
|
192
196
|
this.frequencyInfo.lifecycleDetails = this.lifecycleDetails;
|
|
193
197
|
this.frequencyInfo.startFrom = this.startDate;
|
|
198
|
+
this.frequencyInfo.randomTypeSelected = this.randomTypeSelected;
|
|
199
|
+
this.frequencyInfo.randomInstances = this.randomInstances;
|
|
194
200
|
this.frequencyDetails.emit(this.frequencyInfo);
|
|
195
201
|
}
|
|
196
202
|
getWeeklyFrequency() {
|
|
@@ -228,6 +234,7 @@ export class FrequencyRandomComponent {
|
|
|
228
234
|
' for ' +
|
|
229
235
|
this.randomInstances +
|
|
230
236
|
' random instances',
|
|
237
|
+
monthSequence
|
|
231
238
|
};
|
|
232
239
|
}
|
|
233
240
|
getYearlyFrequency() {
|
|
@@ -251,4 +258,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
251
258
|
}], frequencyDetails: [{
|
|
252
259
|
type: Output
|
|
253
260
|
}] } });
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXJhbmRvbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktcmFuZG9tL2ZyZXF1ZW5jeS1yYW5kb20uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJhbmRvbS9mcmVxdWVuY3ktcmFuZG9tLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7O0FBT2pFLE1BQU0sT0FBTyx3QkFBd0I7SUFtQ25DLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBbEM3QyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBRXhCLDRDQUE0QztRQUU1QyxtQkFBYyxHQUFlLEVBQUUsQ0FBQztRQUNoQyxvQkFBZSxHQUFrQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEUsa0JBQWEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxDQUFD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QUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE9BQU87WUFDTCxPQUFPLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLGFBQWEsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWU7WUFDdkUsV0FBVyxFQUNULFFBQVE7Z0JBQ1IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUM7Z0JBQ2pELE9BQU87Z0JBQ1AsSUFBSSxDQUFDLGVBQWU7Z0JBQ3BCLG1CQUFtQjtTQUN0QixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPO1lBQ0wsT0FBTyxFQUNMLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLDhCQUE4QixHQUFHLElBQUksQ0FBQyxlQUFlO1lBQ3JFLFdBQVcsRUFDVCxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZUFBZSxHQUFHLG1CQUFtQjtTQUNqRSxDQUFDO0lBQ0osQ0FBQzsrR0FuUVUsd0JBQXdCO21HQUF4Qix3QkFBd0IsaU1DVnJDLHk4RUF1REE7OzRGRDdDYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCO3VHQUt2QixJQUFJO3NCQUFaLEtBQUs7Z0JBNEJHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFHSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vZnJlcXVlbmN5LnNlcnZpY2UnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcbmltcG9ydCB7IERFRkFVTFRfVElNRSB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy90aW1lLmNvbnN0YW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktcmFuZG9tJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1yYW5kb20uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktcmFuZG9tLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeVJhbmRvbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xuXG4gIC8vMDogd2Vla2x5IDE6IG1vbnRobHkgMjpxdWFydGVybHkgMzogeWVhcmx5XG5cbiAgbW9udGhOYW1lQXJyYXk6IEFycmF5PGFueT4gPSBbXTtcbiAgc2VsZWN0ZWRNb250aGx5OiBBcnJheTxudW1iZXI+ID0gWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMV07XG4gIHJhbmRvbVR5cGVNYXggPSBbMywgMTAsIDMwLCA5MF07XG4gIHJhbmRvbVR5cGUgPSBbJ1dlZWtseScsICdNb250aGx5JywgJ1F1YXJ0ZXJseScsICdZZWFybHknXTtcbiAgcmFuZG9tSW5zdGFuY2VzID0gMDtcbiAgZGVmYXVsdFJhbmRvbUluc3RhbmNlID0gWzIsIDUsIDE1LCA0NV07XG4gIHJhbmRvbWx5RGF5ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XG4gIHJhbmRvbWx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSgpO1xuICByYW5kb21seUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShcbiAgICB0aGlzLnJhbmRvbWx5TGlmZUN5Y2xlU3RhcnQuZ2V0VGltZSgpICsgODY0MDAwMDBcbiAgKTtcbiAgcmFuZG9tbHlMaWZlY3ljbGVPY2N1cmFuY2UgPSAxMDtcbiAgcmFuZG9tbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDI7XG4gIHJhbmRvbVR5cGVTZWxlY3RlZCA9IDA7XG4gIHJhbmRvbVdpbmRvdyA9IDI7XG4gIHJhbmRvbUZhaWxlZCA9IDI7XG4gIHJhbmRvbU1vbnRoU2VsZWN0ZWQgPSBbXTtcbiAgcmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWQgPSAxO1xuICBxdWFydGVybHlHcm91cCA9IFswLCAzLCA2LCA5LCAxLCA0LCA3LCAxMCwgMiwgNSwgOCwgMTFdO1xuICByYW5kb21UeXBlSW5zdGFuY2VzID0gWzIsIDUsIDE1LCA0NV07XG4gIGZyZXF1ZW5jeUluZm86IGFueTtcbiAgc2hvcnRNb250aDogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICBxdWFydGVybHlNb250aDogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gIEBJbnB1dCgpIHN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xuICBASW5wdXQoKSBmcmVxdWVuY3lEYXRhOiBhbnk7XG4gIGxpZmVjeWNsZURldGFpbHM6IGFueSA9ICcwMDAwLTAwLTAwfn4wJztcblxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1vbnRoTmFtZUFycmF5ID0gWy4uLm5ldyBTZXQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXkpXTtcbiAgICB0aGlzLnF1YXJ0ZXJseU1vbnRoID0gWy4uLm5ldyBTZXQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnF1YXJ0ZXJseU1vbnRoKV07XG4gICAgdGhpcy5zaG9ydE1vbnRoID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXkubWFwKChtb250aDogc3RyaW5nKSA9PlxuICAgICAgbW9udGguc3Vic3RyaW5nKDAsIDMpXG4gICAgKTtcbiAgICBjb25zdCBpbmRleE9mTW9udGggPSB0aGlzLnF1YXJ0ZXJseUdyb3VwLmluZGV4T2YobmV3IERhdGUoKS5nZXRNb250aCgpKTtcbiAgICB0aGlzLnJhbmRvbVF1YXJ0ZXJseVNlbGVjdGVkID1cbiAgICAgIGluZGV4T2ZNb250aCA8IDQgPyAwIDogaW5kZXhPZk1vbnRoID4gMyAmJiBpbmRleE9mTW9udGggPCA4ID8gMSA6IDI7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvID0gT2JqZWN0LmFzc2lnbih0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZnJlcXVlbmN5SW5mbyk7XG4gICAgaWYgKFxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4gIT0gJycgJiZcbiAgICAgIHBhcnNlSW50KHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuLnNwbGl0KCd+JylbMF0pID09PSA4XG4gICAgKSB7XG4gICAgICB0aGlzLnBvcHVsYXRlRnJlcXVlbmN5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ2V0UmFuZG9tSW5zdGFuY2VzKCk7XG4gICAgfVxuICAgIHRoaXMuZ2V0UmFuZG9tRnJlcXVlbmN5KCk7XG4gIH1cblxuICBnZXRSYW5kb21JbnN0YW5jZXMoKSB7XG4gICAgdGhpcy5yYW5kb21JbnN0YW5jZXMgPSB0aGlzLnJhbmRvbVR5cGVJbnN0YW5jZXNbdGhpcy5yYW5kb21UeXBlU2VsZWN0ZWRdO1xuICB9XG5cbiAgcG9wdWxhdGVGcmVxdWVuY3koKSB7XG4gICAgY29uc3QgZnJlcXVlbmN5U2VsZWN0ZWQgPSB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpO1xuICAgIGNvbnN0IGxpZmVjeWNsZUluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlLnNwbGl0KCd+ficpO1xuICAgIHRoaXMucmFuZG9tV2luZG93ID0gdGhpcy5mcmVxdWVuY3lEYXRhLndpbmRvdztcbiAgICB0aGlzLnJhbmRvbUZhaWxlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWQ7XG4gICAgdGhpcy5yYW5kb21JbnN0YW5jZXMgPSBwYXJzZUludChmcmVxdWVuY3lTZWxlY3RlZFszXSk7XG4gICAgdGhpcy5yYW5kb21UeXBlU2VsZWN0ZWQgPSBwYXJzZUludChmcmVxdWVuY3lTZWxlY3RlZFsxXSkgLSAxO1xuICAgIGlmICh0aGlzLnJhbmRvbVR5cGVTZWxlY3RlZCA9PT0gMSkge1xuICAgICAgdGhpcy5zZWxlY3RlZE1vbnRobHkgPSBmcmVxdWVuY3lTZWxlY3RlZFsyXVxuICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAubWFwKChlbGU6IGFueSkgPT4gcGFyc2VJbnQoZWxlKSAtIDEpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yYW5kb21UeXBlU2VsZWN0ZWQgPT0gMikge1xuICAgICAgY29uc3QgbW9udGhSYW5kb20gPSBwYXJzZUludChmcmVxdWVuY3lTZWxlY3RlZFsyXS5zcGxpdCgnLCcpWzBdKTtcbiAgICAgIGNvbnN0IGluZGV4UmFuZG9tID0gdGhpcy5xdWFydGVybHlHcm91cC5pbmRleE9mKG1vbnRoUmFuZG9tIC0gMSk7XG4gICAgICB0aGlzLnJhbmRvbVF1YXJ0ZXJseVNlbGVjdGVkID1cbiAgICAgICAgaW5kZXhSYW5kb20gPCA0ID8gMCA6IGluZGV4UmFuZG9tID4gMyAmJiBpbmRleFJhbmRvbSA8IDggPyAxIDogMjtcbiAgICB9XG4gICAgdGhpcy5yYW5kb21seUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUodGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RGF0ZSAqIDEwMDApO1xuICAgIHRoaXMuc3RhcnREYXRlID1cbiAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydEZyb20gPz8gdGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RGF0ZTtcbiAgICBpZiAoTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pID4gMCkge1xuICAgICAgdGhpcy5yYW5kb21seUxpZmVjeWNsZU9jY3VyYW5jZSA9IE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKTtcbiAgICB9XG4gICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZTtcbiAgICBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQoXG4gICAgICAgIGxpZmVjeWNsZUluZm9bMF0gKyAnICcgKyBERUZBVUxUX1RJTUUsXG4gICAgICAgICdERC1NTU1NLVlZWVkgSEg6bW0gYSdcbiAgICAgICkudW5peCgpO1xuICAgICAgdGhpcy5yYW5kb21seUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShkYXRlU2VsZWN0ZWQgKiAxMDAwKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUgPT0gJzAwMDAtMDAtMDB+fjAnKSB7XG4gICAgICB0aGlzLnJhbmRvbWx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XG4gICAgICB0aGlzLnJhbmRvbWx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJhbmRvbWx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAxO1xuICAgIH1cbiAgfVxuXG4gIG9uTW9udGhTZWxlY3RlZChldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb250aGx5LnB1c2goZXZlbnQuaW5kZXgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTW9udGhseSA9IHRoaXMuc2VsZWN0ZWRNb250aGx5LmZpbHRlcihcbiAgICAgICAgKGVsZSkgPT4gZWxlICE9PSBldmVudC5pbmRleFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5nZXRSYW5kb21GcmVxdWVuY3koKTtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudC50eXBlID09PSAnY29tcGxldGVkJykge1xuICAgICAgdGhpcy5yYW5kb21XaW5kb3cgPSBldmVudC52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yYW5kb21GYWlsZWQgPSBldmVudC52YWx1ZTtcbiAgICB9XG4gICAgdGhpcy5nZXRSYW5kb21GcmVxdWVuY3koKTtcbiAgfVxuXG4gIHJhbmRvbUNoZWNrZWQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucmFuZG9tVHlwZVNlbGVjdGVkID0gTnVtYmVyKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgdGhpcy5nZXRSYW5kb21JbnN0YW5jZXMoKTtcbiAgICB0aGlzLmdldFJhbmRvbUZyZXF1ZW5jeSgpO1xuICB9XG5cbiAgcmFuZG9tSW5zdGFuY2UoZXZlbnQ6IGFueSwgdHlwZTogYW55KSB7XG4gICAgaWYgKFxuICAgICAgIU51bWJlci5pc05hTihOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKSkgJiZcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSAhPT0gJzAnICYmXG4gICAgICBwYXJzZUludChldmVudC50YXJnZXQudmFsdWUpID4gMCAmJlxuICAgICAgcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlKSA8IHRoaXMucmFuZG9tVHlwZU1heFt0eXBlXSArIDFcbiAgICApIHtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yYW5kb21JbnN0YW5jZXMgPVxuICAgICAgICB0aGlzLmRlZmF1bHRSYW5kb21JbnN0YW5jZVt0aGlzLnJhbmRvbVR5cGVTZWxlY3RlZF07XG4gICAgfVxuICAgIHRoaXMuZ2V0UmFuZG9tRnJlcXVlbmN5KCk7XG4gIH1cblxuICBsaWZlY3ljbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgY2FzZSAwOlxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSBldmVudC5lbmRzQnkgKyAnfn4wJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4nICsgZXZlbnQuZW5kYWZ0ZXI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAyOlxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+MCc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoZXZlbnQuc3RhcnRGcm9tLnRvU3RyaW5nKCkubGVuZ3RoID4gMTApIHtcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSk7XG4gICAgfVxuICAgIGxldCBlbmRCeURhdGUgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCArIDg2NDAwMDAwKTtcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gMCkge1xuICAgICAgZW5kQnlEYXRlID0gZXZlbnQuZW5kc0J5XG4gICAgICAgID8gbW9tZW50KGV2ZW50LmVuZHNCeSArICcgMDA6MDA6MDAnLCAnREQtTU1NLVlZWVkgSEg6bW06c3MnKS51bml4KClcbiAgICAgICAgOiBlbmRCeURhdGU7XG4gICAgfVxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRfdGltZV91dGMgPSBlbmRCeURhdGU7XG4gICAgdGhpcy5nZXRSYW5kb21GcmVxdWVuY3koKTtcbiAgfVxuXG4gIHNlbGVjdGVkTW9udGgoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZ2V0UmFuZG9tRnJlcXVlbmN5KCk7XG4gIH1cblxuICByYW5kb21RdWFydGVybHlDaGVja2VkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnJhbmRvbVF1YXJ0ZXJseVNlbGVjdGVkID0gTnVtYmVyKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgdGhpcy5nZXRSYW5kb21GcmVxdWVuY3koKTtcbiAgfVxuXG4gIGdldFJhbmRvbUZyZXF1ZW5jeSgpIHtcbiAgICAvLzA6IHdlZWtseSAxOiBtb250aGx5IDI6cXVhcnRlcmx5IDM6IHllYXJseVxuICAgIGxldCBmcmVxdWVuY3lEZXRhaWxzO1xuICAgIHN3aXRjaCAodGhpcy5yYW5kb21UeXBlU2VsZWN0ZWQpIHtcbiAgICAgIGNhc2UgMDpcbiAgICAgICAgZnJlcXVlbmN5RGV0YWlscyA9IHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxOlxuICAgICAgICBmcmVxdWVuY3lEZXRhaWxzID0gdGhpcy5nZXRNb250aGx5RnJlcXVlbmN5KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAyOlxuICAgICAgICBmcmVxdWVuY3lEZXRhaWxzID0gdGhpcy5nZXRRdWFydGVybHlGcmVxdWVuY3koKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIGZyZXF1ZW5jeURldGFpbHMgPSB0aGlzLmdldFllYXJseUZyZXF1ZW5jeSgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBhdHRlcm4gPSBmcmVxdWVuY3lEZXRhaWxzPy5wYXR0ZXJuO1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wbGFjZWhvbGRlciA9IGZyZXF1ZW5jeURldGFpbHM/LnBsYWNlaG9sZGVyO1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ3JhbmRvbWx5JztcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkQWZ0ZXIgPSB0aGlzLnJhbmRvbUZhaWxlZDtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ud2luZG93ID0gdGhpcy5yYW5kb21XaW5kb3c7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnNlbGVjdGVkTW9udGggPSB0aGlzLnNlbGVjdGVkTW9udGhseTtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMubGlmZWN5Y2xlRGV0YWlscztcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uc3RhcnRGcm9tID0gdGhpcy5zdGFydERhdGU7XG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmVtaXQodGhpcy5mcmVxdWVuY3lJbmZvKTtcbiAgfVxuXG4gIGdldFdlZWtseUZyZXF1ZW5jeSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGF0dGVybjogOCArICd+JyArIDEgKyAnficgKyAwICsgJ34nICsgdGhpcy5yYW5kb21JbnN0YW5jZXMsXG4gICAgICBwbGFjZWhvbGRlcjpcbiAgICAgICAgJ0V2ZXJ5IHdlZWsgZm9yICcgKyB0aGlzLnJhbmRvbUluc3RhbmNlcyArICcgcmFuZG9tIGluc3RhbmNlcycsXG4gICAgfTtcbiAgfVxuXG4gIGdldE1vbnRobHlGcmVxdWVuY3koKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1vbnRobHkgPSB0aGlzLnNlbGVjdGVkTW9udGhseS5zb3J0KChuMSwgbjIpID0+IG4xIC0gbjIpO1xuICAgIGNvbnN0IHNlbGVjdGVkTW9udGggPSB0aGlzLnNlbGVjdGVkTW9udGhseS5tYXAoKGVsZSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuc2hvcnRNb250aFtlbGVdO1xuICAgIH0pO1xuICAgIGNvbnN0IG1vbnRoSW5kZXggPSB0aGlzLnNlbGVjdGVkTW9udGhseS5tYXAoKGVsZSkgPT4gZWxlICsgMSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhdHRlcm46XG4gICAgICAgIDggKyAnficgKyAyICsgJ34nICsgbW9udGhJbmRleC5qb2luKCcsJykgKyAnficgKyB0aGlzLnJhbmRvbUluc3RhbmNlcyxcbiAgICAgIHBsYWNlaG9sZGVyOlxuICAgICAgICAnRXZlcnkgJyArXG4gICAgICAgIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArXG4gICAgICAgICcgZm9yICcgK1xuICAgICAgICB0aGlzLnJhbmRvbUluc3RhbmNlcyArXG4gICAgICAgICcgcmFuZG9tIGluc3RhbmNlcycsXG4gICAgfTtcbiAgfVxuXG4gIGdldFF1YXJ0ZXJseUZyZXF1ZW5jeSgpIHtcbiAgICBsZXQgbW9udGhTZXF1ZW5jZSA9XG4gICAgICB0aGlzLnJhbmRvbVF1YXJ0ZXJseVNlbGVjdGVkID09PSAwXG4gICAgICAgID8gdGhpcy5xdWFydGVybHlHcm91cC5zbGljZSgwLCA0KVxuICAgICAgICA6IHRoaXMucmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWQgPT09IDFcbiAgICAgICAgPyB0aGlzLnF1YXJ0ZXJseUdyb3VwLnNsaWNlKDQsIDgpXG4gICAgICAgIDogdGhpcy5xdWFydGVybHlHcm91cC5zbGljZSg4KTtcbiAgICBtb250aFNlcXVlbmNlID0gbW9udGhTZXF1ZW5jZS5tYXAoKGVsZSkgPT4gZWxlICsgMSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhdHRlcm46IDggKyAnficgKyAzICsgJ34nICsgbW9udGhTZXF1ZW5jZSArICd+JyArIHRoaXMucmFuZG9tSW5zdGFuY2VzLFxuICAgICAgcGxhY2Vob2xkZXI6XG4gICAgICAgICdFdmVyeSAnICtcbiAgICAgICAgdGhpcy5xdWFydGVybHlNb250aFt0aGlzLnJhbmRvbVF1YXJ0ZXJseVNlbGVjdGVkXSArXG4gICAgICAgICcgZm9yICcgK1xuICAgICAgICB0aGlzLnJhbmRvbUluc3RhbmNlcyArXG4gICAgICAgICcgcmFuZG9tIGluc3RhbmNlcycsXG4gICAgfTtcbiAgfVxuXG4gIGdldFllYXJseUZyZXF1ZW5jeSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGF0dGVybjpcbiAgICAgICAgOCArICd+JyArIDQgKyAnfjEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyficgKyB0aGlzLnJhbmRvbUluc3RhbmNlcyxcbiAgICAgIHBsYWNlaG9sZGVyOlxuICAgICAgICAnRXZlcnkgeWVhciBmb3IgJyArIHRoaXMucmFuZG9tSW5zdGFuY2VzICsgJyByYW5kb20gaW5zdGFuY2VzJyxcbiAgICB9O1xuICB9XG59XG4iLCI8IS0tIDxwPmZyZXF1ZW5jeS1yYW5kb20gd29ya3MhPC9wPiAtLT5cbjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmFuZG9tXCI+XG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5UWVBFOjwvZGl2PiBcbiAgICA8YXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0XG4gICAgW3JhZGlvTGlzdF09XCJyYW5kb21UeXBlXCIgXG4gICAgW3NlbGVjdGVkSW5kZXhdPVwicmFuZG9tVHlwZVNlbGVjdGVkXCIgXG4gICAgKHNlbGVjdGVkUmFkaW8pPVwicmFuZG9tQ2hlY2tlZCgkZXZlbnQpXCJcbiAgICBbbmFtZV09XCIncmFuZG9tJ1wiXG4gICAgY2xhc3M9XCJyYW5kb20tcmFkaW9cIlxuICAgIFttb2RlXT1cIm1vZGVcIlxuICAgID48L2FwcC1mcmVxdWVuY3ktcmFkaW8tbGlzdD5cbiAgICA8YXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0XG4gICAgICAgICpuZ0lmPVwicmFuZG9tVHlwZVNlbGVjdGVkID09IDJcIiAgXG4gICAgICAgIFtyYWRpb0xpc3RdPVwicXVhcnRlcmx5TW9udGhcIlxuICAgICAgICBbbmFtZV09XCIncXVhcnRlcidcIiBcbiAgICAgICAgW3NlbGVjdGVkSW5kZXhdPVwicmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWRcIiBcbiAgICAgICAgKHNlbGVjdGVkUmFkaW8pPVwicmFuZG9tUXVhcnRlcmx5Q2hlY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJxdWFydGVybHktcmFkaW9cIlxuICAgICAgICBbbW9kZV09XCJtb2RlXCJcbiAgICAgICAgPlxuICAgIDwvYXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0PlxuICAgIDxhcHAtZnJlcXVlbmN5LWNoZWNrYm94LWxpc3RcbiAgICAgICAgKm5nSWY9XCJyYW5kb21UeXBlU2VsZWN0ZWQgPT0gMVwiICBcbiAgICAgICAgW2lkXT1cIjhcIlxuICAgICAgICBbbGlzdEFycmF5XT1cIm1vbnRoTmFtZUFycmF5XCJcbiAgICAgICAgW3NlbGVjdGVkSW5kZXhdPVwic2VsZWN0ZWRNb250aGx5XCJcbiAgICAgICAgKHNlbGVjdGVkQ2hlY2tib3gpPVwib25Nb250aFNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICBjbGFzcz1cIm1vbnRobHktY2hlY2tib3hcIlxuICAgICAgICBbbW9kZV09XCJtb2RlXCJcbiAgICA+PC9hcHAtZnJlcXVlbmN5LWNoZWNrYm94LWxpc3Q+XG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1yYW5kb20tbWVzc2FnZSB2eC1wLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dFwiPlJhbmRvbSBvY2N1cnJlbmNlIGZvcjwvZGl2PlxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJjb3VudE51bVwiIHR5cGU9XCJudW1iZXJcIiBbKG5nTW9kZWwpXT1cInJhbmRvbUluc3RhbmNlc1wiIChjaGFuZ2UpPVwicmFuZG9tSW5zdGFuY2UoJGV2ZW50LCByYW5kb21UeXBlU2VsZWN0ZWQpXCIgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiIG1pbj1cIjBcIiBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0XCI+aW5zdGFuY2VzLiBOb3RlLCB0aGUgbWF4aW11bSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgZm9yIDxzcGFuIGNsYXNzPVwidngtZnctNTAwXCI+e3sgcmFuZG9tVHlwZVtyYW5kb21UeXBlU2VsZWN0ZWRdLnRvTG93ZXJDYXNlKCkgfX08L3NwYW4+IGlzIHt7IHJhbmRvbVR5cGVNYXhbcmFuZG9tVHlwZVNlbGVjdGVkXSB9fS48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZVxuICAgICAgICBbaWRdID0gJzgnXG4gICAgICAgIFtwYWdlTmFtZV09XCIncmFuZG9tJ1wiXG4gICAgICAgIFttb2RlXT1cIm1vZGVcIlxuICAgICAgICBbaXNEZWFjdGl2YXRlZF09XCJmYWxzZVwiXG4gICAgICAgIFtjb21wbGV0ZWRWYWx1ZV09XCJyYW5kb21XaW5kb3dcIlxuICAgICAgICBbbm90Q29tcGxldGVkVmFsdWVdPVwicmFuZG9tRmFpbGVkXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFttb2RlXT1cIm1vZGVcIlxuICAgID48L2FwcC1mcmVxdWVuY3ktZHVlLWRhdGU+XG4gICAgPGFwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlXG4gICAgICAgIFtpZF09XCI4XCJcbiAgICAgICAgW3N0YXJ0RGF0ZV09XCJyYW5kb21seUxpZmVDeWNsZVN0YXJ0XCJcbiAgICAgICAgW2VuZERhdGVdPVwicmFuZG9tbHlMaWZlQ3ljbGVFbmRUaW1lXCJcbiAgICAgICAgW29jY3VycmFuY2VdPVwicmFuZG9tbHlMaWZlY3ljbGVPY2N1cmFuY2VcIlxuICAgICAgICBbc2VsZWN0ZWRMaWZlY3ljbGVUeXBlXT1cInJhbmRvbWx5U2VsZXRlZExpZmVjeWNsZVR5cGVcIlxuICAgICAgICAoc2VsZWN0ZWRPY2N1cmFuY2UpPVwibGlmZWN5Y2xlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbbW9kZV09XCJtb2RlXCJcbiAgICA+PC9hcHAtZnJlcXVlbmN5LWxpZmVjeWNsZT5cbjwvZGl2PlxuIl19
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXJhbmRvbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktcmFuZG9tL2ZyZXF1ZW5jeS1yYW5kb20uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJhbmRvbS9mcmVxdWVuY3ktcmFuZG9tLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7O0FBT2pFLE1BQU0sT0FBTyx3QkFBd0I7SUFtQ25DLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBbEM3QyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBRXhCLDRDQUE0QztRQUU1QyxtQkFBYyxHQUFlLEVBQUUsQ0FBQztRQUNoQyxvQkFBZSxHQUFrQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEUsa0JBQWEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxDQUFD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O2dCQUdJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xuaW1wb3J0IHsgREVGQVVMVF9USU1FIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3RpbWUuY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1yYW5kb20nLFxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LXJhbmRvbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1yYW5kb20uY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5UmFuZG9tQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbW9kZTogYW55ID0gJyc7XG5cbiAgLy8wOiB3ZWVrbHkgMTogbW9udGhseSAyOnF1YXJ0ZXJseSAzOiB5ZWFybHlcblxuICBtb250aE5hbWVBcnJheTogQXJyYXk8YW55PiA9IFtdO1xuICBzZWxlY3RlZE1vbnRobHk6IEFycmF5PG51bWJlcj4gPSBbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExXTtcbiAgcmFuZG9tVHlwZU1heCA9IFszLCAxMCwgMzAsIDkwXTtcbiAgcmFuZG9tVHlwZSA9IFsnV2Vla2x5JywgJ01vbnRobHknLCAnUXVhcnRlcmx5JywgJ1llYXJseSddO1xuICByYW5kb21JbnN0YW5jZXMgPSAwO1xuICBkZWZhdWx0UmFuZG9tSW5zdGFuY2UgPSBbMiwgNSwgMTUsIDQ1XTtcbiAgcmFuZG9tbHlEYXkgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcbiAgcmFuZG9tbHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKCk7XG4gIHJhbmRvbWx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKFxuICAgIHRoaXMucmFuZG9tbHlMaWZlQ3ljbGVTdGFydC5nZXRUaW1lKCkgKyA4NjQwMDAwMFxuICApO1xuICByYW5kb21seUxpZmVjeWNsZU9jY3VyYW5jZSA9IDEwO1xuICByYW5kb21seVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcbiAgcmFuZG9tVHlwZVNlbGVjdGVkID0gMDtcbiAgcmFuZG9tV2luZG93ID0gMjtcbiAgcmFuZG9tRmFpbGVkID0gMjtcbiAgcmFuZG9tTW9udGhTZWxlY3RlZCA9IFtdO1xuICByYW5kb21RdWFydGVybHlTZWxlY3RlZCA9IDE7XG4gIHF1YXJ0ZXJseUdyb3VwID0gWzAsIDMsIDYsIDksIDEsIDQsIDcsIDEwLCAyLCA1LCA4LCAxMV07XG4gIHJhbmRvbVR5cGVJbnN0YW5jZXMgPSBbMiwgNSwgMTUsIDQ1XTtcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xuICBzaG9ydE1vbnRoOiBBcnJheTxzdHJpbmc+ID0gW107XG4gIHF1YXJ0ZXJseU1vbnRoOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgQElucHV0KCkgc3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURhdGE6IGFueTtcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xuXG4gIEBPdXRwdXQoKSBmcmVxdWVuY3lEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubW9udGhOYW1lQXJyYXkgPSBbLi4ubmV3IFNldCh0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheSldO1xuICAgIHRoaXMucXVhcnRlcmx5TW9udGggPSBbLi4ubmV3IFNldCh0aGlzLmZyZXF1ZW5jeVNlcnZpY2UucXVhcnRlcmx5TW9udGgpXTtcbiAgICB0aGlzLnNob3J0TW9udGggPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheS5tYXAoKG1vbnRoOiBzdHJpbmcpID0+XG4gICAgICBtb250aC5zdWJzdHJpbmcoMCwgMylcbiAgICApO1xuICAgIGNvbnN0IGluZGV4T2ZNb250aCA9IHRoaXMucXVhcnRlcmx5R3JvdXAuaW5kZXhPZihuZXcgRGF0ZSgpLmdldE1vbnRoKCkpO1xuICAgIHRoaXMucmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWQgPVxuICAgICAgaW5kZXhPZk1vbnRoIDwgNCA/IDAgOiBpbmRleE9mTW9udGggPiAzICYmIGluZGV4T2ZNb250aCA8IDggPyAxIDogMjtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcbiAgICBpZiAoXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxuICAgICAgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSkgPT09IDhcbiAgICApIHtcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5nZXRSYW5kb21JbnN0YW5jZXMoKTtcbiAgICB9XG4gICAgdGhpcy5nZXRSYW5kb21GcmVxdWVuY3koKTtcbiAgfVxuXG4gIGdldFJhbmRvbUluc3RhbmNlcygpIHtcbiAgICB0aGlzLnJhbmRvbUluc3RhbmNlcyA9IHRoaXMucmFuZG9tVHlwZUluc3RhbmNlc1t0aGlzLnJhbmRvbVR5cGVTZWxlY3RlZF07XG4gIH1cblxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcbiAgICBjb25zdCBmcmVxdWVuY3lTZWxlY3RlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuLnNwbGl0KCd+Jyk7XG4gICAgY29uc3QgbGlmZWN5Y2xlSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUuc3BsaXQoJ35+Jyk7XG4gICAgdGhpcy5yYW5kb21XaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGEud2luZG93O1xuICAgIHRoaXMucmFuZG9tRmFpbGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZDtcbiAgICB0aGlzLnJhbmRvbUluc3RhbmNlcyA9IHBhcnNlSW50KGZyZXF1ZW5jeVNlbGVjdGVkWzNdKTtcbiAgICB0aGlzLnJhbmRvbVR5cGVTZWxlY3RlZCA9IHBhcnNlSW50KGZyZXF1ZW5jeVNlbGVjdGVkWzFdKSAtIDE7XG4gICAgaWYgKHRoaXMucmFuZG9tVHlwZVNlbGVjdGVkID09PSAxKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTW9udGhseSA9IGZyZXF1ZW5jeVNlbGVjdGVkWzJdXG4gICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgIC5tYXAoKGVsZTogYW55KSA9PiBwYXJzZUludChlbGUpIC0gMSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJhbmRvbVR5cGVTZWxlY3RlZCA9PSAyKSB7XG4gICAgICBjb25zdCBtb250aFJhbmRvbSA9IHBhcnNlSW50KGZyZXF1ZW5jeVNlbGVjdGVkWzJdLnNwbGl0KCcsJylbMF0pO1xuICAgICAgY29uc3QgaW5kZXhSYW5kb20gPSB0aGlzLnF1YXJ0ZXJseUdyb3VwLmluZGV4T2YobW9udGhSYW5kb20gLSAxKTtcbiAgICAgIHRoaXMucmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWQgPVxuICAgICAgICBpbmRleFJhbmRvbSA8IDQgPyAwIDogaW5kZXhSYW5kb20gPiAzICYmIGluZGV4UmFuZG9tIDwgOCA/IDEgOiAyO1xuICAgIH1cbiAgICB0aGlzLnJhbmRvbWx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSh0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlICogMTAwMCk7XG4gICAgdGhpcy5zdGFydERhdGUgPVxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RnJvbSA/PyB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlO1xuICAgIGlmIChOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSkgPiAwKSB7XG4gICAgICB0aGlzLnJhbmRvbWx5TGlmZWN5Y2xlT2NjdXJhbmNlID0gTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pO1xuICAgIH1cbiAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlO1xuICAgIGlmIChsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcbiAgICAgIGNvbnN0IGRhdGVTZWxlY3RlZCA9IG1vbWVudChcbiAgICAgICAgbGlmZWN5Y2xlSW5mb1swXSArICcgJyArIERFRkFVTFRfVElNRSxcbiAgICAgICAgJ0RELU1NTU0tWVlZWSBISDptbSBhJ1xuICAgICAgKS51bml4KCk7XG4gICAgICB0aGlzLnJhbmRvbWx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKGRhdGVTZWxlY3RlZCAqIDEwMDApO1xuICAgIH1cbiAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZSA9PSAnMDAwMC0wMC0wMH5+MCcpIHtcbiAgICAgIHRoaXMucmFuZG9tbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDI7XG4gICAgfSBlbHNlIGlmIChsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcbiAgICAgIHRoaXMucmFuZG9tbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmFuZG9tbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XG4gICAgfVxuICB9XG5cbiAgb25Nb250aFNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZE1vbnRobHkucHVzaChldmVudC5pbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb250aGx5ID0gdGhpcy5zZWxlY3RlZE1vbnRobHkuZmlsdGVyKFxuICAgICAgICAoZWxlKSA9PiBlbGUgIT09IGV2ZW50LmluZGV4XG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmdldFJhbmRvbUZyZXF1ZW5jeSgpO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjb21wbGV0ZWQnKSB7XG4gICAgICB0aGlzLnJhbmRvbVdpbmRvdyA9IGV2ZW50LnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJhbmRvbUZhaWxlZCA9IGV2ZW50LnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLmdldFJhbmRvbUZyZXF1ZW5jeSgpO1xuICB9XG5cbiAgcmFuZG9tQ2hlY2tlZChldmVudDogYW55KSB7XG4gICAgdGhpcy5yYW5kb21UeXBlU2VsZWN0ZWQgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB0aGlzLmdldFJhbmRvbUluc3RhbmNlcygpO1xuICAgIHRoaXMuZ2V0UmFuZG9tRnJlcXVlbmN5KCk7XG4gIH1cblxuICByYW5kb21JbnN0YW5jZShldmVudDogYW55LCB0eXBlOiBhbnkpIHtcbiAgICBpZiAoXG4gICAgICAhTnVtYmVyLmlzTmFOKE51bWJlcihldmVudC50YXJnZXQudmFsdWUpKSAmJlxuICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlICE9PSAnMCcgJiZcbiAgICAgIHBhcnNlSW50KGV2ZW50LnRhcmdldC52YWx1ZSkgPiAwICYmXG4gICAgICBwYXJzZUludChldmVudC50YXJnZXQudmFsdWUpIDwgdGhpcy5yYW5kb21UeXBlTWF4W3R5cGVdICsgMVxuICAgICkge1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJhbmRvbUluc3RhbmNlcyA9XG4gICAgICAgIHRoaXMuZGVmYXVsdFJhbmRvbUluc3RhbmNlW3RoaXMucmFuZG9tVHlwZVNlbGVjdGVkXTtcbiAgICB9XG4gICAgdGhpcy5nZXRSYW5kb21GcmVxdWVuY3koKTtcbiAgfVxuXG4gIGxpZmVjeWNsZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IGV2ZW50LmVuZHNCeSArICd+fjAnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+ficgKyBldmVudC5lbmRhZnRlcjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4wJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGlmIChldmVudC5zdGFydEZyb20udG9TdHJpbmcoKS5sZW5ndGggPiAxMCkge1xuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSAvIDEwMDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tKTtcbiAgICB9XG4gICAgbGV0IGVuZEJ5RGF0ZSA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwICsgODY0MDAwMDApO1xuICAgIGlmIChldmVudC50eXBlID09PSAwKSB7XG4gICAgICBlbmRCeURhdGUgPSBldmVudC5lbmRzQnlcbiAgICAgICAgPyBtb21lbnQoZXZlbnQuZW5kc0J5ICsgJyAwMDowMDowMCcsICdERC1NTU0tWVlZWSBISDptbTpzcycpLnVuaXgoKVxuICAgICAgICA6IGVuZEJ5RGF0ZTtcbiAgICB9XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcbiAgICB0aGlzLmdldFJhbmRvbUZyZXF1ZW5jeSgpO1xuICB9XG5cbiAgc2VsZWN0ZWRNb250aChldmVudDogYW55KSB7XG4gICAgdGhpcy5nZXRSYW5kb21GcmVxdWVuY3koKTtcbiAgfVxuXG4gIHJhbmRvbVF1YXJ0ZXJseUNoZWNrZWQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWQgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB0aGlzLmdldFJhbmRvbUZyZXF1ZW5jeSgpO1xuICB9XG5cbiAgZ2V0UmFuZG9tRnJlcXVlbmN5KCkge1xuICAgIC8vMDogd2Vla2x5IDE6IG1vbnRobHkgMjpxdWFydGVybHkgMzogeWVhcmx5XG4gICAgbGV0IHNlbGVjdGVkTW9udGg6IGFueSA9IFtdXG4gICAgbGV0IGZyZXF1ZW5jeURldGFpbHM7XG4gICAgc3dpdGNoICh0aGlzLnJhbmRvbVR5cGVTZWxlY3RlZCkge1xuICAgICAgY2FzZSAwOlxuICAgICAgICBmcmVxdWVuY3lEZXRhaWxzID0gdGhpcy5nZXRXZWVrbHlGcmVxdWVuY3koKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIGZyZXF1ZW5jeURldGFpbHMgPSB0aGlzLmdldE1vbnRobHlGcmVxdWVuY3koKTtcbiAgICAgICAgc2VsZWN0ZWRNb250aCA9IHRoaXMuc2VsZWN0ZWRNb250aGx5O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgZnJlcXVlbmN5RGV0YWlscyA9IHRoaXMuZ2V0UXVhcnRlcmx5RnJlcXVlbmN5KCk7XG4gICAgICAgIHNlbGVjdGVkTW9udGggPSBmcmVxdWVuY3lEZXRhaWxzLm1vbnRoU2VxdWVuY2U7XG4gICAgICAgIHNlbGVjdGVkTW9udGggPSBzZWxlY3RlZE1vbnRoLm1hcCgoZWxlOiBhbnkpID0+IGVsZSAtIDEpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAzOlxuICAgICAgICBmcmVxdWVuY3lEZXRhaWxzID0gdGhpcy5nZXRZZWFybHlGcmVxdWVuY3koKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wYXR0ZXJuID0gZnJlcXVlbmN5RGV0YWlscz8ucGF0dGVybjtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPSBmcmVxdWVuY3lEZXRhaWxzPy5wbGFjZWhvbGRlcjtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uY2FzZSA9ICdyYW5kb21seSc7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZEFmdGVyID0gdGhpcy5yYW5kb21GYWlsZWQ7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMucmFuZG9tV2luZG93O1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5zZWxlY3RlZE1vbnRoID0gc2VsZWN0ZWRNb250aDtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMubGlmZWN5Y2xlRGV0YWlscztcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uc3RhcnRGcm9tID0gdGhpcy5zdGFydERhdGU7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJhbmRvbVR5cGVTZWxlY3RlZCA9IHRoaXMucmFuZG9tVHlwZVNlbGVjdGVkO1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5yYW5kb21JbnN0YW5jZXMgPSB0aGlzLnJhbmRvbUluc3RhbmNlcztcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xuICB9XG5cbiAgZ2V0V2Vla2x5RnJlcXVlbmN5KCkge1xuICAgIHJldHVybiB7XG4gICAgICBwYXR0ZXJuOiA4ICsgJ34nICsgMSArICd+JyArIDAgKyAnficgKyB0aGlzLnJhbmRvbUluc3RhbmNlcyxcbiAgICAgIHBsYWNlaG9sZGVyOlxuICAgICAgICAnRXZlcnkgd2VlayBmb3IgJyArIHRoaXMucmFuZG9tSW5zdGFuY2VzICsgJyByYW5kb20gaW5zdGFuY2VzJyxcbiAgICB9O1xuICB9XG5cbiAgZ2V0TW9udGhseUZyZXF1ZW5jeSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9udGhseSA9IHRoaXMuc2VsZWN0ZWRNb250aGx5LnNvcnQoKG4xLCBuMikgPT4gbjEgLSBuMik7XG4gICAgY29uc3Qgc2VsZWN0ZWRNb250aCA9IHRoaXMuc2VsZWN0ZWRNb250aGx5Lm1hcCgoZWxlKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5zaG9ydE1vbnRoW2VsZV07XG4gICAgfSk7XG4gICAgY29uc3QgbW9udGhJbmRleCA9IHRoaXMuc2VsZWN0ZWRNb250aGx5Lm1hcCgoZWxlKSA9PiBlbGUgKyAxKTtcbiAgICByZXR1cm4ge1xuICAgICAgcGF0dGVybjpcbiAgICAgICAgOCArICd+JyArIDIgKyAnficgKyBtb250aEluZGV4LmpvaW4oJywnKSArICd+JyArIHRoaXMucmFuZG9tSW5zdGFuY2VzLFxuICAgICAgcGxhY2Vob2xkZXI6XG4gICAgICAgICdFdmVyeSAnICtcbiAgICAgICAgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICtcbiAgICAgICAgJyBmb3IgJyArXG4gICAgICAgIHRoaXMucmFuZG9tSW5zdGFuY2VzICtcbiAgICAgICAgJyByYW5kb20gaW5zdGFuY2VzJyxcbiAgICB9O1xuICB9XG5cbiAgZ2V0UXVhcnRlcmx5RnJlcXVlbmN5KCkge1xuICAgIGxldCBtb250aFNlcXVlbmNlID1cbiAgICAgIHRoaXMucmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWQgPT09IDBcbiAgICAgICAgPyB0aGlzLnF1YXJ0ZXJseUdyb3VwLnNsaWNlKDAsIDQpXG4gICAgICAgIDogdGhpcy5yYW5kb21RdWFydGVybHlTZWxlY3RlZCA9PT0gMVxuICAgICAgICA/IHRoaXMucXVhcnRlcmx5R3JvdXAuc2xpY2UoNCwgOClcbiAgICAgICAgOiB0aGlzLnF1YXJ0ZXJseUdyb3VwLnNsaWNlKDgpO1xuICAgIG1vbnRoU2VxdWVuY2UgPSBtb250aFNlcXVlbmNlLm1hcCgoZWxlKSA9PiBlbGUgKyAxKTtcbiAgICByZXR1cm4ge1xuICAgICAgcGF0dGVybjogOCArICd+JyArIDMgKyAnficgKyBtb250aFNlcXVlbmNlICsgJ34nICsgdGhpcy5yYW5kb21JbnN0YW5jZXMsXG4gICAgICBwbGFjZWhvbGRlcjpcbiAgICAgICAgJ0V2ZXJ5ICcgK1xuICAgICAgICB0aGlzLnF1YXJ0ZXJseU1vbnRoW3RoaXMucmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWRdICtcbiAgICAgICAgJyBmb3IgJyArXG4gICAgICAgIHRoaXMucmFuZG9tSW5zdGFuY2VzICtcbiAgICAgICAgJyByYW5kb20gaW5zdGFuY2VzJyxcbiAgICAgICAgbW9udGhTZXF1ZW5jZVxuXG4gICAgfTtcbiAgfVxuXG4gIGdldFllYXJseUZyZXF1ZW5jeSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGF0dGVybjpcbiAgICAgICAgOCArICd+JyArIDQgKyAnfjEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyficgKyB0aGlzLnJhbmRvbUluc3RhbmNlcyxcbiAgICAgIHBsYWNlaG9sZGVyOlxuICAgICAgICAnRXZlcnkgeWVhciBmb3IgJyArIHRoaXMucmFuZG9tSW5zdGFuY2VzICsgJyByYW5kb20gaW5zdGFuY2VzJyxcbiAgICB9O1xuICB9XG59XG4iLCI8IS0tIDxwPmZyZXF1ZW5jeS1yYW5kb20gd29ya3MhPC9wPiAtLT5cbjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmFuZG9tXCI+XG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5UWVBFOjwvZGl2PiBcbiAgICA8YXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0XG4gICAgW3JhZGlvTGlzdF09XCJyYW5kb21UeXBlXCIgXG4gICAgW3NlbGVjdGVkSW5kZXhdPVwicmFuZG9tVHlwZVNlbGVjdGVkXCIgXG4gICAgKHNlbGVjdGVkUmFkaW8pPVwicmFuZG9tQ2hlY2tlZCgkZXZlbnQpXCJcbiAgICBbbmFtZV09XCIncmFuZG9tJ1wiXG4gICAgY2xhc3M9XCJyYW5kb20tcmFkaW9cIlxuICAgIFttb2RlXT1cIm1vZGVcIlxuICAgID48L2FwcC1mcmVxdWVuY3ktcmFkaW8tbGlzdD5cbiAgICA8YXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0XG4gICAgICAgICpuZ0lmPVwicmFuZG9tVHlwZVNlbGVjdGVkID09IDJcIiAgXG4gICAgICAgIFtyYWRpb0xpc3RdPVwicXVhcnRlcmx5TW9udGhcIlxuICAgICAgICBbbmFtZV09XCIncXVhcnRlcidcIiBcbiAgICAgICAgW3NlbGVjdGVkSW5kZXhdPVwicmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWRcIiBcbiAgICAgICAgKHNlbGVjdGVkUmFkaW8pPVwicmFuZG9tUXVhcnRlcmx5Q2hlY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJxdWFydGVybHktcmFkaW9cIlxuICAgICAgICBbbW9kZV09XCJtb2RlXCJcbiAgICAgICAgPlxuICAgIDwvYXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0PlxuICAgIDxhcHAtZnJlcXVlbmN5LWNoZWNrYm94LWxpc3RcbiAgICAgICAgKm5nSWY9XCJyYW5kb21UeXBlU2VsZWN0ZWQgPT0gMVwiICBcbiAgICAgICAgW2lkXT1cIjhcIlxuICAgICAgICBbbGlzdEFycmF5XT1cIm1vbnRoTmFtZUFycmF5XCJcbiAgICAgICAgW3NlbGVjdGVkSW5kZXhdPVwic2VsZWN0ZWRNb250aGx5XCJcbiAgICAgICAgKHNlbGVjdGVkQ2hlY2tib3gpPVwib25Nb250aFNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICBjbGFzcz1cIm1vbnRobHktY2hlY2tib3hcIlxuICAgICAgICBbbW9kZV09XCJtb2RlXCJcbiAgICA+PC9hcHAtZnJlcXVlbmN5LWNoZWNrYm94LWxpc3Q+XG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1yYW5kb20tbWVzc2FnZSB2eC1wLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dFwiPlJhbmRvbSBvY2N1cnJlbmNlIGZvcjwvZGl2PlxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJjb3VudE51bVwiIHR5cGU9XCJudW1iZXJcIiBbKG5nTW9kZWwpXT1cInJhbmRvbUluc3RhbmNlc1wiIChjaGFuZ2UpPVwicmFuZG9tSW5zdGFuY2UoJGV2ZW50LCByYW5kb21UeXBlU2VsZWN0ZWQpXCIgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiIG1pbj1cIjBcIiBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0XCI+aW5zdGFuY2VzLiBOb3RlLCB0aGUgbWF4aW11bSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgZm9yIDxzcGFuIGNsYXNzPVwidngtZnctNTAwXCI+e3sgcmFuZG9tVHlwZVtyYW5kb21UeXBlU2VsZWN0ZWRdLnRvTG93ZXJDYXNlKCkgfX08L3NwYW4+IGlzIHt7IHJhbmRvbVR5cGVNYXhbcmFuZG9tVHlwZVNlbGVjdGVkXSB9fS48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZVxuICAgICAgICBbaWRdID0gJzgnXG4gICAgICAgIFtwYWdlTmFtZV09XCIncmFuZG9tJ1wiXG4gICAgICAgIFttb2RlXT1cIm1vZGVcIlxuICAgICAgICBbaXNEZWFjdGl2YXRlZF09XCJmYWxzZVwiXG4gICAgICAgIFtjb21wbGV0ZWRWYWx1ZV09XCJyYW5kb21XaW5kb3dcIlxuICAgICAgICBbbm90Q29tcGxldGVkVmFsdWVdPVwicmFuZG9tRmFpbGVkXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFttb2RlXT1cIm1vZGVcIlxuICAgID48L2FwcC1mcmVxdWVuY3ktZHVlLWRhdGU+XG4gICAgPGFwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlXG4gICAgICAgIFtpZF09XCI4XCJcbiAgICAgICAgW3N0YXJ0RGF0ZV09XCJyYW5kb21seUxpZmVDeWNsZVN0YXJ0XCJcbiAgICAgICAgW2VuZERhdGVdPVwicmFuZG9tbHlMaWZlQ3ljbGVFbmRUaW1lXCJcbiAgICAgICAgW29jY3VycmFuY2VdPVwicmFuZG9tbHlMaWZlY3ljbGVPY2N1cmFuY2VcIlxuICAgICAgICBbc2VsZWN0ZWRMaWZlY3ljbGVUeXBlXT1cInJhbmRvbWx5U2VsZXRlZExpZmVjeWNsZVR5cGVcIlxuICAgICAgICAoc2VsZWN0ZWRPY2N1cmFuY2UpPVwibGlmZWN5Y2xlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbbW9kZV09XCJtb2RlXCJcbiAgICA+PC9hcHAtZnJlcXVlbmN5LWxpZmVjeWNsZT5cbjwvZGl2PlxuIl19
|
package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs
CHANGED
|
@@ -136,7 +136,7 @@ export class FrequencyWeeklyComponent {
|
|
|
136
136
|
'0' +
|
|
137
137
|
'~' +
|
|
138
138
|
this.weeklyInput;
|
|
139
|
-
this.frequencyInfo.case = '
|
|
139
|
+
this.frequencyInfo.case = 'weekly';
|
|
140
140
|
this.frequencyInfo.failedAfter = this.weeklyFailed;
|
|
141
141
|
this.frequencyInfo.window = this.weeklyWindow;
|
|
142
142
|
this.frequencyInfo.timeIn12hr = this.weeklyInterval;
|
|
@@ -145,6 +145,8 @@ export class FrequencyWeeklyComponent {
|
|
|
145
145
|
this.frequencyInfo.startFrom =
|
|
146
146
|
this.startDate ?? Math.floor(Date.now() / 1000);
|
|
147
147
|
this.frequencyInfo.reportId = 0;
|
|
148
|
+
this.frequencyInfo.every = this.weeklyInput;
|
|
149
|
+
this.frequencyInfo.selectedDay = this.selectedWeekly.map(ele => ele + 1);
|
|
148
150
|
this.frequencyInfo.continuous_failed_days = this.weeklyDeactivatedValue;
|
|
149
151
|
this.frequencyDetails.emit(this.frequencyInfo);
|
|
150
152
|
}
|
|
@@ -197,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
197
199
|
}], frequencyDetails: [{
|
|
198
200
|
type: Output
|
|
199
201
|
}] } });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktd2Vla2x5L2ZyZXF1ZW5jeS13ZWVrbHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXdlZWtseS9mcmVxdWVuY3ktd2Vla2x5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQU9qRSxNQUFNLE9BQU8sd0JBQXdCO0lBMEJuQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXpCN0MsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUV4QixtQkFBYyxHQUFHLFlBQVksQ0FBQztRQUM5QixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQix5QkFBb0IsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xDLDJCQUFzQixHQUFHLElBQUksSUFBSSxDQUMvQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUMvQyxDQUFDO1FBQ0YsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLCtCQUEwQixHQUFH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UUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLFdBQVcsS0FBSyxDQUFDLEVBQUU7WUFDckIsV0FBVztnQkFDVCxRQUFRLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUNwRTtRQUNELElBQUksV0FBVyxLQUFLLENBQUMsRUFBRTtZQUNyQixXQUFXO2dCQUNULGtCQUFrQjtvQkFDbEIsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ3RCLE1BQU07b0JBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUN2QjtRQUNELElBQUksV0FBVyxLQUFLLENBQUMsRUFBRTtZQUNyQixXQUFXO2dCQUNULFlBQVksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3hFO1FBQ0QsSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLFdBQVc7Z0JBQ1QsUUFBUTtvQkFDUixJQUFJLENBQUMsV0FBVztvQkFDaEIsS0FBSztvQkFDTCxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDdEIsTUFBTTtvQkFDTixJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3ZCO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzsrR0FyTVUsd0JBQXdCO21HQUF4Qix3QkFBd0IsdU5DVnJDLGt5Q0F3Q0E7OzRGRDlCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCO3VHQUt2QixJQUFJO3NCQUFaLEtBQUs7Z0JBbUJHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xuaW1wb3J0IHsgREVGQVVMVF9USU1FIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3RpbWUuY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS13ZWVrbHknLFxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS13ZWVrbHkuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5V2Vla2x5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbW9kZTogYW55ID0gJyc7XG5cbiAgd2Vla2x5SW50ZXJ2YWwgPSBERUZBVUxUX1RJTUU7XG4gIHdlZWtseUlucHV0ID0gMTtcbiAgd2Vla2x5RmFpbGVkID0gMjtcbiAgd2Vla2x5V2luZG93ID0gMjtcbiAgd2Vla2x5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSgpO1xuICB3ZWVrbHlMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUoXG4gICAgdGhpcy53ZWVrbHlMaWZlQ3ljbGVTdGFydC5nZXRUaW1lKCkgKyA4NjQwMDAwMFxuICApO1xuICB3ZWVrbHlMaWZlY3ljbGVPY2N1cmFuY2UgPSAxMDtcbiAgd2Vla2x5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xuICBzZWxlY3RlZFdlZWtseSA9IFtuZXcgRGF0ZSgpLmdldERheSgpID09IDAgPyA2IDogbmV3IERhdGUoKS5nZXREYXkoKSAtIDFdO1xuICB3ZWVrbHlEZWFjdGl2YXRlZFZhbHVlID0gMTA7XG4gIGRheUFycmF5OiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgZnJlcXVlbmN5SW5mbzogYW55O1xuICBsaWZlY3ljbGVEZXRhaWxzOiBhbnkgPSAnMDAwMC0wMC0wMH5+MCc7XG5cbiAgQElucHV0KCkgcGFnZVR5cGU6ICdyZXNwb25zaWJpbGl0eScgfCAncG9saWN5JyA9ICdyZXNwb25zaWJpbGl0eSc7XG4gIEBJbnB1dCgpIHN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xuICBASW5wdXQoKSBmcmVxdWVuY3lEYXRhOiBhbnk7XG5cbiAgQE91dHB1dCgpIGZyZXF1ZW5jeURldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXlBcnJheSA9IFsuLi5uZXcgU2V0KHRoaXMuZnJlcXVlbmN5U2VydmljZS5kYXlOYW1lKV07XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvID0gT2JqZWN0LmFzc2lnbih0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZnJlcXVlbmN5SW5mbyk7XG4gICAgaWYgKFxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4gIT0gJycgJiZcbiAgICAgIHBhcnNlSW50KHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuLnNwbGl0KCd+JylbMF0pID09PSAyXG4gICAgKSB7XG4gICAgICB0aGlzLnBvcHVsYXRlRnJlcXVlbmN5KCk7XG4gICAgfVxuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XG4gIH1cblxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcbiAgICBjb25zdCBwYXR0ZXJuSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuLnNwbGl0KCd+Jyk7XG4gICAgdGhpcy5zZWxlY3RlZFdlZWtseSA9IHBhdHRlcm5JbmZvWzFdXG4gICAgICAuc3BsaXQoJywnKVxuICAgICAgLm1hcCgoZWxlOiBhbnkpID0+IE51bWJlcihlbGUpIC0gMSk7XG4gICAgY29uc3QgbGlmZWN5Y2xlSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUuc3BsaXQoJ35+Jyk7XG4gICAgdGhpcy53ZWVrbHlJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWRUaW1lO1xuICAgIHRoaXMud2Vla2x5V2luZG93ID0gdGhpcy5mcmVxdWVuY3lEYXRhLndpbmRvdztcbiAgICB0aGlzLndlZWtseUlucHV0ID0gcGF0dGVybkluZm9bM107XG4gICAgaWYgKE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKSA+IDApIHtcbiAgICAgIHRoaXMud2Vla2x5TGlmZWN5Y2xlT2NjdXJhbmNlID0gTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnREYXRlID1cbiAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydEZyb20gPz8gdGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RGF0ZTtcbiAgICB0aGlzLndlZWtseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoXG4gICAgICAodGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RGF0ZSA/PyB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlKSAqIDEwMDBcbiAgICApO1xuICAgIHRoaXMud2Vla2x5RmFpbGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZDtcbiAgICB0aGlzLndlZWtseURlYWN0aXZhdGVkVmFsdWUgPSB0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cztcbiAgICBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQoXG4gICAgICAgIGxpZmVjeWNsZUluZm9bMF0gKyAnICcgKyBERUZBVUxUX1RJTUUsXG4gICAgICAgICdERC1NTU1NLVlZWVkgSEg6bW0gYSdcbiAgICAgICkudW5peCgpO1xuICAgICAgdGhpcy53ZWVrbHlMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUoZGF0ZVNlbGVjdGVkICogMTAwMCk7XG4gICAgfVxuICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGU7XG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUgPT0gJzAwMDAtMDAtMDB+fjAnKSB7XG4gICAgICB0aGlzLndlZWtseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcbiAgICB9IGVsc2UgaWYgKGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xuICAgICAgdGhpcy53ZWVrbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud2Vla2x5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAxO1xuICAgIH1cbiAgfVxuXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6IHN0cmluZykge1xuICAgIHRoaXMud2Vla2x5SW50ZXJ2YWwgPSBldmVudDtcbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xuICB9XG5cbiAgdmFsdWVDaGFuZ2VkRmlyc3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMud2Vla2x5SW5wdXQgPSBldmVudC52YWx1ZTtcbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xuICB9XG5cbiAgb25EYXlTZWxlY3RlZChldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRXZWVrbHkucHVzaChldmVudC5pbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRXZWVrbHkgPSB0aGlzLnNlbGVjdGVkV2Vla2x5LmZpbHRlcihcbiAgICAgICAgKGVsZSkgPT4gZWxlICE9PSBldmVudC5pbmRleFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5nZXRXZWVrbHlGcmVxdWVuY3koKTtcbiAgfVxuXG4gIGxpZmVjeWNsZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IGV2ZW50LmVuZHNCeSArICd+fjAnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+ficgKyBldmVudC5lbmRhZnRlcjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4wJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGlmIChldmVudC5zdGFydEZyb20udG9TdHJpbmcoKS5sZW5ndGggPiAxMCkge1xuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSAvIDEwMDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tKTtcbiAgICB9XG4gICAgbGV0IGVuZEJ5RGF0ZSA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwICsgODY0MDAwMDApO1xuICAgIGlmIChldmVudC50eXBlID09PSAwKSB7XG4gICAgICBlbmRCeURhdGUgPSBldmVudC5lbmRzQnlcbiAgICAgICAgPyBtb21lbnQoZXZlbnQuZW5kc0J5ICsgJyAwMDowMDowMCcsICdERC1NTU0tWVlZWSBISDptbTpzcycpLnVuaXgoKVxuICAgICAgICA6IGVuZEJ5RGF0ZTtcbiAgICB9XG4gICAgdGhpcy53ZWVrbHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlICogMTAwMCk7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdkZWFjdGl2YXRlZCcpIHtcbiAgICAgIHRoaXMud2Vla2x5RGVhY3RpdmF0ZWRWYWx1ZSA9IGV2ZW50LnZhbHVlO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBsZXRlZCcpIHtcbiAgICAgIHRoaXMud2Vla2x5V2luZG93ID0gZXZlbnQudmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud2Vla2x5RmFpbGVkID0gZXZlbnQudmFsdWU7XG4gICAgfVxuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XG4gIH1cblxuICBnZXRXZWVrbHlGcmVxdWVuY3koKSB7XG4gICAgdGhpcy5zZWxlY3RlZFdlZWtseSA9IHRoaXMuc2VsZWN0ZWRXZWVrbHkuc29ydCgobjEsIG4yKSA9PiBuMSAtIG4yKTtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPSB0aGlzLmdldFBsYWNlaG9sZGVyKFxuICAgICAgTnVtYmVyKHRoaXMud2Vla2x5SW5wdXQpXG4gICAgKTtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9XG4gICAgICAyICtcbiAgICAgICd+JyArXG4gICAgICB0aGlzLnNlbGVjdGVkV2Vla2x5Lm1hcCgoZWxlKSA9PiBlbGUgKyAxKS5qb2luKCcsJykgK1xuICAgICAgJ34nICtcbiAgICAgICcwJyArXG4gICAgICAnficgK1xuICAgICAgdGhpcy53ZWVrbHlJbnB1dDtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uY2FzZSA9ICd3ZWVrJztcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkQWZ0ZXIgPSB0aGlzLndlZWtseUZhaWxlZDtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ud2luZG93ID0gdGhpcy53ZWVrbHlXaW5kb3c7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjEyaHIgPSB0aGlzLndlZWtseUludGVydmFsO1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4yNEhyID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnRpbWVGcm9tMTJoVG8yNGgoXG4gICAgICB0aGlzLndlZWtseUludGVydmFsXG4gICAgKTtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMubGlmZWN5Y2xlRGV0YWlscztcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uc3RhcnRGcm9tID1cbiAgICAgIHRoaXMuc3RhcnREYXRlID8/IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5yZXBvcnRJZCA9IDA7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNvbnRpbnVvdXNfZmFpbGVkX2RheXMgPSB0aGlzLndlZWtseURlYWN0aXZhdGVkVmFsdWU7XG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmVtaXQodGhpcy5mcmVxdWVuY3lJbmZvKTtcbiAgfVxuXG4gIGdldFBsYWNlaG9sZGVyKHdlZWtseUlucHV0OiBudW1iZXIpIHtcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcbiAgICB3ZWVrbHlJbnB1dCA9IE51bWJlcih3ZWVrbHlJbnB1dCk7XG5cbiAgICBjb25zdCBzZWxlY3RlZERheSA9IHRoaXMuc2VsZWN0ZWRXZWVrbHkubWFwKChlbGUpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZGF5TmFtZVtlbGVdO1xuICAgIH0pO1xuICAgIGlmICh3ZWVrbHlJbnB1dCA9PT0gMSkge1xuICAgICAgcGxhY2Vob2xkZXIgPVxuICAgICAgICAnRXZlcnkgJyArIHNlbGVjdGVkRGF5LmpvaW4oJywgJykgKyAnIGJ5ICcgKyB0aGlzLndlZWtseUludGVydmFsO1xuICAgIH1cbiAgICBpZiAod2Vla2x5SW5wdXQgPT09IDIpIHtcbiAgICAgIHBsYWNlaG9sZGVyID1cbiAgICAgICAgJ0V2ZXJ5IGFsdGVybmF0ZSAnICtcbiAgICAgICAgc2VsZWN0ZWREYXkuam9pbignLCAnKSArXG4gICAgICAgICcgYnkgJyArXG4gICAgICAgIHRoaXMud2Vla2x5SW50ZXJ2YWw7XG4gICAgfVxuICAgIGlmICh3ZWVrbHlJbnB1dCA9PT0gMykge1xuICAgICAgcGxhY2Vob2xkZXIgPVxuICAgICAgICAnRXZlcnkgM3JkICcgKyBzZWxlY3RlZERheS5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy53ZWVrbHlJbnRlcnZhbDtcbiAgICB9XG4gICAgaWYgKHdlZWtseUlucHV0ID4gMykge1xuICAgICAgcGxhY2Vob2xkZXIgPVxuICAgICAgICAnRXZlcnkgJyArXG4gICAgICAgIHRoaXMud2Vla2x5SW5wdXQgK1xuICAgICAgICAndGggJyArXG4gICAgICAgIHNlbGVjdGVkRGF5LmpvaW4oJywgJykgK1xuICAgICAgICAnIGJ5ICcgK1xuICAgICAgICB0aGlzLndlZWtseUludGVydmFsO1xuICAgIH1cbiAgICByZXR1cm4gcGxhY2Vob2xkZXI7XG4gIH1cbn1cbiIsIjwhLS0gPHA+ZnJlcXVlbmN5LXdlZWtseSB3b3JrcyE8L3A+IC0tPlxuPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS13ZWVrbHlcIj5cbiAgPGFwcC1mcmVxdWVuY3ktdG9wXG4gICAgW2lkXT1cIjFcIlxuICAgIFtpbnB1dFRpbWVdPVwid2Vla2x5SW50ZXJ2YWxcIlxuICAgIFtvY2N1cnJlbmNlRmlyc3RdPVwid2Vla2x5SW5wdXRcIlxuICAgIFtmcmVxdWVuY3lUeXBlXT1cIjFcIlxuICAgICh0aW1lQ2hhbmdlZCk9XCJvblRpbWVDaGFuZ2VkKCRldmVudClcIlxuICAgICh2YWx1ZUNoYW5nZWRGaXJzdCk9XCJ2YWx1ZUNoYW5nZWRGaXJzdCgkZXZlbnQpXCJcbiAgICBbbW9kZV09XCJtb2RlXCJcbiAgPjwvYXBwLWZyZXF1ZW5jeS10b3A+XG4gIDxhcHAtZnJlcXVlbmN5LWNoZWNrYm94LWxpc3RcbiAgICBbaWRdPVwiMVwiXG4gICAgW2xpc3RBcnJheV09XCJkYXlBcnJheVwiXG4gICAgW3NlbGVjdGVkSW5kZXhdPVwic2VsZWN0ZWRXZWVrbHlcIlxuICAgIChzZWxlY3RlZENoZWNrYm94KT1cIm9uRGF5U2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gID48L2FwcC1mcmVxdWVuY3ktY2hlY2tib3gtbGlzdD5cbiAgPGFwcC1mcmVxdWVuY3ktZHVlLWRhdGVcbiAgICBbaWRdPVwiMVwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gICAgW3BhZ2VOYW1lXT1cIid3ZWVrbHknXCJcbiAgICBbZGVhY3RpdmF0ZVZhbHVlXT1cIndlZWtseURlYWN0aXZhdGVkVmFsdWVcIlxuICAgIFtpc0RlYWN0aXZhdGVkXT1cInRydWVcIlxuICAgIFtjb21wbGV0ZWRWYWx1ZV09XCJ3ZWVrbHlXaW5kb3dcIlxuICAgIFtub3RDb21wbGV0ZWRWYWx1ZV09XCJ3ZWVrbHlGYWlsZWRcIlxuICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gID48L2FwcC1mcmVxdWVuY3ktZHVlLWRhdGU+XG4gIDxhcHAtZnJlcXVlbmN5LWxpZmVjeWNsZVxuICAgIFtpZF09XCIxXCJcbiAgICBbc3RhcnREYXRlXT1cIndlZWtseUxpZmVDeWNsZVN0YXJ0XCJcbiAgICBbZW5kRGF0ZV09XCJ3ZWVrbHlMaWZlQ3ljbGVFbmRUaW1lXCJcbiAgICBbb2NjdXJyYW5jZV09XCJ3ZWVrbHlMaWZlY3ljbGVPY2N1cmFuY2VcIlxuICAgIFtzZWxlY3RlZExpZmVjeWNsZVR5cGVdPVwid2Vla2x5U2VsZXRlZExpZmVjeWNsZVR5cGVcIlxuICAgIChzZWxlY3RlZE9jY3VyYW5jZSk9XCJsaWZlY3ljbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gID48L2FwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlPlxuPC9kaXY+XG4iXX0=
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktd2Vla2x5L2ZyZXF1ZW5jeS13ZWVrbHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXdlZWtseS9mcmVxdWVuY3ktd2Vla2x5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQU9qRSxNQUFNLE9BQU8sd0JBQXdCO0lBMEJuQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXpCN0MsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUV4QixtQkFBYyxHQUFHLFlBQVksQ0FBQztRQUM5QixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQix5QkFBb0IsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xDLDJCQUFzQixHQUFHLElBQUksSUFBSSxDQUMvQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUMvQyxDQUFDO1FBQ0YsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLCtCQUEwQixHQUFH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S0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XG5pbXBvcnQgeyBERUZBVUxUX1RJTUUgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvdGltZS5jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LXdlZWtseScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktd2Vla2x5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lXZWVrbHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcblxuICB3ZWVrbHlJbnRlcnZhbCA9IERFRkFVTFRfVElNRTtcbiAgd2Vla2x5SW5wdXQgPSAxO1xuICB3ZWVrbHlGYWlsZWQgPSAyO1xuICB3ZWVrbHlXaW5kb3cgPSAyO1xuICB3ZWVrbHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKCk7XG4gIHdlZWtseUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShcbiAgICB0aGlzLndlZWtseUxpZmVDeWNsZVN0YXJ0LmdldFRpbWUoKSArIDg2NDAwMDAwXG4gICk7XG4gIHdlZWtseUxpZmVjeWNsZU9jY3VyYW5jZSA9IDEwO1xuICB3ZWVrbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDI7XG4gIHNlbGVjdGVkV2Vla2x5ID0gW25ldyBEYXRlKCkuZ2V0RGF5KCkgPT0gMCA/IDYgOiBuZXcgRGF0ZSgpLmdldERheSgpIC0gMV07XG4gIHdlZWtseURlYWN0aXZhdGVkVmFsdWUgPSAxMDtcbiAgZGF5QXJyYXk6IEFycmF5PHN0cmluZz4gPSBbXTtcblxuICBmcmVxdWVuY3lJbmZvOiBhbnk7XG4gIGxpZmVjeWNsZURldGFpbHM6IGFueSA9ICcwMDAwLTAwLTAwfn4wJztcblxuICBASW5wdXQoKSBwYWdlVHlwZTogJ3Jlc3BvbnNpYmlsaXR5JyB8ICdwb2xpY3knID0gJ3Jlc3BvbnNpYmlsaXR5JztcbiAgQElucHV0KCkgc3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURhdGE6IGFueTtcblxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRheUFycmF5ID0gWy4uLm5ldyBTZXQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmRheU5hbWUpXTtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcbiAgICBpZiAoXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxuICAgICAgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSkgPT09IDJcbiAgICApIHtcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcbiAgICB9XG4gICAgdGhpcy5nZXRXZWVrbHlGcmVxdWVuY3koKTtcbiAgfVxuXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKTtcbiAgICB0aGlzLnNlbGVjdGVkV2Vla2x5ID0gcGF0dGVybkluZm9bMV1cbiAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAubWFwKChlbGU6IGFueSkgPT4gTnVtYmVyKGVsZSkgLSAxKTtcbiAgICBjb25zdCBsaWZlY3ljbGVJbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZS5zcGxpdCgnfn4nKTtcbiAgICB0aGlzLndlZWtseUludGVydmFsID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZFRpbWU7XG4gICAgdGhpcy53ZWVrbHlXaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGEud2luZG93O1xuICAgIHRoaXMud2Vla2x5SW5wdXQgPSBwYXR0ZXJuSW5mb1szXTtcbiAgICBpZiAoTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pID4gMCkge1xuICAgICAgdGhpcy53ZWVrbHlMaWZlY3ljbGVPY2N1cmFuY2UgPSBOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGFydERhdGUgPVxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RnJvbSA/PyB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlO1xuICAgIHRoaXMud2Vla2x5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZShcbiAgICAgICh0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlID8/IHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGUpICogMTAwMFxuICAgICk7XG4gICAgdGhpcy53ZWVrbHlGYWlsZWQgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkO1xuICAgIHRoaXMud2Vla2x5RGVhY3RpdmF0ZWRWYWx1ZSA9IHRoaXMuZnJlcXVlbmN5RGF0YS5jb250aW51b3VzX2ZhaWxlZF9kYXlzO1xuICAgIGlmIChsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcbiAgICAgIGNvbnN0IGRhdGVTZWxlY3RlZCA9IG1vbWVudChcbiAgICAgICAgbGlmZWN5Y2xlSW5mb1swXSArICcgJyArIERFRkFVTFRfVElNRSxcbiAgICAgICAgJ0RELU1NTU0tWVlZWSBISDptbSBhJ1xuICAgICAgKS51bml4KCk7XG4gICAgICB0aGlzLndlZWtseUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShkYXRlU2VsZWN0ZWQgKiAxMDAwKTtcbiAgICB9XG4gICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZTtcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZSA9PSAnMDAwMC0wMC0wMH5+MCcpIHtcbiAgICAgIHRoaXMud2Vla2x5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XG4gICAgICB0aGlzLndlZWtseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53ZWVrbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XG4gICAgfVxuICB9XG5cbiAgb25UaW1lQ2hhbmdlZChldmVudDogc3RyaW5nKSB7XG4gICAgdGhpcy53ZWVrbHlJbnRlcnZhbCA9IGV2ZW50O1xuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XG4gIH1cblxuICB2YWx1ZUNoYW5nZWRGaXJzdChldmVudDogYW55KSB7XG4gICAgdGhpcy53ZWVrbHlJbnB1dCA9IGV2ZW50LnZhbHVlO1xuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XG4gIH1cblxuICBvbkRheVNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZFdlZWtseS5wdXNoKGV2ZW50LmluZGV4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZFdlZWtseSA9IHRoaXMuc2VsZWN0ZWRXZWVrbHkuZmlsdGVyKFxuICAgICAgICAoZWxlKSA9PiBlbGUgIT09IGV2ZW50LmluZGV4XG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xuICB9XG5cbiAgbGlmZWN5Y2xlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgIGNhc2UgMDpcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gZXZlbnQuZW5kc0J5ICsgJ35+MCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxOlxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+JyArIGV2ZW50LmVuZGFmdGVyO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+fjAnO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKGV2ZW50LnN0YXJ0RnJvbS50b1N0cmluZygpLmxlbmd0aCA+IDEwKSB7XG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tIC8gMTAwMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20pO1xuICAgIH1cbiAgICBsZXQgZW5kQnlEYXRlID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDAgKyA4NjQwMDAwMCk7XG4gICAgaWYgKGV2ZW50LnR5cGUgPT09IDApIHtcbiAgICAgIGVuZEJ5RGF0ZSA9IGV2ZW50LmVuZHNCeVxuICAgICAgICA/IG1vbWVudChldmVudC5lbmRzQnkgKyAnIDAwOjAwOjAwJywgJ0RELU1NTS1ZWVlZIEhIOm1tOnNzJykudW5peCgpXG4gICAgICAgIDogZW5kQnlEYXRlO1xuICAgIH1cbiAgICB0aGlzLndlZWtseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUodGhpcy5zdGFydERhdGUgKiAxMDAwKTtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkX3RpbWVfdXRjID0gZW5kQnlEYXRlO1xuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2RlYWN0aXZhdGVkJykge1xuICAgICAgdGhpcy53ZWVrbHlEZWFjdGl2YXRlZFZhbHVlID0gZXZlbnQudmFsdWU7XG4gICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnY29tcGxldGVkJykge1xuICAgICAgdGhpcy53ZWVrbHlXaW5kb3cgPSBldmVudC52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53ZWVrbHlGYWlsZWQgPSBldmVudC52YWx1ZTtcbiAgICB9XG4gICAgdGhpcy5nZXRXZWVrbHlGcmVxdWVuY3koKTtcbiAgfVxuXG4gIGdldFdlZWtseUZyZXF1ZW5jeSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkV2Vla2x5ID0gdGhpcy5zZWxlY3RlZFdlZWtseS5zb3J0KChuMSwgbjIpID0+IG4xIC0gbjIpO1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wbGFjZWhvbGRlciA9IHRoaXMuZ2V0UGxhY2Vob2xkZXIoXG4gICAgICBOdW1iZXIodGhpcy53ZWVrbHlJbnB1dClcbiAgICApO1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wYXR0ZXJuID1cbiAgICAgIDIgK1xuICAgICAgJ34nICtcbiAgICAgIHRoaXMuc2VsZWN0ZWRXZWVrbHkubWFwKChlbGUpID0+IGVsZSArIDEpLmpvaW4oJywnKSArXG4gICAgICAnficgK1xuICAgICAgJzAnICtcbiAgICAgICd+JyArXG4gICAgICB0aGlzLndlZWtseUlucHV0O1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ3dlZWtseSc7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZEFmdGVyID0gdGhpcy53ZWVrbHlGYWlsZWQ7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMud2Vla2x5V2luZG93O1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gdGhpcy53ZWVrbHlJbnRlcnZhbDtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8udGltZUluMjRIciA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS50aW1lRnJvbTEyaFRvMjRoKFxuICAgICAgdGhpcy53ZWVrbHlJbnRlcnZhbFxuICAgICk7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmxpZmVjeWNsZURldGFpbHMgPSB0aGlzLmxpZmVjeWNsZURldGFpbHM7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnN0YXJ0RnJvbSA9XG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA/PyBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucmVwb3J0SWQgPSAwO1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5ldmVyeSA9IHRoaXMud2Vla2x5SW5wdXQ7XG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnNlbGVjdGVkRGF5ID0gdGhpcy5zZWxlY3RlZFdlZWtseS5tYXAoZWxlID0+IGVsZSArIDEpO1xuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jb250aW51b3VzX2ZhaWxlZF9kYXlzID0gdGhpcy53ZWVrbHlEZWFjdGl2YXRlZFZhbHVlO1xuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5lbWl0KHRoaXMuZnJlcXVlbmN5SW5mbyk7XG4gIH1cblxuICBnZXRQbGFjZWhvbGRlcih3ZWVrbHlJbnB1dDogbnVtYmVyKSB7XG4gICAgbGV0IHBsYWNlaG9sZGVyID0gJyc7XG4gICAgd2Vla2x5SW5wdXQgPSBOdW1iZXIod2Vla2x5SW5wdXQpO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWREYXkgPSB0aGlzLnNlbGVjdGVkV2Vla2x5Lm1hcCgoZWxlKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmRheU5hbWVbZWxlXTtcbiAgICB9KTtcbiAgICBpZiAod2Vla2x5SW5wdXQgPT09IDEpIHtcbiAgICAgIHBsYWNlaG9sZGVyID1cbiAgICAgICAgJ0V2ZXJ5ICcgKyBzZWxlY3RlZERheS5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy53ZWVrbHlJbnRlcnZhbDtcbiAgICB9XG4gICAgaWYgKHdlZWtseUlucHV0ID09PSAyKSB7XG4gICAgICBwbGFjZWhvbGRlciA9XG4gICAgICAgICdFdmVyeSBhbHRlcm5hdGUgJyArXG4gICAgICAgIHNlbGVjdGVkRGF5LmpvaW4oJywgJykgK1xuICAgICAgICAnIGJ5ICcgK1xuICAgICAgICB0aGlzLndlZWtseUludGVydmFsO1xuICAgIH1cbiAgICBpZiAod2Vla2x5SW5wdXQgPT09IDMpIHtcbiAgICAgIHBsYWNlaG9sZGVyID1cbiAgICAgICAgJ0V2ZXJ5IDNyZCAnICsgc2VsZWN0ZWREYXkuam9pbignLCAnKSArICcgYnkgJyArIHRoaXMud2Vla2x5SW50ZXJ2YWw7XG4gICAgfVxuICAgIGlmICh3ZWVrbHlJbnB1dCA+IDMpIHtcbiAgICAgIHBsYWNlaG9sZGVyID1cbiAgICAgICAgJ0V2ZXJ5ICcgK1xuICAgICAgICB0aGlzLndlZWtseUlucHV0ICtcbiAgICAgICAgJ3RoICcgK1xuICAgICAgICBzZWxlY3RlZERheS5qb2luKCcsICcpICtcbiAgICAgICAgJyBieSAnICtcbiAgICAgICAgdGhpcy53ZWVrbHlJbnRlcnZhbDtcbiAgICB9XG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xuICB9XG59XG4iLCI8IS0tIDxwPmZyZXF1ZW5jeS13ZWVrbHkgd29ya3MhPC9wPiAtLT5cbjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktd2Vla2x5XCI+XG4gIDxhcHAtZnJlcXVlbmN5LXRvcFxuICAgIFtpZF09XCIxXCJcbiAgICBbaW5wdXRUaW1lXT1cIndlZWtseUludGVydmFsXCJcbiAgICBbb2NjdXJyZW5jZUZpcnN0XT1cIndlZWtseUlucHV0XCJcbiAgICBbZnJlcXVlbmN5VHlwZV09XCIxXCJcbiAgICAodGltZUNoYW5nZWQpPVwib25UaW1lQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAodmFsdWVDaGFuZ2VkRmlyc3QpPVwidmFsdWVDaGFuZ2VkRmlyc3QoJGV2ZW50KVwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gID48L2FwcC1mcmVxdWVuY3ktdG9wPlxuICA8YXBwLWZyZXF1ZW5jeS1jaGVja2JveC1saXN0XG4gICAgW2lkXT1cIjFcIlxuICAgIFtsaXN0QXJyYXldPVwiZGF5QXJyYXlcIlxuICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkV2Vla2x5XCJcbiAgICAoc2VsZWN0ZWRDaGVja2JveCk9XCJvbkRheVNlbGVjdGVkKCRldmVudClcIlxuICAgIFttb2RlXT1cIm1vZGVcIlxuICA+PC9hcHAtZnJlcXVlbmN5LWNoZWNrYm94LWxpc3Q+XG4gIDxhcHAtZnJlcXVlbmN5LWR1ZS1kYXRlXG4gICAgW2lkXT1cIjFcIlxuICAgIFttb2RlXT1cIm1vZGVcIlxuICAgIFtwYWdlTmFtZV09XCInd2Vla2x5J1wiXG4gICAgW2RlYWN0aXZhdGVWYWx1ZV09XCJ3ZWVrbHlEZWFjdGl2YXRlZFZhbHVlXCJcbiAgICBbaXNEZWFjdGl2YXRlZF09XCJ0cnVlXCJcbiAgICBbY29tcGxldGVkVmFsdWVdPVwid2Vla2x5V2luZG93XCJcbiAgICBbbm90Q29tcGxldGVkVmFsdWVdPVwid2Vla2x5RmFpbGVkXCJcbiAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIFttb2RlXT1cIm1vZGVcIlxuICA+PC9hcHAtZnJlcXVlbmN5LWR1ZS1kYXRlPlxuICA8YXBwLWZyZXF1ZW5jeS1saWZlY3ljbGVcbiAgICBbaWRdPVwiMVwiXG4gICAgW3N0YXJ0RGF0ZV09XCJ3ZWVrbHlMaWZlQ3ljbGVTdGFydFwiXG4gICAgW2VuZERhdGVdPVwid2Vla2x5TGlmZUN5Y2xlRW5kVGltZVwiXG4gICAgW29jY3VycmFuY2VdPVwid2Vla2x5TGlmZWN5Y2xlT2NjdXJhbmNlXCJcbiAgICBbc2VsZWN0ZWRMaWZlY3ljbGVUeXBlXT1cIndlZWtseVNlbGV0ZWRMaWZlY3ljbGVUeXBlXCJcbiAgICAoc2VsZWN0ZWRPY2N1cmFuY2UpPVwibGlmZWN5Y2xlQ2hhbmdlKCRldmVudClcIlxuICAgIFttb2RlXT1cIm1vZGVcIlxuICA+PC9hcHAtZnJlcXVlbmN5LWxpZmVjeWNsZT5cbjwvZGl2PlxuIl19
|