@po-ui/ng-templates 17.20.0 → 18.0.0-rc.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.
- package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery-base.component.mjs +1 -1
- package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery-error-message/po-modal-password-recovery-error-message.component.mjs +2 -2
- package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery.component.mjs +69 -69
- package/esm2022/lib/components/po-page-background/po-page-background.component.mjs +15 -15
- package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-base.component.mjs +2 -2
- package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-contacts/po-page-blocked-user-contacts.component.mjs +8 -8
- package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-reason/po-page-blocked-user-reason.component.mjs +2 -2
- package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user.component.mjs +2 -2
- package/esm2022/lib/components/po-page-change-password/po-page-change-password-base.component.mjs +2 -2
- package/esm2022/lib/components/po-page-change-password/po-page-change-password.component.mjs +41 -40
- package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail-actions.service.mjs +1 -1
- package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail.component.mjs +12 -12
- package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit-actions.service.mjs +1 -1
- package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit.component.mjs +27 -27
- package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-base.component.mjs +2 -2
- package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter.component.mjs +1 -1
- package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-base.component.mjs +2 -2
- package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.mjs +5 -4
- package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-list-base.component.mjs +2 -2
- package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table-actions.service.mjs +1 -1
- package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table.component.mjs +2 -2
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-base.component.mjs +2 -2
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-execution/po-page-job-scheduler-execution.component.mjs +82 -81
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-job-scheduler-parameters-template/po-job-scheduler-parameters-template.directive.mjs +1 -1
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-page-job-scheduler-parameters.component.mjs +14 -14
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.mjs +9 -9
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.component.mjs +19 -18
- package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.service.mjs +1 -1
- package/esm2022/lib/components/po-page-login/po-page-login-base.component.mjs +2 -2
- package/esm2022/lib/components/po-page-login/po-page-login-popover/po-page-login-popover.component.mjs +12 -12
- package/esm2022/lib/components/po-page-login/po-page-login.component.mjs +74 -74
- package/esm2022/lib/components/po-page-login/po-page-login.service.mjs +1 -1
- package/esm2022/lib/services/po-page-customization/po-page-customization.service.mjs +1 -1
- package/esm2022/lib/services/po-page-dynamic/po-page-dynamic.service.mjs +1 -1
- package/esm2022/lib/utils/util.mjs +1 -1
- package/fesm2022/po-ui-ng-templates.mjs +388 -384
- package/fesm2022/po-ui-ng-templates.mjs.map +1 -1
- package/package.json +12 -12
- package/po-ui-ng-templates-18.0.0-rc.0.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.js.map +1 -1
- package/po-ui-ng-templates-17.20.0.tgz +0 -0
|
@@ -8,24 +8,24 @@ function PoPageJobSchedulerParametersComponent_ng_container_0_Template(rf, ctx)
|
|
|
8
8
|
i0.ɵɵelementContainer(0);
|
|
9
9
|
} }
|
|
10
10
|
function PoPageJobSchedulerParametersComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
11
|
-
i0.ɵɵelementStart(0, "div",
|
|
12
|
-
i0.ɵɵelement(1, "po-icon",
|
|
13
|
-
i0.ɵɵelementStart(2, "span",
|
|
11
|
+
i0.ɵɵelementStart(0, "div", 4);
|
|
12
|
+
i0.ɵɵelement(1, "po-icon", 5);
|
|
13
|
+
i0.ɵɵelementStart(2, "span", 6);
|
|
14
14
|
i0.ɵɵtext(3);
|
|
15
15
|
i0.ɵɵelementEnd()();
|
|
16
16
|
} if (rf & 2) {
|
|
17
|
-
const
|
|
17
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
18
18
|
i0.ɵɵadvance(3);
|
|
19
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
19
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.literals.parametersNotFound, " ");
|
|
20
20
|
} }
|
|
21
21
|
function PoPageJobSchedulerParametersComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
22
|
-
i0.ɵɵelementStart(0, "form", null,
|
|
22
|
+
i0.ɵɵelementStart(0, "form", null, 2);
|
|
23
23
|
i0.ɵɵelement(2, "po-dynamic-form", 7);
|
|
24
24
|
i0.ɵɵelementEnd();
|
|
25
25
|
} if (rf & 2) {
|
|
26
|
-
const
|
|
26
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
27
27
|
i0.ɵɵadvance(2);
|
|
28
|
-
i0.ɵɵproperty("p-fields",
|
|
28
|
+
i0.ɵɵproperty("p-fields", ctx_r0.parameters)("p-value", ctx_r0.value);
|
|
29
29
|
} }
|
|
30
30
|
export class PoPageJobSchedulerParametersComponent {
|
|
31
31
|
form;
|
|
@@ -48,12 +48,12 @@ export class PoPageJobSchedulerParametersComponent {
|
|
|
48
48
|
} if (rf & 2) {
|
|
49
49
|
let _t;
|
|
50
50
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.form = _t.first);
|
|
51
|
-
} }, inputs: { literals: [
|
|
52
|
-
i0.ɵɵtemplate(0, PoPageJobSchedulerParametersComponent_ng_container_0_Template, 1, 0, "ng-container",
|
|
51
|
+
} }, inputs: { literals: [0, "p-literals", "literals"], parameters: [0, "p-parameters", "parameters"], value: [0, "p-value", "value"] }, outputs: { valueChange: "p-valueChange" }, decls: 5, vars: 3, consts: [["parametersNotFoundTemplate", ""], ["formFieldsTemplate", ""], ["parametersForm", "ngForm"], [4, "ngIf", "ngIfThen", "ngIfElse"], [1, "po-text-center"], ["p-icon", "ICON_INFO"], [1, "po-font-text-large"], ["p-group-form", "", 3, "p-fields", "p-value"]], template: function PoPageJobSchedulerParametersComponent_Template(rf, ctx) { if (rf & 1) {
|
|
52
|
+
i0.ɵɵtemplate(0, PoPageJobSchedulerParametersComponent_ng_container_0_Template, 1, 0, "ng-container", 3)(1, PoPageJobSchedulerParametersComponent_ng_template_1_Template, 4, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(3, PoPageJobSchedulerParametersComponent_ng_template_3_Template, 3, 2, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
|
|
53
53
|
} if (rf & 2) {
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
i0.ɵɵproperty("ngIf", ctx.parameters && ctx.parameters.length)("ngIfThen",
|
|
54
|
+
const parametersNotFoundTemplate_r2 = i0.ɵɵreference(2);
|
|
55
|
+
const formFieldsTemplate_r3 = i0.ɵɵreference(4);
|
|
56
|
+
i0.ɵɵproperty("ngIf", ctx.parameters && ctx.parameters.length)("ngIfThen", formFieldsTemplate_r3)("ngIfElse", parametersNotFoundTemplate_r2);
|
|
57
57
|
} }, dependencies: [i1.NgIf, i2.ɵNgNoValidate, i2.NgControlStatusGroup, i2.NgForm, i3.PoDynamicFormComponent, i3.PoIconComponent], encapsulation: 2 });
|
|
58
58
|
}
|
|
59
59
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageJobSchedulerParametersComponent, [{
|
|
@@ -76,4 +76,4 @@ export class PoPageJobSchedulerParametersComponent {
|
|
|
76
76
|
args: ['p-valueChange']
|
|
77
77
|
}] }); })();
|
|
78
78
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoPageJobSchedulerParametersComponent, { className: "PoPageJobSchedulerParametersComponent", filePath: "lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-page-job-scheduler-parameters.component.ts", lineNumber: 10 }); })();
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWpvYi1zY2hlZHVsZXIvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnMvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWpvYi1zY2hlZHVsZXIvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnMvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0lDQWpHLHdCQUNlOzs7SUFHYiw4QkFBNEI7SUFDMUIsNkJBQXNDO0lBQ3RDLCtCQUFpQztJQUMvQixZQUNGO0lBQ0YsQUFERSxpQkFBTyxFQUNIOzs7SUFGRixlQUNGO0lBREUsbUVBQ0Y7OztJQUtGLHFDQUErQjtJQUM3QixxQ0FBMkY7SUFDN0YsaUJBQU87OztJQUR5QixlQUF1QjtJQUFDLEFBQXhCLDRDQUF1Qix5QkFBa0I7O0FETDNFLE1BQU0sT0FBTyxxQ0FBcUM7SUFDbkIsSUFBSSxDQUFTO0lBRXJCLFFBQVEsR0FBUSxFQUFFLENBQUM7SUFFakIsVUFBVSxHQUE4QixFQUFFLENBQUM7SUFFaEQsS0FBSyxDQUFDO0lBRUMsV0FBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRWxGLGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOytGQW5CVSxxQ0FBcUM7NkRBQXJDLHFDQUFxQzs7Ozs7O1lDR2xELEFBVEEsQUFIQSx3R0FBZ0gsMEhBR3ZFLDBIQVNSOzs7O1lBWjhDLEFBQXpCLEFBQXZDLDhEQUF1QyxtQ0FBeUIsMkNBQStCOzs7aUZEU2pHLHFDQUFxQztjQUpqRCxTQUFTOzJCQUNFLGtDQUFrQztnQkFJZixJQUFJO2tCQUFoQyxTQUFTO21CQUFDLGdCQUFnQjtZQUVOLFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQUVJLFVBQVU7a0JBQWhDLEtBQUs7bUJBQUMsY0FBYztZQUVILEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQUVTLFdBQVc7a0JBQW5DLE1BQU07bUJBQUMsZUFBZTs7a0ZBVFoscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtRmllbGQgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLXBhZ2Utam9iLXNjaGVkdWxlci1wYXJhbWV0ZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICdwby1wYWdlLWpvYi1zY2hlZHVsZXItcGFyYW1ldGVycy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUG9QYWdlSm9iU2NoZWR1bGVyUGFyYW1ldGVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKCdwYXJhbWV0ZXJzRm9ybScpIGZvcm06IE5nRm9ybTtcblxuICBASW5wdXQoJ3AtbGl0ZXJhbHMnKSBsaXRlcmFscyA9IDxhbnk+e307XG5cbiAgQElucHV0KCdwLXBhcmFtZXRlcnMnKSBwYXJhbWV0ZXJzOiBBcnJheTxQb0R5bmFtaWNGb3JtRmllbGQ+ID0gW107XG5cbiAgQElucHV0KCdwLXZhbHVlJykgdmFsdWU7XG5cbiAgQE91dHB1dCgncC12YWx1ZUNoYW5nZScpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicGFyYW1ldGVycyAmJiBwYXJhbWV0ZXJzLmxlbmd0aDsgdGhlbiBmb3JtRmllbGRzVGVtcGxhdGU7IGVsc2UgcGFyYW1ldGVyc05vdEZvdW5kVGVtcGxhdGVcIj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3BhcmFtZXRlcnNOb3RGb3VuZFRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwicG8tdGV4dC1jZW50ZXJcIj5cbiAgICA8cG8taWNvbiBwLWljb249XCJJQ09OX0lORk9cIj48L3BvLWljb24+XG4gICAgPHNwYW4gY2xhc3M9XCJwby1mb250LXRleHQtbGFyZ2VcIj5cbiAgICAgIHt7IGxpdGVyYWxzLnBhcmFtZXRlcnNOb3RGb3VuZCB9fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Zvcm1GaWVsZHNUZW1wbGF0ZT5cbiAgPGZvcm0gI3BhcmFtZXRlcnNGb3JtPVwibmdGb3JtXCI+XG4gICAgPHBvLWR5bmFtaWMtZm9ybSBwLWdyb3VwLWZvcm0gW3AtZmllbGRzXT1cInBhcmFtZXRlcnNcIiBbcC12YWx1ZV09XCJ2YWx1ZVwiPiA8L3BvLWR5bmFtaWMtZm9ybT5cbiAgPC9mb3JtPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -12,24 +12,24 @@ function PoPageJobSchedulerSummaryComponent_po_info_1_Template(rf, ctx) { if (rf
|
|
|
12
12
|
function PoPageJobSchedulerSummaryComponent_po_info_3_Template(rf, ctx) { if (rf & 1) {
|
|
13
13
|
i0.ɵɵelement(0, "po-info", 2);
|
|
14
14
|
} if (rf & 2) {
|
|
15
|
-
const
|
|
16
|
-
i0.ɵɵproperty("p-label",
|
|
15
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
16
|
+
i0.ɵɵproperty("p-label", ctx_r0.literals.frequency)("p-orientation", ctx_r0.infoOrientation)("p-value", ctx_r0.frequencyValue);
|
|
17
17
|
} }
|
|
18
18
|
function PoPageJobSchedulerSummaryComponent_po_info_4_Template(rf, ctx) { if (rf & 1) {
|
|
19
19
|
i0.ɵɵelement(0, "po-info", 2);
|
|
20
20
|
} if (rf & 2) {
|
|
21
|
-
const
|
|
22
|
-
i0.ɵɵproperty("p-label",
|
|
21
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
22
|
+
i0.ɵɵproperty("p-label", ctx_r0.literals.execution)("p-orientation", ctx_r0.infoOrientation)("p-value", ctx_r0.executionValue);
|
|
23
23
|
} }
|
|
24
24
|
function PoPageJobSchedulerSummaryComponent_po_widget_7_Template(rf, ctx) { if (rf & 1) {
|
|
25
25
|
i0.ɵɵelementStart(0, "po-widget", 4);
|
|
26
26
|
i0.ɵɵelement(1, "po-dynamic-view", 5);
|
|
27
27
|
i0.ɵɵelementEnd();
|
|
28
28
|
} if (rf & 2) {
|
|
29
|
-
const
|
|
30
|
-
i0.ɵɵproperty("p-title",
|
|
29
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
30
|
+
i0.ɵɵproperty("p-title", ctx_r0.literals.parameters);
|
|
31
31
|
i0.ɵɵadvance();
|
|
32
|
-
i0.ɵɵproperty("p-fields",
|
|
32
|
+
i0.ɵɵproperty("p-fields", ctx_r0.parameters)("p-value", ctx_r0.value.executionParameter);
|
|
33
33
|
} }
|
|
34
34
|
export class PoPageJobSchedulerSummaryComponent {
|
|
35
35
|
datePipe;
|
|
@@ -150,7 +150,7 @@ export class PoPageJobSchedulerSummaryComponent {
|
|
|
150
150
|
});
|
|
151
151
|
}
|
|
152
152
|
static ɵfac = function PoPageJobSchedulerSummaryComponent_Factory(t) { return new (t || PoPageJobSchedulerSummaryComponent)(i0.ɵɵdirectiveInject(i1.DatePipe)); };
|
|
153
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPageJobSchedulerSummaryComponent, selectors: [["po-page-job-scheduler-summary"]], inputs: { literals: [
|
|
153
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPageJobSchedulerSummaryComponent, selectors: [["po-page-job-scheduler-summary"]], inputs: { literals: [0, "p-literals", "literals"], parameters: [0, "p-parameters", "parameters"], value: [0, "p-value", "value"], noParameters: [0, "p-no-parameters", "noParameters"] }, decls: 8, vars: 13, consts: [[1, "po-md-12"], [3, "p-label", "p-orientation", "p-value", 4, "ngIf"], [3, "p-label", "p-orientation", "p-value"], ["class", "po-pt-1 po-pb-1 po-md-12", 3, "p-title", 4, "ngIf"], [1, "po-pt-1", "po-pb-1", "po-md-12", 3, "p-title"], [3, "p-fields", "p-value"]], template: function PoPageJobSchedulerSummaryComponent_Template(rf, ctx) { if (rf & 1) {
|
|
154
154
|
i0.ɵɵelementStart(0, "div", 0);
|
|
155
155
|
i0.ɵɵtemplate(1, PoPageJobSchedulerSummaryComponent_po_info_1_Template, 1, 3, "po-info", 1);
|
|
156
156
|
i0.ɵɵelement(2, "po-info", 2);
|
|
@@ -192,4 +192,4 @@ export class PoPageJobSchedulerSummaryComponent {
|
|
|
192
192
|
args: ['p-no-parameters']
|
|
193
193
|
}] }); })();
|
|
194
194
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoPageJobSchedulerSummaryComponent, { className: "PoPageJobSchedulerSummaryComponent", filePath: "lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.ts", lineNumber: 12 }); })();
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWpvYi1zY2hlZHVsZXIvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWpvYi1zY2hlZHVsZXIvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHekQsT0FBTyxFQUFzQixpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztJQ0YzRSw2QkFNVTs7O0lBSlIsaURBQTRCLHlDQUFBLG1DQUFBOzs7SUFROUIsNkJBTVU7OztJQUpSLG1EQUE4Qix5Q0FBQSxrQ0FBQTs7O0lBTWhDLDZCQU1VOzs7SUFKUixtREFBOEIseUNBQUEsa0NBQUE7OztJQVlsQyxvQ0FBb0g7SUFDbEgscUNBQWlHO0lBQ25HLGlCQUFZOzs7SUFGd0Usb0RBQStCO0lBQ2hHLGNBQXVCO0lBQXZCLDRDQUF1Qiw0Q0FBQTs7QUR2QjFDLE1BQU0sT0FBTyxrQ0FBa0M7SUFrQnpCO0lBakJDLFFBQVEsR0FBUSxFQUFFLENBQUM7SUFFakIsVUFBVSxHQUE4QixFQUFFLENBQUM7SUFFaEQsS0FBSyxHQUFnQyxFQUFFLENBQUM7SUFFaEMsWUFBWSxHQUFZLElBQUksQ0FBQztJQUV2RCxjQUFjLEdBQUcsRUFBRSxDQUFDO0lB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QyxzQ0FBQSxvQ0FBQTtZQUlsQyxjQUFxQztZQUFyQyw4REFBcUM7OztpRkR0QnBDLGtDQUFrQztjQUo5QyxTQUFTOzJCQUNFLCtCQUErQjt5Q0FJcEIsUUFBUTtrQkFBNUIsS0FBSzttQkFBQyxZQUFZO1lBRUksVUFBVTtrQkFBaEMsS0FBSzttQkFBQyxjQUFjO1lBRUgsS0FBSztrQkFBdEIsS0FBSzttQkFBQyxTQUFTO1lBRVUsWUFBWTtrQkFBckMsS0FBSzttQkFBQyxpQkFBaUI7O2tGQVBiLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBQb0R5bmFtaWNWaWV3RmllbGQsIFBvSW5mb09yaWVudGF0aW9uIH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBQb0pvYlNjaGVkdWxlckludGVybmFsIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wby1qb2Itc2NoZWR1bGVyLWludGVybmFsLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLXBhZ2Utam9iLXNjaGVkdWxlci1zdW1tYXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICdwby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUG9QYWdlSm9iU2NoZWR1bGVyU3VtbWFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgncC1saXRlcmFscycpIGxpdGVyYWxzID0gPGFueT57fTtcblxuICBASW5wdXQoJ3AtcGFyYW1ldGVycycpIHBhcmFtZXRlcnM6IEFycmF5PFBvRHluYW1pY1ZpZXdGaWVsZD4gPSBbXTtcblxuICBASW5wdXQoJ3AtdmFsdWUnKSB2YWx1ZTogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCA9IDxhbnk+e307XG5cbiAgQElucHV0KCdwLW5vLXBhcmFtZXRlcnMnKSBub1BhcmFtZXRlcnM6IEJvb2xlYW4gPSB0cnVlO1xuXG4gIGV4ZWN1dGlvblZhbHVlID0gJyc7XG4gIGZpcnN0RXhlY3V0aW9uVmFsdWUgPSAnJztcbiAgaW5mb09yaWVudGF0aW9uID0gUG9JbmZvT3JpZW50YXRpb24uSG9yaXpvbnRhbDtcbiAgcGVyaW9kaWNpdHlWYWx1ZSA9ICcnO1xuICBmcmVxdWVuY3lWYWx1ZSA9ICcnO1xuICByYW5nZUxpbWl0SG91ciA9ICcnO1xuICByYW5nZUxpbWl0RGF5ID0gJyc7XG4gIHJlY3VycmVudFZhbHVlID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3Qge1xuICAgICAgcGVyaW9kaWNpdHksXG4gICAgICBob3VyLFxuICAgICAgZGF5T2ZNb250aCxcbiAgICAgIGRheXNPZldlZWssXG4gICAgICByZWN1cnJlbnQsXG4gICAgICBmaXJzdEV4ZWN1dGlvbixcbiAgICAgIGZpcnN0RXhlY3V0aW9uSG91cixcbiAgICAgIGZyZXF1ZW5jeSxcbiAgICAgIHJhbmdlTGltaXRIb3VyLFxuICAgICAgcmFuZ2VMaW1pdERheVxuICAgIH0gPSB0aGlzLnZhbHVlO1xuXG4gICAgdGhpcy5wZXJpb2RpY2l0eVZhbHVlID0gdGhpcy5nZXRQZXJpb2RpY2l0eUxhYmVsKHBlcmlvZGljaXR5KTtcbiAgICBpZiAoZnJlcXVlbmN5KSB7XG4gICAgICB0aGlzLmZyZXF1ZW5jeVZhbHVlID0gdGhpcy5nZXRGcmVxdWVuY3lWYWx1ZShmcmVxdWVuY3ksIHBlcmlvZGljaXR5KTtcbiAgICB9XG4gICAgdGhpcy5leGVjdXRpb25WYWx1ZSA9IHRoaXMuZ2V0RXhlY3V0aW9uVmFsdWUoXG4gICAgICBwZXJpb2RpY2l0eSxcbiAgICAgIGhvdXIsXG4gICAgICBkYXlzT2ZXZWVrLFxuICAgICAgZGF5T2ZNb250aCxcbiAgICAgIHJhbmdlTGltaXRIb3VyLFxuICAgICAgcmFuZ2VMaW1pdERheVxuICAgICk7XG4gICAgdGhpcy5maXJzdEV4ZWN1dGlvblZhbHVlID0gdGhpcy5nZXRGaXJzdEV4ZWN1dGlvbkxhYmVsKGZpcnN0RXhlY3V0aW9uLCBmaXJzdEV4ZWN1dGlvbkhvdXIpO1xuICAgIHRoaXMucmVjdXJyZW50VmFsdWUgPSB0aGlzLmdldFJlY3VycmVudFZhbHVlKHJlY3VycmVudCk7XG4gIH1cblxuICBwcml2YXRlIGdldEZyZXF1ZW5jeVZhbHVlKGZyZXF1ZW5jeSwgcGVyaW9kaWNpdHkpIHtcbiAgICByZXR1cm4gZnJlcXVlbmN5Wyd2YWx1ZSddICYmIGZyZXF1ZW5jeVsndHlwZSddICYmIHBlcmlvZGljaXR5ICE9PSAnc2luZ2xlJ1xuICAgICAgPyBgJHtmcmVxdWVuY3lbJ3ZhbHVlJ119IC0gJHtmcmVxdWVuY3lbJ3R5cGUnXX1gXG4gICAgICA6ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFeGVjdXRpb25WYWx1ZShcbiAgICBwZXJpb2RpY2l0eTogc3RyaW5nLFxuICAgIGhvdXI/OiBzdHJpbmcsXG4gICAgZGF5c09mV2Vlaz86IEFycmF5PHN0cmluZz4sXG4gICAgZGF5T2ZNb250aD86IG51bWJlcixcbiAgICByYW5nZUxpbWl0SG91cj86IHN0cmluZyxcbiAgICByYW5nZUxpbWl0RGF5PzogbnVtYmVyXG4gICkge1xuICAgIHN3aXRjaCAocGVyaW9kaWNpdHkpIHtcbiAgICAgIGNhc2UgJ2RhaWx5JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SG91ckxhYmVsKGhvdXIsIHJhbmdlTGltaXRIb3VyKTtcbiAgICAgIGNhc2UgJ21vbnRobHknOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNb250aGx5TGFiZWxFeGVjdXRpb24oZGF5T2ZNb250aCwgaG91ciwgcmFuZ2VMaW1pdEhvdXIsIHJhbmdlTGltaXREYXkpO1xuICAgICAgY2FzZSAnd2Vla2x5JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0V2Vla2x5TGFiZWxFeGVjdXRpb24oZGF5c09mV2VlaywgaG91ciwgcmFuZ2VMaW1pdEhvdXIpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMubGl0ZXJhbHMubm90UmVwb3J0ZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaXJzdEV4ZWN1dGlvbkxhYmVsKGZpcnN0RXhlY3V0aW9uOiBEYXRlLCBmaXJzdEV4ZWN1dGlvbkhvdXI/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChmaXJzdEV4ZWN1dGlvbikge1xuICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGZpcnN0RXhlY3V0aW9uLCAnZGQvTU0veXl5eScsICctMDIwMCcpO1xuXG4gICAgICByZXR1cm4gYCR7ZGF0ZX0gJHt0aGlzLmdldEhvdXJMYWJlbChmaXJzdEV4ZWN1dGlvbkhvdXIpfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLm5vdFJlcG9ydGVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SG91ckxhYmVsKGhvdXI6IHN0cmluZywgcmFuZ2VMaW1pdEhvdXI/KSB7XG4gICAgcmV0dXJuIGAke3JhbmdlTGltaXRIb3VyID8gdGhpcy5saXRlcmFscy5mcm9tIDogdGhpcy5saXRlcmFscy5hdH0gJHtob3VyIHx8ICcwMDowMCd9ICR7XG4gICAgICByYW5nZUxpbWl0SG91ciA/IHRoaXMubGl0ZXJhbHMudG8gKyAnICcgKyByYW5nZUxpbWl0SG91ciA6ICcnXG4gICAgfWA7XG4gIH1cblxuICBwcml2YXRlIGdldE1vbnRobHlMYWJlbEV4ZWN1dGlvbihkYXlPZk1vbnRoOiBudW1iZXIsIGhvdXI6IHN0cmluZywgcmFuZ2VMaW1pdEhvdXI/OiBzdHJpbmcsIHJhbmdlTGltaXREYXk/OiBudW1iZXIpIHtcbiAgICBjb25zdCBob3VyTGFiZWwgPSB0aGlzLmdldEhvdXJMYWJlbChob3VyLCByYW5nZUxpbWl0SG91cik7XG5cbiAgICByZXR1cm4gYCR7cmFuZ2VMaW1pdERheSA/IHRoaXMubGl0ZXJhbHMuZnJvbSA6ICcnfSAke2RheU9mTW9udGh9ICR7cmFuZ2VMaW1pdERheSA/IHRoaXMubGl0ZXJhbHMudG8gOiAnJ30gJHtcbiAgICAgIHJhbmdlTGltaXREYXkgPyByYW5nZUxpbWl0RGF5IDogJydcbiAgICB9ICR7aG91ckxhYmVsfWA7XG4gIH1cblxuICBwcml2YXRlIGdldFBlcmlvZGljaXR5TGFiZWwocGVyaW9kaWNpdHkpIHtcbiAgICBzd2l0Y2ggKHBlcmlvZGljaXR5KSB7XG4gICAgICBjYXNlICdkYWlseSc6XG4gICAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLmRhaWx5O1xuICAgICAgY2FzZSAnbW9udGhseSc6XG4gICAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLm1vbnRobHk7XG4gICAgICBjYXNlICd3ZWVrbHknOlxuICAgICAgICByZXR1cm4gdGhpcy5saXRlcmFscy53ZWVrbHk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5zaW5nbGU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZWN1cnJlbnRWYWx1ZShyZWN1cnJlbnQ6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIHJldHVybiByZWN1cnJlbnQgPyB0aGlzLmxpdGVyYWxzLnllcyA6IHRoaXMubGl0ZXJhbHMubm87XG4gIH1cblxuICBwcml2YXRlIGdldFNvcnRlcldlZWtEYXlzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnc3VuZGF5JzogMCxcbiAgICAgICdtb25kYXknOiAxLFxuICAgICAgJ3R1ZXNkYXknOiAyLFxuICAgICAgJ3dlZG5lc2RheSc6IDMsXG4gICAgICAndGh1cnNkYXknOiA0LFxuICAgICAgJ2ZyaWRheSc6IDUsXG4gICAgICAnc2F0dXJkYXknOiA2XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHJhbnNsYXRlV2Vla0RheShkYXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF5cyA9IHtcbiAgICAgIFN1bmRheTogdGhpcy5saXRlcmFscy5zdW5kYXksXG4gICAgICBNb25kYXk6IHRoaXMubGl0ZXJhbHMubW9uZGF5LFxuICAgICAgVHVlc2RheTogdGhpcy5saXRlcmFscy50dWVzZGF5LFxuICAgICAgV2VkbmVzZGF5OiB0aGlzLmxpdGVyYWxzLndlZG5lc2RheSxcbiAgICAgIFRodXJzZGF5OiB0aGlzLmxpdGVyYWxzLnRodXJzZGF5LFxuICAgICAgRnJpZGF5OiB0aGlzLmxpdGVyYWxzLmZyaWRheSxcbiAgICAgIFNhdHVyZGF5OiB0aGlzLmxpdGVyYWxzLnNhdHVyZGF5XG4gICAgfTtcblxuICAgIHJldHVybiBkYXlzW2RheV0gfHwgJyc7XG4gIH1cblxuICBwcml2YXRlIGdldFdlZWtEYXlzTGFiZWwoZGF5czogQXJyYXk8c3RyaW5nPiA9IFtdKTogc3RyaW5nIHtcbiAgICBjb25zdCB3ZWVrRGF5c1NvcnRlZCA9IHRoaXMuc29ydFdlZWtEYXlzKGRheXMpO1xuXG4gICAgcmV0dXJuIHdlZWtEYXlzU29ydGVkLm1hcChkYXkgPT4gdGhpcy5nZXRUcmFuc2xhdGVXZWVrRGF5KGRheSkpLmpvaW4oJywgJyk7XG4gIH1cblxuICBwcml2YXRlIGdldFdlZWtseUxhYmVsRXhlY3V0aW9uKGRheXNPZldlZWs6IEFycmF5PHN0cmluZz4sIGhvdXI6IHN0cmluZywgcmFuZ2VMaW1pdEhvdXI/OiBzdHJpbmcpIHtcbiAgICBpZiAoZGF5c09mV2VlayAmJiBBcnJheS5pc0FycmF5KGRheXNPZldlZWspKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5nZXRXZWVrRGF5c0xhYmVsKGRheXNPZldlZWspfSAke3RoaXMuZ2V0SG91ckxhYmVsKGhvdXIsIHJhbmdlTGltaXRIb3VyKX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5ub3RSZXBvcnRlZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNvcnRXZWVrRGF5cyhkYXlzOiBBcnJheTxzdHJpbmc+ID0gW10pIHtcbiAgICBjb25zdCBzb3J0ZXJXZWVrRGF5cyA9IHRoaXMuZ2V0U29ydGVyV2Vla0RheXMoKTtcblxuICAgIHJldHVybiBkYXlzLnNvcnQoKGE6IHN0cmluZywgYjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBjdXJyRGF5ID0gYS50b0xvd2VyQ2FzZSgpO1xuICAgICAgY29uc3QgbmV4dERheSA9IGIudG9Mb3dlckNhc2UoKTtcblxuICAgICAgcmV0dXJuIHNvcnRlcldlZWtEYXlzW2N1cnJEYXldID4gc29ydGVyV2Vla0RheXNbbmV4dERheV0gPyAxIDogLTE7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1tZC0xMlwiPlxuICA8cG8taW5mb1xuICAgICpuZ0lmPVwiIW5vUGFyYW1ldGVyc1wiXG4gICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMucHJvY2Vzc1wiXG4gICAgW3Atb3JpZW50YXRpb25dPVwiaW5mb09yaWVudGF0aW9uXCJcbiAgICBbcC12YWx1ZV09XCJ2YWx1ZS5wcm9jZXNzSURcIlxuICA+XG4gIDwvcG8taW5mbz5cblxuICA8cG8taW5mbyBbcC1sYWJlbF09XCJsaXRlcmFscy5wZXJpb2RpY2l0eVwiIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiIFtwLXZhbHVlXT1cInBlcmlvZGljaXR5VmFsdWVcIj4gPC9wby1pbmZvPlxuXG4gIDxwby1pbmZvXG4gICAgKm5nSWY9XCJmcmVxdWVuY3lWYWx1ZSAhPT0gJydcIlxuICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmZyZXF1ZW5jeVwiXG4gICAgW3Atb3JpZW50YXRpb25dPVwiaW5mb09yaWVudGF0aW9uXCJcbiAgICBbcC12YWx1ZV09XCJmcmVxdWVuY3lWYWx1ZVwiXG4gID5cbiAgPC9wby1pbmZvPlxuXG4gIDxwby1pbmZvXG4gICAgKm5nSWY9XCJ2YWx1ZS5wZXJpb2RpY2l0eSAhPT0gJ3NpbmdsZSdcIlxuICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmV4ZWN1dGlvblwiXG4gICAgW3Atb3JpZW50YXRpb25dPVwiaW5mb09yaWVudGF0aW9uXCJcbiAgICBbcC12YWx1ZV09XCJleGVjdXRpb25WYWx1ZVwiXG4gID5cbiAgPC9wby1pbmZvPlxuXG4gIDxwby1pbmZvIFtwLWxhYmVsXT1cImxpdGVyYWxzLnJlY3VycmVudFwiIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiIFtwLXZhbHVlXT1cInJlY3VycmVudFZhbHVlXCI+IDwvcG8taW5mbz5cblxuICA8cG8taW5mbyBbcC1sYWJlbF09XCJsaXRlcmFscy5maXJzdEV4ZWN1dGlvblwiIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiIFtwLXZhbHVlXT1cImZpcnN0RXhlY3V0aW9uVmFsdWVcIj5cbiAgPC9wby1pbmZvPlxuPC9kaXY+XG5cbjxwby13aWRnZXQgKm5nSWY9XCJwYXJhbWV0ZXJzICYmIHBhcmFtZXRlcnMubGVuZ3RoXCIgY2xhc3M9XCJwby1wdC0xIHBvLXBiLTEgcG8tbWQtMTJcIiBbcC10aXRsZV09XCJsaXRlcmFscy5wYXJhbWV0ZXJzXCI+XG4gIDxwby1keW5hbWljLXZpZXcgW3AtZmllbGRzXT1cInBhcmFtZXRlcnNcIiBbcC12YWx1ZV09XCJ2YWx1ZS5leGVjdXRpb25QYXJhbWV0ZXJcIj4gPC9wby1keW5hbWljLXZpZXc+XG48L3BvLXdpZGdldD5cbiJdfQ==
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWpvYi1zY2hlZHVsZXIvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWpvYi1zY2hlZHVsZXIvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHekQsT0FBTyxFQUFzQixpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztJQ0YzRSw2QkFNVTs7O0lBRlIsQUFEQSxBQURBLGlEQUE0Qix5Q0FDSyxtQ0FDTjs7O0lBTTdCLDZCQU1VOzs7SUFGUixBQURBLEFBREEsbURBQThCLHlDQUNHLGtDQUNQOzs7SUFJNUIsNkJBTVU7OztJQUZSLEFBREEsQUFEQSxtREFBOEIseUNBQ0csa0NBQ1A7OztJQVU5QixvQ0FBb0g7SUFDbEgscUNBQWlHO0lBQ25HLGlCQUFZOzs7SUFGd0Usb0RBQStCO0lBQ2hHLGNBQXVCO0lBQUMsQUFBeEIsNENBQXVCLDRDQUFxQzs7QUR2Qi9FLE1BQU0sT0FBTyxrQ0FBa0M7SUFrQnpCO0lBakJDLFFBQVEsR0FBUSxFQUFFLENBQUM7SUFFakIsVUFBVSxHQUE4QixFQUFFLENBQUM7SUFFaEQsS0FBSyxHQUFnQyxFQUFFLENBQUM7SUFFaEMsWUFBWSxHQUFZLElB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LGtEQUFnQyxzQ0FBa0MsaUNBQTZCO1lBR3JHLGNBQTJCO1lBQTNCLGdEQUEyQjtZQVEzQixjQUFvQztZQUFwQyx5REFBb0M7WUFPOUIsY0FBOEI7WUFBbUMsQUFBbEMsQUFBL0IsZ0RBQThCLHNDQUFrQywrQkFBMkI7WUFFM0YsY0FBbUM7WUFBbUMsQUFBbEMsQUFBcEMscURBQW1DLHNDQUFrQyxvQ0FBZ0M7WUFJcEcsY0FBcUM7WUFBckMsOERBQXFDOzs7aUZEdEJwQyxrQ0FBa0M7Y0FKOUMsU0FBUzsyQkFDRSwrQkFBK0I7eUNBSXBCLFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQUVJLFVBQVU7a0JBQWhDLEtBQUs7bUJBQUMsY0FBYztZQUVILEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQUVVLFlBQVk7a0JBQXJDLEtBQUs7bUJBQUMsaUJBQWlCOztrRkFQYixrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgUG9EeW5hbWljVmlld0ZpZWxkLCBQb0luZm9PcmllbnRhdGlvbiB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG8tam9iLXNjaGVkdWxlci1pbnRlcm5hbC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeScsXG4gIHRlbXBsYXRlVXJsOiAncG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnkuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZUpvYlNjaGVkdWxlclN1bW1hcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ3AtbGl0ZXJhbHMnKSBsaXRlcmFscyA9IDxhbnk+e307XG5cbiAgQElucHV0KCdwLXBhcmFtZXRlcnMnKSBwYXJhbWV0ZXJzOiBBcnJheTxQb0R5bmFtaWNWaWV3RmllbGQ+ID0gW107XG5cbiAgQElucHV0KCdwLXZhbHVlJykgdmFsdWU6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWwgPSA8YW55Pnt9O1xuXG4gIEBJbnB1dCgncC1uby1wYXJhbWV0ZXJzJykgbm9QYXJhbWV0ZXJzOiBCb29sZWFuID0gdHJ1ZTtcblxuICBleGVjdXRpb25WYWx1ZSA9ICcnO1xuICBmaXJzdEV4ZWN1dGlvblZhbHVlID0gJyc7XG4gIGluZm9PcmllbnRhdGlvbiA9IFBvSW5mb09yaWVudGF0aW9uLkhvcml6b250YWw7XG4gIHBlcmlvZGljaXR5VmFsdWUgPSAnJztcbiAgZnJlcXVlbmN5VmFsdWUgPSAnJztcbiAgcmFuZ2VMaW1pdEhvdXIgPSAnJztcbiAgcmFuZ2VMaW1pdERheSA9ICcnO1xuICByZWN1cnJlbnRWYWx1ZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHBlcmlvZGljaXR5LFxuICAgICAgaG91cixcbiAgICAgIGRheU9mTW9udGgsXG4gICAgICBkYXlzT2ZXZWVrLFxuICAgICAgcmVjdXJyZW50LFxuICAgICAgZmlyc3RFeGVjdXRpb24sXG4gICAgICBmaXJzdEV4ZWN1dGlvbkhvdXIsXG4gICAgICBmcmVxdWVuY3ksXG4gICAgICByYW5nZUxpbWl0SG91cixcbiAgICAgIHJhbmdlTGltaXREYXlcbiAgICB9ID0gdGhpcy52YWx1ZTtcblxuICAgIHRoaXMucGVyaW9kaWNpdHlWYWx1ZSA9IHRoaXMuZ2V0UGVyaW9kaWNpdHlMYWJlbChwZXJpb2RpY2l0eSk7XG4gICAgaWYgKGZyZXF1ZW5jeSkge1xuICAgICAgdGhpcy5mcmVxdWVuY3lWYWx1ZSA9IHRoaXMuZ2V0RnJlcXVlbmN5VmFsdWUoZnJlcXVlbmN5LCBwZXJpb2RpY2l0eSk7XG4gICAgfVxuICAgIHRoaXMuZXhlY3V0aW9uVmFsdWUgPSB0aGlzLmdldEV4ZWN1dGlvblZhbHVlKFxuICAgICAgcGVyaW9kaWNpdHksXG4gICAgICBob3VyLFxuICAgICAgZGF5c09mV2VlayxcbiAgICAgIGRheU9mTW9udGgsXG4gICAgICByYW5nZUxpbWl0SG91cixcbiAgICAgIHJhbmdlTGltaXREYXlcbiAgICApO1xuICAgIHRoaXMuZmlyc3RFeGVjdXRpb25WYWx1ZSA9IHRoaXMuZ2V0Rmlyc3RFeGVjdXRpb25MYWJlbChmaXJzdEV4ZWN1dGlvbiwgZmlyc3RFeGVjdXRpb25Ib3VyKTtcbiAgICB0aGlzLnJlY3VycmVudFZhbHVlID0gdGhpcy5nZXRSZWN1cnJlbnRWYWx1ZShyZWN1cnJlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGcmVxdWVuY3lWYWx1ZShmcmVxdWVuY3ksIHBlcmlvZGljaXR5KSB7XG4gICAgcmV0dXJuIGZyZXF1ZW5jeVsndmFsdWUnXSAmJiBmcmVxdWVuY3lbJ3R5cGUnXSAmJiBwZXJpb2RpY2l0eSAhPT0gJ3NpbmdsZSdcbiAgICAgID8gYCR7ZnJlcXVlbmN5Wyd2YWx1ZSddfSAtICR7ZnJlcXVlbmN5Wyd0eXBlJ119YFxuICAgICAgOiAnJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXhlY3V0aW9uVmFsdWUoXG4gICAgcGVyaW9kaWNpdHk6IHN0cmluZyxcbiAgICBob3VyPzogc3RyaW5nLFxuICAgIGRheXNPZldlZWs/OiBBcnJheTxzdHJpbmc+LFxuICAgIGRheU9mTW9udGg/OiBudW1iZXIsXG4gICAgcmFuZ2VMaW1pdEhvdXI/OiBzdHJpbmcsXG4gICAgcmFuZ2VMaW1pdERheT86IG51bWJlclxuICApIHtcbiAgICBzd2l0Y2ggKHBlcmlvZGljaXR5KSB7XG4gICAgICBjYXNlICdkYWlseSc6XG4gICAgICAgIHJldHVybiB0aGlzLmdldEhvdXJMYWJlbChob3VyLCByYW5nZUxpbWl0SG91cik7XG4gICAgICBjYXNlICdtb250aGx5JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TW9udGhseUxhYmVsRXhlY3V0aW9uKGRheU9mTW9udGgsIGhvdXIsIHJhbmdlTGltaXRIb3VyLCByYW5nZUxpbWl0RGF5KTtcbiAgICAgIGNhc2UgJ3dlZWtseSc6XG4gICAgICAgIHJldHVybiB0aGlzLmdldFdlZWtseUxhYmVsRXhlY3V0aW9uKGRheXNPZldlZWssIGhvdXIsIHJhbmdlTGltaXRIb3VyKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLm5vdFJlcG9ydGVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rmlyc3RFeGVjdXRpb25MYWJlbChmaXJzdEV4ZWN1dGlvbjogRGF0ZSwgZmlyc3RFeGVjdXRpb25Ib3VyPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoZmlyc3RFeGVjdXRpb24pIHtcbiAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShmaXJzdEV4ZWN1dGlvbiwgJ2RkL01NL3l5eXknLCAnLTAyMDAnKTtcblxuICAgICAgcmV0dXJuIGAke2RhdGV9ICR7dGhpcy5nZXRIb3VyTGFiZWwoZmlyc3RFeGVjdXRpb25Ib3VyKX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5ub3RSZXBvcnRlZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEhvdXJMYWJlbChob3VyOiBzdHJpbmcsIHJhbmdlTGltaXRIb3VyPykge1xuICAgIHJldHVybiBgJHtyYW5nZUxpbWl0SG91ciA/IHRoaXMubGl0ZXJhbHMuZnJvbSA6IHRoaXMubGl0ZXJhbHMuYXR9ICR7aG91ciB8fCAnMDA6MDAnfSAke1xuICAgICAgcmFuZ2VMaW1pdEhvdXIgPyB0aGlzLmxpdGVyYWxzLnRvICsgJyAnICsgcmFuZ2VMaW1pdEhvdXIgOiAnJ1xuICAgIH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb250aGx5TGFiZWxFeGVjdXRpb24oZGF5T2ZNb250aDogbnVtYmVyLCBob3VyOiBzdHJpbmcsIHJhbmdlTGltaXRIb3VyPzogc3RyaW5nLCByYW5nZUxpbWl0RGF5PzogbnVtYmVyKSB7XG4gICAgY29uc3QgaG91ckxhYmVsID0gdGhpcy5nZXRIb3VyTGFiZWwoaG91ciwgcmFuZ2VMaW1pdEhvdXIpO1xuXG4gICAgcmV0dXJuIGAke3JhbmdlTGltaXREYXkgPyB0aGlzLmxpdGVyYWxzLmZyb20gOiAnJ30gJHtkYXlPZk1vbnRofSAke3JhbmdlTGltaXREYXkgPyB0aGlzLmxpdGVyYWxzLnRvIDogJyd9ICR7XG4gICAgICByYW5nZUxpbWl0RGF5ID8gcmFuZ2VMaW1pdERheSA6ICcnXG4gICAgfSAke2hvdXJMYWJlbH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQZXJpb2RpY2l0eUxhYmVsKHBlcmlvZGljaXR5KSB7XG4gICAgc3dpdGNoIChwZXJpb2RpY2l0eSkge1xuICAgICAgY2FzZSAnZGFpbHknOlxuICAgICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5kYWlseTtcbiAgICAgIGNhc2UgJ21vbnRobHknOlxuICAgICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5tb250aGx5O1xuICAgICAgY2FzZSAnd2Vla2x5JzpcbiAgICAgICAgcmV0dXJuIHRoaXMubGl0ZXJhbHMud2Vla2x5O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMubGl0ZXJhbHMuc2luZ2xlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVjdXJyZW50VmFsdWUocmVjdXJyZW50OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVjdXJyZW50ID8gdGhpcy5saXRlcmFscy55ZXMgOiB0aGlzLmxpdGVyYWxzLm5vO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTb3J0ZXJXZWVrRGF5cygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3N1bmRheSc6IDAsXG4gICAgICAnbW9uZGF5JzogMSxcbiAgICAgICd0dWVzZGF5JzogMixcbiAgICAgICd3ZWRuZXNkYXknOiAzLFxuICAgICAgJ3RodXJzZGF5JzogNCxcbiAgICAgICdmcmlkYXknOiA1LFxuICAgICAgJ3NhdHVyZGF5JzogNlxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFRyYW5zbGF0ZVdlZWtEYXkoZGF5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRheXMgPSB7XG4gICAgICBTdW5kYXk6IHRoaXMubGl0ZXJhbHMuc3VuZGF5LFxuICAgICAgTW9uZGF5OiB0aGlzLmxpdGVyYWxzLm1vbmRheSxcbiAgICAgIFR1ZXNkYXk6IHRoaXMubGl0ZXJhbHMudHVlc2RheSxcbiAgICAgIFdlZG5lc2RheTogdGhpcy5saXRlcmFscy53ZWRuZXNkYXksXG4gICAgICBUaHVyc2RheTogdGhpcy5saXRlcmFscy50aHVyc2RheSxcbiAgICAgIEZyaWRheTogdGhpcy5saXRlcmFscy5mcmlkYXksXG4gICAgICBTYXR1cmRheTogdGhpcy5saXRlcmFscy5zYXR1cmRheVxuICAgIH07XG5cbiAgICByZXR1cm4gZGF5c1tkYXldIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRXZWVrRGF5c0xhYmVsKGRheXM6IEFycmF5PHN0cmluZz4gPSBbXSk6IHN0cmluZyB7XG4gICAgY29uc3Qgd2Vla0RheXNTb3J0ZWQgPSB0aGlzLnNvcnRXZWVrRGF5cyhkYXlzKTtcblxuICAgIHJldHVybiB3ZWVrRGF5c1NvcnRlZC5tYXAoZGF5ID0+IHRoaXMuZ2V0VHJhbnNsYXRlV2Vla0RheShkYXkpKS5qb2luKCcsICcpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRXZWVrbHlMYWJlbEV4ZWN1dGlvbihkYXlzT2ZXZWVrOiBBcnJheTxzdHJpbmc+LCBob3VyOiBzdHJpbmcsIHJhbmdlTGltaXRIb3VyPzogc3RyaW5nKSB7XG4gICAgaWYgKGRheXNPZldlZWsgJiYgQXJyYXkuaXNBcnJheShkYXlzT2ZXZWVrKSkge1xuICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0V2Vla0RheXNMYWJlbChkYXlzT2ZXZWVrKX0gJHt0aGlzLmdldEhvdXJMYWJlbChob3VyLCByYW5nZUxpbWl0SG91cil9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMubGl0ZXJhbHMubm90UmVwb3J0ZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzb3J0V2Vla0RheXMoZGF5czogQXJyYXk8c3RyaW5nPiA9IFtdKSB7XG4gICAgY29uc3Qgc29ydGVyV2Vla0RheXMgPSB0aGlzLmdldFNvcnRlcldlZWtEYXlzKCk7XG5cbiAgICByZXR1cm4gZGF5cy5zb3J0KChhOiBzdHJpbmcsIGI6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgY3VyckRheSA9IGEudG9Mb3dlckNhc2UoKTtcbiAgICAgIGNvbnN0IG5leHREYXkgPSBiLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgIHJldHVybiBzb3J0ZXJXZWVrRGF5c1tjdXJyRGF5XSA+IHNvcnRlcldlZWtEYXlzW25leHREYXldID8gMSA6IC0xO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tbWQtMTJcIj5cbiAgPHBvLWluZm9cbiAgICAqbmdJZj1cIiFub1BhcmFtZXRlcnNcIlxuICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLnByb2Nlc3NcIlxuICAgIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiXG4gICAgW3AtdmFsdWVdPVwidmFsdWUucHJvY2Vzc0lEXCJcbiAgPlxuICA8L3BvLWluZm8+XG5cbiAgPHBvLWluZm8gW3AtbGFiZWxdPVwibGl0ZXJhbHMucGVyaW9kaWNpdHlcIiBbcC1vcmllbnRhdGlvbl09XCJpbmZvT3JpZW50YXRpb25cIiBbcC12YWx1ZV09XCJwZXJpb2RpY2l0eVZhbHVlXCI+IDwvcG8taW5mbz5cblxuICA8cG8taW5mb1xuICAgICpuZ0lmPVwiZnJlcXVlbmN5VmFsdWUgIT09ICcnXCJcbiAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5mcmVxdWVuY3lcIlxuICAgIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiXG4gICAgW3AtdmFsdWVdPVwiZnJlcXVlbmN5VmFsdWVcIlxuICA+XG4gIDwvcG8taW5mbz5cblxuICA8cG8taW5mb1xuICAgICpuZ0lmPVwidmFsdWUucGVyaW9kaWNpdHkgIT09ICdzaW5nbGUnXCJcbiAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5leGVjdXRpb25cIlxuICAgIFtwLW9yaWVudGF0aW9uXT1cImluZm9PcmllbnRhdGlvblwiXG4gICAgW3AtdmFsdWVdPVwiZXhlY3V0aW9uVmFsdWVcIlxuICA+XG4gIDwvcG8taW5mbz5cblxuICA8cG8taW5mbyBbcC1sYWJlbF09XCJsaXRlcmFscy5yZWN1cnJlbnRcIiBbcC1vcmllbnRhdGlvbl09XCJpbmZvT3JpZW50YXRpb25cIiBbcC12YWx1ZV09XCJyZWN1cnJlbnRWYWx1ZVwiPiA8L3BvLWluZm8+XG5cbiAgPHBvLWluZm8gW3AtbGFiZWxdPVwibGl0ZXJhbHMuZmlyc3RFeGVjdXRpb25cIiBbcC1vcmllbnRhdGlvbl09XCJpbmZvT3JpZW50YXRpb25cIiBbcC12YWx1ZV09XCJmaXJzdEV4ZWN1dGlvblZhbHVlXCI+XG4gIDwvcG8taW5mbz5cbjwvZGl2PlxuXG48cG8td2lkZ2V0ICpuZ0lmPVwicGFyYW1ldGVycyAmJiBwYXJhbWV0ZXJzLmxlbmd0aFwiIGNsYXNzPVwicG8tcHQtMSBwby1wYi0xIHBvLW1kLTEyXCIgW3AtdGl0bGVdPVwibGl0ZXJhbHMucGFyYW1ldGVyc1wiPlxuICA8cG8tZHluYW1pYy12aWV3IFtwLWZpZWxkc109XCJwYXJhbWV0ZXJzXCIgW3AtdmFsdWVdPVwidmFsdWUuZXhlY3V0aW9uUGFyYW1ldGVyXCI+IDwvcG8tZHluYW1pYy12aWV3PlxuPC9wby13aWRnZXQ+XG4iXX0=
|
|
@@ -18,9 +18,9 @@ const _c0 = ["schedulerExecution"];
|
|
|
18
18
|
const _c1 = ["schedulerParameters"];
|
|
19
19
|
const _c2 = () => [];
|
|
20
20
|
function PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
-
const
|
|
22
|
-
i0.ɵɵelementStart(0, "po-page-job-scheduler-parameters",
|
|
23
|
-
i0.ɵɵtwoWayListener("p-valueChange", function PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template_po_page_job_scheduler_parameters_p_valueChange_0_listener($event) { i0.ɵɵrestoreView(
|
|
21
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
22
|
+
i0.ɵɵelementStart(0, "po-page-job-scheduler-parameters", 11, 2);
|
|
23
|
+
i0.ɵɵtwoWayListener("p-valueChange", function PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template_po_page_job_scheduler_parameters_p_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.model.executionParameter, $event) || (ctx_r2.model.executionParameter = $event); return i0.ɵɵresetView($event); });
|
|
24
24
|
i0.ɵɵelementEnd();
|
|
25
25
|
} if (rf & 2) {
|
|
26
26
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -30,8 +30,8 @@ function PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template
|
|
|
30
30
|
function PoPageJobSchedulerComponent_po_page_job_scheduler_summary_10_Template(rf, ctx) { if (rf & 1) {
|
|
31
31
|
i0.ɵɵelement(0, "po-page-job-scheduler-summary", 12);
|
|
32
32
|
} if (rf & 2) {
|
|
33
|
-
const
|
|
34
|
-
i0.ɵɵproperty("p-no-parameters", !
|
|
33
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
34
|
+
i0.ɵɵproperty("p-no-parameters", !ctx_r2.parameters.length)("p-literals", ctx_r2.literals)("p-parameters", ctx_r2.parameters)("p-value", ctx_r2.publicValues);
|
|
35
35
|
} }
|
|
36
36
|
function PoPageJobSchedulerComponent_ng_container_11_ng_template_2_Template(rf, ctx) { }
|
|
37
37
|
function PoPageJobSchedulerComponent_ng_container_11_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -41,13 +41,13 @@ function PoPageJobSchedulerComponent_ng_container_11_Template(rf, ctx) { if (rf
|
|
|
41
41
|
i0.ɵɵelementEnd();
|
|
42
42
|
i0.ɵɵelementContainerEnd();
|
|
43
43
|
} if (rf & 2) {
|
|
44
|
-
const
|
|
45
|
-
const
|
|
46
|
-
const
|
|
44
|
+
const template_r4 = ctx.$implicit;
|
|
45
|
+
const index_r5 = ctx.index;
|
|
46
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
47
47
|
i0.ɵɵadvance();
|
|
48
|
-
i0.ɵɵproperty("hidden",
|
|
48
|
+
i0.ɵɵproperty("hidden", ctx_r2.step !== index_r5 + (ctx_r2._stepExecutionLast ? 1 : 2));
|
|
49
49
|
i0.ɵɵadvance();
|
|
50
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
50
|
+
i0.ɵɵproperty("ngTemplateOutlet", template_r4 == null ? null : template_r4.templateRef);
|
|
51
51
|
} }
|
|
52
52
|
/**
|
|
53
53
|
* @docsExtends PoPageJobSchedulerBaseComponent
|
|
@@ -361,16 +361,17 @@ export class PoPageJobSchedulerComponent extends PoPageJobSchedulerBaseComponent
|
|
|
361
361
|
let _t;
|
|
362
362
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.schedulerExecution = _t.first);
|
|
363
363
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.schedulerParameters = _t.first);
|
|
364
|
-
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 17, consts: [[3, "p-actions", "p-breadcrumb", "p-title"], [1, "po-row"], ["p-sequential", "true", 3, "ngClass", "p-orientation", "p-step", "p-steps"
|
|
365
|
-
|
|
366
|
-
i0.ɵɵ
|
|
364
|
+
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 17, consts: [["formScheduler", "ngForm"], ["schedulerExecution", ""], ["schedulerParameters", ""], [3, "p-actions", "p-breadcrumb", "p-title"], [1, "po-row"], ["p-sequential", "true", 3, "p-change-step", "ngClass", "p-orientation", "p-step", "p-steps"], [3, "ngClass"], [1, "po-md-12", 3, "p-change-process", "p-no-parameters", "p-no-custom-params-component", "hidden", "p-is-edit", "p-literals", "p-value"], ["class", "po-md-12", 3, "hidden", "p-literals", "p-parameters", "p-value", "p-valueChange", 4, "ngIf"], ["class", "po-md-12", 3, "p-no-parameters", "p-literals", "p-parameters", "p-value", 4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "po-md-12", 3, "p-valueChange", "hidden", "p-literals", "p-parameters", "p-value"], [1, "po-md-12", 3, "p-no-parameters", "p-literals", "p-parameters", "p-value"], [3, "hidden"], [3, "ngTemplateOutlet"]], template: function PoPageJobSchedulerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
365
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
366
|
+
i0.ɵɵelementStart(0, "po-page-default", 3)(1, "div", 4)(2, "po-stepper", 5);
|
|
367
|
+
i0.ɵɵlistener("p-change-step", function PoPageJobSchedulerComponent_Template_po_stepper_p_change_step_2_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.nextStep($event)); });
|
|
367
368
|
i0.ɵɵelementEnd();
|
|
368
|
-
i0.ɵɵelementStart(3, "po-container",
|
|
369
|
-
i0.ɵɵlistener("p-change-process", function PoPageJobSchedulerComponent_Template_po_page_job_scheduler_execution_p_change_process_7_listener($event) { return ctx.onChangeProcess($event); });
|
|
369
|
+
i0.ɵɵelementStart(3, "po-container", 6)(4, "form", null, 0)(6, "div", 4)(7, "po-page-job-scheduler-execution", 7, 1);
|
|
370
|
+
i0.ɵɵlistener("p-change-process", function PoPageJobSchedulerComponent_Template_po_page_job_scheduler_execution_p_change_process_7_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onChangeProcess($event)); });
|
|
370
371
|
i0.ɵɵelementEnd();
|
|
371
|
-
i0.ɵɵtemplate(9, PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template, 2, 5, "po-page-job-scheduler-parameters",
|
|
372
|
+
i0.ɵɵtemplate(9, PoPageJobSchedulerComponent_po_page_job_scheduler_parameters_9_Template, 2, 5, "po-page-job-scheduler-parameters", 8)(10, PoPageJobSchedulerComponent_po_page_job_scheduler_summary_10_Template, 1, 4, "po-page-job-scheduler-summary", 9);
|
|
372
373
|
i0.ɵɵelementEnd()();
|
|
373
|
-
i0.ɵɵtemplate(11, PoPageJobSchedulerComponent_ng_container_11_Template, 3, 2, "ng-container",
|
|
374
|
+
i0.ɵɵtemplate(11, PoPageJobSchedulerComponent_ng_container_11_Template, 3, 2, "ng-container", 10);
|
|
374
375
|
i0.ɵɵelementEnd()()();
|
|
375
376
|
} if (rf & 2) {
|
|
376
377
|
i0.ɵɵproperty("p-actions", ctx.jobSchedulerActions)("p-breadcrumb", ctx.breadcrumb)("p-title", ctx.title);
|
|
@@ -402,4 +403,4 @@ export class PoPageJobSchedulerComponent extends PoPageJobSchedulerBaseComponent
|
|
|
402
403
|
args: [PoJobSchedulerParametersTemplateDirective]
|
|
403
404
|
}] }); })();
|
|
404
405
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoPageJobSchedulerComponent, { className: "PoPageJobSchedulerComponent", filePath: "lib/components/po-page-job-scheduler/po-page-job-scheduler.component.ts", lineNumber: 57 }); })();
|
|
405
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1qb2Itc2NoZWR1bGVyL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9wby1wYWdlLWpvYi1zY2hlZHVsZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBR2YsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBT0wsZUFBZSxFQUNmLGVBQWUsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUc5QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdyRixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQ0hyRixnRUFRQztJQURDLG1ZQUFzQztJQUV4QyxpQkFBbUM7OztJQVBqQyw4REFBa0MsK0JBQUEsaUVBQUE7SUFLbEMsK0RBQXNDOzs7SUFJeEMsb0RBUWdDOzs7SUFQOUIsMkRBQXNDLCtCQUFBLG1DQUFBLGdDQUFBOzs7O0lBVzVDLDZCQUEwRTtJQUN4RSwrQkFBOEQ7SUFDNUQsNkdBQXNFO0lBQ3hFLGlCQUFNO0lBQ1IsMEJBQWU7Ozs7O0lBSFIsY0FBd0Q7SUFBeEQsdUZBQXdEO0lBQzlDLGNBQTBDO0lBQTFDLHVG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QUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIE9uSW5pdCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFBvRGlhbG9nU2VydmljZSxcbiAgUG9EeW5hbWljRm9ybUZpZWxkLFxuICBQb0xhbmd1YWdlU2VydmljZSxcbiAgUG9Ob3RpZmljYXRpb25TZXJ2aWNlLFxuICBQb1BhZ2VBY3Rpb24sXG4gIFBvU3RlcHBlckl0ZW0sXG4gIFBvU3RlcHBlclN0YXR1cyxcbiAgcG9Mb2NhbGVEZWZhdWx0XG59IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1qb2Itc2NoZWR1bGVyLWludGVybmFsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJJbnRlcm5hbCB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWludGVybmFsJztcbmltcG9ydCB7IFBvUGFnZUpvYlNjaGVkdWxlckJhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBwb1BhZ2VKb2JTY2hlZHVsZXJMaXRlcmFsc0RlZmF1bHQgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1saXRlcmFscyc7XG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJMb29rdXBTZXJ2aWNlIH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItbG9va3VwLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9Kb2JTY2hlZHVsZXJQYXJhbWV0ZXJzVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1wYXJhbWV0ZXJzJztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9QYWdlSm9iU2NoZWR1bGVyQmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2Utam9iLXNjaGVkdWxlci1iYWNrZ3JvdW5kLXByb2Nlc3NcIiB0aXRsZT1cIlBPIFBhZ2UgSm9iIFNjaGVkdWxlciAtIEJhY2tncm91bmQgUHJvY2Vzc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhY2tncm91bmQtcHJvY2Vzcy9zYW1wbGUtcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhY2tncm91bmQtcHJvY2Vzcy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWpvYi1zY2hlZHVsZXItYmFja2dyb3VuZC1wcm9jZXNzL3NhbXBsZS1wby1wYWdlLWpvYi1zY2hlZHVsZXItYmFja2dyb3VuZC1wcm9jZXNzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1wYWdlLWpvYi1zY2hlZHVsZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgcG8tY29udGFpbmVyIC5wby1jb250YWluZXIge1xuICAgICAgICBvdmVyZmxvdy15OiB1bnNldDtcbiAgICAgIH1cbiAgICBgXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUG9QYWdlSm9iU2NoZWR1bGVyQ29tcG9uZW50IGV4dGVuZHMgUG9QYWdlSm9iU2NoZWR1bGVyQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ3NjaGVkdWxlckV4ZWN1dGlvbicsIHsgc3RhdGljOiB0cnVlIH0pIHNjaGVkdWxlckV4ZWN1dGlvbjogeyBmb3JtOiBOZ0Zvcm0gfTtcbiAgQFZpZXdDaGlsZCgnc2NoZWR1bGVyUGFyYW1ldGVycycpIHNjaGVkdWxlclBhcmFtZXRlcnM6IHsgZm9ybTogTmdGb3JtIH07XG4gIEBDb250ZW50Q2hpbGRyZW4oUG9Kb2JTY2hlZHVsZXJQYXJhbWV0ZXJzVGVtcGxhdGVEaXJlY3RpdmUpXG4gIHBhcmFtZXRlcnNUZW1wbGF0ZTogUXVlcnlMaXN0PFBvSm9iU2NoZWR1bGVyUGFyYW1ldGVyc1RlbXBsYXRlRGlyZWN0aXZlPjtcblxuICBpc0VkaXQgPSBmYWxzZTtcbiAgbGl0ZXJhbHMgPSB7XG4gICAgLi4ucG9QYWdlSm9iU2NoZWR1bGVyTGl0ZXJhbHNEZWZhdWx0W3BvTG9jYWxlRGVmYXVsdF1cbiAgfTtcblxuICBwdWJsaWNWYWx1ZXM6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWw7XG4gIHNhdmVPcGVyYXRpb246IE9ic2VydmFibGU8YW55PjtcbiAgc3RlcDogbnVtYmVyID0gMTtcbiAgcGFyYW1ldGVyc0VtcHR5OiBib29sZWFuID0gdHJ1ZTtcblxuICBzdGVwUGFyYW1ldGVyc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHN0ZXBzOiBBcnJheTxQb1N0ZXBwZXJJdGVtPiA9IFtdO1xuXG4gIHByaXZhdGUgYmFja1BhZ2VBY3Rpb246IFBvUGFnZUFjdGlvbiA9IHtcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5iYWNrLFxuICAgIGFjdGlvbjogdGhpcy5uZXh0U3RlcE9wZXJhdGlvbi5iaW5kKHRoaXMsICdiYWNrJyksXG4gICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZEJhY2suYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgY29uY2x1ZGVQYWdlQWN0aW9uOiBQb1BhZ2VBY3Rpb24gPSB7XG4gICAgbGFiZWw6IHRoaXMubGl0ZXJhbHMuY29uY2x1ZGUsXG4gICAgYWN0aW9uOiB0aGlzLmNvbmZpcm1Kb2JTY2hlZHVsZXIuYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgbmV4dFBhZ2VBY3Rpb246IFBvUGFnZUFjdGlvbiA9IHtcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5uZXh0LFxuICAgIGFjdGlvbjogdGhpcy5uZXh0U3RlcE9wZXJhdGlvbi5iaW5kKHRoaXMsICduZXh0JyksXG4gICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZEFkdmFuY2UuYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgY29uY2x1ZGVQYWdlQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPiA9IFt0aGlzLmNvbmNsdWRlUGFnZUFjdGlvbiwgdGhpcy5iYWNrUGFnZUFjdGlvbl07XG5cbiAgcHJpdmF0ZSBuZXh0UGFnZUFjdGlvbnM6IEFycmF5PFBvUGFnZUFjdGlvbj4gPSBbdGhpcy5uZXh0UGFnZUFjdGlvbiwgdGhpcy5iYWNrUGFnZUFjdGlvbl07XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgam9iU2NoZWR1bGVyQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPiA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG5cbiAgcHJvdGVjdGVkIHN0ZXBFeGVjdXRpb24gPSAxO1xuICBwcm90ZWN0ZWQgc3RlcFBhcmFtZXRlcnMgPSAyO1xuICBwcm90ZWN0ZWQgc3RlcFN1bW1hcnkgPSAzO1xuICBwcm90ZWN0ZWQgX3N0ZXBFeGVjdXRpb25MYXN0OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwb1BhZ2VEeW5hbWljTG9va3VwU2VydmljZTogUG9QYWdlSm9iU2NoZWR1bGVyTG9va3VwU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHBvRGlhbG9nU2VydmljZTogUG9EaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcG9Ob3RpZmljYXRpb246IFBvTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZTogUG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSxcbiAgICBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UpO1xuXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuXG4gICAgdGhpcy5saXRlcmFscyA9IHtcbiAgICAgIC4uLnRoaXMubGl0ZXJhbHMsXG4gICAgICAuLi5wb1BhZ2VKb2JTY2hlZHVsZXJMaXRlcmFsc0RlZmF1bHRbbGFuZ3VhZ2VdXG4gICAgfTtcblxuICAgIHRoaXMuYmFja1BhZ2VBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLmJhY2s7XG4gICAgdGhpcy5jb25jbHVkZVBhZ2VBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLmNvbmNsdWRlO1xuICAgIHRoaXMubmV4dFBhZ2VBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLm5leHQ7XG4gIH1cblxuICBnZXQgc3RlcHBlck9yaWVudGF0aW9uKCk6ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnN0ZXBwZXJEZWZhdWx0T3JpZW50YXRpb24gfHwgKHdpbmRvdy5pbm5lcldpZHRoID4gNDgxICYmIHdpbmRvdy5pbm5lcldpZHRoIDwgOTYwID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJylcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgcGFyYW1JZCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyYW1zWydpZCddO1xuXG4gICAgdGhpcy5pc0VkaXQgPSAhIXBhcmFtSWQ7XG5cbiAgICB0aGlzLnBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UuY29uZmlnU2VydmljZUFwaSh7IGVuZHBvaW50OiB0aGlzLnNlcnZpY2VBcGkgfSk7XG5cbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJzRW1wdHkgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmxvYWREYXRhKHBhcmFtSWQpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tTdGVwRXhlY3V0aW9uTGFzdCgpO1xuICAgIHRoaXMuZ2V0U3RlcHMoKTtcbiAgfVxuXG4gIGNoYW5nZVBhZ2VBY3Rpb25zQnlTdGVwcyhjdXJyZW50U3RlcDogbnVtYmVyLCBuZXh0U3RlcDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3RlcHNMZW5ndGggPSB0aGlzLnN0ZXBzLmxlbmd0aDtcblxuICAgIGlmIChuZXh0U3RlcCA9PT0gc3RlcHNMZW5ndGgpIHtcbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLmNvbmNsdWRlUGFnZUFjdGlvbnNdO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFN0ZXAgPT09IHN0ZXBzTGVuZ3RoICYmIG5leHRTdGVwIDwgY3VycmVudFN0ZXApIHtcbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG4gICAgfVxuICB9XG5cbiAgbmV4dFN0ZXAoc3RlcE51bWJlcjogbnVtYmVyKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiAnYmFjaycgfCAnbmV4dCcgPSBzdGVwTnVtYmVyID4gdGhpcy5zdGVwID8gJ25leHQnIDogJ2JhY2snO1xuXG4gICAgLy8gUHJldmluZSBvIHVzdcOhcmlvIHB1bGFyIGV0YXBhc1xuICAgIGNvbnN0IGp1bXBTdGVwID0gKHN0ZXBOdW1iZXIgLSB0aGlzLnN0ZXApICogKG9wZXJhdGlvbiA9PT0gJ2JhY2snID8gLTEgOiAxKTtcbiAgICBpZiAoanVtcFN0ZXAgPiAxKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnZhbGlkYXRlU3RlcEV4ZWN1dGlvbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ25leHQnICYmICF0aGlzLnZhbGlkYXRlU3RlcFNjaGVkdWxlclBhcmFtZXRlcnMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChvcGVyYXRpb24gPT09ICduZXh0JyAmJiAhdGhpcy52YWxpZGF0ZVN0ZXBUZW1wbGF0ZVBhcmFtZXRlcnMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0ZXAgPT09IHRoaXMuc3RlcEV4ZWN1dGlvbikge1xuICAgICAgdGhpcy5zZXRNb2RlbFJlY3VycmVudCgpO1xuICAgIH1cblxuICAgIC8vIEJ1c2NhIG9zIHBhcsOibWV0cm9zIGRvIHRlbXBsYXRlXG4gICAgdGhpcy5zZXRQcm9wZXJ0aWVzRnJvbVRlbXBsYXRlKCk7XG5cbiAgICBpZiAoc3RlcE51bWJlciA9PT0gdGhpcy5zdGVwcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IG1vZGVsID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLm1vZGVsKSk7XG4gICAgICB0aGlzLnB1YmxpY1ZhbHVlcyA9IHRoaXMuaGlkZXNTZWNyZXRWYWx1ZXMobW9kZWwpO1xuICAgIH1cblxuICAgIHRoaXMuc3RlcHNbdGhpcy5zdGVwIC0gMV0uc3RhdHVzID0gb3BlcmF0aW9uID09PSAnbmV4dCcgPyBQb1N0ZXBwZXJTdGF0dXMuRG9uZSA6IFBvU3RlcHBlclN0YXR1cy5EZWZhdWx0O1xuXG4gICAgdGhpcy5jaGFuZ2VQYWdlQWN0aW9uc0J5U3RlcHModGhpcy5zdGVwLCBzdGVwTnVtYmVyKTtcbiAgICB0aGlzLnN0ZXAgPSBzdGVwTnVtYmVyO1xuXG4gICAgLy8gQ2FzbyBqw6EgdGVuaGEgaW5pY2lhZG8gYSBldGFwYSBkZSBwYXJhbWV0cml6YcOnw6NvLFxuICAgIC8vIGd1YXJkYSBlc3NhIGluZm9ybWHDp8OjbyBwYXJhIG7Do28gcHJlY2lzYXIgcmVuZGVyaXphciBub3ZhbWVudGVcbiAgICB0aGlzLnN0ZXBQYXJhbWV0ZXJzSW5pdGlhbGl6ZWQgPSB0aGlzLnN0ZXBQYXJhbWV0ZXJzSW5pdGlhbGl6ZWQgfHwgc3RlcE51bWJlciA9PT0gdGhpcy5zdGVwUGFyYW1ldGVycztcbiAgfVxuXG4gIG9uQ2hhbmdlUHJvY2Vzcyhwcm9jZXNzOiB7IHByb2Nlc3NJZDogc3RyaW5nOyBleGlzdEFQSTogYm9vbGVhbiB9KSB7XG4gICAgaWYgKHByb2Nlc3MuZXhpc3RBUEkgJiYgcHJvY2Vzcy5wcm9jZXNzSWQgJiYgdGhpcy5wYXJhbWV0ZXJzRW1wdHkgJiYgIXRoaXMucGFyYW1ldGVyc1RlbXBsYXRlLmxlbmd0aCkge1xuICAgICAgdGhpcy5nZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3MucHJvY2Vzc0lkKTtcbiAgICAgIGlmICghdGhpcy5pc0VkaXQpIHtcbiAgICAgICAgdGhpcy5tb2RlbC5leGVjdXRpb25QYXJhbWV0ZXIgPSB7fTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNrU3RlcEV4ZWN1dGlvbkxhc3QoKSB7XG4gICAgaWYgKCF0aGlzLnBhcmFtZXRlcnNUZW1wbGF0ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX3N0ZXBFeGVjdXRpb25MYXN0ID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RlcEV4ZWN1dGlvbkxhc3QgPSB0aGlzLnN0ZXBFeGVjdXRpb25MYXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBjb25maXJtSm9iU2NoZWR1bGVyKCkge1xuICAgIGNvbnN0IHBhcmFtSWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtc1snaWQnXTtcblxuICAgIGNvbnN0IGNvbmZpcm1NZXNzYWdlID0gcGFyYW1JZCA/IHRoaXMubGl0ZXJhbHMuY29uZmlybVVwZGF0ZU1lc3NhZ2UgOiB0aGlzLmxpdGVyYWxzLmNvbmZpcm1TYXZlTWVzc2FnZTtcblxuICAgIHRoaXMucG9EaWFsb2dTZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgdGl0bGU6IHRoaXMubGl0ZXJhbHMuY29uZmlybWF0aW9uLFxuICAgICAgbWVzc2FnZTogY29uZmlybU1lc3NhZ2UsXG4gICAgICBjb25maXJtOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJlZm9yZVNlbmRNb2RlbCA9IHRoaXMuYmVmb3JlU2VuZEFjdGlvbiA/IHRoaXMuYmVmb3JlU2VuZEFjdGlvbih0aGlzLm1vZGVsKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICBjb25zdCBtb2RlbCA9IHsgLi4uKGJlZm9yZVNlbmRNb2RlbCB8fCB0aGlzLm1vZGVsKSB9O1xuXG4gICAgICAgIHRoaXMuc2F2ZShtb2RlbCwgcGFyYW1JZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRTdWNjZXNzTWVzc2FnZShtc2dTdWNjZXNzOiBhbnksIHNhdmVPcGVyYXRpb246IE9ic2VydmFibGU8YW55Pikge1xuICAgIHNhdmVPcGVyYXRpb24uc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQoKTtcbiAgICAgICAgdGhpcy5wb05vdGlmaWNhdGlvbi5zdWNjZXNzKG1zZ1N1Y2Nlc3MpO1xuICAgICAgICB0aGlzLnJlc2V0Sm9iU2NoZWR1bGVyRm9ybSgpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiBlID0+IHRoaXMuZXJyb3IuZW1pdChlKVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3M6IGFueSkge1xuICAgIHRoaXMucG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZS5nZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3MpLnN1YnNjcmliZShwYXJhbWV0ZXJzID0+IHtcbiAgICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhpZGVzU2VjcmV0VmFsdWVzKG1vZGVsOiBQb0pvYlNjaGVkdWxlckludGVybmFsKTogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB7XG4gICAgY29uc3QgaGlkZGVuU2VjcmV0VmFsdWUgPSAnKioqKioqKioqKic7XG4gICAgdGhpcy5wYXJhbWV0ZXJzLmZvckVhY2gocGFyYW1ldGVyID0+IHtcbiAgICAgIGlmICh0aGlzLmlzU2VjcmV0UGFyYW1ldGVyKG1vZGVsLCBwYXJhbWV0ZXIpKSB7XG4gICAgICAgIG1vZGVsLmV4ZWN1dGlvblBhcmFtZXRlcltwYXJhbWV0ZXIucHJvcGVydHldID0gaGlkZGVuU2VjcmV0VmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdGVwcygpIHtcbiAgICBjb25zdCB0ZW1wbGF0ZUFycmF5OiBBcnJheTxQb1N0ZXBwZXJJdGVtPiA9IFtdO1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJzVGVtcGxhdGUudG9BcnJheSgpLmZvckVhY2goKHZhbHVlLCBpbmRleCwgYXJyYXkpID0+IHtcbiAgICAgIHRlbXBsYXRlQXJyYXkucHVzaCh7XG4gICAgICAgIGxhYmVsOiB2YWx1ZS50aXRsZSB8fCBgJHt0aGlzLmxpdGVyYWxzLnBhcmFtZXRlcml6YXRpb259ICR7YXJyYXkubGVuZ3RoID4gMSA/IGluZGV4ICsgMSA6ICcnfWBcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgbGV0IF9zdGVwcyA9IFtdO1xuXG4gICAgaWYgKCF0aGlzLl9zdGVwRXhlY3V0aW9uTGFzdCkge1xuICAgICAgX3N0ZXBzLnB1c2goeyBsYWJlbDogdGhpcy5saXRlcmFscy5zY2hlZHVsaW5nIH0pO1xuICAgIH1cblxuICAgIGlmICghdGVtcGxhdGVBcnJheS5sZW5ndGgpIHtcbiAgICAgIF9zdGVwcy5wdXNoKHsgbGFiZWw6IHRoaXMubGl0ZXJhbHMucGFyYW1ldGVyaXphdGlvbiB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgX3N0ZXBzID0gWy4uLl9zdGVwcywgLi4udGVtcGxhdGVBcnJheV07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N0ZXBFeGVjdXRpb25MYXN0KSB7XG4gICAgICBfc3RlcHMucHVzaCh7IGxhYmVsOiB0aGlzLmxpdGVyYWxzLnNjaGVkdWxpbmcgfSk7XG4gICAgfVxuXG4gICAgX3N0ZXBzLnB1c2goeyBsYWJlbDogdGhpcy5saXRlcmFscy5jb25jbHVkZSB9KTtcblxuICAgIHRoaXMuc3RlcHMgPSBfc3RlcHM7XG5cbiAgICB0aGlzLnN0ZXBTdW1tYXJ5ID0gdGhpcy5zdGVwcy5sZW5ndGg7XG4gICAgaWYgKHRoaXMuX3N0ZXBFeGVjdXRpb25MYXN0KSB7XG4gICAgICB0aGlzLnN0ZXBFeGVjdXRpb24gPSB0aGlzLnN0ZXBTdW1tYXJ5IC0gMTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFRlbXBsYXRlQ3VycmVudCgpIHtcbiAgICBjb25zdCBpbmRleFRlbXBsYXRlID0gdGhpcy5zdGVwIC0gKHRoaXMuc3RlcEV4ZWN1dGlvbkxhc3QgPyAxIDogMik7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVyc1RlbXBsYXRlLnRvQXJyYXkoKVtpbmRleFRlbXBsYXRlXTtcbiAgfVxuXG4gIHByaXZhdGUgdGVtcGxhdGVIYXNEaXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy5nZXRUZW1wbGF0ZUN1cnJlbnQoKTtcblxuICAgIHJldHVybiAhdGVtcGxhdGU/LmRpc2FibGVkQWR2YW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNEaXNhYmxlZEFkdmFuY2UoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuc3RlcCA9PT0gdGhpcy5zdGVwRXhlY3V0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5zY2hlZHVsZXJFeGVjdXRpb24/LmZvcm0/LmludmFsaWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycykge1xuICAgICAgcmV0dXJuIHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycz8uZm9ybT8uaW52YWxpZDtcbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wbGF0ZUN1cnJlbnQgPSB0aGlzLmdldFRlbXBsYXRlQ3VycmVudCgpO1xuXG4gICAgaWYgKHRlbXBsYXRlQ3VycmVudCkge1xuICAgICAgcmV0dXJuIHRlbXBsYXRlQ3VycmVudC5kaXNhYmxlZEFkdmFuY2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Rpc2FibGVkQmFjaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwID09PSAxO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NlY3JldFBhcmFtZXRlcihtb2RlbDogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCwgcGFyYW1ldGVyOiBQb0R5bmFtaWNGb3JtRmllbGQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgbW9kZWwuZXhlY3V0aW9uUGFyYW1ldGVyICYmXG4gICAgICBwYXJhbWV0ZXIuaGFzT3duUHJvcGVydHkoJ3NlY3JldCcpICYmXG4gICAgICBwYXJhbWV0ZXJbJ3NlY3JldCddID09PSB0cnVlICYmXG4gICAgICBtb2RlbC5leGVjdXRpb25QYXJhbWV0ZXIuaGFzT3duUHJvcGVydHkocGFyYW1ldGVyLnByb3BlcnR5KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG5leHRTdGVwT3BlcmF0aW9uKG9wZXJhdGlvbj86ICdiYWNrJyB8ICduZXh0Jykge1xuICAgIGNvbnN0IHN0ZXBOdW1iZXIgPSBvcGVyYXRpb24gPT09ICdiYWNrJyA/IHRoaXMuc3RlcCAtIDEgOiB0aGlzLnN0ZXAgKyAxO1xuXG4gICAgdGhpcy5uZXh0U3RlcChzdGVwTnVtYmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRKb2JTY2hlZHVsZXJGb3JtKCkge1xuICAgIHRoaXMuc2NoZWR1bGVyRXhlY3V0aW9uLmZvcm0ucmVzZXQoKTtcblxuICAgIC8vIHJhZGlvZ3JvdXAgbsOjbyBlc3RhdmEgYXRyaWJ1aW5kbyBub3ZvIHZhbG9yLCBmaWNhIHZlcm1lbGhvIHNlbSBvIHRpbWV0b3V0LlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5tb2RlbCA9IG5ldyBQb1BhZ2VKb2JTY2hlZHVsZXJJbnRlcm5hbCgpO1xuXG4gICAgICB0aGlzLnN0ZXAgPSAxO1xuICAgICAgdGhpcy5zdGVwcy5mb3JFYWNoKHN0ZXAgPT4ge1xuICAgICAgICBzdGVwLnN0YXR1cyA9IFBvU3RlcHBlclN0YXR1cy5EZWZhdWx0O1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNhdmUobW9kZWw6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWwsIHBhcmFtSWQpIHtcbiAgICBjb25zdCBzYXZlT3BlcmF0aW9uID0gcGFyYW1JZFxuICAgICAgPyB0aGlzLnBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UudXBkYXRlUmVzb3VyY2UocGFyYW1JZCwgbW9kZWwpXG4gICAgICA6IHRoaXMucG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZS5jcmVhdGVSZXNvdXJjZShtb2RlbCk7XG5cbiAgICBjb25zdCBtc2dTdWNjZXNzID0gcGFyYW1JZFxuICAgICAgPyB0aGlzLmxpdGVyYWxzLnNhdmVOb3RpZmljYXRpb25TdWNjZXNzVXBkYXRlXG4gICAgICA6IHRoaXMubGl0ZXJhbHMuc2F2ZU5vdGlmaWNhdGlvblN1Y2Nlc3NTYXZlO1xuXG4gICAgdGhpcy5lbWl0U3VjY2Vzc01lc3NhZ2UobXNnU3VjY2Vzcywgc2F2ZU9wZXJhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHNldE1vZGVsUmVjdXJyZW50KCkge1xuICAgIHRoaXMubW9kZWwucmVjdXJyZW50ID0gdGhpcy5tb2RlbC5wZXJpb2RpY2l0eSA9PT0gJ3NpbmdsZScgPyBmYWxzZSA6IHRoaXMubW9kZWwucmVjdXJyZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQcm9wZXJ0aWVzRnJvbVRlbXBsYXRlKCkge1xuICAgIGNvbnN0IHRlbXBsYXRlQ3VycmVudCA9IHRoaXMuZ2V0VGVtcGxhdGVDdXJyZW50KCk7XG5cbiAgICBpZiAoIXRlbXBsYXRlQ3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubW9kZWwgPSB7XG4gICAgICAuLi50aGlzLm1vZGVsLFxuICAgICAgZXhlY3V0aW9uUGFyYW1ldGVyOiB7IC4uLnRoaXMubW9kZWwuZXhlY3V0aW9uUGFyYW1ldGVyLCAuLi50ZW1wbGF0ZUN1cnJlbnQuZXhlY3V0aW9uUGFyYW1ldGVyIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVN0ZXBFeGVjdXRpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc3RlcEN1cnJlbnQgPSB0aGlzLnN0ZXA7XG5cbiAgICBpZiAoc3RlcEN1cnJlbnQgPT0gdGhpcy5zdGVwRXhlY3V0aW9uICYmIHRoaXMuc2NoZWR1bGVyRXhlY3V0aW9uLmZvcm0uaW52YWxpZCkge1xuICAgICAgdGhpcy5tYXJrQXNEaXJ0eUludmFsaWRDb250cm9scyh0aGlzLnNjaGVkdWxlckV4ZWN1dGlvbi5mb3JtLmNvbnRyb2xzKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVTdGVwU2NoZWR1bGVyUGFyYW1ldGVycygpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zdGVwID09PSB0aGlzLnN0ZXBFeGVjdXRpb24gfHwgdGhpcy5zdGVwID09PSB0aGlzLnN0ZXBTdW1tYXJ5KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzICYmIHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycy5mb3JtICYmIHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycy5mb3JtLmludmFsaWQpIHtcbiAgICAgIHRoaXMubWFya0FzRGlydHlJbnZhbGlkQ29udHJvbHModGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzLmZvcm0uY29udHJvbHMpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVN0ZXBUZW1wbGF0ZVBhcmFtZXRlcnMoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuc3RlcCA9PT0gdGhpcy5zdGVwRXhlY3V0aW9uIHx8IHRoaXMuc3RlcCA9PT0gdGhpcy5zdGVwU3VtbWFyeSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnBhcmFtZXRlcnNUZW1wbGF0ZS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlSGFzRGlzYWJsZSgpO1xuICB9XG59XG4iLCI8cG8tcGFnZS1kZWZhdWx0IFtwLWFjdGlvbnNdPVwiam9iU2NoZWR1bGVyQWN0aW9uc1wiIFtwLWJyZWFkY3J1bWJdPVwiYnJlYWRjcnVtYlwiIFtwLXRpdGxlXT1cInRpdGxlXCI+XG4gIDxkaXYgY2xhc3M9XCJwby1yb3dcIj5cbiAgICA8cG8tc3RlcHBlclxuICAgICAgW25nQ2xhc3NdPVwic3RlcHBlckRlZmF1bHRPcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnID8gJ3BvLWxnLTEyIHBvLXhsLTEyJyA6ICdwby1sZy0zIHBvLXhsLTInXCJcbiAgICAgIHAtc2VxdWVudGlhbD1cInRydWVcIlxuICAgICAgW3Atb3JpZW50YXRpb25dPVwic3RlcHBlck9yaWVudGF0aW9uXCJcbiAgICAgIFtwLXN0ZXBdPVwic3RlcFwiXG4gICAgICBbcC1zdGVwc109XCJzdGVwc1wiXG4gICAgICAocC1jaGFuZ2Utc3RlcCk9XCJuZXh0U3RlcCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9wby1zdGVwcGVyPlxuXG4gICAgPHBvLWNvbnRhaW5lciBbbmdDbGFzc109XCJzdGVwcGVyRGVmYXVsdE9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAncG8tbGctMTIgcG8teGwtMTInIDogJ3BvLWxnLTggcG8teGwtNidcIj5cbiAgICAgIDxmb3JtICNmb3JtU2NoZWR1bGVyPVwibmdGb3JtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1yb3dcIj5cbiAgICAgICAgICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyLWV4ZWN1dGlvblxuICAgICAgICAgICAgW3Atbm8tcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzRW1wdHlcIlxuICAgICAgICAgICAgW3Atbm8tY3VzdG9tLXBhcmFtcy1jb21wb25lbnRdPVwiIXBhcmFtZXRlcnNUZW1wbGF0ZS5sZW5ndGhcIlxuICAgICAgICAgICAgW2hpZGRlbl09XCJzdGVwICE9PSBzdGVwRXhlY3V0aW9uXCJcbiAgICAgICAgICAgICNzY2hlZHVsZXJFeGVjdXRpb25cbiAgICAgICAgICAgIGNsYXNzPVwicG8tbWQtMTJcIlxuICAgICAgICAgICAgW3AtaXMtZWRpdF09XCJpc0VkaXRcIlxuICAgICAgICAgICAgW3AtbGl0ZXJhbHNdPVwibGl0ZXJhbHNcIlxuICAgICAgICAgICAgW3AtdmFsdWVdPVwibW9kZWxcIlxuICAgICAgICAgICAgKHAtY2hhbmdlLXByb2Nlc3MpPVwib25DaGFuZ2VQcm9jZXNzKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLXBhZ2Utam9iLXNjaGVkdWxlci1leGVjdXRpb24+XG5cbiAgICAgICAgICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnNcbiAgICAgICAgICAgICpuZ0lmPVwic3RlcFBhcmFtZXRlcnNJbml0aWFsaXplZCAmJiAhcGFyYW1ldGVyc1RlbXBsYXRlLmxlbmd0aFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cInN0ZXAgIT09IHN0ZXBQYXJhbWV0ZXJzXCJcbiAgICAgICAgICAgICNzY2hlZHVsZXJQYXJhbWV0ZXJzXG4gICAgICAgICAgICBjbGFzcz1cInBvLW1kLTEyXCJcbiAgICAgICAgICAgIFtwLWxpdGVyYWxzXT1cImxpdGVyYWxzXCJcbiAgICAgICAgICAgIFtwLXBhcmFtZXRlcnNdPVwicGFyYW1ldGVycyB8fCBbXVwiXG4gICAgICAgICAgICBbKHAtdmFsdWUpXT1cIm1vZGVsLmV4ZWN1dGlvblBhcmFtZXRlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnM+XG5cbiAgICAgICAgICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnlcbiAgICAgICAgICAgIFtwLW5vLXBhcmFtZXRlcnNdPVwiIXBhcmFtZXRlcnMubGVuZ3RoXCJcbiAgICAgICAgICAgICpuZ0lmPVwic3RlcCA9PT0gc3RlcFN1bW1hcnlcIlxuICAgICAgICAgICAgY2xhc3M9XCJwby1tZC0xMlwiXG4gICAgICAgICAgICBbcC1saXRlcmFsc109XCJsaXRlcmFsc1wiXG4gICAgICAgICAgICBbcC1wYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnNcIlxuICAgICAgICAgICAgW3AtdmFsdWVdPVwicHVibGljVmFsdWVzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9wby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRlbXBsYXRlIG9mIHBhcmFtZXRlcnNUZW1wbGF0ZTsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgPGRpdiBbaGlkZGVuXT1cInN0ZXAgIT09IGluZGV4ICsgKF9zdGVwRXhlY3V0aW9uTGFzdCA/IDEgOiAyKVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZT8udGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvcG8tY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvcG8tcGFnZS1kZWZhdWx0PlxuIl19
|
|
406
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1qb2Itc2NoZWR1bGVyL3BvLXBhZ2Utam9iLXNjaGVkdWxlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9wby1wYWdlLWpvYi1zY2hlZHVsZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBR2YsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBT0wsZUFBZSxFQUNmLGVBQWUsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUc5QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdyRixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQ0hyRiwrREFRQztJQURDLG1ZQUFzQztJQUV4QyxpQkFBbUM7OztJQUhqQyxBQURBLEFBSEEsOERBQWtDLCtCQUdYLGlFQUNVO0lBQ2pDLCtEQUFzQzs7O0lBSXhDLG9EQVFnQzs7O0lBRjlCLEFBREEsQUFEQSxBQUhBLDJEQUFzQywrQkFHZixtQ0FDSSxnQ0FDSDs7OztJQU05Qiw2QkFBMEU7SUFDeEUsK0JBQThEO0lBQzVELDZHQUF3RDtJQUMxRCxpQkFBTTs7Ozs7O0lBRkQsY0FBd0Q7SUFBeEQsdUZBQXdEO0lBQzlD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QWdHO1lBQWhHLGtIQUFnRztZQUl0RyxlQUFtQztZQU9uQyxBQURBLEFBREEsQUFIQSxBQURBLEFBREEscURBQW1DLGdFQUN3QiwwQ0FDMUIseUJBR2IsNEJBQ0csc0JBQ047WUFNaEIsZUFBNkQ7WUFBN0Qsc0ZBQTZEO1lBWTdELGNBQTBCO1lBQTFCLG1EQUEwQjtZQVVFLGNBQXVCO1lBQXZCLGdEQUF1Qjs7O2lGREtuRCwyQkFBMkI7Y0FadkMsU0FBUzsyQkFDRSx1QkFBdUIsaUJBRWxCLGlCQUFpQixDQUFDLElBQUk7dU9BVWMsa0JBQWtCO2tCQUFwRSxTQUFTO21CQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNmLG1CQUFtQjtrQkFBcEQsU0FBUzttQkFBQyxxQkFBcUI7WUFFaEMsa0JBQWtCO2tCQURqQixlQUFlO21CQUFDLHlDQUF5Qzs7a0ZBSC9DLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIE9uSW5pdCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFBvRGlhbG9nU2VydmljZSxcbiAgUG9EeW5hbWljRm9ybUZpZWxkLFxuICBQb0xhbmd1YWdlU2VydmljZSxcbiAgUG9Ob3RpZmljYXRpb25TZXJ2aWNlLFxuICBQb1BhZ2VBY3Rpb24sXG4gIFBvU3RlcHBlckl0ZW0sXG4gIFBvU3RlcHBlclN0YXR1cyxcbiAgcG9Mb2NhbGVEZWZhdWx0XG59IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1qb2Itc2NoZWR1bGVyLWludGVybmFsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJJbnRlcm5hbCB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWludGVybmFsJztcbmltcG9ydCB7IFBvUGFnZUpvYlNjaGVkdWxlckJhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBwb1BhZ2VKb2JTY2hlZHVsZXJMaXRlcmFsc0RlZmF1bHQgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1saXRlcmFscyc7XG5pbXBvcnQgeyBQb1BhZ2VKb2JTY2hlZHVsZXJMb29rdXBTZXJ2aWNlIH0gZnJvbSAnLi9wby1wYWdlLWpvYi1zY2hlZHVsZXItbG9va3VwLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSB9IGZyb20gJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9Kb2JTY2hlZHVsZXJQYXJhbWV0ZXJzVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL3BvLXBhZ2Utam9iLXNjaGVkdWxlci1wYXJhbWV0ZXJzJztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9QYWdlSm9iU2NoZWR1bGVyQmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2Utam9iLXNjaGVkdWxlci1iYWNrZ3JvdW5kLXByb2Nlc3NcIiB0aXRsZT1cIlBPIFBhZ2UgSm9iIFNjaGVkdWxlciAtIEJhY2tncm91bmQgUHJvY2Vzc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhY2tncm91bmQtcHJvY2Vzcy9zYW1wbGUtcG8tcGFnZS1qb2Itc2NoZWR1bGVyLWJhY2tncm91bmQtcHJvY2Vzcy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWpvYi1zY2hlZHVsZXItYmFja2dyb3VuZC1wcm9jZXNzL3NhbXBsZS1wby1wYWdlLWpvYi1zY2hlZHVsZXItYmFja2dyb3VuZC1wcm9jZXNzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1wYWdlLWpvYi1zY2hlZHVsZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tcGFnZS1qb2Itc2NoZWR1bGVyLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgcG8tY29udGFpbmVyIC5wby1jb250YWluZXIge1xuICAgICAgICBvdmVyZmxvdy15OiB1bnNldDtcbiAgICAgIH1cbiAgICBgXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUG9QYWdlSm9iU2NoZWR1bGVyQ29tcG9uZW50IGV4dGVuZHMgUG9QYWdlSm9iU2NoZWR1bGVyQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ3NjaGVkdWxlckV4ZWN1dGlvbicsIHsgc3RhdGljOiB0cnVlIH0pIHNjaGVkdWxlckV4ZWN1dGlvbjogeyBmb3JtOiBOZ0Zvcm0gfTtcbiAgQFZpZXdDaGlsZCgnc2NoZWR1bGVyUGFyYW1ldGVycycpIHNjaGVkdWxlclBhcmFtZXRlcnM6IHsgZm9ybTogTmdGb3JtIH07XG4gIEBDb250ZW50Q2hpbGRyZW4oUG9Kb2JTY2hlZHVsZXJQYXJhbWV0ZXJzVGVtcGxhdGVEaXJlY3RpdmUpXG4gIHBhcmFtZXRlcnNUZW1wbGF0ZTogUXVlcnlMaXN0PFBvSm9iU2NoZWR1bGVyUGFyYW1ldGVyc1RlbXBsYXRlRGlyZWN0aXZlPjtcblxuICBpc0VkaXQgPSBmYWxzZTtcbiAgbGl0ZXJhbHMgPSB7XG4gICAgLi4ucG9QYWdlSm9iU2NoZWR1bGVyTGl0ZXJhbHNEZWZhdWx0W3BvTG9jYWxlRGVmYXVsdF1cbiAgfTtcblxuICBwdWJsaWNWYWx1ZXM6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWw7XG4gIHNhdmVPcGVyYXRpb246IE9ic2VydmFibGU8YW55PjtcbiAgc3RlcDogbnVtYmVyID0gMTtcbiAgcGFyYW1ldGVyc0VtcHR5OiBib29sZWFuID0gdHJ1ZTtcblxuICBzdGVwUGFyYW1ldGVyc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHN0ZXBzOiBBcnJheTxQb1N0ZXBwZXJJdGVtPiA9IFtdO1xuXG4gIHByaXZhdGUgYmFja1BhZ2VBY3Rpb246IFBvUGFnZUFjdGlvbiA9IHtcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5iYWNrLFxuICAgIGFjdGlvbjogdGhpcy5uZXh0U3RlcE9wZXJhdGlvbi5iaW5kKHRoaXMsICdiYWNrJyksXG4gICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZEJhY2suYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgY29uY2x1ZGVQYWdlQWN0aW9uOiBQb1BhZ2VBY3Rpb24gPSB7XG4gICAgbGFiZWw6IHRoaXMubGl0ZXJhbHMuY29uY2x1ZGUsXG4gICAgYWN0aW9uOiB0aGlzLmNvbmZpcm1Kb2JTY2hlZHVsZXIuYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgbmV4dFBhZ2VBY3Rpb246IFBvUGFnZUFjdGlvbiA9IHtcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5uZXh0LFxuICAgIGFjdGlvbjogdGhpcy5uZXh0U3RlcE9wZXJhdGlvbi5iaW5kKHRoaXMsICduZXh0JyksXG4gICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZEFkdmFuY2UuYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgY29uY2x1ZGVQYWdlQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPiA9IFt0aGlzLmNvbmNsdWRlUGFnZUFjdGlvbiwgdGhpcy5iYWNrUGFnZUFjdGlvbl07XG5cbiAgcHJpdmF0ZSBuZXh0UGFnZUFjdGlvbnM6IEFycmF5PFBvUGFnZUFjdGlvbj4gPSBbdGhpcy5uZXh0UGFnZUFjdGlvbiwgdGhpcy5iYWNrUGFnZUFjdGlvbl07XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgam9iU2NoZWR1bGVyQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPiA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG5cbiAgcHJvdGVjdGVkIHN0ZXBFeGVjdXRpb24gPSAxO1xuICBwcm90ZWN0ZWQgc3RlcFBhcmFtZXRlcnMgPSAyO1xuICBwcm90ZWN0ZWQgc3RlcFN1bW1hcnkgPSAzO1xuICBwcm90ZWN0ZWQgX3N0ZXBFeGVjdXRpb25MYXN0OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwb1BhZ2VEeW5hbWljTG9va3VwU2VydmljZTogUG9QYWdlSm9iU2NoZWR1bGVyTG9va3VwU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHBvRGlhbG9nU2VydmljZTogUG9EaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcG9Ob3RpZmljYXRpb246IFBvTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZTogUG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSxcbiAgICBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UpO1xuXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuXG4gICAgdGhpcy5saXRlcmFscyA9IHtcbiAgICAgIC4uLnRoaXMubGl0ZXJhbHMsXG4gICAgICAuLi5wb1BhZ2VKb2JTY2hlZHVsZXJMaXRlcmFsc0RlZmF1bHRbbGFuZ3VhZ2VdXG4gICAgfTtcblxuICAgIHRoaXMuYmFja1BhZ2VBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLmJhY2s7XG4gICAgdGhpcy5jb25jbHVkZVBhZ2VBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLmNvbmNsdWRlO1xuICAgIHRoaXMubmV4dFBhZ2VBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLm5leHQ7XG4gIH1cblxuICBnZXQgc3RlcHBlck9yaWVudGF0aW9uKCk6ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnN0ZXBwZXJEZWZhdWx0T3JpZW50YXRpb24gfHwgKHdpbmRvdy5pbm5lcldpZHRoID4gNDgxICYmIHdpbmRvdy5pbm5lcldpZHRoIDwgOTYwID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJylcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgcGFyYW1JZCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyYW1zWydpZCddO1xuXG4gICAgdGhpcy5pc0VkaXQgPSAhIXBhcmFtSWQ7XG5cbiAgICB0aGlzLnBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UuY29uZmlnU2VydmljZUFwaSh7IGVuZHBvaW50OiB0aGlzLnNlcnZpY2VBcGkgfSk7XG5cbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJzRW1wdHkgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmxvYWREYXRhKHBhcmFtSWQpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tTdGVwRXhlY3V0aW9uTGFzdCgpO1xuICAgIHRoaXMuZ2V0U3RlcHMoKTtcbiAgfVxuXG4gIGNoYW5nZVBhZ2VBY3Rpb25zQnlTdGVwcyhjdXJyZW50U3RlcDogbnVtYmVyLCBuZXh0U3RlcDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3RlcHNMZW5ndGggPSB0aGlzLnN0ZXBzLmxlbmd0aDtcblxuICAgIGlmIChuZXh0U3RlcCA9PT0gc3RlcHNMZW5ndGgpIHtcbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLmNvbmNsdWRlUGFnZUFjdGlvbnNdO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFN0ZXAgPT09IHN0ZXBzTGVuZ3RoICYmIG5leHRTdGVwIDwgY3VycmVudFN0ZXApIHtcbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG4gICAgfVxuICB9XG5cbiAgbmV4dFN0ZXAoc3RlcE51bWJlcjogbnVtYmVyKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiAnYmFjaycgfCAnbmV4dCcgPSBzdGVwTnVtYmVyID4gdGhpcy5zdGVwID8gJ25leHQnIDogJ2JhY2snO1xuXG4gICAgLy8gUHJldmluZSBvIHVzdcOhcmlvIHB1bGFyIGV0YXBhc1xuICAgIGNvbnN0IGp1bXBTdGVwID0gKHN0ZXBOdW1iZXIgLSB0aGlzLnN0ZXApICogKG9wZXJhdGlvbiA9PT0gJ2JhY2snID8gLTEgOiAxKTtcbiAgICBpZiAoanVtcFN0ZXAgPiAxKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnZhbGlkYXRlU3RlcEV4ZWN1dGlvbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ25leHQnICYmICF0aGlzLnZhbGlkYXRlU3RlcFNjaGVkdWxlclBhcmFtZXRlcnMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChvcGVyYXRpb24gPT09ICduZXh0JyAmJiAhdGhpcy52YWxpZGF0ZVN0ZXBUZW1wbGF0ZVBhcmFtZXRlcnMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0ZXAgPT09IHRoaXMuc3RlcEV4ZWN1dGlvbikge1xuICAgICAgdGhpcy5zZXRNb2RlbFJlY3VycmVudCgpO1xuICAgIH1cblxuICAgIC8vIEJ1c2NhIG9zIHBhcsOibWV0cm9zIGRvIHRlbXBsYXRlXG4gICAgdGhpcy5zZXRQcm9wZXJ0aWVzRnJvbVRlbXBsYXRlKCk7XG5cbiAgICBpZiAoc3RlcE51bWJlciA9PT0gdGhpcy5zdGVwcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IG1vZGVsID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLm1vZGVsKSk7XG4gICAgICB0aGlzLnB1YmxpY1ZhbHVlcyA9IHRoaXMuaGlkZXNTZWNyZXRWYWx1ZXMobW9kZWwpO1xuICAgIH1cblxuICAgIHRoaXMuc3RlcHNbdGhpcy5zdGVwIC0gMV0uc3RhdHVzID0gb3BlcmF0aW9uID09PSAnbmV4dCcgPyBQb1N0ZXBwZXJTdGF0dXMuRG9uZSA6IFBvU3RlcHBlclN0YXR1cy5EZWZhdWx0O1xuXG4gICAgdGhpcy5jaGFuZ2VQYWdlQWN0aW9uc0J5U3RlcHModGhpcy5zdGVwLCBzdGVwTnVtYmVyKTtcbiAgICB0aGlzLnN0ZXAgPSBzdGVwTnVtYmVyO1xuXG4gICAgLy8gQ2FzbyBqw6EgdGVuaGEgaW5pY2lhZG8gYSBldGFwYSBkZSBwYXJhbWV0cml6YcOnw6NvLFxuICAgIC8vIGd1YXJkYSBlc3NhIGluZm9ybWHDp8OjbyBwYXJhIG7Do28gcHJlY2lzYXIgcmVuZGVyaXphciBub3ZhbWVudGVcbiAgICB0aGlzLnN0ZXBQYXJhbWV0ZXJzSW5pdGlhbGl6ZWQgPSB0aGlzLnN0ZXBQYXJhbWV0ZXJzSW5pdGlhbGl6ZWQgfHwgc3RlcE51bWJlciA9PT0gdGhpcy5zdGVwUGFyYW1ldGVycztcbiAgfVxuXG4gIG9uQ2hhbmdlUHJvY2Vzcyhwcm9jZXNzOiB7IHByb2Nlc3NJZDogc3RyaW5nOyBleGlzdEFQSTogYm9vbGVhbiB9KSB7XG4gICAgaWYgKHByb2Nlc3MuZXhpc3RBUEkgJiYgcHJvY2Vzcy5wcm9jZXNzSWQgJiYgdGhpcy5wYXJhbWV0ZXJzRW1wdHkgJiYgIXRoaXMucGFyYW1ldGVyc1RlbXBsYXRlLmxlbmd0aCkge1xuICAgICAgdGhpcy5nZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3MucHJvY2Vzc0lkKTtcbiAgICAgIGlmICghdGhpcy5pc0VkaXQpIHtcbiAgICAgICAgdGhpcy5tb2RlbC5leGVjdXRpb25QYXJhbWV0ZXIgPSB7fTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNrU3RlcEV4ZWN1dGlvbkxhc3QoKSB7XG4gICAgaWYgKCF0aGlzLnBhcmFtZXRlcnNUZW1wbGF0ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX3N0ZXBFeGVjdXRpb25MYXN0ID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RlcEV4ZWN1dGlvbkxhc3QgPSB0aGlzLnN0ZXBFeGVjdXRpb25MYXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBjb25maXJtSm9iU2NoZWR1bGVyKCkge1xuICAgIGNvbnN0IHBhcmFtSWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtc1snaWQnXTtcblxuICAgIGNvbnN0IGNvbmZpcm1NZXNzYWdlID0gcGFyYW1JZCA/IHRoaXMubGl0ZXJhbHMuY29uZmlybVVwZGF0ZU1lc3NhZ2UgOiB0aGlzLmxpdGVyYWxzLmNvbmZpcm1TYXZlTWVzc2FnZTtcblxuICAgIHRoaXMucG9EaWFsb2dTZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgdGl0bGU6IHRoaXMubGl0ZXJhbHMuY29uZmlybWF0aW9uLFxuICAgICAgbWVzc2FnZTogY29uZmlybU1lc3NhZ2UsXG4gICAgICBjb25maXJtOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJlZm9yZVNlbmRNb2RlbCA9IHRoaXMuYmVmb3JlU2VuZEFjdGlvbiA/IHRoaXMuYmVmb3JlU2VuZEFjdGlvbih0aGlzLm1vZGVsKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICBjb25zdCBtb2RlbCA9IHsgLi4uKGJlZm9yZVNlbmRNb2RlbCB8fCB0aGlzLm1vZGVsKSB9O1xuXG4gICAgICAgIHRoaXMuc2F2ZShtb2RlbCwgcGFyYW1JZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRTdWNjZXNzTWVzc2FnZShtc2dTdWNjZXNzOiBhbnksIHNhdmVPcGVyYXRpb246IE9ic2VydmFibGU8YW55Pikge1xuICAgIHNhdmVPcGVyYXRpb24uc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQoKTtcbiAgICAgICAgdGhpcy5wb05vdGlmaWNhdGlvbi5zdWNjZXNzKG1zZ1N1Y2Nlc3MpO1xuICAgICAgICB0aGlzLnJlc2V0Sm9iU2NoZWR1bGVyRm9ybSgpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiBlID0+IHRoaXMuZXJyb3IuZW1pdChlKVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3M6IGFueSkge1xuICAgIHRoaXMucG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZS5nZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3MpLnN1YnNjcmliZShwYXJhbWV0ZXJzID0+IHtcbiAgICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhpZGVzU2VjcmV0VmFsdWVzKG1vZGVsOiBQb0pvYlNjaGVkdWxlckludGVybmFsKTogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB7XG4gICAgY29uc3QgaGlkZGVuU2VjcmV0VmFsdWUgPSAnKioqKioqKioqKic7XG4gICAgdGhpcy5wYXJhbWV0ZXJzLmZvckVhY2gocGFyYW1ldGVyID0+IHtcbiAgICAgIGlmICh0aGlzLmlzU2VjcmV0UGFyYW1ldGVyKG1vZGVsLCBwYXJhbWV0ZXIpKSB7XG4gICAgICAgIG1vZGVsLmV4ZWN1dGlvblBhcmFtZXRlcltwYXJhbWV0ZXIucHJvcGVydHldID0gaGlkZGVuU2VjcmV0VmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdGVwcygpIHtcbiAgICBjb25zdCB0ZW1wbGF0ZUFycmF5OiBBcnJheTxQb1N0ZXBwZXJJdGVtPiA9IFtdO1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJzVGVtcGxhdGUudG9BcnJheSgpLmZvckVhY2goKHZhbHVlLCBpbmRleCwgYXJyYXkpID0+IHtcbiAgICAgIHRlbXBsYXRlQXJyYXkucHVzaCh7XG4gICAgICAgIGxhYmVsOiB2YWx1ZS50aXRsZSB8fCBgJHt0aGlzLmxpdGVyYWxzLnBhcmFtZXRlcml6YXRpb259ICR7YXJyYXkubGVuZ3RoID4gMSA/IGluZGV4ICsgMSA6ICcnfWBcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgbGV0IF9zdGVwcyA9IFtdO1xuXG4gICAgaWYgKCF0aGlzLl9zdGVwRXhlY3V0aW9uTGFzdCkge1xuICAgICAgX3N0ZXBzLnB1c2goeyBsYWJlbDogdGhpcy5saXRlcmFscy5zY2hlZHVsaW5nIH0pO1xuICAgIH1cblxuICAgIGlmICghdGVtcGxhdGVBcnJheS5sZW5ndGgpIHtcbiAgICAgIF9zdGVwcy5wdXNoKHsgbGFiZWw6IHRoaXMubGl0ZXJhbHMucGFyYW1ldGVyaXphdGlvbiB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgX3N0ZXBzID0gWy4uLl9zdGVwcywgLi4udGVtcGxhdGVBcnJheV07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N0ZXBFeGVjdXRpb25MYXN0KSB7XG4gICAgICBfc3RlcHMucHVzaCh7IGxhYmVsOiB0aGlzLmxpdGVyYWxzLnNjaGVkdWxpbmcgfSk7XG4gICAgfVxuXG4gICAgX3N0ZXBzLnB1c2goeyBsYWJlbDogdGhpcy5saXRlcmFscy5jb25jbHVkZSB9KTtcblxuICAgIHRoaXMuc3RlcHMgPSBfc3RlcHM7XG5cbiAgICB0aGlzLnN0ZXBTdW1tYXJ5ID0gdGhpcy5zdGVwcy5sZW5ndGg7XG4gICAgaWYgKHRoaXMuX3N0ZXBFeGVjdXRpb25MYXN0KSB7XG4gICAgICB0aGlzLnN0ZXBFeGVjdXRpb24gPSB0aGlzLnN0ZXBTdW1tYXJ5IC0gMTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFRlbXBsYXRlQ3VycmVudCgpIHtcbiAgICBjb25zdCBpbmRleFRlbXBsYXRlID0gdGhpcy5zdGVwIC0gKHRoaXMuc3RlcEV4ZWN1dGlvbkxhc3QgPyAxIDogMik7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVyc1RlbXBsYXRlLnRvQXJyYXkoKVtpbmRleFRlbXBsYXRlXTtcbiAgfVxuXG4gIHByaXZhdGUgdGVtcGxhdGVIYXNEaXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy5nZXRUZW1wbGF0ZUN1cnJlbnQoKTtcblxuICAgIHJldHVybiAhdGVtcGxhdGU/LmRpc2FibGVkQWR2YW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNEaXNhYmxlZEFkdmFuY2UoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuc3RlcCA9PT0gdGhpcy5zdGVwRXhlY3V0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5zY2hlZHVsZXJFeGVjdXRpb24/LmZvcm0/LmludmFsaWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycykge1xuICAgICAgcmV0dXJuIHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycz8uZm9ybT8uaW52YWxpZDtcbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wbGF0ZUN1cnJlbnQgPSB0aGlzLmdldFRlbXBsYXRlQ3VycmVudCgpO1xuXG4gICAgaWYgKHRlbXBsYXRlQ3VycmVudCkge1xuICAgICAgcmV0dXJuIHRlbXBsYXRlQ3VycmVudC5kaXNhYmxlZEFkdmFuY2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Rpc2FibGVkQmFjaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwID09PSAxO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NlY3JldFBhcmFtZXRlcihtb2RlbDogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCwgcGFyYW1ldGVyOiBQb0R5bmFtaWNGb3JtRmllbGQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgbW9kZWwuZXhlY3V0aW9uUGFyYW1ldGVyICYmXG4gICAgICBwYXJhbWV0ZXIuaGFzT3duUHJvcGVydHkoJ3NlY3JldCcpICYmXG4gICAgICBwYXJhbWV0ZXJbJ3NlY3JldCddID09PSB0cnVlICYmXG4gICAgICBtb2RlbC5leGVjdXRpb25QYXJhbWV0ZXIuaGFzT3duUHJvcGVydHkocGFyYW1ldGVyLnByb3BlcnR5KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG5leHRTdGVwT3BlcmF0aW9uKG9wZXJhdGlvbj86ICdiYWNrJyB8ICduZXh0Jykge1xuICAgIGNvbnN0IHN0ZXBOdW1iZXIgPSBvcGVyYXRpb24gPT09ICdiYWNrJyA/IHRoaXMuc3RlcCAtIDEgOiB0aGlzLnN0ZXAgKyAxO1xuXG4gICAgdGhpcy5uZXh0U3RlcChzdGVwTnVtYmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRKb2JTY2hlZHVsZXJGb3JtKCkge1xuICAgIHRoaXMuc2NoZWR1bGVyRXhlY3V0aW9uLmZvcm0ucmVzZXQoKTtcblxuICAgIC8vIHJhZGlvZ3JvdXAgbsOjbyBlc3RhdmEgYXRyaWJ1aW5kbyBub3ZvIHZhbG9yLCBmaWNhIHZlcm1lbGhvIHNlbSBvIHRpbWV0b3V0LlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5tb2RlbCA9IG5ldyBQb1BhZ2VKb2JTY2hlZHVsZXJJbnRlcm5hbCgpO1xuXG4gICAgICB0aGlzLnN0ZXAgPSAxO1xuICAgICAgdGhpcy5zdGVwcy5mb3JFYWNoKHN0ZXAgPT4ge1xuICAgICAgICBzdGVwLnN0YXR1cyA9IFBvU3RlcHBlclN0YXR1cy5EZWZhdWx0O1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuam9iU2NoZWR1bGVyQWN0aW9ucyA9IFsuLi50aGlzLm5leHRQYWdlQWN0aW9uc107XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNhdmUobW9kZWw6IFBvSm9iU2NoZWR1bGVySW50ZXJuYWwsIHBhcmFtSWQpIHtcbiAgICBjb25zdCBzYXZlT3BlcmF0aW9uID0gcGFyYW1JZFxuICAgICAgPyB0aGlzLnBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2UudXBkYXRlUmVzb3VyY2UocGFyYW1JZCwgbW9kZWwpXG4gICAgICA6IHRoaXMucG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZS5jcmVhdGVSZXNvdXJjZShtb2RlbCk7XG5cbiAgICBjb25zdCBtc2dTdWNjZXNzID0gcGFyYW1JZFxuICAgICAgPyB0aGlzLmxpdGVyYWxzLnNhdmVOb3RpZmljYXRpb25TdWNjZXNzVXBkYXRlXG4gICAgICA6IHRoaXMubGl0ZXJhbHMuc2F2ZU5vdGlmaWNhdGlvblN1Y2Nlc3NTYXZlO1xuXG4gICAgdGhpcy5lbWl0U3VjY2Vzc01lc3NhZ2UobXNnU3VjY2Vzcywgc2F2ZU9wZXJhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHNldE1vZGVsUmVjdXJyZW50KCkge1xuICAgIHRoaXMubW9kZWwucmVjdXJyZW50ID0gdGhpcy5tb2RlbC5wZXJpb2RpY2l0eSA9PT0gJ3NpbmdsZScgPyBmYWxzZSA6IHRoaXMubW9kZWwucmVjdXJyZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQcm9wZXJ0aWVzRnJvbVRlbXBsYXRlKCkge1xuICAgIGNvbnN0IHRlbXBsYXRlQ3VycmVudCA9IHRoaXMuZ2V0VGVtcGxhdGVDdXJyZW50KCk7XG5cbiAgICBpZiAoIXRlbXBsYXRlQ3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubW9kZWwgPSB7XG4gICAgICAuLi50aGlzLm1vZGVsLFxuICAgICAgZXhlY3V0aW9uUGFyYW1ldGVyOiB7IC4uLnRoaXMubW9kZWwuZXhlY3V0aW9uUGFyYW1ldGVyLCAuLi50ZW1wbGF0ZUN1cnJlbnQuZXhlY3V0aW9uUGFyYW1ldGVyIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVN0ZXBFeGVjdXRpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc3RlcEN1cnJlbnQgPSB0aGlzLnN0ZXA7XG5cbiAgICBpZiAoc3RlcEN1cnJlbnQgPT0gdGhpcy5zdGVwRXhlY3V0aW9uICYmIHRoaXMuc2NoZWR1bGVyRXhlY3V0aW9uLmZvcm0uaW52YWxpZCkge1xuICAgICAgdGhpcy5tYXJrQXNEaXJ0eUludmFsaWRDb250cm9scyh0aGlzLnNjaGVkdWxlckV4ZWN1dGlvbi5mb3JtLmNvbnRyb2xzKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVTdGVwU2NoZWR1bGVyUGFyYW1ldGVycygpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zdGVwID09PSB0aGlzLnN0ZXBFeGVjdXRpb24gfHwgdGhpcy5zdGVwID09PSB0aGlzLnN0ZXBTdW1tYXJ5KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzICYmIHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycy5mb3JtICYmIHRoaXMuc2NoZWR1bGVyUGFyYW1ldGVycy5mb3JtLmludmFsaWQpIHtcbiAgICAgIHRoaXMubWFya0FzRGlydHlJbnZhbGlkQ29udHJvbHModGhpcy5zY2hlZHVsZXJQYXJhbWV0ZXJzLmZvcm0uY29udHJvbHMpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVN0ZXBUZW1wbGF0ZVBhcmFtZXRlcnMoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuc3RlcCA9PT0gdGhpcy5zdGVwRXhlY3V0aW9uIHx8IHRoaXMuc3RlcCA9PT0gdGhpcy5zdGVwU3VtbWFyeSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnBhcmFtZXRlcnNUZW1wbGF0ZS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlSGFzRGlzYWJsZSgpO1xuICB9XG59XG4iLCI8cG8tcGFnZS1kZWZhdWx0IFtwLWFjdGlvbnNdPVwiam9iU2NoZWR1bGVyQWN0aW9uc1wiIFtwLWJyZWFkY3J1bWJdPVwiYnJlYWRjcnVtYlwiIFtwLXRpdGxlXT1cInRpdGxlXCI+XG4gIDxkaXYgY2xhc3M9XCJwby1yb3dcIj5cbiAgICA8cG8tc3RlcHBlclxuICAgICAgW25nQ2xhc3NdPVwic3RlcHBlckRlZmF1bHRPcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnID8gJ3BvLWxnLTEyIHBvLXhsLTEyJyA6ICdwby1sZy0zIHBvLXhsLTInXCJcbiAgICAgIHAtc2VxdWVudGlhbD1cInRydWVcIlxuICAgICAgW3Atb3JpZW50YXRpb25dPVwic3RlcHBlck9yaWVudGF0aW9uXCJcbiAgICAgIFtwLXN0ZXBdPVwic3RlcFwiXG4gICAgICBbcC1zdGVwc109XCJzdGVwc1wiXG4gICAgICAocC1jaGFuZ2Utc3RlcCk9XCJuZXh0U3RlcCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9wby1zdGVwcGVyPlxuXG4gICAgPHBvLWNvbnRhaW5lciBbbmdDbGFzc109XCJzdGVwcGVyRGVmYXVsdE9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAncG8tbGctMTIgcG8teGwtMTInIDogJ3BvLWxnLTggcG8teGwtNidcIj5cbiAgICAgIDxmb3JtICNmb3JtU2NoZWR1bGVyPVwibmdGb3JtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1yb3dcIj5cbiAgICAgICAgICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyLWV4ZWN1dGlvblxuICAgICAgICAgICAgW3Atbm8tcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzRW1wdHlcIlxuICAgICAgICAgICAgW3Atbm8tY3VzdG9tLXBhcmFtcy1jb21wb25lbnRdPVwiIXBhcmFtZXRlcnNUZW1wbGF0ZS5sZW5ndGhcIlxuICAgICAgICAgICAgW2hpZGRlbl09XCJzdGVwICE9PSBzdGVwRXhlY3V0aW9uXCJcbiAgICAgICAgICAgICNzY2hlZHVsZXJFeGVjdXRpb25cbiAgICAgICAgICAgIGNsYXNzPVwicG8tbWQtMTJcIlxuICAgICAgICAgICAgW3AtaXMtZWRpdF09XCJpc0VkaXRcIlxuICAgICAgICAgICAgW3AtbGl0ZXJhbHNdPVwibGl0ZXJhbHNcIlxuICAgICAgICAgICAgW3AtdmFsdWVdPVwibW9kZWxcIlxuICAgICAgICAgICAgKHAtY2hhbmdlLXByb2Nlc3MpPVwib25DaGFuZ2VQcm9jZXNzKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLXBhZ2Utam9iLXNjaGVkdWxlci1leGVjdXRpb24+XG5cbiAgICAgICAgICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnNcbiAgICAgICAgICAgICpuZ0lmPVwic3RlcFBhcmFtZXRlcnNJbml0aWFsaXplZCAmJiAhcGFyYW1ldGVyc1RlbXBsYXRlLmxlbmd0aFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cInN0ZXAgIT09IHN0ZXBQYXJhbWV0ZXJzXCJcbiAgICAgICAgICAgICNzY2hlZHVsZXJQYXJhbWV0ZXJzXG4gICAgICAgICAgICBjbGFzcz1cInBvLW1kLTEyXCJcbiAgICAgICAgICAgIFtwLWxpdGVyYWxzXT1cImxpdGVyYWxzXCJcbiAgICAgICAgICAgIFtwLXBhcmFtZXRlcnNdPVwicGFyYW1ldGVycyB8fCBbXVwiXG4gICAgICAgICAgICBbKHAtdmFsdWUpXT1cIm1vZGVsLmV4ZWN1dGlvblBhcmFtZXRlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcG8tcGFnZS1qb2Itc2NoZWR1bGVyLXBhcmFtZXRlcnM+XG5cbiAgICAgICAgICA8cG8tcGFnZS1qb2Itc2NoZWR1bGVyLXN1bW1hcnlcbiAgICAgICAgICAgIFtwLW5vLXBhcmFtZXRlcnNdPVwiIXBhcmFtZXRlcnMubGVuZ3RoXCJcbiAgICAgICAgICAgICpuZ0lmPVwic3RlcCA9PT0gc3RlcFN1bW1hcnlcIlxuICAgICAgICAgICAgY2xhc3M9XCJwby1tZC0xMlwiXG4gICAgICAgICAgICBbcC1saXRlcmFsc109XCJsaXRlcmFsc1wiXG4gICAgICAgICAgICBbcC1wYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnNcIlxuICAgICAgICAgICAgW3AtdmFsdWVdPVwicHVibGljVmFsdWVzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9wby1wYWdlLWpvYi1zY2hlZHVsZXItc3VtbWFyeT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRlbXBsYXRlIG9mIHBhcmFtZXRlcnNUZW1wbGF0ZTsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgPGRpdiBbaGlkZGVuXT1cInN0ZXAgIT09IGluZGV4ICsgKF9zdGVwRXhlY3V0aW9uTGFzdCA/IDEgOiAyKVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZT8udGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvcG8tY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvcG8tcGFnZS1kZWZhdWx0PlxuIl19
|
|
@@ -204,4 +204,4 @@ export class PoPageJobSchedulerService {
|
|
|
204
204
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageJobSchedulerService, [{
|
|
205
205
|
type: Injectable
|
|
206
206
|
}], () => [{ type: i1.HttpClient }], null); })();
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9wby1wYWdlLWpvYi1zY2hlZHVsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFPckUsTUFBTSxPQUFPLHlCQUF5QjtJQU9oQjtJQU5YLE9BQU8sR0FBZ0IsSUFBSSxXQUFXLENBQUM7UUFDOUMsa0JBQWtCLEVBQUUsTUFBTTtLQUMzQixDQUFDLENBQUM7SUFFSyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBRXZCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRXhDLGdCQUFnQixDQUFDLFNBQWdDLEVBQUU7UUFDakQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsY0FBYyxDQUFDLFFBQVE7UUFDckIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXhELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLE9BQU8sR0FBRyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUU1QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsWUFBWSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLHNCQUFzQixDQUFDLFNBQTBCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxjQUFjLFNBQVMsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNwRixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBOEMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELHlCQUF5QjtJQUN6QixVQUFVLENBQUMsRUFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELCtCQUErQjtJQUMvQixZQUFZLENBQUMsU0FBYSxFQUFFO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCx5QkFBeUI7SUFDekIsV0FBVyxDQUFDLEVBQW1CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUN4RCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLGNBQWMsQ0FBQyxFQUFFLEVBQUUsUUFBUTtRQUN6QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxvQkFBb0I7UUFDeEMsTUFBTSxZQUFZLEdBQUcsRUFBRSxHQUFHLG9CQUFvQixFQUFFLENBQUM7UUFFakQsSUFBSSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUU7WUFDcEMsSUFBSSxvQkFBb0IsQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFO2dCQUNqRCxZQUFZLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQzthQUNoQztpQkFBTTtnQkFDTCxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO2FBQzlFO1NBQ0Y7UUFFRCxJQUFJLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFO1lBQzNDLFlBQVksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUMxRCxvQkFBb0IsQ0FBQyxjQUFjLEVBQ25DLG9CQUFvQixDQUFDLGtCQUFrQixDQUN4QyxDQUFDO1NBQ0g7UUFFRCxJQUFJLG9CQUFvQixDQUFDLFNBQVMsSUFBSSxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1lBQ3pFLFlBQVksQ0FBQyxlQUFlLEdBQUc7Z0JBQzdCLFNBQVMsRUFBRSxFQUFFLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxFQUFFO2FBQ2pELENBQUM7WUFFRixJQUFJLG9CQUFvQixDQUFDLGNBQWMsRUFBRTtnQkFDdkMsTUFBTSxtQkFBbUIsR0FBRyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUUzRSxZQUFZLENBQUMsZUFBZSxDQUFDLFVBQVUsR0FBRztvQkFDeEMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQzFDLE1BQU0sRUFBRSxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO2lCQUM3QyxDQUFDO2FBQ0g7WUFFRCxJQUFJLG9CQUFvQixDQUFDLGFBQWEsRUFBRTtnQkFDdEMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEdBQUc7b0JBQ3hDLEdBQUcsWUFBWSxDQUFDLGVBQWUsQ0FBQyxVQUFVO29CQUMxQyxHQUFHLEVBQUUsb0JBQW9CLENBQUMsYUFBYTtpQkFDeEMsQ0FBQzthQUNIO1NBQ0Y7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDNUYsT0FBTyxZQUFZLENBQUMsa0JBQWtCLENBQUM7U0FDeEM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFckMsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELDZCQUE2QixDQUFDLGVBQW9CLEVBQUU7UUFDbEQsTUFBTSxvQkFBb0IsR0FBRyxFQUFFLEdBQUcsWUFBWSxFQUFFLENBQUM7UUFFakQsSUFBSSxZQUFZLENBQUMsY0FBYyxFQUFFO1lBQy9CLG9CQUFvQixDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDbkc7UUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBRXJGLElBQUksWUFBWSxDQUFDLGVBQWUsRUFBRTtZQUNoQyxvQkFBb0IsQ0FBQyxjQUFjLEdBQUcsR0FDcEMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLEVBQUU7Z0JBQy9DLENBQUMsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSTtnQkFDcEQsQ0FBQyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQzlDLElBQ0UsWUFBWSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLEVBQUU7Z0JBQ2pELENBQUMsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsTUFBTTtnQkFDdEQsQ0FBQyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLE1BQzlDLEVBQUUsQ0FBQztZQUNILG9CQUFvQixDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7WUFDakYsb0JBQW9CLENBQUMsU0FBUyxHQUFHO2dCQUMvQixJQUFJLEVBQUUsWUFBWSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSTtnQkFDakQsS0FBSyxFQUFFLFlBQVksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUs7YUFDcEQsQ0FBQztTQUNIO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRTdFLE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUVPLG9CQUFvQixDQUFDLEtBSzVCO1FBQ0MsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUUzQyxJQUFJLGdCQUFnQixFQUFFO1lBQ3BCLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUVoQyxJQUFJLGdCQUFnQixLQUFLLFNBQVMsRUFBRTtnQkFDbEMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDeEY7aUJBQU0sSUFBSSxnQkFBZ0IsS0FBSyxRQUFRLEVBQUU7Z0JBQ3hDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO2FBQzFEO1lBRUQsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFGLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3RjtRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxRQUFhLEVBQUU7UUFDbEQsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2pCLE9BQU87Z0JBQ0wsV0FBVyxFQUFFLFNBQVM7Z0JBQ3RCLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2RSxVQUFVLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHO2FBQzlCLENBQUM7U0FDSDthQUFNLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtZQUN0QixPQUFPO2dCQUNMLFdBQVcsRUFBRSxPQUFPO2dCQUNwQixJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTthQUNwRSxDQUFDO1NBQ0g7YUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDdkIsT0FBTztnQkFDTCxXQUFXLEVBQUUsUUFBUTtnQkFDckIsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3JFLFVBQVUsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7YUFDekMsQ0FBQztTQUNIO2FBQU07WUFDTCxPQUFPO2dCQUNMLFdBQVcsRUFBRSxRQUFRO2FBQ3RCLENBQUM7U0FDSDtJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsSUFBVTtRQUMvQixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRTNDLE9BQU8sR0FBRyxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLHFCQUFxQixDQUFDLGtCQUEwQjtRQUN0RCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsSUFBb0I7UUFDM0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJO1lBQzFCLGFBQWE7WUFDYixNQUFNO1lBQ04sUUFBUTtZQUNSLEtBQUs7WUFDTCxZQUFZO1lBQ1osWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLGVBQWU7U0FDaEIsQ0FBQztRQUVGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDN0IsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbkI7aUJBQU0sSUFBSSxHQUFHLEtBQUssaUJBQWlCLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLFFBQVEsRUFBRTtnQkFDekUsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbkI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUMxRCxNQUFNLGtCQUFrQixHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFcEMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTdDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFNUMsT0FBTyx3QkFBd0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyw2QkFBNkIsQ0FBQyxTQUFpQjtRQUNyRCxNQUFNLFlBQVksR0FBRyxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUM7UUFFdEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUU7WUFDOUIsSUFBSSxZQUFZLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQ3ZFLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzFCO1NBQ0Y7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO21GQW5QVSx5QkFBeUI7Z0VBQXpCLHlCQUF5QixXQUF6Qix5QkFBeUI7O2lGQUF6Qix5QkFBeUI7Y0FEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGFkZFplcm8sIGNvbnZlcnREYXRlVG9JU09FeHRlbmRlZCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9EeW5hbWljRm9ybUZpZWxkIH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBQb0pvYlNjaGVkdWxlciB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1qb2Itc2NoZWR1bGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0pvYlNjaGVkdWxlckludGVybmFsIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWpvYi1zY2hlZHVsZXItaW50ZXJuYWwuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2Uge1xuICByZWFkb25seSBoZWFkZXJzOiBIdHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgJ1gtUE8tU0NSRUVOLUxPQ0snOiAndHJ1ZSdcbiAgfSk7XG5cbiAgcHJpdmF0ZSBlbmRwb2ludCA9ICcvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgY29uZmlnU2VydmljZUFwaShjb25maWc6IHsgZW5kcG9pbnQ/OiBzdHJpbmcgfSA9IHt9KSB7XG4gICAgdGhpcy5lbmRwb2ludCA9IGNvbmZpZy5lbmRwb2ludDtcbiAgfVxuXG4gIC8vIENyaWEgdW0gcmVjdXJzb1xuICBjcmVhdGVSZXNvdXJjZShyZXNvdXJjZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgbmV3UmVzb3VjZSA9IHRoaXMuY29udmVydFRvSm9iU2NoZWR1bGVyKHJlc291cmNlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVuZHBvaW50fWAsIG5ld1Jlc291Y2UsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pO1xuICB9XG5cbiAgZ2V0SGVhZFByb2Nlc3NlcygpIHtcbiAgICBjb25zdCBoZWFkZXJzID0geyAnWC1QTy1Oby1FcnJvcic6ICd0cnVlJyB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5oZWFkKGAke3RoaXMuZW5kcG9pbnR9L3Byb2Nlc3Nlc2AsIHsgaGVhZGVycyB9KTtcbiAgfVxuXG4gIC8vIEJ1c2NhIHBhcmFtZXRyb3MgcGVsbyBwcm9jZXNzbyBpZFxuICBnZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3NJZDogc3RyaW5nIHwgbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KGAke3RoaXMuZW5kcG9pbnR9L3Byb2Nlc3Nlcy8ke3Byb2Nlc3NJZH0vcGFyYW1ldGVyc2AsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pXG4gICAgICAucGlwZShtYXAoKHJlc291cmNlOiB7IGl0ZW1zOiBBcnJheTxQb0R5bmFtaWNGb3JtRmllbGQ+IH0pID0+IHJlc291cmNlLml0ZW1zKSk7XG4gIH1cblxuICAvLyBCdXNjYSB1bSDDum5pY28gcmVjdXJzb1xuICBnZXRQcm9jZXNzKGlkOiBzdHJpbmcgfCBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW5kcG9pbnR9L3Byb2Nlc3Nlcy8ke2lkfWAsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pO1xuICB9XG5cbiAgLy8gQnVzY2EgdW1hIGxpc3RhIGRlIHByb2Nlc3Nvc1xuICBnZXRQcm9jZXNzZXMocGFyYW1zOiB7fSA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVuZHBvaW50fS9wcm9jZXNzZXNgLCB7IHBhcmFtcyB9KTtcbiAgfVxuXG4gIC8vIEJ1c2NhIHVtIMO6bmljbyByZWN1cnNvXG4gIGdldFJlc291cmNlKGlkOiBzdHJpbmcgfCBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQoYCR7dGhpcy5lbmRwb2ludH0vJHtpZH1gLCB7IGhlYWRlcnM6IHRoaXMuaGVhZGVycyB9KVxuICAgICAgLnBpcGUobWFwKHJlc291cmNlID0+IHRoaXMuY29udmVydFRvSm9iU2NoZWR1bGVySW50ZXJuYWwocmVzb3VyY2UpKSk7XG4gIH1cblxuICAvLyBBdHVhbGl6YSB1bSByZWN1cnNvXG4gIHVwZGF0ZVJlc291cmNlKGlkLCByZXNvdXJjZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgbmV3UmVzb3VjZSA9IHRoaXMuY29udmVydFRvSm9iU2NoZWR1bGVyKHJlc291cmNlKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVuZHBvaW50fS8ke2lkfWAsIG5ld1Jlc291Y2UsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pO1xuICB9XG5cbiAgY29udmVydFRvSm9iU2NoZWR1bGVyKGpvYlNjaGVkdWxlckludGVybmFsKTogUG9Kb2JTY2hlZHVsZXIge1xuICAgIGNvbnN0IGpvYlNjaGVkdWxlciA9IHsgLi4uam9iU2NoZWR1bGVySW50ZXJuYWwgfTtcblxuICAgIGlmIChqb2JTY2hlZHVsZXJJbnRlcm5hbC5wZXJpb2RpY2l0eSkge1xuICAgICAgaWYgKGpvYlNjaGVkdWxlckludGVybmFsLnBlcmlvZGljaXR5ID09PSAnc2luZ2xlJykge1xuICAgICAgICBqb2JTY2hlZHVsZXIucmVjdXJyZW50ID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBPYmplY3QuYXNzaWduKGpvYlNjaGVkdWxlciwgdGhpcy5jb252ZXJ0VG9QZXJpb2RpY2l0eShqb2JTY2hlZHVsZXJJbnRlcm5hbCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChqb2JTY2hlZHVsZXJJbnRlcm5hbC5maXJzdEV4ZWN1dGlvbkhvdXIpIHtcbiAgICAgIGpvYlNjaGVkdWxlci5maXJzdEV4ZWN1dGlvbiA9IHRoaXMucmVwbGFjZUhvdXJGaXJzdEV4ZWN1dGlvbihcbiAgICAgICAgam9iU2NoZWR1bGVySW50ZXJuYWwuZmlyc3RFeGVjdXRpb24sXG4gICAgICAgIGpvYlNjaGVkdWxlckludGVybmFsLmZpcnN0RXhlY3V0aW9uSG91clxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoam9iU2NoZWR1bGVySW50ZXJuYWwuZnJlcXVlbmN5ICYmIGpvYlNjaGVkdWxlckludGVybmFsLmZyZXF1ZW5jeS50eXBlKSB7XG4gICAgICBqb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zID0ge1xuICAgICAgICBmcmVxdWVuY3k6IHsgLi4uam9iU2NoZWR1bGVySW50ZXJuYWwuZnJlcXVlbmN5IH1cbiAgICAgIH07XG5cbiAgICAgIGlmIChqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0SG91cikge1xuICAgICAgICBjb25zdCBzcGxpdFJhbmdlTGltaXRIb3VyID0gam9iU2NoZWR1bGVySW50ZXJuYWwucmFuZ2VMaW1pdEhvdXIuc3BsaXQoJzonKTtcblxuICAgICAgICBqb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zLnJhbmdlTGltaXQgPSB7XG4gICAgICAgICAgaG91cjogcGFyc2VJbnQoc3BsaXRSYW5nZUxpbWl0SG91clswXSwgMTApLFxuICAgICAgICAgIG1pbnV0ZTogcGFyc2VJbnQoc3BsaXRSYW5nZUxpbWl0SG91clsxXSwgMTApXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmIChqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0RGF5KSB7XG4gICAgICAgIGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMucmFuZ2VMaW1pdCA9IHtcbiAgICAgICAgICAuLi5qb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zLnJhbmdlTGltaXQsXG4gICAgICAgICAgZGF5OiBqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0RGF5XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLnJldHVyblZhbGlkRXhlY3V0aW9uUGFyYW1ldGVyKGpvYlNjaGVkdWxlci5leGVjdXRpb25QYXJhbWV0ZXIpKS5sZW5ndGgpIHtcbiAgICAgIGRlbGV0ZSBqb2JTY2hlZHVsZXIuZXhlY3V0aW9uUGFyYW1ldGVyO1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlSW52YWxpZEtleXMoam9iU2NoZWR1bGVyKTtcblxuICAgIHJldHVybiBqb2JTY2hlZHVsZXI7XG4gIH1cblxuICBjb252ZXJ0VG9Kb2JTY2hlZHVsZXJJbnRlcm5hbChqb2JTY2hlZHVsZXIgPSA8YW55Pnt9KTogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB7XG4gICAgY29uc3Qgam9iU2NoZWR1bGVySW50ZXJuYWwgPSB7IC4uLmpvYlNjaGVkdWxlciB9O1xuXG4gICAgaWYgKGpvYlNjaGVkdWxlci5maXJzdEV4ZWN1dGlvbikge1xuICAgICAgam9iU2NoZWR1bGVySW50ZXJuYWwuZmlyc3RFeGVjdXRpb25Ib3VyID0gdGhpcy5nZXRIb3VyRmlyc3RFeGVjdXRpb24oam9iU2NoZWR1bGVyLmZpcnN0RXhlY3V0aW9uKTtcbiAgICB9XG5cbiAgICBPYmplY3QuYXNzaWduKGpvYlNjaGVkdWxlckludGVybmFsLCB0aGlzLmNvbnZlcnRUb1BlcmlvZGljaXR5SW50ZXJuYWwoam9iU2NoZWR1bGVyKSk7XG5cbiAgICBpZiAoam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucykge1xuICAgICAgam9iU2NoZWR1bGVySW50ZXJuYWwucmFuZ2VMaW1pdEhvdXIgPSBgJHtcbiAgICAgICAgam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0LmhvdXIgPCAxMFxuICAgICAgICAgID8gJzAnICsgam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0LmhvdXJcbiAgICAgICAgICA6IGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMucmFuZ2VMaW1pdC5ob3VyXG4gICAgICB9OiR7XG4gICAgICAgIGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMucmFuZ2VMaW1pdC5taW51dGUgPCAxMFxuICAgICAgICAgID8gJzAnICsgam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0Lm1pbnV0ZVxuICAgICAgICAgIDogam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0Lm1pbnV0ZVxuICAgICAgfWA7XG4gICAgICBqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0RGF5ID0gam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0LmRheTtcbiAgICAgIGpvYlNjaGVkdWxlckludGVybmFsLmZyZXF1ZW5jeSA9IHtcbiAgICAgICAgdHlwZTogam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5mcmVxdWVuY3kudHlwZSxcbiAgICAgICAgdmFsdWU6IGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMuZnJlcXVlbmN5LnZhbHVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlSW52YWxpZEtleXMoam9iU2NoZWR1bGVySW50ZXJuYWwsIFsnd2Vla2x5JywgJ21vbnRobHknLCAnZGFpbHknXSk7XG5cbiAgICByZXR1cm4gam9iU2NoZWR1bGVySW50ZXJuYWw7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRUb1BlcmlvZGljaXR5KHZhbHVlOiB7XG4gICAgcGVyaW9kaWNpdHk6IHN0cmluZztcbiAgICBkYXlPZk1vbnRoPzogc3RyaW5nO1xuICAgIGRheXNPZldlZWs/OiBudW1iZXI7XG4gICAgaG91cj86IHN0cmluZztcbiAgfSkge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0ge307XG4gICAgY29uc3QgdmFsdWVQZXJpb2RpY2l0eSA9IHZhbHVlLnBlcmlvZGljaXR5O1xuXG4gICAgaWYgKHZhbHVlUGVyaW9kaWNpdHkpIHtcbiAgICAgIG5ld1ZhbHVlW3ZhbHVlUGVyaW9kaWNpdHldID0ge307XG5cbiAgICAgIGlmICh2YWx1ZVBlcmlvZGljaXR5ID09PSAnbW9udGhseScpIHtcbiAgICAgICAgbmV3VmFsdWVbdmFsdWVQZXJpb2RpY2l0eV0uZGF5ID0gdmFsdWUuZGF5T2ZNb250aCA/IHBhcnNlSW50KHZhbHVlLmRheU9mTW9udGgsIDEwKSA6IDA7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlUGVyaW9kaWNpdHkgPT09ICd3ZWVrbHknKSB7XG4gICAgICAgIG5ld1ZhbHVlW3ZhbHVlUGVyaW9kaWNpdHldLmRheXNPZldlZWsgPSB2YWx1ZS5kYXlzT2ZXZWVrO1xuICAgICAgfVxuXG4gICAgICBuZXdWYWx1ZVt2YWx1ZVBlcmlvZGljaXR5XS5ob3VyID0gdmFsdWUuaG91ciA/IHBhcnNlSW50KHZhbHVlLmhvdXIuc3BsaXQoJzonKVswXSwgMTApIDogMDtcbiAgICAgIG5ld1ZhbHVlW3ZhbHVlUGVyaW9kaWNpdHldLm1pbnV0ZSA9IHZhbHVlLmhvdXIgPyBwYXJzZUludCh2YWx1ZS5ob3VyLnNwbGl0KCc6JylbMV0sIDEwKSA6IDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld1ZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9QZXJpb2RpY2l0eUludGVybmFsKHZhbHVlID0gPGFueT57fSkge1xuICAgIGlmICh2YWx1ZS5tb250aGx5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwZXJpb2RpY2l0eTogJ21vbnRobHknLFxuICAgICAgICBob3VyOiBgJHthZGRaZXJvKHZhbHVlLm1vbnRobHkuaG91cil9OiR7YWRkWmVybyh2YWx1ZS5tb250aGx5Lm1pbnV0ZSl9YCxcbiAgICAgICAgZGF5T2ZNb250aDogdmFsdWUubW9udGhseS5kYXlcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh2YWx1ZS5kYWlseSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGVyaW9kaWNpdHk6ICdkYWlseScsXG4gICAgICAgIGhvdXI6IGAke2FkZFplcm8odmFsdWUuZGFpbHkuaG91cil9OiR7YWRkWmVybyh2YWx1ZS5kYWlseS5taW51dGUpfWBcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh2YWx1ZS53ZWVrbHkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBlcmlvZGljaXR5OiAnd2Vla2x5JyxcbiAgICAgICAgaG91cjogYCR7YWRkWmVybyh2YWx1ZS53ZWVrbHkuaG91cil9OiR7YWRkWmVybyh2YWx1ZS53ZWVrbHkubWludXRlKX1gLFxuICAgICAgICBkYXlzT2ZXZWVrOiBbLi4udmFsdWUud2Vla2x5LmRheXNPZldlZWtdXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwZXJpb2RpY2l0eTogJ3NpbmdsZSdcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SG91cihkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCBob3VycyA9IGFkZFplcm8oZGF0ZS5nZXRIb3VycygpKTtcbiAgICBjb25zdCBtaW51dGVzID0gYWRkWmVybyhkYXRlLmdldE1pbnV0ZXMoKSk7XG5cbiAgICByZXR1cm4gYCR7aG91cnN9OiR7bWludXRlc31gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIb3VyRmlyc3RFeGVjdXRpb24oZmlyc3RFeGVjdXRpb25EYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRIb3VyKG5ldyBEYXRlKGZpcnN0RXhlY3V0aW9uRGF0ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVJbnZhbGlkS2V5cyh2YWx1ZTogb2JqZWN0LCBrZXlzPzogQXJyYXk8c3RyaW5nPikge1xuICAgIGNvbnN0IGludmFsaWRLZXlzID0ga2V5cyB8fCBbXG4gICAgICAncGVyaW9kaWNpdHknLFxuICAgICAgJ2hvdXInLFxuICAgICAgJ21pbnV0ZScsXG4gICAgICAnZGF5JyxcbiAgICAgICdkYXlzT2ZXZWVrJyxcbiAgICAgICdkYXlPZk1vbnRoJyxcbiAgICAgICdmaXJzdEV4ZWN1dGlvbkhvdXInLFxuICAgICAgJ2ZyZXF1ZW5jeScsXG4gICAgICAncmFuZ2VMaW1pdEhvdXInLFxuICAgICAgJ3JhbmdlTGltaXREYXknXG4gICAgXTtcblxuICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAoaW52YWxpZEtleXMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICBkZWxldGUgdmFsdWVba2V5XTtcbiAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmFuZ2VFeGVjdXRpb25zJyAmJiB2YWx1ZVsncGVyaW9kaWNpdHknXSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgICAgZGVsZXRlIHZhbHVlW2tleV07XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VIb3VyRmlyc3RFeGVjdXRpb24oZGF0ZTogc3RyaW5nLCB0aW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZpcnN0RXhlY3V0aW9uRGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xuXG4gICAgY29uc3QgdGltZVNwbGl0ZWQgPSB0aW1lLnNwbGl0KCc6Jyk7XG5cbiAgICBjb25zdCBob3VycyA9IHBhcnNlSW50KHRpbWVTcGxpdGVkWzBdLCAxMCk7XG4gICAgY29uc3QgbWludXRlcyA9IHBhcnNlSW50KHRpbWVTcGxpdGVkWzFdLCAxMCk7XG5cbiAgICBmaXJzdEV4ZWN1dGlvbkRhdGUuc2V0SG91cnMoaG91cnMsIG1pbnV0ZXMpO1xuXG4gICAgcmV0dXJuIGNvbnZlcnREYXRlVG9JU09FeHRlbmRlZChmaXJzdEV4ZWN1dGlvbkRhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXR1cm5WYWxpZEV4ZWN1dGlvblBhcmFtZXRlcihwYXJhbWV0ZXI6IG9iamVjdCkge1xuICAgIGNvbnN0IG5ld1BhcmFtZXRlciA9IHsgLi4ucGFyYW1ldGVyIH07XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBuZXdQYXJhbWV0ZXIpIHtcbiAgICAgIGlmIChuZXdQYXJhbWV0ZXIuaGFzT3duUHJvcGVydHkoa2V5KSAmJiBuZXdQYXJhbWV0ZXJba2V5XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBuZXdQYXJhbWV0ZXJba2V5XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3UGFyYW1ldGVyO1xuICB9XG59XG4iXX0=
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9wby1wYWdlLWpvYi1zY2hlZHVsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFPckUsTUFBTSxPQUFPLHlCQUF5QjtJQU9oQjtJQU5YLE9BQU8sR0FBZ0IsSUFBSSxXQUFXLENBQUM7UUFDOUMsa0JBQWtCLEVBQUUsTUFBTTtLQUMzQixDQUFDLENBQUM7SUFFSyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBRXZCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRXhDLGdCQUFnQixDQUFDLFNBQWdDLEVBQUU7UUFDakQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsY0FBYyxDQUFDLFFBQVE7UUFDckIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXhELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxn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RSxFQUFFLENBQUMsQ0FBQztRQUU3QyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTVDLE9BQU8sd0JBQXdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sNkJBQTZCLENBQUMsU0FBaUI7UUFDckQsTUFBTSxZQUFZLEdBQUcsRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBRXRDLEtBQUssTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7WUFDL0IsSUFBSSxZQUFZLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDeEUsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO21GQW5QVSx5QkFBeUI7Z0VBQXpCLHlCQUF5QixXQUF6Qix5QkFBeUI7O2lGQUF6Qix5QkFBeUI7Y0FEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGFkZFplcm8sIGNvbnZlcnREYXRlVG9JU09FeHRlbmRlZCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9EeW5hbWljRm9ybUZpZWxkIH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBQb0pvYlNjaGVkdWxlciB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1qb2Itc2NoZWR1bGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0pvYlNjaGVkdWxlckludGVybmFsIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWpvYi1zY2hlZHVsZXItaW50ZXJuYWwuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2Uge1xuICByZWFkb25seSBoZWFkZXJzOiBIdHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgJ1gtUE8tU0NSRUVOLUxPQ0snOiAndHJ1ZSdcbiAgfSk7XG5cbiAgcHJpdmF0ZSBlbmRwb2ludCA9ICcvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgY29uZmlnU2VydmljZUFwaShjb25maWc6IHsgZW5kcG9pbnQ/OiBzdHJpbmcgfSA9IHt9KSB7XG4gICAgdGhpcy5lbmRwb2ludCA9IGNvbmZpZy5lbmRwb2ludDtcbiAgfVxuXG4gIC8vIENyaWEgdW0gcmVjdXJzb1xuICBjcmVhdGVSZXNvdXJjZShyZXNvdXJjZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgbmV3UmVzb3VjZSA9IHRoaXMuY29udmVydFRvSm9iU2NoZWR1bGVyKHJlc291cmNlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVuZHBvaW50fWAsIG5ld1Jlc291Y2UsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pO1xuICB9XG5cbiAgZ2V0SGVhZFByb2Nlc3NlcygpIHtcbiAgICBjb25zdCBoZWFkZXJzID0geyAnWC1QTy1Oby1FcnJvcic6ICd0cnVlJyB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5oZWFkKGAke3RoaXMuZW5kcG9pbnR9L3Byb2Nlc3Nlc2AsIHsgaGVhZGVycyB9KTtcbiAgfVxuXG4gIC8vIEJ1c2NhIHBhcmFtZXRyb3MgcGVsbyBwcm9jZXNzbyBpZFxuICBnZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3NJZDogc3RyaW5nIHwgbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KGAke3RoaXMuZW5kcG9pbnR9L3Byb2Nlc3Nlcy8ke3Byb2Nlc3NJZH0vcGFyYW1ldGVyc2AsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pXG4gICAgICAucGlwZShtYXAoKHJlc291cmNlOiB7IGl0ZW1zOiBBcnJheTxQb0R5bmFtaWNGb3JtRmllbGQ+IH0pID0+IHJlc291cmNlLml0ZW1zKSk7XG4gIH1cblxuICAvLyBCdXNjYSB1bSDDum5pY28gcmVjdXJzb1xuICBnZXRQcm9jZXNzKGlkOiBzdHJpbmcgfCBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW5kcG9pbnR9L3Byb2Nlc3Nlcy8ke2lkfWAsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pO1xuICB9XG5cbiAgLy8gQnVzY2EgdW1hIGxpc3RhIGRlIHByb2Nlc3Nvc1xuICBnZXRQcm9jZXNzZXMocGFyYW1zOiB7fSA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVuZHBvaW50fS9wcm9jZXNzZXNgLCB7IHBhcmFtcyB9KTtcbiAgfVxuXG4gIC8vIEJ1c2NhIHVtIMO6bmljbyByZWN1cnNvXG4gIGdldFJlc291cmNlKGlkOiBzdHJpbmcgfCBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQoYCR7dGhpcy5lbmRwb2ludH0vJHtpZH1gLCB7IGhlYWRlcnM6IHRoaXMuaGVhZGVycyB9KVxuICAgICAgLnBpcGUobWFwKHJlc291cmNlID0+IHRoaXMuY29udmVydFRvSm9iU2NoZWR1bGVySW50ZXJuYWwocmVzb3VyY2UpKSk7XG4gIH1cblxuICAvLyBBdHVhbGl6YSB1bSByZWN1cnNvXG4gIHVwZGF0ZVJlc291cmNlKGlkLCByZXNvdXJjZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgbmV3UmVzb3VjZSA9IHRoaXMuY29udmVydFRvSm9iU2NoZWR1bGVyKHJlc291cmNlKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVuZHBvaW50fS8ke2lkfWAsIG5ld1Jlc291Y2UsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pO1xuICB9XG5cbiAgY29udmVydFRvSm9iU2NoZWR1bGVyKGpvYlNjaGVkdWxlckludGVybmFsKTogUG9Kb2JTY2hlZHVsZXIge1xuICAgIGNvbnN0IGpvYlNjaGVkdWxlciA9IHsgLi4uam9iU2NoZWR1bGVySW50ZXJuYWwgfTtcblxuICAgIGlmIChqb2JTY2hlZHVsZXJJbnRlcm5hbC5wZXJpb2RpY2l0eSkge1xuICAgICAgaWYgKGpvYlNjaGVkdWxlckludGVybmFsLnBlcmlvZGljaXR5ID09PSAnc2luZ2xlJykge1xuICAgICAgICBqb2JTY2hlZHVsZXIucmVjdXJyZW50ID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBPYmplY3QuYXNzaWduKGpvYlNjaGVkdWxlciwgdGhpcy5jb252ZXJ0VG9QZXJpb2RpY2l0eShqb2JTY2hlZHVsZXJJbnRlcm5hbCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChqb2JTY2hlZHVsZXJJbnRlcm5hbC5maXJzdEV4ZWN1dGlvbkhvdXIpIHtcbiAgICAgIGpvYlNjaGVkdWxlci5maXJzdEV4ZWN1dGlvbiA9IHRoaXMucmVwbGFjZUhvdXJGaXJzdEV4ZWN1dGlvbihcbiAgICAgICAgam9iU2NoZWR1bGVySW50ZXJuYWwuZmlyc3RFeGVjdXRpb24sXG4gICAgICAgIGpvYlNjaGVkdWxlckludGVybmFsLmZpcnN0RXhlY3V0aW9uSG91clxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoam9iU2NoZWR1bGVySW50ZXJuYWwuZnJlcXVlbmN5ICYmIGpvYlNjaGVkdWxlckludGVybmFsLmZyZXF1ZW5jeS50eXBlKSB7XG4gICAgICBqb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zID0ge1xuICAgICAgICBmcmVxdWVuY3k6IHsgLi4uam9iU2NoZWR1bGVySW50ZXJuYWwuZnJlcXVlbmN5IH1cbiAgICAgIH07XG5cbiAgICAgIGlmIChqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0SG91cikge1xuICAgICAgICBjb25zdCBzcGxpdFJhbmdlTGltaXRIb3VyID0gam9iU2NoZWR1bGVySW50ZXJuYWwucmFuZ2VMaW1pdEhvdXIuc3BsaXQoJzonKTtcblxuICAgICAgICBqb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zLnJhbmdlTGltaXQgPSB7XG4gICAgICAgICAgaG91cjogcGFyc2VJbnQoc3BsaXRSYW5nZUxpbWl0SG91clswXSwgMTApLFxuICAgICAgICAgIG1pbnV0ZTogcGFyc2VJbnQoc3BsaXRSYW5nZUxpbWl0SG91clsxXSwgMTApXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmIChqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0RGF5KSB7XG4gICAgICAgIGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMucmFuZ2VMaW1pdCA9IHtcbiAgICAgICAgICAuLi5qb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zLnJhbmdlTGltaXQsXG4gICAgICAgICAgZGF5OiBqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0RGF5XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLnJldHVyblZhbGlkRXhlY3V0aW9uUGFyYW1ldGVyKGpvYlNjaGVkdWxlci5leGVjdXRpb25QYXJhbWV0ZXIpKS5sZW5ndGgpIHtcbiAgICAgIGRlbGV0ZSBqb2JTY2hlZHVsZXIuZXhlY3V0aW9uUGFyYW1ldGVyO1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlSW52YWxpZEtleXMoam9iU2NoZWR1bGVyKTtcblxuICAgIHJldHVybiBqb2JTY2hlZHVsZXI7XG4gIH1cblxuICBjb252ZXJ0VG9Kb2JTY2hlZHVsZXJJbnRlcm5hbChqb2JTY2hlZHVsZXIgPSA8YW55Pnt9KTogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB7XG4gICAgY29uc3Qgam9iU2NoZWR1bGVySW50ZXJuYWwgPSB7IC4uLmpvYlNjaGVkdWxlciB9O1xuXG4gICAgaWYgKGpvYlNjaGVkdWxlci5maXJzdEV4ZWN1dGlvbikge1xuICAgICAgam9iU2NoZWR1bGVySW50ZXJuYWwuZmlyc3RFeGVjdXRpb25Ib3VyID0gdGhpcy5nZXRIb3VyRmlyc3RFeGVjdXRpb24oam9iU2NoZWR1bGVyLmZpcnN0RXhlY3V0aW9uKTtcbiAgICB9XG5cbiAgICBPYmplY3QuYXNzaWduKGpvYlNjaGVkdWxlckludGVybmFsLCB0aGlzLmNvbnZlcnRUb1BlcmlvZGljaXR5SW50ZXJuYWwoam9iU2NoZWR1bGVyKSk7XG5cbiAgICBpZiAoam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucykge1xuICAgICAgam9iU2NoZWR1bGVySW50ZXJuYWwucmFuZ2VMaW1pdEhvdXIgPSBgJHtcbiAgICAgICAgam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0LmhvdXIgPCAxMFxuICAgICAgICAgID8gJzAnICsgam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0LmhvdXJcbiAgICAgICAgICA6IGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMucmFuZ2VMaW1pdC5ob3VyXG4gICAgICB9OiR7XG4gICAgICAgIGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMucmFuZ2VMaW1pdC5taW51dGUgPCAxMFxuICAgICAgICAgID8gJzAnICsgam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0Lm1pbnV0ZVxuICAgICAgICAgIDogam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0Lm1pbnV0ZVxuICAgICAgfWA7XG4gICAgICBqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0RGF5ID0gam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0LmRheTtcbiAgICAgIGpvYlNjaGVkdWxlckludGVybmFsLmZyZXF1ZW5jeSA9IHtcbiAgICAgICAgdHlwZTogam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5mcmVxdWVuY3kudHlwZSxcbiAgICAgICAgdmFsdWU6IGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMuZnJlcXVlbmN5LnZhbHVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlSW52YWxpZEtleXMoam9iU2NoZWR1bGVySW50ZXJuYWwsIFsnd2Vla2x5JywgJ21vbnRobHknLCAnZGFpbHknXSk7XG5cbiAgICByZXR1cm4gam9iU2NoZWR1bGVySW50ZXJuYWw7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRUb1BlcmlvZGljaXR5KHZhbHVlOiB7XG4gICAgcGVyaW9kaWNpdHk6IHN0cmluZztcbiAgICBkYXlPZk1vbnRoPzogc3RyaW5nO1xuICAgIGRheXNPZldlZWs/OiBudW1iZXI7XG4gICAgaG91cj86IHN0cmluZztcbiAgfSkge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0ge307XG4gICAgY29uc3QgdmFsdWVQZXJpb2RpY2l0eSA9IHZhbHVlLnBlcmlvZGljaXR5O1xuXG4gICAgaWYgKHZhbHVlUGVyaW9kaWNpdHkpIHtcbiAgICAgIG5ld1ZhbHVlW3ZhbHVlUGVyaW9kaWNpdHldID0ge307XG5cbiAgICAgIGlmICh2YWx1ZVBlcmlvZGljaXR5ID09PSAnbW9udGhseScpIHtcbiAgICAgICAgbmV3VmFsdWVbdmFsdWVQZXJpb2RpY2l0eV0uZGF5ID0gdmFsdWUuZGF5T2ZNb250aCA/IHBhcnNlSW50KHZhbHVlLmRheU9mTW9udGgsIDEwKSA6IDA7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlUGVyaW9kaWNpdHkgPT09ICd3ZWVrbHknKSB7XG4gICAgICAgIG5ld1ZhbHVlW3ZhbHVlUGVyaW9kaWNpdHldLmRheXNPZldlZWsgPSB2YWx1ZS5kYXlzT2ZXZWVrO1xuICAgICAgfVxuXG4gICAgICBuZXdWYWx1ZVt2YWx1ZVBlcmlvZGljaXR5XS5ob3VyID0gdmFsdWUuaG91ciA/IHBhcnNlSW50KHZhbHVlLmhvdXIuc3BsaXQoJzonKVswXSwgMTApIDogMDtcbiAgICAgIG5ld1ZhbHVlW3ZhbHVlUGVyaW9kaWNpdHldLm1pbnV0ZSA9IHZhbHVlLmhvdXIgPyBwYXJzZUludCh2YWx1ZS5ob3VyLnNwbGl0KCc6JylbMV0sIDEwKSA6IDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld1ZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9QZXJpb2RpY2l0eUludGVybmFsKHZhbHVlID0gPGFueT57fSkge1xuICAgIGlmICh2YWx1ZS5tb250aGx5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwZXJpb2RpY2l0eTogJ21vbnRobHknLFxuICAgICAgICBob3VyOiBgJHthZGRaZXJvKHZhbHVlLm1vbnRobHkuaG91cil9OiR7YWRkWmVybyh2YWx1ZS5tb250aGx5Lm1pbnV0ZSl9YCxcbiAgICAgICAgZGF5T2ZNb250aDogdmFsdWUubW9udGhseS5kYXlcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh2YWx1ZS5kYWlseSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGVyaW9kaWNpdHk6ICdkYWlseScsXG4gICAgICAgIGhvdXI6IGAke2FkZFplcm8odmFsdWUuZGFpbHkuaG91cil9OiR7YWRkWmVybyh2YWx1ZS5kYWlseS5taW51dGUpfWBcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh2YWx1ZS53ZWVrbHkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBlcmlvZGljaXR5OiAnd2Vla2x5JyxcbiAgICAgICAgaG91cjogYCR7YWRkWmVybyh2YWx1ZS53ZWVrbHkuaG91cil9OiR7YWRkWmVybyh2YWx1ZS53ZWVrbHkubWludXRlKX1gLFxuICAgICAgICBkYXlzT2ZXZWVrOiBbLi4udmFsdWUud2Vla2x5LmRheXNPZldlZWtdXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwZXJpb2RpY2l0eTogJ3NpbmdsZSdcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SG91cihkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCBob3VycyA9IGFkZFplcm8oZGF0ZS5nZXRIb3VycygpKTtcbiAgICBjb25zdCBtaW51dGVzID0gYWRkWmVybyhkYXRlLmdldE1pbnV0ZXMoKSk7XG5cbiAgICByZXR1cm4gYCR7aG91cnN9OiR7bWludXRlc31gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIb3VyRmlyc3RFeGVjdXRpb24oZmlyc3RFeGVjdXRpb25EYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRIb3VyKG5ldyBEYXRlKGZpcnN0RXhlY3V0aW9uRGF0ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVJbnZhbGlkS2V5cyh2YWx1ZTogb2JqZWN0LCBrZXlzPzogQXJyYXk8c3RyaW5nPikge1xuICAgIGNvbnN0IGludmFsaWRLZXlzID0ga2V5cyB8fCBbXG4gICAgICAncGVyaW9kaWNpdHknLFxuICAgICAgJ2hvdXInLFxuICAgICAgJ21pbnV0ZScsXG4gICAgICAnZGF5JyxcbiAgICAgICdkYXlzT2ZXZWVrJyxcbiAgICAgICdkYXlPZk1vbnRoJyxcbiAgICAgICdmaXJzdEV4ZWN1dGlvbkhvdXInLFxuICAgICAgJ2ZyZXF1ZW5jeScsXG4gICAgICAncmFuZ2VMaW1pdEhvdXInLFxuICAgICAgJ3JhbmdlTGltaXREYXknXG4gICAgXTtcblxuICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAoaW52YWxpZEtleXMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICBkZWxldGUgdmFsdWVba2V5XTtcbiAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmFuZ2VFeGVjdXRpb25zJyAmJiB2YWx1ZVsncGVyaW9kaWNpdHknXSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgICAgZGVsZXRlIHZhbHVlW2tleV07XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VIb3VyRmlyc3RFeGVjdXRpb24oZGF0ZTogc3RyaW5nLCB0aW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZpcnN0RXhlY3V0aW9uRGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xuXG4gICAgY29uc3QgdGltZVNwbGl0ZWQgPSB0aW1lLnNwbGl0KCc6Jyk7XG5cbiAgICBjb25zdCBob3VycyA9IHBhcnNlSW50KHRpbWVTcGxpdGVkWzBdLCAxMCk7XG4gICAgY29uc3QgbWludXRlcyA9IHBhcnNlSW50KHRpbWVTcGxpdGVkWzFdLCAxMCk7XG5cbiAgICBmaXJzdEV4ZWN1dGlvbkRhdGUuc2V0SG91cnMoaG91cnMsIG1pbnV0ZXMpO1xuXG4gICAgcmV0dXJuIGNvbnZlcnREYXRlVG9JU09FeHRlbmRlZChmaXJzdEV4ZWN1dGlvbkRhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXR1cm5WYWxpZEV4ZWN1dGlvblBhcmFtZXRlcihwYXJhbWV0ZXI6IG9iamVjdCkge1xuICAgIGNvbnN0IG5ld1BhcmFtZXRlciA9IHsgLi4ucGFyYW1ldGVyIH07XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBuZXdQYXJhbWV0ZXIpIHtcbiAgICAgIGlmIChuZXdQYXJhbWV0ZXIuaGFzT3duUHJvcGVydHkoa2V5KSAmJiBuZXdQYXJhbWV0ZXJba2V5XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBuZXdQYXJhbWV0ZXJba2V5XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3UGFyYW1ldGVyO1xuICB9XG59XG4iXX0=
|