primeng 18.0.5-lts → 18.0.6-lts
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/autocomplete/autocomplete.d.ts +1 -1
- package/chips/chips.d.ts +237 -0
- package/chips/chips.interface.d.ts +66 -0
- package/chips/index.d.ts +5 -0
- package/chips/public_api.d.ts +2 -0
- package/chips/style/chipsstyle.d.ts +69 -0
- package/confirmdialog/confirmdialog.d.ts +1 -0
- package/datepicker/datepicker.d.ts +6 -2
- package/esm2022/accordion/accordion.mjs +13 -12
- package/esm2022/autocomplete/autocomplete.mjs +56 -56
- package/esm2022/base/style/basestyle.mjs +5 -1
- package/esm2022/carousel/carousel.mjs +3 -3
- package/esm2022/chips/chips.interface.mjs +2 -0
- package/esm2022/chips/chips.mjs +827 -0
- package/esm2022/chips/primeng-chips.mjs +5 -0
- package/esm2022/chips/public_api.mjs +3 -0
- package/esm2022/chips/style/chipsstyle.mjs +175 -0
- package/esm2022/confirmdialog/confirmdialog.mjs +11 -1
- package/esm2022/dataview/dataview.mjs +2 -2
- package/esm2022/datepicker/datepicker.mjs +26 -8
- package/esm2022/datepicker/style/datepickerstyle.mjs +6 -2
- package/esm2022/dynamicdialog/dynamicdialog.mjs +6 -2
- package/esm2022/inputmask/inputmask.mjs +2 -1
- package/esm2022/inputnumber/inputnumber.mjs +13 -5
- package/esm2022/listbox/listbox.mjs +1 -1
- package/esm2022/megamenu/megamenu.mjs +6 -8
- package/esm2022/menu/menu.mjs +2 -1
- package/esm2022/menubar/menubar.mjs +3 -4
- package/esm2022/multiselect/multiselect.interface.mjs +1 -1
- package/esm2022/multiselect/multiselect.mjs +25 -10
- package/esm2022/overlay/overlay.mjs +14 -10
- package/esm2022/panel/panel.mjs +1 -2
- package/esm2022/picklist/picklist.mjs +261 -173
- package/esm2022/scroller/scroller.mjs +26 -10
- package/esm2022/select/select.mjs +10 -7
- package/esm2022/selectbutton/selectbutton.mjs +12 -5
- package/esm2022/splitbutton/splitbutton.mjs +9 -28
- package/esm2022/stepper/stepper.mjs +3 -3
- package/esm2022/table/style/tablestyle.mjs +2 -2
- package/esm2022/table/table.mjs +37 -28
- package/esm2022/tabs/tabs.mjs +3 -3
- package/esm2022/tag/tag.mjs +1 -1
- package/esm2022/textarea/textarea.mjs +5 -1
- package/esm2022/tieredmenu/style/tieredmenustyle.mjs +13 -32
- package/esm2022/tieredmenu/tieredmenu.mjs +8 -8
- package/esm2022/togglebutton/style/togglebuttonstyle.mjs +2 -2
- package/esm2022/tooltip/tooltip.mjs +2 -2
- package/esm2022/tree/tree.mjs +51 -29
- package/esm2022/treeselect/treeselect.mjs +8 -7
- package/esm2022/treetable/treetable.mjs +3 -3
- package/fesm2022/primeng-accordion.mjs +12 -11
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +55 -55
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +4 -0
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +2 -2
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-chips.mjs +1006 -0
- package/fesm2022/primeng-chips.mjs.map +1 -0
- package/fesm2022/primeng-confirmdialog.mjs +10 -0
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +1 -1
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +30 -8
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +5 -1
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +1 -0
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +12 -4
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +5 -7
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +1 -0
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +2 -3
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +24 -9
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +13 -9
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +0 -1
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +260 -172
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +25 -9
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +9 -6
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +11 -4
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +9 -28
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +2 -2
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +38 -29
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +2 -2
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-textarea.mjs +4 -0
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +20 -39
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +1 -1
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +1 -1
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +50 -28
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +7 -6
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +2 -2
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/inputnumber/inputnumber.d.ts +6 -1
- package/listbox/listbox.d.ts +1 -1
- package/multiselect/multiselect.d.ts +10 -2
- package/multiselect/multiselect.interface.d.ts +1 -1
- package/package.json +321 -315
- package/panel/panel.d.ts +0 -1
- package/picklist/picklist.d.ts +2 -2
- package/scroller/scroller.d.ts +4 -0
- package/select/select.d.ts +1 -0
- package/selectbutton/selectbutton.d.ts +1 -0
- package/splitbutton/splitbutton.d.ts +4 -6
- package/table/table.d.ts +3 -1
- package/tag/tag.d.ts +1 -1
- package/textarea/textarea.d.ts +1 -0
- package/tree/tree.d.ts +7 -1
@@ -461,7 +461,11 @@ const classes = {
|
|
461
461
|
day: ({ instance, date }) => {
|
462
462
|
let selectedDayClass = '';
|
463
463
|
if (instance.isRangeSelection() && instance.isSelected(date) && date.selectable) {
|
464
|
-
|
464
|
+
const startDate = instance.value[0];
|
465
|
+
const endDate = instance.value[1];
|
466
|
+
const isStart = startDate && date.year === startDate.getFullYear() && date.month === startDate.getMonth() && date.day === startDate.getDate();
|
467
|
+
const isEnd = endDate && date.year === endDate.getFullYear() && date.month === endDate.getMonth() && date.day === endDate.getDate();
|
468
|
+
selectedDayClass = isStart || isEnd ? 'p-datepicker-day-selected' : 'p-datepicker-day-selected-range';
|
465
469
|
}
|
466
470
|
return {
|
467
471
|
'p-datepicker-day': true,
|
@@ -673,4 +677,4 @@ export var DatePickerClasses;
|
|
673
677
|
*/
|
674
678
|
DatePickerClasses["pcClearButton"] = "p-datepicker-clear-button";
|
675
679
|
})(DatePickerClasses || (DatePickerClasses = {}));
|
676
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlcnN0eWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGVwaWNrZXIvc3R5bGUvZGF0ZXBpY2tlcnN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzthQXlCYixFQUFFLENBQUMsMkJBQTJCLENBQUM7K0JBQ2IsRUFBRSxDQUFDLG1DQUFtQyxDQUFDOzZCQUN6QyxFQUFFLENBQUMsbUNBQW1DLENBQUM7a0JBQ2xELEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQzt3QkFDOUIsRUFBRSxDQUFDLGtDQUFrQyxDQUFDOzthQUVqRCxFQUFFLENBQUMsMkJBQTJCLENBQUM7NkJBQ2YsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLFdBQVcsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsZ0NBQWdDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQzs7Ozs7a0JBSzNNLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQztvQkFDeEMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2FBQ25ELEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQzs7OztrQkFJaEMsRUFBRSxDQUFDLHVDQUF1QyxDQUFDO29CQUN6QyxFQUFFLENBQUMseUNBQXlDLENBQUM7YUFDcEQsRUFBRSxDQUFDLGtDQUFrQyxDQUFDOzs7O2tCQUlqQyxFQUFFLENBQUMsdUNBQXVDLENBQUM7ZUFDOUMsRUFBRSxDQUFDLHNDQUFzQyxDQUFDLElBQUksRUFBRSxDQUFDLHNDQUFzQyxDQUFDLElBQUksRUFBRSxDQUFDLHNDQUFzQyxDQUFDO3NCQUMvSCxFQUFFLENB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RUc7SUFDSCxzREFBaUMsQ0FBQTtJQUNqQzs7T0FFRztJQUNILDZDQUF3QixDQUFBO0lBQ3hCOztPQUVHO0lBQ0gsMERBQXFDLENBQUE7SUFDckM7O09BRUc7SUFDSCxpREFBNEIsQ0FBQTtJQUM1Qjs7T0FFRztJQUNILHdEQUFtQyxDQUFBO0lBQ25DOztPQUVHO0lBQ0gsK0NBQTBCLENBQUE7SUFDMUI7O09BRUc7SUFDSCw0REFBdUMsQ0FBQTtJQUN2Qzs7T0FFRztJQUNILDREQUF1QyxDQUFBO0lBQ3ZDOztPQUVHO0lBQ0gsd0VBQW1ELENBQUE7SUFDbkQ7O09BRUc7SUFDSCx3RUFBbUQsQ0FBQTtJQUNuRDs7T0FFRztJQUNILHlEQUFvQyxDQUFBO0lBQ3BDOztPQUVHO0lBQ0gsZ0VBQTJDLENBQUE7SUFDM0M7O09BRUc7SUFDSCxnRUFBMkMsQ0FBQTtJQUMzQzs7T0FFRztJQUNILDREQUF1QyxDQUFBO0lBQ3ZDOztPQUVHO0lBQ0gseURBQW9DLENBQUE7SUFDcEM7O09BRUc7SUFDSCxnRUFBMkMsQ0FBQTtJQUMzQzs7T0FFRztJQUNILGdFQUEyQyxDQUFBO0FBQy9DLENBQUMsRUF6SlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQXlKNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlU3R5bGUgfSBmcm9tICdwcmltZW5nL2Jhc2UnO1xuXG5jb25zdCB0aGVtZSA9ICh7IGR0IH0pID0+IGBcbi5wLWRhdGVwaWNrZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wLWRhdGVwaWNrZXItaW5wdXQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtZGF0ZXBpY2tlci1kcm9wZG93bikgLnAtZGF0ZXBpY2tlci1pbnB1dCB7XG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiAwO1xufVxuXG4ucC1kYXRlcGlja2VyLWRyb3Bkb3duIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi53aWR0aCcpfTtcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5ib3JkZXIucmFkaXVzJyl9O1xuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5ib3JkZXIucmFkaXVzJyl9O1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24uYmFja2dyb3VuZCcpfTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke2R0KCdkYXRlcGlja2VyLmRyb3Bkb3duLmJvcmRlci5jb2xvcicpfTtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAwIG5vbmU7XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24uY29sb3InKX07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGNvbG9yICR7ZHQoJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgYm9yZGVyLWNvbG9yICR7ZHQoJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgb3V0bGluZS1jb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX07XG4gICAgb3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5wLWRhdGVwaWNrZXItZHJvcGRvd246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24uaG92ZXIuYmFja2dyb3VuZCcpfTtcbiAgICBib3JkZXItY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24uaG92ZXIuYm9yZGVyLmNvbG9yJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRlcGlja2VyLmRyb3Bkb3duLmhvdmVyLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLWRyb3Bkb3duOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5hY3RpdmUuYmFja2dyb3VuZCcpfTtcbiAgICBib3JkZXItY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24uYWN0aXZlLmJvcmRlci5jb2xvcicpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5hY3RpdmUuY29sb3InKX07XG59XG5cbi5wLWRhdGVwaWNrZXItZHJvcGRvd246Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm94LXNoYWRvdzogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5mb2N1cy5yaW5nLnNoYWRvdycpfTtcbiAgICBvdXRsaW5lOiAke2R0KCdkYXRlcGlja2VyLmRyb3Bkb3duLmZvY3VzLnJpbmcud2lkdGgnKX0gJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5mb2N1cy5yaW5nLnN0eWxlJyl9ICR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24uZm9jdXMucmluZy5jb2xvcicpfTtcbiAgICBvdXRsaW5lLW9mZnNldDogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5mb2N1cy5yaW5nLm9mZnNldCcpfTtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtZGF0ZXBpY2tlci1pbnB1dC1pY29uLWNvbnRhaW5lcikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtZGF0ZXBpY2tlci1pbnB1dC1pY29uLWNvbnRhaW5lcikgLnAtZGF0ZXBpY2tlci1pbnB1dCB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKCgke2R0KCdmb3JtLmZpZWxkLnBhZGRpbmcueCcpfSAqIDIpICsgJHtkdCgnaWNvbi5zaXplJyl9KTtcbn1cblxuLnAtZGF0ZXBpY2tlci1pbnB1dC1pY29uLWNvbnRhaW5lciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiAke2R0KCdmb3JtLmZpZWxkLnBhZGRpbmcueCcpfTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogKCR7ZHQoJ2ljb24uc2l6ZScpfSAvIDIpKTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5pbnB1dC5pY29uLmNvbG9yJyl9O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuICAgIFxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtZGF0ZXBpY2tlci1kcm9wZG93bikgLnAtZGF0ZXBpY2tlci1jbGVhci1pY29uLFxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtZGF0ZXBpY2tlci1pbnB1dC1pY29uLWNvbnRhaW5lcikgLnAtZGF0ZXBpY2tlci1jbGVhci1pY29uIHtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiBjYWxjKCR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24ud2lkdGgnKX0gKyAke2R0KCdmb3JtLmZpZWxkLnBhZGRpbmcueCcpfSk7XG59XG4ucC1kYXRlcGlja2VyLWNsZWFyLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJHtkdCgnZm9ybS5maWVsZC5pY29uLmNvbG9yJyl9O1xuICAgIGluc2V0LWlubGluZS1lbmQ6ICR7ZHQoJ2Zvcm0uZmllbGQucGFkZGluZy54Jyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLWZsdWlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ucC1kYXRlcGlja2VyLWZsdWlkIC5wLWRhdGVwaWNrZXItaW5wdXQge1xuICAgIHdpZHRoOiAxJTtcbn1cblxuLnAtZGF0ZXBpY2tlciAucC1kYXRlcGlja2VyLXBhbmVsIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG59XG5cbi5wLWRhdGVwaWNrZXItcGFuZWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGVwaWNrZXIucGFuZWwucGFkZGluZycpfTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRlcGlja2VyLnBhbmVsLmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIucGFuZWwuY29sb3InKX07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtkdCgnZGF0ZXBpY2tlci5wYW5lbC5ib3JkZXIuY29sb3InKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgnZGF0ZXBpY2tlci5wYW5lbC5ib3JkZXIucmFkaXVzJyl9O1xuICAgIGJveC1zaGFkb3c6ICR7ZHQoJ2RhdGVwaWNrZXIucGFuZWwuc2hhZG93Jyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLXBhbmVsLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnAtZGF0ZXBpY2tlci1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogJHtkdCgnZGF0ZXBpY2tlci5oZWFkZXIucGFkZGluZycpfTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRlcGlja2VyLmhlYWRlci5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRlcGlja2VyLmhlYWRlci5jb2xvcicpfTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkdCgnZGF0ZXBpY2tlci5oZWFkZXIuYm9yZGVyLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLW5leHQtYnV0dG9uOmRpcihydGwpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4ucC1kYXRlcGlja2VyLXByZXYtYnV0dG9uOmRpcihydGwpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4ucC1kYXRlcGlja2VyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogJHtkdCgnZGF0ZXBpY2tlci50aXRsZS5nYXAnKX07XG4gICAgZm9udC13ZWlnaHQ6ICR7ZHQoJ2RhdGVwaWNrZXIudGl0bGUuZm9udC53ZWlnaHQnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItc2VsZWN0LXllYXIsXG4ucC1kYXRlcGlja2VyLXNlbGVjdC1tb250aCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGNvbG9yICR7ZHQoJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgYm9yZGVyLWNvbG9yICR7ZHQoJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgb3V0bGluZS1jb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGJveC1zaGFkb3cgJHtkdChcbiAgICAgICAgJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbidcbiAgICApfTtcbn1cblxuLnAtZGF0ZXBpY2tlci1zZWxlY3QtbW9udGgge1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0Lm1vbnRoLnBhZGRpbmcnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0Lm1vbnRoLmNvbG9yJyl9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0Lm1vbnRoLmJvcmRlci5yYWRpdXMnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItc2VsZWN0LXllYXIge1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0LnllYXIucGFkZGluZycpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5zZWxlY3QueWVhci5jb2xvcicpfTtcbiAgICBib3JkZXItcmFkaXVzOiAke2R0KCdkYXRlcGlja2VyLnNlbGVjdC55ZWFyLmJvcmRlci5yYWRpdXMnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItc2VsZWN0LW1vbnRoOmVuYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0Lm1vbnRoLmhvdmVyLmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0Lm1vbnRoLmhvdmVyLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLXNlbGVjdC15ZWFyOmVuYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0LnllYXIuaG92ZXIuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5zZWxlY3QueWVhci5ob3Zlci5jb2xvcicpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci1jYWxlbmRhci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5wLWRhdGVwaWNrZXItY2FsZW5kYXItY29udGFpbmVyIC5wLWRhdGVwaWNrZXItY2FsZW5kYXIge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDFweCBzb2xpZCAke2R0KCdkYXRlcGlja2VyLmdyb3VwLmJvcmRlci5jb2xvcicpfTtcbiAgICBwYWRkaW5nLWlubGluZTogJHtkdCgnZGF0ZXBpY2tlci5ncm91cC5nYXAnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItY2FsZW5kYXItY29udGFpbmVyIC5wLWRhdGVwaWNrZXItY2FsZW5kYXI6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDAgbm9uZTtcbn1cblxuLnAtZGF0ZXBpY2tlci1jYWxlbmRhci1jb250YWluZXIgLnAtZGF0ZXBpY2tlci1jYWxlbmRhcjpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG59XG5cbi5wLWRhdGVwaWNrZXItZGF5LXZpZXcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbjogJHtkdCgnZGF0ZXBpY2tlci5kYXkudmlldy5tYXJnaW4nKX07XG59XG5cbi5wLWRhdGVwaWNrZXItd2Vla2RheS1jZWxsIHtcbiAgICBwYWRkaW5nOiAke2R0KCdkYXRlcGlja2VyLndlZWsuZGF5LnBhZGRpbmcnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItd2Vla2RheSB7XG4gICAgZm9udC13ZWlnaHQ6ICR7ZHQoJ2RhdGVwaWNrZXIud2Vlay5kYXkuZm9udC53ZWlnaHQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIud2Vlay5kYXkuY29sb3InKX07XG59XG5cbi5wLWRhdGVwaWNrZXItZGF5LWNlbGwge1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5wYWRkaW5nJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLWRheSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLndpZHRoJyl9O1xuICAgIGhlaWdodDogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmhlaWdodCcpfTtcbiAgICBib3JkZXItcmFkaXVzOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuYm9yZGVyLnJhZGl1cycpfTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR7ZHQoJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgY29sb3IgJHtkdCgnZGF0ZXBpY2tlci50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LCBib3JkZXItY29sb3IgJHtkdCgnZGF0ZXBpY2tlci50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LFxuICAgICAgICBib3gtc2hhZG93ICR7ZHQoJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgb3V0bGluZS1jb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5jb2xvcicpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci1kYXk6bm90KC5wLWRhdGVwaWNrZXItZGF5LXNlbGVjdGVkKTpub3QoLnAtZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuaG92ZXIuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmhvdmVyLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLWRheTpmb2N1cy12aXNpYmxlIHtcbiAgICBib3gtc2hhZG93OiAke2R0KCdkYXRlcGlja2VyLmRhdGUuZm9jdXMucmluZy5zaGFkb3cnKX07XG4gICAgb3V0bGluZTogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmZvY3VzLnJpbmcud2lkdGgnKX0gJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmZvY3VzLnJpbmcuc3R5bGUnKX0gJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmZvY3VzLnJpbmcuY29sb3InKX07XG4gICAgb3V0bGluZS1vZmZzZXQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLm9mZnNldCcpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci1kYXktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5zZWxlY3RlZC5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuc2VsZWN0ZWQuY29sb3InKX07XG59XG5cbi5wLWRhdGVwaWNrZXItZGF5LXNlbGVjdGVkLXJhbmdlIHtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRlcGlja2VyLmRhdGUucmFuZ2Uuc2VsZWN0ZWQuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLnJhbmdlLnNlbGVjdGVkLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLXRvZGF5ID4gLnAtZGF0ZXBpY2tlci1kYXkge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIudG9kYXkuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci50b2RheS5jb2xvcicpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci10b2RheSA+IC5wLWRhdGVwaWNrZXItZGF5LXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuc2VsZWN0ZWQuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLnNlbGVjdGVkLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLXRvZGF5ID4gLnAtZGF0ZXBpY2tlci1kYXktc2VsZWN0ZWQtcmFuZ2Uge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5yYW5nZS5zZWxlY3RlZC5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRlcGlja2VyLmRhdGUucmFuZ2Uuc2VsZWN0ZWQuY29sb3InKX07XG59XG5cbi5wLWRhdGVwaWNrZXItd2Vla251bWJlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyXG59XG5cbi5wLWRhdGVwaWNrZXItbW9udGgtdmlldyB7XG4gICAgbWFyZ2luOiAke2R0KCdkYXRlcGlja2VyLm1vbnRoLnZpZXcubWFyZ2luJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLW1vbnRoIHtcbiAgICB3aWR0aDogMzMuMyU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJHtkdCgnZGF0ZXBpY2tlci5tb250aC5wYWRkaW5nJyl9O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHtkdCgnZGF0ZXBpY2tlci50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LCBjb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGJvcmRlci1jb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGJveC1zaGFkb3cgJHtkdCgnZGF0ZXBpY2tlci50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LCBvdXRsaW5lLWNvbG9yICR7ZHQoXG4gICAgICAgICdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nXG4gICAgKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgnZGF0ZXBpY2tlci5tb250aC5ib3JkZXIucmFkaXVzJyl9O1xuICAgIG91dGxpbmUtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuY29sb3InKX07XG59XG5cbi5wLWRhdGVwaWNrZXItbW9udGg6bm90KC5wLWRpc2FibGVkKTpub3QoLnAtZGF0ZXBpY2tlci1tb250aC1zZWxlY3RlZCk6aG92ZXIge1xuICAgIGNvbG9yOiAgJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmhvdmVyLmNvbG9yJyl9O1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5ob3Zlci5iYWNrZ3JvdW5kJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLW1vbnRoLXNlbGVjdGVkIHtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLnNlbGVjdGVkLmNvbG9yJyl9O1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5zZWxlY3RlZC5iYWNrZ3JvdW5kJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLW1vbnRoOm5vdCgucC1kaXNhYmxlZCk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm94LXNoYWRvdzogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmZvY3VzLnJpbmcuc2hhZG93Jyl9O1xuICAgIG91dGxpbmU6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLndpZHRoJyl9ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLnN0eWxlJyl9ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLmNvbG9yJyl9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAke2R0KCdkYXRlcGlja2VyLmRhdGUuZm9jdXMucmluZy5vZmZzZXQnKX07XG59XG5cbi5wLWRhdGVwaWNrZXIteWVhci12aWV3IHtcbiAgICBtYXJnaW46ICR7ZHQoJ2RhdGVwaWNrZXIueWVhci52aWV3Lm1hcmdpbicpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci15ZWFyIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGVwaWNrZXIueWVhci5wYWRkaW5nJyl9O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHtkdCgnZGF0ZXBpY2tlci50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LCBjb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGJvcmRlci1jb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGJveC1zaGFkb3cgJHtkdCgnZGF0ZXBpY2tlci50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LCBvdXRsaW5lLWNvbG9yICR7ZHQoXG4gICAgICAgICdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nXG4gICAgKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgnZGF0ZXBpY2tlci55ZWFyLmJvcmRlci5yYWRpdXMnKX07XG4gICAgb3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5jb2xvcicpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci15ZWFyOm5vdCgucC1kaXNhYmxlZCk6bm90KC5wLWRhdGVwaWNrZXIteWVhci1zZWxlY3RlZCk6aG92ZXIge1xuICAgIGNvbG9yOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuaG92ZXIuY29sb3InKX07XG4gICAgYmFja2dyb3VuZDogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmhvdmVyLmJhY2tncm91bmQnKX07XG59XG5cbi5wLWRhdGVwaWNrZXIteWVhci1zZWxlY3RlZCB7XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5zZWxlY3RlZC5jb2xvcicpfTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuc2VsZWN0ZWQuYmFja2dyb3VuZCcpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci15ZWFyOm5vdCgucC1kaXNhYmxlZCk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm94LXNoYWRvdzogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmZvY3VzLnJpbmcuc2hhZG93Jyl9O1xuICAgIG91dGxpbmU6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLndpZHRoJyl9ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLnN0eWxlJyl9ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLmNvbG9yJyl9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAke2R0KCdkYXRlcGlja2VyLmRhdGUuZm9jdXMucmluZy5vZmZzZXQnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItYnV0dG9uYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6ICAke2R0KCdkYXRlcGlja2VyLmJ1dHRvbmJhci5wYWRkaW5nJyl9O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2R0KCdkYXRlcGlja2VyLmJ1dHRvbmJhci5ib3JkZXIuY29sb3InKX07XG59XG5cbi5wLWRhdGVwaWNrZXItYnV0dG9uYmFyIC5wLWJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5wLWRhdGVwaWNrZXItdGltZS1waWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtkdCgnZGF0ZXBpY2tlci50aW1lLnBpY2tlci5ib3JkZXIuY29sb3InKX07XG4gICAgcGFkZGluZzogMDtcbiAgICBnYXA6ICR7ZHQoJ2RhdGVwaWNrZXIudGltZS5waWNrZXIuZ2FwJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLWNhbGVuZGFyLWNvbnRhaW5lciArIC5wLWRhdGVwaWNrZXItdGltZS1waWNrZXIge1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGVwaWNrZXIudGltZS5waWNrZXIucGFkZGluZycpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci10aW1lLXBpY2tlciA+IGRpdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAke2R0KCdkYXRlcGlja2VyLnRpbWUucGlja2VyLmJ1dHRvbi5nYXAnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItdGltZS1waWNrZXIgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ucC1kYXRlcGlja2VyLXRpbWVvbmx5IC5wLWRhdGVwaWNrZXItdGltZS1waWNrZXIge1xuICAgIGJvcmRlci10b3A6IDAgbm9uZTtcbn1cblxuLnAtZGF0ZXBpY2tlci1jYWxlbmRhcjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIC5wLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtaW5wdXR0ZXh0LXNtKSAucC1kYXRlcGlja2VyLWRyb3Bkb3duIHtcbiAgICB3aWR0aDogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5zbS53aWR0aCcpfTtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtaW5wdXR0ZXh0LXNtKSAucC1kYXRlcGlja2VyLWRyb3Bkb3duIC5wLWljb24sXG4ucC1kYXRlcGlja2VyOmhhcygucC1pbnB1dHRleHQtc20pIC5wLWRhdGVwaWNrZXItaW5wdXQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAke2R0KCdmb3JtLmZpZWxkLnNtLmZvbnQuc2l6ZScpfTtcbiAgICB3aWR0aDogJHtkdCgnZm9ybS5maWVsZC5zbS5mb250LnNpemUnKX07XG4gICAgaGVpZ2h0OiAke2R0KCdmb3JtLmZpZWxkLnNtLmZvbnQuc2l6ZScpfTtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtaW5wdXR0ZXh0LWxnKSAucC1kYXRlcGlja2VyLWRyb3Bkb3duIHtcbiAgICB3aWR0aDogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5sZy53aWR0aCcpfTtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtaW5wdXR0ZXh0LWxnKSAucC1kYXRlcGlja2VyLWRyb3Bkb3duIC5wLWljb24sXG4ucC1kYXRlcGlja2VyOmhhcygucC1pbnB1dHRleHQtbGcpIC5wLWRhdGVwaWNrZXItaW5wdXQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAke2R0KCdmb3JtLmZpZWxkLmxnLmZvbnQuc2l6ZScpfTtcbiAgICB3aWR0aDogJHtkdCgnZm9ybS5maWVsZC5sZy5mb250LnNpemUnKX07XG4gICAgaGVpZ2h0OiAke2R0KCdmb3JtLmZpZWxkLmxnLmZvbnQuc2l6ZScpfTtcbn1cblxuLyogRm9yIFByaW1lTkcgKi9cblxucC1jYWxlbmRhci5uZy1pbnZhbGlkLm5nLWRpcnR5IC5wLWRhdGVwaWNrZXIucC1pbnB1dHdyYXBwZXIgLnAtaW5wdXR0ZXh0e1xuICAgIGJvcmRlci1jb2xvcjogJHtkdCgnaW5wdXR0ZXh0LmludmFsaWQuYm9yZGVyLmNvbG9yJyl9O1xufVxuXG5wLWRhdGVwaWNrZXIubmctaW52YWxpZC5uZy1kaXJ0eSAucC1kYXRlcGlja2VyLnAtaW5wdXR3cmFwcGVyIC5wLWlucHV0dGV4dHtcbiAgICBib3JkZXItY29sb3I6ICR7ZHQoJ2lucHV0dGV4dC5pbnZhbGlkLmJvcmRlci5jb2xvcicpfTtcbn1cbmA7XG5cbmNvbnN0IGlubGluZVN0eWxlcyA9IHtcbiAgICByb290OiAoeyBwcm9wcyB9KSA9PiAoeyBwb3NpdGlvbjogcHJvcHMuYXBwZW5kVG8gPT09ICdzZWxmJyA/ICdyZWxhdGl2ZScgOiB1bmRlZmluZWQgfSlcbn07XG5cbmNvbnN0IGNsYXNzZXMgPSB7XG4gICAgcm9vdDogKHsgaW5zdGFuY2UgfSkgPT4gKHtcbiAgICAgICAgJ3AtZGF0ZXBpY2tlciBwLWNvbXBvbmVudCBwLWlucHV0d3JhcHBlcic6IHRydWUsXG4gICAgICAgICdwLWRhdGVwaWNrZXItZmx1aWQnOiBpbnN0YW5jZS5oYXNGbHVpZCxcbiAgICAgICAgJ3AtaW5wdXR3cmFwcGVyLWZpbGxlZCc6IGluc3RhbmNlLmZpbGxlZCxcbiAgICAgICAgJ3AtaW5wdXR3cmFwcGVyLWZvY3VzJzogaW5zdGFuY2UuZm9jdXMsXG4gICAgICAgICdwLWZvY3VzJzogaW5zdGFuY2UuZm9jdXMgfHwgaW5zdGFuY2Uub3ZlcmxheVZpc2libGVcbiAgICB9KSxcbiAgICBwY0lucHV0OiAncC1kYXRlcGlja2VyLWlucHV0JyxcbiAgICBkcm9wZG93bjogJ3AtZGF0ZXBpY2tlci1kcm9wZG93bicsXG4gICAgaW5wdXRJY29uQ29udGFpbmVyOiAncC1kYXRlcGlja2VyLWlucHV0LWljb24tY29udGFpbmVyJyxcbiAgICBpbnB1dEljb246ICdwLWRhdGVwaWNrZXItaW5wdXQtaWNvbicsXG4gICAgcGFuZWw6ICh7IGluc3RhbmNlIH0pID0+ICh7XG4gICAgICAgICdwLWRhdGVwaWNrZXItcGFuZWwgcC1jb21wb25lbnQnOiB0cnVlLFxuICAgICAgICAncC1kYXRlcGlja2VyLXBhbmVsLWlubGluZSc6IGluc3RhbmNlLmlubGluZSxcbiAgICAgICAgJ3AtZGlzYWJsZWQnOiBpbnN0YW5jZS5kaXNhYmxlZCxcbiAgICAgICAgJ3AtZGF0ZXBpY2tlci10aW1lb25seSc6IGluc3RhbmNlLnRpbWVPbmx5XG4gICAgfSksXG4gICAgY2FsZW5kYXJDb250YWluZXI6ICdwLWRhdGVwaWNrZXItY2FsZW5kYXItY29udGFpbmVyJyxcbiAgICBjYWxlbmRhcjogJ3AtZGF0ZXBpY2tlci1jYWxlbmRhcicsXG4gICAgaGVhZGVyOiAncC1kYXRlcGlja2VyLWhlYWRlcicsXG4gICAgcGNQcmV2QnV0dG9uOiAncC1kYXRlcGlja2VyLXByZXYtYnV0dG9uJyxcbiAgICB0aXRsZTogJ3AtZGF0ZXBpY2tlci10aXRsZScsXG4gICAgc2VsZWN0TW9udGg6ICdwLWRhdGVwaWNrZXItc2VsZWN0LW1vbnRoJyxcbiAgICBzZWxlY3RZZWFyOiAncC1kYXRlcGlja2VyLXNlbGVjdC15ZWFyJyxcbiAgICBkZWNhZGU6ICdwLWRhdGVwaWNrZXItZGVjYWRlJyxcbiAgICBwY05leHRCdXR0b246ICdwLWRhdGVwaWNrZXItbmV4dC1idXR0b24nLFxuICAgIGRheVZpZXc6ICdwLWRhdGVwaWNrZXItZGF5LXZpZXcnLFxuICAgIHdlZWtIZWFkZXI6ICdwLWRhdGVwaWNrZXItd2Vla2hlYWRlciBwLWRpc2FibGVkJyxcbiAgICB3ZWVrTnVtYmVyOiAncC1kYXRlcGlja2VyLXdlZWtudW1iZXInLFxuICAgIHdlZWtMYWJlbENvbnRhaW5lcjogJ3AtZGF0ZXBpY2tlci13ZWVrbGFiZWwtY29udGFpbmVyIHAtZGlzYWJsZWQnLFxuICAgIHdlZWtEYXlDZWxsOiAncC1kYXRlcGlja2VyLXdlZWtkYXktY2VsbCcsXG4gICAgd2Vla0RheTogJ3AtZGF0ZXBpY2tlci13ZWVrZGF5JyxcbiAgICBkYXlDZWxsOiAoeyBkYXRlIH0pID0+IFtcbiAgICAgICAgJ3AtZGF0ZXBpY2tlci1kYXktY2VsbCcsXG4gICAgICAgIHtcbiAgICAgICAgICAgICdwLWRhdGVwaWNrZXItb3RoZXItbW9udGgnOiBkYXRlLm90aGVyTW9udGgsXG4gICAgICAgICAgICAncC1kYXRlcGlja2VyLXRvZGF5JzogZGF0ZS50b2RheVxuICAgICAgICB9XG4gICAgXSxcbiAgICBkYXk6ICh7IGluc3RhbmNlLCBkYXRlIH0pID0+IHtcbiAgICAgICAgbGV0IHNlbGVjdGVkRGF5Q2xhc3MgPSAnJztcblxuICAgICAgICBpZiAoaW5zdGFuY2UuaXNSYW5nZVNlbGVjdGlvbigpICYmIGluc3RhbmNlLmlzU2VsZWN0ZWQoZGF0ZSkgJiYgZGF0ZS5zZWxlY3RhYmxlKSB7XG4gICAgICAgICAgICBzZWxlY3RlZERheUNsYXNzID0gZGF0ZS5kYXkgPT09IGluc3RhbmNlLnZhbHVlWzBdLmdldERhdGUoKSB8fCBkYXRlLmRheSA9PT0gaW5zdGFuY2UudmFsdWVbMV0uZ2V0RGF0ZSgpID8gJ3AtZGF0ZXBpY2tlci1kYXktc2VsZWN0ZWQnIDogJ3AtZGF0ZXBpY2tlci1kYXktc2VsZWN0ZWQtcmFuZ2UnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdwLWRhdGVwaWNrZXItZGF5JzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWRhdGVwaWNrZXItZGF5LXNlbGVjdGVkJzogIWluc3RhbmNlLmlzUmFuZ2VTZWxlY3Rpb24oKSAmJiBpbnN0YW5jZS5pc1NlbGVjdGVkKGRhdGUpICYmIGRhdGUuc2VsZWN0YWJsZSxcbiAgICAgICAgICAgICdwLWRpc2FibGVkJzogaW5zdGFuY2UuZGlzYWJsZWQgfHwgIWRhdGUuc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIFtzZWxlY3RlZERheUNsYXNzXTogdHJ1ZVxuICAgICAgICB9O1xuICAgIH0sXG4gICAgbW9udGhWaWV3OiAncC1kYXRlcGlja2VyLW1vbnRoLXZpZXcnLFxuICAgIG1vbnRoOiAoeyBpbnN0YW5jZSwgcHJvcHMsIG1vbnRoLCBpbmRleCB9KSA9PiBbXG4gICAgICAgICdwLWRhdGVwaWNrZXItbW9udGgnLFxuICAgICAgICB7XG4gICAgICAgICAgICAncC1kYXRlcGlja2VyLW1vbnRoLXNlbGVjdGVkJzogaW5zdGFuY2UuaXNNb250aFNlbGVjdGVkKGluZGV4KSxcbiAgICAgICAgICAgICdwLWRpc2FibGVkJzogcHJvcHMuZGlzYWJsZWQgfHwgIW1vbnRoLnNlbGVjdGFibGVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgeWVhclZpZXc6ICdwLWRhdGVwaWNrZXIteWVhci12aWV3JyxcbiAgICB5ZWFyOiAoeyBpbnN0YW5jZSwgcHJvcHMsIHllYXIgfSkgPT4gW1xuICAgICAgICAncC1kYXRlcGlja2VyLXllYXInLFxuICAgICAgICB7XG4gICAgICAgICAgICAncC1kYXRlcGlja2VyLXllYXItc2VsZWN0ZWQnOiBpbnN0YW5jZS5pc1llYXJTZWxlY3RlZCh5ZWFyLnZhbHVlKSxcbiAgICAgICAgICAgICdwLWRpc2FibGVkJzogcHJvcHMuZGlzYWJsZWQgfHwgIXllYXIuc2VsZWN0YWJsZVxuICAgICAgICB9XG4gICAgXSxcbiAgICB0aW1lUGlja2VyOiAncC1kYXRlcGlja2VyLXRpbWUtcGlja2VyJyxcbiAgICBob3VyUGlja2VyOiAncC1kYXRlcGlja2VyLWhvdXItcGlja2VyJyxcbiAgICBwY0luY3JlbWVudEJ1dHRvbjogJ3AtZGF0ZXBpY2tlci1pbmNyZW1lbnQtYnV0dG9uJyxcbiAgICBwY0RlY3JlbWVudEJ1dHRvbjogJ3AtZGF0ZXBpY2tlci1kZWNyZW1lbnQtYnV0dG9uJyxcbiAgICBzZXBhcmF0b3I6ICdwLWRhdGVwaWNrZXItc2VwYXJhdG9yJyxcbiAgICBtaW51dGVQaWNrZXI6ICdwLWRhdGVwaWNrZXItbWludXRlLXBpY2tlcicsXG4gICAgc2Vjb25kUGlja2VyOiAncC1kYXRlcGlja2VyLXNlY29uZC1waWNrZXInLFxuICAgIGFtcG1QaWNrZXI6ICdwLWRhdGVwaWNrZXItYW1wbS1waWNrZXInLFxuICAgIGJ1dHRvbmJhcjogJ3AtZGF0ZXBpY2tlci1idXR0b25iYXInLFxuICAgIHBjVG9kYXlCdXR0b246ICdwLWRhdGVwaWNrZXItdG9kYXktYnV0dG9uJyxcbiAgICBwY0NsZWFyQnV0dG9uOiAncC1kYXRlcGlja2VyLWNsZWFyLWJ1dHRvbidcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyU3R5bGUgZXh0ZW5kcyBCYXNlU3R5bGUge1xuICAgIG5hbWUgPSAnZGF0ZXBpY2tlcic7XG5cbiAgICB0aGVtZSA9IHRoZW1lO1xuXG4gICAgY2xhc3NlcyA9IGNsYXNzZXM7XG5cbiAgICBpbmxpbmVTdHlsZXMgPSBpbmxpbmVTdHlsZXM7XG59XG5cbi8qKlxuICpcbiAqIERhdGVQaWNrZXIgaXMgYSBmb3JtIGNvbXBvbmVudCB0byB3b3JrIHdpdGggZGF0ZXMuXG4gKlxuICogW0xpdmUgRGVtb10oaHR0cHM6Ly93d3cucHJpbWVuZy5vcmcvZGF0ZXBpY2tlci8pXG4gKlxuICogQG1vZHVsZSBkYXRlcGlja2Vyc3R5bGVcbiAqXG4gKi9cbmV4cG9ydCBlbnVtIERhdGVQaWNrZXJDbGFzc2VzIHtcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSByb290IGVsZW1lbnRcbiAgICAgKi9cbiAgICByb290ID0gJ3AtZGF0ZXBpY2tlcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgaW5wdXQgZWxlbWVudFxuICAgICAqL1xuICAgIHBjSW5wdXQgPSAncC1kYXRlcGlja2VyLWlucHV0JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBkcm9wZG93biBlbGVtZW50XG4gICAgICovXG4gICAgZHJvcGRvd24gPSAncC1kYXRlcGlja2VyLWRyb3Bkb3duJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBpbnB1dCBpY29uIGNvbnRhaW5lciBlbGVtZW50XG4gICAgICovXG4gICAgaW5wdXRJY29uQ29udGFpbmVyID0gJ3AtZGF0ZXBpY2tlci1pbnB1dC1pY29uLWNvbnRhaW5lcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgaW5wdXQgaWNvbiBlbGVtZW50XG4gICAgICovXG4gICAgaW5wdXRJY29uID0gJ3AtZGF0ZXBpY2tlci1pbnB1dC1pY29uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBwYW5lbCBlbGVtZW50XG4gICAgICovXG4gICAgcGFuZWwgPSAncC1kYXRlcGlja2VyLXBhbmVsJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBjYWxlbmRhciBjb250YWluZXIgZWxlbWVudFxuICAgICAqL1xuICAgIGNhbGVuZGFyQ29udGFpbmVyID0gJ3AtZGF0ZXBpY2tlci1jYWxlbmRhci1jb250YWluZXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGNhbGVuZGFyIGVsZW1lbnRcbiAgICAgKi9cbiAgICBjYWxlbmRhciA9ICdwLWRhdGVwaWNrZXItY2FsZW5kYXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGhlYWRlciBlbGVtZW50XG4gICAgICovXG4gICAgaGVhZGVyID0gJ3AtZGF0ZXBpY2tlci1oZWFkZXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHByZXZpb3VzIGJ1dHRvbiBlbGVtZW50XG4gICAgICovXG4gICAgcGNQcmV2QnV0dG9uID0gJ3AtZGF0ZXBpY2tlci1wcmV2LWJ1dHRvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgdGl0bGUgZWxlbWVudFxuICAgICAqL1xuICAgIHRpdGxlID0gJ3AtZGF0ZXBpY2tlci10aXRsZScsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgc2VsZWN0IG1vbnRoIGVsZW1lbnRcbiAgICAgKi9cbiAgICBzZWxlY3RNb250aCA9ICdwLWRhdGVwaWNrZXItc2VsZWN0LW1vbnRoJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBzZWxlY3QgeWVhciBlbGVtZW50XG4gICAgICovXG4gICAgc2VsZWN0WWVhciA9ICdwLWRhdGVwaWNrZXItc2VsZWN0LXllYXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGRlY2FkZSBlbGVtZW50XG4gICAgICovXG4gICAgZGVjYWRlID0gJ3AtZGF0ZXBpY2tlci1kZWNhZGUnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIG5leHQgYnV0dG9uIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwY05leHRCdXR0b24gPSAncC1kYXRlcGlja2VyLW5leHQtYnV0dG9uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBkYXkgdmlldyBlbGVtZW50XG4gICAgICovXG4gICAgZGF5VmlldyA9ICdwLWRhdGVwaWNrZXItZGF5LXZpZXcnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHdlZWsgaGVhZGVyIGVsZW1lbnRcbiAgICAgKi9cbiAgICB3ZWVrSGVhZGVyID0gJ3AtZGF0ZXBpY2tlci13ZWVraGVhZGVyJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSB3ZWVrIG51bWJlciBlbGVtZW50XG4gICAgICovXG4gICAgd2Vla051bWJlciA9ICdwLWRhdGVwaWNrZXItd2Vla251bWJlcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgd2VlayBsYWJlbCBjb250YWluZXIgZWxlbWVudFxuICAgICAqL1xuICAgIHdlZWtMYWJlbENvbnRhaW5lciA9ICdwLWRhdGVwaWNrZXItd2Vla2xhYmVsLWNvbnRhaW5lcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgd2VlayBkYXkgY2VsbCBlbGVtZW50XG4gICAgICovXG4gICAgd2Vla0RheUNlbGwgPSAncC1kYXRlcGlja2VyLXdlZWtkYXktY2VsbCcsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgd2VlayBkYXkgZWxlbWVudFxuICAgICAqL1xuICAgIHdlZWtEYXkgPSAncC1kYXRlcGlja2VyLXdlZWtkYXknLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGRheSBjZWxsIGVsZW1lbnRcbiAgICAgKi9cbiAgICBkYXlDZWxsID0gJ3AtZGF0ZXBpY2tlci1kYXktY2VsbCcsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgZGF5IGVsZW1lbnRcbiAgICAgKi9cbiAgICBkYXkgPSAncC1kYXRlcGlja2VyLWRheScsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgbW9udGggdmlldyBlbGVtZW50XG4gICAgICovXG4gICAgbW9udGhWaWV3ID0gJ3AtZGF0ZXBpY2tlci1tb250aC12aWV3JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBtb250aCBlbGVtZW50XG4gICAgICovXG4gICAgbW9udGggPSAncC1kYXRlcGlja2VyLW1vbnRoJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSB5ZWFyIHZpZXcgZWxlbWVudFxuICAgICAqL1xuICAgIHllYXJWaWV3ID0gJ3AtZGF0ZXBpY2tlci15ZWFyLXZpZXcnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHllYXIgZWxlbWVudFxuICAgICAqL1xuICAgIHllYXIgPSAncC1kYXRlcGlja2VyLXllYXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHRpbWUgcGlja2VyIGVsZW1lbnRcbiAgICAgKi9cbiAgICB0aW1lUGlja2VyID0gJ3AtZGF0ZXBpY2tlci10aW1lLXBpY2tlcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgaG91ciBwaWNrZXIgZWxlbWVudFxuICAgICAqL1xuICAgIGhvdXJQaWNrZXIgPSAncC1kYXRlcGlja2VyLWhvdXItcGlja2VyJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBpbmNyZW1lbnQgYnV0dG9uIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwY0luY3JlbWVudEJ1dHRvbiA9ICdwLWRhdGVwaWNrZXItaW5jcmVtZW50LWJ1dHRvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgZGVjcmVtZW50IGJ1dHRvbiBlbGVtZW50XG4gICAgICovXG4gICAgcGNEZWNyZW1lbnRCdXR0b24gPSAncC1kYXRlcGlja2VyLWRlY3JlbWVudC1idXR0b24nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHNlcGFyYXRvciBlbGVtZW50XG4gICAgICovXG4gICAgc2VwYXJhdG9yID0gJ3AtZGF0ZXBpY2tlci1zZXBhcmF0b3InLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIG1pbnV0ZSBwaWNrZXIgZWxlbWVudFxuICAgICAqL1xuICAgIG1pbnV0ZVBpY2tlciA9ICdwLWRhdGVwaWNrZXItbWludXRlLXBpY2tlcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgc2Vjb25kIHBpY2tlciBlbGVtZW50XG4gICAgICovXG4gICAgc2Vjb25kUGlja2VyID0gJ3AtZGF0ZXBpY2tlci1zZWNvbmQtcGlja2VyJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBhbXBtIHBpY2tlciBlbGVtZW50XG4gICAgICovXG4gICAgYW1wbVBpY2tlciA9ICdwLWRhdGVwaWNrZXItYW1wbS1waWNrZXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGJ1dHRvbmJhciBlbGVtZW50XG4gICAgICovXG4gICAgYnV0dG9uYmFyID0gJ3AtZGF0ZXBpY2tlci1idXR0b25iYXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHRvZGF5IGJ1dHRvbiBlbGVtZW50XG4gICAgICovXG4gICAgcGNUb2RheUJ1dHRvbiA9ICdwLWRhdGVwaWNrZXItdG9kYXktYnV0dG9uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBjbGVhciBidXR0b24gZWxlbWVudFxuICAgICAqL1xuICAgIHBjQ2xlYXJCdXR0b24gPSAncC1kYXRlcGlja2VyLWNsZWFyLWJ1dHRvbidcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRlUGlja2VyU3R5bGUgZXh0ZW5kcyBCYXNlU3R5bGUge31cbiJdfQ==
|
680
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlcnN0eWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGVwaWNrZXIvc3R5bGUvZGF0ZXBpY2tlcnN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzthQXlCYixFQUFFLENBQUMsMkJBQTJCLENBQUM7K0JBQ2IsRUFBRSxDQUFDLG1DQUFtQyxDQUFDOzZCQUN6QyxFQUFFLENBQUMsbUNBQW1DLENBQUM7a0JBQ2xELEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQzt3QkFDOUIsRUFBRSxDQUFDLGtDQUFrQyxDQUFDOzthQUVqRCxFQUFFLENBQUMsMkJBQTJCLENBQUM7NkJBQ2YsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLFdBQVcsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsZ0NBQWdDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQzs7Ozs7a0JBSzNNLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQztvQkFDeEMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2FBQ25ELEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQzs7OztrQkFJaEMsRUFBRSxDQUFDLHVDQUF1QyxDQUFDO29CQUN6QyxFQUFFLENBQUMseUNBQXlDLENBQUM7YUFDcEQsRUFBRSxDQUFDLGtDQUFrQyxDQUFDOzs7O2tCQUlqQyxFQUFFLENBQUMsdUNBQXVDLENBQUM7ZUFDOUMsRUFBRSxDQUFDLHNDQUFzQyxDQUFDLElBQUksRUFBRSxDQUFDLHNDQUFzQyxDQUFDLElBQUksRUFBRSxDQUFDLHNDQUFzQyxDQUFDO3NCQUMvSCxFQUFFLENBQUMsdUNBQXVDLENBQUM7Ozs7Ozs7O2dDQVFqQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxDQUFDOzs7Ozs7O3dCQU81RCxFQUFFLENBQUMsc0JBQXNCLENBQUM7NkJBQ3JCLEVBQUUsQ0FBQyxXQUFXLENBQUM7YUFDL0IsRUFBRSxDQUFDLDZCQUE2QixDQUFDOzs7Ozs7NkJBTWpCLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzs7Ozs7OzthQU8vRSxFQUFFLENBQUMsdUJBQXVCLENBQUM7d0JBQ2hCLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFpQm5DLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztrQkFDM0IsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2FBQ3RDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzt3QkFDakIsRUFBRSxDQUFDLCtCQUErQixDQUFDO3FCQUN0QyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7a0JBQ3ZDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7OztlQWFoQyxFQUFFLENBQUMsMkJBQTJCLENBQUM7a0JBQzVCLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzthQUN2QyxFQUFFLENBQUMseUJBQXlCLENBQUM7K0JBQ1gsRUFBRSxDQUFDLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7V0FleEQsRUFBRSxDQUFDLHNCQUFzQixDQUFDO21CQUNsQixFQUFFLENBQUMsOEJBQThCLENBQUM7Ozs7Ozs7Ozs7NkJBVXhCLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLG1CQUFtQixFQUFFLENBQUMsZ0NBQWdDLENBQUMsZ0JBQWdCLEVBQUUsQ0FDdk8sZ0NBQWdDLENBQ25DOzs7O2VBSVUsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2FBQ3ZDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztxQkFDM0IsRUFBRSxDQUFDLHVDQUF1QyxDQUFDOzs7O2VBSWpELEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQzthQUN0QyxFQUFFLENBQUMsOEJBQThCLENBQUM7cUJBQzFCLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQzs7OztrQkFJN0MsRUFBRSxDQUFDLDBDQUEwQyxDQUFDO2FBQ25ELEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQzs7OztrQkFJcEMsRUFBRSxDQUFDLHlDQUF5QyxDQUFDO2FBQ2xELEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7O3FDQVNoQixFQUFFLENBQUMsK0JBQStCLENBQUM7c0JBQ2xELEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztjQWdCbEMsRUFBRSxDQUFDLDRCQUE0QixDQUFDOzs7O2VBSS9CLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzs7OzttQkFJN0IsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2FBQzNDLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQzs7OztlQUk3QixFQUFFLENBQUMseUJBQXlCLENBQUM7Ozs7Ozs7Ozs7O2FBVy9CLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztjQUMxQixFQUFFLENBQUMsd0JBQXdCLENBQUM7cUJBQ3JCLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzs2QkFDM0IsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLFdBQVcsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsZ0NBQWdDLENBQUM7cUJBQ2pKLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLGdDQUFnQyxDQUFDOzs7YUFHbkcsRUFBRSxDQUFDLHVCQUF1QixDQUFDOzs7O2tCQUl0QixFQUFFLENBQUMsa0NBQWtDLENBQUM7YUFDM0MsRUFBRSxDQUFDLDZCQUE2QixDQUFDOzs7O2tCQUk1QixFQUFFLENBQUMsbUNBQW1DLENBQUM7ZUFDMUMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDLElBQUksRUFBRSxDQUFDLGtDQUFrQyxDQUFDLElBQUksRUFBRSxDQUFDLGtDQUFrQyxDQUFDO3NCQUNuSCxFQUFFLENBQUMsbUNBQW1DLENBQUM7Ozs7a0JBSTNDLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQzthQUM5QyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7Ozs7a0JBSS9CLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQzthQUNwRCxFQUFFLENBQUMsc0NBQXNDLENBQUM7Ozs7a0JBSXJDLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzthQUN0QyxFQUFFLENBQUMsd0JBQXdCLENBQUM7Ozs7a0JBSXZCLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQzthQUM5QyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7Ozs7a0JBSS9CLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQzthQUNwRCxFQUFFLENBQUMsc0NBQXNDLENBQUM7Ozs7Ozs7O2NBUXpDLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7ZUFXakMsRUFBRSxDQUFDLDBCQUEwQixDQUFDOzZCQUNoQixFQUFFLENBQUMsZ0NBQWdDLENBQUMsV0FBVyxFQUFFLENBQUMsZ0NBQWdDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLG1CQUFtQixFQUFFLENBQ3ZPLGdDQUFnQyxDQUNuQztxQkFDZ0IsRUFBRSxDQUFDLGdDQUFnQyxDQUFDOzthQUU1QyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Ozs7Y0FJMUIsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2tCQUM3QixFQUFFLENBQUMsa0NBQWtDLENBQUM7Ozs7YUFJM0MsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2tCQUMvQixFQUFFLENBQUMscUNBQXFDLENBQUM7Ozs7a0JBSXpDLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztlQUMxQyxFQUFFLENBQUMsa0NBQWtDLENBQUMsSUFBSSxFQUFFLENBQUMsa0NBQWtDLENBQUMsSUFBSSxFQUFFLENBQUMsa0NBQWtDLENBQUM7c0JBQ25ILEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQzs7OztjQUkvQyxFQUFFLENBQUMsNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7O2VBV2hDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzs2QkFDZixFQUFFLENBQUMsZ0NBQWdDLENBQUMsV0FBVyxFQUFFLENBQUMsZ0NBQWdDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLG1CQUFtQixFQUFFLENBQ3ZPLGdDQUFnQyxDQUNuQztxQkFDZ0IsRUFBRSxDQUFDLCtCQUErQixDQUFDOzthQUUzQyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Ozs7YUFJM0IsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2tCQUM1QixFQUFFLENBQUMsa0NBQWtDLENBQUM7Ozs7YUFJM0MsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2tCQUMvQixFQUFFLENBQUMscUNBQXFDLENBQUM7Ozs7a0JBSXpDLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztlQUMxQyxFQUFFLENBQUMsa0NBQWtDLENBQUMsSUFBSSxFQUFFLENBQUMsa0NBQWtDLENBQUMsSUFBSSxFQUFFLENBQUMsa0NBQWtDLENBQUM7c0JBQ25ILEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQzs7Ozs7OztnQkFPN0MsRUFBRSxDQUFDLDhCQUE4QixDQUFDOzRCQUN0QixFQUFFLENBQUMsbUNBQW1DLENBQUM7Ozs7Ozs7Ozs7OzRCQVd2QyxFQUFFLENBQUMscUNBQXFDLENBQUM7O1dBRTFELEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQzs7OztlQUk1QixFQUFFLENBQUMsZ0NBQWdDLENBQUM7Ozs7Ozs7V0FPeEMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O2FBZ0JyQyxFQUFFLENBQUMsOEJBQThCLENBQUM7Ozs7O2lCQUs5QixFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDakMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2NBQzVCLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzs7OzthQUk5QixFQUFFLENBQUMsOEJBQThCLENBQUM7Ozs7O2lCQUs5QixFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDakMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2NBQzVCLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzs7Ozs7O29CQU12QixFQUFFLENBQUMsZ0NBQWdDLENBQUM7Ozs7b0JBSXBDLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQzs7Q0FFdkQsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHO0lBQ2pCLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7Q0FDMUYsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHO0lBQ1osSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyQix5Q0FBeUMsRUFBRSxJQUFJO1FBQy9DLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxRQUFRO1FBQ3ZDLHVCQUF1QixFQUFFLFFBQVEsQ0FBQyxNQUFNO1FBQ3hDLHNCQUFzQixFQUFFLFFBQVEsQ0FBQyxLQUFLO1FBQ3RDLFNBQVMsRUFBRSxRQUFRLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxjQUFjO0tBQ3ZELENBQUM7SUFDRixPQUFPLEVBQUUsb0JBQW9CO0lBQzdCLFFBQVEsRUFBRSx1QkFBdUI7SUFDakMsa0JBQWtCLEVBQUUsbUNBQW1DO0lBQ3ZELFNBQVMsRUFBRSx5QkFBeUI7SUFDcEMsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QixnQ0FBZ0MsRUFBRSxJQUFJO1FBQ3RDLDJCQUEyQixFQUFFLFFBQVEsQ0FBQyxNQUFNO1FBQzVDLFlBQVksRUFBRSxRQUFRLENBQUMsUUFBUTtRQUMvQix1QkFBdUIsRUFBRSxRQUFRLENBQUMsUUFBUTtLQUM3QyxDQUFDO0lBQ0YsaUJBQWlCLEVBQUUsaUNBQWlDO0lBQ3BELFFBQVEsRUFBRSx1QkFBdUI7SUFDakMsTUFBTSxFQUFFLHFCQUFxQjtJQUM3QixZQUFZLEVBQUUsMEJBQTBCO0lBQ3hDLEtBQUssRUFBRSxvQkFBb0I7SUFDM0IsV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxVQUFVLEVBQUUsMEJBQTBCO0lBQ3RDLE1BQU0sRUFBRSxxQkFBcUI7SUFDN0IsWUFBWSxFQUFFLDBCQUEwQjtJQUN4QyxPQUFPLEVBQUUsdUJBQXVCO0lBQ2hDLFVBQVUsRUFBRSxvQ0FBb0M7SUFDaEQsVUFBVSxFQUFFLHlCQUF5QjtJQUNyQyxrQkFBa0IsRUFBRSw2Q0FBNkM7SUFDakUsV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxPQUFPLEVBQUUsc0JBQXNCO0lBQy9CLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ25CLHVCQUF1QjtRQUN2QjtZQUNJLDBCQUEwQixFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ25DO0tBQ0o7SUFDRCxHQUFHLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1FBQ3hCLElBQUksZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBRTFCLElBQUksUUFBUSxDQUFDLGdCQUFnQixFQUFFLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDOUUsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWxDLE1BQU0sT0FBTyxHQUFHLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5SSxNQUFNLEtBQUssR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFcEksZ0JBQWdCLEdBQUcsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDO1FBQzFHLENBQUM7UUFFRCxPQUFPO1lBQ0gsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QiwyQkFBMkIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVU7WUFDekcsWUFBWSxFQUFFLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNuRCxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSTtTQUMzQixDQUFDO0lBQ04sQ0FBQztJQUNELFNBQVMsRUFBRSx5QkFBeUI7SUFDcEMsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDMUMsb0JBQW9CO1FBQ3BCO1lBQ0ksNkJBQTZCLEVBQUUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7WUFDOUQsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtTQUNwRDtLQUNKO0lBQ0QsUUFBUSxFQUFFLHdCQUF3QjtJQUNsQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLG1CQUFtQjtRQUNuQjtZQUNJLDRCQUE0QixFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNqRSxZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1NBQ25EO0tBQ0o7SUFDRCxVQUFVLEVBQUUsMEJBQTBCO0lBQ3RDLFVBQVUsRUFBRSwwQkFBMEI7SUFDdEMsaUJBQWlCLEVBQUUsK0JBQStCO0lBQ2xELGlCQUFpQixFQUFFLCtCQUErQjtJQUNsRCxTQUFTLEVBQUUsd0JBQXdCO0lBQ25DLFlBQVksRUFBRSw0QkFBNEI7SUFDMUMsWUFBWSxFQUFFLDRCQUE0QjtJQUMxQyxVQUFVLEVBQUUsMEJBQTBCO0lBQ3RDLFNBQVMsRUFBRSx3QkFBd0I7SUFDbkMsYUFBYSxFQUFFLDJCQUEyQjtJQUMxQyxhQUFhLEVBQUUsMkJBQTJCO0NBQzdDLENBQUM7QUFHRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxTQUFTO0lBQzFDLElBQUksR0FBRyxZQUFZLENBQUM7SUFFcEIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUVkLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFFbEIsWUFBWSxHQUFHLFlBQVksQ0FBQzt5T0FQbkIsZUFBZSx5QkFBZixlQUFlO2dFQUFmLGVBQWUsV0FBZixlQUFlOztpRkFBZixlQUFlO2NBRDNCLFVBQVU7O0FBV1g7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQU4sSUFBWSxpQkF5Slg7QUF6SkQsV0FBWSxpQkFBaUI7SUFDekI7O09BRUc7SUFDSCwwQ0FBcUIsQ0FBQTtJQUNyQjs7T0FFRztJQUNILG1EQUE4QixDQUFBO0lBQzlCOztPQUVHO0lBQ0gsdURBQWtDLENBQUE7SUFDbEM7O09BRUc7SUFDSCw2RUFBd0QsQ0FBQTtJQUN4RDs7T0FFRztJQUNILDBEQUFxQyxDQUFBO0lBQ3JDOztPQUVHO0lBQ0gsaURBQTRCLENBQUE7SUFDNUI7O09BRUc7SUFDSCwwRUFBcUQsQ0FBQTtJQUNyRDs7T0FFRztJQUNILHVEQUFrQyxDQUFBO0lBQ2xDOztPQUVHO0lBQ0gsbURBQThCLENBQUE7SUFDOUI7O09BRUc7SUFDSCw4REFBeUMsQ0FBQTtJQUN6Qzs7T0FFRztJQUNILGlEQUE0QixDQUFBO0lBQzVCOztPQUVHO0lBQ0gsOERBQXlDLENBQUE7SUFDekM7O09BRUc7SUFDSCw0REFBdUMsQ0FBQTtJQUN2Qzs7T0FFRztJQUNILG1EQUE4QixDQUFBO0lBQzlCOztPQUVHO0lBQ0gsOERBQXlDLENBQUE7SUFDekM7O09BRUc7SUFDSCxzREFBaUMsQ0FBQTtJQUNqQzs7T0FFRztJQUNILDJEQUFzQyxDQUFBO0lBQ3RDOztPQUVHO0lBQ0gsMkRBQXNDLENBQUE7SUFDdEM7O09BRUc7SUFDSCw0RUFBdUQsQ0FBQTtJQUN2RDs7T0FFRztJQUNILDhEQUF5QyxDQUFBO0lBQ3pDOztPQUVHO0lBQ0gscURBQWdDLENBQUE7SUFDaEM7O09BRUc7SUFDSCxzREFBaUMsQ0FBQTtJQUNqQzs7T0FFRztJQUNILDZDQUF3QixDQUFBO0lBQ3hCOztPQUVHO0lBQ0gsMERBQXFDLENBQUE7SUFDckM7O09BRUc7SUFDSCxpREFBNEIsQ0FBQTtJQUM1Qjs7T0FFRztJQUNILHdEQUFtQyxDQUFBO0lBQ25DOztPQUVHO0lBQ0gsK0NBQTBCLENBQUE7SUFDMUI7O09BRUc7SUFDSCw0REFBdUMsQ0FBQTtJQUN2Qzs7T0FFRztJQUNILDREQUF1QyxDQUFBO0lBQ3ZDOztPQUVHO0lBQ0gsd0VBQW1ELENBQUE7SUFDbkQ7O09BRUc7SUFDSCx3RUFBbUQsQ0FBQTtJQUNuRDs7T0FFRztJQUNILHlEQUFvQyxDQUFBO0lBQ3BDOztPQUVHO0lBQ0gsZ0VBQTJDLENBQUE7SUFDM0M7O09BRUc7SUFDSCxnRUFBMkMsQ0FBQTtJQUMzQzs7T0FFRztJQUNILDREQUF1QyxDQUFBO0lBQ3ZDOztPQUVHO0lBQ0gseURBQW9DLENBQUE7SUFDcEM7O09BRUc7SUFDSCxnRUFBMkMsQ0FBQTtJQUMzQzs7T0FFRztJQUNILGdFQUEyQyxDQUFBO0FBQy9DLENBQUMsRUF6SlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQXlKNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlU3R5bGUgfSBmcm9tICdwcmltZW5nL2Jhc2UnO1xuXG5jb25zdCB0aGVtZSA9ICh7IGR0IH0pID0+IGBcbi5wLWRhdGVwaWNrZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wLWRhdGVwaWNrZXItaW5wdXQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtZGF0ZXBpY2tlci1kcm9wZG93bikgLnAtZGF0ZXBpY2tlci1pbnB1dCB7XG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiAwO1xufVxuXG4ucC1kYXRlcGlja2VyLWRyb3Bkb3duIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi53aWR0aCcpfTtcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5ib3JkZXIucmFkaXVzJyl9O1xuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5ib3JkZXIucmFkaXVzJyl9O1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24uYmFja2dyb3VuZCcpfTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke2R0KCdkYXRlcGlja2VyLmRyb3Bkb3duLmJvcmRlci5jb2xvcicpfTtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAwIG5vbmU7XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24uY29sb3InKX07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGNvbG9yICR7ZHQoJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgYm9yZGVyLWNvbG9yICR7ZHQoJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgb3V0bGluZS1jb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX07XG4gICAgb3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5wLWRhdGVwaWNrZXItZHJvcGRvd246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24uaG92ZXIuYmFja2dyb3VuZCcpfTtcbiAgICBib3JkZXItY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24uaG92ZXIuYm9yZGVyLmNvbG9yJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRlcGlja2VyLmRyb3Bkb3duLmhvdmVyLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLWRyb3Bkb3duOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5hY3RpdmUuYmFja2dyb3VuZCcpfTtcbiAgICBib3JkZXItY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24uYWN0aXZlLmJvcmRlci5jb2xvcicpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5hY3RpdmUuY29sb3InKX07XG59XG5cbi5wLWRhdGVwaWNrZXItZHJvcGRvd246Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm94LXNoYWRvdzogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5mb2N1cy5yaW5nLnNoYWRvdycpfTtcbiAgICBvdXRsaW5lOiAke2R0KCdkYXRlcGlja2VyLmRyb3Bkb3duLmZvY3VzLnJpbmcud2lkdGgnKX0gJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5mb2N1cy5yaW5nLnN0eWxlJyl9ICR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24uZm9jdXMucmluZy5jb2xvcicpfTtcbiAgICBvdXRsaW5lLW9mZnNldDogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5mb2N1cy5yaW5nLm9mZnNldCcpfTtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtZGF0ZXBpY2tlci1pbnB1dC1pY29uLWNvbnRhaW5lcikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtZGF0ZXBpY2tlci1pbnB1dC1pY29uLWNvbnRhaW5lcikgLnAtZGF0ZXBpY2tlci1pbnB1dCB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKCgke2R0KCdmb3JtLmZpZWxkLnBhZGRpbmcueCcpfSAqIDIpICsgJHtkdCgnaWNvbi5zaXplJyl9KTtcbn1cblxuLnAtZGF0ZXBpY2tlci1pbnB1dC1pY29uLWNvbnRhaW5lciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiAke2R0KCdmb3JtLmZpZWxkLnBhZGRpbmcueCcpfTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogKCR7ZHQoJ2ljb24uc2l6ZScpfSAvIDIpKTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5pbnB1dC5pY29uLmNvbG9yJyl9O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuICAgIFxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtZGF0ZXBpY2tlci1kcm9wZG93bikgLnAtZGF0ZXBpY2tlci1jbGVhci1pY29uLFxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtZGF0ZXBpY2tlci1pbnB1dC1pY29uLWNvbnRhaW5lcikgLnAtZGF0ZXBpY2tlci1jbGVhci1pY29uIHtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiBjYWxjKCR7ZHQoJ2RhdGVwaWNrZXIuZHJvcGRvd24ud2lkdGgnKX0gKyAke2R0KCdmb3JtLmZpZWxkLnBhZGRpbmcueCcpfSk7XG59XG4ucC1kYXRlcGlja2VyLWNsZWFyLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJHtkdCgnZm9ybS5maWVsZC5pY29uLmNvbG9yJyl9O1xuICAgIGluc2V0LWlubGluZS1lbmQ6ICR7ZHQoJ2Zvcm0uZmllbGQucGFkZGluZy54Jyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLWZsdWlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ucC1kYXRlcGlja2VyLWZsdWlkIC5wLWRhdGVwaWNrZXItaW5wdXQge1xuICAgIHdpZHRoOiAxJTtcbn1cblxuLnAtZGF0ZXBpY2tlciAucC1kYXRlcGlja2VyLXBhbmVsIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG59XG5cbi5wLWRhdGVwaWNrZXItcGFuZWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGVwaWNrZXIucGFuZWwucGFkZGluZycpfTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRlcGlja2VyLnBhbmVsLmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIucGFuZWwuY29sb3InKX07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtkdCgnZGF0ZXBpY2tlci5wYW5lbC5ib3JkZXIuY29sb3InKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgnZGF0ZXBpY2tlci5wYW5lbC5ib3JkZXIucmFkaXVzJyl9O1xuICAgIGJveC1zaGFkb3c6ICR7ZHQoJ2RhdGVwaWNrZXIucGFuZWwuc2hhZG93Jyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLXBhbmVsLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnAtZGF0ZXBpY2tlci1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogJHtkdCgnZGF0ZXBpY2tlci5oZWFkZXIucGFkZGluZycpfTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRlcGlja2VyLmhlYWRlci5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRlcGlja2VyLmhlYWRlci5jb2xvcicpfTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkdCgnZGF0ZXBpY2tlci5oZWFkZXIuYm9yZGVyLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLW5leHQtYnV0dG9uOmRpcihydGwpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4ucC1kYXRlcGlja2VyLXByZXYtYnV0dG9uOmRpcihydGwpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4ucC1kYXRlcGlja2VyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogJHtkdCgnZGF0ZXBpY2tlci50aXRsZS5nYXAnKX07XG4gICAgZm9udC13ZWlnaHQ6ICR7ZHQoJ2RhdGVwaWNrZXIudGl0bGUuZm9udC53ZWlnaHQnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItc2VsZWN0LXllYXIsXG4ucC1kYXRlcGlja2VyLXNlbGVjdC1tb250aCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGNvbG9yICR7ZHQoJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgYm9yZGVyLWNvbG9yICR7ZHQoJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgb3V0bGluZS1jb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGJveC1zaGFkb3cgJHtkdChcbiAgICAgICAgJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbidcbiAgICApfTtcbn1cblxuLnAtZGF0ZXBpY2tlci1zZWxlY3QtbW9udGgge1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0Lm1vbnRoLnBhZGRpbmcnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0Lm1vbnRoLmNvbG9yJyl9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0Lm1vbnRoLmJvcmRlci5yYWRpdXMnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItc2VsZWN0LXllYXIge1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0LnllYXIucGFkZGluZycpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5zZWxlY3QueWVhci5jb2xvcicpfTtcbiAgICBib3JkZXItcmFkaXVzOiAke2R0KCdkYXRlcGlja2VyLnNlbGVjdC55ZWFyLmJvcmRlci5yYWRpdXMnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItc2VsZWN0LW1vbnRoOmVuYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0Lm1vbnRoLmhvdmVyLmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0Lm1vbnRoLmhvdmVyLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLXNlbGVjdC15ZWFyOmVuYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuc2VsZWN0LnllYXIuaG92ZXIuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5zZWxlY3QueWVhci5ob3Zlci5jb2xvcicpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci1jYWxlbmRhci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5wLWRhdGVwaWNrZXItY2FsZW5kYXItY29udGFpbmVyIC5wLWRhdGVwaWNrZXItY2FsZW5kYXIge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDFweCBzb2xpZCAke2R0KCdkYXRlcGlja2VyLmdyb3VwLmJvcmRlci5jb2xvcicpfTtcbiAgICBwYWRkaW5nLWlubGluZTogJHtkdCgnZGF0ZXBpY2tlci5ncm91cC5nYXAnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItY2FsZW5kYXItY29udGFpbmVyIC5wLWRhdGVwaWNrZXItY2FsZW5kYXI6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDAgbm9uZTtcbn1cblxuLnAtZGF0ZXBpY2tlci1jYWxlbmRhci1jb250YWluZXIgLnAtZGF0ZXBpY2tlci1jYWxlbmRhcjpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG59XG5cbi5wLWRhdGVwaWNrZXItZGF5LXZpZXcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbjogJHtkdCgnZGF0ZXBpY2tlci5kYXkudmlldy5tYXJnaW4nKX07XG59XG5cbi5wLWRhdGVwaWNrZXItd2Vla2RheS1jZWxsIHtcbiAgICBwYWRkaW5nOiAke2R0KCdkYXRlcGlja2VyLndlZWsuZGF5LnBhZGRpbmcnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItd2Vla2RheSB7XG4gICAgZm9udC13ZWlnaHQ6ICR7ZHQoJ2RhdGVwaWNrZXIud2Vlay5kYXkuZm9udC53ZWlnaHQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIud2Vlay5kYXkuY29sb3InKX07XG59XG5cbi5wLWRhdGVwaWNrZXItZGF5LWNlbGwge1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5wYWRkaW5nJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLWRheSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLndpZHRoJyl9O1xuICAgIGhlaWdodDogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmhlaWdodCcpfTtcbiAgICBib3JkZXItcmFkaXVzOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuYm9yZGVyLnJhZGl1cycpfTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR7ZHQoJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgY29sb3IgJHtkdCgnZGF0ZXBpY2tlci50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LCBib3JkZXItY29sb3IgJHtkdCgnZGF0ZXBpY2tlci50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LFxuICAgICAgICBib3gtc2hhZG93ICR7ZHQoJ2RhdGVwaWNrZXIudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgb3V0bGluZS1jb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5jb2xvcicpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci1kYXk6bm90KC5wLWRhdGVwaWNrZXItZGF5LXNlbGVjdGVkKTpub3QoLnAtZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuaG92ZXIuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmhvdmVyLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLWRheTpmb2N1cy12aXNpYmxlIHtcbiAgICBib3gtc2hhZG93OiAke2R0KCdkYXRlcGlja2VyLmRhdGUuZm9jdXMucmluZy5zaGFkb3cnKX07XG4gICAgb3V0bGluZTogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmZvY3VzLnJpbmcud2lkdGgnKX0gJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmZvY3VzLnJpbmcuc3R5bGUnKX0gJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmZvY3VzLnJpbmcuY29sb3InKX07XG4gICAgb3V0bGluZS1vZmZzZXQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLm9mZnNldCcpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci1kYXktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5zZWxlY3RlZC5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuc2VsZWN0ZWQuY29sb3InKX07XG59XG5cbi5wLWRhdGVwaWNrZXItZGF5LXNlbGVjdGVkLXJhbmdlIHtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRlcGlja2VyLmRhdGUucmFuZ2Uuc2VsZWN0ZWQuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLnJhbmdlLnNlbGVjdGVkLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLXRvZGF5ID4gLnAtZGF0ZXBpY2tlci1kYXkge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIudG9kYXkuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci50b2RheS5jb2xvcicpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci10b2RheSA+IC5wLWRhdGVwaWNrZXItZGF5LXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuc2VsZWN0ZWQuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLnNlbGVjdGVkLmNvbG9yJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLXRvZGF5ID4gLnAtZGF0ZXBpY2tlci1kYXktc2VsZWN0ZWQtcmFuZ2Uge1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5yYW5nZS5zZWxlY3RlZC5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdkYXRlcGlja2VyLmRhdGUucmFuZ2Uuc2VsZWN0ZWQuY29sb3InKX07XG59XG5cbi5wLWRhdGVwaWNrZXItd2Vla251bWJlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyXG59XG5cbi5wLWRhdGVwaWNrZXItbW9udGgtdmlldyB7XG4gICAgbWFyZ2luOiAke2R0KCdkYXRlcGlja2VyLm1vbnRoLnZpZXcubWFyZ2luJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLW1vbnRoIHtcbiAgICB3aWR0aDogMzMuMyU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJHtkdCgnZGF0ZXBpY2tlci5tb250aC5wYWRkaW5nJyl9O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHtkdCgnZGF0ZXBpY2tlci50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LCBjb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGJvcmRlci1jb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGJveC1zaGFkb3cgJHtkdCgnZGF0ZXBpY2tlci50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LCBvdXRsaW5lLWNvbG9yICR7ZHQoXG4gICAgICAgICdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nXG4gICAgKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgnZGF0ZXBpY2tlci5tb250aC5ib3JkZXIucmFkaXVzJyl9O1xuICAgIG91dGxpbmUtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuY29sb3InKX07XG59XG5cbi5wLWRhdGVwaWNrZXItbW9udGg6bm90KC5wLWRpc2FibGVkKTpub3QoLnAtZGF0ZXBpY2tlci1tb250aC1zZWxlY3RlZCk6aG92ZXIge1xuICAgIGNvbG9yOiAgJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmhvdmVyLmNvbG9yJyl9O1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5ob3Zlci5iYWNrZ3JvdW5kJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLW1vbnRoLXNlbGVjdGVkIHtcbiAgICBjb2xvcjogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLnNlbGVjdGVkLmNvbG9yJyl9O1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5zZWxlY3RlZC5iYWNrZ3JvdW5kJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLW1vbnRoOm5vdCgucC1kaXNhYmxlZCk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm94LXNoYWRvdzogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmZvY3VzLnJpbmcuc2hhZG93Jyl9O1xuICAgIG91dGxpbmU6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLndpZHRoJyl9ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLnN0eWxlJyl9ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLmNvbG9yJyl9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAke2R0KCdkYXRlcGlja2VyLmRhdGUuZm9jdXMucmluZy5vZmZzZXQnKX07XG59XG5cbi5wLWRhdGVwaWNrZXIteWVhci12aWV3IHtcbiAgICBtYXJnaW46ICR7ZHQoJ2RhdGVwaWNrZXIueWVhci52aWV3Lm1hcmdpbicpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci15ZWFyIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGVwaWNrZXIueWVhci5wYWRkaW5nJyl9O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHtkdCgnZGF0ZXBpY2tlci50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LCBjb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGJvcmRlci1jb2xvciAke2R0KCdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGJveC1zaGFkb3cgJHtkdCgnZGF0ZXBpY2tlci50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LCBvdXRsaW5lLWNvbG9yICR7ZHQoXG4gICAgICAgICdkYXRlcGlja2VyLnRyYW5zaXRpb24uZHVyYXRpb24nXG4gICAgKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgnZGF0ZXBpY2tlci55ZWFyLmJvcmRlci5yYWRpdXMnKX07XG4gICAgb3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5jb2xvcicpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci15ZWFyOm5vdCgucC1kaXNhYmxlZCk6bm90KC5wLWRhdGVwaWNrZXIteWVhci1zZWxlY3RlZCk6aG92ZXIge1xuICAgIGNvbG9yOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuaG92ZXIuY29sb3InKX07XG4gICAgYmFja2dyb3VuZDogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmhvdmVyLmJhY2tncm91bmQnKX07XG59XG5cbi5wLWRhdGVwaWNrZXIteWVhci1zZWxlY3RlZCB7XG4gICAgY29sb3I6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5zZWxlY3RlZC5jb2xvcicpfTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdkYXRlcGlja2VyLmRhdGUuc2VsZWN0ZWQuYmFja2dyb3VuZCcpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci15ZWFyOm5vdCgucC1kaXNhYmxlZCk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm94LXNoYWRvdzogJHtkdCgnZGF0ZXBpY2tlci5kYXRlLmZvY3VzLnJpbmcuc2hhZG93Jyl9O1xuICAgIG91dGxpbmU6ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLndpZHRoJyl9ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLnN0eWxlJyl9ICR7ZHQoJ2RhdGVwaWNrZXIuZGF0ZS5mb2N1cy5yaW5nLmNvbG9yJyl9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAke2R0KCdkYXRlcGlja2VyLmRhdGUuZm9jdXMucmluZy5vZmZzZXQnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItYnV0dG9uYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6ICAke2R0KCdkYXRlcGlja2VyLmJ1dHRvbmJhci5wYWRkaW5nJyl9O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2R0KCdkYXRlcGlja2VyLmJ1dHRvbmJhci5ib3JkZXIuY29sb3InKX07XG59XG5cbi5wLWRhdGVwaWNrZXItYnV0dG9uYmFyIC5wLWJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5wLWRhdGVwaWNrZXItdGltZS1waWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtkdCgnZGF0ZXBpY2tlci50aW1lLnBpY2tlci5ib3JkZXIuY29sb3InKX07XG4gICAgcGFkZGluZzogMDtcbiAgICBnYXA6ICR7ZHQoJ2RhdGVwaWNrZXIudGltZS5waWNrZXIuZ2FwJyl9O1xufVxuXG4ucC1kYXRlcGlja2VyLWNhbGVuZGFyLWNvbnRhaW5lciArIC5wLWRhdGVwaWNrZXItdGltZS1waWNrZXIge1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2RhdGVwaWNrZXIudGltZS5waWNrZXIucGFkZGluZycpfTtcbn1cblxuLnAtZGF0ZXBpY2tlci10aW1lLXBpY2tlciA+IGRpdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAke2R0KCdkYXRlcGlja2VyLnRpbWUucGlja2VyLmJ1dHRvbi5nYXAnKX07XG59XG5cbi5wLWRhdGVwaWNrZXItdGltZS1waWNrZXIgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ucC1kYXRlcGlja2VyLXRpbWVvbmx5IC5wLWRhdGVwaWNrZXItdGltZS1waWNrZXIge1xuICAgIGJvcmRlci10b3A6IDAgbm9uZTtcbn1cblxuLnAtZGF0ZXBpY2tlci1jYWxlbmRhcjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIC5wLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtaW5wdXR0ZXh0LXNtKSAucC1kYXRlcGlja2VyLWRyb3Bkb3duIHtcbiAgICB3aWR0aDogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5zbS53aWR0aCcpfTtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtaW5wdXR0ZXh0LXNtKSAucC1kYXRlcGlja2VyLWRyb3Bkb3duIC5wLWljb24sXG4ucC1kYXRlcGlja2VyOmhhcygucC1pbnB1dHRleHQtc20pIC5wLWRhdGVwaWNrZXItaW5wdXQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAke2R0KCdmb3JtLmZpZWxkLnNtLmZvbnQuc2l6ZScpfTtcbiAgICB3aWR0aDogJHtkdCgnZm9ybS5maWVsZC5zbS5mb250LnNpemUnKX07XG4gICAgaGVpZ2h0OiAke2R0KCdmb3JtLmZpZWxkLnNtLmZvbnQuc2l6ZScpfTtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtaW5wdXR0ZXh0LWxnKSAucC1kYXRlcGlja2VyLWRyb3Bkb3duIHtcbiAgICB3aWR0aDogJHtkdCgnZGF0ZXBpY2tlci5kcm9wZG93bi5sZy53aWR0aCcpfTtcbn1cblxuLnAtZGF0ZXBpY2tlcjpoYXMoLnAtaW5wdXR0ZXh0LWxnKSAucC1kYXRlcGlja2VyLWRyb3Bkb3duIC5wLWljb24sXG4ucC1kYXRlcGlja2VyOmhhcygucC1pbnB1dHRleHQtbGcpIC5wLWRhdGVwaWNrZXItaW5wdXQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAke2R0KCdmb3JtLmZpZWxkLmxnLmZvbnQuc2l6ZScpfTtcbiAgICB3aWR0aDogJHtkdCgnZm9ybS5maWVsZC5sZy5mb250LnNpemUnKX07XG4gICAgaGVpZ2h0OiAke2R0KCdmb3JtLmZpZWxkLmxnLmZvbnQuc2l6ZScpfTtcbn1cblxuLyogRm9yIFByaW1lTkcgKi9cblxucC1jYWxlbmRhci5uZy1pbnZhbGlkLm5nLWRpcnR5IC5wLWRhdGVwaWNrZXIucC1pbnB1dHdyYXBwZXIgLnAtaW5wdXR0ZXh0e1xuICAgIGJvcmRlci1jb2xvcjogJHtkdCgnaW5wdXR0ZXh0LmludmFsaWQuYm9yZGVyLmNvbG9yJyl9O1xufVxuXG5wLWRhdGVwaWNrZXIubmctaW52YWxpZC5uZy1kaXJ0eSAucC1kYXRlcGlja2VyLnAtaW5wdXR3cmFwcGVyIC5wLWlucHV0dGV4dHtcbiAgICBib3JkZXItY29sb3I6ICR7ZHQoJ2lucHV0dGV4dC5pbnZhbGlkLmJvcmRlci5jb2xvcicpfTtcbn1cbmA7XG5cbmNvbnN0IGlubGluZVN0eWxlcyA9IHtcbiAgICByb290OiAoeyBwcm9wcyB9KSA9PiAoeyBwb3NpdGlvbjogcHJvcHMuYXBwZW5kVG8gPT09ICdzZWxmJyA/ICdyZWxhdGl2ZScgOiB1bmRlZmluZWQgfSlcbn07XG5cbmNvbnN0IGNsYXNzZXMgPSB7XG4gICAgcm9vdDogKHsgaW5zdGFuY2UgfSkgPT4gKHtcbiAgICAgICAgJ3AtZGF0ZXBpY2tlciBwLWNvbXBvbmVudCBwLWlucHV0d3JhcHBlcic6IHRydWUsXG4gICAgICAgICdwLWRhdGVwaWNrZXItZmx1aWQnOiBpbnN0YW5jZS5oYXNGbHVpZCxcbiAgICAgICAgJ3AtaW5wdXR3cmFwcGVyLWZpbGxlZCc6IGluc3RhbmNlLmZpbGxlZCxcbiAgICAgICAgJ3AtaW5wdXR3cmFwcGVyLWZvY3VzJzogaW5zdGFuY2UuZm9jdXMsXG4gICAgICAgICdwLWZvY3VzJzogaW5zdGFuY2UuZm9jdXMgfHwgaW5zdGFuY2Uub3ZlcmxheVZpc2libGVcbiAgICB9KSxcbiAgICBwY0lucHV0OiAncC1kYXRlcGlja2VyLWlucHV0JyxcbiAgICBkcm9wZG93bjogJ3AtZGF0ZXBpY2tlci1kcm9wZG93bicsXG4gICAgaW5wdXRJY29uQ29udGFpbmVyOiAncC1kYXRlcGlja2VyLWlucHV0LWljb24tY29udGFpbmVyJyxcbiAgICBpbnB1dEljb246ICdwLWRhdGVwaWNrZXItaW5wdXQtaWNvbicsXG4gICAgcGFuZWw6ICh7IGluc3RhbmNlIH0pID0+ICh7XG4gICAgICAgICdwLWRhdGVwaWNrZXItcGFuZWwgcC1jb21wb25lbnQnOiB0cnVlLFxuICAgICAgICAncC1kYXRlcGlja2VyLXBhbmVsLWlubGluZSc6IGluc3RhbmNlLmlubGluZSxcbiAgICAgICAgJ3AtZGlzYWJsZWQnOiBpbnN0YW5jZS5kaXNhYmxlZCxcbiAgICAgICAgJ3AtZGF0ZXBpY2tlci10aW1lb25seSc6IGluc3RhbmNlLnRpbWVPbmx5XG4gICAgfSksXG4gICAgY2FsZW5kYXJDb250YWluZXI6ICdwLWRhdGVwaWNrZXItY2FsZW5kYXItY29udGFpbmVyJyxcbiAgICBjYWxlbmRhcjogJ3AtZGF0ZXBpY2tlci1jYWxlbmRhcicsXG4gICAgaGVhZGVyOiAncC1kYXRlcGlja2VyLWhlYWRlcicsXG4gICAgcGNQcmV2QnV0dG9uOiAncC1kYXRlcGlja2VyLXByZXYtYnV0dG9uJyxcbiAgICB0aXRsZTogJ3AtZGF0ZXBpY2tlci10aXRsZScsXG4gICAgc2VsZWN0TW9udGg6ICdwLWRhdGVwaWNrZXItc2VsZWN0LW1vbnRoJyxcbiAgICBzZWxlY3RZZWFyOiAncC1kYXRlcGlja2VyLXNlbGVjdC15ZWFyJyxcbiAgICBkZWNhZGU6ICdwLWRhdGVwaWNrZXItZGVjYWRlJyxcbiAgICBwY05leHRCdXR0b246ICdwLWRhdGVwaWNrZXItbmV4dC1idXR0b24nLFxuICAgIGRheVZpZXc6ICdwLWRhdGVwaWNrZXItZGF5LXZpZXcnLFxuICAgIHdlZWtIZWFkZXI6ICdwLWRhdGVwaWNrZXItd2Vla2hlYWRlciBwLWRpc2FibGVkJyxcbiAgICB3ZWVrTnVtYmVyOiAncC1kYXRlcGlja2VyLXdlZWtudW1iZXInLFxuICAgIHdlZWtMYWJlbENvbnRhaW5lcjogJ3AtZGF0ZXBpY2tlci13ZWVrbGFiZWwtY29udGFpbmVyIHAtZGlzYWJsZWQnLFxuICAgIHdlZWtEYXlDZWxsOiAncC1kYXRlcGlja2VyLXdlZWtkYXktY2VsbCcsXG4gICAgd2Vla0RheTogJ3AtZGF0ZXBpY2tlci13ZWVrZGF5JyxcbiAgICBkYXlDZWxsOiAoeyBkYXRlIH0pID0+IFtcbiAgICAgICAgJ3AtZGF0ZXBpY2tlci1kYXktY2VsbCcsXG4gICAgICAgIHtcbiAgICAgICAgICAgICdwLWRhdGVwaWNrZXItb3RoZXItbW9udGgnOiBkYXRlLm90aGVyTW9udGgsXG4gICAgICAgICAgICAncC1kYXRlcGlja2VyLXRvZGF5JzogZGF0ZS50b2RheVxuICAgICAgICB9XG4gICAgXSxcbiAgICBkYXk6ICh7IGluc3RhbmNlLCBkYXRlIH0pID0+IHtcbiAgICAgICAgbGV0IHNlbGVjdGVkRGF5Q2xhc3MgPSAnJztcblxuICAgICAgICBpZiAoaW5zdGFuY2UuaXNSYW5nZVNlbGVjdGlvbigpICYmIGluc3RhbmNlLmlzU2VsZWN0ZWQoZGF0ZSkgJiYgZGF0ZS5zZWxlY3RhYmxlKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBpbnN0YW5jZS52YWx1ZVswXTtcbiAgICAgICAgICAgIGNvbnN0IGVuZERhdGUgPSBpbnN0YW5jZS52YWx1ZVsxXTtcblxuICAgICAgICAgICAgY29uc3QgaXNTdGFydCA9IHN0YXJ0RGF0ZSAmJiBkYXRlLnllYXIgPT09IHN0YXJ0RGF0ZS5nZXRGdWxsWWVhcigpICYmIGRhdGUubW9udGggPT09IHN0YXJ0RGF0ZS5nZXRNb250aCgpICYmIGRhdGUuZGF5ID09PSBzdGFydERhdGUuZ2V0RGF0ZSgpO1xuICAgICAgICAgICAgY29uc3QgaXNFbmQgPSBlbmREYXRlICYmIGRhdGUueWVhciA9PT0gZW5kRGF0ZS5nZXRGdWxsWWVhcigpICYmIGRhdGUubW9udGggPT09IGVuZERhdGUuZ2V0TW9udGgoKSAmJiBkYXRlLmRheSA9PT0gZW5kRGF0ZS5nZXREYXRlKCk7XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRGF5Q2xhc3MgPSBpc1N0YXJ0IHx8IGlzRW5kID8gJ3AtZGF0ZXBpY2tlci1kYXktc2VsZWN0ZWQnIDogJ3AtZGF0ZXBpY2tlci1kYXktc2VsZWN0ZWQtcmFuZ2UnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdwLWRhdGVwaWNrZXItZGF5JzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWRhdGVwaWNrZXItZGF5LXNlbGVjdGVkJzogIWluc3RhbmNlLmlzUmFuZ2VTZWxlY3Rpb24oKSAmJiBpbnN0YW5jZS5pc1NlbGVjdGVkKGRhdGUpICYmIGRhdGUuc2VsZWN0YWJsZSxcbiAgICAgICAgICAgICdwLWRpc2FibGVkJzogaW5zdGFuY2UuZGlzYWJsZWQgfHwgIWRhdGUuc2VsZWN0YWJsZSxcbiAgICAgICAgICAgIFtzZWxlY3RlZERheUNsYXNzXTogdHJ1ZVxuICAgICAgICB9O1xuICAgIH0sXG4gICAgbW9udGhWaWV3OiAncC1kYXRlcGlja2VyLW1vbnRoLXZpZXcnLFxuICAgIG1vbnRoOiAoeyBpbnN0YW5jZSwgcHJvcHMsIG1vbnRoLCBpbmRleCB9KSA9PiBbXG4gICAgICAgICdwLWRhdGVwaWNrZXItbW9udGgnLFxuICAgICAgICB7XG4gICAgICAgICAgICAncC1kYXRlcGlja2VyLW1vbnRoLXNlbGVjdGVkJzogaW5zdGFuY2UuaXNNb250aFNlbGVjdGVkKGluZGV4KSxcbiAgICAgICAgICAgICdwLWRpc2FibGVkJzogcHJvcHMuZGlzYWJsZWQgfHwgIW1vbnRoLnNlbGVjdGFibGVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgeWVhclZpZXc6ICdwLWRhdGVwaWNrZXIteWVhci12aWV3JyxcbiAgICB5ZWFyOiAoeyBpbnN0YW5jZSwgcHJvcHMsIHllYXIgfSkgPT4gW1xuICAgICAgICAncC1kYXRlcGlja2VyLXllYXInLFxuICAgICAgICB7XG4gICAgICAgICAgICAncC1kYXRlcGlja2VyLXllYXItc2VsZWN0ZWQnOiBpbnN0YW5jZS5pc1llYXJTZWxlY3RlZCh5ZWFyLnZhbHVlKSxcbiAgICAgICAgICAgICdwLWRpc2FibGVkJzogcHJvcHMuZGlzYWJsZWQgfHwgIXllYXIuc2VsZWN0YWJsZVxuICAgICAgICB9XG4gICAgXSxcbiAgICB0aW1lUGlja2VyOiAncC1kYXRlcGlja2VyLXRpbWUtcGlja2VyJyxcbiAgICBob3VyUGlja2VyOiAncC1kYXRlcGlja2VyLWhvdXItcGlja2VyJyxcbiAgICBwY0luY3JlbWVudEJ1dHRvbjogJ3AtZGF0ZXBpY2tlci1pbmNyZW1lbnQtYnV0dG9uJyxcbiAgICBwY0RlY3JlbWVudEJ1dHRvbjogJ3AtZGF0ZXBpY2tlci1kZWNyZW1lbnQtYnV0dG9uJyxcbiAgICBzZXBhcmF0b3I6ICdwLWRhdGVwaWNrZXItc2VwYXJhdG9yJyxcbiAgICBtaW51dGVQaWNrZXI6ICdwLWRhdGVwaWNrZXItbWludXRlLXBpY2tlcicsXG4gICAgc2Vjb25kUGlja2VyOiAncC1kYXRlcGlja2VyLXNlY29uZC1waWNrZXInLFxuICAgIGFtcG1QaWNrZXI6ICdwLWRhdGVwaWNrZXItYW1wbS1waWNrZXInLFxuICAgIGJ1dHRvbmJhcjogJ3AtZGF0ZXBpY2tlci1idXR0b25iYXInLFxuICAgIHBjVG9kYXlCdXR0b246ICdwLWRhdGVwaWNrZXItdG9kYXktYnV0dG9uJyxcbiAgICBwY0NsZWFyQnV0dG9uOiAncC1kYXRlcGlja2VyLWNsZWFyLWJ1dHRvbidcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyU3R5bGUgZXh0ZW5kcyBCYXNlU3R5bGUge1xuICAgIG5hbWUgPSAnZGF0ZXBpY2tlcic7XG5cbiAgICB0aGVtZSA9IHRoZW1lO1xuXG4gICAgY2xhc3NlcyA9IGNsYXNzZXM7XG5cbiAgICBpbmxpbmVTdHlsZXMgPSBpbmxpbmVTdHlsZXM7XG59XG5cbi8qKlxuICpcbiAqIERhdGVQaWNrZXIgaXMgYSBmb3JtIGNvbXBvbmVudCB0byB3b3JrIHdpdGggZGF0ZXMuXG4gKlxuICogW0xpdmUgRGVtb10oaHR0cHM6Ly93d3cucHJpbWVuZy5vcmcvZGF0ZXBpY2tlci8pXG4gKlxuICogQG1vZHVsZSBkYXRlcGlja2Vyc3R5bGVcbiAqXG4gKi9cbmV4cG9ydCBlbnVtIERhdGVQaWNrZXJDbGFzc2VzIHtcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSByb290IGVsZW1lbnRcbiAgICAgKi9cbiAgICByb290ID0gJ3AtZGF0ZXBpY2tlcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgaW5wdXQgZWxlbWVudFxuICAgICAqL1xuICAgIHBjSW5wdXQgPSAncC1kYXRlcGlja2VyLWlucHV0JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBkcm9wZG93biBlbGVtZW50XG4gICAgICovXG4gICAgZHJvcGRvd24gPSAncC1kYXRlcGlja2VyLWRyb3Bkb3duJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBpbnB1dCBpY29uIGNvbnRhaW5lciBlbGVtZW50XG4gICAgICovXG4gICAgaW5wdXRJY29uQ29udGFpbmVyID0gJ3AtZGF0ZXBpY2tlci1pbnB1dC1pY29uLWNvbnRhaW5lcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgaW5wdXQgaWNvbiBlbGVtZW50XG4gICAgICovXG4gICAgaW5wdXRJY29uID0gJ3AtZGF0ZXBpY2tlci1pbnB1dC1pY29uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBwYW5lbCBlbGVtZW50XG4gICAgICovXG4gICAgcGFuZWwgPSAncC1kYXRlcGlja2VyLXBhbmVsJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBjYWxlbmRhciBjb250YWluZXIgZWxlbWVudFxuICAgICAqL1xuICAgIGNhbGVuZGFyQ29udGFpbmVyID0gJ3AtZGF0ZXBpY2tlci1jYWxlbmRhci1jb250YWluZXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGNhbGVuZGFyIGVsZW1lbnRcbiAgICAgKi9cbiAgICBjYWxlbmRhciA9ICdwLWRhdGVwaWNrZXItY2FsZW5kYXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGhlYWRlciBlbGVtZW50XG4gICAgICovXG4gICAgaGVhZGVyID0gJ3AtZGF0ZXBpY2tlci1oZWFkZXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHByZXZpb3VzIGJ1dHRvbiBlbGVtZW50XG4gICAgICovXG4gICAgcGNQcmV2QnV0dG9uID0gJ3AtZGF0ZXBpY2tlci1wcmV2LWJ1dHRvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgdGl0bGUgZWxlbWVudFxuICAgICAqL1xuICAgIHRpdGxlID0gJ3AtZGF0ZXBpY2tlci10aXRsZScsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgc2VsZWN0IG1vbnRoIGVsZW1lbnRcbiAgICAgKi9cbiAgICBzZWxlY3RNb250aCA9ICdwLWRhdGVwaWNrZXItc2VsZWN0LW1vbnRoJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBzZWxlY3QgeWVhciBlbGVtZW50XG4gICAgICovXG4gICAgc2VsZWN0WWVhciA9ICdwLWRhdGVwaWNrZXItc2VsZWN0LXllYXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGRlY2FkZSBlbGVtZW50XG4gICAgICovXG4gICAgZGVjYWRlID0gJ3AtZGF0ZXBpY2tlci1kZWNhZGUnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIG5leHQgYnV0dG9uIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwY05leHRCdXR0b24gPSAncC1kYXRlcGlja2VyLW5leHQtYnV0dG9uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBkYXkgdmlldyBlbGVtZW50XG4gICAgICovXG4gICAgZGF5VmlldyA9ICdwLWRhdGVwaWNrZXItZGF5LXZpZXcnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHdlZWsgaGVhZGVyIGVsZW1lbnRcbiAgICAgKi9cbiAgICB3ZWVrSGVhZGVyID0gJ3AtZGF0ZXBpY2tlci13ZWVraGVhZGVyJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSB3ZWVrIG51bWJlciBlbGVtZW50XG4gICAgICovXG4gICAgd2Vla051bWJlciA9ICdwLWRhdGVwaWNrZXItd2Vla251bWJlcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgd2VlayBsYWJlbCBjb250YWluZXIgZWxlbWVudFxuICAgICAqL1xuICAgIHdlZWtMYWJlbENvbnRhaW5lciA9ICdwLWRhdGVwaWNrZXItd2Vla2xhYmVsLWNvbnRhaW5lcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgd2VlayBkYXkgY2VsbCBlbGVtZW50XG4gICAgICovXG4gICAgd2Vla0RheUNlbGwgPSAncC1kYXRlcGlja2VyLXdlZWtkYXktY2VsbCcsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgd2VlayBkYXkgZWxlbWVudFxuICAgICAqL1xuICAgIHdlZWtEYXkgPSAncC1kYXRlcGlja2VyLXdlZWtkYXknLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGRheSBjZWxsIGVsZW1lbnRcbiAgICAgKi9cbiAgICBkYXlDZWxsID0gJ3AtZGF0ZXBpY2tlci1kYXktY2VsbCcsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgZGF5IGVsZW1lbnRcbiAgICAgKi9cbiAgICBkYXkgPSAncC1kYXRlcGlja2VyLWRheScsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgbW9udGggdmlldyBlbGVtZW50XG4gICAgICovXG4gICAgbW9udGhWaWV3ID0gJ3AtZGF0ZXBpY2tlci1tb250aC12aWV3JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBtb250aCBlbGVtZW50XG4gICAgICovXG4gICAgbW9udGggPSAncC1kYXRlcGlja2VyLW1vbnRoJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSB5ZWFyIHZpZXcgZWxlbWVudFxuICAgICAqL1xuICAgIHllYXJWaWV3ID0gJ3AtZGF0ZXBpY2tlci15ZWFyLXZpZXcnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHllYXIgZWxlbWVudFxuICAgICAqL1xuICAgIHllYXIgPSAncC1kYXRlcGlja2VyLXllYXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHRpbWUgcGlja2VyIGVsZW1lbnRcbiAgICAgKi9cbiAgICB0aW1lUGlja2VyID0gJ3AtZGF0ZXBpY2tlci10aW1lLXBpY2tlcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgaG91ciBwaWNrZXIgZWxlbWVudFxuICAgICAqL1xuICAgIGhvdXJQaWNrZXIgPSAncC1kYXRlcGlja2VyLWhvdXItcGlja2VyJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBpbmNyZW1lbnQgYnV0dG9uIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwY0luY3JlbWVudEJ1dHRvbiA9ICdwLWRhdGVwaWNrZXItaW5jcmVtZW50LWJ1dHRvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgZGVjcmVtZW50IGJ1dHRvbiBlbGVtZW50XG4gICAgICovXG4gICAgcGNEZWNyZW1lbnRCdXR0b24gPSAncC1kYXRlcGlja2VyLWRlY3JlbWVudC1idXR0b24nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHNlcGFyYXRvciBlbGVtZW50XG4gICAgICovXG4gICAgc2VwYXJhdG9yID0gJ3AtZGF0ZXBpY2tlci1zZXBhcmF0b3InLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIG1pbnV0ZSBwaWNrZXIgZWxlbWVudFxuICAgICAqL1xuICAgIG1pbnV0ZVBpY2tlciA9ICdwLWRhdGVwaWNrZXItbWludXRlLXBpY2tlcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgc2Vjb25kIHBpY2tlciBlbGVtZW50XG4gICAgICovXG4gICAgc2Vjb25kUGlja2VyID0gJ3AtZGF0ZXBpY2tlci1zZWNvbmQtcGlja2VyJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBhbXBtIHBpY2tlciBlbGVtZW50XG4gICAgICovXG4gICAgYW1wbVBpY2tlciA9ICdwLWRhdGVwaWNrZXItYW1wbS1waWNrZXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGJ1dHRvbmJhciBlbGVtZW50XG4gICAgICovXG4gICAgYnV0dG9uYmFyID0gJ3AtZGF0ZXBpY2tlci1idXR0b25iYXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHRvZGF5IGJ1dHRvbiBlbGVtZW50XG4gICAgICovXG4gICAgcGNUb2RheUJ1dHRvbiA9ICdwLWRhdGVwaWNrZXItdG9kYXktYnV0dG9uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBjbGVhciBidXR0b24gZWxlbWVudFxuICAgICAqL1xuICAgIHBjQ2xlYXJCdXR0b24gPSAncC1kYXRlcGlja2VyLWNsZWFyLWJ1dHRvbidcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRlUGlja2VyU3R5bGUgZXh0ZW5kcyBCYXNlU3R5bGUge31cbiJdfQ==
|
@@ -398,7 +398,11 @@ export class DynamicDialogComponent extends BaseComponent {
|
|
398
398
|
this.cd.detectChanges();
|
399
399
|
}
|
400
400
|
getAriaLabelledBy() {
|
401
|
-
|
401
|
+
const { header, showHeader } = this.ddconfig;
|
402
|
+
if (header === null || showHeader === false) {
|
403
|
+
return null;
|
404
|
+
}
|
405
|
+
return uuid('pn_id_') + '_header';
|
402
406
|
}
|
403
407
|
loadChildComponent(componentType) {
|
404
408
|
let viewContainerRef = this.insertionPoint?.viewContainerRef;
|
@@ -876,4 +880,4 @@ export class DynamicDialog {
|
|
876
880
|
}]
|
877
881
|
}], null, null); })();
|
878
882
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DynamicDialog, { imports: [DynamicDialogComponent, SharedModule], exports: [DynamicDialogComponent, SharedModule] }); })();
|
879
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pY2RpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljZGlhbG9nL2R5bmFtaWNkaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQWtCLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBNEIsTUFBTSxFQUFFLFFBQVEsRUFBcUIsUUFBUSxFQUFhLFFBQVEsRUFBUSxTQUFTLEVBQUUsaUJBQWlCLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFDN04sT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsSSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQW9EaEQsK0JBQXVIO0lBQWpDLG9NQUFhLHlCQUFrQixLQUFDO0lBQUMsaUJBQU07O0lBQTdGLDhDQUFnQzs7O0lBRTVELHdCQUFpRTs7O0lBTWpELHFDQUFrRTs7O0lBQ2xFLHFDQUFpRTs7O0lBRnJFLDZCQUFvQztJQUVoQyxBQURBLDJKQUFrRSw4SUFDRDs7OztJQUQ1QyxjQUF5QztJQUF6Qyx3RUFBeUM7SUFDekMsY0FBd0M7SUFBeEMsdUVBQXdDOzs7O0lBRzdELDJJQUF1RDs7O0lBRDNELDZCQUFpQztJQUM3Qix3SEFBdUQ7Ozs7SUFBekMsY0FBdUM7SUFBdkMsK0RBQXVDOzs7O0lBR3JELDJJQUF1RDs7O0lBRDNELDZCQUFnQztJQUM1Qix3SEFBdUQ7Ozs7SUFBekMsY0FBdUM7SUFBdkMsK0RBQXVDOzs7O0lBVDdELG9DQUEySztJQUFuRSxBQUF2Qix5TkFBVyxpQkFBVSxLQUFDLHdOQUFrQixpQkFBVSxLQUFDO0lBUWhJLEFBSEEsQUFKQSxnSUFBb0MsbUhBSUgsbUhBR0Q7SUFHcEMsaUJBQVc7OztJQVgwSCxBQUE5Rix1REFBeUMsNkNBQTBGO0lBQ3ZKLGNBQW1CO0lBQW5CLDJDQUFtQjtJQUluQixjQUFnQjtJQUFoQix3Q0FBZ0I7SUFHaEIsY0FBZTtJQUFmLHVDQUFlOzs7SUFLOUIsNkJBQXlDO0lBQ3JDLDRCQUFhOzs7OztJQUdiLG1JQUFtRDs7O0lBRHZELDRCQUFnQztJQUM1QixnSEFBbUQ7SUFDdkQsaUJBQU87OztJQURXLGNBQW1DO0lBQW5DLDJEQUFtQzs7OztJQUx6RCxvQ0FBNks7SUFBM0QsQUFBbkIseU5BQVcsYUFBTSxLQUFDLHdOQUFrQixhQUFNLEtBQUM7SUFJdEksQUFIQSxnSUFBeUMsbUdBR1Q7SUFHcEMsaUJBQVc7OztJQVB1RCxBQUF2QyxvREFBc0Msb0NBQTZCO0lBQzNFLGNBQXdCO0lBQXhCLGdEQUF3QjtJQUdoQyxjQUF1QjtJQUF2QiwrQ0FBdUI7OztJQW5CMUMsNkJBQXNDO0lBQ2xDLGdDQUF5RDtJQUFBLFlBQXFCO0lBQUEsaUJBQU87SUFDckYsK0JBQTJDO0lBYXZDLEFBWkEsNkdBQTJLLGdHQVlFO0lBUWpMLGlCQUFNOzs7O0lBdEJBLGNBQTRCO0lBQUMsQUFBN0IsMENBQTRCLDZCQUFzQjtJQUFDLGNBQXFCO0lBQXJCLDRDQUFxQjtJQUN6RSxjQUFxQztJQUFyQyxtREFBcUM7SUFDM0IsY0FBMEI7SUFBMUIsa0RBQTBCO0lBWTFCLGNBQWM7SUFBZCxzQ0FBYzs7OztJQWpCckMsa0NBQWtIO0lBQXJFLG9NQUFhLHVCQUFnQixLQUFDO0lBRXZFLEFBREEsc0dBQWtELHlGQUNaO0lBeUIxQyxpQkFBTTs7O0lBM0JTLDJDQUE2QjtJQUN6QixlQUFpQztJQUFqQyx5REFBaUM7SUFDakMsY0FBcUI7SUFBckIsNkNBQXFCOzs7O0lBMkJwQyxnR0FBNEQ7OztJQUM1RCx3QkFBa0U7OztJQUdsRSw2QkFBc0M7SUFDbEMsWUFDSjs7OztJQURJLGNBQ0o7SUFESSx1REFDSjs7O0lBQ0Esd0JBQWlFOzs7SUFKckUsa0NBQXFGO0lBSWpGLEFBSEEsc0dBQXNDLHlGQUdZO0lBQ3RELGlCQUFNOzs7SUFMTywyQ0FBNkI7SUFDdkIsZUFBcUI7SUFBckIsNkNBQXFCO0lBR3JCLGNBQWlDO0lBQWpDLHlEQUFpQzs7OztJQTlEeEQsaUNBd0JDO0lBVEcsQUFEQSxvTkFBb0IsK0JBQXdCLEtBQUMscU1BQzFCLDZCQUFzQixLQUFDO0lBVzFDLEFBREEsNkVBQXVILGdFQUNMO0lBNEJsSCxrQ0FBK0U7SUFFM0UsQUFEQSx5RUFBNEQsbUZBQ1Q7SUFDdkQsaUJBQU07SUFDTiw4RUFBcUY7SUFNekYsaUJBQU07OztJQTNERixvQ0FBd0I7SUFDeEIseUNBQTZCO0lBYzdCLEFBREEsOENBQThCLGtDQUNFO0lBRmhDLEFBWEEsQUFIQSxBQURBLDZGQUE0Rix3Q0FDUCwwS0FTbkYsMkRBS2lEOztJQU83QyxlQUF3QjtJQUF4QixnREFBd0I7SUFDK0MsY0FBbUM7SUFBbkMsMkRBQW1DO0lBNEJsRyxjQUE4QjtJQUFDLEFBQS9CLDRDQUE4Qix5Q0FBa0M7SUFDdEMsZUFBc0I7SUFBdEIsOENBQXNCO0lBQzNDLGNBQWtDO0lBQWxDLDBEQUFrQztJQUVULGNBQXVDO0lBQXZDLHNFQUF1Qzs7QUFuRm5HLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFMUosTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUErRmhILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxhQUFhO0lBK0sxQztJQUNBO0lBQ0M7SUFDRDtJQUN5QjtJQWxMcEMsT0FBTyxHQUFZLElBQUksQ0FBQztJQUV4QixZQUFZLENBQThCO0lBRTFDLElBQUksQ0FBMkI7SUFFL0IsUUFBUSxDQUFzQjtJQUU5QixRQUFRLENBQXNCO0lBRTlCLFNBQVMsQ0FBc0I7SUFFL0IsTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUVqQixhQUFhLENBQU07SUFFbkIsU0FBUyxDQUFxQjtJQUU5QixTQUFTLENBQXFCO0lBRTlCLGNBQWMsQ0FBcUI7SUFFbkMsRUFBRSxHQUFXLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUU1QixZQUFZLENBQU07SUFFZSxjQUFjLENBQWlDO0lBRTdELGFBQWEsQ0FBdUI7SUFFakMsZ0JBQWdCLENBQXVCO0lBRXhDLGVBQWUsQ0FBdUI7SUFFcEMsZUFBZSxDQUF1QjtJQUU3RCxrQkFBa0IsQ0FBc0I7SUFFeEMsU0FBUyxDQUEyQjtJQUVwQyxPQUFPLENBQXdCO0lBRS9CLHVCQUF1QixDQUFlO0lBRXRDLHNCQUFzQixDQUFlO0lBRXJDLGlCQUFpQixDQUFlO0lBRWhDLGdCQUFnQixHQUFXLFlBQVksQ0FBQztJQUV4QyxzQkFBc0IsQ0FBZTtJQUVyQyx5QkFBeUIsQ0FBZTtJQUV4QyxvQkFBb0IsQ0FBZTtJQUVuQyx1QkFBdUIsQ0FBZTtJQUV0QyxlQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFN0MsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVksQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQWEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQWEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBVTtRQUNoQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDL0IsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNqRixJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekIsT0FBTyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNqRixJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekIsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDL0YsSUFBSSxlQUFlO2dCQUFFLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFDdEcsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN6RyxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdELE9BQU87WUFDSCxlQUFlLEVBQUUsSUFBSTtZQUNyQixxQ0FBcUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWU7WUFDM0YsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRztTQUMzQixDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFDVyxRQUFtQixFQUNuQixRQUE2QixFQUM1QixTQUEyQixFQUM1QixJQUFZLEVBQ2EsWUFBb0M7UUFFcEUsS0FBSyxFQUFFLENBQUM7UUFORCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDYSxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7SUFHeEUsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ2pFLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxJQUFJLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ3RDLFNBQVMsSUFBSTt3REFDdUIsVUFBVTsyQ0FDdkIsSUFBSSxDQUFDLFFBQVE7eUNBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7OztxQkFHaEQsQ0FBQztnQkFDTixDQUFDO2dCQUVELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNyRSxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RSxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFDRCxZQUFZO1FBQ1IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGtCQUFtQixDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDcEUsQ0FBQztJQUVELGtCQUFrQixDQUFDLGFBQXdCO1FBQ3ZDLElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQztRQUM3RCxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsWUFBWSxHQUFHLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNyQyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEcsSUFBSSxDQUFDLE9BQXVCLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFFLElBQUksQ0FBQyxTQUE0QixDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDM0gsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFxQjtRQUNsQyxRQUFRLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQixLQUFLLFNBQVM7Z0JBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO2dCQUMvQixJQUFJLENBQUMsT0FBTyxHQUFJLElBQUksQ0FBQyxTQUE0QixDQUFDLGFBQWEsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDZCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDakMsQ0FBQztnQkFDRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFFMUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUMxQixDQUFDO2dCQUVELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFLENBQUM7b0JBQ3RDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDakIsQ0FBQztnQkFDRCxNQUFNO1lBRVYsS0FBSyxNQUFNO2dCQUNQLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDaEQsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztnQkFDbkQsQ0FBQztnQkFDRCxNQUFNO1FBQ2QsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBcUI7UUFDaEMsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRTdCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN2RCxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUNwRixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQ3hELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDaEMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ25DLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUNoQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztZQUN6RCxDQUFDO1lBRUQsSUFBSSxDQUFFLElBQUksQ0FBQyxFQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDNUIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhO1FBQzFELElBQUksU0FBUyxHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNsRixJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0MsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDNUUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUM3QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDOUIseURBQXlEO1lBQ3pELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuRCxDQUFDO2FBQU0sSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFakMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDdEQsQ0FBQzthQUFNLENBQUM7WUFDSixXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFpQjtRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztZQUN2QyxDQUFDO1lBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUM3QixRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFpQjtRQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFJLElBQUksQ0FBQyxTQUFvQixDQUFDO1lBQ3RELElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUksSUFBSSxDQUFDLFNBQW9CLENBQUM7WUFDdEQsSUFBSSxjQUFjLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuRCxJQUFJLGVBQWUsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JELElBQUksYUFBYSxHQUFHLGNBQWMsQ0FBYyxJQUFJLENBQUMsZ0JBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdEYsSUFBSSxRQUFRLEdBQUcsY0FBYyxHQUFHLE1BQU0sQ0FBQztZQUN2QyxJQUFJLFNBQVMsR0FBRyxlQUFlLEdBQUcsTUFBTSxDQUFDO1lBQ3pDLElBQUksUUFBUSxHQUFJLElBQUksQ0FBQyxTQUE0QixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDakUsSUFBSSxTQUFTLEdBQUksSUFBSSxDQUFDLFNBQTRCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUNuRSxJQUFJLE1BQU0sR0FBSSxJQUFJLENBQUMsU0FBNEIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3hFLElBQUksUUFBUSxHQUFHLFdBQVcsRUFBRSxDQUFDO1lBQzdCLElBQUksY0FBYyxHQUFHLENBQUMsUUFBUSxDQUFFLElBQUksQ0FBQyxTQUE0QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBRSxJQUFJLENBQUMsU0FBNEIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFekksSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDakIsUUFBUSxJQUFJLE1BQU0sQ0FBQztnQkFDbkIsU0FBUyxJQUFJLE1BQU0sQ0FBQztZQUN4QixDQUFDO1lBRUQsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzFGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxTQUE0QixDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDdkUsQ0FBQztZQUVELElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsR0FBRyxTQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqRixJQUFJLENBQUMsZ0JBQWlCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsYUFBYSxHQUFHLFNBQVMsR0FBRyxlQUFlLEdBQUcsSUFBSSxDQUFDO2dCQUVwSCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUM7b0JBQ3JDLElBQUksQ0FBQyxTQUE0QixDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQ3pFLENBQUM7WUFDTCxDQUFDO1lBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFpQjtRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFpQjtRQUN0QixJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBYSxFQUFFLHNCQUFzQixDQUFDLElBQUksUUFBUSxDQUFlLEtBQUssQ0FBQyxNQUFPLENBQUMsYUFBYSxFQUFFLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztZQUN2SSxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBRTVCLElBQUksQ0FBQyxTQUE0QixDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1lBQ3RELFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWlCO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksY0FBYyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkQsSUFBSSxlQUFlLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyRCxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFJLElBQUksQ0FBQyxTQUFvQixDQUFDO1lBQ3RELElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUksSUFBSSxDQUFDLFNBQW9CLENBQUM7WUFDdEQsSUFBSSxNQUFNLEdBQUksSUFBSSxDQUFDLFNBQTRCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUN4RSxJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNuQyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztZQUNqQyxJQUFJLFFBQVEsR0FBRyxXQUFXLEVBQUUsQ0FBQztZQUU1QixJQUFJLENBQUMsU0FBNEIsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztZQUU1RCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPLEdBQUcsY0FBYyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO29CQUM1QixJQUFJLENBQUMsU0FBNEIsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ25FLENBQUM7Z0JBRUQsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxNQUFNLEdBQUcsZUFBZSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQztvQkFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO29CQUM1QixJQUFJLENBQUMsU0FBNEIsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ2pFLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUM1QixJQUFJLENBQUMsU0FBNEIsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFNBQTRCLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2pFLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFpQjtRQUNyQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNSLElBQUksQ0FBQyxTQUE0QixDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUE0QixDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUE0QixDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxTQUE0QixDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRCx3QkFBd0I7UUFDcEIsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDekcsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVELDJCQUEyQjtRQUN2QixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUM3QixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMzRyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDO0lBRUQsNkJBQTZCO1FBQ3pCLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDBCQUEwQjtRQUN0QixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFFRCwyQkFBMkI7UUFDdkIsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3pHLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQy9HLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFRCw2QkFBNkI7UUFDekIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDaEUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNuQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELDBCQUEwQjtRQUN0QixNQUFNLGNBQWMsR0FBUSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUU3RyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3BGLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxRQUFRLENBQUUsSUFBSSxDQUFDLFNBQTRCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO29CQUN4RixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2hCLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsNEJBQTRCO1FBQ3hCLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztRQUN2QyxDQUFDO0lBQ0wsQ0FBQztJQUVELHVCQUF1QjtRQUNuQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDbEMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDO2dIQTNsQlEsc0JBQXNCOzZEQUF0QixzQkFBc0I7MkJBMkJwQixvQkFBb0I7Ozs7Ozs7Ozs7OztnRUE3QnBCLENBQUMsa0JBQWtCLENBQUM7WUF0RjNCLGlDQWVDO1lBQ0csd0VBd0JDO1lBeUNMLGlCQUFNOztZQXBFRiwwQ0FBaUM7WUFDakMsQUFaQSxnaEJBVUUsMEJBRW1CO1lBR2hCLGVBQWE7WUFBYixrQ0FBYTs0QkFuQmhCLFlBQVksOEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyx3Q0FxRnBILENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O2lGQUt2SixzQkFBc0I7Y0E3RmxDLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsb0RBQW9EO2dCQUM5RCxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztnQkFDakksUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW1GVDtnQkFDRCxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEssZUFBZSxFQUFFLHVCQUF1QixDQUFDLE9BQU87Z0JBQ2hELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzthQUNsQzs7c0JBb0xRLFFBQVE7O3NCQUFJLFFBQVE7cUJBeEpRLGNBQWM7a0JBQTlDLFNBQVM7bUJBQUMsb0JBQW9CO1lBRVosYUFBYTtrQkFBL0IsU0FBUzttQkFBQyxNQUFNO1lBRUssZ0JBQWdCO2tCQUFyQyxTQUFTO21CQUFDLFNBQVM7WUFFQyxlQUFlO2tCQUFuQyxTQUFTO21CQUFDLFFBQVE7WUFFSSxlQUFlO2tCQUFyQyxTQUFTO21CQUFDLFVBQVU7O2tGQW5DWixzQkFBc0I7QUFrbUJuQyxNQUFNLE9BQU8sYUFBYTt1R0FBYixhQUFhOzREQUFiLGFBQWE7Z0VBSFosc0JBQXNCLEVBQUUsWUFBWSxFQUNaLFlBQVk7O2lGQUVyQyxhQUFhO2NBSnpCLFFBQVE7ZUFBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLENBQUM7Z0JBQy9DLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLFlBQVksQ0FBQzthQUNsRDs7d0ZBQ1ksYUFBYSxjQWxtQmIsc0JBQXNCLEVBK2xCRyxZQUFZLGFBL2xCckMsc0JBQXNCLEVBZ21CRyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgYW5pbWF0aW9uLCBBbmltYXRpb25FdmVudCwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIsIHVzZUFuaW1hdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb21wb25lbnRSZWYsIEVsZW1lbnRSZWYsIGluamVjdCwgTmdNb2R1bGUsIE5nWm9uZSwgT25EZXN0cm95LCBPcHRpb25hbCwgUmVuZGVyZXIyLCBTa2lwU2VsZiwgVHlwZSwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgVmlld1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYWRkQ2xhc3MsIGdldE91dGVySGVpZ2h0LCBnZXRPdXRlcldpZHRoLCBnZXRWaWV3cG9ydCwgaGFzQ2xhc3MsIHJlbW92ZUNsYXNzLCBzZXRBdHRyaWJ1dGUsIHV1aWQgfSBmcm9tICdAcHJpbWV1aXgvdXRpbHMnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlLCBUcmFuc2xhdGlvbktleXMgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAncHJpbWVuZy9iYXNlY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IERvbUhhbmRsZXIgfSBmcm9tICdwcmltZW5nL2RvbSc7XG5pbXBvcnQgeyBGb2N1c1RyYXAgfSBmcm9tICdwcmltZW5nL2ZvY3VzdHJhcCc7XG5pbXBvcnQgeyBUaW1lc0ljb24sIFdpbmRvd01heGltaXplSWNvbiwgV2luZG93TWluaW1pemVJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucyc7XG5pbXBvcnQgeyBOdWxsYWJsZSwgVm9pZExpc3RlbmVyIH0gZnJvbSAncHJpbWVuZy90cy1oZWxwZXJzJztcbmltcG9ydCB7IFpJbmRleFV0aWxzIH0gZnJvbSAncHJpbWVuZy91dGlscyc7XG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi9keW5hbWljZGlhbG9nLWNvbmZpZyc7XG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSAnLi9keW5hbWljZGlhbG9nLXJlZic7XG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nQ29udGVudCB9IGZyb20gJy4vZHluYW1pY2RpYWxvZ2NvbnRlbnQnO1xuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ1N0eWxlIH0gZnJvbSAnLi9zdHlsZS9keW5hbWljZGlhbG9nc3R5bGUnO1xuXG5jb25zdCBzaG93QW5pbWF0aW9uID0gYW5pbWF0aW9uKFtzdHlsZSh7IHRyYW5zZm9ybTogJ3t7dHJhbnNmb3JtfX0nLCBvcGFjaXR5OiAwIH0pLCBhbmltYXRlKCd7e3RyYW5zaXRpb259fScsIHN0eWxlKHsgdHJhbnNmb3JtOiAnbm9uZScsIG9wYWNpdHk6IDEgfSkpXSk7XG5cbmNvbnN0IGhpZGVBbmltYXRpb24gPSBhbmltYXRpb24oW2FuaW1hdGUoJ3t7dHJhbnNpdGlvbn19Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd7e3RyYW5zZm9ybX19Jywgb3BhY2l0eTogMCB9KSldKTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLWR5bmFtaWNEaWFsb2csIHAtZHluYW1pY2RpYWxvZywgcC1keW5hbWljLWRpYWxvZycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTaGFyZWRNb2R1bGUsIER5bmFtaWNEaWFsb2dDb250ZW50LCBXaW5kb3dNYXhpbWl6ZUljb24sIFdpbmRvd01pbmltaXplSWNvbiwgVGltZXNJY29uLCBCdXR0b24sIEZvY3VzVHJhcF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI21hc2tcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAnanVzdGlmeS1jb250ZW50JzogcG9zaXRpb24gPT09ICdsZWZ0JyB8fCBwb3NpdGlvbiA9PT0gJ3RvcGxlZnQnIHx8IHBvc2l0aW9uID09PSAnYm90dG9tbGVmdCcgPyAnZmxleC1zdGFydCcgOiBwb3NpdGlvbiA9PT0gJ3JpZ2h0JyB8fCBwb3NpdGlvbiA9PT0gJ3RvcHJpZ2h0JyB8fCBwb3NpdGlvbiA9PT0gJ2JvdHRvbXJpZ2h0JyA/ICdmbGV4LWVuZCcgOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAnYWxpZ24taXRlbXMnOiBwb3NpdGlvbiA9PT0gJ3RvcCcgfHwgcG9zaXRpb24gPT09ICd0b3BsZWZ0JyB8fCBwb3NpdGlvbiA9PT0gJ3RvcHJpZ2h0JyA/ICdmbGV4LXN0YXJ0JyA6IHBvc2l0aW9uID09PSAnYm90dG9tJyB8fCBwb3NpdGlvbiA9PT0gJ2JvdHRvbWxlZnQnIHx8IHBvc2l0aW9uID09PSAnYm90dG9tcmlnaHQnID8gJ2ZsZXgtZW5kJyA6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICdwb2ludGVyLWV2ZW50cyc6IGRkY29uZmlnLm1vZGFsID8gJ2F1dG8nIDogJ25vbmUnXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIFtjbGFzc109XCJkZGNvbmZpZy5tYXNrU3R5bGVDbGFzc1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJtYXNrQ2xhc3NcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ2aXNpYmxlXCJcbiAgICAgICAgICAgICAgICAjY29udGFpbmVyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncC1kaWFsb2cgcC1jb21wb25lbnQnOiB0cnVlLCAncC1kaWFsb2ctbWF4aW1pemVkJzogbWF4aW1pemFibGUgJiYgbWF4aW1pemVkIH1cIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgZGlzcGxheTogJ2ZsZXgnLCAnZmxleC1kaXJlY3Rpb24nOiAnY29sdW1uJywgJ3BvaW50ZXItZXZlbnRzJzogJ2F1dG8nIH1cIlxuICAgICAgICAgICAgICAgIFtzdHlsZV09XCJkZGNvbmZpZy5zdHlsZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cImRkY29uZmlnLnN0eWxlQ2xhc3NcIlxuICAgICAgICAgICAgICAgIFtAYW5pbWF0aW9uXT1cIntcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICd2aXNpYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zZm9ybU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBkZGNvbmZpZy50cmFuc2l0aW9uT3B0aW9ucyB8fCAnMTUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAoQGFuaW1hdGlvbi5zdGFydCk9XCJvbkFuaW1hdGlvblN0YXJ0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChAYW5pbWF0aW9uLmRvbmUpPVwib25BbmltYXRpb25FbmQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgcEZvY3VzVHJhcFxuICAgICAgICAgICAgICAgIFtwRm9jdXNUcmFwRGlzYWJsZWRdPVwiZGRjb25maWcuZm9jdXNUcmFwID09PSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImRkY29uZmlnLndpZHRoXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cImRkY29uZmlnLmhlaWdodFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLW1vZGFsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImRpYWxvZ0lkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZGRjb25maWcucmVzaXphYmxlXCIgW25nQ2xhc3NdPVwiJ3AtcmVzaXphYmxlLWhhbmRsZSdcIiBzdHlsZT1cInotaW5kZXg6IDkwO1wiIChtb3VzZWRvd24pPVwiaW5pdFJlc2l6ZSgkZXZlbnQpXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiAjdGl0bGViYXIgW25nQ2xhc3NdPVwiJ3AtZGlhbG9nLWhlYWRlcidcIiAobW91c2Vkb3duKT1cImluaXREcmFnKCRldmVudClcIiAqbmdJZj1cImRkY29uZmlnLnNob3dIZWFkZXIgIT09IGZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoZWFkZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiJ3AtZGlhbG9nLXRpdGxlJ1wiIFtpZF09XCJhcmlhTGFiZWxsZWRCeVwiPnt7IGRkY29uZmlnLmhlYWRlciB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiJ3AtZGlhbG9nLWhlYWRlci1hY3Rpb25zJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWJ1dHRvbiAqbmdJZj1cImRkY29uZmlnLm1heGltaXphYmxlXCIgW3N0eWxlQ2xhc3NdPVwiJ3AtZGlhbG9nLW1heGltaXplLWJ1dHRvbidcIiAob25DbGljayk9XCJtYXhpbWl6ZSgpXCIgKGtleWRvd24uZW50ZXIpPVwibWF4aW1pemUoKVwiIFt0YWJpbmRleF09XCJtYXhpbWl6YWJsZSA/ICcwJyA6ICctMSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtYXhpbWl6ZUljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5kb3dNYXhpbWl6ZUljb24gKm5nSWY9XCIhbWF4aW1pemVkICYmICFtYXhpbWl6ZUljb25UZW1wbGF0ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luZG93TWluaW1pemVJY29uICpuZ0lmPVwibWF4aW1pemVkICYmICFtaW5pbWl6ZUljb25UZW1wbGF0ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW1heGltaXplZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiX21heGltaXplSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtYXhpbWl6ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIl9taW5pbWl6ZUljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtYnV0dG9uICpuZ0lmPVwiY2xvc2FibGVcIiBbc3R5bGVDbGFzc109XCIncC1kaWFsb2ctY2xvc2UtYnV0dG9uJ1wiIFthcmlhTGFiZWxdPVwiY2xvc2VBcmlhTGFiZWxcIiAob25DbGljayk9XCJoaWRlKClcIiAoa2V5ZG93bi5lbnRlcik9XCJoaWRlKClcIiByb3VuZGVkIHRleHQgc2V2ZXJpdHk9XCJzZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjbG9zZUljb25UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRpbWVzSWNvbiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjbG9zZUljb25UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2ICNjb250ZW50IFtuZ0NsYXNzXT1cIidwLWRpYWxvZy1jb250ZW50J1wiIFtuZ1N0eWxlXT1cImRkY29uZmlnLmNvbnRlbnRTdHlsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcER5bmFtaWNEaWFsb2dDb250ZW50ICpuZ0lmPVwiIWNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiAjZm9vdGVyIFtuZ0NsYXNzXT1cIidwLWRpYWxvZy1mb290ZXInXCIgKm5nSWY9XCJkZGNvbmZpZy5mb290ZXIgfHwgZm9vdGVyVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmb290ZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZGRjb25maWcuZm9vdGVyIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImZvb3RlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBhbmltYXRpb25zOiBbdHJpZ2dlcignYW5pbWF0aW9uJywgW3RyYW5zaXRpb24oJ3ZvaWQgPT4gdmlzaWJsZScsIFt1c2VBbmltYXRpb24oc2hvd0FuaW1hdGlvbildKSwgdHJhbnNpdGlvbigndmlzaWJsZSA9PiB2b2lkJywgW3VzZUFuaW1hdGlvbihoaWRlQW5pbWF0aW9uKV0pXSldLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW0R5bmFtaWNEaWFsb2dTdHlsZV1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0RpYWxvZ0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHZpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgY29tcG9uZW50UmVmOiBOdWxsYWJsZTxDb21wb25lbnRSZWY8YW55Pj47XG5cbiAgICBtYXNrOiBOdWxsYWJsZTxIVE1MRGl2RWxlbWVudD47XG5cbiAgICByZXNpemluZzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIGRyYWdnaW5nOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gICAgbWF4aW1pemVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gICAgX3N0eWxlOiBhbnkgPSB7fTtcblxuICAgIG9yaWdpbmFsU3R5bGU6IGFueTtcblxuICAgIGxhc3RQYWdlWDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICAgbGFzdFBhZ2VZOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgICBhcmlhTGFiZWxsZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgaWQ6IHN0cmluZyA9IHV1aWQoJ3BuX2lkXycpO1xuXG4gICAgc3R5bGVFbGVtZW50OiBhbnk7XG5cbiAgICBAVmlld0NoaWxkKER5bmFtaWNEaWFsb2dDb250ZW50KSBpbnNlcnRpb25Qb2ludDogTnVsbGFibGU8RHluYW1pY0RpYWxvZ0NvbnRlbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnbWFzaycpIG1hc2tWaWV3Q2hpbGQ6IE51bGxhYmxlPEVsZW1lbnRSZWY+O1xuXG4gICAgQFZpZXdDaGlsZCgnY29udGVudCcpIGNvbnRlbnRWaWV3Q2hpbGQ6IE51bGxhYmxlPEVsZW1lbnRSZWY+O1xuXG4gICAgQFZpZXdDaGlsZCgnZm9vdGVyJykgZm9vdGVyVmlld0NoaWxkOiBOdWxsYWJsZTxFbGVtZW50UmVmPjtcblxuICAgIEBWaWV3Q2hpbGQoJ3RpdGxlYmFyJykgaGVhZGVyVmlld0NoaWxkOiBOdWxsYWJsZTxFbGVtZW50UmVmPjtcblxuICAgIGNoaWxkQ29tcG9uZW50VHlwZTogTnVsbGFibGU8VHlwZTxhbnk+PjtcblxuICAgIGNvbnRhaW5lcjogTnVsbGFibGU8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgd3JhcHBlcjogTnVsbGFibGU8SFRNTEVsZW1lbnQ+O1xuXG4gICAgZG9jdW1lbnRLZXlkb3duTGlzdGVuZXI6IFZvaWRMaXN0ZW5lcjtcblxuICAgIGRvY3VtZW50RXNjYXBlTGlzdGVuZXI6IFZvaWRMaXN0ZW5lcjtcblxuICAgIG1hc2tDbGlja0xpc3RlbmVyOiBWb2lkTGlzdGVuZXI7XG5cbiAgICB0cmFuc2Zvcm1PcHRpb25zOiBzdHJpbmcgPSAnc2NhbGUoMC43KSc7XG5cbiAgICBkb2N1bWVudFJlc2l6ZUxpc3RlbmVyOiBWb2lkTGlzdGVuZXI7XG5cbiAgICBkb2N1bWVudFJlc2l6ZUVuZExpc3RlbmVyOiBWb2lkTGlzdGVuZXI7XG5cbiAgICBkb2N1bWVudERyYWdMaXN0ZW5lcjogVm9pZExpc3RlbmVyO1xuXG4gICAgZG9jdW1lbnREcmFnRW5kTGlzdGVuZXI6IFZvaWRMaXN0ZW5lcjtcblxuICAgIF9jb21wb25lbnRTdHlsZSA9IGluamVjdChEeW5hbWljRGlhbG9nU3R5bGUpO1xuXG4gICAgZ2V0IG1pblgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRjb25maWcubWluWCA/IHRoaXMuZGRjb25maWcubWluWCA6IDA7XG4gICAgfVxuXG4gICAgZ2V0IG1pblkoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRjb25maWcubWluWSA/IHRoaXMuZGRjb25maWcubWluWSA6IDA7XG4gICAgfVxuXG4gICAgZ2V0IGtlZXBJblZpZXdwb3J0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kZGNvbmZpZy5rZWVwSW5WaWV3cG9ydCE7XG4gICAgfVxuXG4gICAgZ2V0IG1heGltaXphYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kZGNvbmZpZy5tYXhpbWl6YWJsZSE7XG4gICAgfVxuXG4gICAgZ2V0IG1heGltaXplSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kZGNvbmZpZy5tYXhpbWl6ZUljb24hO1xuICAgIH1cblxuICAgIGdldCBtaW5pbWl6ZUljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRjb25maWcubWluaW1pemVJY29uITtcbiAgICB9XG5cbiAgICBnZXQgY2xvc2FibGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRkY29uZmlnLmNsb3NhYmxlITtcbiAgICB9XG5cbiAgICBnZXQgc3R5bGUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0eWxlO1xuICAgIH1cblxuICAgIGdldCBwb3NpdGlvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kZGNvbmZpZy5wb3NpdGlvbiE7XG4gICAgfVxuXG4gICAgZ2V0IGNsb3NlQXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5nZXRUcmFuc2xhdGlvbihUcmFuc2xhdGlvbktleXMuQVJJQSlbJ2Nsb3NlJ107XG4gICAgfVxuXG4gICAgc2V0IHN0eWxlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9zdHlsZSA9IHsgLi4udmFsdWUgfTtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxTdHlsZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHBhcmVudCgpIHtcbiAgICAgICAgY29uc3QgZG9tRWxlbWVudHMgPSBBcnJheS5mcm9tKHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgncC1kaWFsb2cnKSk7XG4gICAgICAgIGlmIChkb21FbGVtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gZG9tRWxlbWVudHMucG9wKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgcGFyZW50Q29udGVudCgpIHtcbiAgICAgICAgY29uc3QgZG9tRWxlbWVudHMgPSBBcnJheS5mcm9tKHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgncC1kaWFsb2cnKSk7XG4gICAgICAgIGlmIChkb21FbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50RWxlbWVudHMgPSBkb21FbGVtZW50c1tkb21FbGVtZW50cy5sZW5ndGggLSAxXS5xdWVyeVNlbGVjdG9yKCcucC1kaWFsb2ctY29udGVudCcpO1xuICAgICAgICAgICAgaWYgKGNvbnRlbnRFbGVtZW50cykgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29udGVudEVsZW1lbnRzKSA/IGNvbnRlbnRFbGVtZW50c1swXSA6IGNvbnRlbnRFbGVtZW50cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBoZWFkZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRkY29uZmlnLmhlYWRlcjtcbiAgICB9XG5cbiAgICBnZXQgZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRjb25maWcuZGF0YTtcbiAgICB9XG5cbiAgICBnZXQgYnJlYWtwb2ludHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRkY29uZmlnLmJyZWFrcG9pbnRzO1xuICAgIH1cblxuICAgIGdldCBmb290ZXJUZW1wbGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRjb25maWc/LnRlbXBsYXRlcz8uZm9vdGVyO1xuICAgIH1cblxuICAgIGdldCBoZWFkZXJUZW1wbGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRjb25maWc/LnRlbXBsYXRlcz8uaGVhZGVyO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50VGVtcGxhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRkY29uZmlnPy50ZW1wbGF0ZXM/LmNvbnRlbnQ7XG4gICAgfVxuXG4gICAgZ2V0IG1pbmltaXplSWNvblRlbXBsYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZGNvbmZpZz8udGVtcGxhdGVzPy5taW5pbWl6ZWljb247XG4gICAgfVxuXG4gICAgZ2V0IG1heGltaXplSWNvblRlbXBsYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZGNvbmZpZz8udGVtcGxhdGVzPy5tYXhpbWl6ZWljb247XG4gICAgfVxuXG4gICAgZ2V0IGNsb3NlSWNvblRlbXBsYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZGNvbmZpZz8udGVtcGxhdGVzPy5jbG9zZWljb247XG4gICAgfVxuXG4gICAgZ2V0IG1hc2tDbGFzcygpIHtcbiAgICAgICAgY29uc3QgcG9zaXRpb25zID0gWydsZWZ0JywgJ3JpZ2h0JywgJ3RvcCcsICd0b3BsZWZ0JywgJ3RvcHJpZ2h0JywgJ2JvdHRvbScsICdib3R0b21sZWZ0JywgJ2JvdHRvbXJpZ2h0J107XG4gICAgICAgIGNvbnN0IHBvcyA9IHBvc2l0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtID09PSB0aGlzLnBvc2l0aW9uKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ3AtZGlhbG9nLW1hc2snOiB0cnVlLFxuICAgICAgICAgICAgJ3Atb3ZlcmxheS1tYXNrIHAtb3ZlcmxheS1tYXNrLWVudGVyJzogdGhpcy5kZGNvbmZpZy5tb2RhbCB8fCB0aGlzLmRkY29uZmlnLmRpc21pc3NhYmxlTWFzayxcbiAgICAgICAgICAgIFtgcC1kaWFsb2ctJHtwb3N9YF06IHBvc1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldCBkaWFsb2dJZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXR0clNlbGVjdG9yO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHVibGljIGRkY29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogRHluYW1pY0RpYWxvZ1JlZixcbiAgICAgICAgcHVibGljIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgcHJpdmF0ZSBwYXJlbnREaWFsb2c6IER5bmFtaWNEaWFsb2dDb21wb25lbnRcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgaWYgKHRoaXMuYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlU3R5bGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZVN0eWxlKCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnN0eWxlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVFbGVtZW50LnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCB0aGlzLnN0eWxlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgbGV0IGlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGJyZWFrcG9pbnQgaW4gdGhpcy5icmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgICAgICBpbm5lckhUTUwgKz0gYFxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHticmVha3BvaW50fSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wLWRpYWxvZ1tpZD0ke3RoaXMuZGlhbG9nSWR9XTpub3QoLnAtZGlhbG9nLW1heGltaXplZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHt0aGlzLmJyZWFrcG9pbnRzW2JyZWFrcG9pbnRdfSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuc3R5bGVFbGVtZW50LCAnaW5uZXJIVE1MJywgaW5uZXJIVE1MKTtcbiAgICAgICAgICAgICAgICBzZXRBdHRyaWJ1dGUodGhpcy5zdHlsZUVsZW1lbnQsICdub25jZScsIHRoaXMuY29uZmlnPy5jc3AoKT8ubm9uY2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGRlc3Ryb3lTdHlsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3R5bGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuZG9jdW1lbnQuaGVhZCwgdGhpcy5zdHlsZUVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5zdHlsZUVsZW1lbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgdGhpcy5sb2FkQ2hpbGRDb21wb25lbnQodGhpcy5jaGlsZENvbXBvbmVudFR5cGUhKTtcbiAgICAgICAgdGhpcy5hcmlhTGFiZWxsZWRCeSA9IHRoaXMuZ2V0QXJpYUxhYmVsbGVkQnkoKTtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgZ2V0QXJpYUxhYmVsbGVkQnkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhlYWRlciAhPT0gbnVsbCA/IHV1aWQoJ3BuX2lkXycpICsgJ19oZWFkZXInIDogbnVsbDtcbiAgICB9XG5cbiAgICBsb2FkQ2hpbGRDb21wb25lbnQoY29tcG9uZW50VHlwZTogVHlwZTxhbnk+KSB7XG4gICAgICAgIGxldCB2aWV3Q29udGFpbmVyUmVmID0gdGhpcy5pbnNlcnRpb25Qb2ludD8udmlld0NvbnRhaW5lclJlZjtcbiAgICAgICAgdmlld0NvbnRhaW5lclJlZj8uY2xlYXIoKTtcblxuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXJSZWY/LmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRUeXBlKTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYub25DaGlsZENvbXBvbmVudExvYWRlZC5uZXh0KHRoaXMuY29tcG9uZW50UmVmIS5pbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgbW92ZU9uVG9wKCkge1xuICAgICAgICBpZiAodGhpcy5kZGNvbmZpZy5hdXRvWkluZGV4ICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgWkluZGV4VXRpbHMuc2V0KCdtb2RhbCcsIHRoaXMuY29udGFpbmVyLCAodGhpcy5kZGNvbmZpZy5iYXNlWkluZGV4IHx8IDApICsgdGhpcy5jb25maWcuekluZGV4Lm1vZGFsKTtcbiAgICAgICAgICAgICh0aGlzLndyYXBwZXIgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnpJbmRleCA9IFN0cmluZyhwYXJzZUludCgodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLnpJbmRleCwgMTApIC0gMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFuaW1hdGlvblN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LnRvU3RhdGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3Zpc2libGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID0gZXZlbnQuZWxlbWVudDtcbiAgICAgICAgICAgICAgICB0aGlzLndyYXBwZXIgPSAodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZlT25Ub3AoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51bmJpbmRHbG9iYWxMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5iaW5kR2xvYmFsTGlzdGVuZXJzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXI/LnNldEF0dHJpYnV0ZSh0aGlzLmlkLCAnJyk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kZGNvbmZpZy5tb2RhbCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmFibGVNb2RhbGl0eSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRkY29uZmlnLmZvY3VzT25TaG93ICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICd2b2lkJzpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy53cmFwcGVyICYmIHRoaXMuZGRjb25maWcubW9kYWwgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGFkZENsYXNzKHRoaXMud3JhcHBlciwgJ3Atb3ZlcmxheS1tYXNrLWxlYXZlJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC50b1N0YXRlID09PSAndm9pZCcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhcmVudENvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzKHRoaXMucGFyZW50Q29udGVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9uQ29udGFpbmVyRGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Db250YWluZXJEZXN0cm95KCkge1xuICAgICAgICB0aGlzLnVuYmluZEdsb2JhbExpc3RlbmVycygpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRhaW5lciAmJiB0aGlzLmRkY29uZmlnLmF1dG9aSW5kZXggIT09IGZhbHNlKSB7XG4gICAgICAgICAgICBaSW5kZXhVdGlscy5jbGVhcih0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZGNvbmZpZy5tb2RhbCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZU1vZGFsaXR5KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250YWluZXIgPSBudWxsO1xuICAgIH1cblxuICAgIGNsb3NlKCkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBoaWRlKCkge1xuICAgICAgICBpZiAodGhpcy5kaWFsb2dSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlbmFibGVNb2RhbGl0eSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGRjb25maWcuZGlzbWlzc2FibGVNYXNrKSB7XG4gICAgICAgICAgICB0aGlzLm1hc2tDbGlja0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy53cmFwcGVyLCAnbW91c2Vkb3duJywgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy53cmFwcGVyICYmIHRoaXMud3JhcHBlci5pc1NhbWVOb2RlKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZGNvbmZpZy5tb2RhbCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ3Atb3ZlcmZsb3ctaGlkZGVuJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkaXNhYmxlTW9kYWxpdHkoKSB7XG4gICAgICAgIGlmICh0aGlzLndyYXBwZXIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRkY29uZmlnLmRpc21pc3NhYmxlTWFzaykge1xuICAgICAgICAgICAgICAgIHRoaXMudW5iaW5kTWFza0NsaWNrTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuZGRjb25maWcubW9kYWwgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCAncC1vdmVyZmxvdy1oaWRkZW4nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCEodGhpcy5jZCBhcyBWaWV3UmVmKS5kZXN0cm95ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzKGZvY3VzUGFyZW50RWxlbWVudCA9IHRoaXMuY29udGVudFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgIGxldCBmb2N1c2FibGUgPSBEb21IYW5kbGVyLmdldEZvY3VzYWJsZUVsZW1lbnQoZm9jdXNQYXJlbnRFbGVtZW50LCAnW2F1dG9mb2N1c10nKTtcbiAgICAgICAgaWYgKGZvY3VzYWJsZSkge1xuICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGZvY3VzYWJsZS5mb2N1cygpLCA1KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnQgPSBEb21IYW5kbGVyLmdldEZvY3VzYWJsZUVsZW1lbnQoZm9jdXNQYXJlbnRFbGVtZW50KTtcbiAgICAgICAgaWYgKGZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBmb2N1c2FibGVFbGVtZW50LmZvY3VzKCksIDUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5mb290ZXJWaWV3Q2hpbGQpIHtcbiAgICAgICAgICAgIC8vIElmIHRoZSBjb250ZW50IHNlY3Rpb24gaXMgZW1wdHkgdHJ5IHRvIGZvY3VzIG9uIGZvb3RlclxuICAgICAgICAgICAgdGhpcy5mb2N1cyh0aGlzLmZvb3RlclZpZXdDaGlsZC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmICghZm9jdXNhYmxlRWxlbWVudCAmJiB0aGlzLmhlYWRlclZpZXdDaGlsZCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1cyh0aGlzLmhlYWRlclZpZXdDaGlsZC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1heGltaXplKCkge1xuICAgICAgICB0aGlzLm1heGltaXplZCA9ICF0aGlzLm1heGltaXplZDtcblxuICAgICAgICBpZiAodGhpcy5tYXhpbWl6ZWQpIHtcbiAgICAgICAgICAgIGFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ3Atb3ZlcmZsb3ctaGlkZGVuJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZW1vdmVDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdwLW92ZXJmbG93LWhpZGRlbicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaWFsb2dSZWYubWF4aW1pemUoeyBtYXhpbWl6ZWQ6IHRoaXMubWF4aW1pemVkIH0pO1xuICAgIH1cblxuICAgIGluaXRSZXNpemUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZGRjb25maWcucmVzaXphYmxlKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lcikge1xuICAgICAgICAgICAgICAgIHRoaXMuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXJzKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucmVzaXppbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5sYXN0UGFnZVggPSBldmVudC5wYWdlWDtcbiAgICAgICAgICAgIHRoaXMubGFzdFBhZ2VZID0gZXZlbnQucGFnZVk7XG4gICAgICAgICAgICBhZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdwLXVuc2VsZWN0YWJsZS10ZXh0Jyk7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5yZXNpemVJbml0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUmVzaXplKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnJlc2l6aW5nKSB7XG4gICAgICAgICAgICBsZXQgZGVsdGFYID0gZXZlbnQucGFnZVggLSAodGhpcy5sYXN0UGFnZVggYXMgbnVtYmVyKTtcbiAgICAgICAgICAgIGxldCBkZWx0YVkgPSBldmVudC5wYWdlWSAtICh0aGlzLmxhc3RQYWdlWSBhcyBudW1iZXIpO1xuICAgICAgICAgICAgbGV0IGNvbnRhaW5lcldpZHRoID0gZ2V0T3V0ZXJXaWR0aCh0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgICAgICBsZXQgY29udGFpbmVySGVpZ2h0ID0gZ2V0T3V0ZXJIZWlnaHQodGhpcy5jb250YWluZXIpO1xuICAgICAgICAgICAgbGV0IGNvbnRlbnRIZWlnaHQgPSBnZXRPdXRlckhlaWdodCgoPEVsZW1lbnRSZWY+dGhpcy5jb250ZW50Vmlld0NoaWxkKS5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgIGxldCBuZXdXaWR0aCA9IGNvbnRhaW5lcldpZHRoICsgZGVsdGFYO1xuICAgICAgICAgICAgbGV0IG5ld0hlaWdodCA9IGNvbnRhaW5lckhlaWdodCArIGRlbHRhWTtcbiAgICAgICAgICAgIGxldCBtaW5XaWR0aCA9ICh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUubWluV2lkdGg7XG4gICAgICAgICAgICBsZXQgbWluSGVpZ2h0ID0gKHRoaXMuY29udGFpbmVyIGFzIEhUTUxEaXZFbGVtZW50KS5zdHlsZS5taW5IZWlnaHQ7XG4gICAgICAgICAgICBsZXQgb2Zmc2V0ID0gKHRoaXMuY29udGFpbmVyIGFzIEhUTUxEaXZFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGxldCB2aWV3cG9ydCA9IGdldFZpZXdwb3J0KCk7XG4gICAgICAgICAgICBsZXQgaGFzQmVlbkRyYWdnZWQgPSAhcGFyc2VJbnQoKHRoaXMuY29udGFpbmVyIGFzIEhUTUxEaXZFbGVtZW50KS5zdHlsZS50b3ApIHx8ICFwYXJzZUludCgodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLmxlZnQpO1xuXG4gICAgICAgICAgICBpZiAoaGFzQmVlbkRyYWdnZWQpIHtcbiAgICAgICAgICAgICAgICBuZXdXaWR0aCArPSBkZWx0YVg7XG4gICAgICAgICAgICAgICAgbmV3SGVpZ2h0ICs9IGRlbHRhWTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCghbWluV2lkdGggfHwgbmV3V2lkdGggPiBwYXJzZUludChtaW5XaWR0aCkpICYmIG9mZnNldC5sZWZ0ICsgbmV3V2lkdGggPCB2aWV3cG9ydC53aWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3N0eWxlLndpZHRoID0gbmV3V2lkdGggKyAncHgnO1xuICAgICAgICAgICAgICAgICh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUud2lkdGggPSB0aGlzLl9zdHlsZS53aWR0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCghbWluSGVpZ2h0IHx8IG5ld0hlaWdodCA+IHBhcnNlSW50KG1pbkhlaWdodCkpICYmIG9mZnNldC50b3AgKyBuZXdIZWlnaHQgPCB2aWV3cG9ydC5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAoPEVsZW1lbnRSZWY+dGhpcy5jb250ZW50Vmlld0NoaWxkKS5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGNvbnRlbnRIZWlnaHQgKyBuZXdIZWlnaHQgLSBjb250YWluZXJIZWlnaHQgKyAncHgnO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3N0eWxlLmhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdHlsZS5oZWlnaHQgPSBuZXdIZWlnaHQgKyAncHgnO1xuICAgICAgICAgICAgICAgICAgICAodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLmhlaWdodCA9IHRoaXMuX3N0eWxlLmhlaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubGFzdFBhZ2VYID0gZXZlbnQucGFnZVg7XG4gICAgICAgICAgICB0aGlzLmxhc3RQYWdlWSA9IGV2ZW50LnBhZ2VZO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVzaXplRW5kKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnJlc2l6aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6aW5nID0gZmFsc2U7XG4gICAgICAgICAgICByZW1vdmVDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdwLXVuc2VsZWN0YWJsZS10ZXh0Jyk7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5yZXNpemVFbmQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdERyYWcoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKGhhc0NsYXNzKGV2ZW50LnRhcmdldCBhcyBhbnksICdwLWRpYWxvZy1oZWFkZXItaWNvbicpIHx8IGhhc0NsYXNzKCg8SFRNTEVsZW1lbnQ+ZXZlbnQudGFyZ2V0KS5wYXJlbnRFbGVtZW50LCAncC1kaWFsb2ctaGVhZGVyLWljb24nKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGRjb25maWcuZHJhZ2dhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmRyYWdnaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubGFzdFBhZ2VYID0gZXZlbnQucGFnZVg7XG4gICAgICAgICAgICB0aGlzLmxhc3RQYWdlWSA9IGV2ZW50LnBhZ2VZO1xuXG4gICAgICAgICAgICAodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLm1hcmdpbiA9ICcwJztcbiAgICAgICAgICAgIGFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ3AtdW5zZWxlY3RhYmxlLXRleHQnKTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmRyYWdTdGFydChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRyYWcoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJhZ2dpbmcpIHtcbiAgICAgICAgICAgIGxldCBjb250YWluZXJXaWR0aCA9IGdldE91dGVyV2lkdGgodGhpcy5jb250YWluZXIpO1xuICAgICAgICAgICAgbGV0IGNvbnRhaW5lckhlaWdodCA9IGdldE91dGVySGVpZ2h0KHRoaXMuY29udGFpbmVyKTtcbiAgICAgICAgICAgIGxldCBkZWx0YVggPSBldmVudC5wYWdlWCAtICh0aGlzLmxhc3RQYWdlWCBhcyBudW1iZXIpO1xuICAgICAgICAgICAgbGV0IGRlbHRhWSA9IGV2ZW50LnBhZ2VZIC0gKHRoaXMubGFzdFBhZ2VZIGFzIG51bWJlcik7XG4gICAgICAgICAgICBsZXQgb2Zmc2V0ID0gKHRoaXMuY29udGFpbmVyIGFzIEhUTUxEaXZFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGxldCBsZWZ0UG9zID0gb2Zmc2V0LmxlZnQgKyBkZWx0YVg7XG4gICAgICAgICAgICBsZXQgdG9wUG9zID0gb2Zmc2V0LnRvcCArIGRlbHRhWTtcbiAgICAgICAgICAgIGxldCB2aWV3cG9ydCA9IGdldFZpZXdwb3J0KCk7XG5cbiAgICAgICAgICAgICh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5rZWVwSW5WaWV3cG9ydCkge1xuICAgICAgICAgICAgICAgIGlmIChsZWZ0UG9zID49IHRoaXMubWluWCAmJiBsZWZ0UG9zICsgY29udGFpbmVyV2lkdGggPCB2aWV3cG9ydC53aWR0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdHlsZS5sZWZ0ID0gbGVmdFBvcyArICdweCc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFzdFBhZ2VYID0gZXZlbnQucGFnZVg7XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUubGVmdCA9IGxlZnRQb3MgKyAncHgnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0b3BQb3MgPj0gdGhpcy5taW5ZICYmIHRvcFBvcyArIGNvbnRhaW5lckhlaWdodCA8IHZpZXdwb3J0LmhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdHlsZS50b3AgPSB0b3BQb3MgKyAncHgnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RQYWdlWSA9IGV2ZW50LnBhZ2VZO1xuICAgICAgICAgICAgICAgICAgICAodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLnRvcCA9IHRvcFBvcyArICdweCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RQYWdlWCA9IGV2ZW50LnBhZ2VYO1xuICAgICAgICAgICAgICAgICh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUubGVmdCA9IGxlZnRQb3MgKyAncHgnO1xuICAgICAgICAgICAgICAgIHRoaXMubGFzdFBhZ2VZID0gZXZlbnQucGFnZVk7XG4gICAgICAgICAgICAgICAgKHRoaXMuY29udGFpbmVyIGFzIEhUTUxEaXZFbGVtZW50KS5zdHlsZS50b3AgPSB0b3BQb3MgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZW5kRHJhZyhldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5kcmFnZ2luZykge1xuICAgICAgICAgICAgdGhpcy5kcmFnZ2luZyA9IGZhbHNlO1xuICAgICAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCAncC11bnNlbGVjdGFibGUtdGV4dCcpO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuZHJhZ0VuZChldmVudCk7XG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlc2V0UG9zaXRpb24oKSB7XG4gICAgICAgICh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUucG9zaXRpb24gPSAnJztcbiAgICAgICAgKHRoaXMuY29udGFpbmVyIGFzIEhUTUxEaXZFbGVtZW50KS5zdHlsZS5sZWZ0ID0gJyc7XG4gICAgICAgICh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUudG9wID0gJyc7XG4gICAgICAgICh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUubWFyZ2luID0gJyc7XG4gICAgfVxuXG4gICAgYmluZERvY3VtZW50RHJhZ0xpc3RlbmVyKCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50RHJhZ0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5kb2N1bWVudCwgJ21vdXNlbW92ZScsIHRoaXMub25EcmFnLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBiaW5kRG9jdW1lbnREcmFnRW5kTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnREcmFnRW5kTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCAnbW91c2V1cCcsIHRoaXMuZW5kRHJhZy5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5iaW5kRG9jdW1lbnREcmFnRW5kTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50RHJhZ0VuZExpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50RHJhZ0VuZExpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50RHJhZ0xpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuYmluZERvY3VtZW50RHJhZ0xpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5kb2N1bWVudERyYWdMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudERyYWdMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudERyYWdMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBiaW5kRG9jdW1lbnRSZXNpemVMaXN0ZW5lcnMoKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsICdtb3VzZW1vdmUnLCB0aGlzLm9uUmVzaXplLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRSZXNpemVFbmRMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsICdtb3VzZXVwJywgdGhpcy5yZXNpemVFbmQuYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXJzKCkge1xuICAgICAgICBpZiAodGhpcy5kb2N1bWVudFJlc2l6ZUxpc3RlbmVyICYmIHRoaXMuZG9jdW1lbnRSZXNpemVFbmRMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50UmVzaXplRW5kTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50UmVzaXplRW5kTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmluZEdsb2JhbExpc3RlbmVycygpIHtcbiAgICAgICAgaWYgKHRoaXMuZGRjb25maWcuY2xvc2VPbkVzY2FwZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRoaXMuYmluZERvY3VtZW50RXNjYXBlTGlzdGVuZXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRkY29uZmlnLnJlc2l6YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5iaW5kRG9jdW1lbnRSZXNpemVMaXN0ZW5lcnMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRkY29uZmlnLmRyYWdnYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5iaW5kRG9jdW1lbnREcmFnTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMuYmluZERvY3VtZW50RHJhZ0VuZExpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJpbmRHbG9iYWxMaXN0ZW5lcnMoKSB7XG4gICAgICAgIHRoaXMudW5iaW5kRG9jdW1lbnRFc2NhcGVMaXN0ZW5lcigpO1xuICAgICAgICB0aGlzLnVuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXJzKCk7XG4gICAgICAgIHRoaXMudW5iaW5kRG9jdW1lbnREcmFnTGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy51bmJpbmREb2N1bWVudERyYWdFbmRMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIGJpbmREb2N1bWVudEVzY2FwZUxpc3RlbmVyKCkge1xuICAgICAgICBjb25zdCBkb2N1bWVudFRhcmdldDogYW55ID0gdGhpcy5tYXNrVmlld0NoaWxkID8gdGhpcy5tYXNrVmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQub3duZXJEb2N1bWVudCA6ICdkb2N1bWVudCc7XG5cbiAgICAgICAgdGhpcy5kb2N1bWVudEVzY2FwZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oZG9jdW1lbnRUYXJnZXQsICdrZXlkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQud2hpY2ggPT0gMjcpIHtcbiAgICAgICAgICAgICAgICBpZiAocGFyc2VJbnQoKHRoaXMuY29udGFpbmVyIGFzIEhUTUxEaXZFbGVtZW50KS5zdHlsZS56SW5kZXgpID09IFpJbmRleFV0aWxzLmdldEN1cnJlbnQoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHVuYmluZERvY3VtZW50RXNjYXBlTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50RXNjYXBlTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRFc2NhcGVMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudEVzY2FwZUxpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuYmluZE1hc2tDbGlja0xpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5tYXNrQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5tYXNrQ2xpY2tMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5tYXNrQ2xpY2tMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5vbkNvbnRhaW5lckRlc3Ryb3koKTtcblxuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlc3Ryb3lTdHlsZSgpO1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbRHluYW1pY0RpYWxvZ0NvbXBvbmVudCwgU2hhcmVkTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbRHluYW1pY0RpYWxvZ0NvbXBvbmVudCwgU2hhcmVkTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRGlhbG9nIHt9XG4iXX0=
|
883
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pY2RpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljZGlhbG9nL2R5bmFtaWNkaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQWtCLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBNEIsTUFBTSxFQUFFLFFBQVEsRUFBcUIsUUFBUSxFQUFhLFFBQVEsRUFBUSxTQUFTLEVBQUUsaUJBQWlCLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFDN04sT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsSSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVB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bUJiLHNCQUFzQixFQW9tQkcsWUFBWSxhQXBtQnJDLHNCQUFzQixFQXFtQkcsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGFuaW1hdGlvbiwgQW5pbWF0aW9uRXZlbnQsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyLCB1c2VBbmltYXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBFbGVtZW50UmVmLCBpbmplY3QsIE5nTW9kdWxlLCBOZ1pvbmUsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgU2tpcFNlbGYsIFR5cGUsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIFZpZXdSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFkZENsYXNzLCBnZXRPdXRlckhlaWdodCwgZ2V0T3V0ZXJXaWR0aCwgZ2V0Vmlld3BvcnQsIGhhc0NsYXNzLCByZW1vdmVDbGFzcywgc2V0QXR0cmlidXRlLCB1dWlkIH0gZnJvbSAnQHByaW1ldWl4L3V0aWxzJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSwgVHJhbnNsYXRpb25LZXlzIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ3ByaW1lbmcvYmFzZWNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBEb21IYW5kbGVyIH0gZnJvbSAncHJpbWVuZy9kb20nO1xuaW1wb3J0IHsgRm9jdXNUcmFwIH0gZnJvbSAncHJpbWVuZy9mb2N1c3RyYXAnO1xuaW1wb3J0IHsgVGltZXNJY29uLCBXaW5kb3dNYXhpbWl6ZUljb24sIFdpbmRvd01pbmltaXplSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMnO1xuaW1wb3J0IHsgTnVsbGFibGUsIFZvaWRMaXN0ZW5lciB9IGZyb20gJ3ByaW1lbmcvdHMtaGVscGVycyc7XG5pbXBvcnQgeyBaSW5kZXhVdGlscyB9IGZyb20gJ3ByaW1lbmcvdXRpbHMnO1xuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZyB9IGZyb20gJy4vZHluYW1pY2RpYWxvZy1jb25maWcnO1xuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJy4vZHluYW1pY2RpYWxvZy1yZWYnO1xuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbnRlbnQgfSBmcm9tICcuL2R5bmFtaWNkaWFsb2djb250ZW50JztcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dTdHlsZSB9IGZyb20gJy4vc3R5bGUvZHluYW1pY2RpYWxvZ3N0eWxlJztcblxuY29uc3Qgc2hvd0FuaW1hdGlvbiA9IGFuaW1hdGlvbihbc3R5bGUoeyB0cmFuc2Zvcm06ICd7e3RyYW5zZm9ybX19Jywgb3BhY2l0eTogMCB9KSwgYW5pbWF0ZSgne3t0cmFuc2l0aW9ufX0nLCBzdHlsZSh7IHRyYW5zZm9ybTogJ25vbmUnLCBvcGFjaXR5OiAxIH0pKV0pO1xuXG5jb25zdCBoaWRlQW5pbWF0aW9uID0gYW5pbWF0aW9uKFthbmltYXRlKCd7e3RyYW5zaXRpb259fScsIHN0eWxlKHsgdHJhbnNmb3JtOiAne3t0cmFuc2Zvcm19fScsIG9wYWNpdHk6IDAgfSkpXSk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1keW5hbWljRGlhbG9nLCBwLWR5bmFtaWNkaWFsb2csIHAtZHluYW1pYy1kaWFsb2cnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2hhcmVkTW9kdWxlLCBEeW5hbWljRGlhbG9nQ29udGVudCwgV2luZG93TWF4aW1pemVJY29uLCBXaW5kb3dNaW5pbWl6ZUljb24sIFRpbWVzSWNvbiwgQnV0dG9uLCBGb2N1c1RyYXBdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICNtYXNrXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgJ2p1c3RpZnktY29udGVudCc6IHBvc2l0aW9uID09PSAnbGVmdCcgfHwgcG9zaXRpb24gPT09ICd0b3BsZWZ0JyB8fCBwb3NpdGlvbiA9PT0gJ2JvdHRvbWxlZnQnID8gJ2ZsZXgtc3RhcnQnIDogcG9zaXRpb24gPT09ICdyaWdodCcgfHwgcG9zaXRpb24gPT09ICd0b3ByaWdodCcgfHwgcG9zaXRpb24gPT09ICdib3R0b21yaWdodCcgPyAnZmxleC1lbmQnIDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgJ2FsaWduLWl0ZW1zJzogcG9zaXRpb24gPT09ICd0b3AnIHx8IHBvc2l0aW9uID09PSAndG9wbGVmdCcgfHwgcG9zaXRpb24gPT09ICd0b3ByaWdodCcgPyAnZmxleC1zdGFydCcgOiBwb3NpdGlvbiA9PT0gJ2JvdHRvbScgfHwgcG9zaXRpb24gPT09ICdib3R0b21sZWZ0JyB8fCBwb3NpdGlvbiA9PT0gJ2JvdHRvbXJpZ2h0JyA/ICdmbGV4LWVuZCcgOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAncG9pbnRlci1ldmVudHMnOiBkZGNvbmZpZy5tb2RhbCA/ICdhdXRvJyA6ICdub25lJ1xuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiZGRjb25maWcubWFza1N0eWxlQ2xhc3NcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwibWFza0NsYXNzXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwidmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgI2NvbnRhaW5lclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtZGlhbG9nIHAtY29tcG9uZW50JzogdHJ1ZSwgJ3AtZGlhbG9nLW1heGltaXplZCc6IG1heGltaXphYmxlICYmIG1heGltaXplZCB9XCJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGRpc3BsYXk6ICdmbGV4JywgJ2ZsZXgtZGlyZWN0aW9uJzogJ2NvbHVtbicsICdwb2ludGVyLWV2ZW50cyc6ICdhdXRvJyB9XCJcbiAgICAgICAgICAgICAgICBbc3R5bGVdPVwiZGRjb25maWcuc3R5bGVcIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJkZGNvbmZpZy5zdHlsZUNsYXNzXCJcbiAgICAgICAgICAgICAgICBbQGFuaW1hdGlvbl09XCJ7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAndmlzaWJsZScsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm1PcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZGRjb25maWcudHJhbnNpdGlvbk9wdGlvbnMgfHwgJzE1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgKEBhbmltYXRpb24uc3RhcnQpPVwib25BbmltYXRpb25TdGFydCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoQGFuaW1hdGlvbi5kb25lKT1cIm9uQW5pbWF0aW9uRW5kKCRldmVudClcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgICAgICAgICAgIHBGb2N1c1RyYXBcbiAgICAgICAgICAgICAgICBbcEZvY3VzVHJhcERpc2FibGVkXT1cImRkY29uZmlnLmZvY3VzVHJhcCA9PT0gZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJkZGNvbmZpZy53aWR0aFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJkZGNvbmZpZy5oZWlnaHRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1tb2RhbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJkaWFsb2dJZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRkY29uZmlnLnJlc2l6YWJsZVwiIFtuZ0NsYXNzXT1cIidwLXJlc2l6YWJsZS1oYW5kbGUnXCIgc3R5bGU9XCJ6LWluZGV4OiA5MDtcIiAobW91c2Vkb3duKT1cImluaXRSZXNpemUoJGV2ZW50KVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgI3RpdGxlYmFyIFtuZ0NsYXNzXT1cIidwLWRpYWxvZy1oZWFkZXInXCIgKG1vdXNlZG93bik9XCJpbml0RHJhZygkZXZlbnQpXCIgKm5nSWY9XCJkZGNvbmZpZy5zaG93SGVhZGVyICE9PSBmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGVhZGVyVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIidwLWRpYWxvZy10aXRsZSdcIiBbaWRdPVwiYXJpYUxhYmVsbGVkQnlcIj57eyBkZGNvbmZpZy5oZWFkZXIgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cIidwLWRpYWxvZy1oZWFkZXItYWN0aW9ucydcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1idXR0b24gKm5nSWY9XCJkZGNvbmZpZy5tYXhpbWl6YWJsZVwiIFtzdHlsZUNsYXNzXT1cIidwLWRpYWxvZy1tYXhpbWl6ZS1idXR0b24nXCIgKG9uQ2xpY2spPVwibWF4aW1pemUoKVwiIChrZXlkb3duLmVudGVyKT1cIm1heGltaXplKClcIiBbdGFiaW5kZXhdPVwibWF4aW1pemFibGUgPyAnMCcgOiAnLTEnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbWF4aW1pemVJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luZG93TWF4aW1pemVJY29uICpuZ0lmPVwiIW1heGltaXplZCAmJiAhbWF4aW1pemVJY29uVGVtcGxhdGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbmRvd01pbmltaXplSWNvbiAqbmdJZj1cIm1heGltaXplZCAmJiAhbWluaW1pemVJY29uVGVtcGxhdGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtYXhpbWl6ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIl9tYXhpbWl6ZUljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWF4aW1pemVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJfbWluaW1pemVJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3AtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWJ1dHRvbiAqbmdJZj1cImNsb3NhYmxlXCIgW3N0eWxlQ2xhc3NdPVwiJ3AtZGlhbG9nLWNsb3NlLWJ1dHRvbidcIiBbYXJpYUxhYmVsXT1cImNsb3NlQXJpYUxhYmVsXCIgKG9uQ2xpY2spPVwiaGlkZSgpXCIgKGtleWRvd24uZW50ZXIpPVwiaGlkZSgpXCIgcm91bmRlZCB0ZXh0IHNldmVyaXR5PVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY2xvc2VJY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUaW1lc0ljb24gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2xvc2VJY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiAjY29udGVudCBbbmdDbGFzc109XCIncC1kaWFsb2ctY29udGVudCdcIiBbbmdTdHlsZV09XCJkZGNvbmZpZy5jb250ZW50U3R5bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBEeW5hbWljRGlhbG9nQ29udGVudCAqbmdJZj1cIiFjb250ZW50VGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgI2Zvb3RlciBbbmdDbGFzc109XCIncC1kaWFsb2ctZm9vdGVyJ1wiICpuZ0lmPVwiZGRjb25maWcuZm9vdGVyIHx8IGZvb3RlclRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZm9vdGVyVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGRkY29uZmlnLmZvb3RlciB9fVxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgYW5pbWF0aW9uczogW3RyaWdnZXIoJ2FuaW1hdGlvbicsIFt0cmFuc2l0aW9uKCd2b2lkID0+IHZpc2libGUnLCBbdXNlQW5pbWF0aW9uKHNob3dBbmltYXRpb24pXSksIHRyYW5zaXRpb24oJ3Zpc2libGUgPT4gdm9pZCcsIFt1c2VBbmltYXRpb24oaGlkZUFuaW1hdGlvbildKV0pXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtEeW5hbWljRGlhbG9nU3R5bGVdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNEaWFsb2dDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICB2aXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIGNvbXBvbmVudFJlZjogTnVsbGFibGU8Q29tcG9uZW50UmVmPGFueT4+O1xuXG4gICAgbWFzazogTnVsbGFibGU8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgcmVzaXppbmc6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgICBkcmFnZ2luZzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIG1heGltaXplZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIF9zdHlsZTogYW55ID0ge307XG5cbiAgICBvcmlnaW5hbFN0eWxlOiBhbnk7XG5cbiAgICBsYXN0UGFnZVg6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgIGxhc3RQYWdlWTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICAgYXJpYUxhYmVsbGVkQnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIGlkOiBzdHJpbmcgPSB1dWlkKCdwbl9pZF8nKTtcblxuICAgIHN0eWxlRWxlbWVudDogYW55O1xuXG4gICAgQFZpZXdDaGlsZChEeW5hbWljRGlhbG9nQ29udGVudCkgaW5zZXJ0aW9uUG9pbnQ6IE51bGxhYmxlPER5bmFtaWNEaWFsb2dDb250ZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ21hc2snKSBtYXNrVmlld0NoaWxkOiBOdWxsYWJsZTxFbGVtZW50UmVmPjtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKSBjb250ZW50Vmlld0NoaWxkOiBOdWxsYWJsZTxFbGVtZW50UmVmPjtcblxuICAgIEBWaWV3Q2hpbGQoJ2Zvb3RlcicpIGZvb3RlclZpZXdDaGlsZDogTnVsbGFibGU8RWxlbWVudFJlZj47XG5cbiAgICBAVmlld0NoaWxkKCd0aXRsZWJhcicpIGhlYWRlclZpZXdDaGlsZDogTnVsbGFibGU8RWxlbWVudFJlZj47XG5cbiAgICBjaGlsZENvbXBvbmVudFR5cGU6IE51bGxhYmxlPFR5cGU8YW55Pj47XG5cbiAgICBjb250YWluZXI6IE51bGxhYmxlPEhUTUxEaXZFbGVtZW50PjtcblxuICAgIHdyYXBwZXI6IE51bGxhYmxlPEhUTUxFbGVtZW50PjtcblxuICAgIGRvY3VtZW50S2V5ZG93bkxpc3RlbmVyOiBWb2lkTGlzdGVuZXI7XG5cbiAgICBkb2N1bWVudEVzY2FwZUxpc3RlbmVyOiBWb2lkTGlzdGVuZXI7XG5cbiAgICBtYXNrQ2xpY2tMaXN0ZW5lcjogVm9pZExpc3RlbmVyO1xuXG4gICAgdHJhbnNmb3JtT3B0aW9uczogc3RyaW5nID0gJ3NjYWxlKDAuNyknO1xuXG4gICAgZG9jdW1lbnRSZXNpemVMaXN0ZW5lcjogVm9pZExpc3RlbmVyO1xuXG4gICAgZG9jdW1lbnRSZXNpemVFbmRMaXN0ZW5lcjogVm9pZExpc3RlbmVyO1xuXG4gICAgZG9jdW1lbnREcmFnTGlzdGVuZXI6IFZvaWRMaXN0ZW5lcjtcblxuICAgIGRvY3VtZW50RHJhZ0VuZExpc3RlbmVyOiBWb2lkTGlzdGVuZXI7XG5cbiAgICBfY29tcG9uZW50U3R5bGUgPSBpbmplY3QoRHluYW1pY0RpYWxvZ1N0eWxlKTtcblxuICAgIGdldCBtaW5YKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmRkY29uZmlnLm1pblggPyB0aGlzLmRkY29uZmlnLm1pblggOiAwO1xuICAgIH1cblxuICAgIGdldCBtaW5ZKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmRkY29uZmlnLm1pblkgPyB0aGlzLmRkY29uZmlnLm1pblkgOiAwO1xuICAgIH1cblxuICAgIGdldCBrZWVwSW5WaWV3cG9ydCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRjb25maWcua2VlcEluVmlld3BvcnQhO1xuICAgIH1cblxuICAgIGdldCBtYXhpbWl6YWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRjb25maWcubWF4aW1pemFibGUhO1xuICAgIH1cblxuICAgIGdldCBtYXhpbWl6ZUljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRjb25maWcubWF4aW1pemVJY29uITtcbiAgICB9XG5cbiAgICBnZXQgbWluaW1pemVJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRkY29uZmlnLm1pbmltaXplSWNvbiE7XG4gICAgfVxuXG4gICAgZ2V0IGNsb3NhYmxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZGNvbmZpZy5jbG9zYWJsZSE7XG4gICAgfVxuXG4gICAgZ2V0IHN0eWxlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdHlsZTtcbiAgICB9XG5cbiAgICBnZXQgcG9zaXRpb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRjb25maWcucG9zaXRpb24hO1xuICAgIH1cblxuICAgIGdldCBjbG9zZUFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcuZ2V0VHJhbnNsYXRpb24oVHJhbnNsYXRpb25LZXlzLkFSSUEpWydjbG9zZSddO1xuICAgIH1cblxuICAgIHNldCBzdHlsZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fc3R5bGUgPSB7IC4uLnZhbHVlIH07XG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsU3R5bGUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBwYXJlbnQoKSB7XG4gICAgICAgIGNvbnN0IGRvbUVsZW1lbnRzID0gQXJyYXkuZnJvbSh0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3AtZGlhbG9nJykpO1xuICAgICAgICBpZiAoZG9tRWxlbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuIGRvbUVsZW1lbnRzLnBvcCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHBhcmVudENvbnRlbnQoKSB7XG4gICAgICAgIGNvbnN0IGRvbUVsZW1lbnRzID0gQXJyYXkuZnJvbSh0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3AtZGlhbG9nJykpO1xuICAgICAgICBpZiAoZG9tRWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgY29udGVudEVsZW1lbnRzID0gZG9tRWxlbWVudHNbZG9tRWxlbWVudHMubGVuZ3RoIC0gMV0ucXVlcnlTZWxlY3RvcignLnAtZGlhbG9nLWNvbnRlbnQnKTtcbiAgICAgICAgICAgIGlmIChjb250ZW50RWxlbWVudHMpIHJldHVybiBBcnJheS5pc0FycmF5KGNvbnRlbnRFbGVtZW50cykgPyBjb250ZW50RWxlbWVudHNbMF0gOiBjb250ZW50RWxlbWVudHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgaGVhZGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZGNvbmZpZy5oZWFkZXI7XG4gICAgfVxuXG4gICAgZ2V0IGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRkY29uZmlnLmRhdGE7XG4gICAgfVxuXG4gICAgZ2V0IGJyZWFrcG9pbnRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZGNvbmZpZy5icmVha3BvaW50cztcbiAgICB9XG5cbiAgICBnZXQgZm9vdGVyVGVtcGxhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRkY29uZmlnPy50ZW1wbGF0ZXM/LmZvb3RlcjtcbiAgICB9XG5cbiAgICBnZXQgaGVhZGVyVGVtcGxhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRkY29uZmlnPy50ZW1wbGF0ZXM/LmhlYWRlcjtcbiAgICB9XG5cbiAgICBnZXQgY29udGVudFRlbXBsYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZGNvbmZpZz8udGVtcGxhdGVzPy5jb250ZW50O1xuICAgIH1cblxuICAgIGdldCBtaW5pbWl6ZUljb25UZW1wbGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRjb25maWc/LnRlbXBsYXRlcz8ubWluaW1pemVpY29uO1xuICAgIH1cblxuICAgIGdldCBtYXhpbWl6ZUljb25UZW1wbGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRjb25maWc/LnRlbXBsYXRlcz8ubWF4aW1pemVpY29uO1xuICAgIH1cblxuICAgIGdldCBjbG9zZUljb25UZW1wbGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGRjb25maWc/LnRlbXBsYXRlcz8uY2xvc2VpY29uO1xuICAgIH1cblxuICAgIGdldCBtYXNrQ2xhc3MoKSB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IFsnbGVmdCcsICdyaWdodCcsICd0b3AnLCAndG9wbGVmdCcsICd0b3ByaWdodCcsICdib3R0b20nLCAnYm90dG9tbGVmdCcsICdib3R0b21yaWdodCddO1xuICAgICAgICBjb25zdCBwb3MgPSBwb3NpdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbSA9PT0gdGhpcy5wb3NpdGlvbik7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdwLWRpYWxvZy1tYXNrJzogdHJ1ZSxcbiAgICAgICAgICAgICdwLW92ZXJsYXktbWFzayBwLW92ZXJsYXktbWFzay1lbnRlcic6IHRoaXMuZGRjb25maWcubW9kYWwgfHwgdGhpcy5kZGNvbmZpZy5kaXNtaXNzYWJsZU1hc2ssXG4gICAgICAgICAgICBbYHAtZGlhbG9nLSR7cG9zfWBdOiBwb3NcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXQgZGlhbG9nSWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF0dHJTZWxlY3RvcjtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHB1YmxpYyBkZGNvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dSZWY6IER5bmFtaWNEaWFsb2dSZWYsXG4gICAgICAgIHB1YmxpYyB6b25lOiBOZ1pvbmUsXG4gICAgICAgIEBTa2lwU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgcGFyZW50RGlhbG9nOiBEeW5hbWljRGlhbG9nQ29tcG9uZW50XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGlmICh0aGlzLmJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVN0eWxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVTdHlsZSgpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5zdHlsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0eWxlRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0eWxlRWxlbWVudC50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuaGVhZCwgdGhpcy5zdHlsZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGxldCBpbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBicmVha3BvaW50IGluIHRoaXMuYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5uZXJIVE1MICs9IGBcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR7YnJlYWtwb2ludH0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucC1kaWFsb2dbaWQ9JHt0aGlzLmRpYWxvZ0lkfV06bm90KC5wLWRpYWxvZy1tYXhpbWl6ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICR7dGhpcy5icmVha3BvaW50c1ticmVha3BvaW50XX0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLnN0eWxlRWxlbWVudCwgJ2lubmVySFRNTCcsIGlubmVySFRNTCk7XG4gICAgICAgICAgICAgICAgc2V0QXR0cmlidXRlKHRoaXMuc3R5bGVFbGVtZW50LCAnbm9uY2UnLCB0aGlzLmNvbmZpZz8uY3NwKCk/Lm5vbmNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBkZXN0cm95U3R5bGUoKSB7XG4gICAgICAgIGlmICh0aGlzLnN0eWxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmRvY3VtZW50LmhlYWQsIHRoaXMuc3R5bGVFbGVtZW50KTtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHRoaXMubG9hZENoaWxkQ29tcG9uZW50KHRoaXMuY2hpbGRDb21wb25lbnRUeXBlISk7XG4gICAgICAgIHRoaXMuYXJpYUxhYmVsbGVkQnkgPSB0aGlzLmdldEFyaWFMYWJlbGxlZEJ5KCk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGdldEFyaWFMYWJlbGxlZEJ5KCkge1xuICAgICAgICBjb25zdCB7IGhlYWRlciwgc2hvd0hlYWRlciB9ID0gdGhpcy5kZGNvbmZpZztcblxuICAgICAgICBpZiAoaGVhZGVyID09PSBudWxsIHx8IHNob3dIZWFkZXIgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXVpZCgncG5faWRfJykgKyAnX2hlYWRlcic7XG4gICAgfVxuXG4gICAgbG9hZENoaWxkQ29tcG9uZW50KGNvbXBvbmVudFR5cGU6IFR5cGU8YW55Pikge1xuICAgICAgICBsZXQgdmlld0NvbnRhaW5lclJlZiA9IHRoaXMuaW5zZXJ0aW9uUG9pbnQ/LnZpZXdDb250YWluZXJSZWY7XG4gICAgICAgIHZpZXdDb250YWluZXJSZWY/LmNsZWFyKCk7XG5cbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmPy5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50VHlwZSk7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLm9uQ2hpbGRDb21wb25lbnRMb2FkZWQubmV4dCh0aGlzLmNvbXBvbmVudFJlZiEuaW5zdGFuY2UpO1xuICAgIH1cblxuICAgIG1vdmVPblRvcCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGRjb25maWcuYXV0b1pJbmRleCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIFpJbmRleFV0aWxzLnNldCgnbW9kYWwnLCB0aGlzLmNvbnRhaW5lciwgKHRoaXMuZGRjb25maWcuYmFzZVpJbmRleCB8fCAwKSArIHRoaXMuY29uZmlnLnpJbmRleC5tb2RhbCk7XG4gICAgICAgICAgICAodGhpcy53cmFwcGVyIGFzIEhUTUxFbGVtZW50KS5zdHlsZS56SW5kZXggPSBTdHJpbmcocGFyc2VJbnQoKHRoaXMuY29udGFpbmVyIGFzIEhUTUxEaXZFbGVtZW50KS5zdHlsZS56SW5kZXgsIDEwKSAtIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgc3dpdGNoIChldmVudC50b1N0YXRlKSB7XG4gICAgICAgICAgICBjYXNlICd2aXNpYmxlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lciA9IGV2ZW50LmVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgdGhpcy53cmFwcGVyID0gKHRoaXMuY29udGFpbmVyIGFzIEhUTUxEaXZFbGVtZW50KS5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgICAgIHRoaXMubW92ZU9uVG9wKCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudW5iaW5kR2xvYmFsTGlzdGVuZXJzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuYmluZEdsb2JhbExpc3RlbmVycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyPy5zZXRBdHRyaWJ1dGUodGhpcy5pZCwgJycpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGRjb25maWcubW9kYWwgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW5hYmxlTW9kYWxpdHkoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kZGNvbmZpZy5mb2N1c09uU2hvdyAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAndm9pZCc6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMud3JhcHBlciAmJiB0aGlzLmRkY29uZmlnLm1vZGFsICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICBhZGRDbGFzcyh0aGlzLndyYXBwZXIsICdwLW92ZXJsYXktbWFzay1sZWF2ZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3ZvaWQnKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wYXJlbnRDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1cyh0aGlzLnBhcmVudENvbnRlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vbkNvbnRhaW5lckRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ29udGFpbmVyRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy51bmJpbmRHbG9iYWxMaXN0ZW5lcnMoKTtcblxuICAgICAgICBpZiAodGhpcy5jb250YWluZXIgJiYgdGhpcy5kZGNvbmZpZy5hdXRvWkluZGV4ICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgWkluZGV4VXRpbHMuY2xlYXIodGhpcy5jb250YWluZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGRjb25maWcubW9kYWwgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVNb2RhbGl0eSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGFpbmVyID0gbnVsbDtcbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgaGlkZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nUmVmKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZW5hYmxlTW9kYWxpdHkoKSB7XG4gICAgICAgIGlmICh0aGlzLmRkY29uZmlnLmRpc21pc3NhYmxlTWFzaykge1xuICAgICAgICAgICAgdGhpcy5tYXNrQ2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMud3JhcHBlciwgJ21vdXNlZG93bicsIChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMud3JhcHBlciAmJiB0aGlzLndyYXBwZXIuaXNTYW1lTm9kZShldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGRjb25maWcubW9kYWwgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICBhZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdwLW92ZXJmbG93LWhpZGRlbicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGlzYWJsZU1vZGFsaXR5KCkge1xuICAgICAgICBpZiAodGhpcy53cmFwcGVyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kZGNvbmZpZy5kaXNtaXNzYWJsZU1hc2spIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVuYmluZE1hc2tDbGlja0xpc3RlbmVyKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmRkY29uZmlnLm1vZGFsICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHJlbW92ZUNsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ3Atb3ZlcmZsb3ctaGlkZGVuJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghKHRoaXMuY2QgYXMgVmlld1JlZikuZGVzdHJveWVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb2N1cyhmb2N1c1BhcmVudEVsZW1lbnQgPSB0aGlzLmNvbnRlbnRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCkge1xuICAgICAgICBsZXQgZm9jdXNhYmxlID0gRG9tSGFuZGxlci5nZXRGb2N1c2FibGVFbGVtZW50KGZvY3VzUGFyZW50RWxlbWVudCwgJ1thdXRvZm9jdXNdJyk7XG4gICAgICAgIGlmIChmb2N1c2FibGUpIHtcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBmb2N1c2FibGUuZm9jdXMoKSwgNSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50ID0gRG9tSGFuZGxlci5nZXRGb2N1c2FibGVFbGVtZW50KGZvY3VzUGFyZW50RWxlbWVudCk7XG4gICAgICAgIGlmIChmb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZm9jdXNhYmxlRWxlbWVudC5mb2N1cygpLCA1KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZm9vdGVyVmlld0NoaWxkKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGUgY29udGVudCBzZWN0aW9uIGlzIGVtcHR5IHRyeSB0byBmb2N1cyBvbiBmb290ZXJcbiAgICAgICAgICAgIHRoaXMuZm9jdXModGhpcy5mb290ZXJWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIWZvY3VzYWJsZUVsZW1lbnQgJiYgdGhpcy5oZWFkZXJWaWV3Q2hpbGQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXModGhpcy5oZWFkZXJWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYXhpbWl6ZSgpIHtcbiAgICAgICAgdGhpcy5tYXhpbWl6ZWQgPSAhdGhpcy5tYXhpbWl6ZWQ7XG5cbiAgICAgICAgaWYgKHRoaXMubWF4aW1pemVkKSB7XG4gICAgICAgICAgICBhZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdwLW92ZXJmbG93LWhpZGRlbicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCAncC1vdmVyZmxvdy1oaWRkZW4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLm1heGltaXplKHsgbWF4aW1pemVkOiB0aGlzLm1heGltaXplZCB9KTtcbiAgICB9XG5cbiAgICBpbml0UmVzaXplKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmRkY29uZmlnLnJlc2l6YWJsZSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVycygpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnJlc2l6aW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubGFzdFBhZ2VYID0gZXZlbnQucGFnZVg7XG4gICAgICAgICAgICB0aGlzLmxhc3RQYWdlWSA9IGV2ZW50LnBhZ2VZO1xuICAgICAgICAgICAgYWRkQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCAncC11bnNlbGVjdGFibGUtdGV4dCcpO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYucmVzaXplSW5pdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlc2l6ZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZXNpemluZykge1xuICAgICAgICAgICAgbGV0IGRlbHRhWCA9IGV2ZW50LnBhZ2VYIC0gKHRoaXMubGFzdFBhZ2VYIGFzIG51bWJlcik7XG4gICAgICAgICAgICBsZXQgZGVsdGFZID0gZXZlbnQucGFnZVkgLSAodGhpcy5sYXN0UGFnZVkgYXMgbnVtYmVyKTtcbiAgICAgICAgICAgIGxldCBjb250YWluZXJXaWR0aCA9IGdldE91dGVyV2lkdGgodGhpcy5jb250YWluZXIpO1xuICAgICAgICAgICAgbGV0IGNvbnRhaW5lckhlaWdodCA9IGdldE91dGVySGVpZ2h0KHRoaXMuY29udGFpbmVyKTtcbiAgICAgICAgICAgIGxldCBjb250ZW50SGVpZ2h0ID0gZ2V0T3V0ZXJIZWlnaHQoKDxFbGVtZW50UmVmPnRoaXMuY29udGVudFZpZXdDaGlsZCkubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICBsZXQgbmV3V2lkdGggPSBjb250YWluZXJXaWR0aCArIGRlbHRhWDtcbiAgICAgICAgICAgIGxldCBuZXdIZWlnaHQgPSBjb250YWluZXJIZWlnaHQgKyBkZWx0YVk7XG4gICAgICAgICAgICBsZXQgbWluV2lkdGggPSAodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLm1pbldpZHRoO1xuICAgICAgICAgICAgbGV0IG1pbkhlaWdodCA9ICh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUubWluSGVpZ2h0O1xuICAgICAgICAgICAgbGV0IG9mZnNldCA9ICh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBsZXQgdmlld3BvcnQgPSBnZXRWaWV3cG9ydCgpO1xuICAgICAgICAgICAgbGV0IGhhc0JlZW5EcmFnZ2VkID0gIXBhcnNlSW50KCh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUudG9wKSB8fCAhcGFyc2VJbnQoKHRoaXMuY29udGFpbmVyIGFzIEhUTUxEaXZFbGVtZW50KS5zdHlsZS5sZWZ0KTtcblxuICAgICAgICAgICAgaWYgKGhhc0JlZW5EcmFnZ2VkKSB7XG4gICAgICAgICAgICAgICAgbmV3V2lkdGggKz0gZGVsdGFYO1xuICAgICAgICAgICAgICAgIG5ld0hlaWdodCArPSBkZWx0YVk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICgoIW1pbldpZHRoIHx8IG5ld1dpZHRoID4gcGFyc2VJbnQobWluV2lkdGgpKSAmJiBvZmZzZXQubGVmdCArIG5ld1dpZHRoIDwgdmlld3BvcnQud2lkdGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zdHlsZS53aWR0aCA9IG5ld1dpZHRoICsgJ3B4JztcbiAgICAgICAgICAgICAgICAodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLndpZHRoID0gdGhpcy5fc3R5bGUud2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICgoIW1pbkhlaWdodCB8fCBuZXdIZWlnaHQgPiBwYXJzZUludChtaW5IZWlnaHQpKSAmJiBvZmZzZXQudG9wICsgbmV3SGVpZ2h0IDwgdmlld3BvcnQuaGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgKDxFbGVtZW50UmVmPnRoaXMuY29udGVudFZpZXdDaGlsZCkubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBjb250ZW50SGVpZ2h0ICsgbmV3SGVpZ2h0IC0gY29udGFpbmVySGVpZ2h0ICsgJ3B4JztcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zdHlsZS5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3R5bGUuaGVpZ2h0ID0gbmV3SGVpZ2h0ICsgJ3B4JztcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuY29udGFpbmVyIGFzIEhUTUxEaXZFbGVtZW50KS5zdHlsZS5oZWlnaHQgPSB0aGlzLl9zdHlsZS5oZWlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmxhc3RQYWdlWCA9IGV2ZW50LnBhZ2VYO1xuICAgICAgICAgICAgdGhpcy5sYXN0UGFnZVkgPSBldmVudC5wYWdlWTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlc2l6ZUVuZChldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZXNpemluZykge1xuICAgICAgICAgICAgdGhpcy5yZXNpemluZyA9IGZhbHNlO1xuICAgICAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCAncC11bnNlbGVjdGFibGUtdGV4dCcpO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYucmVzaXplRW5kKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXREcmFnKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmIChoYXNDbGFzcyhldmVudC50YXJnZXQgYXMgYW55LCAncC1kaWFsb2ctaGVhZGVyLWljb24nKSB8fCBoYXNDbGFzcygoPEhUTUxFbGVtZW50PmV2ZW50LnRhcmdldCkucGFyZW50RWxlbWVudCwgJ3AtZGlhbG9nLWhlYWRlci1pY29uJykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRkY29uZmlnLmRyYWdnYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5kcmFnZ2luZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmxhc3RQYWdlWCA9IGV2ZW50LnBhZ2VYO1xuICAgICAgICAgICAgdGhpcy5sYXN0UGFnZVkgPSBldmVudC5wYWdlWTtcblxuICAgICAgICAgICAgKHRoaXMuY29udGFpbmVyIGFzIEhUTUxEaXZFbGVtZW50KS5zdHlsZS5tYXJnaW4gPSAnMCc7XG4gICAgICAgICAgICBhZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdwLXVuc2VsZWN0YWJsZS10ZXh0Jyk7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5kcmFnU3RhcnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EcmFnKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmRyYWdnaW5nKSB7XG4gICAgICAgICAgICBsZXQgY29udGFpbmVyV2lkdGggPSBnZXRPdXRlcldpZHRoKHRoaXMuY29udGFpbmVyKTtcbiAgICAgICAgICAgIGxldCBjb250YWluZXJIZWlnaHQgPSBnZXRPdXRlckhlaWdodCh0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgICAgICBsZXQgZGVsdGFYID0gZXZlbnQucGFnZVggLSAodGhpcy5sYXN0UGFnZVggYXMgbnVtYmVyKTtcbiAgICAgICAgICAgIGxldCBkZWx0YVkgPSBldmVudC5wYWdlWSAtICh0aGlzLmxhc3RQYWdlWSBhcyBudW1iZXIpO1xuICAgICAgICAgICAgbGV0IG9mZnNldCA9ICh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBsZXQgbGVmdFBvcyA9IG9mZnNldC5sZWZ0ICsgZGVsdGFYO1xuICAgICAgICAgICAgbGV0IHRvcFBvcyA9IG9mZnNldC50b3AgKyBkZWx0YVk7XG4gICAgICAgICAgICBsZXQgdmlld3BvcnQgPSBnZXRWaWV3cG9ydCgpO1xuXG4gICAgICAgICAgICAodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcblxuICAgICAgICAgICAgaWYgKHRoaXMua2VlcEluVmlld3BvcnQpIHtcbiAgICAgICAgICAgICAgICBpZiAobGVmdFBvcyA+PSB0aGlzLm1pblggJiYgbGVmdFBvcyArIGNvbnRhaW5lcldpZHRoIDwgdmlld3BvcnQud2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3R5bGUubGVmdCA9IGxlZnRQb3MgKyAncHgnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RQYWdlWCA9IGV2ZW50LnBhZ2VYO1xuICAgICAgICAgICAgICAgICAgICAodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLmxlZnQgPSBsZWZ0UG9zICsgJ3B4JztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodG9wUG9zID49IHRoaXMubWluWSAmJiB0b3BQb3MgKyBjb250YWluZXJIZWlnaHQgPCB2aWV3cG9ydC5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3R5bGUudG9wID0gdG9wUG9zICsgJ3B4JztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0UGFnZVkgPSBldmVudC5wYWdlWTtcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuY29udGFpbmVyIGFzIEhUTUxEaXZFbGVtZW50KS5zdHlsZS50b3AgPSB0b3BQb3MgKyAncHgnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0UGFnZVggPSBldmVudC5wYWdlWDtcbiAgICAgICAgICAgICAgICAodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLmxlZnQgPSBsZWZ0UG9zICsgJ3B4JztcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RQYWdlWSA9IGV2ZW50LnBhZ2VZO1xuICAgICAgICAgICAgICAgICh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUudG9wID0gdG9wUG9zICsgJ3B4JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVuZERyYWcoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJhZ2dpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuZHJhZ2dpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHJlbW92ZUNsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ3AtdW5zZWxlY3RhYmxlLXRleHQnKTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmRyYWdFbmQoZXZlbnQpO1xuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXNldFBvc2l0aW9uKCkge1xuICAgICAgICAodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLnBvc2l0aW9uID0gJyc7XG4gICAgICAgICh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUubGVmdCA9ICcnO1xuICAgICAgICAodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLnRvcCA9ICcnO1xuICAgICAgICAodGhpcy5jb250YWluZXIgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLm1hcmdpbiA9ICcnO1xuICAgIH1cblxuICAgIGJpbmREb2N1bWVudERyYWdMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudERyYWdMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsICdtb3VzZW1vdmUnLCB0aGlzLm9uRHJhZy5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmluZERvY3VtZW50RHJhZ0VuZExpc3RlbmVyKCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50RHJhZ0VuZExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5kb2N1bWVudCwgJ21vdXNldXAnLCB0aGlzLmVuZERyYWcuYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuYmluZERvY3VtZW50RHJhZ0VuZExpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5kb2N1bWVudERyYWdFbmRMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudERyYWdFbmRMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudERyYWdMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJpbmREb2N1bWVudERyYWdMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnREcmFnTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnREcmFnTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnREcmFnTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXJzKCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCAnbW91c2Vtb3ZlJywgdGhpcy5vblJlc2l6ZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50UmVzaXplRW5kTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCAnbW91c2V1cCcsIHRoaXMucmVzaXplRW5kLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVycygpIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lciAmJiB0aGlzLmRvY3VtZW50UmVzaXplRW5kTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFJlc2l6ZUVuZExpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFJlc2l6ZUVuZExpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJpbmRHbG9iYWxMaXN0ZW5lcnMoKSB7XG4gICAgICAgIGlmICh0aGlzLmRkY29uZmlnLmNsb3NlT25Fc2NhcGUgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLmJpbmREb2N1bWVudEVzY2FwZUxpc3RlbmVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZGNvbmZpZy5yZXNpemFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXJzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZGNvbmZpZy5kcmFnZ2FibGUpIHtcbiAgICAgICAgICAgIHRoaXMuYmluZERvY3VtZW50RHJhZ0xpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLmJpbmREb2N1bWVudERyYWdFbmRMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5iaW5kR2xvYmFsTGlzdGVuZXJzKCkge1xuICAgICAgICB0aGlzLnVuYmluZERvY3VtZW50RXNjYXBlTGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy51bmJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVycygpO1xuICAgICAgICB0aGlzLnVuYmluZERvY3VtZW50RHJhZ0xpc3RlbmVyKCk7XG4gICAgICAgIHRoaXMudW5iaW5kRG9jdW1lbnREcmFnRW5kTGlzdGVuZXIoKTtcbiAgICB9XG5cbiAgICBiaW5kRG9jdW1lbnRFc2NhcGVMaXN0ZW5lcigpIHtcbiAgICAgICAgY29uc3QgZG9jdW1lbnRUYXJnZXQ6IGFueSA9IHRoaXMubWFza1ZpZXdDaGlsZCA/IHRoaXMubWFza1ZpZXdDaGlsZC5uYXRpdmVFbGVtZW50Lm93bmVyRG9jdW1lbnQgOiAnZG9jdW1lbnQnO1xuXG4gICAgICAgIHRoaXMuZG9jdW1lbnRFc2NhcGVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGRvY3VtZW50VGFyZ2V0LCAna2V5ZG93bicsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50LndoaWNoID09IDI3KSB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcnNlSW50KCh0aGlzLmNvbnRhaW5lciBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUuekluZGV4KSA9PSBaSW5kZXhVdGlscy5nZXRDdXJyZW50KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1bmJpbmREb2N1bWVudEVzY2FwZUxpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5kb2N1bWVudEVzY2FwZUxpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50RXNjYXBlTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRFc2NhcGVMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJpbmRNYXNrQ2xpY2tMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMubWFza0NsaWNrTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWFza0NsaWNrTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMubWFza0NsaWNrTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMub25Db250YWluZXJEZXN0cm95KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXN0cm95U3R5bGUoKTtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0R5bmFtaWNEaWFsb2dDb21wb25lbnQsIFNoYXJlZE1vZHVsZV0sXG4gICAgZXhwb3J0czogW0R5bmFtaWNEaWFsb2dDb21wb25lbnQsIFNoYXJlZE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0RpYWxvZyB7fVxuIl19
|