vcomply-workflow-engine 2.6.193 → 2.6.195
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/bundles/vcomply-workflow-engine.umd.js +30 -24
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.js +30 -24
- package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.js +2 -2
- package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.ngfactory.js +20 -5
- package/fesm2015/vcomply-workflow-engine.js +30 -24
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/package.json +1 -1
- package/vcomply-workflow-engine.metadata.json +1 -1
|
@@ -786,7 +786,7 @@ function View_BulkResponsibilityViewComponent_63(_l) { return i1.ɵvid(0, [(_l()
|
|
|
786
786
|
var pd_4 = (i1.ɵnov(_v, 1).onClick() !== false);
|
|
787
787
|
ad = (pd_4 && ad);
|
|
788
788
|
} return ad; }, null, null)), i1.ɵdid(1, 81920, null, 0, i3.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(-1, null, ["\uE932 "]))], function (_ck, _v) { var currVal_0 = "This user is not associated with the selected Program."; var currVal_1 = "bottom-right"; var currVal_2 = "white"; var currVal_3 = true; _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2, currVal_3); }, null); }
|
|
789
|
-
function View_BulkResponsibilityViewComponent_34(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 89, "div", [["class", "exel-view-row"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, "div", [["class", "exel-view-column sl-no"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(2, null, ["", ""])), (_l()(), i1.ɵeld(3, 0, null, null, 3, "div", [["class", "exel-view-column"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(4, null, ["", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_35)), i1.ɵdid(6, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_36)), i1.ɵdid(8, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(9, 0, null, null, 3, "div", [["class", "exel-view-column"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(10, null, ["", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_37)), i1.ɵdid(12, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(13, 0, null, null, 13, "div", [["class", "exel-view-column multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(14, 0, null, null, 12, "div", [["class", "exel-view-row multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 9, "div", [["class", "exel-view-column"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(16, null, ["", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_38)), i1.ɵdid(18, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_39)), i1.ɵdid(20, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_40)), i1.ɵdid(22, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_41)), i1.ɵdid(24, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(25, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(26, null, ["", ""])), (_l()(), i1.ɵeld(27, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(28, null, ["", ""])), (_l()(), i1.ɵeld(29, 0, null, null, 6, "div", [["class", "exel-view-column multi-column"]], [[2, "five-column", null], [2, "three-column", null]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_42)), i1.ɵdid(31, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_48)), i1.ɵdid(33, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_50)), i1.ɵdid(35, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(36, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(37, null, ["", ""])), (_l()(), i1.ɵeld(38, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(39, null, ["", ""])), (_l()(), i1.ɵeld(40, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(41, null, ["", ""])), (_l()(), i1.ɵeld(42, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(43, null, ["", ""])), (_l()(), i1.ɵeld(44, 0, null, null, 9, "div", [["class", "exel-view-column multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(45, 0, null, null, 8, "div", [["class", "exel-view-row multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(46, 0, null, null, 5, "div", [["class", "exel-view-column multi-column"]], null, null, null, null, null)), (_l()(), i1.ɵeld(47, 0, null, null, 4, "div", [["class", "exel-view-row multi-column"]], null, null, null, null, null)), (_l()(), i1.ɵeld(48, 0, null, null, 1, "div", [["class", "exel-view-column"]], [[2, "small-column", null]], null, null, null, null)), (_l()(), i1.ɵted(49, null, ["", ""])), (_l()(), i1.ɵeld(50, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(51, null, ["", ""])), (_l()(), i1.ɵeld(52, 0, null, null, 1, "div", [["class", "exel-view-column"]], [[2, "small-column", null]], null, null, null, null)), (_l()(), i1.ɵted(53, null, ["", ""])), (_l()(), i1.ɵeld(54, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(55, null, ["", ""])), (_l()(), i1.ɵeld(56, 0, null, null, 11, "div", [["class", "exel-view-column multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(57, 0, null, null, 10, "div", [["class", "exel-view-row multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(58, 0, null, null, 7, "div", [["class", "exel-view-column"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(59, null, ["", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_53)), i1.ɵdid(61, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_54)), i1.ɵdid(63, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_55)), i1.ɵdid(65, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(66, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(67, null, ["", ""])), (_l()(), i1.ɵeld(68, 0, null, null, 21, "div", [["class", "exel-view-column multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(69, 0, null, null, 20, "div", [["class", "exel-view-row multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(70, 0, null, null, 9, "div", [["class", "exel-view-column"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(71, null, [" ", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_56)), i1.ɵdid(73, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_57)), i1.ɵdid(75, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_58)), i1.ɵdid(77, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_59)), i1.ɵdid(79, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(80, 0, null, null, 9, "div", [["class", "exel-view-column"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(81, null, [" ", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_60)), i1.ɵdid(83, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_61)), i1.ɵdid(85, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_62)), i1.ɵdid(87, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_63)), i1.ɵdid(89, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_4 = !_v.context.$implicit.responsibilityName; _ck(_v, 6, 0, currVal_4); var currVal_5 = ((_co.responsibilityBulkUpload == null) ? null : _co.responsibilityBulkUpload.header.includes("Program")); _ck(_v, 8, 0, currVal_5); var currVal_8 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor) && ((((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)))); _ck(_v, 12, 0, currVal_8); var currVal_13 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))); _ck(_v, 18, 0, currVal_13); var currVal_14 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))); _ck(_v, 20, 0, currVal_14); var currVal_15 = (!((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee) || !((_v.context.$implicit == null) ? null : _v.context.$implicit.isValidUser)); _ck(_v, 22, 0, currVal_15); var currVal_16 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee) && !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidAssignee))); _ck(_v, 24, 0, currVal_16); var currVal_21 = (_co.tabType === "frequency"); _ck(_v, 31, 0, currVal_21); var currVal_22 = (_co.tabType === "ongoing"); _ck(_v, 33, 0, currVal_22); var currVal_23 = (_co.tabType === "onCompletion"); _ck(_v, 35, 0, currVal_23); var currVal_40 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer))); _ck(_v, 61, 0, currVal_40); var currVal_41 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))); _ck(_v, 63, 0, currVal_41); var currVal_42 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) && !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidReviewer))); _ck(_v, 65, 0, currVal_42); var currVal_48 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer))); _ck(_v, 73, 0, currVal_48); var currVal_49 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))); _ck(_v, 75, 0, currVal_49); var currVal_50 = (((((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) && ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor))) || ((((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) && !((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) == _co.defaultOwner))); _ck(_v, 77, 0, currVal_50); var currVal_51 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) && !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidOverseer))); _ck(_v, 79, 0, currVal_51); var currVal_54 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure))); _ck(_v, 83, 0, currVal_54); var currVal_55 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))); _ck(_v, 85, 0, currVal_55); var currVal_56 = (((((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor))) || ((((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && !((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) == _co.defaultOwner))); _ck(_v, 87, 0, currVal_56); var currVal_57 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidNotifyOnFailure))); _ck(_v, 89, 0, currVal_57); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = !((_v.context.$implicit == null) ? null : _v.context.$implicit.isValid); _ck(_v, 1, 0, currVal_0); var currVal_1 = (_v.context.index + 1); _ck(_v, 2, 0, currVal_1); var currVal_2 = !_v.context.$implicit.responsibilityName; _ck(_v, 3, 0, currVal_2); var currVal_3 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.responsibilityName); _ck(_v, 4, 0, currVal_3); var currVal_6 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor) && ((((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer)))); _ck(_v, 9, 0, currVal_6); var currVal_7 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor); _ck(_v, 10, 0, currVal_7); var currVal_9 = true; _ck(_v, 13, 0, currVal_9); var currVal_10 = true; _ck(_v, 14, 0, currVal_10); var currVal_11 = ((((!((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer))) || !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidAssignee))) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))) || !((_v.context.$implicit == null) ? null : _v.context.$implicit.isValidUser)); _ck(_v, 15, 0, currVal_11); var currVal_12 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee); _ck(_v, 16, 0, currVal_12); var currVal_17 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.assigneeType); _ck(_v, 26, 0, currVal_17); var currVal_18 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.keyResponsibility); _ck(_v, 28, 0, currVal_18); var currVal_19 = ((_co.tabType === "frequency") || (_co.tabType === "onCompletion")); var currVal_20 = (_co.tabType === "ongoing"); _ck(_v, 29, 0, currVal_19, currVal_20); var currVal_24 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.responsibilityCenter); _ck(_v, 37, 0, currVal_24); var currVal_25 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.reportClass); _ck(_v, 39, 0, currVal_25); var currVal_26 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.objective); _ck(_v, 41, 0, currVal_26); var currVal_27 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.notes); _ck(_v, 43, 0, currVal_27); var currVal_28 = true; _ck(_v, 44, 0, currVal_28); var currVal_29 = true; _ck(_v, 45, 0, currVal_29); var currVal_30 = true; _ck(_v, 48, 0, currVal_30); var currVal_31 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.isFormat); _ck(_v, 49, 0, currVal_31); var currVal_32 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.formatForResponsibility); _ck(_v, 51, 0, currVal_32); var currVal_33 = true; _ck(_v, 52, 0, currVal_33); var currVal_34 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.documentEvidenceRequired); _ck(_v, 53, 0, currVal_34); var currVal_35 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.assessments); _ck(_v, 55, 0, currVal_35); var currVal_36 = true; _ck(_v, 56, 0, currVal_36); var currVal_37 = true; _ck(_v, 57, 0, currVal_37); var currVal_38 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) && (((((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer)) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))) || !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidReviewer)))); _ck(_v, 58, 0, currVal_38); var currVal_39 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer); _ck(_v, 59, 0, currVal_39); var currVal_43 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewToBeCompletedWithin); _ck(_v, 67, 0, currVal_43); var currVal_44 = true; _ck(_v, 68, 0, currVal_44); var currVal_45 = true; _ck(_v, 69, 0, currVal_45); var currVal_46 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) && ((((((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer)) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor))) || !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidOverseer)))); _ck(_v, 70, 0, currVal_46); var currVal_47 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer); _ck(_v, 71, 0, currVal_47); var currVal_52 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && (((((((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure)) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))) || ((((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)))) || ((((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && !((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) == _co.defaultOwner))) || !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidNotifyOnFailure)))); _ck(_v, 80, 0, currVal_52); var currVal_53 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure); _ck(_v, 81, 0, currVal_53); }); }
|
|
789
|
+
function View_BulkResponsibilityViewComponent_34(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 89, "div", [["class", "exel-view-row"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, "div", [["class", "exel-view-column sl-no"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(2, null, ["", ""])), (_l()(), i1.ɵeld(3, 0, null, null, 3, "div", [["class", "exel-view-column"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(4, null, ["", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_35)), i1.ɵdid(6, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_36)), i1.ɵdid(8, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(9, 0, null, null, 3, "div", [["class", "exel-view-column"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(10, null, ["", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_37)), i1.ɵdid(12, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(13, 0, null, null, 13, "div", [["class", "exel-view-column multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(14, 0, null, null, 12, "div", [["class", "exel-view-row multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 9, "div", [["class", "exel-view-column"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(16, null, ["", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_38)), i1.ɵdid(18, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_39)), i1.ɵdid(20, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_40)), i1.ɵdid(22, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_41)), i1.ɵdid(24, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(25, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(26, null, ["", ""])), (_l()(), i1.ɵeld(27, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(28, null, ["", ""])), (_l()(), i1.ɵeld(29, 0, null, null, 6, "div", [["class", "exel-view-column multi-column"]], [[2, "five-column", null], [2, "three-column", null]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_42)), i1.ɵdid(31, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_48)), i1.ɵdid(33, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_50)), i1.ɵdid(35, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(36, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(37, null, ["", ""])), (_l()(), i1.ɵeld(38, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(39, null, ["", ""])), (_l()(), i1.ɵeld(40, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(41, null, ["", ""])), (_l()(), i1.ɵeld(42, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(43, null, ["", ""])), (_l()(), i1.ɵeld(44, 0, null, null, 9, "div", [["class", "exel-view-column multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(45, 0, null, null, 8, "div", [["class", "exel-view-row multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(46, 0, null, null, 5, "div", [["class", "exel-view-column multi-column"]], null, null, null, null, null)), (_l()(), i1.ɵeld(47, 0, null, null, 4, "div", [["class", "exel-view-row multi-column"]], null, null, null, null, null)), (_l()(), i1.ɵeld(48, 0, null, null, 1, "div", [["class", "exel-view-column"]], [[2, "small-column", null]], null, null, null, null)), (_l()(), i1.ɵted(49, null, ["", ""])), (_l()(), i1.ɵeld(50, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(51, null, ["", ""])), (_l()(), i1.ɵeld(52, 0, null, null, 1, "div", [["class", "exel-view-column"]], [[2, "small-column", null]], null, null, null, null)), (_l()(), i1.ɵted(53, null, ["", ""])), (_l()(), i1.ɵeld(54, 0, null, null, 13, "div", [["class", "exel-view-column multi-column"]], [[2, "three-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(55, 0, null, null, 12, "div", [["class", "exel-view-row multi-column"]], [[2, "three-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(56, 0, null, null, 7, "div", [["class", "exel-view-column"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(57, null, ["", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_53)), i1.ɵdid(59, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_54)), i1.ɵdid(61, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_55)), i1.ɵdid(63, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(64, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(65, null, ["", ""])), (_l()(), i1.ɵeld(66, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(67, null, ["", ""])), (_l()(), i1.ɵeld(68, 0, null, null, 21, "div", [["class", "exel-view-column multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(69, 0, null, null, 20, "div", [["class", "exel-view-row multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(70, 0, null, null, 9, "div", [["class", "exel-view-column"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(71, null, [" ", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_56)), i1.ɵdid(73, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_57)), i1.ɵdid(75, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_58)), i1.ɵdid(77, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_59)), i1.ɵdid(79, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(80, 0, null, null, 9, "div", [["class", "exel-view-column"]], [[2, "error", null]], null, null, null, null)), (_l()(), i1.ɵted(81, null, [" ", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_60)), i1.ɵdid(83, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_61)), i1.ɵdid(85, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_62)), i1.ɵdid(87, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_63)), i1.ɵdid(89, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_4 = !_v.context.$implicit.responsibilityName; _ck(_v, 6, 0, currVal_4); var currVal_5 = ((_co.responsibilityBulkUpload == null) ? null : _co.responsibilityBulkUpload.header.includes("Program")); _ck(_v, 8, 0, currVal_5); var currVal_8 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor) && ((((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)))); _ck(_v, 12, 0, currVal_8); var currVal_13 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))); _ck(_v, 18, 0, currVal_13); var currVal_14 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))); _ck(_v, 20, 0, currVal_14); var currVal_15 = (!((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee) || !((_v.context.$implicit == null) ? null : _v.context.$implicit.isValidUser)); _ck(_v, 22, 0, currVal_15); var currVal_16 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee) && !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidAssignee))); _ck(_v, 24, 0, currVal_16); var currVal_21 = (_co.tabType === "frequency"); _ck(_v, 31, 0, currVal_21); var currVal_22 = (_co.tabType === "ongoing"); _ck(_v, 33, 0, currVal_22); var currVal_23 = (_co.tabType === "onCompletion"); _ck(_v, 35, 0, currVal_23); var currVal_39 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer))); _ck(_v, 59, 0, currVal_39); var currVal_40 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))); _ck(_v, 61, 0, currVal_40); var currVal_41 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) && !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidReviewer))); _ck(_v, 63, 0, currVal_41); var currVal_48 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer))); _ck(_v, 73, 0, currVal_48); var currVal_49 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))); _ck(_v, 75, 0, currVal_49); var currVal_50 = (((((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) && ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor))) || ((((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) && !((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) == _co.defaultOwner))); _ck(_v, 77, 0, currVal_50); var currVal_51 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) && !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidOverseer))); _ck(_v, 79, 0, currVal_51); var currVal_54 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure))); _ck(_v, 83, 0, currVal_54); var currVal_55 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))); _ck(_v, 85, 0, currVal_55); var currVal_56 = (((((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor))) || ((((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && !((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) == _co.defaultOwner))); _ck(_v, 87, 0, currVal_56); var currVal_57 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidNotifyOnFailure))); _ck(_v, 89, 0, currVal_57); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = !((_v.context.$implicit == null) ? null : _v.context.$implicit.isValid); _ck(_v, 1, 0, currVal_0); var currVal_1 = (_v.context.index + 1); _ck(_v, 2, 0, currVal_1); var currVal_2 = !_v.context.$implicit.responsibilityName; _ck(_v, 3, 0, currVal_2); var currVal_3 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.responsibilityName); _ck(_v, 4, 0, currVal_3); var currVal_6 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor) && ((((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer)))); _ck(_v, 9, 0, currVal_6); var currVal_7 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor); _ck(_v, 10, 0, currVal_7); var currVal_9 = true; _ck(_v, 13, 0, currVal_9); var currVal_10 = true; _ck(_v, 14, 0, currVal_10); var currVal_11 = ((((!((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer))) || !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidAssignee))) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))) || !((_v.context.$implicit == null) ? null : _v.context.$implicit.isValidUser)); _ck(_v, 15, 0, currVal_11); var currVal_12 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee); _ck(_v, 16, 0, currVal_12); var currVal_17 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.assigneeType); _ck(_v, 26, 0, currVal_17); var currVal_18 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.keyResponsibility); _ck(_v, 28, 0, currVal_18); var currVal_19 = ((_co.tabType === "frequency") || (_co.tabType === "onCompletion")); var currVal_20 = (_co.tabType === "ongoing"); _ck(_v, 29, 0, currVal_19, currVal_20); var currVal_24 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.responsibilityCenter); _ck(_v, 37, 0, currVal_24); var currVal_25 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.reportClass); _ck(_v, 39, 0, currVal_25); var currVal_26 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.objective); _ck(_v, 41, 0, currVal_26); var currVal_27 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.notes); _ck(_v, 43, 0, currVal_27); var currVal_28 = true; _ck(_v, 44, 0, currVal_28); var currVal_29 = true; _ck(_v, 45, 0, currVal_29); var currVal_30 = true; _ck(_v, 48, 0, currVal_30); var currVal_31 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.isFormat); _ck(_v, 49, 0, currVal_31); var currVal_32 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.formatForResponsibility); _ck(_v, 51, 0, currVal_32); var currVal_33 = true; _ck(_v, 52, 0, currVal_33); var currVal_34 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.documentEvidenceRequired); _ck(_v, 53, 0, currVal_34); var currVal_35 = true; _ck(_v, 54, 0, currVal_35); var currVal_36 = true; _ck(_v, 55, 0, currVal_36); var currVal_37 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) && (((((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer)) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))) || !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidReviewer)))); _ck(_v, 56, 0, currVal_37); var currVal_38 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer); _ck(_v, 57, 0, currVal_38); var currVal_42 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewToBeCompletedWithin); _ck(_v, 65, 0, currVal_42); var currVal_43 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewWillBeFailedAfter); _ck(_v, 67, 0, currVal_43); var currVal_44 = true; _ck(_v, 68, 0, currVal_44); var currVal_45 = true; _ck(_v, 69, 0, currVal_45); var currVal_46 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) && ((((((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer)) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor))) || !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidOverseer)))); _ck(_v, 70, 0, currVal_46); var currVal_47 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.overseer); _ck(_v, 71, 0, currVal_47); var currVal_52 = (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && (((((((_v.context.$implicit == null) ? null : _v.context.$implicit.reviewer) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure)) || (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) === ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignee))) || ((((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) == ((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)))) || ((((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) && !((_v.context.$implicit == null) ? null : _v.context.$implicit.assignor)) && (((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure) == _co.defaultOwner))) || !((_v.context.$implicit == null) ? null : ((_v.context.$implicit.userValidateWithProgram == null) ? null : _v.context.$implicit.userValidateWithProgram.isValidNotifyOnFailure)))); _ck(_v, 80, 0, currVal_52); var currVal_53 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.notifyOnFailure); _ck(_v, 81, 0, currVal_53); }); }
|
|
790
790
|
function View_BulkResponsibilityViewComponent_64(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "button", [], [[2, "active", null]], [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
|
|
791
791
|
var pd_0 = (_co.selectedTab.emit("frequency") !== false);
|
|
792
792
|
ad = (pd_0 && ad);
|
|
@@ -800,15 +800,30 @@ function View_BulkResponsibilityViewComponent_66(_l) { return i1.ɵvid(0, [(_l()
|
|
|
800
800
|
ad = (pd_0 && ad);
|
|
801
801
|
} return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["On Completion Responsibilities"]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.tabType === "onCompletion"); _ck(_v, 0, 0, currVal_0); }); }
|
|
802
802
|
function View_BulkResponsibilityViewComponent_67(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "app-loader", [], null, null, null, i4.View_LoaderComponent_0, i4.RenderType_LoaderComponent)), i1.ɵdid(1, 114688, null, 0, i5.LoaderComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
|
|
803
|
-
function View_BulkResponsibilityViewComponent_29(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null,
|
|
803
|
+
function View_BulkResponsibilityViewComponent_29(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 109, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 106, "div", [["class", "bulk-view"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 2, "div", [["class", "bulk-view-head"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, "h2", [["class", "bulk-view-title"]], null, null, null, null, null)), (_l()(), i1.ɵted(4, null, [" ", " "])), (_l()(), i1.ɵeld(5, 0, null, null, 86, "div", [["class", "bulk-view-body bulk"]], null, null, null, null, null)), (_l()(), i1.ɵeld(6, 0, null, null, 85, "div", [["class", "exel-view"]], null, null, null, null, null)), (_l()(), i1.ɵeld(7, 0, null, null, 82, "div", [["class", "exel-view-row head"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 1, "div", [["class", "exel-view-column sl-no"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["#"])), (_l()(), i1.ɵeld(10, 0, null, null, 3, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Responsibility Name "])), (_l()(), i1.ɵeld(12, 0, null, null, 1, "span", [["class", "required"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["*"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_30)), i1.ɵdid(15, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(16, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Entrusted By"])), (_l()(), i1.ɵeld(18, 0, null, null, 12, "div", [["class", "exel-view-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(19, 0, null, null, 4, "div", [["class", "exel-view-row"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 3, "div", [["class", "exel-view-column large"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Entrust To "])), (_l()(), i1.ɵeld(22, 0, null, null, 1, "span", [["class", "required"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["*"])), (_l()(), i1.ɵeld(24, 0, null, null, 6, "div", [["class", "exel-view-row multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(25, 0, null, null, 3, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Person or Group"])), (_l()(), i1.ɵeld(27, 0, null, null, 1, "span", [["class", "required"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["*"])), (_l()(), i1.ɵeld(29, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["All or Any Persons"])), (_l()(), i1.ɵeld(31, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Key Responsibility?"])), (_l()(), i1.ɵeld(33, 0, null, null, 12, "div", [["class", "exel-view-column"]], [[2, "five-column", null], [2, "three-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(34, 0, null, null, 4, "div", [["class", "exel-view-row"]], null, null, null, null, null)), (_l()(), i1.ɵeld(35, 0, null, null, 3, "div", [["class", "exel-view-column large"]], null, null, null, null, null)), (_l()(), i1.ɵted(36, null, ["", ""])), (_l()(), i1.ɵeld(37, 0, null, null, 1, "span", [["class", "required"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["*"])), (_l()(), i1.ɵeld(39, 0, null, null, 6, "div", [["class", "exel-view-row multi-column"]], [[2, "five-column", null], [2, "three-column", null]], null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_31)), i1.ɵdid(41, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_32)), i1.ɵdid(43, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_33)), i1.ɵdid(45, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(46, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Responsibility Centre"])), (_l()(), i1.ɵeld(48, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Risk Class"])), (_l()(), i1.ɵeld(50, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Objective"])), (_l()(), i1.ɵeld(52, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Notes"])), (_l()(), i1.ɵeld(54, 0, null, null, 10, "div", [["class", "exel-view-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(55, 0, null, null, 2, "div", [["class", "exel-view-row"]], null, null, null, null, null)), (_l()(), i1.ɵeld(56, 0, null, null, 1, "div", [["class", "exel-view-column large"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Format & Evidence"])), (_l()(), i1.ɵeld(58, 0, null, null, 6, "div", [["class", "exel-view-row multi-column"]], [[2, "two-column", null], [2, "three-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(59, 0, null, null, 1, "div", [["class", "exel-view-column"]], [[2, "small-column", null]], null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Format"])), (_l()(), i1.ɵeld(61, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Format For Responsibility (link)"])), (_l()(), i1.ɵeld(63, 0, null, null, 1, "div", [["class", "exel-view-column"]], [[2, "small-column", null]], null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Evidence"])), (_l()(), i1.ɵeld(65, 0, null, null, 15, "div", [["class", "exel-view-column"]], [[2, "three-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(66, 0, null, null, 2, "div", [["class", "exel-view-row"]], null, null, null, null, null)), (_l()(), i1.ɵeld(67, 0, null, null, 1, "div", [["class", "exel-view-column large"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Review of Responsibility"])), (_l()(), i1.ɵeld(69, 0, null, null, 11, "div", [["class", "exel-view-row multi-column"]], [[2, "three-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(70, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Reviewer"])), (_l()(), i1.ɵeld(72, 0, null, null, 3, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Review Start "])), (_l()(), i1.ɵeld(74, 0, null, null, 1, "span", [["class", "info-text"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["(No. of days before the due date)"])), (_l()(), i1.ɵeld(76, 0, null, null, 4, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Review Fail "])), (_l()(), i1.ɵeld(78, 0, null, null, 2, "span", [["appTooltip", "(No. of days after the due date. Select '0' if the responsibility must be reviewed on the due date)"], ["class", "info-text"], ["delay", "0"], ["placement", "bottom"], ["type", "black"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
|
|
804
|
+
var pd_0 = (i1.ɵnov(_v, 79).onMouseEnter() !== false);
|
|
805
|
+
ad = (pd_0 && ad);
|
|
806
|
+
} if (("mouseover" === en)) {
|
|
807
|
+
var pd_1 = (i1.ɵnov(_v, 79).onMouseOver() !== false);
|
|
808
|
+
ad = (pd_1 && ad);
|
|
809
|
+
} if (("mouseleave" === en)) {
|
|
810
|
+
var pd_2 = (i1.ɵnov(_v, 79).onMouseLeave() !== false);
|
|
811
|
+
ad = (pd_2 && ad);
|
|
812
|
+
} if (("mouseout" === en)) {
|
|
813
|
+
var pd_3 = (i1.ɵnov(_v, 79).onMouseOut() !== false);
|
|
814
|
+
ad = (pd_3 && ad);
|
|
815
|
+
} if (("click" === en)) {
|
|
816
|
+
var pd_4 = (i1.ɵnov(_v, 79).onClick() !== false);
|
|
817
|
+
ad = (pd_4 && ad);
|
|
818
|
+
} return ad; }, null, null)), i1.ɵdid(79, 81920, null, 0, i3.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(-1, null, ["(No. of days after the due date. Select \"0\" if the responsibility must be reviewed on the due date)"])), (_l()(), i1.ɵeld(81, 0, null, null, 8, "div", [["class", "exel-view-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(82, 0, null, null, 2, "div", [["class", "exel-view-row"]], null, null, null, null, null)), (_l()(), i1.ɵeld(83, 0, null, null, 1, "div", [["class", "exel-view-column large"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Overseer"])), (_l()(), i1.ɵeld(85, 0, null, null, 4, "div", [["class", "exel-view-row multi-column"]], [[2, "two-column", null]], null, null, null, null)), (_l()(), i1.ɵeld(86, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Always Notify"])), (_l()(), i1.ɵeld(88, 0, null, null, 1, "div", [["class", "exel-view-column"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Notify on Failure"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_34)), i1.ɵdid(91, 278528, null, 0, i2.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null), (_l()(), i1.ɵeld(92, 0, null, null, 6, "div", [["class", "bulk-view-option"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_64)), i1.ɵdid(94, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_65)), i1.ɵdid(96, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_66)), i1.ɵdid(98, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(99, 0, null, null, 8, "div", [["class", "bulk-view-footer"]], null, null, null, null, null)), (_l()(), i1.ɵeld(100, 0, null, null, 2, "div", [["class", "left"]], null, null, null, null, null)), (_l()(), i1.ɵeld(101, 0, null, null, 1, "p", [], null, null, null, null, null)), (_l()(), i1.ɵted(102, null, ["", " out of ", " ", " will be uploaded."])), (_l()(), i1.ɵeld(103, 0, null, null, 4, "div", [["class", "right"]], null, null, null, null, null)), (_l()(), i1.ɵeld(104, 0, null, null, 1, "button", [["id", "bulk-resp-cancel"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
|
|
804
819
|
var pd_0 = (_co.close() !== false);
|
|
805
820
|
ad = (pd_0 && ad);
|
|
806
|
-
} return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["Cancel"])), (_l()(), i1.ɵeld(
|
|
821
|
+
} return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["Cancel"])), (_l()(), i1.ɵeld(106, 0, null, null, 1, "button", [["class", "blue"], ["id", "bulk-resp-confirm"]], [[8, "disabled", 0]], [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
|
|
807
822
|
var pd_0 = (_co.submit() !== false);
|
|
808
823
|
ad = (pd_0 && ad);
|
|
809
|
-
} return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["Confirm"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_67)), i1.ɵdid(
|
|
824
|
+
} return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["Confirm"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_67)), i1.ɵdid(109, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_1 = ((_co.responsibilityBulkUpload == null) ? null : _co.responsibilityBulkUpload.header.includes("Program")); _ck(_v, 15, 0, currVal_1); var currVal_9 = (_co.tabType === "frequency"); _ck(_v, 41, 0, currVal_9); var currVal_10 = (_co.tabType === "ongoing"); _ck(_v, 43, 0, currVal_10); var currVal_11 = (_co.tabType === "onCompletion"); _ck(_v, 45, 0, currVal_11); var currVal_19 = "(No. of days after the due date. Select '0' if the responsibility must be reviewed on the due date)"; var currVal_20 = "bottom"; var currVal_21 = "black"; var currVal_22 = false; _ck(_v, 79, 0, currVal_19, currVal_20, currVal_21, currVal_22); var currVal_25 = ((_co.responsibilityBulkUpload == null) ? null : _co.responsibilityBulkUpload.reports); _ck(_v, 91, 0, currVal_25); var currVal_26 = ((_co.bulkUpload == null) ? null : ((_co.bulkUpload.frequency == null) ? null : ((_co.bulkUpload.frequency.reports == null) ? null : _co.bulkUpload.frequency.reports.length))); _ck(_v, 94, 0, currVal_26); var currVal_27 = ((_co.bulkUpload == null) ? null : ((_co.bulkUpload.ongoing == null) ? null : ((_co.bulkUpload.ongoing.reports == null) ? null : _co.bulkUpload.ongoing.reports.length))); _ck(_v, 96, 0, currVal_27); var currVal_28 = ((_co.bulkUpload == null) ? null : ((_co.bulkUpload.onCompletion == null) ? null : ((_co.bulkUpload.onCompletion.reports == null) ? null : _co.bulkUpload.onCompletion.reports.length))); _ck(_v, 98, 0, currVal_28); var currVal_33 = _co.loader; _ck(_v, 109, 0, currVal_33); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.fileName; _ck(_v, 4, 0, currVal_0); var currVal_2 = true; _ck(_v, 18, 0, currVal_2); var currVal_3 = true; _ck(_v, 24, 0, currVal_3); var currVal_4 = ((_co.tabType === "frequency") || (_co.tabType === "onCompletion")); var currVal_5 = (_co.tabType === "ongoing"); _ck(_v, 33, 0, currVal_4, currVal_5); var currVal_6 = (((_co.responsibilityBulkUpload == null) ? null : _co.responsibilityBulkUpload.header.includes("Program")) ? ((_co.responsibilityBulkUpload == null) ? null : ((_co.responsibilityBulkUpload.header[8] == null) ? null : _co.responsibilityBulkUpload.header[8].slice(0, (-1)))) : ((_co.responsibilityBulkUpload == null) ? null : ((_co.responsibilityBulkUpload.header[5] == null) ? null : _co.responsibilityBulkUpload.header[5].slice(0, (-1))))); _ck(_v, 36, 0, currVal_6); var currVal_7 = ((_co.tabType === "frequency") || (_co.tabType === "onCompletion")); var currVal_8 = (_co.tabType === "ongoing"); _ck(_v, 39, 0, currVal_7, currVal_8); var currVal_12 = true; _ck(_v, 54, 0, currVal_12); var currVal_13 = true; var currVal_14 = false; _ck(_v, 58, 0, currVal_13, currVal_14); var currVal_15 = true; _ck(_v, 59, 0, currVal_15); var currVal_16 = true; _ck(_v, 63, 0, currVal_16); var currVal_17 = true; _ck(_v, 65, 0, currVal_17); var currVal_18 = true; _ck(_v, 69, 0, currVal_18); var currVal_23 = true; _ck(_v, 81, 0, currVal_23); var currVal_24 = true; _ck(_v, 85, 0, currVal_24); var currVal_29 = _co.finalResponsibilities; var currVal_30 = ((_co.responsibilityMultiTabBulkUpload == null) ? null : _co.responsibilityMultiTabBulkUpload.length); var currVal_31 = ((((_co.responsibilityMultiTabBulkUpload == null) ? null : _co.responsibilityMultiTabBulkUpload.length) > 1) ? "responsibilities" : "responsibility"); _ck(_v, 102, 0, currVal_29, currVal_30, currVal_31); var currVal_32 = !_co.isConfirmClickable; _ck(_v, 106, 0, currVal_32); }); }
|
|
810
825
|
export function View_BulkResponsibilityViewComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_1)), i1.ɵdid(1, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_28)), i1.ɵdid(3, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_BulkResponsibilityViewComponent_29)), i1.ɵdid(5, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.responsibilityType === "singleTab"); _ck(_v, 1, 0, currVal_0); var currVal_1 = _co.loader; _ck(_v, 3, 0, currVal_1); var currVal_2 = (_co.responsibilityType === "multiTab"); _ck(_v, 5, 0, currVal_2); }, null); }
|
|
811
826
|
export function View_BulkResponsibilityViewComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "app-bulk-responsibility-view", [], null, null, null, View_BulkResponsibilityViewComponent_0, RenderType_BulkResponsibilityViewComponent)), i1.ɵdid(1, 638976, null, 0, i6.BulkResponsibilityViewComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
|
|
812
827
|
var BulkResponsibilityViewComponentNgFactory = i1.ɵccf("app-bulk-responsibility-view", i6.BulkResponsibilityViewComponent, View_BulkResponsibilityViewComponent_Host_0, { responsibilityBulkUpload: "responsibilityBulkUpload", fileName: "fileName", defaultOwner: "defaultOwner", loader: "loader", tabType: "tabType", bulkUpload: "bulkUpload", responsibilityType: "responsibilityType" }, { submitResponsibilityBulkUpload: "submitResponsibilityBulkUpload", cancel: "cancel", selectedTab: "selectedTab" }, []);
|
|
813
828
|
export { BulkResponsibilityViewComponentNgFactory as BulkResponsibilityViewComponentNgFactory };
|
|
814
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1yZXNwb25zaWJpbGl0eS12aWV3LmNvbXBvbmVudC5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2J1bGstcmVzcG9uc2liaWxpdHktdmlldy9idWxrLXJlc3BvbnNpYmlsaXR5LXZpZXcuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYnVsay1yZXNwb25zaWJpbGl0eS12aWV3L2J1bGstcmVzcG9uc2liaWxpdHktdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OzBFQ2dCd0Isa0dBQTZELEtBQVIsOEJBQUM7MEVBRjFELDZFQUdlLEtBSHFGLGtDQUVoRyxNQUFBLCtMQUE2RCw4REFBdkQsd0RBQTZCLEdBQW5DLFlBQTZELEVBQXZELFNBQTZCLDJCQUY2RCxpS0FFaEc7MEVBRUosNkVBUWUsS0FQWCxzR0FFTSxLQURGLCtHQUFrRCxLQUFkLHFDQUFRLE1BRWhELG1IQUdNLEtBRkYseUdBQXVDLEtBQVQsZ0NBQUcsTUFDakMseUdBQXlDLEtBQVgsa0NBQUs7MEVBRzNDLDZFQVFlLEtBUFgsc0dBRU0sS0FERiwrR0FBb0QsS0FBaEIsdUNBQVUsTUFFbEQsbUhBR00sS0FGRix5R0FBaUQsS0FBbkIsMENBQWEsTUFDM0MseUdBQXFELEtBQXZCLDhDQUFpQjswRUFyQjNELHlIQXdCTSxLQXRCRiwrTEFHZSxJQUNmLCtMQVFlLElBQ2YsK0xBUWUseUJBckJELGtJQUFxRixJQUFuRyxZQUdlLEVBSEQsU0FBcUYsR0FJckYsOEVBQTRDLElBQTFELFlBUWUsRUFSRCxTQUE0QyxHQVM1QyxvRkFBa0QsSUFBaEUsWUFRZSxFQVJE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QUFoTCxVQUFpRCxHQWtCcEQsb0JBQWMsU0FBM0IsY0FBeUMsRUFBNUIsVUFBYyxtREEzVlMscURBRTVCLEdBa0JzQyxvQkFBeUIsRUFBdkQsYUFRTSxFQVJ3QixTQUF5QixHQUlYLG9CQUF5QixFQUFqRSxhQUdNLEVBSGtDLFNBQXlCLEdBTXZDLGlGQUEyRSxJQUFDLDBDQUE0QyxHQUF0SixhQTBCTSxFQTFCd0IsU0FBMkUsRUFBQyxTQUE0QyxHQUcxRyxpZUFBZ0ssR0FFaEssaUZBQTJFLElBQUMsMENBQTRDLEdBQWhLLGFBb0JNLEVBcEJrQyxTQUEyRSxFQUFDLFNBQTRDLEdBMEJ0SSxxQkFBeUIsRUFBdkQsYUFTTSxFQVR3QixVQUF5QixHQUlYLHFCQUF5QixFQUFDLHNCQUE0QixFQUE5RixhQUlNLEVBSmtDLFVBQXlCLEVBQUMsVUFBNEIsR0FDNUQscUJBQTJCLEVBQXpELGFBQXNFLEVBQXhDLFVBQTJCLEdBRTNCLHFCQUEyQixFQUF6RCxhQUF3RSxFQUExQyxVQUEyQixHQUluQyxxQkFBeUIsRUFBdkQsYUFRTSxFQVJ3QixVQUF5QixHQUlYLHFCQUF5QixFQUFqRSxhQUdNLEVBSGtDLFVBQXlCLEdBS3ZDLHFCQUF5QixFQUF2RCxhQVFNLEVBUndCLFVBQXlCLEdBSVgscUJBQXlCLEVBQWpFLGFBR00sRUFIa0MsVUFBeUIsR0E0UHRFLDZYQUNVLEdBSWMscUJBQWdDLHFCQUEzRCxjQUF5RixFQUE5RCxVQUFnQztpRkF6aUIzRSwrTEFxTWUsSUFHZixnTUFBeUMsSUFRekMsZ01BZ1dlLGlEQWhqQkQsdURBQTBDLEdBQXhELFlBcU1lLEVBck1ELFNBQTBDLEdBd00zQyxtQkFBYyxTQUEzQixZQUF5QyxFQUE1QixTQUFjLEdBUWIsc0RBQXlDLEdBQXZELFlBZ1dlLEVBaFdELFNBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIiwiXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJyZXNwb25zaWJpbGl0eVR5cGUgPT09ICdzaW5nbGVUYWInXCI+XHJcbjxkaXYgY2xhc3M9XCJidWxrLXZpZXdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJidWxrLXZpZXctaGVhZFwiPlxyXG4gICAgICAgIDxoMiBjbGFzcz1cImJ1bGstdmlldy10aXRsZVwiPlxyXG4gICAgICAgICAgICB7e2ZpbGVOYW1lfX1cclxuICAgICAgICA8L2gyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnVsay12aWV3LWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IGhlYWRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIHNsLW5vXCI+IzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiAqbmdGb3I9XCJsZXQgaGVhZGluZyBvZiByZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LmhlYWRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmxhcmdlXT1cImhlYWRpbmcgJiYgaGVhZGluZy5zdGFydHNXaXRoKCdJbmhlcmVudCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhlYWRpbmcgJiYgIShoZWFkaW5nLnN0YXJ0c1dpdGgoJ0R1ZScpKSAmJiAhKGhlYWRpbmcuc3RhcnRzV2l0aCgnT3ZlcnNpZ2h0JykpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7KGhlYWRpbmcuaW5jbHVkZXMoJyonKT8gaGVhZGluZy5yZXBsYWNlKCcqJywgJycpIDogaGVhZGluZyl9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhlYWRpbmcuaW5jbHVkZXMoJyonKVwiIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkaW5nICYmIGhlYWRpbmcuc3RhcnRzV2l0aCgnRHVlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+RHVlIERhdGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5EYXk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+TW9udGg8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhlYWRpbmcgJiYgaGVhZGluZy5zdGFydHNXaXRoKCdPdmVyc2lnaHQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbGFyZ2VcIj5PdmVyc2lnaHQgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+QWx3YXlzIE5vdGlmeTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5Ob3RpZnkgb24gRmFpbHVyZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93XCIgKm5nRm9yPVwibGV0IHJlcG9ydCBvZiByZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LnJlcG9ydHM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIHNsLW5vXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQuaXNWYWxpZFwiPnt7aSsxfX08L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCIhcmVwb3J0LnJlc3BvbnNpYmlsaXR5TmFtZVwiPnt7cmVwb3J0Py5yZXNwb25zaWJpbGl0eU5hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIXJlcG9ydD8ucmVzcG9uc2liaWxpdHlOYW1lXCIgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidFbnRlciBhIG5hbWUgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHkuJ1wiIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCJyZXBvcnQ/LmFzc2lnbm9yICYmICgocmVwb3J0Py5hc3NpZ25vciA9PSByZXBvcnQ/LmFsd2F5c05vdGlmeSkgfHwgKHJlcG9ydD8uYXNzaWdub3IgPT0gcmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7cmVwb3J0Py5hc3NpZ25vcn19XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoKHJlcG9ydD8uYXNzaWdub3IpICYmIChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PSByZXBvcnQ/LmFzc2lnbm9yfHxyZXBvcnQ/LmFsd2F5c05vdGlmeSA9PSByZXBvcnQ/LmFzc2lnbm9yKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBPdmVyc2VlciBjYW5ub3QgYWxzbyBiZSB0aGUgQXNzaWdub3Igb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgQXNzaWdub3IuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG48IS0tXHJcbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoKHJlcG9ydD8uYXNzaWdub3IpICYmIChyZXBvcnQ/LnJldmlld2VyID09IHJlcG9ydD8uYXNzaWdub3IpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIFJldmlld2VyIGNhbm5vdCBhbHNvIGJlIHRoZSBBc3NpZ25vciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBBc3NpZ25vci4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICA8L2k+ICAgICAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwiIXJlcG9ydD8uYXNzaWduZWUgfHwgKChyZXBvcnQ/LmFzc2lnbmVlID09IHJlcG9ydD8ucmV2aWV3ZXIpXHJcbiAgICAgICAgICAgICAgICB8fCAocmVwb3J0Py5hc3NpZ25lZSA9PSByZXBvcnQ/LmFsd2F5c05vdGlmeSkgfHwgKHJlcG9ydD8uYXNzaWduZWUgPT0gcmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUpKSB8fCAoIXJlcG9ydD8uaXNWYWxpZFVzZXIpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tyZXBvcnQ/LmFzc2lnbmVlfX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoKHJlcG9ydD8uYXNzaWduZWUpICYmIChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PSByZXBvcnQ/LmFzc2lnbmVlfHxyZXBvcnQ/LmFsd2F5c05vdGlmeSA9PSByZXBvcnQ/LmFzc2lnbmVlKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBPdmVyc2VlciBjYW5ub3QgYWxzbyBiZSB0aGUgQXNzaWduZWUgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgQXNzaWduZWUuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIigocmVwb3J0Py5hc3NpZ25lZSkgJiYgKHJlcG9ydD8ucmV2aWV3ZXIgPT0gcmVwb3J0Py5hc3NpZ25lZSkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgUmV2aWV3ZXIgY2Fubm90IGFsc28gYmUgdGhlIEFzc2lnbmVlIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIEFzc2lnbmVlLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIighcmVwb3J0Py5hc3NpZ25lZSkgfHwgKCFyZXBvcnQ/LmlzVmFsaWRVc2VyKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1NlbGVjdCB0aGUgdXNlciByZXNwb25zaWJsZSBmb3IgY29tcGxldGluZyB0aGlzIHJlc3BvbnNpYmlsaXR5LiAnXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBpZD1cInJlc0NhdGVnb3J5XCIgKm5nSWY9XCJyZXBvcnQ/LnJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnkhPT1udWxsXCI+e3tyZXBvcnQ/LnJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwiIXJlcG9ydC5mcmVxdWVuY3lcIj57e3JlcG9ydD8uZnJlcXVlbmN5fX1cclxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFyZXBvcnQ/LmZyZXF1ZW5jeVwiIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInU2VsZWN0IGEgZnJlcXVlbmN5IGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5LidcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBtdWx0aS1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCIhcmVwb3J0LmlzVmFsaWREdWVEYXRlXCI+e3tyZXBvcnQ/LmRheX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFyZXBvcnQ/LmlzVmFsaWREdWVEYXRlXCIgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidJbnZhbGlkIER1ZSBEYXRlLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyZXBvcnQ/LmlzUGFzdERhdGVcIiBjbGFzcz1cImljb25zXCIgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgZGF0ZSBvY2N1cnMgaW4gdGhlIHBhc3QuIFNlbGVjdCBhIGZ1dHVyZSBkYXRlLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwiIXJlcG9ydC5pc1ZhbGlkRHVlRGF0ZVwiPnt7cmVwb3J0Py5tb250aH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFyZXBvcnQ/LmlzVmFsaWREdWVEYXRlXCIgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidJbnZhbGlkIER1ZSBEYXRlLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyZXBvcnQ/LmlzUGFzdERhdGVcIiBjbGFzcz1cImljb25zXCIgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgZGF0ZSBvY2N1cnMgaW4gdGhlIHBhc3QuIFNlbGVjdCBhIGZ1dHVyZSBkYXRlLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucmVzcG9uc2liaWxpdHlXaW5kb3d9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8uZmFpbGVkQWZ0ZXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucmVwb3J0Q2xhc3N9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucmVzcG9uc2liaWxpdHlDZW50ZXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5lcnJvcl09XCJyZXBvcnQ/LnJldmlld2VyICYmICgocmVwb3J0Py5yZXZpZXdlciA9PSByZXBvcnQ/LmFsd2F5c05vdGlmeSkgfHwgIChyZXBvcnQ/LnJldmlld2VyID09IHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgfHwgKHJlcG9ydD8ucmV2aWV3ZXIgPT0gcmVwb3J0Py5hc3NpZ25lZSkgKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7cmVwb3J0Py5yZXZpZXdlcn19XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKHJlcG9ydD8ucmV2aWV3ZXIpICYmICgocmVwb3J0Py5yZXZpZXdlciA9PSByZXBvcnQ/LmFsd2F5c05vdGlmeSkgfHwgKHJlcG9ydD8ucmV2aWV3ZXIgPT0gcmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIE92ZXJzZWVyIGNhbm5vdCBhbHNvIGJlIHRoZSBSZXZpZXdlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBSZXZpZXdlcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvaT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyZXBvcnQ/LnJldmlld2VyICYmIChyZXBvcnQ/LnJldmlld2VyID09IHJlcG9ydD8uYXNzaWduZWUpXCIgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgQXNzaWduZWUgY2Fubm90IGFsc28gYmUgdGhlIFJldmlld2VyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIFJldmlld2VyLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxpICpuZ0lmPVwiKHJlcG9ydD8ucmV2aWV3ZXIgJiYgcmVwb3J0Py5hc3NpZ25vcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiKChyZXBvcnQ/LmFzc2lnbm9yKT8nVGhlIEFzc2lnbm9yIGNhbm5vdCBhbHNvIGJlIHRoZSBSZXZpZXdlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5Lic6J1lvdSBjYW5ub3QgYmUgYSBSZXZpZXdlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5IHNpbmNlIHlvdSBhcmUgdGhlIGFzc2lnbm9yLiAnKSArJ1NlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIFJldmlld2VyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pPiAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucmV2aWV3VG9CZUNvbXBsZXRlZFdpdGhpbn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5yZXZpZXdXaWxsQmVGYWlsZWRBZnRlcn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5mb3JtYXRGb3JSZXNwb25zaWJpbGl0eX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5ub3Rlc319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5kb2N1bWVudEV2aWRlbmNlUmVxdWlyZWR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbXVsdGktY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwicmVwb3J0Py5hbHdheXNOb3RpZnkgJiYgKChyZXBvcnQ/LmFsd2F5c05vdGlmeSA9PSByZXBvcnQ/LnJldmlld2VyKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB8fCAocmVwb3J0Py5hbHdheXNOb3RpZnkgPT0gcmVwb3J0Py5hc3NpZ25vcikgfHwgKHJlcG9ydD8uYWx3YXlzTm90aWZ5ID09IHJlcG9ydD8uYXNzaWduZWUpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICgoIXJlcG9ydD8uYXNzaWdub3IpJiYocmVwb3J0Py5hbHdheXNOb3RpZnkgPT0gZGVmYXVsdE93bmVyKSkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3JlcG9ydD8uYWx3YXlzTm90aWZ5fX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKHJlcG9ydD8uYWx3YXlzTm90aWZ5KSAmJiAoKHJlcG9ydD8ucmV2aWV3ZXIgPT0gcmVwb3J0Py5hbHdheXNOb3RpZnkpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBSZXZpZXdlciBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgT3ZlcnNlZXIuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInJlcG9ydD8uYWx3YXlzTm90aWZ5ICYmIChyZXBvcnQ/LmFsd2F5c05vdGlmeSA9PSByZXBvcnQ/LmFzc2lnbmVlKVwiIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgQXNzaWduZWUgY2Fubm90IGFsc28gYmUgdGhlIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKChyZXBvcnQ/LmFsd2F5c05vdGlmeSAmJiByZXBvcnQ/LmFzc2lnbm9yKSAmJiAocmVwb3J0Py5hbHdheXNOb3RpZnkgPT0gcmVwb3J0Py5hc3NpZ25vcikpIHx8KChyZXBvcnQ/LmFsd2F5c05vdGlmeSAmJiAoIXJlcG9ydD8uYXNzaWdub3IpKSAmJiAocmVwb3J0Py5hbHdheXNOb3RpZnkgPT0gZGVmYXVsdE93bmVyKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIigocmVwb3J0Py5hc3NpZ25vcik/J1RoZSBBc3NpZ25vciBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gJzonWW91IGNhbm5vdCBiZSBhbiBPdmVyc2VlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5IHNpbmNlIHlvdSBhcmUgdGhlIEFzc2lnbm9yLiAnKSArJ1NlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCJyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSAmJiAoKHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlID09IHJlcG9ydD8ucmV2aWV3ZXIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PSByZXBvcnQ/LmFzc2lnbm9yKSB8fCAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gcmVwb3J0Py5hc3NpZ25lZSkgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgKCghcmVwb3J0Py5hc3NpZ25vcikmJihyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PSBkZWZhdWx0T3duZXIpKSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVwb3J0Py5ub3RpZnlPbkZhaWx1cmV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUpICYmICgocmVwb3J0Py5yZXZpZXdlciA9PSByZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBSZXZpZXdlciBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgT3ZlcnNlZXIuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInJlcG9ydD8ubm90aWZ5T25GYWlsdXJlICYmIChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PSByZXBvcnQ/LmFzc2lnbmVlKVwiIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBBc3NpZ25lZSBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgT3ZlcnNlZXInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoKHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlICYmIHJlcG9ydD8uYXNzaWdub3IpICYmIChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PSByZXBvcnQ/LmFzc2lnbm9yKSkgfHwoKHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlICYmICghcmVwb3J0Py5hc3NpZ25vcikpICYmIChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PSBkZWZhdWx0T3duZXIpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIigocmVwb3J0Py5hc3NpZ25vcik/J1RoZSBBc3NpZ25vciBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gJzonWW91IGNhbm5vdCBiZSBhbiBPdmVyc2VlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5IHNpbmNlIHlvdSBhcmUgdGhlIEFzc2lnbm9yLiAnKSArJ1NlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5rZXlSZXNwb25zaWJpbGl0eX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5vYmplY3RpdmV9fTwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJidWxrLXZpZXctZm9vdGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgPHA+e3tmaW5hbFJlc3BvbnNpYmlsaXRpZXN9fSBvdXQgb2Yge3tyZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LnJlcG9ydHM/Lmxlbmd0aH19IHJlc3BvbnNpYmlsaXRpZXMgd2lsbCBiZVxyXG4gICAgICAgICAgICAgICAgdXBsb2FkZWQuPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgaWQ9XCJidWxrLXJlc3AtY2FuY2VsXCIgPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzdWJtaXQoKVwiIGlkPVwiYnVsay1yZXNwLWNvbmZpcm1cIiBbZGlzYWJsZWRdPVwiZmluYWxSZXNwb25zaWJpbGl0aWVzPDFcIiBjbGFzcz1cImJsdWVcIj5Db25maXJtPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxhcHAtbG9hZGVyICAqbmdJZj1cImxvYWRlclwiPjwvYXBwLWxvYWRlcj5cclxuXHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPCEtLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXVwd2FyZCBpcyBuZXcgb25lLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XHJcbjxhcHAtbG9hZGVyICAqbmdJZj1cImxvYWRlclwiPjwvYXBwLWxvYWRlcj5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuPCEtLSBIVE1MIGZvciBtdWx0aXBsZSB0YWJzIC0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwicmVzcG9uc2liaWxpdHlUeXBlID09PSAnbXVsdGlUYWInXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnVsay12aWV3XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstdmlldy1oZWFkXCI+XHJcbiAgICAgICAgICAgIDxoMiBjbGFzcz1cImJ1bGstdmlldy10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAge3tmaWxlTmFtZX19XHJcbiAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstdmlldy1ib2R5IGJ1bGtcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlld1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgaGVhZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIHNsLW5vXCI+IzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UmVzcG9uc2liaWxpdHkgTmFtZSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiICpuZ0lmPVwicmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5oZWFkZXIuaW5jbHVkZXMoJ1Byb2dyYW0nKVwiIFtjbGFzcy50aHJlZS1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbGFyZ2VcIj5Qcm9ncmFtPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudGhyZWUtY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UHJvZ3JhbSBUeXBlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlByb2dyYW08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UHJvZ3JhbSBDYXRlZ29yeTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkVudHJ1c3RlZCBCeTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbGFyZ2VcIj5FbnRydXN0IFRvIDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5QZXJzb24gb3IgR3JvdXA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+QWxsIG9yIEFueSBQZXJzb25zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+S2V5IFJlc3BvbnNpYmlsaXR5PzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmZpdmUtY29sdW1uXT1cInRhYlR5cGUgPT09ICdmcmVxdWVuY3knIHx8IHRhYlR5cGUgPT09ICdvbkNvbXBsZXRpb24nXCIgW2NsYXNzLnRocmVlLWNvbHVtbl09XCJ0YWJUeXBlID09PSAnb25nb2luZydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbGFyZ2VcIj5GcmVxdWVuY3kgb2YgT2NjdXJyZW5jZSBhbmQgQ29tcGxldGlvbiBXaW5kb3cgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbGFyZ2VcIj57e3Jlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8uaGVhZGVyLmluY2x1ZGVzKCdQcm9ncmFtJykgPyByZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LmhlYWRlcls4XT8uc2xpY2UoMCwgLTEpIDogcmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5oZWFkZXJbNV0/LnNsaWNlKDAsIC0xKX19PHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MuZml2ZS1jb2x1bW5dPVwidGFiVHlwZSA9PT0gJ2ZyZXF1ZW5jeScgfHwgdGFiVHlwZSA9PT0gJ29uQ29tcGxldGlvbidcIiBbY2xhc3MudGhyZWUtY29sdW1uXT1cInRhYlR5cGUgPT09ICdvbmdvaW5nJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYlR5cGUgPT09ICdmcmVxdWVuY3knXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5GcmVxdWVuY3kgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5EdWUgRGF0ZSA8c3BhbiBjbGFzcz1cImluZm8tdGV4dFwiPihEYXkpPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+RHVlIERhdGUgPHNwYW4gY2xhc3M9XCJpbmZvLXRleHRcIj4oTW9udGgpPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+U3RhcnQgPHNwYW4gY2xhc3M9XCJpbmZvLXRleHRcIj4oTm8uIG9mIGRheXMgYmVmb3JlIHRoZSBkdWUgZGF0ZSk8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5GYWlsIDxzcGFuIGNsYXNzPVwiaW5mby10ZXh0XCIgYXBwVG9vbHRpcD1cIihOby4gb2YgZGF5cyBhZnRlciB0aGUgZHVlIGRhdGUuIFNlbGVjdCAnMCcgaWYgdGhlIHJlc3BvbnNpYmlsaXR5IG11c3QgYmUgY29tcGxldGVkIG9uIHRoZSBkdWUgZGF0ZSlcIiBwbGFjZW1lbnQ9XCJib3R0b21cIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPihOby4gb2YgZGF5cyBhZnRlciB0aGUgZHVlIGRhdGUuIFNlbGVjdCBcIjBcIiBpZiB0aGUgcmVzcG9uc2liaWxpdHkgbXVzdCBiZSBjb21wbGV0ZWQgb24gdGhlIGR1ZSBkYXRlKTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYlR5cGUgPT09ICdvbmdvaW5nJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+T25nb2luZyBGcmVxdWVuY3kgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5TZXQgYSBSZW1pbmRlcj88L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkZyZXF1ZW5jeSBvZiBSZW1pbmRlcjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFiVHlwZSA9PT0gJ29uQ29tcGxldGlvbidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPk9uIENvbXBsZXRpb24gb2YgRnJlcXVlbmN5IDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UGFyZW50IFJlc3BvbnNpYmlsaXR5PHNwYW4gY2xhc3M9XCJpbmZvLXRleHRcIj4oRGF5KTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkR1ZSBEYXRlIDxzcGFuIGNsYXNzPVwiaW5mby10ZXh0XCIgYXBwVG9vbHRpcD1cIihOby4gb2YgZGF5cyBhZnRlciBjb21wbGV0aW9uIG9mIHRoZSBQYXJlbnQgUmVzcG9uc2liaWxpdHkpXCIgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj4oTm8uIG9mIGRheXMgYWZ0ZXIgY29tcGxldGlvbiBvZiB0aGUgUGFyZW50IFJlc3BvbnNpYmlsaXR5KTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlN0YXJ0IDxzcGFuIGNsYXNzPVwiaW5mby10ZXh0XCIgYXBwVG9vbHRpcD1cIihOby4gb2YgZGF5cyBiZWZvcmUgdGhlIGR1ZSBkYXRlKVwiIHBsYWNlbWVudD1cImJvdHRvbVwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+KE5vLiBvZiBkYXlzIGJlZm9yZSB0aGUgZHVlIGRhdGUpPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+RmFpbCA8c3BhbiBjbGFzcz1cImluZm8tdGV4dFwiIGFwcFRvb2x0aXA9XCIoTm8uIG9mIGRheXMgYWZ0ZXIgdGhlIGR1ZSBkYXRlLiBTZWxlY3QgJzAnIGlmIHRoZSByZXNwb25zaWJpbGl0eSBtdXN0IGJlIGNvbXBsZXRlZCBvbiB0aGUgZHVlIGRhdGUpXCIgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj4oTm8uIG9mIGRheXMgYWZ0ZXIgdGhlIGR1ZSBkYXRlLiBTZWxlY3QgXCIwXCIgaWYgdGhlIHJlc3BvbnNpYmlsaXR5IG11c3QgYmUgY29tcGxldGVkIG9uIHRoZSBkdWUgZGF0ZSk8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5SZXNwb25zaWJpbGl0eSBDZW50cmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlJpc2sgQ2xhc3M8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPk9iamVjdGl2ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+Tm90ZXM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+Rm9ybWF0ICYgRXZpZGVuY2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIiBbY2xhc3MudGhyZWUtY29sdW1uXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5zbWFsbC1jb2x1bW5dPVwidHJ1ZVwiPkZvcm1hdDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5Gb3JtYXQgRm9yIFJlc3BvbnNpYmlsaXR5IChsaW5rKTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3Muc21hbGwtY29sdW1uXT1cInRydWVcIj5FdmlkZW5jZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkFzc2Vzc21lbnRzIG9yIENoZWNrcG9pbnRzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBsYXJnZVwiPlJldmlldyBvZiBSZXNwb25zaWJpbGl0eTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5SZXZpZXdlcjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5SZXZpZXcgUGVyaW9kIChEYXlzKTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+T3ZlcnNlZXI8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+QWx3YXlzIE5vdGlmeTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5Ob3RpZnkgb24gRmFpbHVyZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+T3ZlcnNlZXI8L2Rpdj4gLS0+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIiAqbmdGb3I9XCJsZXQgcmVwb3J0IG9mIHJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8ucmVwb3J0czsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIHNsLW5vXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQ/LmlzVmFsaWRcIj57e2krMX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwiIXJlcG9ydC5yZXNwb25zaWJpbGl0eU5hbWVcIj57e3JlcG9ydD8ucmVzcG9uc2liaWxpdHlOYW1lfX0gPGkgKm5nSWY9XCIhcmVwb3J0LnJlc3BvbnNpYmlsaXR5TmFtZVwiIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInRW50ZXIgYSBuYW1lIGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5LidcIiAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjs8L2k+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbXVsdGktY29sdW1uXCIgKm5nSWY9XCJyZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LmhlYWRlci5pbmNsdWRlcygnUHJvZ3JhbScpXCIgW2NsYXNzLmVycm9yXT1cImZhbHNlXCIgW2NsYXNzLnRocmVlLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy50aHJlZS1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucHJvZ3JhbVR5cGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucHJvZ3JhbX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5wcm9ncmFtQ2F0ZWdvcnl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCJyZXBvcnQ/LmFzc2lnbm9yICYmIChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PSByZXBvcnQ/LmFzc2lnbm9yIHx8IHJlcG9ydD8uYXNzaWdub3IgPT0gcmVwb3J0Py5vdmVyc2VlcilcIj57e3JlcG9ydD8uYXNzaWdub3J9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIigocmVwb3J0Py5hc3NpZ25vcikgJiYgKHJlcG9ydD8ub3ZlcnNlZXIgPT0gcmVwb3J0Py5hc3NpZ25vciB8fCByZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PSByZXBvcnQ/LmFzc2lnbm9yKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIE92ZXJzZWVyIGNhbm5vdCBhbHNvIGJlIHRoZSBBc3NpZ25vciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBBc3NpZ25vci4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aSAqbmdJZj1cIigocmVwb3J0Py5hc3NpZ25vcikgJiYgKHJlcG9ydD8ucmV2aWV3ZXIgPT09IHJlcG9ydD8uYXNzaWdub3IpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgUmV2aWV3ZXIgY2Fubm90IGFsc28gYmUgdGhlIEFzc2lnbm9yIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIEFzc2lnbm9yLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQ/LmFzc2lnbmVlIHx8IHJlcG9ydD8uYXNzaWduZWUgPT0gcmVwb3J0Py5yZXZpZXdlciB8fCAhcmVwb3J0Py51c2VyVmFsaWRhdGVXaXRoUHJvZ3JhbT8uaXNWYWxpZEFzc2lnbmVlIHx8IHJlcG9ydD8ub3ZlcnNlZXIgPT09IHJlcG9ydD8uYXNzaWduZWUgIHx8ICghcmVwb3J0Py5pc1ZhbGlkVXNlcilcIj57e3JlcG9ydD8uYXNzaWduZWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gfHwgKCFyZXBvcnQ/LmlzVmFsaWRVc2VyKSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIigocmVwb3J0Py5hc3NpZ25lZSkgJiYgKHJlcG9ydD8ub3ZlcnNlZXIgPT0gcmVwb3J0Py5hc3NpZ25lZSkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgT3ZlcnNlZXIgY2Fubm90IGFsc28gYmUgdGhlIEFzc2lnbmVlIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIEFzc2lnbmVlLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIigocmVwb3J0Py5hc3NpZ25lZSkgJiYgKHJlcG9ydD8ucmV2aWV3ZXIgPT0gcmVwb3J0Py5hc3NpZ25lZSkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgUmV2aWV3ZXIgY2Fubm90IGFsc28gYmUgdGhlIEFzc2lnbmVlIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIEFzc2lnbmVlLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIighcmVwb3J0Py5hc3NpZ25lZSkgfHwgKCFyZXBvcnQ/LmlzVmFsaWRVc2VyKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInU2VsZWN0IHRoZSB1c2VyIHJlc3BvbnNpYmxlIGZvciBjb21wbGV0aW5nIHRoaXMgcmVzcG9uc2liaWxpdHkuICdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIihyZXBvcnQ/LmFzc2lnbmVlKSAmJiAhcmVwb3J0Py51c2VyVmFsaWRhdGVXaXRoUHJvZ3JhbT8uaXNWYWxpZEFzc2lnbmVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGlzIHVzZXIgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VsZWN0ZWQgUHJvZ3JhbS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LmFzc2lnbmVlVHlwZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LmtleVJlc3BvbnNpYmlsaXR5fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBtdWx0aS1jb2x1bW5cIiBbY2xhc3MuZml2ZS1jb2x1bW5dPVwidGFiVHlwZSA9PT0gJ2ZyZXF1ZW5jeScgfHwgdGFiVHlwZSA9PT0gJ29uQ29tcGxldGlvbidcIiBbY2xhc3MudGhyZWUtY29sdW1uXT1cInRhYlR5cGUgPT09ICdvbmdvaW5nJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFiVHlwZSA9PT0gJ2ZyZXF1ZW5jeSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy5maXZlLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwiIXJlcG9ydD8uZnJlcXVlbmN5XCI+e3tyZXBvcnQ/LmZyZXF1ZW5jeX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIXJlcG9ydD8uZnJlcXVlbmN5XCIgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidTZWxlY3QgYSBmcmVxdWVuY3kgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHkuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQ/LnZhbGlkRGF0ZSB8fCByZXBvcnQ/LmlzUGFzdERhdGVcIj57e3JlcG9ydD8uZGF5fX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIhcmVwb3J0Py52YWxpZERhdGVcIiBjbGFzcz1cImljb25zXCIgW2FwcFRvb2x0aXBdPVwiJ0ludmFsaWQgRHVlIERhdGUuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyZXBvcnQ/LmlzUGFzdERhdGVcIiBjbGFzcz1cImljb25zXCIgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgZGF0ZSBvY2N1cnMgaW4gdGhlIHBhc3QuIFNlbGVjdCBhIGZ1dHVyZSBkYXRlLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwiIXJlcG9ydD8udmFsaWREYXRlIHx8IHJlcG9ydD8uaXNQYXN0RGF0ZVwiPnt7cmVwb3J0Py5tb250aH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIXJlcG9ydD8udmFsaWREYXRlXCIgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidJbnZhbGlkIER1ZSBEYXRlLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVwb3J0Py5pc1Bhc3REYXRlXCIgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidUaGlzIGRhdGUgb2NjdXJzIGluIHRoZSBwYXN0LiBTZWxlY3QgYSBmdXR1cmUgZGF0ZS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnJlc3BvbnNpYmlsaXR5V2luZG93fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5mYWlsZWRBZnRlcn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWJUeXBlID09PSAnb25nb2luZydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy50aHJlZS1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQ/LmZyZXF1ZW5jeVwiPnt7cmVwb3J0Py5mcmVxdWVuY3l9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFyZXBvcnQ/LmZyZXF1ZW5jeVwiIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInU2VsZWN0IGEgZnJlcXVlbmN5IGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5LidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5zZXRSZW1pbmRlcn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8uZnJlcXVlbmN5UmVtaW5kZXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFiVHlwZSA9PT0gJ29uQ29tcGxldGlvbidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy5maXZlLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwiIXJlcG9ydD8uZnJlcXVlbmN5XCI+e3tyZXBvcnQ/LmZyZXF1ZW5jeX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIXJlcG9ydD8uZnJlcXVlbmN5XCIgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidTZWxlY3QgYSBmcmVxdWVuY3kgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHkuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQ/LnBhcmVudFJlc3BvbnNpYmlsaXR5XCI+e3tyZXBvcnQ/LnBhcmVudFJlc3BvbnNpYmlsaXR5fX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIhcmVwb3J0Py5wYXJlbnRSZXNwb25zaWJpbGl0eVwiIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInU2VsZWN0IGEgcGFyZW50IHJlc3BvbnNpYmlsaXR5IG9uIHdob3NlIGNvbXBsZXRpb24gdGhpcyByZXNwb25zaWJpbGl0eSB3aWxsIGJlY29tZSBhY3RpdmUuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LmR1ZURhdGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnJlc3BvbnNpYmlsaXR5V2luZG93fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5mYWlsZWRBZnRlcn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucmVzcG9uc2liaWxpdHlDZW50ZXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnJlcG9ydENsYXNzfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5vYmplY3RpdmV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/Lm5vdGVzfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIG11bHRpLWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5zbWFsbC1jb2x1bW5dPVwidHJ1ZVwiPnt7cmVwb3J0Py5pc0Zvcm1hdH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LmZvcm1hdEZvclJlc3BvbnNpYmlsaXR5fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3Muc21hbGwtY29sdW1uXT1cInRydWVcIj57e3JlcG9ydD8uZG9jdW1lbnRFdmlkZW5jZVJlcXVpcmVkfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8uYXNzZXNzbWVudHN9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIG11bHRpLWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwicmVwb3J0Py5yZXZpZXdlciAmJiAoKHJlcG9ydD8ucmV2aWV3ZXIgPT09IHJlcG9ydD8ub3ZlcnNlZXIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAocmVwb3J0Py5yZXZpZXdlciA9PT0gcmVwb3J0Py5hc3NpZ25lZSkgfHwgIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWRSZXZpZXdlciApXCI+e3tyZXBvcnQ/LnJldmlld2VyfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIocmVwb3J0Py5yZXZpZXdlcikgJiYgKChyZXBvcnQ/LnJldmlld2VyID09PSByZXBvcnQ/Lm92ZXJzZWVyKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIE92ZXJzZWVyIGNhbm5vdCBhbHNvIGJlIHRoZSBSZXZpZXdlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBSZXZpZXdlcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVwb3J0Py5yZXZpZXdlciAmJiAocmVwb3J0Py5yZXZpZXdlciA9PT0gcmVwb3J0Py5hc3NpZ25lZSlcIiBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgQXNzaWduZWUgY2Fubm90IGFsc28gYmUgdGhlIFJldmlld2VyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIFJldmlld2VyLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpICpuZ0lmPVwiKHJlcG9ydD8ucmV2aWV3ZXIgJiYgcmVwb3J0Py5yZXZpZXdlciA9PT0gcmVwb3J0Py5hc3NpZ25vcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCIoKHJlcG9ydD8uYXNzaWdub3IpPydUaGUgQXNzaWdub3IgY2Fubm90IGFsc28gYmUgdGhlIFJldmlld2VyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuJzonWW91IGNhbm5vdCBiZSBhIFJldmlld2VyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkgc2luY2UgeW91IGFyZSB0aGUgYXNzaWdub3IuICcpICsnU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgUmV2aWV3ZXInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaT4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVwb3J0Py5yZXZpZXdlciAmJiAhcmVwb3J0Py51c2VyVmFsaWRhdGVXaXRoUHJvZ3JhbT8uaXNWYWxpZFJldmlld2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgdXNlciBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBzZWxlY3RlZCBQcm9ncmFtLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5yZXZpZXdUb0JlQ29tcGxldGVkV2l0aGlufX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIG11bHRpLWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwicmVwb3J0Py5vdmVyc2VlciAmJiAoKHJlcG9ydD8ucmV2aWV3ZXIgPT09IHJlcG9ydD8ub3ZlcnNlZXIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAocmVwb3J0Py5vdmVyc2VlciA9PT0gcmVwb3J0Py5hc3NpZ25lZSkgfHwgKHJlcG9ydD8ub3ZlcnNlZXIgPT09IHJlcG9ydD8uYXNzaWdub3IpIHx8ICFyZXBvcnQ/LnVzZXJWYWxpZGF0ZVdpdGhQcm9ncmFtPy5pc1ZhbGlkT3ZlcnNlZXIgKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tyZXBvcnQ/Lm92ZXJzZWVyfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIihyZXBvcnQ/Lm92ZXJzZWVyKSAmJiAoKHJlcG9ydD8ucmV2aWV3ZXIgPT09IHJlcG9ydD8ub3ZlcnNlZXIpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBSZXZpZXdlciBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgT3ZlcnNlZXIuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVwb3J0Py5vdmVyc2VlciAmJiAocmVwb3J0Py5vdmVyc2VlciA9PT0gcmVwb3J0Py5hc3NpZ25lZSlcIiBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBBc3NpZ25lZSBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgT3ZlcnNlZXInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoKHJlcG9ydD8ub3ZlcnNlZXIgJiYgcmVwb3J0Py5hc3NpZ25vcikgJiYgKHJlcG9ydD8ub3ZlcnNlZXIgPT0gcmVwb3J0Py5hc3NpZ25vcikpIHx8KChyZXBvcnQ/Lm92ZXJzZWVyICYmICghcmVwb3J0Py5hc3NpZ25vcikpICYmIChyZXBvcnQ/Lm92ZXJzZWVyID09IGRlZmF1bHRPd25lcikpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIigocmVwb3J0Py5hc3NpZ25vcik/J1RoZSBBc3NpZ25vciBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gJzonWW91IGNhbm5vdCBiZSBhbiBPdmVyc2VlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5IHNpbmNlIHlvdSBhcmUgdGhlIEFzc2lnbm9yLiAnKSArJ1NlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIihyZXBvcnQ/Lm92ZXJzZWVyKSAmJiAhcmVwb3J0Py51c2VyVmFsaWRhdGVXaXRoUHJvZ3JhbT8uaXNWYWxpZE92ZXJzZWVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGlzIHVzZXIgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VsZWN0ZWQgUHJvZ3JhbS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cInJlcG9ydD8ubm90aWZ5T25GYWlsdXJlICYmICgocmVwb3J0Py5yZXZpZXdlciA9PT0gcmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT09IHJlcG9ydD8uYXNzaWduZWUpIHx8ICgocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgJiYgcmVwb3J0Py5hc3NpZ25vcikgJiYgKHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlID09IHJlcG9ydD8uYXNzaWdub3IpKSB8fCgocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgJiYgKCFyZXBvcnQ/LmFzc2lnbm9yKSkgJiYgKHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlID09IGRlZmF1bHRPd25lcikpIHx8ICFyZXBvcnQ/LnVzZXJWYWxpZGF0ZVdpdGhQcm9ncmFtPy5pc1ZhbGlkTm90aWZ5T25GYWlsdXJlIClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3JlcG9ydD8ubm90aWZ5T25GYWlsdXJlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIihyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSkgJiYgKChyZXBvcnQ/LnJldmlld2VyID09PSByZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgUmV2aWV3ZXIgY2Fubm90IGFsc28gYmUgdGhlIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSAmJiAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT09IHJlcG9ydD8uYXNzaWduZWUpXCIgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgQXNzaWduZWUgY2Fubm90IGFsc28gYmUgdGhlIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSAmJiByZXBvcnQ/LmFzc2lnbm9yKSAmJiAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gcmVwb3J0Py5hc3NpZ25vcikpIHx8KChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSAmJiAoIXJlcG9ydD8uYXNzaWdub3IpKSAmJiAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gZGVmYXVsdE93bmVyKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiKChyZXBvcnQ/LmFzc2lnbm9yKT8nVGhlIEFzc2lnbm9yIGNhbm5vdCBhbHNvIGJlIHRoZSBPdmVyc2VlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiAnOidZb3UgY2Fubm90IGJlIGFuIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkgc2luY2UgeW91IGFyZSB0aGUgQXNzaWdub3IuICcpICsnU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgT3ZlcnNlZXIuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlKSAmJiAhcmVwb3J0Py51c2VyVmFsaWRhdGVXaXRoUHJvZ3JhbT8uaXNWYWxpZE5vdGlmeU9uRmFpbHVyZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhpcyB1c2VyIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggdGhlIHNlbGVjdGVkIFByb2dyYW0uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwiKHJlcG9ydD8ub3ZlcnNlZXIpICYmICgocmVwb3J0Py5vdmVyc2VlciA9PT0gcmVwb3J0Py5hc3NpZ25lZSkgfHwocmVwb3J0Py5yZXZpZXdlciA9PT0gcmVwb3J0Py5vdmVyc2VlcikgfHwgKHJlcG9ydD8ub3ZlcnNlZXIgPT0gcmVwb3J0Py5hc3NpZ25vcikgfHwgKCFyZXBvcnQ/LnVzZXJWYWxpZGF0ZVdpdGhQcm9ncmFtPy5pc1ZhbGlkT3ZlcnNlZXIpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e3JlcG9ydD8ub3ZlcnNlZXJ9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIihyZXBvcnQ/Lm92ZXJzZWVyKSAmJiAoKHJlcG9ydD8ucmV2aWV3ZXIgPT09IHJlcG9ydD8ub3ZlcnNlZXIpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgUmV2aWV3ZXIgY2Fubm90IGFsc28gYmUgdGhlIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyZXBvcnQ/Lm92ZXJzZWVyICYmIChyZXBvcnQ/Lm92ZXJzZWVyID09PSByZXBvcnQ/LmFzc2lnbmVlKVwiIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBBc3NpZ25lZSBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgT3ZlcnNlZXInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoKHJlcG9ydD8ub3ZlcnNlZXIpICYmIChyZXBvcnQ/Lm92ZXJzZWVyID09IHJlcG9ydD8uYXNzaWdub3IpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIigocmVwb3J0Py5hc3NpZ25vcik/J1RoZSBBc3NpZ25vciBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gJzonWW91IGNhbm5vdCBiZSBhbiBPdmVyc2VlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5IHNpbmNlIHlvdSBhcmUgdGhlIEFzc2lnbm9yLiAnKSArJ1NlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFyZXBvcnQ/LnVzZXJWYWxpZGF0ZVdpdGhQcm9ncmFtPy5pc1ZhbGlkT3ZlcnNlZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInU2VsZWN0ZWQgdXNlciBpcyBub3QgYSB2YWxpZCBvdmVyc2VlciBmb3Igc2VsZWN0ZWQgcHJvZ3JhbS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgXHJcbiAgICBcclxuICAgIFxyXG4gICAgXHJcbiAgICBcclxuICAgICAgICAgICAgICAgIDwhLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tb2xkIGNvZGUgZHluYW1pYy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIDwhLS0gKm5nRm9yPVwibGV0IHJlcG9ydCBvZiByZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LnJlcG9ydHM7IGxldCBpID0gaW5kZXhcIiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstdmlldy1vcHRpb25cIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImJ1bGtVcGxvYWQ/LmZyZXF1ZW5jeT8ucmVwb3J0cz8ubGVuZ3RoXCIgW2NsYXNzLmFjdGl2ZV09XCJ0YWJUeXBlID09PSAnZnJlcXVlbmN5J1wiIChjbGljayk9XCJzZWxlY3RlZFRhYi5lbWl0KCdmcmVxdWVuY3knKVwiPkZyZXF1ZW5jeSBSZXNwb25zaWJpbGl0aWVzPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJidWxrVXBsb2FkPy5vbmdvaW5nPy5yZXBvcnRzPy5sZW5ndGhcIiBbY2xhc3MuYWN0aXZlXT1cInRhYlR5cGUgPT09ICdvbmdvaW5nJ1wiIChjbGljayk9XCJzZWxlY3RlZFRhYi5lbWl0KCdvbmdvaW5nJylcIj5PbmdvaW5nIFJlc3BvbnNpYmlsaXRpZXM8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImJ1bGtVcGxvYWQ/Lm9uQ29tcGxldGlvbj8ucmVwb3J0cz8ubGVuZ3RoXCIgW2NsYXNzLmFjdGl2ZV09XCJ0YWJUeXBlID09PSAnb25Db21wbGV0aW9uJ1wiIChjbGljayk9XCJzZWxlY3RlZFRhYi5lbWl0KCdvbkNvbXBsZXRpb24nKVwiPk9uIENvbXBsZXRpb24gUmVzcG9uc2liaWxpdGllczwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidWxrLXZpZXctZm9vdGVyXCI+XHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgIDxwPnt7ZmluYWxSZXNwb25zaWJpbGl0aWVzfX0gb3V0IG9mIHt7cmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5yZXBvcnRzPy5sZW5ndGh9fSByZXNwb25zaWJpbGl0aWVzIHdpbGwgYmVcclxuICAgICAgICAgICAgICAgICAgICB1cGxvYWRlZC48L3A+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgIDxwPnt7ZmluYWxSZXNwb25zaWJpbGl0aWVzfX0gb3V0IG9mIHt7cmVzcG9uc2liaWxpdHlNdWx0aVRhYkJ1bGtVcGxvYWQ/Lmxlbmd0aH19IHt7cmVzcG9uc2liaWxpdHlNdWx0aVRhYkJ1bGtVcGxvYWQ/Lmxlbmd0aCA+IDEgPyAncmVzcG9uc2liaWxpdGllcycgOiAncmVzcG9uc2liaWxpdHknfX0gd2lsbCBiZVxyXG4gICAgICAgICAgICAgICAgICAgIHVwbG9hZGVkLjwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3VibWl0KClcIiBbZGlzYWJsZWRdPVwiIWlzQ29uZmlybUNsaWNrYWJsZVwiIGNsYXNzPVwiYmx1ZVwiPkNvbmZpcm08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwhLS0gZmluYWxSZXNwb25zaWJpbGl0aWVzIDwgMSAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxhcHAtbG9hZGVyICAqbmdJZj1cImxvYWRlclwiPjwvYXBwLWxvYWRlcj5cclxuICAgIFxyXG48L25nLWNvbnRhaW5lcj5cclxuICAgIFxyXG4gICAgPCEtLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXVwd2FyZCBpcyBuZXcgb25lLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+Il19
|
|
829
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1yZXNwb25zaWJpbGl0eS12aWV3LmNvbXBvbmVudC5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2J1bGstcmVzcG9uc2liaWxpdHktdmlldy9idWxrLXJlc3BvbnNpYmlsaXR5LXZpZXcuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYnVsay1yZXNwb25zaWJpbGl0eS12aWV3L2J1bGstcmVzcG9uc2liaWxpdHktdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OzBFQ2dCd0Isa0dBQTZELEtBQVIsOEJBQUM7MEVBRjFELDZFQUdlLEtBSHFGLGtDQUVoRyxNQUFBLCtMQUE2RCw4REFBdkQsd0RBQTZCLEdBQW5DLFlBQTZELEVBQXZELFNBQTZCLDJCQUY2RCxpS0FFaEc7MEVBRUosNkVBUWUsS0FQWCxzR0FFTSxLQURGLCtHQUFrRCxLQUFkLHFDQUFRLE1BRWhELG1IQUdNLEtBRkYseUdBQXVDLEtBQVQsZ0NBQUcsTUFDakMseUdBQXlDLEtBQVgsa0NBQUs7MEVBRzNDLDZFQVFlLEtBUFgsc0dBRU0sS0FERiwrR0FBb0QsS0FBaEIsdUNBQVUsTUFFbEQsbUhBR00sS0FGRix5R0FBaUQsS0FBbkIsMENBQWEsTUFDM0MseUdBQXFELEtBQXZCLDhDQUFpQjswRUFyQjNELHlIQXdCTSxLQXRCRiwrTEFHZSxJQUNmLCtMQVFlLElBQ2YsK0xBUWUseUJBckJELGtJQUFxRixJQUFuRyxZQUdlLEVBSEQsU0FBcUYsR0FJckYsOEVBQTRDLElBQTFELFlBUWUsRUFSRCxTQUE0QyxHQVM1QyxvRkFBa0QsSUFBaEUsWUFRZSxFQVJELFNBQWtELDJCQWRoRSxtRkFBeUQsSUFEN0QsWUF3Qk0sRUF2QkYsU0FBeUQ7MEVBOEJ6RDs7Ozs7Ozs7Ozs7Ozs7O3VQQUVrRCxJQUFaLG1DQUFRLDJCQUQxQyx1REFBc0QsRUFBQyw4QkFBd0IsRUFBQyx1QkFBWSxFQUNsRixvQkFBdUIsRUFGckMsWUFFa0QsRUFEOUMsU0FBc0QsRUFBQyxTQUF3QixFQUFDLFNBQVksRUFDbEYsU0FBdUI7MEVBSXJDOzs7Ozs7Ozs7Ozs7Ozs7dVBBSUksSUFEd0Usb0NBQzVFLDJCQUZJLHVIQUFzSCxFQUN0SCw4QkFBd0IsRUFBQyx1QkFBWSxFQUFXLG9CQUF1QixFQUgzRSxZQUlJLEVBRkEsU0FBc0gsRUFDdEgsU0FBd0IsRUFBQyxTQUFZLEVBQVcsU0FBdUI7MkVBYTNFOzs7Ozs7Ozs7Ozs7Ozs7dVBBSUksSUFEd0Usb0NBQzVFLDJCQUZJLHVIQUFzSCxFQUN0SCw4QkFBd0IsRUFBQyx1QkFBWSxFQUFXLG9CQUF1QixFQUgzRSxZQUlJLEVBRkEsU0FBc0gsRUFDdEgsU0FBd0IsRUFBQyxTQUFZLEVBQVcsU0FBdUI7MkVBRzNFOzs7Ozs7Ozs7Ozs7Ozs7dVBBSUksSUFEd0Usb0NBQzVFLDJCQUZJLHVIQUFzSCxFQUN0SCw4QkFBd0IsRUFBQyx1QkFBWSxFQUFXLG9CQUF1QixFQUgzRSxZQUlJLEVBRkEsU0FBc0gsRUFDdEgsU0FBd0IsRUFBQyxTQUFZLEVBQVcsU0FBdUI7MkVBRTNFOzs7Ozs7Ozs7Ozs7Ozs7dVBBSUksSUFEb0Usb0NBQ3hFLDJCQUZBLGtGQUFpRixFQUNqRiw4QkFBd0IsRUFBQyx1QkFBWSxFQUFXLG9CQUF1QixFQUh2RSxZQUlJLEVBRkosU0FBaUYsRUFDakYsU0FBd0IsRUFBQyxTQUFZLEVBQVcsU0FBdUI7MkVBRzNFLGdJQUFxSSxLQUF4Qyw2TUFBa0M7MkVBRTNIOzs7Ozs7Ozs7Ozs7Ozs7dVBBQ29GLElBQVosbUNBQVEsMkJBRHBDLDZEQUE0RCxFQUN4Ryw4QkFBd0IsRUFBQyx1QkFBWSxFQUFXLG9CQUF1QixFQUR2RSxZQUNvRixFQUR4QyxTQUE0RCxFQUN4RyxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFLL0Q7Ozs7Ozs7Ozs7Ozs7Ozt1UEFDd0YsSUFBWixtQ0FBUSwyQkFEbkMsbUNBQWtDLEVBQy9FLDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBRDNFLFlBQ3dGLEVBRHZDLFNBQWtDLEVBQy9FLFNBQXdCLEVBQUMsU0FBWSxFQUFXLFNBQXVCOzJFQUMzRTs7Ozs7Ozs7Ozs7Ozs7O3VQQUN3RixJQUFaLG1DQUFRLDJCQUR4QyxxRUFBb0UsRUFDNUcsOEJBQXdCLEVBQUMsdUJBQVksRUFBVyxvQkFBdUIsRUFEM0UsWUFDd0YsRUFENUMsU0FBb0UsRUFDNUcsU0FBd0IsRUFBQyxTQUFZLEVBQVcsU0FBdUI7MkVBRzNFOzs7Ozs7Ozs7Ozs7Ozs7dVBBQ3dGLElBQVosbUNBQVEsMkJBRG5DLG1DQUFrQyxFQUMvRSw4QkFBd0IsRUFBQyx1QkFBWSxFQUFXLG9CQUF1QixFQUQzRSxZQUN3RixFQUR2QyxTQUFrQyxFQUMvRSxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFDM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFDd0YsSUFBWixtQ0FBUSwyQkFEeEMscUVBQW9FLEVBQzVHLDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBRDNFLFlBQ3dGLEVBRDVDLFNBQW9FLEVBQzVHLFNBQXdCLEVBQUMsU0FBWSxFQUFXLFNBQXVCOzJFQWFuRjs7Ozs7Ozs7Ozs7Ozs7O3VQQUlJLElBRHdFLG9DQUM1RSwyQkFGSSxzSEFBcUgsRUFDckgsOEJBQXdCLEVBQUMsdUJBQVksRUFBVyxvQkFBdUIsRUFIM0UsWUFJSSxFQUZBLFNBQXFILEVBQ3JILFNBQXdCLEVBQUMsU0FBWSxFQUFXLFNBQXVCOzJFQUczRTs7Ozs7Ozs7Ozs7Ozs7O3VQQUdJLElBRHdFLG9DQUM1RSwyQkFGSSx1SEFBc0gsRUFDdEgsOEJBQXdCLEVBQUMsdUJBQVksRUFBVyxvQkFBdUIsRUFGM0UsWUFHSSxFQUZBLFNBQXNILEVBQ3RILFNBQXdCLEVBQUMsU0FBWSxFQUFXLFNBQXVCOzJFQW1CbkU7Ozs7Ozs7Ozs7Ozs7Ozt1UEFJSSxJQUR3RSxvQ0FDNUUsMkJBRkksdUhBQXNILEVBQ3RILDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBSDNFLFlBSUksRUFGQSxTQUFzSCxFQUN0SCxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFHM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFHSSxJQUR3RSxvQ0FDNUUsMkJBRkksc0hBQXFILEVBQ3JILDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBRjNFLFlBR0ksRUFGQSxTQUFxSCxFQUNySCxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFFM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFJSSxJQUR3RSxvQ0FDNUUsMkJBRkkseVNBQStOLEdBQy9OLDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBSDNFLFlBSUksRUFGQSxTQUErTixFQUMvTixTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFPM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFJQSxJQUR3RSxvQ0FDNUUsMkJBRkksdUhBQXNILEVBQ3RILDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBSHZFLFlBSUEsRUFGQSxTQUFzSCxFQUN0SCxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFHM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFHSSxJQUR3RSxvQ0FDNUUsMkJBRkksc0hBQXFILEVBQ3JILDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBRjNFLFlBR0ksRUFGQSxTQUFxSCxFQUNySCxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFFM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFJSSxJQUR3RSxvQ0FDNUUsMkJBRkkseVNBQStOLEdBQy9OLDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBSDNFLFlBSUksRUFGQSxTQUErTixFQUMvTixTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjswRUFySXZGLHVHQStJTSxLQTlJRiwrSEFBaUYsS0FBYixnQ0FBTyxNQUUzRSx5SEFJTSxLQUptRSxpQ0FDckUsTUFBQSwrTEFFa0QsSUFFdEQseUhBYU0sS0FiMEosa0NBRTVKLE1BQUEsZ01BSUksSUFRUiwwSEFvQk0sS0FuQnFILG1DQUd2SCxNQUFBLGlNQUlJLElBRUosaU1BSUksSUFDSixpTUFJSSxJQUVSLGlNQUFxSSxJQUNySSwwSEFHTSxLQUgwRCxrQ0FDNUQsTUFBQSxpTUFDb0YsSUFFeEYsd0hBZU0sS0FkRix3R0FhTSxLQVpGLDBIQUtNLEtBTCtELGtDQUNqRSxNQUFBLGlNQUN3RixJQUN4RixpTUFDd0YsSUFFNUYsMEhBS00sS0FMK0Qsa0NBQ2pFLE1BQUEsaU1BQ3dGLElBQ3hGLGlNQUN3RixJQUlwRywwR0FBb0UsS0FBdEMsaUNBQWdDLE1BQzlELDBHQUEyRCxLQUE3QixpQ0FBdUIsTUFDckQsMEdBQTJELEtBQTdCLGlDQUF1QixNQUNyRCwwR0FBb0UsS0FBdEMsaUNBQWdDLE1BQzlELDBIQW9CTSxLQWxCNkMsbUNBRy9DLE1BQUEsaU1BSUksSUFFSixpTUFHSSxJQU9SLDBHQUF5RSxLQUEzQyxpQ0FBcUMsTUFDbkUsMEdBQXVFLEtBQXpDLGlDQUFtQyxNQUNqRSwwR0FBdUUsS0FBekMsaUNBQW1DLE1BQ2pFLDBHQUFxRCxLQUF2QixpQ0FBaUIsTUFDL0MsMEdBQXdFLEtBQTFDLGlDQUFvQyxNQUNsRSx3SEEyQ00sS0ExQ0Ysd0dBeUNNLEtBeENGLDBIQW1CTSxLQWpCMEQsbUNBRTVELE1BQUEsaU1BSUksSUFFSixpTUFHSSxJQUNKLGlNQUlJLElBRVIsMEhBbUJNLEtBakI2RCxtQ0FFL0QsTUFBQSxpTUFJQSxJQUVKLGlNQUdJLElBQ0osaU1BSUksSUFNWiwwR0FBaUUsS0FBbkMsaUNBQTZCLE1BQzNELDBHQUF5RCxLQUEzQixpQ0FBcUIsbURBekk1Qyw0REFBbUMsd0NBQXRDLFlBRWtELEVBRi9DLFNBQW1DLEdBTW5DLHVYQUF1SCxpQ0FBMUgsYUFJSSxFQUpELFNBQXVILEdBZ0J2SCx3WEFBdUgsaUNBQTFILGFBSUksRUFKRCxVQUF1SCxHQU12SCxvTkFBc0UsZ0NBQXpFLGFBSUksRUFKRCxVQUFzRSxHQUt0RSwwSUFBcUQsa0NBQXhELGFBSUksRUFKRCxVQUFxRCxHQU1iLGdIQUE2QyxHQUE1RixhQUFxSSxFQUF0RixVQUE2QyxHQUVyRiw2REFBMEIsK0JBQTdCLGFBQ29GLEVBRGpGLFVBQTBCLEdBTWxCLDZEQUErQixvQ0FBbEMsYUFDd0YsRUFEckYsVUFBK0IsR0FFL0IsNERBQTBCLGdDQUE3QixhQUN3RixFQURyRixVQUEwQixHQUkxQiw2REFBK0Isb0NBQWxDLGFBQ3dGLEVBRHJGLFVBQStCLEdBRS9CLDREQUEwQixnQ0FBN0IsYUFDd0YsRUFEckYsVUFBMEIsR0FjbEMsaVhBQTJILHdDQUE5SCxhQUlJLEVBSkQsVUFBMkgsR0FNM0gsb05BQWtFLGdDQUFyRSxhQUdJLEVBSEQsVUFBa0UsR0FxQjFELHdOQUE4RSxvQ0FBakYsYUFJSSxFQUpELFVBQThFLEdBTTlFLDROQUEwRSxnQ0FBN0UsYUFHSSxFQUhELFVBQTBFLEdBSTFFLDZqQkFBOEwsa0JBQWpNLGFBSUksRUFKRCxVQUE4TCxHQVU5TCwyTkFBb0YsdUNBQXZGLGFBSUEsRUFKRyxVQUFvRixHQU14RixrT0FBZ0YsZ0NBQW5GLGFBR0ksRUFIRCxVQUFnRixHQUloRix5a0JBQTBNLGtCQUE3TSxhQUlJLEVBSkQsVUFBME0sbURBaklqTCxtQkFBK0IsNEJBQW5FLFlBQWlGLEVBQTdDLFNBQStCLEdBQUMsK0RBQU8sR0FFN0MsbUJBQTBDLHVDQUF4RSxZQUlNLEVBSndCLFNBQTBDLEdBQUMsMEhBQ3JFLEdBSTBCLGdYQUFpSSx3Q0FBL0osWUFhTSxFQWJ3QixTQUFpSSxHQUFDLGdIQUU1SixHQVkwQixrbUJBQzRGLGtDQUQxSCxhQW9CTSxFQXBCd0IsU0FDNEYsR0FBQyxpSEFHdkgsR0FrQjBCLG9CQUFpQyw4QkFBL0QsYUFHTSxFQUh3QixVQUFpQyxHQUFDLG9IQUM1RCxHQUtrQyxvQkFBc0MsbUNBQXBFLGFBS00sRUFMd0IsVUFBc0MsR0FBQyw4R0FDakUsR0FLMEIsb0JBQXNDLG1DQUFwRSxhQUtNLEVBTHdCLFVBQXNDLEdBQUMsZ0hBQ2pFLEdBT2tCLCtIQUFnQyxHQUNoQyxzSEFBdUIsR0FDdkIsc0hBQXVCLEdBQ3ZCLCtIQUFnQyxHQUUxRCxraEJBQzhDLGlDQUZsRCxhQW9CTSxFQW5CRixVQUM4QyxHQUFDLG1IQUcvQyxHQWdCMEIsb0lBQXFDLEdBQ3JDLGtJQUFtQyxHQUNuQyxrSUFBbUMsR0FDbkMsZ0hBQWlCLEdBQ2pCLG1JQUFvQyxHQUc1QiwwdEJBRWlDLG1CQUYvRCxhQW1CTSxFQW5Cd0IsVUFFaUMsR0FBQyx1SEFFNUQsR0FnQjBCLHl1QkFFb0MsbUJBRmxFLGFBbUJNLEVBbkJ3QixVQUVvQyxHQUFDLDBIQUUvRCxHQW9Ca0IsNEhBQTZCLEdBQzdCLG9IQUFxQjsyRUFnQm5FLHdPQUF5QzswRUFuTXpDLDhFQXFNZSxLQXBNZixtR0FpTU0sS0FoTUYsdUdBSU0sS0FIRix1R0FFSyxLQUZ1QixrQ0FFNUIsTUFFSix1R0FnTE0sS0EvS0Ysa0dBOEtNLEtBN0tGLDJHQTRCTSxLQTNCRiwrR0FBMkMsS0FBUCw4QkFBQyxNQUNyQyw4TkF3Qk0sSUFHViw4TkErSU0sSUFHZCwwR0FTTSxLQVJGLDhGQUdNLEtBRkYsMkVBQ2lCLEtBRGQsZ0ZBQ1UsTUFFakIsK0ZBR00sS0FGRiw4SkFBZ0UsWUFBeEQ7O3dCQUFpQjtNQUF6Qix3QkFBZ0UsS0FBZixtQ0FBTSxNQUN2RCxrTUFBb0gsWUFBNUc7O3dCQUFrQjtNQUExQix3QkFBb0gsS0FBaEIsb0NBQU8sTUFJdkgsaU1BQXlDLHNGQXhMSyxvRUFBd0QsbUNBQXRGLGFBd0JNLEVBeEJ3QixTQUF3RCxHQTJCL0Qsb0VBQXVFLG9DQUFsRyxhQStJTSxFQS9JcUIsU0FBdUUsR0E2SmpHLG1CQUFjLFNBQTNCLGFBQXlDLEVBQTVCLFNBQWMsbURBaE1TLHFEQUU1QixHQXFMTyx1UEFDVSxHQUlxQyw4Q0FBb0MsR0FBdEYsYUFBb0gsRUFBbEUsU0FBb0M7MkVBU2xHLHdPQUF5QzsyRUFvQnJCLGlJQVNNLEtBUkYsc0dBRU0sS0FERiwrR0FBaUQsS0FBYixvQ0FBTyxNQUUvQywwSUFJTSxLQUhGLHlHQUFnRCxLQUFsQix5Q0FBWSxNQUMxQyx5R0FBMkMsS0FBYixvQ0FBTyxNQUNyQyx5R0FBb0QsS0FBdEIsNkNBQWdCLGlDQVBxQyxvQkFBMkIsRUFBdEgsWUFTTSxFQVRxRixTQUEyQixHQUkxRSxvQkFBMkIsRUFBbkUsWUFJTSxFQUprQyxTQUEyQjsyRUF1Qi9ELDhFQU1lLEtBTFgseUdBQTZFLEtBQS9DLHVDQUFVLE1BQUEsa0dBQStCLEtBQVIsOEJBQUMsTUFDaEUseUdBQWlGLEtBQW5ELHNDQUFTLE1BQUEsbUdBQW9DLEtBQVosa0NBQUssTUFDcEUseUdBQW1GLEtBQXJELHNDQUFTLE1BQUEsb0dBQXNDLEtBQWQsb0NBQU8sTUFDdEUsMEdBQTBHLEtBQTVFLG1DQUFNLE1BQUEsb0dBQWdFLEtBQXhDLDhEQUFpQyxNQUM3RiwwR0FBbVcsS0FBclUsa0NBQUssTUFBQTs7Ozs7Ozs7Ozs7Ozs7O3dQQUEwVCxJQUEzRyxtSUFBb0csMkJBQTNSLHNIQUFpSCxFQUFDLHdCQUFrQixFQUFXLHVCQUFZLEVBQUMscUJBQTBCLEVBQTlNLGFBQTBULEVBQWxTLFNBQWlILEVBQUMsU0FBa0IsRUFBVyxTQUFZLEVBQUMsU0FBMEI7MkVBRXJQLDZFQUllLEtBSFgseUdBQXFGLEtBQXZELCtDQUFrQixNQUFBLGtHQUErQixLQUFSLDhCQUFDLE1BQ3hFLHlHQUFtRCxLQUFyQiw0Q0FBZSxNQUM3Qyx5R0FBeUQsS0FBM0Isa0RBQXFCOzJFQUV2RCw4RUFNZSxLQUxYLHlHQUE4RixLQUFoRSx3REFBMkIsTUFBQSxrR0FBK0IsS0FBUiw4QkFBQyxNQUNqRix5R0FBNkYsS0FBL0Qsa0RBQXFCLE1BQUEsbUdBQW9DLEtBQVosa0NBQUssTUFDaEYseUdBQXFSLEtBQXZQLHNDQUFTLE1BQUE7Ozs7Ozs7Ozs7Ozs7Ozt3UEFBd08sSUFBbEUsd0ZBQTJELE1BQ3hRLDBHQUE4TixLQUFoTSxtQ0FBTSxNQUFBOzs7Ozs7Ozs7Ozs7Ozs7d1BBQW9MLElBQXhDLDhEQUFpQyxNQUNqTiwwR0FBbVcsS0FBclUsa0NBQUssTUFBQTs7Ozs7Ozs7Ozs7Ozs7O3dQQUEwVCxJQUEzRyxtSUFBb0csMkJBRnZSLDZFQUF3RSxFQUFDLHdCQUFrQixFQUFXLHVCQUFZLEVBQUMscUJBQTBCLEVBQXJLLGFBQXdPLEVBQWhOLFNBQXdFLEVBQUMsU0FBa0IsRUFBVyxTQUFZLEVBQUMsU0FBMEIsR0FDaEosbURBQThDLEVBQUMsd0JBQWtCLEVBQVcsdUJBQVksRUFBQyxxQkFBMEIsRUFBM0ksYUFBb0wsRUFBNUosU0FBOEMsRUFBQyxTQUFrQixFQUFXLFNBQVksRUFBQyxTQUEwQixHQUNwSCxzSEFBaUgsRUFBQyx3QkFBa0IsRUFBVyx3QkFBWSxFQUFDLHNCQUEwQixFQUE5TSxhQUEwVCxFQUFsUyxTQUFpSCxFQUFDLFNBQWtCLEVBQVcsVUFBWSxFQUFDLFVBQTBCOzJFQTJDcko7Ozs7Ozs7Ozs7Ozs7Ozt1UEFBZ00sSUFBWixtQ0FBUSwyQkFBeEksdURBQXNELEVBQUUsOEJBQXdCLEVBQUMsdUJBQVksRUFBVyxvQkFBdUIsRUFBbkwsWUFBZ00sRUFBNUksU0FBc0QsRUFBRSxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFDM1IsaUtBTU0sS0FMRiwwSUFJTSxLQUhGLHlHQUEyRCxLQUE3QixnQ0FBdUIsTUFDckQseUdBQXVELEtBQXpCLGdDQUFtQixNQUNqRCx5R0FBK0QsS0FBakMsZ0NBQTJCLGlDQUp1QyxxQkFBcUIsRUFBQyxvQkFBMkIsRUFBekosWUFNTSxFQU5rRyxTQUFxQixFQUFDLFNBQTJCLEdBQzdHLG9CQUEyQixFQUFuRSxZQUlNLEVBSmtDLFNBQTJCLEdBQ2pDLGlJQUF1QixHQUN2Qiw2SEFBbUIsR0FDbkIscUlBQTJCOzJFQUk3RDs7Ozs7Ozs7Ozs7Ozs7O3VQQUlJLElBRHdFLG9DQUM1RSwyQkFGSSx1SEFBc0gsRUFDdEgsOEJBQXdCLEVBQUMsdUJBQVksRUFBVyxvQkFBdUIsRUFIM0UsWUFJSSxFQUZBLFNBQXNILEVBQ3RILFNBQXdCLEVBQUMsU0FBWSxFQUFXLFNBQXVCOzJFQVluRTs7Ozs7Ozs7Ozs7Ozs7O3VQQUlJLElBRHdFLG9DQUM1RSwyQkFGSSx1SEFBc0gsRUFDdEgsOEJBQXdCLEVBQUMsdUJBQVksRUFBVyxvQkFBdUIsRUFIM0UsWUFJSSxFQUZBLFNBQXNILEVBQ3RILFNBQXdCLEVBQUMsU0FBWSxFQUFXLFNBQXVCOzJFQUUzRTs7Ozs7Ozs7Ozs7Ozs7O3VQQUlJLElBRHdFLG9DQUM1RSwyQkFGSSx1SEFBc0gsRUFDdEgsOEJBQXdCLEVBQUMsdUJBQVksRUFBVyxvQkFBdUIsRUFIM0UsWUFJSSxFQUZBLFNBQXNILEVBQ3RILFNBQXdCLEVBQUMsU0FBWSxFQUFXLFNBQXVCOzJFQUUzRTs7Ozs7Ozs7Ozs7Ozs7O3VQQUlJLElBRHdFLG9DQUM1RSwyQkFGSSxrRkFBaUYsRUFDakYsOEJBQXdCLEVBQUMsdUJBQVksRUFBVyxvQkFBdUIsRUFIM0UsWUFJSSxFQUZBLFNBQWlGLEVBQ2pGLFNBQXdCLEVBQUMsU0FBWSxFQUFXLFNBQXVCOzJFQUUzRTs7Ozs7Ozs7Ozs7Ozs7O3VQQUlJLElBRHdFLG9DQUM1RSwyQkFGSSx3RUFBdUUsRUFDdkUsOEJBQXdCLEVBQUMsdUJBQVksRUFBVyxvQkFBdUIsRUFIM0UsWUFJSSxFQUZBLFNBQXVFLEVBQ3ZFLFNBQXdCLEVBQUMsU0FBWSxFQUFXLFNBQXVCOzJFQVd2RTs7Ozs7Ozs7Ozs7Ozs7O3VQQUNvRixJQUFaLG1DQUFRLDJCQURwQyw2REFBNEQsRUFDeEcsOEJBQXdCLEVBQUMsdUJBQVksRUFBVyxvQkFBdUIsRUFEdkUsWUFDb0YsRUFEeEMsU0FBNEQsRUFDeEcsU0FBd0IsRUFBQyxTQUFZLEVBQVcsU0FBdUI7MkVBR3ZFOzs7Ozs7Ozs7Ozs7Ozs7dVBBQ3dGLElBQVosbUNBQVEsMkJBRHhDLG1DQUFrQyxFQUMxRSw4QkFBd0IsRUFBQyx1QkFBWSxFQUFXLG9CQUF1QixFQUQzRSxZQUN3RixFQUQ1QyxTQUFrQyxFQUMxRSxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFDM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFDd0YsSUFBWixtQ0FBUSwyQkFEeEMscUVBQW9FLEVBQzVHLDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBRDNFLFlBQ3dGLEVBRDVDLFNBQW9FLEVBQzVHLFNBQXdCLEVBQUMsU0FBWSxFQUFXLFNBQXVCOzJFQUczRTs7Ozs7Ozs7Ozs7Ozs7O3VQQUN3RixJQUFaLG1DQUFRLDJCQUR4QyxtQ0FBa0MsRUFDMUUsOEJBQXdCLEVBQUMsdUJBQVksRUFBVyxvQkFBdUIsRUFEM0UsWUFDd0YsRUFENUMsU0FBa0MsRUFDMUUsU0FBd0IsRUFBQyxTQUFZLEVBQVcsU0FBdUI7MkVBQzNFOzs7Ozs7Ozs7Ozs7Ozs7dVBBQ3dGLElBQVosbUNBQVEsMkJBRHhDLHFFQUFvRSxFQUM1Ryw4QkFBd0IsRUFBQyx1QkFBWSxFQUFXLG9CQUF1QixFQUQzRSxZQUN3RixFQUQ1QyxTQUFvRSxFQUM1RyxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFoQnZGLDhFQXFCZSxLQXBCWCwwSUFtQk0sS0FsQkYseUhBR00sS0FIMkQsaUNBQzdELE1BQUEsZ01BQ29GLElBRXhGLHlIQUtNLEtBTGlGLGlDQUNuRixNQUFBLGdNQUN3RixJQUN4RixpTUFDd0YsSUFFNUYsMEhBS00sS0FMaUYsa0NBQ25GLE1BQUEsaU1BQ3dGLElBQ3hGLGlNQUN3RixJQUU1RiwwR0FBb0UsS0FBdEMsaUNBQWdDLE1BQzlELDBHQUEyRCxLQUE3QixpQ0FBdUIsMkJBaEI5QyxtRUFBMEIsc0NBQTdCLFlBQ29GLEVBRGpGLFNBQTBCLEdBSTFCLG1FQUEwQixzQ0FBN0IsWUFDd0YsRUFEckYsU0FBMEIsR0FFMUIsa0VBQTBCLHVDQUE3QixhQUN3RixFQURyRixTQUEwQixHQUkxQixvRUFBMEIsc0NBQTdCLGFBQ3dGLEVBRHJGLFVBQTBCLEdBRTFCLG1FQUEwQix1Q0FBN0IsYUFDd0YsRUFEckYsVUFBMEIsMkJBZEcsb0JBQTBCLEVBQWxFLFlBbUJNLEVBbkJrQyxTQUEwQixHQUNoQyxtRUFBa0Msc0NBQWhFLFlBR00sRUFId0IsU0FBa0MsR0FBQywrSEFDN0QsR0FHMEIsOEpBQXdELHdDQUF0RixZQUtNLEVBTHdCLFNBQXdELEdBQUMseUhBQ25GLEdBSzBCLDhKQUF3RCx3Q0FBdEYsYUFLTSxFQUx3QixTQUF3RCxHQUFDLDRIQUNuRixHQUswQiw2SUFBZ0MsR0FDaEMsb0lBQXVCOzJFQU1qRDs7Ozs7Ozs7Ozs7Ozs7O3VQQUNvRixJQUFaLG1DQUFRLDJCQURwQyw2REFBNEQsRUFDeEcsOEJBQXdCLEVBQUMsdUJBQVksRUFBVyxvQkFBdUIsRUFEdkUsWUFDb0YsRUFEeEMsU0FBNEQsRUFDeEcsU0FBd0IsRUFBQyxTQUFZLEVBQVcsU0FBdUI7MkVBSm5GLDZFQVNlLEtBUlgsMElBT00sS0FORix5SEFHTSxLQUgyRCxpQ0FDN0QsTUFBQSxnTUFDb0YsSUFFeEYseUdBQTJELEtBQTdCLGdDQUF1QixNQUNyRCx5R0FBaUUsS0FBbkMsZ0NBQTZCLDJCQUpwRCxtRUFBMEIsc0NBQTdCLFlBQ29GLEVBRGpGLFNBQTBCLDJCQUZHLG9CQUEyQixFQUFuRSxZQU9NLEVBUGtDLFNBQTJCLEdBQ2pDLG1FQUFrQyxzQ0FBaEUsWUFHTSxFQUh3QixTQUFrQyxHQUFDLCtIQUM3RCxHQUcwQixpSUFBdUIsR0FDdkIsdUlBQTZCOzJFQU12RDs7Ozs7Ozs7Ozs7Ozs7O3VQQUNvRixJQUFaLG1DQUFRLDJCQURwQyw2REFBNEQsRUFDeEcsOEJBQXdCLEVBQUMsdUJBQVksRUFBVyxvQkFBdUIsRUFEdkUsWUFDb0YsRUFEeEMsU0FBNEQsRUFDeEcsU0FBd0IsRUFBQyxTQUFZLEVBQVcsU0FBdUI7MkVBR3ZFOzs7Ozs7Ozs7Ozs7Ozs7dVBBQ29GLElBQVosbUNBQVEsMkJBRHpCLDRHQUEyRyxFQUNsSyw4QkFBd0IsRUFBQyx1QkFBWSxFQUFXLG9CQUF1QixFQUR2RSxZQUNvRixFQUQ3QixTQUEyRyxFQUNsSyxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFSbkYsOEVBY2UsS0FiWCwwSUFZTSxLQVhGLHlIQUdNLEtBSDJELGlDQUM3RCxNQUFBLGdNQUNvRixJQUV4Rix5SEFHTSxLQUhzRSxpQ0FDeEUsTUFBQSxnTUFDb0YsSUFFeEYsMEdBQXVELEtBQXpCLGlDQUFtQixNQUNqRCwwR0FBb0UsS0FBdEMsaUNBQWdDLE1BQzlELDBHQUEyRCxLQUE3QixpQ0FBdUIsMkJBVDlDLG1FQUEwQixzQ0FBN0IsWUFDb0YsRUFEakYsU0FBMEIsR0FJMUIsbUVBQXFDLGlEQUF4QyxZQUNvRixFQURqRixTQUFxQywyQkFOUixvQkFBMEIsRUFBbEUsWUFZTSxFQVprQyxTQUEwQixHQUNoQyxtRUFBa0Msc0NBQWhFLFlBR00sRUFId0IsU0FBa0MsR0FBQywrSEFDN0QsR0FHMEIsbUVBQTZDLGlEQUEzRSxZQUdNLEVBSHdCLFNBQTZDLEdBQUMsMElBQ3hFLEdBRzBCLDhIQUFtQixHQUNuQiwySUFBZ0MsR0FDaEMsa0lBQXVCOzJFQXdCN0Q7Ozs7Ozs7Ozs7Ozs7Ozt1UEFJSSxJQUR3RSxvQ0FDNUUsMkJBRkksc0hBQXFILEVBQ3JILDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBSDNFLFlBSUksRUFGQSxTQUFxSCxFQUNySCxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFHM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFHSSxJQUR3RSxvQ0FDNUUsMkJBRkksdUhBQXNILEVBQ3RILDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBRjNFLFlBR0ksRUFGQSxTQUFzSCxFQUN0SCxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFPM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFJSSxJQUR3RSxvQ0FDNUUsMkJBRkksd0VBQXVFLEVBQ3ZFLDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBSDNFLFlBSUksRUFGQSxTQUF1RSxFQUN2RSxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFhbkU7Ozs7Ozs7Ozs7Ozs7Ozt1UEFJSSxJQURvRSxvQ0FDeEUsMkJBRkEsdUhBQXNILEVBQ3RILDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBSHZFLFlBSUksRUFGSixTQUFzSCxFQUN0SCxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFHdkU7Ozs7Ozs7Ozs7Ozs7Ozt1UEFHSSxJQUR3RSxvQ0FDNUUsMkJBRkksc0hBQXFILEVBQ3JILDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBRjNFLFlBR0ksRUFGQSxTQUFxSCxFQUNySCxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFFM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFJSSxJQUR3RSxvQ0FDNUUsMkJBRkkseVNBQStOLEdBQy9OLDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBSDNFLFlBSUksRUFGQSxTQUErTixFQUMvTixTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFFM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFJSSxJQUR3RSxvQ0FDNUUsMkJBRkksd0VBQXVFLEVBQ3ZFLDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBSDNFLFlBSUksRUFGQSxTQUF1RSxFQUN2RSxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFNM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFJSSxJQUR3RSxvQ0FDNUUsMkJBRkksdUhBQXNILEVBQ3RILDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBSDNFLFlBSUksRUFGQSxTQUFzSCxFQUN0SCxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFHM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFHSSxJQUR3RSxvQ0FDNUUsMkJBRkksc0hBQXFILEVBQ3JILDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBRjNFLFlBR0ksRUFGQSxTQUFxSCxFQUNySCxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFFM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFJSSxJQUR3RSxvQ0FDNUUsMkJBRkkseVNBQStOLEdBQy9OLDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBSDNFLFlBSUksRUFGQSxTQUErTixFQUMvTixTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFFM0U7Ozs7Ozs7Ozs7Ozs7Ozt1UEFJSSxJQUR3RSxvQ0FDNUUsMkJBRkksd0VBQXVFLEVBQ3ZFLDhCQUF3QixFQUFDLHVCQUFZLEVBQVcsb0JBQXVCLEVBSDNFLFlBSUksRUFGQSxTQUF1RSxFQUN2RSxTQUF3QixFQUFDLFNBQVksRUFBVyxTQUF1QjsyRUFqTTNGLHVHQThOTSxLQTdORiwrSEFBa0YsS0FBYixnQ0FBTyxNQUM1RSx5SEFBOFMsS0FBck8saUNBQStCLE1BQUEsZ01BQWdNLElBQ3hTLGdNQU1NLElBQ04seUhBV00sS0FYa0osa0NBQ3BKLE1BQUEsaU1BSUksSUFPUiw2SUEyQk0sS0ExQkYsMElBeUJNLEtBeEJGLDBIQXNCTSxLQXRCMk4sa0NBQzdOLE1BQ0EsaU1BSUksSUFDSixpTUFJSSxJQUNKLGlNQUlJLElBQ0osaU1BSUksSUFFUiwwR0FBNEQsS0FBOUIsaUNBQXdCLE1BRzlELDBHQUFpRSxLQUFuQyxpQ0FBNkIsTUFDM0Qsd0tBZ0RNLEtBL0NGLGlNQXFCZSxJQUNmLGlNQVNlLElBQ2YsaU1BY2UsSUFFbkIsMEdBQW9FLEtBQXRDLGlDQUFnQyxNQUM5RCwwR0FBMkQsS0FBN0IsaUNBQXVCLE1BQ3JELDBHQUF5RCxLQUEzQixpQ0FBcUIsTUFDbkQsMEdBQXFELEtBQXZCLGlDQUFpQixNQUMvQyw0SUFVTSxLQVRGLHlJQVFNLEtBUEYsdUhBS00sS0FKRixvSEFHTSxLQUZGLGlJQUFvRixLQUExQixpQ0FBb0IsTUFDOUUsMEdBQXVFLEtBQXpDLGlDQUFtQyxNQUd6RSxpSUFBb0csS0FBMUMsaUNBQW9DLE1BSXRHLCtJQTRCTSxLQTNCRiw0SUEwQk0sS0F6QkYsMEhBc0JNLEtBckI2RixrQ0FDdkcsTUFBQSxpTUFJSSxJQUVKLGlNQUdJLElBTUosaU1BSUksSUFFQSwwR0FBeUUsS0FBM0MsaUNBQXFDLE1BQ25FLDBHQUF1RSxLQUF6QyxpQ0FBbUMsTUFJekUsNklBbURNLEtBbERGLDBJQWlETSxLQWhERiwwSEF1Qk0sS0F0QndJLG1DQUUxSSxNQUFBLGlNQUlJLElBRUosaU1BR0ksSUFDSixpTUFJSSxJQUNKLGlNQUlJLElBRVIsMEhBdUJNLEtBdEJpVCxtQ0FFblQsTUFBQSxpTUFJSSxJQUVKLGlNQUdJLElBQ0osaU1BSUksSUFDSixpTUFJSSxpREFoTTJGLG1CQUFrQyx1Q0FBckMsWUFBZ00sRUFBN0wsU0FBa0MsR0FDbEcsdUhBQTRELElBQXZHLFlBTU0sRUFOcUMsU0FBNEQsR0FRaEcsbVhBQXFILGlDQUF4SCxhQUlJLEVBSkQsU0FBcUgsR0FlN0csb05BQXNFLGdDQUF6RSxhQUlJLEVBSkQsVUFBc0UsR0FLdEUsb05BQXNFLGdDQUF6RSxhQUlJLEVBSkQsVUFBc0UsR0FLdEUsMElBQXFELGtDQUF4RCxhQUlJLEVBSkQsVUFBcUQsR0FLckQsME1BQStFLCtEQUFsRixhQUlJLEVBSkQsVUFBK0UsR0FXNUUsNkNBQStCLEdBQTdDLGFBcUJlLEVBckJELFVBQStCLEdBc0IvQiwyQ0FBNkIsR0FBM0MsYUFTZSxFQVRELFVBQTZCLEdBVTdCLGdEQUFrQyxHQUFoRCxhQWNlLEVBZEQsVUFBa0MsR0FvQzdDLHFOQUF1RSxnQ0FBMUUsYUFJSSxFQUpELFVBQXVFLEdBTXZFLHFOQUFtRSxnQ0FBdEUsYUFHSSxFQUhELFVBQW1FLEdBU25FLDBNQUE2RSwrREFBaEYsYUFJSSxFQUpELFVBQTZFLEdBZ0JyRSxxTkFBdUUsZ0NBQTFFLGFBSUksRUFKRCxVQUF1RSxHQU12RSxxTkFBbUUsZ0NBQXRFLGFBR0ksRUFIRCxVQUFtRSxHQUluRSw2aUJBQThLLGtCQUFqTCxhQUlJLEVBSkQsVUFBOEssR0FLOUssME1BQStFLCtEQUFsRixhQUlJLEVBSkQsVUFBK0UsR0FTL0UsNE5BQXFGLHVDQUF4RixhQUlJLEVBSkQsVUFBcUYsR0FNckYsbU9BQWlGLGdDQUFwRixhQUdJLEVBSEQsVUFBaUYsR0FJakYseWtCQUEwTSxrQkFBN00sYUFJSSxFQUpELFVBQTBNLEdBSzFNLGlOQUE2RixzRUFBaEcsYUFJSSxFQUpELFVBQTZGLG1EQTdMeEUsNERBQWdDLDZCQUFwRSxZQUFrRixFQUE5QyxTQUFnQyxHQUFDLCtEQUFPLEdBQzlDLG1CQUEwQyx1Q0FBeEUsWUFBOFMsRUFBaFIsU0FBMEMsR0FBQywwSEFBK0IsR0FRMUUsbVhBQXlILGlDQUF2SixZQVdNLEVBWHdCLFNBQXlILEdBQUMsaUhBQ3BKLEdBV3VDLG9CQUF5QixFQUFwRSxhQTJCTSxFQTNCcUMsU0FBeUIsR0FDeEIscUJBQXlCLEVBQWpFLGFBeUJNLEVBekJrQyxVQUF5QixHQUMvQiw4bUJBQWtNLGtDQUFoTyxhQXNCTSxFQXRCd0IsVUFBa00sR0FBQyxtSEFDN04sR0FzQjBCLHVIQUF3QixHQUdoQyw0SEFBNkIsR0FDaEIsa0ZBQTJFLElBQUMsMkNBQTRDLEdBQW5LLGFBZ0RNLEVBaERxQyxVQUEyRSxFQUFDLFVBQTRDLEdBaURySSwrSEFBZ0MsR0FDaEMsc0hBQXVCLEdBQ3ZCLG9IQUFxQixHQUNyQixnSEFBaUIsR0FDSixxQkFBeUIsRUFBcEUsYUFVTSxFQVZxQyxVQUF5QixHQUN4QixxQkFBeUIsRUFBakUsYUFRTSxFQVJrQyxVQUF5QixHQUd2QixxQkFBMkIsRUFBekQsYUFBb0YsRUFBdEQsVUFBMkIsR0FBQyxtSEFBb0IsR0FDaEQsa0lBQW1DLEdBRzNDLHFCQUEyQixFQUF6RCxhQUFvRyxFQUF0RSxVQUEyQixHQUFDLG1JQUFvQyxHQUkzRCxxQkFBMkIsRUFBdEUsYUE0Qk0sRUE1QnFDLFVBQTJCLEdBQzFCLHFCQUEyQixFQUFuRSxhQTBCTSxFQTFCa0MsVUFBMkIsR0FDakMsK2ZBQ29FLGdFQURsRyxhQXNCTSxFQXRCd0IsVUFDb0UsR0FBQyxtSEFDdkcsR0FxQmtDLG9JQUFxQyxHQUNyQyxrSUFBbUMsR0FJOUIscUJBQXlCLEVBQXBFLGFBbURNLEVBbkRxQyxVQUF5QixHQUN4QixxQkFBeUIsRUFBakUsYUFpRE0sRUFqRGtDLFVBQXlCLEdBQy9CLDBwQkFDK0csZ0VBRDdJLGFBdUJNLEVBdkJ3QixVQUMrRyxHQUFDLG1IQUUxSSxHQXFCMEIsa21DQUN3Uix1RUFEdFQsYUF1Qk0sRUF2QndCLFVBQ3dSLEdBQUMsMEhBRW5UOzJFQTREcEIsb0pBQTJLLFlBQTNFOzt3QkFBdUM7TUFBdkksd0JBQTJLLEtBQW5DLHVEQUEwQix5REFBM0csNENBQXdDLEdBQS9GLFlBQTJLLEVBQXBILFNBQXdDOzJFQUMvRixvSkFBbUssWUFBdkU7O3dCQUFxQztNQUFqSSx3QkFBbUssS0FBakMscURBQXdCLHlEQUFyRywwQ0FBc0MsR0FBM0YsWUFBbUssRUFBOUcsU0FBc0M7MkVBQzNGLG9KQUF3TCxZQUFsRjs7d0JBQTBDO01BQWhKLHdCQUF3TCxLQUF2QywyREFBOEIseURBQXJILCtDQUEyQyxHQUFyRyxZQUF3TCxFQUE5SCxTQUEyQzsyRUFrQjdHLHdPQUF5QzsyRUFoVzdDLCtFQWtXZSxLQWpXWCxvR0E4Vk0sS0E3VkYsdUdBSU0sS0FIRix1R0FFSyxLQUZ1QixrQ0FFNUIsTUFFSiw2R0FtVU0sS0FsVUYsbUdBaVVNLEtBaFVGLDRHQXVGTSxLQXRGRiwrR0FBMkMsS0FBUCw4QkFBQyxNQUNyQywwR0FBdUYsS0FBekQsaURBQW9CLE1BQUEsbUdBQStCLEtBQVIsOEJBQUMsTUFDMUUsaU1BU00sSUFDTiwwR0FBZ0QsS0FBbEIseUNBQVksTUFDMUMsZ0lBUU0sS0FQRix1R0FFTSxLQURGLGdIQUFvRixLQUFoRCx3Q0FBVyxNQUFBLG1HQUErQixLQUFSLDhCQUFDLE1BRTNFLHlJQUdNLEtBRkYsMEdBQWtGLEtBQXBELDRDQUFlLE1BQUEsbUdBQStCLEtBQVIsOEJBQUMsTUFDckUsMEdBQXNELEtBQXhCLCtDQUFrQixNQUd4RCwwR0FBdUQsS0FBekIsZ0RBQW1CLE1BQ2pELDRKQTBCTSxLQXpCRix1R0FHTSxLQURGLGdIQUF5TyxLQUFyTSxpQ0FBZ0ssTUFBQSxtR0FBK0IsS0FBUiw4QkFBQyxNQUVoTyxxS0FvQk0sS0FuQkYsaU1BTWUsSUFDZixpTUFJZSxJQUNmLGlNQU1lLElBR3ZCLDBHQUF5RCxLQUEzQixrREFBcUIsTUFDbkQsMEdBQThDLEtBQWhCLHVDQUFVLE1BQ3hDLDBHQUE2QyxLQUFmLHNDQUFTLE1BQ3ZDLDBHQUF5QyxLQUFYLGtDQUFLLE1BQ25DLGdJQVNNLEtBUkYsdUdBRU0sS0FERixnSEFBMkQsS0FBdkIsOENBQWlCLE1BRXpELG9LQUlNLEtBSEYsaUlBQXNFLEtBQVosbUNBQU0sTUFDaEUsMEdBQW9FLEtBQXRDLDZEQUFnQyxNQUM5RCxpSUFBd0UsS0FBZCxxQ0FBUSxNQUkxRSxrSUFTTSxLQVJGLHVHQUVNLEtBREYsZ0hBQWtFLEtBQTlCLHFEQUF3QixNQUVoRSw0SUFJTSxLQUhGLDBHQUE0QyxLQUFkLHFDQUFRLE1BQ3RDLDBHQUFpSCxLQUFuRiwwQ0FBYSxNQUFBLG9HQUFnRSxLQUF4Qyw4REFBaUMsTUFDcEcsMEdBQXdXLEtBQTFVLHlDQUFZLE1BQUE7Ozs7Ozs7Ozs7Ozs7Ozt3UEFBd1QsSUFBMUcsa0lBQW1HLE1BR25XLCtIQVFNLEtBUEYsdUdBRU0sS0FERixnSEFBa0QsS0FBZCxxQ0FBUSxNQUVoRCx5SUFHTSxLQUZGLDBHQUFpRCxLQUFuQiwwQ0FBYSxNQUMzQywwR0FBcUQsS0FBdkIsOENBQWlCLE1BTTNELCtOQThOTSxJQVlkLDBHQUlNLEtBSEYsaU1BQTJLLElBQzNLLGlNQUFtSyxJQUNuSyxpTUFBd0wsSUFFNUwsMEdBY00sS0FURiwrRkFHTSxLQUZGLDRFQUNpQixLQURkLHFFQUNVLE1BRWpCLGdHQUlNLEtBSEYsK0pBQStELFlBQXZEOzt3QkFBaUI7TUFBekIsd0JBQStELEtBQWYsbUNBQU0sTUFDdEQsbU1BQWdILFlBQXhHOzt3QkFBa0I7TUFBMUIsd0JBQWdILEtBQWhCLG9DQUFPLE1BS25ILGtNQUF5QyxzRkFwVkssdUhBQTRELElBQTFGLGFBU00sRUFUd0IsU0FBNEQsR0EyQnBFLDRDQUErQixHQUE3QyxhQU1lLEVBTkQsU0FBK0IsR0FPL0IsMkNBQTZCLEdBQTNDLGFBSWUsRUFKRCxVQUE2QixHQUs3QixnREFBa0MsR0FBaEQsYUFNZSxFQU5ELFVBQWtDLEdBK0JrQixzSEFBZ0gsRUFBQyx5QkFBa0IsRUFBVyx3QkFBWSxFQUFDLHNCQUEwQixFQUE3TSxhQUF3VCxFQUFoUyxVQUFnSCxFQUFDLFVBQWtCLEVBQVcsVUFBWSxFQUFDLFVBQTBCLEdBZXhPLHFFQUF1RSxvQ0FBbEcsYUE4Tk0sRUE5TnFCLFVBQXVFLEdBMk85Rix5SkFBOEMseUNBQXRELGFBQTJLLEVBQW5LLFVBQThDLEdBQzlDLHFKQUE0Qyx1Q0FBcEQsYUFBbUssRUFBM0osVUFBNEMsR0FDNUMsK0pBQWlELDRDQUF6RCxhQUF3TCxFQUFoTCxVQUFpRCxHQWtCcEQsb0JBQWMsU0FBM0IsY0FBeUMsRUFBNUIsVUFBYyxtREE3VlMscURBRTVCLEdBa0JzQyxvQkFBeUIsRUFBdkQsYUFRTSxFQVJ3QixTQUF5QixHQUlYLG9CQUF5QixFQUFqRSxhQUdNLEVBSGtDLFNBQXlCLEdBTXZDLGlGQUEyRSxJQUFDLDBDQUE0QyxHQUF0SixhQTBCTSxFQTFCd0IsU0FBMkUsRUFBQyxTQUE0QyxHQUcxRyxpZUFBZ0ssR0FFaEssaUZBQTJFLElBQUMsMENBQTRDLEdBQWhLLGFBb0JNLEVBcEJrQyxTQUEyRSxFQUFDLFNBQTRDLEdBMEJ0SSxxQkFBeUIsRUFBdkQsYUFTTSxFQVR3QixVQUF5QixHQUlYLHFCQUF5QixFQUFDLHNCQUE0QixFQUE5RixhQUlNLEVBSmtDLFVBQXlCLEVBQUMsVUFBNEIsR0FDNUQscUJBQTJCLEVBQXpELGFBQXNFLEVBQXhDLFVBQTJCLEdBRTNCLHFCQUEyQixFQUF6RCxhQUF3RSxFQUExQyxVQUEyQixHQUluQyxxQkFBMkIsRUFBekQsYUFTTSxFQVR3QixVQUEyQixHQUliLHFCQUEyQixFQUFuRSxhQUlNLEVBSmtDLFVBQTJCLEdBTXpDLHFCQUF5QixFQUF2RCxhQVFNLEVBUndCLFVBQXlCLEdBSVgscUJBQXlCLEVBQWpFLGFBR00sRUFIa0MsVUFBeUIsR0E2UHRFLDhYQUNVLEdBSXFDLHFCQUFnQyxxQkFBbEYsY0FBZ0gsRUFBOUQsVUFBZ0M7aUZBM2lCbEcsK0xBcU1lLElBR2YsZ01BQXlDLElBUXpDLGdNQWtXZSxpREFsakJELHVEQUEwQyxHQUF4RCxZQXFNZSxFQXJNRCxTQUEwQyxHQXdNM0MsbUJBQWMsU0FBM0IsWUFBeUMsRUFBNUIsU0FBYyxHQVFiLHNEQUF5QyxHQUF2RCxZQWtXZSxFQWxXRCxTQUF5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiIsIlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwicmVzcG9uc2liaWxpdHlUeXBlID09PSAnc2luZ2xlVGFiJ1wiPlxyXG48ZGl2IGNsYXNzPVwiYnVsay12aWV3XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnVsay12aWV3LWhlYWRcIj5cclxuICAgICAgICA8aDIgY2xhc3M9XCJidWxrLXZpZXctdGl0bGVcIj5cclxuICAgICAgICAgICAge3tmaWxlTmFtZX19XHJcbiAgICAgICAgPC9oMj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImJ1bGstdmlldy1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlld1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBoZWFkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBzbC1ub1wiPiM8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgKm5nRm9yPVwibGV0IGhlYWRpbmcgb2YgcmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5oZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5sYXJnZV09XCJoZWFkaW5nICYmIGhlYWRpbmcuc3RhcnRzV2l0aCgnSW5oZXJlbnQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkaW5nICYmICEoaGVhZGluZy5zdGFydHNXaXRoKCdEdWUnKSkgJiYgIShoZWFkaW5nLnN0YXJ0c1dpdGgoJ092ZXJzaWdodCcpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyhoZWFkaW5nLmluY2x1ZGVzKCcqJyk/IGhlYWRpbmcucmVwbGFjZSgnKicsICcnKSA6IGhlYWRpbmcpfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJoZWFkaW5nLmluY2x1ZGVzKCcqJylcIiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGVhZGluZyAmJiBoZWFkaW5nLnN0YXJ0c1dpdGgoJ0R1ZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBsYXJnZVwiPkR1ZSBEYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+RGF5PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPk1vbnRoPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkaW5nICYmIGhlYWRpbmcuc3RhcnRzV2l0aCgnT3ZlcnNpZ2h0JylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+T3ZlcnNpZ2h0IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkFsd2F5cyBOb3RpZnk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+Tm90aWZ5IG9uIEZhaWx1cmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvd1wiICpuZ0Zvcj1cImxldCByZXBvcnQgb2YgcmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5yZXBvcnRzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBzbC1ub1wiIFtjbGFzcy5lcnJvcl09XCIhcmVwb3J0LmlzVmFsaWRcIj57e2krMX19PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwiIXJlcG9ydC5yZXNwb25zaWJpbGl0eU5hbWVcIj57e3JlcG9ydD8ucmVzcG9uc2liaWxpdHlOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFyZXBvcnQ/LnJlc3BvbnNpYmlsaXR5TmFtZVwiIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInRW50ZXIgYSBuYW1lIGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5LidcIiBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwicmVwb3J0Py5hc3NpZ25vciAmJiAoKHJlcG9ydD8uYXNzaWdub3IgPT0gcmVwb3J0Py5hbHdheXNOb3RpZnkpIHx8IChyZXBvcnQ/LmFzc2lnbm9yID09IHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlKSlcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3JlcG9ydD8uYXNzaWdub3J9fVxyXG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKChyZXBvcnQ/LmFzc2lnbm9yKSAmJiAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gcmVwb3J0Py5hc3NpZ25vcnx8cmVwb3J0Py5hbHdheXNOb3RpZnkgPT0gcmVwb3J0Py5hc3NpZ25vcikpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgT3ZlcnNlZXIgY2Fubm90IGFsc28gYmUgdGhlIEFzc2lnbm9yIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIEFzc2lnbm9yLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvaT5cclxuPCEtLVxyXG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKChyZXBvcnQ/LmFzc2lnbm9yKSAmJiAocmVwb3J0Py5yZXZpZXdlciA9PSByZXBvcnQ/LmFzc2lnbm9yKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBSZXZpZXdlciBjYW5ub3QgYWxzbyBiZSB0aGUgQXNzaWdub3Igb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgQXNzaWdub3IuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pPiAgICAgLS0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQ/LmFzc2lnbmVlIHx8ICgocmVwb3J0Py5hc3NpZ25lZSA9PSByZXBvcnQ/LnJldmlld2VyKVxyXG4gICAgICAgICAgICAgICAgfHwgKHJlcG9ydD8uYXNzaWduZWUgPT0gcmVwb3J0Py5hbHdheXNOb3RpZnkpIHx8IChyZXBvcnQ/LmFzc2lnbmVlID09IHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlKSkgfHwgKCFyZXBvcnQ/LmlzVmFsaWRVc2VyKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7cmVwb3J0Py5hc3NpZ25lZX19XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKChyZXBvcnQ/LmFzc2lnbmVlKSAmJiAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gcmVwb3J0Py5hc3NpZ25lZXx8cmVwb3J0Py5hbHdheXNOb3RpZnkgPT0gcmVwb3J0Py5hc3NpZ25lZSkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgT3ZlcnNlZXIgY2Fubm90IGFsc28gYmUgdGhlIEFzc2lnbmVlIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIEFzc2lnbmVlLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvaT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoKHJlcG9ydD8uYXNzaWduZWUpICYmIChyZXBvcnQ/LnJldmlld2VyID09IHJlcG9ydD8uYXNzaWduZWUpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIFJldmlld2VyIGNhbm5vdCBhbHNvIGJlIHRoZSBBc3NpZ25lZSBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBBc3NpZ25lZS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoIXJlcG9ydD8uYXNzaWduZWUpIHx8ICghcmVwb3J0Py5pc1ZhbGlkVXNlcilcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidTZWxlY3QgdGhlIHVzZXIgcmVzcG9uc2libGUgZm9yIGNvbXBsZXRpbmcgdGhpcyByZXNwb25zaWJpbGl0eS4gJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgaWQ9XCJyZXNDYXRlZ29yeVwiICpuZ0lmPVwicmVwb3J0Py5yZXNwb25zaWJpbGl0eUNhdGVnb3J5IT09bnVsbFwiPnt7cmVwb3J0Py5yZXNwb25zaWJpbGl0eUNhdGVnb3J5fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQuZnJlcXVlbmN5XCI+e3tyZXBvcnQ/LmZyZXF1ZW5jeX19XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIhcmVwb3J0Py5mcmVxdWVuY3lcIiBjbGFzcz1cImljb25zXCIgW2FwcFRvb2x0aXBdPVwiJ1NlbGVjdCBhIGZyZXF1ZW5jeSBmb3IgdGhpcyByZXNwb25zaWJpbGl0eS4nXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbXVsdGktY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwiIXJlcG9ydC5pc1ZhbGlkRHVlRGF0ZVwiPnt7cmVwb3J0Py5kYXl9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIhcmVwb3J0Py5pc1ZhbGlkRHVlRGF0ZVwiIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInSW52YWxpZCBEdWUgRGF0ZS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVwb3J0Py5pc1Bhc3REYXRlXCIgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidUaGlzIGRhdGUgb2NjdXJzIGluIHRoZSBwYXN0LiBTZWxlY3QgYSBmdXR1cmUgZGF0ZS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQuaXNWYWxpZER1ZURhdGVcIj57e3JlcG9ydD8ubW9udGh9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIhcmVwb3J0Py5pc1ZhbGlkRHVlRGF0ZVwiIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInSW52YWxpZCBEdWUgRGF0ZS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVwb3J0Py5pc1Bhc3REYXRlXCIgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidUaGlzIGRhdGUgb2NjdXJzIGluIHRoZSBwYXN0LiBTZWxlY3QgYSBmdXR1cmUgZGF0ZS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnJlc3BvbnNpYmlsaXR5V2luZG93fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LmZhaWxlZEFmdGVyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnJlcG9ydENsYXNzfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnJlc3BvbnNpYmlsaXR5Q2VudGVyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZXJyb3JdPVwicmVwb3J0Py5yZXZpZXdlciAmJiAoKHJlcG9ydD8ucmV2aWV3ZXIgPT0gcmVwb3J0Py5hbHdheXNOb3RpZnkpIHx8ICAocmVwb3J0Py5yZXZpZXdlciA9PSByZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSlcclxuICAgICAgICAgICAgICAgICAgICAgIHx8IChyZXBvcnQ/LnJldmlld2VyID09IHJlcG9ydD8uYXNzaWduZWUpIClcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3JlcG9ydD8ucmV2aWV3ZXJ9fVxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIihyZXBvcnQ/LnJldmlld2VyKSAmJiAoKHJlcG9ydD8ucmV2aWV3ZXIgPT0gcmVwb3J0Py5hbHdheXNOb3RpZnkpIHx8IChyZXBvcnQ/LnJldmlld2VyID09IHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBPdmVyc2VlciBjYW5ub3QgYWxzbyBiZSB0aGUgUmV2aWV3ZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgUmV2aWV3ZXInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICA8L2k+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVwb3J0Py5yZXZpZXdlciAmJiAocmVwb3J0Py5yZXZpZXdlciA9PSByZXBvcnQ/LmFzc2lnbmVlKVwiIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIEFzc2lnbmVlIGNhbm5vdCBhbHNvIGJlIHRoZSBSZXZpZXdlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBSZXZpZXdlci4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8aSAqbmdJZj1cIihyZXBvcnQ/LnJldmlld2VyICYmIHJlcG9ydD8uYXNzaWdub3IpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIigocmVwb3J0Py5hc3NpZ25vcik/J1RoZSBBc3NpZ25vciBjYW5ub3QgYWxzbyBiZSB0aGUgUmV2aWV3ZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4nOidZb3UgY2Fubm90IGJlIGEgUmV2aWV3ZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eSBzaW5jZSB5b3UgYXJlIHRoZSBhc3NpZ25vci4gJykgKydTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBSZXZpZXdlcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvaT4gLS0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnJldmlld1RvQmVDb21wbGV0ZWRXaXRoaW59fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucmV2aWV3V2lsbEJlRmFpbGVkQWZ0ZXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8uZm9ybWF0Rm9yUmVzcG9uc2liaWxpdHl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ubm90ZXN9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8uZG9jdW1lbnRFdmlkZW5jZVJlcXVpcmVkfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIG11bHRpLWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cInJlcG9ydD8uYWx3YXlzTm90aWZ5ICYmICgocmVwb3J0Py5hbHdheXNOb3RpZnkgPT0gcmVwb3J0Py5yZXZpZXdlcilcclxuICAgICAgICAgICAgICAgICAgICAgICAgfHwgKHJlcG9ydD8uYWx3YXlzTm90aWZ5ID09IHJlcG9ydD8uYXNzaWdub3IpIHx8IChyZXBvcnQ/LmFsd2F5c05vdGlmeSA9PSByZXBvcnQ/LmFzc2lnbmVlKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoKCFyZXBvcnQ/LmFzc2lnbm9yKSYmKHJlcG9ydD8uYWx3YXlzTm90aWZ5ID09IGRlZmF1bHRPd25lcikpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tyZXBvcnQ/LmFsd2F5c05vdGlmeX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIihyZXBvcnQ/LmFsd2F5c05vdGlmeSkgJiYgKChyZXBvcnQ/LnJldmlld2VyID09IHJlcG9ydD8uYWx3YXlzTm90aWZ5KSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgUmV2aWV3ZXIgY2Fubm90IGFsc28gYmUgdGhlIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyZXBvcnQ/LmFsd2F5c05vdGlmeSAmJiAocmVwb3J0Py5hbHdheXNOb3RpZnkgPT0gcmVwb3J0Py5hc3NpZ25lZSlcIiBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIEFzc2lnbmVlIGNhbm5vdCBhbHNvIGJlIHRoZSBPdmVyc2VlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBPdmVyc2VlcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIigocmVwb3J0Py5hbHdheXNOb3RpZnkgJiYgcmVwb3J0Py5hc3NpZ25vcikgJiYgKHJlcG9ydD8uYWx3YXlzTm90aWZ5ID09IHJlcG9ydD8uYXNzaWdub3IpKSB8fCgocmVwb3J0Py5hbHdheXNOb3RpZnkgJiYgKCFyZXBvcnQ/LmFzc2lnbm9yKSkgJiYgKHJlcG9ydD8uYWx3YXlzTm90aWZ5ID09IGRlZmF1bHRPd25lcikpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCIoKHJlcG9ydD8uYXNzaWdub3IpPydUaGUgQXNzaWdub3IgY2Fubm90IGFsc28gYmUgdGhlIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuICc6J1lvdSBjYW5ub3QgYmUgYW4gT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eSBzaW5jZSB5b3UgYXJlIHRoZSBBc3NpZ25vci4gJykgKydTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBPdmVyc2Vlci4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwicmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgJiYgKChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PSByZXBvcnQ/LnJldmlld2VyKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB8fCAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gcmVwb3J0Py5hc3NpZ25vcikgfHwgKHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlID09IHJlcG9ydD8uYXNzaWduZWUpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICgoIXJlcG9ydD8uYXNzaWdub3IpJiYocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gZGVmYXVsdE93bmVyKSkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3JlcG9ydD8ubm90aWZ5T25GYWlsdXJlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlKSAmJiAoKHJlcG9ydD8ucmV2aWV3ZXIgPT0gcmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgUmV2aWV3ZXIgY2Fubm90IGFsc28gYmUgdGhlIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSAmJiAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gcmVwb3J0Py5hc3NpZ25lZSlcIiBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgQXNzaWduZWUgY2Fubm90IGFsc28gYmUgdGhlIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSAmJiByZXBvcnQ/LmFzc2lnbm9yKSAmJiAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gcmVwb3J0Py5hc3NpZ25vcikpIHx8KChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSAmJiAoIXJlcG9ydD8uYXNzaWdub3IpKSAmJiAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gZGVmYXVsdE93bmVyKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCIoKHJlcG9ydD8uYXNzaWdub3IpPydUaGUgQXNzaWdub3IgY2Fubm90IGFsc28gYmUgdGhlIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuICc6J1lvdSBjYW5ub3QgYmUgYW4gT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eSBzaW5jZSB5b3UgYXJlIHRoZSBBc3NpZ25vci4gJykgKydTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBPdmVyc2Vlci4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ua2V5UmVzcG9uc2liaWxpdHl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ub2JqZWN0aXZlfX08L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnVsay12aWV3LWZvb3RlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgIDxwPnt7ZmluYWxSZXNwb25zaWJpbGl0aWVzfX0gb3V0IG9mIHt7cmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5yZXBvcnRzPy5sZW5ndGh9fSByZXNwb25zaWJpbGl0aWVzIHdpbGwgYmVcclxuICAgICAgICAgICAgICAgIHVwbG9hZGVkLjwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoKVwiIGlkPVwiYnVsay1yZXNwLWNhbmNlbFwiID5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3VibWl0KClcIiBpZD1cImJ1bGstcmVzcC1jb25maXJtXCIgW2Rpc2FibGVkXT1cImZpbmFsUmVzcG9uc2liaWxpdGllczwxXCIgY2xhc3M9XCJibHVlXCI+Q29uZmlybTwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48YXBwLWxvYWRlciAgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXI+XHJcblxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjwhLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS11cHdhcmQgaXMgbmV3IG9uZS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxyXG48YXBwLWxvYWRlciAgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXI+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbjwhLS0gSFRNTCBmb3IgbXVsdGlwbGUgdGFicyAtLT5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlc3BvbnNpYmlsaXR5VHlwZSA9PT0gJ211bHRpVGFiJ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImJ1bGstdmlld1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidWxrLXZpZXctaGVhZFwiPlxyXG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJidWxrLXZpZXctdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgIHt7ZmlsZU5hbWV9fVxyXG4gICAgICAgICAgICA8L2gyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidWxrLXZpZXctYm9keSBidWxrXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXdcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IGhlYWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBzbC1ub1wiPiM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlJlc3BvbnNpYmlsaXR5IE5hbWUgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiAqbmdJZj1cInJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8uaGVhZGVyLmluY2x1ZGVzKCdQcm9ncmFtJylcIiBbY2xhc3MudGhyZWUtY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+UHJvZ3JhbTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLnRocmVlLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlByb2dyYW0gVHlwZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5Qcm9ncmFtPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlByb2dyYW0gQ2F0ZWdvcnk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5FbnRydXN0ZWQgQnk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+RW50cnVzdCBUbyA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UGVyc29uIG9yIEdyb3VwPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkFsbCBvciBBbnkgUGVyc29uczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPktleSBSZXNwb25zaWJpbGl0eT88L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5maXZlLWNvbHVtbl09XCJ0YWJUeXBlID09PSAnZnJlcXVlbmN5JyB8fCB0YWJUeXBlID09PSAnb25Db21wbGV0aW9uJ1wiIFtjbGFzcy50aHJlZS1jb2x1bW5dPVwidGFiVHlwZSA9PT0gJ29uZ29pbmcnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+RnJlcXVlbmN5IG9mIE9jY3VycmVuY2UgYW5kIENvbXBsZXRpb24gV2luZG93IDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+e3tyZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LmhlYWRlci5pbmNsdWRlcygnUHJvZ3JhbScpID8gcmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5oZWFkZXJbOF0/LnNsaWNlKDAsIC0xKSA6IHJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8uaGVhZGVyWzVdPy5zbGljZSgwLCAtMSl9fTxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLmZpdmUtY29sdW1uXT1cInRhYlR5cGUgPT09ICdmcmVxdWVuY3knIHx8IHRhYlR5cGUgPT09ICdvbkNvbXBsZXRpb24nXCIgW2NsYXNzLnRocmVlLWNvbHVtbl09XCJ0YWJUeXBlID09PSAnb25nb2luZydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWJUeXBlID09PSAnZnJlcXVlbmN5J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+RnJlcXVlbmN5IDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+RHVlIERhdGUgPHNwYW4gY2xhc3M9XCJpbmZvLXRleHRcIj4oRGF5KTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkR1ZSBEYXRlIDxzcGFuIGNsYXNzPVwiaW5mby10ZXh0XCI+KE1vbnRoKTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlN0YXJ0IDxzcGFuIGNsYXNzPVwiaW5mby10ZXh0XCI+KE5vLiBvZiBkYXlzIGJlZm9yZSB0aGUgZHVlIGRhdGUpPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+RmFpbCA8c3BhbiBjbGFzcz1cImluZm8tdGV4dFwiIGFwcFRvb2x0aXA9XCIoTm8uIG9mIGRheXMgYWZ0ZXIgdGhlIGR1ZSBkYXRlLiBTZWxlY3QgJzAnIGlmIHRoZSByZXNwb25zaWJpbGl0eSBtdXN0IGJlIGNvbXBsZXRlZCBvbiB0aGUgZHVlIGRhdGUpXCIgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj4oTm8uIG9mIGRheXMgYWZ0ZXIgdGhlIGR1ZSBkYXRlLiBTZWxlY3QgXCIwXCIgaWYgdGhlIHJlc3BvbnNpYmlsaXR5IG11c3QgYmUgY29tcGxldGVkIG9uIHRoZSBkdWUgZGF0ZSk8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWJUeXBlID09PSAnb25nb2luZydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPk9uZ29pbmcgRnJlcXVlbmN5IDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+U2V0IGEgUmVtaW5kZXI/PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5GcmVxdWVuY3kgb2YgUmVtaW5kZXI8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYlR5cGUgPT09ICdvbkNvbXBsZXRpb24nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5PbiBDb21wbGV0aW9uIG9mIEZyZXF1ZW5jeSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlBhcmVudCBSZXNwb25zaWJpbGl0eTxzcGFuIGNsYXNzPVwiaW5mby10ZXh0XCI+KERheSk8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5EdWUgRGF0ZSA8c3BhbiBjbGFzcz1cImluZm8tdGV4dFwiIGFwcFRvb2x0aXA9XCIoTm8uIG9mIGRheXMgYWZ0ZXIgY29tcGxldGlvbiBvZiB0aGUgUGFyZW50IFJlc3BvbnNpYmlsaXR5KVwiIHBsYWNlbWVudD1cImJvdHRvbVwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+KE5vLiBvZiBkYXlzIGFmdGVyIGNvbXBsZXRpb24gb2YgdGhlIFBhcmVudCBSZXNwb25zaWJpbGl0eSk8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5TdGFydCA8c3BhbiBjbGFzcz1cImluZm8tdGV4dFwiIGFwcFRvb2x0aXA9XCIoTm8uIG9mIGRheXMgYmVmb3JlIHRoZSBkdWUgZGF0ZSlcIiBwbGFjZW1lbnQ9XCJib3R0b21cIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPihOby4gb2YgZGF5cyBiZWZvcmUgdGhlIGR1ZSBkYXRlKTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkZhaWwgPHNwYW4gY2xhc3M9XCJpbmZvLXRleHRcIiBhcHBUb29sdGlwPVwiKE5vLiBvZiBkYXlzIGFmdGVyIHRoZSBkdWUgZGF0ZS4gU2VsZWN0ICcwJyBpZiB0aGUgcmVzcG9uc2liaWxpdHkgbXVzdCBiZSBjb21wbGV0ZWQgb24gdGhlIGR1ZSBkYXRlKVwiIHBsYWNlbWVudD1cImJvdHRvbVwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+KE5vLiBvZiBkYXlzIGFmdGVyIHRoZSBkdWUgZGF0ZS4gU2VsZWN0IFwiMFwiIGlmIHRoZSByZXNwb25zaWJpbGl0eSBtdXN0IGJlIGNvbXBsZXRlZCBvbiB0aGUgZHVlIGRhdGUpPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UmVzcG9uc2liaWxpdHkgQ2VudHJlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5SaXNrIENsYXNzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5PYmplY3RpdmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPk5vdGVzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBsYXJnZVwiPkZvcm1hdCAmIEV2aWRlbmNlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCIgW2NsYXNzLnRocmVlLWNvbHVtbl09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3Muc21hbGwtY29sdW1uXT1cInRydWVcIj5Gb3JtYXQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+Rm9ybWF0IEZvciBSZXNwb25zaWJpbGl0eSAobGluayk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLnNtYWxsLWNvbHVtbl09XCJ0cnVlXCI+RXZpZGVuY2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkFzc2Vzc21lbnRzIG9yIENoZWNrcG9pbnRzPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLnRocmVlLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBsYXJnZVwiPlJldmlldyBvZiBSZXNwb25zaWJpbGl0eTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLnRocmVlLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlJldmlld2VyPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlJldmlldyBTdGFydCA8c3BhbiBjbGFzcz1cImluZm8tdGV4dFwiPihOby4gb2YgZGF5cyBiZWZvcmUgdGhlIGR1ZSBkYXRlKTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UmV2aWV3IEZhaWwgPHNwYW4gY2xhc3M9XCJpbmZvLXRleHRcIiBhcHBUb29sdGlwPVwiKE5vLiBvZiBkYXlzIGFmdGVyIHRoZSBkdWUgZGF0ZS4gU2VsZWN0ICcwJyBpZiB0aGUgcmVzcG9uc2liaWxpdHkgbXVzdCBiZSByZXZpZXdlZCBvbiB0aGUgZHVlIGRhdGUpXCIgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj4oTm8uIG9mIGRheXMgYWZ0ZXIgdGhlIGR1ZSBkYXRlLiBTZWxlY3QgXCIwXCIgaWYgdGhlIHJlc3BvbnNpYmlsaXR5IG11c3QgYmUgcmV2aWV3ZWQgb24gdGhlIGR1ZSBkYXRlKTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBsYXJnZVwiPk92ZXJzZWVyPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkFsd2F5cyBOb3RpZnk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+Tm90aWZ5IG9uIEZhaWx1cmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPk92ZXJzZWVyPC9kaXY+IC0tPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93XCIgKm5nRm9yPVwibGV0IHJlcG9ydCBvZiByZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LnJlcG9ydHM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBzbC1ub1wiIFtjbGFzcy5lcnJvcl09XCIhcmVwb3J0Py5pc1ZhbGlkXCI+e3tpKzF9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQucmVzcG9uc2liaWxpdHlOYW1lXCI+e3tyZXBvcnQ/LnJlc3BvbnNpYmlsaXR5TmFtZX19IDxpICpuZ0lmPVwiIXJlcG9ydC5yZXNwb25zaWJpbGl0eU5hbWVcIiBjbGFzcz1cImljb25zXCIgW2FwcFRvb2x0aXBdPVwiJ0VudGVyIGEgbmFtZSBmb3IgdGhpcyByZXNwb25zaWJpbGl0eS4nXCIgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIG11bHRpLWNvbHVtblwiICpuZ0lmPVwicmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5oZWFkZXIuaW5jbHVkZXMoJ1Byb2dyYW0nKVwiIFtjbGFzcy5lcnJvcl09XCJmYWxzZVwiIFtjbGFzcy50aHJlZS1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudGhyZWUtY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnByb2dyYW1UeXBlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnByb2dyYW19fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucHJvZ3JhbUNhdGVnb3J5fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwicmVwb3J0Py5hc3NpZ25vciAmJiAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gcmVwb3J0Py5hc3NpZ25vciB8fCByZXBvcnQ/LmFzc2lnbm9yID09IHJlcG9ydD8ub3ZlcnNlZXIpXCI+e3tyZXBvcnQ/LmFzc2lnbm9yfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoKHJlcG9ydD8uYXNzaWdub3IpICYmIChyZXBvcnQ/Lm92ZXJzZWVyID09IHJlcG9ydD8uYXNzaWdub3IgfHwgcmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gcmVwb3J0Py5hc3NpZ25vcikpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBPdmVyc2VlciBjYW5ub3QgYWxzbyBiZSB0aGUgQXNzaWdub3Igb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgQXNzaWdub3IuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGkgKm5nSWY9XCIoKHJlcG9ydD8uYXNzaWdub3IpICYmIChyZXBvcnQ/LnJldmlld2VyID09PSByZXBvcnQ/LmFzc2lnbm9yKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIFJldmlld2VyIGNhbm5vdCBhbHNvIGJlIHRoZSBBc3NpZ25vciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBBc3NpZ25vci4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaT4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCIhcmVwb3J0Py5hc3NpZ25lZSB8fCByZXBvcnQ/LmFzc2lnbmVlID09IHJlcG9ydD8ucmV2aWV3ZXIgfHwgIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWRBc3NpZ25lZSB8fCByZXBvcnQ/Lm92ZXJzZWVyID09PSByZXBvcnQ/LmFzc2lnbmVlICB8fCAoIXJlcG9ydD8uaXNWYWxpZFVzZXIpXCI+e3tyZXBvcnQ/LmFzc2lnbmVlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHx8ICghcmVwb3J0Py5pc1ZhbGlkVXNlcikgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoKHJlcG9ydD8uYXNzaWduZWUpICYmIChyZXBvcnQ/Lm92ZXJzZWVyID09IHJlcG9ydD8uYXNzaWduZWUpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIE92ZXJzZWVyIGNhbm5vdCBhbHNvIGJlIHRoZSBBc3NpZ25lZSBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBBc3NpZ25lZS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoKHJlcG9ydD8uYXNzaWduZWUpICYmIChyZXBvcnQ/LnJldmlld2VyID09IHJlcG9ydD8uYXNzaWduZWUpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIFJldmlld2VyIGNhbm5vdCBhbHNvIGJlIHRoZSBBc3NpZ25lZSBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBBc3NpZ25lZS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoIXJlcG9ydD8uYXNzaWduZWUpIHx8ICghcmVwb3J0Py5pc1ZhbGlkVXNlcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1NlbGVjdCB0aGUgdXNlciByZXNwb25zaWJsZSBmb3IgY29tcGxldGluZyB0aGlzIHJlc3BvbnNpYmlsaXR5LiAnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIocmVwb3J0Py5hc3NpZ25lZSkgJiYgIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWRBc3NpZ25lZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhpcyB1c2VyIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggdGhlIHNlbGVjdGVkIFByb2dyYW0uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5hc3NpZ25lZVR5cGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5rZXlSZXNwb25zaWJpbGl0eX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbXVsdGktY29sdW1uXCIgW2NsYXNzLmZpdmUtY29sdW1uXT1cInRhYlR5cGUgPT09ICdmcmVxdWVuY3knIHx8IHRhYlR5cGUgPT09ICdvbkNvbXBsZXRpb24nXCIgW2NsYXNzLnRocmVlLWNvbHVtbl09XCJ0YWJUeXBlID09PSAnb25nb2luZydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYlR5cGUgPT09ICdmcmVxdWVuY3knXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MuZml2ZS1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQ/LmZyZXF1ZW5jeVwiPnt7cmVwb3J0Py5mcmVxdWVuY3l9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFyZXBvcnQ/LmZyZXF1ZW5jeVwiIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInU2VsZWN0IGEgZnJlcXVlbmN5IGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5LidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCIhcmVwb3J0Py52YWxpZERhdGUgfHwgcmVwb3J0Py5pc1Bhc3REYXRlXCI+e3tyZXBvcnQ/LmRheX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIXJlcG9ydD8udmFsaWREYXRlXCIgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidJbnZhbGlkIER1ZSBEYXRlLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVwb3J0Py5pc1Bhc3REYXRlXCIgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidUaGlzIGRhdGUgb2NjdXJzIGluIHRoZSBwYXN0LiBTZWxlY3QgYSBmdXR1cmUgZGF0ZS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQ/LnZhbGlkRGF0ZSB8fCByZXBvcnQ/LmlzUGFzdERhdGVcIj57e3JlcG9ydD8ubW9udGh9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFyZXBvcnQ/LnZhbGlkRGF0ZVwiIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInSW52YWxpZCBEdWUgRGF0ZS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInJlcG9ydD8uaXNQYXN0RGF0ZVwiIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInVGhpcyBkYXRlIG9jY3VycyBpbiB0aGUgcGFzdC4gU2VsZWN0IGEgZnV0dXJlIGRhdGUuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5yZXNwb25zaWJpbGl0eVdpbmRvd319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8uZmFpbGVkQWZ0ZXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFiVHlwZSA9PT0gJ29uZ29pbmcnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudGhyZWUtY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCIhcmVwb3J0Py5mcmVxdWVuY3lcIj57e3JlcG9ydD8uZnJlcXVlbmN5fX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIhcmVwb3J0Py5mcmVxdWVuY3lcIiBjbGFzcz1cImljb25zXCIgW2FwcFRvb2x0aXBdPVwiJ1NlbGVjdCBhIGZyZXF1ZW5jeSBmb3IgdGhpcyByZXNwb25zaWJpbGl0eS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8uc2V0UmVtaW5kZXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LmZyZXF1ZW5jeVJlbWluZGVyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYlR5cGUgPT09ICdvbkNvbXBsZXRpb24nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MuZml2ZS1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQ/LmZyZXF1ZW5jeVwiPnt7cmVwb3J0Py5mcmVxdWVuY3l9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFyZXBvcnQ/LmZyZXF1ZW5jeVwiIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInU2VsZWN0IGEgZnJlcXVlbmN5IGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5LidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCIhcmVwb3J0Py5wYXJlbnRSZXNwb25zaWJpbGl0eVwiPnt7cmVwb3J0Py5wYXJlbnRSZXNwb25zaWJpbGl0eX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIXJlcG9ydD8ucGFyZW50UmVzcG9uc2liaWxpdHlcIiBjbGFzcz1cImljb25zXCIgW2FwcFRvb2x0aXBdPVwiJ1NlbGVjdCBhIHBhcmVudCByZXNwb25zaWJpbGl0eSBvbiB3aG9zZSBjb21wbGV0aW9uIHRoaXMgcmVzcG9uc2liaWxpdHkgd2lsbCBiZWNvbWUgYWN0aXZlLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5kdWVEYXRlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5yZXNwb25zaWJpbGl0eVdpbmRvd319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8uZmFpbGVkQWZ0ZXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnJlc3BvbnNpYmlsaXR5Q2VudGVyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5yZXBvcnRDbGFzc319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ub2JqZWN0aXZlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5ub3Rlc319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBtdWx0aS1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3Muc21hbGwtY29sdW1uXT1cInRydWVcIj57e3JlcG9ydD8uaXNGb3JtYXR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5mb3JtYXRGb3JSZXNwb25zaWJpbGl0eX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLnNtYWxsLWNvbHVtbl09XCJ0cnVlXCI+e3tyZXBvcnQ/LmRvY3VtZW50RXZpZGVuY2VSZXF1aXJlZH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8uYXNzZXNzbWVudHN9fTwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudGhyZWUtY29sdW1uXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLnRocmVlLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCJyZXBvcnQ/LnJldmlld2VyICYmICgocmVwb3J0Py5yZXZpZXdlciA9PT0gcmVwb3J0Py5vdmVyc2VlcilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IChyZXBvcnQ/LnJldmlld2VyID09PSByZXBvcnQ/LmFzc2lnbmVlKSB8fCAhcmVwb3J0Py51c2VyVmFsaWRhdGVXaXRoUHJvZ3JhbT8uaXNWYWxpZFJldmlld2VyIClcIj57e3JlcG9ydD8ucmV2aWV3ZXJ9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIihyZXBvcnQ/LnJldmlld2VyKSAmJiAoKHJlcG9ydD8ucmV2aWV3ZXIgPT09IHJlcG9ydD8ub3ZlcnNlZXIpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgT3ZlcnNlZXIgY2Fubm90IGFsc28gYmUgdGhlIFJldmlld2VyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIFJldmlld2VyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyZXBvcnQ/LnJldmlld2VyICYmIChyZXBvcnQ/LnJldmlld2VyID09PSByZXBvcnQ/LmFzc2lnbmVlKVwiIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBBc3NpZ25lZSBjYW5ub3QgYWxzbyBiZSB0aGUgUmV2aWV3ZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgUmV2aWV3ZXIuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGkgKm5nSWY9XCIocmVwb3J0Py5yZXZpZXdlciAmJiByZXBvcnQ/LnJldmlld2VyID09PSByZXBvcnQ/LmFzc2lnbm9yKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIigocmVwb3J0Py5hc3NpZ25vcik/J1RoZSBBc3NpZ25vciBjYW5ub3QgYWxzbyBiZSB0aGUgUmV2aWV3ZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4nOidZb3UgY2Fubm90IGJlIGEgUmV2aWV3ZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eSBzaW5jZSB5b3UgYXJlIHRoZSBhc3NpZ25vci4gJykgKydTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBSZXZpZXdlcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyZXBvcnQ/LnJldmlld2VyICYmICFyZXBvcnQ/LnVzZXJWYWxpZGF0ZVdpdGhQcm9ncmFtPy5pc1ZhbGlkUmV2aWV3ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhpcyB1c2VyIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggdGhlIHNlbGVjdGVkIFByb2dyYW0uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnJldmlld1RvQmVDb21wbGV0ZWRXaXRoaW59fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucmV2aWV3V2lsbEJlRmFpbGVkQWZ0ZXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCJyZXBvcnQ/Lm92ZXJzZWVyICYmICgocmVwb3J0Py5yZXZpZXdlciA9PT0gcmVwb3J0Py5vdmVyc2VlcilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IChyZXBvcnQ/Lm92ZXJzZWVyID09PSByZXBvcnQ/LmFzc2lnbmVlKSB8fCAocmVwb3J0Py5vdmVyc2VlciA9PT0gcmVwb3J0Py5hc3NpZ25vcikgfHwgIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWRPdmVyc2VlciApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3JlcG9ydD8ub3ZlcnNlZXJ9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKHJlcG9ydD8ub3ZlcnNlZXIpICYmICgocmVwb3J0Py5yZXZpZXdlciA9PT0gcmVwb3J0Py5vdmVyc2VlcikpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIFJldmlld2VyIGNhbm5vdCBhbHNvIGJlIHRoZSBPdmVyc2VlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBPdmVyc2Vlci4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyZXBvcnQ/Lm92ZXJzZWVyICYmIChyZXBvcnQ/Lm92ZXJzZWVyID09PSByZXBvcnQ/LmFzc2lnbmVlKVwiIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIEFzc2lnbmVlIGNhbm5vdCBhbHNvIGJlIHRoZSBPdmVyc2VlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBPdmVyc2VlcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIigocmVwb3J0Py5vdmVyc2VlciAmJiByZXBvcnQ/LmFzc2lnbm9yKSAmJiAocmVwb3J0Py5vdmVyc2VlciA9PSByZXBvcnQ/LmFzc2lnbm9yKSkgfHwoKHJlcG9ydD8ub3ZlcnNlZXIgJiYgKCFyZXBvcnQ/LmFzc2lnbm9yKSkgJiYgKHJlcG9ydD8ub3ZlcnNlZXIgPT0gZGVmYXVsdE93bmVyKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiKChyZXBvcnQ/LmFzc2lnbm9yKT8nVGhlIEFzc2lnbm9yIGNhbm5vdCBhbHNvIGJlIHRoZSBPdmVyc2VlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiAnOidZb3UgY2Fubm90IGJlIGFuIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkgc2luY2UgeW91IGFyZSB0aGUgQXNzaWdub3IuICcpICsnU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgT3ZlcnNlZXIuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKHJlcG9ydD8ub3ZlcnNlZXIpICYmICFyZXBvcnQ/LnVzZXJWYWxpZGF0ZVdpdGhQcm9ncmFtPy5pc1ZhbGlkT3ZlcnNlZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgdXNlciBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBzZWxlY3RlZCBQcm9ncmFtLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwicmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgJiYgKChyZXBvcnQ/LnJldmlld2VyID09PSByZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PT0gcmVwb3J0Py5hc3NpZ25lZSkgfHwgKChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSAmJiByZXBvcnQ/LmFzc2lnbm9yKSAmJiAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gcmVwb3J0Py5hc3NpZ25vcikpIHx8KChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSAmJiAoIXJlcG9ydD8uYXNzaWdub3IpKSAmJiAocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUgPT0gZGVmYXVsdE93bmVyKSkgfHwgIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWROb3RpZnlPbkZhaWx1cmUgKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVwb3J0Py5ub3RpZnlPbkZhaWx1cmV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlKSAmJiAoKHJlcG9ydD8ucmV2aWV3ZXIgPT09IHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlKSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBSZXZpZXdlciBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgT3ZlcnNlZXIuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInJlcG9ydD8ubm90aWZ5T25GYWlsdXJlICYmIChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PT0gcmVwb3J0Py5hc3NpZ25lZSlcIiBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBBc3NpZ25lZSBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgT3ZlcnNlZXInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoKHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlICYmIHJlcG9ydD8uYXNzaWdub3IpICYmIChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PSByZXBvcnQ/LmFzc2lnbm9yKSkgfHwoKHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlICYmICghcmVwb3J0Py5hc3NpZ25vcikpICYmIChyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSA9PSBkZWZhdWx0T3duZXIpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCIoKHJlcG9ydD8uYXNzaWdub3IpPydUaGUgQXNzaWdub3IgY2Fubm90IGFsc28gYmUgdGhlIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuICc6J1lvdSBjYW5ub3QgYmUgYW4gT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eSBzaW5jZSB5b3UgYXJlIHRoZSBBc3NpZ25vci4gJykgKydTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBPdmVyc2Vlci4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIocmVwb3J0Py5ub3RpZnlPbkZhaWx1cmUpICYmICFyZXBvcnQ/LnVzZXJWYWxpZGF0ZVdpdGhQcm9ncmFtPy5pc1ZhbGlkTm90aWZ5T25GYWlsdXJlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGlzIHVzZXIgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VsZWN0ZWQgUHJvZ3JhbS4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCIocmVwb3J0Py5vdmVyc2VlcikgJiYgKChyZXBvcnQ/Lm92ZXJzZWVyID09PSByZXBvcnQ/LmFzc2lnbmVlKSB8fChyZXBvcnQ/LnJldmlld2VyID09PSByZXBvcnQ/Lm92ZXJzZWVyKSB8fCAocmVwb3J0Py5vdmVyc2VlciA9PSByZXBvcnQ/LmFzc2lnbm9yKSB8fCAoIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWRPdmVyc2VlcikpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVwb3J0Py5vdmVyc2Vlcn19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKHJlcG9ydD8ub3ZlcnNlZXIpICYmICgocmVwb3J0Py5yZXZpZXdlciA9PT0gcmVwb3J0Py5vdmVyc2VlcikpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBSZXZpZXdlciBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgT3ZlcnNlZXIuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInJlcG9ydD8ub3ZlcnNlZXIgJiYgKHJlcG9ydD8ub3ZlcnNlZXIgPT09IHJlcG9ydD8uYXNzaWduZWUpXCIgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIEFzc2lnbmVlIGNhbm5vdCBhbHNvIGJlIHRoZSBPdmVyc2VlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBPdmVyc2VlcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIigocmVwb3J0Py5vdmVyc2VlcikgJiYgKHJlcG9ydD8ub3ZlcnNlZXIgPT0gcmVwb3J0Py5hc3NpZ25vcikpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiKChyZXBvcnQ/LmFzc2lnbm9yKT8nVGhlIEFzc2lnbm9yIGNhbm5vdCBhbHNvIGJlIHRoZSBPdmVyc2VlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiAnOidZb3UgY2Fubm90IGJlIGFuIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkgc2luY2UgeW91IGFyZSB0aGUgQXNzaWdub3IuICcpICsnU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgT3ZlcnNlZXIuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWRPdmVyc2VlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidTZWxlY3RlZCB1c2VyIGlzIG5vdCBhIHZhbGlkIG92ZXJzZWVyIGZvciBzZWxlY3RlZCBwcm9ncmFtLidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICBcclxuICAgIFxyXG4gICAgXHJcbiAgICBcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1vbGQgY29kZSBkeW5hbWljLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSAqbmdGb3I9XCJsZXQgcmVwb3J0IG9mIHJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8ucmVwb3J0czsgbGV0IGkgPSBpbmRleFwiIC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnVsay12aWV3LW9wdGlvblwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYnVsa1VwbG9hZD8uZnJlcXVlbmN5Py5yZXBvcnRzPy5sZW5ndGhcIiBbY2xhc3MuYWN0aXZlXT1cInRhYlR5cGUgPT09ICdmcmVxdWVuY3knXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFiLmVtaXQoJ2ZyZXF1ZW5jeScpXCI+RnJlcXVlbmN5IFJlc3BvbnNpYmlsaXRpZXM8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImJ1bGtVcGxvYWQ/Lm9uZ29pbmc/LnJlcG9ydHM/Lmxlbmd0aFwiIFtjbGFzcy5hY3RpdmVdPVwidGFiVHlwZSA9PT0gJ29uZ29pbmcnXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFiLmVtaXQoJ29uZ29pbmcnKVwiPk9uZ29pbmcgUmVzcG9uc2liaWxpdGllczwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYnVsa1VwbG9hZD8ub25Db21wbGV0aW9uPy5yZXBvcnRzPy5sZW5ndGhcIiBbY2xhc3MuYWN0aXZlXT1cInRhYlR5cGUgPT09ICdvbkNvbXBsZXRpb24nXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFiLmVtaXQoJ29uQ29tcGxldGlvbicpXCI+T24gQ29tcGxldGlvbiBSZXNwb25zaWJpbGl0aWVzPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstdmlldy1mb290ZXJcIj5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgPHA+e3tmaW5hbFJlc3BvbnNpYmlsaXRpZXN9fSBvdXQgb2Yge3tyZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LnJlcG9ydHM/Lmxlbmd0aH19IHJlc3BvbnNpYmlsaXRpZXMgd2lsbCBiZVxyXG4gICAgICAgICAgICAgICAgICAgIHVwbG9hZGVkLjwvcD5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgPHA+e3tmaW5hbFJlc3BvbnNpYmlsaXRpZXN9fSBvdXQgb2Yge3tyZXNwb25zaWJpbGl0eU11bHRpVGFiQnVsa1VwbG9hZD8ubGVuZ3RofX0ge3tyZXNwb25zaWJpbGl0eU11bHRpVGFiQnVsa1VwbG9hZD8ubGVuZ3RoID4gMSA/ICdyZXNwb25zaWJpbGl0aWVzJyA6ICdyZXNwb25zaWJpbGl0eSd9fSB3aWxsIGJlXHJcbiAgICAgICAgICAgICAgICAgICAgdXBsb2FkZWQuPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgaWQ9XCJidWxrLXJlc3AtY2FuY2VsXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzdWJtaXQoKVwiIGlkPVwiYnVsay1yZXNwLWNvbmZpcm1cIiBbZGlzYWJsZWRdPVwiIWlzQ29uZmlybUNsaWNrYWJsZVwiIGNsYXNzPVwiYmx1ZVwiPkNvbmZpcm08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwhLS0gZmluYWxSZXNwb25zaWJpbGl0aWVzIDwgMSAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxhcHAtbG9hZGVyICAqbmdJZj1cImxvYWRlclwiPjwvYXBwLWxvYWRlcj5cclxuICAgIFxyXG48L25nLWNvbnRhaW5lcj5cclxuICAgIFxyXG4gICAgPCEtLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXVwd2FyZCBpcyBuZXcgb25lLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+Il19
|